@symerian/symi 2.0.9 → 2.0.11

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 (251) hide show
  1. package/dist/{agents-DhimA7PX.js → agents-CNsMe4Dr.js} +4 -4
  2. package/dist/{agents.config-fv5KaNkC.js → agents.config-CdDf19dm.js} +1 -1
  3. package/dist/{agents.config-Dx90DAnM.js → agents.config-yx78oSLx.js} +1 -1
  4. package/dist/{audio-preflight-DQDfh7hZ.js → audio-preflight-CO2seHjy.js} +11 -12
  5. package/dist/{audio-preflight-B6L8N6Ly.js → audio-preflight-Cq4C-m27.js} +12 -13
  6. package/dist/{audio-preflight-Bk54IW__.js → audio-preflight-DRQD_nt1.js} +16 -17
  7. package/dist/{audio-preflight-C2U7KMim.js → audio-preflight-DSeaWZZW.js} +5 -6
  8. package/dist/{audit-C1KuICJa.js → audit-CiugrQda.js} +2 -2
  9. package/dist/{audit--HKrSvGg.js → audit-DKUpFt8z.js} +2 -2
  10. package/dist/{auth-choice-BqU5qMZy.js → auth-choice-CXMFi9LR.js} +1 -1
  11. package/dist/{auth-choice-B4zjI12P.js → auth-choice-mw9ndZQO.js} +4 -4
  12. package/dist/{banner-XTz_k5N3.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-mU0wiiP2.js → channel-options-D74Jofp4.js} +1 -1
  18. package/dist/{channel-options-Bbd-uPQW.js → channel-options-XPRRVrmU.js} +1 -1
  19. package/dist/{channel-web-CT8JWl10.js → channel-web-vRvvtf0S.js} +8 -8
  20. package/dist/{channels-cli-16POci9_.js → channels-cli-D3lj5dXo.js} +32 -32
  21. package/dist/{channels-cli-DMCnP5KN.js → channels-cli-DgxPfJF7.js} +12 -12
  22. package/dist/{chrome-2-wXJfuH.js → chrome-LmEyZdbC.js} +1 -1
  23. package/dist/{chrome-B_zrSLce.js → chrome-h6BnL8Lp.js} +7 -7
  24. package/dist/{chunk-BPSLqkZN.js → chunk-BW5f05BR.js} +1 -1
  25. package/dist/{chunk-rw3-yl6B.js → chunk-DTMTDXwE.js} +1 -1
  26. package/dist/{cli-Bzq5mSbu.js → cli-Bg_5WQFe.js} +9 -9
  27. package/dist/{cli-nuP_OZI0.js → cli-DQQAfUbo.js} +29 -29
  28. package/dist/{command-registry-DbtbOY_4.js → command-registry-Cde2LqTh.js} +9 -9
  29. package/dist/{commands-registry-CZ5P8CpC.js → commands-registry-C3C4Rv3O.js} +2 -2
  30. package/dist/{commands-registry-UwWpNkQg.js → commands-registry-Copoizgv.js} +1 -1
  31. package/dist/{completion-cli-mwQhHtOm.js → completion-cli-Cx9htCOm.js} +1 -1
  32. package/dist/{completion-cli-BwRqjgrI.js → completion-cli-KJUTWJP3.js} +2 -2
  33. package/dist/{config-D3XlX-h-.js → config-DM0K7qC1.js} +1 -1
  34. package/dist/{config-cli-Bu_y5erZ.js → config-cli-C5-P9Nzz.js} +1 -1
  35. package/dist/{config-cli-CoceKyQv.js → config-cli-ozfA6MGF.js} +1 -1
  36. package/dist/{config-guard-DujvCAc6.js → config-guard-BpQn1MKk.js} +1 -1
  37. package/dist/{config-guard-CFGZ0BjX.js → config-guard-Cnu2qssk.js} +2 -3
  38. package/dist/{configure-C27dLO_C.js → configure-DiuQ_aTS.js} +6 -6
  39. package/dist/{configure-DekriuOk.js → configure-ktsZw1bT.js} +3 -3
  40. package/dist/control-ui/vendor/highlight.min.js +2518 -0
  41. package/dist/control-ui/vendor/marked.min.js +69 -0
  42. package/dist/{deliver-B572qYqb.js → deliver-2Y_F_0yh.js} +5 -5
  43. package/dist/{deliver-DGaRNkFI.js → deliver-B3UoBZdC.js} +5 -5
  44. package/dist/{deliver-jK_qcWx-.js → deliver-CZF9f8aC.js} +5 -5
  45. package/dist/{deliver-l9I03N1d.js → deliver-DONp5mgd.js} +2 -2
  46. package/dist/{diagnostic-BIVLRT_X.js → diagnostic-CI0kRQkt.js} +1 -1
  47. package/dist/{diagnostic-C-7DW8ZL.js → diagnostic-D0xmLpej.js} +1 -1
  48. package/dist/{doctor-completion-D2AFiL0G.js → doctor-completion-CrN6Ly8x.js} +1 -1
  49. package/dist/{doctor-completion-RScd9m4s.js → doctor-completion-Vwi_je1c.js} +1 -1
  50. package/dist/{doctor-config-flow-ZeM3rJqG.js → doctor-config-flow-B150h841.js} +1 -1
  51. package/dist/{doctor-config-flow-Cpwv-_yJ.js → doctor-config-flow-C_56SUPO.js} +1 -1
  52. package/dist/entry.js +1 -1
  53. package/dist/extensionAPI.js +29 -29
  54. package/dist/{fetch-BrtlUMgb.js → fetch-DTNGXEzX.js} +1 -1
  55. package/dist/{fetch-guard-DPA1vbaF.js → fetch-guard-DOPkVbh3.js} +1 -1
  56. package/dist/{gateway-cli-N4jJ2_RN.js → gateway-cli-CwO3878F.js} +20 -20
  57. package/dist/{gateway-cli-D98Kj3_n.js → gateway-cli-DyqK4XZ1.js} +43 -43
  58. package/dist/{gemini-auth-Ca6F0cNq.js → gemini-auth-7AWT6JXV.js} +1 -1
  59. package/dist/{glass-ui-ws-Dd-MN6YA.js → glass-ui-ws-BmqwQaCf.js} +16 -16
  60. package/dist/{glass-ui-ws-B2fxjJTt.js → glass-ui-ws-zVNodseh.js} +39 -39
  61. package/dist/{health-C1_ivVPh.js → health-Q1RP1M2f.js} +5 -5
  62. package/dist/{health-Da2Nvp6A.js → health-UjXEBnzA.js} +4 -4
  63. package/dist/{heartbeat-visibility-DS9JNq6T.js → heartbeat-visibility-B8TDjqpW.js} +2 -2
  64. package/dist/{heartbeat-visibility-D4Xy8Sv0.js → heartbeat-visibility-U4BL57eQ.js} +2 -2
  65. package/dist/{hooks-cli-Bv6VXisB.js → hooks-cli-D4qJl6do.js} +10 -10
  66. package/dist/{hooks-cli-GzTpm8sN.js → hooks-cli-DOT9uGZw.js} +30 -30
  67. package/dist/{image-BW-m96jq.js → image-B4LY9KFw.js} +1 -1
  68. package/dist/{image-qnqUW4nb.js → image-DOnOTocl.js} +2 -2
  69. package/dist/{image-B_WF7Uie.js → image-DrZEJQwQ.js} +2 -2
  70. package/dist/{image-BJiE96Ml.js → image-RFofsrof.js} +4 -4
  71. package/dist/index.js +36 -36
  72. package/dist/{ir-DEVHhjq7.js → ir-DZam9q5M.js} +1 -1
  73. package/dist/{ir-B4l25ISI.js → ir-DccrnjsE.js} +3 -3
  74. package/dist/{ir-DPLo2LIn.js → ir-F0moAwIl.js} +3 -3
  75. package/dist/llm-slug-generator.js +34 -34
  76. package/dist/{local-roots-BDORNz_Q.js → local-roots-CC8jiKDk.js} +1 -1
  77. package/dist/{local-roots-Dg0r0pJL.js → local-roots-DMwIh5cS.js} +1 -1
  78. package/dist/{local-roots-C31eq7PP.js → local-roots-aAFLQGkY.js} +1 -1
  79. package/dist/{login-DNi-TGJT.js → login-BG_7eJLu.js} +2 -2
  80. package/dist/{login-qr-DWlyS1Bc.js → login-qr-9OQSnm5L.js} +4 -4
  81. package/dist/{manager-BX65xO2I.js → manager-B5EXdBQV.js} +2 -2
  82. package/dist/{manager-DjVWQ1JF.js → manager-C_DoJrcP.js} +3 -3
  83. package/dist/{memory-cli-BsBiPX0L.js → memory-cli-D4J9SO7Z.js} +4 -4
  84. package/dist/{model-auth-Daguh6Kb.js → model-auth-CeL58m55.js} +1 -1
  85. package/dist/{model-picker-CiSWZdy1.js → model-picker-DXwUsLAy.js} +1 -1
  86. package/dist/{models-B7W1r9j8.js → models-DKsiIvSx.js} +2 -2
  87. package/dist/{models-cli-BBFKprvF.js → models-cli-BS6UJ98e.js} +11 -11
  88. package/dist/{models-cli-B3XOSnTQ.js → models-cli-ULbdeSgc.js} +30 -30
  89. package/dist/{onboard-D54rYSt2.js → onboard-B387frTY.js} +5 -5
  90. package/dist/{onboard-DEBJWlyh.js → onboard-Bt-BwfkR.js} +2 -2
  91. package/dist/{onboard-channels-CwXnFQgu.js → onboard-channels-COcxT5Q0.js} +1 -1
  92. package/dist/{onboard-channels-D4U3bHOF.js → onboard-channels-ybPEmcP8.js} +1 -1
  93. package/dist/{onboard-custom-B3RZopk5.js → onboard-custom-DoIhWPnb.js} +2 -2
  94. package/dist/{onboard-skills-DfKmsYuM.js → onboard-skills-BD8JNVwL.js} +1 -1
  95. package/dist/{onboarding-Do5IBVbx.js → onboarding-BibGEGIS.js} +4 -4
  96. package/dist/{onboarding-Ch56YN4Q.js → onboarding-CdN_NU2d.js} +7 -7
  97. package/dist/{onboarding.finalize-C8I4yJ1J.js → onboarding.finalize-CY1NjrGb.js} +15 -15
  98. package/dist/{onboarding.finalize-ijmEZx2f.js → onboarding.finalize-CvahVrDM.js} +34 -34
  99. package/dist/{onboarding.gateway-config-BxgvBGxU.js → onboarding.gateway-config-Cj_s_IG8.js} +1 -2
  100. package/dist/{onboarding.gateway-config-EtWmSCuC.js → onboarding.gateway-config-DipSuaKH.js} +1 -2
  101. package/dist/{openai-model-default-BkscYpXX.js → openai-model-default-DF334-MD.js} +1 -1
  102. package/dist/{outbound-ByC0HdWz.js → outbound-BNMysnJ1.js} +2 -2
  103. package/dist/{outbound-DpGc1neG.js → outbound-Cedd_yui.js} +3 -3
  104. package/dist/{outbound-56UQxS1I.js → outbound-DfOF58G2.js} +2 -2
  105. package/dist/{outbound-attachment-C-GD7uJh.js → outbound-attachment-D_QuKi8U.js} +1 -1
  106. package/dist/{outbound-attachment-CJZwroQb.js → outbound-attachment-DjNDa3zn.js} +2 -2
  107. package/dist/{outbound-attachment-Cir36qaG.js → outbound-attachment-entfcjDW.js} +2 -2
  108. package/dist/{pi-auth-json-CHgA276j.js → pi-auth-json-BNhcohVK.js} +2 -2
  109. package/dist/{pi-embedded-C5XncARS.js → pi-embedded-BjzaB3CT.js} +157 -62
  110. package/dist/{pi-embedded-FBOXa0Py.js → pi-embedded-BvCoZBNg.js} +149 -54
  111. package/dist/{pi-embedded-helpers-BqnI9Mzn.js → pi-embedded-helpers--yFTAWwW.js} +11 -107
  112. package/dist/{pi-embedded-helpers-dLW7QMQa.js → pi-embedded-helpers-CgxKWHj9.js} +1 -1
  113. package/dist/{pi-embedded-helpers-B8JQjQlx.js → pi-embedded-helpers-kB5lBgXk.js} +13 -109
  114. package/dist/{pi-embedded-helpers-V5QifZSd.js → pi-embedded-helpers-ueCT6VlS.js} +2 -2
  115. package/dist/{pi-tools.policy-C747j2xs.js → pi-tools.policy-DPmdlOwE.js} +1 -1
  116. package/dist/{pi-tools.policy-B9nQ2esl.js → pi-tools.policy-T6Z5F-_n.js} +1 -1
  117. package/dist/{plugin-registry-BQ_14aNH.js → plugin-registry-BAbkdLQ7.js} +1 -1
  118. package/dist/{plugin-registry-Dso3ttvf.js → plugin-registry-CEoSVvL1.js} +1 -1
  119. package/dist/plugin-sdk/{audio-preflight-CAWn5TBW.js → audio-preflight-CpYjfwrA.js} +3 -4
  120. package/dist/plugin-sdk/{channel-web-CdAlKpn7.js → channel-web-xXTpy0N_.js} +3 -3
  121. package/dist/plugin-sdk/{deliver-PnVwVXLm.js → deliver-BwnrMlHO.js} +1 -1
  122. package/dist/plugin-sdk/gateway/chat-sanitize.d.ts +0 -11
  123. package/dist/plugin-sdk/{image-BGfQ0dkr.js → image-k_W1USVr.js} +1 -1
  124. package/dist/plugin-sdk/index.js +6 -6
  125. package/dist/plugin-sdk/{pi-embedded-helpers-BMudP5Tn.js → pi-embedded-helpers-Cs2-_EpL.js} +2 -98
  126. package/dist/plugin-sdk/{reply-QYyMp-Tw.js → reply-EEvLfWgt.js} +107 -12
  127. package/dist/plugin-sdk/{runner-qajBqJHY.js → runner-Br1179I4.js} +1 -1
  128. package/dist/plugin-sdk/{web-CVs35ve3.js → web-COWtpMAH.js} +6 -6
  129. package/dist/{plugins-cli-CgbeQGSF.js → plugins-cli-BpuQ7Y9l.js} +10 -10
  130. package/dist/{plugins-cli-BVyrgA8I.js → plugins-cli-C_S07pgO.js} +30 -30
  131. package/dist/{program-kfkuCFKS.js → program-cO9YX6wL.js} +16 -16
  132. package/dist/{program-context-hfUEmZz7.js → program-context-QBBvnWFX.js} +21 -21
  133. package/dist/{prompt-select-styled-J9mSr0OH.js → prompt-select-styled-CepuQSKg.js} +10 -10
  134. package/dist/{prompt-select-styled-116ZbBko.js → prompt-select-styled-D3dYbx2P.js} +7 -7
  135. package/dist/{provider-auth-helpers-C6JINKCe.js → provider-auth-helpers-BMACaaEd.js} +1 -1
  136. package/dist/{provider-auth-helpers-B6VXmCAd.js → provider-auth-helpers-DXqvuBCi.js} +1 -1
  137. package/dist/{push-apns-jxwr84iE.js → push-apns-8YIzbTM7.js} +1 -1
  138. package/dist/{push-apns-DPN9gxCf.js → push-apns-DhZgao_r.js} +1 -1
  139. package/dist/{pw-ai-D8UzqLyI.js → pw-ai-CAkn033M.js} +4 -4
  140. package/dist/{pw-ai-s-d46DCX.js → pw-ai-C_C5as1t.js} +1 -1
  141. package/dist/{qmd-manager-DeZm1nJL.js → qmd-manager-D85GJrir.js} +1 -1
  142. package/dist/{register.agent-zXM0Ehps.js → register.agent-CSUoUVKd.js} +14 -14
  143. package/dist/{register.agent-DuJFFLJT.js → register.agent-CiTS9lyx.js} +35 -35
  144. package/dist/{register.configure-CNCoYc7M.js → register.configure-BbE9MAer.js} +39 -39
  145. package/dist/{register.configure-DS0YVUwx.js → register.configure-CuCVLOW0.js} +14 -14
  146. package/dist/{register.maintenance-BXnLhacM.js → register.maintenance-CJG75LTu.js} +17 -17
  147. package/dist/{register.maintenance-D3oTcEuA.js → register.maintenance-D8bthvou.js} +37 -37
  148. package/dist/{register.message-BjdjpA_Z.js → register.message-CyqE4E2O.js} +10 -10
  149. package/dist/{register.message-DyIz3Dyp.js → register.message-nUpHGrEE.js} +30 -30
  150. package/dist/{register.onboard-CStFDwlr.js → register.onboard-BDlne5KX.js} +12 -12
  151. package/dist/{register.onboard-DN3MQsVM.js → register.onboard-Dlw-TCPH.js} +35 -35
  152. package/dist/{register.setup-BMsroiDO.js → register.setup-B8kiMuah.js} +35 -35
  153. package/dist/{register.setup-6f2WvCYV.js → register.setup-ByMyofSq.js} +12 -12
  154. package/dist/{register.status-health-sessions-CQB3d6mV.js → register.status-health-sessions-0odRpA-p.js} +13 -13
  155. package/dist/{register.status-health-sessions-Bioq718n.js → register.status-health-sessions-Diirshgb.js} +34 -34
  156. package/dist/{register.subclis-DjRoIlDB.js → register.subclis-CqEj9vfW.js} +12 -12
  157. package/dist/{replies-B4-OBhpP.js → replies-D9V19U2-.js} +2 -2
  158. package/dist/{replies-ConxSQu4.js → replies-DqdOBkTB.js} +2 -2
  159. package/dist/{replies-DPvPoRgq.js → replies-QloQerhz.js} +2 -2
  160. package/dist/{reply-b43dsTx2.js → reply-B9o45s3E.js} +166 -45
  161. package/dist/{run-main-DYbAd0T1.js → run-main-C__lZ7VF.js} +25 -25
  162. package/dist/{runner-CQnf083C.js → runner-BXN4KYDK.js} +1 -1
  163. package/dist/{runner-DhtP_e8E.js → runner-C0tJTZmp.js} +6 -6
  164. package/dist/{runner-Ct0-sE8b.js → runner-DOvsNiYz.js} +8 -8
  165. package/dist/{runner-t-wbbvf-.js → runner-uDZlTCm2.js} +4 -4
  166. package/dist/{sandbox-DofcD9ax.js → sandbox-CbuJolk2.js} +1 -1
  167. package/dist/{sandbox-cli-Dx6F5FaT.js → sandbox-cli-C90jqh9l.js} +2 -3
  168. package/dist/{sandbox-cli-l_OcbOYC.js → sandbox-cli-Duc05KL9.js} +2 -3
  169. package/dist/{sandbox-yaTFb84E.js → sandbox-rMmahr2s.js} +1 -1
  170. package/dist/{security-cli-CSpwKdww.js → security-cli-Bt0VkUtO.js} +4 -5
  171. package/dist/{security-cli-BJ3IXZfm.js → security-cli-YGXUUBvD.js} +4 -5
  172. package/dist/{send-DXoJ5lC_.js → send-3YM-aarb.js} +1 -1
  173. package/dist/{send-OEyo5LFE.js → send-B18gkuvz.js} +2 -2
  174. package/dist/{send-LZO3UNRb.js → send-BVZGeP2r.js} +3 -3
  175. package/dist/{send-D3qb_2Q-.js → send-BeASPkFg.js} +4 -4
  176. package/dist/{send-Dz76LuDQ.js → send-BsocounR.js} +2 -2
  177. package/dist/{send-DzmRVAHq.js → send-CHOArYFe.js} +3 -3
  178. package/dist/{send-B9JhmJSo.js → send-CzE5UKr-.js} +5 -5
  179. package/dist/{send-TQWniAsM.js → send-D0dzPf6g.js} +2 -2
  180. package/dist/{send-bTMPppyJ.js → send-D16XtYvC.js} +4 -4
  181. package/dist/{send-yBb6c4og.js → send-D3M6pMr5.js} +5 -5
  182. package/dist/{send-CiVBt5gu.js → send-DEWzWqfZ.js} +4 -4
  183. package/dist/{send-COvqFO3S.js → send-D_yJMeJa.js} +4 -4
  184. package/dist/{send-DDt3Bdxx.js → send-De_WCeGZ.js} +4 -4
  185. package/dist/{send-DmlK72uJ.js → send-Do-0Kcmv.js} +3 -3
  186. package/dist/{send-DBTO2dLX.js → send-mi3NHnwI.js} +2 -2
  187. package/dist/{server-methods-DIMQMEoV.js → server-methods-B_NSJmhc.js} +14 -14
  188. package/dist/{server-methods-B_y_To6u.js → server-methods-Df9KsV_-.js} +13 -13
  189. package/dist/{server-node-events-xk6gk1TZ.js → server-node-events-C2mugatX.js} +10 -10
  190. package/dist/{server-node-events-Cl8uQahY.js → server-node-events-ZG0SBDkU.js} +30 -30
  191. package/dist/{session-_ViRAnAz.js → session-T0JXlYWe.js} +1 -1
  192. package/dist/{session-utils-kkbiQhvc.js → session-utils-Cdv2Qaq2.js} +1 -1
  193. package/dist/{sessions-8_kZyON5.js → sessions-BEyCtqBB.js} +3 -271
  194. package/dist/{sessions-C-C7dQBK.js → sessions-CX93jXmG.js} +2 -2
  195. package/dist/{sessions-BYcI2Zrm.js → sessions-DJAxaVI7.js} +2 -270
  196. package/dist/{skill-commands-D_bBwwvA.js → skill-commands-B64uavY9.js} +1 -1
  197. package/dist/{skill-commands-Bc-ztbDr.js → skill-commands-DWcJOIzP.js} +1 -1
  198. package/dist/{skills-install-CKFZBTH2.js → skills-install-D67isO1L.js} +1 -1
  199. package/dist/{status-B2lMU2Pm.js → status-BTF6_aBO.js} +1 -1
  200. package/dist/{status-Bz1iwxQ8.js → status-BytVj4kU.js} +1 -1
  201. package/dist/{status-D0xPNlv4.js → status-PADx9rG7.js} +5 -5
  202. package/dist/{status-Dy0ocYJ8.js → status-hgm5EhwS.js} +7 -7
  203. package/dist/{status.update-D40obmG1.js → status.update-DlaskfTr.js} +1 -1
  204. package/dist/{store-Bb4oiLME.js → store-C0wvOkae.js} +1 -1
  205. package/dist/{store-C4ZvS7QX.js → store-bnzGvI16.js} +1 -1
  206. package/dist/{subagent-registry-7kBxT_d_.js → subagent-registry-BR2Qhqjf.js} +138 -17
  207. package/dist/{tables-CjPLB3aX.js → tables-BEzT0Da4.js} +1 -1
  208. package/dist/{tables-dfFTl4Oa.js → tables-COnZ169v.js} +1 -1
  209. package/dist/{tables-XnT3BCYh.js → tables-DuZspiBu.js} +1 -1
  210. package/dist/{target-errors-B_xs1J06.js → target-errors-7AvoVa10.js} +1 -1
  211. package/dist/{target-errors-CL9BfceM.js → target-errors-BbOqxMY0.js} +2 -2
  212. package/dist/{target-errors-LR7w6--g.js → target-errors-Be1SwYlW.js} +2 -2
  213. package/dist/{thinking-EjJEKdLq.js → thinking-CdlENGRW.js} +1 -1
  214. package/dist/{thinking-XA7vussX.js → thinking-W85Rb32m.js} +1 -1
  215. package/dist/{tool-images-BHM4TeU5.js → tool-images-ChC2CXaN.js} +1 -1
  216. package/dist/{tool-images-BwAkbbBM.js → tool-images-DXB7tqWi.js} +1 -1
  217. package/dist/{tui-Bmq33rYO.js → tui-0rURH3b3.js} +2 -2
  218. package/dist/{tui-DSGlMzTS.js → tui-CcirlGg5.js} +3 -3
  219. package/dist/{tui-cli-yL_gg_7w.js → tui-cli-D3VMk5c8.js} +6 -7
  220. package/dist/{tui-cli-8Ln6C319.js → tui-cli-hcbzeOtp.js} +4 -5
  221. package/dist/{update-check-DK1kMuwI.js → update-check-CtckACbb.js} +1 -1
  222. package/dist/{update-cli-D0Jlnkzy.js → update-cli-CHr8rjf-.js} +17 -17
  223. package/dist/{update-cli-B4FtAyNd.js → update-cli-qacplfF4.js} +38 -38
  224. package/dist/{update-runner-Ci3cNYff.js → update-runner-DM8zQvQB.js} +2 -2
  225. package/dist/{update-runner-CDnlfyP5.js → update-runner-DNA7FJa2.js} +1 -1
  226. package/dist/{web-ENDSDPaD.js → web-BKQnrqo-.js} +37 -37
  227. package/dist/{web-10GxXUo7.js → web-DkQc82PT.js} +9 -9
  228. package/dist/{web-cJUlI_Wb.js → web-G0LUda_q.js} +30 -30
  229. package/dist/{web-gNZ16539.js → web-UroM-w6c.js} +31 -31
  230. package/dist/{whatsapp-actions-CUczC854.js → whatsapp-actions-BIjGyW3T.js} +9 -9
  231. package/dist/{whatsapp-actions-ia2odzch.js → whatsapp-actions-BL7tCNC_.js} +12 -12
  232. package/dist/{whatsapp-actions-BcsFR5tf.js → whatsapp-actions-Jfx4zcwv.js} +7 -7
  233. package/package.json +1 -1
  234. /package/dist/{accounts-9VRq1rY7.js → accounts-8zZqL37v.js} +0 -0
  235. /package/dist/{accounts-BCS-nbgN.js → accounts-CWktKM8a.js} +0 -0
  236. /package/dist/{api-key-rotation-erqZ9Tuc.js → api-key-rotation-BukD0zzl.js} +0 -0
  237. /package/dist/{diagnostic-session-state-Bu3E4Enn.js → diagnostic-session-state-Bxo4UHOL.js} +0 -0
  238. /package/dist/{diagnostic-session-state-DmrztgHU.js → diagnostic-session-state-C1vRJs5w.js} +0 -0
  239. /package/dist/{fetch-timeout-DoySHqfO.js → fetch-timeout-Db3da8yR.js} +0 -0
  240. /package/dist/{github-copilot-token-BqpAEW8G.js → github-copilot-token-C_qUP7p5.js} +0 -0
  241. /package/dist/{image-ops-UtlmP67m.js → image-ops-ByaQt43P.js} +0 -0
  242. /package/dist/{image-ops-DD37OhdR.js → image-ops-CvJzsyvE.js} +0 -0
  243. /package/dist/{message-channel-B3YUM8IG.js → message-channel-BQINJQIT.js} +0 -0
  244. /package/dist/{message-channel-Bj7aZphL.js → message-channel-Dz5lr5b0.js} +0 -0
  245. /package/dist/{model-catalog-DhaH7him.js → model-catalog-DjJ9GtKX.js} +0 -0
  246. /package/dist/{pi-model-discovery-C-yOXpma.js → pi-model-discovery-j5tVLINv.js} +0 -0
  247. /package/dist/{sqlite-DhNyBVPk.js → sqlite-Dx3J_aSE.js} +0 -0
  248. /package/dist/{tokens-DBCvs-Ns.js → tokens-BuceUQDl.js} +0 -0
  249. /package/dist/{tool-display-pHB3J5PK.js → tool-display-D8N3rsYt.js} +0 -0
  250. /package/dist/{tool-images-CLRUTPlM.js → tool-images-DvUBlqjX.js} +0 -0
  251. /package/dist/{transcript-events-CJRvASY_.js → transcript-events-DdnTeoR1.js} +0 -0
