@visorcraft/idlehands 4.2.4 → 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 (306) hide show
  1. package/dist/{accounts-B4A5mL3Y.js → accounts-3HS_UAhJ.js} +1 -1
  2. package/dist/{accounts-CbaEMSlt.js → accounts-DLTODa_Z.js} +2 -2
  3. package/dist/{accounts-VbtNKne6.js → accounts-DgbTKQoW.js} +1 -1
  4. package/dist/{acp-cli-BF3FD1qw.js → acp-cli-BEpWQbqb.js} +12 -12
  5. package/dist/{agent-scope-DbNnv10G.js → agent-scope-RA0zXRpu.js} +3 -3
  6. package/dist/{agent-via-gateway-CugFJzVP.js → agent-via-gateway-Bhon8XVm.js} +7 -7
  7. package/dist/{agent-via-gateway-VdG-s4L4.js → agent-via-gateway-CS-8ChjV.js} +1 -1
  8. package/dist/{agent-via-gateway-DG8Axzn2.js → agent-via-gateway-DVTkXwmI.js} +2 -2
  9. package/dist/{agent-via-gateway-DwRsFLFS.js → agent-via-gateway-Drygi4ty.js} +6 -6
  10. package/dist/{agents-DDuWSZ0g.js → agents-dNuQ9qUa.js} +4 -4
  11. package/dist/{agents.config-8tuPdcTQ.js → agents.config-B_6rOTVW.js} +1 -1
  12. package/dist/{agents.config-A-WLFOiz.js → agents.config-DCNsF8yj.js} +2 -2
  13. package/dist/{anton-DqWaq0gv.js → anton-BmSsFmSP.js} +200 -35
  14. package/dist/{anton-sGTx_HDs.js → anton-Cw4-BgtA.js} +200 -35
  15. package/dist/{anton-CaPVBTOS.js → anton-D375-ufL.js} +200 -35
  16. package/dist/{anton-DCN6G6Up.js → anton-Di5VPZiI.js} +203 -38
  17. package/dist/{api-key-rotation-Bj8Q_8ST.js → api-key-rotation-B-FTJm5p.js} +2 -2
  18. package/dist/{audio-preflight-BEe3Go6e.js → audio-preflight-Dl1TO10w.js} +41 -41
  19. package/dist/{audio-preflight-CSSlgO89.js → audio-preflight-vD3mDc6w.js} +4 -4
  20. package/dist/{audit-DjUOBxVB.js → audit-CKeZnjft.js} +21 -21
  21. package/dist/{auth-choice-CnB-Ffeh.js → auth-choice-C8Tj46gd.js} +10 -10
  22. package/dist/{auth-choice-C0ADVtim.js → auth-choice-CYV4KLt7.js} +1 -1
  23. package/dist/{auth-choice-fHV4ZjtT.js → auth-choice-D12Wsf7w.js} +15 -15
  24. package/dist/{auth-choice.apply-helpers-fIm7h2DA.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
  25. package/dist/{auth-DoNXQLDj.js → auth-heRVBxh2.js} +1 -1
  26. package/dist/{auth-store-Dqjgb5R1.js → auth-store-DDzIMy8_.js} +1 -1
  27. package/dist/{auth-token-ChjRQYCt.js → auth-token-BJq87X3o.js} +2 -2
  28. package/dist/{banner-C1dFMwdL.js → banner-B7_rwm3P.js} +1 -1
  29. package/dist/{bindings-DorAphZu.js → bindings-B59Q7nsk.js} +2 -2
  30. package/dist/{bonjour-discovery-Yzgl5gfZ.js → bonjour-discovery-DMslm8Hx.js} +2 -2
  31. package/dist/{browser-cli-B8GEKR0p.js → browser-cli-Ci6DpTnS.js} +19 -19
  32. package/dist/build-info.json +3 -3
  33. package/dist/bundled/boot-md/handler.js +2 -2
  34. package/dist/bundled/session-memory/handler.js +2 -2
  35. package/dist/{call-SK4sGwpN.js → call-BpWhjuOg.js} +4 -4
  36. package/dist/{channel-account-context-CBQ0TdW0.js → channel-account-context-CDbY5AIr.js} +1 -1
  37. package/dist/{channel-activity-D3e45uuU.js → channel-activity-DaCsrdWK.js} +3 -3
  38. package/dist/{channel-options-dvj7gQ75.js → channel-options-DTqGMcYU.js} +5 -5
  39. package/dist/{channel-options-DPIZ2OfB.js → channel-options-Dxc1A5iC.js} +1 -1
  40. package/dist/{channel-selection-DLfBD-c0.js → channel-selection-ZxRkxpuF.js} +2 -2
  41. package/dist/{channel-web-C022IdsV.js → channel-web-BPlapQS3.js} +2 -2
  42. package/dist/{channel-web-DAeB1zPN.js → channel-web-CgvDCMru.js} +26 -26
  43. package/dist/{channels-cli-DzA8ku51.js → channels-cli-BfUIc52d.js} +7 -7
  44. package/dist/{channels-cli-BdUt4Lf-.js → channels-cli-k45uGu5k.js} +104 -104
  45. package/dist/{channels-status-issues-DMvYh1lV.js → channels-status-issues-CDpWjdI3.js} +1 -1
  46. package/dist/{chrome-Do5potHV.js → chrome-DEnkfZ9p.js} +9 -9
  47. package/dist/{chrome-DeAzXWRb.js → chrome-VBsQfIrt.js} +4 -4
  48. package/dist/{chunk-DJjn34fF.js → chunk-ClMFHJu-.js} +1 -1
  49. package/dist/{clack-prompter-EMS8sO4h.js → clack-prompter-CvbZsmjW.js} +5 -5
  50. package/dist/{clawbot-cli-B8qqplom.js → clawbot-cli-uFgYrysW.js} +9 -9
  51. package/dist/cli/daemon-cli.js +1 -1
  52. package/dist/cli-BapK2rdH.js +162 -0
  53. package/dist/{cli-BC9fLKsk.js → cli-C6GCCnET.js} +2 -2
  54. package/dist/{client-Cagiy1nE.js → client-DtnD-ee9.js} +2 -2
  55. package/dist/{clipboard-BqjWohVl.js → clipboard-LsW7H0Y8.js} +1 -1
  56. package/dist/{command-registry-Bo2L5BJz.js → command-registry-DJb9jSNL.js} +10 -10
  57. package/dist/{commands-5UqnjBKV.js → commands-Dj5LalLo.js} +2 -2
  58. package/dist/{commands-registry-C1lIoXkL.js → commands-registry-CURlRZQJ.js} +5 -5
  59. package/dist/{completion-cli-CevdZ8t2.js → completion-cli-BXA0UZAn.js} +2 -2
  60. package/dist/{completion-cli-w7SY12wl.js → completion-cli-DqJEZMJt.js} +4 -4
  61. package/dist/{config-cli-D2221rb8.js → config-cli-97SkUuuT.js} +13 -13
  62. package/dist/{config-cli-C8s4mZF3.js → config-cli-BfaVUsj-.js} +1 -1
  63. package/dist/{config-guard-DwTygT00.js → config-guard-BdsOumqh.js} +23 -23
  64. package/dist/{config-validation-wUpXePGY.js → config-validation-BvKX6fPw.js} +2 -2
  65. package/dist/{configure-6COQEc8d.js → configure-CmTKkn3M.js} +21 -21
  66. package/dist/{configure-BpeVYPCY.js → configure-DpswIHZC.js} +3 -3
  67. package/dist/{control-ui-assets-CSrZ1shI.js → control-ui-assets-C7ZpN9hN.js} +1 -1
  68. package/dist/{cron-cli-Den58QGF.js → cron-cli-DQsnGQKs.js} +17 -17
  69. package/dist/{daemon-cli-CpCtUgS2.js → daemon-cli-DUg-s4LG.js} +14 -14
  70. package/dist/{daemon-install-BPEEr5XM.js → daemon-install-CYPo4M1M.js} +8 -8
  71. package/dist/{deliver-BqJFyWu7.js → deliver--kttnrER.js} +10 -10
  72. package/dist/{deliver-whAbSPLk.js → deliver-5FLCa6tB.js} +1 -1
  73. package/dist/{deps-DOxHxBHl.js → deps-BV_-fxNb.js} +1 -1
  74. package/dist/{deps-BTDAxEQ6.js → deps-Bc5yBM-U.js} +1 -1
  75. package/dist/{deps-B3svY-p3.js → deps-CDLYb9a7.js} +1 -1
  76. package/dist/{deps-Coo8Thxy.js → deps-IpeS3x5O.js} +6 -6
  77. package/dist/{devices-cli-HTdRxjTf.js → devices-cli-DKK65S9Z.js} +12 -12
  78. package/dist/{diagnostic-ztHDqZ1m.js → diagnostic-BECJfEvH.js} +3 -3
  79. package/dist/{diagnostic-BUKW2Q0G.js → diagnostic-ByHpt6q8.js} +1 -1
  80. package/dist/{diagnostics-C2vxSb6v.js → diagnostics-DmZbQ8Nc.js} +1 -1
  81. package/dist/{directory-cli-BQDn6Qin.js → directory-cli-Dz9iXeut.js} +16 -16
  82. package/dist/{dns-cli-lwfJKGdv.js → dns-cli-DD6hWsdc.js} +10 -10
  83. package/dist/{dock-DpA6CUDJ.js → dock-Y96MzKuM.js} +6 -6
  84. package/dist/{docs-cli-Jnv5gp25.js → docs-cli-cHkrTB2e.js} +9 -9
  85. package/dist/{doctor-completion-CCuJkHb8.js → doctor-completion-BkS6Phs6.js} +2 -2
  86. package/dist/{doctor-completion-CkCkSkfC.js → doctor-completion-WFEPRjgs.js} +1 -1
  87. package/dist/{doctor-config-flow-DcxVJJvh.js → doctor-config-flow-Ck4oCjfl.js} +13 -13
  88. package/dist/{emergency-stop-DZFe7oYv.js → emergency-stop-DKLc7AmD.js} +7 -7
  89. package/dist/{emergency-stop-DO0wn668.js → emergency-stop-DMTHxdvC.js} +2 -2
  90. package/dist/{emergency-stop-JMddgwUX.js → emergency-stop-Dxp2e3a9.js} +2 -2
  91. package/dist/emergency-stop-zy54uJoE.js +162 -0
  92. package/dist/{enable-ztZSnOGv.js → enable-o_s6PBsC.js} +2 -2
  93. package/dist/entry.js +1 -1
  94. package/dist/{env-dMo-pLSc.js → env-Bx-F45X5.js} +1 -1
  95. package/dist/{errors-BNr2qnai.js → errors-DZDuPc3M.js} +1 -1
  96. package/dist/{exec-B9xbr2pN.js → exec-CKHMT0tZ.js} +2 -2
  97. package/dist/{exec-approvals-allowlist-BzsyDGgt.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
  98. package/dist/{exec-approvals-cli-2SjGVbIm.js → exec-approvals-cli-D6XUzs4j.js} +21 -21
  99. package/dist/{exec-safe-bin-runtime-policy-bEV0LvVh.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
  100. package/dist/extensionAPI.js +7 -7
  101. package/dist/{fetch-guard-C-IWepjW.js → fetch-guard-yUZu1Vzc.js} +1 -1
  102. package/dist/{frontmatter-x0EBRtDF.js → frontmatter-D-sQ_Hqk.js} +2 -2
  103. package/dist/{gateway-cli-D6Sh2d9w.js → gateway-cli-E6DUzxEX.js} +9 -9
  104. package/dist/{gateway-cli-Cf7kqenc.js → gateway-cli-FNbwxOiN.js} +123 -123
  105. package/dist/{gateway-rpc-C_He5poS.js → gateway-rpc-BBFG1T-M.js} +3 -3
  106. package/dist/{gmail-setup-utils-D1VrLZhD.js → gmail-setup-utils-DRJTQOMM.js} +3 -3
  107. package/dist/{health-BavRGpi2.js → health-CGW71CVV.js} +15 -15
  108. package/dist/{health-j2mDzeUl.js → health-D60h_a2w.js} +1 -1
  109. package/dist/{health-format-CWIquyOr.js → health-format-Ba_hOaT2.js} +1 -1
  110. package/dist/{help-format-D7QsjOW4.js → help-format-CMAqOikG.js} +1 -1
  111. package/dist/{hooks-cli-DDAeDBcO.js → hooks-cli-BnVSeWIo.js} +3 -3
  112. package/dist/{hooks-cli-AnCnOcQY.js → hooks-cli-DaWPRdgZ.js} +93 -93
  113. package/dist/{hooks-status-BBvzI_rQ.js → hooks-status-DNGo2G8Q.js} +3 -3
  114. package/dist/{image-BAsQlUqT.js → image-C_aN5P6-.js} +1 -1
  115. package/dist/{image-BkrcRFPe.js → image-DSDEbSiO.js} +7 -7
  116. package/dist/{image-ops-CGnAhRRV.js → image-ops-BU-VdLZu.js} +1 -1
  117. package/dist/index.js +99 -99
  118. package/dist/{inspect-BOW-hTlT.js → inspect-ISQZuNM5.js} +1 -1
  119. package/dist/{installs-DGfrRYWX.js → installs-CNubze2L.js} +4 -4
  120. package/dist/{ir-DBqjL1SG.js → ir-VncGpwA1.js} +4 -4
  121. package/dist/{lifecycle-core-DOL5vqsF.js → lifecycle-core-B6UoqYTJ.js} +5 -5
  122. package/dist/{links-DIG3qrf5.js → links-15764jZB.js} +1 -1
  123. package/dist/llm-slug-generator.js +2 -2
  124. package/dist/{local-roots-B-lmQdZs.js → local-roots-q0xbefkf.js} +4 -4
  125. package/dist/{logging-BK2fjjMe.js → logging-B0-9lotb.js} +1 -1
  126. package/dist/{login-BVf_DBja.js → login-CfUhrgWT.js} +6 -6
  127. package/dist/{login-qr-V1EwcFLt.js → login-qr-DBMsUxgL.js} +10 -10
  128. package/dist/{logs-cli-BgrYblUE.js → logs-cli-4VQ9Iwiw.js} +13 -13
  129. package/dist/{manager-DayGME0K.js → manager-BMAFgXyU.js} +10 -10
  130. package/dist/{manifest-registry-cOeAg4W6.js → manifest-registry-Bak1x76G.js} +2 -2
  131. package/dist/{markdown-tables-BQ8czvs_.js → markdown-tables-DZClqsNo.js} +1 -1
  132. package/dist/{memory-cli-D_bFq_Q1.js → memory-cli-CUGwnVIY.js} +12 -12
  133. package/dist/{message-channel-CRSTffWx.js → message-channel-DVauVtrg.js} +1 -1
  134. package/dist/{model-Di6JkHyx.js → model-C-icShH2.js} +2 -2
  135. package/dist/{model-catalog-D_KsCB5j.js → model-catalog-D9no0CH2.js} +4 -4
  136. package/dist/{model-picker-CM_QFlL4.js → model-picker-BkXoTOiA.js} +4 -4
  137. package/dist/{model-selection-Df4-bBn3.js → model-selection-0dGxYGp8.js} +12 -12
  138. package/dist/{models-RiKkYhfQ.js → models-C1ouQF8k.js} +2 -2
  139. package/dist/{models-cli-CSSZi7-P.js → models-cli-BhFUh61j.js} +4 -4
  140. package/dist/{models-cli-B4HXQG2Q.js → models-cli-CxEFLoMt.js} +98 -98
  141. package/dist/{models-config-zq6L0fug.js → models-config-C5A1wDWh.js} +2 -2
  142. package/dist/{node-cli-PVcj1bnA.js → node-cli-BYzjxmUY.js} +33 -33
  143. package/dist/{node-service-IG3YtMJq.js → node-service-C3vyxHLA.js} +1 -1
  144. package/dist/{nodes-cli-DKj4NkKf.js → nodes-cli-kNOtp0U0.js} +21 -21
  145. package/dist/{nodes-screen-CK0vmyQx.js → nodes-screen-CcpPaFxa.js} +1 -1
  146. package/dist/{note--5AAjfvH.js → note-69EfBEU-.js} +2 -2
  147. package/dist/{npm-registry-spec-B81IsQOs.js → npm-registry-spec-BCbbfIhX.js} +2 -2
  148. package/dist/{npm-resolution-D1b0Eoa4.js → npm-resolution-D30nzRfu.js} +4 -4
  149. package/dist/{npm-resolution-vCuR0Tv5.js → npm-resolution-Ds0qg1EX.js} +1 -1
  150. package/dist/{onboard-enaQTAES.js → onboard-Cv6q6Usf.js} +9 -9
  151. package/dist/{onboard-Dcj7w5Sb.js → onboard-NcA_odSQ.js} +2 -2
  152. package/dist/{onboard-channels-BT-vQKYZ.js → onboard-channels-C1E5DpTR.js} +17 -17
  153. package/dist/{onboard-channels-jrbhR8dl.js → onboard-channels-bfoS7x6P.js} +1 -1
  154. package/dist/{onboard-custom-C_4nk_e8.js → onboard-custom-DUbzMMu7.js} +4 -4
  155. package/dist/{onboard-helpers-CXjQtadC.js → onboard-helpers-mzy38DiC.js} +7 -7
  156. package/dist/{onboard-hooks-CuOJrgfu.js → onboard-hooks-D9teGxfH.js} +7 -7
  157. package/dist/{onboard-remote-B-bN7EmV.js → onboard-remote-LCBHijVE.js} +3 -3
  158. package/dist/{onboard-skills-BVmcgCzz.js → onboard-skills-jFY9gaOu.js} +4 -4
  159. package/dist/{onboarding-fRvJJ_jS.js → onboarding-CX8a934a.js} +16 -16
  160. package/dist/{onboarding-BpiNSUID.js → onboarding-CpGBbVTj.js} +3 -3
  161. package/dist/{onboarding.finalize-B557eJgx.js → onboarding.finalize-BnKQeFN8.js} +7 -7
  162. package/dist/{onboarding.finalize-6q8jh9r4.js → onboarding.finalize-CRgpFQIz.js} +99 -99
  163. package/dist/{onboarding.gateway-config-BinQe57V.js → onboarding.gateway-config-Btu2gzgr.js} +21 -21
  164. package/dist/{openai-model-default-CK1wUY3u.js → openai-model-default-7J6cw1rA.js} +2 -2
  165. package/dist/{outbound-DClHNQfl.js → outbound-DPTxwchq.js} +6 -6
  166. package/dist/{outbound-attachment-Cz80loTd.js → outbound-attachment-Bot3bRnK.js} +2 -2
  167. package/dist/{pairing-cli-By_hykOY.js → pairing-cli-jwx6hMsM.js} +15 -15
  168. package/dist/{pairing-labels-Dm-DUGGI.js → pairing-labels-ChQJzbS9.js} +1 -1
  169. package/dist/{pairing-store-CPUUuW7M.js → pairing-store-CPpEEQJO.js} +3 -3
  170. package/dist/{path-env-CWIJihhd.js → path-env-CKSLQUS1.js} +1 -1
  171. package/dist/{paths-CBF9EBzh.js → paths-B-CLQ5RT.js} +1 -1
  172. package/dist/{pi-embedded-D35RiR0f.js → pi-embedded-0YMQWOc5.js} +32 -28
  173. package/dist/{pi-embedded-CMll1riT.js → pi-embedded-BO8wzB4O.js} +17 -13
  174. package/dist/{pi-embedded-helpers-D675DgwP.js → pi-embedded-helpers-BCsfqpDt.js} +4 -4
  175. package/dist/{pi-embedded-helpers-Ct2rwp-P.js → pi-embedded-helpers-C2j0LfJC.js} +4 -4
  176. package/dist/{pi-model-discovery-BEKzIGSg.js → pi-model-discovery-BIP3RjXl.js} +1 -1
  177. package/dist/{pi-tools.policy-GzRj_NVc.js → pi-tools.policy-DfITIKZj.js} +6 -6
  178. package/dist/{plugin-auto-enable-CU8IfpBV.js → plugin-auto-enable-7DUxMy6A.js} +5 -5
  179. package/dist/{plugin-registry-DMdIUK_2.js → plugin-registry-Cp2q0pVP.js} +1 -1
  180. package/dist/{plugin-registry-DdywtXL5.js → plugin-registry-DceNUcJc.js} +4 -4
  181. package/dist/plugin-sdk/{agent-via-gateway-W4SFqR3m.js → agent-via-gateway-MuDsrNW6.js} +2 -2
  182. package/dist/plugin-sdk/{anton-DgXekgcy.js → anton-CkJKOeKT.js} +200 -35
  183. package/dist/plugin-sdk/{channel-web-DbwkbMKY.js → channel-web-B6pGyJpM.js} +2 -2
  184. package/dist/plugin-sdk/{deps-HLNhWkFy.js → deps-FuyQakmK.js} +1 -1
  185. package/dist/plugin-sdk/{emergency-stop-BXP-MZHW.js → emergency-stop-Ci4JC4dU.js} +2 -2
  186. package/dist/plugin-sdk/index.js +3 -3
  187. package/dist/plugin-sdk/{reply-BEnj9--x.js → reply-BTVimsoK.js} +17 -13
  188. package/dist/plugin-sdk/{web-TsEAe4Bs.js → web-HiiN5NkP.js} +3 -3
  189. package/dist/{plugins-Bj6rzE-9.js → plugins-D46VZh7u.js} +5 -5
  190. package/dist/{plugins-cli-CkqS4cmo.js → plugins-cli-2wK7R85Y.js} +3 -3
  191. package/dist/{plugins-cli-DHVkVGke.js → plugins-cli-BaQt7jqk.js} +95 -95
  192. package/dist/{ports-D3FuSfMU.js → ports-B2o0FSFD.js} +2 -2
  193. package/dist/{ports-BJ6Xu_G6.js → ports-SQy1d-RL.js} +3 -3
  194. package/dist/{program-BeB3v4zk.js → program-CbwFv75G.js} +8 -8
  195. package/dist/{program-context-w-tdgurY.js → program-context-Ck-chzM_.js} +43 -43
  196. package/dist/{progress-BN8aygvh.js → progress-BQLz1r3L.js} +1 -1
  197. package/dist/{prompt-select-styled-CE6lL16-.js → prompt-select-styled-DJ5ONfKl.js} +4 -4
  198. package/dist/{prompt-select-styled-CGdWABH5.js → prompt-select-styled-DigZiJWM.js} +35 -35
  199. package/dist/{prompt-style-BRwf6dfp.js → prompt-style-kmKiCZnm.js} +1 -1
  200. package/dist/{provider-auth-helpers-C72Fb__o.js → provider-auth-helpers-Ci_EGvif.js} +7 -7
  201. package/dist/{provider-auth-helpers-D0RhcC2q.js → provider-auth-helpers-DGTDTeE5.js} +1 -1
  202. package/dist/{push-apns-Nj66xHk1.js → push-apns-BSYjGCn9.js} +5 -5
  203. package/dist/{push-apns-CeEArjp5.js → push-apns-Dz4hOY07.js} +1 -1
  204. package/dist/{pw-ai-DRVoaq_u.js → pw-ai-7i9eGnLh.js} +13 -13
  205. package/dist/{pw-ai-yrIWfcWX.js → pw-ai-DjmrIQle.js} +1 -1
  206. package/dist/{qmd-manager-SkIM31ge.js → qmd-manager-B-qeywfQ.js} +6 -6
  207. package/dist/{qr-cli-BsFvbHQy.js → qr-cli-CSt5ihwG.js} +4 -4
  208. package/dist/{query-expansion-BIsWftgR.js → query-expansion-Clts_AGz.js} +2 -2
  209. package/dist/{redact-CIBM9Zli.js → redact-B_4KNlXs.js} +1 -1
  210. package/dist/{redact-snapshot-DQ_VN7gO.js → redact-snapshot-BbEVKv0k.js} +2 -2
  211. package/dist/{register.agent-BaiV-Kp5.js → register.agent-BZh3UWw3.js} +9 -9
  212. package/dist/{register.agent-CoADvHMz.js → register.agent-CTPc2Q9m.js} +110 -110
  213. package/dist/{register.configure-COg3mvRi.js → register.configure-BzTxX7SG.js} +8 -8
  214. package/dist/register.configure-vVDARCph.js +168 -0
  215. package/dist/{register.maintenance-MELPxVyx.js → register.maintenance-BNHEV-po.js} +9 -9
  216. package/dist/{register.maintenance-CjxM0oKc.js → register.maintenance-DTXn32on.js} +108 -108
  217. package/dist/{register.message-kzRNe_7l.js → register.message-BYWAEsKP.js} +3 -3
  218. package/dist/{register.message-CbssH6ek.js → register.message-CHf51taw.js} +90 -90
  219. package/dist/{register.onboard-CAbo-VF1.js → register.onboard-CxwDhXRS.js} +29 -29
  220. package/dist/{register.onboard-CJeQ64iC.js → register.onboard-vruDRZdG.js} +2 -2
  221. package/dist/{register.orchestrator-anton-CdVQ30at.js → register.orchestrator-anton-GSAFxzGa.js} +2 -2
  222. package/dist/{register.orchestrator-anton-CBnyqoHX.js → register.orchestrator-anton-qBr2ZYrk.js} +7 -7
  223. package/dist/{register.setup-XGT1lV6o.js → register.setup-B0zmlTXV.js} +2 -2
  224. package/dist/{register.setup-DEH8S3Y5.js → register.setup-DlFQIXoR.js} +31 -31
  225. package/dist/{register.status-health-sessions-0ppExIVs.js → register.status-health-sessions-16paRP9f.js} +101 -101
  226. package/dist/{register.status-health-sessions-jEhyhioj.js → register.status-health-sessions-CtXhn9Dq.js} +4 -4
  227. package/dist/{register.subclis-DQx75Ni7.js → register.subclis-lskGgus9.js} +9 -9
  228. package/dist/{replies-CWMglpIw.js → replies-hSFVxL4h.js} +3 -3
  229. package/dist/{reply-Du7Q5RJl.js → reply-DfRr_KdS.js} +120 -116
  230. package/dist/{reply-prefix-CXLm7TNq.js → reply-prefix-C3y4zpTl.js} +1 -1
  231. package/dist/{resolve-route-BrHTn_2g.js → resolve-route-D_AbcmD6.js} +4 -4
  232. package/dist/{retry-B7zUL1Mv.js → retry-Db05aSB8.js} +1 -1
  233. package/dist/{rpc-Dp_JZNAZ.js → rpc-Cf9OK5Yk.js} +3 -3
  234. package/dist/{run-main-D56C-iq4.js → run-main-Bj-8MZGb.js} +15 -15
  235. package/dist/{runner-Bv_BA3vd.js → runner-CZW_eyf2.js} +1 -1
  236. package/dist/{runner-p3KLBBEt.js → runner-DzszLzI4.js} +11 -11
  237. package/dist/{runtime-DELkrqga.js → runtime-XmXLaHNk.js} +3 -3
  238. package/dist/{sandbox-cEpEHVD-.js → sandbox-DcUw5h3p.js} +8 -8
  239. package/dist/{sandbox-cli-B7kOJiLh.js → sandbox-cli-DGvJ7Eeq.js} +32 -32
  240. package/dist/{secrets-cli-COGPFjdu.js → secrets-cli-CR3h2TBy.js} +14 -14
  241. package/dist/{security-cli-Db4ZYVER.js → security-cli-B9_LV2po.js} +42 -42
  242. package/dist/{send-DA-ryUJS.js → send--lzpNy4f.js} +14 -14
  243. package/dist/{send-D_ARyjSf.js → send-C4v0Leny.js} +6 -6
  244. package/dist/{send-D-UmmCCj.js → send-DQiw_nGD.js} +7 -7
  245. package/dist/{send-DnscWRVE.js → send-DuwdEkLw.js} +7 -7
  246. package/dist/{send-BhbOA8rP.js → send-DwdHiC7_.js} +10 -10
  247. package/dist/{server-DLOBjQtf.js → server-D6MltJIF.js} +21 -21
  248. package/dist/{server-context-CvZnSu9L.js → server-context-DI0W_H7R.js} +11 -11
  249. package/dist/{server-lifecycle-CfZbDiFe.js → server-lifecycle-B5PlrlbG.js} +2 -2
  250. package/dist/{server-node-events-C1uC6pPJ.js → server-node-events-B_LUFrA_.js} +89 -89
  251. package/dist/{server-node-events-h-U5Mfvv.js → server-node-events-Benu2lR2.js} +3 -3
  252. package/dist/{service-fKr0VnMd.js → service-C8NMS3m_.js} +1 -1
  253. package/dist/{session-BKdoiopW.js → session-CdnrRhb4.js} +2 -2
  254. package/dist/{sessions-uS8Ko6pU.js → sessions-BtPXimXQ.js} +6 -6
  255. package/dist/{shared-Cvf3nhuq.js → shared-CpDPo3hJ.js} +2 -2
  256. package/dist/{shared-pSfUCPxh.js → shared-DpLSpJIl.js} +1 -1
  257. package/dist/{skill-commands-BY4BNcfR.js → skill-commands-BFzmZAfo.js} +6 -6
  258. package/dist/{skill-scanner-BFXxq_hZ.js → skill-scanner-D7mzXRXd.js} +1 -1
  259. package/dist/{skills-DuPZzvnK.js → skills-DlvDyK8L.js} +4 -4
  260. package/dist/{skills-cli-wSg-syqz.js → skills-cli-BhKGhjbO.js} +10 -10
  261. package/dist/{skills-install-CQihNd2n.js → skills-install-tr6wRWZj.js} +6 -6
  262. package/dist/{skills-status-D7aU-6Ob.js → skills-status-qjQ8XP0h.js} +4 -4
  263. package/dist/{status-DmPnFNgt.js → status-DxcdgCyX.js} +2 -2
  264. package/dist/{status-CQ18Gd-d.js → status-DzCllHYZ.js} +24 -24
  265. package/dist/{status.update-Cri65g-V.js → status.update-CTi6vuWj.js} +1 -1
  266. package/dist/{store-CR1Ag5tw.js → store-kH9wHHbO.js} +2 -2
  267. package/dist/{subagent-registry-CPeVtSZk.js → subagent-registry-BcpHnckA.js} +17 -13
  268. package/dist/{subsystem-BTkYq-SM.js → subsystem-CGZX2PBV.js} +1 -1
  269. package/dist/{system-cli-DSF87U3I.js → system-cli-DyVZ5udc.js} +13 -13
  270. package/dist/{system-run-approval-context-DtT5msEN.js → system-run-approval-context-CISBXlNw.js} +1 -1
  271. package/dist/{system-run-command-CrHlKsQv.js → system-run-command-qJdgzxLp.js} +1 -1
  272. package/dist/{systemd-C9CCJ2y5.js → systemd-CaCR5CyM.js} +2 -2
  273. package/dist/{systemd-hints-D4_AmIA0.js → systemd-hints-DHu-HVFx.js} +2 -2
  274. package/dist/{systemd-linger-BRBtRm6O.js → systemd-linger-B7XlUHk_.js} +2 -2
  275. package/dist/{table-PG064F0C.js → table-B9AmL3M1.js} +2 -2
  276. package/dist/{tables-Ca5i1iM6.js → tables-g9xkflht.js} +1 -1
  277. package/dist/{tailscale-Dr3FvwTm.js → tailscale-B5Irc_Bi.js} +2 -2
  278. package/dist/{target-errors-BhRMVh6a.js → target-errors-bLIVFsbF.js} +2 -2
  279. package/dist/{tokens-DY5TC4xI.js → tokens-Dg-QZ_pN.js} +1 -1
  280. package/dist/{tool-display-1HTlk4mF.js → tool-display-Dac7lHGW.js} +2 -2
  281. package/dist/{tool-images-ByP8vQ_u.js → tool-images-CHqepyF_.js} +2 -2
  282. package/dist/{tool-loop-detection-BxLycal4.js → tool-loop-detection-C5VjmhPJ.js} +2 -2
  283. package/dist/{trash-CHnKIQrP.js → trash-CUFiyQN5.js} +1 -1
  284. package/dist/{tui-BmvrLAnW.js → tui-Bne3YNiw.js} +9 -9
  285. package/dist/{tui-cli-Dm28GC4T.js → tui-cli-D0Z-rcUe.js} +39 -39
  286. package/dist/{update-D96LyJ5s.js → update-D79ppbMQ.js} +3 -3
  287. package/dist/{update-cli-Di_N9xCB.js → update-cli-B53rJqAV.js} +115 -115
  288. package/dist/{update-cli-DraOIip8.js → update-cli-CTETjvrF.js} +9 -9
  289. package/dist/{update-runner-BQlZS5zz.js → update-runner-BGAdvd0c.js} +1 -1
  290. package/dist/{update-runner-BJRwxU_y.js → update-runner-BOGIWX18.js} +5 -5
  291. package/dist/{utils-BfmeFj7S.js → utils-CXzXXV2o.js} +2 -2
  292. package/dist/{web-DzfcaLnK.js → web-3nv8mK11.js} +3 -3
  293. package/dist/{web-CrYZNxAg.js → web-C7HXffph.js} +8 -8
  294. package/dist/web-CqOVupWI.js +123 -0
  295. package/dist/{web-Cp8ceOUo.js → web-Dwj9igbL.js} +3 -3
  296. package/dist/{webhooks-cli-DLVMYO3R.js → webhooks-cli-2N03q0iY.js} +11 -11
  297. package/dist/{whatsapp-actions-De803Fwb.js → whatsapp-actions-Cms8wQM1.js} +22 -22
  298. package/dist/{widearea-dns-DJVz6r4U.js → widearea-dns-FDdFH5E8.js} +1 -1
  299. package/dist/{with-timeout-Bz8F3xNq.js → with-timeout-DEdycYxq.js} +5 -5
  300. package/dist/{workspace-BHN1rb4L.js → workspace-D3pARwoB.js} +3 -3
  301. package/dist/{workspace-dirs-C34pt6Pa.js → workspace-dirs-SsExQ3Bz.js} +1 -1
  302. package/package.json +4 -1
  303. package/dist/cli-VNJdJ9_T.js +0 -162
  304. package/dist/emergency-stop-BNon2wpA.js +0 -162
  305. package/dist/register.configure-Dhfhctpj.js +0 -168
  306. package/dist/web-D77Xu1Fp.js +0 -123
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as CONFIG_DIR } from "./utils-BfmeFj7S.js";
2
+ import { t as CONFIG_DIR } from "./utils-CXzXXV2o.js";
3
3
  import path from "node:path";
4
4
  import { promisify } from "node:util";
5
5
  import fs from "node:fs/promises";
@@ -84,13 +84,126 @@ function markTaskDone(markdown, lineNo) {
84
84
  lines[idx] = (lines[idx] ?? "").replace(/^(\s*)- \[ \] /, "$1- [x] ");
85
85
  return `${lines.join("\n")}\n`;
86
86
  }
87
- 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);
88
201
  return [
89
202
  "You are executing one item from a managed checklist.",
90
203
  `Task: ${task}`,
91
204
  "Rules:",
92
205
  "1) Make the minimal code changes required for this task.",
93
- "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.",
94
207
  "3) Return a concise completion summary."
95
208
  ].join("\n");
96
209
  }
