@visorcraft/idlehands 4.0.16 → 4.0.18

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 (231) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{accounts-Dk8mJIrQ.js → accounts-CRDMZUcg.js} +6 -6
  3. package/dist/{accounts-BDVs8LTu.js → accounts-upx5iuke.js} +1 -1
  4. package/dist/{accounts-CIvVRRHb.js → accounts-yD5yI-jP.js} +1 -1
  5. package/dist/{agent-scope-DyP_tr7s.js → agent-scope-BVeQuh5x.js} +4 -4
  6. package/dist/{agent-via-gateway-Ceb_VeXS.js → agent-via-gateway-CC37LlPd.js} +3 -2
  7. package/dist/{agent-via-gateway-DIfwOe7Y.js → agent-via-gateway-Cl2YwlXJ.js} +2 -1
  8. package/dist/{agent-via-gateway-F1Zu0slF.js → agent-via-gateway-ClQrLbgo.js} +2 -1
  9. package/dist/{agent-via-gateway-7SDhvcBa.js → agent-via-gateway-pMCfUzW-.js} +61 -60
  10. package/dist/{agents-idaLog48.js → agents-DrnGQroU.js} +4 -4
  11. package/dist/{agents.config-w0ZcfpyW.js → agents.config-BZPnYIMF.js} +1 -1
  12. package/dist/{agents.config-DP_bqTwg.js → agents.config-DfWZrbXn.js} +1 -1
  13. package/dist/{anton-CzWIEEiT.js → anton-B-I7rEtn.js} +44 -15
  14. package/dist/{anton-B7VZSQo-.js → anton-BfrX2FMd.js} +40 -11
  15. package/dist/{anton-Cs1JPzv4.js → anton-BgKjig3B.js} +40 -11
  16. package/dist/{anton-BomwkDBv.js → anton-BrY-bWgq.js} +40 -11
  17. package/dist/{audio-preflight-BSlR2jEq.js → audio-preflight-aBtF0cRI.js} +35 -35
  18. package/dist/{auth-choice-D-TtZtMR.js → auth-choice-DtvI4epn.js} +1 -1
  19. package/dist/{auth-choice-C49o8owq.js → auth-choice-_C22dz9o.js} +1 -1
  20. package/dist/{auth-store-DXT-l7fO.js → auth-store-DQAd4LSE.js} +12 -12
  21. package/dist/{banner-DmFqQvFd.js → banner-B-UYZG8d.js} +1 -1
  22. package/dist/{bindings-D3b5Fmc9.js → bindings-B9L4cqmm.js} +2 -2
  23. package/dist/build-info.json +3 -3
  24. package/dist/bundled/boot-md/handler.js +60 -60
  25. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  26. package/dist/bundled/command-logger/handler.js +3 -3
  27. package/dist/bundled/session-memory/handler.js +60 -60
  28. package/dist/{channel-activity-D_TMOGQ0.js → channel-activity-DOLX-uK1.js} +3 -3
  29. package/dist/{channel-options-CsEgIwgu.js → channel-options-BbwNg4q_.js} +1 -1
  30. package/dist/{channel-options-1Dqo0zkg.js → channel-options-C0iwLcfC.js} +1 -1
  31. package/dist/{channel-web-BicbbO9_.js → channel-web-BLxKeCXF.js} +2 -2
  32. package/dist/{channel-web-C7s5QLXL.js → channel-web-q6Ugfiks.js} +2 -2
  33. package/dist/{channels-cli-CWb-B8BT.js → channels-cli-BtL1XuuK.js} +7 -7
  34. package/dist/{channels-cli-REwO9h_a.js → channels-cli-DaRR8vAs.js} +7 -7
  35. package/dist/{chrome-_2tzVjVl.js → chrome-D_SXDetO.js} +17 -17
  36. package/dist/{chunk-CMpX7Jaz.js → chunk-BgScV6uo.js} +1 -1
  37. package/dist/{cli-B9ARC6CF.js → cli-BjhrdeVd.js} +2 -2
  38. package/dist/{cli-B4rP4MXJ.js → cli-CrUoGRuS.js} +2 -2
  39. package/dist/{command-registry-0e5VHciB.js → command-registry-BZNlvfaM.js} +10 -10
  40. package/dist/{commands-registry-j4vAzcF2.js → commands-registry-CK7aj_ri.js} +5 -5
  41. package/dist/{completion-cli-C1StqVUs.js → completion-cli-BIabgt7h.js} +1 -1
  42. package/dist/{completion-cli-BTtvgatl.js → completion-cli-p9W-g1Pe.js} +2 -2
  43. package/dist/{config-cli-C3As38Z_.js → config-cli-B4nNEjK9.js} +1 -1
  44. package/dist/{config-cli-B-yirt2T.js → config-cli-u4zbdm-e.js} +1 -1
  45. package/dist/{configure-Cw6aeqBy.js → configure-BbDbMd5G.js} +3 -3
  46. package/dist/{configure-BEd8nUOe.js → configure-Dj1JdeEI.js} +3 -3
  47. package/dist/{deliver-CVTXl0Cv.js → deliver-CJaM2zRY.js} +20 -20
  48. package/dist/{deps-C28cWNmF.js → deps-BMWq0kjy.js} +1 -1
  49. package/dist/{deps-Cn32rOjf.js → deps-BuRud-p8.js} +1 -1
  50. package/dist/{deps-CVb-kfIX.js → deps-CQzDLqTz.js} +6 -6
  51. package/dist/{deps-CYAKIzhf.js → deps-Dr9GpASq.js} +1 -1
  52. package/dist/{diagnostic-4owMk4vH.js → diagnostic-lz5wKsEe.js} +1 -1
  53. package/dist/{dock-BgOmHcbh.js → dock-6MgvdSqu.js} +6 -6
  54. package/dist/{doctor-completion-o6QBkVYG.js → doctor-completion-BLRGmusD.js} +1 -1
  55. package/dist/{doctor-completion-T5sq7t8L.js → doctor-completion-BeZMlZPb.js} +1 -1
  56. package/dist/{emergency-stop-CMeSxuEg.js → emergency-stop-BEsjWvQL.js} +2 -2
  57. package/dist/{emergency-stop-h5_WOPZT.js → emergency-stop-BU-Vbk3V.js} +2 -2
  58. package/dist/{emergency-stop-D-dp9zCO.js → emergency-stop-CSSPAKHr.js} +2 -2
  59. package/dist/emergency-stop-JXB5jZyK.js +113 -0
  60. package/dist/entry.js +1 -1
  61. package/dist/{env-B5G1qwGc.js → env-B7b7MKfk.js} +1 -1
  62. package/dist/{errors-C_0nm4TJ.js → errors--Eb33_ji.js} +1 -1
  63. package/dist/extensionAPI.js +2 -2
  64. package/dist/{fetch-guard-iuQsIjqN.js → fetch-guard-OZ_PCUyr.js} +1 -1
  65. package/dist/{frontmatter-BOudmHMS.js → frontmatter-p8nPDprK.js} +2 -2
  66. package/dist/{fs-safe-CYUaAFO9.js → fs-safe-BEl8T_Vc.js} +2 -2
  67. package/dist/{gateway-cli-Dxoh3sSC.js → gateway-cli-BCHdAJHS.js} +9 -9
  68. package/dist/{gateway-cli-bZXsaQkU.js → gateway-cli-Dumy2IVU.js} +9 -9
  69. package/dist/{gemini-auth-CIyaa44H.js → gemini-auth-CA0K3QXj.js} +2 -2
  70. package/dist/{github-copilot-token-Dgt6cnsM.js → github-copilot-token-DCg9Q9Ll.js} +7 -7
  71. package/dist/{health-dLZas7f8.js → health-B3kk7l82.js} +1 -1
  72. package/dist/{health-OvNY74XL.js → health-CqdQAURH.js} +1 -1
  73. package/dist/{hooks-cli-DZr1MB1B.js → hooks-cli-Ba4woLl0.js} +3 -3
  74. package/dist/{hooks-cli-DOH-i33b.js → hooks-cli-jMG5GST1.js} +3 -3
  75. package/dist/{image-COw__ACq.js → image-BQ3RQWD8.js} +6 -6
  76. package/dist/{image-ops-D1KtygWz.js → image-ops-ZNtLhD4c.js} +1 -1
  77. package/dist/index.js +7 -7
  78. package/dist/{ir-B7IBoKLy.js → ir-DnyYtX4H.js} +5 -5
  79. package/dist/llm-slug-generator.js +60 -60
  80. package/dist/{local-roots-KN4Hp1yZ.js → local-roots-C9CA2f0R.js} +5 -5
  81. package/dist/{login-CFr5vJmR.js → login-Cn1vc1bn.js} +6 -6
  82. package/dist/{login-qr-CFFFOjOl.js → login-qr-Dj0NmRdg.js} +11 -11
  83. package/dist/{manager-BE_76jWB.js → manager-DBd_2F6j.js} +15 -15
  84. package/dist/{markdown-tables-CzsockiZ.js → markdown-tables-CsrsXS80.js} +1 -1
  85. package/dist/{message-channel-C8QtrwEU.js → message-channel-Cg9KtLfy.js} +1 -1
  86. package/dist/{model-selection-1MMYqY6M.js → model-selection-Vtu6d5Um.js} +41 -41
  87. package/dist/{models-Dvyot3-o.js → models-C6GypzZ1.js} +2 -2
  88. package/dist/{models-cli-Dtzht0md.js → models-cli-BaR1RccY.js} +4 -4
  89. package/dist/{models-cli-CKRL4j3x.js → models-cli-iLP9BnPA.js} +3 -3
  90. package/dist/{npm-resolution-BpruvRIr.js → npm-resolution-CWxaTTrT.js} +1 -1
  91. package/dist/{npm-resolution-iEXmU1Ol.js → npm-resolution-DYUWHUe5.js} +1 -1
  92. package/dist/{onboard-CS6IQorr.js → onboard-CinZ4CuY.js} +2 -2
  93. package/dist/{onboard-Ck4SwhZB.js → onboard-DdBsJgzg.js} +2 -2
  94. package/dist/{onboard-channels-CM4puuWQ.js → onboard-channels-9XAEsgO-.js} +1 -1
  95. package/dist/{onboard-channels-DzNjXM6f.js → onboard-channels-Bnwwq6TK.js} +1 -1
  96. package/dist/{onboarding-DMEJRAg4.js → onboarding-C4oujn63.js} +3 -3
  97. package/dist/{onboarding-0Pop0Cex.js → onboarding-DFvHWFqL.js} +3 -3
  98. package/dist/{onboarding.finalize-f2qChM_N.js → onboarding.finalize-BDWHPpyn.js} +6 -6
  99. package/dist/{onboarding.finalize-BZW1kZw7.js → onboarding.finalize-DMhdDTvo.js} +7 -7
  100. package/dist/{outbound-BNh6PpQb.js → outbound-BYm4JJli.js} +6 -6
  101. package/dist/{outbound-attachment-3I6GzwDe.js → outbound-attachment-DwaqvYNG.js} +2 -2
  102. package/dist/{path-alias-guards-Cu1nXNMM.js → path-alias-guards-BnjbJzIQ.js} +1 -1
  103. package/dist/{paths-D_qUel1T.js → paths-0fcEvxu4.js} +3 -3
  104. package/dist/{paths-BYNVLNi_.js → paths-CkTEyLTV.js} +5 -5
  105. package/dist/{pi-embedded-Oto02Ard.js → pi-embedded-BDp9JsrM.js} +175 -175
  106. package/dist/{pi-embedded-BKTKQn_9.js → pi-embedded-Dap1HAGA.js} +11 -11
  107. package/dist/{pi-embedded-helpers-CyTpDKo5.js → pi-embedded-helpers-B1CKQ81Y.js} +24 -24
  108. package/dist/{pi-model-discovery-Bb__OY-j.js → pi-model-discovery-DBHbwKOo.js} +7 -7
  109. package/dist/{plugin-registry-BfNJBiAr.js → plugin-registry-CGFy1ugt.js} +1 -1
  110. package/dist/{plugin-registry-PcN7mK-d.js → plugin-registry-LYzfPk35.js} +1 -1
  111. package/dist/plugin-sdk/{agent-via-gateway-l3LvRB7r.js → agent-via-gateway-De4e2_-W.js} +3 -2
  112. package/dist/plugin-sdk/{anton-DJn2RPpW.js → anton-BO16dWNw.js} +40 -11
  113. package/dist/plugin-sdk/{channel-web-DvztgyXI.js → channel-web-Cd-eamYe.js} +2 -2
  114. package/dist/plugin-sdk/commands/agent-via-gateway.d.ts +1 -0
  115. package/dist/plugin-sdk/{deps-B1DxdYuU.js → deps-D6VWIdk7.js} +1 -1
  116. package/dist/plugin-sdk/{emergency-stop-CVZuzTM7.js → emergency-stop-w-HD2bz4.js} +2 -2
  117. package/dist/plugin-sdk/index.js +3 -3
  118. package/dist/plugin-sdk/{reply-BhGucE6k.js → reply-BqAPyIsz.js} +11 -11
  119. package/dist/plugin-sdk/{web-BzmXmmAo.js → web-Dj_tThNQ.js} +3 -3
  120. package/dist/{plugins-CRB60mCJ.js → plugins-Bb6_uisJ.js} +10 -10
  121. package/dist/{plugins-cli-DOTZBHc7.js → plugins-cli-BCAcCeRZ.js} +3 -3
  122. package/dist/{plugins-cli-s1bEnfMn.js → plugins-cli-BQKfJ9aF.js} +3 -3
  123. package/dist/{program-Blak4A0H.js → program-Df-zk5RB.js} +8 -8
  124. package/dist/{program-context-DtHO30yM.js → program-context-DBOEyhi4.js} +18 -18
  125. package/dist/{prompt-select-styled-DuHE5c_O.js → prompt-select-styled-B0FsbRWb.js} +4 -4
  126. package/dist/{prompt-select-styled-D8vDTRY8.js → prompt-select-styled-DJVZSK4X.js} +4 -4
  127. package/dist/{provider-auth-helpers-PdlgGx1Z.js → provider-auth-helpers-Aojd4jNn.js} +1 -1
  128. package/dist/{provider-auth-helpers-CnqcE5__.js → provider-auth-helpers-D0cQmJkF.js} +1 -1
  129. package/dist/{push-apns-DkGS3lmo.js → push-apns-BtI9tV7C.js} +1 -1
  130. package/dist/{push-apns-CNVtKEbW.js → push-apns-qzriU6TC.js} +1 -1
  131. package/dist/{pw-ai-CowTfhOG.js → pw-ai-BKPa5DlF.js} +13 -13
  132. package/dist/{qmd-manager-B_GgyQQ0.js → qmd-manager-DEJVRLvM.js} +8 -8
  133. package/dist/{query-expansion-DEq020GG.js → query-expansion-CW7PqIXL.js} +5 -5
  134. package/dist/{redact-Bvpf-ATQ.js → redact-D1Ebz_iR.js} +1 -1
  135. package/dist/{register.agent-BGs6wEo-.js → register.agent-ButiRGeg.js} +9 -9
  136. package/dist/{register.agent-DliuXWG0.js → register.agent-Xdy9Gu3H.js} +8 -8
  137. package/dist/{register.configure-D9bNPRml.js → register.configure-f4xr9iKB.js} +8 -8
  138. package/dist/{register.configure-DJsShg2l.js → register.configure-m5qhbCOO.js} +8 -8
  139. package/dist/{register.maintenance-B-36Avrl.js → register.maintenance-BA4e0HDc.js} +8 -8
  140. package/dist/{register.maintenance-B7ZM7NqF.js → register.maintenance-N55abUee.js} +9 -9
  141. package/dist/{register.message-CmEzaYEw.js → register.message-DaVB6EYW.js} +3 -3
  142. package/dist/{register.message-Cm5P_dls.js → register.message-Zta0bYh0.js} +3 -3
  143. package/dist/{register.onboard-ByUSn1hy.js → register.onboard-BHKf5Emm.js} +2 -2
  144. package/dist/{register.onboard-cB-UkXhL.js → register.onboard-BikBO9Gs.js} +2 -2
  145. package/dist/{register.orchestrator-anton-D_mAceTk.js → register.orchestrator-anton-DtPFOV9F.js} +2 -2
  146. package/dist/{register.orchestrator-anton-CADua5Nr.js → register.orchestrator-anton-x3yGok7b.js} +2 -2
  147. package/dist/{register.setup-CA3WwC1V.js → register.setup-BeRMjZaz.js} +2 -2
  148. package/dist/{register.setup-DOnWysTP.js → register.setup-DCIPrpG0.js} +2 -2
  149. package/dist/{register.status-health-sessions-DgR30NBl.js → register.status-health-sessions-CA5wMwpi.js} +4 -4
  150. package/dist/{register.status-health-sessions-Dsvbkrhh.js → register.status-health-sessions-I0YSjY_V.js} +4 -4
  151. package/dist/{register.subclis-CvN5J3oh.js → register.subclis-DZkq_g35.js} +9 -9
  152. package/dist/{replies-6_GxvQYe.js → replies-CXcxPRWk.js} +3 -3
  153. package/dist/{reply-D6y5faqD.js → reply-DlS9HBVo.js} +11 -11
  154. package/dist/{reply-prefix-BUgeSN2R.js → reply-prefix-49q2WQ2B.js} +1 -1
  155. package/dist/{resolve-route-DuttYY7A.js → resolve-route-Dr-fqH39.js} +4 -4
  156. package/dist/{retry-BeB9WenR.js → retry-DWN-e4ja.js} +1 -1
  157. package/dist/{run-main-BBYeikWD.js → run-main-B75ak_hb.js} +15 -15
  158. package/dist/{runner-BzNdfqDz.js → runner-DO528Ump.js} +11 -11
  159. package/dist/{send-BeIZJuy4.js → send-BspIjWIY.js} +7 -7
  160. package/dist/{send-DmLC7aEF.js → send-BypmtKl1.js} +10 -10
  161. package/dist/{send-D4bMycQu.js → send-CRnMBrJ2.js} +7 -7
  162. package/dist/{send-Dfa3sn6r.js → send-De8xTUIV.js} +24 -24
  163. package/dist/{send-C1hvd3bt.js → send-szC_vYk_.js} +6 -6
  164. package/dist/{server-node-events-CcAiA2an.js → server-node-events-B1RPoseF.js} +3 -3
  165. package/dist/{server-node-events-DeBYOK05.js → server-node-events-CufCnFp4.js} +3 -3
  166. package/dist/{session-F_YDS_1V.js → session-CKiIT4OY.js} +7 -7
  167. package/dist/{sessions-3ioSeOA1.js → sessions-BgxmLQuf.js} +41 -41
  168. package/dist/{skill-commands-Ck3flWX7.js → skill-commands-BOUMR5De.js} +9 -9
  169. package/dist/{skills-CnAPWfca.js → skills-OsjsCf_S.js} +22 -22
  170. package/dist/{status-Dd0rJBTD.js → status-ERmEJYw1.js} +2 -2
  171. package/dist/{status-BW8aF7xu.js → status-hXjECVBh.js} +2 -2
  172. package/dist/{store-CvMgrKWx.js → store-B4rHJvSg.js} +2 -2
  173. package/dist/{subagent-registry-DeXWDNty.js → subagent-registry-CcxZYIwL.js} +11 -11
  174. package/dist/{subsystem-tzu-rIAJ.js → subsystem-B98oWbbO.js} +1 -1
  175. package/dist/{tables-5k-zOZ-s.js → tables-DuOExt0S.js} +1 -1
  176. package/dist/{target-errors-BPfQrPim.js → target-errors-CWZr3RMI.js} +2 -2
  177. package/dist/{tokens-BRLyURxW.js → tokens-B9ArFCMX.js} +1 -1
  178. package/dist/{tool-images-CcGZpzmq.js → tool-images-DLiBUCZb.js} +2 -2
  179. package/dist/{tool-loop-detection-BNGetx3Z.js → tool-loop-detection-j48jLTrr.js} +3 -3
  180. package/dist/{update-cli-C97163Ne.js → update-cli-DROtjWg7.js} +9 -9
  181. package/dist/{update-cli-DLWAR9u6.js → update-cli-Rnv68OR6.js} +8 -8
  182. package/dist/{update-runner-Cft2lh5r.js → update-runner-BWxBVG9j.js} +1 -1
  183. package/dist/{update-runner-BV9LWTCG.js → update-runner-CqeNDbPD.js} +1 -1
  184. package/dist/{utils-CTFLl_ji.js → utils-ChNzRVsg.js} +18 -18
  185. package/dist/{web-BwZ1OGaX.js → web-5ddwA0bs.js} +66 -66
  186. package/dist/{web-D8zB-Qkg.js → web-BMSzFWiF.js} +3 -3
  187. package/dist/{web-DGPTqAhk.js → web-BQLIquZA.js} +3 -3
  188. package/dist/{web-Da_aB4Vm.js → web-CnzKMZK0.js} +3 -3
  189. package/dist/{whatsapp-actions-DbPcN6JQ.js → whatsapp-actions-CYraflBZ.js} +25 -25
  190. package/dist/{workspace-DBFSzT6O.js → workspace-AM44PzIs.js} +18 -18
  191. package/extensions/acpx/package.json +1 -1
  192. package/extensions/bluebubbles/package.json +1 -1
  193. package/extensions/copilot-proxy/package.json +1 -1
  194. package/extensions/diagnostics-otel/package.json +1 -1
  195. package/extensions/discord/package.json +1 -1
  196. package/extensions/feishu/package.json +1 -1
  197. package/extensions/google-gemini-cli-auth/package.json +1 -1
  198. package/extensions/googlechat/package.json +1 -1
  199. package/extensions/hand/package.json +1 -1
  200. package/extensions/imessage/package.json +1 -1
  201. package/extensions/irc/package.json +1 -1
  202. package/extensions/line/package.json +1 -1
  203. package/extensions/llm-task/package.json +1 -1
  204. package/extensions/matrix/CHANGELOG.md +12 -0
  205. package/extensions/matrix/package.json +1 -1
  206. package/extensions/mattermost/package.json +1 -1
  207. package/extensions/memory-core/package.json +1 -1
  208. package/extensions/memory-lancedb/package.json +1 -1
  209. package/extensions/minimax-portal-auth/package.json +1 -1
  210. package/extensions/msteams/CHANGELOG.md +12 -0
  211. package/extensions/msteams/package.json +1 -1
  212. package/extensions/nextcloud-talk/package.json +1 -1
  213. package/extensions/nostr/CHANGELOG.md +12 -0
  214. package/extensions/nostr/package.json +1 -1
  215. package/extensions/open-prose/package.json +1 -1
  216. package/extensions/signal/package.json +1 -1
  217. package/extensions/slack/package.json +1 -1
  218. package/extensions/synology-chat/package.json +1 -1
  219. package/extensions/telegram/package.json +1 -1
  220. package/extensions/tlon/package.json +1 -1
  221. package/extensions/twitch/CHANGELOG.md +12 -0
  222. package/extensions/twitch/package.json +1 -1
  223. package/extensions/voice-call/CHANGELOG.md +12 -0
  224. package/extensions/voice-call/package.json +1 -1
  225. package/extensions/whatsapp/package.json +1 -1
  226. package/extensions/zalo/CHANGELOG.md +12 -0
  227. package/extensions/zalo/package.json +1 -1
  228. package/extensions/zalouser/CHANGELOG.md +12 -0
  229. package/extensions/zalouser/package.json +1 -1
  230. package/package.json +1 -1
  231. package/dist/emergency-stop-w0AyIMs7.js +0 -113
