@symerian/symi 3.3.1 → 3.3.3

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 (257) hide show
  1. package/dist/{agent-BI1-UXxQ.js → agent-9zPi5Bip.js} +2 -5
  2. package/dist/{agent-DeLysRUa.js → agent-M9EC02CI.js} +17 -20
  3. package/dist/{agent-scope-BjEBQhs0.js → agent-scope-B_oqIiaD.js} +18 -18
  4. package/dist/{agent-scope-DE5eEsvh.js → agent-scope-D_MtsuXX.js} +2 -2
  5. package/dist/{agents-BMRZpxNt.js → agents-CW9uf_n0.js} +2 -2
  6. package/dist/{agents.config-BFKM-a83.js → agents.config-B_LFeRQS.js} +1 -1
  7. package/dist/{audit-DQ_p2Pbq.js → audit-B_HL4UJ_.js} +20 -20
  8. package/dist/{auth-choice-BGZsmh6a.js → auth-choice-Bio1-QUP.js} +8 -8
  9. package/dist/{auth-choice-T77Ymi34.js → auth-choice-DS5oaUTz.js} +1 -1
  10. package/dist/{auth-profiles-BVtpxYtY.js → auth-profiles-CPlXilKu.js} +9 -9
  11. package/dist/{auth-profiles-B6ISm3Th.js → auth-profiles-duUuQXeC.js} +3 -3
  12. package/dist/{auth-token-CPluo60n.js → auth-token-DTj2WrbV.js} +1 -1
  13. package/dist/{banner-BJHky-bq.js → banner-0vT1O9w2.js} +1 -1
  14. package/dist/{browser-cli-O7Ic8DI3.js → browser-cli-C-Q0t9y_.js} +9 -9
  15. package/dist/build-info.json +3 -3
  16. package/dist/bundled/boot-md/handler.js +29 -32
  17. package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
  18. package/dist/bundled/session-memory/handler.js +28 -28
  19. package/dist/{call-CdXXPXpo.js → call-Du4CT1Hp.js} +9 -9
  20. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  21. package/dist/{channel-options-BrDTgiiV.js → channel-options-CcGtiy0Q.js} +1 -1
  22. package/dist/{channel-options-C1yi5h7A.js → channel-options-DZ17japQ.js} +1 -1
  23. package/dist/{channels-cli-BYeGzy-G.js → channels-cli-BSvEpjOV.js} +10 -10
  24. package/dist/{channels-cli-Pxe1OINS.js → channels-cli-DxSXTCCh.js} +55 -55
  25. package/dist/{chrome-FAf5DZL2.js → chrome-C9mX2mtt.js} +3 -3
  26. package/dist/{chrome-NUKborg3.js → chrome-owBWinlj.js} +2 -2
  27. package/dist/{chunk-DX6VtywY.js → chunk-5H33X8qU.js} +1 -1
  28. package/dist/{cli-Dt-wfm_7.js → cli-CHk4wR-F.js} +7 -7
  29. package/dist/{cli-DFNOC2Ad.js → cli-Dn9ylBb2.js} +43 -43
  30. package/dist/{client-Bs2zB0rY.js → client-ZZqt0H0-.js} +1 -1
  31. package/dist/{command-registry-BwbT4ll7.js → command-registry-UxY6jjeo.js} +10 -10
  32. package/dist/{commands-registry-C5IdtVVy.js → commands-registry-DaPrWQSe.js} +4 -4
  33. package/dist/{commands-registry-DYk02tmt.js → commands-registry-W2GQIywv.js} +1 -1
  34. package/dist/{completion-cli-DiNUqrNY.js → completion-cli-DebZ6nSb.js} +12 -12
  35. package/dist/{completion-cli-CyOSA5xZ.js → completion-cli-m9L2Gv9t.js} +2 -2
  36. package/dist/{config-CW8aDVM0.js → config-CphS_6eg.js} +2 -2
  37. package/dist/{config-cli-DBU_S417.js → config-cli-D4_gO3Pd.js} +4 -4
  38. package/dist/{config-cli-DfG0nukz.js → config-cli-D9YdRiN2.js} +1 -1
  39. package/dist/{config-guard-CNmD3-IC.js → config-guard-B5BwQ-AP.js} +6 -6
  40. package/dist/{config-validation-Bz5CV181.js → config-validation-A2rXGvVY.js} +1 -1
  41. package/dist/{configure-BkH4ueot.js → configure-BXjJQG1p.js} +14 -14
  42. package/dist/{configure-BYu2DI_6.js → configure-D9NeIMjP.js} +2 -2
  43. package/dist/{consolidate-Cx7qF5Ht.js → consolidate-7Usm-b2g.js} +6 -6
  44. package/dist/{consolidate-dh1m3X1s.js → consolidate-C-HKdAJo.js} +2 -2
  45. package/dist/{control-service-Drd2sr2o.js → control-service-CMVDL3Yl.js} +4 -4
  46. package/dist/{control-ui-assets-D22DSxhv.js → control-ui-assets-DUhvOLUL.js} +1 -1
  47. package/dist/{cron-cli-BTAdnRhX.js → cron-cli-DR4W075u.js} +7 -7
  48. package/dist/{daemon-cli-BY9BFNuw.js → daemon-cli-B__05b-d.js} +11 -11
  49. package/dist/{daemon-runtime-BH3ZBZXS.js → daemon-runtime-BD-3XS8R.js} +10 -10
  50. package/dist/{deliver-DZ7ynJYH.js → deliver-63FtOVMC.js} +3 -3
  51. package/dist/{deliver-Dlq2X0K5.js → deliver-DSMNXd9k.js} +1 -1
  52. package/dist/{deliver-kmnOOp9j.js → deliver-DSv-Z24A.js} +16 -16
  53. package/dist/{deliver-CRqS1O8w.js → deliver-DcP6aVt4.js} +1 -1
  54. package/dist/{deps-i1g0Zpz4.js → deps-DD_ZCq3v.js} +1 -1
  55. package/dist/{devices-cli-Cqi6L8PH.js → devices-cli-CJom2K8b.js} +6 -6
  56. package/dist/{diagnostic-CQLyE7_n.js → diagnostic-D7z6O7v0.js} +1 -1
  57. package/dist/{diagnostics-nLP2i_BY.js → diagnostics-DxdqTfpW.js} +5 -5
  58. package/dist/{directory-cli-B0XsBWso.js → directory-cli-BwhEj1FE.js} +3 -3
  59. package/dist/{dm-policy-shared-CnKffdt_.js → dm-policy-shared-C1TQOlkZ.js} +1 -1
  60. package/dist/{dns-cli-BHWlCG31.js → dns-cli-DzQDEQM2.js} +3 -3
  61. package/dist/{docs-cli-DASNErN-.js → docs-cli--T-77Ujn.js} +1 -1
  62. package/dist/{doctor-completion-DqvmZZEo.js → doctor-completion--AgLv0kV.js} +1 -1
  63. package/dist/{doctor-completion-D_cwpDAq.js → doctor-completion-D1ImH_eM.js} +2 -2
  64. package/dist/{doctor-config-flow-BvHSaiFy.js → doctor-config-flow-4UT3396o.js} +9 -9
  65. package/dist/entry.js +1 -1
  66. package/dist/{exec-approvals-cli-CyHTywue.js → exec-approvals-cli-D-MLmhzh.js} +13 -13
  67. package/dist/extensionAPI.js +5 -5
  68. package/dist/{frontmatter-BW7tVmn4.js → frontmatter-BzAaXBfE.js} +2 -2
  69. package/dist/{fs-safe-DjAKGGJ8.js → fs-safe-B6nMaZqV.js} +6 -6
  70. package/dist/{gateway-cli-BBqSqFGV.js → gateway-cli-5KVJJGFm.js} +97 -117
  71. package/dist/{gateway-cli-BYGA5ex3.js → gateway-cli-BjGvnfU3.js} +15 -35
  72. package/dist/{gateway-rpc-BJF1iDnx.js → gateway-rpc-CUIXRk2t.js} +1 -1
  73. package/dist/{glass-ui-ws-NJNiRFL3.js → glass-ui-ws-CwJdwqn6.js} +65 -65
  74. package/dist/{glass-ui-ws-DJnV8nJK.js → glass-ui-ws-f_OPXcN2.js} +11 -11
  75. package/dist/{health-D59E1VfO.js → health-BdxlhiXA.js} +4 -4
  76. package/dist/{hooks-cli-Bidz8ACz.js → hooks-cli-BfVq5C1p.js} +57 -57
  77. package/dist/{hooks-cli-CyjEjDSY.js → hooks-cli-CQ6rF_LQ.js} +8 -8
  78. package/dist/{image-ops-c7_of0HT.js → image-ops-C-gIIp7Q.js} +10 -10
  79. package/dist/index.js +50 -50
  80. package/dist/{inspect-op0Ov-v4.js → inspect-BDzd6yBs.js} +4 -4
  81. package/dist/{install-safe-path-B73BkVO3.js → install-safe-path-CQXx3s9R.js} +11 -11
  82. package/dist/{installs-ZXEjR9Sp.js → installs-CLp95gcX.js} +10 -10
  83. package/dist/{internal-C3o_xyzP.js → internal-CHnZdvRy.js} +9 -9
  84. package/dist/{lifecycle-core-zhQYm_ni.js → lifecycle-core-_BlNODTH.js} +5 -5
  85. package/dist/llm-slug-generator.js +28 -28
  86. package/dist/{local-roots-CTriU02e.js → local-roots-JhQs5w0I.js} +1 -1
  87. package/dist/{local-roots-Dm8-ErgQ.js → local-roots-WWcVq0Ma.js} +3 -3
  88. package/dist/{logs-cli-B7RJ57Dc.js → logs-cli-BEWOyW5R.js} +7 -7
  89. package/dist/{manager-CpBl-VGg.js → manager-BI8o6AGu.js} +1 -1
  90. package/dist/{manager-9dNT9kNF.js → manager-BQ5Wl5r-.js} +14 -14
  91. package/dist/{manager-t4GthPGw.js → manager-BUS2wGkQ.js} +1 -1
  92. package/dist/{manager-Dsdh0rGn.js → manager-D_AVoLu8.js} +6 -6
  93. package/dist/{manifest-registry-B2vClvK5.js → manifest-registry-DsTUFMvZ.js} +1 -1
  94. package/dist/{markdown-tables-BaWa2kOe.js → markdown-tables-ptfgMe6b.js} +1 -1
  95. package/dist/{memory-DcWXMzOH.js → memory-2OKjMT7V.js} +5 -5
  96. package/dist/{memory-B7TJXpqS.js → memory-CMKSFx1T.js} +2 -2
  97. package/dist/{memory-cli-xBZPEOeL.js → memory-cli-CmPcKzGZ.js} +12 -12
  98. package/dist/{memory-cli-C0WA_nRS.js → memory-cli-rdfaJrCS.js} +2 -2
  99. package/dist/{model-BXWgh5eZ.js → model-BKtw-Bqs.js} +1 -1
  100. package/dist/{model-catalog-BGVslwAT.js → model-catalog-DKBhNiWm.js} +4 -4
  101. package/dist/{model-picker-aTfyp_mP.js → model-picker-DKzvan7c.js} +3 -3
  102. package/dist/{models-IfAFy9bK.js → models-DRtgYyTB.js} +2 -2
  103. package/dist/{models-cli-h8h_qu3F.js → models-cli-183sPHZO.js} +53 -53
  104. package/dist/{models-cli-DiB4JqF2.js → models-cli-DN2zTFw9.js} +9 -9
  105. package/dist/{models-config-DRgHv7Ss.js → models-config-CFUwiu4W.js} +7 -7
  106. package/dist/{node-cli-BPkbqgRt.js → node-cli-CgWAxe-K.js} +27 -27
  107. package/dist/{node-service-DuN9eBL6.js → node-service-tPO_yUk7.js} +1 -1
  108. package/dist/{nodes-cli-C09c6nCf.js → nodes-cli-CprJ5K63.js} +10 -10
  109. package/dist/{nodes-screen-CT94yu_w.js → nodes-screen-JELuBMBi.js} +4 -4
  110. package/dist/{npm-registry-spec-B8X06AqB.js → npm-registry-spec-BXw_6vF6.js} +9 -9
  111. package/dist/{onboard-sMgEOBjV.js → onboard-CPHA8CdV.js} +13 -13
  112. package/dist/{onboard-iL7Z0wKJ.js → onboard-bTgNnEHK.js} +1 -1
  113. package/dist/{onboard-channels-Deq8QGnM.js → onboard-channels-B_iyN1qL.js} +4 -4
  114. package/dist/{onboard-channels-BfzW-9vo.js → onboard-channels-D5ugcgBE.js} +1 -1
  115. package/dist/{onboard-custom-DEdRdzNq.js → onboard-custom-Cla8O-Tv.js} +3 -3
  116. package/dist/{onboard-helpers-DZKHFY2J.js → onboard-helpers-D2mWJnFB.js} +8 -8
  117. package/dist/{onboard-hooks-DZZM8goM.js → onboard-hooks-DZD-nGLB.js} +1 -1
  118. package/dist/{onboard-remote-dn4L5WdE.js → onboard-remote-Bi2BNRnh.js} +1 -1
  119. package/dist/{onboard-skills-DGHye9Q3.js → onboard-skills-C0XDXvWw.js} +4 -4
  120. package/dist/{onboarding-BjXYbWlg.js → onboarding-D2SLzcWH.js} +12 -12
  121. package/dist/{onboarding-70YKbZi6.js → onboarding-ii3ok0Ih.js} +3 -3
  122. package/dist/{onboarding.finalize-dU_CtL43.js → onboarding.finalize-DOHv_Xe8.js} +31 -31
  123. package/dist/{onboarding.finalize-Ch3V08eY.js → onboarding.finalize-g-_d-wVY.js} +4 -4
  124. package/dist/{onboarding.gateway-config-DfF8Rxvn.js → onboarding.gateway-config-BmaAH8uo.js} +8 -8
  125. package/dist/{openai-model-default-D1NFHFF_.js → openai-model-default-BeRT9S75.js} +2 -2
  126. package/dist/{pairing-cli-CJv8LQfb.js → pairing-cli-DdtW6Nu-.js} +4 -4
  127. package/dist/{pairing-store-CxT0UGxd.js → pairing-store-mmeniyUt.js} +1 -1
  128. package/dist/{pairing-token-DorpwP8O.js → pairing-token-CURbSHdi.js} +7 -7
  129. package/dist/{paths-DaQrPPet.js → paths-Dc6A9_vI.js} +1 -1
  130. package/dist/{pi-auth-json-DGZH6URT.js → pi-auth-json-1Z1j1PDI.js} +5 -5
  131. package/dist/{pi-auth-json-BzuhVcKu.js → pi-auth-json-D4Bl4hBw.js} +1 -1
  132. package/dist/{pi-embedded-DOCVZrmx.js → pi-embedded-CvGL6bij.js} +39 -212
  133. package/dist/{pi-embedded-helpers-Be-EeyzH.js → pi-embedded-helpers-BRM8EM4P.js} +6 -6
  134. package/dist/{pi-tools.policy-qwS9SXOa.js → pi-tools.policy-BBHbN8Nh.js} +3 -3
  135. package/dist/{plugin-auto-enable-zDUaiaf2.js → plugin-auto-enable-BCwyDNSP.js} +1 -1
  136. package/dist/{plugin-registry-BgGVB3kW.js → plugin-registry-DSG-0min.js} +3 -3
  137. package/dist/{plugin-registry-CP2mbhwk.js → plugin-registry-Dl3HqI5J.js} +1 -1
  138. package/dist/plugin-sdk/agents/{symipulse-timeout.d.ts → idle-timeout.d.ts} +3 -3
  139. package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +0 -2
  140. package/dist/plugin-sdk/agents/system-prompt.d.ts +1 -2
  141. package/dist/plugin-sdk/auto-reply/reply/middleware-transcript-update.d.ts +1 -8
  142. package/dist/plugin-sdk/auto-reply/reply/normalize-reply.d.ts +1 -3
  143. package/dist/plugin-sdk/auto-reply/reply/reply-dispatcher.d.ts +0 -1
  144. package/dist/plugin-sdk/auto-reply/tokens.d.ts +0 -3
  145. package/dist/plugin-sdk/gateway/outbound-filter.d.ts +2 -4
  146. package/dist/{plugins-yymezpEd.js → plugins-CcVzjOo_.js} +1 -1
  147. package/dist/{plugins-cli-1wkCRsFe.js → plugins-cli-CEj-qNus.js} +8 -8
  148. package/dist/{plugins-cli-B_Gtx3LU.js → plugins-cli-CUTyMzoz.js} +52 -52
  149. package/dist/{ports-ChuJYhEL.js → ports-DRHSHvqY.js} +1 -1
  150. package/dist/{ports-EAVAOFyK.js → ports-DqxP-bXz.js} +2 -2
  151. package/dist/{program-UyCr49qs.js → program-CjZ65fN4.js} +13 -13
  152. package/dist/{program-context-C7uCS8z7.js → program-context-GaV454D6.js} +38 -38
  153. package/dist/{prompt-select-styled-DcMra8CK.js → prompt-select-styled-BkowcFQR.js} +36 -36
  154. package/dist/{prompt-select-styled-BRcRFLzB.js → prompt-select-styled-CwXc8EFB.js} +4 -4
  155. package/dist/{provider-auth-helpers-Xn1TAPPY.js → provider-auth-helpers-Bo1_RSEb.js} +5 -5
  156. package/dist/{provider-auth-helpers-BJTb9xI0.js → provider-auth-helpers-CRobCJR_.js} +1 -1
  157. package/dist/{push-apns-Aaqf9WKI.js → push-apns-BBym2pAw.js} +4 -4
  158. package/dist/{push-apns-Bfqnchj6.js → push-apns-Bv16DYOL.js} +1 -1
  159. package/dist/{pw-ai-C-ddUgTA.js → pw-ai-BW5obXRK.js} +7 -7
  160. package/dist/{pw-ai-DJrnU1ja.js → pw-ai-GICi0s74.js} +8 -8
  161. package/dist/{qmd-manager-D5kqCz-Y.js → qmd-manager-C-J9Sfjk.js} +19 -19
  162. package/dist/{qmd-manager-DrM6m9z1.js → qmd-manager-CTHJcHPq.js} +5 -5
  163. package/dist/{qr-cli-B_mw4i0R.js → qr-cli-BIdgVMK1.js} +3 -3
  164. package/dist/{register.agent-vAJ0_4m0.js → register.agent-QXqsCc-q.js} +12 -12
  165. package/dist/{register.agent-BqKNzdaW.js → register.agent-z4GJgPr-.js} +65 -65
  166. package/dist/{register.configure-BzgavjpU.js → register.configure-CYXErdjF.js} +11 -11
  167. package/dist/{register.configure-7TmTqCgU.js → register.configure-DaMmDTaj.js} +68 -68
  168. package/dist/{register.maintenance-BJO0RCk9.js → register.maintenance-CBGhJ5R9.js} +12 -12
  169. package/dist/{register.maintenance-6Wz4HXlm.js → register.maintenance-CcWTycM4.js} +65 -65
  170. package/dist/{register.message-XYivyrQJ.js → register.message-Bcvdcd3v.js} +45 -45
  171. package/dist/{register.message-CW9PahRi.js → register.message-EMkIi8Ga.js} +8 -8
  172. package/dist/{register.onboard-BgwkmP4D.js → register.onboard-CtcLKgR4.js} +22 -22
  173. package/dist/{register.onboard-MWRC29wD.js → register.onboard-lmLaYYZl.js} +2 -2
  174. package/dist/{register.setup-V-arsKvb.js → register.setup-Cu8R_HaH.js} +2 -2
  175. package/dist/{register.setup-7OoAqQG_.js → register.setup-D47FYXH2.js} +25 -25
  176. package/dist/{register.status-health-sessions-1VnuXhGM.js → register.status-health-sessions--q6ddHX9.js} +3 -3
  177. package/dist/{register.status-health-sessions-Bgg1sdY_.js → register.status-health-sessions-B9CINBWm.js} +38 -38
  178. package/dist/{register.subclis-DpPYIqkP.js → register.subclis-CHTY5PYx.js} +9 -9
  179. package/dist/{registry-9AaJQms1.js → registry-C-JddWwo.js} +2 -2
  180. package/dist/{replies-CgVOirGF.js → replies-BOy28KVL.js} +1 -1
  181. package/dist/{replies-pnMj7AtP.js → replies-BeK3uuQ8.js} +1 -1
  182. package/dist/{replies-BZN1LuJP.js → replies-C82xaXm3.js} +3 -3
  183. package/dist/{replies-Dqft-42v.js → replies-P7jbK6Bo.js} +2 -2
  184. package/dist/{reply-prefix-DkDTGwTs.js → reply-prefix-ChIeKp-P.js} +1 -1
  185. package/dist/{reply-prefix-CyLplifX.js → reply-prefix-xaWqfM9m.js} +1 -1
  186. package/dist/{resolve-route-CIA0TSsF.js → resolve-route-CIS2tjpz.js} +3 -3
  187. package/dist/{resolve-route-xpyI3enn.js → resolve-route-DKhx5C-P.js} +1 -1
  188. package/dist/{routes-xZZ99jJJ.js → routes-BJ2iXVJF.js} +10 -10
  189. package/dist/{rpc-BzR2wLkc.js → rpc-CSI4uFgj.js} +1 -1
  190. package/dist/{run-main-n0fjk-o5.js → run-main-Bzub4qvZ.js} +20 -20
  191. package/dist/{sandbox-DGG12SGo.js → sandbox-CQU7Gcb9.js} +18 -18
  192. package/dist/{sandbox-cli--d2MJPM2.js → sandbox-cli-Ci90LP_X.js} +13 -13
  193. package/dist/{security-cli-CeP9ss1g.js → security-cli-BfOZ_cJN.js} +28 -28
  194. package/dist/{send-BzUWmgQ9.js → send-BAKkoPOy.js} +7 -7
  195. package/dist/{send-BQJKg0bU.js → send-DulXmWcG.js} +7 -7
  196. package/dist/{server-context-BNbx1tUD.js → server-context-BsMQBnUG.js} +5 -5
  197. package/dist/{server-methods-BHg4GltA.js → server-methods-C2UnIkWU.js} +57 -57
  198. package/dist/{server-methods-DkZ2XtEo.js → server-methods-THO5vDXZ.js} +7 -7
  199. package/dist/{server-node-events-BXviL2UH.js → server-node-events-j4AWHS1m.js} +9 -9
  200. package/dist/{server-node-events-6dZ22EGj.js → server-node-events-mBi614x_.js} +46 -46
  201. package/dist/{service-9ItKCWWS.js → service-AP9pR9R5.js} +15 -15
  202. package/dist/{session-dirs-B6PWqKEf.js → session-dirs-Chh7bBGo.js} +2 -2
  203. package/dist/{session-utils-BVC8mmBv.js → session-utils-0F9pB5d6.js} +12 -12
  204. package/dist/{sessions-BaFVKzC2.js → sessions-DQMaURzb.js} +11 -11
  205. package/dist/{shared-DUmy8R4n.js → shared-4Z8Ut8Cs.js} +3 -3
  206. package/dist/{shared-ot5_jkpP.js → shared-DmYHvtn2.js} +1 -1
  207. package/dist/{skill-commands-DaNhP2Jb.js → skill-commands-Cwrebyvj.js} +5 -5
  208. package/dist/{skill-commands-X3T9Y9lT.js → skill-commands-DP1fshwh.js} +4 -4
  209. package/dist/{skill-scanner-DVq7ZopF.js → skill-scanner-qMQf6-FN.js} +5 -5
  210. package/dist/{skills-BMTJ2Tiq.js → skills-D0k4o0Ez.js} +6 -6
  211. package/dist/{skills-C_KgxpBD.js → skills-DL8DjveU.js} +4 -4
  212. package/dist/{skills-cli-DwYoPwkG.js → skills-cli-BkIH3HKr.js} +7 -7
  213. package/dist/{skills-install-U4FmCP8u.js → skills-install-C9uT4MR2.js} +3 -3
  214. package/dist/{skills-remote-C0gcKYWX.js → skills-remote-Db5Wwr4s.js} +3 -3
  215. package/dist/{skills-status-CdfQvU1h.js → skills-status-Dx3Lf5iU.js} +1 -1
  216. package/dist/{sqlite-C6MZhX4c.js → sqlite--aBEq1-J.js} +1 -1
  217. package/dist/{sqlite-BUXBg2yu.js → sqlite-DBEvS-Ne.js} +5 -5
  218. package/dist/{ssrf-BvjSIOlZ.js → ssrf-Dcgaqg3U.js} +9 -9
  219. package/dist/{status-CmoBgZ99.js → status-BtAHzMLu.js} +1 -1
  220. package/dist/{status-BK-ZK7SP.js → status-BuHx0FXI.js} +23 -23
  221. package/dist/{status-J_gR_zbh.js → status-FKqnkO3K.js} +1 -1
  222. package/dist/{status-BAnT_4qI.js → status-MkJRgsTJ.js} +3 -3
  223. package/dist/{status.update-Cvj7y384.js → status.update-CQ1vKrEg.js} +3 -3
  224. package/dist/{subagent-registry-CWolsN8K.js → subagent-registry-B1RgR3-0.js} +41 -218
  225. package/dist/{subsystem-DhOo2FZn.js → subsystem-DzRUKS9f.js} +1 -1
  226. package/dist/{symi-root-0MUhiNlM.js → symi-root-DueRHNOE.js} +2 -2
  227. package/dist/{synthesis-DTZGPpj5.js → synthesis-BEaISjwW.js} +5 -5
  228. package/dist/{synthesis-BSKiS446.js → synthesis-BSUjIY0v.js} +7 -7
  229. package/dist/{synthesis-CRQp5mTx.js → synthesis-BtlmxJ7w.js} +43 -43
  230. package/dist/{synthesis-D3wZX5g3.js → synthesis-DsYfiC2s.js} +28 -28
  231. package/dist/{system-cli-CUGyogmP.js → system-cli-5_JOcUt0.js} +7 -7
  232. package/dist/{systemd-8KKQdTO_.js → systemd-9LEEqibe.js} +5 -5
  233. package/dist/{systemd-hints-_ghBqtKo.js → systemd-hints-CeavseQh.js} +6 -6
  234. package/dist/{systemd-linger-CnKJZBUr.js → systemd-linger-PqG8iGCt.js} +1 -1
  235. package/dist/{thinking-BYtE7_UC.js → thinking-CMIo8E_E.js} +2 -2
  236. package/dist/{tokens-wW7opugV.js → tokens-BBh6tlmO.js} +2 -5
  237. package/dist/{tokens-DvvjOTxN.js → tokens-BKbemuIk.js} +1 -4
  238. package/dist/{tokens-CGqnWNmv.js → tokens-CJgPtOxz.js} +1 -4
  239. package/dist/{tokens-DJQ4rO24.js → tokens-K3kGchJA.js} +1 -4
  240. package/dist/{tool-loop-detection-DyZ0TWGh.js → tool-loop-detection-BR52lwOt.js} +2 -2
  241. package/dist/{tui-fKWqWqeq.js → tui-Bnusp3Vd.js} +7 -7
  242. package/dist/{tui-cli-BPOcMJ-f.js → tui-cli-BY8W9Yjm.js} +19 -19
  243. package/dist/{unified-runner-DftrstdI.js → unified-runner-BPyxPZv9.js} +75 -248
  244. package/dist/{unified-runner-Cdj1nLUh.js → unified-runner-Bn9vq7Zy.js} +132 -309
  245. package/dist/{update-XJWQZpV7.js → update-BvDXKE6K.js} +3 -3
  246. package/dist/{update-check-BdSIMYWq.js → update-check-CZxZhEXr.js} +5 -5
  247. package/dist/{update-cli-jQo-vg6S.js → update-cli-BXtHo0ox.js} +12 -12
  248. package/dist/{update-cli-D_MLjj6j.js → update-cli-DLx7LNVB.js} +75 -75
  249. package/dist/{update-runner-D_UHlPN0.js → update-runner-C8L4XRQb.js} +15 -15
  250. package/dist/{webhooks-cli-DgRLVVrD.js → webhooks-cli-CXbv4eB6.js} +4 -4
  251. package/dist/{with-timeout-DwVWQ2sN.js → with-timeout-C0UtpXBj.js} +1 -1
  252. package/dist/{workspace-OBnI5mKu.js → workspace-CsaDUuDn.js} +2 -2
  253. package/dist/{workspace-dirs-DStsDXra.js → workspace-dirs-gn_0yzFP.js} +1 -1
  254. package/dist/{wsl-DO9usEVV.js → wsl-ZWGwnnKI.js} +2 -2
  255. package/package.json +1 -1
  256. package/dist/plugin-sdk/auto-reply/heartbeat.d.ts +0 -26
  257. package/dist/plugin-sdk/auto-reply/reply/middleware-heartbeat-strip.d.ts +0 -25
