@visorcraft/idlehands 4.4.0 → 4.4.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 (256) hide show
  1. package/dist/{accounts-BDVs8LTu.js → accounts-B8cGzkjD.js} +1 -1
  2. package/dist/{accounts-Dk8mJIrQ.js → accounts-BQC_GRUB.js} +6 -6
  3. package/dist/{accounts-CIvVRRHb.js → accounts-D5tB_lO0.js} +1 -1
  4. package/dist/{agent-scope-DyP_tr7s.js → agent-scope-Bxq1eWbA.js} +4 -4
  5. package/dist/{agent-via-gateway-DvLTdMBj.js → agent-via-gateway-B82avysM.js} +1 -1
  6. package/dist/{agent-via-gateway-CPvgY5VA.js → agent-via-gateway-BLv_oSL5.js} +1 -1
  7. package/dist/{agent-via-gateway-OzQZlQpB.js → agent-via-gateway-BZBYIS74.js} +2 -2
  8. package/dist/{agent-via-gateway-CTti0dK7.js → agent-via-gateway-spHKNacF.js} +60 -60
  9. package/dist/{agents-BEuHL8Zr.js → agents-DFsifqti.js} +4 -4
  10. package/dist/{agents.config-BjMP6yqX.js → agents.config-B-HneNqt.js} +1 -1
  11. package/dist/{agents.config-BDQ4Bu0B.js → agents.config-LJG8mKGJ.js} +1 -1
  12. package/dist/{anton-Dwp3KlQs.js → anton-BHVfJEmp.js} +1 -1
  13. package/dist/{anton-C8SARtai.js → anton-CH-O1fKX.js} +5 -5
  14. package/dist/{anton-DCJl8crN.js → anton-DDY9C7_9.js} +1 -1
  15. package/dist/{anton-F-OwKPyb.js → anton-DYkdgFjS.js} +1 -1
  16. package/dist/{audio-preflight-DdYPJah_.js → audio-preflight-CwOVlM_o.js} +35 -35
  17. package/dist/{auth-choice-BHISFUGz.js → auth-choice-BwuBROMy.js} +1 -1
  18. package/dist/{auth-choice-Dam79K-y.js → auth-choice-tTRqUPHJ.js} +1 -1
  19. package/dist/{auth-store-DXT-l7fO.js → auth-store-Bb4aajHu.js} +12 -12
  20. package/dist/{banner-ascZEgmt.js → banner-DUYqUnZh.js} +1 -1
  21. package/dist/{bindings-D3b5Fmc9.js → bindings-CLZIJ0Eo.js} +2 -2
  22. package/dist/build-info.json +3 -3
  23. package/dist/bundled/boot-md/handler.js +60 -60
  24. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  25. package/dist/bundled/command-logger/handler.js +3 -3
  26. package/dist/bundled/session-memory/handler.js +60 -60
  27. package/dist/{plugin-sdk/channel-activity-loOg1DRw.js → channel-activity-DdL3RAv_.js} +3 -3
  28. package/dist/{channel-options-CAfv1NVr.js → channel-options-DgE4bKnZ.js} +1 -1
  29. package/dist/{channel-options-BdjtX9_O.js → channel-options-w859WR9f.js} +1 -1
  30. package/dist/{channel-web-BZe8v7Di.js → channel-web-6DakWPLw.js} +2 -2
  31. package/dist/{channel-web-B23k1s4A.js → channel-web-DRFHkK-t.js} +2 -2
  32. package/dist/{channels-cli-v8qMY1yM.js → channels-cli-3a9CzVGj.js} +7 -7
  33. package/dist/{channels-cli-Bfz9P0IR.js → channels-cli-DTM2c23f.js} +7 -7
  34. package/dist/{chrome-RZ6-DZcL.js → chrome-CrBtckYY.js} +17 -17
  35. package/dist/{chunk-CMpX7Jaz.js → chunk-Djk-9JeT.js} +1 -1
  36. package/dist/{cli-HkluaDt1.js → cli-BYiKVK4i.js} +2 -2
  37. package/dist/{cli-DyId4irC.js → cli-C7BI3Wn6.js} +2 -2
  38. package/dist/{command-registry-Bs5y1F2v.js → command-registry-BtbFeRGU.js} +10 -10
  39. package/dist/{commands-registry-C_zNi-Ou.js → commands-registry-Cy_UQS_3.js} +5 -5
  40. package/dist/{completion-cli-CGXtQf6t.js → completion-cli-BB2Y8nfx.js} +1 -1
  41. package/dist/{completion-cli-BmHAqqY4.js → completion-cli-BGz3hkuH.js} +2 -2
  42. package/dist/{config-cli-BdJDJv0a.js → config-cli-DOmnPiGC.js} +1 -1
  43. package/dist/{config-cli-CEehCZa0.js → config-cli-b1s6P-RG.js} +1 -1
  44. package/dist/{configure-C5087mSP.js → configure-BQsgmT59.js} +3 -3
  45. package/dist/{configure-C44gmCt3.js → configure-D4tLHdxZ.js} +3 -3
  46. package/dist/daemon-cli.js +6 -6
  47. package/dist/{deliver-BQeDhZSa.js → deliver-DReSDWa4.js} +20 -20
  48. package/dist/{deps-CchkM1ea.js → deps-1S6DoURA.js} +1 -1
  49. package/dist/{deps-SgroTRjf.js → deps-BZOU70bs.js} +1 -1
  50. package/dist/{deps-UTcCCmJ6.js → deps-D0XOoTym.js} +6 -6
  51. package/dist/{deps-CfQJK6WP.js → deps-D3ku734-.js} +1 -1
  52. package/dist/{diagnostic-4owMk4vH.js → diagnostic-BvlZ0Sot.js} +1 -1
  53. package/dist/{dock-BgOmHcbh.js → dock-ejUetwTC.js} +6 -6
  54. package/dist/{doctor-completion-DsaJMlSu.js → doctor-completion-BfAWZyFl.js} +1 -1
  55. package/dist/{doctor-completion-Cgl5S3K0.js → doctor-completion-DOFXmBLZ.js} +1 -1
  56. package/dist/{emergency-stop-B2KUQyt8.js → emergency-stop-3LJcS7w-.js} +2 -2
  57. package/dist/emergency-stop-BXmSbO38.js +113 -0
  58. package/dist/{emergency-stop-DjURYr3Z.js → emergency-stop-DXwma2EI.js} +2 -2
  59. package/dist/{emergency-stop-BCRW03p2.js → emergency-stop-Dpdosd7y.js} +2 -2
  60. package/dist/entry.js +1 -1
  61. package/dist/{env-B5G1qwGc.js → env-q-PhWbb_.js} +1 -1
  62. package/dist/{plugin-sdk/errors-CMcD8Lhh.js → errors-C4SHjIZK.js} +1 -1
  63. package/dist/extensionAPI.js +2 -2
  64. package/dist/{fetch-guard-iuQsIjqN.js → fetch-guard-CcfDZXe9.js} +1 -1
  65. package/dist/{frontmatter-BOudmHMS.js → frontmatter-pTUG4Sx_.js} +2 -2
  66. package/dist/{fs-safe-CYUaAFO9.js → fs-safe-2l05hI1Y.js} +2 -2
  67. package/dist/{gateway-cli-BmwR5tHy.js → gateway-cli-B2CLa9rg.js} +9 -9
  68. package/dist/{gateway-cli-Cx3sGYvO.js → gateway-cli-CzXEYocw.js} +9 -9
  69. package/dist/{gemini-auth-DwwgHLvI.js → gemini-auth-DnP8lfQK.js} +2 -2
  70. package/dist/{github-copilot-token-Dgt6cnsM.js → github-copilot-token-BjmEQcmi.js} +7 -7
  71. package/dist/{health-DXbufVL-.js → health-C2A5ilGU.js} +1 -1
  72. package/dist/{health-F0lUmHT3.js → health-Dn7CVhrN.js} +1 -1
  73. package/dist/{hooks-cli-6t3DpWin.js → hooks-cli-BxGuMBUi.js} +3 -3
  74. package/dist/{hooks-cli-CsWYWkar.js → hooks-cli-CT8pLj_8.js} +3 -3
  75. package/dist/{image-4HTajysw.js → image-DBhgEUm0.js} +6 -6
  76. package/dist/{image-ops-D1KtygWz.js → image-ops-J8P5zOFm.js} +1 -1
  77. package/dist/index.js +7 -7
  78. package/dist/{ir-B7IBoKLy.js → ir-BT5aAdU9.js} +5 -5
  79. package/dist/llm-slug-generator.js +60 -60
  80. package/dist/{local-roots-KN4Hp1yZ.js → local-roots-d4y0lvs2.js} +5 -5
  81. package/dist/{login-B8EuUm6R.js → login-CtL3gtbh.js} +6 -6
  82. package/dist/{login-qr-DS_9MrMo.js → login-qr-D090cMcd.js} +11 -11
  83. package/dist/{manager-CaFxh6F8.js → manager-1TS0xG0C.js} +15 -15
  84. package/dist/{markdown-tables-CzsockiZ.js → markdown-tables-R8VTpfE9.js} +1 -1
  85. package/dist/{message-channel-C8QtrwEU.js → message-channel-ZdI1-uUh.js} +1 -1
  86. package/dist/{model-selection-D5g8tXIY.js → model-selection-C5BhfuPa.js} +41 -41
  87. package/dist/{models-awPyoUpk.js → models-CGtrW3AC.js} +2 -2
  88. package/dist/{models-cli-D_PfTekq.js → models-cli-0TPj_c8R.js} +4 -4
  89. package/dist/{models-cli-CsA9GN5G.js → models-cli-BvUKtS_w.js} +3 -3
  90. package/dist/{npm-resolution-BKPKKKLt.js → npm-resolution-Anabxb6_.js} +1 -1
  91. package/dist/{npm-resolution-BpQ2o-Eh.js → npm-resolution-Ox7X74-Z.js} +1 -1
  92. package/dist/{onboard-C9KRYbrH.js → onboard-B3m0Seri.js} +2 -2
  93. package/dist/{onboard-BiT3YReS.js → onboard-DsqTjPex.js} +2 -2
  94. package/dist/{onboard-channels-C6b-o1TK.js → onboard-channels-14qYfbpr.js} +1 -1
  95. package/dist/{onboard-channels-_XLjSBKm.js → onboard-channels-DFXKCp3G.js} +1 -1
  96. package/dist/{onboarding-BfAhtIYl.js → onboarding-BJYyNWSX.js} +3 -3
  97. package/dist/{onboarding-By12Oyni.js → onboarding-nIZFJ6yX.js} +3 -3
  98. package/dist/{onboarding.finalize-yL217Gdr.js → onboarding.finalize-B1qxBzUX.js} +6 -6
  99. package/dist/{onboarding.finalize-CAgcobAs.js → onboarding.finalize-Bi1nDMyy.js} +7 -7
  100. package/dist/{outbound-Dq9yoBDJ.js → outbound-D3dHUVkO.js} +6 -6
  101. package/dist/{outbound-attachment-3I6GzwDe.js → outbound-attachment-IfeZJAKk.js} +2 -2
  102. package/dist/{path-alias-guards-Cu1nXNMM.js → path-alias-guards-BZmt6hFb.js} +1 -1
  103. package/dist/{paths-D_qUel1T.js → paths-D3p7ZvM6.js} +3 -3
  104. package/dist/{paths-BYNVLNi_.js → paths-DQpv9a3Q.js} +5 -5
  105. package/dist/{pi-embedded-BfPWx2YM.js → pi-embedded-D-vbVu50.js} +67 -37
  106. package/dist/{pi-embedded-helpers-DBkYJKhY.js → pi-embedded-helpers-BcRw0T_g.js} +24 -24
  107. package/dist/{pi-embedded-tWfE4dVB.js → pi-embedded-wUyn4Zjf.js} +235 -205
  108. package/dist/{pi-model-discovery-BMRRgVlz.js → pi-model-discovery-DMEzBdm5.js} +7 -7
  109. package/dist/{plugin-registry-ZgC7HA0z.js → plugin-registry-DHavGgu-.js} +1 -1
  110. package/dist/{plugin-registry-7DC8-ZZJ.js → plugin-registry-ReGTT2Qn.js} +1 -1
  111. package/dist/plugin-sdk/{accounts-CBVAw5_G.js → accounts-B9nfRzyn.js} +1 -1
  112. package/dist/plugin-sdk/{accounts-BLYMokxV.js → accounts-Kt6ygPsC.js} +2 -2
  113. package/dist/plugin-sdk/{accounts-C5tHm1UI.js → accounts-mjFAny5F.js} +1 -1
  114. package/dist/plugin-sdk/{agent-scope-jl80I5G9.js → agent-scope-CU41EMlR.js} +2 -2
  115. package/dist/plugin-sdk/{agent-via-gateway-C9v2r0O2.js → agent-via-gateway-BaZViUVq.js} +55 -55
  116. package/dist/plugin-sdk/agents/tool-stubs.d.ts +2 -1
  117. package/dist/plugin-sdk/{anton-7I_gkw4v.js → anton-y9DWQk_X.js} +4 -4
  118. package/dist/plugin-sdk/{api-key-rotation-BUIqfXnG.js → api-key-rotation-DPA6ftN7.js} +2 -2
  119. package/dist/plugin-sdk/{audio-preflight-URcQAxhH.js → audio-preflight-DL4zZ6SH.js} +30 -30
  120. package/dist/plugin-sdk/{auth-store-DaPWgQTx.js → auth-store-DycBvVqL.js} +1 -1
  121. package/dist/plugin-sdk/{bindings-xXgmJGxj.js → bindings-BDKKHGv-.js} +2 -2
  122. package/dist/{channel-activity-D_TMOGQ0.js → plugin-sdk/channel-activity-TcS_VfJk.js} +3 -3
  123. package/dist/plugin-sdk/{channel-web-B7qyJbrs.js → channel-web-CLQ55z3e.js} +24 -24
  124. package/dist/plugin-sdk/{chrome-CPVAOm0b.js → chrome-CaJve-Gp.js} +6 -6
  125. package/dist/plugin-sdk/{chunk-PW4MBmaN.js → chunk-DZr5xuqv.js} +1 -1
  126. package/dist/plugin-sdk/{commands-registry-DQCQbF8W.js → commands-registry-DWTMC5Bl.js} +5 -5
  127. package/dist/plugin-sdk/{config-04otsq-i.js → config-DXRuYZaI.js} +10 -10
  128. package/dist/plugin-sdk/{deliver-DfopPK17.js → deliver-DbtR2D87.js} +10 -10
  129. package/dist/plugin-sdk/{deps-Gj9jRY77.js → deps-DNbYvt5g.js} +6 -6
  130. package/dist/plugin-sdk/{diagnostic-ByA6zvzu.js → diagnostic-B8VzcqLf.js} +1 -1
  131. package/dist/plugin-sdk/{dock-DKQYtT6-.js → dock-CMURqoee.js} +6 -6
  132. package/dist/plugin-sdk/{emergency-stop-B7_VgSkO.js → emergency-stop-DQXrdDYX.js} +55 -55
  133. package/dist/plugin-sdk/{env-5XecRTLs.js → env-qurSiOO2.js} +1 -1
  134. package/dist/{errors-C_0nm4TJ.js → plugin-sdk/errors-UqLewZJL.js} +1 -1
  135. package/dist/plugin-sdk/{fetch-guard-DwdUEdmT.js → fetch-guard-C174s8ZV.js} +1 -1
  136. package/dist/plugin-sdk/{fs-safe-qsx2_8-o.js → fs-safe-CCXTOK7j.js} +2 -2
  137. package/dist/plugin-sdk/{image-B-gM6mxU.js → image-D-9PH0zg.js} +6 -6
  138. package/dist/plugin-sdk/{image-ops-CXSUo-AM.js → image-ops-BRYGGDwL.js} +1 -1
  139. package/dist/plugin-sdk/index.js +60 -60
  140. package/dist/plugin-sdk/{ir-kdDGpPMq.js → ir-Bv0Zbp2E.js} +5 -5
  141. package/dist/plugin-sdk/{local-roots-DjB6DYeI.js → local-roots-bHCsSVt_.js} +4 -4
  142. package/dist/plugin-sdk/{login-Bpe2s20d.js → login-B8HpBurd.js} +6 -6
  143. package/dist/plugin-sdk/{login-qr-C9ndp3tg.js → login-qr-DQnS-xlm.js} +8 -8
  144. package/dist/plugin-sdk/{manager-CBBlTnh3.js → manager-CKed0ZZE.js} +10 -10
  145. package/dist/plugin-sdk/{markdown-tables-Drtwd4J5.js → markdown-tables-DfUQHRZY.js} +1 -1
  146. package/dist/plugin-sdk/{message-channel-CQ0qkGHj.js → message-channel-DiMXmQeQ.js} +1 -1
  147. package/dist/plugin-sdk/{outbound-D6g6crrp.js → outbound-DNK06gip.js} +6 -6
  148. package/dist/plugin-sdk/{outbound-attachment-BisU5Vji.js → outbound-attachment-Bs7fNaqv.js} +2 -2
  149. package/dist/plugin-sdk/{path-alias-guards-C_uBEYb4.js → path-alias-guards-yyy61qHh.js} +1 -1
  150. package/dist/plugin-sdk/{pi-embedded-helpers-D48bhP-9.js → pi-embedded-helpers-BoeRlyoL.js} +16 -16
  151. package/dist/plugin-sdk/{pi-model-discovery-DCBTaRzI.js → pi-model-discovery-BLPN0Tzs.js} +1 -1
  152. package/dist/plugin-sdk/{plugins-NTjIvHYk.js → plugins-DRPlVBr_.js} +5 -5
  153. package/dist/plugin-sdk/{pw-ai-YGZXROMl.js → pw-ai-V3n0xLn-.js} +10 -10
  154. package/dist/plugin-sdk/{qmd-manager-juzrnopq.js → qmd-manager-BckPBwZX.js} +5 -5
  155. package/dist/plugin-sdk/{query-expansion-xBXvzdkL.js → query-expansion-CPqK-tTR.js} +2 -2
  156. package/dist/plugin-sdk/{redact-B6VQH3UQ.js → redact-Ub8sMBBC.js} +1 -1
  157. package/dist/plugin-sdk/{replies-DXdzWcMN.js → replies-CzsaFa8u.js} +3 -3
  158. package/dist/plugin-sdk/{reply-nvcQV3Q_.js → reply-DWcAkFIT.js} +151 -121
  159. package/dist/plugin-sdk/{reply-prefix--mxmTL7A.js → reply-prefix-BqV0o7_7.js} +1 -1
  160. package/dist/plugin-sdk/{resolve-outbound-target-CnUtsDch.js → resolve-outbound-target-DAdNGEqG.js} +2 -2
  161. package/dist/plugin-sdk/{resolve-route-BZABUE4J.js → resolve-route-C5mAwY-o.js} +3 -3
  162. package/dist/{retry-BeB9WenR.js → plugin-sdk/retry-2OVzZJMZ.js} +1 -1
  163. package/dist/plugin-sdk/{runner-C2xaoYAR.js → runner-C_iZbSwz.js} +10 -10
  164. package/dist/plugin-sdk/{send-CKQ89Lq9.js → send-BUYJmPie.js} +6 -6
  165. package/dist/plugin-sdk/{send-CFkuTXvq.js → send-BsxSmaWa.js} +7 -7
  166. package/dist/plugin-sdk/{send-BgTqMJLI.js → send-CBYbDScb.js} +10 -10
  167. package/dist/plugin-sdk/{send-dmYAtUT5.js → send-D-cZm1Y5.js} +7 -7
  168. package/dist/plugin-sdk/{send-CRhcec-_.js → send-Dt8bXHE8.js} +13 -13
  169. package/dist/plugin-sdk/{session-OpE6SSAs.js → session-C9uqVmuk.js} +3 -3
  170. package/dist/plugin-sdk/{sessions-CG-k8Acv.js → sessions-B4ApxPY1.js} +6 -6
  171. package/dist/plugin-sdk/{skill-commands-BHBpmuX9.js → skill-commands-B8suoqwn.js} +5 -5
  172. package/dist/plugin-sdk/{skills-33Wy6_4b.js → skills-Dl2nq6QI.js} +8 -8
  173. package/dist/plugin-sdk/{store-CCCXwngh.js → store-BI3rLJdW.js} +2 -2
  174. package/dist/plugin-sdk/{subsystem-DWPzKeZ0.js → subsystem-lJo9gqAK.js} +1 -1
  175. package/dist/plugin-sdk/{tables-CF9W23Rd.js → tables-C4X_nAUQ.js} +1 -1
  176. package/dist/plugin-sdk/{target-errors-DaH0qYtL.js → target-errors-CXh6e9ZE.js} +2 -2
  177. package/dist/plugin-sdk/{tokens-Y97UKh4C.js → tokens-CU9S3S7t.js} +1 -1
  178. package/dist/{tool-images-CcGZpzmq.js → plugin-sdk/tool-images-Cf9aWlVu.js} +2 -2
  179. package/dist/plugin-sdk/{tool-loop-detection-Cv8wyfAi.js → tool-loop-detection-DuwkSqZL.js} +2 -2
  180. package/dist/plugin-sdk/{utils-Dyj2wV4e.js → utils-dP-FpIgu.js} +2 -2
  181. package/dist/plugin-sdk/web-CNw6-P_B.js +71 -0
  182. package/dist/plugin-sdk/{whatsapp-actions-Cp6vXAA8.js → whatsapp-actions-CEAXpexT.js} +23 -23
  183. package/dist/{plugins-CRB60mCJ.js → plugins-DYr-HHj0.js} +10 -10
  184. package/dist/{plugins-cli-DACLE21S.js → plugins-cli-C13WMPnF.js} +3 -3
  185. package/dist/{plugins-cli-kePQvJ9L.js → plugins-cli-CO4FVaiO.js} +3 -3
  186. package/dist/{program-VV9u5uPU.js → program-B_vfCOU2.js} +8 -8
  187. package/dist/{program-context-j94K3IXR.js → program-context-BmSQ_Sf4.js} +18 -18
  188. package/dist/{prompt-select-styled-BSqCn36X.js → prompt-select-styled-B5ZwrfX0.js} +4 -4
  189. package/dist/{prompt-select-styled-BH51ROGD.js → prompt-select-styled-BC7OSZ1q.js} +4 -4
  190. package/dist/{provider-auth-helpers-BAB3PaaB.js → provider-auth-helpers-CDu8gosd.js} +1 -1
  191. package/dist/{provider-auth-helpers-DMSF8Mhq.js → provider-auth-helpers-D0A6E5jr.js} +1 -1
  192. package/dist/{push-apns-Cou7KeCj.js → push-apns-BofP21zS.js} +1 -1
  193. package/dist/{push-apns-CGUwMKT-.js → push-apns-Dc8RVDXC.js} +1 -1
  194. package/dist/{pw-ai-5GRjEp4v.js → pw-ai-D3GtQQoU.js} +13 -13
  195. package/dist/{qmd-manager-B_GgyQQ0.js → qmd-manager-BRvg3Rx2.js} +8 -8
  196. package/dist/{query-expansion-DEq020GG.js → query-expansion-DHuNyU-_.js} +5 -5
  197. package/dist/{redact-Bvpf-ATQ.js → redact-1Y0KPNtr.js} +1 -1
  198. package/dist/{register.agent-YCGBKv-d.js → register.agent-CMlS5uBQ.js} +9 -9
  199. package/dist/{register.agent-ColbJEk3.js → register.agent-CV7M3tu9.js} +8 -8
  200. package/dist/{register.configure-C5g7670Q.js → register.configure-BnNziB2G.js} +8 -8
  201. package/dist/{register.configure-CfUo6nvs.js → register.configure-CMB0aDJp.js} +8 -8
  202. package/dist/{register.maintenance-53FGiO0K.js → register.maintenance-BdWGNtkz.js} +8 -8
  203. package/dist/{register.maintenance-CBNoQia-.js → register.maintenance-X6asZwHw.js} +9 -9
  204. package/dist/{register.message-0nKlUSrH.js → register.message-BuggdGjG.js} +3 -3
  205. package/dist/{register.message-CaFp4DAP.js → register.message-DnOPNIGk.js} +3 -3
  206. package/dist/{register.onboard-B3NgvEwe.js → register.onboard-BDhpm8TD.js} +2 -2
  207. package/dist/{register.onboard-B9IJ3wUe.js → register.onboard-CHHu9Skd.js} +2 -2
  208. package/dist/{register.orchestrator-anton-Cxnh52UP.js → register.orchestrator-anton-B-tuZR0z.js} +2 -2
  209. package/dist/{register.orchestrator-anton-HIi6nBvo.js → register.orchestrator-anton-SlFmmH1n.js} +2 -2
  210. package/dist/{register.setup-y7C2w79N.js → register.setup-A8U_6S1I.js} +2 -2
  211. package/dist/{register.setup-DyxAeyO2.js → register.setup-D7mmwdPD.js} +2 -2
  212. package/dist/{register.status-health-sessions-5wREP3Tq.js → register.status-health-sessions-DVocz8ib.js} +4 -4
  213. package/dist/{register.status-health-sessions-DbzCxLhd.js → register.status-health-sessions-haba-O-6.js} +4 -4
  214. package/dist/{register.subclis-BEDdoF6M.js → register.subclis-B-zDlWeV.js} +9 -9
  215. package/dist/{replies-uBXwI7WM.js → replies-BxRl_2Nq.js} +3 -3
  216. package/dist/{reply-vDM22Gez.js → reply-7AXQ38dZ.js} +67 -37
  217. package/dist/{reply-prefix-BUgeSN2R.js → reply-prefix-DCljZiIB.js} +1 -1
  218. package/dist/{resolve-route-DuttYY7A.js → resolve-route-ClcifpKn.js} +4 -4
  219. package/dist/{plugin-sdk/retry-Bh7jveNm.js → retry-CG6cMRDQ.js} +1 -1
  220. package/dist/{run-main-BKjpcqq8.js → run-main-Cy6gYOh3.js} +15 -15
  221. package/dist/{runner-Cy6GWdoL.js → runner-BZBK277H.js} +11 -11
  222. package/dist/{send-Ce_lAnef.js → send-B7Fzlmlo.js} +7 -7
  223. package/dist/{send-BskvGZej.js → send-BGyVbnFP.js} +7 -7
  224. package/dist/{send-DvjrOg1z.js → send-DcN-QeVO.js} +6 -6
  225. package/dist/{send-rp8dzIy4.js → send-n1vT5TEb.js} +24 -24
  226. package/dist/{send-C4z2HAbE.js → send-qNmymshG.js} +10 -10
  227. package/dist/{server-node-events-B7IQ1nzZ.js → server-node-events-ChBhFPg3.js} +3 -3
  228. package/dist/{server-node-events-CraqSZJR.js → server-node-events-Dbr2WR-0.js} +3 -3
  229. package/dist/{session-BbwP0jac.js → session-BMqBZ_fq.js} +7 -7
  230. package/dist/{sessions-DA2oWrdb.js → sessions-BA3_G98W.js} +41 -41
  231. package/dist/{skill-commands-AySApC-2.js → skill-commands-DnTjl_m1.js} +9 -9
  232. package/dist/{skills-B3wf7ZnA.js → skills-DRGt1G_o.js} +22 -22
  233. package/dist/{status-ZUnD4Pgf.js → status-BompBfRg.js} +2 -2
  234. package/dist/{status-D9fTji6b.js → status-Cy7Zcfzv.js} +2 -2
  235. package/dist/{store-CvMgrKWx.js → store-D-ZicQeo.js} +2 -2
  236. package/dist/{subagent-registry-l7V3IoLe.js → subagent-registry-DDIoRVFV.js} +67 -37
  237. package/dist/{subsystem-tzu-rIAJ.js → subsystem-D7ZepYT1.js} +1 -1
  238. package/dist/{tables-5k-zOZ-s.js → tables-Co_R_WKs.js} +1 -1
  239. package/dist/{target-errors-BPfQrPim.js → target-errors-B1mcM4WR.js} +2 -2
  240. package/dist/{tokens-BRLyURxW.js → tokens-DGajj8M9.js} +1 -1
  241. package/dist/{plugin-sdk/tool-images-BMRkn_yk.js → tool-images-Duuqr4bN.js} +2 -2
  242. package/dist/{tool-loop-detection-BNGetx3Z.js → tool-loop-detection-CjWRg_4q.js} +3 -3
  243. package/dist/{update-cli-CMn89gww.js → update-cli-1s_O26hF.js} +8 -8
  244. package/dist/{update-cli-D02DhEE9.js → update-cli-DywvLvxF.js} +9 -9
  245. package/dist/{update-runner-C44em-38.js → update-runner-2yf_p333.js} +1 -1
  246. package/dist/{update-runner-BSsZSlwa.js → update-runner-DfTjwukX.js} +1 -1
  247. package/dist/{utils-CTFLl_ji.js → utils-D9wGoiU9.js} +18 -18
  248. package/dist/{web-CiVRDtta.js → web-59hB8x7z.js} +3 -3
  249. package/dist/{web-DLIXLq_L.js → web-C4vEw_Lp.js} +3 -3
  250. package/dist/{web-Dkl33QN0.js → web-DxQjSHSJ.js} +66 -66
  251. package/dist/{web-bCfwH31U.js → web-WBETd448.js} +3 -3
  252. package/dist/{whatsapp-actions-C_BWc4tJ.js → whatsapp-actions-DmI59VQd.js} +25 -25
  253. package/dist/{workspace-DBFSzT6O.js → workspace-tAtkoD_r.js} +18 -18
  254. package/package.json +1 -1
  255. package/dist/emergency-stop-CjVqAFw-.js +0 -113
  256. package/dist/plugin-sdk/web-BzOC1x6m.js +0 -71