@@ -14,19 +14,19 @@ import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
14
14
  import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
15
15
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
16
16
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-aT-I_DTX.js";
17
- import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-LZO3UNRb.js";
17
+ import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as createDiscordClient, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-BVZGeP2r.js";
18
18
  import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-Dgn_cL29.js";
19
19
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-C4BxOMWX.js";
20
20
  import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
21
21
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
22
22
  import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
23
23
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
24
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-DhtP_e8E.js";
25
- import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-B_WF7Uie.js";
24
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-C0tJTZmp.js";
25
+ import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-DrZEJQwQ.js";
26
26
  import { t as ensureSymiModelsJson } from "./models-config-u4va9_AO.js";
27
27
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
28
- import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-V5QifZSd.js";
29
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-yaTFb84E.js";
28
+ import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-ueCT6VlS.js";
29
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-rMmahr2s.js";
30
30
  import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-D9OwvWm7.js";
31
31
  import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DG2dIhAy.js";
32
32
  import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-6jdJQ5ZL.js";
@@ -35,38 +35,38 @@ import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./
35
35
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
36
36
  import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-1OJMSAUX.js";
37
37
  import { n as getMediaDir, r as saveMediaBuffer } from "./store-r1DJSDq-.js";
38
- import { $ as resolveGroupSessionKey, B as resolveSessionResetPolicy, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as stripHeartbeatToken, G as canonicalizeMainSessionAlias, H as resolveThreadFlag, J as resolveMainSessionKey, K as resolveAgentMainSessionKey, L as resolveSessionKey, P as resolveHeartbeatPrompt, Q as buildGroupDisplayName, R as evaluateSessionFreshness, S as archiveSessionTranscripts, U as DEFAULT_RESET_TRIGGERS, V as resolveSessionResetType, W as resolveFreshSessionTotalTokens, X as deriveSessionMetaPatch, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, et as acquireSessionWriteLock, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, nt as resolveSessionLockMaxHoldFromTimeout, o as loadSessionStore, p as isCacheEnabled, q as resolveExplicitAgentSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as resolveChannelResetConfig } from "./sessions-8_kZyON5.js";
38
+ import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-BEyCtqBB.js";
39
39
  import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BhS32F6E.js";
