@symerian/symi 3.3.1 → 3.3.2

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 (259) hide show
  1. package/dist/{agent-BI1-UXxQ.js → agent-BED0HDsS.js} +2 -5
  2. package/dist/{agent-DeLysRUa.js → agent-pDOR_idq.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-mZX2a3hp.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-BgCnInKE.js} +8 -8
  9. package/dist/{auth-choice-T77Ymi34.js → auth-choice-nKtOJ3wF.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-C2jUZyMq.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-DBKd8H2k.js} +1 -1
  22. package/dist/{channel-options-C1yi5h7A.js → channel-options-DRzIcaL1.js} +1 -1
  23. package/dist/{channels-cli-Pxe1OINS.js → channels-cli-CdfROBlW.js} +55 -55
  24. package/dist/{channels-cli-BYeGzy-G.js → channels-cli-CxUB3oX1.js} +10 -10
  25. package/dist/{chrome-FAf5DZL2.js → chrome-CejiigNy.js} +10 -10
  26. package/dist/{chrome-CQnRgvJz.js → chrome-b556dOQ6.js} +7 -7
  27. package/dist/{chrome-NUKborg3.js → chrome-owBWinlj.js} +2 -2
  28. package/dist/{chunk-DX6VtywY.js → chunk-5H33X8qU.js} +1 -1
  29. package/dist/{cli-Dt-wfm_7.js → cli-CzEP9cIM.js} +7 -7
  30. package/dist/{cli-DFNOC2Ad.js → cli-DWcoPSRG.js} +43 -43
  31. package/dist/{client-Bs2zB0rY.js → client-ZZqt0H0-.js} +1 -1
  32. package/dist/{command-registry-BwbT4ll7.js → command-registry-5O5dCHsD.js} +10 -10
  33. package/dist/{commands-registry-C5IdtVVy.js → commands-registry-DaPrWQSe.js} +4 -4
  34. package/dist/{commands-registry-DYk02tmt.js → commands-registry-W2GQIywv.js} +1 -1
  35. package/dist/{completion-cli-DiNUqrNY.js → completion-cli-D4wYjxBG.js} +12 -12
  36. package/dist/{completion-cli-CyOSA5xZ.js → completion-cli-DqrFJhG4.js} +2 -2
  37. package/dist/{config-CW8aDVM0.js → config-CphS_6eg.js} +2 -2
  38. package/dist/{config-cli-DBU_S417.js → config-cli-BE2vvf40.js} +4 -4
  39. package/dist/{config-cli-DfG0nukz.js → config-cli-CfA5xnD-.js} +1 -1
  40. package/dist/{config-guard-CNmD3-IC.js → config-guard-B5BwQ-AP.js} +6 -6
  41. package/dist/{config-validation-Bz5CV181.js → config-validation-A2rXGvVY.js} +1 -1
  42. package/dist/{configure-BkH4ueot.js → configure-CPY4n9mx.js} +14 -14
  43. package/dist/{configure-BYu2DI_6.js → configure-DYDsHAWF.js} +2 -2
  44. package/dist/{consolidate-Cx7qF5Ht.js → consolidate-7Usm-b2g.js} +6 -6
  45. package/dist/{consolidate-dh1m3X1s.js → consolidate-C-HKdAJo.js} +2 -2
  46. package/dist/{control-service-Drd2sr2o.js → control-service-CMVDL3Yl.js} +4 -4
  47. package/dist/{control-ui-assets-D22DSxhv.js → control-ui-assets-DUhvOLUL.js} +1 -1
  48. package/dist/{cron-cli-BTAdnRhX.js → cron-cli-DR4W075u.js} +7 -7
  49. package/dist/{daemon-cli-BY9BFNuw.js → daemon-cli-B__05b-d.js} +11 -11
  50. package/dist/{daemon-runtime-BH3ZBZXS.js → daemon-runtime-BD-3XS8R.js} +10 -10
  51. package/dist/{deliver-DZ7ynJYH.js → deliver-63FtOVMC.js} +3 -3
  52. package/dist/{deliver-kmnOOp9j.js → deliver-BY0HHHHB.js} +16 -16
  53. package/dist/{deliver-CRqS1O8w.js → deliver-DcP6aVt4.js} +1 -1
  54. package/dist/{deliver-Dlq2X0K5.js → deliver-i5knkyHl.js} +5 -5
  55. package/dist/{deps-i1g0Zpz4.js → deps-DD_ZCq3v.js} +1 -1
  56. package/dist/{devices-cli-Cqi6L8PH.js → devices-cli-CJom2K8b.js} +6 -6
  57. package/dist/{diagnostic-CQLyE7_n.js → diagnostic-D7z6O7v0.js} +1 -1
  58. package/dist/{diagnostics-nLP2i_BY.js → diagnostics-DxdqTfpW.js} +5 -5
  59. package/dist/{directory-cli-B0XsBWso.js → directory-cli-BwhEj1FE.js} +3 -3
  60. package/dist/{dm-policy-shared-CnKffdt_.js → dm-policy-shared-C1TQOlkZ.js} +1 -1
  61. package/dist/{dns-cli-BHWlCG31.js → dns-cli-DzQDEQM2.js} +3 -3
  62. package/dist/{docs-cli-DASNErN-.js → docs-cli--T-77Ujn.js} +1 -1
  63. package/dist/{doctor-completion-D_cwpDAq.js → doctor-completion-C6M7eRb_.js} +2 -2
  64. package/dist/{doctor-completion-DqvmZZEo.js → doctor-completion-DkwAZ_yS.js} +1 -1
  65. package/dist/{doctor-config-flow-BvHSaiFy.js → doctor-config-flow-4UT3396o.js} +9 -9
  66. package/dist/entry.js +1 -1
  67. package/dist/{exec-approvals-cli-CyHTywue.js → exec-approvals-cli-D-MLmhzh.js} +13 -13
  68. package/dist/extensionAPI.js +6 -6
  69. package/dist/{frontmatter-BW7tVmn4.js → frontmatter-BzAaXBfE.js} +2 -2
  70. package/dist/{fs-safe-DjAKGGJ8.js → fs-safe-B6nMaZqV.js} +6 -6
  71. package/dist/{gateway-cli-BBqSqFGV.js → gateway-cli-Dm5RZoKM.js} +97 -117
  72. package/dist/{gateway-cli-BYGA5ex3.js → gateway-cli-K_XVNWQc.js} +15 -35
  73. package/dist/{gateway-rpc-BJF1iDnx.js → gateway-rpc-CUIXRk2t.js} +1 -1
  74. package/dist/{glass-ui-ws-DJnV8nJK.js → glass-ui-ws-B_7JgOGU.js} +11 -11
  75. package/dist/{glass-ui-ws-NJNiRFL3.js → glass-ui-ws-BbsrTxei.js} +65 -65
  76. package/dist/{health-D59E1VfO.js → health-BdxlhiXA.js} +4 -4
  77. package/dist/{hooks-cli-Bidz8ACz.js → hooks-cli-D5S_h70_.js} +57 -57
  78. package/dist/{hooks-cli-CyjEjDSY.js → hooks-cli-DyiztpNG.js} +8 -8
  79. package/dist/{image-ops-c7_of0HT.js → image-ops-C-gIIp7Q.js} +10 -10
  80. package/dist/index.js +50 -50
  81. package/dist/{inspect-op0Ov-v4.js → inspect-BDzd6yBs.js} +4 -4
  82. package/dist/{install-safe-path-B73BkVO3.js → install-safe-path-CQXx3s9R.js} +11 -11
  83. package/dist/{installs-ZXEjR9Sp.js → installs-CLp95gcX.js} +10 -10
  84. package/dist/{internal-C3o_xyzP.js → internal-CHnZdvRy.js} +9 -9
  85. package/dist/{lifecycle-core-zhQYm_ni.js → lifecycle-core-_BlNODTH.js} +5 -5
  86. package/dist/llm-slug-generator.js +28 -28
  87. package/dist/{local-roots-CTriU02e.js → local-roots-JhQs5w0I.js} +1 -1
  88. package/dist/{local-roots-Dm8-ErgQ.js → local-roots-WWcVq0Ma.js} +3 -3
  89. package/dist/{logs-cli-B7RJ57Dc.js → logs-cli-BEWOyW5R.js} +7 -7
  90. package/dist/{manager-Dsdh0rGn.js → manager-BT2SbOdg.js} +6 -6
  91. package/dist/{manager-9dNT9kNF.js → manager-BTtaJXdu.js} +14 -14
  92. package/dist/{manager-CpBl-VGg.js → manager-TrK63P2M.js} +1 -1
  93. package/dist/{manager-t4GthPGw.js → manager-ue49bRVP.js} +1 -1
  94. package/dist/{manifest-registry-B2vClvK5.js → manifest-registry-DsTUFMvZ.js} +1 -1
  95. package/dist/{markdown-tables-BaWa2kOe.js → markdown-tables-ptfgMe6b.js} +1 -1
  96. package/dist/{memory-DcWXMzOH.js → memory-Czxk_hJw.js} +5 -5
  97. package/dist/{memory-B7TJXpqS.js → memory-DJN1Q1jq.js} +2 -2
  98. package/dist/{memory-cli-xBZPEOeL.js → memory-cli-B-nQp5HP.js} +12 -12
  99. package/dist/{memory-cli-C0WA_nRS.js → memory-cli-C9ZqpaaB.js} +2 -2
  100. package/dist/{model-BXWgh5eZ.js → model-BKtw-Bqs.js} +1 -1
  101. package/dist/{model-catalog-BGVslwAT.js → model-catalog-DKBhNiWm.js} +4 -4
  102. package/dist/{model-picker-aTfyp_mP.js → model-picker-DKzvan7c.js} +3 -3
  103. package/dist/{models-cli-DiB4JqF2.js → models-cli-CuHQFbs7.js} +9 -9
  104. package/dist/{models-cli-h8h_qu3F.js → models-cli-D8rsqzuW.js} +53 -53
  105. package/dist/{models-config-DRgHv7Ss.js → models-config-CFUwiu4W.js} +7 -7
  106. package/dist/{models-IfAFy9bK.js → models-oqT-RVMM.js} +2 -2
  107. package/dist/{node-cli-BPkbqgRt.js → node-cli-CgWAxe-K.js} +27 -27
  108. package/dist/{node-service-DuN9eBL6.js → node-service-tPO_yUk7.js} +1 -1
  109. package/dist/{nodes-cli-C09c6nCf.js → nodes-cli-CprJ5K63.js} +10 -10
  110. package/dist/{nodes-screen-CT94yu_w.js → nodes-screen-JELuBMBi.js} +4 -4
  111. package/dist/{npm-registry-spec-B8X06AqB.js → npm-registry-spec-BXw_6vF6.js} +9 -9
  112. package/dist/{onboard-sMgEOBjV.js → onboard-BICXrIV1.js} +13 -13
  113. package/dist/{onboard-iL7Z0wKJ.js → onboard-D-xPcbdk.js} +1 -1
  114. package/dist/{onboard-channels-Deq8QGnM.js → onboard-channels-CiLPgwMl.js} +4 -4
  115. package/dist/{onboard-channels-BfzW-9vo.js → onboard-channels-IZ52XV8A.js} +1 -1
  116. package/dist/{onboard-custom-DEdRdzNq.js → onboard-custom-Cla8O-Tv.js} +3 -3
  117. package/dist/{onboard-helpers-DZKHFY2J.js → onboard-helpers-D2mWJnFB.js} +8 -8
  118. package/dist/{onboard-hooks-DZZM8goM.js → onboard-hooks-DZD-nGLB.js} +1 -1
  119. package/dist/{onboard-remote-dn4L5WdE.js → onboard-remote-Bi2BNRnh.js} +1 -1
  120. package/dist/{onboard-skills-DGHye9Q3.js → onboard-skills-C0XDXvWw.js} +4 -4
  121. package/dist/{onboarding-70YKbZi6.js → onboarding-B-jxZvC2.js} +3 -3
  122. package/dist/{onboarding-BjXYbWlg.js → onboarding-BmB9v20h.js} +12 -12
  123. package/dist/{onboarding.finalize-dU_CtL43.js → onboarding.finalize-BejpUEVe.js} +31 -31
  124. package/dist/{onboarding.finalize-Ch3V08eY.js → onboarding.finalize-DufFKTf4.js} +4 -4
  125. package/dist/{onboarding.gateway-config-DfF8Rxvn.js → onboarding.gateway-config-BmaAH8uo.js} +8 -8
  126. package/dist/{openai-model-default-D1NFHFF_.js → openai-model-default-BeRT9S75.js} +2 -2
  127. package/dist/{pairing-cli-CJv8LQfb.js → pairing-cli-DdtW6Nu-.js} +4 -4
  128. package/dist/{pairing-store-CxT0UGxd.js → pairing-store-mmeniyUt.js} +1 -1
  129. package/dist/{pairing-token-DorpwP8O.js → pairing-token-CURbSHdi.js} +7 -7
  130. package/dist/{paths-DaQrPPet.js → paths-Dc6A9_vI.js} +1 -1
  131. package/dist/{pi-auth-json-DGZH6URT.js → pi-auth-json-1Z1j1PDI.js} +5 -5
  132. package/dist/{pi-auth-json-BzuhVcKu.js → pi-auth-json-D4Bl4hBw.js} +1 -1
  133. package/dist/{pi-embedded-DOCVZrmx.js → pi-embedded-DoWU3tbW.js} +17 -190
  134. package/dist/{pi-embedded-helpers-Be-EeyzH.js → pi-embedded-helpers-BRM8EM4P.js} +6 -6
  135. package/dist/{pi-tools.policy-qwS9SXOa.js → pi-tools.policy-BBHbN8Nh.js} +3 -3
  136. package/dist/{plugin-auto-enable-zDUaiaf2.js → plugin-auto-enable-BCwyDNSP.js} +1 -1
  137. package/dist/{plugin-registry-BgGVB3kW.js → plugin-registry-BybhOEu2.js} +3 -3
  138. package/dist/{plugin-registry-CP2mbhwk.js → plugin-registry-CFRFz2CF.js} +1 -1
  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/plugin-sdk/index.js +6 -6
  147. package/dist/{plugins-yymezpEd.js → plugins-CcVzjOo_.js} +1 -1
  148. package/dist/{plugins-cli-1wkCRsFe.js → plugins-cli-D9jv4SGt.js} +8 -8
  149. package/dist/{plugins-cli-B_Gtx3LU.js → plugins-cli-Dw_F4XTt.js} +52 -52
  150. package/dist/{ports-ChuJYhEL.js → ports-DRHSHvqY.js} +1 -1
  151. package/dist/{ports-EAVAOFyK.js → ports-DqxP-bXz.js} +2 -2
  152. package/dist/{program-UyCr49qs.js → program-BijlJds3.js} +13 -13
  153. package/dist/{program-context-C7uCS8z7.js → program-context-f_krhr6H.js} +38 -38
  154. package/dist/{prompt-select-styled-DcMra8CK.js → prompt-select-styled-D4Dl6PAx.js} +36 -36
  155. package/dist/{prompt-select-styled-BRcRFLzB.js → prompt-select-styled-wUs9hOXT.js} +4 -4
  156. package/dist/{provider-auth-helpers-BJTb9xI0.js → provider-auth-helpers-B0LgxUJm.js} +1 -1
  157. package/dist/{provider-auth-helpers-Xn1TAPPY.js → provider-auth-helpers-Dqg9CSy6.js} +5 -5
  158. package/dist/{push-apns-Bfqnchj6.js → push-apns-C8U43QIp.js} +1 -1
  159. package/dist/{push-apns-Aaqf9WKI.js → push-apns-DBG95KxK.js} +4 -4
  160. package/dist/{pw-ai-B3qisJP1.js → pw-ai-BFZrohva.js} +1 -1
  161. package/dist/{pw-ai-DJrnU1ja.js → pw-ai-BHSw4eGG.js} +8 -8
  162. package/dist/{pw-ai-C-ddUgTA.js → pw-ai-BW5obXRK.js} +7 -7
  163. package/dist/{qmd-manager-D5kqCz-Y.js → qmd-manager-C-J9Sfjk.js} +19 -19
  164. package/dist/{qmd-manager-DrM6m9z1.js → qmd-manager-CTHJcHPq.js} +5 -5
  165. package/dist/{qr-cli-B_mw4i0R.js → qr-cli-BIdgVMK1.js} +3 -3
  166. package/dist/{register.agent-BqKNzdaW.js → register.agent-B0UZREcL.js} +65 -65
  167. package/dist/{register.agent-vAJ0_4m0.js → register.agent-BQa36aBT.js} +12 -12
  168. package/dist/{register.configure-7TmTqCgU.js → register.configure-C2da871z.js} +68 -68
  169. package/dist/{register.configure-BzgavjpU.js → register.configure-DXxKMVFv.js} +11 -11
  170. package/dist/{register.maintenance-6Wz4HXlm.js → register.maintenance-CU2sJOVr.js} +65 -65
  171. package/dist/{register.maintenance-BJO0RCk9.js → register.maintenance-DUuHNER1.js} +12 -12
  172. package/dist/{register.message-XYivyrQJ.js → register.message-DIDXm7JJ.js} +45 -45
  173. package/dist/{register.message-CW9PahRi.js → register.message-zAQ9mzwS.js} +8 -8
  174. package/dist/{register.onboard-BgwkmP4D.js → register.onboard-BQrBlJMk.js} +22 -22
  175. package/dist/{register.onboard-MWRC29wD.js → register.onboard-xApCQkav.js} +2 -2
  176. package/dist/{register.setup-7OoAqQG_.js → register.setup-C3DgnQee.js} +25 -25
  177. package/dist/{register.setup-V-arsKvb.js → register.setup-CfJlyVIU.js} +2 -2
  178. package/dist/{register.status-health-sessions-Bgg1sdY_.js → register.status-health-sessions-CZKtQH3R.js} +38 -38
  179. package/dist/{register.status-health-sessions-1VnuXhGM.js → register.status-health-sessions-D7eQHV4A.js} +3 -3
  180. package/dist/{register.subclis-DpPYIqkP.js → register.subclis-DBKLQ-vk.js} +9 -9
  181. package/dist/{registry-9AaJQms1.js → registry-C-JddWwo.js} +2 -2
  182. package/dist/{replies-CgVOirGF.js → replies-BOy28KVL.js} +1 -1
  183. package/dist/{replies-pnMj7AtP.js → replies-BeK3uuQ8.js} +1 -1
  184. package/dist/{replies-BZN1LuJP.js → replies-C82xaXm3.js} +3 -3
  185. package/dist/{replies-Dqft-42v.js → replies-P7jbK6Bo.js} +2 -2
  186. package/dist/{reply-prefix-DkDTGwTs.js → reply-prefix-ChIeKp-P.js} +1 -1
  187. package/dist/{reply-prefix-CyLplifX.js → reply-prefix-xaWqfM9m.js} +1 -1
  188. package/dist/{resolve-route-CIA0TSsF.js → resolve-route-CIS2tjpz.js} +3 -3
  189. package/dist/{resolve-route-xpyI3enn.js → resolve-route-DKhx5C-P.js} +1 -1
  190. package/dist/{routes-xZZ99jJJ.js → routes-BJ2iXVJF.js} +10 -10
  191. package/dist/{rpc-BzR2wLkc.js → rpc-CSI4uFgj.js} +1 -1
  192. package/dist/{run-main-n0fjk-o5.js → run-main-C_9MD69x.js} +20 -20
  193. package/dist/{sandbox-DGG12SGo.js → sandbox-CQU7Gcb9.js} +18 -18
  194. package/dist/{sandbox-cli--d2MJPM2.js → sandbox-cli-Ci90LP_X.js} +13 -13
  195. package/dist/{security-cli-CeP9ss1g.js → security-cli-BfOZ_cJN.js} +28 -28
  196. package/dist/{send-BzUWmgQ9.js → send-BAKkoPOy.js} +7 -7
  197. package/dist/{send-BQJKg0bU.js → send-DulXmWcG.js} +7 -7
  198. package/dist/{server-context-BNbx1tUD.js → server-context-BsMQBnUG.js} +5 -5
  199. package/dist/{server-methods-BHg4GltA.js → server-methods-B4kcazJq.js} +57 -57
  200. package/dist/{server-methods-DkZ2XtEo.js → server-methods-BLH71I9g.js} +7 -7
  201. package/dist/{server-node-events-6dZ22EGj.js → server-node-events-BercSdmp.js} +46 -46
  202. package/dist/{server-node-events-BXviL2UH.js → server-node-events-DO4ug_A0.js} +9 -9
  203. package/dist/{service-9ItKCWWS.js → service-AP9pR9R5.js} +15 -15
  204. package/dist/{session-dirs-B6PWqKEf.js → session-dirs-Chh7bBGo.js} +2 -2
  205. package/dist/{session-utils-BVC8mmBv.js → session-utils-0F9pB5d6.js} +12 -12
  206. package/dist/{sessions-BaFVKzC2.js → sessions-DQMaURzb.js} +11 -11
  207. package/dist/{shared-DUmy8R4n.js → shared-4Z8Ut8Cs.js} +3 -3
  208. package/dist/{shared-ot5_jkpP.js → shared-DmYHvtn2.js} +1 -1
  209. package/dist/{skill-commands-DaNhP2Jb.js → skill-commands-Cwrebyvj.js} +5 -5
  210. package/dist/{skill-commands-X3T9Y9lT.js → skill-commands-DP1fshwh.js} +4 -4
  211. package/dist/{skill-scanner-DVq7ZopF.js → skill-scanner-qMQf6-FN.js} +5 -5
  212. package/dist/{skills-BMTJ2Tiq.js → skills-D0k4o0Ez.js} +6 -6
  213. package/dist/{skills-C_KgxpBD.js → skills-DL8DjveU.js} +4 -4
  214. package/dist/{skills-cli-DwYoPwkG.js → skills-cli-BkIH3HKr.js} +7 -7
  215. package/dist/{skills-install-U4FmCP8u.js → skills-install-C9uT4MR2.js} +3 -3
  216. package/dist/{skills-remote-C0gcKYWX.js → skills-remote-Db5Wwr4s.js} +3 -3
  217. package/dist/{skills-status-CdfQvU1h.js → skills-status-Dx3Lf5iU.js} +1 -1
  218. package/dist/{sqlite-C6MZhX4c.js → sqlite--aBEq1-J.js} +1 -1
  219. package/dist/{sqlite-BUXBg2yu.js → sqlite-DBEvS-Ne.js} +5 -5
  220. package/dist/{ssrf-BvjSIOlZ.js → ssrf-Dcgaqg3U.js} +9 -9
  221. package/dist/{status-BAnT_4qI.js → status-3CIcz22o.js} +3 -3
  222. package/dist/{status-J_gR_zbh.js → status-BdrH4P1l.js} +1 -1
  223. package/dist/{status-BK-ZK7SP.js → status-DA_sl7Yp.js} +23 -23
  224. package/dist/{status-CmoBgZ99.js → status-uVc7h7PN.js} +1 -1
  225. package/dist/{status.update-Cvj7y384.js → status.update-CQ1vKrEg.js} +3 -3
  226. package/dist/{subagent-registry-CWolsN8K.js → subagent-registry-CgZDo35C.js} +15 -192
  227. package/dist/{subsystem-DhOo2FZn.js → subsystem-DzRUKS9f.js} +1 -1
  228. package/dist/{symi-root-0MUhiNlM.js → symi-root-DueRHNOE.js} +2 -2
  229. package/dist/{synthesis-D3wZX5g3.js → synthesis-B_K7BSX3.js} +28 -28
  230. package/dist/{synthesis-DTZGPpj5.js → synthesis-DmdaBp-J.js} +6 -6
  231. package/dist/{synthesis-BSKiS446.js → synthesis-DwfzSD3_.js} +7 -7
  232. package/dist/{synthesis-CRQp5mTx.js → synthesis-w1oM0_-6.js} +43 -43
  233. package/dist/{system-cli-CUGyogmP.js → system-cli-5_JOcUt0.js} +7 -7
  234. package/dist/{systemd-8KKQdTO_.js → systemd-9LEEqibe.js} +5 -5
  235. package/dist/{systemd-hints-_ghBqtKo.js → systemd-hints-CeavseQh.js} +6 -6
  236. package/dist/{systemd-linger-CnKJZBUr.js → systemd-linger-PqG8iGCt.js} +1 -1
  237. package/dist/{thinking-BYtE7_UC.js → thinking-CMIo8E_E.js} +2 -2
  238. package/dist/{tokens-wW7opugV.js → tokens-BBh6tlmO.js} +2 -5
  239. package/dist/{tokens-DvvjOTxN.js → tokens-BKbemuIk.js} +1 -4
  240. package/dist/{tokens-CGqnWNmv.js → tokens-CJgPtOxz.js} +1 -4
  241. package/dist/{tokens-DJQ4rO24.js → tokens-K3kGchJA.js} +1 -4
  242. package/dist/{tool-loop-detection-DyZ0TWGh.js → tool-loop-detection-BR52lwOt.js} +2 -2
  243. package/dist/{tui-fKWqWqeq.js → tui-Bnusp3Vd.js} +7 -7
  244. package/dist/{tui-cli-BPOcMJ-f.js → tui-cli-BY8W9Yjm.js} +19 -19
  245. package/dist/{unified-runner-DftrstdI.js → unified-runner-BPgxfuKU.js} +52 -225
  246. package/dist/{unified-runner-Cdj1nLUh.js → unified-runner-DzycRpag.js} +106 -283
  247. package/dist/{update-XJWQZpV7.js → update-BvDXKE6K.js} +3 -3
  248. package/dist/{update-check-BdSIMYWq.js → update-check-CZxZhEXr.js} +5 -5
  249. package/dist/{update-cli-jQo-vg6S.js → update-cli-C4I2k2u9.js} +12 -12
  250. package/dist/{update-cli-D_MLjj6j.js → update-cli-DYYKfrbM.js} +75 -75
  251. package/dist/{update-runner-D_UHlPN0.js → update-runner-C8L4XRQb.js} +15 -15
  252. package/dist/{webhooks-cli-DgRLVVrD.js → webhooks-cli-CXbv4eB6.js} +4 -4
  253. package/dist/{with-timeout-DwVWQ2sN.js → with-timeout-C0UtpXBj.js} +1 -1
  254. package/dist/{workspace-OBnI5mKu.js → workspace-CsaDUuDn.js} +2 -2
  255. package/dist/{workspace-dirs-DStsDXra.js → workspace-dirs-gn_0yzFP.js} +1 -1
  256. package/dist/{wsl-DO9usEVV.js → wsl-ZWGwnnKI.js} +2 -2
  257. package/package.json +1 -1
  258. package/dist/plugin-sdk/auto-reply/heartbeat.d.ts +0 -26
  259. package/dist/plugin-sdk/auto-reply/reply/middleware-heartbeat-strip.d.ts +0 -25
