ryco-cli 0.1.30 → 0.1.31
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/{AcpAdapter-DjP0IHpH.cjs → AcpAdapter-ByUp9-wk.cjs} +71 -51
- package/dist/{AcpAdapter-CKWzfB3Q.mjs → AcpAdapter-CY_ANTKu.mjs} +73 -53
- package/dist/{AcpNativeLogging-Do0LktDb.mjs → AcpNativeLogging-C7PC6imv.mjs} +30 -4
- package/dist/{AcpNativeLogging-5gTPK9Fq.cjs → AcpNativeLogging-OQeAya9d.cjs} +33 -1
- package/dist/{AcpRegistryDriver-BblCFfev.cjs → AcpRegistryDriver-CD9GN7rI.cjs} +3 -3
- package/dist/{AcpRegistryDriver-BzohT-PC.mjs → AcpRegistryDriver-DMZ5VBWJ.mjs} +4 -4
- package/dist/AzureDevOpsSourceControlProvider-5giVYoNi.mjs +2053 -0
- package/dist/AzureDevOpsSourceControlProvider-BKMXEUaN.cjs +2055 -0
- package/dist/{BitbucketSourceControlProvider-D5UVAc9z.mjs → BitbucketSourceControlProvider-BVUBsEUF.mjs} +63 -23
- package/dist/{BitbucketSourceControlProvider-Bvl_q1o2.cjs → BitbucketSourceControlProvider-BWnnrbch.cjs} +62 -22
- package/dist/{BunPTY-Dcl1Lp62.mjs → BunPTY-CMbDQ1Xb.mjs} +1 -1
- package/dist/{ClaudeDriver-DZkz0QPr.cjs → ClaudeDriver-DCrqouOR.cjs} +1373 -191
- package/dist/{ClaudeDriver-BuQ_azDw.mjs → ClaudeDriver-DVOss8cC.mjs} +1375 -193
- package/dist/{CodexDriver-6Ph2cjAW.cjs → CodexDriver-CBQPHJqU.cjs} +258 -28
- package/dist/{CodexDriver-Bi49RIL4.mjs → CodexDriver-DJoTky7Z.mjs} +261 -31
- package/dist/{CodexTextGeneration-C5TIspJA.mjs → CodexTextGeneration-BSgNgfZv.mjs} +6 -6
- package/dist/{CodexTextGeneration-sXPR9eld.cjs → CodexTextGeneration-C9MDQmZm.cjs} +7 -7
- package/dist/{CopilotDriver-Bcdpz6U_.mjs → CopilotDriver-CUkdPXcH.mjs} +78 -20
- package/dist/{CopilotDriver-D6P0xgRX.cjs → CopilotDriver-DbaMDH16.cjs} +76 -18
- package/dist/{CursorDriver-CRnDGwEv.mjs → CursorDriver-B-ZilXJB.mjs} +114 -97
- package/dist/{CursorDriver-DMJ7sGSx.cjs → CursorDriver-DKQqPbKH.cjs} +114 -97
- package/dist/{ForgejoSourceControlProvider-D4jGdaJX.cjs → ForgejoSourceControlProvider-CgpjFECj.cjs} +94 -60
- package/dist/{ForgejoSourceControlProvider-Dl_Fk3RY.mjs → ForgejoSourceControlProvider-DemMYUye.mjs} +95 -61
- package/dist/{GitHubSourceControlProvider-QMe-zymI.cjs → GitHubSourceControlProvider-C4un6hOK.cjs} +218 -119
- package/dist/{GitHubSourceControlProvider-DnwKf0ap.mjs → GitHubSourceControlProvider-CRSDYcjc.mjs} +206 -108
- package/dist/GitLabSourceControlProvider-D8W1ZLPh.cjs +2260 -0
- package/dist/GitLabSourceControlProvider-DpWkJ0M3.mjs +2258 -0
- package/dist/{GrokDriver-jy8JIvYY.cjs → GrokDriver-BQ6G_7ZZ.cjs} +6 -7
- package/dist/{GrokDriver-Bvq1jP3S.mjs → GrokDriver-Buvas9-q.mjs} +5 -6
- package/dist/{Metrics-CnmjpbWk.mjs → Metrics-C3vLS9rz.mjs} +123 -13
- package/dist/{Metrics-C0LSU8s7.cjs → Metrics-DjRPLE98.cjs} +170 -12
- package/dist/{NodePTY-D7tFWuQe.mjs → NodePTY-DgnuBruq.mjs} +1 -1
- package/dist/{OpenCodeDriver-DhyVaBMT.mjs → OpenCodeDriver-BWEZD841.mjs} +183 -49
- package/dist/{OpenCodeDriver-Bu5D19tl.cjs → OpenCodeDriver-qUiX0RLH.cjs} +183 -49
- package/dist/{SideQuestionIsolation-B-aE6aBz.mjs → SideQuestionIsolation-B1T-DsR0.mjs} +1 -1
- package/dist/{SideQuestionIsolation-CtJ4wX83.cjs → SideQuestionIsolation-BPC-Bxsz.cjs} +1 -1
- package/dist/bin.cjs +37021 -10253
- package/dist/bin.mjs +36892 -10178
- package/dist/client/assets/AccountSettings-B88Q_w9Y.js +1 -0
- package/dist/client/assets/AiFocusSettings-Bb0TrCPn.js +1 -0
- package/dist/client/assets/{AnimatedHeight-UXn4-nUd.js → AnimatedHeight-epXOsgdm.js} +1 -1
- package/dist/client/assets/AppearanceSettings-XS9WRVPU.js +1 -0
- package/dist/client/assets/AutomationsDialog-bZckh4Y3.js +1 -0
- package/dist/client/assets/AutomationsSummary-wPFZCF49.js +1 -0
- package/dist/client/assets/BranchToolbar.logic-DjzLKbbB.js +3 -0
- package/dist/client/assets/BrowserPanel-CdBLnnfz.js +1 -0
- package/dist/client/assets/ChatRightPanel-BCINd0vP.js +34 -0
- package/dist/client/assets/ChatThreadRouteView-BFZ0Si-l.js +1 -0
- package/dist/client/assets/ColorSwatchPicker-CGyo99o0.js +1 -0
- package/dist/client/assets/CommandPalette.logic-BIOMtnEQ.js +1 -0
- package/dist/client/assets/CommandPaletteDialog-Db4LH--z.js +2 -0
- package/dist/client/assets/CompositeRoot-DtnwMJKj.js +1 -0
- package/dist/client/assets/ComputerUseSettings-CkqCqDsU.js +1 -0
- package/dist/client/assets/ConnectionsSettings-B9mxExdG.js +7 -0
- package/dist/client/assets/CreatePullRequestDialog-CJ7pNCue.js +1 -0
- package/dist/client/assets/CreatePullRequestDialogHost-n4ZjdSr4.js +1 -0
- package/dist/client/assets/DiagnosticsSettings-f9rFG9re.js +2 -0
- package/dist/client/assets/DiagnosticsSettings.logic-Byf-Bu4S.js +1 -0
- package/dist/client/assets/DialogHandle-C0c_rK3I.js +1 -0
- package/dist/client/assets/{DialogPopup-NfwDyR5c.js → DialogPopup-BKW1PEEa.js} +1 -1
- package/dist/client/assets/DialogRoot-BIubqrv0.js +1 -0
- package/dist/client/assets/DialogTitle-BAX_FLoG.js +1 -0
- package/dist/client/assets/{DialogViewport-B6w_ROOE.js → DialogViewport-C2iOUx0O.js} +1 -1
- package/dist/client/assets/DiffPanel-BkqDt_SS.js +25 -0
- package/dist/client/assets/DisclosureRegion-B8556yU0.js +1 -0
- package/dist/client/assets/DraftChatThreadRouteView-BKgRKJ2w.js +1 -0
- package/dist/client/assets/{ExternalIdentityWeb.logic-BlKX8J9h.js → ExternalIdentityWeb.logic-Cu6suNrN.js} +1 -1
- package/dist/client/assets/GlassSurface-DLYYzRdP.js +1 -0
- package/dist/client/assets/HostedConnectionControls-CoVqtnrK.js +1 -0
- package/dist/client/assets/HostedHubRoot-CM2CwPUr.js +2 -0
- package/dist/client/assets/{HostedNativeAuthorizationRoute-j7oSlakZ.js → HostedNativeAuthorizationRoute-Bizmqrh_.js} +2 -2
- package/dist/client/assets/HostedNodeRenameDialog-SXWMsTO0.js +1 -0
- package/dist/client/assets/HostedRelayTrustNotice-BfTyrBi5.js +1 -0
- package/dist/client/assets/InboxStatusGlyph-BPTqzp7l.js +1 -0
- package/dist/client/assets/IntegrationsSettingsPanel-DAPvkV4i.js +1 -0
- package/dist/client/assets/KeybindingsSettings-B8g-YI2O.js +1 -0
- package/dist/client/assets/LazyBrowserPanel-Ds9cdOC_.js +2 -0
- package/dist/client/assets/McpServersSettings-Dw6G3ff3.js +6 -0
- package/dist/client/assets/MobileSheet-DfgXNWbd.js +1 -0
- package/dist/client/assets/ModelTuningDial-DQBAbuNL.js +1 -0
- package/dist/client/assets/NewWorktreeDialog-CDZAJmK6.js +4 -0
- package/dist/client/assets/NodeSecuritySettings-3MELA9ru.js +1 -0
- package/dist/client/assets/NullStore-gT_6_xZE.js +1 -0
- package/dist/client/assets/OnboardingDialog-CAAtNnJf.js +1 -0
- package/dist/client/assets/OpinionatedPluginsSettings-AiDB0Vl4.js +1 -0
- package/dist/client/assets/{PdfAttachmentPreview-C8-hT8KQ.js → PdfAttachmentPreview-BFNW2wjN.js} +2 -2
- package/dist/client/assets/{PhoneGetAppInterstitial-Zh0zpBgT.js → PhoneGetAppInterstitial-D8fwZ8E9.js} +1 -1
- package/dist/client/assets/PhoneHome-YHgHljA0.js +1 -0
- package/dist/client/assets/PhoneSettingsSurface-BVxJppvK.js +2 -0
- package/dist/client/assets/PreviewPanel-BYcEnkv9.js +643 -0
- package/dist/client/assets/ProjectScriptDialog-K34K2Kzm.js +1 -0
- package/dist/client/assets/ProjectsPage-DXnMYLjb.js +1 -0
- package/dist/client/assets/PromoteChatDialog-CAY7_wJ-.js +1 -0
- package/dist/client/assets/ProviderLimitWindow-CK04BSkM.js +1 -0
- package/dist/client/assets/ProviderUpdateLaunchNotification.logic-BMBrDDOC.js +1 -0
- package/dist/client/assets/ProvidersSettingsPanel-C85PX9Es.js +1 -0
- package/dist/client/assets/PullRequestsPage-C0rgfGwB.js +1 -0
- package/dist/client/assets/{QuitShortcutFeedback-Qs9XsuZ4.js → QuitShortcutFeedback-DSkKqETs.js} +1 -1
- package/dist/client/assets/RedactedSensitiveText-DQ0YveQd.js +1 -0
- package/dist/client/assets/RollingText-BzvpP5fa.js +1 -0
- package/dist/client/assets/RootAppShell-BYQ-eGNT.js +6 -0
- package/dist/client/assets/{Separator-B6Esv57Y.js → Separator-DpiW19Vw.js} +1 -1
- package/dist/client/assets/SettingsPage-BCFN7Ju2.js +2 -0
- package/dist/client/assets/SettingsPanels-CP6z2b1x.js +3 -0
- package/dist/client/assets/SettingsPanels.editor-D8U-TWWG.js +1 -0
- package/dist/client/assets/SettingsSelect-DEhNaz3E.js +1 -0
- package/dist/client/assets/Sidebar.logic-D_ODfSpl.js +1 -0
- package/dist/client/assets/SimulatorPanel-DCT6fZ0X.js +1 -0
- package/dist/client/assets/SourceControlSettings-DxUtvPMK.js +1 -0
- package/dist/client/assets/StatisticsPage-C9SrwtM4.js +1 -0
- package/dist/client/assets/StatisticsPanel-BMYLETs0.js +1 -0
- package/dist/client/assets/ThreadLinkList-BN5z5EpS.js +169 -0
- package/dist/client/assets/ThreadTerminalDrawer-CgIFOlR-.js +18 -0
- package/dist/client/assets/ThreadWorkspacePanel-DvXoqQPF.js +3 -0
- package/dist/client/assets/ToolbarRootContext-8FsV9Cpj.js +1 -0
- package/dist/client/assets/TraitsPicker-DcrpJahy.js +1 -0
- package/dist/client/assets/Virtualizer-CwXeUPla.js +1345 -0
- package/dist/client/assets/WorkspacePullRequestPanel-3mlcJn9G.js +1 -0
- package/dist/client/assets/WorkspaceReview-UGbCgXeK.js +2 -0
- package/dist/client/assets/{abnfDiagram-N423BO3Z-ByEe3mC0.js → abnfDiagram-N423BO3Z-DVEM6Scc.js} +1 -1
- package/dist/client/assets/{activity-CwTUF6lv.js → activity-DVCuAejY.js} +1 -1
- package/dist/client/assets/{alert-DQEkrtUJ.js → alert-FV7ZIit_.js} +1 -1
- package/dist/client/assets/alert-dialog-CgXR9tED.js +1 -0
- package/dist/client/assets/app-window-3xtwqZgI.js +1 -0
- package/dist/client/assets/appChrome-COCz-T7w.js +1 -0
- package/dist/client/assets/{appearancePreferences-nFx4MHoI.js → appearancePreferences-NnsvXwBe.js} +1 -1
- package/dist/client/assets/architecture-7GRP2DOG-DXXb_0_g.js +1 -0
- package/dist/client/assets/{architectureDiagram-T3A2C74G-Bd-yxaTr.js → architectureDiagram-T3A2C74G-B6pcKiCj.js} +1 -1
- package/dist/client/assets/{arrow-left-DUOpzEbP.js → arrow-left-Blu3LSE2.js} +1 -1
- package/dist/client/assets/{arrow-right-HOYJnPKw.js → arrow-right-CO3CH0ne.js} +1 -1
- package/dist/client/assets/arrow-up-B69gV2Bq.js +1 -0
- package/dist/client/assets/{arrow-up-right-DHnMKuVA.js → arrow-up-right-BbPGFOLA.js} +1 -1
- package/dist/client/assets/authorization-Ob6YwWiI.js +1 -0
- package/dist/client/assets/autocomplete-RVpjsrDv.js +1 -0
- package/dist/client/assets/ban-BIm2PVkE.js +1 -0
- package/dist/client/assets/{blockDiagram-VBNYF7ZC-CPDBonMC.js → blockDiagram-VBNYF7ZC-WNerGp9V.js} +1 -1
- package/dist/client/assets/{bot-DxjPA7Bw.js → bot-C9nWtaWq.js} +1 -1
- package/dist/client/assets/browserState-jt47YsqD.js +1 -0
- package/dist/client/assets/{c4Diagram-5PPSVZJV-BM6pAiqT.js → c4Diagram-5PPSVZJV-wp1ioOoM.js} +1 -1
- package/dist/client/assets/camera-C13VoW3c.js +1 -0
- package/dist/client/assets/capabilities-CfOhq009.js +1 -0
- package/dist/client/assets/channel-56r2qL2v.js +1 -0
- package/dist/client/assets/{chart-column-Cg7d41tb.js → chart-column-DRv0YtL_.js} +1 -1
- package/dist/client/assets/checkbox-CIIIY9FA.js +1 -0
- package/dist/client/assets/checks-Dw022Bvy.js +1 -0
- package/dist/client/assets/{chunk-2GRJ4B5K-DVKozJ41.js → chunk-2GRJ4B5K-DRl3ILpc.js} +1 -1
- package/dist/client/assets/{chunk-4I5QYGJK-BRoMwPkW.js → chunk-4I5QYGJK-CYTRl4bo.js} +1 -1
- package/dist/client/assets/{chunk-5RXB4S5H-DFMKyoqP.js → chunk-5RXB4S5H-VCNwRsOa.js} +1 -1
- package/dist/client/assets/{chunk-6Q2QTUOP-Ba6UENe9.js → chunk-6Q2QTUOP-DnSeKGPG.js} +1 -1
- package/dist/client/assets/{chunk-7Z6QIM7H-B87gYLWH.js → chunk-7Z6QIM7H-Cjilh9TF.js} +1 -1
- package/dist/client/assets/{chunk-GF5L2VYU-DZ840GRQ.js → chunk-GF5L2VYU-CGR7AW0t.js} +1 -1
- package/dist/client/assets/{chunk-I66GZJ75-BO6p4Aqg.js → chunk-I66GZJ75-CXSn8dDu.js} +1 -1
- package/dist/client/assets/{chunk-JQJVKLGR-5dTfVinz.js → chunk-JQJVKLGR-Dro-75lU.js} +1 -1
- package/dist/client/assets/{chunk-KBJHAD2P-BeWfBZdP.js → chunk-KBJHAD2P-BDqN2kVf.js} +1 -1
- package/dist/client/assets/{chunk-NSK5VX7P-DuRkdn5k.js → chunk-NSK5VX7P-DGo5UczH.js} +1 -1
- package/dist/client/assets/{chunk-QR6OTTB3-Duz4Y_uE.js → chunk-QR6OTTB3-RWuyWnBI.js} +1 -1
- package/dist/client/assets/{chunk-UBXNYLIW-D-z8URgN.js → chunk-UBXNYLIW-BPRzeB0w.js} +1 -1
- package/dist/client/assets/{chunk-W5SLKNZC-AGjFjjoJ.js → chunk-W5SLKNZC-DYWocTFi.js} +1 -1
- package/dist/client/assets/{chunk-WRU74C26-BgY3UiXB.js → chunk-WRU74C26-ChbB1jY3.js} +1 -1
- package/dist/client/assets/circle-stop-D8B4hRpY.js +1 -0
- package/dist/client/assets/circle-x-CNLfrTqR.js +1 -0
- package/dist/client/assets/classDiagram-JCYQIIEL-DGvmFev3.js +1 -0
- package/dist/client/assets/classDiagram-v2-OCEON4UE-DGvmFev3.js +1 -0
- package/dist/client/assets/{clipboard-copy-BWf3JuTE.js → clipboard-copy-DGi8FKNO.js} +1 -1
- package/dist/client/assets/clock-3-DmJ4_XPI.js +1 -0
- package/dist/client/assets/clock-DZIuPtNG.js +1 -0
- package/dist/client/assets/color-picker-BdBXje-a.js +1 -0
- package/dist/client/assets/columns-2-CWlMOClK.js +1 -0
- package/dist/client/assets/combobox-Dtjtf7AB.js +1 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-BuOAGqlK.js → cynefin-OW5HDTMX-TuShvMuM.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-MW4NZA55-DqV0Aokp.js → cynefinDiagram-MW4NZA55-B0Edt2Em.js} +1 -1
- package/dist/client/assets/{dagre-VZM6K2ZE-D_GFquDW.js → dagre-VZM6K2ZE-D-eiuqHx.js} +1 -1
- package/dist/client/assets/{data-list-BJCq3CVP.js → data-list-BAx6jBY1.js} +1 -1
- package/dist/client/assets/desktopUpdateAtoms-BjrLa3tl.js +1 -0
- package/dist/client/assets/desktopWorkspace-C2wXVBhc.js +1 -0
- package/dist/client/assets/{deviceName-C2N8ZRX3.js → deviceName-B4youG0v.js} +1 -1
- package/dist/client/assets/{diagram-7IWD3JNH-B1wlsNg2.js → diagram-7IWD3JNH-DgM6lMlR.js} +1 -1
- package/dist/client/assets/{diagram-B4RE2ZJO-D-CYoym7.js → diagram-B4RE2ZJO-CyHNDjzV.js} +1 -1
- package/dist/client/assets/{diagram-LBJQPF4R-DqJ9NCqt.js → diagram-LBJQPF4R-DDzuLIN5.js} +1 -1
- package/dist/client/assets/{diagram-Q27KOJAE-3yp1D2u4.js → diagram-Q27KOJAE-BaBvK9QB.js} +1 -1
- package/dist/client/assets/{diagram-UB23O5K3-Byp25nGC.js → diagram-UB23O5K3-CzZ2ewuZ.js} +1 -1
- package/dist/client/assets/dialogWords-Cg0YkJVg.js +1 -0
- package/dist/client/assets/diffRouteSearch-D2MKN_ah.js +1 -0
- package/dist/client/assets/disclosureMotion-cbMJn5-z.js +1 -0
- package/dist/client/assets/{download-DsYNYJeu.js → download-TvtXS4hE.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-BXEA7PRR-B_IM1l6o.js → ebnfDiagram-BXEA7PRR-CL1vdOKi.js} +1 -1
- package/dist/client/assets/editorPreferences-DqKyA-2Z.js +1 -0
- package/dist/client/assets/ellipsis-CDK1dNFZ.js +1 -0
- package/dist/client/assets/ellipsis-vertical-CwzEUTwV.js +1 -0
- package/dist/client/assets/{empty-BbJHvskr.js → empty-BovKoxbn.js} +1 -1
- package/dist/client/assets/{erDiagram-JOGREHBK--OtcrCRJ.js → erDiagram-JOGREHBK-DmQR2if6.js} +1 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-D272GIcY.js +1 -0
- package/dist/client/assets/external-link-CJeVJZ7s.js +1 -0
- package/dist/client/assets/eye-BUmrXqzg.js +1 -0
- package/dist/client/assets/file-diff-BWc3mYsz.js +1 -0
- package/dist/client/assets/flowDiagram-UKHOOZJN-DLyS38Mm.js +1 -0
- package/dist/client/assets/folder-git-2-CPxg5wKP.js +1 -0
- package/dist/client/assets/folder-open-DcMymvp1.js +1 -0
- package/dist/client/assets/formatCount-B4KLI651.js +1 -0
- package/dist/client/assets/{ganttDiagram-PKOTCBZU-w0seBi3Q.js → ganttDiagram-PKOTCBZU-1q2nUL92.js} +1 -1
- package/dist/client/assets/git-pull-request-BFPwpm3c.js +1 -0
- package/dist/client/assets/{gitGraph-4MIJSDKK-BOJ0lcSW.js → gitGraph-4MIJSDKK-COtwmv2S.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-DS77QQ5N-BMfOCCYn.js → gitGraphDiagram-DS77QQ5N-ChsvaxX4.js} +1 -1
- package/dist/client/assets/{group-tVMKGp7Q.js → group-DWWn0dTx.js} +1 -1
- package/dist/client/assets/hammer-BXo-EU88.js +1 -0
- package/dist/client/assets/hostedConnectionCoordinator-BkAE-RhA.js +1 -0
- package/dist/client/assets/{index-BqZvnGNr.js → index-DARIYokI.js} +2 -2
- package/dist/client/assets/{info-A6RAGUB7-acjBTQ5o.js → info-A6RAGUB7-CI2qZ9wW.js} +1 -1
- package/dist/client/assets/{infoDiagram-6WML65LV-DB01Nc2m.js → infoDiagram-6WML65LV-BPmgcTPH.js} +1 -1
- package/dist/client/assets/{input-BDWSVClC.js → input-CCie4mm1.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-WSZJBQD7-KhZTvm-J.js → ishikawaDiagram-WSZJBQD7-LyS9p3Yg.js} +1 -1
- package/dist/client/assets/{journeyDiagram-NVQOT4AX-C3JCYk-2.js → journeyDiagram-NVQOT4AX-BYaAmN65.js} +1 -1
- package/dist/client/assets/{kanban-definition-27J2QSJJ-Dbo0C1s6.js → kanban-definition-27J2QSJJ-D-pwzqFt.js} +1 -1
- package/dist/client/assets/{key-round-CETZqe3h.js → key-round-BlrUTfxB.js} +1 -1
- package/dist/client/assets/keyboard-DlBdq6sz.js +1 -0
- package/dist/client/assets/label-ChtVI9lp.js +1 -0
- package/dist/client/assets/layers-BB-ruGvd.js +1 -0
- package/dist/client/assets/lifecycleSuggestionPolicy-0ERe_O53.js +1 -0
- package/dist/client/assets/list-checks-BkM_ZRsj.js +1 -0
- package/dist/client/assets/loader-3vQnfqIT.js +1 -0
- package/dist/client/assets/{log-out-D5-aSBAz.js → log-out-CKq9YiLY.js} +1 -1
- package/dist/client/assets/{logging-B_qXVrk6.js → logging-CCg76rgn.js} +1 -1
- package/dist/client/assets/main-Ch0bwS-M.js +9 -0
- package/dist/client/assets/main-Di0isH9D.css +2 -0
- package/dist/client/assets/{mermaid-parser.core-B6Q-3x_q.js → mermaid-parser.core-RK9ah5RM.js} +2 -2
- package/dist/client/assets/{mermaidEngine-DksLcesB.js → mermaidEngine-Dr8UsPhH.js} +3 -3
- package/dist/client/assets/message-circle-dashed-BrjwqS7-.js +1 -0
- package/dist/client/assets/messageQueueDrain-B7R7Qmq6.js +1 -0
- package/dist/client/assets/messages-square-cDTkDJv_.js +1 -0
- package/dist/client/assets/{mindmap-definition-FAOFIHXS-LaMzRxqw.js → mindmap-definition-FAOFIHXS-DVudWasx.js} +1 -1
- package/dist/client/assets/{packet-AYTQ26CC-BHhg59Si.js → packet-AYTQ26CC-DnkTsVhD.js} +1 -1
- package/dist/client/assets/panels-top-left-B7jZiLth.js +1 -0
- package/dist/client/assets/path-text-3Rfu6lt8.js +1 -0
- package/dist/client/assets/{pegDiagram-VL7TDLO6-s7l7UD9d.js → pegDiagram-VL7TDLO6-Do5PIp8B.js} +1 -1
- package/dist/client/assets/pencil-Bzg-nc6d.js +1 -0
- package/dist/client/assets/{pie-WAS4IAKB-DygX31Z9.js → pie-WAS4IAKB-B_nNQOzn.js} +1 -1
- package/dist/client/assets/{pieDiagram-7S7Q4E2Y-bb6I9TtZ.js → pieDiagram-7S7Q4E2Y-D_IG4xwA.js} +1 -1
- package/dist/client/assets/{play-DUvOxTpL.js → play-DpXXQ1qB.js} +1 -1
- package/dist/client/assets/popover-OWEv6cQz.js +48 -0
- package/dist/client/assets/presentationTier-DPVAxTK4.js +1 -0
- package/dist/client/assets/previewRouteSearch-BjZdTuSf.js +1 -0
- package/dist/client/assets/primary-Cf-xJExj.js +4 -0
- package/dist/client/assets/primitives-CxTBN7D4.js +1 -0
- package/dist/client/assets/projectCheckouts.logic-DUT4AxXr.js +1 -0
- package/dist/client/assets/projectPaths-B8aVmOZX.js +1 -0
- package/dist/client/assets/projectPreferences-CzWBItFj.js +1 -0
- package/dist/client/assets/providerCapabilities-B2YOPsLN.js +1 -0
- package/dist/client/assets/providerDriverMeta-BHHL9uw0.js +1 -0
- package/dist/client/assets/providerModels-v9PYbzRE.js +1 -0
- package/dist/client/assets/providerStatus-CDPaqb0S.js +1 -0
- package/dist/client/assets/pullRequestsModel.logic-Dv_om_C4.js +1 -0
- package/dist/client/assets/{qr-code-dbkTo07n.js → qr-code-BlbiBIwH.js} +1 -1
- package/dist/client/assets/{qr-code-D4CtBq2F.js → qr-code-DywzVgQC.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-CIZ2JOQS-Cj1Y68ZF.js → quadrantDiagram-CIZ2JOQS-DY6fJyrM.js} +1 -1
- package/dist/client/assets/{radar-RG4KPBEZ-FHM3ftPp.js → radar-RG4KPBEZ-D9689I5m.js} +1 -1
- package/dist/client/assets/radio-group-DVwD6Cuy.js +1 -0
- package/dist/client/assets/{railroad-74A4TZTK-CPMn18Cm.js → railroad-74A4TZTK-DVzWbQnl.js} +1 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-C_2P6umA.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-aGlR3R3z.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-DCB9oE8y.js +1 -0
- package/dist/client/assets/{railroadDiagram-AXF67PYL-DyV3SuDj.js → railroadDiagram-AXF67PYL-D1oJ6Jtl.js} +1 -1
- package/dist/client/assets/readCache-B7cDPz2O.js +1 -0
- package/dist/client/assets/{refresh-cw-CgDa2Ok_.js → refresh-cw-CRUTivd6.js} +1 -1
- package/dist/client/assets/{requirementDiagram-LRYGKXZP-_xEAGWaH.js → requirementDiagram-LRYGKXZP-7RM8iREp.js} +1 -1
- package/dist/client/assets/rotate-ccw-BE2ZCwL6.js +1 -0
- package/dist/client/assets/roving-radio-group-NMPWrDqe.js +1 -0
- package/dist/client/assets/rows-2-DDS4dGTX.js +1 -0
- package/dist/client/assets/runtime-DjjjAcTE.js +18 -0
- package/dist/client/assets/safePolygon-C1AzMRS4.js +1 -0
- package/dist/client/assets/{sankeyDiagram-W5VNT64P-Clf6oTLi.js → sankeyDiagram-W5VNT64P-C1tKAPGN.js} +1 -1
- package/dist/client/assets/{save-C8h0AMdl.js → save-OZdkPs_y.js} +1 -1
- package/dist/client/assets/scroll-area-80P7vbjw.js +1 -0
- package/dist/client/assets/{scrollEdges-BXYnwntN.js → scrollEdges-C0Oc-5qi.js} +1 -1
- package/dist/client/assets/select-Cb9FUPHD.js +1 -0
- package/dist/client/assets/separator-CO8bC7Wc.js +1 -0
- package/dist/client/assets/{sequenceDiagram-SI44F4Z6-CcYtQLSe.js → sequenceDiagram-SI44F4Z6-DGVpb7jL.js} +1 -1
- package/dist/client/assets/settings-2-PrRDu6Lc.js +1 -0
- package/dist/client/assets/settingsLayout-CRFNCk_D.js +1 -0
- package/dist/client/assets/sheet-C5DW7qVO.js +1 -0
- package/dist/client/assets/{shield-DPC4oHTi.js → shield-CBHYqlkR.js} +1 -1
- package/dist/client/assets/{shield-alert-CwH36qZb.js → shield-alert-Dc2cGwyR.js} +1 -1
- package/dist/client/assets/{shield-check-CGD7sEeF.js → shield-check-_wl7R4Js.js} +1 -1
- package/dist/client/assets/sidebar-0BBaFNm3.js +1 -0
- package/dist/client/assets/sidebarProjectFolders-BjWzbt8C.js +3 -0
- package/dist/client/assets/sidebarProjectGrouping-nQRStWrZ.js +1 -0
- package/dist/client/assets/sidebarStatusText-BBKuNies.js +1 -0
- package/dist/client/assets/sidebarUndo-Dfq1lvyF.js +1 -0
- package/dist/client/assets/{skeleton-rS3IgBob.js → skeleton-DfUe6VV_.js} +1 -1
- package/dist/client/assets/sliders-horizontal-BGXkwvKv.js +1 -0
- package/dist/client/assets/sliding-tabs-BnDSjRU3.js +39 -0
- package/dist/client/assets/{smartphone-DgVJfbv3.js → smartphone-OEAQOTdv.js} +1 -1
- package/dist/client/assets/spinner-lHRJWsym.js +1 -0
- package/dist/client/assets/square-B05NKv3e.js +1 -0
- package/dist/client/assets/{star-Cqay-Cae.js → star-C8mHmfZu.js} +1 -1
- package/dist/client/assets/{stateDiagram-OKZ733FA-DEKURpRP.js → stateDiagram-OKZ733FA-CCOAegCG.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-UEYNNEHI-D60qqBed.js +1 -0
- package/dist/client/assets/storeSelectors-BichCKDC.js +1 -0
- package/dist/client/assets/surfaceMorph-BTRijmlU.js +1 -0
- package/dist/client/assets/{swimlanes-SLNWSIFB-DrR6sbi6.js → swimlanes-SLNWSIFB-CFsLYT4h.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-D0SaJgSn.js +8 -0
- package/dist/client/assets/switch-oQc7Ifbl.js +1 -0
- package/dist/client/assets/text-wrap-DSRdSfDm.js +1 -0
- package/dist/client/assets/textarea-VyiIZ0wQ.js +1 -0
- package/dist/client/assets/threadPriorityRefreshRuntime-H656C1J_.js +1 -0
- package/dist/client/assets/ticker-CPutfhZ4.js +1 -0
- package/dist/client/assets/{timeline-definition-Z64GVDOM-bQJvmJx5.js → timeline-definition-Z64GVDOM-B4agmO7R.js} +1 -1
- package/dist/client/assets/toggle-DFqtCPt-.js +1 -0
- package/dist/client/assets/toggle-group-C5ICmqkI.js +1 -0
- package/dist/client/assets/{tokenModePresentation-BkS-mry_.js → tokenModePresentation-umDRm4k1.js} +1 -1
- package/dist/client/assets/tooltip-DbqhseXd.js +1 -0
- package/dist/client/assets/{treeView-Q6P3EWNA-D4Ex5QTp.js → treeView-Q6P3EWNA-C_S3udFB.js} +1 -1
- package/dist/client/assets/{treemap-WGGIJYW6-C4B6Y6qM.js → treemap-WGGIJYW6-B-kUSAkE.js} +1 -1
- package/dist/client/assets/undo-2-lyluTGMW.js +1 -0
- package/dist/client/assets/{unplug-B1dczi-t.js → unplug-D6iu-qlh.js} +1 -1
- package/dist/client/assets/usage-ClF-eUmy.js +1 -0
- package/dist/client/assets/useActiveIndicator-R5NWu8Fg.js +1 -0
- package/dist/client/assets/useAppSidebarCollapsed-BbMxfio5.js +1 -0
- package/dist/client/assets/useAppearancePreference-Ix13pMKy.js +1 -0
- package/dist/client/assets/useAtlassian-BYDCc9lv.js +0 -0
- package/dist/client/assets/useCheckoutResolution-CR-oOp5-.js +1 -0
- package/dist/client/assets/useDesktopRelaunchGuard-Jmh615iZ.js +1 -0
- package/dist/client/assets/useDiffFileNavigation-DeuzdD5E.js +15 -0
- package/dist/client/assets/useDiffLayout-DhcXwhBL.js +1 -0
- package/dist/client/assets/useEnvironmentSettingsTarget-DM6BRDT7.js +1 -0
- package/dist/client/assets/useFocus-CV0KIZwg.js +1 -0
- package/dist/client/assets/useGit-CUcs7h5_.js +1 -0
- package/dist/client/assets/useGitBranchSearch-CeKFtnCL.js +1 -0
- package/dist/client/assets/useHostedDraftExecutionTarget-DvQU5UOq.js +1 -0
- package/dist/client/assets/useLabelableId-CEgCRi6q.js +1 -0
- package/dist/client/assets/useLandingFlash-BfOOlFtW.js +1 -0
- package/dist/client/assets/useLogicalProjectSnapshots-CRNZke74.js +1 -0
- package/dist/client/assets/useNavigate-sQZthdyT.js +1 -0
- package/dist/client/assets/usePageLeadingInsetClass-Bf4nUvx4.js +1 -0
- package/dist/client/assets/usePhoneThreadActions-VaQ-mZex.js +1 -0
- package/dist/client/assets/usePopupHandleStore-DimKo2Yy.js +1 -0
- package/dist/client/assets/usePopupViewport-YeqX_UM3.js +1 -0
- package/dist/client/assets/usePresentationTier-B9kCQ4YH.js +1 -0
- package/dist/client/assets/useProject-Kt74Z12J.js +1 -0
- package/dist/client/assets/useProviderOptionsUpdater-CTzNh2B7.js +2 -0
- package/dist/client/assets/usePullRequestFilesViewed-D5Snmzys.js +1 -0
- package/dist/client/assets/usePullRequestsModel-DJL5HHbP.js +40 -0
- package/dist/client/assets/useScrollLock-CLZ31xsK.js +1 -0
- package/dist/client/assets/useSidebarThreadActions-n6EkLATf.js +6 -0
- package/dist/client/assets/{useStatistics-B76_r68I.js → useStatistics-DD0mYS4J.js} +14 -14
- package/dist/client/assets/{useTheme-B441xg4F.js → useTheme-Bdy-BDs-.js} +1 -1
- package/dist/client/assets/useValueChanged-DoumqMnV.js +1 -0
- package/dist/client/assets/{user-round-CLy1Qy1Y.js → user-round-BPDXr8Gq.js} +1 -1
- package/dist/client/assets/{vennDiagram-T6HMQDX7-8iiroXim.js → vennDiagram-T6HMQDX7-B1UEn_j_.js} +1 -1
- package/dist/client/assets/{vscode-icons-CJBVQtq5.js → vscode-icons-Ccy-gzFN.js} +1 -1
- package/dist/client/assets/{wardley-WFR3VGLG-DpyNUbTc.js → wardley-WFR3VGLG-gPdyDc-7.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-T6FBY63Y-CI7is3QO.js → wardleyDiagram-T6FBY63Y-2aDcwOA4.js} +1 -1
- package/dist/client/assets/workspaceLifecycle-OJ1aKksw.js +3 -0
- package/dist/client/assets/workspaceMetadataProjection-CyEyJhUa.js +1 -0
- package/dist/client/assets/workspaceRouteSearch-CCavUdbH.js +1 -0
- package/dist/client/assets/{wrench-7pbbxqrZ.js → wrench-CPUCA_rn.js} +1 -1
- package/dist/client/assets/wsTransport-C88seBPA.js +15 -0
- package/dist/client/assets/{xychartDiagram-ELKLHX3M-BTEX3m2y.js → xychartDiagram-ELKLHX3M-C1_7Q-1i.js} +1 -1
- package/dist/client/favicon.svg +1 -1
- package/dist/client/index.html +1 -1
- package/dist/collectUint8StreamText-BsLSgI8i.mjs +710 -0
- package/dist/collectUint8StreamText-D5olwfpM.cjs +757 -0
- package/dist/{deviceHostWorker-L8C9wy38.mjs → deviceHostWorker-B-Dn-6An.mjs} +1 -1
- package/dist/{makeManagedServerProvider-CF776SAO.cjs → makeManagedServerProvider-B5tP7tvg.cjs} +1 -1
- package/dist/{makeManagedServerProvider-B90UKjnv.mjs → makeManagedServerProvider-B65ipCxM.mjs} +2 -2
- package/dist/resource-monitor/linux-arm64/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/dist/{runtimeSession-V3RIy8Ao.mjs → runtimeSession-D_BZ-wRH.mjs} +1 -1
- package/dist/{src-CARHuYkT.cjs → src-FmeCeBJ9.cjs} +2291 -72
- package/dist/{src-CtsgPPhb.mjs → src-VTj60bUm.mjs} +1974 -61
- package/package.json +1 -1
- package/dist/AzureDevOpsSourceControlProvider-CKSvfuDS.cjs +0 -190
- package/dist/AzureDevOpsSourceControlProvider-DRWSXTml.mjs +0 -188
- package/dist/GitLabSourceControlProvider-Cj07OTBD.mjs +0 -186
- package/dist/GitLabSourceControlProvider-CvvN5pHt.cjs +0 -188
- package/dist/client/assets/AccountSettings-v6-r6gYl.js +0 -1
- package/dist/client/assets/AiFocusSettings-BVdLON0q.js +0 -1
- package/dist/client/assets/AppearanceSettings-DRChsQnN.js +0 -1
- package/dist/client/assets/BranchToolbar.logic-YN3KjVr9.js +0 -3
- package/dist/client/assets/BrowserPanel-Dxw3stFP.js +0 -1
- package/dist/client/assets/ChatRightPanel-CygpcJiF.js +0 -201
- package/dist/client/assets/ChatThreadRouteView-DYLZFHu0.js +0 -1
- package/dist/client/assets/CommandPaletteDialog-BRvBzP1R.js +0 -1
- package/dist/client/assets/CompositeRoot-BeEGGWwn.js +0 -1
- package/dist/client/assets/ComputerUseSettings-Cq8Pi0ZU.js +0 -1
- package/dist/client/assets/ConnectionsSettings-RSYtexxd.js +0 -7
- package/dist/client/assets/ContextHandoffEndpointLabel-CeGDLNA4.js +0 -4
- package/dist/client/assets/DiagnosticsSettings-CDa6MVx4.js +0 -2
- package/dist/client/assets/DialogHandle-BE7egDQQ.js +0 -1
- package/dist/client/assets/DialogRoot-C4mtzigX.js +0 -1
- package/dist/client/assets/DialogTitle-B_Q4DykI.js +0 -1
- package/dist/client/assets/DialogTrigger-BSqd4Crj.js +0 -1
- package/dist/client/assets/DraftChatThreadRouteView-JW_bXVrM.js +0 -1
- package/dist/client/assets/GlassSurface-DDG4eTlj.js +0 -1
- package/dist/client/assets/HostedConnectionControls-CscV6hm1.js +0 -1
- package/dist/client/assets/HostedHubRoot-gp7-ClBP.js +0 -2
- package/dist/client/assets/HostedNodeRenameDialog-D1DSiTpx.js +0 -1
- package/dist/client/assets/HostedRelayTrustNotice-B9jp4SRh.js +0 -1
- package/dist/client/assets/IntegrationsSettingsPanel-DH7SfWtV.js +0 -2
- package/dist/client/assets/KeybindingsSettings-DkgYYSHS.js +0 -7
- package/dist/client/assets/LazyBrowserPanel-D4e76vc_.js +0 -2
- package/dist/client/assets/McpServersSettings-Dc1kPa-X.js +0 -6
- package/dist/client/assets/MobileSheet-lT--mLEz.js +0 -1
- package/dist/client/assets/NodeSecuritySettings-DcfSx4KT.js +0 -1
- package/dist/client/assets/NullStore-8d2s-Re3.js +0 -1
- package/dist/client/assets/OnboardingDialog-CnLjwM6Z.js +0 -1
- package/dist/client/assets/OpinionatedPluginsSettings-BTJyS3rN.js +0 -1
- package/dist/client/assets/PhoneHome-CIMkuDJF.js +0 -1
- package/dist/client/assets/PhoneSettingsSurface-CfZQxJNI.js +0 -2
- package/dist/client/assets/ProvidersSettingsPanel-DAVSiwE1.js +0 -1
- package/dist/client/assets/RedactedSensitiveText-BHGbQJwB.js +0 -1
- package/dist/client/assets/RootAppShell-T056pByH.js +0 -7
- package/dist/client/assets/SettingsDialog-BERU2Qg7.js +0 -2
- package/dist/client/assets/SettingsPanels-De_XZOQF.js +0 -3
- package/dist/client/assets/SettingsPanels.editor-Dkva9gX_.js +0 -2
- package/dist/client/assets/SourceControlSettings-B4HS17cB.js +0 -1
- package/dist/client/assets/StatisticsPage-Bj2ftFdH.js +0 -1
- package/dist/client/assets/StatisticsPanel-Dw7GBBmd.js +0 -1
- package/dist/client/assets/StatisticsSettingsLink-_XL3ABoI.js +0 -1
- package/dist/client/assets/ThreadTerminalDrawer-CPPzQSXN.js +0 -18
- package/dist/client/assets/ThreadWorkspacePanel-DWKU7Omm.js +0 -2073
- package/dist/client/assets/appChrome-TkWLAGxk.js +0 -1
- package/dist/client/assets/architecture-7GRP2DOG-HS59zfrk.js +0 -1
- package/dist/client/assets/authorization-D8dOcEYq.js +0 -1
- package/dist/client/assets/badge-2AZ3HfVS.js +0 -1
- package/dist/client/assets/capabilities-CsHjxjab.js +0 -1
- package/dist/client/assets/channel-Dn3_cOkm.js +0 -1
- package/dist/client/assets/chevron-right-Dsw16yGn.js +0 -1
- package/dist/client/assets/classDiagram-JCYQIIEL-ZQvrS8No.js +0 -1
- package/dist/client/assets/classDiagram-v2-OCEON4UE-ZQvrS8No.js +0 -1
- package/dist/client/assets/compiler-runtime-C4g8XhC5.js +0 -1
- package/dist/client/assets/desktopWorkspace-_iM6B9Kf.js +0 -1
- package/dist/client/assets/editorPreferences-D8q1ItMW.js +0 -1
- package/dist/client/assets/eventmodeling-NTZA5JFV-Dj71kuPV.js +0 -1
- package/dist/client/assets/flowDiagram-UKHOOZJN-BaAiwuvL.js +0 -1
- package/dist/client/assets/hostedConnectionCoordinator-BuRWCvUG.js +0 -1
- package/dist/client/assets/hubRoutes-jcMPIFy3.js +0 -1
- package/dist/client/assets/kbd-Dxm5Elqj.js +0 -1
- package/dist/client/assets/layers-Dqez1Uq8.js +0 -1
- package/dist/client/assets/liquidGlass-CA2o_Cq0.js +0 -1
- package/dist/client/assets/liquidGlass.worker-icvLJKHf.js +0 -1
- package/dist/client/assets/main-BqSANuAs.css +0 -2
- package/dist/client/assets/main-DAbEANjY.js +0 -9
- package/dist/client/assets/motion-BdscFixQ.js +0 -1
- package/dist/client/assets/palette-92ylWqeC.js +0 -1
- package/dist/client/assets/perfInstrumentation-BT27w4tn.js +0 -1
- package/dist/client/assets/presentationTier-xlIjcFab.js +0 -1
- package/dist/client/assets/primary-DZjgHvyf.js +0 -5
- package/dist/client/assets/providerDriverMeta-T2YbXzuS.js +0 -1
- package/dist/client/assets/providerStatus-DBGvvkyF.js +0 -1
- package/dist/client/assets/radio-group-CRnHYWa8.js +0 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-DxU7Mt1k.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-BYAPVjRd.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-BOqgR_X7.js +0 -1
- package/dist/client/assets/runtime-BwHA1GUS.js +0 -18
- package/dist/client/assets/scroll-area-7n2X_RLQ.js +0 -1
- package/dist/client/assets/separator-CL1qjMqJ.js +0 -1
- package/dist/client/assets/settingsLayout-DxsFwhF0.js +0 -1
- package/dist/client/assets/sheet-CGiaw8-i.js +0 -1
- package/dist/client/assets/sidebar-Cc6ANbOP.js +0 -1
- package/dist/client/assets/sidebarProjectFolders-DO2Uv84F.js +0 -4
- package/dist/client/assets/sidebarStatusText-B4AtFXZo.js +0 -1
- package/dist/client/assets/sidebarUndo-gdSrfa4O.js +0 -1
- package/dist/client/assets/square-Cr9X8U6y.js +0 -1
- package/dist/client/assets/src-C3Y_imaX.js +0 -14
- package/dist/client/assets/stateDiagram-v2-UEYNNEHI-CWtHILqh.js +0 -1
- package/dist/client/assets/storeSelectors-CTDWheMy.js +0 -1
- package/dist/client/assets/swimlanesDiagram-ULZ7WXOC-DuaPce9O.js +0 -8
- package/dist/client/assets/switch-DnpJB2xv.js +0 -48
- package/dist/client/assets/toggle-D10FsFoE.js +0 -1
- package/dist/client/assets/toggle-group-BhzbQPEQ.js +0 -1
- package/dist/client/assets/tooltip-BlweKBxc.js +0 -1
- package/dist/client/assets/usage-BBwaxMif.js +0 -1
- package/dist/client/assets/useAppSidebarCollapsed-CFy476E3.js +0 -1
- package/dist/client/assets/useAppearancePreference-Dlh9P8iu.js +0 -1
- package/dist/client/assets/useBaseUiId-DKOjzmu3.js +0 -1
- package/dist/client/assets/useLabelableId-DQbY2GG1.js +0 -1
- package/dist/client/assets/useNavigate-B8oXtF30.js +0 -1
- package/dist/client/assets/usePhoneThreadActions-6DCLiyJ5.js +0 -1
- package/dist/client/assets/usePopupViewport-CNWcP7Od.js +0 -1
- package/dist/client/assets/usePresentationTier-hxB7Yv_Q.js +0 -1
- package/dist/client/assets/useScrollLock-BbKeKZdj.js +0 -1
- package/dist/client/assets/useTriggerFocusGuards-BC4Wb3GI.js +0 -1
- package/dist/client/assets/useValueChanged-BkTbyZdO.js +0 -1
- package/dist/client/assets/workspaceMetadataProjection-aqZEXDrQ.js +0 -1
- package/dist/collectUint8StreamText-BAUF-vzz.mjs +0 -37
- package/dist/collectUint8StreamText-vagpNUMJ.cjs +0 -42
- package/dist/git-9xWsJYIH.mjs +0 -132
- package/dist/git-xIkXFy_l.cjs +0 -218
- package/dist/sourceControl-B0D1Op29.cjs +0 -253
- package/dist/sourceControl-BiEBxN01.mjs +0 -224
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{al as t}from"./runtime-DjjjAcTE.js";import{t as n}from"./react-CwJFpaho.js";var r=e(n(),1).forwardRef(function(e,n){let{className:r,render:i,orientation:a=`horizontal`,style:o,...s}=e;return t(`div`,e,{state:{orientation:a},ref:n,props:[{role:`separator`,"aria-orientation":a},s]})});export{r as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-Di0isH9D.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./index-DARIYokI.js";import{K as n,i as r,q as i}from"./primary-Cf-xJExj.js";import{Pi as a}from"./wsTransport-C88seBPA.js";import{$ as o,$i as s,As as c,J as l,Ji as u,Q as d,Ts as f,X as p,Y as m,Z as h,Zi as g,ad as _,ai as ee,ed as te,et as v,ms as y,nd as b,nt as x,td as ne,tt as re,wr as ie,ws as S}from"./runtime-DjjjAcTE.js";import{t as C}from"./react-CwJFpaho.js";import{Q as ae,S as oe,Z as se,g as w,h as ce,l as le,m as ue}from"./popover-OWEv6cQz.js";import{i as de}from"./presentationTier-DPVAxTK4.js";import{a as fe,r as pe,t as me}from"./tooltip-DbqhseXd.js";import{t as T}from"./activity-DVCuAejY.js";import{t as he}from"./app-window-3xtwqZgI.js";import{n as E,t as ge}from"./useEnvironmentSettingsTarget-DM6BRDT7.js";import{c as D,l as O,n as k,r as _e,t as ve}from"./SettingsPanels-CP6z2b1x.js";import{t as ye}from"./arrow-up-right-BbPGFOLA.js";import{g as be,t as xe}from"./HostedConnectionControls-CoVqtnrK.js";import{t as A}from"./chart-column-DRv0YtL_.js";import{x as Se}from"./checkbox-CIIIY9FA.js";import{I as Ce,V as j}from"./workspaceLifecycle-OJ1aKksw.js";import{t as M}from"./keyboard-DlBdq6sz.js";import{n as we}from"./HostedNodeRenameDialog-SXWMsTO0.js";import{t as N}from"./rotate-ccw-BE2ZCwL6.js";import{t as P}from"./settings-2-PrRDu6Lc.js";import{t as Te}from"./shield-CBHYqlkR.js";import{i as F}from"./capabilities-CfOhq009.js";import{t as Ee}from"./user-round-BPDXr8Gq.js";import{o as De,t as Oe}from"./desktopWorkspace-C2wXVBhc.js";import{n as ke,t as Ae}from"./deviceName-B4youG0v.js";import{o as je}from"./providerModels-v9PYbzRE.js";import{t as I}from"./skeleton-DfUe6VV_.js";import{_ as Me}from"./desktopUpdateAtoms-BjrLa3tl.js";import{o as Ne}from"./sidebar-0BBaFNm3.js";import{n as Pe,t as Fe}from"./appChrome-COCz-T7w.js";import{a as Ie,o as Le}from"./settingsLayout-CRFNCk_D.js";import{t as Re}from"./useAppSidebarCollapsed-BbMxfio5.js";import{t as ze}from"./useActiveIndicator-R5NWu8Fg.js";import{u as Be}from"./main-Ch0bwS-M.js";var L={name:`plug`,size:24,node:[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]};L.node;var R=S(L),z={name:`puzzle`,size:24,node:[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]};z.node;var Ve=S(z),B=e(C(),1),V=de(),He=[{section:`general`,owner:`node`,title:`Project defaults`,description:`Inherited initial model, effort, thread location, branch prefix, and worktree setup.`,keywords:`inherit override reset scope project model effort setup`},{section:`general`,owner:`client`,title:`Welcome tour`,description:`Replay provider setup, add a project, and learn the essentials.`,keywords:`onboarding first run getting started setup`,localOnboardingOnly:!0},{section:`appearance`,title:`Diff style`,owner:`client`,description:`Preview unified and split layouts for code changes.`,keywords:`diff design side by side stacked layout`},{section:`integrations`,title:`Browser Use`,owner:`client`,description:`Pair browsers and manage agent access to local tabs.`,keywords:`chrome brave edge browser extension`,desktopCapability:`computerUse`},{section:`general`,title:`Quit shortcut`,owner:`client`,description:`Prevent accidental quits: press twice, hold, or quit immediately.`,keywords:`ctrl cmd q exit desktop`,desktopCapability:`quitShortcut`},{section:`general`,title:`Device name`,owner:`node`,description:`Rename the selected device for everyone who can access it.`,keywords:`machine hostname node name rename icon`,targetId:`Device`},{section:`integrations`,title:`Device permissions`,owner:`node`,description:`Manage permissions on the selected device or learn where local approval is required.`,keywords:`computer use accessibility screen recording capture device local remote`},{section:`integrations`,desktopCapability:`computerUse`,title:`Computer use`,owner:`client`,targetId:`Computer Use`,description:`Control local apps and browsers, manage permissions, and pair a browser.`,keywords:`accessibility screen recording capture cursor chrome brave edge app access foreground automation`},{section:`inbox`,title:`AI Focus`,owner:`client`,description:`Prioritize the Inbox with bounded, environment-local model ranking.`,keywords:`priority sort active threads model ranking focus refresh`},{section:`inbox`,title:`AI Focus models`,owner:`node`,description:`Choose or inherit the ranking model for each connected environment.`,keywords:`provider node disclosure privacy data`},{section:`general`,title:`Time format`,owner:`client`,description:`System default, 12-hour or 24-hour clock.`,keywords:`clock hours`},{section:`general`,title:`Default editor`,owner:`client`,description:`Pin which editor opens directories and files.`,keywords:`vscode cursor open in`},{section:`source-control`,title:`Diff line wrapping`,owner:`client`,description:`Default wrap state when the diff panel opens.`,keywords:`word wrap`},{section:`source-control`,title:`Hide whitespace changes`,owner:`client`,description:`Whether the diff panel ignores whitespace-only edits.`,keywords:`diff`},{section:`source-control`,title:`Remote Git status`,owner:`client`,description:`Refresh remote branch and pull request metadata.`,keywords:`git polling refresh remote`},{section:`source-control`,title:`PR & workflow updates`,owner:`client`,description:`Choose automatic, reduced, or manual pull request and workflow refreshes.`,keywords:`github actions checks ci polling refresh`},{section:`general`,title:`Stream token by token (legacy)`,owner:`node`,description:`Compatibility mode for token-by-token assistant output.`,keywords:`token streaming assistant output streaming tokens buffered`,targetId:`legacy-token-streaming`},{section:`general`,title:`Provider update checks`,owner:`node`,description:`Check installed provider CLIs for newer versions.`,keywords:`upgrade cli`},{section:`general`,title:`Auto-open overview`,owner:`client`,description:`Open the overview when plans or progress appear.`,keywords:`panel plan`},{section:`general`,title:`New threads`,owner:`node`,description:`Default workspace mode for newly created drafts.`,keywords:`local worktree draft`},{section:`general`,title:`Worktree branch prefix`,owner:`node`,description:`Default prefix for generated worktree branches on this device.`,keywords:`git namespace branch naming ryco`},{section:`general`,title:`Worktree root`,owner:`node`,description:`Environment worktree directory and project overrides. Existing checkouts keep their paths.`,keywords:`folder path location inherit reset`},{section:`general`,title:`Worktree submodules`,owner:`node`,description:`Initialization for new worktrees, with project overrides and repository configuration.`,keywords:`git recursive top-level none initialize inherit`},{section:`general`,title:`Add project starts in`,owner:`node`,description:`Starting directory for the Add Project browser.`,keywords:`folder path`},{section:`general`,title:`Archive confirmation`,owner:`client`,description:`Ask before archiving a thread.`,keywords:`confirm`},{section:`general`,title:`Delete confirmation`,owner:`client`,description:`Ask before deleting a thread.`,keywords:`confirm remove`},{section:`general`,title:`Unpin confirmation`,owner:`client`,description:`Ask before removing a thread from pinned threads.`,keywords:`confirm pin unpin favorite`},{section:`general`,title:`Update track`,owner:`client`,description:`Which release channel the app follows.`,keywords:`beta stable release channel`},{section:`appearance`,title:`Interface font`,owner:`client`,description:`Normal app text, navigation, dialogs, and controls.`,keywords:`typeface dm sans inter geist`},{section:`appearance`,title:`Code font`,owner:`client`,description:`Code blocks, diffs, file paths, and terminal surfaces.`,keywords:`monospace jetbrains fira`},{section:`appearance`,title:`Text size`,owner:`client`,description:`Scale the interface independently from the theme.`,keywords:`zoom font size compact`},{section:`appearance`,title:`Corner radius`,owner:`client`,description:`Rounding for panels, buttons, inputs, and menus.`,keywords:`round square`},{section:`appearance`,title:`Primary color`,owner:`client`,description:`Accent color for links, focus rings, and actions.`,keywords:`accent custom violet amber`},{section:`appearance`,title:`Transparency`,owner:`client`,description:`Glass and floating surfaces like dialogs, menus, popups.`,keywords:`glass blur liquid material solid`},{section:`appearance`,title:`Theme palette`,owner:`client`,description:`Built-in and custom color themes; import and export.`,keywords:`dark midnight graphite nord dracula catppuccin`},{section:`general`,title:`Messages sent while a turn runs`,owner:`client`,description:`Queue follow-ups or steer them into the running turn; Mod+Enter does the opposite.`,keywords:`steer queue follow-up enter`},{section:`general`,title:`Auto-collapse wide composer labels`,owner:`client`,description:`Show long composer mode labels only on hover or focus.`,keywords:`chips`},{section:`general`,title:`Always use Build mode`,owner:`client`,description:`Hide the mode selector and send every turn in Build mode.`,keywords:`composer`},{section:`appearance`,title:`Color mode`,owner:`client`,description:`Light, dark, or follow the system preference.`,keywords:`color mode dark light`},{section:`providers`,title:`Provider instances`,owner:`node`,description:`Configure Codex, Claude, Copilot, OpenCode, and Cursor.`,keywords:`api model driver accent`},{section:`integrations`,title:`Private Agent Control`,owner:`node`,targetId:`Agent Control`,description:`Pair local Codex or Claude MCP clients with scoped, revocable access.`,keywords:`model context protocol tools pairing codex claude approval agent control`},{section:`mcp-servers`,title:`MCP Servers`,owner:`node`,description:`Manage Codex, Claude, and other provider-native MCP servers.`,keywords:`model context protocol tools add server oauth profiles providers`},{section:`keybindings`,title:`Keyboard shortcuts`,owner:`client`,description:`Customize app shortcuts locally or import legacy node bindings.`,keywords:`shortcuts hotkeys keyboard`},{section:`source-control`,title:`Version Control`,owner:`node`,description:`Git behavior and defaults.`,keywords:`git commit`},{section:`source-control`,title:`Source Control Providers`,owner:`node`,description:`GitHub and other source control provider connections.`,keywords:`github pr pull request`},{section:`connections`,title:`Network access`,owner:`client`,description:`Expose the local backend on your network.`,keywords:`lan host remote`},{section:`connections`,title:`Pairing link`,owner:`client`,description:`Scan to open this backend on another device.`,keywords:`qr code phone mobile`},{section:`connections`,title:`Tailscale HTTPS`,owner:`client`,description:`Serve over your tailnet with HTTPS.`,keywords:`vpn remote`},{section:`connections`,title:`Authorized clients`,owner:`client`,description:`Devices and sessions allowed to connect.`,keywords:`revoke tokens`},{section:`security`,title:`Session code`,owner:`node`,description:`Compare this browser's channel against the one your node's CLI shows.`,keywords:`security verification websas e2ee compare short authentication string`},{section:`security`,title:`Enrollment fingerprint`,owner:`node`,description:`This node's identity, and the prekey and continuity behind it.`,keywords:`security e2ee key fingerprint rotate lineage`},{section:`security`,title:`Authorized client keys`,owner:`node`,description:`Approve, reduce, revoke, or delete a client key, and open a pairing window.`,keywords:`security e2ee pairing fingerprint refused attempts`},{section:`security`,title:`Admission policy`,owner:`node`,description:`Require E2EE, require approved clients, and advance the policy generation.`,keywords:`security e2ee strict fallback plaintext`},{section:`diagnostics`,title:`Diagnostics`,owner:`node`,description:`Logs, tracing, resource history, and live activity.`,keywords:`debug performance slow`},{section:`diagnostics`,title:`Test notification`,owner:`client`,description:`Fire sample notifications to preview the toast design and stacking.`,keywords:`toast notifications preview trigger sample`},{section:`statistics`,title:`Statistics`,owner:`node`,description:`Usage activity and history.`,keywords:`heatmap usage tokens`},{section:`archived`,title:`Archive`,owner:`node`,description:`Archived threads and Trash; restore, or delete from Trash permanently.`,keywords:`trash restore retention cleanup suggestions`}];function Ue(e,t,n){let[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)([]),[s,c]=(0,B.useState)(null);return(0,B.useEffect)(()=>{if(!r)return;let e=new WeakMap,i=0,a=[],s=()=>{let e=r.getBoundingClientRect().top+64,t=a.findLast(t=>t.element.getBoundingClientRect().top<=e)??a[0];c(t?.element??null)},l=!1,u=()=>{if(a=t?[]:Array.from(r.querySelectorAll(`[data-settings-section]`)).map(t=>(e.has(t)||e.set(t,`section-${++i}`),{id:e.get(t),title:t.dataset.settingsSection,element:t})),o(e=>e.length===a.length&&e.every((e,t)=>e.element===a[t]?.element&&e.title===a[t]?.title)?e:a),n&&!t&&!l){let e=Array.from(r.querySelectorAll(`h2, h3, [id], [data-settings-section]`)).find(e=>e.id===n||e.dataset.settingsSection===n||e.textContent?.trim()===n);e&&(l=!0,e.scrollIntoView({block:`center`}),e.tabIndex=-1,e.focus({preventScroll:!0}))}s()};u();let d=new MutationObserver(u);return d.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-settings-section`,`aria-current`]}),r.addEventListener(`scroll`,s,!0),()=>{d.disconnect(),r.removeEventListener(`scroll`,s,!0)}},[r,e,t,n]),{contentRef:i,sections:a,active:s}}var H=_(),U=[{id:`account`,label:`Account`,icon:Ee,description:`Your Hub identity, sign-in methods, and recovery.`},{id:`general`,label:`General`,icon:P,description:{client:`Behavior, notifications, and defaults for this app.`,node:`Identity, imports, updates, and project defaults for this device.`}},{id:`inbox`,label:`Inbox`,icon:F,description:`What the inbox surfaces and the models that summarize it.`},{id:`appearance`,label:`Appearance`,icon:we,description:`Theme, typography, and interface details for this app.`},{id:`providers`,label:`Providers`,icon:O,description:`Coding agents on this device and the models they offer.`},{id:`opinionated-plugins`,label:`Plugins`,icon:Ve,description:`Ryco plugins installed into each agent on this device.`},{id:`mcp-servers`,label:`MCP`,icon:j,description:`Model Context Protocol servers each agent can reach.`},{id:`integrations`,label:`Integrations`,icon:R,description:{client:`Desktop permissions, computer use, and the browser bridge.`,node:`Agent Control and the tools that can drive this device.`}},{id:`keybindings`,label:`Keybindings`,icon:M,description:`Keyboard shortcuts saved in this app or browser profile.`},{id:`source-control`,label:`Source control`,icon:ae,description:{client:`How this app presents commits, branches, and pull requests.`,node:`Git behavior and the hosting providers this device can reach.`}},{id:`connections`,label:`Connections`,icon:D,description:`The devices this app can reach and how it reaches them.`},{id:`security`,label:`Security`,icon:Te,description:`Who can reach this device, live sessions, and pairing policy.`},{id:`diagnostics`,label:`Diagnostics`,icon:T,description:{client:`Performance and presentation checks for this app.`,node:`Logs, traces, processes, and resource history for this device.`}},{id:`statistics`,label:`Statistics`,icon:A,description:`Usage and activity for this device.`},{id:`archived`,label:`Archive`,icon:E,description:`Archived threads and Trash on this device. Restore or delete them.`}],We=new Set([`statistics`]),Ge=U.map(e=>e.id),W=new Map(U.map(e=>[e.id,e.label])),Ke=(0,B.lazy)(()=>t(()=>import(`./AccountSettings-B88Q_w9Y.js`).then(e=>({default:e.AccountSettingsPanel})),__vite__mapDeps([0]))),G=(0,B.lazy)(()=>t(()=>import(`./ProvidersSettingsPanel-C85PX9Es.js`).then(e=>({default:e.ProvidersSettingsPanel})),__vite__mapDeps([0]))),K=(0,B.lazy)(()=>t(()=>import(`./AiFocusSettings-Bb0TrCPn.js`).then(e=>({default:e.AiFocusSettings})),__vite__mapDeps([0]))),q=(0,B.lazy)(()=>t(()=>import(`./OpinionatedPluginsSettings-AiDB0Vl4.js`).then(e=>({default:e.OpinionatedPluginsSettingsPanel})),[])),qe=(0,B.lazy)(()=>t(()=>import(`./IntegrationsSettingsPanel-DAPvkV4i.js`).then(e=>({default:e.IntegrationsSettingsPanel})),__vite__mapDeps([0]))),J=(0,B.lazy)(()=>t(()=>import(`./McpServersSettings-Dw6G3ff3.js`).then(e=>({default:e.McpServersSettings})),__vite__mapDeps([0]))),Je=(0,B.lazy)(()=>t(()=>import(`./AppearanceSettings-XS9WRVPU.js`).then(e=>({default:e.AppearanceSettingsPanel})),__vite__mapDeps([0]))),Ye=(0,B.lazy)(()=>t(()=>import(`./KeybindingsSettings-B8g-YI2O.js`).then(e=>({default:e.KeybindingsSettingsPanel})),__vite__mapDeps([0]))),Xe=(0,B.lazy)(()=>t(()=>import(`./SourceControlSettings-DxUtvPMK.js`).then(e=>({default:e.SourceControlSettingsPanel})),__vite__mapDeps([0]))),Ze=(0,B.lazy)(()=>t(()=>import(`./ConnectionsSettings-B9mxExdG.js`).then(e=>({default:e.ConnectionsSettings})),__vite__mapDeps([0]))),Qe=(0,B.lazy)(()=>t(()=>import(`./NodeSecuritySettings-3MELA9ru.js`).then(e=>({default:e.NodeSecuritySettings})),[])),$e=(0,B.lazy)(()=>t(()=>import(`./DiagnosticsSettings-f9rFG9re.js`).then(e=>({default:e.DiagnosticsSettings})),[]));function et(e,t){return typeof e.description==`string`?e.description:e.description[t]}function tt(e){let t=(0,V.c)(15),{section:n,searchTargetId:r}=e;switch(n){case`account`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(Ke,{}),t[0]=e):e=t[0],e}case`general`:{let e;return t[1]===r?e=t[2]:(e=(0,H.jsx)(k,{searchTargetId:r}),t[1]=r,t[2]=e),e}case`inbox`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(K,{}),t[3]=e):e=t[3],e}case`providers`:{let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(G,{}),t[4]=e):e=t[4],e}case`opinionated-plugins`:{let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(q,{}),t[5]=e):e=t[5],e}case`mcp-servers`:{let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(J,{}),t[6]=e):e=t[6],e}case`integrations`:{let e;return t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(qe,{}),t[7]=e):e=t[7],e}case`appearance`:{let e;return t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(Je,{}),t[8]=e):e=t[8],e}case`keybindings`:{let e;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(Ye,{}),t[9]=e):e=t[9],e}case`source-control`:{let e;return t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(Xe,{}),t[10]=e):e=t[10],e}case`connections`:{let e;return t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(Ze,{}),t[11]=e):e=t[11],e}case`security`:{let e;return t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(Qe,{}),t[12]=e):e=t[12],e}case`diagnostics`:{let e;return t[13]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)($e,{}),t[13]=e):e=t[13],e}case`archived`:{let e;return t[14]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(ve,{}),t[14]=e):e=t[14],e}default:return null}}function nt(){let e=(0,V.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,H.jsx)(`div`,{className:`flex flex-col gap-9`,"aria-busy":`true`,"aria-label":`Loading settings`,children:[3,2].map(rt)}),e[0]=t):t=e[0],t}function rt(e){return(0,H.jsxs)(`div`,{children:[(0,H.jsx)(I,{className:`mb-3 h-3.5 w-28`}),(0,H.jsx)(Ie,{children:Array.from({length:e},it)})]},e)}function it(e,t){return(0,H.jsxs)(`div`,{className:`flex items-center gap-6 border-t border-border/60 px-5 py-4 first:border-t-0`,children:[(0,H.jsxs)(`div`,{className:`flex-1 space-y-2`,children:[(0,H.jsx)(I,{className:`h-3 w-40`}),(0,H.jsx)(I,{className:`h-2.5 w-64 max-w-full`})]}),(0,H.jsx)(I,{className:`h-7 w-32`})]},t)}function at(e){let t=(0,V.c)(6),{onRestored:n}=e,{changedSettingLabels:r,restoreDefaults:i}=_e(n),a=r.length===0,o;t[0]===i?o=t[1]:(o=()=>void i(),t[0]=i,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,H.jsx)(N,{}),t[2]=s):s=t[2];let c;return t[3]!==a||t[4]!==o?(c=(0,H.jsxs)(g,{size:`xs`,variant:`ghost`,className:`text-muted-foreground hover:text-foreground`,disabled:a,onClick:o,children:[s,`Restore defaults`]}),t[3]=a,t[4]=o,t[5]=c):c=t[5],c}function ot(){let e=(0,V.c)(2),t=c(),n;return e[0]===t?n=e[1]:(n=()=>{if(t.history.canGoBack()){t.history.back();return}t.navigate({to:`/`,replace:!0})},e[0]=t,e[1]=n),n}function st(e){return e instanceof HTMLElement?e.isContentEditable||e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.tagName===`SELECT`:!1}function ct(e){let t=(0,V.c)(28),{groups:n,activeDestination:r,activeSection:i,clientLabel:a,nodeHeader:o,extraClientItems:c,subsections:l,onSelect:u}=e,d=`${r}:${i}`,{listRef:f,rect:p,animate:m}=ze(d),h=m&&`transition-[transform,height,opacity] duration-(--app-motion-duration-stack) ease-(--app-motion-ease)`,g=p?`opacity-100`:`opacity-0`,_;t[0]!==h||t[1]!==g?(_=s(`pointer-events-none absolute inset-x-0 -z-10 rounded-[min(var(--radius-md),0.5rem)] bg-accent`,h,g),t[0]=h,t[1]=g,t[2]=_):_=t[2];let ee=p?.height??0,te=`translateY(${p?.top??0}px)`,v;t[3]!==ee||t[4]!==te?(v={top:0,height:ee,transform:te},t[3]=ee,t[4]=te,t[5]=v):v=t[5];let y;t[6]!==_||t[7]!==v?(y=(0,H.jsx)(`span`,{"aria-hidden":!0,className:_,style:v}),t[6]=_,t[7]=v,t[8]=y):y=t[8];let b;if(t[9]!==d||t[10]!==a||t[11]!==c||t[12]!==n||t[13]!==o||t[14]!==u||t[15]!==l){let e;t[17]!==d||t[18]!==a||t[19]!==c||t[20]!==o||t[21]!==u||t[22]!==l?(e=(e,t)=>(0,H.jsxs)(`div`,{role:`group`,"aria-label":e.destination===`client`?a:`Device settings`,className:s(`flex flex-col gap-px`,t>0&&`mt-5`),children:[e.destination===`client`?(0,H.jsxs)(`div`,{className:`flex h-7 items-center gap-2 px-2.5 text-[11px] font-medium text-muted-foreground`,children:[(0,H.jsx)(he,{className:`size-3.5 shrink-0 opacity-70`}),(0,H.jsx)(`span`,{className:`min-w-0 truncate`,title:a,children:a})]}):o,e.destination===`client`?c:null,e.items.map(t=>{let n=`${e.destination}:${t.id}`,r=n===d,i=t.icon,a=We.has(t.id);return(0,H.jsxs)(`div`,{className:`flex flex-col`,children:[(0,H.jsxs)(`button`,{type:`button`,"data-nav-key":n,onClick:()=>u(e.destination,t),"aria-current":r?`page`:void 0,className:s(`group/nav flex h-8 w-full items-center gap-2.5 rounded-[min(var(--radius-md),0.5rem)] px-2.5 text-left text-[13px] outline-hidden transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-ring`,r?`font-medium text-foreground`:`text-muted-foreground hover:bg-accent/50 hover:text-foreground`),children:[(0,H.jsx)(i,{className:s(`size-4 shrink-0 transition-colors`,r?`text-foreground`:`text-muted-foreground/70`)}),(0,H.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t.label}),a?(0,H.jsx)(ye,{className:`size-3.5 shrink-0 opacity-0 transition-opacity group-hover/nav:opacity-60`}):null]}),r&&l.sections.length>1?(0,H.jsx)(`div`,{className:`settings-subsections-enter relative my-1 ml-[1.0625rem] flex flex-col border-l border-border/70 pl-2`,children:l.sections.map(e=>{let{id:t,title:n,element:r}=e,i=l.active===r;return(0,H.jsx)(`button`,{type:`button`,"aria-current":i?`location`:void 0,className:s(`relative truncate rounded-sm py-1 pr-2 pl-2.5 text-left text-xs outline-hidden transition-colors focus-visible:ring-2 focus-visible:ring-ring`,i?`text-foreground before:absolute before:top-1/2 before:-left-[calc(0.5rem+1px)] before:h-4 before:w-px before:-translate-y-1/2 before:bg-foreground`:`text-muted-foreground/80 hover:text-foreground`),onClick:()=>{r.hasAttribute(`data-settings-action`)&&r.click(),r.scrollIntoView({block:`start`,behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`})},children:n},t)})}):null]},n)})]},e.destination),t[17]=d,t[18]=a,t[19]=c,t[20]=o,t[21]=u,t[22]=l,t[23]=e):e=t[23],b=n.map(e),t[9]=d,t[10]=a,t[11]=c,t[12]=n,t[13]=o,t[14]=u,t[15]=l,t[16]=b}else b=t[16];let x;return t[24]!==f||t[25]!==y||t[26]!==b?(x=(0,H.jsx)(`nav`,{"aria-label":`Settings sections`,className:`hidden w-56 shrink-0 flex-col overflow-y-auto border-r border-border/70 px-3 pt-4 pb-6 md:flex lg:w-60`,children:(0,H.jsxs)(`div`,{ref:f,className:`relative isolate flex flex-col`,children:[y,b]})}),t[24]=f,t[25]=y,t[26]=b,t[27]=x):x=t[27],x}function lt(e){let t=(0,V.c)(27),{groups:n,activeDestination:r,activeSection:i,clientLabel:a,nodeLabel:o,onSelect:s}=e,c;t[0]!==r||t[1]!==i||t[2]!==n?(c=n.find(e=>e.destination===r)?.items.find(e=>e.id===i),t[0]=r,t[1]=i,t[2]=n,t[3]=c):c=t[3];let l=c?.label??`Sections`,u;t[4]===l?u=t[5]:(u=(0,H.jsx)(`span`,{className:`truncate`,children:l}),t[4]=l,t[5]=u);let d;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,H.jsx)(Se,{className:`size-3.5 opacity-60`}),t[6]=d):d=t[6];let f;t[7]===u?f=t[8]:(f=(0,H.jsx)(oe,{render:(0,H.jsxs)(g,{variant:`outline`,size:`sm`,className:`mb-6 w-full justify-between md:hidden`,children:[u,d]})}),t[7]=u,t[8]=f);let p;if(t[9]!==r||t[10]!==i||t[11]!==a||t[12]!==n||t[13]!==o||t[14]!==s){let e;t[16]!==r||t[17]!==i||t[18]!==a||t[19]!==o||t[20]!==s?(e=e=>(0,H.jsxs)(ce,{value:r===e.destination?i:``,children:[(0,H.jsx)(`div`,{className:`px-2 pt-2 pb-1 text-[11px] font-medium text-muted-foreground`,children:e.destination===`client`?a:o}),e.items.map(t=>(0,H.jsx)(w,{value:t.id,onClick:()=>s(e.destination,t),children:t.label},t.id))]},e.destination),t[16]=r,t[17]=i,t[18]=a,t[19]=o,t[20]=s,t[21]=e):e=t[21],p=n.map(e),t[9]=r,t[10]=i,t[11]=a,t[12]=n,t[13]=o,t[14]=s,t[15]=p}else p=t[15];let m;t[22]===p?m=t[23]:(m=(0,H.jsx)(ue,{align:`start`,className:`max-h-[60dvh] min-w-56 overflow-y-auto`,children:p}),t[22]=p,t[23]=m);let h;return t[24]!==f||t[25]!==m?(h=(0,H.jsxs)(le,{children:[f,m]}),t[24]=f,t[25]=m,t[26]=h):h=t[26],h}function ut(e){let t=(0,V.c)(17),{query:n,results:r,sectionLabel:i,destinationLabel:a,onPick:o}=e;if(r.length===0){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(se,{}),t[0]=e):e=t[0];let r=`No settings match “${n}”`,i;return t[1]===r?i=t[2]:(i=(0,H.jsx)(Le,{icon:e,title:r,description:`Try a shorter word, or look through the sections on the left.`,className:`settings-panel-enter py-20`}),t[1]=r,t[2]=i),i}let s=r.length===1?`1 setting`:`${r.length} settings`,c;t[3]===s?c=t[4]:(c=(0,H.jsx)(`p`,{className:`mb-2 px-0.5 text-xs text-muted-foreground`,children:s}),t[3]=s,t[4]=c);let l;if(t[5]!==a||t[6]!==o||t[7]!==r||t[8]!==i){let e;t[10]!==a||t[11]!==o||t[12]!==i?(e=(e,t)=>(0,H.jsxs)(`button`,{type:`button`,onClick:()=>o(e),style:{"--i":Math.min(t,12)},className:`settings-search-result group/result flex min-w-0 items-start gap-4 rounded-[min(var(--radius-lg),0.625rem)] px-3 py-2.5 text-left outline-hidden ring-ring transition-colors hover:bg-accent/60 focus-visible:ring-2`,children:[(0,H.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,H.jsx)(`span`,{className:`block text-[13px] font-medium text-foreground`,children:e.title}),(0,H.jsx)(`span`,{className:`mt-0.5 block text-xs leading-relaxed text-muted-foreground`,children:e.description})]}),(0,H.jsxs)(`span`,{className:`mt-0.5 shrink-0 text-[11px] text-muted-foreground/80`,children:[a(e.owner),i(e)?` · ${i(e)}`:``]})]},`${e.owner}:${e.section}:${e.title}`),t[10]=a,t[11]=o,t[12]=i,t[13]=e):e=t[13],l=r.map(e),t[5]=a,t[6]=o,t[7]=r,t[8]=i,t[9]=l}else l=t[9];let u;return t[14]!==c||t[15]!==l?(u=(0,H.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[c,l]}),t[14]=c,t[15]=l,t[16]=u):u=t[16],u}function dt(){let e=(0,V.c)(65),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={strict:!1,select:Tt},e[0]=t):t=e[0];let o=f(t),u=ot(),d=c(),p=Re(),m=r(),h=ie(wt),_=De(),x=l(Ct),S=l(St),C=l(xt),ae=l(bt),w=l(yt),de=l(vt),T=ee(_t),E=i(),D=E?m?.environmentId??null:b({requestedEnvironmentId:de,routedEnvironmentId:o,activeEnvironmentId:h,primaryEnvironmentId:m?.environmentId??null,desktopLocalEnvironmentId:n?_.localEnvironmentId:null}),{target:O,isPrimary:k,nodeRole:_e,roleFresh:ve,desktopWorkspaceMachine:A}=ge(D),j=O,M=ke(),we=Ae(),N=O?.nodeLabel??M,P,F;e[1]!==S||e[2]!==D||e[3]!==k?(P=()=>{if(S===`node`&&n&&D&&!k)return Oe(D)},F=[S,D,k],e[1]=S,e[2]=D,e[3]=k,e[4]=P,e[5]=F):(P=e[4],F=e[5]),(0,B.useEffect)(P,F);let I;if(e[6]!==T||e[7]!==_||e[8]!==M||e[9]!==m||e[10]!==D||e[11]!==N){I=new Map,m&&I.set(m.environmentId,M);let t;e[13]===T?t=e[14]:(t=Object.values(T),e[13]=T,e[14]=t);for(let e of t)m&&e.environmentId===_.localEnvironmentId||I.set(e.environmentId,e.label);for(let e of _.machines)m&&e.environmentId===_.localEnvironmentId||I.set(e.environmentId,e.label);D&&I.set(D,N),e[6]=T,e[7]=_,e[8]=M,e[9]=m,e[10]=D,e[11]=N,e[12]=I}else I=e[12];let Ie=n&&!!window.desktopBridge?.computerUse,ze=U.filter(e=>v(e.id,`client`,Ie)&&(e.id!==`connections`||!E)),L=j?U.filter(e=>e.id!==`connections`&&v(e.id,`node`,Ie)&&re(e.id,{hosted:E||!k,role:j.connected?_e:null,desktop:!1})):[],R=[{destination:`client`,items:ze}];j&&R.push({destination:`node`,items:L});let z=S===`node`&&j?`node`:`client`,Ve=z===`node`?L:ze,Ge=x===`computer-use`&&window.desktopBridge?.computerUse?`integrations`:z===`node`&&x===`connections`?`security`:x,W=Ve.some(e=>e.id===Ge&&!We.has(e.id))?Ge:Ve.find(gt)?.id??`appearance`,Ke=U.find(e=>e.id===W);(0,B.useEffect)(()=>{(!E||ve)&&(x!==W||S!==z)&&C(z,W)},[z,S,W,E,ve,x,C]);let[G,K]=(0,B.useState)(``),[q,qe]=(0,B.useState)(null),J=(0,B.useRef)(null),Je=G.trim().toLowerCase(),Ye=R.flatMap(ht),Xe;e[15]===Ye?Xe=e[16]:(Xe=new Set(Ye),e[15]=Ye,e[16]=Xe);let Ze=Xe,Qe=Je.length===0?[]:He.filter(e=>Ze.has(`${e.owner}:${e.section}`)&&(!e.localOnboardingOnly||Me())&&(!e.desktopCapability||!!window.desktopBridge?.[e.desktopCapability])&&`${e.title} ${e.description} ${e.keywords??``}`.toLowerCase().includes(Je)),[$e,rt]=(0,B.useState)(0),it;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(it=()=>rt(mt),e[17]=it):it=e[17];let dt=it,Y=`${z}:${W}:${D??``}`,Et=Ue(Y,Je.length>0,q),{contentRef:Dt}=Et,Ot=(0,B.useRef)(null),kt;e[18]===Dt?kt=e[19]:(kt=e=>{Ot.current=e,Dt(e)},e[18]=Dt,e[19]=kt);let At=kt,jt=(0,B.useRef)(Y),Mt,Nt;e[20]!==Y||e[21]!==q?(Mt=()=>{jt.current!==Y&&(jt.current=Y,q||Ot.current?.scrollTo({top:0}))},Nt=[Y,q],e[20]=Y,e[21]=q,e[22]=Mt,e[23]=Nt):(Mt=e[22],Nt=e[23]),(0,B.useLayoutEffect)(Mt,Nt);let Pt;e[24]!==w||e[25]!==d||e[26]!==C||e[27]!==D?(Pt=(e,t)=>{if(We.has(t.id)){w(),d.navigate({to:`/statistics`,search:Be(e===`node`&&D?{environmentIds:[D]}:{})});return}qe(null),K(``),C(e,t.id)},e[24]=w,e[25]=d,e[26]=C,e[27]=D,e[28]=Pt):Pt=e[28];let Ft=Pt,It,Lt;e[29]!==u||e[30]!==G?(It=()=>{let e=e=>{if(!(e.key!==`Escape`||e.defaultPrevented)&&!document.querySelector(`[role="dialog"], [role="alertdialog"], [role="menu"], [role="listbox"]`)){if(st(e.target)){if(e.target===J.current&&G){K(``);return}e.target.blur();return}u()}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},Lt=[u,G],e[29]=u,e[30]=G,e[31]=It,e[32]=Lt):(It=e[31],Lt=e[32]),(0,B.useEffect)(It,Lt);let Rt,zt;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(Rt=()=>{let e=e=>{e.key!==`/`||e.metaKey||e.ctrlKey||e.altKey||st(e.target)||(e.preventDefault(),J.current?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},zt=[],e[33]=Rt,e[34]=zt):(Rt=e[33],zt=e[34]),(0,B.useEffect)(Rt,zt);let Bt;e[35]===N?Bt=e[36]:(Bt=e=>e===`node`?N:`This app`,e[35]=N,e[36]=Bt);let Vt=Bt,Ht;e[37]!==E||e[38]!==I||e[39]!==ae||e[40]!==j||e[41]!==D||e[42]!==N?(Ht=j?(0,H.jsxs)(`div`,{className:`flex h-7 items-center gap-2 pr-1 pl-2.5 text-[11px] font-medium text-muted-foreground`,children:[(0,H.jsx)(Ce,{environmentId:D,label:N,className:`size-3.5 shrink-0 opacity-70`}),(0,H.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:N,children:N}),!E&&I.size>1?(0,H.jsxs)(le,{children:[(0,H.jsxs)(me,{children:[(0,H.jsx)(fe,{render:(0,H.jsx)(oe,{render:(0,H.jsx)(g,{size:`icon-xs`,variant:`ghost`,"aria-label":`Settings device`,className:`size-6 text-muted-foreground hover:text-foreground sm:size-6`,children:(0,H.jsx)(Se,{className:`size-3.5`})})})}),(0,H.jsx)(pe,{side:`right`,children:`Switch device`})]}),(0,H.jsx)(ue,{align:`start`,className:`min-w-52`,children:(0,H.jsx)(ce,{value:D??``,onValueChange:e=>{K(``),ae(a.make(String(e)))},children:[...I].map(pt)})})]}):null]}):null,e[37]=E,e[38]=I,e[39]=ae,e[40]=j,e[41]=D,e[42]=N,e[43]=Ht):Ht=e[43];let Ut=Ht,Wt;e[44]!==w||e[45]!==E?(Wt=E?(0,H.jsxs)(`button`,{type:`button`,onClick:()=>{w(),be({kind:`account`,section:`overview`})},className:`group/nav flex h-8 w-full items-center gap-2.5 rounded-[min(var(--radius-md),0.5rem)] px-2.5 text-left text-[13px] text-muted-foreground outline-hidden transition-colors hover:bg-accent/50 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,H.jsx)(Ee,{className:`size-4 shrink-0 text-muted-foreground/70`}),(0,H.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`Hub account`}),(0,H.jsx)(ye,{className:`size-3.5 shrink-0 opacity-0 transition-opacity group-hover/nav:opacity-60`})]}):null,e[44]=w,e[45]=E,e[46]=Wt):Wt=e[46];let Gt=Wt,Kt=Je.length>0,qt=z===`node`&&!O?.connected,Jt=z===`node`&&L.length===0,Yt=!Kt&&W===`general`,Xt=p?Pe:`pl-4 sm:pl-5`,X;e[47]===Xt?X=e[48]:(X=s(`flex shrink-0 items-center gap-3 border-b border-border/70 pr-3 sm:pr-4`,Fe,Xt,n?`drag-region h-[52px] wco:h-[env(titlebar-area-height)] wco:pr-[calc(100vw-env(titlebar-area-width)-env(titlebar-area-x)+0.75rem)]`:`h-14`),e[47]=Xt,e[48]=X);let Zt;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(Zt=(0,H.jsx)(`h1`,{className:`shrink-0 text-sm font-semibold tracking-tight`,children:`Settings`}),e[49]=Zt):Zt=e[49];let Qt;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(Qt=(0,H.jsx)(se,{"aria-hidden":!0,className:`pointer-events-none absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground/70`}),e[50]=Qt):Qt=e[50];let $t;e[51]===Symbol.for(`react.memo_cache_sentinel`)?($t=e=>{qe(null),K(e.target.value)},e[51]=$t):$t=e[51];let Z;e[52]===G?Z=e[53]:(Z=(0,H.jsxs)(`div`,{className:`relative ml-auto w-full max-w-72 min-w-0 md:ml-6 md:max-w-80`,children:[Qt,(0,H.jsx)(`input`,{ref:J,type:`search`,value:G,onChange:$t,placeholder:`Search settings`,"aria-label":`Search settings`,className:`h-8 w-full rounded-[min(var(--radius-lg),0.625rem)] border border-transparent bg-muted/60 pr-9 pl-8 text-[13px] outline-hidden transition-[background-color,border-color,box-shadow] placeholder:text-muted-foreground/70 hover:bg-muted focus-visible:border-ring focus-visible:bg-background focus-visible:ring-[3px] focus-visible:ring-ring/20 [&::-webkit-search-cancel-button]:appearance-none`}),G?(0,H.jsx)(`button`,{type:`button`,"aria-label":`Clear search`,onClick:()=>{K(``),J.current?.focus()},className:`absolute top-1/2 right-1.5 flex size-5 -translate-y-1/2 items-center justify-center rounded-sm text-muted-foreground hover:text-foreground`,children:(0,H.jsx)(y,{className:`size-3.5`})}):(0,H.jsx)(je,{className:`pointer-events-none absolute top-1/2 right-2 -translate-y-1/2`,children:`/`})]}),e[52]=G,e[53]=Z);let en;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(en=(0,H.jsx)(xe,{}),e[54]=en):en=e[54];let tn;e[55]===Symbol.for(`react.memo_cache_sentinel`)?(tn=(0,H.jsx)(y,{}),e[55]=tn):tn=e[55];let Q;e[56]===u?Q=e[57]:(Q=(0,H.jsx)(fe,{render:(0,H.jsx)(g,{size:`icon-sm`,variant:`ghost`,"aria-label":`Close settings`,className:`text-muted-foreground hover:text-foreground`,onClick:u,children:tn})}),e[56]=u,e[57]=Q);let nn;e[58]===Symbol.for(`react.memo_cache_sentinel`)?(nn=(0,H.jsxs)(pe,{side:`bottom`,children:[`Close `,(0,H.jsx)(je,{className:`ml-1`,children:`Esc`})]}),e[58]=nn):nn=e[58];let $;e[59]===Q?$=e[60]:($=(0,H.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:[en,(0,H.jsxs)(me,{children:[Q,nn]})]}),e[59]=Q,e[60]=$);let rn;return e[61]!==X||e[62]!==Z||e[63]!==$?(rn=(0,H.jsxs)(`header`,{className:X,children:[Zt,Z,$]}),e[61]=X,e[62]=Z,e[63]=$,e[64]=rn):rn=e[64],(0,H.jsx)(Ne,{"data-slot":`settings-page`,className:`h-dvh min-h-0 overflow-hidden overscroll-y-none bg-background text-foreground`,children:(0,H.jsx)(te,{value:z,children:(0,H.jsx)(ne,{value:z===`node`?O:null,children:(0,H.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[rn,(0,H.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,H.jsx)(ct,{groups:R,activeDestination:z,activeSection:W,clientLabel:`This app`,nodeHeader:Ut,extraClientItems:Gt,subsections:Et,onSelect:Ft}),(0,H.jsx)(`div`,{ref:At,className:`min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto [scrollbar-gutter:stable]`,children:(0,H.jsxs)(`div`,{className:`mx-auto w-full max-w-[52rem] px-5 pt-8 pb-24 sm:px-8 lg:px-10 lg:pt-10`,children:[(0,H.jsx)(lt,{groups:R,activeDestination:z,activeSection:W,clientLabel:`This app`,nodeLabel:N,onSelect:Ft}),Kt?(0,H.jsx)(ut,{query:G.trim(),results:Qe,sectionLabel:ft,destinationLabel:Vt,onPick:e=>{qe(e.targetId??e.title),C(e.owner,e.section),K(``)}}):(0,H.jsxs)(`div`,{className:`settings-panel-enter`,children:[(0,H.jsxs)(`header`,{className:`mb-8 flex items-start justify-between gap-4`,children:[(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsxs)(`p`,{className:`mb-1.5 flex items-center gap-1.5 text-xs text-muted-foreground`,children:[z===`node`?(0,H.jsx)(Ce,{environmentId:D,label:N,className:`size-3.5 shrink-0`}):(0,H.jsx)(he,{className:`size-3.5 shrink-0`}),(0,H.jsx)(`span`,{className:`truncate`,"data-testid":`settings-scope-label`,children:z===`node`?N:we})]}),(0,H.jsx)(`h2`,{className:`text-xl font-semibold tracking-[-0.015em] text-foreground`,children:Ke?.label??`Settings`}),Ke?(0,H.jsx)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,"data-testid":`settings-destination-description`,children:et(Ke,z)}):null]}),Yt?(0,H.jsx)(`div`,{className:`shrink-0 pt-6`,children:(0,H.jsx)(at,{onRestored:dt})}):null]}),qt?(0,H.jsx)(Le,{icon:(0,H.jsx)(Ce,{environmentId:D,label:N}),title:A&&!A.online?`${N} is offline`:A?.canConnect?`Connecting to ${N}…`:`${N} isn't connected`,description:A&&!A.online?`Its settings will be available when it reconnects.`:`Connect to ${N} to manage its settings.`,className:`rounded-[min(var(--radius-xl),0.875rem)] border border-dashed border-border/80 py-16`}):Jt?(0,H.jsx)(Le,{icon:(0,H.jsx)(Te,{}),title:`No settings you can change`,description:`Your access to ${N} does not allow changing its settings.`,className:`rounded-[min(var(--radius-xl),0.875rem)] border border-dashed border-border/80 py-16`}):(0,H.jsx)(B.Suspense,{fallback:(0,H.jsx)(nt,{}),children:(0,H.jsx)(tt,{section:W,searchTargetId:q})})]},`${Y}:${$e}`)]})})]})]})})})})}function ft(e){return W.get(e.section)}function pt(e){let[t,n]=e;return(0,H.jsx)(w,{value:t,children:(0,H.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,H.jsx)(Ce,{environmentId:t,label:n,className:`size-3.5 shrink-0`}),(0,H.jsx)(`span`,{className:`truncate`,children:n})]})},t)}function mt(e){return e+1}function ht(e){return e.items.map(t=>`${e.destination}:${t.id}`)}function gt(e){return!We.has(e.id)}function _t(e){return e.byId}function vt(e){return e.targetEnvironmentId}function yt(e){return e.closeSettings}function bt(e){return e.setTargetEnvironmentId}function xt(e){return e.showSection}function St(e){return e.editingScope}function Ct(e){return e.section}function wt(e){return e.activeEnvironmentId}function Tt(e){return u(e)?.environmentId??null}export{Ge as SETTINGS_SECTION_IDS,W as SETTINGS_SECTION_LABELS,dt as SettingsPage,m as hostedSettingsRoleFresh,p as hostedSettingsRoleSnapshot,h as hostedSettingsSectionAllowed,d as settingsScopeLabel,o as settingsSectionAvailable,re as settingsSectionReachable,x as settingsSectionScope,ot as useLeaveSettings};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{K as t,Ot as n,a as r,i,on as a,q as o}from"./primary-Cf-xJExj.js";import{G as s,Ht as c,It as l,R as u,Ri as d,el as f,ft as p,ji as m,l as h,so as g}from"./wsTransport-C88seBPA.js";import{$i as _,Bc as v,Bi as y,Ci as b,Ei as x,Gi as S,Hu as C,I as w,J as T,Lu as E,P as D,Q as O,Rc as k,Su as A,U as j,Uu as M,Vi as N,Xu as P,Yu as F,Zi as I,Zu as ee,ad as L,al as R,as as z,b as B,br as V,bu as H,ci as U,cl as te,cs as ne,eu as re,hc as ie,id as W,jc as ae,ku as oe,lr as se,ls as ce,nl as le,nu as ue,p as de,rd as fe,si as pe,sl as me,sr as he,ss as ge,tl as _e,ts as ve,uc as ye,us as be,wr as xe,ws as Se,xd as Ce}from"./runtime-DjjjAcTE.js";import{t as we}from"./react-CwJFpaho.js";import{I as Te,Z as Ee,et as De,q as Oe}from"./popover-OWEv6cQz.js";import{i as ke}from"./presentationTier-DPVAxTK4.js";import{n as Ae,v as je}from"./NullStore-gT_6_xZE.js";import{a as Me,r as Ne,t as Pe}from"./tooltip-DbqhseXd.js";import{t as Fe}from"./useNavigate-sQZthdyT.js";import{n as Ie,r as Le}from"./useEnvironmentSettingsTarget-DM6BRDT7.js";import{t as Re}from"./arrow-up-right-BbPGFOLA.js";import{t as ze}from"./checkbox-CIIIY9FA.js";import{L as Be,R as Ve,d as He,i as Ue,l as We,z as Ge}from"./workspaceLifecycle-OJ1aKksw.js";import{i as Ke,n as qe,t as Je}from"./SettingsPanels.editor-D8U-TWWG.js";import{t as Ye}from"./message-circle-dashed-BrjwqS7-.js";import{t as Xe}from"./HostedNodeRenameDialog-SXWMsTO0.js";import{r as Ze}from"./capabilities-CfOhq009.js";import{V as Qe}from"./combobox-Dtjtf7AB.js";import{t as G}from"./toastHelpers-CSQRKo4F.js";import{o as $e}from"./authorization-Ob6YwWiI.js";import{t as et}from"./usePresentationTier-B9kCQ4YH.js";import{o as tt}from"./desktopWorkspace-C2wXVBhc.js";import{t as nt}from"./deviceName-B4youG0v.js";import{t as rt}from"./shallow-B--PNURq.js";import{t as it}from"./useControlled-CgAAWIy9.js";import{t as at}from"./input-CCie4mm1.js";import{r as ot,t as st}from"./editorPreferences-DqKyA-2Z.js";import{t as ct}from"./useTheme-Bdy-BDs-.js";import{a as lt,c as ut,i as K,o as dt,s as ft,t as pt}from"./select-Cb9FUPHD.js";import{a as mt,i as ht,n as gt,o as _t,r as vt,s as yt,t as bt}from"./alert-dialog-CgXR9tED.js";import{_ as xt,c as St,g as Ct,l as wt,n as Tt,o as Et,r as Dt,s as Ot,t as kt}from"./desktopUpdateAtoms-BjrLa3tl.js";import{t as At}from"./useLongPress-CUmLovQ7.js";import{n as jt}from"./path-text-3Rfu6lt8.js";import{t as q}from"./switch-oQc7Ifbl.js";import{a as Mt,i as Nt,o as Pt,r as Ft,t as It}from"./empty-BovKoxbn.js";import{a as Lt,c as Rt,d as J,i as zt,l as Bt,n as Vt,o as Ht,r as Y,t as Ut,u as X}from"./settingsLayout-CRFNCk_D.js";import{a as Wt,c as Gt,d as Kt,i as qt,l as Jt,o as Yt,r as Xt,s as Zt,t as Qt,u as $t}from"./lifecycleSuggestionPolicy-0ERe_O53.js";import{t as en}from"./SettingsSelect-DEhNaz3E.js";import{L as tn,v as nn}from"./main-Ch0bwS-M.js";var rn={name:`archive-x`,size:24,node:[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`m9.5 17 5-5`,key:`nakeu6`}],[`path`,{d:`m9.5 12 5 5`,key:`1hccrj`}]]};rn.node;var an=Se(rn),on={name:`blocks`,size:24,node:[[`path`,{d:`M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2`,key:`1ah6g2`}],[`rect`,{x:`14`,y:`2`,width:`8`,height:`8`,rx:`1`,key:`88lufb`}]]};on.node;var sn=Se(on),cn={name:`hard-drive`,size:24,node:[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]};cn.node;var ln=Se(cn),un={name:`link-2`,size:24,node:[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]};un.node;var dn=Se(un),Z=e(we(),1);function fn(e){let{open:t,defaultOpen:n=!1,onOpenChange:r,disabled:i}=e,[a,o]=it({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:s,setMounted:c,transitionStatus:l}=je(a,!0,!0),u=Ae(),[d,f]=Z.useState(),p=d===null?void 0:d??u,m=E(e=>{let t=!a,n=ie(k,e.nativeEvent);r(t,n),!n.isCanceled&&o(t)});return Z.useMemo(()=>({defaultPanelId:u,disabled:i,handleTrigger:m,mounted:s,open:a,panelId:p,setMounted:c,setOpen:o,setPanelIdState:f,transitionStatus:l}),[u,i,m,s,a,p,c,o,f,l])}var pn=Z.createContext(void 0);function mn(){let e=Z.useContext(pn);if(e===void 0)throw Error(C(15));return e}var hn=`data-open`,gn=`data-closed`,_n=ue,vn=`data-panel-open`,yn={[hn]:``},bn={[gn]:``},xn={open(e){return e?{[vn]:``}:null}},Sn={open(e){return e?yn:bn},...re},Q=L(),Cn=Z.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:o,open:s,style:c,...l}=e,u=E(o),d=fn({open:s,defaultOpen:i,onOpenChange:u,disabled:a}),f=Z.useMemo(()=>({open:d.open,disabled:d.disabled,transitionStatus:d.transitionStatus}),[d.open,d.disabled,d.transitionStatus]),p=Z.useMemo(()=>({...d,onOpenChange:u,state:f}),[d,u,f]),m=R(`div`,e,{state:f,ref:t,props:l,stateAttributesMapping:Sn});return(0,Q.jsx)(pn.Provider,{value:p,children:m})}),wn={...xn,...re},Tn=Z.forwardRef(function(e,t){let{panelId:n,open:r,handleTrigger:i,state:a,disabled:o}=mn(),{className:s,disabled:c=o,render:l,nativeButton:u=!0,style:d,...f}=e,{getButtonProps:p,buttonRef:m}=v({disabled:c,focusableWhenDisabled:!0,native:u});return R(`button`,e,{state:a,ref:[t,m],props:[{"aria-controls":r?n:void 0,"aria-expanded":r,onClick:i},f,p],stateAttributesMapping:wn})}),En={height:void 0,width:void 0};function Dn(e){let{externalRef:t,hiddenUntilFound:n,id:r,keepMounted:i,mounted:a,onOpenChange:o,open:s,setMounted:c,setOpen:l,transitionStatus:u}=e,d=Z.useRef(null),f=Z.useRef(null),[p,m]=Z.useState(En),h=Z.useRef(En),g=Z.useRef(!1),_=Z.useRef(s),v=Z.useRef(!1),[y,b]=Z.useState(!1),x=Z.useRef(null),S=te(t,d),C=ye(s),w=le(d),T=!s&&!a,D=y?`idle`:u,O=s&&(_.current||v.current),k=!s&&a&&f.current===`css-animation`&&p.height===void 0&&p.width===void 0?h.current:p,j=n&&T&&f.current!==`css-animation`,N=E((e,t=!0)=>{t&&(h.current=e),m(e)}),P=E(()=>{x.current?.(),x.current=null}),F=E(e=>{P(),x.current=()=>{x.current=null,e()}}),I=E(()=>{s&&a&&f.current===`css-animation`&&(v.current=!0)});M(()=>{y&&u!==`starting`&&b(!1)},[y,u]),Z.useEffect(()=>()=>{I(),P()},[I,P]),M(()=>{let e=d.current;if(!e)return;!s&&x.current&&P();let t=kn(e,O);if(f.current=t,s&&u===`idle`&&_.current&&t===`css-animation`){h.current=On(e);return}if(s&&u===`starting`){let n=g.current;if(g.current=!1,t===`none`){N(On(e)),b(!0);return}if(t===`css-transition`){let t=Mn(e);if(N(On(e)),!n)return t;let r=jn(e,`transition-duration`,`0s`);return F(r),b(!0),t}N(On(e));let r=jn(e,`animation-name`,`none`);if(!n){r();return}let i=jn(e,`animation-duration`,`0s`);r(),F(i),b(!0);return}if(!s&&a&&(u===`idle`||u===`starting`)){if(_.current=!1,v.current=!1,t===`none`){N(En,!1),c(!1);return}N(On(e));return}if(u!==`ending`)return;if(t===`none`){c(!1);return}let n=On(e);if(!(n.height>0||n.width>0)){c(!1);return}N(n),t===`css-animation`&&jn(e,`animation-name`,`none`)()},[a,s,P,N,c,F,O,u]),_e({enabled:s&&a&&D===`idle`,open:!0,ref:d,onComplete(){s&&N(En,!1)}}),Z.useEffect(()=>{if(s||!a||D!==`ending`||!d.current)return;let e=new AbortController,t=-1;function n(){C.current||(c(!1),N(En,!1))}return t=H.request(()=>{w(n,e.signal)}),()=>{H.cancel(t),e.abort()}},[C,a,s,D,w,N,c]),M(()=>{let e=d.current;e&&n&&T&&e.setAttribute(`hidden`,`until-found`)},[T,n]),Z.useEffect(function(){let e=d.current;if(!e)return;function t(e){let t=ie(ae,e);o(!0,t),!t.isCanceled&&(g.current=!0,l(!0))}return A(e,`beforematch`,t)},[o,l]);let ee=i||n||a||s;return{height:k.height,props:{...j?{[_n]:``}:void 0,hidden:T,id:r},ref:S,shouldPreventOpenAnimation:O,shouldRender:ee,transitionStatus:D,width:k.width}}function On(e){return{height:e.scrollHeight,width:e.scrollWidth}}function kn(e,t){let n=oe(e).getComputedStyle(e),r=(n.animationName.split(`,`).map(e=>e.trim()).some(e=>e!==``&&e!==`none`)||t)&&An(n.animationDuration),i=An(n.transitionDuration);return r&&i||i?`css-transition`:r?`css-animation`:`none`}function An(e){return e.split(`,`).map(e=>e.trim()).some(e=>e!==``&&Number.parseFloat(e)>0)}function jn(e,t,n){let r=e.style.getPropertyValue(t),i=e.style.getPropertyPriority(t);return e.style.setProperty(t,n),()=>{if(r===``){e.style.removeProperty(t);return}e.style.setProperty(t,r,i)}}function Mn(e){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach(t=>{e.style.setProperty(t,`initial`,`important`)});function n(){Object.entries(t).forEach(([t,n])=>{if(n===``){e.style.removeProperty(t);return}e.style.setProperty(t,n)})}let r=H.request(n);return()=>{H.cancel(r),n()}}var Nn=`--collapsible-panel-height`,Pn=`--collapsible-panel-width`,Fn=Z.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:o,style:s,...c}=e,{defaultPanelId:l,mounted:u,onOpenChange:d,open:f,setMounted:p,setPanelIdState:m,setOpen:h,state:g,transitionStatus:_}=mn(),v=r??!1,y=i??!1,b=o||void 0,x=b??l;M(()=>(m(e=>b??(e===null?void 0:e)),()=>{m(e=>e===b?null:e)}),[b,m]);let{height:S,props:C,ref:w,shouldPreventOpenAnimation:T,shouldRender:E,transitionStatus:D,width:O}=Dn({externalRef:t,hiddenUntilFound:v,id:x,keepMounted:y,mounted:u,onOpenChange:d,open:f,setMounted:p,setOpen:h,transitionStatus:_}),k={...g,transitionStatus:D},A=me(s,k),j=R(`div`,{...e,style:void 0},{state:k,ref:w,props:[C,{style:{[Nn]:S===void 0?`auto`:`${S}px`,[Pn]:O===void 0?`auto`:`${O}px`}},c,A?{style:A}:void 0,T?{style:{animationName:`none`}}:void 0],stateAttributesMapping:Sn});return E?j:null}),$=ke();function In(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,Q.jsx)(Cn,{"data-slot":`collapsible`,...n}),t[2]=n,t[3]=r),r}function Ln(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=_(`cursor-pointer`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Tn,{className:i,"data-slot":`collapsible-trigger`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Rn(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=_(`h-(--collapsible-panel-height) overflow-hidden transition-[height] duration-200 data-ending-style:h-0 data-starting-style:h-0 data-open:data-ending-style:[height:var(--collapsible-panel-height)]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Q.jsx)(Fn,{className:i,"data-slot":`collapsible-panel`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var zn=`Where chats without a project keep their files, one folder per chat. Use an absolute path or ~/ outside any Git repository; leave empty to use the default. Changing it only affects new chats: existing chats stay where they are.`;function Bn(){let e=(0,$.c)(3),t=P(),n=W(),r=fe(),i=n?.environmentId??t?.environment.environmentId??`disconnected`,a=r===`client`||!t||r===`node`&&!n||!(!n||n.connected&&n.canManage!==!1&&n.canMutate!==!1),o;return e[0]!==i||e[1]!==a?(o=(0,Q.jsx)(Vn,{disabled:a},i),e[0]=i,e[1]=a,e[2]=o):o=e[2],o}function Vn({disabled:e}){let t=P(),r=W(),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(null),c=ge(t),l=!c.available&&c.reason===`unsupported`,u=e||i||l,d=t?.settings.chatsRoot??``;async function f(e){if(u)return;a(!0),s(null);let t={chatsRoot:e.trim()};try{r?await B(r.environmentId,t):n(await pe().server.updateSettings(t))}catch(e){s(e instanceof Error?e.message:`Could not save the chats folder. Try again.`)}finally{a(!1)}}return(0,Q.jsx)(X,{title:`Chats folder`,owner:`node`,scope:r?.nodeLabel??`This node`,description:zn,resetAction:d?(0,Q.jsx)(Y,{label:`chats folder`,tooltip:`Reset to default`,disabled:u,onClick:()=>void f(``)}):null,status:(0,Q.jsxs)(Q.Fragment,{children:[c.available?(0,Q.jsxs)(`span`,{className:`block break-all`,children:[`Effective: `,c.root??(d||`Ryco-managed directory`)]}):(0,Q.jsxs)(`span`,{"data-testid":`chats-folder-unavailable`,className:`block`,children:[`Chats unavailable: `,c.message]}),o?(0,Q.jsx)(`span`,{role:`alert`,className:`mt-1 block text-destructive-foreground`,children:o}):i?(0,Q.jsx)(`span`,{role:`status`,className:`mt-1 block`,children:`Saving…`}):null]}),control:(0,Q.jsx)($t,{className:Ut.lg,value:d,disabled:u,onCommit:e=>{f(e)},placeholder:`Ryco-managed directory`,"aria-label":`Chats folder directory`,spellCheck:!1,autoCapitalize:`none`})})}function Hn(e,t){if(!e||t.length===0)return He();let n=Kt.getState().lastCheckoutKey,r=n?.startsWith(`${e}\0`)?n.slice(e.length+1):null,i=r&&t.includes(r)?r:t[0];return He({environmentId:e,projectId:i,section:`defaults`})}function Un(){let e=(0,$.c)(26),t=P(),n=W(),r=Fe(),i=T(Kn),a=xe(rt(se)),o=n?.environmentId??t?.environment.environmentId,s;if(e[0]!==a||e[1]!==o){let t;e[3]===o?t=e[4]:(t=e=>e.environmentId===o,e[3]=o,e[4]=t),s=ne(a).filter(t).map(Gn),e[0]=a,e[1]=o,e[2]=s}else s=e[2];let c=s,l;e[5]!==i||e[6]!==o||e[7]!==r||e[8]!==c?(l=()=>{let e=Hn(o,c.map(Wn));i(),r(e)},e[5]=i,e[6]=o,e[7]=r,e[8]=c,e[9]=l):l=e[9];let u;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(Re,{className:`size-3`}),e[10]=u):u=e[10];let d;e[11]===l?d=e[12]:(d=(0,Q.jsxs)(I,{size:`xs`,variant:`ghost`,onClick:l,children:[`Per-project overrides`,u]}),e[11]=l,e[12]=d);let f;e[13]!==t?.environment.capabilities.projectPreferences||e[14]!==c?(f=t?.environment.capabilities.projectPreferences===!0?(0,Q.jsx)(Zt,{projectId:``,projects:c}):null,e[13]=t?.environment.capabilities.projectPreferences,e[14]=c,e[15]=f):f=e[15];let p;e[16]===c?p=e[17]:(p=(0,Q.jsx)(Jt,{projectId:``,projects:c}),e[16]=c,e[17]=p);let m;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsx)(Bn,{}),e[18]=m):m=e[18];let h;e[19]===c?h=e[20]:(h=(0,Q.jsx)(Gt,{projectId:``,projects:c}),e[19]=c,e[20]=h);let g;return e[21]!==d||e[22]!==f||e[23]!==p||e[24]!==h?(g=(0,Q.jsxs)(J,{title:`Project defaults`,owner:`node`,description:`Used by new threads and worktrees in every project on this device.`,headerAction:d,children:[f,p,m,h]}),e[21]=d,e[22]=f,e[23]=p,e[24]=h,e[25]=g):g=e[25],g}function Wn(e){return e.id}function Gn(e){return{id:e.id,title:e.name}}function Kn(e){return e.closeSettings}function qn(e){let t={busy:!1,snapshot:null,preview:null,result:null,error:null},n,r=()=>n??e.canManage?.()??!1,i=0,a=null,o=new Set,s=e=>{t={...t,...e};for(let e of o)e()},c=async n=>{if(t.busy)return;let o=e.readClient();if(!o||!r()){s({preview:null,error:`Connect as this node's owner and wait for synchronization.`});return}let c=++i;s({busy:!0,error:null});try{let t=await n(o);c===i&&e.readClient()===o&&r()?(t.preview&&(a=o),s(t)):c===i&&s({preview:null,error:`Connection changed. Scan and review again.`})}catch(e){c===i&&s({preview:null,error:e instanceof Error?e.message:`Storage request failed. Scan and review again.`})}finally{c===i&&s({busy:!1})}};return{setReady:e=>{n=e,e||(i++,a=null,s({busy:!1,preview:null,error:null}))},getSnapshot:()=>t,subscribe:e=>(o.add(e),()=>{o.delete(e)}),invalidatePreview:()=>{i++,a=null,s({busy:!1,preview:null,result:null,error:null})},reset:()=>{i++,a=null,s({busy:!1,snapshot:null,preview:null,result:null,error:null})},scan:(e,t)=>c(async n=>({snapshot:await n.storage.scan({...e?{projectId:e}:{},...t?{cursor:t}:{}}),preview:null,result:null})),preview:e=>c(async t=>({preview:await t.storage.preview({entryIds:e}),result:null})),execute:e=>c(async n=>{if(!e||!t.preview||a!==n||Date.parse(t.preview.expiresAt)<=Date.now())throw Error(`Cleanup requires a current reviewed preview and explicit confirmation.`);return{result:await n.storage.execute({token:t.preview.token,confirmation:`delete reviewed data`}),preview:null,snapshot:null}})}}function Jn(e,t){return(t?e.projectStorageRetention[t]:null)??e.storageRetention}function Yn(e,t){if(e===null||t===`unknown`)return`Size unavailable`;let n=[`B`,`KiB`,`MiB`,`GiB`,`TiB`],r=Math.min(Math.floor(Math.log2(Math.max(1,e))/10),n.length-1);return`${t===`bounded`?`At least `:``}${(e/1024**r).toFixed(r===0?0:1)} ${n[r]}`}function Xn(){let e=(0,$.c)(4),t=P(),n=W(),r=fe(),i=n?.environmentId??t?.environment.environmentId,a=i??`offline`,o=r===`client`||!t||t.environment.capabilities.storageManagement!==!0||r===`node`&&!n||!(!n||n.connected&&n.canManage!==!1&&n.canMutate!==!1),s;return e[0]!==i||e[1]!==a||e[2]!==o?(s=(0,Q.jsx)(Zn,{environmentId:i,disabled:o},a),e[0]=i,e[1]=a,e[2]=o,e[3]=s):s=e[3],s}function Zn({environmentId:e,disabled:t}){let n=P(),r=(0,Z.useMemo)(()=>qn({readClient:()=>e?de(e)?.client??null:null}),[e]);(0,Z.useLayoutEffect)(()=>{r.setReady(!t)},[r,t]);let i=(0,Z.useSyncExternalStore)(r.subscribe,r.getSnapshot),[a,o]=(0,Z.useState)(``),[s,c]=(0,Z.useState)([]),[l,u]=(0,Z.useState)(``),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(null),v=n?.settings,y=v?Jn(v,a||null):{automatic:!1,completedWorktreeDays:null,temporaryDataDays:null},b=i.snapshot?.entries.filter(e=>e.category===`repository`)??[],x=t||p||i.busy;async function S(t){if(x||!e||!a&&!t)return;m(!0),g(null),r.invalidatePreview(),c([]),f(null);let n=a?{projectStorageRetention:{[a]:t}}:{storageRetention:t};try{await B(e,n)}catch(e){g(e instanceof Error?e.message:`Could not save retention policy.`)}finally{m(!1)}}let C=a&&!v?.projectStorageRetention[a]?`Inherits the device policy`:a?`Project policy`:`Device policy`,w=e=>{let t=y[e],n=[1,7,30,90,365];return t!==null&&!n.includes(t)&&n.push(t),[{value:`forever`,label:`Forever`},...n.toSorted((e,t)=>e-t).map(e=>({value:String(e),label:e===1?`1 day`:`${e} days`}))]},T=i.snapshot?.entries.filter(e=>!a||e.projectId===a)??[],E=i.error??h;return(0,Q.jsxs)(J,{title:`Storage`,owner:`node`,description:`Measure what Ryco keeps on this device and clean up inactive checkouts. Provider archives, credentials, repositories, and persistent attachments stay protected.`,headerAction:(0,Q.jsxs)(I,{size:`xs`,variant:`outline`,disabled:x,onClick:()=>{c([]),u(``),r.scan()},children:[(0,Q.jsx)(ln,{}),i.busy?`Working…`:i.snapshot?`Rescan`:`Scan storage`]}),children:[i.snapshot?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(X,{title:`Retention policy`,description:`Applies hourly after the device starts. Only archived, stopped, clean, unshared Ryco checkouts qualify; abandoned ones get a 24-hour grace period.`,status:C,resetAction:a&&v?.projectStorageRetention[a]?(0,Q.jsx)(Y,{label:`project retention policy`,tooltip:`Use device policy`,ariaLabel:`Use device retention policy`,disabled:x,onClick:()=>void S(null)}):null,control:(0,Q.jsx)(en,{ariaLabel:`Retention policy scope`,value:a||`device`,disabled:x,onValueChange:e=>{o(e===`device`?``:e),f(null),c([]),u(``),r.invalidatePreview()},options:[{value:`device`,label:`All projects`},...b.map(e=>({value:e.projectId,label:e.label}))]})}),(0,Q.jsx)(X,{title:`Automatic cleanup`,description:`Remove qualifying checkouts on schedule. Branches, messages, and usage history are kept.`,control:(0,Q.jsx)(q,{"aria-label":`Automatic retention cleanup`,checked:y.automatic,disabled:x,onCheckedChange:e=>{e?f({...y,automatic:!0,completedWorktreeDays:y.completedWorktreeDays??30}):S({...y,automatic:!1})}}),children:d?(0,Q.jsx)(`div`,{role:`alertdialog`,"aria-label":`Enable automatic cleanup`,children:(0,Q.jsxs)(Rt,{tone:`warning`,title:`Enable automatic deletion on ${a?`this project`:`this device`}?`,action:(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(I,{size:`xs`,variant:`ghost`,onClick:()=>f(null),children:`Cancel`}),(0,Q.jsx)(I,{size:`xs`,disabled:x,onClick:()=>void S(d),children:`Enable automatic cleanup`})]}),children:[`Qualifying checkouts are removed after `,d.completedWorktreeDays,` `,`days. Dirty, untracked, ignored, shared, and running work stays protected.`]})}):null}),[`completedWorktreeDays`,`temporaryDataDays`].map(e=>(0,Q.jsx)(X,{title:e===`completedWorktreeDays`?`Keep completed checkouts`:`Keep temporary staging data`,description:e===`completedWorktreeDays`?`How long archived, finished checkouts stay before cleanup.`:`How long completed Ryco staging allocations stay before cleanup.`,control:(0,Q.jsx)(en,{ariaLabel:e===`completedWorktreeDays`?`Completed worktree retention`:`Temporary data retention`,width:`sm`,disabled:x,value:y[e]===null?`forever`:String(y[e]),onValueChange:t=>{S({...y,[e]:t===`forever`?null:Number(t)})},options:w(e)})},e)),(0,Q.jsxs)(zt,{className:`flex flex-wrap items-center justify-between gap-2 py-2.5`,children:[(0,Q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Scanned `,new Date(i.snapshot.scannedAt).toLocaleString(),i.snapshot.truncated?` · Scan limit reached; some sizes or entries are unavailable.`:``]}),(0,Q.jsxs)(I,{size:`xs`,variant:`outline`,disabled:x||!s.length,onClick:()=>{u(``),r.preview(s)},children:[`Preview cleanup (`,s.length,`)`]})]}),(0,Q.jsxs)(zt,{flush:!0,children:[(0,Q.jsx)(`ul`,{className:`max-h-96 divide-y divide-border/60 overflow-y-auto`,children:T.map(e=>{let t=Yn(e.bytes,e.sizeStatus);return(0,Q.jsxs)(`li`,{className:_(`flex items-start gap-3 py-3`,Vt),children:[(0,Q.jsx)(ze,{className:`mt-0.5`,"aria-label":`${e.label} · ${e.category} · ${t}`,disabled:x||!e.eligible,checked:s.includes(e.id),onCheckedChange:t=>c(n=>t===!0?[...n,e.id].slice(0,20):n.filter(t=>t!==e.id))}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`p`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 truncate text-[13px] font-medium text-foreground`,children:e.label}),(0,Q.jsx)(ut,{variant:`outline`,size:`sm`,className:`capitalize`,children:e.category})]}),e.path?(0,Q.jsx)(`p`,{className:`mt-0.5 break-all font-mono text-[11px] text-muted-foreground`,children:e.path}):null,(0,Q.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:e.reason})]}),(0,Q.jsx)(`span`,{className:`shrink-0 pt-0.5 text-xs tabular-nums text-muted-foreground`,children:t})]},e.id)})}),i.snapshot.nextCursor?(0,Q.jsx)(`div`,{className:_(`border-t border-border/60 py-2.5`,Vt),children:(0,Q.jsx)(I,{size:`xs`,variant:`ghost`,disabled:x,onClick:()=>{c([]),r.scan(void 0,i.snapshot.nextCursor)},children:`Next inventory page`})}):null]}),i.snapshot.history.length>0?(0,Q.jsx)(zt,{children:(0,Q.jsxs)(In,{children:[(0,Q.jsxs)(Ln,{className:`flex w-full items-center justify-between gap-2 text-left text-xs font-medium text-foreground`,children:[`Measured usage history`,(0,Q.jsxs)(`span`,{className:`font-normal text-muted-foreground`,children:[i.snapshot.history.length,` recent samples`]})]}),(0,Q.jsx)(Rn,{children:(0,Q.jsx)(`ul`,{className:`mt-2 space-y-1`,children:i.snapshot.history.filter(e=>!a||e.projectId===a).map(e=>(0,Q.jsxs)(`li`,{className:`flex flex-wrap gap-x-2 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`span`,{children:new Date(e.sampledAt).toLocaleString()}),(0,Q.jsx)(`span`,{className:`text-foreground`,children:b.find(t=>t.projectId===e.projectId)?.label??`Device data`}),(0,Q.jsx)(`span`,{className:`tabular-nums`,children:Yn(e.measuredBytes,e.incompleteEntries?`bounded`:`complete`)}),e.incompleteEntries?(0,Q.jsxs)(`span`,{children:[e.incompleteEntries,` incomplete entries`]}):null]},`${e.projectId??`node`}:${e.sampledAt}`))})})]})}):null]}):(0,Q.jsx)(Ht,{icon:(0,Q.jsx)(ln,{}),title:`Not scanned yet`,description:`Scans share a time and entry budget. Sizes are apparent bytes; unavailable sizes and lower bounds are labelled.`,className:`py-8`}),i.preview?(0,Q.jsx)(zt,{children:(0,Q.jsx)(`div`,{role:`alertdialog`,"aria-label":`Confirm storage cleanup`,children:(0,Q.jsxs)(Rt,{tone:`error`,title:`Delete these reviewed checkouts and data?`,children:[(0,Q.jsx)(`p`,{children:`This cannot be undone. Branches and conversation history are kept.`}),(0,Q.jsx)(`ul`,{className:`my-2 space-y-0.5`,children:i.preview.entries.map(e=>(0,Q.jsxs)(`li`,{className:`break-all font-mono text-[11px] text-foreground`,children:[e.path,` · `,Yn(e.bytes,e.sizeStatus)]},e.id))}),(0,Q.jsxs)(`p`,{children:[`Preview expires `,new Date(i.preview.expiresAt).toLocaleTimeString(),`. The server checks safety again before each removal.`]}),(0,Q.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2 sm:flex-row`,children:[(0,Q.jsx)(at,{size:`sm`,"aria-label":`Type DELETE to confirm cleanup`,placeholder:`Type DELETE to confirm`,value:l,className:`sm:max-w-56`,onChange:e=>u(e.target.value)}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(I,{size:`sm`,variant:`ghost`,disabled:x,onClick:()=>{r.invalidatePreview(),c([])},children:`Cancel`}),(0,Q.jsx)(I,{size:`sm`,variant:`destructive`,disabled:x||l!==`DELETE`,onClick:()=>{r.execute(!0)},children:`Delete reviewed data`})]})]})]})})}):null,i.result?.results.length||E?(0,Q.jsxs)(zt,{className:`flex flex-col gap-2`,children:[i.result?.results.map(e=>(0,Q.jsxs)(`p`,{role:`status`,className:`text-xs text-muted-foreground`,children:[(0,Q.jsx)(`span`,{className:`font-medium capitalize text-foreground`,children:e.status}),`:`,` `,e.detail]},e.id)),E?(0,Q.jsx)(Rt,{tone:`error`,role:`alert`,children:E}):null]}):null]})}function Qn(){let e=W(),[t,n]=(0,Z.useState)(!1),[r,i]=(0,Z.useState)(null);if(!e)return null;let a=e.serverConfig,o=a?.environment.capabilities.environmentIcon===!0,s=e.connected&&e.canManage!==!1&&e.canMutate!==!1&&o,c=Ve(a),l=a?.settings.environmentIcon??`automatic`;return(0,Q.jsx)(X,{title:`Icon`,scope:e.nodeLabel,description:`Shown across mobile, desktop, and web. Automatic uses the device’s name and operating system.`,control:(0,Q.jsxs)(pt,{value:l,disabled:!s||t,onValueChange:async r=>{if(s&&!t&&r!==null){n(!0),i(null);try{await B(e.environmentId,{environmentIcon:r===`automatic`?null:r})}catch{i(`Could not save the icon for ${e.nodeLabel}. Reconnect and try again.`)}finally{n(!1)}}},children:[(0,Q.jsx)(dt,{"aria-label":`Device icon for ${e.nodeLabel}`,className:Ut.md,children:(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(Ge,{kind:c,className:`size-4`}),(0,Q.jsx)(`span`,{className:`truncate`,children:l===`automatic`?`Automatic · ${Be[c]}`:Be[c]})]})}),(0,Q.jsxs)(lt,{align:`end`,alignItemWithTrigger:!1,children:[(0,Q.jsx)(K,{value:`automatic`,children:`Automatic`}),m.map(e=>(0,Q.jsx)(K,{value:e,children:(0,Q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(Ge,{kind:e,className:`size-4`}),Be[e]]})},e))]})]}),status:r?(0,Q.jsx)(`span`,{role:`alert`,children:r}):e.connected?o?s?void 0:(0,Q.jsx)(`span`,{children:`Your access does not allow changing this device’s settings.`}):(0,Q.jsx)(`span`,{children:`Update this device to enable icon selection.`}):(0,Q.jsxs)(`span`,{children:[`Connect to `,e.nodeLabel,` to change its icon.`]})})}function $n(){let e=(0,$.c)(44),n=W(),r=i(),a=tt(),s=D(er),[c,l]=(0,Z.useState)(!1);if(!n)return null;let u=t&&n.environmentId===r?.environmentId?a.localEnvironmentId:n.environmentId,d;if(e[0]!==u||e[1]!==a.machines){let t;e[3]===u?t=e[4]:(t=e=>e.environmentId===u,e[3]=u,e[4]=t),d=a.machines.find(t),e[0]=u,e[1]=a.machines,e[2]=d}else d=e[2];let f=d,p;if(e[5]!==u||e[6]!==s){let t;e[8]===u?t=e[9]:(t=e=>e.environmentId===u,e[8]=u,e[9]=t),p=s.find(t),e[5]=u,e[6]=s,e[7]=p}else p=e[7];let m=p,h;e[10]!==f?.canRename||e[11]!==m?(h=t?f?.canRename===!0&&!!window.desktopBridge?.renameDesktopWorkspaceDevice:o()&&m?.effectiveRole===`owner`&&m.revokedAt===null,e[10]=f?.canRename,e[11]=m,e[12]=h):h=e[12];let g=h,_;e[13]!==f||e[14]!==m?(_=async e=>{if(t&&f&&window.desktopBridge?.renameDesktopWorkspaceDevice)await window.desktopBridge.renameDesktopWorkspaceDevice({environmentId:f.environmentId,label:e});else if(o()&&m)await w.renameNode(m.id,e),await $e.refreshDirectory();else throw Error(`Connect this device to your Hub to customize its name.`)},e[13]=f,e[14]=m,e[15]=_):_=e[15];let v=_,y;e[16]===n.nodeLabel?y=e[17]:(y=(0,Q.jsx)(`span`,{className:`min-w-0 truncate text-[13px] text-muted-foreground`,children:n.nodeLabel}),e[16]=n.nodeLabel,e[17]=y);let b;e[18]===g?b=e[19]:(b=g?(0,Q.jsx)(I,{size:`xs`,variant:`outline`,onClick:()=>l(!0),children:`Rename`}):null,e[18]=g,e[19]=b);let x;e[20]!==y||e[21]!==b?(x=(0,Q.jsxs)(Q.Fragment,{children:[y,b]}),e[20]=y,e[21]=b,e[22]=x):x=e[22];let S;e[23]!==g||e[24]!==u||e[25]!==f||e[26]!==m?(S=g?void 0:(0,Q.jsx)(`span`,{children:u&&(f||m)?`Only the device owner can change its name.`:`Connect to your Hub to customize the device name.`}),e[23]=g,e[24]=u,e[25]=f,e[26]=m,e[27]=S):S=e[27];let C;e[28]!==x||e[29]!==S||e[30]!==n.nodeLabel?(C=(0,Q.jsx)(X,{title:`Name`,scope:n.nodeLabel,description:`Shown to everyone who can reach this device. Renaming keeps its projects, conversations, and connections.`,control:x,status:S}),e[28]=x,e[29]=S,e[30]=n.nodeLabel,e[31]=C):C=e[31];let T;e[32]===n.environmentId?T=e[33]:(T=(0,Q.jsx)(Qn,{},n.environmentId),e[32]=n.environmentId,e[33]=T);let E;e[34]!==g||e[35]!==v||e[36]!==c||e[37]!==n.environmentId||e[38]!==n.nodeLabel?(E=g&&(0,Q.jsx)(Xe,{node:{label:n.nodeLabel},open:c,onOpenChange:l,onRename:v},n.environmentId),e[34]=g,e[35]=v,e[36]=c,e[37]=n.environmentId,e[38]=n.nodeLabel,e[39]=E):E=e[39];let O;return e[40]!==E||e[41]!==C||e[42]!==T?(O=(0,Q.jsxs)(J,{title:`Device`,owner:`node`,children:[C,T,E]}),e[40]=E,e[41]=C,e[42]=T,e[43]=O):O=e[43],O}function er(e){return e.nodes}function tr({nodeLabel:e,allowed:t,projects:n,providerOptions:r,client:i}){let a=(0,Z.useRef)(0);(0,Z.useEffect)(()=>()=>{a.current++},[]);let[o,s]=(0,Z.useState)(`codex`),[c,u]=(0,Z.useState)([]),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)({}),g=(0,Z.useRef)({allowed:t,source:o,client:i}),[v,y]=(0,Z.useState)(``),[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)([]),[w,T]=(0,Z.useState)(new Set),[E,D]=(0,Z.useState)(``),[O,k]=(0,Z.useState)(``),[A,j]=(0,Z.useState)(``),[M,N]=(0,Z.useState)(null),[P,F]=(0,Z.useState)(!1),[ee,L]=(0,Z.useState)([]),[R,z]=(0,Z.useState)({});(0,Z.useLayoutEffect)(()=>{(g.current.allowed!==t||g.current.source!==o)&&a.current++,g.current={allowed:t,source:o,client:i}},[t,o,i]),(0,Z.useEffect)(()=>{let e=a.current;t&&Promise.resolve().then(()=>g.current.client().sources({source:o})).then(t=>{e===a.current&&(u(t),h({}))}).catch(t=>{e===a.current&&L([t instanceof Error?t.message:`Source stores unavailable.`])}).finally(()=>{e===a.current&&F(!1)})},[o,t]);let B=f?c.find(e=>e.key===f):c.find(e=>e.isDefault),V=r.filter(e=>e.driver===o&&e.enabled&&e.installed&&e.availability!==`unavailable`&&!!B?.instanceIds.includes(e.instanceId)),H=V.find(e=>e.instanceId===O)??V[0],U=H?.models.find(e=>e.slug===A)??H?.models.find(e=>e.isDefault)??H?.models[0],te=async(e=0)=>{if(!g.current.allowed)return;F(!0);let t=a.current;try{let n=await i().discover({source:o,...B?{storeKey:B.key}:{},search:v,offset:e,includeArchived:b});if(t!==a.current)return;C(t=>e?[...t,...n.items]:n.items),e||(h({}),T(new Set),z({})),N(n.nextOffset),L(n.notices)}catch(e){t===a.current&&L([e instanceof Error?e.message:`Discovery failed.`])}finally{t===a.current&&F(!1)}},ne=async()=>{if(!g.current.allowed)return;F(!0);let e=a.current,t=d.make(E),n=l.make(H.instanceId);for(let r of S.filter(e=>w.has(e.key)&&!e.importedThreadId&&!e.quarantined&&R[e.key]!==`Imported`)){if(e!==a.current)break;z(e=>({...e,[r.key]:`Importing…`}));try{if(await i().run({source:r.source,key:r.key,...B?{storeKey:B.key}:{},projectId:t,modelSelection:{instanceId:n,model:U.slug}}),e!==a.current)break;z(e=>({...e,[r.key]:`Imported`}))}catch(t){if(e!==a.current)break;z(e=>({...e,[r.key]:t instanceof Error?t.message:`Import failed. Retry this item.`}))}}e===a.current&&F(!1)},re=async(e,t)=>{if(!g.current.allowed)return;F(!0);let n=a.current;try{let r=await i().reconcile({source:e.source,key:e.key,...t?{cursor:t}:{}});n===a.current&&h(t=>({...t,[e.key]:r}))}catch(t){n===a.current&&(h(t=>{let n={...t};return delete n[e.key],n}),z(n=>({...n,[e.key]:t instanceof Error?t.message:`Inspection failed. Import remains paused.`})))}finally{n===a.current&&F(!1)}},ie=async(e,t)=>{if(!g.current.allowed)return;F(!0);let n=a.current;try{let r=await i().adopt({source:e.source,key:e.key,adoptionToken:t});n===a.current&&(C(t=>t.map(t=>t.key===e.key?{...t,quarantined:!1,importedThreadId:r.threadId}:t)),h(t=>{let n={...t};return delete n[e.key],n}),z(t=>({...t,[e.key]:`Imported`})))}catch(t){n===a.current&&(h(t=>{let n={...t};return delete n[e.key],n}),z(n=>({...n,[e.key]:t instanceof Error?t.message:`Adoption failed. Refresh and retry the saved import.`})))}finally{n===a.current&&F(!1)}},W=e=>{s(e),a.current++,u([]),h({}),p(``),C([]),N(null),k(``),j(``),T(new Set),z({})},ae=e=>{a.current++,p(e),C([]),T(new Set),h({}),N(null),z({})},oe=t?S:[],se=oe.filter(e=>w.has(e.key)&&!e.importedThreadId&&!e.quarantined&&R[e.key]!==`Imported`).length;return(0,Q.jsxs)(`div`,{"aria-label":`Import local conversations`,role:`group`,children:[(0,Q.jsx)(X,{title:`Source`,description:`Which agent's history to read. Originals stay unchanged.`,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(en,{ariaLabel:`Import source`,width:`sm`,value:o,disabled:P,onValueChange:W,options:[{value:`codex`,label:`Codex`},{value:`claudeAgent`,label:`Claude Code`}]}),(0,Q.jsx)(en,{ariaLabel:`Import source store`,value:B?.key??``,disabled:P||!t,placeholder:`Choose a store`,onValueChange:ae,options:c.map(e=>({value:e.key,label:e.instanceIds.length?e.label:`${e.label} (no enabled continuation instance)`,triggerLabel:e.label}))})]})}),(0,Q.jsxs)(zt,{children:[(0,Q.jsxs)(`form`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center`,onSubmit:e=>{e.preventDefault(),!P&&t&&B&&te()},children:[(0,Q.jsx)(at,{"aria-label":`Search local conversations`,placeholder:`Search ${e} by title or project folder`,value:v,maxLength:200,disabled:P,className:`min-w-0 flex-1`,onChange:e=>y(e.target.value)}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3`,children:[(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-xs text-muted-foreground`,children:[(0,Q.jsx)(ze,{checked:b,disabled:P,onCheckedChange:e=>x(e===!0)}),`Include archived`]}),(0,Q.jsxs)(I,{type:`submit`,size:`sm`,variant:`outline`,disabled:P||!t||!B,children:[(0,Q.jsx)(Ee,{}),`Find conversations`]})]})]}),ee.length>0?(0,Q.jsx)(`div`,{role:`status`,className:`mt-3 flex flex-col gap-2`,children:ee.map(e=>(0,Q.jsx)(Rt,{children:e},e))}):null]}),oe.length>0?(0,Q.jsxs)(zt,{flush:!0,children:[(0,Q.jsx)(`ul`,{className:`max-h-96 divide-y divide-border/60 overflow-y-auto`,children:oe.map(e=>{let n=e.quarantined?R[e.key]||`Import outcome uncertain — item quarantined`:e.importedThreadId?`Already imported`:R[e.key],r=m[e.key];return(0,Q.jsxs)(`li`,{className:_(`flex gap-3 py-3`,Vt),children:[(0,Q.jsx)(ze,{className:`mt-0.5`,"aria-label":`Select ${e.title}`,disabled:P||!!e.importedThreadId||e.quarantined||R[e.key]===`Imported`,checked:w.has(e.key),onCheckedChange:t=>T(n=>{let r=new Set(n);return t===!0?r.add(e.key):r.delete(e.key),r})}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`p`,{className:`flex min-w-0 items-center gap-2 text-[13px] font-medium text-foreground`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 break-words`,children:e.title}),e.archived?(0,Q.jsx)(ut,{variant:`outline`,size:`sm`,children:`Archived`}):null]}),(0,Q.jsxs)(`p`,{className:`mt-0.5 break-all text-xs text-muted-foreground`,children:[e.cwd||`Original folder unknown`,` · `,e.messageCount,` messages`]}),n?(0,Q.jsx)(`p`,{role:`status`,className:_(`mt-1 text-xs`,n===`Imported`||n===`Already imported`?`text-success-foreground`:e.quarantined?`text-warning-foreground`:`text-muted-foreground`),children:n}):null,e.quarantined?(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-col items-start gap-2`,children:[(0,Q.jsx)(I,{size:`xs`,variant:`outline`,disabled:P||!t,onClick:()=>void re(e),children:`Inspect existing copies`}),r?(0,Q.jsxs)(`div`,{"aria-label":`Recovery for ${e.title}`,className:`flex flex-col items-start gap-1.5 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`p`,{role:`status`,children:r.notice}),r.candidates.map(e=>(0,Q.jsxs)(`p`,{className:`break-all font-mono text-[11px]`,children:[`Copy `,e.id,` · `,e.messageCount,` messages`]},e.id)),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[r.nextCursor?(0,Q.jsx)(I,{size:`xs`,variant:`outline`,disabled:P||!t,onClick:()=>void re(e,r.nextCursor),children:`Inspect next page`}):null,r.state===`unique`&&r.adoptionToken?(0,Q.jsx)(I,{size:`xs`,disabled:P||!t,onClick:()=>void ie(e,r.adoptionToken),children:`Adopt proven copy`}):null]})]}):null]}):null]})]},e.key)})}),M===null?null:(0,Q.jsx)(`div`,{className:_(`border-t border-border/60 py-2.5`,Vt),children:(0,Q.jsx)(I,{size:`xs`,variant:`ghost`,disabled:P||!t,onClick:()=>void te(M),children:`Search next page`})})]}):null,(0,Q.jsx)(X,{title:`Add to project`,description:`Imported threads join this project, including ones whose original folder moved.`,status:n.length?void 0:`Add a project folder in the sidebar, then return here to import.`,control:(0,Q.jsx)(en,{ariaLabel:`Import target project`,value:E,disabled:P,placeholder:`Choose a project`,onValueChange:D,options:n.map(e=>({value:e.id,label:e.name}))})}),(0,Q.jsx)(X,{title:`Continue with`,description:`The agent and model that take over new turns in imported threads.`,status:V.length?U?void 0:`No available models — refresh Providers settings.`:`Enable a matching provider instance to import and continue these conversations.`,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(en,{ariaLabel:`Import provider instance`,width:`sm`,value:H?.instanceId??``,disabled:P||!V.length,placeholder:`No provider`,onValueChange:e=>{k(e),j(``)},options:V.map(e=>({value:e.instanceId,label:e.displayName||e.driver}))}),(0,Q.jsx)(en,{ariaLabel:`Continuation model`,value:U?.slug??``,disabled:P||!U,placeholder:`No model`,onValueChange:j,options:(H?.models??[]).map(e=>({value:e.slug,label:e.name}))})]})}),(0,Q.jsxs)(zt,{className:`flex items-center justify-end gap-3`,children:[w.size>0?(0,Q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[se===1?`1 conversation`:`${se} conversations`,` selected`]}):null,(0,Q.jsx)(I,{size:`sm`,disabled:P||!t||!E||!V.length||!U||!w.size,onClick:()=>void ne(),children:P?`Working…`:`Import selected`})]})]})}function nr(){let e=(0,$.c)(25),t=W(),n=fe(),r=et(),i=Ze(h.sessionImportRun),a=xe(rt(se)),o=t?.environmentId,s;e[0]===o?s=e[1]:(s={allowed:!1,environmentId:o},e[0]=o,e[1]=s);let c=(0,Z.useRef)(s),l=!!t?.connected&&t.canManage===!0&&t.canMutate!==!1&&i.allowed,u=t?.environmentId,d,f;if(e[2]!==l||e[3]!==u?(d=()=>{c.current={allowed:l,environmentId:u}},f=[l,u],e[2]=l,e[3]=u,e[4]=d,e[5]=f):(d=e[4],f=e[5]),(0,Z.useLayoutEffect)(d,f),r===`phone`||n===`client`||!t)return null;let p=`Bring Codex or Claude Code history from ${t.nodeLabel} into Ryco. New turns continue in separate native session copies.`,m=t.environmentId,g=t.nodeLabel,_;if(e[6]!==a||e[7]!==t.environmentId){let n;e[9]===t.environmentId?n=e[10]:(n=e=>e.environmentId===t.environmentId,e[9]=t.environmentId,e[10]=n),_=ne(a).filter(n),e[6]=a,e[7]=t.environmentId,e[8]=_}else _=e[8];let v;e[11]===t.serverConfig?.providers?v=e[12]:(v=t.serverConfig?.providers??[],e[11]=t.serverConfig?.providers,e[12]=v);let y;e[13]===t.environmentId?y=e[14]:(y=()=>{let e=de(t.environmentId);if(!e||!c.current.allowed||c.current.environmentId!==t.environmentId)throw Error(`Reconnect with owner access before importing.`);return e.client.sessionImport},e[13]=t.environmentId,e[14]=y);let b;e[15]!==l||e[16]!==_||e[17]!==v||e[18]!==y||e[19]!==t.environmentId||e[20]!==t.nodeLabel?(b=(0,Q.jsx)(tr,{nodeLabel:g,allowed:l,projects:_,providerOptions:v,client:y},m),e[15]=l,e[16]=_,e[17]=v,e[18]=y,e[19]=t.environmentId,e[20]=t.nodeLabel,e[21]=b):b=e[21];let x;return e[22]!==b||e[23]!==p?(x=(0,Q.jsx)(J,{title:`Import conversations`,description:p,owner:`node`,children:b}),e[22]=b,e[23]=p,e[24]=x):x=e[24],x}var rr={timestampFormat:`Time format`,diffWordWrap:`Diff line wrapping`,diffIgnoreWhitespace:`Diff whitespace changes`,followUpBehavior:`Follow-up while working`,gitStatusPollIntervalMs:`Remote Git status`,sourceControlRefreshMode:`PR & workflow updates`,autoOpenPlanSidebar:`Auto-open overview`,enableLegacyTokenStreaming:`Stream token by token`,enableProviderUpdateChecks:`Provider update checks`,continueThreadsAfterRestart:`Continue after restart`,autoResumeLimitedThreads:`Auto-resume limited threads`,snoozeLimitedThreads:`Snooze limited threads`,defaultThreadEnvMode:`New thread mode`,addProjectBaseDirectory:`Add project base directory`,confirmThreadArchive:`Archive confirmation`,confirmThreadDelete:`Move to Trash confirmation`,confirmThreadUnpin:`Unpin confirmation`,textGenerationModelSelection:`Git writing model`};function ir(e,t,n){let r=n!==`node`&&t!==`system`,i=r?[`Theme`]:[],a={};for(let t of Object.keys(rr))(n===`all`||Ce(t)===(n===`node`))&&(f(e[t],u[t])||(i.push(rr[t]),a[t]=u[t]));return{labels:i,resetTheme:r,patch:a}}var ar=(e,t)=>`${e}:${t}`,or=(e,t)=>(t.archivedAt??t.createdAt).localeCompare(e.archivedAt??e.createdAt)||t.id.localeCompare(e.id);function sr(e,t,n){let r=new Map;for(let e of t){if(e.archivedAt===null||n!==void 0&&e.environmentId!==n)continue;let t=ar(e.environmentId,e.projectId),i=r.get(t);i?i.push(e):r.set(t,[e])}let i=[],a=new Map;for(let t of e){if(n!==void 0&&t.environmentId!==n)continue;let e=r.get(ar(t.environmentId,t.id));if(e){if(ce(t)){let n=a.get(t.environmentId);n?n.push(...e):a.set(t.environmentId,[...e]);continue}i.push({kind:`project`,key:`project:${ar(t.environmentId,t.id)}`,project:t,threads:e.toSorted(or)})}}let o=Array.from(a,([e,t])=>({kind:`no-project`,key:`no-project:${e}`,environmentId:e,threads:t.toSorted(or)}));return[...i,...o]}function cr(e,t){let n={kind:e.projectKind??be(t)};return{label:z(n,e.projectTitle??`Removed project`),chatFolder:ce(n)?t?.cwd??null:null}}function lr(){let e=(0,$.c)(5),t=r(),n=et(),i=fe();if(n===`phone`||i===`node`||!xt())return null;let a=!t,o;e[0]===t?o=e[1]:(o=()=>{t&&(Ct.getState().replay(t),T.getState().closeSettings())},e[0]=t,e[1]=o);let s;return e[2]!==a||e[3]!==o?(s=(0,Q.jsx)(X,{title:`Welcome tour`,description:`Replay provider setup, add a project, and learn the essentials.`,owner:`client`,control:(0,Q.jsx)(I,{variant:`outline`,disabled:a,onClick:o,children:`Open welcome tour`})}),e[2]=a,e[3]=o,e[4]=s):s=e[4],s}var ur={0:`Off`,1e4:`10 seconds`,3e4:`30 seconds`,6e4:`1 minute`,3e5:`5 minutes`},dr=[0,1e4,3e4,6e4,3e5],fr={automatic:`Automatic`,reduced:`Reduced`,manual:`Manual`},pr=[`automatic`,`reduced`,`manual`];function mr(e){if(e===null)return null;let t=Number.parseInt(e,10);return dr.includes(t)?t:null}function hr(e){return pr.find(t=>t===e)??null}function gr(){let e=(0,$.c)(65),t=y(),{updateSettings:n}=N(),r=nt(),i;e[0]!==t.diffWordWrap||e[1]!==n?(i=t.diffWordWrap===u.diffWordWrap?null:(0,Q.jsx)(Y,{label:`diff line wrapping`,onClick:()=>n({diffWordWrap:u.diffWordWrap})}),e[0]=t.diffWordWrap,e[1]=n,e[2]=i):i=e[2];let a;e[3]===n?a=e[4]:(a=e=>n({diffWordWrap:!!e}),e[3]=n,e[4]=a);let o;e[5]!==t.diffWordWrap||e[6]!==a?(o=(0,Q.jsx)(q,{checked:t.diffWordWrap,onCheckedChange:a,"aria-label":`Wrap diff lines by default`}),e[5]=t.diffWordWrap,e[6]=a,e[7]=o):o=e[7];let s;e[8]!==r||e[9]!==i||e[10]!==o?(s=(0,Q.jsx)(X,{title:`Diff line wrapping`,description:`Set the default wrap state when the diff panel opens.`,scope:r,resetAction:i,control:o}),e[8]=r,e[9]=i,e[10]=o,e[11]=s):s=e[11];let c;e[12]!==t.diffIgnoreWhitespace||e[13]!==n?(c=t.diffIgnoreWhitespace===u.diffIgnoreWhitespace?null:(0,Q.jsx)(Y,{label:`diff whitespace changes`,onClick:()=>n({diffIgnoreWhitespace:u.diffIgnoreWhitespace})}),e[12]=t.diffIgnoreWhitespace,e[13]=n,e[14]=c):c=e[14];let l;e[15]===n?l=e[16]:(l=e=>n({diffIgnoreWhitespace:!!e}),e[15]=n,e[16]=l);let d;e[17]!==t.diffIgnoreWhitespace||e[18]!==l?(d=(0,Q.jsx)(q,{checked:t.diffIgnoreWhitespace,onCheckedChange:l,"aria-label":`Hide whitespace changes by default`}),e[17]=t.diffIgnoreWhitespace,e[18]=l,e[19]=d):d=e[19];let f;e[20]!==r||e[21]!==c||e[22]!==d?(f=(0,Q.jsx)(X,{title:`Hide whitespace changes`,description:`Set whether the diff panel ignores whitespace-only edits by default.`,scope:r,resetAction:c,control:d}),e[20]=r,e[21]=c,e[22]=d,e[23]=f):f=e[23];let p;e[24]!==s||e[25]!==f?(p=(0,Q.jsxs)(J,{title:`Diff display`,children:[s,f]}),e[24]=s,e[25]=f,e[26]=p):p=e[26];let m;e[27]!==t.gitStatusPollIntervalMs||e[28]!==n?(m=t.gitStatusPollIntervalMs===u.gitStatusPollIntervalMs?null:(0,Q.jsx)(Y,{label:`git status polling`,onClick:()=>n({gitStatusPollIntervalMs:u.gitStatusPollIntervalMs})}),e[27]=t.gitStatusPollIntervalMs,e[28]=n,e[29]=m):m=e[29];let h=String(t.gitStatusPollIntervalMs),g;e[30]===n?g=e[31]:(g=e=>{let t=mr(e);t!==null&&n({gitStatusPollIntervalMs:t})},e[30]=n,e[31]=g);let _=ur[t.gitStatusPollIntervalMs],v;e[32]===_?v=e[33]:(v=(0,Q.jsx)(dt,{className:`w-full sm:w-40`,"aria-label":`Git status polling interval`,children:(0,Q.jsx)(ft,{children:_})}),e[32]=_,e[33]=v);let b;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(lt,{align:`end`,alignItemWithTrigger:!1,children:dr.map(vr)}),e[34]=b):b=e[34];let x;e[35]!==h||e[36]!==g||e[37]!==v?(x=(0,Q.jsxs)(pt,{value:h,onValueChange:g,children:[v,b]}),e[35]=h,e[36]=g,e[37]=v,e[38]=x):x=e[38];let S;e[39]!==r||e[40]!==x||e[41]!==m?(S=(0,Q.jsx)(X,{title:`Remote Git status`,description:`Refresh remote branch and pull request metadata while a repository is open.`,scope:r,resetAction:m,control:x}),e[39]=r,e[40]=x,e[41]=m,e[42]=S):S=e[42];let C;e[43]!==t.sourceControlRefreshMode||e[44]!==n?(C=t.sourceControlRefreshMode===u.sourceControlRefreshMode?null:(0,Q.jsx)(Y,{label:`PR and workflow updates`,onClick:()=>n({sourceControlRefreshMode:u.sourceControlRefreshMode})}),e[43]=t.sourceControlRefreshMode,e[44]=n,e[45]=C):C=e[45];let w;e[46]===n?w=e[47]:(w=e=>{let t=hr(e);t!==null&&n({sourceControlRefreshMode:t})},e[46]=n,e[47]=w);let T=fr[t.sourceControlRefreshMode],E;e[48]===T?E=e[49]:(E=(0,Q.jsx)(dt,{className:`w-full sm:w-40`,"aria-label":`PR and workflow update mode`,children:(0,Q.jsx)(ft,{children:T})}),e[48]=T,e[49]=E);let D;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Q.jsx)(lt,{align:`end`,alignItemWithTrigger:!1,children:pr.map(_r)}),e[50]=D):D=e[50];let O;e[51]!==t.sourceControlRefreshMode||e[52]!==w||e[53]!==E?(O=(0,Q.jsxs)(pt,{value:t.sourceControlRefreshMode,onValueChange:w,children:[E,D]}),e[51]=t.sourceControlRefreshMode,e[52]=w,e[53]=E,e[54]=O):O=e[54];let k;e[55]!==r||e[56]!==C||e[57]!==O?(k=(0,Q.jsx)(X,{title:`PR & workflow updates`,description:`Control automatic pull request and workflow refreshes. Automatic is fast after pushes and stops when checks settle.`,scope:r,resetAction:C,control:O}),e[55]=r,e[56]=C,e[57]=O,e[58]=k):k=e[58];let A;e[59]!==S||e[60]!==k?(A=(0,Q.jsxs)(J,{title:`Git & pull requests`,children:[S,k]}),e[59]=S,e[60]=k,e[61]=A):A=e[61];let j;return e[62]!==A||e[63]!==p?(j=(0,Q.jsxs)(Q.Fragment,{children:[p,A]}),e[62]=A,e[63]=p,e[64]=j):j=e[64],j}function _r(e){return(0,Q.jsx)(K,{hideIndicator:!0,value:e,children:fr[e]},e)}function vr(e){return(0,Q.jsx)(K,{hideIndicator:!0,value:String(e),children:ur[e]},e)}var yr={queue:`Queue`,steer:`Steer`},br=[`queue`,`steer`];function xr(e){return e===`queue`||e===`steer`?e:null}function Sr(){let e=(0,$.c)(41),t=j(Or),n=j(Dr),r=j(Er),i=j(Tr),a=y(wr),{updateSettings:o}=N(),s;e[0]!==a||e[1]!==o?(s=a===u.followUpBehavior?null:(0,Q.jsx)(Y,{label:`follow-up behaviour`,onClick:()=>o({followUpBehavior:u.followUpBehavior})}),e[0]=a,e[1]=o,e[2]=s):s=e[2];let c;e[3]===o?c=e[4]:(c=e=>{let t=xr(e);t!==null&&o({followUpBehavior:t})},e[3]=o,e[4]=c);let l=yr[a],d;e[5]===l?d=e[6]:(d=(0,Q.jsx)(dt,{className:`w-full sm:w-40`,"aria-label":`Messages sent while a turn runs`,children:(0,Q.jsx)(ft,{children:l})}),e[5]=l,e[6]=d);let f;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(lt,{align:`end`,alignItemWithTrigger:!1,children:br.map(Cr)}),e[7]=f):f=e[7];let p;e[8]!==a||e[9]!==c||e[10]!==d?(p=(0,Q.jsxs)(pt,{value:a,onValueChange:c,children:[d,f]}),e[8]=a,e[9]=c,e[10]=d,e[11]=p):p=e[11];let m;e[12]!==s||e[13]!==p?(m=(0,Q.jsx)(X,{title:`Messages sent while a turn runs`,description:`Queue waits for the turn to finish. Steer adds the message to the running turn when the provider supports it. ⌘↵ / Ctrl+Enter does the opposite.`,resetAction:s,control:p}),e[12]=s,e[13]=p,e[14]=m):m=e[14];let h;e[15]!==n||e[16]!==t?(h=t?null:(0,Q.jsx)(Y,{label:`wide composer labels`,onClick:()=>n(!0)}),e[15]=n,e[16]=t,e[17]=h):h=e[17];let g;e[18]===n?g=e[19]:(g=e=>n(!!e),e[18]=n,e[19]=g);let _;e[20]!==g||e[21]!==t?(_=(0,Q.jsx)(q,{checked:t,onCheckedChange:g,"aria-label":`Auto-collapse wide composer labels`}),e[20]=g,e[21]=t,e[22]=_):_=e[22];let v;e[23]!==h||e[24]!==_?(v=(0,Q.jsx)(X,{title:`Auto-collapse wide composer labels`,description:`Show long composer mode labels only on hover or focus.`,resetAction:h,control:_}),e[23]=h,e[24]=_,e[25]=v):v=e[25];let b;e[26]!==r||e[27]!==i?(b=r?null:(0,Q.jsx)(Y,{label:`always use Build mode`,onClick:()=>i(!0)}),e[26]=r,e[27]=i,e[28]=b):b=e[28];let x;e[29]===i?x=e[30]:(x=e=>i(!!e),e[29]=i,e[30]=x);let S;e[31]!==r||e[32]!==x?(S=(0,Q.jsx)(q,{checked:r,onCheckedChange:x,"aria-label":`Always use Build mode`}),e[31]=r,e[32]=x,e[33]=S):S=e[33];let C;e[34]!==b||e[35]!==S?(C=(0,Q.jsx)(X,{title:`Always use Build mode`,description:`Hide the mode selector in the composer and send every turn in Build mode.`,resetAction:b,control:S}),e[34]=b,e[35]=S,e[36]=C):C=e[36];let w;return e[37]!==v||e[38]!==C||e[39]!==m?(w=(0,Q.jsxs)(J,{title:`Composer controls`,children:[m,v,C]}),e[37]=v,e[38]=C,e[39]=m,e[40]=w):w=e[40],w}function Cr(e){return(0,Q.jsx)(K,{hideIndicator:!0,value:e,children:yr[e]},e)}function wr(e){return e.followUpBehavior}function Tr(e){return e.setAlwaysUseBuildMode}function Er(e){return e.alwaysUseBuildMode}function Dr(e){return e.setWideComposerControlsAutoCollapse}function Or(e){return e.wideComposerControlsAutoCollapse}var kr={"press-twice":`Press twice`,hold:`Hold for 1 second`,immediately:`Immediately`};function Ar(){let e=(0,$.c)(16),t=nt(),n=window.desktopBridge?.quitShortcut,[r,i]=(0,Z.useState)(null),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(null),l,u;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{let e=!0;return n?.getMode().then(t=>{e&&i(t)}).catch(()=>{e&&c(`Could not load quit shortcut preference.`)}),()=>{e=!1}},u=[n],e[0]=l,e[1]=u):(l=e[0],u=e[1]),(0,Z.useEffect)(l,u),!n)return null;let d;e[2]===s?d=e[3]:(d=s?(0,Q.jsx)(`span`,{role:`alert`,children:s}):void 0,e[2]=s,e[3]=d);let f=r===null||a,p;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=e=>{(e===`press-twice`||e===`hold`||e===`immediately`)&&(o(!0),c(null),n.setMode(e).then(()=>i(e)).catch(()=>c(`Could not save quit shortcut preference.`)).finally(()=>o(!1)))},e[4]=p):p=e[4];let m=r?kr[r]:`Loading…`,h;e[5]===m?h=e[6]:(h=(0,Q.jsx)(dt,{"aria-label":`Quit shortcut`,className:`w-full sm:w-44`,children:(0,Q.jsx)(ft,{children:m})}),e[5]=m,e[6]=h);let g;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsx)(lt,{children:Object.entries(kr).map(jr)}),e[7]=g):g=e[7];let _;e[8]!==r||e[9]!==f||e[10]!==h?(_=(0,Q.jsxs)(pt,{value:r,disabled:f,onValueChange:p,children:[h,g]}),e[8]=r,e[9]=f,e[10]=h,e[11]=_):_=e[11];let v;return e[12]!==t||e[13]!==d||e[14]!==_?(v=(0,Q.jsx)(X,{title:`Quit shortcut`,scope:t,description:`Prevent accidental quits with a second press within 1.5 seconds, or hold for 1 second and release.`,status:d,control:_}),e[12]=t,e[13]=d,e[14]=_,e[15]=v):v=e[15],v}function jr(e){let[t,n]=e;return(0,Q.jsx)(K,{value:t,children:n},t)}var Mr=`This node does not support usage-limit recovery. Update the node to change this setting.`;function Nr(){let e=(0,$.c)(36),n=y(),{updateSettings:r}=N(),i=P(),a=W(),o=fe(),s=nt(),c=a?.nodeLabel??null,l;e[0]!==s||e[1]!==c?(l=O(`node`,{appLabel:s,nativeClient:t,nodeLabel:c}),e[0]=s,e[1]=c,e[2]=l):l=e[2];let d=l,f=i?.environment.capabilities.usageLimitRecovery===!0,p=!f||o===`client`||o===`node`&&!a||!(!a||a.connected&&a.canManage!==!1&&a.canMutate!==!1),m=f?void 0:Mr,h;e[3]!==p||e[4]!==n.autoResumeLimitedThreads||e[5]!==r?(h=!p&&n.autoResumeLimitedThreads!==u.autoResumeLimitedThreads?(0,Q.jsx)(Y,{label:`auto-resume limited threads`,onClick:()=>r({autoResumeLimitedThreads:u.autoResumeLimitedThreads})}):null,e[3]=p,e[4]=n.autoResumeLimitedThreads,e[5]=r,e[6]=h):h=e[6];let g;e[7]===r?g=e[8]:(g=e=>r({autoResumeLimitedThreads:!!e}),e[7]=r,e[8]=g);let _;e[9]!==p||e[10]!==n.autoResumeLimitedThreads||e[11]!==g?(_=(0,Q.jsx)(q,{checked:n.autoResumeLimitedThreads,disabled:p,onCheckedChange:g,"aria-label":`Auto-resume limited threads`}),e[9]=p,e[10]=n.autoResumeLimitedThreads,e[11]=g,e[12]=_):_=e[12];let v;e[13]!==d||e[14]!==m||e[15]!==h||e[16]!==_?(v=(0,Q.jsx)(X,{title:`Auto-resume limited threads`,description:`When a provider usage limit stops a thread, send 'Continue where you left off.' at the reported reset time. Limits apply to the whole provider account, and every resumed thread re-reads its conversation (on long Claude threads this rebuilds the prompt cache at full input cost). Each thread can cancel its scheduled resume.`,owner:`node`,scope:d,status:m,resetAction:h,control:_}),e[13]=d,e[14]=m,e[15]=h,e[16]=_,e[17]=v):v=e[17];let b;e[18]!==p||e[19]!==n.snoozeLimitedThreads||e[20]!==r?(b=!p&&n.snoozeLimitedThreads!==u.snoozeLimitedThreads?(0,Q.jsx)(Y,{label:`snooze limited threads`,onClick:()=>r({snoozeLimitedThreads:u.snoozeLimitedThreads})}):null,e[18]=p,e[19]=n.snoozeLimitedThreads,e[20]=r,e[21]=b):b=e[21];let x;e[22]===r?x=e[23]:(x=e=>r({snoozeLimitedThreads:!!e}),e[22]=r,e[23]=x);let S;e[24]!==p||e[25]!==n.snoozeLimitedThreads||e[26]!==x?(S=(0,Q.jsx)(q,{checked:n.snoozeLimitedThreads,disabled:p,onCheckedChange:x,"aria-label":`Snooze limited threads`}),e[24]=p,e[25]=n.snoozeLimitedThreads,e[26]=x,e[27]=S):S=e[27];let C;e[28]!==d||e[29]!==m||e[30]!==b||e[31]!==S?(C=(0,Q.jsx)(X,{title:`Snooze limited threads`,description:`Snooze usage-limit stops until the reported reset time. Combine with auto-resume to continue when they wake.`,owner:`node`,scope:d,status:m,resetAction:b,control:S}),e[28]=d,e[29]=m,e[30]=b,e[31]=S,e[32]=C):C=e[32];let w;return e[33]!==v||e[34]!==C?(w=(0,Q.jsxs)(J,{title:`Usage limits`,owner:`node`,children:[v,C]}),e[33]=v,e[34]=C,e[35]=w):w=e[35],w}function Pr(e){let{environmentId:t}=e,{untrashThread:n,deleteThreadPermanently:r}=We(),[i,o]=(0,Z.useState)({status:`loading`}),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(!1),p=xe(e=>he(e,t).projectById),m=e=>cr(e,t?p[e.projectId]:null),h=s?m(s).chatFolder:null,g=e=>{f(!1),c(e)},_=Ue(t)!==void 0,v=(0,Z.useCallback)(async()=>{let e=Ue(t);if(e)try{let t=await e.listTrash({});o({status:`ready`,threads:t.threads,truncated:t.truncated})}catch(e){o({status:`error`,message:e instanceof Error?e.message:`Trash could not be loaded.`})}},[t]);(0,Z.useEffect)(()=>{v()},[v]);let y=async(e,n,r)=>{if(t){u(e.threadId);try{await n(a(t,e.threadId))}catch(t){S.add(G({type:`error`,title:r,description:t instanceof Error?t.message:`An error occurred.`,actionProps:{children:`Retry`,onClick:()=>void y(e,n,r)}}))}finally{u(null),await v()}}},b=_?i:{status:`error`,message:`Trash is unavailable for this environment.`};return(0,Q.jsxs)(J,{title:`Trash`,owner:`node`,description:tn.trash,icon:(0,Q.jsx)(Qe,{className:`size-4`}),children:[b.status===`loading`?(0,Q.jsx)(Ht,{title:`Loading Trash…`,className:`py-6`}):b.status===`error`?(0,Q.jsx)(Rt,{tone:`warning`,title:b.message,action:(0,Q.jsx)(I,{size:`xs`,variant:`outline`,onClick:()=>void v(),children:`Retry`})}):b.threads.length===0?(0,Q.jsx)(Ht,{icon:(0,Q.jsx)(Qe,{}),title:`Trash is empty`,description:`Conversations you move to Trash appear here until you restore or permanently delete them.`,className:`py-8`}):(0,Q.jsxs)(Q.Fragment,{children:[b.threads.map(t=>(0,Q.jsxs)(`div`,{"data-testid":`trash-row-${t.threadId}`,className:`flex items-center justify-between gap-3 border-t border-border/60 px-4 py-3.5 first:border-t-0 sm:px-5`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`h3`,{className:`truncate text-[13px] font-medium text-foreground`,children:t.title}),(0,Q.jsxs)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,"data-testid":`trash-row-place-${t.threadId}`,children:[m(t).label,` · Moved to Trash `,Oe(t.trashedAt),t.archivedAt?` · Restores to Archive`:``]})]}),(0,Q.jsxs)(I,{type:`button`,variant:`outline`,size:`xs`,className:`shrink-0`,disabled:!e.mutationAllowed||!t.projectAvailable||l!==null,title:t.projectAvailable?e.mutationReason??void 0:`Its project was removed. Add the project again to restore this conversation.`,onClick:()=>void y(t,n,`Failed to restore conversation`),children:[(0,Q.jsx)(Le,{className:`size-3.5`}),(0,Q.jsx)(`span`,{children:`Restore`})]}),(0,Q.jsx)(I,{type:`button`,variant:`destructive-outline`,size:`xs`,className:`shrink-0`,disabled:!e.mutationAllowed||l!==null,onClick:()=>g(t),children:(0,Q.jsx)(`span`,{children:`Delete permanently`})})]},t.threadId)),b.truncated?(0,Q.jsx)(`p`,{className:`px-4 py-3 text-xs text-muted-foreground sm:px-5`,children:`Showing the 500 most recently trashed conversations.`}):null]}),(0,Q.jsx)(bt,{open:s!==null,onOpenChange:e=>!e&&c(null),children:(0,Q.jsxs)(_t,{children:[(0,Q.jsxs)(mt,{children:[(0,Q.jsxs)(yt,{children:[`Delete “`,s?.title,`” permanently?`]}),(0,Q.jsx)(vt,{children:tn.permanentDelete})]}),h?(0,Q.jsxs)(`label`,{"data-testid":`trash-delete-chat-folder`,className:`mx-6 mb-2 flex cursor-pointer items-start gap-2.5 rounded-lg border border-border/70 bg-muted/30 px-3 py-2.5 text-sm`,children:[(0,Q.jsx)(ze,{className:`mt-0.5`,checked:d,onCheckedChange:e=>f(e===!0)}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,Q.jsx)(`span`,{className:`text-foreground`,children:`Also delete the chat's folder`}),(0,Q.jsx)(jt,{path:h,className:`text-muted-foreground text-xs`}),(0,Q.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Off by default: the files the agent wrote stay on disk unless you choose this.`})]})]}):null,(0,Q.jsxs)(ht,{children:[(0,Q.jsx)(gt,{render:(0,Q.jsx)(I,{variant:`outline`}),children:`Keep in Trash`}),(0,Q.jsx)(I,{variant:`destructive`,"data-testid":`trash-delete-permanently`,onClick:()=>{let e=s,n=d?h:null;c(null),e&&y(e,async i=>{await r(i),n&&t&&Ke({environmentId:t,projectId:e.projectId,folderPath:n})},`Failed to delete conversation`)},children:`Delete permanently`})]})]})})]})}function Fr(e){let t=(0,$.c)(5),n;t[0]===e.environmentId?n=t[1]:(n={environmentId:e.environmentId,projectId:null},t[0]=e.environmentId,t[1]=n);let r=Yt(n),i=e.disabled||r.saving||r.policy===null,a;return t[2]!==i||t[3]!==r?(a=(0,Q.jsx)(J,{title:`Cleanup suggestions`,owner:`node`,description:`Suggestions appear on each project's page under Workspaces, where a project can also change these. They always need your approval: running work, background tasks, open terminals, pinned threads and unfinished goals are never suggested, and nothing is removed because a pull request merged.`,children:[`archiveInactiveThreadsDays`,`removeArchivedCheckoutsDays`].map(e=>{let t=Qt[e],n=r.policy?.[e]??null;return(0,Q.jsx)(X,{title:t.title,description:t.description,control:(0,Q.jsx)(en,{ariaLabel:t.ariaLabel,width:`sm`,disabled:i,value:Wt(n),onValueChange:t=>void r.setField(e,Xt(t)),options:qt(n)})},e)})}),t[2]=i,t[3]=r,t[4]=a):a=t[4],a}var Ir={locale:`System default`,"12-hour":`12-hour`,"24-hour":`24-hour`};function Lr(e){let t=(0,$.c)(2),{editor:n}=e,r=Je[n];if(!r)return null;let i;return t[0]===r?i=t[1]:(i=(0,Q.jsx)(r,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}),t[0]=r,t[1]=i),i}function Rr(){let e=(0,$.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{children:`Version`}),(0,Q.jsx)(`code`,{className:`text-[11px] font-medium text-muted-foreground`,children:x})]}),e[0]=t):t=e[0],t}var zr=`https://github.com/sak0a/ryco`;function Br(e){pe().shell.openExternal(e).catch(e=>{S.add(G({type:`error`,title:`Could not open link`,description:e instanceof Error?e.message:`Failed to open external link.`}))})}function Vr(){let e=(0,$.c)(3),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(nn,{className:`h-14 text-foreground`}),n=(0,Q.jsx)(`h3`,{className:`text-base font-semibold tracking-tight text-foreground`,children:b}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 pt-6 pb-5 text-center sm:px-5`,children:[t,n,(0,Q.jsx)(`div`,{className:`space-y-0.5 text-[11px] text-muted-foreground`,children:(0,Q.jsx)(`p`,{children:(0,Q.jsx)(I,{variant:`link`,size:`xs`,className:`h-auto px-0 text-[11px] text-muted-foreground hover:text-foreground`,onClick:Hr,children:`github.com/sak0a/ryco`})})})]}),e[2]=r):r=e[2],r}function Hr(){return Br(zr)}function Ur(e){let t=(0,$.c)(46),{scopeLabel:n}=e,r=Tt(),[i,a]=(0,Z.useState)(!1),o=typeof window<`u`&&!!window.desktopBridge,s=r?.channel??`latest`,c;t[0]===s?c=t[1]:(c=e=>{let t=window.desktopBridge;t&&typeof t.setUpdateChannel==`function`&&e!==s&&(a(!0),t.setUpdateChannel(e).then(Zr).catch(Xr).finally(()=>{a(!1)}))},t[0]=s,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=()=>{let e=window.desktopBridge;if(!e)return;let t=r?wt(r):`none`;if(t===`download`){e.downloadUpdate().then(Yr).catch(Jr);return}if(t===`install`){if(!window.confirm(Ot(r??{availableVersion:null,downloadedVersion:null})))return;e.installUpdate().then(qr).catch(Kr);return}typeof e.checkForUpdate==`function`&&e.checkForUpdate().then(Gr).catch(Wr)},t[2]=r,t[3]=u);let d=u,f;t[4]===r?f=t[5]:(f=r?wt(r):`none`,t[4]=r,t[5]=f);let p=f,m;t[6]===r?m=t[7]:(m=r?Et(r):null,t[6]=r,t[7]=m);let h=m,g;t[8]!==p||t[9]!==r?(g=p===`none`?!Dt(r):St(r),t[8]=p,t[9]=r,t[10]=g):g=t[10];let _=g,v;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(v={download:`Download`,install:`Install`},t[11]=v):v=t[11];let y=v,b;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(b={checking:`Checking…`,downloading:`Downloading…`,"up-to-date":`Up to Date`},t[12]=b):b=t[12];let x=b,S=y[p]??x[r?.status??``]??`Check for Updates`,C=p===`download`||p===`install`?`Update available.`:`Current version of the application.`,w;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Q.jsx)(Rr,{}),t[13]=w):w=t[13];let T=p===`install`?`default`:`outline`,E;t[14]!==_||t[15]!==S||t[16]!==d||t[17]!==T?(E=(0,Q.jsx)(Me,{render:(0,Q.jsx)(I,{size:`xs`,variant:T,disabled:_,onClick:d,children:S})}),t[14]=_,t[15]=S,t[16]=d,t[17]=T,t[18]=E):E=t[18];let D;t[19]===h?D=t[20]:(D=h?(0,Q.jsx)(Ne,{children:h}):null,t[19]=h,t[20]=D);let O;t[21]!==E||t[22]!==D?(O=(0,Q.jsxs)(Pe,{children:[E,D]}),t[21]=E,t[22]=D,t[23]=O):O=t[23];let k;t[24]!==C||t[25]!==n||t[26]!==O?(k=(0,Q.jsx)(X,{title:w,description:C,scope:n,control:O}),t[24]=C,t[25]=n,t[26]=O,t[27]=k):k=t[27];let A;t[28]===l?A=t[29]:(A=e=>{l(e)},t[28]=l,t[29]=A);let j=!o||i,M=s===`nightly`?`Nightly`:`Stable`,N;t[30]===M?N=t[31]:(N=(0,Q.jsx)(ft,{children:M}),t[30]=M,t[31]=N);let P;t[32]!==j||t[33]!==N?(P=(0,Q.jsx)(dt,{className:`w-full sm:w-40`,"aria-label":`Update track`,disabled:j,children:N}),t[32]=j,t[33]=N,t[34]=P):P=t[34];let F;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,Q.jsxs)(lt,{align:`end`,alignItemWithTrigger:!1,children:[(0,Q.jsx)(K,{hideIndicator:!0,value:`latest`,children:`Stable`}),(0,Q.jsx)(K,{hideIndicator:!0,value:`nightly`,children:`Nightly`})]}),t[35]=F):F=t[35];let ee;t[36]!==s||t[37]!==A||t[38]!==P?(ee=(0,Q.jsxs)(pt,{value:s,onValueChange:A,children:[P,F]}),t[36]=s,t[37]=A,t[38]=P,t[39]=ee):ee=t[39];let L;t[40]!==n||t[41]!==ee?(L=(0,Q.jsx)(X,{title:`Update track`,description:`Stable follows full releases. Nightly follows the nightly desktop channel and can switch back to stable immediately.`,scope:n,control:ee}),t[40]=n,t[41]=ee,t[42]=L):L=t[42];let R;return t[43]!==k||t[44]!==L?(R=(0,Q.jsxs)(Q.Fragment,{children:[k,L]}),t[43]=k,t[44]=L,t[45]=R):R=t[45],R}function Wr(e){S.add(G({type:`error`,title:`Could not check for updates`,description:e instanceof Error?e.message:`Update check failed.`}))}function Gr(e){kt(e.state),e.checked||S.add(G({type:`error`,title:`Could not check for updates`,description:e.state.message??`Automatic updates are not available in this build.`}))}function Kr(e){S.add(G({type:`error`,title:`Could not install update`,description:e instanceof Error?e.message:`Install failed.`}))}function qr(e){kt(e.state)}function Jr(e){S.add(G({type:`error`,title:`Could not download update`,description:e instanceof Error?e.message:`Download failed.`}))}function Yr(e){kt(e.state)}function Xr(e){S.add(G({type:`error`,title:`Could not change update track`,description:e instanceof Error?e.message:`Update track change failed.`}))}function Zr(e){kt(e)}function Qr(e){let t=(0,$.c)(14),{theme:n,setTheme:r}=ct(),i=y(),{updateSettings:a}=N(),o=fe(),s;t[0]!==o||t[1]!==i||t[2]!==n?(s=ir(i,n,o),t[0]=o,t[1]=i,t[2]=n,t[3]=s):s=t[3];let c=s,l=c.labels,u;t[4]!==e||t[5]!==c.labels||t[6]!==c.patch||t[7]!==c.resetTheme||t[8]!==r||t[9]!==a?(u=async()=>{c.labels.length!==0&&await(U()??pe()).dialogs.confirm([`Restore default settings?`,`This will reset: ${c.labels.join(`, `)}.`].join(`
|
|
2
|
+
`))&&(c.resetTheme&&r(`system`),a(c.patch),e?.())},t[4]=e,t[5]=c.labels,t[6]=c.patch,t[7]=c.resetTheme,t[8]=r,t[9]=a,t[10]=u):u=t[10];let d=u,f;return t[11]!==l||t[12]!==d?(f={changedSettingLabels:l,restoreDefaults:d},t[11]=l,t[12]=d,t[13]=f):f=t[13],f}function $r(e){let t=(0,$.c)(19),{searchTargetId:n,nodeScopeLabel:r}=e,i=y(),{updateSettings:a}=N(),o=n===`legacy-token-streaming`,[s,c]=(0,Z.useState)(o),l=(0,Z.useRef)(null),d,f;t[0]===o?(d=t[1],f=t[2]):(d=()=>{if(!o)return;c(!0);let e=requestAnimationFrame(()=>{l.current?.scrollIntoView({block:`center`}),l.current?.querySelector(`[role=switch]`)?.focus()});return()=>cancelAnimationFrame(e)},f=[o],t[0]=o,t[1]=d,t[2]=f),(0,Z.useEffect)(d,f);let p;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsxs)(Ln,{className:`group flex w-full items-center justify-between gap-3 rounded-[min(var(--radius-md),0.5rem)] px-0.5 py-1 text-left outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0`,children:[(0,Q.jsx)(`span`,{className:`block text-[13px] font-semibold text-foreground`,children:`Legacy features`}),(0,Q.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:`Compatibility controls you shouldn't normally need.`})]}),(0,Q.jsx)(De,{"aria-hidden":!0,className:`size-4 text-muted-foreground transition-transform duration-(--app-motion-duration-chip) group-data-panel-open:rotate-90`})]}),t[3]=p):p=t[3];let m;t[4]!==i.enableLegacyTokenStreaming||t[5]!==a?(m=i.enableLegacyTokenStreaming===u.enableLegacyTokenStreaming?null:(0,Q.jsx)(Y,{label:`legacy token streaming`,onClick:()=>a({enableLegacyTokenStreaming:u.enableLegacyTokenStreaming})}),t[4]=i.enableLegacyTokenStreaming,t[5]=a,t[6]=m):m=t[6];let h;t[7]===a?h=t[8]:(h=e=>{if(!e){a({enableLegacyTokenStreaming:!1});return}(async()=>{await(U()??pe()).dialogs.confirm([`Turn on token-by-token output?`,`It is significantly slower than buffered output and makes long responses harder to follow. This switch exists only for backwards compatibility.`].join(`
|
|
3
|
+
`))&&a({enableLegacyTokenStreaming:!0})})()},t[7]=a,t[8]=h);let g;t[9]!==i.enableLegacyTokenStreaming||t[10]!==h?(g=(0,Q.jsx)(q,{checked:i.enableLegacyTokenStreaming,onCheckedChange:h,"aria-label":`Stream token by token (legacy)`}),t[9]=i.enableLegacyTokenStreaming,t[10]=h,t[11]=g):g=t[11];let _;t[12]!==r||t[13]!==m||t[14]!==g?(_=(0,Q.jsx)(Rn,{children:(0,Q.jsx)(`div`,{className:`pt-2.5`,children:(0,Q.jsx)(Lt,{children:(0,Q.jsx)(`div`,{ref:l,id:`legacy-token-streaming`,children:(0,Q.jsx)(X,{title:`Stream token by token (legacy)`,description:`Paint assistant output token by token instead of in complete chunks. This legacy mode is significantly slower and makes long responses harder to follow.`,owner:`node`,scope:r,resetAction:m,control:g})})})})}),t[12]=r,t[13]=m,t[14]=g,t[15]=_):_=t[15];let v;return t[16]!==s||t[17]!==_?(v=(0,Q.jsx)(`section`,{"data-settings-section":`Legacy features`,className:`min-w-0 scroll-mt-6`,children:(0,Q.jsxs)(In,{open:s,onOpenChange:c,children:[p,_]})}),t[16]=s,t[17]=_,t[18]=v):v=t[18],v}function ei(e){let n=(0,$.c)(222),{searchTargetId:r}=e,i=r===void 0?null:r,a=y(),{updateSettings:o}=N(),l=et()===`phone`,d=P()?.environment.capabilities.projectPreferences===!0,f=W(),p=fe(),m=nt(),h=f?.nodeLabel??null,_,v,b;if(n[0]!==m||n[1]!==h){let e={appLabel:m,nativeClient:t,nodeLabel:h};v=O(`browser`,e),_=O(`device`,e),b=O(`node`,e),n[0]=m,n[1]=h,n[2]=_,n[3]=v,n[4]=b}else _=n[2],v=n[3],b=n[4];let x=b,C;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(C={logsDirectory:!1},n[5]=C):C=n[5];let[w,T]=(0,Z.useState)(C),E;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(E={},n[6]=E):E=n[6];let[D,k]=(0,Z.useState)(E),A=F(),j=ee(),M=j?.logsDirectoryPath??null,L=!f||f.primary,R;n[7]===j?R=n[8]:(R=[],j?.otlpTracesEnabled&&j.otlpTracesUrl&&R.push(`traces to ${j.otlpTracesUrl}`),j?.otlpMetricsEnabled&&j.otlpMetricsUrl&&R.push(`metrics to ${j.otlpMetricsUrl}`),n[7]=j,n[8]=R);let z=j?.localTracingEnabled?`Local trace file`:`Terminal logs only`,B=R.length>0?`${z}. OTLP exporting ${R.join(` and `)}.`:`${z}.`,V;n[9]===A?V=n[10]:(V=(e,t,n)=>{if(!t)return;k(t=>({...t,[e]:null})),T(t=>({...t,[e]:!0}));let r=ot(A??[]);if(!r){k(t=>({...t,[e]:`No available editors found.`})),T(t=>({...t,[e]:!1}));return}pe().shell.openInEditor(t,r).catch(t=>{k(r=>({...r,[e]:t instanceof Error?t.message:n}))}).finally(()=>{T(t=>({...t,[e]:!1}))})},n[9]=A,n[10]=V);let H=V,U;n[11]!==M||n[12]!==H?(U=()=>{H(`logsDirectory`,M,`Unable to open logs folder.`)},n[11]=M,n[12]=H,n[13]=U):U=n[13];let te=U,ne=D.logsDirectory??null,re=w.logsDirectory,ie,ae;n[14]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,Q.jsx)($n,{}),ae=(0,Q.jsx)(nr,{}),n[14]=ie,n[15]=ae):(ie=n[14],ae=n[15]);let oe;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,Q.jsx)(lr,{}),n[16]=oe):oe=n[16];let se;n[17]!==a.timestampFormat||n[18]!==o?(se=a.timestampFormat===u.timestampFormat?null:(0,Q.jsx)(Y,{label:`time format`,onClick:()=>o({timestampFormat:u.timestampFormat})}),n[17]=a.timestampFormat,n[18]=o,n[19]=se):se=n[19];let ce;n[20]===o?ce=n[21]:(ce=e=>{(e===`locale`||e===`12-hour`||e===`24-hour`)&&o({timestampFormat:e})},n[20]=o,n[21]=ce);let le=Ir[a.timestampFormat],ue;n[22]===le?ue=n[23]:(ue=(0,Q.jsx)(dt,{className:`w-full sm:w-40`,"aria-label":`Timestamp format`,children:(0,Q.jsx)(ft,{children:le})}),n[22]=le,n[23]=ue);let de;n[24]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,Q.jsxs)(lt,{align:`end`,alignItemWithTrigger:!1,children:[(0,Q.jsx)(K,{hideIndicator:!0,value:`locale`,children:Ir.locale}),(0,Q.jsx)(K,{hideIndicator:!0,value:`12-hour`,children:Ir[`12-hour`]}),(0,Q.jsx)(K,{hideIndicator:!0,value:`24-hour`,children:Ir[`24-hour`]})]}),n[24]=de):de=n[24];let me;n[25]!==a.timestampFormat||n[26]!==ce||n[27]!==ue?(me=(0,Q.jsxs)(pt,{value:a.timestampFormat,onValueChange:ce,children:[ue,de]}),n[25]=a.timestampFormat,n[26]=ce,n[27]=ue,n[28]=me):me=n[28];let he;n[29]!==v||n[30]!==se||n[31]!==me?(he=(0,Q.jsx)(X,{title:`Time format`,description:`System default follows your browser or OS clock preference.`,owner:`client`,scope:v,resetAction:se,control:me}),n[29]=v,n[30]=se,n[31]=me,n[32]=he):he=n[32];let ge=(A??[]).length>0?`Pin which editor opens directories and files. Auto uses your last selection from the Open menu.`:`No installed editors detected. Install a supported IDE to pick a default.`,_e;n[33]!==a.preferredEditor||n[34]!==o?(_e=a.preferredEditor===u.preferredEditor?null:(0,Q.jsx)(Y,{label:`default editor`,onClick:()=>o({preferredEditor:u.preferredEditor})}),n[33]=a.preferredEditor,n[34]=o,n[35]=_e):_e=n[35];let ve=a.preferredEditor??`__auto__`,ye;n[36]===o?ye=n[37]:(ye=e=>{if(e===`__auto__`){o({preferredEditor:null});return}let t=c.find(t=>t.id===e);t&&o({preferredEditor:t.id})},n[36]=o,n[37]=ye);let be;n[38]===a.preferredEditor?be=n[39]:(be=a.preferredEditor?(0,Q.jsx)(Lr,{editor:a.preferredEditor}):null,n[38]=a.preferredEditor,n[39]=be);let xe;n[40]===a.preferredEditor?xe=n[41]:(xe=a.preferredEditor?qe(a.preferredEditor,navigator.platform):`Auto (last used)`,n[40]=a.preferredEditor,n[41]=xe);let Se;n[42]===xe?Se=n[43]:(Se=(0,Q.jsx)(ft,{children:xe}),n[42]=xe,n[43]=Se);let Ce;n[44]!==be||n[45]!==Se?(Ce=(0,Q.jsxs)(dt,{className:`w-full sm:w-56`,"aria-label":`Default editor`,children:[be,Se]}),n[44]=be,n[45]=Se,n[46]=Ce):Ce=n[46];let we;n[47]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,Q.jsx)(K,{hideIndicator:!0,value:`__auto__`,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`size-4`}),`Auto (last used)`]})}),n[47]=we):we=n[47];let Te;n[48]===A?Te=n[49]:(Te=c.filter(e=>(A??[]).includes(e.id)&&st(e.id)).map(ti),n[48]=A,n[49]=Te);let Ee;n[50]===Te?Ee=n[51]:(Ee=(0,Q.jsxs)(lt,{align:`end`,alignItemWithTrigger:!1,children:[we,Te]}),n[50]=Te,n[51]=Ee);let De;n[52]!==ve||n[53]!==ye||n[54]!==Ce||n[55]!==Ee?(De=(0,Q.jsxs)(pt,{value:ve,onValueChange:ye,children:[Ce,Ee]}),n[52]=ve,n[53]=ye,n[54]=Ce,n[55]=Ee,n[56]=De):De=n[56];let Oe;n[57]!==v||n[58]!==ge||n[59]!==_e||n[60]!==De?(Oe=(0,Q.jsx)(X,{title:`Default editor`,description:ge,owner:`client`,scope:v,resetAction:_e,control:De}),n[57]=v,n[58]=ge,n[59]=_e,n[60]=De,n[61]=Oe):Oe=n[61];let ke;n[62]!==he||n[63]!==Oe?(ke=(0,Q.jsxs)(J,{title:`Behavior`,owner:`client`,children:[oe,he,Oe]}),n[62]=he,n[63]=Oe,n[64]=ke):ke=n[64];let Ae;n[65]===l?Ae=n[66]:(Ae=l&&(0,Q.jsx)(gr,{}),n[65]=l,n[66]=Ae);let je;n[67]!==a.enableProviderUpdateChecks||n[68]!==o?(je=a.enableProviderUpdateChecks===u.enableProviderUpdateChecks?null:(0,Q.jsx)(Y,{label:`provider update checks`,onClick:()=>o({enableProviderUpdateChecks:u.enableProviderUpdateChecks})}),n[67]=a.enableProviderUpdateChecks,n[68]=o,n[69]=je):je=n[69];let Me;n[70]===o?Me=n[71]:(Me=e=>o({enableProviderUpdateChecks:!!e}),n[70]=o,n[71]=Me);let Ne;n[72]!==a.enableProviderUpdateChecks||n[73]!==Me?(Ne=(0,Q.jsx)(q,{checked:a.enableProviderUpdateChecks,onCheckedChange:Me,"aria-label":`Check providers for updates`}),n[72]=a.enableProviderUpdateChecks,n[73]=Me,n[74]=Ne):Ne=n[74];let Pe;n[75]!==x||n[76]!==je||n[77]!==Ne?(Pe=(0,Q.jsx)(J,{title:`Provider updates`,owner:`node`,children:(0,Q.jsx)(X,{title:`Provider update checks`,description:`Check installed provider CLIs for newer versions. Disable if you install providers with Nix or another package manager.`,owner:`node`,scope:x,resetAction:je,control:Ne})}),n[75]=x,n[76]=je,n[77]=Ne,n[78]=Pe):Pe=n[78];let Fe;n[79]===l?Fe=n[80]:(Fe=!l&&(0,Q.jsx)(Nr,{}),n[79]=l,n[80]=Fe);let Ie;n[81]!==p||n[82]!==l?(Ie=!l&&p!==`node`&&(0,Q.jsx)(Sr,{}),n[81]=p,n[82]=l,n[83]=Ie):Ie=n[83];let Le;n[84]===l?Le=n[85]:(Le=!l&&(0,Q.jsx)(Un,{}),n[84]=l,n[85]=Le);let Re;n[86]===l?Re=n[87]:(Re=!l&&(0,Q.jsx)(Xn,{}),n[86]=l,n[87]=Re);let ze;n[88]!==a.autoOpenPlanSidebar||n[89]!==o?(ze=a.autoOpenPlanSidebar===u.autoOpenPlanSidebar?null:(0,Q.jsx)(Y,{label:`auto-open overview`,onClick:()=>o({autoOpenPlanSidebar:u.autoOpenPlanSidebar})}),n[88]=a.autoOpenPlanSidebar,n[89]=o,n[90]=ze):ze=n[90];let Be;n[91]===o?Be=n[92]:(Be=e=>o({autoOpenPlanSidebar:!!e}),n[91]=o,n[92]=Be);let Ve;n[93]!==a.autoOpenPlanSidebar||n[94]!==Be?(Ve=(0,Q.jsx)(q,{checked:a.autoOpenPlanSidebar,onCheckedChange:Be,"aria-label":`Open the overview automatically`}),n[93]=a.autoOpenPlanSidebar,n[94]=Be,n[95]=Ve):Ve=n[95];let He;n[96]!==v||n[97]!==ze||n[98]!==Ve?(He=(0,Q.jsx)(X,{title:`Auto-open overview`,description:`Open the overview automatically when plans, progress, or implementation steps appear.`,owner:`client`,scope:v,resetAction:ze,control:Ve}),n[96]=v,n[97]=ze,n[98]=Ve,n[99]=He):He=n[99];let Ue;n[100]!==l||n[101]!==x||n[102]!==a.defaultThreadEnvMode||n[103]!==a.worktreeBranchPrefix||n[104]!==d||n[105]!==o?(Ue=(!d||l)&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(X,{title:`New threads`,description:`Pick the default workspace mode for newly created draft threads.`,owner:`node`,scope:x,resetAction:a.defaultThreadEnvMode===u.defaultThreadEnvMode?null:(0,Q.jsx)(Y,{label:`new threads`,onClick:()=>o({defaultThreadEnvMode:u.defaultThreadEnvMode})}),control:(0,Q.jsxs)(pt,{value:a.defaultThreadEnvMode,onValueChange:e=>{(e===`local`||e===`worktree`)&&o({defaultThreadEnvMode:e})},children:[(0,Q.jsx)(dt,{className:`w-full sm:w-44`,"aria-label":`Default thread mode`,children:(0,Q.jsx)(ft,{children:a.defaultThreadEnvMode===`worktree`?`New worktree`:`Local`})}),(0,Q.jsxs)(lt,{align:`end`,alignItemWithTrigger:!1,children:[(0,Q.jsx)(K,{hideIndicator:!0,value:`local`,children:`Local`}),(0,Q.jsx)(K,{hideIndicator:!0,value:`worktree`,children:`New worktree`})]})]})}),!l&&(0,Q.jsx)(X,{title:`Worktree branch prefix`,description:`Prefix for generated branches on this device. Use a Git namespace such as team/agent, without a trailing slash. Leave empty for no prefix. Existing branches keep their names.`,owner:`node`,scope:x,resetAction:a.worktreeBranchPrefix===u.worktreeBranchPrefix?null:(0,Q.jsx)(Y,{label:`worktree branch prefix`,onClick:()=>o({worktreeBranchPrefix:u.worktreeBranchPrefix})}),control:(0,Q.jsx)($t,{className:`w-full sm:w-72`,value:a.worktreeBranchPrefix,onCommit:e=>{let t=e.trim();if(!g(s)(t)){S.add({type:`error`,title:`Invalid worktree branch prefix`,description:`Use a valid Git namespace of up to 128 characters without a trailing slash, or leave it empty.`});return}o({worktreeBranchPrefix:t})},placeholder:`ryco`,spellCheck:!1,autoCapitalize:`none`,"aria-label":`Worktree branch prefix`})})]}),n[100]=l,n[101]=x,n[102]=a.defaultThreadEnvMode,n[103]=a.worktreeBranchPrefix,n[104]=d,n[105]=o,n[106]=Ue):Ue=n[106];let We;n[107]!==l||n[108]!==x||n[109]!==a.continueThreadsAfterRestart||n[110]!==o?(We=!l&&(0,Q.jsx)(X,{title:`Continue after restart`,description:`When Ryco restarts while an agent is working, send “Continue where you left off.” automatically. Threads you stopped, threads waiting for your approval, and restarts more than 30 minutes later are not continued.`,owner:`node`,scope:x,resetAction:a.continueThreadsAfterRestart===u.continueThreadsAfterRestart?null:(0,Q.jsx)(Y,{label:`continue after restart`,onClick:()=>o({continueThreadsAfterRestart:u.continueThreadsAfterRestart})}),control:(0,Q.jsx)(q,{checked:a.continueThreadsAfterRestart,onCheckedChange:e=>o({continueThreadsAfterRestart:!!e}),"aria-label":`Continue threads automatically after a restart`})}),n[107]=l,n[108]=x,n[109]=a.continueThreadsAfterRestart,n[110]=o,n[111]=We):We=n[111];let Ge;n[112]!==a.addProjectBaseDirectory||n[113]!==o?(Ge=a.addProjectBaseDirectory===u.addProjectBaseDirectory?null:(0,Q.jsx)(Y,{label:`add project base directory`,onClick:()=>o({addProjectBaseDirectory:u.addProjectBaseDirectory})}),n[112]=a.addProjectBaseDirectory,n[113]=o,n[114]=Ge):Ge=n[114];let Ke;n[115]===o?Ke=n[116]:(Ke=e=>o({addProjectBaseDirectory:e}),n[115]=o,n[116]=Ke);let Je;n[117]!==a.addProjectBaseDirectory||n[118]!==Ke?(Je=(0,Q.jsx)($t,{className:`w-full sm:w-72`,value:a.addProjectBaseDirectory,onCommit:Ke,placeholder:`~/`,spellCheck:!1,"aria-label":`Add project base directory`}),n[117]=a.addProjectBaseDirectory,n[118]=Ke,n[119]=Je):Je=n[119];let Ye;n[120]!==x||n[121]!==Ge||n[122]!==Je?(Ye=(0,Q.jsx)(X,{title:`Add project starts in`,description:`Leave empty to use "~/" when the Add Project browser opens.`,owner:`node`,scope:x,resetAction:Ge,control:Je}),n[120]=x,n[121]=Ge,n[122]=Je,n[123]=Ye):Ye=n[123];let Xe;n[124]!==He||n[125]!==Ue||n[126]!==We||n[127]!==Ye?(Xe=(0,Q.jsxs)(J,{title:`Projects & threads`,children:[He,Ue,We,Ye]}),n[124]=He,n[125]=Ue,n[126]=We,n[127]=Ye,n[128]=Xe):Xe=n[128];let Ze;n[129]===l?Ze=n[130]:(Ze=!l&&(0,Q.jsx)(Ar,{}),n[129]=l,n[130]=Ze);let Qe;n[131]!==a.confirmThreadArchive||n[132]!==o?(Qe=a.confirmThreadArchive===u.confirmThreadArchive?null:(0,Q.jsx)(Y,{label:`archive confirmation`,onClick:()=>o({confirmThreadArchive:u.confirmThreadArchive})}),n[131]=a.confirmThreadArchive,n[132]=o,n[133]=Qe):Qe=n[133];let G;n[134]===o?G=n[135]:(G=e=>o({confirmThreadArchive:!!e}),n[134]=o,n[135]=G);let $e;n[136]!==a.confirmThreadArchive||n[137]!==G?($e=(0,Q.jsx)(q,{checked:a.confirmThreadArchive,onCheckedChange:G,"aria-label":`Confirm thread archiving`}),n[136]=a.confirmThreadArchive,n[137]=G,n[138]=$e):$e=n[138];let tt;n[139]!==v||n[140]!==Qe||n[141]!==$e?(tt=(0,Q.jsx)(X,{title:`Archive confirmation`,description:`Require a second click on the inline archive action before a thread is archived.`,owner:`client`,scope:v,resetAction:Qe,control:$e}),n[139]=v,n[140]=Qe,n[141]=$e,n[142]=tt):tt=n[142];let rt;n[143]!==a.confirmThreadDelete||n[144]!==o?(rt=a.confirmThreadDelete===u.confirmThreadDelete?null:(0,Q.jsx)(Y,{label:`Move to Trash confirmation`,onClick:()=>o({confirmThreadDelete:u.confirmThreadDelete})}),n[143]=a.confirmThreadDelete,n[144]=o,n[145]=rt):rt=n[145];let it;n[146]===o?it=n[147]:(it=e=>o({confirmThreadDelete:!!e}),n[146]=o,n[147]=it);let at;n[148]!==a.confirmThreadDelete||n[149]!==it?(at=(0,Q.jsx)(q,{checked:a.confirmThreadDelete,onCheckedChange:it,"aria-label":`Confirm moving threads to Trash`}),n[148]=a.confirmThreadDelete,n[149]=it,n[150]=at):at=n[150];let ct;n[151]!==v||n[152]!==rt||n[153]!==at?(ct=(0,Q.jsx)(X,{title:`Move to Trash confirmation`,description:`Ask before moving a thread to Trash. Deleting from Trash always asks.`,owner:`client`,scope:v,resetAction:rt,control:at}),n[151]=v,n[152]=rt,n[153]=at,n[154]=ct):ct=n[154];let ut;n[155]!==a.confirmThreadUnpin||n[156]!==o?(ut=a.confirmThreadUnpin===u.confirmThreadUnpin?null:(0,Q.jsx)(Y,{label:`unpin confirmation`,onClick:()=>o({confirmThreadUnpin:u.confirmThreadUnpin})}),n[155]=a.confirmThreadUnpin,n[156]=o,n[157]=ut):ut=n[157];let mt;n[158]===o?mt=n[159]:(mt=e=>o({confirmThreadUnpin:!!e}),n[158]=o,n[159]=mt);let ht;n[160]!==a.confirmThreadUnpin||n[161]!==mt?(ht=(0,Q.jsx)(q,{checked:a.confirmThreadUnpin,onCheckedChange:mt,"aria-label":`Confirm thread unpinning`}),n[160]=a.confirmThreadUnpin,n[161]=mt,n[162]=ht):ht=n[162];let gt;n[163]!==v||n[164]!==ut||n[165]!==ht?(gt=(0,Q.jsx)(X,{title:`Unpin confirmation`,description:`Ask before removing a thread from the pinned section.`,owner:`client`,scope:v,resetAction:ut,control:ht}),n[163]=v,n[164]=ut,n[165]=ht,n[166]=gt):gt=n[166];let _t;n[167]!==Ze||n[168]!==tt||n[169]!==ct||n[170]!==gt?(_t=(0,Q.jsxs)(J,{title:`Confirmations`,owner:`client`,children:[Ze,tt,ct,gt]}),n[167]=Ze,n[168]=tt,n[169]=ct,n[170]=gt,n[171]=_t):_t=n[171];let vt;n[172]!==_||n[173]!==a.notifyOnTurnCompleteWhenUnfocused||n[174]!==o?(vt=t&&(0,Q.jsx)(J,{title:`Notifications`,owner:`client`,children:(0,Q.jsx)(X,{title:`Turn-complete notifications`,description:`Show a desktop notification when an agent finishes a turn while the Ryco window is unfocused.`,owner:`client`,scope:_,resetAction:a.notifyOnTurnCompleteWhenUnfocused===u.notifyOnTurnCompleteWhenUnfocused?null:(0,Q.jsx)(Y,{label:`turn-complete notifications`,onClick:()=>o({notifyOnTurnCompleteWhenUnfocused:u.notifyOnTurnCompleteWhenUnfocused})}),control:(0,Q.jsx)(q,{checked:a.notifyOnTurnCompleteWhenUnfocused,onCheckedChange:e=>o({notifyOnTurnCompleteWhenUnfocused:!!e}),"aria-label":`Notify when a turn completes while unfocused`})})}),n[172]=_,n[173]=a.notifyOnTurnCompleteWhenUnfocused,n[174]=o,n[175]=vt):vt=n[175];let yt;n[176]!==p||n[177]!==l||n[178]!==x||n[179]!==i?(yt=l?null:p!==`client`&&(0,Q.jsx)($r,{searchTargetId:i,nodeScopeLabel:x}),n[176]=p,n[177]=l,n[178]=x,n[179]=i,n[180]=yt):yt=n[180];let bt;n[181]===p?bt=n[182]:(bt=p!==`node`&&(0,Q.jsx)(Vr,{}),n[181]=p,n[182]=bt);let xt;n[183]!==_||n[184]!==p||n[185]!==v?(xt=t&&p!==`node`?(0,Q.jsx)(Ur,{scopeLabel:_}):(0,Q.jsx)(X,{title:(0,Q.jsx)(Rr,{}),description:`Current version of the application.`,owner:`client`,scope:v}),n[183]=_,n[184]=p,n[185]=v,n[186]=xt):xt=n[186];let St=M??`Resolving logs directory...`,Ct;n[187]===St?Ct=n[188]:(Ct=(0,Q.jsx)(`span`,{className:`block break-all font-mono text-[11px] text-foreground`,children:St}),n[187]=St,n[188]=Ct);let wt;n[189]!==L||n[190]!==ne||n[191]!==f?.nodeLabel?(wt=ne?(0,Q.jsx)(`span`,{className:`mt-1 block text-destructive`,children:ne}):L?null:(0,Q.jsxs)(`span`,{className:`mt-1 block`,children:[`This path is on `,f?.nodeLabel,`; open it from that machine.`]}),n[189]=L,n[190]=ne,n[191]=f?.nodeLabel,n[192]=wt):wt=n[192];let Tt;n[193]!==Ct||n[194]!==wt?(Tt=(0,Q.jsxs)(Q.Fragment,{children:[Ct,wt]}),n[193]=Ct,n[194]=wt,n[195]=Tt):Tt=n[195];let Et=!L||!M||re,Dt=re?`Opening...`:`Open logs folder`,Ot;n[196]!==te||n[197]!==Et||n[198]!==Dt?(Ot=(0,Q.jsx)(I,{size:`xs`,variant:`outline`,disabled:Et,onClick:te,children:Dt}),n[196]=te,n[197]=Et,n[198]=Dt,n[199]=Ot):Ot=n[199];let kt;n[200]!==B||n[201]!==x||n[202]!==Tt||n[203]!==Ot?(kt=(0,Q.jsx)(X,{title:`Diagnostics`,description:B,owner:`node`,scope:x,status:Tt,control:Ot}),n[200]=B,n[201]=x,n[202]=Tt,n[203]=Ot,n[204]=kt):kt=n[204];let At;n[205]!==bt||n[206]!==xt||n[207]!==kt?(At=(0,Q.jsxs)(J,{title:`About`,children:[bt,xt,kt]}),n[205]=bt,n[206]=xt,n[207]=kt,n[208]=At):At=n[208];let jt;return n[209]!==ke||n[210]!==Ae||n[211]!==Pe||n[212]!==Fe||n[213]!==Ie||n[214]!==Le||n[215]!==Re||n[216]!==Xe||n[217]!==_t||n[218]!==vt||n[219]!==yt||n[220]!==At?(jt=(0,Q.jsxs)(Bt,{children:[ie,ae,ke,Ae,Pe,Fe,Ie,Le,Re,Xe,_t,vt,yt,At]}),n[209]=ke,n[210]=Ae,n[211]=Pe,n[212]=Fe,n[213]=Ie,n[214]=Le,n[215]=Re,n[216]=Xe,n[217]=_t,n[218]=vt,n[219]=yt,n[220]=At,n[221]=jt):jt=n[221],jt}function ti(e){return(0,Q.jsx)(K,{hideIndicator:!0,value:e.id,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,Q.jsx)(Lr,{editor:e.id}),qe(e.id,navigator.platform)]})},e.id)}function ni(){let e=(0,$.c)(27),t=W(),n=Ze(p.dispatchCommand),r=n.allowed&&(!t||t.connected&&t.canMutate!==!1),i=xe(rt(se)),a=xe(rt(V)),{unarchiveThread:o,confirmAndTrashThread:s}=We(),c=P(),l=t?.environmentId??c?.environment.environmentId??null;t?.environmentId;let u=t?.environmentId,d;e[0]!==i||e[1]!==u||e[2]!==a?(d=sr(i,a,u),e[0]=i,e[1]=u,e[2]=a,e[3]=d):d=e[3];let f=d,m;e[4]!==s||e[5]!==r||e[6]!==n.reason||e[7]!==o?(m=async(e,t)=>{if(!r){S.add(G({type:`warning`,title:`Archived thread is read-only`,description:n.reason??`This action is unavailable.`}));return}let i=U();if(!i)return;let a=await i.contextMenu.show([{id:`unarchive`,label:`Unarchive`},{id:`trash`,label:`Move to Trash`,destructive:!0}],t);if(a===`unarchive`){try{await o(e)}catch(e){let t=e;S.add(G({type:`error`,title:`Failed to unarchive thread`,description:t instanceof Error?t.message:`An error occurred.`}))}return}a===`trash`&&await s(e)},e[4]=s,e[5]=r,e[6]=n.reason,e[7]=o,e[8]=m):m=e[8];let h=m,g;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsxs)(Rt,{tone:`info`,title:`Retention`,children:[tn.archive,` `,tn.trash]}),e[9]=g):g=e[9];let _;e[10]!==f||e[11]!==h||e[12]!==r||e[13]!==n.reason||e[14]!==o?(_=f.length===0?(0,Q.jsx)(J,{title:`Archived threads`,children:(0,Q.jsxs)(It,{className:`min-h-88`,children:[(0,Q.jsx)(Mt,{variant:`icon`,children:(0,Q.jsx)(Ie,{})}),(0,Q.jsxs)(Nt,{children:[(0,Q.jsx)(Pt,{children:`No archived threads`}),(0,Q.jsx)(Ft,{children:`Archived threads will appear here.`})]})]})}):f.map(e=>(0,Q.jsx)(J,{title:e.kind===`project`?e.project.name:ve,icon:e.kind===`project`?(0,Q.jsx)(Te,{environmentId:e.project.environmentId,cwd:e.project.cwd,projectId:e.project.id,customAvatarContentHash:e.project.customAvatarContentHash??null}):(0,Q.jsx)(Ye,{"aria-hidden":!0}),children:e.threads.map(e=>(0,Q.jsx)(ri,{thread:e,mutationAllowed:r,mutationReason:n.reason??null,onOpenMenu:h,onUnarchive:o},e.id))},e.key)),e[10]=f,e[11]=h,e[12]=r,e[13]=n.reason,e[14]=o,e[15]=_):_=e[15];let v=n.reason??null,y;e[16]!==l||e[17]!==r||e[18]!==v?(y=(0,Q.jsx)(Pr,{environmentId:l,mutationAllowed:r,mutationReason:v}),e[16]=l,e[17]=r,e[18]=v,e[19]=y):y=e[19];let b=!r,x;e[20]!==l||e[21]!==b?(x=(0,Q.jsx)(Fr,{environmentId:l,disabled:b}),e[20]=l,e[21]=b,e[22]=x):x=e[22];let C;return e[23]!==_||e[24]!==y||e[25]!==x?(C=(0,Q.jsxs)(Bt,{children:[g,_,y,x]}),e[23]=_,e[24]=y,e[25]=x,e[26]=C):C=e[26],C}function ri(e){let t=(0,$.c)(38),{thread:n,mutationAllowed:r,mutationReason:i,onOpenMenu:o,onUnarchive:s}=e,c=et()===`phone`,l;t[0]!==o||t[1]!==n.environmentId||t[2]!==n.id?(l=e=>{o(a(n.environmentId,n.id),e)},t[0]=o,t[1]=n.environmentId,t[2]=n.id,t[3]=l):l=t[3];let u=!c,d;t[4]===u?d=t[5]:(d={disabled:u},t[4]=u,t[5]=d);let f=At(l,d),p;t[6]!==f||t[7]!==o||t[8]!==n.environmentId||t[9]!==n.id?(p=e=>{f.onContextMenu(e),!e.defaultPrevented&&(e.preventDefault(),o(a(n.environmentId,n.id),{x:e.clientX,y:e.clientY}))},t[6]=f,t[7]=o,t[8]=n.environmentId,t[9]=n.id,t[10]=p):p=t[10];let m;t[11]===n.title?m=t[12]:(m=(0,Q.jsx)(`h3`,{className:`truncate text-[13px] font-medium text-foreground`,children:n.title}),t[11]=n.title,t[12]=m);let h=n.archivedAt??n.createdAt,g;t[13]===h?g=t[14]:(g=Oe(h),t[13]=h,t[14]=g);let _;t[15]===n.createdAt?_=t[16]:(_=Oe(n.createdAt),t[15]=n.createdAt,t[16]=_);let v;t[17]!==g||t[18]!==_?(v=(0,Q.jsxs)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:[`Archived `,g,` · Created `,_]}),t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;t[20]!==m||t[21]!==v?(y=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[m,v]}),t[20]=m,t[21]=v,t[22]=y):y=t[22];let b=!r,x=i??void 0,S;t[23]!==s||t[24]!==n.environmentId||t[25]!==n.id?(S=()=>void s(a(n.environmentId,n.id)).catch(ii),t[23]=s,t[24]=n.environmentId,t[25]=n.id,t[26]=S):S=t[26];let C,w;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,Q.jsx)(an,{className:`size-3.5`}),w=(0,Q.jsx)(`span`,{children:`Unarchive`}),t[27]=C,t[28]=w):(C=t[27],w=t[28]);let T;t[29]!==b||t[30]!==x||t[31]!==S?(T=(0,Q.jsxs)(I,{type:`button`,variant:`outline`,size:`xs`,className:`shrink-0`,disabled:b,title:x,onClick:S,children:[C,w]}),t[29]=b,t[30]=x,t[31]=S,t[32]=T):T=t[32];let E;return t[33]!==f||t[34]!==T||t[35]!==p||t[36]!==y?(E=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border/60 px-4 py-3.5 first:border-t-0 sm:px-5`,...f,onContextMenu:p,children:[y,T]}),t[33]=f,t[34]=T,t[35]=p,t[36]=y,t[37]=E):E=t[37],E}function ii(e){S.add(G({type:`error`,title:`Failed to unarchive thread`,description:e instanceof Error?e.message:`An error occurred.`}))}export{In as a,dn as c,gr as i,sn as l,ei as n,Rn as o,Qr as r,Ln as s,ni as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ht as t}from"./wsTransport-C88seBPA.js";import{Gi as n,Zr as r,ad as i,ci as a,ea as o,ta as s,ws as c}from"./runtime-DjjjAcTE.js";import{t as l}from"./react-CwJFpaho.js";import{i as u}from"./presentationTier-DPVAxTK4.js";import{B as d,D as f,F as p,M as m,N as h,P as g,j as _,p as v,v as y}from"./workspaceLifecycle-OJ1aKksw.js";import{t as b}from"./toastHelpers-CSQRKo4F.js";import{n as x}from"./editorPreferences-DqKyA-2Z.js";var S={name:`folder-closed`,size:24,node:[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]};S.node;var C=c(S);async function w(e,t){let r=a();if(!r){n.add(b({type:`error`,title:`Unable to open folder`,description:`No local editor bridge is available.`}));return}try{t===`file-manager`?await r.shell.openInEditor(e,`file-manager`):await x(r,e)}catch(e){n.add(b({type:`error`,title:`Unable to open folder`,description:e instanceof Error?e.message:`An error occurred.`}))}}async function T(e){let t=r(e.environmentId)?.projects.deleteChatFolder;if(!t){n.add(b({type:`error`,title:`Could not delete the chat folder`,description:`This device cannot delete chat folders. The files are still in ${e.folderPath}.`}));return}try{let r=await t({projectId:e.projectId});n.add(r.deleted?{type:`success`,title:`Chat folder deleted`,description:e.folderPath}:{type:`info`,title:`Chat folder already gone`,description:`Nothing was left to delete at ${e.folderPath}.`})}catch(t){n.add(b({type:`error`,title:`Could not delete the chat folder`,description:`${t instanceof Error?t.message:`The request failed.`} The files are still in ${e.folderPath}.`}))}}var E=u(),D=`/assets/android-studio-BStk6y1m.png`,O=`/assets/nova-BR8CJp3D.png`,k=`/assets/positron-CVTig56O.png`,A=`/assets/sublime-text-CdbLNBJ7.png`,j=`/assets/windsurf-CaEwKX1l.png`,M=`/assets/xcode-B_XpXYHB.png`,N=i();function P(e,t){let n=n=>{let r=(0,E.c)(4),i,a;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`title`,{children:t}),a=(0,N.jsx)(`image`,{href:e,width:`24`,height:`24`,preserveAspectRatio:`xMidYMid meet`}),r[0]=i,r[1]=a):(i=r[0],a=r[1]);let o;return r[2]===n?o=r[3]:(o=(0,N.jsxs)(`svg`,{...n,viewBox:`0 0 24 24`,fill:`none`,children:[i,a]}),r[2]=n,r[3]=o),o};return n.displayName=`${t.replaceAll(` `,``)}Icon`,n}var F=P(D,`Android Studio`),I=P(M,`Xcode`),L=P(j,`Windsurf`),R=P(A,`Sublime Text`),z=P(O,`Nova`),B=P(k,`Positron`),V=e(l(),1),H=(e,t)=>{let n=(0,E.c)(7),r=(0,V.useId)(),i;if(n[0]!==t||n[1]!==r||n[2]!==e){let a;n[4]!==r||n[5]!==e?(a=(t,n)=>`${r}-${e}-${String.fromCharCode(97+n)}`,n[4]=r,n[5]=e,n[6]=a):a=n[6],i=Array.from({length:t},a),n[0]=t,n[1]=r,n[2]=e,n[3]=i}else i=n[3];return i},U={cursor:y,windsurf:L,trae:_,kiro:f,vscode:h,"vscode-insiders":g,vscodium:m,positron:B,zed:p,"sublime-text":R,nova:z,xcode:I,antigravity:v,"android-studio":F,idea:e=>{let t=(0,E.c)(23),[n,r]=H(`intellij-idea`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.1`,stopColor:`#FC801D`}),a=(0,N.jsx)(`stop`,{offset:`.59`,stopColor:`#FE2857`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`-.391`,x2:`24.392`,y1:`7.671`,y2:`61.126`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.21`,stopColor:`#FE2857`}),c=(0,N.jsx)(`stop`,{offset:`.7`,stopColor:`#007EFF`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`4.325`,x2:`62.921`,y1:`59.932`,y2:`1.336`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,N.jsx)(`path`,{fill:`#FF8100`,d:`M16.45 6H4.191a4.125 4.125 0 0 0-4.124 4.19l.176 11.044a4.13 4.13 0 0 0 1.44 3.066l38.159 32.707c.747.64 1.7.993 2.684.993h11.35A4.125 4.125 0 0 0 58 53.875V42.872c0-1.19-.514-2.321-1.41-3.105L19.167 7.021A4.12 4.12 0 0 0 16.45 6`}),t[11]=d):d=t[11];let f=`url(#${n})`,p;t[12]===f?p=t[13]:(p=(0,N.jsx)(`path`,{fill:f,d:`M14.988 6H4.125A4.125 4.125 0 0 0 0 10.125v12.566q0 .3.044.598l5.448 37.185A4.125 4.125 0 0 0 9.573 64h15.398a4.125 4.125 0 0 0 4.125-4.127L29.09 41.37c0-.426-.066-.849-.195-1.254l-9.98-31.245A4.13 4.13 0 0 0 14.988 6z`}),t[12]=f,t[13]=p);let m=`url(#${r})`,h;t[14]===m?h=t[15]:(h=(0,N.jsx)(`path`,{fill:m,d:`M59.876 0H25.748a4.13 4.13 0 0 0-3.8 2.52L6.151 39.943a4.1 4.1 0 0 0-.325 1.638l.15 18.329A4.125 4.125 0 0 0 10.101 64h17.666c.806 0 1.593-.236 2.266-.678l32.11-21.109A4.12 4.12 0 0 0 64 38.766V4.125A4.125 4.125 0 0 0 59.876 0`}),t[14]=m,t[15]=h);let g,_;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM17 29.383h2.98v-9.775H17v-2.616h8.843v2.616h-2.98v9.775h2.98V32H17zM27.643 29.298h2.154a2.4 2.4 0 0 0 1.163-.279q.51-.279.788-.788.279-.51.279-1.163V16.992h2.926v10.28q0 1.35-.622 2.427a4.45 4.45 0 0 1-1.715 1.688q-1.092.612-2.454.611h-2.519z`}),t[16]=g,t[17]=_):(g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==h||t[20]!==u||t[21]!==p?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,d,p,h,g,_]}),t[18]=e,t[19]=h,t[20]=u,t[21]=p,t[22]=v):v=t[22],v},aqua:e=>{let t=(0,E.c)(23),[n,r]=H(`aqua`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.25`,stopColor:`#7256FF`}),a=(0,N.jsx)(`stop`,{offset:`.73`,stopColor:`#007DFE`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`59.932`,x2:`1.336`,y1:`59.676`,y2:`1.079`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.3`,stopColor:`#00D886`}),c=(0,N.jsx)(`stop`,{offset:`.54`,stopColor:`#7256FF`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`7.671`,x2:`61.125`,y1:`64.392`,y2:`39.609`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d=`url(#${n})`,f;t[11]===d?f=t[12]:(f=(0,N.jsx)(`path`,{fill:d,d:`M0 4.125v34.128c0 1.658.993 3.154 2.52 3.8L39.943 57.85c.518.219 1.075.33 1.638.324l18.329-.15A4.125 4.125 0 0 0 64 53.9V36.234c0-.806-.236-1.593-.678-2.267L42.213 1.86A4.13 4.13 0 0 0 38.766 0H4.125A4.125 4.125 0 0 0 0 4.125`}),t[11]=d,t[12]=f);let p=`url(#${r})`,m;t[13]===p?m=t[14]:(m=(0,N.jsx)(`path`,{fill:p,d:`M6 49.015v10.862a4.125 4.125 0 0 0 4.125 4.125h12.566q.3 0 .598-.044l37.185-5.448A4.125 4.125 0 0 0 64 54.429V39.03a4.125 4.125 0 0 0-4.127-4.125l-18.504.005c-.426 0-.849.066-1.254.195L8.871 45.085A4.13 4.13 0 0 0 6 49.015z`}),t[13]=p,t[14]=m);let h,g,_;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,N.jsx)(`path`,{fill:`#00D886`,d:`M6 47.55v12.259a4.125 4.125 0 0 0 4.19 4.124L21 64c1.181-.019 2.531-.786 3.3-1.683l32.707-38.158c.64-.748.993-1.7.993-2.685V10.125A4.125 4.125 0 0 0 53.875 6H42.872c-1.19 0-2.321.514-3.105 1.409L7.021 44.834A4.12 4.12 0 0 0 6 47.55`}),g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM20.746 31.243a7.3 7.3 0 0 1-2.755-2.787q-1.002-1.774-1.003-3.961c0-2.187.334-2.778 1.003-3.96a7.3 7.3 0 0 1 2.755-2.787q1.752-1.013 3.917-1.014c1.443 0 2.739.338 3.907 1.013a7.3 7.3 0 0 1 2.75 2.787q.996 1.774.996 3.961c0 2.187-.332 2.778-.997 3.96a7.3 7.3 0 0 1-2.749 2.788q-1.752 1.013-3.907 1.013c-1.436 0-2.75-.338-3.917-1.013m6.308-2.23q1.06-.67 1.661-1.854.6-1.185.6-2.664t-.6-2.664a4.6 4.6 0 0 0-1.661-1.854q-1.061-.67-2.39-.67t-2.396.67a4.6 4.6 0 0 0-1.672 1.854q-.605 1.185-.605 2.664t.605 2.664 1.672 1.854q1.067.67 2.396.67 1.33 0 2.39-.67m-2.16 6.034a2.67 2.67 0 0 1-1.126-1.077q-.391-.696-.391-1.64l-.01-1.94h2.743v1.811q0 .332.129.573.128.242.37.365.24.123.574.123h1.833v2.165h-2.412q-.975 0-1.71-.38M38.233 16.992h3.173l5.563 15.006h-2.947l-1.212-3.483h-5.842l-1.136 3.483H32.82zm3.805 9.261-2.025-5.723-.225-.954-.215.954-1.908 5.723z`}),t[15]=h,t[16]=g,t[17]=_):(h=t[15],g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==m||t[20]!==u||t[21]!==f?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,f,m,h,g,_]}),t[18]=e,t[19]=m,t[20]=u,t[21]=f,t[22]=v):v=t[22],v},clion:e=>{let t=(0,E.c)(23),[n,r]=H(`clion`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.29`,stopColor:`#009AE5`}),a=(0,N.jsx)(`stop`,{offset:`.7`,stopColor:`#00D980`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`4.067`,x2:`62.664`,y1:`4.327`,y2:`62.923`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.3`,stopColor:`#FF2D90`}),c=(0,N.jsx)(`stop`,{offset:`.54`,stopColor:`#009AE5`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`56.329`,x2:`2.874`,y1:`-.391`,y2:`24.393`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d=`url(#${n})`,f;t[11]===d?f=t[12]:(f=(0,N.jsx)(`path`,{fill:d,d:`M64 59.878V25.75a4.13 4.13 0 0 0-2.52-3.8L24.057 6.153a4.1 4.1 0 0 0-1.638-.325l-18.329.15A4.124 4.124 0 0 0 0 10.103v17.665c0 .806.236 1.593.678 2.267l21.109 32.109a4.12 4.12 0 0 0 3.447 1.859h34.641A4.125 4.125 0 0 0 64 59.878`}),t[11]=d,t[12]=f);let p=`url(#${r})`,m;t[13]===p?m=t[14]:(m=(0,N.jsx)(`path`,{fill:p,d:`M58 14.988V4.125A4.125 4.125 0 0 0 53.875 0H41.309q-.3 0-.598.044L3.527 5.492A4.125 4.125 0 0 0 0 9.573v15.398a4.125 4.125 0 0 0 4.126 4.125l18.505-.005c.425 0 .848-.066 1.253-.195l31.246-9.98A4.13 4.13 0 0 0 58 14.988`}),t[13]=p,t[14]=m);let h,g,_;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,N.jsx)(`path`,{fill:`#FF2D90`,d:`M58 16.453V4.194A4.125 4.125 0 0 0 53.81.07L43.003.008c-1.18.019-2.535.781-3.304 1.678L6.993 39.844c-.64.748-.993 1.7-.993 2.684v11.35a4.125 4.125 0 0 0 4.125 4.125h11.003c1.19 0 2.321-.514 3.105-1.409L56.979 19.17A4.12 4.12 0 0 0 58 16.453`}),g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM20.747 31.243a7.3 7.3 0 0 1-2.744-2.787q-.997-1.774-.997-3.961c0-2.187.332-2.778.997-3.96a7.3 7.3 0 0 1 2.744-2.787q1.747-1.013 3.901-1.014 1.823 0 3.345.675a6.86 6.86 0 0 1 2.535 1.892 6.44 6.44 0 0 1 1.355 2.793h-3.065a4.05 4.05 0 0 0-.895-1.431 4 4 0 0 0-1.431-.95 4.9 4.9 0 0 0-1.822-.332q-1.33 0-2.402.665a4.6 4.6 0 0 0-1.677 1.827q-.606 1.164-.606 2.62 0 1.459.606 2.621a4.6 4.6 0 0 0 1.677 1.828q1.072.664 2.402.664a4.9 4.9 0 0 0 1.822-.332 4.02 4.02 0 0 0 2.326-2.38h3.065a6.44 6.44 0 0 1-1.355 2.792 6.86 6.86 0 0 1-2.535 1.892q-1.522.675-3.345.675-2.154 0-3.901-1.013zM37.33 16.992v12.37h7.117v2.636H34.414V16.992z`}),t[15]=h,t[16]=g,t[17]=_):(h=t[15],g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==m||t[20]!==u||t[21]!==f?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,f,m,h,g,_]}),t[18]=e,t[19]=m,t[20]=u,t[21]=f,t[22]=v):v=t[22],v},datagrip:e=>{let t=(0,E.c)(23),[n,r]=H(`datagrip`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.28`,stopColor:`#7256FF`}),a=(0,N.jsx)(`stop`,{offset:`.66`,stopColor:`#00D980`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`59.676`,x2:`1.08`,y1:`4.067`,y2:`62.663`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.3`,stopColor:`#FF43F2`}),c=(0,N.jsx)(`stop`,{offset:`.54`,stopColor:`#7256FF`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`64.391`,x2:`39.607`,y1:`56.329`,y2:`2.874`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d=`url(#${n})`,f;t[11]===d?f=t[12]:(f=(0,N.jsx)(`path`,{fill:d,d:`M4.125 64h34.128a4.13 4.13 0 0 0 3.8-2.52L57.85 24.057c.219-.518.33-1.076.324-1.638l-.15-18.329A4.125 4.125 0 0 0 53.9 0H36.234c-.806 0-1.593.236-2.267.678L1.86 21.787A4.13 4.13 0 0 0 0 25.234v34.641A4.125 4.125 0 0 0 4.125 64`}),t[11]=d,t[12]=f);let p=`url(#${r})`,m;t[13]===p?m=t[14]:(m=(0,N.jsx)(`path`,{fill:p,d:`M49.013 58h10.862A4.125 4.125 0 0 0 64 53.875V41.309q0-.3-.044-.598L58.508 3.527A4.125 4.125 0 0 0 54.427 0H39.029a4.125 4.125 0 0 0-4.125 4.126l.005 18.505c0 .425.066.848.195 1.253l9.979 31.246a4.13 4.13 0 0 0 3.93 2.87`}),t[13]=p,t[14]=m);let h,g,_;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,N.jsx)(`path`,{fill:`#FF43F2`,d:`M47.55 58h12.259a4.125 4.125 0 0 0 4.124-4.19L64 43c-.018-1.181-.785-2.531-1.682-3.3L24.159 6.993A4.13 4.13 0 0 0 21.474 6H10.125A4.125 4.125 0 0 0 6 10.125v11.003c0 1.19.514 2.321 1.409 3.105l37.425 32.746A4.12 4.12 0 0 0 47.55 58`}),g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM17.012 16.992h5.713q2.133 0 3.821.965a6.9 6.9 0 0 1 2.642 2.674q.954 1.71.954 3.864t-.954 3.865a6.9 6.9 0 0 1-2.642 2.674q-1.688.964-3.821.964h-5.713zm8.028 11.876q1.008-.6 1.554-1.72.547-1.12.547-2.653 0-1.534-.547-2.653-.546-1.12-1.554-1.721-1.008-.6-2.348-.6h-2.755v9.947h2.755q1.34 0 2.348-.6M35.426 31.243a7.3 7.3 0 0 1-2.744-2.787q-.997-1.774-.997-3.961c0-2.187.333-2.778.997-3.96s1.58-2.112 2.744-2.787q1.747-1.013 3.902-1.014 1.746 0 3.221.622a6.9 6.9 0 0 1 2.487 1.747 6.36 6.36 0 0 1 1.42 2.594h-3.13a3.9 3.9 0 0 0-.927-1.228q-.585-.52-1.367-.803c-.782-.283-1.082-.284-1.683-.284q-1.329 0-2.401.664a4.6 4.6 0 0 0-1.678 1.828q-.605 1.163-.605 2.62c0 1.457.202 1.846.605 2.621a4.6 4.6 0 0 0 1.678 1.828q1.072.664 2.401.664 1.233 0 2.235-.461t1.592-1.276a3.3 3.3 0 0 0 .633-1.833l.01.31h-3.526v-2.304h6.356v1.18q0 1.982-.96 3.585a6.9 6.9 0 0 1-2.625 2.525q-1.668.921-3.736.921c-1.38 0-2.737-.337-3.902-1.013z`}),t[15]=h,t[16]=g,t[17]=_):(h=t[15],g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==m||t[20]!==u||t[21]!==f?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,f,m,h,g,_]}),t[18]=e,t[19]=m,t[20]=u,t[21]=f,t[22]=v):v=t[22],v},dataspell:e=>{let t=(0,E.c)(23),[n,r]=H(`dataspell`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.28`,stopColor:`#007DFE`}),a=(0,N.jsx)(`stop`,{offset:`.73`,stopColor:`#00D980`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`4.067`,x2:`62.664`,y1:`4.327`,y2:`62.923`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.32`,stopColor:`#F0EB18`}),c=(0,N.jsx)(`stop`,{offset:`.55`,stopColor:`#007DFE`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`56.329`,x2:`2.875`,y1:`-.391`,y2:`24.392`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d=`url(#${n})`,f;t[11]===d?f=t[12]:(f=(0,N.jsx)(`path`,{fill:d,d:`M64 59.878V25.75a4.13 4.13 0 0 0-2.52-3.8L24.057 6.153a4.1 4.1 0 0 0-1.638-.325l-18.329.15A4.124 4.124 0 0 0 0 10.103v17.665c0 .806.236 1.593.678 2.267l21.109 32.109a4.12 4.12 0 0 0 3.447 1.859h34.641A4.125 4.125 0 0 0 64 59.878`}),t[11]=d,t[12]=f);let p=`url(#${r})`,m;t[13]===p?m=t[14]:(m=(0,N.jsx)(`path`,{fill:p,d:`M58 14.988V4.125A4.125 4.125 0 0 0 53.875 0H41.309q-.3 0-.598.044L3.527 5.492A4.125 4.125 0 0 0 0 9.573v15.398a4.125 4.125 0 0 0 4.126 4.125l18.505-.005c.425 0 .848-.066 1.253-.195l31.246-9.98A4.13 4.13 0 0 0 58 14.988`}),t[13]=p,t[14]=m);let h,g,_;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,N.jsx)(`path`,{fill:`#F0EB18`,d:`M58 16.45V4.191A4.125 4.125 0 0 0 53.81.067L43 0c-1.181.019-2.531.786-3.3 1.683L6.993 39.84c-.64.748-.993 1.7-.993 2.685v11.349A4.125 4.125 0 0 0 10.125 58h11.003c1.19 0 2.321-.514 3.105-1.409l32.746-37.425A4.12 4.12 0 0 0 58 16.45`}),g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM17.012 16.992h5.713q2.133 0 3.821.965a6.9 6.9 0 0 1 2.642 2.674q.954 1.71.954 3.864t-.954 3.865a6.9 6.9 0 0 1-2.642 2.674q-1.688.964-3.821.964h-5.713zm8.028 11.876q1.008-.6 1.554-1.72.547-1.12.547-2.653 0-1.534-.547-2.653-.546-1.12-1.554-1.721-1.008-.6-2.348-.6h-2.755v9.947h2.755q1.34 0 2.348-.6M34.713 31.664q-1.26-.59-1.973-1.65t-.734-2.444h2.937q0 .654.343 1.147t.954.772q.61.278 1.404.278c.53 0 .952-.083 1.334-.251q.574-.252.89-.702t.316-1.029q0-.718-.434-1.19-.435-.471-1.195-.654l-2.648-.59q-1.071-.234-1.865-.809a4 4 0 0 1-1.232-1.42q-.44-.846-.44-1.908 0-1.286.665-2.31.664-1.023 1.854-1.597 1.19-.573 2.701-.573c1.511 0 1.933.186 2.733.558s1.424.888 1.871 1.549q.67.99.68 2.277h-2.926q0-.546-.289-.98c-.289-.435-.466-.515-.82-.676a2.9 2.9 0 0 0-1.217-.24q-.686 0-1.205.23a1.9 1.9 0 0 0-.81.643q-.29.412-.29.96 0 .621.403 1.028.402.407 1.098.579l2.552.557q1.103.226 1.967.852a4.45 4.45 0 0 1 1.345 1.544q.481.917.482 1.999 0 1.329-.702 2.385-.702 1.054-1.967 1.656-1.265.6-2.894.6t-2.889-.59`}),t[15]=h,t[16]=g,t[17]=_):(h=t[15],g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==m||t[20]!==u||t[21]!==f?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,f,m,h,g,_]}),t[18]=e,t[19]=m,t[20]=u,t[21]=f,t[22]=v):v=t[22],v},goland:e=>{let t=(0,E.c)(23),[n,r]=H(`goland`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.24`,stopColor:`#00D886`}),a=(0,N.jsx)(`stop`,{offset:`.51`,stopColor:`#007DFE`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`64.391`,x2:`39.607`,y1:`56.329`,y2:`2.874`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.27`,stopColor:`#007DFE`}),c=(0,N.jsx)(`stop`,{offset:`.7`,stopColor:`#D249FC`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`59.676`,x2:`1.08`,y1:`4.067`,y2:`62.663`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,N.jsx)(`path`,{fill:`#00D886`,d:`M47.55 58h12.259a4.125 4.125 0 0 0 4.124-4.19l-.176-11.044a4.13 4.13 0 0 0-1.44-3.066L24.159 6.993A4.13 4.13 0 0 0 21.474 6H10.125A4.125 4.125 0 0 0 6 10.125v11.003c0 1.19.514 2.321 1.409 3.105l37.425 32.746A4.12 4.12 0 0 0 47.55 58`}),t[11]=d):d=t[11];let f=`url(#${n})`,p;t[12]===f?p=t[13]:(p=(0,N.jsx)(`path`,{fill:f,d:`M49.013 58h10.862A4.125 4.125 0 0 0 64 53.875V41.309q0-.3-.044-.598L58.508 3.527A4.124 4.124 0 0 0 54.427 0H39.029a4.125 4.125 0 0 0-4.125 4.126l.005 18.505c0 .425.066.848.195 1.253l9.979 31.246a4.13 4.13 0 0 0 3.93 2.87`}),t[12]=f,t[13]=p);let m=`url(#${r})`,h;t[14]===m?h=t[15]:(h=(0,N.jsx)(`path`,{fill:m,d:`M4.125 64h34.128a4.13 4.13 0 0 0 3.8-2.52L57.85 24.057c.219-.518.33-1.076.324-1.638l-.15-18.329A4.124 4.124 0 0 0 53.9 0H36.234c-.805 0-1.593.236-2.266.678L1.86 21.787A4.13 4.13 0 0 0 0 25.234v34.641A4.125 4.125 0 0 0 4.125 64`}),t[14]=m,t[15]=h);let g,_;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M19.748 31.243a7.3 7.3 0 0 1-2.743-2.787q-.997-1.774-.997-3.961c0-2.187.332-2.778.997-3.96s1.58-2.112 2.743-2.787q1.747-1.013 3.902-1.014 1.747 0 3.222.622a6.9 6.9 0 0 1 2.486 1.747 6.4 6.4 0 0 1 1.42 2.594h-3.13a3.9 3.9 0 0 0-.926-1.228q-.584-.52-1.367-.803c-.783-.283-1.083-.284-1.683-.284q-1.33 0-2.402.664a4.6 4.6 0 0 0-1.677 1.828q-.606 1.163-.606 2.62c0 1.457.202 1.846.606 2.621a4.6 4.6 0 0 0 1.677 1.828q1.072.664 2.402.664 1.232 0 2.235-.461t1.591-1.276a3.3 3.3 0 0 0 .633-1.833l.01.31h-3.526v-2.304h6.357v1.18q0 1.982-.96 3.585a6.9 6.9 0 0 1-2.626 2.525q-1.666.921-3.736.921c-2.07 0-2.737-.337-3.902-1.013zM36.271 31.243a7.3 7.3 0 0 1-2.755-2.787q-1.002-1.774-1.002-3.961c0-2.187.333-2.778 1.002-3.96a7.3 7.3 0 0 1 2.755-2.787q1.752-1.013 3.918-1.014c1.443 0 2.738.338 3.907 1.013a7.3 7.3 0 0 1 2.749 2.787q.996 1.774.997 3.961c0 2.187-.333 2.778-.997 3.96s-1.581 2.113-2.75 2.788q-1.752 1.013-3.906 1.013c-1.437 0-2.75-.338-3.918-1.013m6.308-2.23q1.062-.67 1.662-1.854t.6-2.664-.6-2.664-1.662-1.854-2.39-.67-2.395.67a4.6 4.6 0 0 0-1.672 1.854q-.606 1.185-.606 2.664t.606 2.664 1.672 1.854 2.395.67q1.33 0 2.39-.67M33 44H17v3h16z`}),t[16]=g,t[17]=_):(g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==h||t[20]!==u||t[21]!==p?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,d,p,h,g,_]}),t[18]=e,t[19]=h,t[20]=u,t[21]=p,t[22]=v):v=t[22],v},phpstorm:e=>{let t=(0,E.c)(23),[n,r]=H(`phpstorm`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.16`,stopColor:`#D249FC`}),a=(0,N.jsx)(`stop`,{offset:`.55`,stopColor:`#FF2D90`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`56.329`,x2:`2.874`,y1:`-.391`,y2:`24.392`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.3`,stopColor:`#FF2D90`}),c=(0,N.jsx)(`stop`,{offset:`.7`,stopColor:`#7256FF`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`4.067`,x2:`62.664`,y1:`4.326`,y2:`62.923`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,N.jsx)(`path`,{fill:`#D249FC`,d:`M58 16.446V4.187A4.125 4.125 0 0 0 53.81.063L42.765.239A4.13 4.13 0 0 0 39.7 1.68L6.993 39.837c-.64.748-.993 1.7-.993 2.685v11.35a4.125 4.125 0 0 0 4.125 4.124h11.003c1.19 0 2.321-.514 3.105-1.409l32.746-37.425A4.12 4.12 0 0 0 58 16.446`}),t[11]=d):d=t[11];let f=`url(#${n})`,p;t[12]===f?p=t[13]:(p=(0,N.jsx)(`path`,{fill:f,d:`M58 14.988V4.125A4.125 4.125 0 0 0 53.875 0H41.309q-.3 0-.598.044L3.527 5.492A4.125 4.125 0 0 0 0 9.573v15.398a4.125 4.125 0 0 0 4.126 4.125l18.505-.005c.425 0 .848-.066 1.253-.195l31.246-9.98A4.13 4.13 0 0 0 58 14.988`}),t[12]=f,t[13]=p);let m=`url(#${r})`,h;t[14]===m?h=t[15]:(h=(0,N.jsx)(`path`,{fill:m,d:`M64 59.878V25.75a4.13 4.13 0 0 0-2.52-3.8L24.057 6.153a4.1 4.1 0 0 0-1.638-.325l-18.329.15A4.124 4.124 0 0 0 0 10.103v17.665c0 .806.236 1.593.678 2.267l21.109 32.109a4.12 4.12 0 0 0 3.447 1.859h34.641A4.125 4.125 0 0 0 64 59.878`}),t[14]=m,t[15]=h);let g,_;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM16.993 16.992h6.442q1.586 0 2.78.579 1.196.579 1.845 1.63.648 1.05.648 2.432c0 .922-.22 1.759-.659 2.466q-.66 1.062-1.87 1.646-1.212.584-2.83.584h-3.43V32h-2.927zm7.54 6.63q.553-.273.852-.782.3-.51.3-1.195c0-.685-.1-.842-.3-1.174q-.3-.5-.852-.772-.552-.273-1.291-.273h-3.323v4.47h3.323q.74 0 1.291-.273M32.572 31.664q-1.26-.59-1.972-1.65t-.735-2.444h2.937q0 .654.343 1.147t.954.772q.611.278 1.404.278c.53 0 .952-.083 1.335-.251q.572-.252.89-.702c.317-.45.315-.643.315-1.029q0-.718-.434-1.19-.435-.471-1.195-.654l-2.647-.59q-1.073-.234-1.866-.809a4 4 0 0 1-1.232-1.42q-.44-.846-.44-1.908 0-1.286.665-2.31.665-1.023 1.854-1.597 1.19-.573 2.702-.573c1.512 0 1.933.186 2.733.558q1.2.558 1.87 1.549t.681 2.277h-2.926q0-.546-.29-.98a1.9 1.9 0 0 0-.82-.676 2.9 2.9 0 0 0-1.216-.24q-.687 0-1.206.23a1.9 1.9 0 0 0-.81.643q-.29.412-.289.96 0 .621.402 1.028t1.099.579l2.551.557q1.104.226 1.967.852a4.45 4.45 0 0 1 1.345 1.544q.482.917.482 1.999 0 1.329-.701 2.385-.703 1.054-1.967 1.656-1.264.6-2.895.6-1.63 0-2.888-.59`}),t[16]=g,t[17]=_):(g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==h||t[20]!==u||t[21]!==p?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,d,p,h,g,_]}),t[18]=e,t[19]=h,t[20]=u,t[21]=p,t[22]=v):v=t[22],v},pycharm:e=>{let t=(0,E.c)(23),[n,r]=H(`pycharm`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.1`,stopColor:`#00D886`}),a=(0,N.jsx)(`stop`,{offset:`.59`,stopColor:`#F0EB18`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`7.671`,x2:`61.126`,y1:`64.393`,y2:`39.609`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.3`,stopColor:`#F0EB18`}),c=(0,N.jsx)(`stop`,{offset:`.7`,stopColor:`#00C4F4`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`59.933`,x2:`1.337`,y1:`59.676`,y2:`1.08`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,N.jsx)(`path`,{fill:`#00D886`,d:`M6 47.55v12.259a4.125 4.125 0 0 0 4.19 4.124l11.044-.176a4.13 4.13 0 0 0 3.066-1.44l32.707-38.158c.64-.748.993-1.7.993-2.685V10.125A4.125 4.125 0 0 0 53.875 6H42.872c-1.19 0-2.321.514-3.105 1.409L7.021 44.834A4.12 4.12 0 0 0 6 47.55`}),t[11]=d):d=t[11];let f=`url(#${n})`,p;t[12]===f?p=t[13]:(p=(0,N.jsx)(`path`,{fill:f,d:`M6 49.015v10.862a4.125 4.125 0 0 0 4.125 4.125h12.566q.3 0 .598-.044l37.185-5.448A4.125 4.125 0 0 0 64 54.429V39.03a4.125 4.125 0 0 0-4.127-4.125l-18.504.005c-.426 0-.849.066-1.254.195L8.871 45.085A4.13 4.13 0 0 0 6 49.015z`}),t[12]=f,t[13]=p);let m=`url(#${r})`,h;t[14]===m?h=t[15]:(h=(0,N.jsx)(`path`,{fill:m,d:`M0 4.125v34.128c0 1.658.993 3.154 2.52 3.8L39.943 57.85c.518.219 1.075.33 1.638.324l18.329-.15A4.125 4.125 0 0 0 64 53.9V36.234c0-.806-.236-1.593-.678-2.267L42.213 1.86A4.13 4.13 0 0 0 38.766 0H4.125A4.125 4.125 0 0 0 0 4.125`}),t[14]=m,t[15]=h);let g,_;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM16.993 16.992h6.442q1.586 0 2.78.579 1.196.579 1.845 1.63.648 1.05.648 2.432c0 .922-.22 1.759-.659 2.466q-.66 1.062-1.87 1.646-1.212.584-2.83.584h-3.43V32h-2.927zm7.54 6.63q.553-.273.852-.782.3-.51.3-1.195c0-.685-.1-.842-.3-1.174q-.3-.5-.852-.772-.552-.273-1.291-.273h-3.324v4.47h3.324q.74 0 1.291-.273M33.713 31.243a7.3 7.3 0 0 1-2.744-2.787q-.996-1.774-.996-3.961c0-2.187.332-2.778.996-3.96a7.3 7.3 0 0 1 2.744-2.787q1.748-1.013 3.902-1.014 1.823 0 3.344.675a6.86 6.86 0 0 1 2.535 1.892 6.44 6.44 0 0 1 1.356 2.793h-3.066a4.05 4.05 0 0 0-.895-1.431 4 4 0 0 0-1.43-.95 4.9 4.9 0 0 0-1.823-.332q-1.33 0-2.402.665a4.6 4.6 0 0 0-1.677 1.827q-.606 1.164-.606 2.62 0 1.459.606 2.621a4.6 4.6 0 0 0 1.677 1.828q1.072.664 2.402.664.986 0 1.822-.332a4.02 4.02 0 0 0 2.326-2.38h3.066a6.44 6.44 0 0 1-1.356 2.792 6.86 6.86 0 0 1-2.535 1.892q-1.522.675-3.344.675-2.154 0-3.902-1.013z`}),t[16]=g,t[17]=_):(g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==h||t[20]!==u||t[21]!==p?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,d,p,h,g,_]}),t[18]=e,t[19]=h,t[20]=u,t[21]=p,t[22]=v):v=t[22],v},rider:e=>{let t=(0,E.c)(23),[n,r]=H(`rider`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.21`,stopColor:`#007DFE`}),a=(0,N.jsx)(`stop`,{offset:`.55`,stopColor:`#FFB700`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`64.391`,x2:`39.607`,y1:`56.329`,y2:`2.874`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.23`,stopColor:`#FFB700`}),c=(0,N.jsx)(`stop`,{offset:`.73`,stopColor:`#FF0A67`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`59.676`,x2:`1.08`,y1:`4.067`,y2:`62.663`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,N.jsx)(`path`,{fill:`#007DFE`,d:`M47.55 58h12.258a4.125 4.125 0 0 0 4.124-4.19l-.176-11.044a4.12 4.12 0 0 0-1.44-3.066L24.158 6.993A4.13 4.13 0 0 0 21.474 6H10.125A4.125 4.125 0 0 0 6 10.125v11.003c0 1.19.514 2.321 1.409 3.105l37.425 32.746A4.12 4.12 0 0 0 47.55 58`}),t[11]=d):d=t[11];let f=`url(#${n})`,p;t[12]===f?p=t[13]:(p=(0,N.jsx)(`path`,{fill:f,d:`M49.013 58h10.862A4.125 4.125 0 0 0 64 53.875V41.309q0-.3-.044-.598L58.508 3.527A4.125 4.125 0 0 0 54.427 0H39.029a4.125 4.125 0 0 0-4.125 4.126l.005 18.505c0 .425.066.848.195 1.253l9.979 31.246a4.13 4.13 0 0 0 3.93 2.87`}),t[12]=f,t[13]=p);let m=`url(#${r})`,h;t[14]===m?h=t[15]:(h=(0,N.jsx)(`path`,{fill:m,d:`M4.125 64h34.128a4.13 4.13 0 0 0 3.8-2.52L57.85 24.057c.219-.518.33-1.076.324-1.638l-.15-18.329A4.124 4.124 0 0 0 53.9 0H36.234c-.805 0-1.593.236-2.266.678L1.86 21.787A4.13 4.13 0 0 0 0 25.234v34.641A4.125 4.125 0 0 0 4.125 64`}),t[14]=m,t[15]=h);let g,_;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM16.992 16.992h6.442q1.576 0 2.776.579t1.85 1.63.648 2.432c0 .922-.22 1.75-.66 2.46q-.66 1.068-1.875 1.651-1.217.584-2.825.584h-3.43v5.67h-2.926zm7.54 6.63q.553-.274.853-.783.3-.51.3-1.184c0-.45-.1-.852-.3-1.185q-.3-.498-.852-.772-.552-.273-1.292-.273h-3.323v4.47h3.323q.74 0 1.292-.273m-2.63 1.763h3.194L29.03 32h-3.355zM31.613 16.992h5.713q2.133 0 3.822.965a6.9 6.9 0 0 1 2.641 2.674q.954 1.71.954 3.864t-.953 3.865a6.9 6.9 0 0 1-2.642 2.674q-1.688.964-3.822.964h-5.713zm8.028 11.876q1.008-.6 1.555-1.72t.547-2.653q0-1.534-.547-2.653-.547-1.12-1.555-1.721-1.008-.6-2.347-.6h-2.755v9.947h2.755q1.34 0 2.347-.6`}),t[16]=g,t[17]=_):(g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==h||t[20]!==u||t[21]!==p?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,d,p,h,g,_]}),t[18]=e,t[19]=h,t[20]=u,t[21]=p,t[22]=v):v=t[22],v},rubymine:e=>{let t=(0,E.c)(23),[n,r]=H(`rubymine`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.29`,stopColor:`#FF2358`}),a=(0,N.jsx)(`stop`,{offset:`.75`,stopColor:`#7256FF`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`4.325`,x2:`62.921`,y1:`59.932`,y2:`1.337`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.29`,stopColor:`#FF8100`}),c=(0,N.jsx)(`stop`,{offset:`.56`,stopColor:`#FF2358`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`-.391`,x2:`24.393`,y1:`7.671`,y2:`61.125`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d=`url(#${n})`,f;t[11]===d?f=t[12]:(f=(0,N.jsx)(`path`,{fill:d,d:`M59.875 0H25.748a4.13 4.13 0 0 0-3.8 2.52L6.151 39.942a4.1 4.1 0 0 0-.325 1.639l.15 18.328A4.125 4.125 0 0 0 10.101 64h17.666c.805 0 1.593-.235 2.266-.678l32.109-21.108A4.12 4.12 0 0 0 64 38.766V4.125A4.125 4.125 0 0 0 59.875 0`}),t[11]=d,t[12]=f);let p=`url(#${r})`,m;t[13]===p?m=t[14]:(m=(0,N.jsx)(`path`,{fill:p,d:`M14.987 6H4.126A4.125 4.125 0 0 0 0 10.125v12.566q0 .3.044.598l5.448 37.184A4.125 4.125 0 0 0 9.572 64H24.97a4.125 4.125 0 0 0 4.125-4.126l-.004-18.504c0-.426-.067-.85-.196-1.254L18.917 8.87A4.13 4.13 0 0 0 14.987 6z`}),t[13]=p,t[14]=m);let h,g,_;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,N.jsx)(`path`,{fill:`#FF8100`,d:`M16.45 6H4.19a4.125 4.125 0 0 0-4.124 4.19L0 21c.019 1.181.786 2.531 1.683 3.3l38.158 32.706c.748.641 1.7.993 2.684.993h11.35A4.125 4.125 0 0 0 58 53.875V42.872c0-1.189-.514-2.32-1.41-3.104L19.167 7.021A4.12 4.12 0 0 0 16.45 6`}),g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM17.012 16.992h6.442q1.575 0 2.776.579t1.849 1.63.648 2.432c0 .922-.22 1.75-.66 2.46q-.658 1.068-1.875 1.651-1.216.584-2.824.584h-3.43v5.67h-2.926zm7.54 6.63q.552-.274.852-.783.3-.51.3-1.184c0-.45-.1-.852-.3-1.185q-.3-.498-.852-.772-.552-.273-1.292-.273h-3.323v4.47h3.323q.74 0 1.292-.273m-2.631 1.763h3.194L29.05 32h-3.355zM31.633 16.992h4.073l3.087 9.85.257 1.287.225-1.286 2.98-9.85h4.138v15.005h-2.894V21.29l.043-.782-3.494 11.49h-2.123l-3.451-11.415.043.707v10.708h-2.883V16.992z`}),t[15]=h,t[16]=g,t[17]=_):(h=t[15],g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==m||t[20]!==u||t[21]!==f?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,f,m,h,g,_]}),t[18]=e,t[19]=m,t[20]=u,t[21]=f,t[22]=v):v=t[22],v},rustrover:e=>{let t=(0,E.c)(23),[n,r]=H(`rustrover`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.08`,stopColor:`#00D886`}),a=(0,N.jsx)(`stop`,{offset:`.46`,stopColor:`#FFAB00`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`7.671`,x2:`61.125`,y1:`64.393`,y2:`39.609`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.19`,stopColor:`#FFAB00`}),c=(0,N.jsx)(`stop`,{offset:`.83`,stopColor:`#FF004C`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`59.932`,x2:`1.336`,y1:`59.676`,y2:`1.08`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,N.jsx)(`path`,{fill:`#00D886`,d:`M6 47.55v12.258a4.125 4.125 0 0 0 4.19 4.124l11.044-.176a4.12 4.12 0 0 0 3.066-1.44l32.707-38.158c.64-.747.993-1.7.993-2.684V10.125A4.125 4.125 0 0 0 53.875 6H42.872c-1.19 0-2.321.514-3.105 1.409L7.021 44.833A4.12 4.12 0 0 0 6 47.55`}),t[11]=d):d=t[11];let f=`url(#${n})`,p;t[12]===f?p=t[13]:(p=(0,N.jsx)(`path`,{fill:f,d:`M6 49.015v10.862a4.125 4.125 0 0 0 4.125 4.125h12.566q.3 0 .598-.044l37.185-5.448A4.125 4.125 0 0 0 64 54.429V39.03a4.125 4.125 0 0 0-4.127-4.125l-18.504.005c-.426 0-.849.066-1.254.195L8.871 45.085A4.13 4.13 0 0 0 6 49.015z`}),t[12]=f,t[13]=p);let m=`url(#${r})`,h;t[14]===m?h=t[15]:(h=(0,N.jsx)(`path`,{fill:m,d:`M0 4.125v34.128c0 1.658.993 3.154 2.52 3.8L39.943 57.85c.518.219 1.075.33 1.638.324l18.329-.15A4.125 4.125 0 0 0 64 53.9V36.234c0-.806-.236-1.593-.678-2.267L42.213 1.86A4.13 4.13 0 0 0 38.766 0H4.125A4.125 4.125 0 0 0 0 4.125`}),t[14]=m,t[15]=h);let g,_;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM16.992 16.992h6.442q1.576 0 2.776.579t1.85 1.63.648 2.432c0 .922-.22 1.75-.66 2.46q-.66 1.068-1.875 1.651-1.217.584-2.825.584h-3.43v5.67h-2.926zm7.54 6.63q.553-.274.853-.783.3-.51.3-1.184c0-.45-.1-.852-.3-1.185q-.3-.498-.852-.772-.552-.273-1.292-.273h-3.323v4.47h3.323q.74 0 1.292-.273m-2.63 1.763h3.194L29.03 32h-3.355zM31.613 16.992h6.442q1.575 0 2.776.579t1.85 1.63.648 2.432c0 .922-.22 1.75-.66 2.46q-.659 1.068-1.875 1.651-1.217.584-2.824.584h-3.43v5.67h-2.927zm7.54 6.63q.553-.274.853-.783.3-.51.3-1.184c0-.45-.1-.852-.3-1.185q-.3-.498-.852-.772-.552-.273-1.292-.273h-3.323v4.47h3.323q.74 0 1.292-.273m-2.63 1.763h3.194L43.651 32h-3.355z`}),t[16]=g,t[17]=_):(g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==h||t[20]!==u||t[21]!==p?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,d,p,h,g,_]}),t[18]=e,t[19]=h,t[20]=u,t[21]=p,t[22]=v):v=t[22],v},webstorm:e=>{let t=(0,E.c)(23),[n,r]=H(`webstorm`,2),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,N.jsx)(`stop`,{offset:`.22`,stopColor:`#F0EB18`}),a=(0,N.jsx)(`stop`,{offset:`.59`,stopColor:`#00C4F4`}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;t[2]===n?o=t[3]:(o=(0,N.jsxs)(`linearGradient`,{id:n,x1:`7.671`,x2:`61.126`,y1:`64.392`,y2:`39.609`,gradientUnits:`userSpaceOnUse`,children:[i,a]}),t[2]=n,t[3]=o);let s,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,N.jsx)(`stop`,{offset:`.19`,stopColor:`#00C4F4`}),c=(0,N.jsx)(`stop`,{offset:`.83`,stopColor:`#007DFE`}),t[4]=s,t[5]=c):(s=t[4],c=t[5]);let l;t[6]===r?l=t[7]:(l=(0,N.jsxs)(`linearGradient`,{id:r,x1:`59.932`,x2:`1.337`,y1:`59.676`,y2:`1.079`,gradientUnits:`userSpaceOnUse`,children:[s,c]}),t[6]=r,t[7]=l);let u;t[8]!==o||t[9]!==l?(u=(0,N.jsxs)(`defs`,{children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,N.jsx)(`path`,{fill:`#F0EB18`,d:`M6 47.55v12.258a4.125 4.125 0 0 0 4.19 4.124l11.044-.176a4.12 4.12 0 0 0 3.066-1.44l32.707-38.158c.64-.747.993-1.7.993-2.684V10.125A4.125 4.125 0 0 0 53.875 6H42.872c-1.19 0-2.321.514-3.105 1.409L7.021 44.833A4.12 4.12 0 0 0 6 47.55`}),t[11]=d):d=t[11];let f=`url(#${n})`,p;t[12]===f?p=t[13]:(p=(0,N.jsx)(`path`,{fill:f,d:`M6 49.015v10.862a4.125 4.125 0 0 0 4.125 4.125h12.566q.3 0 .598-.044l37.185-5.448A4.125 4.125 0 0 0 64 54.429V39.03a4.125 4.125 0 0 0-4.127-4.125l-18.504.005c-.426 0-.849.066-1.254.195L8.871 45.085A4.13 4.13 0 0 0 6 49.015z`}),t[12]=f,t[13]=p);let m=`url(#${r})`,h;t[14]===m?h=t[15]:(h=(0,N.jsx)(`path`,{fill:m,d:`M0 4.125v34.128c0 1.658.993 3.154 2.52 3.8L39.943 57.85c.518.219 1.075.33 1.638.324l18.329-.15A4.125 4.125 0 0 0 64 53.9V36.234c0-.806-.236-1.593-.678-2.267L42.213 1.86A4.13 4.13 0 0 0 38.766 0H4.125A4.125 4.125 0 0 0 0 4.125`}),t[14]=m,t[15]=h);let g,_;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,N.jsx)(`path`,{fill:`#000`,d:`M52 12H12v40h40z`}),_=(0,N.jsx)(`path`,{fill:`#fff`,d:`M33 44H17v3h16zM19.051 16.992l2.423 10.955 2.583-10.955h2.958l2.701 10.955 2.348-10.955h2.97l-3.645 15.006h-3.334l-2.53-10.9-2.561 10.9H19.64l-3.623-15.006zM38.662 31.664q-1.26-.59-1.972-1.65t-.735-2.444h2.937q0 .654.343 1.147t.954.772q.61.278 1.404.278c.53 0 .952-.083 1.335-.251q.573-.252.889-.702t.316-1.029q0-.718-.434-1.19-.435-.471-1.195-.654l-2.648-.59q-1.071-.234-1.865-.809a4 4 0 0 1-1.232-1.42q-.44-.846-.44-1.908 0-1.286.665-2.31.664-1.023 1.854-1.597 1.19-.573 2.701-.573c1.008 0 1.934.186 2.734.558q1.2.558 1.87 1.549t.68 2.277h-2.925q0-.546-.29-.98c-.29-.435-.466-.515-.82-.676a2.9 2.9 0 0 0-1.217-.24q-.686 0-1.205.23a1.9 1.9 0 0 0-.81.643q-.29.412-.289.96 0 .621.402 1.028t1.099.579l2.55.557q1.105.226 1.968.852a4.45 4.45 0 0 1 1.345 1.544 4.2 4.2 0 0 1 .482 1.999q0 1.329-.702 2.385-.702 1.054-1.966 1.656-1.266.6-2.894.6-1.63 0-2.889-.59`}),t[16]=g,t[17]=_):(g=t[16],_=t[17]);let v;return t[18]!==e||t[19]!==h||t[20]!==u||t[21]!==p?(v=(0,N.jsxs)(`svg`,{...e,viewBox:`0 0 64 64`,fill:`none`,children:[u,d,p,h,g,_]}),t[18]=e,t[19]=h,t[20]=u,t[21]=p,t[22]=v):v=t[22],v},terminal:d,"file-manager":C};function W(e,n){return e===`terminal`&&s(n)?`Windows Terminal`:e===`file-manager`?o(n)?`Finder`:s(n)?`Explorer`:`Files`:t.find(t=>t.id===e)?.label??e}function G(e,n){let r=new Set(n);return t.filter(e=>r.has(e.id)).map(t=>({label:W(t.id,e),Icon:U[t.id],value:t.id}))}export{w as a,T as i,W as n,C as o,G as r,U as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$i as e,ad as t}from"./runtime-DjjjAcTE.js";import{i as n}from"./presentationTier-DPVAxTK4.js";import{a as r,i,o as a,s as o,t as s}from"./select-Cb9FUPHD.js";import{t as c}from"./settingsLayout-CRFNCk_D.js";var l=n(),u=t();function d(t){let n=(0,l.c)(28),{value:i,onValueChange:d,options:p,ariaLabel:m,placeholder:h,disabled:g,width:_,size:v,className:y}=t,b=h===void 0?`Choose…`:h,x=_===void 0?`md`:_,S;if(n[0]!==p||n[1]!==i){let e;n[3]===i?e=n[4]:(e=e=>e.value===i,n[3]=i,n[4]=e),S=p.find(e),n[0]=p,n[1]=i,n[2]=S}else S=n[2];let C=S,w=C?C.value:null,T;n[5]===d?T=n[6]:(T=e=>{e!==null&&d(e)},n[5]=d,n[6]=T);let E=x===`full`?`w-full`:c[x],D;n[7]!==y||n[8]!==E?(D=e(E,y),n[7]=y,n[8]=E,n[9]=D):D=n[9];let O;n[10]!==b||n[11]!==C?(O=(0,u.jsx)(o,{children:C?(0,u.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[C.icon,(0,u.jsx)(`span`,{className:`truncate`,children:C.triggerLabel??C.label})]}):(0,u.jsx)(`span`,{className:`truncate text-muted-foreground/80`,children:b})}),n[10]=b,n[11]=C,n[12]=O):O=n[12];let k;n[13]!==m||n[14]!==v||n[15]!==D||n[16]!==O?(k=(0,u.jsx)(a,{"aria-label":m,size:v,className:D,children:O}),n[13]=m,n[14]=v,n[15]=D,n[16]=O,n[17]=k):k=n[17];let A;n[18]===p?A=n[19]:(A=p.map(f),n[18]=p,n[19]=A);let j;n[20]===A?j=n[21]:(j=(0,u.jsx)(r,{align:`end`,alignItemWithTrigger:!1,children:A}),n[20]=A,n[21]=j);let M;return n[22]!==g||n[23]!==j||n[24]!==w||n[25]!==T||n[26]!==k?(M=(0,u.jsxs)(s,{value:w,disabled:g,onValueChange:T,children:[k,j]}),n[22]=g,n[23]=j,n[24]=w,n[25]=T,n[26]=k,n[27]=M):M=n[27],M}function f(e){return(0,u.jsx)(i,{value:e.value,disabled:e.disabled,children:(0,u.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[e.icon,(0,u.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.value)}export{d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{$i as t,cn as n,nr as r,rr as i,tr as a,xa as o}from"./runtime-DjjjAcTE.js";import{t as s}from"./react-CwJFpaho.js";var c=e(s(),1),l=`[data-thread-item], [data-thread-selection-safe]`,u=`phone:pointer-coarse:size-8 phone:pointer-coarse:after:absolute phone:pointer-coarse:after:top-1/2 phone:pointer-coarse:after:left-1/2 phone:pointer-coarse:after:size-11 phone:pointer-coarse:after:-translate-x-1/2 phone:pointer-coarse:after:-translate-y-1/2`,d=`phone:pointer-coarse:relative ${u}`;function f(e){if(e.manualBucket!==null)return e.manualBucket;switch(e.statusPill?.label){case`Working`:case`Monitoring`:case`Connecting`:return`in_progress`;case`Plan Ready`:case`Pending Approval`:case`Awaiting Input`:return`review`;case`Completed`:return`done`;default:return`idle`}}function p(e){return e.includes(`in_progress`)?`in_progress`:e.includes(`review`)?`review`:e.length>0&&e.every(e=>e===`done`)?`done`:`idle`}var m=6048e5;function h(e){if(e.buckets.length===0||!e.buckets.every(e=>e===`done`)||!e.latestUpdatedAt)return!1;let t=Date.parse(e.latestUpdatedAt);return!Number.isNaN(t)&&e.nowMs-t>=m}function g(e){return e.latestUserMessageAt!==null}function _(e){return e.latestUserMessageAt!==null}function v(e){return e.confirmThreadDelete&&_(e.thread)}function y(e){for(let t of e.threads)if(t&&v({confirmThreadDelete:e.confirmThreadDelete,thread:t}))return!0;return!1}function b(e){return e.archiveAvailable&&e.confirmThreadArchive}var x={"Pending Approval":6,"Awaiting Input":5,Working:4,Connecting:4,"Plan Ready":3,Limited:3,Monitoring:2,Completed:1};function S(e){let t=e.setTimeoutFn??globalThis.setTimeout,n=e.clearTimeoutFn??globalThis.clearTimeout,r=!1,i=null,a=()=>{i!==null&&(n(i),i=null)};return{sync:n=>{if(!n){a(),r&&(r=!1,e.onVisibilityChange(!1));return}r||i!==null||(i=t(()=>{i=null,r=!0,e.onVisibilityChange(!0)},e.delayMs))},dispose:()=>{a()}}}function C(){let[e,t]=c.useState(!1),n=c.useRef(null);return c.useEffect(()=>{let e=S({delayMs:100,onVisibilityChange:e=>{t(e)},setTimeoutFn:window.setTimeout.bind(window),clearTimeoutFn:window.clearTimeout.bind(window)});return n.current=e,()=>{e.dispose(),n.current=null}},[]),{showThreadJumpHints:e,updateThreadJumpHintsVisibility:c.useCallback(e=>{n.current?.sync(e)},[])}}function w(e){return T(e.latestTurn?.completedAt,e.lastVisitedAt)}function T(e,t){if(!e)return!1;let n=Date.parse(e);if(Number.isNaN(n))return!1;if(!t)return!0;let r=Date.parse(t);return Number.isNaN(r)?!0:n>r}function E(e){return e===null||!e.closest(l)}function D(e){return e>1}function O(e){return e.requestedEnvMode??e.defaultEnvMode}function k(e){return e.defaultEnvMode===`worktree`?{envMode:`worktree`}:e.activeDraftThread?.projectId===e.projectId?{branch:e.activeDraftThread.branch,worktreePath:e.activeDraftThread.worktreePath,envMode:e.activeDraftThread.envMode}:e.activeThread?.projectId===e.projectId?{branch:e.activeThread.branch,worktreePath:e.activeThread.worktreePath,envMode:e.activeThread.worktreePath?`worktree`:`local`}:{envMode:e.defaultEnvMode}}function A(e){let{getId:t,items:n,preferredIds:r}=e;if(r.length===0)return[...n];let i=new Map(n.map(e=>[t(e),e])),a=new Set(r),o=new Set,s=r.flatMap(e=>{if(o.has(e))return[];let t=i.get(e);return t?(o.add(e),[t]):[]}),c=n.filter(e=>!a.has(t(e)));return[...s,...c]}function j(e,t=3){return e.slice(0,Math.max(0,t))}function M(e){return e.sidebarMode===`projects`&&(e.isMobile?e.openMobile:e.open)}function N(e){return e.isActive||e.isIntersecting}function P(e){let t=r(e.threads,e.sortOrder);return e.pinnedThreadKeys.size===0?t:t.toSorted((t,n)=>{let r=e.pinnedThreadKeys.has(e.getThreadKey(t));return r===e.pinnedThreadKeys.has(e.getThreadKey(n))?0:r?-1:1})}function F(e){return e<=80}function I(e){return e.projectCount<=80&&e.visibleThreadCount<=120}function L(e){return e.explorerOpen||e.projectVisible}function R(e){let{currentThreadId:t,direction:n,threadIds:r}=e;if(r.length===0)return null;if(t===null)return n===`previous`?r.at(-1)??null:r[0]??null;let i=r.indexOf(t);return i===-1?null:n===`previous`?i>0?r[i-1]??null:null:i<r.length-1?r[i+1]??null:null}function z(e){return e.button===2||e.isMac&&e.button===0&&e.ctrlKey}function B(e){let n=`h-7 w-full translate-x-0 cursor-pointer justify-start px-2 text-left select-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring`;return e.isSelected&&e.isActive?t(n,`bg-primary/22 text-foreground font-medium hover:bg-primary/26 hover:text-foreground dark:bg-primary/30 dark:hover:bg-primary/36`):e.isSelected?t(n,`bg-primary/15 text-foreground hover:bg-primary/19 hover:text-foreground dark:bg-primary/22 dark:hover:bg-primary/28`):e.isActive?t(n,`bg-accent/85 text-foreground font-medium hover:bg-accent hover:text-foreground dark:bg-accent/55 dark:hover:bg-accent/70`):t(n,`text-muted-foreground hover:bg-accent hover:text-foreground`)}function V(e){let{thread:t}=e,r=n(t);return r===`approval`?{label:`Pending Approval`,colorClass:`text-amber-600 dark:text-amber-300/90`,dotClass:`bg-amber-500 dark:bg-amber-300/90`,pulse:!1}:r===`input`?{label:`Awaiting Input`,colorClass:`text-indigo-600 dark:text-indigo-300/90`,dotClass:`bg-indigo-500 dark:bg-indigo-300/90`,pulse:!1}:r===`working`?{label:`Working`,colorClass:`text-sky-600 dark:text-sky-300/80`,dotClass:`bg-sky-500 dark:bg-sky-300/80`,pulse:!0}:r===`connecting`?{label:`Connecting`,colorClass:`text-sky-600 dark:text-sky-300/80`,dotClass:`bg-sky-500 dark:bg-sky-300/80`,pulse:!0}:o(t)===null?r===`plan-ready`?{label:`Plan Ready`,colorClass:`text-violet-600 dark:text-violet-300/90`,dotClass:`bg-violet-500 dark:bg-violet-300/90`,pulse:!1}:r===`monitoring`?{label:`Monitoring`,colorClass:`text-sky-600 dark:text-sky-300/80`,dotClass:`bg-sky-500 dark:bg-sky-300/80`,pulse:!0}:w(t)?{label:`Completed`,colorClass:`text-emerald-600 dark:text-emerald-300/90`,dotClass:`bg-emerald-500 dark:bg-emerald-300/90`,pulse:!1}:null:{label:`Limited`,colorClass:`text-amber-600 dark:text-amber-300/90`,dotClass:`bg-amber-500 dark:bg-amber-300/90`,pulse:!1}}function H(e){let t=null;for(let n of e)n!==null&&(t===null||x[n.label]>x[t.label])&&(t=n);return t}function U(e){let{deletedThreadId:t,deletedThreadIds:n,sortOrder:i,threads:a}=e,o=a.find(e=>e.id===t);if(!o)return null;let s=a.filter(e=>e.id!==t&&!n?.has(e.id));return r(s.filter(e=>e.projectId===o.projectId),i)[0]?.id??r(s,i)[0]?.id??null}function W(e,t,n){return t.length>0?t.reduce((e,t)=>Math.max(e,a(t,n)),-1/0):n===`created_at`?i(e.createdAt)??-1/0:i(e.updatedAt??e.createdAt)??-1/0}function G(e,t,n){if(n===`manual`)return[...e];let r=new Map;for(let e of t){let t=r.get(e.projectId)??[];t.push(e),r.set(e.projectId,t)}return[...e].toSorted((e,t)=>{let i=W(t,r.get(t.id)??[],n),a=W(e,r.get(e.id)??[],n),o=i===a?0:i>a?1:-1;return o===0?e.name.localeCompare(t.name)||e.id.localeCompare(t.id):o})}export{C as A,y as C,h as D,L as E,G as O,v as S,M as T,V as _,f as a,E as b,T as c,A as d,R as f,B as g,k as h,g as i,P as k,z as l,O as m,d as n,U as o,H as p,p as r,j as s,u as t,D as u,F as v,N as w,b as x,I as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{cn as t,nn as n,on as r}from"./primary-Cf-xJExj.js";import{D as i,E as a,T as o}from"./wsTransport-C88seBPA.js";import{$i as s,Gi as c,Zi as l,Zr as u,ad as d,gs as f,p,ws as m}from"./runtime-DjjjAcTE.js";import{t as h}from"./react-CwJFpaho.js";import{l as g}from"./hostedConnectionCoordinator-BkAE-RhA.js";import{i as _}from"./presentationTier-DPVAxTK4.js";import{a as v,r as y,t as b}from"./tooltip-DbqhseXd.js";import"./ChatRightPanel-BCINd0vP.js";import{t as x}from"./arrow-left-Blu3LSE2.js";import{c as S}from"./ModelTuningDial-DQBAbuNL.js";import{t as C}from"./camera-C13VoW3c.js";import{t as w}from"./circle-stop-D8B4hRpY.js";import{t as T}from"./panels-top-left-B7jZiLth.js";import{t as E}from"./refresh-cw-CRUTivd6.js";import{t as D}from"./smartphone-OEAQOTdv.js";import{r as O}from"./capabilities-CfOhq009.js";import{t as k}from"./unplug-D6iu-qlh.js";var A={name:`disc-3`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M6 12c0-1.7.7-3.2 1.8-4.2`,key:`oqkarx`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`M18 12c0 1.7-.7 3.2-1.8 4.2`,key:`1eah9h`}]]};A.node;var j=m(A),M={name:`house`,size:24,node:[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]],aliases:[`home`]};M.node;var N=m(M),P={name:`monitor-off`,size:24,node:[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`M17 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 1.184-1.826`,key:`cv7jms`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`path`,{d:`M8.656 3H20a2 2 0 0 1 2 2v10a2 2 0 0 1-.293 1.042`,key:`z8ni2w`}]]};P.node;var F=m(P),I={name:`power`,size:24,node:[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]};I.node;var ee=m(I),L={name:`volume-1`,size:24,node:[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}]]};L.node;var te=m(L),R={name:`volume-2`,size:24,node:[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]};R.node;var ne=m(R),z=e(h(),1),B=_();function V(){return{phase:`awaiting-config`,lastSequence:null}}var re=2**32,H=1024;function U(e,t,n){if(t.deviceId!==n)return{state:e,action:{kind:`ignore`},requestKeyframe:!1};if(t.codecConfig)return{state:{phase:`awaiting-keyframe`,lastSequence:t.sequence},action:{kind:`configure`},requestKeyframe:!1};if(e.phase===`awaiting-config`)return{state:e,action:{kind:`drop`},requestKeyframe:!1};if(e.lastSequence!==null){let n=(t.sequence-e.lastSequence+re)%re;if(n===0||n>H)return{state:e,action:{kind:`drop`},requestKeyframe:!1};if(n>1&&!t.keyframe&&e.phase===`streaming`)return{state:{phase:`awaiting-keyframe`,lastSequence:t.sequence},action:{kind:`drop`},requestKeyframe:!0}}return e.phase===`awaiting-keyframe`&&!t.keyframe?{state:{...e,lastSequence:t.sequence},action:{kind:`drop`},requestKeyframe:!1}:{state:{phase:`streaming`,lastSequence:t.sequence},action:{kind:`decode`,keyframe:t.keyframe},requestKeyframe:!1}}function ie(e,t,n){let r=Math.min(e.displayWidth/e.frameWidth,e.displayHeight/e.frameHeight);if(!Number.isFinite(r)||r<=0)return null;let i=e.frameWidth*r,a=e.frameHeight*r,o=t-(e.displayWidth-i)/2,s=n-(e.displayHeight-a)/2;return o<0||s<0||o>i||s>a?null:{x:Math.round(o/i*e.pointWidth),y:Math.round(s/a*e.pointHeight)}}function ae(e){let t={Enter:40,Escape:41,Backspace:42,Tab:43," ":44,ArrowRight:79,ArrowLeft:80,ArrowDown:81,ArrowUp:82},n=e.toLowerCase();return n>=`a`&&n<=`z`&&n.length===1?4+n.charCodeAt(0)-97:n===`0`?39:n>=`1`&&n<=`9`&&n.length===1?30+n.charCodeAt(0)-49:t[e]??null}function oe(e){for(let t=0;t+7<e.byteLength;t+=1){let n=e[t]===0&&e[t+1]===0&&e[t+2]===0&&e[t+3]===1,r=e[t]===0&&e[t+1]===0&&e[t+2]===1;if(!n&&!r)continue;let i=t+(n?4:3);if(((e[i]??0)&31)==7)return`avc1.${[e[i+1],e[i+2],e[i+3]].map(e=>(e??0).toString(16).padStart(2,`0`)).join(``)}`}return null}function se(e){let{canvasRef:t,udid:n,openFrameSource:r}=e,[i,a]=(0,z.useState)(`idle`),[o,s]=(0,z.useState)(null),[c,l]=(0,z.useState)(null),u=(0,z.useRef)(0);return(0,z.useEffect)(()=>{if(!n||!r){a(`idle`),s(null);return}if(typeof globalThis.VideoDecoder!=`function`||typeof globalThis.EncodedVideoChunk!=`function`){a(`unsupported`);return}let e=++u.current,i=V(),o=null,c=null,d=null,f=()=>e===u.current;a(`connecting`),s(null);let p=()=>{d=null;try{o?.state!==`closed`&&o?.close()}catch{}o=null},m=e=>{f()&&(p(),i=V(),s(e),a(`error`))},h=e=>{let n=oe(e.payload);if(!n){m(`The simulator sent video parameters Ryco could not read.`),c?.requestResync();return}p();let r=new VideoDecoder({output:e=>{try{if(!f())return;let n=t.current;if(!n)return;(n.width!==e.displayWidth||n.height!==e.displayHeight)&&(n.width=e.displayWidth,n.height=e.displayHeight,l({width:e.displayWidth,height:e.displayHeight})),n.getContext(`2d`)?.drawImage(e,0,0),a(`streaming`),s(null)}finally{e.close()}},error:e=>{m(e.message||`The simulator video decoder failed.`),c?.requestResync()}});try{r.configure({codec:n,optimizeForLatency:!0}),o=r,d=e.payload.slice()}catch(e){m(e instanceof Error?e.message:`Video decoder setup failed.`)}},g=(e,t)=>{if(!o||o.state!==`configured`)return;let n=e.payload;if(t&&d){let e=new Uint8Array(d.byteLength+n.byteLength);e.set(d),e.set(n,d.byteLength),n=e,d=null}try{o.decode(new EncodedVideoChunk({type:t?`key`:`delta`,timestamp:Math.round(e.header.timestampMs*1e3),data:n}))}catch(e){m(e instanceof Error?e.message:`A simulator frame could not be decoded.`),c?.requestResync()}};return c=r(n,{onFrame:e=>{if(!f())return;let t=U(i,e.header,n);i=t.state,t.requestKeyframe&&c?.requestResync(),t.action.kind===`configure`&&h(e),t.action.kind===`decode`&&g(e,t.action.keyframe)},onReset:e=>{f()&&(p(),i=V(),e===`decode-failed`&&s(`The simulator sent a malformed frame.`),a(`recovering`))}}),()=>{u.current+=1,c?.close(),p()}},[t,r,n]),{status:i,error:o,dimensions:c}}var W=750,ce=524288,G=15e3;function K(e){let t=Math.ceil(Math.max(0,e)/ce*1e3);return Math.min(G,Math.max(W,t))}function q(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return n}function le(e){let t=q(e);return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function ue(e){let{canvasRef:t,enabled:n,screenshot:r,udid:i}=e,[a,o]=(0,z.useState)(`idle`),[s,c]=(0,z.useState)(null),[l,u]=(0,z.useState)(null);return(0,z.useEffect)(()=>{if(!n||!i||!r){o(`idle`),c(null);return}let e=!0,a=null,s=document.visibilityState!==`hidden`,l=!0,d=!1;o(`connecting`);let f=()=>{a!==null&&(clearTimeout(a),a=null)},p=()=>e&&s&&l,m=e=>{f(),p()&&!d&&(a=setTimeout(()=>{a=null,h()},e))},h=async()=>{if(!p()||d)return;d=!0;let n=W;try{let e=await r({udid:i});if(n=K(e.bytesBase64.length),!p())return;let a=await createImageBitmap(new Blob([le(e.bytesBase64)],{type:e.mimeType}));try{if(!p())return;let e=t.current;if(!e)return;(e.width!==a.width||e.height!==a.height)&&(e.width=a.width,e.height=a.height,u({width:a.width,height:a.height})),e.getContext(`2d`)?.drawImage(a,0,0),o(`streaming`),c(null)}finally{a.close()}}catch(t){if(!e)return;o(`recovering`),c(t instanceof Error?t.message:`The hosted simulator preview disconnected.`)}finally{d=!1,p()&&m(n)}},g=()=>{s=document.visibilityState!==`hidden`,s?m(0):f()};document.addEventListener(`visibilitychange`,g);let _=t.current,v=_&&typeof IntersectionObserver==`function`?new IntersectionObserver(e=>{l=e.some(e=>e.isIntersecting),l?m(0):f()}):null;return v?.observe(_),m(0),()=>{e=!1,f(),v?.disconnect(),document.removeEventListener(`visibilitychange`,g)}},[t,n,r,i]),{status:a,error:s,dimensions:l}}var J=d(),Y=`w-full rounded-md border border-border bg-background px-2 py-1.5 text-xs`;function de(e){let[t,n]=(0,z.useState)(!1),r=(0,z.useRef)(!1),[o,s]=(0,z.useState)(null),[c,u]=(0,z.useState)(`dark`),[d,f]=(0,z.useState)(`accessibility-large`),[p,m]=(0,z.useState)(``),[h,g]=(0,z.useState)(``),[_,v]=(0,z.useState)(``),[y,b]=(0,z.useState)(`location`),[x,S]=(0,z.useState)(`{"aps":{"alert":"Hello from Ryco","sound":"default"}}`),C=e.disabled||t,w=/^[A-Za-z0-9][A-Za-z0-9.-]*$/.test(_)&&_.length<=256,T=Number(p),E=Number(h),D=p.trim()!==``&&h.trim()!==``&&Number.isFinite(T)&&Number.isFinite(E)&&Math.abs(T)<=90&&Math.abs(E)<=180;async function O(t,i){if(!(e.disabled||r.current)){r.current=!0,n(!0),s(null);try{await e.testing({udid:e.udid,action:t}),s({error:!1,text:i})}catch(e){s({error:!0,text:e instanceof Error?e.message:`The simulator testing action failed.`})}finally{r.current=!1,n(!1)}}}return(0,J.jsxs)(`details`,{className:`max-h-[55%] shrink-0 overflow-y-auto border-b border-border/60 bg-card/40`,children:[(0,J.jsx)(`summary`,{className:`cursor-pointer px-3 py-2 text-xs font-medium`,children:`Simulator testing`}),(0,J.jsxs)(`div`,{className:`space-y-4 px-3 pb-3 text-xs`,children:[(0,J.jsx)(`p`,{className:`text-muted-foreground`,children:`Apply test settings to this simulator. Values below are choices to apply, not a reading of its current settings.`}),e.disabled?(0,J.jsx)(`p`,{className:`text-muted-foreground`,children:`Connect a booted simulator to enable testing.`}):null,(0,J.jsxs)(`fieldset`,{disabled:C,className:`space-y-2`,children:[(0,J.jsx)(`legend`,{className:`mb-2 font-medium`,children:`Reusable presets`}),(0,J.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:[[`dark`,`Dark mode`],[`large-text`,`Large text`],[`dark-large-text`,`Dark + large text`],[`standard`,`Light + default text`]].map(([e,t])=>(0,J.jsx)(l,{size:`xs`,variant:`outline`,onClick:()=>void O({type:`preset`,value:e},`${t} applied.`),children:t},e))}),(0,J.jsx)(`p`,{className:`text-muted-foreground`,children:`Large text uses Accessibility Large. Presets change only appearance and/or text size.`})]}),(0,J.jsxs)(`fieldset`,{disabled:C,className:`space-y-2`,children:[(0,J.jsx)(`legend`,{className:`mb-2 font-medium`,children:`Appearance and text size`}),(0,J.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,J.jsxs)(`label`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,J.jsx)(`span`,{children:`Appearance`}),(0,J.jsxs)(`select`,{className:Y,value:c,onChange:e=>u(e.target.value),children:[(0,J.jsx)(`option`,{value:`light`,children:`Light`}),(0,J.jsx)(`option`,{value:`dark`,children:`Dark`})]})]}),(0,J.jsx)(l,{size:`xs`,variant:`outline`,onClick:()=>void O({type:`appearance`,value:c},`Appearance applied.`),children:`Apply appearance`})]}),(0,J.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,J.jsxs)(`label`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,J.jsx)(`span`,{children:`Text size`}),(0,J.jsx)(`select`,{className:Y,value:d,onChange:e=>f(e.target.value),children:i.literals.map(e=>(0,J.jsx)(`option`,{value:e,children:e===`large`?`large (default)`:e},e))})]}),(0,J.jsx)(l,{size:`xs`,variant:`outline`,onClick:()=>void O({type:`text-size`,value:d},`Text size applied.`),children:`Apply text size`})]})]}),(0,J.jsxs)(`fieldset`,{disabled:C,className:`space-y-2`,children:[(0,J.jsx)(`legend`,{className:`mb-2 font-medium`,children:`Location`}),(0,J.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,J.jsxs)(`label`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{children:`Latitude`}),(0,J.jsx)(`input`,{className:Y,type:`number`,min:-90,max:90,step:`any`,placeholder:`37.3349`,value:p,onChange:e=>m(e.target.value)})]}),(0,J.jsxs)(`label`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{children:`Longitude`}),(0,J.jsx)(`input`,{className:Y,type:`number`,min:-180,max:180,step:`any`,placeholder:`-122.0090`,value:h,onChange:e=>g(e.target.value)})]})]}),(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.jsx)(l,{size:`xs`,variant:`outline`,disabled:!D,onClick:()=>void O({type:`location`,latitude:T,longitude:E},`Simulated location applied.`),children:`Set location`}),(0,J.jsx)(l,{size:`xs`,variant:`outline`,onClick:()=>void O({type:`clear-location`},`Simulated location cleared.`),children:`Clear location`})]})]}),(0,J.jsxs)(`fieldset`,{disabled:C,className:`space-y-2`,children:[(0,J.jsx)(`legend`,{className:`mb-2 font-medium`,children:`App permissions and push`}),(0,J.jsxs)(`label`,{className:`block space-y-1`,children:[(0,J.jsx)(`span`,{children:`App bundle ID`}),(0,J.jsx)(`input`,{className:Y,maxLength:256,placeholder:`com.example.app`,value:_,onChange:e=>v(e.target.value),autoCapitalize:`none`,spellCheck:!1})]}),(0,J.jsxs)(`label`,{className:`block space-y-1`,children:[(0,J.jsx)(`span`,{children:`Permission`}),(0,J.jsx)(`select`,{className:Y,value:y,onChange:e=>b(e.target.value),children:a.literals.map(e=>(0,J.jsx)(`option`,{value:e,children:e},e))})]}),(0,J.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:[`grant`,`revoke`,`reset`].map(e=>(0,J.jsx)(l,{size:`xs`,variant:`outline`,disabled:!w,onClick:()=>void O({type:`permission`,bundleId:_,service:y,decision:e},`Permission ${e} completed.`),children:e===`grant`?`Grant`:e===`revoke`?`Revoke`:`Reset to prompt`},e))}),(0,J.jsx)(`p`,{className:`text-muted-foreground`,children:`Permission changes may stop the app. Camera and notification permission changes are not supported here; allow notifications in the app before testing an alert.`}),(0,J.jsxs)(`label`,{className:`block space-y-1`,children:[(0,J.jsx)(`span`,{children:`Push payload (JSON)`}),(0,J.jsx)(`textarea`,{className:`${Y} min-h-24 font-mono`,maxLength:4096,value:x,onChange:e=>S(e.target.value),spellCheck:!1})]}),(0,J.jsx)(`p`,{className:`text-muted-foreground`,children:`Maximum 4,096 UTF-8 bytes, including an aps object. Simulates an app notification locally; it does not test APNs delivery.`}),(0,J.jsx)(l,{size:`xs`,variant:`outline`,disabled:!w||!x.trim(),onClick:()=>void O({type:`push`,bundleId:_,payload:x},`Push delivered to the simulator.`),children:`Send push`})]}),t?(0,J.jsx)(`p`,{role:`status`,children:`Applying simulator test…`}):null,o?(0,J.jsx)(`p`,{role:o.error?`alert`:`status`,className:o.error?`text-destructive`:`text-muted-foreground`,children:o.text}):null]})]})}var fe={iPhone:{pixelW:1206,pixelH:2622,screenRadius:186,frame:34,silver:8,grey:12,nubProtrude:27,nubs:[{side:`left`,at:507,len:102,name:`action`},{side:`left`,at:690,len:192,name:`volumeUp`},{side:`left`,at:927,len:192,name:`volumeDown`},{side:`right`,at:813,len:303,name:`power`}]},androidPhone:{pixelW:1080,pixelH:2400,screenRadius:100,frame:22,silver:6,grey:8,nubProtrude:18,nubs:[{side:`right`,at:480,len:130,name:`power`},{side:`right`,at:670,len:240,name:`volumeRocker`}]},iPad:{pixelW:1668,pixelH:2420,screenRadius:58,frame:64,silver:12,grey:16,nubProtrude:20,nubs:[{side:`right`,at:202,len:104,name:`volumeUp`},{side:`right`,at:328,len:104,name:`volumeDown`},{side:`top`,at:-148,len:126,name:`power`}]}},pe={filter:`drop-shadow(0 2px 6px rgb(0 0 0 / 0.2)) drop-shadow(0 12px 32px rgb(0 0 0 / 0.25))`},me={iPhone:3,androidPhone:1,iPad:2};function he(e){return e.platform.startsWith(`android`)?`androidPhone`:e.family?e.family===`tablet`?`iPad`:`iPhone`:e.name.toLowerCase().includes(`ipad`)?`iPad`:`iPhone`}function ge(e,t,n){let r=fe[e],i=t??r.pixelW,a=n??r.pixelH,o=Math.max(1,r.pixelW/i,r.pixelH/a),s=i*o,c=a*o,l=r.frame+r.silver+r.grey,u=l+r.nubProtrude;return{spec:r,edge:l,margin:u,screenW:s,screenH:c,W:s+2*u,H:c+2*u}}function _e(e=`iPhone`,t,n){let{spec:r,margin:i,screenW:a,screenH:o,W:s,H:c}=ge(e,t,n);return{aspect:s/c,insetXPct:100*i/s,insetYPct:100*i/c,screenBorderRadius:`${100*r.screenRadius/a}% / ${100*r.screenRadius/o}%`}}function ve(e,t,n,r,i){let a=Math.min(i,Math.min(n,r)/3.06),o=1.528665*a,s=1.088311*a,c=.868407*a,l=.631494*a,u=.372375*a,d=.16906*a,f=.066987*a,p=e+n,m=t+r,h=e=>+e.toFixed(3),g=(e,t,n,r,i,a)=>`C${h(e)} ${h(t)} ${h(n)} ${h(r)} ${h(i)} ${h(a)}`;return[`M${h(e+o)} ${h(t)}`,`L${h(p-o)} ${h(t)}`,g(p-s,t,p-c,t,p-l,t+f),g(p-u,t+d,p-d,t+u,p-f,t+l),g(p,t+c,p,t+s,p,t+o),`L${h(p)} ${h(m-o)}`,g(p,m-s,p,m-c,p-f,m-l),g(p-d,m-u,p-u,m-d,p-l,m-f),g(p-c,m,p-s,m,p-o,m),`L${h(e+o)} ${h(m)}`,g(e+s,m,e+c,m,e+l,m-f),g(e+u,m-d,e+d,m-u,e+f,m-l),g(e,m-c,e,m-s,e,m-o),`L${h(e)} ${h(t+o)}`,g(e,t+s,e,t+c,e+f,t+l),g(e+d,t+u,e+u,t+d,e+l,t+f),g(e+c,t,e+s,t,e+o,t),`Z`].join(``)}function X(e,t,n){let{spec:r,edge:i,W:a,H:o}=ge(e,t,n),s=e=>ve(r.nubProtrude+e,r.nubProtrude+e,a-2*(r.nubProtrude+e),o-2*(r.nubProtrude+e),r.screenRadius+(i-e)),c=r.nubProtrude,l=(e,t,n)=>{let r=t+6,i=t+n-6;switch(e){case`left`:return{fill:`M0 ${t}h${c}v${n}H0z`,edge:`M${c} ${t}H6Q0 ${t} 0 ${r}V${i}Q0 ${t+n} 6 ${t+n}H${c}`};case`right`:return{fill:`M${a-c} ${t}H${a}v${n}H${a-c}z`,edge:`M${a-c} ${t}H${a-6}Q${a} ${t} ${a} ${r}V${i}Q${a} ${t+n} ${a-6} ${t+n}H${a-c}`};case`top`:{let e=t>=0?t:a+t-n;return{fill:`M${e} 0v${c}h${n}V0z`,edge:`M${e} ${c}V6Q${e} 0 ${e+6} 0H${e+n-6}Q${e+n} 0 ${e+n} 6V${c}`}}}},u=r.nubs.map(({side:e,at:t,len:n})=>l(e,t,n));return{W:a,H:o,outer:s(0),grey:s(r.silver),black:s(r.silver+r.grey),cutout:s(i),nubFill:u.map(e=>e.fill).join(``),nubEdge:u.map(e=>e.edge).join(``)}}var ye=(0,z.memo)(function(e){let t=(0,B.c)(37),{kind:n,pixelWidth:r,pixelHeight:i,className:a,style:o}=e,s=n===void 0?`iPhone`:n,c=(0,z.useId)(),l;t[0]!==s||t[1]!==i||t[2]!==r?(l=X(s,r,i),t[0]=s,t[1]=i,t[2]=r,t[3]=l):l=t[3];let{W:u,H:d,outer:f,grey:p,black:m,cutout:h,nubFill:g,nubEdge:_}=l,v=`0 0 ${u} ${d}`,y,b,x,S;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsx)(`stop`,{offset:`0%`,stopColor:`#e8e8ec`}),b=(0,J.jsx)(`stop`,{offset:`45%`,stopColor:`#bcbcc0`}),x=(0,J.jsx)(`stop`,{offset:`55%`,stopColor:`#b4b4b8`}),S=(0,J.jsx)(`stop`,{offset:`100%`,stopColor:`#e2e2e6`}),t[4]=y,t[5]=b,t[6]=x,t[7]=S):(y=t[4],b=t[5],x=t[6],S=t[7]);let C;t[8]===c?C=t[9]:(C=(0,J.jsx)(`defs`,{children:(0,J.jsxs)(`linearGradient`,{id:c,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[y,b,x,S]})}),t[8]=c,t[9]=C);let w=`${f} ${h}`,T=`url(#${c})`,E;t[10]!==T||t[11]!==w?(E=(0,J.jsx)(`path`,{d:w,fill:T,fillRule:`evenodd`}),t[10]=T,t[11]=w,t[12]=E):E=t[12];let D=`${p} ${h}`,O;t[13]===D?O=t[14]:(O=(0,J.jsx)(`path`,{d:D,fill:`#4a4a4e`,fillRule:`evenodd`}),t[13]=D,t[14]=O);let k=`${m} ${h}`,A;t[15]===k?A=t[16]:(A=(0,J.jsx)(`path`,{d:k,fill:`#000`,fillRule:`evenodd`}),t[15]=k,t[16]=A);let j;t[17]===h?j=t[18]:(j=(0,J.jsx)(`path`,{d:h,fill:`none`,stroke:`#2a2a2c`,strokeWidth:3}),t[17]=h,t[18]=j);let M;t[19]===f?M=t[20]:(M=(0,J.jsx)(`path`,{d:f,fill:`none`,stroke:`#000`,strokeWidth:1.5,vectorEffect:`non-scaling-stroke`}),t[19]=f,t[20]=M);let N;t[21]===g?N=t[22]:(N=(0,J.jsx)(`path`,{d:g,fill:`#4a4a4e`}),t[21]=g,t[22]=N);let P;t[23]===_?P=t[24]:(P=(0,J.jsx)(`path`,{d:_,fill:`none`,stroke:`#000`,strokeWidth:1.5,strokeLinecap:`round`,vectorEffect:`non-scaling-stroke`}),t[23]=_,t[24]=P);let F;return t[25]!==a||t[26]!==o||t[27]!==E||t[28]!==O||t[29]!==A||t[30]!==j||t[31]!==M||t[32]!==N||t[33]!==P||t[34]!==v||t[35]!==C?(F=(0,J.jsxs)(`svg`,{viewBox:v,className:a,style:o,"aria-hidden":!0,focusable:!1,children:[C,E,O,A,j,M,N,P]}),t[25]=a,t[26]=o,t[27]=E,t[28]=O,t[29]=A,t[30]=j,t[31]=M,t[32]=N,t[33]=P,t[34]=v,t[35]=C,t[36]=F):F=t[36],F}),be=(0,z.memo)(function(e){let t=(0,B.c)(11),{kind:n,pixelWidth:r,pixelHeight:i,className:a,style:o}=e,s=n===void 0?`iPhone`:n,c;t[0]!==s||t[1]!==i||t[2]!==r?(c=X(s,r,i),t[0]=s,t[1]=i,t[2]=r,t[3]=c):c=t[3];let{W:l,H:u,outer:d,nubFill:f}=c,p=`0 0 ${l} ${u}`,m=`${d} ${f}`,h;t[4]===m?h=t[5]:(h=(0,J.jsx)(`path`,{d:m,fill:`#000`}),t[4]=m,t[5]=h);let g;return t[6]!==a||t[7]!==o||t[8]!==p||t[9]!==h?(g=(0,J.jsx)(`svg`,{viewBox:p,className:a,style:o,"aria-hidden":!0,focusable:!1,children:h}),t[6]=a,t[7]=o,t[8]=p,t[9]=h,t[10]=g):g=t[10],g}),xe={volumeUp:{label:`Volume up`,button:`volume-up`},volumeDown:{label:`Volume down`,button:`volume-down`},power:{label:`Lock`,button:`lock`}},Se={left:`active:translate-x-[1.5px]`,right:`active:-translate-x-[1.5px]`,top:`active:translate-y-[1.5px]`};function Ce(e,t,n){let{spec:r,margin:i,W:a,H:o}=ge(e,t,n);return r.nubs.map(({side:e,at:t,len:n,name:r})=>{let s={x:100*i/a,y:100*i/o};return{name:r,side:e,style:e===`top`?{top:0,height:`${s.y}%`,left:`${100*(t>=0?t:a+t-n)/a}%`,width:`${100*n/a}%`}:{[e]:0,width:`${s.x}%`,top:`${100*t/o}%`,height:`${100*n/o}%`}}})}var we=(0,z.memo)(function(e){let t=(0,B.c)(50),{children:n,kind:r,pixelWidth:i,pixelHeight:a,className:o,buttonsDisabled:c,landscape:l,onPressButton:u}=e,d=r===void 0?`iPhone`:r,f=l!==void 0&&l,p;t[0]!==d||t[1]!==a||t[2]!==i?(p=_e(d,i,a),t[0]=d,t[1]=a,t[2]=i,t[3]=p):p=t[3];let m=p,h;t[4]!==d||t[5]!==a||t[6]!==i?(h=Ce(d,i,a),t[4]=d,t[5]=a,t[6]=i,t[7]=h):h=t[7];let g=h,_=`${m.insetXPct}%`,x=`${m.insetYPct}%`,S=`${100-2*m.insetXPct}%`,C=`${100-2*m.insetYPct}%`,w;t[8]!==m.screenBorderRadius||t[9]!==_||t[10]!==x||t[11]!==S||t[12]!==C?(w={left:_,top:x,width:S,height:C,borderRadius:m.screenBorderRadius},t[8]=m.screenBorderRadius,t[9]=_,t[10]=x,t[11]=S,t[12]=C,t[13]=w):w=t[13];let T=w,E;t[14]===o?E=t[15]:(E=s(`flex h-full min-h-0 items-center justify-center p-6 [container-type:size]`,o),t[14]=o,t[15]=E);let D=f?`min(100cqw, calc(100cqh / ${m.aspect}))`:`min(100cqh, calc(100cqw / ${m.aspect}))`,O;t[16]===f?O=t[17]:(O=f?{transform:`rotate(90deg)`}:{},t[16]=f,t[17]=O);let k;t[18]!==m.aspect||t[19]!==D||t[20]!==O?(k={height:D,aspectRatio:m.aspect,...O},t[18]=m.aspect,t[19]=D,t[20]=O,t[21]=k):k=t[21];let A;t[22]!==d||t[23]!==a||t[24]!==i?(A=(0,J.jsx)(be,{kind:d,pixelWidth:i,pixelHeight:a,className:`pointer-events-none absolute inset-0 h-full w-full select-none`,style:pe}),t[22]=d,t[23]=a,t[24]=i,t[25]=A):A=t[25];let j;t[26]!==n||t[27]!==T?(j=(0,J.jsx)(`div`,{className:`absolute overflow-hidden bg-black`,style:T,children:n}),t[26]=n,t[27]=T,t[28]=j):j=t[28];let M;t[29]!==d||t[30]!==a||t[31]!==i?(M=(0,J.jsx)(ye,{kind:d,pixelWidth:i,pixelHeight:a,className:`pointer-events-none absolute inset-0 h-full w-full select-none`}),t[29]=d,t[30]=a,t[31]=i,t[32]=M):M=t[32];let N;if(t[33]!==c||t[34]!==g||t[35]!==u){let e;t[37]!==c||t[38]!==u?(e=e=>{let{name:t,side:n,style:r}=e,i=xe[t];if(!i)return null;let a=i.button,o=a!==void 0&&u!==void 0;return!o&&!i.hint?null:(0,J.jsxs)(b,{children:[(0,J.jsx)(v,{render:o?(0,J.jsx)(`button`,{type:`button`,"aria-label":i.label,disabled:c,onClick:()=>u?.(a),className:s(`absolute cursor-pointer rounded-full outline-none`,`transition-transform duration-220 motion-reduce:transition-none`,Se[n],`focus-visible:ring-2 focus-visible:ring-ring/80`,`disabled:pointer-events-none`),style:r}):(0,J.jsx)(`span`,{"aria-label":i.label,className:`absolute cursor-default rounded-full`,style:r})}),(0,J.jsx)(y,{side:n===`top`?`top`:n,children:i.hint?`${i.label} — ${i.hint}`:i.label})]},t)},t[37]=c,t[38]=u,t[39]=e):e=t[39],N=g.map(e),t[33]=c,t[34]=g,t[35]=u,t[36]=N}else N=t[36];let P;t[40]!==k||t[41]!==A||t[42]!==j||t[43]!==M||t[44]!==N?(P=(0,J.jsxs)(`div`,{className:`relative`,style:k,children:[A,j,M,N]}),t[40]=k,t[41]=A,t[42]=j,t[43]=M,t[44]=N,t[45]=P):P=t[45];let F;return t[46]!==d||t[47]!==E||t[48]!==P?(F=(0,J.jsx)(`div`,{"data-device-kind":d,className:E,children:P}),t[46]=d,t[47]=E,t[48]=P,t[49]=F):F=t[49],F}),Te=5e3;function Ee(e,t){return e instanceof Error&&e.message.trim()?e.message:t}function De(e){return e===`booted`?`Booted`:e===`booting`?`Booting`:e===`shutting-down`?`Shutting down`:`Shut down`}function Oe(e,t){return t===`waiting-for-display`?`Waiting for the display…`:t===`connecting`?`Connecting the live screen…`:t===`booting`||e.state===`booting`?`Starting the simulator…`:`Connecting…`}function ke(e){let t=[];return e.metaKey&&t.push(`command`),e.shiftKey&&t.push(`shift`),e.altKey&&t.push(`option`),e.ctrlKey&&t.push(`control`),t}function Ae(e){let t=(0,B.c)(15),n=e.availability;if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 p-8 text-center`,children:[(0,J.jsx)(f,{className:`size-5 animate-spin text-muted-foreground`}),(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Checking simulator support…`})]}),t[0]=e):e=t[0],e}if(n.kind===`unsupported-platform`){let e,r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsx)(F,{className:`size-7 text-muted-foreground`}),r=(0,J.jsx)(`p`,{className:`mt-4 text-sm font-medium`,children:`Device emulation is unavailable`}),t[1]=e,t[2]=r):(e=t[1],r=t[2]);let i;return t[3]===n.platform?i=t[4]:(i=(0,J.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center p-8 text-center`,children:[e,r,(0,J.jsxs)(`p`,{className:`mt-1 max-w-sm text-xs leading-relaxed text-muted-foreground`,children:[`This environment runs on `,n.platform,`. Connect Ryco to a macOS environment with Xcode, or a macOS, Linux or Windows environment with the Android SDK.`]})]}),t[3]=n.platform,t[4]=i),i}if(n.kind===`helper-unavailable`){let e,r;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsx)(F,{className:`size-7 text-amber-500`}),r=(0,J.jsx)(`p`,{className:`mt-4 text-sm font-medium`,children:`Simulator helper could not start`}),t[5]=e,t[6]=r):(e=t[5],r=t[6]);let i;return t[7]===n.message?i=t[8]:(i=(0,J.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center p-8 text-center`,children:[e,r,(0,J.jsx)(`p`,{className:`mt-1 max-w-sm text-xs leading-relaxed text-muted-foreground`,children:n.message})]}),t[7]=n.message,t[8]=i),i}if(n.kind!==`setup-required`||n.steps.filter(Z).every(Me))return null;let r,i;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsx)(`p`,{className:`text-sm font-medium`,children:`Set up simulators and emulators`}),i=(0,J.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Ryco checks these steps automatically every few seconds.`}),t[9]=r,t[10]=i):(r=t[9],i=t[10]);let a;t[11]===n.steps?a=t[12]:(a=n.steps.map(je),t[11]=n.steps,t[12]=a);let o;return t[13]===a?o=t[14]:(o=(0,J.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center p-8`,children:(0,J.jsxs)(`div`,{className:`w-full max-w-md`,children:[r,i,(0,J.jsx)(`div`,{className:`mt-5 space-y-2`,children:a})]})}),t[13]=a,t[14]=o),o}function je(e){return(0,J.jsxs)(`div`,{className:`flex gap-3 rounded-md border border-border/60 p-3`,children:[(0,J.jsx)(`span`,{className:s(`mt-0.5 size-2 shrink-0 rounded-full`,e.done?`bg-emerald-500`:`bg-amber-500`)}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`p`,{className:`text-xs font-medium`,children:e.label}),e.detail?(0,J.jsx)(`p`,{className:`mt-1 break-words font-mono text-[10px] text-muted-foreground`,children:e.detail}):null]})]},e.id)}function Me(e){return e.id===`build-device-helper`}function Z(e){return!e.done}function Ne(e){let{environmentId:i,threadId:a}=e,s=O(o.app),d=g(),m=s.allowed&&(!s.hosted||d.machines.some(e=>e.environmentId===i&&e.canMutate)),h=(0,z.useRef)(null),_=(0,z.useMemo)(()=>i&&a?t(r(i,a)):null,[i,a]),v=n(e=>i?e.environmentById[i]:void 0),y=n(e=>_?e.threadByKey[_]:void 0),[b,A]=(0,z.useState)(!1),[M,P]=(0,z.useState)(null),[I,L]=(0,z.useState)({kind:`idle`}),[R,B]=(0,z.useState)(null),V=i?u(i)?.device:void 0,re=i?p(i)?.client.device:void 0,H=v?.generation??0,U=n(e=>e.applyThreadSnapshot),oe=n(e=>e.applyInventory),W=(0,z.useCallback)(async()=>{if(!i||!a||!V)return;let[e,t]=await Promise.all([V.list({includeShutdown:!0}),V.getThreadState({threadId:a})]);oe(i,H,e.devices,e.availability),U(i,H,t)},[V,oe,U,i,H,a]),ce=v?.availability?.kind===`setup-required`||v?.availability?.kind===`helper-unavailable`;(0,z.useEffect)(()=>{if(W().catch(()=>void 0),!ce)return;let e=setInterval(()=>void W().catch(()=>void 0),Te);return()=>clearInterval(e)},[ce,W]);let G=v?.devices??y?.devices??[],K=G.find(e=>e.udid===y?.attachedDeviceUdid)??G.find(e=>e.udid===M)??null;(0,z.useEffect)(()=>{M&&y?.attachedDeviceUdid===M&&P(null)},[M,y?.attachedDeviceUdid]);let q=(0,z.useCallback)(async(e,t)=>{A(!0);try{await e()}catch(e){c.add({type:`error`,title:t,description:Ee(e,`The simulator did not respond.`)})}finally{A(!1)}},[]),le=(0,z.useCallback)(e=>{V&&a&&(P(e.udid),q(async()=>{if(e.state===`shutdown`){let t=await V.boot({udid:e.udid});if(t.kind===`boot-limit-reached`){P(null),B({requested:e,candidates:t.rycoBooted,limit:t.limit});return}}U(i,H,await V.attach({threadId:a,udid:e.udid}))},`Could not open that simulator`))},[V,U,i,H,q,a]),Y=(0,z.useCallback)(e=>{if(!R||!V||!a||!i)return;let t=R;B(null),P(t.requested.udid),q(async()=>{await V.shutdown({udid:e.udid});let n=await V.boot({udid:t.requested.udid});if(n.kind===`boot-limit-reached`){P(null),B({...t,candidates:n.rycoBooted,limit:n.limit});return}U(i,H,await V.attach({threadId:a,udid:t.requested.udid}))},`Could not free a simulator slot`)},[V,U,R,i,H,q,a]),fe=!!re?.openFrameSource&&K?.platform!==`android-emulator`,pe=se({canvasRef:h,udid:fe&&K?.state===`booted`?K.udid:null,...re?.openFrameSource?{openFrameSource:re.openFrameSource}:{}}),ge=ue({canvasRef:h,udid:K?.state===`booted`?K.udid:null,enabled:!fe,screenshot:V?e=>V.screenshot(e):null}),_e=fe?pe.status:ge.status,ve=fe?pe.error:ge.error,X=fe?pe.dimensions:ge.dimensions,ye=(0,z.useRef)(null),be=(0,z.useCallback)(e=>{let t=h.current;if(!t||!X)return null;let n=t.getBoundingClientRect(),r=K?.geometry?.scale??(X.width>1400?2:3);return ie({frameWidth:X.width,frameHeight:X.height,displayWidth:n.width,displayHeight:n.height,pointWidth:K?.platform===`android-emulator`?X.width:K?.geometry?.pointWidth??X.width/r,pointHeight:K?.platform===`android-emulator`?X.height:K?.geometry?.pointHeight??X.height/r},e.clientX-n.left,e.clientY-n.top)},[K?.geometry,K?.platform,X]),xe=(0,z.useCallback)(e=>{e.currentTarget.focus(),e.currentTarget.setPointerCapture(e.pointerId),ye.current={point:be(e),at:performance.now()}},[be]),Se=(0,z.useCallback)(e=>{let t=ye.current;if(ye.current=null,!t||!K||!V)return;let n=be(e);t.point&&n&&(Math.hypot(n.x-t.point.x,n.y-t.point.y)<=8?V.tap({udid:K.udid,x:n.x,y:n.y}):V.swipe({udid:K.udid,fromX:t.point.x,fromY:t.point.y,toX:n.x,toY:n.y,durationMs:Math.max(16,Math.round(performance.now()-t.at))})).catch(e=>c.add({type:`error`,title:`Simulator input failed`,description:Ee(e,`The input could not be delivered.`)}))},[V,K,be]),Ce=(0,z.useRef)(Promise.resolve()),je=(0,z.useRef)(null);(0,z.useEffect)(()=>{let e={active:!0,pending:0};return Ce.current=Promise.resolve(),je.current=e,()=>{e.active=!1}},[V,H,_,K?.udid]);let Me=(0,z.useCallback)((e,t)=>{if(!K||!V||e.metaKey||e.ctrlKey)return;let r=K.platform===`android-emulator`&&e.key.length===1?e.key:null,a=ae(e.key);if(r===null&&a===null)return;if(e.preventDefault(),K.platform!==`android-emulator`){V.keyEvent({udid:K.udid,keyCode:a,modifiers:ke(e),direction:t}).catch(()=>void 0);return}if(t===`up`)return;let o=je.current;if(!o?.active||o.pending>=64)return;o.pending++;let s=K.udid,l=ke(e);Ce.current=Ce.current.then(async()=>{let e=n.getState();o?.active&&i&&_&&e.environmentById[i]?.generation===H&&e.environmentById[i]?.status===`connected`&&e.threadByKey[_]?.attachedDeviceUdid===s&&u(i)?.device===V&&await(r===null?V.keyEvent({udid:s,keyCode:a,modifiers:l,direction:t}):V.typeText({udid:s,text:r}))}).catch(e=>{o?.active&&(o.active=!1,c.add({type:`error`,title:`Android keyboard input failed`,description:Ee(e,`The input could not be delivered.`)}))}).finally(()=>{o.pending--})},[V,K,i,H,_]),Z=(0,z.useCallback)(e=>{K&&V&&q(()=>V.pressButton({udid:K.udid,button:e}),`Simulator button failed`)},[V,K,q]),Ne=(0,z.useCallback)(()=>{K&&V&&q(async()=>{let e=await V.screenshot({udid:K.udid,save:!0});c.add({type:`success`,title:`Screenshot saved`,description:e.path??e.name})},`Could not save the screenshot`)},[V,K,q]),Pe=(0,z.useCallback)(()=>{if(K&&V&&I.kind!==`starting`&&I.kind!==`stopping`){if(I.kind===`idle`){L({kind:`starting`}),V.startRecording({udid:K.udid}).then(e=>L({kind:`recording`,path:e.path}),e=>{L({kind:`idle`}),c.add({type:`error`,title:`Could not start recording`,description:Ee(e,`Recording failed.`)})});return}L({kind:`stopping`}),V.stopRecording({udid:K.udid}).then(e=>{L({kind:`idle`}),c.add({type:`success`,title:`Recording saved`,description:e.path})},e=>{L({kind:`idle`}),c.add({type:`error`,title:`Could not stop recording`,description:Ee(e,`The recording may be incomplete.`)})})}},[V,K,I]);if(!i||!a||!V)return(0,J.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center p-8 text-center`,children:[(0,J.jsx)(F,{className:`size-7 text-muted-foreground`}),(0,J.jsx)(`p`,{className:`mt-4 text-sm font-medium`,children:`Simulator unavailable`}),(0,J.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`This thread has no device connection.`})]});let Fe=(0,J.jsx)(Ae,{availability:v?.availability??null});if(!v?.availability||v.availability.kind===`unsupported-platform`||v.availability.kind===`helper-unavailable`||v.availability.kind===`setup-required`&&v.availability.steps.some(e=>!e.done&&e.id!==`build-device-helper`))return Fe;let Ie=v.availability?.kind===`degraded`?v.availability.capabilities.filter(e=>!e.ok):[],$=K??G.find(e=>e.state===`booted`)??G[0]??null,Le=$?he($):`iPhone`,Re=$?.geometry?.scale??me[Le],ze=$?.geometry?Math.round($.geometry.pointWidth*Re):K?X?.width:void 0,Be=$?.geometry?Math.round($.geometry.pointHeight*Re):K?X?.height:void 0;return(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-background`,children:[(0,J.jsxs)(`div`,{className:`flex min-h-11 shrink-0 items-center gap-2 border-b border-border/60 px-3`,children:[(0,J.jsx)(D,{className:`size-4 text-muted-foreground`}),(0,J.jsxs)(`select`,{"aria-label":`Choose a simulator or emulator`,className:`min-w-0 max-w-72 flex-1 bg-transparent text-xs font-medium outline-none`,disabled:b,value:K?.udid??``,onChange:e=>{let t=G.find(t=>t.udid===e.target.value);t&&le(t)},children:[(0,J.jsx)(`option`,{value:``,disabled:!0,children:`Choose a simulator`}),G.toSorted((e,t)=>Number(t.state===`booted`)-Number(e.state===`booted`)||e.name.localeCompare(t.name)).map(e=>(0,J.jsxs)(`option`,{value:e.udid,disabled:e.state===`booting`||e.state===`shutting-down`,children:[e.name,` — `,e.runtime,` · `,De(e.state)]},e.udid))]}),y?.agentActive?(0,J.jsx)(`span`,{className:`rounded-full bg-sky-500/15 px-2 py-0.5 text-[10px] font-medium text-sky-500`,children:`Agent controlling`}):null,(0,J.jsx)(l,{size:`icon-xs`,variant:`ghost`,"aria-label":`Refresh simulators`,onClick:()=>void W(),children:(0,J.jsx)(E,{className:`size-3.5`})})]}),y?.hosts?.filter(e=>e.transport===`ssh`&&e.status!==`available`).map(e=>(0,J.jsxs)(`div`,{role:`status`,className:`border-b border-border/60 px-3 py-2 text-xs text-muted-foreground`,children:[e.name,`: `,e.availability??`Checking device host…`]},e.id)),K?.host?.transport===`ssh`?(0,J.jsx)(`div`,{role:`status`,className:`border-b border-border/60 px-3 py-2 text-xs text-muted-foreground`,children:`Simulator testing controls are unavailable on SSH hosts.`}):K?.platform===`ios-simulator`?(0,J.jsx)(de,{udid:K.udid,disabled:b||v?.status!==`connected`||!m||K.state!==`booted`||y?.attachedDeviceUdid!==K.udid||y?.attachPhase!=null,testing:e=>V.testing(e)},`${i}:${a}:${K.udid}:${H}`):null,Ie.length>0?(0,J.jsxs)(`div`,{className:`border-b border-amber-500/20 bg-amber-500/8 px-3 py-1.5 text-[10px] text-amber-700 dark:text-amber-300`,children:[`Limited by this Xcode: `,Ie.map(e=>e.id).join(`, `),`.`]}):null,(0,J.jsx)(`div`,{className:`relative flex min-h-0 flex-1 bg-muted/25`,children:(0,J.jsx)(we,{className:`min-h-0 w-full flex-1`,kind:Le,pixelWidth:ze,pixelHeight:Be,buttonsDisabled:!K||b,onPressButton:Z,children:K?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`canvas`,{ref:h,tabIndex:0,"aria-label":`${K.name} screen`,className:`h-full w-full touch-none object-cover outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-sky-400`,onPointerDown:xe,onPointerUp:Se,onPointerCancel:()=>{ye.current=null},onKeyDown:e=>Me(e,`down`),onKeyUp:e=>Me(e,`up`)}),_e===`streaming`?null:(0,J.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 flex flex-col items-center justify-center bg-black/75 p-6 text-center text-white`,children:[(0,J.jsx)(f,{className:`size-5 animate-spin text-white/60`}),(0,J.jsx)(`p`,{className:`mt-3 text-xs font-medium`,children:_e===`unsupported`?`This browser does not support WebCodecs.`:_e===`recovering`?`Reconnecting the live screen…`:Oe(K,y?.attachPhase)}),ve?(0,J.jsx)(`p`,{className:`mt-2 max-w-52 text-[10px] text-white/60`,children:ve}):null]})]}):(0,J.jsx)(`div`,{className:`flex h-full flex-col items-center justify-center gap-1 px-[12%] text-center`,children:(0,J.jsx)(`p`,{className:`text-balance text-[11px] leading-snug text-white/45`,children:`Choose a simulator to start streaming it here.`})})})}),(0,J.jsxs)(`div`,{className:`relative z-10 flex min-h-12 shrink-0 items-center justify-center gap-0.5 bg-muted/25 px-2`,children:[K?.platform===`android-emulator`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Q,{icon:x,label:`Back`,disabled:b,onClick:()=>Z(`back`)}),(0,J.jsx)(Q,{icon:T,label:`Recents`,disabled:b,onClick:()=>Z(`recents`)})]}):null,(0,J.jsx)(Q,{icon:N,label:`Home`,disabled:!K||b,onClick:()=>Z(`home`)}),(0,J.jsx)(Q,{icon:S,label:`Lock`,disabled:!K||b,onClick:()=>Z(`lock`)}),(0,J.jsx)(Q,{icon:te,label:`Volume down`,disabled:!K||b,onClick:()=>Z(`volume-down`)}),(0,J.jsx)(Q,{icon:ne,label:`Volume up`,disabled:!K||b,onClick:()=>Z(`volume-up`)}),(0,J.jsx)(`span`,{className:`mx-1 h-5 w-px bg-border`}),(0,J.jsx)(Q,{icon:C,label:`Screenshot`,disabled:!K||b,onClick:Ne}),(0,J.jsx)(Q,{icon:I.kind===`recording`||I.kind===`stopping`?w:j,label:I.kind===`recording`?`Stop recording`:`Record screen`,active:I.kind!==`idle`,disabled:!K||K.platform===`android-emulator`||I.kind===`starting`||I.kind===`stopping`,onClick:Pe}),(0,J.jsx)(`span`,{className:`mx-1 h-5 w-px bg-border`}),(0,J.jsx)(Q,{icon:k,label:`Detach`,disabled:!K||b,onClick:()=>void q(async()=>U(i,H,await V.detach({threadId:a})),`Could not detach the simulator`)}),(0,J.jsx)(Q,{icon:ee,label:`Shut down`,disabled:!K||b,onClick:()=>{K&&q(()=>V.shutdown({udid:K.udid}),`Could not shut down the simulator`)}})]}),R?(0,J.jsx)(`div`,{className:`absolute inset-0 z-20 flex items-center justify-center bg-background/75 p-6 backdrop-blur-sm`,children:(0,J.jsxs)(`div`,{className:`w-full max-w-sm rounded-xl border border-border bg-card p-5 shadow-xl`,children:[(0,J.jsx)(`p`,{className:`text-sm font-semibold`,children:`Simulator boot limit reached`}),(0,J.jsxs)(`p`,{className:`mt-2 text-xs leading-relaxed text-muted-foreground`,children:[`Ryco keeps at most `,R.limit,` simulators it booted running. Shut down one to open `,R.requested.name,`.`]}),(0,J.jsx)(`div`,{className:`mt-4 space-y-2`,children:R.candidates.map(e=>(0,J.jsxs)(l,{variant:`outline`,className:`w-full justify-between`,onClick:()=>Y(e),children:[(0,J.jsxs)(`span`,{className:`truncate`,children:[`Shut down `,e.name]}),(0,J.jsx)(ee,{className:`size-3.5`})]},e.udid))}),(0,J.jsx)(l,{variant:`ghost`,className:`mt-3 w-full`,onClick:()=>B(null),children:`Cancel`})]})}):null]})}function Q(e){let t=(0,B.c)(11),n=e.icon,r=e.label,i=e.label,a=e.active,o=e.disabled,c=e.active&&`text-red-500`,u;t[0]===c?u=t[1]:(u=s(c),t[0]=c,t[1]=u);let d;t[2]===n?d=t[3]:(d=(0,J.jsx)(n,{className:`size-4`}),t[2]=n,t[3]=d);let f;return t[4]!==e.active||t[5]!==e.disabled||t[6]!==e.label||t[7]!==e.onClick||t[8]!==u||t[9]!==d?(f=(0,J.jsx)(l,{size:`icon-sm`,variant:`ghost`,title:r,"aria-label":i,"aria-pressed":a,disabled:o,className:u,onClick:e.onClick,children:d}),t[4]=e.active,t[5]=e.disabled,t[6]=e.label,t[7]=e.onClick,t[8]=u,t[9]=d,t[10]=f):f=t[10],f}export{Ne as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{a as t}from"./primary-Cf-xJExj.js";import{kc as n}from"./wsTransport-C88seBPA.js";import{$i as r,Gi as i,Gt as a,Mi as o,Ut as s,Zi as c,ad as l,id as u,ji as d,p as f,rd as p}from"./runtime-DjjjAcTE.js";import{t as m}from"./react-CwJFpaho.js";import{i as h}from"./presentationTier-DPVAxTK4.js";import{a as g,r as _,t as v}from"./tooltip-DbqhseXd.js";import{i as ee}from"./SettingsPanels-CP6z2b1x.js";import{C as y,E as b,S as x,g as te,h as S,m as C,x as w,y as T}from"./workspaceLifecycle-OJ1aKksw.js";import{t as ne}from"./key-round-BlrUTfxB.js";import{t as E}from"./refresh-cw-CRUTivd6.js";import{V as re}from"./combobox-Dtjtf7AB.js";import{t as D}from"./toastHelpers-CSQRKo4F.js";import{t as O}from"./input-CCie4mm1.js";import{t as k}from"./skeleton-DfUe6VV_.js";import{c as A}from"./select-Cb9FUPHD.js";import{t as j}from"./spinner-lHRJWsym.js";import{o as M,t as N}from"./useAtlassian-BYDCc9lv.js";import{d as ie,i as ae,l as P,o as oe,s as F,u as I}from"./settingsLayout-CRFNCk_D.js";import{t as L}from"./RedactedSensitiveText-DQ0YveQd.js";var R=h(),z=e(m(),1),B=l(),V={versionControlSystems:[],sourceControlProviders:[]},H={github:w,gitlab:y,forgejo:T,"azure-devops":S,bitbucket:te},U={git:x,jj:b},se=[`primary`,`secondary`],ce=[`atlassian`,`connections`];function W(e){return n(e)}function G(e){return`auth`in e}function K(e){return!G(e)&&!e.implemented}function le(e){let t=(0,R.c)(2),n;return t[0]===e.account?n=t[1]:(n=(0,B.jsx)(L,{value:e.account,ariaLabel:`Toggle source control account visibility`,revealTooltip:`Click to reveal account`,hideTooltip:`Click to hide account`}),t[0]=e.account,t[1]=n),n}function ue(e){return K(e)?`bg-muted-foreground/35`:e.status!==`available`||G(e)&&e.auth.status!==`authenticated`?`bg-warning`:`bg-success`}function q(e){let t=(0,R.c)(13),{item:n}=e,i,a,o,s;if(t[0]!==n){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=ue(n),c=G(n)?H[n.kind]:U[n.kind];if(!c){s=(0,B.jsx)(`span`,{className:r(`size-2 shrink-0 rounded-full`,e),"aria-hidden":!0});break bb0}a=`relative inline-flex size-5 shrink-0 items-center justify-center`,t[5]===c?o=t[6]:(o=(0,B.jsx)(c,{className:`size-4.5 text-foreground/80`,"aria-hidden":!0}),t[5]=c,t[6]=o),i=r(`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,e)}t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s}else i=t[1],a=t[2],o=t[3],s=t[4];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c;t[7]===i?c=t[8]:(c=(0,B.jsx)(`span`,{className:i,"aria-hidden":!0}),t[7]=i,t[8]=c);let l;return t[9]!==a||t[10]!==o||t[11]!==c?(l=(0,B.jsxs)(`span`,{className:a,children:[o,c]}),t[9]=a,t[10]=o,t[11]=c,t[12]=l):l=t[12],l}function J({item:e,auth:t,authAccount:n,authHost:r}){return K(e)?(0,B.jsxs)(`span`,{children:[`Support for `,e.label,` is coming soon.`]}):e.status===`available`?t?t.status===`authenticated`?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{children:`Authenticated`}),n?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{"aria-hidden":!0,children:`as`}),(0,B.jsx)(le,{account:n})]}):null,r?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{"aria-hidden":!0,children:`on`}),(0,B.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-[11px] text-muted-foreground`,children:r})]}):null]}):e.executable?t.status===`unauthenticated`?(0,B.jsxs)(`span`,{children:[e.label,` is not authenticated on this server. Sign in or configure credentials using the `,(0,B.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-[11px]`,children:e.executable}),` `,`tool on the server host to enable pull request features.`]}):(0,B.jsxs)(`span`,{children:[`Could not verify `,e.label,`. `,W(t.detail)??e.installHint]}):(0,B.jsx)(`span`,{children:e.installHint}):(0,B.jsx)(`span`,{children:`Available`}):(0,B.jsxs)(`span`,{children:[`Not available on this server — `,e.installHint]})}function Y(e){let t=(0,R.c)(39),{item:n}=e,i;t[0]===n.version?i=t[1]:(i=W(n.version),t[0]=n.version,t[1]=i);let a=i,o=G(n)?n.auth:null,s,c,l,u,d,f;if(t[2]!==o||t[3]!==n){let e=o?W(o.account):null,i=o?W(o.host):null,a;t[10]===n?a=t[11]:(a=de(n),t[10]=n,t[11]=a),c=a,s=I,t[12]===n?d=t[13]:(d=r(K(n)&&`opacity-80`),t[12]=n,t[13]=d);let p;t[14]===n?p=t[15]:(p=(0,B.jsx)(q,{item:n}),t[14]=n,t[15]=p);let m;t[16]===n.label?m=t[17]:(m=(0,B.jsx)(`span`,{className:`truncate`,children:n.label}),t[16]=n.label,t[17]=m),t[18]!==p||t[19]!==m?(f=(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[p,m]}),t[18]=p,t[19]=m,t[20]=f):f=t[20],l=`flex min-w-0 flex-wrap items-center gap-x-1`,u=J({item:n,auth:o,authAccount:e,authHost:i}),t[2]=o,t[3]=n,t[4]=s,t[5]=c,t[6]=l,t[7]=u,t[8]=d,t[9]=f}else s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9];let p;t[21]!==l||t[22]!==u?(p=(0,B.jsx)(`span`,{className:l,children:u}),t[21]=l,t[22]=u,t[23]=p):p=t[23];let m;t[24]===a?m=t[25]:(m=a?(0,B.jsx)(`code`,{className:`font-mono text-[11px] text-muted-foreground`,children:a}):null,t[24]=a,t[25]=m);let h=`${n.label} ${c.label}`,g;t[26]!==c.label||t[27]!==c.variant||t[28]!==h?(g=(0,B.jsx)(A,{size:`sm`,variant:c.variant,"aria-label":h,children:c.label}),t[26]=c.label,t[27]=c.variant,t[28]=h,t[29]=g):g=t[29];let _;t[30]!==m||t[31]!==g?(_=(0,B.jsxs)(B.Fragment,{children:[m,g]}),t[30]=m,t[31]=g,t[32]=_):_=t[32];let v;return t[33]!==s||t[34]!==_||t[35]!==d||t[36]!==f||t[37]!==p?(v=(0,B.jsx)(s,{className:d,title:f,description:p,control:_}),t[33]=s,t[34]=_,t[35]=d,t[36]=f,t[37]=p,t[38]=v):v=t[38],v}function de(e){if(K(e))return{label:`Coming soon`,variant:`outline`};if(e.status!==`available`)return{label:`Not installed`,variant:`outline`};if(G(e)){if(e.auth.status===`unauthenticated`)return{label:`Not signed in`,variant:`warning`};if(e.auth.status!==`authenticated`)return{label:`Unverified`,variant:`outline`}}return{label:`Ready`,variant:`success`}}function X(e){let t=(0,R.c)(4),{title:n,headerAction:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=se.map(fe),t[0]=i):i=t[0];let a;return t[1]!==r||t[2]!==n?(a=(0,B.jsx)(ie,{title:n,headerAction:r,children:i}),t[1]=r,t[2]=n,t[3]=a):a=t[3],a}function fe(e){return(0,B.jsx)(`div`,{className:`border-t border-border/60 px-4 py-3.5 first:border-t-0 sm:px-5`,children:(0,B.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,B.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,B.jsxs)(`span`,{className:`relative inline-flex size-5 shrink-0 items-center justify-center`,children:[(0,B.jsx)(k,{className:`size-4.5 rounded-md`}),(0,B.jsx)(k,{className:`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,"aria-hidden":!0})]}),(0,B.jsx)(k,{className:`h-4 w-28 rounded-full`}),(0,B.jsx)(k,{className:`h-5 w-14 rounded-full`})]}),(0,B.jsx)(k,{className:`h-3 w-full max-w-xs rounded-full`})]}),(0,B.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,B.jsx)(k,{className:`size-7 rounded-md`}),(0,B.jsx)(k,{className:`h-5 w-9 rounded-full`})]})]})},e)}function pe(e){switch(e){case`connected`:return`success`;case`needs_reauth`:return`warning`;case`invalid`:return`error`;case`revoked`:return`outline`}}function me(e){switch(e){case`oauth_3lo`:return`OAuth`;case`bitbucket_token`:return`Bitbucket token`;case`jira_token`:return`Jira token`;case`env_fallback`:return`Environment`}}function he(e){let t=(0,R.c)(4);if(e.products.includes(`bitbucket`)){let n;return t[0]===e.className?n=t[1]:(n=(0,B.jsx)(te,{className:e.className,"aria-hidden":!0}),t[0]=e.className,t[1]=n),n}let n;return t[2]===e.className?n=t[3]:(n=(0,B.jsx)(C,{className:e.className,"aria-hidden":!0}),t[2]=e.className,t[3]=n),n}function Z(e){let t=(0,R.c)(96),{environmentId:n}=e,r=a(),[o,l]=(0,z.useState)(`Bitbucket`),[u,p]=(0,z.useState)(``),[m,h]=(0,z.useState)(``),[g,_]=(0,z.useState)(`Jira`),[v,ee]=(0,z.useState)(``),[y,b]=(0,z.useState)(``),[x,S]=(0,z.useState)(``),[w,T]=(0,z.useState)(null),E;t[0]===n?E=t[1]:(E=n?f(n):null,t[0]=n,t[1]=E);let k=E?.client??null,P=k!==null,L;t[2]!==n||t[3]!==P?(L={environmentId:n,enabled:P},t[2]=n,t[3]=P,t[4]=L):L=t[4];let V=N(L),H;t[5]!==u||t[6]!==o||t[7]!==m||t[8]!==k?(H=async()=>{if(!k)throw Error(`No server connection is available.`);return k.atlassian.saveManualBitbucketToken({label:o.trim(),email:u.trim(),token:m.trim(),isDefault:!0})},t[5]=u,t[6]=o,t[7]=m,t[8]=k,t[9]=H):H=t[9];let U;t[10]!==n||t[11]!==r?(U=()=>{l(`Bitbucket`),p(``),h(``),T(null),M({environmentId:n}),r.invalidateQueries({queryKey:ce}),d({environmentId:n}),i.add(D({type:`success`,title:`Bitbucket token saved`,description:`Ryco can now use this Atlassian connection for Bitbucket workflows.`}))},t[10]=n,t[11]=r,t[12]=U):U=t[12];let se;t[13]!==H||t[14]!==U?(se={mutationFn:H,onSuccess:U,onError:be},t[13]=H,t[14]=U,t[15]=se):se=t[15];let W=s(se),G;t[16]!==k||t[17]!==v||t[18]!==g||t[19]!==y||t[20]!==x?(G=async()=>{if(!k)throw Error(`No server connection is available.`);return k.atlassian.saveManualJiraToken({label:g.trim(),email:v.trim(),siteUrl:y.trim(),token:x.trim(),isDefault:!0})},t[16]=k,t[17]=v,t[18]=g,t[19]=y,t[20]=x,t[21]=G):G=t[21];let K;t[22]!==n||t[23]!==r?(K=()=>{_(`Jira`),ee(``),b(``),S(``),T(null),M({environmentId:n}),r.invalidateQueries({queryKey:ce}),i.add(D({type:`success`,title:`Jira token saved`,description:`Ryco can now load Jira work items for linked projects.`}))},t[22]=n,t[23]=r,t[24]=K):K=t[24];let ue;t[25]!==G||t[26]!==K?(ue={mutationFn:G,onSuccess:K,onError:ye},t[25]=G,t[26]=K,t[27]=ue):ue=t[27];let q=s(ue),J;t[28]===k?J=t[29]:(J=async e=>{if(!k)throw Error(`No server connection is available.`);return k.atlassian.disconnect({connectionId:e.connectionId})},t[28]=k,t[29]=J);let Y;t[30]!==n||t[31]!==r?(Y=()=>{M({environmentId:n}),r.invalidateQueries({queryKey:ce}),d({environmentId:n})},t[30]=n,t[31]=r,t[32]=Y):Y=t[32];let de;t[33]!==J||t[34]!==Y?(de={mutationFn:J,onSuccess:Y,onError:ve},t[33]=J,t[34]=Y,t[35]=de):de=t[35];let X=s(de),fe;t[36]!==u||t[37]!==o||t[38]!==m||t[39]!==k||t[40]!==W?(fe=k!==null&&o.trim().length>0&&u.trim().length>0&&m.trim().length>0&&!W.isPending,t[36]=u,t[37]=o,t[38]=m,t[39]=k,t[40]=W,t[41]=fe):fe=t[41];let Z=fe,xe;t[42]!==k||t[43]!==v||t[44]!==g||t[45]!==y||t[46]!==x||t[47]!==q?(xe=k!==null&&g.trim().length>0&&v.trim().length>0&&y.trim().length>0&&x.trim().length>0&&!q.isPending,t[42]=k,t[43]=v,t[44]=g,t[45]=y,t[46]=x,t[47]=q,t[48]=xe):xe=t[48];let Q=xe,Se;t[49]!==Z||t[50]!==W?(Se=e=>{e.preventDefault(),Z&&W.mutate()},t[49]=Z,t[50]=W,t[51]=Se):Se=t[51];let Ce=Se,we;t[52]!==Q||t[53]!==q?(we=e=>{e.preventDefault(),Q&&q.mutate()},t[52]=Q,t[53]=q,t[54]=we):we=t[54];let Te=we,Ee;t[55]===V.data?Ee=t[56]:(Ee=V.data??[],t[55]=V.data,t[56]=Ee);let De=Ee,Oe=V.data===null&&!V.isError,ke=w===`bitbucket`?`secondary`:`outline`,Ae=w===`bitbucket`,je,Me;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(je=()=>T(_e),Me=(0,B.jsx)(te,{className:`size-3.5`,"aria-hidden":!0}),t[57]=je,t[58]=Me):(je=t[57],Me=t[58]);let $;t[59]!==ke||t[60]!==Ae?($=(0,B.jsxs)(c,{size:`xs`,variant:ke,"aria-expanded":Ae,onClick:je,children:[Me,`Add Bitbucket`]}),t[59]=ke,t[60]=Ae,t[61]=$):$=t[61];let Ne=w===`jira`?`secondary`:`outline`,Pe=w===`jira`,Fe,Ie;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=()=>T(ge),Ie=(0,B.jsx)(C,{className:`size-3.5`,"aria-hidden":!0}),t[62]=Fe,t[63]=Ie):(Fe=t[62],Ie=t[63]);let Le;t[64]!==Ne||t[65]!==Pe?(Le=(0,B.jsxs)(c,{size:`xs`,variant:Ne,"aria-expanded":Pe,onClick:Fe,children:[Ie,`Add Jira`]}),t[64]=Ne,t[65]=Pe,t[66]=Le):Le=t[66];let Re;t[67]!==$||t[68]!==Le?(Re=(0,B.jsxs)(B.Fragment,{children:[$,Le]}),t[67]=$,t[68]=Le,t[69]=Re):Re=t[69];let ze;t[70]!==w||t[71]!==u||t[72]!==o||t[73]!==m||t[74]!==Z||t[75]!==Ce||t[76]!==W?(ze=w===`bitbucket`?(0,B.jsx)(ae,{className:`settings-subsections-enter bg-muted/30`,children:(0,B.jsxs)(`form`,{className:`grid gap-3 sm:grid-cols-2`,onSubmit:Ce,children:[(0,B.jsx)(F,{label:`Label`,htmlFor:`bitbucket-token-label`,children:(0,B.jsx)(O,{id:`bitbucket-token-label`,size:`sm`,value:o,autoComplete:`organization`,onChange:e=>l(e.currentTarget.value),placeholder:`Bitbucket`})}),(0,B.jsx)(F,{label:`Email`,htmlFor:`bitbucket-token-email`,children:(0,B.jsx)(O,{id:`bitbucket-token-email`,size:`sm`,type:`email`,value:u,autoComplete:`username`,onChange:e=>p(e.currentTarget.value),placeholder:`you@example.com`})}),(0,B.jsx)(F,{label:`App password`,htmlFor:`bitbucket-token-secret`,className:`sm:col-span-2`,description:`Stored in this device's server secret store, never in the browser.`,children:(0,B.jsx)(O,{id:`bitbucket-token-secret`,size:`sm`,type:`password`,value:m,autoComplete:`current-password`,onChange:e=>h(e.currentTarget.value),placeholder:`Bitbucket app password`})}),(0,B.jsxs)(`div`,{className:`flex justify-end gap-2 sm:col-span-2`,children:[(0,B.jsx)(c,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>T(null),children:`Cancel`}),(0,B.jsxs)(c,{type:`submit`,size:`sm`,disabled:!Z,children:[W.isPending?(0,B.jsx)(j,{className:`size-3`}):null,`Save token`]})]})]})}):null,t[70]=w,t[71]=u,t[72]=o,t[73]=m,t[74]=Z,t[75]=Ce,t[76]=W,t[77]=ze):ze=t[77];let Be;t[78]!==w||t[79]!==Q||t[80]!==Te||t[81]!==v||t[82]!==g||t[83]!==y||t[84]!==x||t[85]!==q?(Be=w===`jira`?(0,B.jsx)(ae,{className:`settings-subsections-enter bg-muted/30`,children:(0,B.jsxs)(`form`,{className:`grid gap-3 sm:grid-cols-2`,onSubmit:Te,children:[(0,B.jsx)(F,{label:`Label`,htmlFor:`jira-token-label`,children:(0,B.jsx)(O,{id:`jira-token-label`,size:`sm`,value:g,autoComplete:`organization`,onChange:e=>_(e.currentTarget.value),placeholder:`Jira`})}),(0,B.jsx)(F,{label:`Email`,htmlFor:`jira-token-email`,children:(0,B.jsx)(O,{id:`jira-token-email`,size:`sm`,type:`email`,value:v,autoComplete:`username`,onChange:e=>ee(e.currentTarget.value),placeholder:`you@example.com`})}),(0,B.jsx)(F,{label:`Site URL`,htmlFor:`jira-site-url`,className:`sm:col-span-2`,children:(0,B.jsx)(O,{id:`jira-site-url`,size:`sm`,value:y,inputMode:`url`,autoComplete:`url`,onChange:e=>b(e.currentTarget.value),placeholder:`https://your-team.atlassian.net`})}),(0,B.jsx)(F,{label:`API token`,htmlFor:`jira-token-secret`,className:`sm:col-span-2`,description:`Stored in this device's server secret store, never in the browser.`,children:(0,B.jsx)(O,{id:`jira-token-secret`,size:`sm`,type:`password`,value:x,autoComplete:`current-password`,onChange:e=>S(e.currentTarget.value),placeholder:`Jira API token`})}),(0,B.jsxs)(`div`,{className:`flex justify-end gap-2 sm:col-span-2`,children:[(0,B.jsx)(c,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>T(null),children:`Cancel`}),(0,B.jsxs)(c,{type:`submit`,size:`sm`,disabled:!Q,children:[q.isPending?(0,B.jsx)(j,{className:`size-3`}):null,`Save token`]})]})]})}):null,t[78]=w,t[79]=Q,t[80]=Te,t[81]=v,t[82]=g,t[83]=y,t[84]=x,t[85]=q,t[86]=Be):Be=t[86];let Ve;t[87]!==Oe||t[88]!==X||t[89]!==De?(Ve=Oe?(0,B.jsxs)(ae,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,B.jsx)(j,{className:`size-3.5`}),`Loading Atlassian connections`]}):De.length===0?(0,B.jsx)(oe,{icon:(0,B.jsx)(ne,{}),title:`No Atlassian connections`,description:`Add a Bitbucket or Jira token to enable repository pull requests, diffs, and work-item links.`,className:`py-8`}):De.map(e=>(0,B.jsx)(I,{title:(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,B.jsx)(he,{products:e.products,className:`size-4 shrink-0 text-foreground/80`}),(0,B.jsx)(`span`,{className:`truncate`,children:e.label}),(0,B.jsx)(A,{variant:pe(e.status),size:`sm`,className:`capitalize`,children:e.status.replaceAll(`_`,` `)}),(0,B.jsx)(A,{variant:`outline`,size:`sm`,children:me(e.kind)})]}),description:(0,B.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-x-1`,children:[e.accountEmail?(0,B.jsx)(le,{account:e.accountEmail}):(0,B.jsx)(`span`,{children:`No account email saved`}),(0,B.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,B.jsx)(`span`,{children:e.capabilities.join(` · `)})]}),control:(0,B.jsx)(c,{type:`button`,size:`icon-xs`,variant:`ghost`,className:`text-muted-foreground hover:text-destructive-foreground`,"aria-label":`Delete ${e.label}`,disabled:X.isPending||e.readonly,onClick:()=>X.mutate(e),children:(0,B.jsx)(re,{className:`size-3.5`})})},e.connectionId)),t[87]=Oe,t[88]=X,t[89]=De,t[90]=Ve):Ve=t[90];let He;return t[91]!==Re||t[92]!==ze||t[93]!==Be||t[94]!==Ve?(He=(0,B.jsxs)(ie,{title:`Atlassian`,description:`Bitbucket and Jira connections for pull requests, diffs, and work-item links. Tokens stay in this device's secret store.`,headerAction:Re,children:[ze,Be,Ve]}),t[91]=Re,t[92]=ze,t[93]=Be,t[94]=Ve,t[95]=He):He=t[95],He}function ge(e){return e===`jira`?null:`jira`}function _e(e){return e===`bitbucket`?null:`bitbucket`}function ve(e){i.add(D({type:`error`,title:`Could not delete Atlassian connection`,description:e instanceof Error?e.message:`The connection was not changed.`}))}function ye(e){i.add(D({type:`error`,title:`Could not save Jira token`,description:e instanceof Error?e.message:`The token could not be saved.`}))}function be(e){i.add(D({type:`error`,title:`Could not save Bitbucket token`,description:e instanceof Error?e.message:`The token could not be saved.`}))}function xe(){let e=(0,R.c)(2),t=p(),n;return e[0]===t?n=e[1]:(n=t===`client`?(0,B.jsx)(P,{children:(0,B.jsx)(ee,{})}):(0,B.jsx)(Q,{}),e[0]=t,e[1]=n),n}function Q(){let e=(0,R.c)(45),n=p(),i=u(),a=t(),s=i?.environmentId??a,l;e[0]===s?l=e[1]:(l={environmentId:s},e[0]=s,e[1]=l);let f=o(l),m=f.data??V,h=f.isPending&&f.data===null,y;e[2]===s?y=e[3]:(y=()=>{d({environmentId:s})},e[2]=s,e[3]=y);let b=y,te=f.isPending,S=f.isPending&&`animate-spin`,C;e[4]===S?C=e[5]:(C=r(`size-3`,S),e[4]=S,e[5]=C);let w;e[6]===C?w=e[7]:(w=(0,B.jsx)(E,{className:C}),e[6]=C,e[7]=w);let T;e[8]!==f.isPending||e[9]!==b||e[10]!==w?(T=(0,B.jsx)(g,{render:(0,B.jsx)(c,{size:`icon-xs`,variant:`ghost`,className:`size-5 rounded-sm p-0 text-muted-foreground hover:text-foreground`,onClick:b,disabled:te,"aria-label":`Rescan server environment`,children:w})}),e[8]=f.isPending,e[9]=b,e[10]=w,e[11]=T):T=e[11];let ne;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,B.jsx)(_,{side:`top`,children:`Rescan Git and hosting integrations`}),e[12]=ne):ne=e[12];let re;e[13]===T?re=e[14]:(re=(0,B.jsxs)(v,{children:[T,ne]}),e[13]=T,e[14]=re);let D=re;if(h){let t;e[15]===D?t=e[16]:(t=(0,B.jsx)(X,{title:`Version control`,headerAction:D}),e[15]=D,e[16]=t);let n;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,B.jsx)(X,{title:`Hosting providers`}),e[17]=n):n=e[17];let r;return e[18]===t?r=e[19]:(r=(0,B.jsxs)(P,{children:[t,n]}),e[18]=t,e[19]=r),r}let O=m.versionControlSystems.length>0,k=m.sourceControlProviders.length>0,A=O||k,j;e[20]===n?j=e[21]:(j=n===`all`&&(0,B.jsx)(ee,{}),e[20]=n,e[21]=j);let M;e[22]!==f.isPending||e[23]!==b||e[24]!==A?(M=A?null:(0,B.jsx)(ie,{title:`Hosting providers`,children:(0,B.jsx)(oe,{icon:(0,B.jsx)(x,{className:`size-4`}),title:`Nothing detected yet`,description:`Install Git on the server, add optional hosting integrations or credentials your workspace needs, then rescan.`,action:(0,B.jsxs)(c,{type:`button`,size:`xs`,onClick:b,disabled:f.isPending,children:[(0,B.jsx)(E,{className:r(`size-3`,f.isPending&&`animate-spin`)}),`Scan`]})})}),e[22]=f.isPending,e[23]=b,e[24]=A,e[25]=M):M=e[25];let N;e[26]!==O||e[27]!==m.versionControlSystems||e[28]!==D?(N=O?(0,B.jsx)(ie,{title:`Version control`,headerAction:D,children:m.versionControlSystems.map(Ce)}):null,e[26]=O,e[27]=m.versionControlSystems,e[28]=D,e[29]=N):N=e[29];let F;e[30]!==f.error||e[31]!==A||e[32]!==k||e[33]!==O||e[34]!==m.sourceControlProviders||e[35]!==D?(F=A?(0,B.jsx)(ie,{title:`Hosting providers`,description:`Command-line tools on this device that power pull requests and reviews.`,headerAction:O?null:D,children:k?m.sourceControlProviders.map(Se):(0,B.jsx)(ae,{className:`text-xs leading-relaxed text-muted-foreground`,children:f.error??`No source control providers were detected on the server. Install a CLI like git, gh, glab, or az on the server host, then rescan.`})}):null,e[30]=f.error,e[31]=A,e[32]=k,e[33]=O,e[34]=m.sourceControlProviders,e[35]=D,e[36]=F):F=e[36];let I;e[37]===s?I=e[38]:(I=(0,B.jsx)(Z,{environmentId:s}),e[37]=s,e[38]=I);let L;return e[39]!==M||e[40]!==N||e[41]!==F||e[42]!==I||e[43]!==j?(L=(0,B.jsxs)(P,{children:[j,M,N,F,I]}),e[39]=M,e[40]=N,e[41]=F,e[42]=I,e[43]=j,e[44]=L):L=e[44],L}function Se(e){return(0,B.jsx)(Y,{item:e},`provider:${e.kind}`)}function Ce(e){return(0,B.jsx)(Y,{item:e},`vcs:${e.kind}`)}export{xe as SourceControlSettingsPanel};
|