@symerian/symi 2.0.18 → 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 (304) hide show
  1. package/dist/{acp-cli-h36Zuriy.js → acp-cli-bbOWOXnN.js} +2 -2
  2. package/dist/{acp-cli-Cp81ShIC.js → acp-cli-sXld4yJl.js} +2 -2
  3. package/dist/{agents-B2jtcp_Y.js → agents-CENGwpKH.js} +7 -7
  4. package/dist/{agents.config-DTJxgmnd.js → agents.config-CgNflQtq.js} +1 -1
  5. package/dist/{agents.config-ButbIjGA.js → agents.config-WhJPXBWO.js} +1 -1
  6. package/dist/{audio-preflight-k4jOy8Bo.js → audio-preflight-BxuYnm6k.js} +5 -5
  7. package/dist/{audio-preflight-CSix46JB.js → audio-preflight-DCHBMKWE.js} +11 -11
  8. package/dist/{audio-preflight-B_VLZd_F.js → audio-preflight-Djedh6Uc.js} +5 -5
  9. package/dist/{audio-preflight-DGpde3Ae.js → audio-preflight-USnUISOE.js} +11 -11
  10. package/dist/{audit-BbhuQjTl.js → audit-DpqAVLn7.js} +5 -5
  11. package/dist/{audit-BmuBsZal.js → audit-Dxa-KhrA.js} +5 -5
  12. package/dist/{auth-choice-BMHb00f1.js → auth-choice-BdZAR0l8.js} +4 -4
  13. package/dist/{auth-choice-Du7VUK1p.js → auth-choice-upc_PcJy.js} +4 -4
  14. package/dist/{banner-BoFDxo1X.js → banner-BE8pGhkj.js} +1 -1
  15. package/dist/{browser-cli-DEnpvEPP.js → browser-cli-8URbjVyN.js} +3 -3
  16. package/dist/{browser-cli-Bu0BnRct.js → browser-cli-DQ0DQymk.js} +3 -3
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +13 -13
  19. package/dist/bundled/session-memory/handler.js +13 -13
  20. package/dist/{call-6AGLOo_A.js → call-B-p451Eo.js} +1 -1
  21. package/dist/{call-TvMa4u8t.js → call-Cspuh_Jh.js} +1 -1
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-BzQJoPFc.js → channel-options-BPQpyMzn.js} +1 -1
  24. package/dist/{channel-options-D1K0w33c.js → channel-options-DEmvgalQ.js} +1 -1
  25. package/dist/{channel-web-NaWX5pUl.js → channel-web-Djcjl6S4.js} +7 -7
  26. package/dist/{channels-cli-KVy9GUcY.js → channels-cli-Cps6htRW.js} +30 -30
  27. package/dist/{channels-cli-BGX2AX0X.js → channels-cli-Dn9ahV_w.js} +29 -29
  28. package/dist/{chrome-DX-9I4dn.js → chrome-BUUMKYz7.js} +8 -8
  29. package/dist/{chrome-CaijV4gw.js → chrome-Chj8uCZN.js} +1 -1
  30. package/dist/{chrome-DrxNYzTD.js → chrome-DGb_CkF8.js} +1 -1
  31. package/dist/{chrome-Cgiw9tI6.js → chrome-XQjc7KSW.js} +1 -1
  32. package/dist/cli/daemon-cli.js +1 -1
  33. package/dist/{cli-DAaNQKv7.js → cli-Df__rsHc.js} +25 -25
  34. package/dist/{cli-MBTHCM04.js → cli-atR7r3t-.js} +26 -26
  35. package/dist/{command-registry-DRHBO07P.js → command-registry-Yv0ZBYYd.js} +11 -11
  36. package/dist/{completion-cli-E2HmAubG.js → completion-cli-BCDS6oHd.js} +2 -2
  37. package/dist/{completion-cli-By9Hj91p.js → completion-cli-Bw-2RaGe.js} +1 -1
  38. package/dist/{config-DB5jMj3Z.js → config-BMStjqdp.js} +3 -1
  39. package/dist/{config-C_1uZzwy.js → config-Bh5BJYfZ.js} +3 -1
  40. package/dist/{config-BUHRlrbS.js → config-Crs8V2FU.js} +3 -1
  41. package/dist/{config-COvlkain.js → config-CxnbOYs8.js} +3 -1
  42. package/dist/{config-cli-gvLM_Jmx.js → config-cli-BK-o9KUV.js} +2 -2
  43. package/dist/{config-cli-DaV2gvHS.js → config-cli-CQJtnjeK.js} +2 -2
  44. package/dist/{config-guard-DLAUq-eu.js → config-guard-CNwpT-bm.js} +3 -3
  45. package/dist/{config-guard-CP12zw3r.js → config-guard-DvNDqIJp.js} +2 -2
  46. package/dist/{config-validation-CJNWEllT.js → config-validation-D0ku5PSk.js} +1 -1
  47. package/dist/{config-validation-BdUdtuuI.js → config-validation-g8v4CRxO.js} +1 -1
  48. package/dist/{configure-BPdAIpJb.js → configure-D1fWVt_Z.js} +10 -10
  49. package/dist/{configure-DjRUXJNv.js → configure-D6i9bdDN.js} +10 -10
  50. package/dist/{control-service-CwdjvhxE.js → control-service-B7EmYYFH.js} +4 -4
  51. package/dist/{control-service-D670V6cS.js → control-service-BwrQoUMh.js} +4 -4
  52. package/dist/{cron-cli-BVdg2ZHh.js → cron-cli-D-nqfPZ5.js} +3 -3
  53. package/dist/{cron-cli-CWybZWLu.js → cron-cli-D9nGEQiu.js} +3 -3
  54. package/dist/{daemon-cli-BSKnv95o.js → daemon-cli-DJR87xEg.js} +6 -6
  55. package/dist/{daemon-cli-A0V_cYcw.js → daemon-cli-l5oXLo3n.js} +6 -6
  56. package/dist/daemon-cli.js +3 -1
  57. package/dist/{daemon-runtime-DtGPdsmL.js → daemon-runtime-BkVgNwLi.js} +1 -1
  58. package/dist/{daemon-runtime-BgbGrT3P.js → daemon-runtime-D4sIbUkl.js} +1 -1
  59. package/dist/{deliver-wRQauy5B.js → deliver-8_lPbrcf.js} +2 -2
  60. package/dist/{deliver-CUJWonlP.js → deliver-8jOk1f3v.js} +3 -3
  61. package/dist/{deliver-sMuSzZX6.js → deliver-C0Azi_cK.js} +3 -3
  62. package/dist/{deliver-DXVMhb3A.js → deliver-mS1WnuiB.js} +2 -2
  63. package/dist/{devices-cli-Bwg8gUuS.js → devices-cli-CaK3Ausk.js} +2 -2
  64. package/dist/{devices-cli-DBDevKR4.js → devices-cli-V6vhbLKq.js} +2 -2
  65. package/dist/{directory-cli-B9wwg8xg.js → directory-cli-BmNzLgXc.js} +1 -1
  66. package/dist/{directory-cli-2W4B1Ct_.js → directory-cli-Cd9lchia.js} +1 -1
  67. package/dist/{dns-cli-Dc8SoCMN.js → dns-cli-BEOWeAGR.js} +1 -1
  68. package/dist/{dns-cli-go7hrLbV.js → dns-cli-mH-jPqkH.js} +1 -1
  69. package/dist/{doctor-completion-cGUMfSWW.js → doctor-completion-CCRu96-k.js} +1 -1
  70. package/dist/{doctor-completion-CJ6GgqdP.js → doctor-completion-DblWjsvi.js} +1 -1
  71. package/dist/{doctor-config-flow-CSyqq_3u.js → doctor-config-flow-Dd6-lC3V.js} +2 -2
  72. package/dist/{doctor-config-flow-DpVhYkFY.js → doctor-config-flow-Dpnvu5A2.js} +2 -2
  73. package/dist/entry.js +1 -1
  74. package/dist/{exec-approvals-cli-NGv-JYZx.js → exec-approvals-cli-Dlf9s8ne.js} +4 -4
  75. package/dist/{exec-approvals-cli-Bc7-sWEN.js → exec-approvals-cli-lDvry8Xq.js} +4 -4
  76. package/dist/extensionAPI.js +13 -13
  77. package/dist/{gateway-cli-DIUZJz3l.js → gateway-cli-B7kUZfUu.js} +41 -41
  78. package/dist/{gateway-cli-BACTzHef.js → gateway-cli-CaelVnat.js} +42 -42
  79. package/dist/{gateway-rpc-CzQ2-09T.js → gateway-rpc-CCYQR5Bz.js} +1 -1
  80. package/dist/{gateway-rpc-DijKM-l5.js → gateway-rpc-aJiLRbJG.js} +1 -1
  81. package/dist/{glass-ui-ws-DMW9fQLQ.js → glass-ui-ws-CMCfE_8I.js} +33 -33
  82. package/dist/{glass-ui-ws-BBYLD-43.js → glass-ui-ws-CzHgG5_-.js} +34 -34
  83. package/dist/{health-BIgxejdY.js → health-C8krNwSF.js} +5 -5
  84. package/dist/{health-D9sE5ymK.js → health-CiMUQ2KG.js} +5 -5
  85. package/dist/{hooks-cli-DnvETK6m.js → hooks-cli-C8fq5oKx.js} +26 -26
  86. package/dist/{hooks-cli-EthBM_qY.js → hooks-cli-CYHfc5jB.js} +27 -27
  87. package/dist/{image-Kl1J-62v.js → image-BTLvoV0e.js} +2 -2
  88. package/dist/{image-DCArHTqR.js → image-CNYGLoQl.js} +2 -2
  89. package/dist/{image-Bf_jHnTg.js → image-DCnQz5jN.js} +2 -2
  90. package/dist/{image-CEcLOmLW.js → image-bJzFwVE3.js} +2 -2
  91. package/dist/index.js +34 -34
  92. package/dist/{lifecycle-core-fFRFJvPD.js → lifecycle-core-C7fyJOuN.js} +2 -2
  93. package/dist/{lifecycle-core-pG9T1o7U.js → lifecycle-core-f8oPRRaQ.js} +2 -2
  94. package/dist/llm-slug-generator.js +13 -13
  95. package/dist/{login-CvotLxMc.js → login-BZsZO9ST.js} +2 -2
  96. package/dist/{login-J-hL4MZQ.js → login-C2C1yAD8.js} +2 -2
  97. package/dist/{login-CM1U-ARd.js → login-CJf4Gdbq.js} +2 -2
  98. package/dist/{login-BwU6oNNU.js → login-DTkUG4Mp.js} +2 -2
  99. package/dist/{login-qr-CiPw9ee6.js → login-qr-BSm4xrHW.js} +2 -2
  100. package/dist/{login-qr-CADWVR1b.js → login-qr-C4uL0W0C.js} +2 -2
  101. package/dist/{login-qr-_FriwsNr.js → login-qr-CBPis3I2.js} +2 -2
  102. package/dist/{login-qr-CW01jgLl.js → login-qr-rvsxQT5p.js} +2 -2
  103. package/dist/{logs-cli-DPaTYFru.js → logs-cli-9__MsacS.js} +3 -3
  104. package/dist/{logs-cli-mM7GM-9Q.js → logs-cli-DJJ4_QXv.js} +3 -3
  105. package/dist/{memory-cli-C7w-I03k.js → memory-cli-D5iikkSG.js} +1 -1
  106. package/dist/{memory-cli-Pp2xuPKC.js → memory-cli-OWL3A7_N.js} +1 -1
  107. package/dist/{model-catalog-61-kKlKu.js → model-catalog-Dq60dweH.js} +2 -2
  108. package/dist/{model-catalog-QboGjwLO.js → model-catalog-jhBOlBYp.js} +3 -3
  109. package/dist/{model-picker-CSnZDydf.js → model-picker-Bsyh5aNH.js} +2 -2
  110. package/dist/{model-picker-iDZTbvXk.js → model-picker-C1U-Jt0h.js} +2 -2
  111. package/dist/{models-B_oSANn2.js → models-Cyr_kMKD.js} +8 -8
  112. package/dist/{models-cli-u62LAXdh.js → models-cli-Ds0-bgOC.js} +29 -29
  113. package/dist/{models-cli-CzdeeUpE.js → models-cli-H_wXDrQs.js} +29 -29
  114. package/dist/{models-config-CMJN_5Vh.js → models-config-CjPV5JrE.js} +1 -1
  115. package/dist/{models-config-BTd2aHYU.js → models-config-vcoi9QfD.js} +1 -1
  116. package/dist/{node-cli-BQyxhqF5.js → node-cli-B9nJomOA.js} +9 -9
  117. package/dist/{node-cli-BEvFRkYC.js → node-cli-DHVafAR8.js} +9 -9
  118. package/dist/{nodes-cli-FbzJ-7tA.js → nodes-cli-CyVFmnaa.js} +3 -3
  119. package/dist/{nodes-cli-C2hHbQ47.js → nodes-cli-fvPbfbB4.js} +3 -3
  120. package/dist/{onboard-DcBV5QjY.js → onboard-B-lQ356l.js} +7 -7
  121. package/dist/{onboard-CwNzqMn1.js → onboard-BSMzd6sG.js} +7 -7
  122. package/dist/{onboard-channels-C79jGR3_.js → onboard-channels-C_p8450m.js} +1 -1
  123. package/dist/{onboard-channels-C0wtv2Cp.js → onboard-channels-CfoFMyCh.js} +1 -1
  124. package/dist/{onboard-custom-CwTH9Yg-.js → onboard-custom-CpKrCcyH.js} +2 -2
  125. package/dist/{onboard-custom-adn6IG8i.js → onboard-custom-DsPk-82B.js} +2 -2
  126. package/dist/{onboard-helpers-Bt2zwkKD.js → onboard-helpers-C9emwuya.js} +2 -2
  127. package/dist/{onboard-helpers-CKM-mWPH.js → onboard-helpers-DIAvDwi8.js} +2 -2
  128. package/dist/{onboard-remote-P6H-x_vQ.js → onboard-remote-CJrAdmgq.js} +1 -1
  129. package/dist/{onboard-remote-C-4NSq0W.js → onboard-remote-DQu1ERap.js} +1 -1
  130. package/dist/{onboard-skills-C9ZAlUR6.js → onboard-skills-BC-T_r3T.js} +1 -1
  131. package/dist/{onboard-skills-DlbXWPzM.js → onboard-skills-CtX6zH5x.js} +1 -1
  132. package/dist/{onboarding-CT_P8dE6.js → onboarding-CCO17f35.js} +10 -10
  133. package/dist/{onboarding-C2vTobUO.js → onboarding-CEg1sg-w.js} +10 -10
  134. package/dist/{onboarding.finalize-BdeyH2Eh.js → onboarding.finalize-B0eG7XwQ.js} +31 -31
  135. package/dist/{onboarding.finalize-DPQDvxEp.js → onboarding.finalize-CD7SmwyJ.js} +33 -33
  136. package/dist/{onboarding.gateway-config-DKVcVoUF.js → onboarding.gateway-config-Cr1fFG05.js} +4 -4
  137. package/dist/{onboarding.gateway-config-IqmHGk2A.js → onboarding.gateway-config-GDMTEWcW.js} +4 -4
  138. package/dist/{outbound-BEumB8qs.js → outbound-DXyOHKUR.js} +1 -1
  139. package/dist/{outbound-DTZdWgeZ.js → outbound-DYyGKxSZ.js} +1 -1
  140. package/dist/{outbound-0ici4ICv.js → outbound-Qgo51Q1x.js} +1 -1
  141. package/dist/{outbound-CzuytbQ5.js → outbound-btxNyARe.js} +1 -1
  142. package/dist/{pairing-cli-CUu3LyX0.js → pairing-cli-DC6MUFHZ.js} +1 -1
  143. package/dist/{pairing-cli-D_9vmECc.js → pairing-cli-m3BrxJoY.js} +1 -1
  144. package/dist/{pi-auth-json-Bzpuls50.js → pi-auth-json-Ba2dEWAH.js} +1 -1
  145. package/dist/{pi-embedded-DUUw7-tO.js → pi-embedded-BR587DfN.js} +47 -38
  146. package/dist/{pi-embedded-DmUwEsG1.js → pi-embedded-CyEM9NzS.js} +51 -42
  147. package/dist/{pi-embedded-helpers-f7cnM8BN.js → pi-embedded-helpers-BflbNBBD.js} +1 -1
  148. package/dist/{pi-embedded-helpers-D9Rvkx8A.js → pi-embedded-helpers-CAtkZb8c.js} +5 -5
  149. package/dist/{pi-embedded-helpers-CLip13MP.js → pi-embedded-helpers-KIM5SCp6.js} +5 -5
  150. package/dist/{pi-embedded-helpers-D57pDra0.js → pi-embedded-helpers-XJw27Ryb.js} +1 -1
  151. package/dist/{pi-tools.policy-BegHNtNO.js → pi-tools.policy-BJ7mumw5.js} +2 -2
  152. package/dist/{pi-tools.policy-BV1RWUnE.js → pi-tools.policy-P1akpJL8.js} +2 -2
  153. package/dist/{plugin-registry-C80itc6t.js → plugin-registry-CAuOLe4u.js} +2 -2
  154. package/dist/{plugin-registry-DrYURaBs.js → plugin-registry-gJKyJBN5.js} +2 -2
  155. package/dist/plugin-sdk/agents/plan-mode.d.ts +2 -1
  156. package/dist/plugin-sdk/agents/timeout.d.ts +1 -0
  157. package/dist/plugin-sdk/{audio-preflight-D5K2YgFn.js → audio-preflight-BLIDrYdM.js} +5 -5
  158. package/dist/plugin-sdk/{channel-web-Bkv0U1ox.js → channel-web-CmlTJ7hK.js} +7 -7
  159. package/dist/plugin-sdk/{chrome-DJ6LIeRu.js → chrome-DZFDAzW-.js} +1 -1
  160. package/dist/plugin-sdk/config/types.agent-defaults.d.ts +4 -0
  161. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +2 -0
  162. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +2 -0
  163. package/dist/plugin-sdk/config/zod-schema.d.ts +2 -0
  164. package/dist/plugin-sdk/{config-8u0WDlgj.js → config-E1hS2lFY.js} +3 -1
  165. package/dist/plugin-sdk/{deliver-Bip_mCNI.js → deliver-DedoujTw.js} +2 -2
  166. package/dist/plugin-sdk/{image-DX2HTDUY.js → image-BTkmcfWM.js} +2 -2
  167. package/dist/plugin-sdk/index.js +17 -17
  168. package/dist/plugin-sdk/{login-CKLot2mH.js → login-DsV1n99g.js} +2 -2
  169. package/dist/plugin-sdk/{login-qr-DOVV9TXm.js → login-qr-BXuSdbtI.js} +2 -2
  170. package/dist/plugin-sdk/{outbound-uamhXJrA.js → outbound-2GErJr9p.js} +1 -1
  171. package/dist/plugin-sdk/{pi-embedded-helpers-JY-1kHdk.js → pi-embedded-helpers-ClMAnIcK.js} +5 -5
  172. package/dist/plugin-sdk/{pw-ai-BG29-fkq.js → pw-ai-DgQXeoga.js} +2 -2
  173. package/dist/plugin-sdk/{replies-B1pTxZOl.js → replies-DgHmcQJm.js} +1 -1
  174. package/dist/plugin-sdk/{reply-B576Fhv8.js → reply-ByXRSx6U.js} +47 -38
  175. package/dist/plugin-sdk/{runner-BL2UhCUB.js → runner-BZyapZ82.js} +2 -2
  176. package/dist/plugin-sdk/{send-DnSED91h.js → send-BRY1rgHy.js} +1 -1
  177. package/dist/plugin-sdk/{send-e3xSJ8To.js → send-BeLrD_W8.js} +1 -1
  178. package/dist/plugin-sdk/{send-oZqyXIiB.js → send-BmtFyMcr.js} +1 -1
  179. package/dist/plugin-sdk/{send-CJEdtrU7.js → send-BnQuSlC7.js} +1 -1
  180. package/dist/plugin-sdk/{send-CARqECtw.js → send-pZOlfgD0.js} +1 -1
  181. package/dist/plugin-sdk/{session-CzQVSJF5.js → session-Bjd4Dl7q.js} +1 -1
  182. package/dist/plugin-sdk/{web-mZ4uDhBl.js → web-C0VbV0vu.js} +17 -17
  183. package/dist/plugin-sdk/{whatsapp-actions-1-Mp-KwB.js → whatsapp-actions-ydkRfuPg.js} +2 -2
  184. package/dist/{plugins-cli-Cv9eBXlW.js → plugins-cli-BgXKqvpz.js} +26 -26
  185. package/dist/{plugins-cli-Dnq6iHh8.js → plugins-cli-wo480wui.js} +27 -27
  186. package/dist/{program-iimCXTOX.js → program-Ce64EM2F.js} +33 -33
  187. package/dist/{program-context-D_OS2K8H.js → program-context-D1Aj6Hxo.js} +38 -38
  188. package/dist/{prompt-select-styled-B1V6teLm.js → prompt-select-styled-DLBGvEup.js} +14 -14
  189. package/dist/{prompt-select-styled-BHDOHzSI.js → prompt-select-styled-DWgtQk76.js} +14 -14
  190. package/dist/{provider-auth-helpers-ozVqcIrR.js → provider-auth-helpers-CVi3VrsV.js} +2 -2
  191. package/dist/{provider-auth-helpers-nXDpwc0f.js → provider-auth-helpers-fgQMn0eD.js} +2 -2
  192. package/dist/{push-apns-Dmo8BBk4.js → push-apns-CckLJBvV.js} +1 -1
  193. package/dist/{push-apns-BZ7FEmsK.js → push-apns-kn7d-4VV.js} +1 -1
  194. package/dist/{pw-ai-DhirpjMU.js → pw-ai-5o71PJ5h.js} +2 -2
  195. package/dist/{pw-ai-3nNWe272.js → pw-ai-C3t2kdhc.js} +2 -2
  196. package/dist/{pw-ai-DQuj9c2U.js → pw-ai-D-O0LOKC.js} +2 -2
  197. package/dist/{pw-ai-BUH9Ew6q.js → pw-ai-I8AbpqgG.js} +2 -2
  198. package/dist/{qr-cli-CHnzhKoc.js → qr-cli-DC0qgjHf.js} +1 -1
  199. package/dist/{qr-cli-CGS8DyNl.js → qr-cli-iTQlujHe.js} +1 -1
  200. package/dist/{register.agent-BOuUXJJS.js → register.agent-B94MeV3Q.js} +32 -32
  201. package/dist/{register.agent-DYzV2wmB.js → register.agent-uEXUpxgu.js} +34 -34
  202. package/dist/{register.configure-CHvDZtU1.js → register.configure-Bv85zqz8.js} +37 -37
  203. package/dist/{register.configure-C4oljj3F.js → register.configure-tHkhp6vI.js} +36 -36
  204. package/dist/{register.maintenance-DhprP_dA.js → register.maintenance-BICJkK4r.js} +36 -36
  205. package/dist/{register.maintenance-DIylvylR.js → register.maintenance-DaW01sHo.js} +34 -34
  206. package/dist/{register.message-DF4_1evm.js → register.message-7Or0MY88.js} +26 -26
  207. package/dist/{register.message-B9SgsGyt.js → register.message-CSCfumTM.js} +27 -27
  208. package/dist/{register.onboard-CdwNCs_L.js → register.onboard-DgC3S144.js} +32 -32
  209. package/dist/{register.onboard-DOJyYmJS.js → register.onboard-oEy-BwfU.js} +33 -33
  210. package/dist/{register.setup-DxV_KIbP.js → register.setup-BnpJJOV4.js} +32 -32
  211. package/dist/{register.setup-0Due7c9e.js → register.setup-hrp8DAVZ.js} +33 -33
  212. package/dist/{register.status-health-sessions-C584c9tm.js → register.status-health-sessions-BfLJEzMU.js} +29 -29
  213. package/dist/{register.status-health-sessions-D1tqd_k_.js → register.status-health-sessions-njnukBAU.js} +31 -31
  214. package/dist/{register.subclis-DuON_fJu.js → register.subclis-DEYBaz-Z.js} +28 -28
  215. package/dist/{replies-BnmCXHdE.js → replies-B5Jh0OCP.js} +1 -1
  216. package/dist/{replies-Bhx469BX.js → replies-BVXZDrhw.js} +1 -1
  217. package/dist/{replies-BXYTRk0Z.js → replies-CHirod5x.js} +1 -1
  218. package/dist/{replies-UxER0fi1.js → replies-Cyt5jQaT.js} +1 -1
  219. package/dist/{reply-BzqL_47o.js → reply-77x5WoQH.js} +58 -49
  220. package/dist/{routes-DH3bW8wF.js → routes-BtsprtPx.js} +3 -3
  221. package/dist/{routes-lbqRkIBb.js → routes-D5iYXgsO.js} +3 -3
  222. package/dist/{rpc-BkvZNT-M.js → rpc-CjvivzOg.js} +1 -1
  223. package/dist/{rpc-DYXJGfFr.js → rpc-lMWCuyRt.js} +1 -1
  224. package/dist/{run-main-CcFCZNx_.js → run-main-DNA2le87.js} +44 -44
  225. package/dist/{runner-CplzHJ1b.js → runner-3kD2Hk1w.js} +3 -3
  226. package/dist/{runner-BHZy2rvh.js → runner-Bzh_L69X.js} +2 -2
  227. package/dist/{runner-Cu0qqBIE.js → runner-_npJ-cn9.js} +2 -2
  228. package/dist/{runner-CNY0hwm-.js → runner-b_ibT3sW.js} +3 -3
  229. package/dist/{sandbox-B0QOR7Cn.js → sandbox-BBGJMpXR.js} +5 -5
  230. package/dist/{sandbox-psIl5_gT.js → sandbox-CPR0wRyk.js} +5 -5
  231. package/dist/{sandbox-cli-DAY7EbKl.js → sandbox-cli-BgCrevMy.js} +6 -6
  232. package/dist/{sandbox-cli-CPkB96x-.js → sandbox-cli-CHOc4ElC.js} +6 -6
  233. package/dist/{security-cli-C2ZKf8ET.js → security-cli-B7YKQ6Nh.js} +9 -9
  234. package/dist/{security-cli-Bolpxy60.js → security-cli-iW-aIZ15.js} +9 -9
  235. package/dist/{send-DPKghOxz.js → send--qdaLm4C.js} +1 -1
  236. package/dist/{send-C8fjzstb.js → send-B26isft5.js} +1 -1
  237. package/dist/{send-DiBs_eJc.js → send-BAM-zeo8.js} +1 -1
  238. package/dist/{send-DZbplWNh.js → send-BVKK9mIc.js} +1 -1
  239. package/dist/{send-BbscKwuU.js → send-BfoI2xoz.js} +1 -1
  240. package/dist/{send-Ci3UEBVK.js → send-Btgfdf6H.js} +1 -1
  241. package/dist/{send-CIvsJpdo.js → send-BxkOVx17.js} +1 -1
  242. package/dist/{send-8dFVpIIg.js → send-C1fiVl-C.js} +1 -1
  243. package/dist/{send-CUhH6I6A.js → send-C7DzVT6I.js} +1 -1
  244. package/dist/{send-Bv-112XA.js → send-CNZ2iT1h.js} +1 -1
  245. package/dist/{send-CzxMGZc_.js → send-CboqahSN.js} +1 -1
  246. package/dist/{send-DEcC_kQP.js → send-DVNiZsde.js} +1 -1
  247. package/dist/{send-BVRNZ9hM.js → send-DXw0_dn5.js} +1 -1
  248. package/dist/{send-BPqK6C8h.js → send-DffO5_WA.js} +1 -1
  249. package/dist/{send-Ci0uVV_k.js → send-Dfohx1Dj.js} +1 -1
  250. package/dist/{send-FW1P3D82.js → send-Dfum4W06.js} +1 -1
  251. package/dist/{send-C8ohJBK5.js → send-QGcGaA1o.js} +1 -1
  252. package/dist/{send-CWrxWRjz.js → send-TtpoiB7G.js} +1 -1
  253. package/dist/{send-Bj2SQQVP.js → send-sS-DxRJV.js} +1 -1
  254. package/dist/{send-Bj3PJmrF.js → send-ytd5gZYc.js} +1 -1
  255. package/dist/{server-context-AHh7m1PV.js → server-context-CZZZ5S6q.js} +5 -5
  256. package/dist/{server-context-cw7ha2ct.js → server-context-DiCxB7wV.js} +5 -5
  257. package/dist/{server-methods-BriHyeA7.js → server-methods-DgHyPneM.js} +19 -16
  258. package/dist/{server-methods-CJ7xa1ot.js → server-methods-alycWcYE.js} +20 -17
  259. package/dist/{server-node-events-CCId0gGy.js → server-node-events-B5dFQdac.js} +26 -26
  260. package/dist/{server-node-events-_q8duhVi.js → server-node-events-BkIo___r.js} +27 -27
  261. package/dist/{session-Dw3zM2St.js → session-BFbJf357.js} +1 -1
  262. package/dist/{session-D4FMCkcS.js → session-BdWP3apT.js} +1 -1
  263. package/dist/{session-B4Bibpie.js → session-CiCHQ3Ah.js} +1 -1
  264. package/dist/{session-lD2CnIWX.js → session-Dg44BpS1.js} +1 -1
  265. package/dist/{session-utils-DySzoW4O.js → session-utils-Cs-nCi4-.js} +3 -3
  266. package/dist/{sessions-CRTZnttk.js → sessions-BF3cJslT.js} +1 -1
  267. package/dist/{sessions-L4e356Ra.js → sessions-C_c07viS.js} +1 -1
  268. package/dist/{sessions-BVbSbD60.js → sessions-RYattOnc.js} +3 -3
  269. package/dist/{shared-DZ9YCnZC.js → shared-BmGIQ5oj.js} +1 -1
  270. package/dist/{shared-oaw6SrnD.js → shared-Dg2JustZ.js} +1 -1
  271. package/dist/{skills-cli-DBVcmBEp.js → skills-cli-D9N3SSqr.js} +1 -1
  272. package/dist/{skills-cli-D9gvgM58.js → skills-cli-G_0fvsIb.js} +1 -1
  273. package/dist/{status-BUX2e6T-.js → status-D-gXM4AZ.js} +9 -9
  274. package/dist/{status-oObYVZk-.js → status-T4y8IdyW.js} +2 -2
  275. package/dist/{status-C6UoBmkd.js → status-s0Mudh8o.js} +2 -2
  276. package/dist/{status-DJDE9f6i.js → status-yh81t6sL.js} +10 -10
  277. package/dist/{status.update-CbAFtv61.js → status.update-9QVNoqzS.js} +1 -1
  278. package/dist/{status.update-qDyKo2AJ.js → status.update-DAK4tN-2.js} +1 -1
  279. package/dist/{subagent-registry-BmP1Rhns.js → subagent-registry-newoxfzs.js} +59 -50
  280. package/dist/{system-cli-DpluDf4c.js → system-cli-B0oAtepa.js} +3 -3
  281. package/dist/{system-cli-gtr03ReO.js → system-cli-kixN2BmA.js} +3 -3
  282. package/dist/{systemd-hints-CnG98ooq.js → systemd-hints-BPRCUlOg.js} +1 -1
  283. package/dist/{systemd-hints-Bmr_bzjF.js → systemd-hints-CRzDDf1-.js} +1 -1
  284. package/dist/{tui-UMEqttti.js → tui-CwMmsLXs.js} +4 -4
  285. package/dist/{tui-DnLFki4B.js → tui-PZpjjXWo.js} +4 -4
  286. package/dist/{tui-cli-DaL5S2ce.js → tui-cli-CU2JJJI9.js} +9 -9
  287. package/dist/{tui-cli-ChVrbXQ7.js → tui-cli-PTM4Eps5.js} +9 -9
  288. package/dist/{update-cli-C-zL3WoC.js → update-cli-B1dB4WdO.js} +37 -37
  289. package/dist/{update-cli-Bxb34ox7.js → update-cli-BQdfZeXu.js} +39 -39
  290. package/dist/{update-runner-D9rjTCpa.js → update-runner-DKzlPMRC.js} +1 -1
  291. package/dist/{update-runner-rav9ZMjZ.js → update-runner-HJhfkubt.js} +1 -1
  292. package/dist/{web-BS91XHKA.js → web-BnH0qf_8.js} +16 -16
  293. package/dist/{web-OmlhMCcZ.js → web-CQzdHGhF.js} +16 -16
  294. package/dist/{web-DlKbVYgh.js → web-CScA06_W.js} +29 -29
  295. package/dist/{web-4xYayj1G.js → web-DTIV3Lgo.js} +29 -29
  296. package/dist/{webhooks-cli-BxXpx8Hu.js → webhooks-cli-B97uWTaD.js} +1 -1
  297. package/dist/{webhooks-cli-CvbEWtdd.js → webhooks-cli-CAHebfVz.js} +1 -1
  298. package/dist/{whatsapp-actions-B3zu-BhB.js → whatsapp-actions-BgiS8DUJ.js} +2 -2
  299. package/dist/{whatsapp-actions-DAFOi466.js → whatsapp-actions-BsVCZeLO.js} +2 -2
  300. package/dist/{whatsapp-actions-BWERIEcF.js → whatsapp-actions-DfJHCjBV.js} +2 -2
  301. package/dist/{whatsapp-actions-7xW0TEHg.js → whatsapp-actions-xhdGIJBd.js} +2 -2
  302. package/dist/{with-timeout-C6nbJrH1.js → with-timeout-C0euAxXp.js} +1 -1
  303. package/dist/{with-timeout-CNkLG3QR.js → with-timeout-CiGZZ4b2.js} +1 -1
  304. package/package.json +1 -1
