@symerian/symi 2.9.0 → 2.9.1

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 (354) hide show
  1. package/dist/{acp-cli-Bav1bRj2.js → acp-cli-BNM6b6XY.js} +2 -2
  2. package/dist/{acp-cli-BTu3_kZ1.js → acp-cli-DXsJS3-G.js} +2 -2
  3. package/dist/{agents-CvNeiuSB.js → agents-FNeM-byc.js} +7 -7
  4. package/dist/{agents.config-Ct64cGQ8.js → agents.config-CjML1ogJ.js} +1 -1
  5. package/dist/{agents.config-BCgY5FjE.js → agents.config-DUYDFbfP.js} +1 -1
  6. package/dist/{audio-preflight-C6vpFnOG.js → audio-preflight-CMutcMs5.js} +5 -5
  7. package/dist/{audio-preflight-C2EgDXSo.js → audio-preflight-CwbuWmdG.js} +11 -11
  8. package/dist/{audio-preflight-Cb-T0r6e.js → audio-preflight-DlO0Hw-w.js} +5 -5
  9. package/dist/{audio-preflight-1dv3T5Zx.js → audio-preflight-SaT5IcVn.js} +11 -11
  10. package/dist/{audit-C9nq99IR.js → audit-Ojap-R-Y.js} +5 -5
  11. package/dist/{audit-CuKP86d_.js → audit-qWCLpveM.js} +5 -5
  12. package/dist/{auth-choice-DmMyKZX4.js → auth-choice-BjTiWmH-.js} +4 -4
  13. package/dist/{auth-choice-ChFU9OCF.js → auth-choice-RQ5keocP.js} +4 -4
  14. package/dist/{banner-Bf46tqiY.js → banner-dYiFXA70.js} +1 -1
  15. package/dist/{browser-cli-ClgQ-C8E.js → browser-cli-BQ9jHIXP.js} +3 -3
  16. package/dist/{browser-cli-DuPPIcuV.js → browser-cli-BW0C5Y8-.js} +3 -3
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +14 -14
  19. package/dist/bundled/session-memory/handler.js +14 -14
  20. package/dist/{call-DYfKEdwh.js → call-BZbBLMOq.js} +1 -1
  21. package/dist/{call-M4YyUnwu.js → call-X_vwo309.js} +1 -1
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-Bqc2VCgt.js → channel-options-CjZlTumK.js} +1 -1
  24. package/dist/{channel-options-D4a0ZJ72.js → channel-options-DqXYA7rM.js} +1 -1
  25. package/dist/{channel-web-YNC2xS5K.js → channel-web-BITaNjFT.js} +7 -7
  26. package/dist/{channels-cli-BFJcNLbB.js → channels-cli-7cDtM5kW.js} +30 -30
  27. package/dist/{channels-cli-h3GnmmM9.js → channels-cli-C8CesA1x.js} +31 -31
  28. package/dist/{chrome-ROtrXlNs.js → chrome-B1zznUiv.js} +8 -8
  29. package/dist/{chrome-BJvuH-NZ.js → chrome-BFDOGeu3.js} +1 -1
  30. package/dist/{chrome-D2ohnA09.js → chrome-faqXQ9f1.js} +1 -1
  31. package/dist/{chrome-B14NNyfm.js → chrome-t-stBgN6.js} +1 -1
  32. package/dist/cli/daemon-cli.js +1 -1
  33. package/dist/{cli-BX54CAM7.js → cli-BJ9_X9eE.js} +27 -27
  34. package/dist/{cli-BpQlSGVs.js → cli-ZC_92Xyn.js} +26 -26
  35. package/dist/{command-registry-BiRjJ2Sy.js → command-registry-B1ltIC7z.js} +11 -11
  36. package/dist/{completion-cli-C8K5J1ld.js → completion-cli-KSs4eFcq.js} +1 -1
  37. package/dist/{completion-cli-BYXofVqv.js → completion-cli-_P0e-rhC.js} +2 -2
  38. package/dist/{config-BkZ9HOKT.js → config-BXMAsmut.js} +2 -0
  39. package/dist/{config-PXAJCHa5.js → config-BYCtuYPj.js} +2 -0
  40. package/dist/{config-BAVNLbja.js → config-CbBZUq-Q.js} +2 -0
  41. package/dist/{config-DXt3pc08.js → config-DE6JXMtt.js} +2 -0
  42. package/dist/{config-cli-BPPD3xqE.js → config-cli-DIrPShKH.js} +2 -2
  43. package/dist/{config-cli-Deoo6r2K.js → config-cli-DjCKp4Pe.js} +2 -2
  44. package/dist/{config-guard-BvqCjFPk.js → config-guard-BrZXdLQw.js} +2 -2
  45. package/dist/{config-guard-CaP-V3tf.js → config-guard-DYmSI51f.js} +3 -3
  46. package/dist/{config-validation-B6Fa3VmF.js → config-validation-CNRgc5vc.js} +1 -1
  47. package/dist/{config-validation-EmHZVnuz.js → config-validation-fdYfdAc3.js} +1 -1
  48. package/dist/{configure-D4f0P3bH.js → configure-CsZWO6Nr.js} +10 -10
  49. package/dist/{configure-BKHxUAAh.js → configure-Ds8SzTEw.js} +10 -10
  50. package/dist/{control-service-Bujr5pk7.js → control-service-B5HVCnUI.js} +4 -4
  51. package/dist/{control-service-C0pRqIFv.js → control-service-DQX3HXS4.js} +4 -4
  52. package/dist/{cron-cli-C8-Gv5dd.js → cron-cli-CfSmL43G.js} +3 -3
  53. package/dist/{cron-cli-BEdmHCWZ.js → cron-cli-D2L3-4aw.js} +3 -3
  54. package/dist/{daemon-cli-BFoJGCHZ.js → daemon-cli-BHwfgmrQ.js} +6 -6
  55. package/dist/{daemon-cli-D6wyb9bo.js → daemon-cli-D9_xrFGD.js} +6 -6
  56. package/dist/daemon-cli.js +2 -0
  57. package/dist/{daemon-runtime-Cp7obV7Q.js → daemon-runtime-BiZG4Kqi.js} +1 -1
  58. package/dist/{daemon-runtime-D_elkkFW.js → daemon-runtime-DOqm0LLm.js} +1 -1
  59. package/dist/{deliver-D0bWiRCg.js → deliver--ff__Iq0.js} +2 -2
  60. package/dist/{deliver-Bdk_R0pQ.js → deliver-CeNdvQJ3.js} +3 -3
  61. package/dist/{deliver-D7BQXt0l.js → deliver-Cqk3zmyW.js} +3 -3
  62. package/dist/{deliver-B0OUq6RP.js → deliver-nBdNxMIr.js} +2 -2
  63. package/dist/{devices-cli-CHt4I-7e.js → devices-cli-BzyrjuAk.js} +2 -2
  64. package/dist/{devices-cli-BXc6DPkC.js → devices-cli-CEvTb9Vr.js} +2 -2
  65. package/dist/{directory-cli-DRWJsAT6.js → directory-cli-Ds7uESrp.js} +1 -1
  66. package/dist/{directory-cli-CQTzAhw1.js → directory-cli-KZHlp_jk.js} +1 -1
  67. package/dist/{dns-cli-BCKPibb8.js → dns-cli-SNU_PJfw.js} +1 -1
  68. package/dist/{dns-cli-BBVIay6Z.js → dns-cli-e8z7wTzi.js} +1 -1
  69. package/dist/{doctor-completion-woDYSVtY.js → doctor-completion-CfGWMYVG.js} +1 -1
  70. package/dist/{doctor-completion-gMWymNcA.js → doctor-completion-D4bMStWc.js} +1 -1
  71. package/dist/{doctor-config-flow-BCMxS2lf.js → doctor-config-flow-CJ4__c8U.js} +2 -2
  72. package/dist/{doctor-config-flow-B2dVxbL7.js → doctor-config-flow-DHXFFSRu.js} +2 -2
  73. package/dist/entry.js +1 -1
  74. package/dist/{exec-approvals-cli-CKRDAo17.js → exec-approvals-cli-_AbKrXIH.js} +4 -4
  75. package/dist/{exec-approvals-cli-BBKVrFTj.js → exec-approvals-cli-z9Iy8aWD.js} +4 -4
  76. package/dist/extensionAPI.js +14 -14
  77. package/dist/{gateway-cli-DsnkTUOp.js → gateway-cli-B4ElmhPF.js} +42 -42
  78. package/dist/{gateway-cli-Bnh42-56.js → gateway-cli-CfO9aUt0.js} +43 -43
  79. package/dist/{gateway-rpc-DZrB7Sl_.js → gateway-rpc-BlWORxUe.js} +1 -1
  80. package/dist/{gateway-rpc-BEfosIsg.js → gateway-rpc-D1S1i5HM.js} +1 -1
  81. package/dist/{glass-ui-ws-uj3DRmL8.js → glass-ui-ws-Bhu3COgn.js} +34 -34
  82. package/dist/{glass-ui-ws-0Y0KsBvU.js → glass-ui-ws-D1UKJUFI.js} +35 -35
  83. package/dist/{health-Dl2WRoTa.js → health-CCslN1xh.js} +5 -5
  84. package/dist/{health-CcV5nKIK.js → health-CLRDrjsk.js} +5 -5
  85. package/dist/{hooks-cli-DEJe3dUH.js → hooks-cli-BrVLhsJ6.js} +27 -27
  86. package/dist/{hooks-cli-CTcHtm_0.js → hooks-cli-DvLYXNNe.js} +28 -28
  87. package/dist/{image-6RZuWKy5.js → image-B6aY1oY3.js} +2 -2
  88. package/dist/{image-BuVL0jHI.js → image-CEdTQp1F.js} +2 -2
  89. package/dist/{image-CnEFsKgw.js → image-Cp6qRPZ2.js} +2 -2
  90. package/dist/{image-MNvheU8U.js → image-D5bsPk2_.js} +2 -2
  91. package/dist/index.js +35 -35
  92. package/dist/{lifecycle-core-v3lT0Ymo.js → lifecycle-core-BUGPz1GT.js} +2 -2
  93. package/dist/{lifecycle-core-Uucs6Wz6.js → lifecycle-core-CcPnnp9c.js} +2 -2
  94. package/dist/llm-slug-generator.js +14 -14
  95. package/dist/{login-EYdkb0dH.js → login-B7OJui4y.js} +2 -2
  96. package/dist/{login-D4rZWBXe.js → login-Cu0fTI3Z.js} +2 -2
  97. package/dist/{login-C7EdfiAr.js → login-DKeZ-sOf.js} +2 -2
  98. package/dist/{login-F4pbdnF5.js → login-DwBazcKM.js} +2 -2
  99. package/dist/{login-qr-Apnag5S6.js → login-qr-BBrzemk7.js} +2 -2
  100. package/dist/{login-qr-BElXRp6T.js → login-qr-CtELJan3.js} +2 -2
  101. package/dist/{login-qr-DdAVHOEC.js → login-qr-DyU6qD2X.js} +2 -2
  102. package/dist/{login-qr-DML5LgsI.js → login-qr-Ft17VIG6.js} +2 -2
  103. package/dist/{logs-cli-N5jQvJTm.js → logs-cli-CvgvoxvI.js} +3 -3
  104. package/dist/{logs-cli-CsHpYc2M.js → logs-cli-Dg6OSEA6.js} +3 -3
  105. package/dist/{manager-QPF0UtOC.js → manager-8N1YbbDk.js} +1 -1
  106. package/dist/{manager-C-H0XXJq.js → manager-CztTHQhN.js} +1 -1
  107. package/dist/{manager-CjW8kPVc.js → manager-HASZR70T.js} +1 -1
  108. package/dist/{manager-9Mni2AA9.js → manager-OSWCBsL_.js} +1 -1
  109. package/dist/{memory-cli-BTByRgM0.js → memory-cli-BDWdeqta.js} +4 -4
  110. package/dist/{memory-cli-OW9XfyYu.js → memory-cli-BmWvHCEJ.js} +4 -4
  111. package/dist/{model-catalog-D7k3dDQq.js → model-catalog-BhW-vn5v.js} +2 -2
  112. package/dist/{model-catalog-BuYrTTBn.js → model-catalog-FckJ4pcL.js} +2 -2
  113. package/dist/{model-picker-BNWV-jU4.js → model-picker-D3ii5sBm.js} +2 -2
  114. package/dist/{model-picker-n7beL1F5.js → model-picker-DEUeht6L.js} +2 -2
  115. package/dist/{models-Q1jV8ArL.js → models-5C-QKF0q.js} +8 -8
  116. package/dist/{models-cli-pfVmmgpv.js → models-cli-B2IebIhR.js} +29 -29
  117. package/dist/{models-cli-Cy6H1sFq.js → models-cli-BqW-Y1GI.js} +30 -30
  118. package/dist/{models-config-J1x_DaPn.js → models-config-CHVfeRDR.js} +1 -1
  119. package/dist/{models-config-B91ShhoT.js → models-config-DGDMieos.js} +1 -1
  120. package/dist/{node-cli-BD4E-Y8a.js → node-cli-emEb0aRo.js} +9 -9
  121. package/dist/{node-cli-CwnTjFkG.js → node-cli-hAxte5bw.js} +9 -9
  122. package/dist/{nodes-cli-Dv0NXhCO.js → nodes-cli-DQPQqEYN.js} +3 -3
  123. package/dist/{nodes-cli-DUD8_q_Q.js → nodes-cli-yd9KABqj.js} +3 -3
  124. package/dist/{onboard-CvpyaUQd.js → onboard-BL7Ei8OA.js} +7 -7
  125. package/dist/{onboard-channels-BRoSUijQ.js → onboard-channels-B-PEQmiI.js} +1 -1
  126. package/dist/{onboard-channels-Bupbm6zh.js → onboard-channels-Do0lkLVV.js} +1 -1
  127. package/dist/{onboard-custom-Dk9cL3Uu.js → onboard-custom-BVMtQfB1.js} +2 -2
  128. package/dist/{onboard-custom-CJGSIPt3.js → onboard-custom-CVA34zSg.js} +2 -2
  129. package/dist/{onboard-helpers-DWDNKmkJ.js → onboard-helpers-CNFdWQIV.js} +2 -2
  130. package/dist/{onboard-helpers-CBxazphs.js → onboard-helpers-O6bxf40E.js} +2 -2
  131. package/dist/{onboard-EL8foMiP.js → onboard-o5O2Ipvr.js} +7 -7
  132. package/dist/{onboard-remote-cZrkePlK.js → onboard-remote-QMqQxvh7.js} +1 -1
  133. package/dist/{onboard-remote-DoIKLWXA.js → onboard-remote-uYveiXQe.js} +1 -1
  134. package/dist/{onboard-skills-BjGYTueQ.js → onboard-skills-CLb94Ag2.js} +1 -1
  135. package/dist/{onboard-skills-zauvnEui.js → onboard-skills-Du3aWSN3.js} +1 -1
  136. package/dist/{onboarding-Ch8WSJ3j.js → onboarding-3DwQLO4z.js} +10 -10
  137. package/dist/{onboarding-Dg5ydWSh.js → onboarding-B_F_DbjQ.js} +10 -10
  138. package/dist/{onboarding.finalize-Bo8-8TtH.js → onboarding.finalize-BWejCrVi.js} +32 -32
  139. package/dist/{onboarding.finalize-CCTaCp2s.js → onboarding.finalize-D_G6Tcqi.js} +34 -34
  140. package/dist/{onboarding.gateway-config-Dg12RcXA.js → onboarding.gateway-config-D8K7HsWb.js} +4 -4
  141. package/dist/{onboarding.gateway-config-uIRsaxMy.js → onboarding.gateway-config-Dixr8mmH.js} +4 -4
  142. package/dist/{outbound-mG1crIsY.js → outbound-CLCy4Nsg.js} +1 -1
  143. package/dist/{outbound-Zmd7UyQH.js → outbound-DVVulk0E.js} +1 -1
  144. package/dist/{outbound-B5OgOn1h.js → outbound-DlWjA7jN.js} +1 -1
  145. package/dist/{outbound-CW8eNbCh.js → outbound-b9pVFyW7.js} +1 -1
  146. package/dist/{pairing-cli-7X1qlhzF.js → pairing-cli-CchjvjCR.js} +1 -1
  147. package/dist/{pairing-cli-Cl4t3cDV.js → pairing-cli-Cgj6qx8Z.js} +1 -1
  148. package/dist/{pi-embedded-helpers-TcYQOZAY.js → pi-embedded-helpers-BPP4adeW.js} +5 -5
  149. package/dist/{pi-embedded-helpers-YD1JQ5xV.js → pi-embedded-helpers-BgpogTwt.js} +1 -1
  150. package/dist/{pi-embedded-helpers-DHAJW99p.js → pi-embedded-helpers-DK2WpZI8.js} +1 -1
  151. package/dist/{pi-embedded-helpers-D1_Sab0M.js → pi-embedded-helpers-DrAT2ieP.js} +5 -5
  152. package/dist/{pi-embedded-Bl3YkBkI.js → pi-embedded-q_tNOp_h.js} +212 -91
  153. package/dist/{pi-tools.policy-Bx5zp45n.js → pi-tools.policy-BE7fB_Cf.js} +2 -2
  154. package/dist/{pi-tools.policy-o0ytjRqu.js → pi-tools.policy-GxaAKOgf.js} +2 -2
  155. package/dist/{plugin-registry-Bn9Mj8mP.js → plugin-registry-B_KRAoou.js} +2 -2
  156. package/dist/{plugin-registry-BVYZLxmo.js → plugin-registry-CRIH5Sdf.js} +2 -2
  157. package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +7 -0
  158. package/dist/plugin-sdk/agents/pi-tools.read.d.ts +11 -0
  159. package/dist/plugin-sdk/agents/system-prompt-skills-autoload.d.ts +21 -0
  160. package/dist/plugin-sdk/{audio-preflight-DucGa8w7.js → audio-preflight-CwMsvdv8.js} +5 -5
  161. package/dist/plugin-sdk/{channel-web-BhqGIC7q.js → channel-web-CiewzSOW.js} +7 -7
  162. package/dist/plugin-sdk/{chrome-D9kN9org.js → chrome-Cou8jVJ2.js} +1 -1
  163. package/dist/plugin-sdk/config/model-profiles-builtin.d.ts +16 -0
  164. package/dist/plugin-sdk/config/resolve-model-profile.d.ts +9 -1
  165. package/dist/plugin-sdk/config/types.skills.d.ts +8 -0
  166. package/dist/plugin-sdk/config/zod-schema.d.ts +4 -0
  167. package/dist/plugin-sdk/{config-BzupW6LN.js → config-DQntj58u.js} +2 -0
  168. package/dist/plugin-sdk/{deliver-CKgFosI5.js → deliver-OVx3XKTy.js} +2 -2
  169. package/dist/plugin-sdk/{image-DFyINnvE.js → image-ChrcMCo_.js} +2 -2
  170. package/dist/plugin-sdk/index.js +18 -18
  171. package/dist/plugin-sdk/{login-K1YB_7-t.js → login-WuhOM4Dg.js} +2 -2
  172. package/dist/plugin-sdk/{login-qr-lMl_OqDj.js → login-qr-C87Q7LuN.js} +2 -2
  173. package/dist/plugin-sdk/{manager-DdOb0Em2.js → manager-Yvm-LGVR.js} +1 -1
  174. package/dist/plugin-sdk/{outbound-DW3cqlQW.js → outbound-T0XdUo-H.js} +1 -1
  175. package/dist/plugin-sdk/{pi-embedded-helpers-BL7ZRhGv.js → pi-embedded-helpers-DihvU43r.js} +5 -5
  176. package/dist/plugin-sdk/{pw-ai-B3T0mTHr.js → pw-ai-DUQ9kG2D.js} +2 -2
  177. package/dist/plugin-sdk/{replies-BR2TPTVW.js → replies-DD0EJRXx.js} +1 -1
  178. package/dist/plugin-sdk/{reply-Cjjf4VYT.js → reply-I6ZFg_UE.js} +212 -91
  179. package/dist/plugin-sdk/{runner-BhifC1J_.js → runner-IyZnVyIT.js} +2 -2
  180. package/dist/plugin-sdk/{send-ZhAe1nXO.js → send-Cxr9NnOd.js} +1 -1
  181. package/dist/plugin-sdk/{send-BP5pSPaZ.js → send-Dd71o3sZ.js} +1 -1
  182. package/dist/plugin-sdk/{send-DLO_yV5_.js → send-Do_qdBr_.js} +1 -1
  183. package/dist/plugin-sdk/{send-CGhw9mO3.js → send-DxXXcQ_o.js} +1 -1
  184. package/dist/plugin-sdk/{send-jsofmTfJ.js → send-SRQweHTE.js} +1 -1
  185. package/dist/plugin-sdk/{session-BfyK_04G.js → session-LEZ8u8RX.js} +1 -1
  186. package/dist/plugin-sdk/{synthesis-CZ8BYNXP.js → synthesis-bQ4DMwsj.js} +14 -14
  187. package/dist/plugin-sdk/{web-B8upqMUo.js → web-C3YuHiih.js} +18 -18
  188. package/dist/plugin-sdk/{whatsapp-actions-eTefsWhW.js → whatsapp-actions-ClWxTG5S.js} +2 -2
  189. package/dist/{plugins-cli-CYOQh2DM.js → plugins-cli-Co9cRpLe.js} +27 -27
  190. package/dist/{plugins-cli-3h1N5N8n.js → plugins-cli-MDYiXsRL.js} +28 -28
  191. package/dist/{program-D3_xE9BL.js → program-BWqVPm5t.js} +34 -34
  192. package/dist/{program-context-COwsYCbf.js → program-context-m9C36Cuq.js} +38 -38
  193. package/dist/{prompt-select-styled-D88AWCeM.js → prompt-select-styled-BKJVEVPk.js} +15 -15
  194. package/dist/{prompt-select-styled-rKPBDv7n.js → prompt-select-styled-DzjQVaDM.js} +15 -15
  195. package/dist/{provider-auth-helpers-CyZyVx-V.js → provider-auth-helpers-DYJ-0sNe.js} +2 -2
  196. package/dist/{provider-auth-helpers-rff7s_gC.js → provider-auth-helpers-DaTqy1aA.js} +2 -2
  197. package/dist/{push-apns-BNzgqUl3.js → push-apns-DdQlLTpV.js} +1 -1
  198. package/dist/{push-apns-d9qKGKPe.js → push-apns-_aeFBwsP.js} +1 -1
  199. package/dist/{pw-ai-DWkC5eGA.js → pw-ai-Bpp0J0PM.js} +2 -2
  200. package/dist/{pw-ai-DYZonrPL.js → pw-ai-D9ZuX3U6.js} +2 -2
  201. package/dist/{pw-ai-D9fCYPe7.js → pw-ai-DSmC8YuO.js} +2 -2
  202. package/dist/{pw-ai-40Jf9QIb.js → pw-ai-XSTIQILG.js} +2 -2
  203. package/dist/{qr-cli-CCWM_3Nb.js → qr-cli-Dq9G8FPl.js} +1 -1
  204. package/dist/{qr-cli-6eVyM6ek.js → qr-cli-DtHLOD1G.js} +1 -1
  205. package/dist/{register.agent-D_MON8p-.js → register.agent-Hi0PN67T.js} +35 -35
  206. package/dist/{register.agent-BjaqQA02.js → register.agent-RNTVF_Nk.js} +33 -33
  207. package/dist/{register.configure-UJi9sfNv.js → register.configure-DE2Fg1dO.js} +38 -38
  208. package/dist/{register.configure-BWkkQhpH.js → register.configure-Dp-F_KKy.js} +37 -37
  209. package/dist/{register.maintenance-ChskcWGz.js → register.maintenance-Bbd-g7nL.js} +37 -37
  210. package/dist/{register.maintenance-DJptz3DR.js → register.maintenance-QHRRhtsg.js} +35 -35
  211. package/dist/{register.message-BDTsiyrW.js → register.message-B5uWOXev.js} +27 -27
  212. package/dist/{register.message-CiadI_oS.js → register.message-BvutRi1a.js} +28 -28
  213. package/dist/{register.onboard-BflOE1jy.js → register.onboard-CNOh527M.js} +34 -34
  214. package/dist/{register.onboard-KR_-4TLY.js → register.onboard-DRHuoRTm.js} +33 -33
  215. package/dist/{register.setup-W-oNfOp0.js → register.setup-Cj0oOZqL.js} +33 -33
  216. package/dist/{register.setup-Cl0sD25T.js → register.setup-D1ePW7dl.js} +34 -34
  217. package/dist/{register.status-health-sessions-CT_SmmOH.js → register.status-health-sessions-DfyO7JaH.js} +30 -30
  218. package/dist/{register.status-health-sessions-CCQs235z.js → register.status-health-sessions-sf1XzcPo.js} +32 -32
  219. package/dist/{register.subclis-ByZAz4st.js → register.subclis-Do_HdpUT.js} +28 -28
  220. package/dist/{replies-D0NFBbd-.js → replies-BV7oFP7Z.js} +1 -1
  221. package/dist/{replies-Sxbew659.js → replies-BxvfG7Oj.js} +1 -1
  222. package/dist/{replies-CZH45dMt.js → replies-CPhYC11m.js} +1 -1
  223. package/dist/{replies-CUWXgyx2.js → replies-IkylJ7lX.js} +1 -1
  224. package/dist/{reply-CgyjcoxC.js → reply-DEub7xci.js} +221 -100
  225. package/dist/{routes-wmFRpLa9.js → routes-Evl8vnTV.js} +3 -3
  226. package/dist/{routes-c86p9MPH.js → routes-n7RUgOOW.js} +3 -3
  227. package/dist/{rpc-BKlQ97aZ.js → rpc-3T_LjHn1.js} +1 -1
  228. package/dist/{rpc-DC4ol5Xa.js → rpc-DeJsMHDF.js} +1 -1
  229. package/dist/{run-main-xmWpjZL9.js → run-main-B_ZLo4JR.js} +45 -45
  230. package/dist/{runner-BBYms6g4.js → runner-BX-ap4VU.js} +3 -3
  231. package/dist/{runner-DFuAePEr.js → runner-B_6xBcPB.js} +2 -2
  232. package/dist/{runner-ecX1WzDt.js → runner-CMvsDzah.js} +2 -2
  233. package/dist/{runner-Cbz8g76d.js → runner-CiThXXY3.js} +3 -3
  234. package/dist/{sandbox-CCHQuSja.js → sandbox-BQ5LAIBQ.js} +5 -5
  235. package/dist/{sandbox-WWVXeHlA.js → sandbox-T9SO3y3b.js} +5 -5
  236. package/dist/{sandbox-cli-BtGgnGrs.js → sandbox-cli-Bi8lblc6.js} +6 -6
  237. package/dist/{sandbox-cli-momxce7H.js → sandbox-cli-MZJX1Ht6.js} +6 -6
  238. package/dist/{security-cli-BfiJ3e0Y.js → security-cli-AZBZs6ww.js} +9 -9
  239. package/dist/{security-cli-CIB7kqEk.js → security-cli-txjMZzBx.js} +9 -9
  240. package/dist/{send-DvbOiJ-I.js → send-BPBFuPrC.js} +1 -1
  241. package/dist/{send-SF7x1UHb.js → send-BUBES34Y.js} +1 -1
  242. package/dist/{send-DpMnSIi5.js → send-BaSqjfd_.js} +1 -1
  243. package/dist/{send-Dz656vcm.js → send-Bi8XhwOZ.js} +1 -1
  244. package/dist/{send-Bb4it0te.js → send-BtbWvw2k.js} +1 -1
  245. package/dist/{send-DFtnbzqy.js → send-C4IU_tV3.js} +1 -1
  246. package/dist/{send-Iocbaltq.js → send-C6-rN_Li.js} +1 -1
  247. package/dist/{send-5GrSqB6v.js → send-CSkNKYIc.js} +1 -1
  248. package/dist/{send-BaFD3lZ7.js → send-CcD9S5so.js} +1 -1
  249. package/dist/{send-DLVrnezL.js → send-CfejAK2u.js} +1 -1
  250. package/dist/{send-CJJuN-Fg.js → send-CoSPwGiI.js} +1 -1
  251. package/dist/{send-9sVK0zP4.js → send-CupfdYEg.js} +1 -1
  252. package/dist/{send-BKo1T3HF.js → send-CyPj_MLV.js} +1 -1
  253. package/dist/{send-COVVt64P.js → send-DNqcjLyg.js} +1 -1
  254. package/dist/{send-C0QjmPaf.js → send-DlYO3ExM.js} +1 -1
  255. package/dist/{send-Cpk3Ti6-.js → send-Dn1Pirhx.js} +1 -1
  256. package/dist/{send-B5kAnKqP.js → send-_CmB6CKB.js} +1 -1
  257. package/dist/{send-DGbBPbV0.js → send-dohExhb8.js} +1 -1
  258. package/dist/{send-BqOhAhRS.js → send-llekTUks.js} +1 -1
  259. package/dist/{send-BaBv1rAU.js → send-vmIzYMwN.js} +1 -1
  260. package/dist/{server-context-C66bI8ZM.js → server-context-BkYSrDni.js} +5 -5
  261. package/dist/{server-context-DefCxQsB.js → server-context-CGMSzPWd.js} +5 -5
  262. package/dist/{server-methods-DDpCXuOU.js → server-methods-C-itThFa.js} +17 -17
  263. package/dist/{server-methods-CBn954AO.js → server-methods-P-ayY-6k.js} +16 -16
  264. package/dist/{server-node-events-BUEZ3py9.js → server-node-events-D5ee96aZ.js} +27 -27
  265. package/dist/{server-node-events-BBEMSKVE.js → server-node-events-tvNFkev2.js} +28 -28
  266. package/dist/{session-mFiujXaP.js → session-CMploMg7.js} +1 -1
  267. package/dist/{session-BTeY6Gn2.js → session-CifmyF9K.js} +1 -1
  268. package/dist/{session-BtL_LuWh.js → session-DQimwuIx.js} +1 -1
  269. package/dist/{session-BpaF8fzk.js → session-bvybh7vL.js} +1 -1
  270. package/dist/{session-utils-DaBIs243.js → session-utils-DQ-t0PxQ.js} +3 -3
  271. package/dist/{sessions-B2KSRtKQ.js → sessions-BIsirZy0.js} +3 -3
  272. package/dist/{sessions-BeYHj0gr.js → sessions-BKn2DFYs.js} +1 -1
  273. package/dist/{sessions-BPD85pWA.js → sessions-DCr5nAOw.js} +1 -1
  274. package/dist/{shared-PtB96PLH.js → shared-F4GNd-mC.js} +1 -1
  275. package/dist/{shared-C9vLT1Vj.js → shared-iaXjUnvo.js} +1 -1
  276. package/dist/{skills-cli-dTks7st0.js → skills-cli-BX1J5GLJ.js} +1 -1
  277. package/dist/{skills-cli-DiND94Um.js → skills-cli-CZgrqMPo.js} +1 -1
  278. package/dist/{status-BjMiGq0n.js → status-BlTLrS6h.js} +2 -2
  279. package/dist/{status-CG5iHUJ6.js → status-BqjF9Q9S.js} +9 -9
  280. package/dist/{status-PfvX-BjO.js → status-CfIkReeE.js} +10 -10
  281. package/dist/{status-CpvzoCOC.js → status-DjvBeoYl.js} +2 -2
  282. package/dist/{status.update-B5zI1_Id.js → status.update-BZnfRS2e.js} +1 -1
  283. package/dist/{status.update-8HXdAdwz.js → status.update-C5evp93A.js} +1 -1
  284. package/dist/{subagent-registry-D0IYimMO.js → subagent-registry-DVYhalAo.js} +222 -101
  285. package/dist/{synthesis-itgrzpuj.js → synthesis-DDQ5zAtf.js} +14 -14
  286. package/dist/{synthesis-BVZ5RJLg.js → synthesis-DRXsTePq.js} +26 -26
  287. package/dist/{synthesis-CBwKBuLy.js → synthesis-DgiYnjmZ.js} +14 -14
  288. package/dist/{synthesis-D55QrjAJ.js → synthesis-y-Ozm8YK.js} +27 -27
  289. package/dist/{system-cli-BERSpUjO.js → system-cli-IeefTiI1.js} +3 -3
  290. package/dist/{system-cli-C61hzNPk.js → system-cli-hjvWuxnn.js} +3 -3
  291. package/dist/{systemd-hints-Ct8ebNeC.js → systemd-hints-CW7G2Z_2.js} +1 -1
  292. package/dist/{systemd-hints-vhJS1sOh.js → systemd-hints-CcsN2P1C.js} +1 -1
  293. package/dist/{tui-CI_zqapL.js → tui-ByDc_eA-.js} +4 -4
  294. package/dist/{tui-Dg_cvgVP.js → tui-DulNash-.js} +4 -4
  295. package/dist/{tui-cli-DtBW_VCL.js → tui-cli-D--Wucil.js} +9 -9
  296. package/dist/{tui-cli-BD1cbShC.js → tui-cli-cbFjX5ua.js} +9 -9
  297. package/dist/{unified-runner-BhnvjB1J.js → unified-runner-BRmPenSK.js} +216 -95
  298. package/dist/{update-cli-D3K4mhrr.js → update-cli-5uhTWLns.js} +38 -38
  299. package/dist/{update-cli-CL1_LPBS.js → update-cli-BfvcUFky.js} +40 -40
  300. package/dist/{update-runner-DMucmRlv.js → update-runner-22u8HOoq.js} +1 -1
  301. package/dist/{update-runner-Bmq67eos.js → update-runner-DyENgdTM.js} +1 -1
  302. package/dist/{web-C1HPdY_D.js → web-B8GaP73t.js} +17 -17
  303. package/dist/{web-DmgQtLx3.js → web-CqeSgivQ.js} +30 -30
  304. package/dist/{web-DCO_YCRw.js → web-Dbe1DwOE.js} +17 -17
  305. package/dist/{web-B0lZdBBl.js → web-s9NWpUYH.js} +30 -30
  306. package/dist/{webhooks-cli-BEk3Xj9r.js → webhooks-cli-9lyrT9S-.js} +1 -1
  307. package/dist/{webhooks-cli-B7WTF3ao.js → webhooks-cli-C56QoA-d.js} +1 -1
  308. package/dist/{whatsapp-actions-uEcDLORc.js → whatsapp-actions-BV4mjN5j.js} +2 -2
  309. package/dist/{whatsapp-actions-DmVpLXmh.js → whatsapp-actions-BngdI8G3.js} +2 -2
  310. package/dist/{whatsapp-actions-DEn0NRir.js → whatsapp-actions-D5RBK0Cm.js} +2 -2
  311. package/dist/{whatsapp-actions-BUZuNBin.js → whatsapp-actions-Dx8FkbIf.js} +2 -2
  312. package/dist/{with-timeout-DwriPEWn.js → with-timeout-7gwjaz5c.js} +1 -1
  313. package/dist/{with-timeout-BuIx7QnX.js → with-timeout-C1vsg3IF.js} +1 -1
  314. package/extensions/bluebubbles/package.json +1 -1
  315. package/extensions/copilot-proxy/package.json +1 -1
  316. package/extensions/diagnostics-otel/package.json +1 -1
  317. package/extensions/discord/package.json +1 -1
  318. package/extensions/feishu/package.json +1 -1
  319. package/extensions/google-antigravity-auth/package.json +1 -1
  320. package/extensions/google-gemini-cli-auth/package.json +1 -1
  321. package/extensions/googlechat/package.json +1 -1
  322. package/extensions/imessage/package.json +1 -1
  323. package/extensions/irc/package.json +1 -1
  324. package/extensions/learning-loop/package.json +1 -1
  325. package/extensions/line/package.json +1 -1
  326. package/extensions/llm-task/package.json +1 -1
  327. package/extensions/matrix/CHANGELOG.md +6 -0
  328. package/extensions/matrix/package.json +1 -1
  329. package/extensions/mattermost/package.json +1 -1
  330. package/extensions/memory-core/package.json +1 -1
  331. package/extensions/memory-lancedb/package.json +1 -1
  332. package/extensions/minimax-portal-auth/package.json +1 -1
  333. package/extensions/msteams/CHANGELOG.md +6 -0
  334. package/extensions/msteams/package.json +1 -1
  335. package/extensions/nextcloud-talk/package.json +1 -1
  336. package/extensions/nostr/CHANGELOG.md +6 -0
  337. package/extensions/nostr/package.json +1 -1
  338. package/extensions/open-prose/package.json +1 -1
  339. package/extensions/outlook/package.json +1 -1
  340. package/extensions/pipeline/package.json +1 -1
  341. package/extensions/signal/package.json +1 -1
  342. package/extensions/slack/package.json +1 -1
  343. package/extensions/telegram/package.json +1 -1
  344. package/extensions/tlon/package.json +1 -1
  345. package/extensions/twitch/CHANGELOG.md +6 -0
  346. package/extensions/twitch/package.json +1 -1
  347. package/extensions/voice-call/CHANGELOG.md +6 -0
  348. package/extensions/voice-call/package.json +1 -1
  349. package/extensions/whatsapp/package.json +1 -1
  350. package/extensions/zalo/CHANGELOG.md +6 -0
  351. package/extensions/zalo/package.json +1 -1
  352. package/extensions/zalouser/CHANGELOG.md +6 -0
  353. package/extensions/zalouser/package.json +1 -1
  354. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { c as expandHomePrefix, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
3
3
  import { _ as isCronSessionKey, b as resolveThreadParentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as isAcpSessionKey, h as getSubagentDepth, l as resolveAgentIdFromSessionKey, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-BCzIW1Y2.js";
4
4
  import { $ as isRich, A as normalizeE164, D as isRecord$1, E as formatTerminalLink, H as isPlainObject, I as shortenHomeInString, J as setVerbose, K as logVerbose, L as shortenHomePath, P as resolveUserPath, Q as colorize, R as sleep$1, S as clampInt, T as escapeRegExp, U as danger, V as truncateUtf16Safe, Y as shouldLogVerbose, Z as warn, _ as matchPluginCommand, a as normalizeAnyChannelId, b as CONFIG_DIR, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, lt as resolvePreferredSymiTmpDir, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, st as normalizeLogLevel, tt as getChildLogger, u as setActivePluginRegistry, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry-BhoUuugi.js";
5
- import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-Cbl5pNe1.js";
5
+ import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, w as resolveSymiPackageRootSync, x as filterBootstrapFilesForSession } from "./agent-scope-Cbl5pNe1.js";
6
6
  import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CZixfwU8.js";
7
7
  import { $ as DEFAULT_MODEL, A as resolveShellEnvFallbackTimeoutMs, B as dedupeProfileIds, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as getSoonestCooldownExpiry, G as resolveSymiAgentDir, H as markAuthProfileGood, I as isProfileInCooldown, K as withFileLock, L as markAuthProfileFailure, O as getShellPathFromLoginShell, P as resolveAuthProfileOrder, Q as DEFAULT_CONTEXT_TOKENS, R as markAuthProfileUsed, S as getApiKeyForModel, T as resolveApiKeyForProvider, U as ensureAuthProfileStore, V as listProfilesForProvider, W as resolveAuthStorePathForDisplay, X as normalizeSecretInput, Z as resolveAuthProfileDisplayLabel, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, et as DEFAULT_PROVIDER, f as resolveModelRefFromString, i as findNormalizedProviderValue, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveApiKeyForProfile } from "./model-selection-vHAQ4r1b.js";
8
8
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-K_J_nfgx.js";
@@ -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-BaBv1rAU.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-DLVrnezL.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-D0bWiRCg.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-vmIzYMwN.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-CfejAK2u.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--ff__Iq0.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-Kbl70eCP.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-B5kAnKqP.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-_CmB6CKB.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-TcYQOZAY.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-BAVNLbja.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-BPP4adeW.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-CbBZUq-Q.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-DWdYdchb.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-B14NNyfm.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-t-stBgN6.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-XEbTRNYL.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -36,8 +36,8 @@ import { t as resolveIMessageAccount } from "./accounts-DImOt9jX.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DkMamAQ-.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-ChC2CXaN.js";
39
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-MNvheU8U.js";
40
- import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-C-H0XXJq.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-D5bsPk2_.js";
40
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-CztTHQhN.js";
41
41
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-479FB0St.js";
42
42
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
43
43
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-Dm716SF3.js";
@@ -49,18 +49,18 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-0kwEfxD4.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-ke7KirEH.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-CSF7Poen.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CgGv6nTy.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-DFuAePEr.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-B_6xBcPB.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-WLZaC77l.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-BaoETsQI.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-C-6tM-GK.js";
56
56
  import { n as normalizePollInput } from "./polls-Coxe0Akm.js";
57
57
  import { t as convertMarkdownTables } from "./tables-BE0lT1IV.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-DGbBPbV0.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-Iocbaltq.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-dohExhb8.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-C6-rN_Li.js";
60
60
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Dd2_hyM2.js";
61
61
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-CFRe6XNa.js";
62
62
  import { t as makeProxyFetch } from "./proxy-DaT-KQ7w.js";
63
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-D0NFBbd-.js";
63
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BV7oFP7Z.js";
64
64
  import { t as getActiveWebListener } from "./active-listener-OKZn7EWc.js";
65
65
  import { createRequire } from "node:module";
66
66
  import * as path$1 from "node:path";
@@ -3473,7 +3473,7 @@ async function getMemorySearchManager(params) {
3473
3473
  const wrapper = new FallbackMemoryManager({
3474
3474
  primary,
3475
3475
  fallbackFactory: async () => {
3476
- const { MemoryIndexManager } = await import("./manager-C-H0XXJq.js").then((n) => n.n);
3476
+ const { MemoryIndexManager } = await import("./manager-CztTHQhN.js").then((n) => n.n);
3477
3477
  return await MemoryIndexManager.get(params);
3478
3478
  }
3479
3479
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3486,7 +3486,7 @@ async function getMemorySearchManager(params) {
3486
3486
  }
3487
3487
  }
3488
3488
  try {
3489
- const { MemoryIndexManager } = await import("./manager-C-H0XXJq.js").then((n) => n.n);
3489
+ const { MemoryIndexManager } = await import("./manager-CztTHQhN.js").then((n) => n.n);
3490
3490
  return { manager: await MemoryIndexManager.get(params) };
3491
3491
  } catch (err) {
3492
3492
  return {
@@ -7367,7 +7367,7 @@ async function routeReply(params) {
7367
7367
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7368
7368
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7369
7369
  try {
7370
- const { deliverOutboundPayloads } = await import("./deliver-D0bWiRCg.js").then((n) => n.n);
7370
+ const { deliverOutboundPayloads } = await import("./deliver--ff__Iq0.js").then((n) => n.n);
7371
7371
  return {
7372
7372
  ok: true,
7373
7373
  messageId: (await deliverOutboundPayloads({
@@ -39534,6 +39534,38 @@ function setCliSessionId(entry, provider, sessionId) {
39534
39534
  //#endregion
39535
39535
  //#region src/config/model-profiles-builtin.ts
39536
39536
  /**
39537
+ * Shared safety + output-style additions applied to most built-in profiles
39538
+ * and the Generic fallback. These rules came from a long history of
39539
+ * model-specific bugs (verification-monologue padding, "I have addressed"
39540
+ * preambles, post-answer assessment lists). Keeping them in one place
39541
+ * means a new profile inherits sane defaults instead of starting empty.
39542
+ *
39543
+ * Stage 2.4 of the prompt-reduction plan: rules that ALL profiles need
39544
+ * live here; profile-specific rules (control-token stripping, tool-arg
39545
+ * cleanup, reasoning hints) live in their own per-profile additions.
39546
+ *
39547
+ * Exported so resolve-model-profile.ts can apply the same additions to
39548
+ * the Generic fallback profile — no model resolves to "Generic" without
39549
+ * inheriting the safety/style rules.
39550
+ */
39551
+ const SAFETY_AND_STYLE_ADDITIONS = [
39552
+ "CRITICAL OUTPUT RULES:",
39553
+ "- Your response ends when you have delivered the answer. Do not append anything after.",
39554
+ "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
39555
+ "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
39556
+ "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
39557
+ "- If you need to verify your work, do so before writing your response, not after.",
39558
+ "- Send brief progress updates on long tasks so the user knows you are active."
39559
+ ];
39560
+ /** Hint for native-reasoning models (Nemotron, Qwen 3.5/3.6) to keep
39561
+ * planning internal. Not applied to Gemma/Ollama because those models
39562
+ * don't have structured thinking and the rule confuses them. */
39563
+ const REASONING_DISCIPLINE_ADDITION = "- Keep planning and reasoning internal. Only speak when you have a result or need user input.";
39564
+ /** Hint for models that leak Gemma-style control tokens (Gemma family,
39565
+ * Ollama hosting any uncensored open model). Forces tool-arg cleanup and
39566
+ * forbids leaking turn markers in user-visible text. */
39567
+ const CONTROL_TOKEN_ADDITIONS = ["- Do not output raw control tokens, channel tags, or turn markers.", "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."];
39568
+ /**
39537
39569
  * Built-in model profiles. Ordered from most-specific to least-specific so
39538
39570
  * that `resolveModelProfile` can return the first match.
39539
39571
  *
@@ -39567,17 +39599,7 @@ const BUILTIN_PROFILES = [
39567
39599
  hasStructuredThinking: false,
39568
39600
  validateToolArgs: true
39569
39601
  },
39570
- promptAdditions: [
39571
- "CRITICAL OUTPUT RULES:",
39572
- "- Your response ends when you have delivered the answer. Do not append anything after.",
39573
- "- Do not output raw control tokens, channel tags, or turn markers.",
39574
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
39575
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
39576
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
39577
- "- If you need to verify your work, do so before writing your response, not after.",
39578
- "- Send brief progress updates on long tasks so the user knows you are active.",
39579
- "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
39580
- ],
39602
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
39581
39603
  ui: {
39582
39604
  badge: "Local",
39583
39605
  watchdogMs: 9e5,
@@ -39604,16 +39626,7 @@ const BUILTIN_PROFILES = [
39604
39626
  hasStructuredThinking: true,
39605
39627
  validateToolArgs: false
39606
39628
  },
39607
- promptAdditions: [
39608
- "CRITICAL OUTPUT RULES:",
39609
- "- Your response ends when you have delivered the answer. Do not append anything after.",
39610
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
39611
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
39612
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
39613
- "- If you need to verify your work, do so before writing your response, not after.",
39614
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
39615
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
39616
- ],
39629
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
39617
39630
  ui: {
39618
39631
  badge: "Local",
39619
39632
  watchdogMs: 9e5,
@@ -39639,7 +39652,7 @@ const BUILTIN_PROFILES = [
39639
39652
  hasStructuredThinking: true,
39640
39653
  validateToolArgs: false
39641
39654
  },
39642
- promptAdditions: [],
39655
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
39643
39656
  ui: {
39644
39657
  badge: "API",
39645
39658
  watchdogMs: 3e5,
@@ -39672,15 +39685,7 @@ const BUILTIN_PROFILES = [
39672
39685
  hasStructuredThinking: true,
39673
39686
  validateToolArgs: false
39674
39687
  },
39675
- promptAdditions: [
39676
- "CRITICAL OUTPUT RULES:",
39677
- "- Your response ends when you have delivered the answer. Do not append anything after.",
39678
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
39679
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
39680
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
39681
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
39682
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
39683
- ],
39688
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
39684
39689
  ui: {
39685
39690
  badge: "Spider",
39686
39691
  watchdogMs: 9e5,
@@ -39713,16 +39718,7 @@ const BUILTIN_PROFILES = [
39713
39718
  hasStructuredThinking: false,
39714
39719
  validateToolArgs: true
39715
39720
  },
39716
- promptAdditions: [
39717
- "CRITICAL OUTPUT RULES:",
39718
- "- Your response ends when you have delivered the answer. Do not append anything after.",
39719
- "- Do not output raw control tokens, channel tags, or turn markers.",
39720
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
39721
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
39722
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
39723
- "- Send brief progress updates on long tasks so the user knows you are active.",
39724
- "- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
39725
- ],
39721
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
39726
39722
  ui: {
39727
39723
  badge: "Spider",
39728
39724
  watchdogMs: 6e5,
@@ -39754,16 +39750,7 @@ const BUILTIN_PROFILES = [
39754
39750
  hasStructuredThinking: true,
39755
39751
  validateToolArgs: false
39756
39752
  },
39757
- promptAdditions: [
39758
- "CRITICAL OUTPUT RULES:",
39759
- "- Your response ends when you have delivered the answer. Do not append anything after.",
39760
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
39761
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
39762
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
39763
- "- If you need to verify your work, do so before writing your response, not after.",
39764
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
39765
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
39766
- ],
39753
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
39767
39754
  ui: {
39768
39755
  badge: "CoreWeave",
39769
39756
  watchdogMs: 9e5,
@@ -39774,7 +39761,15 @@ const BUILTIN_PROFILES = [
39774
39761
 
39775
39762
  //#endregion
39776
39763
  //#region src/config/resolve-model-profile.ts
39777
- /** Default profile returned when no match is found. */
39764
+ /**
39765
+ * Default profile returned when no match is found.
39766
+ *
39767
+ * Stage 2.4 of the prompt-reduction plan: the Generic fallback now ships
39768
+ * the same safety+style additions as every named profile, so newly-added
39769
+ * models without a profile entry inherit sane defaults instead of
39770
+ * starting empty (which would silently regress safety rules until someone
39771
+ * notices and adds a profile).
39772
+ */
39778
39773
  const FALLBACK_PROFILE = {
39779
39774
  match: "*",
39780
39775
  label: "Generic",
@@ -39793,7 +39788,7 @@ const FALLBACK_PROFILE = {
39793
39788
  hasStructuredThinking: false,
39794
39789
  validateToolArgs: false
39795
39790
  },
39796
- promptAdditions: [],
39791
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
39797
39792
  ui: {
39798
39793
  watchdogMs: 3e5,
39799
39794
  armWatchdogOnSend: true
@@ -46379,10 +46374,90 @@ async function prepareSessionManagerForRun(params) {
46379
46374
  }
46380
46375
  }
46381
46376
 
46377
+ //#endregion
46378
+ //#region src/agents/system-prompt-skills-autoload.ts
46379
+ const FRONTMATTER_RE = /^---\s*\n[\s\S]*?\n---\s*\n?/;
46380
+ let cachedPackageRoot;
46381
+ function getPackageRoot() {
46382
+ if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
46383
+ return cachedPackageRoot;
46384
+ }
46385
+ function safeSkillName(name) {
46386
+ return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
46387
+ }
46388
+ function tryLoadSkill(skillName, root) {
46389
+ const skillPath = path.join(root, "skills", skillName, "SKILL.md");
46390
+ try {
46391
+ if (!fs.statSync(skillPath).isFile()) return null;
46392
+ } catch {
46393
+ return null;
46394
+ }
46395
+ try {
46396
+ return fs.readFileSync(skillPath, "utf8");
46397
+ } catch {
46398
+ return null;
46399
+ }
46400
+ }
46401
+ function stripFrontmatter(body) {
46402
+ return body.replace(FRONTMATTER_RE, "").trimStart();
46403
+ }
46404
+ /**
46405
+ * Resolves and loads each named skill. Returns the inlinable Markdown block,
46406
+ * or empty string when no skills loaded / minimal mode / no names supplied.
46407
+ */
46408
+ function buildAutoLoadedSkillsBlock(opts) {
46409
+ if (opts.minimalMode) return "";
46410
+ const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
46411
+ if (names.length === 0) return "";
46412
+ const packageRoot = getPackageRoot();
46413
+ const loaded = [];
46414
+ for (const rawName of names) {
46415
+ const name = rawName.trim();
46416
+ if (!safeSkillName(name)) {
46417
+ logWarn(`autoLoadInline: skipping invalid skill name '${rawName}'`);
46418
+ continue;
46419
+ }
46420
+ let body = null;
46421
+ let source = "bundled";
46422
+ if (opts.workspaceDir) {
46423
+ body = tryLoadSkill(name, opts.workspaceDir);
46424
+ source = "workspace";
46425
+ }
46426
+ if (body === null && packageRoot) {
46427
+ body = tryLoadSkill(name, packageRoot);
46428
+ source = "bundled";
46429
+ }
46430
+ if (body === null) {
46431
+ logWarn(`autoLoadInline: skill '${name}' not found in workspace or bundled skills`);
46432
+ continue;
46433
+ }
46434
+ const stripped = stripFrontmatter(body).trim();
46435
+ if (!stripped) {
46436
+ logWarn(`autoLoadInline: skill '${name}' has empty body after frontmatter strip; skipping`);
46437
+ continue;
46438
+ }
46439
+ loaded.push({
46440
+ name,
46441
+ body: stripped,
46442
+ source
46443
+ });
46444
+ }
46445
+ if (loaded.length === 0) return "";
46446
+ return [
46447
+ "",
46448
+ "---",
46449
+ "",
46450
+ "## Auto-loaded Skills",
46451
+ "",
46452
+ loaded.map((skill) => `<!-- auto-loaded: ${skill.name} (${skill.source}) -->\n${skill.body}`).join("\n\n---\n\n"),
46453
+ ""
46454
+ ].join("\n");
46455
+ }
46456
+
46382
46457
  //#endregion
46383
46458
  //#region src/agents/pi-embedded-runner/system-prompt.ts
46384
46459
  function buildEmbeddedSystemPrompt(params) {
46385
- return buildAgentSystemPrompt({
46460
+ const corePrompt = buildAgentSystemPrompt({
46386
46461
  workspaceDir: params.workspaceDir,
46387
46462
  defaultThinkLevel: params.defaultThinkLevel,
46388
46463
  reasoningLevel: params.reasoningLevel,
@@ -46410,6 +46485,14 @@ function buildEmbeddedSystemPrompt(params) {
46410
46485
  contextFiles: params.contextFiles,
46411
46486
  memoryCitationsMode: params.memoryCitationsMode
46412
46487
  });
46488
+ const promptMode = params.promptMode ?? "full";
46489
+ const isMinimal = promptMode === "minimal" || promptMode === "none";
46490
+ const skillsBlock = buildAutoLoadedSkillsBlock({
46491
+ skillNames: params.autoLoadInlineSkills ?? [],
46492
+ workspaceDir: params.workspaceDir,
46493
+ minimalMode: isMinimal
46494
+ });
46495
+ return skillsBlock ? `${corePrompt}${skillsBlock}` : corePrompt;
46413
46496
  }
46414
46497
  function createSystemPromptOverride(systemPrompt) {
46415
46498
  const override = systemPrompt.trim();
@@ -47197,7 +47280,8 @@ async function runEmbeddedAttempt(params) {
47197
47280
  userTime,
47198
47281
  userTimeFormat,
47199
47282
  contextFiles,
47200
- memoryCitationsMode: params.config?.memory?.citations
47283
+ memoryCitationsMode: params.config?.memory?.citations,
47284
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline
47201
47285
  });
47202
47286
  const systemPromptReport = buildSystemPromptReport({
47203
47287
  source: "run",
@@ -51680,7 +51764,7 @@ async function deliverSessionMaintenanceWarning(params) {
51680
51764
  return;
51681
51765
  }
51682
51766
  try {
51683
- const { deliverOutboundPayloads } = await import("./deliver-D0bWiRCg.js").then((n) => n.n);
51767
+ const { deliverOutboundPayloads } = await import("./deliver--ff__Iq0.js").then((n) => n.n);
51684
51768
  await deliverOutboundPayloads({
51685
51769
  cfg: params.cfg,
51686
51770
  channel,
@@ -55126,7 +55210,7 @@ async function describeStickerImage(params) {
55126
55210
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
55127
55211
  try {
55128
55212
  const buffer = await fs$1.readFile(imagePath);
55129
- const { describeImageWithModel } = await import("./image-MNvheU8U.js").then((n) => n.n);
55213
+ const { describeImageWithModel } = await import("./image-D5bsPk2_.js").then((n) => n.n);
55130
55214
  return (await describeImageWithModel({
55131
55215
  buffer,
55132
55216
  fileName: "sticker.webp",
@@ -55549,7 +55633,7 @@ function createWhatsAppLoginTool() {
55549
55633
  force: Type.Optional(Type.Boolean())
55550
55634
  }),
55551
55635
  execute: async (_toolCallId, args) => {
55552
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-Apnag5S6.js");
55636
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BBrzemk7.js");
55553
55637
  if ((args?.action ?? "start") === "wait") {
55554
55638
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
55555
55639
  return {
@@ -57875,7 +57959,7 @@ async function preflightDiscordMessage(params) {
57875
57959
  let preflightTranscript;
57876
57960
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
57877
57961
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
57878
- const { transcribeFirstAudio } = await import("./audio-preflight-C6vpFnOG.js");
57962
+ const { transcribeFirstAudio } = await import("./audio-preflight-CMutcMs5.js");
57879
57963
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
57880
57964
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
57881
57965
  ctx: {
@@ -61658,27 +61742,27 @@ function isVoiceChannelType(type) {
61658
61742
  function createDefaultDeps() {
61659
61743
  return {
61660
61744
  sendMessageWhatsApp: async (...args) => {
61661
- const { sendMessageWhatsApp } = await import("./web-C1HPdY_D.js");
61745
+ const { sendMessageWhatsApp } = await import("./web-B8GaP73t.js");
61662
61746
  return await sendMessageWhatsApp(...args);
61663
61747
  },
61664
61748
  sendMessageTelegram: async (...args) => {
61665
- const { sendMessageTelegram } = await import("./send-B5kAnKqP.js").then((n) => n.l);
61749
+ const { sendMessageTelegram } = await import("./send-_CmB6CKB.js").then((n) => n.l);
61666
61750
  return await sendMessageTelegram(...args);
61667
61751
  },
61668
61752
  sendMessageDiscord: async (...args) => {
61669
- const { sendMessageDiscord } = await import("./send-DLVrnezL.js").then((n) => n.t);
61753
+ const { sendMessageDiscord } = await import("./send-CfejAK2u.js").then((n) => n.t);
61670
61754
  return await sendMessageDiscord(...args);
61671
61755
  },
61672
61756
  sendMessageSlack: async (...args) => {
61673
- const { sendMessageSlack } = await import("./send-BaBv1rAU.js").then((n) => n.n);
61757
+ const { sendMessageSlack } = await import("./send-vmIzYMwN.js").then((n) => n.n);
61674
61758
  return await sendMessageSlack(...args);
61675
61759
  },
61676
61760
  sendMessageSignal: async (...args) => {
61677
- const { sendMessageSignal } = await import("./send-DGbBPbV0.js").then((n) => n.i);
61761
+ const { sendMessageSignal } = await import("./send-dohExhb8.js").then((n) => n.i);
61678
61762
  return await sendMessageSignal(...args);
61679
61763
  },
61680
61764
  sendMessageIMessage: async (...args) => {
61681
- const { sendMessageIMessage } = await import("./send-Iocbaltq.js").then((n) => n.n);
61765
+ const { sendMessageIMessage } = await import("./send-C6-rN_Li.js").then((n) => n.n);
61682
61766
  return await sendMessageIMessage(...args);
61683
61767
  }
61684
61768
  };
@@ -72508,7 +72592,7 @@ async function registerSlackMonitorSlashCommands(params) {
72508
72592
  });
72509
72593
  const deliverSlashPayloads = async (replies) => {
72510
72594
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
72511
- import("./replies-D0NFBbd-.js").then((n) => n.r),
72595
+ import("./replies-BV7oFP7Z.js").then((n) => n.r),
72512
72596
  import("./chunk-Bk95VMr4.js").then((n) => n.s),
72513
72597
  import("./markdown-tables-XmEPv2t0.js").then((n) => n.t)
72514
72598
  ]);
@@ -74781,7 +74865,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
74781
74865
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
74782
74866
  let preflightTranscript;
74783
74867
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
74784
- const { transcribeFirstAudio } = await import("./audio-preflight-C6vpFnOG.js");
74868
+ const { transcribeFirstAudio } = await import("./audio-preflight-CMutcMs5.js");
74785
74869
  preflightTranscript = await transcribeFirstAudio({
74786
74870
  ctx: {
74787
74871
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -76926,23 +77010,23 @@ let webLoginQrPromise = null;
76926
77010
  let webChannelPromise = null;
76927
77011
  let whatsappActionsPromise = null;
76928
77012
  function loadWebOutbound() {
76929
- webOutboundPromise ??= import("./outbound-mG1crIsY.js").then((n) => n.t);
77013
+ webOutboundPromise ??= import("./outbound-CLCy4Nsg.js").then((n) => n.t);
76930
77014
  return webOutboundPromise;
76931
77015
  }
76932
77016
  function loadWebLogin() {
76933
- webLoginPromise ??= import("./login-EYdkb0dH.js").then((n) => n.n);
77017
+ webLoginPromise ??= import("./login-B7OJui4y.js").then((n) => n.n);
76934
77018
  return webLoginPromise;
76935
77019
  }
76936
77020
  function loadWebLoginQr() {
76937
- webLoginQrPromise ??= import("./login-qr-Apnag5S6.js");
77021
+ webLoginQrPromise ??= import("./login-qr-BBrzemk7.js");
76938
77022
  return webLoginQrPromise;
76939
77023
  }
76940
77024
  function loadWebChannel() {
76941
- webChannelPromise ??= import("./web-C1HPdY_D.js");
77025
+ webChannelPromise ??= import("./web-B8GaP73t.js");
76942
77026
  return webChannelPromise;
76943
77027
  }
76944
77028
  function loadWhatsAppActions() {
76945
- whatsappActionsPromise ??= import("./whatsapp-actions-uEcDLORc.js");
77029
+ whatsappActionsPromise ??= import("./whatsapp-actions-BV4mjN5j.js");
76946
77030
  return whatsappActionsPromise;
76947
77031
  }
76948
77032
  function createPluginRuntime() {
@@ -78817,6 +78901,22 @@ function wrapToolParamNormalization(tool, requiredParamGroups) {
78817
78901
  }
78818
78902
  };
78819
78903
  }
78904
+ /**
78905
+ * Override a tool's description while preserving execute, parameters, and
78906
+ * other properties. Used by Stage 2.5 of the prompt-reduction plan to move
78907
+ * usage docs from the system prompt into tool descriptions where they
78908
+ * belong contextually.
78909
+ *
78910
+ * The replacement description should include the upstream's tool-purpose
78911
+ * sentence so models that only read the description (without the prompt
78912
+ * section) still have the same baseline understanding.
78913
+ */
78914
+ function wrapToolWithDescriptionOverride(tool, description) {
78915
+ return {
78916
+ ...tool,
78917
+ description
78918
+ };
78919
+ }
78820
78920
  function wrapToolWorkspaceRootGuard(tool, root) {
78821
78921
  return {
78822
78922
  ...tool,
@@ -79057,6 +79157,26 @@ function resolveToolLoopDetectionConfig(params) {
79057
79157
  }
79058
79158
  };
79059
79159
  }
79160
+ /**
79161
+ * Edit tool description. Replaces the upstream's terse one-liner with
79162
+ * usage notes migrated from the system prompt's "Edit Tool Best Practices"
79163
+ * section in Stage 2.5 of the prompt-reduction plan. Co-locating these
79164
+ * notes with the tool means they ship only when edit is in palette, and
79165
+ * the system prompt section can be deleted in Stage 4 without losing the
79166
+ * guidance.
79167
+ *
79168
+ * Combined with the read-before-edit guard (Stage 1.3) and the model's
79169
+ * own discipline, this should kill the hallucinated-oldText failure class
79170
+ * for any well-intentioned model.
79171
+ */
79172
+ const EDIT_TOOL_DESCRIPTION = [
79173
+ "Edit a file by replacing exact text. The oldText must match the file EXACTLY (whitespace, indentation, and all).",
79174
+ "Best practices to avoid match failures:",
79175
+ "- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
79176
+ "- ALWAYS read the file first, then copy the exact text from the read output for oldText. The read-before-edit guard refuses edits to unread files.",
79177
+ "- If an edit fails with 'Could not find the exact text', re-read the file and retry with the exact text from the fresh read. Do NOT skip to a different issue.",
79178
+ "- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines)."
79179
+ ].join(" ");
79060
79180
  function createSymiCodingTools(options) {
79061
79181
  const execToolName = "exec";
79062
79182
  const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
@@ -79145,7 +79265,7 @@ function createSymiCodingTools(options) {
79145
79265
  }
79146
79266
  if (tool.name === "edit") {
79147
79267
  if (sandboxRoot) return [];
79148
- const guarded = wrapEditToolWithGuard(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), readEditTracker);
79268
+ const guarded = wrapEditToolWithGuard(wrapToolWithDescriptionOverride(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), EDIT_TOOL_DESCRIPTION), readEditTracker);
79149
79269
  return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
79150
79270
  }
79151
79271
  return [tool];
@@ -79588,7 +79708,8 @@ async function compactEmbeddedPiSessionDirect(params) {
79588
79708
  userTime,
79589
79709
  userTimeFormat,
79590
79710
  contextFiles,
79591
- memoryCitationsMode: params.config?.memory?.citations
79711
+ memoryCitationsMode: params.config?.memory?.citations,
79712
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline
79592
79713
  }));
79593
79714
  const sessionLock = await acquireSessionWriteLock({
79594
79715
  sessionFile: params.sessionFile,
@@ -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-PXAJCHa5.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-CCHQuSja.js";
4
+ import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-BYCtuYPj.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-BQ5LAIBQ.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-DXt3pc08.js";
3
+ import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DE6JXMtt.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-WWVXeHlA.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-T9SO3y3b.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