@symerian/symi 2.6.42 → 2.7.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 (204) hide show
  1. package/dist/{acp-cli-CrEIx-c7.js → acp-cli-B2f0qBiM.js} +2 -2
  2. package/dist/{acp-cli-BLUeUUA5.js → acp-cli-D-9rzaOI.js} +2 -2
  3. package/dist/{agents-DDRDszOI.js → agents-Z8ruJPz2.js} +5 -5
  4. package/dist/{agents.config-BEVb1Pyx.js → agents.config-B9BZoM2m.js} +1 -1
  5. package/dist/{agents.config-BKCY6F2A.js → agents.config-C951ocyh.js} +1 -1
  6. package/dist/{audio-preflight-DD18zIZd.js → audio-preflight-HILy3i0m.js} +4 -4
  7. package/dist/{audit-DB9YkTVX.js → audit-BgdM9XZl.js} +2 -2
  8. package/dist/{audit-BjI_Yyr5.js → audit-xSagQWH8.js} +2 -2
  9. package/dist/{auth-choice-D2xXwBeN.js → auth-choice-BmYi6pBy.js} +2 -2
  10. package/dist/{auth-choice-BbzReh6k.js → auth-choice-D_VfXxhG.js} +2 -2
  11. package/dist/{banner-DqqRwplt.js → banner-Bucr6qZ5.js} +1 -1
  12. package/dist/{browser-cli-kDUw45Y0.js → browser-cli-Bc_JVdTj.js} +3 -3
  13. package/dist/{browser-cli-Ctn9do4z.js → browser-cli-Dr0yx7-7.js} +3 -3
  14. package/dist/build-info.json +3 -3
  15. package/dist/bundled/boot-md/handler.js +1 -1
  16. package/dist/bundled/session-memory/handler.js +1 -1
  17. package/dist/{call-DwpGquzW.js → call-CX0cs106.js} +1 -1
  18. package/dist/{call-DKi-hnaF.js → call-DeCQ2DhS.js} +1 -1
  19. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  20. package/dist/{channel-options-DQcpDVCx.js → channel-options-BMDryXHq.js} +1 -1
  21. package/dist/{channel-options-DcazVJQf.js → channel-options-z8-WeZyO.js} +1 -1
  22. package/dist/{channel-web-u5yMYO4j.js → channel-web-D_YxZAHT.js} +1 -1
  23. package/dist/{channels-cli-C3iJE8eg.js → channels-cli-397NgC51.js} +7 -7
  24. package/dist/{channels-cli-Bog4Kn3X.js → channels-cli-CV7_JUru.js} +7 -7
  25. package/dist/{chrome-BxwUEWrH.js → chrome-CiOKaTN-.js} +7 -7
  26. package/dist/cli/daemon-cli.js +1 -1
  27. package/dist/{cli-eBtEEHLK.js → cli-4XU7pNlM.js} +4 -4
  28. package/dist/{cli-QybdZdE7.js → cli-Dq95udFO.js} +4 -4
  29. package/dist/{client-jI1oE0_k.js → client-B8xmq-Pw.js} +13 -1
  30. package/dist/{client-T3qcxXru.js → client-qUlxXXVJ.js} +13 -1
  31. package/dist/{command-registry-BWnZSpbL.js → command-registry-Cx9T7GYx.js} +10 -10
  32. package/dist/{completion-cli-BhJFXaVU.js → completion-cli-WlSuySPZ.js} +1 -1
  33. package/dist/{completion-cli-CUKm7Hb6.js → completion-cli-cyVjlhls.js} +2 -2
  34. package/dist/{config-cli-B796xZBe.js → config-cli-CMymzmrI.js} +1 -1
  35. package/dist/{config-cli-CjnQyv45.js → config-cli-EdmbBExA.js} +1 -1
  36. package/dist/{configure-D3wIQ0yI.js → configure-DRMAIBBf.js} +6 -6
  37. package/dist/{configure-DUqT7Dyn.js → configure-DkFujfiY.js} +6 -6
  38. package/dist/control-ui/css/style.css +165 -0
  39. package/dist/control-ui/js/app.js +39 -0
  40. package/dist/control-ui/js/gateway.js +2 -0
  41. package/dist/control-ui/js/history.js +220 -85
  42. package/dist/control-ui/js/settings.js +71 -8
  43. package/dist/{cron-cli-DCpsXkrw.js → cron-cli-BHxfvWeT.js} +3 -3
  44. package/dist/{cron-cli-QCTdVZuP.js → cron-cli-DacyI1Pw.js} +3 -3
  45. package/dist/{daemon-cli-DSDcmWOi.js → daemon-cli-BLhFbih0.js} +2 -2
  46. package/dist/{daemon-cli-DhJYEAoL.js → daemon-cli-BxKtiouf.js} +2 -2
  47. package/dist/daemon-cli.js +12 -0
  48. package/dist/{deliver-DtuY4Wgl.js → deliver-D6IcPfbt.js} +1 -1
  49. package/dist/{devices-cli-BNG-fvdl.js → devices-cli-1kiO08aL.js} +2 -2
  50. package/dist/{devices-cli-x3jIP4Ih.js → devices-cli-B8Q8AzbX.js} +2 -2
  51. package/dist/{doctor-completion-DBE1IVKj.js → doctor-completion-BDzhB9pE.js} +1 -1
  52. package/dist/{doctor-completion-D3oUNFQM.js → doctor-completion-CfeROjIz.js} +1 -1
  53. package/dist/entry.js +1 -1
  54. package/dist/{exec-approvals-cli-CmndFjEA.js → exec-approvals-cli-BRx2oxs5.js} +4 -4
  55. package/dist/{exec-approvals-cli-BSgxsdMt.js → exec-approvals-cli-Cj6Z-vxL.js} +4 -4
  56. package/dist/extensionAPI.js +6 -6
  57. package/dist/{gateway-cli-BguO9yV4.js → gateway-cli-C-G0QrTd.js} +185 -81
  58. package/dist/{gateway-cli-Dc1RT_b9.js → gateway-cli-Cpn7JyAw.js} +185 -81
  59. package/dist/{gateway-rpc-BMdVa3QV.js → gateway-rpc-BWTK7g8B.js} +1 -1
  60. package/dist/{gateway-rpc-5fREQe9Q.js → gateway-rpc-WM-HXUbl.js} +1 -1
  61. package/dist/{glass-ui-ws-DoIZyE9O.js → glass-ui-ws-BI81Lh6Z.js} +32 -13
  62. package/dist/{glass-ui-ws-D0UYleBF.js → glass-ui-ws-jAbqZVc9.js} +32 -13
  63. package/dist/{health-D3w4YMlC.js → health-B1nih5LD.js} +2 -2
  64. package/dist/{health-cVvZdeDu.js → health-CsTxt66a.js} +2 -2
  65. package/dist/{hooks-cli-te5hzOAB.js → hooks-cli-BhxMFkKe.js} +5 -5
  66. package/dist/{hooks-cli-DZIbjfOA.js → hooks-cli-CIlvtt2M.js} +5 -5
  67. package/dist/{image-lp19FlzF.js → image-D7Fl08gG.js} +1 -1
  68. package/dist/index.js +9 -9
  69. package/dist/llm-slug-generator.js +1 -1
  70. package/dist/{logs-cli-DtlrLf7u.js → logs-cli-BZV7dq_U.js} +3 -3
  71. package/dist/{logs-cli-CfGj-dOg.js → logs-cli-DyCcDkRs.js} +3 -3
  72. package/dist/{models-BCfPhQ4m.js → models-DhMe2rzL.js} +3 -3
  73. package/dist/{models-cli-BFAtjNIF.js → models-cli-DKM5sCQM.js} +5 -5
  74. package/dist/{models-cli-Cj2CwbPw.js → models-cli-Dewg24W2.js} +6 -6
  75. package/dist/{node-cli-DnfDOh1d.js → node-cli-4eMRkmrw.js} +1 -1
  76. package/dist/{node-cli-eHn9-YfJ.js → node-cli-Dfs0UmnJ.js} +1 -1
  77. package/dist/{nodes-cli-Ct4M7JOe.js → nodes-cli-BKb61OjH.js} +3 -3
  78. package/dist/{nodes-cli-Ci3oxw8k.js → nodes-cli-DxfP9DIz.js} +3 -3
  79. package/dist/{onboard-BMq8qc1m.js → onboard-Dw_nX2RD.js} +3 -3
  80. package/dist/{onboard-channels-B5wgcffj.js → onboard-channels-8ynJSZL6.js} +1 -1
  81. package/dist/{onboard-channels-CiOun4k1.js → onboard-channels-ChxtmhFY.js} +1 -1
  82. package/dist/{onboard-helpers-DFvWPFhU.js → onboard-helpers-CueJ7O_B.js} +1 -1
  83. package/dist/{onboard-helpers-BBtPmJEe.js → onboard-helpers-PpGrZIGw.js} +1 -1
  84. package/dist/{onboard-remote-BURDxwoE.js → onboard-remote-Cd9kIiSG.js} +1 -1
  85. package/dist/{onboard-remote-D-B4EiOE.js → onboard-remote-DCdpB2HH.js} +1 -1
  86. package/dist/{onboard-skills-BDCzVjxb.js → onboard-skills-CC2CV5Er.js} +1 -1
  87. package/dist/{onboard-skills-CbzgBT1W.js → onboard-skills-DRICcBwa.js} +1 -1
  88. package/dist/{onboard-VcdBF5TB.js → onboard-yrgbC1mu.js} +3 -3
  89. package/dist/{onboarding-Dp7p6zKa.js → onboarding-BJcYsOFw.js} +7 -7
  90. package/dist/{onboarding-CGNpTyg2.js → onboarding-e-RSXpUi.js} +7 -7
  91. package/dist/{onboarding.finalize-B6DOu8vp.js → onboarding.finalize-CKNdiZEZ.js} +9 -9
  92. package/dist/{onboarding.finalize-CrsE5P43.js → onboarding.finalize-DenYTWUu.js} +10 -10
  93. package/dist/{onboarding.gateway-config-DKwJ5bWd.js → onboarding.gateway-config-DTWQ-Bqq.js} +3 -3
  94. package/dist/{onboarding.gateway-config-B9zGPfCl.js → onboarding.gateway-config-Dj68bVBt.js} +3 -3
  95. package/dist/{pi-embedded-DQe8vBwU.js → pi-embedded-BzS693I1.js} +72 -21
  96. package/dist/{pi-embedded-helpers-Dij3O6ox.js → pi-embedded-helpers-DXAoe1Bx.js} +4 -4
  97. package/dist/{plugin-registry-BzIbwU3K.js → plugin-registry-Bzz7mUyl.js} +1 -1
  98. package/dist/{plugin-registry-D3TUplW8.js → plugin-registry-SUa2FFIj.js} +1 -1
  99. package/dist/plugin-sdk/{channel-web-B6m8UOCl.js → channel-web-DRabhx1e.js} +1 -1
  100. package/dist/plugin-sdk/gateway/protocol/index.d.ts +13 -2
  101. package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +11 -0
  102. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +4 -1
  103. package/dist/plugin-sdk/index.js +2 -2
  104. package/dist/plugin-sdk/{reply-CGoJQT_s.js → reply-Cw3shPk2.js} +58 -7
  105. package/dist/plugin-sdk/{web-CJjSOTnI.js → web-CH43nBP0.js} +2 -2
  106. package/dist/{plugins-cli-BD1Jb2Ml.js → plugins-cli-DwtoU3xk.js} +5 -5
  107. package/dist/{plugins-cli-DFyRjAtJ.js → plugins-cli-qG50__1A.js} +5 -5
  108. package/dist/{program-context-45vPEw2G.js → program-context-CZwy-bh6.js} +29 -29
  109. package/dist/{program-qGm2M9PG.js → program-mZOVTSdQ.js} +10 -10
  110. package/dist/{prompt-select-styled-DRIS9jSv.js → prompt-select-styled-BZnuv8jI.js} +6 -6
  111. package/dist/{prompt-select-styled-DRraJGwA.js → prompt-select-styled-CtNg5KGU.js} +6 -6
  112. package/dist/{provider-auth-helpers-BNOWsjW5.js → provider-auth-helpers-CEYCb2mJ.js} +1 -1
  113. package/dist/{provider-auth-helpers-BREVjR7R.js → provider-auth-helpers-D60nbSLq.js} +1 -1
  114. package/dist/{push-apns-CYC70eKy.js → push-apns-B5txhDVi.js} +1 -1
  115. package/dist/{push-apns-CObVeJLC.js → push-apns-CoG1P_P0.js} +1 -1
  116. package/dist/{pw-ai-BO5cSmwD.js → pw-ai-CANiWpMA.js} +1 -1
  117. package/dist/{register.agent-DzzY8jON.js → register.agent-BY_Df_Me.js} +9 -9
  118. package/dist/{register.agent-DRrHvYcz.js → register.agent-CopGIf9e.js} +8 -8
  119. package/dist/{register.configure-DlXkwkNR.js → register.configure-Bu_XKu7Z.js} +11 -11
  120. package/dist/{register.configure-BxtTIFTa.js → register.configure-CoYQhQBT.js} +11 -11
  121. package/dist/{register.maintenance-LEf8Q_5p.js → register.maintenance-BtqQ3hDN.js} +11 -11
  122. package/dist/{register.maintenance-CXLXouZV.js → register.maintenance-VqCqhB7y.js} +10 -10
  123. package/dist/{register.message-DsPa-xHV.js → register.message-DZCCEK01.js} +5 -5
  124. package/dist/{register.message-C4ifV9vG.js → register.message-dd1xYBZT.js} +5 -5
  125. package/dist/{register.onboard-CrY4PxLP.js → register.onboard-B6EL1d-C.js} +7 -7
  126. package/dist/{register.onboard-DLRPa_4B.js → register.onboard-lzwHKufI.js} +7 -7
  127. package/dist/{register.setup-fBG_dJfi.js → register.setup-BJsr5_qp.js} +7 -7
  128. package/dist/{register.setup-By37g1vN.js → register.setup-D_b_HW5D.js} +7 -7
  129. package/dist/{register.status-health-sessions-DG7KGnD0.js → register.status-health-sessions-Dvj4mlom.js} +7 -7
  130. package/dist/{register.status-health-sessions-Ckw86-gn.js → register.status-health-sessions-jeiqtgl7.js} +7 -7
  131. package/dist/{register.subclis-C_xKLugM.js → register.subclis-DdPRkz29.js} +20 -20
  132. package/dist/{reply-DyjXROKp.js → reply-XaXqDK9F.js} +49 -10
  133. package/dist/{rpc-Co5PQ3IJ.js → rpc-N1nf_c1A.js} +1 -1
  134. package/dist/{rpc-D0FiEinj.js → rpc-QHo-8pCM.js} +1 -1
  135. package/dist/{run-main-Cg3ecTbO.js → run-main-MhL-xG3_.js} +17 -17
  136. package/dist/{runner-Ct0suQrd.js → runner-BS9gGL5i.js} +1 -1
  137. package/dist/{security-cli-D5BWzqEJ.js → security-cli-B-4J6enu.js} +3 -3
  138. package/dist/{security-cli-CG1uSlRK.js → security-cli-CSMUEGPK.js} +3 -3
  139. package/dist/{server-methods-CWcLut3F.js → server-methods-0ksPFnev.js} +471 -88
  140. package/dist/{server-methods-CW8eFTGD.js → server-methods-Bu1RjLe6.js} +471 -88
  141. package/dist/{server-node-events-C2h9OPo7.js → server-node-events-DCbzFyQF.js} +5 -5
  142. package/dist/{server-node-events-CDB0u8PP.js → server-node-events-DZAN3hWE.js} +5 -5
  143. package/dist/{status-B2Qt-5kL.js → status-CiHkFbIh.js} +1 -1
  144. package/dist/{status-ZPW5EACm.js → status-DOTlXdcN.js} +5 -5
  145. package/dist/{status-CMx3GAax.js → status-IWqSLXLR.js} +1 -1
  146. package/dist/{status-DfPfMVNZ.js → status-qkmUAeWo.js} +5 -5
  147. package/dist/{subagent-registry-DQHg3jUV.js → subagent-registry-DCoU9xIE.js} +49 -10
  148. package/dist/{system-cli-DFZNGx0i.js → system-cli-DY7ov1OT.js} +3 -3
  149. package/dist/{system-cli-Z7uzO8qd.js → system-cli-LFURKpwS.js} +3 -3
  150. package/dist/{tui-DjPsMdL6.js → tui-BH7JwqvB.js} +2 -2
  151. package/dist/{tui-DrATGNms.js → tui-C_5HG495.js} +2 -2
  152. package/dist/{tui-cli-D19-MCXt.js → tui-cli-B65PKZMj.js} +3 -3
  153. package/dist/{tui-cli-pWD_NrUR.js → tui-cli-CJnfmuxq.js} +3 -3
  154. package/dist/{unified-runner-DvOFqcrw.js → unified-runner-CApgXtVC.js} +58 -7
  155. package/dist/{update-cli-Df9rh_aN.js → update-cli-Bi6iMCXr.js} +11 -11
  156. package/dist/{update-cli-DBasZeVl.js → update-cli-BjQ3o9gQ.js} +12 -12
  157. package/dist/{update-runner-DVa6cMqp.js → update-runner-BhVsdpxm.js} +1 -1
  158. package/dist/{update-runner-BRKFzAwV.js → update-runner-FhW6n-Nv.js} +1 -1
  159. package/dist/{web-Dd05xbUr.js → web-ConlA_Ch.js} +4 -4
  160. package/dist/{web-Cw3bFAiP.js → web-CthDLVSz.js} +1 -1
  161. package/dist/{web-CGh5tw__.js → web-Db_-ahjX.js} +6 -6
  162. package/dist/{web-KiuDkd0x.js → web-Dpb_tv_j.js} +5 -5
  163. package/extensions/bluebubbles/package.json +1 -1
  164. package/extensions/copilot-proxy/package.json +1 -1
  165. package/extensions/diagnostics-otel/package.json +1 -1
  166. package/extensions/discord/package.json +1 -1
  167. package/extensions/feishu/package.json +1 -1
  168. package/extensions/google-antigravity-auth/package.json +1 -1
  169. package/extensions/google-gemini-cli-auth/package.json +1 -1
  170. package/extensions/googlechat/package.json +1 -1
  171. package/extensions/imessage/package.json +1 -1
  172. package/extensions/irc/package.json +1 -1
  173. package/extensions/learning-loop/package.json +1 -1
  174. package/extensions/line/package.json +1 -1
  175. package/extensions/llm-task/package.json +1 -1
  176. package/extensions/matrix/CHANGELOG.md +12 -0
  177. package/extensions/matrix/package.json +1 -1
  178. package/extensions/mattermost/package.json +1 -1
  179. package/extensions/memory-core/package.json +1 -1
  180. package/extensions/memory-lancedb/package.json +1 -1
  181. package/extensions/minimax-portal-auth/package.json +1 -1
  182. package/extensions/msteams/CHANGELOG.md +12 -0
  183. package/extensions/msteams/package.json +1 -1
  184. package/extensions/nextcloud-talk/package.json +1 -1
  185. package/extensions/nostr/CHANGELOG.md +12 -0
  186. package/extensions/nostr/package.json +1 -1
  187. package/extensions/open-prose/package.json +1 -1
  188. package/extensions/outlook/package.json +1 -1
  189. package/extensions/pipeline/package.json +1 -1
  190. package/extensions/signal/package.json +1 -1
  191. package/extensions/slack/package.json +1 -1
  192. package/extensions/telegram/package.json +1 -1
  193. package/extensions/tlon/package.json +1 -1
  194. package/extensions/twitch/CHANGELOG.md +12 -0
  195. package/extensions/twitch/package.json +1 -1
  196. package/extensions/voice-call/CHANGELOG.md +12 -0
  197. package/extensions/voice-call/package.json +1 -1
  198. package/extensions/whatsapp/package.json +1 -1
  199. package/extensions/zalo/CHANGELOG.md +12 -0
  200. package/extensions/zalo/package.json +1 -1
  201. package/extensions/zalouser/CHANGELOG.md +12 -0
  202. package/extensions/zalouser/package.json +1 -1
  203. package/package.json +1 -1
  204. package/skills/long-task/scripts/detach-task.sh +91 -14
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-DyjXROKp.js";
4
+ import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-XaXqDK9F.js";
5
5
  import { c as normalizeMainKey } from "./session-key-DCt45XZa.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -72,8 +72,8 @@ import "./ir-DZam9q5M.js";
