@symerian/symi 2.0.19 → 2.0.21

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 (349) hide show
  1. package/dist/{acp-cli-sXld4yJl.js → acp-cli-CucGW37J.js} +3 -3
  2. package/dist/{acp-cli-bbOWOXnN.js → acp-cli-bbMTiuvi.js} +3 -3
  3. package/dist/{agents-CENGwpKH.js → agents-BSeFiBRj.js} +8 -8
  4. package/dist/{agents.config-WhJPXBWO.js → agents.config-HV2CtcLr.js} +1 -1
  5. package/dist/{agents.config-CgNflQtq.js → agents.config-_hO_QR2M.js} +1 -1
  6. package/dist/{api-key-rotation-De1ivBc0.js → api-key-rotation-Yddo7iSo.js} +1 -1
  7. package/dist/{audio-preflight-USnUISOE.js → audio-preflight-19hTzgl9.js} +13 -13
  8. package/dist/{audio-preflight-BxuYnm6k.js → audio-preflight-CU_XD3wQ.js} +7 -7
  9. package/dist/{audio-preflight-DCHBMKWE.js → audio-preflight-DUJsUsB1.js} +13 -13
  10. package/dist/{audio-preflight-Djedh6Uc.js → audio-preflight-xXPdllT2.js} +7 -7
  11. package/dist/{audit-DpqAVLn7.js → audit-BqIaLubU.js} +7 -7
  12. package/dist/{audit-Dxa-KhrA.js → audit-DHvgRd1-.js} +7 -7
  13. package/dist/{auth-choice-BdZAR0l8.js → auth-choice-CMn1icch.js} +7 -7
  14. package/dist/{auth-choice-upc_PcJy.js → auth-choice-Dvi3b00E.js} +7 -7
  15. package/dist/{auth-profiles-Cs3GPB03.js → auth-profiles-BS_I3lKI.js} +21 -5
  16. package/dist/{auth-token-CbDExtp_.js → auth-token-BgP1x6qJ.js} +1 -1
  17. package/dist/{auth-token-DdkoxDu3.js → auth-token-DJczN1M9.js} +1 -1
  18. package/dist/{banner-BE8pGhkj.js → banner-DJ43fuRA.js} +1 -1
  19. package/dist/{browser-cli-DQ0DQymk.js → browser-cli-B2ebOUVu.js} +4 -4
  20. package/dist/{browser-cli-8URbjVyN.js → browser-cli-BHhSGWsA.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-B-p451Eo.js → call-CvHdkyUu.js} +1 -1
  25. package/dist/{call-Cspuh_Jh.js → call-D8YrSTQS.js} +1 -1
  26. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  27. package/dist/{channel-options-BPQpyMzn.js → channel-options-BIqTdeyS.js} +1 -1
  28. package/dist/{channel-options-DEmvgalQ.js → channel-options-OhTp1gp0.js} +1 -1
  29. package/dist/{channel-web-Djcjl6S4.js → channel-web-DwTSnmX3.js} +8 -8
  30. package/dist/{channels-cli-Dn9ahV_w.js → channels-cli-BZVAXuw6.js} +38 -38
  31. package/dist/{channels-cli-Cps6htRW.js → channels-cli-CEdBXvqG.js} +39 -39
  32. package/dist/{chrome-DGb_CkF8.js → chrome-0jst3oxa.js} +1 -1
  33. package/dist/{chrome-BUUMKYz7.js → chrome-Bb5ivmrz.js} +8 -8
  34. package/dist/{chrome-Chj8uCZN.js → chrome-CYmV7wN8.js} +1 -1
  35. package/dist/{chrome-XQjc7KSW.js → chrome-Djqc4X4V.js} +1 -1
  36. package/dist/cli/daemon-cli.js +1 -1
  37. package/dist/{cli-atR7r3t-.js → cli-BhX7v0Gc.js} +34 -34
  38. package/dist/{cli-Df__rsHc.js → cli-DpH_bL5y.js} +33 -33
  39. package/dist/{command-registry-Yv0ZBYYd.js → command-registry-BGBpeVI4.js} +11 -11
  40. package/dist/{commands-registry-DN93gKlx.js → commands-registry-DCUIFMIL.js} +1 -1
  41. package/dist/{commands-registry-nK_mZXUN.js → commands-registry-DSZSSHny.js} +1 -1
  42. package/dist/{commands-registry-tuRMQmX4.js → commands-registry-DhT2Skgp.js} +1 -1
  43. package/dist/{commands-registry-B_V42ZiZ.js → commands-registry-xbZ77kzw.js} +1 -1
  44. package/dist/{completion-cli-BCDS6oHd.js → completion-cli-C_c6mPUj.js} +2 -2
  45. package/dist/{completion-cli-Bw-2RaGe.js → completion-cli-Cn7LdRdM.js} +1 -1
  46. package/dist/{config-Crs8V2FU.js → config-6k8f4O94.js} +4 -2
  47. package/dist/{config-CxnbOYs8.js → config-CGJ96S46.js} +4 -2
  48. package/dist/{config-cli-BK-o9KUV.js → config-cli-ANninpk5.js} +3 -3
  49. package/dist/{config-cli-CQJtnjeK.js → config-cli-Dhao17cx.js} +3 -3
  50. package/dist/{config-guard-CNwpT-bm.js → config-guard-BfyorHCy.js} +5 -5
  51. package/dist/{config-guard-DvNDqIJp.js → config-guard-BmDOhJF-.js} +2 -2
  52. package/dist/{config-Bh5BJYfZ.js → config-oz6yMs1r.js} +4 -2
  53. package/dist/{config-BMStjqdp.js → config-uEQqNsoL.js} +4 -2
  54. package/dist/{config-validation-D0ku5PSk.js → config-validation-Dr-_vV9F.js} +1 -1
  55. package/dist/{config-validation-g8v4CRxO.js → config-validation-QqCZq8BO.js} +1 -1
  56. package/dist/{configure-D1fWVt_Z.js → configure-Bk5y106m.js} +11 -11
  57. package/dist/{configure-D6i9bdDN.js → configure-CW1bGvDg.js} +11 -11
  58. package/dist/{control-service-B7EmYYFH.js → control-service-C8yt3FSq.js} +4 -4
  59. package/dist/{control-service-BwrQoUMh.js → control-service-CjU6sFdJ.js} +4 -4
  60. package/dist/{cron-cli-D-nqfPZ5.js → cron-cli-97q0AjAn.js} +4 -4
  61. package/dist/{cron-cli-D9nGEQiu.js → cron-cli-BOD-J9a-.js} +4 -4
  62. package/dist/{daemon-cli-l5oXLo3n.js → daemon-cli-BT2sI9-3.js} +6 -6
  63. package/dist/{daemon-cli-DJR87xEg.js → daemon-cli-C6Ju1ptH.js} +6 -6
  64. package/dist/daemon-cli.js +3 -1
  65. package/dist/{daemon-runtime-BkVgNwLi.js → daemon-runtime-BySJ0Lp1.js} +1 -1
  66. package/dist/{daemon-runtime-D4sIbUkl.js → daemon-runtime-DFHqkET0.js} +1 -1
  67. package/dist/{deliver-8jOk1f3v.js → deliver-CBkk7rHm.js} +3 -3
  68. package/dist/{deliver-mS1WnuiB.js → deliver-CyuL3391.js} +2 -2
  69. package/dist/{deliver-8_lPbrcf.js → deliver-UASIwAO4.js} +2 -2
  70. package/dist/{deliver-C0Azi_cK.js → deliver-uSLZirbx.js} +3 -3
  71. package/dist/{devices-cli-V6vhbLKq.js → devices-cli-CuepNiOK.js} +3 -3
  72. package/dist/{devices-cli-CaK3Ausk.js → devices-cli-DCpwNXHx.js} +3 -3
  73. package/dist/{directory-cli-BmNzLgXc.js → directory-cli-C-l3hDLV.js} +2 -2
  74. package/dist/{directory-cli-Cd9lchia.js → directory-cli-CJrdIIMY.js} +2 -2
  75. package/dist/{dm-policy-shared-flFO0wFg.js → dm-policy-shared-Ctb5IkNa.js} +1 -1
  76. package/dist/{dm-policy-shared-CvHrO6D_.js → dm-policy-shared-DzlcnEMg.js} +1 -1
  77. package/dist/{dns-cli-BEOWeAGR.js → dns-cli-DDXNezGt.js} +2 -2
  78. package/dist/{dns-cli-mH-jPqkH.js → dns-cli-DTs_aknb.js} +2 -2
  79. package/dist/{doctor-completion-DblWjsvi.js → doctor-completion-BrxVe5Vw.js} +1 -1
  80. package/dist/{doctor-completion-CCRu96-k.js → doctor-completion-rUiI3KDq.js} +1 -1
  81. package/dist/{doctor-config-flow-Dd6-lC3V.js → doctor-config-flow-BTonoZiN.js} +3 -3
  82. package/dist/{doctor-config-flow-Dpnvu5A2.js → doctor-config-flow-CVPHaevC.js} +3 -3
  83. package/dist/entry.js +1 -1
  84. package/dist/{exec-approvals-cli-Dlf9s8ne.js → exec-approvals-cli-CIO2ZfDu.js} +5 -5
  85. package/dist/{exec-approvals-cli-lDvry8Xq.js → exec-approvals-cli-CyCL9HhA.js} +5 -5
  86. package/dist/extensionAPI.js +18 -18
  87. package/dist/{gateway-cli-CaelVnat.js → gateway-cli-BH1WWnP0.js} +52 -52
  88. package/dist/{gateway-cli-B7kUZfUu.js → gateway-cli-D9cvWV3T.js} +51 -51
  89. package/dist/{gateway-rpc-CCYQR5Bz.js → gateway-rpc-C08aRZPm.js} +1 -1
  90. package/dist/{gateway-rpc-aJiLRbJG.js → gateway-rpc-C8yFonDu.js} +1 -1
  91. package/dist/{gemini-auth-DmWoaMTb.js → gemini-auth-BoaKgS4s.js} +1 -1
  92. package/dist/{gemini-auth-2cinXFeY.js → gemini-auth-Cb6WywoJ.js} +1 -1
  93. package/dist/{gemini-auth-DtBB7-5F.js → gemini-auth-DcYr7a2U.js} +1 -1
  94. package/dist/{glass-ui-ws-CMCfE_8I.js → glass-ui-ws-C_39oBWc.js} +42 -42
  95. package/dist/{glass-ui-ws-CzHgG5_-.js → glass-ui-ws-Cr62sdzu.js} +43 -43
  96. package/dist/{health-CiMUQ2KG.js → health-BqG74n1V.js} +5 -5
  97. package/dist/{health-C8krNwSF.js → health-Dxc7OaYZ.js} +5 -5
  98. package/dist/{hooks-cli-C8fq5oKx.js → hooks-cli-CDIAvBdY.js} +34 -34
  99. package/dist/{hooks-cli-CYHfc5jB.js → hooks-cli-CXTnYD_D.js} +35 -35
  100. package/dist/{image-bJzFwVE3.js → image-DBnlBG4I.js} +3 -3
  101. package/dist/{image-CNYGLoQl.js → image-DTQ8kORz.js} +3 -3
  102. package/dist/{image-BTLvoV0e.js → image-DViVUwBd.js} +3 -3
  103. package/dist/{image-DCnQz5jN.js → image-OBAjrX26.js} +3 -3
  104. package/dist/index.js +42 -42
  105. package/dist/{lifecycle-core-f8oPRRaQ.js → lifecycle-core-Dbt4g6Of.js} +2 -2
  106. package/dist/{lifecycle-core-C7fyJOuN.js → lifecycle-core-Dd9x949O.js} +2 -2
  107. package/dist/llm-slug-generator.js +18 -18
  108. package/dist/{login-CJf4Gdbq.js → login-CMot-0rl.js} +2 -2
  109. package/dist/{login-DTkUG4Mp.js → login-Cfm3bDH5.js} +2 -2
  110. package/dist/{login-C2C1yAD8.js → login-Cv_yqC3s.js} +2 -2
  111. package/dist/{login-BZsZO9ST.js → login-K4zjz_fH.js} +2 -2
  112. package/dist/{login-qr-CBPis3I2.js → login-qr-BMs92uQR.js} +3 -3
  113. package/dist/{login-qr-rvsxQT5p.js → login-qr-DLsX7QTE.js} +3 -3
  114. package/dist/{login-qr-C4uL0W0C.js → login-qr-DZhDF5IA.js} +3 -3
  115. package/dist/{login-qr-BSm4xrHW.js → login-qr-Dum8wEJm.js} +3 -3
  116. package/dist/{logs-cli-DJJ4_QXv.js → logs-cli-DGh7EDcI.js} +4 -4
  117. package/dist/{logs-cli-9__MsacS.js → logs-cli-ZVZ24zfk.js} +4 -4
  118. package/dist/{manager-D0d-bOOe.js → manager-ATGdr2di.js} +2 -2
  119. package/dist/{manager-Cw42HtQ7.js → manager-BB42BLb9.js} +2 -2
  120. package/dist/{manager-DqkRhYYl.js → manager-CkLgUBR9.js} +2 -2
  121. package/dist/{manager-D5ZbBYmN.js → manager-WMCMBAXk.js} +2 -2
  122. package/dist/{memory-cli-OWL3A7_N.js → memory-cli-Dyj4Z7nu.js} +5 -5
  123. package/dist/{memory-cli-D5iikkSG.js → memory-cli-Vk3GHSJH.js} +5 -5
  124. package/dist/{model-ApXxvnzl.js → model-CW9V-AKq.js} +1 -1
  125. package/dist/{model-DDV7HL-B.js → model-CaahPnPE.js} +1 -1
  126. package/dist/{model-auth-Db8I8QVL.js → model-auth-ueipoWgv.js} +21 -5
  127. package/dist/{model-catalog-Dq60dweH.js → model-catalog-B-RLz1zZ.js} +4 -4
  128. package/dist/{model-catalog-jhBOlBYp.js → model-catalog-BIB3bwBr.js} +4 -4
  129. package/dist/{model-picker-Bsyh5aNH.js → model-picker-BT5a_jUa.js} +3 -3
  130. package/dist/{model-picker-C1U-Jt0h.js → model-picker-BTOrJOu8.js} +3 -3
  131. package/dist/{model-selection-BBrZnKDw.js → model-selection-CSRFODzV.js} +21 -5
  132. package/dist/{model-selection-DBPwoBvb.js → model-selection-d3VVSx3Z.js} +21 -5
  133. package/dist/{models-Cyr_kMKD.js → models-CBvEOwwi.js} +14 -14
  134. package/dist/{models-cli-Ds0-bgOC.js → models-cli-DbzhkuY-.js} +39 -39
  135. package/dist/{models-cli-H_wXDrQs.js → models-cli-Sqm4aZYq.js} +40 -40
  136. package/dist/{models-config-vcoi9QfD.js → models-config-BInyA1DL.js} +2 -2
  137. package/dist/{models-config-CjPV5JrE.js → models-config-BazBts_w.js} +2 -2
  138. package/dist/{node-cli-B9nJomOA.js → node-cli-BlscM5bI.js} +10 -10
  139. package/dist/{node-cli-DHVafAR8.js → node-cli-UQcJGA67.js} +10 -10
  140. package/dist/{nodes-cli-fvPbfbB4.js → nodes-cli-DqUBHLTT.js} +4 -4
  141. package/dist/{nodes-cli-CyVFmnaa.js → nodes-cli-Gymjb8nA.js} +4 -4
  142. package/dist/{onboard-B-lQ356l.js → onboard-CnEPCQ_Y.js} +10 -10
  143. package/dist/{onboard-BSMzd6sG.js → onboard-MFfVDMXe.js} +10 -10
  144. package/dist/{onboard-channels-C_p8450m.js → onboard-channels-BirbY8dc.js} +2 -2
  145. package/dist/{onboard-channels-CfoFMyCh.js → onboard-channels-EMKZoWGR.js} +2 -2
  146. package/dist/{onboard-custom-CpKrCcyH.js → onboard-custom-BMylBbkO.js} +3 -3
  147. package/dist/{onboard-custom-DsPk-82B.js → onboard-custom-CZq7KuFG.js} +3 -3
  148. package/dist/{onboard-helpers-DIAvDwi8.js → onboard-helpers-9zN6ySeE.js} +2 -2
  149. package/dist/{onboard-helpers-C9emwuya.js → onboard-helpers-BPRytVKl.js} +2 -2
  150. package/dist/{onboard-remote-CJrAdmgq.js → onboard-remote-BXcnQk2C.js} +1 -1
  151. package/dist/{onboard-remote-DQu1ERap.js → onboard-remote-illc7Y2c.js} +1 -1
  152. package/dist/{onboard-skills-BC-T_r3T.js → onboard-skills-DzeH_8Ej.js} +2 -2
  153. package/dist/{onboard-skills-CtX6zH5x.js → onboard-skills-M_yUCwrM.js} +2 -2
  154. package/dist/{onboarding-CEg1sg-w.js → onboarding-BRpvel6F.js} +11 -11
  155. package/dist/{onboarding-CCO17f35.js → onboarding-hfFlm7As.js} +11 -11
  156. package/dist/{onboarding.finalize-CD7SmwyJ.js → onboarding.finalize-BeXc3cym.js} +41 -41
  157. package/dist/{onboarding.finalize-B0eG7XwQ.js → onboarding.finalize-C0tcGPgk.js} +39 -39
  158. package/dist/{onboarding.gateway-config-GDMTEWcW.js → onboarding.gateway-config-CqbSOQXD.js} +5 -5
  159. package/dist/{onboarding.gateway-config-Cr1fFG05.js → onboarding.gateway-config-CxpI0qqU.js} +5 -5
  160. package/dist/{openai-model-default-l66tU27B.js → openai-model-default-DMZoKZ_-.js} +2 -2
  161. package/dist/{openai-model-default-BMY_YH9P.js → openai-model-default-lZlv0GsH.js} +2 -2
  162. package/dist/{outbound-DYyGKxSZ.js → outbound-1VspdkI5.js} +1 -1
  163. package/dist/{outbound-DXyOHKUR.js → outbound-BpdIzQuJ.js} +1 -1
  164. package/dist/{outbound-btxNyARe.js → outbound-DzVcjpPJ.js} +1 -1
  165. package/dist/{outbound-Qgo51Q1x.js → outbound-fyE60RfL.js} +1 -1
  166. package/dist/{pairing-cli-DC6MUFHZ.js → pairing-cli-Bd0PbASt.js} +4 -4
  167. package/dist/{pairing-cli-m3BrxJoY.js → pairing-cli-ZtAxWUcP.js} +4 -4
  168. package/dist/{pairing-labels-Ca15tgVV.js → pairing-labels-1pvats1t.js} +1 -1
  169. package/dist/{pairing-labels-D_XOc2nT.js → pairing-labels-BzrUs0Sz.js} +1 -1
  170. package/dist/{pairing-store-DdUVpKvp.js → pairing-store-BkBQpfrJ.js} +1 -1
  171. package/dist/{pairing-store-cjckhuQX.js → pairing-store-aDUZrmTs.js} +1 -1
  172. package/dist/{pi-auth-json-BqB9Z6Gg.js → pi-auth-json-B4WrT0Ru.js} +1 -1
  173. package/dist/{pi-auth-json-Ba2dEWAH.js → pi-auth-json-BNdShOEp.js} +2 -2
  174. package/dist/{pi-auth-json-BJB80_DY.js → pi-auth-json-BY543Me0.js} +1 -1
  175. package/dist/{pi-auth-json-etIDtHw9.js → pi-auth-json-DzLmsrh2.js} +1 -1
  176. package/dist/{pi-embedded-BR587DfN.js → pi-embedded-B4VJG-rX.js} +126 -51
  177. package/dist/{pi-embedded-CyEM9NzS.js → pi-embedded-CalvdkmO.js} +130 -55
  178. package/dist/{pi-embedded-helpers-BflbNBBD.js → pi-embedded-helpers-BBkiCuKb.js} +1 -1
  179. package/dist/{pi-embedded-helpers-CAtkZb8c.js → pi-embedded-helpers-ByVF8Lq1.js} +6 -6
  180. package/dist/{pi-embedded-helpers-XJw27Ryb.js → pi-embedded-helpers-CMMNFzOl.js} +1 -1
  181. package/dist/{pi-embedded-helpers-KIM5SCp6.js → pi-embedded-helpers-CutNlIBA.js} +6 -6
  182. package/dist/{pi-tools.policy-P1akpJL8.js → pi-tools.policy-Df7vqwql.js} +2 -2
  183. package/dist/{pi-tools.policy-BJ7mumw5.js → pi-tools.policy-pnSSbfN7.js} +2 -2
  184. package/dist/{plugin-auto-enable-CdctkFTt.js → plugin-auto-enable-7e3Sk8je.js} +1 -1
  185. package/dist/{plugin-auto-enable-B-WfJQ_3.js → plugin-auto-enable-D0PiamQY.js} +1 -1
  186. package/dist/{plugin-registry-gJKyJBN5.js → plugin-registry-D5j8ZtiH.js} +2 -2
  187. package/dist/{plugin-registry-CAuOLe4u.js → plugin-registry-DRar5JRY.js} +2 -2
  188. package/dist/plugin-sdk/agents/failover-error.d.ts +1 -0
  189. package/dist/plugin-sdk/agents/ollama-stream.d.ts +1 -1
  190. package/dist/plugin-sdk/agents/pi-embedded-runner/run/params.d.ts +2 -0
  191. package/dist/plugin-sdk/agents/symipulse-timeout.d.ts +13 -0
  192. package/dist/plugin-sdk/{api-key-rotation-DNKq8sDG.js → api-key-rotation-2bCcXL6t.js} +1 -1
  193. package/dist/plugin-sdk/{audio-preflight-BLIDrYdM.js → audio-preflight-l78E5Rb2.js} +7 -7
  194. package/dist/plugin-sdk/{channel-web-CmlTJ7hK.js → channel-web-cqGoGTML.js} +7 -7
  195. package/dist/plugin-sdk/{chrome-DZFDAzW-.js → chrome-kcjStvJ_.js} +1 -1
  196. package/dist/plugin-sdk/{commands-registry-un-LmdXo.js → commands-registry-DrBC1eVl.js} +1 -1
  197. package/dist/plugin-sdk/config/types.agent-defaults.d.ts +4 -0
  198. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +2 -0
  199. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +2 -0
  200. package/dist/plugin-sdk/config/zod-schema.d.ts +2 -0
  201. package/dist/plugin-sdk/{config-E1hS2lFY.js → config-BvR2BWLO.js} +4 -2
  202. package/dist/plugin-sdk/{deliver-DedoujTw.js → deliver-BGIOQ5Gg.js} +2 -2
  203. package/dist/plugin-sdk/{image-BTkmcfWM.js → image-DKyNtsLH.js} +3 -3
  204. package/dist/plugin-sdk/index.js +22 -22
  205. package/dist/plugin-sdk/{login-DsV1n99g.js → login-Do4CzQ80.js} +2 -2
  206. package/dist/plugin-sdk/{login-qr-BXuSdbtI.js → login-qr-7psuYtQU.js} +3 -3
  207. package/dist/plugin-sdk/{manager-BItSTruD.js → manager-ss11kI5-.js} +2 -2
  208. package/dist/plugin-sdk/{model-selection-aEd_4vFO.js → model-selection-BcrYHPfL.js} +21 -5
  209. package/dist/plugin-sdk/{outbound-2GErJr9p.js → outbound-BzBPDX20.js} +1 -1
  210. package/dist/plugin-sdk/{pi-auth-json-FyiScmI7.js → pi-auth-json-B0EP59Cx.js} +1 -1
  211. package/dist/plugin-sdk/{pi-embedded-helpers-ClMAnIcK.js → pi-embedded-helpers-Dd5EG8iK.js} +6 -6
  212. package/dist/plugin-sdk/{pw-ai-DgQXeoga.js → pw-ai-CUDy4Wnj.js} +3 -3
  213. package/dist/plugin-sdk/{replies-DgHmcQJm.js → replies-D8mtzEXN.js} +1 -1
  214. package/dist/plugin-sdk/{reply-ByXRSx6U.js → reply-CJH6lKpT.js} +126 -51
  215. package/dist/plugin-sdk/{runner-BZyapZ82.js → runner-DYM4KHsz.js} +5 -5
  216. package/dist/plugin-sdk/{send-BeLrD_W8.js → send-BUyY_agb.js} +1 -1
  217. package/dist/plugin-sdk/{send-pZOlfgD0.js → send-C0itht0P.js} +1 -1
  218. package/dist/plugin-sdk/{send-BnQuSlC7.js → send-DAQGJslJ.js} +1 -1
  219. package/dist/plugin-sdk/{send-BmtFyMcr.js → send-DEBJVTJY.js} +1 -1
  220. package/dist/plugin-sdk/{send-BRY1rgHy.js → send-DgwEMzAh.js} +2 -2
  221. package/dist/plugin-sdk/{session-Bjd4Dl7q.js → session-0e-LucZC.js} +1 -1
  222. package/dist/plugin-sdk/{skill-commands-Cwps3qpb.js → skill-commands-DABkEKjp.js} +1 -1
  223. package/dist/plugin-sdk/{web-C0VbV0vu.js → web-7IkbVCs1.js} +22 -22
  224. package/dist/plugin-sdk/{whatsapp-actions-ydkRfuPg.js → whatsapp-actions-Btj704qL.js} +3 -3
  225. package/dist/{plugins-cli-wo480wui.js → plugins-cli-OWA6KtRo.js} +35 -35
  226. package/dist/{plugins-cli-BgXKqvpz.js → plugins-cli-rfFi_-nC.js} +34 -34
  227. package/dist/{program-Ce64EM2F.js → program--ISVLHCM.js} +41 -41
  228. package/dist/{program-context-D1Aj6Hxo.js → program-context-15UFZ3WW.js} +38 -38
  229. package/dist/{prompt-select-styled-DLBGvEup.js → prompt-select-styled-CpIcsq_7.js} +17 -17
  230. package/dist/{prompt-select-styled-DWgtQk76.js → prompt-select-styled-uh5icFLb.js} +17 -17
  231. package/dist/{provider-auth-helpers-CVi3VrsV.js → provider-auth-helpers-BOnXYr4j.js} +4 -4
  232. package/dist/{provider-auth-helpers-fgQMn0eD.js → provider-auth-helpers-DA6ol80S.js} +4 -4
  233. package/dist/{push-apns-CckLJBvV.js → push-apns-CdOkanm5.js} +1 -1
  234. package/dist/{push-apns-kn7d-4VV.js → push-apns-DtbiRKMR.js} +1 -1
  235. package/dist/{pw-ai-D-O0LOKC.js → pw-ai-CIlFJoZJ.js} +3 -3
  236. package/dist/{pw-ai-5o71PJ5h.js → pw-ai-D3JHljxG.js} +3 -3
  237. package/dist/{pw-ai-C3t2kdhc.js → pw-ai-DCqUxhNF.js} +3 -3
  238. package/dist/{pw-ai-I8AbpqgG.js → pw-ai-DzztKcJ4.js} +3 -3
  239. package/dist/{qr-cli-iTQlujHe.js → qr-cli-CAUfPqEg.js} +2 -2
  240. package/dist/{qr-cli-DC0qgjHf.js → qr-cli-Dq7eF1ux.js} +2 -2
  241. package/dist/{register.agent-uEXUpxgu.js → register.agent-DPnUGOPM.js} +45 -45
  242. package/dist/{register.agent-B94MeV3Q.js → register.agent-DYitjjp3.js} +43 -43
  243. package/dist/{register.configure-Bv85zqz8.js → register.configure-CvnnWujI.js} +48 -48
  244. package/dist/{register.configure-tHkhp6vI.js → register.configure-CxRxqsPa.js} +47 -47
  245. package/dist/{register.maintenance-BICJkK4r.js → register.maintenance-B9b4xpdf.js} +46 -46
  246. package/dist/{register.maintenance-DaW01sHo.js → register.maintenance-D1h2Sa3O.js} +44 -44
  247. package/dist/{register.message-7Or0MY88.js → register.message-CYnWS6qP.js} +34 -34
  248. package/dist/{register.message-CSCfumTM.js → register.message-MT4k5ttC.js} +35 -35
  249. package/dist/{register.onboard-DgC3S144.js → register.onboard-BPWslrzo.js} +42 -42
  250. package/dist/{register.onboard-oEy-BwfU.js → register.onboard-md1AE8om.js} +43 -43
  251. package/dist/{register.setup-BnpJJOV4.js → register.setup-B8vTae2l.js} +42 -42
  252. package/dist/{register.setup-hrp8DAVZ.js → register.setup-D152L7kN.js} +43 -43
  253. package/dist/{register.status-health-sessions-BfLJEzMU.js → register.status-health-sessions-CM1dceKY.js} +38 -38
  254. package/dist/{register.status-health-sessions-njnukBAU.js → register.status-health-sessions-DbODHMBJ.js} +40 -40
  255. package/dist/{register.subclis-DEYBaz-Z.js → register.subclis-BUqhtoys.js} +28 -28
  256. package/dist/{replies-CHirod5x.js → replies-C0945t1U.js} +1 -1
  257. package/dist/{replies-B5Jh0OCP.js → replies-CVenpK6u.js} +1 -1
  258. package/dist/{replies-BVXZDrhw.js → replies-CeKPHa39.js} +1 -1
  259. package/dist/{replies-Cyt5jQaT.js → replies-ookj1cB4.js} +1 -1
  260. package/dist/{reply-77x5WoQH.js → reply-HW7ujuKi.js} +138 -63
  261. package/dist/{routes-D5iYXgsO.js → routes-BeqLs7B4.js} +3 -3
  262. package/dist/{routes-BtsprtPx.js → routes-D8eYH81h.js} +3 -3
  263. package/dist/{rpc-CjvivzOg.js → rpc-DM-s6c5g.js} +1 -1
  264. package/dist/{rpc-lMWCuyRt.js → rpc-_IQ1oqxy.js} +1 -1
  265. package/dist/{run-main-DNA2le87.js → run-main-BrQbiyBV.js} +53 -53
  266. package/dist/{runner-3kD2Hk1w.js → runner-Bdpb31wu.js} +5 -5
  267. package/dist/{runner-Bzh_L69X.js → runner-CJu9Gl_X.js} +5 -5
  268. package/dist/{runner-b_ibT3sW.js → runner-CYBZ6_HI.js} +5 -5
  269. package/dist/{runner-_npJ-cn9.js → runner-_tldjZOG.js} +5 -5
  270. package/dist/{sandbox-CPR0wRyk.js → sandbox-B9cX1Qsg.js} +5 -5
  271. package/dist/{sandbox-BBGJMpXR.js → sandbox-BgudXNdX.js} +5 -5
  272. package/dist/{sandbox-cli-CHOc4ElC.js → sandbox-cli-Db06l-QO.js} +7 -7
  273. package/dist/{sandbox-cli-BgCrevMy.js → sandbox-cli-ITWFmBOM.js} +7 -7
  274. package/dist/{security-cli-iW-aIZ15.js → security-cli-CAMn5ETM.js} +12 -12
  275. package/dist/{security-cli-B7YKQ6Nh.js → security-cli-DFQoX6jC.js} +12 -12
  276. package/dist/{send--qdaLm4C.js → send-0GU9exFu.js} +1 -1
  277. package/dist/{send-BVKK9mIc.js → send-B-uN5xRM.js} +1 -1
  278. package/dist/{send-ytd5gZYc.js → send-B3ysC28K.js} +1 -1
  279. package/dist/{send-sS-DxRJV.js → send-B5EhOVKu.js} +1 -1
  280. package/dist/{send-Dfum4W06.js → send-B5uxhc4T.js} +1 -1
  281. package/dist/{send-C1fiVl-C.js → send-BDxgN_bQ.js} +1 -1
  282. package/dist/{send-Dfohx1Dj.js → send-Bo5CnXFq.js} +1 -1
  283. package/dist/{send-TtpoiB7G.js → send-C0MwqoIT.js} +1 -1
  284. package/dist/{send-QGcGaA1o.js → send-CAb_J0aw.js} +2 -2
  285. package/dist/{send-C7DzVT6I.js → send-CE4zNqBi.js} +1 -1
  286. package/dist/{send-B26isft5.js → send-CFLb_W1q.js} +1 -1
  287. package/dist/{send-BAM-zeo8.js → send-CLeHyMKL.js} +2 -2
  288. package/dist/{send-BxkOVx17.js → send-CTxPJl1v.js} +2 -2
  289. package/dist/{send-CboqahSN.js → send-CZNQ18eT.js} +2 -2
  290. package/dist/{send-CNZ2iT1h.js → send-DeWhmyHe.js} +1 -1
  291. package/dist/{send-DffO5_WA.js → send-Dq3yh0n_.js} +1 -1
  292. package/dist/{send-BfoI2xoz.js → send-Dub0pvGr.js} +1 -1
  293. package/dist/{send-Btgfdf6H.js → send-_8ePDRRf.js} +1 -1
  294. package/dist/{send-DVNiZsde.js → send-lPu6acJr.js} +1 -1
  295. package/dist/{send-DXw0_dn5.js → send-plufzQIM.js} +1 -1
  296. package/dist/{server-context-CZZZ5S6q.js → server-context-Bm5WfPwZ.js} +5 -5
  297. package/dist/{server-context-DiCxB7wV.js → server-context-C55J-UHj.js} +5 -5
  298. package/dist/{server-methods-alycWcYE.js → server-methods-1pwguAUr.js} +18 -18
  299. package/dist/{server-methods-DgHyPneM.js → server-methods-CIiK2q84.js} +17 -17
  300. package/dist/{server-node-events-B5dFQdac.js → server-node-events-BuOc53ED.js} +34 -34
  301. package/dist/{server-node-events-BkIo___r.js → server-node-events-e-EkrMFA.js} +35 -35
  302. package/dist/{session-BFbJf357.js → session-BCkXoaDO.js} +1 -1
  303. package/dist/{session-CiCHQ3Ah.js → session-BP0Gv1gb.js} +1 -1
  304. package/dist/{session-BdWP3apT.js → session-BTqGTD9l.js} +1 -1
  305. package/dist/{session-Dg44BpS1.js → session-CJI6lJIm.js} +1 -1
  306. package/dist/{session-utils-Cs-nCi4-.js → session-utils-v_SakJTj.js} +4 -4
  307. package/dist/{sessions-C_c07viS.js → sessions-C6D9nTJ2.js} +2 -2
  308. package/dist/{sessions-BF3cJslT.js → sessions-D_sYAXox.js} +2 -2
  309. package/dist/{sessions-RYattOnc.js → sessions-ZEWPPs4y.js} +4 -4
  310. package/dist/{shared-Dg2JustZ.js → shared-DayV2Be4.js} +2 -2
  311. package/dist/{shared-BmGIQ5oj.js → shared-uLuYqcbb.js} +2 -2
  312. package/dist/{skill-commands-BlfEmZ8t.js → skill-commands-DJHFzerm.js} +1 -1
  313. package/dist/{skill-commands-C2kxEz5h.js → skill-commands-Depo8UbH.js} +1 -1
  314. package/dist/{skill-commands-C_ZNSYNS.js → skill-commands-MyjdLY-a.js} +1 -1
  315. package/dist/{skill-commands-CSBmZ_di.js → skill-commands-XIkT9idK.js} +1 -1
  316. package/dist/{skills-cli-G_0fvsIb.js → skills-cli-2II5dTfj.js} +2 -2
  317. package/dist/{skills-cli-D9N3SSqr.js → skills-cli-BJ07WkIu.js} +2 -2
  318. package/dist/{status-D-gXM4AZ.js → status-CEb4wj9d.js} +11 -11
  319. package/dist/{status-T4y8IdyW.js → status-CNsOWE6W.js} +2 -2
  320. package/dist/{status-s0Mudh8o.js → status-CY5OXF3d.js} +2 -2
  321. package/dist/{status-yh81t6sL.js → status-D7lG_rKr.js} +12 -12
  322. package/dist/{status.update-9QVNoqzS.js → status.update-DhhtmPIK.js} +1 -1
  323. package/dist/{status.update-DAK4tN-2.js → status.update-MEvvwSyA.js} +1 -1
  324. package/dist/{subagent-registry-newoxfzs.js → subagent-registry-BKhraI9X.js} +139 -64
  325. package/dist/{system-cli-B0oAtepa.js → system-cli-DaHzRRZO.js} +4 -4
  326. package/dist/{system-cli-kixN2BmA.js → system-cli-NuL5CoT5.js} +4 -4
  327. package/dist/{systemd-hints-BPRCUlOg.js → systemd-hints-BwLHbZwk.js} +1 -1
  328. package/dist/{systemd-hints-CRzDDf1-.js → systemd-hints-C_Wzs8Ts.js} +1 -1
  329. package/dist/{tui-CwMmsLXs.js → tui-KWXGdBc4.js} +5 -5
  330. package/dist/{tui-PZpjjXWo.js → tui-L301QdxU.js} +5 -5
  331. package/dist/{tui-cli-CU2JJJI9.js → tui-cli-B0160VqT.js} +11 -11
  332. package/dist/{tui-cli-PTM4Eps5.js → tui-cli-CPydLAAS.js} +11 -11
  333. package/dist/{update-cli-BQdfZeXu.js → update-cli-DB3oEF5D.js} +49 -49
  334. package/dist/{update-cli-B1dB4WdO.js → update-cli-Di3jY1P2.js} +47 -47
  335. package/dist/{update-runner-HJhfkubt.js → update-runner-CeFIRC25.js} +1 -1
  336. package/dist/{update-runner-DKzlPMRC.js → update-runner-CjK47aX2.js} +1 -1
  337. package/dist/{web-BnH0qf_8.js → web-BoxjWHKk.js} +21 -21
  338. package/dist/{web-CQzdHGhF.js → web-CV7it9N3.js} +21 -21
  339. package/dist/{web-DTIV3Lgo.js → web-DhH58pge.js} +37 -37
  340. package/dist/{web-CScA06_W.js → web-DvRmeW25.js} +37 -37
  341. package/dist/{webhooks-cli-CAHebfVz.js → webhooks-cli-B8FUejkI.js} +2 -2
  342. package/dist/{webhooks-cli-B97uWTaD.js → webhooks-cli-D9CHLI9R.js} +2 -2
  343. package/dist/{whatsapp-actions-BgiS8DUJ.js → whatsapp-actions-8q4rBb8o.js} +3 -3
  344. package/dist/{whatsapp-actions-xhdGIJBd.js → whatsapp-actions-BKYl-9a-.js} +3 -3
  345. package/dist/{whatsapp-actions-BsVCZeLO.js → whatsapp-actions-BdSpem9R.js} +3 -3
  346. package/dist/{whatsapp-actions-DfJHCjBV.js → whatsapp-actions-b0l0LfoG.js} +3 -3
  347. package/dist/{with-timeout-CiGZZ4b2.js → with-timeout-D8WaDWjT.js} +1 -1
  348. package/dist/{with-timeout-C0euAxXp.js → with-timeout-J-NgpKB8.js} +1 -1
  349. package/package.json +1 -1
