@p4code/cli 0.8.3 → 0.8.4

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.
Files changed (409) hide show
  1. package/dist/{AcpMcpStdioBridge-D_JnxPWS.mjs → AcpMcpStdioBridge-CD9BQr2l.mjs} +1 -1
  2. package/dist/{AcpMcpStdioBridge-DBONIB-w.mjs → AcpMcpStdioBridge-DHwGLtep.mjs} +61 -4
  3. package/dist/bin.mjs +2 -2
  4. package/dist/{binCli-DouSNynJ.mjs → binCli-Bgjc_5FL.mjs} +406 -247
  5. package/dist/client/.vite/manifest.json +2125 -2102
  6. package/dist/client/assets/{AnimatedHeight-DoG4b7y8.js → AnimatedHeight-DYUgtGfz.js} +2 -2
  7. package/dist/client/assets/{AuthSurfaceShell-DbeJoeXz.js → AuthSurfaceShell-CfLnzrCc.js} +2 -2
  8. package/dist/client/assets/{CSPContext-DkFc4cYo.js → CSPContext-i9QaQnwk.js} +2 -2
  9. package/dist/client/assets/ChatGptUsageButton-BWTEbaUC.js +2 -0
  10. package/dist/client/assets/ChatMarkdown-C6UsXjP9.js +65 -0
  11. package/dist/client/assets/CodexSetupSection.logic-VTayPks4.js +2 -0
  12. package/dist/client/assets/{ComboboxClear-ZQvkAjz8.js → ComboboxClear-B-iYnTX_.js} +2 -2
  13. package/dist/client/assets/{CommandBlock-c98wFxMU.js → CommandBlock-dh2vBT70.js} +2 -2
  14. package/dist/client/assets/{ComposerPromptEditor-CBuOXkT9.js → ComposerPromptEditor-fIqs_--j.js} +12 -12
  15. package/dist/client/assets/{CompositeRoot-BMUI_bmJ.js → CompositeRoot-JeAqW-33.js} +2 -2
  16. package/dist/client/assets/{ConnectionStatusDot-B69zfKRh.js → ConnectionStatusDot-BCSqqCpf.js} +2 -2
  17. package/dist/client/assets/{DevicePanel-1xw7KQ15.js → DevicePanel-BckpiUTa.js} +2 -2
  18. package/dist/client/assets/{DeviceSetup-DemgUuG-.js → DeviceSetup-L8Q-0h1V.js} +2 -2
  19. package/dist/client/assets/{DialogTitle-BXot7RA0.js → DialogTitle-BRYusK7T.js} +2 -2
  20. package/dist/client/assets/{DiffCommentAnnotation-vAZP7JBy.js → DiffCommentAnnotation-DxxGd0sM.js} +3 -3
  21. package/dist/client/assets/{DiffFileTree-BhqF8nD5.js → DiffFileTree-C2N3dwbB.js} +2 -2
  22. package/dist/client/assets/DiffPanel-0HWHkPjD.js +2 -0
  23. package/dist/client/assets/{DiffWorkerPoolProvider-D4VIo5Vu.js → DiffWorkerPoolProvider-Dd8cIhyy.js} +3 -3
  24. package/dist/client/assets/{EnvironmentMachineIcon-DPQkDtvr.js → EnvironmentMachineIcon-giyHKjbh.js} +2 -2
  25. package/dist/client/assets/{ExpandableText-EZ9C25tN.js → ExpandableText-dJhpznMp.js} +3 -3
  26. package/dist/client/assets/{FieldControl-C4IsJLMZ.js → FieldControl-CxuWXcJE.js} +2 -2
  27. package/dist/client/assets/{FileDiff-H9QHqXa0.js → FileDiff-EWd5oWlS.js} +2 -2
  28. package/dist/client/assets/{FilePreviewPanel-DGm_SU_e.js → FilePreviewPanel-D3kud1xs.js} +4 -4
  29. package/dist/client/assets/{FoldedSettingsSection-BSYFyChk.js → FoldedSettingsSection-CsN_jb3V.js} +2 -2
  30. package/dist/client/assets/{FormContext-DiXpMuU8.js → FormContext-Vk5aZcR6.js} +2 -2
  31. package/dist/client/assets/{Icons-DA4msgfR.js → Icons-DM1SzuL7.js} +2 -2
  32. package/dist/client/assets/{KeybindingsSettings.logic-7EBA0xLE.js → KeybindingsSettings.logic-BcJGxVhV.js} +2 -2
  33. package/dist/client/assets/{NoProjectsHero-YjEc2OIw.js → NoProjectsHero-DrkWMiG4.js} +2 -2
  34. package/dist/client/assets/{PanelLayoutControls-BfRIRM0o.js → PanelLayoutControls-DjmAXscr.js} +8 -8
  35. package/dist/client/assets/{PierreEntryIcon-BxxykifK.js → PierreEntryIcon-BJ8xtDqQ.js} +2 -2
  36. package/dist/client/assets/PreviewPanel-D_JLD7YP.js +2 -0
  37. package/dist/client/assets/ProjectDefaultsSettings-Bqo3T1SR.js +2 -0
  38. package/dist/client/assets/{ProjectFavicon-CiauSitF.js → ProjectFavicon-By6-kpgk.js} +3 -3
  39. package/dist/client/assets/{ProjectIconPickerDialog-GDqk2LEH.js → ProjectIconPickerDialog-Cx-QcJLy.js} +2 -2
  40. package/dist/client/assets/{ProjectMonogram-Bqe3OyZR.js → ProjectMonogram-BJVBhwjz.js} +2 -2
  41. package/dist/client/assets/{ProviderAuthTerminal-D_OC5vdS.js → ProviderAuthTerminal-DBiUwanv.js} +2 -2
  42. package/dist/client/assets/{ProviderModelPicker-Bfpy_Rw1.js → ProviderModelPicker-DV64N-fE.js} +2 -2
  43. package/dist/client/assets/{ProviderSettingsForm-BA6yGdRn.js → ProviderSettingsForm-Tkr5xKCJ.js} +2 -2
  44. package/dist/client/assets/{PullRequestCodeTab-BOM7mgfd.js → PullRequestCodeTab-DijqMjN0.js} +3 -3
  45. package/dist/client/assets/{ReadOnlySourcePreview-C3LnvSkA.js → ReadOnlySourcePreview-CydDaO9-.js} +2 -2
  46. package/dist/client/assets/{RenderErrorBoundary-C-EIIrrq.js → RenderErrorBoundary-D4M2khxk.js} +2 -2
  47. package/dist/client/assets/{ScheduledTasksSettings-DFtwNfb8.js → ScheduledTasksSettings-D_Z_3GVl.js} +4 -4
  48. package/dist/client/assets/ScopedSwitch-B8wdvttG.js +2 -0
  49. package/dist/client/assets/{SecretInput-Be5Akw8x.js → SecretInput-CNWNAhNe.js} +2 -2
  50. package/dist/client/assets/SettingsPanels-DAv_V_mk.js +39 -0
  51. package/dist/client/assets/{SettingsPanels.logic-CLB8Pu-U.js → SettingsPanels.logic-BYa5iHwl.js} +2 -2
  52. package/dist/client/assets/{SettingsScopeNotice-CVoWG1oN.js → SettingsScopeNotice-CcLrVZWz.js} +2 -2
  53. package/dist/client/assets/{T3ConnectAccountPages-ClNzwIQw.js → T3ConnectAccountPages-DjITJ87o.js} +2 -2
  54. package/dist/client/assets/{T3ConnectSidebarSignIn-BqM_Vqe1.js → T3ConnectSidebarSignIn-B-rQNmqG.js} +2 -2
  55. package/dist/client/assets/{ThemeEditorPanel-vVmQV_Vv.js → ThemeEditorPanel-CJGqmeTA.js} +2 -2
  56. package/dist/client/assets/{ThreadTerminalDrawer-aLeVbe6g.js → ThreadTerminalDrawer-Cdl3DAIx.js} +4 -4
  57. package/dist/client/assets/{Virtualizer-DTOYU5Jp.js → Virtualizer-Bk-YJlPj.js} +2 -2
  58. package/dist/client/assets/{WorkspaceBreadcrumb-C9OPPGJE.js → WorkspaceBreadcrumb-DSFWvH19.js} +2 -2
  59. package/dist/client/assets/{WorkspacePageContainer-DtXJ5ept.js → WorkspacePageContainer-BXUbfbEU.js} +2 -2
  60. package/dist/client/assets/{WorkspacePageHeader-5zzLFpEN.js → WorkspacePageHeader-LbIzJCDs.js} +2 -2
  61. package/dist/client/assets/_chat-oHhtDqeh.js +45 -0
  62. package/dist/client/assets/{_chat.index-BP1JWABB.js → _chat.index-CTew1WmI.js} +2 -2
  63. package/dist/client/assets/_chat.new-COSURrfS.js +4 -0
  64. package/dist/client/assets/{_chat.pull-requests-B6-Vck8B.js → _chat.pull-requests-BlXnsqov.js} +2 -2
  65. package/dist/client/assets/{abnfDiagram-VCTEODGH-BXvAfzAg.js → abnfDiagram-VCTEODGH-brKh7bzh.js} +2 -2
  66. package/dist/client/assets/{alert-B-or1ble.js → alert-quTC4YbH.js} +2 -2
  67. package/dist/client/assets/architecture-7GRP2DOG-BMFS-mJW.js +1 -0
  68. package/dist/client/assets/{architectureDiagram-5GKGNRK7-MEUA3QVe.js → architectureDiagram-5GKGNRK7-BVDiXgfK.js} +2 -2
  69. package/dist/client/assets/archive-x-D3w6saMD.js +2 -0
  70. package/dist/client/assets/arrow-left-BFquhiaO.js +1 -0
  71. package/dist/client/assets/arrow-right-DiV8cYUQ.js +1 -0
  72. package/dist/client/assets/arrow-up-down-BDQTjPr1.js +1 -0
  73. package/dist/client/assets/assets-CRmNKuHc.js +2 -0
  74. package/dist/client/assets/bell-BvJp3v99.js +1 -0
  75. package/dist/client/assets/{blockDiagram-I7D4REHJ-BOdLeYJh.js → blockDiagram-I7D4REHJ-CzoRCJDe.js} +2 -2
  76. package/dist/client/assets/blocks-NuR9qdGl.js +1 -0
  77. package/dist/client/assets/bot-mvw1ddnU.js +1 -0
  78. package/dist/client/assets/{browserHistoryStore-BJD0OPpb.js → browserHistoryStore-Cw3ffhOV.js} +2 -2
  79. package/dist/client/assets/{browserLinkTarget-CoogLhhO.js → browserLinkTarget-KTI1tSl7.js} +2 -2
  80. package/dist/client/assets/{c4Diagram-7LVT6UL2-COZrm1O8.js → c4Diagram-7LVT6UL2-CfyobiDu.js} +2 -2
  81. package/dist/client/assets/calendar-clock-CuvWKWXS.js +1 -0
  82. package/dist/client/assets/channel-Cf2J77rP.js +2 -0
  83. package/dist/client/assets/chart-no-axes-column-Hfs9TSWj.js +1 -0
  84. package/dist/client/assets/checkbox-BHsP70Vt.js +2 -0
  85. package/dist/client/assets/{chunk-4HAMMTFA-Bs-Fo0v1.js → chunk-4HAMMTFA-CPnMRFld.js} +2 -2
  86. package/dist/client/assets/{chunk-75Z2AOVW-DpOWzc3R.js → chunk-75Z2AOVW-C85FbOND.js} +2 -2
  87. package/dist/client/assets/{chunk-DU6HZSFF-Bgpi4W6E.js → chunk-DU6HZSFF-s_qrqgaz.js} +2 -2
  88. package/dist/client/assets/{chunk-F27PBJKO-CLxgnzXS.js → chunk-F27PBJKO-90tTgV9x.js} +2 -2
  89. package/dist/client/assets/{chunk-GMAD6QVW-D98J5Pan.js → chunk-GMAD6QVW-CYRPr7hZ.js} +2 -2
  90. package/dist/client/assets/{chunk-GVQU2GXP-VuCIOHGI.js → chunk-GVQU2GXP-CxAvUb1-.js} +2 -2
  91. package/dist/client/assets/{chunk-IMKFNOWR-DXIyBsaE.js → chunk-IMKFNOWR-794woOlB.js} +2 -2
  92. package/dist/client/assets/{chunk-L3NEJ4N5-CrMlU3ZU.js → chunk-L3NEJ4N5-JXcRdiIo.js} +2 -2
  93. package/dist/client/assets/{chunk-OSK3NFVY-V2__4gNB.js → chunk-OSK3NFVY-ToxVvjW1.js} +2 -2
  94. package/dist/client/assets/{chunk-P2QGCYS3-BrPw6V5F.js → chunk-P2QGCYS3-JB1PmfIc.js} +2 -2
  95. package/dist/client/assets/{chunk-POPQ4Y6H-DBQ9Y51x.js → chunk-POPQ4Y6H-RMxlqjhd.js} +2 -2
  96. package/dist/client/assets/{chunk-PWAF6VOD-BN6AAbfF.js → chunk-PWAF6VOD-AB579n2y.js} +2 -2
  97. package/dist/client/assets/{chunk-SHT3W25Y-Vay44dCU.js → chunk-SHT3W25Y-CV2hE9-g.js} +2 -2
  98. package/dist/client/assets/{chunk-SVP7TREG-CcGlNErV.js → chunk-SVP7TREG-b2Gs4u5W.js} +2 -2
  99. package/dist/client/assets/{chunk-TICWLB2K-Dk1P_xkD.js → chunk-TICWLB2K-CtkYqLLJ.js} +2 -2
  100. package/dist/client/assets/classDiagram-ZZMXUADV-D9m4giYc.js +2 -0
  101. package/dist/client/assets/classDiagram-v2-VYDZK3BY-D9m4giYc.js +2 -0
  102. package/dist/client/assets/{color-picker-gBclRe5T.js → color-picker-CFc6YapE.js} +2 -2
  103. package/dist/client/assets/{combobox-C81z_216.js → combobox-WVgW_agq.js} +2 -2
  104. package/dist/client/assets/{command-DnJZPOmf.js → command-w6WcFbeZ.js} +2 -2
  105. package/dist/client/assets/{connect-Am2IS-vZ.js → connect-D_ncSJiK.js} +2 -2
  106. package/dist/client/assets/{connect-agent-Cw1s7hYt.js → connect-agent-8mHL_bau.js} +2 -2
  107. package/dist/client/assets/corner-left-up-DedXC9IG.js +1 -0
  108. package/dist/client/assets/{cynefin-OW5HDTMX-0s30RxOq.js → cynefin-OW5HDTMX-BDIjrXPB.js} +1 -1
  109. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-Drd0Msog.js → cynefinDiagram-5FMLGOSQ-h9tw36zs.js} +2 -2
  110. package/dist/client/assets/{dagre-GXQ25YYZ-BMfu7T0o.js → dagre-GXQ25YYZ-D3s1T81F.js} +2 -2
  111. package/dist/client/assets/{device-C_oIGJqy.js → device-DhvzgETq.js} +2 -2
  112. package/dist/client/assets/{diagram-S7CK7UJ4-8egngY0E.js → diagram-S7CK7UJ4-DTawhR4X.js} +2 -2
  113. package/dist/client/assets/{diagram-UQ7AKVKN-BALPQoDH.js → diagram-UQ7AKVKN-CTUDQHKY.js} +2 -2
  114. package/dist/client/assets/{diagram-VSXAHHWV-BjyJZVGC.js → diagram-VSXAHHWV-DsbNNWnj.js} +2 -2
  115. package/dist/client/assets/{diagram-VX7I27RA-B9f6eKkq.js → diagram-VX7I27RA-BBy99N9O.js} +2 -2
  116. package/dist/client/assets/{diagram-Z3DM3KII-CRUj2d3v.js → diagram-Z3DM3KII-CEy69xv1.js} +2 -2
  117. package/dist/client/assets/{dialog-Bn1u_Xoc.js → dialog-CPLO59bH.js} +2 -2
  118. package/dist/client/assets/{diffRendering-C26rfQBu.js → diffRendering-BlmxsRF9.js} +2 -2
  119. package/dist/client/assets/{discovery-list-Fg_u6w-x.js → discovery-list-D0LBmkzJ.js} +2 -2
  120. package/dist/client/assets/{dist-DtKaGeij.js → dist-DZWol-cd.js} +3 -3
  121. package/dist/client/assets/download-CUcdw53T.js +1 -0
  122. package/dist/client/assets/{draft-input-D8eUYug0.js → draft-input-CmvO5rl_.js} +2 -2
  123. package/dist/client/assets/{duoViewer-CBoAg4hS.js → duoViewer-B0QD-fyi.js} +2 -2
  124. package/dist/client/assets/dynamic-tF-2a8Zt.js +3 -0
  125. package/dist/client/assets/earth-BqADiov-.js +1 -0
  126. package/dist/client/assets/{ebnfDiagram-PWID7BFC-BSbPiqg7.js → ebnfDiagram-PWID7BFC-B9LWNbny.js} +2 -2
  127. package/dist/client/assets/ellipsis-BUF_4-Z7.js +1 -0
  128. package/dist/client/assets/{embeddedScripts-Dsi0aZEx.js → embeddedScripts-B1MGNr-e.js} +2 -2
  129. package/dist/client/assets/{empty-C-gDaZ_z.js → empty-tr-EsB66.js} +2 -2
  130. package/dist/client/assets/entities-DqhRur25.js +2 -0
  131. package/dist/client/assets/{erDiagram-RLTQ6QDP-sL_q0j_k.js → erDiagram-RLTQ6QDP-Nu9IMF5-.js} +2 -2
  132. package/dist/client/assets/eventmodeling-NTZA5JFV-CHuv5_8f.js +1 -0
  133. package/dist/client/assets/eye-C8OhITrC.js +1 -0
  134. package/dist/client/assets/file-search-ComEiFQ8.js +1 -0
  135. package/dist/client/assets/{fileLinks-DubkPNVt.js → fileLinks-BHAkEh9k.js} +2 -2
  136. package/dist/client/assets/{fileTreeExpansion-VtSAPhxL.js → fileTreeExpansion-BierCVUV.js} +2 -2
  137. package/dist/client/assets/flowDiagram-HODETNUW-wmC7eeQc.js +1 -0
  138. package/dist/client/assets/folder-git-2-COyuVTXA.js +1 -0
  139. package/dist/client/assets/folder-open-DZzz50kK.js +1 -0
  140. package/dist/client/assets/folder-plus-BzJT8jXs.js +1 -0
  141. package/dist/client/assets/{ganttDiagram-EL5Y4UJY-DCiKb0rQ.js → ganttDiagram-EL5Y4UJY-D_s5F9rI.js} +2 -2
  142. package/dist/client/assets/{getDiffFileInput-DU5zpXo3.js → getDiffFileInput-B5j6sQbM.js} +2 -2
  143. package/dist/client/assets/git-branch-CCzcdr93.js +1 -0
  144. package/dist/client/assets/{gitGraph-4MIJSDKK-DfRe6ZT5.js → gitGraph-4MIJSDKK-BASxGOL3.js} +1 -1
  145. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-Bt7diV1n.js → gitGraphDiagram-WWUBYQGX-BtA4z_1S.js} +2 -2
  146. package/dist/client/assets/grip-vertical-COceJQZo.js +1 -0
  147. package/dist/client/assets/{guideRunStore-CF9bByzk.js → guideRunStore-C95PbUuP.js} +2 -2
  148. package/dist/client/assets/hard-drive-BKLzbeTS.js +1 -0
  149. package/dist/client/assets/history-CAAEfWkp.js +1 -0
  150. package/dist/client/assets/house-U4txgvXa.js +1 -0
  151. package/dist/client/assets/{htmlRender-vOqAdlJH.js → htmlRender-DgdJ8GkZ.js} +2 -2
  152. package/dist/client/assets/{index-1HGbj0-7.js → index-D_uSeco8.js} +3 -3
  153. package/dist/client/assets/{info-A6RAGUB7-0FtL6-Am.js → info-A6RAGUB7-Q4Qe5TI_.js} +1 -1
  154. package/dist/client/assets/{infoDiagram-27XIBGKW-BPLvtPCc.js → infoDiagram-27XIBGKW-CNnDxcfZ.js} +2 -2
  155. package/dist/client/assets/{input-Cd_0h7h_.js → input-DaCwubQj.js} +2 -2
  156. package/dist/client/assets/{input-group-CJ7ZOvDN.js → input-group-DJwXFHGO.js} +2 -2
  157. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-DVcx0XTh.js → ishikawaDiagram-5VMMS53U-Drb03OY6.js} +2 -2
  158. package/dist/client/assets/{journeyDiagram-3NMN7TZE-w46bbjL2.js → journeyDiagram-3NMN7TZE-CynC6Up1.js} +2 -2
  159. package/dist/client/assets/{kanban-definition-UXKFOSKX-C41yE_yV.js → kanban-definition-UXKFOSKX-DfyC_hIe.js} +2 -2
  160. package/dist/client/assets/{kbd-c17EHIx1.js → kbd-R3wkAau0.js} +2 -2
  161. package/dist/client/assets/{keybindings-uYm_vnXl.js → keybindings-QrjnJ5jB.js} +2 -2
  162. package/dist/client/assets/keyboard-kgy5M4lo.js +1 -0
  163. package/dist/client/assets/{lazyRouteComponent-CTVuEvaz.js → lazyRouteComponent-cLZROdN-.js} +2 -2
  164. package/dist/client/assets/{line-tu9XZ0qp.js → line-C3gvAOpf.js} +2 -2
  165. package/dist/client/assets/{link-C4sEUNOK.js → link-Bl21VXlj.js} +2 -2
  166. package/dist/client/assets/link-C1k5F8-V.js +1 -0
  167. package/dist/client/assets/{linkedPrompt-VYl90REW.js → linkedPrompt-DAcv0O_f.js} +2 -2
  168. package/dist/client/assets/list-CU7BIfIS.js +1 -0
  169. package/dist/client/assets/main-BsiZpg85.css +2 -0
  170. package/dist/client/assets/main-uLg3xUJM.js +30 -0
  171. package/dist/client/assets/{mediaReference-BTVvzs2e.js → mediaReference-DN8lzwOF.js} +2 -2
  172. package/dist/client/assets/{mediaSource-DXHFWHMA.js → mediaSource-0nIWHHoL.js} +2 -2
  173. package/dist/client/assets/{mermaid-parser.core-DNd412Oc.js → mermaid-parser.core-B3cYmj0d.js} +4 -4
  174. package/dist/client/assets/{mermaid.core-CyE6QOQY.js → mermaid.core-9ekBSYCO.js} +5 -5
  175. package/dist/client/assets/message-circle-question-mark-wTwD9xwk.js +1 -0
  176. package/dist/client/assets/message-square-dashed-Hcy2Q2EP.js +1 -0
  177. package/dist/client/assets/message-square-lCzwndCW.js +1 -0
  178. package/dist/client/assets/{mindmap-definition-YA3MSWOX-DH1uxdTm.js → mindmap-definition-YA3MSWOX-K4rtZu2z.js} +2 -2
  179. package/dist/client/assets/mouse-pointer-2-BFFAEWXU.js +1 -0
  180. package/dist/client/assets/number-field-pAaF-e0N.js +2 -0
  181. package/dist/client/assets/{observeResize-Csvw3hy4.js → observeResize-BEjNJ-rK.js} +2 -2
  182. package/dist/client/assets/{onboarding-CJPrQc71.js → onboarding--LqcHqO0.js} +2 -2
  183. package/dist/client/assets/openFileInPreview-NwK1GJFN.js +2 -0
  184. package/dist/client/assets/{p4ProjectFile-BWszgcDk.js → p4ProjectFile-CVEoe1SJ.js} +2 -2
  185. package/dist/client/assets/{packet-AYTQ26CC-DflCOkCN.js → packet-AYTQ26CC-kDkfULQq.js} +1 -1
  186. package/dist/client/assets/{pair-Dd_e1jxq.js → pair-Bxo10T5t.js} +2 -2
  187. package/dist/client/assets/palette-BkpHEJXn.js +1 -0
  188. package/dist/client/assets/panel-left-DNz3ps89.js +1 -0
  189. package/dist/client/assets/panels-top-left-bKuZF4FX.js +1 -0
  190. package/dist/client/assets/{pegDiagram-XKGWAZYB-Cnx9j2xX.js → pegDiagram-XKGWAZYB-6b8AqBYd.js} +2 -2
  191. package/dist/client/assets/{phoneViewer-B9EUVDD2.js → phoneViewer-Vql_2ZzY.js} +2 -2
  192. package/dist/client/assets/{pie-WAS4IAKB-CDwew7fN.js → pie-WAS4IAKB-CfoqFIwI.js} +1 -1
  193. package/dist/client/assets/{pieDiagram-E7YTZNPT-BxejSN6k.js → pieDiagram-E7YTZNPT-i8FgTMai.js} +2 -2
  194. package/dist/client/assets/{pierre-icons-C839Otpo.js → pierre-icons-CBmlpFgP.js} +2 -2
  195. package/dist/client/assets/{popover-CKyetthu.js → popover-BXin7C0B.js} +2 -2
  196. package/dist/client/assets/{preview-CjgXQQdj.js → preview-6t42evKb.js} +2 -2
  197. package/dist/client/assets/{preview-CEMnbqVB.js → preview-C9iPHfb1.js} +2 -2
  198. package/dist/client/assets/{previewMiniPlayerStore-B9Lqaaij.js → previewMiniPlayerStore-BDRPsVx0.js} +2 -2
  199. package/dist/client/assets/primary-DOpcfgLH.js +2 -0
  200. package/dist/client/assets/primaryCloudLinkState-Dulej3bP.js +2 -0
  201. package/dist/client/assets/projectFilesQueryState-C1crs3C8.js +2 -0
  202. package/dist/client/assets/projectScriptEditor-ku2tGeKq.js +2 -0
  203. package/dist/client/assets/providerSkills-D0IxW0_5.js +2 -0
  204. package/dist/client/assets/{pullRequestDetail.logic-DTxWqKoX.js → pullRequestDetail.logic-BiwUoz1M.js} +4 -4
  205. package/dist/client/assets/{pullRequestReviewStore-C5gaoGaz.js → pullRequestReviewStore-J7YIGsZ9.js} +2 -2
  206. package/dist/client/assets/pullRequests-BQ9KruZm.js +2 -0
  207. package/dist/client/assets/puzzle-wfhgUaHl.js +1 -0
  208. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-Bj4FEpOg.js → quadrantDiagram-AXDQQJYC-DzvIAxCm.js} +2 -2
  209. package/dist/client/assets/queries-CEjFwxVW.js +2 -0
  210. package/dist/client/assets/query-D5pQUQvZ.js +2 -0
  211. package/dist/client/assets/{radar-RG4KPBEZ-DEopr2Gv.js → radar-RG4KPBEZ-BnTV8utT.js} +1 -1
  212. package/dist/client/assets/{radio-group-fljQQ7Xp.js → radio-group-DhpPG5HP.js} +2 -2
  213. package/dist/client/assets/{railroad-74A4TZTK-BSAOgUn6.js → railroad-74A4TZTK-nxEBKbUo.js} +1 -1
  214. package/dist/client/assets/railroad-abnf-HS5TGJTU-bDIjPMME.js +1 -0
  215. package/dist/client/assets/railroad-ebnf-LZEXJU2U-BREFlihg.js +1 -0
  216. package/dist/client/assets/railroad-peg-WCYAUIDC-B0hEZefb.js +1 -0
  217. package/dist/client/assets/{railroadDiagram-O6MQD6OU-BSOJGJ6v.js → railroadDiagram-O6MQD6OU-DFdlMVKn.js} +2 -2
  218. package/dist/client/assets/{renderScheduler-v8LIpnE2.js → renderScheduler-DWKKtxcJ.js} +2 -2
  219. package/dist/client/assets/{requirementDiagram-BXWQKSXE-Bp5TqEho.js → requirementDiagram-BXWQKSXE-BW8o0F_p.js} +2 -2
  220. package/dist/client/assets/{rightPanelStore-DqMd0tFH.js → rightPanelStore-CQ94819A.js} +2 -2
  221. package/dist/client/assets/rotate-ccw-CkpQmcC5.js +1 -0
  222. package/dist/client/assets/rotate-cw-BAiACGtX.js +1 -0
  223. package/dist/client/assets/runtime-Bsb2I_n2.js +2 -0
  224. package/dist/client/assets/runtime-DkYxB4ri.js +6 -0
  225. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-C7KUHrP7.js → sankeyDiagram-P5KCCOFB-JA6FB6i0.js} +2 -2
  226. package/dist/client/assets/{scheduledTasksSettings.logic-C3Mbc4mh.js → scheduledTasksSettings.logic-C_AdQNVz.js} +3 -3
  227. package/dist/client/assets/{scroll-area-LhpLVf8r.js → scroll-area-BYyfw-9F.js} +2 -2
  228. package/dist/client/assets/select-CjGEfXy_.js +2 -0
  229. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-Bs9mfTLC.js → sequenceDiagram-WJ2MYXX4-DgBrrcVR.js} +2 -2
  230. package/dist/client/assets/server-BYntb2dN.js +2 -0
  231. package/dist/client/assets/session-eLrubJEW.js +2 -0
  232. package/dist/client/assets/{session-logic-DneZDyPZ.js → session-logic-l1juLk9v.js} +5 -5
  233. package/dist/client/assets/settings-2-CDBTJPBs.js +1 -0
  234. package/dist/client/assets/settings-DDvSs7LG.js +1 -0
  235. package/dist/client/assets/{settings-C8FiUQu0.js → settings-xKzLy5aw.js} +2 -2
  236. package/dist/client/assets/settings.appearance-CEA3GKAa.js +2 -0
  237. package/dist/client/assets/settings.archived-DPWjmD2l.js +2 -0
  238. package/dist/client/assets/{settings.computer-use-B3Ujc2AS.js → settings.computer-use-DZu90DiM.js} +2 -2
  239. package/dist/client/assets/settings.connections-BKWbsMUk.js +2 -0
  240. package/dist/client/assets/settings.data-controls-CBrcsSvm.js +2 -0
  241. package/dist/client/assets/{settings.decisions-C5UE4drK.js → settings.decisions-CGz9znLs.js} +2 -2
  242. package/dist/client/assets/settings.diagnostics-DKkOOzoq.js +2 -0
  243. package/dist/client/assets/settings.general-CoPWyKC4.js +2 -0
  244. package/dist/client/assets/{settings.integrations-BCtpk2dY.js → settings.integrations-K3Jwfkyd.js} +2 -2
  245. package/dist/client/assets/{settings.keybindings-DfFrYXxY.js → settings.keybindings-BbR3qnVs.js} +2 -2
  246. package/dist/client/assets/{settings.open-source-licenses-CqRM1gRd.js → settings.open-source-licenses-Mh-zg97k.js} +2 -2
  247. package/dist/client/assets/settings.plugins-BI68kAsM.js +5 -0
  248. package/dist/client/assets/{settings.projects-CT-l0EfX.js → settings.projects-BahZsoyx.js} +4 -4
  249. package/dist/client/assets/settings.providers-Dsnq0-AL.js +3 -0
  250. package/dist/client/assets/settings.scheduled-tasks-BOpVl_XK.js +2 -0
  251. package/dist/client/assets/{settings.snap-shot-BMxV-ClC.js → settings.snap-shot-Bs_DZS7D.js} +2 -2
  252. package/dist/client/assets/settings.source-control-Akrp_mGm.js +2 -0
  253. package/dist/client/assets/{settings.storage-DKm6BZ2r.js → settings.storage-fl2BN0Cu.js} +2 -2
  254. package/dist/client/assets/settingsLayout-DV36_Jgq.js +3 -0
  255. package/dist/client/assets/shield-check-yRjvgn4y.js +1 -0
  256. package/dist/client/assets/shield-question-mark-DyVUewRO.js +1 -0
  257. package/dist/client/assets/{sidebar-DI1ZJMkM.js → sidebar-MBwCdIpv.js} +2 -2
  258. package/dist/client/assets/{sidebarProjectGrouping-DXRKqrOP.js → sidebarProjectGrouping-Sm7y9bd1.js} +2 -2
  259. package/dist/client/assets/{skeleton-BlMPaSbD.js → skeleton-CS8ffFVv.js} +2 -2
  260. package/dist/client/assets/{sortable.esm-CnSn9HhJ.js → sortable.esm-CwrTFe-B.js} +2 -2
  261. package/dist/client/assets/{sourceControl-ogZI3Qhj.js → sourceControl-DyHbbOxl.js} +2 -2
  262. package/dist/client/assets/{spinner-I_NrXl2i.js → spinner-B7a-VUeR.js} +2 -2
  263. package/dist/client/assets/square-pen-BrE59gWn.js +1 -0
  264. package/dist/client/assets/{standalone-page-C0mvdk0N.js → standalone-page-DTvNMgJy.js} +2 -2
  265. package/dist/client/assets/{stateDiagram-D77RDMKH-lcvbm4gc.js → stateDiagram-D77RDMKH-gHEAo7xC.js} +2 -2
  266. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CGT21P8W.js +2 -0
  267. package/dist/client/assets/{swimlanes-42K2YHIH-BftXRbCQ.js → swimlanes-42K2YHIH-_qZ90QGb.js} +2 -2
  268. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-D9Ttx7dQ.js +9 -0
  269. package/dist/client/assets/{terminal-links-BWEpET__.js → terminal-links-Dc2HX7Ov.js} +2 -2
  270. package/dist/client/assets/{terminalSessions-CQOPPXfy.js → terminalSessions-DK9WKgga.js} +2 -2
  271. package/dist/client/assets/text-search-CFbEY3qo.js +1 -0
  272. package/dist/client/assets/{textarea-Bu723jDd.js → textarea-CYXHTTG6.js} +2 -2
  273. package/dist/client/assets/{themePalette-CAxv2FDZ.js → themePalette-zVYGoviO.js} +3 -3
  274. package/dist/client/assets/threadSort-Byzu7B1A.js +2 -0
  275. package/dist/client/assets/{timeline-definition-24CTP7MA-_aV_EuqE.js → timeline-definition-24CTP7MA-BxWmcZQs.js} +2 -2
  276. package/dist/client/assets/toast-BX9uiMAh.js +2 -0
  277. package/dist/client/assets/{toggle-B5fidRv0.js → toggle-fk33ppsB.js} +2 -2
  278. package/dist/client/assets/{toggle-group-DCQTLIPb.js → toggle-group-W0bDGcPB.js} +2 -2
  279. package/dist/client/assets/tooltip-B0rhqi5b.js +2 -0
  280. package/dist/client/assets/{treeView-Q6P3EWNA-ALGd5g_W.js → treeView-Q6P3EWNA-BsPhq-Fl.js} +1 -1
  281. package/dist/client/assets/{treemap-WGGIJYW6-CGQrkzMs.js → treemap-WGGIJYW6-DZ3fnU-o.js} +1 -1
  282. package/dist/client/assets/{usage-DmGxFUdr.js → usage-DlNazxzV.js} +2 -2
  283. package/dist/client/assets/{usageAccess-CY-JtQnU.js → usageAccess-Mp1Nbm2r.js} +2 -2
  284. package/dist/client/assets/{usageFormat-Cs-UHzLq.js → usageFormat-ZiOrCBxk.js} +2 -2
  285. package/dist/client/assets/{usageShortcuts-CP952NDO.js → usageShortcuts-Be5hddhr.js} +2 -2
  286. package/dist/client/assets/use-atom-command-RgcuqzP9.js +2 -0
  287. package/dist/client/assets/{useAriaLabelledBy-4I5xhNlP.js → useAriaLabelledBy-D-n0SDV6.js} +2 -2
  288. package/dist/client/assets/{useHandleNewThread-Bzaf_PDE.js → useHandleNewThread-BQ5wqZab.js} +2 -2
  289. package/dist/client/assets/{useLocation-QINZoaPz.js → useLocation-BN5q7LjL.js} +2 -2
  290. package/dist/client/assets/useNavigate-CDvr3Yvg.js +2 -0
  291. package/dist/client/assets/{useNavigateBack-CbbWf0z6.js → useNavigateBack-BWhsiBJ5.js} +2 -2
  292. package/dist/client/assets/{useParams-BTKEXLBT.js → useParams-DQgx0pmy.js} +2 -2
  293. package/dist/client/assets/{usePermissionStatus-Zbsv_90x.js → usePermissionStatus-FtemMvNg.js} +2 -2
  294. package/dist/client/assets/{usePullRequestActions-DGTJ6ne6.js → usePullRequestActions-D97OVSkM.js} +3 -3
  295. package/dist/client/assets/{useRegisterFieldControl-Cr87Snzk.js → useRegisterFieldControl-KOnbOVnX.js} +2 -2
  296. package/dist/client/assets/useScopedModelAvailability-BTR7tHpB.js +2 -0
  297. package/dist/client/assets/useSettings-BIggY3j1.js +3 -0
  298. package/dist/client/assets/{useT3ConnectAuthPrompt-BYqrzQIx.js → useT3ConnectAuthPrompt-CPGDAWRk.js} +2 -2
  299. package/dist/client/assets/{utils-DmfMX1v5.js → utils-BxISc9RR.js} +17 -17
  300. package/dist/client/assets/vcsRefInvalidation-h_E9Figo.js +2 -0
  301. package/dist/client/assets/{vennDiagram-4TSXK5OY-9Jx7JrgE.js → vennDiagram-4TSXK5OY-BnH-hzBf.js} +2 -2
  302. package/dist/client/assets/{wardley-WFR3VGLG-qG58RzFw.js → wardley-WFR3VGLG-BbiFWq4f.js} +1 -1
  303. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-8Ml3tzfR.js → wardleyDiagram-VM6X3IG4-DPf4ISf5.js} +2 -2
  304. package/dist/client/assets/{welcome-CPcQsM9H.js → welcome-DjYohRu3.js} +2 -2
  305. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-C-u_0wo0.js → xychartDiagram-S5SC5T6Z-oaZh5sFY.js} +2 -2
  306. package/dist/client/index.html +1 -1
  307. package/package.json +1 -1
  308. package/dist/client/assets/ChatGptUsageButton-D93cMeTp.js +0 -2
  309. package/dist/client/assets/ChatMarkdown-CLD9Y6dg.js +0 -65
  310. package/dist/client/assets/CodexSetupSection.logic-DJw6xB7P.js +0 -2
  311. package/dist/client/assets/DiffPanel-Dqh76p3E.js +0 -2
  312. package/dist/client/assets/PreviewPanel-QkMfuC1J.js +0 -2
  313. package/dist/client/assets/ProjectDefaultsSettings-C6wxaRmJ.js +0 -2
  314. package/dist/client/assets/ScopedSwitch-DsEcG6rk.js +0 -2
  315. package/dist/client/assets/SettingsPanels-CI-FknGh.js +0 -39
  316. package/dist/client/assets/_chat-BKcYL38S.js +0 -45
  317. package/dist/client/assets/_chat.new-BX5LyFum.js +0 -4
  318. package/dist/client/assets/architecture-7GRP2DOG-DqzmsB35.js +0 -1
  319. package/dist/client/assets/archive-x-BN7DYXYC.js +0 -2
  320. package/dist/client/assets/arrow-left-DI1Oo3nI.js +0 -1
  321. package/dist/client/assets/arrow-right-DRgAj8le.js +0 -1
  322. package/dist/client/assets/arrow-up-down-C6OEPUz7.js +0 -1
  323. package/dist/client/assets/assets-_CWIS9vb.js +0 -2
  324. package/dist/client/assets/bell-DW1iPWzH.js +0 -1
  325. package/dist/client/assets/blocks-DKOyf4K4.js +0 -1
  326. package/dist/client/assets/bot-DYcBiSui.js +0 -1
  327. package/dist/client/assets/calendar-clock-BqL7OneL.js +0 -1
  328. package/dist/client/assets/channel-DbsUczqI.js +0 -2
  329. package/dist/client/assets/chart-no-axes-column-CtQ7A5KE.js +0 -1
  330. package/dist/client/assets/checkbox-CaZu1EKJ.js +0 -2
  331. package/dist/client/assets/classDiagram-ZZMXUADV-DotTjRcO.js +0 -2
  332. package/dist/client/assets/classDiagram-v2-VYDZK3BY-DotTjRcO.js +0 -2
  333. package/dist/client/assets/corner-left-up-BT-2gfvH.js +0 -1
  334. package/dist/client/assets/download-DNjijPHR.js +0 -1
  335. package/dist/client/assets/dynamic-p5s8CQGu.js +0 -3
  336. package/dist/client/assets/earth-DGA4iwBJ.js +0 -1
  337. package/dist/client/assets/ellipsis-Cbd-Ac19.js +0 -1
  338. package/dist/client/assets/entities-82m-Smm-.js +0 -2
  339. package/dist/client/assets/eventmodeling-NTZA5JFV-OEIkdS25.js +0 -1
  340. package/dist/client/assets/eye-BUplLfz9.js +0 -1
  341. package/dist/client/assets/file-search-CcnLiCku.js +0 -1
  342. package/dist/client/assets/fileContextMenu-Dcs50sFI.js +0 -2
  343. package/dist/client/assets/flowDiagram-HODETNUW-BDZPeVYD.js +0 -1
  344. package/dist/client/assets/folder-git-2-5RczFn6m.js +0 -1
  345. package/dist/client/assets/folder-open-PwiT4lvQ.js +0 -1
  346. package/dist/client/assets/folder-plus--IokSBmG.js +0 -1
  347. package/dist/client/assets/git-branch-jf-x2c63.js +0 -1
  348. package/dist/client/assets/grip-vertical-OASdudbE.js +0 -1
  349. package/dist/client/assets/hard-drive-BxN5msOb.js +0 -1
  350. package/dist/client/assets/history-DdVU5lcf.js +0 -1
  351. package/dist/client/assets/house-mbks5FAa.js +0 -1
  352. package/dist/client/assets/keyboard-DckDn_SM.js +0 -1
  353. package/dist/client/assets/link-Dw3ue0Rm.js +0 -1
  354. package/dist/client/assets/list-1rglB5Lq.js +0 -1
  355. package/dist/client/assets/main-BB3F4O6Y.js +0 -30
  356. package/dist/client/assets/main-CnVegMVf.css +0 -2
  357. package/dist/client/assets/message-circle-question-mark-CLPs5tYP.js +0 -1
  358. package/dist/client/assets/message-square-BInn4EwR.js +0 -1
  359. package/dist/client/assets/message-square-dashed-Dea7_sXv.js +0 -1
  360. package/dist/client/assets/mouse-pointer-2-BPl1Yb5N.js +0 -1
  361. package/dist/client/assets/number-field-CVtwAsLe.js +0 -2
  362. package/dist/client/assets/openFileInPreview-C3O_ayUT.js +0 -2
  363. package/dist/client/assets/palette-DC6st-Ld.js +0 -1
  364. package/dist/client/assets/panel-left-BxNE-mqR.js +0 -1
  365. package/dist/client/assets/panels-top-left-CpwWAaSX.js +0 -1
  366. package/dist/client/assets/primary-uszZTzpR.js +0 -2
  367. package/dist/client/assets/primaryCloudLinkState-CWT2YTBZ.js +0 -2
  368. package/dist/client/assets/projectFilesQueryState-ELgLflk5.js +0 -2
  369. package/dist/client/assets/projectScriptEditor-BAuP_HeU.js +0 -2
  370. package/dist/client/assets/pullRequests-DjbQ49mZ.js +0 -2
  371. package/dist/client/assets/puzzle-foT3lPUZ.js +0 -1
  372. package/dist/client/assets/queries-Cq5C9N-K.js +0 -2
  373. package/dist/client/assets/query-DpwJQzeq.js +0 -2
  374. package/dist/client/assets/railroad-abnf-HS5TGJTU-C_4g8TOP.js +0 -1
  375. package/dist/client/assets/railroad-ebnf-LZEXJU2U-CHZB5YoP.js +0 -1
  376. package/dist/client/assets/railroad-peg-WCYAUIDC-B-PbMjlp.js +0 -1
  377. package/dist/client/assets/rotate-ccw-rssHZoOL.js +0 -1
  378. package/dist/client/assets/rotate-cw-D726GGah.js +0 -1
  379. package/dist/client/assets/runtime-BQJQC-Ny.js +0 -6
  380. package/dist/client/assets/runtime-C6FwphD-.js +0 -2
  381. package/dist/client/assets/select-B4VvMEs2.js +0 -2
  382. package/dist/client/assets/server-BD_Y5Gsn.js +0 -2
  383. package/dist/client/assets/session-DsbInyNV.js +0 -2
  384. package/dist/client/assets/settings-2-Qrnq-5XQ.js +0 -1
  385. package/dist/client/assets/settings-MUAsYy_j.js +0 -1
  386. package/dist/client/assets/settings.appearance-B5-X4oyX.js +0 -2
  387. package/dist/client/assets/settings.archived-DVUmF0nS.js +0 -2
  388. package/dist/client/assets/settings.connections-EQYBOa7e.js +0 -2
  389. package/dist/client/assets/settings.diagnostics-CBcOEqPM.js +0 -2
  390. package/dist/client/assets/settings.general-BOmr4mSV.js +0 -2
  391. package/dist/client/assets/settings.plugins-DC4js6dE.js +0 -5
  392. package/dist/client/assets/settings.providers-CJuBTAiR.js +0 -3
  393. package/dist/client/assets/settings.scheduled-tasks-CvLNaadX.js +0 -2
  394. package/dist/client/assets/settings.source-control-DJWucVsM.js +0 -2
  395. package/dist/client/assets/settingsLayout-jP1a50ek.js +0 -3
  396. package/dist/client/assets/shield-check-k2SY7zjx.js +0 -2
  397. package/dist/client/assets/shield-question-mark-kKJBH4Uj.js +0 -1
  398. package/dist/client/assets/square-pen-DilH8raK.js +0 -1
  399. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-DuLLhUia.js +0 -2
  400. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-BrHQKVnf.js +0 -9
  401. package/dist/client/assets/text-search-DpDcKspl.js +0 -1
  402. package/dist/client/assets/threadSort-BoaTqeGH.js +0 -2
  403. package/dist/client/assets/toast-CjelgyqV.js +0 -2
  404. package/dist/client/assets/tooltip-taOyJZax.js +0 -2
  405. package/dist/client/assets/use-atom-command-CQHjSXPR.js +0 -2
  406. package/dist/client/assets/useNavigate-4thj06GJ.js +0 -2
  407. package/dist/client/assets/useScopedModelAvailability-BEfh0WXx.js +0 -2
  408. package/dist/client/assets/useSettings-CLtJrOYI.js +0 -3
  409. package/dist/client/assets/vcsRefInvalidation-nP-qgsHs.js +0 -2
