@p4code/cli 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/dist/bin.mjs +1 -1
  2. package/dist/{binCli-k72_SR2Z.mjs → binCli-B8_9WRM7.mjs} +10 -3
  3. package/dist/client/.vite/manifest.json +1120 -1120
  4. package/dist/client/assets/{2NI2N5EU-DPAxyySd.js → 2NI2N5EU-Cc9Gs6p1.js} +2 -2
  5. package/dist/client/assets/{4UO7MD6I-C0aflwpw.js → 4UO7MD6I--tXEX5R9.js} +2 -2
  6. package/dist/client/assets/{5B3SVYGG-hhn6T1ru.js → 5B3SVYGG-CPRAqyzZ.js} +2 -2
  7. package/dist/client/assets/{5GK6JWQ2-BQ0OdoZ6.js → 5GK6JWQ2-OC2-LRPx.js} +2 -2
  8. package/dist/client/assets/{5N7A7DKN-BR8rdHwZ.js → 5N7A7DKN-BUa1-OZ6.js} +2 -2
  9. package/dist/client/assets/{5OC2THR4-DVDBlcjJ.js → 5OC2THR4-DKcwc3u1.js} +2 -2
  10. package/dist/client/assets/{5S6HY5KT-CjtOXys8.js → 5S6HY5KT-Dqth6iG8.js} +2 -2
  11. package/dist/client/assets/{6IMQ5BUJ-Bpy1Geo9.js → 6IMQ5BUJ-DmEcg0r1.js} +2 -2
  12. package/dist/client/assets/{6OLKWJ4F-D2naWV4i.js → 6OLKWJ4F-W-G6qP3r.js} +2 -2
  13. package/dist/client/assets/{74OO7NKP-CceNos-7.js → 74OO7NKP-u02yiNi7.js} +2 -2
  14. package/dist/client/assets/{75O6YZUN-CnXm_L8w.js → 75O6YZUN-xx4y2KbP.js} +2 -2
  15. package/dist/client/assets/{77XECAW3-ECBcD47O.js → 77XECAW3-SIARa2Fi.js} +2 -2
  16. package/dist/client/assets/{ABYRPUBD-B4F4wZam.js → ABYRPUBD-B_0r9NT4.js} +2 -2
  17. package/dist/client/assets/{AuthSurfaceShell-DR9yRrzS.js → AuthSurfaceShell-DPlJfFlL.js} +2 -2
  18. package/dist/client/assets/{BB2UYUI2-Cae7rC8c.js → BB2UYUI2-CujjjZN9.js} +2 -2
  19. package/dist/client/assets/{BUM34MOA-DBDboDOb.js → BUM34MOA-NuuTH6rj.js} +2 -2
  20. package/dist/client/assets/{CEQABKGZ-C6UutqUy.js → CEQABKGZ-DDaGayTm.js} +2 -2
  21. package/dist/client/assets/{CXAC5362-BnZlf1Fg.js → CXAC5362-CB6ETtV8.js} +2 -2
  22. package/dist/client/assets/{ChatGptUsageButton-3K5PpaVk.js → ChatGptUsageButton-DqJ-vZMe.js} +2 -2
  23. package/dist/client/assets/{ChatMarkdown-EK5C8Dje.js → ChatMarkdown-C94Vrzqf.js} +5 -5
  24. package/dist/client/assets/{CodexSetupSection.logic-BepCZ25p.js → CodexSetupSection.logic-DOe05Yxb.js} +2 -2
  25. package/dist/client/assets/{CommandBlock-C967hvdK.js → CommandBlock-BUY_4yYG.js} +2 -2
  26. package/dist/client/assets/{ComposerPromptEditor-kPs79YCA.js → ComposerPromptEditor-BXlsIVOQ.js} +4 -4
  27. package/dist/client/assets/{ConnectionDiagnosisDetails-B5VXf5lv.js → ConnectionDiagnosisDetails-DoemNrMF.js} +2 -2
  28. package/dist/client/assets/{DRLTVNUE-Du8kYl_L.js → DRLTVNUE-D0oW6kzx.js} +2 -2
  29. package/dist/client/assets/{DYY6UVD2-DxjEuWNy.js → DYY6UVD2-DBOhEG0-.js} +2 -2
  30. package/dist/client/assets/{DevicePanel-YEBH-Vqd.js → DevicePanel-B5VTFku5.js} +2 -2
  31. package/dist/client/assets/{DeviceSetup-CAlj40rJ.js → DeviceSetup-C7hesHao.js} +2 -2
  32. package/dist/client/assets/{DiffCommentAnnotation-BOk2MTlv.js → DiffCommentAnnotation-DDYXWdY5.js} +2 -2
  33. package/dist/client/assets/{DiffFileTree-Dg3cvfi5.js → DiffFileTree-SBs4YWHB.js} +2 -2
  34. package/dist/client/assets/{DiffPanel-fTHMPAQJ.js → DiffPanel-Cd7uZSwI.js} +2 -2
  35. package/dist/client/assets/{DiffWorkerPoolProvider-CqmToECA.js → DiffWorkerPoolProvider-elvn0oLt.js} +2 -2
  36. package/dist/client/assets/{EmbeddedDesign-BXKBSCcw.js → EmbeddedDesign-BDMR5UJo.js} +2 -2
  37. package/dist/client/assets/{FNOVOB4O-BeMBYVRF.js → FNOVOB4O-C55ATzH6.js} +2 -2
  38. package/dist/client/assets/{FileDiff-DW1zPAn5.js → FileDiff-DpQM5r9o.js} +2 -2
  39. package/dist/client/assets/{FilePreviewPanel-CTTCKfik.js → FilePreviewPanel-DWeewVws.js} +2 -2
  40. package/dist/client/assets/{FoldedSettingsSection-ClboCRR4.js → FoldedSettingsSection-KMTLX6MR.js} +2 -2
  41. package/dist/client/assets/{HDGCDEEZ-DtsLNbcM.js → HDGCDEEZ-BhXkP8CI.js} +2 -2
  42. package/dist/client/assets/{HSJLKHB7-Cj1_K-Mg.js → HSJLKHB7-ad9jby8d.js} +2 -2
  43. package/dist/client/assets/JZOYTAAL-CifPXszn.js +1 -0
  44. package/dist/client/assets/{K3MD6TGW-SNOidZ8r.js → K3MD6TGW-CG-BXshu.js} +2 -2
  45. package/dist/client/assets/{K7RP3OMA-CpajkG5B.js → K7RP3OMA-Dvs72E71.js} +2 -2
  46. package/dist/client/assets/{LHDIQX7Q-CAyO0Nv9.js → LHDIQX7Q-DBbVLdBb.js} +2 -2
  47. package/dist/client/assets/{LUXOKEGN-Dp60gO-M.js → LUXOKEGN-B8HcSY56.js} +2 -2
  48. package/dist/client/assets/{MathTypeset-DG9QDH3a.js → MathTypeset-D0cDlCZy.js} +2 -2
  49. package/dist/client/assets/{N3JZAHOW-CPZZhC9o.js → N3JZAHOW-BXwh9_vP.js} +2 -2
  50. package/dist/client/assets/{NUIALGQ3-Bapg3pv1.js → NUIALGQ3-ClxnUm8B.js} +2 -2
  51. package/dist/client/assets/{NoProjectsHero-DunzHVd0.js → NoProjectsHero-Bn4v5ofT.js} +2 -2
  52. package/dist/client/assets/{O65XPQGZ-BmLVfB2-.js → O65XPQGZ-BEEpAP2l.js} +2 -2
  53. package/dist/client/assets/{O7XIQ6OM-BzZlSmaP.js → O7XIQ6OM-CkSDwviv.js} +2 -2
  54. package/dist/client/assets/{OFQON5FD-Ciy1Dfj8.js → OFQON5FD-4EbpxjZS.js} +2 -2
  55. package/dist/client/assets/{P4ConnectAccountPages-DO-fCpTN.js → P4ConnectAccountPages-DgxvyIGG.js} +2 -2
  56. package/dist/client/assets/{P4ConnectSidebarSignIn-7hkM7xr7.js → P4ConnectSidebarSignIn-Bn9hP_6_.js} +2 -2
  57. package/dist/client/assets/{PJQHF43J-CTTmTIhc.js → PJQHF43J-D_j27v4O.js} +2 -2
  58. package/dist/client/assets/{PanelLayoutControls-clP6N7xc.js → PanelLayoutControls-BHEJEPDp.js} +4 -4
  59. package/dist/client/assets/{PierreEntryIcon-wm-IkF2y.js → PierreEntryIcon-BCv2OXDn.js} +2 -2
  60. package/dist/client/assets/{PreviewPanel-fTwWXayK.js → PreviewPanel-D3CQGyTY.js} +2 -2
  61. package/dist/client/assets/{ProjectDefaultsSettings-DABlQCRQ.js → ProjectDefaultsSettings-CqigWqDQ.js} +2 -2
  62. package/dist/client/assets/{ProjectFavicon-zExdjKgc.js → ProjectFavicon-BzkwZEKX.js} +3 -3
  63. package/dist/client/assets/{ProjectIconPickerDialog-D4Br81iW.js → ProjectIconPickerDialog-Bl7a1F6c.js} +2 -2
  64. package/dist/client/assets/{ProviderAuthTerminal-Gf_5AaPE.js → ProviderAuthTerminal-BxyDTl04.js} +2 -2
  65. package/dist/client/assets/{ProviderModelPicker-DrfK42fH.js → ProviderModelPicker-BjWN45iR.js} +2 -2
  66. package/dist/client/assets/{ProviderSettingsForm-CXVYrIzw.js → ProviderSettingsForm-9qRf6JzH.js} +2 -2
  67. package/dist/client/assets/{PullRequestCodeTab-DaXxo4Bs.js → PullRequestCodeTab-2fq1MIQq.js} +2 -2
  68. package/dist/client/assets/{RHNBAITX-DKMeuR6R.js → RHNBAITX-DaSH9fj2.js} +2 -2
  69. package/dist/client/assets/{ReadOnlySourcePreview-DPJWK3HJ.js → ReadOnlySourcePreview-CUL87R5C.js} +2 -2
  70. package/dist/client/assets/{RenderErrorBoundary-BI5KBtsb.js → RenderErrorBoundary-CEX4aXRH.js} +2 -2
  71. package/dist/client/assets/{SLD4V6NK-CR4aIcpx.js → SLD4V6NK-BPOaMXu1.js} +2 -2
  72. package/dist/client/assets/{ScheduledTasksSettings-CTHyd4UX.js → ScheduledTasksSettings-BEw_vC1N.js} +2 -2
  73. package/dist/client/assets/{ScopedSwitch-De6GoQiO.js → ScopedSwitch-DPPAQKgb.js} +2 -2
  74. package/dist/client/assets/{SettingsPanels-D6e2byZQ.js → SettingsPanels-wkOx3NMK.js} +2 -2
  75. package/dist/client/assets/{SettingsPanels.logic-BSXSdFru.js → SettingsPanels.logic-BwMoKlP_.js} +2 -2
  76. package/dist/client/assets/{SettingsScopeNotice-MbxDDMZ9.js → SettingsScopeNotice-5BIXPKKZ.js} +2 -2
  77. package/dist/client/assets/{SidebarStageBackdrop-B0F--sat.js → SidebarStageBackdrop-Cc8Os5aB.js} +2 -2
  78. package/dist/client/assets/{T3PCR2KE-C0_7R2Oa.js → T3PCR2KE-DF_ihTb_.js} +2 -2
  79. package/dist/client/assets/{TKWO2OVW-DqJmzuhq.js → TKWO2OVW-BpYa7JbN.js} +2 -2
  80. package/dist/client/assets/{TSHNXIZL-CmCl4WMk.js → TSHNXIZL-icuUBQJZ.js} +2 -2
  81. package/dist/client/assets/{ThemeEditorPanel-IhSXPcO9.js → ThemeEditorPanel-K5Z_cKr_.js} +2 -2
  82. package/dist/client/assets/{ThreadTerminalDrawer-DnOstFPr.js → ThreadTerminalDrawer-BEzEKbGr.js} +2 -2
  83. package/dist/client/assets/{UQJE5E4I-U1f_Qxq0.js → UQJE5E4I-jTtBmXGD.js} +2 -2
  84. package/dist/client/assets/{USNYFO5S-BFU1s0-x.js → USNYFO5S-COMhBWxE.js} +2 -2
  85. package/dist/client/assets/{Virtualizer-CI2uidEs.js → Virtualizer-3W_tqqHL.js} +2 -2
  86. package/dist/client/assets/{WEVWDWVA-DVuH1I8D.js → WEVWDWVA-DoGSbgZU.js} +2 -2
  87. package/dist/client/assets/{X5RFHQXM-DhiPjZ2I.js → X5RFHQXM-pFbOarC5.js} +2 -2
  88. package/dist/client/assets/{X62E3GBT-BoEmDIYA.js → X62E3GBT-CSXB08Iw.js} +2 -2
  89. package/dist/client/assets/{XBNEOJTC-ACchb7zJ.js → XBNEOJTC-CvXlFTiB.js} +2 -2
  90. package/dist/client/assets/{YHV2MVVZ-WIW1NclZ.js → YHV2MVVZ-BxyA2-Iu.js} +2 -2
  91. package/dist/client/assets/{YURCZMG2-D8PyipKA.js → YURCZMG2-WkhL6rVs.js} +2 -2
  92. package/dist/client/assets/{YVG2LODB-BQvBC9bF.js → YVG2LODB-BlCOW5Bm.js} +2 -2
  93. package/dist/client/assets/{_chat-DDGjgFMR.js → _chat-B72aqP_1.js} +14 -14
  94. package/dist/client/assets/{_chat.design-DjIqnlVZ.js → _chat.design-BzS-6FDR.js} +2 -2
  95. package/dist/client/assets/{_chat.index-Dku1iZH1.js → _chat.index-DyO0DElX.js} +2 -2
  96. package/dist/client/assets/{_chat.new-8-cjg5K7.js → _chat.new-Dy39C0PE.js} +2 -2
  97. package/dist/client/assets/{_chat.pull-requests-DVfSewSZ.js → _chat.pull-requests-Bzb1CyG6.js} +2 -2
  98. package/dist/client/assets/{assetUrls-BOJMUK_1.js → assetUrls-DSeSTRY1.js} +2 -2
  99. package/dist/client/assets/{assets-6zZLBDZw.js → assets-B_r3wLhD.js} +2 -2
  100. package/dist/client/assets/{browserHistoryStore-TJXTYA-V.js → browserHistoryStore-BG8TrOnZ.js} +2 -2
  101. package/dist/client/assets/{browserLinkTarget-DRbX4L_9.js → browserLinkTarget-jRu1-WRM.js} +2 -2
  102. package/dist/client/assets/{connect-Dp9BB7ev.js → connect-a25FIa26.js} +2 -2
  103. package/dist/client/assets/{connect-agent-DkbIqI-8.js → connect-agent-C1UODlly.js} +2 -2
  104. package/dist/client/assets/{design-Dn5DzqF2.js → design-C7HRMO73.js} +2 -2
  105. package/dist/client/assets/{device-dylO5xoO.js → device-BNK9g-io.js} +2 -2
  106. package/dist/client/assets/{diffRendering-MXukhqw1.js → diffRendering-UEl_19xa.js} +2 -2
  107. package/dist/client/assets/{dist-ceTe_mn7.js → dist-ATiHSdUa.js} +2 -2
  108. package/dist/client/assets/{duoViewer-C0aL6Kyr.js → duoViewer-C7BduYuF.js} +2 -2
  109. package/dist/client/assets/{dynamic-DTzzXo3L.js → dynamic-CFqi-4NG.js} +2 -2
  110. package/dist/client/assets/{embeddedScripts-DcWCyBxX.js → embeddedScripts-BNfDELW_.js} +2 -2
  111. package/dist/client/assets/{entities-eRiwvW2F.js → entities-pafv-XUM.js} +2 -2
  112. package/dist/client/assets/{fileLinks-CYejoXPq.js → fileLinks-pJLWwULO.js} +2 -2
  113. package/dist/client/assets/{fileTreeExpansion-wG1G7D6R.js → fileTreeExpansion-CXgwpUPc.js} +2 -2
  114. package/dist/client/assets/{getDiffFileInput-CzeweGHs.js → getDiffFileInput-eTK8du_O.js} +2 -2
  115. package/dist/client/assets/{guideRunStore-DAYN2Zd7.js → guideRunStore-83fw4RPw.js} +2 -2
  116. package/dist/client/assets/{index-DA9og9YW.js → index-C0oEvzQc.js} +3 -3
  117. package/dist/client/assets/{lazy-Ccs3klKO.js → lazy-B292152Q.js} +4 -4
  118. package/dist/client/assets/{linkedPrompt-BJh0Yqud.js → linkedPrompt-BOQDb8-o.js} +2 -2
  119. package/dist/client/assets/{main-DleJeMZO.js → main-Cywp3EWc.js} +7 -7
  120. package/dist/client/assets/{mediaReference-BbSbhpkR.js → mediaReference-onv8z3Oz.js} +2 -2
  121. package/dist/client/assets/{mediaSource-B_75uvyp.js → mediaSource-BhEv5iyl.js} +2 -2
  122. package/dist/client/assets/{onboarding-1Zg3fM0A.js → onboarding-y217_KQL.js} +2 -2
  123. package/dist/client/assets/{openFileInPreview-CiPuDrfB.js → openFileInPreview-DeuqxJFn.js} +2 -2
  124. package/dist/client/assets/{p4ProjectFile-BVKW5TIA.js → p4ProjectFile-BuzidL5M.js} +2 -2
  125. package/dist/client/assets/{pair-DUv1mY4i.js → pair-BjRq2ZHP.js} +2 -2
  126. package/dist/client/assets/{phoneViewer-CStYy_tX.js → phoneViewer-DYOR2qAi.js} +2 -2
  127. package/dist/client/assets/{pierre-icons-D3vWvKqU.js → pierre-icons-BDVVO9cA.js} +2 -2
  128. package/dist/client/assets/{preview-ipLyyv_l.js → preview-BoTHkmVi.js} +2 -2
  129. package/dist/client/assets/{primary-CMBPxKMH.js → primary-DiwDV4KJ.js} +2 -2
  130. package/dist/client/assets/{primaryCloudLinkState-CER468V5.js → primaryCloudLinkState-BgmcA0C5.js} +2 -2
  131. package/dist/client/assets/{projectFilesQueryState-D4FdR3Xm.js → projectFilesQueryState-C_yH-05-.js} +2 -2
  132. package/dist/client/assets/{projectScriptEditor-4wQTbXvz.js → projectScriptEditor-Cu65VaAw.js} +2 -2
  133. package/dist/client/assets/{providerSkills-D3rxPB_g.js → providerSkills-CgtkB3rc.js} +2 -2
  134. package/dist/client/assets/{pullRequestDetail.logic-Bkh57WzV.js → pullRequestDetail.logic-FUlKz34F.js} +2 -2
  135. package/dist/client/assets/{pullRequests-DggtcbhA.js → pullRequests-C8-SkuQU.js} +2 -2
  136. package/dist/client/assets/{queries-DJfKGsHe.js → queries-BZGM6AjA.js} +2 -2
  137. package/dist/client/assets/{renderScheduler-BgGYA97h.js → renderScheduler-CGMZZETC.js} +2 -2
  138. package/dist/client/assets/{runtime-BOlBBevr.js → runtime-BBIAfWJY.js} +3 -3
  139. package/dist/client/assets/{runtime-CeFhsGnm.js → runtime-CABaKt1A.js} +3 -3
  140. package/dist/client/assets/{scheduledTasksSettings.logic-BpOBCcOk.js → scheduledTasksSettings.logic-DFlgKyt2.js} +2 -2
  141. package/dist/client/assets/{server-DvWrfyUO.js → server-mIR8e8Vz.js} +2 -2
  142. package/dist/client/assets/{session-D3gY-tOR.js → session-BlCBDyVn.js} +2 -2
  143. package/dist/client/assets/{session-logic-OeNFZd_V.js → session-logic-CwBN7BBv.js} +2 -2
  144. package/dist/client/assets/{settings-C6gUwixG.js → settings-fTPmNkCr.js} +2 -2
  145. package/dist/client/assets/{settings.appearance-BdGq8dkT.js → settings.appearance-D96WohbH.js} +2 -2
  146. package/dist/client/assets/settings.archived-CnXEwX0Z.js +2 -0
  147. package/dist/client/assets/{settings.computer-use-DTAvnNqQ.js → settings.computer-use-DZTx8sD-.js} +2 -2
  148. package/dist/client/assets/{settings.connections-CZD-0BNX.js → settings.connections-Rl7zwQ75.js} +2 -2
  149. package/dist/client/assets/{settings.data-controls-CTVHY8Rd.js → settings.data-controls-DuyfuMcN.js} +2 -2
  150. package/dist/client/assets/{settings.decisions-D3zMITNw.js → settings.decisions-eRAu1hqY.js} +2 -2
  151. package/dist/client/assets/{settings.designs-DWeI1d2s.js → settings.designs-C0RxEgfD.js} +2 -2
  152. package/dist/client/assets/{settings.diagnostics-CqC6fhz6.js → settings.diagnostics-BDo1Ma1e.js} +2 -2
  153. package/dist/client/assets/{settings.general-BDEcQVI4.js → settings.general-CpbG8_Ml.js} +2 -2
  154. package/dist/client/assets/{settings.integrations-BmqNoylk.js → settings.integrations-CujbsXfc.js} +2 -2
  155. package/dist/client/assets/{settings.keybindings-Mt7J5TKC.js → settings.keybindings-CQ5xk9v3.js} +2 -2
  156. package/dist/client/assets/{settings.open-source-licenses-Dvex7Jce.js → settings.open-source-licenses-DIBdHSDB.js} +2 -2
  157. package/dist/client/assets/{settings.plugins-BAFed2wY.js → settings.plugins-BbsrwhRq.js} +2 -2
  158. package/dist/client/assets/{settings.projects-DhuXD_vx.js → settings.projects-BeNHSNe9.js} +3 -3
  159. package/dist/client/assets/{settings.providers-D_-kNRqH.js → settings.providers-DQT6izvS.js} +3 -3
  160. package/dist/client/assets/{settings.scheduled-tasks-Z4aprmEO.js → settings.scheduled-tasks-vKCtN-OC.js} +2 -2
  161. package/dist/client/assets/{settings.snap-shot-o0bdbS5t.js → settings.snap-shot-DgPUS-Zo.js} +2 -2
  162. package/dist/client/assets/{settings.source-control-CwJzBnSu.js → settings.source-control-B87geXn3.js} +2 -2
  163. package/dist/client/assets/{settings.storage-B4ahmlhx.js → settings.storage-BYfdzwhk.js} +2 -2
  164. package/dist/client/assets/{settingsLayout-DrhqvTJ8.js → settingsLayout-vgYGia0Q.js} +2 -2
  165. package/dist/client/assets/{sidebarProjectGrouping-DDt6qTcu.js → sidebarProjectGrouping-DaMfJpqc.js} +2 -2
  166. package/dist/client/assets/{sourceControl-Dqo9EYNC.js → sourceControl-CcPqr0UX.js} +2 -2
  167. package/dist/client/assets/{sourceControlClients-DGnHi6Rd.js → sourceControlClients-DtjbXUDt.js} +2 -2
  168. package/dist/client/assets/{terminalSessions-BykgTNwT.js → terminalSessions-0YYscaVr.js} +2 -2
  169. package/dist/client/assets/{toast-C61oyZY1.js → toast-D26NINYU.js} +2 -2
  170. package/dist/client/assets/{uiStateStore-DL8OsPjd.js → uiStateStore-CKKy2mq4.js} +2 -2
  171. package/dist/client/assets/{usage-DATBL2Du.js → usage-BDFFNkIV.js} +2 -2
  172. package/dist/client/assets/{use-atom-command-Bt7x9oO0.js → use-atom-command-C4y634Qy.js} +2 -2
  173. package/dist/client/assets/{useHandleNewThread-BOKOo2wA.js → useHandleNewThread-C7ynA68A.js} +2 -2
  174. package/dist/client/assets/{useP4ConnectAuthPrompt-D63n-MFC.js → useP4ConnectAuthPrompt-5uCMQUT1.js} +2 -2
  175. package/dist/client/assets/{usePullRequestActions-D53oZord.js → usePullRequestActions-cmzmOrJ-.js} +2 -2
  176. package/dist/client/assets/{useScopedModelAvailability-CeAUx0qZ.js → useScopedModelAvailability-kczZtr1M.js} +2 -2
  177. package/dist/client/assets/{useSettings-VTow9ZEM.js → useSettings-CHt2_4He.js} +2 -2
  178. package/dist/client/assets/{vcsRefInvalidation-B2f3qDSR.js → vcsRefInvalidation-CytQodoP.js} +2 -2
  179. package/dist/client/assets/{welcome-CQgOocvj.js → welcome-pbssrwWd.js} +2 -2
  180. package/dist/client/index.html +1 -1
  181. package/package.json +1 -1
  182. package/dist/client/assets/JZOYTAAL-BrzaFmLe.js +0 -1
  183. package/dist/client/assets/settings.archived-DobN7ZtC.js +0 -2
