@symerian/symi 3.4.26 → 3.4.27

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 (215) hide show
  1. package/dist/{agent-DR2UU-2F.js → agent-CiqPWDUd.js} +18 -18
  2. package/dist/{agent-DQvcs-ag.js → agent-DOOj3Gzb.js} +1 -1
  3. package/dist/{agent-scope-DOrZjOnW.js → agent-scope-Bnsyyeci.js} +18 -18
  4. package/dist/{agents-BewjExwR.js → agents-BBQfFoen.js} +2 -2
  5. package/dist/{agents.config-BJ9RIQlb.js → agents.config-Dm3oLpYK.js} +1 -1
  6. package/dist/{audit-bjakulrx.js → audit-BSX7fMfc.js} +20 -20
  7. package/dist/{auth-choice-BkSsm1pk.js → auth-choice-BYbTjWcs.js} +1 -1
  8. package/dist/{auth-choice-L6_DvGSb.js → auth-choice-rhBmet5i.js} +11 -11
  9. package/dist/{auth-profiles-Ce7R_25e.js → auth-profiles-D5nYBj_Z.js} +2 -2
  10. package/dist/{auth-token-DgRRSbEX.js → auth-token-CAV1oLQG.js} +3 -3
  11. package/dist/{banner-DoxWG0Rv.js → banner-C1qG5Rm9.js} +1 -1
  12. package/dist/{browser-cli-DdLN-X6g.js → browser-cli-De8jg4-F.js} +9 -9
  13. package/dist/build-info.json +3 -3
  14. package/dist/bundled/boot-md/handler.js +4 -4
  15. package/dist/bundled/session-memory/handler.js +4 -4
  16. package/dist/{call-BOE4s-tQ.js → call-CW8U1BPq.js} +9 -9
  17. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  18. package/dist/{channel-options-CJOhNCrO.js → channel-options-BsXUgCMq.js} +1 -1
  19. package/dist/{channel-options-X5Mgr-oH.js → channel-options-CJD7jwYg.js} +1 -1
  20. package/dist/{channels-cli-Drn3JOc8.js → channels-cli-Bao4VNbH.js} +57 -57
  21. package/dist/{channels-cli-CBdy4UL6.js → channels-cli-Dxn5n9e4.js} +7 -7
  22. package/dist/{chrome-C_I81hbq.js → chrome-DPjznJQ-.js} +7 -7
  23. package/dist/{chrome-xlyBE8q3.js → chrome-pFBxO63W.js} +9 -9
  24. package/dist/{cli-DJA_Gm3_.js → cli-CrhLSz3t.js} +4 -4
  25. package/dist/{cli-S62cMO1-.js → cli-WP38F9C5.js} +45 -45
  26. package/dist/{client-iv2QpsT1.js → client-T5P9umyG.js} +4 -4
  27. package/dist/{command-registry-CZrQWdR_.js → command-registry-DoXcG7FZ.js} +10 -10
  28. package/dist/{commands-registry-VfAQOVZO.js → commands-registry-BjcGLk4v.js} +1 -1
  29. package/dist/{completion-cli-DvaCHwGr.js → completion-cli-C0SXi7ya.js} +12 -12
  30. package/dist/{completion-cli-CPiZTObN.js → completion-cli-DaWi3_ux.js} +2 -2
  31. package/dist/{config-D7SS4vdk.js → config-D-PYSlE8.js} +2 -2
  32. package/dist/{config-cli-CiTMrunf.js → config-cli-DS67KtKf.js} +4 -4
  33. package/dist/{config-cli-Dhb3ZuZ6.js → config-cli-DXKm0pS5.js} +1 -1
  34. package/dist/{config-guard-BGAQzX2K.js → config-guard-xLTTFANi.js} +6 -6
  35. package/dist/{config-validation-COcIIMNe.js → config-validation-C4wGq3rz.js} +1 -1
  36. package/dist/{configure-DlLBbvyP.js → configure-B99YJJb0.js} +14 -14
  37. package/dist/{configure-CzAszDyQ.js → configure-CzO4_jJJ.js} +2 -2
  38. package/dist/{consolidate-DI20-Wtn.js → consolidate-BB4BOQIN.js} +6 -6
  39. package/dist/{control-service-BgfKoTwJ.js → control-service-y53w3Jzy.js} +4 -4
  40. package/dist/{control-ui-assets-DuDhl0co.js → control-ui-assets-Dryy7mCE.js} +1 -1
  41. package/dist/{cron-cli-Bg9CiOss.js → cron-cli-BMblAFRK.js} +7 -7
  42. package/dist/{daemon-cli-wRBPfyuU.js → daemon-cli-BJGNf5qV.js} +11 -11
  43. package/dist/{daemon-runtime-tZgIbDPz.js → daemon-runtime-u4p9jsEF.js} +10 -10
  44. package/dist/{deliver-DB4v0Tyl.js → deliver-C79-Umbk.js} +2 -2
  45. package/dist/{deliver-DyO3QD8O.js → deliver-DTRkeYm3.js} +4 -4
  46. package/dist/{deps-BlmO-MfQ.js → deps-UA1UBhl7.js} +1 -1
  47. package/dist/{devices-cli-IoQV2hfa.js → devices-cli-wsTs-nti.js} +6 -6
  48. package/dist/{diagnostics-tVJR9V0_.js → diagnostics-oW0LBW-t.js} +5 -5
  49. package/dist/{directory-cli-Bfy_ejW2.js → directory-cli-D8As6t8Z.js} +3 -3
  50. package/dist/{dm-policy-shared-CBlUyDSX.js → dm-policy-shared-DRJrFKqJ.js} +1 -1
  51. package/dist/{dns-cli-DzKaV6NZ.js → dns-cli-BKOTBn3n.js} +3 -3
  52. package/dist/{docs-cli-a90_8wuN.js → docs-cli-D5j7Nmz2.js} +1 -1
  53. package/dist/{doctor-completion-CBs1R4s0.js → doctor-completion-B1YCzbvi.js} +1 -1
  54. package/dist/{doctor-completion-C4vmp9I7.js → doctor-completion-mev5PRjN.js} +2 -2
  55. package/dist/{doctor-config-flow-30ZEvATb.js → doctor-config-flow-Uv41seME.js} +9 -9
  56. package/dist/entry.js +1 -1
  57. package/dist/{exec-approvals-cli-D107mxRX.js → exec-approvals-cli-B4ry9s5r.js} +13 -13
  58. package/dist/extensionAPI.js +2 -2
  59. package/dist/{file-lock-BVUYnlQv.js → file-lock-2AecMjCa.js} +8 -8
  60. package/dist/{fs-safe-BdejYjW8.js → fs-safe-B0Is-oLk.js} +6 -6
  61. package/dist/{gateway-cli-D6v-ok73.js → gateway-cli-B3JVj_dv.js} +98 -98
  62. package/dist/{gateway-cli-q8Mf3jQH.js → gateway-cli-Chnp6icp.js} +10 -10
  63. package/dist/{gateway-rpc-rNjNMA6y.js → gateway-rpc-CLzM6ugo.js} +1 -1
  64. package/dist/{glass-ui-ws-CC93azF2.js → glass-ui-ws--GjxFRyX.js} +67 -67
  65. package/dist/{glass-ui-ws-CIm7LZ8W.js → glass-ui-ws-5o8dvEZO.js} +8 -8
  66. package/dist/{health-B92I0vwb.js → health-D2th0Ip6.js} +4 -4
  67. package/dist/{hooks-cli-DfFHpfYB.js → hooks-cli-B4Nvp9AV.js} +59 -59
  68. package/dist/{hooks-cli-DCVYSJ8i.js → hooks-cli-B_sZth4r.js} +5 -5
  69. package/dist/{image-ops-L70xVnpG.js → image-ops-BzCBIakN.js} +10 -10
  70. package/dist/index.js +52 -52
  71. package/dist/{inspect-CXsOujVt.js → inspect-U3g9owQ8.js} +4 -4
  72. package/dist/{install-safe-path-D5gi-nfu.js → install-safe-path-BwMMOh9z.js} +11 -11
  73. package/dist/{installs-DF_LhGX6.js → installs-vdi1BESF.js} +10 -10
  74. package/dist/{internal-DVCddhhN.js → internal-csqU78gW.js} +9 -9
  75. package/dist/{lifecycle-core-Bvdl2ShM.js → lifecycle-core-BfmNlC-k.js} +5 -5
  76. package/dist/llm-slug-generator.js +4 -4
  77. package/dist/{local-roots-CgDCgCuM.js → local-roots-2Jb79HZ8.js} +1 -1
  78. package/dist/{logs-cli-DvPMH-Ur.js → logs-cli-COZzdFu6.js} +7 -7
  79. package/dist/{manager-CVP2spyx.js → manager-BfbQb9qM.js} +1 -1
  80. package/dist/{manager-Dz4nKG33.js → manager-Bryhc0Ip.js} +1 -1
  81. package/dist/{manager-Dj2dVPGR.js → manager-C5FGNRjL.js} +1 -1
  82. package/dist/{manager-C1bLWQJb.js → manager-DyYRwHZt.js} +15 -15
  83. package/dist/{memory-BGLXu8Hn.js → memory-Cypj1lBQ.js} +2 -2
  84. package/dist/{memory-D_CuTCAW.js → memory-DgDnTEcB.js} +5 -5
  85. package/dist/{memory-cli-XxOC0_-M.js → memory-cli-CfJkD7mO.js} +12 -12
  86. package/dist/{memory-cli-DLyBqCnp.js → memory-cli-DB7UIev4.js} +2 -2
  87. package/dist/{model-DsMHOvMn.js → model-DbILYCfo.js} +1 -1
  88. package/dist/{model-auth-1EAQvYRv.js → model-auth-_C07_3Yr.js} +2 -2
  89. package/dist/{model-catalog-DQTmHZK7.js → model-catalog-CeqDEWGz.js} +3 -3
  90. package/dist/{model-picker-D4TY_tPx.js → model-picker-C_f6MALt.js} +5 -5
  91. package/dist/{model-selection-7wdmO-Iw.js → model-selection-CCTzD29o.js} +1 -1
  92. package/dist/{models-Bf57T7rZ.js → models-Bpqeds64.js} +2 -2
  93. package/dist/{models-cli-C7UZtCdE.js → models-cli-BUWfj5iJ.js} +55 -55
  94. package/dist/{models-cli-BoUVPeOA.js → models-cli-Bc47WFhD.js} +6 -6
  95. package/dist/{models-config-CRnTzdFs.js → models-config-Dp5-tBqs.js} +8 -8
  96. package/dist/{node-cli-DBa3SOQb.js → node-cli-BdjmGI32.js} +27 -27
  97. package/dist/{node-service-CrDVFWQl.js → node-service-DphkTjBV.js} +1 -1
  98. package/dist/{nodes-cli-Dx8iwcda.js → nodes-cli-BChJzcKY.js} +10 -10
  99. package/dist/{nodes-screen-De9ma6e1.js → nodes-screen-Cp5QP3ET.js} +4 -4
  100. package/dist/{npm-registry-spec-YMWTMnm_.js → npm-registry-spec-CqVgiBCf.js} +9 -9
  101. package/dist/{onboard-CvspL8de.js → onboard-BbfERyKU.js} +1 -1
  102. package/dist/{onboard-CvXaQ6g7.js → onboard-C0nMMiiS.js} +15 -15
  103. package/dist/{onboard-channels-MlbB9sk1.js → onboard-channels-CMp9YXHC.js} +1 -1
  104. package/dist/{onboard-channels-Bf0N23cr.js → onboard-channels-CmsfVut5.js} +4 -4
  105. package/dist/{onboard-custom-BrtjWDlX.js → onboard-custom-BfHczxx0.js} +3 -3
  106. package/dist/{onboard-helpers-DP7FgSbE.js → onboard-helpers-OB_xKQze.js} +8 -8
  107. package/dist/{onboard-hooks-CtIRdncr.js → onboard-hooks-BA22KYCG.js} +1 -1
  108. package/dist/{onboard-remote-KlZ04Ycj.js → onboard-remote-Dv2Uz8Ru.js} +1 -1
  109. package/dist/{onboard-skills-C2YVZLtY.js → onboard-skills-BzxofI4T.js} +3 -3
  110. package/dist/{onboarding-Bkqm3GYG.js → onboarding-DoYMfCjS.js} +3 -3
  111. package/dist/{onboarding-Dhjsa9Kl.js → onboarding-vgZFhH5N.js} +12 -12
  112. package/dist/{onboarding.finalize-DEnbT-08.js → onboarding.finalize-BYHDzz2i.js} +31 -31
  113. package/dist/{onboarding.finalize-Dj2kTz2P.js → onboarding.finalize-Dj0xG8pk.js} +4 -4
  114. package/dist/{onboarding.gateway-config-1PP2Esxt.js → onboarding.gateway-config-CDRLfIZM.js} +8 -8
  115. package/dist/{openai-model-default-XudD4Xik.js → openai-model-default-Dl21Ivjc.js} +2 -2
  116. package/dist/{pairing-cli-NDavTm1_.js → pairing-cli-C2_Zobhz.js} +5 -5
  117. package/dist/{pairing-store-BNhJOnWn.js → pairing-store-Be-ZQK87.js} +1 -1
  118. package/dist/{pairing-token-Dcy37-4s.js → pairing-token-B703A1U3.js} +7 -7
  119. package/dist/{paths-DObzwe08.js → paths-BWqg8NZT.js} +1 -1
  120. package/dist/{pi-auth-json-Db8XJVGL.js → pi-auth-json-D-vdh-nY.js} +6 -6
  121. package/dist/{pi-embedded-DisxTf9Y.js → pi-embedded-C7mJzGIf.js} +12 -4
  122. package/dist/{pi-embedded-helpers-x7n6pMgT.js → pi-embedded-helpers-y3vJmW6T.js} +6 -6
  123. package/dist/{pi-tools.policy-J58A7qFU.js → pi-tools.policy-ji-L-Mpv.js} +3 -3
  124. package/dist/{plugin-auto-enable-B_lNp6yM.js → plugin-auto-enable-Ctbn2w4Q.js} +1 -1
  125. package/dist/{plugin-registry-D-hgQT7P.js → plugin-registry-D2ZbwBU_.js} +3 -3
  126. package/dist/{plugin-registry-BTkbl0FJ.js → plugin-registry-pKaJ4ltN.js} +1 -1
  127. package/dist/{plugins-cli-Bh5QiPdZ.js → plugins-cli-CoHiV4BX.js} +54 -54
  128. package/dist/{plugins-cli-kV-uO1kp.js → plugins-cli-uo8lcB7v.js} +5 -5
  129. package/dist/{ports-gxLM5ahL.js → ports-CB_Iu83U.js} +2 -2
  130. package/dist/{ports-C3ZSkRGq.js → ports-ukrEAkOP.js} +1 -1
  131. package/dist/{program-context-DFJyoCC0.js → program-context-B1ZbQmLL.js} +38 -38
  132. package/dist/{program-CbGjDDWP.js → program-rzYjZKRz.js} +10 -10
  133. package/dist/{prompt-select-styled-DaVdKaBp.js → prompt-select-styled-CX0v66wx.js} +38 -38
  134. package/dist/{prompt-select-styled-p9o4e4m6.js → prompt-select-styled-F6P-rvFI.js} +4 -4
  135. package/dist/{provider-auth-helpers-CoGyeok2.js → provider-auth-helpers-Ck98bkHV.js} +1 -1
  136. package/dist/{provider-auth-helpers-BCiBe4Q9.js → provider-auth-helpers-_jn9PngO.js} +6 -6
  137. package/dist/{push-apns-BorKE_Qo.js → push-apns-BtMtpzEm.js} +1 -1
  138. package/dist/{push-apns-DzCR9bci.js → push-apns-CmeoBcIQ.js} +4 -4
  139. package/dist/{pw-ai-8E0uhtHT.js → pw-ai-CQJsGI1b.js} +7 -7
  140. package/dist/{pw-ai-Cx-Ko_FL.js → pw-ai-D2pEVS5n.js} +1 -1
  141. package/dist/{qmd-manager-qV_04VKG.js → qmd-manager-DawTY2mB.js} +19 -19
  142. package/dist/{qr-cli-Vo1XL6B2.js → qr-cli-DKowtQcM.js} +3 -3
  143. package/dist/{register.agent-CaN-g4uZ.js → register.agent-0hWBZXD7.js} +67 -67
  144. package/dist/{register.agent-DydJFXJP.js → register.agent-_UqSBmt5.js} +9 -9
  145. package/dist/{register.configure-DAy2cE8-.js → register.configure-CgQ6sqtQ.js} +70 -70
  146. package/dist/{register.configure-BVe4hnaS.js → register.configure-KrTtvKSp.js} +8 -8
  147. package/dist/{register.maintenance-dg4F8WtF.js → register.maintenance-DDSfzFoo.js} +9 -9
  148. package/dist/{register.maintenance-DOPFPjF1.js → register.maintenance-DjZeknO6.js} +67 -67
  149. package/dist/{register.message-BcVCnsvF.js → register.message-DSwwDcGi.js} +5 -5
  150. package/dist/{register.message-C142fUnJ.js → register.message-DTZJ5OiL.js} +47 -47
  151. package/dist/{register.onboard-JdqDBt_q.js → register.onboard-B8k5phG7.js} +25 -25
  152. package/dist/{register.onboard-rAsjY0XL.js → register.onboard-BToIZTIS.js} +2 -2
  153. package/dist/{register.setup-D1aL4OSn.js → register.setup-1fexz2oW.js} +28 -28
  154. package/dist/{register.setup--uV2P6Rv.js → register.setup-BdUewOo1.js} +2 -2
  155. package/dist/{register.status-health-sessions-78J4b8E3.js → register.status-health-sessions-0RyA2cXf.js} +41 -41
  156. package/dist/{register.status-health-sessions-CsaUl0vE.js → register.status-health-sessions-eBaeXIvo.js} +3 -3
  157. package/dist/{register.subclis-BVReTdEZ.js → register.subclis-tX3BslaT.js} +9 -9
  158. package/dist/{replies-DzsYQ8Md.js → replies-D3cffD5N.js} +1 -1
  159. package/dist/{reply-prefix-BFNeXT65.js → reply-prefix-CtZtkTJK.js} +1 -1
  160. package/dist/{resolve-route-Zww0Y-HJ.js → resolve-route-B0i_o4Fo.js} +1 -1
  161. package/dist/{routes-DIFuU49J.js → routes-zpAUwtCG.js} +10 -10
  162. package/dist/{rpc-DfaVxm4P.js → rpc-DhsDKVo-.js} +1 -1
  163. package/dist/{run-main-Crj9RFFj.js → run-main-DIl_Kl0B.js} +17 -17
  164. package/dist/{sandbox-DR_uvPm8.js → sandbox-DQCaejcD.js} +18 -18
  165. package/dist/{sandbox-cli-we8HwKzB.js → sandbox-cli-CbvyZs1z.js} +13 -13
  166. package/dist/{security-cli-B3nmOCuA.js → security-cli-CbJxNYZx.js} +29 -29
  167. package/dist/{send-Cxu1tl56.js → send-QscYkkNh.js} +7 -7
  168. package/dist/{server-context-DZK_rfwz.js → server-context-CXVq7gZ7.js} +5 -5
  169. package/dist/{server-methods-BR_LQLUr.js → server-methods-CpFBGxWI.js} +6 -6
  170. package/dist/{server-methods-qP6jEpBJ.js → server-methods-DPxjPGr0.js} +58 -58
  171. package/dist/{server-node-events-C9CEaVgd.js → server-node-events-2SUW10k3.js} +6 -6
  172. package/dist/{server-node-events-BLrBQ1Ix.js → server-node-events-B_BPbi7z.js} +48 -48
  173. package/dist/{service-CyEDtYLq.js → service-Cm4-5AH9.js} +15 -15
  174. package/dist/{session-dirs-CXErIzZq.js → session-dirs-BypCYFN3.js} +2 -2
  175. package/dist/{session-utils-BZnPW904.js → session-utils-lXjJoBxe.js} +14 -14
  176. package/dist/{sessions-optZRB57.js → sessions-aSo5jsmg.js} +10 -10
  177. package/dist/{shared-DJFwvlUi.js → shared-BI-gOZsD.js} +3 -3
  178. package/dist/{shared-Ctok0Bcs.js → shared-DDX_4ypC.js} +1 -1
  179. package/dist/{skill-commands-yPirQFOb.js → skill-commands-C9WuAfb2.js} +4 -4
  180. package/dist/{skill-scanner-BBwesm0w.js → skill-scanner-CFqMkfZW.js} +5 -5
  181. package/dist/{skills-BwDmcZdt.js → skills-CYcBtLGH.js} +4 -4
  182. package/dist/{skills-cli-gC5ETdly.js → skills-cli-BgyaAQoj.js} +7 -7
  183. package/dist/{skills-install-CLN_Ks5r.js → skills-install-MGsx6q5Z.js} +3 -3
  184. package/dist/{skills-remote-bz71Bstn.js → skills-remote-BcRQTDsZ.js} +3 -3
  185. package/dist/{skills-status-iltfI_bO.js → skills-status-CbSdFlvm.js} +1 -1
  186. package/dist/{sqlite-Cod7C5ba.js → sqlite-BpogPlQW.js} +5 -5
  187. package/dist/{status-ORM-gYB7.js → status-BVYDUlnp.js} +1 -1
  188. package/dist/{status-DCL7G3Ib.js → status-C-r9JpJf.js} +23 -23
  189. package/dist/{status-COihHYJZ.js → status-DIJvpgEm.js} +3 -3
  190. package/dist/{status-DTQT3d18.js → status-DbNNmkNB.js} +1 -1
  191. package/dist/{status.update-F4CbQCxF.js → status.update-EyslEZkn.js} +3 -3
  192. package/dist/{subagent-registry-8gdHiRIg.js → subagent-registry-DWemyjbN.js} +12 -4
  193. package/dist/{symi-root-BQ0IpoW2.js → symi-root-DeCVdZB4.js} +2 -2
  194. package/dist/{synthesis-CH82c52O.js → synthesis-BdTiornP.js} +2 -2
  195. package/dist/{synthesis-SpZQv_zc.js → synthesis-BxYzOZUA.js} +4 -4
  196. package/dist/{synthesis-CppYEB8e.js → synthesis-C7RlvHEs.js} +45 -45
  197. package/dist/{synthesis-RrXFr-nJ.js → synthesis-DQ7Y6OE0.js} +4 -4
  198. package/dist/{system-cli-DNR3YCgN.js → system-cli-DgOvK_kU.js} +7 -7
  199. package/dist/{systemd-DRpQb_L1.js → systemd-B2nTr3Y2.js} +5 -5
  200. package/dist/{systemd-hints-DR4u43WA.js → systemd-hints-DtOWJT_2.js} +6 -6
  201. package/dist/{systemd-linger-BQQl5RXN.js → systemd-linger-CWi5l8Nt.js} +1 -1
  202. package/dist/{tui-BADAjgA5.js → tui-D7ms_iQ4.js} +7 -7
  203. package/dist/{tui-cli-3ZepuEPv.js → tui-cli-DNvAqIYN.js} +19 -19
  204. package/dist/{unified-runner-DOYB1_-K.js → unified-runner-BIUJm_Iv.js} +110 -102
  205. package/dist/{unified-runner-97bDoU4e.js → unified-runner-DPWNhQQA.js} +19 -11
  206. package/dist/{update-check-CxBGAP1E.js → update-check-CduiCxPo.js} +5 -5
  207. package/dist/{update-cli-CKoIGU3l.js → update-cli-BM-A3cIZ.js} +9 -9
  208. package/dist/{update-cli-BTkGps8b.js → update-cli-GKXF83cS.js} +77 -77
  209. package/dist/{update-CWEjB8uS.js → update-pddgyV7i.js} +3 -3
  210. package/dist/{update-runner-C4Uy75eP.js → update-runner-BMYqz1dl.js} +15 -15
  211. package/dist/{webhooks-cli-Dp-pp0Sf.js → webhooks-cli-BPPmnDCj.js} +4 -4
  212. package/dist/{with-timeout-CGWq0-d5.js → with-timeout-D1qzvPE0.js} +1 -1
  213. package/dist/{workspace-dirs-jKFQf7of.js → workspace-dirs-DCICLTHx.js} +1 -1
  214. package/dist/{wsl-DMA0sTvh.js → wsl-Sed675xh.js} +2 -2
  215. package/package.json +1 -1