@@ -1,2 +1,2 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Ax as n,Bc as r,Dl as i,Du as a,El as o,Gn as s,If as c,Jn as l,Ou as u,Tu as d,Wn as f,Xl as p,Yl as m,Yn as h,Zn as g,bh as _,cr as v,cy as y,eu as b,ha as x,ku as S,l as C,nu as w,nx as T,or as E,pu as D,qn as O,sr as k,t as A,tr as j,yl as M,zc as N}from"./utils-DmfMX1v5.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-BQJQC-Ny.js";import{w as ne}from"./entities-82m-Smm-.js";import{a as B,n as re,t as ie}from"./tooltip-taOyJZax.js";import{a as V,r as ae,t as oe}from"./number-field-CVtwAsLe.js";import{a as H,c as U,i as se,o as W,r as ce,s as G,t as K}from"./select-B4VvMEs2.js";import{t as le}from"./spinner-I_NrXl2i.js";import{i as q}from"./toast-CjelgyqV.js";import{D as ue,E as de,J as fe,c as pe,o as me,r as he,s as J,x as Y}from"./useSettings-CLtJrOYI.js";import{f as ge}from"./server-BD_Y5Gsn.js";import{i as _e,n as ve}from"./session-DsbInyNV.js";import{t as ye}from"./use-atom-command-CQHjSXPR.js";import{t as be}from"./env-wK1YYxA8.js";import{t as xe}from"./input-Cd_0h7h_.js";import{a as Se,c as Ce,i as we,n as Te,o as Ee,r as De,s as Oe,t as ke}from"./dialog-Bn1u_Xoc.js";import{i as Ae,t as je}from"./device-C_oIGJqy.js";import{a as Me,c as Ne,i as Pe,n as Fe,o as Ie,s as Le,t as Re}from"./DeviceSetup-DemgUuG-.js";import{t as ze}from"./AnimatedHeight-DoG4b7y8.js";import{i as Be,n as Ve}from"./Icons-DA4msgfR.js";import{t as He}from"./preview-CEMnbqVB.js";import{a as Ue,i as We,o as Ge,t as Ke}from"./popover-CKyetthu.js";import{B as qe,C as Je,L as Ye,P as Xe,a as X,c as Ze,i as Qe,r as $e,s as et}from"./settingsLayout-jP1a50ek.js";import{Ar as tt,Fr as nt,Ir as rt,La as it,Mr as at,Nr as ot,Po as st,Pr as ct,aa as lt,fa as ut,gs as dt,ia as ft,ir as pt,jr as mt}from"./main-BB3F4O6Y.js";import{t as ht}from"./ProjectDefaultsSettings-C6wxaRmJ.js";import{t as gt}from"./draft-input-D8eUYug0.js";import{t as _t}from"./ScopedSwitch-DsEcG6rk.js";import{n as vt,r as yt,t as bt}from"./usePermissionStatus-Zbsv_90x.js";var Z=n(),Q=e(x(),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)(v,{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)(Ge,{"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)(Ue,{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 y=a?`Managed by ${a}. `:``,b;t[12]===y?b=t[13]:(b=(0,Q.jsxs)(`p`,{className:`mt-4 border-t border-border/50 pt-3 text-xs text-muted-foreground`,children:[y,`Tools update automatically on this host when needed.`]}),t[12]=y,t[13]=b);let x;t[14]===o?x=t[15]:(x=o?(0,Q.jsx)(`p`,{role:`status`,className:`mt-2 text-xs text-destructive`,children:o}):null,t[14]=o,t[15]=x);let S;t[16]===r?S=t[17]:(S=r?(0,Q.jsx)(`div`,{className:`mt-3`,children:r}):null,t[16]=r,t[17]=S);let C;t[18]!==b||t[19]!==x||t[20]!==S||t[21]!==g||t[22]!==_?(C=(0,Q.jsxs)(We,{align:`end`,width:`md`,children:[g,_,b,x,S]}),t[18]=b,t[19]=x,t[20]=S,t[21]=g,t[22]=_,t[23]=C):C=t[23];let w;return t[24]!==C||t[25]!==m?(w=(0,Q.jsxs)(Ke,{children:[m,C]}),t[24]=C,t[25]=m,t[26]=w):w=t[26],w}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=_(D);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=ye(je.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(!ve(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(y(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:n,isNew:r,targets:i,busy:a,onSave:o,onClose:s}=e,[c,l]=(0,$.useState)(n),{checks:u,testConnection:d}=At(i),f=u[Ot(c)],p=Object.values(f??{}).some(Nt),m,h;t[0]===c?(m=t[1],h=t[2]):(m=Dt({...c,label:c.label.trim()||c.target}),h=T(m),t[0]=c,t[1]=m,t[2]=h);let g=h,_;t[3]===f?_=t[4]:(_=Object.values(f??{}).filter(Mt),t[3]=f,t[4]=_);let v=_.length,y;t[5]!==a||t[6]!==s?(y=e=>{!e&&!a&&s()},t[5]=a,t[6]=s,t[7]=y):y=t[7];let b=!a,x;t[8]!==a||t[9]!==p||t[10]!==c.label||t[11]!==m||t[12]!==o?(x=(0,Q.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),T(m)&&c.label.trim()&&!a&&!p&&o(m.value)}}),t[8]=a,t[9]=p,t[10]=c.label,t[11]=m,t[12]=o,t[13]=x):x=t[13];let S=r?`Add device host`:`Edit device host`,C;t[14]===S?C=t[15]:(C=(0,Q.jsx)(Ce,{children:S}),t[14]=S,t[15]=C);let w=i.length===1?`Connect from ${i[0]?.label}.`:`Connect from ${i.length} selected environments.`,E;t[16]===w?E=t[17]:(E=(0,Q.jsxs)(De,{children:[w,` `,`Hosts on the same machine are skipped.`]}),t[16]=w,t[17]=E);let D;t[18]!==C||t[19]!==E?(D=(0,Q.jsxs)(Se,{children:[C,E]}),t[18]=C,t[19]=E,t[20]=D):D=t[20];let O;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,Q.jsx)(`span`,{children:`Name`}),t[21]=O):O=t[21];let A;t[22]===c?A=t[23]:(A=e=>l({...c,label:e.target.value}),t[22]=c,t[23]=A);let j;t[24]!==a||t[25]!==c.label||t[26]!==A?(j=(0,Q.jsxs)(`label`,{className:`block space-y-1.5 text-sm`,children:[O,(0,Q.jsx)(xe,{autoFocus:!0,required:!0,value:c.label,disabled:a,onChange:A,placeholder:`Mac mini`})]}),t[24]=a,t[25]=c.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]===c?N=t[30]:(N=e=>l({...c,target:e.target.value}),t[29]=c,t[30]=N);let P;t[31]!==a||t[32]!==c.target||t[33]!==N?(P=(0,Q.jsxs)(`label`,{className:`block space-y-1.5 text-sm`,children:[M,(0,Q.jsx)(xe,{required:!0,value:c.target,disabled:a,onChange:N,placeholder:`user@host or SSH alias`})]}),t[31]=a,t[32]=c.target,t[33]=N,t[34]=P):P=t[34];let I=n.port!==void 0||n.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=c.identityFile??``,ne;t[37]===c?ne=t[38]:(ne=e=>{let{identityFile:t,...n}=c;l(e.target.value?{...n,identityFile:e.target.value}:n)},t[37]=c,t[38]=ne);let B;t[39]!==a||t[40]!==te||t[41]!==ne?(B=(0,Q.jsxs)(`label`,{className:`block space-y-1.5`,children:[R,(0,Q.jsx)(xe,{value:te,disabled:a,onChange:ne,placeholder:`SSH config default`})]}),t[39]=a,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=c.port??``,V;t[44]===c?V=t[45]:(V=e=>{let{port:t,...n}=c;l(e.target.value?{...n,port:Number(e.target.value)}:n)},t[44]=c,t[45]=V);let ae;t[46]!==a||t[47]!==ie||t[48]!==V?(ae=(0,Q.jsxs)(`label`,{className:`block space-y-1.5`,children:[re,(0,Q.jsx)(xe,{type:`number`,min:1,max:65535,value:ie,disabled:a,onChange:V,placeholder:`Default`})]}),t[46]=a,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 U;t[54]!==I||t[55]!==oe?(U=(0,Q.jsxs)(`details`,{open:I,className:`text-sm`,children:[L,oe,H]}),t[54]=I,t[55]=oe,t[56]=U):U=t[56];let se=p?`Checking environments…`:f?v?`${v} of ${i.length} failed`:`Connection checks passed`:`Check access before saving`,W;t[57]===se?W=t[58]:(W=(0,Q.jsx)(`p`,{role:`status`,className:`text-xs text-muted-foreground`,children:se}),t[57]=se,t[58]=W);let ce=a||p||!g,G;t[59]!==m||t[60]!==d?(G=()=>{T(m)&&d(m.value)},t[59]=m,t[60]=d,t[61]=G):G=t[61];let K;t[62]===p?K=t[63]:(K=p?(0,Q.jsx)(le,{size:`xs`}):null,t[62]=p,t[63]=K);let q;t[64]!==ce||t[65]!==G||t[66]!==K?(q=(0,Q.jsxs)(k,{type:`button`,size:`sm`,variant:`outline`,disabled:ce,onClick:G,children:[K,` Test connection`]}),t[64]=ce,t[65]=G,t[66]=K,t[67]=q):q=t[67];let ue;t[68]!==W||t[69]!==q?(ue=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-2.5`,children:[W,q]}),t[68]=W,t[69]=q,t[70]=ue):ue=t[70];let de;t[71]!==f||t[72]!==i?(de=f?(0,Q.jsx)(`ul`,{className:`border-t border-border/60 divide-y divide-border/40`,children:i.map(e=>{let t=f[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)(le,{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]=f,t[72]=i,t[73]=de):de=t[73];let fe;t[74]!==ue||t[75]!==de?(fe=(0,Q.jsxs)(`div`,{className:`rounded-lg border border-border/60`,children:[ue,de]}),t[74]=ue,t[75]=de,t[76]=fe):fe=t[76];let pe;t[77]!==j||t[78]!==P||t[79]!==U||t[80]!==fe?(pe=(0,Q.jsxs)(Ee,{children:[j,P,U,fe]}),t[77]=j,t[78]=P,t[79]=U,t[80]=fe,t[81]=pe):pe=t[81];let me;t[82]!==a||t[83]!==s?(me=(0,Q.jsx)(k,{type:`button`,variant:`ghost`,disabled:a,onClick:s,children:`Cancel`}),t[82]=a,t[83]=s,t[84]=me):me=t[84];let he;t[85]!==a||t[86]!==p||t[87]!==c.label||t[88]!==g?(he=a||p||!g||!c.label.trim(),t[85]=a,t[86]=p,t[87]=c.label,t[88]=g,t[89]=he):he=t[89];let J;t[90]===a?J=t[91]:(J=a?(0,Q.jsx)(le,{size:`xs`}):null,t[90]=a,t[91]=J);let Y;t[92]!==he||t[93]!==J?(Y=(0,Q.jsxs)(k,{type:`submit`,disabled:he,children:[J,` Save host`]}),t[92]=he,t[93]=J,t[94]=Y):Y=t[94];let ge;t[95]!==me||t[96]!==Y?(ge=(0,Q.jsxs)(we,{children:[me,Y]}),t[95]=me,t[96]=Y,t[97]=ge):ge=t[97];let _e;t[98]!==D||t[99]!==pe||t[100]!==b||t[101]!==ge||t[102]!==x?(_e=(0,Q.jsxs)(Oe,{showCloseButton:b,render:x,children:[D,pe,ge]}),t[98]=D,t[99]=pe,t[100]=b,t[101]=ge,t[102]=x,t[103]=_e):_e=t[103];let ve;return t[104]!==y||t[105]!==_e?(ve=(0,Q.jsx)(ke,{open:!0,onOpenChange:y,children:_e}),t[104]=y,t[105]=_e,t[106]=ve):ve=t[106],ve}function Mt(e){return e.status===`failed`}function Nt(e){return e.status===`pending`}function Pt(e){let{scope:t,environments:n,connectedEnvironments:r}=qe(),i=_e(e.environmentId,c),a=t.kind===`project`||t.kind===`checkout`,o=ye(ge.updateSettings,{reportFailure:!1}),[s,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(!ve(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):q.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)(X,{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)(k,{size:`sm`,variant:`outline`,disabled:!i||a||f||!e.environmentId||s!==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 q.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)),s?(0,Q.jsx)(jt,{host:s,isNew:u===null,targets:m,busy:f,onSave:e=>void _(e,!1,u??e),onClose:()=>l(null)},s.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:i,busy:a,onEdit:o,onRemove:c,checks:l,testConnection:u}=e,{state:d}=Ae(r),f=ye(je.list),[p,m]=(0,$.useState)(null),_;t[0]===i.length?_=t[1]:(_=i.length===0?(0,Q.jsx)(`p`,{className:`py-2 text-sm text-muted-foreground`,children:`No device hosts.`}):null,t[0]=i.length,t[1]=_);let v;if(t[2]!==a||t[3]!==l||t[4]!==r||t[5]!==n||t[6]!==i||t[7]!==o||t[8]!==c||t[9]!==f||t[10]!==p||t[11]!==d||t[12]!==u){let e;t[14]!==a||t[15]!==l||t[16]!==r||t[17]!==n||t[18]!==o||t[19]!==c||t[20]!==f||t[21]!==p||t[22]!==d||t[23]!==u?(e=e=>{let t=d.hostStatuses[e.id],i=l[Ot(e)]?.[r],_=(i?.status===`connected`?i.platforms:void 0)??d.hosts.find(t=>t.id===e.id)?.platforms??[],v=i?.status===`pending`?`Checking connection…`:t?.status===`installing`?`Installing device support…`:t?.status===`starting`?`Connecting…`:null,y=i?.status===`failed`?i.error:i?.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}),_.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??(i?.status===`connected`?i.tools:void 0)}),i?.status===`local`?(0,Q.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Already available locally`}):null,y?(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:y})]})}):null]}),v?(0,Q.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Q.jsx)(le,{size:`xs`}),v]}):null,(0,Q.jsxs)(s,{children:[(0,Q.jsx)(E,{render:(0,Q.jsx)(k,{size:`icon-sm`,variant:`ghost-muted`,disabled:a,"aria-label":e.label+` options`}),children:(0,Q.jsx)(I,{})}),(0,Q.jsxs)(g,{align:`end`,children:[(0,Q.jsx)(h,{onClick:()=>{o(e)},children:`Edit`}),(0,Q.jsx)(h,{variant:`destructive`,onClick:()=>c(e),children:`Remove`})]})]}),t?.status===`failed`&&d.supportsHostRetry&&d.hostStatus!==`disabled`?(0,Q.jsx)(k,{size:`sm`,variant:`outline`,disabled:a||p!==null,onClick:()=>{m(e.id),f({environmentId:r,input:{retryHostId:e.id}}).finally(()=>m(null))},children:p===e.id?`Retrying…`:`Retry`}):(0,Q.jsx)(k,{size:`sm`,variant:`outline`,disabled:a||v!==null,onClick:()=>void u(e),children:`Test connection`})]},e.id)},t[14]=a,t[15]=l,t[16]=r,t[17]=n,t[18]=o,t[19]=c,t[20]=f,t[21]=p,t[22]=d,t[23]=u,t[24]=e):e=t[24],v=i.map(e),t[2]=a,t[3]=l,t[4]=r,t[5]=n,t[6]=i,t[7]=o,t[8]=c,t[9]=f,t[10]=p,t[11]=d,t[12]=u,t[13]=v}else v=t[13];let y;return t[25]!==_||t[26]!==v?(y=(0,Q.jsxs)(Q.Fragment,{children:[_,v]}),t[25]=_,t[26]=v,t[27]=y):y=t[27],y}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)(Be,{className:`size-3.5 -translate-y-px`}):(0,Q.jsx)(Ve,{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)(Oe,{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)(ke,{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)(Se,{children:[(0,Q.jsxs)(Ce,{children:[`Quit `,n.name,` to import`]}),(0,Q.jsxs)(De,{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)(k,{variant:`outline`,onClick:r,children:`Cancel`}),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=(0,Q.jsx)(k,{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)(we,{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)(Se,{children:[(0,Q.jsxs)(Ce,{children:[`Let P4 Code read `,n.name,`’s cookies`]}),(0,Q.jsxs)(De,{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)(st,{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 T;t[24]!==C||t[25]!==w||t[26]!==S?(T=(0,Q.jsxs)(Ee,{children:[S,C,w]}),t[24]=C,t[25]=w,t[26]=S,t[27]=T):T=t[27];let E;t[28]===r?E=t[29]:(E=(0,Q.jsx)(k,{variant:`outline`,onClick:r,children:`Cancel`}),t[28]=r,t[29]=E);let D;t[30]===m?D=t[31]:(D=m.isReady([`fullDiskAccess`]),t[30]=m,t[31]=D);let O;t[32]!==a||t[33]!==c||t[34]!==D?(O=(0,Q.jsx)(yt,{ready:D,busy:c,onClick:a,children:`Continue`}),t[32]=a,t[33]=c,t[34]=D,t[35]=O):O=t[35];let A;t[36]!==E||t[37]!==O?(A=(0,Q.jsxs)(we,{children:[E,O]}),t[36]=E,t[37]=O,t[38]=A):A=t[38];let j;return t[39]!==T||t[40]!==A||t[41]!==_?(j=(0,Q.jsxs)(Q.Fragment,{children:[_,T,A]}),t[39]=T,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)(Ce,{children:[`Import from `,n.name]}),t[4]=n.name,t[5]=_);let v;t[6]===r?v=t[7]:(v=(0,Q.jsxs)(De,{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)(Se,{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)(dt,{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 T;t[23]!==a||t[24]!==u||t[25]!==c.kind?(T=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]=T):T=t[26];let E;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],E=i.map(e),t[27]=u,t[28]=c.kind,t[29]=c.profileId,t[30]=i,t[31]=E}else E=t[31];let D;t[36]!==T||t[37]!==E?(D=(0,Q.jsxs)(`section`,{className:`flex-1 space-y-2`,children:[w,T,E]}),t[36]=T,t[37]=E,t[38]=D):D=t[38];let O;t[39]!==D||t[40]!==S?(O=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4`,children:[S,C,D]}),t[39]=D,t[40]=S,t[41]=O):O=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]!==O||t[45]!==A?(j=(0,Q.jsxs)(Ee,{children:[O,A]}),t[44]=O,t[45]=A,t[46]=j):j=t[46];let M;t[47]===d?M=t[48]:(M=(0,Q.jsx)(k,{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)(k,{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)(we,{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)(Se,{children:[(0,Q.jsx)(Ce,{children:`Importing cookies`}),(0,Q.jsx)(De,{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)(Ee,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 py-2`,children:[(0,Q.jsx)(le,{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)(Ce,{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)(De,{children:a}),t[2]=a,t[3]=o);let s;t[4]!==i||t[5]!==o?(s=(0,Q.jsxs)(Se,{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)(le,{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)(Ee,{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)(Ce,{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)(De,{children:u}),t[10]=u,t[11]=d);let f;t[12]!==l||t[13]!==d?(f=(0,Q.jsxs)(Se,{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)(Ee,{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)(k,{}),t[17]=m):m=t[17];let h;t[18]===s?h=t[19]:(h=(0,Q.jsx)(we,{children:(0,Q.jsx)(Te,{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,o;t[0]===n.name?o=t[1]:(o=(0,Q.jsxs)(Ce,{children:[`Couldn’t import from `,n.name]}),t[0]=n.name,t[1]=o);let s=N[r],c;t[2]===s?c=t[3]:(c=(0,Q.jsx)(De,{children:s}),t[2]=s,t[3]=c);let l;t[4]!==o||t[5]!==c?(l=(0,Q.jsxs)(Se,{children:[o,c]}),t[4]=o,t[5]=c,t[6]=l):l=t[6];let u;t[7]===i?u=t[8]:(u=(0,Q.jsx)(k,{variant:`outline`,onClick:i,children:`Close`}),t[7]=i,t[8]=u);let d;t[9]===a?d=t[10]:(d=a?(0,Q.jsx)(k,{onClick:a,children:`Try again`}):null,t[9]=a,t[10]=d);let f;t[11]!==u||t[12]!==d?(f=(0,Q.jsxs)(we,{children:[u,d]}),t[11]=u,t[12]=d,t[13]=f):f=t[13];let p;return t[14]!==l||t[15]!==f?(p=(0,Q.jsxs)(Q.Fragment,{children:[l,f]}),t[14]=l,t[15]=f,t[16]=p):p=t[16],p}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 r.literals.find(e=>t.includes(`failed: ${e}.`))??`readFailed`},gn=e=>e._tag===`fill`?on:e._tag===`preset`&&lt.some(t=>t.id===e.presetId)?e.presetId:sn,_n=e=>{let t=gn(e);return t===on?`Fill panel`:t===sn?`Responsive`:lt.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,r=J(Sn),a=Y(),o=r._tag===`fill`?null:r,s=o?.width??un.width,c=o?.height??un.height,l;t[0]!==s||t[1]!==c?(l={width:s,height:c},t[0]=s,t[1]=c,t[2]=l):l=t[2];let u=l,d;t[3]!==o?.height||t[4]!==o?.width||t[5]!==a?(d=e=>{if(e===on){a({browserDefaultViewport:p});return}if(e===sn){a({browserDefaultViewport:{_tag:`freeform`,width:o?.width??un.width,height:o?.height??un.height}});return}let t=lt.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]=d):d=t[6];let f=d,m;t[7]!==u||t[8]!==o||t[9]!==a?(m=(e,t)=>{if(t===null||!vn(t))return;let n={...u,[e]:t};n.width*n.height>8294400||o&&n.width===o.width&&n.height===o.height||a({browserDefaultViewport:{_tag:`freeform`,...n}})},t[7]=u,t[8]=o,t[9]=a,t[10]=m):m=t[10];let h=m,g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=pt(`browser-default-viewport`),t[11]=g):g=t[11];let _;t[12]!==n||t[13]!==a||t[14]!==r._tag?(_=!n&&r._tag!==i._tag?(0,Q.jsx)($e,{label:`default browser viewport`,onClick:()=>a({browserDefaultViewport:i})}):null,t[12]=n,t[13]=a,t[14]=r._tag,t[15]=_):_=t[15];let v;t[16]===r?v=t[17]:(v=gn(r),t[16]=r,t[17]=v);let y;t[18]===r?y=t[19]:(y=_n(r),t[18]=r,t[19]=y);let x;t[20]===y?x=t[21]:(x=(0,Q.jsx)(G,{size:`sm`,className:`w-full min-w-0 sm:w-44`,"aria-label":`Default browser viewport`,children:(0,Q.jsx)(U,{children:y})}),t[20]=y,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)(W,{align:`end`,alignItemWithTrigger:!1,children:[S,C,(0,Q.jsxs)(ce,{children:[(0,Q.jsx)(se,{children:`Standard`}),lt.map(xn)]})]}),t[24]=w):w=t[24];let T;t[25]!==n||t[26]!==f||t[27]!==x||t[28]!==v?(T=(0,Q.jsxs)(K,{value:v,onValueChange:f,disabled:n,children:[x,w]}),t[25]=n,t[26]=f,t[27]=x,t[28]=v,t[29]=T):T=t[29];let E;t[30]!==h||t[31]!==n||t[32]!==u||t[33]!==o||t[34]!==a?(E=o?(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,Q.jsx)(oe,{value:u.width,min:240,max:b,disabled:n,format:dn,size:`sm`,className:`w-20`,onValueCommitted:e=>h(`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:u.height,min:240,max:b,disabled:n,format:dn,size:`sm`,className:`w-20`,onValueCommitted:e=>h(`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)(k,{size:`icon-sm`,variant:`ghost-muted`,disabled:n,"aria-label":`Rotate to ${u.height>=u.width?`landscape`:`portrait`}`,onClick:()=>a({browserDefaultViewport:yn(o)}),children:(0,Q.jsx)(ft,{})})}),(0,Q.jsx)(re,{side:`top`,children:`Rotate`})]})]}):null,t[30]=h,t[31]=n,t[32]=u,t[33]=o,t[34]=a,t[35]=E):E=t[35];let D;t[36]!==T||t[37]!==E?(D=(0,Q.jsxs)(`div`,{className:`flex w-full flex-wrap items-center justify-end gap-2 sm:w-auto`,children:[T,E]}),t[36]=T,t[37]=E,t[38]=D):D=t[38];let O;return t[39]!==D||t[40]!==_?(O=(0,Q.jsx)(X,{...g,description:`Tab size for you and agents. Fill fits the panel; other sizes show the device toolbar.`,resetAction:_,control:D}),t[39]=D,t[40]=_,t[41]=O):O=t[41],O}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=J(Tn),i=Y(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=pt(`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=w.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)(G,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Default browser zoom`,children:(0,Q.jsx)(U,{children:l})}),t[9]=l,t[10]=u);let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(W,{align:`end`,alignItemWithTrigger:!1,children:w.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)(K,{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)(X,{...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=J(On),i=Y(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=pt(`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:m})}):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)(G,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Default browser appearance`,children:(0,Q.jsx)(U,{children:c})}),t[7]=c,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(W,{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)(K,{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)(X,{...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=J(jn),i=J(An),a=Y(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=pt(`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)(X,{...o,description:`Show pressed keys and shortcuts in new recordings. Password fields are excluded.`,control:(0,Q.jsx)(it,{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=pt(`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)(X,{...l,description:`Highlight mouse presses and held buttons in new recordings.`,control:(0,Q.jsx)(it,{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=J(Pn),i=Y(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=pt(`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=M.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)(G,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Browser recording frame rate`,children:(0,Q.jsxs)(U,{children:[r,` fps`]})}),t[7]=r,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(W,{align:`end`,alignItemWithTrigger:!1,children:M.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)(K,{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)(X,{...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=J(Rn),i=Y(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=pt(`browser-link-target`),t[0]=a):a=t[0];let s;t[1]!==n||t[2]!==r||t[3]!==i?(s=!n&&r!==`system`?(0,Q.jsx)($e,{label:`link target`,onClick:()=>i({browserLinkTarget:o})}):null,t[1]=n,t[2]=r,t[3]=i,t[4]=s):s=t[4];let c;t[5]===i?c=t[6]:(c=e=>{(e===`system`||e===`app`)&&i({browserLinkTarget:e})},t[5]=i,t[6]=c);let l=Fn[r],u;t[7]===l?u=t[8]:(u=(0,Q.jsx)(G,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Open links in`,children:(0,Q.jsx)(U,{children:l})}),t[7]=l,t[8]=u);let d;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=Object.keys(Fn),t[9]=d):d=t[9];let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(W,{align:`end`,alignItemWithTrigger:!1,children:d.map(Ln)}),t[10]=f):f=t[10];let p;t[11]!==n||t[12]!==r||t[13]!==c||t[14]!==u?(p=(0,Q.jsxs)(K,{disabled:n,value:r,onValueChange:c,children:[u,f]}),t[11]=n,t[12]=r,t[13]=c,t[14]=u,t[15]=p):p=t[15];let m;return t[16]!==s||t[17]!==p?(m=(0,Q.jsx)(X,{...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:s,control:p}),t[16]=s,t[17]=p,t[18]=m):m=t[18],m}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}=qe(),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=_e(e,c),{state:i,loaded:a}=Ae(e),{scope:o,environments:s,connectedEnvironments:l}=qe(),u=Ye(),d=o.kind===`project`||o.kind===`checkout`,f=l.some(e=>e.serverConfig?.settings.enableDeviceSupport),p=ye(je.configure,{reportFailure:!1}),m=ye(je.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&&ve(e,`settings:write`)){g(t);try{let e=await Promise.allSettled(s.map(async e=>{if(e.connection.phase!==`connected`||!e.serverConfig)throw Error(`Environment disconnected`);if(!ve(e.environmentId,`settings:write`))throw Error(`This connection cannot change device settings.`);return p({environmentId:e.environmentId,input:{...n,...n.enabled?{onboardingCompleted:!0}:{}}})})),t=s.filter((t,n)=>{let r=e[n];return r?.status!==`fulfilled`||r.value._tag===`Failure`});t.length>0&&q.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,T=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)(k,{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)(k,{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)(X,{...pt(`device-hub`),serverScoped:!0,settingKeys:[`enableDeviceSupport`],description:Ie,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(xt,{action:T(`hub`),kind:`hub`,tools:i.hosts.find(e=>e.kind===`local`)?.tools}),h===`hub`?(0,Q.jsx)(Fe,{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)(ze,{children:y?(0,Q.jsx)(X,{...pt(`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)(Pe,{compact:!0,platform:`iOS`,status:Le(i,`ios`)}),(0,Q.jsx)(Pe,{compact:!0,platform:`Android`,status:Le(i,`android`)})]}),control:(0,Q.jsx)(k,{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)(X,{...pt(`agent-device-access`),serverScoped:!0,settingKeys:[`enableAgentDeviceAccess`],description:Me,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(xt,{action:T(`agent`),kind:`agent`,tools:i.hosts.find(e=>e.kind===`local`)?.tools}),h===`agent`?(0,Q.jsx)(Re,{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)(Ne,{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=J(Hn),i=Y(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=pt(`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)(it,{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)(X,{...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=J(e=>e.browserProfiles),n=J(e=>e.browserDefaultProfileId),r=pe(),i=Y(),{environments:o,isReady:c}=de(),p=ue(),[m,_]=(0,$.useState)(null),[v,y]=(0,$.useState)(null),[b,x]=(0,$.useState)(null),[w,T]=(0,$.useState)(null),[D,M]=(0,$.useState)(null),[N,P]=(0,$.useState)(!1),F=ne(),L=ye(He.clearProfile,{reportFailure:!1}),ee={environmentIds:o.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(ut!==null,c,o.length,ee.environmentIds.length),B=(0,$.useRef)(!1),[re,ie]=(0,$.useState)(!1),V=e||!r,ae=S(t).filter(e=>e.kind!==`incognito`),oe=a(ae,n)?.id??`default`,H=e=>{if(!r||B.current)return;let t=he().browserProfiles;if(t.length>=24)return;let n=S(t),a=new Set(n.map(e=>e.name)),o=e;for(let t=2;a.has(o);t+=1)o=`${e} ${t}`;let s={id:`profile-${C()}`,name:o,kind:`persistent`};return i({browserProfiles:[...t,s]}),s},U=(e,t)=>{if(!r||B.current)return;let n=t.trim().slice(0,48);if(n===``)return;let a=he().browserProfiles;i({browserProfiles:a.map(t=>t.id===e?{...t,name:n}:t)})},se=(e,t)=>{if(r&&!B.current){if(!z){q.add({type:`error`,title:`Could not clear ${t}'s data`,description:`You're not connected to a server yet.`});return}cn(ut,o.map(e=>e.environmentId),e,ee).then(()=>{q.add({type:`success`,title:`Cleared ${t}'s cookies and cache`})}).catch(()=>{q.add({type:`error`,title:`Could not clear ${t}'s data`})})}},W=async e=>{if(!r||B.current)return;if(!z){M(`Connect to an environment before removing this profile.`);return}M(null),P(!0);try{await cn(ut,c?o.map(e=>e.environmentId):[],e,ee)}catch{M(`Profile data could not be deleted. Try again.`),P(!1);return}let t=he();i({browserProfiles:t.browserProfiles.filter(t=>t.id!==e),...t.browserDefaultProfileId===e?{browserDefaultProfileId:d}:{}}),P(!1),x(null)},ce=(m??[]).filter(e=>e.unavailable!==`notInstalled`&&e.unavailable!==`unsupportedPlatform`),G=(0,$.useCallback)(()=>{ut&&ut.listBrowserImportSources().then(_).catch(()=>_(e=>e??[]))},[]),K=async(e,t,n)=>{if(!ut||!r)return{kind:`blocked`,reason:`sessionUnavailable`};if(n.target.kind===`existing`&&!S(he().browserProfiles).some(e=>e.id===n.target.profileId)||B.current)return{kind:`blocked`,reason:`readFailed`};B.current=!0,ie(!0);try{let r=await ut.importBrowserCookies({environmentId:t,sourceId:e.id,sourceProfileDirectory:n.sourceProfileDirectory,targetProfileId:n.target.profileId});if(n.target.kind===`existing`&&!S(he().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 me(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(S(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(ut,[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)}},le=async e=>{if(ut)try{let t=await ut.listBrowserImportSources();return _(t),t.find(t=>t.id===e)}catch{return}},ge=t.length>=24;return(0,Q.jsxs)(X,{...pt(`browser-profiles`),description:`Profiles separate cookies and logins. Incognito data is cleared when the app closes.`,control:(0,Q.jsxs)(s,{onOpenChange:e=>e&&G(),children:[(0,Q.jsxs)(E,{render:(0,Q.jsx)(k,{size:`sm`,variant:`outline`,disabled:V||re}),children:[(0,Q.jsx)(R,{}),`Add profile`]}),(0,Q.jsxs)(g,{align:`end`,children:[(0,Q.jsx)(h,{disabled:!r||ge,onClick:()=>H(`New profile`),children:`Blank profile`}),ge?(0,Q.jsx)(h,{disabled:!0,children:`You’ve reached the profile limit`}):null,(0,Q.jsx)(j,{}),(0,Q.jsxs)(O,{children:[(0,Q.jsx)(l,{children:`Import from`}),m===null?(0,Q.jsx)(h,{disabled:!0,children:`Looking for browsers…`}):ce.length===0?(0,Q.jsx)(h,{disabled:!0,children:`No supported browsers found`}):(0,Q.jsxs)(Q.Fragment,{children:[ce.map(e=>(0,Q.jsx)(h,{disabled:!r||p==null,onClick:()=>{r&&p!=null&&y({source:e,environmentId:p.environmentId,environmentName:Je({isPrimary:!0,environmentId:p.environmentId,runtimeLabel:p.label})})},children:e.name},e.id)),p==null?(0,Q.jsx)(h,{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=u(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=>U(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)(s,{children:[(0,Q.jsx)(E,{render:(0,Q.jsx)(k,{size:`icon-xs`,variant:`ghost-muted`,disabled:V||re,"aria-label":`${e.name} options`}),children:(0,Q.jsx)(I,{})}),(0,Q.jsxs)(g,{align:`end`,children:[(0,Q.jsx)(h,{disabled:!r||a,onClick:()=>{r&&i({browserDefaultProfileId:e.id})},children:`Set as default`}),(0,Q.jsx)(h,{disabled:!r||!z,onClick:()=>{ee.environmentIds.length>0?T(e):se(e.id,e.name)},children:`Clear cookies and cache`}),n?null:(0,Q.jsx)(h,{variant:`destructive`,disabled:!r||!z,onClick:()=>{r&&x(e)},children:`Remove profile and data`}),z?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(j,{}),(0,Q.jsx)(h,{disabled:!0,children:c?`Connect to an environment to clear profile data`:`Checking environments…`})]})]})]})]},e.id)})}),(0,Q.jsx)(tt,{open:b!==null,onOpenChange:e=>{!e&&!N&&(x(null),M(null))},children:(0,Q.jsxs)(nt,{children:[(0,Q.jsxs)(ct,{children:[(0,Q.jsxs)(rt,{children:[`Remove “`,b?.name,`”?`]}),(0,Q.jsx)(at,{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.`}),D?(0,Q.jsx)(`p`,{"aria-live":`polite`,className:`text-sm text-destructive`,children:D}):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)(ot,{children:[(0,Q.jsx)(mt,{disabled:N,render:(0,Q.jsx)(k,{variant:`outline`,disabled:N}),children:`Cancel`}),(0,Q.jsx)(k,{variant:`destructive`,disabled:N||!r||!z,onClick:()=>{b&&r&&z&&W(b.id)},children:N?`Removing…`:`Remove profile`})]})]})}),(0,Q.jsx)(tt,{open:w!==null,onOpenChange:e=>{e||T(null)},children:(0,Q.jsxs)(nt,{children:[(0,Q.jsxs)(ct,{children:[(0,Q.jsxs)(rt,{children:[`Clear “`,w?.name,`”’s cookies and cache?`]}),(0,Q.jsx)(at,{children:`You are signed out of its sites. Server browser tabs open in this profile close now.`})]}),(0,Q.jsxs)(ot,{children:[(0,Q.jsx)(mt,{render:(0,Q.jsx)(k,{variant:`outline`}),children:`Cancel`}),(0,Q.jsx)(k,{variant:`destructive`,onClick:()=>{w&&se(w.id,w.name),T(null)},children:`Clear data`})]})]})}),v?(0,Q.jsx)(Jt,{source:v.source,destinationEnvironmentName:v.environmentName,targetProfiles:ae.map(e=>({id:e.id,name:e.name})),canCreateProfile:r&&!ge,onImport:e=>K(v.source,v.environmentId,e),onRefreshSource:()=>le(v.source.id),onCheckFullDiskAccess:window.desktopBridge?.checkSystemPermission?()=>window.desktopBridge.checkSystemPermission(`full-disk-access`):void 0,onOpenFullDiskAccessSettings:async()=>{await fe()?.shell.openSystemSettings(`full-disk-access`).catch(()=>{q.add({type:`error`,title:`Could not open System Settings`,description:`Open Privacy & Security → Full Disk Access manually.`})})},onClose:()=>y(null)}):null]})}function Wn(){let e=(0,Z.c)(3),t=!be,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-BCtpk2dY.js.map
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Au as n,Bc as r,Dl as i,El as a,Eu as o,Gn as s,Jn as c,Lf as l,Ou as u,Wn as d,Xl as f,Yl as p,Yn as m,Zn as h,cr as g,eu as _,ha as v,jx as y,ku as b,l as x,ly as S,mu as C,nu as w,or as T,qn as E,rx as D,sr as O,t as k,tr as A,xh as j,yl as M,zc as N}from"./utils-BxISc9RR.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-DkYxB4ri.js";import{w as ne}from"./entities-DqhRur25.js";import{a as B,n as re,t as ie}from"./tooltip-B0rhqi5b.js";import{a as V,r as ae,t as oe}from"./number-field-pAaF-e0N.js";import{a as H,c as U,i as se,o as W,r as ce,s as G,t as K}from"./select-CjGEfXy_.js";import{t as le}from"./spinner-B7a-VUeR.js";import{i as q}from"./toast-BX9uiMAh.js";import{D as ue,E as de,J as fe,c as pe,o as me,r as he,s as J,x as Y}from"./useSettings-BIggY3j1.js";import{f as ge}from"./server-BYntb2dN.js";import{i as _e,n as ve}from"./session-eLrubJEW.js";import{t as ye}from"./use-atom-command-RgcuqzP9.js";import{t as be}from"./env-wK1YYxA8.js";import{t as xe}from"./input-DaCwubQj.js";import{a as Se,c as Ce,i as we,n as Te,o as Ee,r as De,s as Oe,t as ke}from"./dialog-CPLO59bH.js";import{i as Ae,t as je}from"./device-DhvzgETq.js";import{a as Me,c as Ne,i as Pe,n as Fe,o as Ie,s as Le,t as Re}from"./DeviceSetup-L8Q-0h1V.js";import{t as ze}from"./AnimatedHeight-DYUgtGfz.js";import{i as Be,n as Ve}from"./Icons-DM1SzuL7.js";import{t as He}from"./preview-C9iPHfb1.js";import{a as Ue,i as We,o as Ge,t as Ke}from"./popover-BXin7C0B.js";import{B as qe,C as Je,L as Ye,P as Xe,a as X,c as Ze,i as Qe,r as $e,s as et}from"./settingsLayout-DV36_Jgq.js";import{Ar as tt,Fr as nt,Io as rt,Ir as it,La as at,Mr as ot,Nr as st,Pr as ct,aa as lt,fa as ut,ia as dt,ir as ft,jr as pt,vs as mt}from"./main-uLg3xUJM.js";import{t as ht}from"./ProjectDefaultsSettings-Bqo3T1SR.js";import{t as gt}from"./draft-input-CmvO5rl_.js";import{t as _t}from"./ScopedSwitch-B8wdvttG.js";import{n as vt,r as yt,t as bt}from"./usePermissionStatus-FtemMvNg.js";var Z=y(),Q=e(v(),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)(g,{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)(Ge,{"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`,_;t[6]===h?_=t[7]:(_=(0,Q.jsx)(Ue,{children:h}),t[6]=h,t[7]=_);let v;t[8]!==i||t[9]!==u||t[10]!==n?(v=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]=v):v=t[11];let y=a?`Managed by ${a}. `:``,b;t[12]===y?b=t[13]:(b=(0,Q.jsxs)(`p`,{className:`mt-4 border-t border-border/50 pt-3 text-xs text-muted-foreground`,children:[y,`Tools update automatically on this host when needed.`]}),t[12]=y,t[13]=b);let x;t[14]===o?x=t[15]:(x=o?(0,Q.jsx)(`p`,{role:`status`,className:`mt-2 text-xs text-destructive`,children:o}):null,t[14]=o,t[15]=x);let S;t[16]===r?S=t[17]:(S=r?(0,Q.jsx)(`div`,{className:`mt-3`,children:r}):null,t[16]=r,t[17]=S);let C;t[18]!==b||t[19]!==x||t[20]!==S||t[21]!==_||t[22]!==v?(C=(0,Q.jsxs)(We,{align:`end`,width:`md`,children:[_,v,b,x,S]}),t[18]=b,t[19]=x,t[20]=S,t[21]=_,t[22]=v,t[23]=C):C=t[23];let w;return t[24]!==C||t[25]!==m?(w=(0,Q.jsxs)(Ke,{children:[m,C]}),t[24]=C,t[25]=m,t[26]=w):w=t[26],w}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=j(C);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=ye(je.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(!ve(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(S(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:n,isNew:r,targets:i,busy:a,onSave:o,onClose:s}=e,[c,l]=(0,$.useState)(n),{checks:u,testConnection:d}=At(i),f=u[Ot(c)],p=Object.values(f??{}).some(Nt),m,h;t[0]===c?(m=t[1],h=t[2]):(m=Dt({...c,label:c.label.trim()||c.target}),h=D(m),t[0]=c,t[1]=m,t[2]=h);let g=h,_;t[3]===f?_=t[4]:(_=Object.values(f??{}).filter(Mt),t[3]=f,t[4]=_);let v=_.length,y;t[5]!==a||t[6]!==s?(y=e=>{!e&&!a&&s()},t[5]=a,t[6]=s,t[7]=y):y=t[7];let b=!a,x;t[8]!==a||t[9]!==p||t[10]!==c.label||t[11]!==m||t[12]!==o?(x=(0,Q.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),D(m)&&c.label.trim()&&!a&&!p&&o(m.value)}}),t[8]=a,t[9]=p,t[10]=c.label,t[11]=m,t[12]=o,t[13]=x):x=t[13];let S=r?`Add device host`:`Edit device host`,C;t[14]===S?C=t[15]:(C=(0,Q.jsx)(Ce,{children:S}),t[14]=S,t[15]=C);let w=i.length===1?`Connect from ${i[0]?.label}.`:`Connect from ${i.length} selected environments.`,T;t[16]===w?T=t[17]:(T=(0,Q.jsxs)(De,{children:[w,` `,`Hosts on the same machine are skipped.`]}),t[16]=w,t[17]=T);let E;t[18]!==C||t[19]!==T?(E=(0,Q.jsxs)(Se,{children:[C,T]}),t[18]=C,t[19]=T,t[20]=E):E=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]===c?A=t[23]:(A=e=>l({...c,label:e.target.value}),t[22]=c,t[23]=A);let j;t[24]!==a||t[25]!==c.label||t[26]!==A?(j=(0,Q.jsxs)(`label`,{className:`block space-y-1.5 text-sm`,children:[k,(0,Q.jsx)(xe,{autoFocus:!0,required:!0,value:c.label,disabled:a,onChange:A,placeholder:`Mac mini`})]}),t[24]=a,t[25]=c.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]===c?N=t[30]:(N=e=>l({...c,target:e.target.value}),t[29]=c,t[30]=N);let P;t[31]!==a||t[32]!==c.target||t[33]!==N?(P=(0,Q.jsxs)(`label`,{className:`block space-y-1.5 text-sm`,children:[M,(0,Q.jsx)(xe,{required:!0,value:c.target,disabled:a,onChange:N,placeholder:`user@host or SSH alias`})]}),t[31]=a,t[32]=c.target,t[33]=N,t[34]=P):P=t[34];let I=n.port!==void 0||n.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=c.identityFile??``,ne;t[37]===c?ne=t[38]:(ne=e=>{let{identityFile:t,...n}=c;l(e.target.value?{...n,identityFile:e.target.value}:n)},t[37]=c,t[38]=ne);let B;t[39]!==a||t[40]!==te||t[41]!==ne?(B=(0,Q.jsxs)(`label`,{className:`block space-y-1.5`,children:[R,(0,Q.jsx)(xe,{value:te,disabled:a,onChange:ne,placeholder:`SSH config default`})]}),t[39]=a,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=c.port??``,V;t[44]===c?V=t[45]:(V=e=>{let{port:t,...n}=c;l(e.target.value?{...n,port:Number(e.target.value)}:n)},t[44]=c,t[45]=V);let ae;t[46]!==a||t[47]!==ie||t[48]!==V?(ae=(0,Q.jsxs)(`label`,{className:`block space-y-1.5`,children:[re,(0,Q.jsx)(xe,{type:`number`,min:1,max:65535,value:ie,disabled:a,onChange:V,placeholder:`Default`})]}),t[46]=a,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 U;t[54]!==I||t[55]!==oe?(U=(0,Q.jsxs)(`details`,{open:I,className:`text-sm`,children:[L,oe,H]}),t[54]=I,t[55]=oe,t[56]=U):U=t[56];let se=p?`Checking environments…`:f?v?`${v} of ${i.length} failed`:`Connection checks passed`:`Check access before saving`,W;t[57]===se?W=t[58]:(W=(0,Q.jsx)(`p`,{role:`status`,className:`text-xs text-muted-foreground`,children:se}),t[57]=se,t[58]=W);let ce=a||p||!g,G;t[59]!==m||t[60]!==d?(G=()=>{D(m)&&d(m.value)},t[59]=m,t[60]=d,t[61]=G):G=t[61];let K;t[62]===p?K=t[63]:(K=p?(0,Q.jsx)(le,{size:`xs`}):null,t[62]=p,t[63]=K);let q;t[64]!==ce||t[65]!==G||t[66]!==K?(q=(0,Q.jsxs)(O,{type:`button`,size:`sm`,variant:`outline`,disabled:ce,onClick:G,children:[K,` Test connection`]}),t[64]=ce,t[65]=G,t[66]=K,t[67]=q):q=t[67];let ue;t[68]!==W||t[69]!==q?(ue=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-2.5`,children:[W,q]}),t[68]=W,t[69]=q,t[70]=ue):ue=t[70];let de;t[71]!==f||t[72]!==i?(de=f?(0,Q.jsx)(`ul`,{className:`border-t border-border/60 divide-y divide-border/40`,children:i.map(e=>{let t=f[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)(le,{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]=f,t[72]=i,t[73]=de):de=t[73];let fe;t[74]!==ue||t[75]!==de?(fe=(0,Q.jsxs)(`div`,{className:`rounded-lg border border-border/60`,children:[ue,de]}),t[74]=ue,t[75]=de,t[76]=fe):fe=t[76];let pe;t[77]!==j||t[78]!==P||t[79]!==U||t[80]!==fe?(pe=(0,Q.jsxs)(Ee,{children:[j,P,U,fe]}),t[77]=j,t[78]=P,t[79]=U,t[80]=fe,t[81]=pe):pe=t[81];let me;t[82]!==a||t[83]!==s?(me=(0,Q.jsx)(O,{type:`button`,variant:`ghost`,disabled:a,onClick:s,children:`Cancel`}),t[82]=a,t[83]=s,t[84]=me):me=t[84];let he;t[85]!==a||t[86]!==p||t[87]!==c.label||t[88]!==g?(he=a||p||!g||!c.label.trim(),t[85]=a,t[86]=p,t[87]=c.label,t[88]=g,t[89]=he):he=t[89];let J;t[90]===a?J=t[91]:(J=a?(0,Q.jsx)(le,{size:`xs`}):null,t[90]=a,t[91]=J);let Y;t[92]!==he||t[93]!==J?(Y=(0,Q.jsxs)(O,{type:`submit`,disabled:he,children:[J,` Save host`]}),t[92]=he,t[93]=J,t[94]=Y):Y=t[94];let ge;t[95]!==me||t[96]!==Y?(ge=(0,Q.jsxs)(we,{children:[me,Y]}),t[95]=me,t[96]=Y,t[97]=ge):ge=t[97];let _e;t[98]!==E||t[99]!==pe||t[100]!==b||t[101]!==ge||t[102]!==x?(_e=(0,Q.jsxs)(Oe,{showCloseButton:b,render:x,children:[E,pe,ge]}),t[98]=E,t[99]=pe,t[100]=b,t[101]=ge,t[102]=x,t[103]=_e):_e=t[103];let ve;return t[104]!==y||t[105]!==_e?(ve=(0,Q.jsx)(ke,{open:!0,onOpenChange:y,children:_e}),t[104]=y,t[105]=_e,t[106]=ve):ve=t[106],ve}function Mt(e){return e.status===`failed`}function Nt(e){return e.status===`pending`}function Pt(e){let{scope:t,environments:n,connectedEnvironments:r}=qe(),i=_e(e.environmentId,l),a=t.kind===`project`||t.kind===`checkout`,o=ye(ge.updateSettings,{reportFailure:!1}),[s,c]=(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(!ve(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?c(null):q.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)(X,{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)(O,{size:`sm`,variant:`outline`,disabled:!i||a||f||!e.environmentId||s!==null,onClick:()=>{d(null),c({id:x(),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 q.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),c(e)},onRemove:e=>void _(e,!0)})]},e.environmentId)),s?(0,Q.jsx)(jt,{host:s,isNew:u===null,targets:m,busy:f,onSave:e=>void _(e,!1,u??e),onClose:()=>c(null)},s.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:i,busy:a,onEdit:o,onRemove:c,checks:l,testConnection:u}=e,{state:d}=Ae(r),f=ye(je.list),[p,g]=(0,$.useState)(null),_;t[0]===i.length?_=t[1]:(_=i.length===0?(0,Q.jsx)(`p`,{className:`py-2 text-sm text-muted-foreground`,children:`No device hosts.`}):null,t[0]=i.length,t[1]=_);let v;if(t[2]!==a||t[3]!==l||t[4]!==r||t[5]!==n||t[6]!==i||t[7]!==o||t[8]!==c||t[9]!==f||t[10]!==p||t[11]!==d||t[12]!==u){let e;t[14]!==a||t[15]!==l||t[16]!==r||t[17]!==n||t[18]!==o||t[19]!==c||t[20]!==f||t[21]!==p||t[22]!==d||t[23]!==u?(e=e=>{let t=d.hostStatuses[e.id],i=l[Ot(e)]?.[r],_=(i?.status===`connected`?i.platforms:void 0)??d.hosts.find(t=>t.id===e.id)?.platforms??[],v=i?.status===`pending`?`Checking connection…`:t?.status===`installing`?`Installing device support…`:t?.status===`starting`?`Connecting…`:null,y=i?.status===`failed`?i.error:i?.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}),_.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??(i?.status===`connected`?i.tools:void 0)}),i?.status===`local`?(0,Q.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Already available locally`}):null,y?(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:y})]})}):null]}),v?(0,Q.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Q.jsx)(le,{size:`xs`}),v]}):null,(0,Q.jsxs)(s,{children:[(0,Q.jsx)(T,{render:(0,Q.jsx)(O,{size:`icon-sm`,variant:`ghost-muted`,disabled:a,"aria-label":e.label+` options`}),children:(0,Q.jsx)(I,{})}),(0,Q.jsxs)(h,{align:`end`,children:[(0,Q.jsx)(m,{onClick:()=>{o(e)},children:`Edit`}),(0,Q.jsx)(m,{variant:`destructive`,onClick:()=>c(e),children:`Remove`})]})]}),t?.status===`failed`&&d.supportsHostRetry&&d.hostStatus!==`disabled`?(0,Q.jsx)(O,{size:`sm`,variant:`outline`,disabled:a||p!==null,onClick:()=>{g(e.id),f({environmentId:r,input:{retryHostId:e.id}}).finally(()=>g(null))},children:p===e.id?`Retrying…`:`Retry`}):(0,Q.jsx)(O,{size:`sm`,variant:`outline`,disabled:a||v!==null,onClick:()=>void u(e),children:`Test connection`})]},e.id)},t[14]=a,t[15]=l,t[16]=r,t[17]=n,t[18]=o,t[19]=c,t[20]=f,t[21]=p,t[22]=d,t[23]=u,t[24]=e):e=t[24],v=i.map(e),t[2]=a,t[3]=l,t[4]=r,t[5]=n,t[6]=i,t[7]=o,t[8]=c,t[9]=f,t[10]=p,t[11]=d,t[12]=u,t[13]=v}else v=t[13];let y;return t[25]!==_||t[26]!==v?(y=(0,Q.jsxs)(Q.Fragment,{children:[_,v]}),t[25]=_,t[26]=v,t[27]=y):y=t[27],y}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)(Be,{className:`size-3.5 -translate-y-px`}):(0,Q.jsx)(Ve,{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,S]=(0,$.useState)(y),[C,w]=(0,$.useState)(),T;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(T=x(),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]!==C||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=>{S(e),w(void 0)},targetError:C,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]=C,t[38]=i,t[39]=ee):ee=t[39];let R;t[40]!==L||t[41]!==ee?(R=(0,Q.jsx)(Oe,{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)(ke,{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)(Se,{children:[(0,Q.jsxs)(Ce,{children:[`Quit `,n.name,` to import`]}),(0,Q.jsxs)(De,{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)(O,{variant:`outline`,onClick:r,children:`Cancel`}),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=(0,Q.jsx)(O,{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)(we,{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)(Se,{children:[(0,Q.jsxs)(Ce,{children:[`Let P4 Code read `,n.name,`’s cookies`]}),(0,Q.jsxs)(De,{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)(rt,{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 T;t[24]!==C||t[25]!==w||t[26]!==S?(T=(0,Q.jsxs)(Ee,{children:[S,C,w]}),t[24]=C,t[25]=w,t[26]=S,t[27]=T):T=t[27];let E;t[28]===r?E=t[29]:(E=(0,Q.jsx)(O,{variant:`outline`,onClick:r,children:`Cancel`}),t[28]=r,t[29]=E);let D;t[30]===m?D=t[31]:(D=m.isReady([`fullDiskAccess`]),t[30]=m,t[31]=D);let k;t[32]!==a||t[33]!==c||t[34]!==D?(k=(0,Q.jsx)(yt,{ready:D,busy:c,onClick:a,children:`Continue`}),t[32]=a,t[33]=c,t[34]=D,t[35]=k):k=t[35];let A;t[36]!==E||t[37]!==k?(A=(0,Q.jsxs)(we,{children:[E,k]}),t[36]=E,t[37]=k,t[38]=A):A=t[38];let j;return t[39]!==T||t[40]!==A||t[41]!==_?(j=(0,Q.jsxs)(Q.Fragment,{children:[_,T,A]}),t[39]=T,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)(Ce,{children:[`Import from `,n.name]}),t[4]=n.name,t[5]=_);let v;t[6]===r?v=t[7]:(v=(0,Q.jsxs)(De,{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)(Se,{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)(mt,{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 T;t[23]!==a||t[24]!==u||t[25]!==c.kind?(T=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]=T):T=t[26];let E;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],E=i.map(e),t[27]=u,t[28]=c.kind,t[29]=c.profileId,t[30]=i,t[31]=E}else E=t[31];let D;t[36]!==T||t[37]!==E?(D=(0,Q.jsxs)(`section`,{className:`flex-1 space-y-2`,children:[w,T,E]}),t[36]=T,t[37]=E,t[38]=D):D=t[38];let k;t[39]!==D||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,D]}),t[39]=D,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)(Ee,{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)(O,{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)(O,{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)(we,{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=k(`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=k(`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)(Se,{children:[(0,Q.jsx)(Ce,{children:`Importing cookies`}),(0,Q.jsx)(De,{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)(Ee,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 py-2`,children:[(0,Q.jsx)(le,{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)(Ce,{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)(De,{children:a}),t[2]=a,t[3]=o);let s;t[4]!==i||t[5]!==o?(s=(0,Q.jsxs)(Se,{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)(le,{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)(Ee,{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)(Ce,{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)(De,{children:u}),t[10]=u,t[11]=d);let f;t[12]!==l||t[13]!==d?(f=(0,Q.jsxs)(Se,{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)(Ee,{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)(O,{}),t[17]=m):m=t[17];let h;t[18]===s?h=t[19]:(h=(0,Q.jsx)(we,{children:(0,Q.jsx)(Te,{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,o;t[0]===n.name?o=t[1]:(o=(0,Q.jsxs)(Ce,{children:[`Couldn’t import from `,n.name]}),t[0]=n.name,t[1]=o);let s=N[r],c;t[2]===s?c=t[3]:(c=(0,Q.jsx)(De,{children:s}),t[2]=s,t[3]=c);let l;t[4]!==o||t[5]!==c?(l=(0,Q.jsxs)(Se,{children:[o,c]}),t[4]=o,t[5]=c,t[6]=l):l=t[6];let u;t[7]===i?u=t[8]:(u=(0,Q.jsx)(O,{variant:`outline`,onClick:i,children:`Close`}),t[7]=i,t[8]=u);let d;t[9]===a?d=t[10]:(d=a?(0,Q.jsx)(O,{onClick:a,children:`Try again`}):null,t[9]=a,t[10]=d);let f;t[11]!==u||t[12]!==d?(f=(0,Q.jsxs)(we,{children:[u,d]}),t[11]=u,t[12]=d,t[13]=f):f=t[13];let p;return t[14]!==l||t[15]!==f?(p=(0,Q.jsxs)(Q.Fragment,{children:[l,f]}),t[14]=l,t[15]=f,t[16]=p):p=t[16],p}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 r.literals.find(e=>t.includes(`failed: ${e}.`))??`readFailed`},gn=e=>e._tag===`fill`?on:e._tag===`preset`&&lt.some(t=>t.id===e.presetId)?e.presetId:sn,_n=e=>{let t=gn(e);return t===on?`Fill panel`:t===sn?`Responsive`:lt.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,r=J(Sn),a=Y(),o=r._tag===`fill`?null:r,s=o?.width??un.width,c=o?.height??un.height,l;t[0]!==s||t[1]!==c?(l={width:s,height:c},t[0]=s,t[1]=c,t[2]=l):l=t[2];let u=l,d;t[3]!==o?.height||t[4]!==o?.width||t[5]!==a?(d=e=>{if(e===on){a({browserDefaultViewport:f});return}if(e===sn){a({browserDefaultViewport:{_tag:`freeform`,width:o?.width??un.width,height:o?.height??un.height}});return}let t=lt.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]=d):d=t[6];let p=d,m;t[7]!==u||t[8]!==o||t[9]!==a?(m=(e,t)=>{if(t===null||!vn(t))return;let n={...u,[e]:t};n.width*n.height>8294400||o&&n.width===o.width&&n.height===o.height||a({browserDefaultViewport:{_tag:`freeform`,...n}})},t[7]=u,t[8]=o,t[9]=a,t[10]=m):m=t[10];let h=m,g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=ft(`browser-default-viewport`),t[11]=g):g=t[11];let v;t[12]!==n||t[13]!==a||t[14]!==r._tag?(v=!n&&r._tag!==i._tag?(0,Q.jsx)($e,{label:`default browser viewport`,onClick:()=>a({browserDefaultViewport:i})}):null,t[12]=n,t[13]=a,t[14]=r._tag,t[15]=v):v=t[15];let y;t[16]===r?y=t[17]:(y=gn(r),t[16]=r,t[17]=y);let b;t[18]===r?b=t[19]:(b=_n(r),t[18]=r,t[19]=b);let x;t[20]===b?x=t[21]:(x=(0,Q.jsx)(G,{size:`sm`,className:`w-full min-w-0 sm:w-44`,"aria-label":`Default browser viewport`,children:(0,Q.jsx)(U,{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)(W,{align:`end`,alignItemWithTrigger:!1,children:[S,C,(0,Q.jsxs)(ce,{children:[(0,Q.jsx)(se,{children:`Standard`}),lt.map(xn)]})]}),t[24]=w):w=t[24];let T;t[25]!==n||t[26]!==p||t[27]!==x||t[28]!==y?(T=(0,Q.jsxs)(K,{value:y,onValueChange:p,disabled:n,children:[x,w]}),t[25]=n,t[26]=p,t[27]=x,t[28]=y,t[29]=T):T=t[29];let E;t[30]!==h||t[31]!==n||t[32]!==u||t[33]!==o||t[34]!==a?(E=o?(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,Q.jsx)(oe,{value:u.width,min:240,max:_,disabled:n,format:dn,size:`sm`,className:`w-20`,onValueCommitted:e=>h(`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:u.height,min:240,max:_,disabled:n,format:dn,size:`sm`,className:`w-20`,onValueCommitted:e=>h(`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)(O,{size:`icon-sm`,variant:`ghost-muted`,disabled:n,"aria-label":`Rotate to ${u.height>=u.width?`landscape`:`portrait`}`,onClick:()=>a({browserDefaultViewport:yn(o)}),children:(0,Q.jsx)(dt,{})})}),(0,Q.jsx)(re,{side:`top`,children:`Rotate`})]})]}):null,t[30]=h,t[31]=n,t[32]=u,t[33]=o,t[34]=a,t[35]=E):E=t[35];let D;t[36]!==T||t[37]!==E?(D=(0,Q.jsxs)(`div`,{className:`flex w-full flex-wrap items-center justify-end gap-2 sm:w-auto`,children:[T,E]}),t[36]=T,t[37]=E,t[38]=D):D=t[38];let k;return t[39]!==D||t[40]!==v?(k=(0,Q.jsx)(X,{...g,description:`Tab size for you and agents. Fill fits the panel; other sizes show the device toolbar.`,resetAction:v,control:D}),t[39]=D,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=J(Tn),i=Y(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=ft(`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=w.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)(G,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Default browser zoom`,children:(0,Q.jsx)(U,{children:l})}),t[9]=l,t[10]=u);let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(W,{align:`end`,alignItemWithTrigger:!1,children:w.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)(K,{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)(X,{...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=J(On),i=Y(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=ft(`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:p})}):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)(G,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Default browser appearance`,children:(0,Q.jsx)(U,{children:c})}),t[7]=c,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(W,{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)(K,{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)(X,{...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=J(jn),i=J(An),a=Y(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=ft(`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)(X,{...o,description:`Show pressed keys and shortcuts in new recordings. Password fields are excluded.`,control:(0,Q.jsx)(at,{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=ft(`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)(X,{...l,description:`Highlight mouse presses and held buttons in new recordings.`,control:(0,Q.jsx)(at,{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=J(Pn),i=Y(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=ft(`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=M.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)(G,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Browser recording frame rate`,children:(0,Q.jsxs)(U,{children:[r,` fps`]})}),t[7]=r,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(W,{align:`end`,alignItemWithTrigger:!1,children:M.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)(K,{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)(X,{...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=J(Rn),i=Y(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=ft(`browser-link-target`),t[0]=o):o=t[0];let s;t[1]!==n||t[2]!==r||t[3]!==i?(s=!n&&r!==`system`?(0,Q.jsx)($e,{label:`link target`,onClick:()=>i({browserLinkTarget:a})}):null,t[1]=n,t[2]=r,t[3]=i,t[4]=s):s=t[4];let c;t[5]===i?c=t[6]:(c=e=>{(e===`system`||e===`app`)&&i({browserLinkTarget:e})},t[5]=i,t[6]=c);let l=Fn[r],u;t[7]===l?u=t[8]:(u=(0,Q.jsx)(G,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Open links in`,children:(0,Q.jsx)(U,{children:l})}),t[7]=l,t[8]=u);let d;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=Object.keys(Fn),t[9]=d):d=t[9];let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Q.jsx)(W,{align:`end`,alignItemWithTrigger:!1,children:d.map(Ln)}),t[10]=f):f=t[10];let p;t[11]!==n||t[12]!==r||t[13]!==c||t[14]!==u?(p=(0,Q.jsxs)(K,{disabled:n,value:r,onValueChange:c,children:[u,f]}),t[11]=n,t[12]=r,t[13]=c,t[14]=u,t[15]=p):p=t[15];let m;return t[16]!==s||t[17]!==p?(m=(0,Q.jsx)(X,{...o,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:s,control:p}),t[16]=s,t[17]=p,t[18]=m):m=t[18],m}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}=qe(),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=_e(e,l),{state:i,loaded:a}=Ae(e),{scope:o,environments:s,connectedEnvironments:c}=qe(),u=Ye(),d=o.kind===`project`||o.kind===`checkout`,f=c.some(e=>e.serverConfig?.settings.enableDeviceSupport),p=ye(je.configure,{reportFailure:!1}),m=ye(je.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&&ve(e,`settings:write`)){g(t);try{let e=await Promise.allSettled(s.map(async e=>{if(e.connection.phase!==`connected`||!e.serverConfig)throw Error(`Environment disconnected`);if(!ve(e.environmentId,`settings:write`))throw Error(`This connection cannot change device settings.`);return p({environmentId:e.environmentId,input:{...n,...n.enabled?{onboardingCompleted:!0}:{}}})})),t=s.filter((t,n)=>{let r=e[n];return r?.status!==`fulfilled`||r.value._tag===`Failure`});t.length>0&&q.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,T=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)(O,{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)(O,{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)(X,{...ft(`device-hub`),serverScoped:!0,settingKeys:[`enableDeviceSupport`],description:Ie,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(xt,{action:T(`hub`),kind:`hub`,tools:i.hosts.find(e=>e.kind===`local`)?.tools}),h===`hub`?(0,Q.jsx)(Fe,{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)(ze,{children:y?(0,Q.jsx)(X,{...ft(`device-platform-support`),description:c.length>1?`Status for ${c.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)(Pe,{compact:!0,platform:`iOS`,status:Le(i,`ios`)}),(0,Q.jsx)(Pe,{compact:!0,platform:`Android`,status:Le(i,`android`)})]}),control:(0,Q.jsx)(O,{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)(X,{...ft(`agent-device-access`),serverScoped:!0,settingKeys:[`enableAgentDeviceAccess`],description:Me,control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(xt,{action:T(`agent`),kind:`agent`,tools:i.hosts.find(e=>e.kind===`local`)?.tools}),h===`agent`?(0,Q.jsx)(Re,{state:i,pending:!0,compact:!0}):null,(0,Q.jsx)(_t,{settingKeys:[`enableAgentDeviceAccess`],checked:n,disabled:!r||c.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)(Ne,{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=J(Hn),i=Y(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=ft(`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)(at,{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)(X,{...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=J(e=>e.browserProfiles),r=J(e=>e.browserDefaultProfileId),i=pe(),a=Y(),{environments:l,isReady:f}=de(),p=ue(),[g,_]=(0,$.useState)(null),[v,y]=(0,$.useState)(null),[S,C]=(0,$.useState)(null),[w,D]=(0,$.useState)(null),[j,M]=(0,$.useState)(null),[N,P]=(0,$.useState)(!1),F=ne(),L=ye(He.clearProfile,{reportFailure:!1}),ee={environmentIds:l.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(ut!==null,f,l.length,ee.environmentIds.length),B=(0,$.useRef)(!1),[re,ie]=(0,$.useState)(!1),V=e||!i,ae=n(t).filter(e=>e.kind!==`incognito`),oe=u(ae,r)?.id??`default`,H=e=>{if(!i||B.current)return;let t=he().browserProfiles;if(t.length>=24)return;let r=n(t),o=new Set(r.map(e=>e.name)),s=e;for(let t=2;o.has(s);t+=1)s=`${e} ${t}`;let c={id:`profile-${x()}`,name:s,kind:`persistent`};return a({browserProfiles:[...t,c]}),c},U=(e,t)=>{if(!i||B.current)return;let n=t.trim().slice(0,48);if(n===``)return;let r=he().browserProfiles;a({browserProfiles:r.map(t=>t.id===e?{...t,name:n}:t)})},se=(e,t)=>{if(i&&!B.current){if(!z){q.add({type:`error`,title:`Could not clear ${t}'s data`,description:`You're not connected to a server yet.`});return}cn(ut,l.map(e=>e.environmentId),e,ee).then(()=>{q.add({type:`success`,title:`Cleared ${t}'s cookies and cache`})}).catch(()=>{q.add({type:`error`,title:`Could not clear ${t}'s data`})})}},W=async e=>{if(!i||B.current)return;if(!z){M(`Connect to an environment before removing this profile.`);return}M(null),P(!0);try{await cn(ut,f?l.map(e=>e.environmentId):[],e,ee)}catch{M(`Profile data could not be deleted. Try again.`),P(!1);return}let t=he();a({browserProfiles:t.browserProfiles.filter(t=>t.id!==e),...t.browserDefaultProfileId===e?{browserDefaultProfileId:o}:{}}),P(!1),C(null)},ce=(g??[]).filter(e=>e.unavailable!==`notInstalled`&&e.unavailable!==`unsupportedPlatform`),G=(0,$.useCallback)(()=>{ut&&ut.listBrowserImportSources().then(_).catch(()=>_(e=>e??[]))},[]),K=async(e,t,r)=>{if(!ut||!i)return{kind:`blocked`,reason:`sessionUnavailable`};if(r.target.kind===`existing`&&!n(he().browserProfiles).some(e=>e.id===r.target.profileId)||B.current)return{kind:`blocked`,reason:`readFailed`};B.current=!0,ie(!0);try{let i=await ut.importBrowserCookies({environmentId:t,sourceId:e.id,sourceProfileDirectory:r.sourceProfileDirectory,targetProfileId:r.target.profileId});if(r.target.kind===`existing`&&!n(he().browserProfiles).some(e=>e.id===r.target.profileId))return{kind:`blocked`,reason:`readFailed`};let a;if(r.target.kind===`new`){if(i.imported>0)try{a=(await me(t=>{if(t.browserProfiles.find(e=>e.id===r.target.profileId))return t;if(t.browserProfiles.length>=24)throw new mn;let i=new Set(n(t.browserProfiles).map(e=>e.name)),a=e.name;for(let t=2;i.has(a);t+=1)a=`${e.name} ${t}`;return{...t,browserProfiles:[...t.browserProfiles,{id:r.target.profileId,name:a,kind:`persistent`}]}})).browserProfiles.find(e=>e.id===r.target.profileId)?.name??e.name}catch(n){await cn(ut,[t],r.target.profileId).catch(()=>void 0);let i=n instanceof mn?`profileLimitReached`:`profileNotSaved`;throw Error(`Importing cookies from ${e.id} failed: ${i}.`,{cause:n})}else a=e.name}else a=r.target.name;return{kind:`imported`,imported:i.imported,skipped:i.skipped,skippedDomains:i.skippedDomains,targetName:a}}catch(e){return{kind:`blocked`,reason:hn(e)}}finally{B.current=!1,ie(!1)}},le=async e=>{if(ut)try{let t=await ut.listBrowserImportSources();return _(t),t.find(t=>t.id===e)}catch{return}},ge=t.length>=24;return(0,Q.jsxs)(X,{...ft(`browser-profiles`),description:`Profiles separate cookies and logins. Incognito data is cleared when the app closes.`,control:(0,Q.jsxs)(s,{onOpenChange:e=>e&&G(),children:[(0,Q.jsxs)(T,{render:(0,Q.jsx)(O,{size:`sm`,variant:`outline`,disabled:V||re}),children:[(0,Q.jsx)(R,{}),`Add profile`]}),(0,Q.jsxs)(h,{align:`end`,children:[(0,Q.jsx)(m,{disabled:!i||ge,onClick:()=>H(`New profile`),children:`Blank profile`}),ge?(0,Q.jsx)(m,{disabled:!0,children:`You’ve reached the profile limit`}):null,(0,Q.jsx)(A,{}),(0,Q.jsxs)(E,{children:[(0,Q.jsx)(c,{children:`Import from`}),g===null?(0,Q.jsx)(m,{disabled:!0,children:`Looking for browsers…`}):ce.length===0?(0,Q.jsx)(m,{disabled:!0,children:`No supported browsers found`}):(0,Q.jsxs)(Q.Fragment,{children:[ce.map(e=>(0,Q.jsx)(m,{disabled:!i||p==null,onClick:()=>{i&&p!=null&&y({source:e,environmentId:p.environmentId,environmentName:Je({isPrimary:!0,environmentId:p.environmentId,runtimeLabel:p.label})})},children:e.name},e.id)),p==null?(0,Q.jsx)(m,{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=b(e.id),r=e.id===oe;return(0,Q.jsxs)(`div`,{className:k(`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:k(`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=>U(e.id,t)}),r?(0,Q.jsx)(`span`,{className:k(`flex`,V&&`opacity-64`),children:(0,Q.jsx)(d,{children:`Default`})}):null]}),(0,Q.jsxs)(s,{children:[(0,Q.jsx)(T,{render:(0,Q.jsx)(O,{size:`icon-xs`,variant:`ghost-muted`,disabled:V||re,"aria-label":`${e.name} options`}),children:(0,Q.jsx)(I,{})}),(0,Q.jsxs)(h,{align:`end`,children:[(0,Q.jsx)(m,{disabled:!i||r,onClick:()=>{i&&a({browserDefaultProfileId:e.id})},children:`Set as default`}),(0,Q.jsx)(m,{disabled:!i||!z,onClick:()=>{ee.environmentIds.length>0?D(e):se(e.id,e.name)},children:`Clear cookies and cache`}),n?null:(0,Q.jsx)(m,{variant:`destructive`,disabled:!i||!z,onClick:()=>{i&&C(e)},children:`Remove profile and data`}),z?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(A,{}),(0,Q.jsx)(m,{disabled:!0,children:f?`Connect to an environment to clear profile data`:`Checking environments…`})]})]})]})]},e.id)})}),(0,Q.jsx)(tt,{open:S!==null,onOpenChange:e=>{!e&&!N&&(C(null),M(null))},children:(0,Q.jsxs)(nt,{children:[(0,Q.jsxs)(ct,{children:[(0,Q.jsxs)(it,{children:[`Remove “`,S?.name,`”?`]}),(0,Q.jsx)(ot,{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.`}),j?(0,Q.jsx)(`p`,{"aria-live":`polite`,className:`text-sm text-destructive`,children:j}):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)(st,{children:[(0,Q.jsx)(pt,{disabled:N,render:(0,Q.jsx)(O,{variant:`outline`,disabled:N}),children:`Cancel`}),(0,Q.jsx)(O,{variant:`destructive`,disabled:N||!i||!z,onClick:()=>{S&&i&&z&&W(S.id)},children:N?`Removing…`:`Remove profile`})]})]})}),(0,Q.jsx)(tt,{open:w!==null,onOpenChange:e=>{e||D(null)},children:(0,Q.jsxs)(nt,{children:[(0,Q.jsxs)(ct,{children:[(0,Q.jsxs)(it,{children:[`Clear “`,w?.name,`”’s cookies and cache?`]}),(0,Q.jsx)(ot,{children:`You are signed out of its sites. Server browser tabs open in this profile close now.`})]}),(0,Q.jsxs)(st,{children:[(0,Q.jsx)(pt,{render:(0,Q.jsx)(O,{variant:`outline`}),children:`Cancel`}),(0,Q.jsx)(O,{variant:`destructive`,onClick:()=>{w&&se(w.id,w.name),D(null)},children:`Clear data`})]})]})}),v?(0,Q.jsx)(Jt,{source:v.source,destinationEnvironmentName:v.environmentName,targetProfiles:ae.map(e=>({id:e.id,name:e.name})),canCreateProfile:i&&!ge,onImport:e=>K(v.source,v.environmentId,e),onRefreshSource:()=>le(v.source.id),onCheckFullDiskAccess:window.desktopBridge?.checkSystemPermission?()=>window.desktopBridge.checkSystemPermission(`full-disk-access`):void 0,onOpenFullDiskAccessSettings:async()=>{await fe()?.shell.openSystemSettings(`full-disk-access`).catch(()=>{q.add({type:`error`,title:`Could not open System Settings`,description:`Open Privacy & Security → Full Disk Access manually.`})})},onClose:()=>y(null)}):null]})}function Wn(){let e=(0,Z.c)(3),t=!be,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-K3Jwfkyd.js.map
@@ -1,2 +1,2 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Af as n,Ax as r,Gn as i,If as a,Sc as o,Wn as s,Yn as c,Zn as l,ha as u,or as d,sr as f,t as p}from"./utils-DmfMX1v5.js";import{t as m}from"./chevron-down-DHV04o66.js";import{t as h}from"./circle-x-C-GXnJRB.js";import{t as g}from"./file-braces-CcggTVd0.js";import{t as _}from"./minus-C7W28oE7.js";import{t as v}from"./plus-Cr075-cy.js";import{t as y}from"./search-Cr9eaeTj.js";import{t as b}from"./triangle-alert-BiHUyRl3.js";import{t as x}from"./x-CSwbgjBe.js";import{L as S,U as C}from"./runtime-BQJQC-Ny.js";import{a as w,n as T,t as E}from"./tooltip-taOyJZax.js";import{a as D,c as O,o as k,s as A,t as j}from"./select-B4VvMEs2.js";import{t as M}from"./useLocation-QINZoaPz.js";import{i as N}from"./toast-CjelgyqV.js";import{f as P}from"./server-BD_Y5Gsn.js";import{i as F,n as I,o as L}from"./session-DsbInyNV.js";import{t as R}from"./use-atom-command-CQHjSXPR.js";import{t as ee}from"./env-wK1YYxA8.js";import{t as z}from"./toggle-B5fidRv0.js";import{t as B}from"./input-Cd_0h7h_.js";import{i as te}from"./keybindings-uYm_vnXl.js";import{i as ne,o as re,t as ie}from"./popover-CKyetthu.js";import{n as V,r as ae,t as oe}from"./input-group-CJ7ZOvDN.js";import{n as se,t as ce}from"./kbd-c17EHIx1.js";import{B as le,U as ue,a as de,i as fe,s as pe}from"./settingsLayout-jP1a50ek.js";import{a as H,c as me,f as he,i as ge,l as _e,m as ve,n as ye,o as be,p as U,r as xe,s as Se,t as Ce,u as we}from"./KeybindingsSettings.logic-7EBA0xLE.js";import{Wa as Te,Xo as Ee,ir as De,rr as Oe}from"./main-BB3F4O6Y.js";var W=r(),G=e(t(),1),K=e(u(),1);function q(e){let t=(0,W.c)(6),{value:n}=e,r,i;if(t[0]!==n){let e=new Map,a=n.split(`+`).map(t=>{let n=e.get(t)??0;return e.set(t,n+1),{part:t,key:n===0?t:`${t}-${n}`}});r=se,i=a.map(ke),t[0]=n,t[1]=r,t[2]=i}else r=t[1],i=t[2];let a;return t[3]!==r||t[4]!==i?(a=(0,K.jsx)(r,{children:i}),t[3]=r,t[4]=i,t[5]=a):a=t[5],a}function ke(e){let{part:t,key:n}=e;return(0,K.jsx)(ce,{children:t===`mod`?navigator.platform.toLowerCase().includes(`mac`)?`⌘`:`Ctrl`:t===`shift`?`⇧`:t===`alt`?navigator.platform.toLowerCase().includes(`mac`)?`⌥`:`Alt`:t===`ctrl`?`⌃`:t.length===1?t.toUpperCase():t},n)}function Ae(e){let t=(0,W.c)(11),{query:n,onChange:r,inputRef:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(V,{children:(0,K.jsx)(y,{"aria-hidden":!0,className:`size-3.5`})}),t[0]=a):a=t[0];let o;t[1]===r?o=t[2]:(o=e=>r(e.currentTarget.value),t[1]=r,t[2]=o);let s;t[3]!==r||t[4]!==n?(s=e=>{e.key===`Escape`&&(e.preventDefault(),n.length>0?r(``):e.currentTarget.blur())},t[3]=r,t[4]=n,t[5]=s):s=t[5];let c;return t[6]!==i||t[7]!==n||t[8]!==o||t[9]!==s?(c=(0,K.jsxs)(oe,{className:`min-w-0 basis-full **:[input]:h-9 sm:basis-0 sm:flex-1 sm:**:[input]:h-8`,children:[a,(0,K.jsx)(ae,{ref:i,type:`search`,value:n,onChange:o,onKeyDown:s,placeholder:`Search keybindings`,"aria-label":`Search keybindings`,size:`sm`})]}),t[6]=i,t[7]=n,t[8]=o,t[9]=s,t[10]=c):c=t[10],c}function je(e,t){return e.type===t?[...je(e.left,t),...je(e.right,t)]:[e]}function J(e,t){let n=e[0];if(n)return e.slice(1).reduce((e,n)=>({type:t,left:e,right:n}),n)}function Me(e){return e.type===`identifier`?{identifier:e.name,negated:!1}:e.type===`not`&&e.node.type===`identifier`?{identifier:e.node.name,negated:!0}:null}function Ne(e,t){let n=Me(e);if(!n)return e;let r={type:`identifier`,name:t};return n.negated?{type:`not`,node:r}:r}function Pe(e,t){let n=Me(e);if(!n)return t?{type:`not`,node:e}:e;let r={type:`identifier`,name:n.identifier};return t?{type:`not`,node:r}:r}function Y(){return{type:`identifier`,name:Ce}}function Fe(e=`and`){return{type:e,left:Y(),right:{type:`not`,node:Y()}}}function Ie(e){let t=(0,W.c)(14),{label:n,focusable:r,className:i,children:a}=e,o=r===void 0||r?0:void 0,s;t[0]===i?s=t[1]:(s=p(`inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-warning outline-none transition-colors hover:bg-warning/10 focus-visible:ring-3 focus-visible:ring-inset focus-visible:ring-warning/25`,i),t[0]=i,t[1]=s);let c;t[2]!==n||t[3]!==o||t[4]!==s?(c=(0,K.jsx)(`span`,{tabIndex:o,"aria-label":n,className:s}),t[2]=n,t[3]=o,t[4]=s,t[5]=c):c=t[5];let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,K.jsx)(b,{className:`size-3.5`}),t[6]=l):l=t[6];let u;t[7]===c?u=t[8]:(u=(0,K.jsx)(w,{render:c,children:l}),t[7]=c,t[8]=u);let d;t[9]===a?d=t[10]:(d=(0,K.jsx)(T,{side:`top`,children:a}),t[9]=a,t[10]=d);let f;return t[11]!==u||t[12]!==d?(f=(0,K.jsxs)(E,{children:[u,d]}),t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function Le(e){let t=(0,W.c)(5),{identifiers:n,focusable:r}=e,i=r===void 0||r;if(n.length===0)return null;let a;t[0]===n?a=t[1]:(a=n.length===1?`Unknown condition: ${n[0]}`:`Unknown conditions: ${n.join(`, `)}`,t[0]=n,t[1]=a);let o=a,s;return t[2]!==i||t[3]!==o?(s=(0,K.jsx)(Ie,{label:o,focusable:i,className:`size-4.5`,children:`P4 Code does not recognize this condition yet. It can still be saved, but it may not match unless the runtime provides it.`}),t[2]=i,t[3]=o,t[4]=s):s=t[4],s}function X(e){let t=(0,W.c)(4),{labels:n}=e;if(n.length===0)return null;let r;t[0]===n?r=t[1]:(r=n.length===1?`Conflicts with ${n[0]}.`:`Conflicts with ${n.slice(0,3).join(`, `)}${n.length>3?`, and more`:``}.`,t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,K.jsxs)(Ie,{label:i,children:[i,` The most recent matching binding wins when both conditions can apply.`]}),t[2]=i,t[3]=a),a}function Re(e){let t=(0,W.c)(25),{value:n,variables:r,unknownIdentifiers:i,onChange:a}=e,o;if(t[0]!==n||t[1]!==r){let e;t[3]===n?e=t[4]:(e=e=>e===n,t[3]=n,t[4]=e),o=r.find(e),t[0]=n,t[1]=r,t[2]=o}else o=t[2];let s=o,c;t[5]!==s||t[6]!==n||t[7]!==r?(c=s||r.some(e=>e===n)?r:[n,...r],t[5]=s,t[6]=n,t[7]=r,t[8]=c):c=t[8];let l=c,u;t[9]===a?u=t[10]:(u=e=>e&&a(e),t[9]=a,t[10]=u);let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(O,{placeholder:`Condition`}),t[11]=d):d=t[11];let f;t[12]===i?f=t[13]:(f=i&&i.length>0?(0,K.jsx)(Le,{identifiers:i,focusable:!1}):null,t[12]=i,t[13]=f);let p;t[14]===f?p=t[15]:(p=(0,K.jsxs)(A,{size:`compact`,className:`min-w-0 flex-1`,children:[d,f]}),t[14]=f,t[15]=p);let m;t[16]===l?m=t[17]:(m=l.map(ze),t[16]=l,t[17]=m);let h;t[18]===m?h=t[19]:(h=(0,K.jsx)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,className:`max-h-72`,children:m}),t[18]=m,t[19]=h);let g;return t[20]!==u||t[21]!==p||t[22]!==h||t[23]!==n?(g=(0,K.jsxs)(j,{value:n,onValueChange:u,children:[p,h]}),t[20]=u,t[21]=p,t[22]=h,t[23]=n,t[24]=g):g=t[24],g}function ze(e){return(0,K.jsx)(D,{value:e,className:`w-full`,children:(0,K.jsx)(`span`,{className:`truncate`,children:e})},e)}function Be(e){let t=(0,W.c)(14),{label:n,className:r,onRemove:i}=e,a;t[0]===r?a=t[1]:(a=p(`size-7`,r),t[0]=r,t[1]=a);let o;t[2]!==n||t[3]!==i||t[4]!==a?(o=(0,K.jsx)(f,{type:`button`,variant:`ghost`,size:`icon-sm`,className:a,"aria-label":n,onClick:i}),t[2]=n,t[3]=i,t[4]=a,t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(_,{"aria-hidden":!0,className:`size-3.5`}),t[6]=s):s=t[6];let c;t[7]===o?c=t[8]:(c=(0,K.jsx)(w,{delay:200,render:o,children:s}),t[7]=o,t[8]=c);let l;t[9]===n?l=t[10]:(l=(0,K.jsx)(T,{side:`top`,children:n}),t[9]=n,t[10]=l);let u;return t[11]!==c||t[12]!==l?(u=(0,K.jsxs)(E,{children:[c,l]}),t[11]=c,t[12]=l,t[13]=u):u=t[13],u}function Z(e){let t=(0,W.c)(81),{node:n,variables:r,depth:i,onChange:a,onRemove:o}=e,s=i===void 0?0:i,c;if(t[0]!==s||t[1]!==n||t[2]!==a||t[3]!==o||t[4]!==r){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Me(n);if(e){let i=Se(e.identifier)?[]:[e.identifier],l;t[6]!==n||t[7]!==a?(l=e=>a(Pe(n,e)),t[6]=n,t[7]=a,t[8]=l):l=t[8];let u=`Negate ${e.identifier}`,d;t[9]!==e||t[10]!==l||t[11]!==u?(d=(0,K.jsx)(z,{pressed:e.negated,onPressedChange:l,"aria-label":u,variant:`outline`,size:`compact`,className:`min-w-10`,children:`Not`}),t[9]=e,t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;t[13]!==n||t[14]!==a?(f=e=>a(Ne(n,e)),t[13]=n,t[14]=a,t[15]=f):f=t[15];let p;t[16]!==e||t[17]!==f||t[18]!==i||t[19]!==r?(p=(0,K.jsx)(Re,{value:e.identifier,variables:r,unknownIdentifiers:i,onChange:f}),t[16]=e,t[17]=f,t[18]=i,t[19]=r,t[20]=p):p=t[20];let m;t[21]!==s||t[22]!==n||t[23]!==o?(m=o?(0,K.jsx)(Be,{label:ve(n,s),onRemove:o}):null,t[21]=s,t[22]=n,t[23]=o,t[24]=m):m=t[24];let h;t[25]!==d||t[26]!==p||t[27]!==m?(h=(0,K.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/70 bg-background/60 px-2 py-2`,children:[d,p,m]}),t[25]=d,t[26]=p,t[27]=m,t[28]=h):h=t[28],c=h;break bb0}}t[0]=s,t[1]=n,t[2]=a,t[3]=o,t[4]=r,t[5]=c}else c=t[5];if(c!==Symbol.for(`react.early_return_sentinel`))return c;if(n.type===`not`){let e=s>0&&`border-border/50 bg-background/50`,i;t[29]===e?i=t[30]:(i=p(`space-y-2 rounded-lg border border-border/70 bg-muted/20 p-2`,e),t[29]=e,t[30]=i);let c;t[31]!==n||t[32]!==a?(c=(0,K.jsx)(z,{pressed:!0,onPressedChange:e=>a(e?n:n.node),"aria-label":`Negate group`,variant:`outline`,size:`compact`,className:`min-w-10`,children:`Not`}),t[31]=n,t[32]=a,t[33]=c):c=t[33];let l;t[34]!==s||t[35]!==n||t[36]!==o?(l=o?(0,K.jsx)(Be,{label:ve(n,s),className:`ml-auto`,onRemove:o}):null,t[34]=s,t[35]=n,t[36]=o,t[37]=l):l=t[37];let u;t[38]!==c||t[39]!==l?(u=(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,l]}),t[38]=c,t[39]=l,t[40]=u):u=t[40];let d,f;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(`span`,{className:`absolute top-0 bottom-0 left-1.5 w-px bg-border/70`,"aria-hidden":!0}),f=(0,K.jsx)(`span`,{className:`absolute top-4 left-1.5 h-px w-2.5 bg-border/70`,"aria-hidden":!0}),t[41]=d,t[42]=f):(d=t[41],f=t[42]);let m=s+1,h;t[43]===a?h=t[44]:(h=e=>a({type:`not`,node:e}),t[43]=a,t[44]=h);let g;t[45]!==n.node||t[46]!==m||t[47]!==h||t[48]!==r?(g=(0,K.jsxs)(`div`,{className:`relative pl-4`,children:[d,f,(0,K.jsx)(Z,{node:n.node,variables:r,depth:m,onChange:h})]}),t[45]=n.node,t[46]=m,t[47]=h,t[48]=r,t[49]=g):g=t[49];let _;return t[50]!==g||t[51]!==i||t[52]!==u?(_=(0,K.jsxs)(`div`,{className:i,children:[u,g]}),t[50]=g,t[51]=i,t[52]=u,t[53]=_):_=t[53],_}let l=n.type===`or`?`or`:`and`,u,d,m,h;if(t[54]!==s||t[55]!==n||t[56]!==a||t[57]!==o||t[58]!==l||t[59]!==r){let e=je(n,l),i=new Map,c=e.map(e=>{let t=`${e.type}-${U(e)}`,n=i.get(t)??0;return i.set(t,n+1),{child:e,key:n===0?t:`${t}-${n}`}}),g=(t,n)=>{let r=!1,i=J(e.map(e=>!r&&e===t?(r=!0,n):e),l);i&&a(i)},_=t=>{let n=!1,r=J(e.filter(e=>!n&&e===t?(n=!0,!1):!0),l);a(r||Y())},y=t=>{if(t===l)return;let n=J(e,t);n&&a(n)},b=()=>{let t=J([...e,Y()],l);t&&a(t)},x=()=>{let t={type:l===`and`?`or`:`and`,left:Y(),right:{type:`not`,node:Y()}},n=J([...e,t],l);n&&a(n)},S=s>0&&`border-border/70 bg-background/55`;t[64]===S?m=t[65]:(m=p(`space-y-2 rounded-lg border border-border/60 bg-muted/10 p-2`,S),t[64]=S,t[65]=m);let C;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,K.jsx)(A,{size:`compact`,className:`w-24`,children:(0,K.jsx)(O,{})}),t[66]=C):C=t[66];let w;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,K.jsxs)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,children:[(0,K.jsx)(D,{value:`and`,children:`and`}),(0,K.jsx)(D,{value:`or`,children:`or`})]}),t[67]=w):w=t[67];let T;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,K.jsx)(v,{className:`size-3.5`}),t[68]=T):T=t[68];let E;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,K.jsx)(v,{className:`size-3.5`}),t[69]=E):E=t[69];let M;t[70]!==s||t[71]!==n||t[72]!==o?(M=o?(0,K.jsx)(Be,{label:ve(n,s),className:`ml-auto`,onRemove:o}):null,t[70]=s,t[71]=n,t[72]=o,t[73]=M):M=t[73],h=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,K.jsxs)(j,{value:l,onValueChange:e=>y(e),children:[C,w]}),(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:b,children:[T,`Condition`]}),(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:x,children:[E,`Group`]}),M]}),u=`space-y-2`,d=c.map(e=>{let{child:t,key:n}=e;return(0,K.jsxs)(`div`,{className:`relative pl-4`,children:[(0,K.jsx)(`span`,{className:p(`absolute top-0 bottom-0 left-1.5 w-px`,s===0?`bg-border`:`bg-border/70`),"aria-hidden":!0}),(0,K.jsx)(`span`,{className:p(`absolute top-4 left-1.5 h-px w-2.5`,s===0?`bg-border`:`bg-border/70`),"aria-hidden":!0}),(0,K.jsx)(Z,{node:t,variables:r,depth:s+1,onChange:e=>g(t,e),onRemove:()=>_(t)})]},n)}),t[54]=s,t[55]=n,t[56]=a,t[57]=o,t[58]=l,t[59]=r,t[60]=u,t[61]=d,t[62]=m,t[63]=h}else u=t[60],d=t[61],m=t[62],h=t[63];let g;t[74]!==u||t[75]!==d?(g=(0,K.jsx)(`div`,{className:u,children:d}),t[74]=u,t[75]=d,t[76]=g):g=t[76];let _;return t[77]!==m||t[78]!==h||t[79]!==g?(_=(0,K.jsxs)(`div`,{className:m,children:[h,g]}),t[77]=m,t[78]=h,t[79]=g,t[80]=_):_=t[80],_}function Ve(e){let t=(0,W.c)(60),{value:n,variables:r,onChange:i,onValidityChange:a}=e,o;t[0]===n?o=t[1]:(o=U(n),t[0]=n,t[1]=o);let[s,c]=(0,G.useState)(o),l;t[2]===s?l=t[3]:(l=we(s),t[2]=s,t[3]=l);let u=l,d=u.ok?null:u.message,p;t[4]!==u.ok||t[5]!==u.value?(p=u.ok?he(u.value):[],t[4]=u.ok,t[5]=u.value,t[6]=p):p=t[6];let m=p,g;t[7]!==i||t[8]!==a?(g=e=>{c(e);let t=we(e);a?.(t.ok),t.ok&&i(t.value)},t[7]=i,t[8]=a,t[9]=g):g=t[9];let _=g,y;t[10]!==i||t[11]!==a?(y=e=>{c(U(e)),a?.(!0),i(e)},t[10]=i,t[11]=a,t[12]=y):y=t[12];let b=y,x;t[13]!==b||t[14]!==n?(x=()=>{if(!n){b(Y());return}b({type:`and`,left:n,right:Y()})},t[13]=b,t[14]=n,t[15]=x):x=t[15];let S=x,C;t[16]!==b||t[17]!==n?(C=()=>{let e=Fe(`or`);if(!n){b(e);return}b({type:`and`,left:n,right:e})},t[16]=b,t[17]=n,t[18]=C):C=t[18];let w=C,T;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,K.jsx)(`div`,{className:`min-w-0`,children:(0,K.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`When`})}),t[19]=T):T=t[19];let E;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,K.jsx)(v,{className:`size-3.5`}),t[20]=E):E=t[20];let D;t[21]===S?D=t[22]:(D=(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:S,children:[E,`Condition`]}),t[21]=S,t[22]=D);let O;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,K.jsx)(v,{className:`size-3.5`}),t[23]=O):O=t[23];let k;t[24]===w?k=t[25]:(k=(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:w,children:[O,`Group`]}),t[24]=w,t[25]=k);let A;t[26]!==D||t[27]!==k?(A=(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[T,(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[D,k]})]}),t[26]=D,t[27]=k,t[28]=A):A=t[28];let j;t[29]===_?j=t[30]:(j=e=>_(e.currentTarget.value),t[29]=_,t[30]=j);let M=!!d,N;t[31]!==s||t[32]!==j||t[33]!==M?(N=(0,K.jsx)(ae,{value:s,onChange:j,placeholder:`Always`,"aria-invalid":M,"aria-label":`When expression`,size:`compact`,font:`mono`}),t[31]=s,t[32]=j,t[33]=M,t[34]=N):N=t[34];let P;t[35]===m?P=t[36]:(P=m.length>0?(0,K.jsx)(V,{align:`inline-end`,children:(0,K.jsx)(Le,{identifiers:m})}):null,t[35]=m,t[36]=P);let F;t[37]!==N||t[38]!==P?(F=(0,K.jsxs)(oe,{children:[N,P]}),t[37]=N,t[38]=P,t[39]=F):F=t[39];let I;t[40]===d?I=t[41]:(I=d?(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 text-2xs text-destructive`,children:[(0,K.jsx)(h,{className:`size-3.5`}),d]}):null,t[40]=d,t[41]=I);let L;t[42]!==F||t[43]!==I?(L=(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[F,I]}),t[42]=F,t[43]=I,t[44]=L):L=t[44];let R;t[45]!==S||t[46]!==w||t[47]!==b||t[48]!==n||t[49]!==r?(R=n?(0,K.jsx)(Z,{node:n,variables:r,onChange:b,onRemove:()=>b(void 0)}):(0,K.jsx)(`div`,{className:`rounded-md border border-dashed border-border/80 bg-muted/15 p-3`,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,K.jsxs)(f,{type:`button`,size:`compact`,onClick:S,children:[(0,K.jsx)(v,{className:`size-3.5`}),`Condition`]}),(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:w,children:[(0,K.jsx)(v,{className:`size-3.5`}),`Group`]})]})}),t[45]=S,t[46]=w,t[47]=b,t[48]=n,t[49]=r,t[50]=R):R=t[50];let ee;t[51]===d?ee=t[52]:(ee=d?(0,K.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center rounded-lg border border-destructive/30 bg-background/75 p-4 text-center text-xs text-destructive backdrop-blur-xs`,children:`Fix the expression above to continue editing visually.`}):null,t[51]=d,t[52]=ee);let z;t[53]!==R||t[54]!==ee?(z=(0,K.jsxs)(`div`,{className:`relative`,children:[R,ee]}),t[53]=R,t[54]=ee,t[55]=z):z=t[55];let B;return t[56]!==A||t[57]!==L||t[58]!==z?(B=(0,K.jsxs)(`div`,{className:`w-[min(34rem,calc(100vw-2rem))] space-y-3`,children:[A,L,z]}),t[56]=A,t[57]=L,t[58]=z,t[59]=B):B=t[59],B}function He(e){return{keyDraft:e.key,whenDraft:e.binding.whenAst,isRecording:!1,isWhenDraftValid:!0}}function Q(e,t){return{...e,...t}}function Ue(e){return{command:e.command,key:e.key,...e.when.trim().length>0?{when:e.when}:{}}}function We(e){let t=(0,W.c)(27),{row:n,allRows:r,onSave:i}=e,[a,o]=(0,G.useReducer)(Q,n,He),{keyDraft:s,whenDraft:c,isRecording:l,isWhenDraftValid:u}=a,d,f,p;t[0]!==r||t[1]!==s||t[2]!==n.id||t[3]!==n.key||t[4]!==n.when||t[5]!==c?(p=U(c),d=s!==n.key||p!==n.when,f=me(r,{rowId:n.id,key:s,when:p}),t[0]=r,t[1]=s,t[2]=n.id,t[3]=n.key,t[4]=n.when,t[5]=c,t[6]=d,t[7]=f,t[8]=p):(d=t[6],f=t[7],p=t[8]);let m=f,h;t[9]!==s||t[10]!==i||t[11]!==n||t[12]!==p?(h=()=>{i({command:n.command,key:s,when:p.trim().length>0?p:void 0,replace:Ue(n)})},t[9]=s,t[10]=i,t[11]=n,t[12]=p,t[13]=h):h=t[13];let g=h,_;t[14]!==l||t[15]!==n.key?(_=e=>{if(e.key===`Tab`&&!l)return;if(e.preventDefault(),e.key===`Escape`){o({keyDraft:n.key,isRecording:!1});return}let t=_e(e.nativeEvent,navigator.platform);t&&o({keyDraft:t,isRecording:!1})},t[14]=l,t[15]=n.key,t[16]=_):_=t[16];let v=_,y;return t[17]!==v||t[18]!==m||t[19]!==d||t[20]!==l||t[21]!==u||t[22]!==s||t[23]!==g||t[24]!==c||t[25]!==p?(y={keyDraft:s,whenDraft:c,isRecording:l,isWhenDraftValid:u,whenDraftExpression:p,isDirty:d,conflictLabels:m,setDraft:o,save:g,captureKeybinding:v},t[17]=v,t[18]=m,t[19]=d,t[20]=l,t[21]=u,t[22]=s,t[23]=g,t[24]=c,t[25]=p,t[26]=y):y=t[26],y}function Ge(e){let t=(0,W.c)(19),{row:n,editor:r,isSaving:i,pillClassName:a}=e,{keyDraft:o,isRecording:s,isDirty:c,isWhenDraftValid:l,setDraft:u,save:d,captureKeybinding:m}=r,h=!s&&o===n.key&&n.key.length>0&&!c,g;t[0]!==c||t[1]!==i||t[2]!==l||t[3]!==o||t[4]!==d?(g=c?(0,K.jsx)(f,{size:`sm`,disabled:i||o.trim().length===0||!l,onClick:d,children:i?`Saving`:`Save`}):null,t[0]=c,t[1]=i,t[2]=l,t[3]=o,t[4]=d,t[5]=g):g=t[5];let _;t[6]!==m||t[7]!==s||t[8]!==o||t[9]!==a||t[10]!==n.binding||t[11]!==n.command||t[12]!==n.key||t[13]!==u||t[14]!==h?(_=h?(0,K.jsx)(`button`,{type:`button`,onClick:()=>u({isRecording:!0}),"aria-label":`Edit shortcut for ${H(n.command)}: ${te(n.binding.shortcut)}`,className:p(`inline-flex h-8 cursor-pointer items-center rounded-md border border-transparent px-1.5 sm:h-7 outline-none transition-colors hover:border-border/70 hover:bg-accent focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-inset focus-visible:ring-ring/24`,a),children:(0,K.jsx)(q,{value:n.key})}):(0,K.jsx)(B,{"data-keybinding-capture":``,autoFocus:s,"aria-label":`Keybinding for ${H(n.command)}`,value:s?``:o,placeholder:s?`Press shortcut`:`Unassigned`,size:`sm`,font:`mono`,className:`w-44`,onFocus:()=>u({isRecording:!0}),onBlur:()=>u({isRecording:!1}),onChange:e=>u({keyDraft:e.currentTarget.value}),onKeyDown:m}),t[6]=m,t[7]=s,t[8]=o,t[9]=a,t[10]=n.binding,t[11]=n.command,t[12]=n.key,t[13]=u,t[14]=h,t[15]=_):_=t[15];let v;return t[16]!==g||t[17]!==_?(v=(0,K.jsxs)(K.Fragment,{children:[g,_]}),t[16]=g,t[17]=_,t[18]=v):v=t[18],v}function $(e){let t=(0,W.c)(17),{label:n,expression:r,value:i,variables:a,onChange:o,onValidityChange:s}=e,c=r?`ghost`:`ghost-muted`,l;t[0]===c?l=t[1]:(l=(0,K.jsx)(f,{variant:c,size:`micro`,className:`min-w-0 shrink`}),t[0]=c,t[1]=l);let u=`Edit when clause for ${n}`,d=r||`Always`,p;t[2]===d?p=t[3]:(p=(0,K.jsx)(`span`,{className:`truncate font-mono`,children:d}),t[2]=d,t[3]=p);let h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,K.jsx)(m,{className:`size-3.5 shrink-0 opacity-60`}),t[4]=h):h=t[4];let g;t[5]!==l||t[6]!==u||t[7]!==p?(g=(0,K.jsxs)(re,{render:l,"aria-label":u,children:[p,h]}),t[5]=l,t[6]=u,t[7]=p,t[8]=g):g=t[8];let _;t[9]!==o||t[10]!==s||t[11]!==i||t[12]!==a?(_=(0,K.jsx)(ne,{align:`start`,sideOffset:6,children:(0,K.jsx)(Ve,{value:i,variables:a,onChange:o,onValidityChange:s})}),t[9]=o,t[10]=s,t[11]=i,t[12]=a,t[13]=_):_=t[13];let v;return t[14]!==g||t[15]!==_?(v=(0,K.jsxs)(ie,{children:[g,_]}),t[14]=g,t[15]=_,t[16]=v):v=t[16],v}function Ke(e){let t=(0,W.c)(24),{row:n,isSaving:r,onReset:a,onRemove:o}=e,s=n.source===`Custom`&&n.defaultKey!==null,u=n.source!==`Default`;if(!s&&!u)return null;let p;t[0]===n.command?p=t[1]:(p=H(n.command),t[0]=n.command,t[1]=p);let m=`Actions for ${p}`,h;t[2]!==r||t[3]!==m?(h=(0,K.jsx)(f,{type:`button`,variant:`ghost-muted`,size:`icon-sm`,disabled:r,"aria-label":m}),t[2]=r,t[3]=m,t[4]=h):h=t[4];let g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,K.jsx)(Ee,{className:`size-3.5`}),t[5]=g):g=t[5];let _;t[6]===h?_=t[7]:(_=(0,K.jsx)(d,{render:h,children:g}),t[6]=h,t[7]=_);let v;t[8]!==s||t[9]!==r||t[10]!==a||t[11]!==n?(v=s?(0,K.jsx)(c,{disabled:r,onClick:()=>a(n),children:`Reset to default`}):null,t[8]=s,t[9]=r,t[10]=a,t[11]=n,t[12]=v):v=t[12];let y;t[13]!==u||t[14]!==r||t[15]!==o||t[16]!==n?(y=u?(0,K.jsx)(c,{variant:`destructive`,disabled:r,onClick:()=>o(n),children:`Remove`}):null,t[13]=u,t[14]=r,t[15]=o,t[16]=n,t[17]=y):y=t[17];let b;t[18]!==v||t[19]!==y?(b=(0,K.jsxs)(l,{align:`end`,children:[v,y]}),t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;return t[21]!==_||t[22]!==b?(x=(0,K.jsxs)(i,{children:[_,b]}),t[21]=_,t[22]=b,t[23]=x):x=t[23],x}function qe(e){let t=(0,W.c)(2),{source:n}=e;if(n===`Default`)return null;let r;return t[0]===n?r=t[1]:(r=(0,K.jsx)(s,{variant:`outline`,size:`sm`,children:n}),t[0]=n,t[1]=r),r}function Je(e){let t=(0,W.c)(13),{row:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,K.jsx)(`span`,{className:`flex items-center gap-2`}),t[0]=r):r=t[0];let i;t[1]===n.command?i=t[2]:(i=H(n.command),t[1]=n.command,t[2]=i);let a;t[3]===n.source?a=t[4]:(a=(0,K.jsx)(qe,{source:n.source}),t[3]=n.source,t[4]=a);let o;t[5]!==i||t[6]!==a?(o=(0,K.jsxs)(w,{render:r,children:[i,a]}),t[5]=i,t[6]=a,t[7]=o):o=t[7];let s;t[8]===n.command?s=t[9]:(s=(0,K.jsx)(T,{side:`top`,children:n.command}),t[8]=n.command,t[9]=s);let c;return t[10]!==o||t[11]!==s?(c=(0,K.jsxs)(E,{children:[o,s]}),t[10]=o,t[11]=s,t[12]=c):c=t[12],c}function Ye(e){let t=(0,W.c)(13),{row:n,editor:r,variables:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(`span`,{className:`text-xs leading-none text-muted-foreground/70`,children:`When`}),t[0]=a):a=t[0];let o;t[1]===n.command?o=t[2]:(o=H(n.command),t[1]=n.command,t[2]=o);let s,c;t[3]===r?(s=t[4],c=t[5]):(s=e=>r.setDraft({whenDraft:e}),c=e=>r.setDraft({isWhenDraftValid:e}),t[3]=r,t[4]=s,t[5]=c);let l;return t[6]!==r.whenDraft||t[7]!==r.whenDraftExpression||t[8]!==o||t[9]!==s||t[10]!==c||t[11]!==i?(l=(0,K.jsxs)(`span`,{className:`flex h-6 items-center gap-1.5`,children:[a,(0,K.jsx)($,{label:o,expression:r.whenDraftExpression,value:r.whenDraft,variables:i,onChange:s,onValidityChange:c})]}),t[6]=r.whenDraft,t[7]=r.whenDraftExpression,t[8]=o,t[9]=s,t[10]=c,t[11]=i,t[12]=l):l=t[12],l}function Xe(e){let t=(0,W.c)(2),n;return t[0]===e?n=t[1]:(n=(0,K.jsx)(`span`,{className:`flex items-center opacity-0 transition-opacity group-focus-within/row:opacity-100 group-hover/row:opacity-100 has-data-popup-open:opacity-100 pointer-coarse:opacity-100`,children:(0,K.jsx)(Ke,{...e})}),t[0]=e,t[1]=n),n}function Ze(e){let t=(0,W.c)(30),{row:n,isSaving:r,anchorId:i,allRows:a,variables:o,onSave:s,onReset:c,onRemove:l}=e,u;t[0]!==a||t[1]!==s||t[2]!==n?(u={row:n,allRows:a,onSave:s},t[0]=a,t[1]=s,t[2]=n,t[3]=u):u=t[3];let d=We(u),f;t[4]===n?f=t[5]:(f=(0,K.jsx)(Je,{row:n}),t[4]=n,t[5]=f);let p;t[6]!==d||t[7]!==n||t[8]!==o?(p=(0,K.jsx)(Ye,{row:n,editor:d,variables:o}),t[6]=d,t[7]=n,t[8]=o,t[9]=p):p=t[9];let m;t[10]===d.conflictLabels?m=t[11]:(m=(0,K.jsx)(X,{labels:d.conflictLabels}),t[10]=d.conflictLabels,t[11]=m);let h;t[12]!==r||t[13]!==l||t[14]!==c||t[15]!==n?(h=(0,K.jsx)(Xe,{row:n,isSaving:r,onReset:c,onRemove:l}),t[12]=r,t[13]=l,t[14]=c,t[15]=n,t[16]=h):h=t[16];let g;t[17]!==d||t[18]!==r||t[19]!==n?(g=(0,K.jsx)(Ge,{row:n,editor:d,isSaving:r,pillClassName:`-mr-1.5`}),t[17]=d,t[18]=r,t[19]=n,t[20]=g):g=t[20];let _;t[21]!==m||t[22]!==h||t[23]!==g?(_=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1.5`,children:[m,h,g]}),t[21]=m,t[22]=h,t[23]=g,t[24]=_):_=t[24];let v;return t[25]!==i||t[26]!==f||t[27]!==p||t[28]!==_?(v=(0,K.jsx)(de,{id:i,className:`group/row rounded-none`,title:f,description:p,control:_}),t[25]=i,t[26]=f,t[27]=p,t[28]=_,t[29]=v):v=t[29],v}function Qe(e){let t=(0,W.c)(30),{allRows:n,onSave:r}=e,[i,a]=(0,G.useState)(``),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={keyDraft:``,whenDraft:void 0,isRecording:!1,isWhenDraftValid:!0},t[0]=o):o=t[0];let[s,c]=(0,G.useReducer)(Q,o),{keyDraft:l,whenDraft:u,isRecording:d,isWhenDraftValid:f}=s,p,m;t[1]!==n||t[2]!==l||t[3]!==u?(m=U(u),p=me(n,{rowId:`new`,key:l,when:m}),t[1]=n,t[2]=l,t[3]=u,t[4]=p,t[5]=m):(p=t[4],m=t[5]);let h=p,g;t[6]===i?g=t[7]:(g=i?H(i):`new keybinding`,t[6]=i,t[7]=g);let _=g,v;t[8]!==i||t[9]!==f||t[10]!==l?(v=!!i&&l.trim().length>0&&f,t[8]=i,t[9]=f,t[10]=l,t[11]=v):v=t[11];let y=v,b;t[12]!==i||t[13]!==l||t[14]!==r||t[15]!==m?(b=()=>{i&&r({command:i,key:l,...m.trim().length>0?{when:m}:{}})},t[12]=i,t[13]=l,t[14]=r,t[15]=m,t[16]=b):b=t[16];let x=b,S;t[17]===d?S=t[18]:(S=e=>{if(e.key===`Tab`&&!d)return;if(e.preventDefault(),e.key===`Escape`){c({keyDraft:``,isRecording:!1});return}let t=_e(e.nativeEvent,navigator.platform);t&&c({keyDraft:t,isRecording:!1})},t[17]=d,t[18]=S);let C=S,w;return t[19]!==y||t[20]!==C||t[21]!==i||t[22]!==_||t[23]!==h||t[24]!==d||t[25]!==l||t[26]!==x||t[27]!==u||t[28]!==m?(w={commandDraft:i,setCommandDraft:a,keyDraft:l,whenDraft:u,whenDraftExpression:m,isRecording:d,conflictLabels:h,commandLabelText:_,canSave:y,setDraft:c,save:x,captureKeybinding:C},t[19]=y,t[20]=C,t[21]=i,t[22]=_,t[23]=h,t[24]=d,t[25]=l,t[26]=x,t[27]=u,t[28]=m,t[29]=w):w=t[29],w}function $e(e){let t=(0,W.c)(14),{draft:n,commandOptions:r,className:i}=e,a=n.commandDraft,o;t[0]===n?o=t[1]:(o=e=>n.setCommandDraft(e),t[0]=n,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(O,{placeholder:`Command`}),t[2]=s):s=t[2];let c;t[3]===i?c=t[4]:(c=(0,K.jsx)(A,{size:`sm`,className:i,children:s}),t[3]=i,t[4]=c);let l;t[5]===r?l=t[6]:(l=r.map(et),t[5]=r,t[6]=l);let u;t[7]===l?u=t[8]:(u=(0,K.jsx)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,className:`max-h-72`,children:l}),t[7]=l,t[8]=u);let d;return t[9]!==n.commandDraft||t[10]!==o||t[11]!==c||t[12]!==u?(d=(0,K.jsxs)(j,{value:a,onValueChange:o,children:[c,u]}),t[9]=n.commandDraft,t[10]=o,t[11]=c,t[12]=u,t[13]=d):d=t[13],d}function et(e){return(0,K.jsx)(D,{value:e,className:`w-full`,children:(0,K.jsx)(`span`,{className:`truncate`,children:H(e)})},e)}function tt(e){let t=(0,W.c)(14),{draft:n,autoFocus:r,className:i}=e,a=r!==void 0&&r,o=`Keybinding for ${n.commandLabelText}`,s=n.isRecording?``:n.keyDraft,c=n.isRecording?`Press shortcut`:`Unassigned`,l,u,d;t[0]===n?(l=t[1],u=t[2],d=t[3]):(l=()=>n.setDraft({isRecording:!0}),u=()=>n.setDraft({isRecording:!1}),d=e=>n.setDraft({keyDraft:e.currentTarget.value}),t[0]=n,t[1]=l,t[2]=u,t[3]=d);let f;return t[4]!==a||t[5]!==i||t[6]!==n.captureKeybinding||t[7]!==o||t[8]!==s||t[9]!==c||t[10]!==l||t[11]!==u||t[12]!==d?(f=(0,K.jsx)(B,{"data-keybinding-capture":``,autoFocus:a,"aria-label":o,value:s,placeholder:c,size:`sm`,font:`mono`,className:i,onFocus:l,onBlur:u,onChange:d,onKeyDown:n.captureKeybinding}),t[4]=a,t[5]=i,t[6]=n.captureKeybinding,t[7]=o,t[8]=s,t[9]=c,t[10]=l,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function nt(e){let t=(0,W.c)(10),{draft:n,variables:r}=e,i,a;t[0]===n?(i=t[1],a=t[2]):(i=e=>n.setDraft({whenDraft:e}),a=e=>n.setDraft({isWhenDraftValid:e}),t[0]=n,t[1]=i,t[2]=a);let o;return t[3]!==n.commandLabelText||t[4]!==n.whenDraft||t[5]!==n.whenDraftExpression||t[6]!==i||t[7]!==a||t[8]!==r?(o=(0,K.jsx)($,{label:n.commandLabelText,expression:n.whenDraftExpression,value:n.whenDraft,variables:r,onChange:i,onValidityChange:a}),t[3]=n.commandLabelText,t[4]=n.whenDraft,t[5]=n.whenDraftExpression,t[6]=i,t[7]=a,t[8]=r,t[9]=o):o=t[9],o}function rt(e){let t=(0,W.c)(9),{isSaving:n,onCancel:r}=e,i;t[0]!==n||t[1]!==r?(i=(0,K.jsx)(f,{type:`button`,variant:`ghost-muted`,size:`icon-sm`,disabled:n,"aria-label":`Cancel new keybinding`,onClick:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(x,{className:`size-3.5`}),t[3]=a):a=t[3];let o;t[4]===i?o=t[5]:(o=(0,K.jsx)(w,{render:i,children:a}),t[4]=i,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(T,{side:`top`,children:`Cancel`}),t[6]=s):s=t[6];let c;return t[7]===o?c=t[8]:(c=(0,K.jsxs)(E,{children:[o,s]}),t[7]=o,t[8]=c),c}function it(e){let t=(0,W.c)(30),{commandOptions:n,allRows:r,variables:i,isSaving:a,onSave:o,onCancel:s}=e,c;t[0]!==r||t[1]!==o?(c={allRows:r,onSave:o},t[0]=r,t[1]=o,t[2]=c):c=t[2];let l=Qe(c),u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,K.jsx)(`span`,{className:`text-xs leading-none text-muted-foreground/70`,children:`When`}),t[3]=u):u=t[3];let d;t[4]!==l||t[5]!==i?(d=(0,K.jsxs)(`span`,{className:`flex h-6 items-center gap-1.5`,children:[u,(0,K.jsx)(nt,{draft:l,variables:i})]}),t[4]=l,t[5]=i,t[6]=d):d=t[6];let p;t[7]!==n||t[8]!==l?(p=(0,K.jsx)($e,{draft:l,commandOptions:n,className:`w-56`}),t[7]=n,t[8]=l,t[9]=p):p=t[9];let m;t[10]===l.conflictLabels?m=t[11]:(m=(0,K.jsx)(X,{labels:l.conflictLabels}),t[10]=l.conflictLabels,t[11]=m);let h;t[12]===l?h=t[13]:(h=(0,K.jsx)(tt,{draft:l,className:`w-44`}),t[12]=l,t[13]=h);let g=a||!l.canSave,_=a?`Saving`:`Save`,v;t[14]!==l.save||t[15]!==g||t[16]!==_?(v=(0,K.jsx)(f,{size:`sm`,disabled:g,onClick:l.save,children:_}),t[14]=l.save,t[15]=g,t[16]=_,t[17]=v):v=t[17];let y;t[18]!==a||t[19]!==s?(y=(0,K.jsx)(rt,{isSaving:a,onCancel:s}),t[18]=a,t[19]=s,t[20]=y):y=t[20];let b;t[21]!==p||t[22]!==m||t[23]!==h||t[24]!==v||t[25]!==y?(b=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[p,m,h,v,y]}),t[21]=p,t[22]=m,t[23]=h,t[24]=v,t[25]=y,t[26]=b):b=t[26];let x;return t[27]!==b||t[28]!==d?(x=(0,K.jsx)(de,{className:`bg-muted/15`,title:`New keybinding`,description:d,control:b}),t[27]=b,t[28]=d,t[29]=x):x=t[29],x}function at(e){let{groups:t,anchorIds:n,savingCommand:r,...i}=e;return t.map(e=>(0,K.jsx)(pe,{id:`keybindings-${e.id}`,title:e.title,children:e.rows.map(e=>(0,K.jsx)(Ze,{row:e,anchorId:n.get(e.id),isSaving:r===e.command,...i},e.id))},e.id))}function ot(){let e=(0,W.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,K.jsxs)(E,{children:[(0,K.jsx)(w,{delay:200,render:(0,K.jsx)(f,{size:`icon-micro`,variant:`ghost-muted`,"aria-label":`The browser may claim some shortcuts first. The desktop app receives them all.`,children:(0,K.jsx)(b,{className:`size-3.5 text-warning`})})}),(0,K.jsx)(T,{side:`top`,className:`max-w-72`,children:`The browser may claim some shortcuts first. The desktop app receives them all.`})]}),e[0]=t):t=e[0],t}function st(){let e=(0,W.c)(83),{environment:t,connectedEnvironments:r}=le(),i=F(t?.environmentId??null,n),s=L(r,a),c;e[0]!==r||e[1]!==s?(c=r.length>0&&r.every(e=>s.has(e.environmentId)),e[0]=r,e[1]=s,e[2]=c):c=e[2];let l=c,u=t?.serverConfig?.keybindings,d;e[3]===u?d=e[4]:(d=u??[],e[3]=u,e[4]=d);let p;e[5]===d?p=e[6]:(p=o(d),e[5]=d,e[6]=p);let m=p,h=t?.serverConfig?.keybindingsConfigPath??null,_;e[7]===t?.serverConfig?.availableEditors?_=e[8]:(_=t?.serverConfig?.availableEditors??[],e[7]=t?.serverConfig?.availableEditors,e[8]=_);let y=_,b;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(b={reportFailure:!1},e[9]=b):b=e[9];let x=R(P.upsertKeybinding,b),D;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(D={reportFailure:!1},e[10]=D):D=e[10];let O=R(P.removeKeybinding,D),k=Te(t?.environmentId??null,y),[A,j]=(0,G.useState)(``),z=(0,G.useRef)(null),[B,te]=(0,G.useState)(null),[ne,re]=(0,G.useState)(!1),ie;e[11]!==m||e[12]!==A?(ie=xe(m,A),e[11]=m,e[12]=A,e[13]=ie):ie=e[13];let V=ie,ae;e[14]===V?ae=e[15]:(ae=be(V),e[14]=V,e[15]=ae);let oe=ae,se;if(e[16]!==V){se=new Map;let t=new Set;for(let e of V)t.has(e.command)||(t.add(e.command),se.set(e.id,Oe(e.command)));e[16]=V,e[17]=se}else se=e[17];let ce=se,de;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(de={select:ft},e[18]=de):de=e[18];let H=M(de),[me,he]=(0,G.useState)(H);H!==me&&(he(H),H.startsWith(`keybinding-`)&&j(``));let _e;e[19]===m?_e=e[20]:(_e=ye(m),e[19]=m,e[20]=_e);let ve=_e,U;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(U=ge(),e[21]=U):U=e[21];let Se=U,Ce;e[22]!==h||e[23]!==k||e[24]!==t?(Ce=()=>{h&&t&&I(t.environmentId,`orchestration:operate`)&&(async()=>{let e=await k(h);if(e._tag===`Success`||S(e))return;let t=C(e);N.add({title:`Unable to open keybindings file`,description:t instanceof Error?t.message:`The keybindings file was not opened.`,type:`error`})})()},e[22]=h,e[23]=k,e[24]=t,e[25]=Ce):Ce=e[25];let we=Ce,Ee;e[26]!==r||e[27]!==t||e[28]!==x?(Ee=e=>{if(!t||!r.every(dt))return;te(e.command);let n={command:e.command,key:e.key.trim(),...e.when?.trim()?{when:e.when.trim()}:{},...e.replace?{replace:e.replace}:{}};(async()=>{let e=await Promise.all(r.map(e=>x({environmentId:e.environmentId,input:n})));te(null);let t=e.find(ut);if(!t){re(!1);return}if(!S(t)){let e=C(t);N.add({title:`Unable to save keybinding`,description:e instanceof Error?e.message:`The keybinding was not saved.`,type:`error`})}})()},e[26]=r,e[27]=t,e[28]=x,e[29]=Ee):Ee=e[29];let q=Ee,ke;e[30]!==r||e[31]!==t||e[32]!==O?(ke=e=>{t&&r.every(lt)&&(te(e.command),(async()=>{let t=await Promise.all(r.map(t=>O({environmentId:t.environmentId,input:Ue(e)})));te(null);let n=t.find(ct)??t[0];if(n?._tag===`Failure`&&!S(n)){let e=C(n);N.add({title:`Unable to remove keybinding`,description:e instanceof Error?e.message:`The keybinding was not removed.`,type:`error`})}})())},e[30]=r,e[31]=t,e[32]=O,e[33]=ke):ke=e[33];let je=ke,J;e[34]===q?J=e[35]:(J=e=>{e.defaultKey&&q({command:e.command,key:e.defaultKey,when:e.defaultWhen.trim().length>0?e.defaultWhen:void 0,replace:{command:e.command,key:e.key,...e.when.trim().length>0?{when:e.when}:{}}})},e[34]=q,e[35]=J);let Me=J,Ne;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=()=>re(!1),e[36]=Ne):Ne=e[36];let Pe=Ne,Y;e[37]!==je||e[38]!==Me||e[39]!==V||e[40]!==q?(Y={allRows:V,variables:Se,onSave:q,onReset:Me,onRemove:je},e[37]=je,e[38]=Me,e[39]=V,e[40]=q,e[41]=Y):Y=e[41];let Fe=Y,Ie,Le;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=De(`keybindings`),Le=ee?null:(0,K.jsx)(ot,{}),e[42]=Ie,e[43]=Le):(Ie=e[42],Le=e[43]);let X;e[44]===A?X=e[45]:(X=(0,K.jsx)(Ae,{query:A,onChange:j,inputRef:z}),e[44]=A,e[45]=X);let Re=ne||!l,ze,Be;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(ze=()=>re(!0),Be=(0,K.jsx)(v,{"aria-hidden":!0,className:`size-4`}),e[46]=ze,e[47]=Be):(ze=e[46],Be=e[47]);let Z;e[48]===Re?Z=e[49]:(Z=(0,K.jsxs)(f,{type:`button`,variant:`outline`,disabled:Re,onClick:ze,children:[Be,`Add keybinding`]}),e[48]=Re,e[49]=Z);let Ve=!h||!i,He;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,K.jsx)(g,{"aria-hidden":!0,className:`size-4`}),e[50]=He):He=e[50];let Q;e[51]!==we||e[52]!==Ve?(Q=(0,K.jsx)(w,{render:(0,K.jsx)(f,{type:`button`,variant:`outline`,size:`icon`,disabled:Ve,onClick:we,"aria-label":`Open keybindings.json`,children:He})}),e[51]=we,e[52]=Ve,e[53]=Q):Q=e[53];let We;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,K.jsx)(T,{side:`top`,children:`Open keybindings.json`}),e[54]=We):We=e[54];let Ge;e[55]===Q?Ge=e[56]:(Ge=(0,K.jsxs)(E,{children:[Q,We]}),e[55]=Q,e[56]=Ge);let $;e[57]!==X||e[58]!==Z||e[59]!==Ge?($=(0,K.jsx)(pe,{...Ie,headerAction:Le,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 px-3 py-3 sm:px-4`,children:[X,Z,Ge]})}),e[57]=X,e[58]=Z,e[59]=Ge,e[60]=$):$=e[60];let Ke;e[61]!==l||e[62]!==r?(Ke=l?null:(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:r.length===0?`Connect an environment to change keybindings.`:`This connection can view keybindings but cannot change them.`}),e[61]=l,e[62]=r,e[63]=Ke):Ke=e[63];let qe=!l,Je;e[64]!==ve||e[65]!==ne||e[66]!==V||e[67]!==q||e[68]!==B?(Je=ne?(0,K.jsx)(ue,{children:(0,K.jsx)(it,{commandOptions:ve,allRows:V,variables:Se,isSaving:B!==null,onSave:q,onCancel:Pe})}):null,e[64]=ve,e[65]=ne,e[66]=V,e[67]=q,e[68]=B,e[69]=Je):Je=e[69];let Ye;e[70]!==ce||e[71]!==oe||e[72]!==Fe||e[73]!==B?(Ye=oe.length>0?(0,K.jsx)(at,{groups:oe,anchorIds:ce,savingCommand:B,...Fe}):(0,K.jsx)(ue,{children:(0,K.jsx)(`div`,{className:`px-4 py-12 text-center text-sm text-muted-foreground`,children:`No keybindings match your search.`})}),e[70]=ce,e[71]=oe,e[72]=Fe,e[73]=B,e[74]=Ye):Ye=e[74];let Xe;e[75]!==qe||e[76]!==Je||e[77]!==Ye?(Xe=(0,K.jsxs)(`div`,{inert:qe,className:`flex flex-col gap-8`,children:[Je,Ye]}),e[75]=qe,e[76]=Je,e[77]=Ye,e[78]=Xe):Xe=e[78];let Ze;return e[79]!==$||e[80]!==Ke||e[81]!==Xe?(Ze=(0,K.jsxs)(fe,{children:[$,Ke,Xe]}),e[79]=$,e[80]=Ke,e[81]=Xe,e[82]=Ze):Ze=e[82],Ze}function ct(e){return e._tag===`Failure`}function lt(e){return I(e.environmentId,a)}function ut(e){return e._tag===`Failure`}function dt(e){return I(e.environmentId,a)}function ft(e){return e.hash.replace(/^#/,``)}var pt=st;export{pt as component};
2
- //# sourceMappingURL=settings.keybindings-DfFrYXxY.js.map
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Gn as n,Lf as r,Sc as i,Wn as a,Yn as o,Zn as s,ha as c,jf as l,jx as u,or as d,sr as f,t as p}from"./utils-BxISc9RR.js";import{t as m}from"./chevron-down-DHV04o66.js";import{t as h}from"./circle-x-C-GXnJRB.js";import{t as g}from"./file-braces-CcggTVd0.js";import{t as _}from"./minus-C7W28oE7.js";import{t as v}from"./plus-Cr075-cy.js";import{t as y}from"./search-Cr9eaeTj.js";import{t as b}from"./triangle-alert-BiHUyRl3.js";import{t as x}from"./x-CSwbgjBe.js";import{L as S,U as C}from"./runtime-DkYxB4ri.js";import{a as w,n as T,t as E}from"./tooltip-B0rhqi5b.js";import{a as D,c as O,o as k,s as A,t as j}from"./select-CjGEfXy_.js";import{t as M}from"./useLocation-BN5q7LjL.js";import{i as N}from"./toast-BX9uiMAh.js";import{f as P}from"./server-BYntb2dN.js";import{i as F,n as I,o as L}from"./session-eLrubJEW.js";import{t as R}from"./use-atom-command-RgcuqzP9.js";import{t as ee}from"./env-wK1YYxA8.js";import{t as z}from"./toggle-fk33ppsB.js";import{t as B}from"./input-DaCwubQj.js";import{i as te}from"./keybindings-QrjnJ5jB.js";import{i as ne,o as re,t as ie}from"./popover-BXin7C0B.js";import{n as V,r as ae,t as oe}from"./input-group-DJwXFHGO.js";import{n as se,t as ce}from"./kbd-R3wkAau0.js";import{B as le,U as ue,a as de,i as fe,s as pe}from"./settingsLayout-DV36_Jgq.js";import{a as H,c as me,f as he,i as ge,l as _e,m as ve,n as ye,o as be,p as U,r as xe,s as Se,t as Ce,u as we}from"./KeybindingsSettings.logic-BcJGxVhV.js";import{Qo as Te,Wa as Ee,ir as De,rr as Oe}from"./main-uLg3xUJM.js";var W=u(),G=e(t(),1),K=e(c(),1);function q(e){let t=(0,W.c)(6),{value:n}=e,r,i;if(t[0]!==n){let e=new Map,a=n.split(`+`).map(t=>{let n=e.get(t)??0;return e.set(t,n+1),{part:t,key:n===0?t:`${t}-${n}`}});r=se,i=a.map(ke),t[0]=n,t[1]=r,t[2]=i}else r=t[1],i=t[2];let a;return t[3]!==r||t[4]!==i?(a=(0,K.jsx)(r,{children:i}),t[3]=r,t[4]=i,t[5]=a):a=t[5],a}function ke(e){let{part:t,key:n}=e;return(0,K.jsx)(ce,{children:t===`mod`?navigator.platform.toLowerCase().includes(`mac`)?`⌘`:`Ctrl`:t===`shift`?`⇧`:t===`alt`?navigator.platform.toLowerCase().includes(`mac`)?`⌥`:`Alt`:t===`ctrl`?`⌃`:t.length===1?t.toUpperCase():t},n)}function Ae(e){let t=(0,W.c)(11),{query:n,onChange:r,inputRef:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(V,{children:(0,K.jsx)(y,{"aria-hidden":!0,className:`size-3.5`})}),t[0]=a):a=t[0];let o;t[1]===r?o=t[2]:(o=e=>r(e.currentTarget.value),t[1]=r,t[2]=o);let s;t[3]!==r||t[4]!==n?(s=e=>{e.key===`Escape`&&(e.preventDefault(),n.length>0?r(``):e.currentTarget.blur())},t[3]=r,t[4]=n,t[5]=s):s=t[5];let c;return t[6]!==i||t[7]!==n||t[8]!==o||t[9]!==s?(c=(0,K.jsxs)(oe,{className:`min-w-0 basis-full **:[input]:h-9 sm:basis-0 sm:flex-1 sm:**:[input]:h-8`,children:[a,(0,K.jsx)(ae,{ref:i,type:`search`,value:n,onChange:o,onKeyDown:s,placeholder:`Search keybindings`,"aria-label":`Search keybindings`,size:`sm`})]}),t[6]=i,t[7]=n,t[8]=o,t[9]=s,t[10]=c):c=t[10],c}function je(e,t){return e.type===t?[...je(e.left,t),...je(e.right,t)]:[e]}function J(e,t){let n=e[0];if(n)return e.slice(1).reduce((e,n)=>({type:t,left:e,right:n}),n)}function Me(e){return e.type===`identifier`?{identifier:e.name,negated:!1}:e.type===`not`&&e.node.type===`identifier`?{identifier:e.node.name,negated:!0}:null}function Ne(e,t){let n=Me(e);if(!n)return e;let r={type:`identifier`,name:t};return n.negated?{type:`not`,node:r}:r}function Pe(e,t){let n=Me(e);if(!n)return t?{type:`not`,node:e}:e;let r={type:`identifier`,name:n.identifier};return t?{type:`not`,node:r}:r}function Y(){return{type:`identifier`,name:Ce}}function Fe(e=`and`){return{type:e,left:Y(),right:{type:`not`,node:Y()}}}function Ie(e){let t=(0,W.c)(14),{label:n,focusable:r,className:i,children:a}=e,o=r===void 0||r?0:void 0,s;t[0]===i?s=t[1]:(s=p(`inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-warning outline-none transition-colors hover:bg-warning/10 focus-visible:ring-3 focus-visible:ring-inset focus-visible:ring-warning/25`,i),t[0]=i,t[1]=s);let c;t[2]!==n||t[3]!==o||t[4]!==s?(c=(0,K.jsx)(`span`,{tabIndex:o,"aria-label":n,className:s}),t[2]=n,t[3]=o,t[4]=s,t[5]=c):c=t[5];let l;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,K.jsx)(b,{className:`size-3.5`}),t[6]=l):l=t[6];let u;t[7]===c?u=t[8]:(u=(0,K.jsx)(w,{render:c,children:l}),t[7]=c,t[8]=u);let d;t[9]===a?d=t[10]:(d=(0,K.jsx)(T,{side:`top`,children:a}),t[9]=a,t[10]=d);let f;return t[11]!==u||t[12]!==d?(f=(0,K.jsxs)(E,{children:[u,d]}),t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function Le(e){let t=(0,W.c)(5),{identifiers:n,focusable:r}=e,i=r===void 0||r;if(n.length===0)return null;let a;t[0]===n?a=t[1]:(a=n.length===1?`Unknown condition: ${n[0]}`:`Unknown conditions: ${n.join(`, `)}`,t[0]=n,t[1]=a);let o=a,s;return t[2]!==i||t[3]!==o?(s=(0,K.jsx)(Ie,{label:o,focusable:i,className:`size-4.5`,children:`P4 Code does not recognize this condition yet. It can still be saved, but it may not match unless the runtime provides it.`}),t[2]=i,t[3]=o,t[4]=s):s=t[4],s}function X(e){let t=(0,W.c)(4),{labels:n}=e;if(n.length===0)return null;let r;t[0]===n?r=t[1]:(r=n.length===1?`Conflicts with ${n[0]}.`:`Conflicts with ${n.slice(0,3).join(`, `)}${n.length>3?`, and more`:``}.`,t[0]=n,t[1]=r);let i=r,a;return t[2]===i?a=t[3]:(a=(0,K.jsxs)(Ie,{label:i,children:[i,` The most recent matching binding wins when both conditions can apply.`]}),t[2]=i,t[3]=a),a}function Re(e){let t=(0,W.c)(25),{value:n,variables:r,unknownIdentifiers:i,onChange:a}=e,o;if(t[0]!==n||t[1]!==r){let e;t[3]===n?e=t[4]:(e=e=>e===n,t[3]=n,t[4]=e),o=r.find(e),t[0]=n,t[1]=r,t[2]=o}else o=t[2];let s=o,c;t[5]!==s||t[6]!==n||t[7]!==r?(c=s||r.some(e=>e===n)?r:[n,...r],t[5]=s,t[6]=n,t[7]=r,t[8]=c):c=t[8];let l=c,u;t[9]===a?u=t[10]:(u=e=>e&&a(e),t[9]=a,t[10]=u);let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(O,{placeholder:`Condition`}),t[11]=d):d=t[11];let f;t[12]===i?f=t[13]:(f=i&&i.length>0?(0,K.jsx)(Le,{identifiers:i,focusable:!1}):null,t[12]=i,t[13]=f);let p;t[14]===f?p=t[15]:(p=(0,K.jsxs)(A,{size:`compact`,className:`min-w-0 flex-1`,children:[d,f]}),t[14]=f,t[15]=p);let m;t[16]===l?m=t[17]:(m=l.map(ze),t[16]=l,t[17]=m);let h;t[18]===m?h=t[19]:(h=(0,K.jsx)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,className:`max-h-72`,children:m}),t[18]=m,t[19]=h);let g;return t[20]!==u||t[21]!==p||t[22]!==h||t[23]!==n?(g=(0,K.jsxs)(j,{value:n,onValueChange:u,children:[p,h]}),t[20]=u,t[21]=p,t[22]=h,t[23]=n,t[24]=g):g=t[24],g}function ze(e){return(0,K.jsx)(D,{value:e,className:`w-full`,children:(0,K.jsx)(`span`,{className:`truncate`,children:e})},e)}function Be(e){let t=(0,W.c)(14),{label:n,className:r,onRemove:i}=e,a;t[0]===r?a=t[1]:(a=p(`size-7`,r),t[0]=r,t[1]=a);let o;t[2]!==n||t[3]!==i||t[4]!==a?(o=(0,K.jsx)(f,{type:`button`,variant:`ghost`,size:`icon-sm`,className:a,"aria-label":n,onClick:i}),t[2]=n,t[3]=i,t[4]=a,t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(_,{"aria-hidden":!0,className:`size-3.5`}),t[6]=s):s=t[6];let c;t[7]===o?c=t[8]:(c=(0,K.jsx)(w,{delay:200,render:o,children:s}),t[7]=o,t[8]=c);let l;t[9]===n?l=t[10]:(l=(0,K.jsx)(T,{side:`top`,children:n}),t[9]=n,t[10]=l);let u;return t[11]!==c||t[12]!==l?(u=(0,K.jsxs)(E,{children:[c,l]}),t[11]=c,t[12]=l,t[13]=u):u=t[13],u}function Z(e){let t=(0,W.c)(81),{node:n,variables:r,depth:i,onChange:a,onRemove:o}=e,s=i===void 0?0:i,c;if(t[0]!==s||t[1]!==n||t[2]!==a||t[3]!==o||t[4]!==r){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Me(n);if(e){let i=Se(e.identifier)?[]:[e.identifier],l;t[6]!==n||t[7]!==a?(l=e=>a(Pe(n,e)),t[6]=n,t[7]=a,t[8]=l):l=t[8];let u=`Negate ${e.identifier}`,d;t[9]!==e||t[10]!==l||t[11]!==u?(d=(0,K.jsx)(z,{pressed:e.negated,onPressedChange:l,"aria-label":u,variant:`outline`,size:`compact`,className:`min-w-10`,children:`Not`}),t[9]=e,t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;t[13]!==n||t[14]!==a?(f=e=>a(Ne(n,e)),t[13]=n,t[14]=a,t[15]=f):f=t[15];let p;t[16]!==e||t[17]!==f||t[18]!==i||t[19]!==r?(p=(0,K.jsx)(Re,{value:e.identifier,variables:r,unknownIdentifiers:i,onChange:f}),t[16]=e,t[17]=f,t[18]=i,t[19]=r,t[20]=p):p=t[20];let m;t[21]!==s||t[22]!==n||t[23]!==o?(m=o?(0,K.jsx)(Be,{label:ve(n,s),onRemove:o}):null,t[21]=s,t[22]=n,t[23]=o,t[24]=m):m=t[24];let h;t[25]!==d||t[26]!==p||t[27]!==m?(h=(0,K.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border/70 bg-background/60 px-2 py-2`,children:[d,p,m]}),t[25]=d,t[26]=p,t[27]=m,t[28]=h):h=t[28],c=h;break bb0}}t[0]=s,t[1]=n,t[2]=a,t[3]=o,t[4]=r,t[5]=c}else c=t[5];if(c!==Symbol.for(`react.early_return_sentinel`))return c;if(n.type===`not`){let e=s>0&&`border-border/50 bg-background/50`,i;t[29]===e?i=t[30]:(i=p(`space-y-2 rounded-lg border border-border/70 bg-muted/20 p-2`,e),t[29]=e,t[30]=i);let c;t[31]!==n||t[32]!==a?(c=(0,K.jsx)(z,{pressed:!0,onPressedChange:e=>a(e?n:n.node),"aria-label":`Negate group`,variant:`outline`,size:`compact`,className:`min-w-10`,children:`Not`}),t[31]=n,t[32]=a,t[33]=c):c=t[33];let l;t[34]!==s||t[35]!==n||t[36]!==o?(l=o?(0,K.jsx)(Be,{label:ve(n,s),className:`ml-auto`,onRemove:o}):null,t[34]=s,t[35]=n,t[36]=o,t[37]=l):l=t[37];let u;t[38]!==c||t[39]!==l?(u=(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,l]}),t[38]=c,t[39]=l,t[40]=u):u=t[40];let d,f;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(`span`,{className:`absolute top-0 bottom-0 left-1.5 w-px bg-border/70`,"aria-hidden":!0}),f=(0,K.jsx)(`span`,{className:`absolute top-4 left-1.5 h-px w-2.5 bg-border/70`,"aria-hidden":!0}),t[41]=d,t[42]=f):(d=t[41],f=t[42]);let m=s+1,h;t[43]===a?h=t[44]:(h=e=>a({type:`not`,node:e}),t[43]=a,t[44]=h);let g;t[45]!==n.node||t[46]!==m||t[47]!==h||t[48]!==r?(g=(0,K.jsxs)(`div`,{className:`relative pl-4`,children:[d,f,(0,K.jsx)(Z,{node:n.node,variables:r,depth:m,onChange:h})]}),t[45]=n.node,t[46]=m,t[47]=h,t[48]=r,t[49]=g):g=t[49];let _;return t[50]!==g||t[51]!==i||t[52]!==u?(_=(0,K.jsxs)(`div`,{className:i,children:[u,g]}),t[50]=g,t[51]=i,t[52]=u,t[53]=_):_=t[53],_}let l=n.type===`or`?`or`:`and`,u,d,m,h;if(t[54]!==s||t[55]!==n||t[56]!==a||t[57]!==o||t[58]!==l||t[59]!==r){let e=je(n,l),i=new Map,c=e.map(e=>{let t=`${e.type}-${U(e)}`,n=i.get(t)??0;return i.set(t,n+1),{child:e,key:n===0?t:`${t}-${n}`}}),g=(t,n)=>{let r=!1,i=J(e.map(e=>!r&&e===t?(r=!0,n):e),l);i&&a(i)},_=t=>{let n=!1,r=J(e.filter(e=>!n&&e===t?(n=!0,!1):!0),l);a(r||Y())},y=t=>{if(t===l)return;let n=J(e,t);n&&a(n)},b=()=>{let t=J([...e,Y()],l);t&&a(t)},x=()=>{let t={type:l===`and`?`or`:`and`,left:Y(),right:{type:`not`,node:Y()}},n=J([...e,t],l);n&&a(n)},S=s>0&&`border-border/70 bg-background/55`;t[64]===S?m=t[65]:(m=p(`space-y-2 rounded-lg border border-border/60 bg-muted/10 p-2`,S),t[64]=S,t[65]=m);let C;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,K.jsx)(A,{size:`compact`,className:`w-24`,children:(0,K.jsx)(O,{})}),t[66]=C):C=t[66];let w;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,K.jsxs)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,children:[(0,K.jsx)(D,{value:`and`,children:`and`}),(0,K.jsx)(D,{value:`or`,children:`or`})]}),t[67]=w):w=t[67];let T;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,K.jsx)(v,{className:`size-3.5`}),t[68]=T):T=t[68];let E;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,K.jsx)(v,{className:`size-3.5`}),t[69]=E):E=t[69];let M;t[70]!==s||t[71]!==n||t[72]!==o?(M=o?(0,K.jsx)(Be,{label:ve(n,s),className:`ml-auto`,onRemove:o}):null,t[70]=s,t[71]=n,t[72]=o,t[73]=M):M=t[73],h=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,K.jsxs)(j,{value:l,onValueChange:e=>y(e),children:[C,w]}),(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:b,children:[T,`Condition`]}),(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:x,children:[E,`Group`]}),M]}),u=`space-y-2`,d=c.map(e=>{let{child:t,key:n}=e;return(0,K.jsxs)(`div`,{className:`relative pl-4`,children:[(0,K.jsx)(`span`,{className:p(`absolute top-0 bottom-0 left-1.5 w-px`,s===0?`bg-border`:`bg-border/70`),"aria-hidden":!0}),(0,K.jsx)(`span`,{className:p(`absolute top-4 left-1.5 h-px w-2.5`,s===0?`bg-border`:`bg-border/70`),"aria-hidden":!0}),(0,K.jsx)(Z,{node:t,variables:r,depth:s+1,onChange:e=>g(t,e),onRemove:()=>_(t)})]},n)}),t[54]=s,t[55]=n,t[56]=a,t[57]=o,t[58]=l,t[59]=r,t[60]=u,t[61]=d,t[62]=m,t[63]=h}else u=t[60],d=t[61],m=t[62],h=t[63];let g;t[74]!==u||t[75]!==d?(g=(0,K.jsx)(`div`,{className:u,children:d}),t[74]=u,t[75]=d,t[76]=g):g=t[76];let _;return t[77]!==m||t[78]!==h||t[79]!==g?(_=(0,K.jsxs)(`div`,{className:m,children:[h,g]}),t[77]=m,t[78]=h,t[79]=g,t[80]=_):_=t[80],_}function Ve(e){let t=(0,W.c)(60),{value:n,variables:r,onChange:i,onValidityChange:a}=e,o;t[0]===n?o=t[1]:(o=U(n),t[0]=n,t[1]=o);let[s,c]=(0,G.useState)(o),l;t[2]===s?l=t[3]:(l=we(s),t[2]=s,t[3]=l);let u=l,d=u.ok?null:u.message,p;t[4]!==u.ok||t[5]!==u.value?(p=u.ok?he(u.value):[],t[4]=u.ok,t[5]=u.value,t[6]=p):p=t[6];let m=p,g;t[7]!==i||t[8]!==a?(g=e=>{c(e);let t=we(e);a?.(t.ok),t.ok&&i(t.value)},t[7]=i,t[8]=a,t[9]=g):g=t[9];let _=g,y;t[10]!==i||t[11]!==a?(y=e=>{c(U(e)),a?.(!0),i(e)},t[10]=i,t[11]=a,t[12]=y):y=t[12];let b=y,x;t[13]!==b||t[14]!==n?(x=()=>{if(!n){b(Y());return}b({type:`and`,left:n,right:Y()})},t[13]=b,t[14]=n,t[15]=x):x=t[15];let S=x,C;t[16]!==b||t[17]!==n?(C=()=>{let e=Fe(`or`);if(!n){b(e);return}b({type:`and`,left:n,right:e})},t[16]=b,t[17]=n,t[18]=C):C=t[18];let w=C,T;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,K.jsx)(`div`,{className:`min-w-0`,children:(0,K.jsx)(`div`,{className:`text-sm font-medium text-foreground`,children:`When`})}),t[19]=T):T=t[19];let E;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,K.jsx)(v,{className:`size-3.5`}),t[20]=E):E=t[20];let D;t[21]===S?D=t[22]:(D=(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:S,children:[E,`Condition`]}),t[21]=S,t[22]=D);let O;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,K.jsx)(v,{className:`size-3.5`}),t[23]=O):O=t[23];let k;t[24]===w?k=t[25]:(k=(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:w,children:[O,`Group`]}),t[24]=w,t[25]=k);let A;t[26]!==D||t[27]!==k?(A=(0,K.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[T,(0,K.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[D,k]})]}),t[26]=D,t[27]=k,t[28]=A):A=t[28];let j;t[29]===_?j=t[30]:(j=e=>_(e.currentTarget.value),t[29]=_,t[30]=j);let M=!!d,N;t[31]!==s||t[32]!==j||t[33]!==M?(N=(0,K.jsx)(ae,{value:s,onChange:j,placeholder:`Always`,"aria-invalid":M,"aria-label":`When expression`,size:`compact`,font:`mono`}),t[31]=s,t[32]=j,t[33]=M,t[34]=N):N=t[34];let P;t[35]===m?P=t[36]:(P=m.length>0?(0,K.jsx)(V,{align:`inline-end`,children:(0,K.jsx)(Le,{identifiers:m})}):null,t[35]=m,t[36]=P);let F;t[37]!==N||t[38]!==P?(F=(0,K.jsxs)(oe,{children:[N,P]}),t[37]=N,t[38]=P,t[39]=F):F=t[39];let I;t[40]===d?I=t[41]:(I=d?(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 text-2xs text-destructive`,children:[(0,K.jsx)(h,{className:`size-3.5`}),d]}):null,t[40]=d,t[41]=I);let L;t[42]!==F||t[43]!==I?(L=(0,K.jsxs)(`div`,{className:`space-y-1.5`,children:[F,I]}),t[42]=F,t[43]=I,t[44]=L):L=t[44];let R;t[45]!==S||t[46]!==w||t[47]!==b||t[48]!==n||t[49]!==r?(R=n?(0,K.jsx)(Z,{node:n,variables:r,onChange:b,onRemove:()=>b(void 0)}):(0,K.jsx)(`div`,{className:`rounded-md border border-dashed border-border/80 bg-muted/15 p-3`,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,K.jsxs)(f,{type:`button`,size:`compact`,onClick:S,children:[(0,K.jsx)(v,{className:`size-3.5`}),`Condition`]}),(0,K.jsxs)(f,{type:`button`,variant:`outline`,size:`compact`,onClick:w,children:[(0,K.jsx)(v,{className:`size-3.5`}),`Group`]})]})}),t[45]=S,t[46]=w,t[47]=b,t[48]=n,t[49]=r,t[50]=R):R=t[50];let ee;t[51]===d?ee=t[52]:(ee=d?(0,K.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center rounded-lg border border-destructive/30 bg-background/75 p-4 text-center text-xs text-destructive backdrop-blur-xs`,children:`Fix the expression above to continue editing visually.`}):null,t[51]=d,t[52]=ee);let z;t[53]!==R||t[54]!==ee?(z=(0,K.jsxs)(`div`,{className:`relative`,children:[R,ee]}),t[53]=R,t[54]=ee,t[55]=z):z=t[55];let B;return t[56]!==A||t[57]!==L||t[58]!==z?(B=(0,K.jsxs)(`div`,{className:`w-[min(34rem,calc(100vw-2rem))] space-y-3`,children:[A,L,z]}),t[56]=A,t[57]=L,t[58]=z,t[59]=B):B=t[59],B}function He(e){return{keyDraft:e.key,whenDraft:e.binding.whenAst,isRecording:!1,isWhenDraftValid:!0}}function Q(e,t){return{...e,...t}}function Ue(e){return{command:e.command,key:e.key,...e.when.trim().length>0?{when:e.when}:{}}}function We(e){let t=(0,W.c)(27),{row:n,allRows:r,onSave:i}=e,[a,o]=(0,G.useReducer)(Q,n,He),{keyDraft:s,whenDraft:c,isRecording:l,isWhenDraftValid:u}=a,d,f,p;t[0]!==r||t[1]!==s||t[2]!==n.id||t[3]!==n.key||t[4]!==n.when||t[5]!==c?(p=U(c),d=s!==n.key||p!==n.when,f=me(r,{rowId:n.id,key:s,when:p}),t[0]=r,t[1]=s,t[2]=n.id,t[3]=n.key,t[4]=n.when,t[5]=c,t[6]=d,t[7]=f,t[8]=p):(d=t[6],f=t[7],p=t[8]);let m=f,h;t[9]!==s||t[10]!==i||t[11]!==n||t[12]!==p?(h=()=>{i({command:n.command,key:s,when:p.trim().length>0?p:void 0,replace:Ue(n)})},t[9]=s,t[10]=i,t[11]=n,t[12]=p,t[13]=h):h=t[13];let g=h,_;t[14]!==l||t[15]!==n.key?(_=e=>{if(e.key===`Tab`&&!l)return;if(e.preventDefault(),e.key===`Escape`){o({keyDraft:n.key,isRecording:!1});return}let t=_e(e.nativeEvent,navigator.platform);t&&o({keyDraft:t,isRecording:!1})},t[14]=l,t[15]=n.key,t[16]=_):_=t[16];let v=_,y;return t[17]!==v||t[18]!==m||t[19]!==d||t[20]!==l||t[21]!==u||t[22]!==s||t[23]!==g||t[24]!==c||t[25]!==p?(y={keyDraft:s,whenDraft:c,isRecording:l,isWhenDraftValid:u,whenDraftExpression:p,isDirty:d,conflictLabels:m,setDraft:o,save:g,captureKeybinding:v},t[17]=v,t[18]=m,t[19]=d,t[20]=l,t[21]=u,t[22]=s,t[23]=g,t[24]=c,t[25]=p,t[26]=y):y=t[26],y}function Ge(e){let t=(0,W.c)(19),{row:n,editor:r,isSaving:i,pillClassName:a}=e,{keyDraft:o,isRecording:s,isDirty:c,isWhenDraftValid:l,setDraft:u,save:d,captureKeybinding:m}=r,h=!s&&o===n.key&&n.key.length>0&&!c,g;t[0]!==c||t[1]!==i||t[2]!==l||t[3]!==o||t[4]!==d?(g=c?(0,K.jsx)(f,{size:`sm`,disabled:i||o.trim().length===0||!l,onClick:d,children:i?`Saving`:`Save`}):null,t[0]=c,t[1]=i,t[2]=l,t[3]=o,t[4]=d,t[5]=g):g=t[5];let _;t[6]!==m||t[7]!==s||t[8]!==o||t[9]!==a||t[10]!==n.binding||t[11]!==n.command||t[12]!==n.key||t[13]!==u||t[14]!==h?(_=h?(0,K.jsx)(`button`,{type:`button`,onClick:()=>u({isRecording:!0}),"aria-label":`Edit shortcut for ${H(n.command)}: ${te(n.binding.shortcut)}`,className:p(`inline-flex h-8 cursor-pointer items-center rounded-md border border-transparent px-1.5 sm:h-7 outline-none transition-colors hover:border-border/70 hover:bg-accent focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-inset focus-visible:ring-ring/24`,a),children:(0,K.jsx)(q,{value:n.key})}):(0,K.jsx)(B,{"data-keybinding-capture":``,autoFocus:s,"aria-label":`Keybinding for ${H(n.command)}`,value:s?``:o,placeholder:s?`Press shortcut`:`Unassigned`,size:`sm`,font:`mono`,className:`w-44`,onFocus:()=>u({isRecording:!0}),onBlur:()=>u({isRecording:!1}),onChange:e=>u({keyDraft:e.currentTarget.value}),onKeyDown:m}),t[6]=m,t[7]=s,t[8]=o,t[9]=a,t[10]=n.binding,t[11]=n.command,t[12]=n.key,t[13]=u,t[14]=h,t[15]=_):_=t[15];let v;return t[16]!==g||t[17]!==_?(v=(0,K.jsxs)(K.Fragment,{children:[g,_]}),t[16]=g,t[17]=_,t[18]=v):v=t[18],v}function $(e){let t=(0,W.c)(17),{label:n,expression:r,value:i,variables:a,onChange:o,onValidityChange:s}=e,c=r?`ghost`:`ghost-muted`,l;t[0]===c?l=t[1]:(l=(0,K.jsx)(f,{variant:c,size:`micro`,className:`min-w-0 shrink`}),t[0]=c,t[1]=l);let u=`Edit when clause for ${n}`,d=r||`Always`,p;t[2]===d?p=t[3]:(p=(0,K.jsx)(`span`,{className:`truncate font-mono`,children:d}),t[2]=d,t[3]=p);let h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,K.jsx)(m,{className:`size-3.5 shrink-0 opacity-60`}),t[4]=h):h=t[4];let g;t[5]!==l||t[6]!==u||t[7]!==p?(g=(0,K.jsxs)(re,{render:l,"aria-label":u,children:[p,h]}),t[5]=l,t[6]=u,t[7]=p,t[8]=g):g=t[8];let _;t[9]!==o||t[10]!==s||t[11]!==i||t[12]!==a?(_=(0,K.jsx)(ne,{align:`start`,sideOffset:6,children:(0,K.jsx)(Ve,{value:i,variables:a,onChange:o,onValidityChange:s})}),t[9]=o,t[10]=s,t[11]=i,t[12]=a,t[13]=_):_=t[13];let v;return t[14]!==g||t[15]!==_?(v=(0,K.jsxs)(ie,{children:[g,_]}),t[14]=g,t[15]=_,t[16]=v):v=t[16],v}function Ke(e){let t=(0,W.c)(24),{row:r,isSaving:i,onReset:a,onRemove:c}=e,l=r.source===`Custom`&&r.defaultKey!==null,u=r.source!==`Default`;if(!l&&!u)return null;let p;t[0]===r.command?p=t[1]:(p=H(r.command),t[0]=r.command,t[1]=p);let m=`Actions for ${p}`,h;t[2]!==i||t[3]!==m?(h=(0,K.jsx)(f,{type:`button`,variant:`ghost-muted`,size:`icon-sm`,disabled:i,"aria-label":m}),t[2]=i,t[3]=m,t[4]=h):h=t[4];let g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,K.jsx)(Te,{className:`size-3.5`}),t[5]=g):g=t[5];let _;t[6]===h?_=t[7]:(_=(0,K.jsx)(d,{render:h,children:g}),t[6]=h,t[7]=_);let v;t[8]!==l||t[9]!==i||t[10]!==a||t[11]!==r?(v=l?(0,K.jsx)(o,{disabled:i,onClick:()=>a(r),children:`Reset to default`}):null,t[8]=l,t[9]=i,t[10]=a,t[11]=r,t[12]=v):v=t[12];let y;t[13]!==u||t[14]!==i||t[15]!==c||t[16]!==r?(y=u?(0,K.jsx)(o,{variant:`destructive`,disabled:i,onClick:()=>c(r),children:`Remove`}):null,t[13]=u,t[14]=i,t[15]=c,t[16]=r,t[17]=y):y=t[17];let b;t[18]!==v||t[19]!==y?(b=(0,K.jsxs)(s,{align:`end`,children:[v,y]}),t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;return t[21]!==_||t[22]!==b?(x=(0,K.jsxs)(n,{children:[_,b]}),t[21]=_,t[22]=b,t[23]=x):x=t[23],x}function qe(e){let t=(0,W.c)(2),{source:n}=e;if(n===`Default`)return null;let r;return t[0]===n?r=t[1]:(r=(0,K.jsx)(a,{variant:`outline`,size:`sm`,children:n}),t[0]=n,t[1]=r),r}function Je(e){let t=(0,W.c)(13),{row:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,K.jsx)(`span`,{className:`flex items-center gap-2`}),t[0]=r):r=t[0];let i;t[1]===n.command?i=t[2]:(i=H(n.command),t[1]=n.command,t[2]=i);let a;t[3]===n.source?a=t[4]:(a=(0,K.jsx)(qe,{source:n.source}),t[3]=n.source,t[4]=a);let o;t[5]!==i||t[6]!==a?(o=(0,K.jsxs)(w,{render:r,children:[i,a]}),t[5]=i,t[6]=a,t[7]=o):o=t[7];let s;t[8]===n.command?s=t[9]:(s=(0,K.jsx)(T,{side:`top`,children:n.command}),t[8]=n.command,t[9]=s);let c;return t[10]!==o||t[11]!==s?(c=(0,K.jsxs)(E,{children:[o,s]}),t[10]=o,t[11]=s,t[12]=c):c=t[12],c}function Ye(e){let t=(0,W.c)(13),{row:n,editor:r,variables:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(`span`,{className:`text-xs leading-none text-muted-foreground/70`,children:`When`}),t[0]=a):a=t[0];let o;t[1]===n.command?o=t[2]:(o=H(n.command),t[1]=n.command,t[2]=o);let s,c;t[3]===r?(s=t[4],c=t[5]):(s=e=>r.setDraft({whenDraft:e}),c=e=>r.setDraft({isWhenDraftValid:e}),t[3]=r,t[4]=s,t[5]=c);let l;return t[6]!==r.whenDraft||t[7]!==r.whenDraftExpression||t[8]!==o||t[9]!==s||t[10]!==c||t[11]!==i?(l=(0,K.jsxs)(`span`,{className:`flex h-6 items-center gap-1.5`,children:[a,(0,K.jsx)($,{label:o,expression:r.whenDraftExpression,value:r.whenDraft,variables:i,onChange:s,onValidityChange:c})]}),t[6]=r.whenDraft,t[7]=r.whenDraftExpression,t[8]=o,t[9]=s,t[10]=c,t[11]=i,t[12]=l):l=t[12],l}function Xe(e){let t=(0,W.c)(2),n;return t[0]===e?n=t[1]:(n=(0,K.jsx)(`span`,{className:`flex items-center opacity-0 transition-opacity group-focus-within/row:opacity-100 group-hover/row:opacity-100 has-data-popup-open:opacity-100 pointer-coarse:opacity-100`,children:(0,K.jsx)(Ke,{...e})}),t[0]=e,t[1]=n),n}function Ze(e){let t=(0,W.c)(30),{row:n,isSaving:r,anchorId:i,allRows:a,variables:o,onSave:s,onReset:c,onRemove:l}=e,u;t[0]!==a||t[1]!==s||t[2]!==n?(u={row:n,allRows:a,onSave:s},t[0]=a,t[1]=s,t[2]=n,t[3]=u):u=t[3];let d=We(u),f;t[4]===n?f=t[5]:(f=(0,K.jsx)(Je,{row:n}),t[4]=n,t[5]=f);let p;t[6]!==d||t[7]!==n||t[8]!==o?(p=(0,K.jsx)(Ye,{row:n,editor:d,variables:o}),t[6]=d,t[7]=n,t[8]=o,t[9]=p):p=t[9];let m;t[10]===d.conflictLabels?m=t[11]:(m=(0,K.jsx)(X,{labels:d.conflictLabels}),t[10]=d.conflictLabels,t[11]=m);let h;t[12]!==r||t[13]!==l||t[14]!==c||t[15]!==n?(h=(0,K.jsx)(Xe,{row:n,isSaving:r,onReset:c,onRemove:l}),t[12]=r,t[13]=l,t[14]=c,t[15]=n,t[16]=h):h=t[16];let g;t[17]!==d||t[18]!==r||t[19]!==n?(g=(0,K.jsx)(Ge,{row:n,editor:d,isSaving:r,pillClassName:`-mr-1.5`}),t[17]=d,t[18]=r,t[19]=n,t[20]=g):g=t[20];let _;t[21]!==m||t[22]!==h||t[23]!==g?(_=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1.5`,children:[m,h,g]}),t[21]=m,t[22]=h,t[23]=g,t[24]=_):_=t[24];let v;return t[25]!==i||t[26]!==f||t[27]!==p||t[28]!==_?(v=(0,K.jsx)(de,{id:i,className:`group/row rounded-none`,title:f,description:p,control:_}),t[25]=i,t[26]=f,t[27]=p,t[28]=_,t[29]=v):v=t[29],v}function Qe(e){let t=(0,W.c)(30),{allRows:n,onSave:r}=e,[i,a]=(0,G.useState)(``),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o={keyDraft:``,whenDraft:void 0,isRecording:!1,isWhenDraftValid:!0},t[0]=o):o=t[0];let[s,c]=(0,G.useReducer)(Q,o),{keyDraft:l,whenDraft:u,isRecording:d,isWhenDraftValid:f}=s,p,m;t[1]!==n||t[2]!==l||t[3]!==u?(m=U(u),p=me(n,{rowId:`new`,key:l,when:m}),t[1]=n,t[2]=l,t[3]=u,t[4]=p,t[5]=m):(p=t[4],m=t[5]);let h=p,g;t[6]===i?g=t[7]:(g=i?H(i):`new keybinding`,t[6]=i,t[7]=g);let _=g,v;t[8]!==i||t[9]!==f||t[10]!==l?(v=!!i&&l.trim().length>0&&f,t[8]=i,t[9]=f,t[10]=l,t[11]=v):v=t[11];let y=v,b;t[12]!==i||t[13]!==l||t[14]!==r||t[15]!==m?(b=()=>{i&&r({command:i,key:l,...m.trim().length>0?{when:m}:{}})},t[12]=i,t[13]=l,t[14]=r,t[15]=m,t[16]=b):b=t[16];let x=b,S;t[17]===d?S=t[18]:(S=e=>{if(e.key===`Tab`&&!d)return;if(e.preventDefault(),e.key===`Escape`){c({keyDraft:``,isRecording:!1});return}let t=_e(e.nativeEvent,navigator.platform);t&&c({keyDraft:t,isRecording:!1})},t[17]=d,t[18]=S);let C=S,w;return t[19]!==y||t[20]!==C||t[21]!==i||t[22]!==_||t[23]!==h||t[24]!==d||t[25]!==l||t[26]!==x||t[27]!==u||t[28]!==m?(w={commandDraft:i,setCommandDraft:a,keyDraft:l,whenDraft:u,whenDraftExpression:m,isRecording:d,conflictLabels:h,commandLabelText:_,canSave:y,setDraft:c,save:x,captureKeybinding:C},t[19]=y,t[20]=C,t[21]=i,t[22]=_,t[23]=h,t[24]=d,t[25]=l,t[26]=x,t[27]=u,t[28]=m,t[29]=w):w=t[29],w}function $e(e){let t=(0,W.c)(14),{draft:n,commandOptions:r,className:i}=e,a=n.commandDraft,o;t[0]===n?o=t[1]:(o=e=>n.setCommandDraft(e),t[0]=n,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(O,{placeholder:`Command`}),t[2]=s):s=t[2];let c;t[3]===i?c=t[4]:(c=(0,K.jsx)(A,{size:`sm`,className:i,children:s}),t[3]=i,t[4]=c);let l;t[5]===r?l=t[6]:(l=r.map(et),t[5]=r,t[6]=l);let u;t[7]===l?u=t[8]:(u=(0,K.jsx)(k,{alignItemWithTrigger:!1,matchTriggerWidth:!1,className:`max-h-72`,children:l}),t[7]=l,t[8]=u);let d;return t[9]!==n.commandDraft||t[10]!==o||t[11]!==c||t[12]!==u?(d=(0,K.jsxs)(j,{value:a,onValueChange:o,children:[c,u]}),t[9]=n.commandDraft,t[10]=o,t[11]=c,t[12]=u,t[13]=d):d=t[13],d}function et(e){return(0,K.jsx)(D,{value:e,className:`w-full`,children:(0,K.jsx)(`span`,{className:`truncate`,children:H(e)})},e)}function tt(e){let t=(0,W.c)(14),{draft:n,autoFocus:r,className:i}=e,a=r!==void 0&&r,o=`Keybinding for ${n.commandLabelText}`,s=n.isRecording?``:n.keyDraft,c=n.isRecording?`Press shortcut`:`Unassigned`,l,u,d;t[0]===n?(l=t[1],u=t[2],d=t[3]):(l=()=>n.setDraft({isRecording:!0}),u=()=>n.setDraft({isRecording:!1}),d=e=>n.setDraft({keyDraft:e.currentTarget.value}),t[0]=n,t[1]=l,t[2]=u,t[3]=d);let f;return t[4]!==a||t[5]!==i||t[6]!==n.captureKeybinding||t[7]!==o||t[8]!==s||t[9]!==c||t[10]!==l||t[11]!==u||t[12]!==d?(f=(0,K.jsx)(B,{"data-keybinding-capture":``,autoFocus:a,"aria-label":o,value:s,placeholder:c,size:`sm`,font:`mono`,className:i,onFocus:l,onBlur:u,onChange:d,onKeyDown:n.captureKeybinding}),t[4]=a,t[5]=i,t[6]=n.captureKeybinding,t[7]=o,t[8]=s,t[9]=c,t[10]=l,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function nt(e){let t=(0,W.c)(10),{draft:n,variables:r}=e,i,a;t[0]===n?(i=t[1],a=t[2]):(i=e=>n.setDraft({whenDraft:e}),a=e=>n.setDraft({isWhenDraftValid:e}),t[0]=n,t[1]=i,t[2]=a);let o;return t[3]!==n.commandLabelText||t[4]!==n.whenDraft||t[5]!==n.whenDraftExpression||t[6]!==i||t[7]!==a||t[8]!==r?(o=(0,K.jsx)($,{label:n.commandLabelText,expression:n.whenDraftExpression,value:n.whenDraft,variables:r,onChange:i,onValidityChange:a}),t[3]=n.commandLabelText,t[4]=n.whenDraft,t[5]=n.whenDraftExpression,t[6]=i,t[7]=a,t[8]=r,t[9]=o):o=t[9],o}function rt(e){let t=(0,W.c)(9),{isSaving:n,onCancel:r}=e,i;t[0]!==n||t[1]!==r?(i=(0,K.jsx)(f,{type:`button`,variant:`ghost-muted`,size:`icon-sm`,disabled:n,"aria-label":`Cancel new keybinding`,onClick:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,K.jsx)(x,{className:`size-3.5`}),t[3]=a):a=t[3];let o;t[4]===i?o=t[5]:(o=(0,K.jsx)(w,{render:i,children:a}),t[4]=i,t[5]=o);let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(T,{side:`top`,children:`Cancel`}),t[6]=s):s=t[6];let c;return t[7]===o?c=t[8]:(c=(0,K.jsxs)(E,{children:[o,s]}),t[7]=o,t[8]=c),c}function it(e){let t=(0,W.c)(30),{commandOptions:n,allRows:r,variables:i,isSaving:a,onSave:o,onCancel:s}=e,c;t[0]!==r||t[1]!==o?(c={allRows:r,onSave:o},t[0]=r,t[1]=o,t[2]=c):c=t[2];let l=Qe(c),u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,K.jsx)(`span`,{className:`text-xs leading-none text-muted-foreground/70`,children:`When`}),t[3]=u):u=t[3];let d;t[4]!==l||t[5]!==i?(d=(0,K.jsxs)(`span`,{className:`flex h-6 items-center gap-1.5`,children:[u,(0,K.jsx)(nt,{draft:l,variables:i})]}),t[4]=l,t[5]=i,t[6]=d):d=t[6];let p;t[7]!==n||t[8]!==l?(p=(0,K.jsx)($e,{draft:l,commandOptions:n,className:`w-56`}),t[7]=n,t[8]=l,t[9]=p):p=t[9];let m;t[10]===l.conflictLabels?m=t[11]:(m=(0,K.jsx)(X,{labels:l.conflictLabels}),t[10]=l.conflictLabels,t[11]=m);let h;t[12]===l?h=t[13]:(h=(0,K.jsx)(tt,{draft:l,className:`w-44`}),t[12]=l,t[13]=h);let g=a||!l.canSave,_=a?`Saving`:`Save`,v;t[14]!==l.save||t[15]!==g||t[16]!==_?(v=(0,K.jsx)(f,{size:`sm`,disabled:g,onClick:l.save,children:_}),t[14]=l.save,t[15]=g,t[16]=_,t[17]=v):v=t[17];let y;t[18]!==a||t[19]!==s?(y=(0,K.jsx)(rt,{isSaving:a,onCancel:s}),t[18]=a,t[19]=s,t[20]=y):y=t[20];let b;t[21]!==p||t[22]!==m||t[23]!==h||t[24]!==v||t[25]!==y?(b=(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[p,m,h,v,y]}),t[21]=p,t[22]=m,t[23]=h,t[24]=v,t[25]=y,t[26]=b):b=t[26];let x;return t[27]!==b||t[28]!==d?(x=(0,K.jsx)(de,{className:`bg-muted/15`,title:`New keybinding`,description:d,control:b}),t[27]=b,t[28]=d,t[29]=x):x=t[29],x}function at(e){let{groups:t,anchorIds:n,savingCommand:r,...i}=e;return t.map(e=>(0,K.jsx)(pe,{id:`keybindings-${e.id}`,title:e.title,children:e.rows.map(e=>(0,K.jsx)(Ze,{row:e,anchorId:n.get(e.id),isSaving:r===e.command,...i},e.id))},e.id))}function ot(){let e=(0,W.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,K.jsxs)(E,{children:[(0,K.jsx)(w,{delay:200,render:(0,K.jsx)(f,{size:`icon-micro`,variant:`ghost-muted`,"aria-label":`The browser may claim some shortcuts first. The desktop app receives them all.`,children:(0,K.jsx)(b,{className:`size-3.5 text-warning`})})}),(0,K.jsx)(T,{side:`top`,className:`max-w-72`,children:`The browser may claim some shortcuts first. The desktop app receives them all.`})]}),e[0]=t):t=e[0],t}function st(){let e=(0,W.c)(83),{environment:t,connectedEnvironments:n}=le(),a=F(t?.environmentId??null,l),o=L(n,r),s;e[0]!==n||e[1]!==o?(s=n.length>0&&n.every(e=>o.has(e.environmentId)),e[0]=n,e[1]=o,e[2]=s):s=e[2];let c=s,u=t?.serverConfig?.keybindings,d;e[3]===u?d=e[4]:(d=u??[],e[3]=u,e[4]=d);let p;e[5]===d?p=e[6]:(p=i(d),e[5]=d,e[6]=p);let m=p,h=t?.serverConfig?.keybindingsConfigPath??null,_;e[7]===t?.serverConfig?.availableEditors?_=e[8]:(_=t?.serverConfig?.availableEditors??[],e[7]=t?.serverConfig?.availableEditors,e[8]=_);let y=_,b;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(b={reportFailure:!1},e[9]=b):b=e[9];let x=R(P.upsertKeybinding,b),D;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(D={reportFailure:!1},e[10]=D):D=e[10];let O=R(P.removeKeybinding,D),k=Ee(t?.environmentId??null,y),[A,j]=(0,G.useState)(``),z=(0,G.useRef)(null),[B,te]=(0,G.useState)(null),[ne,re]=(0,G.useState)(!1),ie;e[11]!==m||e[12]!==A?(ie=xe(m,A),e[11]=m,e[12]=A,e[13]=ie):ie=e[13];let V=ie,ae;e[14]===V?ae=e[15]:(ae=be(V),e[14]=V,e[15]=ae);let oe=ae,se;if(e[16]!==V){se=new Map;let t=new Set;for(let e of V)t.has(e.command)||(t.add(e.command),se.set(e.id,Oe(e.command)));e[16]=V,e[17]=se}else se=e[17];let ce=se,de;e[18]===Symbol.for(`react.memo_cache_sentinel`)?(de={select:ft},e[18]=de):de=e[18];let H=M(de),[me,he]=(0,G.useState)(H);H!==me&&(he(H),H.startsWith(`keybinding-`)&&j(``));let _e;e[19]===m?_e=e[20]:(_e=ye(m),e[19]=m,e[20]=_e);let ve=_e,U;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(U=ge(),e[21]=U):U=e[21];let Se=U,Ce;e[22]!==h||e[23]!==k||e[24]!==t?(Ce=()=>{h&&t&&I(t.environmentId,`orchestration:operate`)&&(async()=>{let e=await k(h);if(e._tag===`Success`||S(e))return;let t=C(e);N.add({title:`Unable to open keybindings file`,description:t instanceof Error?t.message:`The keybindings file was not opened.`,type:`error`})})()},e[22]=h,e[23]=k,e[24]=t,e[25]=Ce):Ce=e[25];let we=Ce,Te;e[26]!==n||e[27]!==t||e[28]!==x?(Te=e=>{if(!t||!n.every(dt))return;te(e.command);let r={command:e.command,key:e.key.trim(),...e.when?.trim()?{when:e.when.trim()}:{},...e.replace?{replace:e.replace}:{}};(async()=>{let e=await Promise.all(n.map(e=>x({environmentId:e.environmentId,input:r})));te(null);let t=e.find(ut);if(!t){re(!1);return}if(!S(t)){let e=C(t);N.add({title:`Unable to save keybinding`,description:e instanceof Error?e.message:`The keybinding was not saved.`,type:`error`})}})()},e[26]=n,e[27]=t,e[28]=x,e[29]=Te):Te=e[29];let q=Te,ke;e[30]!==n||e[31]!==t||e[32]!==O?(ke=e=>{t&&n.every(lt)&&(te(e.command),(async()=>{let t=await Promise.all(n.map(t=>O({environmentId:t.environmentId,input:Ue(e)})));te(null);let r=t.find(ct)??t[0];if(r?._tag===`Failure`&&!S(r)){let e=C(r);N.add({title:`Unable to remove keybinding`,description:e instanceof Error?e.message:`The keybinding was not removed.`,type:`error`})}})())},e[30]=n,e[31]=t,e[32]=O,e[33]=ke):ke=e[33];let je=ke,J;e[34]===q?J=e[35]:(J=e=>{e.defaultKey&&q({command:e.command,key:e.defaultKey,when:e.defaultWhen.trim().length>0?e.defaultWhen:void 0,replace:{command:e.command,key:e.key,...e.when.trim().length>0?{when:e.when}:{}}})},e[34]=q,e[35]=J);let Me=J,Ne;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=()=>re(!1),e[36]=Ne):Ne=e[36];let Pe=Ne,Y;e[37]!==je||e[38]!==Me||e[39]!==V||e[40]!==q?(Y={allRows:V,variables:Se,onSave:q,onReset:Me,onRemove:je},e[37]=je,e[38]=Me,e[39]=V,e[40]=q,e[41]=Y):Y=e[41];let Fe=Y,Ie,Le;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=De(`keybindings`),Le=ee?null:(0,K.jsx)(ot,{}),e[42]=Ie,e[43]=Le):(Ie=e[42],Le=e[43]);let X;e[44]===A?X=e[45]:(X=(0,K.jsx)(Ae,{query:A,onChange:j,inputRef:z}),e[44]=A,e[45]=X);let Re=ne||!c,ze,Be;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(ze=()=>re(!0),Be=(0,K.jsx)(v,{"aria-hidden":!0,className:`size-4`}),e[46]=ze,e[47]=Be):(ze=e[46],Be=e[47]);let Z;e[48]===Re?Z=e[49]:(Z=(0,K.jsxs)(f,{type:`button`,variant:`outline`,disabled:Re,onClick:ze,children:[Be,`Add keybinding`]}),e[48]=Re,e[49]=Z);let Ve=!h||!a,He;e[50]===Symbol.for(`react.memo_cache_sentinel`)?(He=(0,K.jsx)(g,{"aria-hidden":!0,className:`size-4`}),e[50]=He):He=e[50];let Q;e[51]!==we||e[52]!==Ve?(Q=(0,K.jsx)(w,{render:(0,K.jsx)(f,{type:`button`,variant:`outline`,size:`icon`,disabled:Ve,onClick:we,"aria-label":`Open keybindings.json`,children:He})}),e[51]=we,e[52]=Ve,e[53]=Q):Q=e[53];let We;e[54]===Symbol.for(`react.memo_cache_sentinel`)?(We=(0,K.jsx)(T,{side:`top`,children:`Open keybindings.json`}),e[54]=We):We=e[54];let Ge;e[55]===Q?Ge=e[56]:(Ge=(0,K.jsxs)(E,{children:[Q,We]}),e[55]=Q,e[56]=Ge);let $;e[57]!==X||e[58]!==Z||e[59]!==Ge?($=(0,K.jsx)(pe,{...Ie,headerAction:Le,children:(0,K.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 px-3 py-3 sm:px-4`,children:[X,Z,Ge]})}),e[57]=X,e[58]=Z,e[59]=Ge,e[60]=$):$=e[60];let Ke;e[61]!==c||e[62]!==n?(Ke=c?null:(0,K.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n.length===0?`Connect an environment to change keybindings.`:`This connection can view keybindings but cannot change them.`}),e[61]=c,e[62]=n,e[63]=Ke):Ke=e[63];let qe=!c,Je;e[64]!==ve||e[65]!==ne||e[66]!==V||e[67]!==q||e[68]!==B?(Je=ne?(0,K.jsx)(ue,{children:(0,K.jsx)(it,{commandOptions:ve,allRows:V,variables:Se,isSaving:B!==null,onSave:q,onCancel:Pe})}):null,e[64]=ve,e[65]=ne,e[66]=V,e[67]=q,e[68]=B,e[69]=Je):Je=e[69];let Ye;e[70]!==ce||e[71]!==oe||e[72]!==Fe||e[73]!==B?(Ye=oe.length>0?(0,K.jsx)(at,{groups:oe,anchorIds:ce,savingCommand:B,...Fe}):(0,K.jsx)(ue,{children:(0,K.jsx)(`div`,{className:`px-4 py-12 text-center text-sm text-muted-foreground`,children:`No keybindings match your search.`})}),e[70]=ce,e[71]=oe,e[72]=Fe,e[73]=B,e[74]=Ye):Ye=e[74];let Xe;e[75]!==qe||e[76]!==Je||e[77]!==Ye?(Xe=(0,K.jsxs)(`div`,{inert:qe,className:`flex flex-col gap-8`,children:[Je,Ye]}),e[75]=qe,e[76]=Je,e[77]=Ye,e[78]=Xe):Xe=e[78];let Ze;return e[79]!==$||e[80]!==Ke||e[81]!==Xe?(Ze=(0,K.jsxs)(fe,{children:[$,Ke,Xe]}),e[79]=$,e[80]=Ke,e[81]=Xe,e[82]=Ze):Ze=e[82],Ze}function ct(e){return e._tag===`Failure`}function lt(e){return I(e.environmentId,r)}function ut(e){return e._tag===`Failure`}function dt(e){return I(e.environmentId,r)}function ft(e){return e.hash.replace(/^#/,``)}var pt=st;export{pt as component};
2
+ //# sourceMappingURL=settings.keybindings-BbR3qnVs.js.map
@@ -1,2 +1,2 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{Ax as n,ha as r,sr as i}from"./utils-DmfMX1v5.js";import{t as a}from"./chevron-right-NbahR9_s.js";import{t as o}from"./external-link-NWS0I_zo.js";import{t as s}from"./search-Cr9eaeTj.js";import{a as c,n as l,t as u}from"./tooltip-taOyJZax.js";import{n as d,r as f,t as p}from"./input-group-CJ7ZOvDN.js";import{i as m,s as h}from"./settingsLayout-jP1a50ek.js";import{Fa as g,Ia as _,Pa as v}from"./main-BB3F4O6Y.js";var y=e(t(),1),b=n();function x(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function S(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function C(e){if(typeof e!=`string`)return!1;try{let t=new URL(e).protocol;return t===`http:`||t===`https:`}catch{return!1}}function w(e,t){if(!x(e))throw Error(`License entry ${String(t+1)} is not an object.`);if(!S(e.bundles)||e.bundles.length===0||e.kind!==`custom`&&e.kind!==`package`||typeof e.license!=`string`||typeof e.name!=`string`||typeof e.noticeText!=`string`||e.sourceUrl!==null&&!C(e.sourceUrl)||e.version!==null&&typeof e.version!=`string`)throw Error(`License entry ${String(t+1)} has an invalid shape.`);return{bundles:e.bundles,kind:e.kind,license:e.license,name:e.name,noticeText:e.noticeText,sourceUrl:e.sourceUrl,version:e.version}}function T(e){if(!x(e)||e.schemaVersion!==1||!Array.isArray(e.entries))throw Error(`The open-source license manifest has an unsupported format.`);let t=e.entries.map(w),n=new Set;for(let e of t){let t=k(e);if(n.has(t))throw Error(`The open-source license manifest contains a duplicate entry: ${t}`);n.add(t)}return{schemaVersion:1,entries:t}}function E(e,t){let n=t.trim().toLowerCase().split(/\s+/).filter(e=>e.length>0);return n.length===0?e:e.filter(e=>{let t=[e.name,e.version,e.license,...e.bundles].filter(e=>e!==null).join(` `).toLowerCase();return n.every(e=>t.includes(e))})}var D={android:`Android`,assets:`Assets`,desktop:`Desktop`,"device-tools":`Device tools`,ios:`iOS`,mobile:`Mobile`,server:`Server`,web:`Web`};function O(e){return e.map(e=>Object.prototype.hasOwnProperty.call(D,e)?D[e]:e).join(`, `)}function k(e){return encodeURIComponent(JSON.stringify([e.kind,e.name,e.version]))}var A=e(r(),1),j;async function M(){let e=AbortSignal.timeout(3e4);try{let t=await fetch(`${`/`.replace(/\/$/,``)}/third-party-licenses.json`,{signal:e});if(!t.ok)throw Error(`The license manifest request failed with status ${String(t.status)}.`);return T(await t.json())}catch(t){throw e.aborted?Error(`The license manifest took too long to load.`,{cause:t}):t}}function N(){return j??=M().catch(e=>{throw j=void 0,e}),j}function P(e){let t=(0,b.c)(34),{entry:n,open:r,onOpenChange:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,A.jsx)(a,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-muted-foreground transition-transform duration-200 group-data-panel-open:rotate-90`}),t[0]=c):c=t[0];let l;t[1]===n.name?l=t[2]:(l=(0,A.jsx)(`span`,{className:`truncate font-medium text-foreground`,children:n.name}),t[1]=n.name,t[2]=l);let u;t[3]===n.version?u=t[4]:(u=n.version?(0,A.jsx)(`code`,{className:`shrink-0 text-xs text-muted-foreground`,children:n.version}):null,t[3]=n.version,t[4]=u);let d;t[5]!==l||t[6]!==u?(d=(0,A.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[l,u]}),t[5]=l,t[6]=u,t[7]=d):d=t[7];let f=n.license,p;t[8]===n.bundles?p=t[9]:(p=O(n.bundles),t[8]=n.bundles,t[9]=p);let m;t[10]!==n.license||t[11]!==p?(m=(0,A.jsxs)(`span`,{className:`max-w-[42%] shrink-0 truncate text-xs text-muted-foreground`,children:[f,` · `,p]}),t[10]=n.license,t[11]=p,t[12]=m):m=t[12];let h;t[13]!==d||t[14]!==m?(h=(0,A.jsxs)(_,{className:`group flex min-h-10 min-w-0 flex-1 items-center gap-2.5 px-3 text-left sm:min-h-9 sm:px-4`,children:[c,d,m]}),t[13]=d,t[14]=m,t[15]=h):h=t[15];let y;t[16]!==n.name||t[17]!==n.sourceUrl?(y=n.sourceUrl?(0,A.jsx)(i,{"aria-label":`View project source for ${n.name}`,className:`me-3 shrink-0 sm:me-4`,render:(0,A.jsx)(`a`,{href:n.sourceUrl,rel:`noreferrer noopener`,target:`_blank`}),size:`icon-micro`,title:`Project source`,variant:`ghost-muted`,children:(0,A.jsx)(o,{"aria-hidden":!0,className:`size-3`})}):null,t[16]=n.name,t[17]=n.sourceUrl,t[18]=y):y=t[18];let x;t[19]!==h||t[20]!==y?(x=(0,A.jsxs)(`div`,{className:`flex min-h-10 items-center hover:bg-muted/35 sm:min-h-9`,children:[h,y]}),t[19]=h,t[20]=y,t[21]=x):x=t[21];let S;t[22]!==n.noticeText||t[23]!==r?(S=r?(0,A.jsx)(`div`,{className:`px-9 pt-1 pb-4 sm:px-10`,children:(0,A.jsx)(`pre`,{className:`max-w-[76ch] whitespace-pre-wrap break-words font-mono text-xs/5 text-foreground/80`,children:n.noticeText})}):null,t[22]=n.noticeText,t[23]=r,t[24]=S):S=t[24];let C;t[25]===S?C=t[26]:(C=(0,A.jsx)(g,{children:S}),t[25]=S,t[26]=C);let w;t[27]!==x||t[28]!==C?(w=(0,A.jsxs)(`article`,{children:[x,C]}),t[27]=x,t[28]=C,t[29]=w):w=t[29];let T;return t[30]!==s||t[31]!==r||t[32]!==w?(T=(0,A.jsx)(v,{open:r,onOpenChange:s,children:w}),t[30]=s,t[31]=r,t[32]=w,t[33]=T):T=t[33],T}function F(e){let t=(0,b.c)(2),{filteredCount:n,totalCount:r}=e,i=n===r?`${String(r)} notices`:`${String(n)} of ${String(r)}`,a;return t[0]===i?a=t[1]:(a=(0,A.jsx)(`p`,{className:`whitespace-nowrap text-xs font-normal text-muted-foreground tabular-nums`,children:i}),t[0]=i,t[1]=a),a}function I(e){let t=(0,b.c)(34),{query:n,onQueryChange:r,searchOpen:a,onSearchOpenChange:o,filteredCount:m,totalCount:h}=e;if(!a){let e;t[0]!==m||t[1]!==h?(e=(0,A.jsx)(F,{filteredCount:m,totalCount:h}),t[0]=m,t[1]=h,t[2]=e):e=t[2];let n;t[3]===o?n=t[4]:(n=()=>o(!0),t[3]=o,t[4]=n);let r;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,A.jsx)(s,{className:`size-3`}),t[5]=r):r=t[5];let a;t[6]===n?a=t[7]:(a=(0,A.jsx)(c,{render:(0,A.jsx)(i,{"aria-label":`Search open-source licenses`,onClick:n,size:`icon-micro`,type:`button`,variant:`ghost-muted`,children:r})}),t[6]=n,t[7]=a);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,A.jsx)(l,{side:`top`,children:`Search licenses`}),t[8]=d):d=t[8];let f;t[9]===a?f=t[10]:(f=(0,A.jsxs)(u,{children:[a,d]}),t[9]=a,t[10]=f);let p;return t[11]!==e||t[12]!==f?(p=(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[e,f]}),t[11]=e,t[12]=f,t[13]=p):p=t[13],p}let g;t[14]!==m||t[15]!==h?(g=(0,A.jsx)(`div`,{className:`hidden sm:block`,children:(0,A.jsx)(F,{filteredCount:m,totalCount:h})}),t[14]=m,t[15]=h,t[16]=g):g=t[16];let _;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,A.jsx)(d,{children:(0,A.jsx)(s,{"aria-hidden":!0,className:`size-3`})}),t[17]=_):_=t[17];let v;t[18]!==o||t[19]!==n.length?(v=()=>{n.length===0&&o(!1)},t[18]=o,t[19]=n.length,t[20]=v):v=t[20];let y;t[21]===r?y=t[22]:(y=e=>r(e.currentTarget.value),t[21]=r,t[22]=y);let x;t[23]!==r||t[24]!==o?(x=e=>{e.key===`Escape`&&(e.preventDefault(),r(``),o(!1))},t[23]=r,t[24]=o,t[25]=x):x=t[25];let S;t[26]!==n||t[27]!==v||t[28]!==y||t[29]!==x?(S=(0,A.jsxs)(p,{className:`w-36 sm:w-44`,children:[_,(0,A.jsx)(f,{"aria-label":`Search open-source licenses`,autoFocus:!0,onBlur:v,onChange:y,onKeyDown:x,placeholder:`Search licenses`,size:`sm`,type:`search`,value:n})]}),t[26]=n,t[27]=v,t[28]=y,t[29]=x,t[30]=S):S=t[30];let C;return t[31]!==g||t[32]!==S?(C=(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[g,S]}),t[31]=g,t[32]=S,t[33]=C):C=t[33],C}function L(e){let t=(0,b.c)(8),{message:n,onRetry:r}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,A.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:`Open-source notices are unavailable`}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,A.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[a,(0,A.jsx)(`p`,{className:`max-w-[70ch] text-pretty text-xs leading-normal text-muted-foreground/80`,children:n})]}),t[1]=n,t[2]=o);let s;t[3]===r?s=t[4]:(s=(0,A.jsx)(i,{type:`button`,size:`xs`,variant:`outline`,onClick:r,children:`Try again`}),t[3]=r,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,A.jsxs)(`div`,{className:`flex flex-col items-start gap-3 px-3 py-5 sm:px-4`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function R(){let e=(0,b.c)(25),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={status:`loading`},e[0]=t):t=e[0];let[n,r]=(0,y.useState)(t),[i,a]=(0,y.useState)(``),[o,s]=(0,y.useState)(!1),[c,l]=(0,y.useState)(null),[u,d]=(0,y.useState)(0),f;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{let e=!1;return r({status:`loading`}),N().then(t=>{e||r({status:`ready`,manifest:t})},t=>{e||r({status:`error`,message:t instanceof Error?t.message:`The license manifest could not load.`})}),()=>{e=!0}},e[1]=f):f=e[1];let p;e[2]===u?p=e[3]:(p=[u],e[2]=u,e[3]=p),(0,y.useEffect)(f,p);let g;e[4]!==n.manifest||e[5]!==n.status?(g=n.status===`ready`?n.manifest.entries:[],e[4]=n.manifest,e[5]=n.status,e[6]=g):g=e[6];let _=g,v;e[7]!==_||e[8]!==i?(v=E(_,i),e[7]=_,e[8]=i,e[9]=v):v=e[9];let x=v,S;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>d(z),e[10]=S):S=e[10];let C=S,w;e[11]!==_||e[12]!==x||e[13]!==i||e[14]!==o||e[15]!==n.status?(w=n.status===`ready`?(0,A.jsx)(I,{query:i,onQueryChange:a,searchOpen:o,onSearchOpenChange:s,filteredCount:x.length,totalCount:_.length}):null,e[11]=_,e[12]=x,e[13]=i,e[14]=o,e[15]=n.status,e[16]=w):w=e[16];let T;e[17]!==x||e[18]!==c||e[19]!==n.message||e[20]!==n.status?(T=n.status===`ready`?(0,A.jsx)(`div`,{className:`text-base sm:text-sm`,children:x.length>0?x.map(e=>{let t=k(e);return(0,A.jsx)(P,{entry:e,open:c===t,onOpenChange:e=>l(e?t:null)},t)}):(0,A.jsx)(`p`,{className:`px-3 py-8 text-center text-sm/6 text-muted-foreground sm:px-4`,children:`No licenses match that search.`})}):n.status===`error`?(0,A.jsx)(L,{message:n.message,onRetry:C}):(0,A.jsx)(`p`,{className:`px-3 py-5 text-sm/6 text-muted-foreground sm:px-4`,children:`Loading open-source notices…`}),e[17]=x,e[18]=c,e[19]=n.message,e[20]=n.status,e[21]=T):T=e[21];let D;return e[22]!==w||e[23]!==T?(D=(0,A.jsx)(m,{children:(0,A.jsx)(h,{title:`Third-party notices`,headerAction:w,children:T})}),e[22]=w,e[23]=T,e[24]=D):D=e[24],D}function z(e){return e+1}var B=R;export{B as component};
2
- //# sourceMappingURL=settings.open-source-licenses-CqRM1gRd.js.map
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{ha as n,jx as r,sr as i}from"./utils-BxISc9RR.js";import{t as a}from"./chevron-right-NbahR9_s.js";import{t as o}from"./external-link-NWS0I_zo.js";import{t as s}from"./search-Cr9eaeTj.js";import{a as c,n as l,t as u}from"./tooltip-B0rhqi5b.js";import{n as d,r as f,t as p}from"./input-group-DJwXFHGO.js";import{i as m,s as h}from"./settingsLayout-DV36_Jgq.js";import{Fa as g,Ia as _,Pa as v}from"./main-uLg3xUJM.js";var y=e(t(),1),b=r();function x(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function S(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function C(e){if(typeof e!=`string`)return!1;try{let t=new URL(e).protocol;return t===`http:`||t===`https:`}catch{return!1}}function w(e,t){if(!x(e))throw Error(`License entry ${String(t+1)} is not an object.`);if(!S(e.bundles)||e.bundles.length===0||e.kind!==`custom`&&e.kind!==`package`||typeof e.license!=`string`||typeof e.name!=`string`||typeof e.noticeText!=`string`||e.sourceUrl!==null&&!C(e.sourceUrl)||e.version!==null&&typeof e.version!=`string`)throw Error(`License entry ${String(t+1)} has an invalid shape.`);return{bundles:e.bundles,kind:e.kind,license:e.license,name:e.name,noticeText:e.noticeText,sourceUrl:e.sourceUrl,version:e.version}}function T(e){if(!x(e)||e.schemaVersion!==1||!Array.isArray(e.entries))throw Error(`The open-source license manifest has an unsupported format.`);let t=e.entries.map(w),n=new Set;for(let e of t){let t=k(e);if(n.has(t))throw Error(`The open-source license manifest contains a duplicate entry: ${t}`);n.add(t)}return{schemaVersion:1,entries:t}}function E(e,t){let n=t.trim().toLowerCase().split(/\s+/).filter(e=>e.length>0);return n.length===0?e:e.filter(e=>{let t=[e.name,e.version,e.license,...e.bundles].filter(e=>e!==null).join(` `).toLowerCase();return n.every(e=>t.includes(e))})}var D={android:`Android`,assets:`Assets`,desktop:`Desktop`,"device-tools":`Device tools`,ios:`iOS`,mobile:`Mobile`,server:`Server`,web:`Web`};function O(e){return e.map(e=>Object.prototype.hasOwnProperty.call(D,e)?D[e]:e).join(`, `)}function k(e){return encodeURIComponent(JSON.stringify([e.kind,e.name,e.version]))}var A=e(n(),1),j;async function M(){let e=AbortSignal.timeout(3e4);try{let t=await fetch(`${`/`.replace(/\/$/,``)}/third-party-licenses.json`,{signal:e});if(!t.ok)throw Error(`The license manifest request failed with status ${String(t.status)}.`);return T(await t.json())}catch(t){throw e.aborted?Error(`The license manifest took too long to load.`,{cause:t}):t}}function N(){return j??=M().catch(e=>{throw j=void 0,e}),j}function P(e){let t=(0,b.c)(34),{entry:n,open:r,onOpenChange:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,A.jsx)(a,{"aria-hidden":!0,className:`size-3.5 shrink-0 text-muted-foreground transition-transform duration-200 group-data-panel-open:rotate-90`}),t[0]=c):c=t[0];let l;t[1]===n.name?l=t[2]:(l=(0,A.jsx)(`span`,{className:`truncate font-medium text-foreground`,children:n.name}),t[1]=n.name,t[2]=l);let u;t[3]===n.version?u=t[4]:(u=n.version?(0,A.jsx)(`code`,{className:`shrink-0 text-xs text-muted-foreground`,children:n.version}):null,t[3]=n.version,t[4]=u);let d;t[5]!==l||t[6]!==u?(d=(0,A.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[l,u]}),t[5]=l,t[6]=u,t[7]=d):d=t[7];let f=n.license,p;t[8]===n.bundles?p=t[9]:(p=O(n.bundles),t[8]=n.bundles,t[9]=p);let m;t[10]!==n.license||t[11]!==p?(m=(0,A.jsxs)(`span`,{className:`max-w-[42%] shrink-0 truncate text-xs text-muted-foreground`,children:[f,` · `,p]}),t[10]=n.license,t[11]=p,t[12]=m):m=t[12];let h;t[13]!==d||t[14]!==m?(h=(0,A.jsxs)(_,{className:`group flex min-h-10 min-w-0 flex-1 items-center gap-2.5 px-3 text-left sm:min-h-9 sm:px-4`,children:[c,d,m]}),t[13]=d,t[14]=m,t[15]=h):h=t[15];let y;t[16]!==n.name||t[17]!==n.sourceUrl?(y=n.sourceUrl?(0,A.jsx)(i,{"aria-label":`View project source for ${n.name}`,className:`me-3 shrink-0 sm:me-4`,render:(0,A.jsx)(`a`,{href:n.sourceUrl,rel:`noreferrer noopener`,target:`_blank`}),size:`icon-micro`,title:`Project source`,variant:`ghost-muted`,children:(0,A.jsx)(o,{"aria-hidden":!0,className:`size-3`})}):null,t[16]=n.name,t[17]=n.sourceUrl,t[18]=y):y=t[18];let x;t[19]!==h||t[20]!==y?(x=(0,A.jsxs)(`div`,{className:`flex min-h-10 items-center hover:bg-muted/35 sm:min-h-9`,children:[h,y]}),t[19]=h,t[20]=y,t[21]=x):x=t[21];let S;t[22]!==n.noticeText||t[23]!==r?(S=r?(0,A.jsx)(`div`,{className:`px-9 pt-1 pb-4 sm:px-10`,children:(0,A.jsx)(`pre`,{className:`max-w-[76ch] whitespace-pre-wrap break-words font-mono text-xs/5 text-foreground/80`,children:n.noticeText})}):null,t[22]=n.noticeText,t[23]=r,t[24]=S):S=t[24];let C;t[25]===S?C=t[26]:(C=(0,A.jsx)(g,{children:S}),t[25]=S,t[26]=C);let w;t[27]!==x||t[28]!==C?(w=(0,A.jsxs)(`article`,{children:[x,C]}),t[27]=x,t[28]=C,t[29]=w):w=t[29];let T;return t[30]!==s||t[31]!==r||t[32]!==w?(T=(0,A.jsx)(v,{open:r,onOpenChange:s,children:w}),t[30]=s,t[31]=r,t[32]=w,t[33]=T):T=t[33],T}function F(e){let t=(0,b.c)(2),{filteredCount:n,totalCount:r}=e,i=n===r?`${String(r)} notices`:`${String(n)} of ${String(r)}`,a;return t[0]===i?a=t[1]:(a=(0,A.jsx)(`p`,{className:`whitespace-nowrap text-xs font-normal text-muted-foreground tabular-nums`,children:i}),t[0]=i,t[1]=a),a}function I(e){let t=(0,b.c)(34),{query:n,onQueryChange:r,searchOpen:a,onSearchOpenChange:o,filteredCount:m,totalCount:h}=e;if(!a){let e;t[0]!==m||t[1]!==h?(e=(0,A.jsx)(F,{filteredCount:m,totalCount:h}),t[0]=m,t[1]=h,t[2]=e):e=t[2];let n;t[3]===o?n=t[4]:(n=()=>o(!0),t[3]=o,t[4]=n);let r;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,A.jsx)(s,{className:`size-3`}),t[5]=r):r=t[5];let a;t[6]===n?a=t[7]:(a=(0,A.jsx)(c,{render:(0,A.jsx)(i,{"aria-label":`Search open-source licenses`,onClick:n,size:`icon-micro`,type:`button`,variant:`ghost-muted`,children:r})}),t[6]=n,t[7]=a);let d;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,A.jsx)(l,{side:`top`,children:`Search licenses`}),t[8]=d):d=t[8];let f;t[9]===a?f=t[10]:(f=(0,A.jsxs)(u,{children:[a,d]}),t[9]=a,t[10]=f);let p;return t[11]!==e||t[12]!==f?(p=(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[e,f]}),t[11]=e,t[12]=f,t[13]=p):p=t[13],p}let g;t[14]!==m||t[15]!==h?(g=(0,A.jsx)(`div`,{className:`hidden sm:block`,children:(0,A.jsx)(F,{filteredCount:m,totalCount:h})}),t[14]=m,t[15]=h,t[16]=g):g=t[16];let _;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,A.jsx)(d,{children:(0,A.jsx)(s,{"aria-hidden":!0,className:`size-3`})}),t[17]=_):_=t[17];let v;t[18]!==o||t[19]!==n.length?(v=()=>{n.length===0&&o(!1)},t[18]=o,t[19]=n.length,t[20]=v):v=t[20];let y;t[21]===r?y=t[22]:(y=e=>r(e.currentTarget.value),t[21]=r,t[22]=y);let x;t[23]!==r||t[24]!==o?(x=e=>{e.key===`Escape`&&(e.preventDefault(),r(``),o(!1))},t[23]=r,t[24]=o,t[25]=x):x=t[25];let S;t[26]!==n||t[27]!==v||t[28]!==y||t[29]!==x?(S=(0,A.jsxs)(p,{className:`w-36 sm:w-44`,children:[_,(0,A.jsx)(f,{"aria-label":`Search open-source licenses`,autoFocus:!0,onBlur:v,onChange:y,onKeyDown:x,placeholder:`Search licenses`,size:`sm`,type:`search`,value:n})]}),t[26]=n,t[27]=v,t[28]=y,t[29]=x,t[30]=S):S=t[30];let C;return t[31]!==g||t[32]!==S?(C=(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[g,S]}),t[31]=g,t[32]=S,t[33]=C):C=t[33],C}function L(e){let t=(0,b.c)(8),{message:n,onRetry:r}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,A.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:`Open-source notices are unavailable`}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,A.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[a,(0,A.jsx)(`p`,{className:`max-w-[70ch] text-pretty text-xs leading-normal text-muted-foreground/80`,children:n})]}),t[1]=n,t[2]=o);let s;t[3]===r?s=t[4]:(s=(0,A.jsx)(i,{type:`button`,size:`xs`,variant:`outline`,onClick:r,children:`Try again`}),t[3]=r,t[4]=s);let c;return t[5]!==o||t[6]!==s?(c=(0,A.jsxs)(`div`,{className:`flex flex-col items-start gap-3 px-3 py-5 sm:px-4`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function R(){let e=(0,b.c)(25),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={status:`loading`},e[0]=t):t=e[0];let[n,r]=(0,y.useState)(t),[i,a]=(0,y.useState)(``),[o,s]=(0,y.useState)(!1),[c,l]=(0,y.useState)(null),[u,d]=(0,y.useState)(0),f;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{let e=!1;return r({status:`loading`}),N().then(t=>{e||r({status:`ready`,manifest:t})},t=>{e||r({status:`error`,message:t instanceof Error?t.message:`The license manifest could not load.`})}),()=>{e=!0}},e[1]=f):f=e[1];let p;e[2]===u?p=e[3]:(p=[u],e[2]=u,e[3]=p),(0,y.useEffect)(f,p);let g;e[4]!==n.manifest||e[5]!==n.status?(g=n.status===`ready`?n.manifest.entries:[],e[4]=n.manifest,e[5]=n.status,e[6]=g):g=e[6];let _=g,v;e[7]!==_||e[8]!==i?(v=E(_,i),e[7]=_,e[8]=i,e[9]=v):v=e[9];let x=v,S;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>d(z),e[10]=S):S=e[10];let C=S,w;e[11]!==_||e[12]!==x||e[13]!==i||e[14]!==o||e[15]!==n.status?(w=n.status===`ready`?(0,A.jsx)(I,{query:i,onQueryChange:a,searchOpen:o,onSearchOpenChange:s,filteredCount:x.length,totalCount:_.length}):null,e[11]=_,e[12]=x,e[13]=i,e[14]=o,e[15]=n.status,e[16]=w):w=e[16];let T;e[17]!==x||e[18]!==c||e[19]!==n.message||e[20]!==n.status?(T=n.status===`ready`?(0,A.jsx)(`div`,{className:`text-base sm:text-sm`,children:x.length>0?x.map(e=>{let t=k(e);return(0,A.jsx)(P,{entry:e,open:c===t,onOpenChange:e=>l(e?t:null)},t)}):(0,A.jsx)(`p`,{className:`px-3 py-8 text-center text-sm/6 text-muted-foreground sm:px-4`,children:`No licenses match that search.`})}):n.status===`error`?(0,A.jsx)(L,{message:n.message,onRetry:C}):(0,A.jsx)(`p`,{className:`px-3 py-5 text-sm/6 text-muted-foreground sm:px-4`,children:`Loading open-source notices…`}),e[17]=x,e[18]=c,e[19]=n.message,e[20]=n.status,e[21]=T):T=e[21];let D;return e[22]!==w||e[23]!==T?(D=(0,A.jsx)(m,{children:(0,A.jsx)(h,{title:`Third-party notices`,headerAction:w,children:T})}),e[22]=w,e[23]=T,e[24]=D):D=e[24],D}function z(e){return e+1}var B=R;export{B as component};
2
+ //# sourceMappingURL=settings.open-source-licenses-Mh-zg97k.js.map