72
72
  import "./render-CXDO_kgw.js";
73
73
  import "./commands-BNLCWX6e.js";
74
74
  import "./commands-registry-BT0-zzs3.js";
75
- import "./client-jI1oE0_k.js";
76
- import "./call-DwpGquzW.js";
75
+ import "./client-B8xmq-Pw.js";
76
+ import "./call-CX0cs106.js";
77
77
  import "./pairing-token-CX3NN_qj.js";
78
78
  import "./channel-activity-BOiuJS3t.js";
79
79
  import "./fetch-DTNGXEzX.js";
@@ -94,7 +94,7 @@ import "./session-cost-usage-BXAI7CNH.js";
94
94
  import "./outbound-attachment-Bw-c5Cdp.js";
95
95
  import "./delivery-queue-CAxX6nGq.js";
96
96
  import "./send-9SapUCg7.js";
97
- import "./onboard-helpers-DFvWPFhU.js";
97
+ import "./onboard-helpers-CueJ7O_B.js";
98
98
  import "./prompt-style-CnkMpSXt.js";
99
99
  import "./pairing-labels-DyXoD1DS.js";
100
100
  import "./exec-approvals-DXM2pQYL.js";
@@ -103,7 +103,7 @@ import "./pi-tools.policy-DRWb_Cax.js";
103
103
  import "./control-service-BYKXzY4f.js";
