@visorcraft/idlehands 4.2.3 → 4.2.5

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 (409) hide show
  1. package/dist/{accounts-B4A5mL3Y.js → accounts-3HS_UAhJ.js} +1 -1
  2. package/dist/{accounts-B8cGzkjD.js → accounts-BDVs8LTu.js} +1 -1
  3. package/dist/{accounts-D5tB_lO0.js → accounts-CIvVRRHb.js} +1 -1
  4. package/dist/{accounts-CbaEMSlt.js → accounts-DLTODa_Z.js} +2 -2
  5. package/dist/{accounts-VbtNKne6.js → accounts-DgbTKQoW.js} +1 -1
  6. package/dist/{accounts-BQC_GRUB.js → accounts-Dk8mJIrQ.js} +6 -6
  7. package/dist/{acp-cli-BF3FD1qw.js → acp-cli-BEpWQbqb.js} +12 -12
  8. package/dist/{agent-scope-Bxq1eWbA.js → agent-scope-DyP_tr7s.js} +4 -4
  9. package/dist/{agent-scope-DbNnv10G.js → agent-scope-RA0zXRpu.js} +3 -3
  10. package/dist/{agent-via-gateway-BtMWCqx4.js → agent-via-gateway-Bhon8XVm.js} +7 -7
  11. package/dist/{agent-via-gateway-BN0HMYd7.js → agent-via-gateway-CS-8ChjV.js} +1 -1
  12. package/dist/{agent-via-gateway-BsTP4WyI.js → agent-via-gateway-DVTkXwmI.js} +60 -60
  13. package/dist/{agent-via-gateway-9aP1U_YQ.js → agent-via-gateway-Drygi4ty.js} +6 -6
  14. package/dist/{agents-Bitc3LDE.js → agents-dNuQ9qUa.js} +4 -4
  15. package/dist/{agents.config-DmFqh5v8.js → agents.config-B_6rOTVW.js} +1 -1
  16. package/dist/{agents.config-DLjDlH4M.js → agents.config-DCNsF8yj.js} +2 -2
  17. package/dist/{anton-C3Y_hYo3.js → anton-BmSsFmSP.js} +225 -41
  18. package/dist/{anton-Dn_Pc4P0.js → anton-Cw4-BgtA.js} +229 -45
  19. package/dist/{anton-CmB9XtGt.js → anton-D375-ufL.js} +226 -41
  20. package/dist/{anton-DqSQ27RK.js → anton-Di5VPZiI.js} +229 -44
  21. package/dist/{api-key-rotation-Bj8Q_8ST.js → api-key-rotation-B-FTJm5p.js} +2 -2
  22. package/dist/{audio-preflight-qkU2lsDn.js → audio-preflight-CW8IH1lU.js} +35 -35
  23. package/dist/{audio-preflight-BEe3Go6e.js → audio-preflight-Dl1TO10w.js} +41 -41
  24. package/dist/{audio-preflight-CSSlgO89.js → audio-preflight-vD3mDc6w.js} +4 -4
  25. package/dist/{audit-DjUOBxVB.js → audit-CKeZnjft.js} +21 -21
  26. package/dist/{auth-choice-BKDISagq.js → auth-choice-C8Tj46gd.js} +10 -10
  27. package/dist/{auth-choice-nFObMeHm.js → auth-choice-CYV4KLt7.js} +1 -1
  28. package/dist/{auth-choice-fHV4ZjtT.js → auth-choice-D12Wsf7w.js} +15 -15
  29. package/dist/{auth-choice.apply-helpers-fIm7h2DA.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
  30. package/dist/{auth-DoNXQLDj.js → auth-heRVBxh2.js} +1 -1
  31. package/dist/{auth-store-Dqjgb5R1.js → auth-store-DDzIMy8_.js} +1 -1
  32. package/dist/{auth-store-Bb4aajHu.js → auth-store-DXT-l7fO.js} +12 -12
  33. package/dist/{auth-token-ChjRQYCt.js → auth-token-BJq87X3o.js} +2 -2
  34. package/dist/{banner-IB7Cylyq.js → banner-B7_rwm3P.js} +1 -1
  35. package/dist/{bindings-DorAphZu.js → bindings-B59Q7nsk.js} +2 -2
  36. package/dist/{bindings-CLZIJ0Eo.js → bindings-D3b5Fmc9.js} +2 -2
  37. package/dist/{bonjour-discovery-Yzgl5gfZ.js → bonjour-discovery-DMslm8Hx.js} +2 -2
  38. package/dist/{browser-cli-B8GEKR0p.js → browser-cli-Ci6DpTnS.js} +19 -19
  39. package/dist/build-info.json +3 -3
  40. package/dist/bundled/boot-md/handler.js +60 -60
  41. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  42. package/dist/bundled/command-logger/handler.js +3 -3
  43. package/dist/bundled/session-memory/handler.js +60 -60
  44. package/dist/{call-SK4sGwpN.js → call-BpWhjuOg.js} +4 -4
  45. package/dist/{channel-account-context-CBQ0TdW0.js → channel-account-context-CDbY5AIr.js} +1 -1
  46. package/dist/{channel-activity-D3e45uuU.js → channel-activity-D_TMOGQ0.js} +3 -3
  47. package/dist/{channel-activity-DdL3RAv_.js → channel-activity-DaCsrdWK.js} +3 -3
  48. package/dist/{channel-options-DcxOFxzU.js → channel-options-DTqGMcYU.js} +5 -5
  49. package/dist/{channel-options-B2LlZj0S.js → channel-options-Dxc1A5iC.js} +1 -1
  50. package/dist/{channel-selection-DLfBD-c0.js → channel-selection-ZxRkxpuF.js} +2 -2
  51. package/dist/{channel-web-XLD22Zzs.js → channel-web-BPlapQS3.js} +2 -2
  52. package/dist/{channel-web-Cu_AcYVB.js → channel-web-CgvDCMru.js} +26 -26
  53. package/dist/{channels-cli-DZWOS5d6.js → channels-cli-BfUIc52d.js} +7 -7
  54. package/dist/{channels-cli-BWMjEguK.js → channels-cli-k45uGu5k.js} +104 -104
  55. package/dist/{channels-status-issues-DMvYh1lV.js → channels-status-issues-CDpWjdI3.js} +1 -1
  56. package/dist/{chrome-Do5potHV.js → chrome-BcJB6PcM.js} +9 -9
  57. package/dist/{chrome-CT_a9OgI.js → chrome-DEnkfZ9p.js} +29 -29
  58. package/dist/{chrome-DeAzXWRb.js → chrome-VBsQfIrt.js} +4 -4
  59. package/dist/{chunk-Djk-9JeT.js → chunk-CMpX7Jaz.js} +1 -1
  60. package/dist/{chunk-DJjn34fF.js → chunk-ClMFHJu-.js} +1 -1
  61. package/dist/{clack-prompter-EMS8sO4h.js → clack-prompter-CvbZsmjW.js} +5 -5
  62. package/dist/{clawbot-cli-B8qqplom.js → clawbot-cli-uFgYrysW.js} +9 -9
  63. package/dist/cli/daemon-cli.js +1 -1
  64. package/dist/cli-BapK2rdH.js +162 -0
  65. package/dist/{cli-Bq5b8f58.js → cli-C6GCCnET.js} +2 -2
  66. package/dist/{client-Cagiy1nE.js → client-DtnD-ee9.js} +2 -2
  67. package/dist/{clipboard-BqjWohVl.js → clipboard-LsW7H0Y8.js} +1 -1
  68. package/dist/{command-registry-CeIfSw9l.js → command-registry-DJb9jSNL.js} +10 -10
  69. package/dist/{commands-5UqnjBKV.js → commands-Dj5LalLo.js} +2 -2
  70. package/dist/{commands-registry-C1lIoXkL.js → commands-registry-CURlRZQJ.js} +5 -5
  71. package/dist/{commands-registry-_TBHHpvt.js → commands-registry-j4vAzcF2.js} +5 -5
  72. package/dist/{completion-cli-Dh0MVQJ6.js → completion-cli-BXA0UZAn.js} +2 -2
  73. package/dist/{completion-cli-ClOKco1N.js → completion-cli-DqJEZMJt.js} +4 -4
  74. package/dist/{config-cli-BaNTuQ52.js → config-cli-97SkUuuT.js} +13 -13
  75. package/dist/{config-cli-CpgR8c8d.js → config-cli-BfaVUsj-.js} +1 -1
  76. package/dist/{config-guard-DwTygT00.js → config-guard-BdsOumqh.js} +23 -23
  77. package/dist/{config-validation-wUpXePGY.js → config-validation-BvKX6fPw.js} +2 -2
  78. package/dist/{configure-C4n13-o1.js → configure-CmTKkn3M.js} +21 -21
  79. package/dist/{configure-BfzLtTQH.js → configure-DpswIHZC.js} +3 -3
  80. package/dist/{control-ui-assets-CSrZ1shI.js → control-ui-assets-C7ZpN9hN.js} +1 -1
  81. package/dist/{cron-cli-Den58QGF.js → cron-cli-DQsnGQKs.js} +17 -17
  82. package/dist/{daemon-cli-CpCtUgS2.js → daemon-cli-DUg-s4LG.js} +14 -14
  83. package/dist/{daemon-install-BPEEr5XM.js → daemon-install-CYPo4M1M.js} +8 -8
  84. package/dist/{deliver-BqJFyWu7.js → deliver--kttnrER.js} +10 -10
  85. package/dist/{deliver-whAbSPLk.js → deliver-5FLCa6tB.js} +1 -1
  86. package/dist/{deliver-Db2xqgLg.js → deliver-BUiQ-9fE.js} +20 -20
  87. package/dist/{deps-BH4bzzRD.js → deps-BV_-fxNb.js} +1 -1
  88. package/dist/{deps-CnUuBleG.js → deps-Bc5yBM-U.js} +6 -6
  89. package/dist/{deps-c-x2UBbd.js → deps-CDLYb9a7.js} +1 -1
  90. package/dist/{deps-CjvmCq-K.js → deps-IpeS3x5O.js} +6 -6
  91. package/dist/{devices-cli-HTdRxjTf.js → devices-cli-DKK65S9Z.js} +12 -12
  92. package/dist/{diagnostic-BvlZ0Sot.js → diagnostic-4owMk4vH.js} +1 -1
  93. package/dist/{diagnostic-ztHDqZ1m.js → diagnostic-BECJfEvH.js} +3 -3
  94. package/dist/{diagnostic-BUKW2Q0G.js → diagnostic-ByHpt6q8.js} +1 -1
  95. package/dist/{diagnostics-C2vxSb6v.js → diagnostics-DmZbQ8Nc.js} +1 -1
  96. package/dist/{directory-cli-BQDn6Qin.js → directory-cli-Dz9iXeut.js} +16 -16
  97. package/dist/{dns-cli-lwfJKGdv.js → dns-cli-DD6hWsdc.js} +10 -10
  98. package/dist/{dock-ejUetwTC.js → dock-BgOmHcbh.js} +6 -6
  99. package/dist/{dock-DpA6CUDJ.js → dock-Y96MzKuM.js} +6 -6
  100. package/dist/{docs-cli-Jnv5gp25.js → docs-cli-cHkrTB2e.js} +9 -9
  101. package/dist/{doctor-completion-BUUL91Dy.js → doctor-completion-BkS6Phs6.js} +2 -2
  102. package/dist/{doctor-completion-IIzctUix.js → doctor-completion-WFEPRjgs.js} +1 -1
  103. package/dist/{doctor-config-flow-DcxVJJvh.js → doctor-config-flow-Ck4oCjfl.js} +13 -13
  104. package/dist/{emergency-stop-Bg9a1fXU.js → emergency-stop-DKLc7AmD.js} +7 -7
  105. package/dist/{emergency-stop-CjxNr2he.js → emergency-stop-DMTHxdvC.js} +2 -2
  106. package/dist/emergency-stop-Dxp2e3a9.js +113 -0
  107. package/dist/emergency-stop-zy54uJoE.js +162 -0
  108. package/dist/{enable-ztZSnOGv.js → enable-o_s6PBsC.js} +2 -2
  109. package/dist/entry.js +1 -1
  110. package/dist/{env-q-PhWbb_.js → env-B5G1qwGc.js} +1 -1
  111. package/dist/{env-dMo-pLSc.js → env-Bx-F45X5.js} +1 -1
  112. package/dist/{errors-C4SHjIZK.js → errors-C_0nm4TJ.js} +1 -1
  113. package/dist/{errors-BNr2qnai.js → errors-DZDuPc3M.js} +1 -1
  114. package/dist/{exec-B9xbr2pN.js → exec-CKHMT0tZ.js} +2 -2
  115. package/dist/{exec-approvals-allowlist-BzsyDGgt.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
  116. package/dist/{exec-approvals-cli-2SjGVbIm.js → exec-approvals-cli-D6XUzs4j.js} +21 -21
  117. package/dist/{exec-safe-bin-runtime-policy-bEV0LvVh.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
  118. package/dist/extensionAPI.js +7 -7
  119. package/dist/{fetch-guard-CcfDZXe9.js → fetch-guard-iuQsIjqN.js} +1 -1
  120. package/dist/{fetch-guard-C-IWepjW.js → fetch-guard-yUZu1Vzc.js} +1 -1
  121. package/dist/{frontmatter-pTUG4Sx_.js → frontmatter-BOudmHMS.js} +2 -2
  122. package/dist/{frontmatter-x0EBRtDF.js → frontmatter-D-sQ_Hqk.js} +2 -2
  123. package/dist/{fs-safe-2l05hI1Y.js → fs-safe-CYUaAFO9.js} +2 -2
  124. package/dist/{gateway-cli-Bcamqq7Z.js → gateway-cli-E6DUzxEX.js} +9 -9
  125. package/dist/{gateway-cli-C2jOWbsN.js → gateway-cli-FNbwxOiN.js} +123 -123
  126. package/dist/{gateway-rpc-C_He5poS.js → gateway-rpc-BBFG1T-M.js} +3 -3
  127. package/dist/{gemini-auth-DLSGffQK.js → gemini-auth-CIyaa44H.js} +2 -2
  128. package/dist/{github-copilot-token-BjmEQcmi.js → github-copilot-token-Dgt6cnsM.js} +7 -7
  129. package/dist/{gmail-setup-utils-D1VrLZhD.js → gmail-setup-utils-DRJTQOMM.js} +3 -3
  130. package/dist/{health-3B8ANLz5.js → health-CGW71CVV.js} +15 -15
  131. package/dist/{health-BTU1dGHH.js → health-D60h_a2w.js} +1 -1
  132. package/dist/{health-format-CWIquyOr.js → health-format-Ba_hOaT2.js} +1 -1
  133. package/dist/{help-format-D7QsjOW4.js → help-format-CMAqOikG.js} +1 -1
  134. package/dist/{hooks-cli-BOc85-37.js → hooks-cli-BnVSeWIo.js} +3 -3
  135. package/dist/{hooks-cli-CdEcbqPF.js → hooks-cli-DaWPRdgZ.js} +93 -93
  136. package/dist/{hooks-status-BBvzI_rQ.js → hooks-status-DNGo2G8Q.js} +3 -3
  137. package/dist/{image-BAsQlUqT.js → image-C_aN5P6-.js} +1 -1
  138. package/dist/{image-Dlu13Ebx.js → image-D8b_rlQC.js} +6 -6
  139. package/dist/{image-BkrcRFPe.js → image-DSDEbSiO.js} +7 -7
  140. package/dist/{image-ops-CGnAhRRV.js → image-ops-BU-VdLZu.js} +1 -1
  141. package/dist/{image-ops-J8P5zOFm.js → image-ops-D1KtygWz.js} +1 -1
  142. package/dist/index.js +99 -99
  143. package/dist/{inspect-BOW-hTlT.js → inspect-ISQZuNM5.js} +1 -1
  144. package/dist/{installs-DGfrRYWX.js → installs-CNubze2L.js} +4 -4
  145. package/dist/{ir-BT5aAdU9.js → ir-B7IBoKLy.js} +5 -5
  146. package/dist/{ir-DBqjL1SG.js → ir-VncGpwA1.js} +4 -4
  147. package/dist/{lifecycle-core-DOL5vqsF.js → lifecycle-core-B6UoqYTJ.js} +5 -5
  148. package/dist/{links-DIG3qrf5.js → links-15764jZB.js} +1 -1
  149. package/dist/llm-slug-generator.js +60 -60
  150. package/dist/{local-roots-d4y0lvs2.js → local-roots-KN4Hp1yZ.js} +5 -5
  151. package/dist/{local-roots-B-lmQdZs.js → local-roots-q0xbefkf.js} +4 -4
  152. package/dist/{logging-BK2fjjMe.js → logging-B0-9lotb.js} +1 -1
  153. package/dist/{login-C2X0In6m.js → login-CFr5vJmR.js} +6 -6
  154. package/dist/{login-BVf_DBja.js → login-CfUhrgWT.js} +6 -6
  155. package/dist/{login-qr-C17PY0rr.js → login-qr-CFFFOjOl.js} +11 -11
  156. package/dist/{login-qr-V1EwcFLt.js → login-qr-DBMsUxgL.js} +10 -10
  157. package/dist/{logs-cli-BgrYblUE.js → logs-cli-4VQ9Iwiw.js} +13 -13
  158. package/dist/{manager-CgzA1hKo.js → manager-BE_76jWB.js} +15 -15
  159. package/dist/{manager-DayGME0K.js → manager-BMAFgXyU.js} +10 -10
  160. package/dist/{manifest-registry-cOeAg4W6.js → manifest-registry-Bak1x76G.js} +2 -2
  161. package/dist/{markdown-tables-R8VTpfE9.js → markdown-tables-CzsockiZ.js} +1 -1
  162. package/dist/{markdown-tables-BQ8czvs_.js → markdown-tables-DZClqsNo.js} +1 -1
  163. package/dist/{memory-cli-D_bFq_Q1.js → memory-cli-CUGwnVIY.js} +12 -12
  164. package/dist/{message-channel-ZdI1-uUh.js → message-channel-C8QtrwEU.js} +1 -1
  165. package/dist/{message-channel-CRSTffWx.js → message-channel-DVauVtrg.js} +1 -1
  166. package/dist/{model-Di6JkHyx.js → model-C-icShH2.js} +2 -2
  167. package/dist/{model-catalog-D_KsCB5j.js → model-catalog-D9no0CH2.js} +4 -4
  168. package/dist/{model-picker-CM_QFlL4.js → model-picker-BkXoTOiA.js} +4 -4
  169. package/dist/{model-selection-Df4-bBn3.js → model-selection-0dGxYGp8.js} +12 -12
  170. package/dist/{model-selection-C5hI1dum.js → model-selection-1MMYqY6M.js} +41 -41
  171. package/dist/{models-CIS_OcjC.js → models-C1ouQF8k.js} +2 -2
  172. package/dist/{models-cli-6njz6jJl.js → models-cli-BhFUh61j.js} +4 -4
  173. package/dist/{models-cli-BS7pagh1.js → models-cli-CxEFLoMt.js} +98 -98
  174. package/dist/{models-config-zq6L0fug.js → models-config-C5A1wDWh.js} +2 -2
  175. package/dist/{node-cli-PVcj1bnA.js → node-cli-BYzjxmUY.js} +33 -33
  176. package/dist/{node-service-IG3YtMJq.js → node-service-C3vyxHLA.js} +1 -1
  177. package/dist/{nodes-cli-DKj4NkKf.js → nodes-cli-kNOtp0U0.js} +21 -21
  178. package/dist/{nodes-screen-CK0vmyQx.js → nodes-screen-CcpPaFxa.js} +1 -1
  179. package/dist/{note--5AAjfvH.js → note-69EfBEU-.js} +2 -2
  180. package/dist/{npm-registry-spec-B81IsQOs.js → npm-registry-spec-BCbbfIhX.js} +2 -2
  181. package/dist/{npm-resolution-CkpVYF4z.js → npm-resolution-D30nzRfu.js} +4 -4
  182. package/dist/{npm-resolution-DWXTcpqo.js → npm-resolution-Ds0qg1EX.js} +1 -1
  183. package/dist/{onboard-BYOBc47n.js → onboard-Cv6q6Usf.js} +9 -9
  184. package/dist/{onboard-b_mYsSas.js → onboard-NcA_odSQ.js} +2 -2
  185. package/dist/{onboard-channels-sslbndju.js → onboard-channels-C1E5DpTR.js} +17 -17
  186. package/dist/{onboard-channels-CzB1oDsu.js → onboard-channels-bfoS7x6P.js} +1 -1
  187. package/dist/{onboard-custom-C_4nk_e8.js → onboard-custom-DUbzMMu7.js} +4 -4
  188. package/dist/{onboard-helpers-CXjQtadC.js → onboard-helpers-mzy38DiC.js} +7 -7
  189. package/dist/{onboard-hooks-CuOJrgfu.js → onboard-hooks-D9teGxfH.js} +7 -7
  190. package/dist/{onboard-remote-B-bN7EmV.js → onboard-remote-LCBHijVE.js} +3 -3
  191. package/dist/{onboard-skills-BVmcgCzz.js → onboard-skills-jFY9gaOu.js} +4 -4
  192. package/dist/{onboarding-qxSl79A_.js → onboarding-CX8a934a.js} +16 -16
  193. package/dist/{onboarding-BfDz8n6H.js → onboarding-CpGBbVTj.js} +3 -3
  194. package/dist/{onboarding.finalize-DeEXxkOU.js → onboarding.finalize-BnKQeFN8.js} +7 -7
  195. package/dist/{onboarding.finalize-DGZkcjrv.js → onboarding.finalize-CRgpFQIz.js} +99 -99
  196. package/dist/{onboarding.gateway-config-BinQe57V.js → onboarding.gateway-config-Btu2gzgr.js} +21 -21
  197. package/dist/{openai-model-default-CK1wUY3u.js → openai-model-default-7J6cw1rA.js} +2 -2
  198. package/dist/{outbound-CdY_AskB.js → outbound-BNh6PpQb.js} +6 -6
  199. package/dist/{outbound-DClHNQfl.js → outbound-DPTxwchq.js} +6 -6
  200. package/dist/{outbound-attachment-IfeZJAKk.js → outbound-attachment-3I6GzwDe.js} +2 -2
  201. package/dist/{outbound-attachment-Cz80loTd.js → outbound-attachment-Bot3bRnK.js} +2 -2
  202. package/dist/{pairing-cli-By_hykOY.js → pairing-cli-jwx6hMsM.js} +15 -15
  203. package/dist/{pairing-labels-Dm-DUGGI.js → pairing-labels-ChQJzbS9.js} +1 -1
  204. package/dist/{pairing-store-CPUUuW7M.js → pairing-store-CPpEEQJO.js} +3 -3
  205. package/dist/{path-alias-guards-BZmt6hFb.js → path-alias-guards-Cu1nXNMM.js} +1 -1
  206. package/dist/{path-env-CWIJihhd.js → path-env-CKSLQUS1.js} +1 -1
  207. package/dist/{paths-CBF9EBzh.js → paths-B-CLQ5RT.js} +1 -1
  208. package/dist/{paths-DQpv9a3Q.js → paths-BYNVLNi_.js} +5 -5
  209. package/dist/{paths-D3p7ZvM6.js → paths-D_qUel1T.js} +3 -3
  210. package/dist/{pi-embedded-E9CG0AZO.js → pi-embedded-0YMQWOc5.js} +32 -28
  211. package/dist/{pi-embedded-xW12sr9Q.js → pi-embedded-BO8wzB4O.js} +185 -181
  212. package/dist/{pi-embedded-helpers-D675DgwP.js → pi-embedded-helpers-BCsfqpDt.js} +4 -4
  213. package/dist/{pi-embedded-helpers-Ct2rwp-P.js → pi-embedded-helpers-C2j0LfJC.js} +4 -4
  214. package/dist/{pi-embedded-helpers-B3ceCcxm.js → pi-embedded-helpers-CghCLoPo.js} +24 -24
  215. package/dist/{pi-model-discovery-BEKzIGSg.js → pi-model-discovery-BIP3RjXl.js} +1 -1
  216. package/dist/{pi-model-discovery-Dlx4RLWo.js → pi-model-discovery-Bb__OY-j.js} +7 -7
  217. package/dist/{pi-tools.policy-GzRj_NVc.js → pi-tools.policy-DfITIKZj.js} +6 -6
  218. package/dist/{plugin-auto-enable-CU8IfpBV.js → plugin-auto-enable-7DUxMy6A.js} +5 -5
  219. package/dist/{plugin-registry-CY1u8bd9.js → plugin-registry-Cp2q0pVP.js} +1 -1
  220. package/dist/{plugin-registry-CJfl54B-.js → plugin-registry-DceNUcJc.js} +4 -4
  221. package/dist/plugin-sdk/{agent-via-gateway-NXyTgftN.js → agent-via-gateway-MuDsrNW6.js} +2 -2
  222. package/dist/plugin-sdk/{anton-8LTiJnvw.js → anton-CkJKOeKT.js} +225 -41
  223. package/dist/plugin-sdk/{channel-web-DEl6BZu6.js → channel-web-B6pGyJpM.js} +2 -2
  224. package/dist/plugin-sdk/commands/anton.d.ts +28 -4
  225. package/dist/plugin-sdk/{deps-CdRm6UCM.js → deps-FuyQakmK.js} +1 -1
  226. package/dist/plugin-sdk/{emergency-stop-vr_MLBH0.js → emergency-stop-Ci4JC4dU.js} +2 -2
  227. package/dist/plugin-sdk/index.js +3 -3
  228. package/dist/plugin-sdk/{reply-Cii_-apO.js → reply-BTVimsoK.js} +17 -13
  229. package/dist/plugin-sdk/{web-BrcYG4Cd.js → web-HiiN5NkP.js} +3 -3
  230. package/dist/{plugins-DYr-HHj0.js → plugins-CRB60mCJ.js} +10 -10
  231. package/dist/{plugins-Bj6rzE-9.js → plugins-D46VZh7u.js} +5 -5
  232. package/dist/{plugins-cli-BsCu9ZxX.js → plugins-cli-2wK7R85Y.js} +3 -3
  233. package/dist/{plugins-cli-rEURRyag.js → plugins-cli-BaQt7jqk.js} +95 -95
  234. package/dist/{ports-D3FuSfMU.js → ports-B2o0FSFD.js} +2 -2
  235. package/dist/{ports-BJ6Xu_G6.js → ports-SQy1d-RL.js} +3 -3
  236. package/dist/{program-CtFnQFId.js → program-CbwFv75G.js} +8 -8
  237. package/dist/{program-context-BsCSqznM.js → program-context-Ck-chzM_.js} +43 -43
  238. package/dist/{progress-BN8aygvh.js → progress-BQLz1r3L.js} +1 -1
  239. package/dist/{prompt-select-styled-BKPmN1HP.js → prompt-select-styled-DJ5ONfKl.js} +4 -4
  240. package/dist/{prompt-select-styled-BB8mtFS9.js → prompt-select-styled-DigZiJWM.js} +35 -35
  241. package/dist/{prompt-style-BRwf6dfp.js → prompt-style-kmKiCZnm.js} +1 -1
  242. package/dist/{provider-auth-helpers-ar7t02s1.js → provider-auth-helpers-Ci_EGvif.js} +7 -7
  243. package/dist/{provider-auth-helpers-486CLY6U.js → provider-auth-helpers-DGTDTeE5.js} +1 -1
  244. package/dist/{push-apns-AHniql5u.js → push-apns-BSYjGCn9.js} +5 -5
  245. package/dist/{push-apns-CJJ-O5fL.js → push-apns-Dz4hOY07.js} +1 -1
  246. package/dist/{pw-ai-DRVoaq_u.js → pw-ai-7i9eGnLh.js} +13 -13
  247. package/dist/{pw-ai-DIV4PcIo.js → pw-ai-CfYaR1K2.js} +13 -13
  248. package/dist/{pw-ai-yrIWfcWX.js → pw-ai-DjmrIQle.js} +1 -1
  249. package/dist/{qmd-manager-SkIM31ge.js → qmd-manager-B-qeywfQ.js} +6 -6
  250. package/dist/{qmd-manager-BRvg3Rx2.js → qmd-manager-B_GgyQQ0.js} +8 -8
  251. package/dist/{qr-cli-BsFvbHQy.js → qr-cli-CSt5ihwG.js} +4 -4
  252. package/dist/{query-expansion-BIsWftgR.js → query-expansion-Clts_AGz.js} +2 -2
  253. package/dist/{query-expansion-DHuNyU-_.js → query-expansion-DEq020GG.js} +5 -5
  254. package/dist/{redact-CIBM9Zli.js → redact-B_4KNlXs.js} +1 -1
  255. package/dist/{redact-1Y0KPNtr.js → redact-Bvpf-ATQ.js} +1 -1
  256. package/dist/{redact-snapshot-DQ_VN7gO.js → redact-snapshot-BbEVKv0k.js} +2 -2
  257. package/dist/{register.agent-DswuLYd8.js → register.agent-BZh3UWw3.js} +9 -9
  258. package/dist/{register.agent-TMXz7bwT.js → register.agent-CTPc2Q9m.js} +110 -110
  259. package/dist/{register.configure-BFWnHArB.js → register.configure-BzTxX7SG.js} +8 -8
  260. package/dist/register.configure-vVDARCph.js +168 -0
  261. package/dist/{register.maintenance-Dj8A9Hj7.js → register.maintenance-BNHEV-po.js} +9 -9
  262. package/dist/{register.maintenance-C2B-RPnI.js → register.maintenance-DTXn32on.js} +108 -108
  263. package/dist/{register.message-DWm_Lizi.js → register.message-BYWAEsKP.js} +3 -3
  264. package/dist/{register.message-CR569hCK.js → register.message-CHf51taw.js} +90 -90
  265. package/dist/{register.onboard-CBlF61-5.js → register.onboard-CxwDhXRS.js} +29 -29
  266. package/dist/{register.onboard-BjMv8Rc2.js → register.onboard-vruDRZdG.js} +2 -2
  267. package/dist/{register.orchestrator-anton-Cvw__ptb.js → register.orchestrator-anton-GSAFxzGa.js} +2 -2
  268. package/dist/{register.orchestrator-anton-CehFZHyG.js → register.orchestrator-anton-qBr2ZYrk.js} +7 -7
  269. package/dist/{register.setup-B8TX05TM.js → register.setup-B0zmlTXV.js} +2 -2
  270. package/dist/{register.setup-BrXOX1jn.js → register.setup-DlFQIXoR.js} +31 -31
  271. package/dist/{register.status-health-sessions-DexyefSU.js → register.status-health-sessions-16paRP9f.js} +101 -101
  272. package/dist/{register.status-health-sessions-C-3gl9qR.js → register.status-health-sessions-CtXhn9Dq.js} +4 -4
  273. package/dist/{register.subclis-CFcZU6Sc.js → register.subclis-lskGgus9.js} +9 -9
  274. package/dist/{replies-CWMglpIw.js → replies-6_GxvQYe.js} +3 -3
  275. package/dist/{replies-2C16fnBP.js → replies-hSFVxL4h.js} +3 -3
  276. package/dist/{reply-dLJYULbb.js → reply-DfRr_KdS.js} +120 -116
  277. package/dist/{reply-prefix-CXLm7TNq.js → reply-prefix-BUgeSN2R.js} +1 -1
  278. package/dist/{reply-prefix-DCljZiIB.js → reply-prefix-C3y4zpTl.js} +1 -1
  279. package/dist/{resolve-route-BrHTn_2g.js → resolve-route-D_AbcmD6.js} +4 -4
  280. package/dist/{resolve-route-ClcifpKn.js → resolve-route-DuttYY7A.js} +4 -4
  281. package/dist/{retry-CG6cMRDQ.js → retry-BeB9WenR.js} +1 -1
  282. package/dist/{retry-B7zUL1Mv.js → retry-Db05aSB8.js} +1 -1
  283. package/dist/{rpc-Dp_JZNAZ.js → rpc-Cf9OK5Yk.js} +3 -3
  284. package/dist/{run-main-xc_0T201.js → run-main-Bj-8MZGb.js} +15 -15
  285. package/dist/{runner-Bv_BA3vd.js → runner-CZW_eyf2.js} +1 -1
  286. package/dist/{runner-p3KLBBEt.js → runner-DzszLzI4.js} +11 -11
  287. package/dist/{runner-BkCU-kqs.js → runner-PgRFPYUj.js} +11 -11
  288. package/dist/{runtime-DELkrqga.js → runtime-XmXLaHNk.js} +3 -3
  289. package/dist/{sandbox-cEpEHVD-.js → sandbox-DcUw5h3p.js} +8 -8
  290. package/dist/{sandbox-cli-B7kOJiLh.js → sandbox-cli-DGvJ7Eeq.js} +32 -32
  291. package/dist/{secrets-cli-COGPFjdu.js → secrets-cli-CR3h2TBy.js} +14 -14
  292. package/dist/{security-cli-Db4ZYVER.js → security-cli-B9_LV2po.js} +42 -42
  293. package/dist/{send-DA-ryUJS.js → send--lzpNy4f.js} +14 -14
  294. package/dist/{send-DZa8fWSm.js → send-BeIZJuy4.js} +7 -7
  295. package/dist/{send-Y1hD4tQ1.js → send-C1hvd3bt.js} +6 -6
  296. package/dist/{send-D_ARyjSf.js → send-C4v0Leny.js} +6 -6
  297. package/dist/{send-BOxJ4QXF.js → send-D4bMycQu.js} +7 -7
  298. package/dist/{send-D-UmmCCj.js → send-DQiw_nGD.js} +7 -7
  299. package/dist/{send-FLdrx-oF.js → send-Dfa3sn6r.js} +24 -24
  300. package/dist/{send-IlPMLAH-.js → send-DmLC7aEF.js} +10 -10
  301. package/dist/{send-DnscWRVE.js → send-DuwdEkLw.js} +7 -7
  302. package/dist/{send-BhbOA8rP.js → send-DwdHiC7_.js} +10 -10
  303. package/dist/{server-DLOBjQtf.js → server-D6MltJIF.js} +21 -21
  304. package/dist/{server-context-CvZnSu9L.js → server-context-DI0W_H7R.js} +11 -11
  305. package/dist/{server-lifecycle-CfZbDiFe.js → server-lifecycle-B5PlrlbG.js} +2 -2
  306. package/dist/{server-node-events-CgSZVd8M.js → server-node-events-B_LUFrA_.js} +89 -89
  307. package/dist/{server-node-events-Dj5jYSln.js → server-node-events-Benu2lR2.js} +3 -3
  308. package/dist/{service-fKr0VnMd.js → service-C8NMS3m_.js} +1 -1
  309. package/dist/{session-BKdoiopW.js → session-CdnrRhb4.js} +2 -2
  310. package/dist/{session-nUPBXeEa.js → session-F_YDS_1V.js} +7 -7
  311. package/dist/{sessions-DRA4oaxz.js → sessions-3ioSeOA1.js} +41 -41
  312. package/dist/{sessions-uS8Ko6pU.js → sessions-BtPXimXQ.js} +6 -6
  313. package/dist/{shared-Cvf3nhuq.js → shared-CpDPo3hJ.js} +2 -2
  314. package/dist/{shared-pSfUCPxh.js → shared-DpLSpJIl.js} +1 -1
  315. package/dist/{skill-commands-BY4BNcfR.js → skill-commands-BFzmZAfo.js} +6 -6
  316. package/dist/{skill-commands-BHTBXXVn.js → skill-commands-Ck3flWX7.js} +9 -9
  317. package/dist/{skill-scanner-BFXxq_hZ.js → skill-scanner-D7mzXRXd.js} +1 -1
  318. package/dist/{skills-umlGvChF.js → skills-CnAPWfca.js} +22 -22
  319. package/dist/{skills-DuPZzvnK.js → skills-DlvDyK8L.js} +4 -4
  320. package/dist/{skills-cli-wSg-syqz.js → skills-cli-BhKGhjbO.js} +10 -10
  321. package/dist/{skills-install-CQihNd2n.js → skills-install-tr6wRWZj.js} +6 -6
  322. package/dist/{skills-status-D7aU-6Ob.js → skills-status-qjQ8XP0h.js} +4 -4
  323. package/dist/{status-CV7OIIGl.js → status-DxcdgCyX.js} +2 -2
  324. package/dist/{status-Bp-x4GJi.js → status-DzCllHYZ.js} +24 -24
  325. package/dist/{status.update-Cri65g-V.js → status.update-CTi6vuWj.js} +1 -1
  326. package/dist/{store-D-ZicQeo.js → store-CvMgrKWx.js} +2 -2
  327. package/dist/{store-CR1Ag5tw.js → store-kH9wHHbO.js} +2 -2
  328. package/dist/{subagent-registry-CJX_DOgh.js → subagent-registry-BcpHnckA.js} +17 -13
  329. package/dist/{subsystem-BTkYq-SM.js → subsystem-CGZX2PBV.js} +1 -1
  330. package/dist/{subsystem-D7ZepYT1.js → subsystem-tzu-rIAJ.js} +1 -1
  331. package/dist/{system-cli-DSF87U3I.js → system-cli-DyVZ5udc.js} +13 -13
  332. package/dist/{system-run-approval-context-DtT5msEN.js → system-run-approval-context-CISBXlNw.js} +1 -1
  333. package/dist/{system-run-command-CrHlKsQv.js → system-run-command-qJdgzxLp.js} +1 -1
  334. package/dist/{systemd-C9CCJ2y5.js → systemd-CaCR5CyM.js} +2 -2
  335. package/dist/{systemd-hints-D4_AmIA0.js → systemd-hints-DHu-HVFx.js} +2 -2
  336. package/dist/{systemd-linger-BRBtRm6O.js → systemd-linger-B7XlUHk_.js} +2 -2
  337. package/dist/{table-PG064F0C.js → table-B9AmL3M1.js} +2 -2
  338. package/dist/{tables-Co_R_WKs.js → tables-5k-zOZ-s.js} +1 -1
  339. package/dist/{tables-Ca5i1iM6.js → tables-g9xkflht.js} +1 -1
  340. package/dist/{tailscale-Dr3FvwTm.js → tailscale-B5Irc_Bi.js} +2 -2
  341. package/dist/{target-errors-B1mcM4WR.js → target-errors-BPfQrPim.js} +2 -2
  342. package/dist/{target-errors-BhRMVh6a.js → target-errors-bLIVFsbF.js} +2 -2
  343. package/dist/{tokens-DY5TC4xI.js → tokens-BRLyURxW.js} +1 -1
  344. package/dist/{tokens-DGajj8M9.js → tokens-Dg-QZ_pN.js} +1 -1
  345. package/dist/{tool-display-1HTlk4mF.js → tool-display-Dac7lHGW.js} +2 -2
  346. package/dist/{tool-images-Duuqr4bN.js → tool-images-CHqepyF_.js} +2 -2
  347. package/dist/{tool-images-ByP8vQ_u.js → tool-images-CcGZpzmq.js} +2 -2
  348. package/dist/{tool-loop-detection-CjWRg_4q.js → tool-loop-detection-BNGetx3Z.js} +3 -3
  349. package/dist/{tool-loop-detection-BxLycal4.js → tool-loop-detection-C5VjmhPJ.js} +2 -2
  350. package/dist/{trash-CHnKIQrP.js → trash-CUFiyQN5.js} +1 -1
  351. package/dist/{tui-BmvrLAnW.js → tui-Bne3YNiw.js} +9 -9
  352. package/dist/{tui-cli-Dm28GC4T.js → tui-cli-D0Z-rcUe.js} +39 -39
  353. package/dist/{update-D96LyJ5s.js → update-D79ppbMQ.js} +3 -3
  354. package/dist/{update-cli-Crq7aGUA.js → update-cli-B53rJqAV.js} +115 -115
  355. package/dist/{update-cli-z5fJRDU4.js → update-cli-CTETjvrF.js} +9 -9
  356. package/dist/{update-runner-BkSrWsKc.js → update-runner-BGAdvd0c.js} +1 -1
  357. package/dist/{update-runner-BLquhnrL.js → update-runner-BOGIWX18.js} +5 -5
  358. package/dist/{utils-D9wGoiU9.js → utils-CTFLl_ji.js} +18 -18
  359. package/dist/{utils-BfmeFj7S.js → utils-CXzXXV2o.js} +2 -2
  360. package/dist/{web-B267OUXc.js → web-3nv8mK11.js} +3 -3
  361. package/dist/{web-BKSxBqZw.js → web-C7HXffph.js} +8 -8
  362. package/dist/web-CqOVupWI.js +123 -0
  363. package/dist/{web-CNowaS6B.js → web-Dwj9igbL.js} +66 -66
  364. package/dist/{webhooks-cli-DLVMYO3R.js → webhooks-cli-2N03q0iY.js} +11 -11
  365. package/dist/{whatsapp-actions-De803Fwb.js → whatsapp-actions-Cms8wQM1.js} +22 -22
  366. package/dist/{whatsapp-actions-BJ6kVDXi.js → whatsapp-actions-DbPcN6JQ.js} +25 -25
  367. package/dist/{widearea-dns-DJVz6r4U.js → widearea-dns-FDdFH5E8.js} +1 -1
  368. package/dist/{with-timeout-Bz8F3xNq.js → with-timeout-DEdycYxq.js} +5 -5
  369. package/dist/{workspace-BHN1rb4L.js → workspace-D3pARwoB.js} +3 -3
  370. package/dist/{workspace-tAtkoD_r.js → workspace-DBFSzT6O.js} +18 -18
  371. package/dist/{workspace-dirs-C34pt6Pa.js → workspace-dirs-SsExQ3Bz.js} +1 -1
  372. package/extensions/acpx/package.json +1 -1
  373. package/extensions/bluebubbles/package.json +1 -1
  374. package/extensions/copilot-proxy/package.json +1 -1
  375. package/extensions/diagnostics-otel/package.json +1 -1
  376. package/extensions/discord/package.json +1 -1
  377. package/extensions/feishu/package.json +1 -1
  378. package/extensions/google-gemini-cli-auth/package.json +1 -1
  379. package/extensions/googlechat/package.json +1 -1
  380. package/extensions/hand/package.json +1 -1
  381. package/extensions/imessage/package.json +1 -1
  382. package/extensions/irc/package.json +1 -1
  383. package/extensions/line/package.json +1 -1
  384. package/extensions/llm-task/package.json +1 -1
  385. package/extensions/matrix/package.json +1 -1
  386. package/extensions/mattermost/package.json +1 -1
  387. package/extensions/memory-core/package.json +1 -1
  388. package/extensions/memory-lancedb/package.json +1 -1
  389. package/extensions/minimax-portal-auth/package.json +1 -1
  390. package/extensions/msteams/package.json +1 -1
  391. package/extensions/nextcloud-talk/package.json +1 -1
  392. package/extensions/nostr/package.json +1 -1
  393. package/extensions/open-prose/package.json +1 -1
  394. package/extensions/signal/package.json +1 -1
  395. package/extensions/slack/package.json +1 -1
  396. package/extensions/synology-chat/package.json +1 -1
  397. package/extensions/telegram/package.json +1 -1
  398. package/extensions/tlon/package.json +1 -1
  399. package/extensions/twitch/package.json +1 -1
  400. package/extensions/voice-call/package.json +1 -1
  401. package/extensions/whatsapp/package.json +1 -1
  402. package/extensions/zalo/package.json +1 -1
  403. package/extensions/zalouser/package.json +1 -1
  404. package/package.json +4 -1
  405. package/dist/cli-BN8I3vTa.js +0 -162
  406. package/dist/emergency-stop-Chw8LiXP.js +0 -113
  407. package/dist/emergency-stop-HaFAEk9Z.js +0 -162
  408. package/dist/register.configure-DlxSU46q.js +0 -168
  409. package/dist/web-BKs38Jg4.js +0 -123
@@ -10,6 +10,7 @@ var anton_exports = /* @__PURE__ */ __exportAll({
10
10
  antonStatus: () => antonStatus,
11
11
  antonStop: () => antonStop,
12
12
  formatProgressMessage: () => formatProgressMessage,
13
+ resolveAntonExecutionConfig: () => resolveAntonExecutionConfig,
13
14
  runAnton: () => runAnton
14
15
  });
15
16
  const ANTON_STATE_PATH = path.join(CONFIG_DIR, "anton.state.json");
@@ -83,13 +84,126 @@ function markTaskDone(markdown, lineNo) {
83
84
  lines[idx] = (lines[idx] ?? "").replace(/^(\s*)- \[ \] /, "$1- [x] ");
84
85
  return `${lines.join("\n")}\n`;
85
86
  }
86
- function buildDirectTaskPrompt(task) {
87
+ function isJsonTaskFile(taskFile) {
88
+ return taskFile.toLowerCase().endsWith(".json");
89
+ }
90
+ function parsePendingTasksFromJson(jsonText) {
91
+ const data = JSON.parse(jsonText);
92
+ const pending = [];
93
+ const joinDetails = (parentDetails, subtasks) => {
94
+ const details = [];
95
+ if (typeof parentDetails === "string" && parentDetails.trim()) details.push(parentDetails.trim());
96
+ const lines = [];
97
+ for (const sub of subtasks) {
98
+ if (!sub || typeof sub !== "object") continue;
99
+ const subObj = sub;
100
+ if (subObj.done === true) continue;
101
+ const name = typeof subObj.name === "string" ? subObj.name.trim() : "";
102
+ if (!name) continue;
103
+ const subDetails = typeof subObj.details === "string" ? subObj.details.trim() : "";
104
+ lines.push(subDetails ? `- ${name}: ${subDetails}` : `- ${name}`);
105
+ }
106
+ if (lines.length > 0) details.push(`Subtasks:\n${lines.join("\n")}`);
107
+ return details.length > 0 ? details.join("\n\n") : void 0;
108
+ };
109
+ const pushTask = (jsonPath, obj) => {
110
+ if (obj.done === true) return;
111
+ const text = typeof obj.name === "string" ? obj.name.trim() : "";
112
+ if (!text) return;
113
+ const subtasks = Array.isArray(obj.subtasks) ? obj.subtasks : [];
114
+ pending.push({
115
+ text,
116
+ details: joinDetails(obj.details, subtasks),
117
+ jsonPath
118
+ });
119
+ };
120
+ if (data && typeof data === "object") {
121
+ const root = data;
122
+ const tasks = root.tasks;
123
+ if (Array.isArray(tasks)) for (let i = 0; i < tasks.length; i++) {
124
+ const task = tasks[i];
125
+ if (!task || typeof task !== "object") continue;
126
+ pushTask(["tasks", i], task);
127
+ }
128
+ else if ("name" in root || "subtasks" in root) pushTask([], root);
129
+ }
130
+ return {
131
+ pending,
132
+ data
133
+ };
134
+ }
135
+ function markJsonTaskDone(data, jsonPath) {
136
+ if (!jsonPath) return;
137
+ let cur = data;
138
+ for (const key of jsonPath) {
139
+ if (typeof key === "number") {
140
+ if (!Array.isArray(cur)) return;
141
+ cur = cur[key];
142
+ continue;
143
+ }
144
+ if (!cur || typeof cur !== "object" || Array.isArray(cur)) return;
145
+ cur = cur[key];
146
+ }
147
+ if (!cur || typeof cur !== "object" || Array.isArray(cur)) return;
148
+ cur.done = true;
149
+ }
150
+ function formatTaskForPrompt(task) {
151
+ if (task.details) return `${task.text}
152
+ Details: ${task.details}`;
153
+ return task.text;
154
+ }
155
+ function looksLikeVersionBumpTask(taskText) {
156
+ return /bump\s+version/i.test(taskText) || /version\s+(to|\d+\.)/i.test(taskText);
157
+ }
158
+ function allowsNoRepoChanges(taskText) {
159
+ return /(review|verify|ensure|confirm|check)/i.test(taskText) && /(doc|docs|documentation|readme)/i.test(taskText);
160
+ }
161
+ async function ensureRepoCleanOrThrow(cwd) {
162
+ const { stdout } = await execFile$1("git", ["status", "--porcelain"], { cwd });
163
+ if (stdout.split(/\r?\n/).map((line) => line.trimEnd()).filter(Boolean).map((line) => line.slice(3).trim().replace(/\\/g, "/")).filter((file) => file && !file.startsWith(".agents/tasks/")).length > 0) throw new Error(`Anton requires a clean git working tree. Dirty repo at: ${cwd}`);
164
+ }
165
+ async function hardCleanRepo(cwd) {
166
+ await execFile$1("git", ["reset", "--hard"], { cwd });
167
+ await execFile$1("git", [
168
+ "clean",
169
+ "-fd",
170
+ "-e",
171
+ ".agents/tasks",
172
+ "-e",
173
+ "node_modules"
174
+ ], { cwd });
175
+ }
176
+ async function commitAllIfDirty(cwd, message) {
177
+ const { stdout } = await execFile$1("git", ["status", "--porcelain"], { cwd });
178
+ if (stdout.trim().length === 0) return;
179
+ await execFile$1("git", ["add", "-A"], { cwd });
180
+ try {
181
+ await execFile$1("git", [
182
+ "restore",
183
+ "--staged",
184
+ ".agents/tasks"
185
+ ], { cwd });
186
+ } catch {}
187
+ const { stdout: staged } = await execFile$1("git", [
188
+ "diff",
189
+ "--cached",
190
+ "--name-only"
191
+ ], { cwd });
192
+ if (staged.trim().length === 0) return;
193
+ await execFile$1("git", [
194
+ "commit",
195
+ "-m",
196
+ message
197
+ ], { cwd });
198
+ }
199
+ function buildDirectTaskPrompt(task, opts) {
200
+ const skipTests = Boolean(opts?.skipTests);
87
201
  return [
88
202
  "You are executing one item from a managed checklist.",
89
203
  `Task: ${task}`,
90
204
  "Rules:",
91
205
  "1) Make the minimal code changes required for this task.",
92
- "2) Run targeted tests for your change.",
206
+ skipTests ? "2) Skip tests for this task unless you changed executable code." : "2) Run targeted tests for your change.",
93
207
  "3) Return a concise completion summary."
94
208
  ].join("\n");
95
209
  }
@@ -143,7 +257,8 @@ function buildReviewPrompt(planFilePath) {
143
257
 
144
258
  Do not skip reading the file. Do not return JSON without first reading and updating the plan.`;
145
259
  }
146
- function buildImplementationPrompt(task, planFilePath) {
260
+ function buildImplementationPrompt(task, planFilePath, opts) {
261
+ const skipTests = Boolean(opts?.skipTests);
147
262
  return [
148
263
  `Complete this task: ${task}`,
149
264
  "",
@@ -154,11 +269,12 @@ function buildImplementationPrompt(task, planFilePath) {
154
269
  "Describing changes in text or showing diffs without applying them does NOT count.",
155
270
  "Do not ask for confirmation — apply the changes now.",
156
271
  "",
157
- "After making the edits, run any verification steps from the plan.",
272
+ skipTests ? "Skip tests for this task unless you changed executable code." : "After making the edits, run any verification steps from the plan.",
158
273
  "Then return a brief summary of what you changed."
159
274
  ].join("\n");
160
275
  }
161
- function buildImplementationRetryPrompt(task, planFilePath) {
276
+ function buildImplementationRetryPrompt(task, planFilePath, opts) {
277
+ const skipTests = Boolean(opts?.skipTests);
162
278
  return [
163
279
  "Your previous implementation attempt made zero repository changes.",
164
280
  `Task: ${task}`,
@@ -168,12 +284,27 @@ function buildImplementationRetryPrompt(task, planFilePath) {
168
284
  "Required sequence:",
169
285
  "1) Read the plan file.",
170
286
  "2) Use edit/write to modify repository files.",
171
- "3) Optionally run verification.",
287
+ skipTests ? "3) Skip tests for this task unless you changed executable code." : "3) Optionally run verification.",
172
288
  "4) Return a short summary.",
173
289
  "",
174
290
  "If you only provide analysis/diff text without edit/write tool calls, this attempt fails."
175
291
  ].join("\n");
176
292
  }
293
+ function resolveAntonExecutionConfig(params) {
294
+ const antonCfg = params.config ?? {};
295
+ const preflightCfg = antonCfg.preflight ?? {};
296
+ const requestedMode = params.modeOverride ?? antonCfg.mode ?? "direct";
297
+ const mode = requestedMode === "preflight" && preflightCfg.enabled === false ? "direct" : requestedMode;
298
+ const taskTimeoutSec = antonCfg.taskTimeoutSec ?? 1200;
299
+ return {
300
+ mode,
301
+ requirementsReview: antonCfg.requirementsReview ?? preflightCfg.requirementsReview ?? false,
302
+ taskTimeoutSec,
303
+ discoveryTimeoutSec: antonCfg.discoveryTimeoutSec ?? preflightCfg.discoveryTimeoutSec ?? taskTimeoutSec,
304
+ reviewTimeoutSec: antonCfg.reviewTimeoutSec ?? preflightCfg.reviewTimeoutSec ?? taskTimeoutSec,
305
+ preflightMaxRetries: antonCfg.preflightMaxRetries ?? preflightCfg.maxRetries ?? 2
306
+ };
307
+ }
177
308
  function formatDuration(ms) {
178
309
  const seconds = Math.floor(ms / 1e3);
179
310
  if (seconds < 60) return `${seconds}s`;
@@ -238,7 +369,7 @@ async function loadAntonConfig() {
238
369
  }
239
370
  }
240
371
  async function runAgentTask(args) {
241
- const { agentCliCommand } = await import("./agent-via-gateway-BN0HMYd7.js").then((n) => n.n);
372
+ const { agentCliCommand } = await import("./agent-via-gateway-CS-8ChjV.js").then((n) => n.n);
242
373
  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;
243
374
  const result = await agentCliCommand({
244
375
  message: args.message,
@@ -382,8 +513,11 @@ async function runDiscoveryPhase(args) {
382
513
  task: `Discovery (attempt ${attempt + 1})`,
383
514
  sessionId
384
515
  });
516
+ const discoveryRepoCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(args.taskFile);
517
+ await hardCleanRepo(discoveryRepoCwd);
518
+ await ensureRepoCleanOrThrow(discoveryRepoCwd);
385
519
  const firstPass = await runAgentTask({
386
- message: buildDiscoveryPrompt(args.task.text, args.taskFile, planFile),
520
+ message: buildDiscoveryPrompt(formatTaskForPrompt(args.task), args.taskFile, planFile),
387
521
  sessionId,
388
522
  timeout: args.timeout,
389
523
  agent: args.agent,
@@ -451,8 +585,10 @@ async function runDiscoveryPhase(args) {
451
585
  task: `Discovery repair (attempt ${attempt + 1})`,
452
586
  sessionId: repairSessionId
453
587
  });
588
+ await hardCleanRepo(discoveryRepoCwd);
589
+ await ensureRepoCleanOrThrow(discoveryRepoCwd);
454
590
  const repairPass = await runAgentTask({
455
- message: buildDiscoveryRepairPrompt(args.task.text, args.taskFile, declaredPlanFile),
591
+ message: buildDiscoveryRepairPrompt(formatTaskForPrompt(args.task), args.taskFile, declaredPlanFile),
456
592
  sessionId: repairSessionId,
457
593
  timeout: args.timeout,
458
594
  agent: args.agent,
@@ -550,6 +686,9 @@ async function runReviewPhase(args) {
550
686
  task: "Requirements review",
551
687
  sessionId
552
688
  });
689
+ const reviewRepoCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : process.cwd();
690
+ await hardCleanRepo(reviewRepoCwd);
691
+ await ensureRepoCleanOrThrow(reviewRepoCwd);
553
692
  await runAgentTask({
554
693
  message: buildReviewPrompt(args.planFile),
555
694
  sessionId,
@@ -585,7 +724,14 @@ async function runReviewPhase(args) {
585
724
  }
586
725
  async function runAnton(args) {
587
726
  const filePath = path.resolve(args.taskFile);
588
- const pending = parsePendingTasks(await fs.readFile(filePath, "utf8"));
727
+ const raw = await fs.readFile(filePath, "utf8");
728
+ let pending = [];
729
+ let jsonData;
730
+ if (isJsonTaskFile(filePath)) {
731
+ const parsed = parsePendingTasksFromJson(raw);
732
+ pending = parsed.pending;
733
+ jsonData = parsed.data;
734
+ } else pending = parsePendingTasks(raw);
589
735
  const notify = args.onProgress ?? (async () => {});
590
736
  if (args.dryRun) {
591
737
  args.runtime.log(`Dry run: ${pending.length} pending task(s)`);
@@ -604,16 +750,22 @@ async function runAnton(args) {
604
750
  return;
605
751
  }
606
752
  const antonCfg = await loadAntonConfig();
607
- const mode = args.mode ?? antonCfg.mode ?? "direct";
608
- const requirementsReview = antonCfg.requirementsReview ?? false;
609
- const taskTimeout = antonCfg.taskTimeoutSec ?? 1200;
610
- const discoveryTimeout = antonCfg.discoveryTimeoutSec ?? taskTimeout;
611
- const reviewTimeout = antonCfg.reviewTimeoutSec ?? taskTimeout;
612
- const preflightMaxRetries = antonCfg.preflightMaxRetries ?? 2;
753
+ const execution = resolveAntonExecutionConfig({
754
+ config: antonCfg,
755
+ modeOverride: args.mode
756
+ });
757
+ const mode = execution.mode;
758
+ const requirementsReview = execution.requirementsReview;
759
+ const taskTimeout = execution.taskTimeoutSec;
760
+ const discoveryTimeout = execution.discoveryTimeoutSec;
761
+ const reviewTimeout = execution.reviewTimeoutSec;
762
+ const preflightMaxRetries = execution.preflightMaxRetries;
613
763
  const planDir = antonCfg.planDir ? path.resolve(antonCfg.planDir) : path.resolve(path.dirname(filePath), ".agents", "tasks");
614
764
  const { loadConfig } = await import("./auth-profiles-Baj5ImDJ.js").then((n) => n.D);
615
765
  const cfg = loadConfig();
616
766
  const defaultTimeout = String(Number.isFinite(args.timeoutSec) && (args.timeoutSec ?? 0) > 0 ? args.timeoutSec : cfg.agents?.defaults?.timeoutSeconds ?? taskTimeout);
767
+ const repoCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
768
+ await ensureRepoCleanOrThrow(repoCwd);
617
769
  await acquireLock(Boolean(args.force));
618
770
  const startedAt = Date.now();
619
771
  await writeState({
@@ -648,6 +800,9 @@ async function runAnton(args) {
648
800
  const task = pending[i];
649
801
  if (!task) continue;
650
802
  const taskNum = i + 1;
803
+ const taskPromptText = formatTaskForPrompt(task);
804
+ const skipTests = looksLikeVersionBumpTask(task.text) || allowsNoRepoChanges(task.text);
805
+ const allowNoChanges = allowsNoRepoChanges(task.text);
651
806
  await writeState({
652
807
  running: true,
653
808
  taskFile: filePath,
@@ -671,6 +826,8 @@ async function runAnton(args) {
671
826
  const taskFileRelForBaseline = path.relative(gitCwdForBaseline, filePath).replace(/\\/g, "/");
672
827
  const changedBeforeTask = await getGitChangedFileCount(gitCwdForBaseline, taskFileRelForBaseline.startsWith("..") ? [] : [taskFileRelForBaseline]);
673
828
  if (mode === "preflight") {
829
+ await hardCleanRepo(repoCwd);
830
+ await ensureRepoCleanOrThrow(repoCwd);
674
831
  const discoveryResult = await runDiscoveryPhase({
675
832
  task,
676
833
  taskNum,
@@ -693,8 +850,17 @@ async function runAnton(args) {
693
850
  total: pending.length,
694
851
  task: task.text
695
852
  });
696
- const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
697
- await fs.writeFile(filePath, updated, "utf8");
853
+ const latest = await fs.readFile(filePath, "utf8");
854
+ if (isJsonTaskFile(filePath)) {
855
+ if (jsonData && task.jsonPath) {
856
+ markJsonTaskDone(jsonData, task.jsonPath);
857
+ await fs.writeFile(filePath, JSON.stringify(jsonData, null, 2) + "\n", "utf8");
858
+ }
859
+ } else {
860
+ const updated = markTaskDone(latest, task.line ?? 0);
861
+ await fs.writeFile(filePath, updated, "utf8");
862
+ }
863
+ await commitAllIfDirty(repoCwd, `anton: ${task.text}`);
698
864
  completed += 1;
699
865
  await notify({
700
866
  phase: "task_complete",
@@ -737,10 +903,12 @@ async function runAnton(args) {
737
903
  task: task.text,
738
904
  sessionId: implSessionId
739
905
  });
740
- const implPrompt = planFile ? buildImplementationPrompt(task.text, planFile) : buildDirectTaskPrompt(task.text);
906
+ const implPrompt = planFile ? buildImplementationPrompt(taskPromptText, planFile, { skipTests }) : buildDirectTaskPrompt(taskPromptText, { skipTests });
741
907
  const gitCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
742
908
  const taskFileRel = path.relative(gitCwd, filePath).replace(/\\/g, "/");
743
909
  const changeIgnores = taskFileRel.startsWith("..") ? [] : [taskFileRel];
910
+ await hardCleanRepo(repoCwd);
911
+ await ensureRepoCleanOrThrow(repoCwd);
744
912
  await runAgentTask({
745
913
  message: implPrompt,
746
914
  sessionId: implSessionId,
@@ -752,30 +920,44 @@ async function runAnton(args) {
752
920
  workspaceDir: args.workspaceDir
753
921
  });
754
922
  let changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
923
+ if (mode === "direct" && changedBeforeTask !== null && changedAfter !== null && changedAfter <= changedBeforeTask && !allowNoChanges) throw new Error("Implementation made no repository changes; refusing to mark task complete");
755
924
  if (mode === "preflight" && changedBeforeTask !== null && changedAfter !== null && changedAfter <= changedBeforeTask) {
756
- const retrySessionId = `anton-impl-retry-${Date.now()}-${taskNum}`;
757
- await notify({
758
- phase: "task_agent_spawned",
759
- index: taskNum,
760
- total: pending.length,
761
- task: `${task.text} (implementation retry)`,
762
- sessionId: retrySessionId
763
- });
764
- await runAgentTask({
765
- message: buildImplementationRetryPrompt(task.text, planFile ?? ""),
766
- sessionId: retrySessionId,
767
- timeout: defaultTimeout,
768
- agent: args.agent,
769
- to: args.to,
770
- runtime: args.runtime,
771
- deps: args.deps,
772
- workspaceDir: args.workspaceDir
773
- });
774
- changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
775
- if (changedAfter !== null && changedAfter <= changedBeforeTask) throw new Error("Implementation made no repository changes after retry; refusing to mark task complete");
925
+ if (!allowNoChanges) {
926
+ const retrySessionId = `anton-impl-retry-${Date.now()}-${taskNum}`;
927
+ await notify({
928
+ phase: "task_agent_spawned",
929
+ index: taskNum,
930
+ total: pending.length,
931
+ task: `${task.text} (implementation retry)`,
932
+ sessionId: retrySessionId
933
+ });
934
+ await hardCleanRepo(repoCwd);
935
+ await ensureRepoCleanOrThrow(repoCwd);
936
+ await runAgentTask({
937
+ message: buildImplementationRetryPrompt(taskPromptText, planFile ?? "", { skipTests }),
938
+ sessionId: retrySessionId,
939
+ timeout: defaultTimeout,
940
+ agent: args.agent,
941
+ to: args.to,
942
+ runtime: args.runtime,
943
+ deps: args.deps,
944
+ workspaceDir: args.workspaceDir
945
+ });
946
+ changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
947
+ if (changedAfter !== null && changedAfter <= changedBeforeTask) throw new Error("Implementation made no repository changes after retry; refusing to mark task complete");
948
+ }
949
+ }
950
+ const latest = await fs.readFile(filePath, "utf8");
951
+ if (isJsonTaskFile(filePath)) {
952
+ if (jsonData && task.jsonPath) {
953
+ markJsonTaskDone(jsonData, task.jsonPath);
954
+ await fs.writeFile(filePath, JSON.stringify(jsonData, null, 2) + "\n", "utf8");
955
+ }
956
+ } else {
957
+ const updated = markTaskDone(latest, task.line ?? 0);
958
+ await fs.writeFile(filePath, updated, "utf8");
776
959
  }
777
- const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
778
- await fs.writeFile(filePath, updated, "utf8");
960
+ await commitAllIfDirty(repoCwd, `anton: ${task.text}`);
779
961
  completed += 1;
780
962
  await notify({
781
963
  phase: "task_complete",
@@ -784,6 +966,9 @@ async function runAnton(args) {
784
966
  task: task.text
785
967
  });
786
968
  } catch (err) {
969
+ try {
970
+ await hardCleanRepo(repoCwd);
971
+ } catch {}
787
972
  skipped += 1;
788
973
  const errorMsg = err instanceof Error ? err.message : String(err);
789
974
  args.runtime.error(`[Anton] Task failed and was skipped: ${task.text}`);