@@ -1,78 +1,78 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { S as resolveThreadParentSessionKey, _ as getSubagentDepth, b as isSubagentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as deriveSessionChatType, h as isBlockedObjectKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-47BV2tLd.js";
3
- import { i as resolveWhatsAppAccount, t as hasAnyWhatsAppAuth } from "./accounts-BLYMokxV.js";
3
+ import { i as resolveWhatsAppAccount, t as hasAnyWhatsAppAuth } from "./accounts-Kt6ygPsC.js";
4
4
  import { d as resolveStateDir, f as expandHomePrefix, i as resolveConfigPath, m as resolveRequiredHomeDir, n as STATE_DIR, s as resolveGatewayPort } from "./paths-CtGV5i8O.js";
5
5
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CY2euW0d.js";
6
- import { $t as resolveDefaultModelForAgent, At as unwrapKnownShellMultiplexerInvocation, Bn as VERSION, Bt as resolveSlackStreamingMode, C as resolveIMessageAttachmentRoots, Cn as resolveApiKeyForProfile, Ct as matchAllowlist, Dn as ensureAuthProfileStore, Dt as isDispatchWrapperExecutable, En as markAuthProfileGood, Et as extractShellWrapperInlineCommand, Fn as normalizeSecretInput, Ft as applyMergePatch, G as isAvatarHttpUrl, Gt as buildConfiguredAllowlistKeys, Hn as resolveShellEnvFallbackTimeoutMs, Ht as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, In as splitTrailingAuthProfile, It as isSafeExecutableValue, J as validateJsonSchemaValue, Jt as isCliProvider, K as isPathWithinRoot, Kt as buildModelAliasIndex, Ln as DEFAULT_CONTEXT_TOKENS, Lt as mapStreamingModeToSlackLegacyDraftStreamMode, Mt as SAFE_BIN_PROFILES, Nt as normalizeSafeBinProfileFixtures, On as resolveAuthStorePathForDisplay, Ot as isShellWrapperExecutable, Pn as resolveAuthProfileDisplayLabel, Pt as resolveSafeBinProfiles, Q as safeStatSync, Qt as resolveConfiguredModelRef, Rn as DEFAULT_MODEL, Rt as resolveDiscordPreviewStreamMode, Sn as resolveProfilesUnavailableReason, St as DEFAULT_SAFE_BINS, T as normalizeScpRemoteHost, Tn as listProfilesForProvider, Tt as resolveCommandResolutionFromArgv, U as AVATAR_MAX_BYTES, Un as isDangerousHostEnvVarName, Ut as resolveAgentMaxConcurrent, V as parseDurationMs, Vn as getShellPathFromLoginShell, W as isAvatarDataUrl, Wn as resolveOwnerDisplaySetting, Wt as buildAllowedModelSet, X as discoverIdleHandsPlugins, Xt as normalizeModelRef$2, Y as loadPluginManifestRegistry, Yt as modelKey, Z as isPathInside, Zt as normalizeProviderId, _ as TELEGRAM_COMMAND_NAME_PATTERN, _n as resolveAuthProfileOrder, _t as validateSafeBinArgv, at as getConfigOverrides, bn as markAuthProfileFailure, bt as isWindowsPlatform, c as validateConfigObjectWithPlugins, cn as OLLAMA_NATIVE_BASE_URL, ct as unsetConfigOverride, dn as getCustomProviderApiKey, dt as setConfigValueAtPath, en as resolveModelRefFromString, et as MANIFEST_KEY, fn as requireApiKey, ft as unsetConfigValueAtPath, gt as normalizeTrustedSafeBinDirs, hn as resolveModelAuthMode, ht as listWritableExplicitTrustedSafeBinDirs, i as readConfigFileSnapshot, it as resolveMemorySlotDecision, jn as withFileLock, jt as splitShellArgs, kn as resolveIdleHandsAgentDir, kt as unwrapKnownDispatchWrapperInvocation, ln as createOllamaStreamFn, lt as getConfigValueAtPath, mn as resolveEnvApiKey, mt as isTrustedSafeBinPath, nn as resolveSubagentSpawnModelSelection, nt as normalizePluginsConfig, o as resolveConfigSnapshotHash, ot as resetConfigOverrides, pn as resolveApiKeyForProvider, pt as getTrustedSafeBinDirs, q as isSupportedLocalAvatarExtension, qt as findNormalizedProviderValue, r as loadConfig, rn as resolveThinkingDefault, rt as resolveEffectiveEnableState, s as writeConfigFile, st as setConfigOverride, tn as resolveReasoningDefault, tt as applyTestPluginDefaults, un as getApiKeyForModel, ut as parseConfigPath, v as normalizeTelegramCommandName, vn as getSoonestCooldownExpiry, vt as analyzeShellCommand, w as resolveIMessageRemoteAttachmentRoots, wn as dedupeProfileIds, wt as resolveAllowlistCandidatePath, x as isInboundPathAllowed, xn as markAuthProfileUsed, xt as splitCommandChain, y as resolveTelegramCustomCommands, yn as isProfileInCooldown, yt as buildEnforcedShellCommand, zn as DEFAULT_PROVIDER, zt as resolveSlackNativeStreaming } from "./config-04otsq-i.js";
7
- import { A as shouldLogVerbose, C as isPlainObject, D as logVerbose, F as theme, G as normalizeLogLevel, I as getChildLogger, M as warn, N as colorize, P as isRich, S as truncateUtf16Safe, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, k as setVerbose, o as escapeRegExp, q as resolvePreferredIdleHandsTmpDir, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, w as danger, y as sleep$1 } from "./utils-Dyj2wV4e.js";
8
- import { S as triggerInternalHook, _ as executePluginCommand, a as getChatChannelMeta, b as matchPluginCommand, c as normalizeChannelId$1, d as getActivePluginRegistryKey, f as requireActivePluginRegistry, g as clearPluginCommands, h as normalizePluginHttpPath, i as CHAT_CHANNEL_ORDER, l as normalizeChatChannelId, m as createPluginRegistry, o as listChatChannels, p as setActivePluginRegistry, s as normalizeAnyChannelId, t as createSubsystemLogger, u as getActivePluginRegistry, v as getPluginCommandSpecs, x as createInternalHookEvent, y as listPluginCommands } from "./subsystem-DWPzKeZ0.js";
6
+ import { $t as resolveDefaultModelForAgent, At as unwrapKnownShellMultiplexerInvocation, Bn as VERSION, Bt as resolveSlackStreamingMode, C as resolveIMessageAttachmentRoots, Cn as resolveApiKeyForProfile, Ct as matchAllowlist, Dn as ensureAuthProfileStore, Dt as isDispatchWrapperExecutable, En as markAuthProfileGood, Et as extractShellWrapperInlineCommand, Fn as normalizeSecretInput, Ft as applyMergePatch, G as isAvatarHttpUrl, Gt as buildConfiguredAllowlistKeys, Hn as resolveShellEnvFallbackTimeoutMs, Ht as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, In as splitTrailingAuthProfile, It as isSafeExecutableValue, J as validateJsonSchemaValue, Jt as isCliProvider, K as isPathWithinRoot, Kt as buildModelAliasIndex, Ln as DEFAULT_CONTEXT_TOKENS, Lt as mapStreamingModeToSlackLegacyDraftStreamMode, Mt as SAFE_BIN_PROFILES, Nt as normalizeSafeBinProfileFixtures, On as resolveAuthStorePathForDisplay, Ot as isShellWrapperExecutable, Pn as resolveAuthProfileDisplayLabel, Pt as resolveSafeBinProfiles, Q as safeStatSync, Qt as resolveConfiguredModelRef, Rn as DEFAULT_MODEL, Rt as resolveDiscordPreviewStreamMode, Sn as resolveProfilesUnavailableReason, St as DEFAULT_SAFE_BINS, T as normalizeScpRemoteHost, Tn as listProfilesForProvider, Tt as resolveCommandResolutionFromArgv, U as AVATAR_MAX_BYTES, Un as isDangerousHostEnvVarName, Ut as resolveAgentMaxConcurrent, V as parseDurationMs, Vn as getShellPathFromLoginShell, W as isAvatarDataUrl, Wn as resolveOwnerDisplaySetting, Wt as buildAllowedModelSet, X as discoverIdleHandsPlugins, Xt as normalizeModelRef$2, Y as loadPluginManifestRegistry, Yt as modelKey, Z as isPathInside, Zt as normalizeProviderId, _ as TELEGRAM_COMMAND_NAME_PATTERN, _n as resolveAuthProfileOrder, _t as validateSafeBinArgv, at as getConfigOverrides, bn as markAuthProfileFailure, bt as isWindowsPlatform, c as validateConfigObjectWithPlugins, cn as OLLAMA_NATIVE_BASE_URL, ct as unsetConfigOverride, dn as getCustomProviderApiKey, dt as setConfigValueAtPath, en as resolveModelRefFromString, et as MANIFEST_KEY, fn as requireApiKey, ft as unsetConfigValueAtPath, gt as normalizeTrustedSafeBinDirs, hn as resolveModelAuthMode, ht as listWritableExplicitTrustedSafeBinDirs, i as readConfigFileSnapshot, it as resolveMemorySlotDecision, jn as withFileLock, jt as splitShellArgs, kn as resolveIdleHandsAgentDir, kt as unwrapKnownDispatchWrapperInvocation, ln as createOllamaStreamFn, lt as getConfigValueAtPath, mn as resolveEnvApiKey, mt as isTrustedSafeBinPath, nn as resolveSubagentSpawnModelSelection, nt as normalizePluginsConfig, o as resolveConfigSnapshotHash, ot as resetConfigOverrides, pn as resolveApiKeyForProvider, pt as getTrustedSafeBinDirs, q as isSupportedLocalAvatarExtension, qt as findNormalizedProviderValue, r as loadConfig, rn as resolveThinkingDefault, rt as resolveEffectiveEnableState, s as writeConfigFile, st as setConfigOverride, tn as resolveReasoningDefault, tt as applyTestPluginDefaults, un as getApiKeyForModel, ut as parseConfigPath, v as normalizeTelegramCommandName, vn as getSoonestCooldownExpiry, vt as analyzeShellCommand, w as resolveIMessageRemoteAttachmentRoots, wn as dedupeProfileIds, wt as resolveAllowlistCandidatePath, x as isInboundPathAllowed, xn as markAuthProfileUsed, xt as splitCommandChain, y as resolveTelegramCustomCommands, yn as isProfileInCooldown, yt as buildEnforcedShellCommand, zn as DEFAULT_PROVIDER, zt as resolveSlackNativeStreaming } from "./config-DXRuYZaI.js";
7
+ import { A as shouldLogVerbose, C as isPlainObject, D as logVerbose, F as theme, G as normalizeLogLevel, I as getChildLogger, M as warn, N as colorize, P as isRich, S as truncateUtf16Safe, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, k as setVerbose, o as escapeRegExp, q as resolvePreferredIdleHandsTmpDir, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, w as danger, y as sleep$1 } from "./utils-dP-FpIgu.js";
8
+ import { S as triggerInternalHook, _ as executePluginCommand, a as getChatChannelMeta, b as matchPluginCommand, c as normalizeChannelId$1, d as getActivePluginRegistryKey, f as requireActivePluginRegistry, g as clearPluginCommands, h as normalizePluginHttpPath, i as CHAT_CHANNEL_ORDER, l as normalizeChatChannelId, m as createPluginRegistry, o as listChatChannels, p as setActivePluginRegistry, s as normalizeAnyChannelId, t as createSubsystemLogger, u as getActivePluginRegistry, v as getPluginCommandSpecs, x as createInternalHookEvent, y as listPluginCommands } from "./subsystem-lJo9gqAK.js";
9
9
  import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as defaultRuntime, o as unregisterActiveProgressLine, t as createNonExitingRuntime } from "./runtime-CjfcfOBD.js";