40
40
  import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-DKDeQZF0.js";
41
41
  import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-DDuIpcln.js";
42
42
  import { t as resolveIMessageAccount } from "./accounts-bK-Yqdwx.js";
43
43
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DyJN4_vR.js";
44
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DXoJ5lC_.js";
44
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-3YM-aarb.js";
45
45
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CyhzMxFA.js";
46
46
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
47
- import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-DBCvs-Ns.js";
48
- import { t as emitSessionTranscriptUpdate } from "./transcript-events-CJRvASY_.js";
49
- import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-CLRUTPlM.js";
50
- import { n as resolveToolDisplay } from "./tool-display-pHB3J5PK.js";
51
- import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DoySHqfO.js";
52
- import { t as fetchWithSsrFGuard } from "./fetch-guard-DPA1vbaF.js";
53
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-C31eq7PP.js";
54
- import { v as runTasksWithConcurrency } from "./sqlite-DhNyBVPk.js";
55
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DhaH7him.js";
47
+ import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
48
+ import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DvUBlqjX.js";
49
+ import { n as resolveToolDisplay } from "./tool-display-D8N3rsYt.js";
50
+ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3da8yR.js";
51
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
52
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
53
+ import { v as runTasksWithConcurrency } from "./sqlite-Dx3J_aSE.js";
54
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-DjJ9GtKX.js";
55
+ import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
56
56
  import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-BeA4Jxcl.js";