@@ -1,16 +1,16 @@
1
1
  import "./paths-DR2yt_mP.js";
2
2
  import "./github-copilot-token-D9X2phUj.js";
3
3
  import { ut as resolvePreferredSymiTmpDir } from "./registry--_pGht6S.js";
4
- import "./config-E1hS2lFY.js";
4
+ import "./config-BvR2BWLO.js";
5
5
  import "./subsystem-Coz2AgU8.js";
6
6
  import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
7
- import "./model-selection-aEd_4vFO.js";
7
+ import "./model-selection-BcrYHPfL.js";
8
8
  import "./agent-scope-C3gMMKCU.js";
9
9
  import "./manifest-registry-B3ugY9-f.js";
10
10
  import "./redact-DPnDWsnT.js";
11
11
  import { n as formatErrorMessage } from "./errors-Bv8oZiTO.js";
12
12
  import "./ssrf-DKZ8eBrk.js";
13
- import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-DZFDAzW-.js";
13
+ import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-kcjStvJ_.js";
14
14
  import path from "node:path";
15
15
  import crypto from "node:crypto";
16
16
  import fs from "node:fs/promises";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { i as chunkMarkdownTextWithMode } from "./chunk-jvk9axTQ.js";
3
- import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-BmtFyMcr.js";
3
+ import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-DEBJVTJY.js";
4
4
  import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CWMflosr.js";