@@ -72,7 +72,7 @@ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-rou
72
72
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-BnWIC6Jc.js";
73
73
  import { t as makeProxyFetch } from "./proxy-CNZpb4NE.js";
74
74
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CqYEEgmA.js";
75
- import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-C28cWNmF.js";
75
+ import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-BMWq0kjy.js";
76
76
  import { createRequire } from "node:module";
77
77
  import * as path$1 from "node:path";
78
78
  import path, { isAbsolute } from "node:path";
@@ -23058,7 +23058,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23058
23058
  };
23059
23059
  const arg = body.slice(6).trim();
23060
23060
  if (arg === "status" || arg === "") {
23061
- const { antonStatus } = await import("./anton-BomwkDBv.js");
23061
+ const { antonStatus } = await import("./anton-BrY-bWgq.js");
23062
23062
  const lines = [];
23063
23063
  await antonStatus({
23064
23064
  log: (msg) => lines.push(msg),
@@ -23074,7 +23074,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23074
23074
  return { shouldContinue: false };
23075
23075
  }
23076
23076
  if (arg === "stop") {
23077
- const { antonStop } = await import("./anton-BomwkDBv.js");
23077
+ const { antonStop } = await import("./anton-BrY-bWgq.js");
23078
23078
  const lines = [];
23079
23079
  await antonStop({
23080
23080
  log: (msg) => lines.push(msg),
@@ -23112,8 +23112,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23112
23112
  await sendProgress(replyCtx, text);
23113
23113
  return { shouldContinue: false };
23114
23114
  }
23115
- const { runAnton, formatProgressMessage } = await import("./anton-BomwkDBv.js");
23116
- const { createDefaultDeps } = await import("./deps-C28cWNmF.js").then((n) => n.n);
23115
+ const { runAnton, formatProgressMessage } = await import("./anton-BrY-bWgq.js");
23116
+ const { createDefaultDeps } = await import("./deps-BMWq0kjy.js").then((n) => n.n);
23117
23117
  const { createNonExitingRuntime } = await import("./runtime-8mi3mpYB.js").then((n) => n.r);
23118
23118
  const runtime = createNonExitingRuntime();
23119
23119
  const deps = createDefaultDeps();
@@ -57266,7 +57266,7 @@ function createDiscordMessageHandler(params) {
57266
57266
  try {
57267
57267
  const messageText = resolveDiscordMessageText(data.message)?.trim();
57268
57268
  if (messageText) {
57269
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-h5_WOPZT.js");
57269
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BU-Vbk3V.js");
57270
57270
  if (isAbortRequestText(messageText)) {
57271
57271
  const { resolveAgentRoute } = await import("./resolve-route-BI3VjtwE.js").then((n) => n.r);
57272
57272
  const channelId = resolveDiscordMessageChannelId({
@@ -64764,7 +64764,7 @@ async function monitorIMessageProvider(opts = {}) {
64764
64764
  }
64765
64765
  const msgText = (message.text ?? "").trim();
64766
64766
  if (msgText) {
64767
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-h5_WOPZT.js");
64767
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BU-Vbk3V.js");
64768
64768
  if (isAbortRequestText(msgText)) {
64769
64769
  const { resolveAgentRoute } = await import("./resolve-route-BI3VjtwE.js").then((n) => n.r);
64770
64770
  const route = resolveAgentRoute({
@@ -67375,7 +67375,7 @@ function createSignalEventHandler(deps) {
67375
67375
  const senderName = envelope.sourceName ?? senderDisplay;
67376
67376
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
67377
67377
  if (bodyText) {
67378
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-h5_WOPZT.js");
67378
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BU-Vbk3V.js");
67379
67379
  if (isAbortRequestText(bodyText)) {
67380
67380
  const { resolveAgentRoute } = await import("./resolve-route-BI3VjtwE.js").then((n) => n.r);
67381
67381
  const route = resolveAgentRoute({
@@ -70757,7 +70757,7 @@ function createSlackMessageHandler(params) {
70757
70757
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
70758
70758
  const rawText = (message.text ?? "").trim();
70759
70759
  if (rawText) {
70760
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-h5_WOPZT.js");
70760
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BU-Vbk3V.js");
70761
70761
  if (isAbortRequestText(rawText)) {
70762
70762
  const { resolveAgentRoute } = await import("./resolve-route-BI3VjtwE.js").then((n) => n.r);
70763
70763
  const route = resolveAgentRoute({
@@ -72951,7 +72951,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
72951
72951
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
72952
72952
  const text = typeof msg.text === "string" ? msg.text : void 0;
72953
72953
  if (text) {
72954
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-h5_WOPZT.js");
72954
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-BU-Vbk3V.js");
72955
72955
  if (isAbortRequestText(text)) {
72956
72956
  const senderId = msg.from?.id ? String(msg.from.id) : "";
72957
72957
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -76436,7 +76436,7 @@ function loadWebLoginQr() {
76436
76436
  return webLoginQrPromise;
76437
76437
  }
76438
76438
  function loadWebChannel() {
76439
- webChannelPromise ??= import("./web-DGPTqAhk.js");
76439
+ webChannelPromise ??= import("./web-BQLIquZA.js");
76440
76440
  return webChannelPromise;
76441
76441
  }
76442
76442
  function loadWhatsAppActions() {
@@ -1,28 +1,28 @@
1
- import { d as resolveSessionAgentId, r as resolveAgentConfig } from "./agent-scope-DyP_tr7s.js";
2
- import { n as STATE_DIR, s as resolveGatewayPort } from "./paths-BYNVLNi_.js";
3
- import { n as CHANNEL_IDS, t as createSubsystemLogger } from "./subsystem-tzu-rIAJ.js";
4
- import { S as truncateUtf16Safe, h as resolveUserPath } from "./utils-CTFLl_ji.js";
1
+ import { d as resolveSessionAgentId, r as resolveAgentConfig } from "./agent-scope-BVeQuh5x.js";
2
+ import { n as STATE_DIR, s as resolveGatewayPort } from "./paths-CkTEyLTV.js";
3
+ import { n as CHANNEL_IDS, t as createSubsystemLogger } from "./subsystem-B98oWbbO.js";
4
+ import { S as truncateUtf16Safe, h as resolveUserPath } from "./utils-ChNzRVsg.js";
5
5
  import { n as defaultRuntime } from "./runtime-8mi3mpYB.js";
6
6
  import { l as resolveAgentIdFromSessionKey, s as normalizeAgentId } from "./session-key-CuLPSMu_.js";
7
- import { _ as runExec, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_USER_FILENAME, i as DEFAULT_HEARTBEAT_FILENAME, k as resolvePathViaExistingAncestorSync, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, w as openBoundaryFile } from "./workspace-DBFSzT6O.js";
8
- import { $ as getBlockedNetworkModeReason, H as writeConfigFile, L as createConfigIO, R as loadConfig } from "./model-selection-1MMYqY6M.js";
7
+ import { _ as runExec, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_USER_FILENAME, i as DEFAULT_HEARTBEAT_FILENAME, k as resolvePathViaExistingAncestorSync, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, w as openBoundaryFile } from "./workspace-AM44PzIs.js";
8
+ import { $ as getBlockedNetworkModeReason, H as writeConfigFile, L as createConfigIO, R as loadConfig } from "./model-selection-Vtu6d5Um.js";
9
9
  import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
10
10
  import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
11
11
  import { t as generateSecureToken } from "./secure-random-B1N_MXT_.js";
12
- import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-D1KtygWz.js";
13
- import { B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as ensureChromeExtensionRelayServer, D as DEFAULT_TRACE_DIR, E as DEFAULT_DOWNLOAD_DIR, H as DEFAULT_IDLEHANDS_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, N as normalizeBrowserFormField, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, U as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, V as DEFAULT_IDLEHANDS_BROWSER_COLOR, _ as withBrowserNavigationPolicy, a as resolveIdleHandsUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchIdleHandsChrome, j as resolveWritablePathWithinRoot, k as resolveExistingPathsWithinRoot, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopIdleHandsChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./chrome-_2tzVjVl.js";
12
+ import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-ZNtLhD4c.js";
13
+ import { B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as ensureChromeExtensionRelayServer, D as DEFAULT_TRACE_DIR, E as DEFAULT_DOWNLOAD_DIR, H as DEFAULT_IDLEHANDS_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, N as normalizeBrowserFormField, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, U as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, V as DEFAULT_IDLEHANDS_BROWSER_COLOR, _ as withBrowserNavigationPolicy, a as resolveIdleHandsUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchIdleHandsChrome, j as resolveWritablePathWithinRoot, k as resolveExistingPathsWithinRoot, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopIdleHandsChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./chrome-D_SXDetO.js";
14
14
  import { t as SsrFBlockedError } from "./ssrf-CZeHDwVZ.js";
15
- import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-CnAPWfca.js";
16
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cu1nXNMM.js";
17
- import { n as formatErrorMessage, t as extractErrorCode } from "./errors-C_0nm4TJ.js";
18
- import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-CvMgrKWx.js";
19
- import { H as resolveAgentMainSessionKey, V as canonicalizeMainSessionAlias, q as acquireSessionWriteLock } from "./sessions-3ioSeOA1.js";
20
- import { t as sanitizeContentBlocksImages } from "./tool-images-CcGZpzmq.js";
15
+ import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-OsjsCf_S.js";
16
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BnjbJzIQ.js";
17
+ import { n as formatErrorMessage, t as extractErrorCode } from "./errors--Eb33_ji.js";
18
+ import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-B4rHJvSg.js";
19
+ import { H as resolveAgentMainSessionKey, V as canonicalizeMainSessionAlias, q as acquireSessionWriteLock } from "./sessions-BgxmLQuf.js";
20
+ import { t as sanitizeContentBlocksImages } from "./tool-images-DLiBUCZb.js";
21
21
  import { o as normalizeThinkLevel } from "./thinking-z4_linel.js";
22
22
  import fs from "node:fs/promises";
23
23
  import os from "node:os";
24
24
  import path, { posix } from "node:path";
25
- import syncFs, { existsSync } from "node:fs";
25
+ import fsSync, { existsSync } from "node:fs";
26
26
  import { spawn } from "node:child_process";
27
27
  import crypto, { createHash, timingSafeEqual } from "node:crypto";
28
28
  import express from "express";
@@ -1182,7 +1182,7 @@ function isModuleNotFoundError(err) {
1182
1182
  }
1183
1183
  async function loadPwAiModule(mode) {
1184
1184
  try {
1185
- return await import("./pw-ai-CowTfhOG.js");
1185
+ return await import("./pw-ai-BKPa5DlF.js");
1186
1186
  } catch (err) {
1187
1187
  if (mode === "soft") return null;
1188
1188
  if (isModuleNotFoundError(err)) return null;
@@ -2922,11 +2922,11 @@ async function movePathToTrash(targetPath) {
2922
2922
  return targetPath;
2923
2923
  } catch {
2924
2924
  const trashDir = path.join(os.homedir(), ".Trash");
2925
- syncFs.mkdirSync(trashDir, { recursive: true });
2925
+ fsSync.mkdirSync(trashDir, { recursive: true });
2926
2926
  const base = path.basename(targetPath);
2927
2927
  let dest = path.join(trashDir, `${base}-${Date.now()}`);
2928
- if (syncFs.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${generateSecureToken(6)}`);
2929
- syncFs.renameSync(targetPath, dest);
2928
+ if (fsSync.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${generateSecureToken(6)}`);
2929
+ fsSync.renameSync(targetPath, dest);
2930
2930
  return dest;
2931
2931
  }
2932
2932
  }
@@ -3004,7 +3004,7 @@ function createBrowserProfilesService(ctx) {
3004
3004
  } catch {}
3005
3005
  const userDataDir = resolveIdleHandsUserDataDir(name);
3006
3006
  const profileDir = path.dirname(userDataDir);
3007
- if (syncFs.existsSync(profileDir)) {
3007
+ if (fsSync.existsSync(profileDir)) {
3008
3008
  await movePathToTrash(profileDir);
3009
3009
  deleted = true;
3010
3010
  }
@@ -3717,13 +3717,13 @@ function createProfileContext(opts, profile) {
3717
3717
  const userDataDir = resolveIdleHandsUserDataDir(profile.name);
3718
3718
  const profileState = getProfileState();
3719
3719
  if (await isHttpReachable(300) && !profileState.running) try {
3720
- await (await import("./pw-ai-CowTfhOG.js")).closePlaywrightBrowserConnection();
3720
+ await (await import("./pw-ai-BKPa5DlF.js")).closePlaywrightBrowserConnection();
3721
3721
  } catch {}
3722
3722
  if (profileState.running) await stopRunningBrowser();
3723
3723
  try {
3724
- await (await import("./pw-ai-CowTfhOG.js")).closePlaywrightBrowserConnection();
3724
+ await (await import("./pw-ai-BKPa5DlF.js")).closePlaywrightBrowserConnection();
3725
3725
  } catch {}
3726
- if (!syncFs.existsSync(userDataDir)) return {
3726
+ if (!fsSync.existsSync(userDataDir)) return {
3727
3727
  moved: false,
3728
3728
  from: userDataDir
3729
3729
  };
@@ -5350,7 +5350,7 @@ var SandboxFsBridgeImpl = class {
5350
5350
  });
5351
5351
  if (!guarded.ok) {
5352
5352
  if (guarded.reason !== "path" || options.allowMissingTarget === false) throw guarded.error instanceof Error ? guarded.error : /* @__PURE__ */ new Error(`Sandbox boundary checks failed; cannot ${options.action}: ${target.containerPath}`);
5353
- } else syncFs.closeSync(guarded.fd);
5353
+ } else fsSync.closeSync(guarded.fd);
5354
5354
  const canonicalContainerPath = await this.resolveCanonicalContainerPath({
5355
5355
  containerPath: target.containerPath,
5356
5356
  allowFinalSymlinkForUnlink: options.aliasPolicy?.allowFinalSymlinkForUnlink === true
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { c as normalizeProviderId, ln as ensureAuthProfileStore } from "./model-selection-1MMYqY6M.js";
2
+ import { c as normalizeProviderId, ln as ensureAuthProfileStore } from "./model-selection-Vtu6d5Um.js";
3
3
  import path from "node:path";
4
- import syncFs from "node:fs";
4
+ import fsSync from "node:fs";
5
5
  import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
6
6
 
7
7
  //#region src/agents/pi-auth-credentials.ts
@@ -70,10 +70,10 @@ function isRecord(value) {
70
70
  }
71
71
  function scrubLegacyStaticAuthJsonEntries(pathname) {
72
72
  if (process.env.IDLEHANDS_AUTH_STORE_READONLY === "1") return;
73
- if (!syncFs.existsSync(pathname)) return;
73
+ if (!fsSync.existsSync(pathname)) return;
74
74
  let parsed;
75
75
  try {
76
- parsed = JSON.parse(syncFs.readFileSync(pathname, "utf8"));
76
+ parsed = JSON.parse(fsSync.readFileSync(pathname, "utf8"));
77
77
  } catch {
78
78
  return;
79
79
  }
@@ -87,11 +87,11 @@ function scrubLegacyStaticAuthJsonEntries(pathname) {
87
87
  }
88
88
  if (!changed) return;
89
89
  if (Object.keys(parsed).length === 0) {
90
- syncFs.rmSync(pathname, { force: true });
90
+ fsSync.rmSync(pathname, { force: true });
91
91
  return;
92
92
  }
93
- syncFs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
- syncFs.chmodSync(pathname, 384);
93
+ fsSync.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
+ fsSync.chmodSync(pathname, 384);
95
95
  }
96
96
  function createAuthStorage(AuthStorageLike, path, creds) {
97
97
  const withInMemory = AuthStorageLike;
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { E as getActivePluginRegistry, s as createSubsystemLogger } from "./entry.js";
3
3
  import { j as loadConfig } from "./auth-profiles-Baj5ImDJ.js";
4
4
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-mLXQGQde.js";
5
- import { _ as loadIdleHandsPlugins } from "./subagent-registry-DeXWDNty.js";
5
+ import { _ as loadIdleHandsPlugins } from "./subagent-registry-CcxZYIwL.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { ht as loadIdleHandsPlugins } from "./reply-D6y5faqD.js";
2
+ import { ht as loadIdleHandsPlugins } from "./reply-DlS9HBVo.js";
3
3
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
4
4
  import { b as getActivePluginRegistry, t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
5
5
  import { It as loadConfig } from "./model-selection-0dGxYGp8.js";
@@ -1,6 +1,6 @@
1
1
  import { s as normalizeAgentId } from "./session-key-47BV2tLd.js";
2
2
  import "./accounts-BLYMokxV.js";
3
- import { F as callGateway, I as randomIdempotencyKey, d as agentCommand, f as resolveSessionKeyForRequest, p as withProgress } from "./reply-BhGucE6k.js";
3
+ import { F as callGateway, I as randomIdempotencyKey, d as agentCommand, f as resolveSessionKeyForRequest, p as withProgress } from "./reply-BqAPyIsz.js";
4
4
  import "./paths-CtGV5i8O.js";
5
5
  import "./github-copilot-token-CY2euW0d.js";
6
6
  import { r as loadConfig } from "./config-CEgzwk0J.js";
@@ -63,7 +63,7 @@ import "./send-B26cNPqY.js";
63
63
  import "./proxy-C4ewPdlN.js";
64
64
  import "./resolve-route-BZABUE4J.js";
65
65
  import "./replies-ZovJp-3F.js";
66
- import "./deps-B1DxdYuU.js";
66
+ import "./deps-D6VWIdk7.js";
67
67
  import "./outbound-attachment-BisU5Vji.js";
68
68
 
69
69
  //#region src/commands/agent-via-gateway.ts
@@ -126,6 +126,7 @@ async function agentViaGatewayCommand(opts, runtime) {
126
126
  timeout: timeoutSeconds,
127
127
  lane: opts.lane,
128
128
  extraSystemPrompt: opts.extraSystemPrompt,
129
+ workspaceDir: opts.workspaceDir,
129
130
  idempotencyKey
130
131
  },
131
132
  expectFinal: true,
@@ -219,7 +219,7 @@ async function loadAntonConfig() {
219
219
  }
220
220
  }
221
221
  async function runAgentTask(args) {
222
- const { agentCliCommand } = await import("./agent-via-gateway-l3LvRB7r.js");
222
+ const { agentCliCommand } = await import("./agent-via-gateway-De4e2_-W.js");
223
223
  const extraSystemPrompt = args.workspaceDir ? `Your working directory is: ${args.workspaceDir}\nAll file paths are relative to this directory. Use this as your cwd for all operations.` : void 0;
224
224
  const result = await agentCliCommand({
225
225
  message: args.message,
@@ -229,7 +229,8 @@ async function runAgentTask(args) {
229
229
  timeout: args.timeout,
230
230
  json: true,
231
231
  deliver: false,
232
- extraSystemPrompt
232
+ extraSystemPrompt,
233
+ workspaceDir: args.workspaceDir
233
234
  }, args.runtime, args.deps);
234
235
  return { text: (result && typeof result === "object" && "result" in result ? result.result?.payloads ?? [] : []).map((p) => typeof p?.text === "string" ? p.text.trim() : "").filter(Boolean).join("\n\n").trim() };
235
236
  }
@@ -239,18 +240,44 @@ function makePlanFilePath(planDir, taskIndex) {
239
240
  async function ensurePlanDir(planDir) {
240
241
  await fs.mkdir(planDir, { recursive: true });
241
242
  }
243
+ function looksLikeStatusJsonOnly(text) {
244
+ const trimmed = text.trim();
245
+ if (!trimmed.startsWith("{") || !trimmed.endsWith("}")) return false;
246
+ try {
247
+ const parsed = JSON.parse(trimmed);
248
+ const keys = Object.keys(parsed).toSorted();
249
+ return keys.length <= 3 && keys.includes("status") && keys.includes("filename");
250
+ } catch {
251
+ return false;
252
+ }
253
+ }
254
+ function isUsefulPlanText(text) {
255
+ const trimmed = text.trim();
256
+ if (trimmed.length < 120) return false;
257
+ if (looksLikeStatusJsonOnly(trimmed)) return false;
258
+ return /^#\s+/m.test(trimmed) || /\b(Implementation approach|What needs to change|Files to modify|How to verify)\b/i.test(trimmed);
259
+ }
242
260
  async function isPlanFileValid(filePath) {
243
261
  try {
244
262
  const stat = await fs.stat(filePath);
245
- return stat.isFile() && stat.size > 10;
263
+ if (!stat.isFile() || stat.size < 20) return false;
264
+ return isUsefulPlanText(await fs.readFile(filePath, "utf8"));
246
265
  } catch {
247
266
  return false;
248
267
  }
249
268
  }
250
- async function getGitChangedFileCount(cwd) {
269
+ async function getGitChangedFileCount(cwd, ignorePaths = []) {
251
270
  try {
252
271
  const { stdout } = await execFile$1("git", ["status", "--porcelain"], { cwd });
253
- return stdout.split(/\r?\n/).map((line) => line.trim()).filter(Boolean).length;
272
+ const ignores = ignorePaths.map((p) => p.replace(/\\/g, "/").replace(/^\.\//, "")).filter(Boolean);
273
+ return stdout.split(/\r?\n/).map((line) => line.trimEnd()).filter(Boolean).map((line) => {
274
+ const raw = line.slice(3).trim();
275
+ return (raw.includes(" -> ") ? raw.split(" -> ").at(-1) ?? raw : raw).replace(/\\/g, "/").replace(/^\.\//, "");
276
+ }).filter((file) => {
277
+ if (!file) return false;
278
+ if (file.startsWith(".agents/tasks/")) return false;
279
+ return !ignores.some((ignore) => file === ignore || file.startsWith(`${ignore}/`));
280
+ }).length;
254
281
  } catch {
255
282
  return null;
256
283
  }
@@ -284,7 +311,7 @@ function extractJsonObject(text) {
284
311
  }
285
312
  function extractPlanMarkdownFromText(text) {
286
313
  const candidate = text.match(/```(?:markdown|md)?\s*([\s\S]*?)```/i)?.[1]?.trim() ?? text.trim();
287
- if (candidate.length < 60) return;
314
+ if (!isUsefulPlanText(candidate)) return;
288
315
  return candidate;
289
316
  }
290
317
  function normalizeDiscoveryFilename(filename, expectedPlanFile) {
@@ -308,7 +335,7 @@ Task: ${task}`;
308
335
  }
309
336
  async function tryPersistPlanFallback(params) {
310
337
  const planText = (((typeof params.parsed?.planMarkdown === "string" ? params.parsed.planMarkdown : void 0) ?? (typeof params.parsed?.plan === "string" ? params.parsed.plan : void 0))?.trim() || extractPlanMarkdownFromText(params.rawText) || "").trim();
311
- if (planText.length < 60) return false;
338
+ if (!isUsefulPlanText(planText)) return false;
312
339
  await fs.writeFile(params.planFile, `${planText}\n`, "utf8");
313
340
  return await isPlanFileValid(params.planFile);
314
341
  }
@@ -342,7 +369,7 @@ async function runDiscoveryPhase(args) {
342
369
  workspaceDir: args.workspaceDir
343
370
  });
344
371
  const firstParsed = extractJsonObject(firstPass.text);
345
- if ((firstParsed?.status ?? "").toLowerCase() === "complete") return { status: "complete" };
372
+ if ((firstParsed?.status ?? "").toLowerCase() === "complete") throw new Error("Discovery claimed task already complete without a verifiable plan artifact; refusing auto-complete");
346
373
  const declaredPlanFile = normalizeDiscoveryFilename(firstParsed?.filename, planFile);
347
374
  if (await isPlanFileValid(declaredPlanFile)) {
348
375
  await args.notify({
@@ -393,7 +420,7 @@ async function runDiscoveryPhase(args) {
393
420
  workspaceDir: args.workspaceDir
394
421
  });
395
422
  const repairParsed = extractJsonObject(repairPass.text);
396
- if ((repairParsed?.status ?? "").toLowerCase() === "complete") return { status: "complete" };
423
+ if ((repairParsed?.status ?? "").toLowerCase() === "complete") throw new Error("Discovery repair claimed task complete without a verifiable plan artifact; refusing auto-complete");
397
424
  const repairPlanFile = normalizeDiscoveryFilename(repairParsed?.filename, declaredPlanFile);
398
425
  if (await isPlanFileValid(repairPlanFile) || await tryPersistPlanFallback({
399
426
  planFile: repairPlanFile,
@@ -651,7 +678,9 @@ async function runAnton(args) {
651
678
  });
652
679
  const implPrompt = planFile ? buildImplementationPrompt(task.text, planFile) : buildDirectTaskPrompt(task.text);
653
680
  const gitCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
654
- const changedBefore = await getGitChangedFileCount(gitCwd);
681
+ const taskFileRel = path.relative(gitCwd, filePath).replace(/\\/g, "/");
682
+ const changeIgnores = taskFileRel.startsWith("..") ? [] : [taskFileRel];
683
+ const changedBefore = await getGitChangedFileCount(gitCwd, changeIgnores);
655
684
  await runAgentTask({
656
685
  message: implPrompt,
657
686
  sessionId: implSessionId,
@@ -662,7 +691,7 @@ async function runAnton(args) {
662
691
  deps: args.deps,
663
692
  workspaceDir: args.workspaceDir
664
693
  });
665
- const changedAfter = await getGitChangedFileCount(gitCwd);
694
+ const changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
666
695
  if (mode === "preflight" && changedBefore !== null && changedAfter !== null && changedAfter <= changedBefore) throw new Error("Implementation made no repository changes; refusing to mark task complete");
667
696
  const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
668
697
  await fs.writeFile(filePath, updated, "utf8");
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, f as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-47BV2tLd.js";
2
2
  import { i as resolveWhatsAppAccount } from "./accounts-BLYMokxV.js";
3
- import { A as formatDurationPrecise, Ct as formatInboundEnvelope, Gt as resolveOpenProviderRuntimeGroupPolicy, Lt as resolveDmGroupAccessWithCommandGate, Mt as buildPairingReply, Pt as readStoreAllowFromForDmPolicy, Rt as resolveDmGroupAccessWithLists, Tt as resolveEnvelopeFormatOptions, Wt as resolveDefaultGroupPolicy, X as shouldAckReactionForWhatsApp, Z as resolveMentionGating, _ as resolveInboundDebounceMs, ct as recordPendingHistoryEntryIfEnabled, g as createInboundDebouncer, i as parseActivationCommand, j as enqueueSystemEvent, l as computeBackoff, lt as buildMentionRegexes, m as dispatchReplyWithBufferedBlockDispatcher, nt as buildHistoryContextFromEntries, qt as warnMissingProviderGroupPolicyFallbackOnce, r as normalizeGroupActivation, t as getReplyFromConfig, tt as DEFAULT_GROUP_HISTORY_LIMIT, u as sleepWithAbort, ut as normalizeMentionText, v as hasControlCommand, y as shouldComputeCommandAuthorized, yt as createDedupeCache } from "./reply-BhGucE6k.js";
3
+ import { A as formatDurationPrecise, Ct as formatInboundEnvelope, Gt as resolveOpenProviderRuntimeGroupPolicy, Lt as resolveDmGroupAccessWithCommandGate, Mt as buildPairingReply, Pt as readStoreAllowFromForDmPolicy, Rt as resolveDmGroupAccessWithLists, Tt as resolveEnvelopeFormatOptions, Wt as resolveDefaultGroupPolicy, X as shouldAckReactionForWhatsApp, Z as resolveMentionGating, _ as resolveInboundDebounceMs, ct as recordPendingHistoryEntryIfEnabled, g as createInboundDebouncer, i as parseActivationCommand, j as enqueueSystemEvent, l as computeBackoff, lt as buildMentionRegexes, m as dispatchReplyWithBufferedBlockDispatcher, nt as buildHistoryContextFromEntries, qt as warnMissingProviderGroupPolicyFallbackOnce, r as normalizeGroupActivation, t as getReplyFromConfig, tt as DEFAULT_GROUP_HISTORY_LIMIT, u as sleepWithAbort, ut as normalizeMentionText, v as hasControlCommand, y as shouldComputeCommandAuthorized, yt as createDedupeCache } from "./reply-BqAPyIsz.js";
4
4
  import { r as loadConfig } from "./config-CEgzwk0J.js";
5
5
  import { A as shouldLogVerbose, D as logVerbose, I as getChildLogger, d as normalizeE164, l as isSelfChatMode, m as resolveJidToE164, n as clamp, u as jidToE164, x as toWhatsappJid, y as sleep } from "./utils-Dyj2wV4e.js";
6
6
  import { l as normalizeChatChannelId, t as createSubsystemLogger } from "./subsystem-DWPzKeZ0.js";
@@ -878,7 +878,7 @@ async function monitorWebInbox(options) {
878
878
  };
879
879
  const stopText = (inboundMessage.body ?? "").trim();
880
880
  if (stopText) {
881
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVZuzTM7.js");
881
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
882
882
  if (isAbortRequestText(stopText)) {
883
883
  const { loadConfig: loadCfg } = await import("./config-CEgzwk0J.js").then((n) => n.t);
884
884
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
@@ -32,6 +32,7 @@ export type AgentCliOpts = {
32
32
  lane?: string;
33
33
  runId?: string;
34
34
  extraSystemPrompt?: string;
35
+ workspaceDir?: string;
35
36
  local?: boolean;
36
37
  };
37
38
  export declare function agentViaGatewayCommand(opts: AgentCliOpts, runtime: RuntimeEnv): Promise<GatewayAgentResponse>;
@@ -18,7 +18,7 @@ var deps_exports = /* @__PURE__ */ __exportAll({ createDefaultDeps: () => create
18
18
  function createDefaultDeps() {
19
19
  return {
20
20
  sendMessageWhatsApp: async (...args) => {
21
- const { sendMessageWhatsApp } = await import("./web-BzmXmmAo.js");
21
+ const { sendMessageWhatsApp } = await import("./web-Dj_tThNQ.js");
22
22
  return await sendMessageWhatsApp(...args);
23
23
  },
24
24
  sendMessageTelegram: async (...args) => {
@@ -1,5 +1,5 @@
1
1
  import "./accounts-BLYMokxV.js";
2
- import { S as stopSubagentsForRequester, b as formatAbortReplyText, n as abortEmbeddedPiRun, w as clearSessionQueues, x as isAbortRequestText } from "./reply-BhGucE6k.js";
2
+ import { S as stopSubagentsForRequester, b as formatAbortReplyText, n as abortEmbeddedPiRun, w as clearSessionQueues, x as isAbortRequestText } from "./reply-BqAPyIsz.js";
3
3
  import "./paths-CtGV5i8O.js";
4
4
  import "./github-copilot-token-CY2euW0d.js";
5
5
  import "./config-CEgzwk0J.js";
@@ -61,7 +61,7 @@ import "./send-B26cNPqY.js";
61
61
  import "./proxy-C4ewPdlN.js";
62
62
  import "./resolve-route-BZABUE4J.js";
63
63
  import "./replies-ZovJp-3F.js";
64
- import "./deps-B1DxdYuU.js";
64
+ import "./deps-D6VWIdk7.js";
65
65
  import "./outbound-attachment-BisU5Vji.js";
66
66
 
67
67
  //#region src/auto-reply/reply/emergency-stop.ts
@@ -1,6 +1,6 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId, u as resolveThreadSessionKeys } from "./session-key-47BV2tLd.js";
2
2
  import { a as resolveWhatsAppAuthDir, i as resolveWhatsAppAccount, n as listWhatsAppAccountIds, o as createAccountListHelpers, r as resolveDefaultWhatsAppAccountId } from "./accounts-BLYMokxV.js";
3
- import { $ as mergeAllowlist, $t as unregisterAcpRuntimeBackend, At as extractToolSend, B as formatDocsLink, Bt as resolveControlCommandGate, D as stripMarkdown, Dt as formatZonedTimestamp, E as processLineMessage, Et as formatUtcTimestamp, Ft as resolveDmAllowState, G as logInboundDrop, Gt as resolveOpenProviderRuntimeGroupPolicy, H as stringEnum, Ht as resetMissingProviderGroupPolicyFallbackWarningsForTesting, It as resolveDmGroupAccessDecision, J as removeAckReactionAfterReply, Jt as isDangerousNameMatchingEnabled, K as logTypingFailure, Kt as resolveRuntimeGroupPolicy, L as resolveDiscordUserAllowlist, Lt as resolveDmGroupAccessWithCommandGate, M as resolveSlackUserAllowlist, N as resolveSlackChannelAllowlist, Nt as DM_GROUP_ACCESS_REASON, O as createReceiptCard, Ot as resolveTimezone, P as detectBinary, Pt as readStoreAllowFromForDmPolicy, Q as resolveMentionGatingWithBypass, Qt as requireAcpRuntimeBackend, R as resolveDiscordChannelAllowlist, Rt as resolveDmGroupAccessWithLists, St as rejectDevicePairing, T as hasMarkdownToConvert, U as recordInboundSession, Ut as resolveAllowlistProviderRuntimeGroupPolicy, V as optionalStringEnum, Vt as GROUP_POLICY_BLOCKED_LABEL, W as logAckFailure, Wt as resolveDefaultGroupPolicy, X as shouldAckReactionForWhatsApp, Xt as getAcpRuntimeBackend, Y as shouldAckReaction, Yt as registerPluginHttpRoute, Z as resolveMentionGating, Zt as registerAcpRuntimeBackend, _t as readRequestBodyWithLimit, a as listLineAccountIds, an as formatAllowlistMatchMeta, at as clearHistoryEntriesIfEnabled, bt as approveDevicePairing, c as resolveLineAccount, cn as BLUEBUBBLES_ACTION_NAMES, ct as recordPendingHistoryEntryIfEnabled, dt as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, en as ACP_ERROR_CODES, et as summarizeMapping, ft as DEFAULT_WEBHOOK_MAX_BODY_BYTES, gt as readJsonBodyWithLimit, ht as isRequestBodyLimitError, in as unbindThreadBindingsBySessionKey, it as clearHistoryEntries, jt as issuePairingChallenge, k as attachFooterText, kt as buildMediaPayload, ln as BLUEBUBBLES_GROUP_ACTIONS, mt as installRequestBodyLimitGuard, nn as autoBindSpawnedDiscordSubagent, o as normalizeAccountId$1, on as resolveAllowlistMatchSimple, ot as evictOldHistoryKeys, pt as RequestBodyLimitError, q as createTypingCallbacks, qt as warnMissingProviderGroupPolicyFallbackOnce, rn as listThreadBindingsBySessionKey, rt as buildPendingHistoryContextFromMap, s as resolveDefaultLineAccountId, sn as BLUEBUBBLES_ACTIONS, st as recordPendingHistoryEntry, tn as AcpRuntimeError, tt as DEFAULT_GROUP_HISTORY_LIMIT, un as CHANNEL_MESSAGE_ACTION_NAMES, vt as requestBodyErrorToText, wt as formatInboundFromLabel, xt as listDevicePairing, yt as createDedupeCache, z as collectDiscordAuditChannelIds, zt as resolveEffectiveAllowFromLists } from "./reply-BhGucE6k.js";
3
+ import { $ as mergeAllowlist, $t as unregisterAcpRuntimeBackend, At as extractToolSend, B as formatDocsLink, Bt as resolveControlCommandGate, D as stripMarkdown, Dt as formatZonedTimestamp, E as processLineMessage, Et as formatUtcTimestamp, Ft as resolveDmAllowState, G as logInboundDrop, Gt as resolveOpenProviderRuntimeGroupPolicy, H as stringEnum, Ht as resetMissingProviderGroupPolicyFallbackWarningsForTesting, It as resolveDmGroupAccessDecision, J as removeAckReactionAfterReply, Jt as isDangerousNameMatchingEnabled, K as logTypingFailure, Kt as resolveRuntimeGroupPolicy, L as resolveDiscordUserAllowlist, Lt as resolveDmGroupAccessWithCommandGate, M as resolveSlackUserAllowlist, N as resolveSlackChannelAllowlist, Nt as DM_GROUP_ACCESS_REASON, O as createReceiptCard, Ot as resolveTimezone, P as detectBinary, Pt as readStoreAllowFromForDmPolicy, Q as resolveMentionGatingWithBypass, Qt as requireAcpRuntimeBackend, R as resolveDiscordChannelAllowlist, Rt as resolveDmGroupAccessWithLists, St as rejectDevicePairing, T as hasMarkdownToConvert, U as recordInboundSession, Ut as resolveAllowlistProviderRuntimeGroupPolicy, V as optionalStringEnum, Vt as GROUP_POLICY_BLOCKED_LABEL, W as logAckFailure, Wt as resolveDefaultGroupPolicy, X as shouldAckReactionForWhatsApp, Xt as getAcpRuntimeBackend, Y as shouldAckReaction, Yt as registerPluginHttpRoute, Z as resolveMentionGating, Zt as registerAcpRuntimeBackend, _t as readRequestBodyWithLimit, a as listLineAccountIds, an as formatAllowlistMatchMeta, at as clearHistoryEntriesIfEnabled, bt as approveDevicePairing, c as resolveLineAccount, cn as BLUEBUBBLES_ACTION_NAMES, ct as recordPendingHistoryEntryIfEnabled, dt as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, en as ACP_ERROR_CODES, et as summarizeMapping, ft as DEFAULT_WEBHOOK_MAX_BODY_BYTES, gt as readJsonBodyWithLimit, ht as isRequestBodyLimitError, in as unbindThreadBindingsBySessionKey, it as clearHistoryEntries, jt as issuePairingChallenge, k as attachFooterText, kt as buildMediaPayload, ln as BLUEBUBBLES_GROUP_ACTIONS, mt as installRequestBodyLimitGuard, nn as autoBindSpawnedDiscordSubagent, o as normalizeAccountId$1, on as resolveAllowlistMatchSimple, ot as evictOldHistoryKeys, pt as RequestBodyLimitError, q as createTypingCallbacks, qt as warnMissingProviderGroupPolicyFallbackOnce, rn as listThreadBindingsBySessionKey, rt as buildPendingHistoryContextFromMap, s as resolveDefaultLineAccountId, sn as BLUEBUBBLES_ACTIONS, st as recordPendingHistoryEntry, tn as AcpRuntimeError, tt as DEFAULT_GROUP_HISTORY_LIMIT, un as CHANNEL_MESSAGE_ACTION_NAMES, vt as requestBodyErrorToText, wt as formatInboundFromLabel, xt as listDevicePairing, yt as createDedupeCache, z as collectDiscordAuditChannelIds, zt as resolveEffectiveAllowFromLists } from "./reply-BqAPyIsz.js";
4
4
  import "./paths-CtGV5i8O.js";
5
5
  import "./github-copilot-token-CY2euW0d.js";
6
6
  import { A as GroupPolicySchema, An as acquireFileLock, D as BlockStreamingCoalesceSchema, E as ToolPolicySchema, F as TtsConfigSchema, I as TtsModeSchema, L as TtsProviderSchema, M as MarkdownTableModeSchema, N as ReplyRuntimeConfigSchemaShape, O as DmConfigSchema, P as TtsAutoSchema, R as normalizeAllowFrom, d as GoogleChatConfigSchema, f as IMessageConfigSchema, g as TelegramConfigSchema, h as SlackConfigSchema, j as MarkdownConfigSchema, jn as withFileLock, k as DmPolicySchema, l as WhatsAppConfigSchema, m as SignalConfigSchema, p as MSTeamsConfigSchema, u as DiscordConfigSchema, z as requireOpenAllowFrom } from "./config-CEgzwk0J.js";
@@ -52,7 +52,7 @@ import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticE
52
52
  import { n as extractOriginalFilename } from "./store-CCCXwngh.js";
53
53
  import "./pi-embedded-helpers-B68z4sHq.js";
54
54
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-CnUtsDch.js";
55
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-DvztgyXI.js";
55
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-Cd-eamYe.js";
56
56
  import "./thinking-g4Rrlwu4.js";
57
57
  import "./image-C_1tftC8.js";
58
58
  import "./pi-model-discovery-Dt6899be.js";
@@ -65,7 +65,7 @@ import "./send-B26cNPqY.js";
65
65
  import "./proxy-C4ewPdlN.js";
66
66
  import "./resolve-route-BZABUE4J.js";
67
67
  import "./replies-ZovJp-3F.js";
68
- import "./deps-B1DxdYuU.js";
68
+ import "./deps-D6VWIdk7.js";
69
69
  import "./outbound-attachment-BisU5Vji.js";
70
70
  import "./outbound-Dx_q6JAI.js";
71
71
  import "./session-DdJj6_DW.js";
@@ -72,7 +72,7 @@ import { t as makeProxyFetch } from "./proxy-C4ewPdlN.js";
72
72
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BZABUE4J.js";
73
73
  import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-ZovJp-3F.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-B1DxdYuU.js";
75
+ import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-D6VWIdk7.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";
@@ -33090,7 +33090,7 @@ function createDiscordMessageHandler(params) {
33090
33090
  try {
33091
33091
  const messageText = resolveDiscordMessageText(data.message)?.trim();
33092
33092
  if (messageText) {
33093
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVZuzTM7.js");
33093
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
33094
33094
  if (isAbortRequestText(messageText)) {
33095
33095
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
33096
33096
  const channelId = resolveDiscordMessageChannelId({
@@ -43834,7 +43834,7 @@ async function monitorIMessageProvider(opts = {}) {
43834
43834
  }
43835
43835
  const msgText = (message.text ?? "").trim();
43836
43836
  if (msgText) {
43837
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVZuzTM7.js");
43837
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
43838
43838
  if (isAbortRequestText(msgText)) {
43839
43839
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
43840
43840
  const route = resolveAgentRoute({
@@ -46230,7 +46230,7 @@ function createSignalEventHandler(deps) {
46230
46230
  const senderName = envelope.sourceName ?? senderDisplay;
46231
46231
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
46232
46232
  if (bodyText) {
46233
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVZuzTM7.js");
46233
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
46234
46234
  if (isAbortRequestText(bodyText)) {
46235
46235
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
46236
46236
  const route = resolveAgentRoute({
@@ -49601,7 +49601,7 @@ function createSlackMessageHandler(params) {
49601
49601
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
49602
49602
  const rawText = (message.text ?? "").trim();
49603
49603
  if (rawText) {
49604
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVZuzTM7.js");
49604
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
49605
49605
  if (isAbortRequestText(rawText)) {
49606
49606
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
49607
49607
  const route = resolveAgentRoute({
@@ -54224,7 +54224,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
54224
54224
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
54225
54225
  const text = typeof msg.text === "string" ? msg.text : void 0;
54226
54226
  if (text) {
54227
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVZuzTM7.js");
54227
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
54228
54228
  if (isAbortRequestText(text)) {
54229
54229
  const senderId = msg.from?.id ? String(msg.from.id) : "";
54230
54230
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -57709,7 +57709,7 @@ function loadWebLoginQr() {
57709
57709
  return webLoginQrPromise;
57710
57710
  }
57711
57711
  function loadWebChannel() {
57712
- webChannelPromise ??= import("./web-BzmXmmAo.js");
57712
+ webChannelPromise ??= import("./web-Dj_tThNQ.js");
57713
57713
  return webChannelPromise;
57714
57714
  }
57715
57715
  function loadWhatsAppActions() {
@@ -80281,7 +80281,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80281
80281
  };
80282
80282
  const arg = body.slice(6).trim();
80283
80283
  if (arg === "status" || arg === "") {
80284
- const { antonStatus } = await import("./anton-DJn2RPpW.js");
80284
+ const { antonStatus } = await import("./anton-BO16dWNw.js");
80285
80285
  const lines = [];
80286
80286
  await antonStatus({
80287
80287
  log: (msg) => lines.push(msg),
@@ -80297,7 +80297,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80297
80297
  return { shouldContinue: false };
80298
80298
  }
80299
80299
  if (arg === "stop") {
80300
- const { antonStop } = await import("./anton-DJn2RPpW.js");
80300
+ const { antonStop } = await import("./anton-BO16dWNw.js");
80301
80301
  const lines = [];
80302
80302
  await antonStop({
80303
80303
  log: (msg) => lines.push(msg),
@@ -80335,8 +80335,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80335
80335
  await sendProgress(replyCtx, text);
80336
80336
  return { shouldContinue: false };
80337
80337
  }
80338
- const { runAnton, formatProgressMessage } = await import("./anton-DJn2RPpW.js");
80339
- const { createDefaultDeps } = await import("./deps-B1DxdYuU.js").then((n) => n.n);
80338
+ const { runAnton, formatProgressMessage } = await import("./anton-BO16dWNw.js");
80339
+ const { createDefaultDeps } = await import("./deps-D6VWIdk7.js").then((n) => n.n);
80340
80340
  const { createNonExitingRuntime } = await import("./runtime-CjfcfOBD.js").then((n) => n.r);
80341
80341
  const runtime = createNonExitingRuntime();
80342
80342
  const deps = createDefaultDeps();
@@ -1,5 +1,5 @@
1
1
  import "./accounts-BLYMokxV.js";
2
- import "./reply-BhGucE6k.js";
2
+ import "./reply-BqAPyIsz.js";
3
3
  import "./paths-CtGV5i8O.js";
4
4
  import "./github-copilot-token-CY2euW0d.js";
5
5
  import "./config-CEgzwk0J.js";
@@ -49,7 +49,7 @@ import "./deliver-BNfMF0Nb.js";
49
49
  import "./diagnostic-ByA6zvzu.js";
50
50
  import "./store-CCCXwngh.js";
51
51
  import "./pi-embedded-helpers-B68z4sHq.js";
52
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DvztgyXI.js";
52
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-Cd-eamYe.js";
53
53
  import "./thinking-g4Rrlwu4.js";
54
54
  import "./image-C_1tftC8.js";
55
55
  import "./pi-model-discovery-Dt6899be.js";
@@ -62,7 +62,7 @@ import "./send-B26cNPqY.js";
62
62
  import "./proxy-C4ewPdlN.js";
63
63
  import "./resolve-route-BZABUE4J.js";
64
64
  import "./replies-ZovJp-3F.js";
65
- import "./deps-B1DxdYuU.js";
65
+ import "./deps-D6VWIdk7.js";
66
66
  import "./outbound-attachment-BisU5Vji.js";
67
67
  import { n as sendMessageWhatsApp } from "./outbound-Dx_q6JAI.js";
68
68
  import { i as waitForWaConnection, t as createWaSocket } from "./session-DdJj6_DW.js";