@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
@@ -8,12 +8,12 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-ChYu
8
8
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CUNoPTKm.js";
9
9
  import { $ as isRich, A as normalizeE164, D as isRecord$1, E as formatTerminalLink, H as isPlainObject, I as shortenHomeInString, J as setVerbose, K as logVerbose, L as shortenHomePath, P as resolveUserPath, Q as colorize, R as sleep$1, S as clampInt, T as escapeRegExp, U as danger, V as truncateUtf16Safe, Y as shouldLogVerbose, Z as warn, _ as matchPluginCommand, a as normalizeAnyChannelId, b as CONFIG_DIR, ct as normalizeLogLevel, d as createPluginRegistry, et as theme, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, l as requireActivePluginRegistry, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, o as normalizeChannelId$1, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, tt as getChildLogger, u as setActivePluginRegistry, ut as resolvePreferredSymiTmpDir, v as createInternalHookEvent, w as ensureDir$3, y as triggerInternalHook, z as sliceUtf16Safe } from "./registry--_pGht6S.js";
10
10
  import { n as retryAsync } from "./retry-ilSJqnz9.js";
11
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as buildChannelKeyCandidates, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-ZhAe1nXO.js";
12
- import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-BzupW6LN.js";
11
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, At as fetchDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, E as listThreadsDiscord, Et as normalizeChannelSlug, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as buildChannelKeyCandidates, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as applyChannelMatchMeta, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-Cxr9NnOd.js";
12
+ import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G as parseConfigPath, H as setConfigOverride, J as isSafeExecutableValue, K as setConfigValueAtPath, R as parseDurationMs, S as resolveIMessageAttachmentRoots, U as unsetConfigOverride, V as resetConfigOverrides, W as getConfigValueAtPath, X as resolveAgentMaxConcurrent, Y as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Z as VERSION, _ as normalizeTelegramCommandName, a as writeConfigFile, b as isInboundPathAllowed, g as TELEGRAM_COMMAND_NAME_PATTERN, i as resolveConfigSnapshotHash, n as loadConfig, o as validateConfigObjectWithPlugins, q as unsetConfigValueAtPath, r as readConfigFileSnapshot, v as resolveTelegramCustomCommands, w as normalizeScpRemoteHost, z as validateJsonSchemaValue } from "./config-DQntj58u.js";
13
13
  import { a as clearActiveProgressLine, i as defaultRuntime, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
14
14
  import { i as parseBooleanValue$1, n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
15
15
  import { $ as resolveShellEnvFallbackTimeoutMs, A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_CONTEXT_TOKENS, K as normalizeSecretInput, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as DEFAULT_PROVIDER, Y as DEFAULT_MODEL, Z as getShellPathFromLoginShell, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, j as isProfileInCooldown, k as resolveAuthProfileOrder, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, q as resolveAuthProfileDisplayLabel, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveAuthStorePathForDisplay } from "./model-selection-CtVwtb6y.js";
16
- import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-C3gMMKCU.js";
16
+ import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, w as resolveSymiPackageRootSync, x as filterBootstrapFilesForSession } from "./agent-scope-C3gMMKCU.js";
17
17
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-hy3Bn-r9.js";
18
18
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Bv8oZiTO.js";
19
19
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-Ji7f0gqq.js";
@@ -27,38 +27,38 @@ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel
27
27
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
28
28
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";
29
29
  import { t as convertMarkdownTables } from "./tables-DR0NmBeH.js";
30
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-jsofmTfJ.js";
30
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-SRQweHTE.js";
31
31
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-D7Lno-TE.js";
32
32
  import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-B7YyMnIi.js";
33
- import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-BP5pSPaZ.js";
34
- import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-DLO_yV5_.js";
35
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-BhifC1J_.js";
33
+ import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-Dd71o3sZ.js";
34
+ import { $ as parseTelegramTarget, A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as readChannelAllowFromStore, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as upsertChannelPairingRequest, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as isVoiceCompatibleAudio, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as addChannelAllowFromStoreEntry, X as listPairingChannels, Y as getPairingAdapter, Z as withTelegramApiErrorLogging, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, et as resolveTelegramTargetChatType, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as toLocationContext, o as sendMessageTelegram, p as markdownToTelegramChunks, q as removeChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as formatLocationText, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-Do_qdBr_.js";
35
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as registerUnhandledRejectionHandler, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as buildRandomTempFilePath } from "./runner-IyZnVyIT.js";
36
36
  import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-BHuV5t70.js";
37
37
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-CWMflosr.js";
38
38
  import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-DEfqC_kJ.js";
39
39
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-C9DbB-Kp.js";
40
- import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-D9kN9org.js";
40
+ import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-Cou8jVJ2.js";
41
41
  import { A as normalizeHyphenSlug, F as resolveChannelGroupRequireMention, I as resolveChannelGroupToolsPolicy, M as normalizeStringEntriesLower, P as resolveChannelGroupPolicy, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, i as normalizeElevatedLevel, j as normalizeStringEntries, k as normalizeAtHashSlug, l as resolveResponseUsageMode, m as normalizeSignalMessagingTarget, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-DCNUIAHY.js";
42
42
  import { r as resolveIMessageAccount } from "./accounts-Dtszw3Zn.js";
43
43
  import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BToL3HlP.js";
44
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, 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 normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-CKgFosI5.js";
45
- import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-BL7ZRhGv.js";
44
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeChannelTargetInput, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildTargetResolverSignature, h as throwIfAborted, 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 normalizeTargetForProvider, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-OVx3XKTy.js";
45
+ import { $ as normalizeToolName, A as isTransientHttpError, At as countToolResults, B as resolveProfile, Bt as resolveChannelResetConfig, C as isContextOverflowError, Ct as deliveryContextKey, D as isRateLimitAssistantError, Dt as normalizeAccountId$3, E as isLikelyContextOverflowError, Et as normalizeSessionDeliveryFields, F as resolveSandboxContext, Ft as normalizeInputProvenance, G as resolveBrowserControlAuth, Gt as resolveFreshSessionTotalTokens, H as resolveExistingPathsWithinRoot, Ht as resolveSessionResetType, I as resolveSandboxRuntimeStatus, It as acquireSessionWriteLock, J as buildPluginToolGroups, Jt as resolveMainSessionKey, K as resolveSandboxConfigForAgent, Kt as canonicalizeMainSessionAlias, L as createBrowserRouteContext, Lt as resolveSessionLockMaxHoldFromTimeout, M as parseImageSizeError, Mt as INPUT_PROVENANCE_KIND_VALUES, N as sanitizeUserFacingText, Nt as applyInputProvenanceToUserMessage, O as isRawApiErrorPayload, Ot as archiveSessionTranscripts, P as ensureSandboxWorkspaceForSession, Pt as hasInterSessionUserProvenance, Q as mergeAlsoAllowPolicy, R as registerBrowserRoutes, Rt as resolveSessionKey, S as isCompactionFailureError, St as deliveryContextFromSession, T as isFailoverErrorMessage, Tt as normalizeDeliveryContext, U as getBridgeAuthForPort, Ut as resolveThreadFlag, V as DEFAULT_UPLOAD_DIR, Vt as resolveSessionResetPolicy, W as ensureBrowserControlAuth, Wt as DEFAULT_RESET_TRIGGERS, X as expandPolicyWithPluginGroups, Xt as resolveGroupSessionKey, Y as collectExplicitAllowlist, Yt as deriveSessionMetaPatch, Z as expandToolGroups, _ as formatRawAssistantErrorForUi, _t as updateLastRoute, a as isMessagingToolDuplicateNormalized, at as ensureSessionHeader, b as isBillingAssistantError, bt as isCacheEnabled, c as extractToolCallsFromAssistant, ct as sanitizeGoogleTurnOrdering, d as isAntigravityClaude, dt as appendAssistantMessageToSessionTranscript, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, gt as recordSessionMetaFromInbound, h as formatAssistantErrorText, ht as readSessionUpdatedAt, it as buildBootstrapContextFiles, j as parseImageDimensionError, jt as extractToolCallNames, k as isTimeoutErrorMessage, kt as capArrayByJsonBytes, l as extractToolResultId, lt as extractDeliveryInfo, m as classifyFailoverReason, mt as loadSessionStore, n as validateGeminiTurns, nt as compileGlobPatterns, o as normalizeTextForComparison, ot as resolveBootstrapMaxChars, p as BILLING_ERROR_USER_MESSAGE, pt as resolveAndPersistSessionFile, q as applyOwnerOnlyToolPolicy, qt as resolveExplicitAgentSessionKey, r as pickFallbackThinkingLevel, rt as matchesAnyGlobPattern, s as sanitizeSessionMessagesImages, st as resolveBootstrapTotalMaxChars, t as validateAnthropicTurns, tt as stripPluginOnlyAllowlist, u as downgradeOpenAIReasoningBlocks, ut as parseSessionThreadInfo, v as getApiErrorPayloadFingerprint, vt as updateSessionStore, w as isFailoverAssistantError, wt as mergeDeliveryContext, x as isCloudCodeAssistFormatError, xt as resolveCacheTtlMs$1, y as isAuthAssistantError, yt as updateSessionStoreEntry, z as resolveBrowserConfig, zt as evaluateSessionFreshness } from "./pi-embedded-helpers-DihvU43r.js";
46
46
  import { n as resolveConversationLabel } from "./conversation-label-yNSj43Jt.js";
47
47
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-A0xdf3yk.js";
48
48
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-x1D4Vniz.js";
49
49
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-_oc91gNi.js";
50
50
  import { i as saveMediaBuffer, r as getMediaDir } from "./store-Do3t33-c.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-D5EzMeL_.js";
52
- import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-DFyINnvE.js";
52
+ import { S as minimaxUnderstandImage, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as extractTextFromChatContent, c as extractAssistantThinking, d as formatReasoningMessage, f as inferToolMetaFromArgs, g as stripMinimaxToolCallXml, h as stripDowngradedToolCallText, i as coerceImageModelConfig, l as extractThinkingFromTaggedStream, m as promoteThinkingTagsToBlocks, o as resolveProviderVisionModelFromConfig, p as isAssistantMessage, r as coerceImageAssistantText, s as extractAssistantText$1, u as extractThinkingFromTaggedText, v as resolveToolDisplay, x as ensureSymiModelsJson, y as stripReasoningTagsFromText } from "./image-ChrcMCo_.js";
53
53
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-LbcEa65a.js";
54
54
  import { c as normalizeExtraMemoryPaths, m as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-Qi-tyvHh.js";
55
55
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Wd5tNeQG.js";
56
- import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-DdOb0Em2.js";
56
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-Yvm-LGVR.js";
57
57
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-BuYpmEx-.js";
58
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-CGhw9mO3.js";
58
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-DxXXcQ_o.js";
59
59
  import { t as makeProxyFetch } from "./proxy-D27OUbrW.js";
60
60
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CHQ7BTlU.js";
61
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-BR2TPTVW.js";
61
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DD0EJRXx.js";
62
62
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-DiyK6bgV.js";
63
63
  import { t as getActiveWebListener } from "./active-listener-CJuvR4C2.js";
64
64
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CP722fTK.js";
@@ -11638,7 +11638,7 @@ async function getMemorySearchManager(params) {
11638
11638
  const wrapper = new FallbackMemoryManager({
11639
11639
  primary,
11640
11640
  fallbackFactory: async () => {
11641
- const { MemoryIndexManager } = await import("./manager-DdOb0Em2.js").then((n) => n.n);
11641
+ const { MemoryIndexManager } = await import("./manager-Yvm-LGVR.js").then((n) => n.n);
11642
11642
  return await MemoryIndexManager.get(params);
11643
11643
  }
11644
11644
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -11651,7 +11651,7 @@ async function getMemorySearchManager(params) {
11651
11651
  }
11652
11652
  }
11653
11653
  try {
11654
- const { MemoryIndexManager } = await import("./manager-DdOb0Em2.js").then((n) => n.n);
11654
+ const { MemoryIndexManager } = await import("./manager-Yvm-LGVR.js").then((n) => n.n);
11655
11655
  return { manager: await MemoryIndexManager.get(params) };
11656
11656
  } catch (err) {
11657
11657
  return {
@@ -15653,7 +15653,7 @@ async function routeReply(params) {
15653
15653
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
15654
15654
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
15655
15655
  try {
15656
- const { deliverOutboundPayloads } = await import("./deliver-CKgFosI5.js").then((n) => n.n);
15656
+ const { deliverOutboundPayloads } = await import("./deliver-OVx3XKTy.js").then((n) => n.n);
15657
15657
  return {
15658
15658
  ok: true,
15659
15659
  messageId: (await deliverOutboundPayloads({
@@ -18127,7 +18127,7 @@ async function describeStickerImage(params) {
18127
18127
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
18128
18128
  try {
18129
18129
  const buffer = await fs$1.readFile(imagePath);
18130
- const { describeImageWithModel } = await import("./image-DFyINnvE.js").then((n) => n.n);
18130
+ const { describeImageWithModel } = await import("./image-ChrcMCo_.js").then((n) => n.n);
18131
18131
  return (await describeImageWithModel({
18132
18132
  buffer,
18133
18133
  fileName: "sticker.webp",
@@ -18538,7 +18538,7 @@ function createWhatsAppLoginTool() {
18538
18538
  force: Type.Optional(Type.Boolean())
18539
18539
  }),
18540
18540
  execute: async (_toolCallId, args) => {
18541
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-lMl_OqDj.js");
18541
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-C87Q7LuN.js");
18542
18542
  if ((args?.action ?? "start") === "wait") {
18543
18543
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
18544
18544
  return {
@@ -20693,7 +20693,7 @@ async function preflightDiscordMessage(params) {
20693
20693
  let preflightTranscript;
20694
20694
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
20695
20695
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
20696
- const { transcribeFirstAudio } = await import("./audio-preflight-DucGa8w7.js");
20696
+ const { transcribeFirstAudio } = await import("./audio-preflight-CwMsvdv8.js");
20697
20697
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
20698
20698
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
20699
20699
  ctx: {
@@ -27382,6 +27382,38 @@ async function runWithImageModelFallback(params) {
27382
27382
  //#endregion
27383
27383
  //#region src/config/model-profiles-builtin.ts
27384
27384
  /**
27385
+ * Shared safety + output-style additions applied to most built-in profiles
27386
+ * and the Generic fallback. These rules came from a long history of
27387
+ * model-specific bugs (verification-monologue padding, "I have addressed"
27388
+ * preambles, post-answer assessment lists). Keeping them in one place
27389
+ * means a new profile inherits sane defaults instead of starting empty.
27390
+ *
27391
+ * Stage 2.4 of the prompt-reduction plan: rules that ALL profiles need
27392
+ * live here; profile-specific rules (control-token stripping, tool-arg
27393
+ * cleanup, reasoning hints) live in their own per-profile additions.
27394
+ *
27395
+ * Exported so resolve-model-profile.ts can apply the same additions to
27396
+ * the Generic fallback profile — no model resolves to "Generic" without
27397
+ * inheriting the safety/style rules.
27398
+ */
27399
+ const SAFETY_AND_STYLE_ADDITIONS = [
27400
+ "CRITICAL OUTPUT RULES:",
27401
+ "- Your response ends when you have delivered the answer. Do not append anything after.",
27402
+ "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
27403
+ "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
27404
+ "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27405
+ "- If you need to verify your work, do so before writing your response, not after.",
27406
+ "- Send brief progress updates on long tasks so the user knows you are active."
27407
+ ];
27408
+ /** Hint for native-reasoning models (Nemotron, Qwen 3.5/3.6) to keep
27409
+ * planning internal. Not applied to Gemma/Ollama because those models
27410
+ * don't have structured thinking and the rule confuses them. */
27411
+ const REASONING_DISCIPLINE_ADDITION = "- Keep planning and reasoning internal. Only speak when you have a result or need user input.";
27412
+ /** Hint for models that leak Gemma-style control tokens (Gemma family,
27413
+ * Ollama hosting any uncensored open model). Forces tool-arg cleanup and
27414
+ * forbids leaking turn markers in user-visible text. */
27415
+ 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."];
27416
+ /**
27385
27417
  * Built-in model profiles. Ordered from most-specific to least-specific so
27386
27418
  * that `resolveModelProfile` can return the first match.
27387
27419
  *
@@ -27415,17 +27447,7 @@ const BUILTIN_PROFILES = [
27415
27447
  hasStructuredThinking: false,
27416
27448
  validateToolArgs: true
27417
27449
  },
27418
- promptAdditions: [
27419
- "CRITICAL OUTPUT RULES:",
27420
- "- Your response ends when you have delivered the answer. Do not append anything after.",
27421
- "- Do not output raw control tokens, channel tags, or turn markers.",
27422
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
27423
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
27424
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27425
- "- If you need to verify your work, do so before writing your response, not after.",
27426
- "- Send brief progress updates on long tasks so the user knows you are active.",
27427
- "- 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."
27428
- ],
27450
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
27429
27451
  ui: {
27430
27452
  badge: "Local",
27431
27453
  watchdogMs: 9e5,
@@ -27452,16 +27474,7 @@ const BUILTIN_PROFILES = [
27452
27474
  hasStructuredThinking: true,
27453
27475
  validateToolArgs: false
27454
27476
  },
27455
- promptAdditions: [
27456
- "CRITICAL OUTPUT RULES:",
27457
- "- Your response ends when you have delivered the answer. Do not append anything after.",
27458
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
27459
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
27460
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27461
- "- If you need to verify your work, do so before writing your response, not after.",
27462
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
27463
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
27464
- ],
27477
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
27465
27478
  ui: {
27466
27479
  badge: "Local",
27467
27480
  watchdogMs: 9e5,
@@ -27487,7 +27500,7 @@ const BUILTIN_PROFILES = [
27487
27500
  hasStructuredThinking: true,
27488
27501
  validateToolArgs: false
27489
27502
  },
27490
- promptAdditions: [],
27503
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
27491
27504
  ui: {
27492
27505
  badge: "API",
27493
27506
  watchdogMs: 3e5,
@@ -27520,15 +27533,7 @@ const BUILTIN_PROFILES = [
27520
27533
  hasStructuredThinking: true,
27521
27534
  validateToolArgs: false
27522
27535
  },
27523
- promptAdditions: [
27524
- "CRITICAL OUTPUT RULES:",
27525
- "- Your response ends when you have delivered the answer. Do not append anything after.",
27526
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
27527
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
27528
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27529
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
27530
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
27531
- ],
27536
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
27532
27537
  ui: {
27533
27538
  badge: "Spider",
27534
27539
  watchdogMs: 9e5,
@@ -27561,16 +27566,7 @@ const BUILTIN_PROFILES = [
27561
27566
  hasStructuredThinking: false,
27562
27567
  validateToolArgs: true
27563
27568
  },
27564
- promptAdditions: [
27565
- "CRITICAL OUTPUT RULES:",
27566
- "- Your response ends when you have delivered the answer. Do not append anything after.",
27567
- "- Do not output raw control tokens, channel tags, or turn markers.",
27568
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
27569
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
27570
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27571
- "- Send brief progress updates on long tasks so the user knows you are active.",
27572
- "- 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."
27573
- ],
27569
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
27574
27570
  ui: {
27575
27571
  badge: "Spider",
27576
27572
  watchdogMs: 6e5,
@@ -27602,16 +27598,7 @@ const BUILTIN_PROFILES = [
27602
27598
  hasStructuredThinking: true,
27603
27599
  validateToolArgs: false
27604
27600
  },
27605
- promptAdditions: [
27606
- "CRITICAL OUTPUT RULES:",
27607
- "- Your response ends when you have delivered the answer. Do not append anything after.",
27608
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
27609
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
27610
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27611
- "- If you need to verify your work, do so before writing your response, not after.",
27612
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
27613
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
27614
- ],
27601
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
27615
27602
  ui: {
27616
27603
  badge: "CoreWeave",
27617
27604
  watchdogMs: 9e5,
@@ -27622,7 +27609,15 @@ const BUILTIN_PROFILES = [
27622
27609
 
27623
27610
  //#endregion
27624
27611
  //#region src/config/resolve-model-profile.ts
27625
- /** Default profile returned when no match is found. */
27612
+ /**
27613
+ * Default profile returned when no match is found.
27614
+ *
27615
+ * Stage 2.4 of the prompt-reduction plan: the Generic fallback now ships
27616
+ * the same safety+style additions as every named profile, so newly-added
27617
+ * models without a profile entry inherit sane defaults instead of
27618
+ * starting empty (which would silently regress safety rules until someone
27619
+ * notices and adds a profile).
27620
+ */
27626
27621
  const FALLBACK_PROFILE = {
27627
27622
  match: "*",
27628
27623
  label: "Generic",
@@ -27641,7 +27636,7 @@ const FALLBACK_PROFILE = {
27641
27636
  hasStructuredThinking: false,
27642
27637
  validateToolArgs: false
27643
27638
  },
27644
- promptAdditions: [],
27639
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
27645
27640
  ui: {
27646
27641
  watchdogMs: 3e5,
27647
27642
  armWatchdogOnSend: true
@@ -34191,6 +34186,86 @@ async function prepareSessionManagerForRun(params) {
34191
34186
  }
34192
34187
  }
34193
34188
 
34189
+ //#endregion
34190
+ //#region src/agents/system-prompt-skills-autoload.ts
34191
+ const FRONTMATTER_RE = /^---\s*\n[\s\S]*?\n---\s*\n?/;
34192
+ let cachedPackageRoot;
34193
+ function getPackageRoot() {
34194
+ if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
34195
+ return cachedPackageRoot;
34196
+ }
34197
+ function safeSkillName(name) {
34198
+ return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
34199
+ }
34200
+ function tryLoadSkill(skillName, root) {
34201
+ const skillPath = path.join(root, "skills", skillName, "SKILL.md");
34202
+ try {
34203
+ if (!fs.statSync(skillPath).isFile()) return null;
34204
+ } catch {
34205
+ return null;
34206
+ }
34207
+ try {
34208
+ return fs.readFileSync(skillPath, "utf8");
34209
+ } catch {
34210
+ return null;
34211
+ }
34212
+ }
34213
+ function stripFrontmatter(body) {
34214
+ return body.replace(FRONTMATTER_RE, "").trimStart();
34215
+ }
34216
+ /**
34217
+ * Resolves and loads each named skill. Returns the inlinable Markdown block,
34218
+ * or empty string when no skills loaded / minimal mode / no names supplied.
34219
+ */
34220
+ function buildAutoLoadedSkillsBlock(opts) {
34221
+ if (opts.minimalMode) return "";
34222
+ const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
34223
+ if (names.length === 0) return "";
34224
+ const packageRoot = getPackageRoot();
34225
+ const loaded = [];
34226
+ for (const rawName of names) {
34227
+ const name = rawName.trim();
34228
+ if (!safeSkillName(name)) {
34229
+ logWarn(`autoLoadInline: skipping invalid skill name '${rawName}'`);
34230
+ continue;
34231
+ }
34232
+ let body = null;
34233
+ let source = "bundled";
34234
+ if (opts.workspaceDir) {
34235
+ body = tryLoadSkill(name, opts.workspaceDir);
34236
+ source = "workspace";
34237
+ }
34238
+ if (body === null && packageRoot) {
34239
+ body = tryLoadSkill(name, packageRoot);
34240
+ source = "bundled";
34241
+ }
34242
+ if (body === null) {
34243
+ logWarn(`autoLoadInline: skill '${name}' not found in workspace or bundled skills`);
34244
+ continue;
34245
+ }
34246
+ const stripped = stripFrontmatter(body).trim();
34247
+ if (!stripped) {
34248
+ logWarn(`autoLoadInline: skill '${name}' has empty body after frontmatter strip; skipping`);
34249
+ continue;
34250
+ }
34251
+ loaded.push({
34252
+ name,
34253
+ body: stripped,
34254
+ source
34255
+ });
34256
+ }
34257
+ if (loaded.length === 0) return "";
34258
+ return [
34259
+ "",
34260
+ "---",
34261
+ "",
34262
+ "## Auto-loaded Skills",
34263
+ "",
34264
+ loaded.map((skill) => `<!-- auto-loaded: ${skill.name} (${skill.source}) -->\n${skill.body}`).join("\n\n---\n\n"),
34265
+ ""
34266
+ ].join("\n");
34267
+ }
34268
+
34194
34269
  //#endregion
34195
34270
  //#region src/agents/tool-summaries.ts
34196
34271
  function buildToolSummaryMap(tools) {
@@ -34206,7 +34281,7 @@ function buildToolSummaryMap(tools) {
34206
34281
  //#endregion
34207
34282
  //#region src/agents/pi-embedded-runner/system-prompt.ts
34208
34283
  function buildEmbeddedSystemPrompt(params) {
34209
- return buildAgentSystemPrompt({
34284
+ const corePrompt = buildAgentSystemPrompt({
34210
34285
  workspaceDir: params.workspaceDir,
34211
34286
  defaultThinkLevel: params.defaultThinkLevel,
34212
34287
  reasoningLevel: params.reasoningLevel,
@@ -34234,6 +34309,14 @@ function buildEmbeddedSystemPrompt(params) {
34234
34309
  contextFiles: params.contextFiles,
34235
34310
  memoryCitationsMode: params.memoryCitationsMode
34236
34311
  });
34312
+ const promptMode = params.promptMode ?? "full";
34313
+ const isMinimal = promptMode === "minimal" || promptMode === "none";
34314
+ const skillsBlock = buildAutoLoadedSkillsBlock({
34315
+ skillNames: params.autoLoadInlineSkills ?? [],
34316
+ workspaceDir: params.workspaceDir,
34317
+ minimalMode: isMinimal
34318
+ });
34319
+ return skillsBlock ? `${corePrompt}${skillsBlock}` : corePrompt;
34237
34320
  }
34238
34321
  function createSystemPromptOverride(systemPrompt) {
34239
34322
  const override = systemPrompt.trim();
@@ -35021,7 +35104,8 @@ async function runEmbeddedAttempt(params) {
35021
35104
  userTime,
35022
35105
  userTimeFormat,
35023
35106
  contextFiles,
35024
- memoryCitationsMode: params.config?.memory?.citations
35107
+ memoryCitationsMode: params.config?.memory?.citations,
35108
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline
35025
35109
  });
35026
35110
  const systemPromptReport = buildSystemPromptReport({
35027
35111
  source: "run",
@@ -36901,27 +36985,27 @@ async function runAgentTurn(params) {
36901
36985
  function createDefaultDeps() {
36902
36986
  return {
36903
36987
  sendMessageWhatsApp: async (...args) => {
36904
- const { sendMessageWhatsApp } = await import("./web-B8upqMUo.js");
36988
+ const { sendMessageWhatsApp } = await import("./web-C3YuHiih.js");
36905
36989
  return await sendMessageWhatsApp(...args);
36906
36990
  },
36907
36991
  sendMessageTelegram: async (...args) => {
36908
- const { sendMessageTelegram } = await import("./send-DLO_yV5_.js").then((n) => n.l);
36992
+ const { sendMessageTelegram } = await import("./send-Do_qdBr_.js").then((n) => n.l);
36909
36993
  return await sendMessageTelegram(...args);
36910
36994
  },
36911
36995
  sendMessageDiscord: async (...args) => {
36912
- const { sendMessageDiscord } = await import("./send-ZhAe1nXO.js").then((n) => n.t);
36996
+ const { sendMessageDiscord } = await import("./send-Cxr9NnOd.js").then((n) => n.t);
36913
36997
  return await sendMessageDiscord(...args);
36914
36998
  },
36915
36999
  sendMessageSlack: async (...args) => {
36916
- const { sendMessageSlack } = await import("./send-BP5pSPaZ.js").then((n) => n.n);
37000
+ const { sendMessageSlack } = await import("./send-Dd71o3sZ.js").then((n) => n.n);
36917
37001
  return await sendMessageSlack(...args);
36918
37002
  },
36919
37003
  sendMessageSignal: async (...args) => {
36920
- const { sendMessageSignal } = await import("./send-CGhw9mO3.js").then((n) => n.i);
37004
+ const { sendMessageSignal } = await import("./send-DxXXcQ_o.js").then((n) => n.i);
36921
37005
  return await sendMessageSignal(...args);
36922
37006
  },
36923
37007
  sendMessageIMessage: async (...args) => {
36924
- const { sendMessageIMessage } = await import("./send-jsofmTfJ.js").then((n) => n.n);
37008
+ const { sendMessageIMessage } = await import("./send-SRQweHTE.js").then((n) => n.n);
36925
37009
  return await sendMessageIMessage(...args);
36926
37010
  }
36927
37011
  };
@@ -47476,7 +47560,7 @@ async function registerSlackMonitorSlashCommands(params) {
47476
47560
  });
47477
47561
  const deliverSlashPayloads = async (replies) => {
47478
47562
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
47479
- import("./replies-BR2TPTVW.js").then((n) => n.r),
47563
+ import("./replies-DD0EJRXx.js").then((n) => n.r),
47480
47564
  import("./chunk-jvk9axTQ.js").then((n) => n.s),
47481
47565
  import("./markdown-tables-Dfaqilz6.js").then((n) => n.t)
47482
47566
  ]);
@@ -52182,7 +52266,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
52182
52266
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
52183
52267
  let preflightTranscript;
52184
52268
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
52185
- const { transcribeFirstAudio } = await import("./audio-preflight-DucGa8w7.js");
52269
+ const { transcribeFirstAudio } = await import("./audio-preflight-CwMsvdv8.js");
52186
52270
  preflightTranscript = await transcribeFirstAudio({
52187
52271
  ctx: {
52188
52272
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -54327,23 +54411,23 @@ let webLoginQrPromise = null;
54327
54411
  let webChannelPromise = null;
54328
54412
  let whatsappActionsPromise = null;
54329
54413
  function loadWebOutbound() {
54330
- webOutboundPromise ??= import("./outbound-DW3cqlQW.js").then((n) => n.t);
54414
+ webOutboundPromise ??= import("./outbound-T0XdUo-H.js").then((n) => n.t);
54331
54415
  return webOutboundPromise;
54332
54416
  }
54333
54417
  function loadWebLogin() {
54334
- webLoginPromise ??= import("./login-K1YB_7-t.js").then((n) => n.n);
54418
+ webLoginPromise ??= import("./login-WuhOM4Dg.js").then((n) => n.n);
54335
54419
  return webLoginPromise;
54336
54420
  }
54337
54421
  function loadWebLoginQr() {
54338
- webLoginQrPromise ??= import("./login-qr-lMl_OqDj.js");
54422
+ webLoginQrPromise ??= import("./login-qr-C87Q7LuN.js");
54339
54423
  return webLoginQrPromise;
54340
54424
  }
54341
54425
  function loadWebChannel() {
54342
- webChannelPromise ??= import("./web-B8upqMUo.js");
54426
+ webChannelPromise ??= import("./web-C3YuHiih.js");
54343
54427
  return webChannelPromise;
54344
54428
  }
54345
54429
  function loadWhatsAppActions() {
54346
- whatsappActionsPromise ??= import("./whatsapp-actions-eTefsWhW.js");
54430
+ whatsappActionsPromise ??= import("./whatsapp-actions-ClWxTG5S.js");
54347
54431
  return whatsappActionsPromise;
54348
54432
  }
54349
54433
  function createPluginRuntime() {
@@ -60231,6 +60315,22 @@ function wrapToolParamNormalization(tool, requiredParamGroups) {
60231
60315
  }
60232
60316
  };
60233
60317
  }
60318
+ /**
60319
+ * Override a tool's description while preserving execute, parameters, and
60320
+ * other properties. Used by Stage 2.5 of the prompt-reduction plan to move
60321
+ * usage docs from the system prompt into tool descriptions where they
60322
+ * belong contextually.
60323
+ *
60324
+ * The replacement description should include the upstream's tool-purpose
60325
+ * sentence so models that only read the description (without the prompt
60326
+ * section) still have the same baseline understanding.
60327
+ */
60328
+ function wrapToolWithDescriptionOverride(tool, description) {
60329
+ return {
60330
+ ...tool,
60331
+ description
60332
+ };
60333
+ }
60234
60334
  function wrapToolWorkspaceRootGuard(tool, root) {
60235
60335
  return {
60236
60336
  ...tool,
@@ -70642,6 +70742,26 @@ function resolveToolLoopDetectionConfig(params) {
70642
70742
  }
70643
70743
  };
70644
70744
  }
70745
+ /**
70746
+ * Edit tool description. Replaces the upstream's terse one-liner with
70747
+ * usage notes migrated from the system prompt's "Edit Tool Best Practices"
70748
+ * section in Stage 2.5 of the prompt-reduction plan. Co-locating these
70749
+ * notes with the tool means they ship only when edit is in palette, and
70750
+ * the system prompt section can be deleted in Stage 4 without losing the
70751
+ * guidance.
70752
+ *
70753
+ * Combined with the read-before-edit guard (Stage 1.3) and the model's
70754
+ * own discipline, this should kill the hallucinated-oldText failure class
70755
+ * for any well-intentioned model.
70756
+ */
70757
+ const EDIT_TOOL_DESCRIPTION = [
70758
+ "Edit a file by replacing exact text. The oldText must match the file EXACTLY (whitespace, indentation, and all).",
70759
+ "Best practices to avoid match failures:",
70760
+ "- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
70761
+ "- 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.",
70762
+ "- 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.",
70763
+ "- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines)."
70764
+ ].join(" ");
70645
70765
  function createSymiCodingTools(options) {
70646
70766
  const execToolName = "exec";
70647
70767
  const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
@@ -70730,7 +70850,7 @@ function createSymiCodingTools(options) {
70730
70850
  }
70731
70851
  if (tool.name === "edit") {
70732
70852
  if (sandboxRoot) return [];
70733
- const guarded = wrapEditToolWithGuard(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), readEditTracker);
70853
+ const guarded = wrapEditToolWithGuard(wrapToolWithDescriptionOverride(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), EDIT_TOOL_DESCRIPTION), readEditTracker);
70734
70854
  return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
70735
70855
  }
70736
70856
  return [tool];
@@ -71173,7 +71293,8 @@ async function compactEmbeddedPiSessionDirect(params) {
71173
71293
  userTime,
71174
71294
  userTimeFormat,
71175
71295
  contextFiles,
71176
- memoryCitationsMode: params.config?.memory?.citations
71296
+ memoryCitationsMode: params.config?.memory?.citations,
71297
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline
71177
71298
  }));
71178
71299
  const sessionLock = await acquireSessionWriteLock({
71179
71300
  sessionFile: params.sessionFile,
@@ -79235,7 +79356,7 @@ async function deliverSessionMaintenanceWarning(params) {
79235
79356
  return;
79236
79357
  }
79237
79358
  try {
79238
- const { deliverOutboundPayloads } = await import("./deliver-CKgFosI5.js").then((n) => n.n);
79359
+ const { deliverOutboundPayloads } = await import("./deliver-OVx3XKTy.js").then((n) => n.n);
79239
79360
  await deliverOutboundPayloads({
79240
79361
  cfg: params.cfg,
79241
79362
  channel,
@@ -1,12 +1,12 @@
1
1
  import { n as fetchWithTimeout } from "./fetch-timeout-ChYuW7LE.js";
2
2
  import { K as logVerbose, Y as shouldLogVerbose } from "./registry--_pGht6S.js";
3
- import { S as resolveIMessageAttachmentRoots, b as isInboundPathAllowed, n as loadConfig, x as mergeInboundPathRoots, y as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./config-BzupW6LN.js";
3
+ import { S as resolveIMessageAttachmentRoots, b as isInboundPathAllowed, n as loadConfig, x as mergeInboundPathRoots, y as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./config-DQntj58u.js";
4
4
  import { B as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalizeProviderId, h as normalizeGoogleModelId, w as requireApiKey } from "./model-selection-CtVwtb6y.js";
5
5
  import { E as runExec } from "./agent-scope-C3gMMKCU.js";
6
6
  import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-Bnp6LXEx.js";
7
7
  import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-Ckk1QfzI.js";
8
8
  import { t as normalizeChatType } from "./chat-type-CEMQNtWX.js";
9
- import { t as describeImageWithModel, x as ensureSymiModelsJson } from "./image-DFyINnvE.js";
9
+ import { t as describeImageWithModel, x as ensureSymiModelsJson } from "./image-ChrcMCo_.js";
10
10
  import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-CBsLb_4V.js";
11
11
  import { constants } from "node:fs";
12
12
  import path from "node:path";
@@ -3,7 +3,7 @@ import { B as parseTargetPrefixes, F as resolveDiscordAccount, I as normalizeDis
3
3
  import { t as resolveFetch } from "./fetch-CUNoPTKm.js";
4
4
  import { ut as resolvePreferredSymiTmpDir } from "./registry--_pGht6S.js";
5
5
  import { n as retryAsync, t as resolveRetryConfig } from "./retry-ilSJqnz9.js";
6
- import { n as loadConfig } from "./config-BzupW6LN.js";
6
+ import { n as loadConfig } from "./config-DQntj58u.js";
7
7
  import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-Ji7f0gqq.js";
8
8
  import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-3WJMd-G-.js";
9
9
  import { _ as maxBytesForKind, l as extensionForMime } from "./image-ops-Bnp6LXEx.js";
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { A as resolveSlackBotToken, D as resolveSlackAccount, m as parseSlackTarget } from "./plugins-BbAvhC25.js";
3
3
  import { K as logVerbose } from "./registry--_pGht6S.js";
4
- import { n as loadConfig } from "./config-BzupW6LN.js";
4
+ import { n as loadConfig } from "./config-DQntj58u.js";
5
5
  import { a as loadWebMedia, n as markdownToIR, t as chunkMarkdownIR } from "./ir-Fb3qpcis.js";
6
6
  import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-jvk9axTQ.js";
7
7
  import { n as resolveMarkdownTableMode } from "./markdown-tables-Dfaqilz6.js";