@symerian/symi 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/dist/{agent-B2IkIBj2.js → agent-BI1-UXxQ.js} +1 -1
  2. package/dist/{agent-BrIHHGnC.js → agent-DeLysRUa.js} +29 -29
  3. package/dist/{agent-scope-2la27US0.js → agent-scope-BjEBQhs0.js} +23 -23
  4. package/dist/{agent-scope-D_MtsuXX.js → agent-scope-DE5eEsvh.js} +2 -2
  5. package/dist/{agents-B57SUSPt.js → agents-BMRZpxNt.js} +2 -2
  6. package/dist/{agents.config-COMcEDAk.js → agents.config-BFKM-a83.js} +3 -3
  7. package/dist/{audit-B58SlbPa.js → audit-DQ_p2Pbq.js} +34 -34
  8. package/dist/{auth-CC9_WXMi.js → auth-BbwD4lRX.js} +3 -3
  9. package/dist/{auth-choice-B6iYCDVN.js → auth-choice-BGZsmh6a.js} +9 -9
  10. package/dist/{auth-choice-Z1qCZxwg.js → auth-choice-T77Ymi34.js} +1 -1
  11. package/dist/{auth-profiles-CZTGpbyT.js → auth-profiles-B6ISm3Th.js} +5 -5
  12. package/dist/{auth-profiles-8vSEr9B4.js → auth-profiles-BVtpxYtY.js} +17 -17
  13. package/dist/{auth-token-DpYUPTNG.js → auth-token-CPluo60n.js} +3 -3
  14. package/dist/{banner-QsnCDxXH.js → banner-BJHky-bq.js} +1 -1
  15. package/dist/{bindings-CiRAK4tH.js → bindings-9LSA3Jr1.js} +2 -2
  16. package/dist/{bonjour-discovery-lp5P_YUR.js → bonjour-discovery-CU1mz7AC.js} +3 -3
  17. package/dist/{browser-cli-_9G3GBJS.js → browser-cli-O7Ic8DI3.js} +28 -28
  18. package/dist/build-info.json +3 -3
  19. package/dist/bundled/boot-md/handler.js +34 -34
  20. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  21. package/dist/bundled/session-memory/handler.js +33 -33
  22. package/dist/{call-DLBaLOHo.js → call-CdXXPXpo.js} +13 -13
  23. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  24. package/dist/{catalog-CNZxYA15.js → catalog-BEREnWaa.js} +4 -4
  25. package/dist/{channel-options-DckWOMWG.js → channel-options-BrDTgiiV.js} +5 -5
  26. package/dist/{channel-options-Cj-xJAMD.js → channel-options-C1yi5h7A.js} +1 -1
  27. package/dist/{channel-selection-BGtIUbFL.js → channel-selection-BvIcXQLj.js} +2 -2
  28. package/dist/{channels-cli-CIq4PFA0.js → channels-cli-BYeGzy-G.js} +7 -7
  29. package/dist/{channels-cli-Y8CGJ_qQ.js → channels-cli-Pxe1OINS.js} +98 -98
  30. package/dist/{channels-status-issues-rRBNHH7B.js → channels-status-issues-DC8vgOMo.js} +1 -1
  31. package/dist/{chrome-b556dOQ6.js → chrome-CQnRgvJz.js} +7 -7
  32. package/dist/{chrome-BgQbis3t.js → chrome-FAf5DZL2.js} +11 -11
  33. package/dist/{chrome-sQI2Ex5S.js → chrome-NUKborg3.js} +7 -7
  34. package/dist/{chunk-CKgSHf7u.js → chunk-DQGU0F8t.js} +2 -2
  35. package/dist/{chunk-Ds8SZRkS.js → chunk-DX6VtywY.js} +1 -1
  36. package/dist/{clack-prompter-CR9tYooX.js → clack-prompter-CWQQn_CK.js} +5 -5
  37. package/dist/cli-DFNOC2Ad.js +128 -0
  38. package/dist/{cli--omJsLkl.js → cli-Dt-wfm_7.js} +4 -4
  39. package/dist/{client-D8iTVY4F.js → client-Bs2zB0rY.js} +7 -7
  40. package/dist/{clipboard-C9NQe8TV.js → clipboard-McRwF3r0.js} +1 -1
  41. package/dist/{command-registry-bozDt85D.js → command-registry-BwbT4ll7.js} +10 -10
  42. package/dist/{commands-sNCgvbpu.js → commands-B3UrgxIz.js} +2 -2
  43. package/dist/{commands-registry-CRkL6mTz.js → commands-registry-C5IdtVVy.js} +4 -4
  44. package/dist/{commands-registry-DXK4Ortm.js → commands-registry-DYk02tmt.js} +6 -6
  45. package/dist/{completion-cli-9qQYFUPk.js → completion-cli-CyOSA5xZ.js} +2 -2
  46. package/dist/{completion-cli-FXkVKM19.js → completion-cli-DiNUqrNY.js} +16 -16
  47. package/dist/{config-fTqqDRAc.js → config-CW8aDVM0.js} +9 -9
  48. package/dist/{config-cli-BexhS7Qb.js → config-cli-DBU_S417.js} +15 -15
  49. package/dist/{config-cli-C3D7beGW.js → config-cli-DfG0nukz.js} +1 -1
  50. package/dist/{config-guard-IteQa1rq.js → config-guard-CNmD3-IC.js} +23 -23
  51. package/dist/{config-validation-B05t9fma.js → config-validation-Bz5CV181.js} +2 -2
  52. package/dist/{configure-BWXNd2TO.js → configure-BYu2DI_6.js} +2 -2
  53. package/dist/{configure-0e3ty1G9.js → configure-BkH4ueot.js} +26 -26
  54. package/dist/{consolidate-BaeR2tIX.js → consolidate-Cx7qF5Ht.js} +10 -10
  55. package/dist/{consolidate-C-HKdAJo.js → consolidate-dh1m3X1s.js} +2 -2
  56. package/dist/{control-service-BDMq-0pg.js → control-service-Drd2sr2o.js} +5 -5
  57. package/dist/{control-ui-assets-muBwnb6-.js → control-ui-assets-D22DSxhv.js} +4 -4
  58. package/dist/{conversation-label-B4d5pKXr.js → conversation-label-CS5Zjc4w.js} +1 -1
  59. package/dist/{conversation-label-WjwKgn7n.js → conversation-label-tLwAlqLf.js} +1 -1
  60. package/dist/{cron-cli-DvDr2Uxo.js → cron-cli-BTAdnRhX.js} +21 -21
  61. package/dist/{daemon-cli-DiLogoCM.js → daemon-cli-BY9BFNuw.js} +22 -22
  62. package/dist/{daemon-runtime-C3dBpZhs.js → daemon-runtime-BH3ZBZXS.js} +13 -13
  63. package/dist/{deliver-B_Fv-dS9.js → deliver-DZ7ynJYH.js} +8 -8
  64. package/dist/{deliver-B_Gz2_tA.js → deliver-Dlq2X0K5.js} +4 -4
  65. package/dist/{deliver-B_jXI55b.js → deliver-kmnOOp9j.js} +22 -22
  66. package/dist/{delivery-queue-CeY346SK.js → delivery-queue-DDs84baU.js} +2 -2
  67. package/dist/{deps-Du8ZcRHN.js → deps-i1g0Zpz4.js} +1 -1
  68. package/dist/{devices-cli-BFPrh5bu.js → devices-cli-Cqi6L8PH.js} +19 -19
  69. package/dist/{diagnostic-D7z6O7v0.js → diagnostic-CQLyE7_n.js} +1 -1
  70. package/dist/{diagnostic-oeL366QK.js → diagnostic-CwF3MnBL.js} +1 -1
  71. package/dist/{diagnostics-3x3usVgE.js → diagnostics-nLP2i_BY.js} +5 -5
  72. package/dist/{directory-cli-BUBucKQI.js → directory-cli-B0XsBWso.js} +19 -19
  73. package/dist/{dm-policy-shared-BcXoqtVd.js → dm-policy-shared-CnKffdt_.js} +2 -2
  74. package/dist/{dns-cli-B6QTNBXV.js → dns-cli-BHWlCG31.js} +17 -17
  75. package/dist/{dock-n_MeJBcj.js → dock-CnGWTXL4.js} +3 -3
  76. package/dist/{docs-cli-C2xEH6jC.js → docs-cli-DASNErN-.js} +13 -13
  77. package/dist/{doctor-completion-K1dL1s3P.js → doctor-completion-D_cwpDAq.js} +4 -4
  78. package/dist/{doctor-completion-CcHk8myN.js → doctor-completion-DqvmZZEo.js} +1 -1
  79. package/dist/{doctor-config-flow-Dl08K6Q3.js → doctor-config-flow-BvHSaiFy.js} +15 -15
  80. package/dist/entry.js +1 -1
  81. package/dist/{env-B7UUyzd_.js → env-B97Ms861.js} +2 -2
  82. package/dist/{errors-BgCjRT2k.js → errors-BkfLlDKo.js} +1 -1
  83. package/dist/{errors-CBVhQiQ9.js → errors-Z-WkF18Q.js} +1 -1
  84. package/dist/{exec-BcvUYCcV.js → exec-DKyLtSjm.js} +2 -2
  85. package/dist/{exec-approvals-BWtVKlN2.js → exec-approvals-CZOc8M5w.js} +3 -3
  86. package/dist/{exec-approvals-cli-SDF4LICf.js → exec-approvals-cli-CyHTywue.js} +27 -27
  87. package/dist/extensionAPI.js +4 -4
  88. package/dist/{fetch-guard-BWofyagX.js → fetch-guard-DG6T0ZdL.js} +2 -2
  89. package/dist/{frontmatter-B5iYTsZP.js → frontmatter-B6IdJ7UK.js} +2 -2
  90. package/dist/{frontmatter-vaw8OX7Y.js → frontmatter-BW7tVmn4.js} +5 -5
  91. package/dist/{fs-safe-CR_3Yr4x.js → fs-safe-DjAKGGJ8.js} +7 -7
  92. package/dist/{gateway-cli-CAFWFnSX.js → gateway-cli-BBqSqFGV.js} +451 -151
  93. package/dist/{gateway-cli-CzD6faIt.js → gateway-cli-BYGA5ex3.js} +311 -11
  94. package/dist/{gateway-rpc-o8CJkHuM.js → gateway-rpc-BJF1iDnx.js} +3 -3
  95. package/dist/{github-copilot-token-DTYkb2IC.js → github-copilot-token-BTNK6Tcd.js} +2 -2
  96. package/dist/{glass-ui-ws-Bbs2mIij.js → glass-ui-ws-DJnV8nJK.js} +8 -8
  97. package/dist/{glass-ui-ws-Dsez9bGF.js → glass-ui-ws-NJNiRFL3.js} +105 -105
  98. package/dist/{gmail-setup-utils-CLvOQ6kY.js → gmail-setup-utils-D5G00y8h.js} +5 -5
  99. package/dist/{health-iJ9JzccO.js → health-D59E1VfO.js} +13 -13
  100. package/dist/{health-format-CxAXRqzB.js → health-format-39e76m9p.js} +1 -1
  101. package/dist/{help-format-BWTv-lf6.js → help-format-BI_G2p1e.js} +1 -1
  102. package/dist/{helpers-BtwjKsDp.js → helpers-BBypnAYf.js} +1 -1
  103. package/dist/{hooks-cli-BEYoHsqh.js → hooks-cli-Bidz8ACz.js} +98 -98
  104. package/dist/{hooks-cli-DNlmk6eB.js → hooks-cli-CyjEjDSY.js} +5 -5
  105. package/dist/{hooks-status-D9SOPTTY.js → hooks-status-DLHEahg_.js} +3 -3
  106. package/dist/{image-ops-BkR5mVOY.js → image-ops-c7_of0HT.js} +12 -12
  107. package/dist/{inbound-context-CICDRKxY.js → inbound-context-CJj1VfzK.js} +2 -2
  108. package/dist/{inbound-context-B4B7i7oM.js → inbound-context-DqAyGDbE.js} +2 -2
  109. package/dist/index.js +90 -90
  110. package/dist/{inspect-XD55qAEL.js → inspect-op0Ov-v4.js} +4 -4
  111. package/dist/{install-safe-path-odQNUvjd.js → install-safe-path-B73BkVO3.js} +12 -12
  112. package/dist/{installs-DLhIne1t.js → installs-ZXEjR9Sp.js} +12 -12
  113. package/dist/{internal-CBKiu8Jv.js → internal-C3o_xyzP.js} +10 -10
  114. package/dist/{legacy-names-BVA_sKnb.js → legacy-names-C0hZiM-7.js} +1 -1
  115. package/dist/{lifecycle-core-CcinwCvM.js → lifecycle-core-zhQYm_ni.js} +10 -10
  116. package/dist/{links-C6mXo5Yj.js → links-CSaUKNKm.js} +1 -1
  117. package/dist/llm-slug-generator.js +33 -33
  118. package/dist/{local-roots-C0G03E-R.js → local-roots-CTriU02e.js} +3 -3
  119. package/dist/{local-roots-DtvYChMM.js → local-roots-Dm8-ErgQ.js} +3 -3
  120. package/dist/{logging-CMolPIQB.js → logging-B96FQvnn.js} +2 -2
  121. package/dist/{logs-cli--Wek899G.js → logs-cli-B7RJ57Dc.js} +20 -20
  122. package/dist/{manager-CS1vxold.js → manager-9dNT9kNF.js} +22 -22
  123. package/dist/{manager-9Rt8-xIT.js → manager-CpBl-VGg.js} +1 -1
  124. package/dist/{manager-Bmh-pcUv.js → manager-Dsdh0rGn.js} +9 -9
  125. package/dist/{manager-Do0-i7vp.js → manager-t4GthPGw.js} +1 -1
  126. package/dist/{manifest-registry-Cc80pffV.js → manifest-registry-B2vClvK5.js} +2 -2
  127. package/dist/{manifest-registry-B4I9g0CL.js → manifest-registry-D7Qup2Vq.js} +3 -3
  128. package/dist/{markdown-tables-D0bwB4O7.js → markdown-tables-BaWa2kOe.js} +1 -1
  129. package/dist/{markdown-tables-jlJYpF1X.js → markdown-tables-GTLvbzuR.js} +2 -2
  130. package/dist/{memory-BduQaKuC.js → memory-B7TJXpqS.js} +2 -2
  131. package/dist/{memory-ofHIUCzf.js → memory-DcWXMzOH.js} +7 -7
  132. package/dist/{memory-cli-BCz9iNCM.js → memory-cli-C0WA_nRS.js} +2 -2
  133. package/dist/{memory-cli-LXH0BNmI.js → memory-cli-xBZPEOeL.js} +22 -22
  134. package/dist/{message-channel-j44ChSJV.js → message-channel-C_V8IAYx.js} +1 -1
  135. package/dist/{model-BBL3doiY.js → model-BXWgh5eZ.js} +1 -1
  136. package/dist/{model-catalog-D8YRs6r8.js → model-catalog-BGVslwAT.js} +4 -4
  137. package/dist/{model-picker-CdmjvvmL.js → model-picker-aTfyp_mP.js} +3 -3
  138. package/dist/{models-DTHdIg0A.js → models-IfAFy9bK.js} +2 -2
  139. package/dist/{models-cli-CdL5Tf5E.js → models-cli-DiB4JqF2.js} +6 -6
  140. package/dist/{models-cli-DrJsggrX.js → models-cli-h8h_qu3F.js} +94 -94
  141. package/dist/{models-config-BCa11tVc.js → models-config-DRgHv7Ss.js} +8 -8
  142. package/dist/{node-cli-Dl-lvH1N.js → node-cli-BPkbqgRt.js} +50 -50
  143. package/dist/{node-service-O5CpXu6c.js → node-service-DuN9eBL6.js} +1 -1
  144. package/dist/{nodes-cli-C9pjIduh.js → nodes-cli-C09c6nCf.js} +27 -27
  145. package/dist/{nodes-screen-B_D8bZhT.js → nodes-screen-CT94yu_w.js} +7 -7
  146. package/dist/{note-1QdZVD7W.js → note-CHrtEumO.js} +2 -2
  147. package/dist/{npm-registry-spec-BQ7yzKIT.js → npm-registry-spec-B8X06AqB.js} +12 -12
  148. package/dist/{onboard-channels-DmvTuYe_.js → onboard-channels-BfzW-9vo.js} +1 -1
  149. package/dist/{onboard-channels-CXqIlUcV.js → onboard-channels-Deq8QGnM.js} +13 -13
  150. package/dist/{onboard-custom-DAD9D1fS.js → onboard-custom-DEdRdzNq.js} +3 -3
  151. package/dist/{onboard-helpers-C5J9vSm2.js → onboard-helpers-DZKHFY2J.js} +16 -16
  152. package/dist/{onboard-hooks-D87tRcuX.js → onboard-hooks-DZZM8goM.js} +11 -11
  153. package/dist/{onboard-3VcPRZV5.js → onboard-iL7Z0wKJ.js} +1 -1
  154. package/dist/{onboard-remote-D3CWFQ0_.js → onboard-remote-dn4L5WdE.js} +3 -3
  155. package/dist/{onboard-Cr1Rd93U.js → onboard-sMgEOBjV.js} +20 -20
  156. package/dist/{onboard-skills-CTv0hBJv.js → onboard-skills-DGHye9Q3.js} +5 -5
  157. package/dist/{onboarding-D_wPq7hv.js → onboarding-70YKbZi6.js} +3 -3
  158. package/dist/{onboarding-Bop5peq2.js → onboarding-BjXYbWlg.js} +19 -19
  159. package/dist/{onboarding.finalize-DGwAMlRi.js → onboarding.finalize-Ch3V08eY.js} +4 -4
  160. package/dist/{onboarding.finalize-Pa0bEFjp.js → onboarding.finalize-dU_CtL43.js} +62 -62
  161. package/dist/{onboarding.gateway-config-aIrdqmcQ.js → onboarding.gateway-config-DfF8Rxvn.js} +23 -23
  162. package/dist/{openai-model-default-BDH_OYY8.js → openai-model-default-D1NFHFF_.js} +4 -4
  163. package/dist/{pairing-cli-PrIxvqnD.js → pairing-cli-CJv8LQfb.js} +17 -17
  164. package/dist/{pairing-store-DmCi9E47.js → pairing-store-CxT0UGxd.js} +5 -5
  165. package/dist/{pairing-token-BmIoXjHZ.js → pairing-token-DorpwP8O.js} +9 -9
  166. package/dist/{path-env-CRW1aXZp.js → path-env-DuQralyy.js} +3 -3
  167. package/dist/{paths-Cqn-zk3M.js → paths-BSzKwaxE.js} +1 -1
  168. package/dist/paths-BeAyfCRg.js +127 -0
  169. package/dist/{paths-CdGa1jlU.js → paths-CJcw9nbZ.js} +3 -3
  170. package/dist/{paths-DvXvD4Xu.js → paths-DaQrPPet.js} +2 -2
  171. package/dist/{pi-auth-json-ChKC--mV.js → pi-auth-json-BzuhVcKu.js} +1 -1
  172. package/dist/{pi-auth-json-DhbhmAvs.js → pi-auth-json-DGZH6URT.js} +5 -5
  173. package/dist/{pi-embedded-hri4e4ie.js → pi-embedded-DOCVZrmx.js} +20 -64
  174. package/dist/{pi-embedded-helpers-VZo1D4Ck.js → pi-embedded-helpers-Be-EeyzH.js} +9 -9
  175. package/dist/{pi-tools.policy-DrRZdkk0.js → pi-tools.policy-qwS9SXOa.js} +6 -6
  176. package/dist/{plugin-auto-enable-BV-thF8P.js → plugin-auto-enable-zDUaiaf2.js} +4 -4
  177. package/dist/{plugin-registry-CYEwOWqU.js → plugin-registry-BgGVB3kW.js} +5 -5
  178. package/dist/{plugin-registry-q_UuFncy.js → plugin-registry-CP2mbhwk.js} +1 -1
  179. package/dist/plugin-sdk/auto-reply/reply/get-reply-directives.d.ts +0 -1
  180. package/dist/plugin-sdk/auto-reply/reply/model-selection.d.ts +0 -3
  181. package/dist/plugin-sdk/auto-reply/reply/payload-middleware.d.ts +0 -2
  182. package/dist/plugin-sdk/auto-reply/reply/typing-mode.d.ts +5 -3
  183. package/dist/plugin-sdk/auto-reply/types.d.ts +0 -3
  184. package/dist/plugin-sdk/gateway/outbound-filter.d.ts +4 -7
  185. package/dist/plugin-sdk/infra/agent-events.d.ts +0 -1
  186. package/dist/{plugins-CYQOjCDt.js → plugins-DuuHorqi.js} +3 -3
  187. package/dist/{plugins-cli-DE_0PdqM.js → plugins-cli-1wkCRsFe.js} +5 -5
  188. package/dist/{plugins-cli-CR1PAkGv.js → plugins-cli-B_Gtx3LU.js} +89 -89
  189. package/dist/{plugins-BG2b7dR_.js → plugins-yymezpEd.js} +2 -2
  190. package/dist/{ports-DfsXfAsq.js → ports-ChuJYhEL.js} +2 -2
  191. package/dist/{ports-LzI_-wEZ.js → ports-EAVAOFyK.js} +7 -7
  192. package/dist/{program-x8XxEZXE.js → program-UyCr49qs.js} +10 -10
  193. package/dist/{program-context-CvgJOZ3Q.js → program-context-C7uCS8z7.js} +39 -39
  194. package/dist/{progress-B6mhJhX6.js → progress-CyPyGCDn.js} +2 -2
  195. package/dist/{prompt-select-styled-BFV2QYJC.js → prompt-select-styled-BRcRFLzB.js} +4 -4
  196. package/dist/{prompt-select-styled-CFeLUnsr.js → prompt-select-styled-DcMra8CK.js} +54 -54
  197. package/dist/{prompt-style-DtQMGj0v.js → prompt-style-Cad0BDRS.js} +1 -1
  198. package/dist/{provider-auth-helpers-D2GLBV7U.js → provider-auth-helpers-BJTb9xI0.js} +1 -1
  199. package/dist/{provider-auth-helpers-C-Cv3SZA.js → provider-auth-helpers-Xn1TAPPY.js} +8 -8
  200. package/dist/{push-apns-DTqLWoEj.js → push-apns-Aaqf9WKI.js} +10 -10
  201. package/dist/{push-apns-9XQgEWxs.js → push-apns-Bfqnchj6.js} +1 -1
  202. package/dist/{pw-ai-BFZrohva.js → pw-ai-B3qisJP1.js} +1 -1
  203. package/dist/{pw-ai-Bb4P23-n.js → pw-ai-C-ddUgTA.js} +20 -20
  204. package/dist/{pw-ai-D5WlMgqy.js → pw-ai-DJrnU1ja.js} +12 -12
  205. package/dist/{qmd-manager-92cDmzSO.js → qmd-manager-D5kqCz-Y.js} +28 -28
  206. package/dist/{qmd-manager-D6ABQ2yd.js → qmd-manager-DrM6m9z1.js} +7 -7
  207. package/dist/{qr-cli-B_kge4ua.js → qr-cli-B_mw4i0R.js} +12 -12
  208. package/dist/{register.agent-C-p6kDhf.js → register.agent-BqKNzdaW.js} +108 -108
  209. package/dist/{register.agent-D9FfFyh0.js → register.agent-vAJ0_4m0.js} +9 -9
  210. package/dist/register.configure-7TmTqCgU.js +129 -0
  211. package/dist/{register.configure-CtbO9t7v.js → register.configure-BzgavjpU.js} +8 -8
  212. package/dist/{register.maintenance-Dy8l8hKt.js → register.maintenance-6Wz4HXlm.js} +109 -109
  213. package/dist/{register.maintenance-h-CVvMpP.js → register.maintenance-BJO0RCk9.js} +9 -9
  214. package/dist/{register.message-DFytf1Dr.js → register.message-CW9PahRi.js} +5 -5
  215. package/dist/{register.message-CaOagrcp.js → register.message-XYivyrQJ.js} +81 -81
  216. package/dist/{register.onboard-SunldfQB.js → register.onboard-BgwkmP4D.js} +45 -45
  217. package/dist/{register.onboard-BAQSWmTB.js → register.onboard-MWRC29wD.js} +2 -2
  218. package/dist/{register.setup-D3uuohUQ.js → register.setup-7OoAqQG_.js} +48 -48
  219. package/dist/{register.setup-BnuPTj2h.js → register.setup-V-arsKvb.js} +2 -2
  220. package/dist/{register.status-health-sessions-azKiEST-.js → register.status-health-sessions-1VnuXhGM.js} +3 -3
  221. package/dist/{register.status-health-sessions-CPcQpUNU.js → register.status-health-sessions-Bgg1sdY_.js} +68 -68
  222. package/dist/{register.subclis-Di2DRNVF.js → register.subclis-DpPYIqkP.js} +9 -9
  223. package/dist/{registry-C-JddWwo.js → registry-9AaJQms1.js} +2 -2
  224. package/dist/{registry-CtguoMhn.js → registry-DKJLAPDB.js} +4 -4
  225. package/dist/{replies-CvuXRwhI.js → replies-BZN1LuJP.js} +3 -3
  226. package/dist/{replies-BUaT9S6J.js → replies-Dqft-42v.js} +3 -3
  227. package/dist/{reply-prefix-ClUrRCRd.js → reply-prefix-CyLplifX.js} +1 -1
  228. package/dist/{reply-prefix-ChIeKp-P.js → reply-prefix-DkDTGwTs.js} +1 -1
  229. package/dist/{resolve-route-BLDKso2x.js → resolve-route-CIA0TSsF.js} +4 -4
  230. package/dist/{resolve-route-C0EHjIMD.js → resolve-route-xpyI3enn.js} +6 -6
  231. package/dist/{routes-BFfAPz_0.js → routes-xZZ99jJJ.js} +14 -14
  232. package/dist/{rpc-CQUsmQ6_.js → rpc-BzR2wLkc.js} +3 -3
  233. package/dist/{run-main-BhJ6M7oy.js → run-main-n0fjk-o5.js} +17 -17
  234. package/dist/{runtime-guard-Btd35-OG.js → runtime-guard-BZ3_1QqS.js} +1 -1
  235. package/dist/{sandbox-sayuve7z.js → sandbox-DGG12SGo.js} +27 -27
  236. package/dist/{sandbox-cli-Dyh_eqHp.js → sandbox-cli--d2MJPM2.js} +37 -37
  237. package/dist/{security-cli-B5XGCe-n.js → security-cli-CeP9ss1g.js} +53 -53
  238. package/dist/{send-dfhV1QIV.js → send-BQJKg0bU.js} +7 -7
  239. package/dist/{send-B-tsyoRw.js → send-BzUWmgQ9.js} +13 -13
  240. package/dist/{server-context-hxl_K7eY.js → server-context-BNbx1tUD.js} +11 -11
  241. package/dist/{server-methods-MUFuMWc_.js → server-methods-BHg4GltA.js} +76 -408
  242. package/dist/{server-methods-3uA_KwN4.js → server-methods-DkZ2XtEo.js} +8 -340
  243. package/dist/{server-node-events-FUPulMjB.js → server-node-events-6dZ22EGj.js} +82 -82
  244. package/dist/{server-node-events-DkbyHj1T.js → server-node-events-BXviL2UH.js} +6 -6
  245. package/dist/{service-B5aOZmQH.js → service-9ItKCWWS.js} +15 -15
  246. package/dist/{session-cost-usage-DQjHUno0.js → session-cost-usage-DYcv40ss.js} +3 -3
  247. package/dist/{session-dirs-Chh7bBGo.js → session-dirs-B6PWqKEf.js} +2 -2
  248. package/dist/{session-utils-C6O0Db39.js → session-utils-BVC8mmBv.js} +22 -22
  249. package/dist/{sessions-oPVoK2gW.js → sessions-BaFVKzC2.js} +25 -25
  250. package/dist/{shared-BJxR-kzm.js → shared-DUmy8R4n.js} +5 -5
  251. package/dist/{shared-E4KDN3LG.js → shared-ot5_jkpP.js} +3 -3
  252. package/dist/{skill-commands-CfGPouRa.js → skill-commands-DaNhP2Jb.js} +5 -5
  253. package/dist/{skill-commands-4afIEM1a.js → skill-commands-X3T9Y9lT.js} +4 -4
  254. package/dist/{skill-scanner-BGtq5jZi.js → skill-scanner-DVq7ZopF.js} +7 -7
  255. package/dist/{skills-Kt1PL_Um.js → skills-BMTJ2Tiq.js} +6 -6
  256. package/dist/{skills-BF_e-fYt.js → skills-C_KgxpBD.js} +9 -9
  257. package/dist/{skills-cli-BlFM1U3r.js → skills-cli-DwYoPwkG.js} +19 -19
  258. package/dist/{skills-install-miTQGOBQ.js → skills-install-U4FmCP8u.js} +9 -9
  259. package/dist/{skills-remote-Ch1B-1aN.js → skills-remote-C0gcKYWX.js} +6 -6
  260. package/dist/{skills-status-CFVFYR-o.js → skills-status-CdfQvU1h.js} +4 -4
  261. package/dist/{sqlite-CfMLToLW.js → sqlite-BUXBg2yu.js} +8 -8
  262. package/dist/{sqlite-BKMdYqso.js → sqlite-C6MZhX4c.js} +3 -3
  263. package/dist/{ssrf-LaudpmHD.js → ssrf-BvjSIOlZ.js} +9 -9
  264. package/dist/{status-BNH-f3PA.js → status-BAnT_4qI.js} +4 -4
  265. package/dist/{status-B-XD80Yl.js → status-BK-ZK7SP.js} +36 -36
  266. package/dist/{status-CCgqMBwp.js → status-CmoBgZ99.js} +1 -1
  267. package/dist/{status-C7F7r-qN.js → status-J_gR_zbh.js} +1 -1
  268. package/dist/{status.update-B9WCVHPy.js → status.update-Cvj7y384.js} +4 -4
  269. package/dist/{subagent-registry-z08a8MUS.js → subagent-registry-CWolsN8K.js} +13 -55
  270. package/dist/{subsystem-CgepNOk5.js → subsystem-CtH6J8AV.js} +1 -1
  271. package/dist/{subsystem-DzRUKS9f.js → subsystem-DhOo2FZn.js} +1 -1
  272. package/dist/{symi-root-7ei1lwo0.js → symi-root-0MUhiNlM.js} +3 -3
  273. package/dist/{synthesis-D4iCZvKx.js → synthesis-BSKiS446.js} +4 -4
  274. package/dist/{synthesis-CjFmYp54.js → synthesis-CRQp5mTx.js} +78 -78
  275. package/dist/{synthesis-Dlweuq0p.js → synthesis-D3wZX5g3.js} +33 -33
  276. package/dist/{synthesis-ByjLMHMS.js → synthesis-DTZGPpj5.js} +4 -4
  277. package/dist/{system-cli-Ccu9utFt.js → system-cli-CUGyogmP.js} +19 -19
  278. package/dist/{systemd-ChKNxGyT.js → systemd-8KKQdTO_.js} +8 -8
  279. package/dist/{systemd-hints-hoofHqb7.js → systemd-hints-_ghBqtKo.js} +7 -7
  280. package/dist/{systemd-linger-DLgi3jd0.js → systemd-linger-CnKJZBUr.js} +2 -2
  281. package/dist/{table-Cyd0-LaL.js → table-DkAQzCOR.js} +2 -2
  282. package/dist/{tailscale-D3KwzQUZ.js → tailscale-D7dC-5EX.js} +3 -3
  283. package/dist/{thinking-nf5YVDrR.js → thinking-BYtE7_UC.js} +2 -2
  284. package/dist/{tokens-DfB8vBa4.js → tokens-DvvjOTxN.js} +1 -1
  285. package/dist/{tokens-B24nv23l.js → tokens-wW7opugV.js} +1 -1
  286. package/dist/{tool-display-D1Hh5TqL.js → tool-display-Dr6VaTg5.js} +2 -2
  287. package/dist/{tool-loop-detection-BxrJfVQU.js → tool-loop-detection-CSSq5kkt.js} +4 -4
  288. package/dist/{tool-loop-detection-BR52lwOt.js → tool-loop-detection-DyZ0TWGh.js} +2 -2
  289. package/dist/transcript-events-JGGQViao.js +17 -0
  290. package/dist/{trash-oWw0M_xA.js → trash-BjVrPcAx.js} +2 -2
  291. package/dist/{tui-cli-sRKxOjmC.js → tui-cli-BPOcMJ-f.js} +43 -43
  292. package/dist/{tui-DqMRn1zF.js → tui-fKWqWqeq.js} +12 -12
  293. package/dist/{unified-runner-Uyw1gZOm.js → unified-runner-Cdj1nLUh.js} +286 -328
  294. package/dist/{unified-runner-CBVGL54b.js → unified-runner-DftrstdI.js} +200 -245
  295. package/dist/{update-rop24lF7.js → update-XJWQZpV7.js} +5 -5
  296. package/dist/{update-check-CC111uwU.js → update-check-BdSIMYWq.js} +7 -7
  297. package/dist/{update-cli-BbtFbkK5.js → update-cli-D_MLjj6j.js} +120 -120
  298. package/dist/{update-cli-CH7SLjSd.js → update-cli-jQo-vg6S.js} +9 -9
  299. package/dist/{update-runner-B0L2a2rW.js → update-runner-D_UHlPN0.js} +18 -18
  300. package/dist/{utils-AQWIWjGu.js → utils-BU8jVQFM.js} +2 -2
  301. package/dist/{webhooks-cli-CFMpDwWL.js → webhooks-cli-DgRLVVrD.js} +17 -17
  302. package/dist/{widearea-dns-DxpPXWPv.js → widearea-dns-C5NqCQ3L.js} +2 -2
  303. package/dist/{with-timeout-Bxn0qVBQ.js → with-timeout-DwVWQ2sN.js} +2 -2
  304. package/dist/{workspace-StbmAqYj.js → workspace-B_xyjOdv.js} +4 -4
  305. package/dist/{workspace-CsaDUuDn.js → workspace-OBnI5mKu.js} +2 -2
  306. package/dist/{workspace-dirs-B5axjz_-.js → workspace-dirs-DStsDXra.js} +1 -1
  307. package/dist/{ws-FAiTi9-v.js → ws-CahTJvD6.js} +1 -1
  308. package/dist/{wsl-ZWGwnnKI.js → wsl-DO9usEVV.js} +2 -2
  309. package/package.json +1 -1
  310. package/dist/cli-iz9sMJ9d.js +0 -128
  311. package/dist/plugin-sdk/gateway/server-chat.d.ts +0 -49
  312. package/dist/register.configure-D69HXLo4.js +0 -129
  313. package/dist/{boolean-B8-BqKGQ.js → boolean-Wzu0-e0P.js} +0 -0
  314. package/dist/{boolean-BgXe2hyu.js → boolean-mcn6kL0s.js} +0 -0
  315. package/dist/{brew-ip7v32wW.js → brew-BoKmB5x9.js} +1 -1
  316. /package/dist/{chat-type-B2TfTsnW.js → chat-type-B7XD_ESN.js} +0 -0
  317. /package/dist/{chat-type-BoBpxitL.js → chat-type-BPBtOjer.js} +0 -0
  318. /package/dist/{command-format-CyXZlazG.js → command-format-BvAkTjTI.js} +0 -0
  319. /package/dist/{github-copilot-token-BUd9oA8x.js → github-copilot-token-B31ugq7R.js} +0 -0
  320. /package/dist/{input-provenance-iBlnbS1d.js → input-provenance-DsLesw6T.js} +0 -0
  321. /package/dist/{legacy-names-BlIw4lsD.js → legacy-names-sghWmXe3.js} +0 -0
  322. /package/dist/{redact-CozCe54d.js → redact-CSc_2Nka.js} +0 -0
  323. /package/dist/{redact-DPnDWsnT.js → redact-Dd8jrogi.js} +0 -0
  324. /package/dist/{secret-equal-DjTAoH50.js → secret-equal-D1BCVB1D.js} +0 -0
  325. /package/dist/{session-key-DUSb7CCb.js → session-key-B_ZVH1kE.js} +0 -0
  326. /package/dist/{ssrf-Cirmgays.js → ssrf-CC9kEPCT.js} +0 -0
  327. /package/dist/{tailnet-BruyvjMC.js → tailnet-LYvn9g3I.js} +0 -0
  328. /package/dist/{thinking-BTh3b5vY.js → thinking-177f26eg.js} +0 -0
  329. /package/dist/{transcript-events-BOK6eOU8.js → transcript-events-Ch7wLX-j.js} +0 -0
  330. /package/dist/{transcript-tools--a2pL_yH.js → transcript-tools-CrMLYORt.js} +0 -0
