@symerian/symi 3.4.27 → 3.4.29

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-DOOj3Gzb.js → agent-CQlyTNu-.js} +1 -1
  2. package/dist/{agent-CiqPWDUd.js → agent-N_J2cDO6.js} +18 -18
  3. package/dist/{agent-scope-Bnsyyeci.js → agent-scope-DOrZjOnW.js} +18 -18
  4. package/dist/{agents-BBQfFoen.js → agents-1xmRO246.js} +2 -2
  5. package/dist/{agents.config-Dm3oLpYK.js → agents.config-BJ9RIQlb.js} +1 -1
  6. package/dist/{audit-BSX7fMfc.js → audit-DCwHws4M.js} +20 -20
  7. package/dist/{auth-choice-rhBmet5i.js → auth-choice-DwXdS4c2.js} +11 -11
  8. package/dist/{auth-choice-BYbTjWcs.js → auth-choice-Ryx7oj6G.js} +1 -1
  9. package/dist/{auth-profiles-D5nYBj_Z.js → auth-profiles-Ce7R_25e.js} +2 -2
  10. package/dist/{auth-token-CAV1oLQG.js → auth-token-DgRRSbEX.js} +3 -3
  11. package/dist/{banner-C1qG5Rm9.js → banner-CxMQaUgh.js} +1 -1
  12. package/dist/{browser-cli-De8jg4-F.js → browser-cli-C3hfJNZy.js} +9 -9
  13. package/dist/build-info.json +3 -3
  14. package/dist/bundled/boot-md/handler.js +2 -2
  15. package/dist/bundled/session-memory/handler.js +2 -2
  16. package/dist/{call-CW8U1BPq.js → call-BouPakqe.js} +9 -9
  17. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  18. package/dist/{channel-options-CJD7jwYg.js → channel-options-WR29vfWK.js} +1 -1
  19. package/dist/{channel-options-BsXUgCMq.js → channel-options-n9C_ovb1.js} +1 -1
  20. package/dist/{channels-cli-Dxn5n9e4.js → channels-cli-Cs-Uq67O.js} +7 -7
  21. package/dist/{channels-cli-Bao4VNbH.js → channels-cli-DbFGI3vF.js} +57 -57
  22. package/dist/{chrome-pFBxO63W.js → chrome-rzK8edU7.js} +2 -2
  23. package/dist/{cli-WP38F9C5.js → cli-7ceDvtPc.js} +45 -45
  24. package/dist/{cli-CrhLSz3t.js → cli-D55pCJ8Q.js} +4 -4
  25. package/dist/{client-T5P9umyG.js → client-BzUAFrla.js} +1 -1
  26. package/dist/{command-registry-DoXcG7FZ.js → command-registry-DAy62yhH.js} +10 -10
  27. package/dist/{commands-registry-BjcGLk4v.js → commands-registry-VfAQOVZO.js} +1 -1
  28. package/dist/{completion-cli-C0SXi7ya.js → completion-cli-Bc1jojml.js} +12 -12
  29. package/dist/{completion-cli-DaWi3_ux.js → completion-cli-Bh-Y2NVp.js} +2 -2
  30. package/dist/{config-D-PYSlE8.js → config-D7SS4vdk.js} +2 -2
  31. package/dist/{config-cli-DXKm0pS5.js → config-cli-BxRcn2oD.js} +1 -1
  32. package/dist/{config-cli-DS67KtKf.js → config-cli-DupKETmw.js} +4 -4
  33. package/dist/{config-guard-xLTTFANi.js → config-guard-BGAQzX2K.js} +6 -6
  34. package/dist/{config-validation-C4wGq3rz.js → config-validation-COcIIMNe.js} +1 -1
  35. package/dist/{configure-B99YJJb0.js → configure-0XYm59w7.js} +14 -14
  36. package/dist/{configure-CzO4_jJJ.js → configure-BilM_Fgn.js} +2 -2
  37. package/dist/{consolidate-BB4BOQIN.js → consolidate-DI20-Wtn.js} +6 -6
  38. package/dist/{control-service-y53w3Jzy.js → control-service-Ry7Le68N.js} +4 -4
  39. package/dist/{control-ui-assets-Dryy7mCE.js → control-ui-assets-DuDhl0co.js} +1 -1
  40. package/dist/{cron-cli-BMblAFRK.js → cron-cli-DHFgjr_X.js} +7 -7
  41. package/dist/{daemon-cli-BJGNf5qV.js → daemon-cli-fC2R9YZd.js} +11 -11
  42. package/dist/{daemon-runtime-u4p9jsEF.js → daemon-runtime-tZgIbDPz.js} +10 -10
  43. package/dist/{deliver-C79-Umbk.js → deliver-DB4v0Tyl.js} +2 -2
  44. package/dist/{deps-UA1UBhl7.js → deps-BlmO-MfQ.js} +1 -1
  45. package/dist/{devices-cli-wsTs-nti.js → devices-cli-DtkKN4l0.js} +6 -6
  46. package/dist/{diagnostics-oW0LBW-t.js → diagnostics-tVJR9V0_.js} +5 -5
  47. package/dist/{directory-cli-D8As6t8Z.js → directory-cli-Bfy_ejW2.js} +3 -3
  48. package/dist/{dm-policy-shared-DRJrFKqJ.js → dm-policy-shared-CBlUyDSX.js} +1 -1
  49. package/dist/{dns-cli-BKOTBn3n.js → dns-cli-DzKaV6NZ.js} +3 -3
  50. package/dist/{docs-cli-D5j7Nmz2.js → docs-cli-a90_8wuN.js} +1 -1
  51. package/dist/{doctor-completion-mev5PRjN.js → doctor-completion-B6OPl_GZ.js} +2 -2
  52. package/dist/{doctor-completion-B1YCzbvi.js → doctor-completion-BZJWX3Dr.js} +1 -1
  53. package/dist/{doctor-config-flow-Uv41seME.js → doctor-config-flow-30ZEvATb.js} +9 -9
  54. package/dist/entry.js +1 -1
  55. package/dist/{exec-approvals-cli-B4ry9s5r.js → exec-approvals-cli-C3gZAwV8.js} +13 -13
  56. package/dist/extensionAPI.js +2 -2
  57. package/dist/{file-lock-2AecMjCa.js → file-lock-BVUYnlQv.js} +8 -8
  58. package/dist/{fs-safe-B0Is-oLk.js → fs-safe-BdejYjW8.js} +6 -6
  59. package/dist/{gateway-cli-B3JVj_dv.js → gateway-cli-CyhLb-zS.js} +98 -98
  60. package/dist/{gateway-cli-Chnp6icp.js → gateway-cli-DQhYa6AL.js} +10 -10
  61. package/dist/{gateway-rpc-CLzM6ugo.js → gateway-rpc-DNq7EMhm.js} +1 -1
  62. package/dist/{glass-ui-ws-5o8dvEZO.js → glass-ui-ws-CLDbMDPk.js} +8 -8
  63. package/dist/{glass-ui-ws--GjxFRyX.js → glass-ui-ws-SJVljtUx.js} +67 -67
  64. package/dist/{health-D2th0Ip6.js → health-DZ0aipDZ.js} +4 -4
  65. package/dist/{hooks-cli-B4Nvp9AV.js → hooks-cli-BMRj13QU.js} +59 -59
  66. package/dist/{hooks-cli-B_sZth4r.js → hooks-cli-BVtdP5x7.js} +5 -5
  67. package/dist/{image-ops-BzCBIakN.js → image-ops-L70xVnpG.js} +10 -10
  68. package/dist/index.js +52 -52
  69. package/dist/{inspect-U3g9owQ8.js → inspect-CXsOujVt.js} +4 -4
  70. package/dist/{install-safe-path-BwMMOh9z.js → install-safe-path-D5gi-nfu.js} +11 -11
  71. package/dist/{installs-vdi1BESF.js → installs-DF_LhGX6.js} +10 -10
  72. package/dist/{internal-csqU78gW.js → internal-DVCddhhN.js} +9 -9
  73. package/dist/{lifecycle-core-BfmNlC-k.js → lifecycle-core-Bvdl2ShM.js} +5 -5
  74. package/dist/llm-slug-generator.js +2 -2
  75. package/dist/{local-roots-2Jb79HZ8.js → local-roots-CgDCgCuM.js} +1 -1
  76. package/dist/{logs-cli-COZzdFu6.js → logs-cli-mdSEYBKS.js} +7 -7
  77. package/dist/{manager-DyYRwHZt.js → manager-BLg6zbeA.js} +15 -15
  78. package/dist/{manager-BfbQb9qM.js → manager-BhIaahpm.js} +1 -1
  79. package/dist/{manager-Bryhc0Ip.js → manager-BsQIpjy1.js} +1 -1
  80. package/dist/{manager-C5FGNRjL.js → manager-CtDuNn2T.js} +1 -1
  81. package/dist/{memory-DgDnTEcB.js → memory-B4DsKRSc.js} +5 -5
  82. package/dist/{memory-Cypj1lBQ.js → memory-BENbCb4f.js} +2 -2
  83. package/dist/{memory-cli-DB7UIev4.js → memory-cli-BIjwqjBx.js} +2 -2
  84. package/dist/{memory-cli-CfJkD7mO.js → memory-cli-DotHyA76.js} +12 -12
  85. package/dist/{model-DbILYCfo.js → model-DsMHOvMn.js} +1 -1
  86. package/dist/{model-auth-_C07_3Yr.js → model-auth-1EAQvYRv.js} +2 -2
  87. package/dist/{model-catalog-CeqDEWGz.js → model-catalog-DQTmHZK7.js} +3 -3
  88. package/dist/{model-picker-C_f6MALt.js → model-picker-D4TY_tPx.js} +5 -5
  89. package/dist/{model-selection-CCTzD29o.js → model-selection-7wdmO-Iw.js} +1 -1
  90. package/dist/{models-Bpqeds64.js → models-CmToZKBp.js} +2 -2
  91. package/dist/{models-cli-BUWfj5iJ.js → models-cli-CZgkOUZB.js} +55 -55
  92. package/dist/{models-cli-Bc47WFhD.js → models-cli-Di7iKhD4.js} +6 -6
  93. package/dist/{models-config-Dp5-tBqs.js → models-config-CRnTzdFs.js} +8 -8
  94. package/dist/{node-cli-BdjmGI32.js → node-cli-BXv9SEDG.js} +27 -27
  95. package/dist/{node-service-DphkTjBV.js → node-service-CrDVFWQl.js} +1 -1
  96. package/dist/{nodes-cli-BChJzcKY.js → nodes-cli-Cim3ANNU.js} +10 -10
  97. package/dist/{nodes-screen-Cp5QP3ET.js → nodes-screen-De9ma6e1.js} +4 -4
  98. package/dist/{npm-registry-spec-CqVgiBCf.js → npm-registry-spec-YMWTMnm_.js} +9 -9
  99. package/dist/{onboard-BbfERyKU.js → onboard-BXI02b3e.js} +1 -1
  100. package/dist/{onboard-C0nMMiiS.js → onboard-CuLvp4Ds.js} +15 -15
  101. package/dist/{onboard-channels-CMp9YXHC.js → onboard-channels-A6_QP7MR.js} +1 -1
  102. package/dist/{onboard-channels-CmsfVut5.js → onboard-channels-E5NIYGJz.js} +4 -4
  103. package/dist/{onboard-custom-BfHczxx0.js → onboard-custom-BrtjWDlX.js} +3 -3
  104. package/dist/{onboard-helpers-OB_xKQze.js → onboard-helpers---sZ9pdZ.js} +8 -8
  105. package/dist/{onboard-hooks-BA22KYCG.js → onboard-hooks-CtIRdncr.js} +1 -1
  106. package/dist/{onboard-remote-Dv2Uz8Ru.js → onboard-remote-BUB3VPBP.js} +1 -1
  107. package/dist/{onboard-skills-BzxofI4T.js → onboard-skills-Cs3BZ4VJ.js} +3 -3
  108. package/dist/{onboarding-vgZFhH5N.js → onboarding-BWMBA6cP.js} +12 -12
  109. package/dist/{onboarding-DoYMfCjS.js → onboarding-BeYl1Egj.js} +3 -3
  110. package/dist/{onboarding.finalize-Dj0xG8pk.js → onboarding.finalize-Bk-XW8b3.js} +4 -4
  111. package/dist/{onboarding.finalize-BYHDzz2i.js → onboarding.finalize-CH8dBgA2.js} +31 -31
  112. package/dist/{onboarding.gateway-config-CDRLfIZM.js → onboarding.gateway-config-arRNxrI9.js} +8 -8
  113. package/dist/{openai-model-default-Dl21Ivjc.js → openai-model-default-XudD4Xik.js} +2 -2
  114. package/dist/{pairing-cli-C2_Zobhz.js → pairing-cli-NDavTm1_.js} +5 -5
  115. package/dist/{pairing-store-Be-ZQK87.js → pairing-store-BNhJOnWn.js} +1 -1
  116. package/dist/{pairing-token-B703A1U3.js → pairing-token-Dcy37-4s.js} +7 -7
  117. package/dist/{paths-BWqg8NZT.js → paths-DObzwe08.js} +1 -1
  118. package/dist/{pi-auth-json-D-vdh-nY.js → pi-auth-json-Db8XJVGL.js} +6 -6
  119. package/dist/{pi-embedded-C7mJzGIf.js → pi-embedded-BL3_b-H_.js} +6 -52
  120. package/dist/{pi-embedded-helpers-y3vJmW6T.js → pi-embedded-helpers-B5cWV7_y.js} +6 -6
  121. package/dist/{pi-tools.policy-ji-L-Mpv.js → pi-tools.policy-BdGVEMZn.js} +3 -3
  122. package/dist/{plugin-auto-enable-Ctbn2w4Q.js → plugin-auto-enable-B_lNp6yM.js} +1 -1
  123. package/dist/{plugin-registry-pKaJ4ltN.js → plugin-registry-CAdIrLmG.js} +1 -1
  124. package/dist/{plugin-registry-D2ZbwBU_.js → plugin-registry-DovNSdK0.js} +3 -3
  125. package/dist/plugin-sdk/agents/pi-tools.types.d.ts +2 -1
  126. package/dist/plugin-sdk/agents/tools/common.d.ts +0 -30
  127. package/dist/{plugins-cli-uo8lcB7v.js → plugins-cli-JzKO-vmR.js} +5 -5
  128. package/dist/{plugins-cli-CoHiV4BX.js → plugins-cli-ZG4PxNTC.js} +54 -54
  129. package/dist/{ports-ukrEAkOP.js → ports-C3ZSkRGq.js} +1 -1
  130. package/dist/{ports-CB_Iu83U.js → ports-gxLM5ahL.js} +2 -2
  131. package/dist/{program-rzYjZKRz.js → program-BbfU4idg.js} +10 -10
  132. package/dist/{program-context-B1ZbQmLL.js → program-context-ByiEP1Lk.js} +38 -38
  133. package/dist/{prompt-select-styled-F6P-rvFI.js → prompt-select-styled-CWH2Mcrb.js} +4 -4
  134. package/dist/{prompt-select-styled-CX0v66wx.js → prompt-select-styled-DvrG_zWV.js} +38 -38
  135. package/dist/{provider-auth-helpers-_jn9PngO.js → provider-auth-helpers-2x7YxT5F.js} +6 -6
  136. package/dist/{provider-auth-helpers-Ck98bkHV.js → provider-auth-helpers-CMQexdSl.js} +1 -1
  137. package/dist/{push-apns-BtMtpzEm.js → push-apns-CtWwPxRj.js} +1 -1
  138. package/dist/{push-apns-CmeoBcIQ.js → push-apns-eGdGU3r7.js} +4 -4
  139. package/dist/{pw-ai-CQJsGI1b.js → pw-ai-tgngV3iZ.js} +7 -7
  140. package/dist/{qmd-manager-DawTY2mB.js → qmd-manager-qV_04VKG.js} +19 -19
  141. package/dist/{qr-cli-DKowtQcM.js → qr-cli-Vo1XL6B2.js} +3 -3
  142. package/dist/{register.agent-_UqSBmt5.js → register.agent-DZE9NBNx.js} +9 -9
  143. package/dist/{register.agent-0hWBZXD7.js → register.agent-Dwkya1rv.js} +67 -67
  144. package/dist/{register.configure-KrTtvKSp.js → register.configure-CD8WkXo8.js} +8 -8
  145. package/dist/{register.configure-CgQ6sqtQ.js → register.configure-DCpbCHR0.js} +70 -70
  146. package/dist/{register.maintenance-DjZeknO6.js → register.maintenance-Bqjj77CZ.js} +67 -67
  147. package/dist/{register.maintenance-DDSfzFoo.js → register.maintenance-CxVeo_7j.js} +9 -9
  148. package/dist/{register.message-DSwwDcGi.js → register.message-tcJN7-E3.js} +5 -5
  149. package/dist/{register.message-DTZJ5OiL.js → register.message-uhAmNxoO.js} +47 -47
  150. package/dist/{register.onboard-B8k5phG7.js → register.onboard-F6d_Wrv1.js} +25 -25
  151. package/dist/{register.onboard-BToIZTIS.js → register.onboard-Rm5t0yxX.js} +2 -2
  152. package/dist/{register.setup-BdUewOo1.js → register.setup-C2datfZK.js} +2 -2
  153. package/dist/{register.setup-1fexz2oW.js → register.setup-CcHxpsUT.js} +28 -28
  154. package/dist/{register.status-health-sessions-eBaeXIvo.js → register.status-health-sessions-DFVjS9Hy.js} +3 -3
  155. package/dist/{register.status-health-sessions-0RyA2cXf.js → register.status-health-sessions-DIUDRMqm.js} +41 -41
  156. package/dist/{register.subclis-tX3BslaT.js → register.subclis-D9uGnVGm.js} +9 -9
  157. package/dist/{replies-D3cffD5N.js → replies-DzsYQ8Md.js} +1 -1
  158. package/dist/{reply-prefix-CtZtkTJK.js → reply-prefix-BFNeXT65.js} +1 -1
  159. package/dist/{resolve-route-B0i_o4Fo.js → resolve-route-Zww0Y-HJ.js} +1 -1
  160. package/dist/{routes-zpAUwtCG.js → routes-C-rIjd8Z.js} +10 -10
  161. package/dist/{rpc-DhsDKVo-.js → rpc-BkFkeuJ6.js} +1 -1
  162. package/dist/{run-main-DIl_Kl0B.js → run-main-HkbyvIDy.js} +17 -17
  163. package/dist/{sandbox-DQCaejcD.js → sandbox-Dx8IMw-E.js} +18 -18
  164. package/dist/{sandbox-cli-CbvyZs1z.js → sandbox-cli-BFkLKdlk.js} +13 -13
  165. package/dist/{security-cli-CbJxNYZx.js → security-cli-BEpQ_rO1.js} +29 -29
  166. package/dist/{send-QscYkkNh.js → send-Cxu1tl56.js} +7 -7
  167. package/dist/{server-context-CXVq7gZ7.js → server-context--mmXXEkE.js} +5 -5
  168. package/dist/{server-methods-CpFBGxWI.js → server-methods-DJ8eiTu1.js} +6 -6
  169. package/dist/{server-methods-DPxjPGr0.js → server-methods-RtjWUhkv.js} +58 -58
  170. package/dist/{server-node-events-2SUW10k3.js → server-node-events-CT8fFtBQ.js} +6 -6
  171. package/dist/{server-node-events-B_BPbi7z.js → server-node-events-DQ1iCUgY.js} +48 -48
  172. package/dist/{service-Cm4-5AH9.js → service-CyEDtYLq.js} +15 -15
  173. package/dist/{session-dirs-BypCYFN3.js → session-dirs-CXErIzZq.js} +2 -2
  174. package/dist/{session-utils-lXjJoBxe.js → session-utils-BZnPW904.js} +14 -14
  175. package/dist/{sessions-aSo5jsmg.js → sessions-optZRB57.js} +10 -10
  176. package/dist/{shared-DDX_4ypC.js → shared-Ctok0Bcs.js} +1 -1
  177. package/dist/{shared-BI-gOZsD.js → shared-DJFwvlUi.js} +3 -3
  178. package/dist/{skill-commands-C9WuAfb2.js → skill-commands-yPirQFOb.js} +4 -4
  179. package/dist/{skill-scanner-CFqMkfZW.js → skill-scanner-BBwesm0w.js} +5 -5
  180. package/dist/{skills-CYcBtLGH.js → skills-BwDmcZdt.js} +4 -4
  181. package/dist/{skills-cli-BgyaAQoj.js → skills-cli-gC5ETdly.js} +7 -7
  182. package/dist/{skills-install-MGsx6q5Z.js → skills-install-CLN_Ks5r.js} +3 -3
  183. package/dist/{skills-remote-BcRQTDsZ.js → skills-remote-bz71Bstn.js} +3 -3
  184. package/dist/{skills-status-CbSdFlvm.js → skills-status-iltfI_bO.js} +1 -1
  185. package/dist/{sqlite-BpogPlQW.js → sqlite-Cod7C5ba.js} +5 -5
  186. package/dist/{status-DbNNmkNB.js → status-CoqGtHXq.js} +1 -1
  187. package/dist/{status-BVYDUlnp.js → status-Cpz64Vy_.js} +1 -1
  188. package/dist/{status-C-r9JpJf.js → status-CuMBp54T.js} +23 -23
  189. package/dist/{status-DIJvpgEm.js → status-EAjzyREy.js} +3 -3
  190. package/dist/{status.update-EyslEZkn.js → status.update-F4CbQCxF.js} +3 -3
  191. package/dist/{subagent-registry-DWemyjbN.js → subagent-registry-Dkif1XYO.js} +6 -52
  192. package/dist/{symi-root-DeCVdZB4.js → symi-root-BQ0IpoW2.js} +2 -2
  193. package/dist/{synthesis-BdTiornP.js → synthesis-B6tq6-9G.js} +2 -2
  194. package/dist/{synthesis-C7RlvHEs.js → synthesis-CKKZrrYd.js} +45 -45
  195. package/dist/{synthesis-BxYzOZUA.js → synthesis-CpsURf9J.js} +4 -4
  196. package/dist/{synthesis-DQ7Y6OE0.js → synthesis-mgcCKSzl.js} +2 -2
  197. package/dist/{system-cli-DgOvK_kU.js → system-cli-DMKzffe3.js} +7 -7
  198. package/dist/{systemd-B2nTr3Y2.js → systemd-DRpQb_L1.js} +5 -5
  199. package/dist/{systemd-hints-DtOWJT_2.js → systemd-hints-DR4u43WA.js} +6 -6
  200. package/dist/{systemd-linger-CWi5l8Nt.js → systemd-linger-BQQl5RXN.js} +1 -1
  201. package/dist/{tui-D7ms_iQ4.js → tui-CqrM_Fj2.js} +7 -7
  202. package/dist/{tui-cli-DNvAqIYN.js → tui-cli-BsqRmqTX.js} +19 -19
  203. package/dist/{unified-runner-DPWNhQQA.js → unified-runner-DAWxqcS9.js} +6 -52
  204. package/dist/{unified-runner-BIUJm_Iv.js → unified-runner-DZAjU6aB.js} +104 -150
  205. package/dist/{update-pddgyV7i.js → update-CWEjB8uS.js} +3 -3
  206. package/dist/{update-check-CduiCxPo.js → update-check-CxBGAP1E.js} +5 -5
  207. package/dist/{update-cli-BM-A3cIZ.js → update-cli-Bgk30eoA.js} +9 -9
  208. package/dist/{update-cli-GKXF83cS.js → update-cli-t7W6vcQY.js} +77 -77
  209. package/dist/{update-runner-BMYqz1dl.js → update-runner-C4Uy75eP.js} +15 -15
  210. package/dist/{webhooks-cli-BPPmnDCj.js → webhooks-cli-Dp-pp0Sf.js} +4 -4
  211. package/dist/{with-timeout-D1qzvPE0.js → with-timeout-B5zAsivw.js} +1 -1
  212. package/dist/{workspace-dirs-DCICLTHx.js → workspace-dirs-jKFQf7of.js} +1 -1
  213. package/dist/{wsl-Sed675xh.js → wsl-DMA0sTvh.js} +2 -2
  214. package/package.json +1 -1
  215. package/dist/plugin-sdk/agents/tools/availability-filter.d.ts +0 -10