10
- import { n as parseBooleanValue$1, t as isTruthyEnvValue } from "./env-5XecRTLs.js";
11
- import { A as logError, C as loadWorkspaceBootstrapFiles, D as runExec, E as runCommandWithTimeout, F as openBoundaryFileSync, G as resolveAgentModelPrimaryValue, K as toAgentModelListLike, M as logWarn, O as spawnWithFallback, P as openBoundaryFile, S as filterBootstrapFilesForSession, W as resolveAgentModelFallbackValues, _ as DEFAULT_IDENTITY_FILENAME, c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, j as logInfo, k as logDebug, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride, w as resolveIdleHandsPackageRoot, x as ensureAgentWorkspace } from "./agent-scope-jl80I5G9.js";
10
+ import { n as parseBooleanValue$1, t as isTruthyEnvValue } from "./env-qurSiOO2.js";
11
+ import { A as logError, C as loadWorkspaceBootstrapFiles, D as runExec, E as runCommandWithTimeout, F as openBoundaryFileSync, G as resolveAgentModelPrimaryValue, K as toAgentModelListLike, M as logWarn, O as spawnWithFallback, P as openBoundaryFile, S as filterBootstrapFilesForSession, W as resolveAgentModelFallbackValues, _ as DEFAULT_IDENTITY_FILENAME, c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, j as logInfo, k as logDebug, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride, w as resolveIdleHandsPackageRoot, x as ensureAgentWorkspace } from "./agent-scope-CU41EMlR.js";
12
12
  import { n as resolveCliName, t as formatCliCommand } from "./command-format-DRnDl0ar.js";
