@visorcraft/idlehands 4.0.18 → 4.0.19

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 (287) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{accounts-upx5iuke.js → accounts-BDVs8LTu.js} +1 -1
  3. package/dist/{accounts-yD5yI-jP.js → accounts-CIvVRRHb.js} +1 -1
  4. package/dist/{accounts-CRDMZUcg.js → accounts-Dk8mJIrQ.js} +6 -6
  5. package/dist/{acp-cli-COix-boa.js → acp-cli-B3uwVAGD.js} +2 -2
  6. package/dist/{acp-cli-B-7CXaeS.js → acp-cli-BEpWQbqb.js} +2 -2
  7. package/dist/{agent-scope-BVeQuh5x.js → agent-scope-DyP_tr7s.js} +4 -4
  8. package/dist/{agent-via-gateway-Cl2YwlXJ.js → agent-via-gateway-B03q92bw.js} +2 -2
  9. package/dist/{agent-via-gateway-pMCfUzW-.js → agent-via-gateway-B2Z_k_od.js} +60 -60
  10. package/dist/{agent-via-gateway-ClQrLbgo.js → agent-via-gateway-CUQG6kii.js} +2 -2
  11. package/dist/{agent-via-gateway-CC37LlPd.js → agent-via-gateway-Cn3iNSod.js} +7 -7
  12. package/dist/{agents-DrnGQroU.js → agents-DdTECKDf.js} +5 -5
  13. package/dist/{agents.config-BZPnYIMF.js → agents.config-CHtoYxr6.js} +1 -1
  14. package/dist/{agents.config-DfWZrbXn.js → agents.config-D2EbQiOx.js} +1 -1
  15. package/dist/{anton-BfrX2FMd.js → anton-D4vpCj_q.js} +32 -6
  16. package/dist/{anton-B-I7rEtn.js → anton-DsmttQbC.js} +36 -10
  17. package/dist/{anton-BrY-bWgq.js → anton-hH1PyE2C.js} +32 -6
  18. package/dist/{anton-BgKjig3B.js → anton-x7f6kIFP.js} +32 -6
  19. package/dist/{audio-preflight-aBtF0cRI.js → audio-preflight-BSlR2jEq.js} +35 -35
  20. package/dist/{audio-preflight-CSSlgO89.js → audio-preflight-vD3mDc6w.js} +4 -4
  21. package/dist/{audit-Bkd4fvVb.js → audit-C9PrbHng.js} +2 -2
  22. package/dist/{audit-BmaVRZSd.js → audit-CKeZnjft.js} +2 -2
  23. package/dist/{auth-choice-_C22dz9o.js → auth-choice-DRR52LJT.js} +2 -2
  24. package/dist/{auth-choice-DtvI4epn.js → auth-choice-DVoPuwEs.js} +2 -2
  25. package/dist/{auth-store-DQAd4LSE.js → auth-store-DXT-l7fO.js} +12 -12
  26. package/dist/{banner-B-UYZG8d.js → banner-CFKoGAzN.js} +1 -1
  27. package/dist/{bindings-B9L4cqmm.js → bindings-D3b5Fmc9.js} +2 -2
  28. package/dist/{browser-cli-Ddh5zEZN.js → browser-cli-Brb82I5e.js} +3 -3
  29. package/dist/{browser-cli-Ny1nHwqv.js → browser-cli-Ci6DpTnS.js} +3 -3
  30. package/dist/build-info.json +3 -3
  31. package/dist/bundled/boot-md/handler.js +60 -60
  32. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  33. package/dist/bundled/command-logger/handler.js +3 -3
  34. package/dist/bundled/session-memory/handler.js +60 -60
  35. package/dist/{call-BRL23UCk.js → call-BpWhjuOg.js} +1 -1
  36. package/dist/{call-DuNslqj2.js → call-C82rD2Wn.js} +1 -1
  37. package/dist/{channel-activity-DOLX-uK1.js → channel-activity-D_TMOGQ0.js} +3 -3
  38. package/dist/{channel-options-C0iwLcfC.js → channel-options-B4oF7_V2.js} +1 -1
  39. package/dist/{channel-options-BbwNg4q_.js → channel-options-BU0E7BdU.js} +1 -1
  40. package/dist/{channel-web-BLxKeCXF.js → channel-web-0icuasR6.js} +2 -2
  41. package/dist/{channel-web-q6Ugfiks.js → channel-web-BDytDCrG.js} +2 -2
  42. package/dist/{channels-cli-DaRR8vAs.js → channels-cli-B2w32z11.js} +10 -10
  43. package/dist/{channels-cli-BtL1XuuK.js → channels-cli-DWaQsKP8.js} +10 -10
  44. package/dist/{chrome-Do5potHV.js → chrome-DEnkfZ9p.js} +9 -9
  45. package/dist/{chrome-D_SXDetO.js → chrome-_2tzVjVl.js} +17 -17
  46. package/dist/{chunk-BgScV6uo.js → chunk-CMpX7Jaz.js} +1 -1
  47. package/dist/cli/daemon-cli.js +1 -1
  48. package/dist/{cli-BjhrdeVd.js → cli-BVw2ja-q.js} +5 -5
  49. package/dist/{cli-CrUoGRuS.js → cli-Hplv9sD1.js} +5 -5
  50. package/dist/{client-DxH9hwLn.js → client-DtnD-ee9.js} +1 -0
  51. package/dist/{client-Brv1GCwX.js → client-udFMSDes.js} +1 -0
  52. package/dist/{command-registry-BZNlvfaM.js → command-registry-CWDCVzZv.js} +11 -11
  53. package/dist/{commands-registry-CK7aj_ri.js → commands-registry-j4vAzcF2.js} +5 -5
  54. package/dist/{completion-cli-p9W-g1Pe.js → completion-cli-CjERsZ27.js} +2 -2
  55. package/dist/{completion-cli-BIabgt7h.js → completion-cli-f5M3WVf8.js} +1 -1
  56. package/dist/{config-cli-B4nNEjK9.js → config-cli-B2gc8CV1.js} +1 -1
  57. package/dist/{config-cli-u4zbdm-e.js → config-cli-Bt7n6ZJS.js} +1 -1
  58. package/dist/{configure-BbDbMd5G.js → configure-BXsptBk3.js} +6 -6
  59. package/dist/{configure-Dj1JdeEI.js → configure-CKspMrI1.js} +6 -6
  60. package/dist/{cron-cli-Xml0Uww8.js → cron-cli-DQsnGQKs.js} +3 -3
  61. package/dist/{cron-cli-D4DXiD1C.js → cron-cli-DXZzPHDQ.js} +3 -3
  62. package/dist/{daemon-cli-yC6gq-yv.js → daemon-cli-DOG5Mivy.js} +2 -2
  63. package/dist/{daemon-cli-B1Ti51bt.js → daemon-cli-DUg-s4LG.js} +2 -2
  64. package/dist/daemon-cli.js +1 -0
  65. package/dist/{deliver-whAbSPLk.js → deliver-5FLCa6tB.js} +1 -1
  66. package/dist/{deliver-CJaM2zRY.js → deliver-CVTXl0Cv.js} +20 -20
  67. package/dist/{deps-CQzDLqTz.js → deps-BAMUVAdU.js} +6 -6
  68. package/dist/{deps-BMWq0kjy.js → deps-BbipxGPW.js} +1 -1
  69. package/dist/{deps-BuRud-p8.js → deps-CjWcQwlX.js} +1 -1
  70. package/dist/{deps-Dr9GpASq.js → deps-CwPrf7RC.js} +1 -1
  71. package/dist/{devices-cli-BNkO0Fey.js → devices-cli-DKK65S9Z.js} +2 -2
  72. package/dist/{devices-cli-Ck6s9sQQ.js → devices-cli-aiEJxYcN.js} +2 -2
  73. package/dist/{diagnostic-lz5wKsEe.js → diagnostic-4owMk4vH.js} +1 -1
  74. package/dist/{dock-6MgvdSqu.js → dock-BgOmHcbh.js} +6 -6
  75. package/dist/{doctor-completion-BLRGmusD.js → doctor-completion-C2-SDBd6.js} +1 -1
  76. package/dist/{doctor-completion-BeZMlZPb.js → doctor-completion-DB151YdP.js} +1 -1
  77. package/dist/emergency-stop-BldYLJq7.js +113 -0
  78. package/dist/{emergency-stop-CSSPAKHr.js → emergency-stop-CDozqde9.js} +5 -5
  79. package/dist/{emergency-stop-BEsjWvQL.js → emergency-stop-DpNGtfb4.js} +5 -5
  80. package/dist/{emergency-stop-BU-Vbk3V.js → emergency-stop-Lj33jqJJ.js} +7 -7
  81. package/dist/entry.js +1 -1
  82. package/dist/{env-B7b7MKfk.js → env-B5G1qwGc.js} +1 -1
  83. package/dist/{errors--Eb33_ji.js → errors-C_0nm4TJ.js} +1 -1
  84. package/dist/{exec-approvals-cli-CyjTnYfk.js → exec-approvals-cli-D6XUzs4j.js} +4 -4
  85. package/dist/{exec-approvals-cli-CNWOtvwX.js → exec-approvals-cli-DRoaRYPn.js} +4 -4
  86. package/dist/extensionAPI.js +7 -7
  87. package/dist/{fetch-guard-OZ_PCUyr.js → fetch-guard-iuQsIjqN.js} +1 -1
  88. package/dist/{frontmatter-p8nPDprK.js → frontmatter-BOudmHMS.js} +2 -2
  89. package/dist/{fs-safe-BEl8T_Vc.js → fs-safe-CYUaAFO9.js} +2 -2
  90. package/dist/{gateway-cli-BCHdAJHS.js → gateway-cli-Ccd1ukWq.js} +17 -14
  91. package/dist/{gateway-cli-Dumy2IVU.js → gateway-cli-lNUOd2_i.js} +17 -14
  92. package/dist/{gateway-rpc-CdfF0Zt5.js → gateway-rpc-5PTvwEfj.js} +1 -1
  93. package/dist/{gateway-rpc-Du-ZpDjh.js → gateway-rpc-BBFG1T-M.js} +1 -1
  94. package/dist/{gemini-auth-CA0K3QXj.js → gemini-auth-CIyaa44H.js} +2 -2
  95. package/dist/{github-copilot-token-DCg9Q9Ll.js → github-copilot-token-Dgt6cnsM.js} +7 -7
  96. package/dist/{health-CqdQAURH.js → health--GQAFTBr.js} +2 -2
  97. package/dist/{health-B3kk7l82.js → health-HEN6Wk9G.js} +2 -2
  98. package/dist/{hooks-cli-jMG5GST1.js → hooks-cli-DFrttZGb.js} +6 -6
  99. package/dist/{hooks-cli-Ba4woLl0.js → hooks-cli-Di8qrzIB.js} +6 -6
  100. package/dist/{image-BQ3RQWD8.js → image-COw__ACq.js} +6 -6
  101. package/dist/{image-BAsQlUqT.js → image-C_aN5P6-.js} +1 -1
  102. package/dist/{image-ops-ZNtLhD4c.js → image-ops-D1KtygWz.js} +1 -1
  103. package/dist/index.js +10 -10
  104. package/dist/{ir-DnyYtX4H.js → ir-B7IBoKLy.js} +5 -5
  105. package/dist/llm-slug-generator.js +60 -60
  106. package/dist/{local-roots-C9CA2f0R.js → local-roots-KN4Hp1yZ.js} +5 -5
  107. package/dist/{login-Cn1vc1bn.js → login-CFr5vJmR.js} +6 -6
  108. package/dist/{login-qr-Dj0NmRdg.js → login-qr-CFFFOjOl.js} +11 -11
  109. package/dist/{logs-cli-CH4mFhUt.js → logs-cli-4VQ9Iwiw.js} +3 -3
  110. package/dist/{logs-cli-BN5TN6bg.js → logs-cli-u0WmYxx7.js} +3 -3
  111. package/dist/{manager-DBd_2F6j.js → manager-BE_76jWB.js} +15 -15
  112. package/dist/{markdown-tables-CsrsXS80.js → markdown-tables-CzsockiZ.js} +1 -1
  113. package/dist/{message-channel-Cg9KtLfy.js → message-channel-C8QtrwEU.js} +1 -1
  114. package/dist/{model-selection-Vtu6d5Um.js → model-selection-1MMYqY6M.js} +41 -41
  115. package/dist/{models-cli-iLP9BnPA.js → models-cli-CMwszgSD.js} +6 -6
  116. package/dist/{models-cli-BaR1RccY.js → models-cli-DVAyIZ63.js} +7 -7
  117. package/dist/{models-C6GypzZ1.js → models-tZYpgts_.js} +3 -3
  118. package/dist/{node-cli-Ch7K7WtL.js → node-cli-BYzjxmUY.js} +1 -1
  119. package/dist/{node-cli-BiQaHamJ.js → node-cli-CgeiQGbv.js} +1 -1
  120. package/dist/{nodes-cli-tVCIBdL1.js → nodes-cli-DaE0WsOH.js} +3 -3
  121. package/dist/{nodes-cli-D_hUCPNt.js → nodes-cli-kNOtp0U0.js} +3 -3
  122. package/dist/{npm-resolution-DYUWHUe5.js → npm-resolution-By6bZkA-.js} +1 -1
  123. package/dist/{npm-resolution-CWxaTTrT.js → npm-resolution-DLSA4PTO.js} +1 -1
  124. package/dist/{onboard-DdBsJgzg.js → onboard-B6eOxpDM.js} +3 -3
  125. package/dist/{onboard-CinZ4CuY.js → onboard-CbXlbAx2.js} +3 -3
  126. package/dist/{onboard-channels-Bnwwq6TK.js → onboard-channels-BISq46-i.js} +2 -2
  127. package/dist/{onboard-channels-9XAEsgO-.js → onboard-channels-JPltbNGL.js} +2 -2
  128. package/dist/{onboard-helpers-Dp6wXNs7.js → onboard-helpers-DWivfzcc.js} +1 -1
  129. package/dist/{onboard-helpers-BQmbMJxJ.js → onboard-helpers-mzy38DiC.js} +1 -1
  130. package/dist/{onboard-remote-1ZZd5lcX.js → onboard-remote-BMo2C9Ae.js} +1 -1
  131. package/dist/{onboard-remote-CIjhaP2W.js → onboard-remote-LCBHijVE.js} +1 -1
  132. package/dist/{onboard-skills-BD_AS1Iy.js → onboard-skills-BrqATIYg.js} +1 -1
  133. package/dist/{onboard-skills-BsaUIuq6.js → onboard-skills-jFY9gaOu.js} +1 -1
  134. package/dist/{onboarding-C4oujn63.js → onboarding-Da3n7Rvs.js} +7 -7
  135. package/dist/{onboarding-DFvHWFqL.js → onboarding-DikyMlYG.js} +7 -7
  136. package/dist/{onboarding.finalize-BDWHPpyn.js → onboarding.finalize-Bp2ufMd0.js} +10 -10
  137. package/dist/{onboarding.finalize-DMhdDTvo.js → onboarding.finalize-CwYx5n3Z.js} +11 -11
  138. package/dist/{onboarding.gateway-config-CEQMyj8l.js → onboarding.gateway-config-Btu2gzgr.js} +3 -3
  139. package/dist/{onboarding.gateway-config-Czn7jKsq.js → onboarding.gateway-config-w3C9Yj3B.js} +3 -3
  140. package/dist/{outbound-BYm4JJli.js → outbound-BNh6PpQb.js} +6 -6
  141. package/dist/{outbound-attachment-DwaqvYNG.js → outbound-attachment-3I6GzwDe.js} +2 -2
  142. package/dist/{path-alias-guards-BnjbJzIQ.js → path-alias-guards-Cu1nXNMM.js} +1 -1
  143. package/dist/{paths-CkTEyLTV.js → paths-BYNVLNi_.js} +5 -5
  144. package/dist/{paths-0fcEvxu4.js → paths-D_qUel1T.js} +3 -3
  145. package/dist/{pi-embedded-Dap1HAGA.js → pi-embedded-Bc4KWuTe.js} +28 -27
  146. package/dist/{pi-embedded-BDp9JsrM.js → pi-embedded-BeyOxL6U.js} +177 -176
  147. package/dist/{pi-embedded-helpers-Ct2rwp-P.js → pi-embedded-helpers-C2j0LfJC.js} +4 -4
  148. package/dist/{pi-embedded-helpers-B1CKQ81Y.js → pi-embedded-helpers-CyTpDKo5.js} +24 -24
  149. package/dist/{pi-model-discovery-DBHbwKOo.js → pi-model-discovery-Bb__OY-j.js} +7 -7
  150. package/dist/{plugin-registry-CGFy1ugt.js → plugin-registry-BY85d-vE.js} +1 -1
  151. package/dist/{plugin-registry-LYzfPk35.js → plugin-registry-DROWinG6.js} +1 -1
  152. package/dist/plugin-sdk/{agent-via-gateway-De4e2_-W.js → agent-via-gateway-CXtWg-qx.js} +2 -2
  153. package/dist/plugin-sdk/{anton-BO16dWNw.js → anton-CGYTy9vy.js} +32 -6
  154. package/dist/plugin-sdk/{channel-web-Cd-eamYe.js → channel-web-EFRSObCG.js} +2 -2
  155. package/dist/plugin-sdk/commands/agent/types.d.ts +1 -0
  156. package/dist/plugin-sdk/{deps-D6VWIdk7.js → deps-qZxPlSgp.js} +1 -1
  157. package/dist/plugin-sdk/{emergency-stop-w-HD2bz4.js → emergency-stop-CxcBz-aQ.js} +2 -2
  158. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +1 -0
  159. package/dist/plugin-sdk/index.js +3 -3
  160. package/dist/plugin-sdk/{reply-BqAPyIsz.js → reply-nUO1aM3T.js} +13 -12
  161. package/dist/plugin-sdk/{web-Dj_tThNQ.js → web-CEtAvhaI.js} +3 -3
  162. package/dist/{plugins-Bb6_uisJ.js → plugins-CRB60mCJ.js} +10 -10
  163. package/dist/{plugins-cli-BQKfJ9aF.js → plugins-cli-RFXGkaxP.js} +6 -6
  164. package/dist/{plugins-cli-BCAcCeRZ.js → plugins-cli-b_o3IL7x.js} +6 -6
  165. package/dist/{program-context-DBOEyhi4.js → program-context-D6irLwPo.js} +31 -31
  166. package/dist/{program-Df-zk5RB.js → program-vH6RTUOw.js} +11 -11
  167. package/dist/{prompt-select-styled-DJVZSK4X.js → prompt-select-styled-CDoDFWo7.js} +6 -6
  168. package/dist/{prompt-select-styled-B0FsbRWb.js → prompt-select-styled-DFVvU0TH.js} +6 -6
  169. package/dist/{provider-auth-helpers-D0cQmJkF.js → provider-auth-helpers-BCc5UtUa.js} +1 -1
  170. package/dist/{provider-auth-helpers-Aojd4jNn.js → provider-auth-helpers-CNRz0SFC.js} +1 -1
  171. package/dist/{push-apns-BtI9tV7C.js → push-apns-CHmvuoMu.js} +1 -1
  172. package/dist/{push-apns-qzriU6TC.js → push-apns-e2xmxGGE.js} +1 -1
  173. package/dist/{pw-ai-BKPa5DlF.js → pw-ai-CowTfhOG.js} +13 -13
  174. package/dist/{pw-ai-yrIWfcWX.js → pw-ai-DjmrIQle.js} +1 -1
  175. package/dist/{qmd-manager-DEJVRLvM.js → qmd-manager-B_GgyQQ0.js} +8 -8
  176. package/dist/{query-expansion-CW7PqIXL.js → query-expansion-DEq020GG.js} +5 -5
  177. package/dist/{redact-D1Ebz_iR.js → redact-Bvpf-ATQ.js} +1 -1
  178. package/dist/{register.agent-ButiRGeg.js → register.agent-Dx7ULz49.js} +12 -12
  179. package/dist/{register.agent-Xdy9Gu3H.js → register.agent-HWcFMr6h.js} +11 -11
  180. package/dist/{register.configure-f4xr9iKB.js → register.configure-BctHAiWh.js} +13 -13
  181. package/dist/{register.configure-m5qhbCOO.js → register.configure-k8gocsJw.js} +13 -13
  182. package/dist/{register.maintenance-N55abUee.js → register.maintenance-BYiX9iOa.js} +12 -12
  183. package/dist/{register.maintenance-BA4e0HDc.js → register.maintenance-C6o2WuQx.js} +11 -11
  184. package/dist/{register.message-DaVB6EYW.js → register.message-BLScF2fV.js} +6 -6
  185. package/dist/{register.message-Zta0bYh0.js → register.message-BewFLd-k.js} +6 -6
  186. package/dist/{register.onboard-BHKf5Emm.js → register.onboard-BVm-2XAx.js} +5 -5
  187. package/dist/{register.onboard-BikBO9Gs.js → register.onboard-a0kqiCTa.js} +5 -5
  188. package/dist/{register.orchestrator-anton-DtPFOV9F.js → register.orchestrator-anton-BYyjV8R-.js} +5 -4
  189. package/dist/{register.orchestrator-anton-x3yGok7b.js → register.orchestrator-anton-Tn_RaMLq.js} +5 -4
  190. package/dist/{register.setup-BeRMjZaz.js → register.setup-BJ0WBUpt.js} +5 -5
  191. package/dist/{register.setup-DCIPrpG0.js → register.setup-BwPJaqpH.js} +5 -5
  192. package/dist/{register.status-health-sessions-I0YSjY_V.js → register.status-health-sessions-Clzt8hbv.js} +8 -8
  193. package/dist/{register.status-health-sessions-CA5wMwpi.js → register.status-health-sessions-wbopjGL-.js} +8 -8
  194. package/dist/{register.subclis-DZkq_g35.js → register.subclis-CrcOefJY.js} +21 -21
  195. package/dist/{replies-CXcxPRWk.js → replies-6_GxvQYe.js} +3 -3
  196. package/dist/{reply-DlS9HBVo.js → reply-D5gCiiGr.js} +15 -15
  197. package/dist/{reply-prefix-49q2WQ2B.js → reply-prefix-BUgeSN2R.js} +1 -1
  198. package/dist/{resolve-route-Dr-fqH39.js → resolve-route-DuttYY7A.js} +4 -4
  199. package/dist/{retry-DWN-e4ja.js → retry-BeB9WenR.js} +1 -1
  200. package/dist/{rpc-CCimHATv.js → rpc-Cf9OK5Yk.js} +1 -1
  201. package/dist/{rpc-CasD0keJ.js → rpc-DVTovtI3.js} +1 -1
  202. package/dist/{run-main-B75ak_hb.js → run-main-BCX3UZMR.js} +18 -18
  203. package/dist/{runner-DO528Ump.js → runner-BzNdfqDz.js} +11 -11
  204. package/dist/{runner-Bv_BA3vd.js → runner-CZW_eyf2.js} +1 -1
  205. package/dist/{secrets-cli-Bx9bIigZ.js → secrets-cli-C4UBK_LV.js} +3 -3
  206. package/dist/{secrets-cli-Bgp_H_bH.js → secrets-cli-CR3h2TBy.js} +3 -3
  207. package/dist/{security-cli-MQ__Ca6v.js → security-cli-B9_LV2po.js} +3 -3
  208. package/dist/{security-cli-e1WjvhRm.js → security-cli-an5u-5Jb.js} +3 -3
  209. package/dist/{send-BspIjWIY.js → send-BeIZJuy4.js} +7 -7
  210. package/dist/{send-szC_vYk_.js → send-C1hvd3bt.js} +6 -6
  211. package/dist/{send-CRnMBrJ2.js → send-D4bMycQu.js} +7 -7
  212. package/dist/{send-De8xTUIV.js → send-Dfa3sn6r.js} +24 -24
  213. package/dist/{send-BypmtKl1.js → send-DmLC7aEF.js} +10 -10
  214. package/dist/{server-node-events-CufCnFp4.js → server-node-events-CbVkqOtV.js} +6 -6
  215. package/dist/{server-node-events-B1RPoseF.js → server-node-events-DvStFPGi.js} +6 -6
  216. package/dist/{session-CKiIT4OY.js → session-F_YDS_1V.js} +7 -7
  217. package/dist/{sessions-BgxmLQuf.js → sessions-3ioSeOA1.js} +41 -41
  218. package/dist/{skill-commands-BOUMR5De.js → skill-commands-Ck3flWX7.js} +9 -9
  219. package/dist/{skills-OsjsCf_S.js → skills-CnAPWfca.js} +22 -22
  220. package/dist/{status-hXjECVBh.js → status-CWnPokQF.js} +5 -5
  221. package/dist/{status-ERmEJYw1.js → status-ClMOrHdT.js} +5 -5
  222. package/dist/{store-B4rHJvSg.js → store-CvMgrKWx.js} +2 -2
  223. package/dist/{subagent-registry-CcxZYIwL.js → subagent-registry-BH5O1rxK.js} +15 -15
  224. package/dist/{subsystem-B98oWbbO.js → subsystem-tzu-rIAJ.js} +1 -1
  225. package/dist/{system-cli-CHiaS_zS.js → system-cli-Dd-gBN0t.js} +3 -3
  226. package/dist/{system-cli-3T-OTIKv.js → system-cli-DyVZ5udc.js} +3 -3
  227. package/dist/{tables-DuOExt0S.js → tables-5k-zOZ-s.js} +1 -1
  228. package/dist/{target-errors-CWZr3RMI.js → target-errors-BPfQrPim.js} +2 -2
  229. package/dist/{tokens-B9ArFCMX.js → tokens-BRLyURxW.js} +1 -1
  230. package/dist/{tool-images-DLiBUCZb.js → tool-images-CcGZpzmq.js} +2 -2
  231. package/dist/{tool-loop-detection-j48jLTrr.js → tool-loop-detection-BNGetx3Z.js} +3 -3
  232. package/dist/{tui-BPgLehyv.js → tui-2u2ZDhHV.js} +2 -2
  233. package/dist/{tui-lalhRHve.js → tui-Bne3YNiw.js} +2 -2
  234. package/dist/{tui-cli-9z2Sm8Qg.js → tui-cli-BWnIeq57.js} +3 -3
  235. package/dist/{tui-cli-BVKWJ9X7.js → tui-cli-D0Z-rcUe.js} +3 -3
  236. package/dist/{update-cli-Rnv68OR6.js → update-cli-BTNcddEX.js} +12 -12
  237. package/dist/{update-cli-DROtjWg7.js → update-cli-CxZD0ekr.js} +13 -13
  238. package/dist/{update-runner-BWxBVG9j.js → update-runner-CN7Dm9tg.js} +1 -1
  239. package/dist/{update-runner-CqeNDbPD.js → update-runner-tu2Aiphu.js} +1 -1
  240. package/dist/{utils-ChNzRVsg.js → utils-CTFLl_ji.js} +18 -18
  241. package/dist/{web-BMSzFWiF.js → web-BV-BEZj6.js} +6 -6
  242. package/dist/{web-5ddwA0bs.js → web-Csmkqx1W.js} +66 -66
  243. package/dist/{web-BQLIquZA.js → web-DiqHxfw7.js} +8 -8
  244. package/dist/{web-CnzKMZK0.js → web-aRaB-CvF.js} +6 -6
  245. package/dist/{whatsapp-actions-CYraflBZ.js → whatsapp-actions-DbPcN6JQ.js} +25 -25
  246. package/dist/{workspace-AM44PzIs.js → workspace-DBFSzT6O.js} +18 -18
  247. package/extensions/acpx/package.json +1 -1
  248. package/extensions/bluebubbles/package.json +1 -1
  249. package/extensions/copilot-proxy/package.json +1 -1
  250. package/extensions/diagnostics-otel/package.json +1 -1
  251. package/extensions/discord/package.json +1 -1
  252. package/extensions/feishu/package.json +1 -1
  253. package/extensions/google-gemini-cli-auth/package.json +1 -1
  254. package/extensions/googlechat/package.json +1 -1
  255. package/extensions/hand/package.json +1 -1
  256. package/extensions/imessage/package.json +1 -1
  257. package/extensions/irc/package.json +1 -1
  258. package/extensions/line/package.json +1 -1
  259. package/extensions/llm-task/package.json +1 -1
  260. package/extensions/matrix/CHANGELOG.md +6 -0
  261. package/extensions/matrix/package.json +1 -1
  262. package/extensions/mattermost/package.json +1 -1
  263. package/extensions/memory-core/package.json +1 -1
  264. package/extensions/memory-lancedb/package.json +1 -1
  265. package/extensions/minimax-portal-auth/package.json +1 -1
  266. package/extensions/msteams/CHANGELOG.md +6 -0
  267. package/extensions/msteams/package.json +1 -1
  268. package/extensions/nextcloud-talk/package.json +1 -1
  269. package/extensions/nostr/CHANGELOG.md +6 -0
  270. package/extensions/nostr/package.json +1 -1
  271. package/extensions/open-prose/package.json +1 -1
  272. package/extensions/signal/package.json +1 -1
  273. package/extensions/slack/package.json +1 -1
  274. package/extensions/synology-chat/package.json +1 -1
  275. package/extensions/telegram/package.json +1 -1
  276. package/extensions/tlon/package.json +1 -1
  277. package/extensions/twitch/CHANGELOG.md +6 -0
  278. package/extensions/twitch/package.json +1 -1
  279. package/extensions/voice-call/CHANGELOG.md +6 -0
  280. package/extensions/voice-call/package.json +1 -1
  281. package/extensions/whatsapp/package.json +1 -1
  282. package/extensions/zalo/CHANGELOG.md +6 -0
  283. package/extensions/zalo/package.json +1 -1
  284. package/extensions/zalouser/CHANGELOG.md +6 -0
  285. package/extensions/zalouser/package.json +1 -1
  286. package/package.json +1 -1
  287. package/dist/emergency-stop-JXB5jZyK.js +0 -113