@@ -5,30 +5,30 @@ import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
5
5
  import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
6
6
  import { c as resolveAgentIdFromSessionKey, o as normalizeAgentId, r as buildAgentMainSessionKey, s as normalizeMainKey, x as parseAgentSessionKey } from "./session-key-DUSb7CCb.js";
7
7
  import "./exec-DuYbft0z.js";
8
- import { r as resolveAgentConfig } from "./agent-scope-Bnsyyeci.js";
9
- import "./model-selection-CCTzD29o.js";
10
- import { i as loadConfig } from "./config-D-PYSlE8.js";
8
+ import { r as resolveAgentConfig } from "./agent-scope-DOrZjOnW.js";
9
+ import "./model-selection-7wdmO-Iw.js";
10
+ import { i as loadConfig } from "./config-D7SS4vdk.js";
11
11
  import "./boolean-CbZoNRMn.js";
12
12
  import "./env-BRnPI9sO.js";
13
13
  import "./shell-env-Dc3iU7HK.js";
14
14
  import "./manifest-registry-D1MLZEjS.js";
15
- import { f as resolveSandboxConfigForAgent, i as removeSandboxContainer, m as resolveSandboxToolPolicyForAgent, n as listSandboxContainers, r as removeSandboxBrowserContainer, t as listSandboxBrowsers } from "./sandbox-DQCaejcD.js";
16
- import "./chrome-pFBxO63W.js";
15
+ import { f as resolveSandboxConfigForAgent, i as removeSandboxContainer, m as resolveSandboxToolPolicyForAgent, n as listSandboxContainers, r as removeSandboxBrowserContainer, t as listSandboxBrowsers } from "./sandbox-Dx8IMw-E.js";
16
+ import "./chrome-rzK8edU7.js";
17
17
  import "./tailscale-DpKBMIvx.js";