@@ -1,60 +1,60 @@
1
- import { $ as applyBrowserProxyPaths, A as normalizePollInput, C as listTasksInWorkdir, D as resolveOutboundSessionRoute, E as ensureOutboundSessionEntry, F as normalizeCronJobCreate, Gt as resolveAgentTimeoutMs, Ht as listDescendantRunsForRequester, I as normalizeCronJobPatch, It as formatZonedTimestamp, Lt as isAbortTrigger, Mt as prepareAgentRun, Nt as BARE_SESSION_RESET_PROMPT, O as resolveOutboundTarget, Pt as normalizeGroupActivation, Rt as stopSubagentsForRequester, Ut as listSubagentRunsForRequester, Xt as clearSessionQueues, an as waitForEmbeddedPiRunEnd, b as buildAgentTurnParams, bt as applyVerboseOverride, en as onAgentEvent, et as persistBrowserProxyFiles, f as getChannelActivity, fn as resolveUserTimezone, g as buildGlassUiProfile, m as createReplyDispatcher, mt as resolveSendPolicy, ot as scheduleGatewaySigusr1Restart, pt as normalizeSendPolicy, rn as abortEmbeddedPiRun, s as loadSymiPlugins, tn as registerAgentRunContext, x as prepareReplyTurn, xt as parseVerboseOverride, y as runUnifiedTurn, yt as applyModelOverrideToSessionEntry } from "./unified-runner-DOYB1_-K.js";
1
+ import { $ as applyBrowserProxyPaths, A as normalizePollInput, C as listTasksInWorkdir, D as resolveOutboundSessionRoute, E as ensureOutboundSessionEntry, F as normalizeCronJobCreate, Gt as resolveAgentTimeoutMs, Ht as listDescendantRunsForRequester, I as normalizeCronJobPatch, It as formatZonedTimestamp, Lt as isAbortTrigger, Mt as prepareAgentRun, Nt as BARE_SESSION_RESET_PROMPT, O as resolveOutboundTarget, Pt as normalizeGroupActivation, Rt as stopSubagentsForRequester, Ut as listSubagentRunsForRequester, Xt as clearSessionQueues, an as waitForEmbeddedPiRunEnd, b as buildAgentTurnParams, bt as applyVerboseOverride, en as onAgentEvent, et as persistBrowserProxyFiles, f as getChannelActivity, fn as resolveUserTimezone, g as buildGlassUiProfile, m as createReplyDispatcher, mt as resolveSendPolicy, ot as scheduleGatewaySigusr1Restart, pt as normalizeSendPolicy, rn as abortEmbeddedPiRun, s as loadSymiPlugins, tn as registerAgentRunContext, x as prepareReplyTurn, xt as parseVerboseOverride, y as runUnifiedTurn, yt as applyModelOverrideToSessionEntry } from "./unified-runner-BIUJm_Iv.js";
2
2
  import { H as createInternalHookEvent, P as getResolvedLoggerSettings, W as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL } from "./registry-Sbac4a4z.js";