@@ -2,33 +2,33 @@ import { A as isRich, c as normalizeAnyChannelId, j as theme, k as colorize } fr
2
2
  import "./paths-BSzKwaxE.js";
3
3
  import "./utils-BU8jVQFM.js";
4
4
  import { f as defaultRuntime } from "./subsystem-CtH6J8AV.js";
5
- import "./auth-profiles-BVtpxYtY.js";
5
+ import "./auth-profiles-CPlXilKu.js";
6
6
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
7
7
  import { c as resolveAgentIdFromSessionKey, o as normalizeAgentId, r as buildAgentMainSessionKey, s as normalizeMainKey, x as parseAgentSessionKey } from "./session-key-B_ZVH1kE.js";
8
8
  import "./exec-DKyLtSjm.js";
9
- import { r as resolveAgentConfig } from "./agent-scope-BjEBQhs0.js";
9
+ import { r as resolveAgentConfig } from "./agent-scope-B_oqIiaD.js";
10
10
  import "./github-copilot-token-BTNK6Tcd.js";
11
11
  import "./boolean-Wzu0-e0P.js";
12
12
  import "./env-B97Ms861.js";
13
- import { i as loadConfig } from "./config-CW8aDVM0.js";
13
+ import { i as loadConfig } from "./config-CphS_6eg.js";
14
14
  import "./manifest-registry-D7Qup2Vq.js";
