@symerian/symi 2.9.1 → 2.9.2

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 (412) hide show
  1. package/dist/{acp-cli-BNM6b6XY.js → acp-cli-Bc6ZQZ4f.js} +2 -2
  2. package/dist/{acp-cli-DXsJS3-G.js → acp-cli-Dy9QuDBN.js} +2 -2
  3. package/dist/{agents-FNeM-byc.js → agents-DTl30WoB.js} +7 -7
  4. package/dist/{agents.config-DUYDFbfP.js → agents.config-CO8F9mkD.js} +1 -1
  5. package/dist/{agents.config-CjML1ogJ.js → agents.config-CZ3GFxPg.js} +1 -1
  6. package/dist/{audio-preflight-CwbuWmdG.js → audio-preflight-8UNY1akA.js} +11 -11
  7. package/dist/{audio-preflight-SaT5IcVn.js → audio-preflight-By0dnw-T.js} +11 -11
  8. package/dist/{audio-preflight-DlO0Hw-w.js → audio-preflight-DQR2Ivi-.js} +5 -5
  9. package/dist/{audio-preflight-CMutcMs5.js → audio-preflight-Dtsvq6Hj.js} +6 -6
  10. package/dist/{audit-qWCLpveM.js → audit-DGwhL71Q.js} +5 -5
  11. package/dist/{audit-Ojap-R-Y.js → audit-OPWWS900.js} +5 -5
  12. package/dist/{auth-choice-BjTiWmH-.js → auth-choice-BYDGn7lJ.js} +4 -4
  13. package/dist/{auth-choice-RQ5keocP.js → auth-choice-BoOyy-ZT.js} +4 -4
  14. package/dist/{banner-dYiFXA70.js → banner-D4MiyUnv.js} +1 -1
  15. package/dist/{browser-cli-BQ9jHIXP.js → browser-cli-CGLTZ9KQ.js} +3 -3
  16. package/dist/{browser-cli-BW0C5Y8-.js → browser-cli-qpJlsofO.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-X_vwo309.js → call-BCTAmPye.js} +1 -1
  21. package/dist/{call-BZbBLMOq.js → call-BIETyST6.js} +1 -1
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-CjZlTumK.js → channel-options-B6qP-vR-.js} +1 -1
  24. package/dist/{channel-options-DqXYA7rM.js → channel-options-BiSSYYQC.js} +1 -1
  25. package/dist/{channel-web-BITaNjFT.js → channel-web-DP97EUhx.js} +7 -7
  26. package/dist/{channels-cli-7cDtM5kW.js → channels-cli-6LNvJQPb.js} +30 -30
  27. package/dist/{channels-cli-C8CesA1x.js → channels-cli-CE_A3Hai.js} +31 -31
  28. package/dist/{chrome-t-stBgN6.js → chrome-B-hW5hrK.js} +1 -1
  29. package/dist/{chrome-B1zznUiv.js → chrome-BaMQiegP.js} +8 -8
  30. package/dist/{chrome-faqXQ9f1.js → chrome-CO5ZhkcZ.js} +1 -1
  31. package/dist/{chrome-BFDOGeu3.js → chrome-CtTba9sH.js} +1 -1
  32. package/dist/cli/daemon-cli.js +1 -1
  33. package/dist/{cli-BJ9_X9eE.js → cli-D4j_JTug.js} +27 -27
  34. package/dist/{cli-ZC_92Xyn.js → cli-DwQ3mqhI.js} +26 -26
  35. package/dist/{command-registry-B1ltIC7z.js → command-registry-b62Qpsi2.js} +11 -11
  36. package/dist/{completion-cli-_P0e-rhC.js → completion-cli-DUT2XYgK.js} +2 -2
  37. package/dist/{completion-cli-KSs4eFcq.js → completion-cli-RQyC3L-t.js} +1 -1
  38. package/dist/{config-BYCtuYPj.js → config-CitI_jxW.js} +6 -0
  39. package/dist/{config-CbBZUq-Q.js → config-D7Zr88dI.js} +6 -0
  40. package/dist/{config-BXMAsmut.js → config-Do4JxgLI.js} +6 -0
  41. package/dist/{config-DE6JXMtt.js → config-Gfhqs66L.js} +6 -0
  42. package/dist/{config-cli-DIrPShKH.js → config-cli-Di8VOhbp.js} +2 -2
  43. package/dist/{config-cli-DjCKp4Pe.js → config-cli-H52N8rp1.js} +2 -2
  44. package/dist/{config-guard-BrZXdLQw.js → config-guard-BLcbR_sH.js} +2 -2
  45. package/dist/{config-guard-DYmSI51f.js → config-guard-CgPPAm7S.js} +3 -3
  46. package/dist/{config-validation-CNRgc5vc.js → config-validation-B6GnatLw.js} +1 -1
  47. package/dist/{config-validation-fdYfdAc3.js → config-validation-UMq2H_tR.js} +1 -1
  48. package/dist/{configure-CsZWO6Nr.js → configure-BF9crM5K.js} +10 -10
  49. package/dist/{configure-Ds8SzTEw.js → configure-DQxuawe-.js} +10 -10
  50. package/dist/{control-service-DQX3HXS4.js → control-service-BkyH7qkF.js} +4 -4
  51. package/dist/{control-service-B5HVCnUI.js → control-service-DnNPjFvU.js} +4 -4
  52. package/dist/{cron-cli-CfSmL43G.js → cron-cli-CcgewYtp.js} +3 -3
  53. package/dist/{cron-cli-D2L3-4aw.js → cron-cli-DEcQk1bb.js} +3 -3
  54. package/dist/{daemon-cli-D9_xrFGD.js → daemon-cli-BNZu5unw.js} +6 -6
  55. package/dist/{daemon-cli-BHwfgmrQ.js → daemon-cli-BiBjGGfw.js} +6 -6
  56. package/dist/daemon-cli.js +6 -0
  57. package/dist/{daemon-runtime-BiZG4Kqi.js → daemon-runtime-C-Mwepv_.js} +1 -1
  58. package/dist/{daemon-runtime-DOqm0LLm.js → daemon-runtime-C86WnKU5.js} +1 -1
  59. package/dist/{deliver-CeNdvQJ3.js → deliver-DaRQn5Ai.js} +3 -3
  60. package/dist/{deliver-Cqk3zmyW.js → deliver-DrgHcdVo.js} +3 -3
  61. package/dist/{deliver-nBdNxMIr.js → deliver-Dx39g9ey.js} +2 -2
  62. package/dist/{deliver--ff__Iq0.js → deliver-XYF4JahT.js} +2 -2
  63. package/dist/{devices-cli-BzyrjuAk.js → devices-cli-Wb4H-vyx.js} +2 -2
  64. package/dist/{devices-cli-CEvTb9Vr.js → devices-cli-hX2lrsCy.js} +2 -2
  65. package/dist/{directory-cli-KZHlp_jk.js → directory-cli-CLIYvXkV.js} +1 -1
  66. package/dist/{directory-cli-Ds7uESrp.js → directory-cli-C_vm-dsr.js} +1 -1
  67. package/dist/{dns-cli-e8z7wTzi.js → dns-cli-BJuUZ4pr.js} +1 -1
  68. package/dist/{dns-cli-SNU_PJfw.js → dns-cli-CTCAHPcB.js} +1 -1
  69. package/dist/{doctor-completion-D4bMStWc.js → doctor-completion-BKXQ50ee.js} +1 -1
  70. package/dist/{doctor-completion-CfGWMYVG.js → doctor-completion-BS2JEeZy.js} +1 -1
  71. package/dist/{doctor-config-flow-CJ4__c8U.js → doctor-config-flow-BFHsvL2k.js} +2 -2
  72. package/dist/{doctor-config-flow-DHXFFSRu.js → doctor-config-flow-l2aPNzHP.js} +2 -2
  73. package/dist/entry.js +1 -1
  74. package/dist/{exec-approvals-cli-z9Iy8aWD.js → exec-approvals-cli-BXDSu2Ze.js} +4 -4
  75. package/dist/{exec-approvals-cli-_AbKrXIH.js → exec-approvals-cli-uAM6-swA.js} +4 -4
  76. package/dist/extensionAPI.js +16 -16
  77. package/dist/{gateway-cli-B4ElmhPF.js → gateway-cli-Do9KUPqe.js} +42 -42
  78. package/dist/{gateway-cli-CfO9aUt0.js → gateway-cli-moPf-zP5.js} +43 -43
  79. package/dist/{gateway-rpc-D1S1i5HM.js → gateway-rpc-DMEPdgmc.js} +1 -1
  80. package/dist/{gateway-rpc-BlWORxUe.js → gateway-rpc-Wa_4MrZb.js} +1 -1
  81. package/dist/{glass-ui-ws-D1UKJUFI.js → glass-ui-ws-D53pvIov.js} +35 -35
  82. package/dist/{glass-ui-ws-Bhu3COgn.js → glass-ui-ws-Dfro-3R8.js} +34 -34
  83. package/dist/{health-CCslN1xh.js → health-BQGRC0xh.js} +5 -5
  84. package/dist/{health-CLRDrjsk.js → health-CV741PBg.js} +5 -5
  85. package/dist/{hooks-cli-DvLYXNNe.js → hooks-cli-CG-PDY2U.js} +28 -28
  86. package/dist/{hooks-cli-BrVLhsJ6.js → hooks-cli-CWXGIL9L.js} +27 -27
  87. package/dist/{image-D5bsPk2_.js → image-BjyeKf1c.js} +2 -2
  88. package/dist/{image-CEdTQp1F.js → image-C-JvPPpM.js} +2 -2
  89. package/dist/{image-B6aY1oY3.js → image-GaF72sln.js} +2 -2
  90. package/dist/{image-Cp6qRPZ2.js → image-dYtWZNKT.js} +2 -2
  91. package/dist/index.js +35 -35
  92. package/dist/{lifecycle-core-CcPnnp9c.js → lifecycle-core-BMVHLJi_.js} +2 -2
  93. package/dist/{lifecycle-core-BUGPz1GT.js → lifecycle-core-HOQrbQ-_.js} +2 -2
  94. package/dist/llm-slug-generator.js +14 -14
  95. package/dist/{login-DwBazcKM.js → login-Cd4DTmg6.js} +2 -2
  96. package/dist/{login-B7OJui4y.js → login-Cv_LYGzG.js} +2 -2
  97. package/dist/{login-DKeZ-sOf.js → login-D4OYfM0U.js} +2 -2
  98. package/dist/{login-Cu0fTI3Z.js → login-DqhTprwd.js} +2 -2
  99. package/dist/{login-qr-BBrzemk7.js → login-qr-CZXIrzvh.js} +2 -2
  100. package/dist/{login-qr-DyU6qD2X.js → login-qr-DiyxAHpv.js} +2 -2
  101. package/dist/{login-qr-CtELJan3.js → login-qr-Dq_hs3eJ.js} +2 -2
  102. package/dist/{login-qr-Ft17VIG6.js → login-qr-Xgw7JPYo.js} +2 -2
  103. package/dist/{logs-cli-CvgvoxvI.js → logs-cli-DZTxEhiM.js} +3 -3
  104. package/dist/{logs-cli-Dg6OSEA6.js → logs-cli-Dh-aAqF3.js} +3 -3
  105. package/dist/{manager-OSWCBsL_.js → manager-B_2KzUSI.js} +1 -1
  106. package/dist/{manager-HASZR70T.js → manager-Bc-MeMho.js} +1 -1
  107. package/dist/{manager-CztTHQhN.js → manager-CLPHK-qG.js} +1 -1
  108. package/dist/{manager-8N1YbbDk.js → manager-yrUe0KOT.js} +1 -1
  109. package/dist/{memory-cli-BmWvHCEJ.js → memory-cli-3RSIw4no.js} +4 -4
  110. package/dist/{memory-cli-BDWdeqta.js → memory-cli-BKNnDIdx.js} +4 -4
  111. package/dist/{model-catalog-BhW-vn5v.js → model-catalog-BFJW_s3i.js} +2 -2
  112. package/dist/{model-catalog-FckJ4pcL.js → model-catalog-DRqmevpR.js} +2 -2
  113. package/dist/{model-picker-D3ii5sBm.js → model-picker-BT8MumhL.js} +2 -2
  114. package/dist/{model-picker-DEUeht6L.js → model-picker-DhsG4iZa.js} +2 -2
  115. package/dist/{models-5C-QKF0q.js → models-D_C2JFPw.js} +8 -8
  116. package/dist/{models-cli-BqW-Y1GI.js → models-cli-DQE60EtL.js} +30 -30
  117. package/dist/{models-cli-B2IebIhR.js → models-cli-j2O4e1Lu.js} +29 -29
  118. package/dist/{models-config-DGDMieos.js → models-config-DdK8uWQW.js} +1 -1
  119. package/dist/{models-config-CHVfeRDR.js → models-config-frWb8fDT.js} +1 -1
  120. package/dist/{node-cli-hAxte5bw.js → node-cli-DB4Z23h8.js} +9 -9
  121. package/dist/{node-cli-emEb0aRo.js → node-cli-DcRlL2Np.js} +9 -9
  122. package/dist/{nodes-cli-DQPQqEYN.js → nodes-cli-B42u9UxB.js} +3 -3
  123. package/dist/{nodes-cli-yd9KABqj.js → nodes-cli-DQ9YsQmy.js} +3 -3
  124. package/dist/{onboard-BL7Ei8OA.js → onboard-Ckw89oRF.js} +7 -7
  125. package/dist/{onboard-o5O2Ipvr.js → onboard-DUIZfWqa.js} +7 -7
  126. package/dist/{onboard-channels-B-PEQmiI.js → onboard-channels-B8Ouc5sR.js} +1 -1
  127. package/dist/{onboard-channels-Do0lkLVV.js → onboard-channels-Oa9IlsGt.js} +1 -1
  128. package/dist/{onboard-custom-BVMtQfB1.js → onboard-custom-7TON2w6b.js} +2 -2
  129. package/dist/{onboard-custom-CVA34zSg.js → onboard-custom-Bb3xuH0G.js} +2 -2
  130. package/dist/{onboard-helpers-O6bxf40E.js → onboard-helpers-BiCrYw-N.js} +2 -2
  131. package/dist/{onboard-helpers-CNFdWQIV.js → onboard-helpers-Ca4KojJF.js} +2 -2
  132. package/dist/{onboard-remote-QMqQxvh7.js → onboard-remote-B8MQTgX-.js} +1 -1
  133. package/dist/{onboard-remote-uYveiXQe.js → onboard-remote-IMqgmH78.js} +1 -1
  134. package/dist/{onboard-skills-CLb94Ag2.js → onboard-skills-BP1P7f-w.js} +1 -1
  135. package/dist/{onboard-skills-Du3aWSN3.js → onboard-skills-BcvPjVfl.js} +1 -1
  136. package/dist/{onboarding-3DwQLO4z.js → onboarding-Cjh-Y8ha.js} +10 -10
  137. package/dist/{onboarding-B_F_DbjQ.js → onboarding-JFWHlqAb.js} +10 -10
  138. package/dist/{onboarding.finalize-BWejCrVi.js → onboarding.finalize-CkGLgiEA.js} +32 -32
  139. package/dist/{onboarding.finalize-D_G6Tcqi.js → onboarding.finalize-spzEoVkm.js} +34 -34
  140. package/dist/{onboarding.gateway-config-D8K7HsWb.js → onboarding.gateway-config-Cp8mV8S9.js} +4 -4
  141. package/dist/{onboarding.gateway-config-Dixr8mmH.js → onboarding.gateway-config-tmzsyFbT.js} +4 -4
  142. package/dist/{outbound-CLCy4Nsg.js → outbound-BD7PNRhC.js} +1 -1
  143. package/dist/{outbound-DVVulk0E.js → outbound-BaF9dF-H.js} +1 -1
  144. package/dist/{outbound-b9pVFyW7.js → outbound-CDuo0JH3.js} +1 -1
  145. package/dist/{outbound-DlWjA7jN.js → outbound-CPcVipU-.js} +1 -1
  146. package/dist/{pairing-cli-Cgj6qx8Z.js → pairing-cli-CfuG75IW.js} +1 -1
  147. package/dist/{pairing-cli-CchjvjCR.js → pairing-cli-K09J3MIl.js} +1 -1
  148. package/dist/{pi-embedded-q_tNOp_h.js → pi-embedded-D6Zi01El.js} +343 -41
  149. package/dist/{pi-embedded-helpers-DrAT2ieP.js → pi-embedded-helpers-B1P8lkqj.js} +5 -5
  150. package/dist/{pi-embedded-helpers-BgpogTwt.js → pi-embedded-helpers-BlL08R8g.js} +1 -1
  151. package/dist/{pi-embedded-helpers-DK2WpZI8.js → pi-embedded-helpers-CmY04lZ7.js} +1 -1
  152. package/dist/{pi-embedded-helpers-BPP4adeW.js → pi-embedded-helpers-DuZtk5SK.js} +6 -6
  153. package/dist/{pi-tools.policy-BE7fB_Cf.js → pi-tools.policy-54ABEJtH.js} +2 -2
  154. package/dist/{pi-tools.policy-GxaAKOgf.js → pi-tools.policy-BFsWV2pS.js} +2 -2
  155. package/dist/{plugin-registry-CRIH5Sdf.js → plugin-registry-CYglC746.js} +2 -2
  156. package/dist/{plugin-registry-B_KRAoou.js → plugin-registry-zGF6HUkQ.js} +2 -2
  157. package/dist/plugin-sdk/agents/pi-embedded-runner/system-prompt.d.ts +14 -0
  158. package/dist/plugin-sdk/agents/skills/triggers.d.ts +12 -0
  159. package/dist/plugin-sdk/agents/system-prompt-skills-jit.d.ts +28 -0
  160. package/dist/plugin-sdk/agents/tools/skill-search-tool.d.ts +30 -0
  161. package/dist/plugin-sdk/{audio-preflight-CwMsvdv8.js → audio-preflight-CoKYDdd4.js} +6 -6
  162. package/dist/plugin-sdk/{channel-web-CiewzSOW.js → channel-web-eeGSjU9N.js} +7 -7
  163. package/dist/plugin-sdk/{chrome-Cou8jVJ2.js → chrome-CdjVSHtz.js} +1 -1
  164. package/dist/plugin-sdk/config/types.skills.d.ts +14 -0
  165. package/dist/plugin-sdk/config/zod-schema.d.ts +2 -0
  166. package/dist/plugin-sdk/{config-DQntj58u.js → config-Cf-PzD3r.js} +6 -0
  167. package/dist/plugin-sdk/{deliver-OVx3XKTy.js → deliver-hjUeDZ7e.js} +2 -2
  168. package/dist/plugin-sdk/{image-ChrcMCo_.js → image-CS95I-I5.js} +2 -2
  169. package/dist/plugin-sdk/index.js +20 -20
  170. package/dist/plugin-sdk/{login-WuhOM4Dg.js → login-BhLw-aw1.js} +2 -2
  171. package/dist/plugin-sdk/{login-qr-C87Q7LuN.js → login-qr-B4dxH543.js} +2 -2
  172. package/dist/plugin-sdk/{manager-Yvm-LGVR.js → manager-DZ5-lr4s.js} +1 -1
  173. package/dist/plugin-sdk/{outbound-T0XdUo-H.js → outbound-D7yJKgEX.js} +1 -1
  174. package/dist/plugin-sdk/{pi-embedded-helpers-DihvU43r.js → pi-embedded-helpers-6EL59cK1.js} +6 -6
  175. package/dist/plugin-sdk/{pw-ai-DUQ9kG2D.js → pw-ai-DWcXZkbZ.js} +2 -2
  176. package/dist/plugin-sdk/{replies-DD0EJRXx.js → replies-B4fizDsZ.js} +1 -1
  177. package/dist/plugin-sdk/{reply-I6ZFg_UE.js → reply-BRGoceel.js} +348 -46
  178. package/dist/plugin-sdk/{runner-IyZnVyIT.js → runner-D9c_MNRa.js} +2 -2
  179. package/dist/plugin-sdk/{send-Do_qdBr_.js → send-BAzimHH-.js} +1 -1
  180. package/dist/plugin-sdk/{send-DxXXcQ_o.js → send-BfqyNBU1.js} +1 -1
  181. package/dist/plugin-sdk/{send-Cxr9NnOd.js → send-CF7BhO8B.js} +1 -1
  182. package/dist/plugin-sdk/{send-SRQweHTE.js → send-CJIEYVXL.js} +1 -1
  183. package/dist/plugin-sdk/{send-Dd71o3sZ.js → send-DDpZS9jb.js} +1 -1
  184. package/dist/plugin-sdk/{session-LEZ8u8RX.js → session-BfTQAyNx.js} +1 -1
  185. package/dist/plugin-sdk/{skill-commands-DEfqC_kJ.js → skill-commands-C70yD9PL.js} +1 -1
  186. package/dist/plugin-sdk/{skills-C9DbB-Kp.js → skills-DuQ-xGok.js} +1 -1
  187. package/dist/plugin-sdk/{synthesis-bQ4DMwsj.js → synthesis-DVsG2Tbp.js} +16 -16
  188. package/dist/plugin-sdk/{web-C3YuHiih.js → web-7u3fdT2S.js} +20 -20
  189. package/dist/plugin-sdk/{whatsapp-actions-ClWxTG5S.js → whatsapp-actions-B_3do0s7.js} +2 -2
  190. package/dist/{plugins-cli-Co9cRpLe.js → plugins-cli-CLb_0vH6.js} +27 -27
  191. package/dist/{plugins-cli-MDYiXsRL.js → plugins-cli-ndIGvW38.js} +28 -28
  192. package/dist/{program-BWqVPm5t.js → program-BovNsUAh.js} +34 -34
  193. package/dist/{program-context-m9C36Cuq.js → program-context-mFSRQPMm.js} +38 -38
  194. package/dist/{prompt-select-styled-DzjQVaDM.js → prompt-select-styled-DlKhnnDV.js} +15 -15
  195. package/dist/{prompt-select-styled-BKJVEVPk.js → prompt-select-styled-vhI0kQYd.js} +15 -15
  196. package/dist/{provider-auth-helpers-DaTqy1aA.js → provider-auth-helpers-DXlKD0hY.js} +2 -2
  197. package/dist/{provider-auth-helpers-DYJ-0sNe.js → provider-auth-helpers-U0t5YhCn.js} +2 -2
  198. package/dist/{push-apns-DdQlLTpV.js → push-apns-hN0N3Wcu.js} +1 -1
  199. package/dist/{push-apns-_aeFBwsP.js → push-apns-rDsc17-c.js} +1 -1
  200. package/dist/{pw-ai-DSmC8YuO.js → pw-ai-B8IypzYb.js} +2 -2
  201. package/dist/{pw-ai-D9ZuX3U6.js → pw-ai-BYRvpqBg.js} +2 -2
  202. package/dist/{pw-ai-Bpp0J0PM.js → pw-ai-BlWK9Tr3.js} +2 -2
  203. package/dist/{pw-ai-XSTIQILG.js → pw-ai-BwKx4yAQ.js} +2 -2
  204. package/dist/{qr-cli-DtHLOD1G.js → qr-cli-B7hz3Zj2.js} +1 -1
  205. package/dist/{qr-cli-Dq9G8FPl.js → qr-cli-Zf3abH3y.js} +1 -1
  206. package/dist/{register.agent-Hi0PN67T.js → register.agent-B1liWWB3.js} +35 -35
  207. package/dist/{register.agent-RNTVF_Nk.js → register.agent-Cyij2g-g.js} +33 -33
  208. package/dist/{register.configure-Dp-F_KKy.js → register.configure-CoYKlH75.js} +37 -37
  209. package/dist/{register.configure-DE2Fg1dO.js → register.configure-keWh1w1p.js} +38 -38
  210. package/dist/{register.maintenance-Bbd-g7nL.js → register.maintenance-CsA9QQRE.js} +37 -37
  211. package/dist/{register.maintenance-QHRRhtsg.js → register.maintenance-CvY-Yar9.js} +35 -35
  212. package/dist/{register.message-BvutRi1a.js → register.message-D7815_7Y.js} +28 -28
  213. package/dist/{register.message-B5uWOXev.js → register.message-DltuBwIg.js} +27 -27
  214. package/dist/{register.onboard-DRHuoRTm.js → register.onboard-CY50To_-.js} +33 -33
  215. package/dist/{register.onboard-CNOh527M.js → register.onboard-FcZymlrx.js} +34 -34
  216. package/dist/{register.setup-D1ePW7dl.js → register.setup-8dkIizGs.js} +34 -34
  217. package/dist/{register.setup-Cj0oOZqL.js → register.setup-X011Evir.js} +33 -33
  218. package/dist/{register.status-health-sessions-sf1XzcPo.js → register.status-health-sessions-DRkIaw1q.js} +32 -32
  219. package/dist/{register.status-health-sessions-DfyO7JaH.js → register.status-health-sessions-u9ZbWWea.js} +30 -30
  220. package/dist/{register.subclis-Do_HdpUT.js → register.subclis-vTS3UwIU.js} +28 -28
  221. package/dist/{replies-IkylJ7lX.js → replies-A6SltFjk.js} +1 -1
  222. package/dist/{replies-CPhYC11m.js → replies-CsNZ9ImJ.js} +1 -1
  223. package/dist/{replies-BxvfG7Oj.js → replies-Dk0cnpHa.js} +1 -1
  224. package/dist/{replies-BV7oFP7Z.js → replies-Dmo0pSSf.js} +1 -1
  225. package/dist/{reply-DEub7xci.js → reply-Dx9DWIO2.js} +355 -52
  226. package/dist/{routes-n7RUgOOW.js → routes-B3wAMCSw.js} +3 -3
  227. package/dist/{routes-Evl8vnTV.js → routes-DH2Da7TP.js} +3 -3
  228. package/dist/{rpc-3T_LjHn1.js → rpc-BPtq6BO7.js} +1 -1
  229. package/dist/{rpc-DeJsMHDF.js → rpc-DCB41PXt.js} +1 -1
  230. package/dist/{run-main-B_ZLo4JR.js → run-main-BQKf71Kt.js} +45 -45
  231. package/dist/{runner-CMvsDzah.js → runner-C4opGXAA.js} +2 -2
  232. package/dist/{runner-CiThXXY3.js → runner-CY_8vnxU.js} +3 -3
  233. package/dist/{runner-B_6xBcPB.js → runner-Dbs3i8HW.js} +2 -2
  234. package/dist/{runner-BX-ap4VU.js → runner-Im1oOE3i.js} +3 -3
  235. package/dist/{sandbox-T9SO3y3b.js → sandbox-BTziorto.js} +5 -5
  236. package/dist/{sandbox-cli-MZJX1Ht6.js → sandbox-cli-BVpVuidu.js} +6 -6
  237. package/dist/{sandbox-cli-Bi8lblc6.js → sandbox-cli-rOwF1Yuh.js} +6 -6
  238. package/dist/{sandbox-BQ5LAIBQ.js → sandbox-wUKYI3zy.js} +5 -5
  239. package/dist/{security-cli-AZBZs6ww.js → security-cli-Bb4vR6LY.js} +9 -9
  240. package/dist/{security-cli-txjMZzBx.js → security-cli-Cg7KhJC7.js} +9 -9
  241. package/dist/{send-CcD9S5so.js → send-8Gw3YmOh.js} +1 -1
  242. package/dist/{send-BtbWvw2k.js → send-90t8KM2a.js} +1 -1
  243. package/dist/{send-DlYO3ExM.js → send-9ktd0CBZ.js} +1 -1
  244. package/dist/{send-C6-rN_Li.js → send-B0szkIfv.js} +1 -1
  245. package/dist/{send-CyPj_MLV.js → send-B7kMNQ-T.js} +1 -1
  246. package/dist/{send-DNqcjLyg.js → send-BbZtP8GJ.js} +1 -1
  247. package/dist/{send-C4IU_tV3.js → send-CQj8FBE3.js} +1 -1
  248. package/dist/{send-Bi8XhwOZ.js → send-Cxr6CgGf.js} +1 -1
  249. package/dist/{send-CfejAK2u.js → send-D27q8Oqo.js} +1 -1
  250. package/dist/{send-CupfdYEg.js → send-D4GfXudZ.js} +1 -1
  251. package/dist/{send-BPBFuPrC.js → send-D5Siw6wn.js} +1 -1
  252. package/dist/{send-BUBES34Y.js → send-DanpvmZQ.js} +1 -1
  253. package/dist/{send-CSkNKYIc.js → send-DbJsN7Lj.js} +1 -1
  254. package/dist/{send-dohExhb8.js → send-Dj6_LS_W.js} +1 -1
  255. package/dist/{send-vmIzYMwN.js → send-F2Cpm-SJ.js} +1 -1
  256. package/dist/{send-BaSqjfd_.js → send-aXMPprv9.js} +1 -1
  257. package/dist/{send-_CmB6CKB.js → send-depbZ9aA.js} +1 -1
  258. package/dist/{send-llekTUks.js → send-nRhkxbqX.js} +1 -1
  259. package/dist/{send-CoSPwGiI.js → send-t_DoGd2Y.js} +1 -1
  260. package/dist/{send-Dn1Pirhx.js → send-zMHWALCW.js} +1 -1
  261. package/dist/{server-context-CGMSzPWd.js → server-context-BPuBLXYG.js} +5 -5
  262. package/dist/{server-context-BkYSrDni.js → server-context-DQIkGNj2.js} +5 -5
  263. package/dist/{server-methods-C-itThFa.js → server-methods-1TzYth88.js} +17 -17
  264. package/dist/{server-methods-P-ayY-6k.js → server-methods-DeIwhdBv.js} +16 -16
  265. package/dist/{server-node-events-tvNFkev2.js → server-node-events-CFMtnBFU.js} +28 -28
  266. package/dist/{server-node-events-D5ee96aZ.js → server-node-events-DF_ks0oa.js} +27 -27
  267. package/dist/{session-CifmyF9K.js → session-C4odFBc2.js} +1 -1
  268. package/dist/{session-bvybh7vL.js → session-CTTpxOx1.js} +1 -1
  269. package/dist/{session-CMploMg7.js → session-Cs58by4_.js} +1 -1
  270. package/dist/{session-DQimwuIx.js → session-d5_vMl76.js} +1 -1
  271. package/dist/{session-utils-DQ-t0PxQ.js → session-utils--1xVj2BC.js} +3 -3
  272. package/dist/{sessions-BIsirZy0.js → sessions-BikjOqQs.js} +3 -3
  273. package/dist/{sessions-BKn2DFYs.js → sessions-CVWGQEWu.js} +1 -1
  274. package/dist/{sessions-DCr5nAOw.js → sessions-CpDbQNFu.js} +1 -1
  275. package/dist/{shared-iaXjUnvo.js → shared-DHpMu95O.js} +1 -1
  276. package/dist/{shared-F4GNd-mC.js → shared-NCp143fJ.js} +1 -1
  277. package/dist/{skill-commands-CSF7Poen.js → skill-commands-QmLQo8Tj.js} +1 -1
  278. package/dist/{skills-XEbTRNYL.js → skills-D0hfZgFz.js} +1 -1
  279. package/dist/{skills-cli-BX1J5GLJ.js → skills-cli-6wYY0Xes.js} +1 -1
  280. package/dist/{skills-cli-CZgrqMPo.js → skills-cli-CkTThcTU.js} +1 -1
  281. package/dist/{status-BlTLrS6h.js → status-CvElSWg2.js} +2 -2
  282. package/dist/{status-CfIkReeE.js → status-CwZgLSfx.js} +10 -10
  283. package/dist/{status-DjvBeoYl.js → status-DEQAH4oA.js} +2 -2
  284. package/dist/{status-BqjF9Q9S.js → status-vO4-v0vI.js} +9 -9
  285. package/dist/{status.update-C5evp93A.js → status.update-BSaVYFQv.js} +1 -1
  286. package/dist/{status.update-BZnfRS2e.js → status.update-DoXJrRh6.js} +1 -1
  287. package/dist/{subagent-registry-DVYhalAo.js → subagent-registry-K1lQH7iR.js} +351 -48
  288. package/dist/{synthesis-y-Ozm8YK.js → synthesis-AYqn8_O8.js} +27 -27
  289. package/dist/{synthesis-DgiYnjmZ.js → synthesis-CZhOC8n4.js} +14 -14
  290. package/dist/{synthesis-DRXsTePq.js → synthesis-DazoL-DI.js} +26 -26
  291. package/dist/{synthesis-DDQ5zAtf.js → synthesis-DhxkkJq7.js} +16 -16
  292. package/dist/{system-cli-IeefTiI1.js → system-cli-BmccUOcE.js} +3 -3
  293. package/dist/{system-cli-hjvWuxnn.js → system-cli-DJIrqTFB.js} +3 -3
  294. package/dist/{systemd-hints-CW7G2Z_2.js → systemd-hints-BbqPFaZ2.js} +1 -1
  295. package/dist/{systemd-hints-CcsN2P1C.js → systemd-hints-CfnF9j3s.js} +1 -1
  296. package/dist/{tui-DulNash-.js → tui-Cc1L4YuN.js} +4 -4
  297. package/dist/{tui-ByDc_eA-.js → tui-D5we2kr7.js} +4 -4
  298. package/dist/{tui-cli-cbFjX5ua.js → tui-cli-BHBp8e8w.js} +9 -9
  299. package/dist/{tui-cli-D--Wucil.js → tui-cli-CmVmkEzr.js} +9 -9
  300. package/dist/{unified-runner-BRmPenSK.js → unified-runner-CavADnkK.js} +350 -47
  301. package/dist/{update-cli-BfvcUFky.js → update-cli-DPf2vrJK.js} +40 -40
  302. package/dist/{update-cli-5uhTWLns.js → update-cli-DmxFKAmJ.js} +38 -38
  303. package/dist/{update-runner-DyENgdTM.js → update-runner-D4UIv_1p.js} +1 -1
  304. package/dist/{update-runner-22u8HOoq.js → update-runner-XU-jPEg_.js} +1 -1
  305. package/dist/{web-s9NWpUYH.js → web-BBbVbRTg.js} +30 -30
  306. package/dist/{web-Dbe1DwOE.js → web-BJIv_6uQ.js} +17 -17
  307. package/dist/{web-CqeSgivQ.js → web-C-E-O8iP.js} +30 -30
  308. package/dist/{web-B8GaP73t.js → web-CIj8erCe.js} +19 -19
  309. package/dist/{webhooks-cli-9lyrT9S-.js → webhooks-cli-BPWIcZ4r.js} +1 -1
  310. package/dist/{webhooks-cli-C56QoA-d.js → webhooks-cli-DCw-yCzR.js} +1 -1
  311. package/dist/{whatsapp-actions-Dx8FkbIf.js → whatsapp-actions-B5o7eFIc.js} +2 -2
  312. package/dist/{whatsapp-actions-D5RBK0Cm.js → whatsapp-actions-CJkCiI_n.js} +2 -2
  313. package/dist/{whatsapp-actions-BV4mjN5j.js → whatsapp-actions-CkT3dnmD.js} +2 -2
  314. package/dist/{whatsapp-actions-BngdI8G3.js → whatsapp-actions-DRvUrapa.js} +2 -2
  315. package/dist/{with-timeout-7gwjaz5c.js → with-timeout-7M4c248g.js} +1 -1
  316. package/dist/{with-timeout-C1vsg3IF.js → with-timeout-BWETfI9T.js} +1 -1
  317. package/extensions/bluebubbles/package.json +1 -1
  318. package/extensions/copilot-proxy/package.json +1 -1
  319. package/extensions/diagnostics-otel/package.json +1 -1
  320. package/extensions/discord/package.json +1 -1
  321. package/extensions/feishu/package.json +1 -1
  322. package/extensions/google-antigravity-auth/package.json +1 -1
  323. package/extensions/google-gemini-cli-auth/package.json +1 -1
  324. package/extensions/googlechat/package.json +1 -1
  325. package/extensions/imessage/package.json +1 -1
  326. package/extensions/irc/package.json +1 -1
  327. package/extensions/learning-loop/package.json +1 -1
  328. package/extensions/line/package.json +1 -1
  329. package/extensions/llm-task/package.json +1 -1
  330. package/extensions/matrix/CHANGELOG.md +6 -0
  331. package/extensions/matrix/package.json +1 -1
  332. package/extensions/mattermost/package.json +1 -1
  333. package/extensions/memory-core/package.json +1 -1
  334. package/extensions/memory-lancedb/package.json +1 -1
  335. package/extensions/minimax-portal-auth/package.json +1 -1
  336. package/extensions/msteams/CHANGELOG.md +6 -0
  337. package/extensions/msteams/package.json +1 -1
  338. package/extensions/nextcloud-talk/package.json +1 -1
  339. package/extensions/nostr/CHANGELOG.md +6 -0
  340. package/extensions/nostr/package.json +1 -1
  341. package/extensions/open-prose/package.json +1 -1
  342. package/extensions/outlook/package.json +1 -1
  343. package/extensions/pipeline/package.json +1 -1
  344. package/extensions/signal/package.json +1 -1
  345. package/extensions/slack/package.json +1 -1
  346. package/extensions/telegram/package.json +1 -1
  347. package/extensions/tlon/package.json +1 -1
  348. package/extensions/twitch/CHANGELOG.md +6 -0
  349. package/extensions/twitch/package.json +1 -1
  350. package/extensions/voice-call/CHANGELOG.md +6 -0
  351. package/extensions/voice-call/package.json +1 -1
  352. package/extensions/whatsapp/package.json +1 -1
  353. package/extensions/zalo/CHANGELOG.md +6 -0
  354. package/extensions/zalo/package.json +1 -1
  355. package/extensions/zalouser/CHANGELOG.md +6 -0
  356. package/extensions/zalouser/package.json +1 -1
  357. package/package.json +1 -1
  358. package/skills/1password/SKILL.md +1 -0
  359. package/skills/apple-notes/SKILL.md +1 -0
  360. package/skills/apple-reminders/SKILL.md +1 -0
  361. package/skills/bear-notes/SKILL.md +1 -0
  362. package/skills/blogwatcher/SKILL.md +1 -0
  363. package/skills/blucli/SKILL.md +1 -0
  364. package/skills/bluebubbles/SKILL.md +1 -0
  365. package/skills/camsnap/SKILL.md +1 -0
  366. package/skills/canvas/SKILL.md +6 -0
  367. package/skills/coding-agent/SKILL.md +1 -0
  368. package/skills/connect-email/SKILL.md +1 -0
  369. package/skills/discord/SKILL.md +1 -0
  370. package/skills/eightctl/SKILL.md +1 -0
  371. package/skills/food-order/SKILL.md +1 -0
  372. package/skills/gemini/SKILL.md +1 -0
  373. package/skills/gh-issues/SKILL.md +1 -0
  374. package/skills/gifgrep/SKILL.md +1 -0
  375. package/skills/github/SKILL.md +1 -0
  376. package/skills/gog/SKILL.md +1 -0
  377. package/skills/goplaces/SKILL.md +1 -0
  378. package/skills/healthcheck/SKILL.md +1 -0
  379. package/skills/himalaya/SKILL.md +1 -0
  380. package/skills/imsg/SKILL.md +1 -0
  381. package/skills/long-task/SKILL.md +1 -0
  382. package/skills/mcporter/SKILL.md +1 -0
  383. package/skills/model-usage/SKILL.md +1 -0
  384. package/skills/nano-banana-pro/SKILL.md +1 -0
  385. package/skills/nano-pdf/SKILL.md +1 -0
  386. package/skills/notion/SKILL.md +1 -0
  387. package/skills/obsidian/SKILL.md +1 -0
  388. package/skills/openai-image-gen/SKILL.md +1 -0
  389. package/skills/openai-whisper/SKILL.md +1 -0
  390. package/skills/openai-whisper-api/SKILL.md +1 -0
  391. package/skills/openhue/SKILL.md +1 -0
  392. package/skills/oracle/SKILL.md +1 -0
  393. package/skills/ordercli/SKILL.md +1 -0
  394. package/skills/peekaboo/SKILL.md +1 -0
  395. package/skills/sag/SKILL.md +1 -0
  396. package/skills/session-logs/SKILL.md +1 -0
  397. package/skills/sherpa-onnx-tts/SKILL.md +1 -0
  398. package/skills/skill-creator/SKILL.md +1 -0
  399. package/skills/slack/SKILL.md +1 -0
  400. package/skills/songsee/SKILL.md +1 -0
  401. package/skills/sonoscli/SKILL.md +1 -0
  402. package/skills/spotify-player/SKILL.md +1 -0
  403. package/skills/summarize/SKILL.md +1 -0
  404. package/skills/symihub/SKILL.md +1 -0
  405. package/skills/things-mac/SKILL.md +1 -0
  406. package/skills/tmux/SKILL.md +1 -0
  407. package/skills/trello/SKILL.md +1 -0
  408. package/skills/video-frames/SKILL.md +1 -0
  409. package/skills/voice-call/SKILL.md +1 -0
  410. package/skills/wacli/SKILL.md +1 -0
  411. package/skills/weather/SKILL.md +1 -0
  412. package/skills/xurl/SKILL.md +1 -0
