@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 { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
3
3
  import { B as theme, C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, F as shouldLogVerbose, J as normalizeLogLevel, L as warn, M as logVerbose, O as danger, S as shortenHomePath, V as getChildLogger, X as resolvePreferredSymiTmpDir, d as isRecord$1, i as clampInt, l as escapeRegExp, m as normalizeE164, t as CONFIG_DIR, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
4
4
  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-EAliFiVK.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, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
6
- import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
6
+ import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
7
7
  import { C as createInternalHookEvent, T as triggerInternalHook, _ as clearPluginCommands, b as listPluginCommands, c as normalizeAnyChannelId, f as requireActivePluginRegistry, g as normalizePluginHttpPath, h as createPluginRegistry, l as normalizeChannelId, n as CHAT_CHANNEL_ORDER, p as setActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, v as executePluginCommand, x as matchPluginCommand, y as getPluginCommandSpecs } from "./registry-Cja8eT7G.js";
8
8
  import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
9
9
  import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
@@ -14,34 +14,34 @@ import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
14
14
  import { t as parseBooleanValue$1 } from "./boolean-BsqeuxE6.js";
15
15
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
16
16
  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-aT-I_DTX.js";
17
- import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, 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 createDiscordClient, 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 resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-COVVt64P.js";
18
- 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-PXAJCHa5.js";
17
+ import { $ as parseDiscordTarget, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as createDiscordRestClient, 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 createDiscordClient, 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 resolveDiscordSystemLocation, a as removeReactionDiscord, at as normalizeDiscordAllowList, b as sendWebhookMessageDiscord, bt as fetchChannelPermissionsDiscord, c as formatDiscordComponentEventText, ct as resolveDiscordChannelConfigWithFallback, d as parseDiscordModalCustomId, dt as resolveDiscordOwnerAllowFrom, et as resolveDiscordChannelId, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordShouldRequireMention, g as sendMessageDiscord, gt as formatDiscordUserTag, h as resolveDiscordModalEntry, ht as formatDiscordReactionEmoji, i as removeOwnReactionsDiscord, it as isDiscordGroupAllowedByPolicy, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as resolveDiscordGuildEntry, m as resolveDiscordComponentEntry, mt as shouldEmitDiscordReactionNotification, n as fetchReactionsDiscord, nt as listDiscordDirectoryPeersLive, o as sendDiscordComponentMessage, ot as normalizeDiscordSlug, p as readDiscordComponentSpec, pt as resolveGroupDmAllow, q as deleteChannelDiscord, r as reactMessageDiscord, rt as allowListMatches$1, s as createDiscordFormModal, st as resolveDiscordAllowListMatch, tt as listDiscordDirectoryGroupsLive, u as parseDiscordComponentCustomIdForCarbon, ut as resolveDiscordMemberAccessState, v as sendStickerDiscord, vt as resolveTimestampMs, w as fetchMessageDiscord, wt as chunkDiscordTextWithMode, x as createThreadDiscord, xt as hasAnyGuildPermissionDiscord, y as sendVoiceMessageDiscord, yt as fetchDiscord, z as listGuildChannelsDiscord } from "./send-DNqcjLyg.js";
18
+ 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-BYCtuYPj.js";
19
19
  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-BDSRH8nU.js";
20
20
  import { a as isPathInsideWithRealpath } from "./legacy-names-Be3msDZo.js";
21
21
  import { t as normalizeChatType } from "./chat-type-DyovJwCt.js";
22
22
  import { n as resolveConversationLabel } from "./conversation-label-Bn5j3lUT.js";
23
23
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-CmmmT8IP.js";
24
- 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-BBYms6g4.js";
25
- import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, 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 stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-6RZuWKy5.js";
26
- import { t as ensureSymiModelsJson } from "./models-config-B91ShhoT.js";
24
+ 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-BX-ap4VU.js";
25
+ import { _ as stripThinkingTagsFromText, a as decodeDataUrl, b as minimaxUnderstandImage, 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 stripReasoningTagsFromText, y as extractTextFromChatContent } from "./image-B6aY1oY3.js";
26
+ import { t as ensureSymiModelsJson } from "./models-config-DGDMieos.js";
27
27
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
28
- 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-DHAJW99p.js";
29
- 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-CCHQuSja.js";
30
- import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-BJvuH-NZ.js";
31
- import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-DefCxQsB.js";
28
+ 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-DK2WpZI8.js";
29
+ 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-BQ5LAIBQ.js";
30
+ import { T as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-BFDOGeu3.js";
31
+ import { i as resolveBrowserConfig, m as resolveBrowserControlAuth } from "./server-context-CGMSzPWd.js";
32
32
  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-BG8FpqDp.js";
33
33
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BF3TeRH2.js";
34
34
  import { i as resolveExistingPathsWithinRoot, r as DEFAULT_UPLOAD_DIR } from "./paths-BBm9fwuG.js";
35
35
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BCYMnxkM.js";
36
36
  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-1OJMSAUX.js";
37
37
  import { n as getMediaDir, r as saveMediaBuffer } from "./store-r1DJSDq-.js";
38
- import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-BeYHj0gr.js";
38
+ import { B as resolveAgentMainSessionKey, C as capArrayByJsonBytes, D as resolveSessionTranscriptCandidates, E as readSessionTitleFieldsFromTranscript, F as resolveSessionResetType, H as resolveMainSessionKey, I as resolveThreadFlag, J as acquireSessionWriteLock, K as buildGroupDisplayName, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, P as resolveSessionResetPolicy, R as resolveFreshSessionTotalTokens, S as archiveSessionTranscripts, V as resolveExplicitAgentSessionKey, W as deriveSessionMetaPatch, X as resolveSessionLockMaxHoldFromTimeout, _ as mergeDeliveryContext, a as resolveAndPersistSessionFile, b as normalizeAccountId$3, c as recordSessionMetaFromInbound, d as updateSessionStore, f as updateSessionStoreEntry, g as deliveryContextKey, h as deliveryContextFromSession, j as resolveSessionKey, m as resolveCacheTtlMs$1, n as parseSessionThreadInfo, o as loadSessionStore, p as isCacheEnabled, q as resolveGroupSessionKey, r as appendAssistantMessageToSessionTranscript, s as readSessionUpdatedAt, t as extractDeliveryInfo, u as updateLastRoute, v as normalizeDeliveryContext, y as normalizeSessionDeliveryFields, z as canonicalizeMainSessionAlias } from "./sessions-BKn2DFYs.js";
39
39
  import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BhS32F6E.js";
40
40
  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-DKDeQZF0.js";
41
41
  import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-DDuIpcln.js";
42
42
  import { t as resolveIMessageAccount } from "./accounts-bK-Yqdwx.js";
43
43
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-DyJN4_vR.js";
44
- 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-BqOhAhRS.js";
44
+ 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-llekTUks.js";
45
45
  import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-CyhzMxFA.js";
46
46
  import { i as normalizeInputProvenance, n as applyInputProvenanceToUserMessage, r as hasInterSessionUserProvenance } from "./input-provenance-BzbXHcaD.js";
47
47
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
@@ -51,17 +51,17 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Db3d
51
51
  import { t as fetchWithSsrFGuard } from "./fetch-guard-DOPkVbh3.js";
52
52
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, t as getAgentScopedMediaLocalRoots } from "./local-roots-aAFLQGkY.js";
53
53
  import { m as runTasksWithConcurrency } from "./internal-iXV867Nr.js";
54
- import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-D7k3dDQq.js";
54
+ import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-BhW-vn5v.js";
55
55
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-BuceUQDl.js";
56
- import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-DwriPEWn.js";
57
- 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-D7BQXt0l.js";
56
+ import { n as createBrowserRouteDispatcher, r as getMachineDisplayName, t as withTimeout$4 } from "./with-timeout-7gwjaz5c.js";
57
+ 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-Cqk3zmyW.js";
58
58
  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-JkjuvDGH.js";
59
59
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-CUslJyKP.js";
60
- import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, 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 buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-DpMnSIi5.js";
60
+ import { A as hasBotMention, B as resolveSenderAllowMatch, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as toLocationContext, H as isSenderIdAllowed, I as resolveTelegramStreamMode, J as parseTelegramTarget, K as withTelegramApiErrorLogging, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as mergeAllowFromSources, V as firstDefined$1, W as formatLocationText, Y as resolveTelegramTargetChatType, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildSenderLabel, c as sendStickerTelegram, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as normalizeForwardedContext, k as extractTelegramLocation, 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 buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFromWithStore$1 } from "./send-BaSqjfd_.js";
61
61
  import { a as buildModelAliasLines, n as resolveModel } from "./model-ECsJuJew.js";
62
62
  import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-CE2YmmsD.js";
63
- import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BTByRgM0.js";
64
- import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-9Mni2AA9.js";
63
+ import { i as resolveMemoryBackendConfig, n as registerMemoryCli, r as getMemorySearchManager } from "./memory-cli-BDWdeqta.js";
64
+ import { a as resolveMemorySearchConfig, t as MemoryIndexManager } from "./manager-OSWCBsL_.js";
65
65
  import { n as retryAsync } from "./retry-BoS4e4X_.js";
66
66
  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-C9e6dMU_.js";
67
67
  import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-DIi9uyC6.js";
@@ -70,23 +70,23 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-jTXFdH5R.js";
70
70
  import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-vWB85AXk.js";
71
71
  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-D_uByLpw.js";
72
72
  import { Rt as SESSION_LABEL_MAX_LENGTH, t as GatewayClient } from "./client-pd8kwOFJ.js";
73
- import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-DYfKEdwh.js";
73
+ import { a as randomIdempotencyKey, d as resolveLeastPrivilegeOperatorScopesForMethod, n as callGateway, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails } from "./call-BZbBLMOq.js";
74
74
  import { n as formatTimeAgo } from "./format-relative-CviDPm2s.js";
75
75
  import { n as normalizePollInput } from "./polls-DZoQqmds.js";
76
76
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-CoTZV03i.js";
77
77
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BECUf3wn.js";
78
78
  import { t as convertMarkdownTables } from "./tables-C3TR-LvH.js";
79
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-DvbOiJ-I.js";
79
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-BPBFuPrC.js";
80
80
  import { i as readChannelAllowFromStore, l as listPairingChannels, o as removeChannelAllowFromStoreEntry, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-iAT1if6k.js";
81
81
  import { t as makeProxyFetch } from "./proxy-mdETjik4.js";
82
82
  import { i as formatDurationSeconds, r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-DeLiQNNv.js";
83
83
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-FCaqxoqg.js";
84
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CZH45dMt.js";
84
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CPhYC11m.js";
85
85
  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-Bz5sreu5.js";
86
86
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-C87_fedd.js";
87
87
  import { c as hasNonzeroUsage, l as normalizeUsage, n as loadCostUsageSummary, o as derivePromptTokens, r as loadSessionCostSummary, s as deriveSessionTotalTokens } from "./session-cost-usage-RPrhIvZF.js";
88
- import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-SF7x1UHb.js";
89
- import { r as detectBinary } from "./onboard-helpers-CBxazphs.js";
88
+ import { a as normalizeIMessageHandle, c as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, i as isAllowedIMessageSender, o as parseIMessageTarget, r as formatIMessageChatTarget, s as createIMessageRpcClient, t as sendMessageIMessage } from "./send-BUBES34Y.js";
89
+ import { r as detectBinary } from "./onboard-helpers-O6bxf40E.js";
90
90
  import { t as resolvePairingIdLabel } from "./pairing-labels-CTL1gXZb.js";
91
91
  import { i as resolveModelCostConfig, n as formatTokenCount$2, r as formatUsd, t as estimateUsageCost } from "./usage-format-D4P4IiJ6.js";
92
92
  import { t as getActiveWebListener } from "./active-listener-Cif6x8mY.js";
@@ -94,8 +94,8 @@ import { _ as getTrustedSafeBinDirs, b as buildSafeShellCommand, d as resolveExe
94
94
  import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, g as normalizePathPrepend, h as mergePathPrepend, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-BZS89z6C.js";
95
95
  import { n as parseNodeList, r as parsePairingList, t as resolveNodeIdFromCandidates } from "./node-match-D3rffA64.js";
96
96
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CjL9F9WT.js";
97
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-Bx5zp45n.js";
98
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-C0pRqIFv.js";
97
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, n as isToolAllowedByPolicies, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-BE7fB_Cf.js";
98
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-DQX3HXS4.js";
99
99
  import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-CZ1Rrj7O.js";
100
100
  import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-DF8wPn-_.js";
101
101
  import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-9fIQGtZy.js";
@@ -10502,7 +10502,7 @@ async function routeReply(params) {
10502
10502
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10503
10503
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10504
10504
  try {
10505
- const { deliverOutboundPayloads } = await import("./deliver-D7BQXt0l.js").then((n) => n.n);
10505
+ const { deliverOutboundPayloads } = await import("./deliver-Cqk3zmyW.js").then((n) => n.n);
10506
10506
  return {
10507
10507
  ok: true,
10508
10508
  messageId: (await deliverOutboundPayloads({
@@ -13052,7 +13052,7 @@ async function describeStickerImage(params) {
13052
13052
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
13053
13053
  try {
13054
13054
  const buffer = await fs$1.readFile(imagePath);
13055
- const { describeImageWithModel } = await import("./image-6RZuWKy5.js").then((n) => n.n);
13055
+ const { describeImageWithModel } = await import("./image-B6aY1oY3.js").then((n) => n.n);
13056
13056
  return (await describeImageWithModel({
13057
13057
  buffer,
13058
13058
  fileName: "sticker.webp",
@@ -13475,7 +13475,7 @@ function createWhatsAppLoginTool() {
13475
13475
  force: Type.Optional(Type.Boolean())
13476
13476
  }),
13477
13477
  execute: async (_toolCallId, args) => {
13478
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DML5LgsI.js");
13478
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-Ft17VIG6.js");
13479
13479
  if ((args?.action ?? "start") === "wait") {
13480
13480
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
13481
13481
  return {
@@ -15691,7 +15691,7 @@ async function preflightDiscordMessage(params) {
15691
15691
  let preflightTranscript;
15692
15692
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
15693
15693
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
15694
- const { transcribeFirstAudio } = await import("./audio-preflight-C2EgDXSo.js");
15694
+ const { transcribeFirstAudio } = await import("./audio-preflight-CwbuWmdG.js");
15695
15695
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
15696
15696
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
15697
15697
  ctx: {
@@ -22469,6 +22469,38 @@ async function runWithImageModelFallback(params) {
22469
22469
  //#endregion
22470
22470
  //#region src/config/model-profiles-builtin.ts
22471
22471
  /**
22472
+ * Shared safety + output-style additions applied to most built-in profiles
22473
+ * and the Generic fallback. These rules came from a long history of
22474
+ * model-specific bugs (verification-monologue padding, "I have addressed"
22475
+ * preambles, post-answer assessment lists). Keeping them in one place
22476
+ * means a new profile inherits sane defaults instead of starting empty.
22477
+ *
22478
+ * Stage 2.4 of the prompt-reduction plan: rules that ALL profiles need
22479
+ * live here; profile-specific rules (control-token stripping, tool-arg
22480
+ * cleanup, reasoning hints) live in their own per-profile additions.
22481
+ *
22482
+ * Exported so resolve-model-profile.ts can apply the same additions to
22483
+ * the Generic fallback profile — no model resolves to "Generic" without
22484
+ * inheriting the safety/style rules.
22485
+ */
22486
+ const SAFETY_AND_STYLE_ADDITIONS = [
22487
+ "CRITICAL OUTPUT RULES:",
22488
+ "- Your response ends when you have delivered the answer. Do not append anything after.",
22489
+ "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
22490
+ "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
22491
+ "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
22492
+ "- If you need to verify your work, do so before writing your response, not after.",
22493
+ "- Send brief progress updates on long tasks so the user knows you are active."
22494
+ ];
22495
+ /** Hint for native-reasoning models (Nemotron, Qwen 3.5/3.6) to keep
22496
+ * planning internal. Not applied to Gemma/Ollama because those models
22497
+ * don't have structured thinking and the rule confuses them. */
22498
+ const REASONING_DISCIPLINE_ADDITION = "- Keep planning and reasoning internal. Only speak when you have a result or need user input.";
22499
+ /** Hint for models that leak Gemma-style control tokens (Gemma family,
22500
+ * Ollama hosting any uncensored open model). Forces tool-arg cleanup and
22501
+ * forbids leaking turn markers in user-visible text. */
22502
+ 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."];
22503
+ /**
22472
22504
  * Built-in model profiles. Ordered from most-specific to least-specific so
22473
22505
  * that `resolveModelProfile` can return the first match.
22474
22506
  *
@@ -22502,17 +22534,7 @@ const BUILTIN_PROFILES = [
22502
22534
  hasStructuredThinking: false,
22503
22535
  validateToolArgs: true
22504
22536
  },
22505
- promptAdditions: [
22506
- "CRITICAL OUTPUT RULES:",
22507
- "- Your response ends when you have delivered the answer. Do not append anything after.",
22508
- "- Do not output raw control tokens, channel tags, or turn markers.",
22509
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
22510
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
22511
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
22512
- "- If you need to verify your work, do so before writing your response, not after.",
22513
- "- Send brief progress updates on long tasks so the user knows you are active.",
22514
- "- 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."
22515
- ],
22537
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
22516
22538
  ui: {
22517
22539
  badge: "Local",
22518
22540
  watchdogMs: 9e5,
@@ -22539,16 +22561,7 @@ const BUILTIN_PROFILES = [
22539
22561
  hasStructuredThinking: true,
22540
22562
  validateToolArgs: false
22541
22563
  },
22542
- promptAdditions: [
22543
- "CRITICAL OUTPUT RULES:",
22544
- "- Your response ends when you have delivered the answer. Do not append anything after.",
22545
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
22546
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
22547
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
22548
- "- If you need to verify your work, do so before writing your response, not after.",
22549
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
22550
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
22551
- ],
22564
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
22552
22565
  ui: {
22553
22566
  badge: "Local",
22554
22567
  watchdogMs: 9e5,
@@ -22574,7 +22587,7 @@ const BUILTIN_PROFILES = [
22574
22587
  hasStructuredThinking: true,
22575
22588
  validateToolArgs: false
22576
22589
  },
22577
- promptAdditions: [],
22590
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
22578
22591
  ui: {
22579
22592
  badge: "API",
22580
22593
  watchdogMs: 3e5,
@@ -22607,15 +22620,7 @@ const BUILTIN_PROFILES = [
22607
22620
  hasStructuredThinking: true,
22608
22621
  validateToolArgs: false
22609
22622
  },
22610
- promptAdditions: [
22611
- "CRITICAL OUTPUT RULES:",
22612
- "- Your response ends when you have delivered the answer. Do not append anything after.",
22613
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
22614
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
22615
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
22616
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
22617
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
22618
- ],
22623
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
22619
22624
  ui: {
22620
22625
  badge: "Spider",
22621
22626
  watchdogMs: 9e5,
@@ -22648,16 +22653,7 @@ const BUILTIN_PROFILES = [
22648
22653
  hasStructuredThinking: false,
22649
22654
  validateToolArgs: true
22650
22655
  },
22651
- promptAdditions: [
22652
- "CRITICAL OUTPUT RULES:",
22653
- "- Your response ends when you have delivered the answer. Do not append anything after.",
22654
- "- Do not output raw control tokens, channel tags, or turn markers.",
22655
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
22656
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
22657
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
22658
- "- Send brief progress updates on long tasks so the user knows you are active.",
22659
- "- 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."
22660
- ],
22656
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, ...CONTROL_TOKEN_ADDITIONS],
22661
22657
  ui: {
22662
22658
  badge: "Spider",
22663
22659
  watchdogMs: 6e5,
@@ -22689,16 +22685,7 @@ const BUILTIN_PROFILES = [
22689
22685
  hasStructuredThinking: true,
22690
22686
  validateToolArgs: false
22691
22687
  },
22692
- promptAdditions: [
22693
- "CRITICAL OUTPUT RULES:",
22694
- "- Your response ends when you have delivered the answer. Do not append anything after.",
22695
- "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
22696
- "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
22697
- "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
22698
- "- If you need to verify your work, do so before writing your response, not after.",
22699
- "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
22700
- "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active."
22701
- ],
22688
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS, REASONING_DISCIPLINE_ADDITION],
22702
22689
  ui: {
22703
22690
  badge: "CoreWeave",
22704
22691
  watchdogMs: 9e5,
@@ -22709,7 +22696,15 @@ const BUILTIN_PROFILES = [
22709
22696
 
22710
22697
  //#endregion
22711
22698
  //#region src/config/resolve-model-profile.ts
22712
- /** Default profile returned when no match is found. */
22699
+ /**
22700
+ * Default profile returned when no match is found.
22701
+ *
22702
+ * Stage 2.4 of the prompt-reduction plan: the Generic fallback now ships
22703
+ * the same safety+style additions as every named profile, so newly-added
22704
+ * models without a profile entry inherit sane defaults instead of
22705
+ * starting empty (which would silently regress safety rules until someone
22706
+ * notices and adds a profile).
22707
+ */
22713
22708
  const FALLBACK_PROFILE = {
22714
22709
  match: "*",
22715
22710
  label: "Generic",
@@ -22728,7 +22723,7 @@ const FALLBACK_PROFILE = {
22728
22723
  hasStructuredThinking: false,
22729
22724
  validateToolArgs: false
22730
22725
  },
22731
- promptAdditions: [],
22726
+ promptAdditions: [...SAFETY_AND_STYLE_ADDITIONS],
22732
22727
  ui: {
22733
22728
  watchdogMs: 3e5,
22734
22729
  armWatchdogOnSend: true
@@ -29225,6 +29220,86 @@ async function prepareSessionManagerForRun(params) {
29225
29220
  }
29226
29221
  }
29227
29222
 
29223
+ //#endregion
29224
+ //#region src/agents/system-prompt-skills-autoload.ts
29225
+ const FRONTMATTER_RE = /^---\s*\n[\s\S]*?\n---\s*\n?/;
29226
+ let cachedPackageRoot;
29227
+ function getPackageRoot() {
29228
+ if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
29229
+ return cachedPackageRoot;
29230
+ }
29231
+ function safeSkillName(name) {
29232
+ return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
29233
+ }
29234
+ function tryLoadSkill(skillName, root) {
29235
+ const skillPath = path.join(root, "skills", skillName, "SKILL.md");
29236
+ try {
29237
+ if (!fs.statSync(skillPath).isFile()) return null;
29238
+ } catch {
29239
+ return null;
29240
+ }
29241
+ try {
29242
+ return fs.readFileSync(skillPath, "utf8");
29243
+ } catch {
29244
+ return null;
29245
+ }
29246
+ }
29247
+ function stripFrontmatter(body) {
29248
+ return body.replace(FRONTMATTER_RE, "").trimStart();
29249
+ }
29250
+ /**
29251
+ * Resolves and loads each named skill. Returns the inlinable Markdown block,
29252
+ * or empty string when no skills loaded / minimal mode / no names supplied.
29253
+ */
29254
+ function buildAutoLoadedSkillsBlock(opts) {
29255
+ if (opts.minimalMode) return "";
29256
+ const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
29257
+ if (names.length === 0) return "";
29258
+ const packageRoot = getPackageRoot();
29259
+ const loaded = [];
29260
+ for (const rawName of names) {
29261
+ const name = rawName.trim();
29262
+ if (!safeSkillName(name)) {
29263
+ logWarn(`autoLoadInline: skipping invalid skill name '${rawName}'`);
29264
+ continue;
29265
+ }
29266
+ let body = null;
29267
+ let source = "bundled";
29268
+ if (opts.workspaceDir) {
29269
+ body = tryLoadSkill(name, opts.workspaceDir);
29270
+ source = "workspace";
29271
+ }
29272
+ if (body === null && packageRoot) {
29273
+ body = tryLoadSkill(name, packageRoot);
29274
+ source = "bundled";
29275
+ }
29276
+ if (body === null) {
29277
+ logWarn(`autoLoadInline: skill '${name}' not found in workspace or bundled skills`);
29278
+ continue;
29279
+ }
29280
+ const stripped = stripFrontmatter(body).trim();
29281
+ if (!stripped) {
29282
+ logWarn(`autoLoadInline: skill '${name}' has empty body after frontmatter strip; skipping`);
29283
+ continue;
29284
+ }
29285
+ loaded.push({
29286
+ name,
29287
+ body: stripped,
29288
+ source
29289
+ });
29290
+ }
29291
+ if (loaded.length === 0) return "";
29292
+ return [
29293
+ "",
29294
+ "---",
29295
+ "",
29296
+ "## Auto-loaded Skills",
29297
+ "",
29298
+ loaded.map((skill) => `<!-- auto-loaded: ${skill.name} (${skill.source}) -->\n${skill.body}`).join("\n\n---\n\n"),
29299
+ ""
29300
+ ].join("\n");
29301
+ }
29302
+
29228
29303
  //#endregion
29229
29304
  //#region src/agents/tool-summaries.ts
29230
29305
  function buildToolSummaryMap(tools) {
@@ -29240,7 +29315,7 @@ function buildToolSummaryMap(tools) {
29240
29315
  //#endregion
29241
29316
  //#region src/agents/pi-embedded-runner/system-prompt.ts
29242
29317
  function buildEmbeddedSystemPrompt(params) {
29243
- return buildAgentSystemPrompt({
29318
+ const corePrompt = buildAgentSystemPrompt({
29244
29319
  workspaceDir: params.workspaceDir,
29245
29320
  defaultThinkLevel: params.defaultThinkLevel,
29246
29321
  reasoningLevel: params.reasoningLevel,
@@ -29268,6 +29343,14 @@ function buildEmbeddedSystemPrompt(params) {
29268
29343
  contextFiles: params.contextFiles,
29269
29344
  memoryCitationsMode: params.memoryCitationsMode
29270
29345
  });
29346
+ const promptMode = params.promptMode ?? "full";
29347
+ const isMinimal = promptMode === "minimal" || promptMode === "none";
29348
+ const skillsBlock = buildAutoLoadedSkillsBlock({
29349
+ skillNames: params.autoLoadInlineSkills ?? [],
29350
+ workspaceDir: params.workspaceDir,
29351
+ minimalMode: isMinimal
29352
+ });
29353
+ return skillsBlock ? `${corePrompt}${skillsBlock}` : corePrompt;
29271
29354
  }
29272
29355
  function createSystemPromptOverride(systemPrompt) {
29273
29356
  const override = systemPrompt.trim();
@@ -30055,7 +30138,8 @@ async function runEmbeddedAttempt(params) {
30055
30138
  userTime,
30056
30139
  userTimeFormat,
30057
30140
  contextFiles,
30058
- memoryCitationsMode: params.config?.memory?.citations
30141
+ memoryCitationsMode: params.config?.memory?.citations,
30142
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline
30059
30143
  });
30060
30144
  const systemPromptReport = buildSystemPromptReport({
30061
30145
  source: "run",
@@ -31935,27 +32019,27 @@ async function runAgentTurn(params) {
31935
32019
  function createDefaultDeps() {
31936
32020
  return {
31937
32021
  sendMessageWhatsApp: async (...args) => {
31938
- const { sendMessageWhatsApp } = await import("./web-DmgQtLx3.js");
32022
+ const { sendMessageWhatsApp } = await import("./web-CqeSgivQ.js");
31939
32023
  return await sendMessageWhatsApp(...args);
31940
32024
  },
31941
32025
  sendMessageTelegram: async (...args) => {
31942
- const { sendMessageTelegram } = await import("./send-DpMnSIi5.js").then((n) => n.l);
32026
+ const { sendMessageTelegram } = await import("./send-BaSqjfd_.js").then((n) => n.l);
31943
32027
  return await sendMessageTelegram(...args);
31944
32028
  },
31945
32029
  sendMessageDiscord: async (...args) => {
31946
- const { sendMessageDiscord } = await import("./send-COVVt64P.js").then((n) => n.t);
32030
+ const { sendMessageDiscord } = await import("./send-DNqcjLyg.js").then((n) => n.t);
31947
32031
  return await sendMessageDiscord(...args);
31948
32032
  },
31949
32033
  sendMessageSlack: async (...args) => {
31950
- const { sendMessageSlack } = await import("./send-BqOhAhRS.js").then((n) => n.n);
32034
+ const { sendMessageSlack } = await import("./send-llekTUks.js").then((n) => n.n);
31951
32035
  return await sendMessageSlack(...args);
31952
32036
  },
31953
32037
  sendMessageSignal: async (...args) => {
31954
- const { sendMessageSignal } = await import("./send-DvbOiJ-I.js").then((n) => n.i);
32038
+ const { sendMessageSignal } = await import("./send-BPBFuPrC.js").then((n) => n.i);
31955
32039
  return await sendMessageSignal(...args);
31956
32040
  },
31957
32041
  sendMessageIMessage: async (...args) => {
31958
- const { sendMessageIMessage } = await import("./send-SF7x1UHb.js").then((n) => n.n);
32042
+ const { sendMessageIMessage } = await import("./send-BUBES34Y.js").then((n) => n.n);
31959
32043
  return await sendMessageIMessage(...args);
31960
32044
  }
31961
32045
  };
@@ -43506,7 +43590,7 @@ async function registerSlackMonitorSlashCommands(params) {
43506
43590
  });
43507
43591
  const deliverSlashPayloads = async (replies) => {
43508
43592
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
43509
- import("./replies-CZH45dMt.js").then((n) => n.r),
43593
+ import("./replies-CPhYC11m.js").then((n) => n.r),
43510
43594
  import("./chunk-DIi9uyC6.js").then((n) => n.s),
43511
43595
  import("./markdown-tables-kCfKPOgH.js").then((n) => n.t)
43512
43596
  ]);
@@ -48200,7 +48284,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
48200
48284
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
48201
48285
  let preflightTranscript;
48202
48286
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
48203
- const { transcribeFirstAudio } = await import("./audio-preflight-C2EgDXSo.js");
48287
+ const { transcribeFirstAudio } = await import("./audio-preflight-CwbuWmdG.js");
48204
48288
  preflightTranscript = await transcribeFirstAudio({
48205
48289
  ctx: {
48206
48290
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -50354,23 +50438,23 @@ let webLoginQrPromise = null;
50354
50438
  let webChannelPromise = null;
50355
50439
  let whatsappActionsPromise = null;
50356
50440
  function loadWebOutbound() {
50357
- webOutboundPromise ??= import("./outbound-B5OgOn1h.js").then((n) => n.t);
50441
+ webOutboundPromise ??= import("./outbound-DlWjA7jN.js").then((n) => n.t);
50358
50442
  return webOutboundPromise;
50359
50443
  }
50360
50444
  function loadWebLogin() {
50361
- webLoginPromise ??= import("./login-F4pbdnF5.js").then((n) => n.n);
50445
+ webLoginPromise ??= import("./login-DwBazcKM.js").then((n) => n.n);
50362
50446
  return webLoginPromise;
50363
50447
  }
50364
50448
  function loadWebLoginQr() {
50365
- webLoginQrPromise ??= import("./login-qr-DML5LgsI.js");
50449
+ webLoginQrPromise ??= import("./login-qr-Ft17VIG6.js");
50366
50450
  return webLoginQrPromise;
50367
50451
  }
50368
50452
  function loadWebChannel() {
50369
- webChannelPromise ??= import("./web-DmgQtLx3.js");
50453
+ webChannelPromise ??= import("./web-CqeSgivQ.js");
50370
50454
  return webChannelPromise;
50371
50455
  }
50372
50456
  function loadWhatsAppActions() {
50373
- whatsappActionsPromise ??= import("./whatsapp-actions-DEn0NRir.js");
50457
+ whatsappActionsPromise ??= import("./whatsapp-actions-D5RBK0Cm.js");
50374
50458
  return whatsappActionsPromise;
50375
50459
  }
50376
50460
  function createPluginRuntime() {
@@ -54470,6 +54554,22 @@ function wrapToolParamNormalization(tool, requiredParamGroups) {
54470
54554
  }
54471
54555
  };
54472
54556
  }
54557
+ /**
54558
+ * Override a tool's description while preserving execute, parameters, and
54559
+ * other properties. Used by Stage 2.5 of the prompt-reduction plan to move
54560
+ * usage docs from the system prompt into tool descriptions where they
54561
+ * belong contextually.
54562
+ *
54563
+ * The replacement description should include the upstream's tool-purpose
54564
+ * sentence so models that only read the description (without the prompt
54565
+ * section) still have the same baseline understanding.
54566
+ */
54567
+ function wrapToolWithDescriptionOverride(tool, description) {
54568
+ return {
54569
+ ...tool,
54570
+ description
54571
+ };
54572
+ }
54473
54573
  function wrapToolWorkspaceRootGuard(tool, root) {
54474
54574
  return {
54475
54575
  ...tool,
@@ -65320,6 +65420,26 @@ function resolveToolLoopDetectionConfig(params) {
65320
65420
  }
65321
65421
  };
65322
65422
  }
65423
+ /**
65424
+ * Edit tool description. Replaces the upstream's terse one-liner with
65425
+ * usage notes migrated from the system prompt's "Edit Tool Best Practices"
65426
+ * section in Stage 2.5 of the prompt-reduction plan. Co-locating these
65427
+ * notes with the tool means they ship only when edit is in palette, and
65428
+ * the system prompt section can be deleted in Stage 4 without losing the
65429
+ * guidance.
65430
+ *
65431
+ * Combined with the read-before-edit guard (Stage 1.3) and the model's
65432
+ * own discipline, this should kill the hallucinated-oldText failure class
65433
+ * for any well-intentioned model.
65434
+ */
65435
+ const EDIT_TOOL_DESCRIPTION = [
65436
+ "Edit a file by replacing exact text. The oldText must match the file EXACTLY (whitespace, indentation, and all).",
65437
+ "Best practices to avoid match failures:",
65438
+ "- Use the SHORTEST unique snippet that identifies the edit location (1-3 lines). Do NOT paste large blocks.",
65439
+ "- 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.",
65440
+ "- 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.",
65441
+ "- Prefer lines with distinctive content (function names, unique strings) over generic code (braces, blank lines)."
65442
+ ].join(" ");
65323
65443
  function createSymiCodingTools(options) {
65324
65444
  const execToolName = "exec";
65325
65445
  const sandbox = options?.sandbox?.enabled ? options.sandbox : void 0;
@@ -65408,7 +65528,7 @@ function createSymiCodingTools(options) {
65408
65528
  }
65409
65529
  if (tool.name === "edit") {
65410
65530
  if (sandboxRoot) return [];
65411
- const guarded = wrapEditToolWithGuard(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), readEditTracker);
65531
+ const guarded = wrapEditToolWithGuard(wrapToolWithDescriptionOverride(wrapToolParamNormalization(createEditTool(workspaceRoot), CLAUDE_PARAM_GROUPS.edit), EDIT_TOOL_DESCRIPTION), readEditTracker);
65412
65532
  return [workspaceOnly ? wrapToolWorkspaceRootGuard(guarded, workspaceRoot) : guarded];
65413
65533
  }
65414
65534
  return [tool];
@@ -65829,7 +65949,8 @@ async function compactEmbeddedPiSessionDirect(params) {
65829
65949
  userTime,
65830
65950
  userTimeFormat,
65831
65951
  contextFiles,
65832
- memoryCitationsMode: params.config?.memory?.citations
65952
+ memoryCitationsMode: params.config?.memory?.citations,
65953
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline
65833
65954
  }));
65834
65955
  const sessionLock = await acquireSessionWriteLock({
65835
65956
  sessionFile: params.sessionFile,
@@ -73505,7 +73626,7 @@ async function deliverSessionMaintenanceWarning(params) {
73505
73626
  return;
73506
73627
  }
73507
73628
  try {
73508
- const { deliverOutboundPayloads } = await import("./deliver-D7BQXt0l.js").then((n) => n.n);
73629
+ const { deliverOutboundPayloads } = await import("./deliver-Cqk3zmyW.js").then((n) => n.n);
73509
73630
  await deliverOutboundPayloads({
73510
73631
  cfg: params.cfg,
73511
73632
  channel,