13
13
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-DgAhR-xE.js";
14
- import { D as resolveChannelGroupPolicy, M as normalizeHyphenSlug, N as normalizeStringEntries, O as resolveChannelGroupRequireMention, P as normalizeStringEntriesLower, d as normalizeSignalMessagingTarget, j as normalizeAtHashSlug, k as resolveChannelGroupToolsPolicy, n as listChannelDocks, t as getChannelDock } from "./dock-DKQYtT6-.js";
15
- import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-CQ0qkGHj.js";
16
- import { A as normalizeInputProvenance, B as mergeSessionEntry, C as capArrayByJsonBytes, D as INPUT_PROVENANCE_KIND_VALUES, E as parseInlineDirectives$1, F as resolveChannelResetConfig, G as resolveExplicitAgentSessionKey, H as setSessionRuntimeModel, I as resolveSessionResetPolicy, J as resolveGroupSessionKey, K as resolveMainSessionKey, L as resolveSessionResetType, M as resolveSessionLockMaxHoldFromTimeout, N as resolveSessionKey, O as applyInputProvenanceToUserMessage, P as evaluateSessionFreshness, R as resolveThreadFlag, S as archiveSessionTranscripts, T as extractToolCallNames, U as canonicalizeMainSessionAlias, V as resolveFreshSessionTotalTokens, _ as deliveryContextKey, b as normalizeSessionDeliveryFields, c as readSessionUpdatedAt, d as updateLastRoute, f as updateSessionStore, g as deliveryContextFromSession, h as resolveCacheTtlMs$1, i as appendAssistantMessageToSessionTranscript, j as acquireSessionWriteLock, k as hasInterSessionUserProvenance, l as recordSessionMetaFromInbound, m as isCacheEnabled, n as extractDeliveryInfo, o as resolveAndPersistSessionFile, p as updateSessionStoreEntry, q as deriveSessionMetaPatch, r as parseSessionThreadInfo, s as loadSessionStore, v as mergeDeliveryContext, w as countToolResults, x as normalizeAccountId$3, y as normalizeDeliveryContext, z as DEFAULT_RESET_TRIGGERS } from "./sessions-CG-k8Acv.js";
14
+ import { D as resolveChannelGroupPolicy, M as normalizeHyphenSlug, N as normalizeStringEntries, O as resolveChannelGroupRequireMention, P as normalizeStringEntriesLower, d as normalizeSignalMessagingTarget, j as normalizeAtHashSlug, k as resolveChannelGroupToolsPolicy, n as listChannelDocks, t as getChannelDock } from "./dock-CMURqoee.js";
15
+ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-DiMXmQeQ.js";
16
+ import { A as normalizeInputProvenance, B as mergeSessionEntry, C as capArrayByJsonBytes, D as INPUT_PROVENANCE_KIND_VALUES, E as parseInlineDirectives$1, F as resolveChannelResetConfig, G as resolveExplicitAgentSessionKey, H as setSessionRuntimeModel, I as resolveSessionResetPolicy, J as resolveGroupSessionKey, K as resolveMainSessionKey, L as resolveSessionResetType, M as resolveSessionLockMaxHoldFromTimeout, N as resolveSessionKey, O as applyInputProvenanceToUserMessage, P as evaluateSessionFreshness, R as resolveThreadFlag, S as archiveSessionTranscripts, T as extractToolCallNames, U as canonicalizeMainSessionAlias, V as resolveFreshSessionTotalTokens, _ as deliveryContextKey, b as normalizeSessionDeliveryFields, c as readSessionUpdatedAt, d as updateLastRoute, f as updateSessionStore, g as deliveryContextFromSession, h as resolveCacheTtlMs$1, i as appendAssistantMessageToSessionTranscript, j as acquireSessionWriteLock, k as hasInterSessionUserProvenance, l as recordSessionMetaFromInbound, m as isCacheEnabled, n as extractDeliveryInfo, o as resolveAndPersistSessionFile, p as updateSessionStoreEntry, q as deriveSessionMetaPatch, r as parseSessionThreadInfo, s as loadSessionStore, v as mergeDeliveryContext, w as countToolResults, x as normalizeAccountId$3, y as normalizeDeliveryContext, z as DEFAULT_RESET_TRIGGERS } from "./sessions-B4ApxPY1.js";
17
17
  import { t as normalizeChatType } from "./chat-type-t7Wyry0R.js";