@@ -8,8 +8,8 @@ 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-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";
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-CF7BhO8B.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-Cf-PzD3r.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";
@@ -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-SRQweHTE.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-CJIEYVXL.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-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";
33
+ import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-DDpZS9jb.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-BAzimHH-.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-D9c_MNRa.js";
36
36
  import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-BHuV5t70.js";
37
37
  import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-CWMflosr.js";
38
- import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-DEfqC_kJ.js";
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-Cou8jVJ2.js";
38
+ import { c as getSkillsSnapshotVersion, d as resolvePairingPaths, f as createAsyncLock, i as resolveSkillCommandInvocation, l as generatePairingToken, m as writeJsonAtomic, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as readJsonFile, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as pruneExpiredPending } from "./skill-commands-C70yD9PL.js";
39
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DuQ-xGok.js";
40
+ import { M as isSecureWebSocketUrl, N as rawDataToString, T as DEFAULT_AI_SNAPSHOT_MAX_CHARS, x as ensureChromeExtensionRelayServer } from "./chrome-CdjVSHtz.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-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";
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-hjUeDZ7e.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-6EL59cK1.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-ChrcMCo_.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-CS95I-I5.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-Yvm-LGVR.js";
56
+ import { a as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, r as probeOllamaEmbeddingModels, t as MemoryIndexManager } from "./manager-DZ5-lr4s.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-DxXXcQ_o.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-BfqyNBU1.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-DD0EJRXx.js";
61
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-B4fizDsZ.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-Yvm-LGVR.js").then((n) => n.n);
11641
+ const { MemoryIndexManager } = await import("./manager-DZ5-lr4s.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-Yvm-LGVR.js").then((n) => n.n);
11654
+ const { MemoryIndexManager } = await import("./manager-DZ5-lr4s.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-OVx3XKTy.js").then((n) => n.n);
15656
+ const { deliverOutboundPayloads } = await import("./deliver-hjUeDZ7e.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-ChrcMCo_.js").then((n) => n.n);
18130
+ const { describeImageWithModel } = await import("./image-CS95I-I5.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-C87Q7LuN.js");
18541
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-B4dxH543.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-CwMsvdv8.js");
20696
+ const { transcribeFirstAudio } = await import("./audio-preflight-CoKYDdd4.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: {
@@ -34189,10 +34189,10 @@ async function prepareSessionManagerForRun(params) {
34189
34189
  //#endregion
34190
34190
  //#region src/agents/system-prompt-skills-autoload.ts
34191
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;
34192
+ let cachedPackageRoot$1;
34193
+ function getPackageRoot$1() {
34194
+ if (cachedPackageRoot$1 === void 0) cachedPackageRoot$1 = resolveSymiPackageRootSync({});
34195
+ return cachedPackageRoot$1;
34196
34196
  }
34197
34197
  function safeSkillName(name) {
34198
34198
  return /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/.test(name);
@@ -34221,7 +34221,7 @@ function buildAutoLoadedSkillsBlock(opts) {
34221
34221
  if (opts.minimalMode) return "";
34222
34222
  const names = opts.skillNames.filter((n) => typeof n === "string" && n.trim().length > 0);
34223
34223
  if (names.length === 0) return "";
34224
- const packageRoot = getPackageRoot();
34224
+ const packageRoot = getPackageRoot$1();
34225
34225
  const loaded = [];
34226
34226
  for (const rawName of names) {
34227
34227
  const name = rawName.trim();
@@ -34266,6 +34266,296 @@ function buildAutoLoadedSkillsBlock(opts) {
34266
34266
  ].join("\n");
34267
34267
  }
34268
34268
 
34269
+ //#endregion
34270
+ //#region src/agents/skills/triggers.ts
34271
+ const QUOTE_RE = /^["'`](.*)["'`]$/;
34272
+ const ARRAY_FORM_RE = /^\[(.*)\]$/s;
34273
+ function stripWrappingQuotes(s) {
34274
+ const m = s.trim().match(QUOTE_RE);
34275
+ return m ? m[1] : s.trim();
34276
+ }
34277
+ /** Parse a single trigger value, dropping empty / whitespace-only entries. */
34278
+ function cleanTrigger(raw) {
34279
+ const trimmed = stripWrappingQuotes(raw).toLowerCase();
34280
+ return trimmed.length > 0 ? trimmed : null;
34281
+ }
34282
+ /**
34283
+ * Parse the value of a `triggers:` frontmatter field into a string[].
34284
+ * Accepts both inline-array form `[a, b, "c d"]` and YAML-list form
34285
+ * (multiline with leading hyphens). Returns deduped lowercased trigger
34286
+ * strings, or empty array on unparseable / missing input.
34287
+ */
34288
+ function parseTriggersValue(raw) {
34289
+ if (typeof raw !== "string") return [];
34290
+ const trimmed = raw.trim();
34291
+ if (!trimmed) return [];
34292
+ const items = [];
34293
+ const arrayMatch = trimmed.match(ARRAY_FORM_RE);
34294
+ if (arrayMatch) {
34295
+ const inner = arrayMatch[1];
34296
+ let buf = "";
34297
+ let inQuote = null;
34298
+ for (const ch of inner) {
34299
+ if (inQuote) {
34300
+ if (ch === inQuote) inQuote = null;
34301
+ else buf += ch;
34302
+ continue;
34303
+ }
34304
+ if (ch === "\"" || ch === "'") {
34305
+ inQuote = ch;
34306
+ continue;
34307
+ }
34308
+ if (ch === ",") {
34309
+ const cleaned = cleanTrigger(buf);
34310
+ if (cleaned) items.push(cleaned);
34311
+ buf = "";
34312
+ continue;
34313
+ }
34314
+ buf += ch;
34315
+ }
34316
+ const cleaned = cleanTrigger(buf);
34317
+ if (cleaned) items.push(cleaned);
34318
+ } else for (const line of trimmed.split("\n")) {
34319
+ const ltrim = line.trimStart();
34320
+ if (ltrim.startsWith("- ")) {
34321
+ const cleaned = cleanTrigger(ltrim.slice(2));
34322
+ if (cleaned) items.push(cleaned);
34323
+ } else if (ltrim && !ltrim.startsWith("#")) {
34324
+ const cleaned = cleanTrigger(ltrim);
34325
+ if (cleaned) items.push(cleaned);
34326
+ }
34327
+ }
34328
+ const seen = /* @__PURE__ */ new Set();
34329
+ const out = [];
34330
+ for (const t of items) if (!seen.has(t)) {
34331
+ seen.add(t);
34332
+ out.push(t);
34333
+ }
34334
+ return out;
34335
+ }
34336
+ /**
34337
+ * Extract triggers from a parsed frontmatter record. Returns empty array
34338
+ * when the field is absent or unparseable.
34339
+ */
34340
+ function getSkillTriggers(frontmatter) {
34341
+ return parseTriggersValue(frontmatter.triggers);
34342
+ }
34343
+
34344
+ //#endregion
34345
+ //#region src/agents/tools/skill-search-tool.ts
34346
+ const SkillSearchToolSchema = Type.Object({
34347
+ query: Type.String({
34348
+ minLength: 1,
34349
+ description: "Intent description (2-8 words). Match by trigger keywords first, then description text."
34350
+ }),
34351
+ limit: Type.Optional(Type.Number({
34352
+ minimum: 1,
34353
+ maximum: 10,
34354
+ description: "Max results to return (default 5, capped at 10)."
34355
+ }))
34356
+ });
34357
+ const CACHE_TTL_MS = 6e4;
34358
+ const SAFE_NAME_RE = /^[a-zA-Z0-9_][a-zA-Z0-9._-]{0,59}$/;
34359
+ function loadSkillFromDir(dir, source) {
34360
+ const name = path.basename(dir);
34361
+ if (!SAFE_NAME_RE.test(name)) return null;
34362
+ const file = path.join(dir, "SKILL.md");
34363
+ let raw;
34364
+ try {
34365
+ if (!fs.statSync(file).isFile()) return null;
34366
+ raw = fs.readFileSync(file, "utf8");
34367
+ } catch {
34368
+ return null;
34369
+ }
34370
+ const fm = parseFrontmatterBlock(raw);
34371
+ return {
34372
+ name,
34373
+ description: (fm.description ?? "").trim(),
34374
+ path: file,
34375
+ triggers: getSkillTriggers(fm),
34376
+ source
34377
+ };
34378
+ }
34379
+ function listSkillDirs(root) {
34380
+ const skillsDir = path.join(root, "skills");
34381
+ let entries;
34382
+ try {
34383
+ entries = fs.readdirSync(skillsDir, { withFileTypes: true });
34384
+ } catch {
34385
+ return [];
34386
+ }
34387
+ return entries.filter((e) => e.isDirectory()).map((e) => path.join(skillsDir, e.name));
34388
+ }
34389
+ let cachedPackageRoot;
34390
+ const cachePerWorkspace = /* @__PURE__ */ new Map();
34391
+ function getPackageRoot() {
34392
+ if (cachedPackageRoot === void 0) cachedPackageRoot = resolveSymiPackageRootSync({});
34393
+ return cachedPackageRoot;
34394
+ }
34395
+ function loadAllSkills(workspaceDir) {
34396
+ const cacheKey = workspaceDir ?? "";
34397
+ const now = Date.now();
34398
+ const existing = cachePerWorkspace.get(cacheKey);
34399
+ if (existing && now - existing.loadedAt < CACHE_TTL_MS) return existing.skills;
34400
+ const seen = /* @__PURE__ */ new Map();
34401
+ if (workspaceDir) for (const dir of listSkillDirs(workspaceDir)) {
34402
+ const skill = loadSkillFromDir(dir, "workspace");
34403
+ if (skill && !seen.has(skill.name)) seen.set(skill.name, skill);
34404
+ }
34405
+ const packageRoot = getPackageRoot();
34406
+ if (packageRoot) for (const dir of listSkillDirs(packageRoot)) {
34407
+ const skill = loadSkillFromDir(dir, "bundled");
34408
+ if (skill && !seen.has(skill.name)) seen.set(skill.name, skill);
34409
+ }
34410
+ const skills = [...seen.values()];
34411
+ cachePerWorkspace.set(cacheKey, {
34412
+ skills,
34413
+ loadedAt: now
34414
+ });
34415
+ return skills;
34416
+ }
34417
+ const TOKEN_SPLIT_RE = /[^\w/]+/;
34418
+ function tokenizeQuery(raw) {
34419
+ return raw.toLowerCase().split(TOKEN_SPLIT_RE).filter((t) => t.length >= 2);
34420
+ }
34421
+ /**
34422
+ * Score a query against one skill's triggers + description.
34423
+ * - Trigger score: ratio of query tokens that appear in the trigger set.
34424
+ * - FTS score: 0.4 × ratio of query tokens that appear in the description
34425
+ * (case-insensitive substring match).
34426
+ * - Final = max(trigger, fts) so trigger matches always beat descriptions.
34427
+ * - Returns 0 for "no signal at all" (caller should drop these).
34428
+ */
34429
+ function scoreSkillMatch(skill, queryTokens) {
34430
+ if (queryTokens.length === 0) return 0;
34431
+ const triggerSet = new Set(skill.triggers.map((t) => t.toLowerCase()));
34432
+ const description = skill.description.toLowerCase();
34433
+ let triggerHits = 0;
34434
+ let ftsHits = 0;
34435
+ for (const token of queryTokens) if (triggerSet.has(token)) triggerHits += 1;
34436
+ else if (description.includes(token)) ftsHits += 1;
34437
+ const triggerScore = triggerHits / queryTokens.length;
34438
+ const ftsScore = ftsHits / queryTokens.length * .4;
34439
+ return Math.max(triggerScore, ftsScore);
34440
+ }
34441
+ /**
34442
+ * Pure-function search; exported for testing without going through the
34443
+ * tool execute wrapper.
34444
+ */
34445
+ function searchSkills(query, limit, workspaceDir) {
34446
+ const tokens = tokenizeQuery(query);
34447
+ if (tokens.length === 0) return [];
34448
+ const all = loadAllSkills(workspaceDir);
34449
+ const scored = [];
34450
+ for (const skill of all) {
34451
+ const score = scoreSkillMatch(skill, tokens);
34452
+ if (score > 0) scored.push({
34453
+ name: skill.name,
34454
+ description: skill.description,
34455
+ path: skill.path,
34456
+ score
34457
+ });
34458
+ }
34459
+ scored.sort((a, b) => b.score - a.score || a.name.localeCompare(b.name));
34460
+ return scored.slice(0, limit);
34461
+ }
34462
+ function createSkillSearchTool(opts) {
34463
+ return {
34464
+ name: "skill_search",
34465
+ label: "skill_search",
34466
+ description: "Find skills relevant to the current task. Returns matching skills with name/description/path; `read` the SKILL.md to apply. Call before non-trivial tool work — search by intent ('connect email', 'long task') not tool name.",
34467
+ parameters: SkillSearchToolSchema,
34468
+ execute: async (_toolCallId, args) => {
34469
+ const params = args;
34470
+ const query = typeof params.query === "string" ? params.query.trim() : "";
34471
+ if (!query) return jsonResult({
34472
+ ok: false,
34473
+ error: "skill_search requires a non-empty `query` string."
34474
+ });
34475
+ const limit = typeof params.limit === "number" && Number.isFinite(params.limit) ? Math.min(10, Math.max(1, Math.floor(params.limit))) : 5;
34476
+ try {
34477
+ return jsonResult({
34478
+ ok: true,
34479
+ query,
34480
+ matches: searchSkills(query, limit, opts?.workspaceDir)
34481
+ });
34482
+ } catch (err) {
34483
+ const message = err instanceof Error ? err.message : String(err);
34484
+ logWarn(`skill_search failed: ${message}`);
34485
+ return jsonResult({
34486
+ ok: false,
34487
+ error: message
34488
+ });
34489
+ }
34490
+ }
34491
+ };
34492
+ }
34493
+
34494
+ //#endregion
34495
+ //#region src/agents/system-prompt-skills-jit.ts
34496
+ const MAX_ANCHOR_DESCRIPTION_CHARS = 100;
34497
+ const MAX_AUTO_INJECT_RESULTS = 3;
34498
+ const MAX_AUTO_INJECT_TOTAL_CHARS = 600;
34499
+ /**
34500
+ * Build the anchor list block. Returns "" when no anchor list configured
34501
+ * or in preload mode (anchor list adds value only in jit/hybrid).
34502
+ */
34503
+ function buildAnchorListBlock(opts) {
34504
+ if (opts.minimalMode) return "";
34505
+ if (opts.discoveryMode !== "jit" && opts.discoveryMode !== "hybrid") return "";
34506
+ const names = (opts.anchorList ?? []).filter((n) => typeof n === "string" && n.trim().length > 0);
34507
+ if (names.length === 0) return "";
34508
+ const lines = [];
34509
+ for (const name of names) {
34510
+ const description = searchSkills(name, 1, opts.workspaceDir)[0]?.description.trim() ?? "";
34511
+ const truncated = description.length > MAX_ANCHOR_DESCRIPTION_CHARS ? `${description.slice(0, MAX_ANCHOR_DESCRIPTION_CHARS - 1)}…` : description;
34512
+ lines.push(truncated ? `- ${name}: ${truncated}` : `- ${name}`);
34513
+ }
34514
+ return [
34515
+ "",
34516
+ "## Anchor Skills",
34517
+ "These skills are always available. Read their SKILL.md via `read` if relevant. For full discovery use the `skill_search` tool.",
34518
+ lines.join("\n"),
34519
+ ""
34520
+ ].join("\n");
34521
+ }
34522
+ /**
34523
+ * Build the auto-injected matches block based on the user message triggers.
34524
+ * Returns "" when discoveryMode doesn't ask for it, no message available,
34525
+ * no matches found, or in minimal mode.
34526
+ */
34527
+ function buildAutoInjectBlock(opts) {
34528
+ if (opts.minimalMode) return "";
34529
+ if (opts.discoveryMode !== "jit" && opts.discoveryMode !== "hybrid") return "";
34530
+ const message = (opts.userMessage ?? "").trim();
34531
+ if (!message) return "";
34532
+ const matches = searchSkills(message, MAX_AUTO_INJECT_RESULTS, opts.workspaceDir);
34533
+ if (matches.length === 0) return "";
34534
+ const lines = [];
34535
+ let total = 0;
34536
+ for (const match of matches) {
34537
+ const description = match.description.trim();
34538
+ const truncated = description.length > MAX_ANCHOR_DESCRIPTION_CHARS ? `${description.slice(0, MAX_ANCHOR_DESCRIPTION_CHARS - 1)}…` : description;
34539
+ const skillRef = path.basename(path.dirname(match.path));
34540
+ const line = truncated ? `- ${skillRef}: ${truncated}` : `- ${skillRef}`;
34541
+ if (total + line.length > MAX_AUTO_INJECT_TOTAL_CHARS) break;
34542
+ lines.push(line);
34543
+ total += line.length + 1;
34544
+ }
34545
+ if (lines.length === 0) return "";
34546
+ return [
34547
+ "",
34548
+ "## Possibly Relevant Skills (auto-suggested for this request)",
34549
+ "These skills' triggers matched keywords in your message. Read the SKILL.md if it applies; otherwise ignore and proceed.",
34550
+ lines.join("\n"),
34551
+ ""
34552
+ ].join("\n");
34553
+ }
34554
+ /** Convenience: build both blocks concatenated. */
34555
+ function buildSkillsJitBlocks(opts) {
34556
+ return `${buildAnchorListBlock(opts)}${buildAutoInjectBlock(opts)}`;
34557
+ }
34558
+
34269
34559
  //#endregion
34270
34560
  //#region src/agents/tool-summaries.ts
34271
34561
  function buildToolSummaryMap(tools) {
@@ -34311,12 +34601,17 @@ function buildEmbeddedSystemPrompt(params) {
34311
34601
  });
34312
34602
  const promptMode = params.promptMode ?? "full";
34313
34603
  const isMinimal = promptMode === "minimal" || promptMode === "none";
34314
- const skillsBlock = buildAutoLoadedSkillsBlock({
34604
+ return `${corePrompt}${buildAutoLoadedSkillsBlock({
34315
34605
  skillNames: params.autoLoadInlineSkills ?? [],
34316
34606
  workspaceDir: params.workspaceDir,
34317
34607
  minimalMode: isMinimal
34318
- });
34319
- return skillsBlock ? `${corePrompt}${skillsBlock}` : corePrompt;
34608
+ })}${buildSkillsJitBlocks({
34609
+ discoveryMode: params.skillsDiscoveryMode,
34610
+ anchorList: params.skillsAnchorList,
34611
+ userMessage: params.currentUserMessage,
34612
+ workspaceDir: params.workspaceDir,
34613
+ minimalMode: isMinimal
34614
+ })}`;
34320
34615
  }
34321
34616
  function createSystemPromptOverride(systemPrompt) {
34322
34617
  const override = systemPrompt.trim();
@@ -35105,7 +35400,10 @@ async function runEmbeddedAttempt(params) {
35105
35400
  userTimeFormat,
35106
35401
  contextFiles,
35107
35402
  memoryCitationsMode: params.config?.memory?.citations,
35108
- autoLoadInlineSkills: params.config?.skills?.autoLoadInline
35403
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
35404
+ skillsDiscoveryMode: params.config?.skills?.discoveryMode,
35405
+ skillsAnchorList: params.config?.skills?.anchorList,
35406
+ currentUserMessage: params.prompt
35109
35407
  });
35110
35408
  const systemPromptReport = buildSystemPromptReport({
35111
35409
  source: "run",
@@ -36985,27 +37283,27 @@ async function runAgentTurn(params) {
36985
37283
  function createDefaultDeps() {
36986
37284
  return {
36987
37285
  sendMessageWhatsApp: async (...args) => {
36988
- const { sendMessageWhatsApp } = await import("./web-C3YuHiih.js");
37286
+ const { sendMessageWhatsApp } = await import("./web-7u3fdT2S.js");
36989
37287
  return await sendMessageWhatsApp(...args);
36990
37288
  },
36991
37289
  sendMessageTelegram: async (...args) => {
36992
- const { sendMessageTelegram } = await import("./send-Do_qdBr_.js").then((n) => n.l);
37290
+ const { sendMessageTelegram } = await import("./send-BAzimHH-.js").then((n) => n.l);
36993
37291
  return await sendMessageTelegram(...args);
36994
37292
  },
36995
37293
  sendMessageDiscord: async (...args) => {
36996
- const { sendMessageDiscord } = await import("./send-Cxr9NnOd.js").then((n) => n.t);
37294
+ const { sendMessageDiscord } = await import("./send-CF7BhO8B.js").then((n) => n.t);
36997
37295
  return await sendMessageDiscord(...args);
36998
37296
  },
36999
37297
  sendMessageSlack: async (...args) => {
37000
- const { sendMessageSlack } = await import("./send-Dd71o3sZ.js").then((n) => n.n);
37298
+ const { sendMessageSlack } = await import("./send-DDpZS9jb.js").then((n) => n.n);
37001
37299
  return await sendMessageSlack(...args);
37002
37300
  },
37003
37301
  sendMessageSignal: async (...args) => {
37004
- const { sendMessageSignal } = await import("./send-DxXXcQ_o.js").then((n) => n.i);
37302
+ const { sendMessageSignal } = await import("./send-BfqyNBU1.js").then((n) => n.i);
37005
37303
  return await sendMessageSignal(...args);
37006
37304
  },
37007
37305
  sendMessageIMessage: async (...args) => {
37008
- const { sendMessageIMessage } = await import("./send-SRQweHTE.js").then((n) => n.n);
37306
+ const { sendMessageIMessage } = await import("./send-CJIEYVXL.js").then((n) => n.n);
37009
37307
  return await sendMessageIMessage(...args);
37010
37308
  }
37011
37309
  };
@@ -47560,7 +47858,7 @@ async function registerSlackMonitorSlashCommands(params) {
47560
47858
  });
47561
47859
  const deliverSlashPayloads = async (replies) => {
47562
47860
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
47563
- import("./replies-DD0EJRXx.js").then((n) => n.r),
47861
+ import("./replies-B4fizDsZ.js").then((n) => n.r),
47564
47862
  import("./chunk-jvk9axTQ.js").then((n) => n.s),
47565
47863
  import("./markdown-tables-Dfaqilz6.js").then((n) => n.t)
47566
47864
  ]);
@@ -47615,7 +47913,7 @@ async function registerSlackMonitorSlashCommands(params) {
47615
47913
  let nativeCommands = [];
47616
47914
  if (nativeEnabled) {
47617
47915
  reg = await getCommandsRegistry();
47618
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DEfqC_kJ.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
47916
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-C70yD9PL.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
47619
47917
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
47620
47918
  skillCommands,
47621
47919
  provider: "slack"
@@ -52266,7 +52564,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
52266
52564
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
52267
52565
  let preflightTranscript;
52268
52566
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
52269
- const { transcribeFirstAudio } = await import("./audio-preflight-CwMsvdv8.js");
52567
+ const { transcribeFirstAudio } = await import("./audio-preflight-CoKYDdd4.js");
52270
52568
  preflightTranscript = await transcribeFirstAudio({
52271
52569
  ctx: {
52272
52570
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -54411,23 +54709,23 @@ let webLoginQrPromise = null;
54411
54709
  let webChannelPromise = null;
54412
54710
  let whatsappActionsPromise = null;
54413
54711
  function loadWebOutbound() {
54414
- webOutboundPromise ??= import("./outbound-T0XdUo-H.js").then((n) => n.t);
54712
+ webOutboundPromise ??= import("./outbound-D7yJKgEX.js").then((n) => n.t);
54415
54713
  return webOutboundPromise;
54416
54714
  }
54417
54715
  function loadWebLogin() {
54418
- webLoginPromise ??= import("./login-WuhOM4Dg.js").then((n) => n.n);
54716
+ webLoginPromise ??= import("./login-BhLw-aw1.js").then((n) => n.n);
54419
54717
  return webLoginPromise;
54420
54718
  }
54421
54719
  function loadWebLoginQr() {
54422
- webLoginQrPromise ??= import("./login-qr-C87Q7LuN.js");
54720
+ webLoginQrPromise ??= import("./login-qr-B4dxH543.js");
54423
54721
  return webLoginQrPromise;
54424
54722
  }
54425
54723
  function loadWebChannel() {
54426
- webChannelPromise ??= import("./web-C3YuHiih.js");
54724
+ webChannelPromise ??= import("./web-7u3fdT2S.js");
54427
54725
  return webChannelPromise;
54428
54726
  }
54429
54727
  function loadWhatsAppActions() {
54430
- whatsappActionsPromise ??= import("./whatsapp-actions-ClWxTG5S.js");
54728
+ whatsappActionsPromise ??= import("./whatsapp-actions-B_3do0s7.js");
54431
54729
  return whatsappActionsPromise;
54432
54730
  }
54433
54731
  function createPluginRuntime() {
@@ -70547,6 +70845,7 @@ function createSymiTools(options) {
70547
70845
  createCronTool({ agentSessionKey: options?.agentSessionKey }),
70548
70846
  createTaskListTool({ workspaceDir }),
70549
70847
  createTaskCancelTool({ workspaceDir }),
70848
+ createSkillSearchTool({ workspaceDir }),
70550
70849
  ...messageTool ? [messageTool] : [],
70551
70850
  createTtsTool({
70552
70851
  agentChannel: options?.agentChannel,
@@ -71294,7 +71593,10 @@ async function compactEmbeddedPiSessionDirect(params) {
71294
71593
  userTimeFormat,
71295
71594
  contextFiles,
71296
71595
  memoryCitationsMode: params.config?.memory?.citations,
71297
- autoLoadInlineSkills: params.config?.skills?.autoLoadInline
71596
+ autoLoadInlineSkills: params.config?.skills?.autoLoadInline,
71597
+ skillsDiscoveryMode: params.config?.skills?.discoveryMode,
71598
+ skillsAnchorList: params.config?.skills?.anchorList,
71599
+ currentUserMessage: void 0
71298
71600
  }));
71299
71601
  const sessionLock = await acquireSessionWriteLock({
71300
71602
  sessionFile: params.sessionFile,
@@ -79356,7 +79658,7 @@ async function deliverSessionMaintenanceWarning(params) {
79356
79658
  return;
79357
79659
  }
79358
79660
  try {
79359
- const { deliverOutboundPayloads } = await import("./deliver-OVx3XKTy.js").then((n) => n.n);
79661
+ const { deliverOutboundPayloads } = await import("./deliver-hjUeDZ7e.js").then((n) => n.n);
79360
79662
  await deliverOutboundPayloads({
79361
79663
  cfg: params.cfg,
79362
79664
  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-DQntj58u.js";
3
+ import { S as resolveIMessageAttachmentRoots, b as isInboundPathAllowed, n as loadConfig, x as mergeInboundPathRoots, y as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./config-Cf-PzD3r.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-ChrcMCo_.js";
9
+ import { t as describeImageWithModel, x as ensureSymiModelsJson } from "./image-CS95I-I5.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";