3
3
  import { _ as resolveStateDir, t as CONFIG_PATH } from "./paths-By0XjHBk.js";
4
4
  import { S as isPlainObject, h as resolveUserPath, n as clamp } from "./utils-CTPsqyE_.js";
5
5
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CHbO_DkH.js";
6
6
  import { a as classifySessionKeyShape, b as isSubagentSessionKey, c as resolveAgentIdFromSessionKey, o as normalizeAgentId, p as DEFAULT_ACCOUNT_ID, t as DEFAULT_AGENT_ID, x as parseAgentSessionKey } from "./session-key-DUSb7CCb.js";
7
- import { t as resolveSymiPackageRoot } from "./symi-root-BQ0IpoW2.js";
8
- import { C as ensureAgentWorkspace, S as DEFAULT_USER_FILENAME, T as isWorkspaceOnboardingCompleted, _ as DEFAULT_MEMORY_ALT_FILENAME, b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, p as DEFAULT_AGENTS_FILENAME, t as listAgentEntries, v as DEFAULT_MEMORY_FILENAME, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_SYMICORE_FILENAME } from "./agent-scope-DOrZjOnW.js";
9
- import { b as resolveThinkingDefault, f as resolveAllowedModelRef, h as resolveDefaultModelForAgent, v as resolveSubagentConfiguredModelSelection } from "./model-selection-7wdmO-Iw.js";
7
+ import { t as resolveSymiPackageRoot } from "./symi-root-DeCVdZB4.js";
8
+ import { C as ensureAgentWorkspace, S as DEFAULT_USER_FILENAME, T as isWorkspaceOnboardingCompleted, _ as DEFAULT_MEMORY_ALT_FILENAME, b as DEFAULT_SYMIPULSE_FILENAME, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, n as listAgentIds, p as DEFAULT_AGENTS_FILENAME, t as listAgentEntries, v as DEFAULT_MEMORY_FILENAME, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_SYMICORE_FILENAME } from "./agent-scope-Bnsyyeci.js";
9
+ import { b as resolveThinkingDefault, f as resolveAllowedModelRef, h as resolveDefaultModelForAgent, v as resolveSubagentConfiguredModelSelection } from "./model-selection-CCTzD29o.js";
10
10
  import { n as normalizeSecretInput } from "./normalize-secret-input-DjGU5EXe.js";