@@ -1,60 +1,59 @@
1
- import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
2
- import { S as isPlainObject, h as resolveUserPath, n as clamp } from "./utils-AQWIWjGu.js";
3
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-DfB8vBa4.js";
4
- import { $ as applyBrowserProxyPaths, A as normalizePollInput, Bt as countActiveRunsForSession, C as listTasksInWorkdir, Cn as classifyOutboundMessage, 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 abortEmbeddedPiRun, Rt as stopSubagentsForRequester, Sn as registerAgentRunContext, Ut as listSubagentRunsForRequester, Xt as clearSessionQueues, b as buildAgentTurnParams, bn as getAgentRunContext, bt as applyVerboseOverride, en as waitForEmbeddedPiRunEnd, et as persistBrowserProxyFiles, f as getChannelActivity, g as buildGlassUiProfile, m as createReplyDispatcher, mt as resolveSendPolicy, ot as scheduleGatewaySigusr1Restart, pt as normalizeSendPolicy, s as loadSymiPlugins, sn as resolveUserTimezone, x as prepareReplyTurn, xn as onAgentEvent, xt as parseVerboseOverride, y as runUnifiedTurn, yt as applyModelOverrideToSessionEntry } from "./unified-runner-Uyw1gZOm.js";
5
- import { H as createInternalHookEvent, P as getResolvedLoggerSettings, W as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-CtguoMhn.js";
6
- import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CgepNOk5.js";
7
- import { Et as normalizeSecretInput, G as resolveSubagentConfiguredModelSelection, H as resolveDefaultModelForAgent, q as resolveThinkingDefault, z as resolveAllowedModelRef } from "./auth-profiles-8vSEr9B4.js";
8
- 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";
9
- import { t as resolveSymiPackageRoot } from "./symi-root-7ei1lwo0.js";
10
- 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-2la27US0.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, o as readConfigFileSnapshot, p as sensitive, s as readConfigFileSnapshotForWrite, u as validateConfigObjectWithPlugins, w as applyMergePatch } from "./config-fTqqDRAc.js";
12
- import { c as pickPrimaryLanIPv4 } from "./ws-FAiTi9-v.js";
13
- import { i as loadWorkspaceSkillEntries } from "./skills-BF_e-fYt.js";
14
- import { t as movePathToTrash } from "./trash-oWw0M_xA.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-oPVoK2gW.js";
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-j44ChSJV.js";
17
- import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CYQOjCDt.js";
18
- import { c as resolveStorePath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-CdGa1jlU.js";
19
- import { i as normalizeInputProvenance } from "./input-provenance-iBlnbS1d.js";
20
- import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-BTh3b5vY.js";
21
- import { h as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-B_Fv-dS9.js";
22
- import { i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, t as discoverAllSessions } from "./session-cost-usage-DQjHUno0.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-C6O0Db39.js";
24
- import { n as createBrowserRouteDispatcher } from "./with-timeout-Bxn0qVBQ.js";
25
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-ClUrRCRd.js";
26
- import { t as getMemorySearchManager } from "./memory-ofHIUCzf.js";
27
- 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-D8iTVY4F.js";
28
- import { l as authorizeOperatorScopesForMethod, s as ADMIN_SCOPE$2, u as isNodeRoleMethod } from "./call-DLBaLOHo.js";
29
- import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-BmIoXjHZ.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-Ch1B-1aN.js";
31
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-B5axjz_-.js";
32
- import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals } from "./exec-approvals-BWtVKlN2.js";
33
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-BDMq-0pg.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, 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";
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
+ import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-BSzKwaxE.js";
4
+ import { S as isPlainObject, h as resolveUserPath, n as clamp } from "./utils-BU8jVQFM.js";
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";
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";
11
+ import { c as pickPrimaryLanIPv4 } from "./ws-CahTJvD6.js";
12
+ import { i as loadWorkspaceSkillEntries } from "./skills-C_KgxpBD.js";
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";
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
+ import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DuuHorqi.js";
17
+ import { c as resolveStorePath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, s as resolveSessionTranscriptsDirForAgent } from "./paths-CJcw9nbZ.js";
18
+ import { i as normalizeInputProvenance } from "./input-provenance-DsLesw6T.js";
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";
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";
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";
34
33
  import { i as parseAbsoluteTimeMs } from "./stagger-BhvnarfO.js";
35
- import { n as createOutboundSendDeps } from "./deps-Du8ZcRHN.js";
36
- import { t as buildChannelUiCatalog } from "./catalog-CNZxYA15.js";
37
- import { t as buildWorkspaceSkillStatus } from "./skills-status-CFVFYR-o.js";
34
+ import { n as createOutboundSendDeps } from "./deps-i1g0Zpz4.js";
35
+ import { t as buildChannelUiCatalog } from "./catalog-BEREnWaa.js";
36
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-CdfQvU1h.js";
38
37
  import { t as WizardCancelledError } from "./prompts-CPtDKw-j.js";
39
- import { t as resolveChannelDefaultAccountId } from "./helpers-BtwjKsDp.js";
38
+ import { t as resolveChannelDefaultAccountId } from "./helpers-BBypnAYf.js";
40
39
  import { t as buildChannelAccountSnapshot } from "./status-DvTRhxOu.js";
41
- import { w as resolveAssistantAvatarUrl } from "./onboard-helpers-C5J9vSm2.js";
42
- import { c as resolveNodeCommandAllowlist, s as isNodeCommandAllowed } from "./audit-B58SlbPa.js";
43
- import { n as getStatusSummary } from "./status-B-XD80Yl.js";
44
- import { m as normalizeUpdateChannel } from "./update-check-CC111uwU.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-DTqLWoEj.js";
46
- import { i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-BrIHHGnC.js";
47
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-COMcEDAk.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";
48
47
  import { t as resolveSystemRunCommand } from "./system-run-command-QikSIqYG.js";
49
- import { t as installSkill } from "./skills-install-miTQGOBQ.js";
50
- import { t as runGatewayUpdate } from "./update-runner-B0L2a2rW.js";
48
+ import { t as installSkill } from "./skills-install-U4FmCP8u.js";
49
+ import { t as runGatewayUpdate } from "./update-runner-D_UHlPN0.js";
51
50
  import crypto, { randomUUID } from "node:crypto";
52
- import * as fs$2 from "node:fs";
51
+ import path from "node:path";
52
+ import * as fs$1 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 path from "node:path";
57
- import fs$1 from "node:fs/promises";
56
+ import fsPromises from "node:fs/promises";
58
57
  import { spawnSync } from "node:child_process";
59
58
  import { z } from "zod";
60
59
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
@@ -406,331 +405,6 @@ function startGatewayConfigReloader(opts) {
406
405
  } };
407
406
  }