@@ -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-BVRNZ9hM.js";
16
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-Bv-112XA.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-wRQauy5B.js";
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-C8ohJBK5.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-D9Rvkx8A.js";
26
- import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-BUHRlrbS.js";
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-DX-9I4dn.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,7 +36,7 @@ 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-Kl1J-62v.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
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";
@@ -49,17 +49,17 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-F0moAwIl.js";
49
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
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-Cu0qqBIE.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-DPKghOxz.js";
59
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-Bj2SQQVP.js";
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-UxER0fi1.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";
@@ -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-wRQauy5B.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
 
@@ -41645,7 +41647,7 @@ async function deliverSessionMaintenanceWarning(params) {
41645
41647
  return;
41646
41648
  }
41647
41649
  try {
41648
- const { deliverOutboundPayloads } = await import("./deliver-wRQauy5B.js").then((n) => n.n);
41650
+ const { deliverOutboundPayloads } = await import("./deliver-8_lPbrcf.js").then((n) => n.n);
41649
41651
  await deliverOutboundPayloads({
41650
41652
  cfg: params.cfg,
41651
41653
  channel,
@@ -42297,9 +42299,12 @@ async function getReplyFromConfig(ctx, opts, configOverride) {
42297
42299
  ensureBootstrapFiles: !agentCfg?.skipBootstrap && !isFastTestEnv
42298
42300
  })).dir;
42299
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;
42300
42304
  const timeoutMs = resolveAgentTimeoutMs({
42301
42305
  cfg,
42302
- overrideSeconds: opts?.timeoutOverrideSeconds
42306
+ overrideSeconds: opts?.timeoutOverrideSeconds,
42307
+ modelTimeoutSeconds: modelTimeoutSeconds ?? null
42303
42308
  });
42304
42309
  const configuredTypingSeconds = agentCfg?.typingIntervalSeconds ?? sessionCfg?.typingIntervalSeconds;
42305
42310
  const typingIntervalSeconds = typeof configuredTypingSeconds === "number" ? configuredTypingSeconds : 6;
@@ -45088,7 +45093,7 @@ async function describeStickerImage(params) {
45088
45093
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45089
45094
  try {
45090
45095
  const buffer = await fs$1.readFile(imagePath);
45091
- const { describeImageWithModel } = await import("./image-Kl1J-62v.js").then((n) => n.n);
45096
+ const { describeImageWithModel } = await import("./image-BTLvoV0e.js").then((n) => n.n);
45092
45097
  return (await describeImageWithModel({
45093
45098
  buffer,
45094
45099
  fileName: "sticker.webp",
@@ -45511,7 +45516,7 @@ function createWhatsAppLoginTool() {
45511
45516
  force: Type.Optional(Type.Boolean())
45512
45517
  }),
45513
45518
  execute: async (_toolCallId, args) => {
45514
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CADWVR1b.js");
45519
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-C4uL0W0C.js");
45515
45520
  if ((args?.action ?? "start") === "wait") {
45516
45521
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
45517
45522
  return {
@@ -47750,7 +47755,7 @@ async function preflightDiscordMessage(params) {
47750
47755
  let preflightTranscript;
47751
47756
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47752
47757
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47753
- const { transcribeFirstAudio } = await import("./audio-preflight-k4jOy8Bo.js");
47758
+ const { transcribeFirstAudio } = await import("./audio-preflight-BxuYnm6k.js");
47754
47759
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47755
47760
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47756
47761
  ctx: {
@@ -51756,27 +51761,27 @@ function isVoiceChannelType(type) {
51756
51761
  function createDefaultDeps() {
51757
51762
  return {
51758
51763
  sendMessageWhatsApp: async (...args) => {
51759
- const { sendMessageWhatsApp } = await import("./web-BS91XHKA.js");
51764
+ const { sendMessageWhatsApp } = await import("./web-BnH0qf_8.js");
51760
51765
  return await sendMessageWhatsApp(...args);
51761
51766
  },
51762
51767
  sendMessageTelegram: async (...args) => {
51763
- const { sendMessageTelegram } = await import("./send-C8ohJBK5.js").then((n) => n.l);
51768
+ const { sendMessageTelegram } = await import("./send-QGcGaA1o.js").then((n) => n.l);
51764
51769
  return await sendMessageTelegram(...args);
51765
51770
  },
51766
51771
  sendMessageDiscord: async (...args) => {
51767
- const { sendMessageDiscord } = await import("./send-Bv-112XA.js").then((n) => n.t);
51772
+ const { sendMessageDiscord } = await import("./send-CNZ2iT1h.js").then((n) => n.t);
51768
51773
  return await sendMessageDiscord(...args);
51769
51774
  },
51770
51775
  sendMessageSlack: async (...args) => {
51771
- const { sendMessageSlack } = await import("./send-BVRNZ9hM.js").then((n) => n.n);
51776
+ const { sendMessageSlack } = await import("./send-DXw0_dn5.js").then((n) => n.n);
51772
51777
  return await sendMessageSlack(...args);
51773
51778
  },
51774
51779
  sendMessageSignal: async (...args) => {
51775
- const { sendMessageSignal } = await import("./send-DPKghOxz.js").then((n) => n.i);
51780
+ const { sendMessageSignal } = await import("./send--qdaLm4C.js").then((n) => n.i);
51776
51781
  return await sendMessageSignal(...args);
51777
51782
  },
51778
51783
  sendMessageIMessage: async (...args) => {
51779
- const { sendMessageIMessage } = await import("./send-Bj2SQQVP.js").then((n) => n.n);
51784
+ const { sendMessageIMessage } = await import("./send-sS-DxRJV.js").then((n) => n.n);
51780
51785
  return await sendMessageIMessage(...args);
51781
51786
  }
51782
51787
  };
@@ -52256,9 +52261,11 @@ async function agentCommand(opts, runtime = defaultRuntime, deps = createDefault
52256
52261
  const isSubagentLane = (typeof opts.lane === "string" ? opts.lane.trim() : "") === String(AGENT_LANE_SUBAGENT);
52257
52262
  const timeoutSecondsRaw = opts.timeout !== void 0 ? Number.parseInt(String(opts.timeout), 10) : isSubagentLane ? 0 : void 0;
52258
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;
52259
52265
  const timeoutMs = resolveAgentTimeoutMs({
52260
52266
  cfg,
52261
- overrideSeconds: timeoutSecondsRaw
52267
+ overrideSeconds: timeoutSecondsRaw,
52268
+ modelTimeoutSeconds: (primaryModelKey ? cfg?.agents?.defaults?.models?.[primaryModelKey]?.timeoutSeconds : void 0) ?? null
52262
52269
  });
52263
52270
  const { sessionId, sessionKey, sessionEntry: resolvedSessionEntry, sessionStore, storePath, isNewSession, persistedThinking, persistedVerbose } = resolveSession({
52264
52271
  cfg,
@@ -54660,7 +54667,7 @@ function createDiscordGatewayPlugin(params) {
54660
54667
  super(options);
54661
54668
  }
54662
54669
  createWebSocket(url) {
54663
- return new WebSocket$1(url, { agent });
54670
+ return new WebSocket(url, { agent });
54664
54671
  }
54665
54672
  }
54666
54673
  return new ProxyGatewayPlugin();
@@ -62605,7 +62612,7 @@ async function registerSlackMonitorSlashCommands(params) {
62605
62612
  });
62606
62613
  const deliverSlashPayloads = async (replies) => {
62607
62614
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
62608
- import("./replies-UxER0fi1.js").then((n) => n.r),
62615
+ import("./replies-Cyt5jQaT.js").then((n) => n.r),
62609
62616
  import("./chunk-DTMTDXwE.js").then((n) => n.s),
62610
62617
  import("./markdown-tables-DawaaZEe.js").then((n) => n.t)
62611
62618
  ]);
@@ -64878,7 +64885,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64878
64885
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64879
64886
  let preflightTranscript;
64880
64887
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64881
- const { transcribeFirstAudio } = await import("./audio-preflight-k4jOy8Bo.js");
64888
+ const { transcribeFirstAudio } = await import("./audio-preflight-BxuYnm6k.js");
64882
64889
  preflightTranscript = await transcribeFirstAudio({
64883
64890
  ctx: {
64884
64891
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -67023,23 +67030,23 @@ let webLoginQrPromise = null;
67023
67030
  let webChannelPromise = null;
67024
67031
  let whatsappActionsPromise = null;
67025
67032
  function loadWebOutbound() {
67026
- webOutboundPromise ??= import("./outbound-BEumB8qs.js").then((n) => n.t);
67033
+ webOutboundPromise ??= import("./outbound-DXyOHKUR.js").then((n) => n.t);
67027
67034
  return webOutboundPromise;
67028
67035
  }
67029
67036
  function loadWebLogin() {
67030
- webLoginPromise ??= import("./login-J-hL4MZQ.js").then((n) => n.n);
67037
+ webLoginPromise ??= import("./login-C2C1yAD8.js").then((n) => n.n);
67031
67038
  return webLoginPromise;
67032
67039
  }
67033
67040
  function loadWebLoginQr() {
67034
- webLoginQrPromise ??= import("./login-qr-CADWVR1b.js");
67041
+ webLoginQrPromise ??= import("./login-qr-C4uL0W0C.js");
67035
67042
  return webLoginQrPromise;
67036
67043
  }
67037
67044
  function loadWebChannel() {
67038
- webChannelPromise ??= import("./web-BS91XHKA.js");
67045
+ webChannelPromise ??= import("./web-BnH0qf_8.js");
67039
67046
  return webChannelPromise;
67040
67047
  }
67041
67048
  function loadWhatsAppActions() {
67042
- whatsappActionsPromise ??= import("./whatsapp-actions-DAFOi466.js");
67049
+ whatsappActionsPromise ??= import("./whatsapp-actions-BsVCZeLO.js");
67043
67050
  return whatsappActionsPromise;
67044
67051
  }
67045
67052
  function createPluginRuntime() {
@@ -74918,7 +74925,7 @@ function scorePlanComplexity(prompt) {
74918
74925
  if ([...PLAN_KEYWORDS, ...ANALYSIS_KEYWORDS].some((kw) => lower.includes(kw)) || FILE_PATH_RE.test(prompt)) score += 3;
74919
74926
  }
74920
74927
  const numberedItems = prompt.match(NUMBERED_LIST_RE);
74921
- if (numberedItems && numberedItems.length >= 3) score += 2;
74928
+ if (numberedItems && numberedItems.length >= 6) score += 2;
74922
74929
  for (const kw of PLAN_KEYWORDS) if (lower.includes(kw)) {
74923
74930
  score += 2;
74924
74931
  break;
@@ -74935,7 +74942,7 @@ function scorePlanComplexity(prompt) {
74935
74942
  }
74936
74943
  return score;
74937
74944
  }
74938
- const PLAN_MODE_THRESHOLD = 5;
74945
+ const PLAN_MODE_THRESHOLD = 8;
74939
74946
  /**
74940
74947
  * Determine whether a prompt should trigger plan mode.
74941
74948
  *
@@ -74970,14 +74977,15 @@ function shouldEnterPlanMode(prompt, opts = {}) {
74970
74977
  score: 0
74971
74978
  };
74972
74979
  const score = scorePlanComplexity(trimmed);
74973
- if (score >= PLAN_MODE_THRESHOLD) return {
74980
+ const threshold = opts.threshold ?? PLAN_MODE_THRESHOLD;
74981
+ if (score >= threshold) return {
74974
74982
  enter: true,
74975
- reason: `complexity score ${score} >= ${PLAN_MODE_THRESHOLD}`,
74983
+ reason: `complexity score ${score} >= ${threshold}`,
74976
74984
  score
74977
74985
  };
74978
74986
  return {
74979
74987
  enter: false,
74980
- reason: `complexity score ${score} < ${PLAN_MODE_THRESHOLD}`,
74988
+ reason: `complexity score ${score} < ${threshold}`,
74981
74989
  score
74982
74990
  };
74983
74991
  }
@@ -76267,7 +76275,8 @@ async function runEmbeddedAttempt(params) {
76267
76275
  {
76268
76276
  const planResult = shouldEnterPlanMode(effectivePrompt, {
76269
76277
  isSubagent: isSubagentSessionKey(params.sessionKey),
76270
- isCron: isCronSessionKey(params.sessionKey)
76278
+ isCron: isCronSessionKey(params.sessionKey),
76279
+ threshold: params.config?.agents?.defaults?.planModeThreshold
76271
76280
  });
76272
76281
  if (planResult.enter) {
76273
76282
  if (planResult.stripped != null) effectivePrompt = planResult.stripped;
@@ -1,6 +1,6 @@
1
1
  import { E as truncateUtf16Safe } from "./utils-B-0b9bGM.js";
2
2
  import { s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
3
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-B0QOR7Cn.js";
3
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-BBGJMpXR.js";
4
4
  import { t as sanitizeContentBlocksImages } from "./tool-images-DvUBlqjX.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
@@ -9,8 +9,8 @@ import { r as normalizeChannelId } from "./plugins-71oIavrF.js";
9
9
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
10
10
  import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-ByaQt43P.js";
11
11
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BQINJQIT.js";
12
- import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-BUHRlrbS.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-DX-9I4dn.js";
12
+ import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-Crs8V2FU.js";
13
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-BUUMKYz7.js";
14
14
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BNpGMnp-.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -931,7 +931,7 @@ function isModuleNotFoundError(err) {
931
931
  }
932
932
  async function loadPwAiModule(mode) {
933
933
  try {
934
- return await import("./pw-ai-DQuj9c2U.js");
934
+ return await import("./pw-ai-D-O0LOKC.js");
935
935
  } catch (err) {
936
936
  if (mode === "soft") return null;
937
937
  if (isModuleNotFoundError(err)) return null;
@@ -3471,11 +3471,11 @@ function createProfileContext(opts, profile) {
3471
3471
  const userDataDir = resolveSymiUserDataDir(profile.name);
3472
3472
  const profileState = getProfileState();
3473
3473
  if (await isHttpReachable(300) && !profileState.running) try {
3474
- await (await import("./pw-ai-DQuj9c2U.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-D-O0LOKC.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-DQuj9c2U.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-D-O0LOKC.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -11,8 +11,8 @@ import { t as formatCliCommand } from "./command-format-BaxDnULz.js";
11
11
  import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-CvJzsyvE.js";
12
12
  import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-Db8I8QVL.js";
13
13
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-Dz5lr5b0.js";
14
- import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-C_1uZzwy.js";
15
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-DrxNYzTD.js";
14
+ import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-Bh5BJYfZ.js";
15
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_SYMI_BROWSER_ENABLED, N as DEFAULT_SYMI_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveSymiUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchSymiChrome, j as DEFAULT_SYMI_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopSymiChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-DGb_CkF8.js";
16
16
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BFekKL7i.js";
17
17
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BoQgnc8X.js";
18
18
  import { t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
933
933
  }
934
934
  async function loadPwAiModule(mode) {
935
935
  try {
936
- return await import("./pw-ai-BUH9Ew6q.js");
936
+ return await import("./pw-ai-I8AbpqgG.js");
937
937
  } catch (err) {
938
938
  if (mode === "soft") return null;
939
939
  if (isModuleNotFoundError(err)) return null;
@@ -3473,11 +3473,11 @@ function createProfileContext(opts, profile) {
3473
3473
  const userDataDir = resolveSymiUserDataDir(profile.name);
3474
3474
  const profileState = getProfileState();
3475
3475
  if (await isHttpReachable(300) && !profileState.running) try {
3476
- await (await import("./pw-ai-BUH9Ew6q.js")).closePlaywrightBrowserConnection();
3476
+ await (await import("./pw-ai-I8AbpqgG.js")).closePlaywrightBrowserConnection();
3477
3477
  } catch {}
3478
3478
  if (profileState.running) await stopRunningBrowser();
3479
3479
  try {
3480
- await (await import("./pw-ai-BUH9Ew6q.js")).closePlaywrightBrowserConnection();
3480
+ await (await import("./pw-ai-I8AbpqgG.js")).closePlaywrightBrowserConnection();
3481
3481
  } catch {}
3482
3482
  if (!fs$1.existsSync(userDataDir)) return {
3483
3483
  moved: false,
@@ -1,5 +1,5 @@
1
1
  import { pt as truncateUtf16Safe } from "./entry.js";
2
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-psIl5_gT.js";
2
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CPR0wRyk.js";
3
3
  import { t as sanitizeContentBlocksImages } from "./tool-images-CVLISeRT.js";
4
4
  import { s as normalizeThinkLevel } from "./thinking-8sKPnzpp.js";
5
5
  import path from "node:path";
@@ -1,8 +1,8 @@
1
1
  import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey } from "./session-key-DCt45XZa.js";
2
2
  import { r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
3
3
  import { l as normalizeMessageChannel } from "./message-channel-aT-I_DTX.js";
4
- import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DB5jMj3Z.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-B0QOR7Cn.js";
4
+ import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-BMStjqdp.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-BBGJMpXR.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BhS32F6E.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -1,8 +1,8 @@
1
1
  import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey } from "./session-key-DjZ7Z1hW.js";
2
2
  import { r as resolveAgentConfig } from "./agent-scope-D-jRCY0d.js";
3
- import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-COvlkain.js";
3
+ import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-CxnbOYs8.js";
4
4
  import { l as normalizeMessageChannel } from "./message-channel-C9dERklz.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-psIl5_gT.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-CPR0wRyk.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-DKxQXuAg.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { gt as loadSymiPlugins } from "./reply-BzqL_47o.js";
2
+ import { gt as loadSymiPlugins } from "./reply-77x5WoQH.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Cja8eT7G.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
6
- import { i as loadConfig } from "./config-DB5jMj3Z.js";
6
+ import { i as loadConfig } from "./config-BMStjqdp.js";
7
7
 
8
8
  //#region src/cli/plugin-registry.ts
9
9
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
4
- import { i as loadConfig } from "./config-COvlkain.js";
5
- import { _ as loadSymiPlugins } from "./subagent-registry-BmP1Rhns.js";
4
+ import { i as loadConfig } from "./config-CxnbOYs8.js";
5
+ import { _ as loadSymiPlugins } from "./subagent-registry-newoxfzs.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -10,7 +10,7 @@
10
10
  * Returns a numeric score; >= PLAN_MODE_THRESHOLD triggers plan mode.
11
11
  */
12
12
  export declare function scorePlanComplexity(prompt: string): number;
13
- export declare const PLAN_MODE_THRESHOLD = 5;
13
+ export declare const PLAN_MODE_THRESHOLD = 8;
14
14
  /**
15
15
  * Determine whether a prompt should trigger plan mode.
16
16
  *
@@ -23,6 +23,7 @@ export declare const PLAN_MODE_THRESHOLD = 5;
23
23
  export declare function shouldEnterPlanMode(prompt: string, opts?: {
24
24
  isSubagent?: boolean;
25
25
  isCron?: boolean;
26
+ threshold?: number;
26
27
  }): {
27
28
  enter: boolean;
28
29
  reason: string;
@@ -4,5 +4,6 @@ export declare function resolveAgentTimeoutMs(opts: {
4
4
  cfg?: SymiConfig;
5
5
  overrideMs?: number | null;
6
6
  overrideSeconds?: number | null;
7
+ modelTimeoutSeconds?: number | null;
7
8
  minMs?: number;
8
9
  }): number;
@@ -3,7 +3,7 @@ import "./paths-DR2yt_mP.js";
3
3
  import "./github-copilot-token-D9X2phUj.js";
4
4
  import "./plugins-BbAvhC25.js";
5
5
  import { K as logVerbose, Y as shouldLogVerbose } from "./registry--_pGht6S.js";
6
- import "./config-8u0WDlgj.js";
6
+ import "./config-E1hS2lFY.js";
7
7
  import "./subsystem-Coz2AgU8.js";
8
8
  import "./command-format-DSdvQ_M5.js";
9
9
  import "./model-selection-aEd_4vFO.js";
@@ -17,16 +17,16 @@ import "./local-roots-Ckk1QfzI.js";
17
17
  import "./message-channel-BdI5Ra9S.js";
18
18
  import "./bindings-BbwoUGPx.js";
19
19
  import "./tool-images-D7Lno-TE.js";
20
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-BL2UhCUB.js";
20
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-BZyapZ82.js";
21
21
  import "./skills-B1GeRYlu.js";
22
- import "./chrome-DJ6LIeRu.js";
22
+ import "./chrome-DZFDAzW-.js";
23
23
  import "./thinking-DCNUIAHY.js";
24
24
  import "./accounts-Dtszw3Zn.js";
25
25
  import "./accounts-BToL3HlP.js";
26
- import "./pi-embedded-helpers-JY-1kHdk.js";
26
+ import "./pi-embedded-helpers-ClMAnIcK.js";
27
27
  import "./paths-A0xdf3yk.js";
28
28
  import "./store-Do3t33-c.js";
29
- import "./image-DX2HTDUY.js";
29
+ import "./image-BTkmcfWM.js";
30
30
  import "./pi-model-discovery-LbcEa65a.js";
31
31
  import "./api-key-rotation-DNKq8sDG.js";
32
32
 
@@ -1,8 +1,8 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
2
  import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
- import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-B576Fhv8.js";
3
+ import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-ByXRSx6U.js";
4
4
  import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
5
- import { n as loadConfig } from "./config-8u0WDlgj.js";
5
+ import { n as loadConfig } from "./config-E1hS2lFY.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
7
7
  import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
8
8
  import { n as recordChannelActivity } from "./channel-activity-Ji7f0gqq.js";
@@ -11,18 +11,18 @@ import { a as loadWebMedia } from "./ir-Fb3qpcis.js";
11
11
  import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-jvk9axTQ.js";
12
12
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
13
13
  import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
14
- import { G as readChannelAllowFromStore, J as upsertChannelPairingRequest, K as readChannelAllowFromStoreSync, nt as toLocationContext, tt as formatLocationText } from "./send-DnSED91h.js";
15
- import { f as registerUnhandledRejectionHandler } from "./runner-BL2UhCUB.js";
14
+ import { G as readChannelAllowFromStore, J as upsertChannelPairingRequest, K as readChannelAllowFromStoreSync, nt as toLocationContext, tt as formatLocationText } from "./send-BRY1rgHy.js";
15
+ import { f as registerUnhandledRejectionHandler } from "./runner-BZyapZ82.js";
16
16
  import { l as resolveIdentityNamePrefix, n as createReplyPrefixOptions, u as resolveMessagePrefix } from "./reply-prefix-BHuV5t70.js";
17
17
  import { F as resolveChannelGroupRequireMention, P as resolveChannelGroupPolicy } from "./thinking-DCNUIAHY.js";
18
- import { Xt as resolveGroupSessionKey, _t as updateLastRoute, gt as recordSessionMetaFromInbound, ht as readSessionUpdatedAt, mt as loadSessionStore } from "./pi-embedded-helpers-JY-1kHdk.js";
18
+ import { Xt as resolveGroupSessionKey, _t as updateLastRoute, gt as recordSessionMetaFromInbound, ht as readSessionUpdatedAt, mt as loadSessionStore } from "./pi-embedded-helpers-ClMAnIcK.js";
19
19
  import { s as resolveStorePath } from "./paths-A0xdf3yk.js";
20
20
  import { i as saveMediaBuffer } from "./store-Do3t33-c.js";
21
21
  import { t as finalizeInboundContext } from "./inbound-context-D5EzMeL_.js";
22
22
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-D3JH_D2N.js";
23
23
  import { r as setActiveWebListener } from "./active-listener-bEk__wbB.js";
24
- import { i as markdownToWhatsApp, r as sendReactionWhatsApp } from "./outbound-uamhXJrA.js";
25
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-CzQVSJF5.js";
24
+ import { i as markdownToWhatsApp, r as sendReactionWhatsApp } from "./outbound-2GErJr9p.js";
25
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-Bjd4Dl7q.js";
26
26
  import { randomUUID } from "node:crypto";
27
27
  import { DisconnectReason, downloadMediaMessage, extractMessageContent, getContentType, isJidGroup, normalizeMessageContent } from "@whiskeysockets/baileys";
28
28
 
@@ -1,5 +1,5 @@
1
1
  import { b as CONFIG_DIR } from "./registry--_pGht6S.js";
2
- import { n as loadConfig } from "./config-8u0WDlgj.js";
2
+ import { n as loadConfig } from "./config-E1hS2lFY.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
4
4
  import { i as isErrno } from "./errors-Bv8oZiTO.js";
5
5
  import { s as resolvePinnedHostnameWithPolicy } from "./ssrf-DKZ8eBrk.js";
@@ -8,6 +8,8 @@ export type AgentModelEntryConfig = {
8
8
  params?: Record<string, unknown>;
9
9
  /** Enable streaming for this model (default: true, false for Ollama to avoid SDK issue #1205). */
10
10
  streaming?: boolean;
11
+ /** Per-model timeout in seconds (overrides global timeoutSeconds when this model is active). */
12
+ timeoutSeconds?: number;
11
13
  };
12
14
  export type AgentModelListConfig = {
13
15
  primary?: string;
@@ -110,6 +112,8 @@ export type CliBackendConfig = {
110
112
  export type AgentDefaultsConfig = {
111
113
  /** System prompt mode: "full" (default), "coding" (strips non-coding sections), "minimal" (subagents). */
112
114
  promptMode?: "full" | "coding";
115
+ /** Plan mode complexity threshold (1–20, default: 8). Higher = fewer auto-plan triggers. */
116
+ planModeThreshold?: number;
113
117
  /** Primary model and fallbacks (provider/model). */
114
118
  model?: AgentModelListConfig;
115
119
  /** Optional image-capable model and fallbacks (provider/model). */