15
- import { f as resolveSandboxConfigForAgent, i as removeSandboxContainer, m as resolveSandboxToolPolicyForAgent, n as listSandboxContainers, r as removeSandboxBrowserContainer, t as listSandboxBrowsers } from "./sandbox-DGG12SGo.js";
16
- import "./chrome-NUKborg3.js";
15
+ import { f as resolveSandboxConfigForAgent, i as removeSandboxContainer, m as resolveSandboxToolPolicyForAgent, n as listSandboxContainers, r as removeSandboxBrowserContainer, t as listSandboxBrowsers } from "./sandbox-CQU7Gcb9.js";
16
+ import "./chrome-owBWinlj.js";
17
17
  import "./tailscale-D7dC-5EX.js";
18
18
  import "./auth-BbwD4lRX.js";
19
- import "./server-context-BNbx1tUD.js";
19
+ import "./server-context-BsMQBnUG.js";
20
20
  import "./frontmatter-B6IdJ7UK.js";
21
- import "./skills-C_KgxpBD.js";
22
- import "./routes-xZZ99jJJ.js";
21
+ import "./skills-DL8DjveU.js";
22
+ import "./routes-BJ2iXVJF.js";
23
23
  import "./redact-CSc_2Nka.js";
24
24
  import "./errors-Z-WkF18Q.js";