408
407
 
409
- //#endregion
410
- //#region src/gateway/server-chat.ts
411
- function resolveHeartbeatContext(_runId, _sourceRunId) {}
412
- function shouldHideHeartbeatChatOutput(_runId, _sourceRunId) {
413
- return false;
414
- }
415
- function resolveHeartbeatAckMaxChars() {
416
- return 0;
417
- }
418
- function createChatRunRegistry() {
419
- const chatRunSessions = /* @__PURE__ */ new Map();
420
- const add = (sessionId, entry) => {
421
- const queue = chatRunSessions.get(sessionId);
422
- if (queue) queue.push(entry);
423
- else chatRunSessions.set(sessionId, [entry]);
424
- };
425
- const peek = (sessionId) => chatRunSessions.get(sessionId)?.[0];
426
- const shift = (sessionId) => {
427
- const queue = chatRunSessions.get(sessionId);
428
- if (!queue || queue.length === 0) return;
429
- const entry = queue.shift();
430
- if (!queue.length) chatRunSessions.delete(sessionId);
431
- return entry;
432
- };
433
- const remove = (sessionId, clientRunId, sessionKey) => {
434
- const queue = chatRunSessions.get(sessionId);
435
- if (!queue || queue.length === 0) return;
436
- const idx = queue.findIndex((entry) => entry.clientRunId === clientRunId && (sessionKey ? entry.sessionKey === sessionKey : true));
437
- if (idx < 0) return;
438
- const [entry] = queue.splice(idx, 1);
439
- if (!queue.length) chatRunSessions.delete(sessionId);
440
- return entry;
441
- };
442
- const clear = () => {
443
- chatRunSessions.clear();
444
- };
445
- return {
446
- add,
447
- peek,
448
- shift,
449
- remove,
450
- clear
451
- };
452
- }
453
- function createChatRunState() {
454
- const registry = createChatRunRegistry();
455
- const buffers = /* @__PURE__ */ new Map();
456
- const deltaSentAt = /* @__PURE__ */ new Map();
457
- const pendingDeltaText = /* @__PURE__ */ new Map();
458
- const abortedRuns = /* @__PURE__ */ new Map();
459
- const clear = () => {
460
- registry.clear();
461
- buffers.clear();
462
- deltaSentAt.clear();
463
- pendingDeltaText.clear();
464
- abortedRuns.clear();
465
- };
466
- return {
467
- registry,
468
- buffers,
469
- deltaSentAt,
470
- pendingDeltaText,
471
- abortedRuns,
472
- clear
473
- };
474
- }
475
- const TOOL_EVENT_RECIPIENT_TTL_MS = 600 * 1e3;
476
- const TOOL_EVENT_RECIPIENT_FINAL_GRACE_MS = 30 * 1e3;
477
- function createToolEventRecipientRegistry() {
478
- const recipients = /* @__PURE__ */ new Map();
479
- const prune = () => {
480
- if (recipients.size === 0) return;
481
- const now = Date.now();
482
- for (const [runId, entry] of recipients) if (now >= (entry.finalizedAt ? entry.finalizedAt + TOOL_EVENT_RECIPIENT_FINAL_GRACE_MS : entry.updatedAt + TOOL_EVENT_RECIPIENT_TTL_MS)) recipients.delete(runId);
483
- };
484
- const add = (runId, connId) => {
485
- if (!runId || !connId) return;
486
- const now = Date.now();
487
- const existing = recipients.get(runId);
488
- if (existing) {
489
- existing.connIds.add(connId);
490
- existing.updatedAt = now;
491
- } else recipients.set(runId, {
492
- connIds: new Set([connId]),
493
- updatedAt: now
494
- });
495
- prune();
496
- };
497
- const get = (runId) => {
498
- const entry = recipients.get(runId);
499
- if (!entry) return;
500
- entry.updatedAt = Date.now();
501
- prune();
502
- return entry.connIds;
503
- };
504
- const markFinal = (runId) => {
505
- const entry = recipients.get(runId);
506
- if (!entry) return;
507
- entry.finalizedAt = Date.now();
508
- prune();
509
- };
510
- return {
511
- add,
512
- get,
513
- markFinal
514
- };
515
- }
516
- function createAgentEventHandler({ broadcast, broadcastToConnIds, nodeSendToSession, agentRunSeq, chatRunState, resolveSessionKeyForRun, clearAgentRunContext, toolEventRecipients }) {
517
- const emitChatDelta = (sessionKey, clientRunId, sourceRunId, seq, text) => {
518
- if (isSilentReplyText(text, SILENT_REPLY_TOKEN)) return;
519
- const prev = chatRunState.buffers.get(clientRunId) ?? "";
520
- chatRunState.buffers.set(clientRunId, prev + text);
521
- if (shouldHideHeartbeatChatOutput(clientRunId, sourceRunId)) return;
522
- const now = Date.now();
523
- if (now - (chatRunState.deltaSentAt.get(clientRunId) ?? 0) < 150) {
524
- chatRunState.pendingDeltaText.set(clientRunId, (chatRunState.pendingDeltaText.get(clientRunId) ?? "") + text);
525
- return;
526
- }
527
- const buffered = chatRunState.pendingDeltaText.get(clientRunId) ?? "";
528
- chatRunState.pendingDeltaText.delete(clientRunId);
529
- const fullText = buffered + text;
530
- chatRunState.deltaSentAt.set(clientRunId, now);
531
- const payload = {
532
- runId: clientRunId,
533
- sessionKey,
534
- seq,
535
- state: "delta",
536
- ...(/* @__PURE__ */ resolveHeartbeatContext(clientRunId, sourceRunId))?.isHeartbeat ? { isHeartbeat: true } : {},
537
- message: {
538
- role: "assistant",
539
- content: [{
540
- type: "text",
541
- text: fullText
542
- }],
543
- timestamp: now
544
- }
545
- };
546
- broadcast("chat", payload, { dropIfSlow: true });
547
- nodeSendToSession(sessionKey, "chat", payload);
548
- };
549
- const emitChatFinal = (sessionKey, clientRunId, sourceRunId, seq, jobState, error) => {
550
- const remainingDelta = chatRunState.pendingDeltaText.get(clientRunId);
551
- if (remainingDelta && !shouldHideHeartbeatChatOutput(clientRunId, sourceRunId)) {
552
- const flushPayload = {
553
- runId: clientRunId,
554
- sessionKey,
555
- seq,
556
- state: "delta",
557
- ...(/* @__PURE__ */ resolveHeartbeatContext(clientRunId, sourceRunId))?.isHeartbeat ? { isHeartbeat: true } : {},
558
- message: {
559
- role: "assistant",
560
- content: [{
561
- type: "text",
562
- text: remainingDelta
563
- }],
564
- timestamp: Date.now()
565
- }
566
- };
567
- broadcast("chat", flushPayload);
568
- nodeSendToSession(sessionKey, "chat", flushPayload);
569
- }
570
- chatRunState.pendingDeltaText.delete(clientRunId);
571
- const bufferedText = chatRunState.buffers.get(clientRunId)?.trim() ?? "";
572
- const heartbeatCtx = /* @__PURE__ */ resolveHeartbeatContext(clientRunId, sourceRunId);
573
- const isHeartbeatRun = !!heartbeatCtx?.isHeartbeat;
574
- const heartbeatHidden = isHeartbeatRun && shouldHideHeartbeatChatOutput(clientRunId, sourceRunId);
575
- const filterResult = isHeartbeatRun && !heartbeatHidden ? {
576
- action: "deliver",
577
- output: bufferedText,
578
- reason: "deliver"
579
- } : classifyOutboundMessage(bufferedText, {
580
- isHeartbeat: heartbeatHidden,
581
- heartbeatAckMaxChars: resolveHeartbeatAckMaxChars()
582
- });
583
- const text = filterResult.output.trim();
584
- const shouldSuppressSilent = filterResult.action === "drop";
585
- chatRunState.buffers.delete(clientRunId);
586
- chatRunState.deltaSentAt.delete(clientRunId);
587
- if (jobState === "done") {
588
- const payload = {
589
- runId: clientRunId,
590
- sessionKey,
591
- seq,
592
- state: "final",
593
- activeSubagentCount: countActiveRunsForSession(sessionKey),
594
- ...heartbeatCtx?.isHeartbeat ? { isHeartbeat: true } : {},
595
- message: text && !shouldSuppressSilent ? {
596
- role: "assistant",
597
- content: [{
598
- type: "text",
599
- text
600
- }],
601
- timestamp: Date.now()
602
- } : void 0
603
- };
604
- broadcast("chat", payload);
605
- nodeSendToSession(sessionKey, "chat", payload);
606
- return;
607
- }
608
- const payload = {
609
- runId: clientRunId,
610
- sessionKey,
611
- seq,
612
- state: "error",
613
- errorMessage: error ? formatForLog(error) : void 0,
614
- ...heartbeatCtx?.isHeartbeat ? { isHeartbeat: true } : {}
615
- };
616
- broadcast("chat", payload);
617
- nodeSendToSession(sessionKey, "chat", payload);
618
- };
619
- const resolveToolVerboseLevel = (runId, sessionKey) => {
620
- const runVerbose = normalizeVerboseLevel(getAgentRunContext(runId)?.verboseLevel);
621
- if (runVerbose) return runVerbose;
622
- if (!sessionKey) return "off";
623
- try {
624
- const { cfg, entry } = loadSessionEntry(sessionKey);
625
- const sessionVerbose = normalizeVerboseLevel(entry?.verboseLevel);
626
- if (sessionVerbose) return sessionVerbose;
627
- return normalizeVerboseLevel(cfg.agents?.defaults?.verboseDefault) ?? "off";
628
- } catch {
629
- return "off";
630
- }
631
- };
632
- return (evt) => {
633
- const chatLink = chatRunState.registry.peek(evt.runId);
634
- const eventSessionKey = typeof evt.sessionKey === "string" && evt.sessionKey.trim() ? evt.sessionKey : void 0;
635
- const sessionKey = chatLink?.sessionKey ?? eventSessionKey ?? resolveSessionKeyForRun(evt.runId);
636
- if (sessionKey?.startsWith("temp:")) return;
637
- const clientRunId = chatLink?.clientRunId ?? evt.runId;
638
- const eventRunId = chatLink?.clientRunId ?? evt.runId;
639
- const eventForClients = chatLink ? {
640
- ...evt,
641
- runId: eventRunId
642
- } : evt;
643
- const isAborted = chatRunState.abortedRuns.has(clientRunId) || chatRunState.abortedRuns.has(evt.runId);
644
- const heartbeatAgentCtx = /* @__PURE__ */ resolveHeartbeatContext(clientRunId, evt.runId);
645
- const agentPayload = {
646
- ...eventForClients,
647
- ...sessionKey ? { sessionKey } : {},
648
- ...heartbeatAgentCtx?.isHeartbeat ? { isHeartbeat: true } : {}
649
- };
650
- const last = agentRunSeq.get(evt.runId) ?? 0;
651
- const isToolEvent = evt.stream === "tool";
652
- const toolVerbose = isToolEvent ? resolveToolVerboseLevel(evt.runId, sessionKey) : "off";
653
- const toolPayload = isToolEvent && toolVerbose !== "full" ? (() => {
654
- const data = evt.data ? { ...evt.data } : {};
655
- delete data.result;
656
- delete data.partialResult;
657
- return sessionKey ? {
658
- ...eventForClients,
659
- sessionKey,
660
- data
661
- } : {
662
- ...eventForClients,
663
- data
664
- };
665
- })() : agentPayload;
666
- if (evt.seq !== last + 1) broadcast("agent", {
667
- runId: eventRunId,
668
- stream: "error",
669
- ts: Date.now(),
670
- sessionKey,
671
- ...heartbeatAgentCtx?.isHeartbeat ? { isHeartbeat: true } : {},
672
- data: {
673
- reason: "seq gap",
674
- expected: last + 1,
675
- received: evt.seq
676
- }
677
- });
678
- agentRunSeq.set(evt.runId, evt.seq);
679
- if (isToolEvent) {
680
- const recipients = toolEventRecipients.get(evt.runId);
681
- if (recipients && recipients.size > 0) broadcastToConnIds("agent", toolPayload, recipients);
682
- } else broadcast("agent", agentPayload);
683
- const lifecyclePhase = evt.stream === "lifecycle" && typeof evt.data?.phase === "string" ? evt.data.phase : null;
684
- if (lifecyclePhase === "start" && sessionKey && !isAborted) {
685
- if (!(/* @__PURE__ */ resolveHeartbeatContext(clientRunId, evt.runId))?.isHeartbeat) broadcast("chat", {
686
- runId: clientRunId,
687
- sessionKey,
688
- seq: evt.seq,
689
- state: "thinking"
690
- });
691
- }
692
- if (lifecyclePhase && sessionKey && sessionKey.includes(":subagent:")) {
693
- if (lifecyclePhase === "start") broadcast("subagent", {
694
- phase: "started",
695
- sessionKey,
696
- runId: clientRunId
697
- });
698
- else if (lifecyclePhase === "end" || lifecyclePhase === "error") broadcast("subagent", {
699
- phase: "completed",
700
- sessionKey,
701
- runId: clientRunId
702
- });
703
- }
704
- if (sessionKey) {
705
- if (!isToolEvent || toolVerbose !== "off") nodeSendToSession(sessionKey, "agent", isToolEvent ? toolPayload : agentPayload);
706
- if (!isAborted && evt.stream === "assistant" && typeof evt.data?.text === "string") {
707
- const deltaText = typeof evt.data?.delta === "string" && evt.data.delta ? evt.data.delta : evt.data.text;
708
- emitChatDelta(sessionKey, clientRunId, evt.runId, evt.seq, deltaText);
709
- } else if (!isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) if (chatLink) {
710
- const finished = chatRunState.registry.shift(evt.runId);
711
- if (!finished) {
712
- clearAgentRunContext(evt.runId);
713
- return;
714
- }
715
- emitChatFinal(finished.sessionKey, finished.clientRunId, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error);
716
- } else emitChatFinal(sessionKey, eventRunId, evt.runId, evt.seq, lifecyclePhase === "error" ? "error" : "done", evt.data?.error);
717
- else if (isAborted && (lifecyclePhase === "end" || lifecyclePhase === "error")) {
718
- chatRunState.abortedRuns.delete(clientRunId);
719
- chatRunState.abortedRuns.delete(evt.runId);
720
- chatRunState.buffers.delete(clientRunId);
721
- chatRunState.deltaSentAt.delete(clientRunId);
722
- if (chatLink) chatRunState.registry.remove(evt.runId, clientRunId, sessionKey);
723
- }
724
- }
725
- if (lifecyclePhase === "end" || lifecyclePhase === "error") {
726
- toolEventRecipients.markFinal(evt.runId);
727
- clearAgentRunContext(evt.runId);
728
- agentRunSeq.delete(evt.runId);
729
- agentRunSeq.delete(clientRunId);
730
- }
731
- };
732
- }
733
-
734
408
  //#endregion