104
104
  import "./stagger-CvFURHzt.js";
105
105
  import "./channel-selection-V2xDgw16.js";
106
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CObVeJLC.js";
106
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CoG1P_P0.js";
107
107
  import { randomUUID } from "node:crypto";
108
108
 
109
109
  //#region src/gateway/server-node-events.ts
@@ -1,4 +1,4 @@
1
- import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-DyjXROKp.js";
1
+ import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-XaXqDK9F.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
3
3
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
4
4
  import { i as loadConfig } from "./config-Dz95lSBW.js";
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-B-0b9bGM.js";
3
- import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-DyjXROKp.js";
3
+ import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-XaXqDK9F.js";
4
4
  import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import { n as runExec } from "./exec-CWkblSrI.js";
@@ -14,12 +14,12 @@ import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as l
14
14
  import { n as listChannelPlugins } from "./plugins-DKDeQZF0.js";
15
15
  import { c as resolveStorePath } from "./paths-CyhzMxFA.js";
16
16
  import { r as getMemorySearchManager } from "./memory-cli-DDumUksr.js";
17
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DwpGquzW.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CX0cs106.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
19
19
  import { n as withProgress } from "./progress-jIePzvGA.js";
20
20
  import { r as formatDurationPrecise } from "./format-duration-D0B0Uo-I.js";