@@ -1,7 +1,7 @@
1
- import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-Cdj1nLUh.js";
1
+ import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-DzycRpag.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
3
- import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BjEBQhs0.js";
4
- import { i as loadConfig } from "./config-CW8aDVM0.js";
3
+ import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-B_oqIiaD.js";
4
+ import { i as loadConfig } from "./config-CphS_6eg.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -14,7 +14,7 @@ import { n as listChannelPlugins } from "./plugins-Bq-Msc8Z.js";
14
14
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-BsA0YClX.js";
15
15
  import { i as formatPortDiagnostics, n as inspectPortUsage } from "./ports-Cv4kt1bT.js";
16
16
  import { c as resolveStorePath } from "./paths-CNexk5_o.js";
17
- import { t as getMemorySearchManager } from "./memory-B7TJXpqS.js";
17
+ import { t as getMemorySearchManager } from "./memory-DJN1Q1jq.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-Cyq001S7.js";
19
19
  import { t as getRemoteSkillEligibility } from "./skills-remote-DEkSSz2R.js";
20
20
  import { _ as peekSystemEvents, b as formatChannelAllowFrom, d as formatUsageReportLines, n as sha256HexPrefix, o as readRestartSentinel, s as summarizeRestartSentinel, u as loadProviderUsageSummary, v as buildChannelSummary, y as buildChannelAccountSnapshot } from "./redact-identifier-gZfj5mH2.js";
