@symerian/symi 2.0.17 → 2.0.19

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 (352) hide show
  1. package/dist/{acp-cli-SgZGC8og.js → acp-cli-bbOWOXnN.js} +3 -3
  2. package/dist/{acp-cli-DqQjT50N.js → acp-cli-sXld4yJl.js} +3 -3
  3. package/dist/{agents-C4_0TzXm.js → agents-CENGwpKH.js} +8 -8
  4. package/dist/{agents.config-Bneyaqn6.js → agents.config-CgNflQtq.js} +1 -1
  5. package/dist/{agents.config-D9Ufj9CE.js → agents.config-WhJPXBWO.js} +1 -1
  6. package/dist/{api-key-rotation-BukD0zzl.js → api-key-rotation-De1ivBc0.js} +1 -1
  7. package/dist/{audio-preflight-BiAp3Hvj.js → audio-preflight-BxuYnm6k.js} +7 -7
  8. package/dist/{audio-preflight-Cpsd8C3J.js → audio-preflight-DCHBMKWE.js} +13 -13
  9. package/dist/{audio-preflight-mSUx5I34.js → audio-preflight-Djedh6Uc.js} +7 -7
  10. package/dist/{audio-preflight-5w1q1hWh.js → audio-preflight-USnUISOE.js} +13 -13
  11. package/dist/{audit-BCHYqYge.js → audit-DpqAVLn7.js} +7 -7
  12. package/dist/{audit-FH7mu_3g.js → audit-Dxa-KhrA.js} +7 -7
  13. package/dist/{auth-choice-B8qrETy7.js → auth-choice-BdZAR0l8.js} +7 -7
  14. package/dist/{auth-choice-5u4JonD1.js → auth-choice-upc_PcJy.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-BE8pGhkj.js} +1 -1
  19. package/dist/{browser-cli-Cmyh_mQi.js → browser-cli-8URbjVyN.js} +4 -4
  20. package/dist/{browser-cli-n1RQ8OQs.js → browser-cli-DQ0DQymk.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-B-p451Eo.js} +1 -1
  25. package/dist/{call-C30ffTSt.js → call-Cspuh_Jh.js} +1 -1
  26. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  27. package/dist/{channel-options-BBDX9s3H.js → channel-options-BPQpyMzn.js} +1 -1
  28. package/dist/{channel-options-CxOu5Gvn.js → channel-options-DEmvgalQ.js} +1 -1
  29. package/dist/{channel-web-DxSaM7GA.js → channel-web-Djcjl6S4.js} +8 -8
  30. package/dist/{channels-cli-CvtvmTOx.js → channels-cli-Cps6htRW.js} +39 -39
  31. package/dist/{channels-cli-CB6lWL72.js → channels-cli-Dn9ahV_w.js} +38 -38
  32. package/dist/{chrome-1cQdPKbv.js → chrome-BUUMKYz7.js} +8 -8
  33. package/dist/{chrome-CPwj5x24.js → chrome-Chj8uCZN.js} +1 -1
  34. package/dist/{chrome-DPu6LSX4.js → chrome-DGb_CkF8.js} +8 -8
  35. package/dist/{chrome-CUsfMVUk.js → chrome-XQjc7KSW.js} +1 -1
  36. package/dist/cli/daemon-cli.js +1 -1
  37. package/dist/{cli-CU_pJKCD.js → cli-Df__rsHc.js} +33 -33
  38. package/dist/{cli-cDOiHmL7.js → cli-atR7r3t-.js} +34 -34
  39. package/dist/{command-registry-D1zcgjTn.js → command-registry-Yv0ZBYYd.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-C8TsFimX.js → completion-cli-BCDS6oHd.js} +2 -2
  45. package/dist/{completion-cli-DWcx6gc6.js → completion-cli-Bw-2RaGe.js} +1 -1
  46. package/dist/{config-BLe0R4JX.js → config-BMStjqdp.js} +5 -2
  47. package/dist/{config-CvuX_y8t.js → config-Bh5BJYfZ.js} +5 -2
  48. package/dist/{config-ClXqj_D1.js → config-Crs8V2FU.js} +5 -2
  49. package/dist/{config-DehS9e5w.js → config-CxnbOYs8.js} +5 -2
  50. package/dist/{config-cli-DcjOWFbW.js → config-cli-BK-o9KUV.js} +3 -3
  51. package/dist/{config-cli-CEp26CMt.js → config-cli-CQJtnjeK.js} +3 -3
  52. package/dist/{config-guard-CGgFpviD.js → config-guard-CNwpT-bm.js} +5 -5
  53. package/dist/{config-guard-Ix_EcPkt.js → config-guard-DvNDqIJp.js} +2 -2
  54. package/dist/{config-validation-Ct_myZSl.js → config-validation-D0ku5PSk.js} +1 -1
  55. package/dist/{config-validation-BQnULegl.js → config-validation-g8v4CRxO.js} +1 -1
  56. package/dist/{configure-DbqI2Bgi.js → configure-D1fWVt_Z.js} +11 -11
  57. package/dist/{configure-B3aYKtwN.js → configure-D6i9bdDN.js} +11 -11
  58. package/dist/{control-service-CZ8lXYgi.js → control-service-B7EmYYFH.js} +4 -4
  59. package/dist/{control-service-DI1Do6Nn.js → control-service-BwrQoUMh.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-D-nqfPZ5.js} +4 -4
  63. package/dist/{cron-cli-BH6kt3EZ.js → cron-cli-D9nGEQiu.js} +4 -4
  64. package/dist/{daemon-cli-BuOGkn7L.js → daemon-cli-DJR87xEg.js} +6 -6
  65. package/dist/{daemon-cli-CweZn-1O.js → daemon-cli-l5oXLo3n.js} +6 -6
  66. package/dist/daemon-cli.js +4 -1
  67. package/dist/{daemon-runtime-D1K-9VEC.js → daemon-runtime-BkVgNwLi.js} +1 -1
  68. package/dist/{daemon-runtime-C1t_OfMD.js → daemon-runtime-D4sIbUkl.js} +1 -1
  69. package/dist/{deliver-D8xILUUI.js → deliver-8_lPbrcf.js} +2 -2
  70. package/dist/{deliver-CIc_l0o6.js → deliver-8jOk1f3v.js} +3 -3
  71. package/dist/{deliver-DqqfC-g1.js → deliver-C0Azi_cK.js} +3 -3
  72. package/dist/{deliver-BorDF5OG.js → deliver-mS1WnuiB.js} +2 -2
  73. package/dist/{devices-cli-BE5ZzcA7.js → devices-cli-CaK3Ausk.js} +3 -3
  74. package/dist/{devices-cli-BUdOf8m2.js → devices-cli-V6vhbLKq.js} +3 -3
  75. package/dist/{directory-cli-BBdctcDF.js → directory-cli-BmNzLgXc.js} +2 -2
  76. package/dist/{directory-cli-DQHIn9um.js → directory-cli-Cd9lchia.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-BEOWeAGR.js} +2 -2
  80. package/dist/{dns-cli-6H_E37de.js → dns-cli-mH-jPqkH.js} +2 -2
  81. package/dist/{doctor-completion-CAdewURI.js → doctor-completion-CCRu96-k.js} +1 -1
  82. package/dist/{doctor-completion-CXUM27y3.js → doctor-completion-DblWjsvi.js} +1 -1
  83. package/dist/{doctor-config-flow-CthAM9my.js → doctor-config-flow-Dd6-lC3V.js} +3 -3
  84. package/dist/{doctor-config-flow-BWD9G2UQ.js → doctor-config-flow-Dpnvu5A2.js} +3 -3
  85. package/dist/entry.js +1 -1
  86. package/dist/{exec-approvals-cli-CjU3pZzx.js → exec-approvals-cli-Dlf9s8ne.js} +5 -5
  87. package/dist/{exec-approvals-cli-CYKHeoEA.js → exec-approvals-cli-lDvry8Xq.js} +5 -5
  88. package/dist/extensionAPI.js +18 -18
  89. package/dist/{gateway-cli-n-kmAuP8.js → gateway-cli-B7kUZfUu.js} +51 -51
  90. package/dist/{gateway-cli-Bs96hk7L.js → gateway-cli-CaelVnat.js} +52 -52
  91. package/dist/{gateway-rpc-CTqBFfgd.js → gateway-rpc-CCYQR5Bz.js} +1 -1
  92. package/dist/{gateway-rpc-0C2uJScX.js → gateway-rpc-aJiLRbJG.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-mIHlWvBv.js → glass-ui-ws-CMCfE_8I.js} +42 -42
  97. package/dist/{glass-ui-ws-DFYRIWTO.js → glass-ui-ws-CzHgG5_-.js} +43 -43
  98. package/dist/{health-gsbXEgFI.js → health-C8krNwSF.js} +5 -5
  99. package/dist/{health-CpbZDInE.js → health-CiMUQ2KG.js} +5 -5
  100. package/dist/{hooks-cli-iVG6fkFc.js → hooks-cli-C8fq5oKx.js} +34 -34
  101. package/dist/{hooks-cli-SJWnM2SY.js → hooks-cli-CYHfc5jB.js} +35 -35
  102. package/dist/{image-DrkD-6sg.js → image-BTLvoV0e.js} +3 -3
  103. package/dist/{image-DIzd7Gw9.js → image-CNYGLoQl.js} +3 -3
  104. package/dist/{image-GHA29jwQ.js → image-DCnQz5jN.js} +3 -3
  105. package/dist/{image-DWOvY8sR.js → image-bJzFwVE3.js} +3 -3
  106. package/dist/index.js +42 -42
  107. package/dist/{lifecycle-core-CPLYFbS4.js → lifecycle-core-C7fyJOuN.js} +2 -2
  108. package/dist/{lifecycle-core-CE8aXuLe.js → lifecycle-core-f8oPRRaQ.js} +2 -2
  109. package/dist/llm-slug-generator.js +18 -18
  110. package/dist/{login-BcCF4noU.js → login-BZsZO9ST.js} +2 -2
  111. package/dist/{login-_Ynqrjet.js → login-C2C1yAD8.js} +2 -2
  112. package/dist/{login-DNeGXcjV.js → login-CJf4Gdbq.js} +2 -2
  113. package/dist/{login-C5eMLg1G.js → login-DTkUG4Mp.js} +2 -2
  114. package/dist/{login-qr-DjXNemMm.js → login-qr-BSm4xrHW.js} +3 -3
  115. package/dist/{login-qr-E4YwhoPt.js → login-qr-C4uL0W0C.js} +3 -3
  116. package/dist/{login-qr-CzD7_Pru.js → login-qr-CBPis3I2.js} +3 -3
  117. package/dist/{login-qr-CYEYc0Vo.js → login-qr-rvsxQT5p.js} +3 -3
  118. package/dist/{logs-cli-CIQ4qmRW.js → logs-cli-9__MsacS.js} +4 -4
  119. package/dist/{logs-cli-BLp5AOM0.js → logs-cli-DJJ4_QXv.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-D5iikkSG.js} +5 -5
  125. package/dist/{memory-cli-BUoM-v1-.js → memory-cli-OWL3A7_N.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-Dq60dweH.js} +4 -4
  130. package/dist/{model-catalog-DZbVIJnH.js → model-catalog-jhBOlBYp.js} +4 -4
  131. package/dist/{model-picker-BJBeaNrK.js → model-picker-Bsyh5aNH.js} +3 -3
  132. package/dist/{model-picker-DUl7Gvdh.js → model-picker-C1U-Jt0h.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-Cyr_kMKD.js} +14 -14
  136. package/dist/{models-cli-DEQCqsfo.js → models-cli-Ds0-bgOC.js} +39 -39
  137. package/dist/{models-cli-CB2zHB3Q.js → models-cli-H_wXDrQs.js} +40 -40
  138. package/dist/{models-config-DT09Fas0.js → models-config-CjPV5JrE.js} +2 -2
  139. package/dist/{models-config-BH6-rmtt.js → models-config-vcoi9QfD.js} +2 -2
  140. package/dist/{node-cli-BnZT8tc-.js → node-cli-B9nJomOA.js} +10 -10
  141. package/dist/{node-cli-znp1IPL2.js → node-cli-DHVafAR8.js} +10 -10
  142. package/dist/{nodes-cli-C8L5ablK.js → nodes-cli-CyVFmnaa.js} +4 -4
  143. package/dist/{nodes-cli-D3bHqKX1.js → nodes-cli-fvPbfbB4.js} +4 -4
  144. package/dist/{onboard-Dz7lPFv1.js → onboard-B-lQ356l.js} +10 -10
  145. package/dist/{onboard-B725u5vG.js → onboard-BSMzd6sG.js} +10 -10
  146. package/dist/{onboard-channels-DjG2jZUq.js → onboard-channels-C_p8450m.js} +2 -2
  147. package/dist/{onboard-channels-DPb8R8S3.js → onboard-channels-CfoFMyCh.js} +2 -2
  148. package/dist/{onboard-custom-CFqoXgjd.js → onboard-custom-CpKrCcyH.js} +3 -3
  149. package/dist/{onboard-custom-in5WChfX.js → onboard-custom-DsPk-82B.js} +3 -3
  150. package/dist/{onboard-helpers-BmDQMRZ7.js → onboard-helpers-C9emwuya.js} +2 -2
  151. package/dist/{onboard-helpers-_sSsfEAa.js → onboard-helpers-DIAvDwi8.js} +2 -2
  152. package/dist/{onboard-remote-BeAAhzmD.js → onboard-remote-CJrAdmgq.js} +1 -1
  153. package/dist/{onboard-remote-CBEIs-Ew.js → onboard-remote-DQu1ERap.js} +1 -1
  154. package/dist/{onboard-skills-EVFmwR8Q.js → onboard-skills-BC-T_r3T.js} +2 -2
  155. package/dist/{onboard-skills-Bx_OM5v0.js → onboard-skills-CtX6zH5x.js} +2 -2
  156. package/dist/{onboarding-D-FQIiBn.js → onboarding-CCO17f35.js} +11 -11
  157. package/dist/{onboarding-qxWeXuGM.js → onboarding-CEg1sg-w.js} +11 -11
  158. package/dist/{onboarding.finalize-D_gWQwW0.js → onboarding.finalize-B0eG7XwQ.js} +39 -39
  159. package/dist/{onboarding.finalize-DJTQnGkJ.js → onboarding.finalize-CD7SmwyJ.js} +41 -41
  160. package/dist/{onboarding.gateway-config-r7VeJWM7.js → onboarding.gateway-config-Cr1fFG05.js} +5 -5
  161. package/dist/{onboarding.gateway-config-Boplq1Mn.js → onboarding.gateway-config-GDMTEWcW.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-DRslTBga.js → outbound-DXyOHKUR.js} +1 -1
  165. package/dist/{outbound-DPCAcHLQ.js → outbound-DYyGKxSZ.js} +1 -1
  166. package/dist/{outbound-yaYfpPTu.js → outbound-Qgo51Q1x.js} +1 -1
  167. package/dist/{outbound-B_cf2WkB.js → outbound-btxNyARe.js} +1 -1
  168. package/dist/{pairing-cli-DOMZSDiT.js → pairing-cli-DC6MUFHZ.js} +4 -4
  169. package/dist/{pairing-cli-DFgfVeeY.js → pairing-cli-m3BrxJoY.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-Do26xypW.js → pi-auth-json-Ba2dEWAH.js} +2 -2
  176. package/dist/{pi-auth-json-DV2ruNQM.js → pi-auth-json-BqB9Z6Gg.js} +1 -1
  177. package/dist/{pi-auth-json-CNgAAznq.js → pi-auth-json-etIDtHw9.js} +1 -1
  178. package/dist/{pi-embedded-BINp4yHJ.js → pi-embedded-BR587DfN.js} +266 -70
  179. package/dist/{pi-embedded-C6BUGEuF.js → pi-embedded-CyEM9NzS.js} +266 -70
  180. package/dist/{pi-embedded-helpers-jynCNZsb.js → pi-embedded-helpers-BflbNBBD.js} +1 -1
  181. package/dist/{pi-embedded-helpers-BDwdFGX-.js → pi-embedded-helpers-CAtkZb8c.js} +6 -6
  182. package/dist/{pi-embedded-helpers-Dfp-iKzJ.js → pi-embedded-helpers-KIM5SCp6.js} +6 -6
  183. package/dist/{pi-embedded-helpers-Cs0TgOaH.js → pi-embedded-helpers-XJw27Ryb.js} +1 -1
  184. package/dist/{pi-tools.policy-eb_uvOQV.js → pi-tools.policy-BJ7mumw5.js} +2 -2
  185. package/dist/{pi-tools.policy-vws0LV7U.js → pi-tools.policy-P1akpJL8.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-CAuOLe4u.js} +2 -2
  189. package/dist/{plugin-registry-D1cKRWYQ.js → plugin-registry-gJKyJBN5.js} +2 -2
  190. package/dist/plugin-sdk/agents/plan-mode.d.ts +2 -1
  191. package/dist/plugin-sdk/agents/synthetic-models.d.ts +1 -1
  192. package/dist/plugin-sdk/agents/system-prompt.d.ts +2 -1
  193. package/dist/plugin-sdk/agents/timeout.d.ts +1 -0
  194. package/dist/plugin-sdk/{api-key-rotation-Qy7QGV8_.js → api-key-rotation-DNKq8sDG.js} +1 -1
  195. package/dist/plugin-sdk/{audio-preflight-CdG1OBN2.js → audio-preflight-BLIDrYdM.js} +7 -7
  196. package/dist/plugin-sdk/{channel-web-DFVIpsZB.js → channel-web-CmlTJ7hK.js} +7 -7
  197. package/dist/plugin-sdk/{chrome-XyjVFCkY.js → chrome-DZFDAzW-.js} +1 -1
  198. package/dist/plugin-sdk/{commands-registry-CvppXodz.js → commands-registry-un-LmdXo.js} +1 -1
  199. package/dist/plugin-sdk/config/types.agent-defaults.d.ts +6 -0
  200. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +3 -0
  201. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +3 -0
  202. package/dist/plugin-sdk/config/zod-schema.d.ts +3 -0
  203. package/dist/plugin-sdk/{config-DG32gDDp.js → config-E1hS2lFY.js} +5 -2
  204. package/dist/plugin-sdk/{deliver-BdbnTrPD.js → deliver-DedoujTw.js} +2 -2
  205. package/dist/plugin-sdk/{image-B4_TBNqR.js → image-BTkmcfWM.js} +3 -3
  206. package/dist/plugin-sdk/index.js +22 -22
  207. package/dist/plugin-sdk/{login-Dey5tDpn.js → login-DsV1n99g.js} +2 -2
  208. package/dist/plugin-sdk/{login-qr-Tx8z1frn.js → login-qr-BXuSdbtI.js} +3 -3
  209. package/dist/plugin-sdk/{manager-RdPsBbBU.js → manager-BItSTruD.js} +2 -2
  210. package/dist/plugin-sdk/{model-selection-D6J2MZsj.js → model-selection-aEd_4vFO.js} +6 -2
  211. package/dist/plugin-sdk/{outbound-BpzsDbEV.js → outbound-2GErJr9p.js} +1 -1
  212. package/dist/plugin-sdk/{pi-auth-json-BmWuNdJA.js → pi-auth-json-FyiScmI7.js} +1 -1
  213. package/dist/plugin-sdk/{pi-embedded-helpers-OWtoPEg8.js → pi-embedded-helpers-ClMAnIcK.js} +6 -6
  214. package/dist/plugin-sdk/{pw-ai-OhVopvbb.js → pw-ai-DgQXeoga.js} +3 -3
  215. package/dist/plugin-sdk/{replies-DiFTMGgM.js → replies-DgHmcQJm.js} +1 -1
  216. package/dist/plugin-sdk/{reply-v8ed4JLy.js → reply-ByXRSx6U.js} +262 -66
  217. package/dist/plugin-sdk/{runner-BUXsfUip.js → runner-BZyapZ82.js} +5 -5
  218. package/dist/plugin-sdk/{send-CGSsrvd1.js → send-BRY1rgHy.js} +2 -2
  219. package/dist/plugin-sdk/{send-BXvJJUV_.js → send-BeLrD_W8.js} +1 -1
  220. package/dist/plugin-sdk/{send-BbFwAS_k.js → send-BmtFyMcr.js} +1 -1
  221. package/dist/plugin-sdk/{send-Drdgnfr_.js → send-BnQuSlC7.js} +1 -1
  222. package/dist/plugin-sdk/{send-DXcq1jzH.js → send-pZOlfgD0.js} +1 -1
  223. package/dist/plugin-sdk/{session-CX5KhlOe.js → session-Bjd4Dl7q.js} +1 -1
  224. package/dist/plugin-sdk/{skill-commands-NTPqO_az.js → skill-commands-Cwps3qpb.js} +1 -1
  225. package/dist/plugin-sdk/{web-DfIRv_Mx.js → web-C0VbV0vu.js} +22 -22
  226. package/dist/plugin-sdk/{whatsapp-actions-Dh6Y2fu9.js → whatsapp-actions-ydkRfuPg.js} +3 -3
  227. package/dist/{plugins-cli-ClY_BPg9.js → plugins-cli-BgXKqvpz.js} +34 -34
  228. package/dist/{plugins-cli-UmtKEuxj.js → plugins-cli-wo480wui.js} +35 -35
  229. package/dist/{program-CNsuYlJt.js → program-Ce64EM2F.js} +41 -41
  230. package/dist/{program-context-C2XeNCxI.js → program-context-D1Aj6Hxo.js} +38 -38
  231. package/dist/{prompt-select-styled-CiYSpQIf.js → prompt-select-styled-DLBGvEup.js} +17 -17
  232. package/dist/{prompt-select-styled-CgsYQqlJ.js → prompt-select-styled-DWgtQk76.js} +17 -17
  233. package/dist/{provider-auth-helpers-XIYHuUnj.js → provider-auth-helpers-CVi3VrsV.js} +4 -4
  234. package/dist/{provider-auth-helpers-CVAbJckC.js → provider-auth-helpers-fgQMn0eD.js} +4 -4
  235. package/dist/{push-apns-9q7Pl5I0.js → push-apns-CckLJBvV.js} +1 -1
  236. package/dist/{push-apns-6y-7OuAU.js → push-apns-kn7d-4VV.js} +1 -1
  237. package/dist/{pw-ai-C9noP7iN.js → pw-ai-5o71PJ5h.js} +3 -3
  238. package/dist/{pw-ai-BdNmRxEw.js → pw-ai-C3t2kdhc.js} +3 -3
  239. package/dist/{pw-ai-BfUWg8Eh.js → pw-ai-D-O0LOKC.js} +3 -3
  240. package/dist/{pw-ai-Dnh_iopr.js → pw-ai-I8AbpqgG.js} +3 -3
  241. package/dist/{qr-cli-BbRZOhwI.js → qr-cli-DC0qgjHf.js} +2 -2
  242. package/dist/{qr-cli-Cac34dCs.js → qr-cli-iTQlujHe.js} +2 -2
  243. package/dist/{register.agent-Ys85zXmm.js → register.agent-B94MeV3Q.js} +43 -43
  244. package/dist/{register.agent-DmLJVv4N.js → register.agent-uEXUpxgu.js} +45 -45
  245. package/dist/{register.configure-DYuK1UkU.js → register.configure-Bv85zqz8.js} +48 -48
  246. package/dist/{register.configure-BwmAY5TF.js → register.configure-tHkhp6vI.js} +47 -47
  247. package/dist/{register.maintenance-BQa25CA8.js → register.maintenance-BICJkK4r.js} +46 -46
  248. package/dist/{register.maintenance-625En1kE.js → register.maintenance-DaW01sHo.js} +44 -44
  249. package/dist/{register.message-DKeM6mQo.js → register.message-7Or0MY88.js} +34 -34
  250. package/dist/{register.message-CDpK3rbI.js → register.message-CSCfumTM.js} +35 -35
  251. package/dist/{register.onboard-CbvkWFq5.js → register.onboard-DgC3S144.js} +42 -42
  252. package/dist/{register.onboard-DtMjj81J.js → register.onboard-oEy-BwfU.js} +43 -43
  253. package/dist/{register.setup-DdX4Ahvt.js → register.setup-BnpJJOV4.js} +42 -42
  254. package/dist/{register.setup-BHhLns2f.js → register.setup-hrp8DAVZ.js} +43 -43
  255. package/dist/{register.status-health-sessions-D1KvwnF9.js → register.status-health-sessions-BfLJEzMU.js} +38 -38
  256. package/dist/{register.status-health-sessions-CqMFel_o.js → register.status-health-sessions-njnukBAU.js} +40 -40
  257. package/dist/{register.subclis-su5EMHvC.js → register.subclis-DEYBaz-Z.js} +28 -28
  258. package/dist/{replies-DqyX2Vln.js → replies-B5Jh0OCP.js} +1 -1
  259. package/dist/{replies-DtdP8R93.js → replies-BVXZDrhw.js} +1 -1
  260. package/dist/{replies-zeeuLUij.js → replies-CHirod5x.js} +1 -1
  261. package/dist/{replies-Dzc6eCFS.js → replies-Cyt5jQaT.js} +1 -1
  262. package/dist/{reply-DyFibFiG.js → reply-77x5WoQH.js} +274 -78
  263. package/dist/{routes-CEjKic_-.js → routes-BtsprtPx.js} +3 -3
  264. package/dist/{routes-B7FWIw81.js → routes-D5iYXgsO.js} +3 -3
  265. package/dist/{rpc-CV10Y2YL.js → rpc-CjvivzOg.js} +1 -1
  266. package/dist/{rpc-CR9IjVRa.js → rpc-lMWCuyRt.js} +1 -1
  267. package/dist/{run-main-CRPU46XB.js → run-main-DNA2le87.js} +53 -53
  268. package/dist/{runner-BkANJiWS.js → runner-3kD2Hk1w.js} +5 -5
  269. package/dist/{runner-v0fS4J7T.js → runner-Bzh_L69X.js} +5 -5
  270. package/dist/{runner-CTglx_CV.js → runner-_npJ-cn9.js} +5 -5
  271. package/dist/{runner-w5reqY02.js → runner-b_ibT3sW.js} +5 -5
  272. package/dist/{sandbox-DTzJlbvf.js → sandbox-BBGJMpXR.js} +5 -5
  273. package/dist/{sandbox-BpIrSDhl.js → sandbox-CPR0wRyk.js} +5 -5
  274. package/dist/{sandbox-cli-R_ZOY_KC.js → sandbox-cli-BgCrevMy.js} +7 -7
  275. package/dist/{sandbox-cli-B4VN_9mV.js → sandbox-cli-CHOc4ElC.js} +7 -7
  276. package/dist/{security-cli-BMB3kCFA.js → security-cli-B7YKQ6Nh.js} +12 -12
  277. package/dist/{security-cli-DmpyxTgQ.js → security-cli-iW-aIZ15.js} +12 -12
  278. package/dist/{send-DVLEgg9H.js → send--qdaLm4C.js} +1 -1
  279. package/dist/{send-CRWQglv9.js → send-B26isft5.js} +1 -1
  280. package/dist/{send-DDrpEKUg.js → send-BAM-zeo8.js} +2 -2
  281. package/dist/{send-Bt4UsVrd.js → send-BVKK9mIc.js} +1 -1
  282. package/dist/{send-Bx04WqH5.js → send-BfoI2xoz.js} +1 -1
  283. package/dist/{send-hJthT6M_.js → send-Btgfdf6H.js} +1 -1
  284. package/dist/{send-tDTl6xgz.js → send-BxkOVx17.js} +2 -2
  285. package/dist/{send-CC2vm0xU.js → send-C1fiVl-C.js} +1 -1
  286. package/dist/{send-BLT3lTZy.js → send-C7DzVT6I.js} +1 -1
  287. package/dist/{send-BbV4XqMl.js → send-CNZ2iT1h.js} +1 -1
  288. package/dist/{send-CQzO_Tg0.js → send-CboqahSN.js} +2 -2
  289. package/dist/{send-DyK4u4yH.js → send-DVNiZsde.js} +1 -1
  290. package/dist/{send-CZ18Xq5n.js → send-DXw0_dn5.js} +1 -1
  291. package/dist/{send-CEjpAJ8N.js → send-DffO5_WA.js} +1 -1
  292. package/dist/{send-BXiiQprI.js → send-Dfohx1Dj.js} +1 -1
  293. package/dist/{send-EQ1insgp.js → send-Dfum4W06.js} +1 -1
  294. package/dist/{send-CltKx_vS.js → send-QGcGaA1o.js} +2 -2
  295. package/dist/{send-BR3reUOE.js → send-TtpoiB7G.js} +1 -1
  296. package/dist/{send-Dm4UYQsf.js → send-sS-DxRJV.js} +1 -1
  297. package/dist/{send-1iB7Rdwp.js → send-ytd5gZYc.js} +1 -1
  298. package/dist/{server-context-DbcjnRHG.js → server-context-CZZZ5S6q.js} +5 -5
  299. package/dist/{server-context-BcjcQhiM.js → server-context-DiCxB7wV.js} +5 -5
  300. package/dist/{server-methods-U_lDP83A.js → server-methods-DgHyPneM.js} +21 -18
  301. package/dist/{server-methods-56m79WbR.js → server-methods-alycWcYE.js} +22 -19
  302. package/dist/{server-node-events-DpGswbj8.js → server-node-events-B5dFQdac.js} +34 -34
  303. package/dist/{server-node-events-Q9J_E8Ce.js → server-node-events-BkIo___r.js} +35 -35
  304. package/dist/{session-1Q4kg4xp.js → session-BFbJf357.js} +1 -1
  305. package/dist/{session-C86mCuOs.js → session-BdWP3apT.js} +1 -1
  306. package/dist/{session-BvXsNdtA.js → session-CiCHQ3Ah.js} +1 -1
  307. package/dist/{session-B4JR6zUJ.js → session-Dg44BpS1.js} +1 -1
  308. package/dist/{session-utils-CFvGKxdu.js → session-utils-Cs-nCi4-.js} +4 -4
  309. package/dist/{sessions-B3nP13Fw.js → sessions-BF3cJslT.js} +2 -2
  310. package/dist/{sessions-BdeJp6uY.js → sessions-C_c07viS.js} +2 -2
  311. package/dist/{sessions-m60NabL_.js → sessions-RYattOnc.js} +4 -4
  312. package/dist/{shared-mv9M8Mzc.js → shared-BmGIQ5oj.js} +2 -2
  313. package/dist/{shared-sOiAK5kN.js → shared-Dg2JustZ.js} +2 -2
  314. package/dist/{skill-commands-CWySL97a.js → skill-commands-BlfEmZ8t.js} +1 -1
  315. package/dist/{skill-commands-B64uavY9.js → skill-commands-C2kxEz5h.js} +1 -1
  316. package/dist/{skill-commands-DrFCB9F9.js → skill-commands-CSBmZ_di.js} +1 -1
  317. package/dist/{skill-commands-DWcJOIzP.js → skill-commands-C_ZNSYNS.js} +1 -1
  318. package/dist/{skills-cli-B7FG8Ft4.js → skills-cli-D9N3SSqr.js} +2 -2
  319. package/dist/{skills-cli-DVTw-NM0.js → skills-cli-G_0fvsIb.js} +2 -2
  320. package/dist/{status-D4KjZ3qi.js → status-D-gXM4AZ.js} +11 -11
  321. package/dist/{status-BNmYNm1S.js → status-T4y8IdyW.js} +2 -2
  322. package/dist/{status-DIYjr2wp.js → status-s0Mudh8o.js} +2 -2
  323. package/dist/{status-DbXRbJqY.js → status-yh81t6sL.js} +12 -12
  324. package/dist/{status.update-DKLvc9EH.js → status.update-9QVNoqzS.js} +1 -1
  325. package/dist/{status.update-CbXOcYqG.js → status.update-DAK4tN-2.js} +1 -1
  326. package/dist/{subagent-registry-Ct3GvWVn.js → subagent-registry-newoxfzs.js} +275 -79
  327. package/dist/{system-cli-B_KTvR0v.js → system-cli-B0oAtepa.js} +4 -4
  328. package/dist/{system-cli-9b3AzE_M.js → system-cli-kixN2BmA.js} +4 -4
  329. package/dist/{systemd-hints-BE7qhp3n.js → systemd-hints-BPRCUlOg.js} +1 -1
  330. package/dist/{systemd-hints-D_u4AuIu.js → systemd-hints-CRzDDf1-.js} +1 -1
  331. package/dist/{tui-oo_JjD-G.js → tui-CwMmsLXs.js} +16 -7
  332. package/dist/{tui-BViOdgFZ.js → tui-PZpjjXWo.js} +16 -7
  333. package/dist/{tui-cli-DKQz32oa.js → tui-cli-CU2JJJI9.js} +11 -11
  334. package/dist/{tui-cli-B97jQaQp.js → tui-cli-PTM4Eps5.js} +11 -11
  335. package/dist/{update-cli-Dhk0Yxsm.js → update-cli-B1dB4WdO.js} +47 -47
  336. package/dist/{update-cli-C9S00L1E.js → update-cli-BQdfZeXu.js} +49 -49
  337. package/dist/{update-runner-DBZOvTzN.js → update-runner-DKzlPMRC.js} +1 -1
  338. package/dist/{update-runner-BnIIcsqA.js → update-runner-HJhfkubt.js} +1 -1
  339. package/dist/{web-mXHyxR_l.js → web-BnH0qf_8.js} +21 -21
  340. package/dist/{web-f7lkf_un.js → web-CQzdHGhF.js} +21 -21
  341. package/dist/{web-8NQJ75ip.js → web-CScA06_W.js} +37 -37
  342. package/dist/{web-5uLk4OEM.js → web-DTIV3Lgo.js} +37 -37
  343. package/dist/{webhooks-cli-BLi_usfE.js → webhooks-cli-B97uWTaD.js} +2 -2
  344. package/dist/{webhooks-cli-Dz9n2L0-.js → webhooks-cli-CAHebfVz.js} +2 -2
  345. package/dist/{whatsapp-actions-ChtHuvdU.js → whatsapp-actions-BgiS8DUJ.js} +3 -3
  346. package/dist/{whatsapp-actions-6S6PNs2p.js → whatsapp-actions-BsVCZeLO.js} +3 -3
  347. package/dist/{whatsapp-actions-B4YPuD2Q.js → whatsapp-actions-DfJHCjBV.js} +3 -3
  348. package/dist/{whatsapp-actions-M8kjDd9l.js → whatsapp-actions-xhdGIJBd.js} +3 -3
  349. package/dist/{with-timeout-2zPYOOzh.js → with-timeout-C0euAxXp.js} +1 -1
  350. package/dist/{with-timeout-gaHpaiis.js → with-timeout-CiGZZ4b2.js} +1 -1
  351. package/docs/reference/templates/SYMIPULSE.md +1 -0
  352. 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-DXw0_dn5.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-CNZ2iT1h.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-8_lPbrcf.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-QGcGaA1o.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-CAtkZb8c.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-Crs8V2FU.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-BUUMKYz7.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-BTLvoV0e.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-_npJ-cn9.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--qdaLm4C.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-sS-DxRJV.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-Cyt5jQaT.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";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket$1, { WebSocket } from "ws";
