@symerian/symi 2.0.17 → 2.0.18

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 (350) hide show
  1. package/dist/{acp-cli-DqQjT50N.js → acp-cli-Cp81ShIC.js} +3 -3
  2. package/dist/{acp-cli-SgZGC8og.js → acp-cli-h36Zuriy.js} +3 -3
  3. package/dist/{agents-C4_0TzXm.js → agents-B2jtcp_Y.js} +8 -8
  4. package/dist/{agents.config-D9Ufj9CE.js → agents.config-ButbIjGA.js} +1 -1
  5. package/dist/{agents.config-Bneyaqn6.js → agents.config-DTJxgmnd.js} +1 -1
  6. package/dist/{api-key-rotation-BukD0zzl.js → api-key-rotation-De1ivBc0.js} +1 -1
  7. package/dist/{audio-preflight-mSUx5I34.js → audio-preflight-B_VLZd_F.js} +7 -7
  8. package/dist/{audio-preflight-Cpsd8C3J.js → audio-preflight-CSix46JB.js} +13 -13
  9. package/dist/{audio-preflight-5w1q1hWh.js → audio-preflight-DGpde3Ae.js} +13 -13
  10. package/dist/{audio-preflight-BiAp3Hvj.js → audio-preflight-k4jOy8Bo.js} +7 -7
  11. package/dist/{audit-BCHYqYge.js → audit-BbhuQjTl.js} +7 -7
  12. package/dist/{audit-FH7mu_3g.js → audit-BmuBsZal.js} +7 -7
  13. package/dist/{auth-choice-B8qrETy7.js → auth-choice-BMHb00f1.js} +7 -7
  14. package/dist/{auth-choice-5u4JonD1.js → auth-choice-Du7VUK1p.js} +7 -7
  15. package/dist/{auth-profiles-BD22fK4p.js → auth-profiles-Cs3GPB03.js} +6 -2
  16. package/dist/{auth-token-CNnt7guc.js → auth-token-CbDExtp_.js} +1 -1
  17. package/dist/{auth-token-BrlnZiCq.js → auth-token-DdkoxDu3.js} +1 -1
  18. package/dist/{banner-CufnkY4K.js → banner-BoFDxo1X.js} +1 -1
  19. package/dist/{browser-cli-n1RQ8OQs.js → browser-cli-Bu0BnRct.js} +4 -4
  20. package/dist/{browser-cli-Cmyh_mQi.js → browser-cli-DEnpvEPP.js} +4 -4
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +18 -18
  23. package/dist/bundled/session-memory/handler.js +18 -18
  24. package/dist/{call-BKOIc76f.js → call-6AGLOo_A.js} +1 -1
  25. package/dist/{call-C30ffTSt.js → call-TvMa4u8t.js} +1 -1
  26. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  27. package/dist/{channel-options-BBDX9s3H.js → channel-options-BzQJoPFc.js} +1 -1
  28. package/dist/{channel-options-CxOu5Gvn.js → channel-options-D1K0w33c.js} +1 -1
  29. package/dist/{channel-web-DxSaM7GA.js → channel-web-NaWX5pUl.js} +8 -8
  30. package/dist/{channels-cli-CB6lWL72.js → channels-cli-BGX2AX0X.js} +38 -38
  31. package/dist/{channels-cli-CvtvmTOx.js → channels-cli-KVy9GUcY.js} +39 -39
  32. package/dist/{chrome-CPwj5x24.js → chrome-CaijV4gw.js} +1 -1
  33. package/dist/{chrome-CUsfMVUk.js → chrome-Cgiw9tI6.js} +1 -1
  34. package/dist/{chrome-1cQdPKbv.js → chrome-DX-9I4dn.js} +1 -1
  35. package/dist/{chrome-DPu6LSX4.js → chrome-DrxNYzTD.js} +8 -8
  36. package/dist/cli/daemon-cli.js +1 -1
  37. package/dist/{cli-CU_pJKCD.js → cli-DAaNQKv7.js} +33 -33
  38. package/dist/{cli-cDOiHmL7.js → cli-MBTHCM04.js} +34 -34
  39. package/dist/{command-registry-D1zcgjTn.js → command-registry-DRHBO07P.js} +11 -11
  40. package/dist/{commands-registry-DyWjIe7d.js → commands-registry-B_V42ZiZ.js} +1 -1
  41. package/dist/{commands-registry-Copoizgv.js → commands-registry-DN93gKlx.js} +1 -1
  42. package/dist/{commands-registry-uo2OKqdL.js → commands-registry-nK_mZXUN.js} +1 -1
  43. package/dist/{commands-registry-C3C4Rv3O.js → commands-registry-tuRMQmX4.js} +1 -1
  44. package/dist/{completion-cli-DWcx6gc6.js → completion-cli-By9Hj91p.js} +1 -1
  45. package/dist/{completion-cli-C8TsFimX.js → completion-cli-E2HmAubG.js} +2 -2
  46. package/dist/{config-ClXqj_D1.js → config-BUHRlrbS.js} +2 -1
  47. package/dist/{config-DehS9e5w.js → config-COvlkain.js} +2 -1
  48. package/dist/{config-CvuX_y8t.js → config-C_1uZzwy.js} +2 -1
  49. package/dist/{config-BLe0R4JX.js → config-DB5jMj3Z.js} +2 -1
  50. package/dist/{config-cli-CEp26CMt.js → config-cli-DaV2gvHS.js} +3 -3
  51. package/dist/{config-cli-DcjOWFbW.js → config-cli-gvLM_Jmx.js} +3 -3
  52. package/dist/{config-guard-Ix_EcPkt.js → config-guard-CP12zw3r.js} +2 -2
  53. package/dist/{config-guard-CGgFpviD.js → config-guard-DLAUq-eu.js} +5 -5
  54. package/dist/{config-validation-BQnULegl.js → config-validation-BdUdtuuI.js} +1 -1
  55. package/dist/{config-validation-Ct_myZSl.js → config-validation-CJNWEllT.js} +1 -1
  56. package/dist/{configure-DbqI2Bgi.js → configure-BPdAIpJb.js} +11 -11
  57. package/dist/{configure-B3aYKtwN.js → configure-DjRUXJNv.js} +11 -11
  58. package/dist/{control-service-CZ8lXYgi.js → control-service-CwdjvhxE.js} +4 -4
  59. package/dist/{control-service-DI1Do6Nn.js → control-service-D670V6cS.js} +4 -4
  60. package/dist/control-ui/js/app.js +79 -0
  61. package/dist/control-ui/js/render.js +39 -0
  62. package/dist/{cron-cli-NJy3v3Eb.js → cron-cli-BVdg2ZHh.js} +4 -4
  63. package/dist/{cron-cli-BH6kt3EZ.js → cron-cli-CWybZWLu.js} +4 -4
  64. package/dist/{daemon-cli-CweZn-1O.js → daemon-cli-A0V_cYcw.js} +6 -6
  65. package/dist/{daemon-cli-BuOGkn7L.js → daemon-cli-BSKnv95o.js} +6 -6
  66. package/dist/daemon-cli.js +1 -0
  67. package/dist/{daemon-runtime-C1t_OfMD.js → daemon-runtime-BgbGrT3P.js} +1 -1
  68. package/dist/{daemon-runtime-D1K-9VEC.js → daemon-runtime-DtGPdsmL.js} +1 -1
  69. package/dist/{deliver-CIc_l0o6.js → deliver-CUJWonlP.js} +3 -3
  70. package/dist/{deliver-BorDF5OG.js → deliver-DXVMhb3A.js} +2 -2
  71. package/dist/{deliver-DqqfC-g1.js → deliver-sMuSzZX6.js} +3 -3
  72. package/dist/{deliver-D8xILUUI.js → deliver-wRQauy5B.js} +2 -2
  73. package/dist/{devices-cli-BE5ZzcA7.js → devices-cli-Bwg8gUuS.js} +3 -3
  74. package/dist/{devices-cli-BUdOf8m2.js → devices-cli-DBDevKR4.js} +3 -3
  75. package/dist/{directory-cli-DQHIn9um.js → directory-cli-2W4B1Ct_.js} +2 -2
  76. package/dist/{directory-cli-BBdctcDF.js → directory-cli-B9wwg8xg.js} +2 -2
  77. package/dist/{dm-policy-shared-BovJdm5T.js → dm-policy-shared-CvHrO6D_.js} +1 -1
  78. package/dist/{dm-policy-shared-DckBYBwg.js → dm-policy-shared-flFO0wFg.js} +1 -1
  79. package/dist/{dns-cli-mCiUyfvk.js → dns-cli-Dc8SoCMN.js} +2 -2
  80. package/dist/{dns-cli-6H_E37de.js → dns-cli-go7hrLbV.js} +2 -2
  81. package/dist/{doctor-completion-CXUM27y3.js → doctor-completion-CJ6GgqdP.js} +1 -1
  82. package/dist/{doctor-completion-CAdewURI.js → doctor-completion-cGUMfSWW.js} +1 -1
  83. package/dist/{doctor-config-flow-CthAM9my.js → doctor-config-flow-CSyqq_3u.js} +3 -3
  84. package/dist/{doctor-config-flow-BWD9G2UQ.js → doctor-config-flow-DpVhYkFY.js} +3 -3
  85. package/dist/entry.js +1 -1
  86. package/dist/{exec-approvals-cli-CYKHeoEA.js → exec-approvals-cli-Bc7-sWEN.js} +5 -5
  87. package/dist/{exec-approvals-cli-CjU3pZzx.js → exec-approvals-cli-NGv-JYZx.js} +5 -5
  88. package/dist/extensionAPI.js +18 -18
  89. package/dist/{gateway-cli-Bs96hk7L.js → gateway-cli-BACTzHef.js} +52 -52
  90. package/dist/{gateway-cli-n-kmAuP8.js → gateway-cli-DIUZJz3l.js} +51 -51
  91. package/dist/{gateway-rpc-CTqBFfgd.js → gateway-rpc-CzQ2-09T.js} +1 -1
  92. package/dist/{gateway-rpc-0C2uJScX.js → gateway-rpc-DijKM-l5.js} +1 -1
  93. package/dist/{gemini-auth-7AWT6JXV.js → gemini-auth-2cinXFeY.js} +1 -1
  94. package/dist/{gemini-auth-BHSrr2_B.js → gemini-auth-DmWoaMTb.js} +1 -1
  95. package/dist/{gemini-auth-K6vg8B5c.js → gemini-auth-DtBB7-5F.js} +1 -1
  96. package/dist/{glass-ui-ws-DFYRIWTO.js → glass-ui-ws-BBYLD-43.js} +43 -43
  97. package/dist/{glass-ui-ws-mIHlWvBv.js → glass-ui-ws-DMW9fQLQ.js} +42 -42
  98. package/dist/{health-gsbXEgFI.js → health-BIgxejdY.js} +5 -5
  99. package/dist/{health-CpbZDInE.js → health-D9sE5ymK.js} +5 -5
  100. package/dist/{hooks-cli-iVG6fkFc.js → hooks-cli-DnvETK6m.js} +34 -34
  101. package/dist/{hooks-cli-SJWnM2SY.js → hooks-cli-EthBM_qY.js} +35 -35
  102. package/dist/{image-GHA29jwQ.js → image-Bf_jHnTg.js} +3 -3
  103. package/dist/{image-DWOvY8sR.js → image-CEcLOmLW.js} +3 -3
  104. package/dist/{image-DIzd7Gw9.js → image-DCArHTqR.js} +3 -3
  105. package/dist/{image-DrkD-6sg.js → image-Kl1J-62v.js} +3 -3
  106. package/dist/index.js +42 -42
  107. package/dist/{lifecycle-core-CPLYFbS4.js → lifecycle-core-fFRFJvPD.js} +2 -2
  108. package/dist/{lifecycle-core-CE8aXuLe.js → lifecycle-core-pG9T1o7U.js} +2 -2
  109. package/dist/llm-slug-generator.js +18 -18
  110. package/dist/{login-C5eMLg1G.js → login-BwU6oNNU.js} +2 -2
  111. package/dist/{login-DNeGXcjV.js → login-CM1U-ARd.js} +2 -2
  112. package/dist/{login-BcCF4noU.js → login-CvotLxMc.js} +2 -2
  113. package/dist/{login-_Ynqrjet.js → login-J-hL4MZQ.js} +2 -2
  114. package/dist/{login-qr-E4YwhoPt.js → login-qr-CADWVR1b.js} +3 -3
  115. package/dist/{login-qr-CYEYc0Vo.js → login-qr-CW01jgLl.js} +3 -3
  116. package/dist/{login-qr-DjXNemMm.js → login-qr-CiPw9ee6.js} +3 -3
  117. package/dist/{login-qr-CzD7_Pru.js → login-qr-_FriwsNr.js} +3 -3
  118. package/dist/{logs-cli-CIQ4qmRW.js → logs-cli-DPaTYFru.js} +4 -4
  119. package/dist/{logs-cli-BLp5AOM0.js → logs-cli-mM7GM-9Q.js} +4 -4
  120. package/dist/{manager-oQJvFR6J.js → manager-Cw42HtQ7.js} +2 -2
  121. package/dist/{manager-Oiy1uHsu.js → manager-D0d-bOOe.js} +2 -2
  122. package/dist/{manager-BmHL5ETi.js → manager-D5ZbBYmN.js} +2 -2
  123. package/dist/{manager-CPQ2pEj3.js → manager-DqkRhYYl.js} +2 -2
  124. package/dist/{memory-cli-CGRSXKeF.js → memory-cli-C7w-I03k.js} +5 -5
  125. package/dist/{memory-cli-BUoM-v1-.js → memory-cli-Pp2xuPKC.js} +5 -5
  126. package/dist/{model-CLebVu_U.js → model-ApXxvnzl.js} +1 -1
  127. package/dist/{model-DaukLY-k.js → model-DDV7HL-B.js} +1 -1
  128. package/dist/{model-auth-CeL58m55.js → model-auth-Db8I8QVL.js} +6 -2
  129. package/dist/{model-catalog-sW2MkIv9.js → model-catalog-61-kKlKu.js} +4 -4
  130. package/dist/{model-catalog-DZbVIJnH.js → model-catalog-QboGjwLO.js} +4 -4
  131. package/dist/{model-picker-BJBeaNrK.js → model-picker-CSnZDydf.js} +3 -3
  132. package/dist/{model-picker-DUl7Gvdh.js → model-picker-iDZTbvXk.js} +3 -3
  133. package/dist/{model-selection-Csawd2_i.js → model-selection-BBrZnKDw.js} +6 -2
  134. package/dist/{model-selection--4t4F87n.js → model-selection-DBPwoBvb.js} +6 -2
  135. package/dist/{models-LtuCAbk5.js → models-B_oSANn2.js} +14 -14
  136. package/dist/{models-cli-CB2zHB3Q.js → models-cli-CzdeeUpE.js} +40 -40
  137. package/dist/{models-cli-DEQCqsfo.js → models-cli-u62LAXdh.js} +39 -39
  138. package/dist/{models-config-BH6-rmtt.js → models-config-BTd2aHYU.js} +2 -2
  139. package/dist/{models-config-DT09Fas0.js → models-config-CMJN_5Vh.js} +2 -2
  140. package/dist/{node-cli-znp1IPL2.js → node-cli-BEvFRkYC.js} +10 -10
  141. package/dist/{node-cli-BnZT8tc-.js → node-cli-BQyxhqF5.js} +10 -10
  142. package/dist/{nodes-cli-D3bHqKX1.js → nodes-cli-C2hHbQ47.js} +4 -4
  143. package/dist/{nodes-cli-C8L5ablK.js → nodes-cli-FbzJ-7tA.js} +4 -4
  144. package/dist/{onboard-B725u5vG.js → onboard-CwNzqMn1.js} +10 -10
  145. package/dist/{onboard-Dz7lPFv1.js → onboard-DcBV5QjY.js} +10 -10
  146. package/dist/{onboard-channels-DPb8R8S3.js → onboard-channels-C0wtv2Cp.js} +2 -2
  147. package/dist/{onboard-channels-DjG2jZUq.js → onboard-channels-C79jGR3_.js} +2 -2
  148. package/dist/{onboard-custom-CFqoXgjd.js → onboard-custom-CwTH9Yg-.js} +3 -3
  149. package/dist/{onboard-custom-in5WChfX.js → onboard-custom-adn6IG8i.js} +3 -3
  150. package/dist/{onboard-helpers-BmDQMRZ7.js → onboard-helpers-Bt2zwkKD.js} +2 -2
  151. package/dist/{onboard-helpers-_sSsfEAa.js → onboard-helpers-CKM-mWPH.js} +2 -2
  152. package/dist/{onboard-remote-CBEIs-Ew.js → onboard-remote-C-4NSq0W.js} +1 -1
  153. package/dist/{onboard-remote-BeAAhzmD.js → onboard-remote-P6H-x_vQ.js} +1 -1
  154. package/dist/{onboard-skills-EVFmwR8Q.js → onboard-skills-C9ZAlUR6.js} +2 -2
  155. package/dist/{onboard-skills-Bx_OM5v0.js → onboard-skills-DlbXWPzM.js} +2 -2
  156. package/dist/{onboarding-qxWeXuGM.js → onboarding-C2vTobUO.js} +11 -11
  157. package/dist/{onboarding-D-FQIiBn.js → onboarding-CT_P8dE6.js} +11 -11
  158. package/dist/{onboarding.finalize-D_gWQwW0.js → onboarding.finalize-BdeyH2Eh.js} +39 -39
  159. package/dist/{onboarding.finalize-DJTQnGkJ.js → onboarding.finalize-DPQDvxEp.js} +41 -41
  160. package/dist/{onboarding.gateway-config-r7VeJWM7.js → onboarding.gateway-config-DKVcVoUF.js} +5 -5
  161. package/dist/{onboarding.gateway-config-Boplq1Mn.js → onboarding.gateway-config-IqmHGk2A.js} +5 -5
  162. package/dist/{openai-model-default-DF334-MD.js → openai-model-default-BMY_YH9P.js} +2 -2
  163. package/dist/{openai-model-default-DJwRgrAC.js → openai-model-default-l66tU27B.js} +2 -2
  164. package/dist/{outbound-yaYfpPTu.js → outbound-0ici4ICv.js} +1 -1
  165. package/dist/{outbound-DRslTBga.js → outbound-BEumB8qs.js} +1 -1
  166. package/dist/{outbound-B_cf2WkB.js → outbound-CzuytbQ5.js} +1 -1
  167. package/dist/{outbound-DPCAcHLQ.js → outbound-DTZdWgeZ.js} +1 -1
  168. package/dist/{pairing-cli-DOMZSDiT.js → pairing-cli-CUu3LyX0.js} +4 -4
  169. package/dist/{pairing-cli-DFgfVeeY.js → pairing-cli-D_9vmECc.js} +4 -4
  170. package/dist/{pairing-labels-B-WwqJ-z.js → pairing-labels-Ca15tgVV.js} +1 -1
  171. package/dist/{pairing-labels-sIj1ZLt-.js → pairing-labels-D_XOc2nT.js} +1 -1
  172. package/dist/{pairing-store-CFwkjcA5.js → pairing-store-DdUVpKvp.js} +1 -1
  173. package/dist/{pairing-store-CicZMhK8.js → pairing-store-cjckhuQX.js} +1 -1
  174. package/dist/{pi-auth-json-BNhcohVK.js → pi-auth-json-BJB80_DY.js} +1 -1
  175. package/dist/{pi-auth-json-DV2ruNQM.js → pi-auth-json-BqB9Z6Gg.js} +1 -1
  176. package/dist/{pi-auth-json-Do26xypW.js → pi-auth-json-Bzpuls50.js} +2 -2
  177. package/dist/{pi-auth-json-CNgAAznq.js → pi-auth-json-etIDtHw9.js} +1 -1
  178. package/dist/{pi-embedded-BINp4yHJ.js → pi-embedded-DUUw7-tO.js} +249 -62
  179. package/dist/{pi-embedded-C6BUGEuF.js → pi-embedded-DmUwEsG1.js} +245 -58
  180. package/dist/{pi-embedded-helpers-Dfp-iKzJ.js → pi-embedded-helpers-CLip13MP.js} +6 -6
  181. package/dist/{pi-embedded-helpers-Cs0TgOaH.js → pi-embedded-helpers-D57pDra0.js} +1 -1
  182. package/dist/{pi-embedded-helpers-BDwdFGX-.js → pi-embedded-helpers-D9Rvkx8A.js} +6 -6
  183. package/dist/{pi-embedded-helpers-jynCNZsb.js → pi-embedded-helpers-f7cnM8BN.js} +1 -1
  184. package/dist/{pi-tools.policy-vws0LV7U.js → pi-tools.policy-BV1RWUnE.js} +2 -2
  185. package/dist/{pi-tools.policy-eb_uvOQV.js → pi-tools.policy-BegHNtNO.js} +2 -2
  186. package/dist/{plugin-auto-enable-D4BRdbII.js → plugin-auto-enable-B-WfJQ_3.js} +1 -1
  187. package/dist/{plugin-auto-enable-DdvlcMuw.js → plugin-auto-enable-CdctkFTt.js} +1 -1
  188. package/dist/{plugin-registry-C61W5IWr.js → plugin-registry-C80itc6t.js} +2 -2
  189. package/dist/{plugin-registry-D1cKRWYQ.js → plugin-registry-DrYURaBs.js} +2 -2
  190. package/dist/plugin-sdk/agents/synthetic-models.d.ts +1 -1
  191. package/dist/plugin-sdk/agents/system-prompt.d.ts +2 -1
  192. package/dist/plugin-sdk/{api-key-rotation-Qy7QGV8_.js → api-key-rotation-DNKq8sDG.js} +1 -1
  193. package/dist/plugin-sdk/{audio-preflight-CdG1OBN2.js → audio-preflight-D5K2YgFn.js} +7 -7
  194. package/dist/plugin-sdk/{channel-web-DFVIpsZB.js → channel-web-Bkv0U1ox.js} +7 -7
  195. package/dist/plugin-sdk/{chrome-XyjVFCkY.js → chrome-DJ6LIeRu.js} +1 -1
  196. package/dist/plugin-sdk/{commands-registry-CvppXodz.js → commands-registry-un-LmdXo.js} +1 -1
  197. package/dist/plugin-sdk/config/types.agent-defaults.d.ts +2 -0
  198. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +1 -0
  199. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +1 -0
  200. package/dist/plugin-sdk/config/zod-schema.d.ts +1 -0
  201. package/dist/plugin-sdk/{config-DG32gDDp.js → config-8u0WDlgj.js} +2 -1
  202. package/dist/plugin-sdk/{deliver-BdbnTrPD.js → deliver-Bip_mCNI.js} +2 -2
  203. package/dist/plugin-sdk/{image-B4_TBNqR.js → image-DX2HTDUY.js} +3 -3
  204. package/dist/plugin-sdk/index.js +22 -22
  205. package/dist/plugin-sdk/{login-Dey5tDpn.js → login-CKLot2mH.js} +2 -2
  206. package/dist/plugin-sdk/{login-qr-Tx8z1frn.js → login-qr-DOVV9TXm.js} +3 -3
  207. package/dist/plugin-sdk/{manager-RdPsBbBU.js → manager-BItSTruD.js} +2 -2
  208. package/dist/plugin-sdk/{model-selection-D6J2MZsj.js → model-selection-aEd_4vFO.js} +6 -2
  209. package/dist/plugin-sdk/{outbound-BpzsDbEV.js → outbound-uamhXJrA.js} +1 -1
  210. package/dist/plugin-sdk/{pi-auth-json-BmWuNdJA.js → pi-auth-json-FyiScmI7.js} +1 -1
  211. package/dist/plugin-sdk/{pi-embedded-helpers-OWtoPEg8.js → pi-embedded-helpers-JY-1kHdk.js} +6 -6
  212. package/dist/plugin-sdk/{pw-ai-OhVopvbb.js → pw-ai-BG29-fkq.js} +3 -3
  213. package/dist/plugin-sdk/{replies-DiFTMGgM.js → replies-B1pTxZOl.js} +1 -1
  214. package/dist/plugin-sdk/{reply-v8ed4JLy.js → reply-B576Fhv8.js} +245 -58
  215. package/dist/plugin-sdk/{runner-BUXsfUip.js → runner-BL2UhCUB.js} +5 -5
  216. package/dist/plugin-sdk/{send-DXcq1jzH.js → send-CARqECtw.js} +1 -1
  217. package/dist/plugin-sdk/{send-Drdgnfr_.js → send-CJEdtrU7.js} +1 -1
  218. package/dist/plugin-sdk/{send-CGSsrvd1.js → send-DnSED91h.js} +2 -2
  219. package/dist/plugin-sdk/{send-BXvJJUV_.js → send-e3xSJ8To.js} +1 -1
  220. package/dist/plugin-sdk/{send-BbFwAS_k.js → send-oZqyXIiB.js} +1 -1
  221. package/dist/plugin-sdk/{session-CX5KhlOe.js → session-CzQVSJF5.js} +1 -1
  222. package/dist/plugin-sdk/{skill-commands-NTPqO_az.js → skill-commands-Cwps3qpb.js} +1 -1
  223. package/dist/plugin-sdk/{web-DfIRv_Mx.js → web-mZ4uDhBl.js} +22 -22
  224. package/dist/plugin-sdk/{whatsapp-actions-Dh6Y2fu9.js → whatsapp-actions-1-Mp-KwB.js} +3 -3
  225. package/dist/{plugins-cli-ClY_BPg9.js → plugins-cli-Cv9eBXlW.js} +34 -34
  226. package/dist/{plugins-cli-UmtKEuxj.js → plugins-cli-Dnq6iHh8.js} +35 -35
  227. package/dist/{program-context-C2XeNCxI.js → program-context-D_OS2K8H.js} +38 -38
  228. package/dist/{program-CNsuYlJt.js → program-iimCXTOX.js} +41 -41
  229. package/dist/{prompt-select-styled-CiYSpQIf.js → prompt-select-styled-B1V6teLm.js} +17 -17
  230. package/dist/{prompt-select-styled-CgsYQqlJ.js → prompt-select-styled-BHDOHzSI.js} +17 -17
  231. package/dist/{provider-auth-helpers-CVAbJckC.js → provider-auth-helpers-nXDpwc0f.js} +4 -4
  232. package/dist/{provider-auth-helpers-XIYHuUnj.js → provider-auth-helpers-ozVqcIrR.js} +4 -4
  233. package/dist/{push-apns-6y-7OuAU.js → push-apns-BZ7FEmsK.js} +1 -1
  234. package/dist/{push-apns-9q7Pl5I0.js → push-apns-Dmo8BBk4.js} +1 -1
  235. package/dist/{pw-ai-BdNmRxEw.js → pw-ai-3nNWe272.js} +3 -3
  236. package/dist/{pw-ai-Dnh_iopr.js → pw-ai-BUH9Ew6q.js} +3 -3
  237. package/dist/{pw-ai-BfUWg8Eh.js → pw-ai-DQuj9c2U.js} +3 -3
  238. package/dist/{pw-ai-C9noP7iN.js → pw-ai-DhirpjMU.js} +3 -3
  239. package/dist/{qr-cli-Cac34dCs.js → qr-cli-CGS8DyNl.js} +2 -2
  240. package/dist/{qr-cli-BbRZOhwI.js → qr-cli-CHnzhKoc.js} +2 -2
  241. package/dist/{register.agent-Ys85zXmm.js → register.agent-BOuUXJJS.js} +43 -43
  242. package/dist/{register.agent-DmLJVv4N.js → register.agent-DYzV2wmB.js} +45 -45
  243. package/dist/{register.configure-BwmAY5TF.js → register.configure-C4oljj3F.js} +47 -47
  244. package/dist/{register.configure-DYuK1UkU.js → register.configure-CHvDZtU1.js} +48 -48
  245. package/dist/{register.maintenance-625En1kE.js → register.maintenance-DIylvylR.js} +44 -44
  246. package/dist/{register.maintenance-BQa25CA8.js → register.maintenance-DhprP_dA.js} +46 -46
  247. package/dist/{register.message-CDpK3rbI.js → register.message-B9SgsGyt.js} +35 -35
  248. package/dist/{register.message-DKeM6mQo.js → register.message-DF4_1evm.js} +34 -34
  249. package/dist/{register.onboard-CbvkWFq5.js → register.onboard-CdwNCs_L.js} +42 -42
  250. package/dist/{register.onboard-DtMjj81J.js → register.onboard-DOJyYmJS.js} +43 -43
  251. package/dist/{register.setup-BHhLns2f.js → register.setup-0Due7c9e.js} +43 -43
  252. package/dist/{register.setup-DdX4Ahvt.js → register.setup-DxV_KIbP.js} +42 -42
  253. package/dist/{register.status-health-sessions-D1KvwnF9.js → register.status-health-sessions-C584c9tm.js} +38 -38
  254. package/dist/{register.status-health-sessions-CqMFel_o.js → register.status-health-sessions-D1tqd_k_.js} +40 -40
  255. package/dist/{register.subclis-su5EMHvC.js → register.subclis-DuON_fJu.js} +28 -28
  256. package/dist/{replies-zeeuLUij.js → replies-BXYTRk0Z.js} +1 -1
  257. package/dist/{replies-DtdP8R93.js → replies-Bhx469BX.js} +1 -1
  258. package/dist/{replies-DqyX2Vln.js → replies-BnmCXHdE.js} +1 -1
  259. package/dist/{replies-Dzc6eCFS.js → replies-UxER0fi1.js} +1 -1
  260. package/dist/{reply-DyFibFiG.js → reply-BzqL_47o.js} +257 -70
  261. package/dist/{routes-CEjKic_-.js → routes-DH3bW8wF.js} +3 -3
  262. package/dist/{routes-B7FWIw81.js → routes-lbqRkIBb.js} +3 -3
  263. package/dist/{rpc-CV10Y2YL.js → rpc-BkvZNT-M.js} +1 -1
  264. package/dist/{rpc-CR9IjVRa.js → rpc-DYXJGfFr.js} +1 -1
  265. package/dist/{run-main-CRPU46XB.js → run-main-CcFCZNx_.js} +53 -53
  266. package/dist/{runner-v0fS4J7T.js → runner-BHZy2rvh.js} +5 -5
  267. package/dist/{runner-w5reqY02.js → runner-CNY0hwm-.js} +5 -5
  268. package/dist/{runner-BkANJiWS.js → runner-CplzHJ1b.js} +5 -5
  269. package/dist/{runner-CTglx_CV.js → runner-Cu0qqBIE.js} +5 -5
  270. package/dist/{sandbox-DTzJlbvf.js → sandbox-B0QOR7Cn.js} +5 -5
  271. package/dist/{sandbox-cli-B4VN_9mV.js → sandbox-cli-CPkB96x-.js} +7 -7
  272. package/dist/{sandbox-cli-R_ZOY_KC.js → sandbox-cli-DAY7EbKl.js} +7 -7
  273. package/dist/{sandbox-BpIrSDhl.js → sandbox-psIl5_gT.js} +5 -5
  274. package/dist/{security-cli-DmpyxTgQ.js → security-cli-Bolpxy60.js} +12 -12
  275. package/dist/{security-cli-BMB3kCFA.js → security-cli-C2ZKf8ET.js} +12 -12
  276. package/dist/{send-CC2vm0xU.js → send-8dFVpIIg.js} +1 -1
  277. package/dist/{send-CEjpAJ8N.js → send-BPqK6C8h.js} +1 -1
  278. package/dist/{send-CZ18Xq5n.js → send-BVRNZ9hM.js} +1 -1
  279. package/dist/{send-Bx04WqH5.js → send-BbscKwuU.js} +1 -1
  280. package/dist/{send-Dm4UYQsf.js → send-Bj2SQQVP.js} +1 -1
  281. package/dist/{send-1iB7Rdwp.js → send-Bj3PJmrF.js} +1 -1
  282. package/dist/{send-BbV4XqMl.js → send-Bv-112XA.js} +1 -1
  283. package/dist/{send-CRWQglv9.js → send-C8fjzstb.js} +1 -1
  284. package/dist/{send-CltKx_vS.js → send-C8ohJBK5.js} +2 -2
  285. package/dist/{send-tDTl6xgz.js → send-CIvsJpdo.js} +2 -2
  286. package/dist/{send-BLT3lTZy.js → send-CUhH6I6A.js} +1 -1
  287. package/dist/{send-BR3reUOE.js → send-CWrxWRjz.js} +1 -1
  288. package/dist/{send-BXiiQprI.js → send-Ci0uVV_k.js} +1 -1
  289. package/dist/{send-hJthT6M_.js → send-Ci3UEBVK.js} +1 -1
  290. package/dist/{send-CQzO_Tg0.js → send-CzxMGZc_.js} +2 -2
  291. package/dist/{send-DyK4u4yH.js → send-DEcC_kQP.js} +1 -1
  292. package/dist/{send-DVLEgg9H.js → send-DPKghOxz.js} +1 -1
  293. package/dist/{send-Bt4UsVrd.js → send-DZbplWNh.js} +1 -1
  294. package/dist/{send-DDrpEKUg.js → send-DiBs_eJc.js} +2 -2
  295. package/dist/{send-EQ1insgp.js → send-FW1P3D82.js} +1 -1
  296. package/dist/{server-context-DbcjnRHG.js → server-context-AHh7m1PV.js} +5 -5
  297. package/dist/{server-context-BcjcQhiM.js → server-context-cw7ha2ct.js} +5 -5
  298. package/dist/{server-methods-U_lDP83A.js → server-methods-BriHyeA7.js} +17 -17
  299. package/dist/{server-methods-56m79WbR.js → server-methods-CJ7xa1ot.js} +18 -18
  300. package/dist/{server-node-events-DpGswbj8.js → server-node-events-CCId0gGy.js} +34 -34
  301. package/dist/{server-node-events-Q9J_E8Ce.js → server-node-events-_q8duhVi.js} +35 -35
  302. package/dist/{session-BvXsNdtA.js → session-B4Bibpie.js} +1 -1
  303. package/dist/{session-C86mCuOs.js → session-D4FMCkcS.js} +1 -1
  304. package/dist/{session-1Q4kg4xp.js → session-Dw3zM2St.js} +1 -1
  305. package/dist/{session-B4JR6zUJ.js → session-lD2CnIWX.js} +1 -1
  306. package/dist/{session-utils-CFvGKxdu.js → session-utils-DySzoW4O.js} +4 -4
  307. package/dist/{sessions-m60NabL_.js → sessions-BVbSbD60.js} +4 -4
  308. package/dist/{sessions-B3nP13Fw.js → sessions-CRTZnttk.js} +2 -2
  309. package/dist/{sessions-BdeJp6uY.js → sessions-L4e356Ra.js} +2 -2
  310. package/dist/{shared-mv9M8Mzc.js → shared-DZ9YCnZC.js} +2 -2
  311. package/dist/{shared-sOiAK5kN.js → shared-oaw6SrnD.js} +2 -2
  312. package/dist/{skill-commands-CWySL97a.js → skill-commands-BlfEmZ8t.js} +1 -1
  313. package/dist/{skill-commands-B64uavY9.js → skill-commands-C2kxEz5h.js} +1 -1
  314. package/dist/{skill-commands-DrFCB9F9.js → skill-commands-CSBmZ_di.js} +1 -1
  315. package/dist/{skill-commands-DWcJOIzP.js → skill-commands-C_ZNSYNS.js} +1 -1
  316. package/dist/{skills-cli-DVTw-NM0.js → skills-cli-D9gvgM58.js} +2 -2
  317. package/dist/{skills-cli-B7FG8Ft4.js → skills-cli-DBVcmBEp.js} +2 -2
  318. package/dist/{status-D4KjZ3qi.js → status-BUX2e6T-.js} +11 -11
  319. package/dist/{status-DIYjr2wp.js → status-C6UoBmkd.js} +2 -2
  320. package/dist/{status-DbXRbJqY.js → status-DJDE9f6i.js} +12 -12
  321. package/dist/{status-BNmYNm1S.js → status-oObYVZk-.js} +2 -2
  322. package/dist/{status.update-DKLvc9EH.js → status.update-CbAFtv61.js} +1 -1
  323. package/dist/{status.update-CbXOcYqG.js → status.update-qDyKo2AJ.js} +1 -1
  324. package/dist/{subagent-registry-Ct3GvWVn.js → subagent-registry-BmP1Rhns.js} +258 -71
  325. package/dist/{system-cli-B_KTvR0v.js → system-cli-DpluDf4c.js} +4 -4
  326. package/dist/{system-cli-9b3AzE_M.js → system-cli-gtr03ReO.js} +4 -4
  327. package/dist/{systemd-hints-D_u4AuIu.js → systemd-hints-Bmr_bzjF.js} +1 -1
  328. package/dist/{systemd-hints-BE7qhp3n.js → systemd-hints-CnG98ooq.js} +1 -1
  329. package/dist/{tui-BViOdgFZ.js → tui-DnLFki4B.js} +16 -7
  330. package/dist/{tui-oo_JjD-G.js → tui-UMEqttti.js} +16 -7
  331. package/dist/{tui-cli-B97jQaQp.js → tui-cli-ChVrbXQ7.js} +11 -11
  332. package/dist/{tui-cli-DKQz32oa.js → tui-cli-DaL5S2ce.js} +11 -11
  333. package/dist/{update-cli-C9S00L1E.js → update-cli-Bxb34ox7.js} +49 -49
  334. package/dist/{update-cli-Dhk0Yxsm.js → update-cli-C-zL3WoC.js} +47 -47
  335. package/dist/{update-runner-DBZOvTzN.js → update-runner-D9rjTCpa.js} +1 -1
  336. package/dist/{update-runner-BnIIcsqA.js → update-runner-rav9ZMjZ.js} +1 -1
  337. package/dist/{web-5uLk4OEM.js → web-4xYayj1G.js} +37 -37
  338. package/dist/{web-mXHyxR_l.js → web-BS91XHKA.js} +21 -21
  339. package/dist/{web-8NQJ75ip.js → web-DlKbVYgh.js} +37 -37
  340. package/dist/{web-f7lkf_un.js → web-OmlhMCcZ.js} +21 -21
  341. package/dist/{webhooks-cli-BLi_usfE.js → webhooks-cli-BxXpx8Hu.js} +2 -2
  342. package/dist/{webhooks-cli-Dz9n2L0-.js → webhooks-cli-CvbEWtdd.js} +2 -2
  343. package/dist/{whatsapp-actions-M8kjDd9l.js → whatsapp-actions-7xW0TEHg.js} +3 -3
  344. package/dist/{whatsapp-actions-ChtHuvdU.js → whatsapp-actions-B3zu-BhB.js} +3 -3
  345. package/dist/{whatsapp-actions-B4YPuD2Q.js → whatsapp-actions-BWERIEcF.js} +3 -3
  346. package/dist/{whatsapp-actions-6S6PNs2p.js → whatsapp-actions-DAFOi466.js} +3 -3
  347. package/dist/{with-timeout-2zPYOOzh.js → with-timeout-C6nbJrH1.js} +1 -1
  348. package/dist/{with-timeout-gaHpaiis.js → with-timeout-CNkLG3QR.js} +1 -1
  349. package/docs/reference/templates/SYMIPULSE.md +1 -0
  350. package/package.json +1 -1