@@ -1,42 +1,42 @@
1
1
  import { A as isRich, j as theme, x as info } from "./registry-DKJLAPDB.js";
2
2
  import { u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
3
- import { Ht as DEFAULT_MODEL, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS } from "./auth-profiles-BVtpxYtY.js";
3
+ import { Ht as DEFAULT_MODEL, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS } from "./auth-profiles-CPlXilKu.js";
4
4
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
5
5
  import { x as parseAgentSessionKey } from "./session-key-B_ZVH1kE.js";
6
- import { t as resolveSymiPackageRoot } from "./symi-root-0MUhiNlM.js";
6
+ import { t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
7
7
  import { n as runExec } from "./exec-DKyLtSjm.js";
8
- import { c as resolveAgentWorkspaceDir } from "./agent-scope-BjEBQhs0.js";
9
- import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-CW8aDVM0.js";
8
+ import { c as resolveAgentWorkspaceDir } from "./agent-scope-B_oqIiaD.js";
9
+ import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-CphS_6eg.js";
10
10
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-D7dC-5EX.js";
11
- import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-EAVAOFyK.js";
12
- import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-BaFVKzC2.js";
11
+ import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-DqxP-bXz.js";
12
+ import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-DQMaURzb.js";
13
13
  import { n as listChannelPlugins } from "./plugins-DuuHorqi.js";
14
14
  import { c as resolveStorePath } from "./paths-CJcw9nbZ.js";
15
- import { A as sha256HexPrefix, D as buildChannelAccountSnapshot, E as buildChannelSummary, O as formatChannelAllowFrom, T as peekSystemEvents, _ as loadProviderUsageSummary, l as resolveSessionModelRef, m as summarizeRestartSentinel, n as classifySessionKey, p as readRestartSentinel, r as listAgentsForGateway, v as formatUsageReportLines, x as lookupContextTokens } from "./session-utils-BVC8mmBv.js";
16
- import { t as getMemorySearchManager } from "./memory-DcWXMzOH.js";
17
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CdXXPXpo.js";
15
+ import { A as sha256HexPrefix, D as buildChannelAccountSnapshot, E as buildChannelSummary, O as formatChannelAllowFrom, T as peekSystemEvents, _ as loadProviderUsageSummary, l as resolveSessionModelRef, m as summarizeRestartSentinel, n as classifySessionKey, p as readRestartSentinel, r as listAgentsForGateway, v as formatUsageReportLines, x as lookupContextTokens } from "./session-utils-0F9pB5d6.js";
16
+ import { t as getMemorySearchManager } from "./memory-Czxk_hJw.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-Du4CT1Hp.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-Vm-Tqk0h.js";
19
- import { t as getRemoteSkillEligibility } from "./skills-remote-C0gcKYWX.js";
19
+ import { t as getRemoteSkillEligibility } from "./skills-remote-Db5Wwr4s.js";
20
20
  import { r as formatDurationPrecise } from "./format-duration-DbZRICyO.js";
21
21
  import { n as withProgress } from "./progress-CyPyGCDn.js";
22
- import { t as buildWorkspaceSkillStatus } from "./skills-status-CdfQvU1h.js";
22
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-Dx3Lf5iU.js";
23
23
  import { t as resolveChannelDefaultAccountId } from "./helpers-BBypnAYf.js";
24
24
  import { t as collectChannelStatusIssues } from "./channels-status-issues-DC8vgOMo.js";
25
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-DZKHFY2J.js";
26
- import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-9ItKCWWS.js";
25
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-D2mWJnFB.js";
26
+ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-AP9pR9R5.js";
27
27
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-MlBj_J3u.js";
28
- import { t as readLastGatewayErrorLine } from "./diagnostics-nLP2i_BY.js";
28
+ import { t as readLastGatewayErrorLine } from "./diagnostics-DxdqTfpW.js";
29
29
  import { t as renderTable } from "./table-DkAQzCOR.js";
30
- import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-DQ_p2Pbq.js";
31
- import { t as formatHealthChannelLines } from "./health-D59E1VfO.js";
32
- import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-BdSIMYWq.js";
33
- import { t as resolveNodeService } from "./node-service-DuN9eBL6.js";
30
+ import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-B_HL4UJ_.js";
31
+ import { t as formatHealthChannelLines } from "./health-BdxlhiXA.js";
32
+ import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CZxZhEXr.js";
33
+ import { t as resolveNodeService } from "./node-service-tPO_yUk7.js";
34
34
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-C-0EAOjI.js";
35
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-Cvj7y384.js";
35
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-CQ1vKrEg.js";
36
36
  import path from "node:path";
37
37
  import fs from "node:fs";
38
38
  import os from "node:os";
39
- import fsPromises from "node:fs/promises";
39
+ import fs$1 from "node:fs/promises";
40
40
  import { spawnSync } from "node:child_process";
41
41
 
42
42
  //#region src/commands/gateway-presence.ts
@@ -125,7 +125,7 @@ function resolveOsSummary() {
125
125
  //#region src/commands/status-all/agents.ts
126
126
  async function fileExists$1(p) {
127
127
  try {
128
- await fsPromises.access(p);
128
+ await fs$1.access(p);
129
129
  return true;
130
130
  } catch {
131
131
  return false;
@@ -490,7 +490,7 @@ async function buildChannelsTable(cfg, opts) {
490
490
  //#endregion
491
491
  //#region src/commands/status-all/gateway.ts
492
492
  async function readFileTailLines(filePath, maxLines) {
493
- const raw = await fsPromises.readFile(filePath, "utf8").catch(() => "");
493
+ const raw = await fs$1.readFile(filePath, "utf8").catch(() => "");
494
494
  if (!raw.trim()) return [];
495
495
  const lines = raw.replace(/\r/g, "").split("\n");
496
496
  return lines.slice(Math.max(0, lines.length - maxLines)).map((line) => line.trimEnd()).filter((line) => line.trim().length > 0);
@@ -1256,7 +1256,7 @@ function resolveGatewayProbeAuth(cfg) {
1256
1256
  //#region src/commands/status.agent-local.ts
1257
1257
  async function fileExists(p) {
1258
1258
  try {
1259
- await fsPromises.access(p);
1259
+ await fs$1.access(p);
1260
1260
  return true;
1261
1261
  } catch {
1262
1262
  return false;
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
2
  import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-8LjCKvga.js";
3
3
  import { i as loadConfig } from "./config-B91360jE.js";
4
- import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-CWolsN8K.js";
4
+ import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-CgZDo35C.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,7 +1,7 @@
1
1
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
2
- import { t as resolveSymiPackageRoot } from "./symi-root-0MUhiNlM.js";
3
- import { N as VERSION } from "./config-CW8aDVM0.js";
4
- import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-BdSIMYWq.js";
2
+ import { t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
3
+ import { N as VERSION } from "./config-CphS_6eg.js";
4
+ import { n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CZxZhEXr.js";
5
5
 
6
6
  //#region src/commands/status.update.ts
7
7
  async function getUpdateCheckResult(params) {
@@ -25,7 +25,7 @@ import { t as normalizeChatType } from "./chat-type-BYHUZIi_.js";
25
25
  import { a as resolveSlackAccount, c as resolveSlackBotToken, n as listChannelPlugins, r as normalizeChannelId$1, s as resolveSlackAppToken, t as getChannelPlugin } from "./plugins-Bq-Msc8Z.js";
26
26
  import { _ as resolveSlackChannelId, a as markdownToIRWithMeta, c as MediaFetchError, d as createSlackWebClient, f as resolveSlackWebClientOptions, g as parseSlackTarget, h as buildSlackBlocksFallbackText, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as validateSlackBlocksArray, o as getDefaultLocalRoots, p as parseSlackBlocksInput, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit } from "./send-CLJ2KPVT.js";
27
27
  import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$2 } from "./with-timeout-BsavN1IH.js";
28
- import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-CRqS1O8w.js";
28
+ import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-DcP6aVt4.js";
29
29
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BevbDWGa.js";
30
30
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Zw87xFym.js";
31
31
  import { A as isRawApiErrorPayload, B as sanitizeGoogleTurnOrdering, C as isCloudCodeAssistFormatError, D as isFailoverErrorMessage, E as isFailoverAssistantError, F as sanitizeUserFacingText, I as buildBootstrapContextFiles, L as ensureSessionHeader, M as isTransientHttpError, N as parseImageDimensionError, O as isLikelyContextOverflowError, P as parseImageSizeError, R as resolveBootstrapMaxChars, S as isBillingAssistantError, T as isContextOverflowError, _ as formatAssistantErrorText, a as normalizeTextForComparison, b as getApiErrorPayloadFingerprint, c as sanitizeToolResultImages, d as extractToolResultId, f as downgradeOpenAIReasoningBlocks, g as classifyFailoverReason, h as BILLING_ERROR_USER_MESSAGE, i as isMessagingToolDuplicateNormalized, j as isTimeoutErrorMessage, k as isRateLimitAssistantError, l as resolveImageSanitizationLimits, m as isGoogleModelApi, n as validateGeminiTurns, o as sanitizeSessionMessagesImages, p as isAntigravityClaude, r as pickFallbackThinkingLevel, s as sanitizeImageBlocks, t as validateAnthropicTurns, u as extractToolCallsFromAssistant, v as formatBillingErrorMessage, w as isCompactionFailureError, x as isAuthAssistantError, y as formatRawAssistantErrorForUi, z as resolveBootstrapTotalMaxChars } from "./pi-embedded-helpers-DnAXWUyj.js";
@@ -44,8 +44,8 @@ import { t as emitSessionTranscriptUpdate } from "./transcript-events-C1GkbPky.j
44
44
  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, u as resolveResponseUsageMode } from "./thinking-BDh5LPh-.js";
45
45
  import { t as ensureSymiModelsJson } from "./models-config-BfmuswQ_.js";
46
46
  import { i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CRdCnS44.js";
47
- import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-B7TJXpqS.js";
48
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-CpBl-VGg.js";
47
+ import { n as resolveMemoryBackendConfig, t as getMemorySearchManager } from "./memory-DJN1Q1jq.js";
48
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, n as retryAsync, o as collectProviderApiKeysForExecution, s as executeWithApiKeyRotation } from "./manager-TrK63P2M.js";
49
49
  import { f as runTasksWithConcurrency } from "./internal-BuBDa4KX.js";
50
50
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BySyfaEr.js";
51
51
  import { n as resolveMarkdownTableMode } from "./markdown-tables-CCOfinlW.js";
@@ -57,7 +57,7 @@ import { a as shouldHandleTextCommands, i as normalizeCommandBody, n as listChat
57
57
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-wSdT0Ynz.js";
58
58
  import { n as formatTimeAgo } from "./format-relative-Cyq001S7.js";
59
59
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BtKMS2C8.js";
60
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-DJQ4rO24.js";
60
+ import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-K3kGchJA.js";
61
61
  import { g as getSkillsSnapshotVersion, h as ensureSkillsWatcher, t as getRemoteSkillEligibility } from "./skills-remote-DEkSSz2R.js";
62
62
  import { f as formatUsageWindowSummary, h as enqueueSystemEvent, i as formatDoctorNonInteractiveHint, l as writeRestartSentinel, m as drainSystemEventEntries, p as resolveUsageProviderId, t as redactIdentifier, u as loadProviderUsageSummary, v as buildChannelSummary } from "./redact-identifier-gZfj5mH2.js";
63
63
  import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-zuX3pwF5.js";
@@ -76,8 +76,8 @@ import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normal
76
76
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-p35DYzAL.js";
77
77
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BoF_Jubb.js";
78
78
  import { t as parseTimeoutMs } from "./parse-timeout-CMozMfzr.js";
79
- import { n as registerMemoryCli } from "./memory-cli-C0WA_nRS.js";
80
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-CgVOirGF.js";
79
+ import { n as registerMemoryCli } from "./memory-cli-C9ZqpaaB.js";
80
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-BOy28KVL.js";
81
81
  import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-D-WJTlz8.js";
82
82
  import { createRequire } from "node:module";
83
83
  import { execFileSync, spawn, spawnSync } from "node:child_process";
@@ -3934,97 +3934,6 @@ function buildInboundUserContextPrefix(ctx) {
3934
3934
  return blocks.filter(Boolean).join("\n\n");
3935
3935
  }
3936
3936
 
3937
- //#endregion
3938
- //#region src/auto-reply/heartbeat.ts
3939
- const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
3940
- function stripTokenAtEdges(raw) {
3941
- let text = raw.trim();
3942
- if (!text) return {
3943
- text: "",
3944
- didStrip: false
3945
- };
3946
- const token = SYMIPULSE_TOKEN;
3947
- const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
3948
- if (!text.includes(token)) return {
3949
- text,
3950
- didStrip: false
3951
- };
3952
- let didStrip = false;
3953
- let changed = true;
3954
- while (changed) {
3955
- changed = false;
3956
- const next = text.trim();
3957
- if (next.startsWith(token)) {
3958
- text = next.slice(token.length).trimStart();
3959
- didStrip = true;
3960
- changed = true;
3961
- continue;
3962
- }
3963
- if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
3964
- const idx = next.lastIndexOf(token);
3965
- const before = next.slice(0, idx).trimEnd();
3966
- if (!before) text = "";
3967
- else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
3968
- didStrip = true;
3969
- changed = true;
3970
- }
3971
- }
3972
- return {
3973
- text: text.replace(/\s+/g, " ").trim(),
3974
- didStrip
3975
- };
3976
- }
3977
- function stripHeartbeatToken(raw, opts = {}) {
3978
- if (!raw) return {
3979
- shouldSkip: true,
3980
- text: "",
3981
- didStrip: false
3982
- };
3983
- const trimmed = raw.trim();
3984
- if (!trimmed) return {
3985
- shouldSkip: true,
3986
- text: "",
3987
- didStrip: false
3988
- };
3989
- const mode = opts.mode ?? "message";
3990
- const maxAckCharsRaw = opts.maxAckChars;
3991
- const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
3992
- const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
3993
- const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/&nbsp;/gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
3994
- const trimmedNormalized = stripMarkup(trimmed);
3995
- if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
3996
- shouldSkip: false,
3997
- text: trimmed,
3998
- didStrip: false
3999
- };
4000
- const strippedOriginal = stripTokenAtEdges(trimmed);
4001
- const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
4002
- const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
4003
- if (!picked.didStrip) return {
4004
- shouldSkip: false,
4005
- text: trimmed,
4006
- didStrip: false
4007
- };
4008
- if (!picked.text) return {
4009
- shouldSkip: true,
4010
- text: "",
4011
- didStrip: true
4012
- };
4013
- const rest = picked.text.trim();
4014
- if (mode === "heartbeat") {
4015
- if (rest.length <= maxAckChars) return {
4016
- shouldSkip: true,
4017
- text: "",
4018
- didStrip: true
4019
- };
4020
- }
4021
- return {
4022
- shouldSkip: false,
4023
- text: rest,
4024
- didStrip: true
4025
- };
4026
- }
4027
-
4028
3937
  //#endregion
4029
3938
  //#region src/auto-reply/reply/normalize-reply.ts
4030
3939
  function normalizeReplyPayload(payload, opts = {}) {
@@ -4045,15 +3954,6 @@ function normalizeReplyPayload(payload, opts = {}) {
4045
3954
  text = "";
4046
3955
  }
4047
3956
  if (text && !trimmed) text = "";
4048
- if ((opts.stripHeartbeat ?? true) && text?.includes(HEARTBEAT_TOKEN)) {
4049
- const stripped = stripHeartbeatToken(text, { mode: "message" });
4050
- if (stripped.didStrip) opts.onHeartbeatStrip?.();
4051
- if (stripped.shouldSkip && !hasMedia && !hasChannelData) {
4052
- opts.onSkip?.("heartbeat");
4053
- return null;
4054
- }
4055
- text = stripped.text;
4056
- }
4057
3957
  if (text) text = sanitizeUserFacingText(text, { errorContext: Boolean(payload.isError) });
4058
3958
  if (!text?.trim() && !hasMedia && !hasChannelData) {
4059
3959
  opts.onSkip?.("empty");
@@ -4064,7 +3964,7 @@ function normalizeReplyPayload(payload, opts = {}) {
4064
3964
  text
4065
3965
  };
4066
3966
  const effectivePrefix = opts.responsePrefixContext ? resolveResponsePrefixTemplate(opts.responsePrefix, opts.responsePrefixContext) : opts.responsePrefix;
4067
- if (effectivePrefix && text && text.trim() !== HEARTBEAT_TOKEN && !text.startsWith(effectivePrefix)) text = `${effectivePrefix} ${text}`;
3967
+ if (effectivePrefix && text && !text.startsWith(effectivePrefix)) text = `${effectivePrefix} ${text}`;
4068
3968
  return {
4069
3969
  ...enrichedPayload,
4070
3970
  text
@@ -4121,7 +4021,7 @@ async function routeReply(params) {
4121
4021
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
4122
4022
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
4123
4023
  try {
4124
- const { deliverOutboundPayloads } = await import("./deliver-CRqS1O8w.js").then((n) => n.n);
4024
+ const { deliverOutboundPayloads } = await import("./deliver-DcP6aVt4.js").then((n) => n.n);
4125
4025
  return {
4126
4026
  ok: true,
4127
4027
  messageId: (await deliverOutboundPayloads({
@@ -15414,8 +15314,6 @@ function buildAgentSystemPrompt(params) {
15414
15314
  const reasoningLevel = params.reasoningLevel ?? "off";
15415
15315
  const userTimezone = params.userTimezone?.trim();
15416
15316
  const skillsPrompt = params.skillsPrompt?.trim();
15417
- const heartbeatPrompt = params.heartbeatPrompt?.trim();
15418
- const heartbeatPromptLine = heartbeatPrompt ? `Heartbeat prompt: ${heartbeatPrompt}` : "Heartbeat prompt: (configured)";
15419
15317
  const runtimeInfo = params.runtimeInfo;
15420
15318
  const runtimeChannel = runtimeInfo?.channel?.trim().toLowerCase();
15421
15319
  const runtimeCapabilities = (runtimeInfo?.capabilities ?? []).map((cap) => String(cap).trim()).filter(Boolean);
@@ -15628,7 +15526,6 @@ function buildAgentSystemPrompt(params) {
15628
15526
  for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
15629
15527
  }
15630
15528
  if (!isMinimal && !isCoding) lines.push("## Silent Replies", `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`, "", "⚠️ Rules:", "- It must be your ENTIRE message — nothing else", `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies)`, "- Never wrap it in markdown or code blocks", "", `❌ Wrong: "Here's help... ${SILENT_REPLY_TOKEN}"`, `❌ Wrong: "${SILENT_REPLY_TOKEN}"`, `✅ Right: ${SILENT_REPLY_TOKEN}`, "");
15631
- if (!isMinimal && !isCoding) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "SYMIPULSE_OK", "Symi treats a leading/trailing \"SYMIPULSE_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"SYMIPULSE_OK\"; reply with the alert text instead.", "");
15632
15529
  lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
15633
15530
  return lines.filter(Boolean).join("\n");
15634
15531
  }
@@ -15758,7 +15655,6 @@ async function resolveCommandsSystemPromptBundle(params) {
15758
15655
  userTimeFormat,
15759
15656
  contextFiles: injectedFiles,
15760
15657
  skillsPrompt,
15761
- heartbeatPrompt: void 0,
15762
15658
  runtimeInfo,
15763
15659
  sandboxInfo,
15764
15660
  memoryCitationsMode: params.cfg?.memory?.citations
@@ -28986,7 +28882,7 @@ async function deliverSessionMaintenanceWarning(params) {
28986
28882
  return;
28987
28883
  }
28988
28884
  try {
28989
- const { deliverOutboundPayloads } = await import("./deliver-CRqS1O8w.js").then((n) => n.n);
28885
+ const { deliverOutboundPayloads } = await import("./deliver-DcP6aVt4.js").then((n) => n.n);
28990
28886
  await deliverOutboundPayloads({
28991
28887
  cfg: params.cfg,
28992
28888
  channel,
@@ -30448,17 +30344,11 @@ function resolveModelProfile(modelId, userProfiles) {
30448
30344
  //#endregion
30449
30345
  //#region src/gateway/outbound-filter.ts
30450
30346
  const SILENT_REPLY_BARE_RE = new RegExp(`^\\s*(?:["'\`]|\\*+|_+)?\\s*${SILENT_REPLY_TOKEN}\\s*(?:["'\`]|\\*+|_+)?\\s*$`);
30451
- const SYMIPULSE_BARE_RE = new RegExp(`^\\s*(?:["'\`]|\\*+|_+)?\\s*${SYMIPULSE_TOKEN}\\s*(?:["'\`]|\\*+|_+)?\\s*$`);
30452
30347
  /** Strict-match check for the bare NO_REPLY token. */
30453
30348
  function isBareSilentReply(text) {
30454
30349
  if (!text) return false;
30455
30350
  return SILENT_REPLY_BARE_RE.test(text);
30456
30351
  }
30457
- /** Strict-match check for the bare SYMIPULSE_OK token. */
30458
- function isBareSymipulseAck(text) {
30459
- if (!text) return false;
30460
- return SYMIPULSE_BARE_RE.test(text);
30461
- }
30462
30352
  /**
30463
30353
  * Classify an outbound assistant message at the gateway boundary.
30464
30354
  *
@@ -30472,11 +30362,6 @@ function classifyOutboundMessage(rawText, _opts) {
30472
30362
  output: "",
30473
30363
  reason: "silent-reply-bare"
30474
30364
  };
30475
- if (isBareSymipulseAck(text)) return {
30476
- action: "drop",
30477
- output: "",
30478
- reason: "symipulse-non-heartbeat-bare"
30479
- };
30480
30365
  return {
30481
30366
  action: "deliver",
30482
30367
  output: text,
@@ -37339,10 +37224,8 @@ function buildEmbeddedSystemPrompt(params) {
37339
37224
  ownerDisplay: params.ownerDisplay,
37340
37225
  ownerDisplaySecret: params.ownerDisplaySecret,
37341
37226
  reasoningTagHint: params.reasoningTagHint,
37342
- heartbeatPrompt: params.heartbeatPrompt,
37343
37227
  skillsPrompt: params.skillsPrompt,
37344
37228
  docsPath: params.docsPath,
37345
- ttsHint: params.ttsHint,
37346
37229
  workspaceNotes: params.workspaceNotes,
37347
37230
  reactionGuidance: params.reactionGuidance,
37348
37231
  promptMode: params.promptMode,
@@ -38112,7 +37995,6 @@ async function runEmbeddedAttempt(params) {
38112
37995
  ownerDisplay: params.config?.commands?.ownerDisplay,
38113
37996
  ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
38114
37997
  reasoningTagHint,
38115
- heartbeatPrompt: void 0,
38116
37998
  skillsPrompt,
38117
37999
  docsPath: docsPath ?? void 0,
38118
38000
  workspaceNotes,
@@ -40507,54 +40389,6 @@ function withFastAbort(opts) {
40507
40389
  };
40508
40390
  }
40509
40391
 
40510
- //#endregion
40511
- //#region src/auto-reply/reply/middleware-heartbeat-strip.ts
40512
- /**
40513
- * Returns a PayloadMiddleware that strips heartbeat tokens, drops silent
40514
- * replies, and sanitizes user-facing text. Reads `ctx.isHeartbeat` to
40515
- * decide whether to strip; reads `payload.isError` to give the sanitizer
40516
- * the right context flag.
40517
- *
40518
- * Equivalence claim (proven by tests): for every input shape the chain's
40519
- * `normalizeStreamingText({text})` would have produced `{ skip, text }`,
40520
- * this middleware produces the corresponding `PayloadDelivery`:
40521
- *
40522
- * skip=true → delivered=false (drop)
40523
- * skip=false, text=undefined → delivered=true with payload.text undefined
40524
- * (media-only carry-through case)
40525
- * skip=false, text=string → delivered=true with payload.text=sanitized
40526
- */
40527
- function withHeartbeatStrip(opts) {
40528
- let didLogStrip = false;
40529
- return (next) => async (payload, ctx) => {
40530
- let text = payload.text;
40531
- const hasMedia = Boolean(payload.mediaUrl) || (payload.mediaUrls?.length ?? 0) > 0;
40532
- if (typeof text === "string" && text.includes("SYMIPULSE_OK")) {
40533
- const stripped = stripHeartbeatToken(text, { mode: "message" });
40534
- if (stripped.didStrip && !didLogStrip) {
40535
- didLogStrip = true;
40536
- opts?.onStrip?.();
40537
- }
40538
- if (stripped.shouldSkip && !hasMedia) return PayloadDelivery.drop(payload, "drop:heartbeat-token-bare");
40539
- text = stripped.text;
40540
- }
40541
- if (isSilentReplyText(text, SILENT_REPLY_TOKEN)) return PayloadDelivery.drop(payload, "drop:silent-reply");
40542
- if (!text) {
40543
- if (hasMedia) return next({
40544
- ...payload,
40545
- text: void 0
40546
- }, ctx);
40547
- return PayloadDelivery.drop(payload, "drop:empty");
40548
- }
40549
- const sanitized = sanitizeUserFacingText(text, { errorContext: Boolean(payload.isError) });
40550
- if (!sanitized.trim()) return PayloadDelivery.drop(payload, "drop:empty-after-sanitize");
40551
- return next({
40552
- ...payload,
40553
- text: sanitized
40554
- }, ctx);
40555
- };
40556
- }
40557
-
40558
40392
  //#endregion
40559
40393
  //#region src/infra/map-size.ts
40560
40394
  function pruneMapToMaxSize(map, maxSize) {
@@ -40830,25 +40664,22 @@ function withToolResultSerialization(opts) {
40830
40664
  * session transcript after the inner runner completes.
40831
40665
  *
40832
40666
  * Skip conditions:
40833
- * - outbound.action === "drop" (NO_REPLY / heartbeat ack — no message)
40667
+ * - outbound.action === "drop" (NO_REPLY — no message)
40834
40668
  * - empty / whitespace-only text
40835
- * - outbound.action === "deliver-stripped" AND includeStripped=false
40836
40669
  *
40837
40670
  * The middleware does NOT mutate the turn result — the append is a
40838
40671
  * post-turn side effect. The result is returned unchanged regardless of
40839
40672
  * append success/failure.
40840
40673
  */
40841
40674
  function withTranscriptUpdate(opts) {
40842
- const includeStripped = opts.includeStripped !== false;
40843
40675
  return (next) => async (params) => {
40844
40676
  const result = await next(params);
40845
- if (shouldAppend(result, includeStripped)) await runAppend(opts, params, result);
40677
+ if (shouldAppend(result)) await runAppend(opts, params, result);
40846
40678
  return result;
40847
40679
  };
40848
40680
  }
40849
- function shouldAppend(result, includeStripped) {
40681
+ function shouldAppend(result) {
40850
40682
  if (result.outbound.action === "drop") return false;
40851
- if (result.outbound.action === "deliver-stripped" && !includeStripped) return false;
40852
40683
  return (typeof result.text === "string" ? result.text.trim() : "").length > 0;
40853
40684
  }
40854
40685
  async function runAppend(opts, params, result) {
@@ -40932,7 +40763,6 @@ function buildChannelProfile(opts) {
40932
40763
  ],
40933
40764
  payloadMiddlewares: [
40934
40765
  withPayloadDropOnEmpty(),
40935
- withHeartbeatStrip(),
40936
40766
  ...opts.typingSignaler ? [withTypingSignals({ signaler: opts.typingSignaler })] : [],
40937
40767
  withToolResultSerialization(),
40938
40768
  withChannelRouting({
@@ -40961,11 +40791,7 @@ function buildGlassUiProfile(opts) {
40961
40791
  withModelFallback(),
40962
40792
  ...opts.transcriptAppender ? [withTranscriptUpdate({ appender: opts.transcriptAppender })] : []
40963
40793
  ],
40964
- payloadMiddlewares: [
40965
- withPayloadDropOnEmpty(),
40966
- withHeartbeatStrip(),
40967
- withToolResultSerialization()
40968
- ],
40794
+ payloadMiddlewares: [withPayloadDropOnEmpty(), withToolResultSerialization()],
40969
40795
  payloadHandler: createReplyDispatcherHandler(opts.dispatcher)
40970
40796
  };
40971
40797
  }
@@ -41106,7 +40932,6 @@ function normalizeReplyPayloadInternal(payload, opts) {
41106
40932
  return normalizeReplyPayload(payload, {
41107
40933
  responsePrefix: opts.responsePrefix,
41108
40934
  responsePrefixContext: prefixContext,
41109
- onHeartbeatStrip: opts.onHeartbeatStrip,
41110
40935
  onSkip: opts.onSkip
41111
40936
  });
41112
40937
  }
@@ -41129,7 +40954,6 @@ function createReplyDispatcher(options) {
41129
40954
  responsePrefix: options.responsePrefix,
41130
40955
  responsePrefixContext: options.responsePrefixContext,
41131
40956
  responsePrefixContextProvider: options.responsePrefixContextProvider,
41132
- onHeartbeatStrip: options.onHeartbeatStrip,
41133
40957
  onSkip: (reason) => options.onSkip?.(payload, {
41134
40958
  kind,
41135
40959
  reason
@@ -45226,7 +45050,7 @@ async function registerSlackMonitorSlashCommands(params) {
45226
45050
  });
45227
45051
  const deliverSlashPayloads = async (replies) => {
45228
45052
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
45229
- import("./replies-CgVOirGF.js").then((n) => n.r),
45053
+ import("./replies-BOy28KVL.js").then((n) => n.r),
45230
45054
  import("./chunk-BySyfaEr.js").then((n) => n.s),
45231
45055
  import("./markdown-tables-CCOfinlW.js").then((n) => n.t)
45232
45056
  ]);
@@ -48051,7 +47875,6 @@ async function compactEmbeddedPiSessionDirect(params) {
48051
47875
  ownerDisplay: params.config?.commands?.ownerDisplay,
48052
47876
  ownerDisplaySecret: params.config?.commands?.ownerDisplaySecret ?? params.config?.gateway?.auth?.token ?? params.config?.gateway?.remote?.token,
48053
47877
  reasoningTagHint,
48054
- heartbeatPrompt: void 0,
48055
47878
  skillsPrompt,
48056
47879
  docsPath: docsPath ?? void 0,
48057
47880
  promptMode,
@@ -50006,4 +49829,4 @@ function initSubagentRegistry() {
50006
49829
  }
50007
49830
 
50008
49831
  //#endregion
50009
- export { normalizeCronJobCreate as $, estimateBase64DecodedBytes as $t, resolveRunWorkspaceDir as A, buildSystemPromptParams as At, ensureOutboundSessionEntry as B, applyModelOverrideToSessionEntry as Bt, buildGlassUiProfile as C, clearAgentRunContext as Cn, emitGatewayRestart as Ct, getActiveEmbeddedRunCount as D, registerAgentRunContext as Dn, setGatewaySigusr1RestartPolicy as Dt, abortEmbeddedPiRun as E, onAgentEvent as En, scheduleGatewaySigusr1Restart as Et, createSymiTools as F, resolveSendPolicy as Ft, formatTargetDisplay as G, DEFAULT_INPUT_IMAGE_MAX_BYTES as Gt, resolveOutboundTarget as H, parseVerboseOverride as Ht, listTasksInWorkdir as I, maskApiKey as It, runWithModelFallback as J, DEFAULT_INPUT_TIMEOUT_MS as Jt, resetDirectoryCache as K, DEFAULT_INPUT_IMAGE_MIMES as Kt, readLatestAssistantReply as L, DEFAULT_OAUTH_WARN_MS as Lt, resolveModelProfile as M, getProcessSupervisor as Mt, buildAgentTurnParams as N, detectRuntimeShell as Nt, waitForEmbeddedPiRunEnd as O, setPreRestartDeferralCheck as Ot, prepareReplyTurn as P, normalizeSendPolicy as Pt, normalizeHttpWebhookUrl as Q, resolveInputFileLimits as Qt, resolveAnnounceTargetFromKey as R, buildAuthHealthSummary as Rt, getTotalPendingReplies as S, CommandLane as Sn, deferGatewayRestartUntilIdle as St, runAgentTurn as T, getAgentRunContext as Tn, markGatewaySigusr1RestartHandled as Tt, resolveSessionDeliveryTarget as U, installUnhandledRejectionHandler as Ut, resolveOutboundSessionRoute as V, applyVerboseOverride as Vt, normalizePollInput as W, registerUnhandledRejectionHandler as Wt, describeFailoverError as X, extractImageContentFromSource as Xt, FailoverError as Y, extractFileContentFromSource as Yt, resolveFailoverStatus as Z, normalizeMimeList as Zt, requestBodyErrorToText as _, getActiveTaskCount as _n, applyBrowserProxyPaths as _t, listSubagentRunsForRequester as a, normalizeGroupActivation as an, normalizePayloadToSystemText as at, provider_dispatcher_exports as b, setCommandLaneConcurrency as bn, AGENT_LANE_SUBAGENT as bt, clearSessionQueues as c, isAbortTrigger as cn, buildDeliveryFromLegacyPayload as ct, sniffMimeFromBase64 as d, resolveSymiDocsPath as dn, CHANNEL_TARGETS_DESCRIPTION as dt, resolveAgentTimeoutMs as en, normalizeCronJobPatch as et, getPluginToolMeta as f, formatUserTime as fn, CHANNEL_TARGET_DESCRIPTION as ft, readJsonBodyWithLimit as g, resolveBootstrapContextForRun as gn, isExternalHookSession as gt, handleSlackHttpRequest as h, makeBootstrapWarn as hn, getHookType as ht, listDescendantRunsForRequester as i, stripHeartbeatToken as in, normalizeOptionalText as it, classifyOutboundMessage as j, resolveCommitHash as jt, redactRunIdentifier as k, buildAgentSystemPrompt as kt, applyToolPolicyPipeline as l, stopSubagentsForRequester as ln, hasLegacyDeliveryHints as lt, loadSymiPlugins as m, resolveUserTimezone as mn, detectSuspiciousPatterns as mt, countActiveRunsForSession as n, BARE_SESSION_RESET_PROMPT as nn, normalizeOptionalAgentId as nt, subagent_registry_exports as o, clearSessionAuthProfileOverride as on, normalizeRequiredName as ot, createPluginLoaderLogger as p, resolveUserTimeFormat as pn, buildSafeExternalPrompt as pt, CHANNEL_MESSAGE_ACTION_NAMES as q, DEFAULT_INPUT_MAX_REDIRECTS as qt, initSubagentRegistry as r, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as rn, normalizeOptionalSessionKey as rt, runSubagentAnnounceFlow as s, formatZonedTimestamp as sn, migrateLegacyCronPayload as st, countActiveDescendantRuns as t, prepareAgentRun as tn, inferLegacyName as tt, buildDefaultToolPolicyPipelineSteps as u, ToolInputError as un, stripLegacyDeliveryFields as ut, buildHistoryContextFromEntries as v, getTotalQueueSize as vn, persistBrowserProxyFiles as vt, runUnifiedTurn as w, emitAgentEvent as wn, isGatewaySigusr1RestartExternallyAllowed as wt, createReplyDispatcher as x, waitForActiveTasks as xn, consumeGatewaySigusr1RestartAuthorization as xt, getChannelActivity as y, resetAllLanes as yn, AGENT_LANE_NESTED as yt, runMessageAction as z, formatRemainingShort as zt };
49832
+ export { normalizeCronJobCreate as $, estimateBase64DecodedBytes as $t, resolveRunWorkspaceDir as A, buildSystemPromptParams as At, ensureOutboundSessionEntry as B, applyModelOverrideToSessionEntry as Bt, buildGlassUiProfile as C, getAgentRunContext as Cn, emitGatewayRestart as Ct, getActiveEmbeddedRunCount as D, setGatewaySigusr1RestartPolicy as Dt, abortEmbeddedPiRun as E, scheduleGatewaySigusr1Restart as Et, createSymiTools as F, resolveSendPolicy as Ft, formatTargetDisplay as G, DEFAULT_INPUT_IMAGE_MAX_BYTES as Gt, resolveOutboundTarget as H, parseVerboseOverride as Ht, listTasksInWorkdir as I, maskApiKey as It, runWithModelFallback as J, DEFAULT_INPUT_TIMEOUT_MS as Jt, resetDirectoryCache as K, DEFAULT_INPUT_IMAGE_MIMES as Kt, readLatestAssistantReply as L, DEFAULT_OAUTH_WARN_MS as Lt, resolveModelProfile as M, getProcessSupervisor as Mt, buildAgentTurnParams as N, detectRuntimeShell as Nt, waitForEmbeddedPiRunEnd as O, setPreRestartDeferralCheck as Ot, prepareReplyTurn as P, normalizeSendPolicy as Pt, normalizeHttpWebhookUrl as Q, resolveInputFileLimits as Qt, resolveAnnounceTargetFromKey as R, buildAuthHealthSummary as Rt, getTotalPendingReplies as S, emitAgentEvent as Sn, deferGatewayRestartUntilIdle as St, runAgentTurn as T, registerAgentRunContext as Tn, markGatewaySigusr1RestartHandled as Tt, resolveSessionDeliveryTarget as U, installUnhandledRejectionHandler as Ut, resolveOutboundSessionRoute as V, applyVerboseOverride as Vt, normalizePollInput as W, registerUnhandledRejectionHandler as Wt, describeFailoverError as X, extractImageContentFromSource as Xt, FailoverError as Y, extractFileContentFromSource as Yt, resolveFailoverStatus as Z, normalizeMimeList as Zt, requestBodyErrorToText as _, resetAllLanes as _n, applyBrowserProxyPaths as _t, listSubagentRunsForRequester as a, formatZonedTimestamp as an, normalizePayloadToSystemText as at, provider_dispatcher_exports as b, CommandLane as bn, AGENT_LANE_SUBAGENT as bt, clearSessionQueues as c, ToolInputError as cn, buildDeliveryFromLegacyPayload as ct, sniffMimeFromBase64 as d, resolveUserTimeFormat as dn, CHANNEL_TARGETS_DESCRIPTION as dt, resolveAgentTimeoutMs as en, normalizeCronJobPatch as et, getPluginToolMeta as f, resolveUserTimezone as fn, CHANNEL_TARGET_DESCRIPTION as ft, readJsonBodyWithLimit as g, getTotalQueueSize as gn, isExternalHookSession as gt, handleSlackHttpRequest as h, getActiveTaskCount as hn, getHookType as ht, listDescendantRunsForRequester as i, clearSessionAuthProfileOverride as in, normalizeOptionalText as it, classifyOutboundMessage as j, resolveCommitHash as jt, redactRunIdentifier as k, buildAgentSystemPrompt as kt, applyToolPolicyPipeline as l, resolveSymiDocsPath as ln, hasLegacyDeliveryHints as lt, loadSymiPlugins as m, resolveBootstrapContextForRun as mn, detectSuspiciousPatterns as mt, countActiveRunsForSession as n, BARE_SESSION_RESET_PROMPT as nn, normalizeOptionalAgentId as nt, subagent_registry_exports as o, isAbortTrigger as on, normalizeRequiredName as ot, createPluginLoaderLogger as p, makeBootstrapWarn as pn, buildSafeExternalPrompt as pt, CHANNEL_MESSAGE_ACTION_NAMES as q, DEFAULT_INPUT_MAX_REDIRECTS as qt, initSubagentRegistry as r, normalizeGroupActivation as rn, normalizeOptionalSessionKey as rt, runSubagentAnnounceFlow as s, stopSubagentsForRequester as sn, migrateLegacyCronPayload as st, countActiveDescendantRuns as t, prepareAgentRun as tn, inferLegacyName as tt, buildDefaultToolPolicyPipelineSteps as u, formatUserTime as un, stripLegacyDeliveryFields as ut, buildHistoryContextFromEntries as v, setCommandLaneConcurrency as vn, persistBrowserProxyFiles as vt, runUnifiedTurn as w, onAgentEvent as wn, isGatewaySigusr1RestartExternallyAllowed as wt, createReplyDispatcher as x, clearAgentRunContext as xn, consumeGatewaySigusr1RestartAuthorization as xt, getChannelActivity as y, waitForActiveTasks as yn, AGENT_LANE_NESTED as yt, runMessageAction as z, formatRemainingShort as zt };
@@ -1,4 +1,4 @@
1
- import { F as levelToMinLevel, I as normalizeLogLevel, L as readLoggingConfig, N as isFileLogLevelEnabled, P as loggingState, S as isVerbose, j as getChildLogger, n as CHAT_CHANNEL_ORDER } from "./registry-9AaJQms1.js";
1
+ import { F as levelToMinLevel, I as normalizeLogLevel, L as readLoggingConfig, N as isFileLogLevelEnabled, P as loggingState, S as isVerbose, j as getChildLogger, n as CHAT_CHANNEL_ORDER } from "./registry-C-JddWwo.js";
2
2
  import { Chalk } from "chalk";
3
3
 
4
4
  //#region src/terminal/progress-line.ts
@@ -1,7 +1,7 @@
1
1
  import { fileURLToPath } from "node:url";
2
2
  import path from "node:path";
3
3
  import fs from "node:fs";
4
- import fsPromises from "node:fs/promises";
4
+ import fs$1 from "node:fs/promises";
5
5
 
6
6
  //#region src/agents/skills/filter.ts
7
7
  function normalizeSkillFilter(skillFilter) {
@@ -26,7 +26,7 @@ function matchesSkillFilter(cached, next) {
26
26
  const CORE_PACKAGE_NAMES = new Set(["symi", "@symerian/symi"]);
27
27
  async function readPackageName(dir) {
28
28
  try {
29
- const raw = await fsPromises.readFile(path.join(dir, "package.json"), "utf-8");
29
+ const raw = await fs$1.readFile(path.join(dir, "package.json"), "utf-8");
30
30
  const parsed = JSON.parse(raw);
31
31
  return typeof parsed.name === "string" ? parsed.name : null;
32
32
  } catch {
@@ -1,39 +1,39 @@
1
1
  import "./paths-CE7eVGHg.js";
2
- import "./registry-9AaJQms1.js";
3
- import "./agent-scope-DE5eEsvh.js";
4
- import { t as createSubsystemLogger } from "./subsystem-DhOo2FZn.js";
5
- import "./workspace-OBnI5mKu.js";
6
- import { t as runAgentTurn } from "./unified-runner-DftrstdI.js";
7
- import "./auth-profiles-B6ISm3Th.js";
2
+ import "./registry-C-JddWwo.js";
3
+ import "./agent-scope-D_MtsuXX.js";
4
+ import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
5
+ import "./workspace-CsaDUuDn.js";
6
+ import { t as runAgentTurn } from "./unified-runner-BPgxfuKU.js";
7
+ import "./auth-profiles-duUuQXeC.js";
8
8
  import "./github-copilot-token-B31ugq7R.js";
9
9
  import "./boolean-mcn6kL0s.js";
10
- import "./deliver-kmnOOp9j.js";
11
- import "./ssrf-BvjSIOlZ.js";
12
- import "./manifest-registry-B2vClvK5.js";
13
- import "./chrome-FAf5DZL2.js";
14
- import "./frontmatter-BW7tVmn4.js";
15
- import "./skills-BMTJ2Tiq.js";
10
+ import "./deliver-BY0HHHHB.js";
11
+ import "./ssrf-Dcgaqg3U.js";
12
+ import "./manifest-registry-DsTUFMvZ.js";
13
+ import "./chrome-CejiigNy.js";
14
+ import "./frontmatter-BzAaXBfE.js";
15
+ import "./skills-D0k4o0Ez.js";
16
16
  import "./redact-Dd8jrogi.js";
17
17
  import "./errors-BkfLlDKo.js";
18
- import "./local-roots-Dm8-ErgQ.js";
19
- import "./thinking-BYtE7_UC.js";
20
- import "./chunk-DX6VtywY.js";
21
- import "./plugins-yymezpEd.js";
22
- import "./send-BQJKg0bU.js";
18
+ import "./local-roots-WWcVq0Ma.js";
19
+ import "./thinking-CMIo8E_E.js";
20
+ import "./chunk-5H33X8qU.js";
21
+ import "./plugins-CcVzjOo_.js";
22
+ import "./send-DulXmWcG.js";
23
23
  import "./paths-BeAyfCRg.js";
24
- import "./tokens-wW7opugV.js";
25
- import "./diagnostic-CQLyE7_n.js";
24
+ import "./tokens-BBh6tlmO.js";
25
+ import "./diagnostic-D7z6O7v0.js";
26
26
  import "./diagnostic-session-state-BkfiP_y6.js";
27
- import "./pi-auth-json-BzuhVcKu.js";
28
- import "./reply-prefix-DkDTGwTs.js";
29
- import "./manager-Dsdh0rGn.js";
30
- import "./sqlite-C6MZhX4c.js";
31
- import "./markdown-tables-BaWa2kOe.js";
32
- import "./commands-registry-C5IdtVVy.js";
33
- import "./skill-commands-DaNhP2Jb.js";
27
+ import "./pi-auth-json-D4Bl4hBw.js";
28
+ import "./reply-prefix-ChIeKp-P.js";
29
+ import "./manager-BT2SbOdg.js";
30
+ import "./sqlite--aBEq1-J.js";
31
+ import "./markdown-tables-ptfgMe6b.js";
32
+ import "./commands-registry-DaPrWQSe.js";
33
+ import "./skill-commands-Cwrebyvj.js";
34
34
  import "./pi-model-discovery-B_aXYZv5.js";
35
- import "./resolve-route-CIA0TSsF.js";
36
- import "./replies-BZN1LuJP.js";
35
+ import "./resolve-route-CIS2tjpz.js";
36
+ import "./replies-C82xaXm3.js";
37
37
 
38
38
  //#region src/memory/synthesis.ts
39
39
  const log = createSubsystemLogger("memory/synthesis");