735
409
  //#region src/cron/run-log.ts
736
410
  function resolveCronRunLogPath(params) {
@@ -740,20 +414,20 @@ function resolveCronRunLogPath(params) {
740
414
  }
741
415
  const writesByPath = /* @__PURE__ */ new Map();
742
416
  async function pruneIfNeeded(filePath, opts) {
743
- const stat = await fs$1.stat(filePath).catch(() => null);
417
+ const stat = await fsPromises.stat(filePath).catch(() => null);
744
418
  if (!stat || stat.size <= opts.maxBytes) return;
745
- const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
419
+ const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
746
420
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
747
421
  const { randomBytes } = await import("node:crypto");
748
422
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
749
- await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
750
- await fs$1.rename(tmp, filePath);
423
+ await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
424
+ await fsPromises.rename(tmp, filePath);
751
425
  }
752
426
  async function appendCronRunLog(filePath, entry, opts) {
753
427
  const resolved = path.resolve(filePath);
754
428
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
755
- await fs$1.mkdir(path.dirname(resolved), { recursive: true });
756
- await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
429
+ await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
430
+ await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
757
431
  await pruneIfNeeded(resolved, {
758
432
  maxBytes: opts?.maxBytes ?? 2e6,
759
433
  keepLines: opts?.keepLines ?? 2e3
@@ -765,7 +439,7 @@ async function appendCronRunLog(filePath, entry, opts) {
765
439
  async function readCronRunLogEntries(filePath, opts) {
766
440
  const limit = Math.max(1, Math.min(5e3, Math.floor(opts?.limit ?? 200)));
767
441
  const jobId = opts?.jobId?.trim() || void 0;
768
- const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
442
+ const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
769
443
  if (!raw.trim()) return [];
770
444
  const parsed = [];
771
445
  const lines = raw.split("\n");
@@ -824,14 +498,12 @@ function resolveChatRunExpiresAtMs(params) {
824
498
  }
825
499
  function broadcastChatAborted(ops, params) {
826
500
  const { runId, sessionKey, stopReason, partialText } = params;
827
- const heartbeatCtx = /* @__PURE__ */ resolveHeartbeatContext(runId);
828
501
  const payload = {
829
502
  runId,
830
503
  sessionKey,
831
504
  seq: (ops.agentRunSeq.get(runId) ?? 0) + 1,
832
505
  state: "aborted",
833
506
  stopReason,
834
- ...heartbeatCtx?.isHeartbeat ? { isHeartbeat: true } : {},
835
507
  message: partialText ? {
836
508
  role: "assistant",
837
509
  content: [{
@@ -3279,7 +2951,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
3279
2951
  }
3280
2952
  async function statFile(filePath) {
3281
2953
  try {
3282
- const stat = await fs$1.stat(filePath);
2954
+ const stat = await fsPromises.stat(filePath);
3283
2955
  if (!stat.isFile()) return null;
3284
2956
  return {
3285
2957
  size: stat.size,
@@ -3349,7 +3021,7 @@ function resolveOptionalStringParam(value) {
3349
3021
  async function moveToTrashBestEffort(pathname) {
3350
3022
  if (!pathname) return;
3351
3023
  try {
3352
- await fs$1.access(pathname);
3024
+ await fsPromises.access(pathname);
3353
3025
  } catch {
3354
3026
  return;
3355
3027
  }
@@ -3396,7 +3068,7 @@ const agentsHandlers = {
3396
3068
  dir: workspaceDir,
3397
3069
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
3398
3070
  });
3399
- await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
3071
+ await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
3400
3072
  await writeConfigFile(nextConfig);
3401
3073
  const safeName = sanitizeIdentityLine(rawName);
3402
3074
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -3409,7 +3081,7 @@ const agentsHandlers = {
3409
3081
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
3410
3082
  ""
3411
3083
  ];
3412
- await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
3084
+ await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
3413
3085
  respond(true, {
3414
3086
  ok: true,
3415
3087
  agentId,
@@ -3444,9 +3116,9 @@ const agentsHandlers = {
3444
3116
  });
3445
3117
  if (avatar) {
3446
3118
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
3447
- await fs$1.mkdir(workspace, { recursive: true });
3119
+ await fsPromises.mkdir(workspace, { recursive: true });
3448
3120
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
3449
- await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
3121
+ await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
3450
3122
  }
3451
3123
  respond(true, {
3452
3124
  ok: true,
@@ -3529,7 +3201,7 @@ const agentsHandlers = {
3529
3201
  }, void 0);
3530
3202
  return;
3531
3203
  }
3532
- const content = await fs$1.readFile(filePath, "utf-8");
3204
+ const content = await fsPromises.readFile(filePath, "utf-8");
3533
3205
  respond(true, {
3534
3206
  agentId,
3535
3207
  workspace: workspaceDir,
@@ -3551,10 +3223,10 @@ const agentsHandlers = {
3551
3223
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
3552
3224
  if (!resolved) return;
3553
3225
  const { agentId, workspaceDir, name } = resolved;
3554
- await fs$1.mkdir(workspaceDir, { recursive: true });
3226
+ await fsPromises.mkdir(workspaceDir, { recursive: true });
3555
3227
  const filePath = path.join(workspaceDir, name);
3556
3228
  const content = String(params.content ?? "");
3557
- await fs$1.writeFile(filePath, content, "utf-8");
3229
+ await fsPromises.writeFile(filePath, content, "utf-8");
3558
3230
  const meta = await statFile(filePath);
3559
3231
  respond(true, {
3560
3232
  ok: true,
@@ -4440,13 +4112,11 @@ function nextChatSeq(context, runId) {
4440
4112
  }
4441
4113
  function broadcastChatFinal(params) {
4442
4114
  const seq = nextChatSeq({ agentRunSeq: params.context.agentRunSeq }, params.runId);
4443
- const heartbeatCtx = /* @__PURE__ */ resolveHeartbeatContext(params.runId);
4444
4115
  const payload = {
4445
4116
  runId: params.runId,
4446
4117
  sessionKey: params.sessionKey,
4447
4118
  seq,
4448
4119
  state: "final",
4449
- ...heartbeatCtx?.isHeartbeat ? { isHeartbeat: true } : {},
4450
4120
  message: params.message
4451
4121
  };
4452
4122
  params.context.broadcast("chat", payload);
@@ -4455,13 +4125,11 @@ function broadcastChatFinal(params) {
4455
4125
  }
4456
4126
  function broadcastChatError(params) {
4457
4127
  const seq = nextChatSeq({ agentRunSeq: params.context.agentRunSeq }, params.runId);
4458
- const heartbeatCtx = /* @__PURE__ */ resolveHeartbeatContext(params.runId);
4459
4128
  const payload = {
4460
4129
  runId: params.runId,
4461
4130
  sessionKey: params.sessionKey,
4462
4131
  seq,
4463
4132
  state: "error",
4464
- ...heartbeatCtx?.isHeartbeat ? { isHeartbeat: true } : {},
4465
4133
  errorMessage: params.errorMessage
4466
4134
  };
4467
4135
  params.context.broadcast("chat", payload);
@@ -6818,7 +6486,7 @@ const docsHandlers = { "docs.get": async ({ params, respond }) => {
6818
6486
  const fullPath = path.join(packageRoot, relPath);
6819
6487
  let markdown;
6820
6488
  try {
6821
- markdown = await fs$1.readFile(fullPath, "utf-8");
6489
+ markdown = await fsPromises.readFile(fullPath, "utf-8");
6822
6490
  } catch (err) {
6823
6491
  if (err?.code === "ENOENT") {
6824
6492
  respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, `docs file not bundled in this Symi install: ${relPath}`));
@@ -6969,14 +6637,14 @@ function isRollingLogFile(file) {
6969
6637
  return ROLLING_LOG_RE.test(path.basename(file));
6970
6638
  }
6971
6639
  async function resolveLogFile(file) {
6972
- if (await fs$1.stat(file).catch(() => null)) return file;
6640
+ if (await fsPromises.stat(file).catch(() => null)) return file;
6973
6641
  if (!isRollingLogFile(file)) return file;
6974
6642
  const dir = path.dirname(file);
6975
- const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
6643
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
6976
6644
  if (!entries) return file;
6977
6645
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
6978
6646
  const fullPath = path.join(dir, entry.name);
6979
- const fileStat = await fs$1.stat(fullPath).catch(() => null);
6647
+ const fileStat = await fsPromises.stat(fullPath).catch(() => null);
6980
6648
  return fileStat ? {
6981
6649
  path: fullPath,
6982
6650
  mtimeMs: fileStat.mtimeMs
@@ -6984,7 +6652,7 @@ async function resolveLogFile(file) {
6984
6652
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
6985
6653
  }
6986
6654
  async function readLogSlice(params) {
6987
- const stat = await fs$1.stat(params.file).catch(() => null);
6655
+ const stat = await fsPromises.stat(params.file).catch(() => null);
6988
6656
  if (!stat) return {
6989
6657
  cursor: 0,
6990
6658
  size: 0,
@@ -7022,7 +6690,7 @@ async function readLogSlice(params) {
7022
6690
  truncated,
7023
6691
  reset
7024
6692
  };
7025
- const handle = await fs$1.open(params.file, "r");
6693
+ const handle = await fsPromises.open(params.file, "r");
7026
6694
  try {
7027
6695
  let prefix = "";
7028
6696
  if (start > 0) {
@@ -7823,7 +7491,7 @@ const nodeHandlers = {
7823
7491
  const p = params;
7824
7492
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
7825
7493
  await respondUnavailableOnThrow(respond, async () => {
7826
- const { handleNodeEvent } = await import("./server-node-events-FUPulMjB.js");
7494
+ const { handleNodeEvent } = await import("./server-node-events-6dZ22EGj.js");
7827
7495
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
7828
7496
  await handleNodeEvent({
7829
7497
  deps: context.deps,
@@ -8342,7 +8010,7 @@ function broadcastPresenceSnapshot(params) {
8342
8010
  let _prevCpu = null;
8343
8011
  function getCpuPercent() {
8344
8012
  try {
8345
- const parts = fs$2.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
8013
+ const parts = fs$1.readFileSync("/proc/stat", "utf8").split("\n")[0].trim().split(/\s+/).slice(1).map(Number);
8346
8014
  const [, , , idle, iowait] = parts;
8347
8015
  const total = parts.reduce((a, b) => a + b, 0);
8348
8016
  const active = total - idle - (iowait || 0);
@@ -8366,7 +8034,7 @@ function getCpuPercent() {
8366
8034
  }
8367
8035
  function getMemInfo() {
8368
8036
  try {
8369
- const text = fs$2.readFileSync("/proc/meminfo", "utf8");
8037
+ const text = fs$1.readFileSync("/proc/meminfo", "utf8");
8370
8038
  const get = (key) => parseInt(text.match(new RegExp(`${key}:\\s+(\\d+)`))?.[1] ?? "0", 10) * 1024;
8371
8039
  const total = get("MemTotal");
8372
8040
  const used = total - get("MemAvailable");
@@ -8385,7 +8053,7 @@ function getMemInfo() {
8385
8053
  }
8386
8054
  function getDiskInfo() {
8387
8055
  try {
8388
- const stats = fs$2.statfsSync("/");
8056
+ const stats = fs$1.statfsSync("/");
8389
8057
  const total = stats.blocks * stats.bsize;
8390
8058
  const used = total - stats.bfree * stats.bsize;
8391
8059
  return {
@@ -9311,7 +8979,7 @@ const usageHandlers = {
9311
8979
  const resolved = resolveSessionUsageFileOrRespond(key, respond);
9312
8980
  if (!resolved) return;
9313
8981
  const { config, entry, agentId, sessionId, sessionFile } = resolved;
9314
- const { loadSessionLogs } = await import("./session-cost-usage-DQjHUno0.js").then((n) => n.a);
8982
+ const { loadSessionLogs } = await import("./session-cost-usage-DYcv40ss.js").then((n) => n.a);
9315
8983
  respond(true, { logs: await loadSessionLogs({
9316
8984
  sessionId,
9317
8985
  sessionEntry: entry,
@@ -9796,4 +9464,4 @@ async function handleGatewayRequest(opts) {
9796
9464
  }
9797
9465
 
9798
9466
  //#endregion
9799
- export { createAgentEventHandler as C, startGatewayConfigReloader as E, resolveCronRunLogPath as S, createToolEventRecipientRegistry as T, MAX_PAYLOAD_BYTES as _, loadFavoritesSet as a, abortChatRunById as b, resolveAssistantIdentity as c, formatError as d, loadVoiceWakeConfig as f, MAX_BUFFERED_BYTES as g, HEALTH_REFRESH_INTERVAL_MS as h, safeParseJson as i, listSystemPresence as l, DEDUPE_TTL_MS as m, handleGatewayRequest as n, reconcileFavorites as o, DEDUPE_MAX as p, broadcastPresenceSnapshot as r, DEFAULT_ASSISTANT_IDENTITY as s, coreGatewayHandlers as t, upsertPresence as u, TICK_INTERVAL_MS as v, createChatRunState as w, appendCronRunLog as x, getHandshakeTimeoutMs as y };
9467
+ export { startGatewayConfigReloader as C, resolveCronRunLogPath as S, MAX_PAYLOAD_BYTES as _, loadFavoritesSet as a, abortChatRunById as b, resolveAssistantIdentity as c, formatError as d, loadVoiceWakeConfig as f, MAX_BUFFERED_BYTES as g, HEALTH_REFRESH_INTERVAL_MS as h, safeParseJson as i, listSystemPresence as l, DEDUPE_TTL_MS as m, handleGatewayRequest as n, reconcileFavorites as o, DEDUPE_MAX as p, broadcastPresenceSnapshot as r, DEFAULT_ASSISTANT_IDENTITY as s, coreGatewayHandlers as t, upsertPresence as u, TICK_INTERVAL_MS as v, appendCronRunLog as x, getHandshakeTimeoutMs as y };