@@ -144,7 +257,8 @@ function buildReviewPrompt(planFilePath) {
144
257
 
145
258
  Do not skip reading the file. Do not return JSON without first reading and updating the plan.`;
146
259
  }
147
- function buildImplementationPrompt(task, planFilePath) {
260
+ function buildImplementationPrompt(task, planFilePath, opts) {
261
+ const skipTests = Boolean(opts?.skipTests);
148
262
  return [
149
263
  `Complete this task: ${task}`,
150
264
  "",
@@ -155,11 +269,12 @@ function buildImplementationPrompt(task, planFilePath) {
155
269
  "Describing changes in text or showing diffs without applying them does NOT count.",
156
270
  "Do not ask for confirmation — apply the changes now.",
157
271
  "",
158
- "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.",
159
273
  "Then return a brief summary of what you changed."
160
274
  ].join("\n");
161
275
  }
162
- function buildImplementationRetryPrompt(task, planFilePath) {
276
+ function buildImplementationRetryPrompt(task, planFilePath, opts) {
277
+ const skipTests = Boolean(opts?.skipTests);
163
278
  return [
164
279
  "Your previous implementation attempt made zero repository changes.",
165
280
  `Task: ${task}`,
@@ -169,7 +284,7 @@ function buildImplementationRetryPrompt(task, planFilePath) {
169
284
  "Required sequence:",
170
285
  "1) Read the plan file.",
171
286
  "2) Use edit/write to modify repository files.",
172
- "3) Optionally run verification.",
287
+ skipTests ? "3) Skip tests for this task unless you changed executable code." : "3) Optionally run verification.",
173
288
  "4) Return a short summary.",
174
289
  "",
175
290
  "If you only provide analysis/diff text without edit/write tool calls, this attempt fails."
@@ -247,14 +362,14 @@ async function antonStop(runtime) {
247
362
  /** Load Anton config from the IdleHands config file. */
248
363
  async function loadAntonConfig() {
249
364
  try {
250
- const { loadConfig } = await import("./model-selection-Df4-bBn3.js").then((n) => n.Mt);
365
+ const { loadConfig } = await import("./model-selection-0dGxYGp8.js").then((n) => n.Mt);
251
366
  return loadConfig().anton ?? {};
252
367
  } catch {
253
368
  return {};
254
369
  }
255
370
  }
256
371
  async function runAgentTask(args) {
257
- const { agentCliCommand } = await import("./agent-via-gateway-DwRsFLFS.js").then((n) => n.n);
372
+ const { agentCliCommand } = await import("./agent-via-gateway-Drygi4ty.js").then((n) => n.n);
258
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;
259
374
  const result = await agentCliCommand({
260
375
  message: args.message,
@@ -398,8 +513,11 @@ async function runDiscoveryPhase(args) {
398
513
  task: `Discovery (attempt ${attempt + 1})`,
399
514
  sessionId
400
515
  });
516
+ const discoveryRepoCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(args.taskFile);
517
+ await hardCleanRepo(discoveryRepoCwd);
518
+ await ensureRepoCleanOrThrow(discoveryRepoCwd);
401
519
  const firstPass = await runAgentTask({
402
- message: buildDiscoveryPrompt(args.task.text, args.taskFile, planFile),
520
+ message: buildDiscoveryPrompt(formatTaskForPrompt(args.task), args.taskFile, planFile),
403
521
  sessionId,
404
522
  timeout: args.timeout,
405
523
  agent: args.agent,
@@ -467,8 +585,10 @@ async function runDiscoveryPhase(args) {
467
585
  task: `Discovery repair (attempt ${attempt + 1})`,
468
586
  sessionId: repairSessionId
469
587
  });
588
+ await hardCleanRepo(discoveryRepoCwd);
589
+ await ensureRepoCleanOrThrow(discoveryRepoCwd);
470
590
  const repairPass = await runAgentTask({
471
- message: buildDiscoveryRepairPrompt(args.task.text, args.taskFile, declaredPlanFile),
591
+ message: buildDiscoveryRepairPrompt(formatTaskForPrompt(args.task), args.taskFile, declaredPlanFile),
472
592
  sessionId: repairSessionId,
473
593
  timeout: args.timeout,
474
594
  agent: args.agent,
@@ -566,6 +686,9 @@ async function runReviewPhase(args) {
566
686
  task: "Requirements review",
567
687
  sessionId
568
688
  });
689
+ const reviewRepoCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : process.cwd();
690
+ await hardCleanRepo(reviewRepoCwd);
691
+ await ensureRepoCleanOrThrow(reviewRepoCwd);
569
692
  await runAgentTask({
570
693
  message: buildReviewPrompt(args.planFile),
571
694
  sessionId,
@@ -601,7 +724,14 @@ async function runReviewPhase(args) {
601
724
  }
602
725
  async function runAnton(args) {
603
726
  const filePath = path.resolve(args.taskFile);
604
- 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);
605
735
  const notify = args.onProgress ?? (async () => {});
606
736
  if (args.dryRun) {
607
737
  args.runtime.log(`Dry run: ${pending.length} pending task(s)`);
@@ -631,9 +761,11 @@ async function runAnton(args) {
631
761
  const reviewTimeout = execution.reviewTimeoutSec;
632
762
  const preflightMaxRetries = execution.preflightMaxRetries;
633
763
  const planDir = antonCfg.planDir ? path.resolve(antonCfg.planDir) : path.resolve(path.dirname(filePath), ".agents", "tasks");
634
- const { loadConfig } = await import("./model-selection-Df4-bBn3.js").then((n) => n.Mt);
764
+ const { loadConfig } = await import("./model-selection-0dGxYGp8.js").then((n) => n.Mt);
635
765
  const cfg = loadConfig();
636
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);
637
769
  await acquireLock(Boolean(args.force));
638
770
  const startedAt = Date.now();
639
771
  await writeState({
@@ -668,6 +800,9 @@ async function runAnton(args) {
668
800
  const task = pending[i];
669
801
  if (!task) continue;
670
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);
671
806
  await writeState({
672
807
  running: true,
673
808
  taskFile: filePath,
@@ -691,6 +826,8 @@ async function runAnton(args) {
691
826
  const taskFileRelForBaseline = path.relative(gitCwdForBaseline, filePath).replace(/\\/g, "/");
692
827
  const changedBeforeTask = await getGitChangedFileCount(gitCwdForBaseline, taskFileRelForBaseline.startsWith("..") ? [] : [taskFileRelForBaseline]);
693
828
  if (mode === "preflight") {
829
+ await hardCleanRepo(repoCwd);
830
+ await ensureRepoCleanOrThrow(repoCwd);
694
831
  const discoveryResult = await runDiscoveryPhase({
695
832
  task,
696
833
  taskNum,
@@ -713,8 +850,17 @@ async function runAnton(args) {
713
850
  total: pending.length,
714
851
  task: task.text
715
852
  });
716
- const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
717
- 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}`);
718
864
  completed += 1;
