@p4code/cli 0.8.0 → 0.8.1
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/{AcpMcpStdioBridge-CfALMbjp.mjs → AcpMcpStdioBridge-DBONIB-w.mjs} +120 -19
- package/dist/AcpMcpStdioBridge-D_JnxPWS.mjs +4 -0
- package/dist/{Effect-zfMCY1g4.mjs → Effect-BahT0mOQ.mjs} +2 -2
- package/dist/bin.mjs +2 -2
- package/dist/{binCli-C3s3kGWK.mjs → binCli-mL63pmet.mjs} +7185 -5813
- package/dist/claude-history-worker.mjs +1 -1
- package/dist/{claudeHistoryWorker-CMjiofbZ.mjs → claudeHistoryWorker-v_0uyLGp.mjs} +2 -2
- package/dist/client/.vite/manifest.json +2114 -2088
- package/dist/client/assets/{AnimatedHeight-BwS0L5jd.js → AnimatedHeight-CcLJhBdM.js} +2 -2
- package/dist/client/assets/{AuthSurfaceShell-B5dTwcVl.js → AuthSurfaceShell-DV9IfxfT.js} +2 -2
- package/dist/client/assets/{CSPContext-B1m61J9R.js → CSPContext-5fUBIm56.js} +2 -2
- package/dist/client/assets/ChatGptUsageButton-BjxGhmRJ.js +2 -0
- package/dist/client/assets/ChatMarkdown-S_dLZdsH.js +65 -0
- package/dist/client/assets/{CodexSetupSection.logic-BpefaM8S.js → CodexSetupSection.logic-CpyIRPfJ.js} +2 -2
- package/dist/client/assets/{ComboboxClear-CSnbXRcJ.js → ComboboxClear-DCanpiKf.js} +2 -2
- package/dist/client/assets/{CommandBlock-DcgLBXYD.js → CommandBlock-CCY3uLti.js} +2 -2
- package/dist/client/assets/{ComposerPromptEditor-oniaSNnQ.js → ComposerPromptEditor-CTei4iV_.js} +13 -13
- package/dist/client/assets/{CompositeRoot-ykxKqF8U.js → CompositeRoot-Dz15SC7i.js} +2 -2
- package/dist/client/assets/{ConnectionStatusDot-BvfbN2Tp.js → ConnectionStatusDot-BXxnqJgm.js} +2 -2
- package/dist/client/assets/{DevicePanel-wE6eEt9P.js → DevicePanel-hMvCLVG0.js} +2 -2
- package/dist/client/assets/{DeviceSetup-kaQqI-00.js → DeviceSetup--U2_cth3.js} +2 -2
- package/dist/client/assets/{DialogTitle-Cwi7QOum.js → DialogTitle-CdRWiE23.js} +2 -2
- package/dist/client/assets/{DiffCommentAnnotation-CnCPh4ot.js → DiffCommentAnnotation-BO9ZEof3.js} +3 -3
- package/dist/client/assets/DiffFileTree-DOh6vP89.js +2 -0
- package/dist/client/assets/DiffPanel-BdHAXHTV.js +2 -0
- package/dist/client/assets/{DiffWorkerPoolProvider-C8TyWhmO.js → DiffWorkerPoolProvider-HxohyeGq.js} +3 -3
- package/dist/client/assets/{EnvironmentMachineIcon-CBS8TSmT.js → EnvironmentMachineIcon-DYqBsAxl.js} +2 -2
- package/dist/client/assets/{ExpandableText-CWbIeyDn.js → ExpandableText-B9MQs34j.js} +3 -3
- package/dist/client/assets/{FieldControl-CWR3fEt0.js → FieldControl-DuWupdaP.js} +2 -2
- package/dist/client/assets/{FileDiff-BiIVs0i-.js → FileDiff-XdtrigfB.js} +2 -2
- package/dist/client/assets/{FilePreviewPanel-CXgaN8cb.js → FilePreviewPanel-Dj_tLsu8.js} +5 -5
- package/dist/client/assets/{FoldedSettingsSection-BimbnaOl.js → FoldedSettingsSection-CJhrFR0_.js} +2 -2
- package/dist/client/assets/{FormContext-DyOeI4sU.js → FormContext-DzMW0viI.js} +2 -2
- package/dist/client/assets/{Icons-BlUgSxml.js → Icons-DJ824_3l.js} +2 -2
- package/dist/client/assets/{KeybindingsSettings.logic-Dfld_XQx.js → KeybindingsSettings.logic-DBks3HZy.js} +2 -2
- package/dist/client/assets/{NoProjectsHero-ZE4gAFj0.js → NoProjectsHero-DyYs0dvZ.js} +2 -2
- package/dist/client/assets/{PanelLayoutControls-x5a58Pdn.js → PanelLayoutControls-DmAKKHlt.js} +10 -10
- package/dist/client/assets/{PierreEntryIcon-DeBbijxO.js → PierreEntryIcon-uqPwKknu.js} +2 -2
- package/dist/client/assets/{PreviewPanel-2vuw0skj.js → PreviewPanel-BQkFJlas.js} +2 -2
- package/dist/client/assets/ProjectDefaultsSettings-DglkVzkM.js +2 -0
- package/dist/client/assets/{ProjectFavicon-BhJj4G_1.js → ProjectFavicon-CDpXbAhP.js} +3 -3
- package/dist/client/assets/ProjectIconPickerDialog-yxBKY_6V.js +2 -0
- package/dist/client/assets/{ProjectMonogram-BgobvHld.js → ProjectMonogram-Dd6xeLhS.js} +2 -2
- package/dist/client/assets/{ProviderAuthTerminal-CJSJcjB9.js → ProviderAuthTerminal-DgUIYMm9.js} +2 -2
- package/dist/client/assets/{ProviderModelPicker-riIGf-PI.js → ProviderModelPicker-lxEwYGAB.js} +2 -2
- package/dist/client/assets/{ProviderSettingsForm-Dh_vspcE.js → ProviderSettingsForm-DGMc_kKy.js} +2 -2
- package/dist/client/assets/{PullRequestCodeTab-Do36z71f.js → PullRequestCodeTab-CXrKDJ3m.js} +3 -3
- package/dist/client/assets/{ReadOnlySourcePreview-BfLIaC5x.js → ReadOnlySourcePreview-DkXxXiTJ.js} +2 -2
- package/dist/client/assets/{RedactedSensitiveText-D5aX1wQs.js → RedactedSensitiveText-DtYR94zZ.js} +2 -2
- package/dist/client/assets/{RenderErrorBoundary-DTEG6arv.js → RenderErrorBoundary-Dla4qj6V.js} +2 -2
- package/dist/client/assets/ScheduledTasksSettings-2vzTutJz.js +4 -0
- package/dist/client/assets/ScopedSwitch-BdMg8rKM.js +2 -0
- package/dist/client/assets/{SettingsPanels-Betza2Al.js → SettingsPanels-XjjE56Xl.js} +7 -7
- package/dist/client/assets/{SettingsPanels.logic-Dn2Jcxyy.js → SettingsPanels.logic-DSOfF88n.js} +2 -2
- package/dist/client/assets/{SettingsScopeNotice-CAaNSKvu.js → SettingsScopeNotice-um2bOG_J.js} +2 -2
- package/dist/client/assets/{T3ConnectAccountPages-DEqOE3hy.js → T3ConnectAccountPages-Dx0LK6U5.js} +2 -2
- package/dist/client/assets/{T3ConnectSidebarSignIn-C4jpzdPh.js → T3ConnectSidebarSignIn-2r05ubXZ.js} +2 -2
- package/dist/client/assets/{ThemeEditorPanel-BBkly3jP.js → ThemeEditorPanel-CnhjGelD.js} +3 -3
- package/dist/client/assets/{ThreadTerminalDrawer-Z7ArIuq0.js → ThreadTerminalDrawer-BzElqolI.js} +4 -4
- package/dist/client/assets/{UsageLimits-7-_nKQT_.js → UsageLimits-B_IIjpyx.js} +2 -2
- package/dist/client/assets/{Virtualizer-EvXC5PAR.js → Virtualizer-DItXd38b.js} +2 -2
- package/dist/client/assets/WorkspaceBreadcrumb-Y41aNu4D.js +2 -0
- package/dist/client/assets/WorkspacePageContainer-D3YV5jc4.js +2 -0
- package/dist/client/assets/{WorkspacePageHeader-DB9Z9OtR.js → WorkspacePageHeader-Dduxade-.js} +2 -2
- package/dist/client/assets/_chat-B4G7pIId.js +58 -0
- package/dist/client/assets/{_chat.index-CTfxLY4F.js → _chat.index-BGOR58rk.js} +2 -2
- package/dist/client/assets/{_chat.new-B_FNmP8f.js → _chat.new-CioC4l4P.js} +3 -3
- package/dist/client/assets/_chat.pull-requests-Cs7eiOH6.js +2 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-Du15a8Yu.js → abnfDiagram-VCTEODGH-l9yoycqs.js} +2 -2
- package/dist/client/assets/{alert-DUQHh6vz.js → alert-B49R80NU.js} +2 -2
- package/dist/client/assets/architecture-7GRP2DOG-B67w-l9F.js +1 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-DhXH9Bsf.js → architectureDiagram-5GKGNRK7-BQwAkSAo.js} +2 -2
- package/dist/client/assets/arrow-left-D1nB4UjJ.js +1 -0
- package/dist/client/assets/arrow-right-Cbg5uZyw.js +1 -0
- package/dist/client/assets/arrow-up-down-DRcJBavW.js +1 -0
- package/dist/client/assets/assets-CLIqG-m-.js +2 -0
- package/dist/client/assets/bell-D5jiydSo.js +1 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-CZ4PIO64.js → blockDiagram-I7D4REHJ-C1YTuxst.js} +2 -2
- package/dist/client/assets/blocks-mHGBm843.js +1 -0
- package/dist/client/assets/bot-Db9dBVz5.js +1 -0
- package/dist/client/assets/{browserHistoryStore-D6A_83JY.js → browserHistoryStore-D6dhsqE8.js} +2 -2
- package/dist/client/assets/{browserLinkTarget-BuFHp5RQ.js → browserLinkTarget-D0HujxdB.js} +2 -2
- package/dist/client/assets/{c4Diagram-7LVT6UL2-tMXW_Jy8.js → c4Diagram-7LVT6UL2-DpPcyaba.js} +2 -2
- package/dist/client/assets/calendar-clock-KAbrMUlv.js +1 -0
- package/dist/client/assets/channel-D8Is9vbt.js +2 -0
- package/dist/client/assets/chart-no-axes-column-CnM4ppv4.js +1 -0
- package/dist/client/assets/checkbox-WRJ0D_10.js +2 -0
- package/dist/client/assets/{chunk-4HAMMTFA-gISFFADw.js → chunk-4HAMMTFA-C0t_GKFv.js} +2 -2
- package/dist/client/assets/{chunk-75Z2AOVW-iWd1WVXJ.js → chunk-75Z2AOVW-B6rgeqZP.js} +2 -2
- package/dist/client/assets/{chunk-DU6HZSFF-hD69jU_T.js → chunk-DU6HZSFF-BuYM0Cu8.js} +2 -2
- package/dist/client/assets/{chunk-F27PBJKO-DnDFIjHp.js → chunk-F27PBJKO-CvPd3lcw.js} +2 -2
- package/dist/client/assets/{chunk-GMAD6QVW-Chr0sR5B.js → chunk-GMAD6QVW-DbBkxyCE.js} +2 -2
- package/dist/client/assets/{chunk-GVQU2GXP-D84Xc6Vy.js → chunk-GVQU2GXP-CVZeJiG5.js} +2 -2
- package/dist/client/assets/{chunk-IMKFNOWR-DOdemMNR.js → chunk-IMKFNOWR-CbY3DGV3.js} +2 -2
- package/dist/client/assets/{chunk-L3NEJ4N5-CILnb7VE.js → chunk-L3NEJ4N5-Bhkym4YW.js} +2 -2
- package/dist/client/assets/{chunk-OSK3NFVY-Bxpu9Oo4.js → chunk-OSK3NFVY-B89_sN-h.js} +2 -2
- package/dist/client/assets/{chunk-P2QGCYS3-75l6wJUu.js → chunk-P2QGCYS3-zeIYnZbd.js} +2 -2
- package/dist/client/assets/{chunk-POPQ4Y6H-jYZ1RdM0.js → chunk-POPQ4Y6H-Bv7ZWEJI.js} +2 -2
- package/dist/client/assets/{chunk-PWAF6VOD-DtONZJrC.js → chunk-PWAF6VOD-BnsKTwi6.js} +2 -2
- package/dist/client/assets/{chunk-SHT3W25Y-NY6-WqgC.js → chunk-SHT3W25Y-Daoidttm.js} +2 -2
- package/dist/client/assets/{chunk-SVP7TREG-CGG6Z85U.js → chunk-SVP7TREG-BK4Qxtm6.js} +2 -2
- package/dist/client/assets/{chunk-TICWLB2K-DzB7PtXF.js → chunk-TICWLB2K-CihSBYRG.js} +2 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-CxsiNRJs.js +2 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-CxsiNRJs.js +2 -0
- package/dist/client/assets/{collapsible-CLujF6F7.js → collapsible-DyaDJVJ5.js} +2 -2
- package/dist/client/assets/{color-picker-BG3Rpy98.js → color-picker-BWffD8SG.js} +2 -2
- package/dist/client/assets/{combobox-Cx4FP7Bk.js → combobox-zg5NNJOT.js} +2 -2
- package/dist/client/assets/{command-CVKxjYiJ.js → command-CBIpuXFt.js} +2 -2
- package/dist/client/assets/{connect-DeTNO4tO.js → connect-BVveo2H6.js} +2 -2
- package/dist/client/assets/{connect-agent-CTLxG7lp.js → connect-agent-Rlpt-C4T.js} +2 -2
- package/dist/client/assets/corner-left-up-DSgsQQJh.js +1 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-C3y7gjYM.js → cynefin-OW5HDTMX-BTvkQvHj.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-DEFegOUv.js → cynefinDiagram-5FMLGOSQ-glf_yMKF.js} +2 -2
- package/dist/client/assets/{dagre-GXQ25YYZ-C3YHw-ZL.js → dagre-GXQ25YYZ-XUkjXaQW.js} +2 -2
- package/dist/client/assets/device-Bu2mO4gL.js +2 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-B04fDyJ1.js → diagram-S7CK7UJ4-CiNxlSJZ.js} +2 -2
- package/dist/client/assets/{diagram-UQ7AKVKN-DJ5yQdqn.js → diagram-UQ7AKVKN-C4_9QuDF.js} +2 -2
- package/dist/client/assets/{diagram-VSXAHHWV-DwQn4LJH.js → diagram-VSXAHHWV-BoRcnfst.js} +2 -2
- package/dist/client/assets/{diagram-VX7I27RA-BFeEJB2L.js → diagram-VX7I27RA-g5AlZjEL.js} +2 -2
- package/dist/client/assets/{diagram-Z3DM3KII-DjNPPgna.js → diagram-Z3DM3KII-Crw_yJrX.js} +2 -2
- package/dist/client/assets/{dialog-BBidAZq_.js → dialog-C5PVc2Dc.js} +2 -2
- package/dist/client/assets/{diffRendering-BcgWZBc6.js → diffRendering-DVfiIxj4.js} +2 -2
- package/dist/client/assets/{discovery-list-BOhsy2yk.js → discovery-list-Bb2RP3-9.js} +2 -2
- package/dist/client/assets/{dist-D-bAcBTo.js → dist-BTyn8sKm.js} +3 -3
- package/dist/client/assets/download-BrSkg4EE.js +1 -0
- package/dist/client/assets/{draft-input-Dk-JXf0v.js → draft-input-CwdApNsc.js} +2 -2
- package/dist/client/assets/{duoViewer-DELDCd_3.js → duoViewer-BsAzTMk3.js} +2 -2
- package/dist/client/assets/dynamic-COZhF9Vt.js +3 -0
- package/dist/client/assets/earth-D0ZhOX9I.js +1 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-R_zFp3Q4.js → ebnfDiagram-PWID7BFC-Co02q3t2.js} +2 -2
- package/dist/client/assets/ellipsis-Dze-H3uy.js +1 -0
- package/dist/client/assets/{embeddedScripts-S6heIv6s.js → embeddedScripts-cxUGD6UP.js} +2 -2
- package/dist/client/assets/{empty-B3wHlMsI.js → empty-B9cgefGv.js} +2 -2
- package/dist/client/assets/entities-B0tFBQjY.js +2 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-DgSVOlTI.js → erDiagram-RLTQ6QDP-BuoWr1gw.js} +2 -2
- package/dist/client/assets/eventmodeling-NTZA5JFV-jDgS08dP.js +1 -0
- package/dist/client/assets/eye-OVEPp8Os.js +1 -0
- package/dist/client/assets/file-search-Y-7Ql86o.js +1 -0
- package/dist/client/assets/{fileLinks-M_i1pQMr.js → fileLinks-BBnShh-N.js} +2 -2
- package/dist/client/assets/{fileTreeExpansion-BoH-LpwD.js → fileTreeExpansion-DaFd8SRp.js} +2 -2
- package/dist/client/assets/flowDiagram-HODETNUW-DsHnGCQL.js +1 -0
- package/dist/client/assets/folder-git-2-DdgpEuW8.js +1 -0
- package/dist/client/assets/folder-open-B9DmXcog.js +1 -0
- package/dist/client/assets/folder-plus-CLFJj-Gh.js +1 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-CsDp8eOV.js → ganttDiagram-EL5Y4UJY-CMAUkeMs.js} +2 -2
- package/dist/client/assets/{getDiffFileInput-y6l8uCrc.js → getDiffFileInput-D0WCXPuc.js} +2 -2
- package/dist/client/assets/git-branch-SJsNyJlB.js +1 -0
- package/dist/client/assets/{gitGraph-4MIJSDKK-ByZ8Ddcu.js → gitGraph-4MIJSDKK-B22BskFD.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-QkPoZOxP.js → gitGraphDiagram-WWUBYQGX-D9yz6pSR.js} +2 -2
- package/dist/client/assets/grip-vertical-_2pxkeEI.js +1 -0
- package/dist/client/assets/{guideRunStore-Ca6LGvkb.js → guideRunStore-CPFfk-BJ.js} +2 -2
- package/dist/client/assets/hard-drive-DMfAIp4-.js +1 -0
- package/dist/client/assets/history-C7dJNEkM.js +1 -0
- package/dist/client/assets/house-BpsJcs6J.js +1 -0
- package/dist/client/assets/{htmlRender-Bs_dTcPz.js → htmlRender-Cdm053qU.js} +2 -2
- package/dist/client/assets/index-TkyxWt2Q.js +3 -0
- package/dist/client/assets/{info-A6RAGUB7-DWgAQmsU.js → info-A6RAGUB7-CicHHROU.js} +1 -1
- package/dist/client/assets/{infoDiagram-27XIBGKW-DqBsTg-0.js → infoDiagram-27XIBGKW-DAFhUj2V.js} +2 -2
- package/dist/client/assets/{input-BOT1WFGI.js → input-CN9xdIYL.js} +2 -2
- package/dist/client/assets/{input-group-13zF6rZl.js → input-group-CV0ZpOg5.js} +2 -2
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-DhvmZSIn.js → ishikawaDiagram-5VMMS53U-CBEywTMi.js} +2 -2
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-sBAsW8ZW.js → journeyDiagram-3NMN7TZE-BIKjvqRL.js} +2 -2
- package/dist/client/assets/{kanban-definition-UXKFOSKX-7pB8050L.js → kanban-definition-UXKFOSKX-XOFfprGt.js} +2 -2
- package/dist/client/assets/kbd-Fa27fInv.js +2 -0
- package/dist/client/assets/{keybindings-B4uuYLfE.js → keybindings-C81QSEVL.js} +2 -2
- package/dist/client/assets/keyboard-C0H4XsBS.js +1 -0
- package/dist/client/assets/{lazyRouteComponent-C2UuNVTE.js → lazyRouteComponent-BTBK1UDq.js} +2 -2
- package/dist/client/assets/{line-CYcVbD9r.js → line-CEyB3WPo.js} +2 -2
- package/dist/client/assets/{link-DnyZixWB.js → link-C1pmqztR.js} +2 -2
- package/dist/client/assets/link-CsVCGX_A.js +1 -0
- package/dist/client/assets/{linkedPrompt-Cjzkkr18.js → linkedPrompt-B6Q0Cmi6.js} +2 -2
- package/dist/client/assets/list-BKOLPymO.js +1 -0
- package/dist/client/assets/main-CJvawsJJ.js +27 -0
- package/dist/client/assets/main-DjXoj7An.css +2 -0
- package/dist/client/assets/{mediaReference-DCRMHOD7.js → mediaReference-o1DLUGKI.js} +2 -2
- package/dist/client/assets/{mediaSource-C-YyAgza.js → mediaSource-Cfv5uiFj.js} +2 -2
- package/dist/client/assets/{mermaid-parser.core-CUhkd3Km.js → mermaid-parser.core-BT2QN4a3.js} +4 -4
- package/dist/client/assets/{mermaid.core-7L34oYGP.js → mermaid.core-EPDLhovC.js} +5 -5
- package/dist/client/assets/message-circle-question-mark-0PixhBRe.js +1 -0
- package/dist/client/assets/message-square-dashed-jX8EWVKo.js +1 -0
- package/dist/client/assets/message-square-xfL83Fxi.js +1 -0
- package/dist/client/assets/messages-square-DwkvqiPv.js +1 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-CpfzOIsM.js → mindmap-definition-YA3MSWOX-aqL3ALYK.js} +2 -2
- package/dist/client/assets/number-field-BiWh0ioY.js +2 -0
- package/dist/client/assets/{observeResize-CK9qVTLF.js → observeResize-DBJpB0Hu.js} +2 -2
- package/dist/client/assets/{onboarding-DWVdcMTo.js → onboarding-gue-HaiI.js} +2 -2
- package/dist/client/assets/{openFileInPreview-DsWLDsnf.js → openFileInPreview-BuKYchiT.js} +2 -2
- package/dist/client/assets/{p4ProjectFile-DVeZFEli.js → p4ProjectFile-DH7qoFHx.js} +2 -2
- package/dist/client/assets/{packet-AYTQ26CC-TJIgXg7Z.js → packet-AYTQ26CC-BkyzJMIf.js} +1 -1
- package/dist/client/assets/{pair-Ds7MhGzA.js → pair-DESVHftX.js} +2 -2
- package/dist/client/assets/palette-DvhXYFMC.js +1 -0
- package/dist/client/assets/panel-left-DCz3M7jv.js +1 -0
- package/dist/client/assets/{panel-tab-close-button-CeVf2Cp1.js → panel-tab-close-button-DKugpobT.js} +2 -2
- package/dist/client/assets/panels-top-left-C1xu8Xiu.js +1 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-BWjyJv0r.js → pegDiagram-XKGWAZYB-DilAu2aa.js} +2 -2
- package/dist/client/assets/{phoneViewer-4yzlTfRU.js → phoneViewer-xqyGZwKn.js} +2 -2
- package/dist/client/assets/{pie-WAS4IAKB-DI1xrBNC.js → pie-WAS4IAKB-DgPx2D64.js} +1 -1
- package/dist/client/assets/{pieDiagram-E7YTZNPT-D5BJ4dMD.js → pieDiagram-E7YTZNPT-D9PFl5qt.js} +2 -2
- package/dist/client/assets/{pierre-icons-C4_Is1e6.js → pierre-icons-BVuUNHGs.js} +2 -2
- package/dist/client/assets/popover-aTTlR6NX.js +2 -0
- package/dist/client/assets/{preview-ChiUlq6M.js → preview-8KYmxrad.js} +2 -2
- package/dist/client/assets/{preview-BXSjnvc2.js → preview-DgLUnqIn.js} +2 -2
- package/dist/client/assets/{previewMiniPlayerStore-BWBB4WZZ.js → previewMiniPlayerStore-CZUX4gpf.js} +2 -2
- package/dist/client/assets/primary-GHQewxsn.js +2 -0
- package/dist/client/assets/primaryCloudLinkState-BS4O3v7M.js +2 -0
- package/dist/client/assets/{projectFilesQueryState-DLmHVuBp.js → projectFilesQueryState-DmDFr3yJ.js} +2 -2
- package/dist/client/assets/projectScriptEditor-DxxYqdMP.js +2 -0
- package/dist/client/assets/{pullRequestDetail.logic-CiIqeGLs.js → pullRequestDetail.logic-C6mxjZFd.js} +4 -4
- package/dist/client/assets/{pullRequestReviewStore-Ckm9o--D.js → pullRequestReviewStore-VIPIhGsh.js} +2 -2
- package/dist/client/assets/pullRequests-DEHxyBeZ.js +2 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-USH3mFeD.js → quadrantDiagram-AXDQQJYC-36GcvWjt.js} +2 -2
- package/dist/client/assets/queries-BAbZ6wRj.js +2 -0
- package/dist/client/assets/{query-DG-FU00d.js → query-gfas_Faw.js} +2 -2
- package/dist/client/assets/{radar-RG4KPBEZ-BgwqseQY.js → radar-RG4KPBEZ-B_1p1XBS.js} +1 -1
- package/dist/client/assets/radio-group-BcuemB8E.js +2 -0
- package/dist/client/assets/{railroad-74A4TZTK-lU1hozFq.js → railroad-74A4TZTK-DjaD7aBa.js} +1 -1
- package/dist/client/assets/railroad-abnf-HS5TGJTU-CA1GF-5t.js +1 -0
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-Beda5tl-.js +1 -0
- package/dist/client/assets/railroad-peg-WCYAUIDC-D2CRVbbY.js +1 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-BX2DBjFX.js → railroadDiagram-O6MQD6OU-BfFU3IUU.js} +2 -2
- package/dist/client/assets/{renderScheduler-e5LS9_r8.js → renderScheduler-DE6WzqZi.js} +2 -2
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-Bp2BwkCA.js → requirementDiagram-BXWQKSXE-WVgmezGx.js} +2 -2
- package/dist/client/assets/{rightPanelStore-Dnc28mSJ.js → rightPanelStore-CsSGBQ8t.js} +2 -2
- package/dist/client/assets/rotate-ccw-CyPuoUiH.js +1 -0
- package/dist/client/assets/rotate-cw-B20Q7RJJ.js +1 -0
- package/dist/client/assets/runtime-C9evwoB9.js +2 -0
- package/dist/client/assets/runtime-CxeCZPZ3.js +6 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-BklNNjEB.js → sankeyDiagram-P5KCCOFB-BsCi2aYb.js} +2 -2
- package/dist/client/assets/scheduledTasksSettings.logic-Bin7R9R3.js +3 -0
- package/dist/client/assets/{scroll-area-Cj3OF_L_.js → scroll-area-CRoS-lxP.js} +2 -2
- package/dist/client/assets/{select-BDMo6Fqt.js → select-BXOHHCMJ.js} +2 -2
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-ufTHSg4p.js → sequenceDiagram-WJ2MYXX4-C_qj_Szb.js} +2 -2
- package/dist/client/assets/{server-DNo9AqHW.js → server-BBIVfjrf.js} +2 -2
- package/dist/client/assets/session-DZH3pyoG.js +2 -0
- package/dist/client/assets/session-logic-RDMPhilH.js +13 -0
- package/dist/client/assets/{settings-DxGY3RT5.js → settings-0qbtr9oy.js} +2 -2
- package/dist/client/assets/settings-2-DmZK5Wif.js +1 -0
- package/dist/client/assets/settings-Br2yM9q3.js +1 -0
- package/dist/client/assets/settings.appearance-CtG85Hzv.js +2 -0
- package/dist/client/assets/settings.archived-D1CPem1-.js +2 -0
- package/dist/client/assets/settings.computer-use-DvBtreaX.js +2 -0
- package/dist/client/assets/settings.connections-CeSH1Y-S.js +2 -0
- package/dist/client/assets/settings.decisions-FBz5pyct.js +2 -0
- package/dist/client/assets/settings.diagnostics-Ct39tZgQ.js +2 -0
- package/dist/client/assets/settings.general-YgAeT2ec.js +2 -0
- package/dist/client/assets/settings.integrations-DIuNSxXg.js +2 -0
- package/dist/client/assets/{settings.keybindings-CITYXalz.js → settings.keybindings-BHpTOm8T.js} +2 -2
- package/dist/client/assets/{settings.open-source-licenses-CTznEYnQ.js → settings.open-source-licenses-Dlp4u1NR.js} +2 -2
- package/dist/client/assets/settings.projects-BZP8BJZK.js +4 -0
- package/dist/client/assets/settings.providers-Dad6hRGg.js +3 -0
- package/dist/client/assets/settings.scheduled-tasks-B1Q7wnRI.js +2 -0
- package/dist/client/assets/settings.snap-shot-ZBGDHF90.js +2 -0
- package/dist/client/assets/settings.source-control-BXuO43FQ.js +2 -0
- package/dist/client/assets/{settings.storage-C4lRhJsq.js → settings.storage-Dl3cI_3U.js} +2 -2
- package/dist/client/assets/settingsLayout-DKjAOwp4.js +3 -0
- package/dist/client/assets/shield-question-mark-Cmz7w9_M.js +1 -0
- package/dist/client/assets/{sidebar-Bulbb3cX.js → sidebar-D6V5N0ZC.js} +2 -2
- package/dist/client/assets/{sidebarProjectGrouping-DEvzxecx.js → sidebarProjectGrouping-DVAIOuq4.js} +2 -2
- package/dist/client/assets/{skeleton-BFPHmDcq.js → skeleton-DuFqUDDw.js} +2 -2
- package/dist/client/assets/{sortable.esm-CHiRbsvI.js → sortable.esm-DdMawn0Y.js} +2 -2
- package/dist/client/assets/{sourceControl-DfhPxa0l.js → sourceControl-U8x7jR8g.js} +2 -2
- package/dist/client/assets/{spinner-rP6J82Of.js → spinner-C6X42yHv.js} +2 -2
- package/dist/client/assets/square-pen-Dew4fHbM.js +1 -0
- package/dist/client/assets/{standalone-page-BkHTM3MP.js → standalone-page-hDUmjFb0.js} +2 -2
- package/dist/client/assets/{stateDiagram-D77RDMKH-UnviM1_a.js → stateDiagram-D77RDMKH-FdsqVfsR.js} +2 -2
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-PvZEFfKe.js +2 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-CpD6LDbC.js → swimlanes-42K2YHIH-D65Z1Od_.js} +2 -2
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DIDrEY3U.js +9 -0
- package/dist/client/assets/{terminalSessions-C9u_KQdo.js → terminalSessions-DhPFaHUr.js} +2 -2
- package/dist/client/assets/text-search-Cchv2p-9.js +1 -0
- package/dist/client/assets/{textarea-D7qN_9_U.js → textarea-CCFZJhy-.js} +2 -2
- package/dist/client/assets/{themePalette-au2ZXbqB.js → themePalette-CxbxrCEH.js} +3 -3
- package/dist/client/assets/threadSort-TlzPAte9.js +2 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-CNy-4Mtq.js → timeline-definition-24CTP7MA-DrXF0NCa.js} +2 -2
- package/dist/client/assets/toast-B-l3XS_F.js +2 -0
- package/dist/client/assets/{toggle-4i71sOFB.js → toggle-DOFhC9C7.js} +2 -2
- package/dist/client/assets/{toggle-group-BtpeJU3C.js → toggle-group-B1ghB_yR.js} +2 -2
- package/dist/client/assets/tooltip-CYNXW1Ow.js +2 -0
- package/dist/client/assets/{treeView-Q6P3EWNA-fz73DkUg.js → treeView-Q6P3EWNA-D6bZIPSq.js} +1 -1
- package/dist/client/assets/{treemap-WGGIJYW6-CHp0lk61.js → treemap-WGGIJYW6-CJr_vK1t.js} +1 -1
- package/dist/client/assets/{usage-BoYlRHNx.js → usage-1aJeDf79.js} +2 -2
- package/dist/client/assets/{usageAccess-BmfDNhp2.js → usageAccess-9ld15_dP.js} +2 -2
- package/dist/client/assets/{usageFormat-DdjdHqj5.js → usageFormat-D7uBkeaA.js} +2 -2
- package/dist/client/assets/{usageShortcuts-RpypNfqZ.js → usageShortcuts--2waLBa-.js} +2 -2
- package/dist/client/assets/{use-atom-command-Bc7LgQy1.js → use-atom-command-DdGPgtPS.js} +2 -2
- package/dist/client/assets/{useAriaLabelledBy-B_3SmrJo.js → useAriaLabelledBy-Bp_qmGgf.js} +2 -2
- package/dist/client/assets/{useHandleNewThread-Csguf2GC.js → useHandleNewThread-DtCuKpGU.js} +2 -2
- package/dist/client/assets/{useLocation-DaTcl6iI.js → useLocation-yjRHv-GS.js} +2 -2
- package/dist/client/assets/useNavigate-DfvN7ISg.js +2 -0
- package/dist/client/assets/{useNavigateBack-C43_t49N.js → useNavigateBack-NMRi6phK.js} +2 -2
- package/dist/client/assets/{useParams-s9hrFQQQ.js → useParams-OFLEf5Ub.js} +2 -2
- package/dist/client/assets/{usePermissionStatus-CCpQkKk1.js → usePermissionStatus-D4K04nHy.js} +2 -2
- package/dist/client/assets/usePullRequestActions-DyXuVFpA.js +3 -0
- package/dist/client/assets/{useRegisterFieldControl-BVraoamc.js → useRegisterFieldControl-QWoLGfik.js} +2 -2
- package/dist/client/assets/useScopedModelAvailability-udJ9IYpQ.js +2 -0
- package/dist/client/assets/useSettings-C1hmCYRR.js +3 -0
- package/dist/client/assets/{useT3ConnectAuthPrompt-D3ARnr92.js → useT3ConnectAuthPrompt-NQ5SmnTg.js} +2 -2
- package/dist/client/assets/utils-Nv21__t3.js +37 -0
- package/dist/client/assets/vcsRefInvalidation-CEbBuVCf.js +2 -0
- package/dist/client/assets/{vennDiagram-4TSXK5OY-BBpGz6rf.js → vennDiagram-4TSXK5OY-BJt3j1aO.js} +2 -2
- package/dist/client/assets/{wardley-WFR3VGLG-M4Al1qCV.js → wardley-WFR3VGLG-D_UZZZRB.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-V-_mOkU8.js → wardleyDiagram-VM6X3IG4-gZMVt8-K.js} +2 -2
- package/dist/client/assets/{welcome-Bok5fRqT.js → welcome-BRjof1AW.js} +2 -2
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-CZOR99Bj.js → xychartDiagram-S5SC5T6Z-BwaDo7WT.js} +2 -2
- package/dist/client/index.html +1 -1
- package/package.json +1 -1
- package/dist/AcpMcpStdioBridge-Ch5bMyss.mjs +0 -4
- package/dist/client/assets/ChatGptUsageButton-GxPReM3u.js +0 -2
- package/dist/client/assets/ChatMarkdown-DOdrk8tK.js +0 -65
- package/dist/client/assets/DiffFileTree-D3P47wbG.js +0 -2
- package/dist/client/assets/DiffPanel-cvlTVhB4.js +0 -2
- package/dist/client/assets/ProjectDefaultsSettings-Cu80XFdb.js +0 -2
- package/dist/client/assets/ProjectIconPickerDialog-Dwmv78OH.js +0 -2
- package/dist/client/assets/ScheduledTasksSettings-Cp8h_lNS.js +0 -4
- package/dist/client/assets/ScopedSwitch-CLAFXjj6.js +0 -2
- package/dist/client/assets/WorkspaceBreadcrumb-fx0ZD7ay.js +0 -2
- package/dist/client/assets/WorkspacePageContainer-DFsaHi02.js +0 -2
- package/dist/client/assets/_chat-BerxDjpp.js +0 -58
- package/dist/client/assets/_chat.pull-requests-BwpBKnt3.js +0 -2
- package/dist/client/assets/architecture-7GRP2DOG-CT4QCEL3.js +0 -1
- package/dist/client/assets/arrow-left-BiKrB-pT.js +0 -1
- package/dist/client/assets/arrow-right-DWAwZU0q.js +0 -1
- package/dist/client/assets/arrow-up-down-CfYH5v22.js +0 -1
- package/dist/client/assets/assets-DwywdbuJ.js +0 -2
- package/dist/client/assets/bell-C3RUvq1T.js +0 -1
- package/dist/client/assets/blocks-CoLUV11Q.js +0 -1
- package/dist/client/assets/bot-CjcO3F5G.js +0 -1
- package/dist/client/assets/calendar-clock-CJyS1C-x.js +0 -1
- package/dist/client/assets/channel-kQEwHVv9.js +0 -2
- package/dist/client/assets/chart-no-axes-column-B3ZqbY05.js +0 -1
- package/dist/client/assets/checkbox-Cw_SXlJ5.js +0 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-BO_GIPO1.js +0 -2
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-BO_GIPO1.js +0 -2
- package/dist/client/assets/corner-left-up-D653FjvK.js +0 -1
- package/dist/client/assets/device-DrIICsXu.js +0 -2
- package/dist/client/assets/download-CNXPbBhc.js +0 -1
- package/dist/client/assets/dynamic-BRlOHH6g.js +0 -3
- package/dist/client/assets/earth-C1f0Qxwi.js +0 -1
- package/dist/client/assets/ellipsis-0J7zX441.js +0 -1
- package/dist/client/assets/entities-yblphBg3.js +0 -2
- package/dist/client/assets/eventmodeling-NTZA5JFV-bjJqzJYE.js +0 -1
- package/dist/client/assets/eye-CmsLgU-5.js +0 -1
- package/dist/client/assets/file-search-ClaIV60V.js +0 -1
- package/dist/client/assets/flowDiagram-HODETNUW-CsPXFMK4.js +0 -1
- package/dist/client/assets/folder-git-2-BxqGR5ht.js +0 -2
- package/dist/client/assets/folder-open-gQZmKQ4n.js +0 -1
- package/dist/client/assets/folder-plus-BVmedEeH.js +0 -1
- package/dist/client/assets/git-branch-Ba9jLbPu.js +0 -1
- package/dist/client/assets/grip-vertical-BmIJSASv.js +0 -1
- package/dist/client/assets/hard-drive-hWUfbbG9.js +0 -1
- package/dist/client/assets/history-jvN7Bdkc.js +0 -1
- package/dist/client/assets/house-ozmwce4p.js +0 -1
- package/dist/client/assets/index-FZqrCEhr.js +0 -3
- package/dist/client/assets/kbd-BR8-VeaN.js +0 -2
- package/dist/client/assets/keyboard-_YjrW4PX.js +0 -1
- package/dist/client/assets/link-BcMcYjHb.js +0 -1
- package/dist/client/assets/list-DEjg_Q5H.js +0 -1
- package/dist/client/assets/main-BQLZB-ZD.css +0 -2
- package/dist/client/assets/main-Ch0n0whg.js +0 -26
- package/dist/client/assets/message-circle-question-mark-DzWFFMDp.js +0 -1
- package/dist/client/assets/message-square-BqGKFtP8.js +0 -1
- package/dist/client/assets/message-square-dashed-FPkUUYSB.js +0 -1
- package/dist/client/assets/messages-square-BNeF2306.js +0 -2
- package/dist/client/assets/number-field-DsVu9T6C.js +0 -2
- package/dist/client/assets/palette-JCVMAFVd.js +0 -1
- package/dist/client/assets/panel-left-STqObAvQ.js +0 -1
- package/dist/client/assets/panels-top-left-B90U_rdS.js +0 -1
- package/dist/client/assets/popover-UOfX8iZ4.js +0 -2
- package/dist/client/assets/primary-BubJSDIO.js +0 -2
- package/dist/client/assets/primaryCloudLinkState-CFnZkCiA.js +0 -2
- package/dist/client/assets/projectScriptEditor-_TwHfcHY.js +0 -2
- package/dist/client/assets/pullRequests-C0Gr2876.js +0 -2
- package/dist/client/assets/queries-DbiotSzd.js +0 -2
- package/dist/client/assets/radio-group-DhxCP5q0.js +0 -2
- package/dist/client/assets/railroad-abnf-HS5TGJTU-DRzBu_EH.js +0 -1
- package/dist/client/assets/railroad-ebnf-LZEXJU2U-BuQh-rCG.js +0 -1
- package/dist/client/assets/railroad-peg-WCYAUIDC-DH1f3-__.js +0 -1
- package/dist/client/assets/rotate-ccw-98iN1bsB.js +0 -1
- package/dist/client/assets/rotate-cw-DdW3sRx4.js +0 -1
- package/dist/client/assets/runtime-BUB2ex14.js +0 -2
- package/dist/client/assets/runtime-BoEmkhOe.js +0 -6
- package/dist/client/assets/scheduledTasksSettings.logic-Bk1lq8Ri.js +0 -3
- package/dist/client/assets/session-CyPECDtf.js +0 -2
- package/dist/client/assets/session-logic-BBZj8pNB.js +0 -13
- package/dist/client/assets/settings-2-C-KVP40_.js +0 -1
- package/dist/client/assets/settings-D62zpRkD.js +0 -1
- package/dist/client/assets/settings.appearance-C-MzWdtB.js +0 -2
- package/dist/client/assets/settings.archived-BZ0wU-2j.js +0 -2
- package/dist/client/assets/settings.connections-B-h_wi7q.js +0 -2
- package/dist/client/assets/settings.diagnostics-ByUhN_HC.js +0 -2
- package/dist/client/assets/settings.general-DodDmaXX.js +0 -2
- package/dist/client/assets/settings.integrations-Dq9yt9c-.js +0 -2
- package/dist/client/assets/settings.projects-Bj9oI9dE.js +0 -4
- package/dist/client/assets/settings.providers-BPb4TbH8.js +0 -3
- package/dist/client/assets/settings.scheduled-tasks-TxnTVd7r.js +0 -2
- package/dist/client/assets/settings.snap-shot-DZaxUAEE.js +0 -2
- package/dist/client/assets/settings.source-control-BlHoYUC0.js +0 -2
- package/dist/client/assets/settingsLayout-De_r3pyr.js +0 -3
- package/dist/client/assets/shield-question-mark-B5w7j5aC.js +0 -1
- package/dist/client/assets/square-pen-DYBPSam-.js +0 -1
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CJW4DyfF.js +0 -2
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-Buz7ig8b.js +0 -9
- package/dist/client/assets/text-search-DrO_MCzY.js +0 -1
- package/dist/client/assets/threadSort-R2JvSO3D.js +0 -2
- package/dist/client/assets/toast-CIGvRti2.js +0 -2
- package/dist/client/assets/tooltip-Ciaezkl4.js +0 -2
- package/dist/client/assets/useNavigate-CnhAAl0Z.js +0 -2
- package/dist/client/assets/usePullRequestActions-CiF7znkV.js +0 -3
- package/dist/client/assets/useScopedModelAvailability-kFNRNx2C.js +0 -2
- package/dist/client/assets/useSettings-CNd8OM7A.js +0 -3
- package/dist/client/assets/utils-geC9CGP4.js +0 -37
- package/dist/client/assets/vcsRefInvalidation-DMpp-BNA.js +0 -2
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Jb as n,Jl as r,Jn as i,Kn as a,Lc as o,Of as s,Ql as c,Rc as l,Sx as u,Tl as d,Un as f,Wn as p,Xn as m,_l as h,_u as g,ar as _,bu as v,er as y,eu as b,ey as x,fh as S,l as C,ma as w,or as T,ql as E,qn as D,sr as O,su as k,t as A,wl as j,xu as M,yu as N}from"./utils-geC9CGP4.js";import{t as P}from"./arrow-down-DvRecXuy.js";import{t as F}from"./check-Cmy7pM2Y.js";import{t as I}from"./ellipsis-vertical-fYTS1grT.js";import{t as L}from"./minus-C7W28oE7.js";import{t as ee}from"./monitor-Ddj8MK6z.js";import{t as R}from"./plus-Cr075-cy.js";import{t as z}from"./x-CSwbgjBe.js";import{U as te}from"./runtime-BoEmkhOe.js";import{w as ne}from"./entities-yblphBg3.js";import{a as B,n as re,t as ie}from"./tooltip-Ciaezkl4.js";import{a as V,r as ae,t as oe}from"./number-field-DsVu9T6C.js";import{a as H,c as se,i as ce,o as U,r as le,s as W,t as G}from"./select-BDMo6Fqt.js";import{t as ue}from"./spinner-rP6J82Of.js";import{i as K}from"./toast-CIGvRti2.js";import{D as de,E as fe,J as pe,c as me,o as he,r as ge,s as q,x as J}from"./useSettings-CNd8OM7A.js";import{f as _e}from"./server-DNo9AqHW.js";import{i as ve,n as ye}from"./session-CyPECDtf.js";import{t as be}from"./use-atom-command-Bc7LgQy1.js";import{t as xe}from"./env-wK1YYxA8.js";import{t as Se}from"./input-BOT1WFGI.js";import{a as Ce,c as we,i as Te,n as Ee,o as De,r as Oe,s as ke,t as Ae}from"./dialog-BBidAZq_.js";import{i as je,t as Me}from"./device-DrIICsXu.js";import{a as Ne,c as Pe,i as Fe,n as Ie,o as Le,s as Re,t as ze}from"./DeviceSetup-kaQqI-00.js";import{t as Be}from"./AnimatedHeight-BwS0L5jd.js";import{i as Ve,n as He}from"./Icons-BlUgSxml.js";import{t as Ue}from"./preview-ChiUlq6M.js";import{a as We,i as Ge,o as Ke,t as qe}from"./popover-UOfX8iZ4.js";import{C as Je,I as Ye,N as Xe,a as Y,c as Ze,i as Qe,r as $e,s as et,z as tt}from"./settingsLayout-De_r3pyr.js";import{Ar as nt,Dr as rt,Er as it,Ji as at,Or as ot,Tr as st,Yi as ct,Zo as lt,_o as ut,kr as dt,na as ft,or as X,wa as pt,wr as mt}from"./main-Ch0n0whg.js";import{t as ht}from"./ProjectDefaultsSettings-Cu80XFdb.js";import{t as gt}from"./draft-input-Dk-JXf0v.js";import{t as _t}from"./ScopedSwitch-CLAFXjj6.js";import{n as vt,r as yt,t as bt}from"./usePermissionStatus-CCpQkKk1.js";var Z=u(),Q=e(w(),1);function xt(e){let t=(0,Z.c)(27),{tools:n,action:r,kind:i,owner:a,error:o}=e,s=i?n?.[i]:void 0,c;t[0]===s?c=t[1]:(c=s?.runningVersion??(s?.installedVersions.includes(s.requiredVersion)?s.requiredVersion:s?.installedVersions.toSorted(St).at(-1)),t[0]=s,t[1]=c);let l=c,u=i===`hub`?`Device hub`:`Agent device`,d=i?`${u}: ${l?`version ${l}`:s?`not installed`:`version unknown`}. Show details`:void 0,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(O,{tone:`muted`}),t[2]=f):f=t[2];let p=i?l?`v${l}`:s?`Not installed`:`Version unknown`:o?`Versions unavailable`:`Versions`,m;t[3]!==d||t[4]!==p?(m=(0,Q.jsx)(Ke,{"aria-label":d,render:f,children:p}),t[3]=d,t[4]=p,t[5]=m):m=t[5];let h=i?u:`Device tools`,g;t[6]===h?g=t[7]:(g=(0,Q.jsx)(We,{children:h}),t[6]=h,t[7]=g);let _;t[8]!==i||t[9]!==u||t[10]!==n?(_=n?(0,Q.jsx)(`div`,{className:`mt-4 divide-y divide-border/50`,children:[[`Device hub`,n.hub],[`Agent device`,n.agent]].filter(e=>{let[t]=e;return!i||t===u}).map(e=>{let[t,n]=e;return(0,Q.jsxs)(`div`,{className:`space-y-2 py-3 first:pt-0 last:pb-0`,children:[i?null:(0,Q.jsx)(`p`,{className:`text-xs font-medium`,children:t}),(0,Q.jsxs)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-6 gap-y-1 text-xs`,children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Running`}),(0,Q.jsx)(`dd`,{className:`text-right font-mono`,children:n.runningVersion??`Not running`}),(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Required`}),(0,Q.jsx)(`dd`,{className:`text-right font-mono`,children:n.requiredVersion}),(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Installed`}),(0,Q.jsx)(`dd`,{className:`text-right font-mono break-words`,children:n.installedVersions.join(`, `)||`None`})]})]},t)})}):(0,Q.jsx)(`p`,{className:`mt-3 text-xs text-muted-foreground`,children:`Versions have not been checked.`}),t[8]=i,t[9]=u,t[10]=n,t[11]=_):_=t[11];let v=a?`Managed by ${a}. `:``,y;t[12]===v?y=t[13]:(y=(0,Q.jsxs)(`p`,{className:`mt-4 border-t border-border/50 pt-3 text-xs text-muted-foreground`,children:[v,`Tools update automatically on this host when needed.`]}),t[12]=v,t[13]=y);let b;t[14]===o?b=t[15]:(b=o?(0,Q.jsx)(`p`,{role:`status`,className:`mt-2 text-xs text-destructive`,children:o}):null,t[14]=o,t[15]=b);let x;t[16]===r?x=t[17]:(x=r?(0,Q.jsx)(`div`,{className:`mt-3`,children:r}):null,t[16]=r,t[17]=x);let S;t[18]!==y||t[19]!==b||t[20]!==x||t[21]!==g||t[22]!==_?(S=(0,Q.jsxs)(Ge,{align:`end`,width:`md`,children:[g,_,y,b,x]}),t[18]=y,t[19]=b,t[20]=x,t[21]=g,t[22]=_,t[23]=S):S=t[23];let C;return t[24]!==S||t[25]!==m?(C=(0,Q.jsxs)(qe,{children:[m,S]}),t[24]=S,t[25]=m,t[26]=C):C=t[26],C}function St(e,t){return e.localeCompare(t,void 0,{numeric:!0})}var $=e(t(),1);function Ct(e,t,n,r=t){let i=(e,t)=>e.target===t.target&&e.port===t.port&&e.identityFile===t.identityFile,a=t=>{let n=e.filter(e=>i(e,t));if(n.length>1)throw Error(`Multiple hosts match this SSH destination. Select the environment to edit its hosts.`);return n[0]},o=e.find(e=>e.id===r.id)??a(r)??(n?void 0:a(t));return n?e.filter(e=>e.id!==o?.id):o?e.map(e=>e.id===o.id?{...t,id:o.id}:e):[...e,t]}function wt(e){let t=(0,Z.c)(4),{platforms:n}=e,r;t[0]===n?r=t[1]:(r=n.map(Tt),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:r}),t[2]=r,t[3]=i),i}function Tt(e){return(0,Q.jsxs)(ie,{children:[(0,Q.jsxs)(B,{render:(0,Q.jsx)(`span`,{tabIndex:0,className:`inline-flex items-center gap-1`}),children:[e.available?(0,Q.jsx)(F,{className:`size-3`}):(0,Q.jsx)(L,{className:`size-3`}),e.platform===`ios`?`iOS`:`Android`,` `,e.available?`available`:`unavailable`]}),(0,Q.jsx)(re,{children:e.reason??(e.platform===`ios`?`iOS available`:`Android available`)})]},e.platform)}var Et=S(k);function Dt(e){let{identityFile:t,...n}=e;return Et({...n,...t?.trim()?{identityFile:t.trim()}:{}})}function Ot(e){return JSON.stringify([e.target.trim(),e.port,e.identityFile?.trim()||void 0])}async function kt(e,t,n,r){await Promise.all(e.map(async e=>{r(e.environmentId,{status:`pending`});try{if(!e.connected)throw Error(`Environment disconnected`);let i=await n(e.environmentId,t);r(e.environmentId,i.kind===`local`?{status:`local`}:{status:`connected`,platforms:i.platforms,...i.tools?{tools:i.tools}:{}})}catch(t){r(e.environmentId,{status:`failed`,error:t instanceof Error?t.message:String(t)})}}))}function At(e){let t=be(Me.testHost,{reportFailure:!1}),[n,r]=(0,$.useState)({}),i=(0,$.useRef)(new Set);return{checks:n,testConnection:async n=>{let a=Ot(n);if(i.current.has(a))return;i.current.add(a),r(e=>({...e,[a]:{}}));let o={};try{return await kt(e,n,async(e,n)=>{if(!ye(e,`settings:write`))throw Error(`This connection cannot test device hosts.`);let r=await t({environmentId:e,input:n});if(r._tag===`Failure`)throw Error(x(r.cause));return r.value},(e,t)=>{o[e]=t,r(n=>({...n,[a]:{...n[a],[e]:t}}))}),o}finally{i.current.delete(a)}}}}function jt(e){let t=(0,Z.c)(107),{host:r,isNew:i,targets:a,busy:o,onSave:s,onClose:c}=e,[l,u]=(0,$.useState)(r),{checks:d,testConnection:f}=At(a),p=d[Ot(l)],m=Object.values(p??{}).some(Nt),h,g;t[0]===l?(h=t[1],g=t[2]):(h=Dt({...l,label:l.label.trim()||l.target}),g=n(h),t[0]=l,t[1]=h,t[2]=g);let _=g,v;t[3]===p?v=t[4]:(v=Object.values(p??{}).filter(Mt),t[3]=p,t[4]=v);let y=v.length,b;t[5]!==o||t[6]!==c?(b=e=>{!e&&!o&&c()},t[5]=o,t[6]=c,t[7]=b):b=t[7];let x=!o,S;t[8]!==o||t[9]!==m||t[10]!==l.label||t[11]!==h||t[12]!==s?(S=(0,Q.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),n(h)&&l.label.trim()&&!o&&!m&&s(h.value)}}),t[8]=o,t[9]=m,t[10]=l.label,t[11]=h,t[12]=s,t[13]=S):S=t[13];let C=i?`Add device host`:`Edit device host`,w;t[14]===C?w=t[15]:(w=(0,Q.jsx)(we,{children:C}),t[14]=C,t[15]=w);let E=a.length===1?`Connect from ${a[0]?.label}.`:`Connect from ${a.length} selected environments.`,D;t[16]===E?D=t[17]:(D=(0,Q.jsxs)(Oe,{children:[E,` `,`Hosts on the same machine are skipped.`]}),t[16]=E,t[17]=D);let O;t[18]!==w||t[19]!==D?(O=(0,Q.jsxs)(Ce,{children:[w,D]}),t[18]=w,t[19]=D,t[20]=O):O=t[20];let k;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Q.jsx)(`span`,{children:`Name`}),t[21]=k):k=t[21];let A;t[22]===l?A=t[23]:(A=e=>u({...l,label:e.target.value}),t[22]=l,t[23]=A);let j;t[24]!==o||t[25]!==l.label||t[26]!==A?(j=(0,Q.jsxs)(`label`,{className:`block space-y-1.5 text-sm`,children:[k,(0,Q.jsx)(Se,{autoFocus:!0,required:!0,value:l.label,disabled:o,onChange:A,placeholder:`Mac mini`})]}),t[24]=o,t[25]=l.label,t[26]=A,t[27]=j):j=t[27];let M;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,Q.jsx)(`span`,{children:`SSH target`}),t[28]=M):M=t[28];let N;t[29]===l?N=t[30]:(N=e=>u({...l,target:e.target.value}),t[29]=l,t[30]=N);let P;t[31]!==o||t[32]!==l.target||t[33]!==N?(P=(0,Q.jsxs)(`label`,{className:`block space-y-1.5 text-sm`,children:[M,(0,Q.jsx)(Se,{required:!0,value:l.target,disabled:o,onChange:N,placeholder:`user@host or SSH alias`})]}),t[31]=o,t[32]=l.target,t[33]=N,t[34]=P):P=t[34];let I=r.port!==void 0||r.identityFile!==void 0||void 0,L;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,Q.jsx)(`summary`,{className:`cursor-pointer text-muted-foreground`,children:`SSH options`}),t[35]=L):L=t[35];let R;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,Q.jsx)(`span`,{children:`Identity file`}),t[36]=R):R=t[36];let te=l.identityFile??``,ne;t[37]===l?ne=t[38]:(ne=e=>{let{identityFile:t,...n}=l;u(e.target.value?{...n,identityFile:e.target.value}:n)},t[37]=l,t[38]=ne);let B;t[39]!==o||t[40]!==te||t[41]!==ne?(B=(0,Q.jsxs)(`label`,{className:`block space-y-1.5`,children:[R,(0,Q.jsx)(Se,{value:te,disabled:o,onChange:ne,placeholder:`SSH config default`})]}),t[39]=o,t[40]=te,t[41]=ne,t[42]=B):B=t[42];let re;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,Q.jsx)(`span`,{children:`Port`}),t[43]=re):re=t[43];let ie=l.port??``,V;t[44]===l?V=t[45]:(V=e=>{let{port:t,...n}=l;u(e.target.value?{...n,port:Number(e.target.value)}:n)},t[44]=l,t[45]=V);let ae;t[46]!==o||t[47]!==ie||t[48]!==V?(ae=(0,Q.jsxs)(`label`,{className:`block space-y-1.5`,children:[re,(0,Q.jsx)(Se,{type:`number`,min:1,max:65535,value:ie,disabled:o,onChange:V,placeholder:`Default`})]}),t[46]=o,t[47]=ie,t[48]=V,t[49]=ae):ae=t[49];let oe;t[50]!==B||t[51]!==ae?(oe=(0,Q.jsxs)(`div`,{className:`mt-3 grid grid-cols-[minmax(0,1fr)_7rem] gap-3`,children:[B,ae]}),t[50]=B,t[51]=ae,t[52]=oe):oe=t[52];let H;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,Q.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`Optional. Resolved separately on each environment.`}),t[53]=H):H=t[53];let se;t[54]!==I||t[55]!==oe?(se=(0,Q.jsxs)(`details`,{open:I,className:`text-sm`,children:[L,oe,H]}),t[54]=I,t[55]=oe,t[56]=se):se=t[56];let ce=m?`Checking environments…`:p?y?`${y} of ${a.length} failed`:`Connection checks passed`:`Check access before saving`,U;t[57]===ce?U=t[58]:(U=(0,Q.jsx)(`p`,{role:`status`,className:`text-xs text-muted-foreground`,children:ce}),t[57]=ce,t[58]=U);let le=o||m||!_,W;t[59]!==h||t[60]!==f?(W=()=>{n(h)&&f(h.value)},t[59]=h,t[60]=f,t[61]=W):W=t[61];let G;t[62]===m?G=t[63]:(G=m?(0,Q.jsx)(ue,{size:`xs`}):null,t[62]=m,t[63]=G);let K;t[64]!==le||t[65]!==W||t[66]!==G?(K=(0,Q.jsxs)(T,{type:`button`,size:`sm`,variant:`outline`,disabled:le,onClick:W,children:[G,` Test connection`]}),t[64]=le,t[65]=W,t[66]=G,t[67]=K):K=t[67];let de;t[68]!==U||t[69]!==K?(de=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-2.5`,children:[U,K]}),t[68]=U,t[69]=K,t[70]=de):de=t[70];let fe;t[71]!==p||t[72]!==a?(fe=p?(0,Q.jsx)(`ul`,{className:`border-t border-border/60 divide-y divide-border/40`,children:a.map(e=>{let t=p[e.environmentId];return t?(0,Q.jsxs)(`li`,{className:`px-3 py-2.5 text-xs`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`span`,{className:`truncate font-medium`,children:e.label}),(0,Q.jsx)(`span`,{className:`flex shrink-0 items-center gap-1.5 ${t.status===`failed`?`text-destructive`:`text-muted-foreground`}`,children:t.status===`pending`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ue,{size:`xs`}),` Checking…`]}):t.status===`local`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ee,{className:`size-3`}),` Already available locally`]}):t.status===`failed`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(z,{className:`size-3`}),` Failed`]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(F,{className:`size-3`}),` Connected`]})})]}),t.status===`connected`?(0,Q.jsx)(`div`,{className:`mt-1.5`,children:(0,Q.jsx)(wt,{platforms:t.platforms})}):null,t.status===`failed`?(0,Q.jsxs)(`details`,{className:`mt-1.5 text-muted-foreground`,children:[(0,Q.jsx)(`summary`,{className:`cursor-pointer`,children:`Show error`}),(0,Q.jsx)(`p`,{className:`mt-1 max-h-32 overflow-auto whitespace-pre-wrap break-words`,children:t.error})]}):null]},e.environmentId):null})}):null,t[71]=p,t[72]=a,t[73]=fe):fe=t[73];let pe;t[74]!==de||t[75]!==fe?(pe=(0,Q.jsxs)(`div`,{className:`rounded-lg border border-border/60`,children:[de,fe]}),t[74]=de,t[75]=fe,t[76]=pe):pe=t[76];let me;t[77]!==j||t[78]!==P||t[79]!==se||t[80]!==pe?(me=(0,Q.jsxs)(De,{children:[j,P,se,pe]}),t[77]=j,t[78]=P,t[79]=se,t[80]=pe,t[81]=me):me=t[81];let he;t[82]!==o||t[83]!==c?(he=(0,Q.jsx)(T,{type:`button`,variant:`ghost`,disabled:o,onClick:c,children:`Cancel`}),t[82]=o,t[83]=c,t[84]=he):he=t[84];let ge;t[85]!==o||t[86]!==m||t[87]!==l.label||t[88]!==_?(ge=o||m||!_||!l.label.trim(),t[85]=o,t[86]=m,t[87]=l.label,t[88]=_,t[89]=ge):ge=t[89];let q;t[90]===o?q=t[91]:(q=o?(0,Q.jsx)(ue,{size:`xs`}):null,t[90]=o,t[91]=q);let J;t[92]!==ge||t[93]!==q?(J=(0,Q.jsxs)(T,{type:`submit`,disabled:ge,children:[q,` Save host`]}),t[92]=ge,t[93]=q,t[94]=J):J=t[94];let _e;t[95]!==he||t[96]!==J?(_e=(0,Q.jsxs)(Te,{children:[he,J]}),t[95]=he,t[96]=J,t[97]=_e):_e=t[97];let ve;t[98]!==O||t[99]!==me||t[100]!==x||t[101]!==_e||t[102]!==S?(ve=(0,Q.jsxs)(ke,{showCloseButton:x,render:S,children:[O,me,_e]}),t[98]=O,t[99]=me,t[100]=x,t[101]=_e,t[102]=S,t[103]=ve):ve=t[103];let ye;return t[104]!==b||t[105]!==ve?(ye=(0,Q.jsx)(Ae,{open:!0,onOpenChange:b,children:ve}),t[104]=b,t[105]=ve,t[106]=ye):ye=t[106],ye}function Mt(e){return e.status===`failed`}function Nt(e){return e.status===`pending`}function Pt(e){let{scope:t,environments:n,connectedEnvironments:r}=tt(),i=ve(e.environmentId,s),a=t.kind===`project`||t.kind===`checkout`,o=be(_e.updateSettings,{reportFailure:!1}),[c,l]=(0,$.useState)(null),[u,d]=(0,$.useState)(null),[f,p]=(0,$.useState)(!1),m=n.map(e=>({environmentId:e.environmentId,label:e.label,connected:e.connection.phase===`connected`})),{checks:h,testConnection:g}=At(m),_=async(t,r=!1,i=t)=>{if(e.environmentId&&!a){p(!0);try{let e=await Promise.allSettled(n.map(async e=>{if(e.connection.phase!==`connected`||!e.serverConfig)throw Error(`Environment disconnected`);if(!ye(e.environmentId,`settings:write`))throw Error(`This connection cannot change device settings.`);return o({environmentId:e.environmentId,input:{patch:{deviceHosts:Ct(e.serverConfig.settings.deviceHosts,t,r,i)}}})})),a=n.filter((t,n)=>{let r=e[n];return r?.status!==`fulfilled`||r.value._tag===`Failure`});a.length===0?l(null):K.add({type:`error`,title:`Device hosts not saved on all environments`,description:`Could not update ${a.map(e=>e.label).join(`, `)}.`})}finally{p(!1)}}};return(0,Q.jsx)(Y,{id:`device-hosts`,title:`Device hosts`,serverScoped:!0,settingKeys:[`deviceHosts`],description:`Add remote machines with simulator or emulator runtimes installed, and the selected environments will connect over SSH and set up device tools automatically.`,control:(0,Q.jsxs)(T,{size:`sm`,variant:`outline`,disabled:!i||a||f||!e.environmentId||c!==null,onClick:()=>{d(null),l({id:C(),label:``,target:``})},children:[(0,Q.jsx)(R,{className:`size-3.5`}),` Add host`]}),children:(0,Q.jsx)(`div`,{className:`pt-3 pb-2`,children:e.environmentId?(0,Q.jsxs)(Q.Fragment,{children:[r.map(e=>(0,Q.jsxs)(`div`,{children:[r.length>1?(0,Q.jsx)(`p`,{className:`pt-3 pb-1 text-xs font-medium text-muted-foreground`,children:e.label}):null,(0,Q.jsx)(Ft,{environmentLabel:e.label,environmentId:e.environmentId,hosts:e.serverConfig?.settings.deviceHosts??[],busy:!i||a||f,checks:h,testConnection:async e=>{let t=await g(e);if(!t)return;let n=m.filter(e=>t[e.environmentId]?.status===`failed`);return K.add({type:n.length?`error`:`success`,title:n.length?`${e.label}: ${n.length} of ${m.length} environments failed`:`${e.label}: connection checks passed`,description:n.length?`Could not connect from ${n.map(e=>e.label).join(`, `)}.`:`Connected or already available locally on each selected environment.`}),t},onEdit:e=>{d(e),l(e)},onRemove:e=>void _(e,!0)})]},e.environmentId)),c?(0,Q.jsx)(jt,{host:c,isNew:u===null,targets:m,busy:f,onSave:e=>void _(e,!1,u??e),onClose:()=>l(null)},c.id):null]}):(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connect a selected environment to manage device hosts.`})})})}function Ft(e){let t=(0,Z.c)(28),{environmentLabel:n,environmentId:r,hosts:a,busy:o,onEdit:s,onRemove:c,checks:l,testConnection:u}=e,{state:d}=je(r),f=be(Me.list),[h,g]=(0,$.useState)(null),v;t[0]===a.length?v=t[1]:(v=a.length===0?(0,Q.jsx)(`p`,{className:`py-2 text-sm text-muted-foreground`,children:`No device hosts.`}):null,t[0]=a.length,t[1]=v);let y;if(t[2]!==o||t[3]!==l||t[4]!==r||t[5]!==n||t[6]!==a||t[7]!==s||t[8]!==c||t[9]!==f||t[10]!==h||t[11]!==d||t[12]!==u){let e;t[14]!==o||t[15]!==l||t[16]!==r||t[17]!==n||t[18]!==s||t[19]!==c||t[20]!==f||t[21]!==h||t[22]!==d||t[23]!==u?(e=e=>{let t=d.hostStatuses[e.id],a=l[Ot(e)]?.[r],v=(a?.status===`connected`?a.platforms:void 0)??d.hosts.find(t=>t.id===e.id)?.platforms??[],y=a?.status===`pending`?`Checking connection…`:t?.status===`installing`?`Installing device support…`:t?.status===`starting`?`Connecting…`:null,b=a?.status===`failed`?a.error:a?.status===`local`?void 0:t?.status===`failed`?t.detail:void 0;return(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border/50 py-2.5`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(`p`,{className:`truncate text-sm font-medium`,children:e.label}),v.filter(Lt).map(It)]}),(0,Q.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:e.target}),(0,Q.jsx)(xt,{owner:n,error:d.hosts.find(t=>t.id===e.id)?.toolInspectionError,tools:d.hosts.find(t=>t.id===e.id)?.tools??(a?.status===`connected`?a.tools:void 0)}),a?.status===`local`?(0,Q.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Already available locally`}):null,b?(0,Q.jsx)(`div`,{className:`mt-1`,role:`status`,children:(0,Q.jsxs)(`details`,{className:`text-xs text-destructive`,children:[(0,Q.jsx)(`summary`,{children:`Connection failed`}),(0,Q.jsx)(`p`,{className:`mt-1 whitespace-pre-wrap break-words`,children:b})]})}):null]}),y?(0,Q.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Q.jsx)(ue,{size:`xs`}),y]}):null,(0,Q.jsxs)(p,{children:[(0,Q.jsx)(_,{render:(0,Q.jsx)(T,{size:`icon-sm`,variant:`ghost-muted`,disabled:o,"aria-label":e.label+` options`}),children:(0,Q.jsx)(I,{})}),(0,Q.jsxs)(m,{align:`end`,children:[(0,Q.jsx)(i,{onClick:()=>{s(e)},children:`Edit`}),(0,Q.jsx)(i,{variant:`destructive`,onClick:()=>c(e),children:`Remove`})]})]}),t?.status===`failed`&&d.supportsHostRetry&&d.hostStatus!==`disabled`?(0,Q.jsx)(T,{size:`sm`,variant:`outline`,disabled:o||h!==null,onClick:()=>{g(e.id),f({environmentId:r,input:{retryHostId:e.id}}).finally(()=>g(null))},children:h===e.id?`Retrying…`:`Retry`}):(0,Q.jsx)(T,{size:`sm`,variant:`outline`,disabled:o||y!==null,onClick:()=>void u(e),children:`Test connection`})]},e.id)},t[14]=o,t[15]=l,t[16]=r,t[17]=n,t[18]=s,t[19]=c,t[20]=f,t[21]=h,t[22]=d,t[23]=u,t[24]=e):e=t[24],y=a.map(e),t[2]=o,t[3]=l,t[4]=r,t[5]=n,t[6]=a,t[7]=s,t[8]=c,t[9]=f,t[10]=h,t[11]=d,t[12]=u,t[13]=y}else y=t[13];let b;return t[25]!==v||t[26]!==y?(b=(0,Q.jsxs)(Q.Fragment,{children:[v,y]}),t[25]=v,t[26]=y,t[27]=b):b=t[27],b}function It(e){return(0,Q.jsxs)(ie,{children:[(0,Q.jsx)(B,{render:(0,Q.jsx)(`span`,{tabIndex:0,role:`img`,"aria-label":e.platform===`ios`?`iOS available`:`Android available`,className:`shrink-0 text-muted-foreground`}),children:e.platform===`ios`?(0,Q.jsx)(Ve,{className:`size-3.5 -translate-y-px`}):(0,Q.jsx)(He,{className:`size-3.5`})}),(0,Q.jsx)(re,{children:e.platform===`ios`?`iOS available`:`Android available`})]},e.platform)}function Lt(e){return e.available}function Rt(e,t){if(e)return{kind:`new`};let n=t[0];return n?{kind:`existing`,profileId:n.id}:{kind:`new`}}function zt(e,t,n){if(e.kind===`new`)return{kind:`new`,profileId:t};let r=n.find(t=>t.id===e.profileId);if(r!==void 0)return{kind:`existing`,profileId:e.profileId,name:r.name}}function Bt(e){return e.step!==`importing`}function Vt(e){return e.unavailable===`browserRunning`?{step:`quit`}:e.unavailable===`needsFullDiskAccess`?{step:`fullDiskAccess`,resume:`configure`}:e.unavailable===void 0?e.profiles.length===0?{step:`blocked`,reason:`unknownSourceProfile`}:{step:`configure`}:{step:`blocked`,reason:e.unavailable}}function Ht(e){return e.kind===`imported`?{step:`done`,imported:e.imported,skipped:e.skipped,skippedDomains:e.skippedDomains,targetName:e.targetName}:e.reason===`browserRunning`?{step:`quit`}:e.reason===`needsFullDiskAccess`?{step:`fullDiskAccess`,resume:`import`,checked:!0}:{step:`blocked`,reason:e.reason}}function Ut(e){return e===void 0?{step:`blocked`,reason:`unknownSource`}:Vt(e)}function Wt(e){let t=Ut(e);return t.step===`fullDiskAccess`?{...t,checked:!0}:t}function Gt(e,t){return t.profiles.some(t=>t.directory===e)?e:t.profiles[0]?.directory??``}function Kt(e){switch(e){case`needsKeychainApproval`:case`keychainItemMissing`:case`keychainUnavailable`:case`readFailed`:case`sessionUnavailable`:case`profileNotSaved`:return!0;default:return!1}}function qt(e){return e.length===0?``:e.length===1?e[0]:e.length<=3?`${e.slice(0,-1).join(`, `)} and ${e.at(-1)}`:`${e.slice(0,3).join(`, `)} and ${e.length-3} more`}function Jt(e){let t=(0,Z.c)(46),{source:n,destinationEnvironmentName:r,targetProfiles:i,canCreateProfile:a,onImport:o,onRefreshSource:s,onOpenFullDiskAccessSettings:c,onCheckFullDiskAccess:l,onClose:u}=e,[d,f]=(0,$.useState)(n),p;t[0]===n?p=t[1]:(p=()=>Vt(n),t[0]=n,t[1]=p);let[m,h]=(0,$.useState)(p),g;t[2]===n.profiles[0]?.directory?g=t[3]:(g=()=>n.profiles[0]?.directory??``,t[2]=n.profiles[0]?.directory,t[3]=g);let[_,v]=(0,$.useState)(g),y;t[4]!==a||t[5]!==i?(y=()=>Rt(a,i),t[4]=a,t[5]=i,t[6]=y):y=t[6];let[b,x]=(0,$.useState)(y),[S,w]=(0,$.useState)(),T;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(T=C(),t[7]=T):T=t[7];let E=(0,$.useRef)(`profile-${T}`),D=(0,$.useRef)(!1),O;t[8]!==o||t[9]!==_||t[10]!==b||t[11]!==i?(O=()=>{if(D.current)return;let e=zt(b,E.current,i);if(e===void 0){w(`That profile is no longer available. Choose where to import these cookies.`),h({step:`configure`});return}w(void 0),D.current=!0,h({step:`importing`}),o({sourceProfileDirectory:_,target:e}).then(e=>h(Ht(e))).catch(()=>h({step:`blocked`,reason:`readFailed`})).finally(()=>{D.current=!1})},t[8]=o,t[9]=_,t[10]=b,t[11]=i,t[12]=O):O=t[12];let k=O,A;t[13]===s?A=t[14]:(A=(e,t)=>{h({step:`checking`,check:e}),s().then(e=>{e&&(f(e),v(t=>Gt(t,e))),h(t(e))}).catch(()=>h({step:`blocked`,reason:`readFailed`}))},t[13]=s,t[14]=A);let j=A,M;t[15]===j?M=t[16]:(M=()=>j(`browser`,Ut),t[15]=j,t[16]=M);let N=M,P;t[17]===j?P=t[18]:(P=()=>j(`fullDiskAccess`,Wt),t[17]=j,t[18]=P);let F=P,I;t[19]!==u||t[20]!==m?(I=e=>e||!Bt(m)?void 0:u(),t[19]=u,t[20]=m,t[21]=I):I=t[21];let L;t[22]===m?L=t[23]:(L=Bt(m),t[22]=m,t[23]=L);let ee;t[24]!==a||t[25]!==r||t[26]!==l||t[27]!==u||t[28]!==c||t[29]!==s||t[30]!==N||t[31]!==F||t[32]!==k||t[33]!==d||t[34]!==_||t[35]!==m||t[36]!==b||t[37]!==S||t[38]!==i?(ee=m.step===`quit`?(0,Q.jsx)(Yt,{source:d,onCancel:u,onRechecked:N}):m.step===`fullDiskAccess`?(0,Q.jsx)(Qt,{source:d,onCancel:u,onOpenSettings:c,onCheck:l??(async()=>{let e=await s();return e!==void 0&&e.unavailable===void 0}),onGranted:m.resume===`import`?k:F,stillRequired:m.checked===!0}):m.step===`importing`?(0,Q.jsx)(tn,{}):m.step===`checking`?(0,Q.jsx)(nn,{sourceName:d.name,check:m.check}):m.step===`done`?(0,Q.jsx)(rn,{...m,destinationEnvironmentName:r,onClose:u}):m.step===`blocked`?(0,Q.jsx)(an,{source:d,reason:m.reason,onClose:u,onRetry:Kt(m.reason)?k:void 0}):(0,Q.jsx)($t,{source:d,destinationEnvironmentName:r,targetProfiles:i,canCreateProfile:a,sourceProfileDirectory:_,onSourceProfileChange:v,target:b,onTargetChange:e=>{x(e),w(void 0)},targetError:S,onCancel:u,onImport:k}),t[24]=a,t[25]=r,t[26]=l,t[27]=u,t[28]=c,t[29]=s,t[30]=N,t[31]=F,t[32]=k,t[33]=d,t[34]=_,t[35]=m,t[36]=b,t[37]=S,t[38]=i,t[39]=ee):ee=t[39];let R;t[40]!==L||t[41]!==ee?(R=(0,Q.jsx)(ke,{className:`max-w-lg`,showCloseButton:L,children:ee}),t[40]=L,t[41]=ee,t[42]=R):R=t[42];let z;return t[43]!==R||t[44]!==I?(z=(0,Q.jsx)(Ae,{open:!0,onOpenChange:I,children:R}),t[43]=R,t[44]=I,t[45]=z):z=t[45],z}function Yt(e){let t=(0,Z.c)(12),{source:n,onCancel:r,onRechecked:i}=e,a;t[0]===n.name?a=t[1]:(a=(0,Q.jsxs)(Ce,{children:[(0,Q.jsxs)(we,{children:[`Quit `,n.name,` to import`]}),(0,Q.jsxs)(Oe,{children:[n.name,` is open, so its cookies can’t be read yet. Quit it, then continue.`]})]}),t[0]=n.name,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,Q.jsx)(T,{variant:`outline`,onClick:r,children:`Cancel`}),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=(0,Q.jsx)(T,{onClick:i,children:`I’ve quit it`}),t[4]=i,t[5]=s);let c;t[6]!==o||t[7]!==s?(c=(0,Q.jsxs)(Te,{children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8];let l;return t[9]!==a||t[10]!==c?(l=(0,Q.jsxs)(Q.Fragment,{children:[a,c]}),t[9]=a,t[10]=c,t[11]=l):l=t[11],l}function Xt(e){if(e!==void 0)return e===0?`no cookies`:`${e.toLocaleString()} ${e===1?`cookie`:`cookies`}`}function Zt(e){return`${e.toLocaleString()} ${e===1?`cookie`:`cookies`}`}function Qt(e){let t=(0,Z.c)(43),{source:n,onCancel:r,onOpenSettings:i,onGranted:a,stillRequired:o,onCheck:s}=e,[c,l]=(0,$.useState)(!1),[u,d]=(0,$.useState)(null),f;t[0]===s?f=t[1]:(f=async()=>({fullDiskAccess:await s()}),t[0]=s,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p={fullDiskAccess:!1},t[2]=p):p=t[2];let m=bt(f,p),h;t[3]!==i||t[4]!==c?(h=()=>{c||(l(!0),d(null),Promise.resolve().then(i).catch(()=>d(`Could not open System Settings. Try Allow again.`)).finally(()=>l(!1)))},t[3]=i,t[4]=c,t[5]=h):h=t[5];let g=h,_;t[6]===n.name?_=t[7]:(_=(0,Q.jsxs)(Ce,{children:[(0,Q.jsxs)(we,{children:[`Let P4 Code read `,n.name,`’s cookies`]}),(0,Q.jsxs)(Oe,{children:[`To import cookies from `,n.name,`, P4 Code needs Full Disk Access. Turn it on in System Settings, then come back to finish the import — you can revoke it again once the import is done.`]})]}),t[6]=n.name,t[7]=_);let v;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Q.jsx)(ut,{className:`size-8 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t[8]=v):v=t[8];let y=`Read ${n.name}'s cookies for this import.`,b;t[9]===g?b=t[10]:(b=()=>void g(),t[9]=g,t[10]=b);let x;t[11]!==m.status.fullDiskAccess||t[12]!==y||t[13]!==b?(x=[{id:`fullDiskAccess`,icon:v,title:`Full Disk Access`,description:y,granted:m.status.fullDiskAccess,onAllow:b}],t[11]=m.status.fullDiskAccess,t[12]=y,t[13]=b,t[14]=x):x=t[14];let S;t[15]!==c||t[16]!==x?(S=(0,Q.jsx)(vt,{busy:c,permissions:x}),t[15]=c,t[16]=x,t[17]=S):S=t[17];let C;t[18]!==u||t[19]!==m.error?(C=u||m.error?(0,Q.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-muted-foreground`,children:u??m.error}):null,t[18]=u,t[19]=m.error,t[20]=C):C=t[20];let w;t[21]!==m||t[22]!==o?(w=m.isReady([`fullDiskAccess`])?null:(0,Q.jsx)(`p`,{className:`mt-3 text-xs text-muted-foreground`,children:o?`Access is still required. Quit and reopen P4 Code if you just allowed it, then retry the import.`:`If access doesn't update after you allow it, quit and reopen P4 Code, then retry the import.`}),t[21]=m,t[22]=o,t[23]=w):w=t[23];let E;t[24]!==C||t[25]!==w||t[26]!==S?(E=(0,Q.jsxs)(De,{children:[S,C,w]}),t[24]=C,t[25]=w,t[26]=S,t[27]=E):E=t[27];let D;t[28]===r?D=t[29]:(D=(0,Q.jsx)(T,{variant:`outline`,onClick:r,children:`Cancel`}),t[28]=r,t[29]=D);let O;t[30]===m?O=t[31]:(O=m.isReady([`fullDiskAccess`]),t[30]=m,t[31]=O);let k;t[32]!==a||t[33]!==c||t[34]!==O?(k=(0,Q.jsx)(yt,{ready:O,busy:c,onClick:a,children:`Continue`}),t[32]=a,t[33]=c,t[34]=O,t[35]=k):k=t[35];let A;t[36]!==D||t[37]!==k?(A=(0,Q.jsxs)(Te,{children:[D,k]}),t[36]=D,t[37]=k,t[38]=A):A=t[38];let j;return t[39]!==E||t[40]!==A||t[41]!==_?(j=(0,Q.jsxs)(Q.Fragment,{children:[_,E,A]}),t[39]=E,t[40]=A,t[41]=_,t[42]=j):j=t[42],j}function $t(e){let t=(0,Z.c)(59),{source:n,destinationEnvironmentName:r,targetProfiles:i,canCreateProfile:a,sourceProfileDirectory:o,onSourceProfileChange:s,target:c,targetError:l,onTargetChange:u,onCancel:d,onImport:f}=e,p;t[0]!==c.kind||t[1]!==c.profileId||t[2]!==i?(p=c.kind===`existing`&&!i.some(e=>e.id===c.profileId),t[0]=c.kind,t[1]=c.profileId,t[2]=i,t[3]=p):p=t[3];let m=p,h=c.kind===`new`&&!a,g=l??(m?`That profile is no longer available. Choose where to import these cookies.`:h?`You've reached the profile limit. Choose an existing profile to import into.`:void 0),_;t[4]===n.name?_=t[5]:(_=(0,Q.jsxs)(we,{children:[`Import from `,n.name]}),t[4]=n.name,t[5]=_);let v;t[6]===r?v=t[7]:(v=(0,Q.jsxs)(Oe,{children:[`Choose which cookies to import for `,r,`.`]}),t[6]=r,t[7]=v);let y;t[8]!==_||t[9]!==v?(y=(0,Q.jsxs)(Ce,{children:[_,v]}),t[8]=_,t[9]=v,t[10]=y):y=t[10];let b;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:`From`}),t[11]=b):b=t[11];let x;if(t[12]!==s||t[13]!==n.profiles||t[14]!==o){let e;t[16]!==s||t[17]!==o?(e=e=>(0,Q.jsx)(en,{selected:o===e.directory,title:e.name,subtitle:Xt(e.cookieCount),onSelect:()=>s(e.directory)},e.directory),t[16]=s,t[17]=o,t[18]=e):e=t[18],x=n.profiles.map(e),t[12]=s,t[13]=n.profiles,t[14]=o,t[15]=x}else x=t[15];let S;t[19]===x?S=t[20]:(S=(0,Q.jsxs)(`section`,{className:`flex-1 space-y-2`,children:[b,x]}),t[19]=x,t[20]=S);let C;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-center text-muted-foreground`,children:[(0,Q.jsx)(P,{className:`size-4 sm:hidden`}),(0,Q.jsx)(lt,{className:`hidden size-4 sm:block`})]}),t[21]=C):C=t[21];let w;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Q.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:`Into`}),t[22]=w):w=t[22];let E;t[23]!==a||t[24]!==u||t[25]!==c.kind?(E=a?(0,Q.jsx)(en,{selected:c.kind===`new`,title:`New profile`,subtitle:`Created for these cookies`,onSelect:()=>u({kind:`new`})}):null,t[23]=a,t[24]=u,t[25]=c.kind,t[26]=E):E=t[26];let D;if(t[27]!==u||t[28]!==c.kind||t[29]!==c.profileId||t[30]!==i){let e;t[32]!==u||t[33]!==c.kind||t[34]!==c.profileId?(e=e=>(0,Q.jsx)(en,{selected:c.kind===`existing`&&c.profileId===e.id,title:e.name,subtitle:`Existing profile`,onSelect:()=>u({kind:`existing`,profileId:e.id})},e.id),t[32]=u,t[33]=c.kind,t[34]=c.profileId,t[35]=e):e=t[35],D=i.map(e),t[27]=u,t[28]=c.kind,t[29]=c.profileId,t[30]=i,t[31]=D}else D=t[31];let O;t[36]!==E||t[37]!==D?(O=(0,Q.jsxs)(`section`,{className:`flex-1 space-y-2`,children:[w,E,D]}),t[36]=E,t[37]=D,t[38]=O):O=t[38];let k;t[39]!==O||t[40]!==S?(k=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4`,children:[S,C,O]}),t[39]=O,t[40]=S,t[41]=k):k=t[41];let A;t[42]===g?A=t[43]:(A=g?(0,Q.jsx)(`p`,{role:`alert`,className:`mt-3 text-sm text-destructive`,children:g}):null,t[42]=g,t[43]=A);let j;t[44]!==k||t[45]!==A?(j=(0,Q.jsxs)(De,{children:[k,A]}),t[44]=k,t[45]=A,t[46]=j):j=t[46];let M;t[47]===d?M=t[48]:(M=(0,Q.jsx)(T,{variant:`outline`,onClick:d,children:`Cancel`}),t[47]=d,t[48]=M);let N=o===``||m||h,F;t[49]!==f||t[50]!==N?(F=(0,Q.jsx)(T,{disabled:N,onClick:f,children:`Import`}),t[49]=f,t[50]=N,t[51]=F):F=t[51];let I;t[52]!==M||t[53]!==F?(I=(0,Q.jsxs)(Te,{children:[M,F]}),t[52]=M,t[53]=F,t[54]=I):I=t[54];let L;return t[55]!==j||t[56]!==I||t[57]!==y?(L=(0,Q.jsxs)(Q.Fragment,{children:[y,j,I]}),t[55]=j,t[56]=I,t[57]=y,t[58]=L):L=t[58],L}function en(e){let t=(0,Z.c)(22),{selected:n,title:r,subtitle:i,onSelect:a}=e,o=n?`border-primary bg-primary/8`:`border-border/60 hover:border-border hover:bg-muted/40`,s;t[0]===o?s=t[1]:(s=A(`flex w-full cursor-pointer items-center justify-between gap-3 rounded-lg border px-3 py-2 text-left outline-none transition-colors focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background`,o),t[0]=o,t[1]=s);let c;t[2]===r?c=t[3]:(c=(0,Q.jsx)(`span`,{className:`block truncate text-sm font-medium text-foreground`,children:r}),t[2]=r,t[3]=c);let l;t[4]===i?l=t[5]:(l=i?(0,Q.jsx)(`span`,{className:`block truncate text-xs tabular-nums text-muted-foreground`,children:i}):null,t[4]=i,t[5]=l);let u;t[6]!==c||t[7]!==l?(u=(0,Q.jsxs)(`span`,{className:`min-w-0`,children:[c,l]}),t[6]=c,t[7]=l,t[8]=u):u=t[8];let d=n?`border-primary bg-primary text-primary-foreground`:`border-input`,f;t[9]===d?f=t[10]:(f=A(`grid size-4 shrink-0 place-items-center rounded-full border`,d),t[9]=d,t[10]=f);let p;t[11]===n?p=t[12]:(p=n?(0,Q.jsx)(F,{className:`size-2.5`}):null,t[11]=n,t[12]=p);let m;t[13]!==f||t[14]!==p?(m=(0,Q.jsx)(`span`,{className:f,children:p}),t[13]=f,t[14]=p,t[15]=m):m=t[15];let h;return t[16]!==a||t[17]!==n||t[18]!==s||t[19]!==u||t[20]!==m?(h=(0,Q.jsxs)(`button`,{type:`button`,"aria-pressed":n,onClick:a,className:s,children:[u,m]}),t[16]=a,t[17]=n,t[18]=s,t[19]=u,t[20]=m,t[21]=h):h=t[21],h}function tn(){let e=(0,Z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsxs)(Ce,{children:[(0,Q.jsx)(we,{children:`Importing cookies`}),(0,Q.jsx)(Oe,{children:`This may take a moment.`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsxs)(Q.Fragment,{children:[t,(0,Q.jsx)(De,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 py-2`,children:[(0,Q.jsx)(ue,{size:`md`,tone:`muted`}),(0,Q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Importing…`})]})})]}),e[1]=n):n=e[1],n}function nn(e){let t=(0,Z.c)(13),{sourceName:n,check:r}=e,i;t[0]===n?i=t[1]:(i=(0,Q.jsxs)(we,{children:[`Checking `,n]}),t[0]=n,t[1]=i);let a=r===`fullDiskAccess`?`Checking Full Disk Access.`:`Checking whether the browser has closed.`,o;t[2]===a?o=t[3]:(o=(0,Q.jsx)(Oe,{children:a}),t[2]=a,t[3]=o);let s;t[4]!==i||t[5]!==o?(s=(0,Q.jsxs)(Ce,{children:[i,o]}),t[4]=i,t[5]=o,t[6]=s):s=t[6];let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(ue,{size:`md`,tone:`muted`}),t[7]=c):c=t[7];let l=r===`fullDiskAccess`?`Checking access…`:`Checking…`,u;t[8]===l?u=t[9]:(u=(0,Q.jsx)(De,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 py-2`,children:[c,(0,Q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:l})]})}),t[8]=l,t[9]=u);let d;return t[10]!==s||t[11]!==u?(d=(0,Q.jsxs)(Q.Fragment,{children:[s,u]}),t[10]=s,t[11]=u,t[12]=d):d=t[12],d}function rn(e){let t=(0,Z.c)(24),{imported:n,skipped:r,skippedDomains:i,targetName:a,destinationEnvironmentName:o,onClose:s}=e,c;t[0]!==n||t[1]!==r?(c=n>0?`Imported ${Zt(n)}`:r>0?`Skipped ${Zt(r)}`:`No cookies found`,t[0]=n,t[1]=r,t[2]=c):c=t[2];let l;t[3]===c?l=t[4]:(l=(0,Q.jsx)(we,{children:c}),t[3]=c,t[4]=l);let u;t[5]!==o||t[6]!==n||t[7]!==r||t[8]!==a?(u=n>0?`Added to ${a} for ${o}.${r>0?` ${Zt(r)} skipped.`:``}`:r>0?`No cookies were imported for ${o}.`:`There were no cookies to import for ${o}.`,t[5]=o,t[6]=n,t[7]=r,t[8]=a,t[9]=u):u=t[9];let d;t[10]===u?d=t[11]:(d=(0,Q.jsx)(Oe,{children:u}),t[10]=u,t[11]=d);let f;t[12]!==l||t[13]!==d?(f=(0,Q.jsxs)(Ce,{children:[l,d]}),t[12]=l,t[13]=d,t[14]=f):f=t[14];let p;t[15]===i?p=t[16]:(p=i.length>0?(0,Q.jsxs)(De,{children:[(0,Q.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:`Skipped`}),(0,Q.jsx)(`p`,{className:`mt-1 text-sm text-foreground`,children:qt(i)})]}):null,t[15]=i,t[16]=p);let m;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Q.jsx)(T,{}),t[17]=m):m=t[17];let h;t[18]===s?h=t[19]:(h=(0,Q.jsx)(Te,{children:(0,Q.jsx)(Ee,{render:m,onClick:s,children:`Done`})}),t[18]=s,t[19]=h);let g;return t[20]!==f||t[21]!==p||t[22]!==h?(g=(0,Q.jsxs)(Q.Fragment,{children:[f,p,h]}),t[20]=f,t[21]=p,t[22]=h,t[23]=g):g=t[23],g}function an(e){let t=(0,Z.c)(17),{source:n,reason:r,onClose:i,onRetry:a}=e,s;t[0]===n.name?s=t[1]:(s=(0,Q.jsxs)(we,{children:[`Couldn’t import from `,n.name]}),t[0]=n.name,t[1]=s);let c=o[r],l;t[2]===c?l=t[3]:(l=(0,Q.jsx)(Oe,{children:c}),t[2]=c,t[3]=l);let u;t[4]!==s||t[5]!==l?(u=(0,Q.jsxs)(Ce,{children:[s,l]}),t[4]=s,t[5]=l,t[6]=u):u=t[6];let d;t[7]===i?d=t[8]:(d=(0,Q.jsx)(T,{variant:`outline`,onClick:i,children:`Close`}),t[7]=i,t[8]=d);let f;t[9]===a?f=t[10]:(f=a?(0,Q.jsx)(T,{onClick:a,children:`Try again`}):null,t[9]=a,t[10]=f);let p;t[11]!==d||t[12]!==f?(p=(0,Q.jsxs)(Te,{children:[d,f]}),t[11]=d,t[12]=f,t[13]=p):p=t[13];let m;return t[14]!==u||t[15]!==p?(m=(0,Q.jsxs)(Q.Fragment,{children:[u,p]}),t[14]=u,t[15]=p,t[16]=m):m=t[16],m}var on=`fill`,sn=`responsive`;async function cn(e,t,n,r){let i=e===null?[]:t,a=r?.environmentIds??[];if(i.length===0&&a.length===0)throw Error(`Browser profile data is not available to clear.`);await Promise.all([...i.flatMap(t=>[e.clearCookies(t,n),e.clearCache(t,n)]),...a.map(e=>r.clear(e,n))])}function ln(e,t,n,r=0){return(e||r>0)&&t&&n>0}var un={width:1280,height:800},dn={useGrouping:!1},fn={system:`System`,light:`Light`,dark:`Dark`},pn=e=>`${Math.round(e*100)}%`,mn=class extends Error{constructor(){super(`Browser profile limit reached.`),this.name=`ProfileLimitReachedError`}},hn=e=>{let t=String(e?.message??``);return l.literals.find(e=>t.includes(`failed: ${e}.`))??`readFailed`},gn=e=>e._tag===`fill`?on:e._tag===`preset`&&ct.some(t=>t.id===e.presetId)?e.presetId:sn,_n=e=>{let t=gn(e);return t===on?`Fill panel`:t===sn?`Responsive`:ct.find(e=>e.id===t)?.label??`Responsive`},vn=e=>Number.isInteger(e)&&e>=240&&e<=3840,yn=e=>({...e,width:e.height,height:e.width});function bn(e){let t=(0,Z.c)(42),{disabled:n}=e,i=q(Sn),a=J(),o=i._tag===`fill`?null:i,s=o?.width??un.width,l=o?.height??un.height,u;t[0]!==s||t[1]!==l?(u={width:s,height:l},t[0]=s,t[1]=l,t[2]=u):u=t[2];let f=u,p;t[3]!==o?.height||t[4]!==o?.width||t[5]!==a?(p=e=>{if(e===on){a({browserDefaultViewport:r});return}if(e===sn){a({browserDefaultViewport:{_tag:`freeform`,width:o?.width??un.width,height:o?.height??un.height}});return}let t=ct.find(t=>t.id===e);t&&a({browserDefaultViewport:{_tag:`preset`,width:t.width,height:t.height,presetId:t.id}})},t[3]=o?.height,t[4]=o?.width,t[5]=a,t[6]=p):p=t[6];let m=p,h;t[7]!==f||t[8]!==o||t[9]!==a?(h=(e,t)=>{if(t===null||!vn(t))return;let n={...f,[e]:t};n.width*n.height>8294400||o&&n.width===o.width&&n.height===o.height||a({browserDefaultViewport:{_tag:`freeform`,...n}})},t[7]=f,t[8]=o,t[9]=a,t[10]=h):h=t[10];let g=h,_;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=X(`browser-default-viewport`),t[11]=_):_=t[11];let v;t[12]!==n||t[13]!==a||t[14]!==i._tag?(v=!n&&i._tag!==d._tag?(0,Q.jsx)($e,{label:`default browser viewport`,onClick:()=>a({browserDefaultViewport:d})}):null,t[12]=n,t[13]=a,t[14]=i._tag,t[15]=v):v=t[15];let y;t[16]===i?y=t[17]:(y=gn(i),t[16]=i,t[17]=y);let b;t[18]===i?b=t[19]:(b=_n(i),t[18]=i,t[19]=b);let x;t[20]===b?x=t[21]:(x=(0,Q.jsx)(W,{size:`sm`,className:`w-full min-w-0 sm:w-44`,"aria-label":`Default browser viewport`,children:(0,Q.jsx)(se,{children:b})}),t[20]=b,t[21]=x);let S,C;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Q.jsx)(H,{value:on,children:`Fill panel`}),C=(0,Q.jsx)(H,{value:sn,children:`Responsive`}),t[22]=S,t[23]=C):(S=t[22],C=t[23]);let w;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Q.jsxs)(U,{align:`end`,alignItemWithTrigger:!1,children:[S,C,(0,Q.jsxs)(le,{children:[(0,Q.jsx)(ce,{children:`Standard`}),ct.map(xn)]})]}),t[24]=w):w=t[24];let E;t[25]!==n||t[26]!==m||t[27]!==x||t[28]!==y?(E=(0,Q.jsxs)(G,{value:y,onValueChange:m,disabled:n,children:[x,w]}),t[25]=n,t[26]=m,t[27]=x,t[28]=y,t[29]=E):E=t[29];let D;t[30]!==g||t[31]!==n||t[32]!==f||t[33]!==o||t[34]!==a?(D=o?(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,Q.jsx)(oe,{value:f.width,min:240,max:c,disabled:n,format:dn,size:`sm`,className:`w-20`,onValueCommitted:e=>g(`width`,e),children:(0,Q.jsx)(ae,{children:(0,Q.jsx)(V,{"aria-label":`Default viewport width`})})}),(0,Q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`×`}),(0,Q.jsx)(oe,{value:f.height,min:240,max:c,disabled:n,format:dn,size:`sm`,className:`w-20`,onValueCommitted:e=>g(`height`,e),children:(0,Q.jsx)(ae,{children:(0,Q.jsx)(V,{"aria-label":`Default viewport height`})})}),(0,Q.jsxs)(ie,{children:[(0,Q.jsx)(B,{render:(0,Q.jsx)(T,{size:`icon-sm`,variant:`ghost-muted`,disabled:n,"aria-label":`Rotate to ${f.height>=f.width?`landscape`:`portrait`}`,onClick:()=>a({browserDefaultViewport:yn(o)}),children:(0,Q.jsx)(at,{})})}),(0,Q.jsx)(re,{side:`top`,children:`Rotate`})]})]}):null,t[30]=g,t[31]=n,t[32]=f,t[33]=o,t[34]=a,t[35]=D):D=t[35];let O;t[36]!==E||t[37]!==D?(O=(0,Q.jsxs)(`div`,{className:`flex w-full flex-wrap items-center justify-end gap-2 sm:w-auto`,children:[E,D]}),t[36]=E,t[37]=D,t[38]=O):O=t[38];let k;return t[39]!==O||t[40]!==v?(k=(0,Q.jsx)(Y,{..._,description:`Tab size for you and agents. Fill fits the panel; other sizes show the device toolbar.`,resetAction:v,control:O}),t[39]=O,t[40]=v,t[41]=k):k=t[41],k}function xn(e){return(0,Q.jsx)(H,{value:e.id,children:(0,Q.jsxs)(`span`,{className:`flex w-full items-center justify-between gap-5`,children:[(0,Q.jsx)(`span`,{children:e.label}),(0,Q.jsx)(`span`,{className:`text-xs tabular-nums text-muted-foreground`,children:e.detail})]})},e.id)}function Sn(e){return e.browserDefaultViewport}function Cn(e){let t=(0,Z.c)(20),{disabled:n}=e,r=q(Tn),i=J(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-default-zoom`),t[0]=a):a=t[0];let o;t[1]!==n||t[2]!==i||t[3]!==r?(o=!n&&r!==1?(0,Q.jsx)($e,{label:`default browser zoom`,onClick:()=>i({browserDefaultZoomFactor:1})}):null,t[1]=n,t[2]=i,t[3]=r,t[4]=o):o=t[4];let s=String(r),c;t[5]===i?c=t[6]:(c=e=>{let t=b.find(t=>String(t)===e);t!==void 0&&i({browserDefaultZoomFactor:t})},t[5]=i,t[6]=c);let l;t[7]===r?l=t[8]:(l=pn(r),t[7]=r,t[8]=l);let u;t[9]===l?u=t[10]:(u=(0,Q.jsx)(W,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Default browser zoom`,children:(0,Q.jsx)(se,{children:l})}),t[9]=l,t[10]=u);let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(U,{align:`end`,alignItemWithTrigger:!1,children:b.map(wn)}),t[11]=d):d=t[11];let f;t[12]!==n||t[13]!==s||t[14]!==c||t[15]!==u?(f=(0,Q.jsxs)(G,{disabled:n,value:s,onValueChange:c,children:[u,d]}),t[12]=n,t[13]=s,t[14]=c,t[15]=u,t[16]=f):f=t[16];let p;return t[17]!==o||t[18]!==f?(p=(0,Q.jsx)(Y,{...a,description:`Page zoom applied to new browser tabs.`,resetAction:o,control:f}),t[17]=o,t[18]=f,t[19]=p):p=t[19],p}function wn(e){return(0,Q.jsx)(H,{hideIndicator:!0,value:String(e),children:pn(e)},e)}function Tn(e){return e.browserDefaultZoomFactor}function En(e){let t=(0,Z.c)(18),{disabled:n}=e,r=q(On),i=J(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-default-appearance`),t[0]=a):a=t[0];let o;t[1]!==r||t[2]!==n||t[3]!==i?(o=!n&&r!==`system`?(0,Q.jsx)($e,{label:`default browser appearance`,onClick:()=>i({browserDefaultAppearance:E})}):null,t[1]=r,t[2]=n,t[3]=i,t[4]=o):o=t[4];let s;t[5]===i?s=t[6]:(s=e=>{(e===`system`||e===`light`||e===`dark`)&&i({browserDefaultAppearance:e})},t[5]=i,t[6]=s);let c=fn[r],l;t[7]===c?l=t[8]:(l=(0,Q.jsx)(W,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Default browser appearance`,children:(0,Q.jsx)(se,{children:c})}),t[7]=c,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(U,{align:`end`,alignItemWithTrigger:!1,children:Object.entries(fn).map(Dn)}),t[9]=u):u=t[9];let d;t[10]!==r||t[11]!==n||t[12]!==s||t[13]!==l?(d=(0,Q.jsxs)(G,{disabled:n,value:r,onValueChange:s,children:[l,u]}),t[10]=r,t[11]=n,t[12]=s,t[13]=l,t[14]=d):d=t[14];let f;return t[15]!==o||t[16]!==d?(f=(0,Q.jsx)(Y,{...a,description:`The color scheme pages are told to prefer. System follows your OS setting.`,resetAction:o,control:d}),t[15]=o,t[16]=d,t[17]=f):f=t[17],f}function Dn(e){let[t,n]=e;return(0,Q.jsx)(H,{hideIndicator:!0,value:t,children:n},t)}function On(e){return e.browserDefaultAppearance}function kn(e){let t=(0,Z.c)(17),{disabled:n}=e,r=q(jn),i=q(An),a=J(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=X(`browser-recording-key-presses`),t[0]=o):o=t[0];let s;t[1]===a?s=t[2]:(s=e=>a({browserRecordingShowKeyPresses:!!e}),t[1]=a,t[2]=s);let c;t[3]!==n||t[4]!==r||t[5]!==s?(c=(0,Q.jsx)(Y,{...o,description:`Show pressed keys and shortcuts in new recordings. Password fields are excluded.`,control:(0,Q.jsx)(pt,{disabled:n,checked:r,"aria-label":`Show key presses in recordings`,onCheckedChange:s})}),t[3]=n,t[4]=r,t[5]=s,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=X(`browser-recording-mouse-presses`),t[7]=l):l=t[7];let u;t[8]===a?u=t[9]:(u=e=>a({browserRecordingShowMousePresses:!!e}),t[8]=a,t[9]=u);let d;t[10]!==n||t[11]!==i||t[12]!==u?(d=(0,Q.jsx)(Y,{...l,description:`Highlight mouse presses and held buttons in new recordings.`,control:(0,Q.jsx)(pt,{disabled:n,checked:i,"aria-label":`Show mouse presses in recordings`,onCheckedChange:u})}),t[10]=n,t[11]=i,t[12]=u,t[13]=d):d=t[13];let f;return t[14]!==c||t[15]!==d?(f=(0,Q.jsxs)(Q.Fragment,{children:[c,d]}),t[14]=c,t[15]=d,t[16]=f):f=t[16],f}function An(e){return e.browserRecordingShowMousePresses}function jn(e){return e.browserRecordingShowKeyPresses}function Mn(e){let t=(0,Z.c)(18),{disabled:n}=e,r=q(Pn),i=J(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-recording-frame-rate`),t[0]=a):a=t[0];let o;t[1]!==n||t[2]!==r||t[3]!==i?(o=!n&&r!==30?(0,Q.jsx)($e,{label:`browser recording frame rate`,onClick:()=>i({browserRecordingFrameRate:30})}):null,t[1]=n,t[2]=r,t[3]=i,t[4]=o):o=t[4];let s=String(r),c;t[5]===i?c=t[6]:(c=e=>{let t=h.find(t=>String(t)===e);t!==void 0&&i({browserRecordingFrameRate:t})},t[5]=i,t[6]=c);let l;t[7]===r?l=t[8]:(l=(0,Q.jsx)(W,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Browser recording frame rate`,children:(0,Q.jsxs)(se,{children:[r,` fps`]})}),t[7]=r,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(U,{align:`end`,alignItemWithTrigger:!1,children:h.map(Nn)}),t[9]=u):u=t[9];let d;t[10]!==n||t[11]!==s||t[12]!==c||t[13]!==l?(d=(0,Q.jsxs)(G,{disabled:n,value:s,onValueChange:c,children:[l,u]}),t[10]=n,t[11]=s,t[12]=c,t[13]=l,t[14]=d):d=t[14];let f;return t[15]!==o||t[16]!==d?(f=(0,Q.jsx)(Y,{...a,description:`Maximum recording rate. 30 fps saves CPU and storage; 60 fps is smoother.`,resetAction:o,control:d}),t[15]=o,t[16]=d,t[17]=f):f=t[17],f}function Nn(e){return(0,Q.jsxs)(H,{hideIndicator:!0,value:String(e),children:[e,` fps`]},e)}function Pn(e){return e.browserRecordingFrameRate}var Fn={system:`Your default browser`,app:`P4 Code`};function In(e){let t=(0,Z.c)(19),{disabled:n}=e,r=q(Rn),i=J(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-link-target`),t[0]=a):a=t[0];let o;t[1]!==n||t[2]!==r||t[3]!==i?(o=!n&&r!==`system`?(0,Q.jsx)($e,{label:`link target`,onClick:()=>i({browserLinkTarget:j})}):null,t[1]=n,t[2]=r,t[3]=i,t[4]=o):o=t[4];let s;t[5]===i?s=t[6]:(s=e=>{(e===`system`||e===`app`)&&i({browserLinkTarget:e})},t[5]=i,t[6]=s);let c=Fn[r],l;t[7]===c?l=t[8]:(l=(0,Q.jsx)(W,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Open links in`,children:(0,Q.jsx)(se,{children:c})}),t[7]=c,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=Object.keys(Fn),t[9]=u):u=t[9];let d;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(U,{align:`end`,alignItemWithTrigger:!1,children:u.map(Ln)}),t[10]=d):d=t[10];let f;t[11]!==n||t[12]!==r||t[13]!==s||t[14]!==l?(f=(0,Q.jsxs)(G,{disabled:n,value:r,onValueChange:s,children:[l,d]}),t[11]=n,t[12]=r,t[13]=s,t[14]=l,t[15]=f):f=t[15];let p;return t[16]!==o||t[17]!==f?(p=(0,Q.jsx)(Y,{...a,description:`Where links in the chat and terminal open. Hold ⌘ or Ctrl while clicking a link to open it in your default browser either way.`,resetAction:o,control:f}),t[16]=o,t[17]=f,t[18]=p):p=t[18],p}function Ln(e){return(0,Q.jsx)(H,{hideIndicator:!0,value:e,children:Fn[e]},e)}function Rn(e){return e.browserLinkTarget}function zn(){let e=(0,Z.c)(7),{search:t,environment:n}=tt(),r=Xe(),i=n?.connection.phase===`connected`&&n.serverConfig!==null?n.environmentId:null,a;e[0]===t?a=e[1]:(a=JSON.stringify(t),e[0]=t,e[1]=a);let o=`${i}:${a}`,s;return e[2]!==i||e[3]!==r.enableAgentDeviceAccess||e[4]!==r.enableDeviceSupport||e[5]!==o?(s=(0,Q.jsx)(et,{id:`devices`,title:`Devices`,children:(0,Q.jsx)(Bn,{environmentId:i,enabled:r.enableDeviceSupport,agentAccessEnabled:r.enableAgentDeviceAccess},o)}),e[2]=i,e[3]=r.enableAgentDeviceAccess,e[4]=r.enableDeviceSupport,e[5]=o,e[6]=s):s=e[6],s}function Bn({environmentId:e,enabled:t,agentAccessEnabled:n}){let r=ve(e,s),{state:i,loaded:a}=je(e),{scope:o,environments:c,connectedEnvironments:l}=tt(),u=Ye(),d=o.kind===`project`||o.kind===`checkout`,f=l.some(e=>e.serverConfig?.settings.enableDeviceSupport),p=be(Me.configure,{reportFailure:!1}),m=be(Me.list,{reportFailure:!1}),[h,g]=(0,$.useState)(null),_=i.hostStatus===`installing`||i.hostStatus===`starting`,v=i.hosts.some(e=>e.kind===`local`&&!e.platforms.some(e=>e.available)),[y,b]=(0,$.useState)(!1);y&&!t&&b(!1),t&&!y&&(i.hostStatus===`ready`||v)&&h!==`hub`&&b(!0);let x=async(t,n)=>{if(e&&ye(e,`settings:write`)){g(t);try{let e=await Promise.allSettled(c.map(async e=>{if(e.connection.phase!==`connected`||!e.serverConfig)throw Error(`Environment disconnected`);if(!ye(e.environmentId,`settings:write`))throw Error(`This connection cannot change device settings.`);return p({environmentId:e.environmentId,input:{...n,...n.enabled?{onboardingCompleted:!0}:{}}})})),t=c.filter((t,n)=>{let r=e[n];return r?.status!==`fulfilled`||r.value._tag===`Failure`});t.length>0&&K.add({type:`error`,title:`Device settings not saved on all environments`,description:`Could not update ${t.map(e=>e.label).join(`, `)}.`})}finally{g(null)}}},[S,C]=(0,$.useState)(null),w=i.hosts.find(e=>e.kind===`local`)?.tools,E=t=>{let n=w?.[t],r=n&&!n.installedVersions.includes(n.requiredVersion);return(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[i.supportsToolUpdate&&r?(0,Q.jsx)(T,{size:`sm`,disabled:!e||h!==null||_,onClick:()=>{e&&(C(null),g(`update-${t}`),m({environmentId:e,input:{updateTool:t}}).then(e=>{e._tag===`Failure`&&C({tool:t,message:`Update failed. Check this host's network connection and try again.`})}).finally(()=>g(null)))},children:h===`update-${t}`?`Updating…`:`Update to v${n.requiredVersion}`}):null,i.supportsToolInspection?(0,Q.jsx)(T,{size:`sm`,variant:`outline`,disabled:!e||h!==null||_,onClick:()=>{e&&(g(`check`),m({environmentId:e,input:{inspectOnly:!0}}).finally(()=>g(null)))},children:h===`check`?`Checking…`:`Check versions`}):null]}),S?.tool===t?(0,Q.jsx)(`p`,{role:`alert`,className:`text-xs text-destructive`,children:S.message}):null]})};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Y,{...X(`device-hub`),serverScoped:!0,settingKeys:[`enableDeviceSupport`],description:Le,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(xt,{action:E(`hub`),kind:`hub`,tools:i.hosts.find(e=>e.kind===`local`)?.tools}),h===`hub`?(0,Q.jsx)(Ie,{state:i,pending:!0,compact:!0}):null,(0,Q.jsx)(_t,{settingKeys:[`enableDeviceSupport`],checked:t,disabled:!r||d||!a||!e||_||h!==null,"aria-label":`Device hub`,onCheckedChange:e=>void x(`hub`,{enabled:!!e,...e?{}:{agentAccessEnabled:!1}})})]})}),(0,Q.jsx)(Be,{children:y?(0,Q.jsx)(Y,{...X(`device-platform-support`),description:l.length>1?`Status for ${l.find(t=>t.environmentId===e)?.label}. Select an environment to inspect its simulator support.`:void 0,status:(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-x-5 gap-y-2`,children:[(0,Q.jsx)(Fe,{compact:!0,platform:`iOS`,status:Re(i,`ios`)}),(0,Q.jsx)(Fe,{compact:!0,platform:`Android`,status:Re(i,`android`)})]}),control:(0,Q.jsx)(T,{size:`sm`,variant:`outline`,disabled:!e||!t||_||h!==null,onClick:()=>{e&&(g(`check`),m({environmentId:e,input:{}}).finally(()=>g(null)))},children:h===`check`?`Checking…`:`Refresh`})}):null}),(0,Q.jsx)(Y,{...X(`agent-device-access`),serverScoped:!0,settingKeys:[`enableAgentDeviceAccess`],description:Ne,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(xt,{action:E(`agent`),kind:`agent`,tools:i.hosts.find(e=>e.kind===`local`)?.tools}),h===`agent`?(0,Q.jsx)(ze,{state:i,pending:!0,compact:!0}):null,(0,Q.jsx)(_t,{settingKeys:[`enableAgentDeviceAccess`],checked:n,disabled:!r||l.length===0||!d&&(!a||!f||_)||h!==null,"aria-label":`Agent device access`,onCheckedChange:e=>d?u({enableAgentDeviceAccess:!!e}):void x(`agent`,{agentAccessEnabled:!!e})})]})}),e?(0,Q.jsx)(Pe,{state:{...i,hosts:i.hosts.filter(e=>e.kind===`local`)},environmentId:e}):null,(0,Q.jsx)(Pt,{environmentId:e})]})}function Vn(e){let t=(0,Z.c)(14),{disabled:n}=e,r=q(Hn),i=J(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-auto-show-floating-preview`),t[0]=a):a=t[0];let o;t[1]!==r||t[2]!==n||t[3]!==i?(o=!n&&r!==!0?(0,Q.jsx)($e,{label:`auto-show floating preview`,onClick:()=>i({browserAutoShowFloatingPreview:!0})}):null,t[1]=r,t[2]=n,t[3]=i,t[4]=o):o=t[4];let s;t[5]===i?s=t[6]:(s=e=>i({browserAutoShowFloatingPreview:!!e}),t[5]=i,t[6]=s);let c;t[7]!==r||t[8]!==n||t[9]!==s?(c=(0,Q.jsx)(pt,{disabled:n,checked:r,onCheckedChange:s,"aria-label":`Auto-show floating preview`}),t[7]=r,t[8]=n,t[9]=s,t[10]=c):c=t[10];let l;return t[11]!==o||t[12]!==c?(l=(0,Q.jsx)(Y,{...a,description:`Show the floating preview when an agent opens a browser or device unless the agent says otherwise.`,resetAction:o,control:c}),t[11]=o,t[12]=c,t[13]=l):l=t[13],l}function Hn(e){return e.browserAutoShowFloatingPreview}function Un({disabled:e}){let t=q(e=>e.browserProfiles),n=q(e=>e.browserDefaultProfileId),r=me(),o=J(),{environments:s,isReady:c}=fe(),l=de(),[u,d]=(0,$.useState)(null),[h,b]=(0,$.useState)(null),[x,S]=(0,$.useState)(null),[w,E]=(0,$.useState)(null),[O,k]=(0,$.useState)(null),[j,P]=(0,$.useState)(!1),F=ne(),L=be(Ue.clearProfile,{reportFailure:!1}),ee={environmentIds:s.map(e=>e.environmentId).filter(e=>F.get(e)?.environment.capabilities.serverBrowser===!0),clear:async(e,t)=>{let n=await L({environmentId:e,input:{profileId:t}});if(n._tag===`Failure`)throw te(n)}},z=ln(ft!==null,c,s.length,ee.environmentIds.length),B=(0,$.useRef)(!1),[re,ie]=(0,$.useState)(!1),V=e||!r,ae=M(t).filter(e=>e.kind!==`incognito`),oe=N(ae,n)?.id??`default`,H=e=>{if(!r||B.current)return;let t=ge().browserProfiles;if(t.length>=24)return;let n=M(t),i=new Set(n.map(e=>e.name)),a=e;for(let t=2;i.has(a);t+=1)a=`${e} ${t}`;let s={id:`profile-${C()}`,name:a,kind:`persistent`};return o({browserProfiles:[...t,s]}),s},se=(e,t)=>{if(!r||B.current)return;let n=t.trim().slice(0,48);if(n===``)return;let i=ge().browserProfiles;o({browserProfiles:i.map(t=>t.id===e?{...t,name:n}:t)})},ce=(e,t)=>{if(r&&!B.current){if(!z){K.add({type:`error`,title:`Could not clear ${t}'s data`,description:`You're not connected to a server yet.`});return}cn(ft,s.map(e=>e.environmentId),e,ee).then(()=>{K.add({type:`success`,title:`Cleared ${t}'s cookies and cache`})}).catch(()=>{K.add({type:`error`,title:`Could not clear ${t}'s data`})})}},U=async e=>{if(!r||B.current)return;if(!z){k(`Connect to an environment before removing this profile.`);return}k(null),P(!0);try{await cn(ft,c?s.map(e=>e.environmentId):[],e,ee)}catch{k(`Profile data could not be deleted. Try again.`),P(!1);return}let t=ge();o({browserProfiles:t.browserProfiles.filter(t=>t.id!==e),...t.browserDefaultProfileId===e?{browserDefaultProfileId:g}:{}}),P(!1),S(null)},le=(u??[]).filter(e=>e.unavailable!==`notInstalled`&&e.unavailable!==`unsupportedPlatform`),W=(0,$.useCallback)(()=>{ft&&ft.listBrowserImportSources().then(d).catch(()=>d(e=>e??[]))},[]),G=async(e,t,n)=>{if(!ft||!r)return{kind:`blocked`,reason:`sessionUnavailable`};if(n.target.kind===`existing`&&!M(ge().browserProfiles).some(e=>e.id===n.target.profileId)||B.current)return{kind:`blocked`,reason:`readFailed`};B.current=!0,ie(!0);try{let r=await ft.importBrowserCookies({environmentId:t,sourceId:e.id,sourceProfileDirectory:n.sourceProfileDirectory,targetProfileId:n.target.profileId});if(n.target.kind===`existing`&&!M(ge().browserProfiles).some(e=>e.id===n.target.profileId))return{kind:`blocked`,reason:`readFailed`};let i;if(n.target.kind===`new`){if(r.imported>0)try{i=(await he(t=>{if(t.browserProfiles.find(e=>e.id===n.target.profileId))return t;if(t.browserProfiles.length>=24)throw new mn;let r=new Set(M(t.browserProfiles).map(e=>e.name)),i=e.name;for(let t=2;r.has(i);t+=1)i=`${e.name} ${t}`;return{...t,browserProfiles:[...t.browserProfiles,{id:n.target.profileId,name:i,kind:`persistent`}]}})).browserProfiles.find(e=>e.id===n.target.profileId)?.name??e.name}catch(r){await cn(ft,[t],n.target.profileId).catch(()=>void 0);let i=r instanceof mn?`profileLimitReached`:`profileNotSaved`;throw Error(`Importing cookies from ${e.id} failed: ${i}.`,{cause:r})}else i=e.name}else i=n.target.name;return{kind:`imported`,imported:r.imported,skipped:r.skipped,skippedDomains:r.skippedDomains,targetName:i}}catch(e){return{kind:`blocked`,reason:hn(e)}}finally{B.current=!1,ie(!1)}},ue=async e=>{if(ft)try{let t=await ft.listBrowserImportSources();return d(t),t.find(t=>t.id===e)}catch{return}},_e=t.length>=24;return(0,Q.jsxs)(Y,{...X(`browser-profiles`),description:`Profiles separate cookies and logins. Incognito data is cleared when the app closes.`,control:(0,Q.jsxs)(p,{onOpenChange:e=>e&&W(),children:[(0,Q.jsxs)(_,{render:(0,Q.jsx)(T,{size:`sm`,variant:`outline`,disabled:V||re}),children:[(0,Q.jsx)(R,{}),`Add profile`]}),(0,Q.jsxs)(m,{align:`end`,children:[(0,Q.jsx)(i,{disabled:!r||_e,onClick:()=>H(`New profile`),children:`Blank profile`}),_e?(0,Q.jsx)(i,{disabled:!0,children:`You’ve reached the profile limit`}):null,(0,Q.jsx)(y,{}),(0,Q.jsxs)(a,{children:[(0,Q.jsx)(D,{children:`Import from`}),u===null?(0,Q.jsx)(i,{disabled:!0,children:`Looking for browsers…`}):le.length===0?(0,Q.jsx)(i,{disabled:!0,children:`No supported browsers found`}):(0,Q.jsxs)(Q.Fragment,{children:[le.map(e=>(0,Q.jsx)(i,{disabled:!r||l==null,onClick:()=>{r&&l!=null&&b({source:e,environmentId:l.environmentId,environmentName:Je({isPrimary:!0,environmentId:l.environmentId,runtimeLabel:l.label})})},children:e.name},e.id)),l==null?(0,Q.jsx)(i,{disabled:!0,children:`Connect to an environment to import cookies`}):null]})]})]})]}),children:[(0,Q.jsx)(`div`,{className:`mt-2 mb-2 overflow-hidden rounded-lg border border-border/60`,children:ae.map((e,t)=>{let n=v(e.id),a=e.id===oe;return(0,Q.jsxs)(`div`,{className:A(`flex items-center gap-3 px-3 py-2`,t>0&&`border-t border-border/60`),children:[(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[n?(0,Q.jsx)(`span`,{className:A(`truncate text-sm text-foreground`,V&&`opacity-64`),children:e.name}):(0,Q.jsx)(gt,{nativeInput:!0,size:`sm`,className:`w-full max-w-56`,"aria-label":`Rename ${e.name}`,disabled:V||re,maxLength:48,value:e.name,onCommit:t=>se(e.id,t)}),a?(0,Q.jsx)(`span`,{className:A(`flex`,V&&`opacity-64`),children:(0,Q.jsx)(f,{children:`Default`})}):null]}),(0,Q.jsxs)(p,{children:[(0,Q.jsx)(_,{render:(0,Q.jsx)(T,{size:`icon-xs`,variant:`ghost-muted`,disabled:V||re,"aria-label":`${e.name} options`}),children:(0,Q.jsx)(I,{})}),(0,Q.jsxs)(m,{align:`end`,children:[(0,Q.jsx)(i,{disabled:!r||a,onClick:()=>{r&&o({browserDefaultProfileId:e.id})},children:`Set as default`}),(0,Q.jsx)(i,{disabled:!r||!z,onClick:()=>{ee.environmentIds.length>0?E(e):ce(e.id,e.name)},children:`Clear cookies and cache`}),n?null:(0,Q.jsx)(i,{variant:`destructive`,disabled:!r||!z,onClick:()=>{r&&S(e)},children:`Remove profile and data`}),z?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(y,{}),(0,Q.jsx)(i,{disabled:!0,children:c?`Connect to an environment to clear profile data`:`Checking environments…`})]})]})]})]},e.id)})}),(0,Q.jsx)(mt,{open:x!==null,onOpenChange:e=>{!e&&!j&&(S(null),k(null))},children:(0,Q.jsxs)(dt,{children:[(0,Q.jsxs)(ot,{children:[(0,Q.jsxs)(nt,{children:[`Remove “`,x?.name,`”?`]}),(0,Q.jsx)(it,{children:`Its cookies and logins are deleted. Desktop tabs already open in this profile stay open until you close them; server browser tabs close now.`}),O?(0,Q.jsx)(`p`,{"aria-live":`polite`,className:`text-sm text-destructive`,children:O}):null,z?null:(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connect to an environment to remove this profile and its data.`})]}),(0,Q.jsxs)(rt,{children:[(0,Q.jsx)(st,{disabled:j,render:(0,Q.jsx)(T,{variant:`outline`,disabled:j}),children:`Cancel`}),(0,Q.jsx)(T,{variant:`destructive`,disabled:j||!r||!z,onClick:()=>{x&&r&&z&&U(x.id)},children:j?`Removing…`:`Remove profile`})]})]})}),(0,Q.jsx)(mt,{open:w!==null,onOpenChange:e=>{e||E(null)},children:(0,Q.jsxs)(dt,{children:[(0,Q.jsxs)(ot,{children:[(0,Q.jsxs)(nt,{children:[`Clear “`,w?.name,`”’s cookies and cache?`]}),(0,Q.jsx)(it,{children:`You are signed out of its sites. Server browser tabs open in this profile close now.`})]}),(0,Q.jsxs)(rt,{children:[(0,Q.jsx)(st,{render:(0,Q.jsx)(T,{variant:`outline`}),children:`Cancel`}),(0,Q.jsx)(T,{variant:`destructive`,onClick:()=>{w&&ce(w.id,w.name),E(null)},children:`Clear data`})]})]})}),h?(0,Q.jsx)(Jt,{source:h.source,destinationEnvironmentName:h.environmentName,targetProfiles:ae.map(e=>({id:e.id,name:e.name})),canCreateProfile:r&&!_e,onImport:e=>G(h.source,h.environmentId,e),onRefreshSource:()=>ue(h.source.id),onCheckFullDiskAccess:window.desktopBridge?.checkSystemPermission?()=>window.desktopBridge.checkSystemPermission(`full-disk-access`):void 0,onOpenFullDiskAccessSettings:async()=>{await pe()?.shell.openSystemSettings(`full-disk-access`).catch(()=>{K.add({type:`error`,title:`Could not open System Settings`,description:`Open Privacy & Security → Full Disk Access manually.`})})},onClose:()=>b(null)}):null]})}function Wn(){let e=(0,Z.c)(3),t=!xe,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Un,{disabled:t}),(0,Q.jsx)(bn,{disabled:t}),(0,Q.jsx)(Cn,{disabled:t}),(0,Q.jsx)(En,{disabled:t}),(0,Q.jsx)(Mn,{disabled:t}),(0,Q.jsx)(kn,{disabled:t}),(0,Q.jsx)(In,{disabled:t}),(0,Q.jsx)(Vn,{disabled:t})]}),e[0]=n):n=e[0];let r=n,i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(ht,{category:`integrations`}),e[1]=i):i=e[1];let a;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsxs)(Qe,{children:[i,(0,Q.jsx)(et,{id:`browser`,title:`Browser`,children:t?(0,Q.jsx)(Ze,{message:`Only available in the desktop app.`,children:r}):r}),(0,Q.jsx)(zn,{})]}),e[2]=a):a=e[2],a}var Gn=Wn;export{Gn as component};
|
|
2
|
-
//# sourceMappingURL=settings.integrations-Dq9yt9c-.js.map
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ProjectIconPickerDialog-Dwmv78OH.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/Icon-l19w4AjM.js","assets/utils-geC9CGP4.js","assets/brain-B_3rxsLd.js","assets/createLucideIcon-CacG5mZC.js","assets/check-Cmy7pM2Y.js","assets/chevron-down-DHV04o66.js","assets/chevron-right-NbahR9_s.js","assets/toggle-group-BtpeJU3C.js","assets/CompositeRoot-ykxKqF8U.js","assets/toggle-4i71sOFB.js","assets/input-BOT1WFGI.js","assets/FieldControl-CWR3fEt0.js","assets/useRegisterFieldControl-BVraoamc.js","assets/scroll-area-Cj3OF_L_.js","assets/CSPContext-B1m61J9R.js","assets/dialog-BBidAZq_.js","assets/x-CSwbgjBe.js","assets/DialogTitle-Cwi7QOum.js","assets/ProjectMonogram-BgobvHld.js","assets/dynamic-BRlOHH6g.js","assets/index-FZqrCEhr.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./index-FZqrCEhr.js";import{r as n}from"./Icon-l19w4AjM.js";import{Cm as r,E as i,Jn as a,Kn as o,Ls as s,Of as c,Pf as l,Rs as u,Sf as d,Sx as f,Vo as p,Wn as m,Xn as h,ar as g,er as _,gc as v,ma as y,n as b,or as x,os as S,ps as C,qn as w,r as T,rn as E,zv as D}from"./utils-geC9CGP4.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-BoEmkhOe.js";import{C as j,P as ae,W as M,k as N}from"./entities-yblphBg3.js";import{yn as P}from"./runtime-BUB2ex14.js";import{t as F}from"./useNavigate-CnhAAl0Z.js";import{t as I}from"./useLocation-DaTcl6iI.js";import{i as L}from"./toast-CIGvRti2.js";import{E as oe,J as R,K as z,O as B}from"./useSettings-CNd8OM7A.js";import{f as V,s as H}from"./server-DNo9AqHW.js";import{n as U,o as W}from"./session-CyPECDtf.js";import{t as G}from"./use-atom-command-Bc7LgQy1.js";import{n as K}from"./toastHelpers-Dsph6LwL.js";import{i as q,o as J,r as Y}from"./command-CVKxjYiJ.js";import{t as X}from"./input-BOT1WFGI.js";import{A as se,D as ce,E as le,T as ue,v as de}from"./keybindings-B4uuYLfE.js";import{t as fe}from"./PierreEntryIcon-DeBbijxO.js";import{t as pe}from"./ProjectFavicon-BhJj4G_1.js";import{u as me}from"./projectFilesQueryState-DLmHVuBp.js";import{n as he}from"./p4ProjectFile-DVeZFEli.js";import{r as ge,t as _e}from"./alert-DUQHh6vz.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-De_r3pyr.js";import{Sn as we,Va as Te,hn as Ee,ni as De,oi as Oe,wn as ke}from"./main-Ch0n0whg.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-_TwHfcHY.js";import{t as Re}from"./ProjectDefaultsSettings-Cu80XFdb.js";import{t as ze}from"./SettingsScopeNotice-CAaNSKvu.js";var Be=f(),Q=e(n(),1),$=e(y(),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!T(t)||P(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}=z(),l=p(H),u=e.onPickExternal,d=b(typeof navigator>`u`?``:navigator.platform),f=(0,Q.useMemo)(()=>Ee(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)(Y,{open:e.open,onOpenChange:e.onOpenChange,children:e.open?(0,$.jsx)(q,{"aria-label":`Choose project icon`,className:`overflow-hidden`,onBackdropPointerDown:()=>e.onOpenChange(!1),children:(0,$.jsx)(ke,{"aria-label":`Choose project icon`,autoHighlight:`always`,escapeLabel:`Close`,footerActionLabel:`Select icon`,footerTrailing:u?(0,$.jsx)(J,{disabled:a,onClick:()=>{o(!0),u().then(t=>{t&&(e.onOpenChange(!1),e.onSelect(t))}).catch(e=>{L.add({type:`error`,title:`Could not open image picker`,description:e instanceof Error?e.message:`An error occurred.`})}).finally(()=>o(!1))},children:`Open in ${d}`}):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)(we,{groups:f.length>0?[{value:`project-favicon-files`,label:e.projectName,items:f}]:[],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)(x,{size:`icon-xs`,variant:`ghost-muted`,"aria-label":`Edit ${e.name}`,disabled:i,onClick:()=>a(e),children:(0,$.jsx)(Te,{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);L.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=G(V.updateSettings,`project actions update`),o=G(V.upsertKeybinding,`action shortcut update`),s=G(V.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 L.add({type:`error`,title:`Actions not saved`,description:e}),S(D(Error(e)))}if(e.some(({environmentId:e})=>!U(e,`settings:write`)))return Ge(S(D(new l({requiredScope:c,message:`This connection cannot change environment settings.`}))));i.current=!0,r(!0);try{for(let{environmentId:r,settings:i,keybindings:c,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=le(e),a=Ae(c,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 s({environmentId:r,input:u}):null;if(h?._tag===`Failure`)return Ge(h)}}return C(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??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:i}=Ce(),{environments:s}=oe(),c=t.kind===`project`||t.kind===`checkout`,l;e[0]!==s||e[1]!==i?(l=i?s.find(e=>e.environmentId===i.environmentId)?.serverConfig:void 0,e[0]=s,e[1]=i,e[2]=l):l=e[2];let u=l,d;e[3]===i?.settings.defaultProjectScripts?d=e[4]:(d=i?.settings.defaultProjectScripts??[],e[3]=i?.settings.defaultProjectScripts,e[4]=d);let f=d,p=u?.keybindings??v,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 b=y,S=ve(),[C,T]=(0,Q.useState)(null),E,D,te;e[10]!==s||e[11]!==c||e[12]!==t.members||e[13]!==n?(E=new Map(c?t.members.map(Ye):[]),D=Ke,te=n.flatMap(e=>{let t=s.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]=s,e[11]=c,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]!==i?(j=i?.projectId?E.get(i.projectId):void 0,e[17]=E,e[18]=i,e[19]=j):j=e[19];let ae=j,M;e[20]===ae?.environmentId?M=e[21]:(M=ae?.environmentId??r.make(`none`),e[20]=ae?.environmentId,e[21]=M);let N=Pe(M,ae?.workspaceRoot??null),P;if(e[22]!==f||e[23]!==N.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),P=N.scripts.filter(t),e[22]=f,e[23]=N.scripts,e[24]=P}else P=e[24];let F=P,I;e[27]===A?I=e[28]:(I=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]=I);let L=I,R;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(R=[`defaultProjectScripts`],e[29]=R):R=e[29];let z;e[30]===k?z=e[31]:(z=()=>void k(Je),e[30]=k,e[31]=z);let B;e[32]!==S||e[33]!==L||e[34]!==F||e[35]!==O?(B=F.length>0?(0,$.jsxs)(m,{children:[(0,$.jsxs)(g,{render:(0,$.jsx)(x,{id:`import-scripts`,size:`xs`,variant:`ghost`,disabled:O||!S,type:`button`}),children:[`Import scripts`,(0,$.jsx)(ee,{className:`size-3.5`})]}),(0,$.jsxs)(h,{align:`end`,children:[(0,$.jsxs)(o,{children:[(0,$.jsx)(w,{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)(_,{}),F.map(e=>(0,$.jsxs)(a,{onClick:()=>void L(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]=L,e[34]=F,e[35]=O,e[36]=B):B=e[36];let V=O||!S||n.length===0,H,U;e[37]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>T({scriptId:null,initial:Le}),U=(0,$.jsx)(ne,{className:`size-3.5`}),e[37]=H,e[38]=U):(H=e[37],U=e[38]);let W;e[39]===V?W=e[40]:(W=(0,$.jsxs)(x,{size:`xs`,variant:`outline`,disabled:V,onClick:H,children:[U,`Add action`]}),e[39]=V,e[40]=W);let G;e[41]!==B||e[42]!==W?(G=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[B,W]}),e[41]=B,e[42]=W,e[43]=G):G=e[43];let K;e[44]!==b||e[45]!==z||e[46]!==G?(K=(0,$.jsx)(Z,{serverScoped:!0,settingKeys:R,mixed:b,title:`Actions`,description:`Commands that run in this project's checkout or its worktree, with optional shortcuts.`,onResetOverride:z,control:G}),e[44]=b,e[45]=z,e[46]=G,e[47]=K):K=e[47];let q;e[48]!==S||e[49]!==p||e[50]!==b||e[51]!==O||e[52]!==f?(q=b?(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:p,disabled:O||!S,onEdit:e=>T(Me(e,p))}),e[48]=S,e[49]=p,e[50]=b,e[51]=O,e[52]=f,e[53]=q):q=e[53];let J;e[54]===N.status?J=e[55]:(J=N.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]=N.status,e[55]=J);let Y;e[56]!==k||e[57]!==C||e[58]!==f||e[59]!==A||e[60]!==i?(Y=i&&(0,$.jsx)(Ne,{environmentId:i.environmentId,editScope:`settings:write`,request:C,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]=C,e[58]=f,e[59]=A,e[60]=i,e[61]=Y):Y=e[61];let X;return e[62]!==K||e[63]!==q||e[64]!==J||e[65]!==Y?(X=(0,$.jsxs)(Se,{id:`project-actions`,title:`Actions`,children:[K,q,J,Y]}),e[62]=K,e[63]=q,e[64]=J,e[65]=Y,e[66]=X):X=e[66],X}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-Dwmv78OH.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=F(c),u;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(u={select:tt},t[1]=u):u=t[1];let d=I(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=F({from:`/settings`}),r=B(),{environments:a}=oe(),o=(0,Q.useMemo)(()=>new Map(a.map(e=>[e.environmentId,e])),[a]),c=W(e.memberProjects,d),l=e.memberProjects.every(e=>c.has(e.environmentId)),f=e.memberProjects.find(e=>o.get(e.environmentId)?.serverConfig!=null)??e.memberProjects[0],p=N(),m=De(M.update,{reportFailure:!1}),h=De(M.delete,{reportFailure:!1}),g=(0,Q.useRef)(!1),_=f.faviconPath??null,v=f.projectIcon??null,y=typeof window<`u`&&e.memberProjects.every(e=>e.environmentId===r&&He(e.workspaceRoot,navigator.platform))?window.desktopBridge?.pickProjectFavicon:void 0,b=(0,Q.useCallback)((e,t)=>{if(t._tag!==`Failure`||re(t))return;let n=ie(t);L.add(K({type:`error`,title:e,description:n instanceof Error?n.message:`An error occurred.`}))},[]),w=(0,Q.useCallback)((e,t)=>{let n=e.find(e=>!U(e.environmentId,d));if(!n)return null;let r=S(D(Error(`This connection cannot change projects in ${n.environmentLabel??`this environment`}.`)));return b(t,r),r},[b]),T=(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=S(D(e));return b(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 b(e.memberProjects.length>1?`${n} on ${r.environmentLabel??`the current environment`}`:n,a),a}return C(void 0)},[w,o,e.memberProjects,b,m]),ee=(0,Q.useCallback)(async(t,n)=>{let r=t.trim();if(!r){L.add({type:`warning`,title:`Project title cannot be empty`});return}Xe(e.memberProjects.map(e=>e.title),r,n)&&await T({title:r},`Failed to rename project`)},[e.memberProjects,T]),[ne,j]=E(!l),[P,I]=E(!l),[z,V]=(0,Q.useState)(!1),H=(0,Q.useRef)(!1),G=(0,Q.useCallback)(async e=>{if(!H.current){H.current=!0,V(!0);try{await T(e,`Failed to update project icon`)}finally{H.current=!1,V(!1)}}},[T]),q=e.memberProjects.length>1,J=(0,Q.useCallback)(async r=>{if(w(r,`Failed to remove project`))return;let a=R();if(!a)return;let o=new Set(r.map(Qe)),c=p.filter(e=>o.has(`${e.environmentId}:${e.projectId}`)),l=r.length===e.memberProjects.length,d=t||!l?`checkout`:`project`,f=r.length===1?r[0]:null,m=f?.title??e.displayName,g=await k(()=>a.dialogs.confirm([c.length>0?`Remove ${d} "${m}" and delete its ${c.length} thread${c.length===1?``:`s`}?`:`Remove ${d} "${m}"?`,...f?[`Path: ${f.workspaceRoot}`,...f.environmentLabel?[`Environment: ${f.environmentLabel}`]:[]]:[`This removes ${r.length} grouped project entries.`],...c.length>0?[`This permanently clears conversation history for those threads and any archived threads.`]:[`This permanently clears any archived conversation history.`],l&&!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(g._tag===`Failure`||!g.value||w(r,`Failed to remove project`))return;let _=i.getState();for(let e of r){if(w([e],`Failed to remove project`))return;let t=c.filter(t=>t.environmentId===e.environmentId&&t.projectId===e.id),n=A(await h({environmentId:e.environmentId,input:{projectId:e.id,force:!0}}),()=>void 0);if(n._tag===`Failure`){b(`Failed to remove "${e.title}"`,n);return}let r=s(e.environmentId,e.id);await ae(r),Oe(r,t.map(e=>u(e.environmentId,e.id)));let i=_.getDraftThreadByProjectRef(r);i&&_.clearDraftThread(i.draftId),_.clearProjectDraftThreadId(r)}l&&!t&&n({to:`/`,replace:!0})},[w,h,e.displayName,e.memberProjects.length,t,n,b,p]),Y=(0,$.jsx)(Se,{title:`Checkouts`,children:e.memberProjects.map(e=>(0,$.jsx)(Z,{title:e.environmentLabel??`Environment`,description:e.workspaceRoot,control:(0,$.jsx)(x,{size:`sm`,variant:`outline`,disabled:!c.has(e.environmentId),onClick:()=>void J([e]),"aria-label":`Remove checkout ${e.workspaceRoot}`,children:`Remove`})},e.physicalProjectKey))});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(be,{className:`gap-6`,children:[(0,$.jsxs)(_e,{variant:`info`,children:[(0,$.jsx)(te,{"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)(Se,{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)(X,{size:`sm`,className:`w-full sm:w-64`,"aria-label":`Project name`,disabled:!l,defaultValue:e.displayName,onChange:()=>{g.current=!0},onBlur:e=>{let t=g.current;g.current=!1,ee(e.currentTarget.value,t)},onKeyDown:e=>{e.key===`Enter`&&e.currentTarget.blur()}},`${e.projectKey}:${e.displayName}`)}),(0,$.jsx)(Z,{title:`Project icon`,description:v?.kind===`lucide`?`${v.name} · ${v.color}`:v?.kind===`monogram`?`${v.text} · ${v.color}`:v?.kind===`emoji`?v.emoji:_??`Automatic`,resetAction:e.memberProjects.some(e=>e.faviconPath!=null||e.projectIcon!=null)?(0,$.jsx)(xe,{label:`project icon`,disabled:z||!l,onClick:()=>void G({faviconPath:null,projectIcon:null})}):null,control:(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(pe,{project:f,className:`size-6`}),(0,$.jsx)(x,{size:`sm`,variant:`outline`,type:`button`,"aria-label":`Choose a project icon`,disabled:z||!l,onClick:()=>I(!0),children:`Choose icon`}),(0,$.jsx)(x,{size:`sm`,variant:`outline`,type:`button`,"aria-label":`Choose a project icon file`,disabled:z||!l,onClick:()=>j(!0),children:`Choose file`})]})})]}),(0,$.jsx)(Re,{category:`project`}),(0,$.jsx)(qe,{}),q?Y:null,(0,$.jsx)(Se,{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)(x,{size:`sm`,variant:`destructive-outline`,disabled:!l,onClick:()=>void J(e.memberProjects),children:[(0,$.jsx)(O,{}),t?`Remove checkout`:e.memberProjects.length>1?`Remove all entries`:`Remove project`]})})})]}),(0,$.jsx)(Ue,{cwd:f.workspaceRoot,environmentId:f.environmentId,onOpenChange:j,...y?{onPickExternal:()=>y(f.workspaceRoot)}:{},onSelect:e=>void G({faviconPath:e,projectIcon:null}),open:ne&&l,projectName:e.displayName},`${f.environmentId}:${f.workspaceRoot}:${ne}`),P&&l?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Ze,{current:v,projectName:f.title,open:!0,onOpenChange:I,onSelect:e=>void G({faviconPath:null,projectIcon:e})})}):null]})}function rt(){let e=(0,Be.c)(7),{search:t,scope:n}=Ce(),i=n.kind===`project`||n.kind===`checkout`||n.kind===`unavailable`&&(n.reason===`project-missing`||n.reason===`checkout-missing`),a;return e[0]!==i||e[1]!==n.kind||e[2]!==n.message||e[3]!==t.checkout||e[4]!==t.machine||e[5]!==t.project?(a=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:t.project&&i?(0,$.jsx)($e,{projectKey:t.project,environmentId:t.machine?r.make(t.machine):null,checkoutKey:t.checkout??null}):n.kind===`unavailable`?(0,$.jsx)(be,{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]=i,e[1]=n.kind,e[2]=n.message,e[3]=t.checkout,e[4]=t.machine,e[5]=t.project,e[6]=a):a=e[6],a}var it=rt;export{it as component};
|
|
4
|
-
//# sourceMappingURL=settings.projects-Bj9oI9dE.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ProviderAuthTerminal-CJSJcjB9.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/Icon-l19w4AjM.js","assets/utils-geC9CGP4.js","assets/brain-B_3rxsLd.js","assets/createLucideIcon-CacG5mZC.js","assets/check-Cmy7pM2Y.js","assets/chevron-down-DHV04o66.js","assets/chevron-right-NbahR9_s.js","assets/useSettings-CNd8OM7A.js","assets/runtime-BoEmkhOe.js","assets/runtime-BUB2ex14.js","assets/toast-CIGvRti2.js","assets/archive-0Qz6rgBl.js","assets/circle-alert-B83jEPoh.js","assets/circle-check-Y1T60J9X.js","assets/clock-bc9N_wA2.js","assets/info-BHB-83EA.js","assets/pin-DfMqpQHz.js","assets/trash-2-CiyAV2xI.js","assets/triangle-alert-BiHUyRl3.js","assets/x-CSwbgjBe.js","assets/tooltip-Ciaezkl4.js","assets/env-wK1YYxA8.js","assets/spinner-rP6J82Of.js","assets/loader-circle-B3Ce8JIQ.js","assets/useParams-s9hrFQQQ.js","assets/server-DNo9AqHW.js","assets/session-CyPECDtf.js","assets/use-atom-command-Bc7LgQy1.js","assets/themePalette-au2ZXbqB.js","assets/ThreadTerminalDrawer-Z7ArIuq0.js","assets/plus-Cr075-cy.js","assets/square-split-horizontal-Ba4BZbro.js","assets/square-split-vertical-BqJX4cZa.js","assets/square-terminal-CB0QR1vW.js","assets/square-DVrCvZRU.js","assets/rightPanelStore-Dnc28mSJ.js","assets/fileLinks-M_i1pQMr.js","assets/toastHelpers-Dsph6LwL.js","assets/observeResize-CK9qVTLF.js","assets/browserHistoryStore-D6A_83JY.js","assets/entities-yblphBg3.js","assets/preview-BXSjnvc2.js","assets/keybindings-B4uuYLfE.js","assets/preview-ChiUlq6M.js","assets/browserLinkTarget-BuFHp5RQ.js","assets/popover-UOfX8iZ4.js","assets/panel-tab-close-button-CeVf2Cp1.js","assets/terminalSessions-C9u_KQdo.js","assets/query-DG-FU00d.js","assets/main-Ch0n0whg.js","assets/index-FZqrCEhr.js","assets/arrow-down-DvRecXuy.js","assets/arrow-up-3Yp3lsoe.js","assets/calendar-arrow-down-CAFi0Chs.js","assets/calendar-arrow-up-Cs2MbLyZ.js","assets/calendar-c_JH_1V1.js","assets/chevron-left-DrNh6cTh.js","assets/chevrons-up-down-BMPucOK_.js","assets/circle-arrow-up-kT0Pa2jA.js","assets/external-link-NWS0I_zo.js","assets/folder-git-2-BxqGR5ht.js","assets/folder-CMIvEUJv.js","assets/link-2-B_p2EG7Q.js","assets/list-checks-CQu2FTgJ.js","assets/maximize-2-CHT2IkVy.js","assets/minimize-2-DOhpJbnX.js","assets/monitor-Ddj8MK6z.js","assets/moon-B9ss2TfK.js","assets/refresh-cw-PY_ECjtI.js","assets/search-Cr9eaeTj.js","assets/smartphone-zkhAIn1Q.js","assets/sun-C8irSiA-.js","assets/terminal-6kKaKv-Q.js","assets/unlink-2-DKAoaBiV.js","assets/user-lock-BWt0Um72.js","assets/vcsRefInvalidation-DMpp-BNA.js","assets/number-field-DsVu9T6C.js","assets/minus-C7W28oE7.js","assets/useRegisterFieldControl-BVraoamc.js","assets/FormContext-DyOeI4sU.js","assets/CSPContext-B1m61J9R.js","assets/select-BDMo6Fqt.js","assets/chevron-up-C-w52bD6.js","assets/link-DnyZixWB.js","assets/redirect-D3L17tzd.js","assets/lazyRouteComponent-C2UuNVTE.js","assets/useNavigate-CnhAAl0Z.js","assets/useLocation-DaTcl6iI.js","assets/queries-DbiotSzd.js","assets/diffRendering-BcgWZBc6.js","assets/session-logic-BBZj8pNB.js","assets/htmlRender-Bs_dTcPz.js","assets/mediaSource-C-YyAgza.js","assets/mediaReference-DCRMHOD7.js","assets/usageFormat-DdjdHqj5.js","assets/timestampFormat-wac2e_Jz.js","assets/skeleton-BFPHmDcq.js","assets/useAriaLabelledBy-B_3SmrJo.js","assets/checkbox-Cw_SXlJ5.js","assets/FieldItemContext-Bn6xBVJg.js","assets/toggle-4i71sOFB.js","assets/toggle-group-BtpeJU3C.js","assets/CompositeRoot-ykxKqF8U.js","assets/command-CVKxjYiJ.js","assets/ComboboxClear-CSnbXRcJ.js","assets/input-BOT1WFGI.js","assets/FieldControl-CWR3fEt0.js","assets/scroll-area-Cj3OF_L_.js","assets/DialogTitle-Cwi7QOum.js","assets/dialog-BBidAZq_.js","assets/dist-D-bAcBTo.js","assets/sidebar-Bulbb3cX.js","assets/useResizeDrag-KJl_F2EN.js","assets/AnimatedHeight-BwS0L5jd.js","assets/assets-DwywdbuJ.js","assets/sourceControl-DfhPxa0l.js","assets/openFileInPreview-DsWLDsnf.js","assets/Icons-BlUgSxml.js","assets/PierreEntryIcon-DeBbijxO.js","assets/file-1cutE11R.js","assets/pierre-icons-C4_Is1e6.js","assets/RenderErrorBoundary-DTEG6arv.js","assets/circle-dashed-ChJzoouS.js","assets/circle-dot-DSAuCGJf.js","assets/circle-x-C-GXnJRB.js","assets/user-check-BtCtF_-l.js","assets/user-round-x-D7izbSMH.js","assets/user-round-GtkOza8y.js","assets/threadSort-R2JvSO3D.js","assets/pullRequestIcons-BWiN_14V.js","assets/git-merge-C47N_dux.js","assets/git-pull-request-arrow-C9_ZycDh.js","assets/git-pull-request-closed-BkRFT_Rl.js","assets/git-pull-request-draft-BNpXqUsz.js","assets/layers-BqgDAlx3.js","assets/pullRequests-C0Gr2876.js","assets/ProjectFavicon-BhJj4G_1.js","assets/ProjectMonogram-BgobvHld.js","assets/projectFilesQueryState-DLmHVuBp.js","assets/guideRunStore-Ca6LGvkb.js","assets/pullRequestDetail.logic-CiIqeGLs.js","assets/pullRequestReviewStore-Ckm9o--D.js","assets/EnvironmentMachineIcon-CBS8TSmT.js","assets/cloud-DyVMWy7X.js","assets/laptop-05PEAB3d.js","assets/server-Le_hLOlf.js","assets/sortable.esm-CHiRbsvI.js","assets/useHandleNewThread-Csguf2GC.js","assets/p4ProjectFile-DVeZFEli.js","assets/alert-DUQHh6vz.js","assets/semver-CFbvOQKc.js","assets/sidebarProjectGrouping-DEvzxecx.js","assets/kbd-BR8-VeaN.js","assets/settingsLayout-De_r3pyr.js","assets/undo-2-ZlIXiNdF.js","assets/WorkspacePageContainer-DFsaHi02.js","assets/KeybindingsSettings.logic-Dfld_XQx.js","assets/usageShortcuts-RpypNfqZ.js","assets/primaryCloudLinkState-CFnZkCiA.js","assets/ChatGptUsageButton-GxPReM3u.js","assets/ConnectionStatusDot-BvfbN2Tp.js","assets/standalone-page-BkHTM3MP.js","assets/primary-BubJSDIO.js","assets/onboarding-DWVdcMTo.js","assets/scheduledTasksSettings.logic-Bk1lq8Ri.js","assets/main-BQLZB-ZD.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./index-FZqrCEhr.js";import{r as n}from"./Icon-l19w4AjM.js";import{Al as r,As as i,Cb as a,Cf as o,Hl as s,Jt as c,Lt as l,Of as u,Os as d,Ps as f,Pt as p,Sf as m,Sx as h,Tf as g,Ul as _,Un as v,Vo as y,al as b,bs as x,cm as S,db as C,dm as w,fm as T,gb as E,hl as D,lm as O,ma as k,or as A,rb as ee,sd as j,t as M,tm as N,um as P}from"./utils-geC9CGP4.js";import{t as F}from"./arrow-down-DvRecXuy.js";import{t as te}from"./arrow-up-3Yp3lsoe.js";import{t as I}from"./check-Cmy7pM2Y.js";import{t as L}from"./circle-arrow-up-kT0Pa2jA.js";import{t as R}from"./copy-CoM62e83.js";import{t as z}from"./external-link-NWS0I_zo.js";import{t as B}from"./layers-BqgDAlx3.js";import{t as ne}from"./pencil-CnxrJI7X.js";import{t as re}from"./plus-Cr075-cy.js";import{t as ie}from"./search-Cr9eaeTj.js";import{t as ae}from"./star-DJ6Ycqv6.js";import{t as oe}from"./trash-2-CiyAV2xI.js";import{t as V}from"./triangle-alert-BiHUyRl3.js";import{t as H}from"./x-CSwbgjBe.js";import{L as U,U as se,gt as ce}from"./runtime-BoEmkhOe.js";import{C as le,w as W}from"./entities-yblphBg3.js";import{_ as G,xt as ue}from"./runtime-BUB2ex14.js";import{a as de,c as fe,n as pe,t as me,u as he}from"./tooltip-Ciaezkl4.js";import{a as K,i as ge,n as _e,r as ve,t as ye}from"./number-field-DsVu9T6C.js";import{a as q,c as be,o as xe,s as Se,t as Ce}from"./select-BDMo6Fqt.js";import{t as we}from"./spinner-rP6J82Of.js";import{i as J,m as Te,p as Ee}from"./toast-CIGvRti2.js";import{E as De,I as Oe,O as ke,_ as Ae,b as je,f as Me,m as Ne,q as Pe,y as Fe,z as Ie}from"./useSettings-CNd8OM7A.js";import{f as Y,t as Le}from"./server-DNo9AqHW.js";import{a as Re,i as ze,n as Be}from"./session-CyPECDtf.js";import{n as Ve}from"./query-DG-FU00d.js";import{t as X}from"./use-atom-command-Bc7LgQy1.js";import{n as He}from"./toastHelpers-Dsph6LwL.js";import{u as Z}from"./timestampFormat-wac2e_Jz.js";import{i as Ue,n as We,r as Ge}from"./radio-group-DhxCP5q0.js";import{n as Ke,t as qe}from"./toggle-group-BtpeJU3C.js";import{t as Je}from"./input-BOT1WFGI.js";import{t as Ye}from"./scroll-area-Cj3OF_L_.js";import{a as Xe,c as Ze,i as Qe,o as $e,r as et,s as tt,t as nt}from"./dialog-BBidAZq_.js";import{a as rt,i as it,n as at,o as ot,r as st,t as ct}from"./empty-B3wHlMsI.js";import{i as lt,n as ut,o as dt,t as ft}from"./popover-UOfX8iZ4.js";import{n as pt,r as mt,t as ht}from"./input-group-13zF6rZl.js";import{i as gt,n as _t,r as vt,t as yt}from"./color-picker-BG3Rpy98.js";import{n as bt}from"./EnvironmentMachineIcon-CBS8TSmT.js";import{r as xt,t as St}from"./alert-DUQHh6vz.js";import{H as Ct,a as wt,f as Tt,i as Et,r as Dt,s as Ot,t as kt,u as At,z as jt}from"./settingsLayout-De_r3pyr.js";import{S as Mt,b as Nt}from"./ChatGptUsageButton-GxPReM3u.js";import{n as Pt,r as Ft,t as It}from"./ConnectionStatusDot-BvfbN2Tp.js";import{Ar as Lt,Ca as Rt,Dr as zt,Er as Bt,Fo as Vt,Gn as Ht,Hn as Ut,Kn as Wt,Mr as Gt,Or as Kt,Pa as qt,Sa as Jt,Tr as Yt,Un as Xt,Vn as Zt,Wn as Qt,ba as $t,jr as en,kr as tn,ln as nn,or as rn,pr as an,r as on,wa as sn,wr as cn,xa as ln,ya as un}from"./main-Ch0n0whg.js";import{t as dn}from"./RedactedSensitiveText-D5aX1wQs.js";import{t as fn}from"./draft-input-Dk-JXf0v.js";import{i as pn,l as mn,r as hn,t as gn}from"./SettingsPanels.logic-Dn2Jcxyy.js";import{t as _n}from"./FoldedSettingsSection-BimbnaOl.js";import{t as vn}from"./ExpandableText-CWbIeyDn.js";import{a as yn,c as bn,i as xn,n as Sn,o as Cn,p as wn,r as Tn,s as En,t as Dn}from"./CodexSetupSection.logic-BpefaM8S.js";import{n as On,r as kn,t as An}from"./ProviderSettingsForm-Dh_vspcE.js";var jn=h(),Q=e(n(),1),$=e(k(),1),Mn=`#2563eb`;function Nn(e){let t=(0,jn.c)(29),{onCommit:n}=e,r;t[0]===e.value?r=t[1]:(r=()=>vt(e.value),t[0]=e.value,t[1]=r);let[i,a]=(0,Q.useState)(r),o;t[2]!==i.h||t[3]!==i.s||t[4]!==i.v?(o=gt(i.h,i.s,i.v),t[2]=i.h,t[3]=i.s,t[4]=i.v,t[5]=o):o=t[5];let s=o,[c,l]=(0,Q.useState)(null),u;t[6]===n?u=t[7]:(u=e=>{a(e),n(gt(e.h,e.s,e.v))},t[6]=n,t[7]=u);let d=u,f;t[8]!==d||t[9]!==i?(f=(0,$.jsx)(_t,{label:`Accent color`,value:i,onChange:d,variant:`edge`}),t[8]=d,t[9]=i,t[10]=f):f=t[10];let p;t[11]!==d||t[12]!==i?(p=e=>d({...i,h:e}),t[11]=d,t[12]=i,t[13]=p):p=t[13];let m;t[14]!==i.h||t[15]!==p?(m=(0,$.jsx)(yt,{label:`Accent color hue`,value:i.h,onChange:p}),t[14]=i.h,t[15]=p,t[16]=m):m=t[16];let h=c??s,g;t[17]===e?g=t[18]:(g=t=>{let n=t.currentTarget.value;l(n),/^#[\da-f]{6}$/i.test(n)&&(a(vt(n)),e.onCommit(n))},t[17]=e,t[18]=g);let _;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>l(null),t[19]=_):_=t[19];let v;t[20]!==h||t[21]!==g?(v=(0,$.jsx)(Je,{nativeInput:!0,size:`compact`,value:h,onChange:g,onBlur:_,font:`mono`,"aria-label":`Custom hex accent color`,spellCheck:!1}),t[20]=h,t[21]=g,t[22]=v):v=t[22];let y;t[23]!==m||t[24]!==v?(y=(0,$.jsxs)(`div`,{className:`grid gap-3 p-3`,children:[m,v]}),t[23]=m,t[24]=v,t[25]=y):y=t[25];let b;return t[26]!==y||t[27]!==f?(b=(0,$.jsxs)(`div`,{className:`w-56 bg-popover`,children:[f,y]}),t[26]=y,t[27]=f,t[28]=b):b=t[28],b}function Pn(e){let t=(0,jn.c)(22),n;t[0]===e.value?n=t[1]:(n=c(e.value),t[0]=e.value,t[1]=n);let r=n,i;t[2]===r?i=t[3]:(i=r?{backgroundColor:r}:void 0,t[2]=r,t[3]=i);let a=`${r?`Change`:`Add`} accent color for ${e.displayName}`,o;t[4]===r?o=t[5]:(o=r?(0,$.jsx)(`span`,{className:`sr-only`,children:`Change accent color`}):(0,$.jsx)(re,{"aria-hidden":!0}),t[4]=r,t[5]=o);let s;t[6]!==i||t[7]!==a||t[8]!==o?(s=(0,$.jsx)(dt,{render:(0,$.jsx)(A,{type:`button`,size:`icon-sm`,variant:`ghost-muted`,style:i,"aria-label":a,children:o})}),t[6]=i,t[7]=a,t[8]=o,t[9]=s):s=t[9];let l=r??Mn,u;t[10]!==e.onCommit||t[11]!==l?(u=(0,$.jsx)(Nn,{value:l,onCommit:e.onCommit}),t[10]=e.onCommit,t[11]=l,t[12]=u):u=t[12];let d;t[13]!==r||t[14]!==e.onClear?(d=r?(0,$.jsx)(`div`,{className:`border-t border-border/60 p-1`,children:(0,$.jsx)(ut,{render:(0,$.jsxs)(A,{type:`button`,size:`compact`,variant:`ghost-muted`,className:`w-full justify-start`,onClick:e.onClear,children:[(0,$.jsx)(H,{className:`size-3.5`,"aria-hidden":!0}),`Clear color`]})})}):null,t[13]=r,t[14]=e.onClear,t[15]=d):d=t[15];let f;t[16]!==u||t[17]!==d?(f=(0,$.jsxs)(lt,{side:`bottom`,align:`start`,sideOffset:6,padding:`none`,children:[u,d]}),t[16]=u,t[17]=d,t[18]=f):f=t[18];let p;return t[19]!==s||t[20]!==f?(p=(0,$.jsxs)(ft,{children:[s,f]}),t[19]=s,t[20]=f,t[21]=p):p=t[21],p}function Fn(e){let t=(0,jn.c)(28),{commitDelayMs:n,description:r,displayName:i,layout:a,onCommit:o,value:s}=e,l=n===void 0?0:n,u=a===void 0?`stacked`:a,d;t[0]===s?d=t[1]:(d=()=>s??``,t[0]=s,t[1]=d);let[f,p]=(0,Q.useState)(d),m=(0,Q.useRef)(null),h=(0,Q.useRef)(null),g=(0,Q.useRef)(o),_,v;t[2]===o?(_=t[3],v=t[4]):(_=()=>{g.current=o},v=[o],t[2]=o,t[3]=_,t[4]=v),(0,Q.useEffect)(_,v);let y,b;t[5]===s?(y=t[6],b=t[7]):(y=()=>{h.current===null&&p(s??``)},b=[s],t[5]=s,t[6]=y,t[7]=b),(0,Q.useEffect)(y,b);let x,S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>()=>{m.current!==null&&clearTimeout(m.current);let e=h.current;e!==null&&g.current(e)},S=[],t[8]=x,t[9]=S):(x=t[8],S=t[9]),(0,Q.useEffect)(x,S);let C;t[10]!==l||t[11]!==o?(C=e=>{let t=c(e)??``;if(p(t),l<=0){h.current=null,m.current!==null&&(clearTimeout(m.current),m.current=null),o(t);return}h.current=t,m.current!==null&&clearTimeout(m.current),m.current=setTimeout(()=>{m.current=null;let e=h.current;h.current=null,e!==null&&g.current(e)},l)},t[10]=l,t[11]=o,t[12]=C):C=t[12];let w=C,T;t[13]===f?T=t[14]:(T=c(f),t[13]=f,t[14]=T);let E=T,D;t[15]===w?D=t[16]:(D=()=>w(``),t[15]=w,t[16]=D);let O;t[17]!==w||t[18]!==i||t[19]!==E||t[20]!==D?(O=(0,$.jsx)(Pn,{displayName:i,value:E,onCommit:w,onClear:D}),t[17]=w,t[18]=i,t[19]=E,t[20]=D,t[21]=O):O=t[21];let k=O;if(u===`inline`)return k;let A;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Accent color`}),t[22]=A):A=t[22];let ee;t[23]===r?ee=t[24]:(ee=r?(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:r}):null,t[23]=r,t[24]=ee);let j;return t[25]!==k||t[26]!==ee?(j=(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[A,k,ee]}),t[25]=k,t[26]=ee,t[27]=j):j=t[27],j}var In=1,Ln=1,Rn=[`Provider`,`Identity`,`Config`],zn=[`Provider`,`Identity`,`Sign in`],Bn=[`Provider`,`Identity`],Vn={label:``,accentColor:``,instanceIdOverride:null};function Hn(e,t){return e[t]??Vn}function Un(e,t,n){return{...e,[t]:{...Hn(e,t),...n}}}function Wn(e,t,n){let r=e(t);if(!r||!n.has(r))return r;for(let e=2;;e+=1){let t=`_${e}`,i=`${r.slice(0,64-t.length)}${t}`;if(!n.has(i))return i}}function Gn(e,t){return Object.values(e).some(e=>{if(e.driver!==`acpRegistry`||!e.config||typeof e.config!=`object`)return!1;let n=e.config;return n.source!==`local`&&n.agentId===t})}function Kn(e,t,n,r){let i=Math.max(0,n-1),a=Math.max(0,Math.min(i,t)),o=r.identityStep??In,s=r.prerequisite;return s?.error&&e<=s.step&&a>s.step?{kind:`blocked`,step:Math.min(s.step,i),error:s.error}:e<=o&&a>o&&r.instanceIdError!==null?{kind:`blocked`,step:Math.min(o,i),error:r.instanceIdError}:{kind:`navigate`,step:a}}function qn(e,t,n){return Kn(e,t,zn.length,{instanceIdError:n.instanceIdError,identityStep:Ln,prerequisite:{step:0,error:n.selectionError}})}function Jn(e){let t=(0,jn.c)(15),{currentStep:n,summaries:r,instanceIdError:i,steps:a,identityStep:o,prerequisite:s,onNavigation:c,disabled:l}=e,u=a===void 0?Rn:a,d=l!==void 0&&l,f;t[0]===d?f=t[1]:(f=()=>d,t[0]=d,t[1]=f);let p;t[2]!==n||t[3]!==o||t[4]!==i||t[5]!==c||t[6]!==s||t[7]!==u.length?(p=e=>c(Kn(n,e,u.length,{instanceIdError:i,...o===void 0?{}:{identityStep:o},...s===void 0?{}:{prerequisite:s}})),t[2]=n,t[3]=o,t[4]=i,t[5]=c,t[6]=s,t[7]=u.length,t[8]=p):p=t[8];let m;return t[9]!==n||t[10]!==u||t[11]!==r||t[12]!==f||t[13]!==p?(m=(0,$.jsx)(Rt,{steps:u,currentStep:n,summaries:r,isStepDisabled:f,onStepChange:p}),t[9]=n,t[10]=u,t[11]=r,t[12]=f,t[13]=p,t[14]=m):m=t[14],m}function Yn(e){return e instanceof Error&&e.message.trim()?e.message:`The ACP could not be prepared.`}function Xn(e,t){return{...e,id:t.agentId,version:t.version,distribution:t.distribution}}function Zn(e){let t=(0,jn.c)(48),{environmentId:n,providerInstances:r,onPrepared:i,onManualConfiguration:a,onLocalConfiguration:o,onLoadingChange:s,onPreparingChange:c}=e,[l,u]=(0,Q.useState)(``),[d,f]=(0,Q.useState)(``),p=ze(n,g),[m,h]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(null),y=(0,Q.useRef)(0),b=(0,Q.useRef)(null),x;t[0]!==n||t[1]!==d?(x=Y.searchAcpRegistry({environmentId:n,input:{query:d}}),t[0]=n,t[1]=d,t[2]=x):x=t[2];let S=Ve(x),C;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(C={reportFailure:!1},t[3]=C):C=t[3];let w=X(Y.prepareAcpRegistryAgent,C),T,E;t[4]===c?(T=t[5],E=t[6]):(T=()=>()=>{y.current+=1,b.current!==null&&clearTimeout(b.current),c?.(!1)},E=[c],t[4]=c,t[5]=T,t[6]=E),(0,Q.useEffect)(T,E);let D;t[7]!==S||t[8]!==d?(D=e=>{b.current!==null&&clearTimeout(b.current);let t=e.trim();u(t),v(null),t===d?S.refresh():f(t)},t[7]=S,t[8]=d,t[9]=D):D=t[9];let k=D,ee;t[10]!==l||t[11]!==k?(ee=e=>{e.preventDefault(),k(l)},t[10]=l,t[11]=k,t[12]=ee):ee=t[12];let j=ee,M=async e=>{if(!Be(n,`providers:manage`))return;let t=y.current+=1;v(null),h(e.id),c?.(!0);let r=await w({environmentId:n,input:{agentId:e.id}});if(y.current===t){if(h(null),c?.(!1),r._tag===`Success`){i(Xn(e,r.value));return}U(r)||v(Yn(se(r)))}},N=S.data?.agents??null,P=S.isPending&&N===null,F=S.isPending&&N!==null,te=N?.length??0,I,L;t[13]!==s||t[14]!==S.isPending?(I=()=>(s?.(S.isPending),()=>s?.(!1)),L=[s,S.isPending],t[13]=s,t[14]=S.isPending,t[15]=I,t[16]=L):(I=t[15],L=t[16]),(0,Q.useLayoutEffect)(I,L);let R;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(`h3`,{className:`sr-only`,id:`acp-registry-search-heading`,children:`Choose an agent`}),t[17]=R):R=t[17];let B;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(pt,{children:(0,$.jsx)(ie,{})}),t[18]=B):B=t[18];let ne=m!==null,re;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>{let t=e.currentTarget.value;u(t),v(null),b.current!==null&&clearTimeout(b.current),b.current=setTimeout(()=>{b.current=null,f(t.trim())},300)},t[19]=re):re=t[19];let ae;t[20]!==l||t[21]!==ne?(ae=(0,$.jsxs)(ht,{className:`min-w-40 flex-1`,children:[B,(0,$.jsx)(mt,{"aria-label":`Search ACP Registry`,disabled:ne,onChange:re,placeholder:`Search agents…`,size:`sm`,type:`search`,value:l})]}),t[20]=l,t[21]=ne,t[22]=ae):ae=t[22];let oe=m!==null,V;t[23]!==a||t[24]!==oe?(V=(0,$.jsx)(A,{disabled:oe,onClick:a,size:`sm`,type:`button`,variant:`ghost-muted`,children:`Enter manually`}),t[23]=a,t[24]=oe,t[25]=V):V=t[25];let H;t[26]!==o||t[27]!==m?(H=o?(0,$.jsx)(A,{disabled:m!==null,onClick:o,size:`sm`,type:`button`,variant:`outline`,children:`Local ACP command`}):null,t[26]=o,t[27]=m,t[28]=H):H=t[28];let ce;t[29]!==j||t[30]!==ae||t[31]!==V||t[32]!==H?(ce=(0,$.jsxs)(`form`,{className:`flex flex-wrap items-center gap-2`,onSubmit:j,children:[ae,V,H]}),t[29]=j,t[30]=ae,t[31]=V,t[32]=H,t[33]=ce):ce=t[33];let le=P?`Searching the ACP Registry.`:F?`Refreshing ACP Registry results.`:N?`${te} compatible ${te===1?`agent`:`agents`} found.`:``,W;t[34]===le?W=t[35]:(W=(0,$.jsx)(`div`,{className:`sr-only`,role:`status`,children:le}),t[34]=le,t[35]=W);let G;t[36]!==_||t[37]!==S.error?(G=S.error||_?(0,$.jsx)(St,{variant:`error`,role:`status`,"aria-live":`polite`,children:(0,$.jsx)(xt,{children:_??S.error})}):null,t[36]=_,t[37]=S.error,t[38]=G):G=t[38];let ue;t[39]===P?ue=t[40]:(ue=P?(0,$.jsx)(`div`,{className:`flex min-h-20 items-center justify-center text-sm text-muted-foreground`,children:`Searching the registry...`}):null,t[39]=P,t[40]=ue);let fe=N?N.length===0?(0,$.jsxs)(`div`,{className:`flex min-h-28 flex-col items-center justify-center rounded-2xl border border-dashed px-4 text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium`,children:`No compatible agents found`}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Try a broader search.`})]}):(0,$.jsx)(Ye,{scrollFade:!0,className:`max-h-64`,children:(0,$.jsx)(`div`,{className:`pr-2.5`,children:N.map(e=>{let t=Gn(r,e.id),n=m===e.id,i=e.distribution===`binary`?`Downloading`:`Preparing`;return(0,$.jsx)(`article`,{className:`min-w-0 py-2.5`,children:(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,$.jsx)(Nt,{driverKind:O.make(`acpRegistry`),displayName:e.name,acpRegistryAgentId:e.id,acpRegistryIconUrl:e.icon??void 0,iconClassName:`size-6 rounded-md text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`flex min-w-0 items-baseline gap-2`,children:(0,$.jsx)(`h4`,{className:`min-w-0 truncate text-sm font-medium text-foreground`,children:e.name})}),e.description?(0,$.jsx)(`p`,{className:`mt-0.5 truncate text-xs text-muted-foreground`,children:e.description}):null]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[e.website||e.repository?(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{size:`icon-xs`,variant:`ghost-muted`,"aria-label":`About ${e.name}`,render:(0,$.jsx)(`a`,{href:e.website||e.repository||void 0,target:`_blank`,rel:`noreferrer`}),children:(0,$.jsx)(z,{})})}),(0,$.jsxs)(pe,{children:[`About `,e.name]})]}):null,(0,$.jsx)(A,{"aria-label":`${t?`Already added`:n?i:`Add`} ${e.name}`,disabled:!p||t||m!==null,onClick:()=>void M(e),size:`xs`,variant:n?`secondary`:`outline`,children:t?`Added`:n?i:`Add`})]})]})},e.id)})})}):null,he;return t[41]!==R||t[42]!==ce||t[43]!==W||t[44]!==G||t[45]!==ue||t[46]!==fe?(he=(0,$.jsxs)(`section`,{className:`grid gap-3`,"aria-labelledby":`acp-registry-search-heading`,children:[R,ce,W,G,ue,fe]}),t[41]=R,t[42]=ce,t[43]=W,t[44]=G,t[45]=ue,t[46]=fe,t[47]=he):he=t[47],he}var Qn=(0,Q.lazy)(()=>t(()=>import(`./ProviderAuthTerminal-CJSJcjB9.js`),__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,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167])));function $n({environmentId:e,environmentLabel:t,instanceId:n,provider:r,readOnly:i}){let a={environmentId:e,input:{instanceId:n}},o=Ve(Y.providerAuthState(a)),s={reportFailure:!1,reportDefect:!1},c=X(Y.startProviderAuth,s),l=X(Y.respondProviderAuth,s),u=X(Y.completeProviderAuth,s),d=X(Y.cancelProviderAuth,s),f=X(Y.logoutProviderAuth,s),[p,m]=(0,Q.useState)(``),[h,g]=(0,Q.useState)({id:``,values:{}}),[_,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)(!1),x=(0,Q.useRef)(!1),S=(0,Q.useRef)([]),C=(0,Q.useRef)(!1),w=o.data,T=w?.interaction,E=w?.phase===`starting`||w?.phase===`waiting`||w?.phase===`verifying`,D=r.auth.status===`authenticated`||r.auth.status===`unknown`&&w?.phase===`succeeded`,O=r.driver===`acpRegistry`&&!E&&!D&&!o.error&&w?.methods===void 0,k=!E&&!D&&(r.setup?.canAuthenticate===!1||r.driver===`acpRegistry`&&w?.methods?.length===0),ee=E?w?.phase===`starting`?`Starting sign-in…`:w?.phase===`verifying`?`Checking your account…`:T?.type===`terminal`?`Complete sign-in in the terminal below.`:T?.type===`credentials`?`Enter your credentials below.`:`Finish signing in in your browser.`:D?`Signed in.`:O?`Discovering sign-in methods…`:k?`No in-app sign-in advertised. Follow the provider's docs to finish setup.`:`Sign in on ${t}.`,j=w?.phase===`failed`?w.message:null,M=i||y||o.error!==null||O,N=`${w?.flowId??``}:${T?.id??``}`,P=h.id===N?h.values:{},F=T?.type===`browser`||T?.type===`deviceCode`?T.url:w?.authorizationUrl;async function te(e){if(x.current)return!1;x.current=!0,b(!0),v(null);let t=!1;try{let n=await e();if(n._tag===`Success`)t=!0;else if(!U(n)){let e=se(n);v(e instanceof Error?e.message:`Provider sign-in failed. Try again.`)}}catch{v(`Provider sign-in failed. Try again.`)}return x.current=!1,b(!1),t}async function I(t){return!w?.flowId||!T?!1:te(()=>l({environmentId:e,input:{instanceId:n,flowId:w.flowId,interactionId:T.id,response:t}}))}async function L(){if(!F||i)return;let e=T?.type===`browser`&&T.requiresConsent,t=e&&!window.desktopBridge?window.open(``,`_blank`):null;t&&(t.opener=null);try{if(e&&!await I({type:`browser`,action:`accept`})){t?.close();return}t?t.location.href=F:await Pe().shell.openExternal(F),v(null)}catch{t?.close(),v(`Could not open the sign-in page. Copy the link and open it in your browser.`)}}function z(e,t){g({id:N,values:{...P,[e]:t}})}return(0,$.jsx)(wt,{title:`Account`,description:D&&!E&&r.auth.email?.trim()?(0,$.jsxs)(`span`,{children:[`Signed in as`,` `,(0,$.jsx)(dn,{value:r.auth.email,ariaLabel:`Toggle account email visibility`,revealTooltip:`Click to reveal email`,hideTooltip:`Click to hide email`,className:`max-w-full truncate`},r.auth.email)]}):(0,$.jsx)(`span`,{role:`status`,children:ee}),status:j?(0,$.jsx)(`p`,{role:`status`,className:`[overflow-wrap:anywhere]`,children:j}):void 0,control:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-1.5`,children:[!E&&(w?.methods?.length??0)>1?(0,$.jsxs)(Ce,{value:w?.methods?.some(e=>e.id===p)?p:``,disabled:M,onValueChange:e=>m(e??``),children:[(0,$.jsx)(Se,{size:`sm`,"aria-label":`Sign-in method`,className:`w-44`,children:(0,$.jsx)(be,{children:w?.methods?.find(e=>e.id===p)?.name??`Provider default`})}),(0,$.jsxs)(xe,{children:[(0,$.jsx)(q,{value:``,children:`Provider default`}),w?.methods?.map(e=>(0,$.jsx)(q,{value:e.id,children:e.name},e.id))]})]}):null,F?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(A,{size:`sm`,variant:`outline`,disabled:M,onClick:()=>void L(),children:`Open browser`}),(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{"aria-label":`Copy sign-in link`,size:`icon-sm`,variant:`ghost-muted`,disabled:M,onClick:()=>{let e=Te(F,`Provider sign-in link`);(async()=>{await e,T?.type===`browser`&&T.requiresConsent&&await I({type:`browser`,action:`accept`})})().catch(()=>v(`Could not copy the sign-in link.`))},children:(0,$.jsx)(R,{})})}),(0,$.jsx)(pe,{children:`Copy sign-in link`})]})]}):null,(0,$.jsxs)($.Fragment,{children:[k&&r.setup?.documentationUrl?(0,$.jsx)(A,{size:`sm`,variant:`outline`,render:(0,$.jsx)(`a`,{href:r.setup.documentationUrl,target:`_blank`,rel:`noreferrer`}),children:`Open docs`}):E&&w?.flowId?(0,$.jsx)(A,{size:`sm`,variant:`ghost-muted`,"aria-label":`Cancel sign-in`,disabled:M,onClick:()=>void te(()=>d({environmentId:e,input:{instanceId:n,flowId:w.flowId}})),children:`Cancel`}):!E&&!k&&r.setup?.canAuthenticate!==!1?(0,$.jsx)(A,{size:`sm`,variant:`outline`,disabled:M||!r.enabled||!r.installed||!w,onClick:()=>void te(()=>c({environmentId:e,input:{instanceId:n,...p&&w?.methods?.some(e=>e.id===p)?{methodId:p}:{}}})),children:D?`Change account`:w?.phase===`failed`||w?.phase===`cancelled`?`Retry sign-in`:`Sign in`}):null,!E&&D&&(r.auth.canLogout??r.setup?.canAuthenticate)?(0,$.jsx)(A,{size:`sm`,variant:`ghost`,disabled:M||!w,onClick:()=>{Pe().dialogs.confirm(`Sign out of ${r.displayName??r.driver} on ${t}? This stops running threads that share this sign-in. Thread history is kept.`).then(e=>{e&&te(()=>f(a))})},children:`Sign out`}):null]})]}),children:T?.type===`terminal`||T?.type===`credentials`||T?.type===`deviceCode`||F&&(T?.type===`browser`?T.acceptsCallback:!T)||_||o.error?(0,$.jsxs)($.Fragment,{children:[T?.type===`deviceCode`?(0,$.jsxs)(`p`,{className:`py-2 text-sm text-muted-foreground`,children:[`Enter code`,` `,(0,$.jsx)(`code`,{className:`select-all font-mono text-foreground`,children:T.userCode}),` `,`in your browser.`]}):null,T?.type===`terminal`?(0,$.jsx)(`div`,{className:`py-2`,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Loading sign-in terminal…`}),children:(0,$.jsx)(Qn,{output:T.output,outputOffset:T.outputOffset,onResponse:t=>{if(!i&&w?.flowId){for(let e=0;e<Math.max(1,t.data.length);e+=4096)S.current.push({instanceId:n,flowId:w.flowId,interactionId:T.id,response:{...t,data:t.data.slice(e,e+4096)}});C.current||(C.current=!0,(async()=>{for(;S.current.length>0;){let t=S.current.shift(),n=await l({environmentId:e,input:t});if(n._tag!==`Success`){S.current=[],U(n)||v(`The provider sign-in terminal is no longer available.`);break}}})().catch(()=>{S.current=[],v(`Could not send input to the provider sign-in terminal.`)}).finally(()=>{C.current=!1}))}}},`${w?.flowId}:${T.id}`)})}):null,T?.type===`credentials`?(0,$.jsxs)(`form`,{className:`grid gap-2 py-2 text-sm leading-normal`,onSubmit:e=>{e.preventDefault(),I({type:`credentials`,values:P}).then(e=>{e&&g({id:``,values:{}})})},children:[T.fields.map(e=>(0,$.jsxs)(`label`,{className:`grid gap-1`,children:[e.label,(0,$.jsx)(Je,{size:`sm`,type:e.secret?`password`:`text`,autoComplete:`off`,value:P[e.name]??``,disabled:M,maxLength:16384,onChange:t=>z(e.name,t.target.value)})]},e.name)),(0,$.jsx)(A,{type:`submit`,size:`sm`,variant:`outline`,className:`w-fit`,disabled:M,children:`Connect`})]}):null,F&&(T?.type===`browser`?T.acceptsCallback:!T)?(0,$.jsxs)(`form`,{className:`grid gap-2 py-2 text-sm leading-normal`,onSubmit:t=>{t.preventDefault(),w?.flowId&&P.callback?.trim()&&te(()=>u({environmentId:e,input:{instanceId:n,flowId:w.flowId,callbackUrl:P.callback}})).then(e=>{e&&g({id:``,values:{}})})},children:[(0,$.jsxs)(`label`,{className:`grid gap-1`,children:[`If the final localhost page does not load, paste its full URL here.`,(0,$.jsx)(Je,{size:`sm`,id:`provider-callback-${n}`,type:`url`,autoComplete:`off`,value:P.callback??``,disabled:M,maxLength:16384,onChange:e=>z(`callback`,e.target.value)})]}),(0,$.jsx)(A,{type:`submit`,size:`sm`,variant:`outline`,className:`w-fit`,disabled:M||!P.callback?.trim(),children:`Continue`})]}):null,_||o.error?(0,$.jsx)(`p`,{role:`alert`,className:`py-2 text-xs text-destructive`,children:_??o.error}):null]}):null})}function er(e){let t=(0,jn.c)(26),{environmentId:n,environmentLabel:r,instanceId:i,onFinish:a}=e,o=y(Y.providersValueAtom(n))??Le,s;if(t[0]!==i||t[1]!==o){let e;t[3]===i?e=t[4]:(e=e=>e.instanceId===i,t[3]=i,t[4]=e),s=o.find(e),t[0]=i,t[1]=o,t[2]=s}else s=t[2];let c=s,l;t[5]!==n||t[6]!==i?(l=Y.providerAuthState({environmentId:n,input:{instanceId:i}}),t[5]=n,t[6]=i,t[7]=l):l=t[7];let u=Ve(l),d=u.data,f=d?.phase===`starting`||d?.phase===`waiting`||d?.phase===`verifying`,p=c?.auth.status===`authenticated`||c?.auth.status===`unknown`&&d?.phase===`succeeded`,m=!p&&!u.error&&d?.methods===void 0,h=(d?.methods?.length??0)>0,g;t[8]!==d?.message||t[9]!==h||t[10]!==n||t[11]!==r||t[12]!==i||t[13]!==m||t[14]!==c||t[15]!==u.error||t[16]!==p?(g=(0,$.jsx)(ln,{className:`min-h-72`,children:(0,$.jsx)(Ct,{variant:`plain`,children:c&&(h||p)?(0,$.jsx)($n,{environmentId:n,environmentLabel:r,instanceId:i,provider:{...c,setup:{...c.setup,canInstall:c.setup?.canInstall??!1,canAuthenticate:h}},readOnly:!1}):(0,$.jsx)(wt,{title:`Account`,description:m?`Discovering sign-in methods…`:u.error??d?.message??`No in-app sign-in advertised. Follow the provider's docs to finish setup.`,control:m?(0,$.jsx)(A,{disabled:!0,size:`sm`,variant:`outline`,children:`Sign in`}):c?.setup?.documentationUrl?(0,$.jsx)(A,{size:`sm`,variant:`outline`,render:(0,$.jsx)(`a`,{href:c.setup.documentationUrl,target:`_blank`,rel:`noreferrer`}),children:`Open docs`}):void 0})})}),t[8]=d?.message,t[9]=h,t[10]=n,t[11]=r,t[12]=i,t[13]=m,t[14]=c,t[15]=u.error,t[16]=p,t[17]=g):g=t[17];let _=p?`default`:`outline`,v=p?`Done`:`Skip for now`,b;t[18]!==f||t[19]!==a||t[20]!==_||t[21]!==v?(b=(0,$.jsx)(un,{children:(0,$.jsx)(A,{size:`sm`,variant:_,disabled:f,onClick:a,children:v})}),t[18]=f,t[19]=a,t[20]=_,t[21]=v,t[22]=b):b=t[22];let x;return t[23]!==g||t[24]!==b?(x=(0,$.jsxs)($.Fragment,{children:[g,b]}),t[23]=g,t[24]=b,t[25]=x):x=t[25],x}var tr=he(),nr=[{id:`low`,label:`Low`},{id:`medium`,label:`Medium`,isDefault:!0},{id:`high`,label:`High`},{id:`xhigh`,label:`Extra High`}],rr={[O.make(`codex`)]:[{id:`reasoningEffort`,label:`Reasoning`,type:`select`,choices:nr},{id:`serviceTier`,label:`Speed`,type:`select`,choices:[{id:`default`,label:`Standard`,isDefault:!0},{id:`fast`,label:`Fast`}]}],[O.make(`claudeAgent`)]:[{id:`effort`,label:`Reasoning`,type:`select`,choices:[{id:`low`,label:`Low`},{id:`medium`,label:`Medium`},{id:`high`,label:`High`,isDefault:!0},{id:`xhigh`,label:`Extra High`},{id:`max`,label:`Max`}]},{id:`fastMode`,label:`Fast Mode`,type:`boolean`},{id:`thinking`,label:`Thinking`,type:`boolean`}],[O.make(`cursor`)]:[{id:`reasoning`,label:`Reasoning`,type:`select`,choices:nr},{id:`fastMode`,label:`Fast Mode`,type:`boolean`},{id:`thinking`,label:`Thinking`,type:`boolean`}],[O.make(`grok`)]:[{id:`reasoningEffort`,label:`Reasoning`,type:`select`,choices:nr}],[O.make(`pi`)]:[{id:`thinking`,label:`Thinking`,type:`select`,choices:[{id:`off`,label:`Off`},{id:`minimal`,label:`Minimal`},{id:`low`,label:`Low`},{id:`medium`,label:`Medium`,isDefault:!0},{id:`high`,label:`High`},{id:`xhigh`,label:`Extra High`},{id:`max`,label:`Max`}]}],[O.make(`opencode`)]:[{id:`variant`,label:`Reasoning`,type:`select`,choices:nr},{id:`agent`,label:`Agent`,type:`select`,choices:[{id:`build`,label:`Build`,isDefault:!0},{id:`plan`,label:`Plan`}]}]},ir=0;function ar(){return ir+=1,`k${ir}`}function or(e){return{key:ar(),id:e.id,label:e.label,isDefault:!!e.isDefault}}function sr(e){return{key:ar(),type:e.type,id:e.id,label:e.label,choices:(e.choices??[]).map(or)}}function cr(){return{key:ar(),type:`select`,id:``,label:``,choices:[]}}function lr(){return{key:ar(),id:``,label:``,isDefault:!1}}function ur(e){let t=new Set(e.type===`select`?e.promptInjectedValues??[]:[]),n=e.type===`select`?e.options.filter(e=>!t.has(e.id)):[],r=n.find(t=>t.id===e.currentValue)??n.find(e=>e.isDefault);return{key:ar(),type:e.type,id:e.id,label:e.label,...e.description===void 0?{}:{description:e.description},...e.type===`boolean`&&e.currentValue!==void 0?{currentBooleanValue:e.currentValue}:{},choices:n.map(e=>({key:ar(),id:e.id,label:e.label,...e.description===void 0?{}:{description:e.description},isDefault:e===r}))}}function dr(e){return{slug:e.slug,name:e.name===e.slug?``:e.name,descriptors:(e.capabilities?.optionDescriptors??[]).map(ur)}}function fr(e,t){return(e?.optionDescriptors??[]).filter(e=>t!==`claudeAgent`||e.id!==`contextWindow`).map(ur)}function pr(e){let t=new Set;for(let[n,r]of e.descriptors.entries()){let e=`Option ${n+1}`,i=r.id.trim();if(!i)return`${e} needs an id.`;if(t.has(i))return`${e}: id "${i}" is used twice.`;if(t.add(i),!r.label.trim())return`${e} needs a label.`;if(r.type!==`select`)continue;if(r.choices.length===0)return`${e} needs at least one choice.`;let a=new Set;for(let t of r.choices){let n=t.id.trim();if(!n)return`${e} has a choice without a value.`;if(a.has(n))return`${e}: choice "${n}" is used twice.`;a.add(n)}}return null}function mr(e){let t=e.descriptors.map(e=>{let t=e.id.trim(),n=e.label.trim();if(e.type===`boolean`)return{id:t,label:n,type:`boolean`,...e.description===void 0?{}:{description:e.description},...e.currentBooleanValue===void 0?{}:{currentValue:e.currentBooleanValue}};let r=e.choices.map(e=>({id:e.id.trim(),label:e.label.trim()||e.id.trim(),...e.description===void 0?{}:{description:e.description},...e.isDefault?{isDefault:!0}:{}})),i=r.find(e=>e.isDefault)?.id;return{id:t,label:n,type:`select`,...e.description===void 0?{}:{description:e.description},options:r,...i?{currentValue:i}:{}}}),n=e.name.trim();return{slug:e.slug,name:n||e.slug,capabilities:t.length>0?x({optionDescriptors:t}):null}}var hr=`__custom__`,gr=`__none__`;function _r(e){let t=(0,jn.c)(79),{instanceId:n,driverKind:r,entry:i,builtInModels:a,onSave:o,onCancel:s}=e,c;t[0]===i?c=t[1]:(c=()=>dr(i),t[0]=i,t[1]=c);let[l,u]=(0,Q.useState)(c),[d,f]=(0,Q.useState)(null),p;t[2]===r?p=t[3]:(p=r?rr[r]??[]:[],t[2]=r,t[3]=p);let m=p,h;t[4]===a?h=t[5]:(h=a.filter(br),t[4]=a,t[5]=h);let g=h,_;t[6]===n?_=t[7]:(_=e=>`provider-instance-${n}-custom-model-${e}`,t[6]=n,t[7]=_);let v=_,y;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=(e,t)=>{f(null),u(n=>({...n,descriptors:n.descriptors.map(n=>n.key===e?{...n,...t}:n)}))},t[8]=y):y=t[8];let b=y,x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=(e,t,n)=>{f(null),u(r=>({...r,descriptors:r.descriptors.map(r=>r.key===e?{...r,choices:r.choices.map(e=>e.key===t?{...e,...n}:n.isDefault?{...e,isDefault:!1}:e)}:r)}))},t[9]=x):x=t[9];let S=x,C;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(C=e=>{f(null),u(t=>({...t,descriptors:t.descriptors.filter(t=>t.key!==e)}))},t[10]=C):C=t[10];let w=C,T;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(T=e=>{f(null),u(t=>({...t,descriptors:[...t.descriptors,e]}))},t[11]=T):T=t[11];let E=T,D;t[12]===m?D=t[13]:(D=(e,t)=>{if(t===null)return;if(t===hr){b(e.key,{id:``});return}let n=m.find(e=>e.id===t);n&&b(e.key,{id:n.id,label:n.label,type:n.type,choices:(n.choices??[]).map(or),currentBooleanValue:void 0,description:void 0})},t[12]=m,t[13]=D);let O=D,k;t[14]!==r||t[15]!==g?(k=e=>{if(e===null||e===gr)return;let t=g.find(t=>t.slug===e);t&&(f(null),u(e=>({...e,descriptors:fr(t.capabilities,r)})))},t[14]=r,t[15]=g,t[16]=k):k=t[16];let ee=k,j;t[17]!==l||t[18]!==o?(j=()=>{let e=pr(l);if(e){f(e);return}o(mr(l))},t[17]=l,t[18]=o,t[19]=j):j=t[19];let N=j,P;t[20]===m?P=t[21]:(P=e=>m.some(t=>t.id===e.id)?e.id:hr,t[20]=m,t[21]=P);let F=P,te;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(te=(e,t)=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(Je,{size:`compact`,value:t.id,onChange:n=>S(e.key,t.key,{id:n.target.value}),placeholder:`value`,font:`mono`,className:`w-28`,spellCheck:!1,"aria-label":`Choice value`}),(0,$.jsx)(Je,{size:`compact`,value:t.label,onChange:n=>S(e.key,t.key,{label:n.target.value}),placeholder:`Label`,className:`min-w-0 flex-1`,"aria-label":`Choice label`}),(0,$.jsxs)(`label`,{className:`flex shrink-0 items-center gap-1.5 text-2xs text-muted-foreground`,children:[(0,$.jsx)(sn,{size:`sm`,checked:t.isDefault,onCheckedChange:n=>S(e.key,t.key,{isDefault:n}),"aria-label":`Default choice`}),`Default`]}),(0,$.jsx)(A,{size:`icon-micro`,variant:`ghost-muted`,"aria-label":`Remove choice`,onClick:()=>b(e.key,{choices:e.choices.filter(e=>e.key!==t.key)}),children:(0,$.jsx)(H,{className:`size-3`})})]},t.key),t[22]=te):te=t[22];let I=te,L;t[23]!==O||t[24]!==F||t[25]!==m?(L=(e,t)=>(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md border border-border/60 bg-background/40 p-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`w-14 shrink-0 text-2xs text-muted-foreground`,children:[`Option `,t+1]}),m.length>0?(0,$.jsxs)(Ce,{value:F(e),onValueChange:t=>O(e,t),children:[(0,$.jsx)(Se,{size:`compact`,className:`w-40`,"aria-label":`Option id`,children:(0,$.jsx)(be,{children:F(e)===hr?`Custom…`:e.id})}),(0,$.jsxs)(xe,{align:`start`,alignItemWithTrigger:!1,children:[m.map(yr),(0,$.jsx)(q,{value:hr,children:`Custom…`})]})]}):null,F(e)===hr?(0,$.jsx)(Je,{size:`compact`,value:e.id,onChange:t=>b(e.key,{id:t.target.value}),placeholder:`optionId`,font:`mono`,className:`w-36`,spellCheck:!1,"aria-label":`Option id`}):null,(0,$.jsx)(Je,{size:`compact`,value:e.label,onChange:t=>b(e.key,{label:t.target.value}),placeholder:`Label`,className:`min-w-0 flex-1`,"aria-label":`Option label`}),(0,$.jsxs)(Ce,{value:e.type,onValueChange:t=>b(e.key,{type:t===`boolean`?`boolean`:`select`}),children:[(0,$.jsx)(Se,{size:`compact`,className:`w-24`,"aria-label":`Option type`,children:(0,$.jsx)(be,{children:e.type===`boolean`?`Toggle`:`Choices`})}),(0,$.jsxs)(xe,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(q,{value:`select`,children:`Choices`}),(0,$.jsx)(q,{value:`boolean`,children:`Toggle`})]})]}),(0,$.jsx)(A,{size:`icon-micro`,variant:`ghost-muted`,"aria-label":`Remove option ${t+1}`,onClick:()=>w(e.key),children:(0,$.jsx)(H,{className:`size-3`})})]}),e.type===`select`?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 pl-16`,children:[e.choices.map(t=>I(e,t)),(0,$.jsxs)(A,{type:`button`,size:`xs`,variant:`ghost-muted`,className:`-ml-2 self-start`,onClick:()=>b(e.key,{choices:[...e.choices,lr()]}),children:[(0,$.jsx)(re,{className:`size-3`}),`Add choice`]})]}):null]},e.key),t[23]=O,t[24]=F,t[25]=m,t[26]=L):L=t[26];let R=L,z;t[27]===s?z=t[28]:(z=e=>{e.key===`Escape`&&(e.preventDefault(),s())},t[27]=s,t[28]=z);let B=v(`name`),ne;t[29]===B?ne=t[30]:(ne=(0,$.jsx)(`label`,{htmlFor:B,className:`text-xs text-muted-foreground`,children:`Display name`}),t[29]=B,t[30]=ne);let ie=v(`name`),ae;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(ae=e=>u(t=>({...t,name:e.target.value})),t[31]=ae):ae=t[31];let oe;t[32]!==l.name||t[33]!==l.slug||t[34]!==ie?(oe=(0,$.jsx)(Je,{id:ie,size:`sm`,autoFocus:!0,value:l.name,onChange:ae,placeholder:l.slug,className:`sm:w-72`,spellCheck:!1}),t[32]=l.name,t[33]=l.slug,t[34]=ie,t[35]=oe):oe=t[35];let V;t[36]!==ne||t[37]!==oe?(V=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[ne,oe]}),t[36]=ne,t[37]=oe,t[38]=V):V=t[38];let U;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Options shown in the composer`}),t[39]=U):U=t[39];let se;t[40]!==ee||t[41]!==g?(se=g.length>0?(0,$.jsxs)(Ce,{value:gr,onValueChange:ee,children:[(0,$.jsx)(Se,{size:`compact`,className:`w-44`,"aria-label":`Copy options from a built-in model`,children:(0,$.jsx)(be,{children:`Copy from…`})}),(0,$.jsx)(xe,{align:`end`,alignItemWithTrigger:!1,children:g.map(vr)})]}):null,t[40]=ee,t[41]=g,t[42]=se):se=t[42];let ce;t[43]===se?ce=t[44]:(ce=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[U,se]}),t[43]=se,t[44]=ce);let le;t[45]===l.descriptors.length?le=t[46]:(le=l.descriptors.length===0?(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground/70`,children:`No custom options. The composer uses the provider's default options.`}):null,t[45]=l.descriptors.length,t[46]=le);let W;t[47]!==l.descriptors||t[48]!==R?(W=l.descriptors.map(R),t[47]=l.descriptors,t[48]=R,t[49]=W):W=t[49];let G;if(t[50]!==l.descriptors||t[51]!==m){let e;t[53]===l.descriptors?e=t[54]:(e=e=>!l.descriptors.some(t=>t.id===e.id),t[53]=l.descriptors,t[54]=e);let n;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(n=e=>(0,$.jsxs)(A,{type:`button`,size:`xs`,variant:`ghost-muted`,className:M(`-ml-2 first:ml-0`),onClick:()=>E(sr(e)),children:[(0,$.jsx)(re,{className:`size-3`}),e.label]},e.id),t[55]=n):n=t[55],G=m.filter(e).map(n),t[50]=l.descriptors,t[51]=m,t[52]=G}else G=t[52];let ue;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsxs)(A,{type:`button`,size:`xs`,variant:`ghost-muted`,onClick:()=>E(cr()),children:[(0,$.jsx)(re,{className:`size-3`}),`Custom option`]}),t[56]=ue):ue=t[56];let de;t[57]===G?de=t[58]:(de=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[G,ue]}),t[57]=G,t[58]=de);let fe;t[59]!==ce||t[60]!==le||t[61]!==W||t[62]!==de?(fe=(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[ce,le,W,de]}),t[59]=ce,t[60]=le,t[61]=W,t[62]=de,t[63]=fe):fe=t[63];let pe;t[64]===d?pe=t[65]:(pe=d?(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:d}):null,t[64]=d,t[65]=pe);let me;t[66]===N?me=t[67]:(me=(0,$.jsx)(A,{size:`sm`,variant:`outline`,onClick:N,children:`Save`}),t[66]=N,t[67]=me);let he;t[68]===s?he=t[69]:(he=(0,$.jsx)(A,{size:`sm`,variant:`ghost`,onClick:s,children:`Cancel`}),t[68]=s,t[69]=he);let K;t[70]!==me||t[71]!==he?(K=(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[me,he]}),t[70]=me,t[71]=he,t[72]=K):K=t[72];let ge;return t[73]!==z||t[74]!==V||t[75]!==fe||t[76]!==pe||t[77]!==K?(ge=(0,$.jsxs)(`div`,{className:`mx-2 mt-1 mb-2 flex flex-col gap-3 rounded-md border border-border bg-muted/20 p-3`,onKeyDown:z,children:[V,fe,pe,K]}),t[73]=z,t[74]=V,t[75]=fe,t[76]=pe,t[77]=K,t[78]=ge):ge=t[78],ge}function vr(e){return(0,$.jsx)(q,{value:e.slug,children:e.name},e.slug)}function yr(e){return(0,$.jsx)(q,{value:e.id,children:(0,$.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,$.jsx)(`code`,{className:`font-mono text-xs`,children:e.id}),(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:e.label})]})},e.id)}function br(e){return(e.capabilities?.optionDescriptors?.length??0)>0}var xr={[O.make(`codex`)]:`gpt-6.7-codex-ultra-preview`,[O.make(`claudeAgent`)]:`claude-sonnet-5`,[O.make(`cursor`)]:`claude-sonnet-4-6`,[O.make(`opencode`)]:`openai/gpt-5`,[O.make(`pi`)]:`anthropic/claude-sonnet-5`},Sr=8;function Cr(e){let t=e.capabilities?.optionDescriptors??[],n=[];return t.some(e=>e.id===`fastMode`||e.id===`serviceTier`&&e.type===`select`&&e.options.some(e=>e.id===`fast`||e.label===`Fast`))&&n.push(`Fast mode`),t.some(e=>e.id===`thinking`)&&n.push(`Thinking`),t.some(e=>e.type===`select`&&(e.id===`reasoningEffort`||e.id===`effort`||e.id===`reasoning`||e.id===`variant`))&&n.push(`Reasoning`),n}function wr(e,t){let n=l(e,{favoriteModels:t.favoriteModels,groupFavorites:!0,modelOrder:t.modelOrder}),r=e=>!e.isCustom&&t.hiddenModels.has(e.slug);return[...n.filter(e=>t.favoriteModels.has(e.slug)),...n.filter(e=>!t.favoriteModels.has(e.slug)&&!r(e)),...n.filter(e=>!t.favoriteModels.has(e.slug)&&r(e))]}function Tr(e,t){let n=e.filter(e=>!e.isCustom).map(e=>e.slug),r=new Set(n);return n.every(e=>t.includes(e))?t.filter(e=>!r.has(e)):[...new Set([...t,...n])]}function Er(e){let t=(0,jn.c)(148),{instanceId:n,driverKind:r,models:i,customModels:a,canManageCustomModels:o,canWritePreferences:s,hiddenModels:c,favoriteModels:l,modelOrder:u,onChange:f,onHiddenModelsChange:p,onFavoriteModelsChange:m,onToggleFavorite:h,onModelOrderChange:g}=e,_=s===void 0||s,[v,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(!1),[S,C]=(0,Q.useState)(``),[w,T]=(0,Q.useState)(null),[E,D]=(0,Q.useState)(null),O=(0,Q.useRef)(null),k=(0,Q.useRef)(null),ee;t[0]===c?ee=t[1]:(ee=new Set(c),t[0]=c,t[1]=ee);let j=ee,N;t[2]===l?N=t[3]:(N=new Set(l),t[2]=l,t[3]=N);let P=N,I;t[4]!==P||t[5]!==j||t[6]!==u||t[7]!==i?(I=wr(i,{favoriteModels:P,hiddenModels:j,modelOrder:u}),t[4]=P,t[5]=j,t[6]=u,t[7]=i,t[8]=I):I=t[8];let L=I,R;if(t[9]!==L||t[10]!==P){let e;t[12]===P?e=t[13]:(e=e=>P.has(e.slug),t[12]=P,t[13]=e),R=L.filter(e),t[9]=L,t[10]=P,t[11]=R}else R=t[11];let z=R.length,B;if(t[14]!==L||t[15]!==j){let e;t[17]===j?e=t[18]:(e=e=>!e.isCustom&&j.has(e.slug),t[17]=j,t[18]=e),B=L.filter(e),t[14]=L,t[15]=j,t[16]=B}else B=t[16];let ie=B.length,oe;t[19]===i?oe=t[20]:(oe=i.filter(jr),t[19]=i,t[20]=oe);let V=oe,U;t[21]!==V||t[22]!==j?(U=V.length>0&&V.every(e=>j.has(e.slug)),t[21]=V,t[22]=j,t[23]=U):U=t[23];let se=U,ce=i.length>Sr,le,W;if(t[24]!==L||t[25]!==S||t[26]!==ce){let e=S.trim().toLowerCase();le=ce&&e.length>0,W=le?L.filter(t=>t.name.toLowerCase().includes(e)||t.slug.toLowerCase().includes(e)):L,t[24]=L,t[25]=S,t[26]=ce,t[27]=le,t[28]=W}else le=t[27],W=t[28];let G=W,ue;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(ue=()=>{let e=k.current;if(e===null)return;let t=O.current?.querySelector(`[data-model-slug="${CSS.escape(e)}"]`);t&&(k.current=null,t.scrollIntoView({block:`nearest`}))},t[29]=ue):ue=t[29];let fe;t[30]===L?fe=t[31]:(fe=[L],t[30]=L,t[31]=fe),(0,Q.useEffect)(ue,fe);let he;t[32]!==o||t[33]!==a||t[34]!==r||t[35]!==v||t[36]!==i||t[37]!==f?(he=()=>{if(!o||r===`antigravity`)return;let e=d(v);if(!e){T(`Enter a model slug.`);return}if(i.some(t=>!t.isCustom&&t.slug===e)){T(`That model is already built in.`);return}if(e.length>256){T(`Model slugs must be 256 characters or less.`);return}if(a.some(t=>t.slug===e)){T(`That custom model is already saved.`);return}k.current=e,C(``),f([...a,{slug:e,name:e,capabilities:null}]),y(``),T(null),x(!1)},t[32]=o,t[33]=a,t[34]=r,t[35]=v,t[36]=i,t[37]=f,t[38]=he):he=t[38];let K=he,ge;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(ge=()=>{y(``),T(null),x(!1)},t[39]=ge):ge=t[39];let _e=ge,ve;t[40]!==o||t[41]!==a||t[42]!==E||t[43]!==l||t[44]!==u||t[45]!==f||t[46]!==m||t[47]!==g?(ve=e=>{o&&(E===e&&D(null),f(a.filter(t=>t.slug!==e)),g(u.filter(t=>t!==e)),m(l.filter(t=>t!==e)),T(null))},t[40]=o,t[41]=a,t[42]=E,t[43]=l,t[44]=u,t[45]=f,t[46]=m,t[47]=g,t[48]=ve):ve=t[48];let ye=ve,q;t[49]!==o||t[50]!==a||t[51]!==f?(q=e=>{o&&(f(a.map(t=>t.slug===e.slug?e:t)),D(null))},t[49]=o,t[50]=a,t[51]=f,t[52]=q):q=t[52];let be=q,xe;t[53]!==_||t[54]!==j||t[55]!==c||t[56]!==p?(xe=(e,t)=>{_&&t!==j.has(e)&&p(t?[...c,e]:c.filter(t=>t!==e),[e])},t[53]=_,t[54]=j,t[55]=c,t[56]=p,t[57]=xe):xe=t[57];let Se=xe,Ce;t[58]!==_||t[59]!==h?(Ce=e=>{_&&h(e)},t[58]=_,t[59]=h,t[60]=Ce):Ce=t[60];let we=Ce,J;t[61]!==P||t[62]!==j?(J=e=>P.has(e.slug)?`favorite`:!e.isCustom&&j.has(e.slug)?`hidden`:`visible`,t[61]=P,t[62]=j,t[63]=J):J=t[63];let Te=J,Ee;t[64]!==_||t[65]!==L||t[66]!==Te||t[67]!==g?(Ee=(e,t)=>{if(!_)return;let n=L.findIndex(t=>t.slug===e),r=n+t;if(n<0||r<0||r>=L.length||Te(L[n])!==Te(L[r]))return;let i=L.map(Ar),[a,o]=[i[r],i[n]];i[n]=a,i[r]=o,g(i)},t[64]=_,t[65]=L,t[66]=Te,t[67]=g,t[68]=Ee):Ee=t[68];let De=Ee,Oe;t[69]!==_||t[70]!==we?(Oe=(e,t)=>(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{size:`icon-micro`,variant:`ghost-muted`,disabled:!_,onClick:()=>we(e.slug),"aria-label":`${t?`Remove`:`Add`} ${e.name} ${t?`from`:`to`} favorites`}),children:(0,$.jsx)(ae,{className:M(`size-3`,t&&`fill-current text-warning`)})}),(0,$.jsx)(pe,{side:`top`,children:t?`Remove from favorites`:`Add to favorites`})]}),t[69]=_,t[70]=we,t[71]=Oe):Oe=t[71];let ke=Oe,Ae;t[72]!==o||t[73]!==_||t[74]!==De||t[75]!==ye||t[76]!==le?(Ae=(e,t)=>(0,$.jsxs)(`span`,{className:`flex shrink-0 items-center justify-end gap-0.5`,children:[!t.isHidden&&!le?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{size:`icon-micro`,variant:`ghost-muted`,disabled:!_||!t.canMoveUp,onClick:()=>De(e.slug,-1),"aria-label":`Move ${e.name} up`}),children:(0,$.jsx)(te,{className:`size-3`})}),(0,$.jsx)(pe,{side:`top`,children:`Move up`})]}),(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{size:`icon-micro`,variant:`ghost-muted`,disabled:!_||!t.canMoveDown,onClick:()=>De(e.slug,1),"aria-label":`Move ${e.name} down`}),children:(0,$.jsx)(F,{className:`size-3`})}),(0,$.jsx)(pe,{side:`top`,children:`Move down`})]})]}):null,e.isCustom?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{size:`icon-micro`,variant:`ghost-muted`,disabled:!o,"aria-label":`Edit ${e.slug}`,onClick:()=>{o&&D(t=>t===e.slug?null:e.slug)}}),children:(0,$.jsx)(ne,{className:`size-3`})}),(0,$.jsx)(pe,{side:`top`,children:`Edit name and options`})]}),(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{size:`icon-micro`,variant:`ghost-muted`,disabled:!o,"aria-label":`Remove ${e.slug}`,onClick:()=>ye(e.slug)}),children:(0,$.jsx)(H,{className:`size-3`})}),(0,$.jsx)(pe,{side:`top`,children:`Remove custom model`})]})]}):null]}),t[72]=o,t[73]=_,t[74]=De,t[75]=ye,t[76]=le,t[77]=Ae):Ae=t[77];let je=Ae,Me=kr,Ne;t[78]!==_||t[79]!==Se?(Ne=(e,t)=>(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(`span`,{className:`flex shrink-0 items-center`}),children:(0,$.jsx)(sn,{size:`sm`,checked:!t,disabled:!_||e.isCustom,onCheckedChange:t=>Se(e.slug,!t),"aria-label":`Show ${e.name} in the model picker`})}),(0,$.jsx)(pe,{side:`top`,children:Me(e,t)})]}),t[78]=_,t[79]=Se,t[80]=Ne):Ne=t[80];let Pe=Ne,Fe;t[81]!==L||t[82]!==Te||t[83]!==j||t[84]!==n||t[85]!==le||t[86]!==Pe||t[87]!==je||t[88]!==ke?(Fe=e=>{let t=Cr(e),r=Te(e),i=!e.isCustom&&j.has(e.slug),a=r===`favorite`,o=L.indexOf(e),s=L[o-1],c=L[o+1],l=!le&&s!==void 0&&Te(s)===r,u=!le&&c!==void 0&&Te(c)===r,d=M(`text-xs`,i?`text-muted-foreground`:`text-foreground/90`);return(0,$.jsxs)(`div`,{"data-model-slug":e.slug,className:M(`grid h-7 grid-cols-[1.5rem_minmax(0,1fr)_auto_minmax(5.5rem,auto)_auto] items-center gap-2 rounded-md px-2 transition-colors hover:bg-muted/30`,i&&`opacity-50`),children:[ke(e,a),(0,$.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,$.jsx)(`span`,{className:M(d,`truncate`),children:e.name}),e.name===e.slug?null:(0,$.jsx)(`code`,{className:`truncate font-mono text-2xs text-muted-foreground/70`,children:e.slug}),e.isCustom?(0,$.jsx)(`span`,{className:`text-2xs text-muted-foreground/70`,children:`custom`}):null]}),(0,$.jsx)(`span`,{className:`text-2xs text-muted-foreground/70`,children:t.length>0?(0,$.jsx)(`span`,{className:`hidden sm:inline`,children:t.join(` · `)}):null}),je(e,{isHidden:i,canMoveUp:l,canMoveDown:u}),Pe(e,i)]},`${n}:${e.slug}`)},t[81]=L,t[82]=Te,t[83]=j,t[84]=n,t[85]=le,t[86]=Pe,t[87]=je,t[88]=ke,t[89]=Fe):Fe=t[89];let Ie=Fe,Y=Or,Le;t[90]!==S||t[91]!==ce?(Le=ce?(0,$.jsx)(Je,{value:S,onChange:e=>C(e.target.value),placeholder:`Filter models`,size:`sm`,className:`w-56 max-w-full`,spellCheck:!1,"aria-label":`Filter models`}):null,t[90]=S,t[91]=ce,t[92]=Le):Le=t[92];let Re;t[93]!==se||t[94]!==V||t[95]!==c||t[96]!==i||t[97]!==p?(Re=V.length>0?(0,$.jsx)(A,{type:`button`,size:`xs`,variant:`ghost-muted`,onClick:()=>p(Tr(i,c),V.map(Dr)),children:se?`Enable all`:`Disable all`}):null,t[93]=se,t[94]=V,t[95]=c,t[96]=i,t[97]=p,t[98]=Re):Re=t[98];let ze=i.length===1?``:`s`,Be=z>0?` · ${z} favorite${z===1?``:`s`}`:``,Ve=ie>0?` · ${ie} hidden`:``,X;t[99]!==i.length||t[100]!==ze||t[101]!==Be||t[102]!==Ve?(X=(0,$.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[i.length,` model`,ze,Be,Ve]}),t[99]=i.length,t[100]=ze,t[101]=Be,t[102]=Ve,t[103]=X):X=t[103];let He;t[104]!==Re||t[105]!==X?(He=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Re,X]}),t[104]=Re,t[105]=X,t[106]=He):He=t[106];let Z;t[107]!==r||t[108]!==b?(Z=r!==`antigravity`&&!b?(0,$.jsxs)(A,{type:`button`,size:`xs`,variant:`ghost-muted`,className:`ml-auto`,onClick:()=>x(!0),children:[(0,$.jsx)(re,{className:`size-3`}),`Add custom model`]}):null,t[107]=r,t[108]=b,t[109]=Z):Z=t[109];let Ue;t[110]!==Le||t[111]!==He||t[112]!==Z?(Ue=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[Le,He,Z]}),t[110]=Le,t[111]=He,t[112]=Z,t[113]=Ue):Ue=t[113];let We;t[114]!==le||t[115]!==G.length?(We=G.length===0?(0,$.jsx)(`p`,{className:`px-2 py-2 text-xs text-muted-foreground`,children:le?`No models match.`:`No models reported for this provider yet.`}):null,t[114]=le,t[115]=G.length,t[116]=We):We=t[116];let Ge;t[117]!==V||t[118]!==o||t[119]!==a||t[120]!==r||t[121]!==E||t[122]!==z||t[123]!==Te||t[124]!==be||t[125]!==n||t[126]!==Ie||t[127]!==G?(Ge=G.map((e,t)=>{let i=Te(e),s=G[t-1],c=s===void 0||Te(s)!==i,l=o&&e.isCustom&&E===e.slug?a.find(t=>t.slug===e.slug):void 0;return(0,$.jsxs)(`div`,{children:[c&&z>0&&i===`favorite`?Y(`Favorites`,t===0):null,c&&z>0&&i===`visible`?Y(`All`,t===0):null,c&&i===`hidden`?Y(`Hidden from picker`,t===0):null,Ie(e),l?(0,$.jsx)(_r,{instanceId:n,driverKind:r,entry:l,builtInModels:V,onSave:be,onCancel:()=>D(null)},`${n}:${e.slug}:editor`):null]},`${n}:${e.slug}:group`)}),t[117]=V,t[118]=o,t[119]=a,t[120]=r,t[121]=E,t[122]=z,t[123]=Te,t[124]=be,t[125]=n,t[126]=Ie,t[127]=G,t[128]=Ge):Ge=t[128];let Ke;t[129]!==We||t[130]!==Ge?(Ke=(0,$.jsxs)(`div`,{ref:O,className:`mt-2 -mx-2 max-h-64 overflow-y-auto lg:max-h-none lg:min-h-0 lg:flex-1`,children:[We,Ge]}),t[129]=We,t[130]=Ge,t[131]=Ke):Ke=t[131];let qe;t[132]!==o||t[133]!==r||t[134]!==w||t[135]!==K||t[136]!==v||t[137]!==n||t[138]!==b?(qe=r===`antigravity`||!o?null:b?(0,$.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2 sm:flex-row`,children:[(0,$.jsx)(Je,{id:`provider-instance-${n}-custom-model`,size:`sm`,autoFocus:!0,value:v,onChange:e=>{y(e.target.value),w&&T(null)},onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),_e();return}e.key===`Enter`&&(e.preventDefault(),K())},placeholder:r?xr[r]:`model-slug`,spellCheck:!1}),(0,$.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,$.jsx)(A,{size:`sm`,variant:`outline`,onClick:K,children:`Add`}),(0,$.jsx)(A,{size:`sm`,variant:`ghost`,onClick:_e,children:`Cancel`})]})]}):null,t[132]=o,t[133]=r,t[134]=w,t[135]=K,t[136]=v,t[137]=n,t[138]=b,t[139]=qe):qe=t[139];let Ye;t[140]!==r||t[141]!==w?(Ye=r!==`antigravity`&&w?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-destructive`,children:w}):null,t[140]=r,t[141]=w,t[142]=Ye):Ye=t[142];let Xe;return t[143]!==Ue||t[144]!==Ke||t[145]!==qe||t[146]!==Ye?(Xe=(0,$.jsxs)(`div`,{className:`lg:flex lg:h-full lg:min-h-0 lg:flex-col`,children:[Ue,Ke,qe,Ye]}),t[143]=Ue,t[144]=Ke,t[145]=qe,t[146]=Ye,t[147]=Xe):Xe=t[147],Xe}function Dr(e){return e.slug}function Or(e,t){return(0,$.jsx)(`div`,{className:M(`px-2 pb-1.5 text-2xs text-muted-foreground`,t?`pt-1`:`pt-5`),children:e})}function kr(e,t){return e.isCustom?`Custom models are always shown in the picker`:t?`Hidden from picker`:`Shown in picker`}function Ar(e){return e.slug}function jr(e){return!e.isCustom}function Mr(e,t){if(t._tag!==`Failure`||U(t))return;let n=se(t);J.add({type:`error`,title:e,description:n instanceof Error?n.message:`The ACP operation failed.`})}function Nr(e){let t=ze(e.environmentId,m),n=ze(e.environmentId,o),[r,i]=(0,Q.useState)(e.projects[0]?.id??null),[a,s]=(0,Q.useState)([]),[c,l]=(0,Q.useState)(null),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)([]),[x,S]=(0,Q.useState)(!1),[C,w]=(0,Q.useState)(null),[T,E]=(0,Q.useState)({}),D=X(Y.listAcpRegistrySessions,{reportFailure:!1}),O=X(Y.importAcpRegistrySession,{reportFailure:!1}),k=X(Y.deleteAcpRegistrySession,{reportFailure:!1}),ee=X(Y.listAcpRegistryProviders,{reportFailure:!1}),j=X(Y.setAcpRegistryProvider,{reportFailure:!1}),M=X(Y.disableAcpRegistryProvider,{reportFailure:!1}),N=X(Y.logoutAcpRegistry,{reportFailure:!1}),P=e.provider.nativeSessions?.canList===!0,F=e.provider.nativeSessions?.canLoad===!0||e.provider.nativeSessions?.canResume===!0,te=e.provider.auth.canLogout===!0&&!e.provider.setup?.canAuthenticate,I=e.provider.nativeSessions?.canDelete===!0,L=e.provider.configurableProviders===!0,R=u||f!==null||h!==null||x||C!==null;if(!P&&!te&&!L)return null;let z=async t=>{if(r===null||u)return;d(!0);let n=await D({environmentId:e.environmentId,input:{instanceId:e.instanceId,projectId:r,...t===void 0?{}:{cursor:t}}});if(d(!1),n._tag===`Success`){s(e=>t===void 0?n.value.sessions:[...e,...n.value.sessions]),l(n.value.nextCursor);return}Mr(`Could not list ACP sessions`,n)},B=async t=>{if(!Be(e.environmentId,`orchestration:operate`)||r===null||f!==null)return;p(t.sessionId);let n=await O({environmentId:e.environmentId,input:{instanceId:e.instanceId,projectId:r,sessionId:t.sessionId,title:t.title,updatedAt:t.updatedAt}});if(p(null),n._tag===`Success`){s(e=>e.map(e=>e.sessionId===t.sessionId?{...e,importedThreadId:n.value.threadId}:e)),J.add({type:`success`,title:n.value.imported?`ACP session imported`:`ACP session already imported`});return}Mr(`Could not import ACP session`,n)},ne=async t=>{if(r===null||h!==null||t.importedThreadId!==null||!await Pe().dialogs.confirm(`Permanently delete native ACP session "${t.title??t.sessionId}"?`,{variant:`destructive`})||!Be(e.environmentId,`orchestration:operate`))return;g(t.sessionId);let n=await k({environmentId:e.environmentId,input:{instanceId:e.instanceId,projectId:r,sessionId:t.sessionId}});if(g(null),n._tag===`Success`){s(e=>e.filter(e=>e.sessionId!==t.sessionId)),J.add({type:`success`,title:`ACP session deleted`});return}Mr(`Could not delete ACP session`,n)},re=async()=>{if(r===null||x)return;S(!0);let t=await ee({environmentId:e.environmentId,input:{instanceId:e.instanceId,projectId:r}});if(S(!1),t._tag===`Success`){b(t.value.providers),E(Object.fromEntries(t.value.providers.map(e=>[e.providerId,{apiType:e.current?.apiType??e.supported[0]??``,baseUrl:e.current?.baseUrl??``,headers:``}])));return}Mr(`Could not list ACP providers`,t)},ie=async t=>{if(!Be(e.environmentId,`providers:manage`)||r===null||C!==null)return;let n=T[t.providerId];if(n===void 0||n.apiType.length===0||n.baseUrl.length===0)return;let i;if(n.headers.trim().length>0)try{let e=JSON.parse(n.headers);if(typeof e!=`object`||!e||Array.isArray(e)||!Object.values(e).every(e=>typeof e==`string`))throw Error(`Headers must be a JSON object with string values.`);i=e}catch(e){J.add({type:`error`,title:`Invalid provider headers`,description:e instanceof Error?e.message:`Headers must be valid JSON.`});return}w(t.providerId);let a=await j({environmentId:e.environmentId,input:{instanceId:e.instanceId,projectId:r,providerId:t.providerId,apiType:n.apiType,baseUrl:n.baseUrl,...i===void 0?{}:{headers:i}}});if(w(null),a._tag===`Success`){J.add({type:`success`,title:`ACP provider configured`}),await re();return}Mr(`Could not configure ACP provider`,a)},ae=async t=>{if(r===null||C!==null||t.required||!await Pe().dialogs.confirm(`Disable ACP provider "${t.providerId}"?`,{variant:`destructive`})||!Be(e.environmentId,`providers:manage`))return;w(t.providerId);let n=await M({environmentId:e.environmentId,input:{instanceId:e.instanceId,projectId:r,providerId:t.providerId}});if(w(null),n._tag===`Success`){J.add({type:`success`,title:`ACP provider disabled`}),await re();return}Mr(`Could not disable ACP provider`,n)},oe=async()=>{if(_||!Be(e.environmentId,`providers:manage`))return;v(!0);let t=await N({environmentId:e.environmentId,input:{instanceId:e.instanceId}});if(v(!1),t._tag===`Success`){s([]),l(null),J.add({type:`success`,title:`Logged out of ACP agent`});return}Mr(`Could not log out of ACP agent`,t)};return(0,$.jsxs)(`div`,{className:`grid gap-3`,children:[(0,$.jsx)(wt,{title:`Native sessions`,description:`Resume agent-owned conversations as P4 threads.`,status:P&&e.projects.length===0?`Add a project before importing sessions.`:void 0,control:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[te?(0,$.jsx)(A,{type:`button`,size:`sm`,variant:`outline`,disabled:e.readOnly||_,onClick:()=>void oe(),children:_?`Logging out`:`Log out`}):null,P&&e.projects.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Ce,{value:r??``,disabled:!n||R,onValueChange:e=>{e!==null&&(i(e),s([]),l(null),b([]),E({}))},children:[(0,$.jsx)(Se,{"aria-label":`Project for ACP sessions`,className:`w-40`,size:`sm`,children:(0,$.jsx)(be,{children:e.projects.find(e=>e.id===r)?.title})}),(0,$.jsx)(xe,{children:e.projects.map(e=>(0,$.jsx)(q,{value:e.id,children:e.title},e.id))})]}),(0,$.jsx)(A,{type:`button`,size:`sm`,variant:`outline`,disabled:!n||u||r===null,onClick:()=>void z(),children:u?`Loading`:a.length===0?`List sessions`:`Refresh`})]}):null]}),children:P&&(a.length>0||c!==null)?(0,$.jsxs)($.Fragment,{children:[a.length>0?(0,$.jsx)(`div`,{className:`divide-y divide-border/60 border-y border-border/60`,children:a.map(e=>(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`truncate text-xs text-foreground`,children:e.title??e.sessionId}),(0,$.jsx)(`code`,{className:`block truncate text-3xs text-muted-foreground`,children:e.sessionId})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,$.jsx)(A,{type:`button`,size:`xs`,variant:`ghost-muted`,disabled:!t||!F||e.importedThreadId!==null||f!==null,onClick:()=>void B(e),children:e.importedThreadId===null?f===e.sessionId?`Importing`:`Import`:`Imported`}),I?(0,$.jsx)(A,{type:`button`,size:`xs`,variant:`ghost-muted`,disabled:!t||e.importedThreadId!==null||h!==null,onClick:()=>void ne(e),children:h===e.sessionId?`Deleting`:`Delete`}):null]})]},e.sessionId))}):null,c===null?null:(0,$.jsx)(A,{type:`button`,size:`xs`,variant:`ghost-muted`,className:`w-fit`,disabled:!n||u,onClick:()=>void z(c),children:u?`Loading`:`Load more`})]}):null}),L?(0,$.jsxs)(`div`,{className:`grid gap-3 border-t border-border/60 px-3 py-3 sm:px-4`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-xs font-medium text-foreground`,children:`Agent providers`}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Configure non-secret routing. Headers are write-only.`})]}),(0,$.jsx)(A,{type:`button`,size:`xs`,variant:`outline`,disabled:!n||x||r===null,onClick:()=>void re(),children:x?`Loading`:y.length===0?`List providers`:`Refresh`})]}),!P&&e.projects.length>1?(0,$.jsxs)(Ce,{value:r??``,disabled:!n||R,onValueChange:e=>{e!==null&&(i(e),b([]),E({}))},children:[(0,$.jsx)(Se,{"aria-label":`Project for ACP providers`,className:`min-w-48`,size:`xs`,children:(0,$.jsx)(be,{children:e.projects.find(e=>e.id===r)?.title})}),(0,$.jsx)(xe,{children:e.projects.map(e=>(0,$.jsx)(q,{value:e.id,children:e.title},e.id))})]}):null,y.length>0?(0,$.jsx)(`div`,{className:`divide-y divide-border/60 border-y border-border/60`,children:y.map(t=>{let n=T[t.providerId]??{apiType:t.current?.apiType??t.supported[0]??``,baseUrl:t.current?.baseUrl??``,headers:``},r=e=>E(r=>({...r,[t.providerId]:{...n,...e}}));return(0,$.jsxs)(`div`,{className:`grid gap-2 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`truncate text-xs font-medium text-foreground`,children:t.providerId}),(0,$.jsxs)(`p`,{className:`text-3xs text-muted-foreground`,children:[t.current===null?`Disabled`:`Configured`,t.required?` · Required`:``]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(A,{type:`button`,size:`xs`,variant:`outline`,disabled:e.readOnly||C!==null||n.apiType.length===0||n.baseUrl.length===0,onClick:()=>void ie(t),children:C===t.providerId?`Saving`:`Save`}),!t.required&&t.current!==null?(0,$.jsx)(A,{type:`button`,size:`xs`,variant:`ghost-muted`,disabled:e.readOnly||C!==null,onClick:()=>void ae(t),children:`Disable`}):null]})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[9rem_minmax(0,1fr)]`,children:[(0,$.jsxs)(Ce,{value:n.apiType,disabled:e.readOnly||C!==null,onValueChange:e=>{e!==null&&r({apiType:e})},children:[(0,$.jsx)(Se,{"aria-label":`${t.providerId} protocol`,size:`sm`,children:(0,$.jsx)(be,{children:n.apiType})}),(0,$.jsx)(xe,{children:t.supported.map(e=>(0,$.jsx)(q,{value:e,children:e},e))})]}),(0,$.jsx)(Je,{size:`sm`,type:`url`,"aria-label":`${t.providerId} base URL`,placeholder:`https://api.example.com`,value:n.baseUrl,disabled:e.readOnly||C!==null,onValueChange:e=>r({baseUrl:e})})]}),(0,$.jsx)(Je,{size:`sm`,type:`password`,"aria-label":`${t.providerId} write-only headers JSON`,placeholder:`Write-only headers JSON, e.g. {"Authorization":"Bearer …"}`,value:n.headers,disabled:e.readOnly||C!==null,onValueChange:e=>r({headers:e})})]},t.providerId)})}):null]}):null]})}var Pr=/^[a-zA-Z_][a-zA-Z0-9_]*$/;function Fr(e){let t=(0,jn.c)(7),{detail:n,children:r}=e;if(!n)return r;let i;t[0]===r?i=t[1]:(i=(0,$.jsx)(de,{render:r}),t[0]=r,t[1]=i);let a;t[2]===n?a=t[3]:(a=(0,$.jsx)(pe,{side:`top`,children:n}),t[2]=n,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(me,{children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}var Ir=0,Lr=()=>`provider-env-${Ir++}`;function Rr(e,t){return{id:`${t}:${e.name}`,name:e.name,value:e.value,sensitive:e.sensitive,...e.valueRedacted===void 0?{}:{valueRedacted:e.valueRedacted}}}function zr(e,t){return e.length===t.length&&e.every((e,n)=>{let r=t[n];return r!==void 0&&e.name===r.name&&e.value===r.value&&e.sensitive===r.sensitive&&e.valueRedacted===r.valueRedacted})}function Br(e){return typeof e!=`object`||!e?[]:i(e.customModels)}function Vr(e,t){if(typeof e!=`object`||!e)return null;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():null}function Hr(e,t,n){let r=typeof e==`object`&&e?{...e}:{};return r[t]=n,r}function Ur(e){let t=new Map(ee(e.liveModels??[],e=>e.isCustom?E([e.slug,e]):C)),n=e.liveModels?.filter(e=>!e.isCustom)??[],r=new Set(n.map(e=>e.slug)),i=e.customModels.flatMap(e=>r.has(e.slug)?[]:[{slug:e.slug,name:e.name,isCustom:!0,capabilities:e.capabilities??t.get(e.slug)?.capabilities??null}]);return[...n,...i]}function Wr(e){let t=(0,jn.c)(4),n;t[0]===e.email?n=t[1]:(n=e.email?.trim(),t[0]=e.email,t[1]=n);let r=n;if(!r)return null;let i;return t[2]===r?i=t[3]:(i=(0,$.jsx)(dn,{value:r,ariaLabel:`Toggle account email visibility`,revealTooltip:`Click to reveal email`,hideTooltip:`Click to hide email`,className:`max-w-full truncate`}),t[2]=r,t[3]=i),i}function Gr(e,t){return e?.find(e=>e.name===t)}function Kr(e,t){return(e??[]).filter(e=>!t.has(e.name))}function qr(e,t,n){let r=n.trim(),i=[],a=!1;for(let n of e??[]){if(n.name!==t.name){i.push(n);continue}a=!0,r.length>0&&i.push({name:n.name,value:r,sensitive:t.sensitive??!0})}return!a&&r.length>0&&i.push({name:t.name,value:r,sensitive:t.sensitive??!0}),i}function Jr(e){let t=(0,jn.c)(16),n=`${e.idPrefix}-environment-${e.field.name}`,r=e.variable?.valueRedacted?``:e.variable?.value??``,i;t[0]!==n||t[1]!==e.field.label?(i=(0,$.jsx)(`label`,{htmlFor:n,children:e.field.label}),t[0]=n,t[1]=e.field.label,t[2]=i):i=t[2];let a;t[3]!==n||t[4]!==e||t[5]!==r?(a=e.field.sensitive===!1?(0,$.jsx)(fn,{id:n,size:`sm`,className:`min-w-0 flex-1`,autoComplete:`off`,value:r,onCommit:t=>e.onCommit(e.field,t),placeholder:e.field.placeholder,spellCheck:!1}):(0,$.jsx)(kn,{id:n,size:`sm`,className:`min-w-0 flex-1`,value:r,onCommit:t=>e.onCommit(e.field,t),placeholder:e.field.placeholder,configured:e.variable?.valueRedacted===!0,spellCheck:!1}),t[3]=n,t[4]=e,t[5]=r,t[6]=a):a=t[6];let o;t[7]===e?o=t[8]:(o=e.variable?(0,$.jsx)(A,{type:`button`,size:`icon-sm`,variant:`ghost-destructive`,onClick:()=>e.onRemove(e.field),"aria-label":`Clear ${e.field.label}`,children:(0,$.jsx)(H,{className:`size-3.5`})}):null,t[7]=e,t[8]=o);let s;t[9]!==a||t[10]!==o?(s=(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 items-center gap-2 @min-[32rem]/settings-row:w-56`,children:[a,o]}),t[9]=a,t[10]=o,t[11]=s):s=t[11];let c;return t[12]!==e.field.description||t[13]!==i||t[14]!==s?(c=(0,$.jsx)(wt,{title:i,description:e.field.description,control:s}),t[12]=e.field.description,t[13]=i,t[14]=s,t[15]=c):c=t[15],c}function Yr(e){let t=(0,jn.c)(13),n;t[0]===e.environment?n=t[1]:(n=()=>e.environment.map(Rr),t[0]=e.environment,t[1]=n);let[r,i]=(0,Q.useState)(n),a=(0,Q.useRef)(e.environment),o=(0,Q.useRef)(void 0),s,c;t[2]===e.environment?(s=t[3],c=t[4]):(s=()=>{let t=a.current,n=o.current;a.current=e.environment,o.current=void 0,!(t===e.environment||zr(t,e.environment)||n!==void 0&&zr(n,e.environment))&&i(e.environment.map(Rr))},c=[e.environment],t[2]=e.environment,t[3]=s,t[4]=c),(0,Q.useEffect)(s,c);let l;if(t[5]!==e||t[6]!==r){let n=t=>{let n=[];for(let e of t){let t=e.name.trim();if(!Pr.test(t)){if(t.length>0||e.value.length>0||e.sensitive!==!0||e.valueRedacted!==void 0)return;continue}let{id:r,...i}=e;n.push({...i,name:t})}o.current=n,e.onChange(n)},a=(e,t)=>{let a=r.map(n=>n.id===e?{...n,...t,...t.value===void 0?{}:{valueRedacted:!1}}:n);i(a),n(a)},s=e=>{let t=r.filter(t=>t.id!==e);i(t),n(t)},c;t[8]===r?c=t[9]:(c=()=>i([...r,{id:Lr(),name:``,value:``,sensitive:!0}]),t[8]=r,t[9]=c);let u=c,d;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(re,{className:`size-3`}),t[10]=d):d=t[10];let f;t[11]===u?f=t[12]:(f=(0,$.jsxs)(A,{type:`button`,size:`sm`,variant:`outline`,onClick:u,children:[d,`Add variable`]}),t[11]=u,t[12]=f),l=(0,$.jsx)(wt,{title:`Variables`,description:`API keys, base URLs, and other per-instance CLI settings.`,control:f,children:r.length>0?(0,$.jsxs)(`div`,{className:`mt-3 min-w-0 space-y-2 pb-2`,children:[r.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-1.5`,children:[(0,$.jsx)(fn,{size:`sm`,font:`mono`,className:`w-full min-w-0 sm:w-44 sm:shrink-0`,value:e.name,onCommit:t=>a(e.id,{name:t.trim()}),placeholder:`VARIABLE_NAME`,spellCheck:!1,"aria-label":`Environment variable name ${t+1}`}),(0,$.jsx)(`span`,{className:`hidden text-xs text-muted-foreground sm:inline`,"aria-hidden":!0,children:`=`}),e.sensitive?(0,$.jsx)(kn,{size:`sm`,font:`mono`,className:`min-w-0 flex-1`,value:e.valueRedacted?``:e.value,onCommit:t=>a(e.id,{value:t}),placeholder:`value`,configured:e.valueRedacted===!0,spellCheck:!1,"aria-label":`Environment variable value ${t+1}`}):(0,$.jsx)(fn,{size:`sm`,font:`mono`,className:`min-w-0 flex-1`,value:e.valueRedacted?``:e.value,onCommit:t=>a(e.id,{value:t}),autoComplete:`off`,placeholder:`value`,spellCheck:!1,"aria-label":`Environment variable value ${t+1}`}),(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{type:`button`,size:`icon-micro`,variant:`ghost-muted`,onClick:()=>{let t=!e.sensitive;a(e.id,{sensitive:t,...t&&e.valueRedacted===void 0?{}:{valueRedacted:t?e.valueRedacted:!1}})},"aria-pressed":e.sensitive,"aria-label":`Mark environment variable ${e.name||t+1} as sensitive`,children:(0,$.jsx)(fe,{className:`size-3`,icon:e.sensitive?tr.Lock:tr.LockOpen})})}),(0,$.jsx)(pe,{side:`top`,children:e.sensitive?`Sensitive, stored separately`:`Plain text`})]}),(0,$.jsx)(A,{type:`button`,size:`icon-micro`,variant:`ghost-destructive`,onClick:()=>s(e.id),"aria-label":`Remove environment variable ${e.name||t+1}`,children:(0,$.jsx)(H,{className:`size-3`})})]},e.id)),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Sensitive values are stored separately and never returned to the app.`})]}):null}),t[5]=e,t[6]=r,t[7]=l}else l=t[7];return l}function Xr(e){let t=(0,jn.c)(26),{projectEnabled:n,deviceEnabled:r}=e,i,a,o,s,c,l,u,d,f;if(t[0]!==r||t[1]!==n){let e=[{key:`project`,label:`Project`,enabled:n,effective:!0},{key:`device`,label:`Device`,enabled:r,effective:!1}];a=ft,t[11]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(dt,{render:(0,$.jsx)(A,{size:`icon-micro`,variant:`ghost-muted`,"aria-label":`Overridden for this project. Show where this value comes from`})}),children:(0,$.jsx)(B,{className:`size-3 text-primary`})}),(0,$.jsx)(pe,{side:`top`,children:`Overridden for this project`})]}),t[11]=f):f=t[11],i=lt,l=`end`,u=`md`,d=`none`,o=`list`,s=`px-3 py-2.5 text-sm`,c=e.map(Zr),t[0]=r,t[1]=n,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10];let p;t[12]!==o||t[13]!==s||t[14]!==c?(p=(0,$.jsx)(`ol`,{role:o,className:s,children:c}),t[12]=o,t[13]=s,t[14]=c,t[15]=p):p=t[15];let m;t[16]!==i||t[17]!==l||t[18]!==u||t[19]!==d||t[20]!==p?(m=(0,$.jsx)(i,{align:l,width:u,padding:d,children:p}),t[16]=i,t[17]=l,t[18]=u,t[19]=d,t[20]=p,t[21]=m):m=t[21];let h;return t[22]!==a||t[23]!==f||t[24]!==m?(h=(0,$.jsxs)(a,{children:[f,m]}),t[22]=a,t[23]=f,t[24]=m,t[25]=h):h=t[25],h}function Zr(e){return(0,$.jsxs)(`li`,{className:M(`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 rounded-md px-2 py-1`,e.effective&&`bg-foreground/[0.06]`),children:[(0,$.jsx)(`span`,{className:M(`min-w-0 truncate`,e.effective?`font-medium text-foreground`:`text-muted-foreground`),children:e.label}),(0,$.jsxs)(`span`,{className:M(`flex items-center gap-1.5`,e.effective?`text-foreground`:`text-muted-foreground`),children:[e.enabled?`On`:`Off`,e.effective?(0,$.jsx)(I,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-primary`}):(0,$.jsx)(`span`,{"aria-hidden":!0,className:`size-3.5 shrink-0`})]})]},e.key)}var Qr=[];function $r(e){let t=(0,jn.c)(245),{instanceId:n,instance:r,driverOption:i,liveProvider:a,mode:o,selected:s,onSelect:l,readOnly:u,canWriteSettings:d,onUpdate:p,onDelete:m,headerAction:h,setup:g,runtime:y,hiddenModels:b,favoriteModels:x,modelOrder:S,onHiddenModelsChange:C,onFavoriteModelsChange:w,onToggleFavorite:E,onModelOrderChange:D,onRunUpdate:O,onInstallRecommended:k,isUpdating:ee,onAcceptUrlAuth:j,environmentId:N,acpProjects:P,projectOverride:F}=e,te=s!==void 0&&s,I=u!==void 0&&u,B=d===void 0||d,ne=ee!==void 0&&ee,re=P===void 0?Qr:P,ie=F?.effectiveEnabled??_(r),ae=ie?a?.compatibilityAdvisory:void 0,H=ie?a?.status??`warning`:`disabled`,U=yn[H],se=ie?Cn(a&&{...a,enabled:!0}):{headline:`Disabled`,detail:null},ce;t[0]===a?.auth.email?ce=t[1]:(ce=a?.auth.email?.trim(),t[0]=a?.auth.email,t[1]=ce);let le=ce,W=ie&&a?.auth.status===`authenticated`,G=ie&&a?.auth.status===`authenticated`?a.auth.label??a.auth.type??null:null,ue=a?.version,fe;t[2]===ue?fe=t[3]:(fe=bn(ue),t[2]=ue,t[3]=fe);let he=fe,K=En(a?.versionAdvisory,a?.compatibilityAdvisory,ie),ge=K?.updateCommand??null,_e=a?.updateState,ve=ne?(_e?.status===`queued`||_e?.status===`running`?_e.message:null)??`Starting update`:null,ye=!ne&&(_e?.status===`failed`||_e?.status===`unchanged`)?_e.message:null,q=ae!==void 0&&ae.status!==`supported`&&ae.status!==`unknown`,be=q?V:L,xe=I?void 0:K?.targetVersion?k:O,Se=a?.auth.action,Ce;t[4]!==i?.label||t[5]!==r.displayName||t[6]!==r.driver?(Ce=r.displayName?.trim()||i?.label||String(r.driver),t[4]=i?.label,t[5]=r.displayName,t[6]=r.driver,t[7]=Ce):Ce=t[7];let J=Ce,Te;t[8]===r.accentColor?Te=t[9]:(Te=c(r.accentColor),t[8]=r.accentColor,t[9]=Te);let De=Te,Oe;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(Oe={onCopy:ri,onError:ni},t[10]=Oe):Oe=t[10];let{copyToClipboard:ke}=Ee(Oe),Ae=T(r.driver)?r.driver:null,je,Me;t[11]!==r.config||t[12]!==r.driver||t[13]!==a?.models?(je=r.driver===`antigravity`?[]:Br(r.config),Me=Ur({liveModels:a?.models,customModels:je}),t[11]=r.config,t[12]=r.driver,t[13]=a?.models,t[14]=je,t[15]=Me):(je=t[14],Me=t[15]);let Ne=Me,Pe;t[16]!==r||t[17]!==p?(Pe=e=>{let t=e.trim(),{displayName:n,...i}=r;p(t.length>0?{...i,displayName:t}:i)},t[16]=r,t[17]=p,t[18]=Pe):Pe=t[18];let Fe=Pe,Ie;t[19]!==r||t[20]!==p||t[21]!==F?(Ie=e=>{if(F){F.onChange(e);return}p({...r,enabled:e})},t[19]=r,t[20]=p,t[21]=F,t[22]=Ie):Ie=t[22];let Y=Ie,Le;t[23]!==r||t[24]!==p?(Le=e=>{let t=c(e),{accentColor:n,...i}=r;p(t?{...i,accentColor:t}:i)},t[23]=r,t[24]=p,t[25]=Le):Le=t[25];let Re=Le,ze;t[26]!==r||t[27]!==p?(ze=e=>{let{config:t,...n}=r;p(e===void 0?n:{...n,config:e})},t[26]=r,t[27]=p,t[28]=ze):ze=t[28];let Be=ze,Ve;t[29]!==r||t[30]!==p?(Ve=e=>{let t=Hr(r.config,`customModels`,e.map(f)),{config:n,...i}=r;p({...i,config:t})},t[29]=r,t[30]=p,t[31]=Ve):Ve=t[31];let X=Ve,He;t[32]!==r||t[33]!==p?(He=e=>{let t=e.filter(ti),{environment:n,...i}=r;p(t.length>0?{...i,environment:t}:i)},t[32]=r,t[33]=p,t[34]=He):He=t[34];let Z=He,Ue,We,Ge;t[35]!==i?.environmentFields||t[36]!==r.environment?(We=i?.environmentFields??[],Ue=new Set(We.map(ei)),Ge=Kr(r.environment,Ue),t[35]=i?.environmentFields,t[36]=r.environment,t[37]=Ue,t[38]=We,t[39]=Ge):(Ue=t[37],We=t[38],Ge=t[39]);let Ke=Ge,qe;t[40]!==Ue||t[41]!==r.environment||t[42]!==Z?(qe=e=>{let t=(r.environment??[]).filter(e=>Ue.has(e.name));Z([...t,...e])},t[40]=Ue,t[41]=r.environment,t[42]=Z,t[43]=qe):qe=t[43];let Je=qe,Ye;t[44]!==r.environment||t[45]!==Z?(Ye=(e,t)=>{Z(qr(r.environment,e,t))},t[44]=r.environment,t[45]=Z,t[46]=Ye):Ye=t[46];let Xe=Ye,Ze;t[47]!==r.environment||t[48]!==Z?(Ze=e=>{Z(Kr(r.environment,new Set([e.name])))},t[47]=r.environment,t[48]=Z,t[49]=Ze):Ze=t[49];let Qe=Ze,$e=Ae??r.driver,et;t[50]===r.config?et=t[51]:(et=Vr(r.config,`source`)===`local`?void 0:Vr(r.config,`agentId`)??void 0,t[50]=r.config,t[51]=et);let tt;t[52]===r.config?tt=t[53]:(tt=Vr(r.config,`source`)===`local`?void 0:Vr(r.config,`registryIconUrl`)??void 0,t[52]=r.config,t[53]=tt);let nt=!!De,rt;t[54]!==De||t[55]!==J||t[56]!==$e||t[57]!==et||t[58]!==tt||t[59]!==nt?(rt=(0,$.jsx)(Nt,{driverKind:$e,displayName:J,accentColor:De,acpRegistryAgentId:et,acpRegistryIconUrl:tt,showBadge:nt,className:`size-5`,iconClassName:`size-4 text-foreground/80`,badgeClassName:`right-[-0.125rem] bottom-[-0.125rem] h-3 min-w-3 px-0.5 text-5xs`}),t[54]=De,t[55]=J,t[56]=$e,t[57]=et,t[58]=tt,t[59]=nt,t[60]=rt):rt=t[60];let it=rt,at;t[61]===h?at=t[62]:(at=h?(0,$.jsx)(`span`,{className:`inline-flex h-5 w-5 shrink-0 items-center justify-center`,children:h}):null,t[61]=h,t[62]=at);let ot=at,st;t[63]===he?st=t[64]:(st=he?(0,$.jsx)(`code`,{className:`text-xs text-muted-foreground`,children:he}):null,t[63]=he,t[64]=st);let ct=st,ut;t[65]!==H||t[66]!==U?(ut=H===`warning`||H===`error`?(0,$.jsx)(`span`,{className:M(`size-1.5 shrink-0 rounded-full`,U.dot),"aria-hidden":!0}):null,t[65]=H,t[66]=U,t[67]=ut):ut=t[67];let pt=ut,mt=H===`warning`||H===`error`,ht=q&&mt?se.detail:null,gt=q?ae?.status===`broken`?`Incompatible`:ae?.status===`unsupported`?`Unsupported`:`Limited support`:se.detail,_t=W&&le?(0,$.jsxs)($.Fragment,{children:[mt?pt:null,(0,$.jsx)(`span`,{children:`Authenticated as`}),(0,$.jsx)(Wr,{email:le}),G?(0,$.jsxs)(`span`,{children:[`· `,G]}):null,gt?(0,$.jsxs)(`span`,{className:`min-w-0 [overflow-wrap:anywhere]`,children:[`· `,gt]}):null]}):(0,$.jsxs)($.Fragment,{children:[pt,(0,$.jsx)(`span`,{children:se.headline}),gt?(0,$.jsxs)(`span`,{className:`min-w-0 [overflow-wrap:anywhere]`,children:[`· `,gt]}):null]}),vt=K?(0,$.jsxs)(ft,{children:[(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(dt,{render:(0,$.jsx)(A,{type:`button`,size:o===`list`?`icon-micro`:`icon-xs`,variant:`ghost-muted`,className:o===`list`?`pointer-events-auto relative shrink-0`:void 0,"aria-label":`${ve?`Updating`:K.title} — view details`,children:ve?(0,$.jsx)(we,{tone:`muted`,...o===`list`?{size:`sm`}:{}}):(0,$.jsx)(be,{className:M(o===`list`&&`size-3.5`,q&&`text-warning`)})})})}),(0,$.jsx)(pe,{side:`top`,children:ve?`Updating`:K.title})]}),(0,$.jsx)(lt,{side:`bottom`,align:`end`,width:`md`,"aria-label":K.title,children:(0,$.jsxs)(`div`,{className:`grid min-w-0 gap-3`,children:[(0,$.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,$.jsx)(`p`,{className:`text-sm font-semibold leading-tight text-foreground`,children:K.title}),(0,$.jsx)(`p`,{className:M(`text-xs leading-snug`,K.emphasis===`strong`?`text-warning`:`text-muted-foreground`),children:K.detail})]}),xe?(0,$.jsxs)(A,{type:`button`,size:`xs`,variant:`outline`,className:`w-full`,disabled:ne,onClick:xe,children:[ne?(0,$.jsx)(we,{}):(0,$.jsx)(Vt,{}),ne?`Updating`:K.targetVersion?`Install ${bn(K.targetVersion)}`:`Update now`]}):null,ve||ye?(0,$.jsx)(`p`,{"aria-live":`polite`,className:M(`text-xs leading-snug [overflow-wrap:anywhere]`,ye?`text-warning`:`text-muted-foreground`),children:ve??ye}):null,xe&&ge?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-3xs font-medium uppercase tracking-wider text-muted-foreground`,children:[(0,$.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`}),`or, update manually using`,(0,$.jsx)(`span`,{"aria-hidden":!0,className:`h-px flex-1 bg-border`})]}):null,ge?(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 rounded-md border border-border/70 bg-muted/40 py-0.5 pr-0.5 pl-2`,children:[(0,$.jsx)(`code`,{className:`min-w-0 flex-1 truncate font-mono text-2xs text-foreground`,children:ge}),(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{type:`button`,size:`icon-xs`,variant:`ghost-muted`,className:`shrink-0`,onClick:()=>ke(ge,{providerName:J}),"aria-label":`Copy update command`,children:(0,$.jsx)(R,{className:`size-3`})})}),(0,$.jsx)(pe,{side:`top`,children:`Copy command`})]})]}):null]})})]}):null;if(o===`list`){let e=te?`bg-muted/45`:`hover:bg-muted/25`,n;t[68]===e?n=t[69]:(n=M(`group flex min-h-18 items-center gap-3 px-3 py-3 transition-colors sm:px-4`,e),t[68]=e,t[69]=n);let i=!ie&&!te&&`opacity-60 group-hover:opacity-100`,a;t[70]===i?a=t[71]:(a=M(`pointer-events-none relative flex min-w-0 flex-1 items-start gap-3 rounded-md text-left transition-opacity`,i),t[70]=i,t[71]=a);let o=`Select ${J}`,s;t[72]!==l||t[73]!==te||t[74]!==o?(s=(0,$.jsx)(`button`,{type:`button`,className:`pointer-events-auto absolute inset-0 cursor-pointer rounded-md outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,onClick:l,"aria-label":o,"aria-pressed":te}),t[72]=l,t[73]=te,t[74]=o,t[75]=s):s=t[75];let c;t[76]===J?c=t[77]:(c=(0,$.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:J}),t[76]=J,t[77]=c);let u;t[78]===he?u=t[79]:(u=he?(0,$.jsx)(`code`,{className:`max-w-24 shrink-0 truncate text-xs text-muted-foreground`,children:he}):null,t[78]=he,t[79]=u);let d;t[80]!==c||t[81]!==u||t[82]!==vt?(d=(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[c,u,vt]}),t[80]=c,t[81]=u,t[82]=vt,t[83]=d):d=t[83];let f;t[84]!==pt||t[85]!==ve?(f=pt&&!ve?(0,$.jsx)(`span`,{className:`flex h-[1.45em] shrink-0 items-center`,children:pt}):null,t[84]=pt,t[85]=ve,t[86]=f):f=t[86];let p=ht?0:void 0,m;t[87]!==gt||t[88]!==mt||t[89]!==se||t[90]!==ve?(m=ve?`Updating · ${ve}`:(0,$.jsxs)($.Fragment,{children:[se.headline,mt&>?` · ${gt}`:null]}),t[87]=gt,t[88]=mt,t[89]=se,t[90]=ve,t[91]=m):m=t[91];let h;t[92]!==p||t[93]!==m?(h=(0,$.jsx)(`span`,{tabIndex:p,"aria-live":`polite`,className:`pointer-events-auto line-clamp-2 [overflow-wrap:anywhere]`,children:m}),t[92]=p,t[93]=m,t[94]=h):h=t[94];let g;t[95]!==ht||t[96]!==h?(g=(0,$.jsx)(Fr,{detail:ht,children:h}),t[95]=ht,t[96]=h,t[97]=g):g=t[97];let v;t[98]!==f||t[99]!==g?(v=(0,$.jsxs)(`span`,{className:`mt-0.5 flex items-start gap-1.5 text-xs leading-normal text-muted-foreground/80`,children:[f,g]}),t[98]=f,t[99]=g,t[100]=v):v=t[100];let y;t[101]!==d||t[102]!==v?(y=(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[d,v]}),t[101]=d,t[102]=v,t[103]=y):y=t[103];let b;t[104]!==a||t[105]!==s||t[106]!==y||t[107]!==it?(b=(0,$.jsxs)(`div`,{className:a,children:[s,it,y]}),t[104]=a,t[105]=s,t[106]=y,t[107]=it,t[108]=b):b=t[108];let x;t[109]!==B||t[110]!==J||t[111]!==r||t[112]!==F||t[113]!==I?(x=F?.value===void 0?null:(0,$.jsxs)(`span`,{className:`flex items-center`,children:[(0,$.jsx)(Xr,{projectEnabled:F.value,deviceEnabled:_(r)}),(0,$.jsx)(Dt,{label:`${J} enablement`,tooltip:`Reset to the device setting`,disabled:I||!B,onClick:F.onReset})]}),t[109]=B,t[110]=J,t[111]=r,t[112]=F,t[113]=I,t[114]=x):x=t[114];let S=I||F!==void 0&&!B,C;t[115]===Y?C=t[116]:(C=e=>Y(!!e),t[115]=Y,t[116]=C);let w=`Enable ${J}`,T;t[117]!==ie||t[118]!==S||t[119]!==C||t[120]!==w?(T=(0,$.jsx)(sn,{checked:ie,disabled:S,onCheckedChange:C,"aria-label":w}),t[117]=ie,t[118]=S,t[119]=C,t[120]=w,t[121]=T):T=t[121];let E;t[122]!==x||t[123]!==T?(E=(0,$.jsxs)(`span`,{className:`flex h-5 shrink-0 items-center gap-1`,children:[x,T]}),t[122]=x,t[123]=T,t[124]=E):E=t[124];let D;return t[125]!==n||t[126]!==b||t[127]!==E?(D=(0,$.jsxs)(`div`,{"data-slot":`settings-row`,className:n,children:[b,E]}),t[125]=n,t[126]=b,t[127]=E,t[128]=D):D=t[128],D}let yt;t[129]===i?yt=t[130]:(yt=i?.badgeLabel?(0,$.jsx)(v,{variant:`warning`,size:`sm`,className:`shrink-0`,children:i.badgeLabel}):null,t[129]=i,t[130]=yt);let bt=I||void 0,xt=I&&`opacity-50`,St;t[131]===xt?St=t[132]:(St=M(`inline-flex items-center gap-1`,xt),t[131]=xt,t[132]=St);let Ct;t[133]!==n||t[134]!==m||t[135]!==I?(Ct=m?(0,$.jsx)(A,{type:`button`,size:`icon-xs`,variant:`ghost-destructive`,disabled:I,onClick:m,"aria-label":`Delete instance ${n}`,children:(0,$.jsx)(oe,{})}):null,t[133]=n,t[134]=m,t[135]=I,t[136]=Ct):Ct=t[136];let Tt;t[137]!==I||t[138]!==bt||t[139]!==St||t[140]!==Ct||t[141]!==ot?(Tt=(0,$.jsxs)(`span`,{inert:I,"aria-disabled":bt,className:St,children:[ot,Ct]}),t[137]=I,t[138]=bt,t[139]=St,t[140]=Ct,t[141]=ot,t[142]=Tt):Tt=t[142];let Et;t[143]!==yt||t[144]!==Tt||t[145]!==vt||t[146]!==ct?(Et=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[yt,ct,vt,Tt]}),t[143]=yt,t[144]=Tt,t[145]=vt,t[146]=ct,t[147]=Et):Et=t[147];let kt=Et,At;t[148]!==i||t[149]!==r.config||t[150]!==r.driver||t[151]!==n||t[152]!==Be?(At=i?(0,$.jsx)(An,{definition:i,value:r.config,idPrefix:`provider-instance-${n}`,variant:`settings`,onChange:Be}):(0,$.jsx)(wt,{title:`Driver`,description:(0,$.jsxs)(`span`,{children:[`This instance uses `,(0,$.jsx)(`code`,{className:`text-foreground`,children:String(r.driver)}),`, which is not available in this build. Its configuration is preserved.`]})}),t[148]=i,t[149]=r.config,t[150]=r.driver,t[151]=n,t[152]=Be,t[153]=At):At=t[153];let jt=At,Mt=ht?0:void 0,Pt;t[154]!==_t||t[155]!==Mt?(Pt=(0,$.jsx)(`div`,{tabIndex:Mt,className:`flex min-w-0 flex-wrap items-baseline gap-x-1.5`,children:_t}),t[154]=_t,t[155]=Mt,t[156]=Pt):Pt=t[156];let Ft;t[157]!==ht||t[158]!==Pt?(Ft=(0,$.jsx)(Fr,{detail:ht,children:Pt}),t[157]=ht,t[158]=Pt,t[159]=Ft):Ft=t[159];let It;t[160]!==j||t[161]!==I||t[162]!==Se?(It=Se&&j?(0,$.jsxs)(`div`,{className:`grid max-w-xl gap-1.5 pt-1 text-xs`,children:[(0,$.jsx)(`p`,{children:Se.message}),(0,$.jsx)(`code`,{className:`break-all text-2xs`,children:Se.url}),(0,$.jsxs)(A,{render:(0,$.jsx)(`a`,{href:Se.url,target:`_blank`,rel:`noopener noreferrer`,onClick:()=>j(Se)}),size:`xs`,variant:`outline`,className:`w-fit`,disabled:I,children:[(0,$.jsx)(z,{}),`Continue authentication`]})]}):null,t[160]=j,t[161]=I,t[162]=Se,t[163]=It):It=t[163];let Lt;t[164]!==Ft||t[165]!==It?(Lt=(0,$.jsxs)($.Fragment,{children:[Ft,It]}),t[164]=Ft,t[165]=It,t[166]=Lt):Lt=t[166];let Rt=I||void 0,zt=I&&`opacity-50 select-none`,Bt;t[167]===zt?Bt=t[168]:(Bt=M(`flex w-full min-w-0 items-center justify-end gap-2 @min-[32rem]/settings-row:w-auto`,zt),t[167]=zt,t[168]=Bt);let Ht;t[169]!==De||t[170]!==J||t[171]!==Re?(Ht=(0,$.jsx)(Fn,{layout:`inline`,displayName:J,value:De,onCommit:Re,commitDelayMs:120}),t[169]=De,t[170]=J,t[171]=Re,t[172]=Ht):Ht=t[172];let Ut=`provider-instance-${n}-display-name`,Wt=r.displayName??``,Gt=i?.label??`Instance label`,Kt;t[173]!==Ut||t[174]!==Wt||t[175]!==Gt||t[176]!==Fe?(Kt=(0,$.jsx)(fn,{id:Ut,size:`sm`,className:`min-w-0 flex-1 @min-[32rem]/settings-row:w-56`,value:Wt,onCommit:Fe,placeholder:Gt,spellCheck:!1}),t[173]=Ut,t[174]=Wt,t[175]=Gt,t[176]=Fe,t[177]=Kt):Kt=t[177];let qt;t[178]!==I||t[179]!==Rt||t[180]!==Bt||t[181]!==Ht||t[182]!==Kt?(qt=(0,$.jsxs)(`div`,{inert:I,"aria-disabled":Rt,className:Bt,children:[Ht,Kt]}),t[178]=I,t[179]=Rt,t[180]=Bt,t[181]=Ht,t[182]=Kt,t[183]=qt):qt=t[183];let Jt;t[184]!==Lt||t[185]!==qt?(Jt=(0,$.jsx)(wt,{title:`Display name`,status:Lt,control:qt}),t[184]=Lt,t[185]=qt,t[186]=Jt):Jt=t[186];let Yt;t[187]!==J||t[188]!==kt||t[189]!==Jt||t[190]!==it?(Yt=(0,$.jsx)(Ot,{title:J,icon:it,headerAction:kt,children:Jt}),t[187]=J,t[188]=kt,t[189]=Jt,t[190]=it,t[191]=Yt):Yt=t[191];let Xt;t[192]!==We||t[193]!==r.environment||t[194]!==n||t[195]!==I||t[196]!==Qe||t[197]!==g||t[198]!==Xe?(Xt=g||We.length>0?(0,$.jsxs)(Ot,{title:`Setup`,children:[g,(0,$.jsx)(`div`,{inert:I,"aria-disabled":I||void 0,className:I?`opacity-50 select-none`:void 0,children:We.length>0?(0,$.jsx)($.Fragment,{children:We.map(e=>(0,$.jsx)(Jr,{field:e,variable:Gr(r.environment,e.name),idPrefix:`provider-instance-${n}`,onCommit:Xe,onRemove:Qe},e.name))}):null})]}):null,t[192]=We,t[193]=r.environment,t[194]=n,t[195]=I,t[196]=Qe,t[197]=g,t[198]=Xe,t[199]=Xt):Xt=t[199];let Zt;t[200]!==i||t[201]!==r.config||t[202]!==r.driver||t[203]!==n||t[204]!==I||t[205]!==y||t[206]!==jt?(Zt=r.driver===`codex`&&Dn(r.config)===`managed`?(0,$.jsx)(`div`,{inert:I,"aria-disabled":I||void 0,className:I?`opacity-50 select-none`:void 0,children:(0,$.jsx)(_n,{id:`provider-instance-${n}-runtime`,title:`Runtime`,headerPlacement:`outside`,children:y??jt},n)}):!i||On(i).length>0?(0,$.jsx)(Ot,{title:`Runtime`,inert:I,"aria-disabled":I||void 0,className:I?`opacity-50 select-none`:void 0,children:jt}):null,t[200]=i,t[201]=r.config,t[202]=r.driver,t[203]=n,t[204]=I,t[205]=y,t[206]=jt,t[207]=Zt):Zt=t[207];let Qt=I||void 0,$t=I?`opacity-50 select-none`:void 0,en;t[208]!==Ke||t[209]!==Je?(en=(0,$.jsx)(Yr,{environment:Ke,onChange:Je}),t[208]=Ke,t[209]=Je,t[210]=en):en=t[210];let tn;t[211]!==I||t[212]!==Qt||t[213]!==$t||t[214]!==en?(tn=(0,$.jsx)(Ot,{title:`Environment`,inert:I,"aria-disabled":Qt,className:$t,children:en}),t[211]=I,t[212]=Qt,t[213]=$t,t[214]=en,t[215]=tn):tn=t[215];let nn;t[216]!==re||t[217]!==N||t[218]!==n||t[219]!==a||t[220]!==I?(nn=N!==void 0&&a?.driver===`acpRegistry`?(0,$.jsx)(Nr,{environmentId:N,instanceId:n,provider:a,projects:re,readOnly:I}):null,t[216]=re,t[217]=N,t[218]=n,t[219]=a,t[220]=I,t[221]=nn):nn=t[221];let rn;t[222]!==B||t[223]!==je||t[224]!==Ae||t[225]!==i||t[226]!==x||t[227]!==b||t[228]!==n||t[229]!==S||t[230]!==Ne||t[231]!==w||t[232]!==C||t[233]!==D||t[234]!==E||t[235]!==I||t[236]!==X?(rn=i===void 0?null:(0,$.jsx)(Ot,{title:`Models`,children:(0,$.jsxs)(`div`,{className:`px-3 py-3 sm:px-4`,children:[(0,$.jsx)(`p`,{className:`mb-3 text-xs text-muted-foreground`,children:`Model preferences and custom models are saved on the selected environment and shared across connected devices.`}),(0,$.jsx)(Er,{canManageCustomModels:!I,canWritePreferences:B,instanceId:n,driverKind:Ae,models:Ne,customModels:je,hiddenModels:b,favoriteModels:x,modelOrder:S,onChange:X,onHiddenModelsChange:C,onFavoriteModelsChange:w,onToggleFavorite:E,onModelOrderChange:D})]})}),t[222]=B,t[223]=je,t[224]=Ae,t[225]=i,t[226]=x,t[227]=b,t[228]=n,t[229]=S,t[230]=Ne,t[231]=w,t[232]=C,t[233]=D,t[234]=E,t[235]=I,t[236]=X,t[237]=rn):rn=t[237];let an;return t[238]!==Yt||t[239]!==Xt||t[240]!==Zt||t[241]!==tn||t[242]!==nn||t[243]!==rn?(an=(0,$.jsxs)($.Fragment,{children:[Yt,Xt,Zt,tn,nn,rn]}),t[238]=Yt,t[239]=Xt,t[240]=Zt,t[241]=tn,t[242]=nn,t[243]=rn,t[244]=an):an=t[244],an}function ei(e){return e.name}function ti(e){return e.name.trim().length>0}function ni(e,t){let{providerName:n}=t;J.add(He({type:`error`,title:`Could not copy ${n} update command`,description:e.message}))}function ri(e){let{providerName:t}=e;J.add({type:`success`,title:`${t} update command copied`,description:`Run it in a terminal when you are ready to update.`})}function ii(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``).slice(0,48)}function ai(e,t){let n=ii(t);return n?`${e}_${n}`:``}var oi=/^[a-zA-Z][a-zA-Z0-9_-]*$/,si=O.make(`codex`),ci=O.make(`acpRegistry`),li=Mt.definitions[0],ui={};function di(e,t){return e.length===0?`Instance ID is required.`:e.length>64?`Instance ID must be 64 characters or fewer.`:oi.test(e)?t.has(e)?`An instance named '${e}' already exists.`:null:`Instance ID must start with a letter and use only letters, digits, '-', or '_'.`}function fi(e){let t=(0,jn.c)(130),{open:n,environmentId:r,environmentLabel:i,onOpenChange:a,onCreated:o}=e,s=Me(r),l=Ne(r),u=ze(r,g),[d,f]=(0,Q.useState)(0),[p,m]=(0,Q.useState)(!1),[h,_]=(0,Q.useState)(si),v;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(v={},t[0]=v):v=t[0];let[y,b]=(0,Q.useState)(v),[x,S]=(0,Q.useState)(null),C;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(C=[],t[1]=C):C=t[1];let[w,T]=(0,Q.useState)(C),[E,D]=(0,Q.useState)(!1),[k,ee]=(0,Q.useState)(!1),[j,F]=(0,Q.useState)(!1),te;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(te={},t[2]=te):te=t[2];let[I,L]=(0,Q.useState)(te),[R,z]=(0,Q.useState)(!1),[B,ne]=(0,Q.useState)(!1),[re,ie]=(0,Q.useState)(null),ae;t[3]===s.providerInstances?ae=t[4]:(ae=new Set([`codex`,`claudeAgent`,...Object.keys(s.providerInstances??{})]),t[3]=s.providerInstances,t[4]=ae);let oe=ae,V;t[5]===h?V=t[6]:(V=Mt.get(h)??li,t[5]=h,t[6]=V);let H=V,U=h===ci,ce;t[7]===H.label?ce=t[8]:(ce={label:H.label,accentColor:``,instanceIdOverride:null},t[7]=H.label,t[8]=ce);let le=ce,{label:W,accentColor:G,instanceIdOverride:ue}=y[h]??le,de;t[9]!==h||t[10]!==H.label||t[11]!==oe||t[12]!==ue||t[13]!==U||t[14]!==W?(de=ue??Wn(e=>!e.trim()||e===H.label?U?`${h}_custom`:h:ai(h,e),W,oe),t[9]=h,t[10]=H.label,t[11]=oe,t[12]=ue,t[13]=U,t[14]=W,t[15]=de):de=t[15];let fe=de,pe;t[16]===H?pe=t[17]:(pe=On(H),t[16]=H,t[17]=pe);let me=pe,he;t[18]!==oe||t[19]!==fe?(he=di(fe,oe),t[18]=oe,t[19]=fe,t[20]=he):he=t[20];let K=he,ge=R&&K!==null,_e;t[21]!==H.label||t[22]!==W?(_e=W.trim()||`${H.label} Workspace`,t[21]=H.label,t[22]=W,t[23]=_e):_e=t[23];let ve=_e,ye=I[h]??ui,q=U&&E&&ye.source===`local`,be=typeof ye.commandPath==`string`?ye.commandPath.trim():``,xe;t[24]===ye.agentId?xe=t[25]:(xe=typeof ye.agentId==`string`?ye.agentId.trim():``,t[24]=ye.agentId,t[25]=xe);let Se=xe,Ce=q?be.length>0?null:`Executable is required.`:x!==null||E&&Se.length>0?null:`Select an ACP or configure one manually.`,we;t[26]!==H.label||t[27]!==U||t[28]!==q||t[29]!==Se||t[30]!==ve||t[31]!==x?.name?(we=U?[q?`Local ACP command`:x?.name??(Se||null),ve,null]:[H.label,ve,null],t[26]=H.label,t[27]=U,t[28]=q,t[29]=Se,t[30]=ve,t[31]=x?.name,t[32]=we):we=t[32];let Te=we,Ee;t[33]===h?Ee=t[34]:(Ee=e=>{L(t=>{let n={...t};return e===void 0||Object.keys(e).length===0?delete n[h]:n[h]=e,n})},t[33]=h,t[34]=Ee);let De=Ee,Oe;t[35]!==le||t[36]!==h?(Oe=e=>{b(t=>({...t,[h]:{...t[h]??le,...e}}))},t[35]=le,t[36]=h,t[37]=Oe):Oe=t[37];let ke=Oe,Ae,je,Pe,Fe,Ie,Y;if(t[38]!==G||t[39]!==Ce||t[40]!==I||t[41]!==re||t[42]!==h||t[43]!==H.label||t[44]!==r||t[45]!==oe||t[46]!==fe||t[47]!==K||t[48]!==U||t[49]!==q||t[50]!==j||t[51]!==B||t[52]!==W||t[53]!==w||t[54]!==o||t[55]!==a||t[56]!==l||t[57]!==d){Ae=e=>{if(!(B||j||re)){if(e.kind===`blocked`&&z(!0),U&&!q&&e.kind===`navigate`&&e.step===2){Ie();return}f(e.step)}},Y=e=>{Ae(U?q?Kn(d,e,Bn.length,{instanceIdError:K,prerequisite:{step:0,error:Ce}}):qn(d,e,{instanceIdError:K,selectionError:Ce}):Kn(d,e,Rn.length,{instanceIdError:K}))};let e;t[64]===oe?e=t[65]:(e=e=>{_(ci);let t=e.name,n=N(e.icon),r=Wn(bi,t,oe);S(e),D(!1),b(e=>Un(e,ci,{label:t,instanceIdOverride:r})),L(t=>({...t,[ci]:{agentId:e.id,distribution:`auto`,...n?{registryIconUrl:n}:{}}})),z(!1),f(1)},t[64]=oe,t[65]=e),je=e;let n;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(n=()=>{_(ci),S(null),D(!0),L(yi),b(vi),z(!1)},t[66]=n):n=t[66],Fe=n;let i;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(i=()=>{_(ci),S(null),D(!0),L(_i),b(gi),T([]),z(!1)},t[67]=i):i=t[67],Pe=i,Ie=async()=>{if(!Be(r,`providers:manage`)||B||re||(z(!0),K!==null||U&&Ce!==null))return;let e=h===`codex`?{...I[h],setupMode:`existing`}:I[h]??{},t=Object.keys(e).length>0,n=c(G),i={driver:h,enabled:!0,...W.trim().length>0?{displayName:W.trim()}:{},...n?{accentColor:n}:{},...t?{config:e}:{},...q&&w.length>0?{environment:w}:{}},s=P.make(fe);ne(!0);let u=await l({operation:`create`,instanceId:s,instance:i});if(u._tag===`Failure`){let e=se(u);ne(!1),J.add({type:`error`,title:`Could not add provider instance`,description:e instanceof Error?e.message:`The settings update failed.`});return}if(o?.(s),U&&!q){ie(s),ne(!1),f(2);return}J.add({type:`success`,title:`Provider instance added`,description:`${H.label} instance '${fe}' was added.`}),a(!1)},t[38]=G,t[39]=Ce,t[40]=I,t[41]=re,t[42]=h,t[43]=H.label,t[44]=r,t[45]=oe,t[46]=fe,t[47]=K,t[48]=U,t[49]=q,t[50]=j,t[51]=B,t[52]=W,t[53]=w,t[54]=o,t[55]=a,t[56]=l,t[57]=d,t[58]=Ae,t[59]=je,t[60]=Pe,t[61]=Fe,t[62]=Ie,t[63]=Y}else Ae=t[58],je=t[59],Pe=t[60],Fe=t[61],Ie=t[62],Y=t[63];if(p){let e;t[68]===a?e=t[69]:(e=()=>a(!1),t[68]=a,t[69]=e);let n;return t[70]!==r||t[71]!==e?(n=(0,$.jsx)(Sn,{environmentId:r,onClose:e}),t[70]=r,t[71]=e,t[72]=n):n=t[72],n}let Le;t[73]===i?Le=t[74]:(Le=(0,$.jsxs)($.Fragment,{children:[`Add an account or configure a provider on `,i,`.`]}),t[73]=i,t[74]=Le);let Re;t[75]!==Ce||t[76]!==Ae||t[77]!==re||t[78]!==K||t[79]!==U||t[80]!==q||t[81]!==j||t[82]!==B||t[83]!==d||t[84]!==Te?(Re=U?(0,$.jsx)(Jn,{currentStep:d,summaries:Te,instanceIdError:K,steps:q?Bn:zn,disabled:B||j||re!==null,identityStep:1,prerequisite:{step:0,error:Ce},onNavigation:Ae}):(0,$.jsx)(Jn,{currentStep:d,summaries:Te,instanceIdError:K,disabled:B||j,onNavigation:Ae}),t[75]=Ce,t[76]=Ae,t[77]=re,t[78]=K,t[79]=U,t[80]=q,t[81]=j,t[82]=B,t[83]=d,t[84]=Te,t[85]=Re):Re=t[85];let Ve;t[86]!==Le||t[87]!==Re?(Ve=(0,$.jsx)($t,{title:`Add provider`,description:Le,children:Re}),t[86]=Le,t[87]=Re,t[88]=Ve):Ve=t[88];let X;t[89]!==G||t[90]!==Ce||t[91]!==u||t[92]!==ye||t[93]!==re||t[94]!==h||t[95]!==H||t[96]!==me||t[97]!==r||t[98]!==i||t[99]!==je||t[100]!==Pe||t[101]!==Fe||t[102]!==Ie||t[103]!==R||t[104]!==fe||t[105]!==K||t[106]!==U||t[107]!==q||t[108]!==E||t[109]!==j||t[110]!==k||t[111]!==B||t[112]!==W||t[113]!==w||t[114]!==Y||t[115]!==a||t[116]!==x||t[117]!==De||t[118]!==ke||t[119]!==s.providerInstances||t[120]!==ge||t[121]!==d?(X=re?(0,$.jsx)(er,{environmentId:r,environmentLabel:i,instanceId:re,onFinish:()=>a(!1)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(ln,{className:M(U&&d===1&&`min-h-72`),holdHeight:d===0&&!E&&k,children:[(0,$.jsxs)(`div`,{className:M(`grid gap-2`,d!==0&&`hidden`),children:[(0,$.jsx)(`div`,{id:`add-instance-driver-label`,className:`text-sm font-medium text-foreground`,children:`Provider`}),(0,$.jsx)(We,{disabled:j,value:h,onValueChange:e=>{_(O.make(e)),D(!1),z(!1)},"aria-labelledby":`add-instance-driver-label`,className:`grid grid-cols-1 sm:grid-cols-2`,children:Mt.definitions.filter(hi).map(mi)})]}),d===0?(0,$.jsxs)(`div`,{className:`space-y-4 pt-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3 text-xs text-muted-foreground`,children:[(0,$.jsx)(`div`,{"aria-hidden":!0,className:`flex-1 border-t border-border/70`}),(0,$.jsx)(`span`,{children:`Or choose from ACP Registry`}),(0,$.jsx)(`div`,{"aria-hidden":!0,className:`flex-1 border-t border-border/70`})]}),U&&E?(0,$.jsxs)(`div`,{className:`grid gap-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:q?`Local ACP command`:`Enter manually`}),(0,$.jsx)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:q?`Run an installed ACP executable on ${i}.`:`Enter an official registry ID and any local executable or auth override.`})]}),(0,$.jsx)(A,{onClick:()=>{D(!1),z(!1)},size:`xs`,variant:`ghost`,children:`Search registry`})]}),(0,$.jsxs)(Ct,{variant:`plain`,children:[(0,$.jsx)(An,{definition:H,value:ye,idPrefix:`add-provider-acpRegistry-manual`,variant:`settings`,onChange:De}),q?(0,$.jsx)(Yr,{environment:w,onChange:T}):null]}),U&&R&&Ce?(0,$.jsx)(`p`,{className:`text-2xs text-destructive`,children:Ce}):null]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Zn,{environmentId:r,providerInstances:s.providerInstances,onPrepared:je,onManualConfiguration:Fe,onLocalConfiguration:Pe,onLoadingChange:ee,onPreparingChange:F}),U&&R&&Ce?(0,$.jsx)(`p`,{className:`mt-2 text-2xs text-destructive`,children:Ce}):null]})]}):null,U&&d===1&&x?(0,$.jsxs)(`div`,{className:`mb-4 flex items-start justify-between gap-3 border-b border-border/70 pb-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`truncate text-sm font-medium text-foreground`,children:x.name}),(0,$.jsxs)(`p`,{className:`mt-0.5 text-xs text-muted-foreground`,children:[`v`,x.version,` · `,x.distribution]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 gap-2 text-2xs`,children:[x.website?(0,$.jsx)(`a`,{"aria-label":`Open documentation for ${x.name} (${x.id})`,className:`text-muted-foreground hover:text-foreground`,href:x.website,rel:`noreferrer`,target:`_blank`,children:`Docs`}):null,x.repository?(0,$.jsx)(`a`,{"aria-label":`Open source for ${x.name} (${x.id})`,className:`text-muted-foreground hover:text-foreground`,href:x.repository,rel:`noreferrer`,target:`_blank`,children:`Source`}):null]})]}):null,(0,$.jsxs)(Ct,{variant:`plain`,className:M(d!==1&&`hidden`),children:[(0,$.jsx)(wt,{title:(0,$.jsx)(`label`,{htmlFor:`add-provider-label`,children:`Label`}),description:(0,$.jsx)(`span`,{id:`add-provider-label-description`,children:`Shown in the provider list.`}),control:(0,$.jsx)(Je,{id:`add-provider-label`,"aria-describedby":`add-provider-label-description`,size:`sm`,className:`w-full @min-[32rem]/settings-row:w-56`,placeholder:`e.g. Work`,value:W,onChange:e=>ke({label:e.target.value})})}),(0,$.jsx)(wt,{title:(0,$.jsx)(`label`,{htmlFor:`add-provider-instance-id`,children:`Instance ID`}),description:(0,$.jsx)(`span`,{id:`add-provider-instance-id-description`,children:`Letters, digits, '-', or '_'.`}),status:ge?(0,$.jsx)(`span`,{id:`add-provider-instance-id-error`,role:`alert`,className:`text-destructive`,children:K}):void 0,control:(0,$.jsx)(Je,{id:`add-provider-instance-id`,"aria-describedby":ge?`add-provider-instance-id-description add-provider-instance-id-error`:`add-provider-instance-id-description`,size:`sm`,className:`w-full @min-[32rem]/settings-row:w-56`,placeholder:`${h}_work`,value:fe,onChange:e=>{ke({instanceIdOverride:e.target.value})},"aria-invalid":ge})}),(0,$.jsx)(wt,{title:`Accent color`,description:`Optional marker shown in the picker.`,control:(0,$.jsx)(Fn,{displayName:W||H.label,value:G||void 0,onCommit:e=>ke({accentColor:e}),layout:`inline`})})]}),!U&&me.length>0?(0,$.jsx)(Ct,{variant:`plain`,className:M(d!==2&&`hidden`),children:(0,$.jsx)(An,{definition:H,value:ye,idPrefix:`add-provider-${h}`,variant:`settings`,onChange:De})}):!U&&d===2?(0,$.jsx)(`div`,{className:`grid gap-2`,children:(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`This driver has no required configuration. You can add the instance now.`})}):null]}),(0,$.jsxs)(un,{children:[(0,$.jsx)(A,{variant:d===0?`ghost-muted`:`outline`,size:`sm`,disabled:B||j,onClick:()=>{if(d===0){a(!1);return}f(pi)},children:d===0?`Cancel`:`Back`}),d===0&&h===`codex`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(A,{variant:`outline`,size:`sm`,onClick:()=>Y(1),children:`Configure manually`}),(0,$.jsx)(wn,{size:`sm`,onClick:()=>m(!0)})]}):d<(U?1:2)?(0,$.jsx)(A,{size:`sm`,disabled:j,onClick:()=>Y(d+1),children:`Next`}):(0,$.jsx)(A,{size:`sm`,disabled:B||!u,onClick:()=>void Ie(),children:B?`Adding...`:U&&!q?`Continue to sign-in`:`Add instance`})]})]}),t[89]=G,t[90]=Ce,t[91]=u,t[92]=ye,t[93]=re,t[94]=h,t[95]=H,t[96]=me,t[97]=r,t[98]=i,t[99]=je,t[100]=Pe,t[101]=Fe,t[102]=Ie,t[103]=R,t[104]=fe,t[105]=K,t[106]=U,t[107]=q,t[108]=E,t[109]=j,t[110]=k,t[111]=B,t[112]=W,t[113]=w,t[114]=Y,t[115]=a,t[116]=x,t[117]=De,t[118]=ke,t[119]=s.providerInstances,t[120]=ge,t[121]=d,t[122]=X):X=t[122];let He;t[123]!==Ve||t[124]!==X?(He=(0,$.jsxs)(Jt,{size:`wide`,children:[Ve,X]}),t[123]=Ve,t[124]=X,t[125]=He):He=t[125];let Z;return t[126]!==a||t[127]!==n||t[128]!==He?(Z=(0,$.jsx)(nt,{open:n,onOpenChange:a,children:He}),t[126]=a,t[127]=n,t[128]=He,t[129]=Z):Z=t[129],Z}function pi(e){return Math.max(0,e-1)}function mi(e){return(0,$.jsxs)(Ue,{value:e.driverKind,className:`relative flex cursor-pointer items-center gap-3 rounded-lg bg-card px-3 py-3 text-left text-muted-foreground outline-none ring-1 ring-black/5 hover:bg-muted focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring data-checked:bg-primary/8 data-checked:text-foreground data-checked:ring-2 data-checked:ring-inset data-checked:ring-primary data-checked:hover:bg-primary/8 dark:bg-white/3 dark:ring-white/5 dark:hover:bg-white/5 dark:data-checked:bg-primary/15 dark:data-checked:ring-primary dark:data-checked:hover:bg-primary/15`,children:[(0,$.jsx)(Nt,{driverKind:e.driverKind,displayName:e.label,iconClassName:`size-4`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-foreground`,children:e.label}),(0,$.jsx)(Ge,{className:`grid size-5 shrink-0 place-items-center rounded-full bg-primary text-primary-foreground`,"aria-hidden":!0,children:(0,$.jsx)(I,{className:`size-3.5 shrink-0`})}),e.badgeLabel?(0,$.jsx)(v,{variant:`warning`,size:`sm`,children:e.badgeLabel}):null]},e.driverKind)}function hi(e){return e.driverKind!==ci}function gi(e){return Un(e,ci,{label:`Local ACP`,instanceIdOverride:null})}function _i(e){return{...e,[ci]:{source:`local`,commandArgs:[]}}}function vi(e){return Un(e,ci,{label:``,instanceIdOverride:null})}function yi(e){let t={...e};return delete t[ci],t}function bi(e){return ai(ci,e)}function xi(e){let t=e;try{t=new URL(e).host}catch{}let n=t.toLowerCase().replace(/[^a-z0-9.-]+/g,`-`).replace(/^-+|-+$/g,``);return j.make(`cliproxy-${n||`hub`}`)}function Si(e){let t=(0,jn.c)(53),{open:n,onOpenChange:r,environmentId:i,environmentLabel:a}=e,o=je(i),[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(``),[d,f]=(0,Q.useState)(``),p;t[0]===l?p=t[1]:(p=l.trim(),t[0]=l,t[1]=p);let m=p,h;t[2]!==d||t[3]!==m.length?(h=m.length>0&&d.trim().length>0,t[2]=d,t[3]=m.length,t[4]=h):h=t[4];let g=h,_;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{c(``),u(``),f(``)},t[5]=_):_=t[5];let v=_,y;t[6]!==g||t[7]!==s||t[8]!==d||t[9]!==r||t[10]!==m||t[11]!==o?(y=()=>{if(!g)return;let e=xi(m);o({usageLimitSources:{[e]:{kind:`cliproxy`,...s.trim()?{label:s.trim()}:{},url:m,managementKey:d.trim(),enabled:!0}}}),v(),r(!1)},t[6]=g,t[7]=s,t[8]=d,t[9]=r,t[10]=m,t[11]=o,t[12]=y):y=t[12];let b=y,x;t[13]===r?x=t[14]:(x=e=>{e||v(),r(e)},t[13]=r,t[14]=x);let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(Ze,{children:`Add a CLIProxyAPI hub`}),t[15]=S):S=t[15];let C;t[16]===a?C=t[17]:(C=(0,$.jsxs)(Xe,{children:[S,(0,$.jsxs)(et,{children:[`Show the quota of every account the hub pools, next to the providers on`,` `,a,`. The key stays on that server.`]})]}),t[16]=a,t[17]=C);let w;t[18]===b?w=t[19]:(w=e=>{e.preventDefault(),b()},t[18]=b,t[19]=w);let T;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(nn,{htmlFor:`usage-source-url`,children:`Hub URL`}),t[20]=T):T=t[20];let E;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>u(e.target.value),t[21]=E):E=t[21];let D;t[22]===l?D=t[23]:(D=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[T,(0,$.jsx)(Je,{id:`usage-source-url`,placeholder:`https://hub.example.ts.net:8318`,value:l,onChange:E,autoFocus:!0})]}),t[22]=l,t[23]=D);let O;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(nn,{htmlFor:`usage-source-key`,children:`Management key`}),t[24]=O):O=t[24];let k;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(k=e=>f(e.target.value),t[25]=k):k=t[25];let ee;t[26]===d?ee=t[27]:(ee=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[O,(0,$.jsx)(kn,{id:`usage-source-key`,value:d,onChange:k})]}),t[26]=d,t[27]=ee);let j;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(nn,{htmlFor:`usage-source-label`,children:`Label (optional)`}),t[28]=j):j=t[28];let M;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(M=e=>c(e.target.value),t[29]=M):M=t[29];let N;t[30]===s?N=t[31]:(N=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[j,(0,$.jsx)(Je,{id:`usage-source-label`,placeholder:`Defaults to the hub's host name`,value:s,onChange:M})]}),t[30]=s,t[31]=N);let P;t[32]!==D||t[33]!==ee||t[34]!==N||t[35]!==w?(P=(0,$.jsx)($e,{children:(0,$.jsxs)(`form`,{className:`grid gap-4`,onSubmit:w,children:[D,ee,N]})}),t[32]=D,t[33]=ee,t[34]=N,t[35]=w,t[36]=P):P=t[36];let F;t[37]===r?F=t[38]:(F=(0,$.jsx)(A,{variant:`outline`,onClick:()=>{v(),r(!1)},children:`Cancel`}),t[37]=r,t[38]=F);let te=!g,I;t[39]!==b||t[40]!==te?(I=(0,$.jsx)(A,{onClick:b,disabled:te,children:`Add hub`}),t[39]=b,t[40]=te,t[41]=I):I=t[41];let L;t[42]!==F||t[43]!==I?(L=(0,$.jsxs)(Qe,{variant:`bare`,children:[F,I]}),t[42]=F,t[43]=I,t[44]=L):L=t[44];let R;t[45]!==P||t[46]!==L||t[47]!==C?(R=(0,$.jsxs)(tt,{className:`max-w-md`,children:[C,P,L]}),t[45]=P,t[46]=L,t[47]=C,t[48]=R):R=t[48];let z;return t[49]!==n||t[50]!==R||t[51]!==x?(z=(0,$.jsx)(nt,{open:n,onOpenChange:x,children:R}),t[49]=n,t[50]=R,t[51]=x,t[52]=z):z=t[52],z}function Ci({environmentId:e,environmentLabel:t,sources:n,cursorKeychainUsageEnabled:r,readOnly:i}){let a=je(e),o=X(Y.updateSettings,{label:`update Cursor account usage`}),s=X(Y.refreshProviders,{reportFailure:!1}),c=y(Y.configValueAtom(e))?.environment.platform,[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(!1),p=Object.entries(n),m=async t=>{f(!0);try{(await o({environmentId:e,input:{patch:{cursorKeychainUsageEnabled:t}}}))._tag===`Success`&&await s({environmentId:e,input:{}})}finally{f(!1)}};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Ot,{...rn(`usage-providers`),headerAction:i?null:(0,$.jsxs)(A,{size:`xs`,variant:`outline`,onClick:()=>u(!0),children:[(0,$.jsx)(re,{className:`size-3`,"aria-hidden":!0}),`Add hub`]}),children:[c?.os===`darwin`?(0,$.jsx)(wt,{id:`cursor-keychain-usage`,title:`Cursor account usage`,description:`Read your existing Cursor CLI login from macOS Keychain to show account history and monthly limits. macOS may ask you to allow access.`,control:(0,$.jsx)(sn,{"aria-label":`Cursor account usage`,checked:r,disabled:i||d,onCheckedChange:e=>void m(e)})}):null,p.length===0?(0,$.jsx)(wt,{title:`No hubs configured.`}):p.map(([e,t])=>{let n=t.label?.trim()||t.url;return(0,$.jsx)(wt,{title:n,description:(0,$.jsxs)(`span`,{className:`break-all`,children:[`CLI Proxy`,t.enabled?``:` · Disabled`,n===t.url?``:` · ${t.url}`]}),control:i?null:(0,$.jsx)(wi,{label:n,onConfirm:()=>a({usageLimitSources:{[e]:null}})})},e)})]}),l&&!i?(0,$.jsx)(Si,{open:!0,onOpenChange:u,environmentId:e,environmentLabel:t}):null]})}function wi(e){let t=(0,jn.c)(15),{label:n,onConfirm:r}=e,[i,a]=(0,Q.useState)(!1),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(A,{size:`xs`,variant:`ghost`,onClick:()=>a(!0),children:`Remove`}),t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=(0,$.jsxs)(Lt,{children:[`Remove `,n,`?`]}),t[1]=n,t[2]=s);let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(Bt,{children:`The hub's management key is deleted from this server. Its accounts leave the Limits view; the hub itself is untouched. Add it again with the URL and key to bring them back.`}),t[3]=c):c=t[3];let l;t[4]===s?l=t[5]:(l=(0,$.jsxs)(Kt,{children:[s,c]}),t[4]=s,t[5]=l);let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Yt,{render:(0,$.jsx)(A,{variant:`outline`}),children:`Cancel`}),t[6]=u):u=t[6];let d;t[7]===r?d=t[8]:(d=(0,$.jsxs)(zt,{children:[u,(0,$.jsx)(A,{variant:`destructive`,onClick:()=>{a(!1),r()},children:`Remove hub`})]}),t[7]=r,t[8]=d);let f;t[9]!==l||t[10]!==d?(f=(0,$.jsxs)(tn,{children:[l,d]}),t[9]=l,t[10]=d,t[11]=f):f=t[11];let p;return t[12]!==i||t[13]!==f?(p=(0,$.jsxs)($.Fragment,{children:[o,(0,$.jsx)(cn,{open:i,onOpenChange:a,children:f})]}),t[12]=i,t[13]=f,t[14]=p):p=t[14],p}function Ti(e){let t=typeof e==`object`&&e&&`authMethod`in e?e.authMethod:void 0;return D.find(e=>e.value===t)?.value??`oauth-personal`}function Ei(e){let t=(0,jn.c)(21),n;t[0]===e.environmentLabel?n=t[1]:(n=(0,$.jsx)(`span`,{className:`text-muted-foreground [overflow-wrap:anywhere]`,children:e.environmentLabel}),t[0]=e.environmentLabel,t[1]=n);let r;t[2]!==e.enabled||t[3]!==e.onEnable||t[4]!==e.readOnly?(r=!e.enabled&&!e.readOnly?(0,$.jsx)(A,{size:`sm`,variant:`outline`,onClick:e.onEnable,children:`Enable Antigravity`}):null,t[2]=e.enabled,t[3]=e.onEnable,t[4]=e.readOnly,t[5]=r):r=t[5];let i;t[6]!==n||t[7]!==r?(i=(0,$.jsx)(wt,{className:`@max-lg/setup:[&>div:first-child]:flex @max-lg/setup:[&>div:first-child]:items-stretch @max-lg/setup:[&>div:first-child]:gap-3`,title:`Environment`,description:`Device that runs this provider.`,control:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2 sm:items-end`,children:[n,r]})}),t[6]=n,t[7]=r,t[8]=i):i=t[8];let a;t[9]!==e.authMethod||t[10]!==e.binaryPath||t[11]!==e.enabled||t[12]!==e.environmentId||t[13]!==e.environmentLabel||t[14]!==e.instanceId||t[15]!==e.provider||t[16]!==e.readOnly?(a=e.readOnly?(0,$.jsx)(wt,{title:`Setup unavailable`,description:`Provider setup is read-only.`}):e.provider?.setup===void 0?(0,$.jsx)(wt,{title:`Update required`,description:`Update this environment to manage Antigravity.`}):(0,$.jsx)(Di,{environmentId:e.environmentId,environmentLabel:e.environmentLabel,instanceId:e.instanceId,provider:e.provider,binaryPath:e.binaryPath,authMethod:e.authMethod??`oauth-personal`,enabled:e.enabled},`${e.environmentId}:${e.instanceId}`),t[9]=e.authMethod,t[10]=e.binaryPath,t[11]=e.enabled,t[12]=e.environmentId,t[13]=e.environmentLabel,t[14]=e.instanceId,t[15]=e.provider,t[16]=e.readOnly,t[17]=a):a=t[17];let o;return t[18]!==i||t[19]!==a?(o=(0,$.jsxs)(`section`,{"aria-label":`Antigravity setup`,className:`@container/setup divide-y divide-border/50 text-xs`,children:[i,a]}),t[18]=i,t[19]=a,t[20]=o):o=t[20],o}function Di({environmentId:e,environmentLabel:t,instanceId:n,provider:r,enabled:i,binaryPath:a}){let o={environmentId:e,input:{instanceId:n}},s=Ve(Y.providerAuthState(o)),c=Ve(Y.providerInstallState(o)),l=s.data,u=c.data,d={reportFailure:!1,reportDefect:!1},f=X(Y.startProviderInstall,d),p=X(Y.cancelProviderInstall,d),m=X(Y.removeProviderInstallation,d),[h,g]=(0,Q.useState)(null),_=(0,Q.useRef)(!1),[v,y]=(0,Q.useState)(null),b=l?.phase===`starting`||l?.phase===`waiting`||l?.phase===`verifying`,x=u?.phase===`downloading`||u?.phase===`extracting`||u?.phase===`verifying`,S=!!a?.trim(),C=r.installed||!S&&u?.installedVersion!=null,w=s.error??c.error,T=h!==null||w!==null,E=u?.phase===`downloading`?`Downloading ${(u.downloadedBytes/1e6).toFixed(1)} MB${u.totalBytes===null?``:` of ${(u.totalBytes/1e6).toFixed(1)} MB`}.`:u?.phase===`extracting`?`Extracting Antigravity.`:u?.phase===`verifying`?`Checking the downloaded runtime.`:C?`Installed.`:S?i?`The configured Antigravity runtime is unavailable.`:`The configured Antigravity runtime has not been checked.`:u?.totalBytes?`${Math.ceil(u.totalBytes/1e6)} MB download.`:`Not installed.`;async function D(e,t){if(_.current)return!1;_.current=!0,g(e),y(null);try{let e=await t();if(e._tag===`Failure`){if(!U(e)){let t=se(e);y(t instanceof Error?t.message:`Provider setup failed.`)}return!1}return!0}catch{return y(`Provider setup failed. Try again.`),!1}finally{_.current=!1,g(null)}}async function O(){await Pe().dialogs.confirm(`Remove the downloaded Antigravity runtime from ${t}? Google sign-in and thread history are kept.`)&&await D(`Removing runtime`,()=>m(o))}return(0,$.jsxs)(`div`,{className:`divide-y divide-border/50`,children:[(0,$.jsx)(wt,{title:`Runtime`,className:`@max-lg/setup:[&>div:first-child]:flex @max-lg/setup:[&>div:first-child]:items-stretch @max-lg/setup:[&>div:first-child]:gap-3`,description:`Install and manage Antigravity.`,status:(0,$.jsxs)(`div`,{className:`space-y-2`,children:[S?(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`Uses the custom binary path below. Installation keeps that path.`}):null,!C&&!r.setup?.canInstall?(0,$.jsx)(`p`,{className:`text-muted-foreground`,children:`Automatic installation unavailable. Set a binary path or use another environment.`}):null]}),control:(0,$.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 @min-[32rem]/settings-row:w-56 @min-[32rem]/settings-row:text-right`,children:[(0,$.jsx)(`p`,{role:`status`,className:`min-h-4 text-muted-foreground tabular-nums`,children:E}),(0,$.jsx)(`div`,{className:`h-1`,children:u?.phase===`downloading`&&u.totalBytes!==null&&u.totalBytes>0?(0,$.jsx)(`progress`,{"aria-label":`Antigravity download`,className:`block h-1 w-full accent-foreground`,value:u.downloadedBytes,max:u.totalBytes}):null}),!x&&u?.message&&u.message!==E?(0,$.jsx)(`p`,{className:`text-muted-foreground [overflow-wrap:anywhere]`,children:u.message}):null,(0,$.jsxs)(`div`,{className:`grid min-h-7 grid-cols-[1.75rem_minmax(0,1fr)] gap-2`,children:[(0,$.jsx)(`div`,{className:`col-start-2 row-start-1 grid`,children:x&&u.operationId?(0,$.jsx)(A,{size:`sm`,variant:`outline`,disabled:T,onClick:()=>{let t=u.operationId;t&&D(`Cancelling installation`,()=>p({environmentId:e,input:{instanceId:n,operationId:t}}))},children:`Cancel installation`}):!x&&r.setup?.canInstall?(0,$.jsx)(A,{size:`sm`,variant:`outline`,disabled:T||u===null||b,onClick:()=>void D(`Starting installation`,()=>f(o)),children:u?.installedVersion?u.version&&u.version!==u.installedVersion?`Update Antigravity`:`Reinstall Antigravity`:u?.phase===`failed`||u?.phase===`cancelled`?`Retry installation`:C?`Install managed runtime`:`Install Antigravity`}):null}),u?.canRemove&&!x?(0,$.jsx)(A,{size:`icon-sm`,variant:`ghost`,className:`col-start-1 row-start-1`,"aria-label":`Remove downloaded runtime`,disabled:T||b,onClick:()=>void O(),children:(0,$.jsx)(oe,{className:`size-3.5`})}):null]})]})}),(0,$.jsx)($n,{environmentId:e,environmentLabel:t,instanceId:n,provider:r,readOnly:!1}),(0,$.jsx)(`p`,{className:`sr-only`,role:`status`,children:h?`${h}.`:null}),v||w?(0,$.jsxs)(`div`,{className:`grid gap-2 px-3 py-3 sm:px-4`,children:[(0,$.jsx)(`p`,{role:`alert`,className:`text-destructive [overflow-wrap:anywhere]`,children:v??w}),w?(0,$.jsx)(A,{size:`sm`,variant:`outline`,className:`w-fit`,onClick:()=>{s.refresh(),c.refresh()},children:`Retry setup status`}):null]}):null]})}function Oi(e,t){let n=new Set(e),r=new Set(t.map(e=>e.trim()).filter(Boolean));return[...new Set([...n,...r])].filter(e=>n.has(e)!==r.has(e)).map(e=>({model:e,selected:r.has(e)}))}function ki(e,t){if(typeof e!=`object`||!e)return null;let n=e[t];return typeof n==`string`&&n.trim().length>0?n.trim():null}var Ai=Mt.definitions.map(e=>({provider:e.driverKind,hasDefaultInstance:e.hasDefaultInstance!==!1}));function ji(e){return typeof e!=`object`||!e||!(`binaryPath`in e)?``:typeof e.binaryPath==`string`?e.binaryPath.trim():``}function Mi(e){let t=(0,jn.c)(6),{lastCheckedAt:n}=e;At();let r;t[0]===n?r=t[1]:(r=Z(n),t[0]=n,t[1]=r);let i=r;if(i.status===`missing`)return null;if(i.status===`invalid`){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(`span`,{children:`Checked unavailable`}),t[2]=e):e=t[2],e}let a;return t[3]!==i.suffix||t[4]!==i.value?(a=(0,$.jsx)(`span`,{children:i.suffix?(0,$.jsxs)($.Fragment,{children:[`Checked `,(0,$.jsx)(`span`,{className:`font-mono tabular-nums`,children:i.value}),` `,i.suffix]}):(0,$.jsxs)($.Fragment,{children:[`Checked `,i.value]})}),t[3]=i.suffix,t[4]=i.value,t[5]=a):a=t[5],a}function Ni(e){return e.entry.target._tag===`PrimaryConnectionTarget`?`Primary device`:e.relayManaged?`P4 Connect`:e.entry.target._tag===`SshConnectionTarget`?`SSH`:G(e.entry.target)?`Local device`:e.displayUrl??`Remote device`}var Pi=`@min-[48rem]/providers:h-[min(44rem,calc(100dvh-11rem))] @min-[48rem]/providers:min-h-[32rem]`;function Fi(e){let t=(0,jn.c)(22),{deviceTabs:n,icon:r,title:i,description:a,children:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=rn(`providers`),t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=n?(0,$.jsx)(`div`,{className:`flex min-h-11 min-w-0 items-center px-3 sm:px-4`,children:n}):null,t[1]=n,t[2]=c);let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=M(Pi,`scrollbar-gutter-both flex overflow-x-hidden overflow-y-auto`),t[3]=l):l=t[3];let u;t[4]===r?u=t[5]:(u=(0,$.jsx)(rt,{variant:`icon`,children:r}),t[4]=r,t[5]=u);let d;t[6]===i?d=t[7]:(d=(0,$.jsx)(ot,{children:i}),t[6]=i,t[7]=d);let f;t[8]===a?f=t[9]:(f=(0,$.jsx)(st,{children:a}),t[8]=a,t[9]=f);let p;t[10]!==d||t[11]!==f?(p=(0,$.jsxs)(it,{children:[d,f]}),t[10]=d,t[11]=f,t[12]=p):p=t[12];let m;t[13]===o?m=t[14]:(m=o?(0,$.jsx)(at,{className:`max-w-xl`,children:o}):null,t[13]=o,t[14]=m);let h;t[15]!==u||t[16]!==p||t[17]!==m?(h=(0,$.jsx)(Ct,{divided:!1,className:l,children:(0,$.jsxs)(ct,{children:[u,p,m]})}),t[15]=u,t[16]=p,t[17]=m,t[18]=h):h=t[18];let g;return t[19]!==c||t[20]!==h?(g=(0,$.jsxs)(Ot,{...s,variant:`plain`,children:[c,h]}),t[19]=c,t[20]=h,t[21]=g):g=t[21],g}function Ii(e){let t=(0,jn.c)(18),{environment:n,access:r,deviceTabs:i}=e,a=r.kind===`loading`,o=a?`Loading provider settings`:r.kind===`error`?`Could not connect to this device`:`Provider settings are unavailable`,s;t[0]!==r.reason||t[1]!==n.connection||t[2]!==n.label||t[3]!==a?(s=a?r.reason===`permissions`?`Checking what this session is allowed to change.`:`Waiting for ${n.label}'s configuration.`:ue(n.connection),t[0]=r.reason,t[1]=n.connection,t[2]=n.label,t[3]=a,t[4]=s):s=t[4];let c=s,l=a?null:n.connection.error,u;t[5]===n.serverConfig?u=t[6]:(u=b(n.serverConfig),t[5]=n.serverConfig,t[6]=u);let d;t[7]===u?d=t[8]:(d=(0,$.jsx)(bt,{kind:u}),t[7]=u,t[8]=d);let f;t[9]!==n.environmentId||t[10]!==l?(f=l?(0,$.jsx)(vn,{text:l,className:`w-full text-left font-mono text-xs leading-relaxed text-muted-foreground`},n.environmentId):null,t[9]=n.environmentId,t[10]=l,t[11]=f):f=t[11];let p;return t[12]!==c||t[13]!==i||t[14]!==d||t[15]!==f||t[16]!==o?(p=(0,$.jsx)(Fi,{deviceTabs:i,icon:d,title:o,description:c,children:f}),t[12]=c,t[13]=i,t[14]=d,t[15]=f,t[16]=o,t[17]=p):p=t[17],p}function Li(e){let t=(0,jn.c)(3),n=`${e.environmentId??``}:${e.instanceId??``}`,r;return t[0]!==n||t[1]!==e?(r=(0,$.jsx)(Et,{className:`@container/providers gap-8`,children:(0,$.jsx)(Ri,{...e},n)}),t[0]=n,t[1]=e,t[2]=r):r=t[2],r}function Ri(e){let t=(0,jn.c)(59),{environments:n,isReady:r}=De(),i=ke(),a=Tt(),o;t[0]!==n||t[1]!==i||t[2]!==e.environmentIds?(o=Zt(n,i,e.environmentIds),t[0]=n,t[1]=i,t[2]=e.environmentIds,t[3]=o):o=t[3];let s=o,[c,l]=(0,Q.useState)(e.environmentId??i),u;t[4]!==s||t[5]!==c||t[6]!==e.environmentId?(u=e.environmentId!==void 0&&c===e.environmentId&&!s.some(t=>t.environmentId===e.environmentId),t[4]=s,t[5]=c,t[6]=e.environmentId,t[7]=u):u=t[7];let d=u,f;t[8]!==s||t[9]!==i||t[10]!==c||t[11]!==e.environmentId||t[12]!==e.scoped||t[13]!==d?(f=e.scoped||d?e.environmentId:Wt(s,c,i),t[8]=s,t[9]=i,t[10]=c,t[11]=e.environmentId,t[12]=e.scoped,t[13]=d,t[14]=f):f=t[14];let p=f,m,h;t[15]!==p||t[16]!==s?(m=s.find(e=>e.environmentId===p)??null,h=m!==null&&Qt({connectionPhase:m.connection.phase,hasServerConfig:m.serverConfig!==null}),t[15]=p,t[16]=s,t[17]=m,t[18]=h):(m=t[17],h=t[18]);let g=h,_;t[19]===s?_=t[20]:(_=s.find(Vi)?.environmentId,t[19]=s,t[20]=_);let v=_,y;t[21]===s?y=t[22]:(y=s.find(Bi)?.environmentId,t[21]=s,t[22]=y);let x=y,S;t[23]!==a||t[24]!==x||t[25]!==v||t[26]!==m?.serverConfig?.environment||t[27]!==g||t[28]!==e.scoped?(S=()=>{if(!e.scoped&&a===rn(`cursor-keychain-usage`).id&&(!g||m?.serverConfig?.environment.platform.os!==`darwin`)&&x!==void 0){l(x);return}!e.scoped&&(a===rn(`provider-health-check-interval`).id||a===rn(`usage-providers`).id)&&!g&&v!==void 0&&l(v)},t[23]=a,t[24]=x,t[25]=v,t[26]=m?.serverConfig?.environment,t[27]=g,t[28]=e.scoped,t[29]=S):S=t[29];let C;t[30]!==a||t[31]!==x||t[32]!==v||t[33]!==m||t[34]!==g||t[35]!==e.scoped?(C=[a,x,v,m,g,e.scoped],t[30]=a,t[31]=x,t[32]=v,t[33]=m,t[34]=g,t[35]=e.scoped,t[36]=C):C=t[36],(0,Q.useEffect)(S,C);let w=s.length===1&&s[0]?.entry.target._tag===`PrimaryConnectionTarget`,T;t[37]!==p||t[38]!==w||t[39]!==s||t[40]!==e.scoped?(T=!e.scoped&&!w&&s.length>0?(0,$.jsx)(Ye,{radius:`none`,hideScrollbars:!0,scrollFade:!0,className:`h-11 min-w-0 flex-1`,children:(0,$.jsx)(Ke,{"aria-label":`Devices`,variant:`segmented`,className:`my-2`,value:p?[p]:[],onValueChange:e=>{let t=s.find(t=>t.environmentId===e[0]);t&&l(t.environmentId)},children:s.map(zi)})}):null,t[37]=p,t[38]=w,t[39]=s,t[40]=e.scoped,t[41]=T):T=t[41];let E=T,D;t[42]!==E||t[43]!==d?(D=d?(0,$.jsx)(Fi,{deviceTabs:E,icon:(0,$.jsx)(bt,{kind:b(null)}),title:`Device unavailable`,description:`Reconnect this device to set up its provider, or select another device.`}):null,t[42]=E,t[43]=d,t[44]=D):D=t[44];let O;t[45]!==r||t[46]!==s.length||t[47]!==d?(O=s.length===0&&!d?(0,$.jsx)(Fi,{icon:(0,$.jsx)(bt,{kind:b(null)}),title:r?`No connected devices`:`Loading devices`,description:r?`Connect an execution environment before configuring providers.`:`Reading connected execution environments.`}):null,t[45]=r,t[46]=s.length,t[47]=d,t[48]=O):O=t[48];let k;t[49]!==E||t[50]!==m||t[51]!==e.environmentId||t[52]!==e.instanceId||t[53]!==e.projectIds?(k=m?(0,$.jsx)(Hi,{environment:m,deviceTabs:E,targetInstanceId:e.environmentId===void 0||m.environmentId===e.environmentId?e.instanceId:void 0,projectIds:e.projectIds??[]},m.environmentId):null,t[49]=E,t[50]=m,t[51]=e.environmentId,t[52]=e.instanceId,t[53]=e.projectIds,t[54]=k):k=t[54];let A;return t[55]!==O||t[56]!==k||t[57]!==D?(A=(0,$.jsxs)($.Fragment,{children:[D,O,k]}),t[55]=O,t[56]=k,t[57]=D,t[58]=A):A=t[58],A}function zi(e){let t=b(e.serverConfig),n=Ni(e),r=ue(e.connection);return(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsxs)(qe,{value:e.environmentId,children:[(0,$.jsx)(bt,{kind:t,className:`size-3.5 shrink-0`,"aria-hidden":!0}),(0,$.jsx)(`span`,{className:`max-w-40 truncate`,children:e.label}),e.connection.phase===`connected`?null:(0,$.jsx)(It,{dotClassName:Pt(e.connection.phase),pingClassName:Ft(e.connection.phase)}),(0,$.jsxs)(`span`,{className:`sr-only`,children:[n,`, `,r]})]})}),(0,$.jsxs)(pe,{side:`top`,children:[n,` · `,r]})]},e.environmentId)}function Bi(e){return e.serverConfig?.environment.platform.os===`darwin`&&Qt({connectionPhase:e.connection.phase,hasServerConfig:!0})}function Vi(e){return Qt({connectionPhase:e.connection.phase,hasServerConfig:e.serverConfig!==null})}function Hi(e){let t=(0,jn.c)(5),{environment:n,deviceTabs:r,targetInstanceId:i,projectIds:a}=e,o;return t[0]!==r||t[1]!==n||t[2]!==a||t[3]!==i?(o=(0,$.jsx)(Ui,{environment:n,deviceTabs:r,targetInstanceId:i,projectIds:a}),t[0]=r,t[1]=n,t[2]=a,t[3]=i,t[4]=o):o=t[4],o}function Ui(e){let t=(0,jn.c)(10),{environment:n,deviceTabs:r,targetInstanceId:i,projectIds:a}=e,o=Re(n.environmentId),s;t[0]!==o.data||t[1]!==o.hasError||t[2]!==o.isPending?(s=Ht({session:o.data,isPending:o.isPending,hasError:o.hasError}),t[0]=o.data,t[1]=o.hasError,t[2]=o.isPending,t[3]=s):s=t[3];let c=s,l;return t[4]!==r||t[5]!==n||t[6]!==c||t[7]!==a||t[8]!==i?(l=(0,$.jsx)(Wi,{environment:n,operateAccess:c,deviceTabs:r,targetInstanceId:i,projectIds:a}),t[4]=r,t[5]=n,t[6]=c,t[7]=a,t[8]=i,t[9]=l):l=t[9],l}function Wi(e){let t=(0,jn.c)(15),{environment:n,operateAccess:r,deviceTabs:i,targetInstanceId:a,projectIds:o}=e,s=n.serverConfig!==null,c;t[0]!==n.connection.phase||t[1]!==r||t[2]!==s?(c=Xt({connectionPhase:n.connection.phase,hasServerConfig:s,operateAccess:r}),t[0]=n.connection.phase,t[1]=r,t[2]=s,t[3]=c):c=t[3];let l=c;if(l.kind!==`editable`&&l.kind!==`read-only`){let e;return t[4]!==l||t[5]!==i||t[6]!==n?(e=(0,$.jsx)(Ii,{environment:n,access:l,deviceTabs:i}),t[4]=l,t[5]=i,t[6]=n,t[7]=e):e=t[7],e}let u=l.kind===`read-only`,d;return t[8]!==i||t[9]!==n.environmentId||t[10]!==n.label||t[11]!==o||t[12]!==u||t[13]!==a?(d=(0,$.jsx)(Gi,{environmentId:n.environmentId,environmentLabel:n.label,readOnly:u,deviceTabs:i,targetInstanceId:a,projectIds:o}),t[8]=i,t[9]=n.environmentId,t[10]=n.label,t[11]=o,t[12]=u,t[13]=a,t[14]=d):d=t[14],d}function Gi(e){let t=(0,jn.c)(179),{environmentId:n,environmentLabel:i,readOnly:c,deviceTabs:l,targetInstanceId:d,projectIds:f}=e,m=c!==void 0&&c,h;t[0]===f?h=t[1]:(h=f===void 0?[]:f,t[0]=f,t[1]=h);let g=h,v=Me(n),b=ze(n,u),x=ze(n,o),T=je(n),D=Fe(n),k=Ae(n),j=Ne(n),N=y(Y.providersValueAtom(n))??Le,P=le(),F;if(t[2]!==n||t[3]!==P){let e;t[5]===n?e=t[6]:(e=e=>e.environmentId===n,t[5]=n,t[6]=e),F=P.filter(e),t[2]=n,t[3]=P,t[4]=F}else F=t[4];let te=F,I=W().get(n)?.environment.capabilities.projectProviderInstanceOverrides===!0,L;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(L={reportFailure:!1},t[7]=L):L=t[7];let R=X(Y.refreshProviders,L),z;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(z={reportFailure:!1},t[8]=z):z=t[8];let B=X(Y.updateProvider,z),ne;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(ne={reportFailure:!1},t[9]=ne):ne=t[9];let ie=X(Y.uninstallAcpRegistryManagedBinary,ne),ae;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(ae={reportFailure:!1},t[10]=ae):ae=t[10];let oe=X(Y.acceptAcpRegistryUrlAuth,ae),[V,H]=(0,Q.useState)(!1),[G,ue]=(0,Q.useState)(!1),[fe,he]=(0,Q.useState)(d??null),[q,be]=(0,Q.useState)($i),xe=(0,Q.useRef)(!1),Se;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(Se=new Set,t[11]=Se):Se=t[11];let Ce=(0,Q.useRef)(Se),we;t[12]!==oe||t[13]!==n?(we=(e,t)=>{oe({environmentId:n,input:{instanceId:e,elicitationId:t.elicitationId}}).then(Qi)},t[12]=oe,t[13]=n,t[14]=we):we=t[14];let Te=we,Ee;t[15]===N?Ee=t[16]:(Ee=new Map(N.filter(en).map(Zi)),t[15]=N,t[16]=Ee);let De=Ee,ke,Pe,Re,Ve,Z,Ue,We,Ge,Ke,qe,Je,Xe,Ze,Qe,$e,et;if(t[17]!==Te||t[18]!==x||t[19]!==b||t[20]!==l||t[21]!==n||t[22]!==i||t[23]!==V||t[24]!==j||t[25]!==g||t[26]!==te||t[27]!==De||t[28]!==m||t[29]!==R||t[30]!==fe||t[31]!==N||t[32]!==v||t[33]!==I||t[34]!==d||t[35]!==k||t[36]!==ie||t[37]!==D||t[38]!==B||t[39]!==T||t[40]!==q){let e;t[57]===N?e=t[58]:(e=e=>e.provider!==`cursor`||N.some(Xi),t[57]=N,t[58]=e);let a=Ai.filter(e),o;t[59]!==N||t[60]!==v?(o=p(v,N),t[59]=N,t[60]=v,t[61]=o):o=t[61];let c=o.instanceId,u;if(t[62]!==v){Z=Ie(v);let e=Oe(Z.profile).providerHealthRefreshInterval;Ve=pn(Z.providerHealthRefreshInterval),u=pn(e),t[62]=v,t[63]=Ve,t[64]=Z,t[65]=u}else Ve=t[63],Z=t[64],u=t[65];Re=u;let f;t[66]===N?f=t[67]:(f=N.length>0?N.reduce(Yi,N[0].checkedAt):null,t[66]=N,t[67]=f);let h=f,y;t[68]!==n||t[69]!==R?(y=()=>{!xe.current&&Be(n,`orchestration:read`)&&(xe.current=!0,H(!0),(async()=>{let e=await R({environmentId:n,input:{refreshModels:!0}});xe.current=!1,H(!1),e._tag===`Failure`&&!U(e)&&console.warn(`Failed to refresh providers`,{operation:`refresh-providers`,environmentId:n,...ce(se(e))})})())},t[68]=n,t[69]=R,t[70]=y):y=t[70];let P=y,F;t[71]!==n||t[72]!==B?(F=async(e,t)=>{if(!Be(n,`providers:manage`)||Ce.current.has(e.instanceId))return;Ce.current.add(e.instanceId),be(t=>new Set(t).add(e.instanceId));let r=await B({environmentId:n,input:{provider:e.driver,instanceId:e.instanceId,...t?{targetVersion:t}:{}}});if(r._tag===`Failure`&&!U(r)){let t=se(r);J.add(He({type:`error`,title:`Could not update ${S[e.driver]??e.driver}`,description:t instanceof Error?t.message:`The provider update command could not be started.`}))}Ce.current.delete(e.instanceId),be(t=>{if(!t.has(e.instanceId))return t;let n=new Set(t);return n.delete(e.instanceId),n})},t[71]=n,t[72]=B,t[73]=F):F=t[73];let L=F,z=new Map;for(let[e,t]of Object.entries(v.providerInstances??{})){let n=t.driver,r=z.get(n)??[];r.push([e,t]),z.set(n,r)}let ne=new Set(a.map(Ji)),ae=[],oe=new Set(a.map(qi));for(let e of a){let t=e.provider,n=w(t),r=v.providerInstances?.[n],i=r??{driver:t},a=r!==void 0;(e.hasDefaultInstance||r!==void 0)&&(t===`codex`||t===`claudeAgent`||a||_(i)||n===d)&&ae.push({instanceId:n,instance:i,driver:t,isDefault:!0,isDirty:a});for(let[t,r]of z.get(e.provider)??[])t!==n&&ae.push({instanceId:t,instance:r,driver:r.driver,isDefault:!1})}for(let[e,t]of z)if(!oe.has(e))for(let[e,n]of t)ae.push({instanceId:e,instance:n,driver:n.driver,isDefault:ne.has(String(e))});let le=d!==void 0&&fe===d&&!ae.some(e=>e.instanceId===d),W=ae.find(e=>e.instanceId===fe)??(le?null:ae[0]??null),G;t[74]!==j||t[75]!==v?(G=async(e,t,n)=>{let{providerInstances:r,...i}=hn({settings:v,instanceId:e.instanceId,instance:t,textGenerationModelSelection:n?.textGenerationModelSelection}),a=await j({operation:`upsert`,instanceId:e.instanceId,instance:t},i);if(a._tag===`Failure`&&!U(a)){let e=se(a);J.add({type:`error`,title:`Could not update provider instance`,description:e instanceof Error?e.message:`The settings update failed.`})}},t[74]=j,t[75]=v,t[76]=G):G=t[76];let K=G,ge;t[77]!==n||t[78]!==j||t[79]!==ie?(ge=async e=>{let t=await j({operation:`remove`,instanceId:e.instanceId});if(t._tag===`Failure`){let e=se(t);J.add({type:`error`,title:`Could not delete provider instance`,description:e instanceof Error?e.message:`The settings update failed.`});return}if(e.driver!==O.make(`acpRegistry`)||ki(e.instance.config,`source`)===`local`)return;let r=ki(e.instance.config,`agentId`);if(r===null)return;let i=await ie({environmentId:n,input:{agentId:r}});if(i._tag===`Failure`&&!U(i)){let e=se(i);J.add({type:`warning`,title:`Provider deleted, but managed files remain`,description:e instanceof Error?e.message:`Managed binary cleanup failed.`})}},t[77]=n,t[78]=j,t[79]=ie,t[80]=ge):ge=t[80];let _e=ge,ve;t[81]===j?ve=t[82]:(ve=async e=>{let t=await j({operation:`remove`,instanceId:w(e)});if(t._tag===`Failure`&&!U(t)){let e=se(t);J.add({type:`error`,title:`Could not reset provider instance`,description:e instanceof Error?e.message:`The settings update failed.`})}},t[81]=j,t[82]=ve);let ye=ve,Se=(e,t)=>{let a=Mt.get(e.driver),o=N.find(t=>t.instanceId===e.instanceId),l=De.get(e.instanceId),u=q.has(e.instanceId)||o!==void 0&&Gt(o),d=l!==void 0,f=l!==void 0&&!u,p=v.providerModelPreferences?.[e.instanceId]??{hiddenModels:[],modelOrder:[]},h=ee(v.favorites??[],t=>t.provider===e.instanceId?E(t.model):C),y=a?.label??String(e.driver),x=g[0],S=t=>{T({projectSettingsOverrides:Ut(v,g,e.instanceId,t)})},w=x===void 0||!I?void 0:{value:v.projectSettingsOverrides[x]?.providerInstances?.[e.instanceId]?.enabled,effectiveEnabled:s(v,x,e.instanceId),onChange:e=>S(e),onReset:()=>S(void 0)};return(0,$.jsx)($r,{environmentId:n,acpProjects:te,projectOverride:w,onAcceptUrlAuth:m?void 0:t=>Te(e.instanceId,t),instanceId:e.instanceId,instance:e.instance,driverOption:a,liveProvider:o,mode:t,selected:t===`list`&&W?.instanceId===e.instanceId,onSelect:t===`list`?()=>he(e.instanceId):void 0,readOnly:m,runtime:t===`editor`&&e.driver===`codex`&&Dn(e.instance.config)===`managed`?(0,$.jsx)(Tn,{environmentId:n,instanceId:e.instanceId,provider:o}):void 0,canWriteSettings:b,setup:t===`editor`&&e.driver===`antigravity`?(0,$.jsx)(Ei,{environmentId:n,environmentLabel:i,instanceId:e.instanceId,provider:o,binaryPath:ji(e.instance.config),authMethod:Ti(e.instance.config),enabled:_(e.instance),readOnly:m,onEnable:()=>K(e,{...e.instance,enabled:!0})}):t===`editor`&&e.driver===`codex`&&Dn(e.instance.config)===`managed`?(0,$.jsx)(xn,{environmentId:n,instanceId:e.instanceId,provider:o,mode:Dn(e.instance.config),enabled:_(e.instance),readOnly:m,onModeChange:t=>K(e,{...e.instance,enabled:!0,config:{...e.instance.config!==null&&typeof e.instance.config==`object`?e.instance.config:{},enabled:!0,setupMode:t}})}):t===`editor`&&!m&&o&&(o.setup?.canAuthenticate||o.driver===`acpRegistry`&&o.installed)?(0,$.jsx)($n,{environmentId:n,environmentLabel:i,instanceId:e.instanceId,provider:o,readOnly:m},`${n}:${e.instanceId}`):t===`editor`&&!m&&e.driver===`cursor`&&o?.setup?.canAuthenticate===!1?(0,$.jsx)(wt,{title:`Cursor account`,description:`Using CURSOR_API_KEY. Remove it from this provider's environment to use browser sign-in.`}):null,onUpdate:t=>{let i=_(e.instance),a=t.enabled===!1&&i&&c===e.instanceId&&Be(n,`settings:write`);K(e,t,a?{textGenerationModelSelection:r.textGenerationModelSelection}:void 0)},onDelete:t===`editor`&&!e.isDefault?()=>_e(e):void 0,headerAction:t===`editor`&&e.isDefault&&e.isDirty?(0,$.jsx)(Dt,{label:`${y} provider settings`,onClick:()=>ye(e.driver)}):null,hiddenModels:p.hiddenModels,favoriteModels:h,modelOrder:p.modelOrder,onHiddenModelsChange:(t,n)=>{let r=new Set(t),i=n??Oi(p.hiddenModels,t).map(Ki);D({setModelsHidden:i.map(t=>({provider:e.instanceId,model:t,hidden:r.has(t)}))})},onToggleFavorite:t=>{k(e.instanceId,t)},onFavoriteModelsChange:t=>{D({setModelFavorites:Oi(h,t).map(t=>{let{model:n,selected:r}=t;return{provider:e.instanceId,model:n,favorite:r}})})},onModelOrderChange:t=>{D({setProviderModelOrder:{provider:e.instanceId,modelOrder:t}})},onInstallRecommended:!m&&o?.compatibilityAdvisory?.message&&o.compatibilityAdvisory.recommendedVersion&&o.versionAdvisory?.canInstallVersion?()=>{L(o,o.compatibilityAdvisory?.recommendedVersion??void 0)}:void 0,onRunUpdate:!m&&d&&l?()=>{f&&L(l)}:void 0,isUpdating:u},e.instanceId)};Pe=Ot,t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Je=rn(`providers`),t[83]=Je):Je=t[83],Xe=`plain`,t[84]===m?Ze=t[85]:(Ze=m?null:(0,$.jsxs)(me,{children:[(0,$.jsx)(de,{render:(0,$.jsx)(A,{size:`icon-xs`,variant:`ghost-muted`,onClick:()=>ue(!0),"aria-label":`Add provider`,children:(0,$.jsx)(re,{})})}),(0,$.jsx)(pe,{side:`top`,children:`Add provider`})]}),t[84]=m,t[85]=Ze);let we;t[86]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsx)(an,{}),t[86]=we):we=t[86];let Ee=V||!x,Ae;t[87]===P?Ae=t[88]:(Ae=()=>void P(),t[87]=P,t[88]=Ae);let je;t[89]===V?je=t[90]:(je=(0,$.jsx)(qt,{refreshing:V}),t[89]=V,t[90]=je);let Me;t[91]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,$.jsx)(`span`,{className:`sr-only`,children:`Refresh provider status`}),t[91]=Me):Me=t[91];let Ne;t[92]!==V||t[93]!==h?(Ne=V?`Refreshing providers`:(0,$.jsx)(Mi,{lastCheckedAt:h}),t[92]=V,t[93]=h,t[94]=Ne):Ne=t[94];let Fe;t[95]===Ne?Fe=t[96]:(Fe=(0,$.jsx)(`span`,{className:`hidden min-w-0 truncate sm:inline`,children:Ne}),t[95]=Ne,t[96]=Fe);let Y;t[97]!==V||t[98]!==Ee||t[99]!==Ae||t[100]!==je||t[101]!==Fe?(Y=(0,$.jsx)(de,{render:(0,$.jsxs)(A,{size:`xs`,variant:`ghost-muted`,disabled:Ee,"aria-busy":V,onClick:Ae,children:[je,Me,Fe]})}),t[97]=V,t[98]=Ee,t[99]=Ae,t[100]=je,t[101]=Fe,t[102]=Y):Y=t[102];let Le;t[103]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,$.jsx)(pe,{side:`top`,children:`Refresh provider status`}),t[103]=Le):Le=t[103],t[104]===Y?Qe=t[105]:(Qe=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[we,(0,$.jsxs)(me,{children:[Y,Le]})]}),t[104]=Y,t[105]=Qe),t[106]===l?$e=t[107]:($e=l?(0,$.jsx)(`div`,{className:`flex min-h-11 min-w-0 items-center gap-2 px-3 sm:px-4`,children:l}):null,t[106]=l,t[107]=$e),t[108]!==i||t[109]!==m?(et=m?(0,$.jsx)(Ct,{divided:!1,className:`overflow-hidden`,children:(0,$.jsx)(wt,{title:`Limited permissions`,description:`This session can view ${i}'s providers but can't change their settings.`})}):null,t[108]=i,t[109]=m,t[110]=et):et=t[110],ke=Ct,Ge=!1,t[111]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=M(Pi,`overflow-hidden @min-[48rem]/providers:grid @min-[48rem]/providers:grid-cols-[17rem_minmax(0,1fr)]`),t[111]=Ke):Ke=t[111];let ze;t[112]===m?ze=t[113]:(ze=m?null:(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full cursor-pointer items-center gap-3 px-3 py-3 text-left text-sm text-muted-foreground transition-colors outline-none hover:bg-muted/25 hover:text-foreground focus-visible:bg-muted/25 focus-visible:text-foreground sm:px-4`,onClick:()=>ue(!0),children:[(0,$.jsx)(re,{className:`size-4 shrink-0`}),`Add provider`]}),t[112]=m,t[113]=ze);let X=(0,$.jsxs)(`div`,{className:`divide-y divide-border/50`,children:[ae.map(e=>Se(e,`list`)),ze]});t[114]===X?qe=t[115]:(qe=(0,$.jsx)(`div`,{className:`border-b border-border/60 bg-muted/10 @min-[48rem]/providers:flex @min-[48rem]/providers:min-h-0 @min-[48rem]/providers:flex-col @min-[48rem]/providers:border-r @min-[48rem]/providers:border-b-0`,children:(0,$.jsx)(Ye,{scrollFade:!0,chainVerticalScroll:!0,className:`@min-[48rem]/providers:min-h-0 @min-[48rem]/providers:flex-1`,children:X})}),t[114]=X,t[115]=qe),Ue=`min-w-0 @min-[48rem]/providers:min-h-0`,We=W?(0,$.jsx)(Ye,{scrollFade:!0,chainVerticalScroll:!0,className:`@min-[48rem]/providers:h-full`,children:(0,$.jsx)(`div`,{className:`space-y-6 p-4`,children:Se(W,`editor`)})}):(0,$.jsx)(`div`,{className:`p-6 text-sm text-muted-foreground`,children:le?`This provider instance is no longer available on this device.`:`No providers configured.`}),t[17]=Te,t[18]=x,t[19]=b,t[20]=l,t[21]=n,t[22]=i,t[23]=V,t[24]=j,t[25]=g,t[26]=te,t[27]=De,t[28]=m,t[29]=R,t[30]=fe,t[31]=N,t[32]=v,t[33]=I,t[34]=d,t[35]=k,t[36]=ie,t[37]=D,t[38]=B,t[39]=T,t[40]=q,t[41]=ke,t[42]=Pe,t[43]=Re,t[44]=Ve,t[45]=Z,t[46]=Ue,t[47]=We,t[48]=Ge,t[49]=Ke,t[50]=qe,t[51]=Je,t[52]=Xe,t[53]=Ze,t[54]=Qe,t[55]=$e,t[56]=et}else ke=t[41],Pe=t[42],Re=t[43],Ve=t[44],Z=t[45],Ue=t[46],We=t[47],Ge=t[48],Ke=t[49],qe=t[50],Je=t[51],Xe=t[52],Ze=t[53],Qe=t[54],$e=t[55],et=t[56];let tt;t[116]!==Ue||t[117]!==We?(tt=(0,$.jsx)(`div`,{className:Ue,children:We}),t[116]=Ue,t[117]=We,t[118]=tt):tt=t[118];let nt;t[119]!==ke||t[120]!==Ge||t[121]!==Ke||t[122]!==qe||t[123]!==tt?(nt=(0,$.jsxs)(ke,{divided:Ge,className:Ke,children:[qe,tt]}),t[119]=ke,t[120]=Ge,t[121]=Ke,t[122]=qe,t[123]=tt,t[124]=nt):nt=t[124];let rt;t[125]!==Pe||t[126]!==Je||t[127]!==Xe||t[128]!==Ze||t[129]!==Qe||t[130]!==$e||t[131]!==et||t[132]!==nt?(rt=(0,$.jsxs)(Pe,{...Je,variant:Xe,titleAction:Ze,headerAction:Qe,children:[$e,et,nt]}),t[125]=Pe,t[126]=Je,t[127]=Xe,t[128]=Ze,t[129]=Qe,t[130]=$e,t[131]=et,t[132]=nt,t[133]=rt):rt=t[133];let it;t[134]!==n||t[135]!==i||t[136]!==m||t[137]!==v.cursorKeychainUsageEnabled||t[138]!==v.usageLimitSources?(it=(0,$.jsx)(Ci,{environmentId:n,environmentLabel:i,sources:v.usageLimitSources,cursorKeychainUsageEnabled:v.cursorKeychainUsageEnabled,readOnly:m},n),t[134]=n,t[135]=i,t[136]=m,t[137]=v.cursorKeychainUsageEnabled,t[138]=v.usageLimitSources,t[139]=it):it=t[139];let at;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(at=rn(`provider-health-check-interval`),t[140]=at):at=t[140];let ot=at.id,st;t[141]===Symbol.for(`react.memo_cache_sentinel`)?(st=rn(`provider-health-check-interval`),t[141]=st):st=t[141];let ct;t[142]===Symbol.for(`react.memo_cache_sentinel`)?(ct=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[st.title,(0,$.jsx)(kt,{children:`This interval is configured here, then the shared Background activity policy decides whether provider probes may run when the timer fires. Custom intervals appear as Advanced in General settings.`})]}),t[142]=ct):ct=t[142];let lt;t[143]!==b||t[144]!==Re||t[145]!==Ve||t[146]!==Z||t[147]!==v.backgroundActivity||t[148]!==T?(lt=Ve===Re?null:(0,$.jsx)(`span`,{inert:!b,className:b?void 0:`opacity-50`,children:(0,$.jsx)(Dt,{label:`provider health check interval`,onClick:()=>T(gn(v.backgroundActivity,Z,{providerHealthRefreshInterval:void 0}))})}),t[143]=b,t[144]=Re,t[145]=Ve,t[146]=Z,t[147]=v.backgroundActivity,t[148]=T,t[149]=lt):lt=t[149];let ut=!b,dt=!b||void 0,ft=!b&&`opacity-50 select-none`,pt;t[150]===ft?pt=t[151]:(pt=M(`flex shrink-0 items-center gap-2`,ft),t[150]=ft,t[151]=pt);let mt;t[152]!==Z||t[153]!==v.backgroundActivity||t[154]!==T?(mt=e=>T(gn(v.backgroundActivity,Z,{providerHealthRefreshInterval:a(mn(e))})),t[152]=Z,t[153]=v.backgroundActivity,t[154]=T,t[155]=mt):mt=t[155];let ht;t[156]===Symbol.for(`react.memo_cache_sentinel`)?(ht=(0,$.jsxs)(ve,{children:[(0,$.jsx)(_e,{"aria-label":`Decrease provider health check interval`}),(0,$.jsx)(K,{"aria-label":`Provider health check interval in seconds`}),(0,$.jsx)(ge,{"aria-label":`Increase provider health check interval`})]}),t[156]=ht):ht=t[156];let gt;t[157]!==Ve||t[158]!==mt?(gt=(0,$.jsx)(ye,{value:Ve,min:0,step:30,size:`sm`,className:`w-32`,onValueChange:mt,children:ht}),t[157]=Ve,t[158]=mt,t[159]=gt):gt=t[159];let _t;t[160]===Symbol.for(`react.memo_cache_sentinel`)?(_t=(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`seconds`}),t[160]=_t):_t=t[160];let vt;t[161]!==ut||t[162]!==dt||t[163]!==pt||t[164]!==gt?(vt=(0,$.jsxs)(`div`,{inert:ut,"aria-disabled":dt,className:pt,children:[gt,_t]}),t[161]=ut,t[162]=dt,t[163]=pt,t[164]=gt,t[165]=vt):vt=t[165];let yt;t[166]!==lt||t[167]!==vt?(yt=(0,$.jsx)(Ot,{title:`Advanced`,children:(0,$.jsx)(wt,{id:ot,title:ct,description:`Refresh provider status, versions, and models in the background. Set to 0 to disable.`,resetAction:lt,control:vt})}),t[166]=lt,t[167]=vt,t[168]=yt):yt=t[168];let bt;t[169]!==n||t[170]!==i||t[171]!==G||t[172]!==m?(bt=G&&!m?(0,$.jsx)(fi,{open:!0,environmentId:n,environmentLabel:i,onOpenChange:ue,onCreated:he}):null,t[169]=n,t[170]=i,t[171]=G,t[172]=m,t[173]=bt):bt=t[173];let xt;return t[174]!==rt||t[175]!==it||t[176]!==yt||t[177]!==bt?(xt=(0,$.jsxs)($.Fragment,{children:[rt,it,yt,bt]}),t[174]=rt,t[175]=it,t[176]=yt,t[177]=bt,t[178]=xt):xt=t[178],xt}function Ki(e){return e.model}function qi(e){return e.provider}function Ji(e){return String(w(e.provider))}function Yi(e,t){return t.checkedAt>e?t.checkedAt:e}function Xi(e){return e.instanceId===w(O.make(`cursor`))}function Zi(e){return[e.instanceId,e]}function Qi(e){if(e._tag===`Success`&&!e.value.accepted){J.add({type:`warning`,title:`Authentication request expired`,description:`Refresh the provider and start the authentication flow again.`});return}if(e._tag===`Failure`&&!U(e)){let t=se(e);J.add({type:`error`,title:`Could not continue authentication`,description:t instanceof Error?t.message:`The authentication request expired.`})}}function $i(){return new Set}function ea(){let e=(0,jn.c)(12),t=on.useSearch(),{environment:n,scope:r}=jt();if(!n){let t=r.kind===`environment`?`Reconnect ${r.label} to set up its providers.`:`Connect an environment to set up its providers.`,n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(`p`,{className:`p-8 text-sm text-muted-foreground`,children:t}),e[0]=t,e[1]=n),n}let i;e[2]===t.instanceId?i=e[3]:(i=t.instanceId?{instanceId:t.instanceId}:{},e[2]=t.instanceId,e[3]=i);let a;e[4]!==n.environmentId||e[5]!==r.kind||e[6]!==r.members?(a=r.kind===`project`||r.kind===`checkout`?r.members.filter(e=>e.environmentId===n.environmentId).map(ta):[],e[4]=n.environmentId,e[5]=r.kind,e[6]=r.members,e[7]=a):a=e[7];let o;return e[8]!==n.environmentId||e[9]!==i||e[10]!==a?(o=(0,$.jsx)(Li,{environmentId:n.environmentId,...i,projectIds:a,scoped:!0}),e[8]=n.environmentId,e[9]=i,e[10]=a,e[11]=o):o=e[11],o}function ta(e){return e.id}export{ea as component};
|
|
3
|
-
//# sourceMappingURL=settings.providers-BPb4TbH8.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{Sx as t,ma as n}from"./utils-geC9CGP4.js";import{i as r}from"./main-Ch0n0whg.js";import{t as i}from"./ScheduledTasksSettings-Cp8h_lNS.js";var a=t(),o=e(n());function s(){let e=(0,a.c)(2),t=r.useSearch(),n;return e[0]===t?n=e[1]:(n=(0,o.jsx)(i,{...t}),e[0]=t,e[1]=n),n}export{s as component};
|
|
2
|
-
//# sourceMappingURL=settings.scheduled-tasks-TxnTVd7r.js.map
|