25
- import "./fs-safe-DjAKGGJ8.js";
26
- import "./paths-DaQrPPet.js";
25
+ import "./fs-safe-B6nMaZqV.js";
26
+ import "./paths-Dc6A9_vI.js";
27
27
  import "./ssrf-CC9kEPCT.js";
28
- import "./image-ops-c7_of0HT.js";
29
- import "./ports-EAVAOFyK.js";
28
+ import "./image-ops-C-gIIp7Q.js";
29
+ import "./ports-DqxP-bXz.js";
30
30
  import "./trash-BjVrPcAx.js";
31
- import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, o as loadSessionStore } from "./sessions-BaFVKzC2.js";
31
+ import { B as resolveAgentMainSessionKey, H as resolveMainSessionKey, o as loadSessionStore } from "./sessions-DQMaURzb.js";
32
32
  import "./dock-CnGWTXL4.js";
33
33
  import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-C_V8IAYx.js";
34
34
  import "./plugins-DuuHorqi.js";
@@ -2,56 +2,56 @@ import { A as isRich, j as theme } from "./registry-DKJLAPDB.js";
2
2
  import { g as resolveStateDir, m as resolveOAuthDir, o as resolveConfigPath } from "./paths-BSzKwaxE.js";
3
3
  import { _ as shortenHomeInString, v as shortenHomePath } from "./utils-BU8jVQFM.js";
4
4
  import { f as defaultRuntime } from "./subsystem-CtH6J8AV.js";
5
- import "./auth-profiles-BVtpxYtY.js";
5
+ import "./auth-profiles-CPlXilKu.js";
6
6
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
7
7
  import { o as normalizeAgentId } from "./session-key-B_ZVH1kE.js";
8
8
  import { n as runExec } from "./exec-DKyLtSjm.js";
9
- import { l as resolveDefaultAgentId } from "./agent-scope-BjEBQhs0.js";
9
+ import { l as resolveDefaultAgentId } from "./agent-scope-B_oqIiaD.js";
10
10
  import "./github-copilot-token-BTNK6Tcd.js";
11
11
  import "./boolean-Wzu0-e0P.js";
12
12
  import "./env-B97Ms861.js";