719
865
  await notify({
720
866
  phase: "task_complete",
@@ -757,10 +903,12 @@ async function runAnton(args) {
757
903
  task: task.text,
758
904
  sessionId: implSessionId
759
905
  });
760
- const implPrompt = planFile ? buildImplementationPrompt(task.text, planFile) : buildDirectTaskPrompt(task.text);
906
+ const implPrompt = planFile ? buildImplementationPrompt(taskPromptText, planFile, { skipTests }) : buildDirectTaskPrompt(taskPromptText, { skipTests });
761
907
  const gitCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
762
908
  const taskFileRel = path.relative(gitCwd, filePath).replace(/\\/g, "/");
763
909
  const changeIgnores = taskFileRel.startsWith("..") ? [] : [taskFileRel];
910
+ await hardCleanRepo(repoCwd);
911
+ await ensureRepoCleanOrThrow(repoCwd);
764
912
  await runAgentTask({
765
913
  message: implPrompt,
766
914
  sessionId: implSessionId,
@@ -772,30 +920,44 @@ async function runAnton(args) {
772
920
  workspaceDir: args.workspaceDir
773
921
  });
774
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");
775
924
  if (mode === "preflight" && changedBeforeTask !== null && changedAfter !== null && changedAfter <= changedBeforeTask) {
776
- const retrySessionId = `anton-impl-retry-${Date.now()}-${taskNum}`;
777
- await notify({
778
- phase: "task_agent_spawned",
779
- index: taskNum,
780
- total: pending.length,
781
- task: `${task.text} (implementation retry)`,
782
- sessionId: retrySessionId
783
- });
784
- await runAgentTask({
785
- message: buildImplementationRetryPrompt(task.text, planFile ?? ""),
786
- sessionId: retrySessionId,
787
- timeout: defaultTimeout,
788
- agent: args.agent,
789
- to: args.to,
790
- runtime: args.runtime,
791
- deps: args.deps,
792
- workspaceDir: args.workspaceDir
793
- });
794
- changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
795
- 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");
796
959
  }
797
- const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
798
- await fs.writeFile(filePath, updated, "utf8");
960
+ await commitAllIfDirty(repoCwd, `anton: ${task.text}`);
799
961
  completed += 1;
800
962
  await notify({
801
963
  phase: "task_complete",
@@ -804,6 +966,9 @@ async function runAnton(args) {
804
966
  task: task.text
805
967
  });
806
968
  } catch (err) {
969
+ try {
970
+ await hardCleanRepo(repoCwd);
971
+ } catch {}
807
972
  skipped += 1;
808
973
  const errorMsg = err instanceof Error ? err.message : String(err);
809
974
  args.runtime.error(`[Anton] Task failed and was skipped: ${task.text}`);
@@ -1,5 +1,5 @@
1
- import { u as normalizeProviderId } from "./model-selection-Df4-bBn3.js";
2
- import { n as formatErrorMessage } from "./errors-BNr2qnai.js";
1
+ import { u as normalizeProviderId } from "./model-selection-0dGxYGp8.js";
2
+ import { n as formatErrorMessage } from "./errors-DZDuPc3M.js";
3
3
 
4
4
  //#region src/infra/gemini-auth.ts
5
5
  /**
@@ -1,63 +1,63 @@
1
1
  import "./paths-Cn44w-EB.js";
2
- import { F as shouldLogVerbose, M as logVerbose } from "./utils-BfmeFj7S.js";
2
+ import { F as shouldLogVerbose, M as logVerbose } from "./utils-CXzXXV2o.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./agent-scope-DbNnv10G.js";
5
- import "./subsystem-BTkYq-SM.js";
4
+ import "./agent-scope-RA0zXRpu.js";
5
+ import "./subsystem-CGZX2PBV.js";
6
6
  import "./runtime-44j_X4Y6.js";
7
7
  import "./idlehands-root-B8cUs-5M.js";
8
- import "./exec-B9xbr2pN.js";
9
- import "./model-selection-Df4-bBn3.js";
8
+ import "./exec-CKHMT0tZ.js";
9
+ import "./model-selection-0dGxYGp8.js";
10
10
  import "./github-copilot-token-D7lpquOO.js";
11
11
  import "./boolean-BsqeuxE6.js";
12
- import "./env-dMo-pLSc.js";
12
+ import "./env-Bx-F45X5.js";
13
13
  import "./host-env-security-DkAVVuaw.js";
14
14
  import "./env-vars-sTMVGyld.js";
15
- import "./manifest-registry-cOeAg4W6.js";
16
- import "./dock-DpA6CUDJ.js";
17
- import "./message-channel-CRSTffWx.js";
18
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, s as isAudioAttachment, t as buildProviderRegistry } from "./runner-p3KLBBEt.js";
19
- import "./image-BkrcRFPe.js";
20
- import "./models-config-zq6L0fug.js";
21
- import "./pi-model-discovery-BEKzIGSg.js";
22
- import "./pi-embedded-helpers-D675DgwP.js";
23
- import "./sandbox-cEpEHVD-.js";
15
+ import "./manifest-registry-Bak1x76G.js";
16
+ import "./dock-Y96MzKuM.js";
17
+ import "./message-channel-DVauVtrg.js";
18
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, s as isAudioAttachment, t as buildProviderRegistry } from "./runner-DzszLzI4.js";
19
+ import "./image-DSDEbSiO.js";
20
+ import "./models-config-C5A1wDWh.js";
21
+ import "./pi-model-discovery-BIP3RjXl.js";
22
+ import "./pi-embedded-helpers-BCsfqpDt.js";
23
+ import "./sandbox-DcUw5h3p.js";
24
24
  import "./tool-catalog-4_Wxc542.js";
25
- import "./chrome-DeAzXWRb.js";
26
- import "./tailscale-Dr3FvwTm.js";
25
+ import "./chrome-VBsQfIrt.js";
26
+ import "./tailscale-B5Irc_Bi.js";
27
27
  import "./ip-DJ5wsTQn.js";
28
28
  import "./tailnet-C9lH_YnG.js";
29
29
  import "./ws-XBTtYpJc.js";
30
- import "./auth-DoNXQLDj.js";
31
- import "./server-context-CvZnSu9L.js";
32
- import "./frontmatter-x0EBRtDF.js";
33
- import "./skills-DuPZzvnK.js";
30
+ import "./auth-heRVBxh2.js";
31
+ import "./server-context-DI0W_H7R.js";
32
+ import "./frontmatter-D-sQ_Hqk.js";
33
+ import "./skills-DlvDyK8L.js";
34
34
  import "./path-alias-guards-FXBVVTLw.js";
35
- import "./paths-CBF9EBzh.js";
36
- import "./redact-CIBM9Zli.js";
37
- import "./errors-BNr2qnai.js";
35
+ import "./paths-B-CLQ5RT.js";
36
+ import "./redact-B_4KNlXs.js";
37
+ import "./errors-DZDuPc3M.js";
38
38
  import "./fs-safe-_JQUGpZf.js";
39
39
  import "./ssrf-Dw9zzKSM.js";
40
- import "./image-ops-CGnAhRRV.js";
41
- import "./store-CR1Ag5tw.js";
42
- import "./ports-BJ6Xu_G6.js";
43
- import "./trash-CHnKIQrP.js";
40
+ import "./image-ops-BU-VdLZu.js";
41
+ import "./store-kH9wHHbO.js";
42
+ import "./ports-SQy1d-RL.js";
43
+ import "./trash-CUFiyQN5.js";
44
44
  import "./server-middleware-BC21xYvr.js";
45
- import "./sessions-uS8Ko6pU.js";
46
- import "./plugins-Bj6rzE-9.js";
47
- import "./accounts-CbaEMSlt.js";
48
- import "./accounts-B4A5mL3Y.js";
49
- import "./accounts-VbtNKne6.js";
50
- import "./bindings-DorAphZu.js";
45
+ import "./sessions-BtPXimXQ.js";
46
+ import "./plugins-D46VZh7u.js";
47
+ import "./accounts-DLTODa_Z.js";
48
+ import "./accounts-3HS_UAhJ.js";
49
+ import "./accounts-DgbTKQoW.js";
50
+ import "./bindings-B59Q7nsk.js";
51
51
  import "./logging-q4KyMmY-.js";
52
- import "./auth-store-Dqjgb5R1.js";
52
+ import "./auth-store-DDzIMy8_.js";
53
53
  import "./paths-DRz46q00.js";
54
54
  import "./chat-envelope-Bebo3vwl.js";
55
- import "./tool-images-ByP8vQ_u.js";
56
- import "./tool-display-1HTlk4mF.js";
57
- import "./fetch-guard-C-IWepjW.js";
58
- import "./api-key-rotation-Bj8Q_8ST.js";
59
- import "./local-roots-B-lmQdZs.js";
60
- import "./model-catalog-D_KsCB5j.js";
55
+ import "./tool-images-CHqepyF_.js";
56
+ import "./tool-display-Dac7lHGW.js";
57
+ import "./fetch-guard-yUZu1Vzc.js";
58
+ import "./api-key-rotation-B-FTJm5p.js";
59
+ import "./local-roots-q0xbefkf.js";
60
+ import "./model-catalog-D9no0CH2.js";
61
61
 
62
62
  //#region src/media-understanding/audio-preflight.ts
63
63
  /**
@@ -15,8 +15,8 @@ import "./accounts-BRVjft5i.js";
15
15
  import "./image-ops-BDG-MYYV.js";
16
16
  import "./pi-model-discovery-Dic-M5qw.js";
17
17
  import "./message-channel-DqqfOIdx.js";
18
- import "./pi-embedded-helpers-Ct2rwp-P.js";
19
- import "./chrome-Do5potHV.js";
18
+ import "./pi-embedded-helpers-C2j0LfJC.js";
19
+ import "./chrome-DEnkfZ9p.js";
20
20
  import "./ssrf-DappnhDp.js";
21
21
  import "./skills-nQcWk6Z6.js";
22
22
  import "./path-alias-guards-CGbCFqW8.js";
@@ -29,11 +29,11 @@ import "./accounts-CBoBCTgA.js";
29
29
  import "./paths-vOrMwCEQ.js";
30
30
  import "./tool-images-CpZSs-zE.js";
31
31
  import "./thinking-BFsWfunr.js";
32
- import "./image-BAsQlUqT.js";
32
+ import "./image-C_aN5P6-.js";
33
33
  import "./gemini-auth-m2hi6OmF.js";
34
34
  import "./fetch-guard-BdCPmLBP.js";
35
35
  import "./local-roots-BnWzOrXv.js";
36
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-Bv_BA3vd.js";
36
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-CZW_eyf2.js";
37
37
 
38
38
  //#region src/media-understanding/audio-preflight.ts
39
39
  /**
@@ -1,36 +1,36 @@
1
1
  import { g as resolveStateDir, m as resolveOAuthDir, o as resolveConfigPath } from "./paths-Cn44w-EB.js";
2
- import { M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, d as resolveDefaultAgentId } from "./agent-scope-DbNnv10G.js";
2
+ import { M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, d as resolveDefaultAgentId } from "./agent-scope-RA0zXRpu.js";
3
3
  import { s as normalizeAgentId } from "./session-key-Cuihcz_O.js";
4
- import { Dt as formatPermissionRemediation, Et as formatPermissionDetail, Ft as createConfigIO, Ot as inspectPathPermissions, jn as normalizeTrustedSafeBinDirs, kt as safeStat, lr as INCLUDE_KEY, on as isDangerousNetworkMode, sn as normalizeNetworkMode, ur as MAX_INCLUDE_DEPTH } from "./model-selection-Df4-bBn3.js";
4
+ import { Dt as formatPermissionRemediation, Et as formatPermissionDetail, Ft as createConfigIO, Ot as inspectPathPermissions, jn as normalizeTrustedSafeBinDirs, kt as safeStat, lr as INCLUDE_KEY, on as isDangerousNetworkMode, sn as normalizeNetworkMode, ur as MAX_INCLUDE_DEPTH } from "./model-selection-0dGxYGp8.js";
5
5
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
6
6
  import { n as isPathInside, t as extensionUsesSkippedScannerPath } from "./scan-paths-DE00o1Lk.js";
7
- import { u as normalizePluginsConfig } from "./manifest-registry-cOeAg4W6.js";
7
+ import { u as normalizePluginsConfig } from "./manifest-registry-Bak1x76G.js";
8
8
  import { n as MANIFEST_KEY } from "./legacy-names-DB161qHh.js";
9
- import { l as normalizeStringEntries } from "./dock-DpA6CUDJ.js";
10
- import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-CRSTffWx.js";
11
- import { C as resolveToolProfilePolicy, f as resolveSandboxConfigForAgent, k as SANDBOX_BROWSER_SECURITY_HASH_EPOCH, l as execDockerRaw, m as resolveSandboxToolPolicyForAgent, u as getBlockedBindReason } from "./sandbox-cEpEHVD-.js";
12
- import { a as resolveGatewayAuth } from "./auth-DoNXQLDj.js";
9
+ import { l as normalizeStringEntries } from "./dock-Y96MzKuM.js";
10
+ import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DVauVtrg.js";
11
+ import { C as resolveToolProfilePolicy, f as resolveSandboxConfigForAgent, k as SANDBOX_BROWSER_SECURITY_HASH_EPOCH, l as execDockerRaw, m as resolveSandboxToolPolicyForAgent, u as getBlockedBindReason } from "./sandbox-DcUw5h3p.js";
12
+ import { a as resolveGatewayAuth } from "./auth-heRVBxh2.js";
13
13
  import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DcJ9zJDt.js";
14
- import { a as resolveProfile, i as resolveBrowserConfig, s as resolveBrowserControlAuth } from "./server-context-CvZnSu9L.js";
15
- import { i as loadWorkspaceSkillEntries } from "./skills-DuPZzvnK.js";
16
- import { n as formatErrorMessage } from "./errors-BNr2qnai.js";
17
- import { n as listChannelPlugins } from "./plugins-Bj6rzE-9.js";
18
- import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled } from "./commands-5UqnjBKV.js";
19
- import { t as GatewayClient } from "./client-Cagiy1nE.js";
20
- import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-SK4sGwpN.js";
21
- import { i as readChannelAllowFromStore } from "./pairing-store-CPUUuW7M.js";
22
- import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-bEV0LvVh.js";
23
- import { l as resolveDmAllowState, n as isToolAllowedByPolicies, o as pickSandboxToolPolicy } from "./pi-tools.policy-GzRj_NVc.js";
14
+ import { a as resolveProfile, i as resolveBrowserConfig, s as resolveBrowserControlAuth } from "./server-context-DI0W_H7R.js";
15
+ import { i as loadWorkspaceSkillEntries } from "./skills-DlvDyK8L.js";
16
+ import { n as formatErrorMessage } from "./errors-DZDuPc3M.js";
17
+ import { n as listChannelPlugins } from "./plugins-D46VZh7u.js";
18
+ import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled } from "./commands-Dj5LalLo.js";
19
+ import { t as GatewayClient } from "./client-DtnD-ee9.js";
20
+ import { c as READ_SCOPE, t as buildGatewayConnectionDetails } from "./call-BpWhjuOg.js";
21
+ import { i as readChannelAllowFromStore } from "./pairing-store-CPpEEQJO.js";
22
+ import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-DaoU9-ni.js";
23
+ import { l as resolveDmAllowState, n as isToolAllowedByPolicies, o as pickSandboxToolPolicy } from "./pi-tools.policy-DfITIKZj.js";
24
24
  import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-c9SZFcEG.js";
25
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-C34pt6Pa.js";
25
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-SsExQ3Bz.js";
26
26
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-ulSRJzn7.js";
27
27
  import { t as resolveChannelDefaultAccountId } from "./helpers-C6eW1WGZ.js";
28
- import { t as scanDirectoryWithSummary } from "./skill-scanner-BFXxq_hZ.js";
28
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-D7mzXRXd.js";
29
29
  import { i as NODE_SYSTEM_RUN_COMMANDS, r as NODE_SYSTEM_NOTIFY_COMMAND, t as NODE_BROWSER_PROXY_COMMAND } from "./node-commands-DAlC0lvG.js";
30
30
  import { c as normalizeTelegramAllowFromEntry, s as isNumericTelegramUserId, t as isDiscordMutableAllowEntry } from "./mutable-allowlist-detectors-DWMFyfKa.js";
31
31
  import { t as inferParamBFromIdOrName } from "./model-param-b-DnD62yWY.js";
32
32
  import path from "node:path";
33
- import json5 from "json5";
33
+ import JSON5 from "json5";
34
34
  import * as fs$1 from "node:fs/promises";
35
35
  import fs from "node:fs/promises";
36
36
  import { randomUUID } from "node:crypto";
@@ -1447,7 +1447,7 @@ async function collectIncludePathsRecursive(params) {
1447
1447
  if (!rawText) continue;
1448
1448
  const nestedParsed = (() => {
1449
1449
  try {
1450
- return json5.parse(rawText);
1450
+ return JSON5.parse(rawText);
1451
1451
  } catch {
1452
1452
  return null;
1453
1453
  }
@@ -1,15 +1,15 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { A as resolveDefaultAgentWorkspaceDir, P as toAgentModelListLike, a as resolveAgentDir, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-DbNnv10G.js";
3
- import { Cr as listProfilesForProvider, Er as upsertAuthProfile, Ir as resolveIdleHandsAgentDir, Kr as KILOCODE_DEFAULT_MODEL_REF, P as VENICE_DEFAULT_MODEL_REF, V as SYNTHETIC_DEFAULT_MODEL_REF, X as resolveEnvApiKey, _t as generateChutesPkce, gt as exchangeChutesCodeForTokens, h as resolveDefaultModelForAgent, ht as CHUTES_AUTHORIZE_ENDPOINT, kr as ensureAuthProfileStore, nt as isHuggingfacePolicyLocked, q as getCustomProviderApiKey, rt as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, st as resolveAuthProfileOrder, tt as discoverHuggingfaceModels, vt as parseOAuthCallbackInput } from "./model-selection-Df4-bBn3.js";
2
+ import { A as resolveDefaultAgentWorkspaceDir, P as toAgentModelListLike, a as resolveAgentDir, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
3
+ import { Cr as listProfilesForProvider, Er as upsertAuthProfile, Ir as resolveIdleHandsAgentDir, Kr as KILOCODE_DEFAULT_MODEL_REF, P as VENICE_DEFAULT_MODEL_REF, V as SYNTHETIC_DEFAULT_MODEL_REF, X as resolveEnvApiKey, _t as generateChutesPkce, gt as exchangeChutesCodeForTokens, h as resolveDefaultModelForAgent, ht as CHUTES_AUTHORIZE_ENDPOINT, kr as ensureAuthProfileStore, nt as isHuggingfacePolicyLocked, q as getCustomProviderApiKey, rt as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, st as resolveAuthProfileOrder, tt as discoverHuggingfaceModels, vt as parseOAuthCallbackInput } from "./model-selection-0dGxYGp8.js";
4
4
  import { i as isLoopbackHost } from "./ws-XBTtYpJc.js";
5
- import { n as loadModelCatalog } from "./model-catalog-D_KsCB5j.js";
6
- import { f as openUrl } from "./onboard-helpers-CXjQtadC.js";
7
- import { t as enablePluginInConfig } from "./enable-ztZSnOGv.js";
8
- import { $ as ZAI_DEFAULT_MODEL_REF, A as applyTogetherConfig, B as applyLitellmConfig, C as applyMoonshotProviderConfigCn, Ct as writeOAuthCredentials, D as applyQianfanProviderConfig, Dt as QIANFAN_DEFAULT_MODEL_REF, E as applyQianfanConfig, Et as MOONSHOT_DEFAULT_MODEL_REF, F as applyXaiProviderConfig, G as applyVercelAiGatewayProviderConfig, H as applyCloudflareAiGatewayConfig, I as applyXiaomiConfig, J as LITELLM_DEFAULT_MODEL_REF, K as applyAgentDefaultModelPrimary, L as applyXiaomiProviderConfig, M as applyVeniceConfig, N as applyVeniceProviderConfig, O as applySyntheticConfig, Ot as XAI_DEFAULT_MODEL_REF, P as applyXaiConfig, Q as XIAOMI_DEFAULT_MODEL_REF, R as applyZaiConfig, S as applyMoonshotProviderConfig, St as setZaiApiKey, T as applyOpenrouterProviderConfig, Tt as MISTRAL_DEFAULT_MODEL_REF, U as applyCloudflareAiGatewayProviderConfig, V as applyLitellmProviderConfig, W as applyVercelAiGatewayConfig, X as TOGETHER_DEFAULT_MODEL_REF, Y as OPENROUTER_DEFAULT_MODEL_REF, Z as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, _ as applyKimiCodeProviderConfig, _t as setVeniceApiKey, a as applyMinimaxApiConfig, at as setKilocodeApiKey, b as applyMoonshotConfig, bt as setXaiApiKey, c as applyMinimaxApiProviderConfigCn, ct as setMinimaxApiKey, d as applyAuthProfileConfig, dt as setOpenaiApiKey, et as setAnthropicApiKey, ft as setOpencodeZenApiKey, g as applyKimiCodeConfig, gt as setTogetherApiKey, h as applyKilocodeProviderConfig, ht as setSyntheticApiKey, i as applyOpencodeZenProviderConfig, it as setHuggingfaceApiKey, j as applyTogetherProviderConfig, k as applySyntheticProviderConfig, l as applyMinimaxConfig, lt as setMistralApiKey, m as applyKilocodeConfig, mt as setQianfanApiKey, n as validateAnthropicSetupToken, nt as setCloudflareAiGatewayConfig, o as applyMinimaxApiConfigCn, ot as setKimiCodingApiKey, p as applyHuggingfaceProviderConfig, pt as setOpenrouterApiKey, q as HUGGINGFACE_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setGeminiApiKey, s as applyMinimaxApiProviderConfig, st as setLitellmApiKey, t as buildTokenProfileId, tt as setByteplusApiKey, u as applyMinimaxProviderConfig, ut as setMoonshotApiKey, v as applyMistralConfig, vt as setVercelAiGatewayApiKey, w as applyOpenrouterConfig, wt as KIMI_CODING_MODEL_REF, x as applyMoonshotConfigCn, xt as setXiaomiApiKey, y as applyMistralProviderConfig, yt as setVolcengineApiKey, z as applyZaiProviderConfig } from "./auth-token-ChjRQYCt.js";
9
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-C72Fb__o.js";
10
- import { a as ensureApiKeyFromOptionEnvOrPrompt, c as applyDefaultModelChoice, d as validateApiKeyInput, l as ensureModelAllowlistEntry, n as createAuthChoiceDefaultModelApplier, o as normalizeSecretInputModeInput, r as createAuthChoiceModelStateBridge, s as normalizeTokenProviderInput, t as createAuthChoiceAgentModelNoter, u as normalizeApiKeyInput } from "./auth-choice.apply-helpers-fIm7h2DA.js";
11
- import { a as GOOGLE_GEMINI_DEFAULT_MODEL, i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault, r as applyOpenAIProviderConfig, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-CK1wUY3u.js";
12
- import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-CM_QFlL4.js";
5
+ import { n as loadModelCatalog } from "./model-catalog-D9no0CH2.js";
6
+ import { f as openUrl } from "./onboard-helpers-mzy38DiC.js";
7
+ import { t as enablePluginInConfig } from "./enable-o_s6PBsC.js";
8
+ import { $ as ZAI_DEFAULT_MODEL_REF, A as applyTogetherConfig, B as applyLitellmConfig, C as applyMoonshotProviderConfigCn, Ct as writeOAuthCredentials, D as applyQianfanProviderConfig, Dt as QIANFAN_DEFAULT_MODEL_REF, E as applyQianfanConfig, Et as MOONSHOT_DEFAULT_MODEL_REF, F as applyXaiProviderConfig, G as applyVercelAiGatewayProviderConfig, H as applyCloudflareAiGatewayConfig, I as applyXiaomiConfig, J as LITELLM_DEFAULT_MODEL_REF, K as applyAgentDefaultModelPrimary, L as applyXiaomiProviderConfig, M as applyVeniceConfig, N as applyVeniceProviderConfig, O as applySyntheticConfig, Ot as XAI_DEFAULT_MODEL_REF, P as applyXaiConfig, Q as XIAOMI_DEFAULT_MODEL_REF, R as applyZaiConfig, S as applyMoonshotProviderConfig, St as setZaiApiKey, T as applyOpenrouterProviderConfig, Tt as MISTRAL_DEFAULT_MODEL_REF, U as applyCloudflareAiGatewayProviderConfig, V as applyLitellmProviderConfig, W as applyVercelAiGatewayConfig, X as TOGETHER_DEFAULT_MODEL_REF, Y as OPENROUTER_DEFAULT_MODEL_REF, Z as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, _ as applyKimiCodeProviderConfig, _t as setVeniceApiKey, a as applyMinimaxApiConfig, at as setKilocodeApiKey, b as applyMoonshotConfig, bt as setXaiApiKey, c as applyMinimaxApiProviderConfigCn, ct as setMinimaxApiKey, d as applyAuthProfileConfig, dt as setOpenaiApiKey, et as setAnthropicApiKey, ft as setOpencodeZenApiKey, g as applyKimiCodeConfig, gt as setTogetherApiKey, h as applyKilocodeProviderConfig, ht as setSyntheticApiKey, i as applyOpencodeZenProviderConfig, it as setHuggingfaceApiKey, j as applyTogetherProviderConfig, k as applySyntheticProviderConfig, l as applyMinimaxConfig, lt as setMistralApiKey, m as applyKilocodeConfig, mt as setQianfanApiKey, n as validateAnthropicSetupToken, nt as setCloudflareAiGatewayConfig, o as applyMinimaxApiConfigCn, ot as setKimiCodingApiKey, p as applyHuggingfaceProviderConfig, pt as setOpenrouterApiKey, q as HUGGINGFACE_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setGeminiApiKey, s as applyMinimaxApiProviderConfig, st as setLitellmApiKey, t as buildTokenProfileId, tt as setByteplusApiKey, u as applyMinimaxProviderConfig, ut as setMoonshotApiKey, v as applyMistralConfig, vt as setVercelAiGatewayApiKey, w as applyOpenrouterConfig, wt as KIMI_CODING_MODEL_REF, x as applyMoonshotConfigCn, xt as setXiaomiApiKey, y as applyMistralProviderConfig, yt as setVolcengineApiKey, z as applyZaiProviderConfig } from "./auth-token-BJq87X3o.js";
9
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-Ci_EGvif.js";
10
+ import { a as ensureApiKeyFromOptionEnvOrPrompt, c as applyDefaultModelChoice, d as validateApiKeyInput, l as ensureModelAllowlistEntry, n as createAuthChoiceDefaultModelApplier, o as normalizeSecretInputModeInput, r as createAuthChoiceModelStateBridge, s as normalizeTokenProviderInput, t as createAuthChoiceAgentModelNoter, u as normalizeApiKeyInput } from "./auth-choice.apply-helpers-CGcniL1T.js";
11
+ import { a as GOOGLE_GEMINI_DEFAULT_MODEL, i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault, r as applyOpenAIProviderConfig, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-7J6cw1rA.js";
12
+ import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-BkXoTOiA.js";
13
13
  import { randomBytes } from "node:crypto";
14
14
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
15
15
  import { createServer } from "node:http";
@@ -6,7 +6,7 @@ import { n as loadModelCatalog } from "./model-catalog-DYWymzg_.js";
6
6
  import { f as openUrl } from "./onboard-helpers-DWivfzcc.js";
7
7
  import { t as enablePluginInConfig } from "./enable-CMXupNXl.js";
8
8
  import { $ as ZAI_DEFAULT_MODEL_REF, A as applyTogetherConfig, B as applyLitellmConfig, C as applyMoonshotProviderConfigCn, Ct as writeOAuthCredentials, D as applyQianfanProviderConfig, Dt as QIANFAN_DEFAULT_MODEL_REF, E as applyQianfanConfig, Et as MOONSHOT_DEFAULT_MODEL_REF, F as applyXaiProviderConfig, G as applyVercelAiGatewayProviderConfig, H as applyCloudflareAiGatewayConfig, I as applyXiaomiConfig, J as LITELLM_DEFAULT_MODEL_REF, K as applyAgentDefaultModelPrimary, L as applyXiaomiProviderConfig, M as applyVeniceConfig, N as applyVeniceProviderConfig, O as applySyntheticConfig, Ot as XAI_DEFAULT_MODEL_REF, P as applyXaiConfig, Q as XIAOMI_DEFAULT_MODEL_REF, R as applyZaiConfig, S as applyMoonshotProviderConfig, St as setZaiApiKey, T as applyOpenrouterProviderConfig, Tt as MISTRAL_DEFAULT_MODEL_REF, U as applyCloudflareAiGatewayProviderConfig, V as applyLitellmProviderConfig, W as applyVercelAiGatewayConfig, X as TOGETHER_DEFAULT_MODEL_REF, Y as OPENROUTER_DEFAULT_MODEL_REF, Z as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, _ as applyKimiCodeProviderConfig, _t as setVeniceApiKey, a as applyMinimaxApiConfig, at as setKilocodeApiKey, b as applyMoonshotConfig, bt as setXaiApiKey, c as applyMinimaxApiProviderConfigCn, ct as setMinimaxApiKey, d as applyAuthProfileConfig, dt as setOpenaiApiKey, et as setAnthropicApiKey, ft as setOpencodeZenApiKey, g as applyKimiCodeConfig, gt as setTogetherApiKey, h as applyKilocodeProviderConfig, ht as setSyntheticApiKey, i as applyOpencodeZenProviderConfig, it as setHuggingfaceApiKey, j as applyTogetherProviderConfig, k as applySyntheticProviderConfig, l as applyMinimaxConfig, lt as setMistralApiKey, m as applyKilocodeConfig, mt as setQianfanApiKey, n as validateAnthropicSetupToken, nt as setCloudflareAiGatewayConfig, o as applyMinimaxApiConfigCn, ot as setKimiCodingApiKey, p as applyHuggingfaceProviderConfig, pt as setOpenrouterApiKey, q as HUGGINGFACE_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setGeminiApiKey, s as applyMinimaxApiProviderConfig, st as setLitellmApiKey, t as buildTokenProfileId, tt as setByteplusApiKey, u as applyMinimaxProviderConfig, ut as setMoonshotApiKey, v as applyMistralConfig, vt as setVercelAiGatewayApiKey, w as applyOpenrouterConfig, wt as KIMI_CODING_MODEL_REF, x as applyMoonshotConfigCn, xt as setXiaomiApiKey, y as applyMistralProviderConfig, yt as setVolcengineApiKey, z as applyZaiProviderConfig } from "./auth-token-BQ_ECwH7.js";
9
- import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-D0RhcC2q.js";
9
+ import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-DGTDTeE5.js";
10
10
  import { a as ensureApiKeyFromOptionEnvOrPrompt, c as applyDefaultModelChoice, d as validateApiKeyInput, l as ensureModelAllowlistEntry, n as createAuthChoiceDefaultModelApplier, o as normalizeSecretInputModeInput, r as createAuthChoiceModelStateBridge, s as normalizeTokenProviderInput, t as createAuthChoiceAgentModelNoter, u as normalizeApiKeyInput } from "./auth-choice.apply-helpers-Bj-Y-Sar.js";
11
11
  import { a as GOOGLE_GEMINI_DEFAULT_MODEL, i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault, r as applyOpenAIProviderConfig, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-DTIibBxa.js";
12
12
  import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-D_yngXMe.js";