18
18
  import { n as resolveConversationLabel } from "./conversation-label-C3GZ0Hvg.js";
19
19
  import { t as resolveAccountEntry } from "./account-lookup-DlMshWZ_.js";
20
- import { B as resolveDiscordAccount, C as createTelegramActionGate, D as resolveTelegramAccount, F as resolveSlackBotToken, I as createDiscordActionGate, M as resolveSlackAccount, O as resolveTelegramToken, P as resolveSlackAppToken, R as listEnabledDiscordAccounts, S as normalizeWhatsAppTarget, T as listTelegramAccountIds, V as normalizeDiscordToken, h as resolveSlackChannelId, m as parseSlackTarget, n as listChannelPlugins, r as normalizeChannelId$2, t as getChannelPlugin, w as listEnabledTelegramAccounts, x as isWhatsAppGroupJid } from "./plugins-NTjIvHYk.js";
21
- import { r as resolveIMessageAccount } from "./accounts-CBVAw5_G.js";
22
- import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-C5tHm1UI.js";
23
- import { t as buildChannelAccountBindings } from "./bindings-xXgmJGxj.js";
24
- import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-DaPWgQTx.js";
25
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, kt as resolveChannelEntryMatchWithFallback, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-BgTqMJLI.js";
20
+ import { B as resolveDiscordAccount, C as createTelegramActionGate, D as resolveTelegramAccount, F as resolveSlackBotToken, I as createDiscordActionGate, M as resolveSlackAccount, O as resolveTelegramToken, P as resolveSlackAppToken, R as listEnabledDiscordAccounts, S as normalizeWhatsAppTarget, T as listTelegramAccountIds, V as normalizeDiscordToken, h as resolveSlackChannelId, m as parseSlackTarget, n as listChannelPlugins, r as normalizeChannelId$2, t as getChannelPlugin, w as listEnabledTelegramAccounts, x as isWhatsAppGroupJid } from "./plugins-DRPlVBr_.js";
21
+ import { r as resolveIMessageAccount } from "./accounts-B9nfRzyn.js";
22
+ import { i as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-mjFAny5F.js";
23
+ import { t as buildChannelAccountBindings } from "./bindings-BDKKHGv-.js";
24
+ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-DycBvVqL.js";
25
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, kt as resolveChannelEntryMatchWithFallback, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-CBYbDScb.js";
26
26
  import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, u as resolveStorePath } from "./paths-CSpzSLh8.js";
27
27
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-ChU6IQwp.js";
28
28
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DwpMsAKA.js";
29
29
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bdjb7Pke.js";
30
- import { n as retryAsync } from "./retry-Bh7jveNm.js";
31
- import { r as compileSafeRegex, t as redactSensitiveText } from "./redact-B6VQH3UQ.js";
32
- import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CMcD8Lhh.js";
33
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-loOg1DRw.js";
30
+ import { n as retryAsync } from "./retry-2OVzZJMZ.js";
31
+ import { r as compileSafeRegex, t as redactSensitiveText } from "./redact-Ub8sMBBC.js";
32
+ import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-UqLewZJL.js";
33
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-TcS_VfJk.js";
34
34
  import { n as normalizePollInput } from "./polls-CFdM6_bj.js";
35
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-C_uBEYb4.js";
36
- import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-qsx2_8-o.js";
37
- 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-CXSUo-AM.js";
35
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-yyy61qHh.js";
36
+ import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CCXTOK7j.js";
37
+ 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-BRYGGDwL.js";
38
38
  import { a as isBlockedHostnameOrIp, c as normalizeHostname, t as SsrFBlockedError } from "./ssrf-C3kIyB5u.js";