82
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -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 {
@@ -5714,7 +5714,7 @@ var GatewayClient = class {
5714
5714
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5715
5715
  });
5716
5716
  }
5717
- this.ws = new WebSocket(url, wsOptions);
5717
+ this.ws = new WebSocket$1(url, wsOptions);
5718
5718
  this.ws.on("open", () => {
5719
5719
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5720
5720
  const tlsError = this.validateTlsFingerprint();
@@ -5933,7 +5933,7 @@ var GatewayClient = class {
5933
5933
  return null;
5934
5934
  }
5935
5935
  async request(method, params, opts) {
5936
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5936
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5937
5937
  const id = randomUUID();
5938
5938
  const frame = {
5939
5939
  type: "req",
@@ -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-8_lPbrcf.js").then((n) => n.n);
7203
7203
  return {
7204
7204
  ok: true,
7205
7205
  messageId: (await deliverOutboundPayloads({
@@ -8997,6 +8997,8 @@ function resolveAgentTimeoutMs(opts) {
8997
8997
  if (overrideSeconds < 0) return defaultMs;
8998
8998
  return clampTimeoutMs(overrideSeconds * 1e3);
8999
8999
  }
9000
+ const modelSeconds = normalizeNumber(opts.modelTimeoutSeconds);
9001
+ if (modelSeconds !== void 0 && modelSeconds > 0) return clampTimeoutMs(modelSeconds * 1e3);
9000
9002
  return defaultMs;
9001
9003
  }
9002
9004
 
@@ -12652,7 +12654,7 @@ async function createModelSelectionState(params) {
12652
12654
  }
12653
12655
  }
12654
12656
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
12655
- const { ensureAuthProfileStore } = await import("./model-selection--4t4F87n.js").then((n) => n.N);
12657
+ const { ensureAuthProfileStore } = await import("./model-selection-DBPwoBvb.js").then((n) => n.N);
12656
12658
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
12657
12659
  const providerKey = normalizeProviderId(provider);
12658
12660
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -21456,8 +21458,8 @@ function buildMemorySection(params) {
21456
21458
  lines.push("");
21457
21459
  return lines;
21458
21460
  }
21459
- function buildUserIdentitySection(ownerLine, isMinimal) {
21460
- if (!ownerLine || isMinimal) return [];
21461
+ function buildUserIdentitySection(ownerLine, isMinimal, isCoding) {
21462
+ if (!ownerLine || isMinimal || isCoding) return [];
21461
21463
  return [
21462
21464
  "## Authorized Senders",
21463
21465
  ownerLine,
@@ -21481,8 +21483,8 @@ function buildTimeSection(params) {
21481
21483
  ""
21482
21484
  ];
21483
21485
  }
21484
- function buildReplyTagsSection(isMinimal) {
21485
- if (isMinimal) return [];
21486
+ function buildReplyTagsSection(isMinimal, isCoding) {
21487
+ if (isMinimal || isCoding) return [];
21486
21488
  return [
21487
21489
  "## Reply Tags",
21488
21490
  "To request a native reply/quote on supported surfaces, include one tag in your reply:",
@@ -21495,7 +21497,7 @@ function buildReplyTagsSection(isMinimal) {
21495
21497
  ];
21496
21498
  }
21497
21499
  function buildMessagingSection(params) {
21498
- if (params.isMinimal) return [];
21500
+ if (params.isMinimal || params.isCoding) return [];
21499
21501
  return [
21500
21502
  "## Messaging",
21501
21503
  "- Reply in current session → automatically routes to the source channel (Signal, Telegram, etc.)",
@@ -21518,7 +21520,7 @@ function buildMessagingSection(params) {
21518
21520
  ];
21519
21521
  }
21520
21522
  function buildVoiceSection(params) {
21521
- if (params.isMinimal) return [];
21523
+ if (params.isMinimal || params.isCoding) return [];
21522
21524
  const hint = params.ttsHint?.trim();
21523
21525
  if (!hint) return [];
21524
21526
  return [
@@ -21527,6 +21529,71 @@ function buildVoiceSection(params) {
21527
21529
  ""
21528
21530
  ];
21529
21531
  }
21532
+ function buildVerifyYourWorkSection(params) {
21533
+ if (params.isMinimal) return [];
21534
+ const exec = params.execToolName;
21535
+ const read = params.readToolName;
21536
+ return [
21537
+ "## Verify Your Work",
21538
+ [
21539
+ "Before delivering any code, script, configuration, or technical artifact, you MUST perform a structured verification pass.",
21540
+ "Skipping verification is the single most common cause of incomplete or broken outputs.",
21541
+ "Treat this section as mandatory for every coding task, not optional polish."
21542
+ ].join(" "),
21543
+ "",
21544
+ "### 1. Re-read the request",
21545
+ [
21546
+ "Before you finalize your response, re-read the user's original message (and any follow-ups) in full.",
21547
+ "Extract every discrete requirement, constraint, and preference they stated.",
21548
+ "Write them down internally as a checklist.",
21549
+ "This catches drift: it is easy to start solving a related-but-different problem mid-task."
21550
+ ].join(" "),
21551
+ "",
21552
+ "### 2. Check each requirement against your output",
21553
+ [
21554
+ "Walk through your internal checklist point by point.",
21555
+ "For each requirement, locate the exact lines in your output that satisfy it.",
21556
+ "If you cannot point to concrete lines that fulfill a requirement, the work is not done — go back and address the gap before responding.",
21557
+ "Pay special attention to edge cases, error handling, and boundary conditions the user mentioned."
21558
+ ].join(" "),
21559
+ "",
21560
+ "### 3. Run the code",
21561
+ [
21562
+ `Whenever possible, use ${exec} to actually run, compile, lint, or test your code before presenting it.`,
21563
+ "Do not guess whether code works — execute it and observe the result.",
21564
+ "If the code produces errors, fix them and re-run until it succeeds.",
21565
+ "For scripts: run them with representative inputs.",
21566
+ "For libraries/modules: write and execute a minimal smoke test.",
21567
+ "For config files: validate syntax (e.g., json, yaml, toml parsers).",
21568
+ "If execution is genuinely impossible (no runtime available, user explicitly said not to run), state that you were unable to verify execution and explain why."
21569
+ ].join(" "),
21570
+ "",
21571
+ "### 4. Include tests when requested",
21572
+ [
21573
+ "If the user asked for tests, they are a hard requirement — not a nice-to-have.",
21574
+ "Deliver the tests alongside the implementation, not as an afterthought.",
21575
+ "Run the tests and confirm they pass before responding.",
21576
+ "If the user did not explicitly ask for tests but the change is non-trivial, consider whether a test would catch a regression and offer one."
21577
+ ].join(" "),
21578
+ "",
21579
+ "### 5. Self-review",
21580
+ [
21581
+ `After everything above, use ${read} to re-read any files you created or modified.`,
21582
+ "Look at them with fresh eyes as if reviewing someone else's code.",
21583
+ "Check for: typos, missing imports, unused variables, inconsistent naming, hardcoded values that should be configurable, incomplete error handling, and security issues (exposed secrets, injection vectors, missing input validation).",
21584
+ "If you find problems during self-review, fix them, re-run verification, and only then respond."
21585
+ ].join(" "),
21586
+ "",
21587
+ "### Verification failures",
21588
+ [
21589
+ "If any step above reveals a gap, do NOT respond with a partial answer and a disclaimer.",
21590
+ "Instead, fix the issue silently and re-verify.",
21591
+ "The user should receive working, complete output — not a draft with known issues.",
21592
+ "Only flag genuinely unresolvable ambiguities (where you need the user's decision to proceed)."
21593
+ ].join(" "),
21594
+ ""
21595
+ ];
21596
+ }
21530
21597
  function buildDocsSection(params) {
21531
21598
  const docsPath = params.docsPath?.trim();
21532
21599
  if (!docsPath || params.isMinimal) return [];
@@ -21651,6 +21718,7 @@ function buildAgentSystemPrompt(params) {
21651
21718
  const messageChannelOptions = listDeliverableMessageChannels().join("|");
21652
21719
  const promptMode = params.promptMode ?? "full";
21653
21720
  const isMinimal = promptMode === "minimal" || promptMode === "none";
21721
+ const isCoding = promptMode === "coding";
21654
21722
  const sandboxContainerWorkspace = params.sandboxInfo?.containerWorkspaceDir?.trim();
21655
21723
  const sanitizedWorkspaceDir = sanitizeForPromptLiteral(params.workspaceDir);
21656
21724
  const sanitizedSandboxContainerWorkspace = sandboxContainerWorkspace ? sanitizeForPromptLiteral(sandboxContainerWorkspace) : "";
@@ -21727,19 +21795,19 @@ function buildAgentSystemPrompt(params) {
21727
21795
  "",
21728
21796
  ...skillsSection,
21729
21797
  ...memorySection,
21730
- hasGateway && !isMinimal ? "## Symi Self-Update" : "",
21731
- hasGateway && !isMinimal ? [
21798
+ hasGateway && !isMinimal && !isCoding ? "## Symi Self-Update" : "",
21799
+ hasGateway && !isMinimal && !isCoding ? [
21732
21800
  "Get Updates (self-update) is ONLY allowed when the user explicitly asks for it.",
21733
21801
  "Do not run config.apply or update.run unless the user explicitly requests an update or config change; if it's not explicit, ask first.",
21734
21802
  "Actions: config.get, config.schema, config.apply (validate + write full config, then restart), update.run (update deps or git, then restart).",
21735
21803
  "After restart, Symi pings the last active session automatically."
21736
21804
  ].join("\n") : "",
21737
- hasGateway && !isMinimal ? "" : "",
21805
+ hasGateway && !isMinimal && !isCoding ? "" : "",
21738
21806
  "",
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 ? "" : "",
21807
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "## Model Aliases" : "",
21808
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "Prefer aliases when specifying model overrides; full provider/model is also accepted." : "",
21809
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? params.modelAliasLines.join("\n") : "",
21810
+ params.modelAliasLines && params.modelAliasLines.length > 0 && !isMinimal && !isCoding ? "" : "",
21743
21811
  userTimezone ? "If you need the current date, time, or day of week, run session_status (📊 session_status)." : "",
21744
21812
  "## Workspace",
21745
21813
  `Your working directory is: ${displayWorkspaceDir}`,
@@ -21747,6 +21815,11 @@ function buildAgentSystemPrompt(params) {
21747
21815
  ...workspaceNotes,
21748
21816
  "",
21749
21817
  ...docsSection,
21818
+ ...buildVerifyYourWorkSection({
21819
+ isMinimal,
21820
+ execToolName,
21821
+ readToolName
21822
+ }),
21750
21823
  params.sandboxInfo?.enabled ? "## Sandbox" : "",
21751
21824
  params.sandboxInfo?.enabled ? [
21752
21825
  "You are running in a sandboxed runtime (tools execute in Docker).",
@@ -21764,14 +21837,15 @@ function buildAgentSystemPrompt(params) {
21764
21837
  params.sandboxInfo.elevated?.allowed ? `Current elevated level: ${params.sandboxInfo.elevated.defaultLevel} (ask runs exec on host with approvals; full auto-approves).` : ""
21765
21838
  ].filter(Boolean).join("\n") : "",
21766
21839
  params.sandboxInfo?.enabled ? "" : "",
21767
- ...buildUserIdentitySection(ownerLine, isMinimal),
21840
+ ...buildUserIdentitySection(ownerLine, isMinimal, isCoding),
21768
21841
  ...buildTimeSection({ userTimezone }),
21769
21842
  "## Workspace Files (injected)",
21770
21843
  "These user-editable files are loaded by Symi and included below in Project Context.",
21771
21844
  "",
21772
- ...buildReplyTagsSection(isMinimal),
21845
+ ...buildReplyTagsSection(isMinimal, isCoding),
21773
21846
  ...buildMessagingSection({
21774
21847
  isMinimal,
21848
+ isCoding,
21775
21849
  availableTools,
21776
21850
  messageChannelOptions,
21777
21851
  inlineButtonsEnabled,
@@ -21780,6 +21854,7 @@ function buildAgentSystemPrompt(params) {
21780
21854
  }),
21781
21855
  ...buildVoiceSection({
21782
21856
  isMinimal,
21857
+ isCoding,
21783
21858
  ttsHint: params.ttsHint
21784
21859
  })
21785
21860
  ];
@@ -21819,8 +21894,8 @@ function buildAgentSystemPrompt(params) {
21819
21894
  lines.push("");
21820
21895
  for (const file of validContextFiles) lines.push(`## ${file.path}`, "", file.content, "");
21821
21896
  }
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.", "");
21897
+ if (!isMinimal && !isCoding) lines.push("## Silent Replies", `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`, "", "⚠️ Rules:", "- It must be your ENTIRE message — nothing else", `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies)`, "- Never wrap it in markdown or code blocks", "", `❌ Wrong: "Here's help... ${SILENT_REPLY_TOKEN}"`, `❌ Wrong: "${SILENT_REPLY_TOKEN}"`, `✅ Right: ${SILENT_REPLY_TOKEN}`, "");
21898
+ if (!isMinimal && !isCoding) lines.push("## Heartbeats", heartbeatPromptLine, "If you receive a heartbeat poll (a user message matching the heartbeat prompt above), and there is nothing that needs attention, reply exactly:", "SYMIPULSE_OK", "Symi treats a leading/trailing \"SYMIPULSE_OK\" as a heartbeat ack (and may discard it).", "If something needs attention, do NOT include \"SYMIPULSE_OK\"; reply with the alert text instead.", "");
21824
21899
  lines.push("## Runtime", buildRuntimeLine(runtimeInfo, runtimeChannel, runtimeCapabilities, params.defaultThinkLevel), `Reasoning: ${reasoningLevel} (hidden unless on/stream). Toggle /reasoning; /status shows Reasoning when enabled.`);
21825
21900
  return lines.filter(Boolean).join("\n");
21826
21901
  }
@@ -41572,7 +41647,7 @@ async function deliverSessionMaintenanceWarning(params) {
41572
41647
  return;
41573
41648
  }
41574
41649
  try {
41575
- const { deliverOutboundPayloads } = await import("./deliver-D8xILUUI.js").then((n) => n.n);
41650
+ const { deliverOutboundPayloads } = await import("./deliver-8_lPbrcf.js").then((n) => n.n);
41576
41651
  await deliverOutboundPayloads({
41577
41652
  cfg: params.cfg,
41578
41653
  channel,
@@ -42224,9 +42299,12 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
42224
42299
  ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
42225
42300
  })).dir;
42226
42301
  const agentDir = resolveAgentDir(cfg, agentId);
42302
+ const primaryModelKey = typeof cfg?.agents?.defaults?.model === "object" ? cfg.agents.defaults.model.primary : void 0;
42303
+ const modelTimeoutSeconds = primaryModelKey ? cfg?.agents?.defaults?.models?.[primaryModelKey]?.timeoutSeconds : void 0;
42227
42304
  const timeoutMs = resolveAgentTimeoutMs({
42228
42305
  cfg,
42229
- overrideSeconds: opts?.timeoutOverrideSeconds
42306
+ overrideSeconds: opts?.timeoutOverrideSeconds,
42307
+ modelTimeoutSeconds: modelTimeoutSeconds ?? null
42230
42308
  });
42231
42309
  const configuredTypingSeconds = agentCfg?.typingIntervalSeconds ?? sessionCfg?.typingIntervalSeconds;
42232
42310
  const typingIntervalSeconds = typeof configuredTypingSeconds === "number" ? configuredTypingSeconds : 6;
@@ -45015,7 +45093,7 @@ async function describeStickerImage(params) {
45015
45093
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45016
45094
  try {
45017
45095
  const buffer = await fs$1.readFile(imagePath);
45018
- const { describeImageWithModel } = await import("./image-DrkD-6sg.js").then((n) => n.n);
45096
+ const { describeImageWithModel } = await import("./image-BTLvoV0e.js").then((n) => n.n);
45019
45097
  return (await describeImageWithModel({
45020
45098
  buffer,
45021
45099
  fileName: "sticker.webp",
@@ -45438,7 +45516,7 @@ function createWhatsAppLoginTool() {
45438
45516
  force: Type.Optional(Type.Boolean())
45439
45517
  }),
45440
45518
  execute: async (_toolCallId, args) => {
45441
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-E4YwhoPt.js");
45519
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-C4uL0W0C.js");
45442
45520
  if ((args?.action ?? "start") === "wait") {
45443
45521
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
45444
45522
  return {
@@ -47677,7 +47755,7 @@ async function preflightDiscordMessage(params) {
47677
47755
  let preflightTranscript;
47678
47756
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47679
47757
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47680
- const { transcribeFirstAudio } = await import("./audio-preflight-BiAp3Hvj.js");
47758
+ const { transcribeFirstAudio } = await import("./audio-preflight-BxuYnm6k.js");
47681
47759
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47682
47760
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47683
47761
  ctx: {
@@ -51683,27 +51761,27 @@ function isVoiceChannelType(type) {
51683
51761
  function createDefaultDeps() {
51684
51762
  return {
51685
51763
  sendMessageWhatsApp: async (...args) => {
51686
- const { sendMessageWhatsApp } = await import("./web-mXHyxR_l.js");
51764
+ const { sendMessageWhatsApp } = await import("./web-BnH0qf_8.js");
51687
51765
  return await sendMessageWhatsApp(...args);
51688
51766
  },
51689
51767
  sendMessageTelegram: async (...args) => {
51690
- const { sendMessageTelegram } = await import("./send-CltKx_vS.js").then((n) => n.l);
51768
+ const { sendMessageTelegram } = await import("./send-QGcGaA1o.js").then((n) => n.l);
51691
51769
  return await sendMessageTelegram(...args);
51692
51770
  },
51693
51771
  sendMessageDiscord: async (...args) => {
51694
- const { sendMessageDiscord } = await import("./send-BbV4XqMl.js").then((n) => n.t);
51772
+ const { sendMessageDiscord } = await import("./send-CNZ2iT1h.js").then((n) => n.t);
51695
51773
  return await sendMessageDiscord(...args);
51696
51774
  },
51697
51775
  sendMessageSlack: async (...args) => {
51698
- const { sendMessageSlack } = await import("./send-CZ18Xq5n.js").then((n) => n.n);
51776
+ const { sendMessageSlack } = await import("./send-DXw0_dn5.js").then((n) => n.n);
51699
51777
  return await sendMessageSlack(...args);
51700
51778
  },
51701
51779
  sendMessageSignal: async (...args) => {
51702
- const { sendMessageSignal } = await import("./send-DVLEgg9H.js").then((n) => n.i);
51780
+ const { sendMessageSignal } = await import("./send--qdaLm4C.js").then((n) => n.i);
51703
51781
  return await sendMessageSignal(...args);
51704
51782
  },
51705
51783
  sendMessageIMessage: async (...args) => {
51706
- const { sendMessageIMessage } = await import("./send-Dm4UYQsf.js").then((n) => n.n);
51784
+ const { sendMessageIMessage } = await import("./send-sS-DxRJV.js").then((n) => n.n);
51707
51785
  return await sendMessageIMessage(...args);
51708
51786
  }
51709
51787
  };
@@ -52183,9 +52261,11 @@ async function agentCommand(opts, runtime = defaultRuntime, deps = createDefault
52183
52261
  const isSubagentLane = (typeof opts.lane === "string" ? opts.lane.trim() : "") === String(AGENT_LANE_SUBAGENT);
52184
52262
  const timeoutSecondsRaw = opts.timeout !== void 0 ? Number.parseInt(String(opts.timeout), 10) : isSubagentLane ? 0 : void 0;
52185
52263
  if (timeoutSecondsRaw !== void 0 && (Number.isNaN(timeoutSecondsRaw) || timeoutSecondsRaw < 0)) throw new Error("--timeout must be a non-negative integer (seconds; 0 means no timeout)");
52264
+ const primaryModelKey = typeof cfg?.agents?.defaults?.model === "object" ? cfg.agents.defaults.model.primary : void 0;
52186
52265
  const timeoutMs = resolveAgentTimeoutMs({
52187
52266
  cfg,
52188
- overrideSeconds: timeoutSecondsRaw
52267
+ overrideSeconds: timeoutSecondsRaw,
52268
+ modelTimeoutSeconds: (primaryModelKey ? cfg?.agents?.defaults?.models?.[primaryModelKey]?.timeoutSeconds : void 0) ?? null
52189
52269
  });
52190
52270
  const { sessionId, sessionKey, sessionEntry: resolvedSessionEntry, sessionStore, storePath, isNewSession, persistedThinking, persistedVerbose } = resolveSession({
52191
52271
  cfg,
@@ -54587,7 +54667,7 @@ function createDiscordGatewayPlugin(params) {
54587
54667
  super(options);
54588
54668
  }
54589
54669
  createWebSocket(url) {
54590
- return new WebSocket$1(url, { agent });
54670
+ return new WebSocket(url, { agent });
54591
54671
  }
54592
54672
  }
54593
54673
  return new ProxyGatewayPlugin();
@@ -62129,7 +62209,7 @@ function readSlackExternalArgMenuToken(raw) {
62129
62209
  }
62130
62210
  let commandsRegistry;
62131
62211
  async function getCommandsRegistry() {
62132
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-Copoizgv.js").then((n) => n.n);
62212
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DN93gKlx.js").then((n) => n.n);
62133
62213
  return commandsRegistry;
62134
62214
  }
62135
62215
  function encodeSlackCommandArgValue(parts) {
@@ -62532,7 +62612,7 @@ async function registerSlackMonitorSlashCommands(params) {
62532
62612
  });
62533
62613
  const deliverSlashPayloads = async (replies) => {
62534
62614
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
62535
- import("./replies-Dzc6eCFS.js").then((n) => n.r),
62615
+ import("./replies-Cyt5jQaT.js").then((n) => n.r),
62536
62616
  import("./chunk-DTMTDXwE.js").then((n) => n.s),
62537
62617
  import("./markdown-tables-DawaaZEe.js").then((n) => n.t)
62538
62618
  ]);
@@ -62587,7 +62667,7 @@ async function registerSlackMonitorSlashCommands(params) {
62587
62667
  let nativeCommands = [];
62588
62668
  if (nativeEnabled) {
62589
62669
  reg = await getCommandsRegistry();
62590
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DWcJOIzP.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62670
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C_ZNSYNS.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62591
62671
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
62592
62672
  skillCommands,
62593
62673
  provider: "slack"
@@ -64805,7 +64885,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64805
64885
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64806
64886
  let preflightTranscript;
64807
64887
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64808
- const { transcribeFirstAudio } = await import("./audio-preflight-BiAp3Hvj.js");
64888
+ const { transcribeFirstAudio } = await import("./audio-preflight-BxuYnm6k.js");
64809
64889
  preflightTranscript = await transcribeFirstAudio({
64810
64890
  ctx: {
64811
64891
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -66950,23 +67030,23 @@ let webLoginQrPromise = null;
66950
67030
  let webChannelPromise = null;
66951
67031
  let whatsappActionsPromise = null;
66952
67032
  function loadWebOutbound() {
66953
- webOutboundPromise ??= import("./outbound-DRslTBga.js").then((n) => n.t);
67033
+ webOutboundPromise ??= import("./outbound-DXyOHKUR.js").then((n) => n.t);
66954
67034
  return webOutboundPromise;
66955
67035
  }
66956
67036
  function loadWebLogin() {
66957
- webLoginPromise ??= import("./login-_Ynqrjet.js").then((n) => n.n);
67037
+ webLoginPromise ??= import("./login-C2C1yAD8.js").then((n) => n.n);
66958
67038
  return webLoginPromise;
66959
67039
  }
66960
67040
  function loadWebLoginQr() {
66961
- webLoginQrPromise ??= import("./login-qr-E4YwhoPt.js");
67041
+ webLoginQrPromise ??= import("./login-qr-C4uL0W0C.js");
66962
67042
  return webLoginQrPromise;
66963
67043
  }
66964
67044
  function loadWebChannel() {
66965
- webChannelPromise ??= import("./web-mXHyxR_l.js");
67045
+ webChannelPromise ??= import("./web-BnH0qf_8.js");
66966
67046
  return webChannelPromise;
66967
67047
  }
66968
67048
  function loadWhatsAppActions() {
66969
- whatsappActionsPromise ??= import("./whatsapp-actions-6S6PNs2p.js");
67049
+ whatsappActionsPromise ??= import("./whatsapp-actions-BsVCZeLO.js");
66970
67050
  return whatsappActionsPromise;
66971
67051
  }
66972
67052
  function createPluginRuntime() {
@@ -72274,7 +72354,7 @@ async function compactEmbeddedPiSessionDirect(params) {
72274
72354
  config: params.config
72275
72355
  });
72276
72356
  const isDefaultAgent = sessionAgentId === defaultAgentId;
72277
- const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
72357
+ const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
72278
72358
  const docsPath = await resolveSymiDocsPath({
72279
72359
  workspaceDir: effectiveWorkspace,
72280
72360
  argv1: process.argv[1],
@@ -72514,6 +72594,9 @@ function createStreamFnWithExtraParams(baseStreamFn, extraParams, provider) {
72514
72594
  const streamParams = {};
72515
72595
  if (typeof extraParams.temperature === "number") streamParams.temperature = extraParams.temperature;
72516
72596
  if (typeof extraParams.maxTokens === "number") streamParams.maxTokens = extraParams.maxTokens;
72597
+ if (typeof extraParams.top_p === "number") streamParams.top_p = extraParams.top_p;
72598
+ if (typeof extraParams.top_k === "number") streamParams.top_k = extraParams.top_k;
72599
+ if (typeof extraParams.repeat_penalty === "number") streamParams.repeat_penalty = extraParams.repeat_penalty;
72517
72600
  const cacheRetention = resolveCacheRetention(extraParams, provider);
72518
72601
  if (cacheRetention) streamParams.cacheRetention = cacheRetention;
72519
72602
  if (Object.keys(streamParams).length === 0) return;
@@ -74842,7 +74925,7 @@ function scorePlanComplexity(prompt) {
74842
74925
  if ([...PLAN_KEYWORDS, ...ANALYSIS_KEYWORDS].some((kw) => lower.includes(kw)) || FILE_PATH_RE.test(prompt)) score += 3;
74843
74926
  }
74844
74927
  const numberedItems = prompt.match(NUMBERED_LIST_RE);
74845
- if (numberedItems && numberedItems.length >= 3) score += 2;
74928
+ if (numberedItems && numberedItems.length >= 6) score += 2;
74846
74929
  for (const kw of PLAN_KEYWORDS) if (lower.includes(kw)) {
74847
74930
  score += 2;
74848
74931
  break;
@@ -74859,7 +74942,7 @@ function scorePlanComplexity(prompt) {
74859
74942
  }
74860
74943
  return score;
74861
74944
  }
74862
- const PLAN_MODE_THRESHOLD = 5;
74945
+ const PLAN_MODE_THRESHOLD = 8;
74863
74946
  /**
74864
74947
  * Determine whether a prompt should trigger plan mode.
74865
74948
  *
@@ -74894,14 +74977,15 @@ function shouldEnterPlanMode(prompt, opts = {}) {
74894
74977
  score: 0
74895
74978
  };
74896
74979
  const score = scorePlanComplexity(trimmed);
74897
- if (score >= PLAN_MODE_THRESHOLD) return {
74980
+ const threshold = opts.threshold ?? PLAN_MODE_THRESHOLD;
74981
+ if (score >= threshold) return {
74898
74982
  enter: true,
74899
- reason: `complexity score ${score} >= ${PLAN_MODE_THRESHOLD}`,
74983
+ reason: `complexity score ${score} >= ${threshold}`,
74900
74984
  score
74901
74985
  };
74902
74986
  return {
74903
74987
  enter: false,
74904
- reason: `complexity score ${score} < ${PLAN_MODE_THRESHOLD}`,
74988
+ reason: `complexity score ${score} < ${threshold}`,
74905
74989
  score
74906
74990
  };
74907
74991
  }
@@ -75794,7 +75878,7 @@ async function runEmbeddedAttempt(params) {
75794
75878
  }
75795
75879
  });
75796
75880
  const isDefaultAgent = sessionAgentId === defaultAgentId;
75797
- const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : "full";
75881
+ const promptMode = isSubagentSessionKey(params.sessionKey) || isCronSessionKey(params.sessionKey) ? "minimal" : params.config?.agents?.defaults?.promptMode === "coding" ? "coding" : "full";
75798
75882
  const docsPath = await resolveSymiDocsPath({
75799
75883
  workspaceDir: effectiveWorkspace,
75800
75884
  argv1: process.argv[1],
@@ -76191,7 +76275,8 @@ async function runEmbeddedAttempt(params) {
76191
76275
  {
76192
76276
  const planResult = shouldEnterPlanMode(effectivePrompt, {
76193
76277
  isSubagent: isSubagentSessionKey(params.sessionKey),
76194
- isCron: isCronSessionKey(params.sessionKey)
76278
+ isCron: isCronSessionKey(params.sessionKey),
76279
+ threshold: params.config?.agents?.defaults?.planModeThreshold
76195
76280
  });
76196
76281
  if (planResult.enter) {
76197
76282
  if (planResult.stripped != null) effectivePrompt = planResult.stripped;
@@ -76809,6 +76894,7 @@ async function runEmbeddedPiAgent(params) {
76809
76894
  let lastRunPromptUsage;
76810
76895
  let autoCompactionCount = 0;
76811
76896
  let runLoopIterations = 0;
76897
+ let verificationPassCompleted = false;
76812
76898
  try {
76813
76899
  while (true) {
76814
76900
  if (runLoopIterations >= MAX_RUN_LOOP_ITERATIONS) {
@@ -77178,6 +77264,116 @@ async function runEmbeddedPiAgent(params) {
77178
77264
  suppressToolErrorWarnings: params.suppressToolErrorWarnings,
77179
77265
  inlineToolResultsAllowed: false
77180
77266
  });
77267
+ if (!verificationPassCompleted && !aborted && !timedOut && !promptError && payloads.length > 0 && !isCronSessionKey(params.sessionKey) && !isSubagentSessionKey(params.sessionKey)) {
77268
+ const CODE_TOOL_NAMES = new Set([
77269
+ "exec",
77270
+ "bash",
77271
+ "write",
77272
+ "edit",
77273
+ "file_write",
77274
+ "file_edit",
77275
+ "write_file",
77276
+ "edit_file",
77277
+ "create_file",
77278
+ "patch"
77279
+ ]);
77280
+ const hasCodeToolUsage = attempt.toolMetas.some((tm) => CODE_TOOL_NAMES.has(tm.toolName.toLowerCase()));
77281
+ const hasCodeBlocks = attempt.assistantTexts.some((text) => /```[\s\S]*?```/.test(text));
77282
+ if (hasCodeToolUsage || hasCodeBlocks) {
77283
+ verificationPassCompleted = true;
77284
+ log$2.debug(`[verification] starting verification pass: runId=${params.runId} sessionId=${params.sessionId} trigger=${hasCodeToolUsage ? "tool_usage" : "code_blocks"}`);
77285
+ 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.";
77286
+ try {
77287
+ const verifyAttempt = await runEmbeddedAttempt({
77288
+ sessionId: params.sessionId,
77289
+ sessionKey: params.sessionKey,
77290
+ messageChannel: params.messageChannel,
77291
+ messageProvider: params.messageProvider,
77292
+ agentAccountId: params.agentAccountId,
77293
+ messageTo: params.messageTo,
77294
+ messageThreadId: params.messageThreadId,
77295
+ groupId: params.groupId,
77296
+ groupChannel: params.groupChannel,
77297
+ groupSpace: params.groupSpace,
77298
+ spawnedBy: params.spawnedBy,
77299
+ senderIsOwner: params.senderIsOwner,
77300
+ currentChannelId: params.currentChannelId,
77301
+ currentThreadTs: params.currentThreadTs,
77302
+ replyToMode: params.replyToMode,
77303
+ hasRepliedRef: params.hasRepliedRef,
77304
+ sessionFile: params.sessionFile,
77305
+ workspaceDir: resolvedWorkspace,
77306
+ agentDir,
77307
+ config: params.config,
77308
+ skillsSnapshot: params.skillsSnapshot,
77309
+ prompt: verificationPrompt,
77310
+ images: void 0,
77311
+ disableTools: params.disableTools,
77312
+ provider,
77313
+ modelId,
77314
+ model,
77315
+ authStorage,
77316
+ modelRegistry,
77317
+ agentId: workspaceResolution.agentId,
77318
+ thinkLevel,
77319
+ verboseLevel: params.verboseLevel,
77320
+ reasoningLevel: params.reasoningLevel,
77321
+ toolResultFormat: resolvedToolResultFormat,
77322
+ execOverrides: params.execOverrides,
77323
+ bashElevated: params.bashElevated,
77324
+ timeoutMs: params.timeoutMs,
77325
+ runId: params.runId,
77326
+ abortSignal: params.abortSignal,
77327
+ shouldEmitToolResult: params.shouldEmitToolResult,
77328
+ shouldEmitToolOutput: params.shouldEmitToolOutput,
77329
+ onPartialReply: params.onPartialReply,
77330
+ onAssistantMessageStart: params.onAssistantMessageStart,
77331
+ onBlockReply: params.onBlockReply,
77332
+ onBlockReplyFlush: params.onBlockReplyFlush,
77333
+ blockReplyBreak: params.blockReplyBreak,
77334
+ blockReplyChunking: params.blockReplyChunking,
77335
+ onReasoningStream: params.onReasoningStream,
77336
+ onReasoningEnd: params.onReasoningEnd,
77337
+ onToolResult: params.onToolResult,
77338
+ onAgentEvent: params.onAgentEvent,
77339
+ extraSystemPrompt: params.extraSystemPrompt,
77340
+ inputProvenance: params.inputProvenance,
77341
+ streamParams: params.streamParams,
77342
+ ownerNumbers: params.ownerNumbers,
77343
+ enforceFinalTag: params.enforceFinalTag
77344
+ });
77345
+ const verifyUsage = normalizeUsage(verifyAttempt.lastAssistant?.usage);
77346
+ mergeUsageIntoAccumulator(usageAccumulator, verifyAttempt.attemptUsage ?? verifyUsage);
77347
+ if (verifyAttempt.compactionCount) autoCompactionCount += verifyAttempt.compactionCount;
77348
+ const verifyHasToolUsage = verifyAttempt.toolMetas.length > 0;
77349
+ const verifyHasContent = verifyAttempt.assistantTexts.some((t) => t.trim().length > 0);
77350
+ if (verifyHasToolUsage || verifyHasContent) {
77351
+ const verifyPayloads = buildEmbeddedRunPayloads({
77352
+ assistantTexts: [...attempt.assistantTexts, ...verifyAttempt.assistantTexts],
77353
+ toolMetas: [...attempt.toolMetas, ...verifyAttempt.toolMetas],
77354
+ lastAssistant: verifyAttempt.lastAssistant ?? attempt.lastAssistant,
77355
+ lastToolError: verifyAttempt.lastToolError ?? attempt.lastToolError,
77356
+ config: params.config,
77357
+ sessionKey: params.sessionKey ?? params.sessionId,
77358
+ provider: activeErrorContext.provider,
77359
+ model: activeErrorContext.model,
77360
+ verboseLevel: params.verboseLevel,
77361
+ reasoningLevel: params.reasoningLevel,
77362
+ toolResultFormat: resolvedToolResultFormat,
77363
+ suppressToolErrorWarnings: params.suppressToolErrorWarnings,
77364
+ inlineToolResultsAllowed: false
77365
+ });
77366
+ if (verifyPayloads.length > 0) {
77367
+ payloads.length = 0;
77368
+ payloads.push(...verifyPayloads);
77369
+ }
77370
+ log$2.debug(`[verification] verification produced corrections: runId=${params.runId} tools=${verifyAttempt.toolMetas.length} texts=${verifyAttempt.assistantTexts.length}`);
77371
+ } else log$2.debug(`[verification] verification confirmed original response: runId=${params.runId}`);
77372
+ } catch (verifyErr) {
77373
+ log$2.warn(`[verification] verification pass failed, keeping original response: runId=${params.runId} error=${String(verifyErr)}`);
77374
+ }
77375
+ }
77376
+ }
77181
77377
  if (timedOut && !timedOutDuringCompaction && payloads.length === 0) return {
77182
77378
  payloads: [{
77183
77379
  text: "Request timed out before a response was generated. Please try again, or increase `agents.defaults.timeoutSeconds` in your config.",