21
21
  import { o as getRemoteSkillEligibility } from "./skill-commands-Cxw-jNxU.js";
22
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-DFvWPFhU.js";
22
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-CueJ7O_B.js";
23
23
  import { t as buildWorkspaceSkillStatus } from "./skills-status-C3ptXwnh.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-DnjQ73f_.js";
25
25
  import { t as collectChannelStatusIssues } from "./channels-status-issues-CJ0Vb_9z.js";
@@ -27,8 +27,8 @@ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./servi
27
27
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D6c3G7my.js";
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-BRwihzJG.js";
29
29
  import { t as renderTable } from "./table-BKlH0YlA.js";
30
- import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-DB9YkTVX.js";
31
- import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-D3w4YMlC.js";
30
+ import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-BgdM9XZl.js";
31
+ import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-B1nih5LD.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-7EzEjSzb.js";
33
33
  import { t as resolveNodeService } from "./node-service-CD47Qpf1.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-B0yJsjEo.js";
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
3
3
  import { i as loadConfig } from "./config-BNTB6qj8.js";
4
- import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-DQHg3jUV.js";
4
+ import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-DCoU9xIE.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -8,8 +8,8 @@ import { n as runExec } from "./exec-CBKBIMpA.js";
8
8
  import { c as resolveAgentWorkspaceDir } from "./agent-scope-D-jRCY0d.js";
9
9
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DKXJ-tbi.js";
10
10
  import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-BNTB6qj8.js";
11
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DKi-hnaF.js";
12
- import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-DQHg3jUV.js";
11
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-DeCQ2DhS.js";
12
+ import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-DCoU9xIE.js";
13
13
  import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-Cfa6JEB3.js";
14
14
  import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