39
- import { t as fetchWithSsrFGuard } from "./fetch-guard-DwdUEdmT.js";
40
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-DjB6DYeI.js";
41
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-kdDGpPMq.js";
42
- import { a as chunkText, c as resolveChunkMode, d as findFenceSpanAt, f as isSafeFenceBreak, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, p as parseFenceSpans, r as chunkMarkdownText, t as chunkByNewline } from "./chunk-PW4MBmaN.js";
43
- import { n as resolveMarkdownTableMode } from "./markdown-tables-Drtwd4J5.js";
44
- import { t as convertMarkdownTables } from "./tables-CF9W23Rd.js";
45
- 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-dmYAtUT5.js";
46
- import { $ as readChannelAllowFromStore, A as hasBotMention, B as normalizeDmAllowFromWithStore$1, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as parseTelegramTarget, H as withTelegramApiErrorLogging, I as resolveTelegramStreamMode, J as toLocationContext, K as resolveTelegramTargetChatType, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as addChannelAllowFromStoreEntry, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as isVoiceCompatibleAudio, V as resolveSenderAllowMatch, _ as resolveTelegramFetch, a as reactMessageTelegram, at as getPairingAdapter, b as buildSenderLabel, c as sendStickerTelegram, ct as isSenderIdAllowed, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, it as writeJsonFileAtomically, j as normalizeForwardedContext, k as extractTelegramLocation, lt as mergeDmAllowFromSources, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as upsertChannelPairingRequest, o as sendMessageTelegram, ot as listPairingChannels, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as readJsonFileWithFallback, s as sendPollTelegram, st as firstDefined$1, t as buildInlineKeyboard, tt as removeChannelAllowFromStoreEntry, u as resolveTelegramVoiceSend, ut as resolveGroupAllowFromSources, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFrom$2 } from "./send-CRhcec-_.js";
47
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-BMRkn_yk.js";
48
- 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-DaH0qYtL.js";
49
- import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-CFkuTXvq.js";
50
- 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$2, 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-C2xaoYAR.js";
51
- import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix--mxmTL7A.js";
52
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-Y97UKh4C.js";
53
- import { c as getSkillsSnapshotVersion, d as pruneExpiredPending, f as resolvePairingPaths, h as writeJsonAtomic, i as resolveSkillCommandInvocation, l as generatePairingToken, m as readJsonFile, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as createAsyncLock, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as rejectPendingPairingRequest } from "./skill-commands-BHBpmuX9.js";
54
- 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-33Wy6_4b.js";
55
- import { C as ensureChromeExtensionRelayServer, D as DEFAULT_UPLOAD_DIR, F as DEFAULT_AI_SNAPSHOT_MAX_CHARS, H as isSecureWebSocketUrl, O as resolveExistingPathsWithinRoot, U as rawDataToString, V as isLoopbackHost, s as resolveLsofCommandSync } from "./chrome-CPVAOm0b.js";
56
- import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as splitMediaFromOutput, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as throwIfAborted, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as parseReplyDirectives, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-DfopPK17.js";
57
- 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-ByA6zvzu.js";
58
- import { i as saveMediaBuffer, r as getMediaDir } from "./store-CCCXwngh.js";
59
- import { $ as normalizeToolName, A as isTimeoutErrorMessage, B as resolveBrowserConfig, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as ensureSandboxWorkspaceForSession, G as resolveSandboxConfigForAgent, H as getBridgeAuthForPort, I as resolveSandboxContext, J as collectExplicitAllowlist, K as applyOwnerOnlyToolPolicy, L as resolveSandboxRuntimeStatus, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, Q as expandToolGroups, R as createBrowserRouteContext, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as ensureBrowserControlAuth, V as resolveProfile, W as resolveBrowserControlAuth, X as mergeAlsoAllowPolicy, Y as expandPolicyWithPluginGroups, Z as stripPluginOnlyAllowlist, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, at as resolveBootstrapMaxChars, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, ct as resolveGatewayCredentialsFromConfig, d as downgradeOpenAIReasoningBlocks, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, it as ensureSessionHeader, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, lt as trimToUndefined$1, m as classifyFailoverReason, n as validateGeminiTurns, nt as matchesAnyGlobPattern, o as normalizeTextForComparison, ot as resolveBootstrapTotalMaxChars, p as BILLING_ERROR_USER_MESSAGE, q as buildPluginToolGroups, r as pickFallbackThinkingLevel, rt as buildBootstrapContextFiles, s as sanitizeSessionMessagesImages, st as sanitizeGoogleTurnOrdering, t as validateAnthropicTurns, tt as compileGlobPatterns, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as registerBrowserRoutes } from "./pi-embedded-helpers-D48bhP-9.js";
39
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-C174s8ZV.js";
40
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-bHCsSVt_.js";
41
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-Bv0Zbp2E.js";
42
+ import { a as chunkText, c as resolveChunkMode, d as findFenceSpanAt, f as isSafeFenceBreak, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, p as parseFenceSpans, r as chunkMarkdownText, t as chunkByNewline } from "./chunk-DZr5xuqv.js";
43
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DfUQHRZY.js";
44
+ import { t as convertMarkdownTables } from "./tables-C4X_nAUQ.js";
45
+ 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-D-cZm1Y5.js";
46
+ import { $ as readChannelAllowFromStore, A as hasBotMention, B as normalizeDmAllowFromWithStore$1, C as buildTelegramGroupPeerId, D as describeReplyTarget, E as buildTypingThreadParams, F as resolveTelegramReplyId, G as parseTelegramTarget, H as withTelegramApiErrorLogging, I as resolveTelegramStreamMode, J as toLocationContext, K as resolveTelegramTargetChatType, L as resolveTelegramThreadSpec, M as resolveTelegramForumThreadId, N as resolveTelegramGroupAllowFromContext, O as expandTextLinks, P as resolveTelegramMediaPlaceholder, Q as addChannelAllowFromStoreEntry, R as isSenderAllowed$1, S as buildTelegramGroupFrom, T as buildTelegramThreadParams, U as isVoiceCompatibleAudio, V as resolveSenderAllowMatch, _ as resolveTelegramFetch, a as reactMessageTelegram, at as getPairingAdapter, b as buildSenderLabel, c as sendStickerTelegram, ct as isSenderIdAllowed, d as wasSentByBot, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, it as writeJsonFileAtomically, j as normalizeForwardedContext, k as extractTelegramLocation, lt as mergeDmAllowFromSources, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as upsertChannelPairingRequest, o as sendMessageTelegram, ot as listPairingChannels, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as readJsonFileWithFallback, s as sendPollTelegram, st as firstDefined$1, t as buildInlineKeyboard, tt as removeChannelAllowFromStoreEntry, u as resolveTelegramVoiceSend, ut as resolveGroupAllowFromSources, v as splitTelegramCaption, w as buildTelegramParentPeer, x as buildSenderName, y as buildGroupLabel, z as normalizeAllowFrom$2 } from "./send-Dt8bXHE8.js";
47
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-Cf9aWlVu.js";
48
+ 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-CXh6e9ZE.js";
49
+ import { a as createSlackWebClient, c as validateSlackBlocksArray, i as buildSlackBlocksFallbackText, o as resolveSlackWebClientOptions, s as parseSlackBlocksInput, t as sendMessageSlack } from "./send-BsxSmaWa.js";
50
+ 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$2, 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-C_iZbSwz.js";
51
+ import { a as resolveAckReaction, c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-BqV0o7_7.js";
52
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-CU9S3S7t.js";
53
+ import { c as getSkillsSnapshotVersion, d as pruneExpiredPending, f as resolvePairingPaths, h as writeJsonAtomic, i as resolveSkillCommandInvocation, l as generatePairingToken, m as readJsonFile, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as createAsyncLock, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as rejectPendingPairingRequest } from "./skill-commands-B8suoqwn.js";
54
+ 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-Dl2nq6QI.js";
55
+ import { C as ensureChromeExtensionRelayServer, D as DEFAULT_UPLOAD_DIR, F as DEFAULT_AI_SNAPSHOT_MAX_CHARS, H as isSecureWebSocketUrl, O as resolveExistingPathsWithinRoot, U as rawDataToString, V as isLoopbackHost, s as resolveLsofCommandSync } from "./chrome-CaJve-Gp.js";
56
+ import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as splitMediaFromOutput, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as throwIfAborted, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as parseReplyDirectives, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-DbtR2D87.js";
57
+ 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-B8VzcqLf.js";
58
+ import { i as saveMediaBuffer, r as getMediaDir } from "./store-BI3rLJdW.js";
59
+ import { $ as normalizeToolName, A as isTimeoutErrorMessage, B as resolveBrowserConfig, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as ensureSandboxWorkspaceForSession, G as resolveSandboxConfigForAgent, H as getBridgeAuthForPort, I as resolveSandboxContext, J as collectExplicitAllowlist, K as applyOwnerOnlyToolPolicy, L as resolveSandboxRuntimeStatus, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, Q as expandToolGroups, R as createBrowserRouteContext, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as ensureBrowserControlAuth, V as resolveProfile, W as resolveBrowserControlAuth, X as mergeAlsoAllowPolicy, Y as expandPolicyWithPluginGroups, Z as stripPluginOnlyAllowlist, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, at as resolveBootstrapMaxChars, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, ct as resolveGatewayCredentialsFromConfig, d as downgradeOpenAIReasoningBlocks, et as resolveToolProfilePolicy, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, it as ensureSessionHeader, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, lt as trimToUndefined$1, m as classifyFailoverReason, n as validateGeminiTurns, nt as matchesAnyGlobPattern, o as normalizeTextForComparison, ot as resolveBootstrapTotalMaxChars, p as BILLING_ERROR_USER_MESSAGE, q as buildPluginToolGroups, r as pickFallbackThinkingLevel, rt as buildBootstrapContextFiles, s as sanitizeSessionMessagesImages, st as sanitizeGoogleTurnOrdering, t as validateAnthropicTurns, tt as compileGlobPatterns, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as registerBrowserRoutes } from "./pi-embedded-helpers-BoeRlyoL.js";
60
60
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-g4Rrlwu4.js";
61
61
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-B77_FZjf.js";
62
- import { C as ensureIdleHandsModelsJson, S as extractTextFromChatContent, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as findCodeRegions, 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, w as minimaxUnderstandImage, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-B-gM6mxU.js";
63
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DCBTaRzI.js";
62
+ import { C as ensureIdleHandsModelsJson, S as extractTextFromChatContent, _ as stripThinkingTagsFromText, a as decodeDataUrl, b as findCodeRegions, 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, w as minimaxUnderstandImage, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-D-9PH0zg.js";
63
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BLPN0Tzs.js";
64
64
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-B2sXEOWH.js";
65
- import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-DQCQbF8W.js";
65
+ import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-DWTMC5Bl.js";
66
66
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Br7SziNV.js";
67
67
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-0bQHIBGL.js";
68
- import { n as resolveMemorySearchConfig } from "./manager-CBBlTnh3.js";
69
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-xBXvzdkL.js";
70
- import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-CKQ89Lq9.js";
68
+ import { n as resolveMemorySearchConfig } from "./manager-CKed0ZZE.js";
69
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-CPqK-tTR.js";
70
+ import { c as signalRpcRequest, l as streamSignalEvents, n as sendReadReceiptSignal, o as resolveSignalRpcContext, r as sendTypingSignal, s as signalCheck, t as sendMessageSignal } from "./send-BUYJmPie.js";
71
71
  import { t as makeProxyFetch } from "./proxy-C4ewPdlN.js";
72
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BZABUE4J.js";
73
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-DXdzWcMN.js";
72
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-C5mAwY-o.js";
73
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CzsaFa8u.js";
74
74
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-WMrtFGPv.js";
75
- import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-Gj9jRY77.js";
75
+ import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-DNbYvt5g.js";
76
76
  import { createRequire } from "node:module";
77
77
  import fs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
78
78
  import * as path$1 from "node:path";
@@ -82,7 +82,7 @@ import * as fs$2 from "node:fs/promises";
82
82
  import fs$1 from "node:fs/promises";
83
83
  import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
84
84
  import { inspect, promisify } from "node:util";
85
- import json5 from "json5";
85
+ import JSON5 from "json5";
86
86
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
87
87
  import { fileURLToPath } from "node:url";
88
88
  import { complete, completeSimple, streamSimple } from "@mariozechner/pi-ai";
@@ -20305,7 +20305,7 @@ async function getMemorySearchManager(params) {
20305
20305
  if (cached) return { manager: cached };
20306
20306
  }
20307
20307
  try {
20308
- const { QmdMemoryManager } = await import("./qmd-manager-juzrnopq.js");
20308
+ const { QmdMemoryManager } = await import("./qmd-manager-BckPBwZX.js");
20309
20309
  const primary = await QmdMemoryManager.create({
20310
20310
  cfg: params.cfg,
20311
20311
  agentId: params.agentId,
@@ -20317,7 +20317,7 @@ async function getMemorySearchManager(params) {
20317
20317
  const wrapper = new FallbackMemoryManager({
20318
20318
  primary,
20319
20319
  fallbackFactory: async () => {
20320
- const { MemoryIndexManager } = await import("./manager-CBBlTnh3.js").then((n) => n.t);
20320
+ const { MemoryIndexManager } = await import("./manager-CKed0ZZE.js").then((n) => n.t);
20321
20321
  return await MemoryIndexManager.get(params);
20322
20322
  }
20323
20323
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -20330,7 +20330,7 @@ async function getMemorySearchManager(params) {
20330
20330
  }
20331
20331
  }
20332
20332
  try {
20333
- const { MemoryIndexManager } = await import("./manager-CBBlTnh3.js").then((n) => n.t);
20333
+ const { MemoryIndexManager } = await import("./manager-CKed0ZZE.js").then((n) => n.t);
20334
20334
  return { manager: await MemoryIndexManager.get(params) };
20335
20335
  } catch (err) {
20336
20336
  return {
@@ -21915,7 +21915,7 @@ async function routeReply(params) {
21915
21915
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
21916
21916
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
21917
21917
  try {
21918
- const { deliverOutboundPayloads } = await import("./deliver-DfopPK17.js").then((n) => n.n);
21918
+ const { deliverOutboundPayloads } = await import("./deliver-DbtR2D87.js").then((n) => n.n);
21919
21919
  const outboundSession = buildOutboundSessionContext({
21920
21920
  cfg,
21921
21921
  agentId: resolvedAgentId,
@@ -22275,7 +22275,7 @@ function normalizeSessionKey(value) {
22275
22275
  function readSessionStore(storePath) {
22276
22276
  try {
22277
22277
  const raw = fs.readFileSync(storePath, "utf-8");
22278
- const parsed = json5.parse(raw);
22278
+ const parsed = JSON5.parse(raw);
22279
22279
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
22280
22280
  } catch {}
22281
22281
  return {};
@@ -28086,7 +28086,7 @@ async function describeStickerImage(params) {
28086
28086
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
28087
28087
  try {
28088
28088
  const buffer = await fs$1.readFile(imagePath);
28089
- const { describeImageWithModel } = await import("./image-B-gM6mxU.js").then((n) => n.n);
28089
+ const { describeImageWithModel } = await import("./image-D-9PH0zg.js").then((n) => n.n);
28090
28090
  return (await describeImageWithModel({
28091
28091
  buffer,
28092
28092
  fileName: "sticker.webp",
@@ -28528,7 +28528,7 @@ function createWhatsAppLoginTool() {
28528
28528
  force: Type.Optional(Type.Boolean())
28529
28529
  }),
28530
28530
  execute: async (_toolCallId, args) => {
28531
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-C9ndp3tg.js");
28531
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DQnS-xlm.js");
28532
28532
  if ((args?.action ?? "start") === "wait") {
28533
28533
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
28534
28534
  return {
@@ -30534,7 +30534,7 @@ async function preflightDiscordMessage(params) {
30534
30534
  let preflightTranscript;
30535
30535
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
30536
30536
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
30537
- const { transcribeFirstAudio } = await import("./audio-preflight-URcQAxhH.js");
30537
+ const { transcribeFirstAudio } = await import("./audio-preflight-DL4zZ6SH.js");
30538
30538
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
30539
30539
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
30540
30540
  ctx: {
@@ -33095,9 +33095,9 @@ function createDiscordMessageHandler(params) {
33095
33095
  try {
33096
33096
  const messageText = resolveDiscordMessageText(data.message)?.trim();
33097
33097
  if (messageText) {
33098
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-B7_VgSkO.js");
33098
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DQXrdDYX.js");
33099
33099
  if (isAbortRequestText(messageText)) {
33100
- const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
33100
+ const { resolveAgentRoute } = await import("./resolve-route-C5mAwY-o.js").then((n) => n.r);
33101
33101
  const channelId = resolveDiscordMessageChannelId({
33102
33102
  message: data.message,
33103
33103
  eventChannelId: data.channel_id
@@ -33260,7 +33260,7 @@ const MODEL_CACHE = /* @__PURE__ */ new Map();
33260
33260
  await ensureIdleHandsModelsJson(cfg);
33261
33261
  } catch {}
33262
33262
  try {
33263
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-DCBTaRzI.js").then((n) => n.r);
33263
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-BLPN0Tzs.js").then((n) => n.r);
33264
33264
  const agentDir = resolveIdleHandsAgentDir();
33265
33265
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
33266
33266
  applyDiscoveredContextWindows({
@@ -33583,7 +33583,7 @@ async function createModelSelectionState(params) {
33583
33583
  }
33584
33584
  }
33585
33585
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
33586
- const { ensureAuthProfileStore } = await import("./config-04otsq-i.js").then((n) => n.gn);
33586
+ const { ensureAuthProfileStore } = await import("./config-DXRuYZaI.js").then((n) => n.gn);
33587
33587
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
33588
33588
  const providerKey = normalizeProviderId(provider);
33589
33589
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -43839,9 +43839,9 @@ async function monitorIMessageProvider(opts = {}) {
43839
43839
  }
43840
43840
  const msgText = (message.text ?? "").trim();
43841
43841
  if (msgText) {
43842
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-B7_VgSkO.js");
43842
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DQXrdDYX.js");
43843
43843
  if (isAbortRequestText(msgText)) {
43844
- const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
43844
+ const { resolveAgentRoute } = await import("./resolve-route-C5mAwY-o.js").then((n) => n.r);
43845
43845
  const route = resolveAgentRoute({
43846
43846
  cfg,
43847
43847
  channel: "imessage",
@@ -46235,9 +46235,9 @@ function createSignalEventHandler(deps) {
46235
46235
  const senderName = envelope.sourceName ?? senderDisplay;
46236
46236
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
46237
46237
  if (bodyText) {
46238
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-B7_VgSkO.js");
46238
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DQXrdDYX.js");
46239
46239
  if (isAbortRequestText(bodyText)) {
46240
- const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
46240
+ const { resolveAgentRoute } = await import("./resolve-route-C5mAwY-o.js").then((n) => n.r);
46241
46241
  const route = resolveAgentRoute({
46242
46242
  cfg: deps.cfg,
46243
46243
  channel: "signal",
@@ -49606,9 +49606,9 @@ function createSlackMessageHandler(params) {
49606
49606
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
49607
49607
  const rawText = (message.text ?? "").trim();
49608
49608
  if (rawText) {
49609
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-B7_VgSkO.js");
49609
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DQXrdDYX.js");
49610
49610
  if (isAbortRequestText(rawText)) {
49611
- const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
49611
+ const { resolveAgentRoute } = await import("./resolve-route-C5mAwY-o.js").then((n) => n.r);
49612
49612
  const route = resolveAgentRoute({
49613
49613
  cfg: ctx.cfg,
49614
49614
  channel: "slack",
@@ -49728,7 +49728,7 @@ function readSlackExternalArgMenuToken(raw) {
49728
49728
  }
49729
49729
  let commandsRegistry;
49730
49730
  async function getCommandsRegistry() {
49731
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DQCQbF8W.js").then((n) => n.n);
49731
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DWTMC5Bl.js").then((n) => n.n);
49732
49732
  return commandsRegistry;
49733
49733
  }
49734
49734
  function encodeSlackCommandArgValue(parts) {
@@ -50052,14 +50052,14 @@ async function registerSlackMonitorSlashCommands(params) {
50052
50052
  const channelName = channelInfo?.name;
50053
50053
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
50054
50054
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
50055
- import("./resolve-route-BZABUE4J.js").then((n) => n.r),
50055
+ import("./resolve-route-C5mAwY-o.js").then((n) => n.r),
50056
50056
  import("./inbound-context-B77_FZjf.js").then((n) => n.n),
50057
50057
  Promise.resolve().then(() => provider_dispatcher_exports)
50058
50058
  ]);
50059
50059
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
50060
50060
  import("./conversation-label-C3GZ0Hvg.js").then((n) => n.t),
50061
- import("./reply-prefix--mxmTL7A.js").then((n) => n.r),
50062
- import("./sessions-CG-k8Acv.js").then((n) => n.t)
50061
+ import("./reply-prefix-BqV0o7_7.js").then((n) => n.r),
50062
+ import("./sessions-B4ApxPY1.js").then((n) => n.t)
50063
50063
  ]);
50064
50064
  const route = resolveAgentRoute({
50065
50065
  cfg,
@@ -50127,9 +50127,9 @@ async function registerSlackMonitorSlashCommands(params) {
50127
50127
  });
50128
50128
  const deliverSlashPayloads = async (replies) => {
50129
50129
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
50130
- import("./replies-DXdzWcMN.js").then((n) => n.r),
50131
- import("./chunk-PW4MBmaN.js").then((n) => n.s),
50132
- import("./markdown-tables-Drtwd4J5.js").then((n) => n.t)
50130
+ import("./replies-CzsaFa8u.js").then((n) => n.r),
50131
+ import("./chunk-DZr5xuqv.js").then((n) => n.s),
50132
+ import("./markdown-tables-DfUQHRZY.js").then((n) => n.t)
50133
50133
  ]);
50134
50134
  await deliverSlackSlashReplies({
50135
50135
  replies,
@@ -50182,7 +50182,7 @@ async function registerSlackMonitorSlashCommands(params) {
50182
50182
  let nativeCommands = [];
50183
50183
  if (nativeEnabled) {
50184
50184
  reg = await getCommandsRegistry();
50185
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BHBpmuX9.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
50185
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-B8suoqwn.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
50186
50186
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
50187
50187
  skillCommands,
50188
50188
  provider: "slack"
@@ -54229,7 +54229,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
54229
54229
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
54230
54230
  const text = typeof msg.text === "string" ? msg.text : void 0;
54231
54231
  if (text) {
54232
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-B7_VgSkO.js");
54232
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-DQXrdDYX.js");
54233
54233
  if (isAbortRequestText(text)) {
54234
54234
  const senderId = msg.from?.id ? String(msg.from.id) : "";
54235
54235
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -55116,7 +55116,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
55116
55116
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
55117
55117
  let preflightTranscript;
55118
55118
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
55119
- const { transcribeFirstAudio } = await import("./audio-preflight-URcQAxhH.js");
55119
+ const { transcribeFirstAudio } = await import("./audio-preflight-DL4zZ6SH.js");
55120
55120
  preflightTranscript = await transcribeFirstAudio({
55121
55121
  ctx: {
55122
55122
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -57702,23 +57702,23 @@ let webLoginQrPromise = null;
57702
57702
  let webChannelPromise = null;
57703
57703
  let whatsappActionsPromise = null;
57704
57704
  function loadWebOutbound() {
57705
- webOutboundPromise ??= import("./outbound-D6g6crrp.js").then((n) => n.t);
57705
+ webOutboundPromise ??= import("./outbound-DNK06gip.js").then((n) => n.t);
57706
57706
  return webOutboundPromise;
57707
57707
  }
57708
57708
  function loadWebLogin() {
57709
- webLoginPromise ??= import("./login-Bpe2s20d.js").then((n) => n.n);
57709
+ webLoginPromise ??= import("./login-B8HpBurd.js").then((n) => n.n);
57710
57710
  return webLoginPromise;
57711
57711
  }
57712
57712
  function loadWebLoginQr() {
57713
- webLoginQrPromise ??= import("./login-qr-C9ndp3tg.js");
57713
+ webLoginQrPromise ??= import("./login-qr-DQnS-xlm.js");
57714
57714
  return webLoginQrPromise;
57715
57715
  }
57716
57716
  function loadWebChannel() {
57717
- webChannelPromise ??= import("./web-BzOC1x6m.js");
57717
+ webChannelPromise ??= import("./web-CNw6-P_B.js");
57718
57718
  return webChannelPromise;
57719
57719
  }
57720
57720
  function loadWhatsAppActions() {
57721
- whatsappActionsPromise ??= import("./whatsapp-actions-Cp6vXAA8.js");
57721
+ whatsappActionsPromise ??= import("./whatsapp-actions-CEAXpexT.js");
57722
57722
  return whatsappActionsPromise;
57723
57723
  }
57724
57724
  function createPluginRuntime() {
@@ -69764,7 +69764,7 @@ async function recordLoopOutcome(args) {
69764
69764
  if (!args.ctx?.sessionKey) return;
69765
69765
  try {
69766
69766
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Br7SziNV.js").then((n) => n.n);
69767
- const { recordToolCallOutcome } = await import("./tool-loop-detection-Cv8wyfAi.js");
69767
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-DuwkSqZL.js");
69768
69768
  recordToolCallOutcome(getDiagnosticSessionState({
69769
69769
  sessionKey: args.ctx.sessionKey,
69770
69770
  sessionId: args.ctx?.agentId
@@ -69785,8 +69785,8 @@ async function runBeforeToolCallHook(args) {
69785
69785
  const params = args.params;
69786
69786
  if (args.ctx?.sessionKey) {
69787
69787
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-Br7SziNV.js").then((n) => n.n);
69788
- const { logToolLoopAction } = await import("./diagnostic-ByA6zvzu.js").then((n) => n.n);
69789
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-Cv8wyfAi.js");
69788
+ const { logToolLoopAction } = await import("./diagnostic-B8VzcqLf.js").then((n) => n.n);
69789
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-DuwkSqZL.js");
69790
69790
  const sessionState = getDiagnosticSessionState({
69791
69791
  sessionKey: args.ctx.sessionKey,
69792
69792
  sessionId: args.ctx?.agentId
@@ -75451,6 +75451,20 @@ function resolveSilentReplyFallbackText(params) {
75451
75451
  if (!fallback) return params.text;
75452
75452
  return fallback;
75453
75453
  }
75454
+ function hasAssistantToolCallBlock(message) {
75455
+ const content = message.content;
75456
+ if (!Array.isArray(content)) return false;
75457
+ return content.some((block) => {
75458
+ if (!block || typeof block !== "object") return false;
75459
+ const type = block.type;
75460
+ return type === "toolCall" || type === "tool_call";
75461
+ });
75462
+ }
75463
+ function isAssistantToolPlanningMessage(message) {
75464
+ const stopReason = message.stopReason;
75465
+ if (stopReason === "toolUse" || stopReason === "tool_use") return true;
75466
+ return hasAssistantToolCallBlock(message);
75467
+ }
75454
75468
  function handleMessageStart(ctx, evt) {
75455
75469
  if (evt.message?.role !== "assistant") return;
75456
75470
  ctx.resetAssistantMessageState(ctx.state.assistantTexts.length);
@@ -75604,6 +75618,7 @@ function handleMessageEnd(ctx, evt) {
75604
75618
  }),
75605
75619
  messagingToolSentTexts: ctx.state.messagingToolSentTexts
75606
75620
  });
75621
+ const suppressToolPlanningOutput = isAssistantToolPlanningMessage(assistantMessage);
75607
75622
  const rawThinking = ctx.state.includeReasoning || ctx.state.streamReasoning ? extractAssistantThinking(assistantMessage) || extractThinkingFromTaggedText(rawText) : "";
75608
75623
  const formattedReasoning = rawThinking ? formatReasoningMessage(rawThinking) : "";
75609
75624
  const trimmedText = text.trim();
@@ -75621,7 +75636,7 @@ function handleMessageEnd(ctx, evt) {
75621
75636
  hasMedia = Boolean(mediaUrls && mediaUrls.length > 0);
75622
75637
  }
75623
75638
  }
75624
- if (!ctx.state.emittedAssistantUpdate && (cleanedText || hasMedia)) {
75639
+ if (!ctx.state.emittedAssistantUpdate && !suppressToolPlanningOutput && (cleanedText || hasMedia)) {
75625
75640
  emitAgentEvent({
75626
75641
  runId: ctx.params.runId,
75627
75642
  stream: "assistant",
@@ -75644,12 +75659,12 @@ function handleMessageEnd(ctx, evt) {
75644
75659
  const addedDuringMessage = ctx.state.assistantTexts.length > ctx.state.assistantTextBaseline;
75645
75660
  const chunkerHasBuffered = ctx.blockChunker?.hasBuffered() ?? false;
75646
75661
  ctx.finalizeAssistantTexts({
75647
- text,
75662
+ text: suppressToolPlanningOutput ? "" : text,
75648
75663
  addedDuringMessage,
75649
75664
  chunkerHasBuffered
75650
75665
  });
75651
75666
  const onBlockReply = ctx.params.onBlockReply;
75652
- const shouldEmitReasoning = Boolean(ctx.state.includeReasoning && formattedReasoning && onBlockReply && formattedReasoning !== ctx.state.lastReasoningSent);
75667
+ const shouldEmitReasoning = Boolean(!suppressToolPlanningOutput && ctx.state.includeReasoning && formattedReasoning && onBlockReply && formattedReasoning !== ctx.state.lastReasoningSent);
75653
75668
  const shouldEmitReasoningBeforeAnswer = shouldEmitReasoning && ctx.state.blockReplyBreak === "message_end" && !addedDuringMessage;
75654
75669
  const maybeEmitReasoning = () => {
75655
75670
  if (!shouldEmitReasoning || !formattedReasoning) return;
@@ -75660,7 +75675,7 @@ function handleMessageEnd(ctx, evt) {
75660
75675
  });
75661
75676
  };
75662
75677
  if (shouldEmitReasoningBeforeAnswer) maybeEmitReasoning();
75663
- if ((ctx.state.blockReplyBreak === "message_end" || (ctx.blockChunker ? ctx.blockChunker.hasBuffered() : ctx.state.blockBuffer.length > 0)) && text && onBlockReply) {
75678
+ if ((ctx.state.blockReplyBreak === "message_end" || (ctx.blockChunker ? ctx.blockChunker.hasBuffered() : ctx.state.blockBuffer.length > 0)) && !suppressToolPlanningOutput && text && onBlockReply) {
75664
75679
  if (ctx.blockChunker?.hasBuffered()) {
75665
75680
  ctx.blockChunker.drain({
75666
75681
  force: true,
@@ -75685,8 +75700,8 @@ function handleMessageEnd(ctx, evt) {
75685
75700
  }
75686
75701
  }
75687
75702
  if (!shouldEmitReasoningBeforeAnswer) maybeEmitReasoning();
75688
- if (ctx.state.streamReasoning && rawThinking) ctx.emitReasoningStream(rawThinking);
75689
- if (ctx.state.blockReplyBreak === "text_end" && onBlockReply) {
75703
+ if (!suppressToolPlanningOutput && ctx.state.streamReasoning && rawThinking) ctx.emitReasoningStream(rawThinking);
75704
+ if (!suppressToolPlanningOutput && ctx.state.blockReplyBreak === "text_end" && onBlockReply) {
75690
75705
  const tailResult = ctx.consumeReplyDirectives("", { final: true });
75691
75706
  if (tailResult) {
75692
75707
  const { text: cleanedText, mediaUrls, audioAsVoice, replyToId, replyToTag, replyToCurrent } = tailResult;
@@ -77094,36 +77109,51 @@ function extractParameterSummary(tool) {
77094
77109
  /**
77095
77110
  * Build compact tool guidance for common coding tools.
77096
77111
  * This is optimized for local models with limited context.
77112
+ * @param excludeTools - Tool names to exclude (e.g., tools with full schemas)
77097
77113
  */
77098
- function buildCompactToolGuidance() {
77099
- return `## Tools
77100
-
77101
- Call tools with JSON: {"tool": "name", "params": {...}}
77102
-
77103
- **exec** - Run shell commands
77114
+ function buildCompactToolGuidance(excludeTools) {
77115
+ const excludeSet = new Set((excludeTools ?? []).map((name) => name.toLowerCase()));
77116
+ const includedTools = [
77117
+ {
77118
+ name: "exec",
77119
+ def: `**exec** - Run shell commands
77104
77120
  command (required): Shell command to execute
77105
77121
  workdir: Working directory
77106
77122
  timeout: Timeout in seconds
77107
- background: Run in background (true/false)
77108
-
77109
- **read** - Read file contents
77123
+ background: Run in background (true/false)`
77124
+ },
77125
+ {
77126
+ name: "read",
77127
+ def: `**read** - Read file contents
77110
77128
  path (required): File path to read
77111
77129
  offset: Start line (1-indexed)
77112
- limit: Max lines to read
77113
-
77114
- **write** - Create/overwrite files
77130
+ limit: Max lines to read`
77131
+ },
77132
+ {
77133
+ name: "write",
77134
+ def: `**write** - Create/overwrite files
77115
77135
  path (required): File path to write
77116
- content (required): Content to write
77117
-
77118
- **edit** - Precise text replacement
77136
+ content (required): Content to write`
77137
+ },
77138
+ {
77139
+ name: "edit",
77140
+ def: `**edit** - Precise text replacement
77119
77141
  path (required): File path to edit
77120
77142
  old_string (required): Exact text to find
77121
- new_string (required): Replacement text
77122
-
77123
- **process** - Manage background processes
77143
+ new_string (required): Replacement text`
77144
+ },
77145
+ {
77146
+ name: "process",
77147
+ def: `**process** - Manage background processes
77124
77148
  action (required): list|poll|kill|log
77125
77149
  sessionId: Session ID for poll/kill/log
77126
- timeout: Poll timeout in ms`;
77150
+ timeout: Poll timeout in ms`
77151
+ }
77152
+ ].filter(({ name }) => !excludeSet.has(name)).map(({ def }) => def);
77153
+ if (includedTools.length === 0) return "";
77154
+ return `## Tools
77155
+
77156
+ ${includedTools.join("\n\n")}`;
77127
77157
  }
77128
77158
 
77129
77159
  //#endregion
@@ -77963,7 +77993,7 @@ async function runEmbeddedAttempt(params) {
77963
77993
  });
77964
77994
  const stubModeConfig = params.config?.tools?.stubMode;
77965
77995
  const tools = applyStubMode(toolsSanitized, stubModeConfig);
77966
- const toolStubGuidance = stubModeConfig?.enabled ? stubModeConfig.guidance ?? (stubModeConfig.compactGuidance ? buildCompactToolGuidance() : generateToolStubGuidance(toolsRaw)) : void 0;
77996
+ const toolStubGuidance = stubModeConfig?.enabled ? stubModeConfig.guidance ?? (stubModeConfig.compactGuidance ? buildCompactToolGuidance(stubModeConfig.fullSchemaTools) : generateToolStubGuidance(toolsRaw)) : void 0;
77967
77997
  const allowedToolNames = collectAllowedToolNames({
77968
77998
  tools,
77969
77999
  clientTools: params.clientTools
@@ -80286,7 +80316,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80286
80316
  };
80287
80317
  const arg = body.slice(6).trim();
80288
80318
  if (arg === "status" || arg === "") {
80289
- const { antonStatus } = await import("./anton-7I_gkw4v.js");
80319
+ const { antonStatus } = await import("./anton-y9DWQk_X.js");
80290
80320
  const lines = [];
80291
80321
  await antonStatus({
80292
80322
  log: (msg) => lines.push(msg),
@@ -80302,7 +80332,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80302
80332
  return { shouldContinue: false };
80303
80333
  }
80304
80334
  if (arg === "stop") {
80305
- const { antonStop } = await import("./anton-7I_gkw4v.js");
80335
+ const { antonStop } = await import("./anton-y9DWQk_X.js");
80306
80336
  const lines = [];
80307
80337
  await antonStop({
80308
80338
  log: (msg) => lines.push(msg),
@@ -80340,8 +80370,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80340
80370
  await sendProgress(replyCtx, text);
80341
80371
  return { shouldContinue: false };
80342
80372
  }
80343
- const { runAnton, formatProgressMessage } = await import("./anton-7I_gkw4v.js");
80344
- const { createDefaultDeps } = await import("./deps-Gj9jRY77.js").then((n) => n.n);
80373
+ const { runAnton, formatProgressMessage } = await import("./anton-y9DWQk_X.js");
80374
+ const { createDefaultDeps } = await import("./deps-DNbYvt5g.js").then((n) => n.n);
80345
80375
  const { createNonExitingRuntime } = await import("./runtime-CjfcfOBD.js").then((n) => n.r);
80346
80376
  const runtime = createNonExitingRuntime();
80347
80377
  const deps = createDefaultDeps();
@@ -80438,7 +80468,7 @@ const handleDirCommand = async (params, _allowTextCommands) => {
80438
80468
  }
80439
80469
  try {
80440
80470
  if (params.sessionKey) {
80441
- const { updateSessionStoreEntry } = await import("./sessions-CG-k8Acv.js").then((n) => n.u);
80471
+ const { updateSessionStoreEntry } = await import("./sessions-B4ApxPY1.js").then((n) => n.u);
80442
80472
  const { resolveDefaultSessionStorePath } = await import("./paths-CSpzSLh8.js").then((n) => n.n);
80443
80473
  await updateSessionStoreEntry({
80444
80474
  storePath: params.storePath ?? resolveDefaultSessionStorePath(),
@@ -86848,7 +86878,7 @@ async function deliverSessionMaintenanceWarning(params) {
86848
86878
  return;
86849
86879
  }
86850
86880
  try {
86851
- const { deliverOutboundPayloads } = await import("./deliver-DfopPK17.js").then((n) => n.n);
86881
+ const { deliverOutboundPayloads } = await import("./deliver-DbtR2D87.js").then((n) => n.n);
86852
86882
  const outboundSession = buildOutboundSessionContext({
86853
86883
  cfg: params.cfg,
86854
86884
  sessionKey: params.sessionKey