11
- import { N as VERSION, P as resolveRuntimeServiceVersion, T as applyLegacyMigrations, a as parseConfigJson5, c as resolveConfigSnapshotHash, d as SymiSchema, i as loadConfig, l as writeConfigFile, m as sensitive, o as readConfigFileSnapshot, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins, w as applyMergePatch } from "./config-D7SS4vdk.js";
11
+ import { N as VERSION, P as resolveRuntimeServiceVersion, T as applyLegacyMigrations, a as parseConfigJson5, c as resolveConfigSnapshotHash, d as SymiSchema, i as loadConfig, l as writeConfigFile, m as sensitive, o as readConfigFileSnapshot, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins, w as applyMergePatch } from "./config-D-PYSlE8.js";
12
12
  import { c as pickPrimaryLanIPv4 } from "./ws-C7Ktmt-R.js";
13
- import { i as loadWorkspaceSkillEntries } from "./skills-BwDmcZdt.js";
13
+ import { i as loadWorkspaceSkillEntries } from "./skills-CYcBtLGH.js";
14
14
  import { t as movePathToTrash } from "./trash-_YhavPQI.js";
15
- import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, G as snapshotSessionOrigin, H as resolveMainSessionKey, O as stripEnvelopeFromMessages, S as archiveSessionTranscripts, T as readSessionPreviewItemsFromTranscript, U as resolveMainSessionKeyFromConfig, V as resolveExplicitAgentSessionKey, d as updateSessionStore, o as loadSessionStore, t as extractDeliveryInfo, w as readSessionMessages, x as archiveFileOnDisk, y as normalizeSessionDeliveryFields } from "./sessions-optZRB57.js";
15
+ import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, G as snapshotSessionOrigin, H as resolveMainSessionKey, O as stripEnvelopeFromMessages, S as archiveSessionTranscripts, T as readSessionPreviewItemsFromTranscript, U as resolveMainSessionKeyFromConfig, V as resolveExplicitAgentSessionKey, d as updateSessionStore, o as loadSessionStore, t as extractDeliveryInfo, w as readSessionMessages, x as archiveFileOnDisk, y as normalizeSessionDeliveryFields } from "./sessions-aSo5jsmg.js";
16
16
  import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessageChannel, l as normalizeMessageChannel, n as isDeliverableMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DgjXWzf-.js";