15
15
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CbbvYNVw.js";
@@ -21,15 +21,15 @@ import { l as resolveSessionModelRef, n as classifySessionKey, r as listAgentsFo
21
21
  import { o as getRemoteSkillEligibility } from "./skill-commands-C8BcwE33.js";
22
22
  import { r as formatDurationPrecise } from "./format-duration-BOC0O2XQ.js";
23
23
  import { n as withProgress } from "./progress-BAHiAaDW.js";
24
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-BBtPmJEe.js";
24
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-PpGrZIGw.js";
25
25
  import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
26
26
  import { t as collectChannelStatusIssues } from "./channels-status-issues-c7qZbYG5.js";
27
27
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
28
28
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-hFVEC3wO.js";
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-CS1ov_hH.js";
30
30
  import { t as renderTable } from "./table-D01d2GuY.js";
31
- import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-BjI_Yyr5.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-cVvZdeDu.js";
31
+ import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-xSagQWH8.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-CsTxt66a.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
34
34
  import { t as resolveNodeService } from "./node-service-fcZExd22.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DVLB9DNB.js";
@@ -15,8 +15,8 @@ import { r as isPathInsideWithRealpath } from "./scan-paths-ppKrtZ9U.js";
15
15
  import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-hAdgFdrv.js";
16
16
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-Czr39pxG.js";
17
17
  import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-BNTB6qj8.js";
18
- import { Nt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-T3qcxXru.js";
19
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-DKi-hnaF.js";
18
+ import { It as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-qUlxXXVJ.js";
19
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-DeCQ2DhS.js";
20
20
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C9dERklz.js";
21
21
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-D0lNkCf6.js";
22
22
  import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-Cfa6JEB3.js";
@@ -92,7 +92,7 @@ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-rou
92
92
  import { t as parseTimeoutMs } from "./parse-timeout-zNJBr1fY.js";
93
93
  import { t as makeProxyFetch } from "./proxy-DL3MD6-P.js";
94
94
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Bo49QlAg.js";
95
- import { r as detectBinary } from "./onboard-helpers-BBtPmJEe.js";
95
+ import { r as detectBinary } from "./onboard-helpers-PpGrZIGw.js";
96
96
  import { t as resolvePairingIdLabel } from "./pairing-labels-D1HDboV2.js";
97
97
  import { t as getActiveWebListener } from "./active-listener-De1JhR4W.js";
98
98
  import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-DxNwL7Dl.js";
@@ -38851,6 +38851,21 @@ const getDmHistoryLimitFromSessionKey = getHistoryLimitFromSessionKey;
38851
38851
  //#region src/agents/pi-embedded-runner/long-task-prompt.ts
38852
38852
  const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
38853
38853
  let cachedScriptPath;
38854
+ function isExecutable(candidatePath) {
38855
+ try {
38856
+ fs.accessSync(candidatePath, fs.constants.X_OK);
38857
+ return true;
38858
+ } catch {
38859
+ return false;
38860
+ }
38861
+ }
38862
+ /**
38863
+ * Ensure the script is present AND has the exec bit. npm usually preserves
38864
+ * mode 100755 on pack/install, but a subset of filesystems (FAT32, some
38865
+ * container mounts) silently drop it. If the bit is missing, we try to set
38866
+ * it; on failure we return null rather than emit a prompt that would break
38867
+ * when the model tries to exec the script.
38868
+ */
38854
38869
  async function resolveDetachScriptPath(params) {
38855
38870
  if (cachedScriptPath !== void 0) return cachedScriptPath;
38856
38871
  const packageRoot = await resolveSymiPackageRoot({
@@ -38863,7 +38878,17 @@ async function resolveDetachScriptPath(params) {
38863
38878
  return null;
38864
38879
  }
38865
38880
  const candidate = path.join(packageRoot, SCRIPT_REL_PATH);
38866
- cachedScriptPath = fs.existsSync(candidate) ? candidate : null;
38881
+ if (!fs.existsSync(candidate)) {
38882
+ cachedScriptPath = null;
38883
+ return null;
38884
+ }
38885
+ if (!isExecutable(candidate)) try {
38886
+ fs.chmodSync(candidate, 493);
38887
+ } catch {
38888
+ cachedScriptPath = null;
38889
+ return null;
38890
+ }
38891
+ cachedScriptPath = candidate;
38867
38892
  return cachedScriptPath;
38868
38893
  }
38869
38894
  async function buildLongTaskPromptSuffix(params) {
@@ -38871,11 +38896,25 @@ async function buildLongTaskPromptSuffix(params) {
38871
38896
  if (!scriptPath) return "";
38872
38897
  return "\n\n" + [
38873
38898
  "LONG-RUNNING TASK PATTERN:",
38874
- "- For any task that may exceed 15 minutes (deep nmap scans of /24 or larger, full brute-force sweeps, long builds, exhaustive enumeration): detach from the agent turn. Do NOT foreground-block the exec tool for the full duration; the agent turn will hit its timeout and SIGTERM the process mid-run.",
38875
- `- Detach pattern: exec \`${scriptPath} <task-id> <workdir> <command...>\`. The script spawns under setsid+nohup, writes PID / cmd / started / status / log files in the workdir. Use the agent workspace as the workdir.`,
38899
+ "- Applies ONLY when a command is expected to take longer than about 15 minutes (deep nmap scans of /24 or larger, full brute-force sweeps, long builds, exhaustive enumeration). For anything shorter, use the normal exec tool detaching short tasks creates pointless cron noise.",
38900
+ "- Foreground-blocking the exec tool for the full duration will fail: the agent turn will hit its timeout and the process will be SIGTERMed mid-run. Detach instead.",
38901
+ `- Detach pattern: exec \`${scriptPath} <task-id> <workdir> <command...>\`.`,
38902
+ " • task-id: alphanumeric + dot/dash/underscore, 1–60 chars, must not start with '.' or '-'.",
38903
+ " • workdir: absolute path you own (e.g. the agent workspace).",
38904
+ " • Script spawns under setsid+nohup+disown, writes task-<id>.{pid,cmd,started,log,status} files.",
38876
38905
  "- Immediately after detaching, respond to the user with: task id, PID, log file path, your ETA estimate, and that a cron monitor has been scheduled.",
38877
- "- Register a cron monitor using the `cron` tool with action=add. Schedule every 2-3 minutes. Job prompt must include the task-id, PID, log path, and status path so the future turn has enough context. Example job prompt: \"Check if PID <pid> is alive (kill -0). If alive: tail -n 20 <log>, post one-sentence progress update. If not alive: read <status> and tail <log>, post a final summary, then call cron tool with action=remove id=<this-cron-id>.\"",
38878
- "- When the monitor turn observes status=complete, it MUST call the cron tool with action=remove to clean up its own job. Do not leave stale monitors running."
38906
+ "- Register a cron monitor using the `cron` tool with action=add. Required fields:",
38907
+ " schedule: { kind: \"interval\", ms: 180000 } (every 3 minutes; minimum 60000)",
38908
+ " • payload: { kind: \"agent\", sessionTarget: \"isolated\", text: <job prompt> }",
38909
+ " The job prompt must literally contain the task-id, PID, log path, and status path so the future turn has enough context without re-deriving them.",
38910
+ "- Safe status read (inside the monitor turn):",
38911
+ " `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
38912
+ " Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, or `missing` if the file was cleaned up.",
38913
+ "- Monitor responsibilities each tick:",
38914
+ " • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
38915
+ " • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
38916
+ " • If status begins with `aborted`: post a failure summary with signal and tail, then call cron action=remove.",
38917
+ " • Never leave stale monitors running after the task finishes."
38879
38918
  ].join("\n");
38880
38919
  }
38881
38920
 
@@ -53368,7 +53407,7 @@ function isVoiceChannelType(type) {
53368
53407
  function createDefaultDeps() {
53369
53408
  return {
53370
53409
  sendMessageWhatsApp: async (...args) => {
53371
- const { sendMessageWhatsApp } = await import("./web-Dd05xbUr.js");
53410
+ const { sendMessageWhatsApp } = await import("./web-ConlA_Ch.js");
53372
53411
  return await sendMessageWhatsApp(...args);
53373
53412
  },
53374
53413
  sendMessageTelegram: async (...args) => {
@@ -68682,7 +68721,7 @@ function loadWebLoginQr() {
68682
68721
  return webLoginQrPromise;
68683
68722
  }
68684
68723
  function loadWebChannel() {
68685
- webChannelPromise ??= import("./web-Dd05xbUr.js");
68724
+ webChannelPromise ??= import("./web-ConlA_Ch.js");
68686
68725
  return webChannelPromise;
68687
68726
  }
68688
68727
  function loadWhatsAppActions() {
@@ -11,12 +11,12 @@ import "./env-DPCHYPeH.js";
11
11
  import "./message-channel-aT-I_DTX.js";
12
12
  import "./config-Dz95lSBW.js";
13
13
  import "./manifest-registry-C4BxOMWX.js";
14
- import "./client-jI1oE0_k.js";
15
- import "./call-DwpGquzW.js";
14
+ import "./client-B8xmq-Pw.js";
15
+ import "./call-CX0cs106.js";
16
16
  import "./pairing-token-CX3NN_qj.js";
17
17
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
18
18
  import "./progress-jIePzvGA.js";
19
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-5fREQe9Q.js";
19
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-WM-HXUbl.js";
20
20
 
21
21
  //#region src/cli/system-cli.ts
22
22
  const normalizeWakeMode = (raw) => {
@@ -5,13 +5,13 @@ import "./agent-scope-D-jRCY0d.js";
5
5
  import "./github-copilot-token-DuFIqfeC.js";
6
6
  import "./manifest-registry-Czr39pxG.js";
7
7
  import "./config-BNTB6qj8.js";
8
- import "./client-T3qcxXru.js";
9
- import "./call-DKi-hnaF.js";
8
+ import "./client-qUlxXXVJ.js";
9
+ import "./call-DeCQ2DhS.js";
10
10
  import "./message-channel-C9dERklz.js";
11
11
  import "./pairing-token-Byh6drgn.js";
12
12
  import { t as formatDocsLink } from "./links-DlWpl9Yv.js";
13
13
  import "./progress-BAHiAaDW.js";
14
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BMdVa3QV.js";
14
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BWTK7g8B.js";
15
15
 
16
16
  //#region src/cli/system-cli.ts
17
17
  const normalizeWakeMode = (raw) => {
@@ -8,8 +8,8 @@ import { _ as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-BgdB5kv
8
8
  import { k as stripLeadingInboundMetadata } from "./sessions-Cpgnq0pA.js";
9
9
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-D8N3rsYt.js";
10
10
  import { a as listChatCommandsForConfig, i as listChatCommands } from "./commands-registry-BT0-zzs3.js";
11
- import { At as PROTOCOL_VERSION, t as GatewayClient } from "./client-jI1oE0_k.js";
12
- import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-DwpGquzW.js";
11
+ import { Nt as PROTOCOL_VERSION, t as GatewayClient } from "./client-B8xmq-Pw.js";
12
+ import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-CX0cs106.js";
13
13
  import { n as formatTimeAgo, t as formatRelativeTimestamp } from "./format-relative-BXoxEQVN.js";
14
14
  import { n as formatTokenCount } from "./usage-format-BgUx3Bm4.js";
15
15
  import chalk from "chalk";
@@ -2,8 +2,8 @@ import { h as visibleWidth, m as stripAnsi } from "./entry.js";
2
2
  import { S as parseAgentSessionKey, c as normalizeMainKey, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-DjZ7Z1hW.js";
3
3
  import { l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
4
  import { H as VERSION, i as loadConfig } from "./config-BNTB6qj8.js";
5
- import { At as PROTOCOL_VERSION, t as GatewayClient } from "./client-T3qcxXru.js";
6
- import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-DKi-hnaF.js";
5
+ import { Nt as PROTOCOL_VERSION, t as GatewayClient } from "./client-qUlxXXVJ.js";
6
+ import { i as ensureExplicitGatewayAuth, o as resolveExplicitGatewayAuth, t as buildGatewayConnectionDetails } from "./call-DeCQ2DhS.js";
7
7
  import { f as GATEWAY_CLIENT_CAPS, h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C9dERklz.js";
8
8
  import { C as stripLeadingInboundMetadata } from "./sessions-Cfa6JEB3.js";
9
9
  import { _ as formatRawAssistantErrorForUi } from "./pi-embedded-helpers-DA4liAIZ.js";
@@ -7,8 +7,8 @@ import "./frontmatter-B8duUx_6.js";
7
7
  import "./skills-hAdgFdrv.js";
8
8
  import "./manifest-registry-Czr39pxG.js";
9
9
  import "./config-BNTB6qj8.js";
10
- import "./client-T3qcxXru.js";
11
- import "./call-DKi-hnaF.js";
10
+ import "./client-qUlxXXVJ.js";
11
+ import "./call-DeCQ2DhS.js";
12
12
  import "./message-channel-C9dERklz.js";
13
13
  import "./pairing-token-Byh6drgn.js";
14
14
  import "./sessions-Cfa6JEB3.js";
@@ -43,7 +43,7 @@ import "./commands-registry-D1K_inhv.js";
43
43
  import "./tool-display-CXwOC-qw.js";
44
44
  import { t as parseTimeoutMs } from "./parse-timeout-zNJBr1fY.js";
45
45
  import { t as formatDocsLink } from "./links-DlWpl9Yv.js";
46
- import { t as runTui } from "./tui-DrATGNms.js";
46
+ import { t as runTui } from "./tui-C_5HG495.js";
47
47
 
48
48
  //#region src/cli/tui-cli.ts
49
49
  function registerTuiCli(program) {
@@ -43,12 +43,12 @@ import "./tool-images-DvUBlqjX.js";
43
43
  import "./tool-display-D8N3rsYt.js";
44
44
  import "./commands-BNLCWX6e.js";
45
45
  import "./commands-registry-BT0-zzs3.js";
46
- import "./client-jI1oE0_k.js";
47
- import "./call-DwpGquzW.js";
46
+ import "./client-B8xmq-Pw.js";
47
+ import "./call-CX0cs106.js";
48
48
  import "./pairing-token-CX3NN_qj.js";
49
49
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
50
50
  import { t as parseTimeoutMs } from "./parse-timeout-2S5vp0-9.js";
51
- import { t as runTui } from "./tui-DjPsMdL6.js";
51
+ import { t as runTui } from "./tui-BH7JwqvB.js";
52
52
 
53
53
  //#region src/cli/tui-cli.ts
54
54
  function registerTuiCli(program) {
@@ -8552,6 +8552,15 @@ const SessionsRestoreParamsSchema = Type.Object({
8552
8552
  key: NonEmptyString,
8553
8553
  targetFile: NonEmptyString
8554
8554
  }, { additionalProperties: false });
8555
+ const SessionsAdoptFileParamsSchema = Type.Object({
8556
+ key: NonEmptyString,
8557
+ targetFile: NonEmptyString
8558
+ }, { additionalProperties: false });
8559
+ const SessionsFavoriteFileParamsSchema = Type.Object({
8560
+ file: NonEmptyString,
8561
+ favorited: Type.Boolean()
8562
+ }, { additionalProperties: false });
8563
+ const SessionsDeleteFileParamsSchema = Type.Object({ file: NonEmptyString }, { additionalProperties: false });
8555
8564
  const SessionsDeleteParamsSchema = Type.Object({
8556
8565
  key: NonEmptyString,
8557
8566
  deleteTranscript: Type.Optional(Type.Boolean()),
@@ -8684,6 +8693,9 @@ const validateSessionsResolveParams = ajv.compile(SessionsResolveParamsSchema);
8684
8693
  const validateSessionsPatchParams = ajv.compile(SessionsPatchParamsSchema);
8685
8694
  const validateSessionsResetParams = ajv.compile(SessionsResetParamsSchema);
8686
8695
  const validateSessionsRestoreParams = ajv.compile(SessionsRestoreParamsSchema);
8696
+ const validateSessionsAdoptFileParams = ajv.compile(SessionsAdoptFileParamsSchema);
8697
+ const validateSessionsFavoriteFileParams = ajv.compile(SessionsFavoriteFileParamsSchema);
8698
+ const validateSessionsDeleteFileParams = ajv.compile(SessionsDeleteFileParamsSchema);
8687
8699
  const validateSessionsDeleteParams = ajv.compile(SessionsDeleteParamsSchema);
8688
8700
  const validateSessionsCompactParams = ajv.compile(SessionsCompactParamsSchema);
8689
8701
  const validateSessionsUsageParams = ajv.compile(SessionsUsageParamsSchema);
@@ -53822,7 +53834,7 @@ function isVoiceChannelType(type) {
53822
53834
  function createDefaultDeps() {
53823
53835
  return {
53824
53836
  sendMessageWhatsApp: async (...args) => {
53825
- const { sendMessageWhatsApp } = await import("./web-Cw3bFAiP.js");
53837
+ const { sendMessageWhatsApp } = await import("./web-CthDLVSz.js");
53826
53838
  return await sendMessageWhatsApp(...args);
53827
53839
  },
53828
53840
  sendMessageTelegram: async (...args) => {
@@ -69102,7 +69114,7 @@ function loadWebLoginQr() {
69102
69114
  return webLoginQrPromise;
69103
69115
  }
69104
69116
  function loadWebChannel() {
69105
- webChannelPromise ??= import("./web-Cw3bFAiP.js");
69117
+ webChannelPromise ??= import("./web-CthDLVSz.js");
69106
69118
  return webChannelPromise;
69107
69119
  }
69108
69120
  function loadWhatsAppActions() {
@@ -76305,6 +76317,21 @@ function isRunnerAbortError(err) {
76305
76317
  //#region src/agents/pi-embedded-runner/long-task-prompt.ts
76306
76318
  const SCRIPT_REL_PATH = "skills/long-task/scripts/detach-task.sh";
76307
76319
  let cachedScriptPath;
76320
+ function isExecutable(candidatePath) {
76321
+ try {
76322
+ fs.accessSync(candidatePath, fs.constants.X_OK);
76323
+ return true;
76324
+ } catch {
76325
+ return false;
76326
+ }
76327
+ }
76328
+ /**
76329
+ * Ensure the script is present AND has the exec bit. npm usually preserves
76330
+ * mode 100755 on pack/install, but a subset of filesystems (FAT32, some
76331
+ * container mounts) silently drop it. If the bit is missing, we try to set
76332
+ * it; on failure we return null rather than emit a prompt that would break
76333
+ * when the model tries to exec the script.
76334
+ */
76308
76335
  async function resolveDetachScriptPath(params) {
76309
76336
  if (cachedScriptPath !== void 0) return cachedScriptPath;
76310
76337
  const packageRoot = await resolveSymiPackageRoot({
@@ -76317,7 +76344,17 @@ async function resolveDetachScriptPath(params) {
76317
76344
  return null;
76318
76345
  }
76319
76346
  const candidate = path.join(packageRoot, SCRIPT_REL_PATH);
76320
- cachedScriptPath = fs.existsSync(candidate) ? candidate : null;
76347
+ if (!fs.existsSync(candidate)) {
76348
+ cachedScriptPath = null;
76349
+ return null;
76350
+ }
76351
+ if (!isExecutable(candidate)) try {
76352
+ fs.chmodSync(candidate, 493);
76353
+ } catch {
76354
+ cachedScriptPath = null;
76355
+ return null;
76356
+ }
76357
+ cachedScriptPath = candidate;
76321
76358
  return cachedScriptPath;
76322
76359
  }
76323
76360
  async function buildLongTaskPromptSuffix(params) {
@@ -76325,11 +76362,25 @@ async function buildLongTaskPromptSuffix(params) {
76325
76362
  if (!scriptPath) return "";
76326
76363
  return "\n\n" + [
76327
76364
  "LONG-RUNNING TASK PATTERN:",
76328
- "- For any task that may exceed 15 minutes (deep nmap scans of /24 or larger, full brute-force sweeps, long builds, exhaustive enumeration): detach from the agent turn. Do NOT foreground-block the exec tool for the full duration; the agent turn will hit its timeout and SIGTERM the process mid-run.",
76329
- `- Detach pattern: exec \`${scriptPath} <task-id> <workdir> <command...>\`. The script spawns under setsid+nohup, writes PID / cmd / started / status / log files in the workdir. Use the agent workspace as the workdir.`,
76365
+ "- Applies ONLY when a command is expected to take longer than about 15 minutes (deep nmap scans of /24 or larger, full brute-force sweeps, long builds, exhaustive enumeration). For anything shorter, use the normal exec tool detaching short tasks creates pointless cron noise.",
76366
+ "- Foreground-blocking the exec tool for the full duration will fail: the agent turn will hit its timeout and the process will be SIGTERMed mid-run. Detach instead.",
76367
+ `- Detach pattern: exec \`${scriptPath} <task-id> <workdir> <command...>\`.`,
76368
+ " • task-id: alphanumeric + dot/dash/underscore, 1–60 chars, must not start with '.' or '-'.",
76369
+ " • workdir: absolute path you own (e.g. the agent workspace).",
76370
+ " • Script spawns under setsid+nohup+disown, writes task-<id>.{pid,cmd,started,log,status} files.",
76330
76371
  "- Immediately after detaching, respond to the user with: task id, PID, log file path, your ETA estimate, and that a cron monitor has been scheduled.",
76331
- "- Register a cron monitor using the `cron` tool with action=add. Schedule every 2-3 minutes. Job prompt must include the task-id, PID, log path, and status path so the future turn has enough context. Example job prompt: \"Check if PID <pid> is alive (kill -0). If alive: tail -n 20 <log>, post one-sentence progress update. If not alive: read <status> and tail <log>, post a final summary, then call cron tool with action=remove id=<this-cron-id>.\"",
76332
- "- When the monitor turn observes status=complete, it MUST call the cron tool with action=remove to clean up its own job. Do not leave stale monitors running."
76372
+ "- Register a cron monitor using the `cron` tool with action=add. Required fields:",
76373
+ " schedule: { kind: \"interval\", ms: 180000 } (every 3 minutes; minimum 60000)",
76374
+ " • payload: { kind: \"agent\", sessionTarget: \"isolated\", text: <job prompt> }",
76375
+ " The job prompt must literally contain the task-id, PID, log path, and status path so the future turn has enough context without re-deriving them.",
76376
+ "- Safe status read (inside the monitor turn):",
76377
+ " `status=$(cat \"<workdir>/task-<id>.status\" 2>/dev/null || echo missing)`",
76378
+ " Possible values: `running pid=<N> started=<ISO>`, `complete rc=<N> ended=<ISO>`, `aborted rc=<N> signal=<TERM|INT|HUP> ended=<ISO>`, or `missing` if the file was cleaned up.",
76379
+ "- Monitor responsibilities each tick:",
76380
+ " • If status begins with `running`: tail -n 20 <log>, post a one-sentence progress line.",
76381
+ " • If status begins with `complete`: post a final summary with rc and tail, then call cron action=remove on this job id.",
76382
+ " • If status begins with `aborted`: post a failure summary with signal and tail, then call cron action=remove.",
76383
+ " • Never leave stale monitors running after the task finishes."
76333
76384
  ].join("\n");
76334
76385
  }
76335
76386
 
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, h as pathExists } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { V as trimLogTail } from "./reply-DyjXROKp.js";
4
+ import { V as trimLogTail } from "./reply-XaXqDK9F.js";
5
5
  import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
@@ -73,8 +73,8 @@ import "./ir-DZam9q5M.js";
73
73
  import "./render-CXDO_kgw.js";
74
74
  import "./commands-BNLCWX6e.js";
75
75
  import "./commands-registry-BT0-zzs3.js";
76
- import "./client-jI1oE0_k.js";
77
- import "./call-DwpGquzW.js";
76
+ import "./client-B8xmq-Pw.js";
77
+ import "./call-CX0cs106.js";
78
78
  import "./pairing-token-CX3NN_qj.js";
79
79
  import "./channel-activity-BOiuJS3t.js";
80
80
  import "./fetch-DTNGXEzX.js";
@@ -96,7 +96,7 @@ import "./session-cost-usage-BXAI7CNH.js";
96
96
  import "./outbound-attachment-Bw-c5Cdp.js";
97
97
  import "./delivery-queue-CAxX6nGq.js";
98
98
  import "./send-9SapUCg7.js";
99
- import "./onboard-helpers-DFvWPFhU.js";
99
+ import "./onboard-helpers-CueJ7O_B.js";
100
100
  import { n as stylePromptMessage } from "./prompt-style-CnkMpSXt.js";
101
101
  import "./pairing-labels-DyXoD1DS.js";
102
102
  import "./exec-approvals-DXM2pQYL.js";
@@ -107,7 +107,7 @@ import "./stagger-CvFURHzt.js";
107
107
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-CafH8-8D.js";
108
108
  import "./channel-selection-V2xDgw16.js";
109
109
  import { r as parseSemver } from "./runtime-guard-Dik20CVM.js";
110
- import "./program-context-45vPEw2G.js";
110
+ import "./program-context-CZwy-bh6.js";
111
111
  import "./catalog-NQ4pj9RI.js";
112
112
  import "./skills-status-C3ptXwnh.js";
113
113
  import { n as inheritOptionFromParent } from "./command-options-BkTXKWlb.js";
@@ -118,28 +118,28 @@ import "./npm-registry-spec-C0CPT3vr.js";
118
118
  import "./skill-scanner-hMtQbWPV.js";
119
119
  import "./installs-DQcRVF1U.js";
120
120
  import "./channels-status-issues-CJ0Vb_9z.js";
121
- import { r as installCompletion } from "./completion-cli-BhJFXaVU.js";
121
+ import { r as installCompletion } from "./completion-cli-WlSuySPZ.js";
122
122
  import "./daemon-runtime-mE1b-Q48.js";
123
123
  import "./systemd-DT6SbCim.js";
124
124
  import { t as resolveGatewayService } from "./service-osK70kTZ.js";
125
125
  import "./lifecycle-core-C4HzGXA1.js";
126
126
  import "./systemd-hints-xYZbFny_.js";
127
- import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DSDcmWOi.js";
127
+ import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-BLhFbih0.js";
128
128
  import "./diagnostics-BRwihzJG.js";
129
129
  import { t as renderTable } from "./table-BKlH0YlA.js";
130
- import "./health-D3w4YMlC.js";
130
+ import "./health-B1nih5LD.js";
131
131
  import "./control-ui-assets-B7moDVHX.js";
132
132
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-7EzEjSzb.js";
133
133
  import "./dm-policy-shared-DlDAGtZL.js";
134
134
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-CG0ciGaf.js";
135
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-BRKFzAwV.js";
135
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-FhW6n-Nv.js";
136
136
  import "./logging-KpicI3yD.js";
137
137
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-Ya0e-JnM.js";
138
138
  import "./doctor-config-flow-iIzSEQxb.js";
139
139
  import "./systemd-linger-DCskIKcx.js";
140
140
  import "./health-format-DRCaak6L.js";
141
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DRIS9jSv.js";
142
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-D3oUNFQM.js";
141
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BZnuv8jI.js";
142
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CfeROjIz.js";
143
143
  import os from "node:os";
144
144
  import path from "node:path";
145
145
  import fs from "node:fs/promises";
@@ -13,11 +13,11 @@ import "./skills-hAdgFdrv.js";
13
13
  import "./manifest-registry-Czr39pxG.js";
14
14
  import "./skills-status-DKXJ-tbi.js";
15
15
  import { l as writeConfigFile, o as readConfigFileSnapshot } from "./config-BNTB6qj8.js";
16
- import "./client-T3qcxXru.js";
17
- import "./call-DKi-hnaF.js";
16
+ import "./client-qUlxXXVJ.js";
17
+ import "./call-DeCQ2DhS.js";
18
18
  import "./message-channel-C9dERklz.js";
19
19
  import "./pairing-token-Byh6drgn.js";
20
- import { Ct as trimLogTail } from "./subagent-registry-DQHg3jUV.js";
20
+ import { Ct as trimLogTail } from "./subagent-registry-DCoU9xIE.js";
21
21
  import "./sessions-Cfa6JEB3.js";
22
22
  import "./tokens-Csntmwwn.js";
23
23
  import "./plugins-CwSlLxM8.js";
@@ -99,7 +99,7 @@ import "./cli-utils-CCaEbxAz.js";
99
99
  import { t as formatHelpExamples } from "./help-format-B0pWGnZs.js";
100
100
  import "./progress-BAHiAaDW.js";
101
101
  import "./replies-Bo49QlAg.js";
102
- import "./onboard-helpers-BBtPmJEe.js";
102
+ import "./onboard-helpers-PpGrZIGw.js";
103
103
  import { n as stylePromptMessage } from "./prompt-style-DwCXob2h.js";
104
104
  import "./pairing-labels-D1HDboV2.js";
105
105
  import "./pi-tools.policy-DxNwL7Dl.js";
@@ -112,32 +112,32 @@ import "./npm-registry-spec-DkaZNHAW.js";
112
112
  import "./skill-scanner-BGWOBqLY.js";
113
113
  import "./installs-CgQpVncj.js";
114
114
  import "./channels-status-issues-c7qZbYG5.js";
115
- import "./register.subclis-C_xKLugM.js";
116
- import "./command-registry-BWnZSpbL.js";
115
+ import "./register.subclis-DdPRkz29.js";
116
+ import "./command-registry-Cx9T7GYx.js";
117
117
  import "./program-context-CqzR_m-7.js";
118
- import { r as installCompletion } from "./completion-cli-CUKm7Hb6.js";
118
+ import { r as installCompletion } from "./completion-cli-cyVjlhls.js";
119
119
  import "./daemon-runtime-CVFg-ZmT.js";
120
120
  import { r as parseSemver } from "./runtime-guard-D7waq_Ho.js";
121
121
  import "./systemd-DlMdyFDY.js";
122
122
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
123
123
  import "./lifecycle-core-BZ5sOcHT.js";
124
124
  import "./systemd-hints-DT6cDIM2.js";
125
- import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DhJYEAoL.js";
125
+ import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-BxKtiouf.js";
126
126
  import "./diagnostics-CS1ov_hH.js";
127
127
  import { t as renderTable } from "./table-D01d2GuY.js";
128
- import "./health-cVvZdeDu.js";
128
+ import "./health-CsTxt66a.js";
129
129
  import "./control-ui-assets-BseSWee1.js";
130
130
  import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-ZdimP1aU.js";
131
131
  import "./dm-policy-shared-DJ-61hCT.js";
132
132
  import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-C2GN8s9C.js";
133
- import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-DVa6cMqp.js";
133
+ import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-BhVsdpxm.js";
134
134
  import "./logging-BGewRZy0.js";
135
135
  import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DEMKx4eC.js";
136
136
  import "./doctor-config-flow-DhAYwhNB.js";
137
137
  import "./systemd-linger-DA_LW52P.js";
138
138
  import "./health-format-CzgUHmmX.js";
139
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DRraJGwA.js";
140
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DBE1IVKj.js";
139
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-CtNg5KGU.js";
140
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-BDzhB9pE.js";
141
141
  import { spawn, spawnSync } from "node:child_process";
142
142
  import os from "node:os";
143
143
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import { nt as pathExists } from "./entry.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
3
- import { Ct as trimLogTail } from "./subagent-registry-DQHg3jUV.js";
3
+ import { Ct as trimLogTail } from "./subagent-registry-DCoU9xIE.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BseSWee1.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-ZdimP1aU.js";
6
6
  import os from "node:os";
@@ -1,5 +1,5 @@
1
1
  import { h as pathExists } from "./utils-B-0b9bGM.js";
2
- import { V as trimLogTail } from "./reply-DyjXROKp.js";
2
+ import { V as trimLogTail } from "./reply-XaXqDK9F.js";
3
3
  import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
4
4
  import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-B7moDVHX.js";
5
5
  import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-7EzEjSzb.js";