@symerian/symi 2.0.8 → 2.0.10

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 (247) hide show
  1. package/dist/{agents-Ck7Cf272.js → agents-CNsMe4Dr.js} +4 -4
  2. package/dist/{agents.config-DRDcXXQC.js → agents.config-CdDf19dm.js} +1 -1
  3. package/dist/{agents.config-BTWn70A_.js → agents.config-yx78oSLx.js} +1 -1
  4. package/dist/{audio-preflight-B6L8N6Ly.js → audio-preflight-B8ffbICW.js} +11 -12
  5. package/dist/{audio-preflight-Bl8Xkt6g.js → audio-preflight-CO2seHjy.js} +11 -12
  6. package/dist/{audio-preflight-Bk54IW__.js → audio-preflight-DRQD_nt1.js} +16 -17
  7. package/dist/{audio-preflight-BQbkYWBq.js → audio-preflight-DSeaWZZW.js} +5 -6
  8. package/dist/{audit-Dmg0_STU.js → audit-CiugrQda.js} +2 -2
  9. package/dist/{audit-Bv_hWhC7.js → audit-DKUpFt8z.js} +2 -2
  10. package/dist/{auth-choice-B2vfWdxb.js → auth-choice-CXMFi9LR.js} +1 -1
  11. package/dist/{auth-choice-BTHtq4sU.js → auth-choice-mw9ndZQO.js} +4 -4
  12. package/dist/{banner-C93WYZhg.js → banner-B-joBGLz.js} +1 -1
  13. package/dist/build-info.json +3 -3
  14. package/dist/bundled/boot-md/handler.js +34 -34
  15. package/dist/bundled/session-memory/handler.js +34 -34
  16. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  17. package/dist/{channel-options-DzVgaV8r.js → channel-options-D74Jofp4.js} +1 -1
  18. package/dist/{channel-options-FXf1Vm4X.js → channel-options-XPRRVrmU.js} +1 -1
  19. package/dist/{channel-web-DXNS1120.js → channel-web-vRvvtf0S.js} +8 -8
  20. package/dist/{channels-cli-VMjbf17C.js → channels-cli-D3lj5dXo.js} +32 -32
  21. package/dist/{channels-cli-jwN3bQiA.js → channels-cli-DgxPfJF7.js} +12 -12
  22. package/dist/{chrome-2-wXJfuH.js → chrome-LmEyZdbC.js} +1 -1
  23. package/dist/{chunk-BPSLqkZN.js → chunk-BW5f05BR.js} +1 -1
  24. package/dist/{chunk-rw3-yl6B.js → chunk-DTMTDXwE.js} +1 -1
  25. package/dist/{cli-pVI3InZO.js → cli-Bg_5WQFe.js} +9 -9
  26. package/dist/{cli-B0zfZMTk.js → cli-DQQAfUbo.js} +29 -29
  27. package/dist/{command-registry-BfDMSQVM.js → command-registry-Cde2LqTh.js} +9 -9
  28. package/dist/{commands-registry-CZ5P8CpC.js → commands-registry-C3C4Rv3O.js} +2 -2
  29. package/dist/{commands-registry-UwWpNkQg.js → commands-registry-Copoizgv.js} +1 -1
  30. package/dist/{completion-cli-CtFc2LrR.js → completion-cli-Cx9htCOm.js} +1 -1
  31. package/dist/{completion-cli-BIb71n9R.js → completion-cli-KJUTWJP3.js} +2 -2
  32. package/dist/{config-D3XlX-h-.js → config-DM0K7qC1.js} +1 -1
  33. package/dist/{config-cli-5k0J0n8w.js → config-cli-C5-P9Nzz.js} +1 -1
  34. package/dist/{config-cli-S34vsL8T.js → config-cli-ozfA6MGF.js} +1 -1
  35. package/dist/{config-guard-Ca5SgLv4.js → config-guard-BpQn1MKk.js} +1 -1
  36. package/dist/{config-guard-lpwxY7-I.js → config-guard-Cnu2qssk.js} +2 -3
  37. package/dist/{configure-DK60UZR-.js → configure-DiuQ_aTS.js} +6 -6
  38. package/dist/{configure-CwPEm658.js → configure-ktsZw1bT.js} +3 -3
  39. package/dist/{deliver-DTHhqsN5.js → deliver-2Y_F_0yh.js} +5 -5
  40. package/dist/{deliver-DGaRNkFI.js → deliver-B3UoBZdC.js} +5 -5
  41. package/dist/{deliver-jK_qcWx-.js → deliver-CkjSfucB.js} +5 -5
  42. package/dist/{deliver-BubWdk2x.js → deliver-DONp5mgd.js} +2 -2
  43. package/dist/{diagnostic-BIVLRT_X.js → diagnostic-CI0kRQkt.js} +1 -1
  44. package/dist/{diagnostic-C-7DW8ZL.js → diagnostic-D0xmLpej.js} +1 -1
  45. package/dist/{doctor-completion-B7omSm-D.js → doctor-completion-CrN6Ly8x.js} +1 -1
  46. package/dist/{doctor-completion-B0H-LZ9F.js → doctor-completion-Vwi_je1c.js} +1 -1
  47. package/dist/{doctor-config-flow-Da5WjdWM.js → doctor-config-flow-B150h841.js} +1 -1
  48. package/dist/{doctor-config-flow-CifTPMbU.js → doctor-config-flow-C_56SUPO.js} +1 -1
  49. package/dist/entry.js +1 -1
  50. package/dist/extensionAPI.js +28 -28
  51. package/dist/{fetch-BrtlUMgb.js → fetch-DTNGXEzX.js} +1 -1
  52. package/dist/{fetch-guard-DPA1vbaF.js → fetch-guard-DOPkVbh3.js} +1 -1
  53. package/dist/{gateway-cli-C9FvkbFy.js → gateway-cli-CwO3878F.js} +20 -20
  54. package/dist/{gateway-cli-BIQu6Utl.js → gateway-cli-DyqK4XZ1.js} +43 -43
  55. package/dist/{gemini-auth-Ca6F0cNq.js → gemini-auth-7AWT6JXV.js} +1 -1
  56. package/dist/{glass-ui-ws-CwHtwMkP.js → glass-ui-ws-BmqwQaCf.js} +16 -16
  57. package/dist/{glass-ui-ws-DpKEdS_Z.js → glass-ui-ws-zVNodseh.js} +39 -39
  58. package/dist/{health-KL2iuEbF.js → health-Q1RP1M2f.js} +5 -5
  59. package/dist/{health-Cey03nVq.js → health-UjXEBnzA.js} +4 -4
  60. package/dist/{heartbeat-visibility-DS9JNq6T.js → heartbeat-visibility-B8TDjqpW.js} +2 -2
  61. package/dist/{heartbeat-visibility-D4Xy8Sv0.js → heartbeat-visibility-U4BL57eQ.js} +2 -2
  62. package/dist/{hooks-cli-BQF_wX5P.js → hooks-cli-D4qJl6do.js} +10 -10
  63. package/dist/{hooks-cli-Dzw7jPNk.js → hooks-cli-DOT9uGZw.js} +30 -30
  64. package/dist/{image-CPNmq0j8.js → image-B4LY9KFw.js} +1 -1
  65. package/dist/{image-qnqUW4nb.js → image-CSeAnozE.js} +2 -2
  66. package/dist/{image-BPHwlO8o.js → image-DrZEJQwQ.js} +2 -2
  67. package/dist/{image-BJiE96Ml.js → image-RFofsrof.js} +4 -4
  68. package/dist/index.js +36 -36
  69. package/dist/{ir-DEVHhjq7.js → ir-DZam9q5M.js} +1 -1
  70. package/dist/{ir-B4l25ISI.js → ir-DccrnjsE.js} +3 -3
  71. package/dist/{ir-DPLo2LIn.js → ir-F0moAwIl.js} +3 -3
  72. package/dist/llm-slug-generator.js +34 -34
  73. package/dist/{local-roots-BDORNz_Q.js → local-roots-CC8jiKDk.js} +1 -1
  74. package/dist/{local-roots-Dg0r0pJL.js → local-roots-DMwIh5cS.js} +1 -1
  75. package/dist/{local-roots-C31eq7PP.js → local-roots-aAFLQGkY.js} +1 -1
  76. package/dist/{login-DNi-TGJT.js → login-BG_7eJLu.js} +2 -2
  77. package/dist/{login-qr-DWlyS1Bc.js → login-qr-9OQSnm5L.js} +4 -4
  78. package/dist/{manager-BX65xO2I.js → manager-B5EXdBQV.js} +2 -2
  79. package/dist/{manager-DjVWQ1JF.js → manager-C_DoJrcP.js} +3 -3
  80. package/dist/{memory-cli-BsBiPX0L.js → memory-cli-D4J9SO7Z.js} +4 -4
  81. package/dist/{model-auth-Daguh6Kb.js → model-auth-CeL58m55.js} +1 -1
  82. package/dist/{model-picker-CiSWZdy1.js → model-picker-DXwUsLAy.js} +1 -1
  83. package/dist/{models-CmtHVZ9B.js → models-DKsiIvSx.js} +2 -2
  84. package/dist/{models-cli-CoLpqD2i.js → models-cli-BS6UJ98e.js} +11 -11
  85. package/dist/{models-cli-CzXJgEMc.js → models-cli-ULbdeSgc.js} +30 -30
  86. package/dist/{onboard-CctP17cu.js → onboard-B387frTY.js} +5 -5
  87. package/dist/{onboard-CYpfv_zR.js → onboard-Bt-BwfkR.js} +2 -2
  88. package/dist/{onboard-channels-BfEIJ5D9.js → onboard-channels-COcxT5Q0.js} +1 -1
  89. package/dist/{onboard-channels-KDLz_5CQ.js → onboard-channels-ybPEmcP8.js} +1 -1
  90. package/dist/{onboard-custom-B3RZopk5.js → onboard-custom-DoIhWPnb.js} +2 -2
  91. package/dist/{onboard-skills-DfKmsYuM.js → onboard-skills-BD8JNVwL.js} +1 -1
  92. package/dist/{onboarding-HyPoSPVD.js → onboarding-BibGEGIS.js} +4 -4
  93. package/dist/{onboarding-D8u579LU.js → onboarding-CdN_NU2d.js} +7 -7
  94. package/dist/{onboarding.finalize-BVxx88Nj.js → onboarding.finalize-CY1NjrGb.js} +15 -15
  95. package/dist/{onboarding.finalize-DKJJyaEK.js → onboarding.finalize-CvahVrDM.js} +34 -34
  96. package/dist/{onboarding.gateway-config-svEaDNCf.js → onboarding.gateway-config-Cj_s_IG8.js} +1 -2
  97. package/dist/{onboarding.gateway-config-C88Tut4n.js → onboarding.gateway-config-DipSuaKH.js} +1 -2
  98. package/dist/{openai-model-default-BkscYpXX.js → openai-model-default-DF334-MD.js} +1 -1
  99. package/dist/{outbound-ByC0HdWz.js → outbound-BNMysnJ1.js} +2 -2
  100. package/dist/{outbound-DpGc1neG.js → outbound-Cedd_yui.js} +3 -3
  101. package/dist/{outbound-56UQxS1I.js → outbound-DfOF58G2.js} +2 -2
  102. package/dist/{outbound-attachment-C-GD7uJh.js → outbound-attachment-D_QuKi8U.js} +1 -1
  103. package/dist/{outbound-attachment-CJZwroQb.js → outbound-attachment-DjNDa3zn.js} +2 -2
  104. package/dist/{outbound-attachment-Cir36qaG.js → outbound-attachment-entfcjDW.js} +2 -2
  105. package/dist/{pi-auth-json-CHgA276j.js → pi-auth-json-BNhcohVK.js} +2 -2
  106. package/dist/{pi-embedded-FBOXa0Py.js → pi-embedded-9wEA_0mu.js} +144 -49
  107. package/dist/{pi-embedded-C5XncARS.js → pi-embedded-BjzaB3CT.js} +157 -62
  108. package/dist/{pi-embedded-helpers-BqnI9Mzn.js → pi-embedded-helpers-BmYZe8o8.js} +7 -103
  109. package/dist/{pi-embedded-helpers-DhWpSwU-.js → pi-embedded-helpers-CgxKWHj9.js} +1 -1
  110. package/dist/{pi-embedded-helpers-B8JQjQlx.js → pi-embedded-helpers-kB5lBgXk.js} +13 -109
  111. package/dist/{pi-embedded-helpers-Ct3OLzYp.js → pi-embedded-helpers-ueCT6VlS.js} +2 -2
  112. package/dist/{pi-tools.policy-BXcx55vF.js → pi-tools.policy-DPmdlOwE.js} +1 -1
  113. package/dist/{pi-tools.policy-Bs2MTSlR.js → pi-tools.policy-T6Z5F-_n.js} +1 -1
  114. package/dist/{plugin-registry-CdUu6pO0.js → plugin-registry-BAbkdLQ7.js} +1 -1
  115. package/dist/{plugin-registry-BDz-xHIX.js → plugin-registry-CEoSVvL1.js} +1 -1
  116. package/dist/plugin-sdk/{audio-preflight-CAWn5TBW.js → audio-preflight-CpYjfwrA.js} +3 -4
  117. package/dist/plugin-sdk/{channel-web-CdAlKpn7.js → channel-web-xXTpy0N_.js} +3 -3
  118. package/dist/plugin-sdk/{deliver-PnVwVXLm.js → deliver-BwnrMlHO.js} +1 -1
  119. package/dist/plugin-sdk/gateway/chat-sanitize.d.ts +0 -10
  120. package/dist/plugin-sdk/{image-BGfQ0dkr.js → image-k_W1USVr.js} +1 -1
  121. package/dist/plugin-sdk/index.js +6 -6
  122. package/dist/plugin-sdk/{pi-embedded-helpers-BMudP5Tn.js → pi-embedded-helpers-Cs2-_EpL.js} +2 -98
  123. package/dist/plugin-sdk/{reply-QYyMp-Tw.js → reply-EEvLfWgt.js} +107 -12
  124. package/dist/plugin-sdk/{runner-qajBqJHY.js → runner-Br1179I4.js} +1 -1
  125. package/dist/plugin-sdk/{web-CVs35ve3.js → web-COWtpMAH.js} +6 -6
  126. package/dist/{plugins-cli-g3VAbxTK.js → plugins-cli-BpuQ7Y9l.js} +10 -10
  127. package/dist/{plugins-cli-D0KwuqdQ.js → plugins-cli-C_S07pgO.js} +30 -30
  128. package/dist/{program-CARq3XaO.js → program-cO9YX6wL.js} +16 -16
  129. package/dist/{program-context-D3z9orfX.js → program-context-QBBvnWFX.js} +21 -21
  130. package/dist/{prompt-select-styled-BFHQx73x.js → prompt-select-styled-CepuQSKg.js} +10 -10
  131. package/dist/{prompt-select-styled-CwssKDY4.js → prompt-select-styled-D3dYbx2P.js} +7 -7
  132. package/dist/{provider-auth-helpers-DJ3yECqH.js → provider-auth-helpers-BMACaaEd.js} +1 -1
  133. package/dist/{provider-auth-helpers-gNJWrk0O.js → provider-auth-helpers-DXqvuBCi.js} +1 -1
  134. package/dist/{push-apns-CZM-8wga.js → push-apns-8YIzbTM7.js} +1 -1
  135. package/dist/{push-apns-D1GxPyeO.js → push-apns-DhZgao_r.js} +1 -1
  136. package/dist/{pw-ai-D8UzqLyI.js → pw-ai-CAkn033M.js} +4 -4
  137. package/dist/{qmd-manager-DeZm1nJL.js → qmd-manager-D85GJrir.js} +1 -1
  138. package/dist/{register.agent-BQ5ERQ9d.js → register.agent-CSUoUVKd.js} +14 -14
  139. package/dist/{register.agent-4Vr8rfNN.js → register.agent-CiTS9lyx.js} +35 -35
  140. package/dist/{register.configure-Do3kZMFp.js → register.configure-BbE9MAer.js} +39 -39
  141. package/dist/{register.configure-BKh4lgRd.js → register.configure-CuCVLOW0.js} +14 -14
  142. package/dist/{register.maintenance-BMPh4huD.js → register.maintenance-CJG75LTu.js} +17 -17
  143. package/dist/{register.maintenance-DvrBn6u3.js → register.maintenance-D8bthvou.js} +37 -37
  144. package/dist/{register.message-BNNSKB5m.js → register.message-CyqE4E2O.js} +10 -10
  145. package/dist/{register.message-BYL16pRB.js → register.message-nUpHGrEE.js} +30 -30
  146. package/dist/{register.onboard-CZY5K__u.js → register.onboard-BDlne5KX.js} +12 -12
  147. package/dist/{register.onboard-CPPotri6.js → register.onboard-Dlw-TCPH.js} +35 -35
  148. package/dist/{register.setup-DU2rUacO.js → register.setup-B8kiMuah.js} +35 -35
  149. package/dist/{register.setup-CMc-wYv4.js → register.setup-ByMyofSq.js} +12 -12
  150. package/dist/{register.status-health-sessions-DDeNkHlW.js → register.status-health-sessions-0odRpA-p.js} +13 -13
  151. package/dist/{register.status-health-sessions-Dm0neK04.js → register.status-health-sessions-Diirshgb.js} +34 -34
  152. package/dist/{register.subclis-D69k9OGJ.js → register.subclis-CqEj9vfW.js} +12 -12
  153. package/dist/{replies-B4-OBhpP.js → replies-D9V19U2-.js} +2 -2
  154. package/dist/{replies-ConxSQu4.js → replies-DqdOBkTB.js} +2 -2
  155. package/dist/{replies-DPvPoRgq.js → replies-QloQerhz.js} +2 -2
  156. package/dist/{reply-B7N_xCT0.js → reply-B9o45s3E.js} +166 -45
  157. package/dist/{run-main-Dw4qcIps.js → run-main-C__lZ7VF.js} +25 -25
  158. package/dist/{runner-CR105aVj.js → runner-BXN4KYDK.js} +1 -1
  159. package/dist/{runner-BJmolY3h.js → runner-C0tJTZmp.js} +6 -6
  160. package/dist/{runner-t-wbbvf-.js → runner-CJJY2r19.js} +4 -4
  161. package/dist/{runner-Ct0-sE8b.js → runner-DOvsNiYz.js} +8 -8
  162. package/dist/{sandbox-CAcCcpV3.js → sandbox-CbuJolk2.js} +1 -1
  163. package/dist/{sandbox-cli-CvvSZr3D.js → sandbox-cli-C90jqh9l.js} +2 -3
  164. package/dist/{sandbox-cli-GaFIkZTh.js → sandbox-cli-Duc05KL9.js} +2 -3
  165. package/dist/{sandbox-BGegLZ1X.js → sandbox-rMmahr2s.js} +1 -1
  166. package/dist/{security-cli-DJpFpYUY.js → security-cli-Bt0VkUtO.js} +4 -5
  167. package/dist/{security-cli-Vyuc8XY7.js → security-cli-YGXUUBvD.js} +4 -5
  168. package/dist/{send-DXoJ5lC_.js → send-3YM-aarb.js} +1 -1
  169. package/dist/{send-OEyo5LFE.js → send-B18gkuvz.js} +2 -2
  170. package/dist/{send-LZO3UNRb.js → send-BVZGeP2r.js} +3 -3
  171. package/dist/{send-D3qb_2Q-.js → send-BeASPkFg.js} +4 -4
  172. package/dist/{send-Dz76LuDQ.js → send-BsocounR.js} +2 -2
  173. package/dist/{send-DzmRVAHq.js → send-CHOArYFe.js} +3 -3
  174. package/dist/{send-B9JhmJSo.js → send-CzE5UKr-.js} +5 -5
  175. package/dist/{send-TQWniAsM.js → send-D0dzPf6g.js} +2 -2
  176. package/dist/{send-bTMPppyJ.js → send-D16XtYvC.js} +4 -4
  177. package/dist/{send-yBb6c4og.js → send-D3M6pMr5.js} +5 -5
  178. package/dist/{send-CiVBt5gu.js → send-DEWzWqfZ.js} +4 -4
  179. package/dist/{send-COvqFO3S.js → send-D_yJMeJa.js} +4 -4
  180. package/dist/{send-DDt3Bdxx.js → send-De_WCeGZ.js} +4 -4
  181. package/dist/{send-DmlK72uJ.js → send-Do-0Kcmv.js} +3 -3
  182. package/dist/{send-DBTO2dLX.js → send-mi3NHnwI.js} +2 -2
  183. package/dist/{server-methods-C7N7UMSW.js → server-methods-B_NSJmhc.js} +14 -14
  184. package/dist/{server-methods-CkOu6zha.js → server-methods-Df9KsV_-.js} +13 -13
  185. package/dist/{server-node-events-BVdEI7tT.js → server-node-events-C2mugatX.js} +10 -10
  186. package/dist/{server-node-events-DHR0gLJD.js → server-node-events-ZG0SBDkU.js} +30 -30
  187. package/dist/{session-_ViRAnAz.js → session-T0JXlYWe.js} +1 -1
  188. package/dist/{session-utils-BcI6SO4J.js → session-utils-Cdv2Qaq2.js} +1 -1
  189. package/dist/{sessions-DcjESPyL.js → sessions-BEyCtqBB.js} +3 -263
  190. package/dist/{sessions-Cyr_cPRu.js → sessions-CX93jXmG.js} +2 -2
  191. package/dist/{sessions-WDdS9Yo7.js → sessions-DJAxaVI7.js} +2 -262
  192. package/dist/{skill-commands-D_bBwwvA.js → skill-commands-B64uavY9.js} +1 -1
  193. package/dist/{skill-commands-Bc-ztbDr.js → skill-commands-DWcJOIzP.js} +1 -1
  194. package/dist/{skills-install-CKFZBTH2.js → skills-install-D67isO1L.js} +1 -1
  195. package/dist/{status-DcY3KTFx.js → status-BTF6_aBO.js} +1 -1
  196. package/dist/{status-DxNQmdA8.js → status-BytVj4kU.js} +1 -1
  197. package/dist/{status-BenJOJF2.js → status-PADx9rG7.js} +5 -5
  198. package/dist/{status-C8wS7Lbr.js → status-hgm5EhwS.js} +7 -7
  199. package/dist/{status.update-D40obmG1.js → status.update-DlaskfTr.js} +1 -1
  200. package/dist/{store-Bb4oiLME.js → store-C0wvOkae.js} +1 -1
  201. package/dist/{store-C4ZvS7QX.js → store-bnzGvI16.js} +1 -1
  202. package/dist/{subagent-registry-ujHhkiDm.js → subagent-registry-BR2Qhqjf.js} +138 -17
  203. package/dist/{tables-CjPLB3aX.js → tables-BEzT0Da4.js} +1 -1
  204. package/dist/{tables-dfFTl4Oa.js → tables-COnZ169v.js} +1 -1
  205. package/dist/{tables-XnT3BCYh.js → tables-DuZspiBu.js} +1 -1
  206. package/dist/{target-errors-B_xs1J06.js → target-errors-7AvoVa10.js} +1 -1
  207. package/dist/{target-errors-CL9BfceM.js → target-errors-BbOqxMY0.js} +2 -2
  208. package/dist/{target-errors-LR7w6--g.js → target-errors-Be1SwYlW.js} +2 -2
  209. package/dist/{thinking-EjJEKdLq.js → thinking-CdlENGRW.js} +1 -1
  210. package/dist/{thinking-XA7vussX.js → thinking-W85Rb32m.js} +1 -1
  211. package/dist/{tool-images-BHM4TeU5.js → tool-images-ChC2CXaN.js} +1 -1
  212. package/dist/{tool-images-BwAkbbBM.js → tool-images-DXB7tqWi.js} +1 -1
  213. package/dist/{tui-DMKdRwFF.js → tui-0rURH3b3.js} +2 -2
  214. package/dist/{tui-CzysFxZ0.js → tui-CcirlGg5.js} +3 -3
  215. package/dist/{tui-cli-Hzw_5-oe.js → tui-cli-D3VMk5c8.js} +6 -7
  216. package/dist/{tui-cli-CKHu_yYJ.js → tui-cli-hcbzeOtp.js} +4 -5
  217. package/dist/{update-check-DK1kMuwI.js → update-check-CtckACbb.js} +1 -1
  218. package/dist/{update-cli-Byw3vUdU.js → update-cli-CHr8rjf-.js} +17 -17
  219. package/dist/{update-cli-D__K_5cn.js → update-cli-qacplfF4.js} +38 -38
  220. package/dist/{update-runner-CqciHxLK.js → update-runner-DM8zQvQB.js} +2 -2
  221. package/dist/{update-runner-yKAKuw2W.js → update-runner-DNA7FJa2.js} +1 -1
  222. package/dist/{web-ENDSDPaD.js → web-BKQnrqo-.js} +37 -37
  223. package/dist/{web-cJUlI_Wb.js → web-CAnxcgBD.js} +29 -29
  224. package/dist/{web-DJzj2HU0.js → web-DkQc82PT.js} +9 -9
  225. package/dist/{web-B2v6AvX-.js → web-UroM-w6c.js} +31 -31
  226. package/dist/{whatsapp-actions-CUczC854.js → whatsapp-actions-BIjGyW3T.js} +9 -9
  227. package/dist/{whatsapp-actions-ia2odzch.js → whatsapp-actions-BL7tCNC_.js} +12 -12
  228. package/dist/{whatsapp-actions-BcsFR5tf.js → whatsapp-actions-Jfx4zcwv.js} +7 -7
  229. package/package.json +1 -1
  230. /package/dist/{accounts-9VRq1rY7.js → accounts-8zZqL37v.js} +0 -0
  231. /package/dist/{accounts-BCS-nbgN.js → accounts-CWktKM8a.js} +0 -0
  232. /package/dist/{api-key-rotation-erqZ9Tuc.js → api-key-rotation-BukD0zzl.js} +0 -0
  233. /package/dist/{diagnostic-session-state-Bu3E4Enn.js → diagnostic-session-state-Bxo4UHOL.js} +0 -0
  234. /package/dist/{diagnostic-session-state-DmrztgHU.js → diagnostic-session-state-C1vRJs5w.js} +0 -0
  235. /package/dist/{fetch-timeout-DoySHqfO.js → fetch-timeout-Db3da8yR.js} +0 -0
  236. /package/dist/{github-copilot-token-BqpAEW8G.js → github-copilot-token-C_qUP7p5.js} +0 -0
  237. /package/dist/{image-ops-UtlmP67m.js → image-ops-ByaQt43P.js} +0 -0
  238. /package/dist/{image-ops-DD37OhdR.js → image-ops-CvJzsyvE.js} +0 -0
  239. /package/dist/{message-channel-B3YUM8IG.js → message-channel-BQINJQIT.js} +0 -0
  240. /package/dist/{message-channel-Bj7aZphL.js → message-channel-Dz5lr5b0.js} +0 -0
  241. /package/dist/{model-catalog-DhaH7him.js → model-catalog-DjJ9GtKX.js} +0 -0
  242. /package/dist/{pi-model-discovery-C-yOXpma.js → pi-model-discovery-j5tVLINv.js} +0 -0
  243. /package/dist/{sqlite-DhNyBVPk.js → sqlite-Dx3J_aSE.js} +0 -0
  244. /package/dist/{tokens-DBCvs-Ns.js → tokens-BuceUQDl.js} +0 -0
  245. /package/dist/{tool-display-pHB3J5PK.js → tool-display-D8N3rsYt.js} +0 -0
  246. /package/dist/{tool-images-CLRUTPlM.js → tool-images-DvUBlqjX.js} +0 -0
  247. /package/dist/{transcript-events-CJRvASY_.js → transcript-events-DdnTeoR1.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { pt as truncateUtf16Safe } from "./entry.js";
2
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CAcCcpV3.js";
2
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CbuJolk2.js";
3
3
  import { t as sanitizeContentBlocksImages } from "./tool-images-CVLISeRT.js";
4
4
  import { s as normalizeThinkLevel } from "./thinking-8sKPnzpp.js";
5
5
  import path from "node:path";
@@ -1,28 +1,27 @@
1
1
  import { i as resolveGatewayPort, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-Cce4PUkG.js";
2
2
  import { c as normalizeMainKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
3
- import { D as escapeRegExp, I as resolveUserPath, M as normalizeE164, U as truncateUtf16Safe, dt as resolvePreferredSymiTmpDir, t as CHANNEL_IDS } from "./registry-CK4e9hn8.js";
3
+ import { I as resolveUserPath, M as normalizeE164, U as truncateUtf16Safe, dt as resolvePreferredSymiTmpDir, t as CHANNEL_IDS } from "./registry-CK4e9hn8.js";
4
4
  import { n as resolveAgentConfig, u as resolveSessionAgentId } from "./agent-scope-BxoUQqgM.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
6
6
  import { _ as runExec, a as DEFAULT_SYMICORE_FILENAME, c as DEFAULT_USER_FILENAME, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SYMIPULSE_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME } from "./workspace-wAaHI8-5.js";
7
- import { r as SYMIPULSE_TOKEN } from "./tokens-H1H1LiSQ.js";
8
7
  import { r as normalizeChannelId } from "./plugins-DQYI3Fr-.js";
9
8
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
10
9
  import { t as parseBooleanValue } from "./boolean-B8-BqKGQ.js";
11
10
  import { t as formatCliCommand } from "./command-format-BaxDnULz.js";
12
- import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-DD37OhdR.js";
13
- import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-Daguh6Kb.js";
14
- import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-Bj7aZphL.js";
15
- import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-D3XlX-h-.js";
16
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-2-wXJfuH.js";
11
+ import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-CvJzsyvE.js";
12
+ import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-CeL58m55.js";
13
+ import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-Dz5lr5b0.js";
14
+ import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-DM0K7qC1.js";
15
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-LmEyZdbC.js";
17
16
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BFekKL7i.js";
18
17
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BoQgnc8X.js";
19
18
  import { t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
20
- import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-Bb4oiLME.js";
21
- import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-EjJEKdLq.js";
19
+ import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-C0wvOkae.js";
20
+ import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-CdlENGRW.js";
22
21
  import { n as resolveConversationLabel } from "./conversation-label-DXUkoKcB.js";
23
22
  import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DLyHUt31.js";
24
23
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
25
- import { t as sanitizeContentBlocksImages } from "./tool-images-BwAkbbBM.js";
24
+ import { t as sanitizeContentBlocksImages } from "./tool-images-DXB7tqWi.js";
26
25
  import fs from "node:fs/promises";
27
26
  import os from "node:os";
28
27
  import path, { posix } from "node:path";
@@ -32,101 +31,6 @@ import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding
32
31
  import crypto, { createHash, timingSafeEqual } from "node:crypto";
33
32
  import express from "express";
34
33
 
35
- //#region src/auto-reply/heartbeat.ts
36
- const HEARTBEAT_PROMPT = "Read SYMIPULSE.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply SYMIPULSE_OK.";
37
- const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
38
- function resolveHeartbeatPrompt(raw) {
39
- return (typeof raw === "string" ? raw.trim() : "") || HEARTBEAT_PROMPT;
40
- }
41
- function stripTokenAtEdges(raw) {
42
- let text = raw.trim();
43
- if (!text) return {
44
- text: "",
45
- didStrip: false
46
- };
47
- const token = SYMIPULSE_TOKEN;
48
- const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
49
- if (!text.includes(token)) return {
50
- text,
51
- didStrip: false
52
- };
53
- let didStrip = false;
54
- let changed = true;
55
- while (changed) {
56
- changed = false;
57
- const next = text.trim();
58
- if (next.startsWith(token)) {
59
- text = next.slice(token.length).trimStart();
60
- didStrip = true;
61
- changed = true;
62
- continue;
63
- }
64
- if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
65
- const idx = next.lastIndexOf(token);
66
- const before = next.slice(0, idx).trimEnd();
67
- if (!before) text = "";
68
- else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
69
- didStrip = true;
70
- changed = true;
71
- }
72
- }
73
- return {
74
- text: text.replace(/\s+/g, " ").trim(),
75
- didStrip
76
- };
77
- }
78
- function stripHeartbeatToken(raw, opts = {}) {
79
- if (!raw) return {
80
- shouldSkip: true,
81
- text: "",
82
- didStrip: false
83
- };
84
- const trimmed = raw.trim();
85
- if (!trimmed) return {
86
- shouldSkip: true,
87
- text: "",
88
- didStrip: false
89
- };
90
- const mode = opts.mode ?? "message";
91
- const maxAckCharsRaw = opts.maxAckChars;
92
- const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
93
- const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
94
- const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/&nbsp;/gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
95
- const trimmedNormalized = stripMarkup(trimmed);
96
- if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
97
- shouldSkip: false,
98
- text: trimmed,
99
- didStrip: false
100
- };
101
- const strippedOriginal = stripTokenAtEdges(trimmed);
102
- const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
103
- const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
104
- if (!picked.didStrip) return {
105
- shouldSkip: false,
106
- text: trimmed,
107
- didStrip: false
108
- };
109
- if (!picked.text) return {
110
- shouldSkip: true,
111
- text: "",
112
- didStrip: true
113
- };
114
- const rest = picked.text.trim();
115
- if (mode === "heartbeat") {
116
- if (rest.length <= maxAckChars) return {
117
- shouldSkip: true,
118
- text: "",
119
- didStrip: true
120
- };
121
- }
122
- return {
123
- shouldSkip: false,
124
- text: rest,
125
- didStrip: true
126
- };
127
- }
128
-
129
- //#endregion
130
34
  //#region src/agents/pi-embedded-helpers/bootstrap.ts
131
35
  function isBase64Signature(value) {
132
36
  const trimmed = value.trim();
@@ -1029,7 +933,7 @@ function isModuleNotFoundError(err) {
1029
933
  }
1030
934
  async function loadPwAiModule(mode) {
1031
935
  try {
1032
- return await import("./pw-ai-D8UzqLyI.js");
936
+ return await import("./pw-ai-CAkn033M.js");
1033
937
  } catch (err) {
1034
938
  if (mode === "soft") return null;
1035
939
  if (isModuleNotFoundError(err)) return null;
@@ -3569,11 +3473,11 @@ function createProfileContext(opts, profile) {
3569
3473
  const userDataDir = resolveSymiUserDataDir(profile.name);
3570
3474
  const profileState = getProfileState();
3571
3475
  if (await isHttpReachable(300) && !profileState.running) try {
3572
- await (await import("./pw-ai-D8UzqLyI.js")).closePlaywrightBrowserConnection();
3476
+ await (await import("./pw-ai-CAkn033M.js")).closePlaywrightBrowserConnection();
3573
3477
  } catch {}
3574
3478
  if (profileState.running) await stopRunningBrowser();
3575
3479
  try {
3576
- await (await import("./pw-ai-D8UzqLyI.js")).closePlaywrightBrowserConnection();
3480
+ await (await import("./pw-ai-CAkn033M.js")).closePlaywrightBrowserConnection();
3577
3481
  } catch {}
3578
3482
  if (!fs$1.existsSync(userDataDir)) return {
3579
3483
  moved: false,
@@ -7878,4 +7782,4 @@ function validateAnthropicTurns(messages) {
7878
7782
  }
7879
7783
 
7880
7784
  //#endregion
7881
- export { normalizeDeliveryContext as $, stripHeartbeatToken as $t, isTransientHttpError as A, DEFAULT_UPLOAD_DIR as At, resolveMirroredTranscriptText as B, expandToolGroups as Bt, isContextOverflowError as C, resolveGroupSessionKey as Ct, isRateLimitAssistantError as D, registerBrowserRoutes as Dt, isLikelyContextOverflowError as E, createBrowserRouteContext as Et, resolveSandboxContext as F, resolveSandboxConfigForAgent as Ft, updateLastRoute as G, compileGlobPatterns as Gt, loadSessionStore as H, normalizeToolName as Ht, resolveSandboxRuntimeStatus as I, applyOwnerOnlyToolPolicy as It, isCacheEnabled as J, ensureSessionHeader$1 as Jt, updateSessionStore as K, matchesAnyGlobPattern as Kt, extractDeliveryInfo as L, buildPluginToolGroups as Lt, parseImageSizeError as M, getBridgeAuthForPort as Mt, sanitizeUserFacingText as N, ensureBrowserControlAuth as Nt, isRawApiErrorPayload as O, resolveBrowserConfig as Ot, ensureSandboxWorkspaceForSession as P, resolveBrowserControlAuth as Pt, mergeDeliveryContext as Q, resolveHeartbeatPrompt as Qt, parseSessionThreadInfo as R, collectExplicitAllowlist as Rt, isCompactionFailureError as S, deriveSessionMetaPatch as St, isFailoverErrorMessage as T, resolveSessionLockMaxHoldFromTimeout as Tt, readSessionUpdatedAt as U, resolveToolProfilePolicy as Ut, resolveAndPersistSessionFile as V, mergeAlsoAllowPolicy as Vt, recordSessionMetaFromInbound as W, stripPluginOnlyAllowlist as Wt, deliveryContextFromSession as X, resolveBootstrapTotalMaxChars as Xt, resolveCacheTtlMs as Y, resolveBootstrapMaxChars as Yt, deliveryContextKey as Z, sanitizeGoogleTurnOrdering as Zt, formatRawAssistantErrorForUi as _, resolveFreshSessionTotalTokens as _t, isMessagingToolDuplicateNormalized as a, extractToolCallNames as at, isBillingAssistantError as b, resolveExplicitAgentSessionKey as bt, extractToolCallsFromAssistant as c, hasInterSessionUserProvenance as ct, isAntigravityClaude as d, evaluateSessionFreshness as dt, normalizeSessionDeliveryFields as et, isGoogleModelApi as f, resolveChannelResetConfig as ft, formatBillingErrorMessage as g, DEFAULT_RESET_TRIGGERS as gt, formatAssistantErrorText as h, resolveThreadFlag as ht, isMessagingToolDuplicate as i, countToolResults as it, parseImageDimensionError as j, resolveExistingPathsWithinRoot as jt, isTimeoutErrorMessage as k, resolveProfile as kt, extractToolResultId as l, normalizeInputProvenance as lt, classifyFailoverReason as m, resolveSessionResetType as mt, validateGeminiTurns as n, archiveSessionTranscripts as nt, normalizeTextForComparison as o, INPUT_PROVENANCE_KIND_VALUES as ot, BILLING_ERROR_USER_MESSAGE as p, resolveSessionResetPolicy as pt, updateSessionStoreEntry as q, buildBootstrapContextFiles as qt, pickFallbackThinkingLevel as r, capArrayByJsonBytes as rt, sanitizeSessionMessagesImages as s, applyInputProvenanceToUserMessage as st, validateAnthropicTurns as t, normalizeAccountId as tt, downgradeOpenAIReasoningBlocks as u, resolveSessionKey as ut, getApiErrorPayloadFingerprint as v, canonicalizeMainSessionAlias as vt, isFailoverAssistantError as w, acquireSessionWriteLock as wt, isCloudCodeAssistFormatError as x, resolveMainSessionKey as xt, isAuthAssistantError as y, resolveAgentMainSessionKey as yt, appendAssistantMessageToSessionTranscript as z, expandPolicyWithPluginGroups as zt };
7785
+ export { normalizeDeliveryContext as $, isTransientHttpError as A, DEFAULT_UPLOAD_DIR as At, resolveMirroredTranscriptText as B, expandToolGroups as Bt, isContextOverflowError as C, resolveGroupSessionKey as Ct, isRateLimitAssistantError as D, registerBrowserRoutes as Dt, isLikelyContextOverflowError as E, createBrowserRouteContext as Et, resolveSandboxContext as F, resolveSandboxConfigForAgent as Ft, updateLastRoute as G, compileGlobPatterns as Gt, loadSessionStore as H, normalizeToolName as Ht, resolveSandboxRuntimeStatus as I, applyOwnerOnlyToolPolicy as It, isCacheEnabled as J, ensureSessionHeader$1 as Jt, updateSessionStore as K, matchesAnyGlobPattern as Kt, extractDeliveryInfo as L, buildPluginToolGroups as Lt, parseImageSizeError as M, getBridgeAuthForPort as Mt, sanitizeUserFacingText as N, ensureBrowserControlAuth as Nt, isRawApiErrorPayload as O, resolveBrowserConfig as Ot, ensureSandboxWorkspaceForSession as P, resolveBrowserControlAuth as Pt, mergeDeliveryContext as Q, parseSessionThreadInfo as R, collectExplicitAllowlist as Rt, isCompactionFailureError as S, deriveSessionMetaPatch as St, isFailoverErrorMessage as T, resolveSessionLockMaxHoldFromTimeout as Tt, readSessionUpdatedAt as U, resolveToolProfilePolicy as Ut, resolveAndPersistSessionFile as V, mergeAlsoAllowPolicy as Vt, recordSessionMetaFromInbound as W, stripPluginOnlyAllowlist as Wt, deliveryContextFromSession as X, resolveBootstrapTotalMaxChars as Xt, resolveCacheTtlMs as Y, resolveBootstrapMaxChars as Yt, deliveryContextKey as Z, sanitizeGoogleTurnOrdering as Zt, formatRawAssistantErrorForUi as _, resolveFreshSessionTotalTokens as _t, isMessagingToolDuplicateNormalized as a, extractToolCallNames as at, isBillingAssistantError as b, resolveExplicitAgentSessionKey as bt, extractToolCallsFromAssistant as c, hasInterSessionUserProvenance as ct, isAntigravityClaude as d, evaluateSessionFreshness as dt, normalizeSessionDeliveryFields as et, isGoogleModelApi as f, resolveChannelResetConfig as ft, formatBillingErrorMessage as g, DEFAULT_RESET_TRIGGERS as gt, formatAssistantErrorText as h, resolveThreadFlag as ht, isMessagingToolDuplicate as i, countToolResults as it, parseImageDimensionError as j, resolveExistingPathsWithinRoot as jt, isTimeoutErrorMessage as k, resolveProfile as kt, extractToolResultId as l, normalizeInputProvenance as lt, classifyFailoverReason as m, resolveSessionResetType as mt, validateGeminiTurns as n, archiveSessionTranscripts as nt, normalizeTextForComparison as o, INPUT_PROVENANCE_KIND_VALUES as ot, BILLING_ERROR_USER_MESSAGE as p, resolveSessionResetPolicy as pt, updateSessionStoreEntry as q, buildBootstrapContextFiles as qt, pickFallbackThinkingLevel as r, capArrayByJsonBytes as rt, sanitizeSessionMessagesImages as s, applyInputProvenanceToUserMessage as st, validateAnthropicTurns as t, normalizeAccountId as tt, downgradeOpenAIReasoningBlocks as u, resolveSessionKey as ut, getApiErrorPayloadFingerprint as v, canonicalizeMainSessionAlias as vt, isFailoverAssistantError as w, acquireSessionWriteLock as wt, isCloudCodeAssistFormatError as x, resolveMainSessionKey as xt, isAuthAssistantError as y, resolveAgentMainSessionKey as yt, appendAssistantMessageToSessionTranscript as z, expandPolicyWithPluginGroups as zt };
@@ -1,7 +1,7 @@
1
1
  import { E as truncateUtf16Safe } from "./utils-B-0b9bGM.js";
2
2
  import { s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
3
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-BGegLZ1X.js";
4
- import { t as sanitizeContentBlocksImages } from "./tool-images-CLRUTPlM.js";
3
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-rMmahr2s.js";
4
+ import { t as sanitizeContentBlocksImages } from "./tool-images-DvUBlqjX.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
7
7
  import { createHash } from "node:crypto";
@@ -2,7 +2,7 @@ import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey }
2
2
  import { r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
3
3
  import { l as normalizeMessageChannel } from "./message-channel-aT-I_DTX.js";
4
4
  import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-Dgn_cL29.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-BGegLZ1X.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-rMmahr2s.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BhS32F6E.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -2,7 +2,7 @@ import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey }
2
2
  import { r as resolveAgentConfig } from "./agent-scope-D-jRCY0d.js";
3
3
  import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-amjzHiWZ.js";
4
4
  import { l as normalizeMessageChannel } from "./message-channel-C9dERklz.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-CAcCcpV3.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-CbuJolk2.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-DKxQXuAg.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
4
  import { i as loadConfig } from "./config-amjzHiWZ.js";
5
- import { _ as loadSymiPlugins } from "./subagent-registry-ujHhkiDm.js";
5
+ import { _ as loadSymiPlugins } from "./subagent-registry-BR2Qhqjf.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { gt as loadSymiPlugins } from "./reply-B7N_xCT0.js";
2
+ import { gt as loadSymiPlugins } from "./reply-B9o45s3E.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
@@ -17,17 +17,16 @@ import "./local-roots-Ckk1QfzI.js";
17
17
  import "./message-channel-BdI5Ra9S.js";
18
18
  import "./bindings-BbwoUGPx.js";
19
19
  import "./tool-images-D7Lno-TE.js";
20
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-qajBqJHY.js";
21
- import "./tokens-CWMflosr.js";
20
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-Br1179I4.js";
22
21
  import "./skills-B1GeRYlu.js";
23
22
  import "./chrome-BFy_lpld.js";
24
23
  import "./thinking-DCNUIAHY.js";
25
24
  import "./accounts-Dtszw3Zn.js";
26
25
  import "./accounts-BToL3HlP.js";
27
- import "./pi-embedded-helpers-BMudP5Tn.js";
26
+ import "./pi-embedded-helpers-Cs2-_EpL.js";
28
27
  import "./paths-A0xdf3yk.js";
29
28
  import "./store-Do3t33-c.js";
30
- import "./image-BGfQ0dkr.js";
29
+ import "./image-k_W1USVr.js";
31
30
  import "./pi-model-discovery-LbcEa65a.js";
32
31
  import "./api-key-rotation-Qy7QGV8_.js";
33
32
 
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
2
  import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
- import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-QYyMp-Tw.js";
3
+ import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-EEvLfWgt.js";
4
4
  import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
5
5
  import { n as loadConfig } from "./config-Do1-fcaS.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
@@ -12,10 +12,10 @@ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveText
12
12
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
13
13
  import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
14
14
  import { G as readChannelAllowFromStore, J as upsertChannelPairingRequest, K as readChannelAllowFromStoreSync, nt as toLocationContext, tt as formatLocationText } from "./send-P8PiZ2Os.js";
15
- import { f as registerUnhandledRejectionHandler } from "./runner-qajBqJHY.js";
15
+ import { f as registerUnhandledRejectionHandler } from "./runner-Br1179I4.js";
16
16
  import { l as resolveIdentityNamePrefix, n as createReplyPrefixOptions, u as resolveMessagePrefix } from "./reply-prefix-BHuV5t70.js";
17
17
  import { F as resolveChannelGroupRequireMention, P as resolveChannelGroupPolicy } from "./thinking-DCNUIAHY.js";
18
- import { Qt as resolveGroupSessionKey, _t as updateLastRoute, gt as recordSessionMetaFromInbound, ht as readSessionUpdatedAt, mt as loadSessionStore } from "./pi-embedded-helpers-BMudP5Tn.js";
18
+ import { Xt as resolveGroupSessionKey, _t as updateLastRoute, gt as recordSessionMetaFromInbound, ht as readSessionUpdatedAt, mt as loadSessionStore } from "./pi-embedded-helpers-Cs2-_EpL.js";
19
19
  import { s as resolveStorePath } from "./paths-A0xdf3yk.js";
20
20
  import { i as saveMediaBuffer } from "./store-Do3t33-c.js";
21
21
  import { t as finalizeInboundContext } from "./inbound-context-D5EzMeL_.js";
@@ -9,7 +9,7 @@ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveText
9
9
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
10
10
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CWMflosr.js";
11
11
  import { d as getChannelDock } from "./thinking-DCNUIAHY.js";
12
- import { dt as appendAssistantMessageToSessionTranscript, ft as resolveMirroredTranscriptText, i as isMessagingToolDuplicate } from "./pi-embedded-helpers-BMudP5Tn.js";
12
+ import { dt as appendAssistantMessageToSessionTranscript, ft as resolveMirroredTranscriptText, i as isMessagingToolDuplicate } from "./pi-embedded-helpers-Cs2-_EpL.js";
13
13
  import { a as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-CE6VxWke.js";
14
14
  import fs from "node:fs";
15
15
  import path from "node:path";
@@ -2,13 +2,3 @@ import { stripEnvelope } from "../shared/chat-envelope.js";
2
2
  export { stripEnvelope };
3
3
  export declare function stripEnvelopeFromMessage(message: unknown): unknown;
4
4
  export declare function stripEnvelopeFromMessages(messages: unknown[]): unknown[];
5
- /**
6
- * Filter out heartbeat message pairs and strip noise from chat history messages.
7
- *
8
- * This removes:
9
- * - Heartbeat user prompt + corresponding assistant response pairs
10
- * - "Current time:" lines from user messages
11
- * - Session metadata blocks from user messages
12
- * - SYMIPULSE_OK-only assistant messages
13
- */
14
- export declare function filterChatHistoryNoise(messages: unknown[]): unknown[];
@@ -3,7 +3,7 @@ import { D as isRecord, I as shortenHomeInString } from "./registry--_pGht6S.js"
3
3
  import { n as loadConfig } from "./config-Do1-fcaS.js";
4
4
  import { B as resolveSymiAgentDir, G as normalizeSecretInput, S as getApiKeyForModel, _ as resolveImplicitBedrockProvider, g as normalizeProviders, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-D6J2MZsj.js";
5
5
  import { n as redactToolDetail } from "./redact-DPnDWsnT.js";
6
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-BMudP5Tn.js";
6
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-Cs2-_EpL.js";
7
7
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs/promises";
@@ -1,6 +1,6 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { _ as createAccountListHelpers, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-D9zGZU5t.js";
3
- import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-QYyMp-Tw.js";
3
+ import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-EEvLfWgt.js";
4
4
  import "./paths-DR2yt_mP.js";
5
5
  import "./github-copilot-token-D9X2phUj.js";
6
6
  import { D as resolveSlackAccount, E as resolveDefaultSlackAccountId, F as resolveDiscordAccount, M as listDiscordAccountIds, O as resolveSlackReplyToMode, P as resolveDefaultDiscordAccountId, S as resolveTelegramAccount, T as listSlackAccountIds, _ as normalizeWhatsAppTarget, a as listDiscordDirectoryPeersFromConfig, b as listTelegramAccountIds, c as listTelegramDirectoryGroupsFromConfig, d as listWhatsAppDirectoryPeersFromConfig, f as looksLikeSlackTargetId, g as isWhatsAppGroupJid, i as listDiscordDirectoryGroupsFromConfig, l as listTelegramDirectoryPeersFromConfig, o as listSlackDirectoryGroupsFromConfig, p as normalizeSlackMessagingTarget, s as listSlackDirectoryPeersFromConfig, u as listWhatsAppDirectoryGroupsFromConfig, w as listEnabledSlackAccounts, x as resolveDefaultTelegramAccountId } from "./plugins-BbAvhC25.js";
@@ -32,7 +32,7 @@ import "./tool-images-D7Lno-TE.js";
32
32
  import { a as createActionGate, c as jsonResult, d as readReactionParams, m as readStringParam, n as missingTargetError, u as readNumberParam } from "./target-errors-B7YyMnIi.js";
33
33
  import { s as parseSlackBlocksInput } from "./send-BaLZTKkj.js";
34
34
  import { it as writeJsonFileAtomically, nt as toLocationContext, rt as readJsonFileWithFallback, tt as formatLocationText } from "./send-P8PiZ2Os.js";
35
- import { b as withTempDownloadPath, y as buildRandomTempFilePath } from "./runner-qajBqJHY.js";
35
+ import { b as withTempDownloadPath, y as buildRandomTempFilePath } from "./runner-Br1179I4.js";
36
36
  import { a as resolveAckReaction, n as createReplyPrefixOptions, t as createReplyPrefixContext } from "./reply-prefix-BHuV5t70.js";
37
37
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CWMflosr.js";
38
38
  import "./skill-commands-NTPqO_az.js";
@@ -41,14 +41,14 @@ import { N as rawDataToString } from "./chrome-BFy_lpld.js";
41
41
  import { C as resolveSlackGroupRequireMention, D as resolveWhatsAppGroupRequireMention, E as resolveTelegramGroupToolPolicy, L as resolveToolsBySender, N as buildSlackThreadingToolContext, O as resolveWhatsAppGroupToolPolicy, S as resolveIMessageGroupToolPolicy, T as resolveTelegramGroupRequireMention, _ as resolveDiscordGroupRequireMention, b as resolveGoogleChatGroupToolPolicy, g as resolveBlueBubblesGroupToolPolicy, h as resolveBlueBubblesGroupRequireMention, m as normalizeSignalMessagingTarget, p as looksLikeSignalTargetId, v as resolveDiscordGroupToolPolicy, w as resolveSlackGroupToolPolicy, x as resolveIMessageGroupRequireMention, y as resolveGoogleChatGroupRequireMention } from "./thinking-DCNUIAHY.js";
42
42
  import { n as resolveDefaultIMessageAccountId, r as resolveIMessageAccount, t as listIMessageAccountIds } from "./accounts-Dtszw3Zn.js";
43
43
  import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId } from "./accounts-BToL3HlP.js";
44
- import { T as resolveChannelMediaMaxBytes } from "./deliver-PnVwVXLm.js";
45
- import "./pi-embedded-helpers-BMudP5Tn.js";
44
+ import { T as resolveChannelMediaMaxBytes } from "./deliver-BwnrMlHO.js";
45
+ import "./pi-embedded-helpers-Cs2-_EpL.js";
46
46
  import "./paths-A0xdf3yk.js";
47
47
  import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-mFf4i4G9.js";
48
48
  import { n as extractOriginalFilename } from "./store-Do3t33-c.js";
49
49
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BkCUbYGV.js";
50
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-CdAlKpn7.js";
51
- import "./image-BGfQ0dkr.js";
50
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-xXTpy0N_.js";
51
+ import "./image-k_W1USVr.js";
52
52
  import "./pi-model-discovery-LbcEa65a.js";
53
53
  import "./api-key-rotation-Qy7QGV8_.js";
54
54
  import "./sqlite-Cq_7Cg4E.js";
@@ -1,7 +1,7 @@
1
1
  import { c as normalizeMainKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-C_0eELjb.js";
2
2
  import { i as resolveGatewayPort, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-DR2yt_mP.js";
3
3
  import { r as normalizeChannelId } from "./plugins-BbAvhC25.js";
4
- import { A as normalizeE164, P as resolveUserPath, T as escapeRegExp, V as truncateUtf16Safe, t as CHANNEL_IDS, ut as resolvePreferredSymiTmpDir } from "./registry--_pGht6S.js";
4
+ import { A as normalizeE164, P as resolveUserPath, V as truncateUtf16Safe, t as CHANNEL_IDS, ut as resolvePreferredSymiTmpDir } from "./registry--_pGht6S.js";
5
5
  import { R as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-Do1-fcaS.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
7
7
  import { i as parseBooleanValue, t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
@@ -13,7 +13,6 @@ import { t as SsrFBlockedError } from "./ssrf-DKZ8eBrk.js";
13
13
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BdI5Ra9S.js";
14
14
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
15
15
  import { t as sanitizeContentBlocksImages } from "./tool-images-D7Lno-TE.js";
16
- import { r as SYMIPULSE_TOKEN } from "./tokens-CWMflosr.js";
17
16
  import { a as syncSkillsToWorkspace, h as safeEqualSecret, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-B1GeRYlu.js";
18
17
  import { A as DEFAULT_SYMI_BROWSER_PROFILE_NAME, C as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, D as DEFAULT_BROWSER_EVALUATE_ENABLED, E as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, O as DEFAULT_SYMI_BROWSER_COLOR, S as stopChromeExtensionRelayServer, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as isLoopbackHost, k as DEFAULT_SYMI_BROWSER_ENABLED, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-BFy_lpld.js";
19
18
  import { A as normalizeHyphenSlug, d as getChannelDock, o as normalizeThinkLevel } from "./thinking-DCNUIAHY.js";
@@ -661,101 +660,6 @@ const countToolResults = (message) => {
661
660
  };
662
661
  };
663
662
 
664
- //#endregion
665
- //#region src/auto-reply/heartbeat.ts
666
- const HEARTBEAT_PROMPT = "Read SYMIPULSE.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply SYMIPULSE_OK.";
667
- const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
668
- function resolveHeartbeatPrompt(raw) {
669
- return (typeof raw === "string" ? raw.trim() : "") || HEARTBEAT_PROMPT;
670
- }
671
- function stripTokenAtEdges(raw) {
672
- let text = raw.trim();
673
- if (!text) return {
674
- text: "",
675
- didStrip: false
676
- };
677
- const token = SYMIPULSE_TOKEN;
678
- const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
679
- if (!text.includes(token)) return {
680
- text,
681
- didStrip: false
682
- };
683
- let didStrip = false;
684
- let changed = true;
685
- while (changed) {
686
- changed = false;
687
- const next = text.trim();
688
- if (next.startsWith(token)) {
689
- text = next.slice(token.length).trimStart();
690
- didStrip = true;
691
- changed = true;
692
- continue;
693
- }
694
- if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
695
- const idx = next.lastIndexOf(token);
696
- const before = next.slice(0, idx).trimEnd();
697
- if (!before) text = "";
698
- else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
699
- didStrip = true;
700
- changed = true;
701
- }
702
- }
703
- return {
704
- text: text.replace(/\s+/g, " ").trim(),
705
- didStrip
706
- };
707
- }
708
- function stripHeartbeatToken(raw, opts = {}) {
709
- if (!raw) return {
710
- shouldSkip: true,
711
- text: "",
712
- didStrip: false
713
- };
714
- const trimmed = raw.trim();
715
- if (!trimmed) return {
716
- shouldSkip: true,
717
- text: "",
718
- didStrip: false
719
- };
720
- const mode = opts.mode ?? "message";
721
- const maxAckCharsRaw = opts.maxAckChars;
722
- const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
723
- const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
724
- const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/&nbsp;/gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
725
- const trimmedNormalized = stripMarkup(trimmed);
726
- if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
727
- shouldSkip: false,
728
- text: trimmed,
729
- didStrip: false
730
- };
731
- const strippedOriginal = stripTokenAtEdges(trimmed);
732
- const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
733
- const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
734
- if (!picked.didStrip) return {
735
- shouldSkip: false,
736
- text: trimmed,
737
- didStrip: false
738
- };
739
- if (!picked.text) return {
740
- shouldSkip: true,
741
- text: "",
742
- didStrip: true
743
- };
744
- const rest = picked.text.trim();
745
- if (mode === "heartbeat") {
746
- if (rest.length <= maxAckChars) return {
747
- shouldSkip: true,
748
- text: "",
749
- didStrip: true
750
- };
751
- }
752
- return {
753
- shouldSkip: false,
754
- text: rest,
755
- didStrip: true
756
- };
757
- }
758
-
759
663
  //#endregion
760
664
  //#region src/auto-reply/reply/strip-inbound-meta.ts
761
665
  /**
@@ -7868,4 +7772,4 @@ function validateAnthropicTurns(messages) {
7868
7772
  }
7869
7773
 
7870
7774
  //#endregion
7871
- export { normalizeToolName as $, isTransientHttpError as A, resolveHeartbeatPrompt as At, resolveProfile as B, resolveSessionKey as Bt, isContextOverflowError as C, deliveryContextKey as Ct, isRateLimitAssistantError as D, normalizeAccountId as Dt, isLikelyContextOverflowError as E, normalizeSessionDeliveryFields as Et, resolveSandboxContext as F, applyInputProvenanceToUserMessage as Ft, resolveBrowserControlAuth as G, resolveThreadFlag as Gt, resolveExistingPathsWithinRoot as H, resolveChannelResetConfig as Ht, resolveSandboxRuntimeStatus as I, hasInterSessionUserProvenance as It, buildPluginToolGroups as J, canonicalizeMainSessionAlias as Jt, resolveSandboxConfigForAgent as K, DEFAULT_RESET_TRIGGERS as Kt, createBrowserRouteContext as L, normalizeInputProvenance as Lt, parseImageSizeError as M, countToolResults as Mt, sanitizeUserFacingText as N, extractToolCallNames as Nt, isRawApiErrorPayload as O, archiveSessionTranscripts as Ot, ensureSandboxWorkspaceForSession as P, INPUT_PROVENANCE_KIND_VALUES as Pt, mergeAlsoAllowPolicy as Q, resolveGroupSessionKey as Qt, registerBrowserRoutes as R, acquireSessionWriteLock as Rt, isCompactionFailureError as S, deliveryContextFromSession as St, isFailoverErrorMessage as T, normalizeDeliveryContext as Tt, getBridgeAuthForPort as U, resolveSessionResetPolicy as Ut, DEFAULT_UPLOAD_DIR as V, evaluateSessionFreshness as Vt, ensureBrowserControlAuth as W, resolveSessionResetType as Wt, expandPolicyWithPluginGroups as X, resolveMainSessionKey as Xt, collectExplicitAllowlist as Y, resolveExplicitAgentSessionKey as Yt, expandToolGroups as Z, deriveSessionMetaPatch as Zt, formatRawAssistantErrorForUi as _, updateLastRoute as _t, isMessagingToolDuplicateNormalized as a, ensureSessionHeader as at, isBillingAssistantError as b, isCacheEnabled as bt, extractToolCallsFromAssistant as c, sanitizeGoogleTurnOrdering as ct, isAntigravityClaude as d, appendAssistantMessageToSessionTranscript as dt, resolveToolProfilePolicy as et, isGoogleModelApi as f, resolveMirroredTranscriptText as ft, formatBillingErrorMessage as g, recordSessionMetaFromInbound as gt, formatAssistantErrorText as h, readSessionUpdatedAt as ht, isMessagingToolDuplicate as i, buildBootstrapContextFiles as it, parseImageDimensionError as j, stripHeartbeatToken as jt, isTimeoutErrorMessage as k, capArrayByJsonBytes as kt, extractToolResultId as l, extractDeliveryInfo as lt, classifyFailoverReason as m, loadSessionStore as mt, validateGeminiTurns as n, compileGlobPatterns as nt, normalizeTextForComparison as o, resolveBootstrapMaxChars as ot, BILLING_ERROR_USER_MESSAGE as p, resolveAndPersistSessionFile as pt, applyOwnerOnlyToolPolicy as q, resolveFreshSessionTotalTokens as qt, pickFallbackThinkingLevel as r, matchesAnyGlobPattern as rt, sanitizeSessionMessagesImages as s, resolveBootstrapTotalMaxChars as st, validateAnthropicTurns as t, stripPluginOnlyAllowlist as tt, downgradeOpenAIReasoningBlocks as u, parseSessionThreadInfo as ut, getApiErrorPayloadFingerprint as v, updateSessionStore as vt, isFailoverAssistantError as w, mergeDeliveryContext as wt, isCloudCodeAssistFormatError as x, resolveCacheTtlMs as xt, isAuthAssistantError as y, updateSessionStoreEntry as yt, resolveBrowserConfig as z, resolveSessionLockMaxHoldFromTimeout as zt };
7775
+ export { normalizeToolName as $, isTransientHttpError as A, countToolResults as At, resolveProfile as B, resolveChannelResetConfig as Bt, isContextOverflowError as C, deliveryContextKey as Ct, isRateLimitAssistantError as D, normalizeAccountId as Dt, isLikelyContextOverflowError as E, normalizeSessionDeliveryFields as Et, resolveSandboxContext as F, normalizeInputProvenance as Ft, resolveBrowserControlAuth as G, resolveFreshSessionTotalTokens as Gt, resolveExistingPathsWithinRoot as H, resolveSessionResetType as Ht, resolveSandboxRuntimeStatus as I, acquireSessionWriteLock as It, buildPluginToolGroups as J, resolveMainSessionKey as Jt, resolveSandboxConfigForAgent as K, canonicalizeMainSessionAlias as Kt, createBrowserRouteContext as L, resolveSessionLockMaxHoldFromTimeout as Lt, parseImageSizeError as M, INPUT_PROVENANCE_KIND_VALUES as Mt, sanitizeUserFacingText as N, applyInputProvenanceToUserMessage as Nt, isRawApiErrorPayload as O, archiveSessionTranscripts as Ot, ensureSandboxWorkspaceForSession as P, hasInterSessionUserProvenance as Pt, mergeAlsoAllowPolicy as Q, registerBrowserRoutes as R, resolveSessionKey as Rt, isCompactionFailureError as S, deliveryContextFromSession as St, isFailoverErrorMessage as T, normalizeDeliveryContext as Tt, getBridgeAuthForPort as U, resolveThreadFlag as Ut, DEFAULT_UPLOAD_DIR as V, resolveSessionResetPolicy as Vt, ensureBrowserControlAuth as W, DEFAULT_RESET_TRIGGERS as Wt, expandPolicyWithPluginGroups as X, resolveGroupSessionKey as Xt, collectExplicitAllowlist as Y, deriveSessionMetaPatch as Yt, expandToolGroups as Z, formatRawAssistantErrorForUi as _, updateLastRoute as _t, isMessagingToolDuplicateNormalized as a, ensureSessionHeader as at, isBillingAssistantError as b, isCacheEnabled as bt, extractToolCallsFromAssistant as c, sanitizeGoogleTurnOrdering as ct, isAntigravityClaude as d, appendAssistantMessageToSessionTranscript as dt, resolveToolProfilePolicy as et, isGoogleModelApi as f, resolveMirroredTranscriptText as ft, formatBillingErrorMessage as g, recordSessionMetaFromInbound as gt, formatAssistantErrorText as h, readSessionUpdatedAt as ht, isMessagingToolDuplicate as i, buildBootstrapContextFiles as it, parseImageDimensionError as j, extractToolCallNames as jt, isTimeoutErrorMessage as k, capArrayByJsonBytes as kt, extractToolResultId as l, extractDeliveryInfo as lt, classifyFailoverReason as m, loadSessionStore as mt, validateGeminiTurns as n, compileGlobPatterns as nt, normalizeTextForComparison as o, resolveBootstrapMaxChars as ot, BILLING_ERROR_USER_MESSAGE as p, resolveAndPersistSessionFile as pt, applyOwnerOnlyToolPolicy as q, resolveExplicitAgentSessionKey as qt, pickFallbackThinkingLevel as r, matchesAnyGlobPattern as rt, sanitizeSessionMessagesImages as s, resolveBootstrapTotalMaxChars as st, validateAnthropicTurns as t, stripPluginOnlyAllowlist as tt, downgradeOpenAIReasoningBlocks as u, parseSessionThreadInfo as ut, getApiErrorPayloadFingerprint as v, updateSessionStore as vt, isFailoverAssistantError as w, mergeDeliveryContext as wt, isCloudCodeAssistFormatError as x, resolveCacheTtlMs as xt, isAuthAssistantError as y, updateSessionStoreEntry as yt, resolveBrowserConfig as z, evaluateSessionFreshness as zt };