@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
@@ -3,7 +3,7 @@ import { $t as triggerInternalHook, A as normalizeChannelId, B as getPluginComma
3
3
  import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, E as withFileLock, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$2, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, P as isCliProvider, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, c as resolveApiKeyForProfile, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, m as dedupeProfileIds, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-BBniPGeS.js";
4
4
  import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
5
5
  import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as getSubagentDepth, b as isCronSessionKey, c as normalizeMainKey, d as sanitizeAgentId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as isSubagentSessionKey } from "./session-key-DjZ7Z1hW.js";
6
- import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
6
+ import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
7
7
  import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
8
8
  import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-D-jRCY0d.js";
9
9
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DuFIqfeC.js";
@@ -14,29 +14,29 @@ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discov
14
14
  import { r as isPathInsideWithRealpath } from "./scan-paths-ppKrtZ9U.js";
15
15
  import { a as resolveSkillsPromptForRun, d as resolveSandboxInputPath, h as applySkillEnvOverridesFromSnapshot, i as loadWorkspaceSkillEntries, l as assertMediaNotDataUrl, m as applySkillEnvOverrides, p as resolveSandboxedMediaSource, r as buildWorkspaceSkillSnapshot, u as assertSandboxPath } from "./skills-D_oCiaQn.js";
16
16
  import { a as safeStatSync, c as applyTestPluginDefaults, d as resolveEnableState, f as resolveMemorySlotDecision, h as isDangerousHostEnvVarName, i as isPathInside, n as loadPluginManifestRegistry, r as discoverSymiPlugins, u as normalizePluginsConfig } from "./manifest-registry-D5bnO5uA.js";
