ryco-cli 0.1.3 → 0.1.4
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/{AzureDevOpsSourceControlProvider-X7_C5qAM.cjs → AzureDevOpsSourceControlProvider-BEDcpXP2.cjs} +29 -19
- package/dist/{AzureDevOpsSourceControlProvider-CwvdH4Ll.mjs → AzureDevOpsSourceControlProvider-CajSnvPV.mjs} +14 -4
- package/dist/{BitbucketSourceControlProvider-3IhNThuu.cjs → BitbucketSourceControlProvider-Ca-sxPgI.cjs} +29 -19
- package/dist/{BitbucketSourceControlProvider-Y3LxnPYV.mjs → BitbucketSourceControlProvider-Ryxef3zA.mjs} +14 -4
- package/dist/{BunPTY-6EA-iDZJ.mjs → BunPTY-B_vjRZN4.mjs} +2 -4
- package/dist/{BunPTY-CyqsuAMZ.cjs → BunPTY-BclzAOxp.cjs} +2 -4
- package/dist/{ClaudeDriver-CiWSk1E1.cjs → ClaudeDriver-CxOmXtj3.cjs} +196 -185
- package/dist/{ClaudeDriver-Cmqo9lqD.mjs → ClaudeDriver-oGrpXzWa.mjs} +166 -156
- package/dist/{CodexDriver-D73klBUb.cjs → CodexDriver-C1I8AGHl.cjs} +114 -50
- package/dist/{CodexDriver-BRsJm8XU.mjs → CodexDriver-DbICyzcH.mjs} +83 -20
- package/dist/{CodexTextGeneration-jbe9qfEM.cjs → CodexTextGeneration-Cr97QFv_.cjs} +18 -18
- package/dist/{CodexTextGeneration-Bg0r8k7C.mjs → CodexTextGeneration-DV3LOkTX.mjs} +6 -6
- package/dist/{CopilotDriver-DvDa-7-c.mjs → CopilotDriver-Dt6azZQI.mjs} +13 -19
- package/dist/{CopilotDriver-tZdF91om.cjs → CopilotDriver-GUpzG61v.cjs} +31 -37
- package/dist/{CursorDriver-C6dq_Wr6.mjs → CursorDriver-C3gFClL-.mjs} +195 -273
- package/dist/{CursorDriver-BVJV7yyE.cjs → CursorDriver-lhvplGt8.cjs} +239 -316
- package/dist/{ForgejoSourceControlProvider-DYtCJSSP.cjs → ForgejoSourceControlProvider-2PTEgbVl.cjs} +29 -19
- package/dist/{ForgejoSourceControlProvider-C9T3-pOt.mjs → ForgejoSourceControlProvider-DTVWs_CM.mjs} +14 -4
- package/dist/{GitHubSourceControlProvider-BmSffLFQ.mjs → GitHubSourceControlProvider-BJmqP2K1.mjs} +40 -8
- package/dist/{GitHubSourceControlProvider-DIbRPFFf.cjs → GitHubSourceControlProvider-Beu-58zB.cjs} +54 -22
- package/dist/{GitLabSourceControlProvider-BdLuuH3g.cjs → GitLabSourceControlProvider-CCHBNnen.cjs} +29 -19
- package/dist/{GitLabSourceControlProvider-DTZ_rx8U.mjs → GitLabSourceControlProvider-CWnF37fR.mjs} +14 -4
- package/dist/Metrics-BCOc3Ml2.mjs +356 -0
- package/dist/Metrics-DNOriWhP.cjs +634 -0
- package/dist/{NodePTY-Dg0g4rID.mjs → NodePTY-_u3kQLvd.mjs} +2 -4
- package/dist/{NodePTY-U7qcu5qQ.cjs → NodePTY-keGvFYk9.cjs} +2 -4
- package/dist/{NodeSqliteClient-CPd53X2R.mjs → NodeSqliteClient-BXy61fAd.mjs} +2 -4
- package/dist/{NodeSqliteClient-UlhLLRBA.cjs → NodeSqliteClient-homCO8-6.cjs} +16 -18
- package/dist/{OpenCodeDriver-DN5bRb9Z.mjs → OpenCodeDriver-Cja8fkzJ.mjs} +10 -13
- package/dist/{OpenCodeDriver-D79_QFoB.cjs → OpenCodeDriver-i2DXhUaw.cjs} +32 -34
- package/dist/{ProjectCustomSystemPrompt-9Bf13ScV.cjs → ProjectCustomSystemPrompt-B8SUlNGa.cjs} +11 -13
- package/dist/{ProjectCustomSystemPrompt-QmzOdzXf.mjs → ProjectCustomSystemPrompt-CS1nulhL.mjs} +1 -2
- package/dist/{ProviderDriver-DJK4EOeA.cjs → ProviderDriver--rNeAi3B.cjs} +6 -8
- package/dist/{ProviderDriver-CkHnmP8q.mjs → ProviderDriver-kCV60GKk.mjs} +1 -2
- package/dist/SourceControlProviderDiscoveryCatalog-DoDSpZoa.mjs +569 -0
- package/dist/SourceControlProviderDiscoveryCatalog-DyPSXqm_.cjs +676 -0
- package/dist/bin.cjs +2254 -8987
- package/dist/bin.d.cts +2 -0
- package/dist/bin.d.mts +2 -0
- package/dist/bin.mjs +1430 -8099
- package/dist/chunk-jM1PLTSZ.cjs +30 -0
- package/dist/client/assets/AnimatedHeight-DCd3-Wey.js +1 -0
- package/dist/client/assets/AppearanceSettings-pPltzbuu.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-BUrYeNec.js +1 -0
- package/dist/client/assets/ChatRightPanel-Cy2c02Dt.js +188 -0
- package/dist/client/assets/ChatThreadRouteView-C93RPP7s.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-D6t0Mkkl.js +1 -0
- package/dist/client/assets/CompositeRoot-C5GNdZws.js +1 -0
- package/dist/client/assets/ConnectionsSettings-qYzLbX7_.js +1 -0
- package/dist/client/assets/DialogHandle-C1Oxda1b.js +1 -0
- package/dist/client/assets/DialogRoot-BCS_qKVO.js +1 -0
- package/dist/client/assets/DialogTitle-R_4ZQbHx.js +1 -0
- package/dist/client/assets/DialogTrigger-ChuIKLi7.js +1 -0
- package/dist/client/assets/DialogViewport-Dq_9hdYC.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-BwDNEWLP.js +1 -0
- package/dist/client/assets/JetBrainsIcons-CZi1rQn9.js +1 -0
- package/dist/client/assets/KeybindingsSettings-CEqFMcaP.js +7 -0
- package/dist/client/assets/McpServersSettings-Co1o7_0g.js +6 -0
- package/dist/client/assets/NoActiveThreadState-5VSVCJBv.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-BnDPa2E2.js +1 -0
- package/dist/client/assets/ProjectFavicon-CtqYuFQF.js +1 -0
- package/dist/client/assets/ProviderUpdateLaunchNotification.logic-Dqh8LlGG.js +1 -0
- package/dist/client/assets/ProvidersSettingsPanel-BwDIEOF4.js +1 -0
- package/dist/client/assets/QueryClientProvider-B5z3RyQ9.js +1 -0
- package/dist/client/assets/RedactedSensitiveText-Ddxd4ZX9.js +1 -0
- package/dist/client/assets/RootAppShell-CThrOBqP.js +12 -0
- package/dist/client/assets/SettingsDialog-C-vm2P1q.js +2 -0
- package/dist/client/assets/SourceControlSettings-oK-xLUFA.js +1 -0
- package/dist/client/assets/ThreadStatusIndicators-6ASnD4_d.js +1 -0
- package/dist/client/assets/ThreadTerminalDrawer-BrP-ENHg.css +1 -0
- package/dist/client/assets/ThreadTerminalDrawer-BxuSy2xD.js +38 -0
- package/dist/client/assets/ThreadWorkspacePanel-C3S7Fjib.js +166 -0
- package/dist/client/assets/alert-dialog-BwCq7-J2.js +1 -0
- package/dist/client/assets/{angular-html-s8mFfHxJ.js → angular-html-BjMPwewj.js} +1 -1
- package/dist/client/assets/{angular-ts-qPgEQREa.js → angular-ts-DueL15Nu.js} +1 -1
- package/dist/client/assets/{apl-Bk41I3U1.js → apl-BgVy_tIs.js} +1 -1
- package/dist/client/assets/arrow-up-DUD3DBES.js +1 -0
- package/dist/client/assets/{astro-ClwGnYhy.js → astro-CWd6v_kU.js} +1 -1
- package/dist/client/assets/{blade-D8d2x7Cj.js → blade-C1itW3Xj.js} +1 -1
- package/dist/client/assets/{bsl-DJJjEj3G.js → bsl-BkkzgIyY.js} +1 -1
- package/dist/client/assets/{c-C7LLcxwo.js → c-BerOGYIx.js} +1 -1
- package/dist/client/assets/{cairo-D0DvaGhb.js → cairo-DLTphjLi.js} +1 -1
- package/dist/client/assets/chatThreadActions-DHwgLZQX.js +1 -0
- package/dist/client/assets/clamp-Bj3CMoU0.js +1 -0
- package/dist/client/assets/{cobol-BFmBEDT2.js → cobol-C_rkq165.js} +1 -1
- package/dist/client/assets/codexUsageLimits-Mjd2rHmE.js +1 -0
- package/dist/client/assets/{coffee-C6xKBntv.js → coffee-DX2eriSb.js} +1 -1
- package/dist/client/assets/commandPaletteStore-oFMPKPmp.js +1 -0
- package/dist/client/assets/{compiler-runtime-BF315rzL.js → compiler-runtime-BNrXlsa1.js} +1 -1
- package/dist/client/assets/composerDraftStore-DTMZbmmF.js +21 -0
- package/dist/client/assets/{cpp-CVDdGIJL.js → cpp-DN_S3YzL.js} +1 -1
- package/dist/client/assets/{crystal-C8hrz-Ed.js → crystal-DX_yIzv-.js} +1 -1
- package/dist/client/assets/{css-Bq4IaKl1.js → css-CcrQR6FS.js} +1 -1
- package/dist/client/assets/desktopUpdateReactQuery-DdRc1zr8.js +2 -0
- package/dist/client/assets/download-DchCbuiJ.js +1 -0
- package/dist/client/assets/draft-input-Byd_iP54.js +1 -0
- package/dist/client/assets/{edge-M0lvKmK0.js → edge-D6QhZ796.js} +1 -1
- package/dist/client/assets/{elixir-Z_A63tjC.js → elixir-DMd9329w.js} +1 -1
- package/dist/client/assets/{elm-CSUyuYJg.js → elm-ClOR9TU8.js} +1 -1
- package/dist/client/assets/empty-CFWSIvUd.js +1 -0
- package/dist/client/assets/environmentApi-4U60qRO5.js +1 -0
- package/dist/client/assets/{erb-DrEx0jBQ.js → erb-HraKpeAP.js} +1 -1
- package/dist/client/assets/{erlang-CJBKhF6J.js → erlang-Cphh6RMH.js} +1 -1
- package/dist/client/assets/folder-open-CuS_UI1W.js +1 -0
- package/dist/client/assets/{fortran-fixed-form-BKSuIOW4.js → fortran-fixed-form-DEKoE2YW.js} +1 -1
- package/dist/client/assets/{fsharp-U9gZ5YOh.js → fsharp-D13ZGOAj.js} +1 -1
- package/dist/client/assets/{gdresource-DoBd66sG.js → gdresource-C0sCabJj.js} +1 -1
- package/dist/client/assets/{git-commit-Db7dtED7.js → git-commit-BSykSTBG.js} +1 -1
- package/dist/client/assets/{git-rebase-QypkBr98.js → git-rebase-7x6VaRfM.js} +1 -1
- package/dist/client/assets/{glimmer-js-NOqtI1Rk.js → glimmer-js-Bs66SSVv.js} +1 -1
- package/dist/client/assets/{glimmer-ts-BeU4NlYB.js → glimmer-ts-C-1005ee.js} +1 -1
- package/dist/client/assets/{glsl-BkDxwNg4.js → glsl-ClknhvHk.js} +1 -1
- package/dist/client/assets/{graphql-BuqaMepw.js → graphql-BJK35HL6.js} +1 -1
- package/dist/client/assets/group-BlyMND_M.js +1 -0
- package/dist/client/assets/{hack-C01X66u7.js → hack-DTKnRaIz.js} +1 -1
- package/dist/client/assets/{haml-6AVURMsW.js → haml-v1Ae09NK.js} +1 -1
- package/dist/client/assets/{handlebars-CQt0otqg.js → handlebars-DvtPw9yK.js} +1 -1
- package/dist/client/assets/hostedPairing-DAdvNuk3.js +1 -0
- package/dist/client/assets/{html-B9GCfMM1.js → html-Ckes0w7-.js} +1 -1
- package/dist/client/assets/{html-derivative-Choar9BD.js → html-derivative-CjYqXu8c.js} +1 -1
- package/dist/client/assets/{http-DvFNkpiH.js → http-DgyAR01B.js} +1 -1
- package/dist/client/assets/{hurl-BSVy9O8n.js → hurl-BSy4XrZM.js} +1 -1
- package/dist/client/assets/{hxml-BcCIYlZp.js → hxml-B0Qn7Nwc.js} +1 -1
- package/dist/client/assets/{index-B215HMv1.js → index-R0mA-hZk.js} +2 -2
- package/dist/client/assets/input-BQQgfZzY.js +1 -0
- package/dist/client/assets/{java-DYU2LKAe.js → java-BRs8BbUU.js} +1 -1
- package/dist/client/assets/{javascript-CqMUgcTv.js → javascript-CCh9h5HS.js} +1 -1
- package/dist/client/assets/{jinja-DZIBHWGb.js → jinja-D1OtL_yO.js} +1 -1
- package/dist/client/assets/{jison-1dZyCIA-.js → jison-D_fWb18i.js} +1 -1
- package/dist/client/assets/{json-By08Hh8g.js → json-Bs_SRPeT.js} +1 -1
- package/dist/client/assets/{jsx-D-zBxh5E.js → jsx-Btew4WFJ.js} +1 -1
- package/dist/client/assets/{julia-D4DyCD9m.js → julia-BKIxRKg2.js} +1 -1
- package/dist/client/assets/{just-t1DYRM-F.js → just-CSkhc6Nt.js} +1 -1
- package/dist/client/assets/kbd-Dgp27U1W.js +1 -0
- package/dist/client/assets/keybindings-BIa18Wmf.js +1 -0
- package/dist/client/assets/keyboard-BQYTddoX.js +1 -0
- package/dist/client/assets/{latex-WQQP2pth.js → latex-DrurJw6z.js} +1 -1
- package/dist/client/assets/{liquid-D0Ghr7un.js → liquid-DLZ2kGK1.js} +1 -1
- package/dist/client/assets/{lua-r3xGOG0a.js → lua-BNdhJiqB.js} +1 -1
- package/dist/client/assets/main-Da7Z4Ig1.css +2 -0
- package/dist/client/assets/main-YXLWCEbb.js +9 -0
- package/dist/client/assets/{marko-wk9TVjCS.js → marko-B3eJkbnP.js} +1 -1
- package/dist/client/assets/{mdc-BRMVGNjb.js → mdc-Dz2y1zK2.js} +1 -1
- package/dist/client/assets/modelPickerOpenState-BJxsqvdg.js +1 -0
- package/dist/client/assets/mutation-B8SILYi_.js +1 -0
- package/dist/client/assets/{nextflow-D0nv53RF.js → nextflow-Bbiyy34d.js} +1 -1
- package/dist/client/assets/{nginx-D968CCNX.js → nginx-BazusZwe.js} +1 -1
- package/dist/client/assets/{nim-CRCwl258.js → nim-jwqEnSmK.js} +1 -1
- package/dist/client/assets/{perl-29yJp9Uu.js → perl-BwoWHrup.js} +1 -1
- package/dist/client/assets/{php-Cemz192H.js → php-DmODFjdr.js} +1 -1
- package/dist/client/assets/plus-F__wNuW-.js +1 -0
- package/dist/client/assets/primary-CSkhdakK.js +1 -0
- package/dist/client/assets/providerDriverMeta-BIPPb2w0.js +1 -0
- package/dist/client/assets/providerIconUtils-C54pAs0t.js +46 -0
- package/dist/client/assets/{pug-B2ZE7aeX.js → pug-JR1tLpbP.js} +1 -1
- package/dist/client/assets/{qml-jG3DrKD9.js → qml-CrcLSvXM.js} +1 -1
- package/dist/client/assets/{r-D3sEfBW5.js → r-B4G19rTw.js} +1 -1
- package/dist/client/assets/{razor-Beauj9_g.js → razor-Vr7Dkano.js} +1 -1
- package/dist/client/assets/react-CjD7iThp.js +16 -0
- package/dist/client/assets/react-PSPkXoKo.js +1 -0
- package/dist/client/assets/refresh-cw-DFCVsvMH.js +1 -0
- package/dist/client/assets/{regexp-DJB-0KGI.js → regexp-mkyOQxyI.js} +1 -1
- package/dist/client/assets/resolveAriaLabelledBy-CdSYKkwq.js +1 -0
- package/dist/client/assets/rightPanelRouteSearch-DweDTgju.js +1 -0
- package/dist/client/assets/{rst-D9Thij-7.js → rst-CMlIIAT6.js} +1 -1
- package/dist/client/assets/{ruby-BriTZmlZ.js → ruby-DeHylo3G.js} +1 -1
- package/dist/client/assets/{sas-Cp_miaeX.js → sas-DITAP7FM.js} +1 -1
- package/dist/client/assets/scroll-area-CZPNMSSG.js +1 -0
- package/dist/client/assets/{scss-DpivEdne.js → scss-DPGO9NvD.js} +1 -1
- package/dist/client/assets/separator-ZLn_GZKy.js +1 -0
- package/dist/client/assets/server-B7ETA5io.js +1 -0
- package/dist/client/assets/session-logic-DOD1qizY.js +4 -0
- package/dist/client/assets/settingsDialogStore-DJNXaaZ-.js +1 -0
- package/dist/client/assets/settingsLayout-BaSDLd6v.js +1 -0
- package/dist/client/assets/{shaderlab-DJPIU-BM.js → shaderlab-TOUzSsQk.js} +1 -1
- package/dist/client/assets/{shellscript-CM8oTE2e.js → shellscript-Ctrwjmrg.js} +1 -1
- package/dist/client/assets/{shellsession-Cbvx0Scr.js → shellsession-CVFkOqvv.js} +1 -1
- package/dist/client/assets/sidebar-VWf4R998.js +1 -0
- package/dist/client/assets/skeleton-IoKKnfW9.js +1 -0
- package/dist/client/assets/{soy-4R-idkhG.js → soy-DGJ8Y2bl.js} +1 -1
- package/dist/client/assets/{sparql-Zqzk9CwD.js → sparql-D_iOobhT.js} +1 -1
- package/dist/client/assets/{sql-sKjBShS8.js → sql-u97rfsUo.js} +1 -1
- package/dist/client/assets/{stata-DLIq7jHS.js → stata-DWI7UlWE.js} +1 -1
- package/dist/client/assets/storeSelectors-BL-4Ncd3.js +1 -0
- package/dist/client/assets/{surrealql-CRX8IwBN.js → surrealql-BUWsplpt.js} +1 -1
- package/dist/client/assets/{svelte-Dvrysi6X.js → svelte-CQXFJOFl.js} +1 -1
- package/dist/client/assets/{templ-RcP_-Nu-.js → templ-CA7lFfrq.js} +1 -1
- package/dist/client/assets/{tex-B8a5_DIi.js → tex-DAVBEZhF.js} +1 -1
- package/dist/client/assets/threadRoutes-a4QytG8s.js +1 -0
- package/dist/client/assets/threadSelectionStore-CgsIp6vR.js +1 -0
- package/dist/client/assets/toast-L2eWWYjv.js +1 -0
- package/dist/client/assets/toggle-group-D7mEwQCR.js +1 -0
- package/dist/client/assets/toggle-oOk0T_MY.js +1 -0
- package/dist/client/assets/trash-2-D0zhbiNO.js +1 -0
- package/dist/client/assets/{ts-tags-BG0VzqyM.js → ts-tags-cqyzSw6V.js} +1 -1
- package/dist/client/assets/{tsx-D4f8_1wY.js → tsx-aOZK_XWL.js} +1 -1
- package/dist/client/assets/{twig-DxlRBqRW.js → twig-RScZCD0T.js} +1 -1
- package/dist/client/assets/{typescript-C32OH5Jk.js → typescript-6eFuNBLU.js} +1 -1
- package/dist/client/assets/useHandleNewThread-DVTiX8Lz.js +1 -0
- package/dist/client/assets/useLabelableId-yw8wMwvn.js +1 -0
- package/dist/client/assets/useNavigate-CvKQXZa7.js +1 -0
- package/dist/client/assets/useTheme-C7Ji7x06.js +1 -0
- package/dist/client/assets/vscode-icons-C1r6bNpj.js +1 -0
- package/dist/client/assets/{vue-5RtgVZcg.js → vue-DVoN9ARa.js} +1 -1
- package/dist/client/assets/{vue-html-Dd-LXYnz.js → vue-html-BnZS_Ahq.js} +1 -1
- package/dist/client/assets/{vue-vine-BKz6iXyu.js → vue-vine-B0I6Y_6P.js} +1 -1
- package/dist/client/assets/{worker-rFBLi4xK.js → worker-B_h_pwVO.js} +5 -5
- package/dist/client/assets/wrench-DzrU49ry.js +1 -0
- package/dist/client/assets/x-BQzUKGMv.js +1 -0
- package/dist/client/assets/{xml-DXQJVDNT.js → xml-Dvs5bvzt.js} +1 -1
- package/dist/client/assets/{xsl-ByvM9IQh.js → xsl-CuljSg_9.js} +1 -1
- package/dist/client/assets/{yaml-CCq_gfp4.js → yaml-orq9hzxs.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/collectUint8StreamText-CgTEDbi7.cjs +7106 -0
- package/dist/collectUint8StreamText-Cgz3T1YG.mjs +6028 -0
- package/dist/{makeManagedServerProvider-B3DH-AMf.mjs → makeManagedServerProvider-D43I_B9P.mjs} +7 -10
- package/dist/{makeManagedServerProvider-DVrBJ3h3.cjs → makeManagedServerProvider-DRMA8nAp.cjs} +77 -79
- package/dist/sourceControl-iWG-m4wE.mjs +207 -0
- package/dist/sourceControl-x2t62T8h.cjs +230 -0
- package/dist/{sourceControlContextFormatter-CO5cScmF.cjs → sourceControlContextFormatter-BDZqn-4T.cjs} +6 -8
- package/dist/{sourceControlContextFormatter-DpXEEmAm.mjs → sourceControlContextFormatter-DEwpnVAH.mjs} +1 -2
- package/package.json +5 -3
- package/dist/client/assets/ChangedFilesTree-B4W17bLf.js +0 -1
- package/dist/client/assets/DiffPanel-C9_pKXWU.js +0 -75
- package/dist/client/assets/DiffPanelShell-BmfxFBmp.js +0 -167
- package/dist/client/assets/DiffWorkerPoolProvider-B2FLS8eo.js +0 -1
- package/dist/client/assets/PreviewPanel-Z0IDMiKg.js +0 -30
- package/dist/client/assets/RootAppShell-qLlEOcIH.js +0 -24
- package/dist/client/assets/alert-D2R5HNlM.js +0 -1
- package/dist/client/assets/composerHandleContext-CkHnb2_F.js +0 -46
- package/dist/client/assets/hostedPairing-D299g9iL.js +0 -1
- package/dist/client/assets/main-DOCL-gXt.js +0 -66
- package/dist/client/assets/main-DhO2tDKo.css +0 -1
- package/dist/client/assets/pathEntry-DCmCWUeG.js +0 -1
- package/dist/client/assets/primary-BKkx6aqv.js +0 -16
- package/dist/client/assets/react-CYzKIDNi.js +0 -1
- package/dist/client/assets/refresh-cw-BpZqiP_0.js +0 -1
- package/dist/client/assets/runtime-QfzvF0Vn.js +0 -1
- package/dist/client/assets/separator-CXZK6vFp.js +0 -4
- package/dist/client/assets/text-wrap-CnmG6WhR.js +0 -62
- package/dist/client/assets/toggle-BfBpNkCG.js +0 -1
- package/dist/client/assets/toggle-group-Dp1gg0mX.js +0 -1
- package/dist/client/assets/useSettings-BLDkflD_.js +0 -21
- package/dist/client/assets/useTheme-BHTjVtp9.js +0 -1
- package/dist/client/assets/useTheme-EFHXLM5e.js +0 -1
- package/dist/client/assets/vscode-icons-Ciu6Pjk4.js +0 -1
- /package/dist/client/assets/{abap-Vg0cj5d8.js → abap-CLvhMVsD.js} +0 -0
- /package/dist/client/assets/{actionscript-3-BV1RXWL1.js → actionscript-3--17pq3dv.js} +0 -0
- /package/dist/client/assets/{ada-Ce_Xk3Sp.js → ada-C5qYipkI.js} +0 -0
- /package/dist/client/assets/{andromeeda-DJewj201.js → andromeeda-vGVdxbeo.js} +0 -0
- /package/dist/client/assets/{apache-BbDgM_LY.js → apache-U0d_L8uA.js} +0 -0
- /package/dist/client/assets/{apex-Z4y334SR.js → apex-CGTLDQj6.js} +0 -0
- /package/dist/client/assets/{applescript-CLDQZ5Zp.js → applescript-CCn79oCD.js} +0 -0
- /package/dist/client/assets/{ara-DwFb8Z32.js → ara-4CJ0cIlV.js} +0 -0
- /package/dist/client/assets/{asciidoc-ByVQW3u3.js → asciidoc-DE70LPWp.js} +0 -0
- /package/dist/client/assets/{asm-CqqqWovZ.js → asm-Cmm7eHzH.js} +0 -0
- /package/dist/client/assets/{aurora-x-B9BHU0bK.js → aurora-x-CDeNXAV0.js} +0 -0
- /package/dist/client/assets/{awk-L5v-cuCL.js → awk-BWXHIvNe.js} +0 -0
- /package/dist/client/assets/{ayu-dark-YQNfFJx2.js → ayu-dark-DluEY0Gj.js} +0 -0
- /package/dist/client/assets/{ayu-light-_9Blof0L.js → ayu-light-C3h-C4tm.js} +0 -0
- /package/dist/client/assets/{ayu-mirage-ywKZgCHT.js → ayu-mirage-Bqwy1Gya.js} +0 -0
- /package/dist/client/assets/{ballerina-Dgg2a6zg.js → ballerina-B7ZEbQpA.js} +0 -0
- /package/dist/client/assets/{bat-wLloRoua.js → bat-Bo4NYOV-.js} +0 -0
- /package/dist/client/assets/{beancount-BCSJrVVf.js → beancount-D-usSTwE.js} +0 -0
- /package/dist/client/assets/{berry-DJXUHylF.js → berry-DKpUyyne.js} +0 -0
- /package/dist/client/assets/{bibtex-C6hGKKRT.js → bibtex-Ci_nEsc7.js} +0 -0
- /package/dist/client/assets/{bicep-RsAVk7ms.js → bicep-CUHmPFLl.js} +0 -0
- /package/dist/client/assets/{bird2-DTRIpKsA.js → bird2-C2hNVINV.js} +0 -0
- /package/dist/client/assets/{c3-DhlmE_oa.js → c3-CnJL0r0V.js} +0 -0
- /package/dist/client/assets/{cadence-gm_AXdjh.js → cadence-CQ2zXKGN.js} +0 -0
- /package/dist/client/assets/{catppuccin-frappe-CRaK-OXp.js → catppuccin-frappe-3VR1Za6u.js} +0 -0
- /package/dist/client/assets/{catppuccin-latte-CekmIWzD.js → catppuccin-latte-DwIHMF0Q.js} +0 -0
- /package/dist/client/assets/{catppuccin-macchiato-Pgs1_ylq.js → catppuccin-macchiato-DYnBP6_5.js} +0 -0
- /package/dist/client/assets/{catppuccin-mocha-CVFrnEg2.js → catppuccin-mocha-DYhrFGRu.js} +0 -0
- /package/dist/client/assets/{clarity-_nV8rm3T.js → clarity-SemFz856.js} +0 -0
- /package/dist/client/assets/{clojure-Dsywsvl2.js → clojure-DqKBuwfJ.js} +0 -0
- /package/dist/client/assets/{cmake-DoZviRk-.js → cmake-Bj61d0ZC.js} +0 -0
- /package/dist/client/assets/{codeowners-LcUICwIC.js → codeowners-C8r90Shi.js} +0 -0
- /package/dist/client/assets/{codeql-C0tRiarJ.js → codeql-oeQT6MSM.js} +0 -0
- /package/dist/client/assets/{common-lisp-BQXePP3H.js → common-lisp-Cv5bFMCO.js} +0 -0
- /package/dist/client/assets/{coq-DWR2ZlCV.js → coq-BrsZFFmf.js} +0 -0
- /package/dist/client/assets/{csharp-BpO6pU8h.js → csharp-Ct8U2NOr.js} +0 -0
- /package/dist/client/assets/{csv-guZ1Hczt.js → csv-Dx-8-gkx.js} +0 -0
- /package/dist/client/assets/{cue-DVp9_WvV.js → cue-CE9AQfxI.js} +0 -0
- /package/dist/client/assets/{cypher-3MHH4pYW.js → cypher-ClKdZ_lG.js} +0 -0
- /package/dist/client/assets/{d-CIAu_RLS.js → d-qD-0Kul2.js} +0 -0
- /package/dist/client/assets/{dark-plus-D6YuWbv0.js → dark-plus-Cs2F2srj.js} +0 -0
- /package/dist/client/assets/{dart-DYuQ6kUW.js → dart-DkHntEIa.js} +0 -0
- /package/dist/client/assets/{dax-BBIUHzFG.js → dax-BkyTk9wS.js} +0 -0
- /package/dist/client/assets/{desktop-i7Pu8H5c.js → desktop-Dlh5hvp9.js} +0 -0
- /package/dist/client/assets/{diff-BOMu6KnT.js → diff-woXpYk--.js} +0 -0
- /package/dist/client/assets/{docker-Jl7Opeg9.js → docker-IyjqRm3v.js} +0 -0
- /package/dist/client/assets/{dotenv-DNMkRfS9.js → dotenv-_5a1GRtc.js} +0 -0
- /package/dist/client/assets/{dracula-BRuhgxZx.js → dracula-BHWKrbxM.js} +0 -0
- /package/dist/client/assets/{dracula-soft-Bh-3NXEk.js → dracula-soft-5eyTD99u.js} +0 -0
- /package/dist/client/assets/{dream-maker-XsE3rknm.js → dream-maker-DW3nJb8Q.js} +0 -0
- /package/dist/client/assets/{emacs-lisp-DILRoF5l.js → emacs-lisp-C9PiwqqW.js} +0 -0
- /package/dist/client/assets/{everforest-dark-TN28LCtO.js → everforest-dark-sB-x3p7T.js} +0 -0
- /package/dist/client/assets/{everforest-light-Bie4zQAp.js → everforest-light-Df2xbC6M.js} +0 -0
- /package/dist/client/assets/{fennel-C5HmIS3y.js → fennel-DQxkIbk2.js} +0 -0
- /package/dist/client/assets/{fish-BLa94bES.js → fish-BJitypiv.js} +0 -0
- /package/dist/client/assets/{fluent-Dz5wDZec.js → fluent-C03EYrpw.js} +0 -0
- /package/dist/client/assets/{fortran-free-form-Dhgntk66.js → fortran-free-form-CYNrtFtB.js} +0 -0
- /package/dist/client/assets/{gdscript-cU6-22QG.js → gdscript-Cp2uCuqX.js} +0 -0
- /package/dist/client/assets/{gdshader-D10o9T_4.js → gdshader-CBce3t8t.js} +0 -0
- /package/dist/client/assets/{genie-BxoMb50b.js → genie-CV2tkWYe.js} +0 -0
- /package/dist/client/assets/{gherkin-B2lz9HMr.js → gherkin-DExj1W_8.js} +0 -0
- /package/dist/client/assets/{github-dark-D5NDXfHf.js → github-dark-C-LZuMrd.js} +0 -0
- /package/dist/client/assets/{github-dark-default-Bo_3g1lT.js → github-dark-default-DXG-b-1a.js} +0 -0
- /package/dist/client/assets/{github-dark-dimmed-BQUS-1Ln.js → github-dark-dimmed-Bx1FflLF.js} +0 -0
- /package/dist/client/assets/{github-dark-high-contrast-DIHLvRoS.js → github-dark-high-contrast-B_tTalzw.js} +0 -0
- /package/dist/client/assets/{github-light-Bw4sXpzB.js → github-light-EUqPIrTm.js} +0 -0
- /package/dist/client/assets/{github-light-default-B8bmeZPd.js → github-light-default-BXViO-2h.js} +0 -0
- /package/dist/client/assets/{github-light-high-contrast-CJI8nAIV.js → github-light-high-contrast-B68TUdTA.js} +0 -0
- /package/dist/client/assets/{gleam-9zwoUsHJ.js → gleam-CSRkHgEL.js} +0 -0
- /package/dist/client/assets/{gn-DLF2G5Ru.js → gn-ilITqXS6.js} +0 -0
- /package/dist/client/assets/{gnuplot-Bcm3DAiA.js → gnuplot-7GGW24-e.js} +0 -0
- /package/dist/client/assets/{go-CPlmKKFp.js → go-BJwz_mda.js} +0 -0
- /package/dist/client/assets/{groovy-Dg2VIq5p.js → groovy-CacY0gHj.js} +0 -0
- /package/dist/client/assets/{gruvbox-dark-hard-BzHG1YMb.js → gruvbox-dark-hard-C820rvS2.js} +0 -0
- /package/dist/client/assets/{gruvbox-dark-medium-C9UQOvAR.js → gruvbox-dark-medium-BPjhmG05.js} +0 -0
- /package/dist/client/assets/{gruvbox-dark-soft-xgYmK4Rn.js → gruvbox-dark-soft-MrdJrrXF.js} +0 -0
- /package/dist/client/assets/{gruvbox-light-hard-DxvMP-zF.js → gruvbox-light-hard-BC_s9l72.js} +0 -0
- /package/dist/client/assets/{gruvbox-light-medium-SxCJk4ze.js → gruvbox-light-medium-BAWPOn9u.js} +0 -0
- /package/dist/client/assets/{gruvbox-light-soft-B9XTNyng.js → gruvbox-light-soft-BSMLrYjP.js} +0 -0
- /package/dist/client/assets/{haskell-Cf52ssWB.js → haskell-D8IpX4py.js} +0 -0
- /package/dist/client/assets/{haxe-BiaDi9Ls.js → haxe-OTjmBuCE.js} +0 -0
- /package/dist/client/assets/{hcl-Dcb9DqV1.js → hcl-Dh228itO.js} +0 -0
- /package/dist/client/assets/{hjson-LjA2UJVG.js → hjson-CxZEssPk.js} +0 -0
- /package/dist/client/assets/{hlsl-Bdu4H644.js → hlsl-Cvrh5tZx.js} +0 -0
- /package/dist/client/assets/{horizon-DfLB6K3K.js → horizon-CE9ld1lL.js} +0 -0
- /package/dist/client/assets/{horizon-bright-BRcOD00n.js → horizon-bright-Br1oVSNq.js} +0 -0
- /package/dist/client/assets/{houston-pGeyqiDN.js → houston-CsvMBhTu.js} +0 -0
- /package/dist/client/assets/{hy-CAzVaHwm.js → hy-CZbG8q4J.js} +0 -0
- /package/dist/client/assets/{imba-CtP12ZBI.js → imba-DsUTQ-LC.js} +0 -0
- /package/dist/client/assets/{ini-DyaqLXx3.js → ini-B5eOa1yu.js} +0 -0
- /package/dist/client/assets/{json5-pkfxH3eL.js → json5-BR5RXkoi.js} +0 -0
- /package/dist/client/assets/{jsonc-D_yIvXTo.js → jsonc-CYpm1nAK.js} +0 -0
- /package/dist/client/assets/{jsonl-Cyj0VVep.js → jsonl-CmCQp5Yx.js} +0 -0
- /package/dist/client/assets/{jsonnet-CQ7ol0Ju.js → jsonnet-CJTPZ8u_.js} +0 -0
- /package/dist/client/assets/{jssm-MbQThoOI.js → jssm-DXw9l8Rf.js} +0 -0
- /package/dist/client/assets/{kanagawa-dragon-WzYJN5gB.js → kanagawa-dragon-CXtmUGW6.js} +0 -0
- /package/dist/client/assets/{kanagawa-lotus-rRmvCTTT.js → kanagawa-lotus-BN08jTvb.js} +0 -0
- /package/dist/client/assets/{kanagawa-wave-DLXZ_HFW.js → kanagawa-wave-CTweb8Dz.js} +0 -0
- /package/dist/client/assets/{kdl-MlO6iUnG.js → kdl-CsD5j6eV.js} +0 -0
- /package/dist/client/assets/{kotlin-Dugiuyzo.js → kotlin-DhhofPvG.js} +0 -0
- /package/dist/client/assets/{kusto-6Zx2e4iM.js → kusto-BUv0MjJC.js} +0 -0
- /package/dist/client/assets/{laserwave-Bms40fEM.js → laserwave-C_8bwKvT.js} +0 -0
- /package/dist/client/assets/{lean-BeI6HXzS.js → lean-CewbzKMR.js} +0 -0
- /package/dist/client/assets/{less-CgPeGWAa.js → less-DVTAwKKz.js} +0 -0
- /package/dist/client/assets/{light-plus-j7rlQ_-d.js → light-plus-DVQuIRkW.js} +0 -0
- /package/dist/client/assets/{llvm-Dw0AsrHc.js → llvm-Cm23YOpf.js} +0 -0
- /package/dist/client/assets/{log-9mP7MLA7.js → log-BNLmms1o.js} +0 -0
- /package/dist/client/assets/{logo-CEB74EGf.js → logo-Cluzi2Zq.js} +0 -0
- /package/dist/client/assets/{luau-C4m3ZsP4.js → luau-CNKltnaQ.js} +0 -0
- /package/dist/client/assets/{make-D05QTRNX.js → make-Dixweg8N.js} +0 -0
- /package/dist/client/assets/{markdown-UoFBNZst.js → markdown-BYOwaDjH.js} +0 -0
- /package/dist/client/assets/{material-theme-BLisqalJ.js → material-theme-Bm3Qr25_.js} +0 -0
- /package/dist/client/assets/{material-theme-darker-CMDfuiQ2.js → material-theme-darker-2IIEA8gg.js} +0 -0
- /package/dist/client/assets/{material-theme-lighter-CxAafT95.js → material-theme-lighter-uhdI0v04.js} +0 -0
- /package/dist/client/assets/{material-theme-ocean-B4-TfnzS.js → material-theme-ocean-CHQ94UKr.js} +0 -0
- /package/dist/client/assets/{material-theme-palenight-BiO5TPm2.js → material-theme-palenight-B5W6OYN7.js} +0 -0
- /package/dist/client/assets/{matlab-B1JUCa3X.js → matlab-D7qyCx1q.js} +0 -0
- /package/dist/client/assets/{mdx-5iivKtUB.js → mdx-DQZ5AkYe.js} +0 -0
- /package/dist/client/assets/{mermaid-e-18nCBH.js → mermaid-Bk4SNUv9.js} +0 -0
- /package/dist/client/assets/{min-dark-CwF0fYNT.js → min-dark-BSWPekZh.js} +0 -0
- /package/dist/client/assets/{min-light-DbuMCP1T.js → min-light-DDpmG2fV.js} +0 -0
- /package/dist/client/assets/{mipsasm-DcTRWKSO.js → mipsasm-BMqwQI7S.js} +0 -0
- /package/dist/client/assets/{mojo-DTlMyvmX.js → mojo-BgCJLMeH.js} +0 -0
- /package/dist/client/assets/{monokai-ShOh_SLr.js → monokai-CdkpiU2Y.js} +0 -0
- /package/dist/client/assets/{moonbit-Clq4Da-i.js → moonbit-CaWjb8XO.js} +0 -0
- /package/dist/client/assets/{move-Bl5q_pwm.js → move-B1IS1UjX.js} +0 -0
- /package/dist/client/assets/{narrat-CBsmOEAI.js → narrat-_X_XdTYD.js} +0 -0
- /package/dist/client/assets/{nextflow-groovy-aMR1iPI_.js → nextflow-groovy-Dc_ddanL.js} +0 -0
- /package/dist/client/assets/{night-owl-yTEb_Wwb.js → night-owl-DhmEMT88.js} +0 -0
- /package/dist/client/assets/{night-owl-light-huKGrUNo.js → night-owl-light-eJ-hLW7d.js} +0 -0
- /package/dist/client/assets/{nix-Cp796_WQ.js → nix-IvuFDN5E.js} +0 -0
- /package/dist/client/assets/{nord-DcX-wPJc.js → nord-Cb4Vim4T.js} +0 -0
- /package/dist/client/assets/{nushell-BfyhU0X_.js → nushell-DcLAeLz5.js} +0 -0
- /package/dist/client/assets/{objective-c-B4uJcreS.js → objective-c-D1A_Heim.js} +0 -0
- /package/dist/client/assets/{objective-cpp-jpQjhWST.js → objective-cpp-BsSzOQcm.js} +0 -0
- /package/dist/client/assets/{ocaml-Bd4ZvQW_.js → ocaml-O90oeIOV.js} +0 -0
- /package/dist/client/assets/{odin-CrrB9RSu.js → odin-B1RWQWA5.js} +0 -0
- /package/dist/client/assets/{one-dark-pro-CkQTfcfR.js → one-dark-pro-CLwyXe_n.js} +0 -0
- /package/dist/client/assets/{one-light-DThLWCfa.js → one-light-D7Lr4KcI.js} +0 -0
- /package/dist/client/assets/{openscad-D3TTqx3L.js → openscad-BUDT5pXO.js} +0 -0
- /package/dist/client/assets/{pairingUrl-BDy1QCMe.js → pairingUrl-rQM9kSGT.js} +0 -0
- /package/dist/client/assets/{pascal-DWfvzseC.js → pascal-4ZHwLPI5.js} +0 -0
- /package/dist/client/assets/{pierre-dark-DvfVJVsW.js → pierre-dark-PhHPzmGe.js} +0 -0
- /package/dist/client/assets/{pierre-light-B0eN5zia.js → pierre-light-DN22GkGi.js} +0 -0
- /package/dist/client/assets/{pkl-DdTB5XmH.js → pkl-ot-7Btpt.js} +0 -0
- /package/dist/client/assets/{plastic-B7VrxlmD.js → plastic-DQwYfKfQ.js} +0 -0
- /package/dist/client/assets/{plsql-BqXKIIPU.js → plsql-DGHpHOYJ.js} +0 -0
- /package/dist/client/assets/{po-C5lHU9KQ.js → po-BiJDBrnU.js} +0 -0
- /package/dist/client/assets/{poimandres-3PFzcj5x.js → poimandres-DRFjx7u4.js} +0 -0
- /package/dist/client/assets/{polar-C6NB-8j6.js → polar-C7UOKdEL.js} +0 -0
- /package/dist/client/assets/{postcss-vtVbFW0L.js → postcss-BXeXVLqQ.js} +0 -0
- /package/dist/client/assets/{powerquery-hquWt5c6.js → powerquery-DNMTfnFr.js} +0 -0
- /package/dist/client/assets/{powershell-CQ330hRP.js → powershell-DshXNtvi.js} +0 -0
- /package/dist/client/assets/{prisma-BQON8_gf.js → prisma-BsRQq5mF.js} +0 -0
- /package/dist/client/assets/{prolog-0b9P4dbF.js → prolog-iXnhIJG7.js} +0 -0
- /package/dist/client/assets/{proto-CLvr77Vf.js → proto-DB4EqR-F.js} +0 -0
- /package/dist/client/assets/{puppet-BT0t2Kuu.js → puppet-CDv2pdJW.js} +0 -0
- /package/dist/client/assets/{purescript-DkMvIExr.js → purescript-9MfHhQsQ.js} +0 -0
- /package/dist/client/assets/{python-wd06zWQV.js → python-gzcpVVnB.js} +0 -0
- /package/dist/client/assets/{qmldir-llhyId5r.js → qmldir-DCQb3MpD.js} +0 -0
- /package/dist/client/assets/{qss-CVMsEoHp.js → qss-Fe1Jh2GI.js} +0 -0
- /package/dist/client/assets/{racket-DBMp3jda.js → racket-DcIDlBhZ.js} +0 -0
- /package/dist/client/assets/{raku-BRxsLZ2S.js → raku-B3gFvitq.js} +0 -0
- /package/dist/client/assets/{red-qaVQBZPK.js → red-CJ3rzSJv.js} +0 -0
- /package/dist/client/assets/{reg-BDyfNUUq.js → reg-CRGYupPL.js} +0 -0
- /package/dist/client/assets/{rel-DdGqSVEp.js → rel-BtDbiS_P.js} +0 -0
- /package/dist/client/assets/{riscv-DV28q7Fg.js → riscv-Ckw8ddFX.js} +0 -0
- /package/dist/client/assets/{ron-CY4nyhYH.js → ron-VUp2lXgN.js} +0 -0
- /package/dist/client/assets/{rose-pine-CxNAz5gp.js → rose-pine-BthvhNj6.js} +0 -0
- /package/dist/client/assets/{rose-pine-dawn-xFu_N-rV.js → rose-pine-dawn-Dg85fqjY.js} +0 -0
- /package/dist/client/assets/{rose-pine-moon-DK-HvE6Y.js → rose-pine-moon-hon4tzzS.js} +0 -0
- /package/dist/client/assets/{rosmsg-K2kzuYs8.js → rosmsg-CAekHB0j.js} +0 -0
- /package/dist/client/assets/{rust-DZfNSAHN.js → rust-Cfkwpbl8.js} +0 -0
- /package/dist/client/assets/{sass-DIGpNETF.js → sass-DXrisJhu.js} +0 -0
- /package/dist/client/assets/{scala-Dm4xFcTl.js → scala-DKOlJaKm.js} +0 -0
- /package/dist/client/assets/{scheme-Dyo1jQfP.js → scheme-DQCgrYNe.js} +0 -0
- /package/dist/client/assets/{sdbl-C0HF5Szh.js → sdbl-bTVj8UrX.js} +0 -0
- /package/dist/client/assets/{slack-dark-jzjOs3ob.js → slack-dark-DnToyrRv.js} +0 -0
- /package/dist/client/assets/{slack-ochin-CrJIbU0m.js → slack-ochin-B2OO5cIa.js} +0 -0
- /package/dist/client/assets/{smalltalk-DD30vTCS.js → smalltalk-B16xEiuN.js} +0 -0
- /package/dist/client/assets/{snazzy-light-DWAW_zRS.js → snazzy-light-4G7pJPwS.js} +0 -0
- /package/dist/client/assets/{solarized-dark-QfOoX52e.js → solarized-dark-DV17i1UV.js} +0 -0
- /package/dist/client/assets/{solarized-light-3Q8bP0PY.js → solarized-light-DSh2HLQt.js} +0 -0
- /package/dist/client/assets/{solidity-DEXV1iYf.js → solidity-CKzVLygQ.js} +0 -0
- /package/dist/client/assets/{splunk-D3yrvsJB.js → splunk-BC2Px7Mm.js} +0 -0
- /package/dist/client/assets/{ssh-config-DJbT8CNv.js → ssh-config-BgfXC-Er.js} +0 -0
- /package/dist/client/assets/{stylus-D7yuZo8M.js → stylus-B6D30XZt.js} +0 -0
- /package/dist/client/assets/{swift-Dcka7tnA.js → swift-DonLKvLd.js} +0 -0
- /package/dist/client/assets/{synthwave-84-Cp0uE3e0.js → synthwave-84-nFMaYfgc.js} +0 -0
- /package/dist/client/assets/{system-verilog-0hmR2xuR.js → system-verilog-DJ5XKQeo.js} +0 -0
- /package/dist/client/assets/{systemd-JaNPzh8j.js → systemd-BxMlprV5.js} +0 -0
- /package/dist/client/assets/{talonscript-BPHMb4jr.js → talonscript-CohzipZa.js} +0 -0
- /package/dist/client/assets/{tasl-D07ubp53.js → tasl-DMoTqEGO.js} +0 -0
- /package/dist/client/assets/{tcl-DRL4sBMb.js → tcl-CZd0xW_V.js} +0 -0
- /package/dist/client/assets/{terraform-C8KioG9C.js → terraform-DswuEJGm.js} +0 -0
- /package/dist/client/assets/{tokyo-night-sVj4Hc0t.js → tokyo-night-oM2G3aXe.js} +0 -0
- /package/dist/client/assets/{toml-DOSf8MYV.js → toml-CcmNWLt0.js} +0 -0
- /package/dist/client/assets/{tsv-BpjyUJlf.js → tsv-sltzmVWM.js} +0 -0
- /package/dist/client/assets/{turtle-x_g5g_iY.js → turtle-ByJddavk.js} +0 -0
- /package/dist/client/assets/{typespec-Dfd73-vI.js → typespec-B88KGewJ.js} +0 -0
- /package/dist/client/assets/{typst-Dlb0aZU4.js → typst-DI99ib-x.js} +0 -0
- /package/dist/client/assets/{v-v-fvjFiX.js → v-DETTlOr0.js} +0 -0
- /package/dist/client/assets/{vala-D9-xQ00Z.js → vala-zf12oZj6.js} +0 -0
- /package/dist/client/assets/{vb-BReSiWNQ.js → vb-Djn5o6TS.js} +0 -0
- /package/dist/client/assets/{verilog-DfyNqRJD.js → verilog-CiiDBU1e.js} +0 -0
- /package/dist/client/assets/{vesper-Bv60RWju.js → vesper-D5bVUKB1.js} +0 -0
- /package/dist/client/assets/{vhdl-DbQyuq9g.js → vhdl-BroJfC0k.js} +0 -0
- /package/dist/client/assets/{viml-DhThL36t.js → viml-DvXPmvsu.js} +0 -0
- /package/dist/client/assets/{vitesse-black-CThrVPkw.js → vitesse-black-fwtXNY1n.js} +0 -0
- /package/dist/client/assets/{vitesse-dark-BrahNcrX.js → vitesse-dark-BZCL-v6S.js} +0 -0
- /package/dist/client/assets/{vitesse-light-BCKYomrh.js → vitesse-light-VbXTXTou.js} +0 -0
- /package/dist/client/assets/{vyper-e4AwrcSk.js → vyper-CgoNMtux.js} +0 -0
- /package/dist/client/assets/{wasm-Cia-w-S9.js → wasm-BnjxR4X6.js} +0 -0
- /package/dist/client/assets/{wasm-B1MrEdvT.js → wasm-ByWQv1Qj.js} +0 -0
- /package/dist/client/assets/{wenyan-CrxLlNlW.js → wenyan-C8pVoKbM.js} +0 -0
- /package/dist/client/assets/{wgsl-BpsXvExJ.js → wgsl-BsKzXJz4.js} +0 -0
- /package/dist/client/assets/{wikitext-C6XIgJ_Z.js → wikitext-ClFFjSW2.js} +0 -0
- /package/dist/client/assets/{wit-DkjXKZxQ.js → wit-DdvCle-K.js} +0 -0
- /package/dist/client/assets/{wolfram--3zV4S15.js → wolfram-DLL8P-h_.js} +0 -0
- /package/dist/client/assets/{zenscript-BLGtygmo.js → zenscript-BnlCZFoB.js} +0 -0
- /package/dist/client/assets/{zig-CaWWBKRf.js → zig-CMLA9XwU.js} +0 -0
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./react-CYzKIDNi.js";import{B as n,F as r,I as i,L as a,M as o,P as s,R as c,U as l,V as u,W as d,Y as f,a as p,ct as m,d as h,f as g,g as _,o as v,ot as y,pt as b,r as x,s as S,ut as C,z as w}from"./toggle-BfBpNkCG.js";import{$o as T,$t as E,A as D,Aa as O,At as k,B as A,Bn as j,Bo as M,Bt as N,Ca as P,Co as F,Ct as I,D as L,Da as R,Dn as ee,Do as z,Dt as B,E as V,En as H,Eo as U,Et as W,F as G,Fi as te,Fn as ne,Fo as re,Ft as ie,Gn as K,H as ae,Hn as oe,Ho as se,I as ce,Ii as q,It as le,Jn as ue,Kn as de,L as fe,Li as pe,Ln as me,Lo as he,M as ge,N as _e,Na as ve,Ni as ye,Nn as be,Nt as xe,O as Se,Oa as Ce,P as we,Pi as Te,Pn as Ee,Pt as De,Qn as Oe,Qo as ke,R as Ae,Ra as je,Ri as Me,Ro as Ne,Rt as Pe,Sn as Fe,So as Ie,St as Le,T as Re,Ta as J,To as ze,U as Be,Un as Ve,Uo as He,V as Ue,Vi as We,Vn as Ge,Vo as Ke,Vt as qe,Wn as Je,Wo as Ye,Xi as Xe,Xn as Ze,Xo as Qe,Ya as $e,Yn as et,Yo as tt,Za as nt,Zo as rt,_ as it,_a as at,_t as ot,a as st,an as ct,as as lt,at as ut,b as dt,bn as ft,bo as pt,bt as mt,c as ht,ct as gt,d as _t,do as vt,dt as yt,ea as bt,es as xt,f as St,fo as Ct,ft as wt,g as Tt,gt as Et,h as Dt,ht as Ot,i as kt,it as At,j as jt,jt as Mt,k as Nt,ka as Pt,kn as Ft,kt as It,lo as Lt,m as Rt,mt as zt,n as Bt,nn as Vt,no as Ht,nt as Ut,o as Wt,ot as Gt,p as Kt,pa as qt,pt as Jt,q as Yt,qa as Xt,qn as Zt,r as Qt,ro as $t,rt as en,s as tn,st as nn,ta as rn,ts as an,tt as on,u as sn,uo as cn,ut as ln,v as un,vo as dn,vt as fn,wa as pn,wn as mn,wo as hn,wt as gn,x as _n,xo as vn,xt as yn,y as bn,yt as xn,z as Sn,zi as Cn,zn as wn,zo as Tn}from"./useSettings-BLDkflD_.js";import{A as En,D as Dn,N as On,O as kn,R as An,c as jn,d as Mn,j as Nn,l as Pn,s as Fn,u as In}from"./separator-CXZK6vFp.js";import{$n as Ln,$r as Rn,$t as zn,A as Bn,Ai as Vn,Ar as Hn,At as Un,B as Wn,Bi as Gn,Bn as Kn,Br as qn,C as Jn,Ci as Yn,Cn as Xn,Cr as Zn,Ct as Qn,D as $n,Di as er,Dn as tr,Dr as nr,Dt as rr,E as ir,Ei as ar,En as or,Er as sr,Et as cr,F as lr,Fi as ur,Fn as dr,Fr as fr,Ft as pr,G as mr,Gi as hr,Gn as gr,Gr as _r,H as vr,Hi as yr,Hn as br,Hr as xr,Ht as Sr,I as Cr,In as wr,Ir as Tr,It as Er,J as Dr,Ji as Or,Jn as kr,K as Ar,Ki as jr,Kn as Mr,Kr as Nr,Kt as Pr,Li as Fr,Ln as Ir,Lr,Lt as Rr,M as zr,Mi as Br,Mr as Vr,Mt as Hr,N as Ur,Nr as Wr,Nt as Gr,O as Kr,Oi as qr,Or as Jr,P as Yr,Pi as Xr,Pn as Zr,Pr as Qr,Pt as $r,Q as ei,Qi as ti,Qn as ni,Qr as ri,Qt as ii,Ri as ai,Rn as oi,Rr as si,Rt as ci,S as li,Si as ui,Sn as di,Sr as fi,St as pi,T as mi,Ti as hi,Tn as gi,Tr as _i,Tt as vi,U as yi,Ui as bi,Un as xi,Ur as Si,V as Ci,Vi as wi,Vn as Ti,Vr as Ei,W as Di,Wi as Oi,Wn as ki,Wr as Ai,Wt as ji,X as Mi,Xi as Ni,Xn as Y,Xr as Pi,Xt as Fi,Y as Ii,Yr as Li,Yt as Ri,Z as zi,Zn as X,Zr as Bi,Zt as Vi,_ as Hi,_i as Ui,_n as Wi,_r as Gi,_t as Ki,ai as qi,an as Ji,ar as Yi,b as Xi,bi as Zi,br as Qi,bt as $i,ci as ea,cn as ta,ct as na,d as ra,da as ia,di as aa,dn as oa,dt as sa,ei as ca,en as la,er as ua,f as da,fi as fa,fn as pa,ft as ma,g as ha,gi as ga,gr as _a,gt as va,h as ya,hi as ba,hr as xa,ii as Sa,in as Ca,j as wa,ji as Ta,jr as Ea,jt as Da,k as Oa,ki as ka,kr as Aa,kt as ja,li as Ma,ln as Na,lt as Pa,m as Fa,mi as Ia,mr as La,n as Ra,ni as za,nr as Ba,oi as Va,on as Ha,or as Ua,p as Wa,pi as Ga,pn as Ka,pr as qa,pt as Ja,q as Ya,qi as Xa,qn as Za,qr as Qa,qt as $a,ri as eo,rn as to,rr as no,s as ro,si as io,sn as ao,t as oo,ti as so,tn as co,tr as lo,u as uo,ui as fo,un as po,ut as mo,v as ho,vi as go,vt as _o,w as vo,wi as yo,wn as bo,wr as xo,wt as So,x as Co,xi as wo,xr as To,xt as Eo,y as Do,yi as Oo,yn as ko,yt as Ao,zi as jo,zn as Mo,zr as No}from"./composerHandleContext-CkHnb2_F.js";import{Ao as Po,Lt as Fo,Mo as Io,No as Lo,On as Ro,Po as zo,Wa as Bo,Z as Vo,_ as Ho,_t as Uo,a as Wo,d as Go,f as Ko,gt as qo,h as Jo,i as Yo,jn as Xo,jo as Zo,kn as Qo,n as $o,nn as es,o as ts,po as ns,qa as rs,r as is,rn as as,s as os,u as ss}from"./primary-BKkx6aqv.js";import{a as cs,c as ls,i as us,n as ds,o as fs,r as ps,s as ms,t as hs,u as gs}from"./alert-D2R5HNlM.js";import{t as _s}from"./refresh-cw-BpZqiP_0.js";import{t as vs}from"./compiler-runtime-BF315rzL.js";import{n as ys,t as bs}from"./pairingUrl-BDy1QCMe.js";import{r as xs,t as Ss}from"./hostedPairing-D299g9iL.js";import{A as Cs,C as ws,D as Ts,E as Es,M as Ds,O as Os,S as ks,T as As,_ as js,a as Ms,b as Ns,c as Ps,d as Fs,f as Is,g as Ls,h as Rs,j as zs,k as Bs,l as Vs,m as Hs,n as Us,o as Ws,p as Gs,s as Ks,u as qs,v as Js,w as Ys,x as Xs,y as Zs}from"./useTheme-EFHXLM5e.js";import{n as Qs,t as $s}from"./toggle-group-Dp1gg0mX.js";function ec(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}function tc(e,t,n){let r=e.slice(0);return r[t]=n,r}var nc=class extends b{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#p(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,f.batch(()=>{let e=this.#i,t=this.#f(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!C(e,n)});!o&&!s||(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(ec(e,n).forEach(e=>{e.destroy()}),ec(n,e).forEach(e=>{e.subscribe(t=>{this.#p(e,t)})})),this.#m()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#f(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){return t.map((n,r)=>{let i=e[r];return n.defaultedQueryOptions.notifyOnChangeProps?i:n.observer.trackResult(i,e=>{t.forEach(t=>{t.observer.trackProp(e)})})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(!this.#a||this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=m(this.#a,t(e))),this.#a}return e}#f(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new d(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#p(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=tc(this.#t,n,t),this.#m())}#m(){if(this.hasListeners()){let e=this.#a,t=this.#u(this.#t,this.#l);e!==this.#d(t,this.#r?.combine)&&f.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},Z=e(t(),1);function rc({queries:e,...t},o){let p=l(o),m=u(),h=n(),g=Z.useMemo(()=>e.map(e=>{let t=p.defaultQueryOptions(e);return t._optimisticResults=m?`isRestoring`:`optimistic`,t}),[e,p,m]);g.forEach(e=>{s(e),a(e,h,p.getQueryCache().get(e.queryHash))}),w(h);let[_]=Z.useState(()=>new nc(p,g,t)),[v,b,x]=_.getOptimisticResult(g,t.combine),S=!m&&t.subscribed!==!1;Z.useSyncExternalStore(Z.useCallback(e=>S?_.subscribe(f.batchCalls(e)):y,[_,S]),()=>_.getCurrentResult(),()=>_.getCurrentResult()),Z.useEffect(()=>{_.setQueries(g,t)},[g,t,_]);let C=v.some((e,t)=>i(g[t],e))?v.flatMap((e,t)=>{let n=g[t];return n&&i(n,e)?r(n,new d(p,n),h):[]}):[];if(C.length>0)throw Promise.all(C);let T=v.find((e,t)=>{let n=g[t];return n&&c({result:e,errorResetBoundary:h,throwOnError:n.throwOnError,query:p.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(T?.error)throw T.error;return b(x())}var ic=T(`archive-x`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`m9.5 17 5-5`,key:`nakeu6`}],[`path`,{d:`m9.5 12 5 5`,key:`1hccrj`}]]),ac=T(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),oc=T(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),sc=T(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]),cc=T(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),lc=T(`baseline`,[[`path`,{d:`M4 20h16`,key:`14thso`}],[`path`,{d:`m6 16 6-12 6 12`,key:`1b4byz`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]]),uc=T(`blocks`,[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`,key:`1ah6g2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`,key:`88lufb`}]]),dc=T(`chevrons-left-right-ellipsis`,[[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`m17 7 5 5-5 5`,key:`1xlxn0`}],[`path`,{d:`m7 7-5 5 5 5`,key:`19njba`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}]]),fc=T(`circle-arrow-up`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]]),pc=T(`clipboard-copy`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2`,key:`4jdomd`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v4`,key:`3hqy98`}],[`path`,{d:`M21 14H11`,key:`1bme5i`}],[`path`,{d:`m15 10-4 4 4 4`,key:`5dvupr`}]]),mc=T(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),hc=T(`corner-left-up`,[[`path`,{d:`M14 9 9 4 4 9`,key:`1af5af`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`,key:`1blwi3`}]]),gc=T(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),_c=T(`earth`,[[`path`,{d:`M21.54 15H17a2 2 0 0 0-2 2v4.54`,key:`1djwo0`}],[`path`,{d:`M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17`,key:`1tzkfa`}],[`path`,{d:`M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05`,key:`14pb5j`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),vc=T(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),yc=T(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),bc=T(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),xc=T(`folder-symlink`,[[`path`,{d:`M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`,key:`y8kt7d`}],[`path`,{d:`m8 16 3-3-3-3`,key:`rlqrt1`}]]),Sc=T(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),Cc=T(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),wc=T(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Tc=T(`log-in`,[[`path`,{d:`m10 17 5-5-5-5`,key:`1bsop3`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,key:`u53s6r`}]]),Ec=T(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),Dc=T(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Oc=T(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),kc=T(`qr-code`,[[`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`,key:`1tu5fj`}],[`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`,key:`1v8r4q`}],[`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`1x03jg`}],[`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`,key:`177gqh`}],[`path`,{d:`M21 21v.01`,key:`ents32`}],[`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`,key:`8crl2c`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M12 3h.01`,key:`n36tog`}],[`path`,{d:`M12 16v.01`,key:`133mhm`}],[`path`,{d:`M16 12h1`,key:`1slzba`}],[`path`,{d:`M21 12v.01`,key:`1lwtk9`}],[`path`,{d:`M12 21v-1`,key:`1880an`}]]),Ac=T(`radius`,[[`path`,{d:`M20.34 17.52a10 10 0 1 0-2.82 2.82`,key:`fydyku`}],[`circle`,{cx:`19`,cy:`19`,r:`2`,key:`17f5cg`}],[`path`,{d:`m13.41 13.41 4.18 4.18`,key:`1gqbwc`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),jc=T(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Mc=T(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),Nc=T(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),Pc=T(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),Fc=T(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),Ic=T(`type`,[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]),Lc=T(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),Q=vs(),$=lt();function Rc(e,t){if(!e)return null;let n=on(t);return e.state===`open`?{label:`${n.shortName} open`,colorClass:`text-emerald-600 dark:text-emerald-300/90`,tooltip:`#${e.number} ${n.shortName} open: ${e.title}`,url:e.url}:e.state===`closed`?{label:`${n.shortName} closed`,colorClass:`text-zinc-500 dark:text-zinc-400/80`,tooltip:`#${e.number} ${n.shortName} closed: ${e.title}`,url:e.url}:e.state===`merged`?{label:`${n.shortName} merged`,colorClass:`text-violet-600 dark:text-violet-300/90`,tooltip:`#${e.number} ${n.shortName} merged: ${e.title}`,url:e.url}:null}function zc(e){let t=(0,Q.c)(2),{className:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(Br,{className:n}),t[0]=n,t[1]=r),r}function Bc(e,t){return e===null||t===null||t.refName!==e?null:t.pr??null}function Vc(e){return e.length===0?null:{label:`Terminal process running`,colorClass:`text-teal-600 dark:text-teal-300/90`,pulse:!0}}function Hc(e){let t=(0,Q.c)(18),{status:n,compact:r}=e;if(r!==void 0&&r){let e=`inline-flex size-3.5 shrink-0 items-center justify-center ${n.colorClass}`,r=`size-[9px] rounded-full ${n.dotClass} ${n.pulse?`animate-pulse`:``}`,i;t[0]===r?i=t[1]:(i=(0,$.jsx)(`span`,{className:r}),t[0]=r,t[1]=i);let a;t[2]===n.label?a=t[3]:(a=(0,$.jsx)(`span`,{className:`sr-only`,children:n.label}),t[2]=n.label,t[3]=a);let o;return t[4]!==n.label||t[5]!==e||t[6]!==i||t[7]!==a?(o=(0,$.jsxs)(`span`,{title:n.label,className:e,children:[i,a]}),t[4]=n.label,t[5]=e,t[6]=i,t[7]=a,t[8]=o):o=t[8],o}let i=`inline-flex items-center gap-1 text-[10px] ${n.colorClass}`,a=`h-1.5 w-1.5 rounded-full ${n.dotClass} ${n.pulse?`animate-pulse`:``}`,o;t[9]===a?o=t[10]:(o=(0,$.jsx)(`span`,{className:a}),t[9]=a,t[10]=o);let s;t[11]===n.label?s=t[12]:(s=(0,$.jsx)(`span`,{className:`hidden md:inline`,children:n.label}),t[11]=n.label,t[12]=s);let c;return t[13]!==n.label||t[14]!==i||t[15]!==o||t[16]!==s?(c=(0,$.jsxs)(`span`,{title:n.label,className:i,children:[o,s]}),t[13]=n.label,t[14]=i,t[15]=o,t[16]=s,t[17]=c):c=t[17],c}function Uc(e){let t=(0,Q.c)(24),{thread:n}=e,r;t[0]!==n.environmentId||t[1]!==n.id?(r=Io(n.environmentId,n.id),t[0]=n.environmentId,t[1]=n.id,t[2]=r):r=t[2];let i=r,a;t[3]===i?a=t[4]:(a=e=>e.threadLastVisitedAtById[zo(i)],t[3]=i,t[4]=a);let o=be(a),s,c;t[5]!==n.environmentId||t[6]!==n.projectId?(c=e=>It(e,Zo(n.environmentId,n.projectId))?.cwd??null,t[5]=n.environmentId,t[6]=n.projectId,t[7]=c):c=t[7],s=c;let l=qe(s),u=n.worktreePath??l,d=n.branch==null?null:u,f;t[8]!==d||t[9]!==n.environmentId?(f={environmentId:n.environmentId,cwd:d},t[8]=d,t[9]=n.environmentId,t[10]=f):f=t[10];let p=sn(f),m;t[11]!==p.data||t[12]!==n.branch?(m=Rc(Bc(n.branch,p.data),p.data?.sourceControlProvider),t[11]=p.data,t[12]=n.branch,t[13]=m):m=t[13];let h=m,g;t[14]!==o||t[15]!==n?(g=Lr({thread:{...n,lastVisitedAt:o}}),t[14]=o,t[15]=n,t[16]=g):g=t[16];let _=g;if(!h&&!_)return null;let v;t[17]===h?v=t[18]:(v=h?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`span`,{"aria-label":h.tooltip,className:`inline-flex items-center justify-center ${h.colorClass}`}),children:(0,$.jsx)(zc,{className:`size-3`})}),(0,$.jsx)(ne,{side:`top`,children:h.tooltip})]}):null,t[17]=h,t[18]=v);let y;t[19]===_?y=t[20]:(y=_?(0,$.jsx)(Hc,{status:_}):null,t[19]=_,t[20]=y);let b;return t[21]!==y||t[22]!==v?(b=(0,$.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1.5`,children:[v,y]}),t[21]=y,t[22]=v,t[23]=b):b=t[23],b}function Wc(e){let t=(0,Q.c)(19),{thread:n}=e,r;t[0]!==n.environmentId||t[1]!==n.id?(r=Io(n.environmentId,n.id),t[0]=n.environmentId,t[1]=n.id,t[2]=r):r=t[2];let i=r,a;t[3]===i?a=t[4]:(a=e=>W(e.terminalStateByThreadKey,i).runningTerminalIds,t[3]=i,t[4]=a);let o=B(a),s=Yo(),c=s!==null&&n.environmentId!==s,l;t[5]===n.environmentId?l=t[6]:(l=e=>e.byId[n.environmentId]?.descriptor?.label??null,t[5]=n.environmentId,t[6]=l);let u=Ct(l),d;t[7]===n.environmentId?d=t[8]:(d=e=>e.byId[n.environmentId]?.label??null,t[7]=n.environmentId,t[8]=d);let f=vt(d),p=c?u??f??`Remote`:null,m;t[9]===o?m=t[10]:(m=Vc(o),t[9]=o,t[10]=m);let h=m;if(!h&&!c)return null;let g;t[11]===h?g=t[12]:(g=h?(0,$.jsx)(`span`,{role:`img`,"aria-label":h.label,title:h.label,className:`inline-flex items-center justify-center ${h.colorClass}`,children:(0,$.jsx)(wo,{className:`size-3 ${h.pulse?`animate-pulse`:``}`})}):null,t[11]=h,t[12]=g);let _;t[13]!==c||t[14]!==p?(_=c?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`span`,{"aria-label":p??`Remote`,className:`inline-flex items-center justify-center`}),children:(0,$.jsx)(wi,{className:`size-3 text-muted-foreground/60`})}),(0,$.jsx)(ne,{side:`top`,children:p})]}):null,t[13]=c,t[14]=p,t[15]=_):_=t[15];let v;return t[16]!==g||t[17]!==_?(v=(0,$.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1.5`,children:[g,_]}),t[16]=g,t[17]=_,t[18]=v):v=t[18],v}var Gc=new Set;function Kc(e){let t=(()=>{try{return e.customAvatarContentHash&&e.projectId?cn({environmentId:e.environmentId,pathname:`/api/project-avatar`,searchParams:{projectId:e.projectId,v:e.customAvatarContentHash}}):cn({environmentId:e.environmentId,pathname:`/api/project-favicon`,searchParams:{cwd:e.cwd}})}catch{return null}})(),[n,r]=(0,Z.useState)(()=>t&&Gc.has(t)?`loaded`:`loading`),i=e.fillContainer?R(`size-full text-muted-foreground/50`,e.className):R(`size-3.5 shrink-0 text-muted-foreground/50`,e.className);if(!t||n===`error`)return(0,$.jsx)(ms,{className:i});let a=e.fillContainer?R(`size-full object-cover`,n===`loaded`?``:`hidden`,e.className):R(`size-3.5 shrink-0 rounded-sm object-contain`,n===`loaded`?``:`hidden`,e.className);return(0,$.jsxs)($.Fragment,{children:[n===`loaded`?null:(0,$.jsx)(ms,{className:i}),(0,$.jsx)(`img`,{src:t,alt:``,className:a,onLoad:()=>{Gc.add(t),r(`loaded`)},onError:()=>r(`error`)})]})}var qc=new Set,Jc=new WeakMap,Yc=new WeakMap,Xc=new WeakMap,Zc=new WeakMap,Qc=new WeakMap,$c=new WeakMap,el=new WeakMap,tl=new WeakMap,nl=new WeakSet,rl,il=0,al=0,ol=`__aa_tgt`,sl=`__aa_del`,cl=`__aa_new`,ll=e=>{let t=yl(e);t&&t.forEach(e=>xl(e))},ul=e=>{e.forEach(e=>{e.target===rl&&ml(),Jc.has(e.target)&&pl(e.target)})};function dl(e){let t=e.getBoundingClientRect(),n=rl?.clientWidth||0,r=rl?.clientHeight||0;return t.bottom<0||t.top>r||t.right<0||t.left>n}function fl(e){Zc.get(e)?.disconnect();let t=Jc.get(e),n=0;t||(t=wl(e),Jc.set(e,t));let{offsetWidth:r,offsetHeight:i}=rl,a=[t.top-5,r-(t.left+5+t.width),i-(t.top+5+t.height),t.left-5].map(e=>`${-1*Math.floor(e)}px`).join(` `),o=new IntersectionObserver(()=>{++n>1&&pl(e)},{root:rl,threshold:1,rootMargin:a});o.observe(e),Zc.set(e,o)}function pl(e,t=!0){clearTimeout(tl.get(e));let n=El(e),r=t?jl(n)?500:n.duration:0;tl.set(e,setTimeout(async()=>{let t=Xc.get(e);try{await t?.finished,Jc.set(e,wl(e)),fl(e)}catch{}},r))}function ml(){clearTimeout(tl.get(rl)),tl.set(rl,setTimeout(()=>{qc.forEach(e=>kl(e,e=>gl(()=>pl(e))))},100))}function hl(e){setTimeout(()=>{$c.set(e,setInterval(()=>gl(pl.bind(null,e)),2e3))},Math.round(2e3*Math.random()))}function gl(e){typeof requestIdleCallback==`function`?requestIdleCallback(()=>e()):requestAnimationFrame(()=>e())}var _l,vl=typeof window<`u`&&`ResizeObserver`in window;vl&&(rl=document.documentElement,new MutationObserver(ll),_l=new ResizeObserver(ul),window.addEventListener(`scroll`,()=>{al=window.scrollY,il=window.scrollX}),_l.observe(rl));function yl(e){return e.reduce((e,t)=>[...e,...Array.from(t.addedNodes),...Array.from(t.removedNodes)],[]).every(e=>e.nodeName===`#comment`)?!1:e.reduce((e,t)=>{if(e===!1)return!1;if(t.target instanceof Element){if(bl(t.target),!e.has(t.target)){e.add(t.target);for(let n=0;n<t.target.children.length;n++){let r=t.target.children.item(n);if(r){if(sl in r)return!1;bl(t.target,r),e.add(r)}}}if(t.removedNodes.length)for(let n=0;n<t.removedNodes.length;n++){let r=t.removedNodes[n];if(sl in r)return!1;r instanceof Element&&(e.add(r),bl(t.target,r),Yc.set(r,[t.previousSibling,t.nextSibling]))}}return e},new Set)}function bl(e,t){!t&&!(ol in e)?Object.defineProperty(e,ol,{value:e}):t&&!(ol in t)&&Object.defineProperty(t,ol,{value:e})}function xl(e){var t;let n=e.isConnected,r=Jc.has(e);n&&Yc.has(e)&&Yc.delete(e),Xc.get(e)?.playState!==`finished`&&((t=Xc.get(e))==null||t.cancel()),cl in e?Nl(e):r&&n?Ml(e):r&&!n?Fl(e):Nl(e)}function Sl(e){return Number(e.replace(/[^0-9.\-]/g,``))}function Cl(e){let t=e.parentElement;for(;t;){if(t.scrollLeft||t.scrollTop)return{x:t.scrollLeft,y:t.scrollTop};t=t.parentElement}return{x:0,y:0}}function wl(e){let t=e.getBoundingClientRect(),{x:n,y:r}=Cl(e);return{top:t.top+r,left:t.left+n,width:t.width,height:t.height}}function Tl(e,t,n){let r=t.width,i=t.height,a=n.width,o=n.height,s=getComputedStyle(e);if(s.getPropertyValue(`box-sizing`)===`content-box`){let e=Sl(s.paddingTop)+Sl(s.paddingBottom)+Sl(s.borderTopWidth)+Sl(s.borderBottomWidth),t=Sl(s.paddingLeft)+Sl(s.paddingRight)+Sl(s.borderRightWidth)+Sl(s.borderLeftWidth);r-=t,a-=t,i-=e,o-=e}return[r,a,i,o].map(Math.round)}function El(e){return ol in e&&el.has(e[ol])?el.get(e[ol]):{duration:250,easing:`ease-in-out`}}function Dl(e){if(ol in e)return e[ol]}function Ol(e){let t=Dl(e);return t?nl.has(t):!1}function kl(e,...t){t.forEach(t=>t(e,el.has(e)));for(let n=0;n<e.children.length;n++){let r=e.children.item(n);r&&t.forEach(e=>e(r,el.has(r)))}}function Al(e){return Array.isArray(e)?e:[e]}function jl(e){return typeof e==`function`}function Ml(e){let t=Jc.get(e),n=wl(e);if(!Ol(e))return Jc.set(e,n);if(dl(e)){Jc.set(e,n),fl(e);return}let r;if(!t)return;let i=El(e);if(typeof i!=`function`){let a=t.left-n.left,o=t.top-n.top,s=t.left+t.width-(n.left+n.width);t.top+t.height-(n.top+n.height)==0&&(o=0),s==0&&(a=0);let[c,l,u,d]=Tl(e,t,n),f={transform:`translate(${a}px, ${o}px)`},p={transform:`translate(0, 0)`};c!==l&&(f.width=`${c}px`,p.width=`${l}px`),u!==d&&(f.height=`${u}px`,p.height=`${d}px`),r=e.animate([f,p],{duration:i.duration,easing:i.easing})}else{let[a]=Al(i(e,`remain`,t,n));r=new Animation(a),r.play()}Xc.set(e,r),Jc.set(e,n),r.addEventListener(`finish`,pl.bind(null,e,!1),{once:!0})}function Nl(e){cl in e&&delete e[cl];let t=wl(e);Jc.set(e,t);let n=El(e);if(!Ol(e))return;if(dl(e)){fl(e);return}let r;if(typeof n!=`function`)r=e.animate([{transform:`scale(.98)`,opacity:0},{transform:`scale(0.98)`,opacity:0,offset:.5},{transform:`scale(1)`,opacity:1}],{duration:n.duration*1.5,easing:`ease-in`});else{let[i]=Al(n(e,`add`,t));r=new Animation(i),r.play()}Xc.set(e,r),r.addEventListener(`finish`,pl.bind(null,e,!1),{once:!0})}function Pl(e,t){var n;e.remove(),Jc.delete(e),Yc.delete(e),Xc.delete(e),(n=Zc.get(e))==null||n.disconnect(),setTimeout(()=>{if(sl in e&&delete e[sl],Object.defineProperty(e,cl,{value:!0,configurable:!0}),t&&e instanceof HTMLElement)for(let n in t)e.style[n]=``},0)}function Fl(e){var t;if(!Yc.has(e)||!Jc.has(e))return;let[n,r]=Yc.get(e);Object.defineProperty(e,sl,{value:!0,configurable:!0});let i=window.scrollX,a=window.scrollY;if(r&&r.parentNode&&r.parentNode instanceof Element?r.parentNode.insertBefore(e,r):n&&n.parentNode?n.parentNode.appendChild(e):(t=Dl(e))==null||t.appendChild(e),!Ol(e))return Pl(e);let[o,s,c,l]=Ll(e),u=El(e),d=Jc.get(e);(i!==il||a!==al)&&Il(e,i,a,u);let f,p={position:`absolute`,top:`${o}px`,left:`${s}px`,width:`${c}px`,height:`${l}px`,margin:`0`,pointerEvents:`none`,transformOrigin:`center`,zIndex:`100`};if(!jl(u))Object.assign(e.style,p),f=e.animate([{transform:`scale(1)`,opacity:1},{transform:`scale(.98)`,opacity:0}],{duration:u.duration,easing:`ease-out`});else{let[t,n]=Al(u(e,`remove`,d));n?.styleReset!==!1&&(p=n?.styleReset||p,Object.assign(e.style,p)),f=new Animation(t),f.play()}Xc.set(e,f),f.addEventListener(`finish`,()=>Pl(e,p),{once:!0})}function Il(e,t,n,r){let i=il-t,a=al-n,o=document.documentElement.style.scrollBehavior;if(getComputedStyle(rl).scrollBehavior===`smooth`&&(document.documentElement.style.scrollBehavior=`auto`),window.scrollTo(window.scrollX+i,window.scrollY+a),!e.parentElement)return;let s=e.parentElement,c=s.clientHeight,l=s.clientWidth,u=performance.now();function d(){requestAnimationFrame(()=>{if(!jl(r)){let e=c-s.clientHeight,t=l-s.clientWidth;u+r.duration>performance.now()?(window.scrollTo({left:window.scrollX-t,top:window.scrollY-e}),c=s.clientHeight,l=s.clientWidth,d()):document.documentElement.style.scrollBehavior=o}})}d()}function Ll(e){let t=Jc.get(e),[n,,r]=Tl(e,t,wl(e)),i=e.parentElement;for(;i&&(getComputedStyle(i).position===`static`||i instanceof HTMLBodyElement);)i=i.parentElement;i||=document.body;let a=getComputedStyle(i),o=!Xc.has(e)||Xc.get(e)?.playState===`finished`?wl(i):Jc.get(i);return[Math.round(t.top-o.top)-Sl(a.borderTopWidth),Math.round(t.left-o.left)-Sl(a.borderLeftWidth),n,r]}function Rl(e,t={}){if(vl&&_l&&!(window.matchMedia(`(prefers-reduced-motion: reduce)`).matches&&!jl(t)&&!t.disrespectUserMotionPreference)){nl.add(e),getComputedStyle(e).position===`static`&&Object.assign(e.style,{position:`relative`}),kl(e,pl,hl,e=>_l?.observe(e)),jl(t)?el.set(e,t):el.set(e,{duration:250,easing:`ease-in-out`,...t});let n=new MutationObserver(ll);n.observe(e,{childList:!0}),Qc.set(e,n),qc.add(e)}return Object.freeze({parent:e,enable:()=>{nl.add(e)},disable:()=>{nl.delete(e),kl(e,e=>{let t=Xc.get(e);try{t?.cancel()}catch{}Xc.delete(e);let n=tl.get(e);n&&clearTimeout(n),tl.delete(e);let r=$c.get(e);r&&clearInterval(r),$c.delete(e)})},isEnabled:()=>nl.has(e),destroy:()=>{nl.delete(e),qc.delete(e),el.delete(e),Qc.get(e)?.disconnect(),Qc.delete(e),kl(e,e=>{_l?.unobserve(e);let t=Xc.get(e);try{t?.cancel()}catch{}Xc.delete(e),Zc.get(e)?.disconnect(),Zc.delete(e);let n=$c.get(e);n&&clearInterval(n),$c.delete(e);let r=tl.get(e);r&&clearTimeout(r),tl.delete(e),Jc.delete(e),Yc.delete(e)})}})}var zl=e(xt());function Bl(){var e=[...arguments];return(0,Z.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var Vl=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Hl(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function Ul(e){return`nodeType`in e}function Wl(e){return e?Hl(e)?e:Ul(e)?e.ownerDocument?.defaultView??window:window:window}function Gl(e){let{Document:t}=Wl(e);return e instanceof t}function Kl(e){return Hl(e)?!1:e instanceof Wl(e).HTMLElement}function ql(e){return e instanceof Wl(e).SVGElement}function Jl(e){return e?Hl(e)?e.document:Ul(e)?Gl(e)?e:Kl(e)||ql(e)?e.ownerDocument:document:document:document}var Yl=Vl?Z.useLayoutEffect:Z.useEffect;function Xl(e){let t=(0,Z.useRef)(e);return Yl(()=>{t.current=e}),(0,Z.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function Zl(){let e=(0,Z.useRef)(null);return[(0,Z.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,Z.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function Ql(e,t){t===void 0&&(t=[e]);let n=(0,Z.useRef)(e);return Yl(()=>{n.current!==e&&(n.current=e)},t),n}function $l(e,t){let n=(0,Z.useRef)();return(0,Z.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function eu(e){let t=Xl(e),n=(0,Z.useRef)(null);return[n,(0,Z.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function tu(e){let t=(0,Z.useRef)();return(0,Z.useEffect)(()=>{t.current=e},[e]),t.current}var nu={};function ru(e,t){return(0,Z.useMemo)(()=>{if(t)return t;let n=nu[e]==null?0:nu[e]+1;return nu[e]=n,e+`-`+n},[e,t])}function iu(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var au=iu(1),ou=iu(-1);function su(e){return`clientX`in e&&`clientY`in e}function cu(e){if(!e)return!1;let{KeyboardEvent:t}=Wl(e.target);return t&&e instanceof t}function lu(e){if(!e)return!1;let{TouchEvent:t}=Wl(e.target);return t&&e instanceof t}function uu(e){if(lu(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return su(e)?{x:e.clientX,y:e.clientY}:null}var du=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[du.Translate.toString(e),du.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),fu=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function pu(e){return e.matches(fu)?e:e.querySelector(fu)}var mu={display:`none`};function hu(e){let{id:t,value:n}=e;return Z.createElement(`div`,{id:t,style:mu},n)}function gu(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return Z.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function _u(){let[e,t]=(0,Z.useState)(``);return{announce:(0,Z.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var vu=(0,Z.createContext)(null);function yu(e){let t=(0,Z.useContext)(vu);(0,Z.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function bu(){let[e]=(0,Z.useState)(()=>new Set),t=(0,Z.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,Z.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var xu={draggable:`
|
|
2
|
-
To pick up a draggable item, press the space bar.
|
|
3
|
-
While dragging, use the arrow keys to move the item.
|
|
4
|
-
Press space again to drop the item in its new position, or press escape to cancel.
|
|
5
|
-
`},Su={onDragStart(e){let{active:t}=e;return`Picked up draggable item `+t.id+`.`},onDragOver(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was moved over droppable area `+n.id+`.`:`Draggable item `+t.id+` is no longer over a droppable area.`},onDragEnd(e){let{active:t,over:n}=e;return n?`Draggable item `+t.id+` was dropped over droppable area `+n.id:`Draggable item `+t.id+` was dropped.`},onDragCancel(e){let{active:t}=e;return`Dragging was cancelled. Draggable item `+t.id+` was dropped.`}};function Cu(e){let{announcements:t=Su,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=xu}=e,{announce:a,announcement:o}=_u(),s=ru(`DndLiveRegion`),[c,l]=(0,Z.useState)(!1);if((0,Z.useEffect)(()=>{l(!0)},[]),yu((0,Z.useMemo)(()=>({onDragStart(e){let{active:n}=e;a(t.onDragStart({active:n}))},onDragMove(e){let{active:n,over:r}=e;t.onDragMove&&a(t.onDragMove({active:n,over:r}))},onDragOver(e){let{active:n,over:r}=e;a(t.onDragOver({active:n,over:r}))},onDragEnd(e){let{active:n,over:r}=e;a(t.onDragEnd({active:n,over:r}))},onDragCancel(e){let{active:n,over:r}=e;a(t.onDragCancel({active:n,over:r}))}}),[a,t])),!c)return null;let u=Z.createElement(Z.Fragment,null,Z.createElement(hu,{id:r,value:i.draggable}),Z.createElement(gu,{id:s,announcement:o}));return n?(0,zl.createPortal)(u,n):u}var wu;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(wu||={});function Tu(){}function Eu(e,t){return(0,Z.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function Du(){var e=[...arguments];return(0,Z.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var Ou=Object.freeze({x:0,y:0});function ku(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function Au(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function ju(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function Mu(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function Nu(e,t){if(!e||e.length===0)return null;let[n]=e;return t?n[t]:n}var Pu=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=Mu(t),a=[];for(let e of r){let{id:t}=e,r=n.get(t);if(r){let n=Mu(r),o=i.reduce((e,t,r)=>e+ku(n[r],t),0),s=Number((o/4).toFixed(4));a.push({id:t,data:{droppableContainer:e,value:s}})}}return a.sort(Au)};function Fu(e,t){let n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),a=Math.min(t.top+t.height,e.top+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Iu=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e,i=[];for(let e of r){let{id:r}=e,a=n.get(r);if(a){let n=Fu(a,t);n>0&&i.push({id:r,data:{droppableContainer:e,value:n}})}}return i.sort(ju)};function Lu(e,t){let{top:n,left:r,bottom:i,right:a}=t;return n<=e.y&&e.y<=i&&r<=e.x&&e.x<=a}var Ru=e=>{let{droppableContainers:t,droppableRects:n,pointerCoordinates:r}=e;if(!r)return[];let i=[];for(let e of t){let{id:t}=e,a=n.get(t);if(a&&Lu(r,a)){let n=Mu(a).reduce((e,t)=>e+ku(r,t),0),o=Number((n/4).toFixed(4));i.push({id:t,data:{droppableContainer:e,value:o}})}}return i.sort(Au)};function zu(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Bu(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:Ou}function Vu(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x}),{...t})}}var Hu=Vu(1);function Uu(e){if(e.startsWith(`matrix3d(`)){let t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith(`matrix(`)){let t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function Wu(e,t,n){let r=Uu(t);if(!r)return e;let{scaleX:i,scaleY:a,x:o,y:s}=r,c=e.left-o-(1-i)*parseFloat(n),l=e.top-s-(1-a)*parseFloat(n.slice(n.indexOf(` `)+1)),u=i?e.width/i:e.width,d=a?e.height/a:e.height;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c}}var Gu={ignoreTransform:!1};function Ku(e,t){t===void 0&&(t=Gu);let n=e.getBoundingClientRect();if(t.ignoreTransform){let{transform:t,transformOrigin:r}=Wl(e).getComputedStyle(e);t&&(n=Wu(n,t,r))}let{top:r,left:i,width:a,height:o,bottom:s,right:c}=n;return{top:r,left:i,width:a,height:o,bottom:s,right:c}}function qu(e){return Ku(e,{ignoreTransform:!0})}function Ju(e){let t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function Yu(e,t){return t===void 0&&(t=Wl(e).getComputedStyle(e)),t.position===`fixed`}function Xu(e,t){t===void 0&&(t=Wl(e).getComputedStyle(e));let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].some(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})}function Zu(e,t){let n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(Gl(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!Kl(i)||ql(i)||n.includes(i))return n;let a=Wl(e).getComputedStyle(i);return i!==e&&Xu(i,a)&&n.push(i),Yu(i,a)?n:r(i.parentNode)}return e?r(e):n}function Qu(e){let[t]=Zu(e,1);return t??null}function $u(e){return!Vl||!e?null:Hl(e)?e:Ul(e)?Gl(e)||e===Jl(e).scrollingElement?window:Kl(e)?e:null:null}function ed(e){return Hl(e)?e.scrollX:e.scrollLeft}function td(e){return Hl(e)?e.scrollY:e.scrollTop}function nd(e){return{x:ed(e),y:td(e)}}var rd;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(rd||={});function id(e){return!Vl||!e?!1:e===document.scrollingElement}function ad(e){let t={x:0,y:0},n=id(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=r.y,isRight:e.scrollLeft>=r.x,maxScroll:r,minScroll:t}}var od={x:.2,y:.2};function sd(e,t,n,r,i){let{top:a,left:o,right:s,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=od);let{isTop:l,isBottom:u,isLeft:d,isRight:f}=ad(e),p={x:0,y:0},m={x:0,y:0},h={height:t.height*i.y,width:t.width*i.x};return!l&&a<=t.top+h.height?(p.y=rd.Backward,m.y=r*Math.abs((t.top+h.height-a)/h.height)):!u&&c>=t.bottom-h.height&&(p.y=rd.Forward,m.y=r*Math.abs((t.bottom-h.height-c)/h.height)),!f&&s>=t.right-h.width?(p.x=rd.Forward,m.x=r*Math.abs((t.right-h.width-s)/h.width)):!d&&o<=t.left+h.width&&(p.x=rd.Backward,m.x=r*Math.abs((t.left+h.width-o)/h.width)),{direction:p,speed:m}}function cd(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function ld(e){return e.reduce((e,t)=>au(e,nd(t)),Ou)}function ud(e){return e.reduce((e,t)=>e+ed(t),0)}function dd(e){return e.reduce((e,t)=>e+td(t),0)}function fd(e,t){if(t===void 0&&(t=Ku),!e)return;let{top:n,left:r,bottom:i,right:a}=t(e);Qu(e)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:`center`,inline:`center`})}var pd=[[`x`,[`left`,`right`],ud],[`y`,[`top`,`bottom`],dd]],md=class{constructor(e,t){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;let n=Zu(t),r=ld(n);this.rect={...e},this.width=e.width,this.height=e.height;for(let[e,t,i]of pd)for(let a of t)Object.defineProperty(this,a,{get:()=>{let t=i(n),o=r[e]-t;return this.rect[a]+o},enumerable:!0});Object.defineProperty(this,`rect`,{enumerable:!1})}},hd=class{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))},this.target=e}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function gd(e){let{EventTarget:t}=Wl(e);return e instanceof t?e:Jl(e)}function _d(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var vd;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(vd||={});function yd(e){e.preventDefault()}function bd(e){e.stopPropagation()}var xd;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`,e.Tab=`Tab`})(xd||={});var Sd={start:[xd.Space,xd.Enter],cancel:[xd.Esc],end:[xd.Space,xd.Enter,xd.Tab]},Cd=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case xd.Right:return{...n,x:n.x+25};case xd.Left:return{...n,x:n.x-25};case xd.Down:return{...n,y:n.y+25};case xd.Up:return{...n,y:n.y-25}}},wd=class{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;let{event:{target:t}}=e;this.props=e,this.listeners=new hd(Jl(t)),this.windowListeners=new hd(Wl(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(vd.Resize,this.handleCancel),this.windowListeners.add(vd.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(vd.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props,n=e.node.current;n&&fd(n),t(Ou)}handleKeyDown(e){if(cu(e)){let{active:t,context:n,options:r}=this.props,{keyboardCodes:i=Sd,coordinateGetter:a=Cd,scrollBehavior:o=`smooth`}=r,{code:s}=e;if(i.end.includes(s)){this.handleEnd(e);return}if(i.cancel.includes(s)){this.handleCancel(e);return}let{collisionRect:c}=n.current,l=c?{x:c.left,y:c.top}:Ou;this.referenceCoordinates||=l;let u=a(e,{active:t,context:n.current,currentCoordinates:l});if(u){let t=ou(u,l),r={x:0,y:0},{scrollableAncestors:i}=n.current;for(let n of i){let i=e.code,{isTop:a,isRight:s,isLeft:c,isBottom:l,maxScroll:d,minScroll:f}=ad(n),p=cd(n),m={x:Math.min(i===xd.Right?p.right-p.width/2:p.right,Math.max(i===xd.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(i===xd.Down?p.bottom-p.height/2:p.bottom,Math.max(i===xd.Down?p.top:p.top+p.height/2,u.y))},h=i===xd.Right&&!s||i===xd.Left&&!c,g=i===xd.Down&&!l||i===xd.Up&&!a;if(h&&m.x!==u.x){let e=n.scrollLeft+t.x,a=i===xd.Right&&e<=d.x||i===xd.Left&&e>=f.x;if(a&&!t.y){n.scrollTo({left:e,behavior:o});return}a?r.x=n.scrollLeft-e:r.x=i===xd.Right?n.scrollLeft-d.x:n.scrollLeft-f.x,r.x&&n.scrollBy({left:-r.x,behavior:o});break}else if(g&&m.y!==u.y){let e=n.scrollTop+t.y,a=i===xd.Down&&e<=d.y||i===xd.Up&&e>=f.y;if(a&&!t.x){n.scrollTo({top:e,behavior:o});return}a?r.y=n.scrollTop-e:r.y=i===xd.Down?n.scrollTop-d.y:n.scrollTop-f.y,r.y&&n.scrollBy({top:-r.y,behavior:o});break}}this.handleMove(e,au(ou(u,this.referenceCoordinates),r))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t)}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};wd.activators=[{eventName:`onKeyDown`,handler:(e,t,n)=>{let{keyboardCodes:r=Sd,onActivation:i}=t,{active:a}=n,{code:o}=e.nativeEvent;if(r.start.includes(o)){let t=a.activatorNode.current;return t&&e.target!==t?!1:(e.preventDefault(),i?.({event:e.nativeEvent}),!0)}return!1}}];function Td(e){return!!(e&&`distance`in e)}function Ed(e){return!!(e&&`delay`in e)}var Dd=class{constructor(e,t,n){n===void 0&&(n=gd(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=t;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=Jl(i),this.documentListeners=new hd(this.document),this.listeners=new hd(n),this.windowListeners=new hd(Wl(i)),this.initialCoordinates=uu(r)??Ou,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t,bypassActivationConstraint:n}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(vd.Resize,this.handleCancel),this.windowListeners.add(vd.DragStart,yd),this.windowListeners.add(vd.VisibilityChange,this.handleCancel),this.windowListeners.add(vd.ContextMenu,yd),this.documentListeners.add(vd.Keydown,this.handleKeydown),t){if(n!=null&&n({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(Ed(t)){this.timeoutId=setTimeout(this.handleStart,t.delay),this.handlePending(t);return}if(Td(t)){this.handlePending(t);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,t){let{active:n,onPending:r}=this.props;r(n,e,this.initialCoordinates,t)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(vd.Click,bd,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(vd.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=uu(e)??Ou,s=ou(n,o);if(!t&&a){if(Td(a)){if(a.tolerance!=null&&_d(s,a.tolerance))return this.handleCancel();if(_d(s,a.distance))return this.handleStart()}if(Ed(a)&&_d(s,a.tolerance))return this.handleCancel();this.handlePending(a,s);return}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onAbort:e,onEnd:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleCancel(){let{onAbort:e,onCancel:t}=this.props;this.detach(),this.activated||e(this.props.active),t()}handleKeydown(e){e.code===xd.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},Od={cancel:{name:`pointercancel`},move:{name:`pointermove`},end:{name:`pointerup`}},kd=class extends Dd{constructor(e){let{event:t}=e,n=Jl(t.target);super(e,Od,n)}};kd.activators=[{eventName:`onPointerDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];var Ad={move:{name:`mousemove`},end:{name:`mouseup`}},jd;(function(e){e[e.RightClick=2]=`RightClick`})(jd||={});var Md=class extends Dd{constructor(e){super(e,Ad,Jl(e.event.target))}};Md.activators=[{eventName:`onMouseDown`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===jd.RightClick?!1:(r?.({event:n}),!0)}}];var Nd={cancel:{name:`touchcancel`},move:{name:`touchmove`},end:{name:`touchend`}},Pd=class extends Dd{constructor(e){super(e,Nd)}static setup(){return window.addEventListener(Nd.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(Nd.move.name,e)};function e(){}}};Pd.activators=[{eventName:`onTouchStart`,handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t,{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Fd;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(Fd||={});var Id;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(Id||={});function Ld(e){let{acceleration:t,activator:n=Fd.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:o=5,order:s=Id.TreeOrder,pointerCoordinates:c,scrollableAncestors:l,scrollableAncestorRects:u,delta:d,threshold:f}=e,p=zd({delta:d,disabled:!a}),[m,h]=Zl(),g=(0,Z.useRef)({x:0,y:0}),_=(0,Z.useRef)({x:0,y:0}),v=(0,Z.useMemo)(()=>{switch(n){case Fd.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case Fd.DraggableRect:return i}},[n,i,c]),y=(0,Z.useRef)(null),b=(0,Z.useCallback)(()=>{let e=y.current;if(!e)return;let t=g.current.x*_.current.x,n=g.current.y*_.current.y;e.scrollBy(t,n)},[]),x=(0,Z.useMemo)(()=>s===Id.TreeOrder?[...l].reverse():l,[s,l]);(0,Z.useEffect)(()=>{if(!a||!l.length||!v){h();return}for(let e of x){if(r?.(e)===!1)continue;let n=u[l.indexOf(e)];if(!n)continue;let{direction:i,speed:a}=sd(e,n,v,t,f);for(let e of[`x`,`y`])p[e][i[e]]||(a[e]=0,i[e]=0);if(a.x>0||a.y>0){h(),y.current=e,m(b,o),g.current=a,_.current=i;return}}g.current={x:0,y:0},_.current={x:0,y:0},h()},[t,b,r,h,a,o,JSON.stringify(v),JSON.stringify(p),m,l,x,u,JSON.stringify(f)])}var Rd={x:{[rd.Backward]:!1,[rd.Forward]:!1},y:{[rd.Backward]:!1,[rd.Forward]:!1}};function zd(e){let{delta:t,disabled:n}=e,r=tu(t);return $l(e=>{if(n||!r||!e)return Rd;let i={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[rd.Backward]:e.x[rd.Backward]||i.x===-1,[rd.Forward]:e.x[rd.Forward]||i.x===1},y:{[rd.Backward]:e.y[rd.Backward]||i.y===-1,[rd.Forward]:e.y[rd.Forward]||i.y===1}}},[n,t,r])}function Bd(e,t){let n=t==null?void 0:e.get(t),r=n?n.node.current:null;return $l(e=>t==null?null:r??e??null,[r,t])}function Vd(e,t){return(0,Z.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}var Hd;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Hd||={});var Ud;(function(e){e.Optimized=`optimized`})(Ud||={});var Wd=new Map;function Gd(e,t){let{dragging:n,dependencies:r,config:i}=t,[a,o]=(0,Z.useState)(null),{frequency:s,measure:c,strategy:l}=i,u=(0,Z.useRef)(e),d=g(),f=Ql(d),p=(0,Z.useCallback)(function(e){e===void 0&&(e=[]),!f.current&&o(t=>t===null?e:t.concat(e.filter(e=>!t.includes(e))))},[f]),m=(0,Z.useRef)(null),h=$l(t=>{if(d&&!n)return Wd;if(!t||t===Wd||u.current!==e||a!=null){let t=new Map;for(let n of e){if(!n)continue;if(a&&a.length>0&&!a.includes(n.id)&&n.rect.current){t.set(n.id,n.rect.current);continue}let e=n.node.current,r=e?new md(c(e),e):null;n.rect.current=r,r&&t.set(n.id,r)}return t}return t},[e,a,n,d,c]);return(0,Z.useEffect)(()=>{u.current=e},[e]),(0,Z.useEffect)(()=>{d||p()},[n,d]),(0,Z.useEffect)(()=>{a&&a.length>0&&o(null)},[JSON.stringify(a)]),(0,Z.useEffect)(()=>{d||typeof s!=`number`||m.current!==null||(m.current=setTimeout(()=>{p(),m.current=null},s))},[s,d,p,...r]),{droppableRects:h,measureDroppableContainers:p,measuringScheduled:a!=null};function g(){switch(l){case Hd.Always:return!1;case Hd.BeforeDragging:return n;default:return!n}}}function Kd(e,t){return $l(n=>e?n||(typeof t==`function`?t(e):e):null,[t,e])}function qd(e,t){return Kd(e,t)}function Jd(e){let{callback:t,disabled:n}=e,r=Xl(t),i=(0,Z.useMemo)(()=>{if(n||typeof window>`u`||window.MutationObserver===void 0)return;let{MutationObserver:e}=window;return new e(r)},[r,n]);return(0,Z.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Yd(e){let{callback:t,disabled:n}=e,r=Xl(t),i=(0,Z.useMemo)(()=>{if(n||typeof window>`u`||window.ResizeObserver===void 0)return;let{ResizeObserver:e}=window;return new e(r)},[n]);return(0,Z.useEffect)(()=>()=>i?.disconnect(),[i]),i}function Xd(e){return new md(Ku(e),e)}function Zd(e,t,n){t===void 0&&(t=Xd);let[r,i]=(0,Z.useState)(null);function a(){i(r=>{if(!e)return null;if(e.isConnected===!1)return r??n??null;let i=t(e);return JSON.stringify(r)===JSON.stringify(i)?r:i})}let o=Jd({callback(t){if(e)for(let n of t){let{type:t,target:r}=n;if(t===`childList`&&r instanceof HTMLElement&&r.contains(e)){a();break}}}}),s=Yd({callback:a});return Yl(()=>{a(),e?(s?.observe(e),o?.observe(document.body,{childList:!0,subtree:!0})):(s?.disconnect(),o?.disconnect())},[e]),r}function Qd(e){return Bu(e,Kd(e))}var $d=[];function ef(e){let t=(0,Z.useRef)(e),n=$l(n=>e?n&&n!==$d&&e&&t.current&&e.parentNode===t.current.parentNode?n:Zu(e):$d,[e]);return(0,Z.useEffect)(()=>{t.current=e},[e]),n}function tf(e){let[t,n]=(0,Z.useState)(null),r=(0,Z.useRef)(e),i=(0,Z.useCallback)(e=>{let t=$u(e.target);t&&n(e=>e?(e.set(t,nd(t)),new Map(e)):null)},[]);return(0,Z.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=$u(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,nd(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{$u(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,Z.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>au(e,t),Ou):ld(e):Ou,[e,t])}function nf(e,t){t===void 0&&(t=[]);let n=(0,Z.useRef)(null);return(0,Z.useEffect)(()=>{n.current=null},t),(0,Z.useEffect)(()=>{let t=e!==Ou;t&&!n.current&&(n.current=e),!t&&n.current&&(n.current=null)},[e]),n.current?ou(e,n.current):Ou}function rf(e){(0,Z.useEffect)(()=>{if(!Vl)return;let t=e.map(e=>{let{sensor:t}=e;return t.setup==null?void 0:t.setup()});return()=>{for(let e of t)e?.()}},e.map(e=>{let{sensor:t}=e;return t}))}function af(e,t){return(0,Z.useMemo)(()=>e.reduce((e,n)=>{let{eventName:r,handler:i}=n;return e[r]=e=>{i(e,t)},e},{}),[e,t])}function of(e){return(0,Z.useMemo)(()=>e?Ju(e):null,[e])}var sf=[];function cf(e,t){t===void 0&&(t=Ku);let[n]=e,r=of(n?Wl(n):null),[i,a]=(0,Z.useState)(sf);function o(){a(()=>e.length?e.map(e=>id(e)?r:new md(t(e),e)):sf)}let s=Yd({callback:o});return Yl(()=>{s?.disconnect(),o(),e.forEach(e=>s?.observe(e))},[e]),i}function lf(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return Kl(t)?t:e}function uf(e){let{measure:t}=e,[n,r]=(0,Z.useState)(null),i=Yd({callback:(0,Z.useCallback)(e=>{for(let{target:n}of e)if(Kl(n)){r(e=>{let r=t(n);return e?{...e,width:r.width,height:r.height}:r});break}},[t])}),[a,o]=eu((0,Z.useCallback)(e=>{let n=lf(e);i?.disconnect(),n&&i?.observe(n),r(n?t(n):null)},[t,i]));return(0,Z.useMemo)(()=>({nodeRef:a,rect:n,setRef:o}),[n,a,o])}var df=[{sensor:kd,options:{}},{sensor:wd,options:{}}],ff={current:{}},pf={draggable:{measure:qu},droppable:{measure:qu,strategy:Hd.WhileDragging,frequency:Ud.Optimized},dragOverlay:{measure:Ku}},mf=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:t}=e;return!t})}getNodeFor(e){return this.get(e)?.node.current??void 0}},hf={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new mf,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:Tu},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:pf,measureDroppableContainers:Tu,windowRect:null,measuringScheduled:!1},gf={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:``},dispatch:Tu,draggableNodes:new Map,over:null,measureDroppableContainers:Tu},_f=(0,Z.createContext)(gf),vf=(0,Z.createContext)(hf);function yf(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new mf}}}function bf(e,t){switch(t.type){case wu.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case wu.DragMove:return e.draggable.active==null?e:{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}};case wu.DragEnd:case wu.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case wu.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new mf(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case wu.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new mf(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case wu.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new mf(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}function xf(e){let{disabled:t}=e,{active:n,activatorEvent:r,draggableNodes:i}=(0,Z.useContext)(_f),a=tu(r),o=tu(n?.id);return(0,Z.useEffect)(()=>{if(!t&&!r&&a&&o!=null){if(!cu(a)||document.activeElement===a.target)return;let e=i.get(o);if(!e)return;let{activatorNode:t,node:n}=e;if(!t.current&&!n.current)return;requestAnimationFrame(()=>{for(let e of[t.current,n.current]){if(!e)continue;let t=pu(e);if(t){t.focus();break}}})}},[r,t,i,o,a]),null}function Sf(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((e,t)=>t({transform:e,...r}),n):n}function Cf(e){return(0,Z.useMemo)(()=>({draggable:{...pf.draggable,...e?.draggable},droppable:{...pf.droppable,...e?.droppable},dragOverlay:{...pf.dragOverlay,...e?.dragOverlay}}),[e?.draggable,e?.droppable,e?.dragOverlay])}function wf(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e,a=(0,Z.useRef)(!1),{x:o,y:s}=typeof i==`boolean`?{x:i,y:i}:i;Yl(()=>{if(!o&&!s||!t){a.current=!1;return}if(a.current||!r)return;let e=t?.node.current;if(!e||e.isConnected===!1)return;let i=Bu(n(e),r);if(o||(i.x=0),s||(i.y=0),a.current=!0,Math.abs(i.x)>0||Math.abs(i.y)>0){let t=Qu(e);t&&t.scrollBy({top:i.y,left:i.x})}},[t,o,s,r,n])}var Tf=(0,Z.createContext)({...Ou,scaleX:1,scaleY:1}),Ef;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Initializing=1]=`Initializing`,e[e.Initialized=2]=`Initialized`})(Ef||={});var Df=(0,Z.memo)(function(e){let{id:t,accessibility:n,autoScroll:r=!0,children:i,sensors:a=df,collisionDetection:o=Iu,measuring:s,modifiers:c,...l}=e,[u,d]=(0,Z.useReducer)(bf,void 0,yf),[f,p]=bu(),[m,h]=(0,Z.useState)(Ef.Uninitialized),g=m===Ef.Initialized,{draggable:{active:_,nodes:v,translate:y},droppable:{containers:b}}=u,x=_==null?null:v.get(_),S=(0,Z.useRef)({initial:null,translated:null}),C=(0,Z.useMemo)(()=>_==null?null:{id:_,data:x?.data??ff,rect:S},[_,x]),w=(0,Z.useRef)(null),[T,E]=(0,Z.useState)(null),[D,O]=(0,Z.useState)(null),k=Ql(l,Object.values(l)),A=ru(`DndDescribedBy`,t),j=(0,Z.useMemo)(()=>b.getEnabled(),[b]),M=Cf(s),{droppableRects:N,measureDroppableContainers:P,measuringScheduled:F}=Gd(j,{dragging:g,dependencies:[y.x,y.y],config:M.droppable}),I=Bd(v,_),L=(0,Z.useMemo)(()=>D?uu(D):null,[D]),R=xe(),ee=qd(I,M.draggable.measure);wf({activeNode:_==null?null:v.get(_),config:R.layoutShiftCompensation,initialRect:ee,measure:M.draggable.measure});let z=Zd(I,M.draggable.measure,ee),B=Zd(I?I.parentElement:null),V=(0,Z.useRef)({activatorEvent:null,active:null,activeNode:I,collisionRect:null,collisions:null,droppableRects:N,draggableNodes:v,draggingNode:null,draggingNodeRect:null,droppableContainers:b,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),H=b.getNodeFor(V.current.over?.id),U=uf({measure:M.dragOverlay.measure}),W=U.nodeRef.current??I,G=g?U.rect??z:null,te=!!(U.nodeRef.current&&U.rect),ne=Qd(te?null:z),re=of(W?Wl(W):null),ie=ef(g?H??I:null),K=cf(ie),ae=Sf(c,{transform:{x:y.x-ne.x,y:y.y-ne.y,scaleX:1,scaleY:1},activatorEvent:D,active:C,activeNodeRect:z,containerNodeRect:B,draggingNodeRect:G,over:V.current.over,overlayNodeRect:U.rect,scrollableAncestors:ie,scrollableAncestorRects:K,windowRect:re}),oe=L?au(L,y):null,se=tf(ie),ce=nf(se),q=nf(se,[z]),le=au(ae,ce),ue=G?Hu(G,ae):null,de=C&&ue?o({active:C,collisionRect:ue,droppableRects:N,droppableContainers:j,pointerCoordinates:oe}):null,fe=Nu(de,`id`),[pe,me]=(0,Z.useState)(null),he=zu(te?ae:au(ae,q),pe?.rect??null,z),ge=(0,Z.useRef)(null),_e=(0,Z.useCallback)((e,t)=>{let{sensor:n,options:r}=t;if(w.current==null)return;let i=v.get(w.current);if(!i)return;let a=e.nativeEvent;ge.current=new n({active:w.current,activeNode:i,event:a,options:r,context:V,onAbort(e){if(!v.get(e))return;let{onDragAbort:t}=k.current,n={id:e};t?.(n),f({type:`onDragAbort`,event:n})},onPending(e,t,n,r){if(!v.get(e))return;let{onDragPending:i}=k.current,a={id:e,constraint:t,initialCoordinates:n,offset:r};i?.(a),f({type:`onDragPending`,event:a})},onStart(e){let t=w.current;if(t==null)return;let n=v.get(t);if(!n)return;let{onDragStart:r}=k.current,i={activatorEvent:a,active:{id:t,data:n.data,rect:S}};(0,zl.unstable_batchedUpdates)(()=>{r?.(i),h(Ef.Initializing),d({type:wu.DragStart,initialCoordinates:e,active:t}),f({type:`onDragStart`,event:i}),E(ge.current),O(a)})},onMove(e){d({type:wu.DragMove,coordinates:e})},onEnd:o(wu.DragEnd),onCancel:o(wu.DragCancel)});function o(e){return async function(){let{active:t,collisions:n,over:r,scrollAdjustedTranslate:i}=V.current,o=null;if(t&&i){let{cancelDrop:s}=k.current;o={activatorEvent:a,active:t,collisions:n,delta:i,over:r},e===wu.DragEnd&&typeof s==`function`&&await Promise.resolve(s(o))&&(e=wu.DragCancel)}w.current=null,(0,zl.unstable_batchedUpdates)(()=>{d({type:e}),h(Ef.Uninitialized),me(null),E(null),O(null),ge.current=null;let t=e===wu.DragEnd?`onDragEnd`:`onDragCancel`;if(o){let e=k.current[t];e?.(o),f({type:t,event:o})}})}}},[v]),ve=Vd(a,(0,Z.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent,a=v.get(r);if(w.current!==null||!a||i.dndKit||i.defaultPrevented)return;let o={active:a};e(n,t.options,o)===!0&&(i.dndKit={capturedBy:t.sensor},w.current=r,_e(n,t))},[v,_e]));rf(a),Yl(()=>{z&&m===Ef.Initializing&&h(Ef.Initialized)},[z,m]),(0,Z.useEffect)(()=>{let{onDragMove:e}=k.current,{active:t,activatorEvent:n,collisions:r,over:i}=V.current;if(!t||!n)return;let a={active:t,activatorEvent:n,collisions:r,delta:{x:le.x,y:le.y},over:i};(0,zl.unstable_batchedUpdates)(()=>{e?.(a),f({type:`onDragMove`,event:a})})},[le.x,le.y]),(0,Z.useEffect)(()=>{let{active:e,activatorEvent:t,collisions:n,droppableContainers:r,scrollAdjustedTranslate:i}=V.current;if(!e||w.current==null||!t||!i)return;let{onDragOver:a}=k.current,o=r.get(fe),s=o&&o.rect.current?{id:o.id,rect:o.rect.current,data:o.data,disabled:o.disabled}:null,c={active:e,activatorEvent:t,collisions:n,delta:{x:i.x,y:i.y},over:s};(0,zl.unstable_batchedUpdates)(()=>{me(s),a?.(c),f({type:`onDragOver`,event:c})})},[fe]),Yl(()=>{V.current={activatorEvent:D,active:C,activeNode:I,collisionRect:ue,collisions:de,droppableRects:N,draggableNodes:v,draggingNode:W,draggingNodeRect:G,droppableContainers:b,over:pe,scrollableAncestors:ie,scrollAdjustedTranslate:le},S.current={initial:G,translated:ue}},[C,I,de,ue,v,W,G,N,b,pe,ie,le]),Ld({...R,delta:y,draggingRect:ue,pointerCoordinates:oe,scrollableAncestors:ie,scrollableAncestorRects:K});let ye=(0,Z.useMemo)(()=>({active:C,activeNode:I,activeNodeRect:z,activatorEvent:D,collisions:de,containerNodeRect:B,dragOverlay:U,draggableNodes:v,droppableContainers:b,droppableRects:N,over:pe,measureDroppableContainers:P,scrollableAncestors:ie,scrollableAncestorRects:K,measuringConfiguration:M,measuringScheduled:F,windowRect:re}),[C,I,z,D,de,B,U,v,b,N,pe,P,ie,K,M,F,re]),be=(0,Z.useMemo)(()=>({activatorEvent:D,activators:ve,active:C,activeNodeRect:z,ariaDescribedById:{draggable:A},dispatch:d,draggableNodes:v,over:pe,measureDroppableContainers:P}),[D,ve,C,z,d,A,v,pe,P]);return Z.createElement(vu.Provider,{value:p},Z.createElement(_f.Provider,{value:be},Z.createElement(vf.Provider,{value:ye},Z.createElement(Tf.Provider,{value:he},i)),Z.createElement(xf,{disabled:n?.restoreFocus===!1})),Z.createElement(Cu,{...n,hiddenTextDescribedById:A}));function xe(){let e=T?.autoScrollEnabled===!1,t=typeof r==`object`?r.enabled===!1:r===!1,n=g&&!e&&!t;return typeof r==`object`?{...r,enabled:n}:{enabled:n}}}),Of=(0,Z.createContext)(null),kf=`button`,Af=`Draggable`;function jf(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e,a=ru(Af),{activators:o,activatorEvent:s,active:c,activeNodeRect:l,ariaDescribedById:u,draggableNodes:d,over:f}=(0,Z.useContext)(_f),{role:p=kf,roleDescription:m=`draggable`,tabIndex:h=0}=i??{},g=c?.id===t,_=(0,Z.useContext)(g?Tf:Of),[v,y]=eu(),[b,x]=eu(),S=af(o,t),C=Ql(n);return Yl(()=>(d.set(t,{id:t,key:a,node:v,activatorNode:b,data:C}),()=>{let e=d.get(t);e&&e.key===a&&d.delete(t)}),[d,t]),{active:c,activatorEvent:s,activeNodeRect:l,attributes:(0,Z.useMemo)(()=>({role:p,tabIndex:h,"aria-disabled":r,"aria-pressed":g&&p===kf?!0:void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[r,p,h,g,m,u.draggable]),isDragging:g,listeners:r?void 0:S,node:v,over:f,setNodeRef:y,setActivatorNodeRef:x,transform:_}}function Mf(){return(0,Z.useContext)(vf)}var Nf=`Droppable`,Pf={timeout:25};function Ff(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e,a=ru(Nf),{active:o,dispatch:s,over:c,measureDroppableContainers:l}=(0,Z.useContext)(_f),u=(0,Z.useRef)({disabled:n}),d=(0,Z.useRef)(!1),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),{disabled:m,updateMeasurementsFor:h,timeout:g}={...Pf,...i},_=Ql(h??r),v=Yd({callback:(0,Z.useCallback)(()=>{if(!d.current){d.current=!0;return}p.current!=null&&clearTimeout(p.current),p.current=setTimeout(()=>{l(Array.isArray(_.current)?_.current:[_.current]),p.current=null},g)},[g]),disabled:m||!o}),[y,b]=eu((0,Z.useCallback)((e,t)=>{v&&(t&&(v.unobserve(t),d.current=!1),e&&v.observe(e))},[v])),x=Ql(t);return(0,Z.useEffect)(()=>{!v||!y.current||(v.disconnect(),d.current=!1,v.observe(y.current))},[y,v]),(0,Z.useEffect)(()=>(s({type:wu.RegisterDroppable,element:{id:r,key:a,disabled:n,node:y,rect:f,data:x}}),()=>s({type:wu.UnregisterDroppable,key:a,id:r})),[r]),(0,Z.useEffect)(()=>{n!==u.current.disabled&&(s({type:wu.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,s]),{active:o,rect:f,isOver:c?.id===r,node:y,over:c,setNodeRef:b}}function If(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Lf(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Rf(e){return e!==null&&e>=0}function zf(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Bf(e){return typeof e==`boolean`?{draggable:e,droppable:e}:e}var Vf=e=>{let{rects:t,activeIndex:n,overIndex:r,index:i}=e,a=If(t,r,n),o=t[i],s=a[i];return!s||!o?null:{x:s.left-o.left,y:s.top-o.top,scaleX:s.width/o.width,scaleY:s.height/o.height}},Hf={scaleX:1,scaleY:1},Uf=e=>{let{activeIndex:t,activeNodeRect:n,index:r,rects:i,overIndex:a}=e,o=i[t]??n;if(!o)return null;if(r===t){let e=i[a];return e?{x:0,y:t<a?e.top+e.height-(o.top+o.height):e.top-o.top,...Hf}:null}let s=Wf(i,r,t);return r>t&&r<=a?{x:0,y:-o.height-s,...Hf}:r<t&&r>=a?{x:0,y:o.height+s,...Hf}:{x:0,y:0,...Hf}};function Wf(e,t,n){let r=e[t],i=e[t-1],a=e[t+1];return r?n<t?i?r.top-(i.top+i.height):a?a.top-(r.top+r.height):0:a?a.top-(r.top+r.height):i?r.top-(i.top+i.height):0:0}var Gf=`Sortable`,Kf=Z.createContext({activeIndex:-1,containerId:Gf,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Vf,disabled:{draggable:!1,droppable:!1}});function qf(e){let{children:t,id:n,items:r,strategy:i=Vf,disabled:a=!1}=e,{active:o,dragOverlay:s,droppableRects:c,over:l,measureDroppableContainers:u}=Mf(),d=ru(Gf,n),f=s.rect!==null,p=(0,Z.useMemo)(()=>r.map(e=>typeof e==`object`&&`id`in e?e.id:e),[r]),m=o!=null,h=o?p.indexOf(o.id):-1,g=l?p.indexOf(l.id):-1,_=(0,Z.useRef)(p),v=!zf(p,_.current),y=g!==-1&&h===-1||v,b=Bf(a);Yl(()=>{v&&m&&u(p)},[v,p,m,u]),(0,Z.useEffect)(()=>{_.current=p},[p]);let x=(0,Z.useMemo)(()=>({activeIndex:h,containerId:d,disabled:b,disableTransforms:y,items:p,overIndex:g,useDragOverlay:f,sortedRects:Lf(p,c),strategy:i}),[h,d,b.draggable,b.droppable,y,p,g,c,f,i]);return Z.createElement(Kf.Provider,{value:x},t)}var Jf=e=>{let{id:t,items:n,activeIndex:r,overIndex:i}=e;return If(n,r,i).indexOf(t)},Yf=e=>{let{containerId:t,isSorting:n,wasDragging:r,index:i,items:a,newIndex:o,previousItems:s,previousContainerId:c,transition:l}=e;return!l||!r||s!==a&&i===o?!1:n?!0:o!==i&&t===c},Xf={duration:200,easing:`ease`},Zf=`transform`,Qf=du.Transition.toString({property:Zf,duration:0,easing:`linear`}),$f={roleDescription:`sortable`};function ep(e){let{disabled:t,index:n,node:r,rect:i}=e,[a,o]=(0,Z.useState)(null),s=(0,Z.useRef)(n);return Yl(()=>{if(!t&&n!==s.current&&r.current){let e=i.current;if(e){let t=Ku(r.current,{ignoreTransform:!0}),n={x:e.left-t.left,y:e.top-t.top,scaleX:e.width/t.width,scaleY:e.height/t.height};(n.x||n.y)&&o(n)}}n!==s.current&&(s.current=n)},[t,n,r,i]),(0,Z.useEffect)(()=>{a&&o(null)},[a]),a}function tp(e){let{animateLayoutChanges:t=Yf,attributes:n,disabled:r,data:i,getNewIndex:a=Jf,id:o,strategy:s,resizeObserverConfig:c,transition:l=Xf}=e,{items:u,containerId:d,activeIndex:f,disabled:p,disableTransforms:m,sortedRects:h,overIndex:g,useDragOverlay:_,strategy:v}=(0,Z.useContext)(Kf),y=np(r,p),b=u.indexOf(o),x=(0,Z.useMemo)(()=>({sortable:{containerId:d,index:b,items:u},...i}),[d,i,b,u]),S=(0,Z.useMemo)(()=>u.slice(u.indexOf(o)),[u,o]),{rect:C,node:w,isOver:T,setNodeRef:E}=Ff({id:o,data:x,disabled:y.droppable,resizeObserverConfig:{updateMeasurementsFor:S,...c}}),{active:D,activatorEvent:O,activeNodeRect:k,attributes:A,setNodeRef:j,listeners:M,isDragging:N,over:P,setActivatorNodeRef:F,transform:I}=jf({id:o,data:x,attributes:{...$f,...n},disabled:y.draggable}),L=Bl(E,j),R=!!D,ee=R&&!m&&Rf(f)&&Rf(g),z=!_&&N,B=ee?(z&&ee?I:null)??(s??v)({rects:h,activeNodeRect:k,activeIndex:f,overIndex:g,index:b}):null,V=Rf(f)&&Rf(g)?a({id:o,items:u,activeIndex:f,overIndex:g}):b,H=D?.id,U=(0,Z.useRef)({activeId:H,items:u,newIndex:V,containerId:d}),W=u!==U.current.items,G=t({active:D,containerId:d,isDragging:N,isSorting:R,id:o,index:b,items:u,newIndex:U.current.newIndex,previousItems:U.current.items,previousContainerId:U.current.containerId,transition:l,wasDragging:U.current.activeId!=null}),te=ep({disabled:!G,index:b,node:w,rect:C});return(0,Z.useEffect)(()=>{R&&U.current.newIndex!==V&&(U.current.newIndex=V),d!==U.current.containerId&&(U.current.containerId=d),u!==U.current.items&&(U.current.items=u)},[R,V,d,u]),(0,Z.useEffect)(()=>{if(H===U.current.activeId)return;if(H!=null&&U.current.activeId==null){U.current.activeId=H;return}let e=setTimeout(()=>{U.current.activeId=H},50);return()=>clearTimeout(e)},[H]),{active:D,activeIndex:f,attributes:A,data:x,rect:C,index:b,newIndex:V,items:u,isOver:T,isSorting:R,isDragging:N,listeners:M,node:w,overIndex:g,over:P,setNodeRef:L,setActivatorNodeRef:F,setDroppableNodeRef:E,setDraggableNodeRef:j,transform:te??B,transition:ne()};function ne(){if(te||W&&U.current.newIndex===b)return Qf;if(!(z&&!cu(O)||!l)&&(R||G))return du.Transition.toString({...l,property:Zf})}}function np(e,t){return typeof e==`boolean`?{draggable:e,droppable:!1}:{draggable:e?.draggable??t.draggable,droppable:e?.droppable??t.droppable}}xd.Down,xd.Right,xd.Up,xd.Left;function rp(e,t,n){let r={...e};return t.top+e.y<=n.top?r.y=n.top-t.top:t.bottom+e.y>=n.top+n.height&&(r.y=n.top+n.height-t.bottom),t.left+e.x<=n.left?r.x=n.left-t.left:t.right+e.x>=n.left+n.width&&(r.x=n.left+n.width-t.right),r}var ip=e=>{let{draggingNodeRect:t,transform:n,scrollableAncestorRects:r}=e,i=r[0];return!t||!i?n:rp(n,t,i)},ap=e=>{let{transform:t}=e;return{...t,x:0}},op={metaKey:!1,ctrlKey:!1,altKey:!1,shiftKey:!1};function sp(e,t){return e.metaKey===t.metaKey&&e.ctrlKey===t.ctrlKey&&e.altKey===t.altKey&&e.shiftKey===t.shiftKey}var cp=Ho(e=>({state:op,setState:t=>e(e=>sp(e.state,t)?e:{state:t}),clear:()=>e(e=>sp(e.state,op)?e:{state:op})}));function lp(){return cp(up)}function up(e){return e.state}function dp(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 fp(e){let t=dp(e.key);if(t){let n=cp.getState().state;cp.getState().setState({...n,[t]:e.type===`keydown`});return}cp.getState().setState({metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey})}function pp(){cp.getState().clear()}function mp(){let e=Bt(e=>e.sidebarThreadSortOrder),t=Bt(e=>e.confirmThreadDelete),n=Vt(e=>e.clearDraftThread),r=Vt(e=>e.clearProjectDraftThreadById),i=B(e=>e.clearTerminalState),a=_(),{handleNewThread:o}=ua(),s=(0,Z.useRef)(o);s.current=o;let c=(0,Z.useCallback)(e=>{let t=le(qe.getState(),e);return t?{thread:t,threadRef:e}:null},[]),l=(0,Z.useCallback)(()=>v(a.state.matches[a.state.matches.length-1]?.params??{}),[a]),u=(0,Z.useCallback)(async e=>{let t=E(e.environmentId);if(!t)return;let n=c(e);if(!n)return;let{thread:r,threadRef:i}=n;if(r.session?.status===`running`&&r.session.activeTurnId!=null)throw Error(`Cannot archive a running thread.`);await t.orchestration.dispatchCommand({type:`thread.archive`,commandId:O(),threadId:i.threadId});let a=l();a?.threadId===i.threadId&&a.environmentId===i.environmentId&&await s.current(Zo(r.environmentId,r.projectId))},[l,c]),d=(0,Z.useCallback)(async e=>{let t=E(e.environmentId);t&&await t.orchestration.dispatchCommand({type:`thread.unarchive`,commandId:O(),threadId:e.threadId})},[]),f=(0,Z.useCallback)(async(t,o={})=>{let s=E(t.environmentId);if(!s)return;let u=c(t);if(!u)return;let{thread:d,threadRef:f}=u,m=N(qe.getState(),f.environmentId),h=o.deletedThreadKeys&&o.deletedThreadKeys.size>0?new Set([...o.deletedThreadKeys].flatMap(e=>{let t=Po(e);return t&&t.environmentId===f.environmentId?[t.threadId]:[]})):void 0,g=l(),_=g?.threadId===f.threadId&&g.environmentId===f.environmentId,v=nr({threads:m,deletedThreadId:f.threadId,deletedThreadIds:h??new Set,sortOrder:e}),y=s.orchestration.dispatchCommand({type:`thread.delete`,commandId:O(),threadId:f.threadId});if(o.optimistic){y.catch(e=>{Y.add(X({type:`error`,title:`Failed to delete thread`,description:e instanceof Error?e.message:`An error occurred.`}))});let e=null;if(_)if(v){let t=le(qe.getState(),Io(f.environmentId,v));e=t?{kind:`fallback`,ref:Io(t.environmentId,t.id)}:{kind:`home`}}else e={kind:`home`};let t=()=>{qe.getState().removeThread(f),n(f),r(Zo(f.environmentId,d.projectId),f),i(f)};e?(e.kind===`fallback`?a.navigate({to:`/$environmentId/$threadId`,params:p(e.ref),replace:!0}):a.navigate({to:`/`,replace:!0}),requestAnimationFrame(()=>{setTimeout(t,0)})):t();return}if(await y,n(f),r(Zo(f.environmentId,d.projectId),f),i(f),_){if(v){let e=le(qe.getState(),Io(f.environmentId,v));if(e){await a.navigate({to:`/$environmentId/$threadId`,params:p(Io(e.environmentId,e.id)),replace:!0});return}}await a.navigate({to:`/`,replace:!0})}},[n,r,i,l,a,c,e]);return{archiveThread:u,unarchiveThread:d,deleteThread:f,confirmAndDeleteThread:(0,Z.useCallback)(async e=>{if(!E(e.environmentId))return;let n=st(),r=c(e);if(!r)return;let{thread:i}=r;t&&n&&!await n.dialogs.confirm([`Delete thread "${i.title}"?`,`This permanently clears conversation history for this thread.`].join(`
|
|
6
|
-
`))||await f(e)},[t,f,c])}}function hp(e){return e.downloadedVersion?`install`:e.status===`available`||e.status===`error`&&e.errorContext===`download`&&e.availableVersion?`download`:`none`}function gp(e){return!e||!e.enabled?!1:e.status===`downloading`?!0:hp(e)!==`none`}function _p(e){return e?.hostArch===`arm64`&&e.appArch===`x64`}function vp(e){return e?.status===`downloading`}function yp(e){if(!_p(e))return`This install is using the correct architecture.`;let t=hp(e);return t===`download`?`This Mac has Apple Silicon, but Ryco is still running the Intel build under Rosetta. Download the available update to switch to the native Apple Silicon build.`:t===`install`?`This Mac has Apple Silicon, but Ryco is still running the Intel build under Rosetta. Restart to install the downloaded Apple Silicon build.`:`This Mac has Apple Silicon, but Ryco is still running the Intel build under Rosetta. The next app update will replace it with the native Apple Silicon build.`}function bp(e){return e.status===`available`?`Update ${e.availableVersion??`available`} ready to download`:e.status===`downloading`?`Downloading update${typeof e.downloadPercent==`number`?` (${Math.floor(e.downloadPercent)}%)`:``}`:e.status===`downloaded`?`Update ${e.downloadedVersion??e.availableVersion??`ready`} downloaded. Click to restart and install.`:e.status===`error`?e.errorContext===`download`&&e.availableVersion?`Download failed for ${e.availableVersion}. Click to retry.`:e.errorContext===`install`&&e.downloadedVersion?`Install failed for ${e.downloadedVersion}. Click to retry.`:e.message??`Update failed`:`Up to date`}function xp(e){let t=e.downloadedVersion??e.availableVersion;return`Install update${t?` ${t}`:``} and restart Ryco?\n\nAny running tasks will be interrupted. Make sure you're ready before continuing.`}function Sp(e){if(!e.accepted||e.completed||typeof e.state.message!=`string`)return null;let t=e.state.message.trim();return t.length>0?t:null}function Cp(e){return Sp(e)!==null}function wp(e){return!e||!e.enabled?!1:e.status!==`checking`&&e.status!==`downloading`&&e.status!==`downloaded`&&e.status!==`disabled`}var Tp={all:[`desktop`,`update`],state:()=>[`desktop`,`update`,`state`]},Ep=(e,t)=>e.setQueryData(Tp.state(),t);function Dp(){return an({queryKey:Tp.state(),queryFn:async()=>{let e=window.desktopBridge;return!e||typeof e.getUpdateState!=`function`?null:e.getUpdateState()},staleTime:1/0,refetchOnMount:`always`})}function Op(){let e=(0,Q.c)(4),t=l(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Dp(),e[0]=n):n=e[0];let r=o(n),i,a;return e[1]===t?(i=e[2],a=e[3]):(i=()=>{let e=window.desktopBridge;if(!(!e||typeof e.onUpdateState!=`function`))return e.onUpdateState(e=>{Ep(t,e)})},a=[t],e[1]=t,e[2]=i,e[3]=a),(0,Z.useEffect)(i,a),r}function kp(){let e=(0,Q.c)(32),t=l(),n=Op().data??null,[r,i]=(0,Z.useState)(!1),a;e[0]!==r||e[1]!==n?(a=wt&&gp(n)&&!r,e[0]=r,e[1]=n,e[2]=a):a=e[2];let o=a,s;e[3]===n?s=e[4]:(s=n?bp(n):`Update available`,e[3]=n,e[4]=s);let c=s,u;e[5]===n?u=e[6]:(u=vp(n),e[5]=n,e[6]=u);let d=u,f;e[7]===n?f=e[8]:(f=n?hp(n):`none`,e[7]=n,e[8]=f);let p=f,m;e[9]===n?m=e[10]:(m=wt&&_p(n),e[9]=n,e[10]=m);let h=m,g;e[11]!==h||e[12]!==n?(g=n&&h?yp(n):null,e[11]=h,e[12]=n,e[13]=g):g=e[13];let _=g,v;e[14]!==p||e[15]!==d||e[16]!==t||e[17]!==n?(v=()=>{let e=window.desktopBridge;if(!(!e||!n)&&!(d||p===`none`)){if(p===`download`){e.downloadUpdate().then(e=>{if(Ep(t,e.state),e.completed&&Y.add({type:`success`,title:`Update downloaded`,description:`Restart the app from the update button to install it.`}),!Cp(e))return;let n=Sp(e);n&&Y.add(X({type:`error`,title:`Could not download update`,description:n}))}).catch(jp);return}if(p===`install`){if(!window.confirm(xp(n)))return;e.installUpdate().then(e=>{if(Ep(t,e.state),!Cp(e))return;let n=Sp(e);n&&Y.add(X({type:`error`,title:`Could not install update`,description:n}))}).catch(Ap)}}},e[14]=p,e[15]=d,e[16]=t,e[17]=n,e[18]=v):v=e[18];let y=v;if(!o&&!h)return null;let b;e[19]!==_||e[20]!==h?(b=h&&_&&(0,$.jsxs)(hs,{variant:`warning`,className:`rounded-2xl border-warning/40 bg-warning/8 text-xs`,children:[(0,$.jsx)(fs,{}),(0,$.jsx)(us,{children:`Intel build on Apple Silicon`}),(0,$.jsx)(ps,{children:_})]}),e[19]=_,e[20]=h,e[21]=b):b=e[21];let x;e[22]!==p||e[23]!==d||e[24]!==y||e[25]!==n||e[26]!==c||e[27]!==o?(x=o&&(0,$.jsxs)(`div`,{className:`group/update relative flex h-7 w-full items-center rounded-lg bg-primary/15 text-xs font-medium text-primary ${d?` cursor-not-allowed opacity-60`:``}`,children:[(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 rounded-lg transition-colors group-has-[button.update-main:hover]/update:bg-primary/22`}),(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":c,"aria-disabled":d||void 0,disabled:d,className:`update-main relative flex h-full flex-1 items-center gap-2 px-2 enabled:cursor-pointer`,onClick:y,children:p===`install`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(hi,{className:`size-3.5`}),(0,$.jsx)(`span`,{children:`Restart to update`})]}):n?.status===`downloading`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(gc,{className:`size-3.5`}),(0,$.jsxs)(`span`,{children:[`Downloading`,typeof n.downloadPercent==`number`?` (${Math.floor(n.downloadPercent)}%)`:`…`]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(gc,{className:`size-3.5`}),(0,$.jsx)(`span`,{children:`Update available`})]})})}),(0,$.jsx)(ne,{side:`top`,children:c})]}),p===`download`&&(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":`Dismiss update`,className:`mr-1 inline-flex size-5 items-center justify-center rounded-md text-primary/60 transition-colors hover:text-primary`,onClick:()=>i(!0),children:(0,$.jsx)(En,{className:`size-3.5`})})}),(0,$.jsx)(ne,{side:`top`,children:`Dismiss until next launch`})]})]}),e[22]=p,e[23]=d,e[24]=y,e[25]=n,e[26]=c,e[27]=o,e[28]=x):x=e[28];let S;return e[29]!==b||e[30]!==x?(S=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[b,x]}),e[29]=b,e[30]=x,e[31]=S):S=e[31],S}function Ap(e){Y.add(X({type:`error`,title:`Could not install update`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))}function jp(e){Y.add(X({type:`error`,title:`Could not start update download`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))}function Mp(e){let t=am(e.threads,e=>e.projectId),n=am(e.worktrees??[],e=>String(e.projectId));return{projects:e.projects.map(r=>{let i=t.get(r.id)??[],a=nm(r,e.isGitRepoByProjectId),o=i.filter(e=>e.archivedAt!==null);if(!a)return{archivedSessions:o,archivedWorktrees:[],flatSessions:i.filter(e=>e.archivedAt===null),isGitRepo:a,project:r,worktrees:[]};let s=Lp(Jp({project:r,threads:i,worktrees:n.get(r.id)??[]}));return{archivedSessions:o,archivedWorktrees:Zp(s).filter(e=>e.archivedAt!=null).map(t=>Pp({diffStats:tm(e,t.worktreeId),nowMs:e.nowMs,threads:i.filter(e=>Ip(e,t)),worktree:t})),flatSessions:[],isGitRepo:a,project:r,worktrees:Zp(s).filter(e=>e.archivedAt==null).map(t=>Pp({diffStats:tm(e,t.worktreeId),nowMs:e.nowMs,threads:i.filter(e=>Ip(e,t)),worktree:t}))}})}}function Np(e){let t=(0,Q.c)(10),{diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:a,projects:o,threads:s,worktrees:c}=e,l,u;t[0]===a?u=t[1]:(u=a??Date.now(),t[0]=a,t[1]=u);let d;return t[2]!==n||t[3]!==r||t[4]!==i||t[5]!==o||t[6]!==u||t[7]!==s||t[8]!==c?(d=Mp({diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:u,projects:o,threads:s,worktrees:c}),t[2]=n,t[3]=r,t[4]=i,t[5]=o,t[6]=u,t[7]=s,t[8]=c,t[9]=d):d=t[9],l=d,l}function Pp(e){let t={done:[],idle:[],in_progress:[],review:[]},n=[],r=[],i=[];for(let a of e.threads){if(a.archivedAt!==null){r.push(a);continue}i.push(a);let e=Fp(a);n.push(e),t[e].push(a)}return{aggregateStatus:xo(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:Si({buckets:n,latestUpdatedAt:em(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function Fp(e){return sr({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??Lr({thread:e})})}function Ip(e,t){return e.worktreeId!==void 0&&e.worktreeId!==null&&e.worktreeId===t.worktreeId||e.worktreePath!==null&&t.worktreePath!==null&&e.worktreePath===t.worktreePath?!0:e.worktreePath!==null||t.worktreePath!==null?!1:t.origin===`main`?e.branch===null||e.branch===t.branch||Xp(e.branch):e.branch===t.branch}function Lp(e){let t=new Map;for(let n of e){let e=Rp(n),r=t.get(e);t.set(e,r?Bp(r,n):n)}return[...t.values()]}function Rp(e){return e.origin===`main`?`${e.projectId}:main`:e.worktreePath===null?`${e.projectId}:${e.origin}:${e.branch}`:`${e.projectId}:path:${zp(e.worktreePath)}`}function zp(e){return e.replace(/\\/g,`/`).replace(/\/+$/g,``).toLowerCase()}function Bp(e,t){let n=Vp(e,t);return{...e,archivedAt:Kp(e.archivedAt,t.archivedAt),branch:Up(e.branch,t.branch),manualPosition:qp(e.manualPosition,t.manualPosition),origin:e.origin===`main`||t.origin!==`main`?e.origin:t.origin,prNumber:e.prNumber??t.prNumber??null,issueNumber:e.issueNumber??t.issueNumber??null,prState:n.prState??null,prIsDraft:n.prIsDraft??null,issueState:n.issueState??null,title:Hp(e,t),updatedAt:$p(e.updatedAt,t.updatedAt),worktreeId:Wp(e,t),worktreePath:e.worktreePath??t.worktreePath}}function Vp(e,t){let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(r)||r<=n?e:t}function Hp(e,t){if(e.title==null)return t.title??null;if(t.title==null)return e.title;let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(n)?t.title:Number.isNaN(r)?e.title:r>n?t.title:e.title}function Up(e,t){return e===`main`&&t!==`main`?t:e}function Wp(e,t){let n=Gp(e.worktreeId),r=Gp(t.worktreeId);return n&&!r?t.worktreeId:r&&!n||e.origin===`main`?e.worktreeId:t.origin===`main`?t.worktreeId:e.worktreeId}function Gp(e){return/^(main|branch|pr|issue|manual):/.test(e)}function Kp(e,t){return e==null||t==null?null:$p(e,t)}function qp(e,t){return e==null?t:t==null?e:Math.min(e,t)}function Jp(e){if(e.threads.length===0)return e.worktrees;let t=[...e.worktrees];for(let n of e.threads)t.some(e=>Ip(n,e))||t.push(Yp(e.project,n));return t}function Yp(e,t){let n=t.branch??`main`,r=t.worktreePath===null&&Xp(t.branch)?`main`:`branch`;return{archivedAt:null,branch:n,manualPosition:r===`main`?0:null,origin:r,projectId:e.id,updatedAt:t.updatedAt??t.createdAt,worktreeId:r===`main`?`main:${e.environmentId}:${e.id}`:`branch:${e.environmentId}:${e.id}:${t.worktreePath?zp(t.worktreePath):n}`,worktreePath:t.worktreePath}}function Xp(e){return e==null||e===`main`||e===`master`||e===`trunk`}function Zp(e){return[...e].toSorted((e,t)=>{if(e.origin===`main`&&t.origin!==`main`)return-1;if(t.origin===`main`&&e.origin!==`main`)return 1;let n=e.manualPosition??2**53-1,r=t.manualPosition??2**53-1;if(n!==r)return n-r;let i=Qp(e.updatedAt,t.updatedAt);return i===0?e.branch.localeCompare(t.branch)||e.worktreeId.localeCompare(t.worktreeId):i})}function Qp(e,t){let n=t?Date.parse(t):-1/0,r=e?Date.parse(e):-1/0;return(Number.isNaN(n)?-1/0:n)-(Number.isNaN(r)?-1/0:r)}function $p(e,t){if(!e)return t;if(!t)return e;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)?t:Number.isNaN(r)?e:r>n?t:e}function em(e){return e.map(e=>e.updatedAt??e.createdAt).filter(e=>e!==void 0).toSorted((e,t)=>Date.parse(t)-Date.parse(e))[0]}function tm(e,t){return e.diffStatsByWorktreeId?e.diffStatsByWorktreeId.get(t)??null:e.diffStatsByWorktreeIdRecord?.[t]??null}function nm(e,t){let n=rm(t,e.id);return n===void 0?!0:n}function rm(e,t){if(e)return im(e)?e.get(t):e[String(t)]}function im(e){return e instanceof Map}function am(e,t){let n=new Map;for(let r of e){let e=t(r),i=n.get(e);i?i.push(r):n.set(e,[r])}return n}var om={done:`bg-muted-foreground/45`,idle:`bg-muted-foreground/30`,in_progress:`bg-sky-500 dark:bg-sky-300/80`,review:`bg-amber-500 dark:bg-amber-300/90`},sm={done:`Done`,idle:`Idle`,in_progress:`In progress`,review:`Review`},cm=(0,Z.memo)(function(e){let t=(0,Z.useMemo)(()=>ym(e.treeProject,e.visibleThreadKeys),[e.treeProject,e.visibleThreadKeys]),n=(0,Z.useMemo)(()=>e.treeProject.worktrees.filter(t=>e.projectExpanded?!0:bm(t,e.visibleThreadKeys).length>0),[e.projectExpanded,e.treeProject.worktrees,e.visibleThreadKeys]),[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(null),s=(0,Z.useCallback)(e=>{o(e)},[]),c=(0,Z.useCallback)(e=>{e||o(null)},[]);return n.length===0&&e.treeProject.archivedWorktrees.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Ha,{ref:e.attachThreadListAutoAnimateRef,className:`mx-1 my-0 w-full translate-x-0 gap-0.5 overflow-hidden px-1.5 py-0`,children:[n.map(n=>(0,$.jsx)(um,{orderedProjectThreadKeys:t,projectCwd:e.treeProject.project.cwd,projectExpanded:e.projectExpanded,renderThread:e.renderThread,resolveThreadGitStatusTarget:e.resolveThreadGitStatusTarget,visibleThreadKeys:e.visibleThreadKeys,worktree:n,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onOpenLinkedItem:s,onOpenWorktree:e.onOpenWorktree,onRenameWorktree:e.onRenameWorktree},n.worktree.worktreeId)),e.treeProject.archivedWorktrees.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ta,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsxs)(`button`,{type:`button`,className:`flex h-7 w-full items-center gap-1.5 rounded-md px-2 text-left text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`,onClick:()=>i(e=>!e),children:[(0,$.jsx)(h,{className:r?`size-3 rotate-90`:`size-3`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium`,children:[`Archived (`,e.treeProject.archivedWorktrees.length,`)`]})]})}),r?e.treeProject.archivedWorktrees.map(t=>(0,$.jsx)(lm,{projectCwd:e.treeProject.project.cwd,worktree:t,onDeleteWorktree:e.onDeleteWorktree,onOpenLinkedItem:s,onRestoreWorktree:e.onRestoreWorktree},t.worktree.worktreeId)):null]}):null]}),(0,$.jsx)(Da,{open:a!==null,item:a,environmentId:e.treeProject.project.environmentId,cwd:e.treeProject.project.cwd,onOpenChange:c})]})});function lm(e){let t=(0,Q.c)(29),n;t[0]!==e.projectCwd||t[1]!==e.worktree.worktree?(n=_m(e.worktree.worktree,e.projectCwd),t[0]=e.projectCwd,t[1]=e.worktree.worktree,t[2]=n):n=t[2];let r=n,i;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(ac,{className:`size-3.5 shrink-0`}),t[3]=i):i=t[3];let a;t[4]===e.worktree?a=t[5]:(a=gm(e.worktree),t[4]=e.worktree,t[5]=a);let o;t[6]===a?o=t[7]:(o=(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs`,children:a}),t[6]=a,t[7]=o);let s;t[8]!==e.onOpenLinkedItem||t[9]!==e.worktree.worktree.issueNumber||t[10]!==e.worktree.worktree.issueState||t[11]!==e.worktree.worktree.prIsDraft||t[12]!==e.worktree.worktree.prNumber||t[13]!==e.worktree.worktree.prState?(s=(0,$.jsx)(Un,{issueNumber:e.worktree.worktree.issueNumber,issueState:e.worktree.worktree.issueState,prNumber:e.worktree.worktree.prNumber,prState:e.worktree.worktree.prState,prIsDraft:e.worktree.worktree.prIsDraft,onOpenLinkedItem:e.onOpenLinkedItem}),t[8]=e.onOpenLinkedItem,t[9]=e.worktree.worktree.issueNumber,t[10]=e.worktree.worktree.issueState,t[11]=e.worktree.worktree.prIsDraft,t[12]=e.worktree.worktree.prNumber,t[13]=e.worktree.worktree.prState,t[14]=s):s=t[14];let c=`Restore ${e.worktree.worktree.branch}`,l;t[15]===e?l=t[16]:(l=()=>e.onRestoreWorktree(e.worktree),t[15]=e,t[16]=l);let u;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(jc,{className:`size-3.5`}),t[17]=u):u=t[17];let d;t[18]!==c||t[19]!==l?(d=(0,$.jsx)(`button`,{type:`button`,className:`inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/70 hover:bg-secondary hover:text-foreground`,"aria-label":c,onClick:l,children:u}),t[18]=c,t[19]=l,t[20]=d):d=t[20];let f;t[21]!==r||t[22]!==e?(f=r?null:(0,$.jsx)(`button`,{type:`button`,className:`inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/70 hover:bg-secondary hover:text-destructive`,"aria-label":`Delete ${e.worktree.worktree.branch}`,onClick:()=>e.onDeleteWorktree(e.worktree),children:(0,$.jsx)(Oo,{className:`size-3.5`})}),t[21]=r,t[22]=e,t[23]=f):f=t[23];let p;return t[24]!==o||t[25]!==s||t[26]!==d||t[27]!==f?(p=(0,$.jsx)(ta,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsxs)(`div`,{className:`ml-3 flex h-7 items-center gap-1.5 rounded-md px-2 text-muted-foreground`,children:[i,o,s,d,f]})}),t[24]=o,t[25]=s,t[26]=d,t[27]=f,t[28]=p):p=t[28],p}var um=(0,Z.memo)(function(e){let t=(0,Q.c)(114),n;t[0]!==e.projectCwd||t[1]!==e.worktree.worktree?(n=_m(e.worktree.worktree,e.projectCwd),t[0]=e.projectCwd,t[1]=e.worktree.worktree,t[2]=n):n=t[2];let r=n,i,a;if(t[3]!==e.visibleThreadKeys||t[4]!==e.worktree.sessions){let n;t[6]===e.visibleThreadKeys?n=t[7]:(n=t=>xm(t,e.visibleThreadKeys),t[6]=e.visibleThreadKeys,t[7]=n),a=e.worktree.sessions.filter(n),t[3]=e.visibleThreadKeys,t[4]=e.worktree.sessions,t[5]=a}else a=t[5];i=a;let o=i,[s,c]=(0,Z.useState)(!0),[l,u]=(0,Z.useState)(!1),d;t[8]===e.worktree?d=t[9]:(d=()=>gm(e.worktree),t[8]=e.worktree,t[9]=d);let[f,p]=(0,Z.useState)(d),m=e.visibleThreadKeys?!1:s,g=e.projectExpanded&&!m&&o.length===0,_=!m,v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(v=()=>c(Sm),t[10]=v):v=t[10];let y=v,b;t[11]===e.worktree?b=t[12]:(b=gm(e.worktree),t[11]=e.worktree,t[12]=b);let x=b,S;t[13]===x?S=t[14]:(S=()=>{p(x),u(!0)},t[13]=x,t[14]=S);let C=S,w;t[15]===x?w=t[16]:(w=()=>{p(x),u(!1)},t[15]=x,t[16]=w);let T=w,E;t[17]!==T||t[18]!==x||t[19]!==e||t[20]!==f?(E=()=>{let t=f.trim();if(t.length===0||t===x){T();return}Promise.resolve(e.onRenameWorktree(e.worktree,t)).finally(()=>{u(!1)})},t[17]=T,t[18]=x,t[19]=e,t[20]=f,t[21]=E):E=t[21];let D=E,O=!m,k,A;t[22]===e?(k=t[23],A=t[24]):(k=()=>e.onOpenWorktree(e.worktree),A=t=>{if(t.key===`ArrowLeft`){t.preventDefault(),c(!0);return}if(t.key===`ArrowRight`){t.preventDefault(),c(!1);return}t.key!==`Enter`&&t.key!==` `||(t.preventDefault(),e.onOpenWorktree(e.worktree))},t[22]=e,t[23]=k,t[24]=A);let M;t[25]!==k||t[26]!==A||t[27]!==O?(M=(0,$.jsx)(`div`,{role:`button`,tabIndex:0,"aria-expanded":O,className:`group/worktree flex h-7 w-full items-center gap-1.5 rounded-md px-2 text-left text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:k,onKeyDown:A}),t[25]=k,t[26]=A,t[27]=O,t[28]=M):M=t[28];let N=m?`Expand ${e.worktree.worktree.branch}`:`Collapse ${e.worktree.worktree.branch}`,P;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>{e.preventDefault(),e.stopPropagation(),y()},t[29]=P):P=t[29];let F=m?``:`rotate-90`,I;t[30]===F?I=t[31]:(I=R(`size-3.5 transition-transform duration-150`,F),t[30]=F,t[31]=I);let L;t[32]===I?L=t[33]:(L=(0,$.jsx)(h,{className:I}),t[32]=I,t[33]=L);let ee;t[34]!==N||t[35]!==L?(ee=(0,$.jsx)(`button`,{type:`button`,"aria-label":N,className:`-ml-1 inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/60 hover:bg-secondary hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:P,children:L}),t[34]=N,t[35]=L,t[36]=ee):ee=t[36];let z=e.worktree.aggregateStatus===`in_progress`?`animate-pulse`:``,B;t[37]===z?B=t[38]:(B=R(`inline-flex size-3 shrink-0 items-center justify-center`,z),t[37]=z,t[38]=B);let V=sm[e.worktree.aggregateStatus],H=e.worktree.aggregateStatus===`idle`,U;t[39]===e.worktree.aggregateStatus?U=t[40]:(U=e.worktree.aggregateStatus===`idle`?null:(0,$.jsx)(`span`,{className:R(`size-2 rounded-full`,om[e.worktree.aggregateStatus])}),t[39]=e.worktree.aggregateStatus,t[40]=U);let W;t[41]!==B||t[42]!==V||t[43]!==H||t[44]!==U?(W=(0,$.jsx)(`span`,{className:B,title:V,"aria-hidden":H,children:U}),t[41]=B,t[42]=V,t[43]=H,t[44]=U,t[45]=W):W=t[45];let G;t[46]!==T||t[47]!==D||t[48]!==x||t[49]!==e.onOpenLinkedItem||t[50]!==e.worktree.worktree.issueNumber||t[51]!==e.worktree.worktree.issueState||t[52]!==e.worktree.worktree.prIsDraft||t[53]!==e.worktree.worktree.prNumber||t[54]!==e.worktree.worktree.prState||t[55]!==f||t[56]!==l||t[57]!==C?(G=l?(0,$.jsx)(`input`,{value:f,className:`min-w-0 flex-1 rounded-sm border border-border bg-background px-1 py-0.5 text-xs font-medium text-foreground outline-hidden focus:border-ring`,autoFocus:!0,onBlur:D,onChange:e=>p(e.target.value),onClick:Cm,onDoubleClick:wm,onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),D()),e.key===`Escape`&&(e.preventDefault(),T())}}):(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-foreground/85`,onClick:Tm,onDoubleClick:e=>{e.preventDefault(),e.stopPropagation(),C()},children:x}),(0,$.jsx)(Un,{issueNumber:e.worktree.worktree.issueNumber,issueState:e.worktree.worktree.issueState,prNumber:e.worktree.worktree.prNumber,prState:e.worktree.worktree.prState,prIsDraft:e.worktree.worktree.prIsDraft,onOpenLinkedItem:e.onOpenLinkedItem})]}),t[46]=T,t[47]=D,t[48]=x,t[49]=e.onOpenLinkedItem,t[50]=e.worktree.worktree.issueNumber,t[51]=e.worktree.worktree.issueState,t[52]=e.worktree.worktree.prIsDraft,t[53]=e.worktree.worktree.prNumber,t[54]=e.worktree.worktree.prState,t[55]=f,t[56]=l,t[57]=C,t[58]=G):G=t[58];let te,ne;t[59]===e.worktree?(te=t[60],ne=t[61]):(te=(0,$.jsx)(hm,{worktree:e.worktree}),ne=(0,$.jsx)(vm,{worktree:e.worktree}),t[59]=e.worktree,t[60]=te,t[61]=ne);let re;t[62]!==r||t[63]!==e?(re=e.worktree.shouldSuggestArchive&&!r?(0,$.jsxs)(`button`,{type:`button`,className:`inline-flex shrink-0 items-center gap-1 rounded-full bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground hover:bg-secondary hover:text-foreground`,onClick:t=>{t.preventDefault(),t.stopPropagation(),e.onArchiveWorktree(e.worktree)},children:[(0,$.jsx)(ac,{className:`size-3`}),`Archive?`]}):null,t[62]=r,t[63]=e,t[64]=re):re=t[64];let ie=`New session in ${e.worktree.worktree.branch}`,K;t[65]===e?K=t[66]:(K=t=>{t.preventDefault(),t.stopPropagation(),e.onNewSession(e.worktree)},t[65]=e,t[66]=K);let ae;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(ar,{className:`size-3.5`}),t[67]=ae):ae=t[67];let se;t[68]!==ie||t[69]!==K?(se=(0,$.jsx)(`button`,{type:`button`,"aria-label":ie,className:`ml-auto inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/55 opacity-0 transition-opacity hover:bg-secondary hover:text-foreground group-hover/worktree:opacity-100 group-focus-within/worktree:opacity-100 max-sm:opacity-100`,onClick:K,children:ae}),t[68]=ie,t[69]=K,t[70]=se):se=t[70];let ce;t[71]!==r||t[72]!==e.onArchiveWorktree||t[73]!==e.onCopyWorktreePath||t[74]!==e.onDeleteWorktree||t[75]!==e.onNewSession||t[76]!==e.onOpenInEditor||t[77]!==e.worktree||t[78]!==C?(ce=(0,$.jsx)(pm,{isProjectRoot:r,worktree:e.worktree,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onRenameWorktree:C}),t[71]=r,t[72]=e.onArchiveWorktree,t[73]=e.onCopyWorktreePath,t[74]=e.onDeleteWorktree,t[75]=e.onNewSession,t[76]=e.onOpenInEditor,t[77]=e.worktree,t[78]=C,t[79]=ce):ce=t[79];let q;t[80]!==M||t[81]!==ee||t[82]!==W||t[83]!==G||t[84]!==te||t[85]!==ne||t[86]!==re||t[87]!==se||t[88]!==ce?(q=(0,$.jsxs)(oe,{render:M,children:[ee,W,G,te,ne,re,se,ce]}),t[80]=M,t[81]=ee,t[82]=W,t[83]=G,t[84]=te,t[85]=ne,t[86]=re,t[87]=se,t[88]=ce,t[89]=q):q=t[89];let le;t[90]!==r||t[91]!==e.onArchiveWorktree||t[92]!==e.onCopyWorktreePath||t[93]!==e.onDeleteWorktree||t[94]!==e.onNewSession||t[95]!==e.onOpenInEditor||t[96]!==e.worktree||t[97]!==C?(le=(0,$.jsx)(Ge,{align:`start`,side:`bottom`,className:`min-w-48`,children:(0,$.jsx)(fm,{isProjectRoot:r,worktree:e.worktree,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onRenameWorktree:C})}),t[90]=r,t[91]=e.onArchiveWorktree,t[92]=e.onCopyWorktreePath,t[93]=e.onDeleteWorktree,t[94]=e.onNewSession,t[95]=e.onOpenInEditor,t[96]=e.worktree,t[97]=C,t[98]=le):le=t[98];let ue;t[99]!==q||t[100]!==le?(ue=(0,$.jsx)(ta,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsxs)(j,{children:[q,le]})}),t[99]=q,t[100]=le,t[101]=ue):ue=t[101];let de;t[102]===g?de=t[103]:(de=g?(0,$.jsx)(ta,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsx)(`div`,{className:`ml-5 flex h-6 items-center border-l border-sidebar-border/70 px-4 text-[10px] text-muted-foreground/60`,children:`No sessions yet`})}):null,t[102]=g,t[103]=de);let fe;t[104]!==e.orderedProjectThreadKeys||t[105]!==e.renderThread||t[106]!==e.resolveThreadGitStatusTarget||t[107]!==_||t[108]!==o?(fe=_&&o.length>0?(0,$.jsx)(dm,{orderedProjectThreadKeys:e.orderedProjectThreadKeys,renderThread:e.renderThread,resolveThreadGitStatusTarget:e.resolveThreadGitStatusTarget,visibleThreads:o}):null,t[104]=e.orderedProjectThreadKeys,t[105]=e.renderThread,t[106]=e.resolveThreadGitStatusTarget,t[107]=_,t[108]=o,t[109]=fe):fe=t[109];let pe;return t[110]!==ue||t[111]!==de||t[112]!==fe?(pe=(0,$.jsxs)($.Fragment,{children:[ue,de,fe]}),t[110]=ue,t[111]=de,t[112]=fe,t[113]=pe):pe=t[113],pe}),dm=(0,Z.memo)(function(e){let t=(0,Q.c)(11),n,r;t[0]!==e.resolveThreadGitStatusTarget||t[1]!==e.visibleThreads?(r=Wr(e.visibleThreads,e.resolveThreadGitStatusTarget),t[0]=e.resolveThreadGitStatusTarget,t[1]=e.visibleThreads,t[2]=r):r=t[2],n=r;let i=n,a=i.kind===`shared`?i.target.environmentId:null,o=i.kind===`shared`?i.target.cwd:null,s;t[3]!==a||t[4]!==o?(s={environmentId:a,cwd:o},t[3]=a,t[4]=o,t[5]=s):s=t[5];let c=sn(s),l=i.kind===`shared`?c:i.kind===`none`?null:void 0,u;t[6]!==e||t[7]!==l?(u=e.visibleThreads.map(t=>e.renderThread(t,e.orderedProjectThreadKeys,l)),t[6]=e,t[7]=l,t[8]=u):u=t[8];let d;return t[9]===u?d=t[10]:(d=(0,$.jsx)($.Fragment,{children:u}),t[9]=u,t[10]=d),d});function fm(e){let t=(0,Q.c)(38),n;t[0]===e?n=t[1]:(n=()=>e.onNewSession(e.worktree),t[0]=e,t[1]=n);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(ar,{className:`size-4`}),t[2]=r):r=t[2];let i;t[3]===n?i=t[4]:(i=(0,$.jsxs)(de,{onClick:n,children:[r,`New session here`]}),t[3]=n,t[4]=i);let a;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(er,{className:`size-4`}),t[5]=a):a=t[5];let o;t[6]===e.onRenameWorktree?o=t[7]:(o=(0,$.jsxs)(de,{onClick:e.onRenameWorktree,children:[a,`Rename worktree`]}),t[6]=e.onRenameWorktree,t[7]=o);let s;t[8]===e?s=t[9]:(s=()=>e.onOpenInEditor(e.worktree),t[8]=e,t[9]=s);let c;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(ai,{className:`size-4`}),t[10]=c):c=t[10];let l;t[11]===s?l=t[12]:(l=(0,$.jsxs)(de,{onClick:s,children:[c,`Open in editor`]}),t[11]=s,t[12]=l);let u;t[13]===e?u=t[14]:(u=()=>e.onCopyWorktreePath(e.worktree),t[13]=e,t[14]=u);let d;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(Gn,{className:`size-4`}),t[15]=d):d=t[15];let f;t[16]===u?f=t[17]:(f=(0,$.jsxs)(de,{onClick:u,children:[d,`Copy path`]}),t[16]=u,t[17]=f);let p;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Ze,{}),t[18]=p):p=t[18];let m;t[19]===e?m=t[20]:(m=()=>e.onArchiveWorktree(e.worktree),t[19]=e,t[20]=m);let h;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(ac,{className:`size-4`}),t[21]=h):h=t[21];let g;t[22]!==e.isProjectRoot||t[23]!==m?(g=(0,$.jsxs)(de,{disabled:e.isProjectRoot,onClick:m,children:[h,`Archive worktree`]}),t[22]=e.isProjectRoot,t[23]=m,t[24]=g):g=t[24];let _;t[25]===e?_=t[26]:(_=()=>e.onDeleteWorktree(e.worktree),t[25]=e,t[26]=_);let v;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(Oo,{className:`size-4`}),t[27]=v):v=t[27];let y;t[28]!==e.isProjectRoot||t[29]!==_?(y=(0,$.jsxs)(de,{disabled:e.isProjectRoot,variant:`destructive`,onClick:_,children:[v,`Delete worktree`]}),t[28]=e.isProjectRoot,t[29]=_,t[30]=y):y=t[30];let b;return t[31]!==f||t[32]!==g||t[33]!==y||t[34]!==i||t[35]!==o||t[36]!==l?(b=(0,$.jsxs)($.Fragment,{children:[i,o,l,f,p,g,y]}),t[31]=f,t[32]=g,t[33]=y,t[34]=i,t[35]=o,t[36]=l,t[37]=b):b=t[37],b}function pm(e){let t=(0,Q.c)(15),n=`Worktree actions for ${e.worktree.worktree.branch}`,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(jo,{className:`size-3.5`}),t[0]=r):r=t[0];let i;t[1]===n?i=t[2]:(i=(0,$.jsx)(Oe,{className:`inline-flex size-5 shrink-0 items-center justify-center rounded-md text-muted-foreground/55 opacity-0 transition-opacity hover:bg-secondary hover:text-foreground group-hover/worktree:opacity-100 group-focus-within/worktree:opacity-100 max-sm:opacity-100`,onClick:mm,"aria-label":n,children:r}),t[1]=n,t[2]=i);let a;t[3]!==e.isProjectRoot||t[4]!==e.onArchiveWorktree||t[5]!==e.onCopyWorktreePath||t[6]!==e.onDeleteWorktree||t[7]!==e.onNewSession||t[8]!==e.onOpenInEditor||t[9]!==e.onRenameWorktree||t[10]!==e.worktree?(a=(0,$.jsx)(Zt,{align:`end`,side:`bottom`,className:`min-w-48`,children:(0,$.jsx)(fm,{isProjectRoot:e.isProjectRoot,worktree:e.worktree,onArchiveWorktree:e.onArchiveWorktree,onCopyWorktreePath:e.onCopyWorktreePath,onDeleteWorktree:e.onDeleteWorktree,onNewSession:e.onNewSession,onOpenInEditor:e.onOpenInEditor,onRenameWorktree:e.onRenameWorktree})}),t[3]=e.isProjectRoot,t[4]=e.onArchiveWorktree,t[5]=e.onCopyWorktreePath,t[6]=e.onDeleteWorktree,t[7]=e.onNewSession,t[8]=e.onOpenInEditor,t[9]=e.onRenameWorktree,t[10]=e.worktree,t[11]=a):a=t[11];let o;return t[12]!==i||t[13]!==a?(o=(0,$.jsxs)(Ve,{children:[i,a]}),t[12]=i,t[13]=a,t[14]=o):o=t[14],o}function mm(e){e.preventDefault(),e.stopPropagation()}function hm(e){let t=(0,Q.c)(2),{worktree:n}=e,r=n.worktree.origin;if(r===`main`||r===`branch`||r===`pr`&&n.worktree.prNumber!=null||r===`issue`&&n.worktree.issueNumber!=null)return null;let i=r===`pr`?`PR`:r===`issue`?`Issue`:`Manual`,a;return t[0]===i?a=t[1]:(a=(0,$.jsx)(`span`,{className:`shrink-0 rounded-sm bg-muted px-1 py-0.5 text-[10px] text-muted-foreground`,children:i}),t[0]=i,t[1]=a),a}function gm(e){return e.worktree.title??e.worktree.branch}function _m(e,t){return e.origin===`main`||e.worktreePath===null?!0:zp(e.worktreePath)===zp(t)}function vm(e){let t=(0,Q.c)(3),{worktree:n}=e;if(!n.diffStats)return null;let r;return t[0]!==n.diffStats.added||t[1]!==n.diffStats.removed?(r=(0,$.jsxs)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/70`,children:[`+`,n.diffStats.added,` / -`,n.diffStats.removed]}),t[0]=n.diffStats.added,t[1]=n.diffStats.removed,t[2]=r):r=t[2],r}function ym(e,t){return e.worktrees.flatMap(e=>e.sessions.filter(e=>xm(e,t)).map(e=>zo(Io(e.environmentId,e.id))))}function bm(e,t){return e.sessions.filter(e=>xm(e,t))}function xm(e,t){return e.archivedAt===null?t?t.has(zo(Io(e.environmentId,e.id))):!0:!1}function Sm(e){return!e}function Cm(e){return e.stopPropagation()}function wm(e){return e.stopPropagation()}function Tm(e){return e.stopPropagation()}var Em=new Set([`idle`,`in_progress`,`review`,`done`]),Dm=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function Om(e){let t=e.project.projectKey,n={...e.project,id:t},r=e.threads.map(n=>Mm({lastVisitedAt:e.lastVisitedAtByThreadKey?.get(zo(Io(n.environmentId,n.id)))??null,logicalProjectId:t,thread:n})),i=Pm(e.project,t,e.worktrees??[]),a=Rm({logicalProjectId:t,project:e.project,threads:r}),o=new Map;for(let e of[...a,...i])o.set(e.worktreeId,e);return{project:n,threads:r,worktrees:[...o.values()]}}function km(e){let t=Am(e),n=e.projectKey,r=[],i=[];return e=>{let a=[];for(let[n,r]of Object.entries(e.draftThreadsByThreadKey))jm(r,t)&&a.push([n,r]);return a.length===r.length&&a.every((e,t)=>{let n=r[t];return n?.[0]===e[0]&&n[1]===e[1]})?i:(r=a,i=a.map(([e,t])=>Nm({draftId:e,logicalProjectId:n,draftThread:t})),i)}}function Am(e){return new Set(e.memberProjects.map(e=>Lo(Zo(e.environmentId,e.id))))}function jm(e,t){return e.promotedTo==null?t.has(Lo(Zo(e.environmentId,e.projectId))):!1}function Mm(e){let t=e.thread,n=Gm(t.statusPill)||t.statusPill===null?t.statusPill:Lr({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:Bm(t.manualStatusBucket)??Bm(t.manualBucket)??Bm(t.statusBucket)??null,sourceProjectId:e.thread.projectId,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function Nm(e){return{archivedAt:null,branch:e.draftThread.branch,createdAt:e.draftThread.createdAt,draftId:e.draftId,environmentId:e.draftThread.environmentId,hasActionableProposedPlan:!1,hasPendingApprovals:!1,hasPendingUserInput:!1,id:e.draftThread.threadId,interactionMode:e.draftThread.interactionMode??`default`,tokenMode:e.draftThread.tokenMode??`balanced`,latestTurn:null,latestUserMessageAt:null,manualStatusBucket:null,projectId:e.logicalProjectId,session:null,sourceProjectId:e.draftThread.projectId,statusPill:null,title:`Empty Session`,updatedAt:e.draftThread.createdAt,worktreePath:e.draftThread.worktreePath}}function Pm(e,t,n){let r=[...n],i=[e,...e.memberProjects];for(let e of i){let t=e;if(Array.isArray(t.worktrees))for(let e of t.worktrees)r.push(e);if(Array.isArray(t.sidebarWorktrees))for(let e of t.sidebarWorktrees)r.push(e)}return r.flatMap((e,n)=>{if(!e||typeof e!=`object`)return[];let r=e,i=Hm(r.branch);if(!i)return[];let a=Um(r.worktreePath),o=Vm(r.origin)??(a===null?`main`:`manual`),s=Hm(r.worktreeId)??Hm(r.id)??zm({branch:i,fallbackIndex:n,origin:o,projectId:t,worktreePath:a});return[{archivedAt:Um(r.archivedAt),branch:i,issueNumber:Wm(r.issueNumber),manualPosition:Wm(r.manualPosition),origin:o,prNumber:Wm(r.prNumber),prState:Fm(r.prState),prIsDraft:Lm(r.prIsDraft),issueState:Im(r.issueState),projectId:t,title:Um(r.title),updatedAt:Hm(r.updatedAt),worktreeId:s,worktreePath:a}]})}function Fm(e){return e===`open`||e===`closed`||e===`merged`?e:null}function Im(e){return e===`open`||e===`closed`?e:null}function Lm(e){return typeof e==`boolean`?e:null}function Rm(e){let t=new Map,n=(n,r)=>{let i=n?.worktreePath??null,a=n?.branch??(i===null?`main`:Km(i)),o=i===null?`main`:`branch`,s=n?.worktreeId??zm({branch:a,fallbackIndex:r,origin:o,projectId:e.logicalProjectId,worktreePath:i}),c=t.get(s),l=n?.updatedAt??n?.createdAt??e.project.updatedAt;if(c){t.set(s,{...c,updatedAt:qm(c.updatedAt,l)});return}t.set(s,{archivedAt:null,branch:a,manualPosition:i===null?0:r+1,origin:o,projectId:e.logicalProjectId,title:null,updatedAt:l,worktreeId:s,worktreePath:i})};return n(null,0),e.threads.forEach((e,t)=>n(e,t)),[...t.values()]}function zm(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.projectId}:${t||e.fallbackIndex}`}function Bm(e){return typeof e==`string`&&Em.has(e)?e:null}function Vm(e){return typeof e==`string`&&Dm.has(e)?e:null}function Hm(e){return typeof e==`string`&&e.length>0?e:void 0}function Um(e){return typeof e==`string`&&e.length>0?e:null}function Wm(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Gm(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.label==`string`&&typeof t.colorClass==`string`&&typeof t.dotClass==`string`&&typeof t.pulse==`boolean`}function Km(e){return e?e.split(/[\\/]/).findLast(e=>e.length>0)??e:`worktree`}function qm(e,t){if(!e)return t;if(!t)return e;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)?t:Number.isNaN(r)?e:r>n?t:e}function Jm(e){let t=(0,Q.c)(3),n;return t[0]!==e.cwd||t[1]!==e.environmentId?(n=(0,$.jsx)(Gr,{environmentId:e.environmentId,cwd:e.cwd,title:`Actions`,description:`Recent GitHub Actions workflow runs for this repository.`}),t[0]=e.cwd,t[1]=e.environmentId,t[2]=n):n=t[2],n}var Ym={all:[`workItems`],projectLink:(e,t)=>[`workItems`,`projectLink`,e??null,t??null],list:(e,t,n,r)=>[`workItems`,e??null,t??null,`list`,n,r??null],search:(e,t,n,r)=>[`workItems`,e??null,t??null,`search`,n,r??null],detail:(e,t,n,r=!1)=>[`workItems`,e??null,t??null,`detail`,n,r?`full`:`truncated`]};function Xm(e){return an({queryKey:Ym.list(e.environmentId,e.projectId,e.state,e.limit),queryFn:async()=>{if(!e.environmentId||!e.projectId)throw Error(`Jira work items are unavailable.`);return bn(e.environmentId).client.workItems.list({projectId:e.projectId,state:e.state,...e.limit===void 0?{}:{limit:e.limit}})},enabled:(e.enabled??!0)&&e.environmentId!==null&&e.projectId!==null,staleTime:6e4})}function Zm(e){return an({queryKey:Ym.search(e.environmentId,e.projectId,e.query,e.limit),queryFn:async()=>{if(!e.environmentId||!e.projectId||e.query.trim().length===0)throw Error(`Jira work item search is unavailable.`);return bn(e.environmentId).client.workItems.search({projectId:e.projectId,query:e.query.trim(),...e.limit===void 0?{}:{limit:e.limit}})},enabled:(e.enabled??!0)&&e.environmentId!==null&&e.projectId!==null&&e.query.trim().length>0,staleTime:3e4})}function Qm(e){return an({queryKey:Ym.detail(e.environmentId,e.projectId,e.key,e.fullContent??!1),queryFn:async()=>{if(!e.environmentId||!e.projectId||e.key.trim().length===0)throw Error(`Jira work item detail is unavailable.`);return bn(e.environmentId).client.workItems.get({projectId:e.projectId,key:e.key,fullContent:e.fullContent??!1})},enabled:(e.enabled??!0)&&e.environmentId!==null&&e.projectId!==null&&e.key.trim().length>0,staleTime:6e4})}var $m=new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`long`,day:`numeric`});function eh(e){let t=(0,Q.c)(70),n=l(),[r,i]=(0,Z.useState)(``),a;t[0]!==e.environmentId||t[1]!==e.projectId||t[2]!==e.workItemKey?(a=Qm({environmentId:e.environmentId,projectId:e.projectId,key:e.workItemKey,fullContent:!0}),t[0]=e.environmentId,t[1]=e.projectId,t[2]=e.workItemKey,t[3]=a):a=t[3];let s=o(a),c=e.cwd!==null,u;t[4]!==e.cwd||t[5]!==e.environmentId||t[6]!==e.workItemKey||t[7]!==c?(u=$a({environmentId:e.environmentId,cwd:e.cwd,query:e.workItemKey,limit:8,enabled:c}),t[4]=e.cwd,t[5]=e.environmentId,t[6]=e.workItemKey,t[7]=c,t[8]=u):u=t[8];let d=o(u),f;t[9]!==e.environmentId||t[10]!==e.projectId||t[11]!==e.workItemKey||t[12]!==n?(f=()=>n.invalidateQueries({queryKey:Ym.detail(e.environmentId,e.projectId,e.workItemKey,!0)}),t[9]=e.environmentId,t[10]=e.projectId,t[11]=e.workItemKey,t[12]=n,t[13]=f):f=t[13];let p=f,m;t[14]!==r||t[15]!==e.environmentId||t[16]!==e.projectId||t[17]!==e.workItemKey?(m=async()=>{if(!e.environmentId||!e.projectId||r.trim().length===0)throw Error(`Cannot add an empty Jira comment.`);return bn(e.environmentId).client.workItems.addComment({projectId:e.projectId,key:e.workItemKey,body:r.trim()})},t[14]=r,t[15]=e.environmentId,t[16]=e.projectId,t[17]=e.workItemKey,t[18]=m):m=t[18];let h;t[19]!==p||t[20]!==n?(h=()=>{i(``),p(),n.invalidateQueries({queryKey:Ym.all})},t[19]=p,t[20]=n,t[21]=h):h=t[21];let g;t[22]!==m||t[23]!==h?(g={mutationFn:m,onSuccess:h,onError:nh},t[22]=m,t[23]=h,t[24]=g):g=t[24];let _=ia(g),v;t[25]!==e.environmentId||t[26]!==e.projectId||t[27]!==e.workItemKey?(v=async t=>{if(!e.environmentId||!e.projectId)throw Error(`Cannot transition this Jira work item.`);return bn(e.environmentId).client.workItems.transition({projectId:e.projectId,key:e.workItemKey,transitionId:t})},t[25]=e.environmentId,t[26]=e.projectId,t[27]=e.workItemKey,t[28]=v):v=t[28];let y;t[29]!==p||t[30]!==n?(y=()=>{p(),n.invalidateQueries({queryKey:Ym.all})},t[29]=p,t[30]=n,t[31]=y):y=t[31];let b;t[32]!==v||t[33]!==y?(b={mutationFn:v,onSuccess:y,onError:th},t[32]=v,t[33]=y,t[34]=b):b=t[34];let x=ia(b),S=s.data;S?.linkedChangeRequests;let C,w;t[35]===S?.linkedChangeRequests?w=t[36]:(w=S?.linkedChangeRequests??[],t[35]=S?.linkedChangeRequests,t[36]=w);let T;t[37]===d.data?T=t[38]:(T=d.data??[],t[37]=d.data,t[38]=T);let E;t[39]!==e.workItemKey||t[40]!==w||t[41]!==T?(E=rh(w,T,e.workItemKey),t[39]=e.workItemKey,t[40]=w,t[41]=T,t[42]=E):E=t[42],C=E;let D=C,O;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(Xa,{className:`size-3.5`}),t[43]=O):O=t[43];let k;t[44]===e.onBack?k=t[45]:(k=(0,$.jsxs)(J,{type:`button`,size:`sm`,variant:`ghost`,onClick:e.onBack,children:[O,`Back`]}),t[44]=e.onBack,t[45]=k);let A;t[46]===S?A=t[47]:(A=S?(0,$.jsxs)(`a`,{href:S.url,target:`_blank`,rel:`noopener noreferrer`,className:`ml-auto inline-flex items-center gap-1 text-muted-foreground text-xs hover:text-foreground`,children:[(0,$.jsx)(ai,{className:`size-3`}),`View in Jira`]}):null,t[46]=S,t[47]=A);let j;t[48]!==k||t[49]!==A?(j=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-border/60 border-b py-2 pr-12 pl-4`,children:[k,A]}),t[48]=k,t[49]=A,t[50]=j):j=t[50];let M;t[51]!==S||t[52]!==s.error||t[53]!==s.isError||t[54]!==s.isLoading||t[55]!==D||t[56]!==d.isLoading||t[57]!==e.onSelectLinkedChangeRequest?(M=s.isLoading?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-4 text-muted-foreground text-sm`,children:[(0,$.jsx)(Sr,{className:`size-4`}),`Loading Jira work item…`]}):s.isError?(0,$.jsx)(`p`,{className:`px-5 py-4 text-destructive text-sm`,children:s.error instanceof Error?s.error.message:`Failed to load.`}):S?(0,$.jsx)(ih,{detail:S,linkedChangeRequests:D,linkedChangeRequestsLoading:d.isLoading,onSelectLinkedChangeRequest:e.onSelectLinkedChangeRequest}):null,t[51]=S,t[52]=s.error,t[53]=s.isError,t[54]=s.isLoading,t[55]=D,t[56]=d.isLoading,t[57]=e.onSelectLinkedChangeRequest,t[58]=M):M=t[58];let N;t[59]===M?N=t[60]:(N=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:M}),t[59]=M,t[60]=N);let P;t[61]!==_||t[62]!==r||t[63]!==S||t[64]!==x?(P=S?(0,$.jsxs)(`footer`,{className:`grid gap-3 border-border/60 border-t bg-muted/30 px-4 py-3`,children:[S.transitions.length>0?(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`mr-1 text-muted-foreground text-xs`,children:`Transition`}),S.transitions.map(e=>(0,$.jsxs)(J,{type:`button`,size:`sm`,variant:`outline`,className:`h-7`,disabled:x.isPending,onClick:()=>x.mutate(e.id),children:[x.isPending?(0,$.jsx)(Sr,{className:`size-3`}):null,e.name]},e.id))]}):null,(0,$.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row sm:items-end`,onSubmit:e=>{e.preventDefault(),!_.isPending&&r.trim().length>0&&_.mutate()},children:[(0,$.jsx)(or,{value:r,onChange:e=>i(e.currentTarget.value),placeholder:`Add a Jira comment`,className:`min-h-18 text-sm`}),(0,$.jsxs)(J,{type:`submit`,size:`sm`,className:`h-8 shrink-0`,disabled:_.isPending||r.trim().length===0,children:[_.isPending?(0,$.jsx)(Sr,{className:`size-3`}):null,`Comment`]})]})]}):null,t[61]=_,t[62]=r,t[63]=S,t[64]=x,t[65]=P):P=t[65];let F;return t[66]!==j||t[67]!==N||t[68]!==P?(F=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[j,N,P]}),t[66]=j,t[67]=N,t[68]=P,t[69]=F):F=t[69],F}function th(e){Y.add(X({type:`error`,title:`Could not transition Jira work item`,description:e instanceof Error?e.message:`The work item transition was not applied.`}))}function nh(e){Y.add(X({type:`error`,title:`Could not add Jira comment`,description:e instanceof Error?e.message:`The comment was not posted.`}))}function rh(e,t,n){let r=n.toLowerCase(),i=new Map;for(let t of e)i.set(t.number,{provider:t.provider,number:t.number,title:t.title,url:t.url,state:t.state});for(let n of t)!`${n.title} ${n.headRefName} ${n.baseRefName}`.toLowerCase().includes(r)&&e.length>0||i.set(n.number,{provider:n.provider,number:n.number,title:n.title,url:n.url,state:n.state,...n.headSha?{headSha:n.headSha}:{},...n.checkRollup?{checkRollup:n.checkRollup}:{}});return Array.from(i.values()).toSorted((e,t)=>t.number-e.number)}function ih(e){let t=(0,Q.c)(64),{detail:n}=e,r;t[0]===n.updatedAt?r=t[1]:(r=n.updatedAt&&rs(n.updatedAt)?n.updatedAt.value:Qo(new Date),t[0]=n.updatedAt,t[1]=r);let i=r,a;t[2]===n.key?a=t[3]:(a=(0,$.jsx)(`span`,{className:`font-normal text-muted-foreground`,children:n.key}),t[2]=n.key,t[3]=a);let o;t[4]!==n.title||t[5]!==a?(o=(0,$.jsxs)(`h2`,{className:`flex-1 font-heading font-semibold text-xl leading-tight`,children:[n.title,` `,a]}),t[4]=n.title,t[5]=a,t[6]=o):o=t[6];let s=n.state===`done`||n.state===`closed`?`secondary`:`outline`,c;t[7]===n.state?c=t[8]:(c=n.state.replace(`_`,` `),t[7]=n.state,t[8]=c);let l;t[9]!==s||t[10]!==c?(l=(0,$.jsx)(cs,{variant:s,children:c}),t[9]=s,t[10]=c,t[11]=l):l=t[11];let u;t[12]!==o||t[13]!==l?(u=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[o,l]}),t[12]=o,t[13]=l,t[14]=u):u=t[14];let d=n.issueType?n.issueType:`Work item`,f;t[15]===n.assignee?f=t[16]:(f=n.assignee?(0,$.jsxs)($.Fragment,{children:[` · assigned to `,n.assignee]}):null,t[15]=n.assignee,t[16]=f);let p;t[17]===n.updatedAt?p=t[18]:(p=n.updatedAt&&rs(n.updatedAt)?(0,$.jsxs)($.Fragment,{children:[` · updated `,$m.format(Xo(n.updatedAt.value))]}):null,t[17]=n.updatedAt,t[18]=p);let m;t[19]!==d||t[20]!==f||t[21]!==p?(m=(0,$.jsxs)(`p`,{className:`text-muted-foreground text-xs`,children:[d,f,p]}),t[19]=d,t[20]=f,t[21]=p,t[22]=m):m=t[22];let h;t[23]!==m||t[24]!==u?(h=(0,$.jsxs)(`header`,{className:`mb-5 space-y-2`,children:[u,m]}),t[23]=m,t[24]=u,t[25]=h):h=t[25];let g=n.reporter??`Jira`,_;t[26]!==n.description||t[27]!==i||t[28]!==g?(_=(0,$.jsx)(`li`,{children:(0,$.jsx)(ci,{author:g,body:n.description,createdAt:i,isOriginalPost:!0})}),t[26]=n.description,t[27]=i,t[28]=g,t[29]=_):_=t[29];let v;t[30]===n.comments?v=t[31]:(v=n.comments.map(oh),t[30]=n.comments,t[31]=v);let y;t[32]!==_||t[33]!==v?(y=(0,$.jsxs)(`ol`,{className:`space-y-4`,children:[_,v]}),t[32]=_,t[33]=v,t[34]=y):y=t[34];let b;t[35]!==h||t[36]!==y?(b=(0,$.jsxs)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto px-5 py-4`,children:[h,y]}),t[35]=h,t[36]=y,t[37]=b):b=t[37];let x;t[38]===n.state?x=t[39]:(x=n.state.replace(`_`,` `),t[38]=n.state,t[39]=x);let S;t[40]===x?S=t[41]:(S=(0,$.jsx)(sh,{label:`State`,value:x}),t[40]=x,t[41]=S);let C=n.assignee??`Unassigned`,w;t[42]===C?w=t[43]:(w=(0,$.jsx)(sh,{label:`Assignee`,value:C}),t[42]=C,t[43]=w);let T=n.priority??`None`,E;t[44]===T?E=t[45]:(E=(0,$.jsx)(sh,{label:`Priority`,value:T}),t[44]=T,t[45]=E);let D=n.parentKey??n.epicKey??`None`,O;t[46]===D?O=t[47]:(O=(0,$.jsx)(sh,{label:`Parent`,value:D}),t[46]=D,t[47]=O);let k;t[48]===n.labels?k=t[49]:(k=n.labels&&n.labels.length>0?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`mb-2 text-muted-foreground`,children:`Labels`}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.labels.map(ah)})]}):null,t[48]=n.labels,t[49]=k);let A;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(`div`,{className:`mb-2 text-muted-foreground`,children:`Linked PRs`}),t[50]=A):A=t[50];let j;t[51]===e?j=t[52]:(j=(0,$.jsxs)(`div`,{children:[A,e.linkedChangeRequestsLoading?(0,$.jsx)(`span`,{className:`text-muted-foreground/70 text-xs italic`,children:`Searching…`}):e.linkedChangeRequests.length>0?(0,$.jsx)(`ul`,{className:`space-y-1.5`,children:e.linkedChangeRequests.map(t=>{let n=Er(t);return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.onSelectLinkedChangeRequest?.(t.number),className:`flex w-full items-start gap-2 rounded-md border border-border/60 bg-background/60 px-2 py-1.5 text-left hover:bg-accent/50`,children:[(0,$.jsx)(Br,{className:`mt-0.5 size-3 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`span`,{className:`block truncate text-foreground text-xs`,children:[`#`,t.number,` `,t.title]}),(0,$.jsxs)(`span`,{className:`mt-1 flex items-center gap-1 text-muted-foreground text-[10px] capitalize`,children:[t.state,(0,$.jsx)(Rr,{view:n,mode:`compact`})]})]})]})},t.number)})}):(0,$.jsx)(`span`,{className:`text-muted-foreground/70 text-xs italic`,children:`None found`})]}),t[51]=e,t[52]=j);let M;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-background/60 p-3`,children:[(0,$.jsx)(Zi,{className:`mb-2 size-4 text-blue-600 dark:text-blue-300`}),(0,$.jsx)(`p`,{className:`text-muted-foreground leading-relaxed`,children:`Use transitions and comments here to keep Jira aligned while reviewing repository changes.`})]}),t[53]=M):M=t[53];let N;t[54]!==S||t[55]!==w||t[56]!==E||t[57]!==O||t[58]!==k||t[59]!==j?(N=(0,$.jsx)(`aside`,{className:`hidden w-56 shrink-0 border-border/60 border-l bg-muted/20 px-4 py-4 lg:block`,children:(0,$.jsxs)(`div`,{className:`space-y-4 text-xs`,children:[S,w,E,O,k,j,M]})}),t[54]=S,t[55]=w,t[56]=E,t[57]=O,t[58]=k,t[59]=j,t[60]=N):N=t[60];let P;return t[61]!==b||t[62]!==N?(P=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0`,children:[b,N]}),t[61]=b,t[62]=N,t[63]=P):P=t[63],P}function ah(e){return(0,$.jsx)(cs,{variant:`outline`,size:`sm`,children:e},e)}function oh(e){return(0,$.jsx)(`li`,{children:(0,$.jsx)(ci,{author:e.author,body:e.body,createdAt:e.createdAt})},`${e.author}-${Xo(e.createdAt).toISOString()}`)}function sh(e){let t=(0,Q.c)(7),n;t[0]===e.label?n=t[1]:(n=(0,$.jsx)(`div`,{className:`mb-1 text-muted-foreground`,children:e.label}),t[0]=e.label,t[1]=n);let r;t[2]===e.value?r=t[3]:(r=(0,$.jsx)(`div`,{className:`font-medium text-foreground capitalize`,children:e.value}),t[2]=e.value,t[3]=r);let i;return t[4]!==n||t[5]!==r?(i=(0,$.jsxs)(`div`,{children:[n,r]}),t[4]=n,t[5]=r,t[6]=i):i=t[6],i}var ch=[{id:`open`,label:`Open`},{id:`in_progress`,label:`In progress`},{id:`done`,label:`Done`},{id:`all`,label:`All`}],lh=new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`short`,day:`numeric`});function uh(e){return e.split(/[,\s]+/u).map(e=>e.trim().toUpperCase()).filter(Boolean)}function dh(e){return e??``}function fh(e){return{projectId:e.projectId,jiraConnectionId:e.jiraConnectionId,bitbucketConnectionId:e.existing?.bitbucketConnectionId??null,jiraCloudId:e.existing?.jiraCloudId??null,jiraSiteUrl:e.jiraSiteUrl,jiraProjectKeys:e.jiraProjectKeys,bitbucketWorkspace:e.existing?.bitbucketWorkspace??null,bitbucketRepoSlug:e.existing?.bitbucketRepoSlug??null,defaultIssueTypeName:e.existing?.defaultIssueTypeName??null,branchNameTemplate:e.existing?.branchNameTemplate??`{issueKey}-{titleSlug}`,commitMessageTemplate:e.existing?.commitMessageTemplate??`{issueKey}: {summary}`,pullRequestTitleTemplate:e.existing?.pullRequestTitleTemplate??`{issueKey}: {summary}`,smartLinkingEnabled:e.existing?.smartLinkingEnabled??!0,autoAttachWorkItems:e.existing?.autoAttachWorkItems??!0}}function ph(e){let t=(0,Q.c)(57),n=l(),r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={wait:200},t[0]=r):r=t[0];let[i]=An(e.query,r),a;t[1]===e.environmentId?a=t[2]:(a=e.environmentId===null?null:Tt(e.environmentId),t[1]=e.environmentId,t[2]=a);let s=a?.client??null,c;t[3]!==e.environmentId||t[4]!==e.projectId?(c=Ym.projectLink(e.environmentId,e.projectId),t[3]=e.environmentId,t[4]=e.projectId,t[5]=c):c=t[5];let u;t[6]!==s||t[7]!==e.projectId?(u=async()=>!s||!e.projectId?null:s.atlassian.getProjectLink({projectId:e.projectId}),t[6]=s,t[7]=e.projectId,t[8]=u):u=t[8];let d=s!==null&&e.projectId!==null,f;t[9]!==c||t[10]!==u||t[11]!==d?(f={queryKey:c,queryFn:u,enabled:d},t[9]=c,t[10]=u,t[11]=d,t[12]=f):f=t[12];let p=o(f),m;t[13]===e.environmentId?m=t[14]:(m=[`atlassian`,`connections`,e.environmentId],t[13]=e.environmentId,t[14]=m);let h=m,g;t[15]===s?g=t[16]:(g=async()=>s?s.atlassian.listConnections():[],t[15]=s,t[16]=g);let _=s!==null,v;t[17]!==h||t[18]!==g||t[19]!==_?(v={queryKey:h,queryFn:g,enabled:_},t[17]=h,t[18]=g,t[19]=_,t[20]=v):v=t[20];let y=o(v),b,x;t[21]===y.data?x=t[22]:(x=y.data??[],t[21]=y.data,t[22]=x);let S;t[23]===x?S=t[24]:(S=x.filter(mh),t[23]=x,t[24]=S),b=S;let C=b,w=p.data??null,T=w?.jiraConnectionId!==null&&w?.jiraConnectionId!==void 0&&w?.jiraSiteUrl!==null&&w?.jiraSiteUrl!==void 0&&w.jiraProjectKeys.length>0,E;t[25]!==T||t[26]!==e.environmentId||t[27]!==e.projectId||t[28]!==e.stateFilter?(E=Xm({environmentId:e.environmentId,projectId:e.projectId,state:e.stateFilter,limit:100,enabled:T}),t[25]=T,t[26]=e.environmentId,t[27]=e.projectId,t[28]=e.stateFilter,t[29]=E):E=t[29];let D=o(E),O,k;t[30]===D.data?k=t[31]:(k=D.data??[],t[30]=D.data,t[31]=k),O=k;let A=O,j;bb0:{let n;if(t[32]!==A||t[33]!==e.query){let r=e.query.trim().toLowerCase();if(!r){j=A;break bb0}n=A.filter(e=>e.key.toLowerCase().includes(r)||e.title.toLowerCase().includes(r)||(e.issueType?.toLowerCase().includes(r)??!1)),t[32]=A,t[33]=e.query,t[34]=n,t[35]=j}else n=t[34],j=t[35];j=n}let M=j,N=M.length===0&&i.trim().length>=2,P=T&&N,F;t[36]!==i||t[37]!==e.environmentId||t[38]!==e.projectId||t[39]!==P?(F=Zm({environmentId:e.environmentId,projectId:e.projectId,query:i,limit:50,enabled:P}),t[36]=i,t[37]=e.environmentId,t[38]=e.projectId,t[39]=P,t[40]=F):F=t[40];let I=o(F),L;t[41]!==M||t[42]!==N||t[43]!==I?(L=N?I.data??[]:M,t[41]=M,t[42]=N,t[43]=I,t[44]=L):L=t[44];let R=L,ee=p.isLoading||D.isLoading||I.isLoading,z=p.error??D.error??I.error,B;return t[45]!==s||t[46]!==T||t[47]!==y.isLoading||t[48]!==z||t[49]!==ee||t[50]!==R||t[51]!==C||t[52]!==D||t[53]!==w||t[54]!==e||t[55]!==n?(B=(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:T?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-border/60 border-b px-4 py-2.5`,children:[(0,$.jsxs)(`div`,{className:`relative flex-1`,children:[(0,$.jsx)(Nn,{className:`-translate-y-1/2 absolute top-1/2 left-2 size-3.5 text-muted-foreground`}),(0,$.jsx)(tr,{ref:e.searchInputRef,value:e.query,onChange:t=>e.onQueryChange(t.target.value),placeholder:`Search Jira work items by key or title…`,className:`h-8 pl-7 text-sm`})]}),(0,$.jsx)(hh,{value:e.stateFilter,onChange:e.onStateFilterChange}),(0,$.jsx)(J,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>D.refetch(),disabled:D.isFetching,"aria-label":`Refresh`,children:(0,$.jsx)(hi,{className:D.isFetching?`size-3.5 animate-spin`:`size-3.5`})})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:z?(0,$.jsx)(`p`,{className:`px-4 py-6 text-destructive text-sm`,children:z instanceof Error?z.message:`Failed to load Jira work items.`}):(0,$.jsx)(gh,{items:R,isLoading:ee,emptyText:e.query.trim().length>0?`No Jira work items match this search.`:`No Jira work items to show.`,onSelect:e.onSelect})})]}):(0,$.jsx)(_h,{environmentId:e.environmentId,projectId:e.projectId,client:s,connections:C,connectionsPending:y.isLoading,projectLink:w,onSaved:()=>{n.invalidateQueries({queryKey:Ym.projectLink(e.environmentId,e.projectId)}),n.invalidateQueries({queryKey:Ym.all})}})}),t[45]=s,t[46]=T,t[47]=y.isLoading,t[48]=z,t[49]=ee,t[50]=R,t[51]=C,t[52]=D,t[53]=w,t[54]=e,t[55]=n,t[56]=B):B=t[56],B}function mh(e){return e.status===`connected`&&e.products.includes(`jira`)}function hh(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:(n=ch.map(t=>(0,$.jsx)(`button`,{type:`button`,className:R(`h-6 rounded-sm px-2 text-xs transition`,e.value===t.id?`bg-accent text-accent-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>e.onChange(t.id),children:t.label},t.id)),t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,$.jsx)(`div`,{className:`inline-flex rounded-md border border-border/70 bg-background p-0.5`,children:n}),t[2]=n,t[3]=r),r}function gh(e){let t=(0,Q.c)(7);if(e.isLoading&&e.items.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`div`,{className:`px-4 py-8 text-center text-muted-foreground text-sm`,children:`Loading…`}),t[0]=e):e=t[0],e}if(e.items.length===0){let n;return t[1]===e.emptyText?n=t[2]:(n=(0,$.jsx)(`div`,{className:`px-4 py-8 text-center text-muted-foreground text-sm`,children:e.emptyText}),t[1]=e.emptyText,t[2]=n),n}let n;t[3]===e?n=t[4]:(n=e.items.map(t=>(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.onSelect(t),className:R(`flex w-full items-start gap-3 px-4 py-3 text-left`,`hover:bg-accent/40 focus-visible:bg-accent/60 focus-visible:outline-none`),children:[(0,$.jsx)(Zi,{className:`mt-0.5 size-4 shrink-0 text-blue-600 dark:text-blue-300`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:t.key}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium text-sm`,children:t.title}),(0,$.jsx)(cs,{variant:t.state===`done`||t.state===`closed`?`secondary`:`outline`,size:`sm`,children:t.state.replace(`_`,` `)})]}),(0,$.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1.5 text-muted-foreground text-xs`,children:[t.issueType?(0,$.jsx)(`span`,{children:t.issueType}):null,t.assignee?(0,$.jsxs)(`span`,{children:[`assigned to `,t.assignee]}):null,t.priority?(0,$.jsx)(`span`,{children:t.priority}):null,t.updatedAt&&rs(t.updatedAt)?(0,$.jsx)(`span`,{className:`ml-auto`,children:lh.format(Xo(t.updatedAt.value))}):null]})]})]})},`${t.provider}:${t.key}`)),t[3]=e,t[4]=n);let r;return t[5]===n?r=t[6]:(r=(0,$.jsx)(`ul`,{role:`listbox`,className:`divide-y divide-border/40`,children:n}),t[5]=n,t[6]=r),r}function _h(e){let t=(0,Q.c)(33),[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(``),[o,s]=(0,Z.useState)(``),c=(0,Z.useRef)(!1),l=(0,Z.useRef)(null),u;t[0]!==e.connections||t[1]!==e.projectId||t[2]!==e.projectLink?.jiraConnectionId||t[3]!==e.projectLink?.jiraProjectKeys||t[4]!==e.projectLink?.jiraSiteUrl?(u=()=>{if(l.current!==e.projectId&&(l.current=e.projectId,c.current=!1),c.current)return;let t=e.connections[0];r(dh(e.projectLink?.jiraConnectionId??t?.connectionId)),a(e.projectLink?.jiraSiteUrl??t?.baseUrl??``),s(e.projectLink?.jiraProjectKeys.join(`, `)??``)},t[0]=e.connections,t[1]=e.projectId,t[2]=e.projectLink?.jiraConnectionId,t[3]=e.projectLink?.jiraProjectKeys,t[4]=e.projectLink?.jiraSiteUrl,t[5]=u):u=t[5];let d;t[6]!==e.connections||t[7]!==e.projectId||t[8]!==e.projectLink?(d=[e.connections,e.projectId,e.projectLink],t[6]=e.connections,t[7]=e.projectId,t[8]=e.projectLink,t[9]=d):d=t[9],(0,Z.useEffect)(u,d);let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{c.current=!0},t[10]=f):f=t[10];let p=f,m;t[11]!==n||t[12]!==o||t[13]!==e.client||t[14]!==e.projectId||t[15]!==e.projectLink||t[16]!==i?(m=async()=>{if(!e.client||!e.projectId)throw Error(`No project connection is available.`);let t=n.trim(),r=uh(o);if(!t||i.trim().length===0||r.length===0)throw Error(`Select a Jira connection, site URL, and at least one project key.`);return e.client.atlassian.saveProjectLink(fh({projectId:e.projectId,existing:e.projectLink,jiraConnectionId:t,jiraSiteUrl:i.trim(),jiraProjectKeys:r}))},t[11]=n,t[12]=o,t[13]=e.client,t[14]=e.projectId,t[15]=e.projectLink,t[16]=i,t[17]=m):m=t[17];let h;t[18]===e?h=t[19]:(h=()=>{c.current=!1,e.onSaved(),Y.add(X({type:`success`,title:`Jira project linked`,description:`Work items will now load in the project explorer.`}))},t[18]=e,t[19]=h);let g;t[20]!==m||t[21]!==h?(g={mutationFn:m,onSuccess:h,onError:yh},t[20]=m,t[21]=h,t[22]=g):g=t[22];let _=ia(g),v=e.client!==null&&e.projectId!==null&&n.trim().length>0&&i.trim().length>0&&uh(o).length>0&&!_.isPending,y;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(`div`,{className:`flex size-9 items-center justify-center rounded-md border border-border/70 bg-muted/50`,children:(0,$.jsx)(Zi,{className:`size-4 text-blue-600 dark:text-blue-300`})}),t[23]=y):y=t[23];let b;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[y,(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`font-semibold text-sm`,children:`Link this project to Jira`}),(0,$.jsx)(`p`,{className:`mt-1 text-muted-foreground text-xs leading-relaxed`,children:`Save a Jira token in Source Control settings, then choose the Jira site and project keys that belong to this repository.`})]})]}),t[24]=b):b=t[24];let x;return t[25]!==v||t[26]!==n||t[27]!==o||t[28]!==e.connections||t[29]!==e.connectionsPending||t[30]!==_||t[31]!==i?(x=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-5`,children:(0,$.jsxs)(`div`,{className:`mx-auto max-w-xl space-y-4`,children:[b,e.connectionsPending?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/70 px-3 py-3 text-muted-foreground text-sm`,children:[(0,$.jsx)(Sr,{className:`size-4`}),`Loading Jira connections…`]}):e.connections.length===0?(0,$.jsx)(`div`,{className:`rounded-md border border-border/70 px-3 py-3 text-muted-foreground text-sm`,children:`No Jira token is stored yet. Add one from Settings, Source Control, Atlassian Workflow.`}):(0,$.jsxs)(`form`,{className:`grid gap-3`,onSubmit:e=>{e.preventDefault(),v&&_.mutate()},children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(na,{className:`text-xs`,children:`Jira connection`}),(0,$.jsxs)(ko,{value:n,onValueChange:e=>{typeof e==`string`&&(p(),r(e))},children:[(0,$.jsx)(bo,{size:`sm`,children:(0,$.jsx)(gi,{placeholder:`Select Jira connection`})}),(0,$.jsx)(Xn,{children:e.connections.map(vh)})]})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(na,{htmlFor:`work-item-jira-site`,className:`text-xs`,children:`Jira site URL`}),(0,$.jsx)(tr,{id:`work-item-jira-site`,size:`sm`,value:i,inputMode:`url`,onChange:e=>{p(),a(e.currentTarget.value)},placeholder:`https://your-team.atlassian.net`})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(na,{htmlFor:`work-item-jira-project-keys`,className:`text-xs`,children:`Project keys`}),(0,$.jsx)(tr,{id:`work-item-jira-project-keys`,size:`sm`,value:o,onChange:e=>{p(),s(e.currentTarget.value)},placeholder:`WEB, API`})]}),(0,$.jsxs)(J,{type:`submit`,size:`sm`,className:`h-8 justify-self-start`,disabled:!v,children:[_.isPending?(0,$.jsx)(Sr,{className:`size-3.5`}):null,`Link Jira Project`]})]})]})}),t[25]=v,t[26]=n,t[27]=o,t[28]=e.connections,t[29]=e.connectionsPending,t[30]=_,t[31]=i,t[32]=x):x=t[32],x}function vh(e){return(0,$.jsx)(di,{value:e.connectionId,children:e.label},e.connectionId)}function yh(e){Y.add(X({type:`error`,title:`Could not link Jira project`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function bh(e){let[t,n]=(0,Z.useState)(e.initialTab),[r,i]=(0,Z.useState)(``),[a,o]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(`open`),[d,f]=(0,Z.useState)(`open`),[p,m]=(0,Z.useState)(`open`),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(()=>e.memberProjects[0]?.physicalProjectKey??``),y=(0,Z.useRef)(null),b=(0,Z.useRef)(null),x=(0,Z.useRef)(null),S=(0,Z.useRef)(e.open),C=(0,Z.useRef)(e.initialTab),w=(0,Z.useMemo)(()=>e.memberProjects.map(e=>e.physicalProjectKey),[e.memberProjects]),T=w.join(`\0`),E=w[0]??``,D=(0,Z.useMemo)(()=>e.memberProjects.find(e=>e.physicalProjectKey===_)??e.memberProjects[0]??null,[e.memberProjects,_]);(0,Z.useEffect)(()=>{e.open||g(null)},[e.open]),(0,Z.useEffect)(()=>{let t=S.current,r=C.current;S.current=e.open,C.current=e.initialTab,e.open&&(!t||e.initialTab!==r)&&(n(e.initialTab),g(null),v(e=>w.includes(e)?e:E))},[E,w,e.initialTab,e.open]),(0,Z.useEffect)(()=>{e.open&&v(e=>w.includes(e)?e:E)},[E,T,w,e.open]),(0,Z.useEffect)(()=>{if(!e.open||h!==null)return;let n=window.requestAnimationFrame(()=>{(t===`issues`?y.current:t===`prs`?b.current:t===`workItems`?x.current:null)?.focus()});return()=>window.cancelAnimationFrame(n)},[e.open,t,h]);let O=(0,Z.useCallback)(e=>{g({kind:`issue`,number:e.number})},[]),k=(0,Z.useCallback)(e=>{g({kind:`pr`,number:e.number})},[]),A=(0,Z.useCallback)(e=>{g({kind:`workItem`,key:e.key})},[]),j=(0,Z.useCallback)(e=>{n(`issues`),g({kind:`issue`,number:e})},[]),M=(0,Z.useCallback)(e=>{n(`prs`),g({kind:`pr`,number:e})},[]),N=(0,Z.useCallback)(e=>{n(`workItems`),g({kind:`workItem`,key:e})},[]),P=(0,Z.useCallback)(()=>g(null),[]),F=(0,Z.useCallback)(e=>{if(!Yi({currentTarget:e.currentTarget,target:e.target})&&!Ua(e.target)){if(qa(e,`1`)){e.preventDefault(),n(`issues`),g(null);return}if(qa(e,`2`)){e.preventDefault(),n(`prs`),g(null);return}if(qa(e,`3`)){e.preventDefault(),n(`actions`),g(null);return}if((e.metaKey||e.ctrlKey)&&e.key===`4`){e.preventDefault(),n(`workItems`),g(null);return}e.key===`/`&&Ba(e)&&(e.preventDefault(),(t===`issues`?y.current:t===`prs`?b.current:t===`workItems`?x.current:null)?.focus())}},[t]),I=(0,Z.useMemo)(()=>[{id:`issues`,label:`Issues`},{id:`prs`,label:`Pull requests`},{id:`actions`,label:`Actions`},{id:`workItems`,label:`Jira`}],[]),L=t===`issues`?`Issues`:t===`prs`?`Pull requests`:t===`actions`?`Actions`:`Jira`,R=`${e.projectName} · ${L}`,ee=e.memberProjects.length>1&&D!==null,z=D?.environmentId??null,B=D?.cwd??null;return(0,$.jsx)(Zr,{open:e.open,onOpenChange:e.onOpenChange,children:(0,$.jsxs)(Kn,{className:`flex h-[92vh] max-h-[1120px] w-[96vw] max-w-[1440px] flex-col p-0 max-sm:h-[100dvh] max-sm:w-screen`,onKeyDown:F,children:[(0,$.jsxs)(`header`,{className:`flex items-center justify-between border-border/60 border-b py-3 pl-5 pr-14`,children:[(0,$.jsx)(Ti,{className:`truncate text-base`,children:R}),(0,$.jsx)(`span`,{className:`shrink-0 text-muted-foreground text-xs`,children:`⌘1 issues · ⌘2 PRs · ⌘3 Actions · ⌘4 Jira · / focus search · Esc close`})]}),ee?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-border/60 border-b px-5 py-2`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Repository`}),(0,$.jsxs)(ko,{value:_,onValueChange:e=>{typeof e==`string`&&v(e)},children:[(0,$.jsx)(bo,{size:`sm`,className:`min-w-56`,children:(0,$.jsx)(gi,{placeholder:`Select a repository`})}),(0,$.jsx)(Xn,{children:e.memberProjects.map(e=>(0,$.jsx)(di,{value:e.physicalProjectKey,children:(0,$.jsxs)(`span`,{className:`truncate`,children:[e.name,(0,$.jsxs)(`span`,{className:`ml-1 text-muted-foreground`,children:[`· `,e.environmentLabel??`Local`]})]})},e.physicalProjectKey))})]})]}):null,h===null?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)($r,{tabs:I,activeId:t,onSelect:e=>n(e)}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:t===`issues`?(0,$.jsx)(mo,{environmentId:z,cwd:B,searchInputRef:y,query:r,onQueryChange:i,stateFilter:l,onStateFilterChange:u,onSelect:O}):t===`prs`?(0,$.jsx)(Pa,{environmentId:z,cwd:B,searchInputRef:b,query:a,onQueryChange:o,stateFilter:d,onStateFilterChange:f,onSelect:k}):t===`actions`?(0,$.jsx)(Jm,{environmentId:z,cwd:B}):(0,$.jsx)(ph,{environmentId:z,projectId:D?.id??null,searchInputRef:x,query:s,onQueryChange:c,stateFilter:p,onStateFilterChange:m,onSelect:A})})]}):h.kind===`issue`?(0,$.jsx)(pr,{environmentId:z,cwd:B,issueNumber:h.number,onBack:P,onSelectLinkedChangeRequest:M}):h.kind===`pr`?(0,$.jsx)(Hr,{environmentId:z,cwd:B,pullRequestNumber:h.number,onBack:P,onSelectLinkedIssue:j,onSelectLinkedWorkItem:N}):(0,$.jsx)(eh,{environmentId:z,projectId:D?.id??null,cwd:B,workItemKey:h.key,onBack:P,onSelectLinkedChangeRequest:M})]})})}function xh(e){let t=new Map;for(let n of e.projects)t.set(V(n),Re(n,e.settings));return t}function Sh(e){let t=new Map;for(let n of e.projects){let r=Re(n,e.settings),i={...n,physicalProjectKey:V(n),environmentLabel:e.resolveEnvironmentLabel(n.environmentId)},a=t.get(r);a?a.push(i):t.set(r,[i])}let n=[],r=new Set;for(let i of e.projects){let a=Re(i,e.settings);if(r.has(a))continue;r.add(a);let o=t.get(a)??[],s=(e.primaryEnvironmentId?o.find(t=>t.environmentId===e.primaryEnvironmentId):null)??o[0];if(!s)continue;let c=e.primaryEnvironmentId!==null&&o.some(t=>t.environmentId===e.primaryEnvironmentId),l=e.primaryEnvironmentId===null?!1:o.some(t=>t.environmentId!==e.primaryEnvironmentId),u=o.filter(t=>e.primaryEnvironmentId!==null&&t.environmentId!==e.primaryEnvironmentId).flatMap(e=>e.environmentLabel?[e.environmentLabel]:[]).filter((e,t,n)=>n.indexOf(e)===t);n.push({...s,projectKey:a,displayName:o.length>1?Se({representative:s,members:o}):s.name,groupedProjectCount:o.length,environmentPresence:c&&l?`mixed`:l?`remote-only`:`local-only`,memberProjects:o,memberProjectRefs:o.map(e=>Zo(e.environmentId,e.id)),remoteEnvironmentLabels:u})}return n}var Ch=3e3;function wh(e){return e.startsWith(`v`)?e:`v${e}`}function Th(e,t){if(!e)return t;let n=se(t.driver);return t.instanceId===n?t:e.instanceId===n?e:t.checkedAt.localeCompare(e.checkedAt)>=0?t:e}function Eh(e){let t=new Map;for(let n of e)t.set(n.driver,Th(t.get(n.driver),n));return[...t.values()]}function Dh(e){let t=new Map;for(let n of e){let e=t.get(n.instanceId);(!e||n.checkedAt.localeCompare(e.checkedAt)>=0)&&t.set(n.instanceId,n)}return[...t.values()]}function Oh(e){let t=Tn[e.driver]??e.driver;return e.version?`${t} updated: ${wh(e.version)}`:`${t} updated`}function kh(e){return e===1?`New sessions will use the updated provider.`:`New sessions will use the updated providers.`}function Ah(e){let t=Tn[e.driver]??e.driver,n=e.versionAdvisory?.latestVersion;return n?`${t} ${wh(n)} update failed`:`${t} update failed`}function jh(e){return e.enabled&&e.versionAdvisory?.status===`behind_latest`&&e.versionAdvisory.latestVersion!==null}function Mh(e){return e.updateState?.status===`queued`||e.updateState?.status===`running`}function Nh(e){return Eh(e.filter(jh))}function Ph(e,t){if(e.versionAdvisory.canUpdate!==!0||e.versionAdvisory.updateCommand===null)return!1;let n=t.filter(t=>t.driver===e.driver);if(n.length===0)return!1;let r=new Set;for(let e of n){if(!jh(e))continue;let t=e.versionAdvisory;if(!t||t.canUpdate!==!0||t.updateCommand===null)return!1;r.add(t.updateCommand)}return r.size===1}function Fh(e,t){return!Mh(e)&&Ph(e,t)}function Ih(e){let t=Eh(e).map(e=>{let t=e.versionAdvisory;return[e.driver,t.latestVersion].join(`:`)}).toSorted();return t.length>0?t.join(`|`):null}function Lh(e){let t=e.map(e=>Tn[e.driver]??e.driver);return t.length<=2?t.join(` and `):`${t.slice(0,-1).join(`, `)}, and ${t[t.length-1]}`}function Rh(e){return{phase:`initial`,type:`warning`,title:Jh(e.updateProviders),description:e.oneClickProviders.length>0?`Install the update now or review provider settings.`:`${Lh(e.updateProviders)} can be updated from provider settings.`}}function zh(e){return{phase:`running`,type:`loading`,title:e===1?`Updating provider`:`Updating providers`,description:`Running provider update command.`}}function Bh(e,t){return{phase:`failed`,type:`error`,title:e===1?`Provider update failed`:`Provider updates failed`,description:t}}function Vh(e){let t=Eh(e.providers),n=t.filter(e=>e.updateState?.status===`failed`);if(n.length>0)return{phase:`failed`,type:`error`,title:n.length===1?`Provider update failed`:`Provider updates failed`,description:Yh(n)};let r=t.filter(e=>e.updateState?.status===`unchanged`);return r.length>0?{phase:`unchanged`,type:`warning`,title:r.length===1?`Provider still needs an update`:`Providers still need updates`,description:`${Lh(r)} ${r.length===1?`still appears`:`still appear`} outdated. Check provider settings for details.`}:t.some(Mh)?zh(e.providerCount):t.length>=e.providerCount&&t.every(e=>e.updateState?.status===`succeeded`||!jh(e))?{phase:`succeeded`,type:`success`,title:e.providerCount===1?`Provider updated`:`Provider updates finished`,description:kh(e.providerCount),dismissAfterVisibleMs:Ch}:zh(e.providerCount)}function Hh(e){let t=[];for(let n of e.results)if(n.status===`fulfilled`)for(let r of n.value.providers)e.providerInstanceIds.has(r.instanceId)&&t.push(r);return Dh(t)}function Uh(e){let t=e.find(e=>e.status===`rejected`);return t?t.reason instanceof Error?t.reason.message:`Provider update failed.`:null}function Wh(e){return e.updateState?.finishedAt??null}function Gh(e,t){let n=e.updateState?.status;if(n!==`failed`&&n!==`unchanged`&&n!==`succeeded`)return!1;if(t===void 0)return!0;let r=Wh(e);return r!==null&&r>=t}function Kh(e){return e.reduce((e,t)=>{let n=Wh(t);return n===null?e:e===null||n>e?n:e},null)}function qh(e,t){let n=Eh(e),r=n.filter(Mh);if(r.length>0){let e=r[0],t=Tn[e.driver]??e.driver;return{key:`loading:${r.map(e=>`${e.driver}:${e.updateState?.status??`idle`}`).toSorted().join(`|`)}`,tone:`loading`,title:r.length===1?`Updating ${t}`:`Updating ${r.length} providers`,description:r.length===1?`${Lh(r)} update in progress.`:`${Lh(r)} updates are in progress.`}}let i=n.filter(e=>Gh(e,t?.visibleAfterIso)),a=[],o=i.filter(e=>e.updateState?.status===`failed`);if(o.length>0){let e=o[0];a.push({key:`failed:${o.map(e=>`${e.driver}:${e.updateState?.finishedAt??`pending`}:${e.updateState?.message??``}`).toSorted().join(`|`)}`,tone:`error`,title:o.length===1?Ah(e):`${o.length} provider updates failed`,description:Yh(o),dismissible:!0})}let s=i.filter(e=>e.updateState?.status===`unchanged`);if(s.length>0){let e=s[0],t=Tn[e.driver]??e.driver;a.push({key:`unchanged:${s.map(e=>`${e.driver}:${e.updateState?.finishedAt??`pending`}:${e.updateState?.message??``}`).toSorted().join(`|`)}`,tone:`warning`,title:s.length===1?`${t} still needs an update`:`${s.length} providers still need updates`,description:`${Lh(s)} ${s.length===1?`still appears`:`still appear`} outdated. Review provider settings for details.`,dismissible:!0})}let c=i.filter(e=>e.updateState?.status===`succeeded`);if(c.length>0){let e=c[0];a.push({key:`succeeded:${c.map(e=>`${e.driver}:${e.updateState?.finishedAt??`pending`}:${e.updateState?.message??``}`).toSorted().join(`|`)}`,tone:`success`,title:c.length===1?Oh(e):`${c.length} providers updated`,description:kh(c.length),dismissAfterVisibleMs:Ch})}return a.toSorted((e,t)=>{let n=e.tone===`error`?o:e.tone===`warning`?s:c,r=t.tone===`error`?o:t.tone===`warning`?s:c,i=Kh(n)??``;return(Kh(r)??``).localeCompare(i)}).find(e=>!t?.dismissedKeys?.has(e.key))??null}function Jh(e){if(e.length===1){let t=e[0];return`Update Available: ${Tn[t.driver]??t.driver} ${wh(t.versionAdvisory.latestVersion)}`}return`Updates Available: ${e.length} providers`}function Yh(e){if(e.length===1){let t=e[0];if(t.updateState?.message)return t.updateState.message}return`${Lh(e)} failed to update. Check provider settings for details.`}var Xh={loading:`bg-primary/15 text-primary group-has-[button.provider-update-main:hover]/provider-update:bg-primary/22`,success:`bg-success/12 text-success group-has-[button.provider-update-main:hover]/provider-update:bg-success/18`,warning:`bg-warning/12 text-warning group-has-[button.provider-update-main:hover]/provider-update:bg-warning/18`,error:`bg-destructive/12 text-destructive group-has-[button.provider-update-main:hover]/provider-update:bg-destructive/18`},Zh={success:`bg-success/18`,warning:`bg-warning/14`,error:`bg-destructive/14`};function Qh(e){return e.reduce((e,t)=>e===void 0||t.checkedAt>e?t.checkedAt:e,void 0)}function $h(){let e=(0,Q.c)(62),t=Mr(tg),n=Le(),[r,i]=(0,Z.useState)(eg),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(),h;e[0]!==n||e[1]!==p?(h=p??Qh(n),e[0]=n,e[1]=p,e[2]=h):h=e[2];let g=h,_;e[3]!==r||e[4]!==g||e[5]!==n?(_=qh(n,{...g===void 0?{}:{visibleAfterIso:g},dismissedKeys:r}),e[3]=r,e[4]=g,e[5]=n,e[6]=_):_=e[6];let v=_,y,b;e[7]!==g||e[8]!==p?(y=()=>{p===void 0&&g!==void 0&&m(g)},b=[g,p],e[7]=g,e[8]=p,e[9]=y,e[10]=b):(y=e[9],b=e[10]),(0,Z.useEffect)(y,b);let x;e[11]===t?x=e[12]:(x=()=>{t(`providers`)},e[11]=t,e[12]=x);let S=x,C=a??v,w=C?.dismissAfterVisibleMs,T=C?.key??null,E=w!==void 0&&C?.tone!==`loading`&&l!==T,D;e[13]===l?D=e[14]:(D=(e,t,n)=>{l!==e&&(c(t),u(e),f(n??null))},e[13]=l,e[14]=D);let O=D,k,A;e[15]!==l||e[16]!==a||e[17]!==O||e[18]!==v?(k=()=>{if(l===null){if(!a){v&&o(v);return}if(!v){O(a.key,null);return}if(v.key!==a.key){O(a.key,v);return}}},A=[l,a,O,v],e[15]=l,e[16]=a,e[17]=O,e[18]=v,e[19]=k,e[20]=A):(k=e[19],A=e[20]),(0,Z.useEffect)(k,A);let j,M;if(e[21]!==w||e[22]!==l||e[23]!==O||e[24]!==T?(j=()=>{if(!w||!T||l===T)return;let e=window.setTimeout(()=>{O(T,null,T)},w);return()=>window.clearTimeout(e)},M=[w,l,O,T],e[21]=w,e[22]=l,e[23]=O,e[24]=T,e[25]=j,e[26]=M):(j=e[25],M=e[26]),(0,Z.useEffect)(j,M),!C)return null;let N=`group/provider-update relative flex h-7 w-full items-center overflow-hidden rounded-lg text-xs font-medium transition-[opacity,transform] duration-180 ease-[cubic-bezier(0.22,1,0.36,1)] ${Xh[C.tone]} ${l===C.key?`pointer-events-none translate-y-1.5 opacity-0`:`translate-y-0 opacity-100`}`,P;e[27]!==d||e[28]!==C||e[29]!==l||e[30]!==s?(P=e=>{e.target===e.currentTarget&&(!C||l!==C.key||(d===C.key&&i(e=>new Set(e).add(C.key)),o(s),c(null),u(null),f(null)))},e[27]=d,e[28]=C,e[29]=l,e[30]=s,e[31]=P):P=e[31];let F;e[32]!==w||e[33]!==C.key||e[34]!==C.tone||e[35]!==E?(F=E?(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`provider-update-pill-progress pointer-events-none absolute inset-y-0 left-0 w-full origin-left border-r border-current/15 shadow-[inset_0_1px_0_rgb(255_255_255_/_0.08)] ${Zh[C.tone]}`,style:{"--provider-update-pill-dismiss-ms":`${w}ms`}},C.key):null,e[32]=w,e[33]=C.key,e[34]=C.tone,e[35]=E,e[36]=F):F=e[36];let I;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0 rounded-lg transition-colors`}),e[37]=I):I=e[37];let L;e[38]===C.tone?L=e[39]:(L=C.tone===`loading`?(0,$.jsx)(ka,{className:`size-3.5 animate-spin`}):C.tone===`success`?(0,$.jsx)(hr,{className:`size-3.5`}):C.tone===`error`?(0,$.jsx)(fs,{className:`size-3.5`}):(0,$.jsx)(gc,{className:`size-3.5`}),e[38]=C.tone,e[39]=L);let R;e[40]===C.title?R=e[41]:(R=(0,$.jsx)(`span`,{children:C.title}),e[40]=C.title,e[41]=R);let ee;e[42]!==C.description||e[43]!==S||e[44]!==L||e[45]!==R?(ee=(0,$.jsx)(me,{render:(0,$.jsxs)(`button`,{type:`button`,"aria-label":C.description,className:`provider-update-main relative z-[1] flex h-full flex-1 items-center gap-2 px-2 text-left`,onClick:S,children:[L,R]})}),e[42]=C.description,e[43]=S,e[44]=L,e[45]=R,e[46]=ee):ee=e[46];let z;e[47]===C.description?z=e[48]:(z=(0,$.jsx)(ne,{side:`top`,children:C.description}),e[47]=C.description,e[48]=z);let B;e[49]!==ee||e[50]!==z?(B=(0,$.jsxs)(Ee,{children:[ee,z]}),e[49]=ee,e[50]=z,e[51]=B):B=e[51];let V;e[52]!==C.dismissible||e[53]!==C.key||e[54]!==O?(V=C.dismissible&&(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":`Dismiss provider update notice`,className:`relative z-[1] mr-1 inline-flex size-5 items-center justify-center rounded-md opacity-70 transition-opacity hover:opacity-100`,onClick:()=>O(C.key,null,C.key),children:(0,$.jsx)(En,{className:`size-3.5`})})}),(0,$.jsx)(ne,{side:`top`,children:`Dismiss until provider status changes`})]}),e[52]=C.dismissible,e[53]=C.key,e[54]=O,e[55]=V):V=e[55];let H;return e[56]!==N||e[57]!==P||e[58]!==F||e[59]!==B||e[60]!==V?(H=(0,$.jsxs)(`div`,{className:N,onTransitionEnd:P,children:[F,I,B,V]}),e[56]=N,e[57]=P,e[58]=F,e[59]=B,e[60]=V,e[61]=H):H=e[61],H}function eg(){return new Set}function tg(e){return e.openSettings}var ng=6;function rg(e){e.stopPropagation()}var ig={updated_at:`Last user message`,created_at:`Created at`,manual:`Manual`},ag={updated_at:`Last user message`,created_at:`Created at`},og={duration:180,easing:`ease-out`},sg=new Map,cg={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`},lg=qf;function ug(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function dg(e){switch(e){case`repository`:return`Projects from the same repository share one sidebar row.`;case`repository_path`:return`Projects group only when both the repository and repo-relative path match.`;case`separate`:return`Every project path gets its own sidebar row.`}}function fg(e){for(let[t]of e)t.isConnected||e.delete(t)}function pg(e,t){fg(e);for(let n of e.values())t?n.enable():n.disable()}function mg(e,t,n){if(t===null)return;fg(e);let r=e.get(t);if(r===void 0){if(!n)return;r=Rl(t,og),e.set(t,r)}n?r.enable():r.disable()}function hg(e){if(e.threadJumpCommandByKey.size===0)return sg;let t={platform:e.platform,context:{terminalFocus:!1,terminalOpen:e.terminalOpen}},n=new Map;for(let[r,i]of e.threadJumpCommandByKey){let a=xa(e.keybindings,i,t);a&&n.set(r,a)}return n.size>0?n:sg}var gg=(0,Z.memo)(function(e){let t=(0,Q.c)(4);if(e.gitStatus!==void 0){let n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(vg,{...e,gitStatus:e.gitStatus}),t[0]=e,t[1]=n),n}let n;return t[2]===e?n=t[3]:(n=(0,$.jsx)(_g,{...e}),t[2]=e,t[3]=n),n});function _g(e){let t=(0,Q.c)(9),{thread:n}=e,r,i;t[0]!==n.environmentId||t[1]!==n.projectId?(i=e=>It(e,Zo(n.environmentId,n.projectId))?.cwd??null,t[0]=n.environmentId,t[1]=n.projectId,t[2]=i):i=t[2],r=i;let a=qe(r),o=n.worktreePath??a??e.projectCwd,s=n.branch==null?null:o,c;t[3]!==s||t[4]!==n.environmentId?(c={environmentId:n.environmentId,cwd:s},t[3]=s,t[4]=n.environmentId,t[5]=c):c=t[5];let l=sn(c),u;return t[6]!==l||t[7]!==e?(u=(0,$.jsx)(vg,{...e,gitStatus:l}),t[6]=l,t[7]=e,t[8]=u):u=t[8],u}var vg=(0,Z.memo)(function(e){let{orderedProjectThreadKeys:t,isActive:n,jumpLabel:r,appSettingsConfirmThreadArchive:i,renamingThreadKey:a,renamingTitle:o,setRenamingTitle:s,renamingInputRef:c,renamingCommittedRef:l,confirmingArchiveThreadKey:u,setConfirmingArchiveThreadKey:d,confirmArchiveButtonRefs:f,handleThreadClick:p,navigateToThread:m,navigateToDraft:h,handleMultiSelectContextMenu:g,handleThreadContextMenu:_,closeThread:v,clearSelection:y,commitRename:b,cancelRename:x,attemptArchiveThread:S,openPrLink:C,thread:w}=e,T=e.gitStatus,E=Io(w.environmentId,w.id),D=zo(E),O=w.draftId??null,k=be(e=>e.threadLastVisitedAtById[D]),A=Fi(e=>e.selectedThreadKeys.has(D)),j=Fi(e=>e.selectedThreadKeys.size>0),M=B(e=>W(e.terminalStateByThreadKey,E).runningTerminalIds),N=Yo(),P=N!==null&&w.environmentId!==N,F=Ct(e=>e.byId[w.environmentId]?.descriptor?.label??null),I=vt(e=>e.byId[w.environmentId]?.label??null),L=P?F??I??`Remote`:null,ee=n||A,z=w.session?.status===`running`&&w.session.activeTurnId!=null,V=Lr({thread:{...w,lastVisitedAt:k}}),H=Rc(T?Bc(w.branch,T.data):null,T?.data?.sourceControlProvider),U=Vc(M),G=u===D&&!z,te=!O&&_i(w),re=e.isTreeChild&&!z,ie=G?`pointer-events-none opacity-0`:z?`pointer-events-none`:`pointer-events-none transition-opacity duration-150 max-sm:pr-10 group-hover/menu-sub-item:opacity-0 group-focus-within/menu-sub-item:opacity-0`,K=(0,Z.useCallback)(()=>{d(e=>e===D?null:e)},[d,D]),ae=(0,Z.useCallback)(()=>{K()},[K]),oe=(0,Z.useCallback)(e=>{let t=e.currentTarget;requestAnimationFrame(()=>{t.contains(document.activeElement)||K()})},[K]),se=(0,Z.useCallback)(e=>{if(O){if((Ce(navigator.platform)?e.metaKey:e.ctrlKey)||e.shiftKey){e.preventDefault();return}h(O,E);return}p(e,E,t)},[O,p,h,t,E]),ce=(0,Z.useCallback)(e=>{if(!(e.key!==`Enter`&&e.key!==` `)){if(e.preventDefault(),O){h(O,E);return}m(E)}},[O,h,m,E]),q=(0,Z.useCallback)(e=>{if(e.preventDefault(),O){j&&y();return}if(j&&A){g({x:e.clientX,y:e.clientY});return}j&&y(),_(E,{x:e.clientX,y:e.clientY})},[y,g,_,O,j,A,E]),le=(0,Z.useCallback)(e=>{H&&C(e,H.url)},[C,H]),ue=(0,Z.useCallback)(e=>{e&&c.current!==e&&(c.current=e,e.focus(),e.select())},[c]),de=(0,Z.useCallback)(e=>{s(e.target.value)},[s]),fe=(0,Z.useCallback)(e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),l.current=!0,b(E,o,w.title)):e.key===`Escape`&&(e.preventDefault(),l.current=!0,x())},[x,b,l,o,w.title,E]),pe=(0,Z.useCallback)(()=>{l.current||b(E,o,w.title)},[b,l,o,w.title,E]),he=(0,Z.useCallback)(e=>{e.stopPropagation()},[]),ge=(0,Z.useCallback)(e=>{e?f.current.set(D,e):f.current.delete(D)},[f,D]),_e=(0,Z.useCallback)(e=>{e.stopPropagation()},[]),ve=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),K(),S(E)},[S,K,E]),ye=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),d(D),requestAnimationFrame(()=>{f.current.get(D)?.focus()})},[f,d,D]),xe=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),S(E)},[S,E]),Se=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),v(w)},[v,w]),we=(0,Z.useMemo)(()=>(0,$.jsx)(`div`,{role:`button`,tabIndex:0}),[]);return(0,$.jsx)(ta,{className:R(`w-full`,e.isTreeChild&&`pl-5 before:absolute before:top-0 before:bottom-0 before:left-2 before:w-px before:bg-sidebar-border/70 after:absolute after:left-2 after:top-1/2 after:h-px after:w-3 after:bg-sidebar-border/70`),"data-thread-item":!0,onMouseLeave:ae,onBlurCapture:oe,children:(0,$.jsxs)(ao,{render:we,size:`sm`,isActive:n,"data-testid":`thread-row-${w.id}`,className:`${Tr({isActive:n,isSelected:A})} relative isolate`,onClick:se,onKeyDown:ce,onContextMenu:q,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-left`,children:[H&&(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`button`,{type:`button`,"aria-label":H.tooltip,className:`inline-flex items-center justify-center ${H.colorClass} cursor-pointer rounded-sm outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:le,children:(0,$.jsx)(zc,{className:`size-3`})})}),(0,$.jsx)(ne,{side:`top`,children:H.tooltip})]}),V&&(0,$.jsx)(Hc,{status:V}),a===D?(0,$.jsx)(`input`,{ref:ue,className:`min-w-0 flex-1 truncate text-base sm:text-xs bg-transparent outline-none border border-ring rounded px-0.5`,value:o,onChange:de,onKeyDown:fe,onBlur:pe,onClick:he}):(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs`,"data-testid":`thread-title-${w.id}`,children:w.title})}),(0,$.jsx)(ne,{side:`top`,className:`max-w-80 whitespace-normal leading-tight`,children:w.title})]})]}),(0,$.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[U&&(0,$.jsx)(`span`,{role:`img`,"aria-label":U.label,title:U.label,className:`inline-flex items-center justify-center ${U.colorClass}`,children:(0,$.jsx)(wo,{className:`size-3 ${U.pulse?`animate-pulse`:``}`})}),(0,$.jsxs)(`div`,{className:`flex min-w-12 justify-end ${P?`max-sm:min-w-24`:`max-sm:min-w-20`}`,children:[G?(0,$.jsx)(`button`,{ref:ge,type:`button`,"data-thread-selection-safe":!0,"data-testid":`thread-archive-confirm-${w.id}`,"aria-label":`Confirm archive ${w.title}`,className:`absolute top-1/2 right-1 inline-flex h-5 -translate-y-1/2 cursor-pointer items-center rounded-full bg-destructive/12 px-2 text-[10px] font-medium text-destructive transition-colors hover:bg-destructive/18 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-destructive/40`,onPointerDown:_e,onClick:ve,children:`Confirm`}):re||te&&!z?(0,$.jsxs)(`div`,{className:`pointer-events-none absolute top-1/2 right-1 flex -translate-y-1/2 items-center gap-0.5 opacity-0 transition-opacity duration-150 max-sm:pointer-events-auto max-sm:opacity-100 group-hover/menu-sub-item:pointer-events-auto group-hover/menu-sub-item:opacity-100 group-focus-within/menu-sub-item:pointer-events-auto group-focus-within/menu-sub-item:opacity-100`,children:[re?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`button`,{type:`button`,"data-thread-selection-safe":!0,"data-testid":`thread-close-${w.id}`,"aria-label":`Close ${w.title}`,className:`inline-flex size-5 cursor-pointer items-center justify-center text-muted-foreground/60 transition-colors hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onPointerDown:_e,onClick:Se,children:(0,$.jsx)(En,{className:`size-3.5`})})}),(0,$.jsx)(ne,{side:`top`,children:`Close`})]}):null,te&&!z&&i?(0,$.jsx)(`button`,{type:`button`,"data-thread-selection-safe":!0,"data-testid":`thread-archive-${w.id}`,"aria-label":`Archive ${w.title}`,className:`inline-flex size-5 cursor-pointer items-center justify-center text-muted-foreground/60 transition-colors hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onPointerDown:_e,onClick:ye,children:(0,$.jsx)(ac,{className:`size-3.5`})}):null,te&&!z&&!i?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`button`,{type:`button`,"data-thread-selection-safe":!0,"data-testid":`thread-archive-${w.id}`,"aria-label":`Archive ${w.title}`,className:`inline-flex size-5 cursor-pointer items-center justify-center text-muted-foreground/60 transition-colors hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onPointerDown:_e,onClick:xe,children:(0,$.jsx)(ac,{className:`size-3.5`})})}),(0,$.jsx)(ne,{side:`top`,children:`Archive`})]}):null]}):null,(0,$.jsx)(`span`,{className:ie,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[P&&(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`span`,{"aria-label":L??`Remote`,className:`inline-flex h-5 items-center justify-center`}),children:(0,$.jsx)(wi,{className:`block size-3 text-muted-foreground/60`})}),(0,$.jsx)(ne,{side:`top`,children:L})]}),r?(0,$.jsx)(`span`,{className:`inline-flex h-5 items-center rounded-full border border-border/80 bg-background/90 px-1.5 font-mono text-[10px] font-medium tracking-tight text-foreground shadow-sm`,title:r,children:r}):(0,$.jsx)(`span`,{className:`text-[10px] ${ee?`text-foreground/72 dark:text-foreground/82`:`text-muted-foreground/40`}`,children:Mn(w.latestUserMessageAt??w.updatedAt??w.createdAt)})]})})]})]})]})})}),yg=(0,Z.memo)(function(e){let t=(0,Q.c)(51),{projectKey:n,projectExpanded:r,hasOverflowingThreads:i,hiddenThreadStatus:a,orderedProjectThreadKeys:o,renderedThreads:s,showEmptyThreadState:c,shouldShowThreadPanel:l,isThreadListExpanded:u,projectCwd:d,activeRouteThreadKey:f,threadJumpLabelByKey:p,appSettingsConfirmThreadArchive:m,renamingThreadKey:h,renamingTitle:g,setRenamingTitle:_,renamingInputRef:v,renamingCommittedRef:y,confirmingArchiveThreadKey:b,setConfirmingArchiveThreadKey:x,confirmArchiveButtonRefs:S,attachThreadListAutoAnimateRef:C,handleThreadClick:w,navigateToThread:T,navigateToDraft:E,handleMultiSelectContextMenu:D,handleThreadContextMenu:O,closeThread:k,clearSelection:A,commitRename:j,cancelRename:M,attemptArchiveThread:N,openPrLink:P,expandThreadListForProject:F,collapseThreadListForProject:I}=e,L,R;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(`button`,{type:`button`}),t[0]=R):R=t[0],L=R;let ee=L,z,B;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(`button`,{type:`button`}),t[1]=B):B=t[1],z=B;let V=z,H;t[2]!==l||t[3]!==c?(H=l&&c?(0,$.jsx)(ta,{className:`w-full`,"data-thread-selection-safe":!0,children:(0,$.jsx)(`div`,{"data-thread-selection-safe":!0,className:`flex h-6 w-full translate-x-0 items-center px-2 text-left text-[10px] text-muted-foreground/60`,children:(0,$.jsx)(`span`,{children:`No threads yet`})})}):null,t[2]=l,t[3]=c,t[4]=H):H=t[4];let U;t[5]!==f||t[6]!==m||t[7]!==N||t[8]!==M||t[9]!==A||t[10]!==k||t[11]!==j||t[12]!==S||t[13]!==b||t[14]!==D||t[15]!==w||t[16]!==O||t[17]!==E||t[18]!==T||t[19]!==P||t[20]!==o||t[21]!==d||t[22]!==y||t[23]!==v||t[24]!==h||t[25]!==g||t[26]!==s||t[27]!==x||t[28]!==_||t[29]!==l||t[30]!==p?(U=l&&s.map(e=>{let t=zo(Io(e.environmentId,e.id));return(0,$.jsx)(gg,{thread:e,projectCwd:d,orderedProjectThreadKeys:o,isActive:f===t,jumpLabel:p.get(t)??null,appSettingsConfirmThreadArchive:m,renamingThreadKey:h,renamingTitle:g,setRenamingTitle:_,renamingInputRef:v,renamingCommittedRef:y,confirmingArchiveThreadKey:b,setConfirmingArchiveThreadKey:x,confirmArchiveButtonRefs:S,handleThreadClick:w,navigateToThread:T,navigateToDraft:E,handleMultiSelectContextMenu:D,handleThreadContextMenu:O,closeThread:k,clearSelection:A,commitRename:j,cancelRename:M,attemptArchiveThread:N,openPrLink:P},t)}),t[5]=f,t[6]=m,t[7]=N,t[8]=M,t[9]=A,t[10]=k,t[11]=j,t[12]=S,t[13]=b,t[14]=D,t[15]=w,t[16]=O,t[17]=E,t[18]=T,t[19]=P,t[20]=o,t[21]=d,t[22]=y,t[23]=v,t[24]=h,t[25]=g,t[26]=s,t[27]=x,t[28]=_,t[29]=l,t[30]=p,t[31]=U):U=t[31];let W;t[32]!==F||t[33]!==i||t[34]!==a||t[35]!==u||t[36]!==r||t[37]!==n?(W=r&&i&&!u&&(0,$.jsx)(ta,{className:`w-full`,children:(0,$.jsx)(ao,{render:ee,"data-thread-selection-safe":!0,size:`sm`,className:`h-6 w-full translate-x-0 justify-start px-2 text-left text-[10px] text-muted-foreground/60 hover:bg-accent hover:text-muted-foreground/80`,onClick:()=>{F(n)},children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[a&&(0,$.jsx)(Hc,{status:a,compact:!0}),(0,$.jsx)(`span`,{children:`Show more`})]})})}),t[32]=F,t[33]=i,t[34]=a,t[35]=u,t[36]=r,t[37]=n,t[38]=W):W=t[38];let G;t[39]!==I||t[40]!==i||t[41]!==u||t[42]!==r||t[43]!==n?(G=r&&i&&u&&(0,$.jsx)(ta,{className:`w-full`,children:(0,$.jsx)(ao,{render:V,"data-thread-selection-safe":!0,size:`sm`,className:`h-6 w-full translate-x-0 justify-start px-2 text-left text-[10px] text-muted-foreground/60 hover:bg-accent hover:text-muted-foreground/80`,onClick:()=>{I(n)},children:(0,$.jsx)(`span`,{children:`Show less`})})}),t[39]=I,t[40]=i,t[41]=u,t[42]=r,t[43]=n,t[44]=G):G=t[44];let te;return t[45]!==C||t[46]!==H||t[47]!==U||t[48]!==W||t[49]!==G?(te=(0,$.jsxs)(Ha,{ref:C,className:`mx-1 my-0 w-full translate-x-0 gap-0.5 overflow-hidden px-1.5 py-0`,children:[H,U,W,G]}),t[45]=C,t[46]=H,t[47]=U,t[48]=W,t[49]=G,t[50]=te):te=t[50],te});function bg(e){let t=(0,Q.c)(9);if(e.issueCount===0&&e.pullRequestCount===0)return null;let n;t[0]!==e.issueCount||t[1]!==e.onIssuesClick?(n=e.issueCount>0?(0,$.jsx)(xg,{count:e.issueCount,label:`Open issues`,tone:`issues`,icon:(0,$.jsx)(bi,{className:`size-2.5`}),onClick:e.onIssuesClick}):null,t[0]=e.issueCount,t[1]=e.onIssuesClick,t[2]=n):n=t[2];let r;t[3]!==e.onPullRequestsClick||t[4]!==e.pullRequestCount?(r=e.pullRequestCount>0?(0,$.jsx)(xg,{count:e.pullRequestCount,label:`Open pull requests`,tone:`pullRequests`,icon:(0,$.jsx)(Br,{className:`size-2.5`}),onClick:e.onPullRequestsClick}):null,t[3]=e.onPullRequestsClick,t[4]=e.pullRequestCount,t[5]=r):r=t[5];let i;return t[6]!==n||t[7]!==r?(i=(0,$.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1`,children:[n,r]}),t[6]=n,t[7]=r,t[8]=i):i=t[8],i}function xg(e){let t=(0,Q.c)(30),n=e.tone===`issues`?`border-emerald-500/16 bg-emerald-500/10 text-emerald-500 dark:text-emerald-400`:`border-blue-500/16 bg-blue-500/10 text-blue-500 dark:text-blue-400`,r=e.tone===`issues`?`hover:bg-emerald-500/20`:`hover:bg-blue-500/20`,i=`${e.label}: ${e.count}`,a=`View ${e.count} ${e.tone===`issues`?`open issues`:`open pull requests`}`;if(e.onClick){let o;t[0]===e?o=t[1]:(o=t=>{t.preventDefault(),t.stopPropagation(),e.onClick?.()},t[0]=e,t[1]=o);let s=o,c;t[2]===e?c=t[3]:(c=t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),t.stopPropagation(),e.onClick?.())},t[2]=e,t[3]=c);let l=c,u;t[4]!==n||t[5]!==r?(u=R(`inline-flex h-4 shrink-0 items-center justify-center gap-0.5 rounded-sm border px-1 text-[9px] font-semibold tabular-nums leading-none`,n,r,`cursor-pointer transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`),t[4]=n,t[5]=r,t[6]=u):u=t[6];let d=e.icon,f;t[7]===e.count?f=t[8]:(f=Sg(e.count),t[7]=e.count,t[8]=f);let p;t[9]===f?p=t[10]:(p=(0,$.jsx)(`span`,{children:f}),t[9]=f,t[10]=p);let m;return t[11]!==a||t[12]!==s||t[13]!==l||t[14]!==e.icon||t[15]!==i||t[16]!==u||t[17]!==p?(m=(0,$.jsxs)(`span`,{role:`button`,tabIndex:0,className:u,title:i,"aria-label":a,onClick:s,onKeyDown:l,onPointerDown:rg,onPointerDownCapture:rg,children:[d,p]}),t[11]=a,t[12]=s,t[13]=l,t[14]=e.icon,t[15]=i,t[16]=u,t[17]=p,t[18]=m):m=t[18],m}let o;t[19]===n?o=t[20]:(o=R(`inline-flex h-4 shrink-0 items-center justify-center gap-0.5 rounded-sm border px-1 text-[9px] font-semibold tabular-nums leading-none`,n),t[19]=n,t[20]=o);let s=e.icon,c;t[21]===e.count?c=t[22]:(c=Sg(e.count),t[21]=e.count,t[22]=c);let l;t[23]===c?l=t[24]:(l=(0,$.jsx)(`span`,{children:c}),t[23]=c,t[24]=l);let u;return t[25]!==e.icon||t[26]!==i||t[27]!==o||t[28]!==l?(u=(0,$.jsxs)(`span`,{className:o,title:i,"aria-label":i,children:[s,l]}),t[25]=e.icon,t[26]=i,t[27]=o,t[28]=l,t[29]=u):u=t[29],u}function Sg(e){return e>99?`99+`:String(e)}function Cg(e){return e.reduce((e,t)=>e+(t.data?.length??0),0)}function wg(e){let t=(0,Q.c)(7),n=e===void 0?`160px 0px`:e,[r,i]=(0,Z.useState)(null),[a,o]=(0,Z.useState)(!1),s,c;t[0]!==a||t[1]!==r||t[2]!==n?(s=()=>{if(a||r===null)return;if(typeof IntersectionObserver>`u`){o(!0);return}let e=new IntersectionObserver(t=>{t.some(Tg)&&(o(!0),e.disconnect())},{rootMargin:n});return e.observe(r),()=>e.disconnect()},c=[a,r,n],t[0]=a,t[1]=r,t[2]=n,t[3]=s,t[4]=c):(s=t[3],c=t[4]),(0,Z.useEffect)(s,c);let l;return t[5]===a?l=t[6]:(l=[i,a],t[5]=a,t[6]=l),l}function Tg(e){return e.isIntersecting}function Eg(e){switch(e){case`github`:return`GitHub`;case`gitlab`:return`GitLab`;case`forgejo`:return`Forgejo`;case`azure-devops`:return`Azure DevOps`;case`bitbucket`:return`Bitbucket`;default:return`Remote`}}function Dg(e){switch(e){case`github`:return eo;case`gitlab`:return qi;case`forgejo`:return so;case`azure-devops`:return Bi;case`bitbucket`:return ri;default:return Sa}}function Og(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function kg(e,t){if(e!==`ssh.dev.azure.com`)return null;let n=t.indexOf(`v3`);if(n===-1||t.length<n+4)return null;let r=t[n+1],i=t[n+2],a=t[n+3];return!r||!i||!a?null:`https://dev.azure.com/${r}/${i}/_git/${a}`}function Ag(e){let t=e.trim();if(t.length===0)return null;if(/^https?:\/\//i.test(t))try{let e=new URL(t);return e.pathname=Og(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=Og(e.pathname).split(`/`).filter(e=>e.length>0),r=kg(e.hostname,n);if(r)return r;let i=n.join(`/`);return e.hostname&&i?`https://${e.hostname}/${i}`:null}catch{return null}let n=/^git@([^:/\s]+)[:/]([^#?\s]+)$/i.exec(t);if(n?.[1]&&n[2]){let e=n[1],t=Og(n[2]);return kg(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function jg(e,t){if(!e)return null;let n=(()=>{if(t){let n=(e.remotes??[]).find(e=>e.name===t);if(n)return{url:n.url,label:n.ownerRepo??n.url,provider:n.provider??void 0}}return{url:e.locator.remoteUrl,label:e.displayName??e.canonicalKey,provider:e.provider??void 0}})(),r=Ag(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:Eg(n.provider)}:null}function Mg(e){let t=(0,Q.c)(15),n;t[0]===e?n=t[1]:(n=t=>{let n=jg(t.repositoryIdentity,t.preferredRemoteName),r=Dg(n?.provider);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(de,{onClick:()=>e.onSettings(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(yo,{className:`size-3.5`}),`Project settings`]}),n?(0,$.jsxs)(de,{onClick:()=>e.onOpenRemote(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(r,{className:`size-3.5`}),`Open remote`]}):null,(0,$.jsx)(Ze,{}),(0,$.jsxs)(de,{onClick:()=>e.onRename(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(er,{className:`size-3.5`}),`Rename project`]}),(0,$.jsxs)(de,{onClick:()=>e.onGrouping(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(yo,{className:`size-3.5`}),`Project grouping...`]}),(0,$.jsxs)(de,{onClick:()=>e.onCopyPath(t),className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(Gn,{className:`size-3.5`}),`Copy Project Path`]}),(0,$.jsx)(Ze,{}),(0,$.jsxs)(de,{onClick:()=>e.onRemove(t),variant:`destructive`,className:`min-h-7 py-1 sm:text-xs`,children:[(0,$.jsx)(Oo,{className:`size-3.5`}),`Remove project`]})]})},t[0]=e,t[1]=n);let r=n;if(e.project.memberProjects.length===1){let n;return t[2]!==e.project.memberProjects[0]||t[3]!==r?(n=(0,$.jsx)(Je,{children:r(e.project.memberProjects[0])}),t[2]=e.project.memberProjects[0],t[3]=r,t[4]=n):n=t[4],n}let i;if(t[5]!==e.project.groupedProjectCount||t[6]!==e.project.memberProjects||t[7]!==r){let n;t[9]!==e.project.groupedProjectCount||t[10]!==e.project.memberProjects.length||t[11]!==r?(n=(t,n)=>(0,$.jsxs)(Je,{children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-[10px] font-medium text-muted-foreground`,children:ug(t,e.project.groupedProjectCount)}),r(t),n<e.project.memberProjects.length-1?(0,$.jsx)(Ze,{}):null]},t.physicalProjectKey),t[9]=e.project.groupedProjectCount,t[10]=e.project.memberProjects.length,t[11]=r,t[12]=n):n=t[12],i=e.project.memberProjects.map(n),t[5]=e.project.groupedProjectCount,t[6]=e.project.memberProjects,t[7]=r,t[8]=i}else i=t[8];let a;return t[13]===i?a=t[14]:(a=(0,$.jsx)($.Fragment,{children:i}),t[13]=i,t[14]=a),a}var Ng=[{id:`general`,label:`General`,Icon:Pc},{id:`location`,label:`Location`,Icon:yc},{id:`atlassian`,label:`Atlassian`,Icon:Fc},{id:`ai`,label:`AI`,Icon:Qe}];function Pg(e){let t=e.target.repositoryIdentity?.remotes??[],n=e.target.repositoryIdentity?.locator.remoteName??null,r=e.preferredRemoteName&&t.some(t=>t.name===e.preferredRemoteName)?e.preferredRemoteName:null,[i,a]=(0,Z.useState)(!1),o=(0,Z.useRef)(null),s=()=>o.current?.click(),c=async t=>{a(!0);try{await e.onUploadAvatar(t)}finally{a(!1)}};return(0,$.jsxs)(`div`,{className:`space-y-6`,children:[(0,$.jsxs)(`section`,{className:`flex items-start gap-4`,children:[(0,$.jsxs)(`div`,{className:`relative flex size-24 shrink-0 items-center justify-center overflow-hidden rounded-xl border border-border/70 bg-secondary text-muted-foreground shadow-xs`,children:[(0,$.jsx)(Kc,{environmentId:e.target.environmentId,cwd:e.target.cwd,projectId:e.target.id,customAvatarContentHash:e.customAvatarContentHash,fillContainer:!0}),i?(0,$.jsx)(`div`,{className:`absolute inset-0 grid place-items-center bg-background/60 text-xs`,children:`…`}):null]}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Project image`}),(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:e.customAvatarContentHash?`PNG, JPG, or WebP · up to 2 MB`:`Using auto-detected favicon · upload to override`}),(0,$.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,$.jsx)(J,{size:`xs`,variant:`outline`,onClick:s,disabled:i,children:`Upload`}),(0,$.jsx)(J,{size:`xs`,variant:`ghost`,onClick:()=>void e.onRemoveAvatar(),disabled:!e.customAvatarContentHash||i,children:`Remove`})]}),(0,$.jsx)(`input`,{ref:o,type:`file`,accept:`image/png,image/jpeg,image/webp`,className:`hidden`,onChange:e=>{let t=e.target.files?.[0];t&&c(t),e.target.value=``}})]})]}),(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`project-display-name`,className:`text-xs font-medium text-foreground`,children:`Display name`}),(0,$.jsx)(tr,{id:`project-display-name`,"aria-label":`Project display name`,value:e.title,onChange:t=>e.onTitleChange(t.target.value)})]}),t.length>0?(0,$.jsxs)(`section`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Linked repositories`}),t.length>1?(0,$.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[t.length,` remotes`]}):null]}),t.length>1?(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Pick which remote the sidebar "Open remote" uses.`}):null,(0,$.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border/70`,children:[t.length>1?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.onPreferredRemoteChange(null),className:R(`flex w-full items-center gap-3 border-b border-border/70 px-3 py-2 text-left`,r===null&&`bg-accent/50`),children:[(0,$.jsx)(`span`,{className:R(`grid size-4 shrink-0 place-items-center rounded-full border`,r===null?`border-foreground`:`border-muted-foreground/40`),"aria-hidden":`true`,children:r===null?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-foreground`}):null}),(0,$.jsxs)(`span`,{className:`text-xs`,children:[`Auto-detect`,n?` (currently: ${n})`:``]})]}):null,t.map((i,a)=>{let o=r===i.name||r===null&&i.name===n&&t.length===1,s=Dg(i.provider??void 0);return(0,$.jsxs)(`div`,{className:R(`flex items-center gap-3 px-3 py-2`,a>0||t.length>1?`border-t border-border/70`:``,o&&`bg-accent/50`),children:[t.length>1?(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onPreferredRemoteChange(i.name),className:`shrink-0`,"aria-label":`Use ${i.name} as primary`,children:(0,$.jsx)(`span`,{className:R(`grid size-4 place-items-center rounded-full border`,o?`border-foreground`:`border-muted-foreground/40`),children:o?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-foreground`}):null})}):null,(0,$.jsx)(s,{className:`size-4 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium`,children:i.name}),o&&t.length>1?(0,$.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:`primary`}):null]}),(0,$.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:i.ownerRepo??i.url})]}),(0,$.jsxs)(J,{size:`xs`,variant:`ghost`,onClick:()=>e.onOpenRemote(e.target,i.name),children:[(0,$.jsx)(ai,{className:`size-3.5`}),`Open`]})]},i.name)})]})]}):null]})}function Fg(e){let t=(0,Q.c)(23),n=`~/.ryco/worktrees/${e.projectId}/`,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`label`,{htmlFor:`project-root`,className:`text-xs font-medium text-foreground`,children:`Project root`}),i=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`The absolute path the project is anchored to.`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a,o;t[2]===e?(a=t[3],o=t[4]):(a=t=>e.onWorkspaceRootChange(t.target.value),o=t=>{t.key===`Enter`&&(t.preventDefault(),e.onSave())},t[2]=e,t[3]=a,t[4]=o);let s;t[5]!==e.workspaceRoot||t[6]!==a||t[7]!==o?(s=(0,$.jsx)(tr,{id:`project-root`,"aria-label":`Project root`,value:e.workspaceRoot,onChange:a,onKeyDown:o}),t[5]=e.workspaceRoot,t[6]=a,t[7]=o,t[8]=s):s=t[8];let c;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(yc,{className:`size-4`}),t[9]=c):c=t[9];let l;t[10]===e.onPickWorkspaceRoot?l=t[11]:(l=(0,$.jsxs)(J,{variant:`outline`,onClick:e.onPickWorkspaceRoot,children:[c,`Browse`]}),t[10]=e.onPickWorkspaceRoot,t[11]=l);let u;t[12]!==s||t[13]!==l?(u=(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[r,i,(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[s,l]})]}),t[12]=s,t[13]=l,t[14]=u):u=t[14];let d;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Worktrees location`}),t[15]=d):d=t[15];let f;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:`font-mono`,children:`<branch>__<word>`}),t[16]=f):f=t[16];let p;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`New worktrees for this project are created here. Each one is named`,` `,f,`, where`,` `,(0,$.jsx)(`span`,{className:`font-mono`,children:`<word>`}),` is a random 5-letter suffix that disambiguates multiple checkouts of the same branch.`]}),t[17]=p):p=t[17];let m;t[18]===n?m=t[19]:(m=(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[d,p,(0,$.jsx)(`div`,{className:`rounded-md border border-dashed border-border/70 bg-muted/20 px-3 py-2`,children:(0,$.jsx)(`div`,{className:`truncate font-mono text-xs`,children:n})})]}),t[18]=n,t[19]=m);let h;return t[20]!==m||t[21]!==u?(h=(0,$.jsxs)(`div`,{className:`space-y-6`,children:[u,m]}),t[20]=m,t[21]=u,t[22]=h):h=t[22],h}function Ig(e){let t=(0,Q.c)(15),n=e.customSystemPrompt.length,r=Math.floor(re*.9),i=n>=2e4?`text-destructive`:n>=r?`text-amber-600 dark:text-amber-400`:`text-muted-foreground`,a,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`label`,{htmlFor:`project-custom-system-prompt`,className:`text-xs font-medium text-foreground`,children:`Custom system prompt`}),o=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Appended to every assistant prompt for this project.`}),t[0]=a,t[1]=o):(a=t[0],o=t[1]);let s;t[2]===e?s=t[3]:(s=t=>e.onCustomSystemPromptChange(t.target.value),t[2]=e,t[3]=s);let c;t[4]!==e.customSystemPrompt||t[5]!==s?(c=(0,$.jsx)(or,{id:`project-custom-system-prompt`,"aria-label":`Custom system prompt`,value:e.customSystemPrompt,maxLength:re,placeholder:`Always use TypeScript.`,className:`min-h-32 resize-y pr-20`,onChange:s}),t[4]=e.customSystemPrompt,t[5]=s,t[6]=c):c=t[6];let l;t[7]===i?l=t[8]:(l=R(`pointer-events-none absolute bottom-2 right-3 text-[11px]`,i),t[7]=i,t[8]=l);let u;t[9]!==n||t[10]!==l?(u=(0,$.jsxs)(`span`,{className:l,children:[n,` / `,re]}),t[9]=n,t[10]=l,t[11]=u):u=t[11];let d;return t[12]!==c||t[13]!==u?(d=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[a,o,(0,$.jsxs)(`div`,{className:`relative`,children:[c,u]})]}),t[12]=c,t[13]=u,t[14]=d):d=t[14],d}function Lg(e){let t=(0,Q.c)(54),[n,r]=(0,Z.useState)(`general`),i;t[0]===e.open?i=t[1]:(i=()=>{e.open&&r(`general`)},t[0]=e.open,t[1]=i);let a=e.target?.id,o;t[2]!==e.open||t[3]!==a?(o=[e.open,a],t[2]=e.open,t[3]=a,t[4]=o):o=t[4],(0,Z.useEffect)(i,o);let s=e.target;if(!s)return null;let c=s.environmentLabel?`${s.name} · ${s.environmentLabel}`:s.name,l=Math.max(0,Ng.findIndex(e=>e.id===n)),u=e.open,d;t[5]===e?d=t[6]:(d=t=>{t||e.onClose()},t[5]=e,t[6]=d);let f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(Ti,{className:`text-base font-semibold`,children:`Project settings`}),t[7]=f):f=t[7];let p;t[8]===c?p=t[9]:(p=(0,$.jsx)(`header`,{className:`flex h-14 shrink-0 items-center justify-between border-b border-border px-5`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[f,(0,$.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:c})]})}),t[8]=c,t[9]=p);let m=`translateY(${l*2.5}rem)`,h;t[10]===m?h=t[11]:(h=(0,$.jsx)(`span`,{className:`pointer-events-none absolute top-2 right-2 left-2 z-0 h-9 rounded-md bg-accent transition-transform duration-[240ms] ease-out`,style:{transform:m},"aria-hidden":!0}),t[10]=m,t[11]=h);let g;t[12]===n?g=t[13]:(g=Ng.map(e=>{let{id:t,label:i,Icon:a}=e,o=n===t;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:R(`relative z-10 flex h-9 items-center gap-2.5 rounded-md px-2 text-left text-[13px] outline-hidden ring-ring transition-colors duration-150 focus-visible:ring-2`,o?`font-medium text-foreground`:`text-muted-foreground/70 hover:text-foreground/80`),"aria-current":o?`page`:void 0,children:[(0,$.jsx)(a,{className:R(`size-4 shrink-0`,o?`text-foreground`:`text-muted-foreground/60`)}),(0,$.jsx)(`span`,{className:`hidden truncate sm:inline`,children:i})]},t)}),t[12]=n,t[13]=g);let _;t[14]!==h||t[15]!==g?(_=(0,$.jsxs)(`nav`,{className:`relative isolate flex w-12 shrink-0 flex-col gap-1 border-r border-border p-2 sm:w-48`,children:[h,g]}),t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==e.customAvatarContentHash||t[18]!==e.customSystemPrompt||t[19]!==e.onCustomSystemPromptChange||t[20]!==e.onOpenRemote||t[21]!==e.onPickWorkspaceRoot||t[22]!==e.onPreferredRemoteChange||t[23]!==e.onRemoveAvatar||t[24]!==e.onSave||t[25]!==e.onTitleChange||t[26]!==e.onUploadAvatar||t[27]!==e.onWorkspaceRootChange||t[28]!==e.preferredRemoteName||t[29]!==e.title||t[30]!==e.workspaceRoot||t[31]!==n||t[32]!==s?(v=(0,$.jsx)(xi,{className:`min-h-0 flex-1 min-w-0`,children:(0,$.jsx)(`div`,{className:`mx-auto max-w-[520px] px-6 py-6`,children:n===`general`?(0,$.jsx)(Pg,{target:s,title:e.title,customAvatarContentHash:e.customAvatarContentHash,preferredRemoteName:e.preferredRemoteName,onTitleChange:e.onTitleChange,onPreferredRemoteChange:e.onPreferredRemoteChange,onUploadAvatar:e.onUploadAvatar,onRemoveAvatar:e.onRemoveAvatar,onOpenRemote:e.onOpenRemote}):n===`location`?(0,$.jsx)(Fg,{workspaceRoot:e.workspaceRoot,projectId:s.id,onWorkspaceRootChange:e.onWorkspaceRootChange,onPickWorkspaceRoot:e.onPickWorkspaceRoot,onSave:e.onSave}):n===`atlassian`?(0,$.jsx)(Wg,{target:s}):(0,$.jsx)(Ig,{customSystemPrompt:e.customSystemPrompt,onCustomSystemPromptChange:e.onCustomSystemPromptChange})})}),t[17]=e.customAvatarContentHash,t[18]=e.customSystemPrompt,t[19]=e.onCustomSystemPromptChange,t[20]=e.onOpenRemote,t[21]=e.onPickWorkspaceRoot,t[22]=e.onPreferredRemoteChange,t[23]=e.onRemoveAvatar,t[24]=e.onSave,t[25]=e.onTitleChange,t[26]=e.onUploadAvatar,t[27]=e.onWorkspaceRootChange,t[28]=e.preferredRemoteName,t[29]=e.title,t[30]=e.workspaceRoot,t[31]=n,t[32]=s,t[33]=v):v=t[33];let y;t[34]!==_||t[35]!==v?(y=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-row`,children:[_,v]}),t[34]=_,t[35]=v,t[36]=y):y=t[36];let b;t[37]===e.onClose?b=t[38]:(b=(0,$.jsx)(J,{variant:`outline`,onClick:e.onClose,children:`Cancel`}),t[37]=e.onClose,t[38]=b);let x;t[39]!==e.onSave||t[40]!==e.saving||t[41]!==n?(x=n===`atlassian`?null:(0,$.jsx)(J,{onClick:e.onSave,disabled:e.saving,children:e.saving?`Saving…`:`Save changes`}),t[39]=e.onSave,t[40]=e.saving,t[41]=n,t[42]=x):x=t[42];let S;t[43]!==b||t[44]!==x?(S=(0,$.jsxs)(`footer`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-5 py-3`,children:[b,x]}),t[43]=b,t[44]=x,t[45]=S):S=t[45];let C;t[46]!==y||t[47]!==S||t[48]!==p?(C=(0,$.jsxs)(Kn,{className:`h-[min(70vh,620px)] max-w-[760px] overflow-hidden p-0 duration-[320ms] ease-[cubic-bezier(0.16,1,0.3,1)] data-ending-style:translate-y-4 data-starting-style:translate-y-4`,bottomStickOnMobile:!1,showCloseButton:!0,children:[p,y,S]}),t[46]=y,t[47]=S,t[48]=p,t[49]=C):C=t[49];let w;return t[50]!==e.open||t[51]!==C||t[52]!==d?(w=(0,$.jsx)(Zr,{open:u,onOpenChange:d,children:C}),t[50]=e.open,t[51]=C,t[52]=d,t[53]=w):w=t[53],w}var Rg=`Not configured`;function zg(e){return e??Rg}function Bg(e){return e===Rg||e.trim().length===0?null:e}function Vg(e){return e.split(/[,\s]+/u).map(e=>e.trim().toUpperCase()).filter(Boolean)}function Hg(e){return e?.provider?.toLowerCase()===`bitbucket`?{workspace:e.owner??``,repoSlug:e.name??``}:{workspace:``,repoSlug:``}}function Ug(e){return t=>t.status===`connected`&&t.products.includes(e)}function Wg(e){let t=(0,Q.c)(169),n=e.target,r=l(),i;t[0]===n?i=t[1]:(i=n?Tt(n.environmentId):null,t[0]=n,t[1]=i);let a=i?.client??null,[s,c]=(0,Z.useState)(Rg),[u,d]=(0,Z.useState)(Rg),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(``),[g,_]=(0,Z.useState)(``),[v,y]=(0,Z.useState)(``),[b,x]=(0,Z.useState)(``),[S,C]=(0,Z.useState)(`{issueKey}-{titleSlug}`),[w,T]=(0,Z.useState)(`{issueKey}: {summary}`),[E,D]=(0,Z.useState)(`{issueKey}: {summary}`),[O,k]=(0,Z.useState)(!0),[A,j]=(0,Z.useState)(!0),M=(0,Z.useRef)(!1),N=(0,Z.useRef)(null),P=n?.environmentId??null,F=n?.id??null,I;t[2]!==P||t[3]!==F?(I=[`atlassian`,`project-link`,P,F],t[2]=P,t[3]=F,t[4]=I):I=t[4];let L;t[5]!==a||t[6]!==n?(L=async()=>!a||!n?null:a.atlassian.getProjectLink({projectId:n.id}),t[5]=a,t[6]=n,t[7]=L):L=t[7];let R=a!==null&&n!==null,ee;t[8]!==I||t[9]!==L||t[10]!==R?(ee={queryKey:I,queryFn:L,enabled:R},t[8]=I,t[9]=L,t[10]=R,t[11]=ee):ee=t[11];let z=o(ee),B=n?.environmentId??null,V;t[12]===B?V=t[13]:(V=[`atlassian`,`connections`,B],t[12]=B,t[13]=V);let H;t[14]===a?H=t[15]:(H=async()=>a?a.atlassian.listConnections():[],t[14]=a,t[15]=H);let U=a!==null,W;t[16]!==U||t[17]!==V||t[18]!==H?(W={queryKey:V,queryFn:H,enabled:U},t[16]=U,t[17]=V,t[18]=H,t[19]=W):W=t[19];let G=o(W),te,ne;t[20]===G.data?ne=t[21]:(ne=G.data??[],t[20]=G.data,t[21]=ne);let re;t[22]===ne?re=t[23]:(re=ne.filter(Ug(`jira`)),t[22]=ne,t[23]=re),te=re;let ie=te,K,ae;t[24]===G.data?ae=t[25]:(ae=G.data??[],t[24]=G.data,t[25]=ae);let oe;t[26]===ae?oe=t[27]:(oe=ae.filter(Ug(`bitbucket`)),t[26]=ae,t[27]=oe),K=oe;let se=K,ce;t[28]!==se[0]?.connectionId||t[29]!==ie[0]?.baseUrl||t[30]!==ie[0]?.connectionId||t[31]!==z.data||t[32]!==n?(ce=()=>{if(!n)return;let e=`${n.environmentId}:${n.id}`;if(N.current!==e&&(N.current=e,M.current=!1),M.current)return;let t=z.data,r=Hg(n.repositoryIdentity);c(zg(t?.jiraConnectionId??ie[0]?.connectionId)),d(zg(t?.bitbucketConnectionId??se[0]?.connectionId)),p(t?.jiraSiteUrl??ie[0]?.baseUrl??``),h(t?.jiraProjectKeys.join(`, `)??``),_(t?.bitbucketWorkspace??r.workspace),y(t?.bitbucketRepoSlug??r.repoSlug),x(t?.defaultIssueTypeName??``),C(t?.branchNameTemplate??`{issueKey}-{titleSlug}`),T(t?.commitMessageTemplate??`{issueKey}: {summary}`),D(t?.pullRequestTitleTemplate??`{issueKey}: {summary}`),k(t?.smartLinkingEnabled??!0),j(t?.autoAttachWorkItems??!0)},t[28]=se[0]?.connectionId,t[29]=ie[0]?.baseUrl,t[30]=ie[0]?.connectionId,t[31]=z.data,t[32]=n,t[33]=ce):ce=t[33];let q;t[34]!==se||t[35]!==ie||t[36]!==z.data||t[37]!==n?(q=[se,ie,z.data,n],t[34]=se,t[35]=ie,t[36]=z.data,t[37]=n,t[38]=q):q=t[38],(0,Z.useEffect)(ce,q);let le;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>{M.current=!0},t[39]=le):le=t[39];let ue=le,de;t[40]!==A||t[41]!==u||t[42]!==v||t[43]!==g||t[44]!==S||t[45]!==a||t[46]!==w||t[47]!==b||t[48]!==s||t[49]!==m||t[50]!==f||t[51]!==z.data?.jiraCloudId||t[52]!==E||t[53]!==O||t[54]!==n?(de=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);let e=S.trim(),t=w.trim(),r=E.trim();if(!e||!t||!r)throw Error(`Branch, commit, and pull request templates cannot be empty.`);return a.atlassian.saveProjectLink({projectId:n.id,jiraConnectionId:Bg(s),bitbucketConnectionId:Bg(u),jiraCloudId:z.data?.jiraCloudId??null,jiraSiteUrl:f.trim()||null,jiraProjectKeys:Vg(m),bitbucketWorkspace:g.trim()||null,bitbucketRepoSlug:v.trim()||null,defaultIssueTypeName:b.trim()||null,branchNameTemplate:e,commitMessageTemplate:t,pullRequestTitleTemplate:r,smartLinkingEnabled:O,autoAttachWorkItems:A})},t[40]=A,t[41]=u,t[42]=v,t[43]=g,t[44]=S,t[45]=a,t[46]=w,t[47]=b,t[48]=s,t[49]=m,t[50]=f,t[51]=z.data?.jiraCloudId,t[52]=E,t[53]=O,t[54]=n,t[55]=de):de=t[55];let fe;t[56]===r?fe=t[57]:(fe=()=>{M.current=!1,r.invalidateQueries({queryKey:[`atlassian`]}),r.invalidateQueries({queryKey:[`workItems`]}),Y.add(X({type:`success`,title:`Atlassian project settings saved`,description:`Jira and Bitbucket defaults were updated for this project.`}))},t[56]=r,t[57]=fe);let pe;t[58]!==de||t[59]!==fe?(pe={mutationFn:de,onSuccess:fe,onError:qg},t[58]=de,t[59]=fe,t[60]=pe):pe=t[60];let me=ia(pe),he=z.isLoading||G.isLoading,ge=a===null||n===null||me.isPending,_e;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(Fc,{className:`size-4 shrink-0 text-muted-foreground`}),t[61]=_e):_e=t[61];let ve;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[_e,(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`truncate text-xs font-medium text-foreground`,children:`Atlassian workflow`}),(0,$.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:`Project-scoped Jira, Bitbucket, and smart-link defaults.`})]})]}),t[62]=ve):ve=t[62];let ye;t[63]===he?ye=t[64]:(ye=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[ve,he?(0,$.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Loading`}):(0,$.jsx)(`span`,{className:`rounded bg-background px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:`Project defaults`})]}),t[63]=he,t[64]=ye);let be;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Connections`}),t[65]=be):be=t[65];let xe;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(xe=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Jira connection`}),t[66]=xe):xe=t[66];let Se;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(Se=e=>{typeof e==`string`&&(ue(),c(e))},t[67]=Se):Se=t[67];let Ce;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(gi,{placeholder:`Select Jira connection`}),t[68]=Ce):Ce=t[68];let we;t[69]===ge?we=t[70]:(we=(0,$.jsx)(bo,{size:`sm`,disabled:ge,children:Ce}),t[69]=ge,t[70]=we);let Te;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,$.jsx)(di,{value:Rg,children:`Not configured`}),t[71]=Te):Te=t[71];let Ee;t[72]===ie?Ee=t[73]:(Ee=ie.map(Kg),t[72]=ie,t[73]=Ee);let De;t[74]===Ee?De=t[75]:(De=(0,$.jsxs)(Xn,{children:[Te,Ee]}),t[74]=Ee,t[75]=De);let Oe;t[76]!==s||t[77]!==we||t[78]!==De?(Oe=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[xe,(0,$.jsxs)(ko,{value:s,onValueChange:Se,children:[we,De]})]}),t[76]=s,t[77]=we,t[78]=De,t[79]=Oe):Oe=t[79];let ke;t[80]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Bitbucket connection`}),t[80]=ke):ke=t[80];let Ae;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=e=>{typeof e==`string`&&(ue(),d(e))},t[81]=Ae):Ae=t[81];let je;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,$.jsx)(gi,{placeholder:`Select Bitbucket connection`}),t[82]=je):je=t[82];let Me;t[83]===ge?Me=t[84]:(Me=(0,$.jsx)(bo,{size:`sm`,disabled:ge,children:je}),t[83]=ge,t[84]=Me);let Ne;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,$.jsx)(di,{value:Rg,children:`Not configured`}),t[85]=Ne):Ne=t[85];let Pe;t[86]===se?Pe=t[87]:(Pe=se.map(Gg),t[86]=se,t[87]=Pe);let Fe;t[88]===Pe?Fe=t[89]:(Fe=(0,$.jsxs)(Xn,{children:[Ne,Pe]}),t[88]=Pe,t[89]=Fe);let Ie;t[90]!==u||t[91]!==Me||t[92]!==Fe?(Ie=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[ke,(0,$.jsxs)(ko,{value:u,onValueChange:Ae,children:[Me,Fe]})]}),t[90]=u,t[91]=Me,t[92]=Fe,t[93]=Ie):Ie=t[93];let Le;t[94]!==Oe||t[95]!==Ie?(Le=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[be,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Oe,Ie]})]}),t[94]=Oe,t[95]=Ie,t[96]=Le):Le=t[96];let Re;t[97]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Repository mapping`}),t[97]=Re):Re=t[97];let ze;t[98]===Symbol.for(`react.memo_cache_sentinel`)?(ze=e=>{ue(),p(e.currentTarget.value)},t[98]=ze):ze=t[98];let Be;t[99]!==ge||t[100]!==f?(Be=(0,$.jsx)(Jg,{label:`Jira site URL`,children:(0,$.jsx)(tr,{size:`sm`,value:f,inputMode:`url`,disabled:ge,placeholder:`https://your-team.atlassian.net`,onChange:ze})}),t[99]=ge,t[100]=f,t[101]=Be):Be=t[101];let Ve;t[102]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=e=>{ue(),h(e.currentTarget.value)},t[102]=Ve):Ve=t[102];let He;t[103]!==ge||t[104]!==m?(He=(0,$.jsx)(Jg,{label:`Jira project keys`,children:(0,$.jsx)(tr,{size:`sm`,value:m,disabled:ge,placeholder:`WEB, API`,onChange:Ve})}),t[103]=ge,t[104]=m,t[105]=He):He=t[105];let Ue;t[106]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=e=>{ue(),_(e.currentTarget.value)},t[106]=Ue):Ue=t[106];let We;t[107]!==g||t[108]!==ge?(We=(0,$.jsx)(Jg,{label:`Bitbucket workspace`,children:(0,$.jsx)(tr,{size:`sm`,value:g,disabled:ge,placeholder:`workspace`,onChange:Ue})}),t[107]=g,t[108]=ge,t[109]=We):We=t[109];let Ge;t[110]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=e=>{ue(),y(e.currentTarget.value)},t[110]=Ge):Ge=t[110];let Ke;t[111]!==v||t[112]!==ge?(Ke=(0,$.jsx)(Jg,{label:`Bitbucket repo slug`,children:(0,$.jsx)(tr,{size:`sm`,value:v,disabled:ge,placeholder:`repo-slug`,onChange:Ge})}),t[111]=v,t[112]=ge,t[113]=Ke):Ke=t[113];let qe;t[114]!==Be||t[115]!==He||t[116]!==We||t[117]!==Ke?(qe=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Re,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Be,He,We,Ke]})]}),t[114]=Be,t[115]=He,t[116]=We,t[117]=Ke,t[118]=qe):qe=t[118];let Je;t[119]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Templates`}),t[119]=Je):Je=t[119];let Ye;t[120]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=e=>{ue(),x(e.currentTarget.value)},t[120]=Ye):Ye=t[120];let Xe;t[121]!==b||t[122]!==ge?(Xe=(0,$.jsx)(Jg,{label:`Default issue type`,children:(0,$.jsx)(tr,{size:`sm`,value:b,disabled:ge,placeholder:`Task`,onChange:Ye})}),t[121]=b,t[122]=ge,t[123]=Xe):Xe=t[123];let Ze;t[124]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=e=>{ue(),C(e.currentTarget.value)},t[124]=Ze):Ze=t[124];let Qe;t[125]!==S||t[126]!==ge?(Qe=(0,$.jsx)(Jg,{label:`Branch template`,children:(0,$.jsx)(tr,{size:`sm`,value:S,disabled:ge,onChange:Ze})}),t[125]=S,t[126]=ge,t[127]=Qe):Qe=t[127];let $e;t[128]===Symbol.for(`react.memo_cache_sentinel`)?($e=e=>{ue(),T(e.currentTarget.value)},t[128]=$e):$e=t[128];let et;t[129]!==w||t[130]!==ge?(et=(0,$.jsx)(Jg,{label:`Commit template`,children:(0,$.jsx)(tr,{size:`sm`,value:w,disabled:ge,onChange:$e})}),t[129]=w,t[130]=ge,t[131]=et):et=t[131];let tt;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(tt=e=>{ue(),D(e.currentTarget.value)},t[132]=tt):tt=t[132];let nt;t[133]!==ge||t[134]!==E?(nt=(0,$.jsx)(Jg,{label:`PR title template`,children:(0,$.jsx)(tr,{size:`sm`,value:E,disabled:ge,onChange:tt})}),t[133]=ge,t[134]=E,t[135]=nt):nt=t[135];let rt;t[136]!==Xe||t[137]!==Qe||t[138]!==et||t[139]!==nt?(rt=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Je,(0,$.jsxs)(`div`,{className:`grid gap-3`,children:[Xe,Qe,et,nt]})]}),t[136]=Xe,t[137]=Qe,t[138]=et,t[139]=nt,t[140]=rt):rt=t[140];let it;t[141]===Symbol.for(`react.memo_cache_sentinel`)?(it=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Automation`}),t[141]=it):it=t[141];let at;t[142]===Symbol.for(`react.memo_cache_sentinel`)?(at=(0,$.jsx)(`span`,{children:`Smart-link Jira keys in branches, commits, and PRs`}),t[142]=at):at=t[142];let ot;t[143]===Symbol.for(`react.memo_cache_sentinel`)?(ot=e=>{ue(),k(!!e)},t[143]=ot):ot=t[143];let st;t[144]!==ge||t[145]!==O?(st=(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 bg-background/60 px-3 py-2 text-xs`,children:[at,(0,$.jsx)(Wi,{checked:O,disabled:ge,onCheckedChange:ot})]}),t[144]=ge,t[145]=O,t[146]=st):st=t[146];let ct;t[147]===Symbol.for(`react.memo_cache_sentinel`)?(ct=(0,$.jsx)(`span`,{children:`Attach linked work items to project explorer workflows`}),t[147]=ct):ct=t[147];let lt;t[148]===Symbol.for(`react.memo_cache_sentinel`)?(lt=e=>{ue(),j(!!e)},t[148]=lt):lt=t[148];let ut;t[149]!==A||t[150]!==ge?(ut=(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 bg-background/60 px-3 py-2 text-xs`,children:[ct,(0,$.jsx)(Wi,{checked:A,disabled:ge,onCheckedChange:lt})]}),t[149]=A,t[150]=ge,t[151]=ut):ut=t[151];let dt;t[152]!==st||t[153]!==ut?(dt=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[it,(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[st,ut]})]}),t[152]=st,t[153]=ut,t[154]=dt):dt=t[154];let ft;t[155]===Symbol.for(`react.memo_cache_sentinel`)?(ft=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Tokens live in Source Control settings. These defaults belong only to this project.`}),t[155]=ft):ft=t[155];let pt;t[156]===me?pt=t[157]:(pt=()=>me.mutate(),t[156]=me,t[157]=pt);let mt=me.isPending?`Saving...`:`Save Atlassian`,ht;t[158]!==ge||t[159]!==pt||t[160]!==mt?(ht=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border/70 pt-4`,children:[ft,(0,$.jsx)(J,{type:`button`,size:`sm`,className:`h-8 shrink-0`,disabled:ge,onClick:pt,children:mt})]}),t[158]=ge,t[159]=pt,t[160]=mt,t[161]=ht):ht=t[161];let gt;return t[162]!==ye||t[163]!==Le||t[164]!==qe||t[165]!==rt||t[166]!==dt||t[167]!==ht?(gt=(0,$.jsxs)(`div`,{className:`space-y-5`,children:[ye,Le,qe,rt,dt,ht]}),t[162]=ye,t[163]=Le,t[164]=qe,t[165]=rt,t[166]=dt,t[167]=ht,t[168]=gt):gt=t[168],gt}function Gg(e){return(0,$.jsx)(di,{value:e.connectionId,children:e.label},e.connectionId)}function Kg(e){return(0,$.jsx)(di,{value:e.connectionId,children:e.label},e.connectionId)}function qg(e){Y.add(X({type:`error`,title:`Could not save Atlassian project settings`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function Jg(e){let t=(0,Q.c)(5),n;t[0]===e.label?n=t[1]:(n=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:e.label}),t[0]=e.label,t[1]=n);let r;return t[2]!==e.children||t[3]!==n?(r=(0,$.jsxs)(`label`,{className:`grid gap-1.5`,children:[n,e.children]}),t[2]=e.children,t[3]=n,t[4]=r):r=t[4],r}var Yg=(0,Z.memo)(function(e){let{project:t,isThreadListExpanded:n,activeRouteThreadKey:r,handleNewThread:i,archiveThread:a,deleteThread:o,threadJumpLabelByKey:s,attachThreadListAutoAnimateRef:c,expandThreadListForProject:l,collapseThreadListForProject:u,dragInProgressRef:d,suppressProjectClickAfterDragRef:f,suppressProjectClickForContextMenuRef:m,isManualProjectSorting:h,dragHandleProps:g}=e,v=Bt(e=>e.sidebarThreadSortOrder),y=Bt(e=>e.confirmThreadDelete),b=Bt(e=>e.defaultThreadEnvMode),x=Bt(e=>({sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides})),{updateSettings:C}=Qt(),w=_(),{isMobile:T,setOpenMobile:D}=Ka(),k=be(e=>e.markThreadUnread),A=be(e=>e.toggleProject),j=Fi(e=>e.toggleThread),M=Fi(e=>e.rangeSelectTo),N=Fi(e=>e.clearSelection),P=Fi(e=>e.removeFromSelection),F=Fi(e=>e.setAnchor),I=Fi(e=>e.selectedThreadKeys.size),{copyToClipboard:L}=ni({onCopy:e=>{Y.add({type:`success`,title:`Thread ID copied`,description:e.threadId})},onError:e=>{Y.add(X({type:`error`,title:`Failed to copy thread ID`,description:e instanceof Error?e.message:`An error occurred.`}))}}),{copyToClipboard:R}=ni({onCopy:e=>{Y.add({type:`success`,title:`Path copied`,description:e.path})},onError:e=>{Y.add(X({type:`error`,title:`Failed to copy path`,description:e instanceof Error?e.message:`An error occurred.`}))}}),ee=(0,Z.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation();let n=st();if(!n){Y.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t).catch(e=>{Y.add(X({type:`error`,title:`Unable to open pull request link`,description:e instanceof Error?e.message:`An error occurred.`}))})},[]),z=qe(ct((0,Z.useMemo)(()=>e=>xe(e,t.memberProjectRefs),[t.memberProjectRefs]))),B=qe(ct((0,Z.useMemo)(()=>e=>ie(e,t.memberProjectRefs),[t.memberProjectRefs]))),V=Vt((0,Z.useMemo)(()=>km(t),[t])),H=(0,Z.useMemo)(()=>new Map(z.map(e=>[zo(Io(e.environmentId,e.id)),e])),[z]),U=(0,Z.useRef)(H);U.current=H;let W=(0,Z.useMemo)(()=>[...z,...V],[V,z]),G=be(e=>e.projectExpandedById[t.projectKey]??!0),te=be(ct(e=>W.map(t=>e.threadLastVisitedAtById[zo(Io(t.environmentId,t.id))]??null))),re=(0,Z.useMemo)(()=>new Map(W.map((e,t)=>[zo(Io(e.environmentId,e.id)),te[t]??null])),[W,te]),[K,ae]=(0,Z.useState)(null),[oe,se]=(0,Z.useState)(``),[ce,q]=(0,Z.useState)(null),[ue,de]=(0,Z.useState)(!1),[fe,pe]=(0,Z.useState)(`branches`),[ge,_e]=(0,Z.useState)({open:!1,initialTab:`issues`}),[ve,ye]=wg(),[Se,we]=(0,Z.useState)(null),[Te,De]=(0,Z.useState)(``),[ke,Ae]=(0,Z.useState)(null),[je,Me]=(0,Z.useState)(`inherit`),[Ne,Pe]=(0,Z.useState)(null),[Fe,Ie]=(0,Z.useState)(!1),Le=(0,Z.useRef)(null),Re=(0,Z.useRef)(null),ze=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{Le.current=Ne},[Ne]);let Be=(0,Z.useCallback)(()=>{Re.current!==null&&(window.cancelAnimationFrame(Re.current),Re.current=null),ze.current!==null&&(window.clearTimeout(ze.current),ze.current=null)},[]);(0,Z.useEffect)(()=>()=>Be(),[Be]);let[He,Ue]=(0,Z.useState)(``),[We,Ge]=(0,Z.useState)(``),[Ke,Je]=(0,Z.useState)(``),[Ye,Xe]=(0,Z.useState)(!1),[Ze,Qe]=(0,Z.useState)(null),[$e,et]=(0,Z.useState)(null),tt=(0,Z.useRef)(!1),nt=(0,Z.useRef)(null),rt=(0,Z.useRef)(new Map),it=(0,Z.useMemo)(()=>new Map(t.memberProjects.map(e=>[Lo(Zo(e.environmentId,e.id)),e])),[t.memberProjects]),at=(0,Z.useCallback)(e=>{if(e.branch===null)return null;let n=e.sourceProjectId??e.projectId,r=it.get(Lo(Zo(e.environmentId,n))),i=e.worktreePath??r?.cwd??t.cwd;return i?{environmentId:e.environmentId,cwd:i}:null},[it,t.cwd]),ot=(0,Z.useMemo)(()=>{let e=new Map(t.memberProjects.map(e=>[e.physicalProjectKey,0]));for(let t of W){let n=it.get(Lo(Zo(t.environmentId,t.projectId)));n&&e.set(n.physicalProjectKey,(e.get(n.physicalProjectKey)??0)+1)}return e},[it,t.memberProjects,W]),lt=xr({explorerOpen:ge.open,projectVisible:ye}),ut=rc({queries:t.memberProjects.map(e=>Pr({environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:100,enabled:lt}))}),dt=rc({queries:t.memberProjects.map(e=>ji({environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:100,enabled:lt}))}),ft=(0,Z.useMemo)(()=>({issues:Cg(ut),pullRequests:Cg(dt)}),[ut,dt]),{projectStatus:pt,visibleProjectThreads:mt,orderedProjectThreadKeys:ht}=(0,Z.useMemo)(()=>{let e=e=>{let t=re.get(zo(Io(e.environmentId,e.id)));return Lr({thread:{...e,...t==null?{}:{lastVisitedAt:t}}})},t=Qa(W.filter(e=>e.archivedAt===null),v),n=Vr(t.map(t=>e(t)));return{orderedProjectThreadKeys:t.map(e=>zo(Io(e.environmentId,e.id))),projectStatus:n,visibleProjectThreads:t}},[re,W,v]),gt=(0,Z.useMemo)(()=>{let e=r??void 0;return!e||G?null:mt.find(t=>zo(Io(t.environmentId,t.id))===e)??null},[r,G,mt]),{hasOverflowingThreads:_t,hiddenThreadStatus:vt,renderedThreads:yt,showEmptyThreadState:bt,shouldShowThreadPanel:xt}=(0,Z.useMemo)(()=>{let e=e=>{let t=re.get(zo(Io(e.environmentId,e.id)));return Lr({thread:{...e,...t==null?{}:{lastVisitedAt:t}}})},t=mt.length>ng,r=n||!t?mt:mt.slice(0,ng),i=new Set([...r,...gt?[gt]:[]].map(e=>zo(Io(e.environmentId,e.id)))),a=gt?[gt]:mt.filter(e=>i.has(zo(Io(e.environmentId,e.id))));return{hasOverflowingThreads:t,hiddenThreadStatus:Vr(mt.filter(e=>!i.has(zo(Io(e.environmentId,e.id)))).map(t=>e(t))),renderedThreads:a,showEmptyThreadState:G&&mt.length===0,shouldShowThreadPanel:G||gt!==null}},[n,re,gt,G,mt]),St=(0,Z.useMemo)(()=>Om({lastVisitedAtByThreadKey:re,project:t,threads:Qa(W,v),worktrees:B}),[re,t,W,B,v]),Ct=Np({projects:[St.project],threads:St.threads,worktrees:St.worktrees}).projects[0]??null,wt=(0,Z.useMemo)(()=>G?null:gt?new Set([zo(Io(gt.environmentId,gt.id))]):new Set,[gt,G]),Tt=(0,Z.useCallback)(e=>{if(m.current){m.current=!1,e.preventDefault(),e.stopPropagation();return}if(d.current){e.preventDefault(),e.stopPropagation();return}if(f.current){f.current=!1,e.preventDefault(),e.stopPropagation();return}I>0&&N(),A(t.projectKey)},[N,d,t.projectKey,I,f,m,A]),Et=(0,Z.useCallback)(e=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),!d.current&&A(t.projectKey))},[d,t.projectKey,A]),Dt=(0,Z.useCallback)(e=>{m.current=!1,Aa({button:e.button,ctrlKey:e.ctrlKey,isMac:Ce(navigator.platform)})&&e.stopPropagation(),f.current=!1},[f,m]),Ot=(0,Z.useCallback)(e=>{we(e),De(e.name)},[]),kt=(0,Z.useCallback)(e=>{let t=Nt(e);Ae(e),Me(x.sidebarProjectGroupingOverrides?.[t]??`inherit`)},[x.sidebarProjectGroupingOverrides]),At=(0,Z.useCallback)(e=>{Be(),Ie(!1),Pe(e),Ue(e.name),Ge(e.cwd),Je(e.customSystemPrompt??``),Xe(!1),Qe(e.customAvatarContentHash??null),et(e.preferredRemoteName??null),Re.current=window.requestAnimationFrame(()=>{Re.current=null,Ie(!0)})},[Be]),jt=(0,Z.useCallback)(e=>{let t=jg(e.repositoryIdentity,e.preferredRemoteName);if(!t){Y.add({type:`warning`,title:`No remote link available`});return}let n=st();if(!n){Y.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t.url).catch(e=>{Y.add(X({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))})},[]),Mt=(0,Z.useCallback)(async(e,t={})=>{let n=Zo(e.environmentId,e.id),r=Vt.getState(),i=r.getDraftThreadByProjectRef(n);i&&r.clearDraftThread(i.draftId),r.clearProjectDraftThreadId(n);let a=E(e.environmentId);if(!a)throw Error(`Project API unavailable.`);await a.orchestration.dispatchCommand({type:`project.delete`,commandId:O(),projectId:e.id,...t.force===!0?{force:!0}:{}})},[]),Pt=(0,Z.useCallback)(async e=>{let t=st();if(!t)return;let n=Zo(e.environmentId,e.id);if((ot.get(e.physicalProjectKey)??0)>0){let r=Y.add(X({type:`warning`,title:`Project is not empty`,description:`Delete all threads in this project before removing it.`,actionVariant:`destructive`,actionProps:{children:`Delete anyway`,onClick:()=>{(async()=>{Y.close(r),await new Promise(e=>{window.setTimeout(e,180)});let i=xe(qe.getState(),[n]);await t.dialogs.confirm(i.length>0?[`Remove project "${e.name}" and delete its ${i.length} thread${i.length===1?``:`s`}?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This permanently clears conversation history for those threads.`,`This removes only this project entry.`,`This action cannot be undone.`].join(`
|
|
7
|
-
`):[`Remove project "${e.name}"?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This removes only this project entry.`].join(`
|
|
8
|
-
`))&&await Mt(e,{force:!0})})().catch(t=>{let n=t instanceof Error?t.message:`Unknown error removing project.`;console.error(`Failed to remove project`,{projectId:e.id,environmentId:e.environmentId,error:t}),Y.add(X({type:`error`,title:`Failed to remove "${e.name}"`,description:n}))})}}}));return}let r=[`Remove project "${e.name}"?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This removes only this project entry.`].join(`
|
|
9
|
-
`);if(await t.dialogs.confirm(r))try{await Mt(e)}catch(t){let n=t instanceof Error?t.message:`Unknown error removing project.`;console.error(`Failed to remove project`,{projectId:e.id,environmentId:e.environmentId,error:t}),Y.add(X({type:`error`,title:`Failed to remove "${e.name}"`,description:n}))}},[ot,Mt]),Ft=(0,Z.useCallback)(e=>{e.preventDefault(),m.current=!0,(async()=>{let n=st();if(!n)return;let r=new Map,i=(e,n,i)=>{let a=`${e}:${n.physicalProjectKey}`;return r.set(a,()=>{switch(e){case`settings`:At(n);return;case`open-remote`:jt(n);return;case`rename`:Ot(n);return;case`grouping`:kt(n);return;case`copy-path`:R(n.cwd,{path:n.cwd});return;case`delete`:return Pt(n)}}),{id:a,label:ug(n,t.groupedProjectCount),...i?.destructive?{destructive:!0}:{},...i?.disabled?{disabled:!0}:{}}},a=(e,n,r)=>{if(t.memberProjects.length===1){let a=t.memberProjects[0];return{...i(e,a,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(a)?{disabled:!0}:{}}),label:n}}return{id:`${e}:submenu`,label:n,children:t.memberProjects.map(t=>i(e,t,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(t)?{disabled:!0}:{}}))}},o=t.memberProjects.some(e=>jg(e.repositoryIdentity,e.preferredRemoteName)!==null),s=[a(`settings`,`Project settings`),...o?[a(`open-remote`,`Open remote`,{isDisabled:e=>jg(e.repositoryIdentity,e.preferredRemoteName)===null})]:[],a(`rename`,`Rename project`),a(`grouping`,`Project grouping…`),a(`copy-path`,`Copy Project Path`),a(`delete`,`Remove project`,{destructive:!0})],c=await n.contextMenu.show(s,{x:e.clientX,y:e.clientY});c&&await r.get(c)?.()})()},[R,Pt,kt,jt,Ot,At,t.groupedProjectCount,t.memberProjects,m]),It=(0,Z.useCallback)(e=>{Fi.getState().selectedThreadKeys.size>0&&N(),F(zo(e)),T&&D(!1),w.navigate({to:`/$environmentId/$threadId`,params:p(e)})},[N,T,w,D,F]),Lt=(0,Z.useCallback)((e,t)=>{Fi.getState().selectedThreadKeys.size>0&&N(),F(zo(t)),T&&D(!1),w.navigate({to:`/draft/$draftId`,params:{draftId:e}})},[N,T,w,D,F]),Rt=(0,Z.useCallback)(async(e,t={})=>{if(e.draftId){Vt.getState().clearDraftThread(e.draftId);let t=S(w.state.matches[w.state.matches.length-1]?.params??{});t?.kind===`draft`&&t.draftId===e.draftId&&await w.navigate({to:`/`,replace:!0});return}let n=Io(e.environmentId,e.id);if(Ei(e)){let t=[`Close session "${e.title}"?`,`This permanently clears conversation history for this thread.`].join(`
|
|
10
|
-
`),n=st();if(!(n?await n.dialogs.confirm(t):window.confirm(t)))return}await o(n,{...t,optimistic:!0})},[o,w]),zt=(0,Z.useCallback)((e,t,n)=>{let r=Ce(navigator.platform)?e.metaKey:e.ctrlKey,i=e.shiftKey,a=zo(t),o=Fi.getState().selectedThreadKeys.size;if(r){e.preventDefault(),j(a);return}if(i){e.preventDefault(),M(a,n);return}o>0&&N(),F(a),T&&D(!1),w.navigate({to:`/$environmentId/$threadId`,params:p(t)})},[N,T,M,w,D,F,j]),Ht=(0,Z.useCallback)(async e=>{let t=st();if(!t)return;let n=[...Fi.getState().selectedThreadKeys];if(n.length===0)return;let r=n.length,i=await t.contextMenu.show([{id:`mark-unread`,label:`Mark unread (${r})`},{id:`delete`,label:`Delete (${r})`,destructive:!0}],e);if(i===`mark-unread`){for(let e of n)k(e,U.current.get(e)?.latestTurn?.completedAt);N();return}if(i!==`delete`||y&&!await t.dialogs.confirm([`Delete ${r} thread${r===1?``:`s`}?`,`This permanently clears conversation history for these threads.`].join(`
|
|
11
|
-
`)))return;let a=new Set(n);for(let e of n){let t=U.current.get(e);t&&await o(Io(t.environmentId,t.id),{deletedThreadKeys:a})}P(n)},[y,N,o,k,P]),Ut=(0,Z.useCallback)((e,t)=>{let n=S(w.state.matches[w.state.matches.length-1]?.params??{}),r=n?.kind===`server`?le(qe.getState(),n.threadRef)??null:null,a=Vt.getState(),o=n?.kind===`server`?a.getDraftThread(n.threadRef)??null:n?.kind===`draft`?a.getDraftSession(n.draftId)??null:null,s=t??fr({projectId:e.id,defaultEnvMode:Qr({defaultEnvMode:b}),activeThread:r&&r.projectId===e.id?{projectId:r.projectId,branch:r.branch,worktreePath:r.worktreePath}:null,activeDraftThread:o&&o.projectId===e.id?{projectId:o.projectId,branch:o.branch,worktreePath:o.worktreePath,envMode:o.envMode}:null});T&&D(!1),i(Zo(e.environmentId,e.id),{...s.branch===void 0?{}:{branch:s.branch},...s.worktreePath===void 0?{}:{worktreePath:s.worktreePath},envMode:s.envMode})},[b,i,T,w,D]),Wt=(0,Z.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),pe(`branches`),de(!0)},[]),Gt=(0,Z.useCallback)(e=>{let n=t.memberProjects[0];n&&Ut(n,{branch:e.worktree.branch,envMode:e.worktree.worktreePath?`worktree`:`local`,worktreePath:e.worktree.worktreePath})},[Ut,t.memberProjects]),Kt=(0,Z.useCallback)(e=>{let t=e.sessions.toSorted((e,t)=>Date.parse(t.updatedAt??t.createdAt)-Date.parse(e.updatedAt??e.createdAt))[0];if(t){It(Io(t.environmentId,t.id));return}Gt(e)},[Gt,It]),qt=(0,Z.useCallback)(e=>e.worktree.worktreePath??t.cwd,[t.cwd]),Jt=(0,Z.useCallback)(e=>{let t=qt(e);if(!t){Y.add(X({type:`error`,title:`Path unavailable`,description:`This worktree does not have a workspace path to copy.`}));return}R(t,{path:t})},[R,qt]),Yt=(0,Z.useCallback)(e=>{let t=qt(e),n=st();if(!n||!t){Y.add(X({type:`error`,title:`Unable to open worktree`,description:`No local editor bridge is available.`}));return}Dn(n,t).catch(e=>{Y.add(X({type:`error`,title:`Unable to open worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})},[qt]),Xt=(0,Z.useCallback)(e=>{let n=E(t.environmentId)?.git.archiveWorktree;if(!n){Y.add(X({type:`error`,title:`Archive unavailable`,description:`This environment does not support worktree archiving.`}));return}n({worktreeId:he.make(e.worktree.worktreeId),deleteBranch:!1}).catch(e=>{Y.add(X({type:`error`,title:`Failed to archive worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})},[t.environmentId]),$t=(0,Z.useCallback)(e=>{(async()=>{let n=st();if(n&&!await n.dialogs.confirm([`Delete worktree "${e.worktree.branch}"?`,`This permanently removes the worktree and its sessions.`].join(`
|
|
12
|
-
`)))return;let r=E(t.environmentId);if(!r){Y.add(X({type:`error`,title:`Delete unavailable`,description:`This environment is not connected.`}));return}let i=e.worktree.worktreeId,a=[...e.sessions.map(e=>e.id),...e.archivedSessions.map(e=>e.id)];for(let e of a)await o(Io(t.environmentId,e),{optimistic:!0});if(Gp(i))return;let s=r.git.deleteWorktree;if(!s){Y.add(X({type:`error`,title:`Delete unavailable`,description:`This environment does not support worktree deletion.`}));return}try{await s({worktreeId:he.make(i),deleteBranch:!1})}catch(e){let t=e instanceof Error?e.message:`An error occurred.`,n=Y.add(X({type:`error`,title:`Failed to delete worktree`,description:`${t}\n\nIf the worktree no longer exists on disk and isn't tracked by git, force-remove it from the list.`,actionVariant:`destructive`,actionProps:{children:`Force delete from list`,onClick:()=>{Y.close(n),(async()=>{await s({worktreeId:he.make(i),deleteBranch:!1,force:!0})})().catch(e=>{Y.add(X({type:`error`,title:`Failed to force delete worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})}}}))}})().catch(e=>{Y.add(X({type:`error`,title:`Failed to delete worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})},[o,t.environmentId]),en=(0,Z.useCallback)(e=>{let n=E(t.environmentId)?.git.restoreWorktree;if(!n){Y.add(X({type:`error`,title:`Restore unavailable`,description:`This environment does not support worktree restore.`}));return}n({worktreeId:he.make(e.worktree.worktreeId)}).catch(e=>{Y.add(X({type:`error`,title:`Failed to restore worktree`,description:e instanceof Error?e.message:`An error occurred.`}))})},[t.environmentId]),tn=(0,Z.useCallback)(async(e,n)=>{let r=n.trim();if(r.length===0){Y.add({type:`warning`,title:`Worktree title cannot be empty`});return}let i=E(t.environmentId);if(!i){Y.add(X({type:`error`,title:`Failed to rename worktree`,description:`Project API unavailable.`}));return}try{let n=new Date().toISOString(),a=he.make(e.worktree.worktreeId);await i.orchestration.dispatchCommand({type:`worktree.meta.update`,commandId:O(),worktreeId:a,title:r,changedAt:n}),qe.getState().setSidebarWorktreeTitle(t.environmentId,a,r,n)}catch(e){Y.add(X({type:`error`,title:`Failed to rename worktree`,description:e instanceof Error?e.message:`An error occurred.`}))}},[t.environmentId]),nn=(0,Z.useCallback)(async e=>{try{let t=U.current.get(zo(e))??null;if(t&&!_i(t)){Y.add({type:`warning`,title:`Send a message before archiving`});return}await a(e)}catch(e){Y.add(X({type:`error`,title:`Failed to archive thread`,description:e instanceof Error?e.message:`An error occurred.`}))}},[a]),rn=(0,Z.useCallback)(()=>{ae(null),nt.current=null},[]),an=(0,Z.useCallback)(async(e,t,n)=>{let r=zo(e),i=()=>{ae(e=>e===r?(nt.current=null,null):e)},a=t.trim();if(a.length===0){Y.add({type:`warning`,title:`Thread title cannot be empty`}),i();return}if(a===n){i();return}let o=E(e.environmentId);if(!o){i();return}try{await o.orchestration.dispatchCommand({type:`thread.meta.update`,commandId:O(),threadId:e.threadId,title:a})}catch(e){Y.add(X({type:`error`,title:`Failed to rename thread`,description:e instanceof Error?e.message:`An error occurred.`}))}i()},[]),on=(0,Z.useCallback)(()=>{we(null),De(``)},[]),sn=(0,Z.useCallback)(()=>{Re.current!==null&&(window.cancelAnimationFrame(Re.current),Re.current=null),Ie(!1),ze.current!==null&&window.clearTimeout(ze.current),ze.current=window.setTimeout(()=>{ze.current=null,Pe(null),Ue(``),Ge(``),Je(``),Xe(!1),Qe(null),et(null)},340)},[]),ln=(0,Z.useCallback)(async()=>{let e=st();if(!e){Y.add({type:`error`,title:`Folder picker is unavailable.`});return}let t=await e.dialogs.pickFolder({initialPath:We.trim()||Ne?.cwd||null});t&&Ge(t)},[Ne?.cwd,We]),un=(0,Z.useCallback)(async()=>{if(!Ne||Ye)return;let e=He.trim(),t=We.trim(),n=Ke.trim();if(e.length===0){Y.add({type:`warning`,title:`Project title cannot be empty`});return}if(t.length===0){Y.add({type:`warning`,title:`Project root cannot be empty`});return}let r=e!==Ne.name,i=t!==Ne.cwd,a=n!==(Ne.customSystemPrompt?.trim()??``),o=$e!==(Ne.preferredRemoteName??null);if(!r&&!i&&!a&&!o){sn();return}let s=E(Ne.environmentId);if(!s){Y.add(X({type:`error`,title:`Failed to update project`,description:`Project API unavailable.`}));return}Xe(!0);try{await s.orchestration.dispatchCommand({type:`project.meta.update`,commandId:O(),projectId:Ne.id,...r?{title:e}:{},...i?{workspaceRoot:t}:{},...a?{customSystemPrompt:n.length>0?n:null}:{},...o?{preferredRemoteName:$e}:{}}),sn()}catch(e){Xe(!1),Y.add(X({type:`error`,title:`Failed to update project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[sn,Ye,Ke,$e,Ne,He,We]),dn=(0,Z.useCallback)(async()=>{if(!Se)return;let e=Te.trim();if(e.length===0){Y.add({type:`warning`,title:`Project title cannot be empty`});return}if(e===Se.name){on();return}let t=E(Se.environmentId);if(!t){Y.add(X({type:`error`,title:`Failed to rename project`,description:`Project API unavailable.`}));return}try{await t.orchestration.dispatchCommand({type:`project.meta.update`,commandId:O(),projectId:Se.id,title:e}),on()}catch(e){Y.add(X({type:`error`,title:`Failed to rename project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[on,Se,Te]),fn=(0,Z.useCallback)(async e=>{let t=Ne;if(!t)return;let n=E(t.environmentId);if(!n)return;let r=cn({environmentId:t.environmentId,pathname:`/api/project-avatar/upload`,searchParams:{projectId:t.id}}),i=new FormData;i.append(`avatar`,e);try{let e=await fetch(r,{method:`POST`,body:i,credentials:`include`});if(!e.ok){let t=await e.text().catch(()=>``);throw Error(t||`Upload failed: ${e.status}`)}let{contentHash:a}=await e.json();await n.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:O(),projectId:t.id,contentHash:a}),Le.current?.id===t.id&&Qe(a)}catch(e){if(Le.current?.id!==t.id)return;Y.add(X({type:`error`,title:`Failed to upload avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[Ne]),pn=(0,Z.useCallback)(async()=>{let e=Ne;if(!e)return;let t=E(e.environmentId);if(t)try{await t.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:O(),projectId:e.id,contentHash:null}),Le.current?.id===e.id&&Qe(null)}catch(t){if(Le.current?.id!==e.id)return;Y.add(X({type:`error`,title:`Failed to remove avatar`,description:t instanceof Error?t.message:`An error occurred.`}))}},[Ne]),mn=(0,Z.useCallback)((e,t)=>{let n=(e.repositoryIdentity?.remotes??[]).find(e=>e.name===t);if(!n)return;let r=Ag(n.url);if(!r)return;let i=st();i&&i.shell.openExternal(r).catch(e=>{Y.add(X({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))})},[]),hn=(0,Z.useCallback)(()=>{Ae(null),Me(`inherit`)},[]),gn=(0,Z.useCallback)(()=>{if(!ke)return;let e=Nt(ke),t={...x.sidebarProjectGroupingOverrides};je===`inherit`?delete t[e]:t[e]=je,C({sidebarProjectGroupingOverrides:t}),hn()},[hn,je,x.sidebarProjectGroupingOverrides,ke,C]),_n=(0,Z.useCallback)(async(e,n)=>{let r=st();if(!r)return;let i=zo(e),a=U.current.get(i)??null;if(!a)return;let o=a.draftId,s=!o&&_i(a),c=it.get(Lo(Zo(a.environmentId,a.projectId))),l=a.worktreePath??c?.cwd??t.cwd??null;if(o){I>0&&N(),await r.contextMenu.show([{id:`close`,label:`Close session`}],n)===`close`&&await Rt(a);return}let u=await r.contextMenu.show([{id:`rename`,label:`Rename thread`},{id:`mark-unread`,label:`Mark unread`},{id:`copy-path`,label:`Copy Path`},{id:`copy-thread-id`,label:`Copy Thread ID`},...s?[{id:`archive`,label:`Archive session`}]:[],{id:`close`,label:a.worktreeId||a.worktreePath?`Close session`:`Delete thread`,destructive:!0}],n);if(u===`rename`){ae(i),se(a.title),tt.current=!1;return}if(u===`mark-unread`){k(i,a.latestTurn?.completedAt);return}if(u===`copy-path`){if(!l){Y.add(X({type:`error`,title:`Path unavailable`,description:`This thread does not have a workspace path to copy.`}));return}R(l,{path:l});return}if(u===`copy-thread-id`){L(a.id,{threadId:a.id});return}if(u===`archive`){await nn(e);return}u===`close`&&await Rt(a)},[nn,N,Rt,R,L,k,it,t.cwd,I]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{ref:ve,className:`group/project-header relative`,children:[(0,$.jsxs)(Ca,{ref:h?g?.setActivatorNodeRef:void 0,size:`sm`,className:`gap-2 px-2 py-1.5 pr-14 text-left hover:bg-accent group-hover/project-header:bg-accent group-hover/project-header:text-sidebar-accent-foreground ${h?`cursor-grab active:cursor-grabbing`:`cursor-pointer`}`,...h&&g?g.attributes:{},...h&&g?g.listeners:{},onPointerDownCapture:Dt,onClick:Tt,onKeyDown:Et,onContextMenu:Ft,children:[!G&&pt?(0,$.jsx)(`span`,{"aria-hidden":`true`,title:pt.label,className:`-ml-0.5 relative inline-flex size-3.5 shrink-0 items-center justify-center ${pt.colorClass}`,children:(0,$.jsx)(`span`,{className:`size-[9px] rounded-full ${pt.dotClass} ${pt.pulse?`animate-pulse`:``}`})}):null,(0,$.jsx)(Kc,{environmentId:t.environmentId,cwd:t.cwd,projectId:t.id,customAvatarContentHash:t.customAvatarContentHash??null,className:`size-[18px]`}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium text-foreground/90`,children:t.displayName}),(0,$.jsx)(bg,{issueCount:ft.issues,pullRequestCount:ft.pullRequests,onIssuesClick:()=>_e({open:!0,initialTab:`issues`}),onPullRequestsClick:()=>_e({open:!0,initialTab:`prs`})}),t.groupedProjectCount>1?(0,$.jsxs)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground/60`,children:[t.groupedProjectCount,` projects`]}):null]})]}),t.environmentPresence===`remote-only`&&(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`span`,{"aria-label":t.environmentPresence===`remote-only`?`Remote project`:`Available in multiple environments`,className:`pointer-events-none absolute top-1 right-1.5 inline-flex size-5 items-center justify-center rounded-md text-muted-foreground/60 transition-opacity duration-150 max-sm:right-7 group-hover/project-header:opacity-0 group-focus-within/project-header:opacity-0 max-sm:group-hover/project-header:opacity-100 max-sm:group-focus-within/project-header:opacity-100`}),children:(0,$.jsx)(wi,{className:`size-3`})}),(0,$.jsxs)(ne,{side:`top`,children:[`Remote environment: `,t.remoteEnvironmentLabels.join(`, `)]})]}),(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`div`,{className:`pointer-events-none absolute top-1 right-7 opacity-0 transition-opacity duration-150 max-sm:pointer-events-auto max-sm:opacity-100 group-hover/project-header:pointer-events-auto group-hover/project-header:opacity-100 group-focus-within/project-header:pointer-events-auto group-focus-within/project-header:opacity-100`,children:(0,$.jsx)(`button`,{type:`button`,"aria-label":`Create new workspace in ${t.displayName}`,"data-testid":`new-thread-button`,className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 hover:bg-secondary hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring`,onClick:Wt,children:(0,$.jsx)(ar,{className:`size-3.5`})})})}),(0,$.jsx)(ne,{side:`top`,children:`New workspace`})]}),(0,$.jsxs)(Ve,{children:[(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(Oe,{"aria-label":`Open project settings for ${t.displayName}`,className:`pointer-events-none absolute top-1 right-1.5 inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 opacity-0 transition-opacity duration-150 hover:bg-secondary hover:text-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring max-sm:pointer-events-auto max-sm:opacity-100 group-hover/project-header:pointer-events-auto group-hover/project-header:opacity-100 group-focus-within/project-header:pointer-events-auto group-focus-within/project-header:opacity-100`}),children:(0,$.jsx)(jo,{className:`size-3.5`})}),(0,$.jsx)(ne,{side:`top`,children:`Project settings`})]}),(0,$.jsx)(Zt,{align:`end`,side:`bottom`,className:`min-w-48`,children:(0,$.jsx)(Mg,{project:t,onCopyPath:e=>{R(e.cwd,{path:e.cwd})},onGrouping:kt,onOpenRemote:jt,onRemove:e=>{Pt(e)},onRename:Ot,onSettings:At})})]})]}),Ct?.isGitRepo?(0,$.jsx)(cm,{treeProject:Ct,projectExpanded:G,visibleThreadKeys:wt,attachThreadListAutoAnimateRef:c,resolveThreadGitStatusTarget:at,onArchiveWorktree:Xt,onCopyWorktreePath:Jt,onDeleteWorktree:$t,onNewSession:Gt,onOpenInEditor:Yt,onOpenWorktree:Kt,onRenameWorktree:tn,onRestoreWorktree:en,renderThread:(e,n,i)=>{let a=zo(Io(e.environmentId,e.id));return(0,$.jsx)(gg,{thread:e,projectCwd:t.cwd,gitStatus:i,orderedProjectThreadKeys:n,isActive:r===a,jumpLabel:s.get(a)??null,appSettingsConfirmThreadArchive:!1,renamingThreadKey:K,renamingTitle:oe,setRenamingTitle:se,renamingInputRef:nt,renamingCommittedRef:tt,confirmingArchiveThreadKey:ce,setConfirmingArchiveThreadKey:q,confirmArchiveButtonRefs:rt,handleThreadClick:zt,navigateToThread:It,navigateToDraft:Lt,handleMultiSelectContextMenu:Ht,handleThreadContextMenu:_n,closeThread:Rt,clearSelection:N,commitRename:an,cancelRename:rn,attemptArchiveThread:nn,openPrLink:ee,isTreeChild:!0},a)}}):(0,$.jsx)(yg,{projectKey:t.projectKey,projectExpanded:G,hasOverflowingThreads:_t,hiddenThreadStatus:vt,orderedProjectThreadKeys:ht,renderedThreads:yt,showEmptyThreadState:bt,shouldShowThreadPanel:xt,isThreadListExpanded:n,projectCwd:t.cwd,activeRouteThreadKey:r,threadJumpLabelByKey:s,appSettingsConfirmThreadArchive:!1,renamingThreadKey:K,renamingTitle:oe,setRenamingTitle:se,renamingInputRef:nt,renamingCommittedRef:tt,confirmingArchiveThreadKey:ce,setConfirmingArchiveThreadKey:q,confirmArchiveButtonRefs:rt,attachThreadListAutoAnimateRef:c,handleThreadClick:zt,navigateToThread:It,navigateToDraft:Lt,handleMultiSelectContextMenu:Ht,handleThreadContextMenu:_n,closeThread:Rt,clearSelection:N,commitRename:an,cancelRename:rn,attemptArchiveThread:nn,openPrLink:ee,expandThreadListForProject:l,collapseThreadListForProject:u}),(0,$.jsx)(ei,{open:ue,environmentId:t.environmentId,projectId:t.id,cwd:t.cwd,initialTab:fe,onCreated:e=>{It(Io(t.environmentId,e.sessionId))},onOpenChange:de}),(0,$.jsx)(bh,{open:ge.open,projectName:t.displayName,memberProjects:t.memberProjects,initialTab:ge.initialTab,onOpenChange:e=>_e(t=>({...t,open:e}))}),(0,$.jsx)(Lg,{open:Fe,target:Ne,title:He,customAvatarContentHash:Ze,preferredRemoteName:$e,workspaceRoot:We,customSystemPrompt:Ke,saving:Ye,onClose:sn,onSave:()=>void un(),onTitleChange:Ue,onWorkspaceRootChange:Ge,onCustomSystemPromptChange:Je,onPreferredRemoteChange:et,onPickWorkspaceRoot:()=>void ln(),onOpenRemote:mn,onUploadAvatar:fn,onRemoveAvatar:pn}),(0,$.jsx)(Zr,{open:Se!==null,onOpenChange:e=>{e||on()},children:(0,$.jsxs)(Kn,{className:`max-w-lg`,children:[(0,$.jsxs)(oi,{children:[(0,$.jsx)(Ti,{children:`Rename project`}),(0,$.jsx)(wr,{children:Se?`Update the title for ${Se.cwd}.`:`Update the project title.`})]}),(0,$.jsxs)(Mo,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Project title`}),(0,$.jsx)(tr,{"aria-label":`Project title`,value:Te,onChange:e=>De(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Ba(e)&&(e.preventDefault(),dn())}})]}),Se?.environmentLabel?(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Environment: `,Se.environmentLabel]}):null]}),(0,$.jsxs)(Ir,{children:[(0,$.jsx)(J,{variant:`outline`,onClick:on,children:`Cancel`}),(0,$.jsx)(J,{onClick:()=>void dn(),children:`Save`})]})]})}),(0,$.jsx)(Zr,{open:ke!==null,onOpenChange:e=>{e||hn()},children:(0,$.jsxs)(Kn,{className:`max-w-lg`,children:[(0,$.jsxs)(oi,{children:[(0,$.jsx)(Ti,{children:`Project grouping`}),(0,$.jsx)(wr,{children:ke?`Choose how ${ke.cwd} should be grouped in the sidebar.`:`Choose how this project should be grouped in the sidebar.`})]}),(0,$.jsxs)(Mo,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Grouping rule`}),(0,$.jsxs)(ko,{value:je,onValueChange:e=>{(e===`inherit`||e===`repository`||e===`repository_path`||e===`separate`)&&Me(e)},children:[(0,$.jsx)(bo,{className:`w-full`,"aria-label":`Project grouping rule`,children:(0,$.jsx)(gi,{children:je===`inherit`?`Use global default (${cg[x.sidebarProjectGroupingMode]})`:cg[je]})}),(0,$.jsxs)(Xn,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(di,{hideIndicator:!0,value:`inherit`,children:`Use global default`}),(0,$.jsx)(di,{hideIndicator:!0,value:`repository`,children:cg.repository}),(0,$.jsx)(di,{hideIndicator:!0,value:`repository_path`,children:cg.repository_path}),(0,$.jsx)(di,{hideIndicator:!0,value:`separate`,children:cg.separate})]})]})]}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:dg(je===`inherit`?x.sidebarProjectGroupingMode:je)})]}),(0,$.jsxs)(Ir,{children:[(0,$.jsx)(J,{variant:`outline`,onClick:hn,children:`Cancel`}),(0,$.jsx)(J,{onClick:gn,children:`Save`})]})]})})]})}),Xg=(0,Z.memo)(function(e){let t=(0,Q.c)(2),n;return t[0]===e?n=t[1]:(n=(0,$.jsx)(Ji,{className:`rounded-md`,children:(0,$.jsx)(Yg,{...e})}),t[0]=e,t[1]=n),n});function Zg(){let e=(0,Q.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`g`,{transform:`matrix(1080.539877,0,0,1080.539877,272,1401.377914)`,children:(0,$.jsx)(`path`,{d:`M0.055,-0.494L0.055,-0L0.104,-0L0.104,-0.288C0.104,-0.378 0.175,-0.452 0.267,-0.453C0.296,-0.453 0.325,-0.446 0.351,-0.43L0.373,-0.47C0.34,-0.49 0.304,-0.5 0.267,-0.499C0.204,-0.499 0.134,-0.473 0.103,-0.406L0.101,-0.494L0.055,-0.494Z`})}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`g`,{transform:`matrix(1080.539877,0,0,1080.539877,729.068368,1401.377914)`,children:(0,$.jsx)(`path`,{d:`M0.424,-0.494L0.3,-0.203L0.243,-0.059L0.185,-0.202L0.07,-0.494L0.017,-0.494L0.215,-0.006L0.124,0.206L0.176,0.206L0.477,-0.494L0.424,-0.494Z`})}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`g`,{transform:`matrix(1080.539877,0,0,1080.539877,1287.707485,1401.377914)`,children:(0,$.jsx)(`path`,{d:`M0.427,-0.102C0.387,-0.062 0.333,-0.041 0.28,-0.041C0.168,-0.041 0.074,-0.114 0.074,-0.247C0.074,-0.38 0.168,-0.453 0.28,-0.453C0.333,-0.453 0.388,-0.434 0.428,-0.394L0.46,-0.425C0.41,-0.474 0.345,-0.499 0.28,-0.499C0.137,-0.499 0.026,-0.403 0.026,-0.247C0.026,-0.091 0.141,0.005 0.28,0.005C0.345,0.005 0.41,-0.019 0.46,-0.069L0.427,-0.102Z`})}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`svg`,{"aria-label":`Ryco`,className:`h-3 w-auto shrink-0 text-foreground`,viewBox:`650 1050 2150 800`,xmlns:`http://www.w3.org/2000/svg`,fill:`currentColor`,children:(0,$.jsx)(`g`,{transform:`matrix(0.718921,0,0,1,443.224836,208.15748)`,children:(0,$.jsxs)(`g`,{transform:`matrix(1.390973,0,0,1,-106.34474,0)`,children:[t,n,r,(0,$.jsx)(`g`,{transform:`matrix(1080.539877,0,0,1080.539877,1844.185521,1401.377914)`,children:(0,$.jsx)(`path`,{d:`M0.283,0.007C0.422,0.007 0.534,-0.089 0.534,-0.246C0.534,-0.403 0.422,-0.503 0.283,-0.503C0.144,-0.503 0.032,-0.403 0.032,-0.246C0.032,-0.089 0.144,0.007 0.283,0.007ZM0.283,-0.041C0.171,-0.041 0.08,-0.118 0.08,-0.246C0.08,-0.374 0.171,-0.457 0.283,-0.457C0.395,-0.457 0.486,-0.374 0.486,-0.246C0.486,-0.118 0.395,-0.041 0.283,-0.041Z`})})]})})}),e[3]=i):i=e[3],i}function Qg(e){let t=(0,Q.c)(27),{projectSortOrder:n,threadSortOrder:r,projectGroupingMode:i,onProjectSortOrderChange:a,onThreadSortOrderChange:o,onProjectGroupingModeChange:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(Oe,{className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 transition-colors hover:bg-accent hover:text-foreground`}),children:(0,$.jsx)(sc,{className:`size-3.5`})}),(0,$.jsx)(ne,{side:`right`,children:`Sort projects`})]}),t[0]=c):c=t[0];let l;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`div`,{className:`px-2 py-1 sm:text-xs font-medium text-muted-foreground`,children:`Sort projects`}),t[1]=l):l=t[1];let u;t[2]===a?u=t[3]:(u=e=>{a(e)},t[2]=a,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=Object.entries(ig).map(t_),t[4]=d):d=t[4];let f;t[5]!==n||t[6]!==u?(f=(0,$.jsxs)(Je,{children:[l,(0,$.jsx)(ue,{value:n,onValueChange:u,children:d})]}),t[5]=n,t[6]=u,t[7]=f):f=t[7];let p;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`div`,{className:`px-2 pt-2 pb-1 sm:text-xs font-medium text-muted-foreground`,children:`Sort threads`}),t[8]=p):p=t[8];let m;t[9]===o?m=t[10]:(m=e=>{o(e)},t[9]=o,t[10]=m);let h;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=Object.entries(ag).map(e_),t[11]=h):h=t[11];let g;t[12]!==m||t[13]!==r?(g=(0,$.jsxs)(Je,{children:[p,(0,$.jsx)(ue,{value:r,onValueChange:m,children:h})]}),t[12]=m,t[13]=r,t[14]=g):g=t[14];let _;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(Ze,{}),t[15]=_):_=t[15];let v;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`div`,{className:`px-2 pt-2 pb-1 font-medium text-muted-foreground sm:text-xs`,children:`Group projects`}),t[16]=v):v=t[16];let y;t[17]===s?y=t[18]:(y=e=>{(e===`repository`||e===`repository_path`||e===`separate`)&&s(e)},t[17]=s,t[18]=y);let b;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(b=Object.entries(cg).map($g),t[19]=b):b=t[19];let x;t[20]!==i||t[21]!==y?(x=(0,$.jsxs)(Je,{children:[v,(0,$.jsx)(ue,{value:i,onValueChange:y,children:b})]}),t[20]=i,t[21]=y,t[22]=x):x=t[22];let S;return t[23]!==x||t[24]!==f||t[25]!==g?(S=(0,$.jsxs)(Ve,{children:[c,(0,$.jsxs)(Zt,{align:`end`,side:`bottom`,className:`min-w-44`,children:[f,g,_,x]})]}),t[23]=x,t[24]=f,t[25]=g,t[26]=S):S=t[26],S}function $g(e){let[t,n]=e;return(0,$.jsx)(et,{value:t,className:`min-h-7 py-1 sm:text-xs`,children:n},t)}function e_(e){let[t,n]=e;return(0,$.jsx)(et,{value:t,className:`min-h-7 py-1 sm:text-xs`,children:n},t)}function t_(e){let[t,n]=e;return(0,$.jsx)(et,{value:t,className:`min-h-7 py-1 sm:text-xs`,children:n},t)}function n_(e){let t=(0,Q.c)(18),{projectId:n,disabled:r,children:i}=e,a=r===void 0?!1:r,o;t[0]!==a||t[1]!==n?(o={id:n,disabled:a},t[0]=a,t[1]=n,t[2]=o):o=t[2];let{attributes:s,listeners:c,setActivatorNodeRef:l,setNodeRef:u,transform:d,transition:f,isDragging:p,isOver:m}=tp(o),h;t[3]===d?h=t[4]:(h=du.Translate.toString(d),t[3]=d,t[4]=h);let g;t[5]!==h||t[6]!==f?(g={transform:h,transition:f},t[5]=h,t[6]=f,t[7]=g):g=t[7];let _=`group/menu-item relative rounded-md ${p?`z-20 opacity-80`:``} ${m&&!p?`ring-1 ring-primary/40`:``}`,v;t[8]!==s||t[9]!==i||t[10]!==c||t[11]!==l?(v=i({attributes:s,listeners:c,setActivatorNodeRef:l}),t[8]=s,t[9]=i,t[10]=c,t[11]=l,t[12]=v):v=t[12];let y;return t[13]!==u||t[14]!==g||t[15]!==_||t[16]!==v?(y=(0,$.jsx)(`li`,{ref:u,style:g,className:_,"data-sidebar":`menu-item`,"data-slot":`sidebar-menu-item`,children:v}),t[13]=u,t[14]=g,t[15]=_,t[16]=v,t[17]=y):y=t[17],y}var r_=(0,Z.memo)(function(e){let t=(0,Q.c)(18),{isElectron:n}=e,{isMobile:r,setOpenMobile:i}=Ka(),a=Mr(s_),o;t[0]!==r||t[1]!==a||t[2]!==i?(o=()=>{r&&i(!1),a()},t[0]=r,t[1]=a,t[2]=i,t[3]=o):o=t[3];let s=o,c,l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(yo,{className:`size-3.5`}),l=(0,$.jsx)(`span`,{className:`hidden text-xs @[12rem]/sidebar-header:inline`,children:`Settings`}),t[4]=c,t[5]=l):(c=t[4],l=t[5]);let u;t[6]===s?u=t[7]:(u=(0,$.jsx)(me,{render:(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Settings`,onClick:s,className:`ml-auto inline-flex shrink-0 cursor-pointer items-center gap-1.5 rounded-md px-1.5 py-1 text-muted-foreground/70 outline-hidden ring-ring transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-2`,children:[c,l]})}),t[6]=s,t[7]=u);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(ne,{side:`bottom`,sideOffset:2,children:`Settings`}),t[8]=d):d=t[8];let f;t[9]===u?f=t[10]:(f=(0,$.jsxs)(Ee,{children:[u,d]}),t[9]=u,t[10]=f);let p=f,m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(pa,{className:`shrink-0 md:hidden`}),t[11]=m):m=t[11];let h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsxs)(ti,{"aria-label":`Go to threads`,className:`ml-1 flex min-w-0 cursor-pointer items-center gap-1 rounded-md outline-hidden ring-ring transition-colors hover:text-foreground focus-visible:ring-2`,to:`/`,children:[(0,$.jsx)(Zg,{}),(0,$.jsx)(`span`,{className:`rounded-full bg-muted/50 px-1.5 py-0.5 text-[8px] font-medium uppercase tracking-[0.18em] text-muted-foreground/60`,children:ln})]})}),(0,$.jsxs)(ne,{side:`bottom`,sideOffset:2,children:[`Version `,yt]})]}),t[12]=h):h=t[12];let g;t[13]===p?g=t[14]:(g=(0,$.jsxs)(`div`,{className:`@container/sidebar-header flex w-full min-w-0 items-center gap-2`,children:[m,h,p]}),t[13]=p,t[14]=g);let _=g,v;return t[15]!==n||t[16]!==_?(v=n?(0,$.jsx)(co,{className:`drag-region h-[52px] flex-row items-center gap-2 px-4 py-0 pl-[90px] wco:h-[env(titlebar-area-height)] wco:pl-[calc(env(titlebar-area-x)+1em)]`,children:_}):(0,$.jsx)(co,{className:`gap-3 px-3 py-2 sm:gap-2.5 sm:px-4 sm:py-3`,children:_}),t[15]=n,t[16]=_,t[17]=v):v=t[17],v}),i_=(0,Z.memo)(function(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(zn,{className:`p-2`,children:[(0,$.jsx)($h,{}),(0,$.jsx)(kp,{})]}),e[0]=t):t=e[0],t}),a_=(0,Z.memo)(function(e){let t=(0,Q.c)(71),{showArm64IntelBuildWarning:n,arm64IntelBuildWarningDescription:r,desktopUpdateButtonAction:i,desktopUpdateButtonDisabled:a,handleDesktopUpdateButtonClick:o,projectSortOrder:s,threadSortOrder:c,projectGroupingMode:l,updateSettings:u,openAddProject:d,isManualProjectSorting:f,projectDnDSensors:p,projectCollisionDetection:m,handleProjectDragStart:h,handleProjectDragEnd:g,handleProjectDragCancel:_,handleNewThread:v,archiveThread:y,deleteThread:b,sortedProjects:x,expandedThreadListsByProject:S,activeRouteProjectKey:C,routeThreadKey:w,newThreadShortcutLabel:T,commandPaletteShortcutLabel:E,threadJumpLabelByKey:D,attachThreadListAutoAnimateRef:O,expandThreadListForProject:k,collapseThreadListForProject:A,dragInProgressRef:j,suppressProjectClickAfterDragRef:M,suppressProjectClickForContextMenuRef:N,attachProjectListAutoAnimateRef:P,projectsLength:F}=e,I;t[0]===u?I=t[1]:(I=e=>{u({sidebarProjectSortOrder:e})},t[0]=u,t[1]=I);let L=I,R;t[2]===u?R=t[3]:(R=e=>{u({sidebarThreadSortOrder:e})},t[2]=u,t[3]=R);let ee=R,z;t[4]===u?z=t[5]:(z=e=>{u({sidebarProjectGroupingMode:e})},t[4]=u,t[5]=z);let B=z,V,H,U;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(Ca,{size:`sm`,className:`gap-2 px-2 py-1.5 text-muted-foreground/70 hover:bg-accent hover:text-foreground focus-visible:ring-0`,"data-testid":`command-palette-trigger`}),H=(0,$.jsx)(Nn,{className:`size-3.5`}),U=(0,$.jsx)(`span`,{className:`flex-1 truncate text-left text-xs`,children:`Search`}),t[6]=V,t[7]=H,t[8]=U):(V=t[6],H=t[7],U=t[8]);let W;t[9]===E?W=t[10]:(W=E?(0,$.jsx)(ki,{className:`h-4 min-w-0 rounded-sm px-1.5 text-[10px]`,children:E}):null,t[9]=E,t[10]=W);let G;t[11]===W?G=t[12]:(G=(0,$.jsx)(la,{className:`px-2 pt-2 pb-1`,children:(0,$.jsx)(to,{children:(0,$.jsx)(Ji,{children:(0,$.jsxs)($i,{render:V,children:[H,U,W]})})})}),t[11]=W,t[12]=G);let te;t[13]!==r||t[14]!==i||t[15]!==a||t[16]!==o||t[17]!==n?(te=n&&r?(0,$.jsx)(la,{className:`px-2 pt-2 pb-0`,children:(0,$.jsxs)(hs,{variant:`warning`,className:`rounded-2xl border-warning/40 bg-warning/8`,children:[(0,$.jsx)(fs,{}),(0,$.jsx)(us,{children:`Intel build on Apple Silicon`}),(0,$.jsx)(ps,{children:r}),i===`none`?null:(0,$.jsx)(ds,{children:(0,$.jsx)(J,{size:`xs`,variant:`outline`,disabled:a,onClick:o,children:i===`download`?`Download ARM build`:`Install ARM build`})})]})}):null,t[13]=r,t[14]=i,t[15]=a,t[16]=o,t[17]=n,t[18]=te):te=t[18];let re;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,$.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wider text-muted-foreground/60`,children:`Projects`}),t[19]=re):re=t[19];let ie;t[20]!==B||t[21]!==L||t[22]!==ee||t[23]!==l||t[24]!==s||t[25]!==c?(ie=(0,$.jsx)(Qg,{projectSortOrder:s,threadSortOrder:c,projectGroupingMode:l,onProjectSortOrderChange:L,onThreadSortOrderChange:ee,onProjectGroupingModeChange:B}),t[20]=B,t[21]=L,t[22]=ee,t[23]=l,t[24]=s,t[25]=c,t[26]=ie):ie=t[26];let K;t[27]===d?K=t[28]:(K=(0,$.jsx)(`button`,{type:`button`,"aria-label":`Add project`,"data-testid":`sidebar-add-project-trigger`,className:`inline-flex size-5 cursor-pointer items-center justify-center rounded-md text-muted-foreground/60 transition-colors hover:bg-accent hover:text-foreground`,onClick:d}),t[27]=d,t[28]=K);let ae;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(bc,{className:`size-3.5`}),t[29]=ae):ae=t[29];let oe;t[30]===K?oe=t[31]:(oe=(0,$.jsx)(me,{render:K,children:ae}),t[30]=K,t[31]=oe);let se;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(ne,{side:`right`,children:`Add project`}),t[32]=se):se=t[32];let ce;t[33]===oe?ce=t[34]:(ce=(0,$.jsxs)(Ee,{children:[oe,se]}),t[33]=oe,t[34]=ce);let q;t[35]!==ie||t[36]!==ce?(q=(0,$.jsxs)(`div`,{className:`mb-1 flex items-center justify-between pl-2 pr-1.5`,children:[re,(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[ie,ce]})]}),t[35]=ie,t[36]=ce,t[37]=q):q=t[37];let le;t[38]!==C||t[39]!==y||t[40]!==P||t[41]!==O||t[42]!==A||t[43]!==b||t[44]!==j||t[45]!==k||t[46]!==S||t[47]!==v||t[48]!==_||t[49]!==g||t[50]!==h||t[51]!==f||t[52]!==T||t[53]!==m||t[54]!==p||t[55]!==w||t[56]!==x||t[57]!==M||t[58]!==N||t[59]!==D?(le=f?(0,$.jsx)(Df,{sensors:p,collisionDetection:m,modifiers:[ap,ip],onDragStart:h,onDragEnd:g,onDragCancel:_,children:(0,$.jsx)(to,{children:(0,$.jsx)(lg,{items:x.map(c_),strategy:Uf,children:x.map(e=>(0,$.jsx)(n_,{projectId:e.projectKey,children:t=>(0,$.jsx)(Yg,{project:e,isThreadListExpanded:S.has(e.projectKey),activeRouteThreadKey:C===e.projectKey?w:null,newThreadShortcutLabel:T,handleNewThread:v,archiveThread:y,deleteThread:b,threadJumpLabelByKey:D,attachThreadListAutoAnimateRef:O,expandThreadListForProject:k,collapseThreadListForProject:A,dragInProgressRef:j,suppressProjectClickAfterDragRef:M,suppressProjectClickForContextMenuRef:N,isManualProjectSorting:f,dragHandleProps:t})},e.projectKey))})})}):(0,$.jsx)(to,{ref:P,children:x.map(e=>(0,$.jsx)(Xg,{project:e,isThreadListExpanded:S.has(e.projectKey),activeRouteThreadKey:C===e.projectKey?w:null,newThreadShortcutLabel:T,handleNewThread:v,archiveThread:y,deleteThread:b,threadJumpLabelByKey:D,attachThreadListAutoAnimateRef:O,expandThreadListForProject:k,collapseThreadListForProject:A,dragInProgressRef:j,suppressProjectClickAfterDragRef:M,suppressProjectClickForContextMenuRef:N,isManualProjectSorting:f,dragHandleProps:null},e.projectKey))}),t[38]=C,t[39]=y,t[40]=P,t[41]=O,t[42]=A,t[43]=b,t[44]=j,t[45]=k,t[46]=S,t[47]=v,t[48]=_,t[49]=g,t[50]=h,t[51]=f,t[52]=T,t[53]=m,t[54]=p,t[55]=w,t[56]=x,t[57]=M,t[58]=N,t[59]=D,t[60]=le):le=t[60];let ue;t[61]===F?ue=t[62]:(ue=F===0&&(0,$.jsx)(`div`,{className:`px-2 pt-4 text-center text-xs text-muted-foreground/60`,children:`No projects yet`}),t[61]=F,t[62]=ue);let de;t[63]!==q||t[64]!==le||t[65]!==ue?(de=(0,$.jsxs)(la,{className:`px-2 py-2`,children:[q,le,ue]}),t[63]=q,t[64]=le,t[65]=ue,t[66]=de):de=t[66];let fe;return t[67]!==de||t[68]!==G||t[69]!==te?(fe=(0,$.jsxs)(ii,{className:`gap-0`,children:[G,te,de]}),t[67]=de,t[68]=G,t[69]=te,t[70]=fe):fe=t[70],fe});function o_(){Fn(`Sidebar`);let e=qe(ct(k)),t=qe(ct(Mt)),n=qe(ct(De)),r=be(e=>e.projectExpandedById),i=be(e=>e.projectOrder),a=be(e=>e.reorderProjects),o=On(),s=Bt(e=>e.sidebarThreadSortOrder),c=Bt(e=>e.sidebarProjectSortOrder),l=Bt(e=>e.sidebarProjectGroupingMode),u=Bt(e=>({sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides})),{updateSettings:d}=Qt(),{handleNewThread:f}=ua(),{archiveThread:m,deleteThread:h}=mp(),{isMobile:_,setOpenMobile:y}=Ka(),b=g({strict:!1,select:e=>v(e)}),x=g({strict:!1,select:e=>typeof e.draftId==`string`?e.draftId:null}),S=b?zo(b):null,C=Vt((0,Z.useMemo)(()=>e=>x?e.draftThreadsByThreadKey[x]??null:null,[x])),w=C?zo(Io(C.environmentId,C.threadId)):null,T=S??w,E=xn(),O=Ri(e=>e.openAddProject),[A,j]=(0,Z.useState)(()=>new Set),{showThreadJumpHints:M,updateThreadJumpHintsVisibility:N}=_r(),P=(0,Z.useRef)(!1),F=(0,Z.useRef)(!1),I=(0,Z.useRef)(!1),[L,R]=(0,Z.useState)(null),ee=Fi(e=>e.selectedThreadKeys.size),z=Fi(e=>e.clearSelection),H=Fi(e=>e.setAnchor),U=navigator.platform,G=lp(),te=lo(),ne=Yo(),re=vt(e=>e.byId),ie=Ct(e=>e.byId),K=(0,Z.useMemo)(()=>Hn({items:e,preferredIds:i,getId:D}),[i,e]),ae=(0,Z.useMemo)(()=>xh({projects:K,settings:u}),[K,u]),oe=(0,Z.useMemo)(()=>new Map(K.map(e=>[Lo(Zo(e.environmentId,e.id)),V(e)])),[K]),se=(0,Z.useMemo)(()=>Sh({projects:K,settings:u,primaryEnvironmentId:ne,resolveEnvironmentLabel:e=>{let t=ie[e],n=re[e];return t?.descriptor?.label??n?.label??null}}),[K,u,ne,re,ie]),ce=(0,Z.useMemo)(()=>new Map(se.map(e=>[e.projectKey,e])),[se]),q=(0,Z.useMemo)(()=>new Map(t.map(e=>[zo(Io(e.environmentId,e.id)),e])),[t]),le=(0,Z.useMemo)(()=>{if(!T)return null;let e=q.get(T)??(C?{environmentId:C.environmentId,projectId:C.projectId}:null);if(!e)return null;let t=oe.get(Lo(Zo(e.environmentId,e.projectId)))??Lo(Zo(e.environmentId,e.projectId));return ae.get(t)??t},[T,C,q,ae,oe]),ue=(0,Z.useMemo)(()=>{let e=new Map;for(let n of t){let t=oe.get(Lo(Zo(n.environmentId,n.projectId)))??Lo(Zo(n.environmentId,n.projectId)),r=ae.get(t)??t,i=e.get(r);i?i.push(n):e.set(r,[n])}return e},[t,ae,oe]),de=(0,Z.useMemo)(()=>{let e=new Map;for(let t of n){let n=oe.get(Lo(Zo(t.environmentId,t.projectId)))??Lo(Zo(t.environmentId,t.projectId)),r=ae.get(n)??n,i=e.get(r);i?i.push(t):e.set(r,[t])}return e},[n,ae,oe]),fe=(0,Z.useCallback)(()=>({terminalFocus:Zn(),terminalOpen:b?W(B.getState().terminalStateByThreadKey,b).terminalOpen:!1,modelPickerOpen:te}),[te,b]),pe=(0,Z.useMemo)(()=>({platform:U,context:{terminalFocus:!1,terminalOpen:!1}}),[U]),me=xa(E,`chat.newLocal`,pe)??xa(E,`chat.new`,pe),he=(0,Z.useCallback)(e=>{Fi.getState().selectedThreadKeys.size>0&&z(),H(zo(e)),_&&y(!1),o({to:`/$environmentId/$threadId`,params:p(e)})},[z,_,o,y,H]),ge=Du(Eu(kd,{activationConstraint:{distance:6}})),_e=(0,Z.useCallback)(e=>{let t=Ru(e);return t.length>0?t:Pu(e)},[]),ve=(0,Z.useCallback)(e=>{if(c!==`manual`){P.current=!1;return}P.current=!1;let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=se.find(e=>e.projectKey===t.id),i=se.find(e=>e.projectKey===n.id);!r||!i||a(r.memberProjects.map(e=>e.physicalProjectKey),i.memberProjects.map(e=>e.physicalProjectKey))},[c,a,se]),ye=(0,Z.useCallback)(e=>{c===`manual`&&(P.current=!0,F.current=!0)},[c]),xe=(0,Z.useCallback)(e=>{P.current=!1},[]),Se=si(e.length),Ce=No({projectCount:e.length,visibleThreadCount:t.length}),we=(0,Z.useRef)(new Map),Te=(0,Z.useCallback)(e=>{mg(we.current,e,Se)},[Se]);(0,Z.useEffect)(()=>{pg(we.current,Se)},[Se]);let Ee=(0,Z.useRef)(new Map),Oe=(0,Z.useCallback)(e=>{mg(Ee.current,e,Ce)},[Ce]);(0,Z.useEffect)(()=>{pg(Ee.current,Ce)},[Ce]);let ke=(0,Z.useMemo)(()=>t.filter(e=>e.archivedAt===null),[t]),Ae=(0,Z.useMemo)(()=>Ai(se.map(e=>({...e,id:e.projectKey})),ke.map(e=>{let t=oe.get(Lo(Zo(e.environmentId,e.projectId)))??Lo(Zo(e.environmentId,e.projectId));return{...e,projectId:ae.get(t)??t}}),c).flatMap(e=>{let t=ce.get(e.id);return t?[t]:[]}),[c,ae,oe,ce,se,ke]),je=c===`manual`,Me=(0,Z.useMemo)(()=>Ae.flatMap(e=>{let t=Qa(ue.get(e.projectKey)??[],s),n=r[e.projectKey]??!0,i=S??void 0,a=!n&&i&&t.filter(e=>e.archivedAt===null).find(e=>zo(Io(e.environmentId,e.id))===i)?i:null;if(!n&&!a)return[];let o=Om({project:e,threads:t,worktrees:de.get(e.projectKey)??[]}),c=Mp({nowMs:0,projects:[o.project],threads:o.threads,worktrees:o.worktrees}).projects[0];return c?c.worktrees.flatMap(e=>e.sessions.filter(e=>e.archivedAt===null).map(e=>zo(Io(e.environmentId,e.id))).filter(e=>n||e===a)):[]}),[s,r,S,Ae,ue,de]),Ne=(0,Z.useMemo)(()=>{let e=new Map;for(let[t,n]of Me.entries()){let r=Qi(t);if(!r)return e;e.set(n,r)}return e},[Me]),Pe=(0,Z.useMemo)(()=>[...Ne.keys()],[Ne]),Fe=(0,Z.useMemo)(()=>({terminalFocus:!1,terminalOpen:b?W(B.getState().terminalStateByThreadKey,b).terminalOpen:!1,modelPickerOpen:te}),[te,b]),Ie=(0,Z.useMemo)(()=>hg({keybindings:E,platform:U,terminalOpen:Fe.terminalOpen,threadJumpCommandByKey:Ne}),[E,U,Fe.terminalOpen,Ne]),Le=!no()&&Gi(G,E,{platform:U,context:Fe}),Re=M?Ie:sg,J=Me,ze=(0,Z.useMemo)(()=>Jr(Me),[Me]),Be=(0,Z.useMemo)(()=>ze.flatMap(e=>{let t=Po(e);return t?[t]:[]}),[ze]);(0,Z.useEffect)(()=>{let e=Be.map(e=>dt(e.environmentId,e.threadId));return()=>{for(let t of e)t()}},[Be]),(0,Z.useEffect)(()=>{N(Le)},[Le,N]),(0,Z.useEffect)(()=>{let e=e=>{let t=fe();if(e.defaultPrevented||e.repeat||_a(e))return;let n=La(e,E,{platform:U,context:t}),r=fi(n);if(r!==null){let t=Ea({threadIds:J,currentThreadId:S,direction:r});if(!t)return;let n=q.get(t);if(!n)return;e.preventDefault(),e.stopPropagation(),he(Io(n.environmentId,n.id));return}let i=To(n??``);if(i===null)return;let a=Pe[i];if(!a)return;let o=q.get(a);o&&(e.preventDefault(),e.stopPropagation(),he(Io(o.environmentId,o.id)))};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[fe,E,he,J,U,S,q,Pe]),(0,Z.useEffect)(()=>{let e=e=>{ee!==0&&qn(e.target instanceof HTMLElement?e.target:null)&&z()};return window.addEventListener(`mousedown`,e),()=>{window.removeEventListener(`mousedown`,e)}},[z,ee]),(0,Z.useEffect)(()=>{if(!wt)return;let e=window.desktopBridge;if(!e||typeof e.getUpdateState!=`function`||typeof e.onUpdateState!=`function`)return;let t=!1,n=!1,r=e.onUpdateState(e=>{t||(n=!0,R(e))});return e.getUpdateState().then(e=>{t||n||R(e)}).catch(()=>void 0),()=>{t=!0,r()}},[]);let Ve=vp(L),He=L?hp(L):`none`,Ue=wt&&_p(L),We=L&&Ue?yp(L):null,Ge=xa(E,`commandPalette.toggle`,pe),Ke=(0,Z.useCallback)(()=>{let e=window.desktopBridge;if(!(!e||!L)&&!(Ve||He===`none`)){if(He===`download`){e.downloadUpdate().then(e=>{if(e.completed&&Y.add({type:`success`,title:`Update downloaded`,description:`Restart the app from the update button to install it.`}),!Cp(e))return;let t=Sp(e);t&&Y.add(X({type:`error`,title:`Could not download update`,description:t}))}).catch(e=>{Y.add(X({type:`error`,title:`Could not start update download`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))});return}if(He===`install`){if(!window.confirm(xp(L)))return;e.installUpdate().then(e=>{if(!Cp(e))return;let t=Sp(e);t&&Y.add(X({type:`error`,title:`Could not install update`,description:t}))}).catch(e=>{Y.add(X({type:`error`,title:`Could not install update`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))})}}},[He,Ve,L]),Je=(0,Z.useCallback)(e=>{j(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),Ye=(0,Z.useCallback)(e=>{j(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(r_,{isElectron:wt}),(0,$.jsx)(a_,{showArm64IntelBuildWarning:Ue,arm64IntelBuildWarningDescription:We,desktopUpdateButtonAction:He,desktopUpdateButtonDisabled:Ve,handleDesktopUpdateButtonClick:Ke,projectSortOrder:c,threadSortOrder:s,projectGroupingMode:l,updateSettings:d,openAddProject:O,isManualProjectSorting:je,projectDnDSensors:ge,projectCollisionDetection:_e,handleProjectDragStart:ye,handleProjectDragEnd:ve,handleProjectDragCancel:xe,handleNewThread:f,archiveThread:m,deleteThread:h,sortedProjects:Ae,expandedThreadListsByProject:A,activeRouteProjectKey:le,routeThreadKey:T,newThreadShortcutLabel:me,commandPaletteShortcutLabel:Ge,threadJumpLabelByKey:Re,attachThreadListAutoAnimateRef:Oe,expandThreadListForProject:Je,collapseThreadListForProject:Ye,dragInProgressRef:P,suppressProjectClickAfterDragRef:F,suppressProjectClickForContextMenuRef:I,attachProjectListAutoAnimateRef:Te,projectsLength:e.length}),(0,$.jsx)(oa,{}),(0,$.jsx)(i_,{})]})}function s_(e){return e.openSettings}function c_(e){return e.projectKey}var l_=`.t3theme.json`,u_=/[^a-z0-9-_]+/gi;function d_(e){let t=(e.name||e.id).trim().replace(u_,`-`).replace(/^-+|-+$/g,``);return`${t.length>0?t:e.id||`theme`}${l_}`}function f_(e){let t={id:e.id,name:e.name};return e.description&&(t.description=e.description),e.light&&(t.light={...e.light}),e.dark&&(t.dark={...e.dark}),JSON.stringify(t,null,2)}function p_(e){let t;try{t=JSON.parse(e)}catch(e){throw Error(`Could not parse theme JSON: ${e instanceof Error?e.message:`invalid JSON`}`,{cause:e})}if(!Ys(t))throw Error(`Theme JSON does not match the schema (need string id/name and string-only light/dark tokens).`);let n={id:t.id,name:t.name,builtIn:!1};return t.description&&(n.description=t.description),t.light&&(n.light={...t.light}),t.dark&&(n.dark={...t.dark}),n}function m_(e,t=`rename`){let n=p_(e);if(!Xs().find(e=>e.id===n.id))return Rs(n),{theme:n,action:`added`};if(ks(n.id)||t===`rename`){let e={...n,id:Ns(n.id)};return Rs(e),{theme:e,action:`renamed`}}return Bs(n.id,n),{theme:n,action:`replaced`}}typeof TextEncoder>`u`||new TextEncoder,typeof TextDecoder>`u`||new TextDecoder;async function h_(e){let t=f_(e);if(typeof navigator>`u`||!navigator.clipboard)throw Error(`Clipboard API not available in this environment.`);await navigator.clipboard.writeText(t)}function g_(e){if(typeof document>`u`||typeof URL>`u`||typeof Blob>`u`)throw Error(`Download not supported in this environment.`);let t=new Blob([f_(e)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=d_(e),r.rel=`noopener`,document.body.append(r),r.click(),r.remove(),URL.revokeObjectURL(n)}async function __(e,t={}){let n=m_(await e.text(),t.collision??`rename`);return t.activate&&(Os(n.theme.id),Ls(n.theme)),n}function v_(e){let t=(0,Q.c)(3),n=e===void 0?1e3:e,[r,i]=(0,Z.useState)(y_),a,o;return t[0]===n?(a=t[1],o=t[2]):(a=()=>{let e=setInterval(()=>i(Date.now()),n);return()=>clearInterval(e)},o=[n],t[0]=n,t[1]=a,t[2]=o),(0,Z.useEffect)(a,o),r}function y_(){return Date.now()}function b_(e){let t=(0,Q.c)(25),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({title:s,icon:a,headerAction:i,children:n,className:r,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let c;t[7]===r?c=t[8]:(c=R(`space-y-2.5`,r),t[7]=r,t[8]=c);let l;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`span`,{className:`inline-block h-px w-3 bg-border`,"aria-hidden":!0}),t[9]=l):l=t[9];let u;t[10]!==a||t[11]!==s?(u=(0,$.jsxs)(`h2`,{className:`flex items-center gap-2 text-[11px] font-semibold uppercase tracking-[0.08em] text-foreground/50`,children:[l,a,s]}),t[10]=a,t[11]=s,t[12]=u):u=t[12];let d;t[13]===i?d=t[14]:(d=(0,$.jsx)(`div`,{className:`flex h-5 min-w-5 items-center justify-end`,children:i}),t[13]=i,t[14]=d);let f;t[15]!==u||t[16]!==d?(f=(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-1`,children:[u,d]}),t[15]=u,t[16]=d,t[17]=f):f=t[17];let p;t[18]===n?p=t[19]:(p=(0,$.jsx)(`div`,{className:`relative overflow-hidden rounded-2xl border bg-card text-card-foreground shadow-sm/4 not-dark:bg-clip-padding before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] dark:shadow-none dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,children:n}),t[18]=n,t[19]=p);let m;return t[20]!==o||t[21]!==c||t[22]!==f||t[23]!==p?(m=(0,$.jsxs)(`section`,{...o,className:c,children:[f,p]}),t[20]=o,t[21]=c,t[22]=f,t[23]=p,t[24]=m):m=t[24],m}function x_(e){let t=(0,Q.c)(26),{title:n,description:r,status:i,resetAction:a,control:o,children:s}=e,c=s?`pt-3.5 pb-0`:`py-3.5`,l;t[0]===c?l=t[1]:(l=R(`border-t border-border/60 px-4 first:border-t-0 sm:px-5`,c),t[0]=c,t[1]=l);let u;t[2]===n?u=t[3]:(u=(0,$.jsx)(`h3`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-foreground`,children:n}),t[2]=n,t[3]=u);let d;t[4]===a?d=t[5]:(d=(0,$.jsx)(`span`,{className:`inline-flex h-5 w-5 shrink-0 items-center justify-center`,children:a}),t[4]=a,t[5]=d);let f;t[6]!==u||t[7]!==d?(f=(0,$.jsxs)(`div`,{className:`flex min-h-5 items-center gap-1.5`,children:[u,d]}),t[6]=u,t[7]=d,t[8]=f):f=t[8];let p;t[9]===r?p=t[10]:(p=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground/80`,children:r}),t[9]=r,t[10]=p);let m;t[11]===i?m=t[12]:(m=i?(0,$.jsx)(`div`,{className:`pt-0.5 text-[11px] text-muted-foreground`,children:i}):null,t[11]=i,t[12]=m);let h;t[13]!==f||t[14]!==p||t[15]!==m?(h=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[f,p,m]}),t[13]=f,t[14]=p,t[15]=m,t[16]=h):h=t[16];let g;t[17]===o?g=t[18]:(g=o?(0,$.jsx)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:o}):null,t[17]=o,t[18]=g);let _;t[19]!==h||t[20]!==g?(_=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[h,g]}),t[19]=h,t[20]=g,t[21]=_):_=t[21];let v;return t[22]!==s||t[23]!==_||t[24]!==l?(v=(0,$.jsxs)(`div`,{className:l,children:[_,s]}),t[22]=s,t[23]=_,t[24]=l,t[25]=v):v=t[25],v}function S_(e){let t=(0,Q.c)(9),{label:n,onClick:r}=e,i=`Reset ${n} to default`,a;t[0]===r?a=t[1]:(a=e=>{e.stopPropagation(),r()},t[0]=r,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(go,{className:`size-3`}),t[2]=o):o=t[2];let s;t[3]!==i||t[4]!==a?(s=(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,"aria-label":i,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:a,children:o})}),t[3]=i,t[4]=a,t[5]=s):s=t[5];let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(ne,{side:`top`,children:`Reset to default`}),t[6]=c):c=t[6];let l;return t[7]===s?l=t[8]:(l=(0,$.jsxs)(Ee,{children:[s,c]}),t[7]=s,t[8]=l),l}function C_(e){let t=(0,Q.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`flex-1 overflow-y-auto p-6 sm:p-8`,children:(0,$.jsx)(`div`,{className:`mx-auto flex w-full max-w-5xl flex-col gap-8`,children:n})}),t[0]=n,t[1]=r),r}function w_(e,t,n){return e<t?t:e>n?n:e}function T_(e){let t=e.trim().replace(/^#/,``),n;if(t.length===3)n=t.split(``).map(e=>`${e}${e}`).join(``);else if(t.length===6)n=t;else return null;return/^[0-9a-fA-F]{6}$/.test(n)?{r:Number.parseInt(n.slice(0,2),16),g:Number.parseInt(n.slice(2,4),16),b:Number.parseInt(n.slice(4,6),16)}:null}function E_({r:e,g:t,b:n}){let r=e=>w_(Math.round(e),0,255).toString(16).padStart(2,`0`);return`#${r(e)}${r(t)}${r(n)}`}function D_({r:e,g:t,b:n}){let r=e/255,i=t/255,a=n/255,o=Math.max(r,i,a),s=o-Math.min(r,i,a),c=0;s!==0&&(c=o===r?60*((i-a)/s%6):o===i?60*((a-r)/s+2):60*((r-i)/s+4)),c<0&&(c+=360);let l=o===0?0:s/o;return{h:c,s:l,v:o}}function O_({h:e,s:t,v:n}){let r=n*t,i=(e%360+360)%360/60,a=r*(1-Math.abs(i%2-1)),o=0,s=0,c=0;i<1?[o,s,c]=[r,a,0]:i<2?[o,s,c]=[a,r,0]:i<3?[o,s,c]=[0,r,a]:i<4?[o,s,c]=[0,a,r]:i<5?[o,s,c]=[a,0,r]:[o,s,c]=[r,0,a];let l=n-r;return{r:(o+l)*255,g:(s+l)*255,b:(c+l)*255}}function k_(e){let t=(0,Q.c)(71),{value:n,onChange:r,children:i,side:a,align:o,ariaLabel:s,triggerClassName:c}=e,l=a===void 0?`bottom`:a,u=o===void 0?`start`:o,d;t[0]===n?d=t[1]:(d=()=>{let e=T_(n);return e?D_(e):{h:0,s:0,v:0}},t[0]=n,t[1]=d);let[f,p]=(0,Z.useState)(d),[m,h]=(0,Z.useState)(n),[g,_]=(0,Z.useState)(!1),v=(0,Z.useRef)(null),y=(0,Z.useRef)(null),b=(0,Z.useRef)(r),x=(0,Z.useRef)(f.h),S;t[2]===r?S=t[3]:(S=()=>{b.current=r},t[2]=r,t[3]=S),(0,Z.useEffect)(S);let C,w;t[4]===f.h?(C=t[5],w=t[6]):(C=()=>{x.current=f.h},w=[f.h],t[4]=f.h,t[5]=C,t[6]=w),(0,Z.useEffect)(C,w);let T;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>{if(v.current=null,y.current===null)return;let e=y.current;y.current=null,b.current(e)},t[7]=T):T=t[7];let E=T,D;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=e=>{y.current=e,v.current===null&&(v.current=requestAnimationFrame(E))},t[8]=D):D=t[8];let O=D,k,A;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>()=>{if(v.current!==null&&(cancelAnimationFrame(v.current),v.current=null),y.current!==null){let e=y.current;y.current=null,b.current(e)}},k=[],t[9]=k,t[10]=A):(k=t[9],A=t[10]),(0,Z.useEffect)(A,k);let j,M;t[11]===f?M=t[12]:(M=E_(O_(f)),t[11]=f,t[12]=M),j=M;let N=j,P,F;t[13]!==N||t[14]!==n?(P=()=>{if(n.toLowerCase()===N.toLowerCase())return;let e=T_(n);if(!e)return;let t=D_(e);p(e=>({h:t.s===0?e.h:t.h,s:t.s,v:t.v})),h(n)},F=[n,N],t[13]=N,t[14]=n,t[15]=P,t[16]=F):(P=t[15],F=t[16]),(0,Z.useEffect)(P,F);let I=(0,Z.useRef)(null),L;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(L=e=>{let t=I.current;if(!t)return;let n=t.getBoundingClientRect(),r=w_(e.clientX-n.left,0,n.width),i=w_(e.clientY-n.top,0,n.height),a=n.width===0?0:r/n.width,o=n.height===0?0:1-i/n.height;p(e=>{let t={h:e.h,s:a,v:o},n=E_(O_(t));return h(n),y.current=n,v.current===null&&(v.current=requestAnimationFrame(E)),t})},t[17]=L):L=t[17];let ee=L,z;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),ee(e)},t[18]=z):z=t[18];let B=z,V;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&ee(e)},t[19]=V):V=t[19];let H=V,U=(0,Z.useRef)(null),W;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(W=e=>{let t=U.current;if(!t)return;let n=t.getBoundingClientRect(),r=w_(e.clientX-n.left,0,n.width),i=n.width===0?0:r/n.width*360;p(e=>{let t={h:i,s:e.s,v:e.v},n=E_(O_(t));return h(n),y.current=n,v.current===null&&(v.current=requestAnimationFrame(E)),t})},t[20]=W):W=t[20];let G=W,te;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(te=e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),G(e)},t[21]=te):te=t[21];let ne=te,re;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&G(e)},t[22]=re):re=t[22];let ie=re,K;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(K=e=>{h(e);let t=T_(e.startsWith(`#`)?e:`#${e}`);if(!t)return;let n=D_(t);p({h:n.s===0?x.current:n.h,s:n.s,v:n.v}),O(E_(t))},t[23]=K):K=t[23];let ae=K,oe=`${f.h/360*100}%`,se=`${f.s*100}%`,ce=`${(1-f.v)*100}%`,q=`hsl(${f.h} 100% 50%)`,le;t[24]===c?le=t[25]:(le=R(`relative size-5 shrink-0 cursor-pointer overflow-hidden rounded-sm border border-border/80 outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background`,c),t[24]=c,t[25]=le);let ue;t[26]!==s||t[27]!==i||t[28]!==le?(ue=(0,$.jsx)(Ja,{"aria-label":s,className:le,children:i}),t[26]=s,t[27]=i,t[28]=le,t[29]=ue):ue=t[29];let de;t[30]===f.s?de=t[31]:(de=Math.round(f.s*100),t[30]=f.s,t[31]=de);let fe;t[32]===q?fe=t[33]:(fe={backgroundColor:q},t[32]=q,t[33]=fe);let pe;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0`,style:{background:`linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0))`}}),t[34]=pe):pe=t[34];let me;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,$.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0`,style:{background:`linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0))`}}),t[35]=me):me=t[35];let he;t[36]!==se||t[37]!==ce?(he=(0,$.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute size-3 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow-[0_0_0_1px_rgba(0,0,0,0.4)]`,style:{left:se,top:ce}}),t[36]=se,t[37]=ce,t[38]=he):he=t[38];let ge;t[39]!==de||t[40]!==fe||t[41]!==he?(ge=(0,$.jsxs)(`div`,{ref:I,role:`slider`,"aria-label":`Saturation and value`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":de,tabIndex:0,className:`relative h-36 w-full cursor-crosshair touch-none select-none overflow-hidden rounded-md outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,style:fe,onPointerDown:B,onPointerMove:H,children:[pe,me,he]}),t[39]=de,t[40]=fe,t[41]=he,t[42]=ge):ge=t[42];let _e;t[43]===f.h?_e=t[44]:(_e=Math.round(f.h),t[43]=f.h,t[44]=_e);let ve;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ve={background:`linear-gradient(to right, hsl(0 100% 50%), hsl(60 100% 50%), hsl(120 100% 50%), hsl(180 100% 50%), hsl(240 100% 50%), hsl(300 100% 50%), hsl(360 100% 50%))`},t[45]=ve):ve=t[45];let ye;t[46]===oe?ye=t[47]:(ye=(0,$.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow-[0_0_0_1px_rgba(0,0,0,0.4)]`,style:{left:oe}}),t[46]=oe,t[47]=ye);let be;t[48]!==_e||t[49]!==ye?(be=(0,$.jsx)(`div`,{ref:U,role:`slider`,"aria-label":`Hue`,"aria-valuemin":0,"aria-valuemax":360,"aria-valuenow":_e,tabIndex:0,className:`relative h-3 w-full cursor-ew-resize touch-none select-none overflow-hidden rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,style:ve,onPointerDown:ne,onPointerMove:ie,children:ye}),t[48]=_e,t[49]=ye,t[50]=be):be=t[50];let xe;t[51]===N?xe=t[52]:(xe=(0,$.jsx)(`span`,{"aria-hidden":!0,className:`size-7 shrink-0 rounded-md border border-border/60`,style:{backgroundColor:N}}),t[51]=N,t[52]=xe);let Se;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(Se=e=>ae(e.currentTarget.value),t[53]=Se):Se=t[53];let Ce;t[54]===m?Ce=t[55]:(Ce=(0,$.jsx)(tr,{value:m,size:`sm`,nativeInput:!0,onChange:Se,spellCheck:!1,className:`font-mono text-xs`,"aria-label":`Hex value`}),t[54]=m,t[55]=Ce);let we;t[56]!==xe||t[57]!==Ce?(we=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[xe,Ce]}),t[56]=xe,t[57]=Ce,t[58]=we):we=t[58];let Te;t[59]!==ge||t[60]!==be||t[61]!==we?(Te=(0,$.jsxs)(`div`,{className:`space-y-3`,children:[ge,be,we]}),t[59]=ge,t[60]=be,t[61]=we,t[62]=Te):Te=t[62];let Ee;t[63]!==u||t[64]!==l||t[65]!==Te?(Ee=(0,$.jsx)(ma,{side:l,align:u,className:`w-64`,children:Te}),t[63]=u,t[64]=l,t[65]=Te,t[66]=Ee):Ee=t[66];let De;return t[67]!==g||t[68]!==ue||t[69]!==Ee?(De=(0,$.jsxs)(sa,{open:g,onOpenChange:_,children:[ue,Ee]}),t[67]=g,t[68]=ue,t[69]=Ee,t[70]=De):De=t[70],De}var A_=[{title:`Surfaces`,tokens:[`background`,`app-chrome-background`,`foreground`,`card`,`card-foreground`,`popover`,`popover-foreground`]},{title:`Brand & focus`,tokens:[`primary`,`primary-foreground`,`ring`]},{title:`Neutrals`,tokens:[`secondary`,`secondary-foreground`,`muted`,`muted-foreground`,`accent`,`accent-foreground`]},{title:`Status`,tokens:[`destructive`,`destructive-foreground`,`info`,`info-foreground`,`success`,`success-foreground`,`warning`,`warning-foreground`]},{title:`Borders & inputs`,tokens:[`border`,`input`]},{title:`Scrollbars`,tokens:[`scrollbar-thumb`,`scrollbar-thumb-hover`,`scrollbar-thumb-thin`,`scrollbar-thumb-thin-hover`]},{title:`Misc`,tokens:[`noise-opacity`]}],j_=new Set(Cs),M_=null,N_=null;function P_(e){if(typeof document>`u`||document.body===void 0||!e)return`#000000`;M_||(M_=document.createElement(`div`),M_.style.position=`absolute`,M_.style.visibility=`hidden`,M_.style.pointerEvents=`none`,document.body.append(M_)),M_.style.color=``,M_.style.color=e;let t=getComputedStyle(M_).color;N_||=document.createElement(`canvas`),N_.width=1,N_.height=1;let n=N_.getContext(`2d`,{willReadFrequently:!0});if(!n)return`#000000`;n.clearRect(0,0,1,1);try{n.fillStyle=t}catch{return`#000000`}n.fillRect(0,0,1,1);let r=n.getImageData(0,0,1,1).data;return`#${[r[0],r[1],r[2]].map(e=>(e??0).toString(16).padStart(2,`0`)).join(``)}`}function F_(e,t,n,r){let i={...e[t]};return r.length===0?delete i[n]:i[n]=r,t===`light`?{...e,light:i}:{...e,dark:i}}function I_(e,t){return{...e,name:t}}function L_(e,t){let n={...e};return t.length===0?delete n.description:n.description=t,n}function R_(e){return Hs.includes(e)}function z_(e){let t=(0,Q.c)(121),{source:n,draft:r,onDraftChange:i,onSave:a,onCancel:o,resolvedVariant:s}=e,[c,l]=(0,Z.useState)(`form`),[u,d]=(0,Z.useState)(s),f;t[0]===r?f=t[1]:(f=()=>JSON.stringify(r,null,2),t[0]=r,t[1]=f);let[p,m]=(0,Z.useState)(f),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(!1),y;y=JSON.stringify(n)!==JSON.stringify(r);let b=y,x;t[2]===r?x=t[3]:(x=()=>{Ls(r)},t[2]=r,t[3]=x);let S;t[4]!==r||t[5]!==s?(S=[r,s],t[4]=r,t[5]=s,t[6]=S):S=t[6],(0,Z.useEffect)(x,S);let C,w;t[7]!==r||t[8]!==c?(C=()=>{c===`form`&&m(JSON.stringify(r,null,2))},w=[r,c],t[7]=r,t[8]=c,t[9]=C,t[10]=w):(C=t[9],w=t[10]),(0,Z.useEffect)(C,w);let T;t[11]!==r||t[12]!==i?(T=e=>{i(I_(r,e))},t[11]=r,t[12]=i,t[13]=T):T=t[13];let E=T,D;t[14]!==r||t[15]!==i?(D=e=>{i(L_(r,e))},t[14]=r,t[15]=i,t[16]=D):D=t[16];let O=D,k;t[17]!==r||t[18]!==i||t[19]!==u?(k=(e,t)=>{i(F_(r,u,e,t))},t[17]=r,t[18]=i,t[19]=u,t[20]=k):k=t[20];let A=k,j;t[21]===i?j=t[22]:(j=e=>{m(e);let t;try{t=JSON.parse(e)}catch(e){let t=e;g(t instanceof Error?t.message:`Invalid JSON`);return}if(!Ys(t)){g(`Invalid theme schema. Need string id/name and string-only light/dark tokens.`);return}g(null),i(t)},t[21]=i,t[22]=j);let M=j,N;t[23]!==b||t[24]!==o?(N=()=>{if(b){v(!0);return}o()},t[23]=b,t[24]=o,t[25]=N):N=t[25];let P=N,F;t[26]!==r.dark||t[27]!==r.light||t[28]!==u?(F=(u===`dark`?r.dark:r.light)??{},t[26]=r.dark,t[27]=r.light,t[28]=u,t[29]=F):F=t[29];let I=F,L,R;t[30]===u?R=t[31]:(R=(u===`dark`?Ds.dark:Ds.light)??{},t[30]=u,t[31]=R),L=R;let ee=L,z;t[32]===I?z=t[33]:(z=Object.entries(I).filter(H_),t[32]=I,t[33]=z);let B=z,V=B_,H;t[34]!==r.dark||t[35]!==r.light?(H=V(r.light)||V(r.dark),t[34]=r.dark,t[35]=r.light,t[36]=H):H=t[36];let U=H,W;t[37]!==r.name||t[38]!==U||t[39]!==h?(W=h!==null||r.name.trim().length===0||U,t[37]=r.name,t[38]=U,t[39]=h,t[40]=W):W=t[40];let G=W,te;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground`,children:`Editing`}),t[41]=te):te=t[41];let ne=r.name||`Untitled`,re;t[42]!==r.name||t[43]!==ne?(re=(0,$.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,title:r.name,children:ne}),t[42]=r.name,t[43]=ne,t[44]=re):re=t[44];let ie;t[45]===b?ie=t[46]:(ie=b?(0,$.jsx)(`span`,{className:`rounded-sm bg-warning/16 px-1.5 py-0.5 text-[10px] font-medium text-warning-foreground`,children:`Unsaved`}):null,t[45]=b,t[46]=ie);let K;t[47]===P?K=t[48]:(K=(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:P,children:`Cancel`}),t[47]=P,t[48]=K);let ae;t[49]!==a||t[50]!==G?(ae=(0,$.jsx)(J,{size:`sm`,onClick:a,disabled:G,children:`Save`}),t[49]=a,t[50]=G,t[51]=ae):ae=t[51];let oe;t[52]!==K||t[53]!==ae?(oe=(0,$.jsxs)(`div`,{className:`ms-auto flex items-center gap-2`,children:[K,ae]}),t[52]=K,t[53]=ae,t[54]=oe):oe=t[54];let se;t[55]!==re||t[56]!==ie||t[57]!==oe?(se=(0,$.jsxs)(`div`,{className:`sticky top-0 z-10 flex flex-wrap items-center gap-2 border-b border-border/60 bg-muted/72 px-4 py-2 backdrop-blur-sm sm:px-5`,children:[te,re,ie,oe]}),t[55]=re,t[56]=ie,t[57]=oe,t[58]=se):se=t[58];let ce;t[59]===c?ce=t[60]:(ce=[c],t[59]=c,t[60]=ce);let q,le,ue;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>{let t=e[0];(t===`form`||t===`json`)&&l(t)},le=(0,$.jsx)($s,{value:`form`,"aria-label":`Form editor`,className:`px-3 sm:px-3`,children:`Form`}),ue=(0,$.jsx)($s,{value:`json`,"aria-label":`JSON editor`,className:`px-3 sm:px-3`,children:`JSON`}),t[61]=q,t[62]=le,t[63]=ue):(q=t[61],le=t[62],ue=t[63]);let de;t[64]===ce?de=t[65]:(de=(0,$.jsxs)(Qs,{value:ce,variant:`outline`,size:`sm`,onValueChange:q,children:[le,ue]}),t[64]=ce,t[65]=de);let fe;t[66]===u?fe=t[67]:(fe=[u],t[66]=u,t[67]=fe);let pe,me,he;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(pe=e=>{let t=e[0];(t===`light`||t===`dark`)&&d(t)},me=(0,$.jsx)($s,{value:`light`,"aria-label":`Light variant`,className:`px-3 sm:px-3`,children:`Light`}),he=(0,$.jsx)($s,{value:`dark`,"aria-label":`Dark variant`,className:`px-3 sm:px-3`,children:`Dark`}),t[68]=pe,t[69]=me,t[70]=he):(pe=t[68],me=t[69],he=t[70]);let ge;t[71]===fe?ge=t[72]:(ge=(0,$.jsxs)(Qs,{value:fe,variant:`outline`,size:`sm`,onValueChange:pe,children:[me,he]}),t[71]=fe,t[72]=ge);let _e;t[73]!==de||t[74]!==ge?(_e=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[de,ge]}),t[73]=de,t[74]=ge,t[75]=_e):_e=t[75];let ve;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Name`}),t[76]=ve):ve=t[76];let ye;t[77]===E?ye=t[78]:(ye=e=>E(e.currentTarget.value),t[77]=E,t[78]=ye);let be=r.name.trim().length===0||void 0,xe;t[79]!==r.name||t[80]!==ye||t[81]!==be?(xe=(0,$.jsxs)(`label`,{className:`space-y-1.5`,children:[ve,(0,$.jsx)(tr,{value:r.name,nativeInput:!0,onChange:ye,"aria-invalid":be})]}),t[79]=r.name,t[80]=ye,t[81]=be,t[82]=xe):xe=t[82];let Se;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Description`}),t[83]=Se):Se=t[83];let Ce=r.description??``,we;t[84]===O?we=t[85]:(we=e=>O(e.currentTarget.value),t[84]=O,t[85]=we);let Te;t[86]!==Ce||t[87]!==we?(Te=(0,$.jsxs)(`label`,{className:`space-y-1.5`,children:[Se,(0,$.jsx)(tr,{value:Ce,nativeInput:!0,onChange:we,placeholder:`Optional, shown under the picker.`})]}),t[86]=Ce,t[87]=we,t[88]=Te):Te=t[88];let Ee;t[89]!==xe||t[90]!==Te?(Ee=(0,$.jsxs)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]`,children:[xe,Te]}),t[89]=xe,t[90]=Te,t[91]=Ee):Ee=t[91];let De;t[92]!==M||t[93]!==A||t[94]!==ee||t[95]!==h||t[96]!==p||t[97]!==c||t[98]!==B||t[99]!==I?(De=c===`form`?(0,$.jsxs)(`div`,{className:`mt-5 space-y-5`,children:[A_.map(e=>(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`h4`,{className:`text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground`,children:e.title}),(0,$.jsx)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:e.tokens.map(e=>{let t=I[e]??``,n=ee[e]??``,r=zs(e);return r?(0,$.jsx)(U_,{token:e,kind:r,value:t,inherited:n,onChange:t=>A(e,t)},e):null})})]},e.title)),B.length>0?(0,$.jsxs)(`p`,{className:`text-xs text-warning-foreground`,children:[B.length,` token`,B.length===1?``:`s`,` not in the allow-list will be ignored on save.`]}):null]}):(0,$.jsxs)(`div`,{className:`mt-5 space-y-2`,children:[(0,$.jsx)(or,{value:p,size:`sm`,className:`font-mono text-xs`,spellCheck:!1,rows:18,onChange:e=>M(e.currentTarget.value),"aria-invalid":h!==null||void 0}),h?(0,$.jsx)(`p`,{className:`text-xs text-destructive-foreground`,children:h}):(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground/80`,children:`Edit the JSON directly. Save is disabled while the schema is invalid.`})]}),t[92]=M,t[93]=A,t[94]=ee,t[95]=h,t[96]=p,t[97]=c,t[98]=B,t[99]=I,t[100]=De):De=t[100];let Oe;t[101]!==_e||t[102]!==Ee||t[103]!==De?(Oe=(0,$.jsxs)(`div`,{className:`px-4 py-4 sm:px-5`,children:[_e,Ee,De]}),t[101]=_e,t[102]=Ee,t[103]=De,t[104]=Oe):Oe=t[104];let ke;t[105]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsx)(zi,{children:`Discard your changes?`}),t[105]=ke):ke=t[105];let Ae;t[106]===n.name?Ae=t[107]:(Ae=(0,$.jsxs)(Ii,{children:[ke,(0,$.jsxs)(Ya,{children:[`You have unsaved edits to `,n.name,`. Discarding will revert any token changes you made.`]})]}),t[106]=n.name,t[107]=Ae);let je;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,$.jsx)(Ar,{render:(0,$.jsx)(J,{variant:`outline`}),children:`Keep editing`}),t[108]=je):je=t[108];let Me;t[109]===o?Me=t[110]:(Me=(0,$.jsxs)(Dr,{children:[je,(0,$.jsx)(J,{variant:`destructive`,onClick:()=>{v(!1),o()},children:`Discard changes`})]}),t[109]=o,t[110]=Me);let Ne;t[111]!==Ae||t[112]!==Me?(Ne=(0,$.jsxs)(Mi,{children:[Ae,Me]}),t[111]=Ae,t[112]=Me,t[113]=Ne):Ne=t[113];let Pe;t[114]!==_||t[115]!==Ne?(Pe=(0,$.jsx)(mr,{open:_,onOpenChange:v,children:Ne}),t[114]=_,t[115]=Ne,t[116]=Pe):Pe=t[116];let Fe;return t[117]!==se||t[118]!==Oe||t[119]!==Pe?(Fe=(0,$.jsxs)(`div`,{className:`border-t border-border/60 bg-muted/24`,children:[se,Oe,Pe]}),t[117]=se,t[118]=Oe,t[119]=Pe,t[120]=Fe):Fe=t[120],Fe}function B_(e){return Object.entries(e??{}).some(V_)}function V_(e){let[t,n]=e;if(typeof n!=`string`||n.length===0)return!1;let r=zs(t);return r?!As(r,n):!1}function H_(e){let[t]=e;return!j_.has(t)}function U_(e){let t=(0,Q.c)(12),{token:n,kind:r,value:i,inherited:a,onChange:o}=e,s=i.length>0,c=r===`font-family`&&`sm:col-span-2`,l;t[0]===c?l=t[1]:(l=R(`rounded-md border border-border/60 bg-background px-2 py-1.5`,c),t[0]=c,t[1]=l);let u;t[2]!==a||t[3]!==r||t[4]!==o||t[5]!==s||t[6]!==n||t[7]!==i?(u=r===`color`?(0,$.jsx)(K_,{token:n,value:i,inherited:a,overridden:s,onChange:o}):r===`opacity`?(0,$.jsx)(q_,{token:n,value:i,inherited:a,overridden:s,onChange:o}):r===`length`?(0,$.jsx)(J_,{token:n,value:i,inherited:a,overridden:s,onChange:o}):(0,$.jsx)(X_,{token:n,value:i,inherited:a,overridden:s,onChange:o}),t[2]=a,t[3]=r,t[4]=o,t[5]=s,t[6]=n,t[7]=i,t[8]=u):u=t[8];let d;return t[9]!==l||t[10]!==u?(d=(0,$.jsx)(`div`,{className:l,children:u}),t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function W_(e){let t=(0,Q.c)(6),{token:n,onChange:r}=e,i=`Reset --${n}`,a;t[0]===r?a=t[1]:(a=()=>r(``),t[0]=r,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(En,{className:`size-3.5`,"aria-hidden":!0}),t[2]=o):o=t[2];let s;return t[3]!==i||t[4]!==a?(s=(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,"aria-label":i,onClick:a,className:`text-muted-foreground`,children:o}),t[3]=i,t[4]=a,t[5]=s):s=t[5],s}function G_(e){let t=(0,Q.c)(6),{token:n,overridden:r}=e,i=r?`text-foreground`:`text-muted-foreground/70`,a;t[0]===i?a=t[1]:(a=R(`truncate font-mono text-[11px]`,i),t[0]=i,t[1]=a);let o=`--${n}`,s;return t[2]!==a||t[3]!==o||t[4]!==n?(s=(0,$.jsxs)(`span`,{className:a,title:o,children:[`--`,n]}),t[2]=a,t[3]=o,t[4]=n,t[5]=s):s=t[5],s}function K_(e){let t=(0,Q.c)(39),{token:n,value:r,inherited:i,overridden:a,onChange:o}=e,s=r||i,c,l,u,d,f;t[0]!==s||t[1]!==r?(u=Es(s),l=r.length>0&&!ws(r),f=`flex items-center gap-2`,c=k_,d=P_(u),t[0]=s,t[1]=r,t[2]=c,t[3]=l,t[4]=u,t[5]=d,t[6]=f):(c=t[2],l=t[3],u=t[4],d=t[5],f=t[6]);let p;t[7]===o?p=t[8]:(p=e=>o(e),t[7]=o,t[8]=p);let m=`Pick a color for --${n}`,h=l?`transparent`:u||`transparent`,g;t[9]===h?g=t[10]:(g=(0,$.jsx)(`span`,{className:`pointer-events-none absolute inset-0`,style:{backgroundColor:h},"aria-hidden":!0}),t[9]=h,t[10]=g);let _;t[11]!==c||t[12]!==d||t[13]!==p||t[14]!==m||t[15]!==g?(_=(0,$.jsx)(c,{value:d,onChange:p,ariaLabel:m,children:g}),t[11]=c,t[12]=d,t[13]=p,t[14]=m,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==a||t[18]!==n?(v=(0,$.jsx)(G_,{token:n,overridden:a}),t[17]=a,t[18]=n,t[19]=v):v=t[19];let y=i||`inherit default`,b=l||void 0,x;t[20]===o?x=t[21]:(x=e=>o(e.currentTarget.value),t[20]=o,t[21]=x);let S;t[22]!==b||t[23]!==x||t[24]!==y||t[25]!==r?(S=(0,$.jsx)(tr,{value:r,nativeInput:!0,unstyled:!0,size:`sm`,className:`border-0 bg-transparent p-0 shadow-none focus-within:shadow-none`,placeholder:y,"aria-invalid":b,onChange:x}),t[22]=b,t[23]=x,t[24]=y,t[25]=r,t[26]=S):S=t[26];let C;t[27]!==S||t[28]!==v?(C=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[v,S]}),t[27]=S,t[28]=v,t[29]=C):C=t[29];let w;t[30]!==o||t[31]!==a||t[32]!==n?(w=a?(0,$.jsx)(W_,{token:n,onChange:o}):null,t[30]=o,t[31]=a,t[32]=n,t[33]=w):w=t[33];let T;return t[34]!==C||t[35]!==w||t[36]!==f||t[37]!==_?(T=(0,$.jsxs)(`div`,{className:f,children:[_,C,w]}),t[34]=C,t[35]=w,t[36]=f,t[37]=_,t[38]=T):T=t[38],T}function q_(e){let t=(0,Q.c)(29),{token:n,value:r,inherited:i,overridden:a,onChange:o}=e,s=r||i,c=Number(s),l;t[0]===c?l=t[1]:(l=Number.isFinite(c)?Math.min(1,Math.max(0,c)):0,t[0]=c,t[1]=l);let u=l,d=r.length>0&&!As(`opacity`,r),f;t[2]!==a||t[3]!==n?(f=(0,$.jsx)(G_,{token:n,overridden:a}),t[2]=a,t[3]=n,t[4]=f):f=t[4];let p;t[5]===o?p=t[6]:(p=e=>o(e.currentTarget.value),t[5]=o,t[6]=p);let m=`--${n} value`,h;t[7]!==u||t[8]!==p||t[9]!==m?(h=(0,$.jsx)(`input`,{type:`range`,min:0,max:1,step:.005,value:u,onChange:p,"aria-label":m,className:`h-7.5 flex-1 accent-primary cursor-pointer`}),t[7]=u,t[8]=p,t[9]=m,t[10]=h):h=t[10];let g=i||`0`,_=d||void 0,v;t[11]===o?v=t[12]:(v=e=>o(e.currentTarget.value),t[11]=o,t[12]=v);let y;t[13]!==g||t[14]!==_||t[15]!==v||t[16]!==r?(y=(0,$.jsx)(`div`,{className:`w-20 shrink-0`,children:(0,$.jsx)(tr,{value:r,nativeInput:!0,type:`number`,min:0,max:1,step:.005,size:`sm`,placeholder:g,"aria-invalid":_,onChange:v})}),t[13]=g,t[14]=_,t[15]=v,t[16]=r,t[17]=y):y=t[17];let b;t[18]!==o||t[19]!==a||t[20]!==n?(b=a?(0,$.jsx)(W_,{token:n,onChange:o}):null,t[18]=o,t[19]=a,t[20]=n,t[21]=b):b=t[21];let x;t[22]!==b||t[23]!==h||t[24]!==y?(x=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[h,y,b]}),t[22]=b,t[23]=h,t[24]=y,t[25]=x):x=t[25];let S;return t[26]!==x||t[27]!==f?(S=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[f,x]}),t[26]=x,t[27]=f,t[28]=S):S=t[28],S}function J_(e){let t=(0,Q.c)(65),{token:n,value:r,inherited:i,overridden:a,onChange:o}=e,s,c,l,u,d;if(t[0]!==i||t[1]!==o||t[2]!==a||t[3]!==n||t[4]!==r){d=Symbol.for(`react.early_return_sentinel`);bb0:{l=Ts(r),c=Ts(i);let e=c?R_(c.unit):!1,f=l?R_(l.unit):!1;if(r.length>0&&!f||r.length===0&&i.length>0&&!e){let e=r.length>0&&!As(`length`,r),s;t[10]!==a||t[11]!==n?(s=(0,$.jsx)(G_,{token:n,overridden:a}),t[10]=a,t[11]=n,t[12]=s):s=t[12];let c=i||`e.g. 1rem`,l=e||void 0,u;t[13]===o?u=t[14]:(u=e=>o(e.currentTarget.value),t[13]=o,t[14]=u);let f;t[15]!==c||t[16]!==l||t[17]!==u||t[18]!==r?(f=(0,$.jsx)(tr,{value:r,nativeInput:!0,size:`sm`,placeholder:c,"aria-invalid":l,onChange:u}),t[15]=c,t[16]=l,t[17]=u,t[18]=r,t[19]=f):f=t[19];let p;t[20]!==o||t[21]!==a||t[22]!==n?(p=a?(0,$.jsx)(W_,{token:n,onChange:o}):null,t[20]=o,t[21]=a,t[22]=n,t[23]=p):p=t[23];let m;t[24]!==f||t[25]!==p?(m=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[f,p]}),t[24]=f,t[25]=p,t[26]=m):m=t[26];let h;t[27]!==s||t[28]!==m?(h=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s,m]}),t[27]=s,t[28]=m,t[29]=h):h=t[29],d=h;break bb0}s=l?String(l.number):``,u=l&&R_(l.unit)?l.unit:c&&R_(c.unit)?c.unit:`rem`}t[0]=i,t[1]=o,t[2]=a,t[3]=n,t[4]=r,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d}else s=t[5],c=t[6],l=t[7],u=t[8],d=t[9];if(d!==Symbol.for(`react.early_return_sentinel`))return d;let f=u,p=c?String(c.number):``,m;t[30]!==o||t[31]!==f?(m=e=>{let t=e.trim();if(t.length===0){o(``);return}let n=Number(t);Number.isFinite(n)&&o(`${n}${f}`)},t[30]=o,t[31]=f,t[32]=m):m=t[32];let h=m,g;t[33]!==o||t[34]!==c||t[35]!==l?(g=e=>{if(l){o(`${l.number}${e}`);return}c&&o(`${c.number}${e}`)},t[33]=o,t[34]=c,t[35]=l,t[36]=g):g=t[36];let _=g,v;t[37]!==a||t[38]!==n?(v=(0,$.jsx)(G_,{token:n,overridden:a}),t[37]=a,t[38]=n,t[39]=v):v=t[39];let y=n===`font-size-base`?1:.05,b;t[40]===h?b=t[41]:(b=e=>h(e.currentTarget.value),t[40]=h,t[41]=b);let x;t[42]!==p||t[43]!==s||t[44]!==y||t[45]!==b?(x=(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsx)(tr,{value:s,nativeInput:!0,type:`number`,step:y,size:`sm`,placeholder:p,onChange:b})}),t[42]=p,t[43]=s,t[44]=y,t[45]=b,t[46]=x):x=t[46];let S;t[47]===_?S=t[48]:(S=e=>_(e.currentTarget.value),t[47]=_,t[48]=S);let C=`--${n} unit`,w;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(w=Hs.map(Y_),t[49]=w):w=t[49];let T;t[50]!==C||t[51]!==S||t[52]!==f?(T=(0,$.jsx)(`select`,{value:f,onChange:S,"aria-label":C,className:`h-7.5 rounded-md border border-input bg-background px-2 text-sm outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/24 sm:h-6.5 sm:text-xs`,children:w}),t[50]=C,t[51]=S,t[52]=f,t[53]=T):T=t[53];let E;t[54]!==o||t[55]!==a||t[56]!==n?(E=a?(0,$.jsx)(W_,{token:n,onChange:o}):null,t[54]=o,t[55]=a,t[56]=n,t[57]=E):E=t[57];let D;t[58]!==T||t[59]!==E||t[60]!==x?(D=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[x,T,E]}),t[58]=T,t[59]=E,t[60]=x,t[61]=D):D=t[61];let O;return t[62]!==D||t[63]!==v?(O=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[v,D]}),t[62]=D,t[63]=v,t[64]=O):O=t[64],O}function Y_(e){return(0,$.jsx)(`option`,{value:e,children:e},e)}function X_(e){let t=(0,Q.c)(23),{token:n,value:r,inherited:i,overridden:a,onChange:o}=e,s=r||i,c=r.length>0&&!As(`font-family`,r),l;t[0]!==a||t[1]!==n?(l=(0,$.jsx)(G_,{token:n,overridden:a}),t[0]=a,t[1]=n,t[2]=l):l=t[2];let u=i||`system-ui, sans-serif`,d=s||void 0,f;t[3]===d?f=t[4]:(f={fontFamily:d},t[3]=d,t[4]=f);let p=c||void 0,m;t[5]===o?m=t[6]:(m=e=>o(e.currentTarget.value),t[5]=o,t[6]=m);let h;t[7]!==u||t[8]!==f||t[9]!==p||t[10]!==m||t[11]!==r?(h=(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsx)(tr,{value:r,nativeInput:!0,size:`sm`,placeholder:u,style:f,"aria-invalid":p,onChange:m})}),t[7]=u,t[8]=f,t[9]=p,t[10]=m,t[11]=r,t[12]=h):h=t[12];let g;t[13]!==o||t[14]!==a||t[15]!==n?(g=a?(0,$.jsx)(W_,{token:n,onChange:o}):null,t[13]=o,t[14]=a,t[15]=n,t[16]=g):g=t[16];let _;t[17]!==h||t[18]!==g?(_=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[h,g]}),t[17]=h,t[18]=g,t[19]=_):_=t[19];let v;return t[20]!==l||t[21]!==_?(v=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[l,_]}),t[20]=l,t[21]=_,t[22]=v):v=t[22],v}var Z_=[{value:`system`,label:`System`},{value:`light`,label:`Light`},{value:`dark`,label:`Dark`}],Q_=[{value:`icon-dots`,label:`Icon + dots`,description:`Brain icon with intensity dots`},{value:`text`,label:`Text label`,description:`Color-tinted abbreviated text`}],$_=[{value:`icon-text`,label:`Icon + text`,description:`Show the mode icon and label`,preview:`Balanced`,icon:ur},{value:`icon`,label:`Icon only`,description:`Use the compact mode icon`,preview:``,icon:tt},{value:`text`,label:`Text label`,description:`Show labels without icons`,preview:`Tokens off`,icon:yr}];function ev(){let{theme:e,setTheme:t,resolvedTheme:n,activeThemeId:r,setActiveTheme:i}=Us(),a=be(e=>e.reasoningIndicatorStyle),o=be(e=>e.setReasoningIndicatorStyle),s=be(e=>e.tokenModeControlStyle),c=be(e=>e.setTokenModeControlStyle),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(()=>qs()),[_,v]=(0,Z.useState)(0),y=(0,Z.useRef)(null),b=Xs(),x=(0,Z.useMemo)(()=>l!==null&&d!==null?{source:Zs(l),draft:d}:null,[d,l,_]),S=p?Zs(p):null,C=(0,Z.useCallback)(()=>v(e=>e+1),[]);(0,Z.useEffect)(()=>{if(typeof window>`u`)return;let e=e=>{e.key===`ryco:appearance-preferences`&&g(qs())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let w=(0,Z.useCallback)((e,t)=>{Gs(e,t),Vs(),g(qs())},[]),T=(0,Z.useCallback)(e=>{Is(e),Vs(),g(qs())},[]),E=(0,Z.useCallback)(e=>{if(ks(e.id)){let t=Js(e);Rs(t),Os(t.id),i(t.id),u(t.id),f(t),C();return}i(e.id),u(e.id),f(e)},[C,i]),D=(0,Z.useCallback)(e=>{let t=Js(e);Rs(t),i(t.id),u(t.id),f(t),C()},[C,i]),O=(0,Z.useCallback)(()=>{let e={id:Ns(`new`),name:`New theme`,builtIn:!1};Rs(e),i(e.id),u(e.id),f(e),C()},[C,i]),k=(0,Z.useCallback)(()=>{x&&(Bs(x.source.id,x.draft),x.source.id===x.draft.id?Ls(x.draft):i(x.draft.id),u(null),f(null),C())},[x,C,i]),A=(0,Z.useCallback)(()=>{x&&Ls(x.source),u(null),f(null)},[x]),j=(0,Z.useCallback)(()=>{p&&(l===p&&(u(null),f(null)),js(p),m(null),C())},[l,p,C]),M=(0,Z.useCallback)(e=>{try{g_(e)}catch(e){Y.add({type:`error`,title:`Could not export theme`,description:e instanceof Error?e.message:`Download failed.`})}},[]),N=(0,Z.useCallback)(async e=>{try{await h_(e),Y.add({type:`success`,title:`Copied theme JSON`,description:`${e.name} is ready to paste.`})}catch(e){Y.add({type:`error`,title:`Could not copy theme`,description:e instanceof Error?e.message:`Clipboard write failed.`})}},[]),P=(0,Z.useCallback)(()=>{y.current?.click()},[]),F=(0,Z.useCallback)(async e=>{let t=e.target.files?.[0];if(e.target.value=``,t)try{let e=await __(t,{collision:`rename`,activate:!0});i(e.theme.id),C(),Y.add({type:`success`,title:`Imported "${e.theme.name}"`,description:e.action===`renamed`?`An existing theme used the same id, so it was imported as "${e.theme.id}".`:`Theme imported and activated.`})}catch(e){Y.add({type:`error`,title:`Could not import theme`,description:e instanceof Error?e.message:`Invalid theme file.`})}},[C,i]);return(0,$.jsxs)(C_,{children:[(0,$.jsxs)(b_,{title:`Interface controls`,children:[(0,$.jsx)(x_,{title:`Interface font`,description:`Normal app text, navigation, dialogs, and controls.`,resetAction:Fs(`fontFamilySans`)?(0,$.jsx)(S_,{label:`interface font`,onClick:()=>T(`fontFamilySans`)}):null,control:(0,$.jsx)(tv,{ariaLabel:`Interface font`,icon:(0,$.jsx)(Ic,{className:`size-3.5`}),options:Ws,value:h.fontFamilySans,sample:`The quick brown fox`,onChange:e=>w(`fontFamilySans`,e)})}),(0,$.jsx)(x_,{title:`Code font`,description:`Code blocks, diffs, file paths, and terminal surfaces.`,resetAction:Fs(`fontFamilyMono`)?(0,$.jsx)(S_,{label:`code font`,onClick:()=>T(`fontFamilyMono`)}):null,control:(0,$.jsx)(tv,{ariaLabel:`Code font`,icon:(0,$.jsx)(mc,{className:`size-3.5`}),options:Ms,value:h.fontFamilyMono,sample:`const answer = 42`,onChange:e=>w(`fontFamilyMono`,e)})}),(0,$.jsx)(x_,{title:`Text size`,description:`Scale the interface independently from the active theme.`,resetAction:Fs(`fontSizeBase`)?(0,$.jsx)(S_,{label:`text size`,onClick:()=>T(`fontSizeBase`)}):null,control:(0,$.jsx)(nv,{ariaLabel:`Text size`,icon:(0,$.jsx)(lc,{className:`size-3.5`}),options:Ks,value:h.fontSizeBase,onChange:e=>w(`fontSizeBase`,e),preview:(0,$.jsx)(`span`,{className:`flex h-9 min-w-14 items-center justify-center rounded-md border border-border/70 bg-background px-2 font-semibold text-foreground shadow-xs/5`,children:(0,$.jsx)(`span`,{style:{fontSize:h.fontSizeBase},children:`Aa`})})})}),(0,$.jsx)(x_,{title:`Corner radius`,description:`Adjust rounding for panels, buttons, inputs, and menus globally.`,resetAction:Fs(`radius`)?(0,$.jsx)(S_,{label:`corner radius`,onClick:()=>T(`radius`)}):null,control:(0,$.jsx)(nv,{ariaLabel:`Corner radius`,icon:(0,$.jsx)(Ac,{className:`size-3.5`}),options:Ps,value:h.radius,onChange:e=>w(`radius`,e),preview:(0,$.jsxs)(`span`,{className:`grid h-9 min-w-14 grid-cols-2 gap-1 rounded-md border border-border/70 bg-background p-1.5 shadow-xs/5`,children:[(0,$.jsx)(`span`,{className:`border border-primary/55 bg-primary/15`,style:{borderRadius:h.radius}}),(0,$.jsx)(`span`,{className:`border border-muted-foreground/30 bg-muted`,style:{borderRadius:h.radius}})]})})})]}),(0,$.jsx)(b_,{title:`Theme palette`,headerAction:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`input`,{ref:y,type:`file`,accept:`.json,application/json`,className:`sr-only`,onChange:F,"aria-hidden":!0,tabIndex:-1}),(0,$.jsxs)(J,{size:`xs`,variant:`ghost`,onClick:O,"aria-label":`Create a new theme`,title:`Create a new theme`,className:`text-muted-foreground`,children:[(0,$.jsx)(ar,{className:`size-3.5`}),`New`]}),(0,$.jsxs)(J,{size:`xs`,variant:`ghost`,onClick:P,"aria-label":`Import a theme from file`,title:`Import a theme from disk`,className:`text-muted-foreground`,children:[(0,$.jsx)(Lc,{className:`size-3.5`}),`Import`]})]}),children:(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":`Theme palette`,children:b.map((e,t)=>{let a=e.id===r,o=l===e.id;return(0,$.jsxs)(Z.Fragment,{children:[(0,$.jsxs)(`div`,{role:`radio`,"aria-checked":a,tabIndex:a?0:-1,onClick:()=>i(e.id),onKeyDown:t=>{(t.key===` `||t.key===`Enter`)&&(t.preventDefault(),i(e.id))},className:R(`flex cursor-pointer flex-wrap items-center gap-3 px-4 py-3 outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset sm:px-5`,t>0?`border-t border-border/60`:``,a?`bg-muted/40`:`hover:bg-muted/24`),children:[(0,$.jsx)(`span`,{"aria-hidden":!0,className:R(`relative flex size-4 shrink-0 items-center justify-center rounded-full border-2 transition-colors`,a?`border-primary`:`border-muted-foreground/40`),children:a?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-primary`,"aria-hidden":!0}):null}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,title:e.name,children:e.name}),(0,$.jsx)(cs,{variant:`outline`,size:`sm`,children:e.builtIn?`Built-in`:`Custom`})]}),e.description?(0,$.jsx)(`span`,{className:`truncate text-xs text-muted-foreground/80`,title:e.description,children:e.description}):null]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:[e.builtIn?null:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,"aria-label":`Edit ${e.name}`,title:`Edit`,onClick:()=>E(e),className:`text-muted-foreground`,children:(0,$.jsx)(Dc,{className:`size-3.5`})}),(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,"aria-label":`Duplicate ${e.name}`,title:`Duplicate`,onClick:()=>D(e),className:`text-muted-foreground`,children:(0,$.jsx)(Gn,{className:`size-3.5`})}),(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,"aria-label":`Export ${e.name}`,title:`Export`,onClick:()=>M(e),className:`text-muted-foreground`,children:(0,$.jsx)(gc,{className:`size-3.5`})}),(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,"aria-label":`Copy ${e.name} JSON`,title:`Copy JSON`,onClick:()=>void N(e),className:`text-muted-foreground`,children:(0,$.jsx)(pc,{className:`size-3.5`})}),e.builtIn?null:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,"aria-label":`Delete ${e.name}`,title:`Delete`,onClick:()=>m(e.id),className:`text-destructive-foreground`,children:(0,$.jsx)(Oo,{className:`size-3.5`})})]})]}),o&&x?(0,$.jsx)(z_,{source:x.source,draft:x.draft,onDraftChange:e=>f(e),onSave:k,onCancel:A,resolvedVariant:n}):null]},e.id)})})}),(0,$.jsxs)(b_,{title:`Composer controls`,children:[(0,$.jsx)(x_,{title:`Reasoning chip style`,description:`How the reasoning effort level appears in the composer bar.`,resetAction:a===`icon-dots`?null:(0,$.jsx)(S_,{label:`reasoning indicator`,onClick:()=>o(`icon-dots`)}),control:(0,$.jsx)(`div`,{className:`flex w-full flex-col gap-2 sm:w-80`,children:Q_.map(e=>{let t=a===e.value;return(0,$.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":t,onClick:()=>o(e.value),className:R(`flex items-center gap-3 rounded-md border px-3 py-2 text-left`,t?`border-primary ring-1 ring-primary/40`:`border-border hover:border-foreground/30`),children:[(0,$.jsx)(`span`,{className:R(`size-3.5 rounded-full border`,t?`border-primary bg-primary/80`:`border-foreground/30`)}),(0,$.jsxs)(`span`,{className:`flex flex-grow flex-col`,children:[(0,$.jsx)(`span`,{className:`font-medium text-sm`,children:e.label}),(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.description})]}),(0,$.jsx)(`span`,{className:R(`inline-flex h-7 items-center gap-1.5 rounded-md px-2 font-medium text-xs`,`bg-indigo-500/15 text-indigo-700 dark:bg-indigo-500/20 dark:text-indigo-300`),children:e.value===`icon-dots`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ke,{"aria-hidden":`true`,className:`size-3`}),(0,$.jsx)(`span`,{className:`inline-flex items-center gap-0.5`,children:[1,2,3,4,5].map(e=>(0,$.jsx)(`span`,{className:R(`size-[5px] rounded-full bg-current`,e<=3?`opacity-100`:`opacity-30`)},e))})]}):(0,$.jsx)(`span`,{children:`High`})})]},e.value)})})}),(0,$.jsx)(x_,{title:`Token mode style`,description:`How the token efficiency mode appears in the composer bar.`,resetAction:s===`icon-text`?null:(0,$.jsx)(S_,{label:`token mode style`,onClick:()=>c(`icon-text`)}),control:(0,$.jsx)(`div`,{className:`flex w-full flex-col gap-2 sm:w-80`,children:$_.map(e=>{let t=s===e.value,n=e.icon;return(0,$.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":t,onClick:()=>c(e.value),className:R(`flex items-center gap-3 rounded-md border px-3 py-2 text-left`,t?`border-primary ring-1 ring-primary/40`:`border-border hover:border-foreground/30`),children:[(0,$.jsx)(`span`,{className:R(`size-3.5 rounded-full border`,t?`border-primary bg-primary/80`:`border-foreground/30`)}),(0,$.jsxs)(`span`,{className:`flex flex-grow flex-col`,children:[(0,$.jsx)(`span`,{className:`font-medium text-sm`,children:e.label}),(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.description})]}),(0,$.jsxs)(`span`,{className:`inline-flex h-7 min-w-7 items-center justify-center gap-1.5 rounded-md bg-muted px-2 font-medium text-muted-foreground text-xs`,children:[e.value===`text`?null:(0,$.jsx)(n,{"aria-hidden":`true`,className:`size-3.5`}),e.preview?(0,$.jsx)(`span`,{children:e.preview}):null]})]},e.value)})})})]}),(0,$.jsx)(b_,{title:`Color mode`,children:(0,$.jsx)(x_,{title:`Theme variant`,description:`Choose between light, dark, or following the system preference.`,resetAction:e===`system`?null:(0,$.jsx)(S_,{label:`color mode`,onClick:()=>t(`system`)}),control:(0,$.jsxs)(ko,{value:e,onValueChange:e=>{(e===`system`||e===`light`||e===`dark`)&&t(e)},children:[(0,$.jsx)(bo,{className:`w-full sm:w-40`,"aria-label":`Color mode`,children:(0,$.jsx)(gi,{children:Z_.find(t=>t.value===e)?.label??`System`})}),(0,$.jsx)(Xn,{align:`end`,alignItemWithTrigger:!1,children:Z_.map(e=>(0,$.jsx)(di,{hideIndicator:!0,value:e.value,children:e.label},e.value))})]})})}),(0,$.jsx)(mr,{open:p!==null,onOpenChange:e=>{e||m(null)},children:(0,$.jsxs)(Mi,{children:[(0,$.jsxs)(Ii,{children:[(0,$.jsx)(zi,{children:`Delete custom theme?`}),(0,$.jsx)(Ya,{children:S?`"${S.name}" will be removed permanently. This action cannot be undone.`:`This action cannot be undone.`})]}),(0,$.jsxs)(Dr,{children:[(0,$.jsx)(Ar,{render:(0,$.jsx)(J,{variant:`outline`}),children:`Cancel`}),(0,$.jsx)(J,{variant:`destructive`,onClick:j,children:`Delete theme`})]})]})})]})}function tv(e){let t=(0,Q.c)(43),{ariaLabel:n,icon:r,options:i,value:a,sample:o,onChange:s}=e,c;if(t[0]!==i||t[1]!==a){let e;t[3]===a?e=t[4]:(e=e=>e.value===a,t[3]=a,t[4]=e),c=i.findIndex(e),t[0]=i,t[1]=a,t[2]=c}else c=t[2];let l=Math.max(0,c),u=i[l]??i[0],d;t[5]===r?d=t[6]:(d=(0,$.jsx)(`span`,{className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md border border-border/70 bg-muted/60 text-muted-foreground`,children:r}),t[5]=r,t[6]=d);let f=u?.value??a,p;t[7]===f?p=t[8]:(p={fontFamily:f},t[7]=f,t[8]=p);let m=u?.label??a,h;t[9]!==p||t[10]!==m?(h=(0,$.jsx)(`span`,{className:`block truncate text-sm font-semibold text-foreground`,style:p,children:m}),t[9]=p,t[10]=m,t[11]=h):h=t[11];let g=u?.description??`Custom`,_;t[12]===g?_=t[13]:(_=(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:g}),t[12]=g,t[13]=_);let v;t[14]!==h||t[15]!==_?(v=(0,$.jsxs)(`span`,{className:`min-w-0`,children:[h,_]}),t[14]=h,t[15]=_,t[16]=v):v=t[16];let y;t[17]!==d||t[18]!==v?(y=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[d,v]}),t[17]=d,t[18]=v,t[19]=y):y=t[19];let b=u?.value??a,x;t[20]===b?x=t[21]:(x={fontFamily:b},t[20]=b,t[21]=x);let S;t[22]!==o||t[23]!==x?(S=(0,$.jsx)(`span`,{className:`flex h-9 min-w-30 max-w-44 items-center justify-start truncate rounded-md border border-border/70 bg-background px-2 text-xs text-foreground shadow-xs/5`,style:x,title:o,children:o}),t[22]=o,t[23]=x,t[24]=S):S=t[24];let C;t[25]!==y||t[26]!==S?(C=(0,$.jsxs)(`div`,{className:`mb-2 flex min-h-9 items-center justify-between gap-3`,children:[y,S]}),t[25]=y,t[26]=S,t[27]=C):C=t[27];let w;if(t[28]!==n||t[29]!==s||t[30]!==i||t[31]!==l){let e;t[33]!==n||t[34]!==s||t[35]!==l?(e=(e,t)=>{let r=t===l;return(0,$.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":r,"aria-label":`Use ${e.label} for ${n.toLowerCase()}`,title:`${e.label} (${e.description})`,onClick:()=>s(e.value),className:R(`min-h-12 min-w-0 rounded-md border px-2 py-1.5 text-left outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring`,r?`border-primary bg-primary/8 text-foreground ring-1 ring-primary/35`:`border-border/70 text-muted-foreground hover:border-foreground/25 hover:bg-muted/45`),children:[(0,$.jsx)(`span`,{className:`block truncate text-[12px] font-semibold leading-4`,style:{fontFamily:e.value},children:e.label}),(0,$.jsx)(`span`,{className:`block truncate text-[10px] leading-3 opacity-75`,children:e.description})]},e.value)},t[33]=n,t[34]=s,t[35]=l,t[36]=e):e=t[36],w=i.map(e),t[28]=n,t[29]=s,t[30]=i,t[31]=l,t[32]=w}else w=t[32];let T;t[37]!==n||t[38]!==w?(T=(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":n,className:`grid grid-cols-2 gap-1.5 sm:grid-cols-3`,children:w}),t[37]=n,t[38]=w,t[39]=T):T=t[39];let E;return t[40]!==C||t[41]!==T?(E=(0,$.jsxs)(`div`,{className:`w-full sm:w-96`,children:[C,T]}),t[40]=C,t[41]=T,t[42]=E):E=t[42],E}function nv(e){let t=(0,Q.c)(50),{ariaLabel:n,icon:r,options:i,value:a,onChange:o,preview:s}=e,c;if(t[0]!==i||t[1]!==a){let e;t[3]===a?e=t[4]:(e=e=>e.value===a,t[3]=a,t[4]=e),c=i.findIndex(e),t[0]=i,t[1]=a,t[2]=c}else c=t[2];let l=Math.max(0,c),u=i[l]??i[0],d=i.length>1?l/(i.length-1)*100:0,f;t[5]===r?f=t[6]:(f=(0,$.jsx)(`span`,{className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md border border-border/70 bg-muted/60 text-muted-foreground`,children:r}),t[5]=r,t[6]=f);let p=u?.label??a,m;t[7]===p?m=t[8]:(m=(0,$.jsx)(`span`,{className:`block truncate text-sm font-semibold text-foreground`,children:p}),t[7]=p,t[8]=m);let h=u?.description??a,g;t[9]===h?g=t[10]:(g=(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:h}),t[9]=h,t[10]=g);let _;t[11]!==m||t[12]!==g?(_=(0,$.jsxs)(`span`,{className:`min-w-0`,children:[m,g]}),t[11]=m,t[12]=g,t[13]=_):_=t[13];let v;t[14]!==f||t[15]!==_?(v=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[f,_]}),t[14]=f,t[15]=_,t[16]=v):v=t[16];let y;t[17]!==s||t[18]!==v?(y=(0,$.jsxs)(`div`,{className:`mb-2 flex min-h-9 items-center justify-between gap-3`,children:[v,s]}),t[17]=s,t[18]=v,t[19]=y):y=t[19];let b;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(b=R(`h-5 w-full cursor-pointer appearance-none bg-transparent outline-none`,`[&::-webkit-slider-runnable-track]:h-1.5 [&::-webkit-slider-runnable-track]:rounded-full`,`[&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-background [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:shadow-sm`,`[&::-moz-range-track]:h-1.5 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:border-0`,`[&::-moz-range-thumb]:size-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-background [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:shadow-sm`,`focus-visible:[&::-webkit-slider-thumb]:ring-2 focus-visible:[&::-webkit-slider-thumb]:ring-ring focus-visible:[&::-moz-range-thumb]:ring-2 focus-visible:[&::-moz-range-thumb]:ring-ring`),t[20]=b):b=t[20];let x=Math.max(0,i.length-1),S=`linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) ${d}%, color-mix(in srgb, var(--color-muted-foreground) 18%, transparent) ${d}%, color-mix(in srgb, var(--color-muted-foreground) 18%, transparent) 100%)`,C;t[21]===S?C=t[22]:(C={background:S,borderRadius:`999px`},t[21]=S,t[22]=C);let w;t[23]!==o||t[24]!==i?(w=e=>{let t=i[Number(e.currentTarget.value)];t&&o(t.value)},t[23]=o,t[24]=i,t[25]=w):w=t[25];let T;t[26]!==n||t[27]!==l||t[28]!==x||t[29]!==C||t[30]!==w?(T=(0,$.jsx)(`input`,{"aria-label":n,className:b,max:x,min:0,step:1,type:`range`,value:l,style:C,onChange:w}),t[26]=n,t[27]=l,t[28]=x,t[29]=C,t[30]=w,t[31]=T):T=t[31];let E=`repeat(${i.length}, minmax(0, 1fr))`,D;t[32]===E?D=t[33]:(D={gridTemplateColumns:E},t[32]=E,t[33]=D);let O;if(t[34]!==n||t[35]!==o||t[36]!==i||t[37]!==l){let e;t[39]!==n||t[40]!==o||t[41]!==l?(e=(e,t)=>{let r=t===l;return(0,$.jsxs)(`button`,{type:`button`,"aria-label":`Set ${n.toLowerCase()} to ${e.label}`,title:`${e.label} (${e.description})`,onClick:()=>o(e.value),className:R(`flex min-h-7 min-w-0 flex-col items-center justify-start gap-1 rounded-md px-1 py-1 text-center outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring`,r?`text-foreground`:`text-muted-foreground hover:bg-muted/50`),children:[(0,$.jsx)(`span`,{className:R(`size-1.5 rounded-full`,r?`bg-primary`:`bg-muted-foreground/35`),"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`max-w-full truncate text-[10px] leading-none`,children:e.label})]},e.value)},t[39]=n,t[40]=o,t[41]=l,t[42]=e):e=t[42],O=i.map(e),t[34]=n,t[35]=o,t[36]=i,t[37]=l,t[38]=O}else O=t[38];let k;t[43]!==D||t[44]!==O?(k=(0,$.jsx)(`div`,{className:`mt-1.5 grid gap-1`,style:D,children:O}),t[43]=D,t[44]=O,t[45]=k):k=t[45];let A;return t[46]!==T||t[47]!==k||t[48]!==y?(A=(0,$.jsxs)(`div`,{className:`w-full sm:w-96`,children:[y,T,k]}),t[46]=T,t[47]=k,t[48]=y,t[49]=A):A=t[49],A}function rv(e,t){let n=new URL(e);return n.pathname=`/pair`,ys(n,t).toString()}function iv(e,t){return new URL(e).protocol===`https:`?Ss({host:e,token:t}):null}var av=class e{static Ecc;static encodeText(t,n){let r=lv.makeSegments(t);return e.encodeSegments(r,n)}static encodeBinary(t,n){let r=lv.makeBytes(t);return e.encodeSegments([r],n)}static encodeSegments(t,n,r=1,i=40,a=-1,o=!0){if(!(e.MIN_VERSION<=r&&r<=i&&i<=e.MAX_VERSION)||a<-1||a>7)throw RangeError(`Invalid value`);let s,c;for(s=r;;s++){let r=e.getNumDataCodewords(s,n)*8,a=lv.getTotalBits(t,s);if(a<=r){c=a;break}if(s>=i)throw RangeError(`Data too long`)}for(let t of[e.Ecc.MEDIUM,e.Ecc.QUARTILE,e.Ecc.HIGH])o&&c<=e.getNumDataCodewords(s,t)*8&&(n=t);let l=[];for(let e of t){ov(e.mode.modeBits,4,l),ov(e.numChars,e.mode.numCharCountBits(s),l);for(let t of e.getData())l.push(t)}cv(l.length==c);let u=e.getNumDataCodewords(s,n)*8;cv(l.length<=u),ov(0,Math.min(4,u-l.length),l),ov(0,(8-l.length%8)%8,l),cv(l.length%8==0);for(let e=236;l.length<u;e^=253)ov(e,8,l);let d=[];for(;d.length*8<l.length;)d.push(0);return l.forEach((e,t)=>d[t>>>3]|=e<<7-(t&7)),new e(s,n,d,a)}version;errorCorrectionLevel;size;mask;modules=[];isFunction=[];constructor(t,n,r,i){if(this.version=t,this.errorCorrectionLevel=n,t<e.MIN_VERSION||t>e.MAX_VERSION)throw RangeError(`Version value out of range`);if(i<-1||i>7)throw RangeError(`Mask value out of range`);this.size=t*4+17;let a=[];for(let e=0;e<this.size;e++)a.push(!1);for(let e=0;e<this.size;e++)this.modules.push(a.slice()),this.isFunction.push(a.slice());this.drawFunctionPatterns();let o=this.addEccAndInterleave(r);if(this.drawCodewords(o),i==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(i=t,e=n),this.applyMask(t)}}cv(0<=i&&i<=7),this.mask=i,this.applyMask(i),this.drawFormatBits(i),this.isFunction=[]}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let r=(t<<10|n)^21522;cv(r>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,sv(r,e));this.setFunctionModule(8,7,sv(r,6)),this.setFunctionModule(8,8,sv(r,7)),this.setFunctionModule(7,8,sv(r,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,sv(r,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,sv(r,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,sv(r,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;cv(t>>>18==0);for(let e=0;e<18;e++){let n=sv(t,e),r=this.size-11+e%3,i=Math.floor(e/3);this.setFunctionModule(r,i,n),this.setFunctionModule(i,r,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(t){let n=this.version,r=this.errorCorrectionLevel;if(t.length!=e.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let i=e.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],a=e.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],o=Math.floor(e.getNumRawDataModules(n)/8),s=i-o%i,c=Math.floor(o/i),l=[],u=e.reedSolomonComputeDivisor(a);for(let n=0,r=0;n<i;n++){let i=t.slice(r,r+c-a+(n<s?0:1));r+=i.length;let o=e.reedSolomonComputeRemainder(i,u);n<s&&i.push(0),l.push(i.concat(o))}let d=[];for(let e=0;e<l[0].length;e++)l.forEach((t,n)=>{(e!=c-a||n>=s)&&d.push(t[e])});return cv(d.length==o),d}drawCodewords(t){if(t.length!=Math.floor(e.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let e=this.size-1;e>=1;e-=2){e==6&&(e=5);for(let r=0;r<this.size;r++)for(let i=0;i<2;i++){let a=e-i,o=e+1&2?r:this.size-1-r;!this.isFunction[o][a]&&n<t.length*8&&(this.modules[o][a]=sv(t[n>>>3],7-(n&7)),n++)}}cv(n==t.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let t=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]===r?(i++,i==5?t+=e.PENALTY_N1:i>5&&t++):(this.finderPenaltyAddHistory(i,a),r||(t+=this.finderPenaltyCountPatterns(a)*e.PENALTY_N3),r=this.modules[n][o],i=1);t+=this.finderPenaltyTerminateAndCount(r,i,a)*e.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]===r?(i++,i==5?t+=e.PENALTY_N1:i>5&&t++):(this.finderPenaltyAddHistory(i,a),r||(t+=this.finderPenaltyCountPatterns(a)*e.PENALTY_N3),r=this.modules[o][n],i=1);t+=this.finderPenaltyTerminateAndCount(r,i,a)*e.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(t+=e.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+(t?1:0),n);let r=this.size*this.size,i=Math.ceil(Math.abs(n*20-r*10)/r)-1;return cv(0<=i&&i<=9),t+=i*e.PENALTY_N4,cv(0<=t&&t<=2568888),t}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(t){if(t<e.MIN_VERSION||t>e.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*t+128)*t+64;if(t>=2){let e=Math.floor(t/7)+2;n-=(25*e-10)*e-55,t>=7&&(n-=36)}return cv(208<=n&&n<=29648),n}static getNumDataCodewords(t,n){return Math.floor(e.getNumRawDataModules(t)/8)-e.ECC_CODEWORDS_PER_BLOCK[n.ordinal][t]*e.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][t]}static reedSolomonComputeDivisor(t){if(t<1||t>255)throw RangeError(`Degree out of range`);let n=[];for(let e=0;e<t-1;e++)n.push(0);n.push(1);let r=1;for(let i=0;i<t;i++){for(let t=0;t<n.length;t++)n[t]=e.reedSolomonMultiply(n[t],r),t+1<n.length&&(n[t]^=n[t+1]);r=e.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(t,n){let r=n.map(e=>0);for(let i of t){let t=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=e.reedSolomonMultiply(n,t))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return cv(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];cv(t<=this.size*3);let n=t>0&&e[2]===t&&e[3]===t*3&&e[4]===t&&e[5]===t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]===0&&(e+=this.size),t.pop(),t.unshift(e)}static MIN_VERSION=1;static MAX_VERSION=40;static PENALTY_N1=3;static PENALTY_N2=3;static PENALTY_N3=40;static PENALTY_N4=10;static ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]];static NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]]};function ov(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function sv(e,t){return(e>>>t&1)!=0}function cv(e){if(!e)throw Error(`Assertion error`)}var lv=class e{static Mode;static makeBytes(t){let n=[];for(let e of t)ov(e,8,n);return new e(e.Mode.BYTE,t.length,n)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let n=[];for(let e=0;e<t.length;){let r=Math.min(t.length-e,3);ov(parseInt(t.substring(e,e+r),10),r*3+1,n),e+=r}return new e(e.Mode.NUMERIC,t.length,n)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let n=[],r;for(r=0;r+2<=t.length;r+=2){let i=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(r))*45;i+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(r+1)),ov(i,11,n)}return r<t.length&&ov(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(r)),6,n),new e(e.Mode.ALPHANUMERIC,t.length,n)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let n=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)ov(t,8,n);else if(t<16384)ov(2,2,n),ov(t,14,n);else if(t<1e6)ov(6,3,n),ov(t,21,n);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,n)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}mode;numChars;bitData;constructor(e,t,n){if(this.mode=e,this.numChars=t,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}static NUMERIC_REGEX=/^[0-9]*$/;static ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/;static ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`},uv=class e{static LOW=new e(0,1);static MEDIUM=new e(1,0);static QUARTILE=new e(2,3);static HIGH=new e(3,2);ordinal;formatBits;constructor(e,t){this.ordinal=e,this.formatBits=t}},dv=class e{static NUMERIC=new e(1,[10,12,14]);static ALPHANUMERIC=new e(2,[9,11,13]);static BYTE=new e(4,[8,16,16]);static KANJI=new e(8,[8,10,12]);static ECI=new e(7,[0,0,0]);modeBits;numBitsCharCount;constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};av.Ecc=uv,lv.Mode=dv;var fv={L:av.Ecc.LOW,M:av.Ecc.MEDIUM,Q:av.Ecc.QUARTILE,H:av.Ecc.HIGH};function pv(e,t){let n=[];for(let r=0;r<e.size;r+=1){let i=-1;for(let a=0;a<=e.size;a+=1){if(a<e.size&&e.getModule(a,r)){i===-1&&(i=a);continue}i!==-1&&(n.push(`M${i+t} ${r+t}h${a-i}v1H${i+t}z`),i=-1)}}return n.join(``)}var mv=(0,Z.memo)(function(e){let t=(0,Q.c)(38),{value:n,size:r,level:i,marginSize:a,title:o,className:s,foregroundColor:c,backgroundColor:l}=e,u=r===void 0?128:r,d=i===void 0?`L`:i,f=a===void 0?0:a,p=c===void 0?`#000`:c,m=l===void 0?`#fff`:l,h,g,_,v,y,b,x,S,C,w,T;if(t[0]!==m||t[1]!==s||t[2]!==d||t[3]!==f||t[4]!==u||t[5]!==o||t[6]!==n){let e=av.encodeText(n,fv[d]),r=e.size+f*2;C=`http://www.w3.org/2000/svg`,w=`0 0 ${r} ${r}`,T=u,h=u,g=`crispEdges`,_=o?`img`:void 0,v=o,y=s,t[18]===o?b=t[19]:(b=o?(0,$.jsx)(`title`,{children:o}):null,t[18]=o,t[19]=b),t[20]!==m||t[21]!==r?(x=(0,$.jsx)(`rect`,{width:r,height:r,fill:m}),t[20]=m,t[21]=r,t[22]=x):x=t[22],S=pv(e,f),t[0]=m,t[1]=s,t[2]=d,t[3]=f,t[4]=u,t[5]=o,t[6]=n,t[7]=h,t[8]=g,t[9]=_,t[10]=v,t[11]=y,t[12]=b,t[13]=x,t[14]=S,t[15]=C,t[16]=w,t[17]=T}else h=t[7],g=t[8],_=t[9],v=t[10],y=t[11],b=t[12],x=t[13],S=t[14],C=t[15],w=t[16],T=t[17];let E;t[23]!==p||t[24]!==S?(E=(0,$.jsx)(`path`,{d:S,fill:p}),t[23]=p,t[24]=S,t[25]=E):E=t[25];let D;return t[26]!==h||t[27]!==g||t[28]!==_||t[29]!==v||t[30]!==y||t[31]!==b||t[32]!==x||t[33]!==E||t[34]!==C||t[35]!==w||t[36]!==T?(D=(0,$.jsxs)(`svg`,{xmlns:C,viewBox:w,width:T,height:h,shapeRendering:g,role:_,"aria-label":v,className:y,children:[b,x,E]}),t[26]=h,t[27]=g,t[28]=_,t[29]=v,t[30]=y,t[31]=b,t[32]=x,t[33]=E,t[34]=C,t[35]=w,t[36]=T,t[37]=D):D=t[37],D}),hv=443,gv=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`});function _v(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:gv.format(t)}function vv(e){let t=(0,Q.c)(21),{tooltipText:n,dotClassName:r,pingClassName:i}=e,a;t[0]===i?a=t[1]:(a=i?(0,$.jsx)(`span`,{className:R(`absolute inline-flex h-full w-full animate-ping rounded-full`,i)}):null,t[0]=i,t[1]=a);let o;t[2]===r?o=t[3]:(o=R(`relative inline-flex size-2 rounded-full`,r),t[2]=r,t[3]=o);let s;t[4]===o?s=t[5]:(s=(0,$.jsx)(`span`,{className:o}),t[4]=o,t[5]=s);let c;t[6]!==a||t[7]!==s?(c=(0,$.jsxs)($.Fragment,{children:[a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8];let l=c;if(!n){let e;return t[9]===l?e=t[10]:(e=(0,$.jsx)(`span`,{className:`relative flex size-3 shrink-0 items-center justify-center`,children:l}),t[9]=l,t[10]=e),e}let u;t[11]!==l||t[12]!==n?(u=(0,$.jsx)(`button`,{type:`button`,title:n,"aria-label":n,className:`relative flex size-3 shrink-0 cursor-help items-center justify-center rounded-full outline-hidden`,children:l}),t[11]=l,t[12]=n,t[13]=u):u=t[13];let d=u,f;t[14]===d?f=t[15]:(f=(0,$.jsx)(me,{render:d}),t[14]=d,t[15]=f);let p;t[16]===n?p=t[17]:(p=(0,$.jsx)(ne,{side:`top`,className:`max-w-80 whitespace-pre-wrap leading-tight`,children:n}),t[16]=n,t[17]=p);let m;return t[18]!==f||t[19]!==p?(m=(0,$.jsxs)(Ee,{children:[f,p]}),t[18]=f,t[19]=p,t[20]=m):m=t[20],m}function yv(e,t,n){let r=e?.connectionState??`disconnected`;if(r===`connected`){let r=e?.connectedAt??t.lastConnectedAt;return r?`Connected for ${jn(r,n)}`:null}return r===`connecting`?null:r===`error`?e?.lastError??`An unknown connection error occurred.`:t.lastConnectedAt?`Last connected at ${_v(t.lastConnectedAt)}`:`Not connected yet.`}function bv(e){let t=e.username?`${e.username}@${e.hostname}`:e.hostname;return e.port?`${t}:${e.port}`:t}function xv(e){let t=e.host.trim();if(t.length===0)throw Error(`SSH host or alias is required.`);let n=t,r=e.username.trim()||null,i=null,a=n.lastIndexOf(`@`);if(a>0){let e=n.slice(0,a).trim();n=n.slice(a+1).trim(),!r&&e.length>0&&(r=e)}let o=/^\[([^\]]+)\](?::(\d+))?$/u.exec(n);if(o)n=o[1].trim(),o[2]&&(i=Number.parseInt(o[2],10));else{let e=n.split(`:`);e.length===2&&/^\d+$/u.test(e[1]??``)&&(n=e[0].trim(),i=Number.parseInt(e[1],10))}let s=e.port.trim();if(s.length>0&&(i=Number.parseInt(s,10)),n.length===0)throw Error(`SSH host or alias is required.`);if(i!==null&&(!Number.isInteger(i)||i<=0||i>65535))throw Error(`SSH port must be between 1 and 65535.`);return{alias:n,hostname:n,username:r,port:i}}function Sv(e){let t=e.trim();if(!t)return null;try{let e=/^[a-zA-Z][a-zA-Z\d+.-]*:\/\//u.test(t)||t.startsWith(`//`)?t:`https://${t}`,n=new URL(e,window.location.origin),r=xs(n);if(r)return{host:r.host,pairingCode:r.token};let i=bs(n);return i?{host:n.origin,pairingCode:i}:null}catch{return null}}function Cv(e){let t=Sv(e.host);if(t)return t;let n=e.host.trim(),r=e.pairingCode.trim();if(!n)throw Error(`Enter a backend host.`);if(!r)throw Error(`Enter a pairing code.`);return{host:n,pairingCode:r}}function wv(e){let t=`Failed to connect SSH host.`;return(e instanceof Error?e.message:t).replace(/^Error invoking remote method 'desktop:ensure-ssh-environment':\s*/u,``).replace(/^Ssh[A-Za-z]+Error:\s*/u,``).trim()||t}var Tv=`border-t border-border/60 px-4 py-4 first:border-t-0 sm:px-5`,Ev=`border-t border-border/60 px-4 py-2.5 first:border-t-0 sm:px-5`,Dv=`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`;function Ov(e){return Tv}function kv(e,t){return e===`endpoint-rail`?R(`relative border-t border-border/60 px-4 py-3 first:border-t-0 sm:px-5`,!t&&`bg-muted/20`):R(Ev,!t&&`bg-muted/24`)}function Av(e){return[...e].toSorted((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())}function jv(e){return[...e].toSorted((e,t)=>e.current===t.current?e.connected===t.connected?new Date(t.issuedAt).getTime()-new Date(e.issuedAt).getTime():e.connected?-1:1:e.current?-1:1)}function Mv(e){return{...e,createdAt:Ro(e.createdAt),expiresAt:Ro(e.expiresAt)}}function Nv(e){return{...e,issuedAt:Ro(e.issuedAt),expiresAt:Ro(e.expiresAt),lastConnectedAt:e.lastConnectedAt===null?null:Ro(e.lastConnectedAt)}}function Pv(e,t){let n=e.findIndex(e=>e.id===t.id);if(n===-1)return Av([...e,t]);let r=[...e];return r[n]=t,Av(r)}function Fv(e,t){return e.filter(e=>e.id!==t)}function Iv(e,t){let n=e.findIndex(e=>e.sessionId===t.sessionId);if(n===-1)return jv([...e,t]);let r=[...e];return r[n]=t,jv(r)}function Lv(e,t){return e.filter(e=>e.sessionId!==t)}function Rv(e,t){let n=e.filter(e=>e.status!==`unavailable`);if(t){let e=n.find(e=>Bv(e)===t);if(e)return e}return n.find(e=>e.isDefault)??n.find(e=>e.reachability!==`loopback`)??n.find(e=>e.compatibility.hostedHttpsApp===`compatible`)??null}function zv(e){return e.id.startsWith(`tailscale-magicdns:`)}function Bv(e){if(e.id.startsWith(`desktop-loopback:`))return`desktop-core:loopback:http`;if(e.id.startsWith(`desktop-lan:`))return`desktop-core:lan:http`;if(e.id.startsWith(`tailscale-ip:`))return`tailscale:ip:http`;if(zv(e))return`tailscale:magicdns:https`;let t=`unknown`;try{t=new URL(e.httpBaseUrl).protocol.replace(/:$/u,``)}catch{}return`${e.provider.id}:${e.reachability}:${t}:${e.label}`}function Vv(e,t){return e.compatibility.hostedHttpsApp===`compatible`?iv(e.httpBaseUrl,t)??rv(e.httpBaseUrl,t):rv(e.httpBaseUrl,t)}function Hv(e){return ys(new URL(`/pair`,window.location.href),e).toString()}function Uv(e){try{let t=new URL(e);return t.pathname===`/pair`&&t.searchParams.has(`host`)}catch{return!1}}var Wv=(0,Z.memo)(function({pairingLink:e,endpointUrl:t,endpoints:n,defaultEndpointKey:r,presentation:i=`current`,revokingPairingLinkId:a,onRevoke:o}){let s=v_(1e3),c=(0,Z.useMemo)(()=>new Date(e.expiresAt).getTime(),[e.expiresAt]),[l,u]=(0,Z.useState)(!1),d=(0,Z.useMemo)(()=>Hv(e.credential),[e.credential]),f=(0,Z.useMemo)(()=>t!=null&&t!==``?iv(t,e.credential):null,[t,e.credential]),p=(0,Z.useMemo)(()=>{let t=Rv(n,r);return t?Vv(t,e.credential):null},[r,n,e.credential]),m=(0,Z.useMemo)(()=>n.filter(e=>e.status!==`unavailable`).map(t=>{let n=Vv(t,e.credential);return{key:Bv(t),label:t.label,url:n,detail:Uv(n)?`Hosted app link`:`Backend pairing URL`}}),[n,e.credential]),h=p??(t!=null&&t!==``?f??rv(t,e.credential):Jo(window.location.hostname)?null:d),g=h??e.credential,_=h!==null&&Uv(h),v=typeof window<`u`&&window.isSecureContext&&navigator.clipboard?.writeText!=null,{copyToClipboard:y}=ni({onCopy:e=>{Y.add({type:`success`,title:e===`hosted-link`?`Hosted app link copied`:e===`link`?`Pairing URL copied`:`Pairing code copied`,description:e===`hosted-link`?`Open it in the browser on the device you want to connect.`:e===`link`?`Open it in the client you want to pair to this environment.`:`Paste it into another client to finish pairing.`})},onError:(e,t)=>{u(!0),Y.add(X({type:`error`,title:v?t===`hosted-link`?`Could not copy hosted app link`:t===`link`?`Could not copy pairing URL`:`Could not copy pairing code`:`Clipboard copy unavailable`,description:v?e.message:`Showing the full value instead.`}))}}),b=(0,Z.useCallback)((e,t)=>{y(e,t)},[y]),x=(0,Z.useCallback)(e=>Uv(e)?`hosted-link`:`link`,[]),S=(0,Z.useCallback)(()=>{b(e.credential,`code`)},[b,e.credential]),C=(0,Z.useCallback)(()=>{h&&b(h,x(h))},[x,b,h]),w=_v(e.expiresAt),T=e.role===`owner`?`Owner`:`Client`,E=e.label??`${T} link`,D=(m.find(e=>e.key===r)??m[0]??null)?.label??`URL`,O=m.filter(e=>!Uv(e.url)),k=m.filter(e=>Uv(e.url)),A=(e=m,t=!0)=>e.map(e=>(0,$.jsx)(de,{onClick:()=>b(e.url,x(e.url)),children:(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate`,children:e.label}),t?(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:e.detail}):null]})},e.key)),j=(e=!0)=>(0,$.jsx)(de,{onClick:S,children:(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate`,children:`Copy code`}),e?(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:`Token only`}):null]})}),M=(e,t,n)=>t.length>0?(0,$.jsxs)($.Fragment,{children:[n?(0,$.jsx)(Ze,{}):null,(0,$.jsxs)(Je,{children:[(0,$.jsx)(K,{children:e}),A(t,!1)]})]}):null,N=e=>(0,$.jsxs)($.Fragment,{children:[e?.codeFirst?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Je,{children:[(0,$.jsx)(K,{children:`Pairing code`}),j(!1)]}),m.length>0?(0,$.jsx)(Ze,{}):null]}):null,M(`Pairing URLs`,O,!1),M(`Hosted app link`,k,O.length>0),e?.codeFirst?null:(0,$.jsxs)($.Fragment,{children:[m.length>0?(0,$.jsx)(Ze,{}):null,(0,$.jsxs)(Je,{children:[(0,$.jsx)(K,{children:`Pairing code`}),j(!1)]})]})]});return c<=s?null:(0,$.jsx)(`div`,{className:Ov(i),children:(0,$.jsxs)(`div`,{className:Dv,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex min-h-5 items-center gap-1.5`,children:[(0,$.jsx)(vv,{tooltipText:`Link created at ${_v(e.createdAt)}`,dotClassName:`bg-amber-400`}),(0,$.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:E}),(0,$.jsx)(sa,{children:h?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ja,{openOnHover:!0,delay:250,closeDelay:100,render:(0,$.jsx)(`button`,{type:`button`,className:`inline-flex size-4 shrink-0 items-center justify-center rounded-sm text-muted-foreground/50 outline-none hover:text-foreground`,"aria-label":`Show QR code`}),children:(0,$.jsx)(kc,{"aria-hidden":!0,className:`size-3`})}),(0,$.jsx)(ma,{side:`top`,align:`start`,tooltipStyle:!0,className:`w-max`,children:(0,$.jsx)(mv,{value:h,size:88,level:`M`,marginSize:2,title:`Pairing link — scan to open on another device`})})]}):null})]}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,title:w,children:[T,Pn(e.expiresAt,s)].join(` · `)}),h===null?(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground/70`,children:`Copy the token and pair from another client using this backend's reachable host.`}):null]}),(0,$.jsxs)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:[(0,$.jsxs)(Zr,{open:l,onOpenChange:u,children:[v?(0,$.jsx)($.Fragment,{children:h?(0,$.jsxs)(yi,{"aria-label":`Copy selected endpoint`,children:[(0,$.jsx)(J,{size:`xs`,variant:`outline`,className:`max-w-56`,title:`Copy pairing URL for: ${D}`,onClick:C,children:(0,$.jsxs)(`span`,{className:`truncate`,children:[`Copy pairing URL for: `,D]})}),(0,$.jsx)(Di,{}),(0,$.jsxs)(Ve,{children:[(0,$.jsx)(Oe,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`outline`,"aria-label":`Choose endpoint to copy`}),children:(0,$.jsx)(rt,{className:`size-3.5`})}),(0,$.jsx)(Zt,{align:`end`,className:`min-w-60`,children:N()})]})]}):(0,$.jsx)(J,{size:`xs`,variant:`outline`,onClick:S,children:`Copy code`})}):(0,$.jsx)(br,{render:(0,$.jsx)(J,{size:`xs`,variant:`outline`}),children:h?`Show link`:`Show code`}),(0,$.jsxs)(Kn,{className:`max-w-md`,children:[(0,$.jsxs)(oi,{children:[(0,$.jsx)(Ti,{children:h?_?`Hosted app pairing link`:`Pairing link`:`Pairing code`}),(0,$.jsx)(wr,{children:h?_?`Clipboard copy is unavailable here. Open or manually copy this hosted app link on the device you want to connect.`:`Clipboard copy is unavailable here. Open or manually copy this full pairing URL on the device you want to connect.`:`Clipboard copy is unavailable here. Manually copy this code into another client.`})]}),(0,$.jsxs)(Mo,{className:`space-y-4`,children:[(0,$.jsx)(or,{readOnly:!0,value:g,rows:h?4:3,className:`text-xs leading-relaxed`,onFocus:e=>e.currentTarget.select(),onClick:e=>e.currentTarget.select()}),h?(0,$.jsx)(`div`,{className:`flex justify-center rounded-xl border border-border/60 bg-muted/30 p-4`,children:(0,$.jsx)(mv,{value:h,size:132,level:`M`,marginSize:2,title:`Pairing link — scan to open on another device`})}):null]}),(0,$.jsxs)(Ir,{variant:`bare`,children:[(0,$.jsx)(J,{variant:`outline`,onClick:()=>u(!1),children:`Done`}),v?(0,$.jsx)(J,{variant:`outline`,size:`xs`,onClick:S,children:`Copy code`}):null]})]})]}),(0,$.jsx)(J,{size:`xs`,variant:`destructive-outline`,disabled:a===e.id,onClick:()=>void o(e.id),children:a===e.id?`Revoking…`:`Revoke`})]})]})})}),Gv=(0,Z.memo)(function(e){let t=(0,Q.c)(45),{clientSession:n,presentation:r,revokingClientSessionId:i,onRevokeSession:a}=e,o=r===void 0?`current`:r,s=v_(1e3),c=n.current||n.connected,l=n.lastConnectedAt,u=c?l?`Connected for ${jn(l,s)}`:`Connected`:l?`Last connected at ${_v(l)}`:`Not connected yet.`,d=n.role===`owner`?`Owner`:`Client`,f=n.client.deviceType===`unknown`?null:n.client.deviceType[0]?.toUpperCase()+n.client.deviceType.slice(1),p=n.client.os??null,m=n.client.browser??null,h=n.client.ipAddress??null,g;t[0]!==f||t[1]!==p||t[2]!==m||t[3]!==h?(g=[f,p,m,h].filter(ey),t[0]=f,t[1]=p,t[2]=m,t[3]=h,t[4]=g):g=t[4];let _=g,v;t[5]!==n.client.browser||t[6]!==n.client.label||t[7]!==n.client.os||t[8]!==n.subject?(v=n.client.label??([n.client.os,n.client.browser].filter(Boolean).join(` · `)||n.subject),t[5]=n.client.browser,t[6]=n.client.label,t[7]=n.client.os,t[8]=n.subject,t[9]=v):v=t[9];let y=v,b;t[10]===o?b=t[11]:(b=Ov(o),t[10]=o,t[11]=b);let x=c?`bg-success`:`bg-muted-foreground/30`,S=c?`bg-success/60 duration-2000`:null,C;t[12]!==u||t[13]!==S||t[14]!==x?(C=(0,$.jsx)(vv,{tooltipText:u,dotClassName:x,pingClassName:S}),t[12]=u,t[13]=S,t[14]=x,t[15]=C):C=t[15];let w;t[16]===y?w=t[17]:(w=(0,$.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:y}),t[16]=y,t[17]=w);let T;t[18]===n.current?T=t[19]:(T=n.current?(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground/80 rounded-md border border-border/50 bg-muted/50 px-1 py-0.5`,children:`This device`}):null,t[18]=n.current,t[19]=T);let E;t[20]!==C||t[21]!==w||t[22]!==T?(E=(0,$.jsxs)(`div`,{className:`flex min-h-5 items-center gap-1.5`,children:[C,w,T]}),t[20]=C,t[21]=w,t[22]=T,t[23]=E):E=t[23];let D;t[24]!==_||t[25]!==d?(D=[d,..._],t[24]=_,t[25]=d,t[26]=D):D=t[26];let O=D.join(` · `),k;t[27]===O?k=t[28]:(k=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:O}),t[27]=O,t[28]=k);let A;t[29]!==E||t[30]!==k?(A=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[E,k]}),t[29]=E,t[30]=k,t[31]=A):A=t[31];let j;t[32]!==n.current||t[33]!==n.sessionId||t[34]!==a||t[35]!==i?(j=n.current?null:(0,$.jsx)(J,{size:`xs`,variant:`destructive-outline`,disabled:i===n.sessionId,onClick:()=>void a(n.sessionId),children:i===n.sessionId?`Revoking…`:`Revoke`}),t[32]=n.current,t[33]=n.sessionId,t[34]=a,t[35]=i,t[36]=j):j=t[36];let M;t[37]===j?M=t[38]:(M=(0,$.jsx)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:j}),t[37]=j,t[38]=M);let N;t[39]!==A||t[40]!==M?(N=(0,$.jsxs)(`div`,{className:Dv,children:[A,M]}),t[39]=A,t[40]=M,t[41]=N):N=t[41];let P;return t[42]!==N||t[43]!==b?(P=(0,$.jsx)(`div`,{className:b,children:N}),t[42]=N,t[43]=b,t[44]=P):P=t[44],P}),Kv=(0,Z.memo)(function({clientSessions:e,isRevokingOtherClients:t,onRevokeOtherClients:n}){let[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(!1),l=(0,Z.useCallback)(async()=>{c(!0);try{await ts(a),o(``),i(!1)}catch(e){let t=e instanceof Error?e.message:`Failed to create pairing URL.`;Y.add(X({type:`error`,title:`Could not create pairing URL`,description:t}))}finally{c(!1)}},[a]);return(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(J,{size:`xs`,variant:`destructive-outline`,disabled:t||e.every(e=>e.current),onClick:()=>void n(),children:t?`Revoking…`:`Revoke others`}),(0,$.jsxs)(Zr,{open:r,onOpenChange:e=>{i(e),e||o(``)},children:[(0,$.jsx)(br,{render:(0,$.jsxs)(J,{size:`xs`,variant:`default`,children:[(0,$.jsx)(ar,{className:`size-3`}),`Create link`]})}),(0,$.jsxs)(Kn,{className:`max-w-sm`,children:[(0,$.jsxs)(oi,{children:[(0,$.jsx)(Ti,{children:`Create pairing link`}),(0,$.jsx)(wr,{children:`Generate a one-time link that another device can use to pair with this backend as an authorized client.`})]}),(0,$.jsx)(Mo,{children:(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`mb-1.5 block text-xs font-medium text-foreground`,children:`Client label (optional)`}),(0,$.jsx)(tr,{value:a,onChange:e=>o(e.target.value),placeholder:`e.g. Living room iPad`,disabled:s,autoFocus:!0})]})}),(0,$.jsxs)(Ir,{variant:`bare`,children:[(0,$.jsx)(J,{variant:`outline`,disabled:s,onClick:()=>i(!1),children:`Cancel`}),(0,$.jsx)(J,{disabled:s,onClick:()=>void l(),children:s?`Creating…`:`Create link`})]})]})]})]})}),qv=(0,Z.memo)(function(e){let t=(0,Q.c)(33),{endpointUrl:n,endpoints:r,defaultEndpointKey:i,presentation:a,isLoading:o,pairingLinks:s,clientSessions:c,revokingPairingLinkId:l,revokingClientSessionId:u,onRevokePairingLink:d,onRevokeClientSession:f}=e,p=a===void 0?`current`:a,m;if(t[0]!==i||t[1]!==n||t[2]!==r||t[3]!==d||t[4]!==s||t[5]!==p||t[6]!==l){let e;t[8]!==i||t[9]!==n||t[10]!==r||t[11]!==d||t[12]!==p||t[13]!==l?(e=e=>(0,$.jsx)(Wv,{pairingLink:e,endpointUrl:n,endpoints:r,defaultEndpointKey:i,presentation:p,revokingPairingLinkId:l,onRevoke:d},e.id),t[8]=i,t[9]=n,t[10]=r,t[11]=d,t[12]=p,t[13]=l,t[14]=e):e=t[14],m=s.map(e),t[0]=i,t[1]=n,t[2]=r,t[3]=d,t[4]=s,t[5]=p,t[6]=l,t[7]=m}else m=t[7];let h;if(t[15]!==c||t[16]!==f||t[17]!==p||t[18]!==u){let e;t[20]!==f||t[21]!==p||t[22]!==u?(e=e=>(0,$.jsx)(Gv,{clientSession:e,presentation:p,revokingClientSessionId:u,onRevokeSession:f},e.sessionId),t[20]=f,t[21]=p,t[22]=u,t[23]=e):e=t[23],h=c.map(e),t[15]=c,t[16]=f,t[17]=p,t[18]=u,t[19]=h}else h=t[19];let g;t[24]!==c.length||t[25]!==o||t[26]!==s.length||t[27]!==p?(g=s.length===0&&c.length===0&&!o?(0,$.jsx)(`div`,{className:Ov(p),children:(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground/60`,children:`No pairing links or client sessions.`})}):null,t[24]=c.length,t[25]=o,t[26]=s.length,t[27]=p,t[28]=g):g=t[28];let _;return t[29]!==m||t[30]!==h||t[31]!==g?(_=(0,$.jsxs)($.Fragment,{children:[m,h,g]}),t[29]=m,t[30]=h,t[31]=g,t[32]=_):_=t[32],_}),Jv=(0,Z.memo)(function(e){let t=(0,Q.c)(50),{endpoint:n,isDefault:r,presentation:i,onSetDefault:a,onSetupTailscaleServe:o,onDisableTailscaleServe:s,isUpdatingTailscaleServe:c}=e,l=i===void 0?`current`:i,u=n.status===`available`,d;t[0]===n?d=t[1]:(d=zv(n)&&n.status!==`available`,t[0]=n,t[1]=d);let f=d,p;t[2]===n?p=t[3]:(p=zv(n)&&n.status===`available`,t[2]=n,t[3]=p);let m=p,h=!f,g=l===`endpoint-rail`,_;t[4]!==u||t[5]!==l?(_=kv(l,u),t[4]=u,t[5]=l,t[6]=_):_=t[6];let v;t[7]!==r||t[8]!==g?(v=g&&r?(0,$.jsx)(`span`,{className:`absolute inset-y-2 left-0 w-1 rounded-r-full bg-primary`,"aria-hidden":!0}):null,t[7]=r,t[8]=g,t[9]=v):v=t[9];let y;t[10]===n.label?y=t[11]:(y=(0,$.jsx)(`h3`,{className:`shrink-0 text-sm leading-5 font-medium text-foreground`,children:n.label}),t[10]=n.label,t[11]=y);let b;t[12]!==n.httpBaseUrl||t[13]!==h?(b=h?(0,$.jsx)(`p`,{className:`min-w-0 truncate text-xs leading-5 text-muted-foreground`,title:n.httpBaseUrl,children:n.httpBaseUrl}):null,t[12]=n.httpBaseUrl,t[13]=h,t[14]=b):b=t[14];let x;t[15]===u?x=t[16]:(x=u?null:(0,$.jsx)(`span`,{className:`shrink-0 rounded-md border border-border/70 px-1 py-0.5 text-[10px] text-muted-foreground`,children:`Setup required`}),t[15]=u,t[16]=x);let S;t[17]!==y||t[18]!==b||t[19]!==x?(S=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-3`,children:[y,b,x]}),t[17]=y,t[18]=b,t[19]=x,t[20]=S):S=t[20];let C;t[21]===r?C=t[22]:(C=r?(0,$.jsx)(`span`,{className:`rounded-md border border-primary/30 bg-primary/10 px-1 py-0.5 text-[10px] text-primary`,children:`Default`}):null,t[21]=r,t[22]=C);let w;t[23]!==n||t[24]!==c||t[25]!==f||t[26]!==o?(w=f?(0,$.jsx)(J,{size:`xs`,variant:`outline`,onClick:()=>o(n),disabled:c,children:c?`Restarting…`:`Setup`}):null,t[23]=n,t[24]=c,t[25]=f,t[26]=o,t[27]=w):w=t[27];let T;t[28]!==m||t[29]!==n||t[30]!==c||t[31]!==s?(T=m?(0,$.jsx)(J,{size:`xs`,variant:`destructive-outline`,onClick:()=>s(n),disabled:c,children:c?`Restarting…`:`Disable`}):null,t[28]=m,t[29]=n,t[30]=c,t[31]=s,t[32]=T):T=t[32];let E;t[33]!==n||t[34]!==r||t[35]!==f||t[36]!==a?(E=!f&&!r?(0,$.jsx)(J,{size:`xs`,variant:`outline`,onClick:()=>a(n),children:`Set as default`}):null,t[33]=n,t[34]=r,t[35]=f,t[36]=a,t[37]=E):E=t[37];let D;t[38]!==C||t[39]!==w||t[40]!==T||t[41]!==E?(D=(0,$.jsxs)(`div`,{className:`ml-auto flex min-h-6 shrink-0 items-center justify-end gap-2`,children:[C,w,T,E]}),t[38]=C,t[39]=w,t[40]=T,t[41]=E,t[42]=D):D=t[42];let O;t[43]!==D||t[44]!==S?(O=(0,$.jsxs)(`div`,{className:`flex min-h-6 min-w-0 flex-col gap-2 sm:-my-0.5 sm:flex-row sm:items-center`,children:[S,D]}),t[43]=D,t[44]=S,t[45]=O):O=t[45];let k;return t[46]!==O||t[47]!==_||t[48]!==v?(k=(0,$.jsxs)(`div`,{className:_,children:[v,O]}),t[46]=O,t[47]=_,t[48]=v,t[49]=k):k=t[49],k});function Yv(e){let t=(0,Q.c)(14),{endpoint:n,hiddenEndpointCount:r,expanded:i,onToggleExpanded:a,fallback:o}=e;if(!n)return o;let s;t[0]===n.httpBaseUrl?s=t[1]:(s=(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:n.httpBaseUrl}),t[0]=n.httpBaseUrl,t[1]=s);let c;t[2]!==i||t[3]!==r?(c=r>0?(0,$.jsx)(`span`,{className:`shrink-0 text-xs font-medium`,children:i?`Hide`:`+${r}`}):null,t[2]=i,t[3]=r,t[4]=c):c=t[4];let l;t[5]!==s||t[6]!==c?(l=(0,$.jsxs)($.Fragment,{children:[s,c]}),t[5]=s,t[6]=c,t[7]=l):l=t[7];let u=l,d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(`span`,{className:`shrink-0`,children:`Reachable at`}),t[8]=d):d=t[8];let f;return t[9]!==i||t[10]!==r||t[11]!==a||t[12]!==u?(f=(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 max-w-full items-baseline gap-1`,children:[d,r>0?(0,$.jsx)(`button`,{type:`button`,className:`inline-flex min-w-0 max-w-full items-baseline gap-2 border-b border-dotted border-muted-foreground/60 text-left text-muted-foreground underline-offset-4 hover:border-foreground hover:text-foreground`,onClick:a,"aria-expanded":i,children:u}):(0,$.jsx)(`span`,{className:`inline-flex min-w-0 max-w-full items-baseline gap-2`,children:u})]}),t[9]=i,t[10]=r,t[11]=a,t[12]=u,t[13]=f):f=t[13],f}function Xv(e){let t=(0,Q.c)(53),{environmentId:n,reconnectingEnvironmentId:r,disconnectingEnvironmentId:i,removingEnvironmentId:a,onConnect:o,onDisconnect:s,onRemove:c}=e,l=v_(1e3),u;t[0]===n?u=t[1]:(u=e=>e.byId[n]??null,t[0]=n,t[1]=u);let d=vt(u),f;t[2]===n?f=t[3]:(f=e=>e.byId[n]??null,t[2]=n,t[3]=f);let p=Ct(f);if(!d)return null;let m=p?.connectionState??`disconnected`,h=m===`connected`,g=m===`connecting`||r===n,_=i===n,v=m===`connected`?`bg-success`:m===`connecting`?`bg-warning`:m===`error`?`bg-destructive`:`bg-muted-foreground/40`,y=p?.role?p.role===`owner`?`Owner`:`Client`:null,b=p?.descriptor?.label??null??d.label,x;t[4]!==l||t[5]!==d||t[6]!==p?(x=yv(p,d,l),t[4]=l,t[5]=d,t[6]=p,t[7]=x):x=t[7];let S=x,C=p?.serverConfig,w;t[8]===C?w=t[9]:(w=Yt(C),t[8]=C,t[9]=w);let T=w,E=d.desktopSsh?`SSH ${bv(d.desktopSsh)}`:null,D=d.lastConnectedAt?`Last connected ${_v(d.lastConnectedAt)}`:null,O;t[10]!==y||t[11]!==E||t[12]!==D?(O=[E,y,D].filter(Zv),t[10]=y,t[11]=E,t[12]=D,t[13]=O):O=t[13];let k=O,A=m===`connecting`?`bg-warning/60 duration-2000`:null,j;t[14]!==v||t[15]!==S||t[16]!==A?(j=(0,$.jsx)(vv,{tooltipText:S,dotClassName:v,pingClassName:A}),t[14]=v,t[15]=S,t[16]=A,t[17]=j):j=t[17];let M;t[18]===b?M=t[19]:(M=(0,$.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:b}),t[18]=b,t[19]=M);let N;t[20]!==j||t[21]!==M?(N=(0,$.jsxs)(`div`,{className:`flex min-h-5 items-center gap-1.5`,children:[j,M]}),t[20]=j,t[21]=M,t[22]=N):N=t[22];let P;t[23]===k?P=t[24]:(P=k.length>0?(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:k.join(` · `)}):null,t[23]=k,t[24]=P);let F;t[25]===T?F=t[26]:(F=T?(0,$.jsxs)(`p`,{className:`flex items-center gap-1 text-warning text-xs`,children:[(0,$.jsx)(fs,{className:`size-3.5 shrink-0`}),`Version drift: client `,T.clientVersion,`, server`,` `,T.serverVersion,`.`]}):null,t[25]=T,t[26]=F);let I;t[27]!==N||t[28]!==P||t[29]!==F?(I=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[N,P,F]}),t[27]=N,t[28]=P,t[29]=F,t[30]=I):I=t[30];let L=h?_:g,R;t[31]!==n||t[32]!==h||t[33]!==o||t[34]!==s?(R=()=>void(h?s(n):o(n)),t[31]=n,t[32]=h,t[33]=o,t[34]=s,t[35]=R):R=t[35];let ee=h?_?`Disconnecting…`:`Disconnect`:g?`Connecting…`:`Connect`,z;t[36]!==L||t[37]!==R||t[38]!==ee?(z=(0,$.jsx)(J,{size:`xs`,variant:`outline`,disabled:L,onClick:R,children:ee}),t[36]=L,t[37]=R,t[38]=ee,t[39]=z):z=t[39];let B=a===n,V;t[40]!==n||t[41]!==c?(V=()=>void c(n),t[40]=n,t[41]=c,t[42]=V):V=t[42];let H=a===n?`Removing…`:`Remove`,U;t[43]!==B||t[44]!==V||t[45]!==H?(U=(0,$.jsx)(J,{size:`xs`,variant:`destructive-outline`,disabled:B,onClick:V,children:H}),t[43]=B,t[44]=V,t[45]=H,t[46]=U):U=t[46];let W;t[47]!==z||t[48]!==U?(W=(0,$.jsxs)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:[z,U]}),t[47]=z,t[48]=U,t[49]=W):W=t[49];let G;return t[50]!==I||t[51]!==W?(G=(0,$.jsx)(`div`,{className:Tv,children:(0,$.jsxs)(`div`,{className:Dv,children:[I,W]})}),t[50]=I,t[51]=W,t[52]=G):G=t[52],G}function Zv(e){return e!==null}var Qv=(0,Z.memo)(function(e){let t=(0,Q.c)(24),{target:n,connectingHostAlias:r,onConnect:i}=e,a;t[0]===n?a=t[1]:(a=bv(n),t[0]=n,t[1]=a);let o=a,s=o!==n.alias,c=r===n.alias?`Adding…`:`Add environment`,l;t[2]===n.alias?l=t[3]:(l=(0,$.jsx)(`h3`,{className:`truncate text-sm font-medium text-foreground`,children:n.alias}),t[2]=n.alias,t[3]=l);let u;t[4]!==o||t[5]!==s?(u=s?(0,$.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:o}):null,t[4]=o,t[5]=s,t[6]=u):u=t[6];let d;t[7]!==l||t[8]!==u?(d=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[l,u]}),t[7]=l,t[8]=u,t[9]=d):d=t[9];let f=r===n.alias,p;t[10]!==i||t[11]!==n?(p=()=>i(n),t[10]=i,t[11]=n,t[12]=p):p=t[12];let m;t[13]!==r||t[14]!==n.alias?(m=r===n.alias?(0,$.jsx)(_s,{className:`size-3 animate-spin`}):null,t[13]=r,t[14]=n.alias,t[15]=m):m=t[15];let h;t[16]!==c||t[17]!==f||t[18]!==p||t[19]!==m?(h=(0,$.jsx)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:(0,$.jsxs)(J,{size:`xs`,variant:`outline`,disabled:f,onClick:p,children:[m,c]})}),t[16]=c,t[17]=f,t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;return t[21]!==d||t[22]!==h?(g=(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 first:border-t-0 sm:px-5`,children:(0,$.jsxs)(`div`,{className:Dv,children:[d,h]})}),t[21]=d,t[22]=h,t[23]=g):g=t[23],g});function $v(){let e=window.desktopBridge,[t,n]=(0,Z.useState)(e?`owner`:null),[r,i]=(0,Z.useState)(null),a=vt(e=>e.byId),o=(0,Z.useMemo)(()=>Object.values(a).toSorted((e,t)=>e.label.localeCompare(t.label)).map(e=>e.environmentId),[a]),s=(0,Z.useMemo)(()=>Object.values(a).reduce((e,t)=>(t.desktopSsh?.alias&&(e[t.desktopSsh.alias]=t),e),{}),[a]),c=(0,Z.useMemo)(()=>{let e=new Set;for(let t of Object.values(a)){let n=t.desktopSsh;n&&(e.add(n.alias),e.add(bv(n)))}return e},[a]),[l,u]=(0,Z.useState)([]),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(null),[y,b]=(0,Z.useState)(null),[x,S]=(0,Z.useState)([]),[C,w]=(0,Z.useState)(null),[T,E]=(0,Z.useState)([]),[D,O]=(0,Z.useState)([]),[k,A]=(0,Z.useState)(null),[j,M]=(0,Z.useState)(!1),[N,P]=(0,Z.useState)(null),[F,I]=(0,Z.useState)(null),[L,ee]=(0,Z.useState)(!1),[z,B]=(0,Z.useState)(!1),[V,H]=(0,Z.useState)(`remote`),[U,W]=(0,Z.useState)(``),[G,te]=(0,Z.useState)(``),[re,ie]=(0,Z.useState)(``),[K,ae]=(0,Z.useState)(``),[oe,se]=(0,Z.useState)(``),[ce,q]=(0,Z.useState)(null),[le,ue]=(0,Z.useState)(!1),de=(0,Z.useMemo)(()=>l.filter(e=>{let t=bv(e);return!c.has(e.alias)&&!c.has(t)}),[l,c]),[fe,pe]=(0,Z.useState)(null),[he,ge]=(0,Z.useState)(null),[_e,ve]=(0,Z.useState)(null),[ye,xe]=(0,Z.useState)(!1),[Se,Ce]=(0,Z.useState)(!1),[we,Te]=(0,Z.useState)(!1),[De,Oe]=(0,Z.useState)(null),[ke,Ae]=(0,Z.useState)(!1),[je,Me]=(0,Z.useState)(String(hv)),[Ne,Pe]=(0,Z.useState)(null),Fe=Yt(ot()),[Ie,Le]=(0,Z.useState)(!1),Re=be(e=>e.defaultAdvertisedEndpointKey),ze=be(e=>e.setDefaultAdvertisedEndpointKey),Be=t===`owner`,Ve=e?y?.mode===`network-accessible`:r===`remote-reachable`,He=je.trim(),Ue=Number(He),We=/^\d+$/u.test(He)&&Number.isInteger(Ue)&&Ue>=1&&Ue<=65535,Ge=(0,Z.useMemo)(()=>{if(!De)return null;if(!We||Ue===hv)return De.httpBaseUrl;try{let e=new URL(De.httpBaseUrl);return e.port=String(Ue),e.toString().replace(/\/$/u,``)}catch{return De.httpBaseUrl}},[We,Ue,De]),Ke=(0,Z.useCallback)(async t=>{if(e){xe(!0),w(null);try{b(await e.setServerExposureMode(t?`network-accessible`:`local-only`)),Ce(!1),xe(!1)}catch(e){let t=e instanceof Error?e.message:`Failed to update network exposure.`;Ce(!1),w(t),Y.add(X({type:`error`,title:`Could not update network access`,description:t})),xe(!1)}}},[e]),qe=(0,Z.useCallback)(()=>{Ne!==null&&Ke(Ne===`network-accessible`)},[Ke,Ne]),Je=(0,Z.useCallback)(async()=>{if(e&&We){Te(!0),w(null);try{b(await e.setTailscaleServeEnabled({enabled:!0,port:Ue})),Oe(null)}catch(e){let t=e instanceof Error?e.message:`Failed to configure Tailscale HTTPS.`;w(t),Y.add(X({type:`error`,title:`Could not set up Tailscale HTTPS`,description:t}))}finally{Te(!1)}}},[e,We,Ue]),Ye=(0,Z.useCallback)(e=>{Me(String(y?.tailscaleServePort??hv)),Oe(e)},[y?.tailscaleServePort]),Xe=(0,Z.useCallback)(async()=>{if(e){Te(!0),w(null);try{b(await e.setTailscaleServeEnabled({enabled:!1,port:y?.tailscaleServePort??hv})),Ae(!1)}catch(e){let t=e instanceof Error?e.message:`Failed to disable Tailscale HTTPS.`;w(t),Y.add(X({type:`error`,title:`Could not disable Tailscale HTTPS`,description:t}))}finally{Te(!1)}}},[e,y?.tailscaleServePort]),Ze=(0,Z.useCallback)(e=>{Ae(!0)},[]),Qe=(0,Z.useCallback)(async e=>{P(e),A(null);try{await Ko(e)}catch(e){let t=e instanceof Error?e.message:`Failed to revoke pairing link.`;A(t),Y.add(X({type:`error`,title:`Could not revoke pairing link`,description:t}))}finally{P(null)}},[]),$e=(0,Z.useCallback)(async e=>{I(e),A(null);try{await Go(e)}catch(e){let t=e instanceof Error?e.message:`Failed to revoke client access.`;A(t),Y.add(X({type:`error`,title:`Could not revoke client access`,description:t}))}finally{I(null)}},[]),et=(0,Z.useCallback)(async()=>{ee(!0),A(null);try{let e=await ss();Y.add({type:`success`,title:e===1?`Revoked 1 other client`:`Revoked ${e} clients`,description:`Other paired clients will need a new pairing link before reconnecting.`})}catch(e){let t=e instanceof Error?e.message:`Failed to revoke other clients.`;A(t),Y.add(X({type:`error`,title:`Could not revoke other clients`,description:t}))}finally{ee(!1)}},[]),tt=(0,Z.useCallback)(async()=>{if(V===`ssh`){ue(!0),q(null);try{let e=await St(xv({host:re,username:K,port:oe}),{label:``});W(``),te(``),ie(``),ae(``),se(``),B(!1),Y.add({type:`success`,title:`Environment connected`,description:`${e.label} is ready over an SSH-managed tunnel.`})}catch(e){q(wv(e))}finally{ue(!1)}return}ue(!0),q(null);try{let e=await _t({label:``,...Cv({host:U,pairingCode:G})});W(``),te(``),ie(``),ae(``),se(``),B(!1),Y.add({type:`success`,title:`Backend added`,description:`${e.label} is now saved and will reconnect on app startup.`})}catch(e){let t=e instanceof Error?e.message:`Failed to add backend.`;q(t),Y.add(X({type:`error`,title:`Could not add backend`,description:t}))}finally{ue(!1)}},[U,V,G,re,oe,K]),nt=(0,Z.useCallback)(async e=>{pe(e),q(null);try{await it(e)}catch(e){let t=e instanceof Error?e.message:`Failed to connect backend.`;q(t),Y.add(X({type:`error`,title:`Could not connect backend`,description:t}))}finally{pe(null)}},[]),rt=(0,Z.useCallback)(async e=>{ge(e),q(null);try{await Kt(e)}catch(e){let t=e instanceof Error?e.message:`Failed to disconnect backend.`;q(t),Y.add(X({type:`error`,title:`Could not disconnect backend`,description:t}))}finally{ge(null)}},[]),at=(0,Z.useCallback)(async e=>{ve(e),q(null);try{await un(e)}catch(e){let t=e instanceof Error?e.message:`Failed to remove backend.`;q(t),Y.add(X({type:`error`,title:`Could not remove backend`,description:t}))}finally{ve(null)}},[]),st=(0,Z.useCallback)(async()=>{if(!e){u([]),f(!1),g(null);return}m(!0),g(null);try{u(await e.discoverSshHosts()),f(!0)}catch(e){g(e instanceof Error?e.message:`Failed to discover SSH hosts.`),f(!0)}finally{m(!1)}},[e]),ct=(0,Z.useCallback)(async(e,t)=>{v(e.alias),V===`ssh`?q(null):g(null);try{let n=await St(e,t===void 0?void 0:{label:t});ie(``),ae(``),se(``),B(!1),Y.add({type:`success`,title:s[e.alias]?`Environment reconnected`:`Environment connected`,description:`${n.label} is ready over an SSH-managed tunnel.`})}catch(e){let t=wv(e);V===`ssh`?q(t):g(t)}finally{v(null)}},[V,s]);(0,Z.useEffect)(()=>{!e||!z||V!==`ssh`||d||p||st()},[z,e,d,p,st,V]),(0,Z.useEffect)(()=>{if(e){n(`owner`);return}let t=!1;return os().then(e=>{t||(n(e.authenticated?e.role??null:null),i(e.auth.policy))}).catch(()=>{t||(n(null),i(null))}),()=>{t=!0}},[e]),(0,Z.useEffect)(()=>{if(!Be)return;let t=!1;M(!0);let n=Dt().client.server.subscribeAuthAccess(e=>{if(!t){switch(e.type){case`snapshot`:E(Av(e.payload.pairingLinks.map(e=>Mv(e)))),O(jv(e.payload.clientSessions.map(e=>Nv(e))));break;case`pairingLinkUpserted`:E(t=>Pv(t,Mv(e.payload)));break;case`pairingLinkRemoved`:E(t=>Fv(t,e.payload.id));break;case`clientUpserted`:O(t=>Iv(t,Nv(e.payload)));break;case`clientRemoved`:O(t=>Lv(t,e.payload.sessionId));break}A(null),M(!1)}},{onResubscribe:()=>{t||M(!0)}});return e?(e.getServerExposureState().then(e=>{t||b(e)}).catch(e=>{t||w(e instanceof Error?e.message:`Failed to load network exposure state.`)}),e.getAdvertisedEndpoints().then(e=>{t||S(e)}).catch(e=>{t||w(e instanceof Error?e.message:`Failed to load reachable endpoints.`)})):(b(null),S([]),w(null)),()=>{t=!0,n()}},[Be,e]),(0,Z.useEffect)(()=>{Be||(M(!1),E([]),O([]),A(null),b(null),S([]),w(null))},[Be]);let lt=(0,Z.useMemo)(()=>T.filter(e=>e.role===`client`),[T]),ut=(0,Z.useMemo)(()=>x.find(zv)??null,[x]),dt=(0,Z.useMemo)(()=>Ve?x.filter(e=>!zv(e)):[],[x,Ve]),ft=(0,Z.useMemo)(()=>ut?[...dt,ut]:dt,[ut,dt]),pt=Ve||ut?.status===`available`,mt=(0,Z.useMemo)(()=>Rv(dt,Re),[Re,dt]),ht=(0,Z.useMemo)(()=>mt??Rv(ut?[ut]:[],Re),[Re,mt,ut]),gt=ht?Bv(ht):null,yt=(0,Z.useCallback)(e=>{ze(Bv(e))},[ze]),bt=(0,Z.useCallback)(e=>{let t=Sv(e);if(t){W(t.host),te(t.pairingCode);return}W(e)},[]),xt=e=>{let t=V===e.mode;return(0,$.jsxs)(`button`,{type:`button`,"aria-pressed":t,className:R(`group flex min-h-24 items-start gap-3 rounded-lg border p-4 text-left`,t?`border-primary/50 bg-primary/5`:`border-border/60 hover:bg-muted/40`),disabled:le,onClick:()=>{H(e.mode)},children:[e.icon?(0,$.jsx)(`span`,{className:R(`mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-md border`,t?`border-primary/30 bg-primary/10 text-primary`:`border-border/70 bg-background text-muted-foreground group-hover:text-foreground`),children:e.icon}):null,(0,$.jsxs)(`span`,{className:`min-w-0`,children:[(0,$.jsx)(`span`,{className:`block text-sm font-medium text-foreground`,children:e.title}),(0,$.jsx)(`span`,{className:`mt-1 block text-xs leading-relaxed text-muted-foreground`,children:e.description})]})]})},Ct=()=>(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-[minmax(0,1fr)_10rem]`,children:[(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`mb-1.5 block text-xs font-medium text-foreground`,children:`Host`}),(0,$.jsx)(tr,{value:U,onChange:e=>bt(e.target.value),placeholder:`backend.example.com`,disabled:le,spellCheck:!1})]}),(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`mb-1.5 block text-xs font-medium text-foreground`,children:`Pairing code`}),(0,$.jsx)(tr,{value:G,onChange:e=>te(e.target.value),placeholder:`PAIRCODE`,disabled:le,spellCheck:!1})]})]}),(0,$.jsx)(`div`,{children:(0,$.jsx)(`span`,{className:`mt-1 block text-[11px] text-muted-foreground`,children:`Paste a full pairing URL here to fill both fields automatically. Remote bearer tokens are stored for this browser profile.`})})]}),wt=()=>(0,$.jsxs)(`div`,{className:`space-y-4`,children:[Ct(),ce?(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:ce}):null,(0,$.jsxs)(J,{variant:`outline`,className:`w-full`,disabled:le,onClick:()=>void tt(),children:[(0,$.jsx)(ar,{className:`size-3.5`}),le?`Adding…`:`Add environment`]})]}),Tt=()=>(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`mb-1.5 block text-xs font-medium text-foreground`,children:`SSH host or alias`}),(0,$.jsx)(tr,{value:re,onChange:e=>ie(e.target.value),placeholder:`Search hosts or type devbox`,disabled:le,spellCheck:!1})]}),(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-[minmax(0,1fr)_7rem]`,children:[(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`mb-1.5 block text-xs font-medium text-foreground`,children:`Username`}),(0,$.jsx)(tr,{value:K,onChange:e=>ae(e.target.value),placeholder:`root`,disabled:le,spellCheck:!1})]}),(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`mb-1.5 block text-xs font-medium text-foreground`,children:`Port`}),(0,$.jsx)(tr,{value:oe,onChange:e=>se(e.target.value),placeholder:`22`,inputMode:`numeric`,disabled:le,spellCheck:!1})]})]}),ce||h?(0,$.jsx)(`div`,{className:`rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2 text-xs text-destructive`,children:ce??h}):null,(0,$.jsxs)(J,{variant:`outline`,className:`w-full`,disabled:le,onClick:()=>void tt(),children:[(0,$.jsx)(ar,{className:`size-3.5`}),le?`Adding…`:`Add environment`]})]}),(0,$.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border/60`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-border/60 bg-muted/30 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`text-xs font-medium text-foreground`,children:`Suggested hosts`}),(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`From SSH config and known hosts`})]}),(0,$.jsxs)(J,{size:`xs`,variant:`ghost`,disabled:p,onClick:()=>void st(),children:[p?(0,$.jsx)(_s,{className:`size-3 animate-spin`}):(0,$.jsx)(_s,{className:`size-3`}),`Refresh`]})]}),(0,$.jsx)(xi,{scrollFade:!0,className:`max-h-56`,children:(0,$.jsxs)(`div`,{children:[de.map(e=>(0,$.jsx)(Qv,{target:e,connectingHostAlias:_,onConnect:e=>void ct(e)},`${e.alias}:${e.hostname}:${e.port??``}`)),d&&!p&&de.length===0?(0,$.jsx)(`div`,{className:Tv,children:(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No new SSH hosts were discovered.`})}):null]})})]})]});return(0,$.jsxs)(C_,{children:[Be?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(b_,{title:`Manage local backend`,children:[Fe?(0,$.jsx)(x_,{title:`Version drift`,description:(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-warning`,children:[(0,$.jsx)(fs,{className:`size-3.5 shrink-0`}),`Client `,Fe.clientVersion,`, server`,` `,Fe.serverVersion,`. Sync them if RPC calls or reconnects fail.`]})}):null,e?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(x_,{title:`Network access`,description:Ve?(0,$.jsx)(Yv,{endpoint:mt,hiddenEndpointCount:Math.max(dt.length-1,0),expanded:Ie,onToggleExpanded:()=>Le(e=>!e),fallback:y?.endpointUrl?`Reachable at ${y.endpointUrl}`:y?.advertisedHost?`Exposed on all interfaces. Pairing links use ${y.advertisedHost}.`:`Exposed on all interfaces.`}):y?`Limited to this machine.`:`Loading…`,status:C?(0,$.jsx)(`span`,{className:`block text-destructive`,children:C}):null,control:(0,$.jsx)(Wi,{checked:y?.mode===`network-accessible`,disabled:!y||ye,onCheckedChange:e=>{Pe(e?`network-accessible`:`local-only`),Ce(!0)},"aria-label":`Enable network access`})}),(e=>Ie?dt.map(t=>(0,$.jsx)(Jv,{endpoint:t,isDefault:Bv(t)===gt,presentation:e,onSetDefault:yt,onSetupTailscaleServe:Ye,onDisableTailscaleServe:Ze,isUpdatingTailscaleServe:we},t.id)):null)(`endpoint-rail`),(0,$.jsx)(x_,{title:`Tailscale HTTPS`,description:ut?ut.status===`available`?ut.httpBaseUrl:`Use Tailscale Serve to expose this backend through a MagicDNS HTTPS URL.`:`Start Tailscale to set up HTTPS access through MagicDNS.`,control:ut?(0,$.jsx)(Wi,{checked:ut.status===`available`,disabled:we,onCheckedChange:e=>{if(e){Ye(ut);return}Ze(ut)},"aria-label":`Enable Tailscale HTTPS`}):null})]}):(0,$.jsx)(x_,{title:`Network access`,description:r===`remote-reachable`?`This backend is already configured for remote access. Network exposure changes must be made where the server is launched.`:`This backend is only reachable on this machine. Restart it with a non-loopback host to enable remote pairing.`,control:(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`span`,{className:`inline-flex`,children:(0,$.jsx)(Wi,{checked:Ve,disabled:!0,"aria-label":`Enable network access`})})}),(0,$.jsx)(ne,{side:`top`,children:`Network exposure changes restart the backend and must be controlled where the server process is launched.`})]})})]}),pt?(0,$.jsx)(b_,{title:`Authorized clients`,headerAction:(0,$.jsx)(Kv,{clientSessions:D,isRevokingOtherClients:L,onRevokeOtherClients:et}),children:(e=>(0,$.jsxs)($.Fragment,{children:[k?(0,$.jsx)(`div`,{className:Ov(e),children:(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:k})}):null,(0,$.jsx)(qv,{endpointUrl:y?.endpointUrl,endpoints:ft,defaultEndpointKey:gt,presentation:e,isLoading:j,pairingLinks:lt,clientSessions:D,revokingPairingLinkId:N,revokingClientSessionId:F,onRevokePairingLink:Qe,onRevokeClientSession:$e})]}))(`current`)}):null,(0,$.jsx)(mr,{open:Se,onOpenChange:e=>{ye||Ce(e)},onOpenChangeComplete:e=>{e||Pe(null)},children:(0,$.jsxs)(Mi,{children:[(0,$.jsxs)(Ii,{children:[(0,$.jsx)(zi,{children:Ne===`network-accessible`?`Enable network access?`:`Disable network access?`}),(0,$.jsx)(Ya,{children:Ne===`network-accessible`?`Ryco will restart to expose this environment over the network.`:`Ryco will restart and limit this environment back to this machine.`})]}),(0,$.jsxs)(Dr,{children:[(0,$.jsx)(Ar,{disabled:ye,render:(0,$.jsx)(J,{variant:`outline`,disabled:ye}),children:`Cancel`}),(0,$.jsx)(J,{variant:Ne===`local-only`?`destructive`:`default`,onClick:qe,disabled:Ne===null||ye,children:ye?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Sr,{className:`size-3.5`}),`Restarting…`]}):Ne===`network-accessible`?`Restart and enable`:`Restart and disable`})]})]})}),(0,$.jsx)(mr,{open:ke,onOpenChange:e=>{we||Ae(e)},children:(0,$.jsxs)(Mi,{children:[(0,$.jsxs)(Ii,{children:[(0,$.jsx)(zi,{children:`Disable Tailscale HTTPS?`}),(0,$.jsx)(Ya,{children:`Ryco will restart the local backend without Tailscale Serve.`})]}),(0,$.jsxs)(Dr,{children:[(0,$.jsx)(Ar,{disabled:we,render:(0,$.jsx)(J,{variant:`outline`,disabled:we}),children:`Cancel`}),(0,$.jsx)(J,{variant:`destructive`,onClick:()=>void Xe(),disabled:we,children:we?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Sr,{className:`size-3.5`}),`Restarting…`]}):`Restart and disable`})]})]})}),(0,$.jsx)(Zr,{open:De!==null,onOpenChange:e=>{we||e||Oe(null)},children:(0,$.jsxs)(Kn,{className:`max-w-md`,children:[(0,$.jsxs)(oi,{children:[(0,$.jsx)(Ti,{children:`Set up Tailscale HTTPS?`}),(0,$.jsx)(wr,{children:`Ryco will restart the local backend with Tailscale Serve enabled and ask Tailscale to proxy HTTPS traffic to this backend.`})]}),(0,$.jsxs)(Mo,{className:`space-y-4`,children:[(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`HTTPS port`}),(0,$.jsx)(tr,{className:`mt-2`,type:`number`,inputMode:`numeric`,min:1,max:65535,step:1,value:je,onChange:e=>Me(e.target.value),disabled:we})]}),We?null:(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:`Enter a port from 1 to 65535.`}),(0,$.jsxs)(`div`,{className:`rounded-md border border-border/70 bg-muted/20 px-3 py-2`,children:[(0,$.jsx)(`p`,{className:`text-xs font-medium text-muted-foreground`,children:`HTTPS endpoint`}),(0,$.jsx)(`p`,{className:`mt-1 truncate text-sm text-foreground`,title:Ge??void 0,children:Ge??`Pending MagicDNS endpoint`})]})]}),(0,$.jsxs)(Ir,{children:[(0,$.jsx)(dr,{disabled:we,render:(0,$.jsx)(J,{variant:`outline`,disabled:we}),children:`Cancel`}),(0,$.jsx)(J,{onClick:()=>void Je(),disabled:we||!We,children:we?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Sr,{className:`size-3.5`}),`Restarting…`]}):`Enable`})]})]})})]}):(0,$.jsx)(b_,{title:`Local backend access`,children:(0,$.jsx)(x_,{title:`Owner tools`,description:`Pairing links and client-session management are only available to owner sessions for this backend.`})}),(0,$.jsxs)(b_,{title:`Remote environments`,headerAction:(0,$.jsxs)(Zr,{open:z,onOpenChange:e=>{B(e),e||q(null)},children:[(0,$.jsx)(br,{render:(0,$.jsxs)(J,{size:`xs`,variant:`outline`,children:[(0,$.jsx)(ar,{className:`size-3`}),`Add environment`]})}),(0,$.jsxs)(Kn,{className:`max-h-[80dvh] sm:max-w-3xl`,children:[(0,$.jsxs)(oi,{children:[(0,$.jsx)(Ti,{children:`Add Environment`}),(0,$.jsx)(wr,{children:`Pair another environment to this client.`})]}),(0,$.jsx)(Mo,{children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[xt({mode:`remote`,title:`Remote link`,description:`Enter a backend host and pairing code.`,icon:(0,$.jsx)(dc,{"aria-hidden":!0,className:`size-4`})}),e?xt({mode:`ssh`,title:`SSH`,description:`Use local SSH config, agent, and tunnels for the backend.`,icon:(0,$.jsx)(wo,{"aria-hidden":!0,className:`size-4`})}):null]}),(0,$.jsx)(vr,{children:V===`ssh`?Tt():wt()})]})})]})]}),children:[o.map(e=>(0,$.jsx)(Xv,{environmentId:e,reconnectingEnvironmentId:fe,disconnectingEnvironmentId:he,removingEnvironmentId:_e,onConnect:nt,onDisconnect:rt,onRemove:at},e)),o.length===0?(0,$.jsx)(`div`,{className:Tv,children:(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No remote environments yet. Click “Add environment” to pair another environment.`})}):null]})]})}function ey(e){return e!==null}var ty={terminal:{id:`terminal`,label:`Terminal`,sortWeight:10},diff:{id:`diff`,label:`Diff`,sortWeight:20},commandPalette:{id:`commandPalette`,label:`Command palette`,sortWeight:30},chat:{id:`chat`,label:`Chat`,sortWeight:40},editor:{id:`editor`,label:`Editor`,sortWeight:50},modelPicker:{id:`modelPicker`,label:`Model picker`,sortWeight:60},thread:{id:`thread`,label:`Threads`,sortWeight:70},script:{id:`script`,label:`Project scripts`,sortWeight:80}},ny={"terminal.toggle":{title:`Toggle terminal drawer`,sortWeight:1},"terminal.split":{title:`Split terminal`,sortWeight:2},"terminal.new":{title:`New terminal`,sortWeight:3},"terminal.close":{title:`Close terminal`,sortWeight:4},"diff.toggle":{title:`Toggle diff view`,sortWeight:1},"commandPalette.toggle":{title:`Open command palette`,sortWeight:1},"chat.new":{title:`New chat`,sortWeight:1},"chat.newLocal":{title:`New chat (local environment)`,sortWeight:2},"editor.openFavorite":{title:`Open in preferred editor`,sortWeight:1},"modelPicker.toggle":{title:`Toggle model picker`,sortWeight:1},"modelPicker.jump.1":{title:`Pick model 1`,sortWeight:2},"modelPicker.jump.2":{title:`Pick model 2`,sortWeight:3},"modelPicker.jump.3":{title:`Pick model 3`,sortWeight:4},"modelPicker.jump.4":{title:`Pick model 4`,sortWeight:5},"modelPicker.jump.5":{title:`Pick model 5`,sortWeight:6},"modelPicker.jump.6":{title:`Pick model 6`,sortWeight:7},"modelPicker.jump.7":{title:`Pick model 7`,sortWeight:8},"modelPicker.jump.8":{title:`Pick model 8`,sortWeight:9},"modelPicker.jump.9":{title:`Pick model 9`,sortWeight:10},"thread.previous":{title:`Previous thread`,sortWeight:1},"thread.next":{title:`Next thread`,sortWeight:2},"thread.jump.1":{title:`Jump to thread 1`,sortWeight:3},"thread.jump.2":{title:`Jump to thread 2`,sortWeight:4},"thread.jump.3":{title:`Jump to thread 3`,sortWeight:5},"thread.jump.4":{title:`Jump to thread 4`,sortWeight:6},"thread.jump.5":{title:`Jump to thread 5`,sortWeight:7},"thread.jump.6":{title:`Jump to thread 6`,sortWeight:8},"thread.jump.7":{title:`Jump to thread 7`,sortWeight:9},"thread.jump.8":{title:`Jump to thread 8`,sortWeight:10},"thread.jump.9":{title:`Jump to thread 9`,sortWeight:11}};function ry(e){let t=e.indexOf(`.`),n=t===-1?e:e.slice(0,t);return n===`script`?ty.script:ty[n]??ty.script}function iy(e,t){let n=ry(e),r=ny[e];if(r)return{category:n,title:r.title,sortWeight:r.sortWeight};let i=e.match(/^script\.([a-z0-9][a-z0-9-]*)\.run$/)?.[1]??e;return{category:n,title:t??`Run: ${i}`,sortWeight:100}}var ay=[{id:`always`,label:`Always`,value:void 0},{id:`terminalFocus`,label:`Terminal focused`,value:`terminalFocus`},{id:`notTerminalFocus`,label:`Not in terminal`,value:`!terminalFocus`},{id:`terminalOpen`,label:`Terminal open`,value:`terminalOpen`},{id:`notTerminalOpen`,label:`Terminal not open`,value:`!terminalOpen`},{id:`modelPickerOpen`,label:`Model picker open`,value:`modelPickerOpen`},{id:`commandPaletteOpen`,label:`Command palette open`,value:`commandPaletteOpen`},{id:`composerFocus`,label:`Composer focused`,value:`composerFocus`},{id:`notComposerFocus`,label:`Not in composer`,value:`!composerFocus`}],oy=new Map(ay.map(e=>[e.value,e])),sy=new Map(ay.map(e=>[e.value===void 0?void 0:e.value.replace(/\s+/g,``),e]));function cy(e){return e===void 0?oy.get(void 0):oy.get(e)||sy.get(e.replace(/\s+/g,``))}function ly(e){let t=cy(e);return t?t.label:e??`Always`}function uy(e){if(e)switch(e.type){case`identifier`:return e.name;case`not`:return`!${uy(e.node)}`;case`and`:return`(${uy(e.left)} && ${uy(e.right)})`;case`or`:return`(${uy(e.left)} || ${uy(e.right)})`}}function dy(e,t){return(e===void 0?``:e.replace(/\s+/g,``))===(t===void 0?``:t.replace(/\s+/g,``))}function fy(e,t){let n=e[t];if(!n)return[];let r=[];return e.forEach((e,i)=>{i!==t&&e.command!==n.command&&e.key===n.key&&dy(e.when,n.when)&&r.push({key:n.key,otherCommand:e.command,otherWhen:e.when})}),r}function py(e){let t=new Map;return e.forEach((n,r)=>{let i=fy(e,r);if(i.length===0)return;let a=e[r].command,o=t.get(a)??[];o.push(...i),t.set(a,o)}),t}function my(e){return/mac|iphone|ipad|ipod/i.test(e)}var hy=new Set([`control`,`shift`,`alt`,`altgraph`,`meta`,`os`,`hyper`,`super`,`fn`,`capslock`,`numlock`,`scrolllock`]),gy=new Set([`escape`,`tab`,`enter`]);function _y(e,t){let n=e.toLowerCase();if(n===` `||n===`spacebar`)return`space`;if(n===`esc`)return`escape`;if(n===`arrowup`)return`up`;if(n===`arrowdown`)return`down`;if(n===`arrowleft`)return`left`;if(n===`arrowright`)return`right`;if(t){let e=t.match(/^Digit(\d)$/);if(e)return e[1];if(t===`BracketLeft`)return`[`;if(t===`BracketRight`)return`]`}return n}function vy(e,t){let n=e.key.toLowerCase();if(hy.has(n))return null;let r=my(t?.platform??(typeof navigator<`u`?navigator.platform:``)),i=r?e.metaKey:e.ctrlKey;if(!(i||e.shiftKey||e.altKey||(r?e.ctrlKey:e.metaKey))&&gy.has(n))return null;let a=_y(e.key,e.code);return a.length===0?null:{key:a,modKey:i,metaKey:!r&&e.metaKey,ctrlKey:r&&e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey}}var yy={mod:`⌘`,meta:`⌘`,cmd:`⌘`,ctrl:`⌃`,control:`⌃`,shift:`⇧`,alt:`⌥`,option:`⌥`},by={mod:`Ctrl`,meta:`Meta`,cmd:`Meta`,ctrl:`Ctrl`,control:`Ctrl`,shift:`Shift`,alt:`Alt`,option:`Alt`},xy={space:`Space`,enter:`Enter`,escape:`Esc`,up:`↑`,down:`↓`,left:`←`,right:`→`,tab:`Tab`,backspace:`⌫`,delete:`Del`};function Sy(e,t){let n=my(t?.platform??(typeof navigator<`u`?navigator.platform:``))?yy:by,r=[];e.modKey&&r.push(n.mod),e.metaKey&&r.push(n.meta),e.ctrlKey&&r.push(n.ctrl),e.altKey&&r.push(n.alt),e.shiftKey&&r.push(n.shift);let i=xy[e.key]??(e.key.length===1?e.key.toUpperCase():e.key);return r.push(i),r}function Cy(e){let t=[];e.modKey&&t.push(`mod`),e.metaKey&&t.push(`meta`),e.ctrlKey&&t.push(`ctrl`),e.altKey&&t.push(`alt`),e.shiftKey&&t.push(`shift`);let n=e.key===` `?`space`:e.key;return t.push(n),t.join(`+`)}var wy=[],Ty=(()=>{let e=new Map;for(let t of gn){let n=`${t.key}|${t.when??``}`,r=e.get(t.command)??new Set;r.add(n),e.set(t.command,r)}return e})(),Ey=new Set(gn.map(e=>e.command));function Dy(e,t){return`${e.command}|${e.key}|${e.when??``}|${t}`}function Oy(e){return{key:Cy(e.shortcut),command:e.command,when:uy(e.whenAst)}}function ky(e){return e.map((e,t)=>({...Oy(e),__id:Dy(e,t)}))}function Ay(e){return e.map(({__id:e,...t})=>t)}function jy(e){return gn.filter(t=>t.command===e).map(e=>Object.assign({},e))}function My(e,t){if(!Ey.has(e))return`custom`;let n=Ty.get(e);if(!n)return`custom`;if(t.length!==n.size)return`modified`;for(let e of t){let t=`${e.key}|${e.when??``}`;if(!n.has(t))return`modified`}return`default`}function Ny(e,t,n){return n?[t.toLowerCase(),e.command.toLowerCase(),e.key.toLowerCase(),ly(e.when).toLowerCase()].some(e=>e.includes(n)):!0}function Py(){return Math.random().toString(36).slice(2)}function Fy(){let e=ot(),t=mt(),n=typeof navigator<`u`?navigator.platform:``,r=Ce(n),i=qe(ct(k)),a=(0,Z.useMemo)(()=>{let e=new Set,t=new Map;for(let n of i)for(let r of n.scripts){let n=`script.${r.id}.run`;e.add(n),t.has(n)||t.set(n,`Run: ${r.name}`)}return{commandList:Array.from(e),titles:t}},[i]),o=e?.keybindings??wy,[s,c]=(0,Z.useState)(()=>ky(o)),[l,u]=(0,Z.useState)(()=>JSON.stringify(Ay(ky(o)))),d=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>{let e=JSON.stringify(Ay(ky(o)));e!==l&&(u(e),d.current||c(ky(o)))},[o,l]);let f=(0,Z.useCallback)(async e=>{d.current=!0;try{await kt().keybindings.replaceCustom({rules:Ay(e)})}catch(e){Y.add(X({type:`error`,title:`Could not save keybindings`,description:e instanceof Error?e.message:`An unknown error occurred.`})),c(ky(o))}finally{d.current=!1}},[o]),p=(0,Z.useCallback)((e,t)=>{c(n=>{let r=n.slice(),i=r[e];if(!i)return n;let a=Cy(t);return a===i.key?n:(r[e]={...i,key:a,__id:i.__id},f(r),r)})},[f]),m=(0,Z.useCallback)(e=>{c(t=>{let n={command:e,key:``,when:void 0,__id:`placeholder-${Py()}`},r=(()=>{let n=-1;return t.forEach((t,r)=>{t.command===e&&(n=r)}),n})();return r===-1?[...t,n]:[...t.slice(0,r+1),n,...t.slice(r+1)]})},[]),h=(0,Z.useCallback)(e=>{c(t=>{let n=t.slice();return n.splice(e,1),f(n),n})},[f]),g=(0,Z.useCallback)((e,t)=>{c(n=>{let r=n.slice(),i=r[e];return!i||(i.when??void 0)===t?n:(r[e]={...i,when:t,__id:i.__id},f(r),r)})},[f]),_=(0,Z.useCallback)(e=>{c(t=>{let n=t[e];if(!n)return t;let r=n.command;if(!Ey.has(r)){let n=t.slice();return n.splice(e,1),f(n),n}let i=jy(r),a=t.filter(e=>e.command!==r);for(let e of i)a.push({...e,__id:`default-${r}-${Py()}`});return f(a),a})},[f]),v=(0,Z.useCallback)(e=>{c(t=>{let n=t.filter(t=>t.command!==e);if(Ey.has(e))for(let t of jy(e))n.push({...t,__id:`default-${e}-${Py()}`});return f(n),n})},[f]),y=(0,Z.useCallback)(async()=>{c([]);try{await kt().keybindings.replaceCustom({rules:[]})}catch(e){Y.add(X({type:`error`,title:`Could not restore default keybindings`,description:e instanceof Error?e.message:`An unknown error occurred.`})),c(ky(o))}},[o]),b=(0,Z.useRef)(new Map),x=(0,Z.useCallback)(e=>{let t=b.current.get(e);t&&(t.scrollIntoView({behavior:`smooth`,block:`center`}),t.dataset.flash=`true`,window.setTimeout(()=>{delete t.dataset.flash},1100))},[]),[S,C]=(0,Z.useState)(``),w=(0,Z.useDeferredValue)(S.trim().toLowerCase()),T=(0,Z.useMemo)(()=>py(s),[s]),E=(0,Z.useMemo)(()=>{let e=new Map;s.forEach((t,n)=>{let r=e.get(t.command);r?r.push(n):e.set(t.command,[n])});let t=new Set([...e.keys(),...Ey,...a.commandList]),n=new Map;for(let r of t){let t=e.get(r)??[],i=t.map(e=>s[e]).filter(Boolean),o=iy(r,a.titles.get(r)),c=My(r,i),l={key:``,command:r,when:void 0};if(!(w.length===0||Ny(l,o.title,w)||i.some(e=>Ny(e,o.title,w))))continue;let u={command:r,title:o.title,indicesInDraft:t,status:c},d=n.get(o.category.id);d?d.push(u):n.set(o.category.id,[u])}let r=[];for(let e of Object.values(ty).toSorted((e,t)=>e.sortWeight-t.sortWeight)){let t=n.get(e.id);!t||t.length===0||(t.sort((e,t)=>{let n=iy(e.command,a.titles.get(e.command)),r=iy(t.command,a.titles.get(t.command));return n.sortWeight-r.sortWeight}),r.push({category:e,rows:t}))}return r},[s,w,a]),D=E.reduce((e,t)=>e+t.rows.length,0),O=(0,Z.useMemo)(()=>({platform:n,draft:s,conflictsByCommand:T,onRebind:p,onAddBinding:m,onRemoveBinding:h,onChangeWhen:g,onResetBinding:_,onResetCommand:v,scrollToCommand:x,rowRefs:b}),[n,s,T,p,m,h,g,_,v,x]),A=e?.issues.filter(e=>e.kind.startsWith(`keybindings.`))??[];return(0,$.jsxs)(C_,{children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`span`,{className:`grid size-9 place-items-center rounded-lg bg-accent text-foreground/70`,children:(0,$.jsx)(Cc,{className:`size-4`})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h1`,{className:`text-lg font-semibold tracking-tight`,children:`Keybindings`}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Click any shortcut and press a new combination to rebind. Press Esc to cancel, Backspace to clear.`})]})]}),(0,$.jsxs)(J,{variant:`outline`,size:`xs`,onClick:()=>void y(),disabled:s.length===0,children:[(0,$.jsx)(go,{className:`size-3.5`}),`Restore defaults`]})]}),A.length>0?(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-200`,children:[(0,$.jsx)(fs,{className:`mt-0.5 size-4 shrink-0`}),(0,$.jsxs)(`div`,{className:`flex-1 space-y-0.5`,children:[A.map(e=>(0,$.jsx)(`p`,{children:e.message},`${e.kind}-${e.message}`)),t?(0,$.jsxs)(`p`,{className:`opacity-70`,children:[`Edit `,(0,$.jsx)(`code`,{className:`rounded bg-amber-500/20 px-1`,children:t}),` `,`to resolve.`]}):null]})]}):null,(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Nn,{className:`absolute left-3 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground/60`}),(0,$.jsx)(tr,{type:`search`,placeholder:`Search by command, shortcut, or when…`,className:`pl-9`,value:S,onChange:e=>C(e.target.value)})]}),D===0?(0,$.jsx)(`div`,{className:`rounded-lg border border-dashed border-border/60 px-6 py-12 text-center text-sm text-muted-foreground`,children:`No commands match your search.`}):E.map(e=>(0,$.jsx)(b_,{title:e.category.label,children:e.rows.map(e=>(0,$.jsx)(Iy,{row:e,context:O,isMac:r,scriptTitle:a.titles.get(e.command)},e.command))},e.category.id))]})}var Iy=(0,Z.memo)(function(e){let t=(0,Q.c)(42),{row:n,context:r,isMac:i}=e,a;if(t[0]!==r||t[1]!==i||t[2]!==n.command||t[3]!==n.indicesInDraft||t[4]!==n.status||t[5]!==n.title){let e;t[7]===r.draft?e=t[8]:(e=e=>({index:e,rule:r.draft[e]}),t[7]=r.draft,t[8]=e);let o=n.indicesInDraft.map(e),s=r.conflictsByCommand.get(n.command)??[],c=s.slice(0,3),l=n.command,u;t[9]!==r.rowRefs.current||t[10]!==n.command?(u=e=>{r.rowRefs.current.set(n.command,e)},t[9]=r.rowRefs.current,t[10]=n.command,t[11]=u):u=t[11];let d;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(d=R(`group flex flex-col gap-2 border-t border-border/60 px-4 py-3 first:border-t-0 transition-colors data-[flash=true]:bg-amber-500/10 sm:px-5`),t[12]=d):d=t[12];let f;t[13]===n.title?f=t[14]:(f=(0,$.jsx)(`span`,{className:`truncate text-[13px] font-medium tracking-tight text-foreground`,children:n.title}),t[13]=n.title,t[14]=f);let p;t[15]===n.status?p=t[16]:(p=(0,$.jsx)(Ly,{status:n.status}),t[15]=n.status,t[16]=p);let m;t[17]!==f||t[18]!==p?(m=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[f,p]}),t[17]=f,t[18]=p,t[19]=m):m=t[19];let h;t[20]===n.command?h=t[21]:(h=(0,$.jsx)(`code`,{className:`block truncate text-[10px] text-muted-foreground/60`,children:n.command}),t[20]=n.command,t[21]=h);let g;t[22]!==m||t[23]!==h?(g=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[m,h]}),t[22]=m,t[23]=h,t[24]=g):g=t[24];let _=o.length===0?(0,$.jsx)(zy,{draftIndex:-1,rule:{command:n.command,key:``,when:void 0},context:r,isMac:i,isPrimary:!0,isPlaceholder:!0,onAddPlaceholder:()=>r.onAddBinding(n.command)},`placeholder`):o.map((e,t)=>{let{index:n,rule:a}=e;return(0,$.jsx)(zy,{draftIndex:n,rule:a,context:r,isMac:i,isPrimary:t===0,isPlaceholder:a.key.length===0},`${n}-${a.__id}`)}),v;t[25]!==r||t[26]!==n.command||t[27]!==n.title||t[28]!==o?(v=o.length>0?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`button`,{type:`button`,onClick:()=>r.onAddBinding(n.command),className:`inline-flex size-6 items-center justify-center rounded-md border border-dashed border-border/60 text-muted-foreground/60 transition-colors hover:border-border hover:text-foreground`,"aria-label":`Add another shortcut for ${n.title}`,children:(0,$.jsx)(ar,{className:`size-3.5`})})}),(0,$.jsx)(ne,{side:`top`,children:`Add another shortcut`})]}):null,t[25]=r,t[26]=n.command,t[27]=n.title,t[28]=o,t[29]=v):v=t[29];let y;t[30]!==r||t[31]!==n.command||t[32]!==n.status||t[33]!==n.title?(y=n.status!==`default`&&Ey.has(n.command)?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`button`,{type:`button`,onClick:()=>r.onResetCommand(n.command),className:`inline-flex size-6 items-center justify-center rounded-md text-muted-foreground/50 transition-colors hover:text-foreground`,"aria-label":`Reset ${n.title} to default`,children:(0,$.jsx)(go,{className:`size-3.5`})})}),(0,$.jsx)(ne,{side:`top`,children:`Reset to default`})]}):null,t[30]=r,t[31]=n.command,t[32]=n.status,t[33]=n.title,t[34]=y):y=t[34];let b;t[35]!==_||t[36]!==v||t[37]!==y?(b=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1.5`,children:[_,v,y]}),t[35]=_,t[36]=v,t[37]=y,t[38]=b):b=t[38];let x;t[39]!==g||t[40]!==b?(x=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[g,b]}),t[39]=g,t[40]=b,t[41]=x):x=t[41],a=(0,$.jsxs)(`div`,{"data-keybinding-command":l,ref:u,className:d,children:[x,c.length>0?(0,$.jsxs)(`div`,{className:`animate-in fade-in slide-in-from-top-1 flex flex-col gap-1 rounded-md border border-destructive/30 bg-destructive/10 px-2.5 py-1.5 text-[11px] text-destructive-foreground/90`,children:[c.map(e=>(0,$.jsx)(Ry,{conflict:e,isMac:i,platform:r.platform,onSelect:()=>r.scrollToCommand(e.otherCommand)},`${e.key}-${e.otherCommand}`)),s.length>c.length?(0,$.jsxs)(`span`,{className:`opacity-70`,children:[`+ `,s.length-c.length,` more`]}):null]}):null]}),t[0]=r,t[1]=i,t[2]=n.command,t[3]=n.indicesInDraft,t[4]=n.status,t[5]=n.title,t[6]=a}else a=t[6];return a});function Ly(e){let t=(0,Q.c)(5),{status:n}=e;if(n===`default`)return null;let r=n===`modified`?`bg-amber-500/15 text-amber-300`:`bg-indigo-500/15 text-indigo-300`,i;t[0]===r?i=t[1]:(i=R(`rounded px-1.5 py-0.5 text-[9px] font-medium uppercase tracking-[0.06em]`,r),t[0]=r,t[1]=i);let a=n===`modified`?`Modified`:`Custom`,o;return t[2]!==i||t[3]!==a?(o=(0,$.jsx)(`span`,{className:i,children:a}),t[2]=i,t[3]=a,t[4]=o):o=t[4],o}function Ry(e){let t=(0,Q.c)(27),{conflict:n,platform:r,isMac:i,onSelect:a}=e,o;t[0]===n.otherCommand?o=t[1]:(o=iy(n.otherCommand),t[0]=n.otherCommand,t[1]=o);let s=o,c,l,u,d;if(t[2]!==n.key||t[3]!==i||t[4]!==r){let e=Wy(n.key),a=e?Sy(e,{platform:r}):[n.key];u=`flex flex-wrap items-center gap-1.5`,t[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(fs,{className:`size-3 shrink-0 text-destructive`}),t[9]=d):d=t[9],c=`inline-flex items-center gap-0.5 font-mono`;let o;t[10]===i?o=t[11]:(o=e=>(0,$.jsx)(By,{token:e,isMac:i},e),t[10]=i,t[11]=o),l=a.map(o),t[2]=n.key,t[3]=i,t[4]=r,t[5]=c,t[6]=l,t[7]=u,t[8]=d}else c=t[5],l=t[6],u=t[7],d=t[8];let f;t[12]!==c||t[13]!==l?(f=(0,$.jsx)(`span`,{className:c,children:l}),t[12]=c,t[13]=l,t[14]=f):f=t[14];let p;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`span`,{children:`also bound to`}),t[15]=p):p=t[15];let m;t[16]!==s.title||t[17]!==a?(m=(0,$.jsx)(`button`,{type:`button`,onClick:a,className:`rounded bg-destructive/20 px-1.5 py-0.5 font-medium text-destructive-foreground hover:bg-destructive/30`,children:s.title}),t[16]=s.title,t[17]=a,t[18]=m):m=t[18];let h;t[19]===n.otherWhen?h=t[20]:(h=n.otherWhen===void 0?null:(0,$.jsxs)(`span`,{className:`opacity-70`,children:[`when `,(0,$.jsx)(`code`,{className:`font-mono`,children:ly(n.otherWhen)})]}),t[19]=n.otherWhen,t[20]=h);let g;return t[21]!==u||t[22]!==d||t[23]!==f||t[24]!==m||t[25]!==h?(g=(0,$.jsxs)(`div`,{className:u,children:[d,f,p,m,h]}),t[21]=u,t[22]=d,t[23]=f,t[24]=m,t[25]=h,t[26]=g):g=t[26],g}function zy({draftIndex:e,rule:t,context:n,isMac:r,isPlaceholder:i,onAddPlaceholder:a}){let[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(!1),u=(0,Z.useRef)(null),d=(0,Z.useMemo)(()=>t.key.length===0?null:Wy(t.key),[t.key]),f=d?Sy(d,{platform:n.platform}):[],p=(0,Z.useCallback)(()=>{if(i&&e===-1&&a){a(),setTimeout(()=>{document.querySelectorAll(`[data-chip-pending-record="true"]`).forEach(e=>{e.click()})},50);return}s(!0)},[i,e,a]);(0,Z.useEffect)(()=>{if(!o)return;let t=t=>{if(t.preventDefault(),t.stopPropagation(),t.key===`Escape`&&!Uy(t)){s(!1);return}if(t.key===`Tab`&&!Uy(t)){s(!1);return}if(t.key===`Backspace`&&!Uy(t)){e>=0&&n.onRemoveBinding(e),s(!1);return}let r=vy(t,{platform:n.platform});r&&(e>=0&&n.onRebind(e,r),l(!0),s(!1),setTimeout(()=>l(!1),220))};return window.addEventListener(`keydown`,t,{capture:!0}),()=>window.removeEventListener(`keydown`,t,{capture:!0})},[o,e,n]),(0,Z.useEffect)(()=>{o&&u.current?.focus()},[o]);let m=e=>{o||(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p())},h=()=>{e>=0&&n.onRemoveBinding(e)};return i&&e===-1&&f.length===0?(0,$.jsxs)(`button`,{ref:u,type:`button`,onClick:()=>a?.(),onKeyDown:m,className:`inline-flex h-6 items-center gap-1 rounded-md border border-dashed border-border/60 bg-transparent px-2 text-[11px] text-muted-foreground/70 transition-colors hover:border-border hover:text-foreground`,children:[(0,$.jsx)(ar,{className:`size-3`}),` No shortcut — click to set`]}):(0,$.jsxs)(`span`,{className:`relative inline-flex items-center gap-1`,children:[(0,$.jsxs)(`button`,{ref:u,type:`button`,"aria-pressed":o,"aria-label":`Edit shortcut for ${t.command}`,"data-chip-pending-record":f.length===0&&e>=0?`true`:void 0,onClick:p,onKeyDown:m,className:R(`inline-flex h-6 items-center gap-1 rounded-md border px-2 font-mono text-[11px] transition-all duration-150`,o?`kb-chip-recording border-indigo-500/60 bg-indigo-500/15 text-indigo-100 shadow-[0_0_0_4px_rgba(99,102,241,0.18)]`:c?`border-emerald-500/50 bg-emerald-500/15 text-emerald-100`:`border-border bg-muted/60 text-foreground hover:bg-muted`),style:o?{animation:`keybindings-pulse 1.4s ease-in-out infinite`}:{},children:[o?(0,$.jsx)(`span`,{className:`text-[11px] tracking-[0.04em]`,children:`Press shortcut…`}):f.length===0?(0,$.jsx)(`span`,{className:`text-muted-foreground/60`,children:`Click to set`}):f.map(e=>(0,$.jsx)(By,{token:e,isMac:r},e)),!o&&t.when!==void 0?(0,$.jsx)(`span`,{className:`ml-1 hidden sm:inline`,children:`·`}):null]}),(0,$.jsx)(Vy,{currentWhen:t.when,onChange:t=>n.onChangeWhen(e,t),disabled:e<0||o}),e>=0&&!o?(0,$.jsx)(`button`,{type:`button`,onClick:h,"aria-label":`Remove this shortcut`,className:`opacity-0 transition-opacity group-hover:opacity-100 focus:opacity-100`,children:(0,$.jsx)(En,{className:`size-3 text-muted-foreground/60 hover:text-destructive`})}):null,(0,$.jsx)(Hy,{})]})}function By(e){let t=(0,Q.c)(5),{token:n,isMac:r}=e,i=r&&n.length===1&&/[⌀-⏿←-⇿]/.test(n)?`bg-transparent`:`bg-foreground/10`,a;t[0]===i?a=t[1]:(a=R(`rounded px-1 leading-none`,i),t[0]=i,t[1]=a);let o;return t[2]!==a||t[3]!==n?(o=(0,$.jsx)(`span`,{className:a,children:n}),t[2]=a,t[3]=n,t[4]=o):o=t[4],o}function Vy(e){let t=(0,Q.c)(35),{currentWhen:n,onChange:r,disabled:i}=e,a;t[0]===n?a=t[1]:(a=cy(n),t[0]=n,t[1]=a);let o=a,s,c,l,u,d,f,p;if(t[2]!==n||t[3]!==i){let e=ly(n);c=Ve,s=Oe,l=`button`,u=i;let r=n===void 0&&`italic opacity-70`;t[11]===r?d=t[12]:(d=R(`inline-flex h-5 items-center gap-1 rounded bg-muted/40 px-1.5 text-[10px] text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,r),t[11]=r,t[12]=d),f=`When: ${e}`,p=n===void 0?`always`:e.toLowerCase(),t[2]=n,t[3]=i,t[4]=s,t[5]=c,t[6]=l,t[7]=u,t[8]=d,t[9]=f,t[10]=p}else s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10];let m;t[13]!==l||t[14]!==u||t[15]!==d||t[16]!==f||t[17]!==p?(m=(0,$.jsx)(`button`,{type:l,disabled:u,className:d,"aria-label":f,children:p}),t[13]=l,t[14]=u,t[15]=d,t[16]=f,t[17]=p,t[18]=m):m=t[18];let h;t[19]!==s||t[20]!==m?(h=(0,$.jsx)(s,{render:m}),t[19]=s,t[20]=m,t[21]=h):h=t[21];let g;t[22]!==n||t[23]!==o?(g=!o&&n!==void 0?(0,$.jsxs)(`div`,{className:`px-2 py-1.5 text-[10px] text-muted-foreground`,children:[`Current: `,(0,$.jsx)(`code`,{className:`font-mono`,children:n})]}):null,t[22]=n,t[23]=o,t[24]=g):g=t[24];let _;t[25]!==n||t[26]!==r?(_=ay.map(e=>(0,$.jsxs)(de,{onClick:()=>r(e.value),className:R(`flex items-center justify-between text-[12px]`,e.value===n&&`font-semibold text-foreground`),children:[(0,$.jsx)(`span`,{children:e.label}),e.value===void 0?(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground/60`,children:`no condition`}):(0,$.jsx)(`code`,{className:`text-[10px] font-mono text-muted-foreground/60`,children:e.value})]},e.id)),t[25]=n,t[26]=r,t[27]=_):_=t[27];let v;t[28]!==_||t[29]!==g?(v=(0,$.jsxs)(Zt,{side:`bottom`,align:`end`,className:`min-w-[220px]`,children:[g,_]}),t[28]=_,t[29]=g,t[30]=v):v=t[30];let y;return t[31]!==c||t[32]!==v||t[33]!==h?(y=(0,$.jsxs)(c,{children:[h,v]}),t[31]=c,t[32]=v,t[33]=h,t[34]=y):y=t[34],y}function Hy(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`style`,{children:`@keyframes keybindings-pulse {
|
|
13
|
-
0%, 100% { box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15); }
|
|
14
|
-
50% { box-shadow: 0 0 0 8px rgba(99, 102, 241, 0.30); }
|
|
15
|
-
}
|
|
16
|
-
@media (prefers-reduced-motion: reduce) {
|
|
17
|
-
.kb-chip-recording { animation: none !important; }
|
|
18
|
-
}`}),e[0]=t):t=e[0],t}function Uy(e){return e.metaKey||e.ctrlKey||e.altKey||e.shiftKey}function Wy(e){let t=e.toLowerCase().split(`+`),n=null,r=!1,i=!1,a=!1,o=!1,s=!1;for(let e of t)switch(e){case`cmd`:case`meta`:r=!0;break;case`ctrl`:case`control`:i=!0;break;case`alt`:case`option`:a=!0;break;case`shift`:o=!0;break;case`mod`:s=!0;break;default:if(n!==null)return null;n=e===`space`?` `:e;break}return n===null?null:{key:n,metaKey:r,ctrlKey:i,altKey:a,shiftKey:o,modKey:s}}var Gy=/^[a-zA-Z][a-zA-Z0-9_-]*$/;function Ky(){return{name:``,transport:`stdio`,command:``,argsText:``,cwd:``,url:``,bearerTokenEnvVar:``,envText:``,envVarsText:``,httpHeadersText:``,envHttpHeadersText:``,enabled:!0,required:!1,startupTimeoutSec:``,toolTimeoutSec:``,enabledToolsText:``,disabledToolsText:``,oauthScopesText:``}}function qy(e){return e.join(`
|
|
19
|
-
`)}function Jy(e){return Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
|
|
20
|
-
`)}function Yy(e){let t=e.config;return{name:e.name,transport:t.transport===`http`?`http`:`stdio`,command:t.command??``,argsText:qy(t.args),cwd:t.cwd??``,url:t.url??``,bearerTokenEnvVar:t.bearerTokenEnvVar??``,envText:Jy(t.env),envVarsText:qy(t.envVars),httpHeadersText:Jy(t.httpHeaders),envHttpHeadersText:Jy(t.envHttpHeaders),enabled:t.enabled,required:t.required??!1,startupTimeoutSec:t.startupTimeoutSec?.toString()??``,toolTimeoutSec:t.toolTimeoutSec?.toString()??``,enabledToolsText:qy(t.enabledTools),disabledToolsText:qy(t.disabledTools),oauthScopesText:qy(t.oauthScopes)}}function Xy(e){return e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e.length>0)}function Zy(e){let t={};for(let n of Xy(e)){let e=n.indexOf(`=`);if(e<=0)continue;let r=n.slice(0,e).trim(),i=n.slice(e+1).trim();r.length>0&&(t[r]=i)}return t}function Qy(e){let t=e.trim();if(!t)return;let n=Number(t);return Number.isFinite(n)&&n>0?n:NaN}function $y(e){let t=e.name.trim();if(!Gy.test(t))return`Server name must start with a letter and use only letters, numbers, dashes, and underscores.`;if(e.transport===`stdio`&&e.command.trim().length===0)return`Stdio servers need a command.`;if(e.transport===`http`&&e.url.trim().length===0)return`HTTP servers need a URL.`;for(let[t,n]of[[`Startup timeout`,e.startupTimeoutSec],[`Tool timeout`,e.toolTimeoutSec]]){let e=Qy(n);if(Number.isNaN(e))return`${t} must be a positive number.`}return null}function eb(e){let t=Qy(e.startupTimeoutSec),n=Qy(e.toolTimeoutSec);return{transport:e.transport,command:e.command.trim(),args:Xy(e.argsText),cwd:e.cwd.trim()||null,url:e.url.trim(),bearerTokenEnvVar:e.bearerTokenEnvVar.trim()||null,env:Zy(e.envText),envVars:Xy(e.envVarsText),httpHeaders:Zy(e.httpHeadersText),envHttpHeaders:Zy(e.envHttpHeadersText),enabled:e.enabled,required:e.required,...t===void 0||Number.isNaN(t)?{}:{startupTimeoutSec:t},...n===void 0||Number.isNaN(n)?{}:{toolTimeoutSec:n},enabledTools:Xy(e.enabledToolsText),disabledTools:Xy(e.disabledToolsText),oauthScopes:Xy(e.oauthScopesText)}}function tb(e){let t=e.config;return t.transport===`http`?t.url||`HTTP`:t.transport===`stdio`?[t.command,...t.args].filter(Boolean).join(` `)||`stdio`:`Configured outside the known MCP schema`}var nb=[{value:M.make(`codex`),label:`Codex`,icon:Ma,settingsSchema:F},{value:M.make(`claudeAgent`),label:`Claude`,icon:Rn,settingsSchema:Ie},{value:M.make(`copilot`),label:`GitHub Copilot`,icon:Va,settingsSchema:hn},{value:M.make(`cursor`),label:`Cursor`,icon:ca,badgeLabel:`Early Access`,settingsSchema:ze},{value:M.make(`opencode`),label:`OpenCode`,icon:fo,settingsSchema:z}],rb=Object.fromEntries(nb.map(e=>[e.value,e])),ib=nb,ab=rb;function ob(e){if(e!==void 0)return rb[e]}var sb=[],cb=[];function lb(){let e=kt().mcp;if(!e)throw Error(`MCP settings are unavailable before a backend is paired.`);return e}function ub(e,t){Y.add(X({type:`error`,title:e,description:t instanceof Error?t.message:`An error occurred.`}))}function db(e){switch(e){case`user`:return`User config`;case`project`:return`Project`;case`system`:return`System`;case`managed`:return`Managed`;case`mixed`:return`Mixed`;case`unknown`:return`Unknown`}}function fb(e){return e.startupStatus===`failed`?`error`:e.startupStatus===`disabled`?`outline`:e.authStatus===`notLoggedIn`?`warning`:e.startupStatus===`ready`?`success`:`outline`}function pb(e){return e.startupStatus===`disabled`?`Disabled`:e.startupStatus===`failed`?`Failed`:e.authStatus===`notLoggedIn`?`Login needed`:e.startupStatus===`ready`?`Ready`:`Unknown`}function mb(e){return e.enabled?e.status===`managed`?`success`:e.status===`external`?`warning`:`outline`:`outline`}function hb(e){if(!e.enabled)return`Disabled`;switch(e.status){case`managed`:return`Managed`;case`external`:return`External config`;case`unsupported`:return`Not wired`}}function gb(e){return e.displayName??ob(e.driver)?.label??nt(e.driver)}function _b(e){let t=(0,Q.c)(5),n;t[0]===e.label?n=t[1]:(n=(0,$.jsx)(`span`,{children:e.label}),t[0]=e.label,t[1]=n);let r;return t[2]!==e.children||t[3]!==n?(r=(0,$.jsxs)(`label`,{className:`grid gap-1.5 text-xs font-medium text-foreground/80`,children:[n,e.children]}),t[2]=e.children,t[3]=n,t[4]=r):r=t[4],r}function vb(e){let t=(0,Q.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`p`,{className:`text-[11px] leading-relaxed text-muted-foreground/70`,children:n}),t[0]=n,t[1]=r),r}function yb(e){let t=(0,Q.c)(5),{value:n,onChange:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i={value:`stdio`,label:`Stdio`,icon:wo},t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=[i,{value:`http`,label:`HTTP`,icon:_c}],t[1]=a):a=t[1];let o;return t[2]!==r||t[3]!==n?(o=(0,$.jsx)(`div`,{className:`grid grid-cols-2 rounded-lg border bg-muted/30 p-1`,children:a.map(e=>{let t=e.icon;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),className:R(`flex h-8 items-center justify-center gap-2 rounded-md text-xs font-medium transition-colors`,n===e.value?`bg-background text-foreground shadow-xs`:`text-muted-foreground`),children:[(0,$.jsx)(t,{className:`size-3.5`}),e.label]},e.value)})}),t[2]=r,t[3]=n,t[4]=o):o=t[4],o}function bb({open:e,server:t,onOpenChange:n,onSubmit:r}){let[i,a]=(0,Z.useState)(()=>Ky()),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(!1),u=t!==null;(0,Z.useEffect)(()=>{e&&(a(t?Yy(t):Ky()),s(null))},[e,t]);let d=(e,t)=>{a(n=>({...n,[e]:t}))},f=async()=>{let e=$y(i);if(e){s(e);return}l(!0);try{await r(i),n(!1)}catch(e){ub(`Failed to save MCP server`,e)}finally{l(!1)}};return(0,$.jsx)(Zr,{open:e,onOpenChange:n,children:(0,$.jsxs)(Kn,{className:`max-w-2xl`,bottomStickOnMobile:!1,children:[(0,$.jsxs)(oi,{children:[(0,$.jsx)(Ti,{children:u?`Edit MCP server`:`Add MCP server`}),(0,$.jsx)(wr,{children:`Configuration is written to the selected Codex config and reloaded after save.`})]}),(0,$.jsxs)(Mo,{className:`space-y-5`,children:[(0,$.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-[1fr_12rem]`,children:[(0,$.jsx)(_b,{label:`Server name`,children:(0,$.jsx)(tr,{value:i.name,disabled:u,onChange:e=>d(`name`,e.target.value),placeholder:`github`,spellCheck:!1})}),(0,$.jsx)(_b,{label:`Transport`,children:(0,$.jsx)(yb,{value:i.transport,onChange:e=>d(`transport`,e)})})]}),i.transport===`stdio`?(0,$.jsxs)(`div`,{className:`grid gap-4`,children:[(0,$.jsx)(_b,{label:`Command`,children:(0,$.jsx)(tr,{value:i.command,onChange:e=>d(`command`,e.target.value),placeholder:`npx`,spellCheck:!1})}),(0,$.jsxs)(_b,{label:`Arguments`,children:[(0,$.jsx)(or,{value:i.argsText,onChange:e=>d(`argsText`,e.target.value),placeholder:`-y
|
|
21
|
-
@modelcontextprotocol/server-filesystem
|
|
22
|
-
/tmp/project`,spellCheck:!1}),(0,$.jsx)(vb,{children:`One argument per line.`})]}),(0,$.jsx)(_b,{label:`Working directory`,children:(0,$.jsx)(tr,{value:i.cwd,onChange:e=>d(`cwd`,e.target.value),placeholder:`/path/to/project`,spellCheck:!1})})]}):(0,$.jsxs)(`div`,{className:`grid gap-4`,children:[(0,$.jsx)(_b,{label:`URL`,children:(0,$.jsx)(tr,{value:i.url,onChange:e=>d(`url`,e.target.value),placeholder:`https://mcp.example.com/mcp`,spellCheck:!1})}),(0,$.jsx)(_b,{label:`Bearer token env var`,children:(0,$.jsx)(tr,{value:i.bearerTokenEnvVar,onChange:e=>d(`bearerTokenEnvVar`,e.target.value),placeholder:`MCP_TOKEN`,spellCheck:!1})}),(0,$.jsxs)(_b,{label:`HTTP headers`,children:[(0,$.jsx)(or,{value:i.httpHeadersText,onChange:e=>d(`httpHeadersText`,e.target.value),placeholder:`X-Client=ryco`,spellCheck:!1}),(0,$.jsx)(vb,{children:`Static headers as KEY=VALUE lines.`})]}),(0,$.jsxs)(_b,{label:`Env-backed HTTP headers`,children:[(0,$.jsx)(or,{value:i.envHttpHeadersText,onChange:e=>d(`envHttpHeadersText`,e.target.value),placeholder:`Authorization=GITHUB_TOKEN`,spellCheck:!1}),(0,$.jsx)(vb,{children:`Header name to environment variable name, one per line.`})]})]}),(0,$.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,$.jsxs)(_b,{label:`Environment values`,children:[(0,$.jsx)(or,{value:i.envText,onChange:e=>d(`envText`,e.target.value),placeholder:`API_BASE=https://example.com`,spellCheck:!1}),(0,$.jsx)(vb,{children:`KEY=VALUE lines stored in Codex config.`})]}),(0,$.jsxs)(_b,{label:`Environment allow-list`,children:[(0,$.jsx)(or,{value:i.envVarsText,onChange:e=>d(`envVarsText`,e.target.value),placeholder:`GITHUB_TOKEN
|
|
23
|
-
SENTRY_AUTH_TOKEN`,spellCheck:!1}),(0,$.jsx)(vb,{children:`One env var name per line.`})]})]}),(0,$.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,$.jsx)(_b,{label:`Startup timeout seconds`,children:(0,$.jsx)(tr,{value:i.startupTimeoutSec,onChange:e=>d(`startupTimeoutSec`,e.target.value),inputMode:`decimal`,placeholder:`10`})}),(0,$.jsx)(_b,{label:`Tool timeout seconds`,children:(0,$.jsx)(tr,{value:i.toolTimeoutSec,onChange:e=>d(`toolTimeoutSec`,e.target.value),inputMode:`decimal`,placeholder:`60`})})]}),(0,$.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-3`,children:[(0,$.jsx)(_b,{label:`Enabled tools`,children:(0,$.jsx)(or,{value:i.enabledToolsText,onChange:e=>d(`enabledToolsText`,e.target.value),spellCheck:!1})}),(0,$.jsx)(_b,{label:`Disabled tools`,children:(0,$.jsx)(or,{value:i.disabledToolsText,onChange:e=>d(`disabledToolsText`,e.target.value),spellCheck:!1})}),(0,$.jsx)(_b,{label:`OAuth scopes`,children:(0,$.jsx)(or,{value:i.oauthScopesText,onChange:e=>d(`oauthScopesText`,e.target.value),spellCheck:!1})})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-5 border-t pt-4`,children:[(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-xs font-medium text-foreground/80`,children:[(0,$.jsx)(Wi,{checked:i.enabled,onCheckedChange:e=>d(`enabled`,!!e)}),`Enabled`]}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-xs font-medium text-foreground/80`,children:[(0,$.jsx)(Wi,{checked:i.required,onCheckedChange:e=>d(`required`,!!e)}),`Required`]})]}),o?(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-destructive/30 bg-destructive/6 px-3 py-2 text-xs text-destructive-foreground`,children:[(0,$.jsx)(fs,{className:`mt-0.5 size-3.5`}),(0,$.jsx)(`span`,{children:o})]}):null]}),(0,$.jsxs)(Ir,{children:[(0,$.jsx)(J,{variant:`outline`,onClick:()=>n(!1),disabled:c,children:`Cancel`}),(0,$.jsxs)(J,{onClick:()=>void f(),disabled:c,children:[c?(0,$.jsx)(ka,{className:`animate-spin`}):(0,$.jsx)(Mc,{}),`Save`]})]})]})})}function xb(e){let t=(0,Q.c)(18),{workspaces:n,selectedWorkspaceId:r,onChange:i}=e;if(n.length<=1||!r)return null;let a;if(t[0]!==r||t[1]!==n){let e;t[3]===r?e=t[4]:(e=e=>e.id===r,t[3]=r,t[4]=e),a=n.find(e),t[0]=r,t[1]=n,t[2]=a}else a=t[2];let o=a,s;t[5]===i?s=t[6]:(s=e=>{e&&i(e)},t[5]=i,t[6]=s);let c=o?.displayPath??`Select workspace`,l;t[7]===c?l=t[8]:(l=(0,$.jsx)(bo,{className:`w-full sm:w-72`,"aria-label":`MCP workspace`,children:(0,$.jsx)(gi,{children:c})}),t[7]=c,t[8]=l);let u;t[9]===n?u=t[10]:(u=n.map(Sb),t[9]=n,t[10]=u);let d;t[11]===u?d=t[12]:(d=(0,$.jsx)(Xn,{align:`end`,alignItemWithTrigger:!1,children:u}),t[11]=u,t[12]=d);let f;return t[13]!==r||t[14]!==s||t[15]!==l||t[16]!==d?(f=(0,$.jsxs)(ko,{value:r,onValueChange:s,children:[l,d]}),t[13]=r,t[14]=s,t[15]=l,t[16]=d,t[17]=f):f=t[17],f}function Sb(e){return(0,$.jsx)(di,{hideIndicator:!0,value:e.id,children:(0,$.jsx)(`span`,{className:`truncate`,children:e.displayPath})},e.id)}function Cb(e){let t=(0,Q.c)(10),{providers:n,selectedWorkspaceId:r,onSelectWorkspace:i}=e;if(n.length===0)return null;let a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`div`,{className:`border-b px-4 py-3`,children:(0,$.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Provider MCP support`})}),t[0]=a):a=t[0];let o;if(t[1]!==i||t[2]!==n||t[3]!==r){let e;t[5]!==i||t[6]!==r?(e=e=>{let t=ob(e.driver)?.icon??Nc,n=e.workspaceId!==void 0&&e.workspaceId===r,a=e.workspaceId!==void 0&&!n;return(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 px-4 py-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,$.jsxs)(`div`,{className:`relative mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-lg border bg-background`,children:[(0,$.jsx)(t,{className:`size-4 text-muted-foreground`}),e.accentColor?(0,$.jsx)(`span`,{className:`absolute -right-0.5 -bottom-0.5 size-2.5 rounded-full border border-background`,style:{backgroundColor:e.accentColor}}):null]}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium`,children:gb(e)}),(0,$.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground/70`,children:e.instanceId})]}),(0,$.jsx)(`p`,{className:`mt-1 max-w-2xl text-xs leading-relaxed text-muted-foreground/80`,children:e.message})]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2 sm:justify-end`,children:[(0,$.jsx)(cs,{variant:mb(e),children:hb(e)}),e.workspaceId?(0,$.jsx)(J,{size:`xs`,variant:n?`secondary`:`outline`,disabled:!a,onClick:()=>{e.workspaceId&&i(e.workspaceId)},children:`Codex workspace`}):null]})]},e.instanceId)},t[5]=i,t[6]=r,t[7]=e):e=t[7],o=n.map(e),t[1]=i,t[2]=n,t[3]=r,t[4]=o}else o=t[4];let s;return t[8]===o?s=t[9]:(s=(0,$.jsxs)(`section`,{className:`rounded-lg border bg-muted/10`,children:[a,(0,$.jsx)(`div`,{className:`divide-y`,children:o})]}),t[8]=o,t[9]=s),s}function wb(e){let t=(0,Q.c)(20),{server:n}=e;if(n.tools.length===0&&n.resources.length===0&&n.resourceTemplates.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground/70`,children:`No tools or resources reported.`}),t[0]=e):e=t[0],e}let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`h4`,{className:`mb-1.5 text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground`,children:`Tools`}),t[1]=r):r=t[1];let i;t[2]===n.tools?i=t[3]:(i=n.tools.slice(0,12).map(Db),t[2]=n.tools,t[3]=i);let a;t[4]===i?a=t[5]:(a=(0,$.jsxs)(`div`,{children:[r,(0,$.jsx)(`div`,{className:`space-y-1`,children:i})]}),t[4]=i,t[5]=a);let o;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`h4`,{className:`mb-1.5 text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground`,children:`Resources`}),t[6]=o):o=t[6];let s;t[7]===n.resources?s=t[8]:(s=n.resources.slice(0,10).map(Eb),t[7]=n.resources,t[8]=s);let c;t[9]===s?c=t[10]:(c=(0,$.jsxs)(`div`,{children:[o,(0,$.jsx)(`div`,{className:`space-y-1`,children:s})]}),t[9]=s,t[10]=c);let l;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`h4`,{className:`mb-1.5 text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground`,children:`Templates`}),t[11]=l):l=t[11];let u;t[12]===n.resourceTemplates?u=t[13]:(u=n.resourceTemplates.slice(0,10).map(Tb),t[12]=n.resourceTemplates,t[13]=u);let d;t[14]===u?d=t[15]:(d=(0,$.jsxs)(`div`,{children:[l,(0,$.jsx)(`div`,{className:`space-y-1`,children:u})]}),t[14]=u,t[15]=d);let f;return t[16]!==a||t[17]!==c||t[18]!==d?(f=(0,$.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-3`,children:[a,c,d]}),t[16]=a,t[17]=c,t[18]=d,t[19]=f):f=t[19],f}function Tb(e){return(0,$.jsxs)(`div`,{className:`rounded-md border bg-background/60 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`truncate text-xs font-medium`,children:e.title??e.name}),(0,$.jsx)(`div`,{className:`truncate text-[11px] text-muted-foreground/75`,children:e.uriTemplate})]},e.uriTemplate)}function Eb(e){return(0,$.jsxs)(`div`,{className:`rounded-md border bg-background/60 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`truncate text-xs font-medium`,children:e.title??e.name}),(0,$.jsx)(`div`,{className:`truncate text-[11px] text-muted-foreground/75`,children:e.uri})]},e.uri)}function Db(e){return(0,$.jsxs)(`div`,{className:`rounded-md border bg-background/60 px-2 py-1.5`,children:[(0,$.jsx)(`div`,{className:`truncate text-xs font-medium`,children:e.title??e.name}),e.description?(0,$.jsx)(`div`,{className:`line-clamp-2 text-[11px] text-muted-foreground/75`,children:e.description}):null]},e.name)}function Ob(e){let t=(0,Q.c)(97),{server:n,mutating:r,onToggleEnabled:i,onEdit:a,onRemove:o,onOauthLogin:s}=e,[c,l]=(0,Z.useState)(!1),u;t[0]===n?u=t[1]:(u=tb(n),t[0]=n,t[1]=u);let d=u,f=`${n.tools.length} tools · ${n.resources.length+n.resourceTemplates.length} resources`,p;t[2]===n.config.transport?p=t[3]:(p=n.config.transport===`http`?(0,$.jsx)(_c,{className:`size-4 text-muted-foreground`}):(0,$.jsx)(wo,{className:`size-4 text-muted-foreground`}),t[2]=n.config.transport,t[3]=p);let m;t[4]===n.name?m=t[5]:(m=(0,$.jsx)(`h3`,{className:`truncate text-sm font-semibold`,children:n.name}),t[4]=n.name,t[5]=m);let h;t[6]!==p||t[7]!==m?(h=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[p,m]}),t[6]=p,t[7]=m,t[8]=h):h=t[8];let g;t[9]===n?g=t[10]:(g=fb(n),t[9]=n,t[10]=g);let _;t[11]===n?_=t[12]:(_=pb(n),t[11]=n,t[12]=_);let v;t[13]!==g||t[14]!==_?(v=(0,$.jsx)(cs,{variant:g,children:_}),t[13]=g,t[14]=_,t[15]=v):v=t[15];let y;t[16]===n.source?y=t[17]:(y=db(n.source),t[16]=n.source,t[17]=y);let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(cs,{variant:`outline`,children:y}),t[18]=y,t[19]=b);let x;t[20]!==h||t[21]!==v||t[22]!==b?(x=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[h,v,b]}),t[20]=h,t[21]=v,t[22]=b,t[23]=x):x=t[23];let S;t[24]===d?S=t[25]:(S=(0,$.jsx)(`p`,{className:`mt-1 truncate font-mono text-[11px] text-muted-foreground/80`,children:d}),t[24]=d,t[25]=S);let C;t[26]===n.config.transport?C=t[27]:(C=n.config.transport.toUpperCase(),t[26]=n.config.transport,t[27]=C);let w;t[28]===C?w=t[29]:(w=(0,$.jsx)(`span`,{children:C}),t[28]=C,t[29]=w);let T;t[30]===f?T=t[31]:(T=(0,$.jsx)(`span`,{children:f}),t[30]=f,t[31]=T);let E;t[32]===n.authStatus?E=t[33]:(E=(0,$.jsxs)(`span`,{children:[`Auth: `,n.authStatus]}),t[32]=n.authStatus,t[33]=E);let D;t[34]!==w||t[35]!==T||t[36]!==E?(D=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2 text-[11px] text-muted-foreground`,children:[w,T,E]}),t[34]=w,t[35]=T,t[36]=E,t[37]=D):D=t[37];let O;t[38]===n.error?O=t[39]:(O=n.error?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:n.error}):null,t[38]=n.error,t[39]=O);let k;t[40]!==x||t[41]!==S||t[42]!==D||t[43]!==O?(k=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[x,S,D,O]}),t[40]=x,t[41]=S,t[42]=D,t[43]=O,t[44]=k):k=t[44];let A;t[45]!==r||t[46]!==s||t[47]!==n?(A=n.authStatus===`notLoggedIn`?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-sm`,variant:`outline`,disabled:r,onClick:()=>s(n),"aria-label":`Log in to ${n.name}`,children:(0,$.jsx)(Tc,{})})}),(0,$.jsx)(ne,{children:`Start OAuth login`})]}):null,t[45]=r,t[46]=s,t[47]=n,t[48]=A):A=t[48];let j;t[49]!==a||t[50]!==n?(j=()=>a(n),t[49]=a,t[50]=n,t[51]=j):j=t[51];let M;t[52]!==r||t[53]!==j?(M=(0,$.jsx)(J,{size:`sm`,variant:`outline`,onClick:j,disabled:r,children:`Edit`}),t[52]=r,t[53]=j,t[54]=M):M=t[54];let N;t[55]!==o||t[56]!==n?(N=()=>o(n),t[55]=o,t[56]=n,t[57]=N):N=t[57];let P=`Remove ${n.name}`,F;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(Oo,{}),t[58]=F):F=t[58];let I;t[59]!==r||t[60]!==N||t[61]!==P?(I=(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-sm`,variant:`destructive-outline`,disabled:r,onClick:N,"aria-label":P,children:F})}),t[59]=r,t[60]=N,t[61]=P,t[62]=I):I=t[62];let L;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,$.jsx)(ne,{children:`Remove server`}),t[63]=L):L=t[63];let ee;t[64]===I?ee=t[65]:(ee=(0,$.jsxs)(Ee,{children:[I,L]}),t[64]=I,t[65]=ee);let z;t[66]!==i||t[67]!==n?(z=e=>i(n,!!e),t[66]=i,t[67]=n,t[68]=z):z=t[68];let B=`Enable ${n.name}`,V;t[69]!==r||t[70]!==n.config.enabled||t[71]!==z||t[72]!==B?(V=(0,$.jsx)(Wi,{checked:n.config.enabled,disabled:r,onCheckedChange:z,"aria-label":B}),t[69]=r,t[70]=n.config.enabled,t[71]=z,t[72]=B,t[73]=V):V=t[73];let H;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>l(kb),t[74]=H):H=t[74];let U=`Toggle ${n.name} inventory`,W=c&&`rotate-180`,G;t[75]===W?G=t[76]:(G=R(`transition-transform`,W),t[75]=W,t[76]=G);let te;t[77]===G?te=t[78]:(te=(0,$.jsx)(rt,{className:G}),t[77]=G,t[78]=te);let re;t[79]!==U||t[80]!==te?(re=(0,$.jsx)(J,{size:`icon-sm`,variant:`ghost`,onClick:H,"aria-label":U,children:te}),t[79]=U,t[80]=te,t[81]=re):re=t[81];let ie;t[82]!==A||t[83]!==M||t[84]!==ee||t[85]!==V||t[86]!==re?(ie=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[A,M,ee,V,re]}),t[82]=A,t[83]=M,t[84]=ee,t[85]=V,t[86]=re,t[87]=ie):ie=t[87];let K;t[88]!==k||t[89]!==ie?(K=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 p-4 sm:flex-row sm:items-start sm:justify-between`,children:[k,ie]}),t[88]=k,t[89]=ie,t[90]=K):K=t[90];let ae;t[91]!==c||t[92]!==n?(ae=c?(0,$.jsx)(`div`,{className:`border-t bg-muted/20 p-4`,children:(0,$.jsx)(wb,{server:n})}):null,t[91]=c,t[92]=n,t[93]=ae):ae=t[93];let oe;return t[94]!==K||t[95]!==ae?(oe=(0,$.jsxs)(`article`,{className:`rounded-lg border bg-card text-card-foreground shadow-sm/4`,children:[K,ae]}),t[94]=K,t[95]=ae,t[96]=oe):oe=t[96],oe}function kb(e){return!e}function Ab(){let[e,t]=(0,Z.useState)(null),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(!0),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)(null),v=e?.workspaces??sb,y=e?.providers??cb,b=(0,Z.useMemo)(()=>v.find(e=>e.id===n)??null,[n,v]),x=(0,Z.useCallback)(async(e,t)=>{t?.quiet||l(!0),_(null);try{a(await lb().listServers({workspaceId:vn.make(e),detail:`full`}))}catch(e){_(e instanceof Error?e.message:`Failed to load MCP servers.`),ub(`Failed to load MCP servers`,e)}finally{l(!1)}},[]),S=(0,Z.useCallback)(async()=>{s(!0),_(null);try{let e=await lb().listWorkspaces();t(e);let i=e.workspaces.find(e=>e.id===n)?.id??e.workspaces[0]?.id??null;r(i),i?await x(i,{quiet:!0}):a(null)}catch(e){_(e instanceof Error?e.message:`Failed to load MCP workspaces.`),ub(`Failed to load MCP workspaces`,e)}finally{s(!1)}},[x,n]);(0,Z.useEffect)(()=>{S()},[S]);let C=async()=>{if(!n){await S();return}await x(n)},w=async()=>{if(n){l(!0);try{a(await lb().reloadServers({workspaceId:vn.make(n)})),Y.add(X({type:`success`,title:`MCP servers reloaded`}))}catch(e){ub(`Failed to reload MCP servers`,e)}finally{l(!1)}}},T=async e=>{n&&(a(await lb().upsertServer({workspaceId:vn.make(n),name:pt.make(e.name.trim()),config:eb(e)})),Y.add(X({type:`success`,title:`MCP server saved`})))},E=async(e,t)=>{if(n){d(e.name);try{a(await lb().setServerEnabled({workspaceId:vn.make(n),name:e.name,enabled:t}))}catch(e){ub(`Failed to update MCP server`,e)}finally{d(null)}}},D=async e=>{if(n&&await kt().dialogs.confirm(`Remove MCP server "${e.name}"?`)){d(e.name);try{a(await lb().removeServer({workspaceId:vn.make(n),name:e.name})),Y.add(X({type:`success`,title:`MCP server removed`}))}catch(e){ub(`Failed to remove MCP server`,e)}finally{d(null)}}},O=async e=>{if(n){d(e.name);try{let t=await lb().startOauthLogin({workspaceId:vn.make(n),serverName:e.name,scopes:e.config.oauthScopes});await kt().shell.openExternal(t.authorizationUrl),Y.add(X({type:`success`,title:`OAuth login opened`}))}catch(e){ub(`Failed to start OAuth login`,e)}finally{d(null)}}},k=()=>{h(null),p(!0)},A=e=>{h(e),p(!0)};return(0,$.jsxs)(`div`,{className:`flex-1 p-6 sm:p-8`,children:[(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-4xl flex-col gap-6`,children:[(0,$.jsxs)(`header`,{className:`flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground`,children:[(0,$.jsx)(Nc,{className:`size-3.5`}),`Provider MCP`]}),(0,$.jsx)(`h2`,{className:`mt-1 text-lg font-semibold tracking-[-0.01em]`,children:`MCP Servers`}),(0,$.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-relaxed text-muted-foreground/80`,children:`Manage Codex MCP servers and inspect how other provider instances currently expose MCP support.`})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(xb,{workspaces:v,selectedWorkspaceId:n,onChange:e=>{r(e),x(e)}}),(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon`,variant:`outline`,onClick:()=>void C(),disabled:o||c,"aria-label":`Refresh MCP servers`,children:(0,$.jsx)(_s,{className:R((o||c)&&`animate-spin`)})})}),(0,$.jsx)(ne,{children:`Refresh`})]}),(0,$.jsxs)(J,{variant:`outline`,disabled:!n||c,onClick:()=>void w(),children:[(0,$.jsx)(Ui,{}),`Reload`]}),(0,$.jsxs)(J,{disabled:!n,onClick:k,children:[(0,$.jsx)(ar,{}),`Add server`]})]})]}),(0,$.jsx)(Cb,{providers:y,selectedWorkspaceId:n,onSelectWorkspace:e=>{r(e),x(e)}}),b?(0,$.jsxs)(`div`,{className:`rounded-lg border bg-muted/20 px-4 py-3 text-xs text-muted-foreground`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-1`,children:[(0,$.jsx)(`span`,{className:`font-mono`,children:b.displayPath}),(0,$.jsx)(`span`,{children:b.mode===`authOverlay`?`Auth overlay`:`Direct home`}),(0,$.jsxs)(`span`,{children:[`Used by`,` `,b.providerInstances.map(e=>e.displayName??e.instanceId).join(`, `)]})]}),i?.configPath?(0,$.jsx)(`div`,{className:`mt-1 font-mono text-[11px] text-muted-foreground/70`,children:i.configPath}):null]}):null,e?.issues.length?(0,$.jsx)(`div`,{className:`space-y-2 rounded-lg border border-warning/30 bg-warning/6 p-3`,children:e.issues.map(e=>(0,$.jsxs)(`div`,{className:`flex gap-2 text-xs`,children:[(0,$.jsx)(fs,{className:`mt-0.5 size-3.5 text-warning-foreground`}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`font-medium`,children:e.instanceId}),`: `,e.message]})]},`${e.instanceId}:${e.message}`))}):null,g?(0,$.jsx)(`div`,{className:`rounded-lg border border-destructive/30 bg-destructive/6 p-3 text-sm text-destructive-foreground`,children:g}):null,o?(0,$.jsx)(`div`,{className:`flex min-h-48 items-center justify-center rounded-lg border border-dashed`,children:(0,$.jsx)(ka,{className:`size-5 animate-spin text-muted-foreground`})}):v.length===0?(0,$.jsxs)(`div`,{className:`rounded-lg border border-dashed p-8 text-center`,children:[(0,$.jsx)(Nc,{className:`mx-auto size-7 text-muted-foreground/60`}),(0,$.jsx)(`h3`,{className:`mt-3 text-sm font-semibold`,children:`No Codex workspaces`}),(0,$.jsx)(`p`,{className:`mx-auto mt-1 max-w-md text-sm text-muted-foreground/80`,children:`Add or enable a Codex provider instance before managing MCP servers.`})]}):i?.servers.length===0?(0,$.jsxs)(`div`,{className:`rounded-lg border border-dashed p-8 text-center`,children:[(0,$.jsx)(hr,{className:`mx-auto size-7 text-muted-foreground/60`}),(0,$.jsx)(`h3`,{className:`mt-3 text-sm font-semibold`,children:`No MCP servers configured`}),(0,$.jsx)(`p`,{className:`mx-auto mt-1 max-w-md text-sm text-muted-foreground/80`,children:`Add a stdio or HTTP server to make its tools available to Codex sessions.`}),(0,$.jsxs)(J,{className:`mt-4`,onClick:k,children:[(0,$.jsx)(ar,{}),`Add server`]})]}):(0,$.jsx)(`div`,{className:`grid gap-3`,children:i?.servers.map(e=>(0,$.jsx)(Ob,{server:e,mutating:u===e.name,onToggleEnabled:(e,t)=>void E(e,t),onEdit:A,onRemove:e=>void D(e),onOauthLogin:e=>void O(e)},e.name))})]}),(0,$.jsx)(bb,{open:f,server:m,onOpenChange:p,onSubmit:T})]})}function jb(e){return`${e.pluginId}:${e.targetKind}:${e.providerInstanceId??`global`}`}function Mb(e){switch(e.state){case`installed`:return`Installed`;case`not-installed`:return`Not installed`;case`unsupported`:return`Unsupported`;case`error`:return`Error`}}function Nb(e){switch(e.state){case`installed`:return`success`;case`not-installed`:return`outline`;case`unsupported`:return`warning`;case`error`:return`error`}}function Pb(e){switch(e.state){case`installed`:return(0,$.jsx)(hr,{className:`size-3.5 text-success-foreground`});case`not-installed`:return(0,$.jsx)(Oi,{className:`size-3.5 text-muted-foreground`});case`unsupported`:case`error`:return(0,$.jsx)(gs,{className:`size-3.5 text-warning-foreground`})}}function Fb(e){return e.targetKind===`global`?`System`:e.providerDisplayName??String(e.providerInstanceId??`Provider`)}function Ib(e){return e.impact===`tool-output`?`Tool output`:`Assistant output`}function Lb(e){return e.scope===`global`?`Global`:`Provider`}var Rb={off:`Off`,balanced:`Balanced`,aggressive:`Aggressive`},zb={off:`No Ryco token-efficiency instructions are added.`,balanced:`Concise responses and targeted reads while preserving important detail.`,aggressive:`Shortest practical responses and strongest pressure to avoid large output copies.`},Bb=Object.keys(Rb);function Vb(e){switch(e){case`rtk`:return 0;case`caveman`:return 1;case`token-optimizer`:return 2;case`token-savior`:return 3;case`lean-ctx`:return 4}}function Hb(e){return`${e.targetKind===`global`?`0`:`1`}:${Fb(e).toLowerCase()}`}function Ub(e){let t=(0,Q.c)(36),{status:n,isInstalling:r,onInstall:i}=e,a=n.canInstall&&n.state!==`installed`,o;t[0]===n?o=t[1]:(o=Pb(n),t[0]=n,t[1]=o);let s;t[2]===n?s=t[3]:(s=Fb(n),t[2]=n,t[3]=s);let c;t[4]===s?c=t[5]:(c=(0,$.jsx)(`span`,{className:`truncate text-[13px] font-medium text-foreground`,children:s}),t[4]=s,t[5]=c);let l;t[6]===n?l=t[7]:(l=Nb(n),t[6]=n,t[7]=l);let u;t[8]===n?u=t[9]:(u=Mb(n),t[8]=n,t[9]=u);let d;t[10]!==l||t[11]!==u?(d=(0,$.jsx)(cs,{variant:l,size:`sm`,children:u}),t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n.version?f=t[14]:(f=n.version?(0,$.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground/70`,children:n.version}):null,t[13]=n.version,t[14]=f);let p;t[15]!==o||t[16]!==c||t[17]!==d||t[18]!==f?(p=(0,$.jsxs)(`div`,{className:`flex min-h-5 flex-wrap items-center gap-2`,children:[o,c,d,f]}),t[15]=o,t[16]=c,t[17]=d,t[18]=f,t[19]=p):p=t[19];let m;t[20]===n.detail?m=t[21]:(m=n.detail?(0,$.jsx)(`p`,{className:`max-w-2xl text-xs leading-relaxed text-muted-foreground/80`,children:n.detail}):null,t[20]=n.detail,t[21]=m);let h;t[22]===n.manualSteps?h=t[23]:(h=n.manualSteps.length>0?(0,$.jsx)(`div`,{className:`space-y-1 pt-1`,children:n.manualSteps.map(Wb)}):null,t[22]=n.manualSteps,t[23]=h);let g;t[24]!==h||t[25]!==p||t[26]!==m?(g=(0,$.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[p,m,h]}),t[24]=h,t[25]=p,t[26]=m,t[27]=g):g=t[27];let _;t[28]!==a||t[29]!==r||t[30]!==i||t[31]!==n?(_=a?(0,$.jsxs)(J,{size:`xs`,variant:`outline`,disabled:r,className:`self-start sm:self-auto`,onClick:()=>i(n),children:[r?(0,$.jsx)(ka,{className:`size-3.5 animate-spin`}):(0,$.jsx)(gc,{className:`size-3.5`}),`Install`]}):null,t[28]=a,t[29]=r,t[30]=i,t[31]=n,t[32]=_):_=t[32];let v;return t[33]!==g||t[34]!==_?(v=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 border-t border-border/50 px-4 py-3 first:border-t-0 sm:flex-row sm:items-center sm:justify-between sm:px-5`,children:[g,_]}),t[33]=g,t[34]=_,t[35]=v):v=t[35],v}function Wb(e){return(0,$.jsx)(`p`,{className:`font-mono text-[11px] leading-relaxed text-muted-foreground`,children:e},e)}function Gb(){let e=Bt(),{updateSettings:t}=Qt(),[n,r]=(0,Z.useState)([]),[i,a]=(0,Z.useState)([]),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(null),u=(0,Z.useRef)(!1),d=(0,Z.useCallback)(()=>{if(u.current)return;u.current=!0,s(!0);let e=kt();Promise.all([e.server.listOpinionatedPlugins(),e.server.checkOpinionatedPlugins()]).then(([e,t])=>{r(e.plugins.toSorted((e,t)=>Vb(e.id)-Vb(t.id))),a(t.statuses)}).catch(e=>{Y.add(X({type:`error`,title:`Failed to load plugins`,description:e instanceof Error?e.message:`An error occurred.`}))}).finally(()=>{u.current=!1,s(!1)})},[]);(0,Z.useEffect)(()=>{d()},[d]);let f=(0,Z.useMemo)(()=>{let e=new Map;for(let t of i){let n=e.get(t.pluginId)??[];n.push(t),e.set(t.pluginId,n)}let t=new Map;for(let[n,r]of e)t.set(n,r.toSorted((e,t)=>Hb(e).localeCompare(Hb(t))));return t},[i]),p=e=>{let t=e.docsUrl??e.homepageUrl;kt().shell.openExternal(t).catch(e=>{Y.add(X({type:`error`,title:`Failed to open plugin docs`,description:e instanceof Error?e.message:`An error occurred.`}))})},m=e=>{let t=kt(),n=Fb(e);t.dialogs.confirm(`Install ${e.pluginId===`rtk`?`RTK`:`Caveman`} for ${n}?\n\nThis may run networked CLI installation commands on this machine.`).then(r=>{if(!r)return;let i=jb(e);return l(i),t.server.installOpinionatedPlugin({pluginId:e.pluginId,...e.providerInstanceId?{providerInstanceId:e.providerInstanceId}:{}}).then(t=>{a(e=>[...e.filter(e=>jb(e)!==i),t.status]),Y.add({type:`success`,title:`${e.pluginId===`rtk`?`RTK`:`Caveman`} installed`,description:t.commands.length>0?t.commands[t.commands.length-1]:n}),d()}).catch(e=>{Y.add(X({type:`error`,title:`Plugin install failed`,description:e instanceof Error?e.message:`An error occurred.`}))}).finally(()=>l(null))}).catch(e=>{Y.add(X({type:`error`,title:`Install confirmation failed`,description:e instanceof Error?e.message:`An error occurred.`}))})};return(0,$.jsxs)(C_,{children:[(0,$.jsx)(b_,{title:`Token mode`,children:(0,$.jsx)(x_,{title:`Default token mode`,description:`Applied to new threads and draft sessions. Existing threads keep their own mode.`,control:(0,$.jsxs)(ko,{value:e.defaultAgentTokenMode??`balanced`,onValueChange:e=>t({defaultAgentTokenMode:e}),children:[(0,$.jsx)(bo,{className:`w-full sm:w-44`,"aria-label":`Default token mode`,children:(0,$.jsx)(gi,{children:Rb[e.defaultAgentTokenMode??`balanced`]})}),(0,$.jsx)(Xn,{align:`end`,alignItemWithTrigger:!1,children:Bb.map(e=>(0,$.jsx)(di,{hideIndicator:!0,value:e,children:(0,$.jsxs)(`div`,{className:`grid min-w-0 gap-0.5`,children:[(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:Rb[e]}),(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs leading-4`,children:zb[e]})]})},e))})]})})}),(0,$.jsxs)(b_,{title:`Opinionated plugins`,headerAction:(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,disabled:o,onClick:()=>d(),"aria-label":`Refresh plugin status`,children:o?(0,$.jsx)(ka,{className:`size-3 animate-spin`}):(0,$.jsx)(_s,{className:`size-3`})})}),(0,$.jsx)(ne,{side:`top`,children:`Refresh plugin status`})]}),children:[n.length===0&&o?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-4 text-xs text-muted-foreground`,children:[(0,$.jsx)(ka,{className:`size-3.5 animate-spin`}),`Loading plugin status`]}):null,n.map(e=>{let t=f.get(e.id)??[],n=t.filter(e=>e.state===`installed`).length;return(0,$.jsx)(x_,{title:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.name}),(0,$.jsx)(cs,{variant:n>0?`success`:`outline`,size:`sm`,children:n>0?`${n} installed`:`Available`})]}),description:e.summary,status:(0,$.jsxs)(`span`,{className:`flex flex-wrap gap-1.5`,children:[(0,$.jsx)(cs,{variant:`info`,size:`sm`,children:Ib(e)}),(0,$.jsx)(cs,{variant:`outline`,size:`sm`,children:Lb(e)})]}),control:(0,$.jsxs)(J,{size:`xs`,variant:`ghost`,onClick:()=>p(e),children:[(0,$.jsx)(ai,{className:`size-3.5`}),`Docs`]}),children:(0,$.jsx)(`div`,{className:R(`mt-4 border-t border-border/60`,t.length===0?`px-5 py-4`:``),children:t.length===0?(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground/80`,children:`No compatible provider instances detected.`}):t.map(e=>(0,$.jsx)(Ub,{status:e,isInstalling:c===jb(e),onInstall:m},jb(e)))})},e.id)})]})]})}function Kb(e,t){let n=(0,Q.c)(12),[r,i]=(0,Z.useState)(e),a=(0,Z.useRef)(!1),o,s;n[0]===e?(o=n[1],s=n[2]):(o=()=>{a.current||i(e)},s=[e],n[0]=e,n[1]=o,n[2]=s),(0,Z.useEffect)(o,s);let c,l;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=e=>{i(e.target.value)},l=()=>{a.current=!0},n[3]=c,n[4]=l):(c=n[3],l=n[4]);let u;n[5]!==r||n[6]!==t||n[7]!==e?(u=()=>{a.current=!1,r!==e&&t(r)},n[5]=r,n[6]=t,n[7]=e,n[8]=u):u=n[8];let d;return n[9]!==r||n[10]!==u?(d={value:r,onChange:c,onFocus:l,onBlur:u,onKeyDown:qb},n[9]=r,n[10]=u,n[11]=d):d=n[11],d}function qb(e){e.key===`Enter`&&(e.preventDefault(),e.target.blur())}function Jb(e){let t=(0,Q.c)(7),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({value:i,onCommit:n,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=Kb(i,n),o;return t[4]!==a||t[5]!==r?(o=(0,$.jsx)(tr,{...r,...a}),t[4]=a,t[5]=r,t[6]=o):o=t[6],o}function Yb(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[-_]+/g,` `).replace(/^./,e=>e.toUpperCase())}function Xb(e){return as(e)??es(e)}function Zb(e,t){let n=Xb(e)?.[t];return typeof n==`string`?n:void 0}function Qb(e){return Xb(e)?.providerSettingsForm??{}}function $b(e){return es(e.settingsSchema)?.providerSettingsFormSchema??{}}function ex(e){try{let t=Fo(e)(void 0);return typeof t==`boolean`?t:void 0}catch{return}}function tx(e){let t=$b(e),n=new Map((t.order??[]).map((e,t)=>[e,t])),r=n.size;return Object.keys(e.settingsSchema.fields).map((e,t)=>({key:e,index:t})).toSorted((e,t)=>(n.get(e.key)??r+e.index)-(n.get(t.key)??r+t.index)).flatMap(({key:t})=>{let n=e.settingsSchema.fields[t],r=Qb(n);if(r.hidden)return[];let i=Zb(n,`title`),a=Zb(n,`description`);return[{key:t,control:r.control??`text`,label:i??Yb(t),...a===void 0?{}:{description:a},...r.placeholder===void 0?{}:{placeholder:r.placeholder},clearWhenEmpty:r.clearWhenEmpty??`omit`,...r.control===`switch`?{defaultBooleanValue:ex(n)}:{}}]})}function nx(e,t){if(typeof e!=`object`||!e)return``;let n=e[t];return typeof n==`string`?n:``}function rx(e,t,n=!1){if(typeof e!=`object`||!e)return n;let r=e[t];return typeof r==`boolean`?r:n}function ix(e,t,n){let r=typeof e==`object`&&e?{...e}:{};if(typeof n==`boolean`){let e=t.defaultBooleanValue??!1;return t.clearWhenEmpty===`omit`&&n===e?delete r[t.key]:r[t.key]=n,Object.keys(r).length>0?r:void 0}let i=n.trim();return t.clearWhenEmpty===`omit`&&i.length===0?delete r[t.key]:r[t.key]=n,Object.keys(r).length>0?r:void 0}function ax(e){let t=(0,Q.c)(4);if(e.variant===`card`){let n;return t[0]===e.children?n=t[1]:(n=(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:e.children}),t[0]=e.children,t[1]=n),n}let n;return t[2]===e.children?n=t[3]:(n=(0,$.jsx)(`div`,{className:`grid gap-1.5`,children:e.children}),t[2]=e.children,t[3]=n),n}function ox(e){let t=(0,Q.c)(70),{field:n,value:r,idPrefix:i,variant:a,onChange:o}=e,s=`${i}-${n.key}`,c=a===`card`?`mt-1 block text-xs text-muted-foreground`:`text-[11px] text-muted-foreground`,l;t[0]===n.label?l=t[1]:(l=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:n.label}),t[0]=n.label,t[1]=l);let u=l,d;t[2]!==c||t[3]!==n.description?(d=n.description?(0,$.jsx)(`span`,{className:c,children:n.description}):null,t[2]=c,t[3]=n.description,t[4]=d):d=t[4];let f=d;if(n.control===`switch`){let e;t[5]!==f||t[6]!==u?(e=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[u,f]}),t[5]=f,t[6]=u,t[7]=e):e=t[7];let i;t[8]!==n.defaultBooleanValue||t[9]!==n.key||t[10]!==r?(i=rx(r,n.key,n.defaultBooleanValue),t[8]=n.defaultBooleanValue,t[9]=n.key,t[10]=r,t[11]=i):i=t[11];let s;t[12]!==n||t[13]!==o||t[14]!==r?(s=e=>o(ix(r,n,!!e)),t[12]=n,t[13]=o,t[14]=r,t[15]=s):s=t[15];let c;t[16]!==n.label||t[17]!==i||t[18]!==s?(c=(0,$.jsx)(Wi,{checked:i,onCheckedChange:s,"aria-label":n.label}),t[16]=n.label,t[17]=i,t[18]=s,t[19]=c):c=t[19];let l;t[20]!==e||t[21]!==c?(l=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[e,c]}),t[20]=e,t[21]=c,t[22]=l):l=t[22];let d;return t[23]!==l||t[24]!==a?(d=(0,$.jsx)(ax,{variant:a,children:l}),t[23]=l,t[24]=a,t[25]=d):d=t[25],d}if(n.control===`textarea`){let e=a===`card`&&`block`,i;t[26]===e?i=t[27]:(i=R(e),t[26]=e,t[27]=i);let c=a===`card`&&`mt-1.5`,l;t[28]===c?l=t[29]:(l=R(c),t[28]=c,t[29]=l);let d;t[30]!==n.key||t[31]!==r?(d=nx(r,n.key),t[30]=n.key,t[31]=r,t[32]=d):d=t[32];let p;t[33]!==n||t[34]!==o||t[35]!==r?(p=e=>o(ix(r,n,e.target.value)),t[33]=n,t[34]=o,t[35]=r,t[36]=p):p=t[36];let m;t[37]!==n.placeholder||t[38]!==s||t[39]!==l||t[40]!==d||t[41]!==p?(m=(0,$.jsx)(or,{id:s,className:l,value:d,onChange:p,placeholder:n.placeholder,spellCheck:!1}),t[37]=n.placeholder,t[38]=s,t[39]=l,t[40]=d,t[41]=p,t[42]=m):m=t[42];let h;t[43]!==f||t[44]!==s||t[45]!==u||t[46]!==i||t[47]!==m?(h=(0,$.jsxs)(`label`,{htmlFor:s,className:i,children:[u,m,f]}),t[43]=f,t[44]=s,t[45]=u,t[46]=i,t[47]=m,t[48]=h):h=t[48];let g;return t[49]!==h||t[50]!==a?(g=(0,$.jsx)(ax,{variant:a,children:h}),t[49]=h,t[50]=a,t[51]=g):g=t[51],g}let p=n.control===`password`?`password`:void 0,m=a===`card`&&`block`,h;t[52]===m?h=t[53]:(h=R(m),t[52]=m,t[53]=h);let g;t[54]!==n||t[55]!==s||t[56]!==o||t[57]!==p||t[58]!==r||t[59]!==a?(g=a===`card`?(0,$.jsx)(Jb,{id:s,className:`mt-1.5`,type:p,autoComplete:n.control===`password`?`off`:void 0,value:nx(r,n.key),onCommit:e=>o(ix(r,n,e)),placeholder:n.placeholder,spellCheck:!1}):(0,$.jsx)(tr,{id:s,className:`bg-background`,type:p,autoComplete:n.control===`password`?`off`:void 0,value:nx(r,n.key),onChange:e=>o(ix(r,n,e.target.value)),placeholder:n.placeholder,spellCheck:!1}),t[54]=n,t[55]=s,t[56]=o,t[57]=p,t[58]=r,t[59]=a,t[60]=g):g=t[60];let _;t[61]!==f||t[62]!==s||t[63]!==u||t[64]!==h||t[65]!==g?(_=(0,$.jsxs)(`label`,{htmlFor:s,className:h,children:[u,g,f]}),t[61]=f,t[62]=s,t[63]=u,t[64]=h,t[65]=g,t[66]=_):_=t[66];let v;return t[67]!==_||t[68]!==a?(v=(0,$.jsx)(ax,{variant:a,children:_}),t[67]=_,t[68]=a,t[69]=v):v=t[69],v}function sx({definition:e,value:t,idPrefix:n,variant:r,onChange:i}){let a=(0,Z.useMemo)(()=>tx(e),[e]);return a.length===0?null:(0,$.jsx)($.Fragment,{children:a.map(e=>(0,$.jsx)(ox,{field:e,value:t,idPrefix:n,variant:r,onChange:i},e.key))})}var cx=[`#2563eb`,`#16a34a`,`#ea580c`,`#dc2626`,`#7c3aed`,`#0891b2`];function lx(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``).slice(0,48)}function ux(e,t){let n=lx(t);return n?`${e}_${n}`:``}var dx=/^[a-zA-Z][a-zA-Z0-9_-]*$/,fx=M.make(`codex`),px=ib[0],mx={},hx=[{value:M.make(`gemini`),label:`Gemini`,icon:za},{value:M.make(`acpRegistry`),label:`ACP Registry`,icon:Li},{value:M.make(`piAgent`),label:`Pi Agent`,icon:aa}];function gx(e,t){return e.length===0?`Instance ID is required.`:e.length>64?`Instance ID must be 64 characters or fewer.`:dx.test(e)?t.has(e)?`An instance named '${e}' already exists.`:null:`Instance ID must start with a letter and use only letters, digits, '-', or '_'.`}function _x({open:e,onOpenChange:t}){let n=Bt(),{updateSettings:r}=Qt(),[i,a]=(0,Z.useState)(0),[o,s]=(0,Z.useState)(fx),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)({}),[v,y]=(0,Z.useState)(!1),b=(0,Z.useMemo)(()=>new Set(Object.keys(n.providerInstances??{})),[n.providerInstances]);(0,Z.useEffect)(()=>{e&&(s(fx),l(``),d(``),p(``),a(0),h(!1),_({}),y(!1))},[e]),(0,Z.useEffect)(()=>{m||p(ux(o,c))},[o,c,m]);let x=ab[o]??px,S=(0,Z.useMemo)(()=>tx(x),[x]),C=gx(f,b),w=v&&C!==null,T=c.trim()||`${x.label} Workspace`,E=[`Driver`,`Identity`,`Config`],D=[x.label,T,null],O=g[o]??mx,k=(0,Z.useCallback)(e=>{_(t=>{let n={...t};return e===void 0||Object.keys(e).length===0?delete n[o]:n[o]=e,n})},[o]),A=(0,Z.useCallback)(()=>{if(y(!0),C!==null)return;let e=g[o]??{},i=Object.keys(e).length>0,a=ee(u),s={driver:o,enabled:!0,...c.trim().length>0?{displayName:c.trim()}:{},...a?{accentColor:a}:{},...i?{config:e}:{}},l=Ke.make(f),d={...n.providerInstances,[l]:s};try{r({providerInstances:d}),Y.add({type:`success`,title:`Provider instance added`,description:`${x.label} instance '${f}' was added.`}),t(!1)}catch(e){Y.add({type:`error`,title:`Could not add provider instance`,description:e instanceof Error?e.message:`Update failed.`})}},[o,x,g,f,C,c,u,t,n.providerInstances,r]);return(0,$.jsx)(Zr,{open:e,onOpenChange:t,children:(0,$.jsx)(Kn,{className:`max-w-xl overflow-hidden`,children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden border-foreground/10 bg-background shadow-2xl`,children:[(0,$.jsxs)(oi,{className:`border-b border-border/70 bg-background`,children:[(0,$.jsx)(Ti,{children:`Add provider instance`}),(0,$.jsx)(wr,{children:`Configure an additional provider instance — for example, a second Codex install pointed at a different workspace.`}),(0,$.jsx)(`div`,{className:`grid grid-cols-3 gap-2`,children:E.map((e,t)=>(0,$.jsxs)(`button`,{type:`button`,className:R(`grid min-w-0 grid-cols-[1rem_minmax(0,1fr)] gap-x-2 rounded-lg border px-3 py-2 text-left`,t===i?`border-primary bg-primary/10 ring-1 ring-primary/25`:t<i?`border-border bg-background`:`border-border bg-muted/40`),onClick:()=>a(t),children:[(0,$.jsx)(`span`,{className:R(`row-span-2 mt-0.5 grid size-4 place-items-center rounded-full border`,t<i?`border-primary bg-primary text-primary-foreground`:t===i?`border-primary bg-background`:`border-muted-foreground/35 bg-background`),"aria-hidden":!0,children:t<i?(0,$.jsx)(jr,{className:`size-3`}):null}),(0,$.jsxs)(`span`,{className:`text-[10px] font-medium uppercase text-muted-foreground`,children:[`Step `,t+1]}),(0,$.jsxs)(`span`,{className:`truncate text-xs font-semibold text-foreground`,children:[e,t<i&&D[t]?`: ${D[t]}`:``]})]},e))})]}),(0,$.jsx)(`div`,{"data-slot":`dialog-panel`,className:`space-y-4 border-b border-border/70 bg-muted/20 px-6 py-5`,children:(0,$.jsxs)(vr,{children:[(0,$.jsxs)(`div`,{className:R(`grid gap-2`,i!==0&&`hidden`),children:[(0,$.jsx)(`span`,{id:`add-instance-driver-label`,className:`text-xs font-medium text-foreground`,children:`Driver`}),(0,$.jsxs)(Yr,{value:o,onValueChange:e=>s(M.make(e)),"aria-labelledby":`add-instance-driver-label`,className:`grid grid-cols-2 gap-2.5`,children:[ib.map(e=>{let t=e.icon,n=e.value===o;return(0,$.jsxs)(lr,{value:e.value,className:R(`relative flex cursor-pointer items-center gap-3 rounded-lg border px-3 py-3 text-left outline-none transition-[background-color,border-color,box-shadow]`,`focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background`,n?`border-primary bg-background shadow-sm ring-2 ring-primary/35`:`border-border bg-background hover:border-foreground/20 hover:bg-muted/50`),children:[(0,$.jsx)(t,{className:`size-5 shrink-0`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-foreground`,children:e.label}),e.badgeLabel?(0,$.jsx)(cs,{variant:`warning`,size:`sm`,children:e.badgeLabel}):null]},e.value)}),hx.map(e=>{let t=e.icon;return(0,$.jsxs)(lr,{value:e.value,disabled:!0,className:R(`relative flex cursor-not-allowed items-center gap-3 rounded-lg border border-border bg-background px-3 py-3 text-left opacity-55 outline-none`),children:[(0,$.jsx)(t,{className:`size-5 shrink-0 text-muted-foreground`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-foreground`,children:e.label}),(0,$.jsx)(cs,{variant:`warning`,size:`sm`,children:`Coming Soon`})]},e.value)})]})]}),(0,$.jsxs)(`label`,{className:R(`grid gap-2`,i!==1&&`hidden`),children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Label`}),(0,$.jsx)(tr,{className:`bg-background`,placeholder:`e.g. Work`,value:c,onChange:e=>l(e.target.value)}),(0,$.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Shown in the provider list. Optional.`})]}),(0,$.jsxs)(`label`,{className:R(`grid gap-2`,i!==1&&`hidden`),children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Instance ID`}),(0,$.jsx)(tr,{className:`bg-background`,placeholder:`${o}_work`,value:f,onChange:e=>{h(!0),p(e.target.value)},"aria-invalid":w}),w?(0,$.jsx)(`span`,{className:`text-[11px] text-destructive`,children:C}):(0,$.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Routing key used by threads and sessions. Letters, digits, '-', or '_'.`})]}),(0,$.jsxs)(`div`,{className:R(`grid gap-2`,i!==1&&`hidden`),children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Accent color`}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,$.jsx)(`input`,{type:`color`,value:ee(u)??cx[0],onChange:e=>d(e.target.value),"aria-label":`Provider instance accent color`,className:`h-8 w-10 cursor-pointer rounded-xl border border-input bg-background p-0.5`}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:cx.map(e=>(0,$.jsx)(`button`,{type:`button`,className:R(`size-6 cursor-pointer rounded-full border transition`,u.toLowerCase()===e?`scale-110 border-foreground ring-2 ring-ring ring-offset-1 ring-offset-background`:`border-black/10 hover:scale-105 dark:border-white/20`),style:{backgroundColor:e},onClick:()=>d(e),"aria-label":`Use ${e} accent`},e))}),u?(0,$.jsx)(J,{type:`button`,size:`sm`,variant:`ghost`,className:`h-7 px-2 text-xs text-muted-foreground`,onClick:()=>d(``),children:`Clear`}):null]}),(0,$.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Optional marker shown in the picker.`})]}),S.length>0?(0,$.jsx)(`div`,{className:R(`grid gap-4`,i!==2&&`hidden`),children:(0,$.jsx)(sx,{definition:x,value:O,idPrefix:`add-provider-${o}`,variant:`dialog`,onChange:k})}):i===2?(0,$.jsx)(`div`,{className:`grid gap-2`,children:(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This driver has no required configuration. You can add the instance now.`})}):null]})}),(0,$.jsxs)(Ir,{className:`border-t bg-background`,children:[(0,$.jsx)(J,{variant:`outline`,size:`sm`,onClick:()=>{if(i===0){t(!1);return}a(e=>Math.max(0,e-1))},children:i===0?`Cancel`:`Back`}),i<E.length-1?(0,$.jsx)(J,{size:`sm`,onClick:()=>a(e=>Math.min(2,e+1)),children:`Next`}):(0,$.jsx)(J,{size:`sm`,onClick:A,children:`Add instance`})]})]})})})}function vx(e){let{open:t,defaultOpen:n,onOpenChange:r,disabled:i}=e,a=t!==void 0,[o,s]=bt({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:c,setMounted:l,transitionStatus:u}=te(o,!0,!0),[d,f]=Z.useState(o),[{height:p,width:m},h]=Z.useState({height:void 0,width:void 0}),g=We(),[_,v]=Z.useState(),y=_??g,[b,x]=Z.useState(!1),[S,C]=Z.useState(!1),w=Z.useRef(null),T=Z.useRef(null),E=Z.useRef(null),D=Z.useRef(null),O=Te(D,!1),k=rn(e=>{let t=!o,n=Cn(at,e.nativeEvent);if(r(t,n),n.isCanceled)return;let i=D.current;T.current===`css-animation`&&i!=null&&i.style.removeProperty(`animation-name`),!b&&!S&&(T.current!=null&&T.current!==`css-animation`&&!c&&t&&l(!0),T.current===`css-animation`&&(!d&&t&&f(!0),!c&&t&&l(!0))),s(t),T.current===`none`&&c&&!t&&l(!1)});return Xe(()=>{a&&T.current===`none`&&!S&&!o&&l(!1)},[a,S,o,t,l]),Z.useMemo(()=>({abortControllerRef:w,animationTypeRef:T,disabled:i,handleTrigger:k,height:p,mounted:c,open:o,panelId:y,panelRef:D,runOnceAnimationsFinish:O,setDimensions:h,setHiddenUntilFound:x,setKeepMounted:C,setMounted:l,setOpen:s,setPanelIdState:v,setVisible:f,transitionDimensionRef:E,transitionStatus:u,visible:d,width:m}),[w,T,i,k,p,c,o,y,D,O,h,x,C,l,s,f,E,u,d,m])}var yx=Z.createContext(void 0);function bx(){let e=Z.useContext(yx);if(e===void 0)throw Error($e(15));return e}var xx=function(e){return e.open=`data-open`,e.closed=`data-closed`,e[e.startingStyle=P.startingStyle]=`startingStyle`,e[e.endingStyle=P.endingStyle]=`endingStyle`,e}({}),Sx={[xx.open]:``},Cx={[xx.closed]:``},wx={open(e){return e?Sx:Cx},...pn},Tx=Z.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:o,open:s,...c}=e,l=rn(o),u=vx({open:s,defaultOpen:i,onOpenChange:l,disabled:a}),d=Z.useMemo(()=>({open:u.open,disabled:u.disabled,transitionStatus:u.transitionStatus}),[u.open,u.disabled,u.transitionStatus]),f=Z.useMemo(()=>({...u,onOpenChange:l,state:d}),[u,l,d]),p=je(`div`,e,{state:d,ref:t,props:c,stateAttributesMapping:wx});return(0,$.jsx)(yx.Provider,{value:f,children:p})}),Ex=function(e){return e.disabled=`data-disabled`,e.orientation=`data-orientation`,e}({});function Dx(e){let{abortControllerRef:t,animationTypeRef:n,externalRef:r,height:i,hiddenUntilFound:a,keepMounted:o,id:s,mounted:c,onOpenChange:l,open:u,panelRef:d,runOnceAnimationsFinish:f,setDimensions:p,setMounted:m,setOpen:h,setVisible:g,transitionDimensionRef:_,visible:v,width:y}=e,b=Z.useRef(!1),x=Z.useRef(null),S=Z.useRef(u),C=Z.useRef(u),w=pe(),T=Z.useMemo(()=>n.current===`css-animation`?!v:!u&&!c,[u,c,v,n]),E=Xt(r,d,rn(e=>{if(!e)return;if(n.current==null||_.current==null){let t=getComputedStyle(e),r=t.animationName!==`none`&&t.animationName!==``,i=t.transitionDuration!==`0s`&&t.transitionDuration!==``;r&&i||(t.animationName===`none`&&t.transitionDuration!==`0s`?n.current=`css-transition`:t.animationName!==`none`&&t.transitionDuration===`0s`?n.current=`css-animation`:n.current=`none`),e.getAttribute(Ex.orientation)===`horizontal`||t.transitionProperty.indexOf(`width`)>-1?_.current=`width`:_.current=`height`}if(n.current!==`css-transition`)return;(i===void 0||y===void 0)&&(p({height:e.scrollHeight,width:e.scrollWidth}),C.current&&e.style.setProperty(`transition-duration`,`0s`));let t=-1,r=-1;return t=q.request(()=>{C.current=!1,r=q.request(()=>{setTimeout(()=>{e.style.removeProperty(`transition-duration`)})})}),()=>{q.cancel(t),q.cancel(r)}}));return Xe(()=>{if(n.current!==`css-transition`)return;let e=d.current;if(!e)return;let r=-1;if(t.current!=null&&(t.current.abort(),t.current=null),u){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach(t=>{e.style.setProperty(t,`initial`,`important`)}),!C.current&&!o&&e.setAttribute(xx.startingStyle,``),p({height:e.scrollHeight,width:e.scrollWidth}),r=q.request(()=>{Object.entries(t).forEach(([t,n])=>{n===``?e.style.removeProperty(t):e.style.setProperty(t,n)})})}else{if(e.scrollHeight===0&&e.scrollWidth===0)return;p({height:e.scrollHeight,width:e.scrollWidth});let n=new AbortController;t.current=n;let r=n.signal,i=null,a=xx.endingStyle;return i=new MutationObserver(o=>{o.some(e=>e.type===`attributes`&&e.attributeName===a)&&(i?.disconnect(),i=null,f(()=>{p({height:0,width:0}),e.style.removeProperty(`content-visibility`),m(!1),t.current===n&&(t.current=null)},r))}),i.observe(e,{attributes:!0,attributeFilter:[a]}),()=>{i?.disconnect(),w.cancel(),t.current===n&&(n.abort(),t.current=null)}}return()=>{q.cancel(r)}},[t,n,w,a,o,c,u,d,f,p,m]),Xe(()=>{if(n.current!==`css-animation`)return;let e=d.current;e&&(x.current=e.style.animationName||x.current,e.style.setProperty(`animation-name`,`none`),p({height:e.scrollHeight,width:e.scrollWidth}),!S.current&&!b.current&&e.style.removeProperty(`animation-name`),u?(t.current!=null&&(t.current.abort(),t.current=null),m(!0),g(!0)):(t.current=new AbortController,f(()=>{m(!1),g(!1),t.current=null},t.current.signal)))},[t,n,u,d,f,p,m,g,v]),Me(()=>{let e=q.request(()=>{S.current=!1});return()=>q.cancel(e)}),Xe(()=>{if(!a)return;let e=d.current;if(!e)return;let t=-1,n=-1;return u&&b.current&&(e.style.transitionDuration=`0s`,p({height:e.scrollHeight,width:e.scrollWidth}),t=q.request(()=>{b.current=!1,n=q.request(()=>{setTimeout(()=>{e.style.removeProperty(`transition-duration`)})})})),()=>{q.cancel(t),q.cancel(n)}},[a,u,d,p]),Xe(()=>{let e=d.current;e&&a&&T&&(e.setAttribute(`hidden`,`until-found`),n.current===`css-transition`&&e.setAttribute(xx.startingStyle,``))},[a,T,n,d]),Z.useEffect(function(){let e=d.current;if(!e)return;function t(e){b.current=!0,h(!0),l(!0,Cn(qt,e))}return e.addEventListener(`beforematch`,t),()=>{e.removeEventListener(`beforematch`,t)}},[l,d,h]),Z.useMemo(()=>({props:{hidden:T,id:s,ref:E}}),[T,s,E])}var Ox=function(e){return e.collapsiblePanelHeight=`--collapsible-panel-height`,e.collapsiblePanelWidth=`--collapsible-panel-width`,e}({}),kx=Z.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:o,...s}=e,{abortControllerRef:c,animationTypeRef:l,height:u,mounted:d,onOpenChange:f,open:p,panelId:m,panelRef:h,runOnceAnimationsFinish:g,setDimensions:_,setHiddenUntilFound:v,setKeepMounted:y,setMounted:b,setPanelIdState:x,setOpen:S,setVisible:C,state:w,transitionDimensionRef:T,visible:E,width:D,transitionStatus:O}=bx(),k=r??!1,A=i??!1;Xe(()=>{if(o)return x(o),()=>{x(void 0)}},[o,x]),Xe(()=>{v(k)},[v,k]),Xe(()=>{y(A)},[y,A]);let{props:j}=Dx({abortControllerRef:c,animationTypeRef:l,externalRef:t,height:u,hiddenUntilFound:k,id:m,keepMounted:A,mounted:d,onOpenChange:f,open:p,panelRef:h,runOnceAnimationsFinish:g,setDimensions:_,setMounted:b,setOpen:S,setVisible:C,transitionDimensionRef:T,visible:E,width:D});ye({open:p&&O===`idle`,ref:h,onComplete(){p&&_({height:void 0,width:void 0})}});let M=je(`div`,e,{state:Z.useMemo(()=>({...w,transitionStatus:O}),[w,O]),ref:[t,h],props:[j,{style:{[Ox.collapsiblePanelHeight]:u===void 0?`auto`:`${u}px`,[Ox.collapsiblePanelWidth]:D===void 0?`auto`:`${D}px`}},s],stateAttributesMapping:wx});return A||k||!A&&d?M:null});function Ax(e){let t=(0,Q.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,$.jsx)(Tx,{"data-slot":`collapsible`,...n}),t[2]=n,t[3]=r),r}function jx(e){let t=(0,Q.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=R(`h-(--collapsible-panel-height) overflow-hidden transition-[height] duration-200 data-ending-style:h-0 data-starting-style:h-0 data-open:data-ending-style:[height:var(--collapsible-panel-height)]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,$.jsx)(kx,{className:i,"data-slot":`collapsible-panel`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var Mx={[M.make(`codex`)]:`gpt-6.7-codex-ultra-preview`,[M.make(`claudeAgent`)]:`claude-sonnet-5-0`,[M.make(`cursor`)]:`claude-sonnet-4-6`,[M.make(`opencode`)]:`openai/gpt-5`};function Nx({instanceId:e,driverKind:t,models:n,customModels:r,hiddenModels:i,favoriteModels:a,modelOrder:o,onChange:s,onHiddenModelsChange:c,onFavoriteModelsChange:l,onModelOrderChange:u}){let[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(null),h=(0,Z.useRef)(null),g=(0,Z.useMemo)(()=>new Set(i),[i]),_=(0,Z.useMemo)(()=>new Set(a),[a]),v=(0,Z.useMemo)(()=>mn(n,{favoriteModels:_,groupFavorites:!0,modelOrder:o}),[_,o,n]),y=()=>{let e=t?$t(d,t):d.trim()||null;if(!e){m(`Enter a model slug.`);return}if(n.some(t=>!t.isCustom&&t.slug===e)){m(`That model is already built in.`);return}if(e.length>256){m(`Model slugs must be 256 characters or less.`);return}if(r.includes(e)){m(`That custom model is already saved.`);return}s([...r,e]),f(``),m(null);let i=h.current;if(!i)return;let a=()=>i.scrollTo({top:i.scrollHeight,behavior:`smooth`});requestAnimationFrame(a);let o=new MutationObserver(()=>{a(),o.disconnect()});o.observe(i,{childList:!0,subtree:!0}),setTimeout(()=>o.disconnect(),2e3)},b=e=>{s(r.filter(t=>t!==e)),u(o.filter(t=>t!==e)),l(a.filter(t=>t!==e)),m(null)},x=e=>{if(g.has(e)){c(i.filter(t=>t!==e));return}c([...i,e])},S=e=>{if(_.has(e)){l(a.filter(t=>t!==e));return}l([...a,e])},C=(e,t)=>{let n=v.map(e=>e.slug),r=n.indexOf(e),i=r+t;if(r<0||i<0||i>=n.length)return;let a=[...n];[a[r],a[i]]=[a[i],a[r]],u(a)};return(0,$.jsxs)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Models`}),(0,$.jsxs)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:[n.length,` model`,n.length===1?``:`s`,` available.`]}),(0,$.jsx)(`div`,{ref:h,className:`mt-2 max-h-40 overflow-y-auto pb-1`,children:v.map((t,n)=>{let r=t.capabilities,i=[],a=!t.isCustom&&g.has(t.slug),o=_.has(t.slug),s=v[n-1],c=v[n+1],l=s!==void 0&&_.has(s.slug)===o,u=c!==void 0&&_.has(c.slug)===o,d=r?.optionDescriptors??[];d.some(e=>e.id===`fastMode`)&&i.push(`Fast mode`),d.some(e=>e.id===`thinking`)&&i.push(`Thinking`),d.some(e=>e.type===`select`&&(e.id===`reasoningEffort`||e.id===`effort`||e.id===`reasoning`||e.id===`variant`))&&i.push(`Reasoning`);let f=i.length>0||t.name!==t.slug;return(0,$.jsxs)(`div`,{className:R(`grid min-h-7 grid-cols-[minmax(0,1fr)_auto] items-center gap-2 py-1`,a&&`text-muted-foreground`),children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,$.jsx)(`span`,{className:R(`min-w-0 truncate text-xs`,a?`text-muted-foreground line-through`:`text-foreground/90`),children:t.name}),f?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground/60 hover:text-muted-foreground`,"aria-label":`Details for ${t.name}`}),children:(0,$.jsx)(Ta,{className:`size-3`})}),(0,$.jsx)(ne,{side:`top`,className:`max-w-56`,children:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`code`,{className:`block text-[11px] text-foreground`,children:t.slug}),i.length>0?(0,$.jsx)(`div`,{className:`flex flex-wrap gap-x-2 gap-y-0.5`,children:i.map(e=>(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:e},e))}):null]})})]}):null,a?(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`hidden`}):null,t.isCustom?(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:`custom`}):null]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,children:[(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:R(`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,o&&`text-yellow-500 hover:text-yellow-600`),onClick:()=>S(t.slug),"aria-label":`${o?`Remove`:`Add`} ${t.name} ${o?`from`:`to`} favorites`}),children:(0,$.jsx)(ui,{className:R(`size-3`,o&&`fill-current`)})}),(0,$.jsx)(ne,{side:`top`,children:o?`Remove from favorites`:`Add to favorites`})]}),(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,disabled:!l,onClick:()=>C(t.slug,-1),"aria-label":`Move ${t.name} up`}),children:(0,$.jsx)(cc,{className:`size-3`})}),(0,$.jsx)(ne,{side:`top`,children:`Move up`})]}),(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,disabled:!u,onClick:()=>C(t.slug,1),"aria-label":`Move ${t.name} down`}),children:(0,$.jsx)(oc,{className:`size-3`})}),(0,$.jsx)(ne,{side:`top`,children:`Move down`})]}),t.isCustom?null:(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:()=>x(t.slug),"aria-label":`${a?`Show`:`Hide`} ${t.name}`}),children:a?(0,$.jsx)(Fr,{className:`size-3`}):(0,$.jsx)(vc,{className:`size-3`})}),(0,$.jsx)(ne,{side:`top`,children:a?`Show in picker`:`Hide from picker`})]}),t.isCustom?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,"aria-label":`Remove ${t.slug}`,onClick:()=>b(t.slug)}),children:(0,$.jsx)(En,{className:`size-3`})}),(0,$.jsx)(ne,{side:`top`,children:`Remove custom model`})]}):null]})]},`${e}:${t.slug}`)})}),(0,$.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2 sm:flex-row`,children:[(0,$.jsx)(tr,{id:`provider-instance-${e}-custom-model`,value:d,onChange:e=>{f(e.target.value),p&&m(null)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),y())},placeholder:t?Mx[t]:`model-slug`,spellCheck:!1}),(0,$.jsxs)(J,{className:`shrink-0`,variant:`outline`,onClick:y,children:[(0,$.jsx)(ar,{className:`size-3.5`}),`Add`]})]}),p?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:p}):null]})}var Px=`abcdefghjkmnpqrstuvwxyz23456789`;function Fx(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);let n=()=>(t=Math.imul(t^t>>>13,2246822507),t=Math.imul(t^t>>>16,3266489909),Px[Math.abs(t)%31]??`x`);return Array.from(e,e=>e===`@`||e===`.`||e===`-`||e===`_`?e:n()).join(``)}function Ix(e){let[t,n]=(0,Z.useState)(!1),r=e.value?.trim(),i=(0,Z.useMemo)(()=>r?Fx(r):``,[r]);return r?(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(`button`,{type:`button`,className:R(`min-w-0 cursor-pointer rounded-sm font-mono text-[11px] leading-none transition hover:text-foreground`,t?`text-muted-foreground`:`select-none text-muted-foreground blur-[2px]`,e.className),onClick:()=>n(e=>!e),"aria-label":e.ariaLabel,children:t?r:i})}),(0,$.jsx)(ne,{side:`top`,children:t?e.hideTooltip:e.revealTooltip})]}):null}var Lx={disabled:{dot:`bg-amber-400`},error:{dot:`bg-destructive`},ready:{dot:`bg-success`},warning:{dot:`bg-warning`}};function Rx(e){if(!e)return{headline:`Checking provider status`,detail:`Waiting for the server to report installation and authentication details.`};if(!e.enabled)return{headline:`Disabled`,detail:e.message??`This provider is installed but disabled for new sessions in Ryco.`};if(!e.installed)return{headline:`Not found`,detail:e.message??`CLI not detected on PATH.`};if(e.auth.status===`authenticated`){let t=e.auth.label??e.auth.type;return{headline:t?`Authenticated · ${t}`:`Authenticated`,detail:e.message??null}}return e.auth.status===`unauthenticated`?{headline:`Not authenticated`,detail:e.message??null}:e.status===`warning`?{headline:`Needs attention`,detail:e.message??`The provider is installed, but the server could not fully verify it.`}:e.status===`error`?{headline:`Unavailable`,detail:e.message??`The provider failed its startup checks.`}:{headline:`Available`,detail:e.message??`Installed and ready, but authentication could not be verified.`}}function zx(e){return e?e.startsWith(`v`)?e:`v${e}`:null}function Bx(e){if(!e||e.status===`current`||e.status===`unknown`)return null;let t=`Update available`,n=e.latestVersion,r=zx(n);return{detail:e.message??(r?`${t}: install ${r}.`:`${t}: install the latest provider version.`),updateCommand:e.updateCommand,emphasis:`normal`}}var Vx=[`#2563eb`,`#16a34a`,`#ea580c`,`#dc2626`,`#7c3aed`,`#0891b2`],Hx=/^[a-zA-Z_][a-zA-Z0-9_]*$/,Ux=0,Wx=()=>`provider-env-${Ux++}`;function Gx(e,t){return{id:`${t}:${e.name}`,name:e.name,value:e.value,sensitive:e.sensitive,...e.valueRedacted===void 0?{}:{valueRedacted:e.valueRedacted}}}function Kx(e,t){if(typeof e!=`object`||!e)return[];let n=e[t];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}function qx(e,t,n){let r=typeof e==`object`&&e?{...e}:{};return r[t]=n,r}function Jx(e){let t=new Map((e.liveModels??[]).filter(e=>e.isCustom).map(e=>[e.slug,e])),n=e.liveModels?.filter(e=>!e.isCustom)??[],r=e.customModels.map(e=>t.get(e)??{slug:e,name:e,isCustom:!0,capabilities:null});return[...n,...r]}function Yx(e){let t=(0,Q.c)(12),n;t[0]===e.email?n=t[1]:(n=e.email?.trim(),t[0]=e.email,t[1]=n);let r=n;if(!r)return null;let i;t[2]===e.separator?i=t[3]:(i=e.separator?(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}):null,t[2]=e.separator,t[3]=i);let a;t[4]===e.prefix?a=t[5]:(a=e.prefix?(0,$.jsx)(`span`,{className:`text-muted-foreground/80`,children:e.prefix}):null,t[4]=e.prefix,t[5]=a);let o;t[6]===r?o=t[7]:(o=(0,$.jsx)(Ix,{value:r,ariaLabel:`Toggle account email visibility`,revealTooltip:`Click to reveal email`,hideTooltip:`Click to hide email`}),t[6]=r,t[7]=o);let s;return t[8]!==i||t[9]!==a||t[10]!==o?(s=(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5`,children:[i,a,o]}),t[8]=i,t[9]=a,t[10]=o,t[11]=s):s=t[11],s}function Xx(e){let t=(0,Q.c)(34),[n,r]=(0,Z.useState)(e.value??``),[i,a]=(0,Z.useState)(!1),o;t[0]===n?o=t[1]:(o=ee(n),t[0]=n,t[1]=o);let s=o,c,l;t[2]!==i||t[3]!==e.value?(c=()=>{i||r(e.value??``)},l=[i,e.value],t[2]=i,t[3]=e.value,t[4]=c,t[5]=l):(c=t[4],l=t[5]),(0,Z.useEffect)(c,l);let u;t[6]!==s||t[7]!==e?(u=()=>{a(!1),e.onCommit(s??``)},t[6]=s,t[7]=e,t[8]=u):u=t[8];let d=u,f;t[9]===e?f=t[10]:(f=t=>{a(!1),r(t),e.onCommit(t)},t[9]=e,t[10]=f);let p=f,m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Accent color`}),t[11]=m):m=t[11];let h=s??Vx[0],g,_,v;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>a(!0),_=e=>{a(!0),r(e.currentTarget.value)},v=e=>{a(!0),r(e.currentTarget.value)},t[12]=g,t[13]=_,t[14]=v):(g=t[12],_=t[13],v=t[14]);let y=`Accent color for ${e.displayName}`,b;t[15]!==d||t[16]!==y||t[17]!==h?(b=(0,$.jsx)(`input`,{type:`color`,value:h,onFocus:g,onInput:_,onChange:v,onBlur:d,"aria-label":y,className:`h-8 w-10 cursor-pointer rounded border border-input bg-background p-0.5`}),t[15]=d,t[16]=y,t[17]=h,t[18]=b):b=t[18];let x;t[19]!==p||t[20]!==s?(x=Vx.map(e=>(0,$.jsx)(`button`,{type:`button`,className:R(`size-6 cursor-pointer rounded-full border transition`,s?.toLowerCase()===e?`border-foreground ring-2 ring-ring ring-offset-1 ring-offset-background`:`border-black/10 hover:scale-105 dark:border-white/20`),style:{backgroundColor:e},onClick:()=>p(e),"aria-label":`Use ${e} accent`},e)),t[19]=p,t[20]=s,t[21]=x):x=t[21];let S;t[22]===x?S=t[23]:(S=(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:x}),t[22]=x,t[23]=S);let C;t[24]!==s||t[25]!==e?(C=s?(0,$.jsx)(J,{type:`button`,size:`sm`,variant:`ghost`,className:`h-7 px-2 text-xs text-muted-foreground`,onClick:()=>{a(!1),r(``),e.onCommit(``)},children:`Clear`}):null,t[24]=s,t[25]=e,t[26]=C):C=t[26];let w;t[27]!==b||t[28]!==S||t[29]!==C?(w=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[b,S,C]}),t[27]=b,t[28]=S,t[29]=C,t[30]=w):w=t[30];let T;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Used to distinguish this instance in picker rails and model lists.`}),t[31]=T):T=t[31];let E;return t[32]===w?E=t[33]:(E=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[m,w,T]}),t[32]=w,t[33]=E),E}function Zx(e){let t=(0,Q.c)(33),n;t[0]===e.window?n=t[1]:(n=zr(e.window),t[0]=e.window,t[1]=n);let r=n,i=e.window.windowDurationMins===void 0?e.fallbackLabel:r.label,a=wa(e.window.usedPercent),o=Bn(e.window.usedPercent),s;t[2]===e.window.resetsAt?s=t[3]:(s=Ur(e.window.resetsAt),t[2]=e.window.resetsAt,t[3]=s);let c=s,l=a>=75,u=l?`${a}% used`:`${o}% available`,d=l?`${o}% available`:`${a}% used`,f;t[4]===i?f=t[5]:(f=(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:i}),t[4]=i,t[5]=f);let p;t[6]===u?p=t[7]:(p=(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:u}),t[6]=u,t[7]=p);let m;t[8]!==f||t[9]!==p?(m=(0,$.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-xs`,children:[f,p]}),t[8]=f,t[9]=p,t[10]=m):m=t[10];let h=`${i} window usage`,g=l?`bg-warning`:`bg-foreground/70`,_;t[11]===g?_=t[12]:(_=R(`h-full rounded-full transition-[width]`,g),t[11]=g,t[12]=_);let v=`${a}%`,y;t[13]===v?y=t[14]:(y={width:v},t[13]=v,t[14]=y);let b;t[15]!==_||t[16]!==y?(b=(0,$.jsx)(`div`,{className:_,style:y}),t[15]=_,t[16]=y,t[17]=b):b=t[17];let x;t[18]!==b||t[19]!==h||t[20]!==a?(x=(0,$.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,role:`progressbar`,"aria-label":h,"aria-valuenow":a,"aria-valuemin":0,"aria-valuemax":100,children:b}),t[18]=b,t[19]=h,t[20]=a,t[21]=x):x=t[21];let S;t[22]===d?S=t[23]:(S=(0,$.jsx)(`span`,{children:d}),t[22]=d,t[23]=S);let C;t[24]===c?C=t[25]:(C=c?(0,$.jsx)(`span`,{className:`first-letter:uppercase`,children:c}):null,t[24]=c,t[25]=C);let w;t[26]!==S||t[27]!==C?(w=(0,$.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-[11px] text-muted-foreground`,children:[S,C]}),t[26]=S,t[27]=C,t[28]=w):w=t[28];let T;return t[29]!==x||t[30]!==w||t[31]!==m?(T=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[m,x,w]}),t[29]=x,t[30]=w,t[31]=m,t[32]=T):T=t[32],T}function Qx(e){let t=(0,Q.c)(8),{primary:n,secondary:r}=e.rateLimits;if(!n&&!r)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Usage limits`}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=n?(0,$.jsx)(Zx,{window:n,fallbackLabel:`Short window`}):null,t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=r?(0,$.jsx)(Zx,{window:r,fallbackLabel:`Weekly`}):null,t[3]=r,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,$.jsxs)(`div`,{className:`grid gap-2.5`,children:[i,(0,$.jsxs)(`div`,{className:`grid gap-3`,children:[a,o]})]})}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function $x(e){let t=(0,Q.c)(27),n;t[0]===e.environment?n=t[1]:(n=()=>e.environment.map(Gx),t[0]=e.environment,t[1]=n);let[r,i]=(0,Z.useState)(n),a,o;t[2]===e.environment?(a=t[3],o=t[4]):(a=()=>{i(e.environment.map(Gx))},o=[e.environment],t[2]=e.environment,t[3]=a,t[4]=o),(0,Z.useEffect)(a,o);let s;t[5]===e?s=t[6]:(s=t=>{let n=[];for(let e of t){let t=e.name.trim();if(!Hx.test(t)){if(t.length>0||e.value.length>0||e.sensitive!==!0||e.valueRedacted!==void 0)return;continue}let{id:r,...i}=e;n.push({...i,name:t})}e.onChange(n)},t[5]=e,t[6]=s);let c=s,l;t[7]!==c||t[8]!==r?(l=(e,t)=>{let n=r.map(n=>n.id===e?{...n,...t,...t.value===void 0?{}:{valueRedacted:!1}}:n);i(n),c(n)},t[7]=c,t[8]=r,t[9]=l):l=t[9];let u=l,d;t[10]!==c||t[11]!==r?(d=e=>{let t=r.filter(t=>t.id!==e);i(t),c(t)},t[10]=c,t[11]=r,t[12]=d):d=t[12];let f=d,p;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Environment variables`}),t[13]=p):p=t[13];let m;t[14]===r?m=t[15]:(m=()=>i([...r,{id:Wx(),name:``,value:``,sensitive:!0}]),t[14]=r,t[15]=m);let h;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(ar,{className:`size-3`}),t[16]=h):h=t[16];let g;t[17]===m?g=t[18]:(g=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[p,(0,$.jsxs)(J,{type:`button`,size:`sm`,variant:`outline`,className:`h-7 gap-1.5 px-2 text-xs`,onClick:m,children:[h,`Add`]})]}),t[17]=m,t[18]=g);let _;t[19]!==f||t[20]!==r||t[21]!==u?(_=r.length===0?(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Add variables to pass API keys, base URLs, or other per-instance CLI settings.`}):(0,$.jsx)(`div`,{className:`grid gap-2`,children:r.map((e,t)=>(0,$.jsxs)(`div`,{className:`grid gap-2 rounded-md border border-border/70 bg-muted/20 p-2 sm:grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)_auto_auto] sm:items-center`,children:[(0,$.jsx)(Jb,{value:e.name,onCommit:t=>u(e.id,{name:t.trim()}),placeholder:`VARIABLE_NAME`,spellCheck:!1,"aria-label":`Environment variable name ${t+1}`}),(0,$.jsx)(Jb,{value:e.valueRedacted?``:e.value,onCommit:t=>u(e.id,{value:t}),type:e.sensitive?`password`:void 0,autoComplete:`off`,placeholder:e.valueRedacted?`Stored secret - enter a new value to replace`:`Value`,spellCheck:!1,"aria-label":`Environment variable value ${t+1}`}),(0,$.jsxs)(`label`,{className:`inline-flex h-8 items-center gap-2 text-xs text-muted-foreground`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`size-3.5`,checked:e.sensitive,onChange:t=>{let n=t.currentTarget.checked;u(e.id,{sensitive:n,...n&&e.valueRedacted===void 0?{}:{valueRedacted:n?e.valueRedacted:!1}})}}),`Sensitive`]}),(0,$.jsx)(J,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-8 justify-self-start text-muted-foreground hover:text-destructive sm:justify-self-end`,onClick:()=>f(e.id),"aria-label":`Remove environment variable ${e.name||t+1}`,children:(0,$.jsx)(En,{className:`size-3.5`})})]},e.id))}),t[19]=f,t[20]=r,t[21]=u,t[22]=_):_=t[22];let v;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Sensitive values are stored separately and are not returned to the app after saving.`}),t[23]=v):v=t[23];let y;return t[24]!==_||t[25]!==g?(y=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[g,_,v]}),t[24]=_,t[25]=g,t[26]=y):y=t[26],y}function eS(e){let t=(0,Q.c)(168),{instanceId:n,instance:r,driverOption:i,liveProvider:a,isExpanded:o,onExpandedChange:s,onUpdate:c,onDelete:l,headerAction:u,hiddenModels:d,favoriteModels:f,modelOrder:p,onHiddenModelsChange:m,onFavoriteModelsChange:h,onModelOrderChange:g,onRunUpdate:_,isUpdating:v}=e,y=v===void 0?!1:v,b=r.enabled??!0,x=Lx[a?.status??(b?`warning`:`disabled`)],S;t[0]===a?S=t[1]:(S=Rx(a),t[0]=a,t[1]=S);let C=S,w=a?.auth.email,T;t[2]!==w||t[3]!==a?.auth.status?(T=a?.auth.status===`authenticated`&&!!w?.trim(),t[2]=w,t[3]=a?.auth.status,t[4]=T):T=t[4];let E=T,D=E?a?.auth.label??a?.auth.type??null:null,O=C,k=a?.version,A;t[5]===k?A=t[6]:(A=zx(k),t[5]=k,t[6]=A);let j=A,M=a?.versionAdvisory,N;t[7]===M?N=t[8]:(N=Bx(M),t[7]=M,t[8]=N);let P=N,F=P?.updateCommand??null,I=i?.icon,L;t[9]!==i?.label||t[10]!==r.displayName||t[11]!==r.driver?(L=r.displayName?.trim()||i?.label||String(r.driver),t[9]=i?.label,t[10]=r.displayName,t[11]=r.driver,t[12]=L):L=t[12];let z=L,B;t[13]===r.accentColor?B=t[14]:(B=ee(r.accentColor),t[13]=r.accentColor,t[14]=B);let V=B,H;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(H={onCopy:rS,onError:nS},t[15]=H):H=t[15];let{copyToClipboard:U}=ni(H),W=He(r.driver)?r.driver:null,G,te;t[16]!==r.config||t[17]!==a?.models?(G=Kx(r.config,`customModels`),te=Jx({liveModels:a?.models,customModels:G}),t[16]=r.config,t[17]=a?.models,t[18]=G,t[19]=te):(G=t[18],te=t[19]);let re=te,ie;t[20]!==r||t[21]!==c?(ie=e=>{let t=e.trim(),{displayName:n,...i}=r;c(t.length>0?{...i,displayName:t}:i)},t[20]=r,t[21]=c,t[22]=ie):ie=t[22];let K=ie,ae;t[23]!==r||t[24]!==c?(ae=e=>{c({...r,enabled:e})},t[23]=r,t[24]=c,t[25]=ae):ae=t[25];let oe=ae,se;t[26]!==r||t[27]!==c?(se=e=>{let t=ee(e),{accentColor:n,...i}=r;c(t?{...i,accentColor:t}:i)},t[26]=r,t[27]=c,t[28]=se):se=t[28];let ce=se,q;t[29]!==r||t[30]!==c?(q=e=>{let{config:t,...n}=r;c(e===void 0?n:{...n,config:e})},t[29]=r,t[30]=c,t[31]=q):q=t[31];let le=q,ue;t[32]!==r||t[33]!==c?(ue=e=>{let t=qx(r.config,`customModels`,[...e]),{config:n,...i}=r;c({...i,config:t})},t[32]=r,t[33]=c,t[34]=ue):ue=t[34];let de=ue,fe;t[35]!==r||t[36]!==c?(fe=e=>{let t=e.filter(tS),{environment:n,...i}=r;c(t.length>0?{...i,environment:t}:i)},t[35]=r,t[36]=c,t[37]=fe):fe=t[37];let pe=fe,he;t[38]!==I||t[39]!==V||t[40]!==z||t[41]!==W||t[42]!==x.dot?(he=W?(0,$.jsx)(Wn,{driverKind:W,displayName:z,accentColor:V,showBadge:!!V,statusDotClassName:x.dot,className:`size-5`,iconClassName:`size-4 text-foreground/80`,badgeClassName:`right-[-0.125rem] bottom-[-0.125rem] h-3 min-w-3 text-[7px]`}):I?(0,$.jsxs)(`span`,{className:`relative inline-flex size-5 shrink-0 items-center justify-center`,children:[(0,$.jsx)(I,{className:`size-4 text-foreground/80`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:R(`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,x.dot),"aria-hidden":!0})]}):(0,$.jsx)(`span`,{className:R(`size-2 shrink-0 rounded-full`,x.dot)}),t[38]=I,t[39]=V,t[40]=z,t[41]=W,t[42]=x.dot,t[43]=he):he=t[43];let ge=he,_e;t[44]===z?_e=t[45]:(_e=(0,$.jsx)(`h3`,{className:`truncate text-[13px] font-semibold tracking-[-0.01em] text-foreground`,children:z}),t[44]=z,t[45]=_e);let ve;t[46]!==r.driver||t[47]!==n?(ve=String(n)===String(r.driver)?null:(0,$.jsx)(`code`,{className:`truncate rounded bg-muted/60 px-1 py-0.5 text-[10px] text-muted-foreground`,children:n}),t[46]=r.driver,t[47]=n,t[48]=ve):ve=t[48];let ye;t[49]===i?ye=t[50]:(ye=i?.badgeLabel?(0,$.jsx)(cs,{variant:`warning`,size:`sm`,className:`shrink-0`,children:i.badgeLabel}):null,t[49]=i,t[50]=ye);let be;t[51]!==_e||t[52]!==ve||t[53]!==ye||t[54]!==ge?(be=(0,$.jsxs)($.Fragment,{children:[ge,_e,ve,ye]}),t[51]=_e,t[52]=ve,t[53]=ye,t[54]=ge,t[55]=be):be=t[55];let xe=be,Se;t[56]===u?Se=t[57]:(Se=u?(0,$.jsx)(`span`,{className:`inline-flex h-5 w-5 shrink-0 items-center justify-center`,children:u}):null,t[56]=u,t[57]=Se);let Ce;t[58]!==n||t[59]!==l?(Ce=l?(0,$.jsx)(`span`,{className:`inline-flex h-5 w-5 shrink-0 items-center justify-center`,children:(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-destructive`,onClick:l,"aria-label":`Delete provider instance ${n}`,children:(0,$.jsx)(Oo,{className:`size-3`})})}),(0,$.jsx)(ne,{side:`top`,children:`Delete instance`})]})}):null,t[58]=n,t[59]=l,t[60]=Ce):Ce=t[60];let we;t[61]!==Se||t[62]!==Ce?(we=(0,$.jsxs)($.Fragment,{children:[Se,Ce]}),t[61]=Se,t[62]=Ce,t[63]=we):we=t[63];let Te=we,De;t[64]!==w||t[65]!==D||t[66]!==E||t[67]!==O.headline?(De=E?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:`Authenticated as`}),(0,$.jsx)(Yx,{email:w}),D?(0,$.jsxs)(`span`,{children:[`· `,D]}):null]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:O.headline}),(0,$.jsx)(Yx,{email:w,separator:!0,prefix:`Email`})]}),t[64]=w,t[65]=D,t[66]=E,t[67]=O.headline,t[68]=De):De=t[68];let Oe;t[69]===O.detail?Oe=t[70]:(Oe=O.detail?(0,$.jsxs)(`span`,{children:[`- `,O.detail]}):null,t[69]=O.detail,t[70]=Oe);let ke;t[71]!==De||t[72]!==Oe?(ke=(0,$.jsxs)(`p`,{className:`flex min-w-0 flex-wrap items-center gap-x-1 text-xs text-muted-foreground`,children:[De,Oe]}),t[71]=De,t[72]=Oe,t[73]=ke):ke=t[73];let Ae=ke,je;t[74]===j?je=t[75]:(je=j?(0,$.jsx)(`code`,{className:`text-xs text-muted-foreground`,children:j}):null,t[74]=j,t[75]=je);let Me=je,Ne;t[76]!==U||t[77]!==z||t[78]!==y||t[79]!==_||t[80]!==F||t[81]!==P?(Ne=P?(0,$.jsxs)(sa,{children:[(0,$.jsx)(Ja,{render:(0,$.jsx)(J,{type:`button`,size:`icon-xs`,variant:`ghost`,className:R(`size-5 rounded-sm p-0`,P.emphasis===`strong`?`text-warning hover:text-warning`:`text-primary hover:text-primary`),"aria-label":`Update available — view details`,children:(0,$.jsx)(fc,{className:`size-3.5 [animation:bounce_2.4s_ease-in-out_infinite] motion-reduce:animate-none`})})}),(0,$.jsx)(ma,{side:`bottom`,align:`start`,className:`w-84`,children:(0,$.jsxs)(`div`,{className:`grid gap-3`,children:[(0,$.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,$.jsx)(`p`,{className:`text-[13px] font-semibold leading-tight text-foreground`,children:`Update available`}),(0,$.jsx)(`p`,{className:R(`text-xs leading-snug`,P.emphasis===`strong`?`text-warning`:`text-muted-foreground`),children:P.detail})]}),_?(0,$.jsxs)(J,{type:`button`,size:`xs`,variant:`default`,className:`w-full`,disabled:y,onClick:_,children:[y?(0,$.jsx)(ka,{className:`animate-spin`}):(0,$.jsx)(gc,{}),y?`Updating`:`Update now`]}):null,_&&F?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] font-medium uppercase tracking-wider text-muted-foreground`,children:[(0,$.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),`or, update manually using`,(0,$.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]}):null,F?(0,$.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-border/70 bg-muted/40 py-0.5 pr-0.5 pl-2`,children:[(0,$.jsx)(`code`,{className:`min-w-0 flex-1 overflow-x-auto whitespace-nowrap font-mono text-[11px] text-foreground [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,children:F}),(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{type:`button`,size:`icon-xs`,variant:`ghost`,className:`size-6 shrink-0 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:()=>U(F,{providerName:z}),"aria-label":`Copy update command`,children:(0,$.jsx)(Gn,{className:`size-3`})})}),(0,$.jsx)(ne,{side:`top`,children:`Copy command`})]})]}):null]})})]}):null,t[76]=U,t[77]=z,t[78]=y,t[79]=_,t[80]=F,t[81]=P,t[82]=Ne):Ne=t[82];let Pe;t[83]!==Ne||t[84]!==xe||t[85]!==Te||t[86]!==Me?(Pe=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[xe,Me,Ne,Te]}),t[83]=Ne,t[84]=xe,t[85]=Te,t[86]=Me,t[87]=Pe):Pe=t[87];let Fe;t[88]!==Ae||t[89]!==Pe?(Fe=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[Pe,Ae]}),t[88]=Ae,t[89]=Pe,t[90]=Fe):Fe=t[90];let Ie;t[91]!==o||t[92]!==s?(Ie=()=>s(!o),t[91]=o,t[92]=s,t[93]=Ie):Ie=t[93];let Le=`Toggle ${z} details`,Re=o&&`rotate-180`,ze;t[94]===Re?ze=t[95]:(ze=R(`size-3.5 transition-transform`,Re),t[94]=Re,t[95]=ze);let Be;t[96]===ze?Be=t[97]:(Be=(0,$.jsx)(rt,{className:ze}),t[96]=ze,t[97]=Be);let Ve;t[98]!==Ie||t[99]!==Le||t[100]!==Be?(Ve=(0,$.jsx)(J,{size:`sm`,variant:`ghost`,className:`h-7 px-2 text-xs text-muted-foreground hover:text-foreground`,onClick:Ie,"aria-label":Le,children:Be}),t[98]=Ie,t[99]=Le,t[100]=Be,t[101]=Ve):Ve=t[101];let Ue;t[102]===oe?Ue=t[103]:(Ue=e=>oe(!!e),t[102]=oe,t[103]=Ue);let We=`Enable ${z}`,Ge;t[104]!==b||t[105]!==Ue||t[106]!==We?(Ge=(0,$.jsx)(Wi,{checked:b,onCheckedChange:Ue,"aria-label":We}),t[104]=b,t[105]=Ue,t[106]=We,t[107]=Ge):Ge=t[107];let Ke;t[108]!==Ve||t[109]!==Ge?(Ke=(0,$.jsxs)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:[Ve,Ge]}),t[108]=Ve,t[109]=Ge,t[110]=Ke):Ke=t[110];let qe;t[111]!==Fe||t[112]!==Ke?(qe=(0,$.jsx)(`div`,{className:`px-4 py-3.5 sm:px-5`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[Fe,Ke]})}),t[111]=Fe,t[112]=Ke,t[113]=qe):qe=t[113];let Je;t[114]===a?Je=t[115]:(Je=a?.rateLimits?(0,$.jsx)(Qx,{rateLimits:a.rateLimits}):null,t[114]=a,t[115]=Je);let Ye=`provider-instance-${n}-display-name`,Xe;t[116]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Display name`}),t[116]=Xe):Xe=t[116];let Ze=`provider-instance-${n}-display-name`,Qe=r.displayName??``,$e=i?.label??`Instance label`,et;t[117]!==Ze||t[118]!==Qe||t[119]!==$e||t[120]!==K?(et=(0,$.jsx)(Jb,{id:Ze,className:`mt-1.5`,value:Qe,onCommit:K,placeholder:$e,spellCheck:!1}),t[117]=Ze,t[118]=Qe,t[119]=$e,t[120]=K,t[121]=et):et=t[121];let tt;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,$.jsx)(`span`,{className:`mt-1 block text-xs text-muted-foreground`,children:`Optional label shown in the provider list.`}),t[122]=tt):tt=t[122];let nt;t[123]!==Ye||t[124]!==et?(nt=(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,$.jsxs)(`label`,{htmlFor:Ye,className:`block`,children:[Xe,et,tt]})}),t[123]=Ye,t[124]=et,t[125]=nt):nt=t[125];let it;t[126]!==V||t[127]!==z||t[128]!==ce?(it=(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,$.jsx)(Xx,{displayName:z,value:V,onCommit:ce})}),t[126]=V,t[127]=z,t[128]=ce,t[129]=it):it=t[129];let at;t[130]===r.environment?at=t[131]:(at=r.environment??[],t[130]=r.environment,t[131]=at);let ot;t[132]!==at||t[133]!==pe?(ot=(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,$.jsx)($x,{environment:at,onChange:pe})}),t[132]=at,t[133]=pe,t[134]=ot):ot=t[134];let st;t[135]!==i||t[136]!==r.config||t[137]!==n||t[138]!==le?(st=i?(0,$.jsx)(sx,{definition:i,value:r.config,idPrefix:`provider-instance-${n}`,variant:`card`,onChange:le}):null,t[135]=i,t[136]=r.config,t[137]=n,t[138]=le,t[139]=st):st=t[139];let ct;t[140]!==G||t[141]!==W||t[142]!==i||t[143]!==f||t[144]!==d||t[145]!==r.driver||t[146]!==n||t[147]!==p||t[148]!==re||t[149]!==h||t[150]!==m||t[151]!==g||t[152]!==de?(ct=i===void 0?(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3 sm:px-5`,children:(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`This instance uses a driver (`,(0,$.jsx)(`code`,{className:`text-foreground`,children:String(r.driver)}),`) that is not shipped with the current build. Configuration values are preserved but cannot be edited from this surface.`]})}):(0,$.jsx)(Nx,{instanceId:n,driverKind:W,models:re,customModels:G,hiddenModels:d,favoriteModels:f,modelOrder:p,onChange:de,onHiddenModelsChange:m,onFavoriteModelsChange:h,onModelOrderChange:g}),t[140]=G,t[141]=W,t[142]=i,t[143]=f,t[144]=d,t[145]=r.driver,t[146]=n,t[147]=p,t[148]=re,t[149]=h,t[150]=m,t[151]=g,t[152]=de,t[153]=ct):ct=t[153];let lt;t[154]!==Je||t[155]!==nt||t[156]!==it||t[157]!==ot||t[158]!==st||t[159]!==ct?(lt=(0,$.jsx)(jx,{children:(0,$.jsxs)(`div`,{className:`space-y-0`,children:[Je,nt,it,ot,st,ct]})}),t[154]=Je,t[155]=nt,t[156]=it,t[157]=ot,t[158]=st,t[159]=ct,t[160]=lt):lt=t[160];let ut;t[161]!==o||t[162]!==s||t[163]!==lt?(ut=(0,$.jsx)(Ax,{open:o,onOpenChange:s,children:lt}),t[161]=o,t[162]=s,t[163]=lt,t[164]=ut):ut=t[164];let dt;return t[165]!==qe||t[166]!==ut?(dt=(0,$.jsxs)(`div`,{className:`border-t border-border/60 first:border-t-0`,children:[qe,ut]}),t[165]=qe,t[166]=ut,t[167]=dt):dt=t[167],dt}function tS(e){return e.name.trim().length>0}function nS(e,t){let{providerName:n}=t;Y.add(X({type:`error`,title:`Could not copy ${n} update command`,description:e.message}))}function rS(e){let{providerName:t}=e;Y.add({type:`success`,title:`${t} update command copied`,description:`Run it in a terminal when you are ready to update.`})}function iS(e){let t=U.providers,n=e.isDefault?t[e.driver]:void 0;return{...n===void 0?{}:{providers:{...e.settings.providers,[e.driver]:n}},providerInstances:{...e.settings.providerInstances,[e.instanceId]:e.instance},...e.textGenerationModelSelection===void 0?{}:{textGenerationModelSelection:e.textGenerationModelSelection}}}var aS=M.make(`codex`),oS=ib.map(e=>({provider:e.value}));function sS(e,t){let n={...e};return delete n[t],n}function cS(e,t){return e.filter(e=>e.provider!==t)}function lS(e){let t=(0,Q.c)(5),{lastCheckedAt:n}=e;v_();let r;t[0]===n?r=t[1]:(r=n?In(n):null,t[0]=n,t[1]=r);let i=r;if(!i)return null;let a;return t[2]!==i.suffix||t[3]!==i.value?(a=(0,$.jsx)(`span`,{className:`text-[11px] text-muted-foreground/60`,children:i.suffix?(0,$.jsxs)($.Fragment,{children:[`Checked `,(0,$.jsx)(`span`,{className:`font-mono tabular-nums`,children:i.value}),` `,i.suffix]}):(0,$.jsxs)($.Fragment,{children:[`Checked `,i.value]})}),t[2]=i.suffix,t[3]=i.value,t[4]=a):a=t[4],a}function uS(){let e=(0,Q.c)(87),t=Bt(),{updateSettings:n}=Qt(),r=Le(),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=new Set,e[0]=c):c=e[0];let[l,u]=(0,Z.useState)(c),d;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(d={},e[1]=d):d=e[1];let[f,p]=(0,Z.useState)(d),m=(0,Z.useRef)(!1),h;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{m.current||(m.current=!0,a(!0),kt().server.refreshProviders().catch(CS).finally(()=>{m.current=!1,a(!1)}))},e[2]=h):h=e[2];let g=h,_,v,y,b,x,S;if(e[3]!==i||e[4]!==f||e[5]!==r||e[6]!==t||e[7]!==n||e[8]!==l){let a=oS.filter(e=>e.provider!==`cursor`||r.some(SS)),o,c,d,m,h,C,w;if(e[15]!==r||e[16]!==t){let n=Fe(t,r);m=n.instanceId,h=n.model,C=n.options,o=Ft(H(r)),d=o.find(e=>e.instanceId===m),w=d?.driverKind??aS,c=ft(t,r,m,h),e[15]=r,e[16]=t,e[17]=o,e[18]=c,e[19]=d,e[20]=m,e[21]=h,e[22]=C,e[23]=w}else o=e[17],c=e[18],d=e[19],m=e[20],h=e[21],C=e[22],w=e[23];let T=c,E=!ns(t.textGenerationModelSelection??null,U.textGenerationModelSelection??null),D;e[24]===r?D=e[25]:(D=r.length>0?r.reduce(xS,r[0].checkedAt):null,e[24]=r,e[25]=D);let O=D,k=new Map;for(let[e,n]of Object.entries(t.providerInstances??{})){let t=n.driver,r=k.get(t)??[];r.push([e,n]),k.set(t,r)}let A=new Set(a.map(bS)),j=[],M=new Set(a.map(yS));for(let e of a){let n=t.providers,r=U.providers,i=e.provider,a=se(i),o=t.providerInstances?.[a],s=n[e.provider],c=r[e.provider],l=o??{driver:i,enabled:s.enabled,config:s},u=o!==void 0||!ns(s,c);j.push({instanceId:a,instance:l,driver:i,isDefault:!0,isDirty:u});for(let[t,n]of k.get(e.provider)??[])t!==a&&j.push({instanceId:t,instance:n,driver:n.driver,isDefault:!1})}for(let[e,t]of k)if(!M.has(e))for(let[e,n]of t){let t=A.has(String(e));j.push({instanceId:e,instance:n,driver:n.driver,isDefault:t})}let N=(e,r,i)=>{n(iS({settings:t,instanceId:e.instanceId,instance:r,driver:e.driver,isDefault:e.isDefault,textGenerationModelSelection:i?.textGenerationModelSelection}))},P=e=>{n({providerInstances:sS(t.providerInstances,e),providerModelPreferences:sS(t.providerModelPreferences,e),favorites:cS(t.favorites??[],e)})},F=(e,r)=>{let i=[...new Set(r.hiddenModels.filter(vS))],a=[...new Set(r.modelOrder.filter(_S))],o=sS(t.providerModelPreferences,e);n({providerModelPreferences:i.length===0&&a.length===0?o:{...o,[e]:{hiddenModels:i,modelOrder:a}}})},I=(e,r)=>{let i=[...new Set(r.map(gS).filter(hS))];n({favorites:[...cS(t.favorites??[],e),...i.map(t=>({provider:e,model:t}))]})},L=e=>{u(t=>new Set(t).add(e.instanceId)),kt().server.updateProvider({provider:e.driver,instanceId:e.instanceId}).then(mS).catch(pS).finally(()=>{u(t=>{let n=new Set(t);return n.delete(e.instanceId),n})})},R=e=>{let r=U.providers,i=se(e),a=r[e];a!==void 0&&n({providers:{...t.providers,[e]:a},providerInstances:sS(t.providerInstances,i),providerModelPreferences:sS(t.providerModelPreferences,i),favorites:cS(t.favorites??[],i)})};v=C_;let ee;e[26]!==E||e[27]!==n?(ee=E?(0,$.jsx)(S_,{label:`text generation model`,onClick:()=>n({textGenerationModelSelection:U.textGenerationModelSelection})}):null,e[26]=E,e[27]=n,e[28]=ee):ee=e[28];let z;e[29]!==r||e[30]!==t||e[31]!==n?(z=(e,i)=>{n({textGenerationModelSelection:Fe({...t,textGenerationModelSelection:Ht(e,i)},r)})},e[29]=r,e[30]=t,e[31]=n,e[32]=z):z=e[32];let B;e[33]!==o||e[34]!==T||e[35]!==z||e[36]!==m||e[37]!==h?(B=(0,$.jsx)(Cr,{activeInstanceId:m,model:h,lockedProvider:null,instanceEntries:o,modelOptionsByInstance:T,triggerVariant:`outline`,triggerClassName:`min-w-0 max-w-none shrink-0 text-foreground/90 hover:text-foreground`,onInstanceModelChange:z}),e[33]=o,e[34]=T,e[35]=z,e[36]=m,e[37]=h,e[38]=B):B=e[38];let V;e[39]===d?.models?V=e[40]:(V=d?.models??[],e[39]=d?.models,e[40]=V);let W;e[41]!==r||e[42]!==t||e[43]!==m||e[44]!==h||e[45]!==n?(W=e=>{n({textGenerationModelSelection:Fe({...t,textGenerationModelSelection:Ht(m,h,e)},r)})},e[41]=r,e[42]=t,e[43]=m,e[44]=h,e[45]=n,e[46]=W):W=e[46];let G;e[47]!==V||e[48]!==W||e[49]!==h||e[50]!==C||e[51]!==w?(G=(0,$.jsx)(wn,{provider:w,models:V,model:h,prompt:``,onPromptChange:fS,modelOptions:C,allowPromptInjectedEffort:!1,triggerVariant:`outline`,triggerClassName:`min-w-0 max-w-none shrink-0 text-foreground/90 hover:text-foreground`,onModelOptionsChange:W}),e[47]=V,e[48]=W,e[49]=h,e[50]=C,e[51]=w,e[52]=G):G=e[52];let te;e[53]!==B||e[54]!==G?(te=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1.5`,children:[B,G]}),e[53]=B,e[54]=G,e[55]=te):te=e[55],e[56]!==te||e[57]!==ee?(S=(0,$.jsx)(b_,{title:`Text generation`,children:(0,$.jsx)(x_,{title:`Text generation model`,description:`Configure the model used for generated commit messages, PR titles, and similar Git text.`,resetAction:ee,control:te})}),e[56]=te,e[57]=ee,e[58]=S):S=e[58],_=b_,y=`Providers`;let re;e[59]===O?re=e[60]:(re=(0,$.jsx)(lS,{lastCheckedAt:O}),e[59]=O,e[60]=re);let ie;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(ie=()=>s(!0),e[61]=ie):ie=e[61];let K;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:ie,"aria-label":`Add provider instance`,children:(0,$.jsx)(ar,{className:`size-3`})})}),(0,$.jsx)(ne,{side:`top`,children:`Add provider instance`})]}),e[62]=K):K=e[62];let ae;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(ae=()=>void g(),e[63]=ae):ae=e[63];let oe;e[64]===i?oe=e[65]:(oe=i?(0,$.jsx)(ka,{className:`size-3 animate-spin`}):(0,$.jsx)(_s,{className:`size-3`}),e[64]=i,e[65]=oe);let ce;e[66]!==i||e[67]!==oe?(ce=(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,disabled:i,onClick:ae,"aria-label":`Refresh provider status`,children:oe})}),e[66]=i,e[67]=oe,e[68]=ce):ce=e[68];let q;e[69]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(ne,{side:`top`,children:`Refresh provider status`}),e[69]=q):q=e[69];let le;e[70]===ce?le=e[71]:(le=(0,$.jsxs)(Ee,{children:[ce,q]}),e[70]=ce,e[71]=le),e[72]!==re||e[73]!==le?(b=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[re,K,le]}),e[72]=re,e[73]=le,e[74]=b):b=e[74],x=j.map(e=>{let n=ob(e.driver),i=r.find(t=>t.instanceId===e.instanceId),a=i&&jh(i)?i:null,o=a!==null&&Fh(a,r),s=!!(i&&Mh(i))||l.has(e.instanceId),c=t.providerModelPreferences?.[e.instanceId]??{hiddenModels:[],modelOrder:[]},u=(t.favorites??[]).filter(t=>t.provider===e.instanceId).map(dS),d=n?.label??String(e.driver),h=e.isDefault&&e.isDirty?(0,$.jsx)(S_,{label:`${d} provider settings`,onClick:()=>R(e.driver)}):null;return(0,$.jsx)(eS,{instanceId:e.instanceId,instance:e.instance,driverOption:n,liveProvider:i,isExpanded:f[e.instanceId]??!1,onExpandedChange:t=>p(n=>({...n,[e.instanceId]:t})),onUpdate:t=>{let n=e.instance.enabled??!0;t.enabled===!1&&n&&m===e.instanceId?N(e,t,{textGenerationModelSelection:U.textGenerationModelSelection}):N(e,t)},onDelete:e.isDefault?void 0:()=>P(e.instanceId),headerAction:h,hiddenModels:c.hiddenModels,favoriteModels:u,modelOrder:c.modelOrder,onHiddenModelsChange:t=>F(e.instanceId,{...c,hiddenModels:t}),onFavoriteModelsChange:t=>I(e.instanceId,t),onModelOrderChange:t=>F(e.instanceId,{...c,modelOrder:t}),onRunUpdate:o?()=>L(a):void 0,isUpdating:s},e.instanceId)}),e[3]=i,e[4]=f,e[5]=r,e[6]=t,e[7]=n,e[8]=l,e[9]=_,e[10]=v,e[11]=y,e[12]=b,e[13]=x,e[14]=S}else _=e[9],v=e[10],y=e[11],b=e[12],x=e[13],S=e[14];let C;e[75]!==_||e[76]!==y||e[77]!==b||e[78]!==x?(C=(0,$.jsx)(_,{title:y,headerAction:b,children:x}),e[75]=_,e[76]=y,e[77]=b,e[78]=x,e[79]=C):C=e[79];let w;e[80]===o?w=e[81]:(w=(0,$.jsx)(_x,{open:o,onOpenChange:s}),e[80]=o,e[81]=w);let T;return e[82]!==v||e[83]!==S||e[84]!==C||e[85]!==w?(T=(0,$.jsxs)(v,{children:[S,C,w]}),e[82]=v,e[83]=S,e[84]=C,e[85]=w,e[86]=T):T=e[86],T}function dS(e){return e.model}function fS(){}function pS(e){Y.add(X({type:`error`,title:`Provider update failed`,description:e instanceof Error?e.message:`An error occurred.`}))}function mS(e){Jt(e)}function hS(e){return e.length>0}function gS(e){return e.trim()}function _S(e){return e.trim().length>0}function vS(e){return e.trim().length>0}function yS(e){return e.provider}function bS(e){return String(se(e.provider))}function xS(e,t){return t.checkedAt>e?t.checkedAt:e}function SS(e){return e.instanceId===se(M.make(`cursor`))}function CS(e){Y.add(X({type:`error`,title:`Failed to refresh providers`,description:e instanceof Error?e.message:`An error occurred.`}))}var wS=`/assets/favicon-96x96-CfMgHCkM.png`,TS=`/assets/favicon-96x96-BzWrPLHA.png`,ES=`/assets/favicon-96x96-TW07Azvi.png`,DS={cursor:ca,trae:fa,kiro:ea,vscode:Ia,"vscode-insiders":ba,vscodium:Ga,zed:ga,antigravity:Pi,idea:Hi,aqua:da,clion:Wa,datagrip:Fa,dataspell:ya,goland:ha,phpstorm:ho,pycharm:Do,rider:Xi,rubymine:Co,rustrover:li,webstorm:Jn,"file-manager":ls};function OS(e,t){return e===`file-manager`?Ce(t)?`Finder`:Pt(t)?`Explorer`:`Files`:Ye.find(t=>t.id===e)?.label??e}var kS={locale:`System default`,"12-hour":`12-hour`,"24-hour":`24-hour`},AS={0:`Off`,1e4:`10 seconds`,3e4:`30 seconds`,6e4:`1 minute`,3e5:`5 minutes`},jS=[0,1e4,3e4,6e4,3e5];function MS(e){if(e===null)return null;let t=Number.parseInt(e,10);return jS.includes(t)?t:null}function NS(e){let t=(0,Q.c)(2),{editor:n}=e,r=DS[n];if(!r)return null;let i;return t[0]===r?i=t[1]:(i=(0,$.jsx)(r,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}),t[0]=r,t[1]=i),i}function PS(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,$.jsx)(`span`,{children:`Version`}),(0,$.jsx)(`code`,{className:`text-[11px] font-medium text-muted-foreground`,children:yt})]}),e[0]=t):t=e[0],t}var FS=`https://github.com/sak0a/ryco`,IS=`https://github.com/sak0a`,LS={Alpha:wS,Dev:TS,Nightly:ES};function RS(e){kt().shell.openExternal(e).catch(e=>{Y.add(X({type:`error`,title:`Could not open link`,description:e instanceof Error?e.message:`Failed to open external link.`}))})}function zS(){let e=(0,Q.c)(3),t=LS[ln]??`/assets/favicon-96x96-CfMgHCkM.png`,n,r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(`img`,{src:t,alt:``,"aria-hidden":`true`,className:`size-14 rounded-xl shadow-sm`}),r=(0,$.jsx)(`h3`,{className:`text-base font-semibold tracking-tight text-foreground`,children:gt}),e[0]=n,e[1]=r):(n=e[0],r=e[1]);let i;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 pt-6 pb-5 text-center sm:px-5`,children:[n,r,(0,$.jsxs)(`div`,{className:`space-y-0.5 text-[11px] text-muted-foreground`,children:[(0,$.jsxs)(`p`,{children:[`Created by`,` `,(0,$.jsx)(`button`,{type:`button`,onClick:VS,className:`font-medium text-foreground/80 underline-offset-2 hover:text-foreground hover:underline`,children:`Laurin (saka)`})]}),(0,$.jsx)(`p`,{children:(0,$.jsx)(`button`,{type:`button`,onClick:BS,className:`underline-offset-2 hover:text-foreground hover:underline`,children:`github.com/sak0a/ryco`})})]})]}),e[2]=i):i=e[2],i}function BS(){return RS(FS)}function VS(){return RS(IS)}function HS(){let e=(0,Q.c)(44),t=l(),n=Op(),[r,i]=(0,Z.useState)(!1),a=n.data??null,o=typeof window<`u`&&!!window.desktopBridge,s=a?.channel??`latest`,c;e[0]!==t||e[1]!==s?(c=e=>{let n=window.desktopBridge;!n||typeof n.setUpdateChannel!=`function`||e===s||(i(!0),n.setUpdateChannel(e).then(e=>{Ep(t,e)}).catch(KS).finally(()=>{i(!1)}))},e[0]=t,e[1]=s,e[2]=c):c=e[2];let u=c,d;e[3]!==t||e[4]!==a?(d=()=>{let e=window.desktopBridge;if(!e)return;let n=a?hp(a):`none`;if(n===`download`){e.downloadUpdate().then(e=>{Ep(t,e.state)}).catch(GS);return}if(n===`install`){if(!window.confirm(xp(a??{availableVersion:null,downloadedVersion:null})))return;e.installUpdate().then(e=>{Ep(t,e.state)}).catch(WS);return}typeof e.checkForUpdate==`function`&&e.checkForUpdate().then(e=>{Ep(t,e.state),e.checked||Y.add(X({type:`error`,title:`Could not check for updates`,description:e.state.message??`Automatic updates are not available in this build.`}))}).catch(US)},e[3]=t,e[4]=a,e[5]=d):d=e[5];let f=d,p;e[6]===a?p=e[7]:(p=a?hp(a):`none`,e[6]=a,e[7]=p);let m=p,h;e[8]===a?h=e[9]:(h=a?bp(a):null,e[8]=a,e[9]=h);let g=h,_;e[10]!==m||e[11]!==a?(_=m===`none`?!wp(a):vp(a),e[10]=m,e[11]=a,e[12]=_):_=e[12];let v=_,y;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(y={download:`Download`,install:`Install`},e[13]=y):y=e[13];let b=y,x;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(x={checking:`Checking…`,downloading:`Downloading…`,"up-to-date":`Up to Date`},e[14]=x):x=e[14];let S=x,C=b[m]??S[a?.status??``]??`Check for Updates`,w=m===`download`||m===`install`?`Update available.`:`Current version of the application.`,T;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(PS,{}),e[15]=T):T=e[15];let E=m===`install`?`default`:`outline`,D;e[16]!==v||e[17]!==C||e[18]!==f||e[19]!==E?(D=(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`xs`,variant:E,disabled:v,onClick:f,children:C})}),e[16]=v,e[17]=C,e[18]=f,e[19]=E,e[20]=D):D=e[20];let O;e[21]===g?O=e[22]:(O=g?(0,$.jsx)(ne,{children:g}):null,e[21]=g,e[22]=O);let k;e[23]!==O||e[24]!==D?(k=(0,$.jsxs)(Ee,{children:[D,O]}),e[23]=O,e[24]=D,e[25]=k):k=e[25];let A;e[26]!==w||e[27]!==k?(A=(0,$.jsx)(x_,{title:T,description:w,control:k}),e[26]=w,e[27]=k,e[28]=A):A=e[28];let j;e[29]===u?j=e[30]:(j=e=>{u(e)},e[29]=u,e[30]=j);let M=!o||r,N=s===`nightly`?`Nightly`:`Stable`,P;e[31]===N?P=e[32]:(P=(0,$.jsx)(gi,{children:N}),e[31]=N,e[32]=P);let F;e[33]!==M||e[34]!==P?(F=(0,$.jsx)(bo,{className:`w-full sm:w-40`,"aria-label":`Update track`,disabled:M,children:P}),e[33]=M,e[34]=P,e[35]=F):F=e[35];let I;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsxs)(Xn,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(di,{hideIndicator:!0,value:`latest`,children:`Stable`}),(0,$.jsx)(di,{hideIndicator:!0,value:`nightly`,children:`Nightly`})]}),e[36]=I):I=e[36];let L;e[37]!==s||e[38]!==j||e[39]!==F?(L=(0,$.jsx)(x_,{title:`Update track`,description:`Stable follows full releases. Nightly follows the nightly desktop channel and can switch back to stable immediately.`,control:(0,$.jsxs)(ko,{value:s,onValueChange:j,children:[F,I]})}),e[37]=s,e[38]=j,e[39]=F,e[40]=L):L=e[40];let R;return e[41]!==A||e[42]!==L?(R=(0,$.jsxs)($.Fragment,{children:[A,L]}),e[41]=A,e[42]=L,e[43]=R):R=e[43],R}function US(e){Y.add(X({type:`error`,title:`Could not check for updates`,description:e instanceof Error?e.message:`Update check failed.`}))}function WS(e){Y.add(X({type:`error`,title:`Could not install update`,description:e instanceof Error?e.message:`Install failed.`}))}function GS(e){Y.add(X({type:`error`,title:`Could not download update`,description:e instanceof Error?e.message:`Download failed.`}))}function KS(e){Y.add(X({type:`error`,title:`Could not change update track`,description:e instanceof Error?e.message:`Update track change failed.`}))}function qS(e){let t=(0,Q.c)(42),{theme:n,setTheme:r}=Us(),i=Bt(),{updateSettings:a}=Qt(),o=!ns(i.textGenerationModelSelection??null,U.textGenerationModelSelection??null),s,c;t[0]===n?c=t[1]:(c=n===`system`?[]:[`Theme`],t[0]=n,t[1]=c);let l;t[2]===i.timestampFormat?l=t[3]:(l=i.timestampFormat===U.timestampFormat?[]:[`Time format`],t[2]=i.timestampFormat,t[3]=l);let u;t[4]===i.diffWordWrap?u=t[5]:(u=i.diffWordWrap===U.diffWordWrap?[]:[`Diff line wrapping`],t[4]=i.diffWordWrap,t[5]=u);let d;t[6]===i.diffIgnoreWhitespace?d=t[7]:(d=i.diffIgnoreWhitespace===U.diffIgnoreWhitespace?[]:[`Diff whitespace changes`],t[6]=i.diffIgnoreWhitespace,t[7]=d);let f;t[8]===i.autoOpenPlanSidebar?f=t[9]:(f=i.autoOpenPlanSidebar===U.autoOpenPlanSidebar?[]:[`Auto-open task panel`],t[8]=i.autoOpenPlanSidebar,t[9]=f);let p;t[10]===i.enableAssistantStreaming?p=t[11]:(p=i.enableAssistantStreaming===U.enableAssistantStreaming?[]:[`Assistant output`],t[10]=i.enableAssistantStreaming,t[11]=p);let m;t[12]===i.defaultThreadEnvMode?m=t[13]:(m=i.defaultThreadEnvMode===U.defaultThreadEnvMode?[]:[`New thread mode`],t[12]=i.defaultThreadEnvMode,t[13]=m);let h;t[14]===i.addProjectBaseDirectory?h=t[15]:(h=i.addProjectBaseDirectory===U.addProjectBaseDirectory?[]:[`Add project base directory`],t[14]=i.addProjectBaseDirectory,t[15]=h);let g;t[16]===i.confirmThreadArchive?g=t[17]:(g=i.confirmThreadArchive===U.confirmThreadArchive?[]:[`Archive confirmation`],t[16]=i.confirmThreadArchive,t[17]=g);let _;t[18]===i.confirmThreadDelete?_=t[19]:(_=i.confirmThreadDelete===U.confirmThreadDelete?[]:[`Delete confirmation`],t[18]=i.confirmThreadDelete,t[19]=_);let v;t[20]===o?v=t[21]:(v=o?[`Git writing model`]:[],t[20]=o,t[21]=v);let y;t[22]!==c||t[23]!==_||t[24]!==v||t[25]!==l||t[26]!==u||t[27]!==d||t[28]!==f||t[29]!==p||t[30]!==m||t[31]!==h||t[32]!==g?(y=[...c,...l,...u,...d,...f,...p,...m,...h,...g,..._,...v],t[22]=c,t[23]=_,t[24]=v,t[25]=l,t[26]=u,t[27]=d,t[28]=f,t[29]=p,t[30]=m,t[31]=h,t[32]=g,t[33]=y):y=t[33],s=y;let b=s,x;t[34]!==b||t[35]!==e||t[36]!==r||t[37]!==a?(x=async()=>{b.length!==0&&await(st()??kt()).dialogs.confirm([`Restore default settings?`,`This will reset: ${b.join(`, `)}.`].join(`
|
|
24
|
-
`))&&(r(`system`),a({timestampFormat:U.timestampFormat,diffWordWrap:U.diffWordWrap,diffIgnoreWhitespace:U.diffIgnoreWhitespace,autoOpenPlanSidebar:U.autoOpenPlanSidebar,enableAssistantStreaming:U.enableAssistantStreaming,defaultThreadEnvMode:U.defaultThreadEnvMode,addProjectBaseDirectory:U.addProjectBaseDirectory,confirmThreadArchive:U.confirmThreadArchive,confirmThreadDelete:U.confirmThreadDelete,textGenerationModelSelection:U.textGenerationModelSelection}),e?.())},t[34]=b,t[35]=e,t[36]=r,t[37]=a,t[38]=x):x=t[38];let S=x,C;return t[39]!==b||t[40]!==S?(C={changedSettingLabels:b,restoreDefaults:S},t[39]=b,t[40]=S,t[41]=C):C=t[41],C}function JS(){let e=(0,Q.c)(207),t=Bt(),{updateSettings:n}=Qt(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={keybindings:!1,logsDirectory:!1},e[0]=r):r=e[0];let[i,a]=(0,Z.useState)(r),o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o={},e[1]=o):o=e[1];let[s,c]=(0,Z.useState)(o),l=mt(),u=Et(),d=yn(),f=d?.logsDirectoryPath??null,p,m=[];d?.otlpTracesEnabled&&d.otlpTracesUrl&&m.push(`traces to ${d.otlpTracesUrl}`),d?.otlpMetricsEnabled&&d.otlpMetricsUrl&&m.push(`metrics to ${d.otlpMetricsUrl}`);let h=d?.localTracingEnabled?`Local trace file`:`Terminal logs only`;p=m.length>0?`${h}. OTLP exporting ${m.join(` and `)}.`:`${h}.`;let g=p,_;e[2]===u?_=e[3]:(_=(e,t,n)=>{if(!t)return;c(t=>({...t,[e]:null})),a(t=>({...t,[e]:!0}));let r=kn(u??[]);if(!r){c(t=>({...t,[e]:`No available editors found.`})),a(t=>({...t,[e]:!1}));return}kt().shell.openInEditor(t,r).catch(t=>{c(r=>({...r,[e]:t instanceof Error?t.message:n}))}).finally(()=>{a(t=>({...t,[e]:!1}))})},e[2]=u,e[3]=_);let v=_,y;e[4]!==l||e[5]!==v?(y=()=>{v(`keybindings`,l,`Unable to open keybindings file.`)},e[4]=l,e[5]=v,e[6]=y):y=e[6];let b=y,x;e[7]!==f||e[8]!==v?(x=()=>{v(`logsDirectory`,f,`Unable to open logs folder.`)},e[7]=f,e[8]=v,e[9]=x):x=e[9];let S=x,C=s.keybindings??null,w=s.logsDirectory??null,T=i.keybindings,E=i.logsDirectory,D;e[10]!==t.timestampFormat||e[11]!==n?(D=t.timestampFormat===U.timestampFormat?null:(0,$.jsx)(S_,{label:`time format`,onClick:()=>n({timestampFormat:U.timestampFormat})}),e[10]=t.timestampFormat,e[11]=n,e[12]=D):D=e[12];let O;e[13]===n?O=e[14]:(O=e=>{(e===`locale`||e===`12-hour`||e===`24-hour`)&&n({timestampFormat:e})},e[13]=n,e[14]=O);let k=kS[t.timestampFormat],A;e[15]===k?A=e[16]:(A=(0,$.jsx)(bo,{className:`w-full sm:w-40`,"aria-label":`Timestamp format`,children:(0,$.jsx)(gi,{children:k})}),e[15]=k,e[16]=A);let j;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsxs)(Xn,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(di,{hideIndicator:!0,value:`locale`,children:kS.locale}),(0,$.jsx)(di,{hideIndicator:!0,value:`12-hour`,children:kS[`12-hour`]}),(0,$.jsx)(di,{hideIndicator:!0,value:`24-hour`,children:kS[`24-hour`]})]}),e[17]=j):j=e[17];let M;e[18]!==t.timestampFormat||e[19]!==O||e[20]!==A?(M=(0,$.jsxs)(ko,{value:t.timestampFormat,onValueChange:O,children:[A,j]}),e[18]=t.timestampFormat,e[19]=O,e[20]=A,e[21]=M):M=e[21];let N;e[22]!==M||e[23]!==D?(N=(0,$.jsx)(x_,{title:`Time format`,description:`System default follows your browser or OS clock preference.`,resetAction:D,control:M}),e[22]=M,e[23]=D,e[24]=N):N=e[24];let P=(u??[]).length>0?`Pin which editor opens directories and files. Auto uses your last selection from the Open menu.`:`No installed editors detected. Install a supported IDE to pick a default.`,F;e[25]!==t.preferredEditor||e[26]!==n?(F=t.preferredEditor===U.preferredEditor?null:(0,$.jsx)(S_,{label:`default editor`,onClick:()=>n({preferredEditor:U.preferredEditor})}),e[25]=t.preferredEditor,e[26]=n,e[27]=F):F=e[27];let I=t.preferredEditor??`__auto__`,L;e[28]===n?L=e[29]:(L=e=>{if(e===`__auto__`){n({preferredEditor:null});return}let t=Ye.find(t=>t.id===e);t&&n({preferredEditor:t.id})},e[28]=n,e[29]=L);let R;e[30]===t.preferredEditor?R=e[31]:(R=t.preferredEditor?(0,$.jsx)(NS,{editor:t.preferredEditor}):null,e[30]=t.preferredEditor,e[31]=R);let ee;e[32]===t.preferredEditor?ee=e[33]:(ee=t.preferredEditor?OS(t.preferredEditor,navigator.platform):`Auto (last used)`,e[32]=t.preferredEditor,e[33]=ee);let z;e[34]===ee?z=e[35]:(z=(0,$.jsx)(gi,{children:ee}),e[34]=ee,e[35]=z);let B;e[36]!==R||e[37]!==z?(B=(0,$.jsxs)(bo,{className:`w-full sm:w-56`,"aria-label":`Default editor`,children:[R,z]}),e[36]=R,e[37]=z,e[38]=B):B=e[38];let V;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(di,{hideIndicator:!0,value:`__auto__`,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`size-4`}),`Auto (last used)`]})}),e[39]=V):V=e[39];let H;e[40]===u?H=e[41]:(H=Ye.filter(e=>(u??[]).includes(e.id)).map(XS),e[40]=u,e[41]=H);let W;e[42]===H?W=e[43]:(W=(0,$.jsxs)(Xn,{align:`end`,alignItemWithTrigger:!1,children:[V,H]}),e[42]=H,e[43]=W);let G;e[44]!==I||e[45]!==L||e[46]!==B||e[47]!==W?(G=(0,$.jsxs)(ko,{value:I,onValueChange:L,children:[B,W]}),e[44]=I,e[45]=L,e[46]=B,e[47]=W,e[48]=G):G=e[48];let te;e[49]!==P||e[50]!==F||e[51]!==G?(te=(0,$.jsx)(x_,{title:`Default editor`,description:P,resetAction:F,control:G}),e[49]=P,e[50]=F,e[51]=G,e[52]=te):te=e[52];let ne;e[53]!==t.diffWordWrap||e[54]!==n?(ne=t.diffWordWrap===U.diffWordWrap?null:(0,$.jsx)(S_,{label:`diff line wrapping`,onClick:()=>n({diffWordWrap:U.diffWordWrap})}),e[53]=t.diffWordWrap,e[54]=n,e[55]=ne):ne=e[55];let re;e[56]===n?re=e[57]:(re=e=>n({diffWordWrap:!!e}),e[56]=n,e[57]=re);let ie;e[58]!==t.diffWordWrap||e[59]!==re?(ie=(0,$.jsx)(Wi,{checked:t.diffWordWrap,onCheckedChange:re,"aria-label":`Wrap diff lines by default`}),e[58]=t.diffWordWrap,e[59]=re,e[60]=ie):ie=e[60];let K;e[61]!==ne||e[62]!==ie?(K=(0,$.jsx)(x_,{title:`Diff line wrapping`,description:`Set the default wrap state when the diff panel opens.`,resetAction:ne,control:ie}),e[61]=ne,e[62]=ie,e[63]=K):K=e[63];let ae;e[64]!==t.diffIgnoreWhitespace||e[65]!==n?(ae=t.diffIgnoreWhitespace===U.diffIgnoreWhitespace?null:(0,$.jsx)(S_,{label:`diff whitespace changes`,onClick:()=>n({diffIgnoreWhitespace:U.diffIgnoreWhitespace})}),e[64]=t.diffIgnoreWhitespace,e[65]=n,e[66]=ae):ae=e[66];let oe;e[67]===n?oe=e[68]:(oe=e=>n({diffIgnoreWhitespace:!!e}),e[67]=n,e[68]=oe);let se;e[69]!==t.diffIgnoreWhitespace||e[70]!==oe?(se=(0,$.jsx)(Wi,{checked:t.diffIgnoreWhitespace,onCheckedChange:oe,"aria-label":`Hide whitespace changes by default`}),e[69]=t.diffIgnoreWhitespace,e[70]=oe,e[71]=se):se=e[71];let ce;e[72]!==ae||e[73]!==se?(ce=(0,$.jsx)(x_,{title:`Hide whitespace changes`,description:`Set whether the diff panel ignores whitespace-only edits by default.`,resetAction:ae,control:se}),e[72]=ae,e[73]=se,e[74]=ce):ce=e[74];let q;e[75]!==t.gitStatusPollIntervalMs||e[76]!==n?(q=t.gitStatusPollIntervalMs===U.gitStatusPollIntervalMs?null:(0,$.jsx)(S_,{label:`git status polling`,onClick:()=>n({gitStatusPollIntervalMs:U.gitStatusPollIntervalMs})}),e[75]=t.gitStatusPollIntervalMs,e[76]=n,e[77]=q):q=e[77];let le=String(t.gitStatusPollIntervalMs),ue;e[78]===n?ue=e[79]:(ue=e=>{let t=MS(e);t!==null&&n({gitStatusPollIntervalMs:t})},e[78]=n,e[79]=ue);let de=AS[t.gitStatusPollIntervalMs],fe;e[80]===de?fe=e[81]:(fe=(0,$.jsx)(bo,{className:`w-full sm:w-40`,"aria-label":`Git status polling interval`,children:(0,$.jsx)(gi,{children:de})}),e[80]=de,e[81]=fe);let pe;e[82]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(Xn,{align:`end`,alignItemWithTrigger:!1,children:jS.map(YS)}),e[82]=pe):pe=e[82];let me;e[83]!==le||e[84]!==ue||e[85]!==fe?(me=(0,$.jsxs)(ko,{value:le,onValueChange:ue,children:[fe,pe]}),e[83]=le,e[84]=ue,e[85]=fe,e[86]=me):me=e[86];let he;e[87]!==q||e[88]!==me?(he=(0,$.jsx)(x_,{title:`Git status polling`,description:`Refresh remote branch and pull request status while a repository is open.`,resetAction:q,control:me}),e[87]=q,e[88]=me,e[89]=he):he=e[89];let ge;e[90]!==t.enableAssistantStreaming||e[91]!==n?(ge=t.enableAssistantStreaming===U.enableAssistantStreaming?null:(0,$.jsx)(S_,{label:`assistant output`,onClick:()=>n({enableAssistantStreaming:U.enableAssistantStreaming})}),e[90]=t.enableAssistantStreaming,e[91]=n,e[92]=ge):ge=e[92];let _e;e[93]===n?_e=e[94]:(_e=e=>n({enableAssistantStreaming:!!e}),e[93]=n,e[94]=_e);let ve;e[95]!==t.enableAssistantStreaming||e[96]!==_e?(ve=(0,$.jsx)(Wi,{checked:t.enableAssistantStreaming,onCheckedChange:_e,"aria-label":`Stream assistant messages`}),e[95]=t.enableAssistantStreaming,e[96]=_e,e[97]=ve):ve=e[97];let ye;e[98]!==ge||e[99]!==ve?(ye=(0,$.jsx)(x_,{title:`Assistant output`,description:`Show token-by-token output while a response is in progress.`,resetAction:ge,control:ve}),e[98]=ge,e[99]=ve,e[100]=ye):ye=e[100];let be;e[101]!==t.autoOpenPlanSidebar||e[102]!==n?(be=t.autoOpenPlanSidebar===U.autoOpenPlanSidebar?null:(0,$.jsx)(S_,{label:`auto-open task panel`,onClick:()=>n({autoOpenPlanSidebar:U.autoOpenPlanSidebar})}),e[101]=t.autoOpenPlanSidebar,e[102]=n,e[103]=be):be=e[103];let xe;e[104]===n?xe=e[105]:(xe=e=>n({autoOpenPlanSidebar:!!e}),e[104]=n,e[105]=xe);let Se;e[106]!==t.autoOpenPlanSidebar||e[107]!==xe?(Se=(0,$.jsx)(Wi,{checked:t.autoOpenPlanSidebar,onCheckedChange:xe,"aria-label":`Open the task panel automatically`}),e[106]=t.autoOpenPlanSidebar,e[107]=xe,e[108]=Se):Se=e[108];let Ce;e[109]!==be||e[110]!==Se?(Ce=(0,$.jsx)(x_,{title:`Auto-open task panel`,description:`Open the right-side plan and task panel automatically when steps appear.`,resetAction:be,control:Se}),e[109]=be,e[110]=Se,e[111]=Ce):Ce=e[111];let we;e[112]!==t.defaultThreadEnvMode||e[113]!==n?(we=t.defaultThreadEnvMode===U.defaultThreadEnvMode?null:(0,$.jsx)(S_,{label:`new threads`,onClick:()=>n({defaultThreadEnvMode:U.defaultThreadEnvMode})}),e[112]=t.defaultThreadEnvMode,e[113]=n,e[114]=we):we=e[114];let Te;e[115]===n?Te=e[116]:(Te=e=>{(e===`local`||e===`worktree`)&&n({defaultThreadEnvMode:e})},e[115]=n,e[116]=Te);let Ee=t.defaultThreadEnvMode===`worktree`?`New worktree`:`Local`,De;e[117]===Ee?De=e[118]:(De=(0,$.jsx)(bo,{className:`w-full sm:w-44`,"aria-label":`Default thread mode`,children:(0,$.jsx)(gi,{children:Ee})}),e[117]=Ee,e[118]=De);let Oe;e[119]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsxs)(Xn,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(di,{hideIndicator:!0,value:`local`,children:`Local`}),(0,$.jsx)(di,{hideIndicator:!0,value:`worktree`,children:`New worktree`})]}),e[119]=Oe):Oe=e[119];let ke;e[120]!==t.defaultThreadEnvMode||e[121]!==Te||e[122]!==De?(ke=(0,$.jsxs)(ko,{value:t.defaultThreadEnvMode,onValueChange:Te,children:[De,Oe]}),e[120]=t.defaultThreadEnvMode,e[121]=Te,e[122]=De,e[123]=ke):ke=e[123];let Ae;e[124]!==we||e[125]!==ke?(Ae=(0,$.jsx)(x_,{title:`New threads`,description:`Pick the default workspace mode for newly created draft threads.`,resetAction:we,control:ke}),e[124]=we,e[125]=ke,e[126]=Ae):Ae=e[126];let je;e[127]!==t.addProjectBaseDirectory||e[128]!==n?(je=t.addProjectBaseDirectory===U.addProjectBaseDirectory?null:(0,$.jsx)(S_,{label:`add project base directory`,onClick:()=>n({addProjectBaseDirectory:U.addProjectBaseDirectory})}),e[127]=t.addProjectBaseDirectory,e[128]=n,e[129]=je):je=e[129];let Me;e[130]===n?Me=e[131]:(Me=e=>n({addProjectBaseDirectory:e}),e[130]=n,e[131]=Me);let Ne;e[132]!==t.addProjectBaseDirectory||e[133]!==Me?(Ne=(0,$.jsx)(Jb,{className:`w-full sm:w-72`,value:t.addProjectBaseDirectory,onCommit:Me,placeholder:`~/`,spellCheck:!1,"aria-label":`Add project base directory`}),e[132]=t.addProjectBaseDirectory,e[133]=Me,e[134]=Ne):Ne=e[134];let Pe;e[135]!==je||e[136]!==Ne?(Pe=(0,$.jsx)(x_,{title:`Add project starts in`,description:`Leave empty to use "~/" when the Add Project browser opens.`,resetAction:je,control:Ne}),e[135]=je,e[136]=Ne,e[137]=Pe):Pe=e[137];let Fe;e[138]!==t.confirmThreadArchive||e[139]!==n?(Fe=t.confirmThreadArchive===U.confirmThreadArchive?null:(0,$.jsx)(S_,{label:`archive confirmation`,onClick:()=>n({confirmThreadArchive:U.confirmThreadArchive})}),e[138]=t.confirmThreadArchive,e[139]=n,e[140]=Fe):Fe=e[140];let Ie;e[141]===n?Ie=e[142]:(Ie=e=>n({confirmThreadArchive:!!e}),e[141]=n,e[142]=Ie);let Le;e[143]!==t.confirmThreadArchive||e[144]!==Ie?(Le=(0,$.jsx)(Wi,{checked:t.confirmThreadArchive,onCheckedChange:Ie,"aria-label":`Confirm thread archiving`}),e[143]=t.confirmThreadArchive,e[144]=Ie,e[145]=Le):Le=e[145];let Re;e[146]!==Fe||e[147]!==Le?(Re=(0,$.jsx)(x_,{title:`Archive confirmation`,description:`Require a second click on the inline archive action before a thread is archived.`,resetAction:Fe,control:Le}),e[146]=Fe,e[147]=Le,e[148]=Re):Re=e[148];let ze;e[149]!==t.confirmThreadDelete||e[150]!==n?(ze=t.confirmThreadDelete===U.confirmThreadDelete?null:(0,$.jsx)(S_,{label:`delete confirmation`,onClick:()=>n({confirmThreadDelete:U.confirmThreadDelete})}),e[149]=t.confirmThreadDelete,e[150]=n,e[151]=ze):ze=e[151];let Be;e[152]===n?Be=e[153]:(Be=e=>n({confirmThreadDelete:!!e}),e[152]=n,e[153]=Be);let Ve;e[154]!==t.confirmThreadDelete||e[155]!==Be?(Ve=(0,$.jsx)(Wi,{checked:t.confirmThreadDelete,onCheckedChange:Be,"aria-label":`Confirm thread deletion`}),e[154]=t.confirmThreadDelete,e[155]=Be,e[156]=Ve):Ve=e[156];let He;e[157]!==ze||e[158]!==Ve?(He=(0,$.jsx)(x_,{title:`Delete confirmation`,description:`Ask before deleting a thread and its chat history.`,resetAction:ze,control:Ve}),e[157]=ze,e[158]=Ve,e[159]=He):He=e[159];let Ue;e[160]!==N||e[161]!==te||e[162]!==K||e[163]!==ce||e[164]!==he||e[165]!==ye||e[166]!==Ce||e[167]!==Ae||e[168]!==Pe||e[169]!==Re||e[170]!==He?(Ue=(0,$.jsxs)(b_,{title:`General`,children:[N,te,K,ce,he,ye,Ce,Ae,Pe,Re,He]}),e[160]=N,e[161]=te,e[162]=K,e[163]=ce,e[164]=he,e[165]=ye,e[166]=Ce,e[167]=Ae,e[168]=Pe,e[169]=Re,e[170]=He,e[171]=Ue):Ue=e[171];let We=l??`Resolving keybindings path...`,Ge;e[172]===We?Ge=e[173]:(Ge=(0,$.jsx)(`span`,{className:`block break-all font-mono text-[11px] text-foreground`,children:We}),e[172]=We,e[173]=Ge);let Ke;e[174]===C?Ke=e[175]:(Ke=C?(0,$.jsx)(`span`,{className:`mt-1 block text-destructive`,children:C}):(0,$.jsx)(`span`,{className:`mt-1 block`,children:`Opens in your preferred editor.`}),e[174]=C,e[175]=Ke);let qe;e[176]!==Ge||e[177]!==Ke?(qe=(0,$.jsxs)($.Fragment,{children:[Ge,Ke]}),e[176]=Ge,e[177]=Ke,e[178]=qe):qe=e[178];let Je=!l||T,Xe=T?`Opening...`:`Open file`,Ze;e[179]!==b||e[180]!==Je||e[181]!==Xe?(Ze=(0,$.jsx)(J,{size:`xs`,variant:`outline`,disabled:Je,onClick:b,children:Xe}),e[179]=b,e[180]=Je,e[181]=Xe,e[182]=Ze):Ze=e[182];let Qe;e[183]!==qe||e[184]!==Ze?(Qe=(0,$.jsx)(b_,{title:`Advanced`,children:(0,$.jsx)(x_,{title:`Keybindings`,description:"Open the persisted `keybindings.json` file to edit advanced bindings directly.",status:qe,control:Ze})}),e[183]=qe,e[184]=Ze,e[185]=Qe):Qe=e[185];let $e,et;e[186]===Symbol.for(`react.memo_cache_sentinel`)?($e=(0,$.jsx)(zS,{}),et=wt?(0,$.jsx)(HS,{}):(0,$.jsx)(x_,{title:(0,$.jsx)(PS,{}),description:`Current version of the application.`}),e[186]=$e,e[187]=et):($e=e[186],et=e[187]);let tt=f??`Resolving logs directory...`,nt;e[188]===tt?nt=e[189]:(nt=(0,$.jsx)(`span`,{className:`block break-all font-mono text-[11px] text-foreground`,children:tt}),e[188]=tt,e[189]=nt);let rt;e[190]===w?rt=e[191]:(rt=w?(0,$.jsx)(`span`,{className:`mt-1 block text-destructive`,children:w}):null,e[190]=w,e[191]=rt);let it;e[192]!==nt||e[193]!==rt?(it=(0,$.jsxs)($.Fragment,{children:[nt,rt]}),e[192]=nt,e[193]=rt,e[194]=it):it=e[194];let at=!f||E,ot=E?`Opening...`:`Open logs folder`,st;e[195]!==S||e[196]!==at||e[197]!==ot?(st=(0,$.jsx)(J,{size:`xs`,variant:`outline`,disabled:at,onClick:S,children:ot}),e[195]=S,e[196]=at,e[197]=ot,e[198]=st):st=e[198];let ct;e[199]!==g||e[200]!==it||e[201]!==st?(ct=(0,$.jsxs)(b_,{title:`About`,children:[$e,et,(0,$.jsx)(x_,{title:`Diagnostics`,description:g,status:it,control:st})]}),e[199]=g,e[200]=it,e[201]=st,e[202]=ct):ct=e[202];let lt;return e[203]!==Ue||e[204]!==Qe||e[205]!==ct?(lt=(0,$.jsxs)(C_,{children:[Ue,Qe,ct]}),e[203]=Ue,e[204]=Qe,e[205]=ct,e[206]=lt):lt=e[206],lt}function YS(e){return(0,$.jsx)(di,{hideIndicator:!0,value:String(e),children:AS[e]},e)}function XS(e){return(0,$.jsx)(di,{hideIndicator:!0,value:e.id,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,$.jsx)(NS,{editor:e.id}),OS(e.id,navigator.platform)]})},e.id)}function ZS(){let e=qe(ct(k)),t=qe(ct(Pe)),{unarchiveThread:n,confirmAndDeleteThread:r}=mp(),i=(0,Z.useMemo)(()=>e.map(e=>({project:e,threads:t.filter(t=>t.projectId===e.id&&t.archivedAt!==null).toSorted((e,t)=>{let n=e.archivedAt??e.createdAt;return(t.archivedAt??t.createdAt).localeCompare(n)||t.id.localeCompare(e.id)})})).filter(e=>e.threads.length>0),[e,t]),a=(0,Z.useCallback)(async(e,t)=>{let i=st();if(!i)return;let a=await i.contextMenu.show([{id:`unarchive`,label:`Unarchive`},{id:`delete`,label:`Delete`,destructive:!0}],t);if(a===`unarchive`){try{await n(e)}catch(e){Y.add(X({type:`error`,title:`Failed to unarchive thread`,description:e instanceof Error?e.message:`An error occurred.`}))}return}a===`delete`&&await r(e)},[r,n]);return(0,$.jsx)(C_,{children:i.length===0?(0,$.jsx)(b_,{title:`Archived threads`,children:(0,$.jsxs)(vo,{className:`min-h-88`,children:[(0,$.jsx)(Kr,{variant:`icon`,children:(0,$.jsx)(ac,{})}),(0,$.jsxs)($n,{children:[(0,$.jsx)(Oa,{children:`No archived threads`}),(0,$.jsx)(ir,{children:`Archived threads will appear here.`})]})]})}):i.map(({project:e,threads:t})=>(0,$.jsx)(b_,{title:e.name,icon:(0,$.jsx)(Kc,{environmentId:e.environmentId,cwd:e.cwd,projectId:e.id,customAvatarContentHash:e.customAvatarContentHash??null}),children:t.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border px-4 py-3 first:border-t-0 sm:px-5`,onContextMenu:t=>{t.preventDefault(),a(Io(e.environmentId,e.id),{x:t.clientX,y:t.clientY})},children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h3`,{className:`truncate text-sm font-medium text-foreground`,children:e.title}),(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Archived `,Mn(e.archivedAt??e.createdAt),` · Created `,Mn(e.createdAt)]})]}),(0,$.jsxs)(J,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 shrink-0 cursor-pointer gap-1.5 px-2.5`,onClick:()=>void n(Io(e.environmentId,e.id)).catch(e=>{Y.add(X({type:`error`,title:`Failed to unarchive thread`,description:e instanceof Error?e.message:`An error occurred.`}))}),children:[(0,$.jsx)(ic,{className:`size-3.5`}),(0,$.jsx)(`span`,{children:`Unarchive`})]})]},e.id))},e.id))})}var QS={versionControlSystems:[],sourceControlProviders:[]},$S={github:eo,gitlab:qi,forgejo:so,"azure-devops":Bi,bitbucket:ri},eC={git:Sa,jj:io},tC=[`primary`,`secondary`],nC=[`atlassian`,`connections`];function rC(e){return Bo(e)}function iC(e){return`auth`in e}function aC(e){return!iC(e)&&!e.implemented}function oC(e){return e.status===`authenticated`?{label:`Authenticated`,badge:null}:e.status===`unauthenticated`?{label:`Not authenticated`,badge:`warning`}:{label:`Status unknown`,badge:null}}function sC(e){let t=(0,Q.c)(2),n;return t[0]===e.account?n=t[1]:(n=(0,$.jsx)(Ix,{value:e.account,ariaLabel:`Toggle source control account visibility`,revealTooltip:`Click to reveal account`,hideTooltip:`Click to hide account`}),t[0]=e.account,t[1]=n),n}function cC(e){return aC(e)?`bg-muted-foreground/35`:e.status!==`available`||iC(e)&&e.auth.status!==`authenticated`?`bg-warning`:`bg-success`}function lC(e){let t=(0,Q.c)(13),{item:n}=e,r,i,a,o;if(t[0]!==n){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e=cC(n),s=iC(n)?$S[n.kind]:eC[n.kind];if(!s){o=(0,$.jsx)(`span`,{className:R(`size-2 shrink-0 rounded-full`,e),"aria-hidden":!0});break bb0}i=`relative inline-flex size-5 shrink-0 items-center justify-center`,t[5]===s?a=t[6]:(a=(0,$.jsx)(s,{className:`size-4.5 text-foreground/80`,"aria-hidden":!0}),t[5]=s,t[6]=a),r=R(`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,e)}t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o}else r=t[1],i=t[2],a=t[3],o=t[4];if(o!==Symbol.for(`react.early_return_sentinel`))return o;let s;t[7]===r?s=t[8]:(s=(0,$.jsx)(`span`,{className:r,"aria-hidden":!0}),t[7]=r,t[8]=s);let c;return t[9]!==i||t[10]!==a||t[11]!==s?(c=(0,$.jsxs)(`span`,{className:i,children:[a,s]}),t[9]=i,t[10]=a,t[11]=s,t[12]=c):c=t[12],c}function uC({item:e,auth:t,authAccount:n,authHost:r}){return aC(e)?(0,$.jsxs)(`span`,{children:[`Support for `,e.label,` is coming soon.`]}):e.status===`available`?t?t.status===`authenticated`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:`Authenticated`}),n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`as`}),(0,$.jsx)(sC,{account:n})]}):null,r?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`on`}),(0,$.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-[11px] text-muted-foreground`,children:r})]}):null]}):e.executable?t.status===`unauthenticated`?(0,$.jsxs)(`span`,{children:[e.label,` is not authenticated on this server. Sign in or configure credentials using the `,(0,$.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-[11px]`,children:e.executable}),` `,`tool on the server host to enable pull request features.`]}):(0,$.jsxs)(`span`,{children:[`Could not verify `,e.label,`. `,rC(t.detail)??e.installHint]}):(0,$.jsx)(`span`,{children:e.installHint}):(0,$.jsx)(`span`,{children:`Available`}):(0,$.jsxs)(`span`,{children:[`Not available on this server — `,e.installHint]})}function dC(e){let t=(0,Q.c)(57),{item:n}=e,r;t[0]===n.version?r=t[1]:(r=rC(n.version),t[0]=n.version,t[1]=r);let i=r,a;t[2]===n?a=t[3]:(a=n.status===`available`&&(iC(n)||n.implemented),t[2]=n,t[3]=a);let o=a,s=iC(n)?n.auth:null,c;t[4]===s?c=t[5]:(c=s?oC(s):null,t[4]=s,t[5]=c);let l=c,u,d,f,p,m,h,g;if(t[6]!==s||t[7]!==l||t[8]!==n||t[9]!==i){let e=s?rC(s.account):null,r=s?rC(s.host):null;t[17]===n?u=t[18]:(u=R(`border-t border-border/60 first:border-t-0`,aC(n)&&`opacity-80`),t[17]=n,t[18]=u),g=`px-4 py-3.5 sm:px-5`,h=`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,p=`min-w-0 flex-1 space-y-1`;let a;t[19]===n?a=t[20]:(a=(0,$.jsx)(lC,{item:n}),t[19]=n,t[20]=a);let o;t[21]===n.label?o=t[22]:(o=(0,$.jsx)(`h3`,{className:`truncate text-[13px] font-semibold tracking-[-0.01em] text-foreground`,children:n.label}),t[21]=n.label,t[22]=o);let c;t[23]===i?c=t[24]:(c=i?(0,$.jsx)(`code`,{className:`text-xs text-muted-foreground`,children:i}):null,t[23]=i,t[24]=c);let _;t[25]===n?_=t[26]:(_=aC(n)?(0,$.jsx)(cs,{variant:`warning`,size:`sm`,children:`Coming Soon`}):null,t[25]=n,t[26]=_);let v;t[27]===l?v=t[28]:(v=l?.badge?(0,$.jsx)(cs,{variant:l.badge,size:`sm`,children:l.label}):null,t[27]=l,t[28]=v),t[29]!==a||t[30]!==o||t[31]!==c||t[32]!==_||t[33]!==v?(m=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[a,o,c,_,v]}),t[29]=a,t[30]=o,t[31]=c,t[32]=_,t[33]=v,t[34]=m):m=t[34],d=`flex min-w-0 flex-wrap items-center gap-x-1 text-xs text-muted-foreground`,f=uC({item:n,auth:s,authAccount:e,authHost:r}),t[6]=s,t[7]=l,t[8]=n,t[9]=i,t[10]=u,t[11]=d,t[12]=f,t[13]=p,t[14]=m,t[15]=h,t[16]=g}else u=t[10],d=t[11],f=t[12],p=t[13],m=t[14],h=t[15],g=t[16];let _;t[35]!==d||t[36]!==f?(_=(0,$.jsx)(`p`,{className:d,children:f}),t[35]=d,t[36]=f,t[37]=_):_=t[37];let v;t[38]!==_||t[39]!==p||t[40]!==m?(v=(0,$.jsxs)(`div`,{className:p,children:[m,_]}),t[38]=_,t[39]=p,t[40]=m,t[41]=v):v=t[41];let y;t[42]!==o||t[43]!==n?(y=aC(n)?null:(0,$.jsx)(Wi,{checked:o,disabled:!0,"aria-label":`${n.label} availability`}),t[42]=o,t[43]=n,t[44]=y):y=t[44];let b;t[45]===y?b=t[46]:(b=(0,$.jsx)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:y}),t[45]=y,t[46]=b);let x;t[47]!==v||t[48]!==b||t[49]!==h?(x=(0,$.jsxs)(`div`,{className:h,children:[v,b]}),t[47]=v,t[48]=b,t[49]=h,t[50]=x):x=t[50];let S;t[51]!==x||t[52]!==g?(S=(0,$.jsx)(`div`,{className:g,children:x}),t[51]=x,t[52]=g,t[53]=S):S=t[53];let C;return t[54]!==u||t[55]!==S?(C=(0,$.jsx)(`div`,{className:u,children:S}),t[54]=u,t[55]=S,t[56]=C):C=t[56],C}function fC(e){let t=(0,Q.c)(4),{title:n,headerAction:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=tC.map(pC),t[0]=i):i=t[0];let a;return t[1]!==r||t[2]!==n?(a=(0,$.jsx)(b_,{title:n,headerAction:r,children:i}),t[1]=r,t[2]=n,t[3]=a):a=t[3],a}function pC(e){return(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3.5 first:border-t-0 sm:px-5`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`relative inline-flex size-5 shrink-0 items-center justify-center`,children:[(0,$.jsx)(x,{className:`size-4.5 rounded-md`}),(0,$.jsx)(x,{className:`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,"aria-hidden":!0})]}),(0,$.jsx)(x,{className:`h-4 w-28 rounded-full`}),(0,$.jsx)(x,{className:`h-5 w-14 rounded-full`})]}),(0,$.jsx)(x,{className:`h-3 w-full max-w-xs rounded-full`})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,$.jsx)(x,{className:`size-7 rounded-md`}),(0,$.jsx)(x,{className:`h-5 w-9 rounded-full`})]})]})},e)}function mC(e){switch(e){case`connected`:return`success`;case`needs_reauth`:return`warning`;case`invalid`:return`error`;case`revoked`:return`outline`}}function hC(e){switch(e){case`oauth_3lo`:return`OAuth`;case`bitbucket_token`:return`Bitbucket token`;case`jira_token`:return`Jira token`;case`env_fallback`:return`Environment`}}function gC(e){let t=(0,Q.c)(4);if(e.products.includes(`bitbucket`)){let n;return t[0]===e.className?n=t[1]:(n=(0,$.jsx)(ri,{className:e.className,"aria-hidden":!0}),t[0]=e.className,t[1]=n),n}let n;return t[2]===e.className?n=t[3]:(n=(0,$.jsx)(Zi,{className:e.className,"aria-hidden":!0}),t[2]=e.className,t[3]=n),n}function _C(){let e=(0,Q.c)(98),t=l(),[n,r]=(0,Z.useState)(`Bitbucket`),[i,a]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(`Jira`),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(``),[g,_]=(0,Z.useState)(``),v;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(v=Dt(),e[0]=v):v=e[0];let y=v?.client??null,b;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(b={queryKey:nC,queryFn:async()=>y?y.atlassian.listConnections():[],enabled:y!==null},e[1]=b):b=e[1];let x=o(b),S;e[2]!==i||e[3]!==n||e[4]!==s?(S=async()=>{if(!y)throw Error(`No server connection is available.`);return y.atlassian.saveManualBitbucketToken({label:n.trim(),email:i.trim(),token:s.trim(),isDefault:!0})},e[2]=i,e[3]=n,e[4]=s,e[5]=S):S=e[5];let C;e[6]===t?C=e[7]:(C=()=>{r(`Bitbucket`),a(``),c(``),t.invalidateQueries({queryKey:nC}),Y.add(X({type:`success`,title:`Bitbucket token saved`,description:`Ryco can now use this Atlassian connection for Bitbucket workflows.`}))},e[6]=t,e[7]=C);let w;e[8]!==S||e[9]!==C?(w={mutationFn:S,onSuccess:C,onError:bC},e[8]=S,e[9]=C,e[10]=w):w=e[10];let T=ia(w),E;e[11]!==f||e[12]!==u||e[13]!==m||e[14]!==g?(E=async()=>{if(!y)throw Error(`No server connection is available.`);return y.atlassian.saveManualJiraToken({label:u.trim(),email:f.trim(),siteUrl:m.trim(),token:g.trim(),isDefault:!0})},e[11]=f,e[12]=u,e[13]=m,e[14]=g,e[15]=E):E=e[15];let D;e[16]===t?D=e[17]:(D=()=>{d(`Jira`),p(``),h(``),_(``),t.invalidateQueries({queryKey:nC}),Y.add(X({type:`success`,title:`Jira token saved`,description:`Ryco can now load Jira work items for linked projects.`}))},e[16]=t,e[17]=D);let O;e[18]!==E||e[19]!==D?(O={mutationFn:E,onSuccess:D,onError:yC},e[18]=E,e[19]=D,e[20]=O):O=e[20];let k=ia(O),A;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(A=async e=>{if(!y)throw Error(`No server connection is available.`);return y.atlassian.disconnect({connectionId:e.connectionId})},e[21]=A):A=e[21];let j;e[22]===t?j=e[23]:(j={mutationFn:A,onSuccess:()=>{t.invalidateQueries({queryKey:nC})},onError:vC},e[22]=t,e[23]=j);let M=ia(j),N=y!==null&&n.trim().length>0&&i.trim().length>0&&s.trim().length>0&&!T.isPending,P=y!==null&&u.trim().length>0&&f.trim().length>0&&m.trim().length>0&&g.trim().length>0&&!k.isPending,F;e[24]!==N||e[25]!==T?(F=e=>{e.preventDefault(),N&&T.mutate()},e[24]=N,e[25]=T,e[26]=F):F=e[26];let I=F,L;e[27]!==P||e[28]!==k?(L=e=>{e.preventDefault(),P&&k.mutate()},e[27]=P,e[28]=k,e[29]=L):L=e[29];let R=L,ee;e[30]===x.data?ee=e[31]:(ee=x.data??[],e[30]=x.data,e[31]=ee);let z=ee,B;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(`div`,{className:`border-t border-border/60 bg-muted/20 px-4 py-2.5 sm:px-5`,children:(0,$.jsxs)(`h3`,{className:`flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground/70`,children:[(0,$.jsx)(Sc,{className:`size-3`,"aria-hidden":!0}),`Atlassian`]})}),e[32]=B):B=e[32];let V;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(na,{htmlFor:`bitbucket-token-label`,className:`text-xs`,children:`Label`}),e[33]=V):V=e[33];let H;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>r(e.currentTarget.value),e[34]=H):H=e[34];let U;e[35]===n?U=e[36]:(U=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[V,(0,$.jsx)(tr,{id:`bitbucket-token-label`,size:`sm`,value:n,autoComplete:`organization`,onChange:H,placeholder:`Bitbucket`})]}),e[35]=n,e[36]=U);let W;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(na,{htmlFor:`bitbucket-token-email`,className:`text-xs`,children:`Email`}),e[37]=W):W=e[37];let G;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(G=e=>a(e.currentTarget.value),e[38]=G):G=e[38];let te;e[39]===i?te=e[40]:(te=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[W,(0,$.jsx)(tr,{id:`bitbucket-token-email`,size:`sm`,type:`email`,value:i,autoComplete:`username`,onChange:G,placeholder:`you@example.com`})]}),e[39]=i,e[40]=te);let ne;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(na,{htmlFor:`bitbucket-token-secret`,className:`text-xs`,children:`Bitbucket app password`}),e[41]=ne):ne=e[41];let re;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>c(e.currentTarget.value),e[42]=re):re=e[42];let ie;e[43]===s?ie=e[44]:(ie=(0,$.jsx)(tr,{id:`bitbucket-token-secret`,size:`sm`,type:`password`,value:s,autoComplete:`current-password`,onChange:re,placeholder:`Stored locally in the server secret store`}),e[43]=s,e[44]=ie);let K=!N,ae;e[45]===T.isPending?ae=e[46]:(ae=T.isPending?(0,$.jsx)(Sr,{className:`size-3`}):null,e[45]=T.isPending,e[46]=ae);let oe;e[47]!==K||e[48]!==ae?(oe=(0,$.jsxs)(J,{type:`submit`,size:`sm`,className:`h-7.5 shrink-0 gap-1.5 px-3 text-xs`,disabled:K,children:[ae,`Save Token`]}),e[47]=K,e[48]=ae,e[49]=oe):oe=e[49];let se;e[50]!==ie||e[51]!==oe?(se=(0,$.jsxs)(`div`,{className:`space-y-1.5 sm:col-span-2`,children:[ne,(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[ie,oe]})]}),e[50]=ie,e[51]=oe,e[52]=se):se=e[52];let ce;e[53]!==I||e[54]!==U||e[55]!==te||e[56]!==se?(ce=(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-4 sm:px-5`,children:(0,$.jsxs)(`form`,{className:`grid gap-3 sm:grid-cols-[1fr_1fr] sm:items-end`,onSubmit:I,children:[U,te,se]})}),e[53]=I,e[54]=U,e[55]=te,e[56]=se,e[57]=ce):ce=e[57];let q;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(na,{htmlFor:`jira-token-label`,className:`text-xs`,children:`Label`}),e[58]=q):q=e[58];let le;e[59]===Symbol.for(`react.memo_cache_sentinel`)?(le=e=>d(e.currentTarget.value),e[59]=le):le=e[59];let ue;e[60]===u?ue=e[61]:(ue=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[q,(0,$.jsx)(tr,{id:`jira-token-label`,size:`sm`,value:u,autoComplete:`organization`,onChange:le,placeholder:`Jira`})]}),e[60]=u,e[61]=ue);let de;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,$.jsx)(na,{htmlFor:`jira-token-email`,className:`text-xs`,children:`Email`}),e[62]=de):de=e[62];let fe;e[63]===Symbol.for(`react.memo_cache_sentinel`)?(fe=e=>p(e.currentTarget.value),e[63]=fe):fe=e[63];let pe;e[64]===f?pe=e[65]:(pe=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[de,(0,$.jsx)(tr,{id:`jira-token-email`,size:`sm`,type:`email`,value:f,autoComplete:`username`,onChange:fe,placeholder:`you@example.com`})]}),e[64]=f,e[65]=pe);let me;e[66]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,$.jsx)(na,{htmlFor:`jira-site-url`,className:`text-xs`,children:`Jira site URL`}),e[66]=me):me=e[66];let he;e[67]===Symbol.for(`react.memo_cache_sentinel`)?(he=e=>h(e.currentTarget.value),e[67]=he):he=e[67];let ge;e[68]===m?ge=e[69]:(ge=(0,$.jsxs)(`div`,{className:`space-y-1.5 sm:col-span-2`,children:[me,(0,$.jsx)(tr,{id:`jira-site-url`,size:`sm`,value:m,inputMode:`url`,autoComplete:`url`,onChange:he,placeholder:`https://your-team.atlassian.net`})]}),e[68]=m,e[69]=ge);let _e;e[70]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(na,{htmlFor:`jira-token-secret`,className:`text-xs`,children:`Jira API token`}),e[70]=_e):_e=e[70];let ve;e[71]===Symbol.for(`react.memo_cache_sentinel`)?(ve=e=>_(e.currentTarget.value),e[71]=ve):ve=e[71];let ye;e[72]===g?ye=e[73]:(ye=(0,$.jsx)(tr,{id:`jira-token-secret`,size:`sm`,type:`password`,value:g,autoComplete:`current-password`,onChange:ve,placeholder:`Stored locally in the server secret store`}),e[72]=g,e[73]=ye);let be=!P,xe;e[74]===k.isPending?xe=e[75]:(xe=k.isPending?(0,$.jsx)(Sr,{className:`size-3`}):null,e[74]=k.isPending,e[75]=xe);let Se;e[76]!==be||e[77]!==xe?(Se=(0,$.jsxs)(J,{type:`submit`,size:`sm`,className:`h-7.5 shrink-0 gap-1.5 px-3 text-xs`,disabled:be,children:[xe,`Save Jira`]}),e[76]=be,e[77]=xe,e[78]=Se):Se=e[78];let Ce;e[79]!==ye||e[80]!==Se?(Ce=(0,$.jsxs)(`div`,{className:`space-y-1.5 sm:col-span-2`,children:[_e,(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[ye,Se]})]}),e[79]=ye,e[80]=Se,e[81]=Ce):Ce=e[81];let we;e[82]!==R||e[83]!==ue||e[84]!==pe||e[85]!==ge||e[86]!==Ce?(we=(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-4 sm:px-5`,children:(0,$.jsxs)(`form`,{className:`grid gap-3 sm:grid-cols-[1fr_1fr] sm:items-end`,onSubmit:R,children:[ue,pe,ge,Ce]})}),e[82]=R,e[83]=ue,e[84]=pe,e[85]=ge,e[86]=Ce,e[87]=we):we=e[87];let Te;e[88]!==x.isPending||e[89]!==M||e[90]!==z?(Te=x.isPending?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-4 text-xs text-muted-foreground sm:px-5`,children:[(0,$.jsx)(Sr,{className:`size-3.5`}),`Loading Atlassian connections`]}):z.length===0?(0,$.jsx)(`div`,{className:`px-4 py-4 text-xs leading-relaxed text-muted-foreground sm:px-5`,children:`No Atlassian connections are stored yet. Add Bitbucket and Jira tokens to enable repository PRs, diffs, and work-item links.`}):z.map(e=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 border-t border-border/60 px-4 py-3.5 first:border-t-0 sm:flex-row sm:items-center sm:justify-between sm:px-5`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,$.jsx)(gC,{products:e.products,className:`size-4 text-foreground/80`}),(0,$.jsx)(`h3`,{className:`truncate text-[13px] font-semibold text-foreground`,children:e.label}),(0,$.jsx)(cs,{variant:mC(e.status),size:`sm`,children:e.status.replace(`_`,` `)}),(0,$.jsx)(cs,{variant:`outline`,size:`sm`,children:hC(e.kind)})]}),(0,$.jsxs)(`p`,{className:`flex min-w-0 flex-wrap gap-x-1 text-xs text-muted-foreground`,children:[e.accountEmail?(0,$.jsx)(sC,{account:e.accountEmail}):(0,$.jsx)(`span`,{children:`No account email saved`}),(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,$.jsx)(`span`,{children:e.capabilities.join(`, `)})]})]}),(0,$.jsx)(J,{type:`button`,size:`icon-xs`,variant:`ghost`,className:`size-7 self-start text-muted-foreground hover:text-destructive sm:self-auto`,"aria-label":`Disconnect ${e.label}`,disabled:M.isPending||e.readonly,onClick:()=>M.mutate(e),children:(0,$.jsx)(Oo,{className:`size-3.5`})})]},e.connectionId)),e[88]=x.isPending,e[89]=M,e[90]=z,e[91]=Te):Te=e[91];let Ee;e[92]===Te?Ee=e[93]:(Ee=(0,$.jsx)(`div`,{className:`border-t border-border/60`,children:Te}),e[92]=Te,e[93]=Ee);let De;return e[94]!==ce||e[95]!==we||e[96]!==Ee?(De=(0,$.jsxs)($.Fragment,{children:[B,ce,we,Ee]}),e[94]=ce,e[95]=we,e[96]=Ee,e[97]=De):De=e[97],De}function vC(e){Y.add(X({type:`error`,title:`Could not disconnect Atlassian account`,description:e instanceof Error?e.message:`The connection was not changed.`}))}function yC(e){Y.add(X({type:`error`,title:`Could not save Jira token`,description:e instanceof Error?e.message:`The token could not be saved.`}))}function bC(e){Y.add(X({type:`error`,title:`Could not save Bitbucket token`,description:e instanceof Error?e.message:`The token could not be saved.`}))}function xC(){let e=(0,Q.c)(33),t=ht(),n=t.data??QS,r=t.isPending&&t.data===null,i=wC,a=t.isPending,o=t.isPending&&`animate-spin`,s;e[0]===o?s=e[1]:(s=R(`size-3`,o),e[0]=o,e[1]=s);let c;e[2]===s?c=e[3]:(c=(0,$.jsx)(_s,{className:s}),e[2]=s,e[3]=c);let l;e[4]!==t.isPending||e[5]!==c?(l=(0,$.jsx)(me,{render:(0,$.jsx)(J,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:i,disabled:a,"aria-label":`Rescan server environment`,children:c})}),e[4]=t.isPending,e[5]=c,e[6]=l):l=e[6];let u;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(ne,{side:`top`,children:`Rescan Git and hosting integrations`}),e[7]=u):u=e[7];let d;e[8]===l?d=e[9]:(d=(0,$.jsxs)(Ee,{children:[l,u]}),e[8]=l,e[9]=d);let f=d;if(r){let t;e[10]===f?t=e[11]:(t=(0,$.jsx)(fC,{title:`Version Control`,headerAction:f}),e[10]=f,e[11]=t);let n;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsx)(fC,{title:`Source Control Providers`}),e[12]=n):n=e[12];let r;return e[13]===t?r=e[14]:(r=(0,$.jsxs)(C_,{children:[t,n]}),e[13]=t,e[14]=r),r}let p=n.versionControlSystems.length>0,m=n.sourceControlProviders.length>0,h=p||m,g;e[15]!==t.isPending||e[16]!==h?(g=h?null:(0,$.jsxs)(b_,{title:`Source Control Providers`,children:[(0,$.jsxs)(vo,{className:`min-h-56 border-t border-border/60 first:border-t-0`,children:[(0,$.jsxs)($n,{children:[(0,$.jsx)(Kr,{variant:`icon`,children:(0,$.jsx)(Sa,{className:`size-4`})}),(0,$.jsx)(Oa,{children:`Nothing detected yet`}),(0,$.jsx)(ir,{children:`Install Git on the server, add optional hosting integrations or credentials your workspace needs, then rescan.`})]}),(0,$.jsx)(mi,{children:(0,$.jsxs)(J,{type:`button`,size:`xs`,onClick:i,disabled:t.isPending,children:[(0,$.jsx)(_s,{className:R(`size-3`,t.isPending&&`animate-spin`)}),`Scan`]})})]}),(0,$.jsx)(_C,{})]}),e[15]=t.isPending,e[16]=h,e[17]=g):g=e[17];let _;e[18]!==p||e[19]!==n.versionControlSystems||e[20]!==f?(_=p?(0,$.jsx)(b_,{title:`Version Control`,headerAction:f,children:n.versionControlSystems.map(CC)}):null,e[18]=p,e[19]=n.versionControlSystems,e[20]=f,e[21]=_):_=e[21];let v;e[22]!==t.error||e[23]!==h||e[24]!==m||e[25]!==p||e[26]!==n.sourceControlProviders||e[27]!==f?(v=h?(0,$.jsxs)(b_,{title:`Source Control Providers`,headerAction:p?null:f,children:[m?n.sourceControlProviders.map(SC):(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3.5 first:border-t-0 sm:px-5`,children:(0,$.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:t.error??`No source control providers were detected on the server. Install a CLI like git, gh, glab, or az on the server host, then rescan.`})}),(0,$.jsx)(_C,{})]}):null,e[22]=t.error,e[23]=h,e[24]=m,e[25]=p,e[26]=n.sourceControlProviders,e[27]=f,e[28]=v):v=e[28];let y;return e[29]!==g||e[30]!==_||e[31]!==v?(y=(0,$.jsxs)(C_,{children:[g,_,v]}),e[29]=g,e[30]=_,e[31]=v,e[32]=y):y=e[32],y}function SC(e){return(0,$.jsx)(dC,{item:e},`provider:${e.kind}`)}function CC(e){return(0,$.jsx)(dC,{item:e},`vcs:${e.kind}`)}function wC(){tn()}var TC=[{id:`general`,label:`General`,icon:Pc},{id:`providers`,label:`Providers`,icon:uc},{id:`opinionated-plugins`,label:`Plugins`,icon:Oc},{id:`mcp-servers`,label:`MCP Servers`,icon:Nc},{id:`appearance`,label:`Appearance`,icon:Ec},{id:`keybindings`,label:`Keybindings`,icon:Cc},{id:`source-control`,label:`Source Control`,icon:Xr},{id:`connections`,label:`Connections`,icon:wc},{id:`archived`,label:`Archive`,icon:ac}],EC=new Set([`general`,`providers`,`appearance`]);function DC(e){let t=(0,Q.c)(6),{onRestored:n}=e,{changedSettingLabels:r,restoreDefaults:i}=qS(n),a=r.length===0,o;t[0]===i?o=t[1]:(o=()=>void i(),t[0]=i,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(jc,{className:`size-3.5`}),t[2]=s):s=t[2];let c;return t[3]!==a||t[4]!==o?(c=(0,$.jsxs)(J,{size:`xs`,variant:`outline`,disabled:a,onClick:o,children:[s,`Restore defaults`]}),t[3]=a,t[4]=o,t[5]=c):c=t[5],c}function OC(e){let t=(0,Q.c)(9),{section:n}=e;switch(n){case`general`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(JS,{}),t[0]=e):e=t[0],e}case`providers`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(uS,{}),t[1]=e):e=t[1],e}case`opinionated-plugins`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Gb,{}),t[2]=e):e=t[2],e}case`mcp-servers`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Ab,{}),t[3]=e):e=t[3],e}case`appearance`:{let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(ev,{}),t[4]=e):e=t[4],e}case`keybindings`:{let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Fy,{}),t[5]=e):e=t[5],e}case`source-control`:{let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(xC,{}),t[6]=e):e=t[6],e}case`connections`:{let e;return t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)($v,{}),t[7]=e):e=t[7],e}case`archived`:{let e;return t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(ZS,{}),t[8]=e):e=t[8],e}}}function kC(){let e=(0,Q.c)(33),t=Mr(PC),n=Mr(NC),r=Mr(MC),i=Mr(jC),[a,o]=(0,Z.useState)(0),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{o(AC)},e[0]=s):s=e[0];let c=s,l;e[1]===n?l=e[2]:(l=EC.has(n),e[1]=n,e[2]=l);let u=l,d=Math.max(0,TC.findIndex(e=>e.id===n)),f;e[3]===r?f=e[4]:(f=e=>{e||r()},e[3]=r,e[4]=f);let p;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Ti,{className:`text-base font-semibold`,children:`Settings`}),e[5]=p):p=e[5];let m;e[6]===u?m=e[7]:(m=u?(0,$.jsx)(DC,{onRestored:c}):null,e[6]=u,e[7]=m);let h;e[8]===m?h=e[9]:(h=(0,$.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center justify-between border-b border-border px-5`,children:[p,(0,$.jsx)(`div`,{className:`flex items-center gap-2 pr-9`,children:m})]}),e[8]=m,e[9]=h);let g=`translateY(${d*2.5}rem)`,_;e[10]===g?_=e[11]:(_=(0,$.jsx)(`span`,{className:`pointer-events-none absolute top-2 right-2 left-2 z-0 h-9 rounded-md bg-accent transition-transform duration-[240ms] ease-out`,style:{transform:g},"aria-hidden":!0}),e[10]=g,e[11]=_);let v;e[12]!==n||e[13]!==i?(v=TC.map(e=>{let t=e.icon,r=n===e.id;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:R(`relative z-10 flex h-9 items-center gap-2.5 rounded-md px-2 text-left text-[13px] outline-hidden ring-ring transition-colors duration-150 focus-visible:ring-2`,r?`font-medium text-foreground`:`text-muted-foreground/70 hover:text-foreground/80`),"aria-label":e.label,"aria-current":r?`page`:void 0,children:[(0,$.jsx)(t,{className:R(`size-4 shrink-0`,r?`text-foreground`:`text-muted-foreground/60`)}),(0,$.jsx)(`span`,{className:`hidden truncate sm:inline`,children:e.label})]},e.id)}),e[12]=n,e[13]=i,e[14]=v):v=e[14];let y;e[15]!==_||e[16]!==v?(y=(0,$.jsxs)(`nav`,{className:`relative isolate flex w-12 shrink-0 flex-col gap-1 border-r border-border p-2 sm:w-48`,children:[_,v]}),e[15]=_,e[16]=v,e[17]=y):y=e[17];let b;e[18]===n?b=e[19]:(b=(0,$.jsx)(OC,{section:n}),e[18]=n,e[19]=b);let x;e[20]!==a||e[21]!==b?(x=(0,$.jsx)(xi,{className:`min-h-0 flex-1 min-w-0`,children:(0,$.jsx)(`div`,{className:`flex flex-col`,children:b},a)}),e[20]=a,e[21]=b,e[22]=x):x=e[22];let S;e[23]!==x||e[24]!==y?(S=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-row`,children:[y,x]}),e[23]=x,e[24]=y,e[25]=S):S=e[25];let C;e[26]!==S||e[27]!==h?(C=(0,$.jsxs)(Kn,{className:`h-[min(88dvh,880px)] max-w-[1180px] overflow-hidden p-0`,bottomStickOnMobile:!1,showCloseButton:!0,children:[h,S]}),e[26]=S,e[27]=h,e[28]=C):C=e[28];let w;return e[29]!==t||e[30]!==C||e[31]!==f?(w=(0,$.jsx)(Zr,{open:t,onOpenChange:f,children:C}),e[29]=t,e[30]=C,e[31]=f,e[32]=w):w=e[32],w}function AC(e){return e+1}function jC(e){return e.setSection}function MC(e){return e.closeSettings}function NC(e){return e.section}function PC(e){return e.open}var FC=`chat_thread_sidebar_width`,IC=208,LC=640;function RC(e){let t=(0,Q.c)(8),{children:n}=e,r=Mr(WC),i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[0]=i):i=t[0],(0,Z.useEffect)(BC,i);let a,o;t[1]===r?(a=t[2],o=t[3]):(a=()=>{let e=window.desktopBridge?.onMenuAction;if(typeof e!=`function`)return;let t=e(e=>{e===`open-settings`&&r()});return()=>{t?.()}},o=[r],t[1]=r,t[2]=a,t[3]=o),(0,Z.useEffect)(a,o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsxs)(Vi,{side:`left`,collapsible:`offcanvas`,className:`border-r border-border bg-card text-foreground`,resizable:{minWidth:IC,shouldAcceptWidth:zC,storageKey:FC},children:[(0,$.jsx)(o_,{}),(0,$.jsx)(po,{})]}),t[4]=s):s=t[4];let c;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(kC,{}),t[5]=c):c=t[5];let l;return t[6]===n?l=t[7]:(l=(0,$.jsxs)(Na,{className:`h-dvh! min-h-0!`,defaultOpen:!0,children:[s,n,c]}),t[6]=n,t[7]=l),l}function zC(e){let{nextWidth:t,wrapper:n}=e;return n.clientWidth-t>=LC}function BC(){let e=UC,t=HC,n=VC;return window.addEventListener(`keydown`,e,!0),window.addEventListener(`keyup`,t,!0),window.addEventListener(`blur`,n),()=>{window.removeEventListener(`keydown`,e,!0),window.removeEventListener(`keyup`,t,!0),window.removeEventListener(`blur`,n)}}function VC(){pp()}function HC(e){fp(e)}function UC(e){fp(e)}function WC(e){return e.openSettings}var GC=`size-4 text-muted-foreground/80`,KC=`size-4`;function qC(e){return e.isAlias?`browse:alias:${e.name}:${e.fullPath}`:`browse:${e.fullPath}`}function JC(e){let t=e.browseFilterQuery.toLowerCase(),n=e.browseFilterQuery.startsWith(`.`),r=e.browseEntries.filter(e=>e.name.toLowerCase().startsWith(t)&&(n||!e.name.startsWith(`.`))),i=null,a=e.highlightedItemValue;a&&a.startsWith(`browse:`)&&(i=r.find(e=>qC(e)===a)??null);let o=e.browseFilterQuery.length>0?r.find(t=>t.name===e.browseFilterQuery)??null:null;return{filteredEntries:r,highlightedEntry:i,exactEntry:o}}function YC(e){return e.trim().toLowerCase().replace(/\s+/g,` `)}function XC(e){return e.projects.map(t=>({kind:`action`,value:`${e.valuePrefix}:${t.environmentId}:${t.id}`,searchTerms:[t.name,t.cwd],title:t.name,description:t.cwd,icon:e.icon(t),run:async()=>{await e.runProject(t)}}))}function ZC(e){let t=Qa(e.threads.filter(e=>e.archivedAt===null),e.sortOrder);return(e.limit===void 0?t:t.slice(0,e.limit)).map(t=>{let n=e.projectTitleById.get(t.projectId),r=[];n&&r.push(n),t.branch&&r.push(`#${t.branch}`),t.id===e.activeThreadId&&r.push(`Current thread`);let i=e.renderLeadingContent?.(t),a=e.renderTrailingContent?.(t);return Object.assign({kind:`action`,value:`thread:${t.id}`,searchTerms:[t.title,n??``,t.branch??``],title:t.title,description:r.join(` · `),timestamp:Mn(t.latestUserMessageAt??t.updatedAt??t.createdAt),icon:e.icon},i?{titleLeadingContent:i}:{},a?{titleTrailingContent:a}:{},{run:async()=>{await e.runThread(t)}})})}function QC(e,t){let n=YC(e);return n.length===0||!n.includes(t)?-1/0:n===t?3:n.startsWith(t)?2:1}function $C(e,t){let n=e.searchTerms.filter(e=>e.length>0);if(n.length===0)return 0;for(let[e,r]of n.entries()){let n=QC(r,t);if(n!==-1/0)return 1e3-e*100+n}return 0}function ew(e){let t=e.query.startsWith(`>`),n=YC(t?e.query.slice(1):e.query);if(n.length===0)return t?e.activeGroups.filter(e=>e.value===`actions`):[...e.activeGroups];let r=[...e.activeGroups];t?r=r.filter(e=>e.value===`actions`):e.isInSubmenu||(r=r.filter(e=>e.value!==`recent-threads`));let i=[...r];return!e.isInSubmenu&&!t&&(e.projectSearchItems.length>0&&i.push({value:`projects-search`,label:`Projects`,items:e.projectSearchItems}),e.threadSearchItems.length>0&&i.push({value:`threads-search`,label:`Threads`,items:e.threadSearchItems})),i.flatMap(e=>{let t=e.items.map((e,t)=>YC(e.searchTerms.join(` `)).includes(n)?{item:e,index:t,rank:$C(e,n)}:null).filter(e=>e!==null).toSorted((e,t)=>t.rank-e.rank||e.index-t.index).map(e=>e.item);return t.length===0?[]:[{value:e.value,label:e.label,items:t}]})}function tw(e){let t=[];e.canBrowseUp&&t.push({kind:`action`,value:`browse:up`,searchTerms:[e.browseQuery,`..`],title:`..`,icon:e.upIcon,keepOpen:!0,run:async()=>{e.browseUp()}});for(let n of e.browseEntries)t.push({kind:`action`,value:qC(n),searchTerms:[e.browseQuery,n.fullPath,n.name],title:n.name,icon:n.isSymlink?e.symlinkIcon:e.directoryIcon,keepOpen:!0,run:async()=>{n.isAlias?e.browseToPath(n.fullPath):e.browseTo(n.name)}});return[{value:`directories`,label:`Directories`,items:t}]}function nw(e){return e.currentView?e.isBrowsing?`submenu-browse`:`submenu`:e.isBrowsing?`root-browse`:`root`}function rw(e){let t=[];return e.actionItems.length>0&&t.push({value:`actions`,label:`Actions`,items:e.actionItems}),e.recentThreadItems.length>0&&t.push({value:`recent-threads`,label:`Recent Threads`,items:e.recentThreadItems}),t}function iw(e){switch(e){case`root`:return`Search commands, projects, and threads...`;case`root-browse`:return`Enter project path (e.g. ~/projects/my-app)`;case`submenu`:return`Search...`;case`submenu-browse`:return`Enter path (e.g. ~/projects/my-app)`}}function aw(e){let t=(0,Q.c)(13);if(e.groups.length===0){let n=e.emptyStateMessage??(e.isActionsOnly?`No matching actions.`:`No matching commands, projects, or threads.`),r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`py-10 text-center text-sm text-muted-foreground`,children:n}),t[0]=n,t[1]=r),r}let n;if(t[2]!==e.groups||t[3]!==e.highlightedItemValue||t[4]!==e.keybindings||t[5]!==e.onExecuteItem){let r;t[7]!==e.highlightedItemValue||t[8]!==e.keybindings||t[9]!==e.onExecuteItem?(r=t=>(0,$.jsxs)(pi,{items:t.items,children:[(0,$.jsx)(Qn,{children:t.label}),(0,$.jsx)(Ki,{children:t=>t.disabled?(0,$.jsx)(ow,{item:t},t.value):(0,$.jsx)(sw,{item:t,keybindings:e.keybindings,isActive:e.highlightedItemValue===t.value,onExecuteItem:e.onExecuteItem},t.value)})]},t.value),t[7]=e.highlightedItemValue,t[8]=e.keybindings,t[9]=e.onExecuteItem,t[10]=r):r=t[10],n=e.groups.map(r),t[2]=e.groups,t[3]=e.highlightedItemValue,t[4]=e.keybindings,t[5]=e.onExecuteItem,t[6]=n}else n=t[6];let r;return t[11]===n?r=t[12]:(r=(0,$.jsx)(cr,{children:n}),t[11]=n,t[12]=r),r}function ow(e){let t=(0,Q.c)(8),n;t[0]!==e.item.description||t[1]!==e.item.title||t[2]!==e.item.titleLeadingContent?(n=e.item.description?(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,$.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),(0,$.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:e.item.description})]}):(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,$.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),t[0]=e.item.description,t[1]=e.item.title,t[2]=e.item.titleLeadingContent,t[3]=n):n=t[3];let r;return t[4]!==e.item.icon||t[5]!==e.item.titleTrailingContent||t[6]!==n?(r=(0,$.jsxs)(`div`,{className:`flex min-h-8 select-none items-center gap-2 rounded-sm px-2 py-1.5 text-base opacity-64 sm:min-h-7 sm:text-sm`,children:[e.item.icon,n,e.item.titleTrailingContent]}),t[4]=e.item.icon,t[5]=e.item.titleTrailingContent,t[6]=n,t[7]=r):r=t[7],r}function sw(e){let t=(0,Q.c)(27),n;t[0]!==e.item.shortcutCommand||t[1]!==e.keybindings?(n=e.item.shortcutCommand?xa(e.keybindings,e.item.shortcutCommand):null,t[0]=e.item.shortcutCommand,t[1]=e.keybindings,t[2]=n):n=t[2];let r=n,i=e.item.value,a=e.isActive&&`bg-accent! text-accent-foreground!`,o;t[3]===a?o=t[4]:(o=R(`cursor-pointer gap-2 hover:bg-transparent hover:text-inherit data-highlighted:bg-transparent data-highlighted:text-inherit data-selected:bg-transparent data-selected:text-inherit [&[data-highlighted][data-selected]]:bg-transparent [&[data-highlighted][data-selected]]:text-inherit`,a),t[3]=a,t[4]=o);let s;t[5]===e?s=t[6]:(s=()=>{e.onExecuteItem(e.item)},t[5]=e,t[6]=s);let c;t[7]!==e.item.description||t[8]!==e.item.title||t[9]!==e.item.titleLeadingContent?(c=e.item.description?(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,$.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),(0,$.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:e.item.description})]}):(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-sm text-foreground`,children:[e.item.titleLeadingContent,(0,$.jsx)(`span`,{className:`truncate`,children:e.item.title})]}),t[7]=e.item.description,t[8]=e.item.title,t[9]=e.item.titleLeadingContent,t[10]=c):c=t[10];let l;t[11]===e.item.timestamp?l=t[12]:(l=e.item.timestamp?(0,$.jsx)(`span`,{className:`min-w-12 shrink-0 text-right text-[10px] tabular-nums text-muted-foreground/70`,children:e.item.timestamp}):null,t[11]=e.item.timestamp,t[12]=l);let u;t[13]===r?u=t[14]:(u=r?(0,$.jsx)(ja,{children:r}):null,t[13]=r,t[14]=u);let d;t[15]===e.item.kind?d=t[16]:(d=e.item.kind===`submenu`?(0,$.jsx)(h,{className:`ml-auto size-4 shrink-0 text-muted-foreground/50`}):null,t[15]=e.item.kind,t[16]=d);let f;return t[17]!==e.item.icon||t[18]!==e.item.titleTrailingContent||t[19]!==e.item.value||t[20]!==o||t[21]!==s||t[22]!==c||t[23]!==l||t[24]!==u||t[25]!==d?(f=(0,$.jsxs)(vi,{value:i,className:o,onMouseDown:cw,onClick:s,children:[e.item.icon,c,e.item.titleTrailingContent,l,u,d]}),t[17]=e.item.icon,t[18]=e.item.titleTrailingContent,t[19]=e.item.value,t[20]=o,t[21]=s,t[22]=c,t[23]=l,t[24]=u,t[25]=d,t[26]=f):f=t[26],f}function cw(e){e.preventDefault()}var lw=[],uw=3e4;function dw(e){return Ce(e)?`Finder`:Pt(e)?`Explorer`:`Files`}function fw(e){return e===`windows`?`Win32`:e===`darwin`?`MacIntel`:e===`linux`?`Linux`:typeof navigator>`u`?``:navigator.platform}var pw=[`url`,`github`,`gitlab`,`forgejo`,`bitbucket`,`azure-devops`],mw=[`github`,`gitlab`,`forgejo`,`bitbucket`,`azure-devops`];function hw(e){switch(e){case`github`:return`GitHub`;case`gitlab`:return`GitLab`;case`forgejo`:return`Forgejo`;case`bitbucket`:return`Bitbucket`;case`azure-devops`:return`Azure DevOps`;case`url`:return`Git URL`}}function gw(e){switch(e){case`github`:return`owner/repo`;case`gitlab`:return`group/project`;case`forgejo`:return`owner/repo`;case`bitbucket`:return`workspace/repository`;case`azure-devops`:return`project/repository`;case`url`:return`URL`}}function _w(e){return e===`url`?null:e}function vw(e,t){switch(e){case`github`:return(0,$.jsx)(eo,{className:t});case`gitlab`:return(0,$.jsx)(qi,{className:t});case`forgejo`:return(0,$.jsx)(so,{className:t});case`bitbucket`:return(0,$.jsx)(ri,{className:t});case`azure-devops`:return(0,$.jsx)(Bi,{className:t});case`url`:return(0,$.jsx)(Vn,{className:t})}}function yw(e){return!e||e.step===`confirm`?null:e.source===`url`?`Enter Git clone URL`:`Enter ${hw(e.source)} repository (${gw(e.source)})`}function bw(e){return e===`url`?null:e}function xw(e){return mw.toSorted((t,n)=>{let r=e[t].ready;return r===e[n].ready?hw(t).localeCompare(hw(n)):r?-1:1})}function Sw(e){let t={ready:!1,hint:`Provider status unavailable. Open Settings -> Source Control and rescan.`},n={url:{ready:!0,hint:null},github:t,gitlab:t,forgejo:t,bitbucket:t,"azure-devops":t};if(!e)return n;let r=new Map(e.sourceControlProviders.map(e=>[e.kind,e])),i={...n};for(let e of pw){let n=bw(e);if(!n)continue;let a=r.get(n);if(!a){i[e]=t;continue}if(a.status!==`available`){i[e]={ready:!1,hint:a.installHint};continue}if(a.auth.status===`unauthenticated`){i[e]={ready:!1,hint:Bo(a.auth.detail)??`${a.label} is not authenticated. Open Settings -> Source Control for setup guidance.`};continue}i[e]={ready:!0,hint:null}}return i}function Cw(e){return e instanceof Error&&e.message.trim().length>0?e.message:`An error occurred.`}function ww(e){let t=(0,Q.c)(13),{children:n}=e,r=Ri(Ow),i=Ri(Dw),a=Ri(Ew),o=xn(),s=(0,Z.useRef)(null),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={strict:!1,select:Tw},t[0]=c):c=t[0];let l=g(c),u=l?.kind===`server`?l.threadRef:null,d;t[1]===u?d=t[2]:(d=e=>u?W(e.terminalStateByThreadKey,u).terminalOpen:!1,t[1]=u,t[2]=d);let f=B(d),p,m;t[3]!==o||t[4]!==f||t[5]!==a?(p=()=>{let e=e=>{e.defaultPrevented||!Ri.getState().open&&_a(e)||La(e,o,{context:{terminalFocus:Zn(),terminalOpen:f}})===`commandPalette.toggle`&&(e.preventDefault(),e.stopPropagation(),a())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},m=[o,f,a],t[3]=o,t[4]=f,t[5]=a,t[6]=p,t[7]=m):(p=t[6],m=t[7]),(0,Z.useEffect)(p,m);let h;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(kw,{}),t[8]=h):h=t[8];let _;return t[9]!==n||t[10]!==r||t[11]!==i?(_=(0,$.jsx)(oo.Provider,{value:s,children:(0,$.jsxs)(_o,{open:r,onOpenChange:i,children:[n,h]})}),t[9]=n,t[10]=r,t[11]=i,t[12]=_):_=t[12],_}function Tw(e){return S(e)}function Ew(e){return e.toggleOpen}function Dw(e){return e.setOpen}function Ow(e){return e.open}function kw(){let e=(0,Q.c)(4),t=Ri(jw),n=Ri(Aw),r,i;if(e[0]===n?(r=e[1],i=e[2]):(r=()=>()=>{n(!1)},i=[n],e[0]=n,e[1]=r,e[2]=i),(0,Z.useEffect)(r,i),!t)return null;let a;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(Mw,{}),e[3]=a):a=e[3],a}function Aw(e){return e.setOpen}function jw(e){return e.open}function Mw(){let e=On(),t=Ri(e=>e.setOpen),n=Ri(e=>e.openIntent),r=Ri(e=>e.clearOpenIntent),i=Ra(),[a,s]=(0,Z.useState)(``),c=(0,Z.useDeferredValue)(a),u=c.startsWith(`>`),d=l(),[f,m]=(0,Z.useState)(null),h=Bt(),{activeDraftThread:g,activeThread:_,defaultProjectRef:v,handleNewThread:y}=Ln(),b=qe(ct(k)),x=qe(ct(Mt)),S=xn(),[C,w]=(0,Z.useState)([]),T=C.at(-1)??null,[D,j]=(0,Z.useState)(0),[M,N]=(0,Z.useState)(null),[P,F]=(0,Z.useState)(!1),[I,L]=(0,Z.useState)(null),[ee,z]=(0,Z.useState)(!1),[B,V]=(0,Z.useState)(!1),H=Yo(),U=is()?.label??null,W=vt(e=>e.byId),te=Ct(e=>e.byId),re=(0,Z.useMemo)(()=>{let e=[],t=new Set;H&&(t.add(H),e.push({environmentId:H,label:ro({isPrimary:!0,environmentId:H,runtimeLabel:U}),isPrimary:!0}));for(let n of Object.values(W)){if(t.has(n.environmentId))continue;let r=te[n.environmentId];e.push({environmentId:n.environmentId,label:ro({isPrimary:!1,environmentId:n.environmentId,runtimeLabel:r?.descriptor?.label??null,savedLabel:n.label}),isPrimary:!1})}return e.sort((e,t)=>e.isPrimary===t.isPrimary?e.label.localeCompare(t.label):e.isPrimary?-1:1),e},[H,U,W,te]),ie=re[0]?.environmentId??null,K=M??ie,oe=(0,Z.useMemo)(()=>fw(K&&H&&K===H?is()?.platform.os??null:K?te[K]?.descriptor?.platform.os??te[K]?.serverConfig?.environment.platform.os??null:null),[K,H,te]),se=I!==null,q=I?.step!==`repository`&&A(a,oe),le=nw({currentView:T,isBrowsing:q}),ue=(0,Z.useCallback)(e=>{let t=(e&&H&&e===H?h:e?te[e]?.serverConfig?.settings:null)?.addProjectBaseDirectory?.trim()??``;return t.length===0?`~/`:_e(t)},[H,te,h]),de=(0,Z.useMemo)(()=>new Map(b.map(e=>[e.id,e.cwd])),[b]),pe=(0,Z.useMemo)(()=>new Map(b.map(e=>[e.id,e.name])),[b]),he=_?.id,ye=_?.environmentId??g?.environmentId??null,xe=_?.projectId??g?.projectId??null,Se=xe?de.get(xe)??null:null,Te=K&&ye===K?Se:null,De=Be(a.trim())&&Te===null,Oe=q?G(a):``,ke=q&&!Ae(a)?ce(a):``,je=(0,Z.useCallback)(async e=>{if(!K)return null;let t=E(K);return t?t.filesystem.browse({partialPath:e,...Te?{cwd:Te}:{}}):null},[K,Te]),{data:Me,isPending:Pe}=o({queryKey:[`filesystemBrowse`,K,Oe,Te],queryFn:()=>je(Oe),staleTime:uw,enabled:q&&Oe.length>0&&K!==null&&!De}),Fe=Me?.entries??lw,{filteredEntries:Ie,highlightedEntry:Le,exactEntry:ze}=(0,Z.useMemo)(()=>JC({browseEntries:Fe,browseFilterQuery:ke,highlightedItemValue:f}),[Fe,ke,f]),Ve=(0,Z.useCallback)(e=>{d.prefetchQuery({queryKey:[`filesystemBrowse`,K,e,Te],queryFn:()=>je(e),staleTime:uw})},[K,Te,je,d]);(0,Z.useEffect)(()=>{if(!q||Ie.length===0)return;ge(a)&&Ve(fe(a));let e=Le??ze;e&&Ve(e.isAlias?_e(e.fullPath):jt(a,e.name))},[ze,Ie.length,Le,q,Ve,a]);let He=(0,Z.useMemo)(()=>async t=>{be.getState().setProjectExpanded(Re(t,h),!0);let n=Nr(x.filter(e=>e.environmentId===t.environmentId),t.id,h.sidebarThreadSortOrder);if(n){await e({to:`/$environmentId/$threadId`,params:p(Io(n.environmentId,n.id))});return}await y(Zo(t.environmentId,t.id),{envMode:h.defaultThreadEnvMode})},[y,e,h,x]),We=(0,Z.useMemo)(()=>XC({projects:b,valuePrefix:`project`,icon:e=>(0,$.jsx)(Kc,{environmentId:e.environmentId,cwd:e.cwd,projectId:e.id,customAvatarContentHash:e.customAvatarContentHash??null,className:GC}),runProject:He}),[He,b]),Ge=(0,Z.useMemo)(()=>XC({projects:b,valuePrefix:`new-thread-in`,icon:e=>(0,$.jsx)(Kc,{environmentId:e.environmentId,cwd:e.cwd,projectId:e.id,customAvatarContentHash:e.customAvatarContentHash??null,className:GC}),runProject:async e=>{await ra({activeDraftThread:g,activeThread:_,defaultProjectRef:v,defaultThreadEnvMode:h.defaultThreadEnvMode,handleNewThread:y},Zo(e.environmentId,e.id))}}),[g,_,v,y,b,h.defaultThreadEnvMode]),Je=(0,Z.useMemo)(()=>ZC({threads:x,...he?{activeThreadId:he}:{},projectTitleById:pe,sortOrder:h.sidebarThreadSortOrder,icon:(0,$.jsx)(qr,{className:GC}),renderLeadingContent:e=>(0,$.jsx)(Uc,{thread:e}),renderTrailingContent:e=>(0,$.jsx)(Wc,{thread:e}),runThread:async t=>{await e({to:`/$environmentId/$threadId`,params:p(Io(t.environmentId,t.id))})}}),[he,e,pe,h.sidebarThreadSortOrder,x]),Ye=Je.slice(0,12);function Xe(e){w(t=>[...t,{addonIcon:e.addonIcon,groups:e.groups,...e.initialQuery?{initialQuery:e.initialQuery}:{}}]),m(null),s(e.initialQuery??``)}function Ze(e){Xe({addonIcon:e.addonIcon,groups:e.groups,...e.initialQuery?{initialQuery:e.initialQuery}:{}})}function Qe(){L(null),C.length<=1&&N(null),w(e=>e.slice(0,-1)),m(null),s(``)}function $e(e){m(null),s(e),e===``&&T?.initialQuery&&Qe()}let et=(0,Z.useCallback)(e=>{N(e),L(null),Xe({addonIcon:(0,$.jsx)(bc,{className:KC}),groups:[],initialQuery:ue(e)})},[ue]),tt=(0,Z.useCallback)((e,t)=>{N(e),L({step:`repository`,environmentId:e,source:t}),Xe({addonIcon:vw(t,KC),groups:[],initialQuery:``})},[]),nt=Mr(e=>e.openSettings),rt=(0,Z.useCallback)(()=>{t(!1),nt(`source-control`)},[nt,t]),it=(0,Z.useCallback)((e,t)=>{let n=[{kind:`action`,value:`action:add-project:${e}:local`,searchTerms:[`local`,`folder`,`directory`,`browse`],title:`Local folder`,description:`Browse a folder on disk`,icon:(0,$.jsx)(bc,{className:GC}),keepOpen:!0,run:async()=>{et(e)}}],r=[`url`,...xw(t)];for(let i of r){let r=hw(i),a=i===`url`?`Git URL`:`${r} repository`,o=i===`url`?`Clone from a remote URL`:`Clone ${r} ${gw(i)}`,s=t[i],c=s.hint,l=s.ready?void 0:(0,$.jsx)(`span`,{className:`ml-auto`,children:(0,$.jsxs)(Ee,{children:[(0,$.jsx)(me,{render:(0,$.jsx)(J,{variant:`outline`,size:`xs`,className:`h-5 rounded-sm px-1.5 text-[10px] text-warning-foreground`,onClick:()=>{rt()},children:`Setup Required`})}),(0,$.jsx)(ne,{align:`end`,side:`left`,children:c??`Open Settings -> Source Control to configure this provider.`})]})});if(!s.ready){n.push({kind:`action`,value:`action:add-project:${e}:${i}:not-ready`,searchTerms:[`clone`,`remote`,`repository`,`repo`,`git`,r,`setup required`],title:a,description:o,disabled:!0,icon:vw(i,GC),...l?{titleTrailingContent:l}:{},run:async()=>{}});continue}n.push({kind:`action`,value:`action:add-project:${e}:${i}`,searchTerms:[`clone`,`remote`,`repository`,`repo`,`git`,r],title:a,description:o,icon:vw(i,GC),...l?{titleTrailingContent:l}:{},keepOpen:!0,run:async()=>{tt(e,i)}})}return[{value:`sources:${e}`,label:`Sources`,items:n}]},[rt,et,tt]),at=(0,Z.useCallback)(e=>{N(e),L(null);let t={environmentId:e},n=Wt(t).data;Xe({addonIcon:(0,$.jsx)(bc,{className:KC}),groups:it(e,Sw(n))}),!n&&tn(t).then(t=>{w(n=>n.at(-1)?.groups[0]?.value===`sources:${e}`?[...n.slice(0,-1),{addonIcon:(0,$.jsx)(bc,{className:KC}),groups:it(e,Sw(t))}]:n)})},[it]),ot=re.map(e=>({kind:`action`,value:`action:add-project:environment:${e.environmentId}`,searchTerms:[e.label,e.environmentId,e.isPrimary?`this device`:``],title:e.label,description:e.isPrimary?`This device`:e.environmentId,icon:(0,$.jsx)(bc,{className:GC}),keepOpen:!0,run:async()=>{at(e.environmentId)}})),lt=(0,Z.useMemo)(()=>[{value:`environments`,label:`Environments`,items:ot}],[ot]),ut=(0,Z.useCallback)(()=>{if(re.length>1){Xe({addonIcon:(0,$.jsx)(bc,{className:KC}),groups:lt});return}let e=ie;if(!e){Y.add(X({type:`error`,title:`Unable to browse projects`,description:`No environment is available.`}));return}at(e)},[lt,re.length,ie,at]);(0,Z.useLayoutEffect)(()=>{n?.kind===`add-project`&&(r(),ut())},[r,ut,n]);let dt=[];if(b.length>0){let e=xe?pe.get(xe)??null:null;e&&dt.push({kind:`action`,value:`action:new-thread`,searchTerms:[`new thread`,`chat`,`create`,`draft`],title:(0,$.jsxs)($.Fragment,{children:[`New thread in `,(0,$.jsx)(`span`,{className:`font-semibold`,children:e})]}),icon:(0,$.jsx)(Yn,{className:GC}),shortcutCommand:`chat.new`,run:async()=>{await uo({activeDraftThread:g,activeThread:_,defaultProjectRef:v,defaultThreadEnvMode:h.defaultThreadEnvMode,handleNewThread:y})}}),dt.push({kind:`submenu`,value:`action:new-thread-in`,searchTerms:[`new thread`,`project`,`pick`,`choose`,`select`],title:`New thread in...`,icon:(0,$.jsx)(Yn,{className:GC}),addonIcon:(0,$.jsx)(Yn,{className:KC}),groups:[{value:`projects`,label:`Projects`,items:Ge}]})}dt.push({kind:`action`,value:`action:add-project`,searchTerms:[`add project`,`folder`,`directory`,`browse`,`clone`,`remote`,`repository`,`repo`,`git`,`github`,`gitlab`,`forgejo`,`codeberg`,`bitbucket`,`azure`,`devops`,`url`,`environment`],title:`Add project`,icon:(0,$.jsx)(bc,{className:GC}),keepOpen:!0,run:async()=>{ut()}}),dt.push({kind:`action`,value:`action:settings`,searchTerms:[`settings`,`preferences`,`configuration`,`keybindings`],title:`Open settings`,icon:(0,$.jsx)(yo,{className:GC}),run:async()=>{t(!1),nt()}});let ft=rw({actionItems:dt,recentThreadItems:Ye}),pt=ew({activeGroups:T?T.groups:ft,query:c,isInSubmenu:T!==null,projectSearchItems:We,threadSearchItems:Je}),mt=(0,Z.useCallback)(async n=>{if(!K)return;let r=E(K);if(!r)return;if(Ue(n.trim(),oe)){Y.add(X({type:`error`,title:`Failed to add project`,description:`Windows-style paths are only supported on Windows.`}));return}if(Be(n.trim())&&!Te){Y.add(X({type:`error`,title:`Failed to add project`,description:`Relative paths require an active project.`}));return}let i=ae(n,Te);if(i.length===0)return;let a=we(b.filter(e=>e.environmentId===K),i);if(a){be.getState().setProjectExpanded(Re(a,h),!0);let n=Nr(x.filter(e=>e.environmentId===a.environmentId),a.id,h.sidebarThreadSortOrder);n?await e({to:`/$environmentId/$threadId`,params:p(Io(n.environmentId,n.id))}):await y(Zo(a.environmentId,a.id),{envMode:h.defaultThreadEnvMode}).catch(()=>void 0),t(!1);return}try{let e=ve();await r.orchestration.dispatchCommand({type:`project.create`,commandId:O(),projectId:e,title:Sn(i),workspaceRoot:i,projectMetadataDir:`.ryco`,createWorkspaceRootIfMissing:!0,defaultModelSelection:{instanceId:Ke.make(`codex`),model:Ne},createdAt:new Date().toISOString()}),await y(Zo(K,e),{envMode:h.defaultThreadEnvMode}).catch(()=>void 0),t(!1)}catch(e){Y.add(X({type:`error`,title:`Failed to add project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[K,oe,Te,y,e,b,t,h,x]);function ht(e){return ue(e)}async function gt(e){if(!I)return;let t=E(I.environmentId);if(!t){Y.add(X({type:`error`,title:`Unable to clone project`,description:`Environment API is not available.`}));return}if(I.step===`repository`){let e=a.trim();if(e.length===0||ee)return;let n=_w(I.source);if(!n){let t=ht(I.environmentId);L({step:`confirm`,environmentId:I.environmentId,source:I.source,repositoryInput:e,repository:null,remoteUrl:e}),m(null),s(t),j(e=>e+1);return}z(!0);try{let r=await t.sourceControl.lookupRepository({provider:n,repository:e}),i=ht(I.environmentId);L({step:`confirm`,environmentId:I.environmentId,source:I.source,repositoryInput:e,repository:r,remoteUrl:r.sshUrl}),m(null),s(i),j(e=>e+1)}catch(e){Y.add(X({type:`error`,title:`Repository lookup failed`,description:Cw(e)}))}finally{z(!1)}return}let n=(e??a).trim();if(n.length===0||B)return;if(Ue(n,oe)){Y.add(X({type:`error`,title:`Clone failed`,description:`Windows-style paths are only supported on Windows.`}));return}if(Be(n)&&!Te){Y.add(X({type:`error`,title:`Clone failed`,description:`Relative paths require an active project.`}));return}let r=ae(n,Te);if(r.length!==0){V(!0);try{await mt((await t.sourceControl.cloneRepository({remoteUrl:I.remoteUrl,destinationPath:r})).cwd)}catch(e){Y.add(X({type:`error`,title:`Clone failed`,description:Cw(e)}))}finally{V(!1)}}}function _t(e){let t=jt(a,e);m(null),s(t),j(e=>e+1)}function yt(e){let t=_e(e);m(null),s(t),j(e=>e+1)}function bt(){let e=fe(a);e!==null&&(m(null),s(e),j(e=>e+1))}let xt=Ae(a)?Me?.parentPath??a.trim():ze?.fullPath??a.trim(),St=tw({browseEntries:Ie,browseQuery:a,canBrowseUp:q&&!De&&ge(Oe),upIcon:(0,$.jsx)(hc,{className:GC}),directoryIcon:(0,$.jsx)(ms,{className:GC}),symlinkIcon:(0,$.jsx)(xc,{className:GC}),browseUp:bt,browseTo:_t,browseToPath:yt}),wt=(0,Z.useMemo)(()=>St.map(e=>e.value===`directories`?{...e,label:`Select where to clone`}:e),[St]),Tt=(0,Z.useMemo)(()=>I?.step===`confirm`?{title:I.repository?.nameWithOwner??I.repositoryInput,description:I.repository?.url??I.remoteUrl,icon:vw(I.source,GC)}:null,[I]),Et=pt;I?.step===`repository`?Et=[]:I?.step===`confirm`?Et=De?[]:wt:q&&(Et=De?[]:St);let Dt=yw(I)??iw(le),Ot=le===`submenu`||le===`submenu-browse`,kt=f?.startsWith(`browse:`)??!1,At=q&&!De,Nt=At&&!Pe&&a.trim().length>0&&!kt&&(Ae(a)?!Me:ze===null),Pt=Ce(navigator.platform),Ft=Pt?`⌘`:`Ctrl`,It=I?.step===`confirm`,Lt=It?Nt?`Create & Clone`:`Clone`:Nt?`Create & Add`:`Add`,Rt=kt?`${Ft} Enter`:`Enter`,zt=I?I.source===`url`?`Continue`:`Lookup`:null,Vt=ee||B,Ht=I?.step===`repository`&&a.trim().length>0&&!Vt,Ut=dw(navigator.platform),Gt=q&&K!==null&&H!==null&&K===H&&typeof window<`u`&&window.desktopBridge!==void 0,Kt=(0,Z.useMemo)(()=>{if(!Gt)return;let e=a.trim();if(e.length===0)return;let t=ae(Ae(a)?Me?.parentPath??e:Oe||e,Te);return t.length>0?t:void 0},[Oe,Me?.parentPath,Gt,Te,a]);function qt(e){return Pt?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}function Jt(e){if(I?.step===`repository`&&e.key===`Enter`){e.preventDefault(),gt();return}if(At&&e.key===`Enter`&&(!kt||qt(e))){e.preventDefault(),It?gt(xt):mt(xt);return}e.key===`Backspace`&&a===``&&Ot&&(e.preventDefault(),Qe())}function Yt(e){if(!e.disabled){if(e.kind===`submenu`){Ze(e);return}e.keepOpen||t(!1),e.run().catch(e=>{Y.add(X({type:`error`,title:`Unable to run command`,description:e instanceof Error?e.message:`An unexpected error occurred.`}))})}}let Xt=(0,Z.useCallback)(async()=>{if(!Gt||P)return;let e=st();if(!e)return;F(!0);let t=null;try{t=await e.dialogs.pickFolder(Kt?{initialPath:Kt}:void 0)}catch{F(!1);return}F(!1),t&&await mt(t)},[Gt,Kt,mt,P]);return(0,$.jsx)(Ao,{"aria-label":`Command palette`,className:`overflow-hidden p-0`,"data-testid":`command-palette`,finalFocus:()=>(i?.current?.focusAtEnd(),!1),onBackdropPointerDown:()=>{t(!1)},children:(0,$.jsxs)(va,{"aria-label":`Command palette`,autoHighlight:q||se?!1:`always`,mode:`none`,onItemHighlighted:e=>{m(typeof e==`string`?e:null)},onValueChange:$e,value:a,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(So,{className:I?.step===`repository`?`pe-32`:q?Nt?`pe-36`:`pe-16`:void 0,placeholder:Dt,wrapperClassName:Ot?`[&_[data-slot=autocomplete-start-addon]]:pointer-events-auto`:void 0,...Ot?{startAddon:(0,$.jsx)(`button`,{type:`button`,className:`flex cursor-pointer items-center`,"aria-label":`Back`,onClick:Qe,children:(0,$.jsx)(Xa,{})})}:q&&!Ot?{startAddon:(0,$.jsx)(bc,{})}:{},onKeyDown:Jt}),I?.step===`repository`?(0,$.jsxs)(J,{variant:`outline`,size:`xs`,tabIndex:-1,className:`absolute inset-e-2.5 top-1/2 gap-1.5 pe-1 ps-2 -translate-y-1/2`,"aria-label":`${zt??`Continue`} (Enter)`,disabled:!Ht,onMouseDown:e=>{e.preventDefault()},onClick:()=>{gt()},title:`${zt??`Continue`} (Enter)`,children:[(0,$.jsx)(`span`,{children:Vt?`Working`:zt}),(0,$.jsx)(gr,{className:`pointer-events-none -me-0.5 items-center gap-1`,children:(0,$.jsx)(ki,{children:`Enter`})})]}):q?(0,$.jsxs)(J,{variant:`outline`,size:`xs`,tabIndex:-1,className:R(`absolute inset-e-2.5 top-1/2 pe-1 ps-2 -translate-y-1/2`,kt?`gap-1`:`gap-1.5`),"aria-label":`${Lt} (${Rt})`,disabled:De||It&&Vt,onMouseDown:e=>{e.preventDefault()},onClick:()=>{De||(It?gt(xt):mt(xt))},title:`${Lt} (${Rt})`,children:[(0,$.jsx)(`span`,{children:It&&Vt?`Cloning`:Lt}),(0,$.jsx)(gr,{className:`pointer-events-none -me-0.5 items-center gap-1`,children:(0,$.jsx)(ki,{children:kt?`${Ft} Enter`:`Enter`})})]}):null]}),(0,$.jsxs)(rr,{className:`max-h-[min(28rem,70vh)]`,children:[Tt?(0,$.jsxs)(`div`,{className:`p-2 pb-0`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1.5 font-medium text-muted-foreground text-xs`,children:`Repository`}),(0,$.jsxs)(`div`,{className:`flex min-h-8 items-center gap-2 rounded-sm px-2 py-1.5`,children:[Tt.icon,(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`truncate text-foreground text-sm`,children:Tt.title}),(0,$.jsx)(`span`,{className:`truncate text-muted-foreground/70 text-xs`,children:Tt.description})]})]})]}):null,(0,$.jsx)(aw,{groups:Et,highlightedItemValue:f,isActionsOnly:u,keybindings:S,onExecuteItem:Yt,...I?.step===`repository`?{emptyStateMessage:I.source===`url`?`Enter a Git clone URL and press Enter to continue.`:`Enter a repository path and press Enter to look it up.`}:I?.step===`confirm`?{emptyStateMessage:`Choose a destination path and press Enter to clone.`}:De?{emptyStateMessage:`Relative paths require an active project.`}:Nt?{emptyStateMessage:`Press Enter to create this folder and add it as a project.`}:{}})]}),(0,$.jsxs)(Eo,{className:`gap-3 max-sm:flex-col max-sm:items-start`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsxs)(gr,{className:`items-center gap-1.5`,children:[(0,$.jsx)(ki,{children:(0,$.jsx)(cc,{})}),(0,$.jsx)(ki,{children:(0,$.jsx)(oc,{})}),(0,$.jsx)(`span`,{className:R(`text-muted-foreground/80`),children:`Navigate`})]}),I?.step===`repository`?(0,$.jsxs)(gr,{className:`items-center gap-1.5`,children:[(0,$.jsx)(ki,{children:`Enter`}),(0,$.jsx)(`span`,{className:R(`text-muted-foreground/80`),children:zt??`Continue`})]}):!At||kt?(0,$.jsxs)(gr,{className:`items-center gap-1.5`,children:[(0,$.jsx)(ki,{children:`Enter`}),(0,$.jsx)(`span`,{className:R(`text-muted-foreground/80`),children:`Select`})]}):null,Ot?(0,$.jsxs)(gr,{className:`items-center gap-1.5`,children:[(0,$.jsx)(ki,{children:`Backspace`}),(0,$.jsx)(`span`,{className:R(`text-muted-foreground/80`),children:`Back`})]}):null,(0,$.jsxs)(gr,{className:`items-center gap-1.5`,children:[(0,$.jsx)(ki,{children:`Esc`}),(0,$.jsx)(`span`,{className:R(`text-muted-foreground/80`),children:`Close`})]})]}),Gt?(0,$.jsx)(J,{variant:`ghost`,size:`xs`,className:`h-auto px-2 text-xs text-muted-foreground/80 hover:bg-transparent hover:text-foreground`,disabled:P,onClick:()=>{Xt()},children:`Open in ${Ut}`}):null]})]},`${C.length}-${D}-${q}-${I?.step??`none`}`)})}function Nw(e){return e.username?`${e.username}@${e.destination}`:e.destination}function Pw(e){return`${Math.floor(e/60)}:${String(e%60).padStart(2,`0`)}`}function Fw(e){let t=e instanceof Error?e.message:`SSH password prompt failed.`;return t.includes(`expired`)||t.includes(`no longer pending`)?`This SSH password prompt expired. Try connecting again.`:t}function Iw(){let[e,t]=(0,Z.useState)([]),[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(()=>Date.now()),[c,l]=(0,Z.useState)(null),u=e[0]??null,d=(0,Z.useRef)(null),f=(0,Z.useRef)(!1),p=(0,Z.useId)();(0,Z.useEffect)(()=>{let e=window.desktopBridge;if(e?.onSshPasswordPrompt)return e.onSshPasswordPrompt(e=>{t(t=>[...t,e])})},[]),(0,Z.useEffect)(()=>{if(r(``),l(null),!u)return;s(Date.now());let e=window.requestAnimationFrame(()=>{d.current?.focus(),d.current?.select()});return()=>{window.cancelAnimationFrame(e)}},[u]),(0,Z.useEffect)(()=>{if(!u)return;let e=window.setInterval(()=>{s(Date.now())},1e3);return()=>{window.clearInterval(e)}},[u]);let m=u?Date.parse(u.expiresAt):NaN,h=Number.isFinite(m)?Math.max(0,m-o):null,g=h!==null&&h<=0,_=h===null?null:Math.ceil(h/1e3),v=_===null?null:Pw(_);(0,Z.useEffect)(()=>{g&&l(`This SSH password prompt expired. Try connecting again.`)},[g]);let y=e=>{t(t=>t[0]?.requestId===e?t.slice(1):t),r(``),l(null)},b=async e=>{if(!u||f.current)return;let t=u.requestId;if(e!==null&&g){l(`This SSH password prompt expired. Try connecting again.`);return}f.current=!0,a(!0),l(null);try{await window.desktopBridge?.resolveSshPasswordPrompt(t,e),y(t)}catch(n){e===null?y(t):l(Fw(n))}finally{f.current=!1,a(!1)}},x=()=>{u&&y(u.requestId)},S=()=>{if(g){x();return}b(null)},C=u?Nw(u):null;return(0,$.jsx)(Zr,{open:u!==null,onOpenChange:e=>{e||S()},children:(0,$.jsxs)(Kn,{className:`max-w-md`,showCloseButton:!1,children:[(0,$.jsxs)(oi,{children:[(0,$.jsx)(Ti,{children:`SSH Password Required`}),(0,$.jsxs)(wr,{children:[`Ryco needs your SSH password to connect to`,` `,C?(0,$.jsx)(`code`,{children:C}):`the remote host`,`. The password is passed to the local SSH process for this connection attempt and is not saved by Ryco.`]})]}),(0,$.jsx)(Mo,{className:`space-y-3`,scrollFade:!1,children:(0,$.jsxs)(`form`,{className:`space-y-3`,id:p,onSubmit:e=>{e.preventDefault(),b(n)},children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:u?.prompt}),v?(0,$.jsx)(`span`,{className:g?`shrink-0 text-xs font-medium text-destructive`:`shrink-0 text-xs text-muted-foreground`,children:g?`Expired`:v}):null]}),(0,$.jsx)(tr,{ref:d,autoComplete:`current-password`,disabled:i||g,name:`ssh-password`,type:`password`,value:n,onChange:e=>r(e.target.value)})]}),c?(0,$.jsx)(`p`,{className:`text-sm text-destructive`,children:c}):(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Use SSH keys to avoid repeated password prompts on new SSH sessions.`})]})}),(0,$.jsxs)(Ir,{children:[(0,$.jsx)(J,{disabled:i,type:`button`,variant:`outline`,onClick:S,children:g?`Dismiss`:`Cancel`}),(0,$.jsx)(J,{disabled:i||g,form:p,type:`submit`,children:`Continue`})]})]})})}var Lw=`t3code:provider-update-dismissals:v1`,Rw=Uo({keys:Vo(qo)});function zw(){let e=(0,Q.c)(10),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={keys:[]},e[0]=t):t=e[0];let[n,r]=dn(Lw,t,Rw),i=n.keys,a,o;e[1]===i?o=e[2]:(o=new Set(i),e[1]=i,e[2]=o),a=o;let s=a,c;e[3]!==s||e[4]!==i||e[5]!==r?(c=e=>{let t=e.trim();t.length===0||s.has(t)||r({keys:[...i,t]})},e[3]=s,e[4]=i,e[5]=r,e[6]=c):c=e[6];let l=c,u;return e[7]!==l||e[8]!==s?(u={dismissedNotificationKeys:s,dismissNotificationKey:l},e[7]=l,e[8]=s,e[9]=u):u=e[9],u}var Bw=new Set;function Vw(e){let t=(0,Q.c)(6),{provider:n}=e,r=Ci[n];if(!r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`span`,{className:`relative inline-flex size-4 shrink-0 items-center justify-center`,children:(0,$.jsx)(gc,{"aria-hidden":`true`,className:`size-4 text-success`,strokeWidth:2.5})}),t[0]=e):e=t[0],e}let i;t[1]===r?i=t[2]:(i=(0,$.jsx)(r,{"aria-hidden":`true`,className:`size-4`}),t[1]=r,t[2]=i);let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`span`,{className:`absolute -right-1 -bottom-1 inline-flex size-3 items-center justify-center rounded-full bg-popover`,children:(0,$.jsx)(gc,{"aria-hidden":`true`,className:`size-2.5 text-success`,strokeWidth:2.5})}),t[3]=a):a=t[3];let o;return t[4]===i?o=t[5]:(o=(0,$.jsxs)(`span`,{className:`relative inline-flex size-4 shrink-0 items-center justify-center`,children:[i,a]}),t[4]=i,t[5]=o),o}function Hw(e){if(e.view.type===`loading`||e.view.type===`success`){Y.update(e.toastId,{type:e.view.type,title:e.view.title,description:e.view.description,timeout:0,data:{hideCopyButton:!0,...e.view.dismissAfterVisibleMs===void 0?{}:{dismissAfterVisibleMs:e.view.dismissAfterVisibleMs}}});return}Y.update(e.toastId,X({type:e.view.type,title:e.view.title,description:e.view.description,timeout:0,actionProps:{children:`Settings`,onClick:e.openSettings},actionVariant:`outline`,data:{hideCopyButton:!0}}))}function Uw(e){return e.phase===`failed`||e.phase===`unchanged`||e.phase===`succeeded`}function Ww(){let e=Mr(e=>e.openSettings),t=Le(),n=(0,Z.useRef)(null),{dismissedNotificationKeys:r,dismissNotificationKey:i}=zw(),a=(0,Z.useMemo)(()=>Nh(t),[t]),o=(0,Z.useMemo)(()=>Ih(a),[a]),s=(0,Z.useMemo)(()=>a.filter(e=>Fh(e,t)),[t,a]),c=(0,Z.useCallback)(t=>{let r=n.current;t===void 0?r&&Y.close(r.toastId):Y.close(t),r&&(t===void 0||r.toastId===t)&&(n.current=null),e(`providers`)},[e]);return(0,Z.useEffect)(()=>{let e=n.current;if(e?.kind!==`update`)return;let r=Vh({providers:t.filter(t=>e.providerInstanceIds.has(t.instanceId)),providerCount:e.providerCount});Hw({toastId:e.toastId,view:r,openSettings:()=>c(e.toastId)}),Uw(r)&&(n.current=null)},[t,c]),(0,Z.useEffect)(()=>{let e=n.current;if(e?.kind===`prompt`&&e.key!==o&&(Y.close(e.toastId),n.current=null),!o||r.has(o)||Bw.has(o)||n.current)return;Bw.add(o);let t=Rh({updateProviders:a,oneClickProviders:s}),l,u=!1,d=()=>c(l);l=Y.add(X({type:t.type,title:t.title,description:t.description,timeout:0,actionProps:s.length>0?{children:`Update`,onClick:()=>{if(u||s.length===0)return;u=!0;let e=s.length,t=new Set(s.map(e=>e.instanceId));n.current={kind:`update`,key:o,toastId:l,providerInstanceIds:t,providerCount:e},Hw({toastId:l,view:zh(e),openSettings:d}),Promise.allSettled(s.map(async e=>kt().server.updateProvider({provider:e.driver,instanceId:e.instanceId}))).then(r=>{let i=n.current;if(i?.kind!==`update`||i.toastId!==l)return;let a=Uh(r);if(a){Hw({toastId:l,view:Bh(e,a),openSettings:d}),n.current=null;return}let o=Vh({providers:Hh({results:r,providerInstanceIds:t}),providerCount:e});Hw({toastId:l,view:o,openSettings:d}),Uw(o)&&(n.current=null)})}}:{children:`Settings`,onClick:d},actionVariant:s.length>0?`default`:`outline`,data:{leadingIcon:a.length===1?(0,$.jsx)(Vw,{provider:a[0].driver}):void 0,hideCopyButton:!0,onClose:()=>{i(o)},...s.length>0?{secondaryActionProps:{children:`Settings`,onClick:d},secondaryActionVariant:`outline`}:{}}})),n.current={kind:`prompt`,key:o,toastId:l}},[i,r,o,s,c,a]),null}var Gw=5e3,Kw=new Intl.DateTimeFormat(void 0,{day:`numeric`,hour:`numeric`,minute:`2-digit`,month:`short`,second:`2-digit`});function qw(e){return e?Kw.format(new Date(e)):null}function Jw(e,t){let n=Math.max(0,new Date(e).getTime()-t);return`${Math.max(1,Math.ceil(n/1e3))}s`}function Yw(){return`WebSocket disconnected. Waiting for network.`}function Xw(e){return`Attempt ${Math.max(1,Math.min(e.reconnectAttemptCount,8))}/${e.reconnectMaxAttempts}`}function Zw(){return`Retries exhausted trying to reconnect`}function Qw(e){return e.connectionLabel?.trim()||`S3 Server`}function $w(e){return`Disconnected from ${Qw(e)}`}function eT(e){return`Reconnected to ${Qw(e)}`}function tT(e,t){let n=qw(t),r=qw(e);return r&&n?`Disconnected at ${r} and reconnected at ${n}.`:n?`Connection restored at ${n}.`:`Connection restored.`}function nT(e){let t=e.length,n=Math.round((e[0]?.thresholdMs??0)/1e3);return`${t} request${t===1?``:`s`} waiting longer than ${n}s.`}function rT(e,t,n){return X({actionProps:{children:`Retry now`,onClick:n},data:{hideCopyButton:!0},description:e.nextRetryAt===null?`Reconnecting... ${Xw(e)}`:`Reconnecting in ${Jw(e.nextRetryAt,t)}... ${Xw(e)}`,timeout:0,title:$w(e),type:`loading`})}function iT(e){let t=(0,Q.c)(4),{requests:n}=e,r;t[0]===n?r=t[1]:(r=n.map(aT),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,$.jsx)(`ul`,{className:`space-y-2.5 text-xs text-muted-foreground`,children:r}),t[2]=r,t[3]=i),i}function aT(e){return(0,$.jsxs)(`li`,{className:`min-w-0 border-border/50 border-b pb-2 last:border-b-0 last:pb-0`,children:[(0,$.jsx)(`div`,{className:`wrap-break-word font-medium text-foreground`,children:e.tag}),(0,$.jsx)(`div`,{className:`mt-0.5 font-mono text-[10px] leading-snug opacity-90`,children:e.requestId}),(0,$.jsxs)(`div`,{className:`mt-0.5 text-[10px] opacity-75`,children:[`Started `,qw(e.startedAt)??e.startedAt]})]},e.requestId)}function oT(e,t){let n=en(e);return t===`online`?n===`offline`||n===`reconnecting`||n===`error`||e.reconnectPhase===`exhausted`:e.online&&e.hasConnected&&(n===`reconnecting`||e.reconnectPhase===`exhausted`)}function sT(e,t){return e.reconnectPhase===`waiting`&&e.nextRetryAt===t&&e.online&&e.hasConnected}function cT(){let e=(0,Q.c)(37),t=ut(),n=(0,Z.useRef)(0),r=(0,Z.useRef)(null),i=(0,Z.useRef)(null),a;e[0]===t?a=e[1]:(a=en(t),e[0]=t,e[1]=a);let o=(0,Z.useRef)(a),s=(0,Z.useRef)(t.disconnectedAt),c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=e=>{i.current!==null&&(window.clearTimeout(i.current),i.current=null),n.current=Date.now(),Dt().reconnect().catch(t=>{if(!e){console.warn(`Automatic WebSocket reconnect failed`,{error:t});return}Y.add(X({type:`error`,title:`Reconnect failed`,description:t instanceof Error?t.message:`Unable to restart the WebSocket.`,data:{dismissAfterVisibleMs:8e3,hideCopyButton:!0}}))})},e[2]=c):c=e[2];let l=(0,Z.useEffectEvent)(c),u=(0,Z.useEffectEvent)(lT),d;e[3]===l?d=e[4]:(d=()=>{l(!0)},e[3]=l,e[4]=d);let f=(0,Z.useEffectEvent)(d),p;e[5]===l?p=e[6]:(p=e=>{oT(e===`online`?At(!0):Ut(),e)&&(Date.now()-n.current<Gw||l(!1))},e[5]=l,e[6]=p);let m=(0,Z.useEffectEvent)(p),h;e[7]!==u||e[8]!==m?(h=()=>{let e=()=>{m(`online`)},t=()=>{m(`focus`)};return u(),window.addEventListener(`online`,e),window.addEventListener(`offline`,u),window.addEventListener(`focus`,t),()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,u),window.removeEventListener(`focus`,t)}},e[7]=u,e[8]=m,e[9]=h):h=e[9];let g;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=[],e[10]=g):g=e[10],(0,Z.useEffect)(h,g);let _;e[11]!==t.nextRetryAt||e[12]!==t.reconnectPhase||e[13]!==f?(_=()=>{if(t.reconnectPhase!==`waiting`||t.nextRetryAt===null)return;let e=()=>{if(!r.current)return;let e=Ut();en(e)!==`reconnecting`||e.nextRetryAt===null||Y.update(r.current,rT(e,Date.now(),f))};e();let n=window.setInterval(e,1e3);return()=>{window.clearInterval(n)}},e[11]=t.nextRetryAt,e[12]=t.reconnectPhase,e[13]=f,e[14]=_):_=e[14];let v;e[15]!==t.nextRetryAt||e[16]!==t.reconnectPhase?(v=[t.nextRetryAt,t.reconnectPhase],e[15]=t.nextRetryAt,e[16]=t.reconnectPhase,e[17]=v):v=e[17],(0,Z.useEffect)(_,v);let y;e[18]!==l||e[19]!==t.hasConnected||e[20]!==t.nextRetryAt||e[21]!==t.online||e[22]!==t.reconnectPhase?(y=()=>{if(t.reconnectPhase!==`waiting`||t.nextRetryAt===null||!t.online||!t.hasConnected)return;let e=t.nextRetryAt,n=Math.max(0,new Date(e).getTime()-Date.now())+1500,r=window.setTimeout(()=>{sT(Ut(),e)&&l(!1)},n);return()=>{window.clearTimeout(r)}},e[18]=l,e[19]=t.hasConnected,e[20]=t.nextRetryAt,e[21]=t.online,e[22]=t.reconnectPhase,e[23]=y):y=e[23];let b;e[24]!==t.hasConnected||e[25]!==t.nextRetryAt||e[26]!==t.online||e[27]!==t.reconnectAttemptCount||e[28]!==t.reconnectPhase?(b=[t.hasConnected,t.nextRetryAt,t.online,t.reconnectAttemptCount,t.reconnectPhase],e[24]=t.hasConnected,e[25]=t.nextRetryAt,e[26]=t.online,e[27]=t.reconnectAttemptCount,e[28]=t.reconnectPhase,e[29]=b):b=e[29],(0,Z.useEffect)(y,b);let x;e[30]!==t||e[31]!==f?(x=()=>{let e=en(t),n=o.current,a=s.current,c=t.hasConnected&&e===`reconnecting`,l=e===`offline`&&t.disconnectedAt!==null,u=t.hasConnected&&t.reconnectPhase===`exhausted`;if(i.current!==null&&(c||l||u)&&(window.clearTimeout(i.current),i.current=null),c||l||u){let e=l?X({data:{hideCopyButton:!0},description:Yw(),timeout:0,title:`Offline`,type:`warning`}):u?X({actionProps:{children:`Retry`,onClick:f},data:{hideCopyButton:!0},description:Zw(),timeout:0,title:$w(t),type:`error`}):rT(t,Date.now(),f);r.current?Y.update(r.current,e):r.current=Y.add(e)}else r.current&&=(Y.close(r.current),null);if(e===`connected`&&(n===`offline`||n===`reconnecting`)&&a!==null){let e={description:tT(a,t.connectedAt),title:eT(t),type:`success`,timeout:0,data:{dismissAfterVisibleMs:8e3,hideCopyButton:!0}};r.current?Y.update(r.current,e):r.current=Y.add(e),i.current=window.setTimeout(()=>{r.current=null,i.current=null},8250)}o.current=e,s.current=t.disconnectedAt},e[30]=t,e[31]=f,e[32]=x):x=e[32];let S;e[33]===t?S=e[34]:(S=[t],e[33]=t,e[34]=S),(0,Z.useEffect)(x,S);let C,w;return e[35]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>()=>{i.current!==null&&window.clearTimeout(i.current)},w=[],e[35]=C,e[36]=w):(C=e[35],w=e[36]),(0,Z.useEffect)(C,w),null}function lT(){At(navigator.onLine!==!1)}function uT(){let e=(0,Q.c)(4),t=Gt(),n=ut(),r=(0,Z.useRef)(null),i,a;return e[0]!==t||e[1]!==n?(i=()=>{if(en(n)!==`connected`){r.current&&=(Y.close(r.current),null);return}if(t.length===0){r.current&&=(Y.close(r.current),null);return}let e={data:{expandableContent:(0,$.jsx)(iT,{requests:t}),expandableDescriptionTrigger:!0,expandableLabels:{collapse:`Hide requests`,expand:`Show requests`}},description:nT(t),timeout:0,title:`Some requests are slow`,type:`warning`};r.current?Y.update(r.current,e):r.current=Y.add(e)},a=[t,n],e[0]=t,e[1]=n,e[2]=i,e[3]=a):(i=e[2],a=e[3]),(0,Z.useEffect)(i,a),null}function dT({children:e}){return e}function fT(e){let t=(0,Q.c)(28),{authGateState:n}=e,r=n.status===`authenticated`,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(ww,{children:(0,$.jsx)(RC,{children:(0,$.jsx)(Ni,{})})}),t[0]=i):i=t[0];let a=i,o;t[1]===r?o=t[2]:(o=r?(0,$.jsx)(vT,{}):null,t[1]=r,t[2]=o);let s;t[3]===r?s=t[4]:(s=r?(0,$.jsx)(gT,{}):null,t[3]=r,t[4]=s);let c,l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(bT,{}),l=(0,$.jsx)(Iw,{}),t[5]=c,t[6]=l):(c=t[5],l=t[6]);let u;t[7]===n.status?u=t[8]:(u=n.status===`hosted-static`?(0,$.jsx)(pT,{}):null,t[7]=n.status,t[8]=u);let d;t[9]===r?d=t[10]:(d=r?(0,$.jsx)(xT,{}):null,t[9]=r,t[10]=d);let f;t[11]===r?f=t[12]:(f=r?(0,$.jsx)(Ww,{}):null,t[11]=r,t[12]=f);let p;t[13]===r?p=t[14]:(p=r?(0,$.jsx)(cT,{}):null,t[13]=r,t[14]=p);let m;t[15]===r?m=t[16]:(m=r?(0,$.jsx)(uT,{}):null,t[15]=r,t[16]=m);let h;t[17]===r?h=t[18]:(h=r?(0,$.jsx)(dT,{children:a}):a,t[17]=r,t[18]=h);let g;return t[19]!==m||t[20]!==h||t[21]!==o||t[22]!==s||t[23]!==u||t[24]!==d||t[25]!==f||t[26]!==p?(g=(0,$.jsx)(kr,{children:(0,$.jsxs)(Za,{children:[o,s,c,l,u,d,f,p,m,h]})}),t[19]=m,t[20]=h,t[21]=o,t[22]=s,t[23]=u,t[24]=d,t[25]=f,t[26]=p,t[27]=g):g=t[27],g}function pT(){let e=(0,Q.c)(2),t=vt(hT),n;return e[0]===t?n=e[1]:(n=[t],e[0]=t,e[1]=n),(0,Z.useEffect)(mT,n),null}function mT(){if($o()||qe.getState().activeEnvironmentId)return;let e=Lt()[0];e&&qe.getState().setActiveEnvironmentId(e.environmentId)}function hT(e){return Object.keys(e.byId).length}function gT(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,Z.useEffect)(_T,t),null}function _T(){if($o())return Ot(Dt().client.server)}function vT(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,Z.useEffect)(yT,t),null}function yT(){nn()}function bT(){let e=(0,Q.c)(3),t=l(),n,r;return e[0]===t?(n=e[1],r=e[2]):(n=()=>_n(t),r=[t],e[0]=t,e[1]=n,e[2]=r),(0,Z.useEffect)(n,r),null}function xT(){let e=(0,Q.c)(18),t=qe(DT),n=On(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={select:ET},e[0]=r):r=e[0];let i=Or(r),a=Bt(TT),o;e[1]===i?o=e[2]:(o=()=>i,e[1]=i,e[2]=o);let s=(0,Z.useEffectEvent)(o),c=(0,Z.useRef)(null),l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=zt()?.id??0,e[3]=l):l=e[3];let u=(0,Z.useRef)(l),d=(0,Z.useRef)(!1),f=ot(),p;e[4]!==n||e[5]!==a||e[6]!==s||e[7]!==f||e[8]!==t?(p=e=>{e&&(Wo(e.environment),t(e.environment.environmentId),(async()=>{if(await Rt(e.environment.environmentId),d.current||!e.bootstrapProjectId||!e.bootstrapThreadId)return;let t=qe.getState().environmentStateById[e.environment.environmentId]?.projectById[e.bootstrapProjectId]??null,r=(t?Re(t,a):null)??(f?.cwd?L(e.environment.environmentId,f.cwd):null)??Lo(Zo(e.environment.environmentId,e.bootstrapProjectId));be.getState().setProjectExpanded(r,!0),s()===`/`&&c.current!==e.bootstrapThreadId&&(await n({to:`/$environmentId/$threadId`,params:{environmentId:e.environment.environmentId,threadId:e.bootstrapThreadId},replace:!0}),c.current=e.bootstrapThreadId)})().catch(wT))},e[4]=n,e[5]=a,e[6]=s,e[7]=f,e[8]=t,e[9]=p):p=e[9];let m=(0,Z.useEffectEvent)(p),h;e[10]===f?h=e[11]:(h=e=>{if(!e)return;let{id:t,payload:n,source:r}=e;if(t<=u.current||(u.current=t,r!==`keybindingsUpdated`))return;let i=n.issues.find(CT);if(!i){Y.add({type:`success`,title:`Keybindings updated`,description:`Keybindings configuration reloaded successfully.`});return}Y.add(X({type:`warning`,title:`Invalid keybindings configuration`,description:i.message,actionVariant:`outline`,actionProps:{children:`Open keybindings.json`,onClick:()=>{let e=st();e&&Promise.resolve(f??e.server.getConfig()).then(t=>{let n=kn(t.availableEditors);if(!n)throw Error(`No available editors found.`);return e.shell.openInEditor(t.keybindingsConfigPath,n)}).catch(ST)}}}))},e[10]=f,e[11]=h);let g=(0,Z.useEffectEvent)(h),_,v;e[12]!==f||e[13]!==t?(_=()=>{f&&(Wo(f.environment),t(f.environment.environmentId))},v=[f,t],e[12]=f,e[13]=t,e[14]=_,e[15]=v):(_=e[14],v=e[15]),(0,Z.useEffect)(_,v);let y,b;return e[16]===Symbol.for(`react.memo_cache_sentinel`)?(y=()=>(d.current=!1,()=>{d.current=!0}),b=[],e[16]=y,e[17]=b):(y=e[16],b=e[17]),(0,Z.useEffect)(y,b),I(m),fn(g),null}function ST(e){Y.add(X({type:`error`,title:`Unable to open keybindings file`,description:e instanceof Error?e.message:`Unknown error opening file.`}))}function CT(e){return e.kind.startsWith(`keybindings.`)}function wT(){}function TT(e){return{sidebarProjectGroupingMode:e.sidebarProjectGroupingMode,sidebarProjectGroupingOverrides:e.sidebarProjectGroupingOverrides}}function ET(e){return e.pathname}function DT(e){return e.setActiveEnvironmentId}export{fT as RootAppShell};
|