ryco-cli 0.1.22 → 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ClaudeDriver-D7NatUx6.cjs → ClaudeDriver-B7mbf51W.cjs} +1 -1
- package/dist/{ClaudeDriver-D65SPdHR.mjs → ClaudeDriver-C4yu7Jit.mjs} +1 -1
- package/dist/{CodexDriver-DWGtHt9r.cjs → CodexDriver-CR0S17Lb.cjs} +2 -2
- package/dist/{CodexDriver-D4z5-wUD.mjs → CodexDriver-DnnqkGoY.mjs} +2 -2
- package/dist/{CodexTextGeneration-BikHow8k.mjs → CodexTextGeneration-Cw-FZbSS.mjs} +1 -1
- package/dist/{CodexTextGeneration-B4tJTUDo.cjs → CodexTextGeneration-tlfe1S5W.cjs} +1 -1
- package/dist/{CopilotDriver-ZvvsAIkd.mjs → CopilotDriver-GxKLX5pL.mjs} +2 -2
- package/dist/{CopilotDriver-DJvYncGI.cjs → CopilotDriver-IBd27Ji2.cjs} +2 -2
- package/dist/{CursorDriver-D3I4KULs.cjs → CursorDriver-C4Enoe9N.cjs} +1 -1
- package/dist/{CursorDriver-B1QSBzuH.mjs → CursorDriver-CNo9Uzo8.mjs} +1 -1
- package/dist/{GrokDriver-DgQe3pKz.mjs → GrokDriver-DSPEmiwq.mjs} +1 -1
- package/dist/{GrokDriver-_puXDTU3.cjs → GrokDriver-RyyFeh_q.cjs} +1 -1
- package/dist/{Metrics-DIjMQ5pa.cjs → Metrics-Bcb9vCAe.cjs} +21 -15
- package/dist/{Metrics-BP9YjxZB.mjs → Metrics-a1h4iBQi.mjs} +21 -15
- package/dist/{OpenCodeDriver-DNUlF8M-.mjs → OpenCodeDriver-0q44rSQX.mjs} +1 -1
- package/dist/{OpenCodeDriver-401RexI0.cjs → OpenCodeDriver-CDcvPT9v.cjs} +1 -1
- package/dist/bin.cjs +337 -123
- package/dist/bin.mjs +339 -125
- package/dist/client/assets/AccountSettings-ApnDA1f-.js +1 -0
- package/dist/client/assets/AiFocusSettings-CNmGHEcA.js +1 -0
- package/dist/client/assets/{AnimatedHeight-DKCe4x_Q.js → AnimatedHeight-i0YhvlGD.js} +1 -1
- package/dist/client/assets/AppearanceSettings-BG8W4DP0.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-AgPy06Mx.js +1 -0
- package/dist/client/assets/BrowserPanel-BWztlNuL.js +1 -0
- package/dist/client/assets/ChatRightPanel-a6UOHNMm.js +194 -0
- package/dist/client/assets/ChatThreadRouteView-CWoBLzR_.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-B2iKWCUi.js +1 -0
- package/dist/client/assets/CompositeRoot-C1G-Ejus.js +1 -0
- package/dist/client/assets/ComputerUseSettings-CPwWoHWj.js +1 -0
- package/dist/client/assets/ConnectionsSettings-CPMkuxza.js +7 -0
- package/dist/client/assets/ContextHandoffEndpointLabel-BildLLDY.js +4 -0
- package/dist/client/assets/DiagnosticsSettings-DvnNz2AZ.js +2 -0
- package/dist/client/assets/DialogHandle-8o3kfoiI.js +1 -0
- package/dist/client/assets/DialogPopup-CLw6NCkW.js +1 -0
- package/dist/client/assets/DialogRoot-SKkIuQHA.js +1 -0
- package/dist/client/assets/DialogTitle-DCHX74Tz.js +1 -0
- package/dist/client/assets/DialogTrigger-Bl_fcIV2.js +1 -0
- package/dist/client/assets/DialogViewport-DVDl03yd.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-CEDYjbKq.js +1 -0
- package/dist/client/assets/{ExternalIdentityWeb.logic-CGJKCFPo.js → ExternalIdentityWeb.logic-arHvT6AX.js} +1 -1
- package/dist/client/assets/GlassSurface-GY6owikG.js +1 -0
- package/dist/client/assets/HostedConnectionControls-COUhSe9x.js +1 -0
- package/dist/client/assets/HostedHubRoot-BTWc0XoQ.js +2 -0
- package/dist/client/assets/HostedNativeAuthorizationRoute-DZhYxv--.js +2 -0
- package/dist/client/assets/HostedRelayTrustNotice-Bl6On0Yi.js +1 -0
- package/dist/client/assets/IntegrationsSettingsPanel-n9owMZf-.js +2 -0
- package/dist/client/assets/KeybindingsSettings-CPtXx-W2.js +7 -0
- package/dist/client/assets/LazyBrowserPanel-SUIBB7B4.js +2 -0
- package/dist/client/assets/McpServersSettings-BWIUud0Z.js +6 -0
- package/dist/client/assets/MobileSheet-NTayGHF6.js +1 -0
- package/dist/client/assets/NodeSecuritySettings-BFifrshE.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-D7WuuNWZ.js +1 -0
- package/dist/client/assets/PhoneGetAppInterstitial-R0cqI17q.js +1 -0
- package/dist/client/assets/PhoneHome-FqWvnJP_.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-w5PJnoBc.js +2 -0
- package/dist/client/assets/ProviderModelPicker-dwWhl7Uf.js +1 -0
- package/dist/client/assets/ProvidersSettingsPanel-Ww1ch3xA.js +1 -0
- package/dist/client/assets/QuitShortcutFeedback-CklL3jMd.js +1 -0
- package/dist/client/assets/RedactedSensitiveText-CLPBtvH1.js +1 -0
- package/dist/client/assets/RootAppShell-BdQCs2XJ.js +7 -0
- package/dist/client/assets/Separator-CpYBhf-I.js +1 -0
- package/dist/client/assets/SettingsDialog-DeMzEeCP.js +2 -0
- package/dist/client/assets/SettingsPanels-ZxNz9ZfL.js +3 -0
- package/dist/client/assets/SettingsPanels.editor-9pSZP875.js +1 -0
- package/dist/client/assets/SourceControlSettings-C1F3Brcn.js +1 -0
- package/dist/client/assets/StatisticsPage-C7v-6CTr.js +1 -0
- package/dist/client/assets/StatisticsPanel-CeIjiBm8.js +1 -0
- package/dist/client/assets/StatisticsSettingsLink-5s_violW.js +1 -0
- package/dist/client/assets/ThreadTerminalDrawer-CHZ60lPI.js +18 -0
- package/dist/client/assets/ThreadWorkspacePanel-Ct5kMcuY.js +2073 -0
- package/dist/client/assets/actionscript-3-Cs6JJXT5.js +1 -0
- package/dist/client/assets/activity-BMBx2Fu0.js +1 -0
- package/dist/client/assets/ahk-CA9gdOdF.js +1 -0
- package/dist/client/assets/ahk2-_6rzW9BS.js +1 -0
- package/dist/client/assets/alert-CXnC_RJc.js +1 -0
- package/dist/client/assets/apex-KFGFyKwG.js +1 -0
- package/dist/client/assets/{appChrome-CJauXpqv.js → appChrome-BzM66lXM.js} +1 -1
- package/dist/client/assets/appearancePreferences-nFx4MHoI.js +1 -0
- package/dist/client/assets/arrow-left-CymyVbCi.js +1 -0
- package/dist/client/assets/arrow-right-9wyq4YVq.js +1 -0
- package/dist/client/assets/arrow-up-right-mfU38K6p.js +1 -0
- package/dist/client/assets/asciidoc-SCjQUq34.js +1 -0
- package/dist/client/assets/authorization-CjOFkg7b.js +1 -0
- package/dist/client/assets/badge-Dg7mXiOh.js +1 -0
- package/dist/client/assets/{bat-Bo4NYOV-.js → bat-qdxAdBWQ.js} +1 -1
- package/dist/client/assets/bird2-CYIUgYqB.js +1 -0
- package/dist/client/assets/bot-BR3RyOWP.js +1 -0
- package/dist/client/assets/bsl-_VjlB9mv.js +1 -0
- package/dist/client/assets/c3-D0apG41V.js +1 -0
- package/dist/client/assets/{capabilities-D6bsjqkj.js → capabilities-C8sxDbKT.js} +1 -1
- package/dist/client/assets/chapel-B4wvmE90.js +1 -0
- package/dist/client/assets/chart-column-CcRi3pAd.js +1 -0
- package/dist/client/assets/chevron-right-CuUjBsQV.js +1 -0
- package/dist/client/assets/clarity-CtfBBspg.js +1 -0
- package/dist/client/assets/clipboard-copy-ezz8rnaT.js +1 -0
- package/dist/client/assets/coq-DuBRPxYg.js +1 -0
- package/dist/client/assets/cpp-C3nXdf7H.js +1 -0
- package/dist/client/assets/data-list-ZLhzdlED.js +1 -0
- package/dist/client/assets/{desktopWorkspace-8s8rm3zL.js → desktopWorkspace-P28r2lN2.js} +1 -1
- package/dist/client/assets/download-BA9L9tK9.js +1 -0
- package/dist/client/assets/editorPreferences-DeKdSV3s.js +1 -0
- package/dist/client/assets/emacs-lisp-c_oH4hRZ.js +1 -0
- package/dist/client/assets/empty-3NpXLnAM.js +1 -0
- package/dist/client/assets/{erb-UQla4w8B.js → erb-CXyXxaAM.js} +1 -1
- package/dist/client/assets/{gdresource-C0sCabJj.js → gdresource-xMC7jr7x.js} +1 -1
- package/dist/client/assets/gdscript-DYvRD3hg.js +1 -0
- package/dist/client/assets/group-D5qBdsaB.js +1 -0
- package/dist/client/assets/hack-Bw3mo9za.js +1 -0
- package/dist/client/assets/haxe-C8oCnwJJ.js +1 -0
- package/dist/client/assets/hostedConnectionCoordinator-CLV-JD1S.js +1 -0
- package/dist/client/assets/{hostedPairing-PogXRAb7.js → hostedPairing-B_ylEEDa.js} +1 -1
- package/dist/client/assets/hubRoutes-EWJ3Gdod.js +1 -0
- package/dist/client/assets/hxml-Dcm88srW.js +1 -0
- package/dist/client/assets/{index-DRY8Hgrj.js → index-DxCd1PgA.js} +2 -2
- package/dist/client/assets/input-DrOL1KPS.js +1 -0
- package/dist/client/assets/{julia-DTmLe4fA.js → julia-C-lBeOK5.js} +1 -1
- package/dist/client/assets/{just-CPUGe9J1.js → just-DfEtguTY.js} +1 -1
- package/dist/client/assets/kbd-rWDjJnWX.js +1 -0
- package/dist/client/assets/key-round-D2DtQ7aS.js +1 -0
- package/dist/client/assets/latex-6oxeCMbP.js +1 -0
- package/dist/client/assets/layers-DtSJWmwy.js +1 -0
- package/dist/client/assets/{liquidGlass-yFkZrRk5.js → liquidGlass-Dbl4k51l.js} +1 -1
- package/dist/client/assets/{llvm-Cm23YOpf.js → llvm-DqHOMS-s.js} +1 -1
- package/dist/client/assets/log-out-YAp9fsOg.js +1 -0
- package/dist/client/assets/{logging-Y73f240E.js → logging-BuUPX1SP.js} +1 -1
- package/dist/client/assets/luau-C2pBCSgt.js +1 -0
- package/dist/client/assets/main-BbtLAX7M.js +9 -0
- package/dist/client/assets/main-D4CtFNPY.css +2 -0
- package/dist/client/assets/mdc-uTSeACfH.js +1 -0
- package/dist/client/assets/mermaid-BxpfTIzt.js +1 -0
- package/dist/client/assets/mojo-fg40_ntQ.js +1 -0
- package/dist/client/assets/monitor-OyD484tI.js +1 -0
- package/dist/client/assets/moonbit-DgjMoLWr.js +1 -0
- package/dist/client/assets/move-BYnGhZoM.js +1 -0
- package/dist/client/assets/nsis-CjNLYCLg.js +1 -0
- package/dist/client/assets/nushell-DHYfO66s.js +1 -0
- package/dist/client/assets/org-DRYqs_wo.js +1 -0
- package/dist/client/assets/palette-D18VboLH.js +1 -0
- package/dist/client/assets/play-d3KUi4G6.js +1 -0
- package/dist/client/assets/{powershell-DshXNtvi.js → powershell-CCSX75yM.js} +1 -1
- package/dist/client/assets/primary-D_D7eLwT.js +2 -0
- package/dist/client/assets/prisma-DMgNhnYS.js +1 -0
- package/dist/client/assets/providerDriverMeta-DNTocCcU.js +1 -0
- package/dist/client/assets/providerModels-bFbEIfL9.js +1 -0
- package/dist/client/assets/{qr-code-BKrwYZ2s.js → qr-code-Bk1kdf_k.js} +1 -1
- package/dist/client/assets/qr-code-MAZkoKtL.js +1 -0
- package/dist/client/assets/r-B-BYV2IP.js +1 -0
- package/dist/client/assets/radio-group-D-VCGinX.js +2 -0
- package/dist/client/assets/rbs-C0MpOrj4.js +1 -0
- package/dist/client/assets/refresh-cw-DY3_Ph-S.js +1 -0
- package/dist/client/assets/{rst-C90_EUa_.js → rst-DKqX_39h.js} +1 -1
- package/dist/client/assets/{ruby-BlGyFGAQ.js → ruby-CaU3RLfE.js} +1 -1
- package/dist/client/assets/runtime-Djy96GJd.js +17 -0
- package/dist/client/assets/save-ugJXuJRM.js +1 -0
- package/dist/client/assets/{scala-DKOlJaKm.js → scala-BiFt_7mu.js} +1 -1
- package/dist/client/assets/scroll-area-BMnGzd2a.js +1 -0
- package/dist/client/assets/scrollEdges-QLSFwGSQ.js +1 -0
- package/dist/client/assets/separator-BwUYkCkX.js +1 -0
- package/dist/client/assets/settingsLayout-C6SUmJVB.js +1 -0
- package/dist/client/assets/sheet-DLy4aeVa.js +1 -0
- package/dist/client/assets/shield-Zq_ygsnJ.js +1 -0
- package/dist/client/assets/shield-alert-DfUhTI4-.js +1 -0
- package/dist/client/assets/shield-check-CO4SMhAs.js +1 -0
- package/dist/client/assets/sidebar-DNnW-a2V.js +1 -0
- package/dist/client/assets/sidebarProjectFolders-ygpaKZM6.js +4 -0
- package/dist/client/assets/sidebarStatusText-CawrXnx0.js +1 -0
- package/dist/client/assets/skeleton-DRm4_OvB.js +1 -0
- package/dist/client/assets/smalltalk-BHpQb5nM.js +1 -0
- package/dist/client/assets/smartphone-O2VACDhU.js +1 -0
- package/dist/client/assets/smithy-Dgaz7aur.js +1 -0
- package/dist/client/assets/solidity-Bj7E1mRn.js +1 -0
- package/dist/client/assets/sparkles-isHutYWU.js +1 -0
- package/dist/client/assets/src-BSuAGqhK.js +14 -0
- package/dist/client/assets/star-7UHEnC3x.js +1 -0
- package/dist/client/assets/surrealql-CVtmRpY6.js +1 -0
- package/dist/client/assets/swift-CyEgAFGc.js +1 -0
- package/dist/client/assets/switch-DD1qVLgN.js +48 -0
- package/dist/client/assets/system-verilog-Dh5ihWbf.js +1 -0
- package/dist/client/assets/tex-DOBpnpUK.js +1 -0
- package/dist/client/assets/toggle-CaKBNe6W.js +1 -0
- package/dist/client/assets/toggle-group-UeFeTI3u.js +1 -0
- package/dist/client/assets/tokenModePresentation-DV56ekA4.js +1 -0
- package/dist/client/assets/tooltip-DXvXxL37.js +1 -0
- package/dist/client/assets/twig-DsmcR2eZ.js +1 -0
- package/dist/client/assets/typst-Drab9wKO.js +1 -0
- package/dist/client/assets/unplug-DisTpujT.js +1 -0
- package/dist/client/assets/useAppSidebarCollapsed-CaAsLi1q.js +1 -0
- package/dist/client/assets/useAppearancePreference-BteoFdGa.js +1 -0
- package/dist/client/assets/useBaseUiId-CJN4MvrU.js +1 -0
- package/dist/client/assets/{useControlled-HocCF1v9.js → useControlled-DQwgzrEC.js} +1 -1
- package/dist/client/assets/useLabelableId-BsDFG9Oj.js +1 -0
- package/dist/client/assets/{useLongPress-OGlhYKlH.js → useLongPress-DG1W7YqV.js} +1 -1
- package/dist/client/assets/useNavigate-cLfxn_9L.js +1 -0
- package/dist/client/assets/usePhoneThreadActions-rekHL1Mi.js +1 -0
- package/dist/client/assets/usePopupViewport-kXU31P6l.js +1 -0
- package/dist/client/assets/useScrollLock-DjMxrUJe.js +1 -0
- package/dist/client/assets/useStatistics-BYP-9CmW.js +55 -0
- package/dist/client/assets/{useTheme-By1kfyiU.js → useTheme-CVNauCtz.js} +1 -1
- package/dist/client/assets/useTriggerFocusGuards-DuAm2B8C.js +1 -0
- package/dist/client/assets/useValueChanged-DreFjrMK.js +1 -0
- package/dist/client/assets/user-round-DctamWV6.js +1 -0
- package/dist/client/assets/{v-DETTlOr0.js → v-DBj4K9d_.js} +1 -1
- package/dist/client/assets/{vb-Djn5o6TS.js → vb-DOwzaHZ0.js} +1 -1
- package/dist/client/assets/verilog-B2gwz-sJ.js +1 -0
- package/dist/client/assets/vscode-icons-Dw-LGJAv.js +1 -0
- package/dist/client/assets/{vue-DStD_OmO.js → vue-Dt-rrFdH.js} +1 -1
- package/dist/client/assets/worker-Bs0l0ezO.js +162 -0
- package/dist/client/assets/{workspaceMetadataProjection-D3vqw40g.js → workspaceMetadataProjection-BL4sEIL2.js} +1 -1
- package/dist/client/assets/wrench-Ds8eZerZ.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/client/mockServiceWorker.js +124 -99
- package/dist/resource-monitor/darwin-arm64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/darwin-x64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/linux-arm64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/linux-x64/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor +0 -0
- package/dist/resource-monitor/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-arm64/ryco-resource-monitor.exe +0 -0
- package/dist/resource-monitor/win32-x64/ryco-resource-monitor.exe +0 -0
- package/package.json +20 -12
- package/dist/client/assets/AccountSettings-CypheYqM.js +0 -1
- package/dist/client/assets/AiFocusSettings-BlX0ED1t.js +0 -1
- package/dist/client/assets/AppearanceSettings-BSyn6NXf.js +0 -1
- package/dist/client/assets/BranchToolbar.logic-fpBz8Ajj.js +0 -1
- package/dist/client/assets/BrowserPanel-BWch19QH.js +0 -1
- package/dist/client/assets/ChatRightPanel-B7yrq-hS.js +0 -27
- package/dist/client/assets/ChatThreadRouteView-Cg0d_EHs.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-DImCuPaX.js +0 -1
- package/dist/client/assets/CompositeItem-BYnHWRNf.js +0 -1
- package/dist/client/assets/CompositeRoot-B28uivk7.js +0 -1
- package/dist/client/assets/ComputerUseSettings-CosW7jaG.js +0 -1
- package/dist/client/assets/ConnectionsSettings-Bk6vI3G-.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-BR6ygaub.js +0 -4
- package/dist/client/assets/DiagnosticsSettings-Dp_tCNLw.js +0 -2
- package/dist/client/assets/DialogHandle-BN-QB-sO.js +0 -1
- package/dist/client/assets/DialogPopup-BuJs5WUt.js +0 -1
- package/dist/client/assets/DialogRoot-PxEcoecQ.js +0 -1
- package/dist/client/assets/DialogTitle-4nxQsra4.js +0 -1
- package/dist/client/assets/DialogTrigger-D_0canul.js +0 -1
- package/dist/client/assets/DialogViewport-DSo-2hyf.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-C94kpMx4.js +0 -1
- package/dist/client/assets/GlassSurface-CyOTUS7E.js +0 -1
- package/dist/client/assets/HostedConnectionControls-CL0Ws4ca.js +0 -1
- package/dist/client/assets/HostedHubRoot-LUINZl4r.js +0 -1
- package/dist/client/assets/HostedNativeAuthorizationRoute-CgYVBE6N.js +0 -1
- package/dist/client/assets/HostedRelayTrustNotice-DgdeZh52.js +0 -1
- package/dist/client/assets/Icons-BIUbIFr7.js +0 -1
- package/dist/client/assets/IntegrationsSettingsPanel-B7tXTaa3.js +0 -1
- package/dist/client/assets/KeybindingsSettings-HMlRcGQ4.js +0 -7
- package/dist/client/assets/LazyBrowserPanel-CKfmuM9U.js +0 -1
- package/dist/client/assets/McpServersSettings-Bq-HyhvC.js +0 -6
- package/dist/client/assets/MobileSheet-acDRH9aa.js +0 -1
- package/dist/client/assets/NoActiveThreadState-7rym7bV7.js +0 -1
- package/dist/client/assets/NodeSecuritySettings-D8qjh4Dc.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-D7Uks5yR.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitial-BQXUSufH.js +0 -1
- package/dist/client/assets/PhoneGetAppInterstitialBackdrop-BbUvwGmI.js +0 -1
- package/dist/client/assets/PhoneHome-DvgdMTkh.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-DncJ540i.js +0 -1
- package/dist/client/assets/ProjectFavicon-BY5Vyyk6.js +0 -1
- package/dist/client/assets/ProviderInstanceIcon-CZe1TbeC.js +0 -1
- package/dist/client/assets/ProviderModelPicker-DHAY1n_1.js +0 -1
- package/dist/client/assets/ProviderUpdateLaunchNotification.logic-DQJVrUIo.js +0 -1
- package/dist/client/assets/ProvidersSettingsPanel-BylxZs4S.js +0 -1
- package/dist/client/assets/RedactedSensitiveText-D-enj1h5.js +0 -1
- package/dist/client/assets/RootAppShell-DBK0WW2b.js +0 -6
- package/dist/client/assets/RycoLetterMark-PnGm6TQY.js +0 -1
- package/dist/client/assets/Separator-BWKYMFqt.js +0 -1
- package/dist/client/assets/SettingsDialog-N25hIv-a.js +0 -1
- package/dist/client/assets/SettingsPanels-D9YXmUPP.js +0 -3
- package/dist/client/assets/SettingsPanels.editor-Cn18k74l.js +0 -1
- package/dist/client/assets/SourceControlSettings-BAzSpMfR.js +0 -1
- package/dist/client/assets/StatisticsPage-CLKpfsQ8.js +0 -1
- package/dist/client/assets/StatisticsPanel-DxHUFn64.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-B3HIQYFh.js +0 -1
- package/dist/client/assets/ThreadStatusIndicators-CQZ_OgY8.js +0 -0
- package/dist/client/assets/ThreadTerminalDrawer-D1SPewXR.js +0 -20
- package/dist/client/assets/ThreadWorkspacePanel-DVF6oZsV.js +0 -2009
- package/dist/client/assets/ToolbarRootContext-Dt8G5aCw.js +0 -1
- package/dist/client/assets/WorkItemsTab-BoE-TcXJ.js +0 -19
- package/dist/client/assets/actionscript-3--17pq3dv.js +0 -1
- package/dist/client/assets/activity-DfFM6I8A.js +0 -1
- package/dist/client/assets/alert-DE5SkZhr.js +0 -1
- package/dist/client/assets/alert-dialog-BqPnPhb6.js +0 -1
- package/dist/client/assets/andromeeda-WkhI09AS.js +0 -1
- package/dist/client/assets/apex-VAyPSnFM.js +0 -1
- package/dist/client/assets/appearancePreferences-BhNRCg6W.js +0 -1
- package/dist/client/assets/archive-BFV4YQ7D.js +0 -1
- package/dist/client/assets/arrow-left-CCmICk1t.js +0 -1
- package/dist/client/assets/arrow-right-Z3Eay6Fd.js +0 -1
- package/dist/client/assets/arrow-up-caak6P06.js +0 -1
- package/dist/client/assets/arrow-up-right-BwC-fCE4.js +0 -1
- package/dist/client/assets/asciidoc-DE70LPWp.js +0 -1
- package/dist/client/assets/aurora-x-C7CFqhAd.js +0 -1
- package/dist/client/assets/authorization-bHsGYIT0.js +0 -1
- package/dist/client/assets/ayu-dark-CRu61w6_.js +0 -1
- package/dist/client/assets/ayu-light-Dn6O_aYR.js +0 -1
- package/dist/client/assets/ayu-mirage-CTjYAbs-.js +0 -1
- package/dist/client/assets/badge-m9kM3P07.js +0 -1
- package/dist/client/assets/bird2-C6vDhewU.js +0 -1
- package/dist/client/assets/bot-Cv7a7Ksf.js +0 -1
- package/dist/client/assets/bsl-BkkzgIyY.js +0 -1
- package/dist/client/assets/button-B6xQZNKz.js +0 -1
- package/dist/client/assets/c3-BFHwR3_K.js +0 -1
- package/dist/client/assets/catppuccin-frappe-3VR1Za6u.js +0 -1
- package/dist/client/assets/catppuccin-latte-DwIHMF0Q.js +0 -1
- package/dist/client/assets/catppuccin-macchiato-DYnBP6_5.js +0 -1
- package/dist/client/assets/catppuccin-mocha-DYhrFGRu.js +0 -1
- package/dist/client/assets/chart-column-DgGlY4sD.js +0 -1
- package/dist/client/assets/chatThreadActions-BXaNbPbp.js +0 -1
- package/dist/client/assets/check-BfnWUGBT.js +0 -1
- package/dist/client/assets/chevron-down-B_FKCRVh.js +0 -1
- package/dist/client/assets/chevron-right-B6CKNGh4.js +0 -1
- package/dist/client/assets/circle-alert-BV3vJE-c.js +0 -1
- package/dist/client/assets/circle-check-D2Vx39x-.js +0 -1
- package/dist/client/assets/circle-dashed-khcA8K3Y.js +0 -1
- package/dist/client/assets/circle-question-mark-DEuLdOiy.js +0 -1
- package/dist/client/assets/circle-x-DqfM_2wS.js +0 -1
- package/dist/client/assets/clamp-D0kAXd-u.js +0 -1
- package/dist/client/assets/clarity-SemFz856.js +0 -1
- package/dist/client/assets/clipboard-copy-CiD4tBsh.js +0 -1
- package/dist/client/assets/clock--4M7moiV.js +0 -1
- package/dist/client/assets/clock-3-NbnQqtcd.js +0 -1
- package/dist/client/assets/collapsible-BECg-ssO.js +0 -1
- package/dist/client/assets/command-DvbA3O0J.js +0 -1
- package/dist/client/assets/composerHandleContext-BrQ6d8r9.js +0 -1
- package/dist/client/assets/copy-CkPe1c-r.js +0 -1
- package/dist/client/assets/coq-BrsZFFmf.js +0 -1
- package/dist/client/assets/cpp-nUc1dxUX.js +0 -1
- package/dist/client/assets/dark-plus-GAt2ZgX8.js +0 -1
- package/dist/client/assets/data-list-7TiaqfZU.js +0 -1
- package/dist/client/assets/desktopUpdateAtoms-6j0d8vfy.js +0 -1
- package/dist/client/assets/device-CGaJ6fwD.js +0 -168
- package/dist/client/assets/dialog-C9v8Zl6e.js +0 -1
- package/dist/client/assets/download-DPjzVxTa.js +0 -1
- package/dist/client/assets/dracula-C2uKkzgK.js +0 -1
- package/dist/client/assets/dracula-soft-D1bVjxWZ.js +0 -1
- package/dist/client/assets/draft-input-BRSLIjV6.js +0 -1
- package/dist/client/assets/editorPreferences-D-9SDgRM.js +0 -1
- package/dist/client/assets/emacs-lisp-B4R74twV.js +0 -1
- package/dist/client/assets/empty-CuQ57p2u.js +0 -1
- package/dist/client/assets/everforest-dark-D-DlICQR.js +0 -1
- package/dist/client/assets/everforest-light-CeVdGHYG.js +0 -1
- package/dist/client/assets/external-link-CF9EzT-A.js +0 -1
- package/dist/client/assets/eye-C2Puut9B.js +0 -1
- package/dist/client/assets/folder-BKTxLq18.js +0 -1
- package/dist/client/assets/folder-closed-D2cwiusg.js +0 -1
- package/dist/client/assets/gdscript-Cp2uCuqX.js +0 -1
- package/dist/client/assets/getPseudoElementBounds-DdH76YK5.js +0 -1
- package/dist/client/assets/git-branch-Dauy2SWC.js +0 -1
- package/dist/client/assets/git-pull-request-DsK1gBtK.js +0 -1
- package/dist/client/assets/github-dark-DwbbXv51.js +0 -1
- package/dist/client/assets/github-dark-default-CxjRwzl6.js +0 -1
- package/dist/client/assets/github-dark-dimmed-Cr1oaoul.js +0 -1
- package/dist/client/assets/github-dark-high-contrast-B4qJZLZa.js +0 -1
- package/dist/client/assets/github-light-CsVXhIlR.js +0 -1
- package/dist/client/assets/github-light-default-DB_IwZa6.js +0 -1
- package/dist/client/assets/github-light-high-contrast-DLgVeSB-.js +0 -1
- package/dist/client/assets/globe-dS40wBdE.js +0 -1
- package/dist/client/assets/group-DBXm8riE.js +0 -1
- package/dist/client/assets/gruvbox-dark-hard-DXm60lX3.js +0 -1
- package/dist/client/assets/gruvbox-dark-medium-GE2thSmD.js +0 -1
- package/dist/client/assets/gruvbox-dark-soft-04Cj-4VZ.js +0 -1
- package/dist/client/assets/gruvbox-light-hard-K6wSn29D.js +0 -1
- package/dist/client/assets/gruvbox-light-medium-CVy3aSlc.js +0 -1
- package/dist/client/assets/gruvbox-light-soft-DNgJjaY0.js +0 -1
- package/dist/client/assets/hack-Vy6VBrBk.js +0 -1
- package/dist/client/assets/haxe-OTjmBuCE.js +0 -1
- package/dist/client/assets/horizon-0-RkHfro.js +0 -1
- package/dist/client/assets/horizon-bright-BgL2X9oq.js +0 -1
- package/dist/client/assets/hostedConnectionCoordinator-DSMW2Ldh.js +0 -1
- package/dist/client/assets/houston-KyjWKfuY.js +0 -1
- package/dist/client/assets/hxml-B0Qn7Nwc.js +0 -1
- package/dist/client/assets/input-Dn_zesdZ.js +0 -1
- package/dist/client/assets/isElementDisabled-KSuuBj8D.js +0 -1
- package/dist/client/assets/kanagawa-dragon-CXtmUGW6.js +0 -1
- package/dist/client/assets/kanagawa-lotus-BN08jTvb.js +0 -1
- package/dist/client/assets/kanagawa-wave-CTweb8Dz.js +0 -1
- package/dist/client/assets/kbd-BF2-WlxQ.js +0 -1
- package/dist/client/assets/key-round-BjaaL9Df.js +0 -1
- package/dist/client/assets/keybindings-FSJY3Tht.js +0 -1
- package/dist/client/assets/keyboard-AkUFPD_e.js +0 -1
- package/dist/client/assets/label-BKjVY2A9.js +0 -1
- package/dist/client/assets/laserwave-CQkdhozh.js +0 -1
- package/dist/client/assets/latex-UxGGx4RW.js +0 -1
- package/dist/client/assets/layers-tzRiuxSx.js +0 -1
- package/dist/client/assets/lib-D5cyGc84.js +0 -29
- package/dist/client/assets/light-plus-CNQ8_7Y0.js +0 -1
- package/dist/client/assets/loader-BrbWRz3I.js +0 -1
- package/dist/client/assets/loader-circle-DRKbHQst.js +0 -1
- package/dist/client/assets/log-out-BEihaal1.js +0 -1
- package/dist/client/assets/luau-FMPmPwt6.js +0 -1
- package/dist/client/assets/main-BiIQEybS.js +0 -9
- package/dist/client/assets/main-tZWU6iqX.css +0 -2
- package/dist/client/assets/material-theme-CAtLaHa3.js +0 -1
- package/dist/client/assets/material-theme-darker-k-s5Bc6K.js +0 -1
- package/dist/client/assets/material-theme-lighter-CD6a-c4d.js +0 -1
- package/dist/client/assets/material-theme-ocean-B3mraInd.js +0 -1
- package/dist/client/assets/material-theme-palenight-DEhAARHw.js +0 -1
- package/dist/client/assets/mdc-OfbQwt23.js +0 -1
- package/dist/client/assets/menu-BxtB33Up.js +0 -1
- package/dist/client/assets/mermaid-Bk4SNUv9.js +0 -1
- package/dist/client/assets/messages-square-e0Zg750i.js +0 -1
- package/dist/client/assets/min-dark-BFqTAwCr.js +0 -1
- package/dist/client/assets/min-light-O7UdaaxX.js +0 -1
- package/dist/client/assets/minimize-2-DC9gMgGl.js +0 -1
- package/dist/client/assets/mojo-BgCJLMeH.js +0 -1
- package/dist/client/assets/monitor-Dj0JFj4_.js +0 -1
- package/dist/client/assets/monokai-CdkpiU2Y.js +0 -1
- package/dist/client/assets/moonbit-CaWjb8XO.js +0 -1
- package/dist/client/assets/motion-thOBhZyM.js +0 -1
- package/dist/client/assets/move-B1IS1UjX.js +0 -1
- package/dist/client/assets/night-owl-BsnCLAKc.js +0 -1
- package/dist/client/assets/night-owl-light-BODRhcTU.js +0 -1
- package/dist/client/assets/nord-Cd-F4txO.js +0 -1
- package/dist/client/assets/nushell-DcLAeLz5.js +0 -1
- package/dist/client/assets/one-dark-pro-DUS_IGRK.js +0 -1
- package/dist/client/assets/one-light-CVUd7yD5.js +0 -1
- package/dist/client/assets/palette-0qvNt1CR.js +0 -1
- package/dist/client/assets/pathEntry-BR9vr7Ug.js +0 -1
- package/dist/client/assets/pencil-CA0DGufX.js +0 -1
- package/dist/client/assets/phoneAnchoredActions-CtpkI3yG.js +0 -1
- package/dist/client/assets/plastic-CF8VZTnn.js +0 -1
- package/dist/client/assets/play-wIyvqd_g.js +0 -1
- package/dist/client/assets/plus-5kH13lqq.js +0 -1
- package/dist/client/assets/poimandres-BX2TyY6j.js +0 -1
- package/dist/client/assets/popover-CwhgX3HA.js +0 -1
- package/dist/client/assets/primary-BqnEJHWx.js +0 -2
- package/dist/client/assets/prisma-BsRQq5mF.js +0 -1
- package/dist/client/assets/projectPaths-45WPhgoj.js +0 -1
- package/dist/client/assets/providerDriverMeta-Cc60r9Rb.js +0 -1
- package/dist/client/assets/providerInstances-Cr8JmFCe.js +0 -1
- package/dist/client/assets/providerModels-Cr8JmFCe.js +0 -1
- package/dist/client/assets/qr-code-DDmpRnPp.js +0 -1
- package/dist/client/assets/r-DbaFp5Gj.js +0 -1
- package/dist/client/assets/radio-group-DZCo21CF.js +0 -2
- package/dist/client/assets/react-dom-x9LNwWQc.js +0 -1
- package/dist/client/assets/red-CJ3rzSJv.js +0 -1
- package/dist/client/assets/refresh-cw-DiuiLTny.js +0 -1
- package/dist/client/assets/resolveAriaLabelledBy-927ShlEO.js +0 -1
- package/dist/client/assets/rightPanelRouteSearch-CExl-IaQ.js +0 -1
- package/dist/client/assets/rose-pine-BthvhNj6.js +0 -1
- package/dist/client/assets/rose-pine-dawn-Dg85fqjY.js +0 -1
- package/dist/client/assets/rose-pine-moon-hon4tzzS.js +0 -1
- package/dist/client/assets/rotate-ccw-XOYBPtyK.js +0 -1
- package/dist/client/assets/rotate-cw-D32Z4Sdd.js +0 -1
- package/dist/client/assets/runtime-CA2W9mZ-.js +0 -17
- package/dist/client/assets/save-DjlqeVG_.js +0 -1
- package/dist/client/assets/scroll-area-CylKYQms.js +0 -1
- package/dist/client/assets/scrollEdges-D7RQhYjX.js +0 -1
- package/dist/client/assets/search-B2nLj573.js +0 -1
- package/dist/client/assets/select-qTezUK8F.js +0 -1
- package/dist/client/assets/separator-D77goPy-.js +0 -1
- package/dist/client/assets/server-y8Wq0Qwv.js +0 -1
- package/dist/client/assets/session-logic-xfW418Rx.js +0 -1
- package/dist/client/assets/settings-2-DpwBKj3m.js +0 -1
- package/dist/client/assets/settingsLayout-BuaXzjIe.js +0 -1
- package/dist/client/assets/settingsSections.logic-CR4aytUI.js +0 -1
- package/dist/client/assets/shallow-DWZCFNun.js +0 -1
- package/dist/client/assets/sheet-z3AEiSN4.js +0 -1
- package/dist/client/assets/shield-BuXuMVtb.js +0 -1
- package/dist/client/assets/shield-alert-Dfk--o-I.js +0 -1
- package/dist/client/assets/shield-check-BHi57iF1.js +0 -1
- package/dist/client/assets/sidebar-Dst9O2OR.js +0 -1
- package/dist/client/assets/sidebarProjectFolders-DR1NBLLz.js +0 -4
- package/dist/client/assets/sidebarStatusText-7jo1n9E1.js +0 -1
- package/dist/client/assets/skeleton-D_kbMg21.js +0 -1
- package/dist/client/assets/slack-dark-DYvUXyrP.js +0 -1
- package/dist/client/assets/slack-ochin-bqtMVDfH.js +0 -1
- package/dist/client/assets/smalltalk-B16xEiuN.js +0 -1
- package/dist/client/assets/smartphone-DcUQ17YT.js +0 -1
- package/dist/client/assets/snazzy-light-D8dzFmq5.js +0 -1
- package/dist/client/assets/solarized-dark-DV17i1UV.js +0 -1
- package/dist/client/assets/solarized-light-DSh2HLQt.js +0 -1
- package/dist/client/assets/solidity-CKzVLygQ.js +0 -1
- package/dist/client/assets/sparkles-nVLLtdqb.js +0 -1
- package/dist/client/assets/spinner-CkXSwhuf.js +0 -1
- package/dist/client/assets/square-pen-dcArpda7.js +0 -1
- package/dist/client/assets/src-I4s4HU8f.js +0 -14
- package/dist/client/assets/star-CdUOqzzZ.js +0 -1
- package/dist/client/assets/storeSelectors-Cr8JmFCe.js +0 -1
- package/dist/client/assets/surrealql-CaZedS14.js +0 -1
- package/dist/client/assets/swift-DonLKvLd.js +0 -1
- package/dist/client/assets/switch-BMeRsIbg.js +0 -1
- package/dist/client/assets/synthwave-84-CIknw8y7.js +0 -1
- package/dist/client/assets/system-verilog-DJ5XKQeo.js +0 -1
- package/dist/client/assets/tabSwitchInstrumentation-BuxWNdCV.js +0 -1
- package/dist/client/assets/terminal-DupJfYRW.js +0 -1
- package/dist/client/assets/terminal-links-Bf4neyyn.js +0 -1
- package/dist/client/assets/tex-CLeF3jRN.js +0 -1
- package/dist/client/assets/textarea-Bu_OTJYe.js +0 -1
- package/dist/client/assets/threadPinning-DhnkssEa.js +0 -1
- package/dist/client/assets/threadPriorityRefreshRuntime-DJjlyX7f.js +0 -1
- package/dist/client/assets/timestampFormat-8uPXS812.js +0 -1
- package/dist/client/assets/toast-CIjfIWUw.js +0 -1
- package/dist/client/assets/toggle-BA4mJ5v9.js +0 -1
- package/dist/client/assets/toggle-group-ChGfILTR.js +0 -1
- package/dist/client/assets/tokenModePresentation-B64s_OK3.js +0 -1
- package/dist/client/assets/tokyo-night-iIspnLcq.js +0 -1
- package/dist/client/assets/tooltip-C2VVqN6U.js +0 -1
- package/dist/client/assets/trash-2-Dqgxd0nF.js +0 -1
- package/dist/client/assets/triangle-alert-D4cCh6sB.js +0 -1
- package/dist/client/assets/twig-BmgBVapk.js +0 -1
- package/dist/client/assets/types-Cr8JmFCe.js +0 -1
- package/dist/client/assets/typst-DI99ib-x.js +0 -1
- package/dist/client/assets/undo-2-C8EQVSSD.js +0 -1
- package/dist/client/assets/unplug-Dt3Sy2op.js +0 -1
- package/dist/client/assets/useAppSidebarCollapsed-w0th-164.js +0 -1
- package/dist/client/assets/useAtlassian-j7ex3bVN.js +0 -0
- package/dist/client/assets/useButton-Dx5k1uZG.js +0 -1
- package/dist/client/assets/useCompositeListItem-BqkyY0oT.js +0 -1
- package/dist/client/assets/useCopyToClipboard-BTpWxumf.js +0 -1
- package/dist/client/assets/useDebouncedValue-BevbEbPO.js +0 -1
- package/dist/client/assets/useFloatingRootContext-j6TgzEFa.js +0 -1
- package/dist/client/assets/useHandleNewThread-gVYty_Bg.js +0 -1
- package/dist/client/assets/useLabelableId-CcYPzJvj.js +0 -1
- package/dist/client/assets/useLocation-CZ3osOgz.js +0 -1
- package/dist/client/assets/useNavigate-2tVq4iZ2.js +0 -1
- package/dist/client/assets/useOpenInteractionType-apbY9ZEK.js +0 -1
- package/dist/client/assets/usePhoneThreadActions-CnDlicSp.js +0 -1
- package/dist/client/assets/usePopupViewport-0k75uXo1.js +0 -1
- package/dist/client/assets/useRenderElement-5DRNLBaU.js +0 -1
- package/dist/client/assets/useRouter-CcIDS3PN.js +0 -1
- package/dist/client/assets/useScrollLock-C5WLWXcc.js +0 -1
- package/dist/client/assets/useStatistics-GOFXPHO0.js +0 -55
- package/dist/client/assets/useSwipeDismiss-BNHPBucH.js +0 -1
- package/dist/client/assets/useThreadActions-B4Xy2soQ.js +0 -2
- package/dist/client/assets/useTriggerFocusGuards-C3geWFzt.js +0 -1
- package/dist/client/assets/useValueChanged-FVqPwcY_.js +0 -1
- package/dist/client/assets/user-round-KsVtJgon.js +0 -1
- package/dist/client/assets/utils-B5qahmRn.js +0 -1
- package/dist/client/assets/verilog-CiiDBU1e.js +0 -1
- package/dist/client/assets/vesper-BIFK_oDq.js +0 -1
- package/dist/client/assets/visuallyHidden-j2WbVEv-.js +0 -1
- package/dist/client/assets/vitesse-black-D082JcaE.js +0 -1
- package/dist/client/assets/vitesse-dark-z-nr_5O8.js +0 -1
- package/dist/client/assets/vitesse-light-ojz42ZLy.js +0 -1
- package/dist/client/assets/vscode-icons-D3XEYHTI.js +0 -1
- package/dist/client/assets/worker-B0IAubm_.js +0 -161
- package/dist/client/assets/wrench-BnpoYEZm.js +0 -1
- package/dist/client/assets/x-BXHT1Zj1.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import"./src-I4s4HU8f.js";import{I as n,N as r,P as i,ia as a}from"./runtime-CA2W9mZ-.js";import{t as o}from"./compiler-runtime-qmuS0Svy.js";import{_ as s,o as c}from"./authorization-bHsGYIT0.js";import{f as l}from"./useRenderElement-5DRNLBaU.js";import{t as u}from"./check-BfnWUGBT.js";import{t as d}from"./copy-CkPe1c-r.js";import{t as f}from"./key-round-BjaaL9Df.js";import{t as p}from"./refresh-cw-DiuiLTny.js";import{t as m}from"./shield-check-BHi57iF1.js";import{t as h}from"./trash-2-Dqgxd0nF.js";import{t as g}from"./triangle-alert-D4cCh6sB.js";import{t as _}from"./user-round-KsVtJgon.js";import{t as v}from"./button-B6xQZNKz.js";import{n as y,t as b}from"./input-Dn_zesdZ.js";import{u as x}from"./Icons-BIUbIFr7.js";import{t as S}from"./useCopyToClipboard-BTpWxumf.js";import{i as C,n as w,r as T,t as E}from"./alert-DE5SkZhr.js";import{a as D,c as ee,i as te,o as ne,r as re,s as O,t as ie}from"./dialog-C9v8Zl6e.js";import{t as k}from"./spinner-CkXSwhuf.js";import{a as ae,i as oe,n as se,o as ce,r as le,s as ue,t as de}from"./alert-dialog-BqPnPhb6.js";import{t as A}from"./badge-m9kM3P07.js";import{t as fe}from"./label-BKjVY2A9.js";import{C as j,S as M,_ as N,a as pe,b as P,c as F,d as me,f as I,g as L,h as R,i as z,l as B,m as V,n as H,o as U,p as W,r as he,s as G,t as ge,u as K,v as q,x as J,y as _e}from"./ExternalIdentityWeb.logic-CGJKCFPo.js";import{i as ve,n as ye,r as be}from"./settingsLayout-BuaXzjIe.js";import{t as Y}from"./qr-code-BKrwYZ2s.js";var xe=l(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),X=e(t(),1),Se=o(),Ce=`Signed-in native apps use these device keys to establish encrypted connections automatically. The Hub authorizes account-trusted connections, so this does not protect against a malicious Hub; independent node verification remains the stronger option.`,Z={darwin:`macOS`,linux:`Linux`,windows:`Windows`,ios:`iPhone or iPad`,android:`Android`},we={"secure-enclave":`Secure Enclave`,strongbox:`StrongBox`,tee:`Hardware-backed TEE`,tpm:`TPM`,"hardware-backed":`Hardware backed`,unavailable:`Unavailable`};function Te(e){return Z[e.platform]}function Q(e){return`${we[e.reportedKeyBacking]} · reported by device`}function Ee(e){switch(e.status){case`active`:return`Active`;case`revoked`:return`Revoked`;case`superseded`:return`Superseded`}}function De(e){let t=e.trim();return t.length>0&&t.length<=100?t:null}function Oe(e,t){return[{label:`Enrollment`,value:e.enrollmentId},{label:`Identity fingerprint`,value:e.identityFingerprint,fingerprint:!0},{label:`Agreement fingerprint`,value:e.agreementFingerprint,fingerprint:!0},{label:`Key backing`,value:Q(e)},{label:`First enrolled`,value:t(e.createdAt)},{label:`Last used`,value:e.lastUsedAt===null?`Not used yet`:t(e.lastUsedAt)},...e.revokedAt===null?[]:[{label:`Revoked`,value:t(e.revokedAt)}]]}var $=a(),ke=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`});function Ae(e){return ke.format(new Date(e))}function je(){let e=(0,Se.c)(75),t=r(Le),n=r(Ie),i=r(Fe),[a,o]=(0,X.useState)(null),[s,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(null),f=i!==`idle`,p=i===`renaming-e2ee-device`,m=i===`revoking-e2ee-device`,h;e[0]===s?h=e[1]:(h=De(s),e[0]=s,e[1]=h);let g=h,_;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(_=[],e[2]=_):_=e[2],(0,X.useEffect)(Pe,_);let x;e[3]!==g||e[4]!==a?(x=async()=>{!a||g===null||(await c.renameE2eeDevice(a.enrollmentId,{expectedEnrollmentRevision:a.enrollmentRevision,deviceLabel:g})).status===`committed`&&(o(null),l(``))},e[3]=g,e[4]=a,e[5]=x):x=e[5];let S=x,C;e[6]===u?C=e[7]:(C=async()=>{u&&(await c.revokeE2eeDevice(u.enrollmentId,{expectedEnrollmentRevision:u.enrollmentRevision,reasonCode:`owner_requested`})).status===`committed`&&d(null)},e[6]=u,e[7]=C);let w=C,T;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(xe,{"aria-hidden":!0,className:`size-3.5`}),e[8]=T):T=e[8];let E=f||n===`loading`,j;e[9]===E?j=e[10]:(j=(0,$.jsx)(v,{size:`xs`,variant:`ghost`,disabled:E,onClick:Ne,children:`Refresh`}),e[9]=E,e[10]=j);let M;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(be,{title:`Automatic native encryption`,description:Ce,status:`A new signed-in Desktop or mobile app enrolls its own keys; private keys stay on that device.`}),e[11]=M):M=e[11];let N;e[12]!==f||e[13]!==t||e[14]!==n?(N=t.length===0?(0,$.jsx)(be,{title:n===`loading`?`Loading devices…`:`No native devices yet`,description:`Sign in from Ryco Desktop or mobile to enroll that app automatically. Web sessions stay separate and do not join this native device trust set.`,status:n===`stale`?`The device directory is temporarily unavailable.`:null,control:n===`loading`?(0,$.jsx)(k,{className:`size-3.5`}):null}):t.map(e=>{let t=e.status===`active`;return(0,$.jsx)(be,{title:(0,$.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[e.deviceLabel,(0,$.jsx)(A,{variant:t?`success`:`secondary`,children:Ee(e)})]}),description:`${Te(e)} · Ryco ${e.appVersion}`,status:n===`stale`?`Showing the last device directory Ryco read.`:null,control:t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(v,{size:`xs`,variant:`outline`,disabled:f,onClick:()=>{o(e),l(e.deviceLabel)},children:`Rename`}),(0,$.jsx)(v,{size:`xs`,variant:`destructive-outline`,disabled:f,onClick:()=>d(e),children:`Revoke`})]}):null,children:(0,$.jsx)(`dl`,{className:`mt-3 grid grid-cols-[auto_1fr] gap-x-4 gap-y-2 border-t border-border/60 py-3`,children:Oe(e,Ae).map(Me)})},`${e.enrollmentId}:${String(e.enrollmentRevision)}`)}),e[12]=f,e[13]=t,e[14]=n,e[15]=N):N=e[15];let pe=a!==null,P;e[16]===p?P=e[17]:(P=e=>{e||p||(o(null),l(``))},e[16]=p,e[17]=P);let F;e[18]===S?F=e[19]:(F=e=>{e.preventDefault(),S()},e[18]=S,e[19]=F);let me;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,$.jsxs)(D,{children:[(0,$.jsx)(ee,{children:`Rename encrypted device`}),(0,$.jsx)(re,{children:`This label is account metadata. Renaming does not rotate or replace the device keys.`})]}),e[20]=me):me=e[20];let I;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(fe,{htmlFor:`account-e2ee-device-label`,children:`Device name`}),e[21]=I):I=e[21];let L;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(L=e=>l(e.target.value),e[22]=L):L=e[22];let R;e[23]!==s||e[24]!==p?(R=(0,$.jsxs)(ne,{className:`space-y-2`,children:[I,(0,$.jsx)(b,{id:`account-e2ee-device-label`,value:s,maxLength:100,disabled:p,className:y,onChange:L})]}),e[23]=s,e[24]=p,e[25]=R):R=e[25];let z;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>{o(null),l(``)},e[26]=z):z=e[26];let B;e[27]===p?B=e[28]:(B=(0,$.jsx)(v,{type:`button`,variant:`outline`,disabled:p,onClick:z,children:`Cancel`}),e[27]=p,e[28]=B);let V=p||g===null,H;e[29]===p?H=e[30]:(H=p?(0,$.jsx)(k,{className:`size-3.5`}):null,e[29]=p,e[30]=H);let U;e[31]!==V||e[32]!==H?(U=(0,$.jsxs)(v,{type:`submit`,disabled:V,children:[H,`Save name`]}),e[31]=V,e[32]=H,e[33]=U):U=e[33];let W;e[34]!==B||e[35]!==U?(W=(0,$.jsxs)(te,{children:[B,U]}),e[34]=B,e[35]=U,e[36]=W):W=e[36];let he;e[37]!==F||e[38]!==R||e[39]!==W?(he=(0,$.jsx)(O,{className:`max-w-sm`,children:(0,$.jsxs)(`form`,{onSubmit:F,children:[me,R,W]})}),e[37]=F,e[38]=R,e[39]=W,e[40]=he):he=e[40];let G;e[41]!==P||e[42]!==he||e[43]!==pe?(G=(0,$.jsx)(ie,{open:pe,onOpenChange:P,children:he}),e[41]=P,e[42]=he,e[43]=pe,e[44]=G):G=e[44];let ge=u!==null,K;e[45]===m?K=e[46]:(K=e=>{!e&&!m&&d(null)},e[45]=m,e[46]=K);let q;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(ue,{children:`Revoke this encrypted device?`}),e[47]=q):q=e[47];let J=u?.deviceLabel??`This device`,_e;e[48]===J?_e=e[49]:(_e=(0,$.jsxs)(ae,{children:[q,(0,$.jsxs)(le,{children:[J,` will lose account-authorized native connections. Signing in again can enroll fresh keys, but this enrollment cannot be restored.`]})]}),e[48]=J,e[49]=_e);let ye;e[50]===m?ye=e[51]:(ye=(0,$.jsx)(se,{render:(0,$.jsx)(v,{variant:`outline`,disabled:m}),children:`Cancel`}),e[50]=m,e[51]=ye);let Y;e[52]===w?Y=e[53]:(Y=()=>void w(),e[52]=w,e[53]=Y);let Z;e[54]===m?Z=e[55]:(Z=m?(0,$.jsx)(k,{className:`size-3.5`}):null,e[54]=m,e[55]=Z);let we;e[56]!==m||e[57]!==Y||e[58]!==Z?(we=(0,$.jsxs)(v,{variant:`destructive`,disabled:m,onClick:Y,children:[Z,`Revoke device`]}),e[56]=m,e[57]=Y,e[58]=Z,e[59]=we):we=e[59];let Q;e[60]!==ye||e[61]!==we?(Q=(0,$.jsxs)(oe,{children:[ye,we]}),e[60]=ye,e[61]=we,e[62]=Q):Q=e[62];let ke;e[63]!==_e||e[64]!==Q?(ke=(0,$.jsxs)(ce,{children:[_e,Q]}),e[63]=_e,e[64]=Q,e[65]=ke):ke=e[65];let je;e[66]!==ge||e[67]!==K||e[68]!==ke?(je=(0,$.jsx)(de,{open:ge,onOpenChange:K,children:ke}),e[66]=ge,e[67]=K,e[68]=ke,e[69]=je):je=e[69];let Re;return e[70]!==G||e[71]!==je||e[72]!==j||e[73]!==N?(Re=(0,$.jsxs)(ve,{title:`Encrypted devices`,icon:T,headerAction:j,children:[M,N,G,je]}),e[70]=G,e[71]=je,e[72]=j,e[73]=N,e[74]=Re):Re=e[74],Re}function Me(e){return(0,$.jsxs)(`div`,{className:`contents`,children:[(0,$.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,$.jsx)(`dd`,{className:e.fingerprint?`min-w-0 font-mono text-xs break-all`:`min-w-0 text-xs break-all`,children:e.value})]},e.label)}function Ne(){c.refreshE2eeDevices({force:!0})}function Pe(){c.refreshE2eeDevices()}function Fe(e){return e.actionStatus}function Ie(e){return e.e2eeDevicesStatus??`idle`}function Le(e){return e.e2eeDevices??[]}var Re=new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`});function ze(e){return e===null||!Number.isFinite(e)?null:Re.format(new Date(e))}function Be(){let e=(0,Se.c)(15),[t,n]=(0,X.useState)(null),[r,i]=(0,X.useState)(0),[a,o]=(0,X.useState)(``),[s,l]=(0,X.useState)(!1),u=(0,X.useRef)(0),d;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>{n(null),i(0),o(``)},e[0]=d):d=e[0];let f=d,p;e[1]===t?.options?p=e[2]:(p=()=>{u.current+=1,c.cancelAccountAction(),t?.options?.onAbandoned?.(),l(!1),f()},e[1]=t?.options,e[2]=p);let m=p,h;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=async(e,t,r)=>{let a=u.current+=1;l(!1);let s=await t({});if(u.current===a){if(I(s)){o(``),i(0),n({action:e,run:t,options:r,inferred:s.inferredErrorCode===!0});return}s.status===`committed`&&r?.onCommitted?.()}},e[3]=h):h=e[3];let g=h,_;e[4]!==t||e[5]!==a||e[6]!==r?(_=async()=>{if(!t)return;let e=R(a);if(e.length===0)return;let n=u.current+=1,s=await t.run({totpCode:e});if(u.current===n){if(I(s)){let e=r+1;if(P(s,e)){i(e),o(``);return}l(!0),t.options?.onAbandoned?.(),f();return}s.status===`committed`&&t.options?.onCommitted?.(),f()}},e[4]=t,e[5]=a,e[6]=r,e[7]=_):_=e[7];let v=_,y;return e[8]!==m||e[9]!==t||e[10]!==a||e[11]!==r||e[12]!==s||e[13]!==v?(y={run:g,cancel:m,stepUp:t,stepUpAttempts:r,stepUpCode:a,stepUpUnresolved:s,setStepUpCode:o,submitStepUp:v},e[8]=m,e[9]=t,e[10]=a,e[11]=r,e[12]=s,e[13]=v,e[14]=y):y=e[14],y}function Ve(){let e=(0,Se.c)(1),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,X.useEffect)(He,t)}function He(){return c.leaseRecoveryCodeDisplay()}function Ue(e){let t=(0,Se.c)(3),{busy:n,children:r}=e,i;return t[0]!==n||t[1]!==r?(i=n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(k,{className:`size-3.5`}),r]}):(0,$.jsx)($.Fragment,{children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function We(){let e=(0,Se.c)(100),t=i(lt),a=i(ct),[o,c]=(0,X.useState)(!1),l=r(st),u=r(ot),d=r(at),f=r(it),p=r(rt),h=r(nt),y=r(tt),b=r(et),x=i($e),S=i(Qe),[D,ee]=(0,X.useState)(!1),[te,ne]=(0,X.useState)(null),re=(0,X.useRef)(!1),O=Be(),ie=O.run;Ve();let k=h!==`idle`,ae;e[0]===p?ae=e[1]:(ae=he(p),e[0]=p,e[1]=ae);let oe=ae,se;e[2]===d?.externalIdentities?se=e[3]:(se=d?.externalIdentities.find(Ze)??null,e[2]=d?.externalIdentities,e[3]=se);let ce=se,le;e[4]===D?le=e[5]:(le=async()=>{if(!D){ee(!0),ne(null);try{await ge({intent:`link`,returnTo:`/account/security`,start:Xe,navigate:Ye})}catch(e){let t=e;ne(t instanceof s?t.message:`GitHub connection is temporarily unavailable.`),ee(!1)}}},e[4]=D,e[5]=le);let ue=le,de;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(de=[],e[6]=de):de=e[6],(0,X.useEffect)(Je,de);let A,fe;if(e[7]!==t||e[8]!==ie?(A=()=>{if(t!==`authenticated`||re.current)return;re.current=!0;let e=new AbortController;return n.getPendingExternalIdentity(e.signal).then(e=>{if(e.status===`link`)return ie(`connect-github`,qe);e.status===`error`&&ne(H(e.code))}).catch(Ke),()=>e.abort()},fe=[t,ie],e[7]=t,e[8]=ie,e[9]=A,e[10]=fe):(A=e[9],fe=e[10]),(0,X.useEffect)(A,fe),t!==`authenticated`){let t;return e[11]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(ye,{children:(0,$.jsxs)(E,{variant:`warning`,children:[(0,$.jsx)(g,{"aria-hidden":!0}),(0,$.jsx)(C,{children:`Not signed in`}),(0,$.jsx)(T,{children:`Sign in to the Hub to manage passkeys, two-factor authentication, and recovery codes.`})]})}),e[11]=t):t=e[11],t}let j;e[12]!==O.stepUp||e[13]!==O.stepUpUnresolved||e[14]!==b||e[15]!==y?(j=O.stepUpUnresolved?z:B(y,b,O.stepUp!==null),e[12]=O.stepUp,e[13]=O.stepUpUnresolved,e[14]=b,e[15]=y,e[16]=j):j=e[16];let M=j,N;e[17]!==O.stepUpUnresolved||e[18]!==b?(N=!O.stepUpUnresolved&&me(b),e[17]=O.stepUpUnresolved,e[18]=b,e[19]=N):N=e[19];let P=N,F;e[20]!==l||e[21]!==u?(F=pe(l,u),e[20]=l,e[21]=u,e[22]=F):F=e[22];let I=F,L;e[23]!==M||e[24]!==P?(L=M?(0,$.jsxs)(E,{variant:P?`info`:`error`,"aria-live":`polite`,children:[(0,$.jsx)(g,{"aria-hidden":!0}),(0,$.jsx)(C,{children:P?`Passkey needed`:`That did not work`}),(0,$.jsx)(T,{children:M})]}):null,e[23]=M,e[24]=P,e[25]=L):L=e[25];let R;e[26]===te?R=e[27]:(R=te?(0,$.jsxs)(E,{variant:`warning`,"aria-live":`polite`,children:[(0,$.jsx)(g,{"aria-hidden":!0}),(0,$.jsx)(C,{children:`GitHub connection did not complete`}),(0,$.jsx)(T,{children:te})]}):null,e[26]=te,e[27]=R);let V;e[28]!==d||e[29]!==f?(V=d===null&&f!==`stale`?(0,$.jsxs)(E,{variant:`info`,"aria-live":`polite`,children:[(0,$.jsx)(m,{"aria-hidden":!0}),(0,$.jsx)(C,{children:`Checking account security`}),(0,$.jsx)(T,{children:`Reading which fallback sign-in methods are configured on this Hub.`})]}):null,e[28]=d,e[29]=f,e[30]=V):V=e[30];let U;e[31]!==k||e[32]!==d||e[33]!==f?(U=f===`stale`?(0,$.jsxs)(E,{variant:`warning`,"aria-live":`polite`,children:[(0,$.jsx)(g,{"aria-hidden":!0}),(0,$.jsx)(C,{children:d===null?`Account security unavailable`:`Account security may be outdated`}),(0,$.jsx)(T,{children:d===null?`Ryco could not read the current password, authenticator, and email state.`:`These controls use the last state Ryco successfully read from the Hub.`}),(0,$.jsx)(w,{children:(0,$.jsx)(v,{size:`xs`,variant:`outline`,disabled:k,onClick:Ge,children:`Retry`})})]}):null,e[31]=k,e[32]=d,e[33]=f,e[34]=U):U=e[34];let W;e[35]!==k||e[36]!==I?(W=I?(0,$.jsxs)(E,{variant:I.variant,"aria-live":`polite`,children:[(0,$.jsx)(g,{"aria-hidden":!0}),(0,$.jsx)(C,{children:I.title}),(0,$.jsx)(T,{children:I.description}),(0,$.jsx)(w,{children:(0,$.jsx)(v,{size:`xs`,variant:`outline`,disabled:k,onClick:()=>c(!0),children:I.actionLabel})})]}):null,e[35]=k,e[36]=I,e[37]=W):W=e[37];let G;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(_,{"aria-hidden":!0,className:`size-3.5`}),e[38]=G):G=e[38];let K=a?.displayName??`Signed in`,q;e[39]===a?q=e[40]:(q=a?`${a.role} · joined ${ze(a.createdAt)??`unknown`}`:null,e[39]=a,e[40]=q);let J;e[41]!==K||e[42]!==q?(J=(0,$.jsx)(ve,{title:`Account`,icon:G,children:(0,$.jsx)(be,{title:K,description:`The Hub account these credentials belong to.`,status:q})}),e[41]=K,e[42]=q,e[43]=J):J=e[43];let _e;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(je,{}),e[44]=_e):_e=e[44];let Y;e[45]!==h||e[46]!==k||e[47]!==D||e[48]!==ce||e[49]!==oe?.link||e[50]!==ie||e[51]!==ue?(Y=ce||oe?.link?(0,$.jsx)(ut,{identity:ce,actionsAvailable:oe?.link===!0,busy:k||D,actionStatus:h,onConnect:()=>void ue(),run:ie}):null,e[45]=h,e[46]=k,e[47]=D,e[48]=ce,e[49]=oe?.link,e[50]=ie,e[51]=ue,e[52]=Y):Y=e[52];let xe=u===`loading`,Ce=u===`stale`,Z;e[53]!==O.cancel||e[54]!==O.run||e[55]!==h||e[56]!==o||e[57]!==k||e[58]!==l||e[59]!==xe||e[60]!==Ce?(Z=(0,$.jsx)(ft,{passkeys:l,loading:xe,stale:Ce,busy:k,actionStatus:h,addOpen:o,setAddOpen:c,run:O.run,cancel:O.cancel}),e[53]=O.cancel,e[54]=O.run,e[55]=h,e[56]=o,e[57]=k,e[58]=l,e[59]=xe,e[60]=Ce,e[61]=Z):Z=e[61];let we=d?.totpEnrolled??null,Te;e[62]!==O.run||e[63]!==h||e[64]!==k||e[65]!==we||e[66]!==S?(Te=(0,$.jsx)(pt,{busy:k,actionStatus:h,enrollment:S,enrolled:we,run:O.run}),e[62]=O.run,e[63]=h,e[64]=k,e[65]=we,e[66]=S,e[67]=Te):Te=e[67];let Q;e[68]!==O.run||e[69]!==h||e[70]!==k||e[71]!==x?(Q=(0,$.jsx)(yt,{busy:k,actionStatus:h,recoveryCodes:x,run:O.run}),e[68]=O.run,e[69]=h,e[70]=k,e[71]=x,e[72]=Q):Q=e[72];let Ee;e[73]!==O.cancel||e[74]!==O.run||e[75]!==h||e[76]!==k||e[77]!==d?(Ee=(0,$.jsx)(gt,{busy:k,actionStatus:h,security:d,run:O.run,cancel:O.cancel}),e[73]=O.cancel,e[74]=O.run,e[75]=h,e[76]=k,e[77]=d,e[78]=Ee):Ee=e[78];let De;e[79]!==O.cancel||e[80]!==O.setStepUpCode||e[81]!==O.stepUp||e[82]!==O.stepUpAttempts||e[83]!==O.stepUpCode||e[84]!==O.submitStepUp||e[85]!==k?(De=(0,$.jsx)(wt,{pending:O.stepUp,attempts:O.stepUpAttempts,code:O.stepUpCode,onCodeChange:O.setStepUpCode,onSubmit:O.submitStepUp,onCancel:O.cancel,busy:k}),e[79]=O.cancel,e[80]=O.setStepUpCode,e[81]=O.stepUp,e[82]=O.stepUpAttempts,e[83]=O.stepUpCode,e[84]=O.submitStepUp,e[85]=k,e[86]=De):De=e[86];let Oe;return e[87]!==R||e[88]!==V||e[89]!==U||e[90]!==W||e[91]!==J||e[92]!==Y||e[93]!==Z||e[94]!==Te||e[95]!==Q||e[96]!==Ee||e[97]!==De||e[98]!==L?(Oe=(0,$.jsxs)(ye,{children:[L,R,V,U,W,J,_e,Y,Z,Te,Q,Ee,De]}),e[87]=R,e[88]=V,e[89]=U,e[90]=W,e[91]=J,e[92]=Y,e[93]=Z,e[94]=Te,e[95]=Q,e[96]=Ee,e[97]=De,e[98]=L,e[99]=Oe):Oe=e[99],Oe}function Ge(){c.refreshAccountSecurity({force:!0})}function Ke(){}function qe(e){return c.finishBrowserExternalIdentityConnection(`github`,e)}function Je(){c.refreshPasskeys(),c.refreshAccountSecurity(),c.refreshExternalIdentityConfiguration()}function Ye(e){return window.location.assign(e)}function Xe(e){return n.startExternalIdentityAuthorization(e)}function Ze(e){return e.provider===`github`}function Qe(e){return e.totpEnrollment??null}function $e(e){return e.recoveryCodes}function et(e){return e.errorCode??null}function tt(e){return e.errorMessage}function nt(e){return e.actionStatus}function rt(e){return e.externalIdentityConfiguration}function it(e){return e.securityStatus}function at(e){return e.security}function ot(e){return e.passkeysStatus}function st(e){return e.passkeys}function ct(e){return e.account}function lt(e){return e.accountStatus}function ut(e){let t=(0,Se.c)(33),{identity:n,actionsAvailable:r,busy:i,actionStatus:a,onConnect:o,run:s}=e,[c,l]=(0,X.useState)(!1),u=a===`connecting-external-identity`,d=a===`disconnecting-external-identity`,f;t[0]===s?f=t[1]:(f=async()=>{await s(`disconnect-github`,dt,{onCommitted:()=>l(!1)})},t[0]=s,t[1]=f);let p=f,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(x,{"aria-hidden":!0,className:`size-3.5`}),t[2]=m):m=t[2];let h=n?`GitHub · @${n.login}`:`GitHub`,g=n?`Use this GitHub identity to sign in to Ryco. Repository access remains separate.`:`Connect GitHub as another way to sign in. Ryco requests no repository access.`,_;t[3]===n?_=t[4]:(_=n?`Connected ${ze(n.connectedAt)??`at an unknown time`}${n.lastUsedAt===null?``:` · last used ${ze(n.lastUsedAt)??`at an unknown time`}`}`:null,t[3]=n,t[4]=_);let y;t[5]!==r||t[6]!==i||t[7]!==u||t[8]!==d||t[9]!==n||t[10]!==o?(y=r?n?(0,$.jsx)(v,{size:`sm`,variant:`outline`,disabled:i,onClick:()=>l(!0),children:(0,$.jsx)(Ue,{busy:d,children:`Disconnect`})}):(0,$.jsx)(v,{size:`sm`,variant:`outline`,disabled:i,onClick:o,children:(0,$.jsx)(Ue,{busy:u,children:`Connect GitHub`})}):null,t[5]=r,t[6]=i,t[7]=u,t[8]=d,t[9]=n,t[10]=o,t[11]=y):y=t[11];let b;t[12]!==h||t[13]!==g||t[14]!==_||t[15]!==y?(b=(0,$.jsx)(be,{title:h,description:g,status:_,control:y}),t[12]=h,t[13]=g,t[14]=_,t[15]=y,t[16]=b):b=t[16];let S;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsxs)(ae,{children:[(0,$.jsx)(ue,{children:`Disconnect GitHub?`}),(0,$.jsx)(le,{children:`You will no longer be able to sign in with GitHub. Ryco refuses this change if GitHub is your only remaining sign-in method.`})]}),t[17]=S):S=t[17];let C;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(se,{render:(0,$.jsx)(v,{variant:`outline`}),children:`Cancel`}),t[18]=C):C=t[18];let w;t[19]===p?w=t[20]:(w=()=>void p(),t[19]=p,t[20]=w);let T;t[21]===d?T=t[22]:(T=(0,$.jsx)(Ue,{busy:d,children:`Disconnect GitHub`}),t[21]=d,t[22]=T);let E;t[23]!==i||t[24]!==w||t[25]!==T?(E=(0,$.jsxs)(ce,{children:[S,(0,$.jsxs)(oe,{children:[C,(0,$.jsx)(v,{disabled:i,onClick:w,children:T})]})]}),t[23]=i,t[24]=w,t[25]=T,t[26]=E):E=t[26];let D;t[27]!==c||t[28]!==E?(D=(0,$.jsx)(de,{open:c,onOpenChange:l,children:E}),t[27]=c,t[28]=E,t[29]=D):D=t[29];let ee;return t[30]!==D||t[31]!==b?(ee=(0,$.jsxs)(ve,{title:`Connected accounts`,icon:m,children:[b,D]}),t[30]=D,t[31]=b,t[32]=ee):ee=t[32],ee}function dt(e){return c.disconnectExternalIdentity(`github`,e)}function ft({passkeys:e,loading:t,stale:n,busy:r,actionStatus:i,addOpen:a,setAddOpen:o,run:s,cancel:l}){let[u,d]=(0,X.useState)(``),[p,m]=(0,X.useState)(null),[g,_]=(0,X.useState)(null),x=i===`adding-passkey`,S=i===`revoking-passkey`,C=U(e),w=j(e),T=L(e),E=(0,X.useCallback)(()=>{d(``),o(!1)},[o]),k=async e=>{e.preventDefault();let t=V(u);await s(`add-passkey`,e=>c.addPasskey({passkeyLabel:t,...e}),{onCommitted:E,onAbandoned:E})},M=async()=>{let e=p;if(e){m(null),_(e.id);try{await c.revokePasskey(e.id)}finally{_(null)}}};return(0,$.jsxs)(ve,{title:`Passkeys`,icon:(0,$.jsx)(f,{"aria-hidden":!0,className:`size-3.5`}),headerAction:(0,$.jsx)(v,{size:`xs`,variant:`outline`,disabled:r,onClick:()=>o(!0),children:`Add passkey`}),children:[(0,$.jsx)(be,{title:`Passkeys on this account`,description:`A passkey is the strongest way in. Add one for every device you sign in from, and keep at least two so losing a device does not lock you out.`,status:n?`This list could not be refreshed and may be out of date.`:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{children:`${String(C.length)} usable ${C.length===1?`passkey`:`passkeys`}`}),w>0?(0,$.jsx)(`span`,{children:` · ${String(w)} synced to a password manager`}):null]})}),t&&e.length===0?(0,$.jsx)(be,{title:`Loading passkeys…`,description:`Reading the credentials on file.`}):null,!t&&e.length===0?(0,$.jsx)(be,{title:`No passkeys yet`,description:`Add one now — without a passkey you can only get back in through a fallback credential.`}):null,T.map(e=>{let t=K(e),n=N(e),i=ze(e.createdAt),a=ze(e.lastUsedAt);return(0,$.jsx)(be,{title:(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[q(e),t?(0,$.jsx)(A,{variant:`error`,size:`sm`,children:`Revoked`}):null]}),description:t?`Revoked${e.revocationReasonCode?` — ${e.revocationReasonCode}`:``}. This credential can no longer sign in.`:n??`The Hub did not report whether this credential is backed up.`,status:[i?`Added ${i}`:null,a?`Last used ${a}`:`Never used`].filter(e=>e!==null).join(` · `),control:t?null:(0,$.jsx)(v,{size:`xs`,variant:`destructive-outline`,"aria-label":`Revoke ${q(e)}`,disabled:r,onClick:()=>m(e),children:(0,$.jsxs)(Ue,{busy:S&&g===e.id,children:[(0,$.jsx)(h,{"aria-hidden":!0}),`Revoke`]})})},e.id)}),(0,$.jsx)(ie,{open:a,onOpenChange:e=>{if(e){o(!0);return}r||E()},children:(0,$.jsx)(O,{className:`max-w-md`,children:(0,$.jsxs)(`form`,{onSubmit:e=>void k(e),children:[(0,$.jsxs)(D,{children:[(0,$.jsx)(ee,{children:`Add a passkey`}),(0,$.jsx)(re,{children:`Your browser will ask you to create a passkey for this account. Adding one replaces the current Hub session with a fresh one.`})]}),(0,$.jsxs)(ne,{className:`space-y-3`,children:[(0,$.jsx)(fe,{htmlFor:`account-passkey-label`,children:`Name (optional)`}),(0,$.jsx)(b,{id:`account-passkey-label`,value:u,autoComplete:`off`,placeholder:`Work laptop`,disabled:x,className:y,onChange:e=>d(e.target.value)})]}),(0,$.jsxs)(te,{children:[(0,$.jsx)(v,{variant:`outline`,onClick:()=>{l(),E()},children:`Cancel`}),(0,$.jsx)(v,{type:`submit`,disabled:r,children:(0,$.jsx)(Ue,{busy:x,children:`Create passkey`})})]})]})})}),(0,$.jsx)(de,{open:p!==null,onOpenChange:e=>{r||e||m(null)},children:(0,$.jsxs)(ce,{children:[(0,$.jsxs)(ae,{children:[(0,$.jsx)(ue,{children:`Revoke this passkey?`}),(0,$.jsxs)(le,{children:[C.length===1?`This is the only usable passkey on this account. `:``,p?q(p):``,` will stop working immediately, on every device it is stored on. This cannot be undone — you would have to enrol the device again.`]})]}),(0,$.jsxs)(oe,{children:[(0,$.jsx)(se,{render:(0,$.jsx)(v,{variant:`outline`}),children:`Keep it`}),(0,$.jsx)(v,{variant:`destructive`,disabled:r,onClick:()=>void M(),children:`Revoke passkey`})]})]})})]})}function pt(e){let t=(0,Se.c)(61),{busy:n,actionStatus:r,enrollment:i,enrolled:a,run:o}=e,[s,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(!1),f=r===`enrolling-totp`,p=r===`confirming-totp`,h=r===`revoking-totp`,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>{l(``),c.dismissTotpEnrollment()},t[0]=g):g=t[0];let _=g,x;t[1]===s?x=t[2]:(x=async e=>{e.preventDefault();let t=R(s);t.length!==0&&(await c.confirmTotpEnrollment({code:t}),l(``))},t[1]=s,t[2]=x);let S=x,C;t[3]===o?C=t[4]:(C=async()=>{d(!1),await o(`revoke-totp`,ht)},t[3]=o,t[4]=C);let w=C,T;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(m,{"aria-hidden":!0,className:`size-3.5`}),t[5]=T):T=t[5];let E=a===null?`Checking current state…`:a?`On`:`Off`,k;t[6]!==n||t[7]!==a||t[8]!==f||t[9]!==h?(k=a===null?null:a?(0,$.jsx)(v,{size:`xs`,variant:`destructive-outline`,"aria-label":`Turn off two-factor authentication`,disabled:n,onClick:()=>d(!0),children:(0,$.jsx)(Ue,{busy:h,children:`Turn off`})}):(0,$.jsx)(v,{size:`xs`,variant:`outline`,disabled:n,onClick:mt,children:(0,$.jsx)(Ue,{busy:f,children:`Set up`})}),t[6]=n,t[7]=a,t[8]=f,t[9]=h,t[10]=k):k=t[10];let A;t[11]!==E||t[12]!==k?(A=(0,$.jsx)(be,{title:`Authenticator app`,description:`A six-digit code from an authenticator app, required whenever you change credentials from a session that was not started with a passkey. Signing in with a passkey never asks for one.`,status:E,control:k}),t[11]=E,t[12]=k,t[13]=A):A=t[13];let j=i!==null,M;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(M=e=>{e||_()},t[14]=M):M=t[14];let N;t[15]===S?N=t[16]:(N=e=>void S(e),t[15]=S,t[16]=N);let pe;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsxs)(D,{children:[(0,$.jsx)(ee,{children:`Set up two-factor authentication`}),(0,$.jsx)(re,{children:`Scan this with your authenticator app, then enter the code it shows. This is the only time the key is displayed.`})]}),t[17]=pe):pe=t[17];let P;t[18]===i?P=t[19]:(P=i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex justify-center rounded-xl border border-border bg-white p-4`,children:(0,$.jsx)(Y,{value:i.provisioningUri,size:168,level:`M`,marginSize:1,title:`Two-factor setup code`})}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Can't scan? Enter this key manually:`}),(0,$.jsx)(`p`,{"aria-label":`Two-factor setup key`,className:`rounded-lg border border-border bg-background px-3 py-2 font-mono text-sm break-all`,children:i.secretBase32})]})]}):null,t[18]=i,t[19]=P);let F;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(fe,{htmlFor:`account-totp-confirm`,children:`Code from your app`}),t[20]=F):F=t[20];let me;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(me=e=>l(R(e.target.value)),t[21]=me):me=t[21];let I;t[22]!==s||t[23]!==p?(I=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[F,(0,$.jsx)(b,{id:`account-totp-confirm`,value:s,inputMode:`numeric`,autoComplete:`one-time-code`,maxLength:16,disabled:p,className:y,onChange:me})]}),t[22]=s,t[23]=p,t[24]=I):I=t[24];let L;t[25]!==P||t[26]!==I?(L=(0,$.jsxs)(ne,{className:`space-y-4`,children:[P,I]}),t[25]=P,t[26]=I,t[27]=L):L=t[27];let z;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(v,{variant:`outline`,onClick:_,children:`Cancel`}),t[28]=z):z=t[28];let B;t[29]!==n||t[30]!==s?(B=n||!W(s),t[29]=n,t[30]=s,t[31]=B):B=t[31];let V;t[32]===p?V=t[33]:(V=(0,$.jsx)(Ue,{busy:p,children:`Turn on`}),t[32]=p,t[33]=V);let H;t[34]!==B||t[35]!==V?(H=(0,$.jsxs)(te,{children:[z,(0,$.jsx)(v,{type:`submit`,disabled:B,children:V})]}),t[34]=B,t[35]=V,t[36]=H):H=t[36];let U;t[37]!==N||t[38]!==L||t[39]!==H?(U=(0,$.jsx)(O,{className:`max-w-md`,children:(0,$.jsxs)(`form`,{onSubmit:N,children:[pe,L,H]})}),t[37]=N,t[38]=L,t[39]=H,t[40]=U):U=t[40];let he;t[41]!==U||t[42]!==j?(he=(0,$.jsx)(ie,{open:j,onOpenChange:M,children:U}),t[41]=U,t[42]=j,t[43]=he):he=t[43];let G;t[44]===n?G=t[45]:(G=e=>{n||d(e)},t[44]=n,t[45]=G);let ge;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(ge=(0,$.jsxs)(ae,{children:[(0,$.jsx)(ue,{children:`Remove two-factor authentication?`}),(0,$.jsx)(le,{children:`Password, recovery-code, and emailed-link sign-ins will no longer need a code from your authenticator app. You can set it up again at any time.`})]}),t[46]=ge):ge=t[46];let K;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsx)(se,{render:(0,$.jsx)(v,{variant:`outline`}),children:`Keep it on`}),t[47]=K):K=t[47];let q;t[48]===w?q=t[49]:(q=()=>void w(),t[48]=w,t[49]=q);let J;t[50]!==n||t[51]!==q?(J=(0,$.jsxs)(ce,{children:[ge,(0,$.jsxs)(oe,{children:[K,(0,$.jsx)(v,{variant:`destructive`,disabled:n,onClick:q,children:`Remove two-factor`})]})]}),t[50]=n,t[51]=q,t[52]=J):J=t[52];let _e;t[53]!==u||t[54]!==G||t[55]!==J?(_e=(0,$.jsx)(de,{open:u,onOpenChange:G,children:J}),t[53]=u,t[54]=G,t[55]=J,t[56]=_e):_e=t[56];let ye;return t[57]!==he||t[58]!==_e||t[59]!==A?(ye=(0,$.jsxs)(ve,{title:`Two-factor authentication`,icon:T,children:[A,he,_e]}),t[57]=he,t[58]=_e,t[59]=A,t[60]=ye):ye=t[60],ye}function mt(){c.beginTotpEnrollment()}function ht(e){return c.revokeTotp(e)}function gt(e){let t=(0,Se.c)(86),{busy:n,actionStatus:r,security:i,run:a,cancel:o}=e,[s,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(``),[p,m]=(0,X.useState)(``),[h,g]=(0,X.useState)(!1),[_,x]=(0,X.useState)(!1),S=r===`setting-password`,C=r===`removing-password`,w;t[0]!==p||t[1]!==u?(w=_e(u,p),t[0]=p,t[1]=u,t[2]=w):w=t[2];let T=w,E;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>{d(``),m(``),g(!1)},t[3]=E):E=t[3];let k=E,A;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{k(),l(!1)},t[4]=A):A=t[4];let j=A,M;t[5]===o?M=t[6]:(M=()=>{o(),j()},t[5]=o,t[6]=M);let N=M,pe;t[7]!==T||t[8]!==u||t[9]!==a?(pe=async e=>{e.preventDefault(),g(!0),!T&&await a(`set-password`,e=>c.setPassword({password:u,...e}),{onCommitted:j,onAbandoned:j})},t[7]=T,t[8]=u,t[9]=a,t[10]=pe):pe=t[10];let P=pe,F;t[11]===a?F=t[12]:(F=async()=>{x(!1),await a(`remove-password`,_t)},t[11]=a,t[12]=F);let me=F,I;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,$.jsx)(f,{"aria-hidden":!0,className:`size-3.5`}),t[13]=I):I=t[13];let L=i===null?`Checking current state…`:i.passwordConfigured?`Set`:`Not set`,R;t[14]!==n||t[15]!==C||t[16]!==i||t[17]!==S?(R=i===null?null:(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(v,{size:`xs`,variant:`outline`,disabled:n,onClick:()=>l(!0),children:(0,$.jsx)(Ue,{busy:S,children:i.passwordConfigured?`Change`:`Set password`})}),i.passwordConfigured?(0,$.jsx)(v,{size:`xs`,variant:`destructive-outline`,"aria-label":`Delete the fallback password`,disabled:n,onClick:()=>x(!0),children:(0,$.jsx)(Ue,{busy:C,children:`Remove`})}):null]}),t[14]=n,t[15]=C,t[16]=i,t[17]=S,t[18]=R):R=t[18];let z;t[19]!==L||t[20]!==R?(z=(0,$.jsx)(be,{title:`Fallback password`,description:`A password is a fallback, not an equal of a passkey: it can be phished and reused, and a session started with one has to prove itself again before changing credentials. Keep a passkey as your normal way in.`,status:L,control:R}),t[19]=L,t[20]=R,t[21]=z):z=t[21];let B=i===null?void 0:i.email,V=i?.emailDeliveryConfigured,H;t[22]!==r||t[23]!==n||t[24]!==a||t[25]!==B||t[26]!==V?(H=(0,$.jsx)(vt,{busy:n,actionStatus:r,email:B,deliveryConfigured:V,run:a}),t[22]=r,t[23]=n,t[24]=a,t[25]=B,t[26]=V,t[27]=H):H=t[27];let U;t[28]===N?U=t[29]:(U=e=>{if(e){l(!0);return}N()},t[28]=N,t[29]=U);let W;t[30]===P?W=t[31]:(W=e=>void P(e),t[30]=P,t[31]=W);let he;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsxs)(D,{children:[(0,$.jsx)(ee,{children:`Set a fallback password`}),(0,$.jsx)(re,{children:`This replaces any password already on the account. The Hub rejects passwords that have appeared in a known breach.`})]}),t[32]=he):he=t[32];let G;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(fe,{htmlFor:`account-password`,children:`New password`}),t[33]=G):G=t[33];let ge;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(ge=e=>d(e.target.value),t[34]=ge):ge=t[34];let K;t[35]!==u||t[36]!==S?(K=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[G,(0,$.jsx)(b,{id:`account-password`,type:`password`,value:u,autoComplete:`new-password`,maxLength:256,disabled:S,className:y,onChange:ge})]}),t[35]=u,t[36]=S,t[37]=K):K=t[37];let q;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(fe,{htmlFor:`account-password-confirm`,children:`Confirm password`}),t[38]=q):q=t[38];let J;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(J=e=>m(e.target.value),t[39]=J):J=t[39];let ye;t[40]!==p||t[41]!==S?(ye=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[q,(0,$.jsx)(b,{id:`account-password-confirm`,type:`password`,value:p,autoComplete:`new-password`,maxLength:256,disabled:S,className:y,onChange:J})]}),t[40]=p,t[41]=S,t[42]=ye):ye=t[42];let Y;t[43]!==T||t[44]!==h?(Y=h&&T?(0,$.jsx)(`p`,{role:`alert`,className:`text-xs text-destructive-foreground`,children:T}):null,t[43]=T,t[44]=h,t[45]=Y):Y=t[45];let xe;t[46]!==K||t[47]!==ye||t[48]!==Y?(xe=(0,$.jsxs)(ne,{className:`space-y-3`,children:[K,ye,Y]}),t[46]=K,t[47]=ye,t[48]=Y,t[49]=xe):xe=t[49];let Ce;t[50]===N?Ce=t[51]:(Ce=(0,$.jsx)(v,{variant:`outline`,onClick:N,children:`Cancel`}),t[50]=N,t[51]=Ce);let Z;t[52]===S?Z=t[53]:(Z=(0,$.jsx)(Ue,{busy:S,children:`Save password`}),t[52]=S,t[53]=Z);let we;t[54]!==n||t[55]!==Z?(we=(0,$.jsx)(v,{type:`submit`,disabled:n,children:Z}),t[54]=n,t[55]=Z,t[56]=we):we=t[56];let Te;t[57]!==Ce||t[58]!==we?(Te=(0,$.jsxs)(te,{children:[Ce,we]}),t[57]=Ce,t[58]=we,t[59]=Te):Te=t[59];let Q;t[60]!==W||t[61]!==xe||t[62]!==Te?(Q=(0,$.jsx)(O,{className:`max-w-md`,children:(0,$.jsxs)(`form`,{onSubmit:W,children:[he,xe,Te]})}),t[60]=W,t[61]=xe,t[62]=Te,t[63]=Q):Q=t[63];let Ee;t[64]!==s||t[65]!==U||t[66]!==Q?(Ee=(0,$.jsx)(ie,{open:s,onOpenChange:U,children:Q}),t[64]=s,t[65]=U,t[66]=Q,t[67]=Ee):Ee=t[67];let De;t[68]===n?De=t[69]:(De=e=>{n||x(e)},t[68]=n,t[69]=De);let Oe;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsxs)(ae,{children:[(0,$.jsx)(ue,{children:`Remove the password?`}),(0,$.jsx)(le,{children:`You will no longer be able to sign in with a password. Make sure you still have a passkey, or recovery codes you have saved.`})]}),t[70]=Oe):Oe=t[70];let ke;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsx)(se,{render:(0,$.jsx)(v,{variant:`outline`}),children:`Keep it`}),t[71]=ke):ke=t[71];let Ae;t[72]===me?Ae=t[73]:(Ae=()=>void me(),t[72]=me,t[73]=Ae);let je;t[74]!==n||t[75]!==Ae?(je=(0,$.jsxs)(ce,{children:[Oe,(0,$.jsxs)(oe,{children:[ke,(0,$.jsx)(v,{variant:`destructive`,disabled:n,onClick:Ae,children:`Remove password`})]})]}),t[74]=n,t[75]=Ae,t[76]=je):je=t[76];let Me;t[77]!==_||t[78]!==De||t[79]!==je?(Me=(0,$.jsx)(de,{open:_,onOpenChange:De,children:je}),t[77]=_,t[78]=De,t[79]=je,t[80]=Me):Me=t[80];let Ne;return t[81]!==z||t[82]!==H||t[83]!==Ee||t[84]!==Me?(Ne=(0,$.jsxs)(ve,{title:`Fallback sign-in`,icon:I,children:[z,H,Ee,Me]}),t[81]=z,t[82]=H,t[83]=Ee,t[84]=Me,t[85]=Ne):Ne=t[85],Ne}function _t(e){return c.removePassword(e)}function vt(e){let t=(0,Se.c)(25),{busy:n,actionStatus:r,email:i,deliveryConfigured:a,run:o}=e,[s,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(!1),m=r===`requesting-email-verification`,h;t[0]===s?h=t[1]:(h=G(s),t[0]=s,t[1]=h);let _=h,x;t[2]!==s||t[3]!==_||t[4]!==o?(x=async e=>{e.preventDefault(),d(!0),p(!1),!_&&await o(`request-email-verification`,e=>c.requestEmailVerification({email:s.trim(),...e}),{onCommitted:()=>{p(!0),l(``),d(!1)}})},t[2]=s,t[3]=_,t[4]=o,t[5]=x):x=t[5];let S=x,w;t[6]===a?w=t[7]:(w=a===!1?(0,$.jsx)(`div`,{className:`border-t border-border/60 px-4 pt-3.5 sm:px-5`,children:(0,$.jsxs)(E,{variant:`warning`,children:[(0,$.jsx)(g,{"aria-hidden":!0}),(0,$.jsx)(C,{children:`No mail will arrive yet`}),(0,$.jsx)(T,{children:`This Hub has no mail transport configured, so verification messages are generated and discarded. The request below will be accepted and nothing will be delivered until an operator wires one up. Do not rely on email as your way back into the account.`})]})}):null,t[6]=a,t[7]=w);let D=a?`Used for account recovery after verification. The Hub answers the same way whether or not the address is already known, so this never confirms who owns it.`:`Used for account recovery once mail delivery is switched on. The Hub answers the same way whether or not the address is already known, so this never confirms who owns it.`,ee=i===void 0?`Checking current state…`:i===null?`Not set`:`${i.verified?`Verified`:`Verification pending`} · ${i.address}`,te;t[8]!==f||t[9]!==n||t[10]!==i||t[11]!==a||t[12]!==s||t[13]!==_||t[14]!==m||t[15]!==S||t[16]!==u?(te=i===void 0?null:(0,$.jsxs)(`form`,{className:`pt-3 pb-3.5`,onSubmit:e=>void S(e),children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,$.jsx)(b,{"aria-label":`Email address`,type:`email`,value:s,autoComplete:`email`,placeholder:`you@example.com`,maxLength:254,disabled:m,className:y,onChange:e=>{l(e.target.value),p(!1)}}),(0,$.jsx)(v,{type:`submit`,size:`sm`,variant:`outline`,disabled:n,className:`shrink-0`,children:(0,$.jsx)(Ue,{busy:m,children:i===null?`Send verification`:i.verified?`Change email`:`Resend or change`})})]}),u&&_?(0,$.jsx)(`p`,{role:`alert`,className:`pt-2 text-xs text-destructive-foreground`,children:_}):null,f?(0,$.jsx)(`p`,{role:`status`,className:`pt-2 text-xs text-muted-foreground`,children:a?`Verification email requested. Check your inbox and spam folder; delivery may take a moment.`:`Request accepted by the Hub. No message will be delivered until a mail transport is configured.`}):null]}),t[8]=f,t[9]=n,t[10]=i,t[11]=a,t[12]=s,t[13]=_,t[14]=m,t[15]=S,t[16]=u,t[17]=te):te=t[17];let ne;t[18]!==D||t[19]!==ee||t[20]!==te?(ne=(0,$.jsx)(be,{title:`Recovery email`,description:D,status:ee,children:te}),t[18]=D,t[19]=ee,t[20]=te,t[21]=ne):ne=t[21];let re;return t[22]!==w||t[23]!==ne?(re=(0,$.jsxs)($.Fragment,{children:[w,ne]}),t[22]=w,t[23]=ne,t[24]=re):re=t[24],re}function yt(e){let t=(0,Se.c)(52),{busy:n,actionStatus:r,recoveryCodes:i,run:a}=e,[o,s]=(0,X.useState)(!1),c=r===`regenerating-recovery-codes`,{copyToClipboard:l,isCopied:f}=S(),m;t[0]===a?m=t[1]:(m=async()=>{s(!1),await a(`regenerate-recovery-codes`,Ct)},t[0]=a,t[1]=m);let h=m,g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(p,{"aria-hidden":!0,className:`size-3.5`}),t[2]=g):g=t[2];let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>s(!0),t[3]=_):_=t[3];let y;t[4]===c?y=t[5]:(y=(0,$.jsx)(Ue,{busy:c,children:`Generate new codes`}),t[4]=c,t[5]=y);let b;t[6]!==n||t[7]!==y?(b=(0,$.jsx)(be,{title:`One-time recovery codes`,description:`Single-use codes that get you back in when you have lost every passkey. They are a last resort, not a substitute for one — anyone holding a code can sign in as you.`,status:`Ryco shows them once and never writes them to browser storage.`,control:(0,$.jsx)(v,{size:`xs`,variant:`destructive-outline`,disabled:n,onClick:_,children:y})}),t[6]=n,t[7]=y,t[8]=b):b=t[8];let x;t[9]===n?x=t[10]:(x=e=>{n||s(e)},t[9]=n,t[10]=x);let C;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsxs)(ae,{children:[(0,$.jsx)(ue,{children:`Replace your recovery codes?`}),(0,$.jsx)(le,{children:`Every code you have already saved stops working immediately. You will get a new set, shown once — if you lose them you will have to generate another set from a session you can still sign in to.`})]}),t[11]=C):C=t[11];let w;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(se,{render:(0,$.jsx)(v,{variant:`outline`}),children:`Cancel`}),t[12]=w):w=t[12];let T;t[13]===h?T=t[14]:(T=()=>void h(),t[13]=h,t[14]=T);let E;t[15]!==n||t[16]!==T?(E=(0,$.jsxs)(ce,{children:[C,(0,$.jsxs)(oe,{children:[w,(0,$.jsx)(v,{variant:`destructive`,disabled:n,onClick:T,children:`Replace codes`})]})]}),t[15]=n,t[16]=T,t[17]=E):E=t[17];let k;t[18]!==o||t[19]!==E||t[20]!==x?(k=(0,$.jsx)(de,{open:o,onOpenChange:x,children:E}),t[18]=o,t[19]=E,t[20]=x,t[21]=k):k=t[21];let A=i.length>0,fe;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsx)(ee,{children:`Save your recovery codes`}),t[22]=fe):fe=t[22];let j=String(i.length),M;t[23]===j?M=t[24]:(M=(0,$.jsxs)(D,{children:[fe,(0,$.jsxs)(re,{children:[`Save all `,j,` codes — they are shown once and cannot be retrieved later. Store them somewhere only you can reach — a password manager, or paper somewhere safe.`]})]}),t[23]=j,t[24]=M);let N;t[25]===i?N=t[26]:(N=i.map(xt),t[25]=i,t[26]=N);let pe;t[27]===N?pe=t[28]:(pe=(0,$.jsx)(ne,{children:(0,$.jsx)(`ul`,{"aria-label":`Recovery codes`,className:`grid gap-2 rounded-xl border border-border bg-background p-4 font-mono text-sm break-all sm:grid-cols-2`,children:N})}),t[27]=N,t[28]=pe);let P;t[29]!==l||t[30]!==i?(P=()=>l(F(i),void 0),t[29]=l,t[30]=i,t[31]=P):P=t[31];let me;t[32]===f?me=t[33]:(me=f?(0,$.jsx)(u,{"aria-hidden":!0}):(0,$.jsx)(d,{"aria-hidden":!0}),t[32]=f,t[33]=me);let I=f?`Copied`:`Copy codes`,L;t[34]!==P||t[35]!==me||t[36]!==I?(L=(0,$.jsxs)(v,{variant:`outline`,onClick:P,children:[me,I]}),t[34]=P,t[35]=me,t[36]=I,t[37]=L):L=t[37];let R;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(v,{onClick:bt,children:`I saved the codes`}),t[38]=R):R=t[38];let z;t[39]===L?z=t[40]:(z=(0,$.jsxs)(te,{children:[L,R]}),t[39]=L,t[40]=z);let B;t[41]!==M||t[42]!==pe||t[43]!==z?(B=(0,$.jsxs)(O,{className:`max-w-md`,showCloseButton:!1,children:[M,pe,z]}),t[41]=M,t[42]=pe,t[43]=z,t[44]=B):B=t[44];let V;t[45]!==A||t[46]!==B?(V=(0,$.jsx)(ie,{open:A,disablePointerDismissal:!0,onOpenChange:St,children:B}),t[45]=A,t[46]=B,t[47]=V):V=t[47];let H;return t[48]!==k||t[49]!==V||t[50]!==b?(H=(0,$.jsxs)(ve,{title:`Recovery codes`,icon:g,children:[b,k,V]}),t[48]=k,t[49]=V,t[50]=b,t[51]=H):H=t[51],H}function bt(){return c.dismissRecoveryCodes()}function xt(e){return(0,$.jsx)(`li`,{children:e},e)}function St(e,t){e||t.cancel()}function Ct(e){return c.regenerateRecoveryCodes(e)}function wt(e){let t=(0,Se.c)(45),{pending:n,attempts:r,code:i,onCodeChange:a,onSubmit:o,onCancel:s,busy:c}=e,l=n!==null,u;t[0]===s?u=t[1]:(u=e=>{e||s()},t[0]=s,t[1]=u);let d;t[2]===o?d=t[3]:(d=e=>{e.preventDefault(),o()},t[2]=o,t[3]=d);let f;t[4]===n?f=t[5]:(f=n?M(n.action):``,t[4]=n,t[5]=f);let p;t[6]===f?p=t[7]:(p=(0,$.jsx)(ee,{children:f}),t[6]=f,t[7]=p);let m=n?.inferred??!1,h;t[8]!==r||t[9]!==m?(h=J(r,m),t[8]=r,t[9]=m,t[10]=h):h=t[10];let g;t[11]===h?g=t[12]:(g=(0,$.jsx)(re,{children:h}),t[11]=h,t[12]=g);let _;t[13]!==p||t[14]!==g?(_=(0,$.jsxs)(D,{children:[p,g]}),t[13]=p,t[14]=g,t[15]=_):_=t[15];let x;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(fe,{htmlFor:`account-step-up-code`,children:`Authenticator code`}),t[16]=x):x=t[16];let S;t[17]===a?S=t[18]:(S=e=>a(R(e.target.value)),t[17]=a,t[18]=S);let C;t[19]!==c||t[20]!==i||t[21]!==S?(C=(0,$.jsxs)(ne,{className:`space-y-2`,children:[x,(0,$.jsx)(b,{id:`account-step-up-code`,value:i,inputMode:`numeric`,autoComplete:`one-time-code`,maxLength:16,disabled:c,className:y,onChange:S})]}),t[19]=c,t[20]=i,t[21]=S,t[22]=C):C=t[22];let w;t[23]===s?w=t[24]:(w=(0,$.jsx)(v,{variant:`outline`,onClick:s,children:`Cancel`}),t[23]=s,t[24]=w);let T;t[25]!==c||t[26]!==i?(T=c||!W(i),t[25]=c,t[26]=i,t[27]=T):T=t[27];let E;t[28]===c?E=t[29]:(E=(0,$.jsx)(Ue,{busy:c,children:`Confirm code`}),t[28]=c,t[29]=E);let k;t[30]!==T||t[31]!==E?(k=(0,$.jsx)(v,{type:`submit`,disabled:T,children:E}),t[30]=T,t[31]=E,t[32]=k):k=t[32];let ae;t[33]!==w||t[34]!==k?(ae=(0,$.jsxs)(te,{children:[w,k]}),t[33]=w,t[34]=k,t[35]=ae):ae=t[35];let oe;t[36]!==C||t[37]!==ae||t[38]!==d||t[39]!==_?(oe=(0,$.jsx)(O,{className:`max-w-sm`,children:(0,$.jsxs)(`form`,{onSubmit:d,children:[_,C,ae]})}),t[36]=C,t[37]=ae,t[38]=d,t[39]=_,t[40]=oe):oe=t[40];let se;return t[41]!==l||t[42]!==oe||t[43]!==u?(se=(0,$.jsx)(ie,{open:l,onOpenChange:u,children:oe}),t[41]=l,t[42]=oe,t[43]=u,t[44]=se):se=t[44],se}export{We as AccountSettingsPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import{Kt as n,n as r}from"./primary-BqnEJHWx.js";import{Qr as i,T as a,b as o}from"./src-I4s4HU8f.js";import{Gi as s,Ji as c,Ki as l,Kr as u,Lr as d,Ur as f,b as p,ia as m,p as h,sa as g,u as _,vi as ee,y as v,zr as y}from"./runtime-CA2W9mZ-.js";import{t as b}from"./compiler-runtime-qmuS0Svy.js";import{i as te}from"./threadPriorityRefreshRuntime-DJjlyX7f.js";import{t as x}from"./archive-BFV4YQ7D.js";import{a as ne,i as S}from"./toast-CIjfIWUw.js";import{t as re}from"./refresh-cw-DiuiLTny.js";import{t as ie}from"./sparkles-nVLLtdqb.js";import{t as ae}from"./button-B6xQZNKz.js";import{t as oe}from"./switch-BMeRsIbg.js";import{t as C}from"./toastHelpers-CSQRKo4F.js";import{a as w,i as T,o as E,s as D,t as O}from"./select-qTezUK8F.js";import"./providerInstances-Cr8JmFCe.js";import{i as k,n as se,r as A}from"./settingsLayout-BuaXzjIe.js";import{t as j}from"./ProviderModelPicker-DHAY1n_1.js";var ce=[`Thread titles`,`Project or repository names`,`Branch names`,`Bucketed creation and activity age`,`Running, approval, input, queue, failure, and delivery state`,`Pull request or linked issue title and state`,`Up to 600 characters from the latest user request`],M=[{value:0,label:`Manual only`},{value:3e5,label:`Every 5 minutes`},{value:6e5,label:`Every 10 minutes`},{value:18e5,label:`Every 30 minutes`},{value:36e5,label:`Every hour`},{value:216e5,label:`Every 6 hours`},{value:864e5,label:`Every 24 hours`}];function le(e){return{...e.enabled===void 0?{}:{aiFocusEnabled:e.enabled},...e.refreshIntervalMs===void 0?{}:{aiFocusRefreshIntervalMs:e.refreshIntervalMs}}}function ue(e){return e.map(e=>{let t=e.serverConfig,n=t?.environment.capabilities.threadPriorityRanking===!0,r=t?.settings.inboxPriorityModelSelection??null,i=t?r??t.settings.textGenerationModelSelection:null,a=i===null?null:t?.providers.find(e=>e.instanceId===i.instanceId)??null;return{...e,supported:n,inherited:r===null,effectiveModelSelection:i,effectiveProvider:a}})}function N(e,t){let n=e.find(e=>e.instanceId===t);return!!(n&&n.enabled&&n.installed&&n.availability!==`unavailable`&&n.status!==`disabled`&&n.status!==`error`)}function P(e){if(e.selection!==null&&!N(e.serverConfig.providers,e.selection.instanceId))throw Error(`That provider instance is not available on this environment.`);return{inboxPriorityModelSelection:e.selection}}var F=b(),I=e(t(),1),L=m();function de(e){return e instanceof Error?e.message:`An unexpected error occurred.`}function fe(e){let t=(0,F.c)(12),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,L.jsx)(x,{className:`size-3.5`}),t[0]=n):n=t[0];let r;t[1]===e.value?r=t[2]:(r=e.value?.toString()??`off`,t[1]=e.value,t[2]=r);let i;t[3]===e?i=t[4]:(i=t=>{let n=t===`off`?null:Number(t);(n===null||a.includes(n))&&e.onChange(n)},t[3]=e,t[4]=i);let o=e.value===null?`Off`:`After ${e.value} ${e.value===1?`day`:`days`}`,s;t[5]===o?s=t[6]:(s=(0,L.jsx)(E,{className:`w-48`,"aria-label":`Auto-settle inactive tasks`,children:(0,L.jsx)(D,{children:o})}),t[5]=o,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,L.jsxs)(w,{align:`end`,alignItemWithTrigger:!1,children:[(0,L.jsx)(T,{hideIndicator:!0,value:`off`,children:`Off`}),a.map(R)]}),t[7]=c):c=t[7];let l;return t[8]!==r||t[9]!==i||t[10]!==s?(l=(0,L.jsx)(k,{title:`Housekeeping`,icon:n,children:(0,L.jsx)(A,{title:`Auto-settle inactive tasks`,description:`Move inactive tasks to Settled after their last message or turn. Running work, queued messages, pending input, open pull requests, and tasks kept active are protected.`,control:(0,L.jsxs)(O,{value:r,onValueChange:i,children:[s,c]})})}),t[8]=r,t[9]=i,t[10]=s,t[11]=l):l=t[11],l}function R(e){return(0,L.jsxs)(T,{hideIndicator:!0,value:String(e),children:[`After `,e,` `,e===1?`day`:`days`]},e)}function pe(){let e=(0,F.c)(2),[t,n]=(0,I.useState)(z),r,i;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>v(()=>{n(_())}),i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,I.useEffect)(r,i),t}function z(){return _()}function B({row:e}){let[t,n]=(0,I.useState)(!1),r=e.serverConfig;if(!r||!e.effectiveModelSelection)return null;let i={...r.settings,...o},a=e.effectiveModelSelection,s=u(f(r.providers)),c=d(i,r.providers,a.instanceId,a.model),l=async t=>{n(!0);try{let n=P({serverConfig:r,selection:t});await p(e.environmentId,n)}catch(t){S.add(C({type:`error`,title:`Could not update ${e.label}`,description:de(t)}))}finally{n(!1)}};return(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[(0,L.jsx)(j,{activeInstanceId:a.instanceId,model:a.model,lockedProvider:null,instanceEntries:s,modelOptionsByInstance:c,compact:!0,disabled:t||!e.connected,...e.connected?{}:{disabledReason:`Connect this environment to change its model.`},onInstanceModelChange:(e,t)=>{l(y({...i,textGenerationModelSelection:g(e,t)},r.providers))}}),e.inherited?null:(0,L.jsx)(ae,{size:`xs`,variant:`ghost`,disabled:t||!e.connected,onClick:()=>void l(null),children:`Use text model`})]})}function V(e){let t=(0,F.c)(6),{row:n}=e,r=n.effectiveProvider?.displayName??n.effectiveProvider?.driver??null,i=n.connected?n.supported?n.inherited?`Inherits the text-generation model${r?` (${r})`:``}.`:`Uses a separate model for Inbox ranking.`:`This node version does not support AI Focus ranking. Other supported nodes still work.`:`Offline — ranking waits for an existing connection.`,a;t[0]===n?a=t[1]:(a=n.supported?(0,L.jsx)(B,{row:n}):void 0,t[0]=n,t[1]=a);let o;return t[2]!==n.label||t[3]!==i||t[4]!==a?(o=(0,L.jsx)(A,{title:n.label,description:i,control:a}),t[2]=n.label,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function H(){let e=(0,F.c)(54),t=s(),{updateSettings:n}=l(),a=c(),o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=r(),e[0]=o):o=e[0];let u=o,d=ee(ve),f=pe(),[p,m]=(0,I.useState)(!1);u?.environmentId,u?.label;let h;if(e[1]!==f||e[2]!==a||e[3]!==d){let t=new Map;u?.environmentId&&t.set(u.environmentId,{label:u.label,config:a});for(let e of f){if(t.has(e.environmentId))continue;let n=d[e.environmentId];t.set(e.environmentId,{label:n?.descriptor?.label??e.knownEnvironment.label,config:n?.serverConfig??null})}for(let[e,n]of Object.entries(d)){let r=i.make(e);t.has(r)||t.set(r,{label:n.descriptor?.label??`Saved environment`,config:n.serverConfig})}h=ue([...t].map(_e)),e[1]=f,e[2]=a,e[3]=d,e[4]=h}else h=e[4];let g=h,_;e[5]===g?_=e[6]:(_=async()=>{m(!0);let e=await te(),t=e.failures;t.length>0?S.add(C({type:`error`,title:`AI Focus refresh failed`,description:t.map(e=>{let{environmentId:t,error:n}=e;return`${g.find(e=>e.environmentId===t)?.label??`Environment`}: ${de(n)}`}).join(` · `)})):S.add(C({type:`success`,title:e.attempted.length>0?`AI Focus refreshed`:`No connected supported nodes`,description:e.attempted.length>0?`Updated ${e.succeeded.length} environment${e.succeeded.length===1?``:`s`}.`:`Connect a supported node to rank its Inbox.`})),m(!1)},e[5]=g,e[6]=_);let v=_,y;e[7]===n?y=e[8]:(y=e=>n({sidebarAutoSettleAfterDays:e}),e[7]=n,e[8]=y);let b;e[9]!==t.sidebarAutoSettleAfterDays||e[10]!==y?(b=(0,L.jsx)(fe,{value:t.sidebarAutoSettleAfterDays,onChange:y}),e[9]=t.sidebarAutoSettleAfterDays,e[10]=y,e[11]=b):b=e[11];let x;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,L.jsx)(ie,{className:`size-3.5`}),e[12]=x):x=e[12];let T;e[13]===n?T=e[14]:(T=e=>n(le({enabled:e})),e[13]=n,e[14]=T);let j;e[15]!==t.aiFocusEnabled||e[16]!==T?(j=(0,L.jsx)(A,{title:`Prioritize the Inbox`,description:`Create a Focus section from pinned, actionable, and model-ranked threads. Focused threads are removed from Active, never duplicated.`,control:(0,L.jsx)(oe,{"aria-label":`Enable AI Focus`,checked:t.aiFocusEnabled,onCheckedChange:T})}),e[15]=t.aiFocusEnabled,e[16]=T,e[17]=j):j=e[17];let N=String(t.aiFocusRefreshIntervalMs),P;e[18]===n?P=e[19]:(P=e=>{let t=Number(e);n(le({refreshIntervalMs:t}))},e[18]=n,e[19]=P);let R;e[20]===t.aiFocusRefreshIntervalMs?R=e[21]:(R=M.find(e=>e.value===t.aiFocusRefreshIntervalMs)?.label??`Every 10 minutes`,e[20]=t.aiFocusRefreshIntervalMs,e[21]=R);let z;e[22]===R?z=e[23]:(z=(0,L.jsx)(E,{className:`w-48`,"aria-label":`AI Focus refresh interval`,children:(0,L.jsx)(D,{children:R})}),e[22]=R,e[23]=z);let B;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,L.jsx)(w,{align:`end`,alignItemWithTrigger:!1,children:M.map(ge)}),e[24]=B):B=e[24];let V;e[25]!==z||e[26]!==N||e[27]!==P?(V=(0,L.jsxs)(O,{value:N,onValueChange:P,children:[z,B]}),e[25]=z,e[26]=N,e[27]=P,e[28]=V):V=e[28];let H;e[29]===v?H=e[30]:(H=()=>void v(),e[29]=v,e[30]=H);let U=p?`size-4 animate-spin`:`size-4`,W;e[31]===U?W=e[32]:(W=(0,L.jsx)(re,{className:U}),e[31]=U,e[32]=W);let G;e[33]!==p||e[34]!==H||e[35]!==W?(G=(0,L.jsx)(ae,{size:`icon-sm`,variant:`outline`,"aria-label":`Refresh AI Focus now`,disabled:p,onClick:H,children:W}),e[33]=p,e[34]=H,e[35]=W,e[36]=G):G=e[36];let K;e[37]!==V||e[38]!==G?(K=(0,L.jsx)(A,{title:`Refresh rankings`,description:`Automatic checks use only nodes that are already connected. Manual-only never starts a connection.`,control:(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[V,G]})}),e[37]=V,e[38]=G,e[39]=K):K=e[39];let q;e[40]!==K||e[41]!==j?(q=(0,L.jsxs)(k,{title:`AI Focus`,icon:x,children:[j,K]}),e[40]=K,e[41]=j,e[42]=q):q=e[42];let J;e[43]===g?J=e[44]:(J=g.length>0?g.map(he):(0,L.jsx)(A,{title:`No environments available`,description:`Connect a node to configure its Inbox ranking model.`}),e[43]=g,e[44]=J);let Y;e[45]===J?Y=e[46]:(Y=(0,L.jsx)(k,{title:`Models`,children:J}),e[45]=J,e[46]=Y);let X;e[47]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,L.jsx)(ne,{className:`size-3.5`}),e[47]=X):X=e[47];let Z;e[48]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,L.jsx)(`p`,{className:`mb-3 text-xs text-muted-foreground`,children:`Ranking sends only this bounded metadata from each environment. It does not send full chat history, file contents, or message responses.`}),e[48]=Z):Z=e[48];let Q;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,L.jsx)(k,{title:`Data sent to the selected model`,icon:X,children:(0,L.jsxs)(`div`,{className:`px-5 py-4`,children:[Z,(0,L.jsx)(`ul`,{className:`grid gap-1.5 text-xs text-foreground/80 sm:grid-cols-2`,children:ce.map(me)})]})}),e[49]=Q):Q=e[49];let $;return e[50]!==q||e[51]!==Y||e[52]!==b?($=(0,L.jsxs)(se,{children:[b,q,Y,Q]}),e[50]=q,e[51]=Y,e[52]=b,e[53]=$):$=e[53],$}function me(e){return(0,L.jsxs)(`li`,{className:`flex gap-2`,children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:`text-muted-foreground`,children:`•`}),(0,L.jsx)(`span`,{children:e})]},e)}function he(e){return(0,L.jsx)(V,{row:e},e.environmentId)}function ge(e){return(0,L.jsx)(T,{hideIndicator:!0,value:String(e.value),children:e.label},e.value)}function _e(e){let[t,r]=e;return{environmentId:t,label:r.label,connected:h(t)!==null&&n(t).phase===`connected`,serverConfig:r.config}}function ve(e){return e.byId}export{H as AiFocusSettings};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import{V as n,ia as r}from"./runtime-CA2W9mZ-.js";import{t as i}from"./compiler-runtime-qmuS0Svy.js";import{f as a}from"./useRenderElement-5DRNLBaU.js";import{t as o}from"./clipboard-copy-CiD4tBsh.js";import{t as s}from"./copy-CkPe1c-r.js";import{t as c}from"./download-DPjzVxTa.js";import{i as l}from"./toast-CIjfIWUw.js";import{t as u}from"./palette-0qvNt1CR.js";import{t as d}from"./pencil-CA0DGufX.js";import{t as f}from"./plus-5kH13lqq.js";import{t as p}from"./trash-2-Dqgxd0nF.js";import{t as m}from"./x-BXHT1Zj1.js";import{t as h}from"./button-B6xQZNKz.js";import{t as g}from"./utils-B5qahmRn.js";import{t as _}from"./switch-BMeRsIbg.js";import{t as v}from"./input-Dn_zesdZ.js";import{n as y,r as b,t as x}from"./popover-CwhgX3HA.js";import{t as S}from"./textarea-Bu_OTJYe.js";import{a as C,i as w,n as T,o as E,r as D,s as O,t as k}from"./alert-dialog-BqPnPhb6.js";import{a as A,i as j,o as M,s as ee,t as N}from"./select-qTezUK8F.js";import{t as P}from"./badge-m9kM3P07.js";import{_ as F,a as I,b as te,f as ne,i as re,l as L,m as R,o as ie,p as ae,u as oe,y as se}from"./appearancePreferences-BhNRCg6W.js";import{_ as ce,a as le,b as ue,c as z,d as de,f as B,g as fe,h as pe,i as me,l as he,m as V,o as ge,p as _e,r as H,s as U,t as ve,u as W,v as ye,x as be,y as G}from"./useTheme-By1kfyiU.js";import{n as xe,t as K}from"./toggle-group-ChGfILTR.js";import{i as Se,n as Ce,r as q,t as J}from"./settingsLayout-BuaXzjIe.js";var we=a(`baseline`,[[`path`,{d:`M4 20h16`,key:`14thso`}],[`path`,{d:`m6 16 6-12 6 12`,key:`1b4byz`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]]),Te=a(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),Ee=a(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),De=a(`radius`,[[`path`,{d:`M20.34 17.52a10 10 0 1 0-2.82 2.82`,key:`fydyku`}],[`circle`,{cx:`19`,cy:`19`,r:`2`,key:`17f5cg`}],[`path`,{d:`m13.41 13.41 4.18 4.18`,key:`1gqbwc`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),Oe=a(`type`,[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]),ke=a(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),Y=e(t(),1),X=i(),Z=`.rycotheme.json`,Ae=/[^a-z0-9-_]+/gi;function je(e){let t=(e.name||e.id).trim().replace(Ae,`-`).replace(/^-+|-+$/g,``);return`${t.length>0?t:e.id||`theme`}${Z}`}function Me(e){let t={id:e.id,name:e.name};return e.description&&(t.description=e.description),e.light&&(t.light={...e.light}),e.dark&&(t.dark={...e.dark}),JSON.stringify(t,null,2)}function Ne(e){let t;try{t=JSON.parse(e)}catch(e){throw Error(`Could not parse theme JSON: ${e instanceof Error?e.message:`invalid JSON`}`,{cause:e})}if(!_e(t))throw Error(`Theme JSON does not match the schema (need string id/name and string-only light/dark tokens).`);let n={id:t.id,name:t.name,builtIn:!1};return t.description&&(n.description=t.description),t.light&&(n.light={...t.light}),t.dark&&(n.dark={...t.dark}),n}function Pe(e,t=`rename`){let n=Ne(e);if(!W().find(e=>e.id===n.id))return me(n),{theme:n,action:`added`};if(de(n.id)||t===`rename`){let e={...n,id:he(n.id)};return me(e),{theme:e,action:`renamed`}}return ye(n.id,n),{theme:n,action:`replaced`}}typeof TextEncoder>`u`||new TextEncoder,typeof TextDecoder>`u`||new TextDecoder;async function Fe(e){let t=Me(e);if(typeof navigator>`u`||!navigator.clipboard)throw Error(`Clipboard API not available in this environment.`);await navigator.clipboard.writeText(t)}function Ie(e){if(typeof document>`u`||typeof URL>`u`||typeof Blob>`u`)throw Error(`Download not supported in this environment.`);let t=new Blob([Me(e)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=je(e),r.rel=`noopener`,document.body.append(r),r.click(),r.remove(),URL.revokeObjectURL(n)}async function Le(e,t={}){let n=Pe(await e.text(),t.collision??`rename`);return t.activate&&(ce(n.theme.id),le(n.theme)),n}var Q=r();function Re(e,t,n){return e<t?t:e>n?n:e}function ze(e){let t=e.trim().replace(/^#/,``),n;if(t.length===3)n=t.split(``).map(e=>`${e}${e}`).join(``);else if(t.length===6)n=t;else return null;return/^[0-9a-fA-F]{6}$/.test(n)?{r:Number.parseInt(n.slice(0,2),16),g:Number.parseInt(n.slice(2,4),16),b:Number.parseInt(n.slice(4,6),16)}:null}function Be({r:e,g:t,b:n}){let r=e=>Re(Math.round(e),0,255).toString(16).padStart(2,`0`);return`#${r(e)}${r(t)}${r(n)}`}function Ve({r:e,g:t,b:n}){let r=e/255,i=t/255,a=n/255,o=Math.max(r,i,a),s=o-Math.min(r,i,a),c=0;s!==0&&(c=o===r?60*((i-a)/s%6):o===i?60*((a-r)/s+2):60*((r-i)/s+4)),c<0&&(c+=360);let l=o===0?0:s/o;return{h:c,s:l,v:o}}function He({h:e,s:t,v:n}){let r=n*t,i=(e%360+360)%360/60,a=r*(1-Math.abs(i%2-1)),o=0,s=0,c=0;i<1?[o,s,c]=[r,a,0]:i<2?[o,s,c]=[a,r,0]:i<3?[o,s,c]=[0,r,a]:i<4?[o,s,c]=[0,a,r]:i<5?[o,s,c]=[a,0,r]:[o,s,c]=[r,0,a];let l=n-r;return{r:(o+l)*255,g:(s+l)*255,b:(c+l)*255}}function Ue(e){let t=(0,X.c)(71),{value:n,onChange:r,children:i,side:a,align:o,ariaLabel:s,triggerClassName:c}=e,l=a===void 0?`bottom`:a,u=o===void 0?`start`:o,d;t[0]===n?d=t[1]:(d=()=>{let e=ze(n);return e?Ve(e):{h:0,s:0,v:0}},t[0]=n,t[1]=d);let[f,p]=(0,Y.useState)(d),[m,h]=(0,Y.useState)(n),[_,S]=(0,Y.useState)(!1),C=(0,Y.useRef)(null),w=(0,Y.useRef)(null),T=(0,Y.useRef)(r),E=(0,Y.useRef)(f.h),D;t[2]===r?D=t[3]:(D=()=>{T.current=r},t[2]=r,t[3]=D),(0,Y.useEffect)(D);let O,k;t[4]===f.h?(O=t[5],k=t[6]):(O=()=>{E.current=f.h},k=[f.h],t[4]=f.h,t[5]=O,t[6]=k),(0,Y.useEffect)(O,k);let A;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{if(C.current=null,w.current===null)return;let e=w.current;w.current=null,T.current(e)},t[7]=A):A=t[7];let j=A,M;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(M=e=>{w.current=e,C.current===null&&(C.current=requestAnimationFrame(j))},t[8]=M):M=t[8];let ee=M,N,P;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>()=>{if(C.current!==null&&(cancelAnimationFrame(C.current),C.current=null),w.current!==null){let e=w.current;w.current=null,T.current(e)}},N=[],t[9]=N,t[10]=P):(N=t[9],P=t[10]),(0,Y.useEffect)(P,N);let F;t[11]===f?F=t[12]:(F=Be(He(f)),t[11]=f,t[12]=F);let I=F,te,ne;t[13]!==I||t[14]!==n?(te=()=>{if(n.toLowerCase()===I.toLowerCase())return;let e=ze(n);if(!e)return;let t=Ve(e);p(e=>({h:t.s===0?e.h:t.h,s:t.s,v:t.v})),h(n)},ne=[n,I],t[13]=I,t[14]=n,t[15]=te,t[16]=ne):(te=t[15],ne=t[16]),(0,Y.useEffect)(te,ne);let re=(0,Y.useRef)(null),L;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(L=e=>{let t=re.current;if(!t)return;let n=t.getBoundingClientRect(),r=Re(e.clientX-n.left,0,n.width),i=Re(e.clientY-n.top,0,n.height),a=n.width===0?0:r/n.width,o=n.height===0?0:1-i/n.height;p(e=>{let t={h:e.h,s:a,v:o},n=Be(He(t));return h(n),w.current=n,C.current===null&&(C.current=requestAnimationFrame(j)),t})},t[17]=L):L=t[17];let R=L,ie;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(ie=e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),R(e)},t[18]=ie):ie=t[18];let ae=ie,oe;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(oe=e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&R(e)},t[19]=oe):oe=t[19];let se=oe,ce=(0,Y.useRef)(null),le;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(le=e=>{let t=ce.current;if(!t)return;let n=t.getBoundingClientRect(),r=Re(e.clientX-n.left,0,n.width),i=n.width===0?0:r/n.width*360;p(e=>{let t={h:i,s:e.s,v:e.v},n=Be(He(t));return h(n),w.current=n,C.current===null&&(C.current=requestAnimationFrame(j)),t})},t[20]=le):le=t[20];let ue=le,z;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId),ue(e)},t[21]=z):z=t[21];let de=z,B;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(B=e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&ue(e)},t[22]=B):B=t[22];let fe=B,pe;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(pe=e=>{h(e);let t=ze(e.startsWith(`#`)?e:`#${e}`);if(!t)return;let n=Ve(t),r={h:n.s===0?E.current:n.h,s:n.s,v:n.v};p(r),ee(Be(t))},t[23]=pe):pe=t[23];let me=pe,he=`${f.h/360*100}%`,V=`${f.s*100}%`,ge=`${(1-f.v)*100}%`,_e=`hsl(${f.h} 100% 50%)`,H;t[24]===c?H=t[25]:(H=g(`relative size-5 shrink-0 cursor-pointer overflow-hidden rounded-sm border border-border/80 outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background`,c),t[24]=c,t[25]=H);let U;t[26]!==s||t[27]!==i||t[28]!==H?(U=(0,Q.jsx)(b,{"aria-label":s,className:H,children:i}),t[26]=s,t[27]=i,t[28]=H,t[29]=U):U=t[29];let ve;t[30]===f.s?ve=t[31]:(ve=Math.round(f.s*100),t[30]=f.s,t[31]=ve);let W;t[32]===_e?W=t[33]:(W={backgroundColor:_e},t[32]=_e,t[33]=W);let ye;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,Q.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0`,style:{background:`linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0))`}}),t[34]=ye):ye=t[34];let be;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,Q.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-0`,style:{background:`linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0))`}}),t[35]=be):be=t[35];let G;t[36]!==V||t[37]!==ge?(G=(0,Q.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute size-3 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow-[0_0_0_1px_rgba(0,0,0,0.4)]`,style:{left:V,top:ge}}),t[36]=V,t[37]=ge,t[38]=G):G=t[38];let xe;t[39]!==ve||t[40]!==W||t[41]!==G?(xe=(0,Q.jsxs)(`div`,{ref:re,role:`slider`,"aria-label":`Saturation and value`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":ve,tabIndex:0,className:`relative h-36 w-full cursor-crosshair touch-none select-none overflow-hidden rounded-md outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,style:W,onPointerDown:ae,onPointerMove:se,children:[ye,be,G]}),t[39]=ve,t[40]=W,t[41]=G,t[42]=xe):xe=t[42];let K;t[43]===f.h?K=t[44]:(K=Math.round(f.h),t[43]=f.h,t[44]=K);let Se;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(Se={background:`linear-gradient(to right, hsl(0 100% 50%), hsl(60 100% 50%), hsl(120 100% 50%), hsl(180 100% 50%), hsl(240 100% 50%), hsl(300 100% 50%), hsl(360 100% 50%))`},t[45]=Se):Se=t[45];let Ce;t[46]===he?Ce=t[47]:(Ce=(0,Q.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute top-1/2 size-3 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-white shadow-[0_0_0_1px_rgba(0,0,0,0.4)]`,style:{left:he}}),t[46]=he,t[47]=Ce);let q;t[48]!==K||t[49]!==Ce?(q=(0,Q.jsx)(`div`,{ref:ce,role:`slider`,"aria-label":`Hue`,"aria-valuemin":0,"aria-valuemax":360,"aria-valuenow":K,tabIndex:0,className:`relative h-3 w-full cursor-ew-resize touch-none select-none overflow-hidden rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,style:Se,onPointerDown:de,onPointerMove:fe,children:Ce}),t[48]=K,t[49]=Ce,t[50]=q):q=t[50];let J;t[51]===I?J=t[52]:(J=(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`size-7 shrink-0 rounded-md border border-border/60`,style:{backgroundColor:I}}),t[51]=I,t[52]=J);let we;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(we=e=>me(e.currentTarget.value),t[53]=we):we=t[53];let Te;t[54]===m?Te=t[55]:(Te=(0,Q.jsx)(v,{value:m,size:`sm`,nativeInput:!0,onChange:we,spellCheck:!1,className:`font-mono text-xs`,"aria-label":`Hex value`}),t[54]=m,t[55]=Te);let Ee;t[56]!==J||t[57]!==Te?(Ee=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[J,Te]}),t[56]=J,t[57]=Te,t[58]=Ee):Ee=t[58];let De;t[59]!==xe||t[60]!==q||t[61]!==Ee?(De=(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[xe,q,Ee]}),t[59]=xe,t[60]=q,t[61]=Ee,t[62]=De):De=t[62];let Oe;t[63]!==u||t[64]!==l||t[65]!==De?(Oe=(0,Q.jsx)(y,{side:l,align:u,className:`w-64`,children:De}),t[63]=u,t[64]=l,t[65]=De,t[66]=Oe):Oe=t[66];let ke;return t[67]!==_||t[68]!==U||t[69]!==Oe?(ke=(0,Q.jsxs)(x,{open:_,onOpenChange:S,children:[U,Oe]}),t[67]=_,t[68]=U,t[69]=Oe,t[70]=ke):ke=t[70],ke}var We=[{title:`Surfaces`,tokens:[`background`,`app-chrome-background`,`foreground`,`card`,`card-foreground`,`popover`,`popover-foreground`]},{title:`Brand & focus`,tokens:[`primary`,`primary-foreground`,`ring`]},{title:`Neutrals`,tokens:[`secondary`,`secondary-foreground`,`muted`,`muted-foreground`,`accent`,`accent-foreground`]},{title:`Status`,tokens:[`destructive`,`destructive-foreground`,`info`,`info-foreground`,`success`,`success-foreground`,`warning`,`warning-foreground`]},{title:`Borders & inputs`,tokens:[`border`,`input`]},{title:`Scrollbars`,tokens:[`scrollbar-thumb`,`scrollbar-thumb-hover`,`scrollbar-thumb-thin`,`scrollbar-thumb-thin-hover`]}],Ge=new Set(G),$=null,Ke=null;function qe(e){if(typeof document>`u`||document.body===void 0||!e)return`#000000`;$||($=document.createElement(`div`),$.style.position=`absolute`,$.style.visibility=`hidden`,$.style.pointerEvents=`none`,document.body.append($)),$.style.color=``,$.style.color=e;let t=getComputedStyle($).color;Ke||=document.createElement(`canvas`),Ke.width=1,Ke.height=1;let n=Ke.getContext(`2d`,{willReadFrequently:!0});if(!n)return`#000000`;n.clearRect(0,0,1,1);try{n.fillStyle=t}catch{return`#000000`}n.fillRect(0,0,1,1);let r=n.getImageData(0,0,1,1).data;return`#${[r[0],r[1],r[2]].map(e=>(e??0).toString(16).padStart(2,`0`)).join(``)}`}function Je(e,t,n,r){let i={...e[t]};return r.length===0?delete i[n]:i[n]=r,t===`light`?{...e,light:i}:{...e,dark:i}}function Ye(e,t){return{...e,name:t}}function Xe(e,t){let n={...e};return t.length===0?delete n.description:n.description=t,n}function Ze(e){return H.includes(e)}function Qe(e){let t=(0,X.c)(124),{source:n,draft:r,onDraftChange:i,onSave:a,onCancel:o,resolvedVariant:s}=e,[c,l]=(0,Y.useState)(`form`),[u,d]=(0,Y.useState)(s),f;t[0]===r?f=t[1]:(f=()=>JSON.stringify(r,null,2),t[0]=r,t[1]=f);let[p,m]=(0,Y.useState)(f),[g,_]=(0,Y.useState)(null),[y,b]=(0,Y.useState)(!1),x;t[2]===n?x=t[3]:(x=JSON.stringify(n),t[2]=n,t[3]=x);let A;t[4]===r?A=t[5]:(A=JSON.stringify(r),t[4]=r,t[5]=A);let j=x!==A,M;t[6]===r?M=t[7]:(M=()=>{le(r)},t[6]=r,t[7]=M);let ee;t[8]!==r||t[9]!==s?(ee=[r,s],t[8]=r,t[9]=s,t[10]=ee):ee=t[10],(0,Y.useEffect)(M,ee);let N,P;t[11]!==r||t[12]!==c?(N=()=>{c===`form`&&m(JSON.stringify(r,null,2))},P=[r,c],t[11]=r,t[12]=c,t[13]=N,t[14]=P):(N=t[13],P=t[14]),(0,Y.useEffect)(N,P);let F;t[15]!==r||t[16]!==i?(F=e=>{i(Ye(r,e))},t[15]=r,t[16]=i,t[17]=F):F=t[17];let I=F,te;t[18]!==r||t[19]!==i?(te=e=>{i(Xe(r,e))},t[18]=r,t[19]=i,t[20]=te):te=t[20];let ne=te,re;t[21]!==r||t[22]!==i||t[23]!==u?(re=(e,t)=>{i(Je(r,u,e,t))},t[21]=r,t[22]=i,t[23]=u,t[24]=re):re=t[24];let L=re,R;t[25]===i?R=t[26]:(R=e=>{m(e);let t;try{t=JSON.parse(e)}catch(e){let t=e;_(t instanceof Error?t.message:`Invalid JSON`);return}if(!_e(t)){_(`Invalid theme schema. Need string id/name and string-only light/dark tokens.`);return}_(null),i(t)},t[25]=i,t[26]=R);let ie=R,ae;t[27]!==j||t[28]!==o?(ae=()=>{if(j){b(!0);return}o()},t[27]=j,t[28]=o,t[29]=ae):ae=t[29];let oe=ae,se,ce,z;if(t[30]!==r.dark||t[31]!==r.light||t[32]!==u){z=(u===`dark`?r.dark:r.light)??{};let e;t[36]===u?e=t[37]:(e=(u===`dark`?be.dark:be.light)??{},t[36]=u,t[37]=e),se=e,ce=Object.entries(z).filter(tt),t[30]=r.dark,t[31]=r.light,t[32]=u,t[33]=se,t[34]=ce,t[35]=z}else se=t[33],ce=t[34],z=t[35];let de=ce,B=$e,fe=B(r.light)||B(r.dark),pe;t[38]!==r.name||t[39]!==fe||t[40]!==g?(pe=g!==null||r.name.trim().length===0||fe,t[38]=r.name,t[39]=fe,t[40]=g,t[41]=pe):pe=t[41];let me=pe,he;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,Q.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground`,children:`Editing`}),t[42]=he):he=t[42];let V=r.name||`Untitled`,ge;t[43]!==r.name||t[44]!==V?(ge=(0,Q.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,title:r.name,children:V}),t[43]=r.name,t[44]=V,t[45]=ge):ge=t[45];let H;t[46]===j?H=t[47]:(H=j?(0,Q.jsx)(`span`,{className:`rounded-sm bg-warning/16 px-1.5 py-0.5 text-[10px] font-medium text-warning-foreground`,children:`Unsaved`}):null,t[46]=j,t[47]=H);let U;t[48]===oe?U=t[49]:(U=(0,Q.jsx)(h,{size:`sm`,variant:`outline`,onClick:oe,children:`Cancel`}),t[48]=oe,t[49]=U);let ve;t[50]!==a||t[51]!==me?(ve=(0,Q.jsx)(h,{size:`sm`,onClick:a,disabled:me,children:`Save`}),t[50]=a,t[51]=me,t[52]=ve):ve=t[52];let W;t[53]!==U||t[54]!==ve?(W=(0,Q.jsxs)(`div`,{className:`ms-auto flex items-center gap-2`,children:[U,ve]}),t[53]=U,t[54]=ve,t[55]=W):W=t[55];let ye;t[56]!==ge||t[57]!==H||t[58]!==W?(ye=(0,Q.jsxs)(`div`,{className:`sticky top-0 z-10 flex flex-wrap items-center gap-2 border-b border-border/60 bg-muted/72 px-4 py-2 backdrop-blur-sm sm:px-5`,children:[he,ge,H,W]}),t[56]=ge,t[57]=H,t[58]=W,t[59]=ye):ye=t[59];let G;t[60]===c?G=t[61]:(G=[c],t[60]=c,t[61]=G);let Se,Ce,q;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(Se=e=>{let t=e[0];(t===`form`||t===`json`)&&l(t)},Ce=(0,Q.jsx)(K,{value:`form`,"aria-label":`Form editor`,className:`px-3 sm:px-3`,children:`Form`}),q=(0,Q.jsx)(K,{value:`json`,"aria-label":`JSON editor`,className:`px-3 sm:px-3`,children:`JSON`}),t[62]=Se,t[63]=Ce,t[64]=q):(Se=t[62],Ce=t[63],q=t[64]);let J;t[65]===G?J=t[66]:(J=(0,Q.jsxs)(xe,{value:G,variant:`outline`,size:`sm`,onValueChange:Se,children:[Ce,q]}),t[65]=G,t[66]=J);let we;t[67]===u?we=t[68]:(we=[u],t[67]=u,t[68]=we);let Te,Ee,De;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(Te=e=>{let t=e[0];(t===`light`||t===`dark`)&&d(t)},Ee=(0,Q.jsx)(K,{value:`light`,"aria-label":`Light variant`,className:`px-3 sm:px-3`,children:`Light`}),De=(0,Q.jsx)(K,{value:`dark`,"aria-label":`Dark variant`,className:`px-3 sm:px-3`,children:`Dark`}),t[69]=Te,t[70]=Ee,t[71]=De):(Te=t[69],Ee=t[70],De=t[71]);let Oe;t[72]===we?Oe=t[73]:(Oe=(0,Q.jsxs)(xe,{value:we,variant:`outline`,size:`sm`,onValueChange:Te,children:[Ee,De]}),t[72]=we,t[73]=Oe);let ke;t[74]!==J||t[75]!==Oe?(ke=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[J,Oe]}),t[74]=J,t[75]=Oe,t[76]=ke):ke=t[76];let Z;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Name`}),t[77]=Z):Z=t[77];let Ae;t[78]===I?Ae=t[79]:(Ae=e=>I(e.currentTarget.value),t[78]=I,t[79]=Ae);let je;t[80]===r.name?je=t[81]:(je=r.name.trim().length===0||void 0,t[80]=r.name,t[81]=je);let Me;t[82]!==r.name||t[83]!==Ae||t[84]!==je?(Me=(0,Q.jsxs)(`label`,{className:`space-y-1.5`,children:[Z,(0,Q.jsx)(v,{value:r.name,nativeInput:!0,onChange:Ae,"aria-invalid":je})]}),t[82]=r.name,t[83]=Ae,t[84]=je,t[85]=Me):Me=t[85];let Ne;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,Q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Description`}),t[86]=Ne):Ne=t[86];let Pe=r.description??``,Fe;t[87]===ne?Fe=t[88]:(Fe=e=>ne(e.currentTarget.value),t[87]=ne,t[88]=Fe);let Ie;t[89]!==Pe||t[90]!==Fe?(Ie=(0,Q.jsxs)(`label`,{className:`space-y-1.5`,children:[Ne,(0,Q.jsx)(v,{value:Pe,nativeInput:!0,onChange:Fe,placeholder:`Optional, shown under the picker.`})]}),t[89]=Pe,t[90]=Fe,t[91]=Ie):Ie=t[91];let Le;t[92]!==Me||t[93]!==Ie?(Le=(0,Q.jsxs)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]`,children:[Me,Ie]}),t[92]=Me,t[93]=Ie,t[94]=Le):Le=t[94];let Re;t[95]!==ie||t[96]!==L||t[97]!==se||t[98]!==g||t[99]!==p||t[100]!==c||t[101]!==de||t[102]!==z?(Re=c===`form`?(0,Q.jsxs)(`div`,{className:`mt-5 space-y-5`,children:[We.map(e=>(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`h4`,{className:`text-[11px] font-semibold uppercase tracking-[0.08em] text-muted-foreground`,children:e.title}),(0,Q.jsx)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:e.tokens.map(e=>{let t=z[e]??``,n=se[e]??``,r=ue(e);return r?(0,Q.jsx)(nt,{token:e,kind:r,value:t,inherited:n,onChange:t=>L(e,t)},e):null})})]},e.title)),de.length>0?(0,Q.jsxs)(`p`,{className:`text-xs text-warning-foreground`,children:[de.length,` token`,de.length===1?``:`s`,` not in the allow-list will be ignored on save.`]}):null]}):(0,Q.jsxs)(`div`,{className:`mt-5 space-y-2`,children:[(0,Q.jsx)(S,{value:p,size:`sm`,className:`font-mono text-xs`,spellCheck:!1,rows:18,onChange:e=>ie(e.currentTarget.value),"aria-invalid":g!==null||void 0}),g?(0,Q.jsx)(`p`,{className:`text-xs text-destructive-foreground`,children:g}):(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground/80`,children:`Edit the JSON directly. Save is disabled while the schema is invalid.`})]}),t[95]=ie,t[96]=L,t[97]=se,t[98]=g,t[99]=p,t[100]=c,t[101]=de,t[102]=z,t[103]=Re):Re=t[103];let ze;t[104]!==ke||t[105]!==Le||t[106]!==Re?(ze=(0,Q.jsxs)(`div`,{className:`px-4 py-4 sm:px-5`,children:[ke,Le,Re]}),t[104]=ke,t[105]=Le,t[106]=Re,t[107]=ze):ze=t[107];let Be;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,Q.jsx)(O,{children:`Discard your changes?`}),t[108]=Be):Be=t[108];let Ve;t[109]===n.name?Ve=t[110]:(Ve=(0,Q.jsxs)(C,{children:[Be,(0,Q.jsxs)(D,{children:[`You have unsaved edits to `,n.name,`. Discarding will revert any token changes you made.`]})]}),t[109]=n.name,t[110]=Ve);let He;t[111]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,Q.jsx)(T,{render:(0,Q.jsx)(h,{variant:`outline`}),children:`Keep editing`}),t[111]=He):He=t[111];let Ue;t[112]===o?Ue=t[113]:(Ue=(0,Q.jsxs)(w,{children:[He,(0,Q.jsx)(h,{variant:`destructive`,onClick:()=>{b(!1),o()},children:`Discard changes`})]}),t[112]=o,t[113]=Ue);let Ge;t[114]!==Ve||t[115]!==Ue?(Ge=(0,Q.jsxs)(E,{children:[Ve,Ue]}),t[114]=Ve,t[115]=Ue,t[116]=Ge):Ge=t[116];let $;t[117]!==y||t[118]!==Ge?($=(0,Q.jsx)(k,{open:y,onOpenChange:b,children:Ge}),t[117]=y,t[118]=Ge,t[119]=$):$=t[119];let Ke;return t[120]!==ye||t[121]!==ze||t[122]!==$?(Ke=(0,Q.jsxs)(`div`,{className:`border-t border-border/60 bg-muted/24`,children:[ye,ze,$]}),t[120]=ye,t[121]=ze,t[122]=$,t[123]=Ke):Ke=t[123],Ke}function $e(e){return Object.entries(e??{}).some(et)}function et(e){let[t,n]=e;if(typeof n!=`string`||n.length===0)return!1;let r=ue(t);return r?!V(r,n):!1}function tt(e){let[t]=e;return!Ge.has(t)}function nt(e){let t=(0,X.c)(12),{token:n,kind:r,value:i,inherited:a,onChange:o}=e,s=i.length>0,c=r===`font-family`&&`sm:col-span-2`,l;t[0]===c?l=t[1]:(l=g(`rounded-md border border-border/60 bg-background px-2 py-1.5`,c),t[0]=c,t[1]=l);let u;t[2]!==a||t[3]!==r||t[4]!==o||t[5]!==s||t[6]!==n||t[7]!==i?(u=r===`color`?(0,Q.jsx)(at,{token:n,value:i,inherited:a,overridden:s,onChange:o}):r===`opacity`?(0,Q.jsx)(ot,{token:n,value:i,inherited:a,overridden:s,onChange:o}):r===`length`?(0,Q.jsx)(st,{token:n,value:i,inherited:a,overridden:s,onChange:o}):(0,Q.jsx)(lt,{token:n,value:i,inherited:a,overridden:s,onChange:o}),t[2]=a,t[3]=r,t[4]=o,t[5]=s,t[6]=n,t[7]=i,t[8]=u):u=t[8];let d;return t[9]!==l||t[10]!==u?(d=(0,Q.jsx)(`div`,{className:l,children:u}),t[9]=l,t[10]=u,t[11]=d):d=t[11],d}function rt(e){let t=(0,X.c)(6),{token:n,onChange:r}=e,i=`Reset --${n}`,a;t[0]===r?a=t[1]:(a=()=>r(``),t[0]=r,t[1]=a);let o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(m,{className:`size-3.5`,"aria-hidden":!0}),t[2]=o):o=t[2];let s;return t[3]!==i||t[4]!==a?(s=(0,Q.jsx)(h,{size:`icon-xs`,variant:`ghost`,"aria-label":i,onClick:a,className:`text-muted-foreground`,children:o}),t[3]=i,t[4]=a,t[5]=s):s=t[5],s}function it(e){let t=(0,X.c)(6),{token:n,overridden:r}=e,i=r?`text-foreground`:`text-muted-foreground/70`,a;t[0]===i?a=t[1]:(a=g(`truncate font-mono text-[11px]`,i),t[0]=i,t[1]=a);let o=`--${n}`,s;return t[2]!==a||t[3]!==o||t[4]!==n?(s=(0,Q.jsxs)(`span`,{className:a,title:o,children:[`--`,n]}),t[2]=a,t[3]=o,t[4]=n,t[5]=s):s=t[5],s}function at(e){let t=(0,X.c)(41),{token:n,value:r,inherited:i,overridden:a,onChange:o}=e,s=r||i,c,l,u,d,f;if(t[0]!==s||t[1]!==r){u=pe(s);let e;t[7]===r?e=t[8]:(e=r.length>0&&!B(r),t[7]=r,t[8]=e),l=e,f=`flex items-center gap-2`,c=Ue,d=qe(u),t[0]=s,t[1]=r,t[2]=c,t[3]=l,t[4]=u,t[5]=d,t[6]=f}else c=t[2],l=t[3],u=t[4],d=t[5],f=t[6];let p;t[9]===o?p=t[10]:(p=e=>o(e),t[9]=o,t[10]=p);let m=`Pick a color for --${n}`,h=l?`transparent`:u||`transparent`,g;t[11]===h?g=t[12]:(g=(0,Q.jsx)(`span`,{className:`pointer-events-none absolute inset-0`,style:{backgroundColor:h},"aria-hidden":!0}),t[11]=h,t[12]=g);let _;t[13]!==c||t[14]!==d||t[15]!==p||t[16]!==m||t[17]!==g?(_=(0,Q.jsx)(c,{value:d,onChange:p,ariaLabel:m,children:g}),t[13]=c,t[14]=d,t[15]=p,t[16]=m,t[17]=g,t[18]=_):_=t[18];let y;t[19]!==a||t[20]!==n?(y=(0,Q.jsx)(it,{token:n,overridden:a}),t[19]=a,t[20]=n,t[21]=y):y=t[21];let b=i||`inherit default`,x=l||void 0,S;t[22]===o?S=t[23]:(S=e=>o(e.currentTarget.value),t[22]=o,t[23]=S);let C;t[24]!==x||t[25]!==S||t[26]!==b||t[27]!==r?(C=(0,Q.jsx)(v,{value:r,nativeInput:!0,unstyled:!0,size:`sm`,className:`border-0 bg-transparent p-0 shadow-none focus-within:shadow-none`,placeholder:b,"aria-invalid":x,onChange:S}),t[24]=x,t[25]=S,t[26]=b,t[27]=r,t[28]=C):C=t[28];let w;t[29]!==C||t[30]!==y?(w=(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[y,C]}),t[29]=C,t[30]=y,t[31]=w):w=t[31];let T;t[32]!==o||t[33]!==a||t[34]!==n?(T=a?(0,Q.jsx)(rt,{token:n,onChange:o}):null,t[32]=o,t[33]=a,t[34]=n,t[35]=T):T=t[35];let E;return t[36]!==w||t[37]!==T||t[38]!==f||t[39]!==_?(E=(0,Q.jsxs)(`div`,{className:f,children:[_,w,T]}),t[36]=w,t[37]=T,t[38]=f,t[39]=_,t[40]=E):E=t[40],E}function ot(e){let t=(0,X.c)(31),{token:n,value:r,inherited:i,overridden:a,onChange:o}=e,s=Number(r||i),c;t[0]===s?c=t[1]:(c=Number.isFinite(s)?Math.min(1,Math.max(0,s)):0,t[0]=s,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=r.length>0&&!V(`opacity`,r),t[2]=r,t[3]=u);let d=u,f;t[4]!==a||t[5]!==n?(f=(0,Q.jsx)(it,{token:n,overridden:a}),t[4]=a,t[5]=n,t[6]=f):f=t[6];let p;t[7]===o?p=t[8]:(p=e=>o(e.currentTarget.value),t[7]=o,t[8]=p);let m=`--${n} value`,h;t[9]!==l||t[10]!==p||t[11]!==m?(h=(0,Q.jsx)(`input`,{type:`range`,min:0,max:1,step:.005,value:l,onChange:p,"aria-label":m,className:`h-7.5 flex-1 accent-primary cursor-pointer`}),t[9]=l,t[10]=p,t[11]=m,t[12]=h):h=t[12];let g=i||`0`,_=d||void 0,y;t[13]===o?y=t[14]:(y=e=>o(e.currentTarget.value),t[13]=o,t[14]=y);let b;t[15]!==g||t[16]!==_||t[17]!==y||t[18]!==r?(b=(0,Q.jsx)(`div`,{className:`w-20 shrink-0`,children:(0,Q.jsx)(v,{value:r,nativeInput:!0,type:`number`,min:0,max:1,step:.005,size:`sm`,placeholder:g,"aria-invalid":_,onChange:y})}),t[15]=g,t[16]=_,t[17]=y,t[18]=r,t[19]=b):b=t[19];let x;t[20]!==o||t[21]!==a||t[22]!==n?(x=a?(0,Q.jsx)(rt,{token:n,onChange:o}):null,t[20]=o,t[21]=a,t[22]=n,t[23]=x):x=t[23];let S;t[24]!==b||t[25]!==x||t[26]!==h?(S=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[h,b,x]}),t[24]=b,t[25]=x,t[26]=h,t[27]=S):S=t[27];let C;return t[28]!==S||t[29]!==f?(C=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[f,S]}),t[28]=S,t[29]=f,t[30]=C):C=t[30],C}function st(e){let t=(0,X.c)(67),{token:n,value:r,inherited:i,overridden:a,onChange:o}=e,s,c,l,u,d;if(t[0]!==i||t[1]!==o||t[2]!==a||t[3]!==n||t[4]!==r){d=Symbol.for(`react.early_return_sentinel`);bb0:{l=fe(r),c=fe(i);let e=c?Ze(c.unit):!1,f=l?Ze(l.unit):!1;if(r.length>0&&!f||r.length===0&&i.length>0&&!e){let e;t[10]===r?e=t[11]:(e=r.length>0&&!V(`length`,r),t[10]=r,t[11]=e);let s=e,c;t[12]!==a||t[13]!==n?(c=(0,Q.jsx)(it,{token:n,overridden:a}),t[12]=a,t[13]=n,t[14]=c):c=t[14];let l=i||`e.g. 1rem`,u=s||void 0,f;t[15]===o?f=t[16]:(f=e=>o(e.currentTarget.value),t[15]=o,t[16]=f);let p;t[17]!==l||t[18]!==u||t[19]!==f||t[20]!==r?(p=(0,Q.jsx)(v,{value:r,nativeInput:!0,size:`sm`,placeholder:l,"aria-invalid":u,onChange:f}),t[17]=l,t[18]=u,t[19]=f,t[20]=r,t[21]=p):p=t[21];let m;t[22]!==o||t[23]!==a||t[24]!==n?(m=a?(0,Q.jsx)(rt,{token:n,onChange:o}):null,t[22]=o,t[23]=a,t[24]=n,t[25]=m):m=t[25];let h;t[26]!==p||t[27]!==m?(h=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p,m]}),t[26]=p,t[27]=m,t[28]=h):h=t[28];let g;t[29]!==h||t[30]!==c?(g=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[c,h]}),t[29]=h,t[30]=c,t[31]=g):g=t[31],d=g;break bb0}s=l?String(l.number):``,u=l&&Ze(l.unit)?l.unit:c&&Ze(c.unit)?c.unit:`rem`}t[0]=i,t[1]=o,t[2]=a,t[3]=n,t[4]=r,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d}else s=t[5],c=t[6],l=t[7],u=t[8],d=t[9];if(d!==Symbol.for(`react.early_return_sentinel`))return d;let f=u,p=c?String(c.number):``,m;t[32]!==o||t[33]!==f?(m=e=>{let t=e.trim();if(t.length===0){o(``);return}let n=Number(t);Number.isFinite(n)&&o(`${n}${f}`)},t[32]=o,t[33]=f,t[34]=m):m=t[34];let h=m,g;t[35]!==o||t[36]!==c||t[37]!==l?(g=e=>{if(l){o(`${l.number}${e}`);return}c&&o(`${c.number}${e}`)},t[35]=o,t[36]=c,t[37]=l,t[38]=g):g=t[38];let _=g,y;t[39]!==a||t[40]!==n?(y=(0,Q.jsx)(it,{token:n,overridden:a}),t[39]=a,t[40]=n,t[41]=y):y=t[41];let b=n===`font-size-base`?1:.05,x;t[42]===h?x=t[43]:(x=e=>h(e.currentTarget.value),t[42]=h,t[43]=x);let S;t[44]!==p||t[45]!==s||t[46]!==b||t[47]!==x?(S=(0,Q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Q.jsx)(v,{value:s,nativeInput:!0,type:`number`,step:b,size:`sm`,placeholder:p,onChange:x})}),t[44]=p,t[45]=s,t[46]=b,t[47]=x,t[48]=S):S=t[48];let C;t[49]===_?C=t[50]:(C=e=>_(e.currentTarget.value),t[49]=_,t[50]=C);let w=`--${n} unit`,T;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(T=H.map(ct),t[51]=T):T=t[51];let E;t[52]!==w||t[53]!==C||t[54]!==f?(E=(0,Q.jsx)(`select`,{value:f,onChange:C,"aria-label":w,className:`h-7.5 rounded-md border border-input bg-background px-2 text-sm outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/24 sm:h-6.5 sm:text-xs`,children:T}),t[52]=w,t[53]=C,t[54]=f,t[55]=E):E=t[55];let D;t[56]!==o||t[57]!==a||t[58]!==n?(D=a?(0,Q.jsx)(rt,{token:n,onChange:o}):null,t[56]=o,t[57]=a,t[58]=n,t[59]=D):D=t[59];let O;t[60]!==E||t[61]!==D||t[62]!==S?(O=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[S,E,D]}),t[60]=E,t[61]=D,t[62]=S,t[63]=O):O=t[63];let k;return t[64]!==O||t[65]!==y?(k=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[y,O]}),t[64]=O,t[65]=y,t[66]=k):k=t[66],k}function ct(e){return(0,Q.jsx)(`option`,{value:e,children:e},e)}function lt(e){let t=(0,X.c)(25),{token:n,value:r,inherited:i,overridden:a,onChange:o}=e,s=r||i,c;t[0]===r?c=t[1]:(c=r.length>0&&!V(`font-family`,r),t[0]=r,t[1]=c);let l=c,u;t[2]!==a||t[3]!==n?(u=(0,Q.jsx)(it,{token:n,overridden:a}),t[2]=a,t[3]=n,t[4]=u):u=t[4];let d=i||`system-ui, sans-serif`,f=s||void 0,p;t[5]===f?p=t[6]:(p={fontFamily:f},t[5]=f,t[6]=p);let m=l||void 0,h;t[7]===o?h=t[8]:(h=e=>o(e.currentTarget.value),t[7]=o,t[8]=h);let g;t[9]!==d||t[10]!==p||t[11]!==m||t[12]!==h||t[13]!==r?(g=(0,Q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,Q.jsx)(v,{value:r,nativeInput:!0,size:`sm`,placeholder:d,style:p,"aria-invalid":m,onChange:h})}),t[9]=d,t[10]=p,t[11]=m,t[12]=h,t[13]=r,t[14]=g):g=t[14];let _;t[15]!==o||t[16]!==a||t[17]!==n?(_=a?(0,Q.jsx)(rt,{token:n,onChange:o}):null,t[15]=o,t[16]=a,t[17]=n,t[18]=_):_=t[18];let y;t[19]!==g||t[20]!==_?(y=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[g,_]}),t[19]=g,t[20]=_,t[21]=y):y=t[21];let b;return t[22]!==y||t[23]!==u?(b=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[u,y]}),t[22]=y,t[23]=u,t[24]=b):b=t[24],b}var ut=[{value:`system`,label:`System`},{value:`light`,label:`Light`},{value:`dark`,label:`Dark`}],dt={default:1,light:.92,medium:.84,high:.78,glass:.72};function ft({surface:e=`node`}={}){let t=e===`hub`,{theme:r,setTheme:i,resolvedTheme:a,activeThemeId:u,setActiveTheme:m}=ve(),v=n(e=>e.wideComposerControlsAutoCollapse),y=n(e=>e.setWideComposerControlsAutoCollapse),b=n(e=>e.alwaysUseBuildMode),x=n(e=>e.setAlwaysUseBuildMode),[S,L]=(0,Y.useState)(null),[ue,B]=(0,Y.useState)(null),[fe,pe]=(0,Y.useState)(null),[V,_e]=(0,Y.useState)(()=>R()),[H,be]=(0,Y.useState)(0),G=(0,Y.useRef)(null),xe=W(),K=(0,Y.useMemo)(()=>S!==null&&ue!==null?{source:z(S),draft:ue}:null,[ue,S,H]),X=fe?z(fe):null,Z=(0,Y.useCallback)(()=>be(e=>e+1),[]);(0,Y.useEffect)(()=>{if(typeof window>`u`)return;let e=e=>{e.key===`ryco:appearance-preferences`&&_e(R())};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]);let Ae=(0,Y.useCallback)((e,t)=>{te(e,t),ae(),_e(R())},[]),je=(0,Y.useCallback)(e=>{se(e),ae(),_e(R())},[]),Me=(0,Y.useCallback)(()=>{se(`primaryColorMode`),se(`primaryColor`),ae(),_e(R())},[]),Ne=(0,Y.useCallback)(e=>{te(`primaryColorMode`,e?`custom`:`theme`),ae(),_e(R())},[]),Pe=(0,Y.useCallback)(e=>{te(`primaryColor`,e),te(`primaryColorMode`,`custom`),ae(),_e(R())},[]),Re=(0,Y.useCallback)(e=>{if(de(e.id)){let t=U(e);me(t),ce(t.id),m(t.id),L(t.id),B(t),Z();return}m(e.id),L(e.id),B(e)},[Z,m]),ze=(0,Y.useCallback)(e=>{let t=U(e);me(t),m(t.id),L(t.id),B(t),Z()},[Z,m]),Be=(0,Y.useCallback)(()=>{let e={id:he(`new`),name:`New theme`,builtIn:!1};me(e),m(e.id),L(e.id),B(e),Z()},[Z,m]),Ve=(0,Y.useCallback)(()=>{K&&(ye(K.source.id,K.draft),K.source.id===K.draft.id?le(K.draft):m(K.draft.id),L(null),B(null),Z())},[K,Z,m]),He=(0,Y.useCallback)(()=>{K&&le(K.source),L(null),B(null)},[K]),Ue=(0,Y.useCallback)(()=>{fe&&(S===fe&&(L(null),B(null)),ge(fe),pe(null),Z())},[S,fe,Z]),We=(0,Y.useCallback)(e=>{try{Ie(e)}catch(e){l.add({type:`error`,title:`Could not export theme`,description:e instanceof Error?e.message:`Download failed.`})}},[]),Ge=(0,Y.useCallback)(async e=>{try{await Fe(e),l.add({type:`success`,title:`Copied theme JSON`,description:`${e.name} is ready to paste.`})}catch(e){l.add({type:`error`,title:`Could not copy theme`,description:e instanceof Error?e.message:`Clipboard write failed.`})}},[]),$=(0,Y.useCallback)(()=>{G.current?.click()},[]),Ke=(0,Y.useCallback)(async e=>{let t=e.target.files?.[0];if(e.target.value=``,t)try{let e=await Le(t,{collision:`rename`,activate:!0});m(e.theme.id),Z(),l.add({type:`success`,title:`Imported "${e.theme.name}"`,description:e.action===`renamed`?`An existing theme used the same id, so it was imported as "${e.theme.id}".`:`Theme imported and activated.`})}catch(e){l.add({type:`error`,title:`Could not import theme`,description:e instanceof Error?e.message:`Invalid theme file.`})}},[Z,m]);return(0,Q.jsxs)(Ce,{children:[(0,Q.jsxs)(Se,{title:`Interface controls`,children:[(0,Q.jsx)(q,{title:`Interface font`,description:`Normal app text, navigation, dialogs, and controls.`,resetAction:F(`fontFamilySans`)?(0,Q.jsx)(J,{label:`interface font`,onClick:()=>je(`fontFamilySans`)}):null,control:(0,Q.jsx)(pt,{ariaLabel:`Interface font`,icon:(0,Q.jsx)(Oe,{className:`size-3.5`}),options:I,value:V.fontFamilySans,sample:`The quick brown fox`,onChange:e=>Ae(`fontFamilySans`,e)})}),t?null:(0,Q.jsx)(q,{title:`Code font`,description:`Code blocks, diffs, file paths, and terminal surfaces.`,resetAction:F(`fontFamilyMono`)?(0,Q.jsx)(J,{label:`code font`,onClick:()=>je(`fontFamilyMono`)}):null,control:(0,Q.jsx)(pt,{ariaLabel:`Code font`,icon:(0,Q.jsx)(Te,{className:`size-3.5`}),options:re,value:V.fontFamilyMono,sample:`const answer = 42`,onChange:e=>Ae(`fontFamilyMono`,e)})}),(0,Q.jsx)(q,{title:`Text size`,description:`Scale the interface independently from the active theme.`,resetAction:F(`fontSizeBase`)?(0,Q.jsx)(J,{label:`text size`,onClick:()=>je(`fontSizeBase`)}):null,control:(0,Q.jsx)(ht,{ariaLabel:`Text size`,icon:(0,Q.jsx)(we,{className:`size-3.5`}),options:ie,value:V.fontSizeBase,onChange:e=>Ae(`fontSizeBase`,e),preview:(0,Q.jsx)(`span`,{className:`flex h-9 min-w-14 items-center justify-center rounded-md border border-border/70 bg-background px-2 font-semibold text-foreground shadow-xs/5`,children:(0,Q.jsx)(`span`,{style:{fontSize:V.fontSizeBase},children:`Aa`})})})}),t?null:(0,Q.jsx)(q,{title:`Corner radius`,description:`Adjust rounding for panels, buttons, inputs, and menus globally.`,resetAction:F(`radius`)?(0,Q.jsx)(J,{label:`corner radius`,onClick:()=>je(`radius`)}):null,control:(0,Q.jsx)(ht,{ariaLabel:`Corner radius`,icon:(0,Q.jsx)(De,{className:`size-3.5`}),options:oe,value:V.radius,onChange:e=>Ae(`radius`,e),preview:(0,Q.jsxs)(`span`,{className:`grid h-9 min-w-14 grid-cols-2 gap-1 rounded-md border border-border/70 bg-background p-1.5 shadow-xs/5`,children:[(0,Q.jsx)(`span`,{className:`border border-primary/55 bg-primary/15`,style:{borderRadius:V.radius}}),(0,Q.jsx)(`span`,{className:`border border-muted-foreground/30 bg-muted`,style:{borderRadius:V.radius}})]})})}),(0,Q.jsx)(q,{title:`Primary color`,description:`Theme palettes control buttons by default; enable a custom color to pin one app accent.`,resetAction:F(`primaryColorMode`)||F(`primaryColor`)?(0,Q.jsx)(J,{label:`primary color`,onClick:Me}):null,control:(0,Q.jsx)(mt,{mode:V.primaryColorMode,value:V.primaryColor,onModeChange:Ne,onColorChange:Pe})}),(0,Q.jsx)(q,{title:`Transparency`,description:`Adjust glass and floating surfaces like dialogs, menus, popups, and toasts.`,resetAction:F(`surfaceTransparency`)?(0,Q.jsx)(J,{label:`transparency`,onClick:()=>je(`surfaceTransparency`)}):null,control:(0,Q.jsx)(ht,{ariaLabel:`Transparency`,icon:(0,Q.jsx)(Ee,{className:`size-3.5`}),options:ne,value:V.surfaceTransparency,onChange:e=>Ae(`surfaceTransparency`,e),preview:(0,Q.jsx)(`span`,{className:`relative h-9 min-w-14 overflow-hidden rounded-md border border-border/70 bg-[linear-gradient(135deg,var(--color-sky-500)_0_20%,var(--color-emerald-500)_20%_40%,var(--color-amber-500)_40%_60%,var(--color-fuchsia-500)_60%_80%,var(--color-slate-500)_80%_100%)] p-1.5 shadow-xs/5`,children:(0,Q.jsx)(`span`,{className:`block h-full rounded border border-border/70 bg-popover`,style:{opacity:dt[V.surfaceTransparency]??dt.default}})})})})]}),(0,Q.jsx)(Se,{title:`Theme palette`,headerAction:(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Q.jsx)(`input`,{ref:G,type:`file`,accept:`.json,application/json`,className:`sr-only`,onChange:Ke,"aria-hidden":!0,tabIndex:-1}),(0,Q.jsxs)(h,{size:`xs`,variant:`ghost`,onClick:Be,"aria-label":`Create a new theme`,title:`Create a new theme`,className:`text-muted-foreground`,children:[(0,Q.jsx)(f,{className:`size-3.5`}),`New`]}),(0,Q.jsxs)(h,{size:`xs`,variant:`ghost`,onClick:$,"aria-label":`Import a theme from file`,title:`Import a theme from disk`,className:`text-muted-foreground`,children:[(0,Q.jsx)(ke,{className:`size-3.5`}),`Import`]})]}),children:(0,Q.jsx)(`div`,{role:`radiogroup`,"aria-label":`Theme palette`,children:xe.map((e,t)=>{let n=e.id===u,r=S===e.id;return(0,Q.jsxs)(Y.Fragment,{children:[(0,Q.jsxs)(`div`,{role:`radio`,"aria-checked":n,tabIndex:n?0:-1,onClick:()=>m(e.id),onKeyDown:t=>{(t.key===` `||t.key===`Enter`)&&(t.preventDefault(),m(e.id))},className:g(`flex cursor-pointer flex-wrap items-center gap-3 px-4 py-3 outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset sm:px-5`,t>0?`border-t border-border/60`:``,n?`bg-muted/40`:`hover:bg-muted/24`),children:[(0,Q.jsx)(`span`,{"aria-hidden":!0,className:g(`relative flex size-4 shrink-0 items-center justify-center rounded-full border-2 transition-colors`,n?`border-primary`:`border-muted-foreground/40`),children:n?(0,Q.jsx)(`span`,{className:`size-2 rounded-full bg-primary`,"aria-hidden":!0}):null}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,Q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,title:e.name,children:e.name}),(0,Q.jsx)(P,{variant:`outline`,size:`sm`,children:e.builtIn?`Built-in`:`Custom`})]}),e.description?(0,Q.jsx)(`span`,{className:`truncate text-xs text-muted-foreground/80`,title:e.description,children:e.description}):null]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:[e.builtIn?null:(0,Q.jsx)(h,{size:`icon-xs`,variant:`ghost`,"aria-label":`Edit ${e.name}`,title:`Edit`,onClick:()=>Re(e),className:`text-muted-foreground`,children:(0,Q.jsx)(d,{className:`size-3.5`})}),(0,Q.jsx)(h,{size:`icon-xs`,variant:`ghost`,"aria-label":`Duplicate ${e.name}`,title:`Duplicate`,onClick:()=>ze(e),className:`text-muted-foreground`,children:(0,Q.jsx)(s,{className:`size-3.5`})}),(0,Q.jsx)(h,{size:`icon-xs`,variant:`ghost`,"aria-label":`Export ${e.name}`,title:`Export`,onClick:()=>We(e),className:`text-muted-foreground`,children:(0,Q.jsx)(c,{className:`size-3.5`})}),(0,Q.jsx)(h,{size:`icon-xs`,variant:`ghost`,"aria-label":`Copy ${e.name} JSON`,title:`Copy JSON`,onClick:()=>void Ge(e),className:`text-muted-foreground`,children:(0,Q.jsx)(o,{className:`size-3.5`})}),e.builtIn?null:(0,Q.jsx)(h,{size:`icon-xs`,variant:`ghost`,"aria-label":`Delete ${e.name}`,title:`Delete`,onClick:()=>pe(e.id),className:`text-destructive-foreground`,children:(0,Q.jsx)(p,{className:`size-3.5`})})]})]}),r&&K?(0,Q.jsx)(Qe,{source:K.source,draft:K.draft,onDraftChange:e=>B(e),onSave:Ve,onCancel:He,resolvedVariant:a}):null]},e.id)})})}),t?null:(0,Q.jsxs)(Se,{title:`Composer controls`,children:[(0,Q.jsx)(q,{title:`Auto-collapse wide composer labels`,description:`Show long composer mode labels only on hover or focus.`,resetAction:v?null:(0,Q.jsx)(J,{label:`wide composer labels`,onClick:()=>y(!0)}),control:(0,Q.jsx)(_,{checked:v,onCheckedChange:e=>y(!!e),"aria-label":`Auto-collapse wide composer labels`})}),(0,Q.jsx)(q,{title:`Always use Build mode`,description:`Hide the mode selector in the composer and send every turn in Build mode.`,resetAction:b?null:(0,Q.jsx)(J,{label:`always use Build mode`,onClick:()=>x(!0)}),control:(0,Q.jsx)(_,{checked:b,onCheckedChange:e=>x(!!e),"aria-label":`Always use Build mode`})})]}),(0,Q.jsx)(Se,{title:`Color mode`,children:(0,Q.jsx)(q,{title:`Theme variant`,description:`Choose between light, dark, or following the system preference.`,resetAction:r===`system`?null:(0,Q.jsx)(J,{label:`color mode`,onClick:()=>i(`system`)}),control:(0,Q.jsxs)(N,{value:r,onValueChange:e=>{(e===`system`||e===`light`||e===`dark`)&&i(e)},children:[(0,Q.jsx)(M,{className:`w-full sm:w-40`,"aria-label":`Color mode`,children:(0,Q.jsx)(ee,{children:ut.find(e=>e.value===r)?.label??`System`})}),(0,Q.jsx)(A,{align:`end`,alignItemWithTrigger:!1,children:ut.map(e=>(0,Q.jsx)(j,{hideIndicator:!0,value:e.value,children:e.label},e.value))})]})})}),(0,Q.jsx)(k,{open:fe!==null,onOpenChange:e=>{e||pe(null)},children:(0,Q.jsxs)(E,{children:[(0,Q.jsxs)(C,{children:[(0,Q.jsx)(O,{children:`Delete custom theme?`}),(0,Q.jsx)(D,{children:X?`"${X.name}" will be removed permanently. This action cannot be undone.`:`This action cannot be undone.`})]}),(0,Q.jsxs)(w,{children:[(0,Q.jsx)(T,{render:(0,Q.jsx)(h,{variant:`outline`}),children:`Cancel`}),(0,Q.jsx)(h,{variant:`destructive`,onClick:Ue,children:`Delete theme`})]})]})})]})}function pt(e){let t=(0,X.c)(43),{ariaLabel:n,icon:r,options:i,value:a,sample:o,onChange:s}=e,c;if(t[0]!==i||t[1]!==a){let e;t[3]===a?e=t[4]:(e=e=>e.value===a,t[3]=a,t[4]=e),c=i.findIndex(e),t[0]=i,t[1]=a,t[2]=c}else c=t[2];let l=Math.max(0,c),u=i[l]??i[0],d;t[5]===r?d=t[6]:(d=(0,Q.jsx)(`span`,{className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md border border-border/70 bg-muted/60 text-muted-foreground`,children:r}),t[5]=r,t[6]=d);let f=u?.value??a,p;t[7]===f?p=t[8]:(p={fontFamily:f},t[7]=f,t[8]=p);let m=u?.label??a,h;t[9]!==p||t[10]!==m?(h=(0,Q.jsx)(`span`,{className:`block truncate text-sm font-semibold text-foreground`,style:p,children:m}),t[9]=p,t[10]=m,t[11]=h):h=t[11];let _=u?.description??`Custom`,v;t[12]===_?v=t[13]:(v=(0,Q.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:_}),t[12]=_,t[13]=v);let y;t[14]!==h||t[15]!==v?(y=(0,Q.jsxs)(`span`,{className:`min-w-0`,children:[h,v]}),t[14]=h,t[15]=v,t[16]=y):y=t[16];let b;t[17]!==d||t[18]!==y?(b=(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[d,y]}),t[17]=d,t[18]=y,t[19]=b):b=t[19];let x=u?.value??a,S;t[20]===x?S=t[21]:(S={fontFamily:x},t[20]=x,t[21]=S);let C;t[22]!==o||t[23]!==S?(C=(0,Q.jsx)(`span`,{className:`flex h-9 min-w-30 max-w-44 items-center justify-start truncate rounded-md border border-border/70 bg-background px-2 text-xs text-foreground shadow-xs/5`,style:S,title:o,children:o}),t[22]=o,t[23]=S,t[24]=C):C=t[24];let w;t[25]!==b||t[26]!==C?(w=(0,Q.jsxs)(`div`,{className:`mb-2 flex min-h-9 items-center justify-between gap-3`,children:[b,C]}),t[25]=b,t[26]=C,t[27]=w):w=t[27];let T;if(t[28]!==n||t[29]!==s||t[30]!==i||t[31]!==l){let e;t[33]!==n||t[34]!==s||t[35]!==l?(e=(e,t)=>{let r=t===l;return(0,Q.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":r,"aria-label":`Use ${e.label} for ${n.toLowerCase()}`,title:`${e.label} (${e.description})`,onClick:()=>s(e.value),className:g(`min-h-12 min-w-0 rounded-md border px-2 py-1.5 text-left outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring`,r?`border-primary bg-primary/8 text-foreground ring-1 ring-primary/35`:`border-border/70 text-muted-foreground hover:border-foreground/25 hover:bg-muted/45`),children:[(0,Q.jsx)(`span`,{className:`block truncate text-[12px] font-semibold leading-4`,style:{fontFamily:e.value},children:e.label}),(0,Q.jsx)(`span`,{className:`block truncate text-[10px] leading-3 opacity-75`,children:e.description})]},e.value)},t[33]=n,t[34]=s,t[35]=l,t[36]=e):e=t[36],T=i.map(e),t[28]=n,t[29]=s,t[30]=i,t[31]=l,t[32]=T}else T=t[32];let E;t[37]!==n||t[38]!==T?(E=(0,Q.jsx)(`div`,{role:`radiogroup`,"aria-label":n,className:`grid grid-cols-2 gap-1.5 sm:grid-cols-3`,children:T}),t[37]=n,t[38]=T,t[39]=E):E=t[39];let D;return t[40]!==w||t[41]!==E?(D=(0,Q.jsxs)(`div`,{className:`w-full sm:w-96`,children:[w,E]}),t[40]=w,t[41]=E,t[42]=D):D=t[42],D}function mt(e){let t=(0,X.c)(48),{mode:n,value:r,onModeChange:i,onColorChange:a}=e,o=n===`custom`,s;t[0]===r?s=t[1]:(s=/^#[0-9a-f]{6}$/i.test(r)?r.toLowerCase():L[0].value,t[0]=r,t[1]=s);let c=s,l;t[2]===c?l=t[3]:(l=L.find(e=>e.value===c),t[2]=c,t[3]=l);let d=l,f=o&&!d?`border-primary bg-primary/8 text-foreground ring-1 ring-primary/35`:`border-border/70 text-muted-foreground hover:border-foreground/25 hover:bg-muted/45`,p=!o&&`cursor-not-allowed opacity-55 hover:border-border/70 hover:bg-transparent`,m;t[4]!==f||t[5]!==p?(m=g(`h-12 w-full rounded-md border px-2 py-1.5 text-left shadow-none`,f,p),t[4]=f,t[5]=p,t[6]=m):m=t[6];let h=m,v;t[7]===c?v=t[8]:(v=(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`size-5 shrink-0 rounded-full border border-black/10 shadow-xs dark:border-white/20`,style:{backgroundColor:c}}),t[7]=c,t[8]=v);let y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(`span`,{className:`block truncate text-[12px] font-semibold leading-4`,children:`Custom`}),t[9]=y):y=t[9];let b;t[10]===c?b=t[11]:(b=(0,Q.jsxs)(`span`,{className:`min-w-0`,children:[y,(0,Q.jsx)(`span`,{className:`block truncate font-mono text-[10px] leading-3 opacity-75`,children:c})]}),t[10]=c,t[11]=b);let x;t[12]!==v||t[13]!==b?(x=(0,Q.jsxs)(`span`,{className:`flex size-full min-w-0 items-center gap-2`,children:[v,b]}),t[12]=v,t[13]=b,t[14]=x):x=t[14];let S=x,C;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,Q.jsx)(`span`,{className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md border border-border/70 bg-muted/60 text-muted-foreground`,children:(0,Q.jsx)(u,{className:`size-3.5`})}),t[15]=C):C=t[15];let w=o?d?.label??`Custom`:`Theme color`,T;t[16]===w?T=t[17]:(T=(0,Q.jsx)(`span`,{className:`block truncate text-sm font-semibold text-foreground`,children:w}),t[16]=w,t[17]=T);let E=o?c:`Active palette`,D;t[18]===E?D=t[19]:(D=(0,Q.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:E}),t[18]=E,t[19]=D);let O;t[20]!==T||t[21]!==D?(O=(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[C,(0,Q.jsxs)(`span`,{className:`min-w-0`,children:[T,D]})]}),t[20]=T,t[21]=D,t[22]=O):O=t[22];let k;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Q.jsx)(`span`,{children:`Use theme`}),t[23]=k):k=t[23];let A=!o,j;t[24]===i?j=t[25]:(j=e=>i(!e),t[24]=i,t[25]=j);let M;t[26]!==A||t[27]!==j?(M=(0,Q.jsxs)(`label`,{className:`flex h-9 shrink-0 items-center gap-2 rounded-md border border-border/70 bg-background px-2 text-xs text-muted-foreground shadow-xs/5`,children:[k,(0,Q.jsx)(_,{checked:A,onCheckedChange:j,"aria-label":`Use theme primary color`})]}),t[26]=A,t[27]=j,t[28]=M):M=t[28];let ee;t[29]!==O||t[30]!==M?(ee=(0,Q.jsxs)(`div`,{className:`mb-2 flex min-h-9 items-center justify-between gap-3`,children:[O,M]}),t[29]=O,t[30]=M,t[31]=ee):ee=t[31];let N;t[32]!==o||t[33]!==c||t[34]!==a?(N=L.map(e=>{let t=c===e.value;return(0,Q.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":o&&t,"aria-label":`Use ${e.label} as primary color`,title:`${e.label} (${e.value})`,onClick:()=>a(e.value),disabled:!o,className:g(`flex min-h-12 min-w-0 items-center gap-2 rounded-md border px-2 py-1.5 text-left outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring`,o&&t?`border-primary bg-primary/8 text-foreground ring-1 ring-primary/35`:`border-border/70 text-muted-foreground hover:border-foreground/25 hover:bg-muted/45`,!o&&`cursor-not-allowed opacity-55 hover:border-border/70 hover:bg-transparent`),children:[(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`size-5 shrink-0 rounded-full border border-black/10 shadow-xs dark:border-white/20`,style:{backgroundColor:e.value}}),(0,Q.jsxs)(`span`,{className:`min-w-0`,children:[(0,Q.jsx)(`span`,{className:`block truncate text-[12px] font-semibold leading-4`,children:e.label}),(0,Q.jsx)(`span`,{className:`block truncate text-[10px] leading-3 opacity-75`,children:e.description})]})]},e.value)}),t[32]=o,t[33]=c,t[34]=a,t[35]=N):N=t[35];let P;t[36]!==o||t[37]!==h||t[38]!==S||t[39]!==c||t[40]!==a?(P=o?(0,Q.jsx)(Ue,{value:c,onChange:a,ariaLabel:`Pick custom primary color`,triggerClassName:h,children:S}):(0,Q.jsx)(`button`,{type:`button`,disabled:!0,"aria-label":`Pick custom primary color`,className:h,children:S}),t[36]=o,t[37]=h,t[38]=S,t[39]=c,t[40]=a,t[41]=P):P=t[41];let F;t[42]!==N||t[43]!==P?(F=(0,Q.jsxs)(`div`,{role:`radiogroup`,"aria-label":`Primary color`,className:`grid grid-cols-2 gap-1.5 sm:grid-cols-4`,children:[N,P]}),t[42]=N,t[43]=P,t[44]=F):F=t[44];let I;return t[45]!==ee||t[46]!==F?(I=(0,Q.jsxs)(`div`,{className:`w-full sm:w-96`,children:[ee,F]}),t[45]=ee,t[46]=F,t[47]=I):I=t[47],I}function ht(e){let t=(0,X.c)(50),{ariaLabel:n,icon:r,options:i,value:a,onChange:o,preview:s}=e,c;if(t[0]!==i||t[1]!==a){let e;t[3]===a?e=t[4]:(e=e=>e.value===a,t[3]=a,t[4]=e),c=i.findIndex(e),t[0]=i,t[1]=a,t[2]=c}else c=t[2];let l=Math.max(0,c),u=i[l]??i[0],d=i.length>1?l/(i.length-1)*100:0,f;t[5]===r?f=t[6]:(f=(0,Q.jsx)(`span`,{className:`inline-flex size-7 shrink-0 items-center justify-center rounded-md border border-border/70 bg-muted/60 text-muted-foreground`,children:r}),t[5]=r,t[6]=f);let p=u?.label??a,m;t[7]===p?m=t[8]:(m=(0,Q.jsx)(`span`,{className:`block truncate text-sm font-semibold text-foreground`,children:p}),t[7]=p,t[8]=m);let h=u?.description??a,_;t[9]===h?_=t[10]:(_=(0,Q.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:h}),t[9]=h,t[10]=_);let v;t[11]!==m||t[12]!==_?(v=(0,Q.jsxs)(`span`,{className:`min-w-0`,children:[m,_]}),t[11]=m,t[12]=_,t[13]=v):v=t[13];let y;t[14]!==f||t[15]!==v?(y=(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[f,v]}),t[14]=f,t[15]=v,t[16]=y):y=t[16];let b;t[17]!==s||t[18]!==y?(b=(0,Q.jsxs)(`div`,{className:`mb-2 flex min-h-9 items-center justify-between gap-3`,children:[y,s]}),t[17]=s,t[18]=y,t[19]=b):b=t[19];let x;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(x=g(`h-5 w-full cursor-pointer appearance-none bg-transparent outline-none`,`[&::-webkit-slider-runnable-track]:h-1.5 [&::-webkit-slider-runnable-track]:rounded-full`,`[&::-webkit-slider-thumb]:mt-[-5px] [&::-webkit-slider-thumb]:size-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-background [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:shadow-sm`,`[&::-moz-range-track]:h-1.5 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:border-0`,`[&::-moz-range-thumb]:size-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-background [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:shadow-sm`,`focus-visible:[&::-webkit-slider-thumb]:ring-2 focus-visible:[&::-webkit-slider-thumb]:ring-ring focus-visible:[&::-moz-range-thumb]:ring-2 focus-visible:[&::-moz-range-thumb]:ring-ring`),t[20]=x):x=t[20];let S=Math.max(0,i.length-1),C=`linear-gradient(to right, var(--color-primary) 0%, var(--color-primary) ${d}%, color-mix(in srgb, var(--color-muted-foreground) 18%, transparent) ${d}%, color-mix(in srgb, var(--color-muted-foreground) 18%, transparent) 100%)`,w;t[21]===C?w=t[22]:(w={background:C,borderRadius:`999px`},t[21]=C,t[22]=w);let T;t[23]!==o||t[24]!==i?(T=e=>{let t=i[Number(e.currentTarget.value)];t&&o(t.value)},t[23]=o,t[24]=i,t[25]=T):T=t[25];let E;t[26]!==n||t[27]!==l||t[28]!==S||t[29]!==w||t[30]!==T?(E=(0,Q.jsx)(`input`,{"aria-label":n,className:x,max:S,min:0,step:1,type:`range`,value:l,style:w,onChange:T}),t[26]=n,t[27]=l,t[28]=S,t[29]=w,t[30]=T,t[31]=E):E=t[31];let D=`repeat(${i.length}, minmax(0, 1fr))`,O;t[32]===D?O=t[33]:(O={gridTemplateColumns:D},t[32]=D,t[33]=O);let k;if(t[34]!==n||t[35]!==o||t[36]!==i||t[37]!==l){let e;t[39]!==n||t[40]!==o||t[41]!==l?(e=(e,t)=>{let r=t===l;return(0,Q.jsxs)(`button`,{type:`button`,"aria-label":`Set ${n.toLowerCase()} to ${e.label}`,title:`${e.label} (${e.description})`,onClick:()=>o(e.value),className:g(`flex min-h-7 min-w-0 flex-col items-center justify-start gap-1 rounded-md px-1 py-1 text-center outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring`,r?`text-foreground`:`text-muted-foreground hover:bg-muted/50`),children:[(0,Q.jsx)(`span`,{className:g(`size-1.5 rounded-full`,r?`bg-primary`:`bg-muted-foreground/35`),"aria-hidden":!0}),(0,Q.jsx)(`span`,{className:`max-w-full truncate text-[10px] leading-none`,children:e.label})]},e.value)},t[39]=n,t[40]=o,t[41]=l,t[42]=e):e=t[42],k=i.map(e),t[34]=n,t[35]=o,t[36]=i,t[37]=l,t[38]=k}else k=t[38];let A;t[43]!==O||t[44]!==k?(A=(0,Q.jsx)(`div`,{className:`mt-1.5 grid gap-1`,style:O,children:k}),t[43]=O,t[44]=k,t[45]=A):A=t[45];let j;return t[46]!==E||t[47]!==A||t[48]!==b?(j=(0,Q.jsxs)(`div`,{className:`w-full sm:w-96`,children:[b,E,A]}),t[46]=E,t[47]=A,t[48]=b,t[49]=j):j=t[49],j}export{ft as AppearanceSettingsPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import"./primary-BqnEJHWx.js";import{Gi as n}from"./src-I4s4HU8f.js";import{Bn as r,Fn as i,Hn as a,In as o,Kn as s,Nn as c,Pn as l,Rn as u,Un as d,Vn as f,p,va as m,y as h,zn as g}from"./runtime-CA2W9mZ-.js";import{d as _,f as v}from"./ThreadStatusIndicators-CQZ_OgY8.js";import{t as y}from"./compiler-runtime-qmuS0Svy.js";var b=y(),x=e(t(),1);function S(e){let t=(0,b.c)(13),n=f(e),{environmentId:r,cwd:i,query:s,enabled:c,limit:d,staleTime:p}=e,h,_;t[0]!==i||t[1]!==r||t[2]!==d?(h=()=>{if(r===null||i===null)return;let e={environmentId:r,cwd:i,...d===void 0?{}:{limit:d}};return a(e),()=>u(e)},_=[r,i,d],t[0]=i,t[1]=r,t[2]=d,t[3]=h,t[4]=_):(h=t[3],_=t[4]),(0,x.useEffect)(h,_);let v,y;t[5]!==i||t[6]!==c||t[7]!==r||t[8]!==d||t[9]!==s||t[10]!==p?(v=()=>{g({environmentId:r,cwd:i,query:s,...c===void 0?{}:{enabled:c},...d===void 0?{}:{limit:d},...p===void 0?{}:{staleTime:p}})},y=[r,i,s,c,d,p],t[5]=i,t[6]=c,t[7]=r,t[8]=d,t[9]=s,t[10]=p,t[11]=v,t[12]=y):(v=t[11],y=t[12]),(0,x.useEffect)(v,y);let S=m(o(n));return n===null?l:S}function C(e){let t=r(e),n=(0,x.useSyncExternalStore)(h,()=>e.environmentId===null?null:p(e.environmentId),()=>null),a=(0,x.useRef)(e);a.current=e,(0,x.useEffect)(()=>{let e=a.current,t=e.environmentId===null?void 0:s(e.environmentId,n?.client??null);return d(e,t??null)},[t,n]);let o=m(i(t));return t===null?c:o}function w(e){let t=e.trim().replace(/\.git$/i,``).replace(/\/+$/,``);if(!t||/^[a-z]:[\\/]/i.test(t)||t.startsWith(`\\\\`))return null;if(!t.includes(`://`)){let e=/^(?:[^@/]+@)?([^:/]+):(.+)$/.exec(t);return e?.[1]&&e[2]?`https://${e[1]}/${e[2].replace(/^\/+/,``)}`:null}try{let e=new URL(t.replace(/^(ssh|git|http):\/\//i,`https://`).replace(/^ssh:/i,`https:`));return!e.hostname||e.pathname===`/`||e.pathname===``?null:`https://${e.hostname}${e.pathname}`}catch{return null}}function T(e){if(!e)return null;let t=[e.locator?.remoteUrl,...(e.remotes??[]).map(e=>e.url)];for(let e of t){if(!e)continue;let t=w(e);if(t)return t}return null}n([`local`,`worktree`]);function E(e){let t=v(e.runtimeLabel),n=v(e.savedLabel);return e.isPrimary?[t,n].find(e=>e?!_(e):!1)??`This device`:t??n??e.environmentId}function D(e){let{activeWorktreePath:t,hasServerThread:n,draftThreadEnvMode:r}=e;return n?t?`worktree`:`local`:t?`local`:r===`worktree`?`worktree`:`local`}function O(e){let{nextWorktreePath:t,currentWorktreePath:n,effectiveEnvMode:r}=e;return t||r===`worktree`&&!n?`worktree`:`local`}function k(e){let{envMode:t,activeWorktreePath:n,activeThreadBranch:r,currentGitBranch:i}=e;return t===`worktree`&&!n?r??i:i??r}function A(e){let{activeProjectCwd:t,activeWorktreePath:n,refName:r}=e;if(r.worktreePath)return{checkoutCwd:r.worktreePath,nextWorktreePath:r.worktreePath===t?null:r.worktreePath,reuseExistingWorktree:!0};let i=n!==null&&r.isDefault?null:n;return{checkoutCwd:i??t,nextWorktreePath:i,reuseExistingWorktree:!1}}function j(e){let{itemValue:t,normalizedQuery:n,createBranchItemValue:r,checkoutPullRequestItemValue:i}=e;if(n.length===0||r&&t===r||i&&t===i)return!0;let a=e.searchTextByItemValue?.get(t);return a===void 0?t.toLowerCase().includes(n):a.toLowerCase().includes(n)}export{D as a,C as c,O as i,S as l,A as n,E as o,k as r,j as s,T as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import{Ut as n}from"./primary-BqnEJHWx.js";import{ia as r,mi as i}from"./runtime-CA2W9mZ-.js";import{t as a}from"./compiler-runtime-qmuS0Svy.js";import{t as o}from"./arrow-left-CCmICk1t.js";import{t as s}from"./arrow-right-Z3Eay6Fd.js";import{t as c}from"./external-link-CF9EzT-A.js";import{t as l}from"./globe-dS40wBdE.js";import{t as u}from"./loader-circle-DRKbHQst.js";import{t as d}from"./plus-5kH13lqq.js";import{t as f}from"./rotate-cw-D32Z4Sdd.js";import{t as p}from"./star-CdUOqzzZ.js";import{t as m}from"./x-BXHT1Zj1.js";import{t as h}from"./button-B6xQZNKz.js";var g=a(),_=e(t(),1),v=r();function y(e){let t=(0,g.c)(14),{tab:n,width:r}=e,i=(0,_.useRef)(null),[a,o]=(0,_.useState)(null),s=window.desktopBridge?.browser,c=n.presentation===`window`,l,u;t[0]!==c||t[1]!==n.id?(l=()=>{if(!s||!i.current||c)return;let e=crypto.randomUUID(),t=0,r=!1,a=``,l=0,u=()=>{if(t=0,r||!i.current)return;let c=i.current.getBoundingClientRect(),d=![...document.querySelectorAll(`[role="dialog"], [role="alertdialog"], [data-slot="popover-popup"], [role="menu"]`)].some(e=>!e.contains(i.current))&&document.visibilityState===`visible`&&c.width>=1&&c.height>=1&&c.left>=0&&c.top>=0&&c.left<innerWidth&&c.top<innerHeight&&!i.current.closest(`[inert], [aria-hidden="true"]`),f={owner:e,tab:d?n.id:null,x:Math.max(0,c.left),y:Math.max(0,c.top),width:Math.max(1,Math.min(c.width,innerWidth-c.left)),height:Math.max(1,Math.min(c.height,innerHeight-c.top))},p=JSON.stringify(f);p!==a&&(a=p,s.surface(f).catch(e=>{r||o(e instanceof Error?e.message:`Browser surface unavailable.`)})),performance.now()<l&&(t=requestAnimationFrame(u))},d=()=>{!t&&!r&&(t=requestAnimationFrame(u))},f=()=>{l=performance.now()+500,d()},p=new ResizeObserver(d);p.observe(i.current);let m=new MutationObserver(d);return m.observe(document.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`inert`,`aria-hidden`,`data-state`]}),window.addEventListener(`resize`,f),document.addEventListener(`scroll`,d,!0),document.addEventListener(`visibilitychange`,d),document.addEventListener(`transitionrun`,f,!0),f(),()=>{r=!0,cancelAnimationFrame(t),p.disconnect(),m.disconnect(),window.removeEventListener(`resize`,f),document.removeEventListener(`scroll`,d,!0),document.removeEventListener(`visibilitychange`,d),document.removeEventListener(`transitionrun`,f,!0),s.surface({owner:e,tab:null,x:0,y:0,width:1,height:1}).catch(b)}},u=[s,n.id,c],t[0]=c,t[1]=n.id,t[2]=l,t[3]=u):(l=t[2],u=t[3]),(0,_.useEffect)(l,u);let d=r??`100%`,f;t[4]===d?f=t[5]:(f={width:d,maxWidth:`100%`,height:`100%`},t[4]=d,t[5]=f);let p;t[6]!==a||t[7]!==n.id||t[8]!==n.title||t[9]!==n.url?(p=s?a?(0,v.jsx)(`p`,{role:`alert`,className:`p-4 text-sm text-destructive`,children:a}):null:(0,v.jsx)(`iframe`,{title:n.title||`Browser preview`,src:n.url,sandbox:`allow-scripts allow-forms`,referrerPolicy:`no-referrer`,className:`size-full border-0`},n.id+n.url),t[6]=a,t[7]=n.id,t[8]=n.title,t[9]=n.url,t[10]=p):p=t[10];let m;return t[11]!==f||t[12]!==p?(m=(0,v.jsx)(`div`,{className:`flex min-h-0 flex-1 justify-center overflow-hidden bg-muted/30`,children:(0,v.jsx)(`div`,{ref:i,className:`relative min-h-0 bg-white`,style:f,children:p})}),t[11]=f,t[12]=p,t[13]=m):m=t[13],m}function b(){}var x=n(e=>({native:{tabs:[]},fallback:[],selected:{},setNative:t=>e({native:t}),select:(t,n)=>e(e=>({selected:{...e.selected,[t]:n}})),openFallback:(t,n)=>{let r=crypto.randomUUID();return e(e=>({fallback:[...e.fallback,{id:r,project:n,url:t,title:new URL(t).host,loading:!1,canGoBack:!1,canGoForward:!1,zoom:1,presentation:`panel`,error:null}],selected:{...e.selected,[n]:r}})),r},closeFallback:t=>e(e=>({fallback:e.fallback.filter(e=>e.id!==t)})),navigateFallback:(t,n)=>e(e=>({fallback:e.fallback.map(e=>e.id===t?{...e,url:n,title:new URL(n).host}:e)}))})),S=0,C,w=0;function T(e){let t=window.desktopBridge?.browser;(0,_.useEffect)(()=>{if(t){if(S++===0){let e=++w,n=!1;C=t.onState(e=>{n=!0,x.getState().setNative(e)}),t.getState().then(t=>{!n&&S&&e===w&&x.getState().setNative(t)}).catch(()=>{})}return()=>{--S===0&&(w++,C?.(),C=void 0)}}},[t]);let n=x(e=>t?e.native.tabs:e.fallback),r=x(t=>t.selected[e]),i=n.filter(t=>t.project===e||t.project===``);return{tabs:i,selected:i.find(e=>e.id===r)??i[0]??null,api:t}}function E(e,t){return JSON.stringify([e,t])}function D(e){let t=e.trim(),n=new URL(/^[a-z][a-z\d+.-]*:\/\//iu.test(t)?t:`http://${t}`);if(![`http:`,`https:`].includes(n.protocol)||n.username||n.password||!n.hostname)throw Error(`Enter an HTTP(S) URL without embedded credentials.`);return n.href}function O({environmentId:e,cwd:t}){let n=E(e,t),{tabs:r,selected:a,api:g}=T(n),b=(0,_.useRef)(null),[S,C]=(0,_.useState)(``),[w,O]=(0,_.useState)(null),[k,A]=(0,_.useState)(!1),[j,M]=(0,_.useState)(!1),[N,P]=(0,_.useState)(null),F;try{let n=window.desktopBridge?.getLocalEnvironmentBootstrap()?.httpBaseUrl,r=e?i(e):null;n&&r&&new URL(n).origin===new URL(r).origin&&(F=t??void 0)}catch{}let[I,L]=(0,_.useState)([]),[R,z]=(0,_.useState)(!1),B=(0,_.useRef)({generation:0}).current,[V,H]=(0,_.useState)([]),U=j?null:a,W=U===null;(0,_.useEffect)(()=>g?.onFocusAddress(e=>{e===U?.id&&(b.current?.focus(),b.current?.select())}),[g,U?.id]),(0,_.useEffect)(()=>{C(U?.url??``)},[U?.id,U?.url]),(0,_.useEffect)(()=>{M(!1);try{let e=JSON.parse(localStorage.getItem(`ryco:browser-sites:${n}`)??`[]`);H(Array.isArray(e)?e.filter(e=>typeof e==`string`).slice(0,20):[])}catch{H([])}},[n]);let G=async e=>{O(null);try{await e()}catch(e){O(e instanceof Error?e.message:`Browser request failed.`)}},K=(0,_.useCallback)(async()=>{if(!g)return;let e=++B.generation;z(!0);try{let t=await g.discover(F);e===B.generation&&L(t)}catch(t){e===B.generation&&O(t instanceof Error?t.message:`Discovery failed.`)}finally{e===B.generation&&z(!1)}},[g,F,B]);(0,_.useEffect)(()=>(L([]),W&&g&&K(),()=>{B.generation++}),[W,g,K,B,n]);let q=async e=>{let t=D(e);A(!0);try{if(g){let e=await g.open({url:t,project:n});x.getState().select(n,e)}else x.getState().openFallback(t,n);M(!1)}finally{A(!1)}},J=(e,t={})=>{g&&U&&G(()=>g.command({...t,action:e,tab:U.id}))};return(0,v.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col`,"aria-label":`Project browser`,children:[(0,v.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 overflow-x-auto border-b p-1`,role:`tablist`,"aria-label":`Browser tabs`,children:[r.map(e=>(0,v.jsxs)(`div`,{className:`flex min-w-0 max-w-44 shrink-0 items-center rounded bg-muted/40`,children:[(0,v.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":U?.id===e.id,className:`flex min-w-0 items-center gap-1.5 px-2 py-1.5 text-xs`,onClick:()=>{x.getState().select(n,e.id),M(!1)},children:[e.loading?(0,v.jsx)(u,{className:`size-3 shrink-0 animate-spin`}):(0,v.jsx)(l,{className:`size-3 shrink-0`}),(0,v.jsx)(`span`,{className:`truncate`,children:e.title||e.url||`Loading…`})]}),(0,v.jsx)(`button`,{type:`button`,"aria-label":`Close ${e.title||`browser tab`}`,className:`p-1 text-muted-foreground hover:text-foreground`,onClick:()=>void G(()=>g?g.command({action:`close`,tab:e.id}):Promise.resolve(x.getState().closeFallback(e.id))),children:(0,v.jsx)(m,{className:`size-3`})})]},e.id)),(0,v.jsx)(h,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,"aria-label":`New browser tab`,onClick:()=>{M(!0),C(``)},children:(0,v.jsx)(d,{className:`size-3.5`})})]}),(0,v.jsxs)(`form`,{className:`flex shrink-0 items-center gap-1 border-b p-2`,onSubmit:e=>{e.preventDefault(),G(async()=>{if(U){let e=D(S);g?await g.command({action:`navigate`,tab:U.id,url:e}):x.getState().navigateFallback(U.id,e)}else await q(S)})},children:[(0,v.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7`,"aria-label":`Back`,disabled:!g||!U?.canGoBack,onClick:()=>J(`back`),children:(0,v.jsx)(o,{className:`size-3.5`})}),(0,v.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7`,"aria-label":`Forward`,disabled:!g||!U?.canGoForward,onClick:()=>J(`forward`),children:(0,v.jsx)(s,{className:`size-3.5`})}),(0,v.jsx)(h,{type:`button`,variant:`ghost`,size:`icon`,className:`size-7`,"aria-label":U?.loading?`Stop loading`:`Reload`,disabled:!g||!U,onClick:()=>J(U?.loading?`stop`:`reload`),children:U?.loading?(0,v.jsx)(m,{className:`size-3.5`}):(0,v.jsx)(f,{className:`size-3.5`})}),(0,v.jsx)(`input`,{ref:b,"aria-label":`Browser address`,className:`h-8 min-w-0 flex-1 rounded-md border bg-background px-2 text-xs`,placeholder:`Enter a URL or localhost:3000`,value:S,onChange:e=>C(e.target.value),onFocus:e=>e.currentTarget.select()}),(0,v.jsx)(h,{type:`submit`,size:`sm`,variant:`outline`,disabled:k,children:`Go`}),(0,v.jsx)(h,{type:`button`,size:`icon`,variant:`ghost`,className:`size-7`,disabled:!U?.url,"aria-label":`Save project URL`,"aria-pressed":!!(U&&V.includes(U.url)),onClick:()=>{if(!U?.url)return;let e=V.includes(U.url)?V.filter(e=>e!==U.url):[U.url,...V].slice(0,20);try{localStorage.setItem(`ryco:browser-sites:${n}`,JSON.stringify(e)),H(e)}catch{O(`Could not save this URL.`)}},children:(0,v.jsx)(p,{className:`size-3.5`})})]}),U?(0,v.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2 border-b px-2 py-1 text-[11px] text-muted-foreground`,children:[(0,v.jsxs)(`select`,{"aria-label":`Browser viewport`,className:`bg-background`,value:N??`auto`,onChange:e=>P(e.target.value===`auto`?null:Number(e.target.value)),children:[(0,v.jsx)(`option`,{value:`auto`,children:`Responsive`}),(0,v.jsx)(`option`,{value:`390`,children:`Phone · 390px`}),(0,v.jsx)(`option`,{value:`768`,children:`Tablet · 768px`}),(0,v.jsx)(`option`,{value:`1280`,children:`Desktop · 1280px`})]}),g?(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`select`,{"aria-label":`Browser zoom`,className:`bg-background`,value:U.zoom,onChange:e=>J(`zoom`,{zoom:Number(e.target.value)}),children:[.5,.75,1,1.25,1.5,2].map(e=>(0,v.jsxs)(`option`,{value:e,children:[e*100,`%`]},e))}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>J(`devtools`),children:`DevTools`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>J(`popout`),children:`Pop out`}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>void G(()=>window.desktopBridge?.computerUse?.stop()??Promise.resolve()),children:`Stop agent`})]}):(0,v.jsx)(`span`,{children:`Web preview · sites may restrict embedding`}),(0,v.jsxs)(`a`,{href:U.url,target:`_blank`,rel:`noreferrer`,className:`ml-auto inline-flex items-center gap-1`,"aria-label":`Open in external browser`,children:[(0,v.jsx)(c,{className:`size-3`}),`External`]})]}):null,w||U?.error?(0,v.jsx)(`p`,{role:`alert`,className:`border-b p-2 text-xs text-destructive`,children:w??U?.error}):null,U?U.presentation===`window`?(0,v.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 text-sm`,children:[(0,v.jsx)(`p`,{children:`This tab is open in a separate window.`}),(0,v.jsx)(h,{variant:`outline`,onClick:()=>J(`dock`),children:`Bring back into Ryco`})]}):(0,v.jsx)(y,{tab:U,width:N}):(0,v.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-auto p-5`,children:[(0,v.jsx)(l,{className:`mb-3 size-7 text-muted-foreground`}),(0,v.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Your project, live`}),(0,v.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Enter an address above, or choose a site below. Agents can use these same tabs through Ryco Browser.`}),(0,v.jsx)(`p`,{className:`mt-2 truncate text-[11px] text-muted-foreground`,title:t??void 0,children:t??`No project selected`}),V.length?(0,v.jsxs)(`div`,{className:`mt-5`,children:[(0,v.jsx)(`h4`,{className:`mb-2 text-xs font-medium`,children:`Saved for this project`}),V.map(e=>(0,v.jsx)(`button`,{type:`button`,className:`block w-full truncate rounded px-2 py-2 text-left text-xs hover:bg-accent`,onClick:()=>void G(()=>q(e)),children:e},e))]}):null,(0,v.jsxs)(`div`,{className:`mt-5 flex items-center justify-between`,children:[(0,v.jsx)(`h4`,{className:`text-xs font-medium`,children:`Services on this computer`}),(0,v.jsx)(h,{variant:`ghost`,size:`sm`,disabled:!g||R,onClick:()=>void K(),children:R?`Finding…`:`Refresh`})]}),g?!I.length&&!R?(0,v.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`No local HTTP services found. Start your project’s dev server, then refresh.`}):I.map(e=>(0,v.jsxs)(`button`,{type:`button`,disabled:k,className:`mt-1 flex w-full items-center justify-between rounded border border-border/60 px-3 py-2 text-left text-xs hover:bg-accent`,onClick:()=>void G(()=>q(e.url)),children:[(0,v.jsx)(`span`,{children:e.url}),(0,v.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.projectMatch?`This project · `:``,e.process]})]},e.url)):(0,v.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`Local port discovery is available in Ryco desktop. For remote projects, enter a reachable or forwarded URL.`}),k?(0,v.jsx)(`p`,{role:`status`,className:`mt-3 text-xs`,children:`Opening page…`}):null]})]})}export{O as BrowserPanel};
|