@@ -11,22 +11,22 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
11
11
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-B8-BqKGQ.js";
13
13
  import { n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-BaxDnULz.js";
14
- 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-CEjpAJ8N.js";
15
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, 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 resolveDiscordSystemLocation, 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 resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-Bt4UsVrd.js";
16
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, 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 throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-BorDF5OG.js";
14
+ 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-BPqK6C8h.js";
15
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, 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 resolveDiscordSystemLocation, 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 resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DZbplWNh.js";
16
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, 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 throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-DXVMhb3A.js";
17
17
  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-CI0kRQkt.js";
18
18
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Bxo4UHOL.js";
19
19
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-CWktKM8a.js";
20
- import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DDrpEKUg.js";
20
+ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DiBs_eJc.js";
21
21
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-CvJzsyvE.js";
22
- import { A as normalizeProviderId, C as buildAllowedModelSet, D as isCliProvider, E as findNormalizedProviderValue, F as resolveSubagentSpawnModelSelection, G as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, I as resolveThinkingDefault, J as normalizeSecretInput, K as DEFAULT_PROVIDER, M as resolveConfiguredModelRef, N as resolveDefaultModelForAgent, O as modelKey, P as resolveModelRefFromString, T as buildModelAliasIndex, U as createOllamaStreamFn, W as DEFAULT_CONTEXT_TOKENS, Y as getShellPathFromLoginShell, Z as resolveShellEnvFallbackTimeoutMs, _ as ensureAuthProfileStore, a as resolveEnvApiKey, b as withFileLock, c as resolveAuthProfileOrder, d as markAuthProfileFailure, f as markAuthProfileUsed, g as markAuthProfileGood, h as listProfilesForProvider, i as resolveApiKeyForProvider, k as normalizeModelRef$2, l as getSoonestCooldownExpiry, m as dedupeProfileIds, n as getCustomProviderApiKey, o as resolveModelAuthMode, p as resolveApiKeyForProfile, q as resolveAuthProfileDisplayLabel, r as requireApiKey, t as getApiKeyForModel, u as isProfileInCooldown, v as resolveAuthStorePathForDisplay, w as buildConfiguredAllowlistKeys, y as resolveSymiAgentDir } from "./model-auth-CeL58m55.js";
22
+ import { A as normalizeProviderId, C as buildAllowedModelSet, D as isCliProvider, E as findNormalizedProviderValue, F as resolveSubagentSpawnModelSelection, G as DEFAULT_MODEL, H as OLLAMA_NATIVE_BASE_URL, I as resolveThinkingDefault, J as normalizeSecretInput, K as DEFAULT_PROVIDER, M as resolveConfiguredModelRef, N as resolveDefaultModelForAgent, O as modelKey, P as resolveModelRefFromString, T as buildModelAliasIndex, U as createOllamaStreamFn, W as DEFAULT_CONTEXT_TOKENS, Y as getShellPathFromLoginShell, Z as resolveShellEnvFallbackTimeoutMs, _ as ensureAuthProfileStore, a as resolveEnvApiKey, b as withFileLock, c as resolveAuthProfileOrder, d as markAuthProfileFailure, f as markAuthProfileUsed, g as markAuthProfileGood, h as listProfilesForProvider, i as resolveApiKeyForProvider, k as normalizeModelRef$2, l as getSoonestCooldownExpiry, m as dedupeProfileIds, n as getCustomProviderApiKey, o as resolveModelAuthMode, p as resolveApiKeyForProfile, q as resolveAuthProfileDisplayLabel, r as requireApiKey, t as getApiKeyForModel, u as isProfileInCooldown, v as resolveAuthStorePathForDisplay, w as buildConfiguredAllowlistKeys, y as resolveSymiAgentDir } from "./model-auth-Db8I8QVL.js";
23
23
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-C_qUP7p5.js";
24
24
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
25
25
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-Dz5lr5b0.js";
26
- import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-Dfp-iKzJ.js";
27
- import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-CvuX_y8t.js";
26
+ import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-CLip13MP.js";
27
+ import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-C_1uZzwy.js";
28
28
  import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-D0IQ3WuX.js";
29
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DPu6LSX4.js";
29
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DrxNYzTD.js";
30
30
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BFekKL7i.js";
31
31
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BoQgnc8X.js";
32
32
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
@@ -37,9 +37,9 @@ import { t as resolveIMessageAccount } from "./accounts-qtxJ-6em.js";
37
37
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DLyHUt31.js";
38
38
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
39
39
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-DXB7tqWi.js";
40
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-GHA29jwQ.js";
40
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-Bf_jHnTg.js";
41
41
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-XlyuyChD.js";
42
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-BmHL5ETi.js";
42
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-D5ZbBYmN.js";
43
43
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-DRbx2dhW.js";
44
44
  import { n as retryAsync } from "./retry-Cly39XZB.js";
45
45
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Be1SwYlW.js";
@@ -48,20 +48,20 @@ import { n as resolveMarkdownTableMode } from "./markdown-tables-iMQQZu4Q.js";
48
48
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DL3f_O53.js";
49
49
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-DMwIh5cS.js";
50
50
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DccrnjsE.js";
51
- import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-C3C4Rv3O.js";
52
- import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-B64uavY9.js";
51
+ import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-tuRMQmX4.js";
52
+ import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-C2kxEz5h.js";
53
53
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BlHX0H3E.js";
54
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-v0fS4J7T.js";
54
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BHZy2rvh.js";
55
55
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bso4i15F.js";
56
56
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-Bup9wS1y.js";
57
57
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CsM_hJ_s.js";
58
58
  import { n as normalizePollInput } from "./polls-CCuCaqgv.js";
59
59
  import { t as convertMarkdownTables } from "./tables-DuZspiBu.js";
60
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-Bx04WqH5.js";
61
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-1iB7Rdwp.js";
60
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-BbscKwuU.js";
61
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-Bj3PJmrF.js";
62
62
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CZ-1eqw0.js";
63
63
  import { t as makeProxyFetch } from "./proxy-CBJ1upuz.js";
64
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DtdP8R93.js";
64
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Bhx469BX.js";
65
65
  import { t as getActiveWebListener } from "./active-listener-C9r8ZB9m.js";
66
66
  import { createRequire } from "node:module";
67
67
  import * as fs$2 from "node:fs/promises";
@@ -81,7 +81,7 @@ import { EdgeTTS } from "node-edge-tts";
81
81
  import AjvPkg from "ajv";
82
82
  import { createServer } from "node:http";
83
83
  import { ProxyAgent, fetch as fetch$1 } from "undici";
84
- import WebSocket$1, { WebSocket } from "ws";
84
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
85
85
  import { Buffer as Buffer$1 } from "node:buffer";
86
86
  import { createJiti } from "jiti";
87
87
  import { Type } from "@sinclair/typebox";
@@ -3474,7 +3474,7 @@ async function getMemorySearchManager(params) {
3474
3474
  const wrapper = new FallbackMemoryManager({
3475
3475
  primary,
3476
3476
  fallbackFactory: async () => {
3477
- const { MemoryIndexManager } = await import("./manager-BmHL5ETi.js").then((n) => n.t);
3477
+ const { MemoryIndexManager } = await import("./manager-D5ZbBYmN.js").then((n) => n.t);
3478
3478
  return await MemoryIndexManager.get(params);
3479
3479
  }
3480
3480
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3487,7 +3487,7 @@ async function getMemorySearchManager(params) {
3487
3487
  }
3488
3488
  }
3489
3489
  try {
3490
- const { MemoryIndexManager } = await import("./manager-BmHL5ETi.js").then((n) => n.t);
3490
+ const { MemoryIndexManager } = await import("./manager-D5ZbBYmN.js").then((n) => n.t);
3491
3491
  return { manager: await MemoryIndexManager.get(params) };
3492
3492
  } catch (err) {
3493
3493
  return {
@@ -5716,7 +5716,7 @@ var GatewayClient = class {
5716
5716
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5717
5717
  });
5718
5718
  }
5719
- this.ws = new WebSocket(url, wsOptions);
5719
+ this.ws = new WebSocket$1(url, wsOptions);
5720
5720
  this.ws.on("open", () => {
5721
5721
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5722
5722
  const tlsError = this.validateTlsFingerprint();
@@ -5935,7 +5935,7 @@ var GatewayClient = class {
5935
5935
  return null;
5936
5936
  }
5937
5937
  async request(method, params, opts) {
5938
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5938
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5939
5939
  const id = randomUUID();
5940
5940
  const frame = {
5941
5941
  type: "req",
@@ -7201,7 +7201,7 @@ async function routeReply(params) {
7201
7201
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7202
7202
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7203
7203
  try {
7204
- const { deliverOutboundPayloads } = await import("./deliver-BorDF5OG.js").then((n) => n.n);
7204
+ const { deliverOutboundPayloads } = await import("./deliver-DXVMhb3A.js").then((n) => n.n);
7205
7205
  return {
7206
7206
  ok: true,
7207
7207
  messageId: (await deliverOutboundPayloads({
@@ -12654,7 +12654,7 @@ async function createModelSelectionState(params) {
12654
12654
  }
12655
12655
  }
12656
12656
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
12657
- const { ensureAuthProfileStore } = await import("./model-auth-CeL58m55.js").then((n) => n.s);
12657
+ const { ensureAuthProfileStore } = await import("./model-auth-Db8I8QVL.js").then((n) => n.s);
12658
12658
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
12659
12659
  const providerKey = normalizeProviderId(provider);
12660
12660
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -21458,8 +21458,8 @@ function buildMemorySection(params) {
21458
21458
  lines.push("");
21459
21459
  return lines;
21460
21460
  }
21461
- function buildUserIdentitySection(ownerLine, isMinimal) {
21462
- if (!ownerLine || isMinimal) return [];
21461
+ function buildUserIdentitySection(ownerLine, isMinimal, isCoding) {
21462
+ if (!ownerLine || isMinimal || isCoding) return [];
21463
21463
  return [
21464
21464
  "## Authorized Senders",
21465
21465
  ownerLine,
@@ -21483,8 +21483,8 @@ function buildTimeSection(params) {
21483
21483
  ""
21484
21484
  ];
21485
21485
  }
21486
- function buildReplyTagsSection(isMinimal) {
21487
- if (isMinimal) return [];
21486
+ function buildReplyTagsSection(isMinimal, isCoding) {
21487
+ if (isMinimal || isCoding) return [];
21488
21488
  return [
21489
21489
  "## Reply Tags",
21490
21490
  "To request a native reply/quote on supported surfaces, include one tag in your reply:",
@@ -21497,7 +21497,7 @@ function buildReplyTagsSection(isMinimal) {
21497
21497
  ];
21498
21498
  }
21499
21499
  function buildMessagingSection(params) {
21500
- if (params.isMinimal) return [];
21500
+ if (params.isMinimal || params.isCoding) return [];
21501
21501
  return [
21502
21502
  "## Messaging",
21503
21503
  "- Reply in current session → automatically routes to the source channel (Signal, Telegram, etc.)",
@@ -21520,7 +21520,7 @@ function buildMessagingSection(params) {
21520
21520
  ];
21521
21521
  }
21522
21522
  function buildVoiceSection(params) {
21523
- if (params.isMinimal) return [];
21523
+ if (params.isMinimal || params.isCoding) return [];
21524
21524
  const hint = params.ttsHint?.trim();
21525
21525
  if (!hint) return [];
21526
21526
  return [
@@ -21529,6 +21529,71 @@ function buildVoiceSection(params) {
21529
21529
  ""
21530
21530
  ];
21531
21531
  }
21532
+ function buildVerifyYourWorkSection(params) {
21533
+ if (params.isMinimal) return [];
21534
+ const exec = params.execToolName;
21535
+ const read = params.readToolName;
21536
+ return [
21537
+ "## Verify Your Work",
21538
+ [
21539
+ "Before delivering any code, script, configuration, or technical artifact, you MUST perform a structured verification pass.",
21540
+ "Skipping verification is the single most common cause of incomplete or broken outputs.",
21541
+ "Treat this section as mandatory for every coding task, not optional polish."
21542
+ ].join(" "),
21543
+ "",
21544
+ "### 1. Re-read the request",
21545
+ [
21546
+ "Before you finalize your response, re-read the user's original message (and any follow-ups) in full.",
21547
+ "Extract every discrete requirement, constraint, and preference they stated.",
21548
+ "Write them down internally as a checklist.",
21549
+ "This catches drift: it is easy to start solving a related-but-different problem mid-task."
21550
+ ].join(" "),
21551
+ "",
21552
+ "### 2. Check each requirement against your output",
21553
+ [
21554
+ "Walk through your internal checklist point by point.",
21555
+ "For each requirement, locate the exact lines in your output that satisfy it.",
21556
+ "If you cannot point to concrete lines that fulfill a requirement, the work is not done — go back and address the gap before responding.",
21557
+ "Pay special attention to edge cases, error handling, and boundary conditions the user mentioned."
21558
+ ].join(" "),
21559
+ "",
21560
+ "### 3. Run the code",
21561
+ [
21562
+ `Whenever possible, use ${exec} to actually run, compile, lint, or test your code before presenting it.`,
21563
+ "Do not guess whether code works — execute it and observe the result.",
21564
+ "If the code produces errors, fix them and re-run until it succeeds.",
21565
+ "For scripts: run them with representative inputs.",
21566
+ "For libraries/modules: write and execute a minimal smoke test.",
21567
+ "For config files: validate syntax (e.g., json, yaml, toml parsers).",
21568
+ "If execution is genuinely impossible (no runtime available, user explicitly said not to run), state that you were unable to verify execution and explain why."
21569
+ ].join(" "),
21570
+ "",
21571
+ "### 4. Include tests when requested",
21572
+ [
21573
+ "If the user asked for tests, they are a hard requirement — not a nice-to-have.",
21574
+ "Deliver the tests alongside the implementation, not as an afterthought.",
21575
+ "Run the tests and confirm they pass before responding.",
21576
+ "If the user did not explicitly ask for tests but the change is non-trivial, consider whether a test would catch a regression and offer one."
21577
+ ].join(" "),
21578
+ "",
21579
+ "### 5. Self-review",
21580
+ [
21581
+ `After everything above, use ${read} to re-read any files you created or modified.`,
21582
+ "Look at them with fresh eyes as if reviewing someone else's code.",
21583
+ "Check for: typos, missing imports, unused variables, inconsistent naming, hardcoded values that should be configurable, incomplete error handling, and security issues (exposed secrets, injection vectors, missing input validation).",
21584
+ "If you find problems during self-review, fix them, re-run verification, and only then respond."
21585
+ ].join(" "),
21586
+ "",
21587
+ "### Verification failures",
21588
+ [
21589
+ "If any step above reveals a gap, do NOT respond with a partial answer and a disclaimer.",
21590
+ "Instead, fix the issue silently and re-verify.",
21591
+ "The user should receive working, complete output — not a draft with known issues.",
21592
+ "Only flag genuinely unresolvable ambiguities (where you need the user's decision to proceed)."
21593
+ ].join(" "),
21594
+ ""
21595
+ ];
21596
+ }
21532
21597
  function buildDocsSection(params) {
21533
21598
  const docsPath = params.docsPath?.trim();
21534
21599
  if (!docsPath || params.isMinimal) return [];
@@ -21653,6 +21718,7 @@ function buildAgentSystemPrompt(params) {
21653
21718
  const messageChannelOptions = listDeliverableMessageChannels().join("|");
21654
21719
  const promptMode = params.promptMode ?? "full";
21655
21720
  const isMinimal = promptMode === "minimal" || promptMode === "none";
21721
+ const isCoding = promptMode === "coding";
21656
21722
  const sandboxContainerWorkspace = params.sandboxInfo?.containerWorkspaceDir?.trim();
21657
21723
  const sanitizedWorkspaceDir = sanitizeForPromptLiteral(params.workspaceDir);
21658
21724
  const sanitizedSandboxContainerWorkspace = sandboxContainerWorkspace ? sanitizeForPromptLiteral(sandboxContainerWorkspace) : "";
@@ -21729,19 +21795,19 @@ function buildAgentSystemPrompt(params) {
21729
21795
  "",
21730
21796
  ...skillsSection,
21731
21797
  ...memorySection,
21732
- hasGateway && !isMinimal ? "## Symi Self-Update" : "",
21733
- hasGateway && !isMinimal ? [
21798
+ hasGateway && !isMinimal && !isCoding ? "## Symi Self-Update" : "",
21799
+ hasGateway && !isMinimal && !isCoding ? [
21734
21800
  "Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
21735
21801
  "Do not run config.apply or update.run unless the user explicitly requests an update or config change; if it's not explicit, ask first.",
21736
21802
  "Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
21737
21803
  "After restart, Symi pings the last active session automatically."
21738
21804
  ].join("\n") : "",
21739
- hasGateway && !isMinimal ? "" : "",
21805
+ hasGateway && !isMinimal && !isCoding ? "" : "",
21740
21806
  "",
21741
- params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "## Model Aliases" : "",
21742
- params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
21743
- params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? params.modelAliasLines.join("\n") : "",
21744
- params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "" : "",
21807
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "## Model Aliases" : "",
21808
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
21809
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? params.modelAliasLines.join("\n") : "",
21810
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "" : "",
21745
21811
  userTimezone ? "If you need the current date, time, or day of week, run session_status (📊 session_status)." : "",
21746
21812
  "## Workspace",
21747
21813
  `Your working directory is: ${displayWorkspaceDir}`,
@@ -21749,6 +21815,11 @@ function buildAgentSystemPrompt(params) {
21749
21815
  ...workspaceNotes,
21750
21816
  "",
21751
21817
  ...docsSection,
21818
+ ...buildVerifyYourWorkSection({
21819
+ isMinimal,
21820
+ execToolName,
21821
+ readToolName
21822
+ }),
21752
21823
  params.sandboxInfo?.enabled ? "## Sandbox" : "",
21753
21824
  params.sandboxInfo?.enabled ? [
21754
21825
  "You are running in a sandboxed runtime (tools execute in Docker).",
@@ -21766,14 +21837,15 @@ function buildAgentSystemPrompt(params) {
21766
21837
  params.sandboxInfo.elevated?.allowed ? `Current elevated level: ${params.sandboxInfo.elevated.defaultLevel} (ask runs exec on host with approvals; full auto-approves).` : ""
21767
21838
  ].filter(Boolean).join("\n") : "",
21768
21839
  params.sandboxInfo?.enabled ? "" : "",
21769
- ...buildUserIdentitySection(ownerLine, isMinimal),
21840
+ ...buildUserIdentitySection(ownerLine, isMinimal, isCoding),
21770
21841
  ...buildTimeSection({ userTimezone }),
21771
21842
  "## Workspace Files (injected)",
21772
21843
  "These user-editable files are loaded by Symi and included below in Project Context.",
21773
21844
  "",
21774
- ...buildReplyTagsSection(isMinimal),
21845
+ ...buildReplyTagsSection(isMinimal, isCoding),
21775
21846
  ...buildMessagingSection({
21776
21847
  isMinimal,
21848
+ isCoding,
21777
21849
  availableTools,
21778
21850
  messageChannelOptions,
21779
21851
  inlineButtonsEnabled,
@@ -21782,6 +21854,7 @@ function buildAgentSystemPrompt(params) {
21782
21854
  }),
21783
21855
  ...buildVoiceSection({
21784
21856
  isMinimal,
21857
+ isCoding,
21785
21858
  ttsHint: params.ttsHint
21786
21859
  })
21787
21860
  ];
@@ -21821,8 +21894,8 @@ function buildAgentSystemPrompt(params) {
21821
21894
  lines.push("");
21822
21895
  for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
21823
21896
  }
21824
- if (!isMinimal) lines.push("## Silent Replies", `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`, "", "⚠️ Rules:", "- It must be your ENTIRE message — nothing else", `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies)`, "- Never wrap it in markdown or code blocks", "", `❌ Wrong: "Here's help... ${SILENT_REPLY_TOKEN}"`, `❌ Wrong: "${SILENT_REPLY_TOKEN}"`, `✅ Right: ${SILENT_REPLY_TOKEN}`, "");
21825
- if (!isMinimal) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "SYMIPULSE_OK", "Symi treats a leading/trailing \"SYMIPULSE_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"SYMIPULSE_OK\"; reply with the alert text instead.", "");
21897
+ if (!isMinimal && !isCoding) lines.push("## Silent Replies", `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`, "", "⚠️ Rules:", "- It must be your ENTIRE message — nothing else", `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies)`, "- Never wrap it in markdown or code blocks", "", `❌ Wrong: "Here's help... ${SILENT_REPLY_TOKEN}"`, `❌ Wrong: "${SILENT_REPLY_TOKEN}"`, `✅ Right: ${SILENT_REPLY_TOKEN}`, "");
21898
+ if (!isMinimal && !isCoding) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "SYMIPULSE_OK", "Symi treats a leading/trailing \"SYMIPULSE_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"SYMIPULSE_OK\"; reply with the alert text instead.", "");
21826
21899
  lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
21827
21900
  return lines.filter(Boolean).join("\n");
21828
21901
  }
@@ -41574,7 +41647,7 @@ async function deliverSessionMaintenanceWarning(params) {
41574
41647
  return;
41575
41648
  }
41576
41649
  try {
41577
- const { deliverOutboundPayloads } = await import("./deliver-BorDF5OG.js").then((n) => n.n);
41650
+ const { deliverOutboundPayloads } = await import("./deliver-DXVMhb3A.js").then((n) => n.n);
41578
41651
  await deliverOutboundPayloads({
41579
41652
  cfg: params.cfg,
41580
41653
  channel,
@@ -45017,7 +45090,7 @@ async function describeStickerImage(params) {
45017
45090
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45018
45091
  try {
45019
45092
  const buffer = await fs.readFile(imagePath);
45020
- const { describeImageWithModel } = await import("./image-GHA29jwQ.js").then((n) => n.n);
45093
+ const { describeImageWithModel } = await import("./image-Bf_jHnTg.js").then((n) => n.n);
45021
45094
  return (await describeImageWithModel({
45022
45095
  buffer,
45023
45096
  fileName: "sticker.webp",
@@ -45440,7 +45513,7 @@ function createWhatsAppLoginTool() {
45440
45513
  force: Type.Optional(Type.Boolean())
45441
45514
  }),
45442
45515
  execute: async (_toolCallId, args) => {
45443
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CzD7_Pru.js");
45516
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-_FriwsNr.js");
45444
45517
  if ((args?.action ?? "start") === "wait") {
45445
45518
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
45446
45519
  return {
@@ -47679,7 +47752,7 @@ async function preflightDiscordMessage(params) {
47679
47752
  let preflightTranscript;
47680
47753
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47681
47754
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47682
- const { transcribeFirstAudio } = await import("./audio-preflight-mSUx5I34.js");
47755
+ const { transcribeFirstAudio } = await import("./audio-preflight-B_VLZd_F.js");
47683
47756
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47684
47757
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47685
47758
  ctx: {
@@ -51685,27 +51758,27 @@ function isVoiceChannelType(type) {
51685
51758
  function createDefaultDeps() {
51686
51759
  return {
51687
51760
  sendMessageWhatsApp: async (...args) => {
51688
- const { sendMessageWhatsApp } = await import("./web-f7lkf_un.js");
51761
+ const { sendMessageWhatsApp } = await import("./web-OmlhMCcZ.js");
51689
51762
  return await sendMessageWhatsApp(...args);
51690
51763
  },
51691
51764
  sendMessageTelegram: async (...args) => {
51692
- const { sendMessageTelegram } = await import("./send-DDrpEKUg.js").then((n) => n.l);
51765
+ const { sendMessageTelegram } = await import("./send-DiBs_eJc.js").then((n) => n.l);
51693
51766
  return await sendMessageTelegram(...args);
51694
51767
  },
51695
51768
  sendMessageDiscord: async (...args) => {
51696
- const { sendMessageDiscord } = await import("./send-Bt4UsVrd.js").then((n) => n.t);
51769
+ const { sendMessageDiscord } = await import("./send-DZbplWNh.js").then((n) => n.t);
51697
51770
  return await sendMessageDiscord(...args);
51698
51771
  },
51699
51772
  sendMessageSlack: async (...args) => {
51700
- const { sendMessageSlack } = await import("./send-CEjpAJ8N.js").then((n) => n.n);
51773
+ const { sendMessageSlack } = await import("./send-BPqK6C8h.js").then((n) => n.n);
51701
51774
  return await sendMessageSlack(...args);
51702
51775
  },
51703
51776
  sendMessageSignal: async (...args) => {
51704
- const { sendMessageSignal } = await import("./send-Bx04WqH5.js").then((n) => n.i);
51777
+ const { sendMessageSignal } = await import("./send-BbscKwuU.js").then((n) => n.i);
51705
51778
  return await sendMessageSignal(...args);
51706
51779
  },
51707
51780
  sendMessageIMessage: async (...args) => {
51708
- const { sendMessageIMessage } = await import("./send-1iB7Rdwp.js").then((n) => n.n);
51781
+ const { sendMessageIMessage } = await import("./send-Bj3PJmrF.js").then((n) => n.n);
51709
51782
  return await sendMessageIMessage(...args);
51710
51783
  }
51711
51784
  };
@@ -54589,7 +54662,7 @@ function createDiscordGatewayPlugin(params) {
54589
54662
  super(options);
54590
54663
  }
54591
54664
  createWebSocket(url) {
54592
- return new WebSocket$1(url, { agent });
54665
+ return new WebSocket(url, { agent });
54593
54666
  }
54594
54667
  }
54595
54668
  return new ProxyGatewayPlugin();
@@ -62131,7 +62204,7 @@ function readSlackExternalArgMenuToken(raw) {
62131
62204
  }
62132
62205
  let commandsRegistry;
62133
62206
  async function getCommandsRegistry() {
62134
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-C3C4Rv3O.js").then((n) => n.n);
62207
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-tuRMQmX4.js").then((n) => n.n);
62135
62208
  return commandsRegistry;
62136
62209
  }
62137
62210
  function encodeSlackCommandArgValue(parts) {
@@ -62534,7 +62607,7 @@ async function registerSlackMonitorSlashCommands(params) {
62534
62607
  });
62535
62608
  const deliverSlashPayloads = async (replies) => {
62536
62609
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
62537
- import("./replies-DtdP8R93.js").then((n) => n.r),
62610
+ import("./replies-Bhx469BX.js").then((n) => n.r),
62538
62611
  import("./chunk-BW5f05BR.js").then((n) => n.s),
62539
62612
  import("./markdown-tables-iMQQZu4Q.js").then((n) => n.t)
62540
62613
  ]);
@@ -62589,7 +62662,7 @@ async function registerSlackMonitorSlashCommands(params) {
62589
62662
  let nativeCommands = [];
62590
62663
  if (nativeEnabled) {
62591
62664
  reg = await getCommandsRegistry();
62592
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-B64uavY9.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62665
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C2kxEz5h.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62593
62666
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
62594
62667
  skillCommands,
62595
62668
  provider: "slack"
@@ -64807,7 +64880,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64807
64880
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64808
64881
  let preflightTranscript;
64809
64882
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64810
- const { transcribeFirstAudio } = await import("./audio-preflight-mSUx5I34.js");
64883
+ const { transcribeFirstAudio } = await import("./audio-preflight-B_VLZd_F.js");
64811
64884
  preflightTranscript = await transcribeFirstAudio({
64812
64885
  ctx: {
64813
64886
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -66952,23 +67025,23 @@ let webLoginQrPromise = null;
66952
67025
  let webChannelPromise = null;
66953
67026
  let whatsappActionsPromise = null;
66954
67027
  function loadWebOutbound() {
66955
- webOutboundPromise ??= import("./outbound-yaYfpPTu.js").then((n) => n.t);
67028
+ webOutboundPromise ??= import("./outbound-0ici4ICv.js").then((n) => n.t);
66956
67029
  return webOutboundPromise;
66957
67030
  }
66958
67031
  function loadWebLogin() {
66959
- webLoginPromise ??= import("./login-DNeGXcjV.js").then((n) => n.n);
67032
+ webLoginPromise ??= import("./login-CM1U-ARd.js").then((n) => n.n);
66960
67033
  return webLoginPromise;
66961
67034
  }
66962
67035
  function loadWebLoginQr() {
66963
- webLoginQrPromise ??= import("./login-qr-CzD7_Pru.js");
67036
+ webLoginQrPromise ??= import("./login-qr-_FriwsNr.js");
66964
67037
  return webLoginQrPromise;
66965
67038
  }
66966
67039
  function loadWebChannel() {
66967
- webChannelPromise ??= import("./web-f7lkf_un.js");
67040
+ webChannelPromise ??= import("./web-OmlhMCcZ.js");
66968
67041
  return webChannelPromise;
66969
67042
  }
66970
67043
  function loadWhatsAppActions() {
66971
- whatsappActionsPromise ??= import("./whatsapp-actions-B4YPuD2Q.js");
67044
+ whatsappActionsPromise ??= import("./whatsapp-actions-BWERIEcF.js");
66972
67045
  return whatsappActionsPromise;
66973
67046
  }
66974
67047
  function createPluginRuntime() {
@@ -72276,7 +72349,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72276
72349
  config: params.config
72277
72350
  });
72278
72351
  const isDefaultAgent = sessionAgentId === defaultAgentId;
72279
- const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
72352
+ const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
72280
72353
  const docsPath = await resolveSymiDocsPath({
72281
72354
  workspaceDir: effectiveWorkspace,
72282
72355
  argv1: process.argv[1],
@@ -72516,6 +72589,9 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
72516
72589
  const streamParams = {};
72517
72590
  if (typeof extraParams.temperature === "number") streamParams.temperature = extraParams.temperature;
72518
72591
  if (typeof extraParams.maxTokens === "number") streamParams.maxTokens = extraParams.maxTokens;
72592
+ if (typeof extraParams.top_p === "number") streamParams.top_p = extraParams.top_p;
72593
+ if (typeof extraParams.top_k === "number") streamParams.top_k = extraParams.top_k;
72594
+ if (typeof extraParams.repeat_penalty === "number") streamParams.repeat_penalty = extraParams.repeat_penalty;
72519
72595
  const cacheRetention = resolveCacheRetention(extraParams, provider);
72520
72596
  if (cacheRetention) streamParams.cacheRetention = cacheRetention;
72521
72597
  if (Object.keys(streamParams).length === 0) return;
@@ -75796,7 +75872,7 @@ async function runEmbeddedAttempt(params) {
75796
75872
  }
75797
75873
  });
75798
75874
  const isDefaultAgent = sessionAgentId === defaultAgentId;
75799
- const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
75875
+ const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
75800
75876
  const docsPath = await resolveSymiDocsPath({
75801
75877
  workspaceDir: effectiveWorkspace,
75802
75878
  argv1: process.argv[1],
@@ -76811,6 +76887,7 @@ async function runEmbeddedPiAgent(params) {
76811
76887
  let lastRunPromptUsage;
76812
76888
  let autoCompactionCount = 0;
76813
76889
  let runLoopIterations = 0;
76890
+ let verificationPassCompleted = false;
76814
76891
  try {
76815
76892
  while (true) {
76816
76893
  if (runLoopIterations >= MAX_RUN_LOOP_ITERATIONS) {
@@ -77180,6 +77257,116 @@ async function runEmbeddedPiAgent(params) {
77180
77257
  suppressToolErrorWarnings: params.suppressToolErrorWarnings,
77181
77258
  inlineToolResultsAllowed: false
77182
77259
  });
77260
+ if (!verificationPassCompleted && !aborted && !timedOut && !promptError && payloads.length > 0 && !isCronSessionKey(params.sessionKey) && !isSubagentSessionKey(params.sessionKey)) {
77261
+ const CODE_TOOL_NAMES = new Set([
77262
+ "exec",
77263
+ "bash",
77264
+ "write",
77265
+ "edit",
77266
+ "file_write",
77267
+ "file_edit",
77268
+ "write_file",
77269
+ "edit_file",
77270
+ "create_file",
77271
+ "patch"
77272
+ ]);
77273
+ const hasCodeToolUsage = attempt.toolMetas.some((tm) => CODE_TOOL_NAMES.has(tm.toolName.toLowerCase()));
77274
+ const hasCodeBlocks = attempt.assistantTexts.some((text) => /```[\s\S]*?```/.test(text));
77275
+ if (hasCodeToolUsage || hasCodeBlocks) {
77276
+ verificationPassCompleted = true;
77277
+ log$2.debug(`[verification] starting verification pass: runId=${params.runId} sessionId=${params.sessionId} trigger=${hasCodeToolUsage ? "tool_usage" : "code_blocks"}`);
77278
+ const verificationPrompt = "Review your response against the original user request. Check: (1) Did you address every requirement? (2) Did you include tests if requested? (3) Did you run and verify the code works? If you missed anything, fix it now. If everything looks correct, briefly confirm.";
77279
+ try {
77280
+ const verifyAttempt = await runEmbeddedAttempt({
77281
+ sessionId: params.sessionId,
77282
+ sessionKey: params.sessionKey,
77283
+ messageChannel: params.messageChannel,
77284
+ messageProvider: params.messageProvider,
77285
+ agentAccountId: params.agentAccountId,
77286
+ messageTo: params.messageTo,
77287
+ messageThreadId: params.messageThreadId,
77288
+ groupId: params.groupId,
77289
+ groupChannel: params.groupChannel,
77290
+ groupSpace: params.groupSpace,
77291
+ spawnedBy: params.spawnedBy,
77292
+ senderIsOwner: params.senderIsOwner,
77293
+ currentChannelId: params.currentChannelId,
77294
+ currentThreadTs: params.currentThreadTs,
77295
+ replyToMode: params.replyToMode,
77296
+ hasRepliedRef: params.hasRepliedRef,
77297
+ sessionFile: params.sessionFile,
77298
+ workspaceDir: resolvedWorkspace,
77299
+ agentDir,
77300
+ config: params.config,
77301
+ skillsSnapshot: params.skillsSnapshot,
77302
+ prompt: verificationPrompt,
77303
+ images: void 0,
77304
+ disableTools: params.disableTools,
77305
+ provider,
77306
+ modelId,
77307
+ model,
77308
+ authStorage,
77309
+ modelRegistry,
77310
+ agentId: workspaceResolution.agentId,
77311
+ thinkLevel,
77312
+ verboseLevel: params.verboseLevel,
77313
+ reasoningLevel: params.reasoningLevel,
77314
+ toolResultFormat: resolvedToolResultFormat,
77315
+ execOverrides: params.execOverrides,
77316
+ bashElevated: params.bashElevated,
77317
+ timeoutMs: params.timeoutMs,
77318
+ runId: params.runId,
77319
+ abortSignal: params.abortSignal,
77320
+ shouldEmitToolResult: params.shouldEmitToolResult,
77321
+ shouldEmitToolOutput: params.shouldEmitToolOutput,
77322
+ onPartialReply: params.onPartialReply,
77323
+ onAssistantMessageStart: params.onAssistantMessageStart,
77324
+ onBlockReply: params.onBlockReply,
77325
+ onBlockReplyFlush: params.onBlockReplyFlush,
77326
+ blockReplyBreak: params.blockReplyBreak,
77327
+ blockReplyChunking: params.blockReplyChunking,
77328
+ onReasoningStream: params.onReasoningStream,
77329
+ onReasoningEnd: params.onReasoningEnd,
77330
+ onToolResult: params.onToolResult,
77331
+ onAgentEvent: params.onAgentEvent,
77332
+ extraSystemPrompt: params.extraSystemPrompt,
77333
+ inputProvenance: params.inputProvenance,
77334
+ streamParams: params.streamParams,
77335
+ ownerNumbers: params.ownerNumbers,
77336
+ enforceFinalTag: params.enforceFinalTag
77337
+ });
77338
+ const verifyUsage = normalizeUsage(verifyAttempt.lastAssistant?.usage);
77339
+ mergeUsageIntoAccumulator(usageAccumulator, verifyAttempt.attemptUsage ?? verifyUsage);
77340
+ if (verifyAttempt.compactionCount) autoCompactionCount += verifyAttempt.compactionCount;
77341
+ const verifyHasToolUsage = verifyAttempt.toolMetas.length > 0;
77342
+ const verifyHasContent = verifyAttempt.assistantTexts.some((t) => t.trim().length > 0);
77343
+ if (verifyHasToolUsage || verifyHasContent) {
77344
+ const verifyPayloads = buildEmbeddedRunPayloads({
77345
+ assistantTexts: [...attempt.assistantTexts, ...verifyAttempt.assistantTexts],
77346
+ toolMetas: [...attempt.toolMetas, ...verifyAttempt.toolMetas],
77347
+ lastAssistant: verifyAttempt.lastAssistant ?? attempt.lastAssistant,
77348
+ lastToolError: verifyAttempt.lastToolError ?? attempt.lastToolError,
77349
+ config: params.config,
77350
+ sessionKey: params.sessionKey ?? params.sessionId,
77351
+ provider: activeErrorContext.provider,
77352
+ model: activeErrorContext.model,
77353
+ verboseLevel: params.verboseLevel,
77354
+ reasoningLevel: params.reasoningLevel,
77355
+ toolResultFormat: resolvedToolResultFormat,
77356
+ suppressToolErrorWarnings: params.suppressToolErrorWarnings,
77357
+ inlineToolResultsAllowed: false
77358
+ });
77359
+ if (verifyPayloads.length > 0) {
77360
+ payloads.length = 0;
77361
+ payloads.push(...verifyPayloads);
77362
+ }
77363
+ log$2.debug(`[verification] verification produced corrections: runId=${params.runId} tools=${verifyAttempt.toolMetas.length} texts=${verifyAttempt.assistantTexts.length}`);
77364
+ } else log$2.debug(`[verification] verification confirmed original response: runId=${params.runId}`);
77365
+ } catch (verifyErr) {
77366
+ log$2.warn(`[verification] verification pass failed, keeping original response: runId=${params.runId} error=${String(verifyErr)}`);
77367
+ }
77368
+ }
77369
+ }
77183
77370
  if (timedOut && !timedOutDuringCompaction && payloads.length === 0) return {
77184
77371
  payloads: [{
77185
77372
  text: "Request timed out before a response was generated. Please try again, or increase `agents.defaults.timeoutSeconds` in your config.",