17
- import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DXt3pc08.js";
17
+ import { A as parseConfigPath, B as resolveAgentMaxConcurrent, C as parseDurationMs, D as setConfigOverride, E as resetConfigOverrides, H as VERSION, M as unsetConfigValueAtPath, O as unsetConfigOverride, T as getConfigOverrides, _ as isInboundPathAllowed, b as resolveIMessageRemoteAttachmentRoots, c as resolveConfigSnapshotHash, h as resolveTelegramCustomCommands, i as loadConfig, j as setConfigValueAtPath, k as getConfigValueAtPath, l as writeConfigFile, m as normalizeTelegramCommandName, o as readConfigFileSnapshot, p as TELEGRAM_COMMAND_NAME_PATTERN, u as validateConfigObjectWithPlugins, w as validateJsonSchemaValue, x as normalizeScpRemoteHost, y as resolveIMessageAttachmentRoots, z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DE6JXMtt.js";
18
18
  import { Rt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-CJIMV1WD.js";
19
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-M4YyUnwu.js";
19
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-X_vwo309.js";
20
20
  import { a as isInternalMessageChannel, c as listDeliverableMessageChannels, d as resolveMessageChannel, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, o as isMarkdownCapableMessageChannel, p as GATEWAY_CLIENT_IDS, t as INTERNAL_MESSAGE_CHANNEL, u as resolveGatewayMessageChannel } from "./message-channel-C9dERklz.js";
21
21
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-D0lNkCf6.js";
22
- import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-BPD85pWA.js";
22
+ import { A as DEFAULT_RESET_TRIGGERS, B as resolveGroupSessionKey, D as resolveSessionResetPolicy, E as resolveChannelResetConfig, F as resolveMainSessionKey, G as deliveryContextKey, J as normalizeSessionDeliveryFields, K as mergeDeliveryContext, L as deriveSessionMetaPatch, O as resolveSessionResetType, P as resolveExplicitAgentSessionKey, T as evaluateSessionFreshness, U as resolveSessionLockMaxHoldFromTimeout, V as acquireSessionWriteLock, W as deliveryContextFromSession, Y as normalizeAccountId$3, _ as capArrayByJsonBytes, a as resolveAndPersistSessionFile, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as archiveSessionTranscripts, j as resolveFreshSessionTotalTokens, k as resolveThreadFlag, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as normalizeDeliveryContext, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, w as resolveSessionKey } from "./sessions-DCr5nAOw.js";
23
23
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Csntmwwn.js";
24
24
  import { _ as listEnabledDiscordAccounts, a as isWhatsAppGroupJid, c as listEnabledTelegramAccounts, d as resolveTelegramToken, f as resolveSlackAccount, g as createDiscordActionGate, h as resolveSlackBotToken, l as listTelegramAccountIds, m as resolveSlackAppToken, n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId$1, s as createTelegramActionGate, t as getChannelPlugin, u as resolveTelegramAccount, v as resolveDiscordAccount, y as normalizeDiscordToken } from "./plugins-CwSlLxM8.js";
25
25
  import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-D9ITgITj.js";
26
26
  import { t as normalizeChatType } from "./chat-type-CeFzWU-6.js";
27
- 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-CJJuN-Fg.js";
28
- 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-BaFD3lZ7.js";
29
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-BuIx7QnX.js";
30
- 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-Bdk_R0pQ.js";
27
+ 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-CoSPwGiI.js";
28
+ 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-CcD9S5so.js";
29
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-C1vsg3IF.js";
30
+ 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-CeNdvQJ3.js";
31
31
  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-Ci8Xsc_Y.js";
32
32
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CIjIGxEE.js";
33
33
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-D1eLj5t8.js";
34
- import { 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 parseTelegramTarget, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, 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 isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-Dz656vcm.js";
34
+ import { 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 parseTelegramTarget, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, 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 isVoiceCompatibleAudio, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-Bi8XhwOZ.js";
35
35
  import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-CUkaZz2F.js";
36
- import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-YD1JQ5xV.js";
37
- import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-WWVXeHlA.js";
38
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-D2ohnA09.js";
39
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-C66bI8ZM.js";
36
+ import { A as isTransientHttpError, C as isContextOverflowError, D as isRateLimitAssistantError, E as isLikelyContextOverflowError, F as ensureSessionHeader, I as resolveBootstrapMaxChars, L as resolveBootstrapTotalMaxChars, M as parseImageSizeError, N as sanitizeUserFacingText, O as isRawApiErrorPayload, P as buildBootstrapContextFiles, R as sanitizeGoogleTurnOrdering, S as isCompactionFailureError, T as isFailoverErrorMessage, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, b as isBillingAssistantError, c as extractToolCallsFromAssistant, d as isAntigravityClaude, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, j as parseImageDimensionError, k as isTimeoutErrorMessage, l as extractToolResultId, m as classifyFailoverReason, n as validateGeminiTurns, o as normalizeTextForComparison, p as BILLING_ERROR_USER_MESSAGE, r as pickFallbackThinkingLevel, s as sanitizeSessionMessagesImages, t as validateAnthropicTurns, u as downgradeOpenAIReasoningBlocks, v as getApiErrorPayloadFingerprint, w as isFailoverAssistantError, x as isCloudCodeAssistFormatError, y as isAuthAssistantError } from "./pi-embedded-helpers-BgpogTwt.js";
37
+ import { C as stripPluginOnlyAllowlist, S as resolveToolProfilePolicy, T as matchesAnyGlobPattern, _ as collectExplicitAllowlist, a as ensureSandboxWorkspaceForSession, b as mergeAlsoAllowPolicy, c as resolveSandboxRuntimeStatus, d as getBridgeAuthForPort, f as resolveSandboxConfigForAgent, g as buildPluginToolGroups, h as applyOwnerOnlyToolPolicy, o as resolveSandboxContext, v as expandPolicyWithPluginGroups, w as compileGlobPatterns, x as normalizeToolName } from "./sandbox-T9SO3y3b.js";
38
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-faqXQ9f1.js";
39
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-BkYSrDni.js";
40
40
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Ba_ROWsq.js";
41
41
  import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-OWKu4tXF.js";
42
42
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-Ixuyn7h8.js";
@@ -48,10 +48,10 @@ import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveS
48
48
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-D5O01TlD.js";
49
49
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-CVLISeRT.js";
50
50
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-8sKPnzpp.js";
51
- import { t as ensureSymiModelsJson } from "./models-config-J1x_DaPn.js";
51
+ import { t as ensureSymiModelsJson } from "./models-config-CHVfeRDR.js";
52
52
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUN71nd5.js";
53
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-OW9XfyYu.js";
54
- import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-QPF0UtOC.js";
53
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BmWvHCEJ.js";
54
+ import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-8N1YbbDk.js";
55
55
  import { f as runTasksWithConcurrency } from "./internal-C2jxeHS9.js";
56
56
  import { n as retryAsync } from "./retry-C4Q_VPOo.js";
57
57
  import { c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-Co0LcWKH.js";
@@ -63,13 +63,13 @@ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMedia
63
63
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-BRlF7czi.js";
64
64
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-Ee-evDmm.js";
65
65
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, i as listChatCommands, l as parseCommandArgs, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices } from "./commands-registry-CsxsFveo.js";
66
- import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as extractTextFromChatContent, 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, y as stripReasoningTagsFromText } from "./image-CnEFsKgw.js";
66
+ import { _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as extractTextFromChatContent, 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, y as stripReasoningTagsFromText } from "./image-Cp6qRPZ2.js";
67
67
  import { n as resolveToolDisplay } from "./tool-display-I4rDxv8J.js";
68
68
  import { n as formatTimeAgo } from "./format-relative-BDwAggS5.js";
69
69
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZozDZN-.js";
70
- import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-Cbz8g76d.js";
71
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-BuYrTTBn.js";
72
- import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-DaBIs243.js";
70
+ import { _ as applyTemplate, a as resolveMediaAttachmentLocalRoots, c as resolveAttachmentKind, d as registerUnhandledRejectionHandler, f as resolveConcurrency, g as CLI_OUTPUT_MAX_BUFFER, h as resolveMediaUnderstandingScope, i as resolveAutoImageModel, l as buildRandomTempFilePath, m as normalizeMediaUnderstandingChatType, n as createMediaAttachmentCache, o as runCapability, p as resolveTimeoutMs, r as normalizeMediaAttachments, t as buildProviderRegistry } from "./runner-CiThXXY3.js";
71
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-FckJ4pcL.js";
72
+ import { a as loadCombinedSessionStoreForGateway, u as lookupContextTokens } from "./session-utils-DQ-t0PxQ.js";
73
73
  import { b as ensureSkillsWatcher, i as resolveSkillCommandInvocation, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, r as listSkillCommandsForWorkspace, t as listReservedChatSlashCommandNames, x as getSkillsSnapshotVersion } from "./skill-commands-DrX4xCNq.js";
74
74
  import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-B2viSnRj.js";
75
75
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bsts3MRD.js";
@@ -83,19 +83,19 @@ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChan
83
83
  import { n as normalizePollInput } from "./polls-Cm1-n4jF.js";
84
84
  import { t as convertMarkdownTables } from "./tables-DL_wkymg.js";
85
85
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-l9TQg-aP.js";
86
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Bujr5pk7.js";
86
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-B5HVCnUI.js";
87
87
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BDqsqTKI.js";
88
88
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-CmPVNjnf.js";
89
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-5GrSqB6v.js";
90
- 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-9sVK0zP4.js";
89
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-CSkNKYIc.js";
90
+ 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-CupfdYEg.js";
91
91
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BFA2RukR.js";
92
92
  import { t as parseTimeoutMs } from "./parse-timeout-FUO1ff14.js";
93
93
  import { t as makeProxyFetch } from "./proxy-GY5xhMp0.js";
94
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-Sxbew659.js";
95
- import { r as detectBinary } from "./onboard-helpers-DWDNKmkJ.js";
94
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BxvfG7Oj.js";
95
+ import { r as detectBinary } from "./onboard-helpers-CNFdWQIV.js";
96
96
  import { t as resolvePairingIdLabel } from "./pairing-labels-BHx_CdbP.js";
97
97
  import { t as getActiveWebListener } from "./active-listener-DEi7sEFa.js";
98
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-o0ytjRqu.js";
98
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-GxaAKOgf.js";
99
99
  import { createRequire } from "node:module";
100
100
  import { execFileSync, spawn, spawnSync } from "node:child_process";
101
101
  import os, { homedir } from "node:os";
@@ -20470,7 +20470,7 @@ async function routeReply(params) {
20470
20470
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
20471
20471
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
20472
20472
  try {
20473
- const { deliverOutboundPayloads } = await import("./deliver-Bdk_R0pQ.js").then((n) => n.n);
20473
+ const { deliverOutboundPayloads } = await import("./deliver-CeNdvQJ3.js").then((n) => n.n);
20474
20474
  return {
20475
20475
  ok: true,
20476
20476
  messageId: (await deliverOutboundPayloads({
@@ -32723,6 +32723,38 @@ function setCliSessionId(entry, provider, sessionId) {
32723
32723
  //#endregion
32724
32724
  //#region src/config/model-profiles-builtin.ts
32725
32725
  /**
32726
+ * Shared safety + output-style additions applied to most built-in profiles
32727
+ * and the Generic fallback. These rules came from a long history of
32728
+ * model-specific bugs (verification-monologue padding, "I have addressed"
32729
+ * preambles, post-answer assessment lists). Keeping them in one place
32730
+ * means a new profile inherits sane defaults instead of starting empty.
32731
+ *
32732
+ * Stage 2.4 of the prompt-reduction plan: rules that ALL profiles need
32733
+ * live here; profile-specific rules (control-token stripping, tool-arg
32734
+ * cleanup, reasoning hints) live in their own per-profile additions.
32735
+ *
32736
+ * Exported so resolve-model-profile.ts can apply the same additions to
32737
+ * the Generic fallback profile — no model resolves to "Generic" without
32738
+ * inheriting the safety/style rules.
32739
+ */
32740
+ const SAFETY_AND_STYLE_ADDITIONS = [
32741
+ "CRITICAL OUTPUT RULES:",
32742
+ "- Your response ends when you have delivered the answer. Do not append anything after.",
32743
+ "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
32744
+ "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
32745
+ "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
32746
+ "- If you need to verify your work, do so before writing your response, not after.",
32747
+ "- Send brief progress updates on long tasks so the user knows you are active."
32748
+ ];
32749
+ /** Hint for native-reasoning models (Nemotron, Qwen 3.5/3.6) to keep
32750
+ * planning internal. Not applied to Gemma/Ollama because those models
32751
+ * don't have structured thinking and the rule confuses them. */
32752
+ const REASONING_DISCIPLINE_ADDITION = "- Keep planning and reasoning internal. Only speak when you have a result or need user input.";
32753
+ /** Hint for models that leak Gemma-style control tokens (Gemma family,
32754
+ * Ollama hosting any uncensored open model). Forces tool-arg cleanup and
32755
+ * forbids leaking turn markers in user-visible text. */
32756
+ 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."];
32757
+ /**
32726
32758
  * Built-in model profiles. Ordered from most-specific to least-specific so
32727
32759
  * that `resolveModelProfile` can return the first match.
32728
32760
  *
@@ -32756,17 +32788,7 @@ const BUILTIN_PROFILES = [
32756
32788
  hasStructuredThinking: false,
32757
32789
  validateToolArgs: true
32758
32790
  },
32759
- promptAdditions: [
32760
- "CRITICAL OUTPUT RULES:",
32761
- "- Your response ends when you have delivered the answer. Do not append anything after.",
32762
- "- Do not output raw control tokens, channel tags, or turn markers.",
32763
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
32764
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
32765
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
32766
- "- If you need to verify your work, do so before writing your response, not after.",
32767
- "- Send brief progress updates on long tasks so the user knows you are active.",
32768
- "- 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."
32769
- ],
32791
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
32770
32792
  ui: {
32771
32793
  badge: "Local",
32772
32794
  watchdogMs: 9e5,
@@ -32793,16 +32815,7 @@ const BUILTIN_PROFILES = [
32793
32815
  hasStructuredThinking: true,
32794
32816
  validateToolArgs: false
32795
32817
  },
32796
- promptAdditions: [
32797
- "CRITICAL OUTPUT RULES:",
32798
- "- Your response ends when you have delivered the answer. Do not append anything after.",
32799
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
32800
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
32801
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
32802
- "- If you need to verify your work, do so before writing your response, not after.",
32803
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
32804
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
32805
- ],
32818
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
32806
32819
  ui: {
32807
32820
  badge: "Local",
32808
32821
  watchdogMs: 9e5,
@@ -32828,7 +32841,7 @@ const BUILTIN_PROFILES = [
32828
32841
  hasStructuredThinking: true,
32829
32842
  validateToolArgs: false
32830
32843
  },
32831
- promptAdditions: [],
32844
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
32832
32845
  ui: {
32833
32846
  badge: "API",
32834
32847
  watchdogMs: 3e5,
@@ -32861,15 +32874,7 @@ const BUILTIN_PROFILES = [
32861
32874
  hasStructuredThinking: true,
32862
32875
  validateToolArgs: false
32863
32876
  },
32864
- promptAdditions: [
32865
- "CRITICAL OUTPUT RULES:",
32866
- "- Your response ends when you have delivered the answer. Do not append anything after.",
32867
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
32868
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
32869
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
32870
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
32871
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
32872
- ],
32877
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
32873
32878
  ui: {
32874
32879
  badge: "Spider",
32875
32880
  watchdogMs: 9e5,
@@ -32902,16 +32907,7 @@ const BUILTIN_PROFILES = [
32902
32907
  hasStructuredThinking: false,
32903
32908
  validateToolArgs: true
32904
32909
  },
32905
- promptAdditions: [
32906
- "CRITICAL OUTPUT RULES:",
32907
- "- Your response ends when you have delivered the answer. Do not append anything after.",
32908
- "- Do not output raw control tokens, channel tags, or turn markers.",
32909
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
32910
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
32911
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
32912
- "- Send brief progress updates on long tasks so the user knows you are active.",
32913
- "- 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."
32914
- ],
32910
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
32915
32911
  ui: {
32916
32912
  badge: "Spider",
32917
32913
  watchdogMs: 6e5,
@@ -32943,16 +32939,7 @@ const BUILTIN_PROFILES = [
32943
32939
  hasStructuredThinking: true,
32944
32940
  validateToolArgs: false
32945
32941
  },
32946
- promptAdditions: [
32947
- "CRITICAL OUTPUT RULES:",
32948
- "- Your response ends when you have delivered the answer. Do not append anything after.",
32949
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
32950
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
32951
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
32952
- "- If you need to verify your work, do so before writing your response, not after.",
32953
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
32954
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
32955
- ],
32942
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
32956
32943
  ui: {
32957
32944
  badge: "CoreWeave",
32958
32945
  watchdogMs: 9e5,
@@ -32963,7 +32950,15 @@ const BUILTIN_PROFILES = [
32963
32950
 
32964
32951
  //#endregion
32965
32952
  //#region src/config/resolve-model-profile.ts
32966
- /** Default profile returned when no match is found. */
32953
+ /**
32954
+ * Default profile returned when no match is found.
32955
+ *
32956
+ * Stage 2.4 of the prompt-reduction plan: the Generic fallback now ships
32957
+ * the same safety+style additions as every named profile, so newly-added
32958
+ * models without a profile entry inherit sane defaults instead of
32959
+ * starting empty (which would silently regress safety rules until someone
32960
+ * notices and adds a profile).
32961
+ */
32967
32962
  const FALLBACK_PROFILE = {
32968
32963
  match: "*",
32969
32964
  label: "Generic",
@@ -32982,7 +32977,7 @@ const FALLBACK_PROFILE = {
32982
32977
  hasStructuredThinking: false,
32983
32978
  validateToolArgs: false
32984
32979
  },
32985
- promptAdditions: [],
32980
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
32986
32981
  ui: {
32987
32982
  watchdogMs: 3e5,
32988
32983
  armWatchdogOnSend: true
@@ -39571,10 +39566,90 @@ async function prepareSessionManagerForRun(params) {
39571
39566
  }
39572
39567
  }
39573
39568
 
39569
+ //#endregion
39570
+ //#region src/agents/system-prompt-skills-autoload.ts
39571
+ const FRONTMATTER_RE = /^---\s*\n[\s\S]*?\n---\s*\n?/;
39572
+ let cachedPackageRoot;
39573
+ function getPackageRoot() {
39574
+ if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
39575
+ return cachedPackageRoot;
39576
+ }
39577
+ function safeSkillName(name) {
39578
+ return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
39579
+ }
39580
+ function tryLoadSkill(skillName, root) {
39581
+ const skillPath = path.join(root, "skills", skillName, "SKILL.md");
39582
+ try {
39583
+ if (!fs.statSync(skillPath).isFile()) return null;
39584
+ } catch {
39585
+ return null;
39586
+ }
39587
+ try {
39588
+ return fs.readFileSync(skillPath, "utf8");
39589
+ } catch {
39590
+ return null;
39591
+ }
39592
+ }
39593
+ function stripFrontmatter(body) {
39594
+ return body.replace(FRONTMATTER_RE, "").trimStart();
39595
+ }
39596
+ /**
39597
+ * Resolves and loads each named skill. Returns the inlinable Markdown block,
39598
+ * or empty string when no skills loaded / minimal mode / no names supplied.
39599
+ */
39600
+ function buildAutoLoadedSkillsBlock(opts) {
39601
+ if (opts.minimalMode) return "";
39602
+ const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
39603
+ if (names.length === 0) return "";
39604
+ const packageRoot = getPackageRoot();
39605
+ const loaded = [];
39606
+ for (const rawName of names) {
39607
+ const name = rawName.trim();
39608
+ if (!safeSkillName(name)) {
39609
+ logWarn(`autoLoadInline: skipping invalid skill name '${rawName}'`);
39610
+ continue;
39611
+ }
39612
+ let body = null;
39613
+ let source = "bundled";
39614
+ if (opts.workspaceDir) {
39615
+ body = tryLoadSkill(name, opts.workspaceDir);
39616
+ source = "workspace";
39617
+ }
39618
+ if (body === null && packageRoot) {
39619
+ body = tryLoadSkill(name, packageRoot);
39620
+ source = "bundled";
39621
+ }
39622
+ if (body === null) {
39623
+ logWarn(`autoLoadInline: skill '${name}' not found in workspace or bundled skills`);
39624
+ continue;
39625
+ }
39626
+ const stripped = stripFrontmatter(body).trim();
39627
+ if (!stripped) {
39628
+ logWarn(`autoLoadInline: skill '${name}' has empty body after frontmatter strip; skipping`);
39629
+ continue;
39630
+ }
39631
+ loaded.push({
39632
+ name,
39633
+ body: stripped,
39634
+ source
39635
+ });
39636
+ }
39637
+ if (loaded.length === 0) return "";
39638
+ return [
39639
+ "",
39640
+ "---",
39641
+ "",
39642
+ "## Auto-loaded Skills",
39643
+ "",
39644
+ loaded.map((skill) => `<!-- auto-loaded: ${skill.name} (${skill.source}) -->\n${skill.body}`).join("\n\n---\n\n"),
39645
+ ""
39646
+ ].join("\n");
39647
+ }
39648
+
39574
39649
  //#endregion
39575
39650
  //#region src/agents/pi-embedded-runner/system-prompt.ts
39576
39651
  function buildEmbeddedSystemPrompt(params) {
39577
- return buildAgentSystemPrompt({
39652
+ const corePrompt = buildAgentSystemPrompt({
39578
39653
  workspaceDir: params.workspaceDir,
39579
39654
  defaultThinkLevel: params.defaultThinkLevel,
39580
39655
  reasoningLevel: params.reasoningLevel,
@@ -39602,6 +39677,14 @@ function buildEmbeddedSystemPrompt(params) {
39602
39677
  contextFiles: params.contextFiles,
39603
39678
  memoryCitationsMode: params.memoryCitationsMode
39604
39679
  });
39680
+ const promptMode = params.promptMode ?? "full";
39681
+ const isMinimal = promptMode === "minimal" || promptMode === "none";
39682
+ const skillsBlock = buildAutoLoadedSkillsBlock({
39683
+ skillNames: params.autoLoadInlineSkills ?? [],
39684
+ workspaceDir: params.workspaceDir,
39685
+ minimalMode: isMinimal
39686
+ });
39687
+ return skillsBlock ? `${corePrompt}${skillsBlock}` : corePrompt;
39605
39688
  }
39606
39689
  function createSystemPromptOverride(systemPrompt) {
39607
39690
  const override = systemPrompt.trim();
@@ -40389,7 +40472,8 @@ async function runEmbeddedAttempt(params) {
40389
40472
  userTime,
40390
40473
  userTimeFormat,
40391
40474
  contextFiles,
40392
- memoryCitationsMode: params.config?.memory?.citations
40475
+ memoryCitationsMode: params.config?.memory?.citations,
40476
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline
40393
40477
  });
40394
40478
  const systemPromptReport = buildSystemPromptReport({
40395
40479
  source: "run",
@@ -44878,7 +44962,7 @@ async function deliverSessionMaintenanceWarning(params) {
44878
44962
  return;
44879
44963
  }
44880
44964
  try {
44881
- const { deliverOutboundPayloads } = await import("./deliver-Bdk_R0pQ.js").then((n) => n.n);
44965
+ const { deliverOutboundPayloads } = await import("./deliver-CeNdvQJ3.js").then((n) => n.n);
44882
44966
  await deliverOutboundPayloads({
44883
44967
  cfg: params.cfg,
44884
44968
  channel,
@@ -48332,7 +48416,7 @@ async function describeStickerImage(params) {
48332
48416
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
48333
48417
  try {
48334
48418
  const buffer = await fs$1.readFile(imagePath);
48335
- const { describeImageWithModel } = await import("./image-CnEFsKgw.js").then((n) => n.n);
48419
+ const { describeImageWithModel } = await import("./image-Cp6qRPZ2.js").then((n) => n.n);
48336
48420
  return (await describeImageWithModel({
48337
48421
  buffer,
48338
48422
  fileName: "sticker.webp",
@@ -48755,7 +48839,7 @@ function createWhatsAppLoginTool() {
48755
48839
  force: Type.Optional(Type.Boolean())
48756
48840
  }),
48757
48841
  execute: async (_toolCallId, args) => {
48758
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BElXRp6T.js");
48842
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CtELJan3.js");
48759
48843
  if ((args?.action ?? "start") === "wait") {
48760
48844
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
48761
48845
  return {
@@ -50131,7 +50215,7 @@ async function preflightDiscordMessage(params) {
50131
50215
  let preflightTranscript;
50132
50216
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
50133
50217
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
50134
- const { transcribeFirstAudio } = await import("./audio-preflight-1dv3T5Zx.js");
50218
+ const { transcribeFirstAudio } = await import("./audio-preflight-SaT5IcVn.js");
50135
50219
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
50136
50220
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
50137
50221
  ctx: {
@@ -53914,27 +53998,27 @@ function isVoiceChannelType(type) {
53914
53998
  function createDefaultDeps() {
53915
53999
  return {
53916
54000
  sendMessageWhatsApp: async (...args) => {
53917
- const { sendMessageWhatsApp } = await import("./web-B0lZdBBl.js");
54001
+ const { sendMessageWhatsApp } = await import("./web-s9NWpUYH.js");
53918
54002
  return await sendMessageWhatsApp(...args);
53919
54003
  },
53920
54004
  sendMessageTelegram: async (...args) => {
53921
- const { sendMessageTelegram } = await import("./send-Dz656vcm.js").then((n) => n.l);
54005
+ const { sendMessageTelegram } = await import("./send-Bi8XhwOZ.js").then((n) => n.l);
53922
54006
  return await sendMessageTelegram(...args);
53923
54007
  },
53924
54008
  sendMessageDiscord: async (...args) => {
53925
- const { sendMessageDiscord } = await import("./send-BaFD3lZ7.js").then((n) => n.t);
54009
+ const { sendMessageDiscord } = await import("./send-CcD9S5so.js").then((n) => n.t);
53926
54010
  return await sendMessageDiscord(...args);
53927
54011
  },
53928
54012
  sendMessageSlack: async (...args) => {
53929
- const { sendMessageSlack } = await import("./send-CJJuN-Fg.js").then((n) => n.n);
54013
+ const { sendMessageSlack } = await import("./send-CoSPwGiI.js").then((n) => n.n);
53930
54014
  return await sendMessageSlack(...args);
53931
54015
  },
53932
54016
  sendMessageSignal: async (...args) => {
53933
- const { sendMessageSignal } = await import("./send-5GrSqB6v.js").then((n) => n.i);
54017
+ const { sendMessageSignal } = await import("./send-CSkNKYIc.js").then((n) => n.i);
53934
54018
  return await sendMessageSignal(...args);
53935
54019
  },
53936
54020
  sendMessageIMessage: async (...args) => {
53937
- const { sendMessageIMessage } = await import("./send-9sVK0zP4.js").then((n) => n.n);
54021
+ const { sendMessageIMessage } = await import("./send-CupfdYEg.js").then((n) => n.n);
53938
54022
  return await sendMessageIMessage(...args);
53939
54023
  }
53940
54024
  };
@@ -64789,7 +64873,7 @@ async function registerSlackMonitorSlashCommands(params) {
64789
64873
  });
64790
64874
  const deliverSlashPayloads = async (replies) => {
64791
64875
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
64792
- import("./replies-Sxbew659.js").then((n) => n.r),
64876
+ import("./replies-BxvfG7Oj.js").then((n) => n.r),
64793
64877
  import("./chunk-CBaqrC3-.js").then((n) => n.s),
64794
64878
  import("./markdown-tables-Xw0UrL4I.js").then((n) => n.t)
64795
64879
  ]);
@@ -67062,7 +67146,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
67062
67146
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
67063
67147
  let preflightTranscript;
67064
67148
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
67065
- const { transcribeFirstAudio } = await import("./audio-preflight-1dv3T5Zx.js");
67149
+ const { transcribeFirstAudio } = await import("./audio-preflight-SaT5IcVn.js");
67066
67150
  preflightTranscript = await transcribeFirstAudio({
67067
67151
  ctx: {
67068
67152
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -69216,23 +69300,23 @@ let webLoginQrPromise = null;
69216
69300
  let webChannelPromise = null;
69217
69301
  let whatsappActionsPromise = null;
69218
69302
  function loadWebOutbound() {
69219
- webOutboundPromise ??= import("./outbound-CW8eNbCh.js").then((n) => n.t);
69303
+ webOutboundPromise ??= import("./outbound-b9pVFyW7.js").then((n) => n.t);
69220
69304
  return webOutboundPromise;
69221
69305
  }
69222
69306
  function loadWebLogin() {
69223
- webLoginPromise ??= import("./login-C7EdfiAr.js").then((n) => n.n);
69307
+ webLoginPromise ??= import("./login-DKeZ-sOf.js").then((n) => n.n);
69224
69308
  return webLoginPromise;
69225
69309
  }
69226
69310
  function loadWebLoginQr() {
69227
- webLoginQrPromise ??= import("./login-qr-BElXRp6T.js");
69311
+ webLoginQrPromise ??= import("./login-qr-CtELJan3.js");
69228
69312
  return webLoginQrPromise;
69229
69313
  }
69230
69314
  function loadWebChannel() {
69231
- webChannelPromise ??= import("./web-B0lZdBBl.js");
69315
+ webChannelPromise ??= import("./web-s9NWpUYH.js");
69232
69316
  return webChannelPromise;
69233
69317
  }
69234
69318
  function loadWhatsAppActions() {
69235
- whatsappActionsPromise ??= import("./whatsapp-actions-BUZuNBin.js");
69319
+ whatsappActionsPromise ??= import("./whatsapp-actions-Dx8FkbIf.js");
69236
69320
  return whatsappActionsPromise;
69237
69321
  }
69238
69322
  function createPluginRuntime() {
@@ -70900,6 +70984,22 @@ function wrapToolParamNormalization(tool, requiredParamGroups) {
70900
70984
  }
70901
70985
  };
70902
70986
  }
70987
+ /**
70988
+ * Override a tool's description while preserving execute, parameters, and
70989
+ * other properties. Used by Stage 2.5 of the prompt-reduction plan to move
70990
+ * usage docs from the system prompt into tool descriptions where they
70991
+ * belong contextually.
70992
+ *
70993
+ * The replacement description should include the upstream's tool-purpose
70994
+ * sentence so models that only read the description (without the prompt
70995
+ * section) still have the same baseline understanding.
70996
+ */
70997
+ function wrapToolWithDescriptionOverride(tool, description) {
70998
+ return {
70999
+ ...tool,
71000
+ description
71001
+ };
71002
+ }
70903
71003
  function wrapToolWorkspaceRootGuard(tool, root) {
70904
71004
  return {
70905
71005
  ...tool,
@@ -71140,6 +71240,26 @@ function resolveToolLoopDetectionConfig(params) {
71140
71240
  }
71141
71241
  };
71142
71242
  }
71243
+ /**
71244
+ * Edit tool description. Replaces the upstream's terse one-liner with
71245
+ * usage notes migrated from the system prompt's "Edit Tool Best Practices"
71246
+ * section in Stage 2.5 of the prompt-reduction plan. Co-locating these
71247
+ * notes with the tool means they ship only when edit is in palette, and
71248
+ * the system prompt section can be deleted in Stage 4 without losing the
71249
+ * guidance.
71250
+ *
71251
+ * Combined with the read-before-edit guard (Stage 1.3) and the model's
71252
+ * own discipline, this should kill the hallucinated-oldText failure class
71253
+ * for any well-intentioned model.
71254
+ */
71255
+ const EDIT_TOOL_DESCRIPTION = [
71256
+ "Edit a file by replacing exact text. The oldText must match the file EXACTLY (whitespace, indentation, and all).",
71257
+ "Best practices to avoid match failures:",
71258
+ "- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
71259
+ "- 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.",
71260
+ "- 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.",
71261
+ "- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines)."
71262
+ ].join(" ");
71143
71263
  function createSymiCodingTools(options) {
71144
71264
  const execToolName = "exec";
71145
71265
  const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
@@ -71228,7 +71348,7 @@ function createSymiCodingTools(options) {
71228
71348
  }
71229
71349
  if (tool.name === "edit") {
71230
71350
  if (sandboxRoot) return [];
71231
- const guarded = wrapEditToolWithGuard(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), readEditTracker);
71351
+ const guarded = wrapEditToolWithGuard(wrapToolWithDescriptionOverride(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), EDIT_TOOL_DESCRIPTION), readEditTracker);
71232
71352
  return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
71233
71353
  }
71234
71354
  return [tool];
@@ -71649,7 +71769,8 @@ async function compactEmbeddedPiSessionDirect(params) {
71649
71769
  userTime,
71650
71770
  userTimeFormat,
71651
71771
  contextFiles,
71652
- memoryCitationsMode: params.config?.memory?.citations
71772
+ memoryCitationsMode: params.config?.memory?.citations,
71773
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline
71653
71774
  }));
71654
71775
  const sessionLock = await acquireSessionWriteLock({
71655
71776
  sessionFile: params.sessionFile,