ryco-cli 0.1.24 → 0.1.25
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/{AcpNativeLogging-COepku4a.cjs → AcpNativeLogging-CA6XYzIS.cjs} +1 -1
- package/dist/{AcpNativeLogging-D7e1dn7s.mjs → AcpNativeLogging-D4-VoHrq.mjs} +1 -1
- package/dist/{AzureDevOpsSourceControlProvider-BNGEg1R8.mjs → AzureDevOpsSourceControlProvider-B_E0XXfD.mjs} +2 -2
- package/dist/{AzureDevOpsSourceControlProvider-CrvgKNf2.cjs → AzureDevOpsSourceControlProvider-COmd21c-.cjs} +2 -2
- package/dist/{BitbucketSourceControlProvider-BzhsQwH-.cjs → BitbucketSourceControlProvider-CD8IvXQK.cjs} +2 -2
- package/dist/{BitbucketSourceControlProvider-Bt21jw68.mjs → BitbucketSourceControlProvider-pUKsNXcg.mjs} +2 -2
- package/dist/{ClaudeDriver-C4yu7Jit.mjs → ClaudeDriver-CGifBixr.mjs} +2 -2
- package/dist/{ClaudeDriver-B7mbf51W.cjs → ClaudeDriver-Dry5uJfX.cjs} +2 -2
- package/dist/{CodexDriver-CR0S17Lb.cjs → CodexDriver-BzR8gA8w.cjs} +3 -3
- package/dist/{CodexDriver-DnnqkGoY.mjs → CodexDriver-V4CL9APE.mjs} +3 -3
- package/dist/{CodexTextGeneration-tlfe1S5W.cjs → CodexTextGeneration-DTrSzY-I.cjs} +1 -1
- package/dist/{CodexTextGeneration-Cw-FZbSS.mjs → CodexTextGeneration-DoCidwvI.mjs} +1 -1
- package/dist/{CopilotDriver-GxKLX5pL.mjs → CopilotDriver-Dt13X60f.mjs} +3 -3
- package/dist/{CopilotDriver-IBd27Ji2.cjs → CopilotDriver-rLcA8PSN.cjs} +3 -3
- package/dist/{CursorDriver-C4Enoe9N.cjs → CursorDriver-C3s-8s9F.cjs} +3 -3
- package/dist/{CursorDriver-CNo9Uzo8.mjs → CursorDriver-HIPUs7cz.mjs} +3 -3
- package/dist/{ForgejoSourceControlProvider-BGXysSX6.mjs → ForgejoSourceControlProvider-CmvOAzEG.mjs} +2 -2
- package/dist/{ForgejoSourceControlProvider-Dh6DOoc8.cjs → ForgejoSourceControlProvider-JgiyrMqp.cjs} +2 -2
- package/dist/{GitHubSourceControlProvider-CPCYV8Xo.mjs → GitHubSourceControlProvider-BYuvbcBf.mjs} +2 -2
- package/dist/{GitHubSourceControlProvider-8hsv_kCE.cjs → GitHubSourceControlProvider-CItCpOcC.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-B0ZbF9Zx.cjs → GitLabSourceControlProvider-CMce22nU.cjs} +2 -2
- package/dist/{GitLabSourceControlProvider-Bvknpaon.mjs → GitLabSourceControlProvider-DZzEaVSi.mjs} +2 -2
- package/dist/{GrokDriver-DSPEmiwq.mjs → GrokDriver-CduUwiOH.mjs} +3 -3
- package/dist/{GrokDriver-RyyFeh_q.cjs → GrokDriver-D0jraOC_.cjs} +3 -3
- package/dist/{OpenCodeDriver-0q44rSQX.mjs → OpenCodeDriver-Bz_uJdMA.mjs} +2 -2
- package/dist/{OpenCodeDriver-CDcvPT9v.cjs → OpenCodeDriver-DxGpgtDS.cjs} +2 -2
- package/dist/{SourceControlProviderDiscoveryCatalog-DreaAH1H.cjs → SourceControlProviderDiscoveryCatalog-Dm_lhrhv.cjs} +1 -1
- package/dist/{SourceControlProviderDiscoveryCatalog-B37RHe2u.mjs → SourceControlProviderDiscoveryCatalog-ZtwPWoxE.mjs} +1 -1
- package/dist/bin.cjs +291 -176
- package/dist/bin.mjs +291 -176
- package/dist/client/assets/AccountSettings-Bv57-JYy.js +1 -0
- package/dist/client/assets/{AiFocusSettings-CNmGHEcA.js → AiFocusSettings-DCPHmJpA.js} +1 -1
- package/dist/client/assets/{AnimatedHeight-i0YhvlGD.js → AnimatedHeight-DPqb09B0.js} +1 -1
- package/dist/client/assets/{AppearanceSettings-BG8W4DP0.js → AppearanceSettings-EmTrtb_U.js} +1 -1
- package/dist/client/assets/{BranchToolbar.logic-AgPy06Mx.js → BranchToolbar.logic-CHRK3hDt.js} +1 -1
- package/dist/client/assets/{BrowserPanel-BWztlNuL.js → BrowserPanel-2Xu08il5.js} +1 -1
- package/dist/client/assets/ChatRightPanel-C1VD6GCV.js +194 -0
- package/dist/client/assets/{ChatThreadRouteView-CWoBLzR_.js → ChatThreadRouteView-CNww3i2J.js} +1 -1
- package/dist/client/assets/CommandPaletteDialog-B_f3fKp7.js +1 -0
- package/dist/client/assets/{CompositeRoot-C1G-Ejus.js → CompositeRoot-B40iitmH.js} +1 -1
- package/dist/client/assets/ComputerUseSettings-BJs7jqR0.js +1 -0
- package/dist/client/assets/ConnectionsSettings-B9nfvgLG.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-BSQOArMR.js +4 -0
- package/dist/client/assets/{DiagnosticsSettings-DvnNz2AZ.js → DiagnosticsSettings-BmrqOKMe.js} +1 -1
- package/dist/client/assets/{DialogHandle-8o3kfoiI.js → DialogHandle-pelzaaiH.js} +1 -1
- package/dist/client/assets/{DialogPopup-CLw6NCkW.js → DialogPopup-BLM0vN4N.js} +1 -1
- package/dist/client/assets/DialogRoot-CY6ZzEUS.js +1 -0
- package/dist/client/assets/{DialogTitle-DCHX74Tz.js → DialogTitle-BvIjMtMm.js} +1 -1
- package/dist/client/assets/{DialogTrigger-Bl_fcIV2.js → DialogTrigger-CIeVAA-a.js} +1 -1
- package/dist/client/assets/{DialogViewport-DVDl03yd.js → DialogViewport-Cz0OadGI.js} +1 -1
- package/dist/client/assets/{DraftChatThreadRouteView-CEDYjbKq.js → DraftChatThreadRouteView-DMIGMESb.js} +1 -1
- package/dist/client/assets/{ExternalIdentityWeb.logic-arHvT6AX.js → ExternalIdentityWeb.logic-3rlDV7lT.js} +1 -1
- package/dist/client/assets/{GlassSurface-GY6owikG.js → GlassSurface-CEVIdyfP.js} +1 -1
- package/dist/client/assets/{HostedConnectionControls-COUhSe9x.js → HostedConnectionControls-r9cyZPyF.js} +1 -1
- package/dist/client/assets/HostedHubRoot-BkfafJ5x.js +2 -0
- package/dist/client/assets/{HostedNativeAuthorizationRoute-DZhYxv--.js → HostedNativeAuthorizationRoute-CqHuW853.js} +2 -2
- package/dist/client/assets/HostedNodeRenameDialog-C7m-nvTj.js +1 -0
- package/dist/client/assets/{HostedRelayTrustNotice-Bl6On0Yi.js → HostedRelayTrustNotice-DNZQyAX0.js} +1 -1
- package/dist/client/assets/IntegrationsSettingsPanel-hul3ysgL.js +2 -0
- package/dist/client/assets/{KeybindingsSettings-CPtXx-W2.js → KeybindingsSettings-Cme6omBM.js} +1 -1
- package/dist/client/assets/{LazyBrowserPanel-SUIBB7B4.js → LazyBrowserPanel-COJFwNK7.js} +2 -2
- package/dist/client/assets/{McpServersSettings-BWIUud0Z.js → McpServersSettings-CPeNF8_u.js} +4 -4
- package/dist/client/assets/{MobileSheet-NTayGHF6.js → MobileSheet-BZo-RAfm.js} +1 -1
- package/dist/client/assets/{NodeSecuritySettings-BFifrshE.js → NodeSecuritySettings-CwT5nEW9.js} +1 -1
- package/dist/client/assets/{OpinionatedPluginsSettings-D7WuuNWZ.js → OpinionatedPluginsSettings-D8A1CbMG.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitial-R0cqI17q.js → PhoneGetAppInterstitial-BBnGXVkR.js} +1 -1
- package/dist/client/assets/PhoneHome-BTKOPVjw.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-DdVCndyt.js +2 -0
- package/dist/client/assets/{ProviderModelPicker-dwWhl7Uf.js → ProviderModelPicker-DoYEUZrn.js} +1 -1
- package/dist/client/assets/ProvidersSettingsPanel-ldDCPVIY.js +1 -0
- package/dist/client/assets/{QuitShortcutFeedback-CklL3jMd.js → QuitShortcutFeedback-mF7X0WMD.js} +1 -1
- package/dist/client/assets/{RedactedSensitiveText-CLPBtvH1.js → RedactedSensitiveText-DovqFcmM.js} +1 -1
- package/dist/client/assets/RootAppShell-CzmEWO9w.js +7 -0
- package/dist/client/assets/{Separator-CpYBhf-I.js → Separator-BhAVTIOc.js} +1 -1
- package/dist/client/assets/SettingsDialog-ByXgBN0U.js +2 -0
- package/dist/client/assets/SettingsPanels-Bgf4vkrJ.js +3 -0
- package/dist/client/assets/{SettingsPanels.editor-9pSZP875.js → SettingsPanels.editor-d-rVlbeN.js} +1 -1
- package/dist/client/assets/SourceControlSettings-dKw0FaN1.js +1 -0
- package/dist/client/assets/{StatisticsPage-C7v-6CTr.js → StatisticsPage-C2RuqDIK.js} +1 -1
- package/dist/client/assets/{StatisticsPanel-CeIjiBm8.js → StatisticsPanel-DqoXnrhQ.js} +1 -1
- package/dist/client/assets/{StatisticsSettingsLink-5s_violW.js → StatisticsSettingsLink-C_f31sb4.js} +1 -1
- package/dist/client/assets/{ThreadTerminalDrawer-CHZ60lPI.js → ThreadTerminalDrawer-DaLrSTn9.js} +11 -11
- package/dist/client/assets/{ThreadWorkspacePanel-Ct5kMcuY.js → ThreadWorkspacePanel-BvRZIxZQ.js} +17 -17
- package/dist/client/assets/{activity-BMBx2Fu0.js → activity-bn_fBQGf.js} +1 -1
- package/dist/client/assets/{alert-CXnC_RJc.js → alert-BmLJh6DH.js} +1 -1
- package/dist/client/assets/{appChrome-BzM66lXM.js → appChrome-Dy57Ve9N.js} +1 -1
- package/dist/client/assets/{arrow-left-CymyVbCi.js → arrow-left-pzj1cbX3.js} +1 -1
- package/dist/client/assets/{arrow-right-9wyq4YVq.js → arrow-right-BW5jU-vo.js} +1 -1
- package/dist/client/assets/{arrow-up-right-mfU38K6p.js → arrow-up-right-AfC5AaSO.js} +1 -1
- package/dist/client/assets/authorization-7xVVtCBu.js +1 -0
- package/dist/client/assets/{badge-Dg7mXiOh.js → badge-DnBuGHGL.js} +1 -1
- package/dist/client/assets/{bot-BR3RyOWP.js → bot-CsKkSRlb.js} +1 -1
- package/dist/client/assets/{capabilities-C8sxDbKT.js → capabilities-DskyVNd2.js} +1 -1
- package/dist/client/assets/{chart-column-CcRi3pAd.js → chart-column-DhvWXIiH.js} +1 -1
- package/dist/client/assets/chevron-right-CITtTwME.js +1 -0
- package/dist/client/assets/{clipboard-copy-ezz8rnaT.js → clipboard-copy-fJnfdl4H.js} +1 -1
- package/dist/client/assets/{data-list-ZLhzdlED.js → data-list-_E-Al1sf.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-P28r2lN2.js → desktopWorkspace-DycXKuMm.js} +1 -1
- package/dist/client/assets/{download-BA9L9tK9.js → download-CLQzE1di.js} +1 -1
- package/dist/client/assets/{editorPreferences-DeKdSV3s.js → editorPreferences-Bg624RVT.js} +1 -1
- package/dist/client/assets/{empty-3NpXLnAM.js → empty-YXFtCUDN.js} +1 -1
- package/dist/client/assets/{group-D5qBdsaB.js → group-DOCkUmuY.js} +1 -1
- package/dist/client/assets/{hostedConnectionCoordinator-CLV-JD1S.js → hostedConnectionCoordinator-JZ1dLx4v.js} +1 -1
- package/dist/client/assets/{hubRoutes-EWJ3Gdod.js → hubRoutes-C2S5of9_.js} +1 -1
- package/dist/client/assets/{index-DxCd1PgA.js → index-CvRFRkBK.js} +2 -2
- package/dist/client/assets/{input-DrOL1KPS.js → input-C2xv8mMt.js} +1 -1
- package/dist/client/assets/{kbd-rWDjJnWX.js → kbd-4-4mGdIa.js} +1 -1
- package/dist/client/assets/{key-round-D2DtQ7aS.js → key-round-CYcb9lAa.js} +1 -1
- package/dist/client/assets/{layers-DtSJWmwy.js → layers-CGlOWYxu.js} +1 -1
- package/dist/client/assets/{log-out-YAp9fsOg.js → log-out-CZW2EpNJ.js} +1 -1
- package/dist/client/assets/{logging-BuUPX1SP.js → logging-BpmZOfmu.js} +1 -1
- package/dist/client/assets/main-CC-U8LrA.css +2 -0
- package/dist/client/assets/main-CzDOnLFw.js +9 -0
- package/dist/client/assets/{palette-D18VboLH.js → palette-CQOuNfSO.js} +1 -1
- package/dist/client/assets/{play-d3KUi4G6.js → play-CPVy9wwV.js} +1 -1
- package/dist/client/assets/primary-CjhRI8fe.js +2 -0
- package/dist/client/assets/providerDriverMeta-BVHpFupf.js +1 -0
- package/dist/client/assets/providerModels-BsybzP4P.js +1 -0
- package/dist/client/assets/{qr-code-Bk1kdf_k.js → qr-code-BPqDlVMn.js} +1 -1
- package/dist/client/assets/{qr-code-MAZkoKtL.js → qr-code-C6BVTc4V.js} +1 -1
- package/dist/client/assets/{radio-group-D-VCGinX.js → radio-group-C8qudOQH.js} +2 -2
- package/dist/client/assets/{refresh-cw-DY3_Ph-S.js → refresh-cw-B5Cz1z3e.js} +1 -1
- package/dist/client/assets/runtime-Bxg7k81u.js +17 -0
- package/dist/client/assets/{save-ugJXuJRM.js → save-C7zM6ey6.js} +1 -1
- package/dist/client/assets/{scroll-area-BMnGzd2a.js → scroll-area-5OU_pvTW.js} +1 -1
- package/dist/client/assets/{scrollEdges-QLSFwGSQ.js → scrollEdges-qnEXfIOg.js} +1 -1
- package/dist/client/assets/{separator-BwUYkCkX.js → separator-B5HfRiaO.js} +1 -1
- package/dist/client/assets/{settingsLayout-C6SUmJVB.js → settingsLayout-CfKq88KD.js} +1 -1
- package/dist/client/assets/{sheet-DLy4aeVa.js → sheet-B9gQDy_I.js} +1 -1
- package/dist/client/assets/{shield-alert-DfUhTI4-.js → shield-alert-7yBlEyOs.js} +1 -1
- package/dist/client/assets/{shield-check-CO4SMhAs.js → shield-check-CnKgVJ0F.js} +1 -1
- package/dist/client/assets/{shield-Zq_ygsnJ.js → shield-rdjnBE2Q.js} +1 -1
- package/dist/client/assets/{sidebar-DNnW-a2V.js → sidebar-BdvL1Pbj.js} +1 -1
- package/dist/client/assets/sidebarProjectFolders-BH8XBqNe.js +4 -0
- package/dist/client/assets/{sidebarStatusText-CawrXnx0.js → sidebarStatusText-CZKsUFBD.js} +1 -1
- package/dist/client/assets/{skeleton-DRm4_OvB.js → skeleton-CoyLqyaB.js} +1 -1
- package/dist/client/assets/{smartphone-O2VACDhU.js → smartphone-CBgpMHXR.js} +1 -1
- package/dist/client/assets/{sparkles-isHutYWU.js → sparkles-w-UZXQx1.js} +1 -1
- package/dist/client/assets/src-Bi-5Nw9C.js +14 -0
- package/dist/client/assets/{star-7UHEnC3x.js → star-BZ-RtSFD.js} +1 -1
- package/dist/client/assets/switch-CEJEmLe7.js +48 -0
- package/dist/client/assets/{toggle-CaKBNe6W.js → toggle-DVGrNHjq.js} +1 -1
- package/dist/client/assets/{toggle-group-UeFeTI3u.js → toggle-group-CNDOfNhH.js} +1 -1
- package/dist/client/assets/{tokenModePresentation-DV56ekA4.js → tokenModePresentation-CQNdC9CW.js} +1 -1
- package/dist/client/assets/{tooltip-DXvXxL37.js → tooltip-B7Z4qomY.js} +1 -1
- package/dist/client/assets/{unplug-DisTpujT.js → unplug-CRUwFNFw.js} +1 -1
- package/dist/client/assets/useAppSidebarCollapsed-wq6czkNJ.js +1 -0
- package/dist/client/assets/useBaseUiId-OYaGjnkh.js +1 -0
- package/dist/client/assets/{useLabelableId-BsDFG9Oj.js → useLabelableId-VMc-yITe.js} +1 -1
- package/dist/client/assets/{useNavigate-cLfxn_9L.js → useNavigate-DVi0rBlf.js} +1 -1
- package/dist/client/assets/{usePhoneThreadActions-rekHL1Mi.js → usePhoneThreadActions-CwwHikjB.js} +1 -1
- package/dist/client/assets/{usePopupViewport-kXU31P6l.js → usePopupViewport-BcSIK_ph.js} +1 -1
- package/dist/client/assets/{useScrollLock-DjMxrUJe.js → useScrollLock-BQf9VYJT.js} +1 -1
- package/dist/client/assets/{useStatistics-BYP-9CmW.js → useStatistics-DczKdEfy.js} +1 -1
- package/dist/client/assets/{useTriggerFocusGuards-DuAm2B8C.js → useTriggerFocusGuards-DjP-D0_a.js} +1 -1
- package/dist/client/assets/{useValueChanged-DreFjrMK.js → useValueChanged-CRwCkFdy.js} +1 -1
- package/dist/client/assets/{user-round-DctamWV6.js → user-round-DStbWN3z.js} +1 -1
- package/dist/client/assets/{vscode-icons-Dw-LGJAv.js → vscode-icons-BihBo3tb.js} +1 -1
- package/dist/client/assets/{workspaceMetadataProjection-BL4sEIL2.js → workspaceMetadataProjection-j3BGlVOB.js} +1 -1
- package/dist/client/assets/{wrench-Ds8eZerZ.js → wrench-BBIgGxy9.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/{collectUint8StreamText-C_VNyArd.mjs → collectUint8StreamText-CE1Re5Ij.mjs} +41 -3
- package/dist/{collectUint8StreamText-DStwNTTK.cjs → collectUint8StreamText-whblCEfg.cjs} +52 -2
- package/dist/{makeManagedServerProvider-GZcpSLrW.mjs → makeManagedServerProvider-CwYhl_P-.mjs} +1 -1
- package/dist/{makeManagedServerProvider-VzxWN-04.cjs → makeManagedServerProvider-Dy2Ny9tk.cjs} +1 -1
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/package.json +1 -1
- package/dist/client/assets/AccountSettings-ApnDA1f-.js +0 -1
- package/dist/client/assets/ChatRightPanel-a6UOHNMm.js +0 -194
- package/dist/client/assets/CommandPaletteDialog-B2iKWCUi.js +0 -1
- package/dist/client/assets/ComputerUseSettings-CPwWoHWj.js +0 -1
- package/dist/client/assets/ConnectionsSettings-CPMkuxza.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-BildLLDY.js +0 -4
- package/dist/client/assets/DialogRoot-SKkIuQHA.js +0 -1
- package/dist/client/assets/HostedHubRoot-BTWc0XoQ.js +0 -2
- package/dist/client/assets/IntegrationsSettingsPanel-n9owMZf-.js +0 -2
- package/dist/client/assets/PhoneHome-FqWvnJP_.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-w5PJnoBc.js +0 -2
- package/dist/client/assets/ProvidersSettingsPanel-Ww1ch3xA.js +0 -1
- package/dist/client/assets/RootAppShell-BdQCs2XJ.js +0 -7
- package/dist/client/assets/SettingsDialog-DeMzEeCP.js +0 -2
- package/dist/client/assets/SettingsPanels-ZxNz9ZfL.js +0 -3
- package/dist/client/assets/SourceControlSettings-C1F3Brcn.js +0 -1
- package/dist/client/assets/authorization-CjOFkg7b.js +0 -1
- package/dist/client/assets/chevron-right-CuUjBsQV.js +0 -1
- package/dist/client/assets/main-BbtLAX7M.js +0 -9
- package/dist/client/assets/main-D4CtFNPY.css +0 -2
- package/dist/client/assets/monitor-OyD484tI.js +0 -1
- package/dist/client/assets/primary-D_D7eLwT.js +0 -2
- package/dist/client/assets/providerDriverMeta-DNTocCcU.js +0 -1
- package/dist/client/assets/providerModels-bFbEIfL9.js +0 -1
- package/dist/client/assets/runtime-Djy96GJd.js +0 -17
- package/dist/client/assets/sidebarProjectFolders-ygpaKZM6.js +0 -4
- package/dist/client/assets/src-BSuAGqhK.js +0 -14
- package/dist/client/assets/switch-DD1qVLgN.js +0 -48
- package/dist/client/assets/useAppSidebarCollapsed-CaAsLi1q.js +0 -1
- package/dist/client/assets/useBaseUiId-CJN4MvrU.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-D4CtFNPY.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./index-DxCd1PgA.js";import{G as r,K as i,i as a}from"./primary-D_D7eLwT.js";import{$r as o,t as s}from"./src-BSuAGqhK.js";import{$ as c,Ir as l,J as u,K as d,Nn as f,P as p,Pa as m,Q as h,Vr as g,_l as _,al as v,ar as y,fl as b,hl as x,ir as S,ml as C,pl as ee,q as te,zr as w}from"./runtime-Djy96GJd.js";import{Ft as ne,It as re,kt as ie,qn as ae,rr as T}from"./switch-DD1qVLgN.js";import{t as E}from"./compiler-runtime-qmuS0Svy.js";import{t as D}from"./activity-BMBx2Fu0.js";import{d as O,f as oe,l as k,n as se,r as ce,t as le,u as A}from"./SettingsPanels-ZxNz9ZfL.js";import{h as ue,y as j}from"./RootAppShell-BdQCs2XJ.js";import{t as de}from"./chart-column-CcRi3pAd.js";import{q as M}from"./ContextHandoffEndpointLabel-BildLLDY.js";import{t as N}from"./sparkles-isHutYWU.js";import{t as fe}from"./palette-D18VboLH.js";import{R as P}from"./sidebarProjectFolders-ygpaKZM6.js";import{t as F}from"./shield-Zq_ygsnJ.js";import{t as pe}from"./user-round-DctamWV6.js";import{o as me,t as he}from"./desktopWorkspace-P28r2lN2.js";import{t as ge}from"./scroll-area-BMnGzd2a.js";import{t as _e}from"./capabilities-C8sxDbKT.js";import{i as ve}from"./hubRoutes-EWJ3Gdod.js";var I=E(),L=e(t(),1);function ye(e,t,n){let[r,i]=(0,L.useState)(null),[a,o]=(0,L.useState)([]),[s,c]=(0,L.useState)(null);return(0,L.useEffect)(()=>{if(!r)return;let e=new WeakMap,i=0,a=[],s=()=>{let e=r.getBoundingClientRect().top+64,t=a.findLast(t=>t.element.getBoundingClientRect().top<=e)??a[0];c(t?.element??null)},l=!1,u=()=>{if(a=t?[]:Array.from(r.querySelectorAll(`[data-settings-section]`)).map(t=>(e.has(t)||e.set(t,`section-${++i}`),{id:e.get(t),title:t.dataset.settingsSection,element:t})),o(e=>e.length===a.length&&e.every((e,t)=>e.element===a[t]?.element&&e.title===a[t]?.title)?e:a),n&&!t&&!l){let e=Array.from(r.querySelectorAll(`h2, h3, [id], [data-settings-section]`)).find(e=>e.id===n||e.dataset.settingsSection===n||e.textContent?.trim()===n);e&&(l=!0,e.scrollIntoView({block:`center`}),e.tabIndex=-1,e.focus({preventScroll:!0}))}s()};u();let d=new MutationObserver(u);return d.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-settings-section`,`aria-current`]}),r.addEventListener(`scroll`,s,!0),()=>{d.disconnect(),r.removeEventListener(`scroll`,s,!0)}},[r,e,t,n]),{contentRef:i,sections:a,active:s}}var be=[{section:`appearance`,title:`Diff style`,owner:`client`,description:`Preview unified and split layouts for code changes.`,keywords:`diff design side by side stacked layout`},{section:`integrations`,title:`Browser Use`,owner:`client`,description:`Pair browsers and manage agent access to local tabs.`,keywords:`chrome brave edge browser extension`,desktopCapability:`computerUse`},{section:`general`,title:`Quit shortcut`,owner:`client`,description:`Prevent accidental quits: press twice, hold, or quit immediately.`,keywords:`ctrl cmd q exit desktop`,desktopCapability:`quitShortcut`},{section:`integrations`,desktopCapability:`computerUse`,title:`Computer use`,owner:`client`,description:`Control local apps and browsers, manage permissions, and pair a browser.`,keywords:`accessibility screen recording capture cursor chrome brave edge app access foreground automation`},{section:`inbox`,title:`AI Focus`,owner:`client`,description:`Prioritize the Inbox with bounded, environment-local model ranking.`,keywords:`priority sort active threads model ranking focus refresh`},{section:`inbox`,title:`AI Focus models`,owner:`node`,description:`Choose or inherit the ranking model for each connected environment.`,keywords:`provider node disclosure privacy data`},{section:`general`,title:`Time format`,owner:`client`,description:`System default, 12-hour or 24-hour clock.`,keywords:`clock hours`},{section:`general`,title:`Default editor`,owner:`client`,description:`Pin which editor opens directories and files.`,keywords:`vscode cursor open in`},{section:`source-control`,title:`Diff line wrapping`,owner:`client`,description:`Default wrap state when the diff panel opens.`,keywords:`word wrap`},{section:`source-control`,title:`Hide whitespace changes`,owner:`client`,description:`Whether the diff panel ignores whitespace-only edits.`,keywords:`diff`},{section:`source-control`,title:`Remote Git status`,owner:`client`,description:`Refresh remote branch and pull request metadata.`,keywords:`git polling refresh remote`},{section:`source-control`,title:`PR & workflow updates`,owner:`client`,description:`Choose automatic, reduced, or manual pull request and workflow refreshes.`,keywords:`github actions checks ci polling refresh`},{section:`general`,title:`Stream token by token (legacy)`,owner:`node`,description:`Compatibility mode for token-by-token assistant output.`,keywords:`token streaming assistant output streaming tokens buffered`,targetId:`legacy-token-streaming`},{section:`general`,title:`Provider update checks`,owner:`node`,description:`Check installed provider CLIs for newer versions.`,keywords:`upgrade cli`},{section:`general`,title:`Auto-open overview`,owner:`client`,description:`Open the overview when plans or progress appear.`,keywords:`panel plan`},{section:`general`,title:`New threads`,owner:`node`,description:`Default workspace mode for newly created drafts.`,keywords:`local worktree draft`},{section:`general`,title:`Add project starts in`,owner:`node`,description:`Starting directory for the Add Project browser.`,keywords:`folder path`},{section:`general`,title:`Archive confirmation`,owner:`client`,description:`Ask before archiving a thread.`,keywords:`confirm`},{section:`general`,title:`Delete confirmation`,owner:`client`,description:`Ask before deleting a thread.`,keywords:`confirm remove`},{section:`general`,title:`Unpin confirmation`,owner:`client`,description:`Ask before removing a thread from pinned threads.`,keywords:`confirm pin unpin favorite`},{section:`general`,title:`Update track`,owner:`client`,description:`Which release channel the app follows.`,keywords:`beta stable release channel`},{section:`appearance`,title:`Interface font`,owner:`client`,description:`Normal app text, navigation, dialogs, and controls.`,keywords:`typeface dm sans inter geist`},{section:`appearance`,title:`Code font`,owner:`client`,description:`Code blocks, diffs, file paths, and terminal surfaces.`,keywords:`monospace jetbrains fira`},{section:`appearance`,title:`Text size`,owner:`client`,description:`Scale the interface independently from the theme.`,keywords:`zoom font size compact`},{section:`appearance`,title:`Corner radius`,owner:`client`,description:`Rounding for panels, buttons, inputs, and menus.`,keywords:`round square`},{section:`appearance`,title:`Primary color`,owner:`client`,description:`Accent color for links, focus rings, and actions.`,keywords:`accent custom violet amber`},{section:`appearance`,title:`Transparency`,owner:`client`,description:`Glass and floating surfaces like dialogs, menus, popups.`,keywords:`glass blur liquid material solid`},{section:`appearance`,title:`Theme palette`,owner:`client`,description:`Built-in and custom color themes; import and export.`,keywords:`dark midnight graphite nord dracula catppuccin`},{section:`general`,title:`Auto-collapse wide composer labels`,owner:`client`,description:`Show long composer mode labels only on hover or focus.`,keywords:`chips`},{section:`general`,title:`Always use Build mode`,owner:`client`,description:`Hide the mode selector and send every turn in Build mode.`,keywords:`composer`},{section:`appearance`,title:`Color mode`,owner:`client`,description:`Light, dark, or follow the system preference.`,keywords:`color mode dark light`},{section:`providers`,title:`Provider instances`,owner:`node`,description:`Configure Codex, Claude, Copilot, OpenCode, and Cursor.`,keywords:`api model driver accent`},{section:`integrations`,title:`Private Agent Control`,owner:`node`,description:`Pair local Codex or Claude MCP clients with scoped, revocable access.`,keywords:`model context protocol tools pairing codex claude approval agent control`},{section:`mcp-servers`,title:`MCP Servers`,owner:`node`,description:`Manage Codex, Claude, and other provider-native MCP servers.`,keywords:`model context protocol tools add server oauth profiles providers`},{section:`keybindings`,title:`Keybindings file`,owner:`node`,description:`Customize shortcuts via the keybindings configuration file.`,keywords:`shortcuts hotkeys keyboard`},{section:`source-control`,title:`Version Control`,owner:`node`,description:`Git behavior and defaults.`,keywords:`git commit`},{section:`source-control`,title:`Source Control Providers`,owner:`node`,description:`GitHub and other source control provider connections.`,keywords:`github pr pull request`},{section:`connections`,title:`Network access`,owner:`client`,description:`Expose the local backend on your network.`,keywords:`lan host remote`},{section:`connections`,title:`Pairing link`,owner:`client`,description:`Scan to open this backend on another device.`,keywords:`qr code phone mobile`},{section:`connections`,title:`Tailscale HTTPS`,owner:`client`,description:`Serve over your tailnet with HTTPS.`,keywords:`vpn remote`},{section:`connections`,title:`Authorized clients`,owner:`client`,description:`Devices and sessions allowed to connect.`,keywords:`revoke tokens`},{section:`security`,title:`Session code`,owner:`node`,description:`Compare this browser's channel against the one your node's CLI shows.`,keywords:`security verification websas e2ee compare short authentication string`},{section:`security`,title:`Enrollment fingerprint`,owner:`node`,description:`This node's identity, and the prekey and continuity behind it.`,keywords:`security e2ee key fingerprint rotate lineage`},{section:`security`,title:`Authorized client keys`,owner:`node`,description:`Approve, reduce, revoke, or delete a client key, and open a pairing window.`,keywords:`security e2ee pairing fingerprint refused attempts`},{section:`security`,title:`Admission policy`,owner:`node`,description:`Require E2EE, require approved clients, and advance the policy generation.`,keywords:`security e2ee strict fallback plaintext`},{section:`diagnostics`,title:`Diagnostics`,owner:`node`,description:`Logs, tracing, resource history, and live activity.`,keywords:`debug performance slow`},{section:`diagnostics`,title:`Test notification`,owner:`client`,description:`Fire sample notifications to preview the toast design and stacking.`,keywords:`toast notifications preview trigger sample`},{section:`statistics`,title:`Statistics`,owner:`node`,description:`Usage activity and history.`,keywords:`heatmap usage tokens`},{section:`archived`,title:`Archive`,owner:`node`,description:`Archived threads; restore or delete permanently.`,keywords:`trash restore`}],R=_(),z=[{id:`account`,label:`Account`,icon:pe},{id:`general`,label:`General`,icon:P},{id:`inbox`,label:`Inbox`,icon:N},{id:`providers`,label:`Providers`,icon:oe},{id:`opinionated-plugins`,label:`Plugins`,icon:k},{id:`mcp-servers`,label:`MCP`,icon:ue},{id:`integrations`,label:`Integrations`,icon:k},{id:`appearance`,label:`Appearance`,icon:fe},{id:`keybindings`,label:`Keybindings`,icon:O},{id:`source-control`,label:`Source Control`,icon:T},{id:`connections`,label:`Connections`,icon:A},{id:`security`,label:`Node security`,icon:F},{id:`diagnostics`,label:`Diagnostics`,icon:D},{id:`statistics`,label:`Statistics`,icon:de},{id:`archived`,label:`Archive`,icon:j}];z.map(e=>e.id),new Map(z.map(e=>[e.id,e.label]));var B=(0,L.lazy)(()=>n(()=>import(`./AccountSettings-ApnDA1f-.js`).then(e=>({default:e.AccountSettingsPanel})),__vite__mapDeps([0]))),V=(0,L.lazy)(()=>n(()=>import(`./ProvidersSettingsPanel-Ww1ch3xA.js`).then(e=>({default:e.ProvidersSettingsPanel})),__vite__mapDeps([0]))),H=(0,L.lazy)(()=>n(()=>import(`./AiFocusSettings-CNmGHEcA.js`).then(e=>({default:e.AiFocusSettings})),__vite__mapDeps([0]))),xe=(0,L.lazy)(()=>n(()=>import(`./OpinionatedPluginsSettings-D7WuuNWZ.js`).then(e=>({default:e.OpinionatedPluginsSettingsPanel})),__vite__mapDeps([0]))),U=(0,L.lazy)(()=>n(()=>import(`./IntegrationsSettingsPanel-n9owMZf-.js`).then(e=>({default:e.IntegrationsSettingsPanel})),__vite__mapDeps([0]))),W=(0,L.lazy)(()=>n(()=>import(`./McpServersSettings-BWIUud0Z.js`).then(e=>({default:e.McpServersSettings})),__vite__mapDeps([0]))),G=(0,L.lazy)(()=>n(()=>import(`./AppearanceSettings-BG8W4DP0.js`).then(e=>({default:e.AppearanceSettingsPanel})),__vite__mapDeps([0]))),K=(0,L.lazy)(()=>n(()=>import(`./KeybindingsSettings-CPtXx-W2.js`).then(e=>({default:e.KeybindingsSettingsPanel})),__vite__mapDeps([0]))),q=(0,L.lazy)(()=>n(()=>import(`./SourceControlSettings-C1F3Brcn.js`).then(e=>({default:e.SourceControlSettingsPanel})),__vite__mapDeps([0]))),Se=(0,L.lazy)(()=>n(()=>import(`./ConnectionsSettings-CPMkuxza.js`).then(e=>({default:e.ConnectionsSettings})),__vite__mapDeps([0]))),Ce=(0,L.lazy)(()=>n(()=>import(`./NodeSecuritySettings-BFifrshE.js`).then(e=>({default:e.NodeSecuritySettings})),__vite__mapDeps([0]))),J=(0,L.lazy)(()=>n(()=>import(`./DiagnosticsSettings-DvnNz2AZ.js`).then(e=>({default:e.DiagnosticsSettings})),[])),Y=(0,L.lazy)(()=>n(()=>import(`./StatisticsSettingsLink-5s_violW.js`).then(e=>({default:e.StatisticsSettingsLink})),__vite__mapDeps([0])));function we(e){let t=(0,I.c)(6),{onRestored:n}=e,{changedSettingLabels:r,restoreDefaults:i}=ce(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,R.jsx)(M,{className:`size-3.5`}),t[2]=s):s=t[2];let c;return t[3]!==a||t[4]!==o?(c=(0,R.jsxs)(w,{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 Te(e){let t=(0,I.c)(49),{section:n,searchTargetId:r}=e,a=x(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,R.jsx)(`div`,{className:`flex min-h-80 items-center justify-center text-muted-foreground text-sm`,children:`Loading settings...`}),t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=n===`account`?(0,R.jsx)(B,{}):null,t[1]=n,t[2]=s);let c;t[3]!==r||t[4]!==n?(c=n===`general`?(0,R.jsx)(se,{searchTargetId:r}):null,t[3]=r,t[4]=n,t[5]=c):c=t[5];let l;t[6]===n?l=t[7]:(l=n===`inbox`?(0,R.jsx)(H,{}):null,t[6]=n,t[7]=l);let u;t[8]===n?u=t[9]:(u=n===`providers`?(0,R.jsx)(V,{}):null,t[8]=n,t[9]=u);let d;t[10]===n?d=t[11]:(d=n===`opinionated-plugins`?(0,R.jsx)(xe,{}):null,t[10]=n,t[11]=d);let f;t[12]===n?f=t[13]:(f=n===`mcp-servers`?(0,R.jsx)(W,{}):null,t[12]=n,t[13]=f);let p;t[14]===n?p=t[15]:(p=n===`integrations`?(0,R.jsx)(U,{}):null,t[14]=n,t[15]=p);let m;t[16]===n?m=t[17]:(m=n===`appearance`?(0,R.jsx)(G,{}):null,t[16]=n,t[17]=m);let h;t[18]===n?h=t[19]:(h=n===`keybindings`?(0,R.jsx)(K,{}):null,t[18]=n,t[19]=h);let g;t[20]===n?g=t[21]:(g=n===`source-control`?(0,R.jsx)(q,{}):null,t[20]=n,t[21]=g);let _;t[22]!==a||t[23]!==n?(_=n===`connections`?a===`node`||i()?(0,R.jsxs)(`div`,{className:`space-y-5 p-6`,children:[(0,R.jsxs)(`div`,{className:`space-y-1`,children:[(0,R.jsx)(`h1`,{className:`text-base font-semibold`,children:`Connections`}),(0,R.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Ryco manages your connection automatically. Advanced details for this node are available below.`})]}),(0,R.jsxs)(w,{variant:`outline`,onClick:Ee,children:[(0,R.jsx)(F,{className:`size-4`}),`Node security · Advanced`]})]}):(0,R.jsx)(Se,{}):null,t[22]=a,t[23]=n,t[24]=_):_=t[24];let v;t[25]===n?v=t[26]:(v=n===`security`?(0,R.jsx)(Ce,{}):null,t[25]=n,t[26]=v);let y;t[27]===n?y=t[28]:(y=n===`diagnostics`?(0,R.jsx)(J,{}):null,t[27]=n,t[28]=y);let b;t[29]===n?b=t[30]:(b=n===`statistics`?(0,R.jsx)(Y,{}):null,t[29]=n,t[30]=b);let S;t[31]===n?S=t[32]:(S=n===`archived`?(0,R.jsx)(le,{}):null,t[31]=n,t[32]=S);let C;return t[33]!==h||t[34]!==g||t[35]!==_||t[36]!==v||t[37]!==y||t[38]!==b||t[39]!==S||t[40]!==s||t[41]!==c||t[42]!==l||t[43]!==u||t[44]!==d||t[45]!==f||t[46]!==p||t[47]!==m?(C=(0,R.jsxs)(L.Suspense,{fallback:o,children:[s,c,l,u,d,f,p,m,h,g,_,v,y,b,S]}),t[33]=h,t[34]=g,t[35]=_,t[36]=v,t[37]=y,t[38]=b,t[39]=S,t[40]=s,t[41]=c,t[42]=l,t[43]=u,t[44]=d,t[45]=f,t[46]=p,t[47]=m,t[48]=C):C=t[48],C}function Ee(){return d.getState().setSection(`security`)}function X(){let e=m({strict:!1,select:e=>l(e)?.environmentId??null}),t=a(),n=v(),_=f(e=>e.activeEnvironmentId),x=me(),T=d(e=>e.open),E=d(e=>e.section),D=d(e=>e.editingScope),O=d(e=>e.setEditingScope),oe=d(e=>e.setTargetEnvironmentId),k=S(e=>e.byId),se=_e(s.serverUpdateSettings),ce=d(e=>e.targetEnvironmentId),le=d(e=>e.closeSettings),A=d(e=>e.setSection),j=i()?t?.environmentId??null:C({requestedEnvironmentId:ce,routedEnvironmentId:e,activeEnvironmentId:_,primaryEnvironmentId:t?.environmentId??null,desktopLocalEnvironmentId:r?x.localEnvironmentId:null}),de=S(e=>j?e.byId[j]??null:null),M=y(e=>j?e.byId[j]??null:null),N=j!==null&&j===t?.environmentId,P=j?x.machines.find(e=>e.environmentId===j)??null:null,I=N?n:M?.serverConfig??null,B=N?t?.label??I?.environment.label??`Current node`:M?.descriptor?.label??I?.environment.label??de?.label??P?.label??`Selected node`,V=P?P.canConnect?P.effectiveRole:null:M?.role===`owner`?`owner`:M?.role?`viewer`:null,H=j?{environmentId:j,nodeLabel:B,serverConfig:I,primary:N,canManage:N?!i():V===`owner`,canMutate:N||(P?P.canMutate:M?.role===`owner`||M?.role===`client`),connected:I!==null&&(N||M?.connectionState===`connected`||P?.connectionState===`connected`)}:null;(0,L.useEffect)(()=>{if(T&&D===`node`&&r&&j&&!N)return he(j)},[T,D,j,N]);let xe=p(e=>e.effectiveRole),U=p(e=>e.directoryStatus),W=p(e=>e.transportStatus),G=i(),K=te(U,W),q=u(xe,U,W),Se=G?q:N?`owner`:V,Ce=H?{...H,canManage:H.connected&&(G?q===`owner`&&K&&se.allowed:H.canManage===!0)}:null,J=new Map;t&&J.set(t.environmentId,t.label);for(let e of Object.values(k))t&&e.environmentId===x.localEnvironmentId||J.set(e.environmentId,e.label);for(let e of x.machines)t&&e.environmentId===x.localEnvironmentId||J.set(e.environmentId,e.label);j&&J.set(j,B);let Y=z.filter(e=>h(e.id,D,r&&!!window.desktopBridge?.computerUse)?D===`client`?e.id!==`connections`||!G:c(e.id===`connections`?`security`:e.id,{hosted:G||!N,role:H?.connected?Se:null,desktop:!1}):!1),Ee=E===`computer-use`&&window.desktopBridge?.computerUse?`integrations`:E,X=Y.some(e=>e.id===Ee)?Ee:Y[0]?.id??`appearance`,De=D===`node`?`Node: ${B}`:r?`This app`:`This browser`;(0,L.useEffect)(()=>{(!G||K)&&T&&E!==X&&A(X)},[X,G,T,K,E,A]);let[Oe,ke]=(0,L.useState)(``),[Ae,Z]=(0,L.useState)(null);(0,L.useEffect)(()=>{T||(ke(``),Z(null))},[T]);let je=new Set(Y.map(e=>e.id)),Q=Oe.trim().toLowerCase(),Me=Q.length===0?[]:be.filter(e=>je.has(e.section)&&e.owner===D&&(!e.desktopCapability||!!window.desktopBridge?.[e.desktopCapability])&&`${e.title} ${e.description} ${e.keywords??``}`.toLowerCase().includes(Q)),[Ne,Pe]=(0,L.useState)(0),Fe=(0,L.useCallback)(()=>{Pe(e=>e+1)},[]),Ie=X===`general`,$=ye(`${T}:${X}`,Q.length>0,Ae);return(0,R.jsx)(ie,{open:T,onOpenChange:e=>{e||le()},children:(0,R.jsx)(b,{value:D,children:(0,R.jsx)(ee,{value:D===`node`?Ce:null,children:(0,R.jsxs)(ne,{className:`project-glass-surface h-[min(88dvh,880px)] max-w-[1180px] overflow-hidden p-0`,bottomStickOnMobile:!1,showCloseButton:!0,surface:`glass`,children:[(0,R.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center justify-between border-b border-border px-5`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 items-center gap-4`,children:[(0,R.jsxs)(`div`,{className:`flex shrink-0 items-baseline gap-2`,children:[(0,R.jsx)(re,{className:`text-base font-semibold`,children:`Settings`}),(0,R.jsx)(`span`,{"data-testid":`settings-scope-label`,className:`max-w-48 truncate text-xs text-muted-foreground`,children:De})]}),(0,R.jsxs)(`div`,{className:`relative w-72 max-w-[40vw]`,children:[(0,R.jsx)(ae,{"aria-hidden":!0,className:`pointer-events-none absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground/60`}),(0,R.jsx)(`input`,{type:`search`,value:Oe,onChange:e=>{Z(null),ke(e.target.value)},placeholder:`Search settings…`,"aria-label":`Search settings`,className:`h-8 w-full rounded-md border border-input bg-muted/40 pr-3 pl-8 text-[13px] outline-none transition-colors placeholder:text-muted-foreground/60 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/40`})]})]}),(0,R.jsx)(`div`,{className:`flex shrink-0 items-center gap-2 pr-9`,children:Ie?(0,R.jsx)(we,{onRestored:Fe}):null})]}),(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-row`,children:[(0,R.jsxs)(`nav`,{className:`relative isolate flex w-12 shrink-0 flex-col gap-1 overflow-y-auto border-r border-border p-2 sm:w-52`,children:[(0,R.jsxs)(`div`,{className:`mb-2 flex flex-col gap-1 border-b pb-2`,role:`group`,"aria-label":`Settings destination`,children:[(0,R.jsxs)(w,{variant:D===`client`?`secondary`:`ghost`,"aria-pressed":D===`client`,onClick:()=>O(`client`),className:`justify-start px-2`,children:[(0,R.jsx)(fe,{className:`size-4 shrink-0`}),(0,R.jsx)(`span`,{className:`hidden sm:inline`,children:r?`This app`:`This browser`})]}),(0,R.jsxs)(w,{variant:D===`node`?`secondary`:`ghost`,"aria-pressed":D===`node`,onClick:()=>O(`node`),disabled:!H,className:`justify-start px-2`,"aria-label":`Node settings: ${B}`,children:[(0,R.jsx)(ue,{className:`size-4 shrink-0`}),(0,R.jsx)(`span`,{className:`hidden truncate sm:inline`,children:B})]})]}),D===`node`&&!G&&J.size>1&&(0,R.jsx)(`select`,{"aria-label":`Settings node`,value:j??``,onChange:e=>oe(o.make(e.target.value)),className:`mb-2 hidden w-full rounded-md border bg-background p-2 text-xs sm:block`,children:[...J].map(([e,t])=>(0,R.jsx)(`option`,{value:e,children:t},e))}),G&&D===`client`&&(0,R.jsxs)(w,{variant:`ghost`,className:`justify-start px-2`,onClick:()=>{le(),ve({kind:`account`,section:`overview`})},children:[(0,R.jsx)(pe,{className:`size-4 shrink-0`}),(0,R.jsx)(`span`,{className:`hidden sm:inline`,children:`Hub account`})]}),Y.map(e=>{if(e.id===`security`)return null;let t=e.icon,n=X===e.id||e.id===`connections`&&X===`security`;return(0,R.jsxs)(L.Fragment,{children:[(0,R.jsxs)(`button`,{type:`button`,onClick:()=>{Z(null),A(e.id)},className:g(`relative z-10 flex h-9 w-full shrink-0 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`,n?`bg-accent font-medium text-foreground`:`text-muted-foreground/70 hover:text-foreground/80`),"aria-label":e.label,"aria-current":n?`page`:void 0,children:[(0,R.jsx)(t,{className:g(`size-4 shrink-0`,n?`text-foreground`:`text-muted-foreground/60`)}),(0,R.jsx)(`span`,{className:`hidden truncate sm:inline`,children:e.label})]}),D===`node`&&e.id===`connections`&&n&&je.has(`security`)&&(0,R.jsxs)(`button`,{type:`button`,onClick:()=>{Z(null),A(`security`)},"aria-current":X===`security`?`page`:void 0,"aria-label":`Advanced node security`,className:g(`flex items-center gap-2 rounded-md px-2 py-2 text-left text-xs outline-hidden focus-visible:ring-2 focus-visible:ring-ring sm:ml-7`,X===`security`?`bg-accent text-foreground`:`text-muted-foreground hover:text-foreground`),children:[(0,R.jsx)(F,{className:`size-3.5 shrink-0`}),(0,R.jsx)(`span`,{className:`hidden sm:inline`,children:`Node security · Advanced`})]}),n&&$.sections.length>1&&(0,R.jsx)(`div`,{className:`mb-2 ml-7 hidden flex-col border-l border-border sm:flex`,children:$.sections.map(({id:e,title:t,element:n})=>(0,R.jsx)(`button`,{type:`button`,"aria-current":$.active===n?`location`:void 0,className:g(`rounded-r px-3 py-1.5 text-left text-xs focus-visible:outline-2 focus-visible:outline-ring`,$.active===n?`font-medium text-foreground`:`text-muted-foreground hover:text-foreground`),onClick:()=>{n.hasAttribute(`data-settings-action`)&&n.click(),n.scrollIntoView({block:`start`,behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`})},children:t},e))})]},e.id)})]}),(0,R.jsx)(ge,{ref:$.contentRef,className:`min-h-0 min-w-0 flex-1`,children:Q.length>0?(0,R.jsx)(`div`,{className:`p-4`,children:(0,R.jsx)(`div`,{className:`flex flex-col gap-0.5 rounded-xl border border-border bg-card p-1.5 shadow-sm/4`,children:Me.length===0?(0,R.jsxs)(`p`,{className:`px-2 py-8 text-center text-sm text-muted-foreground`,children:[`No settings match “`,Oe.trim(),`”.`]}):Me.map(e=>{let t=Y.find(t=>t.id===e.section)?.label;return(0,R.jsxs)(`button`,{type:`button`,onClick:()=>{Z(e.targetId??e.title),A(e.section),ke(``)},className:`flex flex-col gap-0.5 rounded-md px-3 py-2.5 text-left outline-hidden ring-ring transition-colors hover:bg-accent focus-visible:ring-2`,children:[(0,R.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,R.jsx)(`span`,{className:`text-sm font-medium`,children:e.title}),t?(0,R.jsx)(`span`,{className:`text-[11px] text-muted-foreground/70`,children:t}):null]}),(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.description})]},`${e.section}:${e.title}`)})})}):(0,R.jsx)(`div`,{className:`flex flex-col`,children:D===`node`&&!Ce?.connected?(0,R.jsx)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:P&&!P.online?`${B} is offline. Its settings will be available when it reconnects.`:P?.canConnect?`Connecting to ${B}…`:`Connect to ${B} to manage its settings.`}):D===`node`&&Y.length===0?(0,R.jsxs)(`p`,{className:`p-6 text-sm text-muted-foreground`,children:[`Your access to `,B,` does not allow changing node settings.`]}):(0,R.jsx)(Te,{section:X,searchTargetId:Ae})},Ne)})]})]})})})})}export{X as SettingsDialog};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import{Bt as n,G as r}from"./primary-D_D7eLwT.js";import{B as i,Bl as a,S as o,lt as s}from"./src-BSuAGqhK.js";import{An as c,Bo as l,Kc as u,Na as d,Nn as f,Nr as p,Or as m,Qc as h,Rc as g,V as _,Vr as v,X as y,Yo as b,Zc as x,_l as S,_s as C,bn as w,dc as T,ds as E,gl as D,gr as O,gs as k,hl as A,il as j,jc as M,jl as N,kc as P,kr as F,lc as I,ll as L,ms as R,or as ee,qo as te,sr as ne,us as re,wo as ie,yo as ae,yr as oe,zr as se}from"./runtime-Djy96GJd.js";import{Dn as ce,Rt as le,Yt as ue,t as z}from"./switch-DD1qVLgN.js";import{t as de}from"./compiler-runtime-qmuS0Svy.js";import{T as fe}from"./usePopupViewport-kXU31P6l.js";import{i as pe,n as me,t as he}from"./tooltip-DXvXxL37.js";import{a as B,c as ge,n as _e,o as ve,s as ye}from"./badge-Dg7mXiOh.js";import{c as be,d as xe,f as Se,l as Ce,p as we,s as Te,u as Ee,y as De}from"./RootAppShell-BdQCs2XJ.js";import{t as Oe}from"./chevron-right-CuUjBsQV.js";import{n as ke,t as Ae}from"./SettingsPanels.editor-9pSZP875.js";import{r as je,t as Me}from"./editorPreferences-DeKdSV3s.js";import{t as V}from"./toastHelpers-CSQRKo4F.js";import{t as Ne}from"./useBaseUiId-CJN4MvrU.js";import{t as Pe}from"./useControlled-DQwgzrEC.js";import{t as Fe}from"./input-DrOL1KPS.js";import{t as Ie}from"./capabilities-C8sxDbKT.js";import{t as Le}from"./usePresentationTier-B_SCFvN7.js";import{t as Re}from"./useLongPress-DG1W7YqV.js";import{t as ze}from"./useTheme-CVNauCtz.js";import{a as Be,i as Ve,o as He,r as Ue,t as We}from"./empty-3NpXLnAM.js";import{i as H,n as Ge,r as U,t as W}from"./settingsLayout-C6SUmJVB.js";import{C as Ke,Ft as qe}from"./main-BbtLAX7M.js";var G={name:`archive-x`,size:24,node:[[`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`}]]};G.node;var Je=d(G),K={name:`blocks`,size:24,node:[[`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`}]]};K.node;var Ye=d(K),q={name:`keyboard`,size:24,node:[[`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`}]]};q.node;var Xe=d(q),Ze={name:`link-2`,size:24,node:[[`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`}]]};Ze.node;var Qe=d(Ze),$e={name:`plug-zap`,size:24,node:[[`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`}]],aliases:[`plug-zap-2`]};$e.node;var et=d($e),J=e(t(),1);function tt(e){let{open:t,defaultOpen:n=!1,onOpenChange:r,disabled:i}=e,[a,o]=Pe({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:s,setMounted:c,transitionStatus:l}=fe(a,!0,!0),d=Ne(),[f,p]=J.useState(),m=f===null?void 0:f??d,h=u(e=>{let t=!a,n=ie(te,e.nativeEvent);r(t,n),!n.isCanceled&&o(t)});return J.useMemo(()=>({defaultPanelId:d,disabled:i,handleTrigger:h,mounted:s,open:a,panelId:m,setMounted:c,setOpen:o,setPanelIdState:p,transitionStatus:l}),[d,i,h,s,a,m,c,o,p,l])}var nt=J.createContext(void 0);function rt(){let e=J.useContext(nt);if(e===void 0)throw Error(x(15));return e}var it=`data-open`,at=`data-closed`,ot=T,st=`data-panel-open`,ct={[it]:``},lt={[at]:``},ut={open(e){return e?{[st]:``}:null}},dt={open(e){return e?ct:lt},...I},Y=S(),ft=J.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:o,open:s,style:c,...l}=e,d=u(o),f=tt({open:s,defaultOpen:i,onOpenChange:d,disabled:a}),p=J.useMemo(()=>({open:f.open,disabled:f.disabled,transitionStatus:f.transitionStatus}),[f.open,f.disabled,f.transitionStatus]),m=J.useMemo(()=>({...f,onOpenChange:d,state:p}),[f,d,p]),h=R(`div`,e,{state:p,ref:t,props:l,stateAttributesMapping:dt});return(0,Y.jsx)(nt.Provider,{value:m,children:h})}),pt={...ut,...I},mt=J.forwardRef(function(e,t){let{panelId:n,open:r,handleTrigger:i,state:a,disabled:o}=rt(),{className:s,disabled:c=o,render:l,nativeButton:u=!0,style:d,...f}=e,{getButtonProps:p,buttonRef:m}=b({disabled:c,focusableWhenDisabled:!0,native:u});return R(`button`,e,{state:a,ref:[t,m],props:[{"aria-controls":r?n:void 0,"aria-expanded":r,onClick:i},f,p],stateAttributesMapping:pt})}),X={height:void 0,width:void 0};function ht(e){let{externalRef:t,hiddenUntilFound:n,id:r,keepMounted:i,mounted:a,onOpenChange:o,open:s,setMounted:c,setOpen:d,transitionStatus:f}=e,p=J.useRef(null),m=J.useRef(null),[g,_]=J.useState(X),v=J.useRef(X),y=J.useRef(!1),b=J.useRef(s),x=J.useRef(!1),[S,w]=J.useState(!1),T=J.useRef(null),D=C(t,p),O=ae(s),k=E(p),A=!s&&!a,j=S?`idle`:f,N=s&&(b.current||x.current),F=!s&&a&&m.current===`css-animation`&&g.height===void 0&&g.width===void 0?v.current:g,I=n&&A&&m.current!==`css-animation`,L=u((e,t=!0)=>{t&&(v.current=e),_(e)}),R=u(()=>{T.current?.(),T.current=null}),ee=u(e=>{R(),T.current=()=>{T.current=null,e()}}),te=u(()=>{s&&a&&m.current===`css-animation`&&(x.current=!0)});h(()=>{S&&f!==`starting`&&w(!1)},[S,f]),J.useEffect(()=>()=>{te(),R()},[te,R]),h(()=>{let e=p.current;if(!e)return;!s&&T.current&&R();let t=gt(e,N);if(m.current=t,s&&f===`idle`&&b.current&&t===`css-animation`){v.current=Z(e);return}if(s&&f===`starting`){let n=y.current;if(y.current=!1,t===`none`){L(Z(e)),w(!0);return}if(t===`css-transition`){let t=vt(e);if(L(Z(e)),!n)return t;let r=Q(e,`transition-duration`,`0s`);return ee(r),w(!0),t}L(Z(e));let r=Q(e,`animation-name`,`none`);if(!n){r();return}let i=Q(e,`animation-duration`,`0s`);r(),ee(i),w(!0);return}if(!s&&a&&(f===`idle`||f===`starting`)){if(b.current=!1,x.current=!1,t===`none`){L(X,!1),c(!1);return}L(Z(e));return}if(f!==`ending`)return;if(t===`none`){c(!1);return}let n=Z(e);if(!(n.height>0||n.width>0)){c(!1);return}L(n),t===`css-animation`&&Q(e,`animation-name`,`none`)()},[a,s,R,L,c,ee,N,f]),re({enabled:s&&a&&j===`idle`,open:!0,ref:p,onComplete(){s&&L(X,!1)}}),J.useEffect(()=>{if(s||!a||j!==`ending`||!p.current)return;let e=new AbortController,t=-1;function n(){O.current||(c(!1),L(X,!1))}return t=P.request(()=>{k(n,e.signal)}),()=>{P.cancel(t),e.abort()}},[O,a,s,j,k,L,c]),h(()=>{let e=p.current;e&&n&&A&&e.setAttribute(`hidden`,`until-found`)},[A,n]),J.useEffect(function(){let e=p.current;if(!e)return;function t(e){let t=ie(l,e);o(!0,t),!t.isCanceled&&(y.current=!0,d(!0))}return M(e,`beforematch`,t)},[o,d]);let ne=i||n||a||s;return{height:F.height,props:{...I?{[ot]:``}:void 0,hidden:A,id:r},ref:D,shouldPreventOpenAnimation:N,shouldRender:ne,transitionStatus:j,width:F.width}}function Z(e){return{height:e.scrollHeight,width:e.scrollWidth}}function gt(e,t){let n=g(e).getComputedStyle(e),r=(n.animationName.split(`,`).map(e=>e.trim()).some(e=>e!==``&&e!==`none`)||t)&&_t(n.animationDuration),i=_t(n.transitionDuration);return r&&i||i?`css-transition`:r?`css-animation`:`none`}function _t(e){return e.split(`,`).map(e=>e.trim()).some(e=>e!==``&&Number.parseFloat(e)>0)}function Q(e,t,n){let r=e.style.getPropertyValue(t),i=e.style.getPropertyPriority(t);return e.style.setProperty(t,n),()=>{if(r===``){e.style.removeProperty(t);return}e.style.setProperty(t,r,i)}}function vt(e){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`)});function n(){Object.entries(t).forEach(([t,n])=>{if(n===``){e.style.removeProperty(t);return}e.style.setProperty(t,n)})}let r=P.request(n);return()=>{P.cancel(r),n()}}var yt=`--collapsible-panel-height`,bt=`--collapsible-panel-width`,xt=J.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:o,style:s,...c}=e,{defaultPanelId:l,mounted:u,onOpenChange:d,open:f,setMounted:p,setPanelIdState:m,setOpen:g,state:_,transitionStatus:v}=rt(),y=r??!1,b=i??!1,x=o||void 0,S=x??l;h(()=>(m(e=>x??(e===null?void 0:e)),()=>{m(e=>e===x?null:e)}),[x,m]);let{height:C,props:w,ref:T,shouldPreventOpenAnimation:E,shouldRender:D,transitionStatus:O,width:A}=ht({externalRef:t,hiddenUntilFound:y,id:S,keepMounted:b,mounted:u,onOpenChange:d,open:f,setMounted:p,setOpen:g,transitionStatus:v}),j={..._,transitionStatus:O},M=k(s,j),N=R(`div`,{...e,style:void 0},{state:j,ref:T,props:[w,{style:{[yt]:C===void 0?`auto`:`${C}px`,[bt]:A===void 0?`auto`:`${A}px`}},c,M?{style:M}:void 0,E?{style:{animationName:`none`}}:void 0],stateAttributesMapping:dt});return D?N:null}),$=de();function St(e){let t=(0,$.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,Y.jsx)(ft,{"data-slot":`collapsible`,...n}),t[2]=n,t[3]=r),r}function Ct(e){let t=(0,$.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=v(`cursor-pointer`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Y.jsx)(mt,{className:i,"data-slot":`collapsible-trigger`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function wt(e){let t=(0,$.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=v(`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,Y.jsx)(xt,{className:i,"data-slot":`collapsible-panel`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Tt(e,t){let n=(0,$.c)(12),[r,i]=(0,J.useState)(e),a=(0,J.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,J.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:Et},n[9]=r,n[10]=u,n[11]=d):d=n[11],d}function Et(e){e.key===`Enter`&&(e.preventDefault(),e.target.blur())}function Dt(e){let t=(0,$.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=Tt(i,n),o;return t[4]!==a||t[5]!==r?(o=(0,Y.jsx)(Fe,{...r,...a}),t[4]=a,t[5]=r,t[6]=o):o=t[6],o}var Ot={timestampFormat:`Time format`,diffWordWrap:`Diff line wrapping`,diffIgnoreWhitespace:`Diff whitespace changes`,gitStatusPollIntervalMs:`Remote Git status`,sourceControlRefreshMode:`PR & workflow updates`,autoOpenPlanSidebar:`Auto-open overview`,enableLegacyTokenStreaming:`Stream token by token`,enableProviderUpdateChecks:`Provider update checks`,defaultThreadEnvMode:`New thread mode`,addProjectBaseDirectory:`Add project base directory`,confirmThreadArchive:`Archive confirmation`,confirmThreadDelete:`Delete confirmation`,confirmThreadUnpin:`Unpin confirmation`,textGenerationModelSelection:`Git writing model`};function kt(e,t,n){let r=n!==`node`&&t!==`system`,i=r?[`Theme`]:[],s={};for(let t of Object.keys(Ot))(n===`all`||N(t)===(n===`node`))&&(a(e[t],o[t])||(i.push(Ot[t]),s[t]=o[t]));return{labels:i,resetTheme:r,patch:s}}function At(e,t,n){return e.filter(e=>n===void 0||e.environmentId===n).map(e=>({project:e,threads:t.filter(t=>t.environmentId===e.environmentId&&t.projectId===e.id&&t.archivedAt!==null).toSorted((e,t)=>(t.archivedAt??t.createdAt).localeCompare(e.archivedAt??e.createdAt)||t.id.localeCompare(e.id))})).filter(e=>e.threads.length>0)}var jt={0:`Off`,1e4:`10 seconds`,3e4:`30 seconds`,6e4:`1 minute`,3e5:`5 minutes`},Mt=[0,1e4,3e4,6e4,3e5],Nt={automatic:`Automatic`,reduced:`Reduced`,manual:`Manual`},Pt=[`automatic`,`reduced`,`manual`];function Ft(e){if(e===null)return null;let t=Number.parseInt(e,10);return Mt.includes(t)?t:null}function It(e){return Pt.find(t=>t===e)??null}function Lt(){let e=(0,$.c)(61),t=m(),{updateSettings:n}=F(),i=r?`This device`:`This browser`,a;e[0]!==t.diffWordWrap||e[1]!==n?(a=t.diffWordWrap===o.diffWordWrap?null:(0,Y.jsx)(W,{label:`diff line wrapping`,onClick:()=>n({diffWordWrap:o.diffWordWrap})}),e[0]=t.diffWordWrap,e[1]=n,e[2]=a):a=e[2];let s;e[3]===n?s=e[4]:(s=e=>n({diffWordWrap:!!e}),e[3]=n,e[4]=s);let c;e[5]!==t.diffWordWrap||e[6]!==s?(c=(0,Y.jsx)(z,{checked:t.diffWordWrap,onCheckedChange:s,"aria-label":`Wrap diff lines by default`}),e[5]=t.diffWordWrap,e[6]=s,e[7]=c):c=e[7];let l;e[8]!==a||e[9]!==c?(l=(0,Y.jsx)(U,{title:`Diff line wrapping`,description:`Set the default wrap state when the diff panel opens.`,scope:i,resetAction:a,control:c}),e[8]=a,e[9]=c,e[10]=l):l=e[10];let u;e[11]!==t.diffIgnoreWhitespace||e[12]!==n?(u=t.diffIgnoreWhitespace===o.diffIgnoreWhitespace?null:(0,Y.jsx)(W,{label:`diff whitespace changes`,onClick:()=>n({diffIgnoreWhitespace:o.diffIgnoreWhitespace})}),e[11]=t.diffIgnoreWhitespace,e[12]=n,e[13]=u):u=e[13];let d;e[14]===n?d=e[15]:(d=e=>n({diffIgnoreWhitespace:!!e}),e[14]=n,e[15]=d);let f;e[16]!==t.diffIgnoreWhitespace||e[17]!==d?(f=(0,Y.jsx)(z,{checked:t.diffIgnoreWhitespace,onCheckedChange:d,"aria-label":`Hide whitespace changes by default`}),e[16]=t.diffIgnoreWhitespace,e[17]=d,e[18]=f):f=e[18];let p;e[19]!==u||e[20]!==f?(p=(0,Y.jsx)(U,{title:`Hide whitespace changes`,description:`Set whether the diff panel ignores whitespace-only edits by default.`,scope:i,resetAction:u,control:f}),e[19]=u,e[20]=f,e[21]=p):p=e[21];let h;e[22]!==l||e[23]!==p?(h=(0,Y.jsxs)(H,{title:`Diff display`,children:[l,p]}),e[22]=l,e[23]=p,e[24]=h):h=e[24];let g;e[25]!==t.gitStatusPollIntervalMs||e[26]!==n?(g=t.gitStatusPollIntervalMs===o.gitStatusPollIntervalMs?null:(0,Y.jsx)(W,{label:`git status polling`,onClick:()=>n({gitStatusPollIntervalMs:o.gitStatusPollIntervalMs})}),e[25]=t.gitStatusPollIntervalMs,e[26]=n,e[27]=g):g=e[27];let _=String(t.gitStatusPollIntervalMs),v;e[28]===n?v=e[29]:(v=e=>{let t=Ft(e);t!==null&&n({gitStatusPollIntervalMs:t})},e[28]=n,e[29]=v);let y=jt[t.gitStatusPollIntervalMs],b;e[30]===y?b=e[31]:(b=(0,Y.jsx)(ye,{className:`w-full sm:w-40`,"aria-label":`Git status polling interval`,children:(0,Y.jsx)(ge,{children:y})}),e[30]=y,e[31]=b);let x;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Y.jsx)(ve,{align:`end`,alignItemWithTrigger:!1,children:Mt.map(zt)}),e[32]=x):x=e[32];let S;e[33]!==_||e[34]!==v||e[35]!==b?(S=(0,Y.jsxs)(_e,{value:_,onValueChange:v,children:[b,x]}),e[33]=_,e[34]=v,e[35]=b,e[36]=S):S=e[36];let C;e[37]!==S||e[38]!==g?(C=(0,Y.jsx)(U,{title:`Remote Git status`,description:`Refresh remote branch and pull request metadata while a repository is open.`,scope:i,resetAction:g,control:S}),e[37]=S,e[38]=g,e[39]=C):C=e[39];let w;e[40]!==t.sourceControlRefreshMode||e[41]!==n?(w=t.sourceControlRefreshMode===o.sourceControlRefreshMode?null:(0,Y.jsx)(W,{label:`PR and workflow updates`,onClick:()=>n({sourceControlRefreshMode:o.sourceControlRefreshMode})}),e[40]=t.sourceControlRefreshMode,e[41]=n,e[42]=w):w=e[42];let T;e[43]===n?T=e[44]:(T=e=>{let t=It(e);t!==null&&n({sourceControlRefreshMode:t})},e[43]=n,e[44]=T);let E=Nt[t.sourceControlRefreshMode],D;e[45]===E?D=e[46]:(D=(0,Y.jsx)(ye,{className:`w-full sm:w-40`,"aria-label":`PR and workflow update mode`,children:(0,Y.jsx)(ge,{children:E})}),e[45]=E,e[46]=D);let O;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,Y.jsx)(ve,{align:`end`,alignItemWithTrigger:!1,children:Pt.map(Rt)}),e[47]=O):O=e[47];let k;e[48]!==t.sourceControlRefreshMode||e[49]!==T||e[50]!==D?(k=(0,Y.jsxs)(_e,{value:t.sourceControlRefreshMode,onValueChange:T,children:[D,O]}),e[48]=t.sourceControlRefreshMode,e[49]=T,e[50]=D,e[51]=k):k=e[51];let A;e[52]!==w||e[53]!==k?(A=(0,Y.jsx)(U,{title:`PR & workflow updates`,description:`Control automatic pull request and workflow refreshes. Automatic is fast after pushes and stops when checks settle.`,scope:i,resetAction:w,control:k}),e[52]=w,e[53]=k,e[54]=A):A=e[54];let j;e[55]!==C||e[56]!==A?(j=(0,Y.jsxs)(H,{title:`Git & pull requests`,children:[C,A]}),e[55]=C,e[56]=A,e[57]=j):j=e[57];let M;return e[58]!==j||e[59]!==h?(M=(0,Y.jsxs)(Y.Fragment,{children:[h,j]}),e[58]=j,e[59]=h,e[60]=M):M=e[60],M}function Rt(e){return(0,Y.jsx)(B,{hideIndicator:!0,value:e,children:Nt[e]},e)}function zt(e){return(0,Y.jsx)(B,{hideIndicator:!0,value:String(e),children:jt[e]},e)}function Bt(){let e=(0,$.c)(25),t=_(Wt),n=_(Ut),r=_(Ht),i=_(Vt),a;e[0]!==n||e[1]!==t?(a=t?null:(0,Y.jsx)(W,{label:`wide composer labels`,onClick:()=>n(!0)}),e[0]=n,e[1]=t,e[2]=a):a=e[2];let o;e[3]===n?o=e[4]:(o=e=>n(!!e),e[3]=n,e[4]=o);let s;e[5]!==o||e[6]!==t?(s=(0,Y.jsx)(z,{checked:t,onCheckedChange:o,"aria-label":`Auto-collapse wide composer labels`}),e[5]=o,e[6]=t,e[7]=s):s=e[7];let c;e[8]!==a||e[9]!==s?(c=(0,Y.jsx)(U,{title:`Auto-collapse wide composer labels`,description:`Show long composer mode labels only on hover or focus.`,resetAction:a,control:s}),e[8]=a,e[9]=s,e[10]=c):c=e[10];let l;e[11]!==r||e[12]!==i?(l=r?null:(0,Y.jsx)(W,{label:`always use Build mode`,onClick:()=>i(!0)}),e[11]=r,e[12]=i,e[13]=l):l=e[13];let u;e[14]===i?u=e[15]:(u=e=>i(!!e),e[14]=i,e[15]=u);let d;e[16]!==r||e[17]!==u?(d=(0,Y.jsx)(z,{checked:r,onCheckedChange:u,"aria-label":`Always use Build mode`}),e[16]=r,e[17]=u,e[18]=d):d=e[18];let f;e[19]!==l||e[20]!==d?(f=(0,Y.jsx)(U,{title:`Always use Build mode`,description:`Hide the mode selector in the composer and send every turn in Build mode.`,resetAction:l,control:d}),e[19]=l,e[20]=d,e[21]=f):f=e[21];let p;return e[22]!==c||e[23]!==f?(p=(0,Y.jsxs)(H,{title:`Composer controls`,children:[c,f]}),e[22]=c,e[23]=f,e[24]=p):p=e[24],p}function Vt(e){return e.setAlwaysUseBuildMode}function Ht(e){return e.alwaysUseBuildMode}function Ut(e){return e.setWideComposerControlsAutoCollapse}function Wt(e){return e.wideComposerControlsAutoCollapse}var Gt={"press-twice":`Press twice`,hold:`Hold for 1 second`,immediately:`Immediately`};function Kt(){let e=(0,$.c)(15),t=window.desktopBridge?.quitShortcut,[n,r]=(0,J.useState)(null),[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(null),c,l;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>{let e=!0;return t?.getMode().then(t=>{e&&r(t)}).catch(()=>{e&&s(`Could not load quit shortcut preference.`)}),()=>{e=!1}},l=[t],e[0]=c,e[1]=l):(c=e[0],l=e[1]),(0,J.useEffect)(c,l),!t)return null;let u;e[2]===o?u=e[3]:(u=o?(0,Y.jsx)(`span`,{role:`alert`,children:o}):void 0,e[2]=o,e[3]=u);let d=n===null||i,f;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>{(e===`press-twice`||e===`hold`||e===`immediately`)&&(a(!0),s(null),t.setMode(e).then(()=>r(e)).catch(()=>s(`Could not save quit shortcut preference.`)).finally(()=>a(!1)))},e[4]=f):f=e[4];let p=n?Gt[n]:`Loading…`,m;e[5]===p?m=e[6]:(m=(0,Y.jsx)(ye,{"aria-label":`Quit shortcut`,className:`w-full sm:w-44`,children:(0,Y.jsx)(ge,{children:p})}),e[5]=p,e[6]=m);let h;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Y.jsx)(ve,{children:Object.entries(Gt).map(qt)}),e[7]=h):h=e[7];let g;e[8]!==n||e[9]!==d||e[10]!==m?(g=(0,Y.jsxs)(_e,{value:n,disabled:d,onValueChange:f,children:[m,h]}),e[8]=n,e[9]=d,e[10]=m,e[11]=g):g=e[11];let _;return e[12]!==u||e[13]!==g?(_=(0,Y.jsx)(U,{title:`Quit shortcut`,scope:`This device`,description:`Prevent accidental quits with a second press within 1.5 seconds, or hold for 1 second and release.`,status:u,control:g}),e[12]=u,e[13]=g,e[14]=_):_=e[14],_}function qt(e){let[t,n]=e;return(0,Y.jsx)(B,{value:t,children:n},t)}var Jt={locale:`System default`,"12-hour":`12-hour`,"24-hour":`24-hour`};function Yt(e){let t=(0,$.c)(2),{editor:n}=e,r=Ae[n];if(!r)return null;let i;return t[0]===r?i=t[1]:(i=(0,Y.jsx)(r,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}),t[0]=r,t[1]=i),i}function Xt(){let e=(0,$.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{children:`Version`}),(0,Y.jsx)(`code`,{className:`text-[11px] font-medium text-muted-foreground`,children:oe})]}),e[0]=t):t=e[0],t}var Zt=`https://github.com/sak0a/ryco`;function Qt(e){ee().shell.openExternal(e).catch(e=>{p.add(V({type:`error`,title:`Could not open link`,description:e instanceof Error?e.message:`Failed to open external link.`}))})}function $t(){let e=(0,$.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsx)(Ke,{className:`h-14 text-foreground`}),n=(0,Y.jsx)(`h3`,{className:`text-base font-semibold tracking-tight text-foreground`,children:O}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 pt-6 pb-5 text-center sm:px-5`,children:[t,n,(0,Y.jsx)(`div`,{className:`space-y-0.5 text-[11px] text-muted-foreground`,children:(0,Y.jsx)(`p`,{children:(0,Y.jsx)(`button`,{type:`button`,onClick:en,className:`underline-offset-2 hover:text-foreground hover:underline`,children:`github.com/sak0a/ryco`})})})]}),e[2]=r):r=e[2],r}function en(){return Qt(Zt)}function tn(e){let t=(0,$.c)(46),{scopeLabel:n}=e,r=be(),[i,a]=(0,J.useState)(!1),o=typeof window<`u`&&!!window.desktopBridge,s=r?.channel??`latest`,c;t[0]===s?c=t[1]:(c=e=>{let t=window.desktopBridge;t&&typeof t.setUpdateChannel==`function`&&e!==s&&(a(!0),t.setUpdateChannel(e).then(un).catch(ln).finally(()=>{a(!1)}))},t[0]=s,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=()=>{let e=window.desktopBridge;if(!e)return;let t=r?we(r):`none`;if(t===`download`){e.downloadUpdate().then(cn).catch(sn);return}if(t===`install`){if(!window.confirm(xe(r??{availableVersion:null,downloadedVersion:null})))return;e.installUpdate().then(on).catch(an);return}typeof e.checkForUpdate==`function`&&e.checkForUpdate().then(rn).catch(nn)},t[2]=r,t[3]=u);let d=u,f;t[4]===r?f=t[5]:(f=r?we(r):`none`,t[4]=r,t[5]=f);let p=f,m;t[6]===r?m=t[7]:(m=r?Ee(r):null,t[6]=r,t[7]=m);let h=m,g;t[8]!==p||t[9]!==r?(g=p===`none`?!Ce(r):Se(r),t[8]=p,t[9]=r,t[10]=g):g=t[10];let _=g,v;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(v={download:`Download`,install:`Install`},t[11]=v):v=t[11];let y=v,b;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(b={checking:`Checking…`,downloading:`Downloading…`,"up-to-date":`Up to Date`},t[12]=b):b=t[12];let x=b,S=y[p]??x[r?.status??``]??`Check for Updates`,C=p===`download`||p===`install`?`Update available.`:`Current version of the application.`,w;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Y.jsx)(Xt,{}),t[13]=w):w=t[13];let T=p===`install`?`default`:`outline`,E;t[14]!==_||t[15]!==S||t[16]!==d||t[17]!==T?(E=(0,Y.jsx)(pe,{render:(0,Y.jsx)(se,{size:`xs`,variant:T,disabled:_,onClick:d,children:S})}),t[14]=_,t[15]=S,t[16]=d,t[17]=T,t[18]=E):E=t[18];let D;t[19]===h?D=t[20]:(D=h?(0,Y.jsx)(me,{children:h}):null,t[19]=h,t[20]=D);let O;t[21]!==E||t[22]!==D?(O=(0,Y.jsxs)(he,{children:[E,D]}),t[21]=E,t[22]=D,t[23]=O):O=t[23];let k;t[24]!==C||t[25]!==n||t[26]!==O?(k=(0,Y.jsx)(U,{title:w,description:C,scope:n,control:O}),t[24]=C,t[25]=n,t[26]=O,t[27]=k):k=t[27];let A;t[28]===l?A=t[29]:(A=e=>{l(e)},t[28]=l,t[29]=A);let j=!o||i,M=s===`nightly`?`Nightly`:`Stable`,N;t[30]===M?N=t[31]:(N=(0,Y.jsx)(ge,{children:M}),t[30]=M,t[31]=N);let P;t[32]!==j||t[33]!==N?(P=(0,Y.jsx)(ye,{className:`w-full sm:w-40`,"aria-label":`Update track`,disabled:j,children:N}),t[32]=j,t[33]=N,t[34]=P):P=t[34];let F;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,Y.jsxs)(ve,{align:`end`,alignItemWithTrigger:!1,children:[(0,Y.jsx)(B,{hideIndicator:!0,value:`latest`,children:`Stable`}),(0,Y.jsx)(B,{hideIndicator:!0,value:`nightly`,children:`Nightly`})]}),t[35]=F):F=t[35];let I;t[36]!==s||t[37]!==A||t[38]!==P?(I=(0,Y.jsxs)(_e,{value:s,onValueChange:A,children:[P,F]}),t[36]=s,t[37]=A,t[38]=P,t[39]=I):I=t[39];let L;t[40]!==n||t[41]!==I?(L=(0,Y.jsx)(U,{title:`Update track`,description:`Stable follows full releases. Nightly follows the nightly desktop channel and can switch back to stable immediately.`,scope:n,control:I}),t[40]=n,t[41]=I,t[42]=L):L=t[42];let R;return t[43]!==k||t[44]!==L?(R=(0,Y.jsxs)(Y.Fragment,{children:[k,L]}),t[43]=k,t[44]=L,t[45]=R):R=t[45],R}function nn(e){p.add(V({type:`error`,title:`Could not check for updates`,description:e instanceof Error?e.message:`Update check failed.`}))}function rn(e){Te(e.state),e.checked||p.add(V({type:`error`,title:`Could not check for updates`,description:e.state.message??`Automatic updates are not available in this build.`}))}function an(e){p.add(V({type:`error`,title:`Could not install update`,description:e instanceof Error?e.message:`Install failed.`}))}function on(e){Te(e.state)}function sn(e){p.add(V({type:`error`,title:`Could not download update`,description:e instanceof Error?e.message:`Download failed.`}))}function cn(e){Te(e.state)}function ln(e){p.add(V({type:`error`,title:`Could not change update track`,description:e instanceof Error?e.message:`Update track change failed.`}))}function un(e){Te(e)}function dn(e){let t=(0,$.c)(14),{theme:n,setTheme:r}=ze(),i=m(),{updateSettings:a}=F(),o=A(),s;t[0]!==o||t[1]!==i||t[2]!==n?(s=kt(i,n,o),t[0]=o,t[1]=i,t[2]=n,t[3]=s):s=t[3];let c=s,l=c.labels,u;t[4]!==e||t[5]!==c.labels||t[6]!==c.patch||t[7]!==c.resetTheme||t[8]!==r||t[9]!==a?(u=async()=>{c.labels.length!==0&&await(ne()??ee()).dialogs.confirm([`Restore default settings?`,`This will reset: ${c.labels.join(`, `)}.`].join(`
|
|
2
|
-
`))&&(c.resetTheme&&r(`system`),a(c.patch),e?.())},t[4]=e,t[5]=c.labels,t[6]=c.patch,t[7]=c.resetTheme,t[8]=r,t[9]=a,t[10]=u):u=t[10];let d=u,f;return t[11]!==l||t[12]!==d?(f={changedSettingLabels:l,restoreDefaults:d},t[11]=l,t[12]=d,t[13]=f):f=t[13],f}function fn(e){let t=(0,$.c)(19),{searchTargetId:n,nodeScopeLabel:r}=e,i=m(),{updateSettings:a}=F(),s=n===`legacy-token-streaming`,[c,l]=(0,J.useState)(s),u=(0,J.useRef)(null),d,f;t[0]===s?(d=t[1],f=t[2]):(d=()=>{if(!s)return;l(!0);let e=requestAnimationFrame(()=>{u.current?.scrollIntoView({block:`center`}),u.current?.querySelector(`[role=switch]`)?.focus()});return()=>cancelAnimationFrame(e)},f=[s],t[0]=s,t[1]=d,t[2]=f),(0,J.useEffect)(d,f);let p;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Y.jsxs)(Ct,{className:`group flex w-full items-center justify-between rounded-lg px-1 py-1 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`inline-block h-px w-3 bg-border`,"aria-hidden":!0}),(0,Y.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.08em] text-foreground/50 transition-colors group-hover:text-foreground/70`,children:`Legacy features`}),(0,Y.jsx)(`span`,{className:`hidden text-[11px] text-muted-foreground/55 sm:inline`,children:`Compatibility controls`})]}),(0,Y.jsx)(Oe,{"aria-hidden":!0,className:`size-3.5 text-muted-foreground/60 transition-transform duration-200 group-data-panel-open:rotate-90`})]}),t[3]=p):p=t[3];let h;t[4]!==i.enableLegacyTokenStreaming||t[5]!==a?(h=i.enableLegacyTokenStreaming===o.enableLegacyTokenStreaming?null:(0,Y.jsx)(W,{label:`legacy token streaming`,onClick:()=>a({enableLegacyTokenStreaming:o.enableLegacyTokenStreaming})}),t[4]=i.enableLegacyTokenStreaming,t[5]=a,t[6]=h):h=t[6];let g;t[7]===a?g=t[8]:(g=e=>{if(!e){a({enableLegacyTokenStreaming:!1});return}(async()=>{await(ne()??ee()).dialogs.confirm([`Turn on token-by-token output?`,`It is significantly slower than buffered output and makes long responses harder to follow. This switch exists only for backwards compatibility.`].join(`
|
|
3
|
-
`))&&a({enableLegacyTokenStreaming:!0})})()},t[7]=a,t[8]=g);let _;t[9]!==i.enableLegacyTokenStreaming||t[10]!==g?(_=(0,Y.jsx)(z,{checked:i.enableLegacyTokenStreaming,onCheckedChange:g,"aria-label":`Stream token by token (legacy)`}),t[9]=i.enableLegacyTokenStreaming,t[10]=g,t[11]=_):_=t[11];let v;t[12]!==r||t[13]!==h||t[14]!==_?(v=(0,Y.jsx)(wt,{children:(0,Y.jsx)(`div`,{className:`pt-2`,children:(0,Y.jsx)(`div`,{className:`relative overflow-hidden rounded-2xl border border-border/80 bg-card text-card-foreground shadow-sm/4 dark:shadow-none`,children:(0,Y.jsx)(`div`,{ref:u,id:`legacy-token-streaming`,children:(0,Y.jsx)(U,{title:`Stream token by token (legacy)`,description:`Paint assistant output token by token instead of in complete chunks. This legacy mode is significantly slower and makes long responses harder to follow.`,owner:`node`,scope:r,resetAction:h,control:_})})})})}),t[12]=r,t[13]=h,t[14]=_,t[15]=v):v=t[15];let y;return t[16]!==c||t[17]!==v?(y=(0,Y.jsx)(`section`,{className:`space-y-2.5`,children:(0,Y.jsxs)(St,{open:c,onOpenChange:l,children:[p,v]})}),t[16]=c,t[17]=v,t[18]=y):y=t[18],y}function pn(e){let t=(0,$.c)(212),{searchTargetId:n}=e,i=n===void 0?null:n,a=m(),{updateSettings:c}=F(),l=Le()===`phone`,u=D(),d=A(),f=u?.nodeLabel??null,p,h,g;if(t[0]!==f){let e={nativeClient:r,nodeLabel:f};h=y(`browser`,e),p=y(`device`,e),g=y(`node`,e),t[0]=f,t[1]=p,t[2]=h,t[3]=g}else p=t[1],h=t[2],g=t[3];let _=g,v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v={logsDirectory:!1},t[4]=v):v=t[4];let[b,x]=(0,J.useState)(v),S;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(S={},t[5]=S):S=t[5];let[C,w]=(0,J.useState)(S),T=j(),E=L(),O=E?.logsDirectoryPath??null,k=!u||u.primary,M;t[6]===E?M=t[7]:(M=[],E?.otlpTracesEnabled&&E.otlpTracesUrl&&M.push(`traces to ${E.otlpTracesUrl}`),E?.otlpMetricsEnabled&&E.otlpMetricsUrl&&M.push(`metrics to ${E.otlpMetricsUrl}`),t[6]=E,t[7]=M);let N=E?.localTracingEnabled?`Local trace file`:`Terminal logs only`,P=M.length>0?`${N}. OTLP exporting ${M.join(` and `)}.`:`${N}.`,I;t[8]===T?I=t[9]:(I=(e,t,n)=>{if(!t)return;w(t=>({...t,[e]:null})),x(t=>({...t,[e]:!0}));let r=je(T??[]);if(!r){w(t=>({...t,[e]:`No available editors found.`})),x(t=>({...t,[e]:!1}));return}ee().shell.openInEditor(t,r).catch(t=>{w(r=>({...r,[e]:t instanceof Error?t.message:n}))}).finally(()=>{x(t=>({...t,[e]:!1}))})},t[8]=T,t[9]=I);let R=I,te;t[10]!==O||t[11]!==R?(te=()=>{R(`logsDirectory`,O,`Unable to open logs folder.`)},t[10]=O,t[11]=R,t[12]=te):te=t[12];let ne=te,re=C.logsDirectory??null,ie=b.logsDirectory,ae;t[13]!==a.timestampFormat||t[14]!==c?(ae=a.timestampFormat===o.timestampFormat?null:(0,Y.jsx)(W,{label:`time format`,onClick:()=>c({timestampFormat:o.timestampFormat})}),t[13]=a.timestampFormat,t[14]=c,t[15]=ae):ae=t[15];let oe;t[16]===c?oe=t[17]:(oe=e=>{(e===`locale`||e===`12-hour`||e===`24-hour`)&&c({timestampFormat:e})},t[16]=c,t[17]=oe);let ce=Jt[a.timestampFormat],le;t[18]===ce?le=t[19]:(le=(0,Y.jsx)(ye,{className:`w-full sm:w-40`,"aria-label":`Timestamp format`,children:(0,Y.jsx)(ge,{children:ce})}),t[18]=ce,t[19]=le);let ue;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,Y.jsxs)(ve,{align:`end`,alignItemWithTrigger:!1,children:[(0,Y.jsx)(B,{hideIndicator:!0,value:`locale`,children:Jt.locale}),(0,Y.jsx)(B,{hideIndicator:!0,value:`12-hour`,children:Jt[`12-hour`]}),(0,Y.jsx)(B,{hideIndicator:!0,value:`24-hour`,children:Jt[`24-hour`]})]}),t[20]=ue):ue=t[20];let de;t[21]!==a.timestampFormat||t[22]!==le||t[23]!==oe?(de=(0,Y.jsxs)(_e,{value:a.timestampFormat,onValueChange:oe,children:[le,ue]}),t[21]=a.timestampFormat,t[22]=le,t[23]=oe,t[24]=de):de=t[24];let fe;t[25]!==h||t[26]!==de||t[27]!==ae?(fe=(0,Y.jsx)(U,{title:`Time format`,description:`System default follows your browser or OS clock preference.`,owner:`client`,scope:h,resetAction:ae,control:de}),t[25]=h,t[26]=de,t[27]=ae,t[28]=fe):fe=t[28];let pe=(T??[]).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.`,me;t[29]!==a.preferredEditor||t[30]!==c?(me=a.preferredEditor===o.preferredEditor?null:(0,Y.jsx)(W,{label:`default editor`,onClick:()=>c({preferredEditor:o.preferredEditor})}),t[29]=a.preferredEditor,t[30]=c,t[31]=me):me=t[31];let he=a.preferredEditor??`__auto__`,be;t[32]===c?be=t[33]:(be=e=>{if(e===`__auto__`){c({preferredEditor:null});return}let t=s.find(t=>t.id===e);t&&c({preferredEditor:t.id})},t[32]=c,t[33]=be);let xe;t[34]===a.preferredEditor?xe=t[35]:(xe=a.preferredEditor?(0,Y.jsx)(Yt,{editor:a.preferredEditor}):null,t[34]=a.preferredEditor,t[35]=xe);let Se;t[36]===a.preferredEditor?Se=t[37]:(Se=a.preferredEditor?ke(a.preferredEditor,navigator.platform):`Auto (last used)`,t[36]=a.preferredEditor,t[37]=Se);let Ce;t[38]===Se?Ce=t[39]:(Ce=(0,Y.jsx)(ge,{children:Se}),t[38]=Se,t[39]=Ce);let we;t[40]!==xe||t[41]!==Ce?(we=(0,Y.jsxs)(ye,{className:`w-full sm:w-56`,"aria-label":`Default editor`,children:[xe,Ce]}),t[40]=xe,t[41]=Ce,t[42]=we):we=t[42];let Te;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,Y.jsx)(B,{hideIndicator:!0,value:`__auto__`,children:(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`size-4`}),`Auto (last used)`]})}),t[43]=Te):Te=t[43];let Ee;t[44]===T?Ee=t[45]:(Ee=s.filter(e=>(T??[]).includes(e.id)&&Me(e.id)).map(mn),t[44]=T,t[45]=Ee);let De;t[46]===Ee?De=t[47]:(De=(0,Y.jsxs)(ve,{align:`end`,alignItemWithTrigger:!1,children:[Te,Ee]}),t[46]=Ee,t[47]=De);let Oe;t[48]!==he||t[49]!==be||t[50]!==we||t[51]!==De?(Oe=(0,Y.jsxs)(_e,{value:he,onValueChange:be,children:[we,De]}),t[48]=he,t[49]=be,t[50]=we,t[51]=De,t[52]=Oe):Oe=t[52];let Ae;t[53]!==h||t[54]!==pe||t[55]!==me||t[56]!==Oe?(Ae=(0,Y.jsx)(U,{title:`Default editor`,description:pe,owner:`client`,scope:h,resetAction:me,control:Oe}),t[53]=h,t[54]=pe,t[55]=me,t[56]=Oe,t[57]=Ae):Ae=t[57];let V;t[58]!==fe||t[59]!==Ae?(V=(0,Y.jsxs)(H,{title:`Behavior`,owner:`client`,children:[fe,Ae]}),t[58]=fe,t[59]=Ae,t[60]=V):V=t[60];let Ne;t[61]===l?Ne=t[62]:(Ne=l&&(0,Y.jsx)(Lt,{}),t[61]=l,t[62]=Ne);let Pe;t[63]!==a.enableProviderUpdateChecks||t[64]!==c?(Pe=a.enableProviderUpdateChecks===o.enableProviderUpdateChecks?null:(0,Y.jsx)(W,{label:`provider update checks`,onClick:()=>c({enableProviderUpdateChecks:o.enableProviderUpdateChecks})}),t[63]=a.enableProviderUpdateChecks,t[64]=c,t[65]=Pe):Pe=t[65];let Fe;t[66]===c?Fe=t[67]:(Fe=e=>c({enableProviderUpdateChecks:!!e}),t[66]=c,t[67]=Fe);let Ie;t[68]!==a.enableProviderUpdateChecks||t[69]!==Fe?(Ie=(0,Y.jsx)(z,{checked:a.enableProviderUpdateChecks,onCheckedChange:Fe,"aria-label":`Check providers for updates`}),t[68]=a.enableProviderUpdateChecks,t[69]=Fe,t[70]=Ie):Ie=t[70];let Re;t[71]!==_||t[72]!==Pe||t[73]!==Ie?(Re=(0,Y.jsx)(H,{title:`Provider updates`,owner:`node`,children:(0,Y.jsx)(U,{title:`Provider update checks`,description:`Check installed provider CLIs for newer versions. Disable if you install providers with Nix or another package manager.`,owner:`node`,scope:_,resetAction:Pe,control:Ie})}),t[71]=_,t[72]=Pe,t[73]=Ie,t[74]=Re):Re=t[74];let ze;t[75]!==d||t[76]!==l?(ze=!l&&d!==`node`&&(0,Y.jsx)(Bt,{}),t[75]=d,t[76]=l,t[77]=ze):ze=t[77];let Be;t[78]!==a.autoOpenPlanSidebar||t[79]!==c?(Be=a.autoOpenPlanSidebar===o.autoOpenPlanSidebar?null:(0,Y.jsx)(W,{label:`auto-open overview`,onClick:()=>c({autoOpenPlanSidebar:o.autoOpenPlanSidebar})}),t[78]=a.autoOpenPlanSidebar,t[79]=c,t[80]=Be):Be=t[80];let Ve;t[81]===c?Ve=t[82]:(Ve=e=>c({autoOpenPlanSidebar:!!e}),t[81]=c,t[82]=Ve);let He;t[83]!==a.autoOpenPlanSidebar||t[84]!==Ve?(He=(0,Y.jsx)(z,{checked:a.autoOpenPlanSidebar,onCheckedChange:Ve,"aria-label":`Open the overview automatically`}),t[83]=a.autoOpenPlanSidebar,t[84]=Ve,t[85]=He):He=t[85];let Ue;t[86]!==h||t[87]!==Be||t[88]!==He?(Ue=(0,Y.jsx)(U,{title:`Auto-open overview`,description:`Open the overview automatically when plans, progress, or implementation steps appear.`,owner:`client`,scope:h,resetAction:Be,control:He}),t[86]=h,t[87]=Be,t[88]=He,t[89]=Ue):Ue=t[89];let We;t[90]!==a.defaultThreadEnvMode||t[91]!==c?(We=a.defaultThreadEnvMode===o.defaultThreadEnvMode?null:(0,Y.jsx)(W,{label:`new threads`,onClick:()=>c({defaultThreadEnvMode:o.defaultThreadEnvMode})}),t[90]=a.defaultThreadEnvMode,t[91]=c,t[92]=We):We=t[92];let Ke;t[93]===c?Ke=t[94]:(Ke=e=>{(e===`local`||e===`worktree`)&&c({defaultThreadEnvMode:e})},t[93]=c,t[94]=Ke);let qe=a.defaultThreadEnvMode===`worktree`?`New worktree`:`Local`,G;t[95]===qe?G=t[96]:(G=(0,Y.jsx)(ye,{className:`w-full sm:w-44`,"aria-label":`Default thread mode`,children:(0,Y.jsx)(ge,{children:qe})}),t[95]=qe,t[96]=G);let Je;t[97]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,Y.jsxs)(ve,{align:`end`,alignItemWithTrigger:!1,children:[(0,Y.jsx)(B,{hideIndicator:!0,value:`local`,children:`Local`}),(0,Y.jsx)(B,{hideIndicator:!0,value:`worktree`,children:`New worktree`})]}),t[97]=Je):Je=t[97];let K;t[98]!==a.defaultThreadEnvMode||t[99]!==Ke||t[100]!==G?(K=(0,Y.jsxs)(_e,{value:a.defaultThreadEnvMode,onValueChange:Ke,children:[G,Je]}),t[98]=a.defaultThreadEnvMode,t[99]=Ke,t[100]=G,t[101]=K):K=t[101];let Ye;t[102]!==_||t[103]!==We||t[104]!==K?(Ye=(0,Y.jsx)(U,{title:`New threads`,description:`Pick the default workspace mode for newly created draft threads.`,owner:`node`,scope:_,resetAction:We,control:K}),t[102]=_,t[103]=We,t[104]=K,t[105]=Ye):Ye=t[105];let q;t[106]!==a.addProjectBaseDirectory||t[107]!==c?(q=a.addProjectBaseDirectory===o.addProjectBaseDirectory?null:(0,Y.jsx)(W,{label:`add project base directory`,onClick:()=>c({addProjectBaseDirectory:o.addProjectBaseDirectory})}),t[106]=a.addProjectBaseDirectory,t[107]=c,t[108]=q):q=t[108];let Xe;t[109]===c?Xe=t[110]:(Xe=e=>c({addProjectBaseDirectory:e}),t[109]=c,t[110]=Xe);let Ze;t[111]!==a.addProjectBaseDirectory||t[112]!==Xe?(Ze=(0,Y.jsx)(Dt,{className:`w-full sm:w-72`,value:a.addProjectBaseDirectory,onCommit:Xe,placeholder:`~/`,spellCheck:!1,"aria-label":`Add project base directory`}),t[111]=a.addProjectBaseDirectory,t[112]=Xe,t[113]=Ze):Ze=t[113];let Qe;t[114]!==_||t[115]!==q||t[116]!==Ze?(Qe=(0,Y.jsx)(U,{title:`Add project starts in`,description:`Leave empty to use "~/" when the Add Project browser opens.`,owner:`node`,scope:_,resetAction:q,control:Ze}),t[114]=_,t[115]=q,t[116]=Ze,t[117]=Qe):Qe=t[117];let $e;t[118]!==Ue||t[119]!==Ye||t[120]!==Qe?($e=(0,Y.jsxs)(H,{title:`Projects & threads`,children:[Ue,Ye,Qe]}),t[118]=Ue,t[119]=Ye,t[120]=Qe,t[121]=$e):$e=t[121];let et;t[122]===l?et=t[123]:(et=!l&&(0,Y.jsx)(Kt,{}),t[122]=l,t[123]=et);let tt;t[124]!==a.confirmThreadArchive||t[125]!==c?(tt=a.confirmThreadArchive===o.confirmThreadArchive?null:(0,Y.jsx)(W,{label:`archive confirmation`,onClick:()=>c({confirmThreadArchive:o.confirmThreadArchive})}),t[124]=a.confirmThreadArchive,t[125]=c,t[126]=tt):tt=t[126];let nt;t[127]===c?nt=t[128]:(nt=e=>c({confirmThreadArchive:!!e}),t[127]=c,t[128]=nt);let rt;t[129]!==a.confirmThreadArchive||t[130]!==nt?(rt=(0,Y.jsx)(z,{checked:a.confirmThreadArchive,onCheckedChange:nt,"aria-label":`Confirm thread archiving`}),t[129]=a.confirmThreadArchive,t[130]=nt,t[131]=rt):rt=t[131];let it;t[132]!==h||t[133]!==tt||t[134]!==rt?(it=(0,Y.jsx)(U,{title:`Archive confirmation`,description:`Require a second click on the inline archive action before a thread is archived.`,owner:`client`,scope:h,resetAction:tt,control:rt}),t[132]=h,t[133]=tt,t[134]=rt,t[135]=it):it=t[135];let at;t[136]!==a.confirmThreadDelete||t[137]!==c?(at=a.confirmThreadDelete===o.confirmThreadDelete?null:(0,Y.jsx)(W,{label:`delete confirmation`,onClick:()=>c({confirmThreadDelete:o.confirmThreadDelete})}),t[136]=a.confirmThreadDelete,t[137]=c,t[138]=at):at=t[138];let ot;t[139]===c?ot=t[140]:(ot=e=>c({confirmThreadDelete:!!e}),t[139]=c,t[140]=ot);let st;t[141]!==a.confirmThreadDelete||t[142]!==ot?(st=(0,Y.jsx)(z,{checked:a.confirmThreadDelete,onCheckedChange:ot,"aria-label":`Confirm thread deletion`}),t[141]=a.confirmThreadDelete,t[142]=ot,t[143]=st):st=t[143];let ct;t[144]!==h||t[145]!==at||t[146]!==st?(ct=(0,Y.jsx)(U,{title:`Delete confirmation`,description:`Ask before deleting a thread and its chat history.`,owner:`client`,scope:h,resetAction:at,control:st}),t[144]=h,t[145]=at,t[146]=st,t[147]=ct):ct=t[147];let lt;t[148]!==a.confirmThreadUnpin||t[149]!==c?(lt=a.confirmThreadUnpin===o.confirmThreadUnpin?null:(0,Y.jsx)(W,{label:`unpin confirmation`,onClick:()=>c({confirmThreadUnpin:o.confirmThreadUnpin})}),t[148]=a.confirmThreadUnpin,t[149]=c,t[150]=lt):lt=t[150];let ut;t[151]===c?ut=t[152]:(ut=e=>c({confirmThreadUnpin:!!e}),t[151]=c,t[152]=ut);let dt;t[153]!==a.confirmThreadUnpin||t[154]!==ut?(dt=(0,Y.jsx)(z,{checked:a.confirmThreadUnpin,onCheckedChange:ut,"aria-label":`Confirm thread unpinning`}),t[153]=a.confirmThreadUnpin,t[154]=ut,t[155]=dt):dt=t[155];let ft;t[156]!==h||t[157]!==lt||t[158]!==dt?(ft=(0,Y.jsx)(U,{title:`Unpin confirmation`,description:`Ask before removing a thread from the pinned section.`,owner:`client`,scope:h,resetAction:lt,control:dt}),t[156]=h,t[157]=lt,t[158]=dt,t[159]=ft):ft=t[159];let pt;t[160]!==et||t[161]!==it||t[162]!==ct||t[163]!==ft?(pt=(0,Y.jsxs)(H,{title:`Confirmations`,owner:`client`,children:[et,it,ct,ft]}),t[160]=et,t[161]=it,t[162]=ct,t[163]=ft,t[164]=pt):pt=t[164];let mt;t[165]!==p||t[166]!==a.notifyOnTurnCompleteWhenUnfocused||t[167]!==c?(mt=r&&(0,Y.jsx)(H,{title:`Notifications`,owner:`client`,children:(0,Y.jsx)(U,{title:`Turn-complete notifications`,description:`Show a desktop notification when an agent finishes a turn while the Ryco window is unfocused.`,owner:`client`,scope:p,resetAction:a.notifyOnTurnCompleteWhenUnfocused===o.notifyOnTurnCompleteWhenUnfocused?null:(0,Y.jsx)(W,{label:`turn-complete notifications`,onClick:()=>c({notifyOnTurnCompleteWhenUnfocused:o.notifyOnTurnCompleteWhenUnfocused})}),control:(0,Y.jsx)(z,{checked:a.notifyOnTurnCompleteWhenUnfocused,onCheckedChange:e=>c({notifyOnTurnCompleteWhenUnfocused:!!e}),"aria-label":`Notify when a turn completes while unfocused`})})}),t[165]=p,t[166]=a.notifyOnTurnCompleteWhenUnfocused,t[167]=c,t[168]=mt):mt=t[168];let X;t[169]!==d||t[170]!==l||t[171]!==_||t[172]!==i?(X=l?null:d!==`client`&&(0,Y.jsx)(fn,{searchTargetId:i,nodeScopeLabel:_}),t[169]=d,t[170]=l,t[171]=_,t[172]=i,t[173]=X):X=t[173];let ht;t[174]===d?ht=t[175]:(ht=d!==`node`&&(0,Y.jsx)($t,{}),t[174]=d,t[175]=ht);let Z;t[176]!==p||t[177]!==d||t[178]!==h?(Z=r&&d!==`node`?(0,Y.jsx)(tn,{scopeLabel:p}):(0,Y.jsx)(U,{title:(0,Y.jsx)(Xt,{}),description:`Current version of the application.`,owner:`client`,scope:h}),t[176]=p,t[177]=d,t[178]=h,t[179]=Z):Z=t[179];let gt=O??`Resolving logs directory...`,_t;t[180]===gt?_t=t[181]:(_t=(0,Y.jsx)(`span`,{className:`block break-all font-mono text-[11px] text-foreground`,children:gt}),t[180]=gt,t[181]=_t);let Q;t[182]!==k||t[183]!==re||t[184]!==u?.nodeLabel?(Q=re?(0,Y.jsx)(`span`,{className:`mt-1 block text-destructive`,children:re}):k?null:(0,Y.jsxs)(`span`,{className:`mt-1 block`,children:[`This path is on `,u?.nodeLabel,`; open it from that machine.`]}),t[182]=k,t[183]=re,t[184]=u?.nodeLabel,t[185]=Q):Q=t[185];let vt;t[186]!==_t||t[187]!==Q?(vt=(0,Y.jsxs)(Y.Fragment,{children:[_t,Q]}),t[186]=_t,t[187]=Q,t[188]=vt):vt=t[188];let yt=!k||!O||ie,bt=ie?`Opening...`:`Open logs folder`,xt;t[189]!==ne||t[190]!==yt||t[191]!==bt?(xt=(0,Y.jsx)(se,{size:`xs`,variant:`outline`,disabled:yt,onClick:ne,children:bt}),t[189]=ne,t[190]=yt,t[191]=bt,t[192]=xt):xt=t[192];let St;t[193]!==P||t[194]!==_||t[195]!==vt||t[196]!==xt?(St=(0,Y.jsx)(U,{title:`Diagnostics`,description:P,owner:`node`,scope:_,status:vt,control:xt}),t[193]=P,t[194]=_,t[195]=vt,t[196]=xt,t[197]=St):St=t[197];let Ct;t[198]!==ht||t[199]!==Z||t[200]!==St?(Ct=(0,Y.jsxs)(H,{title:`About`,children:[ht,Z,St]}),t[198]=ht,t[199]=Z,t[200]=St,t[201]=Ct):Ct=t[201];let wt;return t[202]!==V||t[203]!==Ne||t[204]!==Re||t[205]!==ze||t[206]!==$e||t[207]!==pt||t[208]!==mt||t[209]!==X||t[210]!==Ct?(wt=(0,Y.jsxs)(Ge,{children:[V,Ne,Re,ze,$e,pt,mt,X,Ct]}),t[202]=V,t[203]=Ne,t[204]=Re,t[205]=ze,t[206]=$e,t[207]=pt,t[208]=mt,t[209]=X,t[210]=Ct,t[211]=wt):wt=t[211],wt}function mn(e){return(0,Y.jsx)(B,{hideIndicator:!0,value:e.id,children:(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,Y.jsx)(Yt,{editor:e.id}),ke(e.id,navigator.platform)]})},e.id)}function hn(){let e=(0,$.c)(17),t=D(),n=Ie(i.dispatchCommand),r=n.allowed&&(!t||t.connected&&t.canMutate!==!1),a=f(qe(w)),o=f(qe(c)),{unarchiveThread:s,confirmAndDeleteThread:l}=le();t?.environmentId;let u=t?.environmentId,d;e[0]!==a||e[1]!==u||e[2]!==o?(d=At(a,o,u),e[0]=a,e[1]=u,e[2]=o,e[3]=d):d=e[3];let m=d,h;e[4]!==l||e[5]!==r||e[6]!==n.reason||e[7]!==s?(h=async(e,t)=>{if(!r){p.add(V({type:`warning`,title:`Archived thread is read-only`,description:n.reason??`This action is unavailable.`}));return}let i=ne();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 s(e)}catch(e){let t=e;p.add(V({type:`error`,title:`Failed to unarchive thread`,description:t instanceof Error?t.message:`An error occurred.`}))}return}a===`delete`&&await l(e)},e[4]=l,e[5]=r,e[6]=n.reason,e[7]=s,e[8]=h):h=e[8];let g=h,_;e[9]!==m||e[10]!==g||e[11]!==r||e[12]!==n.reason||e[13]!==s?(_=m.length===0?(0,Y.jsx)(H,{title:`Archived threads`,children:(0,Y.jsxs)(We,{className:`min-h-88`,children:[(0,Y.jsx)(Be,{variant:`icon`,children:(0,Y.jsx)(De,{})}),(0,Y.jsxs)(Ve,{children:[(0,Y.jsx)(He,{children:`No archived threads`}),(0,Y.jsx)(Ue,{children:`Archived threads will appear here.`})]})]})}):m.map(e=>{let{project:t,threads:i}=e;return(0,Y.jsx)(H,{title:t.name,icon:(0,Y.jsx)(ue,{environmentId:t.environmentId,cwd:t.cwd,projectId:t.id,customAvatarContentHash:t.customAvatarContentHash??null}),children:i.map(e=>(0,Y.jsx)(gn,{thread:e,mutationAllowed:r,mutationReason:n.reason??null,onOpenMenu:g,onUnarchive:s},e.id))},`${t.environmentId}:${t.id}`)}),e[9]=m,e[10]=g,e[11]=r,e[12]=n.reason,e[13]=s,e[14]=_):_=e[14];let v;return e[15]===_?v=e[16]:(v=(0,Y.jsx)(Ge,{children:_}),e[15]=_,e[16]=v),v}function gn(e){let t=(0,$.c)(38),{thread:r,mutationAllowed:i,mutationReason:a,onOpenMenu:o,onUnarchive:s}=e,c=Le()===`phone`,l;t[0]!==o||t[1]!==r.environmentId||t[2]!==r.id?(l=e=>{o(n(r.environmentId,r.id),e)},t[0]=o,t[1]=r.environmentId,t[2]=r.id,t[3]=l):l=t[3];let u=!c,d;t[4]===u?d=t[5]:(d={disabled:u},t[4]=u,t[5]=d);let f=Re(l,d),p;t[6]!==f||t[7]!==o||t[8]!==r.environmentId||t[9]!==r.id?(p=e=>{f.onContextMenu(e),!e.defaultPrevented&&(e.preventDefault(),o(n(r.environmentId,r.id),{x:e.clientX,y:e.clientY}))},t[6]=f,t[7]=o,t[8]=r.environmentId,t[9]=r.id,t[10]=p):p=t[10];let m;t[11]===r.title?m=t[12]:(m=(0,Y.jsx)(`h3`,{className:`truncate text-sm font-medium text-foreground`,children:r.title}),t[11]=r.title,t[12]=m);let h=r.archivedAt??r.createdAt,g;t[13]===h?g=t[14]:(g=ce(h),t[13]=h,t[14]=g);let _;t[15]===r.createdAt?_=t[16]:(_=ce(r.createdAt),t[15]=r.createdAt,t[16]=_);let v;t[17]!==g||t[18]!==_?(v=(0,Y.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Archived `,g,` · Created `,_]}),t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;t[20]!==m||t[21]!==v?(y=(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[m,v]}),t[20]=m,t[21]=v,t[22]=y):y=t[22];let b=!i,x=a??void 0,S;t[23]!==s||t[24]!==r.environmentId||t[25]!==r.id?(S=()=>void s(n(r.environmentId,r.id)).catch(_n),t[23]=s,t[24]=r.environmentId,t[25]=r.id,t[26]=S):S=t[26];let C,w;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,Y.jsx)(Je,{className:`size-3.5`}),w=(0,Y.jsx)(`span`,{children:`Unarchive`}),t[27]=C,t[28]=w):(C=t[27],w=t[28]);let T;t[29]!==b||t[30]!==x||t[31]!==S?(T=(0,Y.jsxs)(se,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 shrink-0 cursor-pointer gap-1.5 px-2.5`,disabled:b,title:x,onClick:S,children:[C,w]}),t[29]=b,t[30]=x,t[31]=S,t[32]=T):T=t[32];let E;return t[33]!==f||t[34]!==T||t[35]!==p||t[36]!==y?(E=(0,Y.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`,...f,onContextMenu:p,children:[y,T]}),t[33]=f,t[34]=T,t[35]=p,t[36]=y,t[37]=E):E=t[37],E}function _n(e){p.add(V({type:`error`,title:`Failed to unarchive thread`,description:e instanceof Error?e.message:`An error occurred.`}))}export{Dt as a,Ct as c,Xe as d,Ye as f,Lt as i,et as l,pn as n,St as o,dn as r,wt as s,hn as t,Qe as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import{a as n}from"./primary-D_D7eLwT.js";import{pl as r}from"./src-BSuAGqhK.js";import{Cr as i,Ft as a,Nr as o,Nt as s,Vr as c,_l as l,gl as u,hl as d,p as f,wr as p,zr as m}from"./runtime-Djy96GJd.js";import{$t as h,Qt as g,_,an as v,ct as y,en as b,on as x,p as S,r as C,rn as w,sn as T,t as E,un as D}from"./switch-DD1qVLgN.js";import{t as O}from"./compiler-runtime-qmuS0Svy.js";import{i as k,n as ee,t as te}from"./tooltip-DXvXxL37.js";import{t as A}from"./badge-Dg7mXiOh.js";import{i as j}from"./SettingsPanels-ZxNz9ZfL.js";import{K as M}from"./ContextHandoffEndpointLabel-BildLLDY.js";import{t as N}from"./key-round-D2DtQ7aS.js";import{t as P}from"./refresh-cw-DY3_Ph-S.js";import{t as F}from"./toastHelpers-CSQRKo4F.js";import{t as I}from"./input-DrOL1KPS.js";import{t as L}from"./skeleton-DRm4_OvB.js";import{a as ne,i as R,n as z,o as B,r as re,t as V}from"./empty-3NpXLnAM.js";import{i as H,n as U}from"./settingsLayout-C6SUmJVB.js";import{t as ie}from"./RedactedSensitiveText-CLPBtvH1.js";var W=O(),G=e(t(),1),K=l(),ae={versionControlSystems:[],sourceControlProviders:[]},oe={github:v,gitlab:T,forgejo:w,"azure-devops":h,bitbucket:b},se={git:x,jj:D},ce=[`primary`,`secondary`],le=[`atlassian`,`connections`];function q(e){return r(e)}function J(e){return`auth`in e}function Y(e){return!J(e)&&!e.implemented}function ue(e){return e.status===`authenticated`?{label:`Authenticated`,badge:null}:e.status===`unauthenticated`?{label:`Not authenticated`,badge:`warning`}:{label:`Status unknown`,badge:null}}function de(e){let t=(0,W.c)(2),n;return t[0]===e.account?n=t[1]:(n=(0,K.jsx)(ie,{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 fe(e){return Y(e)?`bg-muted-foreground/35`:e.status!==`available`||J(e)&&e.auth.status!==`authenticated`?`bg-warning`:`bg-success`}function pe(e){let t=(0,W.c)(13),{item:n}=e,r,i,a,o;if(t[0]!==n){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e=fe(n),s=J(n)?oe[n.kind]:se[n.kind];if(!s){o=(0,K.jsx)(`span`,{className:c(`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,K.jsx)(s,{className:`size-4.5 text-foreground/80`,"aria-hidden":!0}),t[5]=s,t[6]=a),r=c(`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,K.jsx)(`span`,{className:r,"aria-hidden":!0}),t[7]=r,t[8]=s);let l;return t[9]!==i||t[10]!==a||t[11]!==s?(l=(0,K.jsxs)(`span`,{className:i,children:[a,s]}),t[9]=i,t[10]=a,t[11]=s,t[12]=l):l=t[12],l}function me({item:e,auth:t,authAccount:n,authHost:r}){return Y(e)?(0,K.jsxs)(`span`,{children:[`Support for `,e.label,` is coming soon.`]}):e.status===`available`?t?t.status===`authenticated`?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{children:`Authenticated`}),n?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{"aria-hidden":!0,children:`as`}),(0,K.jsx)(de,{account:n})]}):null,r?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`span`,{"aria-hidden":!0,children:`on`}),(0,K.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-[11px] text-muted-foreground`,children:r})]}):null]}):e.executable?t.status===`unauthenticated`?(0,K.jsxs)(`span`,{children:[e.label,` is not authenticated on this server. Sign in or configure credentials using the `,(0,K.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,K.jsxs)(`span`,{children:[`Could not verify `,e.label,`. `,q(t.detail)??e.installHint]}):(0,K.jsx)(`span`,{children:e.installHint}):(0,K.jsx)(`span`,{children:`Available`}):(0,K.jsxs)(`span`,{children:[`Not available on this server — `,e.installHint]})}function he(e){let t=(0,W.c)(57),{item:n}=e,r;t[0]===n.version?r=t[1]:(r=q(n.version),t[0]=n.version,t[1]=r);let i=r,a;t[2]===n?a=t[3]:(a=n.status===`available`&&(J(n)||n.implemented),t[2]=n,t[3]=a);let o=a,s=J(n)?n.auth:null,l;t[4]===s?l=t[5]:(l=s?ue(s):null,t[4]=s,t[5]=l);let u=l,d,f,p,m,h,g,_;if(t[6]!==s||t[7]!==u||t[8]!==n||t[9]!==i){let e=s?q(s.account):null,r=s?q(s.host):null;t[17]===n?d=t[18]:(d=c(`border-t border-border/60 first:border-t-0`,Y(n)&&`opacity-80`),t[17]=n,t[18]=d),_=`px-4 py-3.5 sm:px-5`,g=`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,m=`min-w-0 flex-1 space-y-1`;let a;t[19]===n?a=t[20]:(a=(0,K.jsx)(pe,{item:n}),t[19]=n,t[20]=a);let o;t[21]===n.label?o=t[22]:(o=(0,K.jsx)(`h3`,{className:`truncate text-[13px] font-semibold tracking-[-0.01em] text-foreground`,children:n.label}),t[21]=n.label,t[22]=o);let l;t[23]===i?l=t[24]:(l=i?(0,K.jsx)(`code`,{className:`text-xs text-muted-foreground`,children:i}):null,t[23]=i,t[24]=l);let v;t[25]===n?v=t[26]:(v=Y(n)?(0,K.jsx)(A,{variant:`warning`,size:`sm`,children:`Coming Soon`}):null,t[25]=n,t[26]=v);let y;t[27]===u?y=t[28]:(y=u?.badge?(0,K.jsx)(A,{variant:u.badge,size:`sm`,children:u.label}):null,t[27]=u,t[28]=y),t[29]!==a||t[30]!==o||t[31]!==l||t[32]!==v||t[33]!==y?(h=(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[a,o,l,v,y]}),t[29]=a,t[30]=o,t[31]=l,t[32]=v,t[33]=y,t[34]=h):h=t[34],f=`flex min-w-0 flex-wrap items-center gap-x-1 text-xs text-muted-foreground`,p=me({item:n,auth:s,authAccount:e,authHost:r}),t[6]=s,t[7]=u,t[8]=n,t[9]=i,t[10]=d,t[11]=f,t[12]=p,t[13]=m,t[14]=h,t[15]=g,t[16]=_}else d=t[10],f=t[11],p=t[12],m=t[13],h=t[14],g=t[15],_=t[16];let v;t[35]!==f||t[36]!==p?(v=(0,K.jsx)(`p`,{className:f,children:p}),t[35]=f,t[36]=p,t[37]=v):v=t[37];let y;t[38]!==v||t[39]!==m||t[40]!==h?(y=(0,K.jsxs)(`div`,{className:m,children:[h,v]}),t[38]=v,t[39]=m,t[40]=h,t[41]=y):y=t[41];let b;t[42]!==o||t[43]!==n?(b=Y(n)?null:(0,K.jsx)(E,{checked:o,disabled:!0,"aria-label":`${n.label} availability`}),t[42]=o,t[43]=n,t[44]=b):b=t[44];let x;t[45]===b?x=t[46]:(x=(0,K.jsx)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:b}),t[45]=b,t[46]=x);let S;t[47]!==y||t[48]!==x||t[49]!==g?(S=(0,K.jsxs)(`div`,{className:g,children:[y,x]}),t[47]=y,t[48]=x,t[49]=g,t[50]=S):S=t[50];let C;t[51]!==S||t[52]!==_?(C=(0,K.jsx)(`div`,{className:_,children:S}),t[51]=S,t[52]=_,t[53]=C):C=t[53];let w;return t[54]!==d||t[55]!==C?(w=(0,K.jsx)(`div`,{className:d,children:C}),t[54]=d,t[55]=C,t[56]=w):w=t[56],w}function ge(e){let t=(0,W.c)(4),{title:n,headerAction:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=ce.map(_e),t[0]=i):i=t[0];let a;return t[1]!==r||t[2]!==n?(a=(0,K.jsx)(H,{title:n,headerAction:r,children:i}),t[1]=r,t[2]=n,t[3]=a):a=t[3],a}function _e(e){return(0,K.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3.5 first:border-t-0 sm:px-5`,children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,K.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsxs)(`span`,{className:`relative inline-flex size-5 shrink-0 items-center justify-center`,children:[(0,K.jsx)(L,{className:`size-4.5 rounded-md`}),(0,K.jsx)(L,{className:`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,"aria-hidden":!0})]}),(0,K.jsx)(L,{className:`h-4 w-28 rounded-full`}),(0,K.jsx)(L,{className:`h-5 w-14 rounded-full`})]}),(0,K.jsx)(L,{className:`h-3 w-full max-w-xs rounded-full`})]}),(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,K.jsx)(L,{className:`size-7 rounded-md`}),(0,K.jsx)(L,{className:`h-5 w-9 rounded-full`})]})]})},e)}function ve(e){switch(e){case`connected`:return`success`;case`needs_reauth`:return`warning`;case`invalid`:return`error`;case`revoked`:return`outline`}}function ye(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 be(e){let t=(0,W.c)(4);if(e.products.includes(`bitbucket`)){let n;return t[0]===e.className?n=t[1]:(n=(0,K.jsx)(b,{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,K.jsx)(g,{className:e.className,"aria-hidden":!0}),t[2]=e.className,t[3]=n),n}function xe(e){let t=(0,W.c)(123),{environmentId:n}=e,r=a(),[c,l]=(0,G.useState)(`Bitbucket`),[u,d]=(0,G.useState)(``),[p,h]=(0,G.useState)(``),[g,v]=(0,G.useState)(`Jira`),[b,x]=(0,G.useState)(``),[w,T]=(0,G.useState)(``),[E,D]=(0,G.useState)(``),O;t[0]===n?O=t[1]:(O=n?f(n):null,t[0]=n,t[1]=O);let k=O?.client??null,ee=k!==null,te;t[2]!==n||t[3]!==ee?(te={environmentId:n,enabled:ee},t[2]=n,t[3]=ee,t[4]=te):te=t[4];let j=S(te),P;t[5]!==u||t[6]!==c||t[7]!==p||t[8]!==k?(P=async()=>{if(!k)throw Error(`No server connection is available.`);return k.atlassian.saveManualBitbucketToken({label:c.trim(),email:u.trim(),token:p.trim(),isDefault:!0})},t[5]=u,t[6]=c,t[7]=p,t[8]=k,t[9]=P):P=t[9];let L;t[10]!==n||t[11]!==r?(L=()=>{l(`Bitbucket`),d(``),h(``),_({environmentId:n}),r.invalidateQueries({queryKey:le}),i({environmentId:n}),o.add(F({type:`success`,title:`Bitbucket token saved`,description:`Ryco can now use this Atlassian connection for Bitbucket workflows.`}))},t[10]=n,t[11]=r,t[12]=L):L=t[12];let ne;t[13]!==P||t[14]!==L?(ne={mutationFn:P,onSuccess:L,onError:we},t[13]=P,t[14]=L,t[15]=ne):ne=t[15];let R=s(ne),z;t[16]!==k||t[17]!==b||t[18]!==g||t[19]!==w||t[20]!==E?(z=async()=>{if(!k)throw Error(`No server connection is available.`);return k.atlassian.saveManualJiraToken({label:g.trim(),email:b.trim(),siteUrl:w.trim(),token:E.trim(),isDefault:!0})},t[16]=k,t[17]=b,t[18]=g,t[19]=w,t[20]=E,t[21]=z):z=t[21];let B;t[22]!==n||t[23]!==r?(B=()=>{v(`Jira`),x(``),T(``),D(``),_({environmentId:n}),r.invalidateQueries({queryKey:le}),o.add(F({type:`success`,title:`Jira token saved`,description:`Ryco can now load Jira work items for linked projects.`}))},t[22]=n,t[23]=r,t[24]=B):B=t[24];let re;t[25]!==z||t[26]!==B?(re={mutationFn:z,onSuccess:B,onError:Ce},t[25]=z,t[26]=B,t[27]=re):re=t[27];let V=s(re),H;t[28]===k?H=t[29]:(H=async e=>{if(!k)throw Error(`No server connection is available.`);return k.atlassian.disconnect({connectionId:e.connectionId})},t[28]=k,t[29]=H);let U;t[30]!==n||t[31]!==r?(U=()=>{_({environmentId:n}),r.invalidateQueries({queryKey:le}),i({environmentId:n})},t[30]=n,t[31]=r,t[32]=U):U=t[32];let ie;t[33]!==H||t[34]!==U?(ie={mutationFn:H,onSuccess:U,onError:Se},t[33]=H,t[34]=U,t[35]=ie):ie=t[35];let ae=s(ie),oe;t[36]!==u||t[37]!==c||t[38]!==p||t[39]!==k||t[40]!==R.isPending?(oe=k!==null&&c.trim().length>0&&u.trim().length>0&&p.trim().length>0&&!R.isPending,t[36]=u,t[37]=c,t[38]=p,t[39]=k,t[40]=R.isPending,t[41]=oe):oe=t[41];let se=oe,ce;t[42]!==k||t[43]!==b||t[44]!==g||t[45]!==w||t[46]!==E||t[47]!==V.isPending?(ce=k!==null&&g.trim().length>0&&b.trim().length>0&&w.trim().length>0&&E.trim().length>0&&!V.isPending,t[42]=k,t[43]=b,t[44]=g,t[45]=w,t[46]=E,t[47]=V.isPending,t[48]=ce):ce=t[48];let q=ce,J;t[49]!==se||t[50]!==R?(J=e=>{e.preventDefault(),se&&R.mutate()},t[49]=se,t[50]=R,t[51]=J):J=t[51];let Y=J,ue;t[52]!==q||t[53]!==V?(ue=e=>{e.preventDefault(),q&&V.mutate()},t[52]=q,t[53]=V,t[54]=ue):ue=t[54];let fe=ue,pe;t[55]===j.data?pe=t[56]:(pe=j.data??[],t[55]=j.data,t[56]=pe);let me=pe,he=j.data===null&&!j.isError,ge;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,K.jsx)(`div`,{className:`border-t border-border/60 bg-muted/20 px-4 py-2.5 sm:px-5`,children:(0,K.jsxs)(`h3`,{className:`flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground/70`,children:[(0,K.jsx)(N,{className:`size-3`,"aria-hidden":!0}),`Atlassian`]})}),t[57]=ge):ge=t[57];let _e;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,K.jsx)(C,{htmlFor:`bitbucket-token-label`,className:`text-xs`,children:`Label`}),t[58]=_e):_e=t[58];let xe;t[59]===Symbol.for(`react.memo_cache_sentinel`)?(xe=e=>l(e.currentTarget.value),t[59]=xe):xe=t[59];let X;t[60]===c?X=t[61]:(X=(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[_e,(0,K.jsx)(I,{id:`bitbucket-token-label`,size:`sm`,value:c,autoComplete:`organization`,onChange:xe,placeholder:`Bitbucket`})]}),t[60]=c,t[61]=X);let Te;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,K.jsx)(C,{htmlFor:`bitbucket-token-email`,className:`text-xs`,children:`Email`}),t[62]=Te):Te=t[62];let Ee;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=e=>d(e.currentTarget.value),t[63]=Ee):Ee=t[63];let Z;t[64]===u?Z=t[65]:(Z=(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[Te,(0,K.jsx)(I,{id:`bitbucket-token-email`,size:`sm`,type:`email`,value:u,autoComplete:`username`,onChange:Ee,placeholder:`you@example.com`})]}),t[64]=u,t[65]=Z);let De;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,K.jsx)(C,{htmlFor:`bitbucket-token-secret`,className:`text-xs`,children:`Bitbucket app password`}),t[66]=De):De=t[66];let Oe;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=e=>h(e.currentTarget.value),t[67]=Oe):Oe=t[67];let ke;t[68]===p?ke=t[69]:(ke=(0,K.jsx)(I,{id:`bitbucket-token-secret`,size:`sm`,type:`password`,value:p,autoComplete:`current-password`,onChange:Oe,placeholder:`Stored locally in the server secret store`}),t[68]=p,t[69]=ke);let Ae=!se,je;t[70]===R.isPending?je=t[71]:(je=R.isPending?(0,K.jsx)(y,{className:`size-3`}):null,t[70]=R.isPending,t[71]=je);let Me;t[72]!==Ae||t[73]!==je?(Me=(0,K.jsxs)(m,{type:`submit`,size:`sm`,className:`h-7.5 shrink-0 gap-1.5 px-3 text-xs`,disabled:Ae,children:[je,`Save Token`]}),t[72]=Ae,t[73]=je,t[74]=Me):Me=t[74];let Ne;t[75]!==ke||t[76]!==Me?(Ne=(0,K.jsxs)(`div`,{className:`space-y-1.5 sm:col-span-2`,children:[De,(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[ke,Me]})]}),t[75]=ke,t[76]=Me,t[77]=Ne):Ne=t[77];let Pe;t[78]!==Y||t[79]!==X||t[80]!==Z||t[81]!==Ne?(Pe=(0,K.jsx)(`div`,{className:`border-t border-border/60 px-4 py-4 sm:px-5`,children:(0,K.jsxs)(`form`,{className:`grid gap-3 sm:grid-cols-[1fr_1fr] sm:items-end`,onSubmit:Y,children:[X,Z,Ne]})}),t[78]=Y,t[79]=X,t[80]=Z,t[81]=Ne,t[82]=Pe):Pe=t[82];let Fe;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,K.jsx)(C,{htmlFor:`jira-token-label`,className:`text-xs`,children:`Label`}),t[83]=Fe):Fe=t[83];let Ie;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=e=>v(e.currentTarget.value),t[84]=Ie):Ie=t[84];let Le;t[85]===g?Le=t[86]:(Le=(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[Fe,(0,K.jsx)(I,{id:`jira-token-label`,size:`sm`,value:g,autoComplete:`organization`,onChange:Ie,placeholder:`Jira`})]}),t[85]=g,t[86]=Le);let Re;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(Re=(0,K.jsx)(C,{htmlFor:`jira-token-email`,className:`text-xs`,children:`Email`}),t[87]=Re):Re=t[87];let ze;t[88]===Symbol.for(`react.memo_cache_sentinel`)?(ze=e=>x(e.currentTarget.value),t[88]=ze):ze=t[88];let Be;t[89]===b?Be=t[90]:(Be=(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[Re,(0,K.jsx)(I,{id:`jira-token-email`,size:`sm`,type:`email`,value:b,autoComplete:`username`,onChange:ze,placeholder:`you@example.com`})]}),t[89]=b,t[90]=Be);let Ve;t[91]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,K.jsx)(C,{htmlFor:`jira-site-url`,className:`text-xs`,children:`Jira site URL`}),t[91]=Ve):Ve=t[91];let He;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(He=e=>T(e.currentTarget.value),t[92]=He):He=t[92];let Q;t[93]===w?Q=t[94]:(Q=(0,K.jsxs)(`div`,{className:`space-y-1.5 sm:col-span-2`,children:[Ve,(0,K.jsx)(I,{id:`jira-site-url`,size:`sm`,value:w,inputMode:`url`,autoComplete:`url`,onChange:He,placeholder:`https://your-team.atlassian.net`})]}),t[93]=w,t[94]=Q);let Ue;t[95]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,K.jsx)(C,{htmlFor:`jira-token-secret`,className:`text-xs`,children:`Jira API token`}),t[95]=Ue):Ue=t[95];let We;t[96]===Symbol.for(`react.memo_cache_sentinel`)?(We=e=>D(e.currentTarget.value),t[96]=We):We=t[96];let Ge;t[97]===E?Ge=t[98]:(Ge=(0,K.jsx)(I,{id:`jira-token-secret`,size:`sm`,type:`password`,value:E,autoComplete:`current-password`,onChange:We,placeholder:`Stored locally in the server secret store`}),t[97]=E,t[98]=Ge);let Ke=!q,qe;t[99]===V.isPending?qe=t[100]:(qe=V.isPending?(0,K.jsx)(y,{className:`size-3`}):null,t[99]=V.isPending,t[100]=qe);let Je;t[101]!==Ke||t[102]!==qe?(Je=(0,K.jsxs)(m,{type:`submit`,size:`sm`,className:`h-7.5 shrink-0 gap-1.5 px-3 text-xs`,disabled:Ke,children:[qe,`Save Jira`]}),t[101]=Ke,t[102]=qe,t[103]=Je):Je=t[103];let Ye;t[104]!==Ge||t[105]!==Je?(Ye=(0,K.jsxs)(`div`,{className:`space-y-1.5 sm:col-span-2`,children:[Ue,(0,K.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[Ge,Je]})]}),t[104]=Ge,t[105]=Je,t[106]=Ye):Ye=t[106];let Xe;t[107]!==fe||t[108]!==Le||t[109]!==Be||t[110]!==Q||t[111]!==Ye?(Xe=(0,K.jsx)(`div`,{className:`border-t border-border/60 px-4 py-4 sm:px-5`,children:(0,K.jsxs)(`form`,{className:`grid gap-3 sm:grid-cols-[1fr_1fr] sm:items-end`,onSubmit:fe,children:[Le,Be,Q,Ye]})}),t[107]=fe,t[108]=Le,t[109]=Be,t[110]=Q,t[111]=Ye,t[112]=Xe):Xe=t[112];let Ze;t[113]!==he||t[114]!==ae||t[115]!==me?(Ze=he?(0,K.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-4 text-xs text-muted-foreground sm:px-5`,children:[(0,K.jsx)(y,{className:`size-3.5`}),`Loading Atlassian connections`]}):me.length===0?(0,K.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.`}):me.map(e=>(0,K.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,K.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,K.jsx)(be,{products:e.products,className:`size-4 text-foreground/80`}),(0,K.jsx)(`h3`,{className:`truncate text-[13px] font-semibold text-foreground`,children:e.label}),(0,K.jsx)(A,{variant:ve(e.status),size:`sm`,children:e.status.replace(`_`,` `)}),(0,K.jsx)(A,{variant:`outline`,size:`sm`,children:ye(e.kind)})]}),(0,K.jsxs)(`p`,{className:`flex min-w-0 flex-wrap gap-x-1 text-xs text-muted-foreground`,children:[e.accountEmail?(0,K.jsx)(de,{account:e.accountEmail}):(0,K.jsx)(`span`,{children:`No account email saved`}),(0,K.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,K.jsx)(`span`,{children:e.capabilities.join(`, `)})]})]}),(0,K.jsx)(m,{type:`button`,size:`icon-xs`,variant:`ghost`,className:`size-7 self-start text-muted-foreground hover:text-destructive sm:self-auto`,"aria-label":`Delete ${e.label}`,disabled:ae.isPending||e.readonly,onClick:()=>ae.mutate(e),children:(0,K.jsx)(M,{className:`size-3.5`})})]},e.connectionId)),t[113]=he,t[114]=ae,t[115]=me,t[116]=Ze):Ze=t[116];let $;t[117]===Ze?$=t[118]:($=(0,K.jsx)(`div`,{className:`border-t border-border/60`,children:Ze}),t[117]=Ze,t[118]=$);let Qe;return t[119]!==Pe||t[120]!==Xe||t[121]!==$?(Qe=(0,K.jsxs)(K.Fragment,{children:[ge,Pe,Xe,$]}),t[119]=Pe,t[120]=Xe,t[121]=$,t[122]=Qe):Qe=t[122],Qe}function Se(e){o.add(F({type:`error`,title:`Could not delete Atlassian connection`,description:e instanceof Error?e.message:`The connection was not changed.`}))}function Ce(e){o.add(F({type:`error`,title:`Could not save Jira token`,description:e instanceof Error?e.message:`The token could not be saved.`}))}function we(e){o.add(F({type:`error`,title:`Could not save Bitbucket token`,description:e instanceof Error?e.message:`The token could not be saved.`}))}function X(){let e=(0,W.c)(2),t=d(),n;return e[0]===t?n=e[1]:(n=t===`client`?(0,K.jsx)(U,{children:(0,K.jsx)(j,{})}):(0,K.jsx)(Te,{}),e[0]=t,e[1]=n),n}function Te(){let e=(0,W.c)(44),t=d(),r=u(),a=n(),o=r?.environmentId??a,s;e[0]===o?s=e[1]:(s={environmentId:o},e[0]=o,e[1]=s);let l=p(s),f=l.data??ae,h=l.isPending&&l.data===null,g;e[2]===o?g=e[3]:(g=()=>{i({environmentId:o})},e[2]=o,e[3]=g);let _=g,v=l.isPending,y=l.isPending&&`animate-spin`,b;e[4]===y?b=e[5]:(b=c(`size-3`,y),e[4]=y,e[5]=b);let S;e[6]===b?S=e[7]:(S=(0,K.jsx)(P,{className:b}),e[6]=b,e[7]=S);let C;e[8]!==l.isPending||e[9]!==_||e[10]!==S?(C=(0,K.jsx)(k,{render:(0,K.jsx)(m,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:_,disabled:v,"aria-label":`Rescan server environment`,children:S})}),e[8]=l.isPending,e[9]=_,e[10]=S,e[11]=C):C=e[11];let w;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,K.jsx)(ee,{side:`top`,children:`Rescan Git and hosting integrations`}),e[12]=w):w=e[12];let T;e[13]===C?T=e[14]:(T=(0,K.jsxs)(te,{children:[C,w]}),e[13]=C,e[14]=T);let E=T;if(h){let t;e[15]===E?t=e[16]:(t=(0,K.jsx)(ge,{title:`Version Control`,headerAction:E}),e[15]=E,e[16]=t);let n;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,K.jsx)(ge,{title:`Source Control Providers`}),e[17]=n):n=e[17];let r;return e[18]===t?r=e[19]:(r=(0,K.jsxs)(U,{children:[t,n]}),e[18]=t,e[19]=r),r}let D=f.versionControlSystems.length>0,O=f.sourceControlProviders.length>0,A=D||O,M;e[20]===t?M=e[21]:(M=t===`all`&&(0,K.jsx)(j,{}),e[20]=t,e[21]=M);let N;e[22]!==l.isPending||e[23]!==o||e[24]!==_||e[25]!==A?(N=A?null:(0,K.jsxs)(H,{title:`Source Control Providers`,children:[(0,K.jsxs)(V,{className:`min-h-56 border-t border-border/60 first:border-t-0`,children:[(0,K.jsxs)(R,{children:[(0,K.jsx)(ne,{variant:`icon`,children:(0,K.jsx)(x,{className:`size-4`})}),(0,K.jsx)(B,{children:`Nothing detected yet`}),(0,K.jsx)(re,{children:`Install Git on the server, add optional hosting integrations or credentials your workspace needs, then rescan.`})]}),(0,K.jsx)(z,{children:(0,K.jsxs)(m,{type:`button`,size:`xs`,onClick:_,disabled:l.isPending,children:[(0,K.jsx)(P,{className:c(`size-3`,l.isPending&&`animate-spin`)}),`Scan`]})})]}),(0,K.jsx)(xe,{environmentId:o})]}),e[22]=l.isPending,e[23]=o,e[24]=_,e[25]=A,e[26]=N):N=e[26];let F;e[27]!==D||e[28]!==f.versionControlSystems||e[29]!==E?(F=D?(0,K.jsx)(H,{title:`Version Control`,headerAction:E,children:f.versionControlSystems.map(Z)}):null,e[27]=D,e[28]=f.versionControlSystems,e[29]=E,e[30]=F):F=e[30];let I;e[31]!==l.error||e[32]!==o||e[33]!==A||e[34]!==O||e[35]!==D||e[36]!==f.sourceControlProviders||e[37]!==E?(I=A?(0,K.jsxs)(H,{title:`Source Control Providers`,headerAction:D?null:E,children:[O?f.sourceControlProviders.map(Ee):(0,K.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3.5 first:border-t-0 sm:px-5`,children:(0,K.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:l.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,K.jsx)(xe,{environmentId:o})]}):null,e[31]=l.error,e[32]=o,e[33]=A,e[34]=O,e[35]=D,e[36]=f.sourceControlProviders,e[37]=E,e[38]=I):I=e[38];let L;return e[39]!==N||e[40]!==F||e[41]!==I||e[42]!==M?(L=(0,K.jsxs)(U,{children:[M,N,F,I]}),e[39]=N,e[40]=F,e[41]=I,e[42]=M,e[43]=L):L=e[43],L}function Ee(e){return(0,K.jsx)(he,{item:e},`provider:${e.kind}`)}function Z(e){return(0,K.jsx)(he,{item:e},`vcs:${e.kind}`)}export{X as SourceControlSettingsPanel};
|