18
18
  import "./auth-Bkx-QuRN.js";
19
- import "./server-context-CXVq7gZ7.js";
19
+ import "./server-context--mmXXEkE.js";
20
20
  import "./frontmatter-B_jqcova.js";
21
- import "./skills-CYcBtLGH.js";
22
- import "./routes-zpAUwtCG.js";
21
+ import "./skills-BwDmcZdt.js";
22
+ import "./routes-C-rIjd8Z.js";
23
23
  import "./redact-B3O-RBO1.js";
24
24
  import "./errors-bI7Tdx75.js";
25
- import "./fs-safe-B0Is-oLk.js";
26
- import "./paths-BWqg8NZT.js";
25
+ import "./fs-safe-BdejYjW8.js";
26
+ import "./paths-DObzwe08.js";
27
27
  import "./ssrf-DOZRI5XH.js";
28
- import "./image-ops-BzCBIakN.js";
29
- import "./ports-CB_Iu83U.js";
28
+ import "./image-ops-L70xVnpG.js";
29
+ import "./ports-gxLM5ahL.js";
30
30
  import "./trash-_YhavPQI.js";
31
- import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, o as loadSessionStore } from "./sessions-aSo5jsmg.js";
31
+ import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, o as loadSessionStore } from "./sessions-optZRB57.js";
32
32
  import "./dock-hF45sewN.js";