5
5
 
6
6
  //#region src/auto-reply/reply/reply-reference.ts
@@ -8,11 +8,11 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-ChYu
8
8
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CUNoPTKm.js";
9
9
  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, ct as normalizeLogLevel, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId$1, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, tt as getChildLogger, u as setActivePluginRegistry, ut as resolvePreferredSymiTmpDir, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry--_pGht6S.js";
10
10
  import { n as retryAsync } from "./retry-ilSJqnz9.js";
11
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, 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 buildChannelKeyCandidates, 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 applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-BeLrD_W8.js";
12
- import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-E1hS2lFY.js";
11
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, 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 buildChannelKeyCandidates, 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 applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-BUyY_agb.js";
12
+ import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-BvR2BWLO.js";
13
13
  import { a as clearActiveProgressLine, i as defaultRuntime, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
14
14
  import { i as parseBooleanValue$1, n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
15
- import { A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, G as normalizeSecretInput, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_MODEL, K as resolveAuthProfileDisplayLabel, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, Q as resolveShellEnvFallbackTimeoutMs, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as getShellPathFromLoginShell, Y as DEFAULT_PROVIDER, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, j as isProfileInCooldown, k as resolveAuthProfileOrder, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, q as DEFAULT_CONTEXT_TOKENS, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveAuthStorePathForDisplay } from "./model-selection-aEd_4vFO.js";
15
+ import { A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, G as normalizeSecretInput, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_MODEL, K as resolveAuthProfileDisplayLabel, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, Q as resolveShellEnvFallbackTimeoutMs, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as getShellPathFromLoginShell, Y as DEFAULT_PROVIDER, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, j as isProfileInCooldown, k as resolveAuthProfileOrder, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, q as DEFAULT_CONTEXT_TOKENS, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveAuthStorePathForDisplay } from "./model-selection-BcrYHPfL.js";
16
16
  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-C3gMMKCU.js";
17
17
  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-B3ugY9-f.js";
18
18
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Bv8oZiTO.js";
@@ -27,38 +27,38 @@ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel
27
27
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
28
28
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
29
29
  import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
30
- 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-pZOlfgD0.js";
30
+ 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-C0itht0P.js";
31
31
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-D7Lno-TE.js";
32
32
  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-B7YyMnIi.js";
33
- import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-BmtFyMcr.js";
34
- import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-BRY1rgHy.js";
35
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-BZyapZ82.js";
33
+ import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-DEBJVTJY.js";
34
+ import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-DgwEMzAh.js";
35
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-DYM4KHsz.js";
36
36
  import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-BHuV5t70.js";
37
37
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-CWMflosr.js";
38
- import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-Cwps3qpb.js";
38
+ import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-DABkEKjp.js";
39
39
  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-B1GeRYlu.js";
40
- import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-DZFDAzW-.js";
40
+ import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-kcjStvJ_.js";
41
41
  import { A as normalizeHyphenSlug, F as resolveChannelGroupRequireMention, I as resolveChannelGroupToolsPolicy, M as normalizeStringEntriesLower, P as resolveChannelGroupPolicy, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, i as normalizeElevatedLevel, j as normalizeStringEntries, k as normalizeAtHashSlug, l as resolveResponseUsageMode, m as normalizeSignalMessagingTarget, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-DCNUIAHY.js";
42
42
  import { r as resolveIMessageAccount } from "./accounts-Dtszw3Zn.js";
43
43
  import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BToL3HlP.js";
44
- import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-DedoujTw.js";
45
- import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-ClMAnIcK.js";
44
+ import { C as getGlobalHookRunner, S as throwIfAborted, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as splitMediaFromOutput, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as parseReplyDirectives, w as initializeGlobalHookRunner, x as parseInlineDirectives$1, y as MEDIA_TOKEN_RE } from "./deliver-BGIOQ5Gg.js";
45
+ import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-Dd5EG8iK.js";
46
46
  import { n as resolveConversationLabel } from "./conversation-label-yNSj43Jt.js";
47
47
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-A0xdf3yk.js";
48
48
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-x1D4Vniz.js";
49
49
  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-mFf4i4G9.js";
50
50
  import { i as saveMediaBuffer, r as getMediaDir } from "./store-Do3t33-c.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-D5EzMeL_.js";
52
- import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-BTkmcfWM.js";
52
+ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-DKyNtsLH.js";
53
53
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
54
54
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, v as runTasksWithConcurrency } from "./sqlite-Cq_7Cg4E.js";
55
55
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
56
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-BItSTruD.js";
57
- 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-un-LmdXo.js";
58
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-BnQuSlC7.js";
56
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-ss11kI5-.js";
57
+ 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-DrBC1eVl.js";
58
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-DAQGJslJ.js";
59
59
  import { t as makeProxyFetch } from "./proxy-MquBDehr.js";
60
60
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-D3JH_D2N.js";
61
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DgHmcQJm.js";
61
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-D8mtzEXN.js";
62
62
  import { t as getActiveWebListener } from "./active-listener-bEk__wbB.js";
63
63
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CBq0jVRw.js";
64
64
  import { createRequire } from "node:module";
@@ -5548,29 +5548,29 @@ function extractStatusDirective(body) {
5548
5548
  //#region src/agents/timeout.ts
5549
5549
  const DEFAULT_AGENT_TIMEOUT_SECONDS = 1800;
5550
5550
  const MAX_SAFE_TIMEOUT_MS = 2147e6;
5551
- const normalizeNumber = (value) => typeof value === "number" && Number.isFinite(value) ? Math.floor(value) : void 0;
5551
+ const normalizeNumber$1 = (value) => typeof value === "number" && Number.isFinite(value) ? Math.floor(value) : void 0;
5552
5552
  function resolveAgentTimeoutSeconds(cfg) {
5553
- const seconds = normalizeNumber(cfg?.agents?.defaults?.timeoutSeconds) ?? DEFAULT_AGENT_TIMEOUT_SECONDS;
5553
+ const seconds = normalizeNumber$1(cfg?.agents?.defaults?.timeoutSeconds) ?? DEFAULT_AGENT_TIMEOUT_SECONDS;
5554
5554
  return Math.max(seconds, 1);
5555
5555
  }
5556
5556
  function resolveAgentTimeoutMs(opts) {
5557
- const minMs = Math.max(normalizeNumber(opts.minMs) ?? 1, 1);
5557
+ const minMs = Math.max(normalizeNumber$1(opts.minMs) ?? 1, 1);
5558
5558
  const clampTimeoutMs = (valueMs) => Math.min(Math.max(valueMs, minMs), MAX_SAFE_TIMEOUT_MS);
5559
5559
  const defaultMs = clampTimeoutMs(resolveAgentTimeoutSeconds(opts.cfg) * 1e3);
5560
5560
  const NO_TIMEOUT_MS = MAX_SAFE_TIMEOUT_MS;
5561
- const overrideMs = normalizeNumber(opts.overrideMs);
5561
+ const overrideMs = normalizeNumber$1(opts.overrideMs);
5562
5562
  if (overrideMs !== void 0) {
5563
5563
  if (overrideMs === 0) return NO_TIMEOUT_MS;
5564
5564
  if (overrideMs < 0) return defaultMs;
5565
5565
  return clampTimeoutMs(overrideMs);
5566
5566
  }
5567
- const overrideSeconds = normalizeNumber(opts.overrideSeconds);
5567
+ const overrideSeconds = normalizeNumber$1(opts.overrideSeconds);
5568
5568
  if (overrideSeconds !== void 0) {
5569
5569
  if (overrideSeconds === 0) return NO_TIMEOUT_MS;
5570
5570
  if (overrideSeconds < 0) return defaultMs;
5571
5571
  return clampTimeoutMs(overrideSeconds * 1e3);
5572
5572
  }
5573
- const modelSeconds = normalizeNumber(opts.modelTimeoutSeconds);
5573
+ const modelSeconds = normalizeNumber$1(opts.modelTimeoutSeconds);
5574
5574
  if (modelSeconds !== void 0 && modelSeconds > 0) return clampTimeoutMs(modelSeconds * 1e3);
5575
5575
  return defaultMs;
5576
5576
  }
@@ -7792,7 +7792,7 @@ async function createModelSelectionState(params) {
7792
7792
  }
7793
7793
  }
7794
7794
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
7795
- const { ensureAuthProfileStore } = await import("./model-selection-aEd_4vFO.js").then((n) => n.O);
7795
+ const { ensureAuthProfileStore } = await import("./model-selection-BcrYHPfL.js").then((n) => n.O);
7796
7796
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
7797
7797
  const providerKey = normalizeProviderId(provider);
7798
7798
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -11556,7 +11556,7 @@ async function getMemorySearchManager(params) {
11556
11556
  const wrapper = new FallbackMemoryManager({
11557
11557
  primary,
11558
11558
  fallbackFactory: async () => {
11559
- const { MemoryIndexManager } = await import("./manager-BItSTruD.js").then((n) => n.t);
11559
+ const { MemoryIndexManager } = await import("./manager-ss11kI5-.js").then((n) => n.t);
11560
11560
  return await MemoryIndexManager.get(params);
11561
11561
  }
11562
11562
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -11569,7 +11569,7 @@ async function getMemorySearchManager(params) {
11569
11569
  }
11570
11570
  }
11571
11571
  try {
11572
- const { MemoryIndexManager } = await import("./manager-BItSTruD.js").then((n) => n.t);
11572
+ const { MemoryIndexManager } = await import("./manager-ss11kI5-.js").then((n) => n.t);
11573
11573
  return { manager: await MemoryIndexManager.get(params) };
11574
11574
  } catch (err) {
11575
11575
  return {
@@ -15485,7 +15485,7 @@ async function routeReply(params) {
15485
15485
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
15486
15486
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
15487
15487
  try {
15488
- const { deliverOutboundPayloads } = await import("./deliver-DedoujTw.js").then((n) => n.n);
15488
+ const { deliverOutboundPayloads } = await import("./deliver-BGIOQ5Gg.js").then((n) => n.n);
15489
15489
  return {
15490
15490
  ok: true,
15491
15491
  messageId: (await deliverOutboundPayloads({
@@ -17959,7 +17959,7 @@ async function describeStickerImage(params) {
17959
17959
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
17960
17960
  try {
17961
17961
  const buffer = await fs$1.readFile(imagePath);
17962
- const { describeImageWithModel } = await import("./image-BTkmcfWM.js").then((n) => n.n);
17962
+ const { describeImageWithModel } = await import("./image-DKyNtsLH.js").then((n) => n.n);
17963
17963
  return (await describeImageWithModel({
17964
17964
  buffer,
17965
17965
  fileName: "sticker.webp",
@@ -18370,7 +18370,7 @@ function createWhatsAppLoginTool() {
18370
18370
  force: Type.Optional(Type.Boolean())
18371
18371
  }),
18372
18372
  execute: async (_toolCallId, args) => {
18373
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BXuSdbtI.js");
18373
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-7psuYtQU.js");
18374
18374
  if ((args?.action ?? "start") === "wait") {
18375
18375
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
18376
18376
  return {
@@ -20438,7 +20438,7 @@ async function preflightDiscordMessage(params) {
20438
20438
  let preflightTranscript;
20439
20439
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
20440
20440
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
20441
- const { transcribeFirstAudio } = await import("./audio-preflight-BLIDrYdM.js");
20441
+ const { transcribeFirstAudio } = await import("./audio-preflight-l78E5Rb2.js");
20442
20442
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
20443
20443
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
20444
20444
  ctx: {
@@ -27111,27 +27111,27 @@ async function runWithImageModelFallback(params) {
27111
27111
  function createDefaultDeps() {
27112
27112
  return {
27113
27113
  sendMessageWhatsApp: async (...args) => {
27114
- const { sendMessageWhatsApp } = await import("./web-C0VbV0vu.js");
27114
+ const { sendMessageWhatsApp } = await import("./web-7IkbVCs1.js");
27115
27115
  return await sendMessageWhatsApp(...args);
27116
27116
  },
27117
27117
  sendMessageTelegram: async (...args) => {
27118
- const { sendMessageTelegram } = await import("./send-BRY1rgHy.js").then((n) => n.l);
27118
+ const { sendMessageTelegram } = await import("./send-DgwEMzAh.js").then((n) => n.l);
27119
27119
  return await sendMessageTelegram(...args);
27120
27120
  },
27121
27121
  sendMessageDiscord: async (...args) => {
27122
- const { sendMessageDiscord } = await import("./send-BeLrD_W8.js").then((n) => n.t);
27122
+ const { sendMessageDiscord } = await import("./send-BUyY_agb.js").then((n) => n.t);
27123
27123
  return await sendMessageDiscord(...args);
27124
27124
  },
27125
27125
  sendMessageSlack: async (...args) => {
27126
- const { sendMessageSlack } = await import("./send-BmtFyMcr.js").then((n) => n.n);
27126
+ const { sendMessageSlack } = await import("./send-DEBJVTJY.js").then((n) => n.n);
27127
27127
  return await sendMessageSlack(...args);
27128
27128
  },
27129
27129
  sendMessageSignal: async (...args) => {
27130
- const { sendMessageSignal } = await import("./send-BnQuSlC7.js").then((n) => n.i);
27130
+ const { sendMessageSignal } = await import("./send-DAQGJslJ.js").then((n) => n.i);
27131
27131
  return await sendMessageSignal(...args);
27132
27132
  },
27133
27133
  sendMessageIMessage: async (...args) => {
27134
- const { sendMessageIMessage } = await import("./send-pZOlfgD0.js").then((n) => n.n);
27134
+ const { sendMessageIMessage } = await import("./send-C0itht0P.js").then((n) => n.n);
27135
27135
  return await sendMessageIMessage(...args);
27136
27136
  }
27137
27137
  };
@@ -27623,10 +27623,11 @@ function resolveSessionKeyForRequest(opts) {
27623
27623
  const sessionCfg = opts.cfg.session;
27624
27624
  const scope = sessionCfg?.scope ?? "per-sender";
27625
27625
  const mainKey = normalizeMainKey(sessionCfg?.mainKey);
27626
- const explicitSessionKey = opts.sessionKey?.trim() || resolveExplicitAgentSessionKey({
27626
+ const agentSessionKey = resolveExplicitAgentSessionKey({
27627
27627
  cfg: opts.cfg,
27628
27628
  agentId: opts.agentId
27629
27629
  });
27630
+ const explicitSessionKey = opts.sessionKey?.trim() || (agentSessionKey && opts.sessionId?.trim() ? `${agentSessionKey}:${opts.sessionId.trim()}` : agentSessionKey);
27630
27631
  const storeAgentId = resolveAgentIdFromSessionKey(explicitSessionKey);
27631
27632
  const storePath = resolveStorePath(sessionCfg?.store, { agentId: storeAgentId });
27632
27633
  const sessionStore = loadSessionStore(storePath);
@@ -37340,7 +37341,7 @@ function readSlackExternalArgMenuToken(raw) {
37340
37341
  }
37341
37342
  let commandsRegistry;
37342
37343
  async function getCommandsRegistry() {
37343
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-un-LmdXo.js").then((n) => n.n);
37344
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DrBC1eVl.js").then((n) => n.n);
37344
37345
  return commandsRegistry;
37345
37346
  }
37346
37347
  function encodeSlackCommandArgValue(parts) {
@@ -37743,7 +37744,7 @@ async function registerSlackMonitorSlashCommands(params) {
37743
37744
  });
37744
37745
  const deliverSlashPayloads = async (replies) => {
37745
37746
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
37746
- import("./replies-DgHmcQJm.js").then((n) => n.r),
37747
+ import("./replies-D8mtzEXN.js").then((n) => n.r),
37747
37748
  import("./chunk-jvk9axTQ.js").then((n) => n.s),
37748
37749
  import("./markdown-tables-Dfaqilz6.js").then((n) => n.t)
37749
37750
  ]);
@@ -37798,7 +37799,7 @@ async function registerSlackMonitorSlashCommands(params) {
37798
37799
  let nativeCommands = [];
37799
37800
  if (nativeEnabled) {
37800
37801
  reg = await getCommandsRegistry();
37801
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Cwps3qpb.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
37802
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DABkEKjp.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
37802
37803
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
37803
37804
  skillCommands,
37804
37805
  provider: "slack"
@@ -42579,7 +42580,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
42579
42580
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
42580
42581
  let preflightTranscript;
42581
42582
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
42582
- const { transcribeFirstAudio } = await import("./audio-preflight-BLIDrYdM.js");
42583
+ const { transcribeFirstAudio } = await import("./audio-preflight-l78E5Rb2.js");
42583
42584
  preflightTranscript = await transcribeFirstAudio({
42584
42585
  ctx: {
42585
42586
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -44724,23 +44725,23 @@ let webLoginQrPromise = null;
44724
44725
  let webChannelPromise = null;
44725
44726
  let whatsappActionsPromise = null;
44726
44727
  function loadWebOutbound() {
44727
- webOutboundPromise ??= import("./outbound-2GErJr9p.js").then((n) => n.t);
44728
+ webOutboundPromise ??= import("./outbound-BzBPDX20.js").then((n) => n.t);
44728
44729
  return webOutboundPromise;
44729
44730
  }
44730
44731
  function loadWebLogin() {
44731
- webLoginPromise ??= import("./login-DsV1n99g.js").then((n) => n.n);
44732
+ webLoginPromise ??= import("./login-Do4CzQ80.js").then((n) => n.n);
44732
44733
  return webLoginPromise;
44733
44734
  }
44734
44735
  function loadWebLoginQr() {
44735
- webLoginQrPromise ??= import("./login-qr-BXuSdbtI.js");
44736
+ webLoginQrPromise ??= import("./login-qr-7psuYtQU.js");
44736
44737
  return webLoginQrPromise;
44737
44738
  }
44738
44739
  function loadWebChannel() {
44739
- webChannelPromise ??= import("./web-C0VbV0vu.js");
44740
+ webChannelPromise ??= import("./web-7IkbVCs1.js");
44740
44741
  return webChannelPromise;
44741
44742
  }
44742
44743
  function loadWhatsAppActions() {
44743
- whatsappActionsPromise ??= import("./whatsapp-actions-ydkRfuPg.js");
44744
+ whatsappActionsPromise ??= import("./whatsapp-actions-Btj704qL.js");
44744
44745
  return whatsappActionsPromise;
44745
44746
  }
44746
44747
  function createPluginRuntime() {
@@ -66648,6 +66649,31 @@ Use the message tool with buttons:
66648
66649
  [{"label": "✅ Proceed", "data": "/plan-proceed"}, {"label": "✏️ Modify", "data": "/plan-modify"}, {"label": "❌ Cancel", "data": "/plan-cancel"}]
66649
66650
  </plan_mode>`;
66650
66651
 
66652
+ //#endregion
66653
+ //#region src/agents/symipulse-timeout.ts
66654
+ /**
66655
+ * Symipulse inactivity timeout resolution.
66656
+ *
66657
+ * The symipulse timer resets on every model/tool activity signal (streaming
66658
+ * chunk, tool execution, compaction, etc.). It fires only when the run is
66659
+ * truly idle — distinguishing "model working slowly on large context" from
66660
+ * "model stuck / connection lost".
66661
+ */
66662
+ const DEFAULT_SYMIPULSE_RATIO = .5;
66663
+ const MIN_SYMIPULSE_MS = 12e4;
66664
+ const MAX_SYMIPULSE_MS = 9e5;
66665
+ const SYMIPULSE_MIN_TIMEOUT_MS = 3e4;
66666
+ const normalizeNumber = (value) => typeof value === "number" && Number.isFinite(value) ? Math.floor(value) : void 0;
66667
+ function resolveSymipulseMs(opts) {
66668
+ const cap = Math.max(SYMIPULSE_MIN_TIMEOUT_MS, opts.runTimeoutMs - 1e3);
66669
+ const modelMs = normalizeNumber(opts.modelSeconds != null ? opts.modelSeconds * 1e3 : void 0);
66670
+ if (modelMs !== void 0 && modelMs > 0) return Math.min(Math.max(modelMs, SYMIPULSE_MIN_TIMEOUT_MS), cap);
66671
+ const configMs = normalizeNumber(opts.configSeconds != null ? opts.configSeconds * 1e3 : void 0);
66672
+ if (configMs !== void 0 && configMs > 0) return Math.min(Math.max(configMs, SYMIPULSE_MIN_TIMEOUT_MS), cap);
66673
+ const computed = Math.floor(opts.runTimeoutMs * DEFAULT_SYMIPULSE_RATIO);
66674
+ return Math.min(Math.max(computed, MIN_SYMIPULSE_MS), Math.min(MAX_SYMIPULSE_MS, cap));
66675
+ }
66676
+
66651
66677
  //#endregion
66652
66678
  //#region src/agents/pi-embedded-runner/abort.ts
66653
66679
  /**
@@ -67781,6 +67807,36 @@ async function runEmbeddedAttempt(params) {
67781
67807
  });
67782
67808
  });
67783
67809
  };
67810
+ const resolveModelSymipulseSeconds = () => {
67811
+ const key = params.modelId;
67812
+ if (!key) return null;
67813
+ return (params.config?.agents?.defaults?.models)?.[key]?.symipulseSeconds ?? null;
67814
+ };
67815
+ const symipulseMs = params.symipulseMs ?? resolveSymipulseMs({
67816
+ runTimeoutMs: params.timeoutMs,
67817
+ configSeconds: params.config?.agents?.defaults?.symipulseSeconds,
67818
+ modelSeconds: resolveModelSymipulseSeconds()
67819
+ });
67820
+ let symipulseTimer = null;
67821
+ const makeSymipulseAbortReason = () => {
67822
+ const err = /* @__PURE__ */ new Error(`symipulse: no model/tool activity for ${Math.round(symipulseMs / 1e3)}s (inactivity timeout). Run timeout was ${Math.round(params.timeoutMs / 1e3)}s. Increase symipulseSeconds or check model connectivity.`);
67823
+ err.name = "SymipulseTimeoutError";
67824
+ return err;
67825
+ };
67826
+ const clearSymipulseTimer = () => {
67827
+ if (symipulseTimer) {
67828
+ clearTimeout(symipulseTimer);
67829
+ symipulseTimer = null;
67830
+ }
67831
+ };
67832
+ let armSymipulseTimer;
67833
+ const withSymipulse = (fn) => {
67834
+ if (!fn) return fn;
67835
+ return ((...args) => {
67836
+ armSymipulseTimer();
67837
+ return fn(...args);
67838
+ });
67839
+ };
67784
67840
  const subscription = subscribeEmbeddedPiSession({
67785
67841
  session: activeSession,
67786
67842
  runId: params.runId,
@@ -67790,16 +67846,19 @@ async function runEmbeddedAttempt(params) {
67790
67846
  toolResultFormat: params.toolResultFormat,
67791
67847
  shouldEmitToolResult: params.shouldEmitToolResult,
67792
67848
  shouldEmitToolOutput: params.shouldEmitToolOutput,
67793
- onToolResult: params.onToolResult,
67794
- onReasoningStream: params.onReasoningStream,
67849
+ onToolResult: withSymipulse(params.onToolResult),
67850
+ onReasoningStream: withSymipulse(params.onReasoningStream),
67795
67851
  onReasoningEnd: params.onReasoningEnd,
67796
- onBlockReply: params.onBlockReply,
67852
+ onBlockReply: withSymipulse(params.onBlockReply),
67797
67853
  onBlockReplyFlush: params.onBlockReplyFlush,
67798
67854
  blockReplyBreak: params.blockReplyBreak,
67799
67855
  blockReplyChunking: params.blockReplyChunking,
67800
- onPartialReply: params.onPartialReply,
67856
+ onPartialReply: withSymipulse(params.onPartialReply),
67801
67857
  onAssistantMessageStart: params.onAssistantMessageStart,
67802
- onAgentEvent: params.onAgentEvent,
67858
+ onAgentEvent: (evt) => {
67859
+ armSymipulseTimer();
67860
+ params.onAgentEvent?.(evt);
67861
+ },
67803
67862
  enforceFinalTag: params.enforceFinalTag,
67804
67863
  config: params.config,
67805
67864
  sessionKey: params.sessionKey ?? params.sessionId
@@ -67829,6 +67888,21 @@ async function runEmbeddedAttempt(params) {
67829
67888
  if (!isProbeSession) log$2.warn(`embedded run abort still streaming: runId=${params.runId} sessionId=${params.sessionId}`);
67830
67889
  }, 1e4);
67831
67890
  }, Math.max(1, params.timeoutMs));
67891
+ armSymipulseTimer = () => {
67892
+ if (aborted) return;
67893
+ clearSymipulseTimer();
67894
+ symipulseTimer = setTimeout(() => {
67895
+ if (aborted) return;
67896
+ if (!isProbeSession) log$2.warn(`symipulse timeout: runId=${params.runId} sessionId=${params.sessionId} symipulseMs=${symipulseMs} (no activity)`);
67897
+ if (shouldFlagCompactionTimeout({
67898
+ isTimeout: true,
67899
+ isCompactionPendingOrRetrying: subscription.isCompacting(),
67900
+ isCompactionInFlight: activeSession.isCompacting
67901
+ })) timedOutDuringCompaction = true;
67902
+ abortRun(true, makeSymipulseAbortReason());
67903
+ }, Math.max(1, symipulseMs));
67904
+ };
67905
+ armSymipulseTimer();
67832
67906
  let messagesSnapshot = [];
67833
67907
  let sessionIdUsed = activeSession.sessionId;
67834
67908
  const onAbort = () => {
@@ -68049,6 +68123,7 @@ async function runEmbeddedAttempt(params) {
68049
68123
  });
68050
68124
  } finally {
68051
68125
  clearTimeout(abortTimer);
68126
+ clearSymipulseTimer();
68052
68127
  if (abortWarnTimer) clearTimeout(abortWarnTimer);
68053
68128
  if (!isProbeSession && (aborted || timedOut) && !timedOutDuringCompaction) log$2.debug(`run cleanup: runId=${params.runId} sessionId=${params.sessionId} aborted=${aborted} timedOut=${timedOut}`);
68054
68129
  try {
@@ -76917,7 +76992,7 @@ async function deliverSessionMaintenanceWarning(params) {
76917
76992
  return;
76918
76993
  }
76919
76994
  try {
76920
- const { deliverOutboundPayloads } = await import("./deliver-DedoujTw.js").then((n) => n.n);
76995
+ const { deliverOutboundPayloads } = await import("./deliver-BGIOQ5Gg.js").then((n) => n.n);
76921
76996
  await deliverOutboundPayloads({
76922
76997
  cfg: params.cfg,
76923
76998
  channel,
@@ -1,13 +1,13 @@
1
1
  import { n as fetchWithTimeout } from "./fetch-timeout-ChYuW7LE.js";
2
2
  import { K as logVerbose, Y as shouldLogVerbose } from "./registry--_pGht6S.js";
3
- import { S as resolveIMessageAttachmentRoots, b as isInboundPathAllowed, n as loadConfig, x as mergeInboundPathRoots, y as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./config-E1hS2lFY.js";
4
- import { B as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalizeProviderId, h as normalizeGoogleModelId, w as requireApiKey } from "./model-selection-aEd_4vFO.js";
3
+ import { S as resolveIMessageAttachmentRoots, b as isInboundPathAllowed, n as loadConfig, x as mergeInboundPathRoots, y as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./config-BvR2BWLO.js";
4
+ import { B as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalizeProviderId, h as normalizeGoogleModelId, w as requireApiKey } from "./model-selection-BcrYHPfL.js";
5
5
  import { E as runExec } from "./agent-scope-C3gMMKCU.js";
6
6
  import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-Bnp6LXEx.js";
7
7
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-Ckk1QfzI.js";
8
8
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
9
- import { t as describeImageWithModel, x as ensureSymiModelsJson } from "./image-BTkmcfWM.js";
10
- import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-DNKq8sDG.js";
9
+ import { t as describeImageWithModel, x as ensureSymiModelsJson } from "./image-DKyNtsLH.js";
10
+ import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-2bCcXL6t.js";
11
11
  import { constants } from "node:fs";
12
12
  import path from "node:path";
13
13
  import os from "node:os";
@@ -899,7 +899,7 @@ async function loadModelCatalog(params) {
899
899
  });
900
900
  try {
901
901
  await ensureSymiModelsJson(params?.config ?? loadConfig());
902
- await (await import("./pi-auth-json-FyiScmI7.js")).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir());
902
+ await (await import("./pi-auth-json-B0EP59Cx.js")).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir());
903
903
  const piSdk = await importPiSdk();
904
904
  const agentDir = resolveSymiAgentDir();
905
905
  const { join } = await import("node:path");
@@ -3,7 +3,7 @@ import { B as parseTargetPrefixes, F as resolveDiscordAccount, I as normalizeDis
3
3
  import { t as resolveFetch } from "./fetch-CUNoPTKm.js";
4
4
  import { ut as resolvePreferredSymiTmpDir } from "./registry--_pGht6S.js";
5
5
  import { n as retryAsync, t as resolveRetryConfig } from "./retry-ilSJqnz9.js";
6
- import { n as loadConfig } from "./config-E1hS2lFY.js";
6
+ import { n as loadConfig } from "./config-BvR2BWLO.js";
7
7
  import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-Ji7f0gqq.js";
8
8
  import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-3WJMd-G-.js";
9
9
  import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-Bnp6LXEx.js";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { A as normalizeE164, P as resolveUserPath } from "./registry--_pGht6S.js";
3
- import { n as loadConfig } from "./config-E1hS2lFY.js";
3
+ import { n as loadConfig } from "./config-BvR2BWLO.js";
4
4
  import { v as mediaKindFromMime } from "./image-ops-Bnp6LXEx.js";
5
5
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
6
6
  import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { n as fetchWithTimeout } from "./fetch-timeout-ChYuW7LE.js";
3
3
  import { t as resolveFetch } from "./fetch-CUNoPTKm.js";
4
- import { n as loadConfig } from "./config-E1hS2lFY.js";
4
+ import { n as loadConfig } from "./config-BvR2BWLO.js";
5
5
  import { v as mediaKindFromMime } from "./image-ops-Bnp6LXEx.js";
6
6
  import { n as markdownToIR, t as chunkMarkdownIR } from "./ir-Fb3qpcis.js";
7
7
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { A as resolveSlackBotToken, D as resolveSlackAccount, m as parseSlackTarget } from "./plugins-BbAvhC25.js";
3
3
  import { K as logVerbose } from "./registry--_pGht6S.js";
4
- import { n as loadConfig } from "./config-E1hS2lFY.js";
4
+ import { n as loadConfig } from "./config-BvR2BWLO.js";
5
5
  import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-Fb3qpcis.js";
6
6
  import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-jvk9axTQ.js";
7
7
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
@@ -3,10 +3,10 @@ import { a as resolveOAuthDir, s as resolveStateDir, u as resolveRequiredHomeDir
3
3
  import { S as resolveTelegramAccount, n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BbAvhC25.js";
4
4
  import { t as resolveFetch } from "./fetch-CUNoPTKm.js";
5
5
  import { F as safeParseJson, K as logVerbose, U as danger } from "./registry--_pGht6S.js";
6
- import { n as loadConfig } from "./config-E1hS2lFY.js";
6
+ import { n as loadConfig } from "./config-BvR2BWLO.js";
7
7
  import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
8
8
  import { r as isTruthyEnvValue } from "./command-format-DSdvQ_M5.js";
9
- import { H as withFileLock$1 } from "./model-selection-aEd_4vFO.js";
9
+ import { H as withFileLock$1 } from "./model-selection-BcrYHPfL.js";
10
10
  import { t as redactSensitiveText } from "./redact-DPnDWsnT.js";
11
11
  import { n as formatErrorMessage, r as formatUncaughtError, t as extractErrorCode } from "./errors-Bv8oZiTO.js";
12
12
  import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-Ji7f0gqq.js";
@@ -1,6 +1,6 @@
1
1
  import { d as readCredsJsonRaw, h as resolveWebCredsPath, l as maybeRestoreCredsFromBackup, m as resolveWebCredsBackupPath, p as resolveDefaultWebAuthDir } from "./accounts-D9zGZU5t.js";
2
2
  import { P as resolveUserPath, U as danger, X as success, at as toPinoLikeLogger, tt as getChildLogger, w as ensureDir } from "./registry--_pGht6S.js";
3
- import { Z as VERSION } from "./config-E1hS2lFY.js";
3
+ import { Z as VERSION } from "./config-BvR2BWLO.js";
4
4
  import { t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
5
5
  import fs from "node:fs";
6
6
  import { randomUUID } from "node:crypto";
@@ -4,7 +4,7 @@ import { P as resolveUserPath, b as CONFIG_DIR } from "./registry--_pGht6S.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
5
5
  import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "./agent-scope-C3gMMKCU.js";
6
6
  import { o as resolvePluginSkillDirs, t as buildWorkspaceSkillCommandSpecs } from "./skills-B1GeRYlu.js";
7
- import { i as listChatCommands } from "./commands-registry-un-LmdXo.js";
7
+ import { i as listChatCommands } from "./commands-registry-DrBC1eVl.js";
8
8
  import fs from "node:fs";
9
9
  import path from "node:path";
10
10
  import os from "node:os";