13
- import { i as loadConfig, r as createConfigIO } from "./config-CW8aDVM0.js";
13
+ import { i as loadConfig, r as createConfigIO } from "./config-CphS_6eg.js";
14
14
  import "./manifest-registry-D7Qup2Vq.js";
15
- import "./sandbox-DGG12SGo.js";
16
- import "./chrome-NUKborg3.js";
15
+ import "./sandbox-CQU7Gcb9.js";
16
+ import "./chrome-owBWinlj.js";
17
17
  import "./tailscale-D7dC-5EX.js";
18
18
  import "./auth-BbwD4lRX.js";
19
- import "./server-context-BNbx1tUD.js";
19
+ import "./server-context-BsMQBnUG.js";
20
20
  import "./frontmatter-B6IdJ7UK.js";
21
- import "./skills-C_KgxpBD.js";
22
- import "./routes-xZZ99jJJ.js";
21
+ import "./skills-DL8DjveU.js";
22
+ import "./routes-BJ2iXVJF.js";
23
23
  import "./redact-CSc_2Nka.js";
24
24
  import "./errors-Z-WkF18Q.js";
25
- import "./fs-safe-DjAKGGJ8.js";
26
- import "./paths-DaQrPPet.js";
25
+ import "./fs-safe-B6nMaZqV.js";
26
+ import "./paths-Dc6A9_vI.js";
27
27
  import "./ssrf-CC9kEPCT.js";
28
- import "./image-ops-c7_of0HT.js";
29
- import "./ports-EAVAOFyK.js";
28
+ import "./image-ops-C-gIIp7Q.js";
29
+ import "./ports-DqxP-bXz.js";
30
30
  import "./trash-BjVrPcAx.js";
31
- import "./sessions-BaFVKzC2.js";
31
+ import "./sessions-DQMaURzb.js";
32
32
  import "./dock-CnGWTXL4.js";
33
33
  import "./message-channel-C_V8IAYx.js";
34
34
  import "./plugins-DuuHorqi.js";
35
35
  import "./paths-CJcw9nbZ.js";
36
36
  import "./commands-B3UrgxIz.js";
37
- import "./client-Bs2zB0rY.js";
38
- import "./call-CdXXPXpo.js";
39
- import "./pairing-token-DorpwP8O.js";
40
- import "./workspace-dirs-DStsDXra.js";
41
- import { i as readChannelAllowFromStore } from "./pairing-store-CxT0UGxd.js";
37
+ import "./client-ZZqt0H0-.js";
38
+ import "./call-Du4CT1Hp.js";
39
+ import "./pairing-token-CURbSHdi.js";
40
+ import "./workspace-dirs-gn_0yzFP.js";
41
+ import { i as readChannelAllowFromStore } from "./pairing-store-mmeniyUt.js";
42
42
  import { t as formatDocsLink } from "./links-CSaUKNKm.js";
43
43
  import { t as formatHelpExamples } from "./help-format-BI_G2p1e.js";
44
- import "./pi-tools.policy-qwS9SXOa.js";
45
- import "./skill-scanner-DVq7ZopF.js";
46
- import { a as collectIncludePathsRecursive, i as formatIcaclsResetCommand, r as createIcaclsResetCommand, t as runSecurityAudit } from "./audit-DQ_p2Pbq.js";
47
- import "./dm-policy-shared-CnKffdt_.js";
44
+ import "./pi-tools.policy-BBHbN8Nh.js";
45
+ import "./skill-scanner-qMQf6-FN.js";
46
+ import { a as collectIncludePathsRecursive, i as formatIcaclsResetCommand, r as createIcaclsResetCommand, t as runSecurityAudit } from "./audit-B_HL4UJ_.js";
47
+ import "./dm-policy-shared-C1TQOlkZ.js";
48
48
  import path from "node:path";
49
- import fsPromises from "node:fs/promises";
49
+ import fs from "node:fs/promises";
50
50
 
51
51
  //#region src/security/fix.ts