33
33
  import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DgjXWzf-.js";
34
34
  import "./plugins-CF5skkHh.js";
@@ -5,54 +5,54 @@ import { f as defaultRuntime } from "./subsystem-CHbO_DkH.js";
5
5
  import { t as formatCliCommand } from "./command-format-BzjsXBTi.js";
6
6
  import { o as normalizeAgentId } from "./session-key-DUSb7CCb.js";
7
7
  import { n as runExec } from "./exec-DuYbft0z.js";
8
- import { l as resolveDefaultAgentId } from "./agent-scope-Bnsyyeci.js";
9
- import "./model-selection-CCTzD29o.js";
10
- import "./file-lock-2AecMjCa.js";
11
- import { i as loadConfig, r as createConfigIO } from "./config-D-PYSlE8.js";
8
+ import { l as resolveDefaultAgentId } from "./agent-scope-DOrZjOnW.js";
9
+ import "./model-selection-7wdmO-Iw.js";
10
+ import "./file-lock-BVUYnlQv.js";
11
+ import { i as loadConfig, r as createConfigIO } from "./config-D7SS4vdk.js";
12
12
  import "./boolean-CbZoNRMn.js";
13
13
  import "./env-BRnPI9sO.js";
14
14
  import "./shell-env-Dc3iU7HK.js";