@@ -9,7 +9,7 @@ import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
9
9
  import { n as parseBooleanValue } from "./env-BpvqFD5n.js";
10
10
  import { t as generateSecureToken } from "./secure-random-BvP4jdcV.js";
11
11
  import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BDG-MYYV.js";
12
- 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-Do5potHV.js";
12
+ 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-DEnkfZ9p.js";
13
13
  import { t as SsrFBlockedError } from "./ssrf-DappnhDp.js";
14
14
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-nQcWk6Z6.js";
15
15
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CGbCFqW8.js";
@@ -1181,7 +1181,7 @@ function isModuleNotFoundError(err) {
1181
1181
  }
1182
1182
  async function loadPwAiModule(mode) {
1183
1183
  try {
1184
- return await import("./pw-ai-yrIWfcWX.js");
1184
+ return await import("./pw-ai-DjmrIQle.js");
1185
1185
  } catch (err) {
1186
1186
  if (mode === "soft") return null;
1187
1187
  if (isModuleNotFoundError(err)) return null;
@@ -3716,11 +3716,11 @@ function createProfileContext(opts, profile) {
3716
3716
  const userDataDir = resolveIdleHandsUserDataDir(profile.name);
3717
3717
  const profileState = getProfileState();
3718
3718
  if (await isHttpReachable(300) && !profileState.running) try {
3719
- await (await import("./pw-ai-yrIWfcWX.js")).closePlaywrightBrowserConnection();
3719
+ await (await import("./pw-ai-DjmrIQle.js")).closePlaywrightBrowserConnection();
3720
3720
  } catch {}
3721
3721
  if (profileState.running) await stopRunningBrowser();
3722
3722
  try {
3723
- await (await import("./pw-ai-yrIWfcWX.js")).closePlaywrightBrowserConnection();
3723
+ await (await import("./pw-ai-DjmrIQle.js")).closePlaywrightBrowserConnection();
3724
3724
  } catch {}
3725
3725
  if (!syncFs.existsSync(userDataDir)) return {
3726
3726
  moved: false,
@@ -1,28 +1,28 @@
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";
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";
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-AM44PzIs.js";
8
- import { $ as getBlockedNetworkModeReason, H as writeConfigFile, L as createConfigIO, R as loadConfig } from "./model-selection-Vtu6d5Um.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";
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-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";
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";
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-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";
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";
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 fsSync, { existsSync } from "node:fs";
25
+ import syncFs, { 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-BKPa5DlF.js");
1185
+ return await import("./pw-ai-CowTfhOG.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
- fsSync.mkdirSync(trashDir, { recursive: true });
2925
+ syncFs.mkdirSync(trashDir, { recursive: true });
2926
2926
  const base = path.basename(targetPath);
2927
2927
  let dest = path.join(trashDir, `${base}-${Date.now()}`);
2928
- if (fsSync.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${generateSecureToken(6)}`);
2929
- fsSync.renameSync(targetPath, dest);
2928
+ if (syncFs.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${generateSecureToken(6)}`);
2929
+ syncFs.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 (fsSync.existsSync(profileDir)) {
3007
+ if (syncFs.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-BKPa5DlF.js")).closePlaywrightBrowserConnection();
3720
+ await (await import("./pw-ai-CowTfhOG.js")).closePlaywrightBrowserConnection();
3721
3721
  } catch {}
3722
3722
  if (profileState.running) await stopRunningBrowser();
3723
3723
  try {
3724
- await (await import("./pw-ai-BKPa5DlF.js")).closePlaywrightBrowserConnection();
3724
+ await (await import("./pw-ai-CowTfhOG.js")).closePlaywrightBrowserConnection();
3725
3725
  } catch {}
3726
- if (!fsSync.existsSync(userDataDir)) return {
3726
+ if (!syncFs.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 fsSync.closeSync(guarded.fd);
5353
+ } else syncFs.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-Vtu6d5Um.js";
2
+ import { c as normalizeProviderId, ln as ensureAuthProfileStore } from "./model-selection-1MMYqY6M.js";
3
3
  import path from "node:path";
4
- import fsSync from "node:fs";
4
+ import syncFs 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 (!fsSync.existsSync(pathname)) return;
73
+ if (!syncFs.existsSync(pathname)) return;
74
74
  let parsed;
75
75
  try {
76
- parsed = JSON.parse(fsSync.readFileSync(pathname, "utf8"));
76
+ parsed = JSON.parse(syncFs.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
- fsSync.rmSync(pathname, { force: true });
90
+ syncFs.rmSync(pathname, { force: true });
91
91
  return;
92
92
  }
93
- fsSync.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
- fsSync.chmodSync(pathname, 384);
93
+ syncFs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
+ syncFs.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-CcxZYIwL.js";
5
+ import { _ as loadIdleHandsPlugins } from "./subagent-registry-BH5O1rxK.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-DlS9HBVo.js";
2
+ import { ht as loadIdleHandsPlugins } from "./reply-D5gCiiGr.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-BqAPyIsz.js";
3
+ import { F as callGateway, I as randomIdempotencyKey, d as agentCommand, f as resolveSessionKeyForRequest, p as withProgress } from "./reply-nUO1aM3T.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-D6VWIdk7.js";
66
+ import "./deps-qZxPlSgp.js";
67
67
  import "./outbound-attachment-BisU5Vji.js";
68
68
 
69
69
  //#region src/commands/agent-via-gateway.ts
@@ -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-De4e2_-W.js");
222
+ const { agentCliCommand } = await import("./agent-via-gateway-CXtWg-qx.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,
@@ -369,9 +369,21 @@ async function runDiscoveryPhase(args) {
369
369
  workspaceDir: args.workspaceDir
370
370
  });
371
371
  const firstParsed = extractJsonObject(firstPass.text);
372
- if ((firstParsed?.status ?? "").toLowerCase() === "complete") throw new Error("Discovery claimed task already complete without a verifiable plan artifact; refusing auto-complete");
373
372
  const declaredPlanFile = normalizeDiscoveryFilename(firstParsed?.filename, planFile);
374
- if (await isPlanFileValid(declaredPlanFile)) {
373
+ if (await isPlanFileValid(planFile)) {
374
+ await args.notify({
375
+ phase: "discovery_complete",
376
+ index: args.taskNum,
377
+ total: args.total,
378
+ task: args.task.text,
379
+ planFile
380
+ });
381
+ return {
382
+ status: "plan_ready",
383
+ planFile
384
+ };
385
+ }
386
+ if (declaredPlanFile !== planFile && await isPlanFileValid(declaredPlanFile)) {
375
387
  await args.notify({
376
388
  phase: "discovery_complete",
377
389
  index: args.taskNum,
@@ -420,7 +432,19 @@ async function runDiscoveryPhase(args) {
420
432
  workspaceDir: args.workspaceDir
421
433
  });
422
434
  const repairParsed = extractJsonObject(repairPass.text);
423
- if ((repairParsed?.status ?? "").toLowerCase() === "complete") throw new Error("Discovery repair claimed task complete without a verifiable plan artifact; refusing auto-complete");
435
+ if (await isPlanFileValid(declaredPlanFile)) {
436
+ await args.notify({
437
+ phase: "discovery_complete",
438
+ index: args.taskNum,
439
+ total: args.total,
440
+ task: args.task.text,
441
+ planFile: declaredPlanFile
442
+ });
443
+ return {
444
+ status: "plan_ready",
445
+ planFile: declaredPlanFile
446
+ };
447
+ }
424
448
  const repairPlanFile = normalizeDiscoveryFilename(repairParsed?.filename, declaredPlanFile);
425
449
  if (await isPlanFileValid(repairPlanFile) || await tryPersistPlanFallback({
426
450
  planFile: repairPlanFile,
@@ -609,6 +633,9 @@ async function runAnton(args) {
609
633
  });
610
634
  try {
611
635
  let planFile;
636
+ const gitCwdForBaseline = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
637
+ const taskFileRelForBaseline = path.relative(gitCwdForBaseline, filePath).replace(/\\/g, "/");
638
+ const changedBeforeTask = await getGitChangedFileCount(gitCwdForBaseline, taskFileRelForBaseline.startsWith("..") ? [] : [taskFileRelForBaseline]);
612
639
  if (mode === "preflight") {
613
640
  const discoveryResult = await runDiscoveryPhase({
614
641
  task,
@@ -680,7 +707,6 @@ async function runAnton(args) {
680
707
  const gitCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
681
708
  const taskFileRel = path.relative(gitCwd, filePath).replace(/\\/g, "/");
682
709
  const changeIgnores = taskFileRel.startsWith("..") ? [] : [taskFileRel];
683
- const changedBefore = await getGitChangedFileCount(gitCwd, changeIgnores);
684
710
  await runAgentTask({
685
711
  message: implPrompt,
686
712
  sessionId: implSessionId,
@@ -692,7 +718,7 @@ async function runAnton(args) {
692
718
  workspaceDir: args.workspaceDir
693
719
  });
694
720
  const changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
695
- if (mode === "preflight" && changedBefore !== null && changedAfter !== null && changedAfter <= changedBefore) throw new Error("Implementation made no repository changes; refusing to mark task complete");
721
+ if (mode === "preflight" && changedBeforeTask !== null && changedAfter !== null && changedAfter <= changedBeforeTask) throw new Error("Implementation made no repository changes; refusing to mark task complete");
696
722
  const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
697
723
  await fs.writeFile(filePath, updated, "utf8");
698
724
  completed += 1;
@@ -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-BqAPyIsz.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-nUO1aM3T.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-w-HD2bz4.js");
881
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CxcBz-aQ.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);
@@ -71,6 +71,7 @@ export type AgentCommandOpts = {
71
71
  lane?: string;
72
72
  runId?: string;
73
73
  extraSystemPrompt?: string;
74
+ workspaceDir?: string;
74
75
  inputProvenance?: InputProvenance;
75
76
  /** Per-call stream param overrides (best-effort). */
76
77
  streamParams?: AgentStreamParams;
@@ -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-Dj_tThNQ.js");
21
+ const { sendMessageWhatsApp } = await import("./web-CEtAvhaI.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-BqAPyIsz.js";
2
+ import { S as stopSubagentsForRequester, b as formatAbortReplyText, n as abortEmbeddedPiRun, w as clearSessionQueues, x as isAbortRequestText } from "./reply-nUO1aM3T.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-D6VWIdk7.js";
64
+ import "./deps-qZxPlSgp.js";
65
65
  import "./outbound-attachment-BisU5Vji.js";
66
66
 
67
67
  //#region src/auto-reply/reply/emergency-stop.ts
@@ -61,6 +61,7 @@ export declare const AgentParamsSchema: import("@sinclair/typebox").TObject<{
61
61
  bestEffortDeliver: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
62
62
  lane: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
63
63
  extraSystemPrompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
64
+ workspaceDir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
64
65
  inputProvenance: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
65
66
  kind: import("@sinclair/typebox").TString;
66
67
  sourceSessionKey: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -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-BqAPyIsz.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-nUO1aM3T.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-Cd-eamYe.js";
55
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-EFRSObCG.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-D6VWIdk7.js";
68
+ import "./deps-qZxPlSgp.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-D6VWIdk7.js";
75
+ import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-qZxPlSgp.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";
@@ -4507,6 +4507,7 @@ const AgentParamsSchema = Type.Object({
4507
4507
  bestEffortDeliver: Type.Optional(Type.Boolean()),
4508
4508
  lane: Type.Optional(Type.String()),
4509
4509
  extraSystemPrompt: Type.Optional(Type.String()),
4510
+ workspaceDir: Type.Optional(Type.String()),
4510
4511
  inputProvenance: Type.Optional(Type.Object({
4511
4512
  kind: Type.String({ enum: [...INPUT_PROVENANCE_KIND_VALUES] }),
4512
4513
  sourceSessionKey: Type.Optional(Type.String()),
@@ -33090,7 +33091,7 @@ function createDiscordMessageHandler(params) {
33090
33091
  try {
33091
33092
  const messageText = resolveDiscordMessageText(data.message)?.trim();
33092
33093
  if (messageText) {
33093
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
33094
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CxcBz-aQ.js");
33094
33095
  if (isAbortRequestText(messageText)) {
33095
33096
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
33096
33097
  const channelId = resolveDiscordMessageChannelId({
@@ -39358,7 +39359,7 @@ async function agentCommand(opts, runtime = defaultRuntime, deps = createDefault
39358
39359
  agentId: sessionAgentId,
39359
39360
  sessionKey
39360
39361
  });
39361
- const workspaceDirRaw = resolvedSessionEntry?.workspaceDir?.trim() || resolveAgentWorkspaceDir(cfg, sessionAgentId);
39362
+ const workspaceDirRaw = opts.workspaceDir?.trim() || resolvedSessionEntry?.workspaceDir?.trim() || resolveAgentWorkspaceDir(cfg, sessionAgentId);
39362
39363
  const agentDir = resolveAgentDir(cfg, sessionAgentId);
39363
39364
  const workspaceDir = (await ensureAgentWorkspace({
39364
39365
  dir: workspaceDirRaw,
@@ -43834,7 +43835,7 @@ async function monitorIMessageProvider(opts = {}) {
43834
43835
  }
43835
43836
  const msgText = (message.text ?? "").trim();
43836
43837
  if (msgText) {
43837
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
43838
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CxcBz-aQ.js");
43838
43839
  if (isAbortRequestText(msgText)) {
43839
43840
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
43840
43841
  const route = resolveAgentRoute({
@@ -46230,7 +46231,7 @@ function createSignalEventHandler(deps) {
46230
46231
  const senderName = envelope.sourceName ?? senderDisplay;
46231
46232
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
46232
46233
  if (bodyText) {
46233
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
46234
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CxcBz-aQ.js");
46234
46235
  if (isAbortRequestText(bodyText)) {
46235
46236
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
46236
46237
  const route = resolveAgentRoute({
@@ -49601,7 +49602,7 @@ function createSlackMessageHandler(params) {
49601
49602
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
49602
49603
  const rawText = (message.text ?? "").trim();
49603
49604
  if (rawText) {
49604
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
49605
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CxcBz-aQ.js");
49605
49606
  if (isAbortRequestText(rawText)) {
49606
49607
  const { resolveAgentRoute } = await import("./resolve-route-BZABUE4J.js").then((n) => n.r);
49607
49608
  const route = resolveAgentRoute({
@@ -54224,7 +54225,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
54224
54225
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
54225
54226
  const text = typeof msg.text === "string" ? msg.text : void 0;
54226
54227
  if (text) {
54227
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-w-HD2bz4.js");
54228
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CxcBz-aQ.js");
54228
54229
  if (isAbortRequestText(text)) {
54229
54230
  const senderId = msg.from?.id ? String(msg.from.id) : "";
54230
54231
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -57709,7 +57710,7 @@ function loadWebLoginQr() {
57709
57710
  return webLoginQrPromise;
57710
57711
  }
57711
57712
  function loadWebChannel() {
57712
- webChannelPromise ??= import("./web-Dj_tThNQ.js");
57713
+ webChannelPromise ??= import("./web-CEtAvhaI.js");
57713
57714
  return webChannelPromise;
57714
57715
  }
57715
57716
  function loadWhatsAppActions() {
@@ -80281,7 +80282,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80281
80282
  };
80282
80283
  const arg = body.slice(6).trim();
80283
80284
  if (arg === "status" || arg === "") {
80284
- const { antonStatus } = await import("./anton-BO16dWNw.js");
80285
+ const { antonStatus } = await import("./anton-CGYTy9vy.js");
80285
80286
  const lines = [];
80286
80287
  await antonStatus({
80287
80288
  log: (msg) => lines.push(msg),
@@ -80297,7 +80298,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80297
80298
  return { shouldContinue: false };
80298
80299
  }
80299
80300
  if (arg === "stop") {
80300
- const { antonStop } = await import("./anton-BO16dWNw.js");
80301
+ const { antonStop } = await import("./anton-CGYTy9vy.js");
80301
80302
  const lines = [];
80302
80303
  await antonStop({
80303
80304
  log: (msg) => lines.push(msg),
@@ -80335,8 +80336,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
80335
80336
  await sendProgress(replyCtx, text);
80336
80337
  return { shouldContinue: false };
80337
80338
  }
80338
- const { runAnton, formatProgressMessage } = await import("./anton-BO16dWNw.js");
80339
- const { createDefaultDeps } = await import("./deps-D6VWIdk7.js").then((n) => n.n);
80339
+ const { runAnton, formatProgressMessage } = await import("./anton-CGYTy9vy.js");
80340
+ const { createDefaultDeps } = await import("./deps-qZxPlSgp.js").then((n) => n.n);
80340
80341
  const { createNonExitingRuntime } = await import("./runtime-CjfcfOBD.js").then((n) => n.r);
80341
80342
  const runtime = createNonExitingRuntime();
80342
80343
  const deps = createDefaultDeps();
@@ -1,5 +1,5 @@
1
1
  import "./accounts-BLYMokxV.js";
2
- import "./reply-BqAPyIsz.js";
2
+ import "./reply-nUO1aM3T.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-Cd-eamYe.js";
52
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-EFRSObCG.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-D6VWIdk7.js";
65
+ import "./deps-qZxPlSgp.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";
@@ -1,12 +1,12 @@
1
- import { d as requireActivePluginRegistry, o as normalizeAnyChannelId, r as CHAT_CHANNEL_ORDER, t as createSubsystemLogger } from "./subsystem-B98oWbbO.js";
2
- import { d as normalizeE164 } from "./utils-ChNzRVsg.js";
1
+ import { d as requireActivePluginRegistry, o as normalizeAnyChannelId, r as CHAT_CHANNEL_ORDER, t as createSubsystemLogger } from "./subsystem-tzu-rIAJ.js";
2
+ import { d as normalizeE164 } from "./utils-CTFLl_ji.js";
3
3
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-CuLPSMu_.js";
4
- import { t as isTruthyEnvValue } from "./env-B7b7MKfk.js";
5
- import { r as createAccountListHelpers } from "./accounts-CRDMZUcg.js";
4
+ import { t as isTruthyEnvValue } from "./env-B5G1qwGc.js";
5
+ import { r as createAccountListHelpers } from "./accounts-Dk8mJIrQ.js";
6
6
  import { t as resolveAccountEntry } from "./account-lookup-DlMshWZ_.js";
7
7
  import { t as normalizeChatType } from "./chat-type-BPBtOjer.js";
8
- import { i as resolveDefaultAgentBoundAccountId, r as listBoundAccountIds } from "./bindings-B9L4cqmm.js";
9
- import fsSync from "node:fs";
8
+ import { i as resolveDefaultAgentBoundAccountId, r as listBoundAccountIds } from "./bindings-D3b5Fmc9.js";
9
+ import syncFs from "node:fs";
10
10
  import util from "node:util";
11
11
 
12
12
  //#region src/channels/plugins/account-action-gate.ts
@@ -185,7 +185,7 @@ function resolveTelegramToken(cfg, opts = {}) {
185
185
  const accountCfg = resolveAccountCfg(accountId !== DEFAULT_ACCOUNT_ID ? accountId : DEFAULT_ACCOUNT_ID);
186
186
  const accountTokenFile = accountCfg?.tokenFile?.trim();
187
187
  if (accountTokenFile) {
188
- if (!fsSync.existsSync(accountTokenFile)) {
188
+ if (!syncFs.existsSync(accountTokenFile)) {
189
189
  opts.logMissingFile?.(`channels.telegram.accounts.${accountId}.tokenFile not found: ${accountTokenFile}`);
190
190
  return {
191
191
  token: "",
@@ -193,7 +193,7 @@ function resolveTelegramToken(cfg, opts = {}) {
193
193
  };
194
194
  }
195
195
  try {
196
- const token = fsSync.readFileSync(accountTokenFile, "utf-8").trim();
196
+ const token = syncFs.readFileSync(accountTokenFile, "utf-8").trim();
197
197
  if (token) return {
198
198
  token,
199
199
  source: "tokenFile"
@@ -218,7 +218,7 @@ function resolveTelegramToken(cfg, opts = {}) {
218
218
  const allowEnv = accountId === DEFAULT_ACCOUNT_ID;
219
219
  const tokenFile = telegramCfg?.tokenFile?.trim();
220
220
  if (tokenFile && allowEnv) {
221
- if (!fsSync.existsSync(tokenFile)) {
221
+ if (!syncFs.existsSync(tokenFile)) {
222
222
  opts.logMissingFile?.(`channels.telegram.tokenFile not found: ${tokenFile}`);
223
223
  return {
224
224
  token: "",
@@ -226,7 +226,7 @@ function resolveTelegramToken(cfg, opts = {}) {
226
226
  };
227
227
  }
228
228
  try {
229
- const token = fsSync.readFileSync(tokenFile, "utf-8").trim();
229
+ const token = syncFs.readFileSync(tokenFile, "utf-8").trim();
230
230
  if (token) return {
231
231
  token,
232
232
  source: "tokenFile"
@@ -25,11 +25,11 @@ import "./logging-Bgrm4o7g.js";
25
25
  import "./auth-store-D9BmR4S6.js";
26
26
  import "./send-m4lQkQcY.js";
27
27
  import "./send-CCiDIuX4.js";
28
- import "./subagent-registry-CcxZYIwL.js";
28
+ import "./subagent-registry-BH5O1rxK.js";
29
29
  import "./paths-CC17i2eK.js";
30
30
  import "./chat-envelope-Dedaetiq.js";
31
- import "./client-Brv1GCwX.js";
32
- import "./call-DuNslqj2.js";
31
+ import "./client-udFMSDes.js";
32
+ import "./call-C82rD2Wn.js";
33
33
  import "./pairing-token-CnnKAS6M.js";
34
34
  import "./net-CE_62H5R.js";
35
35
  import "./ip-Y1214nEL.js";
@@ -108,8 +108,8 @@ import "./cli-utils-BfsDuRZS.js";
108
108
  import "./help-format-CldHB7lS.js";
109
109
  import "./progress-B76RkFx7.js";
110
110
  import "./replies-DSfpze17.js";
111
- import "./deps-BuRud-p8.js";
112
- import "./onboard-helpers-Dp6wXNs7.js";
111
+ import "./deps-CjWcQwlX.js";
112
+ import "./onboard-helpers-DWivfzcc.js";
113
113
  import "./prompt-style-XmK49QYK.js";
114
114
  import "./pairing-labels-D7xcHkxi.js";
115
115
  import { n as setPluginEnabledInConfig, t as enablePluginInConfig } from "./enable-CMXupNXl.js";
@@ -118,7 +118,7 @@ import "./npm-registry-spec-BlFqJFsA.js";
118
118
  import "./skill-scanner-CdLElD51.js";
119
119
  import { a as resolvePluginInstallDir, i as installPluginFromPath, n as recordPluginInstall, r as installPluginFromNpmSpec } from "./installs-8aQVDSI0.js";
120
120
  import { t as renderTable } from "./table-aJzHv5Oe.js";
121
- import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport } from "./npm-resolution-DYUWHUe5.js";
121
+ import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport } from "./npm-resolution-By6bZkA-.js";
122
122
  import { n as updateNpmInstalledPlugins, r as findBundledPluginByNpmSpec } from "./update-If9iCjgB.js";
123
123
  import os from "node:os";
124
124
  import path from "node:path";