57
- import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-B572qYqb.js";
57
+ import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-2Y_F_0yh.js";
58
58
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-DjBRPfu9.js";
59
59
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
60
- import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-Dz76LuDQ.js";
60
+ import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-BsocounR.js";
61
61
  import { a as buildModelAliasLines, n as resolveModel } from "./model-CLebVu_U.js";
62
62
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
63
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BsBiPX0L.js";
64
- import { n as resolveMemorySearchConfig } from "./manager-DjVWQ1JF.js";
63
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-D4J9SO7Z.js";
64
+ import { n as resolveMemorySearchConfig } from "./manager-C_DoJrcP.js";
65
65
  import { n as retryAsync } from "./retry-BoS4e4X_.js";
66
- import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-B_xs1J06.js";
66
+ import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-7AvoVa10.js";
67
67
  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-1dhPX1NK.js";
68
68
  import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
69
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DEVHhjq7.js";
69
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DZam9q5M.js";
70
70
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-BNLCWX6e.js";
71
71
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-DyWjIe7d.js";
72
72
  import { Mt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-Cnoh7nRo.js";
@@ -74,17 +74,17 @@ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForM
74
74
  import { n as formatTimeAgo } from "./format-relative-BXoxEQVN.js";
75
75
  import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
76
76
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BOiuJS3t.js";
77
- import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BrtlUMgb.js";
78
- import { t as convertMarkdownTables } from "./tables-CjPLB3aX.js";
79
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-CiVBt5gu.js";
77
+ import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DTNGXEzX.js";
78
+ import { t as convertMarkdownTables } from "./tables-BEzT0Da4.js";
79
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-DEWzWqfZ.js";
80
80
  import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-CFwkjcA5.js";
81
81
  import { t as makeProxyFetch } from "./proxy-DU7W9XSc.js";
82
82
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-D0B0Uo-I.js";
83
83
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BMoTaVAH.js";
84
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DPvPoRgq.js";
84
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-QloQerhz.js";
85
85
  import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-DrFCB9F9.js";
86
86
  import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-BG4AXrGN.js";
87
- import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-OEyo5LFE.js";
87
+ import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-B18gkuvz.js";
88
88
  import { r as detectBinary } from "./onboard-helpers-BuSj9DUm.js";
89
89
  import { t as resolvePairingIdLabel } from "./pairing-labels-B-WwqJ-z.js";
90
90
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-BzKEDn0q.js";
@@ -93,7 +93,7 @@ import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExe
93
93
  import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-VBGXKdLk.js";
94
94
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-CN8o4Vi3.js";
95
95
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BiwOFDEK.js";
96
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-C747j2xs.js";
96
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-DPmdlOwE.js";
97
97
  import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DMz_CcLi.js";
98
98
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BUClb97_.js";
99
99
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-C8_BLnaW.js";
@@ -3486,6 +3486,127 @@ function extractQueueDirective(body) {
3486
3486
  };
3487
3487
  }
3488
3488
 
