@p4code/cli 0.8.2 → 0.8.3
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/bin.mjs +1 -1
- package/dist/{binCli-C1tFongj.mjs → binCli-DouSNynJ.mjs} +17297 -3439
- package/dist/client/.vite/manifest.json +2164 -2147
- package/dist/client/assets/{AnimatedHeight-PJxVEp27.js → AnimatedHeight-DoG4b7y8.js} +2 -2
- package/dist/client/assets/{AuthSurfaceShell-BrPHaco9.js → AuthSurfaceShell-DbeJoeXz.js} +2 -2
- package/dist/client/assets/{CSPContext-C7uwFl6f.js → CSPContext-DkFc4cYo.js} +2 -2
- package/dist/client/assets/ChatGptUsageButton-D93cMeTp.js +2 -0
- package/dist/client/assets/ChatMarkdown-CLD9Y6dg.js +65 -0
- package/dist/client/assets/CodexSetupSection.logic-DJw6xB7P.js +2 -0
- package/dist/client/assets/ComboboxClear-ZQvkAjz8.js +2 -0
- package/dist/client/assets/{CommandBlock-JrUX9e8E.js → CommandBlock-c98wFxMU.js} +2 -2
- package/dist/client/assets/{ComposerPromptEditor-Ba1dvqDN.js → ComposerPromptEditor-CBuOXkT9.js} +55 -55
- package/dist/client/assets/CompositeRoot-BMUI_bmJ.js +2 -0
- package/dist/client/assets/{ConnectionStatusDot-Cjh57o6i.js → ConnectionStatusDot-B69zfKRh.js} +2 -2
- package/dist/client/assets/DevicePanel-1xw7KQ15.js +2 -0
- package/dist/client/assets/{DeviceSetup-DccRVnjb.js → DeviceSetup-DemgUuG-.js} +2 -2
- package/dist/client/assets/DialogTitle-BXot7RA0.js +2 -0
- package/dist/client/assets/{DiffCommentAnnotation-DDBZcMFv.js → DiffCommentAnnotation-vAZP7JBy.js} +3 -3
- package/dist/client/assets/DiffFileTree-BhqF8nD5.js +2 -0
- package/dist/client/assets/DiffPanel-Dqh76p3E.js +2 -0
- package/dist/client/assets/{DiffWorkerPoolProvider-RcplgHGv.js → DiffWorkerPoolProvider-D4VIo5Vu.js} +3 -3
- package/dist/client/assets/{EnvironmentMachineIcon-DMZGa766.js → EnvironmentMachineIcon-DPQkDtvr.js} +2 -2
- package/dist/client/assets/{ExpandableText-DfY-qqRW.js → ExpandableText-EZ9C25tN.js} +3 -3
- package/dist/client/assets/{FieldControl-C9UnFGZn.js → FieldControl-C4IsJLMZ.js} +2 -2
- package/dist/client/assets/{FileDiff-BXlBWSxx.js → FileDiff-H9QHqXa0.js} +2 -2
- package/dist/client/assets/FilePreviewPanel-DGm_SU_e.js +34 -0
- package/dist/client/assets/FoldedSettingsSection-BSYFyChk.js +2 -0
- package/dist/client/assets/{FormContext-haYZgWIK.js → FormContext-DiXpMuU8.js} +2 -2
- package/dist/client/assets/{Icons-C12feMOO.js → Icons-DA4msgfR.js} +2 -2
- package/dist/client/assets/{KeybindingsSettings.logic-DhXMdk5O.js → KeybindingsSettings.logic-7EBA0xLE.js} +2 -2
- package/dist/client/assets/{NoProjectsHero-CDoSxJVV.js → NoProjectsHero-YjEc2OIw.js} +2 -2
- package/dist/client/assets/{PanelLayoutControls-CCKUTh1H.js → PanelLayoutControls-BfRIRM0o.js} +13 -13
- package/dist/client/assets/{PierreEntryIcon-7x50Pz_C.js → PierreEntryIcon-BxxykifK.js} +2 -2
- package/dist/client/assets/PreviewPanel-QkMfuC1J.js +2 -0
- package/dist/client/assets/ProjectDefaultsSettings-C6wxaRmJ.js +2 -0
- package/dist/client/assets/{ProjectFavicon-ExMHrN16.js → ProjectFavicon-CiauSitF.js} +3 -3
- package/dist/client/assets/ProjectIconPickerDialog-GDqk2LEH.js +2 -0
- package/dist/client/assets/{ProjectMonogram-um8sYqIi.js → ProjectMonogram-Bqe3OyZR.js} +2 -2
- package/dist/client/assets/{ProviderAuthTerminal-Tw3kH5vc.js → ProviderAuthTerminal-D_OC5vdS.js} +2 -2
- package/dist/client/assets/ProviderModelPicker-Bfpy_Rw1.js +2 -0
- package/dist/client/assets/ProviderSettingsForm-BA6yGdRn.js +2 -0
- package/dist/client/assets/PullRequestCodeTab-BOM7mgfd.js +6 -0
- package/dist/client/assets/{ReadOnlySourcePreview-Cw6lfMjA.js → ReadOnlySourcePreview-C3LnvSkA.js} +2 -2
- package/dist/client/assets/{RenderErrorBoundary-D21mPr47.js → RenderErrorBoundary-C-EIIrrq.js} +2 -2
- package/dist/client/assets/ScheduledTasksSettings-DFtwNfb8.js +4 -0
- package/dist/client/assets/ScopedSwitch-DsEcG6rk.js +2 -0
- package/dist/client/assets/SecretInput-Be5Akw8x.js +2 -0
- package/dist/client/assets/{SettingsPanels-DjzXV7Dm.js → SettingsPanels-CI-FknGh.js} +7 -7
- package/dist/client/assets/{SettingsPanels.logic-DpdMN_lX.js → SettingsPanels.logic-CLB8Pu-U.js} +2 -2
- package/dist/client/assets/{SettingsScopeNotice-CdNfxmW3.js → SettingsScopeNotice-CVoWG1oN.js} +2 -2
- package/dist/client/assets/T3ConnectAccountPages-ClNzwIQw.js +2 -0
- package/dist/client/assets/{T3ConnectSidebarSignIn-DewmE1PI.js → T3ConnectSidebarSignIn-BqM_Vqe1.js} +2 -2
- package/dist/client/assets/{ThemeEditorPanel-aEsLfkYx.js → ThemeEditorPanel-vVmQV_Vv.js} +3 -3
- package/dist/client/assets/ThreadTerminalDrawer-aLeVbe6g.js +5 -0
- package/dist/client/assets/{Virtualizer-B2BG0GB9.js → Virtualizer-DTOYU5Jp.js} +2 -2
- package/dist/client/assets/WorkspaceBreadcrumb-C9OPPGJE.js +2 -0
- package/dist/client/assets/WorkspacePageContainer-DtXJ5ept.js +2 -0
- package/dist/client/assets/{WorkspacePageHeader-BCZXPSxj.js → WorkspacePageHeader-5zzLFpEN.js} +2 -2
- package/dist/client/assets/_chat-BKcYL38S.js +45 -0
- package/dist/client/assets/{_chat.index-7o1_qjfU.js → _chat.index-BP1JWABB.js} +2 -2
- package/dist/client/assets/{_chat.new-W2E0MZ4y.js → _chat.new-BX5LyFum.js} +3 -3
- package/dist/client/assets/{_chat.pull-requests-DnQ-MKRG.js → _chat.pull-requests-B6-Vck8B.js} +2 -2
- package/dist/client/assets/{abnfDiagram-VCTEODGH-DJY5x2uS.js → abnfDiagram-VCTEODGH-BXvAfzAg.js} +2 -2
- package/dist/client/assets/{alert-yllEf0yh.js → alert-B-or1ble.js} +2 -2
- package/dist/client/assets/architecture-7GRP2DOG-DqzmsB35.js +1 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-6YiKazHv.js → architectureDiagram-5GKGNRK7-MEUA3QVe.js} +2 -2
- package/dist/client/assets/arrow-left-DI1Oo3nI.js +1 -0
- package/dist/client/assets/arrow-right-DRgAj8le.js +1 -0
- package/dist/client/assets/arrow-up-down-C6OEPUz7.js +1 -0
- package/dist/client/assets/assets-_CWIS9vb.js +2 -0
- package/dist/client/assets/bell-DW1iPWzH.js +1 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-D_EURhbV.js → blockDiagram-I7D4REHJ-BOdLeYJh.js} +2 -2
- package/dist/client/assets/blocks-DKOyf4K4.js +1 -0
- package/dist/client/assets/bot-DYcBiSui.js +1 -0
- package/dist/client/assets/{browserHistoryStore-B-t3Vc_Z.js → browserHistoryStore-BJD0OPpb.js} +2 -2
- package/dist/client/assets/{browserLinkTarget-CiQS1wUg.js → browserLinkTarget-CoogLhhO.js} +2 -2
- package/dist/client/assets/{c4Diagram-7LVT6UL2-CmfPrrIj.js → c4Diagram-7LVT6UL2-COZrm1O8.js} +2 -2
- package/dist/client/assets/calendar-clock-BqL7OneL.js +1 -0
- package/dist/client/assets/channel-DbsUczqI.js +2 -0
- package/dist/client/assets/chart-no-axes-column-CtQ7A5KE.js +1 -0
- package/dist/client/assets/checkbox-CaZu1EKJ.js +2 -0
- package/dist/client/assets/{chunk-4HAMMTFA-BdvKUuii.js → chunk-4HAMMTFA-Bs-Fo0v1.js} +2 -2
- package/dist/client/assets/{chunk-75Z2AOVW-DXz8BlJz.js → chunk-75Z2AOVW-DpOWzc3R.js} +2 -2
- package/dist/client/assets/{chunk-DU6HZSFF-ebFBoLTT.js → chunk-DU6HZSFF-Bgpi4W6E.js} +2 -2
- package/dist/client/assets/{chunk-F27PBJKO-B1MlVcaX.js → chunk-F27PBJKO-CLxgnzXS.js} +2 -2
- package/dist/client/assets/{chunk-GMAD6QVW-CEXqem_-.js → chunk-GMAD6QVW-D98J5Pan.js} +2 -2
- package/dist/client/assets/{chunk-GVQU2GXP-wsgr7T0u.js → chunk-GVQU2GXP-VuCIOHGI.js} +2 -2
- package/dist/client/assets/{chunk-IMKFNOWR-Daxc_3WP.js → chunk-IMKFNOWR-DXIyBsaE.js} +2 -2
- package/dist/client/assets/{chunk-L3NEJ4N5-C4NnipZ0.js → chunk-L3NEJ4N5-CrMlU3ZU.js} +2 -2
- package/dist/client/assets/{chunk-OSK3NFVY-DDd2Ay5_.js → chunk-OSK3NFVY-V2__4gNB.js} +2 -2
- package/dist/client/assets/{chunk-P2QGCYS3-I9iEYMEJ.js → chunk-P2QGCYS3-BrPw6V5F.js} +2 -2
- package/dist/client/assets/{chunk-POPQ4Y6H-Cgwl0wkZ.js → chunk-POPQ4Y6H-DBQ9Y51x.js} +2 -2
- package/dist/client/assets/{chunk-PWAF6VOD-kBB0Jquc.js → chunk-PWAF6VOD-BN6AAbfF.js} +2 -2
- package/dist/client/assets/{chunk-SHT3W25Y-gtUoMWd0.js → chunk-SHT3W25Y-Vay44dCU.js} +2 -2
- package/dist/client/assets/{chunk-SVP7TREG-CbL5vJ0z.js → chunk-SVP7TREG-CcGlNErV.js} +2 -2
- package/dist/client/assets/{chunk-TICWLB2K-CMgrptzc.js → chunk-TICWLB2K-Dk1P_xkD.js} +2 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-DotTjRcO.js +2 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-DotTjRcO.js +2 -0
- package/dist/client/assets/{color-picker-Cj2frYnP.js → color-picker-gBclRe5T.js} +2 -2
- package/dist/client/assets/{combobox-DixSlhgy.js → combobox-C81z_216.js} +2 -2
- package/dist/client/assets/{command-B45LRbFT.js → command-DnJZPOmf.js} +2 -2
- package/dist/client/assets/{connect-CYM5DIkv.js → connect-Am2IS-vZ.js} +2 -2
- package/dist/client/assets/{connect-agent-nn3QLMb4.js → connect-agent-Cw1s7hYt.js} +2 -2
- package/dist/client/assets/corner-left-up-BT-2gfvH.js +1 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-CmLjrFzm.js → cynefin-OW5HDTMX-0s30RxOq.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-xQBevUIj.js → cynefinDiagram-5FMLGOSQ-Drd0Msog.js} +2 -2
- package/dist/client/assets/{dagre-GXQ25YYZ-Ck8BwJaT.js → dagre-GXQ25YYZ-BMfu7T0o.js} +2 -2
- package/dist/client/assets/device-C_oIGJqy.js +2 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-Bl0e661x.js → diagram-S7CK7UJ4-8egngY0E.js} +2 -2
- package/dist/client/assets/{diagram-UQ7AKVKN-TO9a3uQI.js → diagram-UQ7AKVKN-BALPQoDH.js} +2 -2
- package/dist/client/assets/{diagram-VSXAHHWV-BZ7xQ8wz.js → diagram-VSXAHHWV-BjyJZVGC.js} +2 -2
- package/dist/client/assets/{diagram-VX7I27RA-C4cA30qa.js → diagram-VX7I27RA-B9f6eKkq.js} +2 -2
- package/dist/client/assets/{diagram-Z3DM3KII-Hl3MmqeP.js → diagram-Z3DM3KII-CRUj2d3v.js} +2 -2
- package/dist/client/assets/{dialog-DhJeevKt.js → dialog-Bn1u_Xoc.js} +2 -2
- package/dist/client/assets/{diffRendering-QVeYVRDU.js → diffRendering-C26rfQBu.js} +2 -2
- package/dist/client/assets/{discovery-list-VoilmsP7.js → discovery-list-Fg_u6w-x.js} +2 -2
- package/dist/client/assets/{dist-CxgL3edJ.js → dist-DtKaGeij.js} +5 -5
- package/dist/client/assets/download-DNjijPHR.js +1 -0
- package/dist/client/assets/{draft-input-BrEXLyuj.js → draft-input-D8eUYug0.js} +2 -2
- package/dist/client/assets/{duoViewer-D-_bD3-L.js → duoViewer-CBoAg4hS.js} +2 -2
- package/dist/client/assets/dynamic-p5s8CQGu.js +3 -0
- package/dist/client/assets/earth-DGA4iwBJ.js +1 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-Bo_ALmgV.js → ebnfDiagram-PWID7BFC-BSbPiqg7.js} +2 -2
- package/dist/client/assets/ellipsis-Cbd-Ac19.js +1 -0
- package/dist/client/assets/{embeddedScripts-DKKE5k7D.js → embeddedScripts-Dsi0aZEx.js} +2 -2
- package/dist/client/assets/empty-C-gDaZ_z.js +2 -0
- package/dist/client/assets/entities-82m-Smm-.js +2 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-B38FLl2U.js → erDiagram-RLTQ6QDP-sL_q0j_k.js} +2 -2
- package/dist/client/assets/eventmodeling-NTZA5JFV-OEIkdS25.js +1 -0
- package/dist/client/assets/eye-BUplLfz9.js +1 -0
- package/dist/client/assets/file-search-CcnLiCku.js +1 -0
- package/dist/client/assets/fileContextMenu-Dcs50sFI.js +2 -0
- package/dist/client/assets/{fileLinks-VfyxNu8P.js → fileLinks-DubkPNVt.js} +2 -2
- package/dist/client/assets/{fileTreeExpansion-BfMZMaRV.js → fileTreeExpansion-VtSAPhxL.js} +2 -2
- package/dist/client/assets/flowDiagram-HODETNUW-BDZPeVYD.js +1 -0
- package/dist/client/assets/fold-vertical-BMLbHh0a.js +2 -0
- package/dist/client/assets/folder-cog-BMK_9DOi.js +2 -0
- package/dist/client/assets/folder-git-2-5RczFn6m.js +1 -0
- package/dist/client/assets/folder-open-PwiT4lvQ.js +1 -0
- package/dist/client/assets/folder-plus--IokSBmG.js +1 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-Cj0Kstgh.js → ganttDiagram-EL5Y4UJY-DCiKb0rQ.js} +2 -2
- package/dist/client/assets/{getDiffFileInput-XUe1xsym.js → getDiffFileInput-DU5zpXo3.js} +2 -2
- package/dist/client/assets/git-branch-jf-x2c63.js +1 -0
- package/dist/client/assets/{gitGraph-4MIJSDKK-C84uaaYZ.js → gitGraph-4MIJSDKK-DfRe6ZT5.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-CvyimLfZ.js → gitGraphDiagram-WWUBYQGX-Bt7diV1n.js} +2 -2
- package/dist/client/assets/grip-vertical-OASdudbE.js +1 -0
- package/dist/client/assets/{guideRunStore-DwmmS8D0.js → guideRunStore-CF9bByzk.js} +2 -2
- package/dist/client/assets/hard-drive-BxN5msOb.js +1 -0
- package/dist/client/assets/history-DdVU5lcf.js +1 -0
- package/dist/client/assets/house-mbks5FAa.js +1 -0
- package/dist/client/assets/{htmlRender-DRfZ8nFp.js → htmlRender-vOqAdlJH.js} +2 -2
- package/dist/client/assets/index-1HGbj0-7.js +3 -0
- package/dist/client/assets/{info-A6RAGUB7-AXJa674d.js → info-A6RAGUB7-0FtL6-Am.js} +1 -1
- package/dist/client/assets/{infoDiagram-27XIBGKW-CgaIIar7.js → infoDiagram-27XIBGKW-BPLvtPCc.js} +2 -2
- package/dist/client/assets/{input-u5qjnfMr.js → input-Cd_0h7h_.js} +2 -2
- package/dist/client/assets/{input-group-DIOgVvbV.js → input-group-CJ7ZOvDN.js} +2 -2
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-DSDzMD_t.js → ishikawaDiagram-5VMMS53U-DVcx0XTh.js} +2 -2
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-Be6o5a7O.js → journeyDiagram-3NMN7TZE-w46bbjL2.js} +2 -2
- package/dist/client/assets/{kanban-definition-UXKFOSKX-Fpr0ne16.js → kanban-definition-UXKFOSKX-C41yE_yV.js} +2 -2
- package/dist/client/assets/kbd-c17EHIx1.js +2 -0
- package/dist/client/assets/keybindings-uYm_vnXl.js +2 -0
- package/dist/client/assets/keyboard-DckDn_SM.js +1 -0
- package/dist/client/assets/{lazyRouteComponent-dLOOuQ-r.js → lazyRouteComponent-CTVuEvaz.js} +2 -2
- package/dist/client/assets/{line-BXhbrPh0.js → line-tu9XZ0qp.js} +2 -2
- package/dist/client/assets/{link-YLDgrmSN.js → link-C4sEUNOK.js} +2 -2
- package/dist/client/assets/link-Dw3ue0Rm.js +1 -0
- package/dist/client/assets/{linkedPrompt-E32o3H76.js → linkedPrompt-VYl90REW.js} +2 -2
- package/dist/client/assets/list-1rglB5Lq.js +1 -0
- package/dist/client/assets/main-BB3F4O6Y.js +30 -0
- package/dist/client/assets/main-CnVegMVf.css +2 -0
- package/dist/client/assets/{mediaReference-C-grVzJf.js → mediaReference-BTVvzs2e.js} +2 -2
- package/dist/client/assets/{mediaSource-CxVHZYDj.js → mediaSource-DXHFWHMA.js} +2 -2
- package/dist/client/assets/{mermaid-parser.core-BFPy42Wg.js → mermaid-parser.core-DNd412Oc.js} +4 -4
- package/dist/client/assets/{mermaid.core-zK2u82e-.js → mermaid.core-CyE6QOQY.js} +5 -5
- package/dist/client/assets/message-circle-question-mark-CLPs5tYP.js +1 -0
- package/dist/client/assets/message-square-BInn4EwR.js +1 -0
- package/dist/client/assets/message-square-dashed-Dea7_sXv.js +1 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-RzkTvFrT.js → mindmap-definition-YA3MSWOX-DH1uxdTm.js} +2 -2
- package/dist/client/assets/mouse-pointer-2-BPl1Yb5N.js +1 -0
- package/dist/client/assets/number-field-CVtwAsLe.js +2 -0
- package/dist/client/assets/{observeResize-WQaFQjbx.js → observeResize-Csvw3hy4.js} +2 -2
- package/dist/client/assets/{onboarding-DNafmm6s.js → onboarding-CJPrQc71.js} +2 -2
- package/dist/client/assets/openFileInPreview-C3O_ayUT.js +2 -0
- package/dist/client/assets/{p4ProjectFile-BzCYJ8I-.js → p4ProjectFile-BWszgcDk.js} +2 -2
- package/dist/client/assets/{packet-AYTQ26CC-rDYSbNWh.js → packet-AYTQ26CC-DflCOkCN.js} +1 -1
- package/dist/client/assets/{pair-nG9A6oxp.js → pair-Dd_e1jxq.js} +2 -2
- package/dist/client/assets/palette-DC6st-Ld.js +1 -0
- package/dist/client/assets/panel-left-BxNE-mqR.js +1 -0
- package/dist/client/assets/panels-top-left-CpwWAaSX.js +1 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-8wodyYDi.js → pegDiagram-XKGWAZYB-Cnx9j2xX.js} +2 -2
- package/dist/client/assets/{phoneViewer-Bei8FsYJ.js → phoneViewer-B9EUVDD2.js} +2 -2
- package/dist/client/assets/{pie-WAS4IAKB-Ce0_zpeP.js → pie-WAS4IAKB-CDwew7fN.js} +1 -1
- package/dist/client/assets/{pieDiagram-E7YTZNPT-C3QJYWCY.js → pieDiagram-E7YTZNPT-BxejSN6k.js} +2 -2
- package/dist/client/assets/{pierre-icons-CsjmRq9p.js → pierre-icons-C839Otpo.js} +2 -2
- package/dist/client/assets/plug-Cdxb0djR.js +2 -0
- package/dist/client/assets/popover-CKyetthu.js +2 -0
- package/dist/client/assets/{preview-DFDpDpup.js → preview-CEMnbqVB.js} +2 -2
- package/dist/client/assets/{preview-BpTu6A2K.js → preview-CjgXQQdj.js} +2 -2
- package/dist/client/assets/{previewMiniPlayerStore-BfMwexwO.js → previewMiniPlayerStore-B9Lqaaij.js} +2 -2
- package/dist/client/assets/primary-uszZTzpR.js +2 -0
- package/dist/client/assets/primaryCloudLinkState-CWT2YTBZ.js +2 -0
- package/dist/client/assets/projectFilesQueryState-ELgLflk5.js +2 -0
- package/dist/client/assets/projectScriptEditor-BAuP_HeU.js +2 -0
- package/dist/client/assets/{pullRequestDetail.logic-CE7fVOsp.js → pullRequestDetail.logic-DTxWqKoX.js} +4 -4
- package/dist/client/assets/{pullRequestReviewStore-BHEIYvsP.js → pullRequestReviewStore-C5gaoGaz.js} +2 -2
- package/dist/client/assets/pullRequests-DjbQ49mZ.js +2 -0
- package/dist/client/assets/puzzle-foT3lPUZ.js +1 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-Cqx4Dcqi.js → quadrantDiagram-AXDQQJYC-Bj4FEpOg.js} +2 -2
- package/dist/client/assets/queries-Cq5C9N-K.js +2 -0
- package/dist/client/assets/query-DpwJQzeq.js +2 -0
- package/dist/client/assets/{radar-RG4KPBEZ-DsccxBWq.js → radar-RG4KPBEZ-DEopr2Gv.js} +1 -1
- package/dist/client/assets/radio-group-fljQQ7Xp.js +2 -0
- package/dist/client/assets/{railroad-74A4TZTK-B-UN2mSQ.js → railroad-74A4TZTK-BSAOgUn6.js} +1 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-C_4g8TOP.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-CHZB5YoP.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-B-PbMjlp.js +1 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-B_PdDy5r.js → railroadDiagram-O6MQD6OU-BSOJGJ6v.js} +2 -2
- package/dist/client/assets/{renderScheduler-D1ml_j--.js → renderScheduler-v8LIpnE2.js} +2 -2
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-CKZ6HpQu.js → requirementDiagram-BXWQKSXE-Bp5TqEho.js} +2 -2
- package/dist/client/assets/rightPanelStore-DqMd0tFH.js +2 -0
- package/dist/client/assets/rotate-ccw-rssHZoOL.js +1 -0
- package/dist/client/assets/rotate-cw-D726GGah.js +1 -0
- package/dist/client/assets/runtime-BQJQC-Ny.js +6 -0
- package/dist/client/assets/runtime-C6FwphD-.js +2 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-BLF-VPcj.js → sankeyDiagram-P5KCCOFB-C7KUHrP7.js} +2 -2
- package/dist/client/assets/scheduledTasksSettings.logic-C3Mbc4mh.js +3 -0
- package/dist/client/assets/{scroll-area-CsrtHuL8.js → scroll-area-LhpLVf8r.js} +2 -2
- package/dist/client/assets/select-B4VvMEs2.js +2 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BpJGkNAx.js → sequenceDiagram-WJ2MYXX4-Bs9mfTLC.js} +2 -2
- package/dist/client/assets/server-BD_Y5Gsn.js +2 -0
- package/dist/client/assets/session-DsbInyNV.js +2 -0
- package/dist/client/assets/session-logic-DneZDyPZ.js +26 -0
- package/dist/client/assets/settings-2-Qrnq-5XQ.js +1 -0
- package/dist/client/assets/settings-C8FiUQu0.js +2 -0
- package/dist/client/assets/settings-MUAsYy_j.js +1 -0
- package/dist/client/assets/settings.appearance-B5-X4oyX.js +2 -0
- package/dist/client/assets/settings.archived-DVUmF0nS.js +2 -0
- package/dist/client/assets/{settings.computer-use-DuW-mXPO.js → settings.computer-use-B3Ujc2AS.js} +2 -2
- package/dist/client/assets/settings.connections-EQYBOa7e.js +2 -0
- package/dist/client/assets/settings.decisions-C5UE4drK.js +2 -0
- package/dist/client/assets/{settings.diagnostics-DSw1QN-I.js → settings.diagnostics-CBcOEqPM.js} +2 -2
- package/dist/client/assets/settings.general-BOmr4mSV.js +2 -0
- package/dist/client/assets/settings.integrations-BCtpk2dY.js +2 -0
- package/dist/client/assets/{settings.keybindings-BeQmUtKv.js → settings.keybindings-DfFrYXxY.js} +2 -2
- package/dist/client/assets/settings.open-source-licenses-CqRM1gRd.js +2 -0
- package/dist/client/assets/settings.plugins-DC4js6dE.js +5 -0
- package/dist/client/assets/{settings.projects--jLA2A5b.js → settings.projects-CT-l0EfX.js} +4 -4
- package/dist/client/assets/settings.providers-CJuBTAiR.js +3 -0
- package/dist/client/assets/settings.scheduled-tasks-CvLNaadX.js +2 -0
- package/dist/client/assets/{settings.snap-shot-CUZNOX9M.js → settings.snap-shot-BMxV-ClC.js} +2 -2
- package/dist/client/assets/settings.source-control-DJWucVsM.js +2 -0
- package/dist/client/assets/settings.storage-DKm6BZ2r.js +2 -0
- package/dist/client/assets/settingsLayout-jP1a50ek.js +3 -0
- package/dist/client/assets/shield-question-mark-kKJBH4Uj.js +1 -0
- package/dist/client/assets/{sidebar-Dj0htG-5.js → sidebar-DI1ZJMkM.js} +2 -2
- package/dist/client/assets/{sidebarProjectGrouping-DxzT7QCQ.js → sidebarProjectGrouping-DXRKqrOP.js} +2 -2
- package/dist/client/assets/skeleton-BlMPaSbD.js +2 -0
- package/dist/client/assets/{sortable.esm-n8ce5zjO.js → sortable.esm-CnSn9HhJ.js} +2 -2
- package/dist/client/assets/{sourceControl-C3RSledt.js → sourceControl-ogZI3Qhj.js} +2 -2
- package/dist/client/assets/{spinner-BXr4m38K.js → spinner-I_NrXl2i.js} +2 -2
- package/dist/client/assets/square-menu-dCwciC39.js +2 -0
- package/dist/client/assets/square-pen-DilH8raK.js +1 -0
- package/dist/client/assets/square-plus-CeFmBUPF.js +2 -0
- package/dist/client/assets/{standalone-page-DSQDdNcR.js → standalone-page-C0mvdk0N.js} +2 -2
- package/dist/client/assets/{stateDiagram-D77RDMKH-DFGb4Fx3.js → stateDiagram-D77RDMKH-lcvbm4gc.js} +2 -2
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-DuLLhUia.js +2 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-D0z9osG6.js → swimlanes-42K2YHIH-BftXRbCQ.js} +2 -2
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-BrHQKVnf.js +9 -0
- package/dist/client/assets/terminal-links-BWEpET__.js +2 -0
- package/dist/client/assets/terminalLabels-BgLOlb2G.js +2 -0
- package/dist/client/assets/{terminalSessions-3aynRXX1.js → terminalSessions-CQOPPXfy.js} +2 -2
- package/dist/client/assets/text-search-DpDcKspl.js +1 -0
- package/dist/client/assets/{textarea-DZLyhzuZ.js → textarea-Bu723jDd.js} +2 -2
- package/dist/client/assets/themePalette-CAxv2FDZ.js +5 -0
- package/dist/client/assets/threadSort-BoaTqeGH.js +2 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-oHM5IS4i.js → timeline-definition-24CTP7MA-_aV_EuqE.js} +2 -2
- package/dist/client/assets/toast-CjelgyqV.js +2 -0
- package/dist/client/assets/{toggle-BzIEPTf7.js → toggle-B5fidRv0.js} +2 -2
- package/dist/client/assets/{toggle-group-_C7nJPTT.js → toggle-group-DCQTLIPb.js} +2 -2
- package/dist/client/assets/tooltip-taOyJZax.js +2 -0
- package/dist/client/assets/{treeView-Q6P3EWNA-ONHv8oqx.js → treeView-Q6P3EWNA-ALGd5g_W.js} +1 -1
- package/dist/client/assets/{treemap-WGGIJYW6-Go2hwkyn.js → treemap-WGGIJYW6-CGQrkzMs.js} +1 -1
- package/dist/client/assets/unfold-vertical-BLnEY4R7.js +2 -0
- package/dist/client/assets/usage-DmGxFUdr.js +2 -0
- package/dist/client/assets/{usageAccess-BNLOTFbF.js → usageAccess-CY-JtQnU.js} +2 -2
- package/dist/client/assets/{usageFormat-DKCO_wk0.js → usageFormat-Cs-UHzLq.js} +2 -2
- package/dist/client/assets/{usageShortcuts-DxLRXv0W.js → usageShortcuts-CP952NDO.js} +2 -2
- package/dist/client/assets/use-atom-command-CQHjSXPR.js +2 -0
- package/dist/client/assets/{useAriaLabelledBy-CJjXf8Fd.js → useAriaLabelledBy-4I5xhNlP.js} +2 -2
- package/dist/client/assets/useHandleNewThread-Bzaf_PDE.js +2 -0
- package/dist/client/assets/{useLocation-9axGTsrg.js → useLocation-QINZoaPz.js} +2 -2
- package/dist/client/assets/useNavigate-4thj06GJ.js +2 -0
- package/dist/client/assets/{useNavigateBack-AIHPN0Oo.js → useNavigateBack-CbbWf0z6.js} +2 -2
- package/dist/client/assets/{useParams-CCV3vN4E.js → useParams-BTKEXLBT.js} +2 -2
- package/dist/client/assets/{usePermissionStatus-BnBF7CdE.js → usePermissionStatus-Zbsv_90x.js} +2 -2
- package/dist/client/assets/{usePullRequestActions-aKrHzIiJ.js → usePullRequestActions-DGTJ6ne6.js} +3 -3
- package/dist/client/assets/useRegisterFieldControl-Cr87Snzk.js +2 -0
- package/dist/client/assets/useScopedModelAvailability-BEfh0WXx.js +2 -0
- package/dist/client/assets/useSettings-CLtJrOYI.js +3 -0
- package/dist/client/assets/{useT3ConnectAuthPrompt-CK8il-7e.js → useT3ConnectAuthPrompt-BYqrzQIx.js} +2 -2
- package/dist/client/assets/utils-DmfMX1v5.js +37 -0
- package/dist/client/assets/vcsRefInvalidation-nP-qgsHs.js +2 -0
- package/dist/client/assets/{vennDiagram-4TSXK5OY-BwVRZPOj.js → vennDiagram-4TSXK5OY-9Jx7JrgE.js} +2 -2
- package/dist/client/assets/{wardley-WFR3VGLG-CYl4h3U-.js → wardley-WFR3VGLG-qG58RzFw.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-yHMYVGhg.js → wardleyDiagram-VM6X3IG4-8Ml3tzfR.js} +2 -2
- package/dist/client/assets/welcome-CPcQsM9H.js +2 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-Td7MQ_xN.js → xychartDiagram-S5SC5T6Z-C-u_0wo0.js} +2 -2
- package/dist/client/index.html +11 -8
- package/package.json +1 -1
- package/dist/client/assets/ChatGptUsageButton-7IZqWaQq.js +0 -2
- package/dist/client/assets/ChatMarkdown-D3ITm4U-.js +0 -65
- package/dist/client/assets/CodexSetupSection.logic-DyTuN6tg.js +0 -2
- package/dist/client/assets/ComboboxClear-BXGqqvsR.js +0 -2
- package/dist/client/assets/CompositeRoot-CW06ANMY.js +0 -2
- package/dist/client/assets/DevicePanel-zG3feCFw.js +0 -2
- package/dist/client/assets/DialogTitle-7tvQYVxE.js +0 -2
- package/dist/client/assets/DiffFileTree-BhSPT6m_.js +0 -2
- package/dist/client/assets/DiffPanel-D7QMWq_A.js +0 -2
- package/dist/client/assets/FilePreviewPanel-CSKeM-xZ.js +0 -34
- package/dist/client/assets/FoldedSettingsSection-BJm8ZaTy.js +0 -2
- package/dist/client/assets/PreviewPanel-BEWZuH6o.js +0 -2
- package/dist/client/assets/ProjectDefaultsSettings-BRRQlvgR.js +0 -2
- package/dist/client/assets/ProjectIconPickerDialog-DXSyEGg8.js +0 -2
- package/dist/client/assets/ProviderModelPicker-CpgHpUCG.js +0 -2
- package/dist/client/assets/ProviderSettingsForm-CaNO8FYK.js +0 -2
- package/dist/client/assets/PullRequestCodeTab-DwqL4aAJ.js +0 -6
- package/dist/client/assets/RedactedSensitiveText-citJBx4E.js +0 -2
- package/dist/client/assets/ScheduledTasksSettings-BXOG7dPV.js +0 -4
- package/dist/client/assets/ScopedSwitch-2MBm4Srn.js +0 -2
- package/dist/client/assets/T3ConnectAccountPages-C6qHq26m.js +0 -2
- package/dist/client/assets/ThreadTerminalDrawer-C1NDkTSs.js +0 -5
- package/dist/client/assets/UsageLimits-BUS51Bjr.js +0 -2
- package/dist/client/assets/WorkspaceBreadcrumb-DX3xH6tC.js +0 -2
- package/dist/client/assets/WorkspacePageContainer-BFo6qTGJ.js +0 -2
- package/dist/client/assets/_chat-B3j3XTUJ.js +0 -58
- package/dist/client/assets/architecture-7GRP2DOG-nO5xG-8k.js +0 -1
- package/dist/client/assets/arrow-left-yEW5WFYj.js +0 -1
- package/dist/client/assets/arrow-right-BzVZfSb7.js +0 -1
- package/dist/client/assets/arrow-up-down-DjL7trCL.js +0 -1
- package/dist/client/assets/assets-BxSVuao2.js +0 -2
- package/dist/client/assets/bell-ue7A6JFg.js +0 -1
- package/dist/client/assets/blocks-De0WwZYY.js +0 -1
- package/dist/client/assets/bot-_T9E-nkd.js +0 -1
- package/dist/client/assets/calendar-clock-DXFNSdXM.js +0 -1
- package/dist/client/assets/channel-BE0ymtNV.js +0 -2
- package/dist/client/assets/chart-no-axes-column-Dx_cyfN9.js +0 -1
- package/dist/client/assets/checkbox-CIeee0-J.js +0 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-YRduSbl9.js +0 -2
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-YRduSbl9.js +0 -2
- package/dist/client/assets/collapsible-C3qenpEI.js +0 -2
- package/dist/client/assets/corner-left-up-DohBMTTI.js +0 -1
- package/dist/client/assets/device-BRhRKysY.js +0 -2
- package/dist/client/assets/download-B587khDU.js +0 -1
- package/dist/client/assets/dynamic-R3OtJZHK.js +0 -3
- package/dist/client/assets/earth-26IFbzWm.js +0 -1
- package/dist/client/assets/ellipsis-BScTTB_n.js +0 -1
- package/dist/client/assets/empty-uoiaKPHo.js +0 -2
- package/dist/client/assets/entities-DNKDCsf2.js +0 -2
- package/dist/client/assets/eventmodeling-NTZA5JFV-6XFarcvj.js +0 -1
- package/dist/client/assets/eye-DTlv8Vet.js +0 -1
- package/dist/client/assets/file-search-gFHOfI6S.js +0 -1
- package/dist/client/assets/flowDiagram-HODETNUW-DQXavjl4.js +0 -1
- package/dist/client/assets/fold-vertical-BNQMJ6gu.js +0 -1
- package/dist/client/assets/folder-cog-CYwPj2H1.js +0 -2
- package/dist/client/assets/folder-git-2-6ON-nxul.js +0 -1
- package/dist/client/assets/folder-open-Rja0vZjv.js +0 -1
- package/dist/client/assets/folder-plus-CfJ5c8wa.js +0 -1
- package/dist/client/assets/git-branch-BuWXMpmq.js +0 -1
- package/dist/client/assets/grip-vertical-qjSy6wXX.js +0 -1
- package/dist/client/assets/hard-drive-DAxFba08.js +0 -1
- package/dist/client/assets/history-CrY611k2.js +0 -1
- package/dist/client/assets/house-CKS51Vx8.js +0 -1
- package/dist/client/assets/index-G0rP4C-v.js +0 -3
- package/dist/client/assets/kbd-D4mDfHPa.js +0 -2
- package/dist/client/assets/keybindings-CzL-fWkh.js +0 -2
- package/dist/client/assets/keyboard-Y7zJXIRo.js +0 -1
- package/dist/client/assets/link-CbhoiCa8.js +0 -1
- package/dist/client/assets/list-Cq4wtMwR.js +0 -1
- package/dist/client/assets/main-D9nJEeym.css +0 -2
- package/dist/client/assets/main-D9z9rMK1.js +0 -27
- package/dist/client/assets/message-circle-question-mark-BwzHSg4C.js +0 -1
- package/dist/client/assets/message-square-DcSgYDZ6.js +0 -1
- package/dist/client/assets/message-square-dashed-Cu56tC0F.js +0 -1
- package/dist/client/assets/mouse-pointer-2-DxhF1Woc.js +0 -1
- package/dist/client/assets/number-field-BLz8W5SU.js +0 -2
- package/dist/client/assets/openFileInPreview-l6IXWIxV.js +0 -2
- package/dist/client/assets/palette-B79srcx1.js +0 -1
- package/dist/client/assets/panel-left-Bp59PK2R.js +0 -1
- package/dist/client/assets/panel-tab-close-button-B2GW1bDy.js +0 -2
- package/dist/client/assets/panels-top-left-CC3HCiIs.js +0 -1
- package/dist/client/assets/plug-B1ccrQcT.js +0 -2
- package/dist/client/assets/popover-6BYEGLLK.js +0 -2
- package/dist/client/assets/primary-Cc8Am8Ju.js +0 -2
- package/dist/client/assets/primaryCloudLinkState-N7pLty-_.js +0 -2
- package/dist/client/assets/projectFilesQueryState-CrGsc81w.js +0 -2
- package/dist/client/assets/projectScriptEditor-RR3KkKhh.js +0 -2
- package/dist/client/assets/pullRequests-KhjrMCa0.js +0 -2
- package/dist/client/assets/puzzle-Df6hPSJS.js +0 -2
- package/dist/client/assets/queries-Cn1FJB1_.js +0 -2
- package/dist/client/assets/query-CK8MOmXr.js +0 -2
- package/dist/client/assets/radio-group-CM6Ra-QS.js +0 -2
- package/dist/client/assets/railroad-abnf-HS5TGJTU-CIxA0Vp4.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-Czs81Kdn.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-B7O8OPsa.js +0 -1
- package/dist/client/assets/rightPanelStore-6LLb3GY0.js +0 -2
- package/dist/client/assets/rotate-ccw-dcahmZQ2.js +0 -1
- package/dist/client/assets/rotate-cw-CIep6yNT.js +0 -1
- package/dist/client/assets/runtime-BVgeNXTV.js +0 -2
- package/dist/client/assets/runtime-CCr9UADV.js +0 -6
- package/dist/client/assets/scheduledTasksSettings.logic-ozIaTRfT.js +0 -3
- package/dist/client/assets/select-BiARKKgd.js +0 -2
- package/dist/client/assets/server-B26doYv6.js +0 -2
- package/dist/client/assets/session-CQXL-cTI.js +0 -2
- package/dist/client/assets/session-logic-C0mrkZ0j.js +0 -13
- package/dist/client/assets/settings-2-C2dIdVBr.js +0 -1
- package/dist/client/assets/settings-B5Dj0jhP.js +0 -2
- package/dist/client/assets/settings-DiBtchmK.js +0 -1
- package/dist/client/assets/settings.appearance-Di8HZa2Q.js +0 -2
- package/dist/client/assets/settings.archived-By34XjbG.js +0 -2
- package/dist/client/assets/settings.connections-BJuKrJhl.js +0 -2
- package/dist/client/assets/settings.decisions-BO8hfyYm.js +0 -2
- package/dist/client/assets/settings.general-RyWWgxqp.js +0 -2
- package/dist/client/assets/settings.integrations--N8SMmw7.js +0 -2
- package/dist/client/assets/settings.open-source-licenses-BmgFSigO.js +0 -2
- package/dist/client/assets/settings.providers-Cvt1-bmr.js +0 -3
- package/dist/client/assets/settings.scheduled-tasks-D5IG4nj_.js +0 -2
- package/dist/client/assets/settings.source-control-R63Z9kEM.js +0 -2
- package/dist/client/assets/settings.storage-J1kthey9.js +0 -2
- package/dist/client/assets/settingsLayout-BzyY4qHt.js +0 -3
- package/dist/client/assets/shield-question-mark-l31p7uuJ.js +0 -1
- package/dist/client/assets/skeleton-CtSxs1y1.js +0 -2
- package/dist/client/assets/square-menu-Bq3HnG2U.js +0 -2
- package/dist/client/assets/square-pen-CxvvUOOt.js +0 -1
- package/dist/client/assets/square-plus-B9j2jkOq.js +0 -2
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BFcRJjAO.js +0 -2
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-B7z2b1Qv.js +0 -9
- package/dist/client/assets/text-search-DsadxNJw.js +0 -1
- package/dist/client/assets/themePalette-BZeqG2Hu.js +0 -5
- package/dist/client/assets/threadSort-BvhI6zOp.js +0 -2
- package/dist/client/assets/toast-Bm36EaG6.js +0 -2
- package/dist/client/assets/tooltip-Df-4YKs5.js +0 -2
- package/dist/client/assets/unfold-vertical--twzQtvn.js +0 -1
- package/dist/client/assets/usage-B26GT0RK.js +0 -2
- package/dist/client/assets/use-atom-command-CiEeUGsC.js +0 -2
- package/dist/client/assets/useHandleNewThread-DTz3ztCG.js +0 -2
- package/dist/client/assets/useNavigate-BK_XZ1It.js +0 -2
- package/dist/client/assets/useRegisterFieldControl-Daf1iBkI.js +0 -2
- package/dist/client/assets/useScopedModelAvailability-IKTxpeQL.js +0 -2
- package/dist/client/assets/useSettings-CckatJFa.js +0 -3
- package/dist/client/assets/utils-DmS758az.js +0 -37
- package/dist/client/assets/vcsRefInvalidation-lkYjTxah.js +0 -2
- package/dist/client/assets/welcome-CGBWwWzE.js +0 -2
package/dist/client/assets/{settings.keybindings-BeQmUtKv.js → settings.keybindings-DfFrYXxY.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Af as n,Jn as r,Un as i,Wn as a,Xn as o,ar as s,ma as c,or as l,t as u,wf as d,wx as f,xc as p}from"./utils-DmS758az.js";import{t as m}from"./chevron-down-DHV04o66.js";import{t as h}from"./circle-x-C-GXnJRB.js";import{t as g}from"./file-braces-CcggTVd0.js";import{t as _}from"./minus-C7W28oE7.js";import{t as v}from"./plus-Cr075-cy.js";import{t as y}from"./search-Cr9eaeTj.js";import{t as b}from"./triangle-alert-BiHUyRl3.js";import{t as x}from"./x-CSwbgjBe.js";import{L as S,U as C}from"./runtime-CCr9UADV.js";import{a as w,n as T,t as E}from"./tooltip-Df-4YKs5.js";import{a as D,c as O,o as k,s as A,t as j}from"./select-BiARKKgd.js";import{t as M}from"./useLocation-9axGTsrg.js";import{i as N}from"./toast-Bm36EaG6.js";import{f as P}from"./server-B26doYv6.js";import{i as F,n as I,o as L}from"./session-CQXL-cTI.js";import{t as R}from"./use-atom-command-CiEeUGsC.js";import{t as ee}from"./env-wK1YYxA8.js";import{t as z}from"./toggle-BzIEPTf7.js";import{t as B}from"./input-u5qjnfMr.js";import{r as te}from"./keybindings-CzL-fWkh.js";import{i as ne,o as re,t as ie}from"./popover-6BYEGLLK.js";import{n as V,r as ae,t as oe}from"./input-group-DIOgVvbV.js";import{n as se,t as ce}from"./kbd-D4mDfHPa.js";import{H as le,a as ue,i as de,s as fe,z as pe}from"./settingsLayout-BzyY4qHt.js";import{a as H,c as me,f as he,i as ge,l as _e,m as ve,n as ye,o as be,p as U,r as xe,s as Se,t as Ce,u as we}from"./KeybindingsSettings.logic-DhXMdk5O.js";import{Na as Te,Vo as Ee,ir as De,rr as Oe}from"./main-D9z9rMK1.js";var W=f(),G=e(t(),1),K=e(c(),1);function q(e){let t=(0,W.c)(6),{value:n}=e,r,i;if(t[0]!==n){let e=new Map,a=n.split(`+`).map(t=>{let n=e.get(t)??0;return e.set(t,n+1),{part:t,key:n===0?t:`${t}-${n}`}});r=se,i=a.map(ke),t[0]=n,t[1]=r,t[2]=i}else r=t[1],i=t[2];let a;return t[3]!==r||t[4]!==i?(a=(0,K.jsx)(r,{children:i}),t[3]=r,t[4]=i,t[5]=a):a=t[5],a}function ke(e){let{part:t,key:n}=e;return(0,K.jsx)(ce,{children:t===`mod`?navigator.platform.toLowerCase().includes(`mac`)?`⌘`:`Ctrl`:t===`shift`?`⇧`:t===`alt`?navigator.platform.toLowerCase().includes(`mac`)?`⌥`:`Alt`:t===`ctrl`?`⌃`:t.length===1?t.toUpperCase():t},n)}function Ae(e){let t=(0,W.c)(11),{query:n,onChange:r,inputRef:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(V,{children:(0,K.jsx)(y,{"aria-hidden":!0,className:`size-3.5`})}),t[0]=a):a=t[0];let o;t[1]===r?o=t[2]:(o=e=>r(e.currentTarget.value),t[1]=r,t[2]=o);let s;t[3]!==r||t[4]!==n?(s=e=>{e.key===`Escape`&&(e.preventDefault(),n.length>0?r(``):e.currentTarget.blur())},t[3]=r,t[4]=n,t[5]=s):s=t[5];let c;return t[6]!==i||t[7]!==n||t[8]!==o||t[9]!==s?(c=(0,K.jsxs)(oe,{className:`min-w-0 basis-full **:[input]:h-9 sm:basis-0 sm:flex-1 sm:**:[input]:h-8`,children:[a,(0,K.jsx)(ae,{ref:i,type:`search`,value:n,onChange:o,onKeyDown:s,placeholder:`Search keybindings`,"aria-label":`Search keybindings`,size:`sm`})]}),t[6]=i,t[7]=n,t[8]=o,t[9]=s,t[10]=c):c=t[10],c}function je(e,t){return e.type===t?[...je(e.left,t),...je(e.right,t)]:[e]}function J(e,t){let n=e[0];if(n)return e.slice(1).reduce((e,n)=>({type:t,left:e,right:n}),n)}function Me(e){return e.type===`identifier`?{identifier:e.name,negated:!1}:e.type===`not`&&e.node.type===`identifier`?{identifier:e.node.name,negated:!0}:null}function Ne(e,t){let n=Me(e);if(!n)return e;let r={type:`identifier`,name:t};return n.negated?{type:`not`,node:r}:r}function Pe(e,t){let n=Me(e);if(!n)return t?{type:`not`,node:e}:e;let r={type:`identifier`,name:n.identifier};return t?{type:`not`,node:r}:r}function Y(){return{type:`identifier`,name:Ce}}function Fe(e=`and`){return{type:e,left:Y(),right:{type:`not`,node:Y()}}}function Ie(e){let t=(0,W.c)(14),{label:n,focusable:r,className:i,children:a}=e,o=r===void 0||r?0:void 0,s;t[0]===i?s=t[1]:(s=u(`inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-warning outline-none transition-colors hover:bg-warning/10 focus-visible:ring-3 focus-visible:ring-inset focus-visible:ring-warning/25`,i),t[0]=i,t[1]=s);let c;t[2]!==n||t[3]!==o||t[4]!==s?(c=(0,K.jsx)(`span`,{tabIndex:o,"aria-label":n,className:s}),t[2]=n,t[3]=o,t[4]=s,t[5]=c):c=t[5];let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,K.jsx)(b,{className:`size-3.5`}),t[6]=l):l=t[6];let d;t[7]===c?d=t[8]:(d=(0,K.jsx)(w,{render:c,children:l}),t[7]=c,t[8]=d);let f;t[9]===a?f=t[10]:(f=(0,K.jsx)(T,{side:`top`,children:a}),t[9]=a,t[10]=f);let p;return t[11]!==d||t[12]!==f?(p=(0,K.jsxs)(E,{children:[d,f]}),t[11]=d,t[12]=f,t[13]=p):p=t[13],p}function Le(e){let t=(0,W.c)(5),{identifiers:n,focusable:r}=e,i=r===void 0||r;if(n.length===0)return null;let a;t[0]===n?a=t[1]:(a=n.length===1?`Unknown condition: ${n[0]}`:`Unknown conditions: ${n.join(`, `)}`,t[0]=n,t[1]=a);let o=a,s;return t[2]!==i||t[3]!==o?(s=(0,K.jsx)(Ie,{label:o,focusable:i,className:`size-4.5`,children:`P4 Code does not recognize this condition yet. It can still be saved, but it may not match unless the runtime provides it.`}),t[2]=i,t[3]=o,t[4]=s):s=t[4],s}function X(e){let t=(0,W.c)(4),{labels:n}=e;if(n.length===0)return null;let r;t[0]===n?r=t[1]:(r=n.length===1?`Conflicts with ${n[0]}.`:`Conflicts with ${n.slice(0,3).join(`, `)}${n.length>3?`, and more`:``}.`,t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,K.jsxs)(Ie,{label:i,children:[i,` The most recent matching binding wins when both conditions can apply.`]}),t[2]=i,t[3]=a),a}function Re(e){let t=(0,W.c)(25),{value:n,variables:r,unknownIdentifiers:i,onChange:a}=e,o;if(t[0]!==n||t[1]!==r){let e;t[3]===n?e=t[4]:(e=e=>e===n,t[3]=n,t[4]=e),o=r.find(e),t[0]=n,t[1]=r,t[2]=o}else o=t[2];let s=o,c;t[5]!==s||t[6]!==n||t[7]!==r?(c=s||r.some(e=>e===n)?r:[n,...r],t[5]=s,t[6]=n,t[7]=r,t[8]=c):c=t[8];let l=c,u;t[9]===a?u=t[10]:(u=e=>e&&a(e),t[9]=a,t[10]=u);let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(O,{placeholder:`Condition`}),t[11]=d):d=t[11];let f;t[12]===i?f=t[13]:(f=i&&i.length>0?(0,K.jsx)(Le,{identifiers:i,focusable:!1}):null,t[12]=i,t[13]=f);let p;t[14]===f?p=t[15]:(p=(0,K.jsxs)(A,{size:`compact`,className:`min-w-0 flex-1`,children:[d,f]}),t[14]=f,t[15]=p);let m;t[16]===l?m=t[17]:(m=l.map(ze),t[16]=l,t[17]=m);let h;t[18]===m?h=t[19]:(h=(0,K.jsx)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,className:`max-h-72`,children:m}),t[18]=m,t[19]=h);let g;return t[20]!==u||t[21]!==p||t[22]!==h||t[23]!==n?(g=(0,K.jsxs)(j,{value:n,onValueChange:u,children:[p,h]}),t[20]=u,t[21]=p,t[22]=h,t[23]=n,t[24]=g):g=t[24],g}function ze(e){return(0,K.jsx)(D,{value:e,className:`w-full`,children:(0,K.jsx)(`span`,{className:`truncate`,children:e})},e)}function Be(e){let t=(0,W.c)(14),{label:n,className:r,onRemove:i}=e,a;t[0]===r?a=t[1]:(a=u(`size-7`,r),t[0]=r,t[1]=a);let o;t[2]!==n||t[3]!==i||t[4]!==a?(o=(0,K.jsx)(l,{type:`button`,variant:`ghost`,size:`icon-sm`,className:a,"aria-label":n,onClick:i}),t[2]=n,t[3]=i,t[4]=a,t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(_,{"aria-hidden":!0,className:`size-3.5`}),t[6]=s):s=t[6];let c;t[7]===o?c=t[8]:(c=(0,K.jsx)(w,{delay:200,render:o,children:s}),t[7]=o,t[8]=c);let d;t[9]===n?d=t[10]:(d=(0,K.jsx)(T,{side:`top`,children:n}),t[9]=n,t[10]=d);let f;return t[11]!==c||t[12]!==d?(f=(0,K.jsxs)(E,{children:[c,d]}),t[11]=c,t[12]=d,t[13]=f):f=t[13],f}function Z(e){let t=(0,W.c)(81),{node:n,variables:r,depth:i,onChange:a,onRemove:o}=e,s=i===void 0?0:i,c;if(t[0]!==s||t[1]!==n||t[2]!==a||t[3]!==o||t[4]!==r){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Me(n);if(e){let i=Se(e.identifier)?[]:[e.identifier],l;t[6]!==n||t[7]!==a?(l=e=>a(Pe(n,e)),t[6]=n,t[7]=a,t[8]=l):l=t[8];let u=`Negate ${e.identifier}`,d;t[9]!==e||t[10]!==l||t[11]!==u?(d=(0,K.jsx)(z,{pressed:e.negated,onPressedChange:l,"aria-label":u,variant:`outline`,size:`compact`,className:`min-w-10`,children:`Not`}),t[9]=e,t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;t[13]!==n||t[14]!==a?(f=e=>a(Ne(n,e)),t[13]=n,t[14]=a,t[15]=f):f=t[15];let p;t[16]!==e||t[17]!==f||t[18]!==i||t[19]!==r?(p=(0,K.jsx)(Re,{value:e.identifier,variables:r,unknownIdentifiers:i,onChange:f}),t[16]=e,t[17]=f,t[18]=i,t[19]=r,t[20]=p):p=t[20];let m;t[21]!==s||t[22]!==n||t[23]!==o?(m=o?(0,K.jsx)(Be,{label:ve(n,s),onRemove:o}):null,t[21]=s,t[22]=n,t[23]=o,t[24]=m):m=t[24];let h;t[25]!==d||t[26]!==p||t[27]!==m?(h=(0,K.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/70 bg-background/60 px-2 py-2`,children:[d,p,m]}),t[25]=d,t[26]=p,t[27]=m,t[28]=h):h=t[28],c=h;break bb0}}t[0]=s,t[1]=n,t[2]=a,t[3]=o,t[4]=r,t[5]=c}else c=t[5];if(c!==Symbol.for(`react.early_return_sentinel`))return c;if(n.type===`not`){let e=s>0&&`border-border/50 bg-background/50`,i;t[29]===e?i=t[30]:(i=u(`space-y-2 rounded-lg border border-border/70 bg-muted/20 p-2`,e),t[29]=e,t[30]=i);let c;t[31]!==n||t[32]!==a?(c=(0,K.jsx)(z,{pressed:!0,onPressedChange:e=>a(e?n:n.node),"aria-label":`Negate group`,variant:`outline`,size:`compact`,className:`min-w-10`,children:`Not`}),t[31]=n,t[32]=a,t[33]=c):c=t[33];let l;t[34]!==s||t[35]!==n||t[36]!==o?(l=o?(0,K.jsx)(Be,{label:ve(n,s),className:`ml-auto`,onRemove:o}):null,t[34]=s,t[35]=n,t[36]=o,t[37]=l):l=t[37];let d;t[38]!==c||t[39]!==l?(d=(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,l]}),t[38]=c,t[39]=l,t[40]=d):d=t[40];let f,p;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,K.jsx)(`span`,{className:`absolute top-0 bottom-0 left-1.5 w-px bg-border/70`,"aria-hidden":!0}),p=(0,K.jsx)(`span`,{className:`absolute top-4 left-1.5 h-px w-2.5 bg-border/70`,"aria-hidden":!0}),t[41]=f,t[42]=p):(f=t[41],p=t[42]);let m=s+1,h;t[43]===a?h=t[44]:(h=e=>a({type:`not`,node:e}),t[43]=a,t[44]=h);let g;t[45]!==n.node||t[46]!==m||t[47]!==h||t[48]!==r?(g=(0,K.jsxs)(`div`,{className:`relative pl-4`,children:[f,p,(0,K.jsx)(Z,{node:n.node,variables:r,depth:m,onChange:h})]}),t[45]=n.node,t[46]=m,t[47]=h,t[48]=r,t[49]=g):g=t[49];let _;return t[50]!==g||t[51]!==i||t[52]!==d?(_=(0,K.jsxs)(`div`,{className:i,children:[d,g]}),t[50]=g,t[51]=i,t[52]=d,t[53]=_):_=t[53],_}let d=n.type===`or`?`or`:`and`,f,p,m,h;if(t[54]!==s||t[55]!==n||t[56]!==a||t[57]!==o||t[58]!==d||t[59]!==r){let e=je(n,d),i=new Map,c=e.map(e=>{let t=`${e.type}-${U(e)}`,n=i.get(t)??0;return i.set(t,n+1),{child:e,key:n===0?t:`${t}-${n}`}}),g=(t,n)=>{let r=!1,i=J(e.map(e=>!r&&e===t?(r=!0,n):e),d);i&&a(i)},_=t=>{let n=!1,r=J(e.filter(e=>!n&&e===t?(n=!0,!1):!0),d);a(r||Y())},y=t=>{if(t===d)return;let n=J(e,t);n&&a(n)},b=()=>{let t=J([...e,Y()],d);t&&a(t)},x=()=>{let t={type:d===`and`?`or`:`and`,left:Y(),right:{type:`not`,node:Y()}},n=J([...e,t],d);n&&a(n)},S=s>0&&`border-border/70 bg-background/55`;t[64]===S?m=t[65]:(m=u(`space-y-2 rounded-lg border border-border/60 bg-muted/10 p-2`,S),t[64]=S,t[65]=m);let C;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,K.jsx)(A,{size:`compact`,className:`w-24`,children:(0,K.jsx)(O,{})}),t[66]=C):C=t[66];let w;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,K.jsxs)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,children:[(0,K.jsx)(D,{value:`and`,children:`and`}),(0,K.jsx)(D,{value:`or`,children:`or`})]}),t[67]=w):w=t[67];let T;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,K.jsx)(v,{className:`size-3.5`}),t[68]=T):T=t[68];let E;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,K.jsx)(v,{className:`size-3.5`}),t[69]=E):E=t[69];let M;t[70]!==s||t[71]!==n||t[72]!==o?(M=o?(0,K.jsx)(Be,{label:ve(n,s),className:`ml-auto`,onRemove:o}):null,t[70]=s,t[71]=n,t[72]=o,t[73]=M):M=t[73],h=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,K.jsxs)(j,{value:d,onValueChange:e=>y(e),children:[C,w]}),(0,K.jsxs)(l,{type:`button`,variant:`outline`,size:`compact`,onClick:b,children:[T,`Condition`]}),(0,K.jsxs)(l,{type:`button`,variant:`outline`,size:`compact`,onClick:x,children:[E,`Group`]}),M]}),f=`space-y-2`,p=c.map(e=>{let{child:t,key:n}=e;return(0,K.jsxs)(`div`,{className:`relative pl-4`,children:[(0,K.jsx)(`span`,{className:u(`absolute top-0 bottom-0 left-1.5 w-px`,s===0?`bg-border`:`bg-border/70`),"aria-hidden":!0}),(0,K.jsx)(`span`,{className:u(`absolute top-4 left-1.5 h-px w-2.5`,s===0?`bg-border`:`bg-border/70`),"aria-hidden":!0}),(0,K.jsx)(Z,{node:t,variables:r,depth:s+1,onChange:e=>g(t,e),onRemove:()=>_(t)})]},n)}),t[54]=s,t[55]=n,t[56]=a,t[57]=o,t[58]=d,t[59]=r,t[60]=f,t[61]=p,t[62]=m,t[63]=h}else f=t[60],p=t[61],m=t[62],h=t[63];let g;t[74]!==f||t[75]!==p?(g=(0,K.jsx)(`div`,{className:f,children:p}),t[74]=f,t[75]=p,t[76]=g):g=t[76];let _;return t[77]!==m||t[78]!==h||t[79]!==g?(_=(0,K.jsxs)(`div`,{className:m,children:[h,g]}),t[77]=m,t[78]=h,t[79]=g,t[80]=_):_=t[80],_}function Ve(e){let t=(0,W.c)(60),{value:n,variables:r,onChange:i,onValidityChange:a}=e,o;t[0]===n?o=t[1]:(o=U(n),t[0]=n,t[1]=o);let[s,c]=(0,G.useState)(o),u;t[2]===s?u=t[3]:(u=we(s),t[2]=s,t[3]=u);let d=u,f=d.ok?null:d.message,p;t[4]!==d.ok||t[5]!==d.value?(p=d.ok?he(d.value):[],t[4]=d.ok,t[5]=d.value,t[6]=p):p=t[6];let m=p,g;t[7]!==i||t[8]!==a?(g=e=>{c(e);let t=we(e);a?.(t.ok),t.ok&&i(t.value)},t[7]=i,t[8]=a,t[9]=g):g=t[9];let _=g,y;t[10]!==i||t[11]!==a?(y=e=>{c(U(e)),a?.(!0),i(e)},t[10]=i,t[11]=a,t[12]=y):y=t[12];let b=y,x;t[13]!==b||t[14]!==n?(x=()=>{if(!n){b(Y());return}b({type:`and`,left:n,right:Y()})},t[13]=b,t[14]=n,t[15]=x):x=t[15];let S=x,C;t[16]!==b||t[17]!==n?(C=()=>{let e=Fe(`or`);if(!n){b(e);return}b({type:`and`,left:n,right:e})},t[16]=b,t[17]=n,t[18]=C):C=t[18];let w=C,T;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,K.jsx)(`div`,{className:`min-w-0`,children:(0,K.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`When`})}),t[19]=T):T=t[19];let E;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,K.jsx)(v,{className:`size-3.5`}),t[20]=E):E=t[20];let D;t[21]===S?D=t[22]:(D=(0,K.jsxs)(l,{type:`button`,variant:`outline`,size:`compact`,onClick:S,children:[E,`Condition`]}),t[21]=S,t[22]=D);let O;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,K.jsx)(v,{className:`size-3.5`}),t[23]=O):O=t[23];let k;t[24]===w?k=t[25]:(k=(0,K.jsxs)(l,{type:`button`,variant:`outline`,size:`compact`,onClick:w,children:[O,`Group`]}),t[24]=w,t[25]=k);let A;t[26]!==D||t[27]!==k?(A=(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[T,(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[D,k]})]}),t[26]=D,t[27]=k,t[28]=A):A=t[28];let j;t[29]===_?j=t[30]:(j=e=>_(e.currentTarget.value),t[29]=_,t[30]=j);let M=!!f,N;t[31]!==s||t[32]!==j||t[33]!==M?(N=(0,K.jsx)(ae,{value:s,onChange:j,placeholder:`Always`,"aria-invalid":M,"aria-label":`When expression`,size:`compact`,font:`mono`}),t[31]=s,t[32]=j,t[33]=M,t[34]=N):N=t[34];let P;t[35]===m?P=t[36]:(P=m.length>0?(0,K.jsx)(V,{align:`inline-end`,children:(0,K.jsx)(Le,{identifiers:m})}):null,t[35]=m,t[36]=P);let F;t[37]!==N||t[38]!==P?(F=(0,K.jsxs)(oe,{children:[N,P]}),t[37]=N,t[38]=P,t[39]=F):F=t[39];let I;t[40]===f?I=t[41]:(I=f?(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 text-2xs text-destructive`,children:[(0,K.jsx)(h,{className:`size-3.5`}),f]}):null,t[40]=f,t[41]=I);let L;t[42]!==F||t[43]!==I?(L=(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[F,I]}),t[42]=F,t[43]=I,t[44]=L):L=t[44];let R;t[45]!==S||t[46]!==w||t[47]!==b||t[48]!==n||t[49]!==r?(R=n?(0,K.jsx)(Z,{node:n,variables:r,onChange:b,onRemove:()=>b(void 0)}):(0,K.jsx)(`div`,{className:`rounded-md border border-dashed border-border/80 bg-muted/15 p-3`,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,K.jsxs)(l,{type:`button`,size:`compact`,onClick:S,children:[(0,K.jsx)(v,{className:`size-3.5`}),`Condition`]}),(0,K.jsxs)(l,{type:`button`,variant:`outline`,size:`compact`,onClick:w,children:[(0,K.jsx)(v,{className:`size-3.5`}),`Group`]})]})}),t[45]=S,t[46]=w,t[47]=b,t[48]=n,t[49]=r,t[50]=R):R=t[50];let ee;t[51]===f?ee=t[52]:(ee=f?(0,K.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center rounded-lg border border-destructive/30 bg-background/75 p-4 text-center text-xs text-destructive backdrop-blur-xs`,children:`Fix the expression above to continue editing visually.`}):null,t[51]=f,t[52]=ee);let z;t[53]!==R||t[54]!==ee?(z=(0,K.jsxs)(`div`,{className:`relative`,children:[R,ee]}),t[53]=R,t[54]=ee,t[55]=z):z=t[55];let B;return t[56]!==A||t[57]!==L||t[58]!==z?(B=(0,K.jsxs)(`div`,{className:`w-[min(34rem,calc(100vw-2rem))] space-y-3`,children:[A,L,z]}),t[56]=A,t[57]=L,t[58]=z,t[59]=B):B=t[59],B}function He(e){return{keyDraft:e.key,whenDraft:e.binding.whenAst,isRecording:!1,isWhenDraftValid:!0}}function Q(e,t){return{...e,...t}}function Ue(e){return{command:e.command,key:e.key,...e.when.trim().length>0?{when:e.when}:{}}}function We(e){let t=(0,W.c)(27),{row:n,allRows:r,onSave:i}=e,[a,o]=(0,G.useReducer)(Q,n,He),{keyDraft:s,whenDraft:c,isRecording:l,isWhenDraftValid:u}=a,d,f,p;t[0]!==r||t[1]!==s||t[2]!==n.id||t[3]!==n.key||t[4]!==n.when||t[5]!==c?(p=U(c),d=s!==n.key||p!==n.when,f=me(r,{rowId:n.id,key:s,when:p}),t[0]=r,t[1]=s,t[2]=n.id,t[3]=n.key,t[4]=n.when,t[5]=c,t[6]=d,t[7]=f,t[8]=p):(d=t[6],f=t[7],p=t[8]);let m=f,h;t[9]!==s||t[10]!==i||t[11]!==n||t[12]!==p?(h=()=>{i({command:n.command,key:s,when:p.trim().length>0?p:void 0,replace:Ue(n)})},t[9]=s,t[10]=i,t[11]=n,t[12]=p,t[13]=h):h=t[13];let g=h,_;t[14]!==l||t[15]!==n.key?(_=e=>{if(e.key===`Tab`&&!l)return;if(e.preventDefault(),e.key===`Escape`){o({keyDraft:n.key,isRecording:!1});return}let t=_e(e.nativeEvent,navigator.platform);t&&o({keyDraft:t,isRecording:!1})},t[14]=l,t[15]=n.key,t[16]=_):_=t[16];let v=_,y;return t[17]!==v||t[18]!==m||t[19]!==d||t[20]!==l||t[21]!==u||t[22]!==s||t[23]!==g||t[24]!==c||t[25]!==p?(y={keyDraft:s,whenDraft:c,isRecording:l,isWhenDraftValid:u,whenDraftExpression:p,isDirty:d,conflictLabels:m,setDraft:o,save:g,captureKeybinding:v},t[17]=v,t[18]=m,t[19]=d,t[20]=l,t[21]=u,t[22]=s,t[23]=g,t[24]=c,t[25]=p,t[26]=y):y=t[26],y}function Ge(e){let t=(0,W.c)(19),{row:n,editor:r,isSaving:i,pillClassName:a}=e,{keyDraft:o,isRecording:s,isDirty:c,isWhenDraftValid:d,setDraft:f,save:p,captureKeybinding:m}=r,h=!s&&o===n.key&&n.key.length>0&&!c,g;t[0]!==c||t[1]!==i||t[2]!==d||t[3]!==o||t[4]!==p?(g=c?(0,K.jsx)(l,{size:`sm`,disabled:i||o.trim().length===0||!d,onClick:p,children:i?`Saving`:`Save`}):null,t[0]=c,t[1]=i,t[2]=d,t[3]=o,t[4]=p,t[5]=g):g=t[5];let _;t[6]!==m||t[7]!==s||t[8]!==o||t[9]!==a||t[10]!==n.binding||t[11]!==n.command||t[12]!==n.key||t[13]!==f||t[14]!==h?(_=h?(0,K.jsx)(`button`,{type:`button`,onClick:()=>f({isRecording:!0}),"aria-label":`Edit shortcut for ${H(n.command)}: ${te(n.binding.shortcut)}`,className:u(`inline-flex h-8 cursor-pointer items-center rounded-md border border-transparent px-1.5 sm:h-7 outline-none transition-colors hover:border-border/70 hover:bg-accent focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-inset focus-visible:ring-ring/24`,a),children:(0,K.jsx)(q,{value:n.key})}):(0,K.jsx)(B,{"data-keybinding-capture":``,autoFocus:s,"aria-label":`Keybinding for ${H(n.command)}`,value:s?``:o,placeholder:s?`Press shortcut`:`Unassigned`,size:`sm`,font:`mono`,className:`w-44`,onFocus:()=>f({isRecording:!0}),onBlur:()=>f({isRecording:!1}),onChange:e=>f({keyDraft:e.currentTarget.value}),onKeyDown:m}),t[6]=m,t[7]=s,t[8]=o,t[9]=a,t[10]=n.binding,t[11]=n.command,t[12]=n.key,t[13]=f,t[14]=h,t[15]=_):_=t[15];let v;return t[16]!==g||t[17]!==_?(v=(0,K.jsxs)(K.Fragment,{children:[g,_]}),t[16]=g,t[17]=_,t[18]=v):v=t[18],v}function $(e){let t=(0,W.c)(17),{label:n,expression:r,value:i,variables:a,onChange:o,onValidityChange:s}=e,c=r?`ghost`:`ghost-muted`,u;t[0]===c?u=t[1]:(u=(0,K.jsx)(l,{variant:c,size:`micro`,className:`min-w-0 shrink`}),t[0]=c,t[1]=u);let d=`Edit when clause for ${n}`,f=r||`Always`,p;t[2]===f?p=t[3]:(p=(0,K.jsx)(`span`,{className:`truncate font-mono`,children:f}),t[2]=f,t[3]=p);let h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,K.jsx)(m,{className:`size-3.5 shrink-0 opacity-60`}),t[4]=h):h=t[4];let g;t[5]!==u||t[6]!==d||t[7]!==p?(g=(0,K.jsxs)(re,{render:u,"aria-label":d,children:[p,h]}),t[5]=u,t[6]=d,t[7]=p,t[8]=g):g=t[8];let _;t[9]!==o||t[10]!==s||t[11]!==i||t[12]!==a?(_=(0,K.jsx)(ne,{align:`start`,sideOffset:6,children:(0,K.jsx)(Ve,{value:i,variables:a,onChange:o,onValidityChange:s})}),t[9]=o,t[10]=s,t[11]=i,t[12]=a,t[13]=_):_=t[13];let v;return t[14]!==g||t[15]!==_?(v=(0,K.jsxs)(ie,{children:[g,_]}),t[14]=g,t[15]=_,t[16]=v):v=t[16],v}function Ke(e){let t=(0,W.c)(24),{row:n,isSaving:i,onReset:c,onRemove:u}=e,d=n.source===`Custom`&&n.defaultKey!==null,f=n.source!==`Default`;if(!d&&!f)return null;let p;t[0]===n.command?p=t[1]:(p=H(n.command),t[0]=n.command,t[1]=p);let m=`Actions for ${p}`,h;t[2]!==i||t[3]!==m?(h=(0,K.jsx)(l,{type:`button`,variant:`ghost-muted`,size:`icon-sm`,disabled:i,"aria-label":m}),t[2]=i,t[3]=m,t[4]=h):h=t[4];let g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,K.jsx)(Ee,{className:`size-3.5`}),t[5]=g):g=t[5];let _;t[6]===h?_=t[7]:(_=(0,K.jsx)(s,{render:h,children:g}),t[6]=h,t[7]=_);let v;t[8]!==d||t[9]!==i||t[10]!==c||t[11]!==n?(v=d?(0,K.jsx)(r,{disabled:i,onClick:()=>c(n),children:`Reset to default`}):null,t[8]=d,t[9]=i,t[10]=c,t[11]=n,t[12]=v):v=t[12];let y;t[13]!==f||t[14]!==i||t[15]!==u||t[16]!==n?(y=f?(0,K.jsx)(r,{variant:`destructive`,disabled:i,onClick:()=>u(n),children:`Remove`}):null,t[13]=f,t[14]=i,t[15]=u,t[16]=n,t[17]=y):y=t[17];let b;t[18]!==v||t[19]!==y?(b=(0,K.jsxs)(o,{align:`end`,children:[v,y]}),t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;return t[21]!==_||t[22]!==b?(x=(0,K.jsxs)(a,{children:[_,b]}),t[21]=_,t[22]=b,t[23]=x):x=t[23],x}function qe(e){let t=(0,W.c)(2),{source:n}=e;if(n===`Default`)return null;let r;return t[0]===n?r=t[1]:(r=(0,K.jsx)(i,{variant:`outline`,size:`sm`,children:n}),t[0]=n,t[1]=r),r}function Je(e){let t=(0,W.c)(13),{row:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,K.jsx)(`span`,{className:`flex items-center gap-2`}),t[0]=r):r=t[0];let i;t[1]===n.command?i=t[2]:(i=H(n.command),t[1]=n.command,t[2]=i);let a;t[3]===n.source?a=t[4]:(a=(0,K.jsx)(qe,{source:n.source}),t[3]=n.source,t[4]=a);let o;t[5]!==i||t[6]!==a?(o=(0,K.jsxs)(w,{render:r,children:[i,a]}),t[5]=i,t[6]=a,t[7]=o):o=t[7];let s;t[8]===n.command?s=t[9]:(s=(0,K.jsx)(T,{side:`top`,children:n.command}),t[8]=n.command,t[9]=s);let c;return t[10]!==o||t[11]!==s?(c=(0,K.jsxs)(E,{children:[o,s]}),t[10]=o,t[11]=s,t[12]=c):c=t[12],c}function Ye(e){let t=(0,W.c)(13),{row:n,editor:r,variables:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(`span`,{className:`text-xs leading-none text-muted-foreground/70`,children:`When`}),t[0]=a):a=t[0];let o;t[1]===n.command?o=t[2]:(o=H(n.command),t[1]=n.command,t[2]=o);let s,c;t[3]===r?(s=t[4],c=t[5]):(s=e=>r.setDraft({whenDraft:e}),c=e=>r.setDraft({isWhenDraftValid:e}),t[3]=r,t[4]=s,t[5]=c);let l;return t[6]!==r.whenDraft||t[7]!==r.whenDraftExpression||t[8]!==o||t[9]!==s||t[10]!==c||t[11]!==i?(l=(0,K.jsxs)(`span`,{className:`flex h-6 items-center gap-1.5`,children:[a,(0,K.jsx)($,{label:o,expression:r.whenDraftExpression,value:r.whenDraft,variables:i,onChange:s,onValidityChange:c})]}),t[6]=r.whenDraft,t[7]=r.whenDraftExpression,t[8]=o,t[9]=s,t[10]=c,t[11]=i,t[12]=l):l=t[12],l}function Xe(e){let t=(0,W.c)(2),n;return t[0]===e?n=t[1]:(n=(0,K.jsx)(`span`,{className:`flex items-center opacity-0 transition-opacity group-focus-within/row:opacity-100 group-hover/row:opacity-100 has-data-popup-open:opacity-100 pointer-coarse:opacity-100`,children:(0,K.jsx)(Ke,{...e})}),t[0]=e,t[1]=n),n}function Ze(e){let t=(0,W.c)(30),{row:n,isSaving:r,anchorId:i,allRows:a,variables:o,onSave:s,onReset:c,onRemove:l}=e,u;t[0]!==a||t[1]!==s||t[2]!==n?(u={row:n,allRows:a,onSave:s},t[0]=a,t[1]=s,t[2]=n,t[3]=u):u=t[3];let d=We(u),f;t[4]===n?f=t[5]:(f=(0,K.jsx)(Je,{row:n}),t[4]=n,t[5]=f);let p;t[6]!==d||t[7]!==n||t[8]!==o?(p=(0,K.jsx)(Ye,{row:n,editor:d,variables:o}),t[6]=d,t[7]=n,t[8]=o,t[9]=p):p=t[9];let m;t[10]===d.conflictLabels?m=t[11]:(m=(0,K.jsx)(X,{labels:d.conflictLabels}),t[10]=d.conflictLabels,t[11]=m);let h;t[12]!==r||t[13]!==l||t[14]!==c||t[15]!==n?(h=(0,K.jsx)(Xe,{row:n,isSaving:r,onReset:c,onRemove:l}),t[12]=r,t[13]=l,t[14]=c,t[15]=n,t[16]=h):h=t[16];let g;t[17]!==d||t[18]!==r||t[19]!==n?(g=(0,K.jsx)(Ge,{row:n,editor:d,isSaving:r,pillClassName:`-mr-1.5`}),t[17]=d,t[18]=r,t[19]=n,t[20]=g):g=t[20];let _;t[21]!==m||t[22]!==h||t[23]!==g?(_=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1.5`,children:[m,h,g]}),t[21]=m,t[22]=h,t[23]=g,t[24]=_):_=t[24];let v;return t[25]!==i||t[26]!==f||t[27]!==p||t[28]!==_?(v=(0,K.jsx)(ue,{id:i,className:`group/row rounded-none`,title:f,description:p,control:_}),t[25]=i,t[26]=f,t[27]=p,t[28]=_,t[29]=v):v=t[29],v}function Qe(e){let t=(0,W.c)(30),{allRows:n,onSave:r}=e,[i,a]=(0,G.useState)(``),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={keyDraft:``,whenDraft:void 0,isRecording:!1,isWhenDraftValid:!0},t[0]=o):o=t[0];let[s,c]=(0,G.useReducer)(Q,o),{keyDraft:l,whenDraft:u,isRecording:d,isWhenDraftValid:f}=s,p,m;t[1]!==n||t[2]!==l||t[3]!==u?(m=U(u),p=me(n,{rowId:`new`,key:l,when:m}),t[1]=n,t[2]=l,t[3]=u,t[4]=p,t[5]=m):(p=t[4],m=t[5]);let h=p,g;t[6]===i?g=t[7]:(g=i?H(i):`new keybinding`,t[6]=i,t[7]=g);let _=g,v;t[8]!==i||t[9]!==f||t[10]!==l?(v=!!i&&l.trim().length>0&&f,t[8]=i,t[9]=f,t[10]=l,t[11]=v):v=t[11];let y=v,b;t[12]!==i||t[13]!==l||t[14]!==r||t[15]!==m?(b=()=>{i&&r({command:i,key:l,...m.trim().length>0?{when:m}:{}})},t[12]=i,t[13]=l,t[14]=r,t[15]=m,t[16]=b):b=t[16];let x=b,S;t[17]===d?S=t[18]:(S=e=>{if(e.key===`Tab`&&!d)return;if(e.preventDefault(),e.key===`Escape`){c({keyDraft:``,isRecording:!1});return}let t=_e(e.nativeEvent,navigator.platform);t&&c({keyDraft:t,isRecording:!1})},t[17]=d,t[18]=S);let C=S,w;return t[19]!==y||t[20]!==C||t[21]!==i||t[22]!==_||t[23]!==h||t[24]!==d||t[25]!==l||t[26]!==x||t[27]!==u||t[28]!==m?(w={commandDraft:i,setCommandDraft:a,keyDraft:l,whenDraft:u,whenDraftExpression:m,isRecording:d,conflictLabels:h,commandLabelText:_,canSave:y,setDraft:c,save:x,captureKeybinding:C},t[19]=y,t[20]=C,t[21]=i,t[22]=_,t[23]=h,t[24]=d,t[25]=l,t[26]=x,t[27]=u,t[28]=m,t[29]=w):w=t[29],w}function $e(e){let t=(0,W.c)(14),{draft:n,commandOptions:r,className:i}=e,a=n.commandDraft,o;t[0]===n?o=t[1]:(o=e=>n.setCommandDraft(e),t[0]=n,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(O,{placeholder:`Command`}),t[2]=s):s=t[2];let c;t[3]===i?c=t[4]:(c=(0,K.jsx)(A,{size:`sm`,className:i,children:s}),t[3]=i,t[4]=c);let l;t[5]===r?l=t[6]:(l=r.map(et),t[5]=r,t[6]=l);let u;t[7]===l?u=t[8]:(u=(0,K.jsx)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,className:`max-h-72`,children:l}),t[7]=l,t[8]=u);let d;return t[9]!==n.commandDraft||t[10]!==o||t[11]!==c||t[12]!==u?(d=(0,K.jsxs)(j,{value:a,onValueChange:o,children:[c,u]}),t[9]=n.commandDraft,t[10]=o,t[11]=c,t[12]=u,t[13]=d):d=t[13],d}function et(e){return(0,K.jsx)(D,{value:e,className:`w-full`,children:(0,K.jsx)(`span`,{className:`truncate`,children:H(e)})},e)}function tt(e){let t=(0,W.c)(14),{draft:n,autoFocus:r,className:i}=e,a=r!==void 0&&r,o=`Keybinding for ${n.commandLabelText}`,s=n.isRecording?``:n.keyDraft,c=n.isRecording?`Press shortcut`:`Unassigned`,l,u,d;t[0]===n?(l=t[1],u=t[2],d=t[3]):(l=()=>n.setDraft({isRecording:!0}),u=()=>n.setDraft({isRecording:!1}),d=e=>n.setDraft({keyDraft:e.currentTarget.value}),t[0]=n,t[1]=l,t[2]=u,t[3]=d);let f;return t[4]!==a||t[5]!==i||t[6]!==n.captureKeybinding||t[7]!==o||t[8]!==s||t[9]!==c||t[10]!==l||t[11]!==u||t[12]!==d?(f=(0,K.jsx)(B,{"data-keybinding-capture":``,autoFocus:a,"aria-label":o,value:s,placeholder:c,size:`sm`,font:`mono`,className:i,onFocus:l,onBlur:u,onChange:d,onKeyDown:n.captureKeybinding}),t[4]=a,t[5]=i,t[6]=n.captureKeybinding,t[7]=o,t[8]=s,t[9]=c,t[10]=l,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function nt(e){let t=(0,W.c)(10),{draft:n,variables:r}=e,i,a;t[0]===n?(i=t[1],a=t[2]):(i=e=>n.setDraft({whenDraft:e}),a=e=>n.setDraft({isWhenDraftValid:e}),t[0]=n,t[1]=i,t[2]=a);let o;return t[3]!==n.commandLabelText||t[4]!==n.whenDraft||t[5]!==n.whenDraftExpression||t[6]!==i||t[7]!==a||t[8]!==r?(o=(0,K.jsx)($,{label:n.commandLabelText,expression:n.whenDraftExpression,value:n.whenDraft,variables:r,onChange:i,onValidityChange:a}),t[3]=n.commandLabelText,t[4]=n.whenDraft,t[5]=n.whenDraftExpression,t[6]=i,t[7]=a,t[8]=r,t[9]=o):o=t[9],o}function rt(e){let t=(0,W.c)(9),{isSaving:n,onCancel:r}=e,i;t[0]!==n||t[1]!==r?(i=(0,K.jsx)(l,{type:`button`,variant:`ghost-muted`,size:`icon-sm`,disabled:n,"aria-label":`Cancel new keybinding`,onClick:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(x,{className:`size-3.5`}),t[3]=a):a=t[3];let o;t[4]===i?o=t[5]:(o=(0,K.jsx)(w,{render:i,children:a}),t[4]=i,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(T,{side:`top`,children:`Cancel`}),t[6]=s):s=t[6];let c;return t[7]===o?c=t[8]:(c=(0,K.jsxs)(E,{children:[o,s]}),t[7]=o,t[8]=c),c}function it(e){let t=(0,W.c)(30),{commandOptions:n,allRows:r,variables:i,isSaving:a,onSave:o,onCancel:s}=e,c;t[0]!==r||t[1]!==o?(c={allRows:r,onSave:o},t[0]=r,t[1]=o,t[2]=c):c=t[2];let u=Qe(c),d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(`span`,{className:`text-xs leading-none text-muted-foreground/70`,children:`When`}),t[3]=d):d=t[3];let f;t[4]!==u||t[5]!==i?(f=(0,K.jsxs)(`span`,{className:`flex h-6 items-center gap-1.5`,children:[d,(0,K.jsx)(nt,{draft:u,variables:i})]}),t[4]=u,t[5]=i,t[6]=f):f=t[6];let p;t[7]!==n||t[8]!==u?(p=(0,K.jsx)($e,{draft:u,commandOptions:n,className:`w-56`}),t[7]=n,t[8]=u,t[9]=p):p=t[9];let m;t[10]===u.conflictLabels?m=t[11]:(m=(0,K.jsx)(X,{labels:u.conflictLabels}),t[10]=u.conflictLabels,t[11]=m);let h;t[12]===u?h=t[13]:(h=(0,K.jsx)(tt,{draft:u,className:`w-44`}),t[12]=u,t[13]=h);let g=a||!u.canSave,_=a?`Saving`:`Save`,v;t[14]!==u.save||t[15]!==g||t[16]!==_?(v=(0,K.jsx)(l,{size:`sm`,disabled:g,onClick:u.save,children:_}),t[14]=u.save,t[15]=g,t[16]=_,t[17]=v):v=t[17];let y;t[18]!==a||t[19]!==s?(y=(0,K.jsx)(rt,{isSaving:a,onCancel:s}),t[18]=a,t[19]=s,t[20]=y):y=t[20];let b;t[21]!==p||t[22]!==m||t[23]!==h||t[24]!==v||t[25]!==y?(b=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[p,m,h,v,y]}),t[21]=p,t[22]=m,t[23]=h,t[24]=v,t[25]=y,t[26]=b):b=t[26];let x;return t[27]!==b||t[28]!==f?(x=(0,K.jsx)(ue,{className:`bg-muted/15`,title:`New keybinding`,description:f,control:b}),t[27]=b,t[28]=f,t[29]=x):x=t[29],x}function at(e){let{groups:t,anchorIds:n,savingCommand:r,...i}=e;return t.map(e=>(0,K.jsx)(fe,{id:`keybindings-${e.id}`,title:e.title,children:e.rows.map(e=>(0,K.jsx)(Ze,{row:e,anchorId:n.get(e.id),isSaving:r===e.command,...i},e.id))},e.id))}function ot(){let e=(0,W.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,K.jsxs)(E,{children:[(0,K.jsx)(w,{delay:200,render:(0,K.jsx)(l,{size:`icon-micro`,variant:`ghost-muted`,"aria-label":`The browser may claim some shortcuts first. The desktop app receives them all.`,children:(0,K.jsx)(b,{className:`size-3.5 text-warning`})})}),(0,K.jsx)(T,{side:`top`,className:`max-w-72`,children:`The browser may claim some shortcuts first. The desktop app receives them all.`})]}),e[0]=t):t=e[0],t}function st(){let e=(0,W.c)(83),{environment:t,connectedEnvironments:r}=pe(),i=F(t?.environmentId??null,d),a=L(r,n),o;e[0]!==r||e[1]!==a?(o=r.length>0&&r.every(e=>a.has(e.environmentId)),e[0]=r,e[1]=a,e[2]=o):o=e[2];let s=o,c=t?.serverConfig?.keybindings,u;e[3]===c?u=e[4]:(u=c??[],e[3]=c,e[4]=u);let f;e[5]===u?f=e[6]:(f=p(u),e[5]=u,e[6]=f);let m=f,h=t?.serverConfig?.keybindingsConfigPath??null,_;e[7]===t?.serverConfig?.availableEditors?_=e[8]:(_=t?.serverConfig?.availableEditors??[],e[7]=t?.serverConfig?.availableEditors,e[8]=_);let y=_,b;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(b={reportFailure:!1},e[9]=b):b=e[9];let x=R(P.upsertKeybinding,b),D;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(D={reportFailure:!1},e[10]=D):D=e[10];let O=R(P.removeKeybinding,D),k=Te(t?.environmentId??null,y),[A,j]=(0,G.useState)(``),z=(0,G.useRef)(null),[B,te]=(0,G.useState)(null),[ne,re]=(0,G.useState)(!1),ie;e[11]!==m||e[12]!==A?(ie=xe(m,A),e[11]=m,e[12]=A,e[13]=ie):ie=e[13];let V=ie,ae;e[14]===V?ae=e[15]:(ae=be(V),e[14]=V,e[15]=ae);let oe=ae,se;if(e[16]!==V){se=new Map;let t=new Set;for(let e of V)t.has(e.command)||(t.add(e.command),se.set(e.id,Oe(e.command)));e[16]=V,e[17]=se}else se=e[17];let ce=se,ue;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(ue={select:ft},e[18]=ue):ue=e[18];let H=M(ue),[me,he]=(0,G.useState)(H);H!==me&&(he(H),H.startsWith(`keybinding-`)&&j(``));let _e;e[19]===m?_e=e[20]:(_e=ye(m),e[19]=m,e[20]=_e);let ve=_e,U;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(U=ge(),e[21]=U):U=e[21];let Se=U,Ce;e[22]!==h||e[23]!==k||e[24]!==t?(Ce=()=>{h&&t&&I(t.environmentId,`orchestration:operate`)&&(async()=>{let e=await k(h);if(e._tag===`Success`||S(e))return;let t=C(e);N.add({title:`Unable to open keybindings file`,description:t instanceof Error?t.message:`The keybindings file was not opened.`,type:`error`})})()},e[22]=h,e[23]=k,e[24]=t,e[25]=Ce):Ce=e[25];let we=Ce,Ee;e[26]!==r||e[27]!==t||e[28]!==x?(Ee=e=>{if(!t||!r.every(dt))return;te(e.command);let n={command:e.command,key:e.key.trim(),...e.when?.trim()?{when:e.when.trim()}:{},...e.replace?{replace:e.replace}:{}};(async()=>{let e=await Promise.all(r.map(e=>x({environmentId:e.environmentId,input:n})));te(null);let t=e.find(ut);if(!t){re(!1);return}if(!S(t)){let e=C(t);N.add({title:`Unable to save keybinding`,description:e instanceof Error?e.message:`The keybinding was not saved.`,type:`error`})}})()},e[26]=r,e[27]=t,e[28]=x,e[29]=Ee):Ee=e[29];let q=Ee,ke;e[30]!==r||e[31]!==t||e[32]!==O?(ke=e=>{t&&r.every(lt)&&(te(e.command),(async()=>{let t=await Promise.all(r.map(t=>O({environmentId:t.environmentId,input:Ue(e)})));te(null);let n=t.find(ct)??t[0];if(n?._tag===`Failure`&&!S(n)){let e=C(n);N.add({title:`Unable to remove keybinding`,description:e instanceof Error?e.message:`The keybinding was not removed.`,type:`error`})}})())},e[30]=r,e[31]=t,e[32]=O,e[33]=ke):ke=e[33];let je=ke,J;e[34]===q?J=e[35]:(J=e=>{e.defaultKey&&q({command:e.command,key:e.defaultKey,when:e.defaultWhen.trim().length>0?e.defaultWhen:void 0,replace:{command:e.command,key:e.key,...e.when.trim().length>0?{when:e.when}:{}}})},e[34]=q,e[35]=J);let Me=J,Ne;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=()=>re(!1),e[36]=Ne):Ne=e[36];let Pe=Ne,Y;e[37]!==je||e[38]!==Me||e[39]!==V||e[40]!==q?(Y={allRows:V,variables:Se,onSave:q,onReset:Me,onRemove:je},e[37]=je,e[38]=Me,e[39]=V,e[40]=q,e[41]=Y):Y=e[41];let Fe=Y,Ie,Le;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=De(`keybindings`),Le=ee?null:(0,K.jsx)(ot,{}),e[42]=Ie,e[43]=Le):(Ie=e[42],Le=e[43]);let X;e[44]===A?X=e[45]:(X=(0,K.jsx)(Ae,{query:A,onChange:j,inputRef:z}),e[44]=A,e[45]=X);let Re=ne||!s,ze,Be;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(ze=()=>re(!0),Be=(0,K.jsx)(v,{"aria-hidden":!0,className:`size-4`}),e[46]=ze,e[47]=Be):(ze=e[46],Be=e[47]);let Z;e[48]===Re?Z=e[49]:(Z=(0,K.jsxs)(l,{type:`button`,variant:`outline`,disabled:Re,onClick:ze,children:[Be,`Add keybinding`]}),e[48]=Re,e[49]=Z);let Ve=!h||!i,He;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,K.jsx)(g,{"aria-hidden":!0,className:`size-4`}),e[50]=He):He=e[50];let Q;e[51]!==we||e[52]!==Ve?(Q=(0,K.jsx)(w,{render:(0,K.jsx)(l,{type:`button`,variant:`outline`,size:`icon`,disabled:Ve,onClick:we,"aria-label":`Open keybindings.json`,children:He})}),e[51]=we,e[52]=Ve,e[53]=Q):Q=e[53];let We;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,K.jsx)(T,{side:`top`,children:`Open keybindings.json`}),e[54]=We):We=e[54];let Ge;e[55]===Q?Ge=e[56]:(Ge=(0,K.jsxs)(E,{children:[Q,We]}),e[55]=Q,e[56]=Ge);let $;e[57]!==X||e[58]!==Z||e[59]!==Ge?($=(0,K.jsx)(fe,{...Ie,headerAction:Le,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 px-3 py-3 sm:px-4`,children:[X,Z,Ge]})}),e[57]=X,e[58]=Z,e[59]=Ge,e[60]=$):$=e[60];let Ke;e[61]!==s||e[62]!==r?(Ke=s?null:(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r.length===0?`Connect an environment to change keybindings.`:`This connection can view keybindings but cannot change them.`}),e[61]=s,e[62]=r,e[63]=Ke):Ke=e[63];let qe=!s,Je;e[64]!==ve||e[65]!==ne||e[66]!==V||e[67]!==q||e[68]!==B?(Je=ne?(0,K.jsx)(le,{children:(0,K.jsx)(it,{commandOptions:ve,allRows:V,variables:Se,isSaving:B!==null,onSave:q,onCancel:Pe})}):null,e[64]=ve,e[65]=ne,e[66]=V,e[67]=q,e[68]=B,e[69]=Je):Je=e[69];let Ye;e[70]!==ce||e[71]!==oe||e[72]!==Fe||e[73]!==B?(Ye=oe.length>0?(0,K.jsx)(at,{groups:oe,anchorIds:ce,savingCommand:B,...Fe}):(0,K.jsx)(le,{children:(0,K.jsx)(`div`,{className:`px-4 py-12 text-center text-sm text-muted-foreground`,children:`No keybindings match your search.`})}),e[70]=ce,e[71]=oe,e[72]=Fe,e[73]=B,e[74]=Ye):Ye=e[74];let Xe;e[75]!==qe||e[76]!==Je||e[77]!==Ye?(Xe=(0,K.jsxs)(`div`,{inert:qe,className:`flex flex-col gap-8`,children:[Je,Ye]}),e[75]=qe,e[76]=Je,e[77]=Ye,e[78]=Xe):Xe=e[78];let Ze;return e[79]!==$||e[80]!==Ke||e[81]!==Xe?(Ze=(0,K.jsxs)(de,{children:[$,Ke,Xe]}),e[79]=$,e[80]=Ke,e[81]=Xe,e[82]=Ze):Ze=e[82],Ze}function ct(e){return e._tag===`Failure`}function lt(e){return I(e.environmentId,n)}function ut(e){return e._tag===`Failure`}function dt(e){return I(e.environmentId,n)}function ft(e){return e.hash.replace(/^#/,``)}var pt=st;export{pt as component};
|
|
2
|
-
//# sourceMappingURL=settings.keybindings-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Af as n,Ax as r,Gn as i,If as a,Sc as o,Wn as s,Yn as c,Zn as l,ha as u,or as d,sr as f,t as p}from"./utils-DmfMX1v5.js";import{t as m}from"./chevron-down-DHV04o66.js";import{t as h}from"./circle-x-C-GXnJRB.js";import{t as g}from"./file-braces-CcggTVd0.js";import{t as _}from"./minus-C7W28oE7.js";import{t as v}from"./plus-Cr075-cy.js";import{t as y}from"./search-Cr9eaeTj.js";import{t as b}from"./triangle-alert-BiHUyRl3.js";import{t as x}from"./x-CSwbgjBe.js";import{L as S,U as C}from"./runtime-BQJQC-Ny.js";import{a as w,n as T,t as E}from"./tooltip-taOyJZax.js";import{a as D,c as O,o as k,s as A,t as j}from"./select-B4VvMEs2.js";import{t as M}from"./useLocation-QINZoaPz.js";import{i as N}from"./toast-CjelgyqV.js";import{f as P}from"./server-BD_Y5Gsn.js";import{i as F,n as I,o as L}from"./session-DsbInyNV.js";import{t as R}from"./use-atom-command-CQHjSXPR.js";import{t as ee}from"./env-wK1YYxA8.js";import{t as z}from"./toggle-B5fidRv0.js";import{t as B}from"./input-Cd_0h7h_.js";import{i as te}from"./keybindings-uYm_vnXl.js";import{i as ne,o as re,t as ie}from"./popover-CKyetthu.js";import{n as V,r as ae,t as oe}from"./input-group-CJ7ZOvDN.js";import{n as se,t as ce}from"./kbd-c17EHIx1.js";import{B as le,U as ue,a as de,i as fe,s as pe}from"./settingsLayout-jP1a50ek.js";import{a as H,c as me,f as he,i as ge,l as _e,m as ve,n as ye,o as be,p as U,r as xe,s as Se,t as Ce,u as we}from"./KeybindingsSettings.logic-7EBA0xLE.js";import{Wa as Te,Xo as Ee,ir as De,rr as Oe}from"./main-BB3F4O6Y.js";var W=r(),G=e(t(),1),K=e(u(),1);function q(e){let t=(0,W.c)(6),{value:n}=e,r,i;if(t[0]!==n){let e=new Map,a=n.split(`+`).map(t=>{let n=e.get(t)??0;return e.set(t,n+1),{part:t,key:n===0?t:`${t}-${n}`}});r=se,i=a.map(ke),t[0]=n,t[1]=r,t[2]=i}else r=t[1],i=t[2];let a;return t[3]!==r||t[4]!==i?(a=(0,K.jsx)(r,{children:i}),t[3]=r,t[4]=i,t[5]=a):a=t[5],a}function ke(e){let{part:t,key:n}=e;return(0,K.jsx)(ce,{children:t===`mod`?navigator.platform.toLowerCase().includes(`mac`)?`⌘`:`Ctrl`:t===`shift`?`⇧`:t===`alt`?navigator.platform.toLowerCase().includes(`mac`)?`⌥`:`Alt`:t===`ctrl`?`⌃`:t.length===1?t.toUpperCase():t},n)}function Ae(e){let t=(0,W.c)(11),{query:n,onChange:r,inputRef:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(V,{children:(0,K.jsx)(y,{"aria-hidden":!0,className:`size-3.5`})}),t[0]=a):a=t[0];let o;t[1]===r?o=t[2]:(o=e=>r(e.currentTarget.value),t[1]=r,t[2]=o);let s;t[3]!==r||t[4]!==n?(s=e=>{e.key===`Escape`&&(e.preventDefault(),n.length>0?r(``):e.currentTarget.blur())},t[3]=r,t[4]=n,t[5]=s):s=t[5];let c;return t[6]!==i||t[7]!==n||t[8]!==o||t[9]!==s?(c=(0,K.jsxs)(oe,{className:`min-w-0 basis-full **:[input]:h-9 sm:basis-0 sm:flex-1 sm:**:[input]:h-8`,children:[a,(0,K.jsx)(ae,{ref:i,type:`search`,value:n,onChange:o,onKeyDown:s,placeholder:`Search keybindings`,"aria-label":`Search keybindings`,size:`sm`})]}),t[6]=i,t[7]=n,t[8]=o,t[9]=s,t[10]=c):c=t[10],c}function je(e,t){return e.type===t?[...je(e.left,t),...je(e.right,t)]:[e]}function J(e,t){let n=e[0];if(n)return e.slice(1).reduce((e,n)=>({type:t,left:e,right:n}),n)}function Me(e){return e.type===`identifier`?{identifier:e.name,negated:!1}:e.type===`not`&&e.node.type===`identifier`?{identifier:e.node.name,negated:!0}:null}function Ne(e,t){let n=Me(e);if(!n)return e;let r={type:`identifier`,name:t};return n.negated?{type:`not`,node:r}:r}function Pe(e,t){let n=Me(e);if(!n)return t?{type:`not`,node:e}:e;let r={type:`identifier`,name:n.identifier};return t?{type:`not`,node:r}:r}function Y(){return{type:`identifier`,name:Ce}}function Fe(e=`and`){return{type:e,left:Y(),right:{type:`not`,node:Y()}}}function Ie(e){let t=(0,W.c)(14),{label:n,focusable:r,className:i,children:a}=e,o=r===void 0||r?0:void 0,s;t[0]===i?s=t[1]:(s=p(`inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-warning outline-none transition-colors hover:bg-warning/10 focus-visible:ring-3 focus-visible:ring-inset focus-visible:ring-warning/25`,i),t[0]=i,t[1]=s);let c;t[2]!==n||t[3]!==o||t[4]!==s?(c=(0,K.jsx)(`span`,{tabIndex:o,"aria-label":n,className:s}),t[2]=n,t[3]=o,t[4]=s,t[5]=c):c=t[5];let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,K.jsx)(b,{className:`size-3.5`}),t[6]=l):l=t[6];let u;t[7]===c?u=t[8]:(u=(0,K.jsx)(w,{render:c,children:l}),t[7]=c,t[8]=u);let d;t[9]===a?d=t[10]:(d=(0,K.jsx)(T,{side:`top`,children:a}),t[9]=a,t[10]=d);let f;return t[11]!==u||t[12]!==d?(f=(0,K.jsxs)(E,{children:[u,d]}),t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function Le(e){let t=(0,W.c)(5),{identifiers:n,focusable:r}=e,i=r===void 0||r;if(n.length===0)return null;let a;t[0]===n?a=t[1]:(a=n.length===1?`Unknown condition: ${n[0]}`:`Unknown conditions: ${n.join(`, `)}`,t[0]=n,t[1]=a);let o=a,s;return t[2]!==i||t[3]!==o?(s=(0,K.jsx)(Ie,{label:o,focusable:i,className:`size-4.5`,children:`P4 Code does not recognize this condition yet. It can still be saved, but it may not match unless the runtime provides it.`}),t[2]=i,t[3]=o,t[4]=s):s=t[4],s}function X(e){let t=(0,W.c)(4),{labels:n}=e;if(n.length===0)return null;let r;t[0]===n?r=t[1]:(r=n.length===1?`Conflicts with ${n[0]}.`:`Conflicts with ${n.slice(0,3).join(`, `)}${n.length>3?`, and more`:``}.`,t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,K.jsxs)(Ie,{label:i,children:[i,` The most recent matching binding wins when both conditions can apply.`]}),t[2]=i,t[3]=a),a}function Re(e){let t=(0,W.c)(25),{value:n,variables:r,unknownIdentifiers:i,onChange:a}=e,o;if(t[0]!==n||t[1]!==r){let e;t[3]===n?e=t[4]:(e=e=>e===n,t[3]=n,t[4]=e),o=r.find(e),t[0]=n,t[1]=r,t[2]=o}else o=t[2];let s=o,c;t[5]!==s||t[6]!==n||t[7]!==r?(c=s||r.some(e=>e===n)?r:[n,...r],t[5]=s,t[6]=n,t[7]=r,t[8]=c):c=t[8];let l=c,u;t[9]===a?u=t[10]:(u=e=>e&&a(e),t[9]=a,t[10]=u);let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(O,{placeholder:`Condition`}),t[11]=d):d=t[11];let f;t[12]===i?f=t[13]:(f=i&&i.length>0?(0,K.jsx)(Le,{identifiers:i,focusable:!1}):null,t[12]=i,t[13]=f);let p;t[14]===f?p=t[15]:(p=(0,K.jsxs)(A,{size:`compact`,className:`min-w-0 flex-1`,children:[d,f]}),t[14]=f,t[15]=p);let m;t[16]===l?m=t[17]:(m=l.map(ze),t[16]=l,t[17]=m);let h;t[18]===m?h=t[19]:(h=(0,K.jsx)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,className:`max-h-72`,children:m}),t[18]=m,t[19]=h);let g;return t[20]!==u||t[21]!==p||t[22]!==h||t[23]!==n?(g=(0,K.jsxs)(j,{value:n,onValueChange:u,children:[p,h]}),t[20]=u,t[21]=p,t[22]=h,t[23]=n,t[24]=g):g=t[24],g}function ze(e){return(0,K.jsx)(D,{value:e,className:`w-full`,children:(0,K.jsx)(`span`,{className:`truncate`,children:e})},e)}function Be(e){let t=(0,W.c)(14),{label:n,className:r,onRemove:i}=e,a;t[0]===r?a=t[1]:(a=p(`size-7`,r),t[0]=r,t[1]=a);let o;t[2]!==n||t[3]!==i||t[4]!==a?(o=(0,K.jsx)(f,{type:`button`,variant:`ghost`,size:`icon-sm`,className:a,"aria-label":n,onClick:i}),t[2]=n,t[3]=i,t[4]=a,t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(_,{"aria-hidden":!0,className:`size-3.5`}),t[6]=s):s=t[6];let c;t[7]===o?c=t[8]:(c=(0,K.jsx)(w,{delay:200,render:o,children:s}),t[7]=o,t[8]=c);let l;t[9]===n?l=t[10]:(l=(0,K.jsx)(T,{side:`top`,children:n}),t[9]=n,t[10]=l);let u;return t[11]!==c||t[12]!==l?(u=(0,K.jsxs)(E,{children:[c,l]}),t[11]=c,t[12]=l,t[13]=u):u=t[13],u}function Z(e){let t=(0,W.c)(81),{node:n,variables:r,depth:i,onChange:a,onRemove:o}=e,s=i===void 0?0:i,c;if(t[0]!==s||t[1]!==n||t[2]!==a||t[3]!==o||t[4]!==r){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Me(n);if(e){let i=Se(e.identifier)?[]:[e.identifier],l;t[6]!==n||t[7]!==a?(l=e=>a(Pe(n,e)),t[6]=n,t[7]=a,t[8]=l):l=t[8];let u=`Negate ${e.identifier}`,d;t[9]!==e||t[10]!==l||t[11]!==u?(d=(0,K.jsx)(z,{pressed:e.negated,onPressedChange:l,"aria-label":u,variant:`outline`,size:`compact`,className:`min-w-10`,children:`Not`}),t[9]=e,t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;t[13]!==n||t[14]!==a?(f=e=>a(Ne(n,e)),t[13]=n,t[14]=a,t[15]=f):f=t[15];let p;t[16]!==e||t[17]!==f||t[18]!==i||t[19]!==r?(p=(0,K.jsx)(Re,{value:e.identifier,variables:r,unknownIdentifiers:i,onChange:f}),t[16]=e,t[17]=f,t[18]=i,t[19]=r,t[20]=p):p=t[20];let m;t[21]!==s||t[22]!==n||t[23]!==o?(m=o?(0,K.jsx)(Be,{label:ve(n,s),onRemove:o}):null,t[21]=s,t[22]=n,t[23]=o,t[24]=m):m=t[24];let h;t[25]!==d||t[26]!==p||t[27]!==m?(h=(0,K.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/70 bg-background/60 px-2 py-2`,children:[d,p,m]}),t[25]=d,t[26]=p,t[27]=m,t[28]=h):h=t[28],c=h;break bb0}}t[0]=s,t[1]=n,t[2]=a,t[3]=o,t[4]=r,t[5]=c}else c=t[5];if(c!==Symbol.for(`react.early_return_sentinel`))return c;if(n.type===`not`){let e=s>0&&`border-border/50 bg-background/50`,i;t[29]===e?i=t[30]:(i=p(`space-y-2 rounded-lg border border-border/70 bg-muted/20 p-2`,e),t[29]=e,t[30]=i);let c;t[31]!==n||t[32]!==a?(c=(0,K.jsx)(z,{pressed:!0,onPressedChange:e=>a(e?n:n.node),"aria-label":`Negate group`,variant:`outline`,size:`compact`,className:`min-w-10`,children:`Not`}),t[31]=n,t[32]=a,t[33]=c):c=t[33];let l;t[34]!==s||t[35]!==n||t[36]!==o?(l=o?(0,K.jsx)(Be,{label:ve(n,s),className:`ml-auto`,onRemove:o}):null,t[34]=s,t[35]=n,t[36]=o,t[37]=l):l=t[37];let u;t[38]!==c||t[39]!==l?(u=(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,l]}),t[38]=c,t[39]=l,t[40]=u):u=t[40];let d,f;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(`span`,{className:`absolute top-0 bottom-0 left-1.5 w-px bg-border/70`,"aria-hidden":!0}),f=(0,K.jsx)(`span`,{className:`absolute top-4 left-1.5 h-px w-2.5 bg-border/70`,"aria-hidden":!0}),t[41]=d,t[42]=f):(d=t[41],f=t[42]);let m=s+1,h;t[43]===a?h=t[44]:(h=e=>a({type:`not`,node:e}),t[43]=a,t[44]=h);let g;t[45]!==n.node||t[46]!==m||t[47]!==h||t[48]!==r?(g=(0,K.jsxs)(`div`,{className:`relative pl-4`,children:[d,f,(0,K.jsx)(Z,{node:n.node,variables:r,depth:m,onChange:h})]}),t[45]=n.node,t[46]=m,t[47]=h,t[48]=r,t[49]=g):g=t[49];let _;return t[50]!==g||t[51]!==i||t[52]!==u?(_=(0,K.jsxs)(`div`,{className:i,children:[u,g]}),t[50]=g,t[51]=i,t[52]=u,t[53]=_):_=t[53],_}let l=n.type===`or`?`or`:`and`,u,d,m,h;if(t[54]!==s||t[55]!==n||t[56]!==a||t[57]!==o||t[58]!==l||t[59]!==r){let e=je(n,l),i=new Map,c=e.map(e=>{let t=`${e.type}-${U(e)}`,n=i.get(t)??0;return i.set(t,n+1),{child:e,key:n===0?t:`${t}-${n}`}}),g=(t,n)=>{let r=!1,i=J(e.map(e=>!r&&e===t?(r=!0,n):e),l);i&&a(i)},_=t=>{let n=!1,r=J(e.filter(e=>!n&&e===t?(n=!0,!1):!0),l);a(r||Y())},y=t=>{if(t===l)return;let n=J(e,t);n&&a(n)},b=()=>{let t=J([...e,Y()],l);t&&a(t)},x=()=>{let t={type:l===`and`?`or`:`and`,left:Y(),right:{type:`not`,node:Y()}},n=J([...e,t],l);n&&a(n)},S=s>0&&`border-border/70 bg-background/55`;t[64]===S?m=t[65]:(m=p(`space-y-2 rounded-lg border border-border/60 bg-muted/10 p-2`,S),t[64]=S,t[65]=m);let C;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,K.jsx)(A,{size:`compact`,className:`w-24`,children:(0,K.jsx)(O,{})}),t[66]=C):C=t[66];let w;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,K.jsxs)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,children:[(0,K.jsx)(D,{value:`and`,children:`and`}),(0,K.jsx)(D,{value:`or`,children:`or`})]}),t[67]=w):w=t[67];let T;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,K.jsx)(v,{className:`size-3.5`}),t[68]=T):T=t[68];let E;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,K.jsx)(v,{className:`size-3.5`}),t[69]=E):E=t[69];let M;t[70]!==s||t[71]!==n||t[72]!==o?(M=o?(0,K.jsx)(Be,{label:ve(n,s),className:`ml-auto`,onRemove:o}):null,t[70]=s,t[71]=n,t[72]=o,t[73]=M):M=t[73],h=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,K.jsxs)(j,{value:l,onValueChange:e=>y(e),children:[C,w]}),(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:b,children:[T,`Condition`]}),(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:x,children:[E,`Group`]}),M]}),u=`space-y-2`,d=c.map(e=>{let{child:t,key:n}=e;return(0,K.jsxs)(`div`,{className:`relative pl-4`,children:[(0,K.jsx)(`span`,{className:p(`absolute top-0 bottom-0 left-1.5 w-px`,s===0?`bg-border`:`bg-border/70`),"aria-hidden":!0}),(0,K.jsx)(`span`,{className:p(`absolute top-4 left-1.5 h-px w-2.5`,s===0?`bg-border`:`bg-border/70`),"aria-hidden":!0}),(0,K.jsx)(Z,{node:t,variables:r,depth:s+1,onChange:e=>g(t,e),onRemove:()=>_(t)})]},n)}),t[54]=s,t[55]=n,t[56]=a,t[57]=o,t[58]=l,t[59]=r,t[60]=u,t[61]=d,t[62]=m,t[63]=h}else u=t[60],d=t[61],m=t[62],h=t[63];let g;t[74]!==u||t[75]!==d?(g=(0,K.jsx)(`div`,{className:u,children:d}),t[74]=u,t[75]=d,t[76]=g):g=t[76];let _;return t[77]!==m||t[78]!==h||t[79]!==g?(_=(0,K.jsxs)(`div`,{className:m,children:[h,g]}),t[77]=m,t[78]=h,t[79]=g,t[80]=_):_=t[80],_}function Ve(e){let t=(0,W.c)(60),{value:n,variables:r,onChange:i,onValidityChange:a}=e,o;t[0]===n?o=t[1]:(o=U(n),t[0]=n,t[1]=o);let[s,c]=(0,G.useState)(o),l;t[2]===s?l=t[3]:(l=we(s),t[2]=s,t[3]=l);let u=l,d=u.ok?null:u.message,p;t[4]!==u.ok||t[5]!==u.value?(p=u.ok?he(u.value):[],t[4]=u.ok,t[5]=u.value,t[6]=p):p=t[6];let m=p,g;t[7]!==i||t[8]!==a?(g=e=>{c(e);let t=we(e);a?.(t.ok),t.ok&&i(t.value)},t[7]=i,t[8]=a,t[9]=g):g=t[9];let _=g,y;t[10]!==i||t[11]!==a?(y=e=>{c(U(e)),a?.(!0),i(e)},t[10]=i,t[11]=a,t[12]=y):y=t[12];let b=y,x;t[13]!==b||t[14]!==n?(x=()=>{if(!n){b(Y());return}b({type:`and`,left:n,right:Y()})},t[13]=b,t[14]=n,t[15]=x):x=t[15];let S=x,C;t[16]!==b||t[17]!==n?(C=()=>{let e=Fe(`or`);if(!n){b(e);return}b({type:`and`,left:n,right:e})},t[16]=b,t[17]=n,t[18]=C):C=t[18];let w=C,T;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,K.jsx)(`div`,{className:`min-w-0`,children:(0,K.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`When`})}),t[19]=T):T=t[19];let E;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,K.jsx)(v,{className:`size-3.5`}),t[20]=E):E=t[20];let D;t[21]===S?D=t[22]:(D=(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:S,children:[E,`Condition`]}),t[21]=S,t[22]=D);let O;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,K.jsx)(v,{className:`size-3.5`}),t[23]=O):O=t[23];let k;t[24]===w?k=t[25]:(k=(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:w,children:[O,`Group`]}),t[24]=w,t[25]=k);let A;t[26]!==D||t[27]!==k?(A=(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[T,(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[D,k]})]}),t[26]=D,t[27]=k,t[28]=A):A=t[28];let j;t[29]===_?j=t[30]:(j=e=>_(e.currentTarget.value),t[29]=_,t[30]=j);let M=!!d,N;t[31]!==s||t[32]!==j||t[33]!==M?(N=(0,K.jsx)(ae,{value:s,onChange:j,placeholder:`Always`,"aria-invalid":M,"aria-label":`When expression`,size:`compact`,font:`mono`}),t[31]=s,t[32]=j,t[33]=M,t[34]=N):N=t[34];let P;t[35]===m?P=t[36]:(P=m.length>0?(0,K.jsx)(V,{align:`inline-end`,children:(0,K.jsx)(Le,{identifiers:m})}):null,t[35]=m,t[36]=P);let F;t[37]!==N||t[38]!==P?(F=(0,K.jsxs)(oe,{children:[N,P]}),t[37]=N,t[38]=P,t[39]=F):F=t[39];let I;t[40]===d?I=t[41]:(I=d?(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 text-2xs text-destructive`,children:[(0,K.jsx)(h,{className:`size-3.5`}),d]}):null,t[40]=d,t[41]=I);let L;t[42]!==F||t[43]!==I?(L=(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[F,I]}),t[42]=F,t[43]=I,t[44]=L):L=t[44];let R;t[45]!==S||t[46]!==w||t[47]!==b||t[48]!==n||t[49]!==r?(R=n?(0,K.jsx)(Z,{node:n,variables:r,onChange:b,onRemove:()=>b(void 0)}):(0,K.jsx)(`div`,{className:`rounded-md border border-dashed border-border/80 bg-muted/15 p-3`,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,K.jsxs)(f,{type:`button`,size:`compact`,onClick:S,children:[(0,K.jsx)(v,{className:`size-3.5`}),`Condition`]}),(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:w,children:[(0,K.jsx)(v,{className:`size-3.5`}),`Group`]})]})}),t[45]=S,t[46]=w,t[47]=b,t[48]=n,t[49]=r,t[50]=R):R=t[50];let ee;t[51]===d?ee=t[52]:(ee=d?(0,K.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center rounded-lg border border-destructive/30 bg-background/75 p-4 text-center text-xs text-destructive backdrop-blur-xs`,children:`Fix the expression above to continue editing visually.`}):null,t[51]=d,t[52]=ee);let z;t[53]!==R||t[54]!==ee?(z=(0,K.jsxs)(`div`,{className:`relative`,children:[R,ee]}),t[53]=R,t[54]=ee,t[55]=z):z=t[55];let B;return t[56]!==A||t[57]!==L||t[58]!==z?(B=(0,K.jsxs)(`div`,{className:`w-[min(34rem,calc(100vw-2rem))] space-y-3`,children:[A,L,z]}),t[56]=A,t[57]=L,t[58]=z,t[59]=B):B=t[59],B}function He(e){return{keyDraft:e.key,whenDraft:e.binding.whenAst,isRecording:!1,isWhenDraftValid:!0}}function Q(e,t){return{...e,...t}}function Ue(e){return{command:e.command,key:e.key,...e.when.trim().length>0?{when:e.when}:{}}}function We(e){let t=(0,W.c)(27),{row:n,allRows:r,onSave:i}=e,[a,o]=(0,G.useReducer)(Q,n,He),{keyDraft:s,whenDraft:c,isRecording:l,isWhenDraftValid:u}=a,d,f,p;t[0]!==r||t[1]!==s||t[2]!==n.id||t[3]!==n.key||t[4]!==n.when||t[5]!==c?(p=U(c),d=s!==n.key||p!==n.when,f=me(r,{rowId:n.id,key:s,when:p}),t[0]=r,t[1]=s,t[2]=n.id,t[3]=n.key,t[4]=n.when,t[5]=c,t[6]=d,t[7]=f,t[8]=p):(d=t[6],f=t[7],p=t[8]);let m=f,h;t[9]!==s||t[10]!==i||t[11]!==n||t[12]!==p?(h=()=>{i({command:n.command,key:s,when:p.trim().length>0?p:void 0,replace:Ue(n)})},t[9]=s,t[10]=i,t[11]=n,t[12]=p,t[13]=h):h=t[13];let g=h,_;t[14]!==l||t[15]!==n.key?(_=e=>{if(e.key===`Tab`&&!l)return;if(e.preventDefault(),e.key===`Escape`){o({keyDraft:n.key,isRecording:!1});return}let t=_e(e.nativeEvent,navigator.platform);t&&o({keyDraft:t,isRecording:!1})},t[14]=l,t[15]=n.key,t[16]=_):_=t[16];let v=_,y;return t[17]!==v||t[18]!==m||t[19]!==d||t[20]!==l||t[21]!==u||t[22]!==s||t[23]!==g||t[24]!==c||t[25]!==p?(y={keyDraft:s,whenDraft:c,isRecording:l,isWhenDraftValid:u,whenDraftExpression:p,isDirty:d,conflictLabels:m,setDraft:o,save:g,captureKeybinding:v},t[17]=v,t[18]=m,t[19]=d,t[20]=l,t[21]=u,t[22]=s,t[23]=g,t[24]=c,t[25]=p,t[26]=y):y=t[26],y}function Ge(e){let t=(0,W.c)(19),{row:n,editor:r,isSaving:i,pillClassName:a}=e,{keyDraft:o,isRecording:s,isDirty:c,isWhenDraftValid:l,setDraft:u,save:d,captureKeybinding:m}=r,h=!s&&o===n.key&&n.key.length>0&&!c,g;t[0]!==c||t[1]!==i||t[2]!==l||t[3]!==o||t[4]!==d?(g=c?(0,K.jsx)(f,{size:`sm`,disabled:i||o.trim().length===0||!l,onClick:d,children:i?`Saving`:`Save`}):null,t[0]=c,t[1]=i,t[2]=l,t[3]=o,t[4]=d,t[5]=g):g=t[5];let _;t[6]!==m||t[7]!==s||t[8]!==o||t[9]!==a||t[10]!==n.binding||t[11]!==n.command||t[12]!==n.key||t[13]!==u||t[14]!==h?(_=h?(0,K.jsx)(`button`,{type:`button`,onClick:()=>u({isRecording:!0}),"aria-label":`Edit shortcut for ${H(n.command)}: ${te(n.binding.shortcut)}`,className:p(`inline-flex h-8 cursor-pointer items-center rounded-md border border-transparent px-1.5 sm:h-7 outline-none transition-colors hover:border-border/70 hover:bg-accent focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-inset focus-visible:ring-ring/24`,a),children:(0,K.jsx)(q,{value:n.key})}):(0,K.jsx)(B,{"data-keybinding-capture":``,autoFocus:s,"aria-label":`Keybinding for ${H(n.command)}`,value:s?``:o,placeholder:s?`Press shortcut`:`Unassigned`,size:`sm`,font:`mono`,className:`w-44`,onFocus:()=>u({isRecording:!0}),onBlur:()=>u({isRecording:!1}),onChange:e=>u({keyDraft:e.currentTarget.value}),onKeyDown:m}),t[6]=m,t[7]=s,t[8]=o,t[9]=a,t[10]=n.binding,t[11]=n.command,t[12]=n.key,t[13]=u,t[14]=h,t[15]=_):_=t[15];let v;return t[16]!==g||t[17]!==_?(v=(0,K.jsxs)(K.Fragment,{children:[g,_]}),t[16]=g,t[17]=_,t[18]=v):v=t[18],v}function $(e){let t=(0,W.c)(17),{label:n,expression:r,value:i,variables:a,onChange:o,onValidityChange:s}=e,c=r?`ghost`:`ghost-muted`,l;t[0]===c?l=t[1]:(l=(0,K.jsx)(f,{variant:c,size:`micro`,className:`min-w-0 shrink`}),t[0]=c,t[1]=l);let u=`Edit when clause for ${n}`,d=r||`Always`,p;t[2]===d?p=t[3]:(p=(0,K.jsx)(`span`,{className:`truncate font-mono`,children:d}),t[2]=d,t[3]=p);let h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,K.jsx)(m,{className:`size-3.5 shrink-0 opacity-60`}),t[4]=h):h=t[4];let g;t[5]!==l||t[6]!==u||t[7]!==p?(g=(0,K.jsxs)(re,{render:l,"aria-label":u,children:[p,h]}),t[5]=l,t[6]=u,t[7]=p,t[8]=g):g=t[8];let _;t[9]!==o||t[10]!==s||t[11]!==i||t[12]!==a?(_=(0,K.jsx)(ne,{align:`start`,sideOffset:6,children:(0,K.jsx)(Ve,{value:i,variables:a,onChange:o,onValidityChange:s})}),t[9]=o,t[10]=s,t[11]=i,t[12]=a,t[13]=_):_=t[13];let v;return t[14]!==g||t[15]!==_?(v=(0,K.jsxs)(ie,{children:[g,_]}),t[14]=g,t[15]=_,t[16]=v):v=t[16],v}function Ke(e){let t=(0,W.c)(24),{row:n,isSaving:r,onReset:a,onRemove:o}=e,s=n.source===`Custom`&&n.defaultKey!==null,u=n.source!==`Default`;if(!s&&!u)return null;let p;t[0]===n.command?p=t[1]:(p=H(n.command),t[0]=n.command,t[1]=p);let m=`Actions for ${p}`,h;t[2]!==r||t[3]!==m?(h=(0,K.jsx)(f,{type:`button`,variant:`ghost-muted`,size:`icon-sm`,disabled:r,"aria-label":m}),t[2]=r,t[3]=m,t[4]=h):h=t[4];let g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,K.jsx)(Ee,{className:`size-3.5`}),t[5]=g):g=t[5];let _;t[6]===h?_=t[7]:(_=(0,K.jsx)(d,{render:h,children:g}),t[6]=h,t[7]=_);let v;t[8]!==s||t[9]!==r||t[10]!==a||t[11]!==n?(v=s?(0,K.jsx)(c,{disabled:r,onClick:()=>a(n),children:`Reset to default`}):null,t[8]=s,t[9]=r,t[10]=a,t[11]=n,t[12]=v):v=t[12];let y;t[13]!==u||t[14]!==r||t[15]!==o||t[16]!==n?(y=u?(0,K.jsx)(c,{variant:`destructive`,disabled:r,onClick:()=>o(n),children:`Remove`}):null,t[13]=u,t[14]=r,t[15]=o,t[16]=n,t[17]=y):y=t[17];let b;t[18]!==v||t[19]!==y?(b=(0,K.jsxs)(l,{align:`end`,children:[v,y]}),t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;return t[21]!==_||t[22]!==b?(x=(0,K.jsxs)(i,{children:[_,b]}),t[21]=_,t[22]=b,t[23]=x):x=t[23],x}function qe(e){let t=(0,W.c)(2),{source:n}=e;if(n===`Default`)return null;let r;return t[0]===n?r=t[1]:(r=(0,K.jsx)(s,{variant:`outline`,size:`sm`,children:n}),t[0]=n,t[1]=r),r}function Je(e){let t=(0,W.c)(13),{row:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,K.jsx)(`span`,{className:`flex items-center gap-2`}),t[0]=r):r=t[0];let i;t[1]===n.command?i=t[2]:(i=H(n.command),t[1]=n.command,t[2]=i);let a;t[3]===n.source?a=t[4]:(a=(0,K.jsx)(qe,{source:n.source}),t[3]=n.source,t[4]=a);let o;t[5]!==i||t[6]!==a?(o=(0,K.jsxs)(w,{render:r,children:[i,a]}),t[5]=i,t[6]=a,t[7]=o):o=t[7];let s;t[8]===n.command?s=t[9]:(s=(0,K.jsx)(T,{side:`top`,children:n.command}),t[8]=n.command,t[9]=s);let c;return t[10]!==o||t[11]!==s?(c=(0,K.jsxs)(E,{children:[o,s]}),t[10]=o,t[11]=s,t[12]=c):c=t[12],c}function Ye(e){let t=(0,W.c)(13),{row:n,editor:r,variables:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(`span`,{className:`text-xs leading-none text-muted-foreground/70`,children:`When`}),t[0]=a):a=t[0];let o;t[1]===n.command?o=t[2]:(o=H(n.command),t[1]=n.command,t[2]=o);let s,c;t[3]===r?(s=t[4],c=t[5]):(s=e=>r.setDraft({whenDraft:e}),c=e=>r.setDraft({isWhenDraftValid:e}),t[3]=r,t[4]=s,t[5]=c);let l;return t[6]!==r.whenDraft||t[7]!==r.whenDraftExpression||t[8]!==o||t[9]!==s||t[10]!==c||t[11]!==i?(l=(0,K.jsxs)(`span`,{className:`flex h-6 items-center gap-1.5`,children:[a,(0,K.jsx)($,{label:o,expression:r.whenDraftExpression,value:r.whenDraft,variables:i,onChange:s,onValidityChange:c})]}),t[6]=r.whenDraft,t[7]=r.whenDraftExpression,t[8]=o,t[9]=s,t[10]=c,t[11]=i,t[12]=l):l=t[12],l}function Xe(e){let t=(0,W.c)(2),n;return t[0]===e?n=t[1]:(n=(0,K.jsx)(`span`,{className:`flex items-center opacity-0 transition-opacity group-focus-within/row:opacity-100 group-hover/row:opacity-100 has-data-popup-open:opacity-100 pointer-coarse:opacity-100`,children:(0,K.jsx)(Ke,{...e})}),t[0]=e,t[1]=n),n}function Ze(e){let t=(0,W.c)(30),{row:n,isSaving:r,anchorId:i,allRows:a,variables:o,onSave:s,onReset:c,onRemove:l}=e,u;t[0]!==a||t[1]!==s||t[2]!==n?(u={row:n,allRows:a,onSave:s},t[0]=a,t[1]=s,t[2]=n,t[3]=u):u=t[3];let d=We(u),f;t[4]===n?f=t[5]:(f=(0,K.jsx)(Je,{row:n}),t[4]=n,t[5]=f);let p;t[6]!==d||t[7]!==n||t[8]!==o?(p=(0,K.jsx)(Ye,{row:n,editor:d,variables:o}),t[6]=d,t[7]=n,t[8]=o,t[9]=p):p=t[9];let m;t[10]===d.conflictLabels?m=t[11]:(m=(0,K.jsx)(X,{labels:d.conflictLabels}),t[10]=d.conflictLabels,t[11]=m);let h;t[12]!==r||t[13]!==l||t[14]!==c||t[15]!==n?(h=(0,K.jsx)(Xe,{row:n,isSaving:r,onReset:c,onRemove:l}),t[12]=r,t[13]=l,t[14]=c,t[15]=n,t[16]=h):h=t[16];let g;t[17]!==d||t[18]!==r||t[19]!==n?(g=(0,K.jsx)(Ge,{row:n,editor:d,isSaving:r,pillClassName:`-mr-1.5`}),t[17]=d,t[18]=r,t[19]=n,t[20]=g):g=t[20];let _;t[21]!==m||t[22]!==h||t[23]!==g?(_=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1.5`,children:[m,h,g]}),t[21]=m,t[22]=h,t[23]=g,t[24]=_):_=t[24];let v;return t[25]!==i||t[26]!==f||t[27]!==p||t[28]!==_?(v=(0,K.jsx)(de,{id:i,className:`group/row rounded-none`,title:f,description:p,control:_}),t[25]=i,t[26]=f,t[27]=p,t[28]=_,t[29]=v):v=t[29],v}function Qe(e){let t=(0,W.c)(30),{allRows:n,onSave:r}=e,[i,a]=(0,G.useState)(``),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={keyDraft:``,whenDraft:void 0,isRecording:!1,isWhenDraftValid:!0},t[0]=o):o=t[0];let[s,c]=(0,G.useReducer)(Q,o),{keyDraft:l,whenDraft:u,isRecording:d,isWhenDraftValid:f}=s,p,m;t[1]!==n||t[2]!==l||t[3]!==u?(m=U(u),p=me(n,{rowId:`new`,key:l,when:m}),t[1]=n,t[2]=l,t[3]=u,t[4]=p,t[5]=m):(p=t[4],m=t[5]);let h=p,g;t[6]===i?g=t[7]:(g=i?H(i):`new keybinding`,t[6]=i,t[7]=g);let _=g,v;t[8]!==i||t[9]!==f||t[10]!==l?(v=!!i&&l.trim().length>0&&f,t[8]=i,t[9]=f,t[10]=l,t[11]=v):v=t[11];let y=v,b;t[12]!==i||t[13]!==l||t[14]!==r||t[15]!==m?(b=()=>{i&&r({command:i,key:l,...m.trim().length>0?{when:m}:{}})},t[12]=i,t[13]=l,t[14]=r,t[15]=m,t[16]=b):b=t[16];let x=b,S;t[17]===d?S=t[18]:(S=e=>{if(e.key===`Tab`&&!d)return;if(e.preventDefault(),e.key===`Escape`){c({keyDraft:``,isRecording:!1});return}let t=_e(e.nativeEvent,navigator.platform);t&&c({keyDraft:t,isRecording:!1})},t[17]=d,t[18]=S);let C=S,w;return t[19]!==y||t[20]!==C||t[21]!==i||t[22]!==_||t[23]!==h||t[24]!==d||t[25]!==l||t[26]!==x||t[27]!==u||t[28]!==m?(w={commandDraft:i,setCommandDraft:a,keyDraft:l,whenDraft:u,whenDraftExpression:m,isRecording:d,conflictLabels:h,commandLabelText:_,canSave:y,setDraft:c,save:x,captureKeybinding:C},t[19]=y,t[20]=C,t[21]=i,t[22]=_,t[23]=h,t[24]=d,t[25]=l,t[26]=x,t[27]=u,t[28]=m,t[29]=w):w=t[29],w}function $e(e){let t=(0,W.c)(14),{draft:n,commandOptions:r,className:i}=e,a=n.commandDraft,o;t[0]===n?o=t[1]:(o=e=>n.setCommandDraft(e),t[0]=n,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(O,{placeholder:`Command`}),t[2]=s):s=t[2];let c;t[3]===i?c=t[4]:(c=(0,K.jsx)(A,{size:`sm`,className:i,children:s}),t[3]=i,t[4]=c);let l;t[5]===r?l=t[6]:(l=r.map(et),t[5]=r,t[6]=l);let u;t[7]===l?u=t[8]:(u=(0,K.jsx)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,className:`max-h-72`,children:l}),t[7]=l,t[8]=u);let d;return t[9]!==n.commandDraft||t[10]!==o||t[11]!==c||t[12]!==u?(d=(0,K.jsxs)(j,{value:a,onValueChange:o,children:[c,u]}),t[9]=n.commandDraft,t[10]=o,t[11]=c,t[12]=u,t[13]=d):d=t[13],d}function et(e){return(0,K.jsx)(D,{value:e,className:`w-full`,children:(0,K.jsx)(`span`,{className:`truncate`,children:H(e)})},e)}function tt(e){let t=(0,W.c)(14),{draft:n,autoFocus:r,className:i}=e,a=r!==void 0&&r,o=`Keybinding for ${n.commandLabelText}`,s=n.isRecording?``:n.keyDraft,c=n.isRecording?`Press shortcut`:`Unassigned`,l,u,d;t[0]===n?(l=t[1],u=t[2],d=t[3]):(l=()=>n.setDraft({isRecording:!0}),u=()=>n.setDraft({isRecording:!1}),d=e=>n.setDraft({keyDraft:e.currentTarget.value}),t[0]=n,t[1]=l,t[2]=u,t[3]=d);let f;return t[4]!==a||t[5]!==i||t[6]!==n.captureKeybinding||t[7]!==o||t[8]!==s||t[9]!==c||t[10]!==l||t[11]!==u||t[12]!==d?(f=(0,K.jsx)(B,{"data-keybinding-capture":``,autoFocus:a,"aria-label":o,value:s,placeholder:c,size:`sm`,font:`mono`,className:i,onFocus:l,onBlur:u,onChange:d,onKeyDown:n.captureKeybinding}),t[4]=a,t[5]=i,t[6]=n.captureKeybinding,t[7]=o,t[8]=s,t[9]=c,t[10]=l,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function nt(e){let t=(0,W.c)(10),{draft:n,variables:r}=e,i,a;t[0]===n?(i=t[1],a=t[2]):(i=e=>n.setDraft({whenDraft:e}),a=e=>n.setDraft({isWhenDraftValid:e}),t[0]=n,t[1]=i,t[2]=a);let o;return t[3]!==n.commandLabelText||t[4]!==n.whenDraft||t[5]!==n.whenDraftExpression||t[6]!==i||t[7]!==a||t[8]!==r?(o=(0,K.jsx)($,{label:n.commandLabelText,expression:n.whenDraftExpression,value:n.whenDraft,variables:r,onChange:i,onValidityChange:a}),t[3]=n.commandLabelText,t[4]=n.whenDraft,t[5]=n.whenDraftExpression,t[6]=i,t[7]=a,t[8]=r,t[9]=o):o=t[9],o}function rt(e){let t=(0,W.c)(9),{isSaving:n,onCancel:r}=e,i;t[0]!==n||t[1]!==r?(i=(0,K.jsx)(f,{type:`button`,variant:`ghost-muted`,size:`icon-sm`,disabled:n,"aria-label":`Cancel new keybinding`,onClick:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(x,{className:`size-3.5`}),t[3]=a):a=t[3];let o;t[4]===i?o=t[5]:(o=(0,K.jsx)(w,{render:i,children:a}),t[4]=i,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(T,{side:`top`,children:`Cancel`}),t[6]=s):s=t[6];let c;return t[7]===o?c=t[8]:(c=(0,K.jsxs)(E,{children:[o,s]}),t[7]=o,t[8]=c),c}function it(e){let t=(0,W.c)(30),{commandOptions:n,allRows:r,variables:i,isSaving:a,onSave:o,onCancel:s}=e,c;t[0]!==r||t[1]!==o?(c={allRows:r,onSave:o},t[0]=r,t[1]=o,t[2]=c):c=t[2];let l=Qe(c),u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,K.jsx)(`span`,{className:`text-xs leading-none text-muted-foreground/70`,children:`When`}),t[3]=u):u=t[3];let d;t[4]!==l||t[5]!==i?(d=(0,K.jsxs)(`span`,{className:`flex h-6 items-center gap-1.5`,children:[u,(0,K.jsx)(nt,{draft:l,variables:i})]}),t[4]=l,t[5]=i,t[6]=d):d=t[6];let p;t[7]!==n||t[8]!==l?(p=(0,K.jsx)($e,{draft:l,commandOptions:n,className:`w-56`}),t[7]=n,t[8]=l,t[9]=p):p=t[9];let m;t[10]===l.conflictLabels?m=t[11]:(m=(0,K.jsx)(X,{labels:l.conflictLabels}),t[10]=l.conflictLabels,t[11]=m);let h;t[12]===l?h=t[13]:(h=(0,K.jsx)(tt,{draft:l,className:`w-44`}),t[12]=l,t[13]=h);let g=a||!l.canSave,_=a?`Saving`:`Save`,v;t[14]!==l.save||t[15]!==g||t[16]!==_?(v=(0,K.jsx)(f,{size:`sm`,disabled:g,onClick:l.save,children:_}),t[14]=l.save,t[15]=g,t[16]=_,t[17]=v):v=t[17];let y;t[18]!==a||t[19]!==s?(y=(0,K.jsx)(rt,{isSaving:a,onCancel:s}),t[18]=a,t[19]=s,t[20]=y):y=t[20];let b;t[21]!==p||t[22]!==m||t[23]!==h||t[24]!==v||t[25]!==y?(b=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[p,m,h,v,y]}),t[21]=p,t[22]=m,t[23]=h,t[24]=v,t[25]=y,t[26]=b):b=t[26];let x;return t[27]!==b||t[28]!==d?(x=(0,K.jsx)(de,{className:`bg-muted/15`,title:`New keybinding`,description:d,control:b}),t[27]=b,t[28]=d,t[29]=x):x=t[29],x}function at(e){let{groups:t,anchorIds:n,savingCommand:r,...i}=e;return t.map(e=>(0,K.jsx)(pe,{id:`keybindings-${e.id}`,title:e.title,children:e.rows.map(e=>(0,K.jsx)(Ze,{row:e,anchorId:n.get(e.id),isSaving:r===e.command,...i},e.id))},e.id))}function ot(){let e=(0,W.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,K.jsxs)(E,{children:[(0,K.jsx)(w,{delay:200,render:(0,K.jsx)(f,{size:`icon-micro`,variant:`ghost-muted`,"aria-label":`The browser may claim some shortcuts first. The desktop app receives them all.`,children:(0,K.jsx)(b,{className:`size-3.5 text-warning`})})}),(0,K.jsx)(T,{side:`top`,className:`max-w-72`,children:`The browser may claim some shortcuts first. The desktop app receives them all.`})]}),e[0]=t):t=e[0],t}function st(){let e=(0,W.c)(83),{environment:t,connectedEnvironments:r}=le(),i=F(t?.environmentId??null,n),s=L(r,a),c;e[0]!==r||e[1]!==s?(c=r.length>0&&r.every(e=>s.has(e.environmentId)),e[0]=r,e[1]=s,e[2]=c):c=e[2];let l=c,u=t?.serverConfig?.keybindings,d;e[3]===u?d=e[4]:(d=u??[],e[3]=u,e[4]=d);let p;e[5]===d?p=e[6]:(p=o(d),e[5]=d,e[6]=p);let m=p,h=t?.serverConfig?.keybindingsConfigPath??null,_;e[7]===t?.serverConfig?.availableEditors?_=e[8]:(_=t?.serverConfig?.availableEditors??[],e[7]=t?.serverConfig?.availableEditors,e[8]=_);let y=_,b;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(b={reportFailure:!1},e[9]=b):b=e[9];let x=R(P.upsertKeybinding,b),D;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(D={reportFailure:!1},e[10]=D):D=e[10];let O=R(P.removeKeybinding,D),k=Te(t?.environmentId??null,y),[A,j]=(0,G.useState)(``),z=(0,G.useRef)(null),[B,te]=(0,G.useState)(null),[ne,re]=(0,G.useState)(!1),ie;e[11]!==m||e[12]!==A?(ie=xe(m,A),e[11]=m,e[12]=A,e[13]=ie):ie=e[13];let V=ie,ae;e[14]===V?ae=e[15]:(ae=be(V),e[14]=V,e[15]=ae);let oe=ae,se;if(e[16]!==V){se=new Map;let t=new Set;for(let e of V)t.has(e.command)||(t.add(e.command),se.set(e.id,Oe(e.command)));e[16]=V,e[17]=se}else se=e[17];let ce=se,de;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(de={select:ft},e[18]=de):de=e[18];let H=M(de),[me,he]=(0,G.useState)(H);H!==me&&(he(H),H.startsWith(`keybinding-`)&&j(``));let _e;e[19]===m?_e=e[20]:(_e=ye(m),e[19]=m,e[20]=_e);let ve=_e,U;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(U=ge(),e[21]=U):U=e[21];let Se=U,Ce;e[22]!==h||e[23]!==k||e[24]!==t?(Ce=()=>{h&&t&&I(t.environmentId,`orchestration:operate`)&&(async()=>{let e=await k(h);if(e._tag===`Success`||S(e))return;let t=C(e);N.add({title:`Unable to open keybindings file`,description:t instanceof Error?t.message:`The keybindings file was not opened.`,type:`error`})})()},e[22]=h,e[23]=k,e[24]=t,e[25]=Ce):Ce=e[25];let we=Ce,Ee;e[26]!==r||e[27]!==t||e[28]!==x?(Ee=e=>{if(!t||!r.every(dt))return;te(e.command);let n={command:e.command,key:e.key.trim(),...e.when?.trim()?{when:e.when.trim()}:{},...e.replace?{replace:e.replace}:{}};(async()=>{let e=await Promise.all(r.map(e=>x({environmentId:e.environmentId,input:n})));te(null);let t=e.find(ut);if(!t){re(!1);return}if(!S(t)){let e=C(t);N.add({title:`Unable to save keybinding`,description:e instanceof Error?e.message:`The keybinding was not saved.`,type:`error`})}})()},e[26]=r,e[27]=t,e[28]=x,e[29]=Ee):Ee=e[29];let q=Ee,ke;e[30]!==r||e[31]!==t||e[32]!==O?(ke=e=>{t&&r.every(lt)&&(te(e.command),(async()=>{let t=await Promise.all(r.map(t=>O({environmentId:t.environmentId,input:Ue(e)})));te(null);let n=t.find(ct)??t[0];if(n?._tag===`Failure`&&!S(n)){let e=C(n);N.add({title:`Unable to remove keybinding`,description:e instanceof Error?e.message:`The keybinding was not removed.`,type:`error`})}})())},e[30]=r,e[31]=t,e[32]=O,e[33]=ke):ke=e[33];let je=ke,J;e[34]===q?J=e[35]:(J=e=>{e.defaultKey&&q({command:e.command,key:e.defaultKey,when:e.defaultWhen.trim().length>0?e.defaultWhen:void 0,replace:{command:e.command,key:e.key,...e.when.trim().length>0?{when:e.when}:{}}})},e[34]=q,e[35]=J);let Me=J,Ne;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=()=>re(!1),e[36]=Ne):Ne=e[36];let Pe=Ne,Y;e[37]!==je||e[38]!==Me||e[39]!==V||e[40]!==q?(Y={allRows:V,variables:Se,onSave:q,onReset:Me,onRemove:je},e[37]=je,e[38]=Me,e[39]=V,e[40]=q,e[41]=Y):Y=e[41];let Fe=Y,Ie,Le;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=De(`keybindings`),Le=ee?null:(0,K.jsx)(ot,{}),e[42]=Ie,e[43]=Le):(Ie=e[42],Le=e[43]);let X;e[44]===A?X=e[45]:(X=(0,K.jsx)(Ae,{query:A,onChange:j,inputRef:z}),e[44]=A,e[45]=X);let Re=ne||!l,ze,Be;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(ze=()=>re(!0),Be=(0,K.jsx)(v,{"aria-hidden":!0,className:`size-4`}),e[46]=ze,e[47]=Be):(ze=e[46],Be=e[47]);let Z;e[48]===Re?Z=e[49]:(Z=(0,K.jsxs)(f,{type:`button`,variant:`outline`,disabled:Re,onClick:ze,children:[Be,`Add keybinding`]}),e[48]=Re,e[49]=Z);let Ve=!h||!i,He;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,K.jsx)(g,{"aria-hidden":!0,className:`size-4`}),e[50]=He):He=e[50];let Q;e[51]!==we||e[52]!==Ve?(Q=(0,K.jsx)(w,{render:(0,K.jsx)(f,{type:`button`,variant:`outline`,size:`icon`,disabled:Ve,onClick:we,"aria-label":`Open keybindings.json`,children:He})}),e[51]=we,e[52]=Ve,e[53]=Q):Q=e[53];let We;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,K.jsx)(T,{side:`top`,children:`Open keybindings.json`}),e[54]=We):We=e[54];let Ge;e[55]===Q?Ge=e[56]:(Ge=(0,K.jsxs)(E,{children:[Q,We]}),e[55]=Q,e[56]=Ge);let $;e[57]!==X||e[58]!==Z||e[59]!==Ge?($=(0,K.jsx)(pe,{...Ie,headerAction:Le,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 px-3 py-3 sm:px-4`,children:[X,Z,Ge]})}),e[57]=X,e[58]=Z,e[59]=Ge,e[60]=$):$=e[60];let Ke;e[61]!==l||e[62]!==r?(Ke=l?null:(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r.length===0?`Connect an environment to change keybindings.`:`This connection can view keybindings but cannot change them.`}),e[61]=l,e[62]=r,e[63]=Ke):Ke=e[63];let qe=!l,Je;e[64]!==ve||e[65]!==ne||e[66]!==V||e[67]!==q||e[68]!==B?(Je=ne?(0,K.jsx)(ue,{children:(0,K.jsx)(it,{commandOptions:ve,allRows:V,variables:Se,isSaving:B!==null,onSave:q,onCancel:Pe})}):null,e[64]=ve,e[65]=ne,e[66]=V,e[67]=q,e[68]=B,e[69]=Je):Je=e[69];let Ye;e[70]!==ce||e[71]!==oe||e[72]!==Fe||e[73]!==B?(Ye=oe.length>0?(0,K.jsx)(at,{groups:oe,anchorIds:ce,savingCommand:B,...Fe}):(0,K.jsx)(ue,{children:(0,K.jsx)(`div`,{className:`px-4 py-12 text-center text-sm text-muted-foreground`,children:`No keybindings match your search.`})}),e[70]=ce,e[71]=oe,e[72]=Fe,e[73]=B,e[74]=Ye):Ye=e[74];let Xe;e[75]!==qe||e[76]!==Je||e[77]!==Ye?(Xe=(0,K.jsxs)(`div`,{inert:qe,className:`flex flex-col gap-8`,children:[Je,Ye]}),e[75]=qe,e[76]=Je,e[77]=Ye,e[78]=Xe):Xe=e[78];let Ze;return e[79]!==$||e[80]!==Ke||e[81]!==Xe?(Ze=(0,K.jsxs)(fe,{children:[$,Ke,Xe]}),e[79]=$,e[80]=Ke,e[81]=Xe,e[82]=Ze):Ze=e[82],Ze}function ct(e){return e._tag===`Failure`}function lt(e){return I(e.environmentId,a)}function ut(e){return e._tag===`Failure`}function dt(e){return I(e.environmentId,a)}function ft(e){return e.hash.replace(/^#/,``)}var pt=st;export{pt as component};
|
|
2
|
+
//# sourceMappingURL=settings.keybindings-DfFrYXxY.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Ax as n,ha as r,sr as i}from"./utils-DmfMX1v5.js";import{t as a}from"./chevron-right-NbahR9_s.js";import{t as o}from"./external-link-NWS0I_zo.js";import{t as s}from"./search-Cr9eaeTj.js";import{a as c,n as l,t as u}from"./tooltip-taOyJZax.js";import{n as d,r as f,t as p}from"./input-group-CJ7ZOvDN.js";import{i as m,s as h}from"./settingsLayout-jP1a50ek.js";import{Fa as g,Ia as _,Pa as v}from"./main-BB3F4O6Y.js";var y=e(t(),1),b=n();function x(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function S(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function C(e){if(typeof e!=`string`)return!1;try{let t=new URL(e).protocol;return t===`http:`||t===`https:`}catch{return!1}}function w(e,t){if(!x(e))throw Error(`License entry ${String(t+1)} is not an object.`);if(!S(e.bundles)||e.bundles.length===0||e.kind!==`custom`&&e.kind!==`package`||typeof e.license!=`string`||typeof e.name!=`string`||typeof e.noticeText!=`string`||e.sourceUrl!==null&&!C(e.sourceUrl)||e.version!==null&&typeof e.version!=`string`)throw Error(`License entry ${String(t+1)} has an invalid shape.`);return{bundles:e.bundles,kind:e.kind,license:e.license,name:e.name,noticeText:e.noticeText,sourceUrl:e.sourceUrl,version:e.version}}function T(e){if(!x(e)||e.schemaVersion!==1||!Array.isArray(e.entries))throw Error(`The open-source license manifest has an unsupported format.`);let t=e.entries.map(w),n=new Set;for(let e of t){let t=k(e);if(n.has(t))throw Error(`The open-source license manifest contains a duplicate entry: ${t}`);n.add(t)}return{schemaVersion:1,entries:t}}function E(e,t){let n=t.trim().toLowerCase().split(/\s+/).filter(e=>e.length>0);return n.length===0?e:e.filter(e=>{let t=[e.name,e.version,e.license,...e.bundles].filter(e=>e!==null).join(` `).toLowerCase();return n.every(e=>t.includes(e))})}var D={android:`Android`,assets:`Assets`,desktop:`Desktop`,"device-tools":`Device tools`,ios:`iOS`,mobile:`Mobile`,server:`Server`,web:`Web`};function O(e){return e.map(e=>Object.prototype.hasOwnProperty.call(D,e)?D[e]:e).join(`, `)}function k(e){return encodeURIComponent(JSON.stringify([e.kind,e.name,e.version]))}var A=e(r(),1),j;async function M(){let e=AbortSignal.timeout(3e4);try{let t=await fetch(`${`/`.replace(/\/$/,``)}/third-party-licenses.json`,{signal:e});if(!t.ok)throw Error(`The license manifest request failed with status ${String(t.status)}.`);return T(await t.json())}catch(t){throw e.aborted?Error(`The license manifest took too long to load.`,{cause:t}):t}}function N(){return j??=M().catch(e=>{throw j=void 0,e}),j}function P(e){let t=(0,b.c)(34),{entry:n,open:r,onOpenChange:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,A.jsx)(a,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-muted-foreground transition-transform duration-200 group-data-panel-open:rotate-90`}),t[0]=c):c=t[0];let l;t[1]===n.name?l=t[2]:(l=(0,A.jsx)(`span`,{className:`truncate font-medium text-foreground`,children:n.name}),t[1]=n.name,t[2]=l);let u;t[3]===n.version?u=t[4]:(u=n.version?(0,A.jsx)(`code`,{className:`shrink-0 text-xs text-muted-foreground`,children:n.version}):null,t[3]=n.version,t[4]=u);let d;t[5]!==l||t[6]!==u?(d=(0,A.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[l,u]}),t[5]=l,t[6]=u,t[7]=d):d=t[7];let f=n.license,p;t[8]===n.bundles?p=t[9]:(p=O(n.bundles),t[8]=n.bundles,t[9]=p);let m;t[10]!==n.license||t[11]!==p?(m=(0,A.jsxs)(`span`,{className:`max-w-[42%] shrink-0 truncate text-xs text-muted-foreground`,children:[f,` · `,p]}),t[10]=n.license,t[11]=p,t[12]=m):m=t[12];let h;t[13]!==d||t[14]!==m?(h=(0,A.jsxs)(_,{className:`group flex min-h-10 min-w-0 flex-1 items-center gap-2.5 px-3 text-left sm:min-h-9 sm:px-4`,children:[c,d,m]}),t[13]=d,t[14]=m,t[15]=h):h=t[15];let y;t[16]!==n.name||t[17]!==n.sourceUrl?(y=n.sourceUrl?(0,A.jsx)(i,{"aria-label":`View project source for ${n.name}`,className:`me-3 shrink-0 sm:me-4`,render:(0,A.jsx)(`a`,{href:n.sourceUrl,rel:`noreferrer noopener`,target:`_blank`}),size:`icon-micro`,title:`Project source`,variant:`ghost-muted`,children:(0,A.jsx)(o,{"aria-hidden":!0,className:`size-3`})}):null,t[16]=n.name,t[17]=n.sourceUrl,t[18]=y):y=t[18];let x;t[19]!==h||t[20]!==y?(x=(0,A.jsxs)(`div`,{className:`flex min-h-10 items-center hover:bg-muted/35 sm:min-h-9`,children:[h,y]}),t[19]=h,t[20]=y,t[21]=x):x=t[21];let S;t[22]!==n.noticeText||t[23]!==r?(S=r?(0,A.jsx)(`div`,{className:`px-9 pt-1 pb-4 sm:px-10`,children:(0,A.jsx)(`pre`,{className:`max-w-[76ch] whitespace-pre-wrap break-words font-mono text-xs/5 text-foreground/80`,children:n.noticeText})}):null,t[22]=n.noticeText,t[23]=r,t[24]=S):S=t[24];let C;t[25]===S?C=t[26]:(C=(0,A.jsx)(g,{children:S}),t[25]=S,t[26]=C);let w;t[27]!==x||t[28]!==C?(w=(0,A.jsxs)(`article`,{children:[x,C]}),t[27]=x,t[28]=C,t[29]=w):w=t[29];let T;return t[30]!==s||t[31]!==r||t[32]!==w?(T=(0,A.jsx)(v,{open:r,onOpenChange:s,children:w}),t[30]=s,t[31]=r,t[32]=w,t[33]=T):T=t[33],T}function F(e){let t=(0,b.c)(2),{filteredCount:n,totalCount:r}=e,i=n===r?`${String(r)} notices`:`${String(n)} of ${String(r)}`,a;return t[0]===i?a=t[1]:(a=(0,A.jsx)(`p`,{className:`whitespace-nowrap text-xs font-normal text-muted-foreground tabular-nums`,children:i}),t[0]=i,t[1]=a),a}function I(e){let t=(0,b.c)(34),{query:n,onQueryChange:r,searchOpen:a,onSearchOpenChange:o,filteredCount:m,totalCount:h}=e;if(!a){let e;t[0]!==m||t[1]!==h?(e=(0,A.jsx)(F,{filteredCount:m,totalCount:h}),t[0]=m,t[1]=h,t[2]=e):e=t[2];let n;t[3]===o?n=t[4]:(n=()=>o(!0),t[3]=o,t[4]=n);let r;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,A.jsx)(s,{className:`size-3`}),t[5]=r):r=t[5];let a;t[6]===n?a=t[7]:(a=(0,A.jsx)(c,{render:(0,A.jsx)(i,{"aria-label":`Search open-source licenses`,onClick:n,size:`icon-micro`,type:`button`,variant:`ghost-muted`,children:r})}),t[6]=n,t[7]=a);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,A.jsx)(l,{side:`top`,children:`Search licenses`}),t[8]=d):d=t[8];let f;t[9]===a?f=t[10]:(f=(0,A.jsxs)(u,{children:[a,d]}),t[9]=a,t[10]=f);let p;return t[11]!==e||t[12]!==f?(p=(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[e,f]}),t[11]=e,t[12]=f,t[13]=p):p=t[13],p}let g;t[14]!==m||t[15]!==h?(g=(0,A.jsx)(`div`,{className:`hidden sm:block`,children:(0,A.jsx)(F,{filteredCount:m,totalCount:h})}),t[14]=m,t[15]=h,t[16]=g):g=t[16];let _;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,A.jsx)(d,{children:(0,A.jsx)(s,{"aria-hidden":!0,className:`size-3`})}),t[17]=_):_=t[17];let v;t[18]!==o||t[19]!==n.length?(v=()=>{n.length===0&&o(!1)},t[18]=o,t[19]=n.length,t[20]=v):v=t[20];let y;t[21]===r?y=t[22]:(y=e=>r(e.currentTarget.value),t[21]=r,t[22]=y);let x;t[23]!==r||t[24]!==o?(x=e=>{e.key===`Escape`&&(e.preventDefault(),r(``),o(!1))},t[23]=r,t[24]=o,t[25]=x):x=t[25];let S;t[26]!==n||t[27]!==v||t[28]!==y||t[29]!==x?(S=(0,A.jsxs)(p,{className:`w-36 sm:w-44`,children:[_,(0,A.jsx)(f,{"aria-label":`Search open-source licenses`,autoFocus:!0,onBlur:v,onChange:y,onKeyDown:x,placeholder:`Search licenses`,size:`sm`,type:`search`,value:n})]}),t[26]=n,t[27]=v,t[28]=y,t[29]=x,t[30]=S):S=t[30];let C;return t[31]!==g||t[32]!==S?(C=(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[g,S]}),t[31]=g,t[32]=S,t[33]=C):C=t[33],C}function L(e){let t=(0,b.c)(8),{message:n,onRetry:r}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,A.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:`Open-source notices are unavailable`}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,A.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[a,(0,A.jsx)(`p`,{className:`max-w-[70ch] text-pretty text-xs leading-normal text-muted-foreground/80`,children:n})]}),t[1]=n,t[2]=o);let s;t[3]===r?s=t[4]:(s=(0,A.jsx)(i,{type:`button`,size:`xs`,variant:`outline`,onClick:r,children:`Try again`}),t[3]=r,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,A.jsxs)(`div`,{className:`flex flex-col items-start gap-3 px-3 py-5 sm:px-4`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function R(){let e=(0,b.c)(25),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={status:`loading`},e[0]=t):t=e[0];let[n,r]=(0,y.useState)(t),[i,a]=(0,y.useState)(``),[o,s]=(0,y.useState)(!1),[c,l]=(0,y.useState)(null),[u,d]=(0,y.useState)(0),f;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{let e=!1;return r({status:`loading`}),N().then(t=>{e||r({status:`ready`,manifest:t})},t=>{e||r({status:`error`,message:t instanceof Error?t.message:`The license manifest could not load.`})}),()=>{e=!0}},e[1]=f):f=e[1];let p;e[2]===u?p=e[3]:(p=[u],e[2]=u,e[3]=p),(0,y.useEffect)(f,p);let g;e[4]!==n.manifest||e[5]!==n.status?(g=n.status===`ready`?n.manifest.entries:[],e[4]=n.manifest,e[5]=n.status,e[6]=g):g=e[6];let _=g,v;e[7]!==_||e[8]!==i?(v=E(_,i),e[7]=_,e[8]=i,e[9]=v):v=e[9];let x=v,S;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>d(z),e[10]=S):S=e[10];let C=S,w;e[11]!==_||e[12]!==x||e[13]!==i||e[14]!==o||e[15]!==n.status?(w=n.status===`ready`?(0,A.jsx)(I,{query:i,onQueryChange:a,searchOpen:o,onSearchOpenChange:s,filteredCount:x.length,totalCount:_.length}):null,e[11]=_,e[12]=x,e[13]=i,e[14]=o,e[15]=n.status,e[16]=w):w=e[16];let T;e[17]!==x||e[18]!==c||e[19]!==n.message||e[20]!==n.status?(T=n.status===`ready`?(0,A.jsx)(`div`,{className:`text-base sm:text-sm`,children:x.length>0?x.map(e=>{let t=k(e);return(0,A.jsx)(P,{entry:e,open:c===t,onOpenChange:e=>l(e?t:null)},t)}):(0,A.jsx)(`p`,{className:`px-3 py-8 text-center text-sm/6 text-muted-foreground sm:px-4`,children:`No licenses match that search.`})}):n.status===`error`?(0,A.jsx)(L,{message:n.message,onRetry:C}):(0,A.jsx)(`p`,{className:`px-3 py-5 text-sm/6 text-muted-foreground sm:px-4`,children:`Loading open-source notices…`}),e[17]=x,e[18]=c,e[19]=n.message,e[20]=n.status,e[21]=T):T=e[21];let D;return e[22]!==w||e[23]!==T?(D=(0,A.jsx)(m,{children:(0,A.jsx)(h,{title:`Third-party notices`,headerAction:w,children:T})}),e[22]=w,e[23]=T,e[24]=D):D=e[24],D}function z(e){return e+1}var B=R;export{B as component};
|
|
2
|
+
//# sourceMappingURL=settings.open-source-licenses-CqRM1gRd.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Ax as n,Gn as r,Ho as i,Qb as a,Yn as o,Zn as s,_m as c,du as l,fu as u,ha as d,hs as f,l as p,lu as m,or as h,sr as g,t as _,uu as v}from"./utils-DmfMX1v5.js";import{t as y}from"./box-CKWcQvdq.js";import{t as b}from"./chevron-down-DHV04o66.js";import{t as x}from"./plus-Cr075-cy.js";import{t as S}from"./plug-Cdxb0djR.js";import{t as C}from"./refresh-cw-PY_ECjtI.js";import{t as w}from"./search-Cr9eaeTj.js";import{t as T}from"./trash-2-CiyAV2xI.js";import{a as E,n as D,t as O}from"./tooltip-taOyJZax.js";import{n as k}from"./ChatMarkdown-CLD9Y6dg.js";import{a as A,c as j,o as M,s as N,t as P}from"./select-B4VvMEs2.js";import{t as F}from"./useLocation-QINZoaPz.js";import{p as ee}from"./toast-CjelgyqV.js";import{C as I}from"./useSettings-CLtJrOYI.js";import{f as L}from"./server-BD_Y5Gsn.js";import{t as R}from"./use-atom-command-CQHjSXPR.js";import{t as te}from"./fileContextMenu-Dcs50sFI.js";import{t as z}from"./skeleton-BlMPaSbD.js";import{t as ne}from"./textarea-Bu723jDd.js";import{n as re,t as B}from"./toggle-group-DCQTLIPb.js";import{t as V}from"./input-Cd_0h7h_.js";import{c as ie,r as ae,s as oe,t as se}from"./dialog-Bn1u_Xoc.js";import{i as H,o as U,r as W,t as G}from"./empty-C-gDaZ_z.js";import{n as ce,r as le,t as ue}from"./input-group-CJ7ZOvDN.js";import{a as de}from"./projectFilesQueryState-ELgLflk5.js";import{B as fe,P as pe,U as K,a as q,i as J,s as Y}from"./settingsLayout-jP1a50ek.js";import{Ar as me,Fr as he,Ir as ge,La as _e,Mr as ve,Ni as ye,Nr as be,Pr as xe,Xo as Se,co as Ce,eo as we,ir as Te,jr as Ee,vs as De}from"./main-BB3F4O6Y.js";import{t as Oe}from"./SecretInput-Be5Akw8x.js";var X=n(),ke={spawn:`Failed to start`,timeout:`Timed out`,protocol:`Not an MCP server`,http:`Can't connect`,auth:`Credentials rejected`};function Ae(e,t,n){if(!e.enabled)return{tone:`muted`,label:`Off`,needsSignIn:!1};if(n)return{tone:`muted`,label:`Checking…`,needsSignIn:!1};let r=e.transport.type===`http`&&e.transport.auth===`oauth`;if(r&&t?.auth===`signed-out`)return{tone:`warning`,label:`Needs sign-in`,needsSignIn:!0};let i=t?.health;switch(i?.status){case`connected`:return{tone:`success`,label:`Connected · ${i.toolCount} ${i.toolCount===1?`tool`:`tools`}`,needsSignIn:!1};case`needs-auth`:return{tone:`warning`,label:`Needs sign-in`,needsSignIn:r};case`error`:return{tone:`error`,label:ke[i.category],detail:i.message,needsSignIn:!1};default:return{tone:`muted`,label:`Not checked`,needsSignIn:!1}}}function je(e){let t=e.transport;if(t.type===`http`)try{let e=new URL(t.url);return`Remote · ${e.host}${e.pathname===`/`?``:e.pathname}`}catch{return`Remote`}return[t.command,...t.args].join(` `)}var Z=e(t(),1),Me=[[`codex`,`Codex`],[`claudeAgent`,`Claude`],[`cursor`,`Cursor`],[`grok`,`Grok`],[`antigravity`,`Antigravity`],[`opencode`,`OpenCode`]],Ne={remote:`Remote servers aren't supported by this provider`,"working-directory":`Servers with a working directory aren't supported here`,provider:`Not supported by this provider yet`};function Pe(e){return Me.map(([t,n])=>{let r=l(t,e.transport),i=c.make(t);return{driver:i,label:n,enabled:r.supported&&!e.disabledProviders.includes(i),...r.supported?{}:{unsupported:Ne[r.reason]}}})}var Fe={name:``,type:`stdio`,command:``,args:``,cwd:``,url:``,auth:`none`,values:[]};function Ie(e){let t=e.transport;return t.type===`stdio`?{...Fe,name:e.name,type:`stdio`,command:t.command,args:t.args.join(`
|
|
2
|
+
`),cwd:t.cwd??``,values:Object.entries(t.env).map(([e,t])=>({key:e,value:t}))}:{...Fe,name:e.name,type:`http`,url:t.url,auth:t.auth,values:Object.entries(t.headers).map(([e,t])=>({key:e,value:t}))}}var Le=/^[a-zA-Z0-9][a-zA-Z0-9_-]*$/;function Re(e,t){let n=e.name.trim();if(!n)return`Enter a name.`;if(!Le.test(n)||n.length>64)return`Use letters, numbers, dashes, and underscores.`;if(n===`t3-code`)return`That name belongs to P4 Code's own server.`;if(t.has(n))return`Another server already uses that name.`;if(e.type===`stdio`&&!e.command.trim())return`Enter the command that starts it.`;if(e.type===`http`&&!/^https?:\/\/\S+$/i.test(e.url.trim()))return`Enter an http or https URL.`}function ze(e,t){let n=Object.fromEntries(e.values.map(e=>[e.key.trim(),e.value]).filter(([e])=>e.length>0)),r=e.type===`stdio`?{type:`stdio`,command:e.command.trim(),args:e.args.split(`
|
|
3
|
+
`).map(e=>e.trim()).filter(e=>e.length>0),env:n,...e.cwd.trim()?{cwd:e.cwd.trim()}:{}}:{type:`http`,url:e.url.trim(),headers:n,auth:e.auth};return{name:e.name.trim(),enabled:t?.enabled??!0,transport:r,disabledProviders:t?.disabledProviders??[],...t?.source===void 0?{}:{source:t.source}}}function Be(e){let t=new Map;for(let n of e){let e=n.displayName??n.driver;for(let r of n.skills){let n=`${r.scope??``}\u0000${r.name}`,i=t.get(n);i===void 0?t.set(n,{skill:r,providers:[e]}):i.providers.includes(e)||i.providers.push(e)}}return[...t.values()].toSorted((e,t)=>Ve(e.skill).localeCompare(Ve(t.skill)))}var Ve=e=>e.displayName??e.name.split(/[-_\s]+/).filter(e=>e.length>0).map(e=>e[0].toUpperCase()+e.slice(1)).join(` `);function He(e){switch(e){case void 0:return;case`user`:return`Personal`;case`project`:case`repo`:return`Project`;case`system`:return`Built-in`;default:return e[0].toUpperCase()+e.slice(1)}}function Ue(e){let t=/^---\r?\n[\s\S]*?\r?\n---\r?\n?/.exec(e);return(t===null?e:e.slice(t[0].length)).trimStart()}var Q=e(d(),1);function We(e){let t=(0,X.c)(14),{title:n,onBack:r,onUninstall:i,children:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(De,{"aria-hidden":!0}),t[0]=o):o=t[0];let s;t[1]===r?s=t[2]:(s=(0,Q.jsxs)(g,{size:`xs`,variant:`ghost`,className:`w-fit`,onClick:r,children:[o,`Back`]}),t[1]=r,t[2]=s);let c;t[3]===n?c=t[4]:(c=(0,Q.jsx)(`h2`,{className:`min-w-0 truncate text-xl font-semibold text-foreground`,children:n}),t[3]=n,t[4]=c);let l;t[5]===i?l=t[6]:(l=i?(0,Q.jsxs)(g,{size:`sm`,variant:`destructive-outline`,onClick:i,children:[(0,Q.jsx)(T,{"aria-hidden":!0}),`Uninstall`]}):null,t[5]=i,t[6]=l);let u;t[7]!==c||t[8]!==l?(u=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[c,l]}),t[7]=c,t[8]=l,t[9]=u):u=t[9];let d;return t[10]!==a||t[11]!==s||t[12]!==u?(d=(0,Q.jsxs)(`div`,{className:`grid gap-6`,children:[s,u,a]}),t[10]=a,t[11]=s,t[12]=u,t[13]=d):d=t[13],d}function $(e){let t=(0,X.c)(6),{label:n,htmlFor:r,children:i}=e,a;t[0]!==r||t[1]!==n?(a=(0,Q.jsx)(ye,{htmlFor:r,children:n}),t[0]=r,t[1]=n,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==a?(o=(0,Q.jsxs)(`div`,{className:`grid gap-2 px-4 py-4`,children:[a,i]}),t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function Ge(e){let t=(0,X.c)(69),{server:n,takenNames:r,onSave:i}=e,a;t[0]===n?a=t[1]:(a=n===void 0?Fe:Ie(n),t[0]=n,t[1]=a);let o=a,[s,c]=(0,Z.useState)(o),l;t[2]===o?l=t[3]:(l=JSON.stringify(o),t[2]=o,t[3]=l);let u=l,[d,f]=(0,Z.useState)(u);u!==d&&(f(u),c(o));let p;t[4]!==s||t[5]!==r?(p=Re(s,r),t[4]=s,t[5]=r,t[6]=p):p=t[6];let m=p,h;t[7]===s?h=t[8]:(h=JSON.stringify(s),t[7]=s,t[8]=h);let _=h!==u,v;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>c(t=>({...t,...e})),t[9]=v):v=t[9];let y=v,b=s.type===`stdio`?`Environment variables`:`Headers`,S;t[10]===s.values?S=t[11]:(S=(e,t)=>y({values:s.values.map((n,r)=>r===e?{...n,...t}:n)}),t[10]=s.values,t[11]=S);let C=S,w;t[12]!==_||t[13]!==s||t[14]!==i||t[15]!==m||t[16]!==n?(w=e=>{e.preventDefault(),_&&m===void 0&&i(ze(s,n))},t[12]=_,t[13]=s,t[14]=i,t[15]=m,t[16]=n,t[17]=w):w=t[17];let E;t[18]===n?E=t[19]:(E=n===void 0?null:(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`To switch between a command and a URL, uninstall the server and add it again.`}),t[18]=n,t[19]=E);let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=e=>y({name:e.target.value}),t[20]=D):D=t[20];let O;t[21]===s.name?O=t[22]:(O=(0,Q.jsx)($,{label:`Name`,htmlFor:`mcp-server-name`,children:(0,Q.jsx)(V,{id:`mcp-server-name`,placeholder:`github`,value:s.name,onChange:D})}),t[21]=s.name,t[22]=O);let k;t[23]!==s.type||t[24]!==n?(k=n===void 0?(0,Q.jsx)($,{label:`Type`,children:(0,Q.jsxs)(re,{"aria-label":`How P4 Code reaches the server`,value:[s.type],onValueChange:e=>{let t=e[0];(t===`stdio`||t===`http`)&&y({type:t,values:[]})},children:[(0,Q.jsx)(B,{value:`stdio`,children:`Command`}),(0,Q.jsx)(B,{value:`http`,children:`URL`})]})}):null,t[23]=s.type,t[24]=n,t[25]=k):k=t[25];let F;t[26]!==s.args||t[27]!==s.auth||t[28]!==s.command||t[29]!==s.cwd||t[30]!==s.type||t[31]!==s.url?(F=s.type===`stdio`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{label:`Command`,htmlFor:`mcp-server-command`,children:(0,Q.jsx)(V,{id:`mcp-server-command`,placeholder:`npx`,value:s.command,onChange:e=>y({command:e.target.value})})}),(0,Q.jsx)($,{label:`Arguments, one per line`,htmlFor:`mcp-server-args`,children:(0,Q.jsx)(ne,{id:`mcp-server-args`,placeholder:`-y
|
|
4
|
+
@modelcontextprotocol/server-postgres`,value:s.args,onChange:e=>y({args:e.target.value})})}),(0,Q.jsx)($,{label:`Working directory (optional)`,htmlFor:`mcp-server-cwd`,children:(0,Q.jsx)(V,{id:`mcp-server-cwd`,placeholder:`The session's project folder`,value:s.cwd,onChange:e=>y({cwd:e.target.value})})})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($,{label:`URL`,htmlFor:`mcp-server-url`,children:(0,Q.jsx)(V,{id:`mcp-server-url`,placeholder:`https://mcp.example.com/mcp`,value:s.url,onChange:e=>y({url:e.target.value})})}),(0,Q.jsx)($,{label:`Authentication`,children:(0,Q.jsxs)(P,{value:s.auth,onValueChange:e=>{(e===`none`||e===`oauth`)&&y({auth:e})},children:[(0,Q.jsx)(N,{"aria-label":`Authentication`,children:(0,Q.jsx)(j,{children:Ke})}),(0,Q.jsxs)(M,{alignItemWithTrigger:!1,children:[(0,Q.jsx)(A,{value:`none`,children:`None or headers`}),(0,Q.jsx)(A,{value:`oauth`,children:`OAuth (sign in after saving)`})]})]})})]}),t[26]=s.args,t[27]=s.auth,t[28]=s.command,t[29]=s.cwd,t[30]=s.type,t[31]=s.url,t[32]=F):F=t[32];let ee;t[33]!==s.type||t[34]!==s.values||t[35]!==C||t[36]!==b?(ee=s.values.map((e,t)=>(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(V,{"aria-label":`${b} name`,placeholder:s.type===`stdio`?`API_TOKEN`:`Authorization`,value:e.key,onChange:e=>C(t,{key:e.target.value})}),(0,Q.jsx)(Oe,{"aria-label":`${b} value`,placeholder:`Value`,value:e.value,onChange:e=>C(t,{value:e.target.value})}),(0,Q.jsx)(g,{size:`icon-sm`,variant:`ghost`,"aria-label":`Remove ${e.key||`row`}`,onClick:()=>y({values:s.values.filter((e,n)=>n!==t)}),children:(0,Q.jsx)(T,{"aria-hidden":!0})})]},t)),t[33]=s.type,t[34]=s.values,t[35]=C,t[36]=b,t[37]=ee):ee=t[37];let I;t[38]===s.values?I=t[39]:(I=()=>y({values:[...s.values,{key:``,value:``}]}),t[38]=s.values,t[39]=I);let L;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,Q.jsx)(x,{"aria-hidden":!0}),t[40]=L):L=t[40];let R=s.type===`stdio`?`variable`:`header`,te;t[41]!==I||t[42]!==R?(te=(0,Q.jsxs)(g,{variant:`soft`,onClick:I,children:[L,`Add `,R]}),t[41]=I,t[42]=R,t[43]=te):te=t[43];let z;t[44]!==ee||t[45]!==te?(z=(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[ee,te]}),t[44]=ee,t[45]=te,t[46]=z):z=t[46];let ie;t[47]!==z||t[48]!==b?(ie=(0,Q.jsx)($,{label:b,children:z}),t[47]=z,t[48]=b,t[49]=ie):ie=t[49];let ae;t[50]!==O||t[51]!==k||t[52]!==F||t[53]!==ie?(ae=(0,Q.jsxs)(K,{children:[O,k,F,ie]}),t[50]=O,t[51]=k,t[52]=F,t[53]=ie,t[54]=ae):ae=t[54];let oe;t[55]!==_||t[56]!==m?(oe=_&&m!==void 0?(0,Q.jsx)(`p`,{role:`alert`,className:`text-sm text-destructive-foreground`,children:m}):null,t[55]=_,t[56]=m,t[57]=oe):oe=t[57];let se=!_||m!==void 0,H=n===void 0?`Add server`:`Save`,U;t[58]!==se||t[59]!==H?(U=(0,Q.jsx)(g,{type:`submit`,disabled:se,children:H}),t[58]=se,t[59]=H,t[60]=U):U=t[60];let W;t[61]!==oe||t[62]!==U?(W=(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-3`,children:[oe,U]}),t[61]=oe,t[62]=U,t[63]=W):W=t[63];let G;return t[64]!==ae||t[65]!==W||t[66]!==w||t[67]!==E?(G=(0,Q.jsxs)(`form`,{className:`grid gap-3`,onSubmit:w,children:[E,ae,W]}),t[64]=ae,t[65]=W,t[66]=w,t[67]=E,t[68]=G):G=t[68],G}function Ke(e){return e===`oauth`?`OAuth (sign in after saving)`:`None or headers`}function qe(e){let t=(0,X.c)(35),{plugin:n,environmentLabel:r,onSave:i}=e,[a,o]=(0,Z.useState)(n?.name??``),[s,c]=(0,Z.useState)(n?.path??``),l=`${n?.name??``}\u0000${n?.path??``}`,[u,d]=(0,Z.useState)(l);l!==u&&(d(l),o(n?.name??``),c(n?.path??``));let f=a!==(n?.name??``)||s!==(n?.path??``),p;t[0]!==a||t[1]!==s?(p=a.trim().length>0&&s.trim().startsWith(`/`),t[0]=a,t[1]=s,t[2]=p):p=t[2];let m=p,h;t[3]!==f||t[4]!==a||t[5]!==i||t[6]!==s||t[7]!==n?.enabled||t[8]!==m?(h=e=>{e.preventDefault(),f&&m&&i({name:a.trim(),path:s.trim(),enabled:n?.enabled??!0})},t[3]=f,t[4]=a,t[5]=i,t[6]=s,t[7]=n?.enabled,t[8]=m,t[9]=h):h=t[9];let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>o(e.target.value),t[10]=_):_=t[10];let v;t[11]===a?v=t[12]:(v=(0,Q.jsx)($,{label:`Name`,htmlFor:`plugin-name`,children:(0,Q.jsx)(V,{id:`plugin-name`,value:a,onChange:_})}),t[11]=a,t[12]=v);let y=`Folder on ${r}`,b;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>c(e.target.value),t[13]=b):b=t[13];let x;t[14]===s?x=t[15]:(x=(0,Q.jsx)(V,{id:`plugin-path`,placeholder:`/Users/me/plugins/my-plugin`,value:s,onChange:b}),t[14]=s,t[15]=x);let S;t[16]!==y||t[17]!==x?(S=(0,Q.jsx)($,{label:y,htmlFor:`plugin-path`,children:x}),t[16]=y,t[17]=x,t[18]=S):S=t[18];let C;t[19]!==v||t[20]!==S?(C=(0,Q.jsxs)(K,{children:[v,S]}),t[19]=v,t[20]=S,t[21]=C):C=t[21];let w;t[22]!==f||t[23]!==m?(w=f&&!m?(0,Q.jsx)(`p`,{role:`alert`,className:`text-sm text-destructive-foreground`,children:`Enter a name and the plugin folder's full path.`}):null,t[22]=f,t[23]=m,t[24]=w):w=t[24];let T=!f||!m,E=n===void 0?`Add plugin`:`Save`,D;t[25]!==T||t[26]!==E?(D=(0,Q.jsx)(g,{type:`submit`,disabled:T,children:E}),t[25]=T,t[26]=E,t[27]=D):D=t[27];let O;t[28]!==w||t[29]!==D?(O=(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-3`,children:[w,D]}),t[28]=w,t[29]=D,t[30]=O):O=t[30];let k;return t[31]!==O||t[32]!==h||t[33]!==C?(k=(0,Q.jsxs)(`form`,{className:`grid gap-3`,onSubmit:h,children:[C,O]}),t[31]=O,t[32]=h,t[33]=C,t[34]=k):k=t[34],k}var Je=e=>e.replace(/[\\/][^\\/]*$/,``)||`/`;function Ye(e){let t=(0,X.c)(69),{entry:n,environmentId:c,onClose:l}=e,{skill:u,providers:d}=n,p,m,_;t[0]!==c||t[1]!==u.path?(p=Je(u.path),m=i,_=de(c,p,u.path),t[0]=c,t[1]=u.path,t[2]=p,t[3]=m,t[4]=_):(p=t[2],m=t[3],_=t[4]);let v=m(_),b;t[5]===v?b=t[6]:(b=a(f(v)),t[5]=v,t[6]=b);let x=b,S=te(c),{copyToClipboard:C}=ee(),w;t[7]!==c||t[8]!==u.path?(w={environmentId:c,filePath:u.path,workspaceRoot:void 0},t[7]=c,t[8]=u.path,t[9]=w):w=t[9];let T=w,E=u.shortDescription??u.description,D;t[10]===u.scope?D=t[11]:(D=He(u.scope),t[10]=u.scope,t[11]=D);let O=D,A;t[12]===l?A=t[13]:(A=e=>!e&&l(),t[12]=l,t[13]=A);let j;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`flex size-12 shrink-0 items-center justify-center rounded-full border border-border/60 text-muted-foreground`,children:(0,Q.jsx)(y,{className:`size-5`})}),t[14]=j):j=t[14];let M;t[15]===u?M=t[16]:(M=Ve(u),t[15]=u,t[16]=M);let N=`More for ${M}`,P;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,Q.jsx)(Se,{"aria-hidden":!0}),t[17]=P):P=t[17];let F;t[18]===N?F=t[19]:(F=(0,Q.jsx)(h,{render:(0,Q.jsx)(g,{size:`icon-sm`,variant:`ghost`,"aria-label":N,children:P})}),t[18]=N,t[19]=F);let I;t[20]!==S||t[21]!==T?(I=S.capabilities.canOpenDefault?(0,Q.jsx)(o,{onClick:()=>void S.activate(`open`,T),children:`Open`}):null,t[20]=S,t[21]=T,t[22]=I):I=t[22];let L;t[23]!==S||t[24]!==T?(L=S.capabilities.revealLabel?(0,Q.jsx)(o,{onClick:()=>void S.activate(`reveal-in-folder`,T),children:S.capabilities.revealLabel}):null,t[23]=S,t[24]=T,t[25]=L):L=t[25];let R=x===null,ne;t[26]!==C||t[27]!==x?(ne=()=>x&&C(x.contents,void 0),t[26]=C,t[27]=x,t[28]=ne):ne=t[28];let re;t[29]!==R||t[30]!==ne?(re=(0,Q.jsx)(o,{disabled:R,onClick:ne,children:`Copy Markdown`}),t[29]=R,t[30]=ne,t[31]=re):re=t[31];let B;t[32]!==I||t[33]!==L||t[34]!==re?(B=(0,Q.jsxs)(s,{align:`end`,children:[I,L,re]}),t[32]=I,t[33]=L,t[34]=re,t[35]=B):B=t[35];let V;t[36]!==F||t[37]!==B?(V=(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3 pe-8`,children:[j,(0,Q.jsxs)(r,{children:[F,B]})]}),t[36]=F,t[37]=B,t[38]=V):V=t[38];let H;t[39]===u?H=t[40]:(H=Ve(u),t[39]=u,t[40]=H);let U;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,Q.jsx)(`span`,{className:`font-normal text-muted-foreground`,children:`Skill`}),t[41]=U):U=t[41];let W;t[42]===H?W=t[43]:(W=(0,Q.jsxs)(ie,{children:[H,` `,U]}),t[42]=H,t[43]=W);let G;t[44]===E?G=t[45]:(G=E?(0,Q.jsx)(ae,{children:E}):null,t[44]=E,t[45]=G);let ce;t[46]!==W||t[47]!==G?(ce=(0,Q.jsxs)(`div`,{className:`grid gap-1.5`,children:[W,G]}),t[46]=W,t[47]=G,t[48]=ce):ce=t[48];let le;t[49]!==p||t[50]!==c||t[51]!==x||t[52]!==v?(le=(0,Q.jsx)(`div`,{className:`max-h-[50vh] min-h-24 overflow-y-auto rounded-xl border border-border/60 bg-card/40 px-5 py-4`,children:x===null?v._tag===`Failure`?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This skill's file could not be read. It may have moved since the provider last scanned it.`}):(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(z,{className:`h-4 w-3/4`}),(0,Q.jsx)(z,{className:`h-4 w-full`}),(0,Q.jsx)(z,{className:`h-4 w-2/3`})]}):(0,Q.jsx)(k,{text:Ue(x.contents),cwd:p,environmentId:c})}),t[49]=p,t[50]=c,t[51]=x,t[52]=v,t[53]=le):le=t[53];let ue;t[54]===d?ue=t[55]:(ue=d.join(`, `),t[54]=d,t[55]=ue);let fe=`Loaded by ${ue}`,pe;t[56]!==O||t[57]!==fe?(pe=[O,fe].filter(Boolean),t[56]=O,t[57]=fe,t[58]=pe):pe=t[58];let K=pe.join(` · `),q;t[59]===K?q=t[60]:(q=(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:K}),t[59]=K,t[60]=q);let J;t[61]!==V||t[62]!==ce||t[63]!==le||t[64]!==q?(J=(0,Q.jsx)(oe,{className:`max-w-2xl`,children:(0,Q.jsxs)(`div`,{className:`grid min-h-0 gap-4 p-6`,children:[V,ce,le,q]})}),t[61]=V,t[62]=ce,t[63]=le,t[64]=q,t[65]=J):J=t[65];let Y;return t[66]!==J||t[67]!==A?(Y=(0,Q.jsx)(se,{open:!0,onOpenChange:A,children:J}),t[66]=J,t[67]=A,t[68]=Y):Y=t[68],Y}var Xe={success:`bg-success`,warning:`bg-warning`,error:`bg-destructive`,muted:`bg-muted-foreground/40`},Ze={success:`text-success-foreground`,warning:`text-warning-foreground`,error:`text-destructive-foreground`,muted:`text-muted-foreground`};function Qe(e){let t=(0,X.c)(13),{status:n,className:r}=e,i=Ze[n.tone],a;t[0]!==r||t[1]!==i?(a=_(`flex min-w-0 items-center gap-1.5 text-xs`,i,r),t[0]=r,t[1]=i,t[2]=a):a=t[2];let o=Xe[n.tone],s;t[3]===o?s=t[4]:(s=_(`size-1.5 shrink-0 rounded-full`,o),t[3]=o,t[4]=s);let c;t[5]===s?c=t[6]:(c=(0,Q.jsx)(`span`,{"aria-hidden":!0,className:s}),t[5]=s,t[6]=c);let l;t[7]===n.label?l=t[8]:(l=(0,Q.jsx)(`span`,{className:`truncate`,children:n.label}),t[7]=n.label,t[8]=l);let u;return t[9]!==a||t[10]!==c||t[11]!==l?(u=(0,Q.jsxs)(`span`,{className:a,children:[c,l]}),t[9]=a,t[10]=c,t[11]=l,t[12]=u):u=t[12],u}function $e(e){let t=(0,X.c)(7),{name:n,size:r}=e,i=(r===void 0?`default`:r)===`lg`?`size-10 rounded-xl text-xs`:`size-7 rounded-md text-2xs`,a;t[0]===i?a=t[1]:(a=_(`flex shrink-0 items-center justify-center border border-border/60 bg-muted font-semibold uppercase text-foreground/80`,i),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=n.slice(0,2),t[2]=n,t[3]=o);let s;return t[4]!==a||t[5]!==o?(s=(0,Q.jsx)(`span`,{"aria-hidden":!0,className:a,children:o}),t[4]=a,t[5]=o,t[6]=s):s=t[6],s}function et(){let e=(0,X.c)(6),{environment:t,scope:n}=fe(),r=t?.connection.phase===`connected`&&t.serverConfig!==null,i=r?t.environmentId:null,a=r&&t.serverConfig?.environment.capabilities.mcpRegistry===!0,o;return e[0]!==r||e[1]!==t||e[2]!==i||e[3]!==n||e[4]!==a?(o=(0,Q.jsx)(J,{width:`wide`,children:t===null||!r?(0,Q.jsx)(G,{children:(0,Q.jsxs)(H,{children:[(0,Q.jsx)(U,{children:`Connect to manage plugins and MCP servers`}),(0,Q.jsx)(W,{children:`They live on each environment. Choose a connected one above.`})]})}):!a||i===null?(0,Q.jsx)(G,{children:(0,Q.jsxs)(H,{children:[(0,Q.jsxs)(U,{children:[`Update `,t.label,` to manage plugins and MCP servers`]}),(0,Q.jsx)(W,{children:`This environment runs a version without them.`})]})}):(0,Q.jsx)(rt,{environmentId:i,environmentLabel:t.label,projectId:n.kind===`checkout`?n.checkout.id:n.kind===`project`?n.members.find(e=>e.environmentId===i)?.id:void 0,projectLabel:n.kind===`project`||n.kind===`checkout`?n.label:void 0},i)}),e[0]=r,e[1]=t,e[2]=i,e[3]=n,e[4]=a,e[5]=o):o=e[5],o}var tt={plugins:`Search plugins`,mcps:`Search MCP servers`,skills:`Search skills`},nt=(e,...t)=>e===``||t.some(t=>t.toLowerCase().includes(e));function rt({environmentId:e,environmentLabel:t,projectId:n,projectLabel:a}){let c=F({select:e=>e.hash}),[l,d]=(0,Z.useState)(()=>c.replace(/^#/,``)===`mcp-servers`?`mcps`:c.replace(/^#/,``)===`skills`?`skills`:`plugins`),[f,_]=(0,Z.useState)(``),x=i(L.configValueAtom(e))?.providers,T=(0,Z.useMemo)(()=>Be(x??[]),[x]),[k,A]=(0,Z.useState)(null),j=pe(e=>e.mcpServers),M=pe(e=>e.plugins),N=pe(e=>e.projectSettingsOverrides),P=i(L.mcpRegistryTest.permissionAtom(e)),ee=I(e),te=R(L.updateSettings,{label:`update MCP registry`,reportFailure:!0}),z=R(L.mcpRegistryState,{reportFailure:!1}),ne=R(L.mcpRegistryTest,{label:`check MCP server`,reportFailure:!0}),V=R(L.mcpRegistryOAuthStart,{label:`start MCP sign-in`,reportFailure:!0}),ie=R(L.mcpRegistryOAuthSignOut,{label:`sign out of MCP server`,reportFailure:!0}),ae=R(L.mcpRegistryDiscover,{reportFailure:!1}),oe=R(L.mcpRegistryImport,{label:`import MCP servers`,reportFailure:!0}),[se,H]=(0,Z.useState)({}),[U,W]=(0,Z.useState)(new Set),[G,de]=(0,Z.useState)([]),[fe,q]=(0,Z.useState)({kind:`list`}),J=fe.kind!==`list`&&fe.id!==null&&(fe.kind===`server`?j[fe.id]===void 0:M[fe.id]===void 0)?{kind:`list`}:fe,[ye,Se]=(0,Z.useState)(c);if(c!==ye){Se(c);let e=c.replace(/^#/,``);(e===`mcp-servers`||e===`plugins`||e===`skills`)&&(d(e===`mcp-servers`?`mcps`:e),q({kind:`list`}))}let[De,Oe]=(0,Z.useState)(null),[X,ke]=(0,Z.useState)(null),Me=(0,Z.useMemo)(()=>Object.entries(j).map(([e,t])=>[m.make(e),t]).toSorted(([,e],[,t])=>e.name.localeCompare(t.name)),[j]),Ne=(0,Z.useMemo)(()=>Object.entries(M).map(([e,t])=>[v.make(e),t]),[M]),Pe=(0,Z.useCallback)(async()=>{let t=await z({environmentId:e,input:{}});t._tag===`Success`&&H(t.value.servers)},[e,z]),Fe=(0,Z.useCallback)(async()=>{if(!P)return;let t=await ae({environmentId:e,input:n===void 0?{}:{projectId:n}});t._tag===`Success`&&de(t.value.servers)},[P,ae,e,n]);(0,Z.useEffect)(()=>{Pe(),Fe()},[Pe,Fe]),(0,Z.useEffect)(()=>{if(X===null)return;let e=()=>void Pe();return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[X,Pe]);let Ie=e=>{d(`mcps`),q({kind:`server`,id:e})},Le=e=>{d(`plugins`),q({kind:`plugin`,id:e})},Re=t=>te({environmentId:e,input:{patch:t}}),ze=async t=>{W(e=>new Set(e).add(t));let n=await ne({environmentId:e,input:{serverId:t}});W(e=>{let n=new Set(e);return n.delete(t),n}),n._tag===`Success`&&H(e=>({...e,[t]:n.value}))},Ue=async(e,t,n)=>{(await Re({mcpServers:{[e]:t}}))._tag===`Success`&&(n&&q({kind:`list`}),Fe(),t.enabled&&await ze(e))},$=async t=>{let n=ee??window.location.origin,r=await V({environmentId:e,input:{serverId:t,origin:new URL(n,window.location.href).origin}});if(r._tag===`Success`){if(r.value.authorizationUrl===null){await ze(t);return}ke(t),window.open(r.value.authorizationUrl,`_blank`,`noopener,noreferrer`)}},Ke=(e,t,r)=>{if(n===void 0)return;let i=N[n]??{},a={...i[e]};r===void 0?delete a[t]:a[t]={enabled:r},Re({projectSettingsOverrides:{[n]:{...i,[e]:a}}})},Je=async()=>{let t=De;if(Oe(null),t!==null){if(t.kind===`server`){let n=j[t.id];n?.transport.type===`http`&&n.transport.auth===`oauth`&&await ie({environmentId:e,input:{serverId:t.id}}),await Re({mcpServers:{[t.id]:null}})}else await Re({plugins:{[t.id]:null}});q({kind:`list`})}},Xe=G.filter(e=>!e.alreadyAdded),Ze=new Set(Me.filter(([e])=>J.kind!==`server`||e!==J.id).map(([,e])=>e.name)),et=f.trim().toLowerCase(),rt=Me.filter(([,e])=>nt(et,e.name,je(e))),it=Ne.filter(([,e])=>nt(et,e.name,e.path)),st=Xe.filter(e=>nt(et,e.name,e.summary)),ct=(e,t)=>u({mcpServers:j,plugins:M,projectSettingsOverrides:N},e,n??null,t),lt=(e,t,r)=>{if(n!==void 0){Ke(e,t,r);return}Re(e===`mcpServers`?{mcpServers:{[t]:{...j[t],enabled:r}}}:{plugins:{[t]:{...M[t],enabled:r}}})},ut=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,Q.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Q.jsx)(`h1`,{className:`text-2xl font-semibold text-foreground`,children:`Plugins`}),(0,Q.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Manage plugins, skills, and MCP servers given to agents on `,t,`.`]})]}),P?(0,Q.jsxs)(r,{children:[(0,Q.jsx)(h,{render:(0,Q.jsxs)(g,{children:[`Add`,(0,Q.jsx)(b,{"aria-hidden":!0})]})}),(0,Q.jsxs)(s,{align:`end`,children:[(0,Q.jsxs)(o,{onClick:()=>Ie(null),children:[(0,Q.jsx)(S,{"aria-hidden":!0}),`Add MCP server`]}),(0,Q.jsxs)(o,{onClick:()=>Le(null),children:[(0,Q.jsx)(Ce,{"aria-hidden":!0}),`Add plugin`]})]})]}):null]}),dt=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Q.jsxs)(re,{"aria-label":`Show`,variant:`default`,value:[l],onValueChange:e=>{let t=e[0];(t===`plugins`||t===`mcps`||t===`skills`)&&(d(t),q({kind:`list`}))},children:[(0,Q.jsxs)(B,{value:`plugins`,...Te(`plugins`),children:[`Plugins `,(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:Ne.length})]}),(0,Q.jsxs)(B,{value:`mcps`,...Te(`mcp-servers`),children:[`MCPs `,(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:Me.length})]}),(0,Q.jsxs)(B,{value:`skills`,...Te(`skills`),children:[`Skills `,(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:T.length})]})]}),(0,Q.jsxs)(ue,{className:`w-full sm:w-72`,children:[(0,Q.jsx)(ce,{children:(0,Q.jsx)(w,{"aria-hidden":!0})}),(0,Q.jsx)(le,{"aria-label":tt[l],placeholder:tt[l],value:f,onChange:e=>_(e.currentTarget.value)})]})]}),ft=(e,t)=>(0,Q.jsxs)(O,{children:[(0,Q.jsx)(E,{render:(0,Q.jsx)(g,{size:`icon-sm`,variant:`ghost`,"aria-label":e,onClick:t,children:(0,Q.jsx)(we,{"aria-hidden":!0})})}),(0,Q.jsx)(D,{children:e})]}),pt=it.length===0?(0,Q.jsx)(`p`,{className:`py-6 text-sm text-muted-foreground`,children:Ne.length===0?`No plugins yet. Add a Claude Code plugin folder to load it in Claude sessions.`:`No plugins match your search.`}):(0,Q.jsx)(`ul`,{className:`grid gap-1`,children:it.map(([e,t])=>(0,Q.jsxs)(`li`,{className:`flex items-center gap-4 py-3`,children:[(0,Q.jsx)($e,{name:t.name,size:`lg`}),(0,Q.jsxs)(`div`,{className:`grid min-w-0 flex-1 gap-0.5`,children:[(0,Q.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:t.name}),(0,Q.jsx)(`span`,{className:`truncate font-mono text-xs text-muted-foreground`,children:t.path})]}),ft(`Settings for ${t.name}`,()=>Le(e)),(0,Q.jsx)(_e,{"aria-label":`Load ${t.name}`,checked:ct(`plugins`,e),disabled:!P,onCheckedChange:t=>lt(`plugins`,e,t)})]},e))}),mt=T.filter(({skill:e})=>nt(et,Ve(e),e.name,e.description??``)),ht=mt.length===0?(0,Q.jsx)(`p`,{className:`py-6 text-sm text-muted-foreground`,children:T.length===0?`No skills found. Providers report the skills they load when they start.`:`No skills match your search.`}):(0,Q.jsx)(`ul`,{className:`grid gap-1`,children:mt.map(e=>{let t=He(e.skill.scope);return(0,Q.jsx)(`li`,{children:(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>A(e),className:`flex w-full items-center gap-4 rounded-xl px-2 py-3 text-left outline-none hover:bg-accent/60 focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,children:[(0,Q.jsx)(`span`,{"aria-hidden":!0,className:`flex size-10 shrink-0 items-center justify-center rounded-full border border-border/60 text-muted-foreground`,children:(0,Q.jsx)(y,{className:`size-4`})}),(0,Q.jsxs)(`span`,{className:`grid min-w-0 flex-1 gap-0.5`,children:[(0,Q.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:Ve(e.skill)}),(0,Q.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:e.skill.shortDescription??e.skill.description??e.skill.path})]}),t?(0,Q.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:t}):null]})},e.skill.path)})}),gt=(0,Q.jsxs)(`div`,{className:`grid gap-6`,children:[(0,Q.jsx)(Y,{title:`Servers`,children:rt.length===0?(0,Q.jsx)(`p`,{className:`px-3 text-sm text-muted-foreground sm:px-4`,children:Me.length===0?`No MCP servers yet. Add one, or import one found in a provider's config.`:`No MCP servers match your search.`}):(0,Q.jsx)(K,{children:rt.map(([e,t])=>{let n=ct(`mcpServers`,e),r=Ae({...t,enabled:n},se[e],U.has(e));return(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,Q.jsxs)(`div`,{className:`grid min-w-0 flex-1 gap-0.5`,children:[(0,Q.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:t.name}),(0,Q.jsx)(Qe,{status:r})]}),r.needsSignIn&&P?(0,Q.jsx)(g,{size:`xs`,variant:`outline`,onClick:()=>void $(e),children:`Authenticate`}):null,ft(`Settings for ${t.name}`,()=>Ie(e)),(0,Q.jsx)(_e,{"aria-label":`Give ${t.name} to agents`,checked:n,disabled:!P,onCheckedChange:t=>lt(`mcpServers`,e,t)})]},e)})})}),P&&st.length>0?(0,Q.jsxs)(Y,{title:`Found in provider configs`,headerAction:(0,Q.jsx)(g,{size:`icon-xs`,variant:`ghost`,"aria-label":`Look again`,onClick:()=>void Fe(),children:(0,Q.jsx)(C,{"aria-hidden":!0})}),children:[(0,Q.jsx)(K,{children:st.map(t=>(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,Q.jsxs)(`div`,{className:`grid min-w-0 flex-1 gap-0.5`,children:[(0,Q.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:t.name}),(0,Q.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:t.summary})]}),(0,Q.jsx)(g,{size:`xs`,variant:`outline`,onClick:async()=>{(await oe({environmentId:e,input:{...n===void 0?{}:{projectId:n},servers:[{provider:t.provider,path:t.path,name:t.name}]}}))._tag===`Success`&&(Fe(),Pe())},children:`Import`})]},`${t.provider}:${t.path}:${t.name}`))}),(0,Q.jsx)(`p`,{className:`px-3 text-xs text-muted-foreground sm:px-4`,children:`Importing copies a server here. Provider configs are not changed.`})]}):null]}),_t=J.kind===`server`?(0,Q.jsxs)(We,{title:J.id===null?`Add MCP server`:`Update ${j[J.id]?.name??`server`} MCP`,onBack:()=>q({kind:`list`}),onUninstall:J.id!==null&&P?()=>Oe({kind:`server`,id:J.id}):void 0,children:[(0,Q.jsx)(Ge,{server:J.id===null?void 0:j[J.id],takenNames:Ze,onSave:e=>void Ue(J.id??m.make(p()),e,J.id===null)},J.id??`new`),J.id!==null&&j[J.id]!==void 0?(0,Q.jsx)(at,{id:J.id,server:j[J.id],runtime:se[J.id],checking:U.has(J.id),canManage:P,projectLabel:a,projectOverride:n===void 0?void 0:N[n]?.mcpServers?.[J.id],awaitingSignIn:X===J.id,onProviderToggle:(e,t)=>{let n=j[J.id],r=t?n.disabledProviders.filter(t=>t!==e):[...n.disabledProviders,e];Re({mcpServers:{[J.id]:{...n,disabledProviders:r}}})},onProjectOverride:n===void 0?void 0:e=>Ke(`mcpServers`,J.id,e),onTest:()=>void ze(J.id),onSignIn:()=>void $(J.id),onSignOut:async()=>{let t=await ie({environmentId:e,input:{serverId:J.id}});t._tag===`Success`&&H(e=>({...e,[J.id]:t.value}))}}):null]}):null,vt=J.kind===`plugin`?(0,Q.jsxs)(We,{title:J.id===null?`Add plugin`:`Update ${M[J.id]?.name??`plugin`}`,onBack:()=>q({kind:`list`}),onUninstall:J.id!==null&&P?()=>Oe({kind:`plugin`,id:J.id}):void 0,children:[(0,Q.jsx)(qe,{plugin:J.id===null?void 0:M[J.id],environmentLabel:t,onSave:async e=>{let t=J.id??v.make(p());(await Re({plugins:{[t]:e}}))._tag===`Success`&&J.id===null&&q({kind:`list`})}},J.id??`new`),J.id!==null&&M[J.id]!==void 0?(0,Q.jsx)(ot,{plugin:M[J.id],environmentLabel:t,projectLabel:a,projectOverride:n===void 0?void 0:N[n]?.plugins?.[J.id],onProjectOverride:n===void 0?void 0:e=>Ke(`plugins`,J.id,e)}):null]}):null;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`grid gap-6`,children:[ut,dt,_t??vt??(l===`plugins`?pt:l===`mcps`?gt:ht)]}),k===null?null:(0,Q.jsx)(Ye,{entry:k,environmentId:e,onClose:()=>A(null)}),(0,Q.jsx)(me,{open:De!==null,onOpenChange:e=>!e&&Oe(null),children:(0,Q.jsxs)(he,{children:[(0,Q.jsxs)(xe,{children:[(0,Q.jsxs)(ge,{children:[`Remove`,` `,De?.kind===`server`?j[De.id]?.name??`server`:De?.kind===`plugin`?M[De.id]?.name??`plugin`:``,`?`]}),(0,Q.jsxs)(ve,{children:[`New sessions on `,t,` stop getting it. Its stored values and sign-in are deleted. Provider config files are not changed.`]})]}),(0,Q.jsxs)(be,{children:[(0,Q.jsx)(Ee,{render:(0,Q.jsx)(g,{variant:`outline`,children:`Cancel`})}),(0,Q.jsx)(g,{variant:`destructive`,onClick:()=>void Je(),children:`Remove`})]})]})})]})}function it(e){let t=(0,X.c)(16),{projectLabel:n,override:r,inherited:i,onChange:a}=e,o=r?.enabled!==void 0,s=`In ${n}`,c=o?`Set for this project.`:`Follows the environment (${i?`on`:`off`}).`,l;t[0]!==a||t[1]!==o?(l=o?(0,Q.jsx)(g,{size:`xs`,variant:`ghost`,onClick:()=>a(void 0),children:`Reset`}):null,t[0]=a,t[1]=o,t[2]=l):l=t[2];let u=`Use in ${n}`,d=r?.enabled??i,f;t[3]===a?f=t[4]:(f=e=>a(e),t[3]=a,t[4]=f);let p;t[5]!==u||t[6]!==d||t[7]!==f?(p=(0,Q.jsx)(_e,{"aria-label":u,checked:d,onCheckedChange:f}),t[5]=u,t[6]=d,t[7]=f,t[8]=p):p=t[8];let m;t[9]!==l||t[10]!==p?(m=(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[l,p]}),t[9]=l,t[10]=p,t[11]=m):m=t[11];let h;return t[12]!==s||t[13]!==c||t[14]!==m?(h=(0,Q.jsx)(q,{title:s,description:c,control:m}),t[12]=s,t[13]=c,t[14]=m,t[15]=h):h=t[15],h}function at(e){let t=(0,X.c)(60),{id:n,server:r,runtime:i,checking:a,canManage:o,projectLabel:s,projectOverride:c,awaitingSignIn:l,onProviderToggle:u,onProjectOverride:d,onTest:f,onSignIn:p,onSignOut:m}=e,h;t[0]!==a||t[1]!==i||t[2]!==r?(h=Ae(r,i,a),t[0]=a,t[1]=i,t[2]=r,t[3]=h):h=t[3];let _=h,v=r.transport.type===`http`&&r.transport.auth===`oauth`&&i?.auth===`signed-in`,y;t[4]===_?y=t[5]:(y=(0,Q.jsx)(Qe,{status:_,className:`flex-1 text-sm`}),t[4]=_,t[5]=y);let b;t[6]!==l||t[7]!==o||t[8]!==p||t[9]!==_.needsSignIn?(b=_.needsSignIn&&o?(0,Q.jsx)(g,{size:`xs`,onClick:p,children:l?`Open sign-in again`:`Authenticate`}):null,t[6]=l,t[7]=o,t[8]=p,t[9]=_.needsSignIn,t[10]=b):b=t[10];let x;t[11]!==o||t[12]!==m||t[13]!==v?(x=v&&o?(0,Q.jsx)(g,{size:`xs`,variant:`ghost`,onClick:m,children:`Sign out`}):null,t[11]=o,t[12]=m,t[13]=v,t[14]=x):x=t[14];let S;t[15]!==o||t[16]!==a||t[17]!==f||t[18]!==r.enabled?(S=o&&r.enabled?(0,Q.jsx)(g,{size:`xs`,variant:`outline`,disabled:a,onClick:f,children:`Test connection`}):null,t[15]=o,t[16]=a,t[17]=f,t[18]=r.enabled,t[19]=S):S=t[19];let C;t[20]!==y||t[21]!==b||t[22]!==x||t[23]!==S?(C=(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[y,b,x,S]}),t[20]=y,t[21]=b,t[22]=x,t[23]=S,t[24]=C):C=t[24];let w;t[25]!==l||t[26]!==_.needsSignIn?(w=_.needsSignIn?(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:l?`Finish signing in in your browser, then come back here.`:`Agents can't reach this server until you sign in.`}):null,t[25]=l,t[26]=_.needsSignIn,t[27]=w):w=t[27];let T;t[28]===_.detail?T=t[29]:(T=_.detail?(0,Q.jsx)(`p`,{className:`rounded-md bg-destructive/8 px-2.5 py-1.5 text-xs text-destructive-foreground`,children:_.detail}):null,t[28]=_.detail,t[29]=T);let E;t[30]===r.source?E=t[31]:(E=r.source?(0,Q.jsxs)(`p`,{className:`truncate text-xs text-muted-foreground`,children:[`Imported from `,r.source.path]}):null,t[30]=r.source,t[31]=E);let D;t[32]!==C||t[33]!==w||t[34]!==T||t[35]!==E?(D=(0,Q.jsx)(Y,{title:`Status`,children:(0,Q.jsx)(K,{children:(0,Q.jsxs)(`div`,{className:`grid gap-2 px-4 py-3`,children:[C,w,T,E]})})}),t[32]=C,t[33]=w,t[34]=T,t[35]=E,t[36]=D):D=t[36];let O;if(t[37]!==o||t[38]!==u||t[39]!==r){let e;t[41]!==o||t[42]!==u||t[43]!==r.name?(e=e=>(0,Q.jsx)(q,{title:e.label,...e.unsupported===void 0?{}:{description:e.unsupported},control:(0,Q.jsx)(_e,{"aria-label":`Give ${r.name} to ${e.label}`,checked:e.enabled,disabled:!o||e.unsupported!==void 0,onCheckedChange:t=>u(e.driver,t)})},e.driver),t[41]=o,t[42]=u,t[43]=r.name,t[44]=e):e=t[44],O=Pe(r).map(e),t[37]=o,t[38]=u,t[39]=r,t[40]=O}else O=t[40];let k;t[45]===O?k=t[46]:(k=(0,Q.jsx)(K,{children:O}),t[45]=O,t[46]=k);let A;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Q.jsx)(`p`,{className:`px-3 text-xs text-muted-foreground sm:px-4`,children:`A change reaches a thread when its provider session next starts.`}),t[47]=A):A=t[47];let j;t[48]===k?j=t[49]:(j=(0,Q.jsxs)(Y,{title:`Providers`,children:[k,A]}),t[48]=k,t[49]=j);let M;t[50]!==d||t[51]!==s||t[52]!==c||t[53]!==r.enabled?(M=s!==void 0&&d!==void 0?(0,Q.jsx)(Y,{title:`Project`,children:(0,Q.jsx)(K,{children:(0,Q.jsx)(it,{projectLabel:s,override:c,inherited:r.enabled,onChange:d})})}):null,t[50]=d,t[51]=s,t[52]=c,t[53]=r.enabled,t[54]=M):M=t[54];let N;return t[55]!==n||t[56]!==D||t[57]!==j||t[58]!==M?(N=(0,Q.jsxs)(`div`,{className:`grid gap-6`,"data-server-id":n,children:[D,j,M]}),t[55]=n,t[56]=D,t[57]=j,t[58]=M,t[59]=N):N=t[59],N}function ot(e){let t=(0,X.c)(13),{plugin:n,environmentLabel:r,projectLabel:i,projectOverride:a,onProjectOverride:o}=e,s=`Claude sessions on ${r} load this plugin folder.`,c;t[0]===s?c=t[1]:(c=(0,Q.jsx)(q,{title:`Claude`,description:s}),t[0]=s,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(q,{title:`Codex, Cursor, Grok, OpenCode, Antigravity`,description:`Not supported here. These providers have no Claude plugin format.`}),t[2]=l):l=t[2];let u;t[3]===c?u=t[4]:(u=(0,Q.jsx)(Y,{title:`Providers`,children:(0,Q.jsxs)(K,{children:[c,l]})}),t[3]=c,t[4]=u);let d;t[5]!==o||t[6]!==n||t[7]!==i||t[8]!==a?(d=i!==void 0&&o!==void 0?(0,Q.jsx)(Y,{title:`Project`,children:(0,Q.jsx)(K,{children:(0,Q.jsx)(it,{projectLabel:i,override:a,inherited:n.enabled,onChange:o})})}):null,t[5]=o,t[6]=n,t[7]=i,t[8]=a,t[9]=d):d=t[9];let f;return t[10]!==u||t[11]!==d?(f=(0,Q.jsxs)(`div`,{className:`grid gap-6`,children:[u,d]}),t[10]=u,t[11]=d,t[12]=f):f=t[12],f}var st=et;export{st as component};
|
|
5
|
+
//# sourceMappingURL=settings.plugins-DC4js6dE.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ProjectIconPickerDialog-
|
|
2
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./index-G0rP4C-v.js";import{r as n}from"./Icon-l19w4AjM.js";import{Af as r,E as i,If as a,Jn as o,Kn as s,Ls as c,Rs as l,Tm as u,Vo as d,Vv as f,Wn as p,Xn as m,ar as h,er as g,gc as _,ma as v,n as y,or as b,os as x,ps as S,qn as C,r as w,rn as T,wf as E,wx as D}from"./utils-DmS758az.js";import{t as ee}from"./chevron-down-DHV04o66.js";import{t as te}from"./info-BHB-83EA.js";import{t as ne}from"./plus-Cr075-cy.js";import{t as O}from"./trash-2-CiyAV2xI.js";import{H as k,L as re,R as A,U as ie}from"./runtime-CCr9UADV.js";import{C as j,P as M,W as N,k as P}from"./entities-DNKDCsf2.js";import{yn as F}from"./runtime-BVgeNXTV.js";import{t as I}from"./useNavigate-BK_XZ1It.js";import{t as L}from"./useLocation-9axGTsrg.js";import{i as R}from"./toast-Bm36EaG6.js";import{E as ae,J as z,K as B,O as V}from"./useSettings-CckatJFa.js";import{f as H,s as U}from"./server-B26doYv6.js";import{n as W,o as G}from"./session-CQXL-cTI.js";import{t as K}from"./use-atom-command-CiEeUGsC.js";import{n as q}from"./toastHelpers-Dsph6LwL.js";import{i as J,o as Y,r as X}from"./command-B45LRbFT.js";import{t as oe}from"./input-u5qjnfMr.js";import{A as se,D as ce,E as le,T as ue,v as de}from"./keybindings-CzL-fWkh.js";import{t as fe}from"./PierreEntryIcon-7x50Pz_C.js";import{t as pe}from"./ProjectFavicon-ExMHrN16.js";import{u as me}from"./projectFilesQueryState-CrGsc81w.js";import{n as he}from"./p4ProjectFile-BzCYJ8I-.js";import{r as ge,t as _e}from"./alert-yllEf0yh.js";import{F as ve,V as ye,a as Z,i as be,r as xe,s as Se,z as Ce}from"./settingsLayout-BzyY4qHt.js";import{Ga as we,Sn as Te,bn as Ee,di as De,pn as Oe,wi as ke}from"./main-D9z9rMK1.js";import{c as Ae,f as je,i as Me,n as Ne,o as Pe,r as Fe,s as Ie,t as Le}from"./projectScriptEditor-RR3KkKhh.js";import{t as Re}from"./ProjectDefaultsSettings-BRRQlvgR.js";import{t as ze}from"./SettingsScopeNotice-CdNfxmW3.js";var Be=D(),Q=e(n(),1),$=e(v(),1);function Ve(e,t,n){return t||(n?e.trim()?`Searching project files…`:`Indexing project files…`:e.trim()?`No matching image files.`:`No image files found.`)}function He(e,t){return!w(t)||F(e)}function Ue(e){let[t,n]=(0,Q.useState)(``),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(!1),s=me(e.environmentId,e.cwd,t,200,{imageOnly:!0}),{resolvedTheme:c}=B(),l=d(U),u=e.onPickExternal,f=y(typeof navigator>`u`?``:navigator.platform),p=(0,Q.useMemo)(()=>Oe(s.entries,s.matchedQuery).map(t=>({kind:`action`,value:`project-favicon:${t.path}`,searchTerms:[t.name,t.path],title:t.name,description:t.path,icon:(0,$.jsx)(fe,{pathValue:t.path,kind:`file`,theme:c}),run:async()=>e.onSelect(t.path)})),[e.onSelect,c,s.entries,s.matchedQuery]);return(0,$.jsx)(X,{open:e.open,onOpenChange:e.onOpenChange,children:e.open?(0,$.jsx)(J,{"aria-label":`Choose project icon`,className:`overflow-hidden`,onBackdropPointerDown:()=>e.onOpenChange(!1),children:(0,$.jsx)(Te,{"aria-label":`Choose project icon`,autoHighlight:`always`,escapeLabel:`Close`,footerActionLabel:`Select icon`,footerTrailing:u?(0,$.jsx)(Y,{disabled:a,onClick:()=>{o(!0),u().then(t=>{t&&(e.onOpenChange(!1),e.onSelect(t))}).catch(e=>{R.add({type:`error`,title:`Could not open image picker`,description:e instanceof Error?e.message:`An error occurred.`})}).finally(()=>o(!1))},children:`Open in ${f}`}):null,inputProps:{placeholder:`Search image files…`},mode:`none`,onItemHighlighted:e=>{i(typeof e==`string`?e:null)},onValueChange:e=>{i(null),n(e)},panelSize:`tall-list`,testId:`project-favicon-picker`,value:t,children:(0,$.jsx)(Ee,{groups:p.length>0?[{value:`project-favicon-files`,label:e.projectName,items:p}]:[],highlightedItemValue:r,isActionsOnly:!1,keybindings:l,onExecuteItem:t=>{t.kind===`action`&&(e.onOpenChange(!1),t.run())},emptyStateMessage:Ve(t,s.error,s.isPending)})})}):null})}function We(e){let t=(0,Be.c)(10),{scripts:n,keybindings:r,disabled:i,onEdit:a}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`p`,{className:`px-3 py-2 text-base text-muted-foreground sm:px-4 sm:text-sm`,children:`No actions configured.`}),t[0]=e):e=t[0],e}let o;if(t[1]!==i||t[2]!==r||t[3]!==a||t[4]!==n){let e;t[6]!==i||t[7]!==r||t[8]!==a?(e=e=>{let t=de(r,le(e.id));return(0,$.jsx)(Z,{className:`group py-2`,title:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(Fe,{icon:e.icon,className:`size-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e.name}),e.runOnWorktreeCreate?(0,$.jsx)(`span`,{className:`shrink-0 rounded-sm border border-border/60 px-1.5 py-px text-2xs font-normal text-muted-foreground`,children:`setup`}):null,e.runOnSettle?(0,$.jsx)(`span`,{className:`shrink-0 rounded-sm border border-border/60 px-1.5 py-px text-2xs font-normal text-muted-foreground`,children:`on settle`}):null,e.previewUrl?(0,$.jsx)(`span`,{className:`shrink-0 rounded-sm border border-border/60 px-1.5 py-px text-2xs font-normal text-muted-foreground max-sm:hidden`,children:`preview · desktop only`}):null]}),description:(0,$.jsx)(`code`,{className:`block max-w-full truncate font-mono`,children:e.command}),control:(0,$.jsxs)($.Fragment,{children:[t?(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t}):null,(0,$.jsx)(`span`,{className:`flex shrink-0 opacity-0 group-focus-within:opacity-100 group-hover:opacity-100`,children:(0,$.jsx)(b,{size:`icon-xs`,variant:`ghost-muted`,"aria-label":`Edit ${e.name}`,disabled:i,onClick:()=>a(e),children:(0,$.jsx)(we,{className:`size-3.5`})})})]})},e.id)},t[6]=i,t[7]=r,t[8]=a,t[9]=e):e=t[9],o=n.map(e),t[1]=i,t[2]=r,t[3]=a,t[4]=n,t[5]=o}else o=t[5];return o}function Ge(e){if(e._tag===`Failure`&&!re(e)){let t=ie(e);R.add({type:`error`,title:`Failed to save project actions`,description:t instanceof Error?t.message:`An error occurred.`})}return A(e,()=>void 0)}function Ke(e){let t=j(),[n,i]=(0,Q.useState)(!1),o=(0,Q.useRef)(!1),s=K(H.updateSettings,`project actions update`),c=K(H.upsertKeybinding,`action shortcut update`),l=K(H.removeKeybinding,`action shortcut removal`);async function u(n,u,d){if(o.current||e.length===0){let e=`No available machine, or another action change is saving.`;return R.add({type:`error`,title:`Actions not saved`,description:e}),x(f(Error(e)))}if(e.some(({environmentId:e})=>!W(e,`settings:write`)))return Ge(x(f(new a({requiredScope:r,message:`This connection cannot change environment settings.`}))));o.current=!0,i(!0);try{for(let{environmentId:r,settings:i,keybindings:a,project:o}of e){let e=o?je(i,o):i.defaultProjectScripts,f=n(e),p=f??i.defaultProjectScripts,m=await s({environmentId:r,input:{patch:o?{projectSettingsOverrides:{[o.id]:f===null?he(i,o.id,[`defaultProjectScripts`]):{...i.projectSettingsOverrides[o.id],defaultProjectScripts:f}}}:{defaultProjectScripts:f??[]}}});if(m._tag===`Failure`)return Ge(m);let h=u?[u]:e.filter(e=>!p.some(t=>t.id===e.id)).map(e=>e.id);for(let e of h){let n=le(e),s=Ae(a,n),u=s?Ie({keybinding:s,command:n}):null,p=Ie({keybinding:d,command:n}),m=!f?.some(t=>t.id===e)&&(o&&i.defaultProjectScripts.some(t=>t.id===e)||Object.entries(i.projectSettingsOverrides).some(([t,n])=>t!==o?.id&&n.defaultProjectScripts?.some(t=>t.id===e))||t.some(t=>t.environmentId===r&&t.id!==o?.id&&(o?je(i,t):t.scripts).some(t=>t.id===e))),h=p?await c({environmentId:r,input:u&&u.key!==p.key?{...p,replace:u}:p}):u&&!m?await l({environmentId:r,input:u}):null;if(h?._tag===`Failure`)return Ge(h)}}return S(void 0)}finally{o.current=!1,i(!1)}}function d(n,r){let i=[...t.flatMap(e=>e.scripts.map(e=>e.id)),...e.flatMap(({settings:e,project:t})=>[...e.defaultProjectScripts,...Object.values(e.projectSettingsOverrides).flatMap(e=>e.defaultProjectScripts??[]),...t?.scripts??[]].map(e=>e.id))],a=n??ce(r.name,i),o=ue(a,r);return u(e=>{let t=e.map(e=>e.id===a?o:se(e,r));return n===null?[...t,o]:t},a,r.keybinding)}return{saving:n,persist:u,submit:d}}function qe(){let e=(0,Be.c)(67),{scope:t,targets:n,target:r}=Ce(),{environments:i}=ae(),a=t.kind===`project`||t.kind===`checkout`,c;e[0]!==i||e[1]!==r?(c=r?i.find(e=>e.environmentId===r.environmentId)?.serverConfig:void 0,e[0]=i,e[1]=r,e[2]=c):c=e[2];let l=c,d;e[3]===r?.settings.defaultProjectScripts?d=e[4]:(d=r?.settings.defaultProjectScripts??[],e[3]=r?.settings.defaultProjectScripts,e[4]=d);let f=d,v=l?.keybindings??_,y;if(e[5]!==f||e[6]!==n){let t;e[8]===f?t=e[9]:(t=e=>JSON.stringify(e.settings.defaultProjectScripts)!==JSON.stringify(f),e[8]=f,e[9]=t),y=n.some(t),e[5]=f,e[6]=n,e[7]=y}else y=e[7];let x=y,S=ve(),[w,T]=(0,Q.useState)(null),E,D,te;e[10]!==i||e[11]!==a||e[12]!==t.members||e[13]!==n?(E=new Map(a?t.members.map(Ye):[]),D=Ke,te=n.flatMap(e=>{let t=i.find(t=>t.environmentId===e.environmentId);if(!t?.serverConfig)return[];let n=e.projectId?E.get(e.projectId):void 0;return n&&t.serverConfig.environment?.capabilities.projectSettingsOverrides!==!0?[]:[{environmentId:e.environmentId,settings:t.serverConfig.settings,keybindings:t.serverConfig.keybindings,...n?{project:n}:{}}]}),e[10]=i,e[11]=a,e[12]=t.members,e[13]=n,e[14]=E,e[15]=D,e[16]=te):(E=e[14],D=e[15],te=e[16]);let{saving:O,persist:k,submit:A}=D(te),j;e[17]!==E||e[18]!==r?(j=r?.projectId?E.get(r.projectId):void 0,e[17]=E,e[18]=r,e[19]=j):j=e[19];let M=j,N;e[20]===M?.environmentId?N=e[21]:(N=M?.environmentId??u.make(`none`),e[20]=M?.environmentId,e[21]=N);let P=Pe(N,M?.workspaceRoot??null),F;if(e[22]!==f||e[23]!==P.scripts){let t;e[25]===f?t=e[26]:(t=e=>!f.some(t=>t.command===e.command||t.name.toLowerCase()===e.name.toLowerCase()),e[25]=f,e[26]=t),F=P.scripts.filter(t),e[22]=f,e[23]=P.scripts,e[24]=F}else F=e[24];let I=F,L;e[27]===A?L=e[28]:(L=async e=>{let t={name:e.name,command:e.command,icon:e.icon??`play`,runOnWorktreeCreate:e.runOnWorktreeCreate??!1,waitForSetup:e.runOnWorktreeCreate===!0&&e.async===!1,runOnSettle:e.runOnSettle??!1,keybinding:null,previewUrl:e.previewUrl??null,autoOpenPreview:e.previewUrl?e.autoOpenPreview??!1:!1},n=await A(null,t);if(n._tag===`Failure`&&!re(n)){let e=ie(n);T({scriptId:null,initial:t,error:e instanceof Error?e.message:`Failed to import action.`})}},e[27]=A,e[28]=L);let R=L,z;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(z=[`defaultProjectScripts`],e[29]=z):z=e[29];let B;e[30]===k?B=e[31]:(B=()=>void k(Je),e[30]=k,e[31]=B);let V;e[32]!==S||e[33]!==R||e[34]!==I||e[35]!==O?(V=I.length>0?(0,$.jsxs)(p,{children:[(0,$.jsxs)(h,{render:(0,$.jsx)(b,{id:`import-scripts`,size:`xs`,variant:`ghost`,disabled:O||!S,type:`button`}),children:[`Import scripts`,(0,$.jsx)(ee,{className:`size-3.5`})]}),(0,$.jsxs)(m,{align:`end`,children:[(0,$.jsxs)(s,{children:[(0,$.jsx)(C,{children:`Import from p4.json`}),(0,$.jsx)(`p`,{className:`px-2 pb-2 text-pretty text-sm text-muted-foreground`,children:`Add actions declared by this checkout without editing them first.`})]}),(0,$.jsx)(g,{}),I.map(e=>(0,$.jsxs)(o,{onClick:()=>void R(e),children:[(0,$.jsx)(Fe,{icon:e.icon??`play`,className:`size-4 shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`truncate font-medium`,children:e.name}),(0,$.jsx)(`div`,{className:`truncate font-mono text-muted-foreground`,children:e.command})]})]},`${e.name} ${e.command}`))]})]}):null,e[32]=S,e[33]=R,e[34]=I,e[35]=O,e[36]=V):V=e[36];let H=O||!S||n.length===0,U,W;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>T({scriptId:null,initial:Le}),W=(0,$.jsx)(ne,{className:`size-3.5`}),e[37]=U,e[38]=W):(U=e[37],W=e[38]);let G;e[39]===H?G=e[40]:(G=(0,$.jsxs)(b,{size:`xs`,variant:`outline`,disabled:H,onClick:U,children:[W,`Add action`]}),e[39]=H,e[40]=G);let K;e[41]!==V||e[42]!==G?(K=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[V,G]}),e[41]=V,e[42]=G,e[43]=K):K=e[43];let q;e[44]!==x||e[45]!==B||e[46]!==K?(q=(0,$.jsx)(Z,{serverScoped:!0,settingKeys:z,mixed:x,title:`Actions`,description:`Commands that run in this project's checkout or its worktree, with optional shortcuts.`,onResetOverride:B,control:K}),e[44]=x,e[45]=B,e[46]=K,e[47]=q):q=e[47];let J;e[48]!==S||e[49]!==v||e[50]!==x||e[51]!==O||e[52]!==f?(J=x?(0,$.jsx)(Z,{title:`Different actions across environments`,description:`Choose one environment to edit its list. Adding an action here adds it on every selected environment.`}):(0,$.jsx)(We,{scripts:f,keybindings:v,disabled:O||!S,onEdit:e=>T(Me(e,v))}),e[48]=S,e[49]=v,e[50]=x,e[51]=O,e[52]=f,e[53]=J):J=e[53];let Y;e[54]===P.status?Y=e[55]:(Y=P.status===`invalid`?(0,$.jsx)(Z,{title:`p4.json is invalid`,description:`A p4.json exists in this checkout but fails to parse, so every action and icon it declares is ignored. Check the JSON syntax and icon values.`,className:`text-warning`}):null,e[54]=P.status,e[55]=Y);let X;e[56]!==k||e[57]!==w||e[58]!==f||e[59]!==A||e[60]!==r?(X=r&&(0,$.jsx)(Ne,{environmentId:r.environmentId,editScope:`settings:write`,request:w,scripts:f,onSubmit:A,onDelete:e=>void k(t=>t.filter(t=>t.id!==e),e,null),onClose:()=>T(null)}),e[56]=k,e[57]=w,e[58]=f,e[59]=A,e[60]=r,e[61]=X):X=e[61];let oe;return e[62]!==q||e[63]!==J||e[64]!==Y||e[65]!==X?(oe=(0,$.jsxs)(Se,{id:`project-actions`,title:`Actions`,children:[q,J,Y,X]}),e[62]=q,e[63]=J,e[64]=Y,e[65]=X,e[66]=oe):oe=e[66],oe}function Je(){return null}function Ye(e){return[e.id,e]}function Xe(e,t,n){return n&&e.some(e=>e!==t)}var Ze=(0,Q.lazy)(()=>t(()=>import(`./ProjectIconPickerDialog-DXSyEGg8.js`).then(e=>({default:e.ProjectIconPickerDialog})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])));function Qe(e){return`${e.environmentId}:${e.id}`}function $e(e){let t=(0,Be.c)(34),{projectKey:n,environmentId:r,checkoutKey:i}=e,a=r===void 0?null:r,o=i===void 0?null:i,s=ye(),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={from:`/settings`},t[0]=c):c=t[0];let l=I(c),u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u={select:tt},t[1]=u):u=t[1];let d=L(u),f;t[2]!==s||t[3]!==n?(f=s.find(e=>e.projectKey===n)??null,t[2]=s,t[3]=n,t[4]=f):f=t[4];let p=f,m;t[5]!==o||t[6]!==a||t[7]!==p?.memberProjects?(m=p?.memberProjects.filter(e=>(a===null||e.environmentId===a)&&(o===null||e.physicalProjectKey===o))??[],t[5]=o,t[6]=a,t[7]=p?.memberProjects,t[8]=m):m=t[8];let h=m,g=(0,Q.useRef)(null),_,v;t[9]!==o||t[10]!==a||t[11]!==h||t[12]!==p?(_=()=>{p&&h.length!==0&&(g.current={key:p.projectKey,environmentId:a,checkoutKey:o,memberKeys:h.map(et)})},v=[p,h,a,o],t[9]=o,t[10]=a,t[11]=h,t[12]=p,t[13]=_,t[14]=v):(_=t[13],v=t[14]),(0,Q.useEffect)(_,v);let y,b;if(t[15]!==o||t[16]!==a||t[17]!==s||t[18]!==h.length||t[19]!==l||t[20]!==d||t[21]!==n?(b=()=>{if(h.length>0)return;let e=g.current;if(e?.key!==n||e.environmentId!==a||e.checkoutKey!==o)return;let t=s.find(t=>t.memberProjects.some(t=>e.memberKeys.includes(t.physicalProjectKey)));t&&l({to:d,search:()=>({project:t.projectKey,machine:a??void 0,checkout:o??void 0}),replace:!0,hashScrollIntoView:!1})},y=[s,l,d,n,h.length,a,o],t[15]=o,t[16]=a,t[17]=s,t[18]=h.length,t[19]=l,t[20]=d,t[21]=n,t[22]=y,t[23]=b):(y=t[22],b=t[23]),(0,Q.useEffect)(b,y),!p){let e=s.length===0?`Add a project from the sidebar to configure it here.`:`This project is no longer available.`,n;return t[24]===e?n=t[25]:(n=(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8 text-sm text-muted-foreground`,children:e}),t[24]=e,t[25]=n),n}if(h.length===0){let e;return t[26]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`p`,{className:`p-8 text-sm text-muted-foreground`,children:`This checkout is no longer available in the selected project and environment.`}),t[26]=e):e=t[26],e}let x;t[27]!==h||t[28]!==p?(x={...p,memberProjects:h,environmentId:h[0].environmentId,id:h[0].id},t[27]=h,t[28]=p,t[29]=x):x=t[29];let S=x,C=`${p.projectKey}:${a??`all`}:${o??`all`}`,w=h.length<p.memberProjects.length,T;return t[30]!==S||t[31]!==C||t[32]!==w?(T=(0,$.jsx)(nt,{group:S,hasOtherMembers:w},C),t[30]=S,t[31]=C,t[32]=w,t[33]=T):T=t[33],T}function et(e){return e.physicalProjectKey}function tt(e){return e.pathname}function nt({group:e,hasOtherMembers:t}){let n=I({from:`/settings`}),r=V(),{environments:a}=ae(),o=(0,Q.useMemo)(()=>new Map(a.map(e=>[e.environmentId,e])),[a]),s=G(e.memberProjects,E),u=e.memberProjects.every(e=>s.has(e.environmentId)),d=e.memberProjects.find(e=>o.get(e.environmentId)?.serverConfig!=null)??e.memberProjects[0],p=P(),m=ke(N.update,{reportFailure:!1}),h=ke(N.delete,{reportFailure:!1}),g=(0,Q.useRef)(!1),_=d.faviconPath??null,v=d.projectIcon??null,y=typeof window<`u`&&e.memberProjects.every(e=>e.environmentId===r&&He(e.workspaceRoot,navigator.platform))?window.desktopBridge?.pickProjectFavicon:void 0,C=(0,Q.useCallback)((e,t)=>{if(t._tag!==`Failure`||re(t))return;let n=ie(t);R.add(q({type:`error`,title:e,description:n instanceof Error?n.message:`An error occurred.`}))},[]),w=(0,Q.useCallback)((e,t)=>{let n=e.find(e=>!W(e.environmentId,E));if(!n)return null;let r=x(f(Error(`This connection cannot change projects in ${n.environmentLabel??`this environment`}.`)));return C(t,r),r},[C]),D=(0,Q.useCallback)(async(t,n)=>{let r=w(e.memberProjects,n);if(r)return r;let i=e.memberProjects.find(e=>{let t=o.get(e.environmentId);return t?.connection.phase!==`connected`||!t.serverConfig});if(i){let e=Error(`Connect ${i.environmentLabel??`the selected environment`} and try again.`),t=x(f(e));return C(n,t),t}for(let r of e.memberProjects){let i=w([r],n);if(i)return i;let a=A(await m({environmentId:r.environmentId,input:{projectId:r.id,...t}}),()=>void 0);if(a._tag===`Failure`)return C(e.memberProjects.length>1?`${n} on ${r.environmentLabel??`the current environment`}`:n,a),a}return S(void 0)},[w,o,e.memberProjects,C,m]),ee=(0,Q.useCallback)(async(t,n)=>{let r=t.trim();if(!r){R.add({type:`warning`,title:`Project title cannot be empty`});return}Xe(e.memberProjects.map(e=>e.title),r,n)&&await D({title:r},`Failed to rename project`)},[e.memberProjects,D]),[ne,j]=T(!u),[F,L]=T(!u),[B,H]=(0,Q.useState)(!1),U=(0,Q.useRef)(!1),K=(0,Q.useCallback)(async e=>{if(!U.current){U.current=!0,H(!0);try{await D(e,`Failed to update project icon`)}finally{U.current=!1,H(!1)}}},[D]),J=e.memberProjects.length>1,Y=(0,Q.useCallback)(async r=>{if(w(r,`Failed to remove project`))return;let a=z();if(!a)return;let o=new Set(r.map(Qe)),s=p.filter(e=>o.has(`${e.environmentId}:${e.projectId}`)),u=r.length===e.memberProjects.length,d=t||!u?`checkout`:`project`,f=r.length===1?r[0]:null,m=f?.title??e.displayName,g=await k(()=>a.dialogs.confirm([s.length>0?`Remove ${d} "${m}" and delete its ${s.length} thread${s.length===1?``:`s`}?`:`Remove ${d} "${m}"?`,...f?[`Path: ${f.workspaceRoot}`,...f.environmentLabel?[`Environment: ${f.environmentLabel}`]:[]]:[`This removes ${r.length} grouped project entries.`],...s.length>0?[`This permanently clears conversation history for those threads and any archived threads.`]:[`This permanently clears any archived conversation history.`],u&&!t?`This removes only the project entries, not the files on disk.`:`Other entries in this grouped project are unaffected.`,`This action cannot be undone.`].join(`
|
|
3
|
-
`),{variant:`destructive`}));if(
|
|
4
|
-
//# sourceMappingURL=settings.projects
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ProjectIconPickerDialog-GDqk2LEH.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/Icon-l19w4AjM.js","assets/utils-DmfMX1v5.js","assets/check-Cmy7pM2Y.js","assets/createLucideIcon-CacG5mZC.js","assets/chevron-down-DHV04o66.js","assets/chevron-right-NbahR9_s.js","assets/route-CQ6wZzks.js","assets/toggle-group-DCQTLIPb.js","assets/CompositeRoot-BMUI_bmJ.js","assets/toggle-B5fidRv0.js","assets/input-Cd_0h7h_.js","assets/FieldControl-C4IsJLMZ.js","assets/useRegisterFieldControl-Cr87Snzk.js","assets/scroll-area-LhpLVf8r.js","assets/CSPContext-DkFc4cYo.js","assets/dialog-Bn1u_Xoc.js","assets/x-CSwbgjBe.js","assets/DialogTitle-BXot7RA0.js","assets/ProjectMonogram-Bqe3OyZR.js","assets/dynamic-p5s8CQGu.js","assets/index-1HGbj0-7.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./index-1HGbj0-7.js";import{r as n}from"./Icon-l19w4AjM.js";import{Af as r,Ax as i,D as a,Gn as o,Hf as s,Ho as c,If as l,Jn as u,Rs as d,Yn as f,Zn as p,_c as m,ha as h,in as g,jm as _,ms as v,n as y,or as b,qn as x,qv as S,r as C,sr as w,ss as T,tr as E,zs as ee}from"./utils-DmfMX1v5.js";import{t as te}from"./chevron-down-DHV04o66.js";import{t as D}from"./info-BHB-83EA.js";import{t as ne}from"./plus-Cr075-cy.js";import{t as O}from"./trash-2-CiyAV2xI.js";import{H as k,L as re,R as A,U as ie}from"./runtime-BQJQC-Ny.js";import{C as j,P as M,W as N,k as P}from"./entities-82m-Smm-.js";import{yn as F}from"./runtime-C6FwphD-.js";import{t as I}from"./useNavigate-4thj06GJ.js";import{t as L}from"./useLocation-QINZoaPz.js";import{i as R}from"./toast-CjelgyqV.js";import{E as ae,J as z,K as B,O as V}from"./useSettings-CLtJrOYI.js";import{f as H,s as U}from"./server-BD_Y5Gsn.js";import{n as W,o as G}from"./session-DsbInyNV.js";import{t as K}from"./use-atom-command-CQHjSXPR.js";import{n as q}from"./toastHelpers-Dsph6LwL.js";import{i as J,o as Y,r as X}from"./command-DnJZPOmf.js";import{t as oe}from"./input-Cd_0h7h_.js";import{D as se,E as ce,O as le,j as ue,y as de}from"./keybindings-uYm_vnXl.js";import{t as fe}from"./PierreEntryIcon-BxxykifK.js";import{t as pe}from"./ProjectFavicon-CiauSitF.js";import{d as me}from"./projectFilesQueryState-ELgLflk5.js";import{n as he}from"./p4ProjectFile-BWszgcDk.js";import{r as ge,t as _e}from"./alert-B-or1ble.js";import{B as ve,H as ye,I as be,a as Z,i as xe,r as Se,s as Ce}from"./settingsLayout-jP1a50ek.js";import{Mi as we,Sn as Te,bn as Ee,eo as De,pn as Oe,yi as ke}from"./main-BB3F4O6Y.js";import{c as Ae,f as je,i as Me,n as Ne,o as Pe,r as Fe,s as Ie,t as Le}from"./projectScriptEditor-BAuP_HeU.js";import{t as Re}from"./ProjectDefaultsSettings-C6wxaRmJ.js";import{t as ze}from"./SettingsScopeNotice-CVoWG1oN.js";var Be=i(),Q=e(n(),1),$=e(h(),1);function Ve(e,t,n){return t||(n?e.trim()?`Searching project files…`:`Indexing project files…`:e.trim()?`No matching image files.`:`No image files found.`)}function He(e,t){return!C(t)||F(e)}function Ue(e){let[t,n]=(0,Q.useState)(``),[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(!1),s=me(e.environmentId,e.cwd,t,200,{imageOnly:!0}),{resolvedTheme:l}=B(),u=c(U),d=e.onPickExternal,f=y(typeof navigator>`u`?``:navigator.platform),p=(0,Q.useMemo)(()=>Oe(s.entries,s.matchedQuery).map(t=>({kind:`action`,value:`project-favicon:${t.path}`,searchTerms:[t.name,t.path],title:t.name,description:t.path,icon:(0,$.jsx)(fe,{pathValue:t.path,kind:`file`,theme:l}),run:async()=>e.onSelect(t.path)})),[e.onSelect,l,s.entries,s.matchedQuery]);return(0,$.jsx)(X,{open:e.open,onOpenChange:e.onOpenChange,children:e.open?(0,$.jsx)(J,{"aria-label":`Choose project icon`,className:`overflow-hidden`,onBackdropPointerDown:()=>e.onOpenChange(!1),children:(0,$.jsx)(Te,{"aria-label":`Choose project icon`,autoHighlight:`always`,escapeLabel:`Close`,footerActionLabel:`Select icon`,footerTrailing:d?(0,$.jsx)(Y,{disabled:a,onClick:()=>{o(!0),d().then(t=>{t&&(e.onOpenChange(!1),e.onSelect(t))}).catch(e=>{R.add({type:`error`,title:`Could not open image picker`,description:e instanceof Error?e.message:`An error occurred.`})}).finally(()=>o(!1))},children:`Open in ${f}`}):null,inputProps:{placeholder:`Search image files…`},mode:`none`,onItemHighlighted:e=>{i(typeof e==`string`?e:null)},onValueChange:e=>{i(null),n(e)},panelSize:`tall-list`,testId:`project-favicon-picker`,value:t,children:(0,$.jsx)(Ee,{groups:p.length>0?[{value:`project-favicon-files`,label:e.projectName,items:p}]:[],highlightedItemValue:r,isActionsOnly:!1,keybindings:u,onExecuteItem:t=>{t.kind===`action`&&(e.onOpenChange(!1),t.run())},emptyStateMessage:Ve(t,s.error,s.isPending)})})}):null})}function We(e){let t=(0,Be.c)(10),{scripts:n,keybindings:r,disabled:i,onEdit:a}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`p`,{className:`px-3 py-2 text-base text-muted-foreground sm:px-4 sm:text-sm`,children:`No actions configured.`}),t[0]=e):e=t[0],e}let o;if(t[1]!==i||t[2]!==r||t[3]!==a||t[4]!==n){let e;t[6]!==i||t[7]!==r||t[8]!==a?(e=e=>{let t=de(r,se(e.id));return(0,$.jsx)(Z,{className:`group py-2`,title:(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,$.jsx)(Fe,{icon:e.icon,className:`size-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e.name}),e.runOnWorktreeCreate?(0,$.jsx)(`span`,{className:`shrink-0 rounded-sm border border-border/60 px-1.5 py-px text-2xs font-normal text-muted-foreground`,children:`setup`}):null,e.runOnSettle?(0,$.jsx)(`span`,{className:`shrink-0 rounded-sm border border-border/60 px-1.5 py-px text-2xs font-normal text-muted-foreground`,children:`on settle`}):null,e.previewUrl?(0,$.jsx)(`span`,{className:`shrink-0 rounded-sm border border-border/60 px-1.5 py-px text-2xs font-normal text-muted-foreground max-sm:hidden`,children:`preview · desktop only`}):null]}),description:(0,$.jsx)(`code`,{className:`block max-w-full truncate font-mono`,children:e.command}),control:(0,$.jsxs)($.Fragment,{children:[t?(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t}):null,(0,$.jsx)(`span`,{className:`flex shrink-0 opacity-0 group-focus-within:opacity-100 group-hover:opacity-100`,children:(0,$.jsx)(w,{size:`icon-xs`,variant:`ghost-muted`,"aria-label":`Edit ${e.name}`,disabled:i,onClick:()=>a(e),children:(0,$.jsx)(De,{className:`size-3.5`})})})]})},e.id)},t[6]=i,t[7]=r,t[8]=a,t[9]=e):e=t[9],o=n.map(e),t[1]=i,t[2]=r,t[3]=a,t[4]=n,t[5]=o}else o=t[5];return o}function Ge(e){if(e._tag===`Failure`&&!re(e)){let t=ie(e);R.add({type:`error`,title:`Failed to save project actions`,description:t instanceof Error?t.message:`An error occurred.`})}return A(e,()=>void 0)}function Ke(e){let t=j(),[n,r]=(0,Q.useState)(!1),i=(0,Q.useRef)(!1),a=K(H.updateSettings,`project actions update`),o=K(H.upsertKeybinding,`action shortcut update`),c=K(H.removeKeybinding,`action shortcut removal`);async function u(n,u,d){if(i.current||e.length===0){let e=`No available machine, or another action change is saving.`;return R.add({type:`error`,title:`Actions not saved`,description:e}),T(S(Error(e)))}if(e.some(({environmentId:e})=>!W(e,`settings:write`)))return Ge(T(S(new s({requiredScope:l,message:`This connection cannot change environment settings.`}))));i.current=!0,r(!0);try{for(let{environmentId:r,settings:i,keybindings:s,project:l}of e){let e=l?je(i,l):i.defaultProjectScripts,f=n(e),p=f??i.defaultProjectScripts,m=await a({environmentId:r,input:{patch:l?{projectSettingsOverrides:{[l.id]:f===null?he(i,l.id,[`defaultProjectScripts`]):{...i.projectSettingsOverrides[l.id],defaultProjectScripts:f}}}:{defaultProjectScripts:f??[]}}});if(m._tag===`Failure`)return Ge(m);let h=u?[u]:e.filter(e=>!p.some(t=>t.id===e.id)).map(e=>e.id);for(let e of h){let n=se(e),a=Ae(s,n),u=a?Ie({keybinding:a,command:n}):null,p=Ie({keybinding:d,command:n}),m=!f?.some(t=>t.id===e)&&(l&&i.defaultProjectScripts.some(t=>t.id===e)||Object.entries(i.projectSettingsOverrides).some(([t,n])=>t!==l?.id&&n.defaultProjectScripts?.some(t=>t.id===e))||t.some(t=>t.environmentId===r&&t.id!==l?.id&&(l?je(i,t):t.scripts).some(t=>t.id===e))),h=p?await o({environmentId:r,input:u&&u.key!==p.key?{...p,replace:u}:p}):u&&!m?await c({environmentId:r,input:u}):null;if(h?._tag===`Failure`)return Ge(h)}}return v(void 0)}finally{i.current=!1,r(!1)}}function d(n,r){let i=[...t.flatMap(e=>e.scripts.map(e=>e.id)),...e.flatMap(({settings:e,project:t})=>[...e.defaultProjectScripts,...Object.values(e.projectSettingsOverrides).flatMap(e=>e.defaultProjectScripts??[]),...t?.scripts??[]].map(e=>e.id))],a=n??le(r.name,i),o=ce(a,r);return u(e=>{let t=e.map(e=>e.id===a?o:ue(e,r));return n===null?[...t,o]:t},a,r.keybinding)}return{saving:n,persist:u,submit:d}}function qe(){let e=(0,Be.c)(67),{scope:t,targets:n,target:r}=ve(),{environments:i}=ae(),a=t.kind===`project`||t.kind===`checkout`,s;e[0]!==i||e[1]!==r?(s=r?i.find(e=>e.environmentId===r.environmentId)?.serverConfig:void 0,e[0]=i,e[1]=r,e[2]=s):s=e[2];let c=s,l;e[3]===r?.settings.defaultProjectScripts?l=e[4]:(l=r?.settings.defaultProjectScripts??[],e[3]=r?.settings.defaultProjectScripts,e[4]=l);let d=l,h=c?.keybindings??m,g;if(e[5]!==d||e[6]!==n){let t;e[8]===d?t=e[9]:(t=e=>JSON.stringify(e.settings.defaultProjectScripts)!==JSON.stringify(d),e[8]=d,e[9]=t),g=n.some(t),e[5]=d,e[6]=n,e[7]=g}else g=e[7];let v=g,y=be(),[S,C]=(0,Q.useState)(null),T,ee,D;e[10]!==i||e[11]!==a||e[12]!==t.members||e[13]!==n?(T=new Map(a?t.members.map(Ye):[]),ee=Ke,D=n.flatMap(e=>{let t=i.find(t=>t.environmentId===e.environmentId);if(!t?.serverConfig)return[];let n=e.projectId?T.get(e.projectId):void 0;return n&&t.serverConfig.environment?.capabilities.projectSettingsOverrides!==!0?[]:[{environmentId:e.environmentId,settings:t.serverConfig.settings,keybindings:t.serverConfig.keybindings,...n?{project:n}:{}}]}),e[10]=i,e[11]=a,e[12]=t.members,e[13]=n,e[14]=T,e[15]=ee,e[16]=D):(T=e[14],ee=e[15],D=e[16]);let{saving:O,persist:k,submit:A}=ee(D),j;e[17]!==T||e[18]!==r?(j=r?.projectId?T.get(r.projectId):void 0,e[17]=T,e[18]=r,e[19]=j):j=e[19];let M=j,N;e[20]===M?.environmentId?N=e[21]:(N=M?.environmentId??_.make(`none`),e[20]=M?.environmentId,e[21]=N);let P=Pe(N,M?.workspaceRoot??null),F;if(e[22]!==d||e[23]!==P.scripts){let t;e[25]===d?t=e[26]:(t=e=>!d.some(t=>t.command===e.command||t.name.toLowerCase()===e.name.toLowerCase()),e[25]=d,e[26]=t),F=P.scripts.filter(t),e[22]=d,e[23]=P.scripts,e[24]=F}else F=e[24];let I=F,L;e[27]===A?L=e[28]:(L=async e=>{let t={name:e.name,command:e.command,icon:e.icon??`play`,runOnWorktreeCreate:e.runOnWorktreeCreate??!1,waitForSetup:e.runOnWorktreeCreate===!0&&e.async===!1,runOnSettle:e.runOnSettle??!1,keybinding:null,previewUrl:e.previewUrl??null,autoOpenPreview:e.previewUrl?e.autoOpenPreview??!1:!1},n=await A(null,t);if(n._tag===`Failure`&&!re(n)){let e=ie(n);C({scriptId:null,initial:t,error:e instanceof Error?e.message:`Failed to import action.`})}},e[27]=A,e[28]=L);let R=L,z;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(z=[`defaultProjectScripts`],e[29]=z):z=e[29];let B;e[30]===k?B=e[31]:(B=()=>void k(Je),e[30]=k,e[31]=B);let V;e[32]!==y||e[33]!==R||e[34]!==I||e[35]!==O?(V=I.length>0?(0,$.jsxs)(o,{children:[(0,$.jsxs)(b,{render:(0,$.jsx)(w,{id:`import-scripts`,size:`xs`,variant:`ghost`,disabled:O||!y,type:`button`}),children:[`Import scripts`,(0,$.jsx)(te,{className:`size-3.5`})]}),(0,$.jsxs)(p,{align:`end`,children:[(0,$.jsxs)(x,{children:[(0,$.jsx)(u,{children:`Import from p4.json`}),(0,$.jsx)(`p`,{className:`px-2 pb-2 text-pretty text-sm text-muted-foreground`,children:`Add actions declared by this checkout without editing them first.`})]}),(0,$.jsx)(E,{}),I.map(e=>(0,$.jsxs)(f,{onClick:()=>void R(e),children:[(0,$.jsx)(Fe,{icon:e.icon??`play`,className:`size-4 shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`truncate font-medium`,children:e.name}),(0,$.jsx)(`div`,{className:`truncate font-mono text-muted-foreground`,children:e.command})]})]},`${e.name} ${e.command}`))]})]}):null,e[32]=y,e[33]=R,e[34]=I,e[35]=O,e[36]=V):V=e[36];let H=O||!y||n.length===0,U,W;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>C({scriptId:null,initial:Le}),W=(0,$.jsx)(ne,{className:`size-3.5`}),e[37]=U,e[38]=W):(U=e[37],W=e[38]);let G;e[39]===H?G=e[40]:(G=(0,$.jsxs)(w,{size:`xs`,variant:`outline`,disabled:H,onClick:U,children:[W,`Add action`]}),e[39]=H,e[40]=G);let K;e[41]!==V||e[42]!==G?(K=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[V,G]}),e[41]=V,e[42]=G,e[43]=K):K=e[43];let q;e[44]!==v||e[45]!==B||e[46]!==K?(q=(0,$.jsx)(Z,{serverScoped:!0,settingKeys:z,mixed:v,title:`Actions`,description:`Commands that run in this project's checkout or its worktree, with optional shortcuts.`,onResetOverride:B,control:K}),e[44]=v,e[45]=B,e[46]=K,e[47]=q):q=e[47];let J;e[48]!==y||e[49]!==h||e[50]!==v||e[51]!==O||e[52]!==d?(J=v?(0,$.jsx)(Z,{title:`Different actions across environments`,description:`Choose one environment to edit its list. Adding an action here adds it on every selected environment.`}):(0,$.jsx)(We,{scripts:d,keybindings:h,disabled:O||!y,onEdit:e=>C(Me(e,h))}),e[48]=y,e[49]=h,e[50]=v,e[51]=O,e[52]=d,e[53]=J):J=e[53];let Y;e[54]===P.status?Y=e[55]:(Y=P.status===`invalid`?(0,$.jsx)(Z,{title:`p4.json is invalid`,description:`A p4.json exists in this checkout but fails to parse, so every action and icon it declares is ignored. Check the JSON syntax and icon values.`,className:`text-warning`}):null,e[54]=P.status,e[55]=Y);let X;e[56]!==k||e[57]!==S||e[58]!==d||e[59]!==A||e[60]!==r?(X=r&&(0,$.jsx)(Ne,{environmentId:r.environmentId,editScope:`settings:write`,request:S,scripts:d,onSubmit:A,onDelete:e=>void k(t=>t.filter(t=>t.id!==e),e,null),onClose:()=>C(null)}),e[56]=k,e[57]=S,e[58]=d,e[59]=A,e[60]=r,e[61]=X):X=e[61];let oe;return e[62]!==q||e[63]!==J||e[64]!==Y||e[65]!==X?(oe=(0,$.jsxs)(Ce,{id:`project-actions`,title:`Actions`,children:[q,J,Y,X]}),e[62]=q,e[63]=J,e[64]=Y,e[65]=X,e[66]=oe):oe=e[66],oe}function Je(){return null}function Ye(e){return[e.id,e]}function Xe(e,t,n){return n&&e.some(e=>e!==t)}var Ze=(0,Q.lazy)(()=>t(()=>import(`./ProjectIconPickerDialog-GDqk2LEH.js`).then(e=>({default:e.ProjectIconPickerDialog})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])));function Qe(e){return`${e.environmentId}:${e.id}`}function $e(e){let t=(0,Be.c)(34),{projectKey:n,environmentId:r,checkoutKey:i}=e,a=r===void 0?null:r,o=i===void 0?null:i,s=ye(),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={from:`/settings`},t[0]=c):c=t[0];let l=I(c),u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u={select:tt},t[1]=u):u=t[1];let d=L(u),f;t[2]!==s||t[3]!==n?(f=s.find(e=>e.projectKey===n)??null,t[2]=s,t[3]=n,t[4]=f):f=t[4];let p=f,m;t[5]!==o||t[6]!==a||t[7]!==p?.memberProjects?(m=p?.memberProjects.filter(e=>(a===null||e.environmentId===a)&&(o===null||e.physicalProjectKey===o))??[],t[5]=o,t[6]=a,t[7]=p?.memberProjects,t[8]=m):m=t[8];let h=m,g=(0,Q.useRef)(null),_,v;t[9]!==o||t[10]!==a||t[11]!==h||t[12]!==p?(_=()=>{p&&h.length!==0&&(g.current={key:p.projectKey,environmentId:a,checkoutKey:o,memberKeys:h.map(et)})},v=[p,h,a,o],t[9]=o,t[10]=a,t[11]=h,t[12]=p,t[13]=_,t[14]=v):(_=t[13],v=t[14]),(0,Q.useEffect)(_,v);let y,b;if(t[15]!==o||t[16]!==a||t[17]!==s||t[18]!==h.length||t[19]!==l||t[20]!==d||t[21]!==n?(b=()=>{if(h.length>0)return;let e=g.current;if(e?.key!==n||e.environmentId!==a||e.checkoutKey!==o)return;let t=s.find(t=>t.memberProjects.some(t=>e.memberKeys.includes(t.physicalProjectKey)));t&&l({to:d,search:()=>({project:t.projectKey,machine:a??void 0,checkout:o??void 0}),replace:!0,hashScrollIntoView:!1})},y=[s,l,d,n,h.length,a,o],t[15]=o,t[16]=a,t[17]=s,t[18]=h.length,t[19]=l,t[20]=d,t[21]=n,t[22]=y,t[23]=b):(y=t[22],b=t[23]),(0,Q.useEffect)(b,y),!p){let e=s.length===0?`Add a project from the sidebar to configure it here.`:`This project is no longer available.`,n;return t[24]===e?n=t[25]:(n=(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8 text-sm text-muted-foreground`,children:e}),t[24]=e,t[25]=n),n}if(h.length===0){let e;return t[26]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`p`,{className:`p-8 text-sm text-muted-foreground`,children:`This checkout is no longer available in the selected project and environment.`}),t[26]=e):e=t[26],e}let x;t[27]!==h||t[28]!==p?(x={...p,memberProjects:h,environmentId:h[0].environmentId,id:h[0].id},t[27]=h,t[28]=p,t[29]=x):x=t[29];let S=x,C=`${p.projectKey}:${a??`all`}:${o??`all`}`,w=h.length<p.memberProjects.length,T;return t[30]!==S||t[31]!==C||t[32]!==w?(T=(0,$.jsx)(nt,{group:S,hasOtherMembers:w},C),t[30]=S,t[31]=C,t[32]=w,t[33]=T):T=t[33],T}function et(e){return e.physicalProjectKey}function tt(e){return e.pathname}function nt({group:e,hasOtherMembers:t}){let n=I({from:`/settings`}),i=V(),{environments:o}=ae(),s=(0,Q.useMemo)(()=>new Map(o.map(e=>[e.environmentId,e])),[o]),c=G(e.memberProjects,r),l=e.memberProjects.every(e=>c.has(e.environmentId)),u=e.memberProjects.find(e=>s.get(e.environmentId)?.serverConfig!=null)??e.memberProjects[0],f=P(),p=we(N.update,{reportFailure:!1}),m=we(N.delete,{reportFailure:!1}),h=(0,Q.useRef)(!1),_=u.faviconPath??null,y=u.projectIcon??null,b=typeof window<`u`&&e.memberProjects.every(e=>e.environmentId===i&&He(e.workspaceRoot,navigator.platform))?window.desktopBridge?.pickProjectFavicon:void 0,x=(0,Q.useCallback)((e,t)=>{if(t._tag!==`Failure`||re(t))return;let n=ie(t);R.add(q({type:`error`,title:e,description:n instanceof Error?n.message:`An error occurred.`}))},[]),C=(0,Q.useCallback)((e,t)=>{let n=e.find(e=>!W(e.environmentId,r));if(!n)return null;let i=T(S(Error(`This connection cannot change projects in ${n.environmentLabel??`this environment`}.`)));return x(t,i),i},[x]),E=(0,Q.useCallback)(async(t,n)=>{let r=C(e.memberProjects,n);if(r)return r;let i=e.memberProjects.find(e=>{let t=s.get(e.environmentId);return t?.connection.phase!==`connected`||!t.serverConfig});if(i){let e=Error(`Connect ${i.environmentLabel??`the selected environment`} and try again.`),t=T(S(e));return x(n,t),t}for(let r of e.memberProjects){let i=C([r],n);if(i)return i;let a=A(await p({environmentId:r.environmentId,input:{projectId:r.id,...t}}),()=>void 0);if(a._tag===`Failure`)return x(e.memberProjects.length>1?`${n} on ${r.environmentLabel??`the current environment`}`:n,a),a}return v(void 0)},[C,s,e.memberProjects,x,p]),te=(0,Q.useCallback)(async(t,n)=>{let r=t.trim();if(!r){R.add({type:`warning`,title:`Project title cannot be empty`});return}Xe(e.memberProjects.map(e=>e.title),r,n)&&await E({title:r},`Failed to rename project`)},[e.memberProjects,E]),[ne,j]=g(!l),[F,L]=g(!l),[B,H]=(0,Q.useState)(!1),U=(0,Q.useRef)(!1),K=(0,Q.useCallback)(async e=>{if(!U.current){U.current=!0,H(!0);try{await E(e,`Failed to update project icon`)}finally{U.current=!1,H(!1)}}},[E]),J=e.memberProjects.length>1,Y=(0,Q.useCallback)(async r=>{if(C(r,`Failed to remove project`))return;let i=z();if(!i)return;let o=new Set(r.map(Qe)),s=f.filter(e=>o.has(`${e.environmentId}:${e.projectId}`)),c=r.length===e.memberProjects.length,l=t||!c?`checkout`:`project`,u=r.length===1?r[0]:null,p=u?.title??e.displayName,h=await k(()=>i.dialogs.confirm([s.length>0?`Remove ${l} "${p}" and delete its ${s.length} thread${s.length===1?``:`s`}?`:`Remove ${l} "${p}"?`,...u?[`Path: ${u.workspaceRoot}`,...u.environmentLabel?[`Environment: ${u.environmentLabel}`]:[]]:[`This removes ${r.length} grouped project entries.`],...s.length>0?[`This permanently clears conversation history for those threads and any archived threads.`]:[`This permanently clears any archived conversation history.`],c&&!t?`This removes only the project entries, not the files on disk.`:`Other entries in this grouped project are unaffected.`,`This action cannot be undone.`].join(`
|
|
3
|
+
`),{variant:`destructive`}));if(h._tag===`Failure`||!h.value||C(r,`Failed to remove project`))return;let g=a.getState();for(let e of r){if(C([e],`Failed to remove project`))return;let t=s.filter(t=>t.environmentId===e.environmentId&&t.projectId===e.id),n=A(await m({environmentId:e.environmentId,input:{projectId:e.id,force:!0}}),()=>void 0);if(n._tag===`Failure`){x(`Failed to remove "${e.title}"`,n);return}let r=d(e.environmentId,e.id);await M(r),ke(r,t.map(e=>ee(e.environmentId,e.id)));let i=g.getDraftThreadByProjectRef(r);i&&g.clearDraftThread(i.draftId),g.clearProjectDraftThreadId(r)}c&&!t&&n({to:`/`,replace:!0})},[C,m,e.displayName,e.memberProjects.length,t,n,x,f]),X=(0,$.jsx)(Ce,{title:`Checkouts`,children:e.memberProjects.map(e=>(0,$.jsx)(Z,{title:e.environmentLabel??`Environment`,description:e.workspaceRoot,control:(0,$.jsx)(w,{size:`sm`,variant:`outline`,disabled:!c.has(e.environmentId),onClick:()=>void Y([e]),"aria-label":`Remove checkout ${e.workspaceRoot}`,children:`Remove`})},e.physicalProjectKey))});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(xe,{className:`gap-6`,children:[(0,$.jsxs)(_e,{variant:`info`,children:[(0,$.jsx)(D,{"aria-hidden":!0}),(0,$.jsx)(ge,{children:`Can't find a setting? Keep this project picked above and hop to any other settings page.`})]}),(0,$.jsxs)(Ce,{id:`project-overview`,title:`Project`,hideTitle:!0,children:[l?null:(0,$.jsx)(`p`,{className:`px-3 py-2 text-sm text-muted-foreground sm:px-4`,children:e.memberProjects.length>1?`Shared settings require permission to change every checkout in this group.`:`This connection cannot change this project.`}),(0,$.jsx)(Z,{title:`Name`,description:`The shared name for this project group in the sidebar and thread lists.`,control:(0,$.jsx)(oe,{size:`sm`,className:`w-full sm:w-64`,"aria-label":`Project name`,disabled:!l,defaultValue:e.displayName,onChange:()=>{h.current=!0},onBlur:e=>{let t=h.current;h.current=!1,te(e.currentTarget.value,t)},onKeyDown:e=>{e.key===`Enter`&&e.currentTarget.blur()}},`${e.projectKey}:${e.displayName}`)}),(0,$.jsx)(Z,{title:`Project icon`,description:y?.kind===`lucide`?`${y.name} · ${y.color}`:y?.kind===`monogram`?`${y.text} · ${y.color}`:y?.kind===`emoji`?y.emoji:_??`Automatic`,resetAction:e.memberProjects.some(e=>e.faviconPath!=null||e.projectIcon!=null)?(0,$.jsx)(Se,{label:`project icon`,disabled:B||!l,onClick:()=>void K({faviconPath:null,projectIcon:null})}):null,control:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(pe,{project:u,className:`size-6`}),(0,$.jsx)(w,{size:`sm`,variant:`outline`,type:`button`,"aria-label":`Choose a project icon`,disabled:B||!l,onClick:()=>L(!0),children:`Choose icon`}),(0,$.jsx)(w,{size:`sm`,variant:`outline`,type:`button`,"aria-label":`Choose a project icon file`,disabled:B||!l,onClick:()=>j(!0),children:`Choose file`})]})})]}),(0,$.jsx)(Re,{category:`project`}),(0,$.jsx)(qe,{}),J?X:null,(0,$.jsx)(Ce,{title:`Danger`,children:(0,$.jsx)(Z,{title:t?`Remove checkout`:e.memberProjects.length>1?`Remove this project everywhere`:`Remove project`,description:t?`Deletes the selected machine's checkout entries and their threads. Other machines and files on disk are not touched.`:e.memberProjects.length>1?`Deletes all ${e.memberProjects.length} checkout entries and their threads on every machine. Files on disk are not touched.`:`Deletes the project entry and its threads. Files on disk are not touched.`,control:(0,$.jsxs)(w,{size:`sm`,variant:`destructive-outline`,disabled:!l,onClick:()=>void Y(e.memberProjects),children:[(0,$.jsx)(O,{}),t?`Remove checkout`:e.memberProjects.length>1?`Remove all entries`:`Remove project`]})})})]}),(0,$.jsx)(Ue,{cwd:u.workspaceRoot,environmentId:u.environmentId,onOpenChange:j,...b?{onPickExternal:()=>b(u.workspaceRoot)}:{},onSelect:e=>void K({faviconPath:e,projectIcon:null}),open:ne&&l,projectName:e.displayName},`${u.environmentId}:${u.workspaceRoot}:${ne}`),F&&l?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Ze,{current:y,projectName:u.title,open:!0,onOpenChange:L,onSelect:e=>void K({faviconPath:null,projectIcon:e})})}):null]})}function rt(){let e=(0,Be.c)(7),{search:t,scope:n}=ve(),r=n.kind===`project`||n.kind===`checkout`||n.kind===`unavailable`&&(n.reason===`project-missing`||n.reason===`checkout-missing`),i;return e[0]!==r||e[1]!==n.kind||e[2]!==n.message||e[3]!==t.checkout||e[4]!==t.machine||e[5]!==t.project?(i=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:t.project&&r?(0,$.jsx)($e,{projectKey:t.project,environmentId:t.machine?_.make(t.machine):null,checkoutKey:t.checkout??null}):n.kind===`unavailable`?(0,$.jsx)(xe,{children:(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n.message})}):(0,$.jsx)(ze,{target:`project`,children:`Choose a project to manage its name, icon, checkouts and actions.`})}),e[0]=r,e[1]=n.kind,e[2]=n.message,e[3]=t.checkout,e[4]=t.machine,e[5]=t.project,e[6]=i):i=e[6],i}var it=rt;export{it as component};
|
|
4
|
+
//# sourceMappingURL=settings.projects-CT-l0EfX.js.map
|