@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
@@ -4,7 +4,7 @@ import { _ as isCronSessionKey, b as resolveThreadParentSessionKey, c as normali
4
4
  import { $ as isRich, A as normalizeE164, D as isRecord$1, E as formatTerminalLink, H as isPlainObject, I as shortenHomeInString, J as setVerbose, K as logVerbose, L as shortenHomePath, P as resolveUserPath, Q as colorize, R as sleep$1, S as clampInt, T as escapeRegExp, U as danger, V as truncateUtf16Safe, Y as shouldLogVerbose, Z as warn, _ as matchPluginCommand, a as normalizeAnyChannelId, b as CONFIG_DIR, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, lt as resolvePreferredSymiTmpDir, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, st as normalizeLogLevel, tt as getChildLogger, u as setActivePluginRegistry, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry-BhoUuugi.js";
5
5
  import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-Cbl5pNe1.js";
6
6
  import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CZixfwU8.js";
7
- import { $ as DEFAULT_PROVIDER, A as resolveShellEnvFallbackTimeoutMs, B as dedupeProfileIds, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as getSoonestCooldownExpiry, G as resolveSymiAgentDir, H as markAuthProfileGood, I as isProfileInCooldown, K as withFileLock, L as markAuthProfileFailure, O as getShellPathFromLoginShell, P as resolveAuthProfileOrder, Q as DEFAULT_MODEL, R as markAuthProfileUsed, S as getApiKeyForModel, T as resolveApiKeyForProvider, U as ensureAuthProfileStore, V as listProfilesForProvider, W as resolveAuthStorePathForDisplay, X as resolveAuthProfileDisplayLabel, Y as normalizeSecretInput, Z as DEFAULT_CONTEXT_TOKENS, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveApiKeyForProfile } from "./model-selection--4t4F87n.js";
7
+ import { $ as DEFAULT_PROVIDER, A as resolveShellEnvFallbackTimeoutMs, B as dedupeProfileIds, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as getSoonestCooldownExpiry, G as resolveSymiAgentDir, H as markAuthProfileGood, I as isProfileInCooldown, K as withFileLock, L as markAuthProfileFailure, O as getShellPathFromLoginShell, P as resolveAuthProfileOrder, Q as DEFAULT_MODEL, R as markAuthProfileUsed, S as getApiKeyForModel, T as resolveApiKeyForProvider, U as ensureAuthProfileStore, V as listProfilesForProvider, W as resolveAuthStorePathForDisplay, X as resolveAuthProfileDisplayLabel, Y as normalizeSecretInput, Z as DEFAULT_CONTEXT_TOKENS, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveApiKeyForProfile } from "./model-selection-DBPwoBvb.js";
8
8
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-K_J_nfgx.js";
9
9
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BbsJ0Qbo.js";
10
10
  import { i as resolveCliName, n as parseBooleanValue$1, r as formatCliCommand, t as isTruthyEnvValue } from "./env-CQ_DQOwT.js";
@@ -12,20 +12,20 @@ import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY
12
12
  import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$1, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-71oIavrF.js";
13
13
  import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExists, r as getWebAuthAgeMs, t as resolveWhatsAppAccount } from "./accounts-DDEyGwby.js";
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
- 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-CZ18Xq5n.js";
16
- 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-BbV4XqMl.js";
17
- 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-D8xILUUI.js";
15
+ 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-BVRNZ9hM.js";
16
+ 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-Bv-112XA.js";
17
+ 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-wRQauy5B.js";
18
18
  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-D0xmLpej.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-8zZqL37v.js";
21
- 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-CltKx_vS.js";
21
+ 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-C8ohJBK5.js";
22
22
  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-ByaQt43P.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  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-BQINJQIT.js";
25
- import { $ as mergeDeliveryContext, 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, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, 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 deliveryContextKey, 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 resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-BDwdFGX-.js";
26
- 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-ClXqj_D1.js";
25
+ import { $ as mergeDeliveryContext, 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, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, 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 deliveryContextKey, 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 resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-D9Rvkx8A.js";
26
+ 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-BUHRlrbS.js";
27
27
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-D-mTF1cj.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-1cQdPKbv.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DX-9I4dn.js";
29
29
  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-BNpGMnp-.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -36,8 +36,8 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
- 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-DrkD-6sg.js";
40
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-oQJvFR6J.js";
39
+ 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-Kl1J-62v.js";
40
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-Cw42HtQ7.js";
41
41
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-BNh23mUR.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
43
43
  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-BbOqxMY0.js";
@@ -46,20 +46,20 @@ import { n as resolveMarkdownTableMode } from "./markdown-tables-DawaaZEe.js";
46
46
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BheTNyes.js";
47
47
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-CC8jiKDk.js";
48
48
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
49
- 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-Copoizgv.js";
50
- 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-DWcJOIzP.js";
49
+ 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-DN93gKlx.js";
50
+ 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-C_ZNSYNS.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- 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-CTglx_CV.js";
52
+ 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-Cu0qqBIE.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtLn7YU3.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D9q-fIPB.js";
56
56
  import { n as normalizePollInput } from "./polls-DQcEziPg.js";
57
57
  import { t as convertMarkdownTables } from "./tables-COnZ169v.js";
58
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DVLEgg9H.js";
59
- 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-Dm4UYQsf.js";
58
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-DPKghOxz.js";
59
+ 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-Bj2SQQVP.js";
60
60
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-We7ViAbg.js";
61
61
  import { t as makeProxyFetch } from "./proxy-BaSHbVlA.js";
62
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Dzc6eCFS.js";
62
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-UxER0fi1.js";
63
63
  import { t as getActiveWebListener } from "./active-listener-1krIj9TM.js";
64
64
  import { createRequire } from "node:module";
65
65
  import * as path$1 from "node:path";
@@ -3472,7 +3472,7 @@ async function getMemorySearchManager(params) {
3472
3472
  const wrapper = new FallbackMemoryManager({
3473
3473
  primary,
3474
3474
  fallbackFactory: async () => {
3475
- const { MemoryIndexManager } = await import("./manager-oQJvFR6J.js").then((n) => n.t);
3475
+ const { MemoryIndexManager } = await import("./manager-Cw42HtQ7.js").then((n) => n.t);
3476
3476
  return await MemoryIndexManager.get(params);
3477
3477
  }
3478
3478
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3485,7 +3485,7 @@ async function getMemorySearchManager(params) {
3485
3485
  }
3486
3486
  }
3487
3487
  try {
3488
- const { MemoryIndexManager } = await import("./manager-oQJvFR6J.js").then((n) => n.t);
3488
+ const { MemoryIndexManager } = await import("./manager-Cw42HtQ7.js").then((n) => n.t);
3489
3489
  return { manager: await MemoryIndexManager.get(params) };
3490
3490
  } catch (err) {
3491
3491
  return {
@@ -7199,7 +7199,7 @@ async function routeReply(params) {
7199
7199
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7200
7200
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7201
7201
  try {
7202
- const { deliverOutboundPayloads } = await import("./deliver-D8xILUUI.js").then((n) => n.n);
7202
+ const { deliverOutboundPayloads } = await import("./deliver-wRQauy5B.js").then((n) => n.n);
7203
7203
  return {
7204
7204
  ok: true,
7205
7205
  messageId: (await deliverOutboundPayloads({
@@ -12652,7 +12652,7 @@ async function createModelSelectionState(params) {
12652
12652
  }
12653
12653
  }
12654
12654
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
12655
- const { ensureAuthProfileStore } = await import("./model-selection--4t4F87n.js").then((n) => n.N);
12655
+ const { ensureAuthProfileStore } = await import("./model-selection-DBPwoBvb.js").then((n) => n.N);
12656
12656
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
12657
12657
  const providerKey = normalizeProviderId(provider);
12658
12658
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -21456,8 +21456,8 @@ function buildMemorySection(params) {
21456
21456
  lines.push("");
21457
21457
  return lines;
21458
21458
  }
21459
- function buildUserIdentitySection(ownerLine, isMinimal) {
21460
- if (!ownerLine || isMinimal) return [];
21459
+ function buildUserIdentitySection(ownerLine, isMinimal, isCoding) {
21460
+ if (!ownerLine || isMinimal || isCoding) return [];
21461
21461
  return [
21462
21462
  "## Authorized Senders",
21463
21463
  ownerLine,
@@ -21481,8 +21481,8 @@ function buildTimeSection(params) {
21481
21481
  ""
21482
21482
  ];
21483
21483
  }
21484
- function buildReplyTagsSection(isMinimal) {
21485
- if (isMinimal) return [];
21484
+ function buildReplyTagsSection(isMinimal, isCoding) {
21485
+ if (isMinimal || isCoding) return [];
21486
21486
  return [
21487
21487
  "## Reply Tags",
21488
21488
  "To request a native reply/quote on supported surfaces, include one tag in your reply:",
@@ -21495,7 +21495,7 @@ function buildReplyTagsSection(isMinimal) {
21495
21495
  ];
21496
21496
  }
21497
21497
  function buildMessagingSection(params) {
21498
- if (params.isMinimal) return [];
21498
+ if (params.isMinimal || params.isCoding) return [];
21499
21499
  return [
21500
21500
  "## Messaging",
21501
21501
  "- Reply in current session → automatically routes to the source channel (Signal, Telegram, etc.)",
@@ -21518,7 +21518,7 @@ function buildMessagingSection(params) {
21518
21518
  ];
21519
21519
  }
21520
21520
  function buildVoiceSection(params) {
21521
- if (params.isMinimal) return [];
21521
+ if (params.isMinimal || params.isCoding) return [];
21522
21522
  const hint = params.ttsHint?.trim();
21523
21523
  if (!hint) return [];
21524
21524
  return [
@@ -21527,6 +21527,71 @@ function buildVoiceSection(params) {
21527
21527
  ""
21528
21528
  ];
21529
21529
  }
21530
+ function buildVerifyYourWorkSection(params) {
21531
+ if (params.isMinimal) return [];
21532
+ const exec = params.execToolName;
21533
+ const read = params.readToolName;
21534
+ return [
21535
+ "## Verify Your Work",
21536
+ [
21537
+ "Before delivering any code, script, configuration, or technical artifact, you MUST perform a structured verification pass.",
21538
+ "Skipping verification is the single most common cause of incomplete or broken outputs.",
21539
+ "Treat this section as mandatory for every coding task, not optional polish."
21540
+ ].join(" "),
21541
+ "",
21542
+ "### 1. Re-read the request",
21543
+ [
21544
+ "Before you finalize your response, re-read the user's original message (and any follow-ups) in full.",
21545
+ "Extract every discrete requirement, constraint, and preference they stated.",
21546
+ "Write them down internally as a checklist.",
21547
+ "This catches drift: it is easy to start solving a related-but-different problem mid-task."
21548
+ ].join(" "),
21549
+ "",
21550
+ "### 2. Check each requirement against your output",
21551
+ [
21552
+ "Walk through your internal checklist point by point.",
21553
+ "For each requirement, locate the exact lines in your output that satisfy it.",
21554
+ "If you cannot point to concrete lines that fulfill a requirement, the work is not done — go back and address the gap before responding.",
21555
+ "Pay special attention to edge cases, error handling, and boundary conditions the user mentioned."
21556
+ ].join(" "),
21557
+ "",
21558
+ "### 3. Run the code",
21559
+ [
21560
+ `Whenever possible, use ${exec} to actually run, compile, lint, or test your code before presenting it.`,
21561
+ "Do not guess whether code works — execute it and observe the result.",
21562
+ "If the code produces errors, fix them and re-run until it succeeds.",
21563
+ "For scripts: run them with representative inputs.",
21564
+ "For libraries/modules: write and execute a minimal smoke test.",
21565
+ "For config files: validate syntax (e.g., json, yaml, toml parsers).",
21566
+ "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."
21567
+ ].join(" "),
21568
+ "",
21569
+ "### 4. Include tests when requested",
21570
+ [
21571
+ "If the user asked for tests, they are a hard requirement — not a nice-to-have.",
21572
+ "Deliver the tests alongside the implementation, not as an afterthought.",
21573
+ "Run the tests and confirm they pass before responding.",
21574
+ "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."
21575
+ ].join(" "),
21576
+ "",
21577
+ "### 5. Self-review",
21578
+ [
21579
+ `After everything above, use ${read} to re-read any files you created or modified.`,
21580
+ "Look at them with fresh eyes as if reviewing someone else's code.",
21581
+ "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).",
21582
+ "If you find problems during self-review, fix them, re-run verification, and only then respond."
21583
+ ].join(" "),
21584
+ "",
21585
+ "### Verification failures",
21586
+ [
21587
+ "If any step above reveals a gap, do NOT respond with a partial answer and a disclaimer.",
21588
+ "Instead, fix the issue silently and re-verify.",
21589
+ "The user should receive working, complete output — not a draft with known issues.",
21590
+ "Only flag genuinely unresolvable ambiguities (where you need the user's decision to proceed)."
21591
+ ].join(" "),
21592
+ ""
21593
+ ];
21594
+ }
21530
21595
  function buildDocsSection(params) {
21531
21596
  const docsPath = params.docsPath?.trim();
21532
21597
  if (!docsPath || params.isMinimal) return [];
@@ -21651,6 +21716,7 @@ function buildAgentSystemPrompt(params) {
21651
21716
  const messageChannelOptions = listDeliverableMessageChannels().join("|");
21652
21717
  const promptMode = params.promptMode ?? "full";
21653
21718
  const isMinimal = promptMode === "minimal" || promptMode === "none";
21719
+ const isCoding = promptMode === "coding";
21654
21720
  const sandboxContainerWorkspace = params.sandboxInfo?.containerWorkspaceDir?.trim();
21655
21721
  const sanitizedWorkspaceDir = sanitizeForPromptLiteral(params.workspaceDir);
21656
21722
  const sanitizedSandboxContainerWorkspace = sandboxContainerWorkspace ? sanitizeForPromptLiteral(sandboxContainerWorkspace) : "";
@@ -21727,19 +21793,19 @@ function buildAgentSystemPrompt(params) {
21727
21793
  "",
21728
21794
  ...skillsSection,
21729
21795
  ...memorySection,
21730
- hasGateway && !isMinimal ? "## Symi Self-Update" : "",
21731
- hasGateway && !isMinimal ? [
21796
+ hasGateway && !isMinimal && !isCoding ? "## Symi Self-Update" : "",
21797
+ hasGateway && !isMinimal && !isCoding ? [
21732
21798
  "Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
21733
21799
  "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.",
21734
21800
  "Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
21735
21801
  "After restart, Symi pings the last active session automatically."
21736
21802
  ].join("\n") : "",
21737
- hasGateway && !isMinimal ? "" : "",
21803
+ hasGateway && !isMinimal && !isCoding ? "" : "",
21738
21804
  "",
21739
- params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "## Model Aliases" : "",
21740
- params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
21741
- params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? params.modelAliasLines.join("\n") : "",
21742
- params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal ? "" : "",
21805
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "## Model Aliases" : "",
21806
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
21807
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? params.modelAliasLines.join("\n") : "",
21808
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "" : "",
21743
21809
  userTimezone ? "If you need the current date, time, or day of week, run session_status (📊 session_status)." : "",
21744
21810
  "## Workspace",
21745
21811
  `Your working directory is: ${displayWorkspaceDir}`,
@@ -21747,6 +21813,11 @@ function buildAgentSystemPrompt(params) {
21747
21813
  ...workspaceNotes,
21748
21814
  "",
21749
21815
  ...docsSection,
21816
+ ...buildVerifyYourWorkSection({
21817
+ isMinimal,
21818
+ execToolName,
21819
+ readToolName
21820
+ }),
21750
21821
  params.sandboxInfo?.enabled ? "## Sandbox" : "",
21751
21822
  params.sandboxInfo?.enabled ? [
21752
21823
  "You are running in a sandboxed runtime (tools execute in Docker).",
@@ -21764,14 +21835,15 @@ function buildAgentSystemPrompt(params) {
21764
21835
  params.sandboxInfo.elevated?.allowed ? `Current elevated level: ${params.sandboxInfo.elevated.defaultLevel} (ask runs exec on host with approvals; full auto-approves).` : ""
21765
21836
  ].filter(Boolean).join("\n") : "",
21766
21837
  params.sandboxInfo?.enabled ? "" : "",
21767
- ...buildUserIdentitySection(ownerLine, isMinimal),
21838
+ ...buildUserIdentitySection(ownerLine, isMinimal, isCoding),
21768
21839
  ...buildTimeSection({ userTimezone }),
21769
21840
  "## Workspace Files (injected)",
21770
21841
  "These user-editable files are loaded by Symi and included below in Project Context.",
21771
21842
  "",
21772
- ...buildReplyTagsSection(isMinimal),
21843
+ ...buildReplyTagsSection(isMinimal, isCoding),
21773
21844
  ...buildMessagingSection({
21774
21845
  isMinimal,
21846
+ isCoding,
21775
21847
  availableTools,
21776
21848
  messageChannelOptions,
21777
21849
  inlineButtonsEnabled,
@@ -21780,6 +21852,7 @@ function buildAgentSystemPrompt(params) {
21780
21852
  }),
21781
21853
  ...buildVoiceSection({
21782
21854
  isMinimal,
21855
+ isCoding,
21783
21856
  ttsHint: params.ttsHint
21784
21857
  })
21785
21858
  ];
@@ -21819,8 +21892,8 @@ function buildAgentSystemPrompt(params) {
21819
21892
  lines.push("");
21820
21893
  for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
21821
21894
  }
21822
- 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}`, "");
21823
- 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.", "");
21895
+ 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}`, "");
21896
+ 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.", "");
21824
21897
  lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
21825
21898
  return lines.filter(Boolean).join("\n");
21826
21899
  }
@@ -41572,7 +41645,7 @@ async function deliverSessionMaintenanceWarning(params) {
41572
41645
  return;
41573
41646
  }
41574
41647
  try {
41575
- const { deliverOutboundPayloads } = await import("./deliver-D8xILUUI.js").then((n) => n.n);
41648
+ const { deliverOutboundPayloads } = await import("./deliver-wRQauy5B.js").then((n) => n.n);
41576
41649
  await deliverOutboundPayloads({
41577
41650
  cfg: params.cfg,
41578
41651
  channel,
@@ -45015,7 +45088,7 @@ async function describeStickerImage(params) {
45015
45088
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45016
45089
  try {
45017
45090
  const buffer = await fs$1.readFile(imagePath);
45018
- const { describeImageWithModel } = await import("./image-DrkD-6sg.js").then((n) => n.n);
45091
+ const { describeImageWithModel } = await import("./image-Kl1J-62v.js").then((n) => n.n);
45019
45092
  return (await describeImageWithModel({
45020
45093
  buffer,
45021
45094
  fileName: "sticker.webp",
@@ -45438,7 +45511,7 @@ function createWhatsAppLoginTool() {
45438
45511
  force: Type.Optional(Type.Boolean())
45439
45512
  }),
45440
45513
  execute: async (_toolCallId, args) => {
45441
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-E4YwhoPt.js");
45514
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CADWVR1b.js");
45442
45515
  if ((args?.action ?? "start") === "wait") {
45443
45516
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
45444
45517
  return {
@@ -47677,7 +47750,7 @@ async function preflightDiscordMessage(params) {
47677
47750
  let preflightTranscript;
47678
47751
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47679
47752
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47680
- const { transcribeFirstAudio } = await import("./audio-preflight-BiAp3Hvj.js");
47753
+ const { transcribeFirstAudio } = await import("./audio-preflight-k4jOy8Bo.js");
47681
47754
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47682
47755
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47683
47756
  ctx: {
@@ -51683,27 +51756,27 @@ function isVoiceChannelType(type) {
51683
51756
  function createDefaultDeps() {
51684
51757
  return {
51685
51758
  sendMessageWhatsApp: async (...args) => {
51686
- const { sendMessageWhatsApp } = await import("./web-mXHyxR_l.js");
51759
+ const { sendMessageWhatsApp } = await import("./web-BS91XHKA.js");
51687
51760
  return await sendMessageWhatsApp(...args);
51688
51761
  },
51689
51762
  sendMessageTelegram: async (...args) => {
51690
- const { sendMessageTelegram } = await import("./send-CltKx_vS.js").then((n) => n.l);
51763
+ const { sendMessageTelegram } = await import("./send-C8ohJBK5.js").then((n) => n.l);
51691
51764
  return await sendMessageTelegram(...args);
51692
51765
  },
51693
51766
  sendMessageDiscord: async (...args) => {
51694
- const { sendMessageDiscord } = await import("./send-BbV4XqMl.js").then((n) => n.t);
51767
+ const { sendMessageDiscord } = await import("./send-Bv-112XA.js").then((n) => n.t);
51695
51768
  return await sendMessageDiscord(...args);
51696
51769
  },
51697
51770
  sendMessageSlack: async (...args) => {
51698
- const { sendMessageSlack } = await import("./send-CZ18Xq5n.js").then((n) => n.n);
51771
+ const { sendMessageSlack } = await import("./send-BVRNZ9hM.js").then((n) => n.n);
51699
51772
  return await sendMessageSlack(...args);
51700
51773
  },
51701
51774
  sendMessageSignal: async (...args) => {
51702
- const { sendMessageSignal } = await import("./send-DVLEgg9H.js").then((n) => n.i);
51775
+ const { sendMessageSignal } = await import("./send-DPKghOxz.js").then((n) => n.i);
51703
51776
  return await sendMessageSignal(...args);
51704
51777
  },
51705
51778
  sendMessageIMessage: async (...args) => {
51706
- const { sendMessageIMessage } = await import("./send-Dm4UYQsf.js").then((n) => n.n);
51779
+ const { sendMessageIMessage } = await import("./send-Bj2SQQVP.js").then((n) => n.n);
51707
51780
  return await sendMessageIMessage(...args);
51708
51781
  }
51709
51782
  };
@@ -62129,7 +62202,7 @@ function readSlackExternalArgMenuToken(raw) {
62129
62202
  }
62130
62203
  let commandsRegistry;
62131
62204
  async function getCommandsRegistry() {
62132
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-Copoizgv.js").then((n) => n.n);
62205
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DN93gKlx.js").then((n) => n.n);
62133
62206
  return commandsRegistry;
62134
62207
  }
62135
62208
  function encodeSlackCommandArgValue(parts) {
@@ -62532,7 +62605,7 @@ async function registerSlackMonitorSlashCommands(params) {
62532
62605
  });
62533
62606
  const deliverSlashPayloads = async (replies) => {
62534
62607
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
62535
- import("./replies-Dzc6eCFS.js").then((n) => n.r),
62608
+ import("./replies-UxER0fi1.js").then((n) => n.r),
62536
62609
  import("./chunk-DTMTDXwE.js").then((n) => n.s),
62537
62610
  import("./markdown-tables-DawaaZEe.js").then((n) => n.t)
62538
62611
  ]);
@@ -62587,7 +62660,7 @@ async function registerSlackMonitorSlashCommands(params) {
62587
62660
  let nativeCommands = [];
62588
62661
  if (nativeEnabled) {
62589
62662
  reg = await getCommandsRegistry();
62590
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DWcJOIzP.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62663
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C_ZNSYNS.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62591
62664
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
62592
62665
  skillCommands,
62593
62666
  provider: "slack"
@@ -64805,7 +64878,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64805
64878
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64806
64879
  let preflightTranscript;
64807
64880
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64808
- const { transcribeFirstAudio } = await import("./audio-preflight-BiAp3Hvj.js");
64881
+ const { transcribeFirstAudio } = await import("./audio-preflight-k4jOy8Bo.js");
64809
64882
  preflightTranscript = await transcribeFirstAudio({
64810
64883
  ctx: {
64811
64884
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -66950,23 +67023,23 @@ let webLoginQrPromise = null;
66950
67023
  let webChannelPromise = null;
66951
67024
  let whatsappActionsPromise = null;
66952
67025
  function loadWebOutbound() {
66953
- webOutboundPromise ??= import("./outbound-DRslTBga.js").then((n) => n.t);
67026
+ webOutboundPromise ??= import("./outbound-BEumB8qs.js").then((n) => n.t);
66954
67027
  return webOutboundPromise;
66955
67028
  }
66956
67029
  function loadWebLogin() {
66957
- webLoginPromise ??= import("./login-_Ynqrjet.js").then((n) => n.n);
67030
+ webLoginPromise ??= import("./login-J-hL4MZQ.js").then((n) => n.n);
66958
67031
  return webLoginPromise;
66959
67032
  }
66960
67033
  function loadWebLoginQr() {
66961
- webLoginQrPromise ??= import("./login-qr-E4YwhoPt.js");
67034
+ webLoginQrPromise ??= import("./login-qr-CADWVR1b.js");
66962
67035
  return webLoginQrPromise;
66963
67036
  }
66964
67037
  function loadWebChannel() {
66965
- webChannelPromise ??= import("./web-mXHyxR_l.js");
67038
+ webChannelPromise ??= import("./web-BS91XHKA.js");
66966
67039
  return webChannelPromise;
66967
67040
  }
66968
67041
  function loadWhatsAppActions() {
66969
- whatsappActionsPromise ??= import("./whatsapp-actions-6S6PNs2p.js");
67042
+ whatsappActionsPromise ??= import("./whatsapp-actions-DAFOi466.js");
66970
67043
  return whatsappActionsPromise;
66971
67044
  }
66972
67045
  function createPluginRuntime() {
@@ -72274,7 +72347,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72274
72347
  config: params.config
72275
72348
  });
72276
72349
  const isDefaultAgent = sessionAgentId === defaultAgentId;
72277
- const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
72350
+ const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
72278
72351
  const docsPath = await resolveSymiDocsPath({
72279
72352
  workspaceDir: effectiveWorkspace,
72280
72353
  argv1: process.argv[1],
@@ -72514,6 +72587,9 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
72514
72587
  const streamParams = {};
72515
72588
  if (typeof extraParams.temperature === "number") streamParams.temperature = extraParams.temperature;
72516
72589
  if (typeof extraParams.maxTokens === "number") streamParams.maxTokens = extraParams.maxTokens;
72590
+ if (typeof extraParams.top_p === "number") streamParams.top_p = extraParams.top_p;
72591
+ if (typeof extraParams.top_k === "number") streamParams.top_k = extraParams.top_k;
72592
+ if (typeof extraParams.repeat_penalty === "number") streamParams.repeat_penalty = extraParams.repeat_penalty;
72517
72593
  const cacheRetention = resolveCacheRetention(extraParams, provider);
72518
72594
  if (cacheRetention) streamParams.cacheRetention = cacheRetention;
72519
72595
  if (Object.keys(streamParams).length === 0) return;
@@ -75794,7 +75870,7 @@ async function runEmbeddedAttempt(params) {
75794
75870
  }
75795
75871
  });
75796
75872
  const isDefaultAgent = sessionAgentId === defaultAgentId;
75797
- const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
75873
+ const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
75798
75874
  const docsPath = await resolveSymiDocsPath({
75799
75875
  workspaceDir: effectiveWorkspace,
75800
75876
  argv1: process.argv[1],
@@ -76809,6 +76885,7 @@ async function runEmbeddedPiAgent(params) {
76809
76885
  let lastRunPromptUsage;
76810
76886
  let autoCompactionCount = 0;
76811
76887
  let runLoopIterations = 0;
76888
+ let verificationPassCompleted = false;
76812
76889
  try {
76813
76890
  while (true) {
76814
76891
  if (runLoopIterations >= MAX_RUN_LOOP_ITERATIONS) {
@@ -77178,6 +77255,116 @@ async function runEmbeddedPiAgent(params) {
77178
77255
  suppressToolErrorWarnings: params.suppressToolErrorWarnings,
77179
77256
  inlineToolResultsAllowed: false
77180
77257
  });
77258
+ if (!verificationPassCompleted && !aborted && !timedOut && !promptError && payloads.length > 0 && !isCronSessionKey(params.sessionKey) && !isSubagentSessionKey(params.sessionKey)) {
77259
+ const CODE_TOOL_NAMES = new Set([
77260
+ "exec",
77261
+ "bash",
77262
+ "write",
77263
+ "edit",
77264
+ "file_write",
77265
+ "file_edit",
77266
+ "write_file",
77267
+ "edit_file",
77268
+ "create_file",
77269
+ "patch"
77270
+ ]);
77271
+ const hasCodeToolUsage = attempt.toolMetas.some((tm) => CODE_TOOL_NAMES.has(tm.toolName.toLowerCase()));
77272
+ const hasCodeBlocks = attempt.assistantTexts.some((text) => /```[\s\S]*?```/.test(text));
77273
+ if (hasCodeToolUsage || hasCodeBlocks) {
77274
+ verificationPassCompleted = true;
77275
+ log$2.debug(`[verification] starting verification pass: runId=${params.runId} sessionId=${params.sessionId} trigger=${hasCodeToolUsage ? "tool_usage" : "code_blocks"}`);
77276
+ 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.";
77277
+ try {
77278
+ const verifyAttempt = await runEmbeddedAttempt({
77279
+ sessionId: params.sessionId,
77280
+ sessionKey: params.sessionKey,
77281
+ messageChannel: params.messageChannel,
77282
+ messageProvider: params.messageProvider,
77283
+ agentAccountId: params.agentAccountId,
77284
+ messageTo: params.messageTo,
77285
+ messageThreadId: params.messageThreadId,
77286
+ groupId: params.groupId,
77287
+ groupChannel: params.groupChannel,
77288
+ groupSpace: params.groupSpace,
77289
+ spawnedBy: params.spawnedBy,
77290
+ senderIsOwner: params.senderIsOwner,
77291
+ currentChannelId: params.currentChannelId,
77292
+ currentThreadTs: params.currentThreadTs,
77293
+ replyToMode: params.replyToMode,
77294
+ hasRepliedRef: params.hasRepliedRef,
77295
+ sessionFile: params.sessionFile,
77296
+ workspaceDir: resolvedWorkspace,
77297
+ agentDir,
77298
+ config: params.config,
77299
+ skillsSnapshot: params.skillsSnapshot,
77300
+ prompt: verificationPrompt,
77301
+ images: void 0,
77302
+ disableTools: params.disableTools,
77303
+ provider,
77304
+ modelId,
77305
+ model,
77306
+ authStorage,
77307
+ modelRegistry,
77308
+ agentId: workspaceResolution.agentId,
77309
+ thinkLevel,
77310
+ verboseLevel: params.verboseLevel,
77311
+ reasoningLevel: params.reasoningLevel,
77312
+ toolResultFormat: resolvedToolResultFormat,
77313
+ execOverrides: params.execOverrides,
77314
+ bashElevated: params.bashElevated,
77315
+ timeoutMs: params.timeoutMs,
77316
+ runId: params.runId,
77317
+ abortSignal: params.abortSignal,
77318
+ shouldEmitToolResult: params.shouldEmitToolResult,
77319
+ shouldEmitToolOutput: params.shouldEmitToolOutput,
77320
+ onPartialReply: params.onPartialReply,
77321
+ onAssistantMessageStart: params.onAssistantMessageStart,
77322
+ onBlockReply: params.onBlockReply,
77323
+ onBlockReplyFlush: params.onBlockReplyFlush,
77324
+ blockReplyBreak: params.blockReplyBreak,
77325
+ blockReplyChunking: params.blockReplyChunking,
77326
+ onReasoningStream: params.onReasoningStream,
77327
+ onReasoningEnd: params.onReasoningEnd,
77328
+ onToolResult: params.onToolResult,
77329
+ onAgentEvent: params.onAgentEvent,
77330
+ extraSystemPrompt: params.extraSystemPrompt,
77331
+ inputProvenance: params.inputProvenance,
77332
+ streamParams: params.streamParams,
77333
+ ownerNumbers: params.ownerNumbers,
77334
+ enforceFinalTag: params.enforceFinalTag
77335
+ });
77336
+ const verifyUsage = normalizeUsage(verifyAttempt.lastAssistant?.usage);
77337
+ mergeUsageIntoAccumulator(usageAccumulator, verifyAttempt.attemptUsage ?? verifyUsage);
77338
+ if (verifyAttempt.compactionCount) autoCompactionCount += verifyAttempt.compactionCount;
77339
+ const verifyHasToolUsage = verifyAttempt.toolMetas.length > 0;
77340
+ const verifyHasContent = verifyAttempt.assistantTexts.some((t) => t.trim().length > 0);
77341
+ if (verifyHasToolUsage || verifyHasContent) {
77342
+ const verifyPayloads = buildEmbeddedRunPayloads({
77343
+ assistantTexts: [...attempt.assistantTexts, ...verifyAttempt.assistantTexts],
77344
+ toolMetas: [...attempt.toolMetas, ...verifyAttempt.toolMetas],
77345
+ lastAssistant: verifyAttempt.lastAssistant ?? attempt.lastAssistant,
77346
+ lastToolError: verifyAttempt.lastToolError ?? attempt.lastToolError,
77347
+ config: params.config,
77348
+ sessionKey: params.sessionKey ?? params.sessionId,
77349
+ provider: activeErrorContext.provider,
77350
+ model: activeErrorContext.model,
77351
+ verboseLevel: params.verboseLevel,
77352
+ reasoningLevel: params.reasoningLevel,
77353
+ toolResultFormat: resolvedToolResultFormat,
77354
+ suppressToolErrorWarnings: params.suppressToolErrorWarnings,
77355
+ inlineToolResultsAllowed: false
77356
+ });
77357
+ if (verifyPayloads.length > 0) {
77358
+ payloads.length = 0;
77359
+ payloads.push(...verifyPayloads);
77360
+ }
77361
+ log$2.debug(`[verification] verification produced corrections: runId=${params.runId} tools=${verifyAttempt.toolMetas.length} texts=${verifyAttempt.assistantTexts.length}`);
77362
+ } else log$2.debug(`[verification] verification confirmed original response: runId=${params.runId}`);
77363
+ } catch (verifyErr) {
77364
+ log$2.warn(`[verification] verification pass failed, keeping original response: runId=${params.runId} error=${String(verifyErr)}`);
77365
+ }
77366
+ }
77367
+ }
77181
77368
  if (timedOut && !timedOutDuringCompaction && payloads.length === 0) return {
77182
77369
  payloads: [{
77183
77370
  text: "Request timed out before a response was generated. Please try again, or increase `agents.defaults.timeoutSeconds` in your config.",