3489
+ //#endregion
3490
+ //#region src/auto-reply/heartbeat.ts
3491
+ 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.";
3492
+ const DEFAULT_HEARTBEAT_EVERY = "30m";
3493
+ const DEFAULT_HEARTBEAT_ACK_MAX_CHARS = 300;
3494
+ /**
3495
+ * Check if SYMIPULSE.md content is "effectively empty" - meaning it has no actionable tasks.
3496
+ * This allows skipping heartbeat API calls when no tasks are configured.
3497
+ *
3498
+ * A file is considered effectively empty if it contains only:
3499
+ * - Whitespace
3500
+ * - Comment lines (lines starting with #)
3501
+ * - Empty lines
3502
+ *
3503
+ * Note: A missing file returns false (not effectively empty) so the LLM can still
3504
+ * decide what to do. This function is only for when the file exists but has no content.
3505
+ */
3506
+ function isHeartbeatContentEffectivelyEmpty(content) {
3507
+ if (content === void 0 || content === null) return false;
3508
+ if (typeof content !== "string") return false;
3509
+ const lines = content.split("\n");
3510
+ for (const line of lines) {
3511
+ const trimmed = line.trim();
3512
+ if (!trimmed) continue;
3513
+ if (/^#+(\s|$)/.test(trimmed)) continue;
3514
+ if (/^[-*+]\s*(\[[\sXx]?\]\s*)?$/.test(trimmed)) continue;
3515
+ return false;
3516
+ }
3517
+ return true;
3518
+ }
3519
+ function resolveHeartbeatPrompt(raw) {
3520
+ return (typeof raw === "string" ? raw.trim() : "") || HEARTBEAT_PROMPT;
3521
+ }
3522
+ function stripTokenAtEdges(raw) {
3523
+ let text = raw.trim();
3524
+ if (!text) return {
3525
+ text: "",
3526
+ didStrip: false
3527
+ };
3528
+ const token = SYMIPULSE_TOKEN;
3529
+ const tokenAtEndWithOptionalTrailingPunctuation = new RegExp(`${escapeRegExp(token)}[^\\w]{0,4}$`);
3530
+ if (!text.includes(token)) return {
3531
+ text,
3532
+ didStrip: false
3533
+ };
3534
+ let didStrip = false;
3535
+ let changed = true;
3536
+ while (changed) {
3537
+ changed = false;
3538
+ const next = text.trim();
3539
+ if (next.startsWith(token)) {
3540
+ text = next.slice(token.length).trimStart();
3541
+ didStrip = true;
3542
+ changed = true;
3543
+ continue;
3544
+ }
3545
+ if (tokenAtEndWithOptionalTrailingPunctuation.test(next)) {
3546
+ const idx = next.lastIndexOf(token);
3547
+ const before = next.slice(0, idx).trimEnd();
3548
+ if (!before) text = "";
3549
+ else text = `${before}${next.slice(idx + token.length).trimStart()}`.trimEnd();
3550
+ didStrip = true;
3551
+ changed = true;
3552
+ }
3553
+ }
3554
+ return {
3555
+ text: text.replace(/\s+/g, " ").trim(),
3556
+ didStrip
3557
+ };
3558
+ }
3559
+ function stripHeartbeatToken(raw, opts = {}) {
3560
+ if (!raw) return {
3561
+ shouldSkip: true,
3562
+ text: "",
3563
+ didStrip: false
3564
+ };
3565
+ const trimmed = raw.trim();
3566
+ if (!trimmed) return {
3567
+ shouldSkip: true,
3568
+ text: "",
3569
+ didStrip: false
3570
+ };
3571
+ const mode = opts.mode ?? "message";
3572
+ const maxAckCharsRaw = opts.maxAckChars;
3573
+ const parsedAckChars = typeof maxAckCharsRaw === "string" ? Number(maxAckCharsRaw) : maxAckCharsRaw;
3574
+ const maxAckChars = Math.max(0, typeof parsedAckChars === "number" && Number.isFinite(parsedAckChars) ? parsedAckChars : DEFAULT_HEARTBEAT_ACK_MAX_CHARS);
3575
+ const stripMarkup = (text) => text.replace(/<[^>]*>/g, " ").replace(/&nbsp;/gi, " ").replace(/^[*`~_]+/, "").replace(/[*`~_]+$/, "");
3576
+ const trimmedNormalized = stripMarkup(trimmed);
3577
+ if (!(trimmed.includes(SYMIPULSE_TOKEN) || trimmedNormalized.includes(SYMIPULSE_TOKEN))) return {
3578
+ shouldSkip: false,
3579
+ text: trimmed,
3580
+ didStrip: false
3581
+ };
3582
+ const strippedOriginal = stripTokenAtEdges(trimmed);
3583
+ const strippedNormalized = stripTokenAtEdges(trimmedNormalized);
3584
+ const picked = strippedOriginal.didStrip && strippedOriginal.text ? strippedOriginal : strippedNormalized;
3585
+ if (!picked.didStrip) return {
3586
+ shouldSkip: false,
3587
+ text: trimmed,
3588
+ didStrip: false
3589
+ };
3590
+ if (!picked.text) return {
3591
+ shouldSkip: true,
3592
+ text: "",
3593
+ didStrip: true
3594
+ };
3595
+ const rest = picked.text.trim();
3596
+ if (mode === "heartbeat") {
3597
+ if (rest.length <= maxAckChars) return {
3598
+ shouldSkip: true,
3599
+ text: "",
3600
+ didStrip: true
3601
+ };
3602
+ }
3603
+ return {
3604
+ shouldSkip: false,
3605
+ text: rest,
3606
+ didStrip: true
3607
+ };
3608
+ }
3609
+
3489
3610
  //#endregion
3490
3611
  //#region src/config/channel-capabilities.ts
3491
3612
  const isStringArray = (value) => Array.isArray(value) && value.every((entry) => typeof entry === "string");
@@ -10292,7 +10413,7 @@ async function routeReply(params) {
10292
10413
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10293
10414
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10294
10415
  try {
10295
- const { deliverOutboundPayloads } = await import("./deliver-B572qYqb.js").then((n) => n.n);
10416
+ const { deliverOutboundPayloads } = await import("./deliver-2Y_F_0yh.js").then((n) => n.n);
10296
10417
  return {
10297
10418
  ok: true,
10298
10419
  messageId: (await deliverOutboundPayloads({
@@ -12842,7 +12963,7 @@ async function describeStickerImage(params) {
12842
12963
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
12843
12964
  try {
12844
12965
  const buffer = await fs$1.readFile(imagePath);
12845
- const { describeImageWithModel } = await import("./image-B_WF7Uie.js").then((n) => n.n);
12966
+ const { describeImageWithModel } = await import("./image-DrZEJQwQ.js").then((n) => n.n);
12846
12967
  return (await describeImageWithModel({
12847
12968
  buffer,
12848
12969
  fileName: "sticker.webp",
@@ -15481,7 +15602,7 @@ async function preflightDiscordMessage(params) {
15481
15602
  let preflightTranscript;
15482
15603
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
15483
15604
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
15484
- const { transcribeFirstAudio } = await import("./audio-preflight-DQDfh7hZ.js");
15605
+ const { transcribeFirstAudio } = await import("./audio-preflight-CO2seHjy.js");
15485
15606
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
15486
15607
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
15487
15608
  ctx: {
@@ -22170,27 +22291,27 @@ async function runWithImageModelFallback(params) {
22170
22291
  function createDefaultDeps() {
22171
22292
  return {
22172
22293
  sendMessageWhatsApp: async (...args) => {
22173
- const { sendMessageWhatsApp } = await import("./web-gNZ16539.js");
22294
+ const { sendMessageWhatsApp } = await import("./web-UroM-w6c.js");
22174
22295
  return await sendMessageWhatsApp(...args);
22175
22296
  },
22176
22297
  sendMessageTelegram: async (...args) => {
22177
- const { sendMessageTelegram } = await import("./send-Dz76LuDQ.js").then((n) => n.l);
22298
+ const { sendMessageTelegram } = await import("./send-BsocounR.js").then((n) => n.l);
22178
22299
  return await sendMessageTelegram(...args);
22179
22300
  },
22180
22301
  sendMessageDiscord: async (...args) => {
22181
- const { sendMessageDiscord } = await import("./send-LZO3UNRb.js").then((n) => n.t);
22302
+ const { sendMessageDiscord } = await import("./send-BVZGeP2r.js").then((n) => n.t);
22182
22303
  return await sendMessageDiscord(...args);
22183
22304
  },
22184
22305
  sendMessageSlack: async (...args) => {
22185
- const { sendMessageSlack } = await import("./send-DXoJ5lC_.js").then((n) => n.n);
22306
+ const { sendMessageSlack } = await import("./send-3YM-aarb.js").then((n) => n.n);
22186
22307
  return await sendMessageSlack(...args);
22187
22308
  },
22188
22309
  sendMessageSignal: async (...args) => {
22189
- const { sendMessageSignal } = await import("./send-CiVBt5gu.js").then((n) => n.i);
22310
+ const { sendMessageSignal } = await import("./send-DEWzWqfZ.js").then((n) => n.i);
22190
22311
  return await sendMessageSignal(...args);
22191
22312
  },
22192
22313
  sendMessageIMessage: async (...args) => {
22193
- const { sendMessageIMessage } = await import("./send-OEyo5LFE.js").then((n) => n.n);
22314
+ const { sendMessageIMessage } = await import("./send-B18gkuvz.js").then((n) => n.n);
22194
22315
  return await sendMessageIMessage(...args);
22195
22316
  }
22196
22317
  };
@@ -33740,7 +33861,7 @@ async function registerSlackMonitorSlashCommands(params) {
33740
33861
  });
33741
33862
  const deliverSlashPayloads = async (replies) => {
33742
33863
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
33743
- import("./replies-DPvPoRgq.js").then((n) => n.r),
33864
+ import("./replies-QloQerhz.js").then((n) => n.r),
33744
33865
  import("./chunk-1dhPX1NK.js").then((n) => n.s),
33745
33866
  import("./markdown-tables-CEbN0fEm.js").then((n) => n.t)
33746
33867
  ]);
@@ -34230,7 +34351,7 @@ async function auditTelegramGroupMembership(params) {
34230
34351
  elapsedMs: Date.now() - started
34231
34352
  };
34232
34353
  const fetcher = params.proxyUrl ? (await import("./proxy-DU7W9XSc.js").then((n) => n.n)).makeProxyFetch(params.proxyUrl) : fetch;
34233
- const { fetchWithTimeout } = await import("./fetch-timeout-DoySHqfO.js").then((n) => n.r);
34354
+ const { fetchWithTimeout } = await import("./fetch-timeout-Db3da8yR.js").then((n) => n.r);
34234
34355
  const base = `${TELEGRAM_API_BASE$1}/bot${token}`;
34235
34356
  const groups = [];
34236
34357
  for (const chatId of params.groupIds) try {
@@ -38564,7 +38685,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
38564
38685
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
38565
38686
  let preflightTranscript;
38566
38687
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
38567
- const { transcribeFirstAudio } = await import("./audio-preflight-DQDfh7hZ.js");
38688
+ const { transcribeFirstAudio } = await import("./audio-preflight-CO2seHjy.js");
38568
38689
  preflightTranscript = await transcribeFirstAudio({
38569
38690
  ctx: {
38570
38691
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -40718,7 +40839,7 @@ let webLoginQrPromise = null;
40718
40839
  let webChannelPromise = null;
40719
40840
  let whatsappActionsPromise = null;
40720
40841
  function loadWebOutbound() {
40721
- webOutboundPromise ??= import("./outbound-56UQxS1I.js").then((n) => n.t);
40842
+ webOutboundPromise ??= import("./outbound-DfOF58G2.js").then((n) => n.t);
40722
40843
  return webOutboundPromise;
40723
40844
  }
40724
40845
  function loadWebLogin() {
@@ -40730,11 +40851,11 @@ function loadWebLoginQr() {
40730
40851
  return webLoginQrPromise;
40731
40852
  }
40732
40853
  function loadWebChannel() {
40733
- webChannelPromise ??= import("./web-gNZ16539.js");
40854
+ webChannelPromise ??= import("./web-UroM-w6c.js");
40734
40855
  return webChannelPromise;
40735
40856
  }
40736
40857
  function loadWhatsAppActions() {
40737
- whatsappActionsPromise ??= import("./whatsapp-actions-BcsFR5tf.js");
40858
+ whatsappActionsPromise ??= import("./whatsapp-actions-Jfx4zcwv.js");
40738
40859
  return whatsappActionsPromise;
40739
40860
  }
40740
40861
  function createPluginRuntime() {
@@ -71052,7 +71173,7 @@ async function deliverSessionMaintenanceWarning(params) {
71052
71173
  return;
71053
71174
  }
71054
71175
  try {
71055
- const { deliverOutboundPayloads } = await import("./deliver-B572qYqb.js").then((n) => n.n);
71176
+ const { deliverOutboundPayloads } = await import("./deliver-2Y_F_0yh.js").then((n) => n.n);
71056
71177
  await deliverOutboundPayloads({
71057
71178
  cfg: params.cfg,
71058
71179
  channel,
@@ -71906,4 +72027,4 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
71906
72027
  }
71907
72028
 
71908
72029
  //#endregion
71909
- export { normalizeOptionalText as $, getActiveTaskCount as $n, buildSafeExternalPrompt as $t, resetDirectoryCache as A, listSubagentRunsForRequester as An, agentCommand as At, consumeRestartSentinel as B, getTtsProvider as Bn, resolveSendPolicy as Bt, pruneLegacyStoreKeys as C, isAbortTrigger as Cn, extractImageContentFromSource as Cr, resolveUsageProviderId as Ct, ensureOutboundSessionEntry as D, countActiveDescendantRuns as Dn, resolveAgentTimeoutMs as Dr, requestBodyErrorToText as Dt, runMessageAction as E, normalizeMentionText as En, estimateBase64DecodedBytes as Er, readJsonBodyWithLimit as Et, isGatewaySigusr1RestartExternallyAllowed as F, emitAgentEvent as Fn, resolveHeartbeatSenderContext as Ft, trimLogTail as G, resolveTtsConfig as Gn, setCliSessionId as Gt, formatRestartSentinelMessage as H, isTtsProviderConfigured as Hn, createOutboundSendDeps$1 as Ht, markGatewaySigusr1RestartHandled as I, getAgentRunContext as In, resolveOutboundTarget as It, normalizeCronJobCreate as J, setTtsEnabled as Jn, describeFailoverError as Jt, writeRestartSentinel as K, resolveTtsPrefsPath as Kn, runCliAgent as Kt, scheduleGatewaySigusr1Restart as L, onAgentEvent as Ln, resolveSessionDeliveryTarget as Lt, consumeGatewaySigusr1RestartAuthorization as M, runSubagentAnnounceFlow as Mn, resolveAgentDeliveryPlan as Mt, deferGatewayRestartUntilIdle as N, readLatestAssistantReply as Nn, resolveAgentOutboundTarget as Nt, resolveOutboundSessionRoute as O, initSubagentRegistry as On, computeBackoff as Ot, emitGatewayRestart as P, clearAgentRunContext as Pn, resolveHeartbeatDeliveryTarget as Pt, normalizeOptionalSessionKey as Q, OPENAI_TTS_VOICES as Qn, parseIdentityMarkdown as Qt, setGatewaySigusr1RestartPolicy as R, registerAgentRunContext as Rn, createOutboundSendDeps as Rt, loadSessionEntry as S, shouldComputeCommandAuthorized as Sn, extractFileContentFromSource as Sr, formatUsageWindowSummary as St, resolveSessionModelRef as T, buildMentionRegexes as Tn, resolveInputFileLimits as Tr, handleSlackHttpRequest as Tt, readRestartSentinel as U, resolveTtsApiKey as Un, runWithModelFallback as Ut, formatDoctorNonInteractiveHint as V, isTtsEnabled as Vn, createDefaultDeps as Vt, summarizeRestartSentinel as W, resolveTtsAutoMode as Wn, getCliSessionId as Wt, inferLegacyName as X, textToSpeech as Xn, identityHasValues as Xt, normalizeCronJobPatch as Y, setTtsProvider as Yn, resolveAgentAvatar as Yt, normalizeOptionalAgentId as Z, OPENAI_TTS_MODELS as Zn, loadAgentIdentityFromWorkspace as Zt, canonicalizeSpawnedByForAgent as _, resolveInboundDebounceMs as _n, peekSystemEvents as _r, deleteTelegramUpdateOffset as _t, buildChannelSummary as a, resolveMentionGating as an, CommandLane as ar, stripLegacyDeliveryFields as at, listSessionsFromStore as b, formatZonedTimestamp as bn, DEFAULT_INPUT_MAX_REDIRECTS as br, loadProviderUsageSummary as bt, clearSessionQueues as c, recordPendingHistoryEntryIfEnabled as cn, DEFAULT_OAUTH_WARN_MS as cr, applyBrowserProxyPaths as ct, getActiveEmbeddedRunCount as d, provider_dispatcher_exports as dn, applyModelOverrideToSessionEntry as dr, requestHeartbeatNow as dt, detectSuspiciousPatterns as en, getQueueSize as er, normalizePayloadToSystemText as et, waitForEmbeddedPiRunEnd as f, dispatchInboundMessage as fn, applyVerboseOverride as fr, setHeartbeatWakeHandler as ft, resolveAnnounceTargetFromKey as g, createInboundDebouncer as gn, peekSystemEventEntries as gr, loadSymiPlugins as gt, createSymiTools as h, createDedupeCache as hn, isSystemEventContextChanged as hr, createPluginLoaderLogger as ht, resolveCronStyleNow as i, buildPairingReply as in, waitForActiveTasks as ir, hasLegacyDeliveryHints as it, CHANNEL_MESSAGE_ACTION_NAMES as j, subagent_registry_exports as jn, resolveSessionKeyForRequest as jt, formatTargetDisplay as k, listDescendantRunsForRequester as kn, sleepWithAbort as kt, runEmbeddedPiAgent as l, shouldAckReactionForWhatsApp as ln, buildAuthHealthSummary as lr, persistBrowserProxyFiles as lt, buildDefaultToolPolicyPipelineSteps as m, getTotalPendingReplies as mn, enqueueSystemEvent as mr, getPluginToolMeta as mt, BARE_SESSION_RESET_PROMPT as n, isExternalHookSession as nn, resetAllLanes as nr, migrateLegacyCronPayload as nt, buildChannelAccountSnapshot as o, DEFAULT_GROUP_HISTORY_LIMIT as on, lookupContextTokens as or, CHANNEL_TARGETS_DESCRIPTION as ot, applyToolPolicyPipeline as p, createReplyDispatcher as pn, parseVerboseOverride as pr, resolveHeartbeatReasonKind as pt, normalizeHttpWebhookUrl as q, resolveTtsProviderOrder as qn, sha256HexPrefix as qt, appendCronStyleCurrentTimeLine as r, unbindThreadBindingsBySessionKey as rn, setCommandLaneConcurrency as rr, buildDeliveryFromLegacyPayload as rt, formatChannelAllowFrom as s, buildHistoryContextFromEntries as sn, maskApiKey as sr, CHANNEL_TARGET_DESCRIPTION as st, getReplyFromConfig as t, getHookType as tn, getTotalQueueSize as tr, normalizeRequiredName as tt, abortEmbeddedPiRun as u, dispatchReplyWithBufferedBlockDispatcher as un, formatRemainingShort as ur, sniffMimeFromBase64 as ut, classifySessionKey as v, formatInboundEnvelope as vn, DEFAULT_INPUT_IMAGE_MAX_BYTES as vr, normalizeGroupActivation as vt, resolveGatewaySessionStoreTarget as w, stopSubagentsForRequester as wn, normalizeMimeList as wr, resolveCommitHash as wt, loadCombinedSessionStoreForGateway as x, hasControlCommand as xn, DEFAULT_INPUT_TIMEOUT_MS as xr, formatUsageReportLines as xt, listAgentsForGateway as y, resolveEnvelopeFormatOptions as yn, DEFAULT_INPUT_IMAGE_MIMES as yr, parseActivationCommand as yt, setPreRestartDeferralCheck as z, resolveUserTimezone as zn, normalizeSendPolicy as zt };
72030
+ export { normalizeOptionalText as $, getActiveTaskCount as $n, buildSafeExternalPrompt as $t, resetDirectoryCache as A, listSubagentRunsForRequester as An, resolveInputFileLimits as Ar, agentCommand as At, consumeRestartSentinel as B, getTtsProvider as Bn, resolveSendPolicy as Bt, pruneLegacyStoreKeys as C, isAbortTrigger as Cn, DEFAULT_INPUT_IMAGE_MAX_BYTES as Cr, resolveUsageProviderId as Ct, ensureOutboundSessionEntry as D, countActiveDescendantRuns as Dn, extractFileContentFromSource as Dr, requestBodyErrorToText as Dt, runMessageAction as E, normalizeMentionText as En, DEFAULT_INPUT_TIMEOUT_MS as Er, readJsonBodyWithLimit as Et, isGatewaySigusr1RestartExternallyAllowed as F, emitAgentEvent as Fn, resolveHeartbeatSenderContext as Ft, trimLogTail as G, resolveTtsConfig as Gn, setCliSessionId as Gt, formatRestartSentinelMessage as H, isTtsProviderConfigured as Hn, createOutboundSendDeps$1 as Ht, markGatewaySigusr1RestartHandled as I, getAgentRunContext as In, resolveOutboundTarget as It, normalizeCronJobCreate as J, setTtsEnabled as Jn, describeFailoverError as Jt, writeRestartSentinel as K, resolveTtsPrefsPath as Kn, runCliAgent as Kt, scheduleGatewaySigusr1Restart as L, onAgentEvent as Ln, resolveSessionDeliveryTarget as Lt, consumeGatewaySigusr1RestartAuthorization as M, runSubagentAnnounceFlow as Mn, resolveAgentTimeoutMs as Mr, resolveAgentDeliveryPlan as Mt, deferGatewayRestartUntilIdle as N, readLatestAssistantReply as Nn, resolveAgentOutboundTarget as Nt, resolveOutboundSessionRoute as O, initSubagentRegistry as On, extractImageContentFromSource as Or, computeBackoff as Ot, emitGatewayRestart as P, clearAgentRunContext as Pn, resolveHeartbeatDeliveryTarget as Pt, normalizeOptionalSessionKey as Q, OPENAI_TTS_VOICES as Qn, parseIdentityMarkdown as Qt, setGatewaySigusr1RestartPolicy as R, registerAgentRunContext as Rn, createOutboundSendDeps as Rt, loadSessionEntry as S, shouldComputeCommandAuthorized as Sn, peekSystemEvents as Sr, formatUsageWindowSummary as St, resolveSessionModelRef as T, buildMentionRegexes as Tn, DEFAULT_INPUT_MAX_REDIRECTS as Tr, handleSlackHttpRequest as Tt, readRestartSentinel as U, resolveTtsApiKey as Un, runWithModelFallback as Ut, formatDoctorNonInteractiveHint as V, isTtsEnabled as Vn, createDefaultDeps as Vt, summarizeRestartSentinel as W, resolveTtsAutoMode as Wn, getCliSessionId as Wt, inferLegacyName as X, textToSpeech as Xn, identityHasValues as Xt, normalizeCronJobPatch as Y, setTtsProvider as Yn, resolveAgentAvatar as Yt, normalizeOptionalAgentId as Z, OPENAI_TTS_MODELS as Zn, loadAgentIdentityFromWorkspace as Zt, canonicalizeSpawnedByForAgent as _, resolveInboundDebounceMs as _n, applyVerboseOverride as _r, deleteTelegramUpdateOffset as _t, buildChannelSummary as a, resolveMentionGating as an, CommandLane as ar, stripLegacyDeliveryFields as at, listSessionsFromStore as b, formatZonedTimestamp as bn, isSystemEventContextChanged as br, loadProviderUsageSummary as bt, clearSessionQueues as c, recordPendingHistoryEntryIfEnabled as cn, isHeartbeatContentEffectivelyEmpty as cr, applyBrowserProxyPaths as ct, getActiveEmbeddedRunCount as d, provider_dispatcher_exports as dn, lookupContextTokens as dr, requestHeartbeatNow as dt, detectSuspiciousPatterns as en, getQueueSize as er, normalizePayloadToSystemText as et, waitForEmbeddedPiRunEnd as f, dispatchInboundMessage as fn, maskApiKey as fr, setHeartbeatWakeHandler as ft, resolveAnnounceTargetFromKey as g, createInboundDebouncer as gn, applyModelOverrideToSessionEntry as gr, loadSymiPlugins as gt, createSymiTools as h, createDedupeCache as hn, formatRemainingShort as hr, createPluginLoaderLogger as ht, resolveCronStyleNow as i, buildPairingReply as in, waitForActiveTasks as ir, hasLegacyDeliveryHints as it, CHANNEL_MESSAGE_ACTION_NAMES as j, subagent_registry_exports as jn, estimateBase64DecodedBytes as jr, resolveSessionKeyForRequest as jt, formatTargetDisplay as k, listDescendantRunsForRequester as kn, normalizeMimeList as kr, sleepWithAbort as kt, runEmbeddedPiAgent as l, shouldAckReactionForWhatsApp as ln, resolveHeartbeatPrompt as lr, persistBrowserProxyFiles as lt, buildDefaultToolPolicyPipelineSteps as m, getTotalPendingReplies as mn, buildAuthHealthSummary as mr, getPluginToolMeta as mt, BARE_SESSION_RESET_PROMPT as n, isExternalHookSession as nn, resetAllLanes as nr, migrateLegacyCronPayload as nt, buildChannelAccountSnapshot as o, DEFAULT_GROUP_HISTORY_LIMIT as on, DEFAULT_HEARTBEAT_ACK_MAX_CHARS as or, CHANNEL_TARGETS_DESCRIPTION as ot, applyToolPolicyPipeline as p, createReplyDispatcher as pn, DEFAULT_OAUTH_WARN_MS as pr, resolveHeartbeatReasonKind as pt, normalizeHttpWebhookUrl as q, resolveTtsProviderOrder as qn, sha256HexPrefix as qt, appendCronStyleCurrentTimeLine as r, unbindThreadBindingsBySessionKey as rn, setCommandLaneConcurrency as rr, buildDeliveryFromLegacyPayload as rt, formatChannelAllowFrom as s, buildHistoryContextFromEntries as sn, DEFAULT_HEARTBEAT_EVERY as sr, CHANNEL_TARGET_DESCRIPTION as st, getReplyFromConfig as t, getHookType as tn, getTotalQueueSize as tr, normalizeRequiredName as tt, abortEmbeddedPiRun as u, dispatchReplyWithBufferedBlockDispatcher as un, stripHeartbeatToken as ur, sniffMimeFromBase64 as ut, classifySessionKey as v, formatInboundEnvelope as vn, parseVerboseOverride as vr, normalizeGroupActivation as vt, resolveGatewaySessionStoreTarget as w, stopSubagentsForRequester as wn, DEFAULT_INPUT_IMAGE_MIMES as wr, resolveCommitHash as wt, loadCombinedSessionStoreForGateway as x, hasControlCommand as xn, peekSystemEventEntries as xr, formatUsageReportLines as xt, listAgentsForGateway as y, resolveEnvelopeFormatOptions as yn, enqueueSystemEvent as yr, parseActivationCommand as yt, setPreRestartDeferralCheck as z, resolveUserTimezone as zn, normalizeSendPolicy as zt };
@@ -13,8 +13,8 @@ import "./client-LeVQns9-.js";
13
13
  import "./call-BQiCOxB6.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-7kBxT_d_.js";
17
- import "./sessions-BYcI2Zrm.js";
16
+ import "./subagent-registry-BR2Qhqjf.js";
17
+ import "./sessions-DJAxaVI7.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
20
20
  import "./accounts-D9ITgITj.js";
@@ -23,14 +23,14 @@ import "./logging-CFvkxgcX.js";
23
23
  import "./send-C7u4_H5t.js";
24
24
  import "./send-CYfaZNZ4.js";
25
25
  import "./with-timeout-Cj_xUxo6.js";
26
- import "./deliver-l9I03N1d.js";
26
+ import "./deliver-DONp5mgd.js";
27
27
  import "./diagnostic-Ci8Xsc_Y.js";
28
28
  import "./diagnostic-session-state-CIjIGxEE.js";
29
29
  import "./accounts-D1eLj5t8.js";
30
30
  import "./send-hNornLoH.js";
31
31
  import "./image-ops-CUkaZz2F.js";
32
- import "./pi-embedded-helpers-dLW7QMQa.js";
33
- import "./sandbox-DofcD9ax.js";
32
+ import "./pi-embedded-helpers-CgxKWHj9.js";
33
+ import "./sandbox-CbuJolk2.js";
34
34
  import "./chrome-BgIDB_SH.js";
35
35
  import "./tailscale-CbbvYNVw.js";
36
36
  import "./auth-BfDMhFAj.js";
@@ -65,11 +65,11 @@ import "./ir-D-flMHhr.js";
65
65
  import "./render-e7fENCYH.js";
66
66
  import "./commands-CkrIpKCc.js";
67
67
  import "./commands-registry-uo2OKqdL.js";
68
- import "./image-BW-m96jq.js";
68
+ import "./image-B4LY9KFw.js";
69
69
  import "./tool-display-CXwOC-qw.js";
70
- import { u as installUnhandledRejectionHandler } from "./runner-CQnf083C.js";
70
+ import { u as installUnhandledRejectionHandler } from "./runner-BXN4KYDK.js";
71
71
  import "./model-catalog-Dj5pIc1G.js";
72
- import "./session-utils-kkbiQhvc.js";
72
+ import "./session-utils-Cdv2Qaq2.js";
73
73
  import "./skill-commands-CWySL97a.js";
74
74
  import "./workspace-dirs-CPNL2Acu.js";
75
75
  import "./pairing-store-CicZMhK8.js";
@@ -96,16 +96,16 @@ import "./replies-CTKReSzx.js";
96
96
  import "./onboard-helpers-CUQrf3zD.js";
97
97
  import "./prompt-style-DwCXob2h.js";
98
98
  import "./pairing-labels-sIj1ZLt-.js";
99
- import "./pi-tools.policy-B9nQ2esl.js";
99
+ import "./pi-tools.policy-T6Z5F-_n.js";
100
100
  import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
101
101
  import "./catalog-DLQFKucJ.js";
102
102
  import "./note-DDecZomM.js";
103
103
  import "./plugin-auto-enable-D4BRdbII.js";
104
- import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BQ_14aNH.js";
104
+ import { t as ensurePluginRegistryLoaded } from "./plugin-registry-BAbkdLQ7.js";
105
105
  import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
106
- import { t as emitCliBanner } from "./banner-XTz_k5N3.js";
107
- import "./doctor-config-flow-Cpwv-_yJ.js";
108
- import { n as ensureConfigReady } from "./config-guard-DujvCAc6.js";
106
+ import { t as emitCliBanner } from "./banner-B-joBGLz.js";
107
+ import "./doctor-config-flow-C_56SUPO.js";
108
+ import { n as ensureConfigReady } from "./config-guard-BpQn1MKk.js";
109
109
  import process$1 from "node:process";
110
110
  import { fileURLToPath } from "node:url";
111
111
 
@@ -118,7 +118,7 @@ const routeHealth = {
118
118
  const verbose = getVerboseFlag(argv, { includeDebug: true });
119
119
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
120
120
  if (timeoutMs === null) return false;
121
- const { healthCommand } = await import("./health-Da2Nvp6A.js").then((n) => n.i);
121
+ const { healthCommand } = await import("./health-UjXEBnzA.js").then((n) => n.i);
122
122
  await healthCommand({
123
123
  json,
124
124
  timeoutMs,
@@ -138,7 +138,7 @@ const routeStatus = {
138
138
  const verbose = getVerboseFlag(argv, { includeDebug: true });
139
139
  const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
140
140
  if (timeoutMs === null) return false;
141
- const { statusCommand } = await import("./status-D0xPNlv4.js").then((n) => n.t);
141
+ const { statusCommand } = await import("./status-PADx9rG7.js").then((n) => n.t);
142
142
  await statusCommand({
143
143
  json,
144
144
  deep,
@@ -158,7 +158,7 @@ const routeSessions = {
158
158
  if (store === null) return false;
159
159
  const active = getFlagValue(argv, "--active");
160
160
  if (active === null) return false;
161
- const { sessionsCommand } = await import("./sessions-C-C7dQBK.js").then((n) => n.n);
161
+ const { sessionsCommand } = await import("./sessions-CX93jXmG.js").then((n) => n.n);
162
162
  await sessionsCommand({
163
163
  json,
164
164
  store,
@@ -172,7 +172,7 @@ const routeAgentsList = {
172
172
  run: async (argv) => {
173
173
  const json = hasFlag(argv, "--json");
174
174
  const bindings = hasFlag(argv, "--bindings");
175
- const { agentsListCommand } = await import("./agents-DhimA7PX.js").then((n) => n.t);
175
+ const { agentsListCommand } = await import("./agents-CNsMe4Dr.js").then((n) => n.t);
176
176
  await agentsListCommand({
177
177
  json,
178
178
  bindings
@@ -243,7 +243,7 @@ const routes = [
243
243
  const pathArg = getCommandPositionals(argv)[2];
244
244
  if (!pathArg) return false;
245
245
  const json = hasFlag(argv, "--json");
246
- const { runConfigGet } = await import("./config-cli-CoceKyQv.js");
246
+ const { runConfigGet } = await import("./config-cli-ozfA6MGF.js");
247
247
  await runConfigGet({
248
248
  path: pathArg,
249
249
  json
@@ -256,7 +256,7 @@ const routes = [
256
256
  run: async (argv) => {
257
257
  const pathArg = getCommandPositionals(argv)[2];
258
258
  if (!pathArg) return false;
259
- const { runConfigUnset } = await import("./config-cli-CoceKyQv.js");
259
+ const { runConfigUnset } = await import("./config-cli-ozfA6MGF.js");
260
260
  await runConfigUnset({ path: pathArg });
261
261
  return true;
262
262
  }
@@ -270,7 +270,7 @@ const routes = [
270
270
  const local = hasFlag(argv, "--local");
271
271
  const json = hasFlag(argv, "--json");
272
272
  const plain = hasFlag(argv, "--plain");
273
- const { modelsListCommand } = await import("./models-B7W1r9j8.js").then((n) => n.t);
273
+ const { modelsListCommand } = await import("./models-DKsiIvSx.js").then((n) => n.t);
274
274
  await modelsListCommand({
275
275
  all,
276
276
  local,
@@ -301,7 +301,7 @@ const routes = [
301
301
  const plain = hasFlag(argv, "--plain");
302
302
  const check = hasFlag(argv, "--check");
303
303
  const probe = hasFlag(argv, "--probe");
304
- const { modelsStatusCommand } = await import("./models-B7W1r9j8.js").then((n) => n.t);
304
+ const { modelsStatusCommand } = await import("./models-DKsiIvSx.js").then((n) => n.t);
305
305
  await modelsStatusCommand({
306
306
  json,
307
307
  plain,
@@ -379,7 +379,7 @@ async function runCli(argv = process$1.argv) {
379
379
  assertSupportedRuntime();
380
380
  if (await tryRouteCli(normalizedArgv)) return;
381
381
  enableConsoleCapture();
382
- const { buildProgram } = await import("./program-kfkuCFKS.js");
382
+ const { buildProgram } = await import("./program-cO9YX6wL.js");
383
383
  const program = buildProgram();
384
384
  installUnhandledRejectionHandler();
385
385
  process$1.on("uncaughtException", (error) => {
@@ -411,10 +411,10 @@ async function runCli(argv = process$1.argv) {
411
411
  const { getProgramContext } = await import("./program-context-CqzR_m-7.js").then((n) => n.n);
412
412
  const ctx = getProgramContext(program);
413
413
  if (ctx) {
414
- const { registerCoreCliByName } = await import("./command-registry-DbtbOY_4.js").then((n) => n.t);
414
+ const { registerCoreCliByName } = await import("./command-registry-Cde2LqTh.js").then((n) => n.t);
415
415
  await registerCoreCliByName(program, ctx, primary, parseArgv);
416
416
  }
417
- const { registerSubCliByName } = await import("./register.subclis-DjRoIlDB.js").then((n) => n.a);
417
+ const { registerSubCliByName } = await import("./register.subclis-CqEj9vfW.js").then((n) => n.a);
418
418
  await registerSubCliByName(program, primary);
419
419
  }
420
420
  const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
@@ -423,7 +423,7 @@ async function runCli(argv = process$1.argv) {
423
423
  primary,
424
424
  hasBuiltinPrimary
425
425
  })) {
426
- const { registerPluginCliCommands } = await import("./cli-Bzq5mSbu.js");
426
+ const { registerPluginCliCommands } = await import("./cli-Bg_5WQFe.js");
427
427
  const { loadConfig } = await import("./config-amjzHiWZ.js").then((n) => n.t);
428
428
  registerPluginCliCommands(program, loadConfig());
429
429
  }
@@ -9,7 +9,7 @@ import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation
9
9
  import { n as fetchWithTimeout } from "./fetch-timeout-L2NTusph.js";
10
10
  import { t as fetchWithSsrFGuard } from "./fetch-guard-Dp7VnmeK.js";
11
11
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-CpUKTvDW.js";
12
- import { t as describeImageWithModel } from "./image-BW-m96jq.js";
12
+ import { t as describeImageWithModel } from "./image-B4LY9KFw.js";
13
13
  import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-Dj5pIc1G.js";
14
14
  import process$1 from "node:process";
15
15
  import os from "node:os";