15
15
  import "./manifest-registry-D1MLZEjS.js";
16
- import "./sandbox-DQCaejcD.js";
17
- import "./chrome-pFBxO63W.js";
16
+ import "./sandbox-Dx8IMw-E.js";
17
+ import "./chrome-rzK8edU7.js";
18
18
  import "./tailscale-DpKBMIvx.js";
19
19
  import "./auth-Bkx-QuRN.js";
20
- import "./server-context-CXVq7gZ7.js";
20
+ import "./server-context--mmXXEkE.js";
21
21
  import "./frontmatter-B_jqcova.js";
22
- import "./skills-CYcBtLGH.js";
23
- import "./routes-zpAUwtCG.js";
22
+ import "./skills-BwDmcZdt.js";
23
+ import "./routes-C-rIjd8Z.js";
24
24
  import "./redact-B3O-RBO1.js";
25
25
  import "./errors-bI7Tdx75.js";
26
- import "./fs-safe-B0Is-oLk.js";
27
- import "./paths-BWqg8NZT.js";
26
+ import "./fs-safe-BdejYjW8.js";
27
+ import "./paths-DObzwe08.js";
28
28
  import "./ssrf-DOZRI5XH.js";
29
- import "./image-ops-BzCBIakN.js";
30
- import "./ports-CB_Iu83U.js";
29
+ import "./image-ops-L70xVnpG.js";
30
+ import "./ports-gxLM5ahL.js";
31
31
  import "./trash-_YhavPQI.js";
32
- import "./sessions-aSo5jsmg.js";
32
+ import "./sessions-optZRB57.js";
33
33
  import "./dock-hF45sewN.js";
34
34
  import "./message-channel-DgjXWzf-.js";
35
35
  import "./plugins-CF5skkHh.js";
36
36
  import "./paths-BtvQ7JvU.js";
37
37
  import "./commands-DUzLGgEZ.js";
38
- import "./client-T5P9umyG.js";
39
- import "./call-CW8U1BPq.js";
40
- import "./pairing-token-B703A1U3.js";
41
- import "./workspace-dirs-DCICLTHx.js";
42
- import { i as readChannelAllowFromStore } from "./pairing-store-Be-ZQK87.js";
38
+ import "./client-BzUAFrla.js";
39
+ import "./call-BouPakqe.js";
40
+ import "./pairing-token-Dcy37-4s.js";
41
+ import "./workspace-dirs-jKFQf7of.js";
42
+ import { i as readChannelAllowFromStore } from "./pairing-store-BNhJOnWn.js";
43
43
  import { t as formatDocsLink } from "./links-TQwptN6q.js";