52
52
  async function safeChmod(params) {
53
53
  try {
54
- const st = await fsPromises.lstat(params.path);
54
+ const st = await fs.lstat(params.path);
55
55
  if (st.isSymbolicLink()) return {
56
56
  kind: "chmod",
57
57
  path: params.path,
@@ -80,7 +80,7 @@ async function safeChmod(params) {
80
80
  ok: false,
81
81
  skipped: "already"
82
82
  };
83
- await fsPromises.chmod(params.path, params.mode);
83
+ await fs.chmod(params.path, params.mode);
84
84
  return {
85
85
  kind: "chmod",
86
86
  path: params.path,
@@ -110,7 +110,7 @@ async function safeAclReset(params) {
110
110
  env: params.env
111
111
  });
112
112
  try {
113
- const st = await fsPromises.lstat(params.path);
113
+ const st = await fs.lstat(params.path);
114
114
  if (st.isSymbolicLink()) return {
115
115
  kind: "icacls",
116
116
  path: params.path,
@@ -248,7 +248,7 @@ async function chmodCredentialsAndAgentState(params) {
248
248
  mode: 448,
249
249
  require: "dir"
250
250
  }));
251
- const credsEntries = await fsPromises.readdir(credsDir, { withFileTypes: true }).catch(() => []);
251
+ const credsEntries = await fs.readdir(credsDir, { withFileTypes: true }).catch(() => []);
252
252
  for (const entry of credsEntries) {
253
253
  if (!entry.isFile()) continue;
254
254
  if (!entry.name.endsWith(".json")) continue;
@@ -299,7 +299,7 @@ async function chmodCredentialsAndAgentState(params) {
299
299
  mode: 384,
300
300
  require: "file"
301
301
  }));
302
- const sessionEntries = await fsPromises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
302
+ const sessionEntries = await fs.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
303
303
  for (const entry of sessionEntries) {
304
304
  if (!entry.isFile()) continue;
305
305
  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-DKJLAPDB.js";
3
3
  import { h as resolveUserPath } from "./utils-BU8jVQFM.js";
4
- import { i as loadConfig } from "./config-CW8aDVM0.js";
5
- import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DjAKGGJ8.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-c7_of0HT.js";
4
+ import { i as loadConfig } from "./config-CphS_6eg.js";
5
+ import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-B6nMaZqV.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-C-gIIp7Q.js";
7
7
  import { a as resolveSlackAccount, c as resolveSlackBotToken } from "./plugins-DuuHorqi.js";
8
8
  import { a as chunkText, c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-DQGU0F8t.js";
9
9
  import { n as resolveMarkdownTableMode } from "./markdown-tables-GTLvbzuR.js";
10
10
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DG6T0ZdL.js";
11
- import { n as getDefaultMediaLocalRoots } from "./local-roots-CTriU02e.js";
11
+ import { n as getDefaultMediaLocalRoots } from "./local-roots-JhQs5w0I.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,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { C as logVerbose, E as shouldLogVerbose, Y as resolveUserPath } from "./registry-9AaJQms1.js";
3
- import { S as logWarn } from "./workspace-OBnI5mKu.js";
4
- import { a as resolvePinnedHostnameWithPolicy, c as loadConfig, n as closeDispatcher, r as createPinnedDispatcher, t as SsrFBlockedError } from "./ssrf-BvjSIOlZ.js";
5
- import { S as readLocalFileSafely, a as convertHeicToJpeg, b as SafeOpenError, c as optimizeImageToPng, d as extensionForMime, l as resizeToJpeg, n as getDefaultMediaLocalRoots, s as hasAlphaChannel, u as detectMime, v as maxBytesForKind, y as mediaKindFromMime } from "./local-roots-Dm8-ErgQ.js";
6
- import { a as chunkText, c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-DX6VtywY.js";
7
- import { i as resolveSlackAccount, s as resolveSlackBotToken } from "./plugins-yymezpEd.js";
8
- import { n as resolveMarkdownTableMode } from "./markdown-tables-BaWa2kOe.js";
2
+ import { C as logVerbose, E as shouldLogVerbose, Y as resolveUserPath } from "./registry-C-JddWwo.js";
3
+ import { S as logWarn } from "./workspace-CsaDUuDn.js";
4
+ import { a as resolvePinnedHostnameWithPolicy, c as loadConfig, n as closeDispatcher, r as createPinnedDispatcher, t as SsrFBlockedError } from "./ssrf-Dcgaqg3U.js";
5
+ import { S as readLocalFileSafely, a as convertHeicToJpeg, b as SafeOpenError, c as optimizeImageToPng, d as extensionForMime, l as resizeToJpeg, n as getDefaultMediaLocalRoots, s as hasAlphaChannel, u as detectMime, v as maxBytesForKind, y as mediaKindFromMime } from "./local-roots-WWcVq0Ma.js";
6
+ import { a as chunkText, c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-5H33X8qU.js";
7
+ import { i as resolveSlackAccount, s as resolveSlackBotToken } from "./plugins-CcVzjOo_.js";
8
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-ptfgMe6b.js";
9
9
  import path from "node:path";
10
10
  import fs from "node:fs/promises";
11
11
  import { fileURLToPath } from "node:url";
@@ -1,6 +1,6 @@
1
1
  import { u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
2
- import { i as loadConfig, l as writeConfigFile, r as createConfigIO } from "./config-CW8aDVM0.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-NUKborg3.js";
2
+ import { i as loadConfig, l as writeConfigFile, r as createConfigIO } from "./config-CphS_6eg.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-owBWinlj.js";
4
4
  import { r as isLoopbackHost } from "./ws-CahTJvD6.js";
5
5
  import { a as resolveGatewayAuth } from "./auth-BbwD4lRX.js";
6
6
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-Z-WkF18Q.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-C-ddUgTA.js");
155
+ return await import("./pw-ai-BW5obXRK.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-C-ddUgTA.js")).closePlaywrightBrowserConnection();
778
+ await (await import("./pw-ai-BW5obXRK.js")).closePlaywrightBrowserConnection();
779
779
  } catch {}
780
780
  if (profileState.running) await stopRunningBrowser();
781
781
  try {
782
- await (await import("./pw-ai-C-ddUgTA.js")).closePlaywrightBrowserConnection();
782
+ await (await import("./pw-ai-BW5obXRK.js")).closePlaywrightBrowserConnection();
783
783
  } catch {}
784
784
  if (!fs.existsSync(userDataDir)) return {
785
785
  moved: false,
@@ -1,59 +1,59 @@
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, Qt as clearSessionQueues, Rt as stopSubagentsForRequester, Ut as listSubagentRunsForRequester, an as abortEmbeddedPiRun, b as buildAgentTurnParams, bt as applyVerboseOverride, et as persistBrowserProxyFiles, f as getChannelActivity, g as buildGlassUiProfile, m as createReplyDispatcher, mn as resolveUserTimezone, mt as resolveSendPolicy, nn as onAgentEvent, ot as scheduleGatewaySigusr1Restart, pt as normalizeSendPolicy, rn as registerAgentRunContext, s as loadSymiPlugins, sn as waitForEmbeddedPiRunEnd, x as prepareReplyTurn, xt as parseVerboseOverride, y as runUnifiedTurn, yt as applyModelOverrideToSessionEntry } from "./unified-runner-Cdj1nLUh.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-Bn9vq7Zy.js";
2
2
  import { H as createInternalHookEvent, P as getResolvedLoggerSettings, W as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-DKJLAPDB.js";
3
3
  import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-BSzKwaxE.js";
4
4
  import { S as isPlainObject, h as resolveUserPath, n as clamp } from "./utils-BU8jVQFM.js";
5
5
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
6
- import { Et as normalizeSecretInput, G as resolveSubagentConfiguredModelSelection, H as resolveDefaultModelForAgent, q as resolveThinkingDefault, z as resolveAllowedModelRef } from "./auth-profiles-BVtpxYtY.js";
6
+ import { Et as normalizeSecretInput, G as resolveSubagentConfiguredModelSelection, H as resolveDefaultModelForAgent, q as resolveThinkingDefault, z as resolveAllowedModelRef } from "./auth-profiles-CPlXilKu.js";
7
7
  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-B_ZVH1kE.js";
8
- import { t as resolveSymiPackageRoot } from "./symi-root-0MUhiNlM.js";
9
- 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-BjEBQhs0.js";
10
- 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, o as readConfigFileSnapshot, p as sensitive, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins, w as applyMergePatch } from "./config-CW8aDVM0.js";
8
+ import { t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
9
+ 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-B_oqIiaD.js";
10
+ 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, o as readConfigFileSnapshot, p as sensitive, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins, w as applyMergePatch } from "./config-CphS_6eg.js";
11
11
  import { c as pickPrimaryLanIPv4 } from "./ws-CahTJvD6.js";
12
- import { i as loadWorkspaceSkillEntries } from "./skills-C_KgxpBD.js";
12
+ import { i as loadWorkspaceSkillEntries } from "./skills-DL8DjveU.js";
13
13
  import { t as movePathToTrash } from "./trash-BjVrPcAx.js";
14
- 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-BaFVKzC2.js";
14
+ 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-DQMaURzb.js";
15
15
  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-C_V8IAYx.js";
16
16
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
17
17
  import { c as resolveStorePath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-CJcw9nbZ.js";
18
18
  import { i as normalizeInputProvenance } from "./input-provenance-DsLesw6T.js";
19
19
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-177f26eg.js";
20
- import { h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DZ7ynJYH.js";
20
+ import { h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-63FtOVMC.js";
21
21
  import { i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, t as discoverAllSessions } from "./session-cost-usage-DYcv40ss.js";
22
- 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-BVC8mmBv.js";
23
- import { n as createBrowserRouteDispatcher } from "./with-timeout-DwVWQ2sN.js";
24
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-CyLplifX.js";
25
- import { t as getMemorySearchManager } from "./memory-DcWXMzOH.js";
26
- import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as validateWebLoginWaitParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateSkillsUpdateParams, D as validateCronRemoveParams, Dt as validateUpdateRunParams, E as validateCronListParams, Et as validateTasksListParams, F as validateDevicePairRemoveParams, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, I as validateDeviceTokenRevokeParams, It as ErrorCodes, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as errorShape, M as validateDevicePairApproveParams, Mt as validateWizardNextParams, N as validateDevicePairListParams, Nt as validateWizardStartParams, O as validateCronRunParams, Ot as validateWakeParams, P as validateDevicePairRejectParams, Pt as validateWizardStatusParams, Q as validateNodePairListParams, S as validateConfigSchemaParams, St as validateSkillsStatusParams, T as validateCronAddParams, Tt as validateTalkModeParams, U as validateExecApprovalsSetParams, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSessionsRestoreParams, a as validateAgentWaitParams, b as validateConfigGetParams, bt as validateSkillsBinsParams, c as validateAgentsFilesGetParams, ct as validateSessionsCompactParams, d as validateAgentsListParams, dt as validateSessionsFavoriteFileParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsListParams, g as validateChatHistoryParams, gt as validateSessionsResolveParams, h as validateChatAbortParams, ht as validateSessionsResetParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardCancelParams, k as validateCronRunsParams, kt as validateWebLoginStartParams, l as validateAgentsFilesListParams, lt as validateSessionsDeleteFileParams, m as validateChannelsStatusParams, mt as validateSessionsPreviewParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsPatchParams, q as validateNodeEventParams, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsAdoptFileParams, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSessionsSearchParams, wt as validateTalkConfigParams, x as validateConfigPatchParams, xt as validateSkillsInstallParams, y as validateConfigApplyParams, yt as validateSessionsUsageParams, zt as parseSessionLabel } from "./client-Bs2zB0rY.js";
27
- import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-CdXXPXpo.js";
28
- import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-DorpwP8O.js";
29
- 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-C0gcKYWX.js";
30
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-DStsDXra.js";
22
+ 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-0F9pB5d6.js";
23
+ import { n as createBrowserRouteDispatcher } from "./with-timeout-C0UtpXBj.js";
24
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-xaWqfM9m.js";
25
+ import { t as getMemorySearchManager } from "./memory-2OKjMT7V.js";
26
+ import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as validateWebLoginWaitParams, B as validateExecApprovalsGetParams, C as validateConfigSetParams, Ct as validateSkillsUpdateParams, D as validateCronRemoveParams, Dt as validateUpdateRunParams, E as validateCronListParams, Et as validateTasksListParams, F as validateDevicePairRemoveParams, G as validateModelsListParams, Gt as rejectDevicePairing, H as validateExecApprovalsNodeSetParams, I as validateDeviceTokenRevokeParams, It as ErrorCodes, J as validateNodeInvokeParams, Jt as revokeDeviceToken, K as validateNodeDescribeParams, Kt as removePairedDevice, L as validateDeviceTokenRotateParams, Lt as errorShape, M as validateDevicePairApproveParams, Mt as validateWizardNextParams, N as validateDevicePairListParams, Nt as validateWizardStartParams, O as validateCronRunParams, Ot as validateWakeParams, P as validateDevicePairRejectParams, Pt as validateWizardStatusParams, Q as validateNodePairListParams, S as validateConfigSchemaParams, St as validateSkillsStatusParams, T as validateCronAddParams, Tt as validateTalkModeParams, U as validateExecApprovalsSetParams, V as validateExecApprovalsNodeGetParams, Vt as approveDevicePairing, W as validateLogsTailParams, Wt as listDevicePairing, X as validateNodeListParams, Xt as summarizeDeviceTokens, Y as validateNodeInvokeResultParams, Yt as rotateDeviceToken, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSessionsRestoreParams, a as validateAgentWaitParams, b as validateConfigGetParams, bt as validateSkillsBinsParams, c as validateAgentsFilesGetParams, ct as validateSessionsCompactParams, d as validateAgentsListParams, dt as validateSessionsFavoriteFileParams, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsListParams, g as validateChatHistoryParams, gt as validateSessionsResolveParams, h as validateChatAbortParams, ht as validateSessionsResetParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as validateWizardCancelParams, k as validateCronRunsParams, kt as validateWebLoginStartParams, l as validateAgentsFilesListParams, lt as validateSessionsDeleteFileParams, m as validateChannelsStatusParams, mt as validateSessionsPreviewParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsPatchParams, q as validateNodeEventParams, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsAdoptFileParams, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsDeleteParams, v as validateChatSendParams, vt as validateSessionsSearchParams, wt as validateTalkConfigParams, x as validateConfigPatchParams, xt as validateSkillsInstallParams, y as validateConfigApplyParams, yt as validateSessionsUsageParams, zt as parseSessionLabel } from "./client-ZZqt0H0-.js";
27
+ import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-Du4CT1Hp.js";
28
+ import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-CURbSHdi.js";
29
+ 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-Db5Wwr4s.js";
30
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-gn_0yzFP.js";
31
31
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals } from "./exec-approvals-CZOc8M5w.js";
32
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Drd2sr2o.js";
32
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-CMVDL3Yl.js";
33
33
  import { i as parseAbsoluteTimeMs } from "./stagger-BhvnarfO.js";
34
- import { n as createOutboundSendDeps } from "./deps-i1g0Zpz4.js";
34
+ import { n as createOutboundSendDeps } from "./deps-DD_ZCq3v.js";
35
35
  import { t as buildChannelUiCatalog } from "./catalog-BEREnWaa.js";
36
- import { t as buildWorkspaceSkillStatus } from "./skills-status-CdfQvU1h.js";
36
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-Dx3Lf5iU.js";
37
37
  import { t as WizardCancelledError } from "./prompts-CPtDKw-j.js";
38
38
  import { t as resolveChannelDefaultAccountId } from "./helpers-BBypnAYf.js";
39
39
  import { t as buildChannelAccountSnapshot } from "./status-DvTRhxOu.js";
40
- import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-DZKHFY2J.js";
41
- import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-DQ_p2Pbq.js";
42
- import { n as getStatusSummary } from "./status-BK-ZK7SP.js";
43
- import { m as normalizeUpdateChannel } from "./update-check-BdSIMYWq.js";
44
- 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-Aaqf9WKI.js";
45
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-DeLysRUa.js";
46
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-BFKM-a83.js";
40
+ import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-D2mWJnFB.js";
41
+ import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-B_HL4UJ_.js";
42
+ import { n as getStatusSummary } from "./status-BuHx0FXI.js";
43
+ import { m as normalizeUpdateChannel } from "./update-check-CZxZhEXr.js";
44
+ 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-BBym2pAw.js";
45
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-M9EC02CI.js";
46
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-B_LFeRQS.js";
47
47
  import { t as resolveSystemRunCommand } from "./system-run-command-QikSIqYG.js";
48
- import { t as installSkill } from "./skills-install-U4FmCP8u.js";
49
- import { t as runGatewayUpdate } from "./update-runner-D_UHlPN0.js";
48
+ import { t as installSkill } from "./skills-install-C9uT4MR2.js";
49
+ import { t as runGatewayUpdate } from "./update-runner-C8L4XRQb.js";
50
50
  import crypto, { randomUUID } from "node:crypto";
51
51
  import path from "node:path";
52
- import * as fs$1 from "node:fs";
52
+ import * as fs$2 from "node:fs";
53
53
  import fs from "node:fs";
54
54
  import * as os$1 from "node:os";
55
55
  import os from "node:os";
56
- import fsPromises from "node:fs/promises";
56
+ import fs$1 from "node:fs/promises";
57
57
  import { spawnSync } from "node:child_process";
58
58
  import { z } from "zod";
59
59
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
@@ -414,20 +414,20 @@ function resolveCronRunLogPath(params) {
414
414
  }
415
415
  const writesByPath = /* @__PURE__ */ new Map();
416
416
  async function pruneIfNeeded(filePath, opts) {
417
- const stat = await fsPromises.stat(filePath).catch(() => null);
417
+ const stat = await fs$1.stat(filePath).catch(() => null);
418
418
  if (!stat || stat.size <= opts.maxBytes) return;
419
- const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
419
+ const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
420
420
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
421
421
  const { randomBytes } = await import("node:crypto");
422
422
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
423
- await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
424
- await fsPromises.rename(tmp, filePath);
423
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
424
+ await fs$1.rename(tmp, filePath);
425
425
  }
426
426
  async function appendCronRunLog(filePath, entry, opts) {
427
427
  const resolved = path.resolve(filePath);
428
428
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
429
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
430
- await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
429
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
430
+ await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
431
431
  await pruneIfNeeded(resolved, {
432
432
  maxBytes: opts?.maxBytes ?? 2e6,
433
433
  keepLines: opts?.keepLines ?? 2e3
@@ -439,7 +439,7 @@ async function appendCronRunLog(filePath, entry, opts) {
439
439
  async function readCronRunLogEntries(filePath, opts) {
440
440
  const limit = Math.max(1, Math.min(5e3, Math.floor(opts?.limit ?? 200)));
441
441
  const jobId = opts?.jobId?.trim() || void 0;
442
- const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
442
+ const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
443
443
  if (!raw.trim()) return [];
444
444
  const parsed = [];
445
445
  const lines = raw.split("\n");
@@ -2951,7 +2951,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
2951
2951
  }
2952
2952
  async function statFile(filePath) {
2953
2953
  try {
2954
- const stat = await fsPromises.stat(filePath);
2954
+ const stat = await fs$1.stat(filePath);
2955
2955
  if (!stat.isFile()) return null;
2956
2956
  return {
2957
2957
  size: stat.size,
@@ -3021,7 +3021,7 @@ function resolveOptionalStringParam(value) {
3021
3021
  async function moveToTrashBestEffort(pathname) {
3022
3022
  if (!pathname) return;
3023
3023
  try {
3024
- await fsPromises.access(pathname);
3024
+ await fs$1.access(pathname);
3025
3025
  } catch {
3026
3026
  return;
3027
3027
  }
@@ -3068,7 +3068,7 @@ const agentsHandlers = {
3068
3068
  dir: workspaceDir,
3069
3069
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
3070
3070
  });
3071
- await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
3071
+ await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
3072
3072
  await writeConfigFile(nextConfig);
3073
3073
  const safeName = sanitizeIdentityLine(rawName);
3074
3074
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -3081,7 +3081,7 @@ const agentsHandlers = {
3081
3081
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
3082
3082
  ""
3083
3083
  ];
3084
- await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
3084
+ await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
3085
3085
  respond(true, {
3086
3086
  ok: true,
3087
3087
  agentId,
@@ -3116,9 +3116,9 @@ const agentsHandlers = {
3116
3116
  });
3117
3117
  if (avatar) {
3118
3118
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
3119
- await fsPromises.mkdir(workspace, { recursive: true });
3119
+ await fs$1.mkdir(workspace, { recursive: true });
3120
3120
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
3121
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
3121
+ await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
3122
3122
  }
3123
3123
  respond(true, {
3124
3124
  ok: true,
@@ -3201,7 +3201,7 @@ const agentsHandlers = {
3201
3201
  }, void 0);
3202
3202
  return;
3203
3203
  }
3204
- const content = await fsPromises.readFile(filePath, "utf-8");
3204
+ const content = await fs$1.readFile(filePath, "utf-8");
3205
3205
  respond(true, {
3206
3206
  agentId,
3207
3207
  workspace: workspaceDir,
@@ -3223,10 +3223,10 @@ const agentsHandlers = {
3223
3223
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
3224
3224
  if (!resolved) return;
3225
3225
  const { agentId, workspaceDir, name } = resolved;
3226
- await fsPromises.mkdir(workspaceDir, { recursive: true });
3226
+ await fs$1.mkdir(workspaceDir, { recursive: true });
3227
3227
  const filePath = path.join(workspaceDir, name);
3228
3228
  const content = String(params.content ?? "");
3229
- await fsPromises.writeFile(filePath, content, "utf-8");
3229
+ await fs$1.writeFile(filePath, content, "utf-8");
3230
3230
  const meta = await statFile(filePath);
3231
3231
  respond(true, {
3232
3232
  ok: true,
@@ -6486,7 +6486,7 @@ const docsHandlers = { "docs.get": async ({ params, respond }) => {
6486
6486
  const fullPath = path.join(packageRoot, relPath);
6487
6487
  let markdown;
6488
6488
  try {
6489
- markdown = await fsPromises.readFile(fullPath, "utf-8");
6489
+ markdown = await fs$1.readFile(fullPath, "utf-8");
6490
6490
  } catch (err) {
6491
6491
  if (err?.code === "ENOENT") {
6492
6492
  respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, `docs file not bundled in this Symi install: ${relPath}`));
@@ -6637,14 +6637,14 @@ function isRollingLogFile(file) {
6637
6637
  return ROLLING_LOG_RE.test(path.basename(file));
6638
6638
  }
6639
6639
  async function resolveLogFile(file) {
6640
- if (await fsPromises.stat(file).catch(() => null)) return file;
6640
+ if (await fs$1.stat(file).catch(() => null)) return file;
6641
6641
  if (!isRollingLogFile(file)) return file;
6642
6642
  const dir = path.dirname(file);
6643
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
6643
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
6644
6644
  if (!entries) return file;
6645
6645
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
6646
6646
  const fullPath = path.join(dir, entry.name);
6647
- const fileStat = await fsPromises.stat(fullPath).catch(() => null);
6647
+ const fileStat = await fs$1.stat(fullPath).catch(() => null);
6648
6648
  return fileStat ? {
6649
6649
  path: fullPath,
6650
6650
  mtimeMs: fileStat.mtimeMs
@@ -6652,7 +6652,7 @@ async function resolveLogFile(file) {
6652
6652
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
6653
6653
  }
6654
6654
  async function readLogSlice(params) {
6655
- const stat = await fsPromises.stat(params.file).catch(() => null);
6655
+ const stat = await fs$1.stat(params.file).catch(() => null);
6656
6656
  if (!stat) return {
6657
6657
  cursor: 0,
6658
6658
  size: 0,
@@ -6690,7 +6690,7 @@ async function readLogSlice(params) {
6690
6690
  truncated,
6691
6691
  reset
6692
6692
  };
6693
- const handle = await fsPromises.open(params.file, "r");
6693
+ const handle = await fs$1.open(params.file, "r");
6694
6694
  try {
6695
6695
  let prefix = "";
6696
6696
  if (start > 0) {
@@ -7491,7 +7491,7 @@ const nodeHandlers = {
7491
7491
  const p = params;
7492
7492
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7493
7493
  await respondUnavailableOnThrow(respond, async () => {
7494
- const { handleNodeEvent } = await import("./server-node-events-6dZ22EGj.js");
7494
+ const { handleNodeEvent } = await import("./server-node-events-mBi614x_.js");
7495
7495
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7496
7496
  await handleNodeEvent({
7497
7497
  deps: context.deps,
@@ -8010,7 +8010,7 @@ function broadcastPresenceSnapshot(params) {
8010
8010
  let _prevCpu = null;
8011
8011
  function getCpuPercent() {
8012
8012
  try {
8013
- const parts = fs$1.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
8013
+ const parts = fs$2.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
8014
8014
  const [, , , idle, iowait] = parts;
8015
8015
  const total = parts.reduce((a, b) => a + b, 0);
8016
8016
  const active = total - idle - (iowait || 0);
@@ -8034,7 +8034,7 @@ function getCpuPercent() {
8034
8034
  }
8035
8035
  function getMemInfo() {
8036
8036
  try {
8037
- const text = fs$1.readFileSync("/proc/meminfo", "utf8");
8037
+ const text = fs$2.readFileSync("/proc/meminfo", "utf8");
8038
8038
  const get = (key) => parseInt(text.match(new RegExp(`${key}:\\s+(\\d+)`))?.[1] ?? "0", 10) * 1024;
8039
8039
  const total = get("MemTotal");
8040
8040
  const used = total - get("MemAvailable");
@@ -8053,7 +8053,7 @@ function getMemInfo() {
8053
8053
  }
8054
8054
  function getDiskInfo() {
8055
8055
  try {
8056
- const stats = fs$1.statfsSync("/");
8056
+ const stats = fs$2.statfsSync("/");
8057
8057
  const total = stats.blocks * stats.bsize;
8058
8058
  const used = total - stats.bfree * stats.bsize;
8059
8059
  return {
@@ -12,16 +12,16 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
12
12
  import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Bnr7QjVF.js";
13
13
  import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
14
14
  import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
15
- import { $ as normalizeCronJobCreate, B as ensureOutboundSessionEntry, Bt as applyModelOverrideToSessionEntry, C as buildGlassUiProfile, Dn as registerAgentRunContext, E as abortEmbeddedPiRun, En as onAgentEvent, 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, V as resolveOutboundSessionRoute, Vt as applyVerboseOverride, W as normalizePollInput, _t as applyBrowserProxyPaths, a as listSubagentRunsForRequester, an as normalizeGroupActivation, c as clearSessionQueues, cn as isAbortTrigger, en as resolveAgentTimeoutMs, et as normalizeCronJobPatch, i as listDescendantRunsForRequester, ln as stopSubagentsForRequester, m as loadSymiPlugins, mn as resolveUserTimezone, nn as BARE_SESSION_RESET_PROMPT, sn as formatZonedTimestamp, tn as prepareAgentRun, vt as persistBrowserProxyFiles, w as runUnifiedTurn, x as createReplyDispatcher, y as getChannelActivity } from "./subagent-registry-CWolsN8K.js";
15
+ 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-B1RgR3-0.js";
16
16
  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-7jk0D1BI.js";
17
17
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-Bq-Msc8Z.js";
18
18
  import { n as createBrowserRouteDispatcher } from "./with-timeout-BsavN1IH.js";
19
- import { h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-CRqS1O8w.js";
19
+ import { h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DcP6aVt4.js";
20
20
  import { t as movePathToTrash } from "./trash-CF1G530Y.js";
21
21
  import { c as resolveStorePath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-CNexk5_o.js";
22
22
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-BDh5LPh-.js";
23
23
  import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-CRdCnS44.js";
24
- import { t as getMemorySearchManager } from "./memory-B7TJXpqS.js";
24
+ import { t as getMemorySearchManager } from "./memory-CMKSFx1T.js";
25
25
  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-DEkSSz2R.js";
26
26
  import { g as isSystemEventContextChanged, h as enqueueSystemEvent, i as formatDoctorNonInteractiveHint, l as writeRestartSentinel, u as loadProviderUsageSummary } from "./redact-identifier-gZfj5mH2.js";
27
27
  import { t as listAgentWorkspaceDirs } from "./workspace-dirs-B6EAh6SV.js";
@@ -36,11 +36,11 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-DlWXcOEI.js";
36
36
  import { t as buildChannelAccountSnapshot } from "./status-C8iyvxFB.js";
37
37
  import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-LbRPhqLj.js";
38
38
  import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-DEXQlMwn.js";
39
- import { r as getStatusSummary } from "./status-J_gR_zbh.js";
39
+ import { r as getStatusSummary } from "./status-FKqnkO3K.js";
40
40
  import { r as createOutboundSendDeps } from "./outbound-send-deps-WKDU2JsO.js";
41
41
  import { m as normalizeUpdateChannel } from "./update-check-C1JNxsic.js";
42
- 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-Bfqnchj6.js";
43
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-BI1-UXxQ.js";
42
+ 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-Bv16DYOL.js";
43
+ import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-9zPi5Bip.js";
44
44
  import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-RCL-IJds.js";
45
45
  import { t as resolveSystemRunCommand } from "./system-run-command-CkyUAE3i.js";
46
46
  import { t as installSkill } from "./skills-install-BMhIk6vI.js";
@@ -7489,7 +7489,7 @@ const nodeHandlers = {
7489
7489
  const p = params;
7490
7490
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7491
7491
  await respondUnavailableOnThrow(respond, async () => {
7492
- const { handleNodeEvent } = await import("./server-node-events-BXviL2UH.js");
7492
+ const { handleNodeEvent } = await import("./server-node-events-j4AWHS1m.js");
7493
7493
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7494
7494
  await handleNodeEvent({
7495
7495
  deps: context.deps,