@p4code/cli 0.8.26 → 0.8.28

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 (229) hide show
  1. package/dist/bin.mjs +1 -1
  2. package/dist/{binCli-DgjAnX7K.mjs → binCli-CTh3xknE.mjs} +3 -3
  3. package/dist/client/.vite/manifest.json +1351 -1351
  4. package/dist/client/assets/{AuthSurfaceShell-B0GeuqGG.js → AuthSurfaceShell-D_hzy5by.js} +2 -2
  5. package/dist/client/assets/{ChatGptUsageButton-BsRw7PIG.js → ChatGptUsageButton-B7IBN3Pq.js} +2 -2
  6. package/dist/client/assets/{ChatMarkdown-B_7CYt1t.js → ChatMarkdown-6bkZ78vO.js} +7 -7
  7. package/dist/client/assets/CodexSetupSection.logic-87IQTLRa.js +2 -0
  8. package/dist/client/assets/{CommandBlock-a6FR0Qjq.js → CommandBlock-DXCZ6paN.js} +2 -2
  9. package/dist/client/assets/{ComposerPromptEditor-JiLuF8sa.js → ComposerPromptEditor-DZ-YKnMe.js} +6 -6
  10. package/dist/client/assets/{DevicePanel-BCkjPnRB.js → DevicePanel-CECEStbX.js} +2 -2
  11. package/dist/client/assets/{DeviceSetup-jQhLCRQB.js → DeviceSetup-Ck1EofY9.js} +2 -2
  12. package/dist/client/assets/{DiffCommentAnnotation-Ce3fywCz.js → DiffCommentAnnotation-CvI2pBnS.js} +2 -2
  13. package/dist/client/assets/{DiffFileTree-Ch8ghRNl.js → DiffFileTree-DbLr5IWH.js} +2 -2
  14. package/dist/client/assets/{DiffPanel-BYdDuPJL.js → DiffPanel-Cq1eltuZ.js} +2 -2
  15. package/dist/client/assets/{DiffWorkerPoolProvider-CCTRrTde.js → DiffWorkerPoolProvider-KQyWsi6k.js} +3 -3
  16. package/dist/client/assets/{EmbeddedDesign-BasGnrZc.js → EmbeddedDesign-DhM04pU7.js} +2 -2
  17. package/dist/client/assets/{FileDiff-HO0wYuF-.js → FileDiff-CNttiWtf.js} +2 -2
  18. package/dist/client/assets/{FilePreviewPanel-BWAkLnOF.js → FilePreviewPanel-CGicpbOo.js} +5 -5
  19. package/dist/client/assets/{FoldedSettingsSection-itwybIpg.js → FoldedSettingsSection-BTPWwXUE.js} +2 -2
  20. package/dist/client/assets/{NoProjectsHero-1ktyCaCR.js → NoProjectsHero-kyhQJSgF.js} +2 -2
  21. package/dist/client/assets/{P4ConnectAccountPages-C8kjCH2i.js → P4ConnectAccountPages-DRIMCs7k.js} +2 -2
  22. package/dist/client/assets/{P4ConnectSidebarSignIn-De0TqOBv.js → P4ConnectSidebarSignIn-C-ZetXUN.js} +2 -2
  23. package/dist/client/assets/{PanelLayoutControls-CRn29ViL.js → PanelLayoutControls-D9ZXss-X.js} +7 -7
  24. package/dist/client/assets/{PierreEntryIcon-DZSPzXnW.js → PierreEntryIcon-B803YO8_.js} +2 -2
  25. package/dist/client/assets/PreviewPanel-BziiiQxi.js +2 -0
  26. package/dist/client/assets/{ProjectDefaultsSettings-Ibem_Z4L.js → ProjectDefaultsSettings-xYQqDWRw.js} +2 -2
  27. package/dist/client/assets/{ProjectFavicon-CE_urBAW.js → ProjectFavicon-BxL9C_zZ.js} +3 -3
  28. package/dist/client/assets/{ProjectIconPickerDialog-D0OZSLq9.js → ProjectIconPickerDialog-gjdCKD85.js} +2 -2
  29. package/dist/client/assets/{ProviderAuthTerminal-Ddl4fv02.js → ProviderAuthTerminal-BdqGbrD-.js} +2 -2
  30. package/dist/client/assets/{ProviderModelPicker-BTTJn7iC.js → ProviderModelPicker-BFOGSdmh.js} +2 -2
  31. package/dist/client/assets/{ProviderSettingsForm-CGRf8WX5.js → ProviderSettingsForm-BJzj9wl2.js} +2 -2
  32. package/dist/client/assets/{PullRequestCodeTab-CWg3y2Hg.js → PullRequestCodeTab-C8muv3ss.js} +3 -3
  33. package/dist/client/assets/{ReadOnlySourcePreview-B2RUv5et.js → ReadOnlySourcePreview-CnJC2otA.js} +2 -2
  34. package/dist/client/assets/{RenderErrorBoundary-BE9pu802.js → RenderErrorBoundary-CWP7Ykmu.js} +2 -2
  35. package/dist/client/assets/{ScheduledTasksSettings-LlwIif-M.js → ScheduledTasksSettings-B2-ZEorL.js} +4 -4
  36. package/dist/client/assets/{ScopedSwitch-DM7op4tT.js → ScopedSwitch-BX-fVWkE.js} +2 -2
  37. package/dist/client/assets/{SettingsPanels-BJZmVkq6.js → SettingsPanels-BDtXSbdD.js} +7 -7
  38. package/dist/client/assets/{SettingsPanels.logic-DlcMmTBT.js → SettingsPanels.logic-OCadp8dD.js} +2 -2
  39. package/dist/client/assets/{SettingsScopeNotice-DvcB28n8.js → SettingsScopeNotice-Dajn79Bg.js} +2 -2
  40. package/dist/client/assets/{ThemeEditorPanel-Cv_FhYYJ.js → ThemeEditorPanel-DXEV7Ie_.js} +2 -2
  41. package/dist/client/assets/{ThreadTerminalDrawer-B4Hx5Gtc.js → ThreadTerminalDrawer-aFQnCwrV.js} +3 -3
  42. package/dist/client/assets/{Virtualizer-Dka4WQhw.js → Virtualizer-DMRRdqR9.js} +2 -2
  43. package/dist/client/assets/{_chat-71Bl4UTO.js → _chat-EbDz56cx.js} +34 -34
  44. package/dist/client/assets/{_chat.design-L-wLlTQh.js → _chat.design-DWI-MLY7.js} +2 -2
  45. package/dist/client/assets/{_chat.index-Cqzn3tFu.js → _chat.index-CIbURiJU.js} +2 -2
  46. package/dist/client/assets/{_chat.new-CmqMNN1q.js → _chat.new-DkERK7Ju.js} +2 -2
  47. package/dist/client/assets/{_chat.pull-requests-Cv4Q6L5c.js → _chat.pull-requests-BXkli2jv.js} +2 -2
  48. package/dist/client/assets/{abnfDiagram-VCTEODGH-DGwfULSN.js → abnfDiagram-VCTEODGH-ByXKIMIJ.js} +2 -2
  49. package/dist/client/assets/architecture-7GRP2DOG-DI9suUNc.js +1 -0
  50. package/dist/client/assets/{architectureDiagram-5GKGNRK7-fZiBVATu.js → architectureDiagram-5GKGNRK7-CRs8AN1Y.js} +2 -2
  51. package/dist/client/assets/{assets-Zca4LKSx.js → assets-BNBTdYNP.js} +2 -2
  52. package/dist/client/assets/{blockDiagram-I7D4REHJ-Cs_imlrU.js → blockDiagram-I7D4REHJ-ilgACMM3.js} +2 -2
  53. package/dist/client/assets/{browserHistoryStore-9YCQpJy9.js → browserHistoryStore-BX8E7ldD.js} +2 -2
  54. package/dist/client/assets/{browserLinkTarget-BnxzanaN.js → browserLinkTarget-D3eCixJp.js} +2 -2
  55. package/dist/client/assets/{c4Diagram-7LVT6UL2-jxRP5rAE.js → c4Diagram-7LVT6UL2-Bwq3-L7P.js} +2 -2
  56. package/dist/client/assets/channel-BAWAGigO.js +2 -0
  57. package/dist/client/assets/{chunk-4HAMMTFA-CD4tA6cX.js → chunk-4HAMMTFA-C4jNDShb.js} +2 -2
  58. package/dist/client/assets/{chunk-75Z2AOVW-B4sXgwEx.js → chunk-75Z2AOVW-L1wmF_KI.js} +2 -2
  59. package/dist/client/assets/{chunk-DU6HZSFF-DMXcgXT_.js → chunk-DU6HZSFF-BfZ5xWy3.js} +2 -2
  60. package/dist/client/assets/{chunk-F27PBJKO-CGf21cwH.js → chunk-F27PBJKO-BkacPGLC.js} +2 -2
  61. package/dist/client/assets/{chunk-GMAD6QVW-mPVRZq9Z.js → chunk-GMAD6QVW-oeSYhMBo.js} +2 -2
  62. package/dist/client/assets/{chunk-GVQU2GXP-ChBHtvjy.js → chunk-GVQU2GXP-BuEWFnig.js} +2 -2
  63. package/dist/client/assets/{chunk-IMKFNOWR-BtgRygmA.js → chunk-IMKFNOWR-DD3QIg9Y.js} +2 -2
  64. package/dist/client/assets/{chunk-L3NEJ4N5-REmklvQl.js → chunk-L3NEJ4N5-z7EX83WR.js} +2 -2
  65. package/dist/client/assets/{chunk-OSK3NFVY-m-QXUYaT.js → chunk-OSK3NFVY-DHZoeWxe.js} +2 -2
  66. package/dist/client/assets/{chunk-P2QGCYS3-CeefF5cA.js → chunk-P2QGCYS3-CoY88v85.js} +2 -2
  67. package/dist/client/assets/{chunk-POPQ4Y6H-C-_RXsmg.js → chunk-POPQ4Y6H-C0LoWsGT.js} +2 -2
  68. package/dist/client/assets/{chunk-PWAF6VOD-DflyqEaS.js → chunk-PWAF6VOD-D56FBahr.js} +2 -2
  69. package/dist/client/assets/{chunk-SHT3W25Y-R_Fg17nt.js → chunk-SHT3W25Y-DV5FTtwQ.js} +2 -2
  70. package/dist/client/assets/{chunk-SVP7TREG-BTfev3Yx.js → chunk-SVP7TREG-8Re3q7oh.js} +2 -2
  71. package/dist/client/assets/{chunk-TICWLB2K-C7WGvYp1.js → chunk-TICWLB2K-Cf6JQRsk.js} +2 -2
  72. package/dist/client/assets/classDiagram-ZZMXUADV-DIxrr9dl.js +2 -0
  73. package/dist/client/assets/classDiagram-v2-VYDZK3BY-DIxrr9dl.js +2 -0
  74. package/dist/client/assets/{composer-logic-De298qJ8.js → composer-logic-qo_WCoOG.js} +2 -2
  75. package/dist/client/assets/{composerDraftUploads-DojMN9dn.js → composerDraftUploads-V25cFF6x.js} +2 -2
  76. package/dist/client/assets/{connect-agent-Dss1yfYI.js → connect-agent-BxzfRNpE.js} +2 -2
  77. package/dist/client/assets/{connect-DqGJc6Zq.js → connect-xS5TNxN6.js} +2 -2
  78. package/dist/client/assets/{cynefin-OW5HDTMX-DnGTy7Az.js → cynefin-OW5HDTMX-IIXmP-nN.js} +1 -1
  79. package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-va9nLZtf.js → cynefinDiagram-5FMLGOSQ-BcJM9-A6.js} +2 -2
  80. package/dist/client/assets/{dagre-GXQ25YYZ-D0QXSOGs.js → dagre-GXQ25YYZ-DdHQMvS3.js} +2 -2
  81. package/dist/client/assets/{design-C9BU7qd7.js → design-BJ2IVJXi.js} +2 -2
  82. package/dist/client/assets/{device-CtPu58XW.js → device-B5UHgye_.js} +2 -2
  83. package/dist/client/assets/{diagram-S7CK7UJ4-cEFyiWjL.js → diagram-S7CK7UJ4-CryZrud_.js} +2 -2
  84. package/dist/client/assets/{diagram-UQ7AKVKN-CNgu8Xrb.js → diagram-UQ7AKVKN-BAERLSjk.js} +2 -2
  85. package/dist/client/assets/{diagram-VSXAHHWV-BPPJ-FGp.js → diagram-VSXAHHWV-BFezrcB9.js} +2 -2
  86. package/dist/client/assets/{diagram-VX7I27RA-DmmJR7mF.js → diagram-VX7I27RA-C_DPu9hN.js} +2 -2
  87. package/dist/client/assets/{diagram-Z3DM3KII-B2E7hDLy.js → diagram-Z3DM3KII-gf1HXqDh.js} +2 -2
  88. package/dist/client/assets/{diffRendering-Dam20Pyq.js → diffRendering-BZVYVxSb.js} +2 -2
  89. package/dist/client/assets/{dist-BDrj9x6z.js → dist-C4dEfrtE.js} +2 -2
  90. package/dist/client/assets/{duoViewer-D-r4O9JA.js → duoViewer-BSJbAeAM.js} +2 -2
  91. package/dist/client/assets/{dynamic-Cog_ioOk.js → dynamic-BwDInrZk.js} +2 -2
  92. package/dist/client/assets/{ebnfDiagram-PWID7BFC-CdqWonW-.js → ebnfDiagram-PWID7BFC-DOa1Oxoi.js} +2 -2
  93. package/dist/client/assets/{embeddedScripts-twbjTzvu.js → embeddedScripts-B6n6Rzsw.js} +2 -2
  94. package/dist/client/assets/{entities-BhpgabTo.js → entities-f_LpWDGP.js} +2 -2
  95. package/dist/client/assets/{erDiagram-RLTQ6QDP-Cj9VHvs2.js → erDiagram-RLTQ6QDP-BOgY2RsW.js} +2 -2
  96. package/dist/client/assets/eventmodeling-NTZA5JFV-DWccyGhB.js +1 -0
  97. package/dist/client/assets/{fileLinks-CCxqMBvI.js → fileLinks-C5feST6o.js} +2 -2
  98. package/dist/client/assets/{fileTreeExpansion-N_KS64dO.js → fileTreeExpansion-4McmDYkr.js} +2 -2
  99. package/dist/client/assets/flowDiagram-HODETNUW-2xlj_oad.js +1 -0
  100. package/dist/client/assets/{ganttDiagram-EL5Y4UJY--tZCMTKs.js → ganttDiagram-EL5Y4UJY-DHANnqYy.js} +2 -2
  101. package/dist/client/assets/{getDiffFileInput-wQ-J_p6Q.js → getDiffFileInput-DjHqn-Tb.js} +2 -2
  102. package/dist/client/assets/{gitGraph-4MIJSDKK-Dw_fdYPs.js → gitGraph-4MIJSDKK-B1wP1IDj.js} +1 -1
  103. package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-mCz7mnTd.js → gitGraphDiagram-WWUBYQGX-odn00pH9.js} +2 -2
  104. package/dist/client/assets/{guideRunStore-Dk9f0e_S.js → guideRunStore-BuXFHADO.js} +2 -2
  105. package/dist/client/assets/{index-B0OiR0Ol.js → index-DW7vuxv_.js} +3 -3
  106. package/dist/client/assets/{info-A6RAGUB7-Dm2Q2YW8.js → info-A6RAGUB7-Dvw63L11.js} +1 -1
  107. package/dist/client/assets/{infoDiagram-27XIBGKW-CRahhr54.js → infoDiagram-27XIBGKW-CU82rrtH.js} +2 -2
  108. package/dist/client/assets/{ishikawaDiagram-5VMMS53U-B8BPPaoL.js → ishikawaDiagram-5VMMS53U-CUWA9EZ6.js} +2 -2
  109. package/dist/client/assets/{journeyDiagram-3NMN7TZE-CyL0jLPT.js → journeyDiagram-3NMN7TZE-DxDN61m2.js} +2 -2
  110. package/dist/client/assets/{kanban-definition-UXKFOSKX-cbdied2B.js → kanban-definition-UXKFOSKX-DsVX8mLR.js} +2 -2
  111. package/dist/client/assets/{line-qgzYahVp.js → line-Bd1UwAnv.js} +2 -2
  112. package/dist/client/assets/{linkedPrompt-BZnl7hrP.js → linkedPrompt-9p_0HiUR.js} +2 -2
  113. package/dist/client/assets/main-D6OSHTK1.js +28 -0
  114. package/dist/client/assets/main-DYflPzD9.css +2 -0
  115. package/dist/client/assets/{mediaReference-BhzLpYF9.js → mediaReference-BqCWwE_6.js} +2 -2
  116. package/dist/client/assets/{mediaSource-Bk_NKKP2.js → mediaSource-CKXEV-xH.js} +2 -2
  117. package/dist/client/assets/{mermaid-parser.core-Dbb1WTb8.js → mermaid-parser.core-DNVawM8U.js} +4 -4
  118. package/dist/client/assets/{mermaid.core-Dtz8UzUI.js → mermaid.core-DiY2Mo1k.js} +5 -5
  119. package/dist/client/assets/{mindmap-definition-YA3MSWOX-D7G9MbUQ.js → mindmap-definition-YA3MSWOX-D9niWwdo.js} +2 -2
  120. package/dist/client/assets/{onboarding-CXb4LvSr.js → onboarding-ChIfLFtJ.js} +2 -2
  121. package/dist/client/assets/{openFileInPreview-B8KdOFV6.js → openFileInPreview-BEwUYee4.js} +2 -2
  122. package/dist/client/assets/{p4ProjectFile-BrXxii5J.js → p4ProjectFile-CuaSnYfs.js} +2 -2
  123. package/dist/client/assets/{packet-AYTQ26CC-3JoyTbIn.js → packet-AYTQ26CC-DUQ3tZCm.js} +1 -1
  124. package/dist/client/assets/{pair-B6bpqsN5.js → pair-CqJy0vEz.js} +2 -2
  125. package/dist/client/assets/{pegDiagram-XKGWAZYB-7VJjFwNR.js → pegDiagram-XKGWAZYB-CngbWshp.js} +2 -2
  126. package/dist/client/assets/{phoneViewer-DDX1p0cN.js → phoneViewer-EiVMUfJk.js} +2 -2
  127. package/dist/client/assets/{pie-WAS4IAKB-CXeLZCFV.js → pie-WAS4IAKB-BTlxIvlT.js} +1 -1
  128. package/dist/client/assets/{pieDiagram-E7YTZNPT-BY1P4Uer.js → pieDiagram-E7YTZNPT-DGB8Wyv9.js} +2 -2
  129. package/dist/client/assets/{pierre-icons-CL-szz98.js → pierre-icons-h-5PO6Es.js} +2 -2
  130. package/dist/client/assets/{preview-HJcGsd2o.js → preview-D2IUAcO1.js} +2 -2
  131. package/dist/client/assets/{primary-rJDv25B2.js → primary-BiKaD1fF.js} +2 -2
  132. package/dist/client/assets/{primaryCloudLinkState-CzF2gmHs.js → primaryCloudLinkState-Cj6NnNj4.js} +2 -2
  133. package/dist/client/assets/{projectFilesQueryState-DM9_vSRA.js → projectFilesQueryState-C9qxBsmE.js} +2 -2
  134. package/dist/client/assets/projectScriptEditor-CIO5ye4D.js +2 -0
  135. package/dist/client/assets/{providerSkills-waACvYAJ.js → providerSkills-Dez8rDqH.js} +2 -2
  136. package/dist/client/assets/{pullRequestDetail.logic-C-5flOlM.js → pullRequestDetail.logic-UDSGN79l.js} +2 -2
  137. package/dist/client/assets/{pullRequests-Br_9L7m4.js → pullRequests-DK5muENv.js} +2 -2
  138. package/dist/client/assets/{quadrantDiagram-AXDQQJYC-DyZq_mGc.js → quadrantDiagram-AXDQQJYC-Dyks054W.js} +2 -2
  139. package/dist/client/assets/{queries-CuZx4Gi3.js → queries-CnKYA1jH.js} +2 -2
  140. package/dist/client/assets/{radar-RG4KPBEZ-B21YfCpU.js → radar-RG4KPBEZ-5t86Aak1.js} +1 -1
  141. package/dist/client/assets/{railroad-74A4TZTK-CaiYAzxA.js → railroad-74A4TZTK-CjZW18sO.js} +1 -1
  142. package/dist/client/assets/railroad-abnf-HS5TGJTU-DOBW6UbH.js +1 -0
  143. package/dist/client/assets/railroad-ebnf-LZEXJU2U-Ck7zj7ML.js +1 -0
  144. package/dist/client/assets/railroad-peg-WCYAUIDC-BkEDvnoB.js +1 -0
  145. package/dist/client/assets/{railroadDiagram-O6MQD6OU-BZ0HuIrV.js → railroadDiagram-O6MQD6OU-DY2XrwTu.js} +2 -2
  146. package/dist/client/assets/{renderScheduler-xdSjl5z7.js → renderScheduler-CxIHtCj0.js} +2 -2
  147. package/dist/client/assets/{requirementDiagram-BXWQKSXE-C4OJUf9q.js → requirementDiagram-BXWQKSXE-9MWiyLFr.js} +2 -2
  148. package/dist/client/assets/{runtime-mg6KxRIi.js → runtime-BtL_3nGT.js} +3 -3
  149. package/dist/client/assets/{runtime-V62Oyi1q.js → runtime-CxXKASQ8.js} +2 -2
  150. package/dist/client/assets/{sankeyDiagram-P5KCCOFB-CDOw9Kul.js → sankeyDiagram-P5KCCOFB-o3eBJ4t5.js} +2 -2
  151. package/dist/client/assets/{scheduledTasksSettings.logic-CrYg_vYi.js → scheduledTasksSettings.logic-CpaoLLyc.js} +2 -2
  152. package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-C9BMDi3Q.js → sequenceDiagram-WJ2MYXX4-E9SEYXIP.js} +2 -2
  153. package/dist/client/assets/{server-C8OpoOTL.js → server-DK7wLDqS.js} +2 -2
  154. package/dist/client/assets/{session-BAH17FBJ.js → session-CB_SwK9v.js} +2 -2
  155. package/dist/client/assets/{session-logic-BKiIVDj0.js → session-logic-lPOzc1cs.js} +2 -2
  156. package/dist/client/assets/{settings-BiLwAn9B.js → settings-vpymP2yR.js} +2 -2
  157. package/dist/client/assets/{settings.appearance-DB8azH3Q.js → settings.appearance-CRhnBCI2.js} +2 -2
  158. package/dist/client/assets/settings.archived-qDhcwMq8.js +2 -0
  159. package/dist/client/assets/{settings.computer-use-DpcKtt2q.js → settings.computer-use-54EsP-qO.js} +2 -2
  160. package/dist/client/assets/{settings.connections-RKFcKfpz.js → settings.connections-Ck3AgyGG.js} +2 -2
  161. package/dist/client/assets/{settings.data-controls-NjUH57Fr.js → settings.data-controls-D_RMMjIN.js} +2 -2
  162. package/dist/client/assets/{settings.decisions-B-HjeKFr.js → settings.decisions-Cbvkif9S.js} +2 -2
  163. package/dist/client/assets/{settings.designs-DWbfEcuK.js → settings.designs-BefGbBVB.js} +2 -2
  164. package/dist/client/assets/{settings.diagnostics-DY7e0sc8.js → settings.diagnostics-XFetpvca.js} +2 -2
  165. package/dist/client/assets/{settings.general-dsLXGi9j.js → settings.general-Bk6wtWtE.js} +2 -2
  166. package/dist/client/assets/settings.integrations-C6Lgx1NO.js +2 -0
  167. package/dist/client/assets/{settings.keybindings-Bcl4KxN4.js → settings.keybindings-BkE-gcjT.js} +2 -2
  168. package/dist/client/assets/{settings.open-source-licenses-ZP9ezdc4.js → settings.open-source-licenses-C10v2gWN.js} +2 -2
  169. package/dist/client/assets/{settings.plugins-JjZ7Ptzj.js → settings.plugins-DCZ1gwld.js} +4 -4
  170. package/dist/client/assets/{settings.projects-DhhMAw0F.js → settings.projects-BInuPAfr.js} +3 -3
  171. package/dist/client/assets/{settings.providers-sowFjazx.js → settings.providers-ggyV-d7U.js} +3 -3
  172. package/dist/client/assets/{settings.scheduled-tasks-BIfprPPD.js → settings.scheduled-tasks-CkALFkch.js} +2 -2
  173. package/dist/client/assets/{settings.snap-shot-B1go--dA.js → settings.snap-shot-R8RC_FLN.js} +2 -2
  174. package/dist/client/assets/settings.source-control-DteTH38s.js +2 -0
  175. package/dist/client/assets/{settings.storage-Bt_7LmzS.js → settings.storage-CMsiwSuK.js} +2 -2
  176. package/dist/client/assets/{settingsLayout-DaLF8Hfm.js → settingsLayout-CFe_w3zi.js} +2 -2
  177. package/dist/client/assets/{sidebar-BopQa8qy.js → sidebar-tK61bIR5.js} +2 -2
  178. package/dist/client/assets/sidebarProjectGrouping-DR0wmmJk.js +2 -0
  179. package/dist/client/assets/{sourceControl-B9T0IPlu.js → sourceControl-DNVstovX.js} +2 -2
  180. package/dist/client/assets/{sourceControlClients-BgBu2ayZ.js → sourceControlClients-CW3X8Vqj.js} +2 -2
  181. package/dist/client/assets/{stateDiagram-D77RDMKH-B032MgyK.js → stateDiagram-D77RDMKH-DIphJncn.js} +2 -2
  182. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-l4hzw06_.js +2 -0
  183. package/dist/client/assets/{swimlanes-42K2YHIH-Bn6WbS8G.js → swimlanes-42K2YHIH-BY19pg1S.js} +2 -2
  184. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-Dm5nKQAS.js +9 -0
  185. package/dist/client/assets/{terminalSessions-BjIB3wg1.js → terminalSessions-Br7AMEFR.js} +2 -2
  186. package/dist/client/assets/{timeline-definition-24CTP7MA-RGCq2eyK.js → timeline-definition-24CTP7MA-ByzcuBaC.js} +2 -2
  187. package/dist/client/assets/toast-C2NI-Hlh.js +2 -0
  188. package/dist/client/assets/toastHelpers-DxXYm50b.js +2 -0
  189. package/dist/client/assets/{treeView-Q6P3EWNA-CkhQE3UU.js → treeView-Q6P3EWNA-C6l--y6F.js} +1 -1
  190. package/dist/client/assets/{treemap-WGGIJYW6-DjBfz9t-.js → treemap-WGGIJYW6-2WmHmD0F.js} +1 -1
  191. package/dist/client/assets/{uiStateStore-TZf81BHB.js → uiStateStore-z548e4qC.js} +3 -3
  192. package/dist/client/assets/{usage-Dp-M0_Do.js → usage-Bb-jkura.js} +2 -2
  193. package/dist/client/assets/{use-atom-command-BWLbyoVN.js → use-atom-command-BBLN3-cB.js} +2 -2
  194. package/dist/client/assets/{useHandleNewThread-DLupIP68.js → useHandleNewThread-CsUYJUoP.js} +2 -2
  195. package/dist/client/assets/{useP4ConnectAuthPrompt-C18iYCzm.js → useP4ConnectAuthPrompt-C_DWHou2.js} +2 -2
  196. package/dist/client/assets/{usePullRequestActions-CWCz_AQW.js → usePullRequestActions-2RLXa_AL.js} +2 -2
  197. package/dist/client/assets/{useScopedModelAvailability-D1MGYLGR.js → useScopedModelAvailability-CLSjirRK.js} +2 -2
  198. package/dist/client/assets/useSettings-BeOQNM41.js +3 -0
  199. package/dist/client/assets/{vcsRefInvalidation-Dx_cpFEA.js → vcsRefInvalidation-D5r-YO6n.js} +2 -2
  200. package/dist/client/assets/{vennDiagram-4TSXK5OY-D0wsDnkf.js → vennDiagram-4TSXK5OY-CsSeQEmm.js} +2 -2
  201. package/dist/client/assets/{wardley-WFR3VGLG-BT7dOBGA.js → wardley-WFR3VGLG-DHUa30e5.js} +1 -1
  202. package/dist/client/assets/{wardleyDiagram-VM6X3IG4-CgbZOhZ-.js → wardleyDiagram-VM6X3IG4-NUfaDxHP.js} +2 -2
  203. package/dist/client/assets/{welcome-D3Kttsfe.js → welcome-DUwjP1q3.js} +2 -2
  204. package/dist/client/assets/{xychartDiagram-S5SC5T6Z-D3RW49u7.js → xychartDiagram-S5SC5T6Z-wdjDjsiQ.js} +2 -2
  205. package/dist/client/index.html +1 -1
  206. package/package.json +1 -1
  207. package/dist/client/assets/CodexSetupSection.logic-CAeeNfjx.js +0 -2
  208. package/dist/client/assets/PreviewPanel-CPU0sstq.js +0 -2
  209. package/dist/client/assets/architecture-7GRP2DOG-BVmWArUl.js +0 -1
  210. package/dist/client/assets/channel-DyV-uKW8.js +0 -2
  211. package/dist/client/assets/classDiagram-ZZMXUADV-B0NhU5d_.js +0 -2
  212. package/dist/client/assets/classDiagram-v2-VYDZK3BY-B0NhU5d_.js +0 -2
  213. package/dist/client/assets/eventmodeling-NTZA5JFV-CkU6Du-F.js +0 -1
  214. package/dist/client/assets/flowDiagram-HODETNUW-BvniDpHa.js +0 -1
  215. package/dist/client/assets/main-BgKiw-9f.js +0 -28
  216. package/dist/client/assets/main-Dk22djvP.css +0 -2
  217. package/dist/client/assets/projectScriptEditor-Pml2NkVE.js +0 -2
  218. package/dist/client/assets/railroad-abnf-HS5TGJTU-ZJmaNeUq.js +0 -1
  219. package/dist/client/assets/railroad-ebnf-LZEXJU2U-C27brj-I.js +0 -1
  220. package/dist/client/assets/railroad-peg-WCYAUIDC-CukzLv2P.js +0 -1
  221. package/dist/client/assets/settings.archived-BgPgmE5p.js +0 -2
  222. package/dist/client/assets/settings.integrations-BLYy6l0O.js +0 -2
  223. package/dist/client/assets/settings.source-control-BL1tH7qk.js +0 -2
  224. package/dist/client/assets/sidebarProjectGrouping-DQInVNnY.js +0 -2
  225. package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CEPamUoD.js +0 -2
  226. package/dist/client/assets/swimlanesDiagram-VR7AAH4N-D1eJox12.js +0 -9
  227. package/dist/client/assets/toast-B2B2ECBW.js +0 -2
  228. package/dist/client/assets/toastHelpers-Dsph6LwL.js +0 -2
  229. package/dist/client/assets/useSettings-BEKkRzL1.js +0 -3
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{BE as n,Gf as r,Hg as i,Km as a,Lp as o,O_ as s,S_ as c,al as l,fd as u,ib as d,in as f,jf as p,lf as m,lr as h,mE as g}from"./utils-B0w8dSf5.js";import{R as ee,W as te}from"./runtime-mg6KxRIi.js";import{i as _,n as v}from"./session-BAH17FBJ.js";import{t as ne}from"./textarea-UGuOTqiM.js";import{t as y}from"./input-CDBTiBJx.js";import{a as re,c as ie,i as ae,o as oe,r as se,s as ce,t as le}from"./dialog-Bdi4gsq5.js";import{D as b,O as ue}from"./keybindings-4i_VvPsX.js";import{i as de,o as fe,t as pe}from"./popover-N-pn4OqA.js";import{f as x}from"./projectFilesQueryState-DM9_vSRA.js";import{t as S}from"./p4ProjectFile-BrXxii5J.js";import{l as C}from"./KeybindingsSettings.logic-DbRWYCku.js";import{Ar as w,Dr as me,Mr as he,Nr as ge,Or as _e,jr as ve,kr as ye,pa as T,pi as E}from"./main-BgKiw-9f.js";function D(e,t){let n=e.projectSettingsOverrides[t.id]?.defaultProjectScripts;if(n!==void 0)return n;if(e.projectSettingsFolded)return e.defaultProjectScripts;let r=e.projectScriptOverrides[t.id];return r===null?e.defaultProjectScripts:r??(t.scripts.length>0?t.scripts:e.defaultProjectScripts)}function O(e){return e.worktreePath??e.project.cwd}function k(e){let t={P4CODE_PROJECT_ROOT:e.project.cwd};return e.worktreePath&&(t.P4CODE_WORKTREE_PATH=e.worktreePath),e.extraEnv?{...t,...e.extraEnv}:t}function A(e){let t=[...e.runOnWorktreeCreate?[`setup`]:[],...e.runOnSettle?[`on settle`]:[]];return t.length===0?e.name:`${e.name} (${t.join(`, `)})`}var j=e(t(),1),M=n(),N=`Invalid keybinding.`,P=d(i);function F(e){let t=e?.trim()??``;return t.length>0?t:null}function I(e){let t=F(e.keybinding);if(!t)return null;if(e.command===null)throw Error(N);let n=P({key:t,command:e.command});if(n._tag===`None`)throw Error(N);return n.value}function L(e,t){if(t===null)return null;for(let n=e.length-1;n>=0;--n){let r=e[n];if(!r||r.command!==t)continue;let i=[];r.shortcut.modKey&&i.push(`mod`),r.shortcut.ctrlKey&&i.push(`ctrl`),r.shortcut.metaKey&&i.push(`meta`),r.shortcut.altKey&&i.push(`alt`),r.shortcut.shiftKey&&i.push(`shift`);let a=r.shortcut.key===` `?`space`:r.shortcut.key===`escape`?`esc`:r.shortcut.key;return i.push(a),i.join(`+`)}return null}var R=[];function z(e,t){let n=(0,M.c)(8),r=x(e,t??``,l,t!==null,!0),i=r.data&&!r.data.truncated?r.data.contents:null,a=r.isPending,o;bb0:{if(i===null){let e=a?`loading`:`missing`,t;n[0]===e?t=n[1]:(t={status:e,file:null,scripts:R},n[0]=e,n[1]=t),o=t;break bb0}let e;n[2]===i?e=n[3]:(e=S(i),n[2]=i,n[3]=e);let t=e;if(t===null){let e;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(e={status:`invalid`,file:null,scripts:R},n[4]=e):e=n[4],o=e;break bb0}let r=t.scripts??R,s;n[5]!==t||n[6]!==r?(s={status:`valid`,file:t,scripts:r},n[5]=t,n[6]=r,n[7]=s):s=n[7],o=s}return o}function B(e,t){return z(e,t).scripts}var V=e(g(),1),be=[{id:`play`,label:`Play`},{id:`test`,label:`Test`},{id:`lint`,label:`Lint`},{id:`configure`,label:`Configure`},{id:`build`,label:`Build`},{id:`debug`,label:`Debug`}];function H(e){let t=(0,M.c)(12),{icon:n,className:i}=e,s=i===void 0?`size-3.5`:i;if(n===`test`){let e;return t[0]===s?e=t[1]:(e=(0,V.jsx)(m,{className:s}),t[0]=s,t[1]=e),e}if(n===`lint`){let e;return t[2]===s?e=t[3]:(e=(0,V.jsx)(r,{className:s}),t[2]=s,t[3]=e),e}if(n===`configure`){let e;return t[4]===s?e=t[5]:(e=(0,V.jsx)(a,{className:s}),t[4]=s,t[5]=e),e}if(n===`build`){let e;return t[6]===s?e=t[7]:(e=(0,V.jsx)(p,{className:s}),t[6]=s,t[7]=e),e}if(n===`debug`){let e;return t[8]===s?e=t[9]:(e=(0,V.jsx)(u,{className:s}),t[8]=s,t[9]=e),e}let c;return t[10]===s?c=t[11]:(c=(0,V.jsx)(o,{className:s}),t[10]=s,t[11]=c),c}var U={name:``,command:``,icon:`play`,runOnWorktreeCreate:!1,waitForSetup:!1,runOnSettle:!1,keybinding:null,previewUrl:null,autoOpenPreview:!1};function W(e,t){return{scriptId:e.id,initial:{name:e.name,command:e.command,icon:e.icon,runOnWorktreeCreate:e.runOnWorktreeCreate,waitForSetup:e.runOnWorktreeCreate&&e.async===!1,runOnSettle:e.runOnSettle??!1,keybinding:L(t,b(e.id)),previewUrl:e.previewUrl??null,autoOpenPreview:e.autoOpenPreview??!1}}}function G({environmentId:e,editScope:t=c,request:n,scripts:r,onSubmit:i,onDelete:a,onClose:o}){let l=_(e,t),u=_(e,s),d=j.useId(),[p,m]=(0,j.useState)(``),[g,x]=(0,j.useState)(``),[S,D]=(0,j.useState)(`play`),[O,k]=f(!l),[A,M]=(0,j.useState)(!1),[N,P]=(0,j.useState)(!1),[F,L]=(0,j.useState)(!1),[R,z]=(0,j.useState)(``),[B,U]=(0,j.useState)(``),[W,G]=(0,j.useState)(!1),[K,q]=(0,j.useState)(null),[xe,J]=f(!l),[Se,Y]=(0,j.useState)(null),X=(0,j.useRef)(null),Ce=n!==null,Z=n?.scriptId!=null,Q=n!==null&&Se===n;(0,j.useLayoutEffect)(()=>()=>{X.current?.request===n&&(X.current=null)},[n]),(0,j.useEffect)(()=>{n&&(m(n.initial.name),x(n.initial.command),D(n.initial.icon),k(!1),M(n.initial.runOnWorktreeCreate),P(n.initial.waitForSetup),L(n.initial.runOnSettle),z(n.initial.keybinding??``),U(n.initial.previewUrl??``),G(n.initial.autoOpenPreview),q(n.error??null),Y(null))},[n,k]);let $=()=>{X.current=null,Y(null),k(!1),o()};return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(le,{open:Ce,onOpenChange:e=>{e||$()},children:(0,V.jsxs)(ce,{children:[(0,V.jsxs)(re,{children:[(0,V.jsx)(ie,{children:Z?`Edit Action`:`Add Action`}),(0,V.jsx)(se,{children:`Actions are project-scoped commands you can run from the top bar or keybindings.`})]}),(0,V.jsx)(oe,{children:(0,V.jsx)(`form`,{id:d,onSubmit:async a=>{if(a.preventDefault(),!n||X.current!==null)return;if(!v(e,t)){q(`This connection cannot change project actions.`);return}let o=(R.trim()||null)!==(n.initial.keybinding?.trim()||null),c=v(e,s);if(o&&!c){q(`This connection cannot change keyboard shortcuts.`);return}let l=p.trim(),u=g.trim();if(l.length===0){q(`Name is required.`);return}if(u.length===0){q(`Command is required.`);return}q(null);let d;try{let e=n.scriptId??ue(l,r.map(e=>e.id)),t=I({keybinding:R,command:b(e)}),i=B.trim();d={name:l,command:u,icon:S,runOnWorktreeCreate:A,waitForSetup:A&&N,runOnSettle:F,...n.scriptId===null&&c||o?{keybinding:t?.key??null}:{},previewUrl:i.length>0?i:null,autoOpenPreview:i.length>0&&W}}catch(e){q(e instanceof Error?e.message:`Failed to save action.`);return}let f={request:n};X.current=f,Y(n),k(!1);try{let e=await i(n.scriptId,d);if(X.current===f){if(e._tag===`Failure`){if(!ee(e)){let t=te(e);q(t instanceof Error?t.message:`Failed to save action.`)}}else $()}}catch(e){X.current===f&&q(e instanceof Error?e.message:`Failed to save action.`)}X.current===f&&(X.current=null,Y(null))},children:(0,V.jsxs)(`fieldset`,{className:`space-y-4`,disabled:Q||!l,children:[(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(E,{htmlFor:`script-name`,children:`Name`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsxs)(pe,{onOpenChange:k,open:O,children:[(0,V.jsx)(fe,{render:(0,V.jsx)(h,{type:`button`,variant:`outline`,className:`size-9 shrink-0`,"aria-label":`Choose icon`}),children:(0,V.jsx)(H,{icon:S,className:`size-4.5`})}),(0,V.jsx)(de,{align:`start`,children:(0,V.jsx)(`div`,{className:`grid grid-cols-3 gap-2`,children:be.map(e=>{let t=e.id===S;return(0,V.jsxs)(`button`,{type:`button`,className:`relative flex flex-col items-center gap-2 rounded-md border px-2 py-2 text-xs dark:border-transparent ${t?`border-primary/70 bg-primary/10 ring-inset dark:ring-1 dark:ring-primary/30`:`border-border/70 hover:bg-accent/60 dark:bg-white/[0.035]`}`,onClick:()=>{D(e.id),k(!1)},children:[(0,V.jsx)(H,{icon:e.id,className:`size-4`}),(0,V.jsx)(`span`,{children:e.label})]},e.id)})})})]}),(0,V.jsx)(y,{id:`script-name`,autoFocus:!0,placeholder:`Test`,value:p,onChange:e=>m(e.target.value)})]})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(E,{htmlFor:`script-keybinding`,children:`Keybinding`}),(0,V.jsx)(y,{disabled:!u,id:`script-keybinding`,placeholder:`Press shortcut`,value:R,readOnly:!0,onKeyDown:n=>{if(!v(e,t)||!v(e,`settings:write`)||n.key===`Tab`)return;if(n.preventDefault(),n.key===`Backspace`||n.key===`Delete`){z(``);return}let r=C(n,navigator.platform);r&&z(r)}}),(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Press a shortcut. Use `,(0,V.jsx)(`code`,{children:`Backspace`}),` to clear. Shortcuts are environment-wide. Projects using the same action share its shortcut.`]})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(E,{htmlFor:`script-command`,children:`Command`}),(0,V.jsx)(ne,{id:`script-command`,placeholder:`bun test`,value:g,onChange:e=>x(e.target.value)})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)(E,{htmlFor:`script-preview-url`,children:`Preview URL (optional)`}),(0,V.jsx)(y,{id:`script-preview-url`,placeholder:`http://localhost:5173`,value:B,onChange:e=>U(e.target.value)}),(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Open this URL in the in-app preview when this action runs.`})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 px-3 py-2 text-sm dark:border-transparent dark:bg-white/[0.035]`,children:[(0,V.jsx)(`span`,{children:`Run automatically on worktree creation`}),(0,V.jsx)(T,{checked:A,onCheckedChange:e=>M(!!e)})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 px-3 py-2 text-sm dark:border-transparent dark:bg-white/[0.035] ${A?``:`opacity-60`}`,children:[(0,V.jsx)(`span`,{children:`Wait for it to finish before the agent starts`}),(0,V.jsx)(T,{checked:N,disabled:!A,onCheckedChange:e=>P(!!e)})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 px-3 py-2 text-sm dark:border-transparent dark:bg-white/[0.035]`,children:[(0,V.jsx)(`span`,{children:`Run in the thread's worktree when the thread settles`}),(0,V.jsx)(T,{checked:F,onCheckedChange:e=>L(!!e)})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 px-3 py-2 text-sm dark:border-transparent dark:bg-white/[0.035] ${B.trim().length===0?`opacity-60`:``}`,children:[(0,V.jsx)(`span`,{children:`Open preview automatically when this action runs`}),(0,V.jsx)(T,{checked:W,disabled:B.trim().length===0,onCheckedChange:e=>G(!!e)})]}),K&&(0,V.jsx)(`p`,{className:`text-sm text-destructive`,children:K})]})})}),(0,V.jsxs)(ae,{variant:`bare`,children:[Z&&(0,V.jsx)(h,{type:`button`,variant:`destructive-outline`,className:`mr-auto`,disabled:Q||!l,onClick:()=>J(!0),children:`Delete`}),(0,V.jsx)(h,{type:`button`,variant:`outline`,onClick:$,children:`Cancel`}),(0,V.jsx)(h,{form:d,type:`submit`,disabled:Q||!l,children:Q?`Saving…`:Z?`Save changes`:`Save action`})]})]})}),(0,V.jsx)(me,{open:xe&&l,onOpenChange:J,children:(0,V.jsxs)(he,{children:[(0,V.jsxs)(ve,{children:[(0,V.jsxs)(ge,{children:[`Delete action "`,p,`"?`]}),(0,V.jsx)(ye,{children:`This action cannot be undone.`})]}),(0,V.jsxs)(w,{children:[(0,V.jsx)(_e,{render:(0,V.jsx)(h,{variant:`outline`}),children:`Cancel`}),(0,V.jsx)(h,{variant:`destructive`,disabled:Q||!l,onClick:()=>{if(n?.scriptId){if(!v(e,t)){q(`This connection cannot change project actions.`);return}J(!1),$(),a(n.scriptId)}},children:`Delete action`})]})]})})]})}export{B as a,L as c,k as d,D as f,W as i,O as l,G as n,z as o,H as r,I as s,U as t,A as u};
2
- //# sourceMappingURL=projectScriptEditor-Pml2NkVE.js.map
@@ -1 +0,0 @@
1
- import"./chunk-FOHPRMQF-DzxwRta7.js";import{m as e}from"./mermaid-parser.core-Dbb1WTb8.js";export{e as createRailroadAbnfServices};
@@ -1 +0,0 @@
1
- import"./chunk-FOHPRMQF-DzxwRta7.js";import{f as e}from"./mermaid-parser.core-Dbb1WTb8.js";export{e as createRailroadEbnfServices};
@@ -1 +0,0 @@
1
- import"./chunk-FOHPRMQF-DzxwRta7.js";import{u as e}from"./mermaid-parser.core-Dbb1WTb8.js";export{e as createRailroadPegServices};
@@ -1,2 +0,0 @@
1
- import{i as e}from"./SettingsPanels-BJZmVkq6.js";var t=e;export{t as component};
2
- //# sourceMappingURL=settings.archived-BgPgmE5p.js.map
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{$n as n,BE as r,Bp as i,Cg as a,HT as o,Jm as s,Kn as c,Mf as l,Mw as u,O_ as d,Qu as f,R_ as p,Tg as m,Xn as h,Yn as g,Yu as _,Zn as v,_g as y,_p as b,bd as x,cr as S,dh as C,fg as w,fh as T,ib as E,l as D,lr as O,mE as k,mp as A,nl as j,pg as M,pp as N,qn as P,rh as F,rr as I,t as L,tl as R,ur as z,wg as ee,xg as te,yg as B}from"./utils-B0w8dSf5.js";import{W as ne}from"./runtime-mg6KxRIi.js";import{T as re}from"./entities-BhpgabTo.js";import{a as ie,r as V,t as ae}from"./number-field-j3MeOhOk.js";import{a as H,c as oe,i as se,o as ce,r as le,s as ue,t as U}from"./select-CqPGedM1.js";import{t as de}from"./spinner-BkmZz-kc.js";import{i as W}from"./toast-B2B2ECBW.js";import{D as fe,E as pe,J as me,c as he,o as ge,r as G,s as K,x as q}from"./useSettings-BEKkRzL1.js";import{f as _e}from"./server-C8OpoOTL.js";import{i as J,n as ve}from"./session-BAH17FBJ.js";import{t as ye}from"./use-atom-command-BWLbyoVN.js";import{t as be}from"./env-wK1YYxA8.js";import{a as xe,n as Se,t as Ce}from"./tooltip-CuJiZzK7.js";import{t as we}from"./input-CDBTiBJx.js";import{a as Te,c as Ee,i as De,n as Oe,o as ke,r as Ae,s as je,t as Me}from"./dialog-Bdi4gsq5.js";import{i as Ne,t as Pe}from"./device-CtPu58XW.js";import{a as Fe,c as Ie,i as Le,n as Re,o as ze,s as Be,t as Ve}from"./DeviceSetup-jQhLCRQB.js";import{t as He}from"./AnimatedHeight-xpLZZo3s.js";import{i as Ue,n as We}from"./Icons-bbJxtd49.js";import{t as Ge}from"./preview-HJcGsd2o.js";import{a as Ke,i as qe,o as Je,t as Ye}from"./popover-N-pn4OqA.js";import{B as Xe,C as Ze,L as Qe,P as $e,a as Y,c as et,i as tt,r as nt,s as rt}from"./settingsLayout-DaLF8Hfm.js";import{Ar as it,Dr as at,Fi as ot,Hi as st,Mr as ct,Nr as lt,Or as ut,Pi as dt,jr as ft,kr as pt,pa as mt,tr as X}from"./main-BgKiw-9f.js";import{t as ht}from"./ProjectDefaultsSettings-Ibem_Z4L.js";import{t as gt}from"./draft-input-CmGR2Zc1.js";import{t as _t}from"./ScopedSwitch-DM7op4tT.js";import{n as vt,r as yt,t as bt}from"./usePermissionStatus-DBybaxyT.js";var Z=r(),Q=e(k(),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)(z,{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)(Je,{"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)(Ke,{children:h}),t[6]=h,t[7]=g);let _;t[8]!==i||t[9]!==u||t[10]!==n?(_=n?(0,Q.jsx)(`div`,{className:`mt-4 divide-y divide-border/50`,children:[[`Device hub`,n.hub],[`Agent device`,n.agent]].filter(e=>{let[t]=e;return!i||t===u}).map(e=>{let[t,n]=e;return(0,Q.jsxs)(`div`,{className:`space-y-2 py-3 first:pt-0 last:pb-0`,children:[i?null:(0,Q.jsx)(`p`,{className:`text-xs font-medium`,children:t}),(0,Q.jsxs)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-6 gap-y-1 text-xs`,children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Running`}),(0,Q.jsx)(`dd`,{className:`text-right font-mono`,children:n.runningVersion??`Not running`}),(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Required`}),(0,Q.jsx)(`dd`,{className:`text-right font-mono`,children:n.requiredVersion}),(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Installed`}),(0,Q.jsx)(`dd`,{className:`text-right font-mono break-words`,children:n.installedVersions.join(`, `)||`None`})]})]},t)})}):(0,Q.jsx)(`p`,{className:`mt-3 text-xs text-muted-foreground`,children:`Versions have not been checked.`}),t[8]=i,t[9]=u,t[10]=n,t[11]=_):_=t[11];let v=a?`Managed by ${a}. `:``,y;t[12]===v?y=t[13]:(y=(0,Q.jsxs)(`p`,{className:`mt-4 border-t border-border/50 pt-3 text-xs text-muted-foreground`,children:[v,`Tools update automatically on this host when needed.`]}),t[12]=v,t[13]=y);let b;t[14]===o?b=t[15]:(b=o?(0,Q.jsx)(`p`,{role:`status`,className:`mt-2 text-xs text-destructive`,children:o}):null,t[14]=o,t[15]=b);let x;t[16]===r?x=t[17]:(x=r?(0,Q.jsx)(`div`,{className:`mt-3`,children:r}):null,t[16]=r,t[17]=x);let S;t[18]!==y||t[19]!==b||t[20]!==x||t[21]!==g||t[22]!==_?(S=(0,Q.jsxs)(qe,{align:`end`,width:`md`,children:[g,_,y,b,x]}),t[18]=y,t[19]=b,t[20]=x,t[21]=g,t[22]=_,t[23]=S):S=t[23];let C;return t[24]!==S||t[25]!==m?(C=(0,Q.jsxs)(Ye,{children:[m,S]}),t[24]=S,t[25]=m,t[26]=C):C=t[26],C}function St(e,t){return e.localeCompare(t,void 0,{numeric:!0})}var $=e(t(),1);function Ct(e,t,n,r=t){let i=(e,t)=>e.target===t.target&&e.port===t.port&&e.identityFile===t.identityFile,a=t=>{let n=e.filter(e=>i(e,t));if(n.length>1)throw Error(`Multiple hosts match this SSH destination. Select the environment to edit its hosts.`);return n[0]},o=e.find(e=>e.id===r.id)??a(r)??(n?void 0:a(t));return n?e.filter(e=>e.id!==o?.id):o?e.map(e=>e.id===o.id?{...t,id:o.id}:e):[...e,t]}function wt(e){let t=(0,Z.c)(4),{platforms:n}=e,r;t[0]===n?r=t[1]:(r=n.map(Tt),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Q.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:r}),t[2]=r,t[3]=i),i}function Tt(e){return(0,Q.jsxs)(Ce,{children:[(0,Q.jsxs)(xe,{render:(0,Q.jsx)(`span`,{tabIndex:0,className:`inline-flex items-center gap-1`}),children:[e.available?(0,Q.jsx)(x,{className:`size-3`}):(0,Q.jsx)(N,{className:`size-3`}),e.platform===`ios`?`iOS`:`Android`,` `,e.available?`available`:`unavailable`]}),(0,Q.jsx)(Se,{children:e.reason??(e.platform===`ios`?`iOS available`:`Android available`)})]},e.platform)}var Et=E(p);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(Pe.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(u(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:c,onClose:l}=e,[u,d]=(0,$.useState)(n),{checks:f,testConnection:p}=At(i),m=f[Ot(u)],h=Object.values(m??{}).some(Nt),g,_;t[0]===u?(g=t[1],_=t[2]):(g=Dt({...u,label:u.label.trim()||u.target}),_=o(g),t[0]=u,t[1]=g,t[2]=_);let v=_,y;t[3]===m?y=t[4]:(y=Object.values(m??{}).filter(Mt),t[3]=m,t[4]=y);let b=y.length,S;t[5]!==a||t[6]!==l?(S=e=>{!e&&!a&&l()},t[5]=a,t[6]=l,t[7]=S):S=t[7];let C=!a,w;t[8]!==a||t[9]!==h||t[10]!==u.label||t[11]!==g||t[12]!==c?(w=(0,Q.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),o(g)&&u.label.trim()&&!a&&!h&&c(g.value)}}),t[8]=a,t[9]=h,t[10]=u.label,t[11]=g,t[12]=c,t[13]=w):w=t[13];let T=r?`Add device host`:`Edit device host`,E;t[14]===T?E=t[15]:(E=(0,Q.jsx)(Ee,{children:T}),t[14]=T,t[15]=E);let D=i.length===1?`Connect from ${i[0]?.label}.`:`Connect from ${i.length} selected environments.`,k;t[16]===D?k=t[17]:(k=(0,Q.jsxs)(Ae,{children:[D,` `,`Hosts on the same machine are skipped.`]}),t[16]=D,t[17]=k);let j;t[18]!==E||t[19]!==k?(j=(0,Q.jsxs)(Te,{children:[E,k]}),t[18]=E,t[19]=k,t[20]=j):j=t[20];let M;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,Q.jsx)(`span`,{children:`Name`}),t[21]=M):M=t[21];let N;t[22]===u?N=t[23]:(N=e=>d({...u,label:e.target.value}),t[22]=u,t[23]=N);let P;t[24]!==a||t[25]!==u.label||t[26]!==N?(P=(0,Q.jsxs)(`label`,{className:`block space-y-1.5 text-sm`,children:[M,(0,Q.jsx)(we,{autoFocus:!0,required:!0,value:u.label,disabled:a,onChange:N,placeholder:`Mac mini`})]}),t[24]=a,t[25]=u.label,t[26]=N,t[27]=P):P=t[27];let F;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,Q.jsx)(`span`,{children:`SSH target`}),t[28]=F):F=t[28];let I;t[29]===u?I=t[30]:(I=e=>d({...u,target:e.target.value}),t[29]=u,t[30]=I);let L;t[31]!==a||t[32]!==u.target||t[33]!==I?(L=(0,Q.jsxs)(`label`,{className:`block space-y-1.5 text-sm`,children:[F,(0,Q.jsx)(we,{required:!0,value:u.target,disabled:a,onChange:I,placeholder:`user@host or SSH alias`})]}),t[31]=a,t[32]=u.target,t[33]=I,t[34]=L):L=t[34];let R=n.port!==void 0||n.identityFile!==void 0||void 0,z;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,Q.jsx)(`summary`,{className:`cursor-pointer text-muted-foreground`,children:`SSH options`}),t[35]=z):z=t[35];let ee;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,Q.jsx)(`span`,{children:`Identity file`}),t[36]=ee):ee=t[36];let te=u.identityFile??``,B;t[37]===u?B=t[38]:(B=e=>{let{identityFile:t,...n}=u;d(e.target.value?{...n,identityFile:e.target.value}:n)},t[37]=u,t[38]=B);let ne;t[39]!==a||t[40]!==te||t[41]!==B?(ne=(0,Q.jsxs)(`label`,{className:`block space-y-1.5`,children:[ee,(0,Q.jsx)(we,{value:te,disabled:a,onChange:B,placeholder:`SSH config default`})]}),t[39]=a,t[40]=te,t[41]=B,t[42]=ne):ne=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=u.port??``,V;t[44]===u?V=t[45]:(V=e=>{let{port:t,...n}=u;d(e.target.value?{...n,port:Number(e.target.value)}:n)},t[44]=u,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)(we,{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 H;t[50]!==ne||t[51]!==ae?(H=(0,Q.jsxs)(`div`,{className:`mt-3 grid grid-cols-[minmax(0,1fr)_7rem] gap-3`,children:[ne,ae]}),t[50]=ne,t[51]=ae,t[52]=H):H=t[52];let oe;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,Q.jsx)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:`Optional. Resolved separately on each environment.`}),t[53]=oe):oe=t[53];let se;t[54]!==R||t[55]!==H?(se=(0,Q.jsxs)(`details`,{open:R,className:`text-sm`,children:[z,H,oe]}),t[54]=R,t[55]=H,t[56]=se):se=t[56];let ce=h?`Checking environments…`:m?b?`${b} of ${i.length} failed`:`Connection checks passed`:`Check access before saving`,le;t[57]===ce?le=t[58]:(le=(0,Q.jsx)(`p`,{role:`status`,className:`text-xs text-muted-foreground`,children:ce}),t[57]=ce,t[58]=le);let ue=a||h||!v,U;t[59]!==g||t[60]!==p?(U=()=>{o(g)&&p(g.value)},t[59]=g,t[60]=p,t[61]=U):U=t[61];let W;t[62]===h?W=t[63]:(W=h?(0,Q.jsx)(de,{size:`xs`}):null,t[62]=h,t[63]=W);let fe;t[64]!==ue||t[65]!==U||t[66]!==W?(fe=(0,Q.jsxs)(O,{type:`button`,size:`sm`,variant:`outline`,disabled:ue,onClick:U,children:[W,` Test connection`]}),t[64]=ue,t[65]=U,t[66]=W,t[67]=fe):fe=t[67];let pe;t[68]!==le||t[69]!==fe?(pe=(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-3 py-2.5`,children:[le,fe]}),t[68]=le,t[69]=fe,t[70]=pe):pe=t[70];let me;t[71]!==m||t[72]!==i?(me=m?(0,Q.jsx)(`ul`,{className:`border-t border-border/60 divide-y divide-border/40`,children:i.map(e=>{let t=m[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)(de,{size:`xs`}),` Checking…`]}):t.status===`local`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(A,{className:`size-3`}),` Already available locally`]}):t.status===`failed`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(s,{className:`size-3`}),` Failed`]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(x,{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]=m,t[72]=i,t[73]=me):me=t[73];let he;t[74]!==pe||t[75]!==me?(he=(0,Q.jsxs)(`div`,{className:`rounded-lg border border-border/60`,children:[pe,me]}),t[74]=pe,t[75]=me,t[76]=he):he=t[76];let ge;t[77]!==P||t[78]!==L||t[79]!==se||t[80]!==he?(ge=(0,Q.jsxs)(ke,{children:[P,L,se,he]}),t[77]=P,t[78]=L,t[79]=se,t[80]=he,t[81]=ge):ge=t[81];let G;t[82]!==a||t[83]!==l?(G=(0,Q.jsx)(O,{type:`button`,variant:`ghost`,disabled:a,onClick:l,children:`Cancel`}),t[82]=a,t[83]=l,t[84]=G):G=t[84];let K;t[85]!==a||t[86]!==h||t[87]!==u.label||t[88]!==v?(K=a||h||!v||!u.label.trim(),t[85]=a,t[86]=h,t[87]=u.label,t[88]=v,t[89]=K):K=t[89];let q;t[90]===a?q=t[91]:(q=a?(0,Q.jsx)(de,{size:`xs`}):null,t[90]=a,t[91]=q);let _e;t[92]!==K||t[93]!==q?(_e=(0,Q.jsxs)(O,{type:`submit`,disabled:K,children:[q,` Save host`]}),t[92]=K,t[93]=q,t[94]=_e):_e=t[94];let J;t[95]!==G||t[96]!==_e?(J=(0,Q.jsxs)(De,{children:[G,_e]}),t[95]=G,t[96]=_e,t[97]=J):J=t[97];let ve;t[98]!==j||t[99]!==ge||t[100]!==C||t[101]!==J||t[102]!==w?(ve=(0,Q.jsxs)(je,{showCloseButton:C,render:w,children:[j,ge,J]}),t[98]=j,t[99]=ge,t[100]=C,t[101]=J,t[102]=w,t[103]=ve):ve=t[103];let ye;return t[104]!==S||t[105]!==ve?(ye=(0,Q.jsx)(Me,{open:!0,onOpenChange:S,children:ve}),t[104]=S,t[105]=ve,t[106]=ye):ye=t[106],ye}function Mt(e){return e.status===`failed`}function Nt(e){return e.status===`pending`}function Pt(e){let{scope:t,environments:n,connectedEnvironments:r}=Xe(),a=J(e.environmentId,d),o=t.kind===`project`||t.kind===`checkout`,s=ye(_e.updateSettings,{reportFailure:!1}),[c,l]=(0,$.useState)(null),[u,f]=(0,$.useState)(null),[p,m]=(0,$.useState)(!1),h=n.map(e=>({environmentId:e.environmentId,label:e.label,connected:e.connection.phase===`connected`})),{checks:g,testConnection:_}=At(h),v=async(t,r=!1,i=t)=>{if(e.environmentId&&!o){m(!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 s({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):W.add({type:`error`,title:`Device hosts not saved on all environments`,description:`Could not update ${a.map(e=>e.label).join(`, `)}.`})}finally{m(!1)}}};return(0,Q.jsx)(Y,{id:`device-hosts`,title:`Device hosts`,serverScoped:!0,settingKeys:[`deviceHosts`],description:`Add remote machines with simulator or emulator runtimes installed, and the selected environments will connect over SSH and set up device tools automatically.`,control:(0,Q.jsxs)(O,{size:`sm`,variant:`outline`,disabled:!a||o||p||!e.environmentId||c!==null,onClick:()=>{f(null),l({id:D(),label:``,target:``})},children:[(0,Q.jsx)(i,{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:!a||o||p,checks:g,testConnection:async e=>{let t=await _(e);if(!t)return;let n=h.filter(e=>t[e.environmentId]?.status===`failed`);return W.add({type:n.length?`error`:`success`,title:n.length?`${e.label}: ${n.length} of ${h.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=>{f(e),l(e)},onRemove:e=>void v(e,!0)})]},e.environmentId)),c?(0,Q.jsx)(jt,{host:c,isNew:u===null,targets:h,busy:p,onSave:e=>void v(e,!1,u??e),onClose:()=>l(null)},c.id):null]}):(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Connect a selected environment to manage device hosts.`})})})}function Ft(e){let t=(0,Z.c)(28),{environmentLabel:r,environmentId:i,hosts:a,busy:o,onEdit:s,onRemove:c,checks:l,testConnection:u}=e,{state:d}=Ne(i),f=ye(Pe.list),[p,m]=(0,$.useState)(null),h;t[0]===a.length?h=t[1]:(h=a.length===0?(0,Q.jsx)(`p`,{className:`py-2 text-sm text-muted-foreground`,children:`No device hosts.`}):null,t[0]=a.length,t[1]=h);let g;if(t[2]!==o||t[3]!==l||t[4]!==i||t[5]!==r||t[6]!==a||t[7]!==s||t[8]!==c||t[9]!==f||t[10]!==p||t[11]!==d||t[12]!==u){let e;t[14]!==o||t[15]!==l||t[16]!==i||t[17]!==r||t[18]!==s||t[19]!==c||t[20]!==f||t[21]!==p||t[22]!==d||t[23]!==u?(e=e=>{let t=d.hostStatuses[e.id],a=l[Ot(e)]?.[i],h=(a?.status===`connected`?a.platforms:void 0)??d.hosts.find(t=>t.id===e.id)?.platforms??[],g=a?.status===`pending`?`Checking connection…`:t?.status===`installing`?`Installing device support…`:t?.status===`starting`?`Connecting…`:null,_=a?.status===`failed`?a.error:a?.status===`local`?void 0:t?.status===`failed`?t.detail:void 0;return(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border/50 py-2.5`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(`p`,{className:`truncate text-sm font-medium`,children:e.label}),h.filter(Lt).map(It)]}),(0,Q.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:e.target}),(0,Q.jsx)(xt,{owner:r,error:d.hosts.find(t=>t.id===e.id)?.toolInspectionError,tools:d.hosts.find(t=>t.id===e.id)?.tools??(a?.status===`connected`?a.tools:void 0)}),a?.status===`local`?(0,Q.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`Already available locally`}):null,_?(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:_})]})}):null]}),g?(0,Q.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Q.jsx)(de,{size:`xs`}),g]}):null,(0,Q.jsxs)(P,{children:[(0,Q.jsx)(S,{render:(0,Q.jsx)(O,{size:`icon-sm`,variant:`ghost-muted`,disabled:o,"aria-label":e.label+` options`}),children:(0,Q.jsx)(b,{})}),(0,Q.jsxs)(n,{align:`end`,children:[(0,Q.jsx)(v,{onClick:()=>{s(e)},children:`Edit`}),(0,Q.jsx)(v,{variant:`destructive`,onClick:()=>c(e),children:`Remove`})]})]}),t?.status===`failed`&&d.supportsHostRetry&&d.hostStatus!==`disabled`?(0,Q.jsx)(O,{size:`sm`,variant:`outline`,disabled:o||p!==null,onClick:()=>{m(e.id),f({environmentId:i,input:{retryHostId:e.id}}).finally(()=>m(null))},children:p===e.id?`Retrying…`:`Retry`}):(0,Q.jsx)(O,{size:`sm`,variant:`outline`,disabled:o||g!==null,onClick:()=>void u(e),children:`Test connection`})]},e.id)},t[14]=o,t[15]=l,t[16]=i,t[17]=r,t[18]=s,t[19]=c,t[20]=f,t[21]=p,t[22]=d,t[23]=u,t[24]=e):e=t[24],g=a.map(e),t[2]=o,t[3]=l,t[4]=i,t[5]=r,t[6]=a,t[7]=s,t[8]=c,t[9]=f,t[10]=p,t[11]=d,t[12]=u,t[13]=g}else g=t[13];let _;return t[25]!==h||t[26]!==g?(_=(0,Q.jsxs)(Q.Fragment,{children:[h,g]}),t[25]=h,t[26]=g,t[27]=_):_=t[27],_}function It(e){return(0,Q.jsxs)(Ce,{children:[(0,Q.jsx)(xe,{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)(Ue,{className:`size-3.5 -translate-y-px`}):(0,Q.jsx)(We,{className:`size-3.5`})}),(0,Q.jsx)(Se,{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,C]=(0,$.useState)(),w;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(w=D(),t[7]=w):w=t[7];let T=(0,$.useRef)(`profile-${w}`),E=(0,$.useRef)(!1),O;t[8]!==o||t[9]!==_||t[10]!==b||t[11]!==i?(O=()=>{if(E.current)return;let e=zt(b,T.current,i);if(e===void 0){C(`That profile is no longer available. Choose where to import these cookies.`),h({step:`configure`});return}C(void 0),E.current=!0,h({step:`importing`}),o({sourceProfileDirectory:_,target:e}).then(e=>h(Ht(e))).catch(()=>h({step:`blocked`,reason:`readFailed`})).finally(()=>{E.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 R;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?(R=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),C(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]=R):R=t[39];let z;t[40]!==L||t[41]!==R?(z=(0,Q.jsx)(je,{className:`max-w-lg`,showCloseButton:L,children:R}),t[40]=L,t[41]=R,t[42]=z):z=t[42];let ee;return t[43]!==z||t[44]!==I?(ee=(0,Q.jsx)(Me,{open:!0,onOpenChange:I,children:z}),t[43]=z,t[44]=I,t[45]=ee):ee=t[45],ee}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)(Te,{children:[(0,Q.jsxs)(Ee,{children:[`Quit `,n.name,` to import`]}),(0,Q.jsxs)(Ae,{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)(De,{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,u]=(0,$.useState)(!1),[d,f]=(0,$.useState)(null),p;t[0]===s?p=t[1]:(p=async()=>({fullDiskAccess:await s()}),t[0]=s,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m={fullDiskAccess:!1},t[2]=m):m=t[2];let h=bt(p,m),g;t[3]!==i||t[4]!==c?(g=()=>{c||(u(!0),f(null),Promise.resolve().then(i).catch(()=>f(`Could not open System Settings. Try Allow again.`)).finally(()=>u(!1)))},t[3]=i,t[4]=c,t[5]=g):g=t[5];let _=g,v;t[6]===n.name?v=t[7]:(v=(0,Q.jsxs)(Te,{children:[(0,Q.jsxs)(Ee,{children:[`Let P4 Code read `,n.name,`’s cookies`]}),(0,Q.jsxs)(Ae,{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]=v);let y;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsx)(l,{className:`size-8 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t[8]=y):y=t[8];let b=`Read ${n.name}'s cookies for this import.`,x;t[9]===_?x=t[10]:(x=()=>void _(),t[9]=_,t[10]=x);let S;t[11]!==h.status.fullDiskAccess||t[12]!==b||t[13]!==x?(S=[{id:`fullDiskAccess`,icon:y,title:`Full Disk Access`,description:b,granted:h.status.fullDiskAccess,onAllow:x}],t[11]=h.status.fullDiskAccess,t[12]=b,t[13]=x,t[14]=S):S=t[14];let C;t[15]!==c||t[16]!==S?(C=(0,Q.jsx)(vt,{busy:c,permissions:S}),t[15]=c,t[16]=S,t[17]=C):C=t[17];let w;t[18]!==d||t[19]!==h.error?(w=d||h.error?(0,Q.jsx)(`p`,{role:`status`,className:`mt-3 text-xs text-muted-foreground`,children:d??h.error}):null,t[18]=d,t[19]=h.error,t[20]=w):w=t[20];let T;t[21]!==h||t[22]!==o?(T=h.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]=h,t[22]=o,t[23]=T):T=t[23];let E;t[24]!==w||t[25]!==T||t[26]!==C?(E=(0,Q.jsxs)(ke,{children:[C,w,T]}),t[24]=w,t[25]=T,t[26]=C,t[27]=E):E=t[27];let D;t[28]===r?D=t[29]:(D=(0,Q.jsx)(O,{variant:`outline`,onClick:r,children:`Cancel`}),t[28]=r,t[29]=D);let k;t[30]===h?k=t[31]:(k=h.isReady([`fullDiskAccess`]),t[30]=h,t[31]=k);let A;t[32]!==a||t[33]!==c||t[34]!==k?(A=(0,Q.jsx)(yt,{ready:k,busy:c,onClick:a,children:`Continue`}),t[32]=a,t[33]=c,t[34]=k,t[35]=A):A=t[35];let j;t[36]!==D||t[37]!==A?(j=(0,Q.jsxs)(De,{children:[D,A]}),t[36]=D,t[37]=A,t[38]=j):j=t[38];let M;return t[39]!==E||t[40]!==j||t[41]!==v?(M=(0,Q.jsxs)(Q.Fragment,{children:[v,E,j]}),t[39]=E,t[40]=j,t[41]=v,t[42]=M):M=t[42],M}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:p}=e,m;t[0]!==c.kind||t[1]!==c.profileId||t[2]!==i?(m=c.kind===`existing`&&!i.some(e=>e.id===c.profileId),t[0]=c.kind,t[1]=c.profileId,t[2]=i,t[3]=m):m=t[3];let h=m,g=c.kind===`new`&&!a,v=l??(h?`That profile is no longer available. Choose where to import these cookies.`:g?`You've reached the profile limit. Choose an existing profile to import into.`:void 0),y;t[4]===n.name?y=t[5]:(y=(0,Q.jsxs)(Ee,{children:[`Import from `,n.name]}),t[4]=n.name,t[5]=y);let b;t[6]===r?b=t[7]:(b=(0,Q.jsxs)(Ae,{children:[`Choose which cookies to import for `,r,`.`]}),t[6]=r,t[7]=b);let x;t[8]!==y||t[9]!==b?(x=(0,Q.jsxs)(Te,{children:[y,b]}),t[8]=y,t[9]=b,t[10]=x):x=t[10];let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Q.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:`From`}),t[11]=S):S=t[11];let C;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],C=n.profiles.map(e),t[12]=s,t[13]=n.profiles,t[14]=o,t[15]=C}else C=t[15];let w;t[19]===C?w=t[20]:(w=(0,Q.jsxs)(`section`,{className:`flex-1 space-y-2`,children:[S,C]}),t[19]=C,t[20]=w);let T;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-center text-muted-foreground`,children:[(0,Q.jsx)(_,{className:`size-4 sm:hidden`}),(0,Q.jsx)(f,{className:`hidden size-4 sm:block`})]}),t[21]=T):T=t[21];let E;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Q.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-muted-foreground`,children:`Into`}),t[22]=E):E=t[22];let D;t[23]!==a||t[24]!==u||t[25]!==c.kind?(D=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]=D):D=t[26];let k;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],k=i.map(e),t[27]=u,t[28]=c.kind,t[29]=c.profileId,t[30]=i,t[31]=k}else k=t[31];let A;t[36]!==D||t[37]!==k?(A=(0,Q.jsxs)(`section`,{className:`flex-1 space-y-2`,children:[E,D,k]}),t[36]=D,t[37]=k,t[38]=A):A=t[38];let j;t[39]!==A||t[40]!==w?(j=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:gap-4`,children:[w,T,A]}),t[39]=A,t[40]=w,t[41]=j):j=t[41];let M;t[42]===v?M=t[43]:(M=v?(0,Q.jsx)(`p`,{role:`alert`,className:`mt-3 text-sm text-destructive`,children:v}):null,t[42]=v,t[43]=M);let N;t[44]!==j||t[45]!==M?(N=(0,Q.jsxs)(ke,{children:[j,M]}),t[44]=j,t[45]=M,t[46]=N):N=t[46];let P;t[47]===d?P=t[48]:(P=(0,Q.jsx)(O,{variant:`outline`,onClick:d,children:`Cancel`}),t[47]=d,t[48]=P);let F=o===``||h||g,I;t[49]!==p||t[50]!==F?(I=(0,Q.jsx)(O,{disabled:F,onClick:p,children:`Import`}),t[49]=p,t[50]=F,t[51]=I):I=t[51];let L;t[52]!==P||t[53]!==I?(L=(0,Q.jsxs)(De,{children:[P,I]}),t[52]=P,t[53]=I,t[54]=L):L=t[54];let R;return t[55]!==N||t[56]!==L||t[57]!==x?(R=(0,Q.jsxs)(Q.Fragment,{children:[x,N,L]}),t[55]=N,t[56]=L,t[57]=x,t[58]=R):R=t[58],R}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=L(`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=L(`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)(x,{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)(Te,{children:[(0,Q.jsx)(Ee,{children:`Importing cookies`}),(0,Q.jsx)(Ae,{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)(ke,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3 py-2`,children:[(0,Q.jsx)(de,{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)(Ee,{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)(Ae,{children:a}),t[2]=a,t[3]=o);let s;t[4]!==i||t[5]!==o?(s=(0,Q.jsxs)(Te,{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)(de,{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)(ke,{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)(Ee,{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)(Ae,{children:u}),t[10]=u,t[11]=d);let f;t[12]!==l||t[13]!==d?(f=(0,Q.jsxs)(Te,{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)(ke,{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)(De,{children:(0,Q.jsx)(Oe,{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)(Ee,{children:[`Couldn’t import from `,n.name]}),t[0]=n.name,t[1]=o);let s=R[r],c;t[2]===s?c=t[3]:(c=(0,Q.jsx)(Ae,{children:s}),t[2]=s,t[3]=c);let l;t[4]!==o||t[5]!==c?(l=(0,Q.jsxs)(Te,{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)(De,{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 j.literals.find(e=>t.includes(`failed: ${e}.`))??`readFailed`},gn=e=>e._tag===`fill`?on:e._tag===`preset`&&ot.some(t=>t.id===e.presetId)?e.presetId:sn,_n=e=>{let t=gn(e);return t===on?`Fill panel`:t===sn?`Responsive`:ot.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=K(Sn),i=q(),a=r._tag===`fill`?null:r,o=a?.width??un.width,s=a?.height??un.height,c;t[0]!==o||t[1]!==s?(c={width:o,height:s},t[0]=o,t[1]=s,t[2]=c):c=t[2];let l=c,u;t[3]!==a?.height||t[4]!==a?.width||t[5]!==i?(u=e=>{if(e===on){i({browserDefaultViewport:M});return}if(e===sn){i({browserDefaultViewport:{_tag:`freeform`,width:a?.width??un.width,height:a?.height??un.height}});return}let t=ot.find(t=>t.id===e);t&&i({browserDefaultViewport:{_tag:`preset`,width:t.width,height:t.height,presetId:t.id}})},t[3]=a?.height,t[4]=a?.width,t[5]=i,t[6]=u):u=t[6];let d=u,f;t[7]!==l||t[8]!==a||t[9]!==i?(f=(e,t)=>{if(t===null||!vn(t))return;let n={...l,[e]:t};n.width*n.height>8294400||a&&n.width===a.width&&n.height===a.height||i({browserDefaultViewport:{_tag:`freeform`,...n}})},t[7]=l,t[8]=a,t[9]=i,t[10]=f):f=t[10];let p=f,m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=X(`browser-default-viewport`),t[11]=m):m=t[11];let h;t[12]!==n||t[13]!==i||t[14]!==r._tag?(h=!n&&r._tag!==T._tag?(0,Q.jsx)(nt,{label:`default browser viewport`,onClick:()=>i({browserDefaultViewport:T})}):null,t[12]=n,t[13]=i,t[14]=r._tag,t[15]=h):h=t[15];let g;t[16]===r?g=t[17]:(g=gn(r),t[16]=r,t[17]=g);let _;t[18]===r?_=t[19]:(_=_n(r),t[18]=r,t[19]=_);let v;t[20]===_?v=t[21]:(v=(0,Q.jsx)(ue,{size:`sm`,className:`w-full min-w-0 sm:w-44`,"aria-label":`Default browser viewport`,children:(0,Q.jsx)(oe,{children:_})}),t[20]=_,t[21]=v);let b,x;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(H,{value:on,children:`Fill panel`}),x=(0,Q.jsx)(H,{value:sn,children:`Responsive`}),t[22]=b,t[23]=x):(b=t[22],x=t[23]);let S;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Q.jsxs)(ce,{align:`end`,alignItemWithTrigger:!1,children:[b,x,(0,Q.jsxs)(le,{children:[(0,Q.jsx)(se,{children:`Standard`}),ot.map(xn)]})]}),t[24]=S):S=t[24];let C;t[25]!==n||t[26]!==d||t[27]!==v||t[28]!==g?(C=(0,Q.jsxs)(U,{value:g,onValueChange:d,disabled:n,children:[v,S]}),t[25]=n,t[26]=d,t[27]=v,t[28]=g,t[29]=C):C=t[29];let w;t[30]!==p||t[31]!==n||t[32]!==l||t[33]!==a||t[34]!==i?(w=a?(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,Q.jsx)(ae,{value:l.width,min:240,max:y,disabled:n,format:dn,size:`sm`,className:`w-20`,onValueCommitted:e=>p(`width`,e),children:(0,Q.jsx)(V,{children:(0,Q.jsx)(ie,{"aria-label":`Default viewport width`})})}),(0,Q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`×`}),(0,Q.jsx)(ae,{value:l.height,min:240,max:y,disabled:n,format:dn,size:`sm`,className:`w-20`,onValueCommitted:e=>p(`height`,e),children:(0,Q.jsx)(V,{children:(0,Q.jsx)(ie,{"aria-label":`Default viewport height`})})}),(0,Q.jsxs)(Ce,{children:[(0,Q.jsx)(xe,{render:(0,Q.jsx)(O,{size:`icon-sm`,variant:`ghost-muted`,disabled:n,"aria-label":`Rotate to ${l.height>=l.width?`landscape`:`portrait`}`,onClick:()=>i({browserDefaultViewport:yn(a)}),children:(0,Q.jsx)(dt,{})})}),(0,Q.jsx)(Se,{side:`top`,children:`Rotate`})]})]}):null,t[30]=p,t[31]=n,t[32]=l,t[33]=a,t[34]=i,t[35]=w):w=t[35];let E;t[36]!==C||t[37]!==w?(E=(0,Q.jsxs)(`div`,{className:`flex w-full flex-wrap items-center justify-end gap-2 sm:w-auto`,children:[C,w]}),t[36]=C,t[37]=w,t[38]=E):E=t[38];let D;return t[39]!==E||t[40]!==h?(D=(0,Q.jsx)(Y,{...m,description:`Tab size for you and agents. Fill fits the panel; other sizes show the device toolbar.`,resetAction:h,control:E}),t[39]=E,t[40]=h,t[41]=D):D=t[41],D}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=K(Tn),i=q(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-default-zoom`),t[0]=a):a=t[0];let o;t[1]!==n||t[2]!==i||t[3]!==r?(o=!n&&r!==1?(0,Q.jsx)(nt,{label:`default browser zoom`,onClick:()=>i({browserDefaultZoomFactor:1})}):null,t[1]=n,t[2]=i,t[3]=r,t[4]=o):o=t[4];let s=String(r),c;t[5]===i?c=t[6]:(c=e=>{let t=B.find(t=>String(t)===e);t!==void 0&&i({browserDefaultZoomFactor:t})},t[5]=i,t[6]=c);let l;t[7]===r?l=t[8]:(l=pn(r),t[7]=r,t[8]=l);let u;t[9]===l?u=t[10]:(u=(0,Q.jsx)(ue,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Default browser zoom`,children:(0,Q.jsx)(oe,{children:l})}),t[9]=l,t[10]=u);let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(ce,{align:`end`,alignItemWithTrigger:!1,children:B.map(wn)}),t[11]=d):d=t[11];let f;t[12]!==n||t[13]!==s||t[14]!==c||t[15]!==u?(f=(0,Q.jsxs)(U,{disabled:n,value:s,onValueChange:c,children:[u,d]}),t[12]=n,t[13]=s,t[14]=c,t[15]=u,t[16]=f):f=t[16];let p;return t[17]!==o||t[18]!==f?(p=(0,Q.jsx)(Y,{...a,description:`Page zoom applied to new browser tabs.`,resetAction:o,control:f}),t[17]=o,t[18]=f,t[19]=p):p=t[19],p}function wn(e){return(0,Q.jsx)(H,{hideIndicator:!0,value:String(e),children:pn(e)},e)}function Tn(e){return e.browserDefaultZoomFactor}function En(e){let t=(0,Z.c)(18),{disabled:n}=e,r=K(On),i=q(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-default-appearance`),t[0]=a):a=t[0];let o;t[1]!==r||t[2]!==n||t[3]!==i?(o=!n&&r!==`system`?(0,Q.jsx)(nt,{label:`default browser appearance`,onClick:()=>i({browserDefaultAppearance:w})}):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)(ue,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Default browser appearance`,children:(0,Q.jsx)(oe,{children:c})}),t[7]=c,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(ce,{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)(U,{disabled:n,value:r,onValueChange:s,children:[l,u]}),t[10]=r,t[11]=n,t[12]=s,t[13]=l,t[14]=d):d=t[14];let f;return t[15]!==o||t[16]!==d?(f=(0,Q.jsx)(Y,{...a,description:`The color scheme pages are told to prefer. System follows your OS setting.`,resetAction:o,control:d}),t[15]=o,t[16]=d,t[17]=f):f=t[17],f}function Dn(e){let[t,n]=e;return(0,Q.jsx)(H,{hideIndicator:!0,value:t,children:n},t)}function On(e){return e.browserDefaultAppearance}function kn(e){let t=(0,Z.c)(17),{disabled:n}=e,r=K(jn),i=K(An),a=q(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=X(`browser-recording-key-presses`),t[0]=o):o=t[0];let s;t[1]===a?s=t[2]:(s=e=>a({browserRecordingShowKeyPresses:!!e}),t[1]=a,t[2]=s);let c;t[3]!==n||t[4]!==r||t[5]!==s?(c=(0,Q.jsx)(Y,{...o,description:`Show pressed keys and shortcuts in new recordings. Password fields are excluded.`,control:(0,Q.jsx)(mt,{disabled:n,checked:r,"aria-label":`Show key presses in recordings`,onCheckedChange:s})}),t[3]=n,t[4]=r,t[5]=s,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=X(`browser-recording-mouse-presses`),t[7]=l):l=t[7];let u;t[8]===a?u=t[9]:(u=e=>a({browserRecordingShowMousePresses:!!e}),t[8]=a,t[9]=u);let d;t[10]!==n||t[11]!==i||t[12]!==u?(d=(0,Q.jsx)(Y,{...l,description:`Highlight mouse presses and held buttons in new recordings.`,control:(0,Q.jsx)(mt,{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=K(Pn),i=q(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-recording-frame-rate`),t[0]=a):a=t[0];let o;t[1]!==n||t[2]!==r||t[3]!==i?(o=!n&&r!==30?(0,Q.jsx)(nt,{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=F.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)(ue,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Browser recording frame rate`,children:(0,Q.jsxs)(oe,{children:[r,` fps`]})}),t[7]=r,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(ce,{align:`end`,alignItemWithTrigger:!1,children:F.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)(U,{disabled:n,value:s,onValueChange:c,children:[l,u]}),t[10]=n,t[11]=s,t[12]=c,t[13]=l,t[14]=d):d=t[14];let f;return t[15]!==o||t[16]!==d?(f=(0,Q.jsx)(Y,{...a,description:`Maximum recording rate. 30 fps saves CPU and storage; 60 fps is smoother.`,resetAction:o,control:d}),t[15]=o,t[16]=d,t[17]=f):f=t[17],f}function Nn(e){return(0,Q.jsxs)(H,{hideIndicator:!0,value:String(e),children:[e,` fps`]},e)}function Pn(e){return e.browserRecordingFrameRate}var Fn={system:`Your default browser`,app:`P4 Code`};function In(e){let t=(0,Z.c)(19),{disabled:n}=e,r=K(Rn),i=q(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-link-target`),t[0]=a):a=t[0];let o;t[1]!==n||t[2]!==r||t[3]!==i?(o=!n&&r!==`system`?(0,Q.jsx)(nt,{label:`link target`,onClick:()=>i({browserLinkTarget:C})}):null,t[1]=n,t[2]=r,t[3]=i,t[4]=o):o=t[4];let s;t[5]===i?s=t[6]:(s=e=>{(e===`system`||e===`app`)&&i({browserLinkTarget:e})},t[5]=i,t[6]=s);let c=Fn[r],l;t[7]===c?l=t[8]:(l=(0,Q.jsx)(ue,{size:`sm`,className:`w-full sm:w-40`,"aria-label":`Open links in`,children:(0,Q.jsx)(oe,{children:c})}),t[7]=c,t[8]=l);let u;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=Object.keys(Fn),t[9]=u):u=t[9];let d;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsx)(ce,{align:`end`,alignItemWithTrigger:!1,children:u.map(Ln)}),t[10]=d):d=t[10];let f;t[11]!==n||t[12]!==r||t[13]!==s||t[14]!==l?(f=(0,Q.jsxs)(U,{disabled:n,value:r,onValueChange:s,children:[l,d]}),t[11]=n,t[12]=r,t[13]=s,t[14]=l,t[15]=f):f=t[15];let p;return t[16]!==o||t[17]!==f?(p=(0,Q.jsx)(Y,{...a,description:`Where links in the chat and terminal open. Hold ⌘ or Ctrl while clicking a link to open it in your default browser either way.`,resetAction:o,control:f}),t[16]=o,t[17]=f,t[18]=p):p=t[18],p}function Ln(e){return(0,Q.jsx)(H,{hideIndicator:!0,value:e,children:Fn[e]},e)}function Rn(e){return e.browserLinkTarget}function zn(){let e=(0,Z.c)(7),{search:t,environment:n}=Xe(),r=$e(),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)(rt,{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=J(e,d),{state:i,loaded:a}=Ne(e),{scope:o,environments:s,connectedEnvironments:c}=Xe(),l=Qe(),u=o.kind===`project`||o.kind===`checkout`,f=c.some(e=>e.serverConfig?.settings.enableDeviceSupport),p=ye(Pe.configure,{reportFailure:!1}),m=ye(Pe.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&&W.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)(Y,{...X(`device-hub`),serverScoped:!0,settingKeys:[`enableDeviceSupport`],description:ze,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)(Re,{state:i,pending:!0,compact:!0}):null,(0,Q.jsx)(_t,{settingKeys:[`enableDeviceSupport`],checked:t,disabled:!r||u||!a||!e||_||h!==null,"aria-label":`Device hub`,onCheckedChange:e=>void x(`hub`,{enabled:!!e,...e?{}:{agentAccessEnabled:!1}})})]})}),(0,Q.jsx)(He,{children:y?(0,Q.jsx)(Y,{...X(`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)(Le,{compact:!0,platform:`iOS`,status:Be(i,`ios`)}),(0,Q.jsx)(Le,{compact:!0,platform:`Android`,status:Be(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)(Y,{...X(`agent-device-access`),serverScoped:!0,settingKeys:[`enableAgentDeviceAccess`],description:Fe,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)(Ve,{state:i,pending:!0,compact:!0}):null,(0,Q.jsx)(_t,{settingKeys:[`enableAgentDeviceAccess`],checked:n,disabled:!r||c.length===0||!u&&(!a||!f||_)||h!==null,"aria-label":`Agent device access`,onCheckedChange:e=>u?l({enableAgentDeviceAccess:!!e}):void x(`agent`,{agentAccessEnabled:!!e})})]})}),e?(0,Q.jsx)(Ie,{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=K(Hn),i=q(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=X(`browser-auto-show-floating-preview`),t[0]=a):a=t[0];let o;t[1]!==r||t[2]!==n||t[3]!==i?(o=!n&&r!==!0?(0,Q.jsx)(nt,{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)(mt,{disabled:n,checked:r,onCheckedChange:s,"aria-label":`Auto-show floating preview`}),t[7]=r,t[8]=n,t[9]=s,t[10]=c):c=t[10];let l;return t[11]!==o||t[12]!==c?(l=(0,Q.jsx)(Y,{...a,description:`Show the floating preview when an agent opens a browser or device unless the agent says otherwise.`,resetAction:o,control:c}),t[11]=o,t[12]=c,t[13]=l):l=t[13],l}function Hn(e){return e.browserAutoShowFloatingPreview}function Un({disabled:e}){let t=K(e=>e.browserProfiles),r=K(e=>e.browserDefaultProfileId),o=he(),s=q(),{environments:l,isReady:u}=pe(),d=fe(),[f,p]=(0,$.useState)(null),[_,y]=(0,$.useState)(null),[x,C]=(0,$.useState)(null),[w,T]=(0,$.useState)(null),[E,k]=(0,$.useState)(null),[A,j]=(0,$.useState)(!1),M=re(),N=ye(Ge.clearProfile,{reportFailure:!1}),F={environmentIds:l.map(e=>e.environmentId).filter(e=>M.get(e)?.environment.capabilities.serverBrowser===!0),clear:async(e,t)=>{let n=await N({environmentId:e,input:{profileId:t}});if(n._tag===`Failure`)throw ne(n)}},R=ln(st!==null,u,l.length,F.environmentIds.length),z=(0,$.useRef)(!1),[B,ie]=(0,$.useState)(!1),V=e||!o,ae=m(t).filter(e=>e.kind!==`incognito`),H=a(ae,r)?.id??`default`,oe=e=>{if(!o||z.current)return;let t=G().browserProfiles;if(t.length>=24)return;let n=m(t),r=new Set(n.map(e=>e.name)),i=e;for(let t=2;r.has(i);t+=1)i=`${e} ${t}`;let a={id:`profile-${D()}`,name:i,kind:`persistent`};return s({browserProfiles:[...t,a]}),a},se=(e,t)=>{if(!o||z.current)return;let n=t.trim().slice(0,48);if(n===``)return;let r=G().browserProfiles;s({browserProfiles:r.map(t=>t.id===e?{...t,name:n}:t)})},ce=(e,t)=>{if(o&&!z.current){if(!R){W.add({type:`error`,title:`Could not clear ${t}'s data`,description:`You're not connected to a server yet.`});return}cn(st,l.map(e=>e.environmentId),e,F).then(()=>{W.add({type:`success`,title:`Cleared ${t}'s cookies and cache`})}).catch(()=>{W.add({type:`error`,title:`Could not clear ${t}'s data`})})}},le=async e=>{if(!o||z.current)return;if(!R){k(`Connect to an environment before removing this profile.`);return}k(null),j(!0);try{await cn(st,u?l.map(e=>e.environmentId):[],e,F)}catch{k(`Profile data could not be deleted. Try again.`),j(!1);return}let t=G();s({browserProfiles:t.browserProfiles.filter(t=>t.id!==e),...t.browserDefaultProfileId===e?{browserDefaultProfileId:te}:{}}),j(!1),C(null)},ue=(f??[]).filter(e=>e.unavailable!==`notInstalled`&&e.unavailable!==`unsupportedPlatform`),U=(0,$.useCallback)(()=>{st&&st.listBrowserImportSources().then(p).catch(()=>p(e=>e??[]))},[]),de=async(e,t,n)=>{if(!st||!o)return{kind:`blocked`,reason:`sessionUnavailable`};if(n.target.kind===`existing`&&!m(G().browserProfiles).some(e=>e.id===n.target.profileId)||z.current)return{kind:`blocked`,reason:`readFailed`};z.current=!0,ie(!0);try{let r=await st.importBrowserCookies({environmentId:t,sourceId:e.id,sourceProfileDirectory:n.sourceProfileDirectory,targetProfileId:n.target.profileId});if(n.target.kind===`existing`&&!m(G().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 ge(t=>{if(t.browserProfiles.find(e=>e.id===n.target.profileId))return t;if(t.browserProfiles.length>=24)throw new mn;let r=new Set(m(t.browserProfiles).map(e=>e.name)),i=e.name;for(let t=2;r.has(i);t+=1)i=`${e.name} ${t}`;return{...t,browserProfiles:[...t.browserProfiles,{id:n.target.profileId,name:i,kind:`persistent`}]}})).browserProfiles.find(e=>e.id===n.target.profileId)?.name??e.name}catch(r){await cn(st,[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{z.current=!1,ie(!1)}},_e=async e=>{if(st)try{let t=await st.listBrowserImportSources();return p(t),t.find(t=>t.id===e)}catch{return}},J=t.length>=24;return(0,Q.jsxs)(Y,{...X(`browser-profiles`),description:`Profiles separate cookies and logins. Incognito data is cleared when the app closes.`,control:(0,Q.jsxs)(P,{onOpenChange:e=>e&&U(),children:[(0,Q.jsxs)(S,{render:(0,Q.jsx)(O,{size:`sm`,variant:`outline`,disabled:V||B}),children:[(0,Q.jsx)(i,{}),`Add profile`]}),(0,Q.jsxs)(n,{align:`end`,children:[(0,Q.jsx)(v,{disabled:!o||J,onClick:()=>oe(`New profile`),children:`Blank profile`}),J?(0,Q.jsx)(v,{disabled:!0,children:`You’ve reached the profile limit`}):null,(0,Q.jsx)(I,{}),(0,Q.jsxs)(g,{children:[(0,Q.jsx)(h,{children:`Import from`}),f===null?(0,Q.jsx)(v,{disabled:!0,children:`Looking for browsers…`}):ue.length===0?(0,Q.jsx)(v,{disabled:!0,children:`No supported browsers found`}):(0,Q.jsxs)(Q.Fragment,{children:[ue.map(e=>(0,Q.jsx)(v,{disabled:!o||d==null,onClick:()=>{o&&d!=null&&y({source:e,environmentId:d.environmentId,environmentName:Ze({isPrimary:!0,environmentId:d.environmentId,runtimeLabel:d.label})})},children:e.name},e.id)),d==null?(0,Q.jsx)(v,{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 r=ee(e.id),i=e.id===H;return(0,Q.jsxs)(`div`,{className:L(`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:[r?(0,Q.jsx)(`span`,{className:L(`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||B,maxLength:48,value:e.name,onCommit:t=>se(e.id,t)}),i?(0,Q.jsx)(`span`,{className:L(`flex`,V&&`opacity-64`),children:(0,Q.jsx)(c,{children:`Default`})}):null]}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(S,{render:(0,Q.jsx)(O,{size:`icon-xs`,variant:`ghost-muted`,disabled:V||B,"aria-label":`${e.name} options`}),children:(0,Q.jsx)(b,{})}),(0,Q.jsxs)(n,{align:`end`,children:[(0,Q.jsx)(v,{disabled:!o||i,onClick:()=>{o&&s({browserDefaultProfileId:e.id})},children:`Set as default`}),(0,Q.jsx)(v,{disabled:!o||!R,onClick:()=>{F.environmentIds.length>0?T(e):ce(e.id,e.name)},children:`Clear cookies and cache`}),r?null:(0,Q.jsx)(v,{variant:`destructive`,disabled:!o||!R,onClick:()=>{o&&C(e)},children:`Remove profile and data`}),R?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(I,{}),(0,Q.jsx)(v,{disabled:!0,children:u?`Connect to an environment to clear profile data`:`Checking environments…`})]})]})]})]},e.id)})}),(0,Q.jsx)(at,{open:x!==null,onOpenChange:e=>{!e&&!A&&(C(null),k(null))},children:(0,Q.jsxs)(ct,{children:[(0,Q.jsxs)(ft,{children:[(0,Q.jsxs)(lt,{children:[`Remove “`,x?.name,`”?`]}),(0,Q.jsx)(pt,{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.`}),E?(0,Q.jsx)(`p`,{"aria-live":`polite`,className:`text-sm text-destructive`,children:E}):null,R?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)(it,{children:[(0,Q.jsx)(ut,{disabled:A,render:(0,Q.jsx)(O,{variant:`outline`,disabled:A}),children:`Cancel`}),(0,Q.jsx)(O,{variant:`destructive`,disabled:A||!o||!R,onClick:()=>{x&&o&&R&&le(x.id)},children:A?`Removing…`:`Remove profile`})]})]})}),(0,Q.jsx)(at,{open:w!==null,onOpenChange:e=>{e||T(null)},children:(0,Q.jsxs)(ct,{children:[(0,Q.jsxs)(ft,{children:[(0,Q.jsxs)(lt,{children:[`Clear “`,w?.name,`”’s cookies and cache?`]}),(0,Q.jsx)(pt,{children:`You are signed out of its sites. Server browser tabs open in this profile close now.`})]}),(0,Q.jsxs)(it,{children:[(0,Q.jsx)(ut,{render:(0,Q.jsx)(O,{variant:`outline`}),children:`Cancel`}),(0,Q.jsx)(O,{variant:`destructive`,onClick:()=>{w&&ce(w.id,w.name),T(null)},children:`Clear data`})]})]})}),_?(0,Q.jsx)(Jt,{source:_.source,destinationEnvironmentName:_.environmentName,targetProfiles:ae.map(e=>({id:e.id,name:e.name})),canCreateProfile:o&&!J,onImport:e=>de(_.source,_.environmentId,e),onRefreshSource:()=>_e(_.source.id),onCheckFullDiskAccess:window.desktopBridge?.checkSystemPermission?()=>window.desktopBridge.checkSystemPermission(`full-disk-access`):void 0,onOpenFullDiskAccessSettings:async()=>{await me()?.shell.openSystemSettings(`full-disk-access`).catch(()=>{W.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)(tt,{children:[i,(0,Q.jsx)(rt,{id:`browser`,title:`Browser`,children:t?(0,Q.jsx)(et,{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-BLYy6l0O.js.map
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{$d as n,BE as r,Ft as i,Ht as a,It as o,Jt as s,Kn as c,Ns as l,Nt as u,Qd as d,RT as f,Vt as p,Zd as m,_h as h,gh as g,iT as _,ih as v,lr as y,mE as b,nT as x,nn as S,t as C,ur as w,xd as T}from"./utils-B0w8dSf5.js";import{a as E,i as D,n as O,r as k,t as A}from"./number-field-j3MeOhOk.js";import{a as j,c as M,o as N,s as P,t as F}from"./select-CqPGedM1.js";import{t as ee}from"./useNavigate-CSxB1zLo.js";import{i as te}from"./toast-B2B2ECBW.js";import{F as ne,I as re,N as ie,P as ae,f as oe,z as se}from"./useSettings-BEKkRzL1.js";import{f as ce,t as le}from"./server-C8OpoOTL.js";import{n as ue}from"./query-DrtB5w10.js";import{t as de}from"./use-atom-command-BWLbyoVN.js";import{a as fe,n as pe,t as me}from"./tooltip-CuJiZzK7.js";import{t as I}from"./skeleton-CzpSBxtu.js";import{t as he}from"./textarea-UGuOTqiM.js";import{t as ge}from"./input-CDBTiBJx.js";import{a as _e,i as ve,n as L,o as ye,r as be,t as xe}from"./empty-DeLw5x6B.js";import{t as R}from"./sourceControl-B9T0IPlu.js";import{g as Se,m as Ce}from"./Icons-bbJxtd49.js";import{n as we,t as Te}from"./sourceControlClients-BgBu2ayZ.js";import{n as z}from"./pullRequestIcons-B9gjoHK4.js";import{B as Ee,F as De,L as Oe,P as ke,a as B,f as V,i as Ae,n as je,o as H,r as Me,s as Ne,t as Pe}from"./settingsLayout-DaLF8Hfm.js";import{Ca as Fe,da as U,lr as Ie,nr as Le,pa as Re,pi as ze,sn as Be,tr as W,ua as Ve,ur as He}from"./main-BgKiw-9f.js";import{t as Ue}from"./ProviderModelPicker-BTTJn7iC.js";import{t as We}from"./useScopedModelAvailability-D1MGYLGR.js";import{t as Ge}from"./ProjectDefaultsSettings-Ibem_Z4L.js";import{t as Ke}from"./SecretInput-aXfqfjLk.js";import{t as qe}from"./ProviderSettingsForm-CGRf8WX5.js";var G=r(),K=e(t(),1),q=e(b(),1);function Je({environmentId:e,definition:t,onSaved:n}){let r=oe(e,e=>e.sourceControlHosts[t.kind]),i=de(ce.updateSettings,{label:`save ${t.label} settings`}),[a,o]=(0,K.useState)(!1),s={settingsSchema:t.settings},c=Object.values(r??{}).some(e=>e!==``),l=async r=>{o(!0);try{(await i({environmentId:e,input:{patch:{sourceControlHosts:{[t.kind]:r}}}}))._tag===`Success`&&n()}finally{o(!1)}};return(0,q.jsxs)(`fieldset`,{disabled:a,className:`contents`,children:[(0,q.jsx)(qe,{definition:s,value:r??{},idPrefix:`source-control-${t.kind}-${e}`,variant:`settings`,onChange:e=>{let t=e??{},n=Object.fromEntries(Object.entries(t).filter(([e,t])=>r?.[e]!==t)),i=Object.keys(r??{}).filter(e=>!(e in t));l({...n,...Object.fromEntries(i.map(e=>[e,``]))})}}),c?(0,q.jsx)(`div`,{className:`flex justify-end pt-2`,children:(0,q.jsx)(y,{size:`xs`,variant:`outline`,onClick:()=>void l(Object.fromEntries(Object.keys(r??{}).map(e=>[e,``]))),children:`Remove`})}):null]})}function Ye(e){return[...new Set(e.map(e=>e.host))].map(t=>{let n=e.filter(e=>e.host===t),r=n.filter(e=>e.environmentVariable===void 0),i=r.filter(e=>e.authenticated);return{host:t,activeAccount:(i.find(e=>e.active)??i[0])?.account??null,selectable:i.map(e=>e.account),broken:r.filter(e=>!e.authenticated),environmentVariable:n.find(e=>e.environmentVariable)?.environmentVariable??null}})}function Xe(e,t,n){let r=e[t],i=n.enabled??r?.enabled??!0,a=n.account===void 0?r?.account:n.account??void 0,{[t]:o,...s}=e;return i&&a===void 0?s:{...s,[t]:{enabled:i,...a===void 0?{}:{account:a}}}}var J=`active gh account`;function Y(e){let t=(0,G.c)(4),n;return t[0]!==e.account||t[1]!==e.label||t[2]!==e.revealed?(n=e.revealed?(0,q.jsx)(`span`,{className:`min-w-0 truncate font-mono text-2xs`,children:e.account}):(0,q.jsxs)(`span`,{className:`min-w-0 truncate font-mono text-2xs`,children:[(0,q.jsx)(`span`,{className:`select-none blur-xs`,"aria-hidden":!0,children:He(e.account)}),(0,q.jsx)(`span`,{className:`sr-only`,children:e.label??`Hidden account`})]}),t[0]=e.account,t[1]=e.label,t[2]=e.revealed,t[3]=n):n=t[3],n}function Ze({environmentId:e,auth:t,onSaved:r}){let i=oe(e,Te).hosts,a=de(ce.updateSettings,{label:`save GitHub account settings`}),[o,s]=(0,K.useState)(!1),[c,l]=(0,K.useState)(!1),u=Ye(t.accounts??[]),f=async(t,n)=>{s(!0);try{(await a({environmentId:e,input:{patch:{sourceControlHosts:{github:{hosts:Xe(i,t,n)}}}}}))._tag===`Success`&&r()}finally{s(!1)}};return u.length===0?(0,q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Sign in with `,(0,q.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-2xs`,children:`gh auth login`}),` on the server host, then rescan to choose accounts here.`]}):(0,q.jsxs)(`div`,{className:`grid gap-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsxs)(`p`,{className:`max-w-2xl text-xs leading-relaxed text-muted-foreground`,children:[`Choose which `,(0,q.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-2xs`,children:`gh`}),` login each GitHub host uses, or turn a host off.`]}),(0,q.jsx)(y,{size:`icon-xs`,variant:`ghost-muted`,onClick:()=>l(e=>!e),"aria-label":c?`Hide GitHub accounts`:`Reveal GitHub accounts`,"aria-pressed":c,children:c?(0,q.jsx)(n,{}):(0,q.jsx)(d,{})})]}),u.map(e=>{let t=i[e.host],n=t?.enabled??!0,r=t?.account!==void 0&&!e.selectable.includes(t.account),a=t?.account!==void 0&&!r?t.account:J;return(0,q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:e.host}),e.selectable.length===1&&e.selectable[0]!==void 0?(0,q.jsxs)(`p`,{className:`flex min-w-0 items-center gap-1 text-xs text-muted-foreground`,children:[(0,q.jsx)(`span`,{children:`Signed in as`}),(0,q.jsx)(Y,{revealed:c,account:e.selectable[0]})]}):null]}),(0,q.jsx)(Re,{checked:n,disabled:o,"aria-label":`Use GitHub on ${e.host}`,onCheckedChange:t=>void f(e.host,{enabled:t})})]}),e.selectable.length>1?(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Account`}),(0,q.jsx)(`div`,{className:`w-64 max-w-full`,children:(0,q.jsxs)(F,{value:a,disabled:o||!n,onValueChange:t=>{typeof t==`string`&&f(e.host,{account:t===J?null:t})},children:[(0,q.jsx)(P,{size:`sm`,"aria-label":`GitHub account for ${e.host}`,children:(0,q.jsx)(M,{children:t=>t===J?(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[`Active gh account`,e.activeAccount?(0,q.jsxs)(q.Fragment,{children:[`(`,(0,q.jsx)(Y,{revealed:c,account:e.activeAccount}),`)`]}):null]}):(0,q.jsx)(Y,{revealed:c,account:t})})}),(0,q.jsxs)(N,{align:`end`,alignItemWithTrigger:!1,children:[(0,q.jsx)(j,{value:J,children:(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[`Active gh account`,e.activeAccount?(0,q.jsxs)(q.Fragment,{children:[`(`,(0,q.jsx)(Y,{revealed:c,account:e.activeAccount}),`)`]}):null]})}),e.selectable.map((e,t)=>(0,q.jsx)(j,{value:e,children:(0,q.jsx)(Y,{revealed:c,account:e,label:`Account ${t+1}`})},e))]})]})})]}):null,r?(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`p`,{className:`text-xs text-warning`,children:`The chosen login is no longer signed in, so the active gh login is used.`}),(0,q.jsx)(y,{size:`xs`,variant:`outline`,disabled:o,onClick:()=>void f(e.host,{account:null}),children:`Use active login`})]}):null,e.broken.map(e=>(0,q.jsxs)(`p`,{className:`flex min-w-0 flex-wrap items-center gap-1 text-xs text-muted-foreground/70`,children:[(0,q.jsx)(Y,{revealed:c,account:e.account}),(0,q.jsxs)(`span`,{children:[`can't be used: `,e.error??`gh reports this login as invalid.`]})]},e.account)),e.environmentVariable?(0,q.jsxs)(`p`,{className:`text-xs text-warning`,children:[e.environmentVariable,` is set on the server, so it overrides the account chosen here until it is unset.`]}):null]},e.host)})]})}var X=`github.com`;function Qe(e){return`https://${e}/settings/personal-access-tokens/new`}function $e({environmentId:e,onSaved:t}){let{tokens:n}=oe(e,Te),r=de(ce.updateSettings,{label:`save GitHub token`}),[i,a]=(0,K.useState)(X),[o,s]=(0,K.useState)(``),[c,l]=(0,K.useState)(!1),u=i.trim().toLowerCase(),d=(n[u]??``).length>0,f=Object.entries(n).filter(([,e])=>e.length>0).map(([e])=>e),p=async(i,a)=>{l(!0);try{(await r({environmentId:e,input:{patch:{sourceControlHosts:{github:{tokens:{...n,[i]:a}}}}}}))._tag===`Success`&&(s(``),t())}finally{l(!1)}};return(0,q.jsx)(`form`,{className:`grid gap-3`,onSubmit:e=>{e.preventDefault(),u&&o.trim()&&p(u,o.trim())},children:(0,q.jsxs)(`fieldset`,{disabled:c,className:`contents`,children:[(0,q.jsxs)(`p`,{className:`max-w-2xl text-xs leading-relaxed text-muted-foreground`,children:[`A token saved here is used before`,` `,(0,q.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-2xs`,children:`GH_TOKEN`}),` and the`,` `,(0,q.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-2xs`,children:`gh`}),` login, so GitHub works without the GitHub CLI. Give it read and write access to pull requests and contents.`,` `,(0,q.jsxs)(w,{render:(0,q.jsx)(`a`,{href:Qe(u||X),target:`_blank`,rel:`noreferrer noopener`}),children:[`Create a token`,(0,q.jsx)(m,{"aria-hidden":!0,className:`size-3`})]})]}),(0,q.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-[12rem_1fr]`,children:[(0,q.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,q.jsx)(ze,{htmlFor:`github-token-host-${e}`,children:`Host`}),(0,q.jsx)(ge,{id:`github-token-host-${e}`,autoComplete:`off`,size:`sm`,placeholder:X,value:i,onChange:e=>a(e.target.value)})]}),(0,q.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,q.jsx)(ze,{htmlFor:`github-token-${e}`,children:`Token`}),(0,q.jsx)(Ke,{id:`github-token-${e}`,size:`sm`,configured:d,value:o,onChange:e=>s(e.target.value)})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:f.length===0?`No token saved; the server uses GH_TOKEN or the gh login.`:`Saved for ${f.join(`, `)}.`}),(0,q.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[d?(0,q.jsx)(y,{size:`xs`,variant:`outline`,disabled:c,onClick:()=>void p(u,``),children:`Remove`}):null,(0,q.jsx)(y,{type:`submit`,size:`xs`,disabled:!u||!o.trim()||c,children:`Save`})]})]})]})})}var et={static:`Static prefix`,semantic:`Semantic prefix`,custom:`Custom instructions`};function tt(){let e=(0,G.c)(40),t=ke(),{targets:n}=Ee(),r;e[0]===n?r=e[1]:(r=n.map(it).join(`,`),e[0]=n,e[1]=r);let i=r,a=(0,K.useRef)(!1),o=(0,K.useRef)(!1),s=Oe(),c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=[`branchNamingMode`],e[2]=c):c=e[2];let l=De(c),u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=[`branchNamePrefix`],e[3]=u):u=e[3];let d=De(u),f;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=[`branchNameInstructions`],e[4]=f):f=e[4];let p=De(f),m,h;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=[`branchNamingMode`],h=W(`worktree-branch-naming`),e[5]=m,e[6]=h):(m=e[5],h=e[6]);let _=!l&&t.branchNamingMode===`semantic`?`The model chooses a prefix that describes the work, such as feat/add-search, fix/login-timeout, or refactor/auth.`:void 0,y;e[7]!==l||e[8]!==t.branchNamingMode||e[9]!==s?(y=t.branchNamingMode!==g.branchNamingMode||l?(0,q.jsx)(Me,{label:`branch naming`,onClick:()=>s({branchNamingMode:g.branchNamingMode})}):null,e[7]=l,e[8]=t.branchNamingMode,e[9]=s,e[10]=y):y=e[10];let b=l?null:t.branchNamingMode,x;e[11]===s?x=e[12]:(x=e=>{v.literals.includes(e)&&s({branchNamingMode:e})},e[11]=s,e[12]=x);let S;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,q.jsx)(P,{size:`sm`,"aria-label":`Worktree branch naming`,children:(0,q.jsx)(M,{children:rt})}),e[13]=S):S=e[13];let C;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,q.jsx)(N,{align:`end`,alignItemWithTrigger:!1,children:v.literals.map(nt)}),e[14]=C):C=e[14];let w;e[15]!==b||e[16]!==x?(w=(0,q.jsxs)(F,{value:b,onValueChange:x,children:[S,C]}),e[15]=b,e[16]=x,e[17]=w):w=e[17];let T;e[18]!==w||e[19]!==_||e[20]!==y?(T=(0,q.jsx)(B,{serverScoped:!0,settingKeys:m,...h,description:`Choose how new worktree branches are named from your first message.`,status:_,resetAction:y,control:w}),e[18]=w,e[19]=_,e[20]=y,e[21]=T):T=e[21];let E;e[22]!==l||e[23]!==d||e[24]!==i||e[25]!==t.branchNamePrefix||e[26]!==t.branchNamingMode||e[27]!==s?(E=!l&&t.branchNamingMode===`static`?(0,q.jsx)(B,{serverScoped:!0,settingKeys:[`branchNamePrefix`],title:`Branch prefix`,description:`For example, p4 or p4/ produces p4/add-search. Leave empty for no prefix.`,resetAction:d||t.branchNamePrefix!==g.branchNamePrefix?(0,q.jsx)(Me,{label:`branch prefix`,onClick:()=>s({branchNamePrefix:g.branchNamePrefix})}):null,control:(0,q.jsx)(ge,{"aria-label":`Branch prefix`,autoCapitalize:`none`,spellCheck:!1,onChange:()=>{a.current=!0},placeholder:d?`Mixed`:`No prefix`,defaultValue:d?``:t.branchNamePrefix,onBlur:e=>{let n=e.target.value.trim();a.current&&(d||n!==t.branchNamePrefix)&&s({branchNamePrefix:n}),a.current=!1}},`${i}:${d}:${t.branchNamePrefix}`)}):null,e[22]=l,e[23]=d,e[24]=i,e[25]=t.branchNamePrefix,e[26]=t.branchNamingMode,e[27]=s,e[28]=E):E=e[28];let D;e[29]!==p||e[30]!==l||e[31]!==i||e[32]!==t.branchNameInstructions||e[33]!==t.branchNamingMode||e[34]!==s?(D=!l&&t.branchNamingMode===`custom`?(0,q.jsx)(B,{serverScoped:!0,settingKeys:[`branchNameInstructions`],title:`Branch naming instructions`,description:`Appended to the naming prompt. The model returns the complete branch name; no prefix or suffix is added.`,resetAction:p||t.branchNameInstructions!==``?(0,q.jsx)(Me,{label:`branch naming instructions`,onClick:()=>s({branchNameInstructions:``})}):null,children:(0,q.jsx)(`div`,{className:`mt-3 max-w-2xl pb-3.5`,children:(0,q.jsx)(he,{"aria-label":`Branch naming instructions`,onChange:()=>{o.current=!0},rows:4,defaultValue:p?``:t.branchNameInstructions,placeholder:p?`Mixed. Enter instructions to apply to all selected targets.`:`Use julius/ followed by the issue ID and a short description.`,onBlur:e=>{let n=e.target.value.trim();o.current&&(p||n!==t.branchNameInstructions)&&s({branchNameInstructions:n}),o.current=!1}},`${i}:${p}:${t.branchNameInstructions}`)})}):null,e[29]=p,e[30]=l,e[31]=i,e[32]=t.branchNameInstructions,e[33]=t.branchNamingMode,e[34]=s,e[35]=D):D=e[35];let O;return e[36]!==T||e[37]!==E||e[38]!==D?(O=(0,q.jsxs)(q.Fragment,{children:[T,E,D]}),e[36]=T,e[37]=E,e[38]=D,e[39]=O):O=e[39],O}function nt(e){return(0,q.jsx)(j,{value:e,children:et[e]},e)}function rt(e){return e===null?`Mixed`:et[e]}function it(e){return`${e.environmentId}:${e.projectId}`}var at={repo_conventions:{label:`Repository conventions`,description:`In each project, matches recent change descriptions and change request titles.`},conventional_commits:{label:`Conventional Commits`,description:`Use Conventional Commit prefixes and keep change request text concise.`},custom:{label:`Custom instructions`,description:`Use your instructions for change descriptions and change requests in every project.`}};function ot(){let e=(0,G.c)(80),t=ke(),n=Oe(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`reviewGuidesEnabled`],e[0]=r):r=e[0];let c=De(r),d=ee(),{environment:f,connectedEnvironments:m,targets:g,target:_}=Ee(),v=f?.environmentId??null,b=m.length>0,x=f?.serverConfig?.providers??le,C;e[1]===g?C=e[2]:(C=e=>{let t=g[0];return t!==void 0&&g.some(n=>n.settings.sourceControlWritingStyle[e]!==t.settings.sourceControlWritingStyle[e])},e[1]=g,e[2]=C);let w=C,T;e[3]===w?T=e[4]:(T=w(`mode`),e[3]=w,e[4]=T);let E=T,D;e[5]===w?D=e[6]:(D=w(`customInstructions`),e[5]=w,e[6]=D);let O=D,k;e[7]===w?k=e[8]:(k=w(`followChangeRequestTemplates`),e[7]=w,e[8]=k);let A=k,j=E||O,ne;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(ne=[`sourceControlWriterModelSelection`],e[9]=ne):ne=e[9];let re=De(ne),oe;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(oe=[`reviewGuideModelSelection`],e[10]=oe):oe=e[10];let se=De(oe),ce;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(ce=[`reviewGuideInstructions`],e[11]=ce):ce=e[11];let ue=De(ce),de=(0,K.useRef)(!1),fe;e[12]===g?fe=e[13]:(fe=g.map(mt).join(`,`),e[12]=g,e[13]=fe);let pe=fe,me=(0,K.useRef)(null),[I,ge]=(0,K.useState)(!1),[_e,ve]=(0,K.useState)(null),L=t.sourceControlWritingStyle,ye=h.sourceControlWritingStyle,be=j||L.mode!==ye.mode||L.customInstructions!==ye.customInstructions,xe=x.filter(pt),R=s(p(a(xe),t,_?.projectId??null)),Se=new Set(R.filter(ft).map(dt)),Ce=xe.filter(e=>Se.has(e.instanceId)),we=i(t,Ce),Te=t.sourceControlWriterModelSelection!==null,z=i({...t,textGenerationModelSelection:ae(t,Ce,_?.projectId??null)},Ce),V=R.some(e=>e.instanceId===we.instanceId&&e.enabled&&e.isAvailable),Ae=u(t,Ce,z.instanceId,z.model),H=We(t,R),Pe=R.find(e=>e.instanceId===z.instanceId),Fe=t.reviewGuideModelSelection!==null,U=i({...t,textGenerationModelSelection:ie(t,xe,_?.projectId??null)},xe),Ie=u(t,xe,U.instanceId,U.model),Le=R.find(e=>e.instanceId===U.instanceId),ze=Ne,Be;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(Be=(0,q.jsx)(tt,{}),e[14]=Be):Be=e[14];let Ve;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=[`sourceControlWritingStyle`],e[15]=Ve):Ve=e[15];let He;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(He=W(`source-control-writing-style`),e[16]=He):He=e[16];let Ge=at[L.mode],Ke;e[17]!==be||e[18]!==n?(Ke=be?(0,q.jsx)(Me,{label:`source control writing style`,onClick:()=>n({sourceControlWritingStyle:{mode:ye.mode,customInstructions:ye.customInstructions}})}):null,e[17]=be,e[18]=n,e[19]=Ke):Ke=e[19];let qe=E?null:L.mode,Je;e[20]===n?Je=e[21]:(Je=e=>{let t=me.current?.value.trim();n({sourceControlWritingStyle:{mode:e,...t===void 0?{}:{customInstructions:t}}})},e[20]=n,e[21]=Je);let Ye;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,q.jsx)(P,{size:`sm`,className:`w-full sm:w-56`,"aria-label":`Source control writing style`,children:(0,q.jsx)(M,{children:ut})}),e[22]=Ye):Ye=e[22];let Xe;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=Object.keys(at),e[23]=Xe):Xe=e[23];let J;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,q.jsx)(N,{align:`end`,alignItemWithTrigger:!1,children:Xe.map(lt)}),e[24]=J):J=e[24];let Y;e[25]!==qe||e[26]!==Je?(Y=(0,q.jsxs)(F,{value:qe,onValueChange:Je,children:[Ye,J]}),e[25]=qe,e[26]=Je,e[27]=Y):Y=e[27];let Ze;e[28]!==_e||e[29]!==I||e[30]!==L.customInstructions||e[31]!==L.mode||e[32]!==n||e[33]!==j?(Ze=j?(0,q.jsx)(`div`,{className:`mt-3 max-w-2xl space-y-2 pb-3.5`,children:I?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(he,{value:_e??``,onChange:e=>ve(e.target.value),rows:4,"aria-label":`Custom source control instructions for all selected environments`,placeholder:`Write the instructions each selected environment should use.`}),(0,q.jsx)(y,{size:`sm`,variant:`outline`,disabled:_e===null,onClick:()=>{_e!==null&&(n({sourceControlWritingStyle:{mode:`custom`,customInstructions:_e.trim()}}),ge(!1))},children:`Apply instructions to all`})]}):(0,q.jsx)(y,{size:`sm`,variant:`outline`,onClick:()=>{ve(null),ge(!0)},children:`Write custom instructions for all`})}):L.mode===`custom`?(0,q.jsx)(`div`,{className:`mt-3 max-w-2xl pb-3.5`,children:(0,q.jsx)(he,{ref:me,defaultValue:L.customInstructions,onBlur:e=>{let t=e.target.value.trim();t!==L.customInstructions&&n({sourceControlWritingStyle:{customInstructions:t}})},rows:4,placeholder:`Keep titles concise. Use short bullet points in descriptions.`,"aria-label":`Custom source control writing instructions`},L.customInstructions)}):null,e[28]=_e,e[29]=I,e[30]=L.customInstructions,e[31]=L.mode,e[32]=n,e[33]=j,e[34]=Ze):Ze=e[34];let X;e[35]!==Ge.description||e[36]!==Ke||e[37]!==Y||e[38]!==Ze||e[39]!==j?(X=(0,q.jsx)(B,{serverScoped:!0,settingKeys:Ve,mixed:j,...He,description:Ge.description,resetAction:Ke,control:Y,children:Ze}),e[35]=Ge.description,e[36]=Ke,e[37]=Y,e[38]=Ze,e[39]=j,e[40]=X):X=e[40];let Qe;e[41]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=[`sourceControlWritingStyle`],e[41]=Qe):Qe=e[41];let $e;e[42]===Symbol.for(`react.memo_cache_sentinel`)?($e=W(`follow-change-request-templates`),e[42]=$e):$e=e[42];let et;e[43]!==L.followChangeRequestTemplates||e[44]!==A||e[45]!==n?(et=A||L.followChangeRequestTemplates!==ye.followChangeRequestTemplates?(0,q.jsx)(Me,{label:`change request templates`,onClick:()=>n({sourceControlWritingStyle:{followChangeRequestTemplates:ye.followChangeRequestTemplates}})}):null,e[43]=L.followChangeRequestTemplates,e[44]=A,e[45]=n,e[46]=et):et=e[46];let nt=!A&&L.followChangeRequestTemplates,rt;e[47]===n?rt=e[48]:(rt=e=>n({sourceControlWritingStyle:{followChangeRequestTemplates:!!e}}),e[47]=n,e[48]=rt);let it;e[49]!==nt||e[50]!==rt||e[51]!==A?(it=(0,q.jsx)(Re,{mixed:A,checked:nt,onCheckedChange:rt,"aria-label":`Follow change request templates`}),e[49]=nt,e[50]=rt,e[51]=A,e[52]=it):it=e[52];let ot;e[53]!==et||e[54]!==it||e[55]!==A?(ot=(0,q.jsx)(B,{serverScoped:!0,settingKeys:Qe,mixed:A,...$e,description:`Use the repository's template for change request descriptions when available.`,resetAction:et,control:it}),e[53]=et,e[54]=it,e[55]=A,e[56]=ot):ot=e[56];let ht,gt;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(ht=[`sourceControlWriterModelSelection`],gt=W(`source-control-writer-model`),e[57]=ht,e[58]=gt):(ht=e[57],gt=e[58]);let _t=b?(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[Te&&!V?(0,q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`No text generation providers available.`}):null,Te&&V?(0,q.jsx)(Ue,{environmentId:v,activeInstanceId:z.instanceId,model:z.model,lockedProvider:null,instanceEntries:R,modelOptionsByInstance:Ae,triggerClassName:je,triggerAriaLabel:`Source control writer model`,...re?{triggerLabel:`Mixed`}:{},...v?{onOpenProviderSetup:e=>{d({to:`/settings/providers`,search:{environmentId:v,instanceId:e}})}}:{},getModelDisabledReason:H,onInstanceModelChange:(e,t)=>{let r=H(e,t);if(r){te.add({type:`error`,title:`Source control writer model not saved`,description:r});return}n({sourceControlWriterModelSelection:l(e,t)})}}):null,Te&&V&&!re&&Pe?(0,q.jsx)(S,{provider:Pe.driverKind,models:Pe.models,model:z.model,prompt:``,onPromptChange:ct,modelOptions:z.options??[],allowPromptInjectedEffort:!1,planModeEnabled:t.planModeEnabled||o(z.options),triggerClassName:je,onModelOptionsChange:e=>n({sourceControlWriterModelSelection:l(z.instanceId,z.model,e)})}):null,(0,q.jsx)(Re,{checked:Te,disabled:!Te&&!V,onCheckedChange:e=>n({sourceControlWriterModelSelection:e?l(we.instanceId,we.model,we.options):null}),"aria-label":`Use a separate source control writer model`})]}):(0,q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Connect an environment to choose its source control writer model.`}),vt;e[59]===_t?vt=e[60]:(vt=(0,q.jsx)(B,{serverScoped:!0,settingKeys:ht,...gt,description:`Model for source control text and branch or bookmark names. Off uses the environment's text generation model.`,control:_t}),e[59]=_t,e[60]=vt);let yt;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(yt=[`reviewGuidesEnabled`],e[61]=yt):yt=e[61];let bt;e[62]===Symbol.for(`react.memo_cache_sentinel`)?(bt=W(`review-guides`),e[62]=bt):bt=e[62];let xt=!c&&t.reviewGuidesEnabled,Z;e[63]===n?Z=e[64]:(Z=e=>n({reviewGuidesEnabled:!!e}),e[63]=n,e[64]=Z);let Q;e[65]!==c||e[66]!==xt||e[67]!==Z?(Q=(0,q.jsx)(Re,{mixed:c,checked:xt,onCheckedChange:Z,"aria-label":`Review guides`}),e[65]=c,e[66]=xt,e[67]=Z,e[68]=Q):Q=e[68];let $;e[69]!==c||e[70]!==Q?($=(0,q.jsx)(B,{serverScoped:!0,settingKeys:yt,mixed:c,...bt,description:`Adds a Guide tab to pull requests: an agent writes a tour of the change, stop by stop, with the calls a maintainer should make.`,control:Q}),e[69]=c,e[70]=Q,e[71]=$):$=e[71];let St=t.reviewGuidesEnabled||c?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(B,{serverScoped:!0,settingKeys:[`reviewGuideModelSelection`],...W(`review-guide-model`),description:`Model that reads a pull request to write its review guide. It reads the change itself over many steps, so a stronger model helps. Off uses the source control writer model.`,control:b?(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[(Fe||se)&&V?(0,q.jsx)(Ue,{environmentId:v,activeInstanceId:U.instanceId,model:U.model,lockedProvider:null,instanceEntries:R,modelOptionsByInstance:Ie,triggerClassName:je,triggerAriaLabel:`Review guide model`,...se?{triggerLabel:`Mixed`}:{},getModelDisabledReason:H,onInstanceModelChange:(e,t)=>{let r=H(e,t);if(r){te.add({type:`error`,title:`Review guide model not saved`,description:r});return}n({reviewGuideModelSelection:l(e,t)})}}):null,Fe&&V&&!se&&Le?(0,q.jsx)(S,{provider:Le.driverKind,models:Le.models,model:U.model,prompt:``,onPromptChange:st,modelOptions:U.options??[],allowPromptInjectedEffort:!1,planModeEnabled:t.planModeEnabled||o(U.options),triggerClassName:je,onModelOptionsChange:e=>n({reviewGuideModelSelection:l(U.instanceId,U.model,e)})}):null,(0,q.jsx)(Re,{mixed:se,checked:!se&&Fe,disabled:!Fe&&!V,onCheckedChange:e=>{if(!e){n({reviewGuideModelSelection:null});return}let t=H(z.instanceId,z.model);if(t){te.add({type:`error`,title:`Review guide model not saved`,description:t});return}n({reviewGuideModelSelection:l(z.instanceId,z.model,z.options)})},"aria-label":`Use a separate review guide model`})]}):(0,q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Connect an environment to choose its review guide model.`})}),(0,q.jsx)(B,{serverScoped:!0,settingKeys:[`reviewGuideInstructions`],...W(`review-guide-instructions`),description:`Your preferences for review guides: what to show first, dwell on, or skip. The guide's format and coverage stay the same.`,resetAction:ue||t.reviewGuideInstructions!==``?(0,q.jsx)(Me,{label:`review guide instructions`,onClick:()=>n({reviewGuideInstructions:``})}):null,children:(0,q.jsx)(`div`,{className:`mt-3 max-w-2xl pb-3.5`,children:(0,q.jsx)(he,{"aria-label":`Review guide instructions`,onChange:()=>{de.current=!0},rows:4,defaultValue:ue?``:t.reviewGuideInstructions,placeholder:ue?`Mixed. Enter instructions to apply to all selected targets.`:`Show service interfaces before implementations. Skip test files unless they change behavior. Keep summaries to two sentences.`,onBlur:e=>{let r=e.target.value.trim();de.current&&(ue||r!==t.reviewGuideInstructions)&&n({reviewGuideInstructions:r}),de.current=!1}},`${pe}:${ue}:${t.reviewGuideInstructions}`)})})]}):null,Ct;return e[72]!==ze||e[73]!==Be||e[74]!==X||e[75]!==ot||e[76]!==vt||e[77]!==$||e[78]!==St?(Ct=(0,q.jsxs)(ze,{id:`source-control-text-generation`,title:`Text generation`,children:[Be,X,ot,vt,$,St]}),e[72]=ze,e[73]=Be,e[74]=X,e[75]=ot,e[76]=vt,e[77]=$,e[78]=St,e[79]=Ct):Ct=e[79],Ct}function st(){}function ct(){}function lt(e){return(0,q.jsx)(j,{hideIndicator:!0,value:e,children:at[e].label},e)}function ut(e){return e===null?`Mixed`:at[e].label}function dt(e){return e.instanceId}function ft(e){return e.enabled&&e.isAvailable}function pt(e){return e.supportsTextGeneration!==!1}function mt(e){return`${e.environmentId}:${e.projectId}`}var ht={versionControlSystems:[],sourceControlProviders:[]},gt={git:Ce,jj:Se},_t=[`primary`,`secondary`],vt=5;function yt(e){return Math.round(_(e)/1e3)}function bt(e){return e===null||!Number.isFinite(e)?0:Math.max(0,Math.round(e))}function xt(e,t){let n={...e.overrides,...t};for(let[e,t]of Object.entries(n))t===void 0&&delete n[e];return{backgroundActivity:{schemaVersion:1,profile:`custom`,baseProfile:ne(e),overrides:n}}}function Z(e){return f(e)}function Q(e){return`auth`in e}function $(e){return!Q(e)&&!e.implemented}function St(e){return e.status===`authenticated`?{label:`Authenticated`,badge:null}:e.status===`unauthenticated`?{label:`Not authenticated`,badge:`warning`}:{label:`Status unknown`,badge:null}}function Ct(e){let t=(0,G.c)(2),n;return t[0]===e.account?n=t[1]:(n=(0,q.jsx)(Ie,{value:e.account,ariaLabel:`Toggle source control account visibility`,revealTooltip:`Click to reveal account`,hideTooltip:`Click to hide account`}),t[0]=e.account,t[1]=n),n}function wt(e){return $(e)?`bg-muted-foreground/35`:e.status!==`available`||Q(e)&&e.auth.status!==`authenticated`?`bg-warning`:`bg-success`}function Tt(e){let t=(0,G.c)(13),{item:n}=e,r,i,a,o;if(t[0]!==n){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e=wt(n),s=Q(n)?we.find(n.kind):void 0,c=Q(n)?s&&Be(s):gt[n.kind];if(!c){o=(0,q.jsx)(`span`,{className:C(`size-2 shrink-0 rounded-full`,e),"aria-hidden":!0});break bb0}i=`relative inline-flex size-5 shrink-0 items-center justify-center`,t[5]===c?a=t[6]:(a=(0,q.jsx)(c,{className:`size-4.5 text-foreground/80`,"aria-hidden":!0}),t[5]=c,t[6]=a),r=C(`pointer-events-none absolute -left-0.5 -top-0.5 size-2 rounded-full ring-2 ring-background`,e)}t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o}else r=t[1],i=t[2],a=t[3],o=t[4];if(o!==Symbol.for(`react.early_return_sentinel`))return o;let s;t[7]===r?s=t[8]:(s=(0,q.jsx)(`span`,{className:r,"aria-hidden":!0}),t[7]=r,t[8]=s);let c;return t[9]!==i||t[10]!==a||t[11]!==s?(c=(0,q.jsxs)(`span`,{className:i,children:[a,s]}),t[9]=i,t[10]=a,t[11]=s,t[12]=c):c=t[12],c}function Et({item:e,auth:t,authAccount:n}){if($(e))return(0,q.jsxs)(`span`,{children:[`Support for `,e.label,` is coming soon.`]});if(e.status!==`available`)return(0,q.jsxs)(`span`,{children:[`Not available on this server: `,e.installHint]});if(t){if(t.status===`authenticated`){let e=Z(t.detail);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{children:`Authenticated`}),n?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{"aria-hidden":!0,children:`as`}),(0,q.jsx)(Ct,{account:n})]}):null,e?(0,q.jsxs)(`span`,{children:[`· `,e]}):null]})}if(!e.executable&&t.status===`unauthenticated`)return(0,q.jsxs)(`span`,{children:[`Available. `,e.installHint]});if(t.status===`unauthenticated`&&t.accounts?.some(e=>e.authenticated))return(0,q.jsx)(`span`,{children:Z(t.detail)??`Every ${e.label} host is turned off.`});if(t.status===`unauthenticated`)return(0,q.jsxs)(`span`,{children:[e.label,` is not authenticated on this server. Sign in or configure credentials using the `,(0,q.jsx)(`code`,{className:`rounded bg-muted px-1 py-px text-2xs`,children:e.executable}),` tool on the server host to enable change request features.`]});let r=Z(t.detail);return(0,q.jsxs)(`span`,{children:[`Could not verify `,e.label,`. `,r??e.installHint]})}return(0,q.jsx)(`span`,{children:`Available`})}function Dt(e){let t=(0,G.c)(57),{item:n,children:r}=e,i;t[0]===n.version?i=t[1]:(i=Z(n.version),t[0]=n.version,t[1]=i);let a=i,o=Q(n)?n.status===`available`&&n.auth.status===`authenticated`:n.status===`available`&&n.implemented,s=Q(n)?n.auth:null,l;t[2]===s?l=t[3]:(l=s?St(s):null,t[2]=s,t[3]=l);let u=l,d=s?Z(s.account):null,[f,p]=(0,K.useState)(!1),m=r!==void 0,h=V(),g;t[4]!==n.kind||t[5]!==h||t[6]!==p?(g=()=>{(n.kind===`git`&&h===W(`git-fetch-interval`).id||h===Le(n.kind)||n.kind===`github`&&h===W(`github-accounts`).id)&&p(!0)},t[4]=n.kind,t[5]=h,t[6]=p,t[7]=g):g=t[7];let _;t[8]!==n.kind||t[9]!==h?(_=[n.kind,h],t[8]=n.kind,t[9]=h,t[10]=_):_=t[10],(0,K.useEffect)(g,_);let v;t[11]===n?v=t[12]:(v=C(`first:rounded-t-xl last:rounded-b-xl transition-colors hover:bg-muted/20`,$(n)&&`opacity-80`),t[11]=n,t[12]=v);let b;t[13]===n?b=t[14]:(b=(0,q.jsx)(Tt,{item:n}),t[13]=n,t[14]=b);let x;t[15]===n.label?x=t[16]:(x=(0,q.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,children:n.label}),t[15]=n.label,t[16]=x);let S;t[17]===a?S=t[18]:(S=a?(0,q.jsx)(`code`,{className:`text-xs text-muted-foreground`,children:a}):null,t[17]=a,t[18]=S);let w;t[19]===n?w=t[20]:(w=$(n)?(0,q.jsx)(c,{variant:`warning`,size:`sm`,children:`Coming Soon`}):null,t[19]=n,t[20]=w);let E;t[21]===u?E=t[22]:(E=u?.badge?(0,q.jsx)(c,{variant:u.badge,size:`sm`,children:u.label}):null,t[21]=u,t[22]=E);let D;t[23]!==x||t[24]!==S||t[25]!==w||t[26]!==E||t[27]!==b?(D=(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[b,x,S,w,E]}),t[23]=x,t[24]=S,t[25]=w,t[26]=E,t[27]=b,t[28]=D):D=t[28];let O=Et({item:n,auth:s,authAccount:d}),k;t[29]===O?k=t[30]:(k=(0,q.jsx)(`p`,{className:`flex min-w-0 flex-wrap items-center gap-x-1 text-xs leading-normal text-muted-foreground/80`,children:O}),t[29]=O,t[30]=k);let A;t[31]!==D||t[32]!==k?(A=(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[D,k]}),t[31]=D,t[32]=k,t[33]=A):A=t[33];let j;t[34]!==m||t[35]!==f||t[36]!==n.label||t[37]!==p?(j=m?(0,q.jsx)(y,{size:`icon-xs`,variant:`ghost-muted`,onClick:()=>p(Ot),"aria-expanded":f,"aria-label":`Toggle ${n.label} details`,children:(0,q.jsx)(T,{className:C(`size-3.5 transition-transform`,f&&`rotate-180`)})}):null,t[34]=m,t[35]=f,t[36]=n.label,t[37]=p,t[38]=j):j=t[38];let M;t[39]!==o||t[40]!==n?(M=$(n)?null:(0,q.jsx)(Re,{checked:o,disabled:!0,"aria-label":`${n.label} availability`}),t[39]=o,t[40]=n,t[41]=M):M=t[41];let N;t[42]!==j||t[43]!==M?(N=(0,q.jsxs)(`div`,{className:`flex w-full shrink-0 items-center gap-2 sm:w-auto sm:justify-end`,children:[j,M]}),t[42]=j,t[43]=M,t[44]=N):N=t[44];let P;t[45]!==A||t[46]!==N?(P=(0,q.jsx)(`div`,{className:`px-3 py-3 sm:px-4`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[A,N]})}),t[45]=A,t[46]=N,t[47]=P):P=t[47];let F;t[48]!==r||t[49]!==m||t[50]!==f||t[51]!==p?(F=m?(0,q.jsx)(Ve,{open:f,onOpenChange:p,children:(0,q.jsx)(U,{children:(0,q.jsx)(`div`,{className:`px-3 pb-4 pt-1 sm:px-4`,children:r})})}):null,t[48]=r,t[49]=m,t[50]=f,t[51]=p,t[52]=F):F=t[52];let ee;return t[53]!==P||t[54]!==F||t[55]!==v?(ee=(0,q.jsxs)(`div`,{className:v,children:[P,F]}),t[53]=P,t[54]=F,t[55]=v,t[56]=ee):ee=t[56],ee}function Ot(e){return!e}function kt(){let e=(0,G.c)(33),t=ke(),n=Oe(),r;e[0]===t?r=e[1]:(r=yt(se(t).automaticGitFetchInterval),e[0]=t,e[1]=r);let i=r,a;e[2]===t.backgroundActivity?a=e[3]:(a=yt(re(ne(t.backgroundActivity)).automaticGitFetchInterval),e[2]=t.backgroundActivity,e[3]=a);let o=i!==a,s;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=W(`git-fetch-interval`),e[4]=s):s=e[4];let c=s,l=c.id,u,d;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,q.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:c.title}),d=(0,q.jsx)(Pe,{children:`This interval is configured for Git only. The shared Background activity policy still decides whether Git refreshes may run when the timer fires. Custom intervals appear as Advanced in General settings.`}),e[5]=u,e[6]=d):(u=e[5],d=e[6]);let f=o?`opacity-100`:`pointer-events-none opacity-0`,p;e[7]===f?p=e[8]:(p=C(`inline-flex size-5 shrink-0 items-center justify-center transition-opacity`,f),e[7]=f,e[8]=p);let m=!o,h;e[9]!==o||e[10]!==t.backgroundActivity||e[11]!==n?(h=o?(0,q.jsx)(Me,{label:`fetch interval`,onClick:()=>n(xt(t.backgroundActivity,{automaticGitFetchInterval:void 0}))}):null,e[9]=o,e[10]=t.backgroundActivity,e[11]=n,e[12]=h):h=e[12];let g;e[13]!==p||e[14]!==m||e[15]!==h?(g=(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[u,d,(0,q.jsx)(`span`,{className:p,"aria-hidden":m,children:h})]}),e[13]=p,e[14]=m,e[15]=h,e[16]=g):g=e[16];let _;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,q.jsx)(`p`,{className:`max-w-2xl text-xs leading-relaxed text-muted-foreground`,children:`Refresh remote branches in the background. Set to 0 to avoid automatic Git prompts.`}),e[17]=_):_=e[17];let v;e[18]===g?v=e[19]:(v=(0,q.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[g,_]}),e[18]=g,e[19]=v);let y;e[20]!==t.backgroundActivity||e[21]!==n?(y=e=>n(xt(t.backgroundActivity,{automaticGitFetchInterval:x(bt(e))})),e[20]=t.backgroundActivity,e[21]=n,e[22]=y):y=e[22];let b;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,q.jsxs)(k,{children:[(0,q.jsx)(O,{"aria-label":`Decrease fetch interval`}),(0,q.jsx)(E,{"aria-label":`Automatic Git fetch interval in seconds`}),(0,q.jsx)(D,{"aria-label":`Increase fetch interval`})]}),e[23]=b):b=e[23];let S;e[24]!==i||e[25]!==y?(S=(0,q.jsx)(A,{value:i,min:0,step:vt,size:`sm`,className:`w-32`,onValueChange:y,children:b}),e[24]=i,e[25]=y,e[26]=S):S=e[26];let w;e[27]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`seconds`}),e[27]=w):w=e[27];let T;e[28]===S?T=e[29]:(T=(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[S,w]}),e[28]=S,e[29]=T);let j;return e[30]!==v||e[31]!==T?(j=(0,q.jsx)(H,{id:l,className:`grid gap-3`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[v,T]})}),e[30]=v,e[31]=T,e[32]=j):j=e[32],j}function At(e){let t=(0,G.c)(4),{title:n,headerAction:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=_t.map(jt),t[0]=i):i=t[0];let a;return t[1]!==r||t[2]!==n?(a=(0,q.jsx)(Ne,{title:n,headerAction:r,children:i}),t[1]=r,t[2]=n,t[3]=a):a=t[3],a}function jt(e){return(0,q.jsx)(`div`,{className:`first:rounded-t-xl last:rounded-b-xl px-3 py-3 sm:px-4`,children:(0,q.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsxs)(`span`,{className:`relative inline-flex size-5 shrink-0 items-center justify-center`,children:[(0,q.jsx)(I,{className:`size-4.5`}),(0,q.jsx)(I,{shape:`pill`,className:`pointer-events-none absolute -left-0.5 -top-0.5 size-2`,"aria-hidden":!0})]}),(0,q.jsx)(I,{shape:`pill`,className:`h-4 w-28`}),(0,q.jsx)(I,{shape:`pill`,className:`h-5 w-14`})]}),(0,q.jsx)(I,{shape:`pill`,className:`h-3 w-full max-w-xs`})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,q.jsx)(I,{className:`size-7`}),(0,q.jsx)(I,{shape:`pill`,className:`h-5 w-9`})]})]})},e)}function Mt(e){let t=(0,G.c)(18),{error:n,isPending:r,onScan:i}=e,a=n!==null,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=W(`source-control`),t[0]=o):o=t[0];let s;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,q.jsx)(_e,{variant:`icon`,children:(0,q.jsx)(z.pullRequest,{})}),t[1]=s):s=t[1];let c=a?`Could not scan the server environment`:`Nothing detected yet`,l;t[2]===c?l=t[3]:(l=(0,q.jsx)(ye,{children:c}),t[2]=c,t[3]=l);let u=a?n:`Install Git on the server, add optional hosting integrations or credentials your workspace needs, then rescan.`,d;t[4]===u?d=t[5]:(d=(0,q.jsx)(be,{children:u}),t[4]=u,t[5]=d);let f;t[6]!==l||t[7]!==d?(f=(0,q.jsxs)(ve,{children:[l,d]}),t[6]=l,t[7]=d,t[8]=f):f=t[8];let p;t[9]===r?p=t[10]:(p=(0,q.jsx)(Fe,{size:`sm`,refreshing:r}),t[9]=r,t[10]=p);let m;t[11]!==r||t[12]!==i||t[13]!==p?(m=(0,q.jsx)(L,{children:(0,q.jsxs)(y,{size:`sm`,variant:`outline`,onClick:i,disabled:r,children:[p,`Scan`]})}),t[11]=r,t[12]=i,t[13]=p,t[14]=m):m=t[14];let h;return t[15]!==f||t[16]!==m?(h=(0,q.jsx)(Ne,{id:o.id,title:`Server environment`,children:(0,q.jsxs)(xe,{children:[s,f,m]})}),t[15]=f,t[16]=m,t[17]=h):h=t[17],h}function Nt(){let e=(0,G.c)(33),{scope:t,environment:n,connectedEnvironments:r}=Ee(),i=n?.connection.phase===`connected`?n.environmentId:null,a=t.environmentIds.length!==1&&r.length>1&&n?` · ${n.label}`:``,o;e[0]===i?o=e[1]:(o=i===null?null:R.discovery({environmentId:i,input:{}}),e[0]=i,e[1]=o);let s=ue(o),c=s.data??ht,l=c.versionControlSystems.length>0,u=l||c.sourceControlProviders.length>0,d=s.isPending&&s.data===null,f;e[2]===s?f=e[3]:(f=()=>{s.refresh()},e[2]=s,e[3]=f);let p=f,m;e[4]!==i||e[5]!==p?(m=e=>{let t=we.find(e);if(t?.settings&&i!==null)return(0,q.jsx)(H,{id:Le(e),children:(0,q.jsx)(Je,{environmentId:i,definition:{...t,settings:t.settings},onSaved:p},i)})},e[4]=i,e[5]=p,e[6]=m):m=e[6];let h=m,g;e[7]===s.isPending?g=e[8]:(g=(0,q.jsx)(Fe,{refreshing:s.isPending}),e[7]=s.isPending,e[8]=g);let _;e[9]!==s.isPending||e[10]!==p||e[11]!==g?(_=(0,q.jsx)(fe,{render:(0,q.jsx)(y,{size:`icon-xs`,variant:`ghost-muted`,onClick:p,disabled:s.isPending,"aria-label":`Rescan server environment`,children:g})}),e[9]=s.isPending,e[10]=p,e[11]=g,e[12]=_):_=e[12];let v;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,q.jsx)(pe,{side:`top`,children:`Rescan Git and hosting integrations`}),e[13]=v):v=e[13];let b;e[14]===_?b=e[15]:(b=(0,q.jsxs)(me,{children:[_,v]}),e[14]=_,e[15]=b);let x=b,S;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,q.jsx)(Ge,{category:`source-control`}),e[16]=S):S=e[16];let C;e[17]!==s.error||e[18]!==s.isPending||e[19]!==i||e[20]!==a||e[21]!==p||e[22]!==u||e[23]!==l||e[24]!==h||e[25]!==d||e[26]!==c.sourceControlProviders||e[27]!==c.versionControlSystems||e[28]!==x?(C=i===null?(0,q.jsx)(Ne,{id:W(`source-control`).id,title:`Server environment`,children:(0,q.jsx)(`p`,{className:`px-4 py-3 text-sm text-muted-foreground`,children:`Connect an environment to inspect its version control tools and hosting integrations.`})}):d?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(At,{title:`Version Control${a}`,headerAction:x}),(0,q.jsx)(At,{title:`Source Control Providers`})]}):u?(0,q.jsxs)(q.Fragment,{children:[l?(0,q.jsx)(Ne,{id:W(`source-control`).id,title:`Version Control${a}`,headerAction:x,children:c.versionControlSystems.map(Pt)}):null,c.sourceControlProviders.length>0?(0,q.jsx)(Ne,{id:l?void 0:W(`source-control`).id,title:l?`Source Control Providers`:`Source Control Providers${a}`,headerAction:l?null:x,children:c.sourceControlProviders.map(e=>(0,q.jsx)(Dt,{item:e,children:e.kind===`github`?(0,q.jsx)(H,{id:W(`github-accounts`).id,children:(0,q.jsxs)(`div`,{className:`grid gap-6`,children:[(0,q.jsx)($e,{environmentId:i,onSaved:p},`token-${i}`),e.status===`available`?(0,q.jsx)(Ze,{environmentId:i,auth:e.auth,onSaved:p},i):null]})}):h(e.kind)},`provider:${e.kind}`))}):null]}):(0,q.jsx)(Mt,{error:s.error,isPending:s.isPending,onScan:p}),e[17]=s.error,e[18]=s.isPending,e[19]=i,e[20]=a,e[21]=p,e[22]=u,e[23]=l,e[24]=h,e[25]=d,e[26]=c.sourceControlProviders,e[27]=c.versionControlSystems,e[28]=x,e[29]=C):C=e[29];let w;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,q.jsx)(ot,{}),e[30]=w):w=e[30];let T;return e[31]===C?T=e[32]:(T=(0,q.jsxs)(Ae,{children:[S,C,w]}),e[31]=C,e[32]=T),T}function Pt(e){return(0,q.jsx)(Dt,{item:e,children:e.kind===`git`?(0,q.jsx)(kt,{}):void 0},`vcs:${e.kind}`)}var Ft=Nt;export{Ft as component};
2
- //# sourceMappingURL=settings.source-control-BL1tH7qk.js.map
@@ -1,2 +0,0 @@
1
- import{o as e}from"./p4ProjectFile-BrXxii5J.js";function t(e){let t=new Set;for(let n of e)for(let e of n.memberProjects)if(t.add(e.environmentId),t.size>1)return!0;return!1}function n(t){let n=new Map,r=e({projects:t.projects,settings:t.settings,preferredEnvironmentId:t.primaryEnvironmentId});for(let e of r)for(let t of e.members)n.set(t.physicalProjectKey,e.key);return n}function r(t){return e({projects:t.projects,groupScratchProjects:t.groupScratchProjects??!1,settings:t.settings,preferredEnvironmentId:t.primaryEnvironmentId}).map(e=>{let n=e.members.map(({physicalProjectKey:e,project:n})=>({...n,physicalProjectKey:e,environmentLabel:t.resolveEnvironmentLabel(n.environmentId)})),r=n.find(t=>t.environmentId===e.representative.environmentId&&t.id===e.representative.id)??n[0],i=t.primaryEnvironmentId!==null&&n.some(e=>e.environmentId===t.primaryEnvironmentId),a=t.primaryEnvironmentId!==null&&n.some(e=>e.environmentId!==t.primaryEnvironmentId),o=n.filter(e=>t.primaryEnvironmentId!==null&&e.environmentId!==t.primaryEnvironmentId),s=o.flatMap(e=>e.environmentLabel?[e.environmentLabel]:[]).filter((e,t,n)=>n.indexOf(e)===t),c=t.isDesktopLocalEnvironment??(()=>!1),l=t.isWslEnvironment??(()=>!1),u=o.length>0&&o.every(e=>c(e.environmentId)),d=o.length>0&&o.every(e=>l(e.environmentId));return{...r,projectKey:e.key,displayName:e.label,groupedProjectCount:n.length,environmentPresence:i&&a?`mixed`:a?`remote-only`:`local-only`,allRemoteMembersAreDesktopLocal:u,allRemoteMembersAreWsl:d,memberProjects:n,memberProjectRefs:e.memberProjectRefs,remoteEnvironmentLabels:s}})}function i(e){let t=e.preferredProjectRef,n=e.groups.flatMap(e=>{let n=t?e.memberProjectRefs.some(e=>e.environmentId===t.environmentId&&e.projectId===t.projectId):!1,r=(t?e.memberProjects.find(e=>e.environmentId===t.environmentId&&e.id===t.projectId)??e.memberProjects.find(e=>e.environmentId===t.environmentId):null)??e.memberProjects.find(t=>t.environmentId===e.environmentId&&t.id===e.id)??e.memberProjects[0];return r?[{group:e,targetProject:r,isPreferred:n}]:[]}),r=n.findIndex(e=>e.isPreferred);return r<=0?n:[n[r],...n.slice(0,r),...n.slice(r+1)]}export{t as i,i as n,r,n as t};
2
- //# sourceMappingURL=sidebarProjectGrouping-DQInVNnY.js.map
@@ -1,2 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-oBChb5qS.js";import"./chunk-DU6HZSFF-DMXcgXT_.js";import"./chunk-75Z2AOVW-B4sXgwEx.js";import"./chunk-PWAF6VOD-DflyqEaS.js";import"./chunk-GMAD6QVW-mPVRZq9Z.js";import"./chunk-P2QGCYS3-CeefF5cA.js";import"./chunk-4HAMMTFA-CD4tA6cX.js";import"./chunk-GVQU2GXP-ChBHtvjy.js";import"./chunk-OSK3NFVY-m-QXUYaT.js";import"./chunk-F27PBJKO-CGf21cwH.js";import"./chunk-XXDRQBXY-BvKO0v-W.js";import"./chunk-POPQ4Y6H-C-_RXsmg.js";import"./chunk-L3NEJ4N5-REmklvQl.js";import{i as t,n,r,t as i}from"./chunk-IMKFNOWR-BtgRygmA.js";import"./mermaid.core-Dtz8UzUI.js";var a={parser:n,get db(){return new i(2)},renderer:r,styles:t,init:e(e=>{e.state||={},e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},`init`)};export{a as diagram};
2
- //# sourceMappingURL=stateDiagram-v2-MP3YSRHH-CEPamUoD.js.map
@@ -1,9 +0,0 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-oBChb5qS.js";import"./chunk-DU6HZSFF-DMXcgXT_.js";import"./chunk-75Z2AOVW-B4sXgwEx.js";import"./chunk-PWAF6VOD-DflyqEaS.js";import"./chunk-GMAD6QVW-mPVRZq9Z.js";import"./chunk-P2QGCYS3-CeefF5cA.js";import"./chunk-4HAMMTFA-CD4tA6cX.js";import"./chunk-GVQU2GXP-ChBHtvjy.js";import"./chunk-OSK3NFVY-m-QXUYaT.js";import"./chunk-F27PBJKO-CGf21cwH.js";import"./chunk-XXDRQBXY-BvKO0v-W.js";import"./chunk-POPQ4Y6H-C-_RXsmg.js";import"./chunk-L3NEJ4N5-REmklvQl.js";import{r as t,t as n}from"./chunk-SHT3W25Y-R_Fg17nt.js";import"./mermaid.core-Dtz8UzUI.js";var r=n({defaultLayout:`swimlane`,styles:e(e=>`${t(e)}
2
- .swimlane.cluster rect {
3
- stroke: ${e.clusterBorder} !important;
4
- }
5
- [data-look="neo"].cluster rect {
6
- filter: none;
7
- }
8
- `,`getStyles`)});export{r as diagram};
9
- //# sourceMappingURL=swimlanesDiagram-VR7AAH4N-D1eJox12.js.map
@@ -1,2 +0,0 @@
1
- import{i as e,n as t}from"./rolldown-runtime-Dd_uD5pT.js";import{r as n}from"./Icon-l19w4AjM.js";import{Aa as r,Ad as i,Ao as a,BE as o,Ba as s,Bi as c,D as l,Do as u,Ea as d,Eo as f,Fr as p,Gy as m,Ha as h,Ip as g,Jm as _,Ju as v,La as y,Ld as b,Mr as x,Od as S,Om as C,Oy as w,Pu as T,Rf as E,Sa as D,Si as O,So as k,Ua as ee,Ui as A,Vy as j,Wi as M,Xs as N,_a as P,aa as F,ba as te,bt as ne,ca as re,da as ie,dr as ae,fa as I,jm as oe,ki as L,ko as se,kr as ce,lb as R,li as z,lr as B,lu as le,mE as ue,na as de,pa as V,ra as fe,sa as H,t as U,ua as pe,ul as me,va as he,xo as ge,za as _e}from"./utils-B0w8dSf5.js";import{jn as ve}from"./runtime-mg6KxRIi.js";import{S as ye,d as be,f as xe,l as W,m as Se,u as Ce}from"./TooltipViewport-BkvH9Kzg.js";import{t as we}from"./spinner-BkmZz-kc.js";import{t as Te}from"./useParams-DNmNCHjx.js";var Ee=R(me),De=R(le);function Oe(e){return De(e)&&(e.reason===`thread_not_empty`||e.reason===`thread_not_side_chat`)}function ke(e){return Ee(e)&&e.bootstrapThreadDisposition===`deleted`}function Ae(e){return Ee(e)&&e.bootstrapThreadDisposition===`not-created`}var je=[/\bSocketCloseError\b/i,/\bSocketOpenError\b/i,/\bSocket is not connected\b/i,/Unable to connect to the P4 server WebSocket\./i,RegExp(`\\b(?:is not connected|disconnected|stopped responding|could not establish a WebSocket connection)\\.(?: ${(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`))(ve)})?$`,`i`),/\bClientProtocolError\b/i,/\bRpcClientError\b/i,/\bping timeout\b/i];function Me(e){if(typeof e!=`string`)return!1;let t=e.trim();return t.length!==0&&je.some(e=>e.test(t))}function Ne(e){return Me(e)?null:e??null}var G=e(n()),Pe=G.createContext(void 0);function Fe(){let e=G.useContext(Pe);if(!e)throw Error(a(73));return e}var Ie=0;function Le(e){return Ie+=1,`${e}-${Math.random().toString(36).slice(2,6)}-${Ie}`}function Re(e,t){if(typeof e==`string`)return{description:e};if(typeof e==`function`){let n=e(t);return typeof n==`string`?{description:n}:n}return e}function ze(e){let t=new Map,n=0,r=0;return e.forEach((e,i)=>{let a=e.transitionStatus===`ending`;t.set(e.id,{value:e,domIndex:i,visibleIndex:a?-1:n,offsetY:r}),r+=e.height||0,a||(n+=1)}),t}var Be=e=>e.toastMetadata,K={toasts:L(e=>e.toasts),isEmpty:L(e=>e.toasts.length===0),toast:L(Be,(e,t)=>e.get(t)?.value),toastIndex:L(Be,(e,t)=>e.get(t)?.domIndex??-1),toastOffsetY:L(Be,(e,t)=>e.get(t)?.offsetY??0),toastVisibleIndex:L(Be,(e,t)=>e.get(t)?.visibleIndex??-1),hovering:L(e=>e.hovering),focused:L(e=>e.focused),expanded:L(e=>e.hovering||e.focused),expandedOrOutOfFocus:L(e=>e.hovering||e.focused||!e.isWindowFocused),prevFocusElement:L(e=>e.prevFocusElement)},Ve=class extends O{timers=new Map;areTimersPaused=!1;constructor(e){super({...e,toastMetadata:ze(e.toasts)},{},K)}setFocused(e){this.set(`focused`,e)}setHovering(e){this.set(`hovering`,e)}setIsWindowFocused(e){this.set(`isWindowFocused`,e)}setPrevFocusElement(e){this.set(`prevFocusElement`,e)}setViewport=e=>{this.set(`viewport`,e)};disposeEffect=()=>()=>{this.timers.forEach(e=>{e.timeout?.clear()}),this.timers.clear()};removeToast(e,t={}){let n=K.toastIndex(this.state,e);if(n===-1)return;let r=this.state.toasts[n];t.skipOnRemove||r?.onRemove?.();let i=[...this.state.toasts];i.splice(n,1),this.setToasts(i)}addToast=e=>{let{timeout:t,limit:n}=this.state,r=e.id||Le(`toast`);if(e.id){let t=K.toast(this.state,e.id);if(t){if(t.transitionStatus===`ending`)this.removeToast(e.id,{skipOnRemove:!0});else{let{id:t,transitionStatus:n,...r}=e;return this.updateToastInternal(e.id,r,{resetTimer:!0,markUpdated:!0}),e.id}}}let i={...e,id:r,updateKey:0,transitionStatus:`starting`},a=[i,...this.state.toasts],o=a.filter(e=>e.transitionStatus!==`ending`);if(o.length>n){let e=o.length-n,t=o.slice(-e),r=new Set(t.map(e=>e.id));this.setToasts(a.map(e=>{let t=r.has(e.id);return e.limited===t?e:{...e,limited:t}}))}else this.setToasts(a.map(e=>e.limited?{...e,limited:!1}:e));let s=i.timeout??t;return i.type!==`loading`&&s>0&&this.scheduleTimer(r,s,()=>this.closeToast(r)),K.expandedOrOutOfFocus(this.state)&&this.pauseTimers(),r};updateToast=(e,t)=>{this.updateToastInternal(e,t,{markUpdated:!0})};updateToastInternal=(e,t,n={})=>{let{timeout:r,toasts:i}=this.state,a=K.toast(this.state,e)??null;if(!a||a.transitionStatus===`ending`)return;let o={...a,...t,...n.markUpdated&&{updateKey:(a.updateKey??0)+1}};this.setToasts(i.map(t=>t.id===e?o:t));let s=o.timeout??r,c=a?.timeout??r,l=Object.hasOwn(t,`timeout`),u=o.transitionStatus!==`ending`&&o.type!==`loading`&&s>0,d=this.timers.has(e),f=c!==s,p=a?.type===`loading`;if(!u&&d){this.timers.get(e)?.timeout?.clear(),this.timers.delete(e);return}if(u&&(!d||f||l||p||n.resetTimer)){let t=this.timers.get(e);t&&(t.timeout?.clear(),this.timers.delete(e)),this.scheduleTimer(e,s,()=>this.closeToast(e)),K.expandedOrOutOfFocus(this.state)&&this.pauseTimers()}};closeToast=e=>{let t=e===void 0,{limit:n,toasts:r}=this.state,i;if(t)i=r,this.timers.forEach(e=>{e.timeout?.clear()}),this.timers.clear();else{let t=K.toast(this.state,e);if(!t)return;i=[t];let n=this.timers.get(e);n?.timeout&&(n.timeout.clear(),this.timers.delete(e))}let a=0,o=r.map(r=>{if(t||r.id===e)return{...r,transitionStatus:`ending`,height:0};if(r.transitionStatus===`ending`)return r;let i=a>=n;return a+=1,r.limited===i?r:{...r,limited:i}}),s={toasts:o,toastMetadata:ze(o)};(t||r.length===1)&&(s.hovering=!1,s.focused=!1),this.update(s),i.forEach(e=>{e.transitionStatus!==`ending`&&e.onClose?.()}),this.handleFocusManagement(e)};promiseToast=(e,t)=>{let n=Re(t.loading),r=this.addToast({...n,type:`loading`}),i=e.then(e=>{let n=Re(t.success,e);return this.updateToast(r,{...n,type:`success`,timeout:n.timeout}),e}).catch(e=>{let n=Re(t.error,e);return this.updateToast(r,{...n,type:`error`,timeout:n.timeout}),Promise.reject(e)});return{}.hasOwnProperty.call(t,`setPromise`)&&t.setPromise(i),i};pauseTimers(){this.areTimersPaused||(this.areTimersPaused=!0,this.timers.forEach(e=>{if(e.timeout){e.timeout.clear();let t=Date.now()-e.start,n=e.delay-t;e.remaining=n>0?n:0}}))}resumeTimers(){this.areTimersPaused&&(this.areTimersPaused=!1,this.timers.forEach((e,t)=>{e.remaining=e.remaining>0?e.remaining:e.delay,e.timeout??=P.create(),e.timeout.start(e.remaining,()=>{this.timers.delete(t),e.callback()}),e.start=Date.now()}))}restoreFocusToPrevElement(){this.state.prevFocusElement?.focus({preventScroll:!0})}handleDocumentPointerDown=e=>{if(e.pointerType!==`touch`)return;let t=V(e);I(this.state.viewport,t)||(this.resumeTimers(),this.update({hovering:!1,focused:!1}))};scheduleTimer(e,t,n){let r=Date.now(),i=!K.expandedOrOutOfFocus(this.state),a=i?P.create():void 0;a?.start(t,()=>{this.timers.delete(e),n()}),this.timers.set(e,{timeout:a,start:i?r:0,delay:t,remaining:t,callback:n})}setToasts(e){let t={toasts:e,toastMetadata:ze(e)};e.length===0&&(t.hovering=!1,t.focused=!1),this.update(t)}handleFocusManagement(e){let t=ie(F(this.state.viewport));if(!this.state.viewport||!I(this.state.viewport,t)||!pe(t))return;if(e===void 0){this.restoreFocusToPrevElement();return}let n=K.toasts(this.state),r=K.toastIndex(this.state,e),i=null,a=r+1;for(;a<n.length;){if(n[a].transitionStatus!==`ending`){i=n[a];break}a+=1}if(!i)for(a=r-1;a>=0;){if(n[a].transitionStatus!==`ending`){i=n[a];break}--a}i?i.ref?.current?.focus():this.restoreFocusToPrevElement()}},q=e(ue()),He=function(e){let{children:t,timeout:n=5e3,limit:r=3,toastManager:i}=e,a=se(()=>new Ve({timeout:n,limit:r,viewport:null,toasts:[],hovering:!1,focused:!1,isWindowFocused:!0,prevFocusElement:null})).current;return d(a.disposeEffect),G.useEffect(function(){if(i)return i[` subscribe`](({action:e,options:t})=>{let n=t.id;e===`promise`&&t.promise?a.promiseToast(t.promise,t):e===`update`&&n?a.updateToast(n,t):e===`close`?a.closeToast(n):a.addToast(t)})},[a,i]),a.useSyncedValues({timeout:n,limit:r}),(0,q.jsx)(Pe.Provider,{value:a,children:t})},Ue=function(e){return e.frontmostHeight=`--toast-frontmost-height`,e}({}),We=G.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,...o}=e,s=Fe(),c=he(),l=G.useRef(!1),u=G.useRef(!1),d=G.useRef(!1),f=s.useState(`isEmpty`),p=s.useState(`toasts`),m=s.useState(`focused`),g=s.useState(`expanded`),_=s.useState(`prevFocusElement`),v=p[0]?.height??0,y=G.useMemo(()=>p.some(e=>e.transitionStatus===`ending`),[p]),b=G.useMemo(()=>p.filter(e=>e.priority===`high`),[p]);G.useEffect(()=>{let e=s.state.viewport;if(!e)return;function t(t){f||t.key===`F6`&&V(t)!==e&&(t.preventDefault(),s.setPrevFocusElement(ie(F(e))),e?.focus({preventScroll:!0}),s.pauseTimers(),s.setFocused(!0))}let n=h(e);return re(n,`keydown`,t)},[s,f]),G.useEffect(()=>{let e=s.state.viewport;if(!e||f)return;let t=h(e);function n(e){V(e)===t&&(s.setIsWindowFocused(!1),s.pauseTimers())}function r(n){if(n.relatedTarget)return;let r=V(n),i=ie(F(e));(r===t||!I(e,r)||!pe(i))&&s.resumeTimers(),c.start(0,()=>s.setIsWindowFocused(!0))}return H(re(t,`blur`,n,!0),re(t,`focus`,r,!0))},[s,c,f]),G.useEffect(()=>{let e=s.state.viewport;if(!e||f)return;let t=F(e);return re(t,`pointerdown`,s.handleDocumentPointerDown,!0)},[f,s]);function x(e){let t=s.state.viewport;t&&(l.current=!0,e.relatedTarget===t?p[0]?.ref?.current?.focus():s.restoreFocusToPrevElement())}function S(e){e.key===`Tab`&&e.shiftKey&&V(e.nativeEvent)===s.state.viewport&&(e.preventDefault(),s.restoreFocusToPrevElement(),s.resumeTimers())}function C(){let e=s.state.toasts.some(e=>e.transitionStatus===`ending`);s.state.isWindowFocused&&!e&&!d.current&&u.current&&(s.resumeTimers(),s.setHovering(!1),u.current=!1)}G.useEffect(C,[y,s]);function w(){s.pauseTimers(),s.setHovering(!0),u.current=!1}function T(){y||d.current?u.current=!0:(s.resumeTimers(),s.setHovering(!1))}function E(e){e.pointerType===`touch`&&(d.current=!0)}function D(e){e.pointerType===`touch`&&(d.current=!1,C())}function O(){if(l.current){l.current=!1;return}m||pe(ie(F(s.state.viewport)))&&(s.setFocused(!0),s.pauseTimers())}function ee(e){m&&!I(s.state.viewport,e.relatedTarget)&&(s.setFocused(!1),s.resumeTimers())}let A={tabIndex:-1,role:`region`,"aria-live":`polite`,"aria-atomic":!1,"aria-relevant":`additions text`,"aria-label":`Notifications`,onMouseEnter:w,onMouseMove:w,onMouseLeave:T,onFocus:O,onBlur:ee,onKeyDown:S,onClick:O,onPointerDown:E,onPointerUp:D,onPointerCancel:D},j={expanded:g},M=k(`div`,e,{ref:[t,s.setViewport],state:j,props:[A,{style:{[Ue.frontmostHeight]:v?`${v}px`:void 0}},o,{children:(0,q.jsxs)(G.Fragment,{children:[!f&&_&&(0,q.jsx)(de,{onFocus:x}),a,!f&&_&&(0,q.jsx)(de,{onFocus:x})]})}]});return(0,q.jsxs)(G.Fragment,{children:[!f&&_&&(0,q.jsx)(de,{onFocus:x}),M,!m&&b.length>0&&(0,q.jsx)(`div`,{style:fe,children:b.map(e=>(0,q.jsxs)(`div`,{role:`alert`,"aria-atomic":!0,children:[(0,q.jsx)(`div`,{children:e.title}),(0,q.jsx)(`div`,{children:e.description})]},e.id))})]})}),Ge=e(D()),Ke=G.createContext(void 0);function qe(){let e=G.useContext(Ke);if(!e)throw Error(a(66));return e}var J=function(e){return e.index=`--toast-index`,e.offsetY=`--toast-offset-y`,e.height=`--toast-height`,e.swipeMovementX=`--toast-swipe-movement-x`,e.swipeMovementY=`--toast-swipe-movement-y`,e}({});function Je(e,t,n){switch(e){case`up`:return-n;case`down`:return n;case`left`:return-t;case`right`:return t;default:return 0}}function Ye(e){let t=h(e).getComputedStyle(e).transform,n=0,r=0,i=1;if(t&&t!==`none`){let e=t.match(/matrix(?:3d)?\(([^)]+)\)/);if(e){let t=e[1].split(`, `).map(parseFloat);t.length===6?(n=t[4],r=t[5],i=Math.sqrt(t[0]*t[0]+t[1]*t[1])):t.length===16&&(n=t[12],r=t[13],i=t[0])}}return{x:n,y:r,scale:i}}var Xe={...ge,swipeDirection(e){return e?{"data-swipe-direction":e}:null}},Ze=40,Qe=10,Y=.5,$e=1,et=`${c},${A}`,tt=G.forwardRef(function(e,t){let{toast:n,render:r,className:i,swipeDirection:a=[`down`,`right`],style:o,...c}=e,l=n.positionerProps?.anchor!==void 0,u=[];l||(u=Array.isArray(a)?a:[a]);let d=u.length>0,f=Fe(),[m,h]=G.useState(void 0),[g,_]=G.useState(!1),[v,y]=G.useState(!1),[b,x]=G.useState(!1),[S,C]=G.useState({x:0,y:0}),[w,T]=G.useState({x:0,y:0,scale:1}),[E,D]=G.useState(),[O,ee]=G.useState(),[A,j]=G.useState(null),M=G.useRef(null),N=G.useRef({x:0,y:0}),P=G.useRef({x:0,y:0,scale:1}),ne=G.useRef(void 0),ae=G.useRef(0),oe=G.useRef(!1),L=G.useRef({x:0,y:0}),se=G.useRef(!1),ce=G.useRef({x:0,y:0}),R=G.useRef(null),z=G.useRef(null),B=f.useState(`toastIndex`,n.id),le=f.useState(`toastVisibleIndex`,n.id),ue=f.useState(`toastOffsetY`,n.id),de=f.useState(`focused`),fe=f.useState(`expanded`);te({open:n.transitionStatus!==`ending`,ref:M,onComplete(){n.transitionStatus===`ending`&&f.removeToast(n.id)}});let H=s((e=!1)=>{let t=M.current;if(!t)return;let r=t.style.height;t.style.height=`auto`;let i=t.offsetHeight;t.style.height=r;function a(){f.updateToastInternal(n.id,{ref:M,height:i,...n.transitionStatus===`starting`?{transitionStatus:void 0}:{}})}e?Ge.flushSync(a):a()});_e(H,[H]);function U(e){ce.current=e,C(e)}_e(()=>()=>{z.current?.abort()},[]);function pe(e,t){let n=e,r=t;return!u.includes(`left`)&&!u.includes(`right`)?n=e>0?e**Y:-(Math.abs(e)**Y):(!u.includes(`right`)&&e>0&&(n=e**Y),!u.includes(`left`)&&e<0&&(n=-(Math.abs(e)**Y))),!u.includes(`up`)&&!u.includes(`down`)?r=t>0?t**Y:-(Math.abs(t)**Y):(!u.includes(`down`)&&t>0&&(r=t**Y),!u.includes(`up`)&&t<0&&(r=-(Math.abs(t)**Y))),{x:n,y:r}}let me=s(e=>{if(e.pointerId!==R.current)return;R.current=null,z.current?.abort(),z.current=null,_(!1),y(!1),j(null);let t=P.current;if(e.type===`pointercancel`||oe.current){U({x:t.x,y:t.y}),h(void 0);return}let r=!1,i=ce.current,a=i.x-t.x,o=i.y-t.y,s;for(let e of u){switch(e){case`right`:a>Ze&&(r=!0,s=`right`);break;case`left`:a<-40&&(r=!0,s=`left`);break;case`down`:o>Ze&&(r=!0,s=`down`);break;case`up`:o<-40&&(r=!0,s=`up`)}if(r)break}r?(h(s),x(!0),f.closeToast(n.id)):(U({x:t.x,y:t.y}),h(void 0))});function he(e){if(e.button!==0)return;e.pointerType===`touch`&&f.pauseTimers();let t=V(e.nativeEvent);if(t&&t.closest(`button,a,input,textarea,[role="button"],${et}`))return;if(oe.current=!1,ne.current=void 0,ae.current=0,R.current=e.pointerId,N.current={x:e.clientX,y:e.clientY},L.current=N.current,M.current){let e=Ye(M.current);P.current=e,T(e),U({x:e.x,y:e.y})}f.setHovering(!0),_(!0),y(!1),j(null),se.current=!0;let n=M.current;if(n){z.current?.abort();let t=new AbortController;z.current=t;let r=F(n);r.addEventListener(`pointerup`,me,{signal:t.signal}),r.addEventListener(`pointercancel`,me,{signal:t.signal}),n.setPointerCapture?.(e.pointerId)}}function ge(e){if(e.pointerId!==R.current)return;e.preventDefault(),se.current&&=(N.current={x:e.clientX,y:e.clientY},!1);let{clientY:t,clientX:n,movementX:r,movementY:i}=e;(i<0&&t>L.current.y||i>0&&t<L.current.y)&&(L.current={x:L.current.x,y:t}),(r<0&&n>L.current.x||r>0&&n<L.current.x)&&(L.current={x:n,y:L.current.y});let a=n-N.current.x,o=t-N.current.y,s=t-L.current.y,c=n-L.current.x;if(!v&&Math.sqrt(a*a+o*o)>=$e&&(y(!0),A===null)){let e=u.includes(`left`)||u.includes(`right`),t=u.includes(`up`)||u.includes(`down`);e&&t&&j(Math.abs(a)>Math.abs(o)?`horizontal`:`vertical`)}let l;if(!ne.current)A===`vertical`?o>0?l=`down`:o<0&&(l=`up`):A===`horizontal`?a>0?l=`right`:a<0&&(l=`left`):l=Math.abs(a)>=Math.abs(o)?a>0?`right`:`left`:o>0?`down`:`up`,l&&u.includes(l)&&(ne.current=l,ae.current=Je(l,a,o),h(l));else{let e=ne.current,t=Je(e,c,s);t>Ze?(oe.current=!1,h(e)):!(u.includes(`left`)&&u.includes(`right`))&&!(u.includes(`up`)&&u.includes(`down`))&&ae.current-t>=Qe&&(oe.current=!0)}let d=pe(a,o),f=P.current.x,p=P.current.y;A===`horizontal`?(u.includes(`left`)||u.includes(`right`))&&(f+=d.x):(A===`vertical`||(u.includes(`left`)||u.includes(`right`))&&(f+=d.x),(u.includes(`up`)||u.includes(`down`))&&(p+=d.y)),U({x:f,y:p})}function ve(e){if(e.key===`Escape`){if(!M.current||!I(M.current,ie(F(M.current))))return;f.closeToast(n.id)}}G.useEffect(()=>{if(!d)return;let e=M.current;if(!e)return;function t(t){I(e,V(t))&&t.preventDefault()}return re(e,`touchmove`,t,{passive:!1})},[d]);function ye(){if(!g&&S.x===w.x&&S.y===w.y&&!b)return{[J.swipeMovementX]:`0px`,[J.swipeMovementY]:`0px`};let e=S.x-w.x,t=S.y-w.y;return{transition:g?`none`:void 0,transform:g?`translateX(${S.x}px) translateY(${S.y}px) scale(${w.scale})`:void 0,[J.swipeMovementX]:`${e}px`,[J.swipeMovementY]:`${t}px`}}let be=n.priority===`high`,xe={role:be?`alertdialog`:`dialog`,tabIndex:0,"aria-modal":!1,"aria-labelledby":E,"aria-describedby":O,"aria-hidden":be&&!de?!0:void 0,onPointerDown:d?he:void 0,onPointerMove:d?ge:void 0,onPointerUp:d?me:void 0,onPointerCancel:d?me:void 0,onKeyDown:ve,inert:p(n.limited),style:{...ye(),[J.index]:n.transitionStatus===`ending`?B:le,[J.offsetY]:`${ue}px`,[J.height]:n.height?`${n.height}px`:void 0}},W=G.useMemo(()=>({rootRef:M,toast:n,titleId:E,setTitleId:D,descriptionId:O,setDescriptionId:ee,swiping:g,swipeDirection:m,recalculateHeight:H,index:B,visibleIndex:le,expanded:fe}),[n,E,O,g,m,H,B,le,fe]),Se={transitionStatus:n.transitionStatus,expanded:fe,limited:n.limited||!1,type:n.type,swiping:W.swiping,swipeDirection:W.swipeDirection},Ce=k(`div`,e,{ref:[t,W.rootRef],state:Se,stateAttributesMapping:Xe,props:[xe,c]});return(0,q.jsx)(Ke.Provider,{value:W,children:Ce})}),nt=G.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{visibleIndex:o,expanded:s,recalculateHeight:c}=qe(),l=G.useRef(null);return _e(()=>{let e=l.current;if(!e||(c(),typeof ResizeObserver!=`function`||typeof MutationObserver!=`function`))return;let t=new ResizeObserver(()=>c(!0)),n=new MutationObserver(()=>c(!0));return t.observe(e),n.observe(e,{childList:!0,subtree:!0,characterData:!0}),()=>{t.disconnect(),n.disconnect()}},[c]),k(`div`,e,{ref:[t,l],state:{expanded:s,behind:o>0},props:a})}),rt=G.forwardRef(function(e,t){let{render:n,className:i,style:a,id:o,children:s,...c}=e,{toast:l,setDescriptionId:u}=qe(),d=s??l.description,f=!!d,p=r(o);_e(()=>{if(f)return u(p),()=>{u(void 0)}},[f,p,u]);let m={type:l.type},h=k(`p`,e,{ref:t,state:m,props:{...c,id:p,children:d}});return f?h:null}),it=G.forwardRef(function(e,t){let{render:n,className:i,style:a,id:o,children:s,...c}=e,{toast:l,setTitleId:u}=qe(),d=s??l.title,f=!!d,p=r(o);_e(()=>{if(f)return u(p),()=>{u(void 0)}},[f,p,u]);let m={type:l.type},h=k(`h2`,e,{ref:t,state:m,props:{...c,id:p,children:d}});return f?h:null}),at=G.forwardRef(function(e,t){let{render:n,className:r,style:i,disabled:a,nativeButton:o=!0,...s}=e,c=Fe(),{toast:l}=qe(),u=c.useState(`expanded`),[d,f]=G.useState(!1),{getButtonProps:p,buttonRef:m}=y({disabled:a,native:o}),h={type:l.type};return k(`button`,e,{ref:[t,m],state:h,props:[{"aria-hidden":!u&&!d,onClick(){c.closeToast(l.id)},onFocus(){f(!0)},onBlur(){f(!1)}},s,p]})}),ot=G.forwardRef(function(e,t){let{render:n,className:r,style:i,disabled:a,nativeButton:o=!0,...s}=e,{toast:c}=qe(),l=c.actionProps?.children??s.children,u=!!l,{getButtonProps:d,buttonRef:f}=y({disabled:a,native:o}),p={type:c.type},m=k(`button`,e,{ref:[t,f],state:p,props:[s,c.actionProps,d,{children:l}]});return u?m:null}),st=Ce,ct=G.createContext(void 0);function lt(){let e=G.useContext(ct);if(e===void 0)throw Error(a(84));return e}var ut=G.forwardRef(function(e,t){let{toast:n,...r}=e,i=Fe(),a=n.positionerProps??f,{render:o,className:s,anchor:c=a.anchor,positionMethod:l=a.positionMethod??`absolute`,side:d=a.side??`top`,align:p=a.align??`center`,sideOffset:m=a.sideOffset??0,alignOffset:h=a.alignOffset??0,collisionBoundary:g=a.collisionBoundary??`clipping-ancestors`,collisionPadding:_=a.collisionPadding??5,arrowPadding:v=a.arrowPadding??5,sticky:y=a.sticky??!1,disableAnchorTracking:b=a.disableAnchorTracking??!1,collisionAvoidance:S=a.collisionAvoidance??M,style:C,...w}=r,[T,E]=G.useState(null),D=i.useState(`toastIndex`,n.id),O=i.useState(`toastVisibleIndex`,n.id),k=ee(c)?c:null,A=z({open:!0,onOpenChange:u,elements:{floating:T,reference:k}}),j=x({anchor:k,positionMethod:l,floatingRootContext:A,mounted:!0,side:d,sideOffset:m,align:p,alignOffset:h,collisionBoundary:g,collisionPadding:_,sticky:y,arrowPadding:v,disableAnchorTracking:b,keepMounted:!0,collisionAvoidance:S}),N=G.useMemo(()=>({side:j.side,align:j.align,anchorHidden:j.anchorHidden}),[j.side,j.align,j.anchorHidden]),P=ce(e,N,{styles:{...j.positionerStyles,[J.index]:n.transitionStatus===`ending`?D:O},transitionStatus:n.transitionStatus,props:w,refs:[t,E]});return(0,q.jsx)(ct.Provider,{value:j,children:P})}),dt=G.forwardRef(function(e,t){let{className:n,render:r,style:i,...a}=e,{arrowRef:o,side:s,align:c,arrowUncentered:l,arrowStyles:u}=lt();return k(`div`,e,{state:{side:s,align:c,uncentered:l},ref:[t,o],props:[{style:u,"aria-hidden":!0},a]})});function ft(){let e=G.useContext(Pe);if(!e)throw Error(a(73));let t=e.useState(`toasts`);return G.useMemo(()=>({toasts:t,add:e.addToast,close:e.closeToast,update:e.updateToast,promise:e.promiseToast}),[t,e])}function pt(){let e=new Set;function t(t){e.forEach(e=>e(t))}return{" subscribe":function(t){return e.add(t),()=>{e.delete(t)}},add(e){let n=e.id||Le(`toast`);return t({action:`add`,options:{...e,id:n,transitionStatus:`starting`}}),n},close(e){t({action:`close`,options:{id:e}})},update(e,n){t({action:`update`,options:{...n,id:e}})},promise(e,n){let r=e;return t({action:`promise`,options:{...n,promise:e,setPromise(e){r=e}}}),r}}}var mt=t({Action:()=>ot,Arrow:()=>dt,Close:()=>at,Content:()=>nt,Description:()=>rt,Portal:()=>st,Positioner:()=>ut,Provider:()=>He,Root:()=>tt,Title:()=>it,Viewport:()=>We,createToastManager:()=>pt,useToastManager:()=>ft});function ht(){let e=[],t=0,n=new Set,r=new Map,i=new Map,a=new Map,o=new Map,s=new Set,c=()=>n.forEach(e=>e()),l=e=>{clearTimeout(r.get(e)),r.delete(e);let t=a.get(e);t!==void 0&&(i.set(e,Math.max(0,(i.get(e)??0)-(Date.now()-t))),a.delete(e))},u=t=>{let n=e.find(e=>e.id===t);n&&(l(t),i.delete(t),o.delete(t),e=e.filter(e=>e.id!==t),c(),n.onDismiss?.())},d=e=>{s.size||o.get(e)?.size||r.has(e)||!i.has(e)||(a.set(e,Date.now()),r.set(e,setTimeout(()=>u(e),i.get(e))))},f=n=>{let r=n.id??`notification-${++t}`;l(r);let a={...n,id:r};e=[...e.filter(e=>e.id!==r),a];let o=n.durationMs??8e3;return o>0?i.set(r,o):i.delete(r),d(r),c(),r},p=(e,t)=>{let n=o.get(e)??new Set;n.add(t),o.set(e,n),l(e)},m=(e,t)=>{o.get(e)?.delete(t),d(e)};return{show:f,dismiss:u,pause:p,resume:m,getSnapshot:()=>e,subscribe:e=>(n.add(e),()=>{n.delete(e)}),setPaused:(t,n)=>{n?s.add(t):s.delete(t);for(let t of e)s.size?l(t.id):d(t.id)},performAction:async(t,n)=>{let r=e.find(e=>e.id===t),i=r?.actions?.find(e=>e.id===n);if(!r||!i||r.pendingActionId)return;let a={...r,pendingActionId:n};p(t,`action`),e=e.map(e=>e===r?a:e),c();try{await i.run(),e.includes(a)&&u(t)}catch(t){e.includes(a)&&f({...r,title:i.failureTitle??`Could not complete action`,description:t instanceof Error?t.message:`Please try again.`,tone:`error`})}finally{m(t,`action`)}}}}var X=ht(),Z=o(),gt={archive:v,clock:b,pin:g,trash:C};function _t(){let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],(0,G.useEffect)(vt,t),null}function vt(){let e=!0,t=new Set,n=()=>{let n=X.getSnapshot();for(let e of t)n.some(t=>t.id===e)||(t.delete(e),Q.close(`shared:${e}`));for(let r of n){let n=r.icon&&r.tone!==`error`?gt[r.icon]:null,i=r.actions??[],a=i.find(bt),o=e=>({children:e.label,disabled:!!r.pendingActionId,onClick:()=>{X.performAction(r.id,e.id)}}),s={title:r.title,description:r.description??null,type:r.tone??`info`,timeout:0,onClose:()=>{e&&X.getSnapshot().includes(r)&&X.dismiss(r.id)},actionProps:{children:null},data:{sharedToastId:r.id,leadingIcon:n?(0,q.jsx)(n,{className:`size-4`}):void 0,additionalActions:i.filter(e=>e!==a).map(e=>({id:e.id,props:o(e)})),...a?{secondaryActionProps:o(a)}:{},secondaryActionVariant:`soft`,hideCopyButton:!0}};t.has(r.id)?Q.update(`shared:${r.id}`,s):(t.add(r.id),Q.add({...s,id:`shared:${r.id}`}))}},r=X.subscribe(n),i=yt;return document.addEventListener(`visibilitychange`,i),i(),n(),()=>{e=!1,r(),document.removeEventListener(`visibilitychange`,i),X.setPaused(`web-hidden`,!1);for(let e of t)Q.close(`shared:${e}`)}}function yt(){return X.setPaused(`web-hidden`,document.hidden)}function bt(e){return e.primary}var xt=class extends m()(`ClipboardApiUnavailableError`,{target:j}){get message(){return`Clipboard API is unavailable while copying ${this.target}.`}},St=class extends m()(`ClipboardWriteError`,{target:j,cause:w()}){get message(){return`Failed to copy ${this.target} to the clipboard.`}},Ct=class extends m()(`ClipboardReadUnavailableError`,{target:j}){get message(){return`Clipboard API is unavailable while reading ${this.target}.`}},wt=class extends m()(`ClipboardReadError`,{target:j,cause:w()}){get message(){return`Failed to read ${this.target} from the clipboard.`}};function Tt(e,t){if(typeof document>`u`||typeof document.execCommand!=`function`)return!1;let n=document.createElement(`textarea`);n.value=e,n.setAttribute(`readonly`,``),n.setAttribute(`aria-hidden`,`true`),n.style.position=`fixed`,n.style.top=`0`,n.style.left=`0`,n.style.opacity=`0`,n.style.fontSize=`16px`;let r=document.activeElement,i=n=>{if(t&&n.clipboardData){n.clipboardData.setData(`text/plain`,e);for(let[e,r]of Object.entries(t))n.clipboardData.setData(e,r);n.preventDefault()}};document.body.appendChild(n),n.addEventListener(`copy`,i);try{return n.focus({preventScroll:!0}),n.select(),n.setSelectionRange(0,e.length),document.execCommand(`copy`)}catch{return!1}finally{n.removeEventListener(`copy`,i),n.remove();let e=r?.focus;typeof e==`function`&&e.call(r)}}async function Et(e,t=`text`,n){if(typeof window>`u`)throw new xt({target:t});if(!e)return!1;n&&=Object.fromEntries(Object.entries(n).filter(([e])=>e!==`text/plain`));let r=n?.[T];if(r&&(n={...n,"text/html":ne(e,r,n?.[`text/html`])}),typeof navigator>`u`||!navigator.clipboard?.writeText){if(Tt(e,n))return!0;throw new xt({target:t})}try{if(n&&typeof ClipboardItem<`u`&&navigator.clipboard.write)try{return await navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([e],{type:`text/plain`}),...Object.fromEntries(Object.entries(n).map(([e,t])=>[e,new Blob([t],{type:e})]))})]),!0}catch{let t=n[`text/html`];if(t)try{return await navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([e],{type:`text/plain`}),"text/html":new Blob([t],{type:`text/html`})})]),!0}catch{}}return await navigator.clipboard.writeText(e),!0}catch(e){throw new St({target:t,cause:e})}}async function Dt(e=`text`){if(typeof window>`u`||typeof navigator>`u`||!navigator.clipboard?.readText)throw new Ct({target:e});try{return await navigator.clipboard.readText()}catch(t){throw new wt({target:e,cause:t})}}function Ot({timeout:e=2e3,target:t=`text`,onCopy:n,onError:r,extraFlavors:i}={}){let[a,o]=G.useState(!1),s=G.useRef(null),c=G.useRef(n),l=G.useRef(r),u=G.useRef(t),d=G.useRef(e);c.current=n,l.current=r;let f=G.useRef(i);u.current=t,d.current=e,f.current=i;let p=G.useCallback((e,t)=>{Et(e,u.current,f.current).then(e=>{e&&(s.current&&clearTimeout(s.current),o(!0),c.current?.(t),d.current!==0&&(s.current=setTimeout(()=>{o(!1),s.current=null},d.current)))},e=>{console.error(e),l.current?.(e,t)})},[]);return G.useEffect(()=>()=>{s.current&&clearTimeout(s.current)},[]),{copyToClipboard:p,isCopied:a}}function kt(e){return e===`live`}function At(e){return e.draftThreadExists||e.serverThreadExists&&!e.serverThreadDeleted?`ready`:e.bootstrapComplete?`missing`:`loading`}function jt(e){return{environmentId:e.environmentId,threadId:e.threadId}}function Mt(e){return{draftId:e}}function Nt(e){return!e.environmentId||!e.threadId?null:N(e.environmentId,e.threadId)}function Pt(e){return e.environmentId&&e.threadId?{kind:`server`,threadRef:N(e.environmentId,e.threadId)}:e.draftId?{kind:`draft`,draftId:e.draftId}:null}function Ft(e,t){return e?.kind===`server`?e.threadRef:e?.kind!==`draft`||!t?.promotedTo?null:t.promotedTo}function It(e){if(typeof e!=`object`||!e||!(`children`in e))return!1;let t=e.children;return t!=null&&t!==!1&&t!==``}function Lt(e,t){return t<=1?!1:e>0}function Rt(e){let t=0,n=0,r=0,i=0,a=e.map(e=>{let a=zt(e.height);if(e.transitionStatus===`ending`){let r={toast:e,visibleIndex:t,offsetY:n};return n+=a,t+=1,r}let o={toast:e,visibleIndex:r,offsetY:i};return n+=a,t+=1,i+=a,r+=1,o});return{frontmostHeight:zt(e.find(e=>e.transitionStatus!==`ending`)?.height),items:a}}function zt(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:0}function Bt(e,t){if(e?.threadRef)return t!==null&&e.threadRef.environmentId===t.environmentId&&e.threadRef.threadId===t.threadId;let n=e?.threadId;return!n||t?.threadId===n}var Q=pt(),Vt=pt(),$=new Map,Ht={error:S,info:E,loading:we,success:i,warning:oe},Ut=180;function Wt(e,t){if(e===`error`&&typeof t==`string`&&!(t.length<Ut))return`line-clamp-4`}var Gt=`absolute z-20 -top-1.5 -right-1.5`,Kt=U(`inline-flex size-6 shrink-0 cursor-pointer items-center justify-center rounded-full border border-border/60 bg-popover/92 text-muted-foreground shadow-sm outline-none backdrop-blur-sm`,`transition-[color,background-color,box-shadow] hover:bg-popover hover:text-foreground`,`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background`);function qt(e,t,n){n?.(),e.close(t)}function Jt(e){let t=(0,Z.c)(13),{text:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={target:`error-message`},t[0]=r):r=t[0];let{copyToClipboard:i,isCopied:a}=Ot(r),o=a?`Copied error`:`Copy error`,s;t[1]!==i||t[2]!==n?(s=()=>i(n),t[1]=i,t[2]=n,t[3]=s):s=t[3];let c=a&&`text-success`,l;t[4]===c?l=t[5]:(l=U(`size-3`,c),t[4]=c,t[5]=l);let u=a?be:ye,d;t[6]!==l||t[7]!==u?(d=(0,q.jsx)(W,{className:l,icon:u}),t[6]=l,t[7]=u,t[8]=d):d=t[8];let f;return t[9]!==o||t[10]!==s||t[11]!==d?(f=(0,q.jsx)(B,{size:`icon-micro`,variant:`ghost-muted`,"aria-label":o,className:`[--control-icon-color:currentColor] rounded-md text-muted-foreground/80 hover:bg-transparent hover:text-muted-foreground`,onClick:s,children:d}),t[9]=o,t[10]=s,t[11]=d,t[12]=f):f=t[12],f}var Yt=`mt-2 max-h-40 min-h-0 overflow-y-auto overscroll-contain pr-0.5 select-text`;function Xt(e){let t=(0,Z.c)(13),{children:n,labels:r}=e,[i,a]=(0,G.useState)(!1),o=r.expand??`Show details`,s=r.collapse??`Hide details`,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=()=>a(Zt),t[0]=c):c=t[0];let l=i?Se:xe,u;t[1]===l?u=t[2]:(u=(0,q.jsx)(W,{className:`size-3.5 shrink-0 opacity-80`,icon:l,strokeWidth:2.25}),t[1]=l,t[2]=u);let d=i?s:o,f;t[3]!==i||t[4]!==u||t[5]!==d?(f=(0,q.jsxs)(`button`,{"aria-expanded":i,className:`inline-flex cursor-pointer items-center gap-1 rounded-md py-0.5 text-left text-xs font-medium text-muted-foreground transition-colors hover:text-foreground`,onClick:c,type:`button`,children:[u,d]}),t[3]=i,t[4]=u,t[5]=d,t[6]=f):f=t[6];let p;t[7]!==n||t[8]!==i?(p=i?(0,q.jsx)(`div`,{className:Yt,children:n}):null,t[7]=n,t[8]=i,t[9]=p):p=t[9];let m;return t[10]!==f||t[11]!==p?(m=(0,q.jsxs)(`div`,{className:`min-w-0`,children:[f,p]}),t[10]=f,t[11]=p,t[12]=m):m=t[12],m}function Zt(e){return!e}function Qt(e){let t=(0,Z.c)(36),{toastData:n,toastDescription:r,toastType:i}=e,a=n?.expandableContent,o;t[0]===n?.expandableLabels?o=t[1]:(o=n?.expandableLabels??{},t[0]=n?.expandableLabels,t[1]=o);let s=o,c=n?.expandableDescriptionTrigger??!1,l;t[2]!==r||t[3]!==i?(l=U(`min-w-0 select-text wrap-break-word text-muted-foreground`,Wt(i,r)),t[2]=r,t[3]=i,t[4]=l):l=t[4];let u=l,[d,f]=(0,G.useState)(!1);if(!a){let e;return t[5]===u?e=t[6]:(e=(0,q.jsx)(rt,{className:u,"data-slot":`toast-description`}),t[5]=u,t[6]=e),e}if(!c){let e;t[7]===u?e=t[8]:(e=(0,q.jsx)(rt,{className:u,"data-slot":`toast-description`}),t[7]=u,t[8]=e);let n;t[9]!==a||t[10]!==s?(n=(0,q.jsx)(Xt,{labels:s,children:a}),t[9]=a,t[10]=s,t[11]=n):n=t[11];let r;return t[12]!==e||t[13]!==n?(r=(0,q.jsxs)(q.Fragment,{children:[e,n]}),t[12]=e,t[13]=n,t[14]=r):r=t[14],r}let p=s.expand??`Show details`,m=s.collapse??`Hide details`,h;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>f($t),t[15]=h):h=t[15];let g=h,_;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),g())},t[16]=_):_=t[16];let v=_,y=d?m:p,b;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(b=U(`group flex min-w-0 w-full cursor-pointer select-none items-start gap-1.5 rounded-sm text-left outline-none ring-offset-background`,`transition-colors hover:bg-muted/40`,`focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background`),t[17]=b):b=t[17];let x;t[18]!==r||t[19]!==i?(x=U(`min-w-0 select-none wrap-break-word text-muted-foreground`,Wt(i,r),`underline-offset-2 decoration-muted-foreground/60 group-hover:underline`),t[18]=r,t[19]=i,t[20]=x):x=t[20];let S;t[21]===x?S=t[22]:(S=(0,q.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,q.jsx)(rt,{className:x,"data-slot":`toast-description`})}),t[21]=x,t[22]=S);let C=d?Se:xe,w;t[23]===C?w=t[24]:(w=(0,q.jsx)(W,{"aria-hidden":!0,className:`mt-0.5 size-3.5 shrink-0 text-muted-foreground opacity-80`,icon:C,strokeWidth:2.25}),t[23]=C,t[24]=w);let T;t[25]!==d||t[26]!==w||t[27]!==y||t[28]!==S?(T=(0,q.jsxs)(`div`,{"aria-label":y,"aria-expanded":d,className:b,onClick:g,onKeyDown:v,role:`button`,tabIndex:0,children:[S,w]}),t[25]=d,t[26]=w,t[27]=y,t[28]=S,t[29]=T):T=t[29];let E;t[30]!==a||t[31]!==d?(E=d?(0,q.jsx)(`div`,{className:Yt,children:a}):null,t[30]=a,t[31]=d,t[32]=E):E=t[32];let D;return t[33]!==T||t[34]!==E?(D=(0,q.jsxs)(q.Fragment,{children:[T,E]}),t[33]=T,t[34]=E,t[35]=D):D=t[35],D}function $t(e){return!e}function en(e){let t=e.type?Ht[e.type]:null,n=It(e.actionProps)&&e.data?.actionLayout===`stacked-end`,r=e.data?.actionVariant??`default`,i=e.data?.secondaryActionVariant??`outline`,a=e.type===`error`&&typeof e.description==`string`&&!e.data?.hideCopyButton?e.description:null,o=(e.data?.additionalActions?.length??0)>0,s=e.data?.secondaryActionProps!==void 0,c=a!==null||It(e.actionProps)||o||s;return{Icon:t,stackedActionLayout:n,actionVariant:r,secondaryActionVariant:i,copyErrorText:a,hasTrailingControls:c,inlineContentEndPad:c?`pr-6`:`pr-10`}}function tn(e){let t=(0,Z.c)(38),{stackedActionLayout:n,Icon:r,copyErrorText:i,actionProps:a,actionVariant:o,secondaryActionVariant:s,hasTrailingControls:c,toastData:l,toastDescription:u,toastType:d}=e,f;t[0]===l?.additionalActions?f=t[1]:(f=l?.additionalActions??[],t[0]=l?.additionalActions,t[1]=f);let p=f,m=l?.secondaryActionProps,h=l?.leadingIcon,g;t[2]===m?g=t[3]:(g=m??{},t[2]=m,t[3]=g);let _,v;t[4]===g?(_=t[5],v=t[6]):({className:_,...v}=g,t[4]=g,t[5]=_,t[6]=v);let y=n?`pr-5`:`flex-1`,b;t[7]===y?b=t[8]:(b=U(`flex min-h-0 min-w-0 flex-col gap-0.5`,y),t[7]=y,t[8]=b);let x;t[9]!==r||t[10]!==h?(x=h?(0,q.jsx)(`div`,{className:`flex h-lh w-4 shrink-0 items-center justify-center`,"data-slot":`toast-icon`,children:h}):r?(0,q.jsx)(`div`,{className:`[&>svg]:h-lh [&>svg]:w-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,"data-slot":`toast-icon`,children:(0,q.jsx)(r,{className:`in-data-[type=error]:text-destructive in-data-[type=info]:text-info in-data-[type=success]:text-success in-data-[type=warning]:text-warning in-data-[type=loading]:opacity-80`})}):null,t[9]=r,t[10]=h,t[11]=x):x=t[11];let S;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,q.jsx)(it,{className:`min-w-0 wrap-break-word font-medium`,"data-slot":`toast-title`}),t[12]=S):S=t[12];let C;t[13]===x?C=t[14]:(C=(0,q.jsxs)(`div`,{className:`flex min-w-0 gap-2`,children:[x,S]}),t[13]=x,t[14]=C);let w;t[15]!==l||t[16]!==u||t[17]!==d?(w=(0,q.jsx)(Qt,{toastData:l,toastDescription:u,toastType:d}),t[15]=l,t[16]=u,t[17]=d,t[18]=w):w=t[18];let T;t[19]!==b||t[20]!==C||t[21]!==w?(T=(0,q.jsxs)(`div`,{className:b,children:[C,w]}),t[19]=b,t[20]=C,t[21]=w,t[22]=T):T=t[22];let E;t[23]!==a||t[24]!==o||t[25]!==p||t[26]!==i||t[27]!==c||t[28]!==_||t[29]!==m||t[30]!==v||t[31]!==s||t[32]!==n||t[33]!==l?.sharedToastId?(E=c?(0,q.jsxs)(`div`,{className:U(`flex items-center gap-1.5`,n?`w-full justify-end`:`shrink-0`),children:[i===null?null:(0,q.jsx)(Jt,{text:i}),p.map(e=>{let{id:t,props:n}=e,{className:r,...i}=n;return(0,G.createElement)(B,{...i,className:r,key:t,size:`xs`,type:`button`,variant:s})}),m?(0,q.jsx)(B,{...v,className:_,size:`xs`,type:`button`,variant:l?.sharedToastId?`solid-neutral`:s}):null,It(a)?(0,q.jsx)(ot,{className:U(ae({size:`xs`,variant:o}),`shrink-0`),"data-slot":`toast-action`,children:a?.children}):null]}):null,t[23]=a,t[24]=o,t[25]=p,t[26]=i,t[27]=c,t[28]=_,t[29]=m,t[30]=v,t[31]=s,t[32]=n,t[33]=l?.sharedToastId,t[34]=E):E=t[34];let D;return t[35]!==E||t[36]!==T?(D=(0,q.jsxs)(q.Fragment,{children:[T,E]}),t[35]=E,t[36]=T,t[37]=D):D=t[37],D}function nn(){let e=(0,Z.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={strict:!1,select:rn},e[0]=t):t=e[0];let n=Te(t),r;e[1]===n?r=e[2]:(r=e=>n?.kind===`draft`?e.getDraftSession(n.draftId):null,e[1]=n,e[2]=r);let i=l(r),a;bb0:{if(n?.kind===`server`){a=n.threadRef;break bb0}if(n?.kind===`draft`&&i){let t;e[3]!==i.environmentId||e[4]!==i.threadId?(t={environmentId:i.environmentId,threadId:i.threadId},e[3]=i.environmentId,e[4]=i.threadId,e[5]=t):t=e[5],a=t;break bb0}a=null}return a}function rn(e){return Pt(e)}function an(e){let t=(0,Z.c)(4),{toastId:n,dismissAfterVisibleMs:r}=e,i,a;return t[0]!==r||t[1]!==n?(i=()=>{if(!r||r<=0||typeof window>`u`||typeof document>`u`)return;let e=$.get(n)??r,t=null,i=null,a=!1,o=()=>{i!==null&&(window.clearTimeout(i),i=null)},s=()=>{a||(a=!0,$.delete(n),Q.close(n))},c=()=>{t!==null&&(e=Math.max(0,e-(Date.now()-t)),t=null,o(),$.set(n,e))},l=()=>{if(!(a||t!==null)){if(e<=0){s();return}t=Date.now(),o(),i=window.setTimeout(()=>{e=0,t=null,s()},e)}},u=()=>{if(document.visibilityState===`visible`&&document.hasFocus()){l();return}c()};return u(),document.addEventListener(`visibilitychange`,u),window.addEventListener(`focus`,u),window.addEventListener(`blur`,u),()=>{document.removeEventListener(`visibilitychange`,u),window.removeEventListener(`focus`,u),window.removeEventListener(`blur`,u),c(),o()}},a=[r,n],t[0]=r,t[1]=n,t[2]=i,t[3]=a):(i=t[2],a=t[3]),(0,G.useEffect)(i,a),null}function on(e){let t=(0,Z.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({children:n,position:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`top-center`:i,o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,q.jsx)(_t,{}),t[4]=o):o=t[4];let s;t[5]===a?s=t[6]:(s=(0,q.jsx)(sn,{position:a}),t[5]=a,t[6]=s);let c;return t[7]!==n||t[8]!==r||t[9]!==s?(c=(0,q.jsxs)(He,{toastManager:Q,...r,children:[o,n,s]}),t[7]=n,t[8]=r,t[9]=s,t[10]=c):c=t[10],c}function sn(e){let t=(0,Z.c)(19),{position:n}=e,{toasts:r}=ft(),i=nn(),a;t[0]===n?a=t[1]:(a=n.startsWith(`top`),t[0]=n,t[1]=a);let o=a,s;t[2]===i?s=t[3]:(s=e=>Bt(e.data,i),t[2]=i,t[3]=s);let c=Rt(r.filter(s)),l,u;t[4]===r?(l=t[5],u=t[6]):(l=()=>{let e=new Set(r.map(cn));for(let t of $.keys())e.has(t)||$.delete(t)},u=[r],t[4]=r,t[5]=l,t[6]=u),(0,G.useEffect)(l,u);let d=mt,f=mt,p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=U(`fixed z-100 mx-auto flex w-[calc(100%-var(--toast-inset)*2)] max-w-90 [--toast-header-offset:var(--workspace-topbar-height)] [--toast-inset:--spacing(4)] sm:[--toast-inset:--spacing(8)]`,`data-[position*=top]:top-[calc(var(--toast-inset)+var(--toast-header-offset))]`,`data-[position*=bottom]:bottom-(--toast-inset)`,`data-[position*=left]:left-(--toast-inset)`,`data-[position*=right]:right-(--toast-inset)`,`data-[position*=center]:-translate-x-1/2 data-[position*=center]:left-1/2`),t[7]=p):p=t[7];let m=`${c.frontmostHeight}px`,h;t[8]===m?h=t[9]:(h={"--toast-frontmost-height":m},t[8]=m,t[9]=h);let g=h,v=c.items.map(e=>{let{toast:t,visibleIndex:r,offsetY:i}=e,a=Lt(r,c.items.length),s=en(t),{stackedActionLayout:l,inlineContentEndPad:u}=s;return(0,q.jsxs)(tt,{className:U(`dropdown-glass absolute z-[calc(9999-var(--toast-index))] w-full overflow-visible select-none rounded-xl text-popover-foreground shadow-lg shadow-black/10 [transition:transform_.5s_cubic-bezier(.22,1,.36,1),opacity_.5s,height_.15s] motion-reduce:transition-none`,`data-[position*=right]:right-0 data-[position*=right]:left-auto`,`data-[position*=left]:right-auto data-[position*=left]:left-0`,`data-[position*=center]:right-0 data-[position*=center]:left-0`,`data-[position*=top]:top-0 data-[position*=top]:bottom-auto data-[position*=top]:origin-top`,`data-[position*=bottom]:top-auto data-[position*=bottom]:bottom-0 data-[position*=bottom]:origin-bottom`,`after:absolute after:left-0 after:h-[calc(var(--toast-gap)+1px)] after:w-full`,`data-[position*=top]:after:top-full`,`data-[position*=bottom]:after:bottom-full`,r>0?`not-data-expanded:[--toast-calc-height:var(--toast-frontmost-height)] data-expanded:[--toast-calc-height:max(var(--toast-frontmost-height,var(--toast-height)),var(--toast-height))]`:`[--toast-calc-height:max(var(--toast-frontmost-height,var(--toast-height)),var(--toast-height))]`,`[--toast-gap:--spacing(3)] [--toast-peek:--spacing(3)] [--toast-scale:calc(max(0,1-(var(--toast-index)*.1)))] [--toast-shrink:calc(1-var(--toast-scale))]`,r>0?`not-data-expanded:h-(--toast-calc-height) data-expanded:h-auto`:`h-auto`,`data-[position*=top]:[--toast-calc-offset-y:calc(var(--toast-offset-y)+var(--toast-index)*var(--toast-gap)+var(--toast-swipe-movement-y))]`,`data-[position*=bottom]:[--toast-calc-offset-y:calc(var(--toast-offset-y)*-1+var(--toast-index)*var(--toast-gap)*-1+var(--toast-swipe-movement-y))]`,`data-[position*=top]:transform-[translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)+(var(--toast-index)*var(--toast-peek))+(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]`,`data-[position*=bottom]:transform-[translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--toast-peek))-(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]`,`data-limited:opacity-0`,`data-position:data-expanded:transform-[translateX(var(--toast-swipe-movement-x))_translateY(var(--toast-calc-offset-y))]`,`data-[position*=top]:data-starting-style:transform-[translateY(calc(-100%-var(--toast-inset)))]`,`data-[position*=bottom]:data-starting-style:transform-[translateY(calc(100%+var(--toast-inset)))]`,`data-[position*=top]:data-[position*=right]:data-starting-style:transform-[translateX(calc(100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]`,`data-ending-style:opacity-0`,`data-ending-style:not-data-limited:not-data-swipe-direction:transform-[translateY(calc(var(--toast-calc-offset-y)-100%-var(--toast-inset)))]`,`data-ending-style:data-[swipe-direction=left]:transform-[translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]`,`data-ending-style:data-[swipe-direction=right]:transform-[translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]`,`data-ending-style:data-[swipe-direction=up]:transform-[translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]`,`data-ending-style:data-[swipe-direction=down]:transform-[translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]`,`data-expanded:data-ending-style:data-[swipe-direction=left]:transform-[translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]`,`data-expanded:data-ending-style:data-[swipe-direction=right]:transform-[translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]`,`data-expanded:data-ending-style:data-[swipe-direction=up]:transform-[translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]`,`data-expanded:data-ending-style:data-[swipe-direction=down]:transform-[translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]`),"data-position":n,onPointerEnter:()=>{t.data?.sharedToastId&&X.pause(t.data.sharedToastId,`pointer`)},onPointerLeave:()=>{t.data?.sharedToastId&&X.resume(t.data.sharedToastId,`pointer`)},onFocusCapture:()=>{t.data?.sharedToastId&&X.pause(t.data.sharedToastId,`focus`)},onBlurCapture:e=>{t.data?.sharedToastId&&!e.currentTarget.contains(e.relatedTarget)&&X.resume(t.data.sharedToastId,`focus`)},style:{"--toast-index":r,"--toast-offset-y":`${i}px`},swipeDirection:n.includes(`center`)?[o?`up`:`down`]:n.includes(`left`)?[`left`,o?`up`:`down`]:[`right`,o?`up`:`down`],toast:t,children:[(0,q.jsx)(an,{dismissAfterVisibleMs:t.data?.dismissAfterVisibleMs,toastId:t.id}),!t.data?.sharedToastId&&(0,q.jsx)(`div`,{className:Gt,children:(0,q.jsx)(`button`,{"aria-label":`Dismiss notification`,className:Kt,"data-slot":`toast-close`,onClick:()=>qt(Q,t.id,t.data?.onClose),type:`button`,children:(0,q.jsx)(_,{className:`size-3`,strokeWidth:2.25})})}),(0,q.jsxs)(nt,{className:U(`pointer-events-auto min-h-0 overflow-y-visible pl-3.5 text-sm transition-opacity duration-250 [overflow-x:clip] data-expanded:opacity-100`,l?`flex flex-col gap-2 py-2.5 pr-3.5`:U(`py-3`,`flex items-center justify-between gap-2`,t.data?.sharedToastId?`pr-2`:u),a&&`not-data-expanded:pointer-events-none not-data-expanded:opacity-0`),children:[(0,q.jsx)(tn,{...s,actionProps:t.actionProps,toastData:t.data,toastDescription:t.description,toastType:t.type}),t.data?.sharedToastId&&(0,q.jsx)(B,{size:`icon-xs`,variant:`ghost`,"aria-label":`Dismiss notification`,onClick:()=>X.dismiss(t.data.sharedToastId),children:(0,q.jsx)(_,{})})]})]},t.id)}),y;t[10]!==n||t[11]!==g||t[12]!==v||t[13]!==f.Viewport||t[14]!==p?(y=(0,q.jsx)(f.Viewport,{className:p,"data-position":n,"data-slot":`toast-viewport`,style:g,children:v}),t[10]=n,t[11]=g,t[12]=v,t[13]=f.Viewport,t[14]=p,t[15]=y):y=t[15];let b;return t[16]!==y||t[17]!==d.Portal?(b=(0,q.jsx)(d.Portal,{"data-slot":`toast-portal`,children:y}),t[16]=y,t[17]=d.Portal,t[18]=b):b=t[18],b}function cn(e){return e.id}function ln(e){let t=(0,Z.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):({children:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,q.jsx)(un,{}),t[3]=i):i=t[3];let a;return t[4]!==n||t[5]!==r?(a=(0,q.jsxs)(He,{toastManager:Vt,...r,children:[n,i]}),t[4]=n,t[5]=r,t[6]=a):a=t[6],a}function un(){let e=(0,Z.c)(7),{toasts:t}=ft(),n=nn(),r;if(e[0]!==n||e[1]!==t){let i;e[3]===n?i=e[4]:(i=e=>Bt(e.data,n),e[3]=n,e[4]=i),r=t.filter(i).map(dn),e[0]=n,e[1]=t,e[2]=r}else r=e[2];let i;return e[5]===r?i=e[6]:(i=(0,q.jsx)(st,{"data-slot":`toast-portal-anchored`,children:(0,q.jsx)(We,{className:`outline-none`,"data-slot":`toast-viewport-anchored`,children:r})}),e[5]=r,e[6]=i),i}function dn(e){let t=e.data?.tooltipStyle??!1,n=e.positionerProps,r=en(e),{stackedActionLayout:i,inlineContentEndPad:a}=r;return n?.anchor?(0,q.jsx)(ut,{className:`z-100 max-w-[min(--spacing(64),var(--available-width))]`,"data-slot":`toast-positioner`,sideOffset:n.sideOffset??4,toast:e,children:(0,q.jsx)(tt,{className:U(`dropdown-glass relative overflow-visible text-balance text-popover-foreground text-xs shadow-xl shadow-black/25 transition-[scale,opacity] data-ending-style:scale-98 data-starting-style:scale-98 data-ending-style:opacity-0 data-starting-style:opacity-0`,t?`rounded-md`:`rounded-lg`),"data-slot":`toast-popup`,toast:e,children:t?(0,q.jsx)(nt,{className:`pointer-events-auto px-2 py-1`,children:(0,q.jsx)(it,{"data-slot":`toast-title`})}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:Gt,children:(0,q.jsx)(`button`,{"aria-label":`Dismiss notification`,className:Kt,"data-slot":`toast-close`,onClick:()=>qt(Vt,e.id,e.data?.onClose),type:`button`,children:(0,q.jsx)(_,{className:`size-3`,strokeWidth:2.25})})}),(0,q.jsx)(nt,{className:U(`pointer-events-auto min-h-0 overflow-y-visible pl-3.5 text-sm [overflow-x:clip]`,i?`flex flex-col gap-2 py-2.5 pr-3.5`:U(`py-3`,`flex items-center justify-between gap-1.5`,a)),children:(0,q.jsx)(tn,{...r,actionProps:e.actionProps,toastData:e.data,toastDescription:e.description,toastType:e.type})})]})})},e.id):null}export{ke as _,Mt as a,Ft as c,Pt as d,Dt as f,Ne as g,X as h,Q as i,Nt as l,Et as m,on as n,jt as o,Ot as p,Vt as r,kt as s,ln as t,At as u,Ae as v,Oe as y};
2
- //# sourceMappingURL=toast-B2B2ECBW.js.map
@@ -1,2 +0,0 @@
1
- var e={children:null};function t(e){let{type:t,title:n,description:r,timeout:i,priority:a,actionProps:o,actionVariant:s,data:c}=e,l={...c===void 0?{}:c,actionLayout:`stacked-end`};s!==void 0&&(l.actionVariant=s);let u={type:t,title:n,data:l};return r!==void 0&&(u.description=r),i!==void 0&&(u.timeout=i),a!==void 0&&(u.priority=a),o!==void 0&&(u.actionProps=o),u}export{t as n,e as t};
2
- //# sourceMappingURL=toastHelpers-Dsph6LwL.js.map
@@ -1,3 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t}from"./Icon-l19w4AjM.js";import{$o as n,Ah as r,BE as i,Bb as a,Bg as o,Cs as s,Db as c,Ds as l,Eb as u,Es as d,Gy as f,HT as p,Hs as ee,I_ as te,Ib as ne,LT as re,Lb as ie,Nx as ae,Ny as oe,O_ as se,Oh as ce,Oy as le,Pb as ue,Pv as de,Qy as fe,RT as m,Rg as pe,Sl as me,Th as he,Vy as ge,Xy as _e,Yo as ve,bh as ye,bl as be,c_ as xe,cb as Se,ds as h,eT as g,es as Ce,gb as we,gh as Te,hh as Ee,iS as De,iT as _,ib as Oe,jc as ke,kh as Ae,ks as je,l_ as Me,lb as Ne,lh as Pe,nT as v,nb as Fe,oS as Ie,oh as Le,ph as Re,rs as y,s_ as ze,ts as Be,uh as Ve,yl as He,z_ as Ue,zb as We}from"./utils-B0w8dSf5.js";import{At as Ge,E as Ke,I as qe,R as Je,Sn as Ye,T as Xe,W as Ze,_t as b}from"./runtime-mg6KxRIi.js";import{Et as Qe,St as $e,T as et,t as tt}from"./runtime-V62Oyi1q.js";import{i as x}from"./toast-B2B2ECBW.js";import{f as S,h as C,m as nt,u as rt}from"./server-C8OpoOTL.js";import{i as it,n as at,s as ot,t as st}from"./session-BAH17FBJ.js";import{t as w}from"./use-atom-command-BWLbyoVN.js";import{B as ct,C as lt,M as ut,N as dt,O as ft,P as pt,S as mt,_ as ht,b as gt,c as _t,i as T,n as vt,o as yt,r as bt,y as xt,z as St}from"./themePalette-DELPwUM7.js";var E=e(t(),1),D=i();function Ct(e,t){if(e.size!==t.size)return!1;for(let[n,r]of e)if(t.get(n)!==r)return!1;return!0}function wt(e){let t=Be(t=>y(n=>{let r=n(e.catalogValueAtom).entries.get(t);if(r===void 0)return null;let i=re(d(n(e.stateAtom(t))),()=>Ye);return{entry:r,connection:r.unsupportedReason===void 0?Qe(i):{phase:`unsupported`,error:r.unsupportedReason,traceId:null},serverConfig:n(e.serverConfigValueAtom(t))}}).pipe(h(`environment-presentation:${t}`))),n=new Map;return{presentationAtom:t,presentationsAtom:y(r=>{let i=new Map;for(let n of r(e.catalogValueAtom).entries.keys()){let e=r(t(n));e!==null&&i.set(n,e)}return Ct(n,i)||(n=i),n}).pipe(h(`environment-presentations`))}}function Tt(e,t){return{environmentId:e,environmentLabel:t.entry.target.label,displayUrl:$e(t.entry)??``,isRelayManaged:Ge(t.entry),isEnabled:t.entry.enabled,connectionState:t.connection.phase,connectionError:t.connection.error,connectionErrorTraceId:t.connection.traceId}}function Et(e){let t=y(t=>{let n=[...t(e.catalogValueAtom).entries.keys()],r=m(t.self());return r!==null&&r.length===n.length&&n.every((e,t)=>e===r[t])?r:n}),n=y(t=>{let n=[...t(e.catalogValueAtom).entries].map(([e,t])=>({environmentId:e,label:t.target.label})),r=m(t.self());return r!==null&&r.length===n.length&&n.every((e,t)=>e.environmentId===r[t]?.environmentId&&e.label===r[t]?.label)?r:n}),r=Be(t=>y(n=>{let r=n(e.presentationAtom(t));if(r===null)return null;let i=Tt(t,r),a=m(n.self());return a!==null&&a.environmentId===i.environmentId&&a.environmentLabel===i.environmentLabel&&a.displayUrl===i.displayUrl&&a.isRelayManaged===i.isRelayManaged&&a.isEnabled===i.isEnabled&&a.connectionState===i.connectionState&&a.connectionError===i.connectionError&&a.connectionErrorTraceId===i.connectionErrorTraceId?a:i})),i=y(t=>{let n=[];for(let i of t(e.catalogValueAtom).entries.keys()){let e=t(r(i));e!==null&&n.push(e)}let i=m(t.self());return i!==null&&i.length===n.length&&n.every((e,t)=>e===i[t])?i:n}).pipe(h(`environment-connection-summaries`));return{environmentIdsAtom:t,connectedEnvironmentIdsAtom:y(e=>{let n=e(t).filter(t=>e(r(t))?.connectionState===`connected`),i=m(e.self());return i!==null&&i.length===n.length&&n.every((e,t)=>e===i[t])?i:n}),identitiesAtom:n,environmentsAtom:i,machineByIdAtom:y(n=>{let r=new Map(n(t).map(t=>[t,me(n(e.presentationAtom(t))?.serverConfig??null)])),i=m(n.self());return i!==null&&Ct(i,r)?i:r}),pullRequestsSupportedAtom:y(n=>n(t).some(t=>n(e.presentationAtom(t))?.serverConfig?.environment.capabilities.pullRequests===!0))}}var Dt=wt({catalogValueAtom:C.catalogValueAtom,stateAtom:C.stateAtom,serverConfigValueAtom:S.configValueAtom}),Ot=Et({catalogValueAtom:C.catalogValueAtom,presentationAtom:Dt.presentationAtom}),kt=y(null).pipe(h(`web-environment-presentation:empty`));function At(e){let t=(0,D.c)(5),r=n(C.catalogValueAtom),i;t[0]===e?i=t[1]:(i=e===null?kt:Dt.presentationAtom(e),t[0]=e,t[1]=i);let a=n(i),o;return t[2]!==r.isReady||t[3]!==a?(o={isReady:r.isReady,presentation:a},t[2]=r.isReady,t[3]=a,t[4]=o):o=t[4],o}var jt={status:`idle`},O=jt,k=null,A=[],j=0,Mt=new Set;function M(e){O=e;for(let e of Mt)e()}function Nt(e){k?.resolve(e);for(let t of A)t.resolve(e);k=null,A=[]}function Pt(){return O}function Ft(e){return Mt.add(e),()=>{Mt.delete(e)}}function It(){j+=1;let e=!0;return()=>{e&&(e=!1,j=Math.max(0,j-1),j===0&&(Nt(!1),M(jt)))}}function Lt(e,t){if(j!==0)return new Promise(n=>{let r={message:e,variant:t?.variant??`default`,resolve:n};if(k||O.status===`closing`){A.push(r);return}k=r,M({status:`confirming`,message:e,variant:r.variant})})}function Rt(){return O.status!==`idle`||k!==null||A.length>0}function zt(e){if(O.status!==`confirming`||!k)return;let t=k;k=null,t.resolve(e),M({status:`closing`,message:O.message,variant:O.variant})}function Bt(){if(O.status!==`closing`)return;let e=A.shift();if(!e){M(jt);return}k=e,M({status:`confirming`,message:e.message,variant:e.variant})}var Vt={Ctrl:`⌃`,Alt:`⌥`,Shift:`⇧`,Super:`⌘`,CmdOrCtrl:`⌘`};function Ht(e,t=navigator.platform){let n=e.split(`+`),r=n.pop()??``;return ke(t)?`${n.map(e=>Vt[e]??e).join(``)}${r}`:[...n.map(e=>e===`CmdOrCtrl`?`Ctrl`:e===`Super`?`Meta`:e),r].join(`+`)}var Ut=`http://www.w3.org/2000/svg`,Wt={archive:[{tag:`rect`,attrs:{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}},{tag:`path`,attrs:{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}},{tag:`path`,attrs:{d:`M10 12h4`}}],check:[{tag:`path`,attrs:{d:`M20 6 9 17l-5-5`}}],timer:[{tag:`line`,attrs:{x1:`10`,x2:`14`,y1:`2`,y2:`2`}},{tag:`line`,attrs:{x1:`12`,x2:`15`,y1:`14`,y2:`11`}},{tag:`circle`,attrs:{cx:`12`,cy:`14`,r:`8`}}],"chevron-right":[{tag:`path`,attrs:{d:`m9 19 7-7-7-7`}}],"circle-check":[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`path`,attrs:{d:`m9 12 2 2 4-4`}}],clock:[{tag:`path`,attrs:{d:`M12 6v6l4 2`}},{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}}],pencil:[{tag:`path`,attrs:{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}},{tag:`path`,attrs:{d:`m15 5 4 4`}}],copy:[{tag:`rect`,attrs:{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}},{tag:`path`,attrs:{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}}],folder:[{tag:`path`,attrs:{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}}],"git-branch":[{tag:`line`,attrs:{x1:`6`,x2:`6`,y1:`3`,y2:`15`}},{tag:`circle`,attrs:{cx:`18`,cy:`6`,r:`3`}},{tag:`circle`,attrs:{cx:`6`,cy:`18`,r:`3`}},{tag:`path`,attrs:{d:`M18 9a9 9 0 0 1-9 9`}}],eye:[{tag:`path`,attrs:{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}},{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`3`}}],"app-window":[{tag:`rect`,attrs:{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}},{tag:`path`,attrs:{d:`M10 4v4`}},{tag:`path`,attrs:{d:`M2 8h20`}},{tag:`path`,attrs:{d:`M6 4v4`}}],"arrow-up-right":[{tag:`path`,attrs:{d:`M7 7h10v10`}},{tag:`path`,attrs:{d:`M7 17 17 7`}}],"external-link":[{tag:`path`,attrs:{d:`M15 3h6v6`}},{tag:`path`,attrs:{d:`M10 14 21 3`}},{tag:`path`,attrs:{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`}}],link:[{tag:`path`,attrs:{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`}},{tag:`path`,attrs:{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`}}],list:[{tag:`path`,attrs:{d:`M3 5h.01`}},{tag:`path`,attrs:{d:`M3 12h.01`}},{tag:`path`,attrs:{d:`M3 19h.01`}},{tag:`path`,attrs:{d:`M8 5h13`}},{tag:`path`,attrs:{d:`M8 12h13`}},{tag:`path`,attrs:{d:`M8 19h13`}}],share:[{tag:`path`,attrs:{d:`M12 2v13`}},{tag:`path`,attrs:{d:`m16 6-4-4-4 4`}},{tag:`path`,attrs:{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}}],x:[{tag:`path`,attrs:{d:`M18 6 6 18`}},{tag:`path`,attrs:{d:`m6 6 12 12`}}],hash:[{tag:`line`,attrs:{x1:`4`,x2:`20`,y1:`9`,y2:`9`}},{tag:`line`,attrs:{x1:`4`,x2:`20`,y1:`15`,y2:`15`}},{tag:`line`,attrs:{x1:`10`,x2:`8`,y1:`3`,y2:`21`}},{tag:`line`,attrs:{x1:`16`,x2:`14`,y1:`3`,y2:`21`}}],"mail-open":[{tag:`path`,attrs:{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`}},{tag:`path`,attrs:{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`}}],"message-square-plus":[{tag:`path`,attrs:{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}},{tag:`path`,attrs:{d:`M12 8v6`}},{tag:`path`,attrs:{d:`M9 11h6`}}],pin:[{tag:`path`,attrs:{d:`M12 17v5`}},{tag:`path`,attrs:{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`}}],"pin-off":[{tag:`path`,attrs:{d:`M12 17v5`}},{tag:`path`,attrs:{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`}},{tag:`path`,attrs:{d:`m2 2 20 20`}},{tag:`path`,attrs:{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`}}],"refresh-cw":[{tag:`path`,attrs:{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}},{tag:`path`,attrs:{d:`M21 3v5h-5`}},{tag:`path`,attrs:{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}},{tag:`path`,attrs:{d:`M8 16H3v5`}}],settings:[{tag:`path`,attrs:{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.38a2 2 0 0 0-.73-2.73l-.15-.09a2 2 0 0 1-1-1.74v-.51a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`}},{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`3`}}],"folder-tree":[{tag:`path`,attrs:{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}},{tag:`path`,attrs:{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`}},{tag:`path`,attrs:{d:`M3 5a2 2 0 0 0 2 2h3`}},{tag:`path`,attrs:{d:`M3 3v13a2 2 0 0 0 2 2h3`}}],trash:[{tag:`path`,attrs:{d:`M3 6h18`}},{tag:`path`,attrs:{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}},{tag:`path`,attrs:{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}},{tag:`line`,attrs:{x1:`10`,x2:`10`,y1:`11`,y2:`17`}},{tag:`line`,attrs:{x1:`14`,x2:`14`,y1:`11`,y2:`17`}}]};function Gt(e,t){let n=Wt[e];if(!n||typeof document.createElementNS!=`function`)return null;let r=document.createElementNS(Ut,`svg`);r.setAttribute(`xmlns`,Ut),r.setAttribute(`viewBox`,`0 0 24 24`),r.setAttribute(`fill`,`none`),r.setAttribute(`stroke`,`currentColor`),r.setAttribute(`stroke-width`,`2`),r.setAttribute(`stroke-linecap`,`round`),r.setAttribute(`stroke-linejoin`,`round`),r.setAttribute(`class`,t===`destructive`?`size-4.5 shrink-0 sm:size-4`:`size-4.5 shrink-0 text-muted-foreground sm:size-4`);for(let e of n){let t=document.createElementNS(Ut,e.tag);for(let[n,r]of Object.entries(e.attrs))t.setAttribute(n,r);r.appendChild(t)}return r}function Kt(e,t,n){let r=e.getBoundingClientRect(),i=Math.min(Math.max(4,t),Math.max(4,window.innerWidth-r.width-4)),a=Math.min(Math.max(4,n),Math.max(4,window.innerHeight-r.height-4));e.style.left=`${i}px`,e.style.top=`${a}px`}function qt(e,t){if(typeof Node<`u`&&e instanceof Node)return t.some(t=>t.contains(e));if(!e||typeof e!=`object`)return!1;let n=e;for(;n&&typeof n==`object`;){if(t.includes(n))return!0;n=n.parent}return!1}var N=null;function Jt(){return N!==null}function Yt(){N?.(),N=null}function Xt(e,t){return new Promise(n=>{let r=document.activeElement instanceof HTMLElement?document.activeElement:null,i=[],a=[],o=!1,s=!1,c=()=>l(null),l=e=>{if(o)return;o=!0,N===c&&(N=null),document.removeEventListener(`keydown`,u),document.removeEventListener(`pointerdown`,d,!0),document.removeEventListener(`contextmenu`,f,!0);let t=qt(document.activeElement,i);for(let e of i)e.remove();t&&r?.isConnected&&r.focus({preventScroll:!0}),n(e)},u=e=>{e.key===`Escape`&&(e.preventDefault(),l(null))},d=e=>{s&&!qt(e.target,i)&&l(null)},f=e=>{s&&!qt(e.target,i)&&(e.preventDefault(),l(null))},p=e=>{for(;i.length>e;)a.pop()?.setAttribute(`aria-expanded`,`false`),i.pop()?.remove()},ee=(e,t,n,r,o)=>{p(r);let c=document.createElement(`div`);c.className=`dropdown-glass fixed z-[10000] min-w-56 max-w-sm overflow-hidden rounded-lg bg-clip-padding text-popover-foreground outline-none`,c.style.cssText=`position:fixed;z-index:10000;min-width:14rem;max-width:24rem;overflow:hidden;border-radius:var(--radius-lg);background-clip:padding-box;color:var(--contrast-popover-foreground);outline:none;pointer-events:auto;`,c.style.left=`${t}px`,c.style.top=`${n}px`,c.dataset.level=String(r);let u=document.createElement(`div`);u.className=`max-h-[calc(100vh-0.5rem)] min-w-0 max-w-sm overflow-y-auto overflow-x-hidden p-1`,u.style.cssText=`max-height:calc(100vh - 0.5rem);min-width:0;max-width:24rem;overflow-x:hidden;overflow-y:auto;padding:0.25rem;`;for(let t of e){if(t.separatorBefore===!0&&u.children.length>0){let e=document.createElement(`div`);e.className=`mx-2 my-1 h-px bg-border`,e.style.cssText=`height:1px;margin:0.25rem 0.5rem;background:var(--contrast-border);`,e.dataset.contextMenuSeparator=`true`,e.setAttribute(`role`,`separator`),u.appendChild(e)}if(t.header===!0){let e=document.createElement(`div`);e.className=`px-2 py-1.5 font-medium text-muted-foreground text-xs`,e.textContent=t.label,u.appendChild(e);continue}let e=Array.isArray(t.children)&&t.children.length>0,n=!e&&(t.destructive===!0||t.id===`delete`),a=document.createElement(`button`);a.type=`button`;let o=t.disabled===!0;a.disabled=o;let c=`flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1 text-left outline-none transition-colors sm:min-h-7 sm:text-sm min-h-8 text-base`;if(a.className=o?`${c} pointer-events-none cursor-not-allowed text-muted-foreground opacity-64`:n?`${c} text-destructive-foreground hover:bg-destructive/10 hover:text-destructive-foreground`:`${c} text-foreground hover:bg-accent hover:text-accent-foreground`,a.style.cssText=`display:flex;width:100%;min-height:1.75rem;align-items:center;gap:0.5rem;border:0;border-radius:var(--radius-sm);background:transparent;padding:0.25rem 0.5rem;color:var(--contrast-foreground);font-family:var(--font-sans,system-ui,sans-serif);font-size:0.875rem;line-height:1.25rem;text-align:left;cursor:default;`,n&&(a.style.color=`var(--destructive-foreground)`),o&&(a.style.color=`var(--contrast-muted-foreground)`,a.style.opacity=`0.64`,a.style.pointerEvents=`none`),typeof t.checked==`boolean`){a.setAttribute(`role`,`menuitemradio`),a.setAttribute(`aria-checked`,t.checked?`true`:`false`);let e=t.checked?Gt(`check`,`neutral`):null;if(e)a.appendChild(e);else{let e=document.createElement(`span`);e.className=`size-4.5 shrink-0 sm:size-4`,e.style.cssText=`display:inline-block;width:1rem;height:1rem;flex-shrink:0;`,e.setAttribute(`aria-hidden`,`true`),a.appendChild(e)}}else if(typeof t.icon==`string`){let e=Gt(t.icon,n?`destructive`:`neutral`);e&&a.appendChild(e)}let d=document.createElement(`span`);if(d.className=`min-w-0 flex-1 truncate`,d.textContent=t.label,a.appendChild(d),typeof t.accelerator==`string`){let e=document.createElement(`span`);e.className=`ms-6 shrink-0 text-muted-foreground text-xs tracking-widest`,e.style.cssText=`margin-inline-start:1.5rem;flex-shrink:0;color:var(--contrast-muted-foreground);font-size:0.75rem;letter-spacing:0.1em;`,e.textContent=Ht(t.accelerator),e.setAttribute(`aria-hidden`,`true`),a.setAttribute(`aria-keyshortcuts`,t.accelerator.replace(`CmdOrCtrl`,ke(navigator.platform)?`Meta`:`Control`)),a.appendChild(e)}if(e){a.setAttribute(`aria-haspopup`,`menu`),a.setAttribute(`aria-expanded`,`false`);let e=Gt(`chevron-right`,`neutral`);e&&(e.setAttribute(`class`,`-me-0.5 ms-auto size-4.5 shrink-0 text-muted-foreground opacity-80 sm:size-4`),e.setAttribute(`aria-hidden`,`true`),e.dataset.contextMenuChevron=`true`,a.appendChild(e))}if(!o){let o=!1,c=!1,u=()=>{let e=o||c;a.style.background=e?n?`color-mix(in srgb, var(--destructive) 10%, transparent)`:`var(--accent)`:`transparent`,a.style.color=e?n?`var(--destructive-foreground)`:`var(--contrast-accent-foreground)`:n?`var(--destructive-foreground)`:`var(--contrast-foreground)`};if(a.addEventListener(`mouseenter`,()=>{a.focus({preventScroll:!0}),o=!0,u()}),a.addEventListener(`mouseleave`,()=>{o=!1,u()}),a.addEventListener(`focus`,()=>{c=!0,u()}),a.addEventListener(`blur`,()=>{c=!1,u()}),e){let e=(e=!1)=>{let n=a.getBoundingClientRect(),o=n.right+4,s=n.top;ee(t.children,o,s,r+1,a),a.setAttribute(`aria-expanded`,`true`);let c=i[r+1];if(!c)return;let l=c.getBoundingClientRect();l.right>window.innerWidth&&Kt(c,n.left-l.width-4,n.top),e&&[...c.querySelectorAll(`button`)].find(e=>!e.disabled)?.focus()};a.addEventListener(`mouseenter`,()=>{e()}),a.addEventListener(`click`,t=>{t.preventDefault(),e(!0)})}else a.addEventListener(`mouseenter`,()=>{p(r+1)}),a.addEventListener(`click`,()=>{s&&l(t.id)})}u.appendChild(a)}c.appendChild(u),c.addEventListener(`mouseenter`,()=>{p(r+1)}),document.body.appendChild(c),i[r]=c,a[r]=o,requestAnimationFrame(()=>{Kt(c,t,n)})};document.addEventListener(`keydown`,u),document.addEventListener(`pointerdown`,d,!0),document.addEventListener(`contextmenu`,f,!0),ee(e,t?.x??0,t?.y??0,0),N&&N(),N=c,requestAnimationFrame(()=>{s=!0})})}var Zt=`p4code:client-settings:v1`;function Qt(){return typeof window<`u`}function $t(){return Qt()?l(Zt,Le):null}function en(e){Qt()&&je(Zt,e,Le)}var tn;function nn(){return{dialogs:{pickFolder:async e=>window.desktopBridge?window.desktopBridge.pickFolder(e):null,confirm:async(e,t)=>Lt(e,t)??!1},shell:{openExternal:async e=>{if(window.desktopBridge){if(!await window.desktopBridge.openExternal(e))throw Error(`Unable to open link.`);return}window.open(e,`_blank`,`noopener,noreferrer`)},openSystemSettings:async e=>{if(!window.desktopBridge?.openSystemSettings||!await window.desktopBridge.openSystemSettings(e))throw Error(`Unable to open System Settings.`)}},contextMenu:{show:async(e,t)=>window.desktopBridge?window.desktopBridge.showContextMenu(e,t):Xt(e,t),close:async()=>{window.desktopBridge||Yt()}},persistence:{getClientSettings:async()=>window.desktopBridge?window.desktopBridge.getClientSettings():$t(),setClientSettings:async e=>{if(window.desktopBridge)return window.desktopBridge.setClientSettings(e);en(e)}}}}function rn(){return nn()}function an(){if(typeof window<`u`)return tn||(tn=rn(),tn)}function on(){let e=an();if(!e)throw Error(`Local API not found`);return e}var P=`p4code:theme`,sn=`(prefers-color-scheme: dark)`,F={theme:`system`,resolvedTheme:`light`,systemDark:!1,followSystem:!0,appearanceMode:`system`,themeHalves:null};function cn(){return I()}function ln(){return typeof window>`u`?{}:un()}function I(){if(typeof window>`u`)return null;try{return ft(window.localStorage.getItem(T))}catch{return null}}function un(){try{let e=JSON.parse(window.localStorage.getItem(`p4code:theme-halves:v1`)??`null`);if(typeof e!=`object`||!e)return{};let t={};for(let n of[`light`,`dark`]){let r=e[n];typeof r==`string`&&(t[n]=r)}return t}catch{return{}}}function dn(e){return`${e?.light??``}|${e?.dark??``}`}var fn=`theme-color`,pn=`meta[name="${fn}"][data-dynamic-theme-color="true"]`,L=class extends f()(`ThemeStorageError`,{operation:oe([`read`,`write`]),storageKey:ge,theme:we(yt),cause:le()}){get message(){return`Failed to ${this.operation} theme preference for ${this.storageKey}.`}},mn=Ne(L),hn=class extends f()(`DesktopThemeSyncError`,{theme:yt,cause:le()}){get message(){return`Failed to sync the ${this.theme} theme to the desktop shell.`}},gn=Ne(hn),R=[],z=null,_n=!0,B=null,V=null,H=null;function U(){_n=!0;for(let e of R)e()}function vn(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(sn).matches}function yn(e){if(typeof window>`u`)return e===`system`;try{let e=window.localStorage.getItem(bt);if(e===`true`)return!0;if(e===`false`)return!1}catch{}return e===`system`}function bn(e){return e===`light`||e===`dark`||e===`system`}function W(e){if(typeof window<`u`)try{let e=window.localStorage.getItem(vt);if(bn(e))return e}catch{}return yn(e)?`system`:xt(e)??`light`}function xn(e){if(typeof window<`u`)try{window.localStorage.setItem(vt,e)}catch(e){throw new L({operation:`write`,storageKey:vt,cause:e})}}function Sn(){if(typeof window>`u`)return F.theme;let e;try{e=window.localStorage.getItem(P)}catch(e){throw new L({operation:`read`,storageKey:P,cause:e})}return e!==null&&lt(e)?e:F.theme}function Cn(e){if(typeof window<`u`)try{window.localStorage.setItem(P,e),H=null}catch(t){throw new L({operation:`write`,storageKey:P,theme:e,cause:t})}}function G(){if(H!==null)return F.theme;try{return Sn()}catch(e){let t=mn(e)?e:new L({operation:`read`,storageKey:P,cause:e});return H=t,console.error(t.message,{operation:t.operation,storageKey:t.storageKey,...b(t)}),F.theme}}function wn(){let e=document.querySelector(pn);return e||(e=document.createElement(`meta`),e.name=fn,e.setAttribute(`data-dynamic-theme-color`,`true`),document.head.append(e),e)}function Tn(e){let t=e?.trim().toLowerCase();return!t||t===`transparent`||t===`rgba(0, 0, 0, 0)`||t===`rgba(0 0 0 / 0)`?null:e?.trim()??null}function En(){return document.querySelector(`main[data-slot='sidebar-inset']`)??document.querySelector(`[data-slot='sidebar-inner']`)??document.body}function Dn(){if(typeof document>`u`||typeof getComputedStyle>`u`)return;let e=getComputedStyle(document.documentElement),t=document.documentElement.dataset.themeId?Tn(e.getPropertyValue(`--app-chrome-background`)):null,n=Tn(getComputedStyle(En()).backgroundColor),r=Tn(getComputedStyle(document.body).backgroundColor),i=t??n??r;if(!i)return;document.documentElement.style.backgroundColor=i,document.body.style.backgroundColor=i;let a=document.querySelectorAll(`meta[name="${fn}"]`);if(a.length===0){wn().setAttribute(`content`,i);return}for(let e of a)e.setAttribute(`content`,i)}function K(e,{suppressTransitions:t=!1,preservePreview:n=!0}={}){if(typeof document>`u`||typeof window>`u`||n&&document.documentElement.dataset?.themeId===`__preview`)return;let r=W(e),i=r===`system`,a=i?vn():!1,o=I();if(V?.theme===e&&V.systemDark===a&&V.followSystem===i&&V.appearanceMode===r&&dn(V.themeHalves)===dn(o)){kn(e,i,r);return}t&&document.documentElement.classList.add(`no-transitions`);let s=dt(e,a,i,r,o);_t(pt(e,o,s),s),document.documentElement.classList.toggle(`dark`,s===`dark`),V={theme:e,systemDark:a,followSystem:i,appearanceMode:r,themeHalves:o},Dn(),kn(e,i,r),t&&(document.documentElement.offsetHeight,requestAnimationFrame(()=>{document.documentElement.classList.remove(`no-transitions`)}))}async function On(e,t,n,r,i=I()){try{await e.setTheme(ut(t,n,r,i))}catch(e){throw new hn({theme:t,cause:e})}}function kn(e,t,n){if(typeof window>`u`)return;let r=window.desktopBridge,i=I(),a=ut(e,t,n,i);r&&typeof r.setTheme==`function`&&B!==a&&(B=a,On(r,e,t,n,i).catch(t=>{let n=gn(t)?t:new hn({theme:e,cause:t});console.error(n.message,{theme:n.theme,...b(n)}),B===a&&(B=null)}))}typeof document<`u`&&typeof window<`u`&&K(G());function An(){if(typeof window>`u`)return F;if(!_n&&z)return z;_n=!1;let e=G(),t=W(e),n=t===`system`,r=n?vn():!1,i=I(),a=dt(e,r,n,t,i);return z&&z.theme===e&&z.resolvedTheme===a&&z.systemDark===r&&z.followSystem===n&&z.appearanceMode===t&&dn(z.themeHalves)===dn(i)||(z={theme:e,resolvedTheme:a,systemDark:r,followSystem:n,appearanceMode:t,themeHalves:i}),z}function jn(){return F}function Mn(){let e=G();W(e)===`system`&&K(e,{suppressTransitions:!0}),U()}function Nn(e){e.key===P?(H=null,K(G(),{suppressTransitions:!0}),U()):e.key===`p4code:theme-follow-system`||e.key===`p4code:theme-appearance-mode`||e.key===`p4code:theme-halves:v1`?(K(G(),{suppressTransitions:!0}),U()):(e.key===`p4code:themes:v1`||e.key===null)&&(e.key===null&&(H=null),mt(),V=null,K(G(),{suppressTransitions:!0}),U())}var Pn=null;function Fn(e){if(typeof window>`u`)return()=>{};if(R.push(e),!Pn){let e=typeof window.matchMedia==`function`?window.matchMedia(sn):null;e?.addEventListener(`change`,Mn),window.addEventListener(`storage`,Nn),Pn=()=>{e?.removeEventListener(`change`,Mn),window.removeEventListener(`storage`,Nn)}}return()=>{R=R.filter(t=>t!==e),R.length===0&&(Pn?.(),Pn=null)}}function In(){let e=(0,E.useSyncExternalStore)(Fn,An,jn),{theme:t,resolvedTheme:n}=e,r=(0,E.useCallback)(e=>{if(typeof window>`u`)return!1;try{xn(W(G()));let t=window.localStorage.getItem(T);window.localStorage.removeItem(T);try{Cn(e)}catch(e){if(t!==null)try{window.localStorage.setItem(T,t)}catch{}throw e}}catch(t){let n=mn(t)?t:new L({operation:`write`,storageKey:P,theme:e,cause:t});return console.error(n.message,{operation:n.operation,storageKey:n.storageKey,theme:e,...b(n)}),!1}return K(e,{suppressTransitions:!0}),U(),!0},[]),i=(0,E.useCallback)(e=>{if(typeof window>`u`)return!1;try{xn(e)}catch(e){let t=mn(e)?e:new L({operation:`write`,storageKey:vt,cause:e});return console.error(t.message,{operation:t.operation,storageKey:t.storageKey,...b(t)}),!1}return H=null,K(G(),{suppressTransitions:!0}),U(),!0},[]),a=(0,E.useCallback)(e=>{let n=W(t),r=e?`system`:n===`system`?xt(t)??`light`:n;return i(r)},[i,t]),o=(0,E.useCallback)((e,t)=>{if(typeof window>`u`)return!1;try{let n={...un()};t===null?delete n[e]:n[e]=t,n.light===void 0&&n.dark===void 0?window.localStorage.removeItem(T):window.localStorage.setItem(T,JSON.stringify(n))}catch(e){let t=new L({operation:`write`,storageKey:T,cause:e});return console.error(t.message,{operation:t.operation,storageKey:t.storageKey,...b(t)}),!1}return K(G(),{suppressTransitions:!0}),U(),!0},[]),s=(0,E.useCallback)(()=>{if(typeof window>`u`)return!1;try{window.localStorage.removeItem(T)}catch(e){let t=new L({operation:`write`,storageKey:T,cause:e});return console.error(t.message,{operation:t.operation,storageKey:t.storageKey,...b(t)}),!1}return K(G(),{suppressTransitions:!0}),U(),!0},[]),c=(0,E.useCallback)(({preservePreview:e=!1}={})=>{typeof window<`u`&&(V=null,K(G(),{suppressTransitions:!0,preservePreview:e}),U())},[]);return(0,E.useEffect)(()=>{K(t)},[e.appearanceMode,t]),{theme:t,setTheme:r,setAppearanceMode:i,setFollowSystem:a,setThemeHalf:o,clearThemeHalves:s,refreshTheme:c,followSystem:e.followSystem,appearanceMode:e.appearanceMode,resolvedTheme:n,themeHalves:e.themeHalves}}var Ln=fe(Se(_e)),Rn=a(e=>{let t=e.replace(/("(?:[^"\\]|\\.)*")|\/\/[^\n]*/g,(e,t)=>t?e:``);return t=t.replace(/("(?:[^"\\]|\\.)*")|\/\*[\s\S]*?\*\//g,(e,t)=>t?e:``),t=t.replace(/("(?:[^"\\]|\\.)*")|,(\s*[}\]])/g,(e,t,n)=>t?e:n??``),Ln(t).pipe(Ie(e=>e.issue))}),zn=new ue(Rn,We());ie().pipe(ne(We({space:2})));var Bn=e=>ge.pipe(Fe(e,zn)),Vn={performance:{profile:`performance`,automaticGitFetchInterval:v(15),providerHealthRefreshInterval:g(1),hostPowerMonitorActiveInterval:v(30),hostPowerMonitorIdleInterval:g(2),idleClientTtl:v(45),pauseWhenHostLocked:!0,pauseWhenHostLowPower:!1,pauseWhenClientLowPower:!1,pauseWhenOnBattery:!1},balanced:{profile:`balanced`,automaticGitFetchInterval:Pe,providerHealthRefreshInterval:Ee,hostPowerMonitorActiveInterval:v(30),hostPowerMonitorIdleInterval:g(5),idleClientTtl:v(45),pauseWhenHostLocked:!0,pauseWhenHostLowPower:!0,pauseWhenClientLowPower:!0,pauseWhenOnBattery:!1},"battery-saver":{profile:`battery-saver`,automaticGitFetchInterval:v(0),providerHealthRefreshInterval:g(15),hostPowerMonitorActiveInterval:g(1),hostPowerMonitorIdleInterval:g(10),idleClientTtl:v(45),pauseWhenHostLocked:!0,pauseWhenHostLowPower:!0,pauseWhenClientLowPower:!0,pauseWhenOnBattery:!0}};function q(e){return Vn[e]}function Hn(e){return e.profile===`custom`?e.baseProfile??`balanced`:e.profile}function Un(e){let t=Hn(e),n=Vn[t],r=e.profile===`custom`?e.overrides:{};return{profile:t,automaticGitFetchInterval:r.automaticGitFetchInterval??n.automaticGitFetchInterval,providerHealthRefreshInterval:r.providerHealthRefreshInterval??n.providerHealthRefreshInterval,hostPowerMonitorActiveInterval:r.hostPowerMonitorActiveInterval??n.hostPowerMonitorActiveInterval,hostPowerMonitorIdleInterval:r.hostPowerMonitorIdleInterval??n.hostPowerMonitorIdleInterval,idleClientTtl:r.idleClientTtl??n.idleClientTtl,pauseWhenHostLocked:r.pauseWhenHostLocked??n.pauseWhenHostLocked,pauseWhenHostLowPower:r.pauseWhenHostLowPower??n.pauseWhenHostLowPower,pauseWhenClientLowPower:r.pauseWhenClientLowPower??n.pauseWhenClientLowPower,pauseWhenOnBattery:r.pauseWhenOnBattery??n.pauseWhenOnBattery}}function J(e,t){return _(e)===_(t)}function Wn(e,t){return J(e.automaticGitFetchInterval,t.automaticGitFetchInterval)&&J(e.providerHealthRefreshInterval,t.providerHealthRefreshInterval)&&J(e.hostPowerMonitorActiveInterval,t.hostPowerMonitorActiveInterval)&&J(e.hostPowerMonitorIdleInterval,t.hostPowerMonitorIdleInterval)&&J(e.idleClientTtl,t.idleClientTtl)&&e.pauseWhenHostLocked===t.pauseWhenHostLocked&&e.pauseWhenHostLowPower===t.pauseWhenHostLowPower&&e.pauseWhenClientLowPower===t.pauseWhenClientLowPower&&e.pauseWhenOnBattery===t.pauseWhenOnBattery}function Gn(e){if(e.profile!==`custom`)return{schemaVersion:1,profile:e.profile,overrides:{}};let t=Un(e),n=[Hn(e),`balanced`,`performance`,`battery-saver`];for(let e of n)if(Wn(t,Vn[e]))return{schemaVersion:1,profile:e,overrides:{}};let r=Hn(e),i=Vn[r];return{schemaVersion:1,profile:`custom`,baseProfile:r,overrides:{...J(t.automaticGitFetchInterval,i.automaticGitFetchInterval)?{}:{automaticGitFetchInterval:t.automaticGitFetchInterval},...J(t.providerHealthRefreshInterval,i.providerHealthRefreshInterval)?{}:{providerHealthRefreshInterval:t.providerHealthRefreshInterval},...J(t.hostPowerMonitorActiveInterval,i.hostPowerMonitorActiveInterval)?{}:{hostPowerMonitorActiveInterval:t.hostPowerMonitorActiveInterval},...J(t.hostPowerMonitorIdleInterval,i.hostPowerMonitorIdleInterval)?{}:{hostPowerMonitorIdleInterval:t.hostPowerMonitorIdleInterval},...J(t.idleClientTtl,i.idleClientTtl)?{}:{idleClientTtl:t.idleClientTtl},...t.pauseWhenHostLocked===i.pauseWhenHostLocked?{}:{pauseWhenHostLocked:t.pauseWhenHostLocked},...t.pauseWhenHostLowPower===i.pauseWhenHostLowPower?{}:{pauseWhenHostLowPower:t.pauseWhenHostLowPower},...t.pauseWhenClientLowPower===i.pauseWhenClientLowPower?{}:{pauseWhenClientLowPower:t.pauseWhenClientLowPower},...t.pauseWhenOnBattery===i.pauseWhenOnBattery?{}:{pauseWhenOnBattery:t.pauseWhenOnBattery}}}}function Kn(e){let t={schemaVersion:1,profile:Ve,overrides:{}},n=e.backgroundActivity.profile===t.profile&&e.backgroundActivity.baseProfile===void 0&&Object.keys(e.backgroundActivity.overrides).length===0,r=e.backgroundActivityProfile,i=r!==`balanced`||_(e.automaticGitFetchInterval)!==_(Pe)||_(e.providerHealthRefreshInterval)!==_(Ee);return Un(n&&i?{schemaVersion:1,profile:_(e.automaticGitFetchInterval)===_(q(r).automaticGitFetchInterval)&&_(e.providerHealthRefreshInterval)===_(q(r).providerHealthRefreshInterval)?r:`custom`,baseProfile:r,overrides:{..._(e.automaticGitFetchInterval)===_(q(r).automaticGitFetchInterval)?{}:{automaticGitFetchInterval:e.automaticGitFetchInterval},..._(e.providerHealthRefreshInterval)===_(q(r).providerHealthRefreshInterval)?{}:{providerHealthRefreshInterval:e.providerHealthRefreshInterval}}}:e.backgroundActivity)}function qn(e){let t=Kn(e);return Gn({schemaVersion:1,profile:`custom`,baseProfile:t.profile,overrides:{automaticGitFetchInterval:t.automaticGitFetchInterval,providerHealthRefreshInterval:t.providerHealthRefreshInterval,hostPowerMonitorActiveInterval:t.hostPowerMonitorActiveInterval,hostPowerMonitorIdleInterval:t.hostPowerMonitorIdleInterval,idleClientTtl:t.idleClientTtl,pauseWhenHostLocked:t.pauseWhenHostLocked,pauseWhenHostLowPower:t.pauseWhenHostLowPower,pauseWhenClientLowPower:t.pauseWhenClientLowPower,pauseWhenOnBattery:t.pauseWhenOnBattery}})}var Jn=Bn(ye);Oe(Jn);function Yn(e,t){let n=e.providerInstances[t.instanceId];return n===void 0?he(t.instanceId):r(n)}var Xn=[`codex`,`claudeAgent`,`cursor`,`grok`,`muse`,`pi`,`opencode`,`antigravity`].map(e=>ze.make(e));function Zn(e,t,n){let r=[...Xn.map(e=>[Me(e),e]),...n?.includeConfiguredInstances===!0?Object.entries(e).flatMap(([e,t])=>Xn.includes(t.driver)?[[xe.make(e),t.driver]]:[]):[]].find(([e,n])=>t(e,n));if(r===void 0)return null;let[i,a]=r,s=n?.defaultModelSelection,c=e[i]?.config;return s?.instanceId===i&&ee(c?.customModels).some(e=>e.slug===s.model)?s:{instanceId:i,model:o[a]??pe[a]??`gpt-6-luna`}}function Qn(e,t,n){let r=e.sourceControlWriterModelSelection;if(!r||!Ae(e,n,r.instanceId))return e.textGenerationModelSelection;if(t===void 0)return r;let i=t.find(e=>e.instanceId===r.instanceId);return i?.enabled===!0&&He(i)&&be(i)?r:e.textGenerationModelSelection}function $n(e,t,n){let r=e.reviewGuideModelSelection;if(r&&Ae(e,n,r.instanceId)){let e=t?.find(e=>e.instanceId===r.instanceId);if(t===void 0||e?.enabled===!0&&He(e)&&be(e))return r}return Qn(e,t,n)}function er(e,t={}){return{favorites:e.favorites??t.favorites??[],providerModelPreferences:e.providerModelPreferences??t.providerModelPreferences??{}}}function tr(e,t){let n=e.favorites===null&&(t.favorites?.length??0)>0?t.favorites:void 0,r=e.providerModelPreferences===null&&Object.keys(t.providerModelPreferences??{}).length>0?t.providerModelPreferences:void 0;return n===void 0&&r===void 0?null:{migrateModelPreferences:{...n===void 0?{}:{favorites:n},...r===void 0?{}:{providerModelPreferences:r}}}}var nr=new Set([`continueThreadsAfterServerUpdate`,`sidebarAutoSettleAfterDays`,`sidebarAutoSettleOnMerge`,`autoResumeLimitedThreads`,`snoozeLimitedThreads`,`newWorktreesStartFromOrigin`,`sourceControlWritingStyle`,`textGenerationModelSelection`]);function rr(e){let t={},n={};for(let[r,i]of Object.entries(e))nr.has(r)?t[r]=i:n[r]=i;return{sharedPatch:t,localPatch:n}}function ir(e,t,n,r=n,i=!1){let a=e.textGenerationModelSelection?.instanceId??r?.textGenerationModelSelection.instanceId;return!i&&e.textGenerationModelSelection&&(!n||a!==void 0&&(r?.providerInstances[a]?.driver??a)!==(n.providerInstances[a]?.driver??a)||!Yn(n,{...n.textGenerationModelSelection,...e.textGenerationModelSelection}))&&(e=c(e,[`textGenerationModelSelection`])),t?.threadRestartContinuation===!0?e:c(e,[`continueThreadsAfterServerUpdate`])}function ar(e){return e.connection.phase===`connected`&&e.serverConfig?.environment.capabilities.threadAutoSettlement===!0}function or(e){let t=e.atom(de(Ke.pipe(De(e=>Ue(e.state)))),{initialValue:Xe});return{stateAtom:t,stateValueAtom:y(e=>re(d(e(t)),()=>Xe)).pipe(h(`relay-environment-discovery-value`)),refresh:qe(e,{label:`relay-environment-discovery:refresh`,concurrency:{mode:`singleFlight`,key:()=>`refresh`},execute:e=>Ke.pipe(ae(e=>e.refresh))})}}var sr=or(tt);function cr(e,t){return{...t,environmentId:e,label:t.entry.target.label,displayUrl:$e(t.entry),relayManaged:Ge(t.entry)}}function lr(){let e=(0,D.c)(7),t=n(C.catalogValueAtom),r=n(C.networkStatusValueAtom),i=n(Dt.presentationsAtom),a;e[0]===i?a=e[1]:(a=[...i.entries()].map(ur),e[0]=i,e[1]=a);let o=a,s;return e[2]!==t.isReady||e[3]!==o||e[4]!==r||e[5]!==i?(s={isReady:t.isReady,networkStatus:r,environments:o,presentationById:i},e[2]=t.isReady,e[3]=o,e[4]=r,e[5]=i,e[6]=s):s=e[6],s}function ur(e){let[t,n]=e;return cr(t,n)}function dr(){return n(nt)}function fr(e){let t=(0,D.c)(3),{presentation:n}=At(e),r;return t[0]!==e||t[1]!==n?(r=e===null||n===null?null:cr(e,n),t[0]=e,t[1]=n,t[2]=r):r=t[2],r}function pr(){return fr(dr())}function mr(e){let t=(0,D.c)(2),n=ot(e),r;return t[0]===n?r=t[1]:(r=p(n)?n.value.httpBaseUrl:null,t[0]=n,t[1]=r),r}function hr(){return n(sr.stateValueAtom)}function gr(){return n(Ot.environmentIdsAtom)}function _r(){return n(Ot.identitiesAtom)}function vr(){return n(Ot.pullRequestsSupportedAtom)}var yr=`[CLIENT_SETTINGS]`,br=new Set,xr=new Set,Sr=Re,Y=`pending`,X=null,Cr=0,wr=Promise.resolve(),Tr=0;function Er(){for(let e of br)e()}function Dr(){for(let e of xr)e()}function Z(){return Sr}function Or(e){Sr=e,Er()}function kr(e){Y!==e&&(Y=e,Dr())}function Ar(e){return br.add(e),Q().catch(()=>void 0),()=>{br.delete(e)}}function jr(){return Y===`ready`}function Mr(){return Y}function Nr(e){return xr.add(e),Q().catch(()=>void 0),()=>{xr.delete(e)}}async function Q(){if(Y===`ready`)return;if(X)return X;let e=Cr;kr(Y===`failed`||Y===`retrying`?`retrying`:`pending`);let t=(async()=>{try{let t=await on().persistence.getClientSettings();if(e!==Cr)return;t&&Or({...Re,...t}),kr(`ready`)}catch(t){throw e===Cr&&kr(`failed`),console.error(`${yr} hydrate failed`,{operation:`hydrate`,...b(t)}),t}})().finally(()=>{X===t&&(X=null)});return X=t,X}var Pr=e=>on().persistence.setClientSettings(e);function Fr(e){let t=wr.then(e);return wr=t.then(()=>void 0,()=>void 0),t}function Ir(e,t=Pr){let n=Y!==`ready`||Tr>0;return n?Tr+=1:Or({...Z(),...e}),Fr(async()=>{if(n)try{Y!==`ready`&&await Q(),Or({...Z(),...e})}finally{--Tr}await t(Z())}).catch(e=>{console.error(`${yr} persist failed`,{operation:`persist`,...b(e)})})}async function Lr(e,t=Pr){return Fr(async()=>{for(Y!==`ready`&&await Q();;){let n=Z(),r=e(n);if(await t(r),Z()===n)return Or(r),r}})}var Rr=new Set(u(ye.fields));function zr(e){let t={},n={};for(let[r,i]of Object.entries(e))Rr.has(r)?t[r]=i:n[r]=i;return{serverPatch:t,clientPatch:n}}function Br(){return Z()}function Vr(){return Q()}function Hr(){return(0,E.useSyncExternalStore)(Nr,jr,Ur)}function Ur(){return!1}function Wr(){return(0,E.useSyncExternalStore)(Nr,Mr,Gr)}function Gr(){return`pending`}function $(){return(0,E.useSyncExternalStore)(Ar,Z,Kr)}function Kr(){return Re}function qr(e,t){return{...t,...e,...er(e,t)}}var Jr=new Set;function Yr(e,t){let n=(0,D.c)(8),r=$(),i=Hr(),a;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={reportFailure:!1},n[0]=a):a=n[0];let o=w(S.updateSettings,a),s,c;n[1]!==r||n[2]!==e||n[3]!==i||n[4]!==o||n[5]!==t?(s=()=>{if(!e||!t||!i||Jr.has(e))return;let n=tr(t,r);n&&(Jr.add(e),o({environmentId:e,input:{patch:n}}).finally(()=>Jr.delete(e)))},c=[r,e,i,o,t],n[1]=r,n[2]=e,n[3]=i,n[4]=o,n[5]=t,n[6]=s,n[7]=c):(s=n[6],c=n[7]),(0,E.useEffect)(s,c)}function Xr(e,t){let n=(0,D.c)(6),r=$(),i;n[0]!==r||n[1]!==e?(i=qr(e,r),n[0]=r,n[1]=e,n[2]=i):i=n[2];let a=i,o;return n[3]!==a||n[4]!==t?(o=t?t(a):a,n[3]=a,n[4]=t,n[5]=o):o=n[5],o}function Zr(e){let t=(0,D.c)(3),n=$(),r;return t[0]!==e||t[1]!==n?(r=e?e(n):n,t[0]=e,t[1]=n,t[2]=r):r=t[2],r}function Qr(e){return e.settingsHydrated?e.paletteThemeActive&&!e.paletteThemeAllowsArtwork&&e.mode===`artwork`?`pill`:e.mode:`none`}function $r(){let e=(0,D.c)(7),t=Hr(),n=$().environmentIdentificationMode,{resolvedTheme:r,theme:i,themeHalves:a}=In(),o=(0,E.useSyncExternalStore)(St,gt,ei),s;if(e[0]!==n||e[1]!==o||e[2]!==r||e[3]!==t||e[4]!==i||e[5]!==a){let c=pt(i,a,r),l=ht(c);s=Qr({mode:n,settingsHydrated:t,paletteThemeActive:o!==null||l!==null,paletteThemeAllowsArtwork:o??ct(c)}),e[0]=n,e[1]=o,e[2]=r,e[3]=t,e[4]=i,e[5]=a,e[6]=s}else s=e[6];return s}function ei(){return null}async function ti(e,t){return(e.favorites===null||e.providerModelPreferences===null)&&await Vr(),{...tr(e,Br()),...t}}function ni(e){let t=(0,D.c)(6),r;t[0]===e?r=t[1]:(r=e?S.settingsValueAtom(e):ii,t[0]=e,t[1]=r);let i=n(r),a=w(S.updateSettings,`model preferences update`),o;return t[2]!==e||t[3]!==a||t[4]!==i?(o=async t=>{if(!e||!i)return;let n;try{n=await ti(i,t)}catch{x.add({type:`error`,title:`Model preferences not saved`,description:`Could not load saved model preferences. Try again.`});return}return a({environmentId:e,input:{patch:n}})},t[2]=e,t[3]=a,t[4]=i,t[5]=o):o=t[5],o}function ri(e){let t=(0,E.use)(Ce),n=(0,E.useRef)(new Map),r=ni(e);return(0,E.useCallback)(async(i,a)=>{if(!e)return;let o=S.settingsValueAtom(e),c=t.get(o);if(!c)return;if(c.favorites===null)try{await Vr()}catch{x.add({type:`error`,title:`Favorites not saved`,description:`Could not load saved model preferences. Try again.`});return}let l=t.get(o)??c,u=er(l,Br()).favorites,d=JSON.stringify([e,i,a]),f=n.current.get(d),p={favorite:!(f&&(f.pending||f.settings.favorites===l.favorites)?f.favorite:u.some(e=>e.provider===i&&e.model===a)),settings:l,pending:!0};n.current.set(d,p);try{let e=await r({setModelFavorites:[{provider:i,model:a,favorite:p.favorite}]});e&&s(e)&&t.get(o)?.favorites===l.favorites&&(p.pending=!1)}finally{p.pending&&n.current.get(d)===p&&(f&&!f.pending&&t.get(o)?.favorites===f.settings.favorites?n.current.set(d,f):n.current.delete(d))}},[e,t,r])}var ii=y(null);function ai(e){let t=(0,D.c)(5),r;t[0]===e?r=t[1]:(r=e?S.settingsValueAtom(e):ii,t[0]=e,t[1]=r);let i=n(r),a=$();Yr(e,i);let o=i??Te,s;return t[2]!==a||t[3]!==o?(s=er(o,a),t[2]=a,t[3]=o,t[4]=s):s=t[4],s}function oi(e,t){let r=(0,D.c)(2),i;r[0]===e?i=r[1]:(i=S.settingsValueAtom(e),r[0]=e,r[1]=i);let a=n(i);return Yr(e,a),Xr(a??Te,t)}function si(e){let t=(0,D.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={reportFailure:!1},t[0]=n):n=t[0];let r=w(S.mutateProviderInstance,n),i;return t[1]!==e||t[2]!==r?(i=(t,n)=>r({environmentId:e,input:{patch:n===void 0?{}:n,providerInstanceMutation:t}}),t[1]=e,t[2]=r,t[3]=i):i=t[3],i}function ci(e){let t=pr(),r=n(rt);return Yr(t?.environmentId??null,t?.serverConfig?.settings??null),Xr(r,e)}var li=`This setting is saved on a server, and the hosted app is not anchored to one. Change it from the desktop app or from the server's own address.`;function ui(){let e=(0,D.c)(2),t=pr(),n;return e[0]===t?n=e[1]:(n=t!==null||!et(),e[0]=t,e[1]=n),n}function di(e){let t=(0,D.c)(3),r=e!==void 0&&e,{environments:i}=lr(),a;return t[0]!==i||t[1]!==r?(a=y(e=>i.filter(ar).flatMap(t=>{let n=e(st.sessionStateAtom(t.environmentId));if(r&&n._tag===`Initial`)return[t.environmentId];let i=n._tag===`Failure`?null:m(d(n));return i!==null&&te(i,`settings:write`)?[t.environmentId]:[]})),t[0]=i,t[1]=r,t[2]=a):a=t[2],n(a)}function fi(e){let t=(0,D.c)(10);it(e,se);let n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={label:`server settings update`,reportFailure:!1},t[0]=n):n=t[0];let r=w(S.updateSettings,n),{environments:i}=lr(),a;t[1]!==i||t[2]!==r?(a=async e=>{let t=await r(e);if(t._tag===`Failure`&&!Je(t)){let n=i.find(t=>t.environmentId===e.environmentId)?.label??e.environmentId,r=Ze(t);x.add({type:`error`,title:`Setting not saved`,description:`Could not save on ${n}: ${r instanceof Error?r.message:`The save failed. Try reconnecting and saving again.`}`})}return t},t[1]=i,t[2]=r,t[3]=a):a=t[3];let o=a,s=di(!0),c;return t[4]!==e||t[5]!==i||t[6]!==r||t[7]!==o||t[8]!==s?(c=t=>{let{serverPatch:n,clientPatch:a}=zr(t),c=e===null||ce(n).every(t=>at(e,t));if(Object.keys(n).length>0&&!c&&x.add({type:`warning`,title:`Setting not saved`,description:`This connection lacks permission to change settings on ${i.find(t=>t.environmentId===e)?.label??`the selected environment`}.`}),Object.keys(n).length>0&&c){let{sharedPatch:t,localPatch:a}=rr(n),c=_i;if(Object.keys(a).length>0&&(e?o({environmentId:e,input:{patch:a}}):c()),Object.keys(t).length>0){let n=i.find(t=>t.environmentId===e)?.serverConfig?.settings,a=new Set(s);e&&a.add(e);let o=[],l=[];for(let r of a){let a=i.find(e=>e.environmentId===r),s=ir(t,a?.serverConfig?.environment.capabilities,a?.serverConfig?.settings,n,r===e);if(Object.keys(s).length!==0){if(ve.get(st.sessionStateAtom(r))._tag!==`Initial`&&!ce(t).every(e=>at(r,e))){l.push(a?.label??r);continue}o.push({environmentId:r,input:{patch:s}})}}o.length===0?c(l.length>0?`This connection lacks permission to change settings on ${l.join(`, `)}.`:a.size>0?`Update older servers to save this setting.`:void 0):Promise.all(o.map(async e=>({label:i.find(t=>t.environmentId===e.environmentId)?.label??e.environmentId,result:await r(e)}))).then(pi)}}Object.keys(a).length>0&&Ir(a)},t[4]=e,t[5]=i,t[6]=r,t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function pi(e){let t=e.flatMap(gi);if(t.length===0)return;let n=e.filter(hi).map(mi);x.add({type:`error`,title:n.length>0?`Setting saved on some environments`:`Setting not saved`,description:[...t,...n.length>0?[`Saved on ${n.join(`, `)}.`]:[]].join(`
2
- `)})}function mi(e){let{label:t}=e;return t}function hi(e){let{result:t}=e;return t._tag===`Success`}function gi(e){let{label:t,result:n}=e;if(n._tag!==`Failure`||Je(n))return[];let r=Ze(n);return[`Could not save on ${t}: ${r instanceof Error?r.message:`The save failed. Try reconnecting and saving again.`}`]}function _i(e){let t=e===void 0?li:e;return x.add({type:`warning`,title:`Setting not saved`,description:t})}function vi(e){return fi(e)}function yi(){return fi(pr()?.environmentId??null)}function bi(){return xi}function xi(e){return Ir(e)}export{It as $,hr as A,Bn as B,mr as C,pr as D,lr as E,Hn as F,Dn as G,cn as H,q as I,an as J,In as K,Gn as L,Zn as M,$n as N,dr as O,Qn as P,Pt as Q,qn as R,fr as S,gr as T,ln as U,W as V,Sn as W,Bt as X,Jt as Y,Rt as Z,ri as _,Ir as a,vi as b,Hr as c,ai as d,Lt as et,oi as f,ui as g,ci as h,qr as i,At as it,sr as j,vr as k,Wr as l,si as m,Vr as n,Ft as nt,Lr as o,Yr as p,on as q,Br as r,Dt as rt,Zr as s,li as t,zt as tt,$r as u,bi as v,_r as w,yi as x,ni as y,Kn as z};
3
- //# sourceMappingURL=useSettings-BEKkRzL1.js.map