17
17
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CF5skkHh.js";
18
18
  import { c as resolveStorePath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-BtvQ7JvU.js";
19
19
  import { i as normalizeInputProvenance } from "./input-provenance-Dfn-vEsu.js";
20
20
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-COroyVA5.js";
21
- import { h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DB4v0Tyl.js";
21
+ import { h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-C79-Umbk.js";
22
22
  import { i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, t as discoverAllSessions } from "./session-cost-usage-D6Ocwmq1.js";
23
- import { C as enqueueSystemEvent, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, w as isSystemEventContextChanged } from "./session-utils-BZnPW904.js";
24
- import { n as createBrowserRouteDispatcher } from "./with-timeout-CGWq0-d5.js";
25
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BFNeXT65.js";
26
- import { t as getMemorySearchManager } from "./memory-D_CuTCAW.js";
27
- import { $ as validateNodePairListParams, A as validateCronRunsParams, At as validateWebLoginStartParams, Bt as parseSessionLabel, C as validateConfigSchemaParams, Ct as validateSkillsStatusParams, D as validateCronListParams, Dt as validateTasksListParams, E as validateCronAddParams, Et as validateTalkModeParams, F as validateDevicePairRejectParams, Ft as validateWizardStatusParams, G as validateLogsTailParams, Gt as listDevicePairing, H as validateExecApprovalsNodeGetParams, Ht as approveDevicePairing, I as validateDevicePairRemoveParams, J as validateNodeEventParams, K as validateModelsListParams, Kt as rejectDevicePairing, L as validateDeviceTokenRevokeParams, Lt as ErrorCodes, M as validateCronUpdateParams, Mt as validateWizardCancelParams, N as validateDevicePairApproveParams, Nt as validateWizardNextParams, O as validateCronRemoveParams, Ot as validateUpdateRunParams, P as validateDevicePairListParams, Pt as validateWizardStartParams, Q as validateNodePairApproveParams, R as validateDeviceTokenRotateParams, Rt as errorShape, S as validateConfigPatchParams, St as validateSkillsInstallParams, Tt as validateTalkConfigParams, U as validateExecApprovalsNodeSetParams, V as validateExecApprovalsGetParams, W as validateExecApprovalsSetParams, X as validateNodeInvokeResultParams, Xt as rotateDeviceToken, Y as validateNodeInvokeParams, Yt as revokeDeviceToken, Z as validateNodeListParams, Zt as summarizeDeviceTokens, _ as validateChatHistoryParams, _t as validateSessionsResolveParams, a as validateAgentWaitParams, at as validatePushTestParams, b as validateConfigApplyParams, bt as validateSessionsUsageParams, c as validateAgentsFilesGetParams, ct as validateSessionsAdoptFileParams, d as validateAgentsListParams, dt as validateSessionsDeleteParams, et as validateNodePairRejectParams, f as validateAgentsUpdateParams, ft as validateSessionsFavoriteFileParams, g as validateChatCommandsListParams, gt as validateSessionsResetParams, h as validateChatAbortParams, ht as validateSessionsPreviewParams, i as validateAgentParams, it as validatePollParams, j as validateCronStatusParams, jt as validateWebLoginWaitParams, k as validateCronRunParams, kt as validateWakeParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsPatchParams, n as formatValidationErrors, nt as validateNodePairVerifyParams, o as validateAgentsCreateParams, p as validateChannelsLogoutParams, pt as validateSessionsListParams, q as validateNodeDescribeParams, qt as removePairedDevice, r as validateAgentIdentityParams, rt as validateNodeRenameParams, s as validateAgentsDeleteParams, st as validateSendParams, tt as validateNodePairRequestParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteFileParams, v as validateChatInjectParams, vt as validateSessionsRestoreParams, w as validateConfigSetParams, wt as validateSkillsUpdateParams, x as validateConfigGetParams, xt as validateSkillsBinsParams, y as validateChatSendParams, yt as validateSessionsSearchParams } from "./client-iv2QpsT1.js";
28
- import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-BOE4s-tQ.js";
29
- import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Dcy37-4s.js";
30
- import { c as approveNodePairing, d as renamePairedNode, f as requestNodePairing, l as listNodePairing, m as verifyNodeToken, t as getRemoteSkillEligibility, u as rejectNodePairing } from "./skills-remote-bz71Bstn.js";
31
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-jKFQf7of.js";
23
+ import { C as enqueueSystemEvent, _ as loadProviderUsageSummary, a as loadCombinedSessionStoreForGateway, c as resolveGatewaySessionStoreTarget, d as formatDoctorNonInteractiveHint, g as writeRestartSentinel, i as listSessionsFromStore, l as resolveSessionModelRef, o as loadSessionEntry, r as listAgentsForGateway, s as pruneLegacyStoreKeys, t as canonicalizeSpawnedByForAgent, w as isSystemEventContextChanged } from "./session-utils-lXjJoBxe.js";
24
+ import { n as createBrowserRouteDispatcher } from "./with-timeout-D1qzvPE0.js";
25
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-CtZtkTJK.js";
26
+ import { t as getMemorySearchManager } from "./memory-DgDnTEcB.js";
27
+ import { $ as validateNodePairListParams, A as validateCronRunsParams, At as validateWebLoginStartParams, Bt as parseSessionLabel, C as validateConfigSchemaParams, Ct as validateSkillsStatusParams, D as validateCronListParams, Dt as validateTasksListParams, E as validateCronAddParams, Et as validateTalkModeParams, F as validateDevicePairRejectParams, Ft as validateWizardStatusParams, G as validateLogsTailParams, Gt as listDevicePairing, H as validateExecApprovalsNodeGetParams, Ht as approveDevicePairing, I as validateDevicePairRemoveParams, J as validateNodeEventParams, K as validateModelsListParams, Kt as rejectDevicePairing, L as validateDeviceTokenRevokeParams, Lt as ErrorCodes, M as validateCronUpdateParams, Mt as validateWizardCancelParams, N as validateDevicePairApproveParams, Nt as validateWizardNextParams, O as validateCronRemoveParams, Ot as validateUpdateRunParams, P as validateDevicePairListParams, Pt as validateWizardStartParams, Q as validateNodePairApproveParams, R as validateDeviceTokenRotateParams, Rt as errorShape, S as validateConfigPatchParams, St as validateSkillsInstallParams, Tt as validateTalkConfigParams, U as validateExecApprovalsNodeSetParams, V as validateExecApprovalsGetParams, W as validateExecApprovalsSetParams, X as validateNodeInvokeResultParams, Xt as rotateDeviceToken, Y as validateNodeInvokeParams, Yt as revokeDeviceToken, Z as validateNodeListParams, Zt as summarizeDeviceTokens, _ as validateChatHistoryParams, _t as validateSessionsResolveParams, a as validateAgentWaitParams, at as validatePushTestParams, b as validateConfigApplyParams, bt as validateSessionsUsageParams, c as validateAgentsFilesGetParams, ct as validateSessionsAdoptFileParams, d as validateAgentsListParams, dt as validateSessionsDeleteParams, et as validateNodePairRejectParams, f as validateAgentsUpdateParams, ft as validateSessionsFavoriteFileParams, g as validateChatCommandsListParams, gt as validateSessionsResetParams, h as validateChatAbortParams, ht as validateSessionsPreviewParams, i as validateAgentParams, it as validatePollParams, j as validateCronStatusParams, jt as validateWebLoginWaitParams, k as validateCronRunParams, kt as validateWakeParams, l as validateAgentsFilesListParams, lt as validateSessionsCompactParams, m as validateChannelsStatusParams, mt as validateSessionsPatchParams, n as formatValidationErrors, nt as validateNodePairVerifyParams, o as validateAgentsCreateParams, p as validateChannelsLogoutParams, pt as validateSessionsListParams, q as validateNodeDescribeParams, qt as removePairedDevice, r as validateAgentIdentityParams, rt as validateNodeRenameParams, s as validateAgentsDeleteParams, st as validateSendParams, tt as validateNodePairRequestParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteFileParams, v as validateChatInjectParams, vt as validateSessionsRestoreParams, w as validateConfigSetParams, wt as validateSkillsUpdateParams, x as validateConfigGetParams, xt as validateSkillsBinsParams, y as validateChatSendParams, yt as validateSessionsSearchParams } from "./client-T5P9umyG.js";
28
+ import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-CW8U1BPq.js";
29
+ import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-B703A1U3.js";
30
+ import { c as approveNodePairing, d as renamePairedNode, f as requestNodePairing, l as listNodePairing, m as verifyNodeToken, t as getRemoteSkillEligibility, u as rejectNodePairing } from "./skills-remote-BcRQTDsZ.js";
31
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DCICLTHx.js";
32
32
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals } from "./exec-approvals-DioSaIeH.js";
33
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BgfKoTwJ.js";
33
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-y53w3Jzy.js";
34
34
  import { i as parseAbsoluteTimeMs } from "./stagger-DUVGiPYV.js";
35
- import { n as createOutboundSendDeps } from "./deps-BlmO-MfQ.js";
35
+ import { n as createOutboundSendDeps } from "./deps-UA1UBhl7.js";
36
36
  import { t as buildChannelUiCatalog } from "./catalog-DsC3JTw1.js";
37
- import { t as buildWorkspaceSkillStatus } from "./skills-status-iltfI_bO.js";
37
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-CbSdFlvm.js";
38
38
  import { t as WizardCancelledError } from "./prompts-GoDC3iAV.js";
39
39
  import { t as resolveChannelDefaultAccountId } from "./helpers-DgsKk072.js";
40
40
  import { t as buildChannelAccountSnapshot } from "./status-BvbsaoNZ.js";
41
- import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-DP7FgSbE.js";
42
- import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-bjakulrx.js";
43
- import { n as getStatusSummary } from "./status-DCL7G3Ib.js";
44
- import { m as normalizeUpdateChannel } from "./update-check-CxBGAP1E.js";
45
- import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-DzCR9bci.js";
46
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-DR2UU-2F.js";
47
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BJ9RIQlb.js";
41
+ import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-OB_xKQze.js";
42
+ import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-BSX7fMfc.js";
43
+ import { n as getStatusSummary } from "./status-C-r9JpJf.js";
44
+ import { m as normalizeUpdateChannel } from "./update-check-CduiCxPo.js";
45
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-CmeoBcIQ.js";
46
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-CiqPWDUd.js";
47
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-Dm3oLpYK.js";
48
48
  import { t as resolveSystemRunCommand } from "./system-run-command-Craglj8T.js";
49
- import { t as installSkill } from "./skills-install-CLN_Ks5r.js";
50
- import { t as runGatewayUpdate } from "./update-runner-C4Uy75eP.js";
49
+ import { t as installSkill } from "./skills-install-MGsx6q5Z.js";
50
+ import { t as runGatewayUpdate } from "./update-runner-BMYqz1dl.js";
51
51
  import crypto, { randomUUID } from "node:crypto";
52
52
  import path from "node:path";
53
- import * as fs$2 from "node:fs";
53
+ import * as fs$1 from "node:fs";
54
54
  import fs from "node:fs";
55
55
  import * as os$1 from "node:os";
56
56
  import os from "node:os";
57
- import fs$1 from "node:fs/promises";
57
+ import fsPromises from "node:fs/promises";
58
58
  import { spawnSync } from "node:child_process";
59
59
  import { z } from "zod";
60
60
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
@@ -401,20 +401,20 @@ function resolveCronRunLogPath(params) {
401
401
  }
402
402
  const writesByPath = /* @__PURE__ */ new Map();
403
403
  async function pruneIfNeeded(filePath, opts) {
404
- const stat = await fs$1.stat(filePath).catch(() => null);
404
+ const stat = await fsPromises.stat(filePath).catch(() => null);
405
405
  if (!stat || stat.size <= opts.maxBytes) return;
406
- const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
406
+ const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
407
407
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
408
408
  const { randomBytes } = await import("node:crypto");
409
409
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
410
- await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
411
- await fs$1.rename(tmp, filePath);
410
+ await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
411
+ await fsPromises.rename(tmp, filePath);
412
412
  }
413
413
  async function appendCronRunLog(filePath, entry, opts) {
414
414
  const resolved = path.resolve(filePath);
415
415
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
416
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
417
- await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
416
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
417
+ await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
418
418
  await pruneIfNeeded(resolved, {
419
419
  maxBytes: opts?.maxBytes ?? 2e6,
420
420
  keepLines: opts?.keepLines ?? 2e3
@@ -426,7 +426,7 @@ async function appendCronRunLog(filePath, entry, opts) {
426
426
  async function readCronRunLogEntries(filePath, opts) {
427
427
  const limit = Math.max(1, Math.min(5e3, Math.floor(opts?.limit ?? 200)));
428
428
  const jobId = opts?.jobId?.trim() || void 0;
429
- const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
429
+ const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
430
430
  if (!raw.trim()) return [];
431
431
  const parsed = [];
432
432
  const lines = raw.split("\n");
@@ -2938,7 +2938,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
2938
2938
  }
2939
2939
  async function statFile(filePath) {
2940
2940
  try {
2941
- const stat = await fs$1.stat(filePath);
2941
+ const stat = await fsPromises.stat(filePath);
2942
2942
  if (!stat.isFile()) return null;
2943
2943
  return {
2944
2944
  size: stat.size,
@@ -3008,7 +3008,7 @@ function resolveOptionalStringParam(value) {
3008
3008
  async function moveToTrashBestEffort(pathname) {
3009
3009
  if (!pathname) return;
3010
3010
  try {
3011
- await fs$1.access(pathname);
3011
+ await fsPromises.access(pathname);
3012
3012
  } catch {
3013
3013
  return;
3014
3014
  }
@@ -3055,7 +3055,7 @@ const agentsHandlers = {
3055
3055
  dir: workspaceDir,
3056
3056
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
3057
3057
  });
3058
- await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
3058
+ await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
3059
3059
  await writeConfigFile(nextConfig);
3060
3060
  const safeName = sanitizeIdentityLine(rawName);
3061
3061
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -3068,7 +3068,7 @@ const agentsHandlers = {
3068
3068
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
3069
3069
  ""
3070
3070
  ];
3071
- await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
3071
+ await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
3072
3072
  respond(true, {
3073
3073
  ok: true,
3074
3074
  agentId,
@@ -3103,9 +3103,9 @@ const agentsHandlers = {
3103
3103
  });
3104
3104
  if (avatar) {
3105
3105
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
3106
- await fs$1.mkdir(workspace, { recursive: true });
3106
+ await fsPromises.mkdir(workspace, { recursive: true });
3107
3107
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
3108
- await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
3108
+ await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
3109
3109
  }
3110
3110
  respond(true, {
3111
3111
  ok: true,
@@ -3188,7 +3188,7 @@ const agentsHandlers = {
3188
3188
  }, void 0);
3189
3189
  return;
3190
3190
  }
3191
- const content = await fs$1.readFile(filePath, "utf-8");
3191
+ const content = await fsPromises.readFile(filePath, "utf-8");
3192
3192
  respond(true, {
3193
3193
  agentId,
3194
3194
  workspace: workspaceDir,
@@ -3210,10 +3210,10 @@ const agentsHandlers = {
3210
3210
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
3211
3211
  if (!resolved) return;
3212
3212
  const { agentId, workspaceDir, name } = resolved;
3213
- await fs$1.mkdir(workspaceDir, { recursive: true });
3213
+ await fsPromises.mkdir(workspaceDir, { recursive: true });
3214
3214
  const filePath = path.join(workspaceDir, name);
3215
3215
  const content = String(params.content ?? "");
3216
- await fs$1.writeFile(filePath, content, "utf-8");
3216
+ await fsPromises.writeFile(filePath, content, "utf-8");
3217
3217
  const meta = await statFile(filePath);
3218
3218
  respond(true, {
3219
3219
  ok: true,
@@ -4201,7 +4201,7 @@ const chatHandlers = {
4201
4201
  }
4202
4202
  (async () => {
4203
4203
  try {
4204
- const [mod, { loadConfig }] = await Promise.all([import("./commands-registry-VfAQOVZO.js").then((n) => n.t), import("./config-D7SS4vdk.js").then((n) => n.t)]);
4204
+ const [mod, { loadConfig }] = await Promise.all([import("./commands-registry-BjcGLk4v.js").then((n) => n.t), import("./config-D-PYSlE8.js").then((n) => n.t)]);
4205
4205
  const cfg = loadConfig();
4206
4206
  respond(true, { commands: mod.listChatCommandsForConfig(cfg).map((cmd) => ({
4207
4207
  key: cmd.key,
@@ -6461,7 +6461,7 @@ const docsHandlers = { "docs.get": async ({ params, respond }) => {
6461
6461
  const fullPath = path.join(packageRoot, relPath);
6462
6462
  let markdown;
6463
6463
  try {
6464
- markdown = await fs$1.readFile(fullPath, "utf-8");
6464
+ markdown = await fsPromises.readFile(fullPath, "utf-8");
6465
6465
  } catch (err) {
6466
6466
  if (err?.code === "ENOENT") {
6467
6467
  respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, `docs file not bundled in this Symi install: ${relPath}`));
@@ -6612,14 +6612,14 @@ function isRollingLogFile(file) {
6612
6612
  return ROLLING_LOG_RE.test(path.basename(file));
6613
6613
  }
6614
6614
  async function resolveLogFile(file) {
6615
- if (await fs$1.stat(file).catch(() => null)) return file;
6615
+ if (await fsPromises.stat(file).catch(() => null)) return file;
6616
6616
  if (!isRollingLogFile(file)) return file;
6617
6617
  const dir = path.dirname(file);
6618
- const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
6618
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
6619
6619
  if (!entries) return file;
6620
6620
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
6621
6621
  const fullPath = path.join(dir, entry.name);
6622
- const fileStat = await fs$1.stat(fullPath).catch(() => null);
6622
+ const fileStat = await fsPromises.stat(fullPath).catch(() => null);
6623
6623
  return fileStat ? {
6624
6624
  path: fullPath,
6625
6625
  mtimeMs: fileStat.mtimeMs
@@ -6627,7 +6627,7 @@ async function resolveLogFile(file) {
6627
6627
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
6628
6628
  }
6629
6629
  async function readLogSlice(params) {
6630
- const stat = await fs$1.stat(params.file).catch(() => null);
6630
+ const stat = await fsPromises.stat(params.file).catch(() => null);
6631
6631
  if (!stat) return {
6632
6632
  cursor: 0,
6633
6633
  size: 0,
@@ -6665,7 +6665,7 @@ async function readLogSlice(params) {
6665
6665
  truncated,
6666
6666
  reset
6667
6667
  };
6668
- const handle = await fs$1.open(params.file, "r");
6668
+ const handle = await fsPromises.open(params.file, "r");
6669
6669
  try {
6670
6670
  let prefix = "";
6671
6671
  if (start > 0) {
@@ -7466,7 +7466,7 @@ const nodeHandlers = {
7466
7466
  const p = params;
7467
7467
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7468
7468
  await respondUnavailableOnThrow(respond, async () => {
7469
- const { handleNodeEvent } = await import("./server-node-events-BLrBQ1Ix.js");
7469
+ const { handleNodeEvent } = await import("./server-node-events-B_BPbi7z.js");
7470
7470
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7471
7471
  await handleNodeEvent({
7472
7472
  deps: context.deps,
@@ -7985,7 +7985,7 @@ function broadcastPresenceSnapshot(params) {
7985
7985
  let _prevCpu = null;
7986
7986
  function getCpuPercent() {
7987
7987
  try {
7988
- const parts = fs$2.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
7988
+ const parts = fs$1.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
7989
7989
  const [, , , idle, iowait] = parts;
7990
7990
  const total = parts.reduce((a, b) => a + b, 0);
7991
7991
  const active = total - idle - (iowait || 0);
@@ -8009,7 +8009,7 @@ function getCpuPercent() {
8009
8009
  }
8010
8010
  function getMemInfo() {
8011
8011
  try {
8012
- const text = fs$2.readFileSync("/proc/meminfo", "utf8");
8012
+ const text = fs$1.readFileSync("/proc/meminfo", "utf8");
8013
8013
  const get = (key) => parseInt(text.match(new RegExp(`${key}:\\s+(\\d+)`))?.[1] ?? "0", 10) * 1024;
8014
8014
  const total = get("MemTotal");
8015
8015
  const used = total - get("MemAvailable");
@@ -8028,7 +8028,7 @@ function getMemInfo() {
8028
8028
  }
8029
8029
  function getDiskInfo() {
8030
8030
  try {
8031
- const stats = fs$2.statfsSync("/");
8031
+ const stats = fs$1.statfsSync("/");
8032
8032
  const total = stats.blocks * stats.bsize;
8033
8033
  const used = total - stats.bfree * stats.bsize;
8034
8034
  return {
@@ -18,7 +18,7 @@ import "./client-BqT7xONl.js";
18
18
  import "./call-GzGqMHAx.js";
19
19
  import "./message-channel-DXToSaWK.js";
20
20
  import "./pairing-token-B-OTYROz.js";
21
- import { H as resolveOutboundTarget } from "./subagent-registry-8gdHiRIg.js";
21
+ import { H as resolveOutboundTarget } from "./subagent-registry-DWemyjbN.js";
22
22
  import { d as updateSessionStore } from "./sessions-DHPf5TzB.js";
23
23
  import { r as normalizeChannelId } from "./plugins-BsEhWvLn.js";
24
24
  import "./send-BBfSp-8Q.js";
@@ -48,8 +48,8 @@ import "./model-auth-Byr7Gic_.js";
48
48
  import "./github-copilot-token-B5y4__YM.js";
49
49
  import "./models-config-Br7EjqgG.js";
50
50
  import "./reply-prefix-DV3KhOhL.js";
51
- import "./memory-BGLXu8Hn.js";
52
- import "./manager-CVP2spyx.js";
51
+ import "./memory-Cypj1lBQ.js";
52
+ import "./manager-BfbQb9qM.js";
53
53
  import "./sqlite-9jF_eajd.js";
54
54
  import "./chunk-B2lBXhR0.js";
55
55
  import "./markdown-tables-BEdkErjm.js";
@@ -79,13 +79,13 @@ import "./links-BDe4dm1J.js";
79
79
  import "./cli-utils-BhfE5XS2.js";
80
80
  import "./help-format-CbgFRc-H.js";
81
81
  import "./progress-CqV5lJkt.js";
82
- import "./memory-cli-DLyBqCnp.js";
82
+ import "./memory-cli-DB7UIev4.js";
83
83
  import "./logging-BeW3kpQA.js";
84
84
  import "./replies-LM-arXEE.js";
85
85
  import "./pi-tools.policy-4gtz_Ipq.js";
86
86
  import { t as createOutboundSendDeps } from "./outbound-send-deps-Bms6Lw6N.js";
87
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-BorKE_Qo.js";
88
- import { t as agentCommand } from "./agent-DQvcs-ag.js";
87
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-BtMtpzEm.js";
88
+ import { t as agentCommand } from "./agent-DOOj3Gzb.js";
89
89
  import { randomUUID } from "node:crypto";
90
90
 
91
91
  //#region src/gateway/server-node-events.ts
@@ -1,95 +1,95 @@
1
- import { O as resolveOutboundTarget } from "./unified-runner-DOYB1_-K.js";
1
+ import { O as resolveOutboundTarget } from "./unified-runner-BIUJm_Iv.js";
2
2
  import "./registry-Sbac4a4z.js";
3
3
  import "./paths-By0XjHBk.js";
4
4
  import "./utils-CTPsqyE_.js";
5
5
  import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
6
- import "./auth-profiles-Ce7R_25e.js";
6
+ import "./auth-profiles-D5nYBj_Z.js";
7
7
  import { s as normalizeMainKey } from "./session-key-DUSb7CCb.js";
8
8
  import "./exec-DuYbft0z.js";
9
- import { d as resolveSessionAgentId } from "./agent-scope-DOrZjOnW.js";
10
- import "./model-selection-7wdmO-Iw.js";
11
- import "./file-lock-BVUYnlQv.js";
9
+ import { d as resolveSessionAgentId } from "./agent-scope-Bnsyyeci.js";
10
+ import "./model-selection-CCTzD29o.js";
11
+ import "./file-lock-2AecMjCa.js";
12
12
  import "./agent-paths-BbZSGrUA.js";
13
- import "./pi-embedded-helpers-x7n6pMgT.js";
14
- import { i as loadConfig } from "./config-D7SS4vdk.js";
13
+ import "./pi-embedded-helpers-y3vJmW6T.js";
14
+ import { i as loadConfig } from "./config-D-PYSlE8.js";
15
15
  import "./boolean-CbZoNRMn.js";
16
16
  import "./env-BRnPI9sO.js";
17
17
  import "./shell-env-Dc3iU7HK.js";
18
18
  import "./manifest-registry-D1MLZEjS.js";
19
- import "./sandbox-DR_uvPm8.js";
20
- import "./chrome-xlyBE8q3.js";
19
+ import "./sandbox-DQCaejcD.js";
20
+ import "./chrome-pFBxO63W.js";
21
21
  import "./tailscale-DpKBMIvx.js";
22
22
  import "./auth-Bkx-QuRN.js";
23
- import "./server-context-DZK_rfwz.js";
23
+ import "./server-context-CXVq7gZ7.js";
24
24
  import "./frontmatter-B_jqcova.js";
25
- import "./skills-BwDmcZdt.js";
26
- import "./routes-DIFuU49J.js";
25
+ import "./skills-CYcBtLGH.js";
26
+ import "./routes-zpAUwtCG.js";
27
27
  import "./redact-B3O-RBO1.js";
28
28
  import "./errors-bI7Tdx75.js";
29
- import "./fs-safe-BdejYjW8.js";
30
- import "./paths-DObzwe08.js";
29
+ import "./fs-safe-B0Is-oLk.js";
30
+ import "./paths-BWqg8NZT.js";
31
31
  import "./ssrf-DOZRI5XH.js";
32
- import "./image-ops-L70xVnpG.js";
33
- import "./ports-gxLM5ahL.js";
32
+ import "./image-ops-BzCBIakN.js";
33
+ import "./ports-CB_Iu83U.js";
34
34
  import "./trash-_YhavPQI.js";
35
- import { d as updateSessionStore } from "./sessions-optZRB57.js";
35
+ import { d as updateSessionStore } from "./sessions-aSo5jsmg.js";
36
36
  import "./dock-hF45sewN.js";
37
37
  import "./message-channel-DgjXWzf-.js";
38
38
  import { r as normalizeChannelId } from "./plugins-CF5skkHh.js";
39
- import "./send-Cxu1tl56.js";
39
+ import "./send-QscYkkNh.js";
40
40
  import "./paths-BtvQ7JvU.js";
41
41
  import "./thinking-COroyVA5.js";
42
42
  import "./tokens-0yh2UnJq.js";
43
- import { t as deliverOutboundPayloads } from "./deliver-DB4v0Tyl.js";
43
+ import { t as deliverOutboundPayloads } from "./deliver-C79-Umbk.js";
44
44
  import "./diagnostic-DbT9t0Sh.js";
45
45
  import "./diagnostic-session-state-DnkpMfCl.js";
46
- import "./model-auth-1EAQvYRv.js";
46
+ import "./model-auth-_C07_3Yr.js";
47
47
  import "./github-copilot-token-D-FdDfee.js";
48
- import "./models-config-CRnTzdFs.js";
49
- import "./pi-auth-json-Db8XJVGL.js";
48
+ import "./models-config-Dp5-tBqs.js";
49
+ import "./pi-auth-json-D-vdh-nY.js";
50
50
  import "./session-cost-usage-D6Ocwmq1.js";
51
- import { C as enqueueSystemEvent, c as resolveGatewaySessionStoreTarget, o as loadSessionEntry, s as pruneLegacyStoreKeys } from "./session-utils-BZnPW904.js";
52
- import "./with-timeout-CGWq0-d5.js";
53
- import "./reply-prefix-BFNeXT65.js";
54
- import "./memory-D_CuTCAW.js";
55
- import "./manager-C1bLWQJb.js";
56
- import "./sqlite-Cod7C5ba.js";
51
+ import { C as enqueueSystemEvent, c as resolveGatewaySessionStoreTarget, o as loadSessionEntry, s as pruneLegacyStoreKeys } from "./session-utils-lXjJoBxe.js";
52
+ import "./with-timeout-D1qzvPE0.js";
53
+ import "./reply-prefix-CtZtkTJK.js";
54
+ import "./memory-DgDnTEcB.js";
55
+ import "./manager-DyYRwHZt.js";
56
+ import "./sqlite-BpogPlQW.js";
57
57
  import "./chunk-BxfKjCUx.js";
58
58
  import "./markdown-tables-CS1Tvb3z.js";
59
59
  import "./fetch-guard-JHxT9355.js";
60
- import "./local-roots-CgDCgCuM.js";
60
+ import "./local-roots-2Jb79HZ8.js";
61
61
  import "./commands-DUzLGgEZ.js";
62
- import "./commands-registry-VfAQOVZO.js";
63
- import "./client-iv2QpsT1.js";
64
- import "./call-BOE4s-tQ.js";
65
- import "./pairing-token-Dcy37-4s.js";
62
+ import "./commands-registry-BjcGLk4v.js";
63
+ import "./client-T5P9umyG.js";
64
+ import "./call-CW8U1BPq.js";
65
+ import "./pairing-token-B703A1U3.js";
66
66
  import "./tool-display-DFOL6UQ9.js";
67
- import "./skills-remote-bz71Bstn.js";
68
- import "./workspace-dirs-jKFQf7of.js";
67
+ import "./skills-remote-BcRQTDsZ.js";
68
+ import "./workspace-dirs-DCICLTHx.js";
69
69
  import "./pi-model-discovery-ClQLvlCW.js";
70
- import "./model-catalog-DQTmHZK7.js";
71
- import "./skill-commands-yPirQFOb.js";
72
- import "./pairing-store-BNhJOnWn.js";
70
+ import "./model-catalog-CeqDEWGz.js";
71
+ import "./skill-commands-C9WuAfb2.js";
72
+ import "./pairing-store-Be-ZQK87.js";
73
73
  import "./exec-approvals-DioSaIeH.js";
74
- import "./nodes-screen-De9ma6e1.js";
75
- import "./control-service-BgfKoTwJ.js";
74
+ import "./nodes-screen-Cp5QP3ET.js";
75
+ import "./control-service-y53w3Jzy.js";
76
76
  import "./stagger-DUVGiPYV.js";
77
77
  import "./channel-selection-DF4bza2Q.js";
78
78
  import "./delivery-queue-RUd4NhRw.js";
79
79
  import "./bindings-CLS_owm_.js";
80
- import "./resolve-route-Zww0Y-HJ.js";
80
+ import "./resolve-route-B0i_o4Fo.js";
81
81
  import "./links-TQwptN6q.js";
82
82
  import "./cli-utils-tNdOjVQI.js";
83
83
  import "./help-format-CPT6NY3h.js";
84
84
  import "./progress-HNhsbm0E.js";
85
- import "./memory-cli-XxOC0_-M.js";
85
+ import "./memory-cli-CfJkD7mO.js";
86
86
  import "./logging-Czh4x_NQ.js";
87
- import "./replies-DzsYQ8Md.js";
88
- import "./pi-tools.policy-J58A7qFU.js";
89
- import "./model-DsMHOvMn.js";
90
- import "./deps-BlmO-MfQ.js";
91
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DzCR9bci.js";
92
- import { t as agentCommand } from "./agent-DR2UU-2F.js";
87
+ import "./replies-D3cffD5N.js";
88
+ import "./pi-tools.policy-ji-L-Mpv.js";
89
+ import "./model-DbILYCfo.js";
90
+ import "./deps-UA1UBhl7.js";
91
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CmeoBcIQ.js";
92
+ import { t as agentCommand } from "./agent-CiqPWDUd.js";
93
93
  import { t as createOutboundSendDeps } from "./outbound-send-deps-CocVWWDn.js";
94
94
  import { randomUUID } from "node:crypto";
95
95
 
@@ -1,7 +1,7 @@
1
1
  import { c as resolveGatewayLaunchAgentLabel, f as resolveGatewayWindowsTaskName, p as resolveLegacyGatewayLaunchAgentLabels, t as GATEWAY_LAUNCH_AGENT_LABEL, u as resolveGatewayServiceDescription } from "./constants-ChnKXZKi.js";
2
- import { _ as toPosixPath, a as readSystemdServiceRuntime, c as stopSystemdService, f as splitArgsPreservingQuotes, g as formatLine, h as resolveHomeDir, i as readSystemdServiceExecStart, l as uninstallSystemdService, m as resolveGatewayStateDir, n as isSystemdServiceEnabled, p as parseKeyValueOutput, s as restartSystemdService, t as installSystemdService, v as writeFormattedLines, y as execFileUtf8 } from "./systemd-DRpQb_L1.js";
2
+ import { _ as toPosixPath, a as readSystemdServiceRuntime, c as stopSystemdService, f as splitArgsPreservingQuotes, g as formatLine, h as resolveHomeDir, i as readSystemdServiceExecStart, l as uninstallSystemdService, m as resolveGatewayStateDir, n as isSystemdServiceEnabled, p as parseKeyValueOutput, s as restartSystemdService, t as installSystemdService, v as writeFormattedLines, y as execFileUtf8 } from "./systemd-B2nTr3Y2.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs/promises";
4
+ import fsPromises from "node:fs/promises";
5
5
 
6
6
  //#region src/daemon/launchd-plist.ts
7
7
  const plistEscape = (value) => value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll("\"", "&quot;").replaceAll("'", "&apos;");
@@ -14,7 +14,7 @@ const renderEnvDict = (env) => {
14
14
  };
15
15
  async function readLaunchAgentProgramArgumentsFromFile(plistPath) {
16
16
  try {
17
- const plist = await fs.readFile(plistPath, "utf8");
17
+ const plist = await fsPromises.readFile(plistPath, "utf8");
18
18
  const programMatch = plist.match(/<key>ProgramArguments<\/key>\s*<array>([\s\S]*?)<\/array>/i);
19
19
  if (!programMatch) return null;
20
20
  const args = Array.from(programMatch[1].matchAll(/<string>([\s\S]*?)<\/string>/gi)).map((match) => plistUnescape(match[1] ?? "").trim());
@@ -128,7 +128,7 @@ async function isLaunchAgentListed(args) {
128
128
  async function launchAgentPlistExists(env) {
129
129
  try {
130
130
  const plistPath = resolveLaunchAgentPlistPath(env);
131
- await fs.access(plistPath);
131
+ await fsPromises.access(plistPath);
132
132
  return true;
133
133
  } catch {
134
134
  return false;
@@ -188,7 +188,7 @@ async function uninstallLaunchAgent({ env, stdout }) {
188
188
  ]);
189
189
  await execLaunchctl(["unload", plistPath]);
190
190
  try {
191
- await fs.access(plistPath);
191
+ await fsPromises.access(plistPath);
192
192
  } catch {
193
193
  stdout.write(`LaunchAgent not found at ${plistPath}\n`);
194
194
  return;
@@ -197,8 +197,8 @@ async function uninstallLaunchAgent({ env, stdout }) {
197
197
  const trashDir = path.join(home, ".Trash");
198
198
  const dest = path.join(trashDir, `${label}.plist`);
199
199
  try {
200
- await fs.mkdir(trashDir, { recursive: true });
201
- await fs.rename(plistPath, dest);
200
+ await fsPromises.mkdir(trashDir, { recursive: true });
201
+ await fsPromises.rename(plistPath, dest);
202
202
  stdout.write(`${formatLine("Moved LaunchAgent to Trash", dest)}\n`);
203
203
  } catch {
204
204
  stdout.write(`LaunchAgent remains at ${plistPath} (could not move)\n`);
@@ -221,7 +221,7 @@ async function stopLaunchAgent({ stdout, env }) {
221
221
  }
222
222
  async function installLaunchAgent({ env, stdout, programArguments, workingDirectory, environment, description }) {
223
223
  const { logDir, stdoutPath, stderrPath } = resolveGatewayLogPaths(env);
224
- await fs.mkdir(logDir, { recursive: true });
224
+ await fsPromises.mkdir(logDir, { recursive: true });
225
225
  const domain = resolveGuiDomain();
226
226
  const label = resolveLaunchAgentLabel({ env });
227
227
  for (const legacyLabel of resolveLegacyGatewayLaunchAgentLabels(env.SYMI_PROFILE)) {
@@ -233,11 +233,11 @@ async function installLaunchAgent({ env, stdout, programArguments, workingDirect
233
233
  ]);
234
234
  await execLaunchctl(["unload", legacyPlistPath]);
235
235
  try {
236
- await fs.unlink(legacyPlistPath);
236
+ await fsPromises.unlink(legacyPlistPath);
237
237
  } catch {}
238
238
  }
239
239
  const plistPath = resolveLaunchAgentPlistPathForLabel(env, label);
240
- await fs.mkdir(path.dirname(plistPath), { recursive: true });
240
+ await fsPromises.mkdir(path.dirname(plistPath), { recursive: true });
241
241
  const plist = buildLaunchAgentPlist({
242
242
  label,
243
243
  comment: resolveGatewayServiceDescription({
@@ -251,7 +251,7 @@ async function installLaunchAgent({ env, stdout, programArguments, workingDirect
251
251
  stderrPath,
252
252
  environment
253
253
  });
254
- await fs.writeFile(plistPath, plist, "utf8");
254
+ await fsPromises.writeFile(plistPath, plist, "utf8");
255
255
  await execLaunchctl([
256
256
  "bootout",
257
257
  domain,
@@ -408,7 +408,7 @@ function resolveTaskUser(env) {
408
408
  async function readScheduledTaskCommand(env) {
409
409
  const scriptPath = resolveTaskScriptPath(env);
410
410
  try {
411
- const content = await fs.readFile(scriptPath, "utf8");
411
+ const content = await fsPromises.readFile(scriptPath, "utf8");
412
412
  let workingDirectory = "";
413
413
  let commandLine = "";
414
414
  const environment = {};
@@ -476,7 +476,7 @@ async function assertSchtasksAvailable() {
476
476
  async function installScheduledTask({ env, stdout, programArguments, workingDirectory, environment, description }) {
477
477
  await assertSchtasksAvailable();
478
478
  const scriptPath = resolveTaskScriptPath(env);
479
- await fs.mkdir(path.dirname(scriptPath), { recursive: true });
479
+ await fsPromises.mkdir(path.dirname(scriptPath), { recursive: true });
480
480
  const script = buildTaskScript({
481
481
  description: resolveGatewayServiceDescription({
482
482
  env,
@@ -487,7 +487,7 @@ async function installScheduledTask({ env, stdout, programArguments, workingDire
487
487
  workingDirectory,
488
488
  environment
489
489
  });
490
- await fs.writeFile(scriptPath, script, "utf8");
490
+ await fsPromises.writeFile(scriptPath, script, "utf8");
491
491
  const taskName = resolveTaskName(env);
492
492
  const baseArgs = [
493
493
  "/Create",
@@ -539,7 +539,7 @@ async function uninstallScheduledTask({ env, stdout }) {
539
539
  ]);
540
540
  const scriptPath = resolveTaskScriptPath(env);
541
541
  try {
542
- await fs.unlink(scriptPath);
542
+ await fsPromises.unlink(scriptPath);
543
543
  stdout.write(`${formatLine("Removed task script", scriptPath)}\n`);
544
544
  } catch {
545
545
  stdout.write(`Task script not found at ${scriptPath}\n`);
@@ -1,12 +1,12 @@
1
1
  import path from "node:path";
2
- import fs from "node:fs/promises";
2
+ import fsPromises from "node:fs/promises";
3
3
 
4
4
  //#region src/agents/session-dirs.ts
5
5
  async function resolveAgentSessionDirs(stateDir) {
6
6
  const agentsDir = path.join(stateDir, "agents");
7
7
  let entries = [];
8
8
  try {
9
- entries = await fs.readdir(agentsDir, { withFileTypes: true });
9
+ entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
10
10
  } catch (err) {
11
11
  if (err.code === "ENOENT") return [];
12
12
  throw err;