44
44
  import { t as formatHelpExamples } from "./help-format-CPT6NY3h.js";
45
- import "./pi-tools.policy-ji-L-Mpv.js";
46
- import "./skill-scanner-CFqMkfZW.js";
47
- import { a as collectIncludePathsRecursive, i as formatIcaclsResetCommand, r as createIcaclsResetCommand, t as runSecurityAudit } from "./audit-BSX7fMfc.js";
48
- import "./dm-policy-shared-DRJrFKqJ.js";
45
+ import "./pi-tools.policy-BdGVEMZn.js";
46
+ import "./skill-scanner-BBwesm0w.js";
47
+ import { a as collectIncludePathsRecursive, i as formatIcaclsResetCommand, r as createIcaclsResetCommand, t as runSecurityAudit } from "./audit-DCwHws4M.js";
48
+ import "./dm-policy-shared-CBlUyDSX.js";
49
49
  import path from "node:path";
50
- import fsPromises from "node:fs/promises";
50
+ import fs from "node:fs/promises";
51
51
 
52
52
  //#region src/security/fix.ts
53
53
  async function safeChmod(params) {
54
54
  try {
55
- const st = await fsPromises.lstat(params.path);
55
+ const st = await fs.lstat(params.path);
56
56
  if (st.isSymbolicLink()) return {
57
57
  kind: "chmod",
58
58
  path: params.path,
@@ -81,7 +81,7 @@ async function safeChmod(params) {
81
81
  ok: false,
82
82
  skipped: "already"
83
83
  };
84
- await fsPromises.chmod(params.path, params.mode);
84
+ await fs.chmod(params.path, params.mode);
85
85
  return {
86
86
  kind: "chmod",
87
87
  path: params.path,
@@ -111,7 +111,7 @@ async function safeAclReset(params) {
111
111
  env: params.env
112
112
  });
113
113
  try {
114
- const st = await fsPromises.lstat(params.path);
114
+ const st = await fs.lstat(params.path);
115
115
  if (st.isSymbolicLink()) return {
116
116
  kind: "icacls",
117
117
  path: params.path,
@@ -249,7 +249,7 @@ async function chmodCredentialsAndAgentState(params) {
249
249
  mode: 448,
250
250
  require: "dir"
251
251
  }));
252
- const credsEntries = await fsPromises.readdir(credsDir, { withFileTypes: true }).catch(() => []);
252
+ const credsEntries = await fs.readdir(credsDir, { withFileTypes: true }).catch(() => []);
253
253
  for (const entry of credsEntries) {
254
254
  if (!entry.isFile()) continue;
255
255
  if (!entry.name.endsWith(".json")) continue;
@@ -300,7 +300,7 @@ async function chmodCredentialsAndAgentState(params) {
300
300
  mode: 384,
301
301
  require: "file"
302
302
  }));
303
- const sessionEntries = await fsPromises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
303
+ const sessionEntries = await fs.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
304
304
  for (const entry of sessionEntries) {
305
305
  if (!entry.isFile()) continue;
306
306
  if (!entry.name.endsWith(".jsonl")) continue;
@@ -1,17 +1,17 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { D as shouldLogVerbose, w as logVerbose } from "./registry-Sbac4a4z.js";
3
3
  import { h as resolveUserPath } from "./utils-CTPsqyE_.js";
4
- import { i as loadConfig } from "./config-D-PYSlE8.js";
5
- import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-B0Is-oLk.js";
6
- import { _ as mediaKindFromMime, a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-BzCBIakN.js";
4
+ import { i as loadConfig } from "./config-D7SS4vdk.js";
5
+ import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BdejYjW8.js";
6
+ import { _ as mediaKindFromMime, a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-L70xVnpG.js";
7
7
  import { a as resolveSlackAccount, c as resolveSlackBotToken } from "./plugins-CF5skkHh.js";
8
8
  import { a as chunkText, c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-BxfKjCUx.js";
9
9
  import { n as resolveMarkdownTableMode } from "./markdown-tables-CS1Tvb3z.js";
10
10
  import { t as fetchWithSsrFGuard } from "./fetch-guard-JHxT9355.js";
11
- import { n as getDefaultMediaLocalRoots } from "./local-roots-2Jb79HZ8.js";
11
+ import { n as getDefaultMediaLocalRoots } from "./local-roots-CgDCgCuM.js";
12
12
  import { fileURLToPath } from "node:url";
13
13
  import path from "node:path";
14
- import fsPromises from "node:fs/promises";
14
+ import fs from "node:fs/promises";
15
15
  import { WebClient } from "@slack/web-api";
16
16
  import MarkdownIt from "markdown-it";
17
17
 
@@ -380,7 +380,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
380
380
  const roots = localRoots ?? getDefaultLocalRoots();
381
381
  let resolved;
382
382
  try {
383
- resolved = await fsPromises.realpath(mediaPath);
383
+ resolved = await fs.realpath(mediaPath);
384
384
  } catch {
385
385
  resolved = path.resolve(mediaPath);
386
386
  }
@@ -397,7 +397,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
397
397
  for (const root of roots) {
398
398
  let resolvedRoot;
399
399
  try {
400
- resolvedRoot = await fsPromises.realpath(root);
400
+ resolvedRoot = await fs.realpath(root);
401
401
  } catch {
402
402
  resolvedRoot = path.resolve(root);
403
403
  }
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-By0XjHBk.js";
2
- import { i as loadConfig, l as writeConfigFile, r as createConfigIO } from "./config-D-PYSlE8.js";
3
- import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, O as DEFAULT_SYMI_BROWSER_COLOR, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, k as DEFAULT_SYMI_BROWSER_ENABLED, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, v as fetchOk, x as ensureChromeExtensionRelayServer } from "./chrome-pFBxO63W.js";
2
+ import { i as loadConfig, l as writeConfigFile, r as createConfigIO } from "./config-D7SS4vdk.js";
3
+ import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, D as DEFAULT_BROWSER_EVALUATE_ENABLED, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, O as DEFAULT_SYMI_BROWSER_COLOR, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, k as DEFAULT_SYMI_BROWSER_ENABLED, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, v as fetchOk, x as ensureChromeExtensionRelayServer } from "./chrome-rzK8edU7.js";
4
4
  import { r as isLoopbackHost } from "./ws-C7Ktmt-R.js";
5
5
  import { a as resolveGatewayAuth } from "./auth-Bkx-QuRN.js";
6
6
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-bI7Tdx75.js";
@@ -152,7 +152,7 @@ function isModuleNotFoundError(err) {
152
152
  }
153
153
  async function loadPwAiModule(mode) {
154
154
  try {
155
- return await import("./pw-ai-CQJsGI1b.js");
155
+ return await import("./pw-ai-tgngV3iZ.js");
156
156
  } catch (err) {
157
157
  if (mode === "soft") return null;
158
158
  if (isModuleNotFoundError(err)) return null;
@@ -775,11 +775,11 @@ function createProfileContext(opts, profile) {
775
775
  const userDataDir = resolveSymiUserDataDir(profile.name);
776
776
  const profileState = getProfileState();
777
777
  if (await isHttpReachable(300) && !profileState.running) try {
778
- await (await import("./pw-ai-CQJsGI1b.js")).closePlaywrightBrowserConnection();
778
+ await (await import("./pw-ai-tgngV3iZ.js")).closePlaywrightBrowserConnection();
779
779
  } catch {}
780
780
  if (profileState.running) await stopRunningBrowser();
781
781
  try {
782
- await (await import("./pw-ai-CQJsGI1b.js")).closePlaywrightBrowserConnection();
782
+ await (await import("./pw-ai-tgngV3iZ.js")).closePlaywrightBrowserConnection();
783
783
  } catch {}
784
784
  if (!fs.existsSync(userDataDir)) return {
785
785
  moved: false,
@@ -13,7 +13,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
13
13
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-B-OTYROz.js";
14
14
  import { s as pickPrimaryLanIPv4 } from "./net-TZUXtwGR.js";
15
15
  import { i as normalizeInputProvenance } from "./input-provenance-BdV0rbga.js";
16
- import { $ as normalizeCronJobCreate, B as ensureOutboundSessionEntry, Bt as applyModelOverrideToSessionEntry, C as buildGlassUiProfile, E as abortEmbeddedPiRun, Et as scheduleGatewaySigusr1Restart, Ft as resolveSendPolicy, H as resolveOutboundTarget, Ht as parseVerboseOverride, I as listTasksInWorkdir, N as buildAgentTurnParams, O as waitForEmbeddedPiRunEnd, P as prepareReplyTurn, Pt as normalizeSendPolicy, Tn as registerAgentRunContext, V as resolveOutboundSessionRoute, Vt as applyVerboseOverride, W as normalizePollInput, _t as applyBrowserProxyPaths, a as listSubagentRunsForRequester, an as formatZonedTimestamp, c as clearSessionQueues, en as resolveAgentTimeoutMs, et as normalizeCronJobPatch, fn as resolveUserTimezone, i as listDescendantRunsForRequester, m as loadSymiPlugins, nn as BARE_SESSION_RESET_PROMPT, on as isAbortTrigger, rn as normalizeGroupActivation, sn as stopSubagentsForRequester, tn as prepareAgentRun, vt as persistBrowserProxyFiles, w as runUnifiedTurn, wn as onAgentEvent, x as createReplyDispatcher, y as getChannelActivity } from "./subagent-registry-DWemyjbN.js";
16
+ import { $ as normalizeCronJobCreate, B as ensureOutboundSessionEntry, Bt as applyModelOverrideToSessionEntry, C as buildGlassUiProfile, E as abortEmbeddedPiRun, Et as scheduleGatewaySigusr1Restart, Ft as resolveSendPolicy, H as resolveOutboundTarget, Ht as parseVerboseOverride, I as listTasksInWorkdir, N as buildAgentTurnParams, O as waitForEmbeddedPiRunEnd, P as prepareReplyTurn, Pt as normalizeSendPolicy, Tn as registerAgentRunContext, V as resolveOutboundSessionRoute, Vt as applyVerboseOverride, W as normalizePollInput, _t as applyBrowserProxyPaths, a as listSubagentRunsForRequester, an as formatZonedTimestamp, c as clearSessionQueues, en as resolveAgentTimeoutMs, et as normalizeCronJobPatch, fn as resolveUserTimezone, i as listDescendantRunsForRequester, m as loadSymiPlugins, nn as BARE_SESSION_RESET_PROMPT, on as isAbortTrigger, rn as normalizeGroupActivation, sn as stopSubagentsForRequester, tn as prepareAgentRun, vt as persistBrowserProxyFiles, w as runUnifiedTurn, wn as onAgentEvent, x as createReplyDispatcher, y as getChannelActivity } from "./subagent-registry-Dkif1XYO.js";
17
17
  import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-DHPf5TzB.js";
18
18
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-BsEhWvLn.js";
19
19
  import { n as createBrowserRouteDispatcher } from "./with-timeout-CaEWDssR.js";
@@ -22,7 +22,7 @@ import { t as movePathToTrash } from "./trash-Bx4LIudf.js";
22
22
  import { c as resolveStorePath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-DtiEyjsC.js";
23
23
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-BZDIJMl_.js";
24
24
  import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-DV3KhOhL.js";
25
- import { t as getMemorySearchManager } from "./memory-Cypj1lBQ.js";
25
+ import { t as getMemorySearchManager } from "./memory-BENbCb4f.js";
26
26
  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-DSGpkPJE.js";
27
27
  import { g as isSystemEventContextChanged, h as enqueueSystemEvent, i as formatDoctorNonInteractiveHint, l as writeRestartSentinel, u as loadProviderUsageSummary } from "./redact-identifier-CXvHJXk9.js";
28
28
  import { t as listAgentWorkspaceDirs } from "./workspace-dirs-wlRR65M3.js";
@@ -37,11 +37,11 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-Cv2yCxAb.js";
37
37
  import { t as buildChannelAccountSnapshot } from "./status-QSx6bfFf.js";
38
38
  import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-Cut7JJgz.js";
39
39
  import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-CXT_jhD1.js";
40
- import { r as getStatusSummary } from "./status-BVYDUlnp.js";
40
+ import { r as getStatusSummary } from "./status-Cpz64Vy_.js";
41
41
  import { r as createOutboundSendDeps } from "./outbound-send-deps-Bms6Lw6N.js";
42
42
  import { m as normalizeUpdateChannel } from "./update-check-BVu0zSCT.js";
43
- 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-BtMtpzEm.js";
44
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-DOOj3Gzb.js";
43
+ 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-CtWwPxRj.js";
44
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-CQlyTNu-.js";
45
45
  import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DJ6HOh-6.js";
46
46
  import { t as resolveSystemRunCommand } from "./system-run-command-fjiicRnc.js";
47
47
  import { t as installSkill } from "./skills-install-BmZ-1p6t.js";
@@ -7464,7 +7464,7 @@ const nodeHandlers = {
7464
7464
  const p = params;
7465
7465
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7466
7466
  await respondUnavailableOnThrow(respond, async () => {
7467
- const { handleNodeEvent } = await import("./server-node-events-2SUW10k3.js");
7467
+ const { handleNodeEvent } = await import("./server-node-events-CT8fFtBQ.js");
7468
7468
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7469
7469
  await handleNodeEvent({
7470
7470
  deps: context.deps,
@@ -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-BIUJm_Iv.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-DZAjU6aB.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-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";
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";
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-D-PYSlE8.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";
12
12
  import { c as pickPrimaryLanIPv4 } from "./ws-C7Ktmt-R.js";
13
- import { i as loadWorkspaceSkillEntries } from "./skills-CYcBtLGH.js";
13
+ import { i as loadWorkspaceSkillEntries } from "./skills-BwDmcZdt.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-aSo5jsmg.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";
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-C79-Umbk.js";
21
+ import { h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DB4v0Tyl.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-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";
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-B5zAsivw.js";
25
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BFNeXT65.js";
26
+ import { t as getMemorySearchManager } from "./memory-B4DsKRSc.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-BzUAFrla.js";
28
+ import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-BouPakqe.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";
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-y53w3Jzy.js";
33
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Ry7Le68N.js";
34
34
  import { i as parseAbsoluteTimeMs } from "./stagger-DUVGiPYV.js";
35
- import { n as createOutboundSendDeps } from "./deps-UA1UBhl7.js";
35
+ import { n as createOutboundSendDeps } from "./deps-BlmO-MfQ.js";
36
36
  import { t as buildChannelUiCatalog } from "./catalog-DsC3JTw1.js";
37
- import { t as buildWorkspaceSkillStatus } from "./skills-status-CbSdFlvm.js";
37
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-iltfI_bO.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-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";
41
+ import { w as resolveAssistantAvatarUrl } from "./onboard-helpers---sZ9pdZ.js";
42
+ import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-DCwHws4M.js";
43
+ import { n as getStatusSummary } from "./status-CuMBp54T.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-eGdGU3r7.js";
46
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-N_J2cDO6.js";
47
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BJ9RIQlb.js";
48
48
  import { t as resolveSystemRunCommand } from "./system-run-command-Craglj8T.js";
49
- import { t as installSkill } from "./skills-install-MGsx6q5Z.js";
50
- import { t as runGatewayUpdate } from "./update-runner-BMYqz1dl.js";
49
+ import { t as installSkill } from "./skills-install-CLN_Ks5r.js";
50
+ import { t as runGatewayUpdate } from "./update-runner-C4Uy75eP.js";
51
51
  import crypto, { randomUUID } from "node:crypto";
52
52
  import path from "node:path";
53
- import * as fs$1 from "node:fs";
53
+ import * as fs$2 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 fsPromises from "node:fs/promises";
57
+ import fs$1 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 fsPromises.stat(filePath).catch(() => null);
404
+ const stat = await fs$1.stat(filePath).catch(() => null);
405
405
  if (!stat || stat.size <= opts.maxBytes) return;
406
- const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
406
+ const lines = (await fs$1.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 fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
411
- await fsPromises.rename(tmp, filePath);
410
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
411
+ await fs$1.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 fsPromises.mkdir(path.dirname(resolved), { recursive: true });
417
- await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
416
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
417
+ await fs$1.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 fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
429
+ const raw = await fs$1.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 fsPromises.stat(filePath);
2941
+ const stat = await fs$1.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 fsPromises.access(pathname);
3011
+ await fs$1.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 fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
3058
+ await fs$1.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 fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
3071
+ await fs$1.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 fsPromises.mkdir(workspace, { recursive: true });
3106
+ await fs$1.mkdir(workspace, { recursive: true });
3107
3107
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
3108
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
3108
+ await fs$1.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 fsPromises.readFile(filePath, "utf-8");
3191
+ const content = await fs$1.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 fsPromises.mkdir(workspaceDir, { recursive: true });
3213
+ await fs$1.mkdir(workspaceDir, { recursive: true });
3214
3214
  const filePath = path.join(workspaceDir, name);
3215
3215
  const content = String(params.content ?? "");
3216
- await fsPromises.writeFile(filePath, content, "utf-8");
3216
+ await fs$1.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-BjcGLk4v.js").then((n) => n.t), import("./config-D-PYSlE8.js").then((n) => n.t)]);
4204
+ const [mod, { loadConfig }] = await Promise.all([import("./commands-registry-VfAQOVZO.js").then((n) => n.t), import("./config-D7SS4vdk.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 fsPromises.readFile(fullPath, "utf-8");
6464
+ markdown = await fs$1.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 fsPromises.stat(file).catch(() => null)) return file;
6615
+ if (await fs$1.stat(file).catch(() => null)) return file;
6616
6616
  if (!isRollingLogFile(file)) return file;
6617
6617
  const dir = path.dirname(file);
6618
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
6618
+ const entries = await fs$1.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 fsPromises.stat(fullPath).catch(() => null);
6622
+ const fileStat = await fs$1.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 fsPromises.stat(params.file).catch(() => null);
6630
+ const stat = await fs$1.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 fsPromises.open(params.file, "r");
6668
+ const handle = await fs$1.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-B_BPbi7z.js");
7469
+ const { handleNodeEvent } = await import("./server-node-events-DQ1iCUgY.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$1.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
7988
+ const parts = fs$2.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$1.readFileSync("/proc/meminfo", "utf8");
8012
+ const text = fs$2.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$1.statfsSync("/");
8031
+ const stats = fs$2.statfsSync("/");
8032
8032
  const total = stats.blocks * stats.bsize;
8033
8033
  const used = total - stats.bfree * stats.bsize;
8034
8034
  return {