@@ -1,3 +1,3 @@
1
- import{Iy as e,My as t,Ry as n,dl as r,iE as i,ml as a,pl as o,xb as s,zy as c}from"./utils-CBe1bHL7.js";import{i as l}from"./p4ProjectFile-BVKW5TIA.js";var u=`Handle this webhook:
1
+ import{Iy as e,My as t,Ry as n,dl as r,iE as i,ml as a,pl as o,xb as s,zy as c}from"./utils-CBe1bHL7.js";import{i as l}from"./p4ProjectFile-BuzidL5M.js";var u=`Handle this webhook:
2
2
  {{body}}`;function d(e){if(e.trim()===``)return null;let t=Number(e.trim());return Number.isInteger(t)&&t>0&&t<=1440?t:void 0}var f=[{op:`equals`,label:`equals`},{op:`notEquals`,label:`does not equal`},{op:`in`,label:`is one of`},{op:`startsWith`,label:`starts with`},{op:`exists`,label:`exists`}],p=0,m=()=>`filter-${++p}`;function h(){return{id:m(),path:``,op:`equals`,value:``}}function g(e,t){return e.filter(e=>e.id!==t)}function _(e){return(e??[]).map(e=>({id:m(),path:e.path,op:e.op,value:e.op===`exists`?``:e.op===`in`?e.value.join(`, `):e.value}))}var v=s(o);function y(e){if(e.length>16)return{error:`Use at most 16 filters.`};let t=[];for(let[n,r]of e.entries()){let e=r.path.trim(),a=v(r.op===`exists`?{path:e,op:r.op}:r.op===`in`?{path:e,op:r.op,value:r.value.split(`,`).map(e=>e.trim()).filter(e=>e!==``)}:{path:e,op:r.op,value:r.value});if(i(a))return{error:`Filter ${n+1} needs a path under body, headers or query${r.op===`exists`?`.`:r.op===`in`?`, and at least one value.`:`, and a value.`}`};t.push(a.value)}return{filters:t}}function b(e,t){return e.length!==t.length||e.some((e,n)=>e.path!==t[n]?.path||e.op!==t[n]?.op||e.op!==`exists`&&e.value!==t[n]?.value)}function x(e,t,n){return e.kind===`unavailable`||!e.environmentIds.includes(t)?!1:e.kind===`project`||e.kind===`checkout`?e.members.some(e=>e.environmentId===t&&e.id===n):!0}function S(r){return{...typeof r.environmentId==`string`&&r.environmentId.trim()?{environmentId:t.make(r.environmentId)}:{},...typeof r.threadId==`string`&&r.threadId.trim()?{threadId:c.make(r.threadId)}:{},...typeof r.projectId==`string`&&r.projectId.trim()?{projectId:e.make(r.projectId)}:{},...typeof r.taskId==`string`&&r.taskId.trim()?{taskId:n.make(r.taskId)}:{}}}var C={signatureHeader:`x-hub-signature-256`,signatureEncoding:`hex`,signaturePrefix:`sha256=`};function w(e){if(e.scheduleMode!==`webhook`)return[];if(d(e.maxDeliveryAgeMinutes)===void 0)return[{title:`Invalid age limit`,description:`Enter whole minutes from 1 to ${r}, or leave it blank.`}];let t=[];for(let[n,r]of[[`Replay key`,e.replayKey],[`Coalesce key`,e.coalesceKey]])r.trim()&&!a(r.trim())&&t.push({title:`Invalid webhook settings`,description:`${n} must contain a valid request placeholder.`});let n=e.coalesceWindowSeconds.trim();return n&&(!Number.isInteger(Number(n))||Number(n)<10||Number(n)>3600)&&t.push({title:`Invalid webhook settings`,description:`Coalesce window must be whole seconds from 10 to 3600.`}),t}function T(e){return e.outcome===`accepted`?e.pendingWindow?`Opened window`:`Ran`:{dispatch_failed:`Run failed`,duplicate:`Duplicate`,coalesced:`Coalesced`,filtered:`Filtered`,rejected_signature:`Bad signature`,disabled:`Task paused`,rate_limited:`Rate limited`,expired:`Too old`}[e.outcome]??e.outcome.replaceAll(`_`,` `)}function E(e){if(e.scheduleMode===`webhook`){if(w(e).length>0)return null;let t=d(e.maxDeliveryAgeMinutes),n=e.replayKey.trim(),r=e.coalesceKey.trim(),i=e.coalesceWindowSeconds.trim()?Number(e.coalesceWindowSeconds):void 0;if(t===void 0)return null;let a=y(e.filters);if(!(`filters`in a))return null;let o=e.signatureSecret.trim();return{type:`webhook`,signature:e.signatureEnabled?{header:e.signatureHeader.trim(),encoding:e.signatureEncoding,prefix:e.signaturePrefix,...o?{secret:o}:{}}:null,maxDeliveryAgeMinutes:t,...n||r||i!==void 0?{dedupe:{...n?{replayKey:n}:{},...r?{coalesceKey:r}:{},...i===void 0?{}:{coalesceWindowSeconds:i}}}:{dedupe:{}},...b(e.savedFilters,e.filters)?{filters:a.filters}:{}}}if(e.scheduleMode===`interval`)return{type:`interval`,everyMs:Math.round(Number(e.intervalMinutes)*6e4)};let t=e.weekdays.size===0||e.weekdays.size===7;return{type:`fixed_time`,timeOfDay:e.timeOfDay||`09:00`,...t?{}:{weekdays:[...e.weekdays].toSorted()}}}function D(e){let t=e.schedule,n=_(t.type===`webhook`?t.filters:void 0),r=t.type===`fixed_time`&&t.weekdays&&t.weekdays.length>0?new Set(t.weekdays):new Set([0,1,2,3,4,5,6]);return{editingId:e.id,title:e.title,prompt:e.prompt,enabled:e.enabled,scheduleMode:t.type===`interval`?`interval`:t.type===`webhook`?`webhook`:`fixed`,intervalMinutes:t.type===`interval`?String(Math.max(1,t.everyMs/6e4)):`15`,timeOfDay:t.type===`fixed_time`?t.timeOfDay:`09:00`,weekdays:r,projectId:e.projectId,threadId:e.threadId??``,workspaceMode:e.workspaceStrategy.type,baseRef:e.workspaceStrategy.type===`worktree`||e.workspaceStrategy.type===`auto`?e.workspaceStrategy.baseRef:`main`,startFromOrigin:e.workspaceStrategy.type===`worktree`||e.workspaceStrategy.type===`auto`?e.workspaceStrategy.startFromOrigin??!1:!0,existingWorktreePath:e.workspaceStrategy.type===`existing_worktree`?e.workspaceStrategy.worktreePath:``,modelKey:`${e.modelSelection.instanceId}:${e.modelSelection.model}`,runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,baseModelSelection:e.modelSelection,...t.type===`webhook`&&t.signature!==null?{signatureEnabled:!0,signatureHeader:t.signature.header,signatureEncoding:t.signature.encoding,signaturePrefix:t.signature.prefix}:{signatureEnabled:!1,...C},signatureSecret:``,replayKey:t.type===`webhook`?t.dedupe?.replayKey??``:``,coalesceKey:t.type===`webhook`?t.dedupe?.coalesceKey??``:``,coalesceWindowSeconds:t.type===`webhook`&&t.dedupe?.coalesceWindowSeconds!==void 0?String(t.dedupe.coalesceWindowSeconds):``,maxDeliveryAgeMinutes:t.type===`webhook`&&t.maxDeliveryAgeMinutes!=null?String(t.maxDeliveryAgeMinutes):``,filters:n,savedFilters:n}}function O(e,t,n){let r=n.filter(e=>e.enabled&&e.installed&&e.isAvailable&&e.snapshot.auth.status!==`unauthenticated`),i=l(e,t?.id??null,t).settings.defaultModelSelection;for(let t of[i,e.defaultModelSelection])if(t&&r.some(e=>e.instanceId===t.instanceId&&e.models.find(e=>e.slug===t.model)?.isLegacy!==!0))return t;let a=r.flatMap(e=>e.models.filter(e=>!e.isLegacy).map(t=>({instanceId:e.instanceId,model:t}))),o=a.find(({model:e})=>e.isDefault)??a[0];return o?{instanceId:o.instanceId,model:o.model.slug}:null}export{D as a,w as c,h as d,y as f,O as i,u as l,x as n,S as o,g as p,E as r,T as s,C as t,f as u};
3
- //# sourceMappingURL=scheduledTasksSettings.logic-BpOBCcOk.js.map
3
+ //# sourceMappingURL=scheduledTasksSettings.logic-DFlgKyt2.js.map
@@ -1,2 +1,2 @@
1
- import{Aw as e,Ic as t,Oh as n,Os as r,Qw as i,Sx as a,Vw as o,as as s,kS as c,ps as l,tE as u,uC as d}from"./utils-CBe1bHL7.js";import{I as f,k as p}from"./runtime-CeFhsGnm.js";import{Bt as m,Ct as h,St as g,t as _,vt as v,wt as y,xt as b}from"./runtime-BOlBBevr.js";import{t as x}from"./session-D3gY-tOR.js";var S=m(_);function C(t){return f(t,{label:`environment-data:server:update-outdated-server`,scheduler:p(),concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e},execute:(t,n)=>{let r=y(t.environmentId),s=t.input.targetVersion,l=t.fromVersion??s,u=`downloading`,f=e=>d(()=>{u=e,n.set(r,{status:`running`,stage:e,fromVersion:l,targetVersion:s})});return f(u).pipe(a(b(t.environmentId,t.input,f)),c(t=>d(()=>{if(e(t)||o(t.cause)){n.set(r,{status:`idle`});return}n.set(r,{status:`failed`,stage:u,fromVersion:l,targetVersion:s,message:h(i(t.cause))})})))}})}var w=s(e=>{for(let[t,n]of e(S.catalogValueAtom).entries)if(n.target._tag===`PrimaryConnectionTarget`)return t;return null}).pipe(l(`web-primary-environment-id`)),T=g(_,{initialConfigValueAtom:x.initialConfigValueAtom,environmentThemes:!0,usageLimitSources:!0,usageLimitsCommand:!0}),E=C(_),D=v({catalogValueAtom:S.catalogValueAtom,serverConfigValueAtom:T.configValueAtom}),O=[],k=[],A={config:null,latestEvent:null,welcome:null},j=s(e=>{let t=e(w);if(t===null)return A;let n={environmentId:t,input:{}},i=u(r(e(T.configProjection(n)))),a=u(r(e(T.welcome(n))));return{config:e(T.configValueAtom(t)),latestEvent:i?.latestEvent??null,welcome:a}}).pipe(l(`web-primary-server-state`)),M=s(e=>e(j).config).pipe(l(`web-primary-server-config`)),N=s(e=>e(j).latestEvent).pipe(l(`web-primary-server-config-event`)),P=s(e=>e(j).welcome).pipe(l(`web-primary-server-welcome`)),F=s(e=>{let t=e(w);return t===null?null:u(r(e(T.legacyThreadMigration({environmentId:t,input:{}}))))}).pipe(l(`web-primary-server-legacy-thread-migration`)),I=s(e=>e(M)?.settings??n).pipe(l(`web-primary-server-settings`)),L=s(e=>e(M)?.providers??k).pipe(l(`web-primary-server-providers`)),R=s(e=>t(e(M)?.keybindings??[])).pipe(l(`web-primary-server-keybindings`)),z=s(e=>e(M)?.availableEditors??O).pipe(l(`web-primary-server-available-editors`)),B=[],V=s(e=>e(M)?.environmentThemes??B).pipe(l(`web-primary-server-environment-themes`));export{N as a,F as c,P as d,T as f,S as h,M as i,L as l,w as m,D as n,V as o,E as p,z as r,R as s,k as t,I as u};
2
- //# sourceMappingURL=server-DvWrfyUO.js.map
1
+ import{Aw as e,Ic as t,Oh as n,Os as r,Qw as i,Sx as a,Vw as o,as as s,kS as c,ps as l,tE as u,uC as d}from"./utils-CBe1bHL7.js";import{I as f,k as p}from"./runtime-CABaKt1A.js";import{Bt as m,Ct as h,St as g,t as _,vt as v,wt as y,xt as b}from"./runtime-BBIAfWJY.js";import{t as x}from"./session-BlCBDyVn.js";var S=m(_);function C(t){return f(t,{label:`environment-data:server:update-outdated-server`,scheduler:p(),concurrency:{mode:`singleFlight`,key:({environmentId:e})=>e},execute:(t,n)=>{let r=y(t.environmentId),s=t.input.targetVersion,l=t.fromVersion??s,u=`downloading`,f=e=>d(()=>{u=e,n.set(r,{status:`running`,stage:e,fromVersion:l,targetVersion:s})});return f(u).pipe(a(b(t.environmentId,t.input,f)),c(t=>d(()=>{if(e(t)||o(t.cause)){n.set(r,{status:`idle`});return}n.set(r,{status:`failed`,stage:u,fromVersion:l,targetVersion:s,message:h(i(t.cause))})})))}})}var w=s(e=>{for(let[t,n]of e(S.catalogValueAtom).entries)if(n.target._tag===`PrimaryConnectionTarget`)return t;return null}).pipe(l(`web-primary-environment-id`)),T=g(_,{initialConfigValueAtom:x.initialConfigValueAtom,environmentThemes:!0,usageLimitSources:!0,usageLimitsCommand:!0}),E=C(_),D=v({catalogValueAtom:S.catalogValueAtom,serverConfigValueAtom:T.configValueAtom}),O=[],k=[],A={config:null,latestEvent:null,welcome:null},j=s(e=>{let t=e(w);if(t===null)return A;let n={environmentId:t,input:{}},i=u(r(e(T.configProjection(n)))),a=u(r(e(T.welcome(n))));return{config:e(T.configValueAtom(t)),latestEvent:i?.latestEvent??null,welcome:a}}).pipe(l(`web-primary-server-state`)),M=s(e=>e(j).config).pipe(l(`web-primary-server-config`)),N=s(e=>e(j).latestEvent).pipe(l(`web-primary-server-config-event`)),P=s(e=>e(j).welcome).pipe(l(`web-primary-server-welcome`)),F=s(e=>{let t=e(w);return t===null?null:u(r(e(T.legacyThreadMigration({environmentId:t,input:{}}))))}).pipe(l(`web-primary-server-legacy-thread-migration`)),I=s(e=>e(M)?.settings??n).pipe(l(`web-primary-server-settings`)),L=s(e=>e(M)?.providers??k).pipe(l(`web-primary-server-providers`)),R=s(e=>t(e(M)?.keybindings??[])).pipe(l(`web-primary-server-keybindings`)),z=s(e=>e(M)?.availableEditors??O).pipe(l(`web-primary-server-available-editors`)),B=[],V=s(e=>e(M)?.environmentThemes??B).pipe(l(`web-primary-server-environment-themes`));export{N as a,F as c,P as d,T as f,S as h,M as i,L as l,w as m,D as n,V as o,E as p,z as r,R as s,k as t,I as u};
2
+ //# sourceMappingURL=server-mIR8e8Vz.js.map
@@ -1,2 +1,2 @@
1
- import{n as e}from"./jsx-runtime-BnjsACtP.js";import{Os as t,Zo as n,as as r,cE as i,ps as a,sv as o,tE as s,ts as c,ws as l}from"./utils-CBe1bHL7.js";import{at as u}from"./runtime-CeFhsGnm.js";import{t as d}from"./runtime-BOlBBevr.js";var f=e(),p=u(d),m=r(l());function h(e,t){let n=(0,f.c)(5),r;n[0]===e?r=n[1]:(r=e===null?m:p.sessionStateAtom(e),n[0]=e,n[1]=r);let i=c(r),a;return n[2]!==i||n[3]!==t?(a=g(i,t),n[2]=i,n[3]=t,n[4]=a):a=n[4],a}function g(e,n){let r=s(t(e));return e._tag!==`Failure`&&r!==null&&o(r,n)}function _(e,t){let n=(0,f.c)(3),i;return n[0]!==e||n[1]!==t?(i=r(n=>{let r=new Set;for(let{environmentId:i}of e)g(n(p.sessionStateAtom(i)),t)&&r.add(i);return r}),n[0]=e,n[1]=t,n[2]=i):i=n[2],c(i)}function v(e,t){return g(n.get(p.sessionStateAtom(e)),t)}var y=r(i()).pipe(a(`web-prepared-connection:empty`));function b(e){let t=(0,f.c)(2),n;return t[0]===e?n=t[1]:(n=e===null?y:p.preparedConnectionValueAtom(e),t[0]=e,t[1]=n),c(n)}function x(e){return s(n.get(p.preparedConnectionValueAtom(e)))}function S(e){let n=(0,f.c)(8),r;n[0]===e?r=n[1]:(r=p.sessionStateAtom(e),n[0]=e,n[1]=r);let i=c(r),a;n[2]===i?a=n[3]:(a=s(t(i)),n[2]=i,n[3]=a);let o=i._tag===`Failure`,l;return n[4]!==i.waiting||n[5]!==a||n[6]!==o?(l={data:a,hasError:o,isPending:i.waiting},n[4]=i.waiting,n[5]=a,n[6]=o,n[7]=l):l=n[7],l}export{S as a,h as i,v as n,_ as o,x as r,b as s,p as t};
2
- //# sourceMappingURL=session-D3gY-tOR.js.map
1
+ import{n as e}from"./jsx-runtime-BnjsACtP.js";import{Os as t,Zo as n,as as r,cE as i,ps as a,sv as o,tE as s,ts as c,ws as l}from"./utils-CBe1bHL7.js";import{at as u}from"./runtime-CABaKt1A.js";import{t as d}from"./runtime-BBIAfWJY.js";var f=e(),p=u(d),m=r(l());function h(e,t){let n=(0,f.c)(5),r;n[0]===e?r=n[1]:(r=e===null?m:p.sessionStateAtom(e),n[0]=e,n[1]=r);let i=c(r),a;return n[2]!==i||n[3]!==t?(a=g(i,t),n[2]=i,n[3]=t,n[4]=a):a=n[4],a}function g(e,n){let r=s(t(e));return e._tag!==`Failure`&&r!==null&&o(r,n)}function _(e,t){let n=(0,f.c)(3),i;return n[0]!==e||n[1]!==t?(i=r(n=>{let r=new Set;for(let{environmentId:i}of e)g(n(p.sessionStateAtom(i)),t)&&r.add(i);return r}),n[0]=e,n[1]=t,n[2]=i):i=n[2],c(i)}function v(e,t){return g(n.get(p.sessionStateAtom(e)),t)}var y=r(i()).pipe(a(`web-prepared-connection:empty`));function b(e){let t=(0,f.c)(2),n;return t[0]===e?n=t[1]:(n=e===null?y:p.preparedConnectionValueAtom(e),t[0]=e,t[1]=n),c(n)}function x(e){return s(n.get(p.preparedConnectionValueAtom(e)))}function S(e){let n=(0,f.c)(8),r;n[0]===e?r=n[1]:(r=p.sessionStateAtom(e),n[0]=e,n[1]=r);let i=c(r),a;n[2]===i?a=n[3]:(a=s(t(i)),n[2]=i,n[3]=a);let o=i._tag===`Failure`,l;return n[4]!==i.waiting||n[5]!==a||n[6]!==o?(l={data:a,hasError:o,isPending:i.waiting},n[4]=i.waiting,n[5]=a,n[6]=o,n[7]=l):l=n[7],l}export{S as a,h as i,v as n,_ as o,x as r,b as s,p as t};
2
+ //# sourceMappingURL=session-BlCBDyVn.js.map
@@ -1,4 +1,4 @@
1
- import{Bs as e,Du as t,Eu as n,Ot as r,Ou as i,Rs as a,Tu as o,V as s,_x as c,dx as l,e_ as u,ku as d,r_ as f,vE as p,wu as m,xE as h}from"./utils-CBe1bHL7.js";import{Kt as ee,Ut as g,an as te,d as _,in as ne,qt as re,yn as ie}from"./runtime-BOlBBevr.js";import{h as ae}from"./htmlRender-C3rZ0xgC.js";import{n as oe,t as se}from"./mediaSource-B_75uvyp.js";import{l as ce}from"./usageFormat-D5Mz5ugL.js";function v(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function y(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function le(e,t){if(e!==`Skill`)return;let n=v(t),r=y(n?.skill);return r===void 0?void 0:{name:r,args:y(n?.args)}}function b(e){return e===`js`||e===`cua_repl.js`||e===`node_repl.js`}var ue={key:`computer-use`,name:`Computer Use`,kind:`computer`};function de(e,t){if(e===`cua_repl.js`)return`computer`;let n=v(t)?.code;return b(e)&&typeof n==`string`&&(/\bsky\s*\./u.test(n)||/["']@oai\/sky["']/u.test(n))?`computer`:void 0}function fe(e,t,n){if(b(e)){let r=y(n),i=r&&r.toLowerCase()!==`js`&&r.toLowerCase()!==e?.toLowerCase()?r:void 0;return y(v(t)?.title)??i??(de(e,t)===`computer`?`Computer use`:`Run JavaScript`)}let r=le(e,t);return r===void 0?void 0:`Skill: ${r.name}`}function pe(e){return e!==void 0&&Object.keys(e).length>0}var me=[`path`,`filePath`,`file_path`,`relativePath`,`filename`,`fileName`,`newPath`,`oldPath`];function x(e,t,n,r){if(r>4||t.length>=8)return;if(Array.isArray(e)){for(let i of e)if(x(i,t,n,r+1),t.length>=8)return;return}let i=v(e);if(i){for(let e of me){let r=y(i[e]);if(r&&!n.has(r)&&(n.add(r),t.push(r),t.length>=8))return}for(let e of[`locations`,`item`,`input`,`result`,`rawInput`,`data`,`changes`])if(e in i&&(x(i[e],t,n,r+1),t.length>=8))return}}function he(e){let t=[];return x(e,t,new Set,0),t}function ge(e){let t=y(e);if(t&&!/__|[./]/u.test(t))return t.replace(/[_\s-]/gu,``).toLowerCase()}function _e(e){let t=e.itemType??void 0,n=y(e.requestKind)?.toLowerCase(),r=y(e.data?.kind)?.toLowerCase(),i=ge(y(e.data?.toolName)??y(v(e.data?.item)?.tool));return t===`command_execution`?`command`:t===`image_view`?`read`:t===`file_change`?`file_change`:t===`web_search`?`search`:n===`command`||r===`execute`?`command`:n===`file-change`||r===`edit`||r===`move`||r===`delete`||r===`write`?`file_change`:r===`search`||i===`find`||i===`grep`||i===`glob`||i===`rg`||i===`ls`?`search`:n===`file-read`||r===`read`?`read`:i===`terminal`||i===`bash`||i===`shell`?`command`:i===`read`||i===`readfile`?`read`:`other`}var ve=[`pattern`,`query`,`searchTerm`,`regex`,`grep`,`needle`],ye=[`glob`,`globPattern`,`glob_pattern`,`include`,`filePattern`,`file_pattern`],be=[`path`,`target_directory`,`targetDirectory`,`directory`,`cwd`,`root`];function S(e,t){if(e)for(let n of t){let t=y(e[n]);if(t)return t}}function xe(e){return[e?.rawInput,e?.input,v(e?.item)?.input].map(v).find(e=>pe(e??void 0))??e}function Se(e){if(e)return e.split(/[\\/]/u).findLast(e=>e.length>0&&e!==`.`)}function Ce(e){let t=xe(e),n=S(t,ve),r=S(t,ye),i=Se(S(t,be));if(n&&i)return`Searched ${n} in ${i}`;if(r&&i)return`Searched files ${r} in ${i}`;if(r)return`Searched files ${r}`;if(n)return`Searched ${n}`;if(i)return`Searched in ${i}`}function we(e,t=0){let n=e.trim(),r=t>0?` +${t} more`:``;return n?`Read ${n}${r}`:`Read file${r}`}function C(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function w(e,t){if(typeof e!=`string`)return;let n=e.trim();return n&&n.length<=t?n:void 0}function T(e){let t=w(e,4096);if(t)try{let e=new URL(t);return e.protocol===`http:`||e.protocol===`https:`||e.protocol===`data:`?e.href:void 0}catch{return}}function Te(e){let t=w(e,4096);if(t)try{let e=new URL(t);return e.protocol===`http:`||e.protocol===`https:`?e.href:void 0}catch{return}}function Ee(e){let t=C(e),n=w(t?.appId,512);if(t?._tag===`app-id`&&n&&/^[A-Za-z0-9._-]+$/u.test(n))return{_tag:`app-id`,appId:n};let r=w(t?.displayName,160);if(t?._tag===`display-name`&&r)return{_tag:`display-name`,displayName:r}}function De(e){let t=C(e);if(t?._tag===`website`){let e=Te(t.pageUrl),n=T(t.faviconUrl),r=T(t.faviconUrlDark);if(e)return{_tag:`website`,pageUrl:e,...n?{faviconUrl:n}:{},...r?{faviconUrlDark:r}:{}}}if(t?._tag===`native-app`){let e=Ee(t.app);if(e)return{_tag:`native-app`,app:e}}if(t?._tag===`themed-logo`){let e=T(t.logoUrl),n=T(t.logoUrlDark);if(e)return{_tag:`themed-logo`,logoUrl:e,...n?{logoUrlDark:n}:{}}}}function Oe(e){let t=C(e),n=w(t?.key,512),r=w(t?.name,160),i=t?.kind;if(!n||!r||i!==`browser`&&i!==`computer`&&i!==`integration`)return;let a=De(t?.icon);return{key:n,name:r,kind:i,...a?{icon:a}:{}}}function ke(e){let t=C(e),n=Oe(t?.toolSource),r=t?.toolSurface===`browser`||t?.toolSurface===`computer`?t.toolSurface:n?.kind===`computer`||n?.kind===`browser`?n.kind:t?.type===`dynamic_tool`?de(typeof t.toolName==`string`?t.toolName:void 0,t.input):void 0,i=r===`computer`&&n?.kind!==`computer`?ue:n,a=De(t?.toolIcon),o=w(t?.viewedImagePath,4096);return{...r?{toolSurface:r}:{},...a?{toolIcon:a}:{},...i?{toolSource:i}:{},...o&&!/[\r\n]/.test(o)&&_(o)?{viewedImagePath:o}:{}}}var Ae=`2026-01-26`,E=`p4McpApp`,je=80,Me=2e3,Ne=32,Pe=256,Fe=256,Ie=4096,Le=/^(?:https?|wss?):\/\/(?:\*\.)?[a-z0-9-]+(?:\.[a-z0-9-]+)*(?::\d{1,5})?$/i;function Re(e){if(!Array.isArray(e))return;let t=e.filter(e=>typeof e==`string`&&e.length<=Pe&&Le.test(e)).slice(0,Ne);return t.length===0?void 0:t}function ze(e){if(!h(e))return;let t={};for(let n of[`connectDomains`,`resourceDomains`,`frameDomains`,`baseUriDomains`]){let r=Re(e[n]);r!==void 0&&(t[n]=r)}return Object.keys(t).length===0?void 0:t}var Be=[`camera`,`microphone`,`geolocation`,`clipboardWrite`];function Ve(e){if(!h(e))return;let t={};for(let n of Be)h(e[n])&&(t[n]={});return Object.keys(t).length===0?void 0:t}var D=e=>typeof e==`string`&&e.trim()!==``&&e.length<=Fe?e:void 0;function He(e){if(!h(e))return;let t=D(e.attachmentId),n=D(e.server),r=D(e.tool),i=typeof e.resourceUri==`string`&&e.resourceUri.length<=Ie?e.resourceUri:void 0;if(t===void 0||n===void 0||r===void 0||i===void 0||!i.startsWith(`ui://`))return;let a=ze(e.csp),o=Ve(e.permissions);return{attachmentId:t,server:n,tool:r,resourceUri:i,...a===void 0?{}:{csp:a},...o===void 0?{}:{permissions:o},...typeof e.prefersBorder==`boolean`?{prefersBorder:e.prefersBorder}:{}}}function Ue(e,t){return e.attachmentId===t.attachmentId&&e.server===t.server&&e.tool===t.tool&&e.resourceUri===t.resourceUri}function We(e){let t=[];return e?.camera&&t.push(`camera`),e?.microphone&&t.push(`microphone`),e?.geolocation&&t.push(`geolocation`),e?.clipboardWrite&&t.push(`clipboard-write`),t.join(`; `)}function Ge(e){return Number.isFinite(e)?Math.round(Math.min(Me,Math.max(je,e))):320}function Ke(e){return`${e.tool.replace(/[^\w.-]+/g,`-`).slice(0,80)||`app`}.html`}function O(e,t,n=`p4-code`,r=`${e[0]} ${e[3]}`){return{displayName:r,labels:e,icon:n,summaryAction:t}}var qe=new Set([`p4-code`,`p4_code`,`p4code`]),k={p4_computer_use:O([`Control`,`Controlling`,`Controlled`,`a computer`],`browser`,`browser`),p4_computer_use_reset:O([`Reset`,`Resetting`,`Reset`,`Computer Use`],`browser`,`browser`),p4_computer_use_hosts:O([`List`,`Listing`,`Listed`,`Computer Use hosts`],`browser`,`browser`),p4_decide:O([`Ask`,`Asking`,`Asked`,`Decisions`],`decide`),link_pull_request:O([`Link`,`Linking`,`Linked`,`a pull request`],`link-pr`,`pull-request`),unlink_pull_request:O([`Unlink`,`Unlinking`,`Unlinked`,`a pull request`],`unlink-pr`,`pull-request`),list_thread_pull_requests:O([`Check`,`Checking`,`Checked`,`linked pull requests`],`list-prs`,`pull-request`),watch_pull_request:O([`Watch`,`Watching`,`Watching`,`a pull request`],`watch-pr`,`pull-request`),unwatch_pull_request:O([`Stop watching`,`Stopping watching`,`Stopped watching`,`a pull request`],`unwatch-pr`,`pull-request`),write_pull_request_guides:O([`Write`,`Writing`,`Started`,`review guides`],`write-pr-guides`,`pull-request`),read_pull_request_guide:O([`Read`,`Reading`,`Read`,`a review guide`],`read-pr-guide`,`pull-request`),orchestrator_capabilities:O([`Get`,`Getting`,`Got`,`orchestration capabilities`],`capabilities`),delegate_task:O([`Delegate`,`Delegating`,`Delegated`,`a child task`],`delegate`),task_status:O([`Get`,`Getting`,`Got`,`delegated task status`],`task-status`),task_cancel:O([`Cancel`,`Canceling`,`Requested cancellation of`,`delegated task`],`task-cancel`),schedule_task:O([`Schedule`,`Scheduling`,`Scheduled`,`a recurring task`],`schedule-create`),list_scheduled_tasks:O([`List`,`Listing`,`Listed`,`scheduled tasks`],`schedule-list`),update_scheduled_task:O([`Update`,`Updating`,`Updated`,`a scheduled task`],`schedule-update`),delete_scheduled_task:O([`Delete`,`Deleting`,`Requested deletion of`,`a scheduled task`],`schedule-delete`),request_secret:O([`Ask for`,`Asking for`,`Asked for`,`a secret`],`secret-request`),create_threads:O([`Create`,`Creating`,`Created`,`P4 threads`],`thread-create`),p4_thread_start:O([`Start`,`Starting`,`Started`,`a P4 Code thread`],`thread-create`),p4_thread_list:O([`List`,`Listing`,`Listed`,`P4 threads`],`thread-list`),p4_thread_read:O([`Read`,`Reading`,`Read`,`a P4 Code thread`],`thread-read`),p4_thread_send:O([`Send`,`Sending`,`Sent`,`to a P4 Code thread`],`thread-send`),p4_thread_wait:O([`Wait`,`Waiting`,`Waited`,`for a P4 Code thread`],`thread-wait`),p4_workflow_stop:O([`Stop`,`Stopping`,`Requested a stop for`,`a workflow`],`workflow-stop`),p4_thread_interrupt:O([`Interrupt`,`Interrupting`,`Requested an interrupt of`,`a P4 Code thread`],`thread-interrupt`),p4_worktree_handoff:O([`Hand off`,`Handing off`,`Handed off`,`thread to a git worktree`],`worktree-handoff`),p4_worktree_status:O([`Get`,`Getting`,`Got`,`thread worktree status`],`worktree-status`),preview_status:O([`Get`,`Getting`,`Got`,`preview browser status`],`browser`,`browser`),preview_open:O([`Open`,`Opening`,`Opened`,`a page in the preview browser`],`browser`,`browser`),preview_navigate:O([`Navigate`,`Navigating`,`Navigated`,`the preview browser`],`browser`,`browser`),preview_dialog:O([`Respond`,`Responding`,`Responded`,`to a preview browser dialog`],`browser`,`browser`),preview_snapshot:O([`Take a snapshot of`,`Taking a snapshot of`,`Took a snapshot of`,`the preview page`],`browser`,`browser`,`Snapshot the preview page`),preview_click:O([`Click`,`Clicking`,`Clicked`,`in the preview browser`],`browser`,`browser`),preview_press:O([`Press`,`Pressing`,`Pressed`,`a key in the preview browser`],`browser`,`browser`),preview_type:O([`Type`,`Typing`,`Typed`,`in the preview browser`],`browser`,`browser`),preview_hover:O([`Hover`,`Hovering`,`Hovered`,`in the preview browser`],`browser`,`browser`),preview_select:O([`Choose`,`Choosing`,`Chose`,`an option in the preview browser`],`browser`,`browser`),preview_drag:O([`Drag`,`Dragging`,`Dragged`,`in the preview browser`],`browser`,`browser`),preview_upload:O([`Upload`,`Uploading`,`Uploaded`,`files to the preview browser`],`browser`,`browser`),preview_scroll:O([`Scroll`,`Scrolling`,`Scrolled`,`the preview browser`],`browser`,`browser`),preview_resize:O([`Resize`,`Resizing`,`Resized`,`the preview browser`],`browser`,`browser`),preview_evaluate:O([`Evaluate`,`Evaluating`,`Evaluated`,`script in the preview browser`],`browser`,`browser`),preview_wait_for:O([`Wait`,`Waiting`,`Waited`,`for the preview page`],`browser`,`browser`),preview_set_appearance:O([`Set`,`Setting`,`Set`,`preview browser appearance`],`browser`,`browser`),preview_recording_start:O([`Start`,`Starting`,`Started`,`recording the preview browser`],`browser`,`browser`),preview_recording_stop:O([`Stop`,`Stopping`,`Stopped`,`recording the preview browser`],`browser`,`browser`),device_list:O([`List`,`Listing`,`Listed`,`simulators and emulators`],`device`,`device`),device_open:O([`Open`,`Opening`,`Opened`,`a device in the Device panel`],`device`,`device`),device_screenshot:O([`Take a screenshot of`,`Taking a screenshot of`,`Took a screenshot of`,`the device`],`device`,`device`),device_close:O([`Close`,`Closing`,`Closed`,`a device`],`device`,`device`),run_scheduled_task_now:O([`Run`,`Running`,`Requested a run of`,`a scheduled task`],`schedule-run`),p4_queue_list:O([`List`,`Listing`,`Listed`,`queued messages`],`queue-list`),p4_queue_read:O([`Read`,`Reading`,`Read`,`a queued message`],`queue-read`),p4_queue_edit:O([`Edit`,`Editing`,`Edited`,`a queued message`],`queue-edit`),p4_queue_cancel:O([`Cancel`,`Canceling`,`Requested cancellation of`,`a queued run`],`queue-cancel`),p4_queue_reorder:O([`Reorder`,`Reordering`,`Reordered`,`a queued run`],`queue-reorder`),p4_queue_promote_to_steer:O([`Steer with`,`Steering with`,`Requested steering with`,`a queued message`],`queue-steer`),p4_pending_request_list:O([`List`,`Listing`,`Listed`,`pending requests`],`question-list`),p4_pending_request_read:O([`Read`,`Reading`,`Read`,`pending requests`],`question-read`),p4_pending_request_respond:O([`Respond to`,`Responding to`,`Responded to`,`pending requests`],`question-respond`),p4_thread_diff:O([`Read`,`Reading`,`Read`,`a thread diff`],`thread-read`),p4_thread_configuration:O([`Read`,`Reading`,`Read`,`thread configuration`],`thread-configuration`),p4_thread_configure:O([`Set`,`Setting`,`Set`,`thread model`],`thread-configure`),p4_thread_fork:O([`Fork`,`Forking`,`Requested a fork of`,`this thread`],`thread-fork`),p4_thread_merge_back:O([`Merge`,`Merging`,`Requested a merge of`,`thread context`],`thread-merge`),p4_thread_search:O([`Search`,`Searching`,`Searched`,`thread content`],`thread-search`),p4_thread_transfers:O([`Read`,`Reading`,`Read`,`thread transfers`],`thread-transfers`),p4_thread_organize:O([`Organize`,`Organizing`,`Organized`,`a thread`],`thread-organize`),p4_thread_update:O([`Update`,`Updating`,`Updated`,`P4 Code thread metadata`],`thread-update`),p4_worktree_list:O([`List`,`Listing`,`Listed`,`workspace branches`],`worktree-list`),p4_preview_list:O([`List`,`Listing`,`Listed`,`preview tabs`],`browser`,`browser`),p4_preview_close:O([`Close`,`Closing`,`Closed`,`a preview tab`],`browser`,`browser`),p4_environment_read:O([`Read`,`Reading`,`Read`,`environment preferences`],`environment-read`),p4_environment_preferences_update:O([`Update`,`Updating`,`Updated`,`environment preferences`],`environment-update`),p4_mcp_server_list:O([`List`,`Listing`,`Listed`,`MCP servers`],`environment-read`),p4_mcp_server_set_enabled:O([`Update`,`Updating`,`Updated`,`an MCP server`],`environment-update`),p4_thread_launch:O([`Launch`,`Launching`,`Launched`,`a project thread`],`thread-create`),p4_project_list:O([`List`,`Listing`,`Listed`,`projects`],`project-list`),p4_project_read:O([`Read`,`Reading`,`Read`,`a project`],`project-read`),p4_project_create:O([`Register`,`Registering`,`Registered`,`a project`],`project-create`),p4_project_update:O([`Update`,`Updating`,`Updated`,`a project`],`project-update`),p4_project_delete:O([`Delete`,`Deleting`,`Deleted`,`a project`],`project-delete`),p4_project_clone:O([`Clone`,`Cloning`,`Cloned`,`a repository`],`project-clone`),p4_attachment_prepare_upload:O([`Prepare`,`Preparing`,`Prepared`,`an attachment upload`],`attachment-prepare`),p4_attachment_discard:O([`Discard`,`Discarding`,`Discarded`,`a pending attachment`],`attachment-discard`),p4_thread_send_attachments:O([`Send`,`Sending`,`Sent`,`attachments`],`attachment-send`),html_preview:O([`Preview`,`Previewing`,`Previewed`,`an HTML page`],`html-preview`),html_render:O([`Render`,`Rendering`,`Rendered`,`an HTML page`],`html-render`)};new Set(Object.keys(k));function Je(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function Ye(e){let t=Je(e),n=/^mcp__(?<server>.+?)__(?<tool>.+)$/i.exec(t);if(n?.groups){let{server:e,tool:t}=n.groups;return e!==void 0&&t!==void 0&&qe.has(e.toLowerCase())?t:null}let r=/^(?<server>p4[-_]?code)(?:[.:/]|\s*·\s*)(?<tool>.+)$/i.exec(t);if(r?.groups)return r.groups.tool??null;let i=/^(?:mcp[-_]{1,2})?p4[-_ ]?code(?:__|[-_.:/ ])(?<tool>.+)$/i.exec(t)?.groups?.tool??t;if(Object.hasOwn(k,i))return i;if(!/^p4-code-/i.test(t))return null;let a=null;for(let e of Object.keys(k))t.endsWith(`_${e}`)&&e.length>(a?.length??0)&&(a=e);return a}function Xe(e){let t=e==null?null:Ye(e);return t!==null&&Object.hasOwn(k,t)?t:null}function A(e){let t=e==null?null:Ye(e);return t!==null&&Object.hasOwn(k,t)?k[t]:null}var Ze=16384,Qe=8192,$e=256,et=100,tt=32,nt=4,rt=128,it=new TextEncoder;function j(e,t,n=0){if(n>nt||t.remainingNodes--<=0)return t.exceeded=!0,{failed:!1};if(typeof e==`string`){if(e.length>t.remainingBytes)return t.exceeded=!0,{failed:!1};let r=it.encode(e).byteLength;if(r>t.remainingBytes)return t.exceeded=!0,{failed:!1};t.remainingBytes-=r;try{return j(JSON.parse(e),t,n+1)}catch{return{failed:!1}}}if(Array.isArray(e)){if(e.length>tt)return t.exceeded=!0,{failed:!1};let r,i=!1;for(let a of e){let e=h(a)?a.text:void 0,o=j(h(e)?e.text??e:e,t,n+1);if(r??=o.data,i||=o.failed,t.exceeded)break}return{...r===void 0?{}:{data:r},failed:i}}if(!h(e))return{failed:!1};let r=e.isError===!0||e.is_error===!0||e._tag===`OrchestratorMcpFailure`||e.error!=null,i=e.structuredContent??e.content;if(i!==void 0){let e=j(i,t,n+1);return{...e,failed:r||e.failed}}return{data:e,failed:r}}function M(e){if(!(typeof e!=`string`||e.length>$e||e.trim()===``))return Array.from(e).join(``)}function at(e){let t={remainingBytes:Ze,remainingNodes:rt,exceeded:!1},n=j(e,t),r=n.failed?{isError:!0}:{},i=t.exceeded?void 0:n.data;if(i!==void 0){for(let e of[`threadId`,`messageId`,`taskId`,`scheduledTaskId`]){let t=M(i[e]);t!==void 0&&(r[e]=t)}i.status===`rolled_back`&&(r.status=`rolled_back`);let e=ae(i.htmlRender);e!==void 0&&(r.htmlRender=e);let t=He(i[E]);t!==void 0&&(r[E]=t);let n=h(i.thread)?M(i.thread.threadId):void 0;if(n!==void 0&&(r.thread={threadId:n}),Array.isArray(i.threads)){let e=i.threads.length<=et,t=[];if(e)for(let n of i.threads){if(!h(n)){e=!1;break}let r=M(n.threadId),i=n.status===`rolled_back`;if(r===void 0&&!i){e=!1;break}t.push({...r===void 0?{}:{threadId:r},...i?{status:`rolled_back`}:{}})}e?r.threads=t:(delete r.threadId,delete r.status)}}let a=()=>it.encode(JSON.stringify(r)).byteLength>Qe;a()&&(delete r.threads,delete r.threadId,delete r.status);let o=r[E];if(o?.csp!==void 0&&a()){let{csp:e,...t}=o;r[E]=t}return a()&&delete r[E],Object.keys(r).length===0?void 0:r}function ot(e){if(Xe(e.toolName)!==`html_render`)return;let t=at(e.output);return t?.isError?void 0:t?.htmlRender}function st(e){let t=at(e.output)?.[E];return t!==void 0&&e.toolName===`${t.server}.${t.tool}`?t:void 0}function ct(e){return/file not found|no files found|enoent|no such file|commandnotfoundexception|command not found|is not recognized as the name of a cmdlet|a parameter cannot be found that matches parameter name/i.test(e)||/cannot find path/i.test(e)&&/because it does not exist/i.test(e)||/is not recognized/i.test(e)&&/the term '/i.test(e)||/<exited with exit code\s+[1-9]\d*\s*>/i.test(e)||/exit(?:ed)? with exit code\s+[1-9]\d*/i.test(e)||/exit code\s*[:\s]\s*[1-9]\d*\b/i.test(e)}function lt(e){if(!h(e)||e.type!==`image`)return null;let t=h(e.source)?e.source:void 0;if(t!==void 0&&t.type!==`base64`)return null;let n=t===void 0?e.mimeType:t.media_type,r=t===void 0?e.data:t.data;if(typeof n!=`string`||!f(n))return null;let i={mimeType:n.toLowerCase()};return typeof r==`string`?{...i,data:r}:i}function ut(e){return Array.isArray(e)?e:h(e)&&Array.isArray(e.content)?e.content:[e]}Math.ceil(u/3)*4;function dt(e){let t=[];for(let n of ut(e))if(lt(n)!==null&&(t.push(n),t.length===8))break;return t}function ft(e){return dt(e).flatMap(e=>lt(e)??[])}var pt=4;function N(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function mt(e){return N(e)&&e.truncated===!0&&typeof e.summary==`string`}function P(e,t){if(t>pt)return null;if(typeof e==`string`)return e;if(Array.isArray(e)){let n=e.map(e=>P(e,t+1));return n.every(e=>e!==null)?n.filter(e=>e!==``).join(`
1
+ import{Bs as e,Du as t,Eu as n,Ot as r,Ou as i,Rs as a,Tu as o,V as s,_x as c,dx as l,e_ as u,ku as d,r_ as f,vE as p,wu as m,xE as h}from"./utils-CBe1bHL7.js";import{Kt as ee,Ut as g,an as te,d as _,in as ne,qt as re,yn as ie}from"./runtime-BBIAfWJY.js";import{h as ae}from"./htmlRender-C3rZ0xgC.js";import{n as oe,t as se}from"./mediaSource-BhEv5iyl.js";import{l as ce}from"./usageFormat-D5Mz5ugL.js";function v(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function y(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function le(e,t){if(e!==`Skill`)return;let n=v(t),r=y(n?.skill);return r===void 0?void 0:{name:r,args:y(n?.args)}}function b(e){return e===`js`||e===`cua_repl.js`||e===`node_repl.js`}var ue={key:`computer-use`,name:`Computer Use`,kind:`computer`};function de(e,t){if(e===`cua_repl.js`)return`computer`;let n=v(t)?.code;return b(e)&&typeof n==`string`&&(/\bsky\s*\./u.test(n)||/["']@oai\/sky["']/u.test(n))?`computer`:void 0}function fe(e,t,n){if(b(e)){let r=y(n),i=r&&r.toLowerCase()!==`js`&&r.toLowerCase()!==e?.toLowerCase()?r:void 0;return y(v(t)?.title)??i??(de(e,t)===`computer`?`Computer use`:`Run JavaScript`)}let r=le(e,t);return r===void 0?void 0:`Skill: ${r.name}`}function pe(e){return e!==void 0&&Object.keys(e).length>0}var me=[`path`,`filePath`,`file_path`,`relativePath`,`filename`,`fileName`,`newPath`,`oldPath`];function x(e,t,n,r){if(r>4||t.length>=8)return;if(Array.isArray(e)){for(let i of e)if(x(i,t,n,r+1),t.length>=8)return;return}let i=v(e);if(i){for(let e of me){let r=y(i[e]);if(r&&!n.has(r)&&(n.add(r),t.push(r),t.length>=8))return}for(let e of[`locations`,`item`,`input`,`result`,`rawInput`,`data`,`changes`])if(e in i&&(x(i[e],t,n,r+1),t.length>=8))return}}function he(e){let t=[];return x(e,t,new Set,0),t}function ge(e){let t=y(e);if(t&&!/__|[./]/u.test(t))return t.replace(/[_\s-]/gu,``).toLowerCase()}function _e(e){let t=e.itemType??void 0,n=y(e.requestKind)?.toLowerCase(),r=y(e.data?.kind)?.toLowerCase(),i=ge(y(e.data?.toolName)??y(v(e.data?.item)?.tool));return t===`command_execution`?`command`:t===`image_view`?`read`:t===`file_change`?`file_change`:t===`web_search`?`search`:n===`command`||r===`execute`?`command`:n===`file-change`||r===`edit`||r===`move`||r===`delete`||r===`write`?`file_change`:r===`search`||i===`find`||i===`grep`||i===`glob`||i===`rg`||i===`ls`?`search`:n===`file-read`||r===`read`?`read`:i===`terminal`||i===`bash`||i===`shell`?`command`:i===`read`||i===`readfile`?`read`:`other`}var ve=[`pattern`,`query`,`searchTerm`,`regex`,`grep`,`needle`],ye=[`glob`,`globPattern`,`glob_pattern`,`include`,`filePattern`,`file_pattern`],be=[`path`,`target_directory`,`targetDirectory`,`directory`,`cwd`,`root`];function S(e,t){if(e)for(let n of t){let t=y(e[n]);if(t)return t}}function xe(e){return[e?.rawInput,e?.input,v(e?.item)?.input].map(v).find(e=>pe(e??void 0))??e}function Se(e){if(e)return e.split(/[\\/]/u).findLast(e=>e.length>0&&e!==`.`)}function Ce(e){let t=xe(e),n=S(t,ve),r=S(t,ye),i=Se(S(t,be));if(n&&i)return`Searched ${n} in ${i}`;if(r&&i)return`Searched files ${r} in ${i}`;if(r)return`Searched files ${r}`;if(n)return`Searched ${n}`;if(i)return`Searched in ${i}`}function we(e,t=0){let n=e.trim(),r=t>0?` +${t} more`:``;return n?`Read ${n}${r}`:`Read file${r}`}function C(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function w(e,t){if(typeof e!=`string`)return;let n=e.trim();return n&&n.length<=t?n:void 0}function T(e){let t=w(e,4096);if(t)try{let e=new URL(t);return e.protocol===`http:`||e.protocol===`https:`||e.protocol===`data:`?e.href:void 0}catch{return}}function Te(e){let t=w(e,4096);if(t)try{let e=new URL(t);return e.protocol===`http:`||e.protocol===`https:`?e.href:void 0}catch{return}}function Ee(e){let t=C(e),n=w(t?.appId,512);if(t?._tag===`app-id`&&n&&/^[A-Za-z0-9._-]+$/u.test(n))return{_tag:`app-id`,appId:n};let r=w(t?.displayName,160);if(t?._tag===`display-name`&&r)return{_tag:`display-name`,displayName:r}}function De(e){let t=C(e);if(t?._tag===`website`){let e=Te(t.pageUrl),n=T(t.faviconUrl),r=T(t.faviconUrlDark);if(e)return{_tag:`website`,pageUrl:e,...n?{faviconUrl:n}:{},...r?{faviconUrlDark:r}:{}}}if(t?._tag===`native-app`){let e=Ee(t.app);if(e)return{_tag:`native-app`,app:e}}if(t?._tag===`themed-logo`){let e=T(t.logoUrl),n=T(t.logoUrlDark);if(e)return{_tag:`themed-logo`,logoUrl:e,...n?{logoUrlDark:n}:{}}}}function Oe(e){let t=C(e),n=w(t?.key,512),r=w(t?.name,160),i=t?.kind;if(!n||!r||i!==`browser`&&i!==`computer`&&i!==`integration`)return;let a=De(t?.icon);return{key:n,name:r,kind:i,...a?{icon:a}:{}}}function ke(e){let t=C(e),n=Oe(t?.toolSource),r=t?.toolSurface===`browser`||t?.toolSurface===`computer`?t.toolSurface:n?.kind===`computer`||n?.kind===`browser`?n.kind:t?.type===`dynamic_tool`?de(typeof t.toolName==`string`?t.toolName:void 0,t.input):void 0,i=r===`computer`&&n?.kind!==`computer`?ue:n,a=De(t?.toolIcon),o=w(t?.viewedImagePath,4096);return{...r?{toolSurface:r}:{},...a?{toolIcon:a}:{},...i?{toolSource:i}:{},...o&&!/[\r\n]/.test(o)&&_(o)?{viewedImagePath:o}:{}}}var Ae=`2026-01-26`,E=`p4McpApp`,je=80,Me=2e3,Ne=32,Pe=256,Fe=256,Ie=4096,Le=/^(?:https?|wss?):\/\/(?:\*\.)?[a-z0-9-]+(?:\.[a-z0-9-]+)*(?::\d{1,5})?$/i;function Re(e){if(!Array.isArray(e))return;let t=e.filter(e=>typeof e==`string`&&e.length<=Pe&&Le.test(e)).slice(0,Ne);return t.length===0?void 0:t}function ze(e){if(!h(e))return;let t={};for(let n of[`connectDomains`,`resourceDomains`,`frameDomains`,`baseUriDomains`]){let r=Re(e[n]);r!==void 0&&(t[n]=r)}return Object.keys(t).length===0?void 0:t}var Be=[`camera`,`microphone`,`geolocation`,`clipboardWrite`];function Ve(e){if(!h(e))return;let t={};for(let n of Be)h(e[n])&&(t[n]={});return Object.keys(t).length===0?void 0:t}var D=e=>typeof e==`string`&&e.trim()!==``&&e.length<=Fe?e:void 0;function He(e){if(!h(e))return;let t=D(e.attachmentId),n=D(e.server),r=D(e.tool),i=typeof e.resourceUri==`string`&&e.resourceUri.length<=Ie?e.resourceUri:void 0;if(t===void 0||n===void 0||r===void 0||i===void 0||!i.startsWith(`ui://`))return;let a=ze(e.csp),o=Ve(e.permissions);return{attachmentId:t,server:n,tool:r,resourceUri:i,...a===void 0?{}:{csp:a},...o===void 0?{}:{permissions:o},...typeof e.prefersBorder==`boolean`?{prefersBorder:e.prefersBorder}:{}}}function Ue(e,t){return e.attachmentId===t.attachmentId&&e.server===t.server&&e.tool===t.tool&&e.resourceUri===t.resourceUri}function We(e){let t=[];return e?.camera&&t.push(`camera`),e?.microphone&&t.push(`microphone`),e?.geolocation&&t.push(`geolocation`),e?.clipboardWrite&&t.push(`clipboard-write`),t.join(`; `)}function Ge(e){return Number.isFinite(e)?Math.round(Math.min(Me,Math.max(je,e))):320}function Ke(e){return`${e.tool.replace(/[^\w.-]+/g,`-`).slice(0,80)||`app`}.html`}function O(e,t,n=`p4-code`,r=`${e[0]} ${e[3]}`){return{displayName:r,labels:e,icon:n,summaryAction:t}}var qe=new Set([`p4-code`,`p4_code`,`p4code`]),k={p4_computer_use:O([`Control`,`Controlling`,`Controlled`,`a computer`],`browser`,`browser`),p4_computer_use_reset:O([`Reset`,`Resetting`,`Reset`,`Computer Use`],`browser`,`browser`),p4_computer_use_hosts:O([`List`,`Listing`,`Listed`,`Computer Use hosts`],`browser`,`browser`),p4_decide:O([`Ask`,`Asking`,`Asked`,`Decisions`],`decide`),link_pull_request:O([`Link`,`Linking`,`Linked`,`a pull request`],`link-pr`,`pull-request`),unlink_pull_request:O([`Unlink`,`Unlinking`,`Unlinked`,`a pull request`],`unlink-pr`,`pull-request`),list_thread_pull_requests:O([`Check`,`Checking`,`Checked`,`linked pull requests`],`list-prs`,`pull-request`),watch_pull_request:O([`Watch`,`Watching`,`Watching`,`a pull request`],`watch-pr`,`pull-request`),unwatch_pull_request:O([`Stop watching`,`Stopping watching`,`Stopped watching`,`a pull request`],`unwatch-pr`,`pull-request`),write_pull_request_guides:O([`Write`,`Writing`,`Started`,`review guides`],`write-pr-guides`,`pull-request`),read_pull_request_guide:O([`Read`,`Reading`,`Read`,`a review guide`],`read-pr-guide`,`pull-request`),orchestrator_capabilities:O([`Get`,`Getting`,`Got`,`orchestration capabilities`],`capabilities`),delegate_task:O([`Delegate`,`Delegating`,`Delegated`,`a child task`],`delegate`),task_status:O([`Get`,`Getting`,`Got`,`delegated task status`],`task-status`),task_cancel:O([`Cancel`,`Canceling`,`Requested cancellation of`,`delegated task`],`task-cancel`),schedule_task:O([`Schedule`,`Scheduling`,`Scheduled`,`a recurring task`],`schedule-create`),list_scheduled_tasks:O([`List`,`Listing`,`Listed`,`scheduled tasks`],`schedule-list`),update_scheduled_task:O([`Update`,`Updating`,`Updated`,`a scheduled task`],`schedule-update`),delete_scheduled_task:O([`Delete`,`Deleting`,`Requested deletion of`,`a scheduled task`],`schedule-delete`),request_secret:O([`Ask for`,`Asking for`,`Asked for`,`a secret`],`secret-request`),create_threads:O([`Create`,`Creating`,`Created`,`P4 threads`],`thread-create`),p4_thread_start:O([`Start`,`Starting`,`Started`,`a P4 Code thread`],`thread-create`),p4_thread_list:O([`List`,`Listing`,`Listed`,`P4 threads`],`thread-list`),p4_thread_read:O([`Read`,`Reading`,`Read`,`a P4 Code thread`],`thread-read`),p4_thread_send:O([`Send`,`Sending`,`Sent`,`to a P4 Code thread`],`thread-send`),p4_thread_wait:O([`Wait`,`Waiting`,`Waited`,`for a P4 Code thread`],`thread-wait`),p4_workflow_stop:O([`Stop`,`Stopping`,`Requested a stop for`,`a workflow`],`workflow-stop`),p4_thread_interrupt:O([`Interrupt`,`Interrupting`,`Requested an interrupt of`,`a P4 Code thread`],`thread-interrupt`),p4_worktree_handoff:O([`Hand off`,`Handing off`,`Handed off`,`thread to a git worktree`],`worktree-handoff`),p4_worktree_status:O([`Get`,`Getting`,`Got`,`thread worktree status`],`worktree-status`),preview_status:O([`Get`,`Getting`,`Got`,`preview browser status`],`browser`,`browser`),preview_open:O([`Open`,`Opening`,`Opened`,`a page in the preview browser`],`browser`,`browser`),preview_navigate:O([`Navigate`,`Navigating`,`Navigated`,`the preview browser`],`browser`,`browser`),preview_dialog:O([`Respond`,`Responding`,`Responded`,`to a preview browser dialog`],`browser`,`browser`),preview_snapshot:O([`Take a snapshot of`,`Taking a snapshot of`,`Took a snapshot of`,`the preview page`],`browser`,`browser`,`Snapshot the preview page`),preview_click:O([`Click`,`Clicking`,`Clicked`,`in the preview browser`],`browser`,`browser`),preview_press:O([`Press`,`Pressing`,`Pressed`,`a key in the preview browser`],`browser`,`browser`),preview_type:O([`Type`,`Typing`,`Typed`,`in the preview browser`],`browser`,`browser`),preview_hover:O([`Hover`,`Hovering`,`Hovered`,`in the preview browser`],`browser`,`browser`),preview_select:O([`Choose`,`Choosing`,`Chose`,`an option in the preview browser`],`browser`,`browser`),preview_drag:O([`Drag`,`Dragging`,`Dragged`,`in the preview browser`],`browser`,`browser`),preview_upload:O([`Upload`,`Uploading`,`Uploaded`,`files to the preview browser`],`browser`,`browser`),preview_scroll:O([`Scroll`,`Scrolling`,`Scrolled`,`the preview browser`],`browser`,`browser`),preview_resize:O([`Resize`,`Resizing`,`Resized`,`the preview browser`],`browser`,`browser`),preview_evaluate:O([`Evaluate`,`Evaluating`,`Evaluated`,`script in the preview browser`],`browser`,`browser`),preview_wait_for:O([`Wait`,`Waiting`,`Waited`,`for the preview page`],`browser`,`browser`),preview_set_appearance:O([`Set`,`Setting`,`Set`,`preview browser appearance`],`browser`,`browser`),preview_recording_start:O([`Start`,`Starting`,`Started`,`recording the preview browser`],`browser`,`browser`),preview_recording_stop:O([`Stop`,`Stopping`,`Stopped`,`recording the preview browser`],`browser`,`browser`),device_list:O([`List`,`Listing`,`Listed`,`simulators and emulators`],`device`,`device`),device_open:O([`Open`,`Opening`,`Opened`,`a device in the Device panel`],`device`,`device`),device_screenshot:O([`Take a screenshot of`,`Taking a screenshot of`,`Took a screenshot of`,`the device`],`device`,`device`),device_close:O([`Close`,`Closing`,`Closed`,`a device`],`device`,`device`),run_scheduled_task_now:O([`Run`,`Running`,`Requested a run of`,`a scheduled task`],`schedule-run`),p4_queue_list:O([`List`,`Listing`,`Listed`,`queued messages`],`queue-list`),p4_queue_read:O([`Read`,`Reading`,`Read`,`a queued message`],`queue-read`),p4_queue_edit:O([`Edit`,`Editing`,`Edited`,`a queued message`],`queue-edit`),p4_queue_cancel:O([`Cancel`,`Canceling`,`Requested cancellation of`,`a queued run`],`queue-cancel`),p4_queue_reorder:O([`Reorder`,`Reordering`,`Reordered`,`a queued run`],`queue-reorder`),p4_queue_promote_to_steer:O([`Steer with`,`Steering with`,`Requested steering with`,`a queued message`],`queue-steer`),p4_pending_request_list:O([`List`,`Listing`,`Listed`,`pending requests`],`question-list`),p4_pending_request_read:O([`Read`,`Reading`,`Read`,`pending requests`],`question-read`),p4_pending_request_respond:O([`Respond to`,`Responding to`,`Responded to`,`pending requests`],`question-respond`),p4_thread_diff:O([`Read`,`Reading`,`Read`,`a thread diff`],`thread-read`),p4_thread_configuration:O([`Read`,`Reading`,`Read`,`thread configuration`],`thread-configuration`),p4_thread_configure:O([`Set`,`Setting`,`Set`,`thread model`],`thread-configure`),p4_thread_fork:O([`Fork`,`Forking`,`Requested a fork of`,`this thread`],`thread-fork`),p4_thread_merge_back:O([`Merge`,`Merging`,`Requested a merge of`,`thread context`],`thread-merge`),p4_thread_search:O([`Search`,`Searching`,`Searched`,`thread content`],`thread-search`),p4_thread_transfers:O([`Read`,`Reading`,`Read`,`thread transfers`],`thread-transfers`),p4_thread_organize:O([`Organize`,`Organizing`,`Organized`,`a thread`],`thread-organize`),p4_thread_update:O([`Update`,`Updating`,`Updated`,`P4 Code thread metadata`],`thread-update`),p4_worktree_list:O([`List`,`Listing`,`Listed`,`workspace branches`],`worktree-list`),p4_preview_list:O([`List`,`Listing`,`Listed`,`preview tabs`],`browser`,`browser`),p4_preview_close:O([`Close`,`Closing`,`Closed`,`a preview tab`],`browser`,`browser`),p4_environment_read:O([`Read`,`Reading`,`Read`,`environment preferences`],`environment-read`),p4_environment_preferences_update:O([`Update`,`Updating`,`Updated`,`environment preferences`],`environment-update`),p4_mcp_server_list:O([`List`,`Listing`,`Listed`,`MCP servers`],`environment-read`),p4_mcp_server_set_enabled:O([`Update`,`Updating`,`Updated`,`an MCP server`],`environment-update`),p4_thread_launch:O([`Launch`,`Launching`,`Launched`,`a project thread`],`thread-create`),p4_project_list:O([`List`,`Listing`,`Listed`,`projects`],`project-list`),p4_project_read:O([`Read`,`Reading`,`Read`,`a project`],`project-read`),p4_project_create:O([`Register`,`Registering`,`Registered`,`a project`],`project-create`),p4_project_update:O([`Update`,`Updating`,`Updated`,`a project`],`project-update`),p4_project_delete:O([`Delete`,`Deleting`,`Deleted`,`a project`],`project-delete`),p4_project_clone:O([`Clone`,`Cloning`,`Cloned`,`a repository`],`project-clone`),p4_attachment_prepare_upload:O([`Prepare`,`Preparing`,`Prepared`,`an attachment upload`],`attachment-prepare`),p4_attachment_discard:O([`Discard`,`Discarding`,`Discarded`,`a pending attachment`],`attachment-discard`),p4_thread_send_attachments:O([`Send`,`Sending`,`Sent`,`attachments`],`attachment-send`),html_preview:O([`Preview`,`Previewing`,`Previewed`,`an HTML page`],`html-preview`),html_render:O([`Render`,`Rendering`,`Rendered`,`an HTML page`],`html-render`)};new Set(Object.keys(k));function Je(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function Ye(e){let t=Je(e),n=/^mcp__(?<server>.+?)__(?<tool>.+)$/i.exec(t);if(n?.groups){let{server:e,tool:t}=n.groups;return e!==void 0&&t!==void 0&&qe.has(e.toLowerCase())?t:null}let r=/^(?<server>p4[-_]?code)(?:[.:/]|\s*·\s*)(?<tool>.+)$/i.exec(t);if(r?.groups)return r.groups.tool??null;let i=/^(?:mcp[-_]{1,2})?p4[-_ ]?code(?:__|[-_.:/ ])(?<tool>.+)$/i.exec(t)?.groups?.tool??t;if(Object.hasOwn(k,i))return i;if(!/^p4-code-/i.test(t))return null;let a=null;for(let e of Object.keys(k))t.endsWith(`_${e}`)&&e.length>(a?.length??0)&&(a=e);return a}function Xe(e){let t=e==null?null:Ye(e);return t!==null&&Object.hasOwn(k,t)?t:null}function A(e){let t=e==null?null:Ye(e);return t!==null&&Object.hasOwn(k,t)?k[t]:null}var Ze=16384,Qe=8192,$e=256,et=100,tt=32,nt=4,rt=128,it=new TextEncoder;function j(e,t,n=0){if(n>nt||t.remainingNodes--<=0)return t.exceeded=!0,{failed:!1};if(typeof e==`string`){if(e.length>t.remainingBytes)return t.exceeded=!0,{failed:!1};let r=it.encode(e).byteLength;if(r>t.remainingBytes)return t.exceeded=!0,{failed:!1};t.remainingBytes-=r;try{return j(JSON.parse(e),t,n+1)}catch{return{failed:!1}}}if(Array.isArray(e)){if(e.length>tt)return t.exceeded=!0,{failed:!1};let r,i=!1;for(let a of e){let e=h(a)?a.text:void 0,o=j(h(e)?e.text??e:e,t,n+1);if(r??=o.data,i||=o.failed,t.exceeded)break}return{...r===void 0?{}:{data:r},failed:i}}if(!h(e))return{failed:!1};let r=e.isError===!0||e.is_error===!0||e._tag===`OrchestratorMcpFailure`||e.error!=null,i=e.structuredContent??e.content;if(i!==void 0){let e=j(i,t,n+1);return{...e,failed:r||e.failed}}return{data:e,failed:r}}function M(e){if(!(typeof e!=`string`||e.length>$e||e.trim()===``))return Array.from(e).join(``)}function at(e){let t={remainingBytes:Ze,remainingNodes:rt,exceeded:!1},n=j(e,t),r=n.failed?{isError:!0}:{},i=t.exceeded?void 0:n.data;if(i!==void 0){for(let e of[`threadId`,`messageId`,`taskId`,`scheduledTaskId`]){let t=M(i[e]);t!==void 0&&(r[e]=t)}i.status===`rolled_back`&&(r.status=`rolled_back`);let e=ae(i.htmlRender);e!==void 0&&(r.htmlRender=e);let t=He(i[E]);t!==void 0&&(r[E]=t);let n=h(i.thread)?M(i.thread.threadId):void 0;if(n!==void 0&&(r.thread={threadId:n}),Array.isArray(i.threads)){let e=i.threads.length<=et,t=[];if(e)for(let n of i.threads){if(!h(n)){e=!1;break}let r=M(n.threadId),i=n.status===`rolled_back`;if(r===void 0&&!i){e=!1;break}t.push({...r===void 0?{}:{threadId:r},...i?{status:`rolled_back`}:{}})}e?r.threads=t:(delete r.threadId,delete r.status)}}let a=()=>it.encode(JSON.stringify(r)).byteLength>Qe;a()&&(delete r.threads,delete r.threadId,delete r.status);let o=r[E];if(o?.csp!==void 0&&a()){let{csp:e,...t}=o;r[E]=t}return a()&&delete r[E],Object.keys(r).length===0?void 0:r}function ot(e){if(Xe(e.toolName)!==`html_render`)return;let t=at(e.output);return t?.isError?void 0:t?.htmlRender}function st(e){let t=at(e.output)?.[E];return t!==void 0&&e.toolName===`${t.server}.${t.tool}`?t:void 0}function ct(e){return/file not found|no files found|enoent|no such file|commandnotfoundexception|command not found|is not recognized as the name of a cmdlet|a parameter cannot be found that matches parameter name/i.test(e)||/cannot find path/i.test(e)&&/because it does not exist/i.test(e)||/is not recognized/i.test(e)&&/the term '/i.test(e)||/<exited with exit code\s+[1-9]\d*\s*>/i.test(e)||/exit(?:ed)? with exit code\s+[1-9]\d*/i.test(e)||/exit code\s*[:\s]\s*[1-9]\d*\b/i.test(e)}function lt(e){if(!h(e)||e.type!==`image`)return null;let t=h(e.source)?e.source:void 0;if(t!==void 0&&t.type!==`base64`)return null;let n=t===void 0?e.mimeType:t.media_type,r=t===void 0?e.data:t.data;if(typeof n!=`string`||!f(n))return null;let i={mimeType:n.toLowerCase()};return typeof r==`string`?{...i,data:r}:i}function ut(e){return Array.isArray(e)?e:h(e)&&Array.isArray(e.content)?e.content:[e]}Math.ceil(u/3)*4;function dt(e){let t=[];for(let n of ut(e))if(lt(n)!==null&&(t.push(n),t.length===8))break;return t}function ft(e){return dt(e).flatMap(e=>lt(e)??[])}var pt=4;function N(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function mt(e){return N(e)&&e.truncated===!0&&typeof e.summary==`string`}function P(e,t){if(t>pt)return null;if(typeof e==`string`)return e;if(Array.isArray(e)){let n=e.map(e=>P(e,t+1));return n.every(e=>e!==null)?n.filter(e=>e!==``).join(`
2
2
  `):null}if(!N(e))return null;if(e.type===`text`&&typeof e.text==`string`)return e.text;if(e.type===`image`)return lt(e)?``:`[image]`;if(e.type===`resource_link`&&typeof e.uri==`string`)return e.uri;if(e.type===`resource`&&N(e.resource)){let t=e.resource;if(typeof t.text==`string`)return t.text;if(typeof t.uri==`string`)return t.uri}let n=Object.keys(e).filter(e=>e!==`isError`&&e!==`is_error`);if(n.length===1&&n[0]===`content`)return P(e.content,t+1);if(n.length===2&&n.includes(`content`)&&n.includes(`structuredContent`)){let n=P(e.content,t+1);return n?.trim()?n:null}return null}function F(e){try{return JSON.parse(e)}catch{return}}function ht(e){let t=e.trim();if(!/^[[{]/.test(t))return e;let n=F(t);if(n!==void 0)return JSON.stringify(n,null,2);let r=t.split(`
3
3
  `).filter(e=>e.trim()).map(e=>F(e.trim()));return r.some(e=>e===void 0)?e:r.map(e=>JSON.stringify(e,null,2)).join(`
4
4
 
@@ -23,4 +23,4 @@ import{Bs as e,Du as t,Eu as n,Ot as r,Ou as i,Rs as a,Tu as o,V as s,_x as c,dx
23
23
  `){i+=1;continue}if(e[i+1]===`\r`&&e[i+2]===`
24
24
  `){i+=2;continue}t+=a,r=!0;continue}n===null?(a===`"`||a===`'`)&&(n=a):a===n&&(n=null),t+=a}return t}function B(e,t){let n=e[t];if(!n||/^[<>]\(/u.test(n))return null;let r=n.match(/^(?:(?:(?:\d+|\*|\{[A-Za-z_][A-Za-z0-9_]*\})?(?:<<<|<<-|<<|<>|>>|>\||<&|>&|<|>))|&>>|&>)(.*)$/u);return r?r[1]?t+1:e[t+1]===void 0?e.length+1:t+2:null}function Jt(e){return e.map(e=>`'${e.replaceAll(`'`,`'\\''`)}'`).join(` `)}function Yt(e,t,n){if(e===`bundle`)return t[n+1]===`exec`&&t[n+2]!==void 0?n+2:null;if(e===`nohup`){let e=n+1;t[e]===`--`&&(e+=1);let r=t[e];return r&&!r.startsWith(`-`)?e:null}return e===`script`?/^-[adkpqr]+$/u.test(t[n+1]??``)&&t[n+3]!==void 0?n+3:null:e===`arch`?/^-(?:arm64|arm64e|i386|x86_64)$/u.test(t[n+1]??``)?t[n+2]===void 0?null:n+2:t[n+1]===`-arch`&&t[n+3]!==void 0?n+3:null:(e===`timeout`||e===`gtimeout`)&&/^(?:\d+(?:\.\d*)?|\.\d+)[smhd]?$/u.test(t[n+1]??``)&&t[n+2]!==void 0?n+2:null}function V(e){let t=e.trim();if(!t||/^[A-Za-z][A-Za-z0-9+.-]*:(?![\\/])/u.test(t))return null;let n=t.split(/[\\/]/u).at(-1);return!n||/\s/u.test(n)&&!/[\\/]/u.test(t)||Lt.includes(n[0]??``)||Rt.includes(n.at(-1)??``)?null:n}function Xt(e){let t=e.trimStart(),n=t[0];if(n!==`"`&&n!==`'`)return V(t.match(/^\S+/u)?.[0]??``);let r=``;for(let e=1;e<t.length;e+=1){let i=t[e];if(i==="`"&&t[e+1]!==void 0){r+=t[e+1],e+=1;continue}if(i===n){if(n===`'`&&t[e+1]===`'`){r+=`'`,e+=1;continue}return V(r)}r+=i}return null}function Zt(e){let t=e.match(/^\s*&\s+([\s\S]*)$/u);return t?Xt(t[1]):void 0}function Qt(e,t,n,r){let i=e.match(/^\s*\$(?:(env|global|local|script):)?[A-Za-z_][A-Za-z0-9_]*\s*=\s*([\s\S]*)$/iu);if(!i)return{matched:!1,program:null};if(i[1]?.toLowerCase()===`env`)return{matched:!0,program:n?H(n,t,`shell`,r-1):null};let a=i[2].trim();if(/^(?:\[ordered\]\s*)?@\s*[{(]/iu.test(a))return{matched:!0,program:null};let o=Zt(a);if(o!==void 0)return{matched:!0,program:o};let s=a.match(/^(?:@?\(\s*)?([A-Za-z][A-Za-z0-9_.-]*)\b/u)?.[1];return s&&!L.has(s.toLowerCase())?{matched:!0,program:H(a,t+1,`shell`,r)??s}:{matched:!0,program:n?H(n,t,`shell`,r-1):null}}function $t(e,t,n,r,i,a,o){let s=e=>e?H(i&&a?`${e} ${a} ${i}`:e,r+1,`shell`,o):null;if(e===`cmd`||e===`cmd.exe`){for(let e=n;e<t.length;e+=1){let n=t[e].toLowerCase();if(n!==`/c`&&n!==`/k`)continue;let r=t[e+1];return{matched:!0,program:s(r)}}return{matched:!1,program:null}}for(let e=n;e<t.length;e+=1){let n=t[e].toLowerCase();if(n===`-command`||n===`-c`){let n=t[e+1];return{matched:!0,program:s(n)}}if(n===`-file`||n===`-f`)return{matched:!0,program:V(t[e+1]??``)};if(n===`-encodedcommand`||n===`-enc`||n===`-e`)return{matched:!0,program:null};if(Nt.has(n)){e+=1;continue}if(!Mt.has(n)&&!n.startsWith(`-`))return{matched:!0,program:V(t[e])}}return{matched:!1,program:null}}function en(e,t){for(let n=t;n<e.length;n+=1){let t=e[n],r=t.toLowerCase();if(r===`-filepath`)return V(e[n+1]??``);if(!Pt.has(r)){if(Ft.has(r)){if(e[n+1]===void 0)return null;n+=1;continue}return t.startsWith(`-`)?null:V(t)}}return null}function tn(e){let t=e.match(/^([A-Za-z_][A-Za-z0-9_]*)=(.*)$/su);if(!t)return null;let n=t[1],r=t[2].trim();if(!r||/[$`]/u.test(r))return{name:n,program:null};if(r.startsWith(`(`)&&r.endsWith(`)`))r=R(r.slice(1,-1))?.[0]??``;else if(/\s/u.test(r)&&!/[\\/]/u.test(r))return{name:n,program:null};return{name:n,program:V(r)}}function nn(e){let t=e.match(/^\$(?:([A-Za-z_][A-Za-z0-9_]*)|\{([A-Za-z_][A-Za-z0-9_]*)(?:\[@\])?\})$/u);return t?.[1]??t?.[2]??null}function rn(e){let t=new Map,n=e,r=0;for(let e=0;n&&e<64;e+=1){let e=Kt(n);if(e===null)return null;let i=z(e),a=R(qt(i.firstCommand));if(a===null)return null;let o=+(a[0]===`do`||a[0]===`then`);for(;o<a.length;){let e=B(a,o);if(e!==null&&e<=a.length){o=e;continue}if(/^[A-Za-z_][A-Za-z0-9_]*\+?=/u.test(a[o]??``)){o+=1;continue}break}let s=nn(a[o]??``),c=s?t.get(s):void 0;if(c)return c;let l=a[0];if((l===`fi`||l===`done`||l===`esac`)&&(r=Math.max(0,r-1)),(l===`if`||l===`for`||l===`while`||l===`until`||l===`select`||l===`case`)&&(r+=1),r===0&&l===`unset`)for(let e of a.slice(1))t.delete(e);let u=+(a[0]===`export`),d=a.slice(u).map(tn);if(r===0&&d.length>0&&d.every(e=>e!==null))for(let e of d)e.program?t.set(e.name,e.program):t.delete(e.name);n=i.remainingCommand}return null}function an(e,t,n,r,i,a){let o=n;if(e===`command`)for(;o<t.length;){let e=t[o];if(e===`--`){o+=1;break}if(!e.startsWith(`-`)||e===`-`)break;if(e!==`-p`)return null;o+=1}else if(e===`builtin`){if(t[o]===`--`)o+=1;else if(t[o]?.startsWith(`-`))return null}else if(e===`exec`)for(;o<t.length;){let e=t[o];if(e===`--`){o+=1;break}if(e===`-a`){if(t[o+1]===void 0)return null;o+=2;continue}if(/^-a.+/u.test(e)||/^-[cl]+$/u.test(e)){o+=1;continue}if(e.startsWith(`-`)&&e!==`-`)return null;break}let s=t.slice(o);if(s.length===0)return null;let c=0;for(;c<s.length;){let e=B(s,c);if(e===null||e>s.length)break;c=e}let l=s[c];if(l&&/^[A-Za-z_][A-Za-z0-9_]*\+?=/u.test(l))return null;let u=H(Jt(s),r+1,e===`exec`?`exec`:`shell`,a);return u===null?e!==`exec`&&l&&l===l.toLowerCase()&&L.has(l)&&!zt.has(l)&&i?H(i,r,`shell`,a-1):null:u}function on(e,t,n,r){if(t>=8||r<=0)return null;let i=Kt(e);if(i===null||/^(?:catch|finally|for|foreach|function|if|param|switch|try|while)\s*[{(]/iu.test(i)||/^[A-Za-z_][A-Za-z0-9_]*\s*\(\s*\)\s*\{/u.test(i)||i.startsWith(`[[`))return null;let a=z(i);if(/^@["'](?:\r?\n)/u.test(a.firstCommand.trimStart()))return a.remainingCommand?H(a.remainingCommand,t,`shell`,r-1):null;let o=Qt(a.firstCommand,t,a.remainingCommand,r);if(o.matched)return o.program;let s=a.firstCommand.match(/^\s*((?:\.{1,2}|%[A-Za-z_][A-Za-z0-9_]*%|\$env:[A-Za-z_][A-Za-z0-9_]*)\\\S+)/iu)?.[1];if(s)return V(s);let c=R(qt(a.firstCommand));if(c===null)return null;let l=a.firstCommand.trimStart()[0];if(c.length===1&&(l===`"`||l===`'`)&&/[\s()=]/u.test(c[0]??``)&&!/[\\/]/u.test(c[0]??``))return a.remainingCommand?H(a.remainingCommand,t,n,r-1):null;let u=0,d=null,f=n,p=!1,m=!1;for(;u<c.length;){let e=c[u];if(!e)return null;let n=B(c,u);if(n!==null){if(n>c.length)return null;m=!0,u=n;continue}if(/^[A-Za-z_][A-Za-z0-9_]*\+?=/.test(e)){p=!0,u+=1;continue}if(f===`shell`&&e===`:`)return a.remainingCommand?H(a.remainingCommand,t,f,r-1):null;if(Lt.includes(e[0]??``)&&!(e.startsWith(`$`)&&e.includes(`/`)))return f===`shell`&&e.startsWith(`[`)&&a.remainingCommand?H(a.remainingCommand,t,f,r-1):null;let i=e.split(/[\\/]/).at(-1),o=e===i;if(i===`env`||i===`sudo`){d=i,f=`exec`,u+=1;continue}if(d!==null&&e===`--`){d=null,u+=1;continue}if(d!==null&&e.startsWith(`-`)){if(d===`env`&&(e===`-S`||e===`--split-string`)){let e=c[u+1];return e?H(e,t+1,f,r):null}if(d===`env`&&e.startsWith(`--split-string=`))return H(e.slice(15),t+1,f,r);if(Vt[d].has(e)){if(c[u+1]===void 0)return null;u+=2;continue}if(Ht[d].has(e)){u+=1;continue}let n=e.indexOf(`=`);if(e.startsWith(`--`)&&n>2){if(!Vt[d].has(e.slice(0,n)))return null;u+=1;continue}if(/^-[A-Za-z].+/.test(e)&&!e.startsWith(`--`)){let t=!1;for(let[n,r]of e.slice(1).split(``).entries()){let i=`-${r}`;if(Vt[d].has(i)){t=n===e.length-2;break}if(!Ht[d].has(i))return null}if(t&&c[u+1]===void 0)return null;u+=t?2:1;continue}return null}if(i&&Et.has(i.replace(/\.exe$/i,``).toLowerCase())){let e=Bt(c,u+1);if(e!==null){let n=c[e];return n?H(n,t+1,`shell`,r):null}}let s=i?.toLowerCase();if(s&&Dt.has(s)){let e=$t(s,c,u+1,t,a.remainingCommand,a.separator,r);if(e.matched)return e.program}if(s===`start-process`){let e=en(c,u+1);if(e!==null)return e}if(f===`shell`&&o&&i&&At.has(i)){if(u+=1,i===`time`&&c[u]===`-p`&&(u+=1),c[u]?.startsWith(`-`))return null;continue}if(o&&i){let e=Yt(i,c,u);if(e!==null){let n=H(Jt(c.slice(e)),t+1,`exec`,r);if(n!==null)return n}}return o&&i&&kt.has(i)?an(i,c,u+1,t,a.remainingCommand,r):(f===`shell`||d===`sudo`&&i&&It.has(i))&&o&&i&&L.has(i)&&(!zt.has(i)||i===`false`&&a.separator!==`&&`)&&a.remainingCommand||f===`shell`&&o&&s&&jt.has(s)&&a.remainingCommand?H(a.remainingCommand,t,`shell`,r-1):!i||o&&L.has(i)||Lt.includes(i[0]??``)||Rt.includes(i.at(-1)??``)||i.endsWith(`()`)||/^[A-Za-z_][A-Za-z0-9_]*\(\)\{$/u.test(i)?null:i||null}return(p||m)&&d===null&&a.remainingCommand?H(a.remainingCommand,t,f,r-1):null}function H(e,t,n,r=Tt){if(r<=0)return null;let i=Zt(e);return i===void 0?on(e,t,n,r)??(n===`shell`?rn(e):null):i}function sn(e,t=0){return H(e,t,`shell`,Tt)}var cn=/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/gu;function ln(e){return pn(mn(e))}var un=/[a-z][\w+.-]*:\/\/\S+|(?:\b[a-z]:)?[^\s"'`=,;:()<>|&]+/giu;function dn(e){if(e.includes(`://`)||/[*?[{]/u.test(e))return e;let t=e.replaceAll(`\\`,`/`).replace(/\/+$/u,``),n=t.lastIndexOf(`/`);if(n<0)return e;let r=t.slice(n+1);if(!/[a-z]/iu.test(r))return e;let i=/^(?:~|\.{1,2}|[a-z]:)?\//iu.test(t),a=/.\.[a-z0-9]+$/iu.test(r),o=t.split(`/`).length-1;return i||a||o>=2?r:e}function fn(e){return e.replace(un,dn)}function pn(e){return e.replace(cn,e=>e===``?`␡`:String.fromCharCode(9216+e.charCodeAt(0)))}function mn(e){let t=e.trim();if(z(t).remainingCommand!==null)return t;let n=R(t),r=n?.[0]?.split(/[\\/]/u).at(-1)?.replace(/\.exe$/iu,``);if(!n||!r||!Et.has(r))return t;let i=Bt(n,1);return i===null||i!==n.length-1?t:n[i]?.trim()||t}var hn=new Set([`powershell`,`pwsh`]),gn=new Set(`Add Approve Assert Backup Block Build Checkpoint Clear Close Compare Complete Compress Confirm Connect Convert ConvertFrom ConvertTo Copy Debug Deny Deploy Disable Disconnect Dismount Edit Enable Enter Exit Expand Export Find ForEach Format Get Grant Group Hide Import Initialize Install Invoke Join Limit Lock Measure Merge Mount Move New Open Optimize Out Ping Pop Protect Publish Push Read Receive Redo Register Remove Rename Repair Request Reset Resize Resolve Restart Restore Resume Revoke Save Search Select Send Set Show Skip Sort Split Start Step Stop Submit Suspend Switch Sync Tee Test Trace Unblock Undo Uninstall Unlock Unprotect Unpublish Unregister Update Use Wait Watch Where Write`.split(` `));function _n(e){let t=/^([A-Z][a-z]+(?:[A-Z][a-z]+)?)-[A-Z][A-Za-z]*$/u.exec(e);return t!==null&&gn.has(t[1])}function vn(e){let t=/^(?:&\s*)?(?:"([^"]*)"|'([^']*)'|(\S+))/u.exec(e.trim()),n=(t?.[1]??t?.[2]??t?.[3]??``).split(/[\\/]/u).at(-1)?.toLowerCase().replace(/\.exe$/u,``);return n&&hn.has(n)||yn(e)?`powershell`:`shellscript`}function yn(e){let t=e.trim();if(/^&\s*\S/u.test(t))return!0;for(let e=0;t&&e<Tt;e+=1){let{firstCommand:e,remainingCommand:n}=z(t),r=e.trim();if(/^\$(?:env|global|local|script):/iu.test(r)||/^\$[A-Za-z_]\w*\s+=/u.test(r)||_n(r.match(/^\S+/u)?.[0]??``))return!0;t=n}return!1}var bn=new Set([`cat`,`head`,`tail`,`nl`,`less`,`more`,`bat`,`sed`]),xn=new Set([`grep`,`egrep`,`fgrep`,`rg`,`ag`]),Sn=new Set([`ls`,`tree`,`find`]),Cn=new Set([`head`,`tail`,`wc`,`sort`,`uniq`,`cut`,`grep`,`cat`]),wn={head:new Set([`-n`,`-c`]),tail:new Set([`-n`,`-c`]),sed:new Set([`-e`,`-f`]),grep:new Set([`-e`,`-f`,`-m`,`-A`,`-B`,`-C`,`--regexp`,`--file`,`--max-count`]),rg:new Set([`-e`,`-f`,`-g`,`-t`,`-T`,`-m`,`-A`,`-B`,`-C`,`-M`,`--regexp`,`--file`,`--glob`,`--iglob`,`--type`,`--type-not`,`--max-count`,`--max-columns`,`--context`,`--after-context`,`--before-context`]),ag:new Set([`-G`,`-A`,`-B`,`-C`,`-m`]),tree:new Set([`-L`,`-I`,`-P`])};function Tn(e,t){let n=wn[e]??new Set,r=[],i=[],a=!1;for(let e=0;e<t.length;e+=1){let o=t[e];if(/^\d*(?:>>?|<|>&)/u.test(o)){/^\d*(?:>>?|<|>&)$/u.test(o)&&(e+=1);continue}if(!a&&o===`--`){a=!0;continue}if(!a&&o.startsWith(`-`)&&o!==`-`){if(n.has(o)){let n=t[e+1];(o===`-e`||o===`--regexp`)&&n!==void 0&&i.push(n),e+=1}else o.startsWith(`--regexp=`)&&i.push(o.slice(9));continue}r.push(o)}return{positionals:r,patterns:i}}function En(e){let t=R(e);if(!t||t.length===0)return null;let n=t[0].split(`/`).at(-1),{positionals:r,patterns:i}=Tn(n===`egrep`||n===`fgrep`?`grep`:n,t.slice(1));if(bn.has(n)){if(n===`sed`){if(!t.includes(`-n`)||t.includes(`-i`))return null;let e=i.length>0?r:r.slice(1);return e.length>0?{kind:`read`,paths:e}:null}return r.length>0?{kind:`read`,paths:r}:null}if(xn.has(n)){let e=i[0]??r[0];return e?{kind:`search`,query:e,targets:i.length>0?r:r.slice(1)}:null}return Sn.has(n)?{kind:`list`,target:n===`find`?t.slice(1).find(e=>!e.startsWith(`-`)&&e!==`(`)??null:r[0]??null}:null}function Dn(e){let t=mn(e).trim(),n=null,r=null;for(;t;){let e=z(t),i=e.firstCommand.trim();if(r===null){if(/^cd(?:\s|$)/u.test(i)&&e.separator===`&&`){t=e.remainingCommand;continue}if(r=En(i),r===null)return null}else{let e=R(i)?.[0]?.split(`/`).at(-1);if(n!==`|`||!e||!Cn.has(e))return null}n=e.separator,t=e.remainingCommand}return r}function On(e){return e.replace(/[\\/]+$/u,``).split(/[\\/]/u).at(-1)||e}function kn(e,t,n=On){let r=Dn(e);if(!r)return null;let i=t===`past`,a=e=>e[0]===void 0?``:`${n(e[0])}${e.length>1?` +${e.length-1} more`:``}`;switch(r.kind){case`read`:return`${i?`Read`:`Reading`} ${a(r.paths)}`;case`search`:{let e=a(r.targets);return`${i?`Searched`:`Searching`} for ${r.query}${e?` in ${e}`:``}`}case`list`:return`${i?`Listed`:`Listing`} files${r.target?` in ${a([r.target])}`:``}`}}function U(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function W(e){return typeof e==`string`&&e.trim()!==``?e:void 0}function G(e,t=0){if(t>4)return{failed:!1};if(typeof e==`string`)try{return G(JSON.parse(e),t+1)}catch{return{failed:!1}}if(Array.isArray(e)){let n,r=!1;for(let i of e){let e=U(i),a=e?.text??U(e?.content)?.text,o=G(U(a)?.text??a,t+1);n??=o.data,r||=o.failed}return{...n?{data:n}:{},failed:r}}let n=U(e);if(!n)return{failed:!1};let r=n.isError===!0||n.is_error===!0||typeof n._tag==`string`&&/(?:Error|Failure)$/.test(n._tag)||n.error!=null,i=n.structuredContent??n.content;if(i!==void 0){let e=G(i,t+1);return{...e.data?{data:e.data}:{},failed:r||e.failed}}return{data:n,failed:r}}function An(e){let t=G(e).data;return t&&typeof t.toolName==`string`?U(t.args):t}function jn(e){return G(e).failed}function K(e){return new Set(e.filter(e=>e!==void 0)).size+e.filter(e=>e===void 0).length}function q(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function Mn(e,t){let n=t.map(e=>{let t=G(e.output);return{input:An(e.input),output:t.data,outcome:t.failed?`failed`:e.outcome}}),r=n.filter(e=>e.outcome===`completed`),i=n.filter(e=>e.outcome===`failed`).length,a=r.length>0?r:n,o=q(a.length,`time`),s=(e,t,n)=>`${r.length>0?e:`Tried to ${t}`} ${n}`,c=e=>a.map(t=>W(t.output?.[e])??W(t.input?.[e])),l=a.map(e=>W(e.output?.id)??W(e.output?.projectId)??W(e.input?.projectId)),u=a.map(e=>W(e.output?.threadId)??W(U(e.output?.thread)?.threadId)??W(e.input?.threadId)),d;switch(e){case`thread-send`:{let e=K(a.map(e=>W(e.output?.messageId))),t=u.every(e=>e!==void 0),n=new Set(u).size;d=s(`Sent`,`send`,t?e===n&&e>1?`messages to ${q(n,`thread`)}`:`${q(e,`message`)} to ${q(n,`thread`)}`:q(e,`message`));break}case`thread-create`:{let e=[];d=r.length>0&&r.every(t=>(Array.isArray(t.output?.threads)?t.output.threads:[t.output]).every(t=>{let n=U(t);if(n?.status===`rolled_back`)return!0;let r=W(n?.threadId);return r?(e.push(r),!0):!1}))?`Created ${q(new Set(e).size,`thread`)}`:`Requested thread creation ${o}`;break}case`delegate`:d=s(`Delegated`,`delegate`,q(K(c(`taskId`)),`task`));break;case`thread-read`:case`thread-wait`:{let t=u.every(e=>e!==void 0)?q(new Set(u).size,`thread`):`threads ${o}`;d=e===`thread-read`?s(`Read`,`read`,t):s(`Waited on`,`wait on`,t);break}case`thread-list`:d=s(`Listed`,`list`,`threads ${o}`);break;case`thread-interrupt`:d=s(`Requested interrupts for`,`interrupt`,q(K(u),`thread`));break;case`workflow-stop`:d=s(`Requested stops for`,`stop`,q(K(c(`subagentId`)),`workflow`));break;case`task-status`:d=s(`Checked`,`check`,`task status ${o}`);break;case`task-cancel`:d=s(`Requested cancellation of`,`cancel`,q(K(c(`taskId`)),`task`));break;case`schedule-create`:d=s(`Scheduled`,`schedule`,q(K(c(`scheduledTaskId`)),`task`));break;case`schedule-list`:d=s(`Listed`,`list`,`scheduled tasks ${o}`);break;case`schedule-update`:d=s(`Updated`,`update`,q(K(c(`scheduledTaskId`)),`scheduled task`));break;case`schedule-delete`:d=s(`Requested deletion of`,`delete`,q(K(c(`scheduledTaskId`)),`scheduled task`));break;case`schedule-run`:d=s(`Requested`,`request`,q(a.length,`scheduled task run`));break;case`thread-configuration`:d=s(`Checked`,`check`,`thread configuration ${o}`);break;case`thread-configure`:d=s(`Set`,`set`,`thread model ${o}`);break;case`thread-fork`:d=s(`Requested`,`request`,q(a.length,`thread fork`));break;case`thread-merge`:d=s(`Requested`,`request`,q(a.length,`context merge`));break;case`thread-search`:d=s(`Searched`,`search`,`threads ${o}`);break;case`thread-transfers`:d=s(`Checked`,`check`,`thread transfers ${o}`);break;case`thread-organize`:d=s(`Organized`,`organize`,`threads ${o}`);break;case`thread-update`:d=s(`Updated`,`update`,q(K(u),`thread`));break;case`queue-list`:d=s(`Listed`,`list`,`queued messages ${o}`);break;case`queue-read`:d=s(`Read`,`read`,q(K(c(`queuedRunId`)),`queued message`));break;case`queue-edit`:d=s(`Edited`,`edit`,q(K(c(`queuedRunId`)),`queued message`));break;case`queue-cancel`:d=s(`Requested cancellation of`,`cancel`,q(K(c(`queuedRunId`)),`queued run`));break;case`queue-reorder`:d=s(`Reordered`,`reorder`,q(K(c(`queuedRunId`)),`queued run`));break;case`queue-steer`:d=s(`Requested steering with`,`steer with`,q(K(c(`queuedRunId`)),`queued message`));break;case`question-list`:d=s(`Listed`,`list`,`pending requests ${o}`);break;case`question-read`:d=s(`Read`,`read`,q(K(c(`requestId`)),`pending request`));break;case`question-respond`:d=s(`Responded to`,`respond to`,q(K(c(`requestId`)),`pending request`));break;case`secret-request`:d=s(`Asked for`,`ask for`,q(a.length,`secret`));break;case`worktree-handoff`:d=s(`Handed off to`,`hand off to`,q(K(c(`worktreePath`)),`worktree`));break;case`worktree-list`:d=s(`Listed`,`list`,`workspace branches ${o}`);break;case`worktree-status`:d=s(`Checked`,`check`,`worktree status ${o}`);break;case`project-list`:d=s(`Listed`,`list`,`projects ${o}`);break;case`project-read`:d=s(`Read`,`read`,q(K(l),`project`));break;case`project-create`:d=s(`Registered`,`register`,q(K(l),`project`));break;case`project-update`:d=s(`Updated`,`update`,q(K(l),`project`));break;case`project-delete`:d=s(`Deleted`,`delete`,q(K(l),`project`));break;case`project-clone`:d=s(`Cloned`,`clone`,q(K(c(`cwd`)),`repository`,`repositories`));break;case`environment-read`:d=s(`Checked`,`check`,`environment preferences ${o}`);break;case`environment-update`:d=s(`Updated`,`update`,`environment preferences ${o}`);break;case`attachment-prepare`:d=s(`Prepared`,`prepare`,q(K(c(`attachmentId`)),`attachment upload`));break;case`attachment-discard`:d=s(`Discarded`,`discard`,q(K(c(`attachmentId`)),`pending attachment`));break;case`attachment-send`:{let e=new Map;a.forEach((t,n)=>e.set(W(t.output?.messageId)??`call-${n}`,t));let t=[...e.values()].reduce((e,t)=>e+(Array.isArray(t.input?.attachments)?t.input.attachments.length:0),0),n=[...e.values()].every(e=>Array.isArray(e.input?.attachments)&&e.input.attachments.length>0),r=u.every(e=>e!==void 0)?` to ${q(new Set(u).size,`thread`)}`:``;d=s(`Sent`,`send`,n?`${q(t,`attachment`)}${r}`:`attachments${r} ${o}`);break}case`link-pr`:d=s(`Linked`,`link`,q(a.length,`pull request`));break;case`unlink-pr`:d=s(`Unlinked`,`unlink`,q(a.length,`pull request`));break;case`watch-pr`:d=s(`Watching`,`watch`,q(a.length,`pull request`));break;case`unwatch-pr`:d=s(`Stopped watching`,`stop watching`,q(a.length,`pull request`));break;case`list-prs`:d=s(`Checked`,`check`,`linked pull requests${a.length===1?``:` ${o}`}`);break;case`write-pr-guides`:{let e=a.flatMap(e=>Array.isArray(e.output?.guides)?e.output.guides.map(e=>U(e)?.outcome):[]),t=e.filter(e=>e!==`failed`).length,n=e.length-t;i+=n,d=e.length>0&&t===0?`Could not start ${q(n,`review guide`)}`:s(`Started`,`start`,e.length===0?`review guides ${o}`:`${q(t,`review guide`)}${n>0?`, ${n} failed`:``}`);break}case`read-pr-guide`:d=s(`Read`,`read`,q(a.length,`review guide`));break;case`browser`:d=s(`Used`,`use`,`browser ${o}`);break;case`decide`:d=s(`Asked`,`ask`,`Decisions ${o}`);break;case`device`:d=s(`Used`,`use`,`device controls ${o}`);break;case`html-preview`:d=s(`Previewed`,`preview`,q(a.length,`HTML page`));break;case`html-render`:d=s(`Rendered`,`render`,q(a.length,`HTML page`));break;case`capabilities`:d=s(`Checked`,`check`,`orchestration capabilities ${o}`)}return{label:d,failedCount:i}}function Nn(e){return e.status===`running`?`Compacting context`:e.beforeTokenCount!==void 0&&e.afterTokenCount!==void 0?`Context compacted ${ce(e.beforeTokenCount)} → ${ce(e.afterTokenCount)} tokens`:`Context compacted`}function Pn(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function J(e){let t=e.structuredPayload;if(t?.type===`dynamic_tool`&&t.toolName)return t.toolName;let n=Y(e.toolData);return typeof n?.server==`string`&&typeof n.tool==`string`?`${n.server}.${n.tool}`:typeof n?.toolName==`string`?n.toolName:A(e.toolTitle)?e.toolTitle:e.label}function Fn(e){let t=e.structuredPayload,n=Y(e.toolData);return t?.type===`dynamic_tool`?t.output:n?.output??n?.result??n?.rawOutput??n?.content}function In(e,t,n){if(!e)return null;let[r,i,a,o]=e.labels,s=t===`inProgress`?i:t===`completed`?a:t===`failed`?`Failed to ${r.toLowerCase()}`:t===`declined`?`Declined to ${r.toLowerCase()}`:t===`stopped`?`Stopped ${i.toLowerCase()}`:i,c=e.summaryAction===`link-pr`||e.summaryAction===`unlink-pr`||e.summaryAction===`list-prs`||e.summaryAction===`watch-pr`||e.summaryAction===`unwatch-pr`?e.summaryAction:void 0,l=Y(n),u=Y(l?.arguments)??Y(l?.input)??Y(l?.rawInput),d=(typeof u?.url==`string`?ie(u.url):null)?.number??u?.number;return{displayName:`${s} ${c!==void 0&&c!==`list-prs`&&typeof d==`number`&&Number.isSafeInteger(d)&&d>0?`PR #${d}`:o}`,icon:e.icon,...c===void 0?{}:{action:c}}}function Ln(e,t){return e===`failed`||e===`declined`||e===`stopped`||e===`idle`?e:t||e===`inProgress`?`inProgress`:`completed`}function Rn(e,t){let n=A(J(e)),r=e.toolLifecycleStatus??t;return In(n,n&&jn(Fn(e))?`failed`:r,e.toolData)}function Y(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function zn(e){return e.tone===`tool`||e.tone===`thinking`||e.tone===`error`||e.command!==void 0&&e.command.trim().length>0||e.requestKind!==void 0||e.itemType!==void 0&&d(e.itemType)}function Bn(e,t){if(e.tone===`error`||e.toolLifecycleStatus===`failed`||e.toolLifecycleStatus===`declined`)return!0;if(!zn(e))return!1;if(A(J(e))&&jn(Fn(e)))return!0;let n=e.structuredPayload;if(n?.type===`command_execution`&&(n.outputIndicatesFailure||n.exitCode!==void 0&&n.exitCode!==0||n.output&&ct(n.output.slice(0,32768))))return!0;let r=t?[e.detail,e.command].filter(Boolean).join(`
25
25
  `):e.detail??``;return r.length>0&&ct(r)}function Vn(e){return Bn(e,!0)}function Hn(e){return Bn(e,!1)}function Un(e){return e.itemType===`file_search`||e.itemType===`web_search`&&/\bgrep\b/i.test(Pn(e.toolTitle??e.label))}function X(e){if(e.itemType===`thread_created`)return`thread-create`;let t=Rn(e);if(t?.action!==void 0)return t.action;if(t?.icon===`browser`)return`browser`;if(t?.icon===`device`)return`device`;if(e.requestKind===`file-read`||e.viewedImagePath!==void 0)return`read`;if(e.itemType===`approval_request`||e.itemType===`user_input_request`)return zn(e)?`other`:`update`;let n=e.itemType===`command_execution`&&e.command?Dn(e.command):null;if(n)return n.kind===`read`?`read`:`code-search`;let r=Y(e.toolData)??{},i=e.structuredPayload?.type===`dynamic_tool`?e.structuredPayload.toolName:typeof r.toolName==`string`?r.toolName:e.toolTitle,a=_e({itemType:e.itemType===`command_execution`||e.itemType===`file_change`||e.itemType===`web_search`?e.itemType:e.itemType===`dynamic_tool`?`dynamic_tool_call`:void 0,title:e.toolTitle??e.label,data:{...r,...i?{toolName:i}:{}}});return a===`read`?`read`:a===`file_change`||e.itemType===`file_change`?`edit`:a===`command`||e.itemType===`command_execution`||e.command?`command`:a===`search`?e.itemType===`web_search`&&!Un(e)?`search`:`code-search`:Un(e)?`code-search`:e.itemType===`web_search`?`search`:(e.changedFiles?.length??0)>0?`edit`:zn(e)?`other`:`update`}function Wn(e){let t=e.viewedImagePath?.trim();if(t!==void 0&&!/[\r\n]/.test(t)&&_(t))return t;let n=e.detail?.trim();return X(e)===`read`&&n!==void 0&&!/[\r\n]/.test(n)&&_(n)?n:null}function Gn(e,t){let n=oe(e,t.workspaceRoot??`.`);if(n._tag!==`WorkspaceFile`)return null;let r=t.workspaceRoot==null&&n.path.startsWith(`./`)?n.path.slice(2):n.path,i=se(e,{threadId:t.threadId,workspaceRoot:t.workspaceRoot,resolvedFilePath:r});return i===null||i.access!==`environment`?null:{resource:i.resource,alt:i.name,srcFragment:i.srcFragment}}function Kn(e,t){if(e!==`edit`)return t.length;let n=new Set,r=0;for(let e of t)if(!e.changedFiles||e.changedFiles.length===0)r+=1;else for(let t of e.changedFiles)n.add(t);return n.size+r}function qn(e,t){switch(e){case`link-pr`:return`Linked ${t} ${t===1?`pull request`:`pull requests`}`;case`unlink-pr`:return`Unlinked ${t} ${t===1?`pull request`:`pull requests`}`;case`watch-pr`:return`Watching ${t} ${t===1?`pull request`:`pull requests`}`;case`unwatch-pr`:return`Stopped watching ${t} ${t===1?`pull request`:`pull requests`}`;case`list-prs`:return t===1?`Checked linked pull requests`:`Checked linked pull requests ${t} times`;case`read`:return`Read ${t} ${t===1?`file`:`files`}`;case`edit`:return`Changed ${t} ${t===1?`file`:`files`}`;case`command`:return`Ran ${t} ${t===1?`command`:`commands`}`;case`thread-create`:return`Created ${t} ${t===1?`thread`:`threads`}`;case`device`:return`Used device controls ${t} ${t===1?`time`:`times`}`;case`browser`:return`Used browser ${t} ${t===1?`time`:`times`}`;case`search`:return`Searched the web ${t} ${t===1?`time`:`times`}`;case`code-search`:return`Searched code ${t} ${t===1?`time`:`times`}`;case`other`:return`Used ${t} ${t===1?`tool`:`tools`}`;case`update`:return`Received ${t} ${t===1?`update`:`updates`}`}}function Jn(e){let t=e.structuredPayload,n=e.toolData!==null&&typeof e.toolData==`object`?e.toolData:void 0;return{input:t?.type===`dynamic_tool`?t.input:n?.arguments??n?.input??n?.rawInput,output:Fn(e),outcome:e.toolLifecycleStatus===`failed`||e.toolLifecycleStatus===`declined`||e.tone===`error`?`failed`:e.toolLifecycleStatus===`completed`?`completed`:`unfinished`}}function Yn(e){switch(e){case`command`:case`edit`:case`delegate`:case`task-cancel`:case`thread-create`:case`thread-send`:case`thread-interrupt`:case`workflow-stop`:case`schedule-create`:case`schedule-update`:case`schedule-delete`:case`schedule-run`:case`thread-configure`:case`thread-fork`:case`thread-merge`:case`thread-organize`:case`thread-update`:case`queue-edit`:case`queue-cancel`:case`queue-reorder`:case`queue-steer`:case`question-respond`:case`worktree-handoff`:case`project-create`:case`project-update`:case`project-delete`:case`project-clone`:case`environment-update`:case`attachment-prepare`:case`attachment-discard`:case`attachment-send`:return 0;case`other`:case`update`:return 2;default:return 1}}function Xn(e){let t=e.filter(e=>e.itemType!==`reasoning`);if(e.length>0&&t.length===0)return{summary:e.length===1?`Thought`:`Thought (×${e.length})`,hasFailure:!1};e=t;let n=new Map,r=new Map;for(let t of e){let e=A(J(t))?.summaryAction??null;if(t.toolSource&&e===null){r.set(t.toolSource.key,t.toolSource);continue}let i=X(t),a=e??i,o=n.get(a);o?o.entries.push(t):n.set(a,{action:i,p4Action:e,entries:[t]})}let i=[...n].map(([e,t],n)=>({index:n,count:t.entries.length,priority:Yn(e),...t.p4Action?Mn(t.p4Action,t.entries.map(Jn)):{label:qn(t.action,Kn(t.action,t.entries)),failedCount:t.entries.filter(Hn).length}})),a=[...i].sort((e,t)=>e.priority-t.priority||e.index-t.index).slice(0,2).sort((e,t)=>e.index-t.index),o=a.map(({label:e})=>e);if(r.size>0){let e=[...r.values()],t=[...new Set(e.map(e=>e.name))],n=t.length<2?t[0]:t.length===2?t.join(` and `):`${t.slice(0,-1).join(`, `)}, and ${t.at(-1)}`,i=e.every(e=>e.kind===`integration`);o.unshift(`Used ${n}${i?` ${t.length===1?`integration`:`integrations`}`:``}`)}let s=e.filter(e=>e.toolSource!==void 0&&A(J(e))===null).length,c=e.length-s-a.reduce((e,t)=>e+t.count,0);c>0&&o.push(`Performed ${c} other ${c===1?`action`:`actions`}`);let l=o.map((e,t)=>t===0?e:e.charAt(0).toLowerCase()+e.slice(1));return{summary:l.length<3?l.join(` and `):`${l.slice(0,-1).join(`, `)}, and ${l.at(-1)}`,hasFailure:i.some(e=>e.failedCount>0)}}function Zn(e){let t=e.filter(e=>e.itemType!==`reasoning`);if(e.length>0&&t.length===0)return`reasoning`;if(e=t,e.length>0&&e.every(e=>Rn(e)?.icon===`pull-request`))return`pull-request`;let n=new Set(e.map(X));if(n.size!==1)return`mixed`;let r=n.values().next().value;if(r!==`other`)return r;let i=new Set(e.map(e=>e.itemType===`dynamic_tool`?`dynamic-tool`:e.itemType===`subagent`||e.tone===`thinking`?`agent-tool`:e.tone===`tool`?`tone-tool`:`other`));return i.size===1?i.values().next().value:`mixed`}function Qn(e){let t=/^\s*\*\*([^*\r\n]+)\*\*[ \t]*\r?(?:\n|$)/.exec(e)?.[1],n=(t??e).replace(/!?\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/^[ \t]*(?:#{1,6}|[-*+]|\d+\.)[ \t]+/gm,``).replace(/`+|\*\*|~~/g,``).replace(/(^|[^\w*])[*_]([^*_\n]+)[*_](?![\w*])/g,`$1$2`).replace(/\s+/g,` `).trim();if(t!==void 0)return n;let r=/[.?!]["'”’)]?(?=\s)/.exec(n);return r?n.slice(0,r.index+r[0].length):n}function $n(e,t){if(e?.status!==`failed`)return null;let n=null;for(let r of t)r.type===`error`&&r.status===`failed`&&r.runId===e.id&&r.nodeId===e.rootNodeId&&(n===null||c(r.updatedAt)>c(n.updatedAt)||c(r.updatedAt)===c(n.updatedAt)&&(r.ordinal>n.ordinal||r.ordinal===n.ordinal&&r.id>n.id))&&(n=r);return n?.failure??null}function er(e,t){let n=t!==null&&t!==e?.message?null:e;return{usageLimitResetAt:n?.class===`usage_limit`?n.resetAt??null:null,lastError:t??e?.message??null,lastErrorClass:t!==null&&t!==e?.message?null:e?.class??null}}function tr(e){let t=null;for(let n of e)n.status!==`queued`&&(n.status!==`cancelled`||n.startedAt!==null)&&(t===null||nr(n,t))&&(t=n);return t}function nr(e,t){let n=e=>e.completedAt?c(e.completedAt):1/0;return n(e)===n(t)?e.ordinal>t.ordinal:n(e)>n(t)}function rr(e,t,n){let r=tr(e);return r?.status===`failed`&&er($n(r,t),n).lastErrorClass===`usage_limit`?r:null}function ir(e,t,n){let r=rr(e,t,n);return r!==null&&e.some(e=>e.ordinal>r.ordinal)?r:null}function ar(e){let t=null;for(let n of e)(n.status!==`queued`||n.queueHeld!==!0)&&(t===null||n.ordinal>t.ordinal)&&(t=n);return t}function or(e,t){if(e.startedAt===null)return null;let n=m(e.status)?t:e.completedAt===null?null:Date.parse(e.completedAt);if(n===null)return null;let r=Date.parse(e.startedAt);return Number.isFinite(r)&&Number.isFinite(n)?Math.max(0,n-r):null}function sr(e){if(!Number.isFinite(e)||e<0)return`0ms`;if(e<1e3)return`${Math.max(1,Math.round(e))}ms`;if(e<1e4){let t=Math.round(e/100)/10;return t>=10?`10s`:`${t.toFixed(1)}s`}if(e<6e4)return`${Math.round(e/1e3)}s`;let t=Math.round(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=[];return n>0&&a.push(`${n}h`),r>0&&a.push(`${r}m`),i>0&&a.push(`${i}s`),a.join(` `)}var cr=new Set([`preparing`,`starting`,`running`,`waiting`]),lr=new Set([`preparing`,`starting`,`running`]);function ur(e,t){return e.runs.reduce((e,n)=>t(n)&&(e===null||n.ordinal>e.ordinal)?n:e,null)}function dr(e,t){let r=cr.has(t.status)?n(e.providerTurns,t.activeAttemptId)?.status:void 0;return{runId:t.id,status:t.status,requestedAt:l(t.requestedAt),startedAt:t.startedAt===null?null:l(t.startedAt),completedAt:t.completedAt===null?null:l(t.completedAt),assistantMessageId:e.messages.findLast(e=>e.runId===t.id&&e.role===`assistant`)?.id??null,...r===void 0||r===`pending`||r===`running`?{}:{turnEnded:!0},...t.sourcePlanRef===void 0?{}:{sourcePlanRef:t.sourcePlanRef}}}function fr(e){let t=e.providerSessions.findLast(t=>t.providerInstanceId===e.thread.providerInstanceId);return ir(e.runs,e.turnItems,t?.lastError??null)}function pr(e){return fr(e)??ar(e.runs)}function mr(e){let t=pr(e);return t===null?null:dr(e,t)}function hr(e){let t=ur(e,e=>cr.has(e.status))??pr(e);return t===null?null:dr(e,t)}function gr(e){let t=_r(e);return t!==null&&m(t.status)?t.startedAt:null}function _r(e){if(!o(e.thread))return null;let t=e.nodes.findLast(e=>e.kind===`root_turn`&&e.runId===null);return t===void 0?null:{status:t.status,startedAt:t.startedAt===null?null:l(t.startedAt),completedAt:t.completedAt===null?null:l(t.completedAt)}}function vr(e){return e.providerThreads.find(t=>t.id===e.thread.activeProviderThreadId&&t.providerInstanceId===e.thread.modelSelection.instanceId)?.nativeMetadata?.modelSelection??null}var yr=[`reasoningEffort`,`effort`,`reasoning`,`variant`];function br(t,n=[],r){let i=n.find(e=>e.slug===t.model)?.capabilities;if(!i)return null;let o=e({caps:i,selections:t.options});for(let e of yr){let n=o.find(t=>t.id===e);if(n?.type!==`select`)continue;let i=a(n,t,r);if(i)return i}return null}var xr={idle:`Idle`,pending:`Working`,running:`Working`,waiting:`Waiting`,completed:`Completed`,interrupted:`Interrupted`,failed:`Failed`,cancelled:`Cancelled`,rolled_back:`Cancelled`};function Sr(e,t){if(e===null)return`Starting`;let n=xr[e.status],r=m(e.status);if(!r&&e.status!==`completed`)return n;let i=e.startedAt===null?NaN:Date.parse(e.startedAt),a=r?t:e.completedAt===null?NaN:Date.parse(e.completedAt);if(!Number.isFinite(i)||!Number.isFinite(a))return n;let o=sr(Math.max(1e3,Math.floor((a-i)/1e3)*1e3));return r?`${n} ${o}`:`${n} in ${o}`}function Cr(e){let n=mr(e),r=e.providerSessions.findLast(t=>t.providerInstanceId===e.thread.providerInstanceId),i=fr(e),a=pr(e),o=hr(e),s=ur(e,e=>cr.has(e.status)),c=ne(te({latestRun:a,providerThreads:e.providerThreads,turnItems:e.turnItems,activeProviderThreadId:e.thread.activeProviderThreadId,runs:e.runs,pullRequests:e.thread.pullRequests}));if(n===null&&e.thread.activeProviderThreadId===null&&!c)return null;let u=ur(e,e=>lr.has(e.status))?.id??null;return{status:i?`failed`:c&&a?.status!==`failed`?`idle`:o?.status??`idle`,activeRunId:u,activityStartedAt:s===null?null:l(t(s)),providerInstanceId:e.thread.providerInstanceId,providerName:r?.driver??null,...er($n(a,e.turnItems),r?.lastError??null),updatedAt:l(e.updatedAt)}}function wr(e){return ee(e)&&e?.activeRunId!==null&&e?.activeRunId!==void 0}var Z={subagent:{order:0,singular:`subagent`,plural:`subagents`},command:{order:1,singular:`command`,plural:`commands`},monitor:{order:2,singular:`monitor`,plural:`monitors`},background_task:{order:3,singular:`background task`,plural:`background tasks`}};function Tr(e){return e.length<=1?e.join(``):`${e.slice(0,-1).join(`, `)} and ${e.at(-1)}`}function Er(e){if(e.length===0)return null;let t=ne(e),n=e.map(e=>{let t=e.description?.trim(),n=e.kind===`subagent`&&t!==void 0?re(t).trim():t;return{taskId:e.taskId,kind:e.kind,label:n===void 0||n.length===0?Z[e.kind].singular:n,childThreadId:e.kind===`subagent`?e.childThreadId:void 0}}).sort((e,t)=>Z[e.kind].order-Z[t.kind].order),[r]=n;if(n.length===1&&r!==void 0){let e=Z[r.kind].singular,i=r.label!==e;return{title:t?i?`${r.kind===`monitor`?``:`Waiting on ${e} `}${r.label}`:`Waiting on a ${e}`:i?`Running: ${r.label}`:`Running a ${e}`,items:n,waiting:t}}let i=new Map;for(let e of n)i.set(e.kind,(i.get(e.kind)??0)+1);let a=Array.from(i,([e,t])=>{let{singular:n,plural:r}=Z[e];return`${t} ${t===1?n:r}`});return{title:`${t?`Waiting on`:`Running`} ${Tr(a)}`,items:n,waiting:t}}var Dr={active:`Pursuing goal`,paused:`Goal paused`,blocked:`Goal blocked`,usage_limited:`Goal hit a usage limit`,budget_limited:`Goal reached its token budget`,complete:`Goal complete`};function Or(e){return e<1e3?`${e}`:e<1e6?`${Math.round(e/1e3)}k`:`${(e/1e6).toFixed(1).replace(/\.0$/,``)}m`}function kr(e,t){let n=[];return e.tokensUsed!==void 0&&e.tokensUsed>0&&n.push(e.tokenBudget==null?`${Or(e.tokensUsed)} tokens`:`${Or(e.tokensUsed)} / ${Or(e.tokenBudget)} tokens`),e.timeUsedSeconds!==void 0&&e.timeUsedSeconds>=60&&n.push(sr(e.timeUsedSeconds*1e3)),e.checks!==void 0&&e.checks>0&&n.push(`${e.checks} ${e.checks===1?`check`:`checks`}`),{title:e.status===`active`&&!t?`Goal set`:Dr[e.status],objective:e.objective,usage:n.length===0?null:n.join(` · `),canResume:e.status!==`active`&&e.status!==`complete`}}function Ar(e){switch(e.kind){case`subagent`:case`delegated_task`:return e.childThreadId;case`command`:case`monitor`:case`background_task`:case`system`:return;default:return}}var jr=`Preparing workspace`;function Mr(e){return e.type===`command_execution`&&e.input===jr||e.type===`error`&&e.status===`cancelled`&&e.failure.code===`workspace_preparation_failed`}function Nr(e,t){let n=new Set(e.flatMap(e=>e.status===`failed`&&e.workspacePreparation!==void 0?[e.id]:[])),r=new Set;if(n.size===0)return r;for(let e of t)e.type===`error`&&e.status===`failed`&&e.failure.code===`workspace_preparation_failed`&&e.runId!==null&&n.has(e.runId)&&r.add(e.runId);return r}function Pr(e){return e.tone===`tool`||e.tone===`thinking`||e.tone===`error`||e.command!==void 0||e.requestKind!==void 0}function Fr(e){return e.itemType===`error`}function Ir(e){if(!Pr(e)||Vn(e)||e.tone===`thinking`&&e.itemType!==`reasoning`)return!1;let t=e.toolLifecycleStatus;return t!==`failed`&&t!==`declined`&&t!==`inProgress`&&t!==`stopped`&&t!==`idle`}function Lr(e){return Pr(e)&&!Vn(e)&&!Ir(e)}function Rr(e,t){return e===null||e.status===`preparing`||e.status===`queued`||e.status===`starting`||e.status===`running`||e.status===`waiting`?!1:t?.activeRunId!==e.runId}function zr(e,t,n){return g({latestRun:e,runtime:t})??(t?.activeRunId==null?n:null)}function Br(e){return[...e].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function Vr(e){return[...e].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function Hr(e,t){if(e===null)return null;let n=e.plans.filter(e=>e.kind===`todo_list`),r=[...n].toReversed().find(e=>e.runId===t)??n.at(-1)??null;return r===null||r.steps.length===0?null:{createdAt:Q(e,r.id),runId:r.runId,explanation:r.explanation??null,steps:r.steps.map(({text:e,status:t,durationMs:n})=>({step:e,status:t===`running`?`inProgress`:t,...n===void 0?{}:{durationMs:n}}))}}function Q(e,t){let n=e.turnItems.findLast(e=>(e.type===`proposed_plan`||e.type===`todo_list`)&&e.planId===t);return l(n?.updatedAt??e.updatedAt)}function Ur(e,t){let n=Q(e,t.id);return{id:t.id,createdAt:n,updatedAt:n,runId:t.runId,planMarkdown:t.markdown,status:t.status}}function Wr(e,t){if(e===null)return null;let n=e.plans.filter(e=>e.kind===`proposed_plan`),r=t?n.filter(e=>e.runId===t):n,i=[...r.length>0?r:n].toSorted((t,n)=>Q(e,t.id).localeCompare(Q(e,n.id))||t.id.localeCompare(n.id)).at(-1);return i===void 0?null:Ur(e,i)}function Gr(e){return e?.status===`active`}var Kr=new Set([`fork`,`handoff`,`run_interrupt_request`,`run_interrupt_result`,`secret_request`,`mcp_sign_in_request`,`subagent`]),qr=new Set([`fork`,`thread_created`,`secret_request`,`mcp_sign_in_request`]);function Jr(e){return e.kind===`event`&&qr.has(e.projectedItem.item.type)}function $(e){return l(e.item.startedAt??e.item.updatedAt)}function Yr(e){switch(e.status){case`pending`:case`running`:case`waiting`:return`inProgress`;case`completed`:return`completed`;case`idle`:return`idle`;case`failed`:return`failed`;case`cancelled`:case`interrupted`:return`stopped`}}function Xr(e){if(e.type===`error`)return`info`;if(e.type===`reasoning`)return`thinking`;switch(e.type){case`command_execution`:case`file_change`:case`file_search`:case`web_search`:case`dynamic_tool`:case`subagent`:case`thread_created`:case`user_input_request`:case`approval_request`:return`tool`;default:return`info`}}function Zr(e){if(e.retry===void 0)return{label:e.failure.class===`usage_limit`?`Usage limit reached`:e.title?.trim()||`Provider error`,detail:e.failure.message};let t=e.retry.maxAttempts===null?`${e.retry.attempt}`:`${e.retry.attempt}/${e.retry.maxAttempts}`,n=e.status===`running`?`Retrying provider (${t})`:e.status===`completed`?`Provider recovered (${t} retries)`:e.status===`failed`?`${e.failure.class===`usage_limit`?`Usage limit reached`:`Provider error`} after ${t} retries`:`Provider retry stopped (${t})`,r=e.status===`running`&&e.retry.retryDelayMs!==null&&e.retry.retryDelayMs>0?e.retry.retryDelayMs<1e3?` Retrying in ${e.retry.retryDelayMs}ms.`:` Retrying in ${(e.retry.retryDelayMs/1e3).toFixed(1).replace(/\.0$/u,``)}s.`:``;return{label:n,detail:`${e.failure.message}${r}`}}function Qr(e){let{item:t}=e,n=t.title?.trim()||null,r={id:t.id,createdAt:$(e),runId:t.runId,tone:Xr(t),itemType:t.type,toolLifecycleStatus:Yr(t),structuredPayload:t,projectedItem:e,...ke(t)};switch(t.type){case`thread_created`:return{...r,label:`Created thread`};case`compaction`:return{...r,label:Nn(t),sourceActivityKind:`context-compaction`,...t.summary?{detail:t.summary}:{}};case`reasoning`:return{...r,label:n??`Thinking`,...t.text?{detail:t.text}:{}};case`command_execution`:return{...r,label:n??`Ran command`,command:t.input,rawCommand:t.input,toolTitle:n??`Command`,toolData:t};case`file_change`:return{...r,label:n??(t.changes!==void 0&&t.changes.length>1?`Changed ${t.changes.length} files`:`Changed ${t.fileName}`),changedFiles:t.changes?.map(e=>e.path)??[t.fileName],toolTitle:n??`File change`,toolData:t};case`file_search`:return{...r,label:n??Ce(t)??`Searched files`,...t.pattern?{detail:t.pattern}:{},toolTitle:n??`File search`,toolData:t};case`web_search`:return{...r,label:n??`Searched the web`,...t.patterns?.length?{detail:t.patterns.join(`, `)}:{},toolTitle:n??`Web search`,toolData:t};case`checkpoint`:return{...r,label:n??`Checkpoint captured`,changedFiles:t.files.map(e=>e.path),toolData:t};case`system_notice`:return{...r,label:t.message,...i(t)?{}:{sourceActivityKind:`runtime.warning`}};case`error`:{let e=Zr(t);return{...r,...e,...t.failure.class===`usage_limit`&&t.status!==`completed`?{sourceActivityKind:`runtime.warning`}:t.retry===void 0?{sourceActivityKind:`runtime.error`}:{},toolData:t}}case`dynamic_tool`:{let e=_e({itemType:`dynamic_tool_call`,data:{toolName:t.toolName??void 0,input:t.input}}),[i]=he({input:t.input});return{...r,label:n??(e===`read`?we(i??``):e===`search`?Ce({input:t.input})??t.toolName??`Tool call`:t.toolName??`Tool call`),toolTitle:n??t.toolName??`Tool`,toolData:{input:t.input,output:t.output}}}case`approval_request`:return{...r,label:n??`Approval requested`,detail:t.prompt??t.requestKind,toolData:t};case`user_input_request`:return{...r,label:n??(t.questionAnswer?`Answered questions`:`Input requested`),...t.questionAnswer?{questionAnswer:t.questionAnswer}:{},toolData:t};default:return{...r,label:n??t.type.replaceAll(`_`,` `),toolData:t}}}function $r(e){let t=new Set,n=[],r=new Map((e.attempts??[]).map(e=>[e.rootNodeId,e])),i=new Map((e.nodes??[]).map(e=>[e.id,e])),a=new Map((e.plans??[]).map(e=>[e.id,e])),o=e=>{if(e.nodeId===null||e.runId===null)return;let t=e.nodeId,n=new Set;for(;t!==null&&!n.has(t);){n.add(t);let a=r.get(t);if(a?.runId===e.runId)return a;let o=i.get(t);if(o===void 0)return;let s=r.get(o.rootNodeId);if(s?.runId===e.runId)return s;t=o.parentNodeId}},s=new Set(e.visibleTurnItems.flatMap(({item:e})=>e.type===`user_input_request`&&e.questionAnswer?[`async-answer:${e.questionAnswer.requestId}`]:[]));for(let r of e.visibleTurnItems){let{item:i}=r;if(Mr(i)||i.type===`todo_list`||i.type===`checkpoint`||i.type===`user_message`&&s.has(i.messageId))continue;let c=$(r),u=o(i),d=u===void 0?{}:{attempt:u};if(i.type===`notification`){n.push({id:i.id,kind:`work`,createdAt:c,entry:{id:i.id,createdAt:c,runId:i.runId,label:i.summary,tone:`info`,itemType:i.type,structuredPayload:i,projectedItem:r},...d});continue}if(i.type===`user_message`||i.type===`assistant_message`){let a={id:i.messageId,role:i.type===`user_message`?`user`:`assistant`,text:i.text,...i.type===`user_message`&&i.context?{context:i.context}:{},...(i.attachments?.length??0)>0?{attachments:(i.attachments??[]).map(t=>{let n=e.attachmentUrlById?.get(t.id);return n?{...t,previewUrl:n}:t})}:{},runId:i.runId,streaming:i.type===`assistant_message`&&i.streaming,...i.type===`user_message`?{createdBy:i.createdBy,creationSource:i.creationSource,...i.senderThreadId===void 0?{}:{senderThreadId:i.senderThreadId},...i.scheduledTaskId===void 0?{}:{scheduledTaskId:i.scheduledTaskId}}:{},createdAt:c,updatedAt:l(i.updatedAt),...i.type===`user_message`?{inputIntent:i.inputIntent}:{}};t.add(a.id),n.push({id:a.id,kind:`message`,createdAt:c,message:a,projectedItem:r,...d});continue}if(i.type===`proposed_plan`){let e=a.get(i.planId),t={id:i.planId,runId:i.runId,planMarkdown:i.markdown,status:e?.kind===`proposed_plan`?e.status:`active`,createdAt:c,updatedAt:l(i.updatedAt)};n.push({id:i.id,kind:`proposed-plan`,createdAt:c,proposedPlan:t,...d});continue}let f=i.type===`dynamic_tool`&&i.status===`completed`?ot(i):void 0;if(f!==void 0){n.push({id:i.id,kind:`html-render`,createdAt:c,runId:i.runId,htmlRender:f,...d});continue}let p=i.type===`dynamic_tool`&&i.status===`completed`?st(i):void 0;if(p!==void 0){n.push({id:i.id,kind:`mcp-app`,createdAt:c,runId:i.runId,sourceThreadId:r.sourceThreadId,itemId:r.sourceItemId,revision:yt(i),mcpApp:p,...d});continue}if(Kr.has(i.type)){n.push({id:i.id,kind:`event`,createdAt:c,projectedItem:r,...d});continue}n.push({id:i.id,kind:`work`,createdAt:c,entry:Qr(r),...d})}let c=new Set([...t,...s]);for(let t of e.anchoredMessages??[]){if(c.has(t.id))continue;c.add(t.id);let e={id:t.id,kind:`message`,createdAt:t.createdAt,message:t},r=n.findIndex(e=>e.createdAt>t.createdAt);r===-1?n.push(e):n.splice(r,0,e)}for(let t of e.optimisticMessages)t.inputIntent!==`queued_turn`&&!c.has(t.id)&&(c.add(t.id),n.push({id:t.id,kind:`message`,createdAt:t.createdAt,message:t}));return n}var ei=Object.freeze([]);function ti(e){let t=new Set;for(let n of e??[]){if(!r(n))continue;let e=n.previewUrl;e?.startsWith(`blob:`)||e?.startsWith(`data:`)||t.add(n.id)}return t.size===0?ei:Array.from(t,e=>({_tag:`attachment`,attachmentId:e}))}function ni(e,t){if(Object.keys(t).length===0)return ei;let n=new Set;for(let i of e??[])if(i.role===`user`&&t[i.id]?.length)for(let e of i.attachments??[])r(e)&&n.add(e.id);return n.size===0?ei:Array.from(n,e=>({_tag:`attachment`,attachmentId:e}))}function ri(){let e=new WeakMap,t=new WeakMap;return(n,r)=>{let i=n.attachments;if(!i||i.length===0)return n;let a=e.get(i)??i,o,s=!1;for(let[e,t]of i.entries()){let n=r(t),i=`previewUrl`in t?t.previewUrl:void 0,c=a[e],l=`previewUrl`in c?c.previewUrl:void 0,u=!n||n===i?t:n===l?c:{...t,previewUrl:n};s||=u!==t,u!==c&&(o??=a.slice(),o[e]=u)}let c=s?o??a:i;if(e.set(i,c),c===i)return t.delete(n),n;let l=t.get(n);if(l?.attachments===c)return l;let u={...n,attachments:c};return t.set(n,u),u}}function ii(e,t){if(e.role!==`assistant`||t.role!==`assistant`||!e.streaming||!t.streaming)return!1;let{text:n,updatedAt:r,...i}=e,{text:a,updatedAt:o,...c}=t;return s(i,c)}function ai(e,t){let{item:n,...r}=e,{item:i,...a}=t;if(n.type!==`assistant_message`||i.type!==`assistant_message`||!n.streaming||!i.streaming||!s(r,a)||$(e)!==$(t))return!1;let{text:o,updatedAt:c,...l}=n,{text:u,updatedAt:d,...f}=i;return p(l,f)}function oi(e,t){let n=t.input;if(e.visibleTurnItems.length<n.visibleTurnItems.length||!s(e.optimisticMessages,n.optimisticMessages)||!s(e.anchoredMessages,n.anchoredMessages)||!s(e.attachmentUrlById,n.attachmentUrlById)||!s(e.attempts,n.attempts)||!s(e.nodes,n.nodes)||!s(e.plans,n.plans))return null;let r=e.visibleTurnItems.length>n.visibleTurnItems.length;if(r&&(e.optimisticMessages.length>0||(e.anchoredMessages?.length??0)>0)||r&&e.visibleTurnItems.slice(n.visibleTurnItems.length).some(({item:e})=>e.type===`user_input_request`&&e.questionAnswer!==void 0||e.type===`user_message`&&e.messageId.startsWith(`async-answer:`)))return null;let i=new Map;for(let[t,r]of n.visibleTurnItems.entries()){let n=e.visibleTurnItems[t];if(n!==r){if(!ai(r,n))return null;i.set(r,n)}}if(i.size===0&&!r)return t.entries;let a=t.entries.map(e=>{let t=e.kind===`message`&&e.projectedItem!==void 0?i.get(e.projectedItem):void 0;return e.kind!==`message`||t?.item.type!==`assistant_message`?e:{...e,projectedItem:t,message:{...e.message,text:t.item.text,updatedAt:l(t.item.updatedAt)}}});return r&&a.push(...$r({...e,visibleTurnItems:e.visibleTurnItems.slice(n.visibleTurnItems.length)})),a}function si(e,t=null){let n=t===null?null:oi(e,t);if(n!==null)return{input:e,entries:n};let r=$r(e);if(t===null||!s(e.attachmentUrlById,t.input.attachmentUrlById))return{input:e,entries:r};let i=new Map(t.entries.flatMap(e=>e.kind===`message`?[[e.id,e]]:[]));return{input:e,entries:r.map(e=>{if(e.kind!==`message`||e.projectedItem===void 0)return e;let t=i.get(e.id);return t?.projectedItem===e.projectedItem?t.attempt===e.attempt?t:{...e,message:t.message}:e})}}function ci(e){return Object.fromEntries(e.flatMap(e=>e.runId===null?[]:[[e.runId,e.checkpointTurnCount]]))}function li(e){let t=new Map;for(let n of e.checkpoints)n.status===`ready`&&t.set(n.runId,n);let n=new Map;for(let r of e.timelineEntries){if(r.kind!==`message`||r.message.role!==`user`||r.message.inputIntent!==`turn_start`&&r.message.inputIntent!==`queued_turn`||r.message.runId===null)continue;let e=t.get(r.message.runId);e!==void 0&&n.set(r.message.id,Math.max(0,e.checkpointTurnCount-1))}return n}function ui(e){return e===null?`disconnected`:e.status===`preparing`||e.status===`starting`||e.status===`queued`?`connecting`:e.status===`running`||e.status===`waiting`?`running`:`ready`}function di(e,t){return e&&(ui(t)===`running`||wr(t))}export{sn as $,br as A,ir as B,Nr as C,gr as D,vr as E,or as F,Rn as G,Qn as H,sr as I,Zn as J,Xn as K,tr as L,Ar as M,Er as N,hr as O,kr as P,vn as Q,$n as R,Pr as S,b as St,_r as T,Pn as U,Ln as V,Gn as W,Wn as X,Hn as Y,ln as Z,ni as _,le as _t,Br as a,wt as at,Lr as b,we as bt,li as c,St as ct,Gr as d,Me as dt,fn as et,ci as f,Ae as ft,Zr as g,Ue as gt,ai as h,Ke as ht,di as i,yt as it,Sr as j,Cr as k,si as l,at as lt,ii as m,We as mt,Hr as n,pn as nt,Vr as o,bt as ot,Rr as p,Ge as pt,X as q,zr as r,I as rt,ui as s,Ct as st,ri as t,kn as tt,Wr as u,A as ut,ti as v,he as vt,mr as w,Fr as x,Ce as xt,Jr as y,fe as yt,ar as z};
26
- //# sourceMappingURL=session-logic-OeNFZd_V.js.map
26
+ //# sourceMappingURL=session-logic-CwBN7BBv.js.map
@@ -1,2 +1,2 @@
1
- import{a as e,t}from"./react-DH3P2YXY.js";import{n,t as r}from"./jsx-runtime-BnjsACtP.js";import{dr as i,im as a}from"./utils-CBe1bHL7.js";import{t as o}from"./useLocation-Cwv1HZ3K.js";import{t as s}from"./useNavigateBack-CwjQ4iuL.js";import{T as c}from"./useSettings-VTow9ZEM.js";import{r as l}from"./SettingsPanels-D6e2byZQ.js";import{t as u}from"./env-wK1YYxA8.js";import{o as d}from"./sidebar-BhJqncti.js";import{B as f,V as p,i as m,z as h}from"./settingsLayout-DrhqvTJ8.js";import{_r as g,bo as _,d as v,ei as y,gr as b,hr as x,mr as S}from"./main-DleJeMZO.js";import{t as C}from"./WorkspacePageHeader-CNcKDaqG.js";import{n as w,r as T,t as E}from"./WorkspaceBreadcrumb-Dr-p0Dtn.js";import{t as D}from"./SettingsScopeNotice-MbxDDMZ9.js";var O=e(t()),k=n(),A=e(r(),1),j={...S,"/settings/diagnostics":`Diagnostics`,"/settings/open-source-licenses":`Open source licenses`};function M(e){return j[e.replace(/\/+$/,``)||`/`]??null}function N(e){let t=(0,k.c)(9),{pathname:n}=e,r;t[0]===n?r=t[1]:(r=M(n),t[0]=n,t[1]=r);let i=r,a;t[2]===i?a=t[3]:(a=i?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(w,{children:`Settings`}),(0,A.jsx)(T,{})]}):null,t[2]=i,t[3]=a);let o=i??`Settings`,s;t[4]===o?s=t[5]:(s=(0,A.jsx)(w,{current:!0,className:`truncate`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==a||t[7]!==s?(c=(0,A.jsxs)(E,{ariaLabel:`Settings breadcrumb`,children:[a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c}function P(e){let t=(0,k.c)(6),{onRestored:n}=e,{changedSettingLabels:r,restoreDefaults:o}=l(n),s=r.length===0,c;t[0]===o?c=t[1]:(c=()=>void o(),t[0]=o,t[1]=c);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,A.jsx)(a,{className:`mx-1 size-3.5`}),t[2]=u):u=t[2];let d;return t[3]!==s||t[4]!==c?(d=(0,A.jsxs)(i,{size:`xs`,variant:`ghost`,disabled:s,onClick:c,children:[u,`Restore device defaults`]}),t[3]=s,t[4]=c,t[5]=d):d=t[5],d}function F(e){let t=(0,k.c)(19),{pathname:n,children:r}=e,{scope:i,connectedEnvironments:a}=p(),{environments:s}=c(),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={select:I},t[0]=l):l=t[0];let u=o(l),d,f,_;if(t[1]!==s||t[2]!==u||t[3]!==i){_=Symbol.for(`react.early_return_sentinel`);bb0:{d=x(u);let e=d?.requiresThreadAutoSettlement?b(s,i):null;if(i.kind!==`unavailable`&&d&&e&&!e.isTargetAvailable){let n=e.eligibleEnvironmentIds.length>0?`${d.title} requires a supporting environment. Choose one to continue.`:`${d.title} requires a supporting environment. Connect or update an environment to continue.`,r;t[7]!==e.eligibleEnvironmentIds||t[8]!==u||t[9]!==n?(r=(0,A.jsx)(D,{target:`environment`,targetId:u,eligibleEnvironmentIds:e.eligibleEnvironmentIds,children:n}),t[7]=e.eligibleEnvironmentIds,t[8]=u,t[9]=n,t[10]=r):r=t[10],_=r;break bb0}f=i.kind!==`unavailable`&&d&&!g(d.scope,i.kind)}t[1]=s,t[2]=u,t[3]=i,t[4]=d,t[5]=f,t[6]=_}else d=t[4],f=t[5],_=t[6];if(_!==Symbol.for(`react.early_return_sentinel`))return _;if(f){let e=d.scope===`environment`||d.scope===`project`||d.scope===`checkout`?d.scope:`all`,n=`${d.title} is not available for the selected target. Choose its owning scope to continue.`,r;return t[11]!==u||t[12]!==n||t[13]!==e?(r=(0,A.jsx)(D,{target:e,targetId:u,children:n}),t[11]=u,t[12]=n,t[13]=e,t[14]=r):r=t[14],r}if(h.has(n)||n===`/settings/projects`)return r;if(i.kind===`unavailable`){let e;return t[15]===i.message?e=t[16]:(e=(0,A.jsx)(m,{children:(0,A.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:i.message})}),t[15]=i.message,t[16]=e),e}if(i.kind===`environment`&&a.length===0){let e;return t[17]===i.label?e=t[18]:(e=(0,A.jsx)(m,{children:(0,A.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Reconnect `,i.label,` to change its settings.`]})}),t[17]=i.label,t[18]=e),e}return r}function I(e){return e.hash}function L(){let e=(0,k.c)(19),t=o(),n=y();s(n);let{search:r,environment:i}=p(),a;e[0]!==i?.environmentId||e[1]!==t.pathname||e[2]!==r?(a=t.pathname===`/settings/diagnostics`||t.pathname===`/settings/providers`?i?.environmentId:JSON.stringify(r),e[0]=i?.environmentId,e[1]=t.pathname,e[2]=r,e[3]=a):a=e[3];let c=a,[l,f]=(0,O.useState)(0),m,h;e[4]===t.pathname?(m=e[5],h=e[6]):(m=(0,A.jsx)(N,{pathname:t.pathname}),h=t.pathname===`/settings/general`?(0,A.jsx)(`div`,{className:`ms-auto flex shrink-0 items-center`,children:(0,A.jsx)(P,{onRestored:()=>f(R)})}):null,e[4]=t.pathname,e[5]=m,e[6]=h);let g;e[7]!==m||e[8]!==h?(g=(0,A.jsx)(C,{electron:u,children:(0,A.jsxs)(`div`,{className:`flex w-full items-center gap-3`,children:[m,h]})}),e[7]=m,e[8]=h,e[9]=g):g=e[9];let v=`${c}:${l}`,b;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,A.jsx)(_,{}),e[10]=b):b=e[10];let x;e[11]===t.pathname?x=e[12]:(x=(0,A.jsx)(F,{pathname:t.pathname,children:b}),e[11]=t.pathname,e[12]=x);let S;e[13]!==v||e[14]!==x?(S=(0,A.jsx)(`div`,{className:`min-h-0 flex flex-1 flex-col`,children:x},v),e[13]=v,e[14]=x,e[15]=S):S=e[15];let w;return e[16]!==g||e[17]!==S?(w=(0,A.jsx)(d,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none isolate`,children:(0,A.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-background text-foreground`,children:[g,S]})}),e[16]=g,e[17]=S,e[18]=w):w=e[18],w}function R(e){return e+1}function z(){let e=(0,k.c)(9),t=v.useSearch(),n=v.useNavigate(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={select:B},e[0]=r):r=e[0];let i=o(r),a=i===`/settings/providers`||i===`/settings/plugins`,s;e[1]!==n||e[2]!==i?(s=e=>{n({to:i,search:()=>({project:e.project,machine:e.machine,checkout:e.checkout}),hash:``,resetScroll:!1})},e[1]=n,e[2]=i,e[3]=s):s=e[3];let c;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,A.jsx)(L,{}),e[4]=c):c=e[4];let l;return e[5]!==t||e[6]!==a||e[7]!==s?(l=(0,A.jsx)(f,{search:t,singleEnvironment:a,onChange:s,children:c}),e[5]=t,e[6]=a,e[7]=s,e[8]=l):l=e[8],l}function B(e){return e.pathname}export{z as component};
2
- //# sourceMappingURL=settings-C6gUwixG.js.map
1
+ import{a as e,t}from"./react-DH3P2YXY.js";import{n,t as r}from"./jsx-runtime-BnjsACtP.js";import{dr as i,im as a}from"./utils-CBe1bHL7.js";import{t as o}from"./useLocation-Cwv1HZ3K.js";import{t as s}from"./useNavigateBack-CwjQ4iuL.js";import{T as c}from"./useSettings-CHt2_4He.js";import{r as l}from"./SettingsPanels-wkOx3NMK.js";import{t as u}from"./env-wK1YYxA8.js";import{o as d}from"./sidebar-BhJqncti.js";import{B as f,V as p,i as m,z as h}from"./settingsLayout-vgYGia0Q.js";import{_r as g,bo as _,d as v,ei as y,gr as b,hr as x,mr as S}from"./main-Cywp3EWc.js";import{t as C}from"./WorkspacePageHeader-CNcKDaqG.js";import{n as w,r as T,t as E}from"./WorkspaceBreadcrumb-Dr-p0Dtn.js";import{t as D}from"./SettingsScopeNotice-5BIXPKKZ.js";var O=e(t()),k=n(),A=e(r(),1),j={...S,"/settings/diagnostics":`Diagnostics`,"/settings/open-source-licenses":`Open source licenses`};function M(e){return j[e.replace(/\/+$/,``)||`/`]??null}function N(e){let t=(0,k.c)(9),{pathname:n}=e,r;t[0]===n?r=t[1]:(r=M(n),t[0]=n,t[1]=r);let i=r,a;t[2]===i?a=t[3]:(a=i?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(w,{children:`Settings`}),(0,A.jsx)(T,{})]}):null,t[2]=i,t[3]=a);let o=i??`Settings`,s;t[4]===o?s=t[5]:(s=(0,A.jsx)(w,{current:!0,className:`truncate`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==a||t[7]!==s?(c=(0,A.jsxs)(E,{ariaLabel:`Settings breadcrumb`,children:[a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c}function P(e){let t=(0,k.c)(6),{onRestored:n}=e,{changedSettingLabels:r,restoreDefaults:o}=l(n),s=r.length===0,c;t[0]===o?c=t[1]:(c=()=>void o(),t[0]=o,t[1]=c);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,A.jsx)(a,{className:`mx-1 size-3.5`}),t[2]=u):u=t[2];let d;return t[3]!==s||t[4]!==c?(d=(0,A.jsxs)(i,{size:`xs`,variant:`ghost`,disabled:s,onClick:c,children:[u,`Restore device defaults`]}),t[3]=s,t[4]=c,t[5]=d):d=t[5],d}function F(e){let t=(0,k.c)(19),{pathname:n,children:r}=e,{scope:i,connectedEnvironments:a}=p(),{environments:s}=c(),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l={select:I},t[0]=l):l=t[0];let u=o(l),d,f,_;if(t[1]!==s||t[2]!==u||t[3]!==i){_=Symbol.for(`react.early_return_sentinel`);bb0:{d=x(u);let e=d?.requiresThreadAutoSettlement?b(s,i):null;if(i.kind!==`unavailable`&&d&&e&&!e.isTargetAvailable){let n=e.eligibleEnvironmentIds.length>0?`${d.title} requires a supporting environment. Choose one to continue.`:`${d.title} requires a supporting environment. Connect or update an environment to continue.`,r;t[7]!==e.eligibleEnvironmentIds||t[8]!==u||t[9]!==n?(r=(0,A.jsx)(D,{target:`environment`,targetId:u,eligibleEnvironmentIds:e.eligibleEnvironmentIds,children:n}),t[7]=e.eligibleEnvironmentIds,t[8]=u,t[9]=n,t[10]=r):r=t[10],_=r;break bb0}f=i.kind!==`unavailable`&&d&&!g(d.scope,i.kind)}t[1]=s,t[2]=u,t[3]=i,t[4]=d,t[5]=f,t[6]=_}else d=t[4],f=t[5],_=t[6];if(_!==Symbol.for(`react.early_return_sentinel`))return _;if(f){let e=d.scope===`environment`||d.scope===`project`||d.scope===`checkout`?d.scope:`all`,n=`${d.title} is not available for the selected target. Choose its owning scope to continue.`,r;return t[11]!==u||t[12]!==n||t[13]!==e?(r=(0,A.jsx)(D,{target:e,targetId:u,children:n}),t[11]=u,t[12]=n,t[13]=e,t[14]=r):r=t[14],r}if(h.has(n)||n===`/settings/projects`)return r;if(i.kind===`unavailable`){let e;return t[15]===i.message?e=t[16]:(e=(0,A.jsx)(m,{children:(0,A.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:i.message})}),t[15]=i.message,t[16]=e),e}if(i.kind===`environment`&&a.length===0){let e;return t[17]===i.label?e=t[18]:(e=(0,A.jsx)(m,{children:(0,A.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Reconnect `,i.label,` to change its settings.`]})}),t[17]=i.label,t[18]=e),e}return r}function I(e){return e.hash}function L(){let e=(0,k.c)(19),t=o(),n=y();s(n);let{search:r,environment:i}=p(),a;e[0]!==i?.environmentId||e[1]!==t.pathname||e[2]!==r?(a=t.pathname===`/settings/diagnostics`||t.pathname===`/settings/providers`?i?.environmentId:JSON.stringify(r),e[0]=i?.environmentId,e[1]=t.pathname,e[2]=r,e[3]=a):a=e[3];let c=a,[l,f]=(0,O.useState)(0),m,h;e[4]===t.pathname?(m=e[5],h=e[6]):(m=(0,A.jsx)(N,{pathname:t.pathname}),h=t.pathname===`/settings/general`?(0,A.jsx)(`div`,{className:`ms-auto flex shrink-0 items-center`,children:(0,A.jsx)(P,{onRestored:()=>f(R)})}):null,e[4]=t.pathname,e[5]=m,e[6]=h);let g;e[7]!==m||e[8]!==h?(g=(0,A.jsx)(C,{electron:u,children:(0,A.jsxs)(`div`,{className:`flex w-full items-center gap-3`,children:[m,h]})}),e[7]=m,e[8]=h,e[9]=g):g=e[9];let v=`${c}:${l}`,b;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,A.jsx)(_,{}),e[10]=b):b=e[10];let x;e[11]===t.pathname?x=e[12]:(x=(0,A.jsx)(F,{pathname:t.pathname,children:b}),e[11]=t.pathname,e[12]=x);let S;e[13]!==v||e[14]!==x?(S=(0,A.jsx)(`div`,{className:`min-h-0 flex flex-1 flex-col`,children:x},v),e[13]=v,e[14]=x,e[15]=S):S=e[15];let w;return e[16]!==g||e[17]!==S?(w=(0,A.jsx)(d,{className:`h-dvh min-h-0 overflow-hidden overscroll-y-none isolate`,children:(0,A.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-background text-foreground`,children:[g,S]})}),e[16]=g,e[17]=S,e[18]=w):w=e[18],w}function R(e){return e+1}function z(){let e=(0,k.c)(9),t=v.useSearch(),n=v.useNavigate(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={select:B},e[0]=r):r=e[0];let i=o(r),a=i===`/settings/providers`||i===`/settings/plugins`,s;e[1]!==n||e[2]!==i?(s=e=>{n({to:i,search:()=>({project:e.project,machine:e.machine,checkout:e.checkout}),hash:``,resetScroll:!1})},e[1]=n,e[2]=i,e[3]=s):s=e[3];let c;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,A.jsx)(L,{}),e[4]=c):c=e[4];let l;return e[5]!==t||e[6]!==a||e[7]!==s?(l=(0,A.jsx)(f,{search:t,singleEnvironment:a,onChange:s,children:c}),e[5]=t,e[6]=a,e[7]=s,e[8]=l):l=e[8],l}function B(e){return e.pathname}export{z as component};
2
+ //# sourceMappingURL=settings-fTPmNkCr.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./react-DH3P2YXY.js";import{n as t,t as n}from"./jsx-runtime-BnjsACtP.js";import{t as r}from"./SettingsPanels-D6e2byZQ.js";var i=t(),a=e(n());function o(){let e=(0,i.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,a.jsx)(r,{}),e[0]=t):t=e[0],t}export{o as component};
2
- //# sourceMappingURL=settings.appearance-BdGq8dkT.js.map
1
+ import{a as e}from"./react-DH3P2YXY.js";import{n as t,t as n}from"./jsx-runtime-BnjsACtP.js";import{t as r}from"./SettingsPanels-wkOx3NMK.js";var i=t(),a=e(n());function o(){let e=(0,i.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,a.jsx)(r,{}),e[0]=t):t=e[0],t}export{o as component};
2
+ //# sourceMappingURL=settings.appearance-D96WohbH.js.map
@@ -0,0 +1,2 @@
1
+ import{i as e}from"./SettingsPanels-wkOx3NMK.js";var t=e;export{t as component};
2
+ //# sourceMappingURL=settings.archived-CnXEwX0Z.js.map
@@ -1,2 +1,2 @@
1
- import{a as e,t}from"./react-DH3P2YXY.js";import{n,t as r}from"./jsx-runtime-BnjsACtP.js";import{Dy as i,Id as a,dr as o,nd as s,om as c}from"./utils-CBe1bHL7.js";import{t as l}from"./useNavigate-Cdrlv-yJ.js";import{n as u,t as d}from"./kbd-WWNLIkTn.js";import{F as f,I as p,L as m,R as h,V as g,a as _,i as v,s as y}from"./settingsLayout-DrhqvTJ8.js";import{co as b,do as x,lo as S}from"./main-DleJeMZO.js";var C=n(),w=e(t(),1),T=e(r(),1);function E(e){let t=(0,C.c)(10),n,r;t[0]===e?(n=t[1],r=t[2]):({icon:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=(0,T.jsx)(`span`,{className:`mt-3 ml-4 flex size-10 shrink-0 items-center justify-center rounded-xl bg-muted text-muted-foreground`,children:(0,T.jsx)(n,{"aria-hidden":!0,className:`size-5`})}),t[3]=n,t[4]=i);let a;t[5]===r?a=t[6]:(a=(0,T.jsx)(_,{...r,className:`min-w-0 flex-1`}),t[5]=r,t[6]=a);let o;return t[7]!==i||t[8]!==a?(o=(0,T.jsxs)(`div`,{className:`flex items-start`,children:[i,a]}),t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function D(e){let t=(0,C.c)(9),{mode:n,chromeOpened:r}=e,i;t[0]===n?i=t[1]:(i=n===`store`?[`In the Chrome Web Store tab, click Add to Chrome.`,`Confirm with Add extension.`]:[`In Chrome, go to chrome://extensions.`,`Turn on Developer mode.`,`Click Load unpacked.`,(0,T.jsxs)(T.Fragment,{children:[`Press`,` `,(0,T.jsxs)(u,{children:[(0,T.jsx)(d,{children:`⌘`}),(0,T.jsx)(d,{children:`⇧`}),(0,T.jsx)(d,{children:`G`})]}),`, paste the copied folder path, press Return, then click Select.`]})],t[0]=n,t[1]=i);let a=i,o;t[2]===r?o=t[3]:(o=r?null:(0,T.jsx)(`li`,{children:`Open Google Chrome.`}),t[2]=r,t[3]=o);let s;t[4]===a?s=t[5]:(s=a.map(O),t[4]=a,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,T.jsxs)(`ol`,{className:`list-decimal space-y-1.5 py-3 pl-5 text-xs text-muted-foreground`,role:`status`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function O(e,t){return(0,T.jsx)(`li`,{children:e},t)}function k(){let e=l(),{search:t}=g(),n=f(),r=h(),u=m(),d=p([`decisionVisionEnabled`]),_=!!n.decisionOpenRouterKey,C=window.desktopBridge,[O,k]=(0,w.useState)([]),[A,j]=(0,w.useState)(!!C?.listComputerUsePermissionHosts),[M,N]=(0,w.useState)(``),[P,F]=(0,w.useState)(!1),[I,L]=(0,w.useState)(),[R,z]=(0,w.useState)(),[B,V]=(0,w.useState)(!1),H=new Set(O.flatMap(e=>e.permissions?.chromeProfiles??[])).size;(0,w.useEffect)(()=>{let e=!0,t=async()=>{if(C?.getComputerUseChromeStatus?.().then(t=>e&&L(t),()=>{}),C?.listComputerUsePermissionHosts&&C.requestComputerUsePermission)try{let t=await C.listComputerUsePermissionHosts(),n=await Promise.all(t.map(async e=>({...e,permissions:await C.requestComputerUsePermission({...e,action:`status`})})));e&&(k(n),N(``))}catch{e&&N(`Could not read helper status. Refresh to try again.`)}finally{e&&j(!1)}};t();let n=C?.onComputerUsePermissionHostsChanged?.(()=>void t()),r=()=>void t();return window.addEventListener(`focus`,r),()=>{e=!1,n?.(),window.removeEventListener(`focus`,r)}},[C]);let U=async e=>{F(!0),N(``);try{await e()}catch(e){N(e instanceof Error?e.message:`Computer Use setup failed.`)}finally{F(!1)}},W=(e,t)=>U(async()=>{let n=await C?.requestComputerUsePermission?.({environmentId:e.environmentId,hostId:e.hostId,action:t});n&&k(t=>t.map(t=>t.hostId===e.hostId?{...t,permissions:n}:t))});return(0,T.jsxs)(v,{children:[(0,T.jsxs)(`header`,{className:`space-y-2 px-3 sm:px-4`,children:[(0,T.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Computer Use`}),(0,T.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Manage how agents interact with apps and browsers on your computer.`})]}),(0,T.jsxs)(y,{title:`Control`,variant:`plain`,children:[(0,T.jsxs)(`div`,{className:`divide-y divide-border overflow-hidden rounded-2xl border border-border`,children:[(0,T.jsx)(E,{icon:s,title:`Desktop apps`,description:`Control apps through the P4 Code desktop helper. Stop active control from the menu bar.`,status:A?`Checking helper…`:O.length?`Connected`:window.desktopBridge?`No helper connected`:`Open the desktop app to set up app control.`,control:C?.revealComputerUseHelper?(0,T.jsx)(o,{size:`sm`,variant:`outline`,disabled:P,onClick:()=>void U(()=>C.revealComputerUseHelper()),children:`Reveal in Finder`}):void 0,children:O.map(e=>(0,T.jsxs)(`div`,{className:`space-y-2 py-3`,children:[(0,T.jsx)(`p`,{className:`text-xs font-medium`,children:e.label}),(0,T.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Allow app interaction and screenshots in macOS settings, then refresh the status.`}),(0,T.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,T.jsxs)(o,{size:`sm`,variant:`outline`,disabled:P,onClick:()=>void W(e,e.permissions?.accessibility?`open-accessibility`:`allow-accessibility`),children:[`Accessibility: `,e.permissions?.accessibility?`Allowed`:`Allow`]}),(0,T.jsxs)(o,{size:`sm`,variant:`outline`,disabled:P,onClick:()=>void W(e,e.permissions?.screenRecording?`open-screen-recording`:`allow-screen-recording`),children:[`Screen Recording: `,e.permissions?.screenRecording?`Allowed`:`Allow`]}),(0,T.jsx)(o,{size:`sm`,variant:`ghost`,disabled:P,onClick:()=>void W(e,`status`),children:`Refresh`})]})]},`${e.environmentId}:${e.hostId}`))}),(0,T.jsx)(E,{icon:a,title:`Google Chrome`,description:`Let agents use your Chrome tabs, and chat about any page from Chrome's side panel.`,status:C?.setupComputerUseChrome?B?`Bridge removed. To remove the extension too, use Remove on chrome://extensions.`:H>0?(0,T.jsxs)(`span`,{className:`flex items-center gap-1.5`,role:`status`,children:[(0,T.jsx)(`span`,{"aria-hidden":!0,className:`size-1.5 rounded-full bg-success`}),`Connected in `,H,` Chrome`,` `,H===1?`profile`:`profiles`,`.`]}):I?.bridgeInstalled&&!R?`Bridge installed. Waiting for the extension to connect.`:void 0:`Install the Chrome extension from the desktop app.`,control:C?.setupComputerUseChrome?(0,T.jsxs)(`div`,{className:`flex gap-2`,children:[I?.bridgeInstalled&&C.removeComputerUseChrome?(0,T.jsx)(o,{size:`sm`,variant:`ghost`,disabled:P,onClick:()=>void U(async()=>{await C.removeComputerUseChrome(),z(void 0),V(!0),L(await C.getComputerUseChromeStatus?.())}),children:`Remove`}):null,H===0||B?(0,T.jsx)(o,{size:`sm`,variant:`outline`,disabled:P,onClick:()=>void U(async()=>{let e=await C.setupComputerUseChrome();V(!1),z({mode:e.mode,chromeOpened:e.chromeOpened}),L(await C.getComputerUseChromeStatus?.())}),children:`Install Chrome extension`}):null]}):void 0,children:(0,T.jsx)(b,{open:R!==void 0&&H===0,children:(0,T.jsx)(S,{children:R?(0,T.jsx)(D,{...R}):null})})})]}),M?(0,T.jsx)(`p`,{className:`px-4 text-sm text-destructive`,role:`alert`,children:M}):null]}),(0,T.jsx)(y,{title:`Navigation`,variant:`plain`,children:(0,T.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-border`,children:(0,T.jsx)(E,{icon:c,id:`computer-use-faster-navigation`,title:`Faster navigation`,description:`Use screenshot suggestions from Jev or Luna Decisions to find navigation targets.`,serverScoped:!0,settingKeys:[`decisionVisionEnabled`],control:(0,T.jsx)(x,{"aria-label":`Faster navigation`,checked:n.decisionVisionEnabled,mixed:d,disabled:!u,onCheckedChange:e=>r({decisionVisionEnabled:e})}),children:(0,T.jsxs)(`div`,{className:`space-y-3 py-3`,children:[(0,T.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,T.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[i[n.decisionModel],` ·`,` `,_?`API key saved`:`API key needed`]}),(0,T.jsx)(o,{size:`sm`,variant:`outline`,onClick:()=>void e({to:`/settings/decisions`,search:t.machine?{machine:t.machine}:{}}),children:`Model and API key`})]}),n.decisionVisionEnabled&&!_?(0,T.jsx)(`p`,{role:`status`,className:`text-xs text-muted-foreground`,children:`Add an API key in Decisions to use faster navigation.`}):null,(0,T.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`When enabled, screenshots go to the selected service. Suggestions never click by themselves.`})]})})})})]})}var A=k;export{A as component};
2
- //# sourceMappingURL=settings.computer-use-DTAvnNqQ.js.map
1
+ import{a as e,t}from"./react-DH3P2YXY.js";import{n,t as r}from"./jsx-runtime-BnjsACtP.js";import{Dy as i,Id as a,dr as o,nd as s,om as c}from"./utils-CBe1bHL7.js";import{t as l}from"./useNavigate-Cdrlv-yJ.js";import{n as u,t as d}from"./kbd-WWNLIkTn.js";import{F as f,I as p,L as m,R as h,V as g,a as _,i as v,s as y}from"./settingsLayout-vgYGia0Q.js";import{co as b,do as x,lo as S}from"./main-Cywp3EWc.js";var C=n(),w=e(t(),1),T=e(r(),1);function E(e){let t=(0,C.c)(10),n,r;t[0]===e?(n=t[1],r=t[2]):({icon:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=(0,T.jsx)(`span`,{className:`mt-3 ml-4 flex size-10 shrink-0 items-center justify-center rounded-xl bg-muted text-muted-foreground`,children:(0,T.jsx)(n,{"aria-hidden":!0,className:`size-5`})}),t[3]=n,t[4]=i);let a;t[5]===r?a=t[6]:(a=(0,T.jsx)(_,{...r,className:`min-w-0 flex-1`}),t[5]=r,t[6]=a);let o;return t[7]!==i||t[8]!==a?(o=(0,T.jsxs)(`div`,{className:`flex items-start`,children:[i,a]}),t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function D(e){let t=(0,C.c)(9),{mode:n,chromeOpened:r}=e,i;t[0]===n?i=t[1]:(i=n===`store`?[`In the Chrome Web Store tab, click Add to Chrome.`,`Confirm with Add extension.`]:[`In Chrome, go to chrome://extensions.`,`Turn on Developer mode.`,`Click Load unpacked.`,(0,T.jsxs)(T.Fragment,{children:[`Press`,` `,(0,T.jsxs)(u,{children:[(0,T.jsx)(d,{children:`⌘`}),(0,T.jsx)(d,{children:`⇧`}),(0,T.jsx)(d,{children:`G`})]}),`, paste the copied folder path, press Return, then click Select.`]})],t[0]=n,t[1]=i);let a=i,o;t[2]===r?o=t[3]:(o=r?null:(0,T.jsx)(`li`,{children:`Open Google Chrome.`}),t[2]=r,t[3]=o);let s;t[4]===a?s=t[5]:(s=a.map(O),t[4]=a,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,T.jsxs)(`ol`,{className:`list-decimal space-y-1.5 py-3 pl-5 text-xs text-muted-foreground`,role:`status`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function O(e,t){return(0,T.jsx)(`li`,{children:e},t)}function k(){let e=l(),{search:t}=g(),n=f(),r=h(),u=m(),d=p([`decisionVisionEnabled`]),_=!!n.decisionOpenRouterKey,C=window.desktopBridge,[O,k]=(0,w.useState)([]),[A,j]=(0,w.useState)(!!C?.listComputerUsePermissionHosts),[M,N]=(0,w.useState)(``),[P,F]=(0,w.useState)(!1),[I,L]=(0,w.useState)(),[R,z]=(0,w.useState)(),[B,V]=(0,w.useState)(!1),H=new Set(O.flatMap(e=>e.permissions?.chromeProfiles??[])).size;(0,w.useEffect)(()=>{let e=!0,t=async()=>{if(C?.getComputerUseChromeStatus?.().then(t=>e&&L(t),()=>{}),C?.listComputerUsePermissionHosts&&C.requestComputerUsePermission)try{let t=await C.listComputerUsePermissionHosts(),n=await Promise.all(t.map(async e=>({...e,permissions:await C.requestComputerUsePermission({...e,action:`status`})})));e&&(k(n),N(``))}catch{e&&N(`Could not read helper status. Refresh to try again.`)}finally{e&&j(!1)}};t();let n=C?.onComputerUsePermissionHostsChanged?.(()=>void t()),r=()=>void t();return window.addEventListener(`focus`,r),()=>{e=!1,n?.(),window.removeEventListener(`focus`,r)}},[C]);let U=async e=>{F(!0),N(``);try{await e()}catch(e){N(e instanceof Error?e.message:`Computer Use setup failed.`)}finally{F(!1)}},W=(e,t)=>U(async()=>{let n=await C?.requestComputerUsePermission?.({environmentId:e.environmentId,hostId:e.hostId,action:t});n&&k(t=>t.map(t=>t.hostId===e.hostId?{...t,permissions:n}:t))});return(0,T.jsxs)(v,{children:[(0,T.jsxs)(`header`,{className:`space-y-2 px-3 sm:px-4`,children:[(0,T.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Computer Use`}),(0,T.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Manage how agents interact with apps and browsers on your computer.`})]}),(0,T.jsxs)(y,{title:`Control`,variant:`plain`,children:[(0,T.jsxs)(`div`,{className:`divide-y divide-border overflow-hidden rounded-2xl border border-border`,children:[(0,T.jsx)(E,{icon:s,title:`Desktop apps`,description:`Control apps through the P4 Code desktop helper. Stop active control from the menu bar.`,status:A?`Checking helper…`:O.length?`Connected`:window.desktopBridge?`No helper connected`:`Open the desktop app to set up app control.`,control:C?.revealComputerUseHelper?(0,T.jsx)(o,{size:`sm`,variant:`outline`,disabled:P,onClick:()=>void U(()=>C.revealComputerUseHelper()),children:`Reveal in Finder`}):void 0,children:O.map(e=>(0,T.jsxs)(`div`,{className:`space-y-2 py-3`,children:[(0,T.jsx)(`p`,{className:`text-xs font-medium`,children:e.label}),(0,T.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Allow app interaction and screenshots in macOS settings, then refresh the status.`}),(0,T.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,T.jsxs)(o,{size:`sm`,variant:`outline`,disabled:P,onClick:()=>void W(e,e.permissions?.accessibility?`open-accessibility`:`allow-accessibility`),children:[`Accessibility: `,e.permissions?.accessibility?`Allowed`:`Allow`]}),(0,T.jsxs)(o,{size:`sm`,variant:`outline`,disabled:P,onClick:()=>void W(e,e.permissions?.screenRecording?`open-screen-recording`:`allow-screen-recording`),children:[`Screen Recording: `,e.permissions?.screenRecording?`Allowed`:`Allow`]}),(0,T.jsx)(o,{size:`sm`,variant:`ghost`,disabled:P,onClick:()=>void W(e,`status`),children:`Refresh`})]})]},`${e.environmentId}:${e.hostId}`))}),(0,T.jsx)(E,{icon:a,title:`Google Chrome`,description:`Let agents use your Chrome tabs, and chat about any page from Chrome's side panel.`,status:C?.setupComputerUseChrome?B?`Bridge removed. To remove the extension too, use Remove on chrome://extensions.`:H>0?(0,T.jsxs)(`span`,{className:`flex items-center gap-1.5`,role:`status`,children:[(0,T.jsx)(`span`,{"aria-hidden":!0,className:`size-1.5 rounded-full bg-success`}),`Connected in `,H,` Chrome`,` `,H===1?`profile`:`profiles`,`.`]}):I?.bridgeInstalled&&!R?`Bridge installed. Waiting for the extension to connect.`:void 0:`Install the Chrome extension from the desktop app.`,control:C?.setupComputerUseChrome?(0,T.jsxs)(`div`,{className:`flex gap-2`,children:[I?.bridgeInstalled&&C.removeComputerUseChrome?(0,T.jsx)(o,{size:`sm`,variant:`ghost`,disabled:P,onClick:()=>void U(async()=>{await C.removeComputerUseChrome(),z(void 0),V(!0),L(await C.getComputerUseChromeStatus?.())}),children:`Remove`}):null,H===0||B?(0,T.jsx)(o,{size:`sm`,variant:`outline`,disabled:P,onClick:()=>void U(async()=>{let e=await C.setupComputerUseChrome();V(!1),z({mode:e.mode,chromeOpened:e.chromeOpened}),L(await C.getComputerUseChromeStatus?.())}),children:`Install Chrome extension`}):null]}):void 0,children:(0,T.jsx)(b,{open:R!==void 0&&H===0,children:(0,T.jsx)(S,{children:R?(0,T.jsx)(D,{...R}):null})})})]}),M?(0,T.jsx)(`p`,{className:`px-4 text-sm text-destructive`,role:`alert`,children:M}):null]}),(0,T.jsx)(y,{title:`Navigation`,variant:`plain`,children:(0,T.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-border`,children:(0,T.jsx)(E,{icon:c,id:`computer-use-faster-navigation`,title:`Faster navigation`,description:`Use screenshot suggestions from Jev or Luna Decisions to find navigation targets.`,serverScoped:!0,settingKeys:[`decisionVisionEnabled`],control:(0,T.jsx)(x,{"aria-label":`Faster navigation`,checked:n.decisionVisionEnabled,mixed:d,disabled:!u,onCheckedChange:e=>r({decisionVisionEnabled:e})}),children:(0,T.jsxs)(`div`,{className:`space-y-3 py-3`,children:[(0,T.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,T.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[i[n.decisionModel],` ·`,` `,_?`API key saved`:`API key needed`]}),(0,T.jsx)(o,{size:`sm`,variant:`outline`,onClick:()=>void e({to:`/settings/decisions`,search:t.machine?{machine:t.machine}:{}}),children:`Model and API key`})]}),n.decisionVisionEnabled&&!_?(0,T.jsx)(`p`,{role:`status`,className:`text-xs text-muted-foreground`,children:`Add an API key in Decisions to use faster navigation.`}):null,(0,T.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`When enabled, screenshots go to the selected service. Suggestions never click by themselves.`})]})})})})]})}var A=k;export{A as component};
2
+ //# sourceMappingURL=settings.computer-use-DZTx8sD-.js.map