@visorcraft/idlehands 4.0.17 → 4.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{accounts-DsVN0UNw.js → accounts-3HS_UAhJ.js} +1 -1
  3. package/dist/{accounts-D-hQsUw-.js → accounts-DLTODa_Z.js} +1 -1
  4. package/dist/{accounts-D87a1Y_K.js → accounts-DgbTKQoW.js} +1 -1
  5. package/dist/{acp-cli-COix-boa.js → acp-cli-B3uwVAGD.js} +2 -2
  6. package/dist/{acp-cli-D52jj29o.js → acp-cli-BEpWQbqb.js} +7 -7
  7. package/dist/{agent-scope-Bn39ugK4.js → agent-scope-RA0zXRpu.js} +18 -18
  8. package/dist/{agent-via-gateway-BVY7w5-N.js → agent-via-gateway-B03q92bw.js} +3 -2
  9. package/dist/{agent-via-gateway-DSZK5iRF.js → agent-via-gateway-B2Z_k_od.js} +8 -7
  10. package/dist/{agent-via-gateway-BDWomN2t.js → agent-via-gateway-CUQG6kii.js} +5 -4
  11. package/dist/{agent-via-gateway-BlRwv6D6.js → agent-via-gateway-Cn3iNSod.js} +3 -2
  12. package/dist/{agents-BLa67Gdv.js → agents-DdTECKDf.js} +5 -5
  13. package/dist/{agents.config-CyEkgCQE.js → agents.config-CHtoYxr6.js} +2 -2
  14. package/dist/{agents.config-ADCeu0yD.js → agents.config-D2EbQiOx.js} +1 -1
  15. package/dist/{anton-CZ5moxh6.js → anton-D4vpCj_q.js} +47 -10
  16. package/dist/{anton-llLwn1lp.js → anton-DsmttQbC.js} +47 -10
  17. package/dist/{anton-D-0SP_5T.js → anton-hH1PyE2C.js} +47 -10
  18. package/dist/anton-x7f6kIFP.js +777 -0
  19. package/dist/{api-key-rotation-nXQVJErE.js → api-key-rotation-B-FTJm5p.js} +1 -1
  20. package/dist/{audio-preflight-CW8IH1lU.js → audio-preflight-BSlR2jEq.js} +4 -4
  21. package/dist/{audio-preflight-DzjXupNO.js → audio-preflight-Dl1TO10w.js} +31 -31
  22. package/dist/{audit-Bkd4fvVb.js → audit-C9PrbHng.js} +2 -2
  23. package/dist/{audit-D12wg2tV.js → audit-CKeZnjft.js} +22 -22
  24. package/dist/{auth-choice-BDndThZZ.js → auth-choice-D12Wsf7w.js} +12 -12
  25. package/dist/{auth-choice-CqbTnCYz.js → auth-choice-DRR52LJT.js} +10 -10
  26. package/dist/{auth-choice-01ELTnLA.js → auth-choice-DVoPuwEs.js} +2 -2
  27. package/dist/{auth-choice.apply-helpers-pTqMTYmi.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
  28. package/dist/{auth-store-CMyrmmSF.js → auth-store-DDzIMy8_.js} +7 -7
  29. package/dist/{auth-token-fKt_cHOj.js → auth-token-BJq87X3o.js} +1 -1
  30. package/dist/{banner-Dv_eAAWw.js → banner-CFKoGAzN.js} +1 -1
  31. package/dist/{bindings-DZjkLUU_.js → bindings-B59Q7nsk.js} +1 -1
  32. package/dist/{browser-cli-Ddh5zEZN.js → browser-cli-Brb82I5e.js} +3 -3
  33. package/dist/{browser-cli-Da-0lyq2.js → browser-cli-Ci6DpTnS.js} +11 -11
  34. package/dist/build-info.json +3 -3
  35. package/dist/bundled/boot-md/handler.js +7 -7
  36. package/dist/bundled/session-memory/handler.js +7 -7
  37. package/dist/{call-DnTBT02D.js → call-BpWhjuOg.js} +9 -9
  38. package/dist/{call-DuNslqj2.js → call-C82rD2Wn.js} +1 -1
  39. package/dist/{channel-account-context-B4nJPU2N.js → channel-account-context-CDbY5AIr.js} +5 -5
  40. package/dist/{channel-options-BvOLgXCF.js → channel-options-B4oF7_V2.js} +3 -3
  41. package/dist/{channel-options-BilcK806.js → channel-options-BU0E7BdU.js} +1 -1
  42. package/dist/{channel-selection-3jUl-PyW.js → channel-selection-ZxRkxpuF.js} +1 -1
  43. package/dist/{channel-web-B1IazKKL.js → channel-web-0icuasR6.js} +22 -22
  44. package/dist/{channel-web-BptLTwvg.js → channel-web-BDytDCrG.js} +2 -2
  45. package/dist/{channels-cli-FssbSykQ.js → channels-cli-B2w32z11.js} +88 -88
  46. package/dist/{channels-cli-DejBZZ85.js → channels-cli-DWaQsKP8.js} +10 -10
  47. package/dist/{channels-status-issues-hgASw9UA.js → channels-status-issues-CDpWjdI3.js} +1 -1
  48. package/dist/{chrome-YguTEaLx.js → chrome-VBsQfIrt.js} +2 -2
  49. package/dist/{chrome-BcJB6PcM.js → chrome-_2tzVjVl.js} +9 -9
  50. package/dist/{clawbot-cli-C5cDal-5.js → clawbot-cli-uFgYrysW.js} +5 -5
  51. package/dist/cli/daemon-cli.js +1 -1
  52. package/dist/{cli-BrQZTuUX.js → cli-BVw2ja-q.js} +70 -70
  53. package/dist/{cli-j1A8WKSj.js → cli-Hplv9sD1.js} +5 -5
  54. package/dist/{client-DIckPnsi.js → client-DtnD-ee9.js} +2 -1
  55. package/dist/{client-Brv1GCwX.js → client-udFMSDes.js} +1 -0
  56. package/dist/{command-registry-DZZAmcbA.js → command-registry-CWDCVzZv.js} +11 -11
  57. package/dist/{commands-D3BU_t7G.js → commands-Dj5LalLo.js} +1 -1
  58. package/dist/{commands-registry-Cj4D_1tw.js → commands-registry-CURlRZQJ.js} +3 -3
  59. package/dist/{completion-cli-Cxvf8clb.js → completion-cli-CjERsZ27.js} +2 -2
  60. package/dist/{completion-cli-ktxbWAiG.js → completion-cli-f5M3WVf8.js} +12 -12
  61. package/dist/{config-cli-CogA71uD.js → config-cli-B2gc8CV1.js} +6 -6
  62. package/dist/{config-cli-Bq_MWzp9.js → config-cli-Bt7n6ZJS.js} +1 -1
  63. package/dist/{config-guard-DnAyuF6T.js → config-guard-BdsOumqh.js} +17 -17
  64. package/dist/{config-validation-DIomLMwH.js → config-validation-BvKX6fPw.js} +2 -2
  65. package/dist/{configure-CZUn--aN.js → configure-BXsptBk3.js} +16 -16
  66. package/dist/{configure-CPDGJFyt.js → configure-CKspMrI1.js} +6 -6
  67. package/dist/{control-ui-assets-CiaCDBvZ.js → control-ui-assets-C7ZpN9hN.js} +1 -1
  68. package/dist/{cron-cli-B8uqoogS.js → cron-cli-DQsnGQKs.js} +12 -12
  69. package/dist/{cron-cli-D4DXiD1C.js → cron-cli-DXZzPHDQ.js} +3 -3
  70. package/dist/{daemon-cli-yC6gq-yv.js → daemon-cli-DOG5Mivy.js} +2 -2
  71. package/dist/{daemon-cli-CMBNTpSS.js → daemon-cli-DUg-s4LG.js} +11 -11
  72. package/dist/daemon-cli.js +1 -0
  73. package/dist/{daemon-install-DeqQiAad.js → daemon-install-CYPo4M1M.js} +4 -4
  74. package/dist/{daemon-install-helpers-Bug_GYuy.js → daemon-install-helpers-BZY9-jNW.js} +9 -9
  75. package/dist/{deliver-yTpXc5sv.js → deliver--kttnrER.js} +7 -7
  76. package/dist/{deliver-BUiQ-9fE.js → deliver-CVTXl0Cv.js} +1 -1
  77. package/dist/{deps-B_5kPH1Q.js → deps-BAMUVAdU.js} +1 -1
  78. package/dist/{deps-PAzfFs3Q.js → deps-BbipxGPW.js} +1 -1
  79. package/dist/{deps-BUUwigzc.js → deps-CjWcQwlX.js} +1 -1
  80. package/dist/{deps-CH8f3TJK.js → deps-CwPrf7RC.js} +6 -6
  81. package/dist/{devices-cli-DVLF8Yvw.js → devices-cli-DKK65S9Z.js} +7 -7
  82. package/dist/{devices-cli-Ck6s9sQQ.js → devices-cli-aiEJxYcN.js} +2 -2
  83. package/dist/{diagnostics-CdUgLS0N.js → diagnostics-DmZbQ8Nc.js} +5 -5
  84. package/dist/{directory-cli-BAMS8f9U.js → directory-cli-Dz9iXeut.js} +9 -9
  85. package/dist/{dns-cli-BdxBk-k_.js → dns-cli-DD6hWsdc.js} +4 -4
  86. package/dist/{dock-CzF5XYGd.js → dock-Y96MzKuM.js} +4 -4
  87. package/dist/{docs-cli-SF7es4Zs.js → docs-cli-cHkrTB2e.js} +4 -4
  88. package/dist/{doctor-completion-iWmUY3B4.js → doctor-completion-C2-SDBd6.js} +2 -2
  89. package/dist/{doctor-completion-i04j1TGW.js → doctor-completion-DB151YdP.js} +1 -1
  90. package/dist/{doctor-config-flow-8qXzBx09.js → doctor-config-flow-Ck4oCjfl.js} +14 -14
  91. package/dist/{emergency-stop-tKLAiFAG.js → emergency-stop-BldYLJq7.js} +7 -7
  92. package/dist/{emergency-stop-DAmKucxm.js → emergency-stop-CDozqde9.js} +5 -5
  93. package/dist/{emergency-stop-CfKEsUr_.js → emergency-stop-DpNGtfb4.js} +70 -70
  94. package/dist/{emergency-stop-CzExWKhr.js → emergency-stop-Lj33jqJJ.js} +2 -2
  95. package/dist/{enable-DaA_orGN.js → enable-o_s6PBsC.js} +1 -1
  96. package/dist/entry.js +1 -1
  97. package/dist/{exec-approvals-allowlist-8AkOwwIr.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
  98. package/dist/{exec-approvals-cli-CtoJW2K-.js → exec-approvals-cli-D6XUzs4j.js} +15 -15
  99. package/dist/{exec-approvals-cli-CNWOtvwX.js → exec-approvals-cli-DRoaRYPn.js} +4 -4
  100. package/dist/{exec-safe-bin-runtime-policy-DYXuBKqH.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
  101. package/dist/extensionAPI.js +2 -2
  102. package/dist/{fs-safe-DNFrxDS-.js → fs-safe-_JQUGpZf.js} +15 -15
  103. package/dist/{gateway-cli-DSJcNJYR.js → gateway-cli-Ccd1ukWq.js} +17 -14
  104. package/dist/{gateway-cli-C8P5BVto.js → gateway-cli-lNUOd2_i.js} +151 -148
  105. package/dist/{gateway-rpc-CdfF0Zt5.js → gateway-rpc-5PTvwEfj.js} +1 -1
  106. package/dist/{gateway-rpc-6vnhO4v8.js → gateway-rpc-BBFG1T-M.js} +1 -1
  107. package/dist/{health-CNZK5D2k.js → health--GQAFTBr.js} +13 -13
  108. package/dist/{health-BN8WNyon.js → health-HEN6Wk9G.js} +2 -2
  109. package/dist/{hooks-cli-L32lBsp7.js → hooks-cli-DFrttZGb.js} +6 -6
  110. package/dist/{hooks-cli-t7tiLn8P.js → hooks-cli-Di8qrzIB.js} +84 -84
  111. package/dist/{hooks-status-CPIWc_bx.js → hooks-status-DNGo2G8Q.js} +1 -1
  112. package/dist/{idlehands-root-DFL2GrNW.js → idlehands-root-B8cUs-5M.js} +8 -8
  113. package/dist/{image-D8b_rlQC.js → image-COw__ACq.js} +1 -1
  114. package/dist/{image-C2JZiK-6.js → image-DSDEbSiO.js} +5 -5
  115. package/dist/{plugin-sdk/image-ops-BRYGGDwL.js → image-ops-BU-VdLZu.js} +2 -2
  116. package/dist/index.js +80 -80
  117. package/dist/{inspect-Dg16DMLn.js → inspect-ISQZuNM5.js} +4 -4
  118. package/dist/{install-safe-path-CNNMzJl9.js → install-safe-path-ChNR9pl6.js} +19 -19
  119. package/dist/{installs-ST3UaUVJ.js → installs-CNubze2L.js} +9 -9
  120. package/dist/{ir-DV0Hszc8.js → ir-VncGpwA1.js} +6 -6
  121. package/dist/{lifecycle-core-DOScNyOv.js → lifecycle-core-B6UoqYTJ.js} +5 -5
  122. package/dist/llm-slug-generator.js +7 -7
  123. package/dist/{local-roots-Cco87A2_.js → local-roots-q0xbefkf.js} +2 -2
  124. package/dist/{login-Dl_lsEHS.js → login-CfUhrgWT.js} +4 -4
  125. package/dist/{login-qr-B68cBRH0.js → login-qr-DBMsUxgL.js} +7 -7
  126. package/dist/{logs-cli-BluGGq03.js → logs-cli-4VQ9Iwiw.js} +8 -8
  127. package/dist/{logs-cli-BN5TN6bg.js → logs-cli-u0WmYxx7.js} +3 -3
  128. package/dist/{manager-BBeTPO2h.js → manager-BMAFgXyU.js} +13 -13
  129. package/dist/{manifest-registry-RfRn8HJx.js → manifest-registry-Bak1x76G.js} +1 -1
  130. package/dist/{markdown-tables-C5hTDqNm.js → markdown-tables-DZClqsNo.js} +1 -1
  131. package/dist/{memory-cli-4wfelGdK.js → memory-cli-CUGwnVIY.js} +12 -12
  132. package/dist/{model-Bd-05WpB.js → model-C-icShH2.js} +2 -2
  133. package/dist/{model-catalog-BCsDrrvq.js → model-catalog-D9no0CH2.js} +3 -3
  134. package/dist/{model-picker-D3U0wJCO.js → model-picker-BkXoTOiA.js} +4 -4
  135. package/dist/{model-selection-CSn9tUuH.js → model-selection-0dGxYGp8.js} +16 -16
  136. package/dist/{models-cli-ChStpcQY.js → models-cli-CMwszgSD.js} +79 -79
  137. package/dist/{models-cli-dd-wJvj0.js → models-cli-DVAyIZ63.js} +7 -7
  138. package/dist/{models-config-lQpqp472.js → models-config-C5A1wDWh.js} +6 -6
  139. package/dist/{models-mQeB9JXZ.js → models-tZYpgts_.js} +3 -3
  140. package/dist/{node-cli-DhD8-NHR.js → node-cli-BYzjxmUY.js} +32 -32
  141. package/dist/{node-cli-BiQaHamJ.js → node-cli-CgeiQGbv.js} +1 -1
  142. package/dist/{node-service-GpI0jzKr.js → node-service-C3vyxHLA.js} +1 -1
  143. package/dist/{nodes-cli-tVCIBdL1.js → nodes-cli-DaE0WsOH.js} +3 -3
  144. package/dist/{nodes-cli-DPzxQ0mY.js → nodes-cli-kNOtp0U0.js} +14 -14
  145. package/dist/{nodes-screen-CIAn0wXq.js → nodes-screen-CcpPaFxa.js} +4 -4
  146. package/dist/{npm-registry-spec-BfeHLbIQ.js → npm-registry-spec-BCbbfIhX.js} +16 -16
  147. package/dist/{npm-resolution-WKW4cIrd.js → npm-resolution-By6bZkA-.js} +1 -1
  148. package/dist/{npm-resolution-tT1BUac2.js → npm-resolution-DLSA4PTO.js} +3 -3
  149. package/dist/{onboard-D1wKkHHC.js → onboard-B6eOxpDM.js} +3 -3
  150. package/dist/{onboard-rze7pzoW.js → onboard-CbXlbAx2.js} +6 -6
  151. package/dist/{onboard-channels-CRHp5hA-.js → onboard-channels-BISq46-i.js} +20 -20
  152. package/dist/{onboard-channels-CG1R8Ozs.js → onboard-channels-JPltbNGL.js} +2 -2
  153. package/dist/{onboard-custom-D2sCP3_S.js → onboard-custom-DUbzMMu7.js} +4 -4
  154. package/dist/{onboard-helpers-Dp6wXNs7.js → onboard-helpers-DWivfzcc.js} +1 -1
  155. package/dist/{onboard-helpers-ByhJg2ST.js → onboard-helpers-mzy38DiC.js} +8 -8
  156. package/dist/{onboard-hooks-_1Jgimeu.js → onboard-hooks-D9teGxfH.js} +4 -4
  157. package/dist/{onboard-remote-1ZZd5lcX.js → onboard-remote-BMo2C9Ae.js} +1 -1
  158. package/dist/{onboard-remote-DuhWSiAO.js → onboard-remote-LCBHijVE.js} +1 -1
  159. package/dist/{onboard-skills-BD_AS1Iy.js → onboard-skills-BrqATIYg.js} +1 -1
  160. package/dist/{onboard-skills-vFwEasAg.js → onboard-skills-jFY9gaOu.js} +4 -4
  161. package/dist/{onboarding-BxvY_aEE.js → onboarding-Da3n7Rvs.js} +13 -13
  162. package/dist/{onboarding-BgHfZNln.js → onboarding-DikyMlYG.js} +7 -7
  163. package/dist/{onboarding.finalize-DnCFQEPR.js → onboarding.finalize-Bp2ufMd0.js} +82 -82
  164. package/dist/{onboarding.finalize-5_UCPMAw.js → onboarding.finalize-CwYx5n3Z.js} +11 -11
  165. package/dist/{onboarding.gateway-config-qVAY6x7I.js → onboarding.gateway-config-Btu2gzgr.js} +16 -16
  166. package/dist/{onboarding.gateway-config-Czn7jKsq.js → onboarding.gateway-config-w3C9Yj3B.js} +3 -3
  167. package/dist/{openai-model-default-OPCCNNS0.js → openai-model-default-7J6cw1rA.js} +2 -2
  168. package/dist/{outbound-CG19kl0w.js → outbound-DPTxwchq.js} +4 -4
  169. package/dist/{plugin-sdk/outbound-attachment-Bs7fNaqv.js → outbound-attachment-Bot3bRnK.js} +2 -2
  170. package/dist/{pairing-cli-QJYYDcIK.js → pairing-cli-jwx6hMsM.js} +10 -10
  171. package/dist/{pairing-labels-DuZ7ih-T.js → pairing-labels-ChQJzbS9.js} +1 -1
  172. package/dist/{pairing-store-qvpPoWL_.js → pairing-store-CPpEEQJO.js} +2 -2
  173. package/dist/{pairing-token-3hoCgQqp.js → pairing-token-lKXTMQ_M.js} +7 -7
  174. package/dist/{path-alias-guards-BCskHdfJ.js → path-alias-guards-FXBVVTLw.js} +3 -3
  175. package/dist/{path-safety-C1Y004P_.js → path-safety-DwibX65n.js} +1 -1
  176. package/dist/{paths-Bt0fZexW.js → paths-B-CLQ5RT.js} +9 -9
  177. package/dist/{pi-embedded-BcmA23Ak.js → pi-embedded-Bc4KWuTe.js} +13 -12
  178. package/dist/{pi-embedded-D_8x2ll-.js → pi-embedded-BeyOxL6U.js} +28 -27
  179. package/dist/{pi-embedded-helpers-BkzrQ5bZ.js → pi-embedded-helpers-BCsfqpDt.js} +6 -6
  180. package/dist/{pi-embedded-helpers-CghCLoPo.js → pi-embedded-helpers-CyTpDKo5.js} +4 -4
  181. package/dist/{pi-model-discovery-Bt79ifyi.js → pi-model-discovery-BIP3RjXl.js} +1 -1
  182. package/dist/{pi-tools.policy-B_ME3yF6.js → pi-tools.policy-DfITIKZj.js} +5 -5
  183. package/dist/{plugin-auto-enable-BMuSi4aV.js → plugin-auto-enable-7DUxMy6A.js} +3 -3
  184. package/dist/{plugin-registry-CncOKeD3.js → plugin-registry-BY85d-vE.js} +1 -1
  185. package/dist/{plugin-registry-C3IHwz9i.js → plugin-registry-DROWinG6.js} +3 -3
  186. package/dist/plugin-sdk/{accounts-Kt6ygPsC.js → accounts-BLYMokxV.js} +2 -2
  187. package/dist/plugin-sdk/{accounts-mjFAny5F.js → accounts-C5tHm1UI.js} +1 -1
  188. package/dist/plugin-sdk/{accounts-B9nfRzyn.js → accounts-CBVAw5_G.js} +1 -1
  189. package/dist/plugin-sdk/{agent-scope-CU41EMlR.js → agent-scope-jl80I5G9.js} +2 -2
  190. package/dist/plugin-sdk/{agent-via-gateway-CDKZ0Jk9.js → agent-via-gateway-CXtWg-qx.js} +56 -55
  191. package/dist/plugin-sdk/{anton-Bp5L7uaN.js → anton-CGYTy9vy.js} +50 -13
  192. package/dist/plugin-sdk/{api-key-rotation-CZhCWd61.js → api-key-rotation-D6nK54XH.js} +2 -2
  193. package/dist/plugin-sdk/{audio-preflight-CRgDehfO.js → audio-preflight-CKqqN8ty.js} +30 -30
  194. package/dist/plugin-sdk/{auth-store-DycBvVqL.js → auth-store-DaPWgQTx.js} +1 -1
  195. package/dist/plugin-sdk/{bindings-BDKKHGv-.js → bindings-xXgmJGxj.js} +2 -2
  196. package/dist/plugin-sdk/{channel-activity-TcS_VfJk.js → channel-activity-loOg1DRw.js} +3 -3
  197. package/dist/plugin-sdk/{channel-web-DcgShj6y.js → channel-web-EFRSObCG.js} +24 -24
  198. package/dist/plugin-sdk/{chrome-BCTizrZD.js → chrome-Cb9FgiCI.js} +6 -6
  199. package/dist/plugin-sdk/{chunk-DZr5xuqv.js → chunk-PW4MBmaN.js} +1 -1
  200. package/dist/plugin-sdk/commands/agent/types.d.ts +1 -0
  201. package/dist/plugin-sdk/commands/agent-via-gateway.d.ts +1 -0
  202. package/dist/plugin-sdk/{commands-registry-BqJLwZYh.js → commands-registry-B5m2EsHz.js} +5 -5
  203. package/dist/plugin-sdk/{config-BzPMtEKA.js → config-CEgzwk0J.js} +10 -10
  204. package/dist/plugin-sdk/{deliver-Cfc1UCre.js → deliver-BNfMF0Nb.js} +10 -10
  205. package/dist/plugin-sdk/{deps-B5eQTF_d.js → deps-qZxPlSgp.js} +6 -6
  206. package/dist/plugin-sdk/{diagnostic-B8VzcqLf.js → diagnostic-ByA6zvzu.js} +1 -1
  207. package/dist/plugin-sdk/{dock-CMURqoee.js → dock-DKQYtT6-.js} +6 -6
  208. package/dist/plugin-sdk/{emergency-stop-DQppo4RU.js → emergency-stop-CxcBz-aQ.js} +55 -55
  209. package/dist/plugin-sdk/{env-qurSiOO2.js → env-5XecRTLs.js} +1 -1
  210. package/dist/plugin-sdk/{errors-UqLewZJL.js → errors-CMcD8Lhh.js} +1 -1
  211. package/dist/plugin-sdk/{fetch-guard-C174s8ZV.js → fetch-guard-DwdUEdmT.js} +1 -1
  212. package/dist/plugin-sdk/{fs-safe-CCXTOK7j.js → fs-safe-qsx2_8-o.js} +2 -2
  213. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +1 -0
  214. package/dist/plugin-sdk/{image-DDuK8tyO.js → image-C_1tftC8.js} +6 -6
  215. package/dist/{image-ops-BkoEFRYH.js → plugin-sdk/image-ops-CXSUo-AM.js} +12 -12
  216. package/dist/plugin-sdk/index.js +60 -60
  217. package/dist/plugin-sdk/{ir-Bv0Zbp2E.js → ir-kdDGpPMq.js} +5 -5
  218. package/dist/plugin-sdk/{local-roots-bHCsSVt_.js → local-roots-DjB6DYeI.js} +4 -4
  219. package/dist/plugin-sdk/{login-CkQrnY2G.js → login-DIwO5D5Y.js} +6 -6
  220. package/dist/plugin-sdk/{login-qr-DAeHibH_.js → login-qr-CpCAJuvT.js} +8 -8
  221. package/dist/plugin-sdk/{manager-CTC1S_c9.js → manager-Dox9r7og.js} +10 -10
  222. package/dist/plugin-sdk/{markdown-tables-DfUQHRZY.js → markdown-tables-Drtwd4J5.js} +1 -1
  223. package/dist/plugin-sdk/{message-channel-DiMXmQeQ.js → message-channel-CQ0qkGHj.js} +1 -1
  224. package/dist/plugin-sdk/{outbound-B1twcfz5.js → outbound-Dx_q6JAI.js} +6 -6
  225. package/dist/{outbound-attachment-jYdMgCml.js → plugin-sdk/outbound-attachment-BisU5Vji.js} +2 -2
  226. package/dist/plugin-sdk/{path-alias-guards-yyy61qHh.js → path-alias-guards-C_uBEYb4.js} +1 -1
  227. package/dist/plugin-sdk/{pi-embedded-helpers-BAm9cWol.js → pi-embedded-helpers-B68z4sHq.js} +16 -16
  228. package/dist/plugin-sdk/{pi-model-discovery-Bt6JtUFr.js → pi-model-discovery-Dt6899be.js} +1 -1
  229. package/dist/plugin-sdk/{plugins-DRPlVBr_.js → plugins-NTjIvHYk.js} +5 -5
  230. package/dist/plugin-sdk/{pw-ai-CY0evCZ2.js → pw-ai-Dk2PTZzq.js} +10 -10
  231. package/dist/plugin-sdk/{qmd-manager-BckPBwZX.js → qmd-manager-juzrnopq.js} +5 -5
  232. package/dist/plugin-sdk/{query-expansion-CPqK-tTR.js → query-expansion-xBXvzdkL.js} +2 -2
  233. package/dist/plugin-sdk/{redact-Ub8sMBBC.js → redact-B6VQH3UQ.js} +1 -1
  234. package/dist/plugin-sdk/{replies-DwTNZJgi.js → replies-ZovJp-3F.js} +3 -3
  235. package/dist/plugin-sdk/{reply-BtQHoQT3.js → reply-nUO1aM3T.js} +97 -96
  236. package/dist/plugin-sdk/{reply-prefix-BqV0o7_7.js → reply-prefix--mxmTL7A.js} +1 -1
  237. package/dist/plugin-sdk/{resolve-outbound-target-DAdNGEqG.js → resolve-outbound-target-CnUtsDch.js} +2 -2
  238. package/dist/plugin-sdk/{resolve-route-C5mAwY-o.js → resolve-route-BZABUE4J.js} +3 -3
  239. package/dist/plugin-sdk/{retry-2OVzZJMZ.js → retry-Bh7jveNm.js} +1 -1
  240. package/dist/plugin-sdk/{runner-Ck0w3rcz.js → runner-CZz1tOIR.js} +10 -10
  241. package/dist/plugin-sdk/{send-BBD-m-nM.js → send-0EVlThEG.js} +10 -10
  242. package/dist/plugin-sdk/{send-CaPoBwby.js → send-B26cNPqY.js} +6 -6
  243. package/dist/plugin-sdk/{send-CPeuqOlq.js → send-BCjVQhp3.js} +13 -13
  244. package/dist/plugin-sdk/{send-SsqudCMv.js → send-CHUGIZs9.js} +7 -7
  245. package/dist/plugin-sdk/{send-A4Lv5nrg.js → send-Cb5NIN8s.js} +7 -7
  246. package/dist/plugin-sdk/{session-DpL4uk1J.js → session-DdJj6_DW.js} +3 -3
  247. package/dist/plugin-sdk/{sessions-CQ5iD4Uq.js → sessions-DNx9c2O2.js} +6 -6
  248. package/dist/plugin-sdk/{skill-commands-C_O9I71g.js → skill-commands-DorIK8kn.js} +5 -5
  249. package/dist/plugin-sdk/{skills-DmiIiX4l.js → skills-Dh_Cf2PA.js} +8 -8
  250. package/dist/plugin-sdk/{store-BI3rLJdW.js → store-CCCXwngh.js} +2 -2
  251. package/dist/plugin-sdk/{subsystem-lJo9gqAK.js → subsystem-DWPzKeZ0.js} +1 -1
  252. package/dist/plugin-sdk/{tables-C4X_nAUQ.js → tables-CF9W23Rd.js} +1 -1
  253. package/dist/plugin-sdk/{target-errors-CXh6e9ZE.js → target-errors-DaH0qYtL.js} +2 -2
  254. package/dist/plugin-sdk/{tokens-CU9S3S7t.js → tokens-Y97UKh4C.js} +1 -1
  255. package/dist/plugin-sdk/{tool-images-Cf9aWlVu.js → tool-images-BMRkn_yk.js} +2 -2
  256. package/dist/plugin-sdk/{tool-loop-detection-DuwkSqZL.js → tool-loop-detection-Cv8wyfAi.js} +2 -2
  257. package/dist/plugin-sdk/{utils-dP-FpIgu.js → utils-Dyj2wV4e.js} +2 -2
  258. package/dist/plugin-sdk/web-CEtAvhaI.js +71 -0
  259. package/dist/plugin-sdk/{whatsapp-actions-Bcknq6EZ.js → whatsapp-actions-B5g-Rywy.js} +23 -23
  260. package/dist/{plugins-B4hASNc2.js → plugins-D46VZh7u.js} +2 -2
  261. package/dist/{plugins-cli-CMYlin6k.js → plugins-cli-RFXGkaxP.js} +6 -6
  262. package/dist/{plugins-cli-BMptU-1l.js → plugins-cli-b_o3IL7x.js} +80 -80
  263. package/dist/{ports-B07M55Gr.js → ports-B2o0FSFD.js} +1 -1
  264. package/dist/{ports-DWJO5S52.js → ports-SQy1d-RL.js} +2 -2
  265. package/dist/{program-context-BxflGz_G.js → program-context-D6irLwPo.js} +43 -43
  266. package/dist/{program-DyMaBEqF.js → program-vH6RTUOw.js} +11 -11
  267. package/dist/{prompt-select-styled-CI3hobey.js → prompt-select-styled-CDoDFWo7.js} +37 -37
  268. package/dist/{prompt-select-styled-es3PJxfH.js → prompt-select-styled-DFVvU0TH.js} +6 -6
  269. package/dist/{provider-auth-helpers-CrGScfnN.js → provider-auth-helpers-BCc5UtUa.js} +1 -1
  270. package/dist/{provider-auth-helpers-DYxaYmlq.js → provider-auth-helpers-CNRz0SFC.js} +5 -5
  271. package/dist/{push-apns-BNxgGXQy.js → push-apns-CHmvuoMu.js} +1 -1
  272. package/dist/{push-apns-CjAXPy2N.js → push-apns-e2xmxGGE.js} +5 -5
  273. package/dist/{pw-ai-BGALvhDi.js → pw-ai-7i9eGnLh.js} +11 -11
  274. package/dist/{pw-ai-CfYaR1K2.js → pw-ai-CowTfhOG.js} +1 -1
  275. package/dist/{qmd-manager-CVcPfkhL.js → qmd-manager-B-qeywfQ.js} +19 -19
  276. package/dist/{qr-cli-D2Oh8f0U.js → qr-cli-CSt5ihwG.js} +1 -1
  277. package/dist/{query-expansion-i5I3yavb.js → query-expansion-Clts_AGz.js} +12 -12
  278. package/dist/{redact-snapshot-CtIVs92s.js → redact-snapshot-BBNDQZIe.js} +1 -1
  279. package/dist/{register.agent-B9f0mtlc.js → register.agent-Dx7ULz49.js} +12 -12
  280. package/dist/{register.agent-DrVFgVpf.js → register.agent-HWcFMr6h.js} +95 -95
  281. package/dist/{register.configure-DAlBU97I.js → register.configure-BctHAiWh.js} +13 -13
  282. package/dist/register.configure-k8gocsJw.js +168 -0
  283. package/dist/{register.maintenance-BThQUyMI.js → register.maintenance-BYiX9iOa.js} +12 -12
  284. package/dist/{register.maintenance-G_dZOyQA.js → register.maintenance-C6o2WuQx.js} +90 -90
  285. package/dist/{register.message-DKaxesxx.js → register.message-BLScF2fV.js} +6 -6
  286. package/dist/{register.message-BVTuvjQA.js → register.message-BewFLd-k.js} +71 -71
  287. package/dist/{register.onboard-CwtL9YYR.js → register.onboard-BVm-2XAx.js} +5 -5
  288. package/dist/{register.onboard-CnoQ56yq.js → register.onboard-a0kqiCTa.js} +18 -18
  289. package/dist/{register.orchestrator-anton-2LtPHPXM.js → register.orchestrator-anton-BYyjV8R-.js} +17 -16
  290. package/dist/{register.orchestrator-anton-Ce55Lxt0.js → register.orchestrator-anton-Tn_RaMLq.js} +5 -4
  291. package/dist/{register.setup-Dg5LmRxd.js → register.setup-BJ0WBUpt.js} +5 -5
  292. package/dist/{register.setup-_s2CQaBF.js → register.setup-BwPJaqpH.js} +21 -21
  293. package/dist/{register.status-health-sessions-iSQzPXD0.js → register.status-health-sessions-Clzt8hbv.js} +82 -82
  294. package/dist/{register.status-health-sessions-DX2OgAeG.js → register.status-health-sessions-wbopjGL-.js} +8 -8
  295. package/dist/{register.subclis-YeKuHCRg.js → register.subclis-CrcOefJY.js} +21 -21
  296. package/dist/{replies-Czp4hvpS.js → replies-hSFVxL4h.js} +1 -1
  297. package/dist/{reply-DKIv9jez.js → reply-D5gCiiGr.js} +154 -154
  298. package/dist/{reply-prefix-BMEdvSpA.js → reply-prefix-C3y4zpTl.js} +1 -1
  299. package/dist/{resolve-route-Ef_Yt2Dw.js → resolve-route-D_AbcmD6.js} +2 -2
  300. package/dist/{rpc-DDTp_J6f.js → rpc-Cf9OK5Yk.js} +1 -1
  301. package/dist/{rpc-CasD0keJ.js → rpc-DVTovtI3.js} +1 -1
  302. package/dist/{run-main-BwWO5erE.js → run-main-BCX3UZMR.js} +18 -18
  303. package/dist/{runner-PgRFPYUj.js → runner-BzNdfqDz.js} +1 -1
  304. package/dist/{runner-BFG54hnb.js → runner-DzszLzI4.js} +20 -20
  305. package/dist/{runtime-DEmy759r.js → runtime-XmXLaHNk.js} +2 -2
  306. package/dist/{sandbox-CfPbhDY_.js → sandbox-DcUw5h3p.js} +20 -20
  307. package/dist/{sandbox-cli-B4wLJr21.js → sandbox-cli-DGvJ7Eeq.js} +22 -22
  308. package/dist/{secrets-cli-Bx9bIigZ.js → secrets-cli-C4UBK_LV.js} +3 -3
  309. package/dist/{secrets-cli-CidAOBfl.js → secrets-cli-CR3h2TBy.js} +9 -9
  310. package/dist/{security-cli-Ch7AhbhS.js → security-cli-B9_LV2po.js} +39 -39
  311. package/dist/{security-cli-e1WjvhRm.js → security-cli-an5u-5Jb.js} +3 -3
  312. package/dist/{send-DDMaLJAQ.js → send--lzpNy4f.js} +7 -7
  313. package/dist/{send-BCPkAE2k.js → send-C4v0Leny.js} +6 -6
  314. package/dist/{send-CEavqqEz.js → send-DQiw_nGD.js} +6 -6
  315. package/dist/{send-BPwTl4-K.js → send-DuwdEkLw.js} +4 -4
  316. package/dist/{send-CVIXqubC.js → send-DwdHiC7_.js} +13 -13
  317. package/dist/{server-BpSbZAwg.js → server-D6MltJIF.js} +14 -14
  318. package/dist/{server-context-BxNSTpH6.js → server-context-DI0W_H7R.js} +10 -10
  319. package/dist/{server-lifecycle-CGKrGrhM.js → server-lifecycle-B5PlrlbG.js} +2 -2
  320. package/dist/{server-node-events-lbb8M18B.js → server-node-events-CbVkqOtV.js} +6 -6
  321. package/dist/{server-node-events-CZ5OkouD.js → server-node-events-DvStFPGi.js} +71 -71
  322. package/dist/{service-Bj2oSfpw.js → service-C8NMS3m_.js} +15 -15
  323. package/dist/{session-BKVySI8q.js → session-CdnrRhb4.js} +1 -1
  324. package/dist/{sessions-BqWocozB.js → sessions-BtPXimXQ.js} +14 -14
  325. package/dist/{shared-DnQ4iyXk.js → shared-CpDPo3hJ.js} +2 -2
  326. package/dist/{shared-Jzrx8DfN.js → shared-DpLSpJIl.js} +1 -1
  327. package/dist/{skill-commands-BwIRWSCI.js → skill-commands-BFzmZAfo.js} +5 -5
  328. package/dist/{skill-scanner-B4Ftsbd2.js → skill-scanner-D7mzXRXd.js} +5 -5
  329. package/dist/{skills-TIyQDZx7.js → skills-DlvDyK8L.js} +3 -3
  330. package/dist/{skills-cli-5lbXi4Lh.js → skills-cli-BhKGhjbO.js} +5 -5
  331. package/dist/{skills-install-D0JHP5uM.js → skills-install-tr6wRWZj.js} +4 -4
  332. package/dist/{skills-status-Q9skQExW.js → skills-status-qjQ8XP0h.js} +1 -1
  333. package/dist/{status-Bd9NYE1U.js → status-CWnPokQF.js} +24 -24
  334. package/dist/{status-BE1Y0CKS.js → status-ClMOrHdT.js} +5 -5
  335. package/dist/{status.update-C3uRz7W6.js → status.update-CTi6vuWj.js} +2 -2
  336. package/dist/{store-CLNuI8-G.js → store-kH9wHHbO.js} +5 -5
  337. package/dist/{subagent-registry-CTZmDdGV.js → subagent-registry-BH5O1rxK.js} +15 -15
  338. package/dist/{system-cli-CHiaS_zS.js → system-cli-Dd-gBN0t.js} +3 -3
  339. package/dist/{system-cli-DBp9Zmvt.js → system-cli-DyVZ5udc.js} +8 -8
  340. package/dist/{system-run-approval-context-xZVoE4nS.js → system-run-approval-context-CISBXlNw.js} +1 -1
  341. package/dist/{system-run-command-BIhrK3OI.js → system-run-command-qJdgzxLp.js} +1 -1
  342. package/dist/{systemd-DyrVLTI0.js → systemd-CaCR5CyM.js} +9 -9
  343. package/dist/{systemd-hints-BoKKzRI_.js → systemd-hints-DHu-HVFx.js} +6 -6
  344. package/dist/{systemd-linger-DrhGd61G.js → systemd-linger-B7XlUHk_.js} +1 -1
  345. package/dist/{tables-CZSD889r.js → tables-g9xkflht.js} +1 -1
  346. package/dist/{target-errors-BYuWhuLU.js → target-errors-bLIVFsbF.js} +4 -4
  347. package/dist/{tool-images-DZHrc4pq.js → tool-images-CHqepyF_.js} +1 -1
  348. package/dist/{tui-BPgLehyv.js → tui-2u2ZDhHV.js} +2 -2
  349. package/dist/{tui-DWGHGeZ3.js → tui-Bne3YNiw.js} +6 -6
  350. package/dist/{tui-cli-9z2Sm8Qg.js → tui-cli-BWnIeq57.js} +3 -3
  351. package/dist/{tui-cli-DKyA5pZ2.js → tui-cli-D0Z-rcUe.js} +30 -30
  352. package/dist/{update-la2AdLf3.js → update-D79ppbMQ.js} +3 -3
  353. package/dist/{update-cli-DvUx2El6.js → update-cli-BTNcddEX.js} +99 -99
  354. package/dist/{update-cli-D-4_OhRR.js → update-cli-CxZD0ekr.js} +13 -13
  355. package/dist/{update-runner-n2snlf-4.js → update-runner-CN7Dm9tg.js} +15 -15
  356. package/dist/{update-runner-BvaywdEe.js → update-runner-tu2Aiphu.js} +1 -1
  357. package/dist/{upgrade-command-28wRHZZ2.js → upgrade-command-909a7QUc.js} +3 -3
  358. package/dist/web-BV-BEZj6.js +123 -0
  359. package/dist/{web-Dbrx58hF.js → web-Csmkqx1W.js} +8 -8
  360. package/dist/{web-BjP-D0Iz.js → web-DiqHxfw7.js} +3 -3
  361. package/dist/{web-BedV4zGE.js → web-aRaB-CvF.js} +6 -6
  362. package/dist/{webhooks-cli-BnmVPYkU.js → webhooks-cli-2N03q0iY.js} +6 -6
  363. package/dist/{whatsapp-actions-D2mBFzmK.js → whatsapp-actions-Cms8wQM1.js} +18 -18
  364. package/dist/{with-timeout-BodPmGCY.js → with-timeout-DEdycYxq.js} +3 -3
  365. package/dist/{workspace-CDw87aZG.js → workspace-D3pARwoB.js} +1 -1
  366. package/dist/{workspace-dirs-D3bousoX.js → workspace-dirs-SsExQ3Bz.js} +1 -1
  367. package/dist/{wsl-CgXDjE09.js → wsl-BJW8nTyL.js} +2 -2
  368. package/extensions/acpx/package.json +1 -1
  369. package/extensions/bluebubbles/package.json +1 -1
  370. package/extensions/copilot-proxy/package.json +1 -1
  371. package/extensions/diagnostics-otel/package.json +1 -1
  372. package/extensions/discord/package.json +1 -1
  373. package/extensions/feishu/package.json +1 -1
  374. package/extensions/google-gemini-cli-auth/package.json +1 -1
  375. package/extensions/googlechat/package.json +1 -1
  376. package/extensions/hand/package.json +1 -1
  377. package/extensions/imessage/package.json +1 -1
  378. package/extensions/irc/package.json +1 -1
  379. package/extensions/line/package.json +1 -1
  380. package/extensions/llm-task/package.json +1 -1
  381. package/extensions/matrix/CHANGELOG.md +12 -0
  382. package/extensions/matrix/package.json +1 -1
  383. package/extensions/mattermost/package.json +1 -1
  384. package/extensions/memory-core/package.json +1 -1
  385. package/extensions/memory-lancedb/package.json +1 -1
  386. package/extensions/minimax-portal-auth/package.json +1 -1
  387. package/extensions/msteams/CHANGELOG.md +12 -0
  388. package/extensions/msteams/package.json +1 -1
  389. package/extensions/nextcloud-talk/package.json +1 -1
  390. package/extensions/nostr/CHANGELOG.md +12 -0
  391. package/extensions/nostr/package.json +1 -1
  392. package/extensions/open-prose/package.json +1 -1
  393. package/extensions/signal/package.json +1 -1
  394. package/extensions/slack/package.json +1 -1
  395. package/extensions/synology-chat/package.json +1 -1
  396. package/extensions/telegram/package.json +1 -1
  397. package/extensions/tlon/package.json +1 -1
  398. package/extensions/twitch/CHANGELOG.md +12 -0
  399. package/extensions/twitch/package.json +1 -1
  400. package/extensions/voice-call/CHANGELOG.md +12 -0
  401. package/extensions/voice-call/package.json +1 -1
  402. package/extensions/whatsapp/package.json +1 -1
  403. package/extensions/zalo/CHANGELOG.md +12 -0
  404. package/extensions/zalo/package.json +1 -1
  405. package/extensions/zalouser/CHANGELOG.md +12 -0
  406. package/extensions/zalouser/package.json +1 -1
  407. package/package.json +1 -1
  408. package/dist/anton-DYEYyPJ1.js +0 -740
  409. package/dist/plugin-sdk/web-Cg6vlkku.js +0 -71
  410. package/dist/register.configure-BxZRBEJ9.js +0 -168
  411. package/dist/web-CDFWB79W.js +0 -123
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  Docs: https://docs.idlehands.ai
4
4
 
5
+ ## 4.0.19
6
+
7
+ ### Fixes
8
+
9
+ - Anton workspace propagation (hard fix): gateway `agent` calls now forward `workspaceDir` through to `agentCommand`, and `agentCommand` now honors per-call `workspaceDir` before falling back to session/default workspace.
10
+ - Anton CLI debugging support: `idlehands anton run` now supports `--workspace <dir>` so Anton preflight can be validated directly against a target workspace.
11
+
12
+ ## 4.0.18
13
+
14
+ ### Fixes
15
+
16
+ - Anton workspace propagation: spawned discovery/repair/implementation agents now pass `workspaceDir` through gateway invocation, so preflight and implementation run in the active target workspace instead of silently falling back to the default workspace.
17
+ - Anton preflight integrity: reject unverified `status=complete` discovery claims (no auto-complete from discovery), requiring verifiable plan artifacts.
18
+ - Anton completion guard hardening: repository-change validation now ignores Anton bookkeeping files (`TASKS*.md` task-list state and `.agents/tasks/*`) so bookkeeping edits cannot falsely count as implementation success.
19
+
5
20
  ## 4.0.17
6
21
 
7
22
  ### Fixes
@@ -1,6 +1,6 @@
1
1
  import { h as normalizeAccountId } from "./session-key-Cuihcz_O.js";
2
2
  import { t as resolveAccountEntry } from "./account-lookup-BtMY6XyP.js";
3
- import { o as createAccountListHelpers } from "./accounts-D-hQsUw-.js";
3
+ import { o as createAccountListHelpers } from "./accounts-DLTODa_Z.js";
4
4
 
5
5
  //#region src/imessage/accounts.ts
6
6
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
@@ -2,7 +2,7 @@ import { m as resolveOAuthDir } from "./paths-Cn44w-EB.js";
2
2
  import { y as resolveUserPath } from "./utils-CXzXXV2o.js";
3
3
  import { h as normalizeAccountId, m as DEFAULT_ACCOUNT_ID } from "./session-key-Cuihcz_O.js";
4
4
  import { t as resolveAccountEntry } from "./account-lookup-BtMY6XyP.js";
5
- import { r as hasWebCredsSync } from "./auth-store-CMyrmmSF.js";
5
+ import { r as hasWebCredsSync } from "./auth-store-DDzIMy8_.js";
6
6
  import fs from "node:fs";
7
7
  import path from "node:path";
8
8
 
@@ -1,6 +1,6 @@
1
1
  import { h as normalizeAccountId } from "./session-key-Cuihcz_O.js";
2
2
  import { t as resolveAccountEntry } from "./account-lookup-BtMY6XyP.js";
3
- import { o as createAccountListHelpers } from "./accounts-D-hQsUw-.js";
3
+ import { o as createAccountListHelpers } from "./accounts-DLTODa_Z.js";
4
4
 
5
5
  //#region src/signal/accounts.ts
6
6
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -9,8 +9,8 @@ import "./host-env-security-VbAkcANc.js";
9
9
  import { r as VERSION } from "./env-vars-I4LX5XSX.js";
10
10
  import "./manifest-registry-ChP7-gzj.js";
11
11
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-Qpj4ExtQ.js";
12
- import { t as GatewayClient } from "./client-Brv1GCwX.js";
13
- import { t as buildGatewayConnectionDetails } from "./call-DuNslqj2.js";
12
+ import { t as GatewayClient } from "./client-udFMSDes.js";
13
+ import { t as buildGatewayConnectionDetails } from "./call-C82rD2Wn.js";
14
14
  import "./pairing-token-CnnKAS6M.js";
15
15
  import "./net-CE_62H5R.js";
16
16
  import "./ip-Y1214nEL.js";
@@ -1,26 +1,26 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import { B as theme, S as shortenHomePath, y as resolveUserPath } from "./utils-CXzXXV2o.js";
3
- import "./agent-scope-Bn39ugK4.js";
3
+ import "./agent-scope-RA0zXRpu.js";
4
4
  import "./subsystem-CGZX2PBV.js";
5
5
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
6
- import "./idlehands-root-DFL2GrNW.js";
6
+ import "./idlehands-root-B8cUs-5M.js";
7
7
  import "./exec-CKHMT0tZ.js";
8
- import { It as loadConfig } from "./model-selection-CSn9tUuH.js";
8
+ import { It as loadConfig } from "./model-selection-0dGxYGp8.js";
9
9
  import "./github-copilot-token-D7lpquOO.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-Bx-F45X5.js";
12
12
  import "./host-env-security-DkAVVuaw.js";
13
13
  import { r as VERSION } from "./env-vars-sTMVGyld.js";
14
- import "./manifest-registry-RfRn8HJx.js";
14
+ import "./manifest-registry-Bak1x76G.js";
15
15
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DVauVtrg.js";
16
16
  import { r as isKnownCoreToolId } from "./tool-catalog-4_Wxc542.js";
17
17
  import "./ip-DJ5wsTQn.js";
18
18
  import "./tailnet-C9lH_YnG.js";
19
19
  import "./ws-XBTtYpJc.js";
20
20
  import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DcJ9zJDt.js";
21
- import { t as GatewayClient } from "./client-DIckPnsi.js";
22
- import { t as buildGatewayConnectionDetails } from "./call-DnTBT02D.js";
23
- import "./pairing-token-3hoCgQqp.js";
21
+ import { t as GatewayClient } from "./client-DtnD-ee9.js";
22
+ import { t as buildGatewayConnectionDetails } from "./call-BpWhjuOg.js";
23
+ import "./pairing-token-lKXTMQ_M.js";
24
24
  import { t as formatDocsLink } from "./links-15764jZB.js";
25
25
  import { t as isMainModule } from "./is-main-DxnLDMqD.js";
26
26
  import { t as ensureIdleHandsCliOnPath } from "./path-env-CKSLQUS1.js";
@@ -2,13 +2,13 @@ import { g as resolveStateDir, y as resolveRequiredHomeDir } from "./paths-Cn44w
2
2
  import { h as pathExists, y as resolveUserPath } from "./utils-CXzXXV2o.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
4
4
  import { C as isSubagentSessionKey, S as isCronSessionKey, l as resolveAgentIdFromSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, w as parseAgentSessionKey } from "./session-key-Cuihcz_O.js";
5
- import { h as normalizeSkillFilter, i as openBoundaryFile, t as resolveIdleHandsPackageRoot } from "./idlehands-root-DFL2GrNW.js";
5
+ import { h as normalizeSkillFilter, i as openBoundaryFile, t as resolveIdleHandsPackageRoot } from "./idlehands-root-B8cUs-5M.js";
6
6
  import { t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import fs from "node:fs";
9
9
  import os from "node:os";
10
10
  import path from "node:path";
11
- import fsPromises from "node:fs/promises";
11
+ import fs$1 from "node:fs/promises";
12
12
 
13
13
  //#region src/config/model-input.ts
14
14
  function resolveAgentModelPrimaryValue(model) {
@@ -150,11 +150,11 @@ async function loadTemplate(name) {
150
150
  const templateDir = await resolveWorkspaceTemplateDir();
151
151
  const templatePath = path.join(templateDir, name);
152
152
  try {
153
- return stripFrontMatter(await fsPromises.readFile(templatePath, "utf-8"));
153
+ return stripFrontMatter(await fs$1.readFile(templatePath, "utf-8"));
154
154
  } catch {
155
155
  const devTemplatePath = name.endsWith(".md") ? path.join(templateDir, name.replace(/\.md$/, ".dev.md")) : "";
156
156
  if (devTemplatePath) try {
157
- return stripFrontMatter(await fsPromises.readFile(devTemplatePath, "utf-8"));
157
+ return stripFrontMatter(await fs$1.readFile(devTemplatePath, "utf-8"));
158
158
  } catch {}
159
159
  throw new Error(`Missing workspace template: ${name} (${templatePath}). Ensure docs/reference/templates are packaged.`);
160
160
  }
@@ -169,7 +169,7 @@ async function loadTemplate(name) {
169
169
  }
170
170
  async function writeFileIfMissing(filePath, content) {
171
171
  try {
172
- await fsPromises.writeFile(filePath, content, {
172
+ await fs$1.writeFile(filePath, content, {
173
173
  encoding: "utf-8",
174
174
  flag: "wx"
175
175
  });
@@ -181,7 +181,7 @@ async function writeFileIfMissing(filePath, content) {
181
181
  }
182
182
  async function fileExists(filePath) {
183
183
  try {
184
- await fsPromises.access(filePath);
184
+ await fs$1.access(filePath);
185
185
  return true;
186
186
  } catch {
187
187
  return false;
@@ -205,7 +205,7 @@ function parseWorkspaceOnboardingState(raw) {
205
205
  }
206
206
  async function readWorkspaceOnboardingState(statePath) {
207
207
  try {
208
- return parseWorkspaceOnboardingState(await fsPromises.readFile(statePath, "utf-8")) ?? { version: WORKSPACE_STATE_VERSION };
208
+ return parseWorkspaceOnboardingState(await fs$1.readFile(statePath, "utf-8")) ?? { version: WORKSPACE_STATE_VERSION };
209
209
  } catch (err) {
210
210
  if (err.code !== "ENOENT") throw err;
211
211
  return { version: WORKSPACE_STATE_VERSION };
@@ -219,20 +219,20 @@ async function isWorkspaceOnboardingCompleted(dir) {
219
219
  return typeof state.onboardingCompletedAt === "string" && state.onboardingCompletedAt.trim().length > 0;
220
220
  }
221
221
  async function writeWorkspaceOnboardingState(statePath, state) {
222
- await fsPromises.mkdir(path.dirname(statePath), { recursive: true });
222
+ await fs$1.mkdir(path.dirname(statePath), { recursive: true });
223
223
  const payload = `${JSON.stringify(state, null, 2)}\n`;
224
224
  const tmpPath = `${statePath}.tmp-${process.pid}-${Date.now().toString(36)}`;
225
225
  try {
226
- await fsPromises.writeFile(tmpPath, payload, { encoding: "utf-8" });
227
- await fsPromises.rename(tmpPath, statePath);
226
+ await fs$1.writeFile(tmpPath, payload, { encoding: "utf-8" });
227
+ await fs$1.rename(tmpPath, statePath);
228
228
  } catch (err) {
229
- await fsPromises.unlink(tmpPath).catch(() => {});
229
+ await fs$1.unlink(tmpPath).catch(() => {});
230
230
  throw err;
231
231
  }
232
232
  }
233
233
  async function hasGitRepo(dir) {
234
234
  try {
235
- await fsPromises.stat(path.join(dir, ".git"));
235
+ await fs$1.stat(path.join(dir, ".git"));
236
236
  return true;
237
237
  } catch {
238
238
  return false;
@@ -262,7 +262,7 @@ async function ensureGitRepo(dir, isBrandNewWorkspace) {
262
262
  }
263
263
  async function ensureAgentWorkspace(params) {
264
264
  const dir = resolveUserPath(params?.dir?.trim() ? params.dir.trim() : DEFAULT_AGENT_WORKSPACE_DIR);
265
- await fsPromises.mkdir(dir, { recursive: true });
265
+ await fs$1.mkdir(dir, { recursive: true });
266
266
  if (!params?.ensureBootstrapFiles) return { dir };
267
267
  const agentsPath = path.join(dir, DEFAULT_AGENTS_FILENAME);
268
268
  const soulPath = path.join(dir, DEFAULT_SOUL_FILENAME);
@@ -289,7 +289,7 @@ async function ensureAgentWorkspace(params) {
289
289
  const paths = [...templatePaths, ...userContentPaths];
290
290
  return (await Promise.all(paths.map(async (p) => {
291
291
  try {
292
- await fsPromises.access(p);
292
+ await fs$1.access(p);
293
293
  return true;
294
294
  } catch {
295
295
  return false;
@@ -322,7 +322,7 @@ async function ensureAgentWorkspace(params) {
322
322
  if (!state.bootstrapSeededAt && bootstrapExists) markState({ bootstrapSeededAt: nowIso() });
323
323
  if (!state.onboardingCompletedAt && state.bootstrapSeededAt && !bootstrapExists) markState({ onboardingCompletedAt: nowIso() });
324
324
  if (!state.bootstrapSeededAt && !state.onboardingCompletedAt && !bootstrapExists) {
325
- const [identityContent, userContent] = await Promise.all([fsPromises.readFile(identityPath, "utf-8"), fsPromises.readFile(userPath, "utf-8")]);
325
+ const [identityContent, userContent] = await Promise.all([fs$1.readFile(identityPath, "utf-8"), fs$1.readFile(userPath, "utf-8")]);
326
326
  const hasUserContent = await (async () => {
327
327
  const indicators = [
328
328
  path.join(dir, "memory"),
@@ -330,7 +330,7 @@ async function ensureAgentWorkspace(params) {
330
330
  path.join(dir, ".git")
331
331
  ];
332
332
  for (const indicator of indicators) try {
333
- await fsPromises.access(indicator);
333
+ await fs$1.access(indicator);
334
334
  return true;
335
335
  } catch {}
336
336
  return false;
@@ -361,7 +361,7 @@ async function resolveMemoryBootstrapEntries(resolvedDir) {
361
361
  for (const name of candidates) {
362
362
  const filePath = path.join(resolvedDir, name);
363
363
  try {
364
- await fsPromises.access(filePath);
364
+ await fs$1.access(filePath);
365
365
  entries.push({
366
366
  name,
367
367
  filePath
@@ -374,7 +374,7 @@ async function resolveMemoryBootstrapEntries(resolvedDir) {
374
374
  for (const entry of entries) {
375
375
  let key = entry.filePath;
376
376
  try {
377
- key = await fsPromises.realpath(entry.filePath);
377
+ key = await fs$1.realpath(entry.filePath);
378
378
  } catch {}
379
379
  if (seen.has(key)) continue;
380
380
  seen.add(key);
@@ -4,8 +4,8 @@ import { t as formatCliCommand } from "./command-format-CPa5ksO_.js";
4
4
  import { r as listAgentIds } from "./agent-scope-mLXQGQde.js";
5
5
  import { s as normalizeAgentId } from "./session-key-B9ePuoPx.js";
6
6
  import { h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES } from "./message-channel-Qpj4ExtQ.js";
7
- import { D as resolveSessionKeyForRequest, E as agentCommand } from "./subagent-registry-CTZmDdGV.js";
8
- import { a as randomIdempotencyKey, n as callGateway } from "./call-DuNslqj2.js";
7
+ import { D as resolveSessionKeyForRequest, E as agentCommand } from "./subagent-registry-BH5O1rxK.js";
8
+ import { a as randomIdempotencyKey, n as callGateway } from "./call-C82rD2Wn.js";
9
9
  import { n as withProgress } from "./progress-B76RkFx7.js";
10
10
 
11
11
  //#region src/commands/agent-via-gateway.ts
@@ -72,6 +72,7 @@ async function agentViaGatewayCommand(opts, runtime) {
72
72
  timeout: timeoutSeconds,
73
73
  lane: opts.lane,
74
74
  extraSystemPrompt: opts.extraSystemPrompt,
75
+ workspaceDir: opts.workspaceDir,
75
76
  idempotencyKey
76
77
  },
77
78
  expectFinal: true,
@@ -12,14 +12,14 @@ import "./boolean-CE7i9tBR.js";
12
12
  import "./env-B5G1qwGc.js";
13
13
  import "./dock-BgOmHcbh.js";
14
14
  import "./tokens-BRLyURxW.js";
15
- import { H as randomIdempotencyKey, V as callGateway, a as agentCommand, o as resolveSessionKeyForRequest, v as withProgress } from "./pi-embedded-D_8x2ll-.js";
15
+ import { H as randomIdempotencyKey, V as callGateway, a as agentCommand, o as resolveSessionKeyForRequest, v as withProgress } from "./pi-embedded-BeyOxL6U.js";
16
16
  import "./plugins-CRB60mCJ.js";
17
17
  import "./accounts-Dk8mJIrQ.js";
18
18
  import "./bindings-D3b5Fmc9.js";
19
19
  import "./auth-store-DXT-l7fO.js";
20
20
  import "./send-BeIZJuy4.js";
21
21
  import "./send-DmLC7aEF.js";
22
- import "./deliver-BUiQ-9fE.js";
22
+ import "./deliver-CVTXl0Cv.js";
23
23
  import "./diagnostic-4owMk4vH.js";
24
24
  import "./diagnostic-session-state-BGF2r-kt.js";
25
25
  import "./accounts-BDVs8LTu.js";
@@ -27,8 +27,8 @@ import "./send-Dfa3sn6r.js";
27
27
  import "./image-ops-D1KtygWz.js";
28
28
  import "./pi-model-discovery-Bb__OY-j.js";
29
29
  import { d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, s as normalizeMessageChannel } from "./message-channel-C8QtrwEU.js";
30
- import "./pi-embedded-helpers-CghCLoPo.js";
31
- import "./chrome-BcJB6PcM.js";
30
+ import "./pi-embedded-helpers-CyTpDKo5.js";
31
+ import "./chrome-_2tzVjVl.js";
32
32
  import "./ssrf-CZeHDwVZ.js";
33
33
  import "./frontmatter-BOudmHMS.js";
34
34
  import "./skills-CnAPWfca.js";
@@ -42,7 +42,7 @@ import "./accounts-CIvVRRHb.js";
42
42
  import "./paths-D_qUel1T.js";
43
43
  import "./tool-images-CcGZpzmq.js";
44
44
  import "./thinking-z4_linel.js";
45
- import "./image-D8b_rlQC.js";
45
+ import "./image-COw__ACq.js";
46
46
  import "./reply-prefix-BUgeSN2R.js";
47
47
  import "./manager-BE_76jWB.js";
48
48
  import "./gemini-auth-CIyaa44H.js";
@@ -57,7 +57,7 @@ import "./ir-B7IBoKLy.js";
57
57
  import "./render-MTSxc7LK.js";
58
58
  import "./commands-registry-j4vAzcF2.js";
59
59
  import "./skill-commands-Ck3flWX7.js";
60
- import "./runner-PgRFPYUj.js";
60
+ import "./runner-BzNdfqDz.js";
61
61
  import "./fetch-CsfR_943.js";
62
62
  import "./channel-activity-D_TMOGQ0.js";
63
63
  import "./tables-5k-zOZ-s.js";
@@ -67,7 +67,7 @@ import "./send-D4bMycQu.js";
67
67
  import "./resolve-route-DuttYY7A.js";
68
68
  import "./proxy-CRB9oCP5.js";
69
69
  import "./replies-6_GxvQYe.js";
70
- import "./deps-B_5kPH1Q.js";
70
+ import "./deps-BAMUVAdU.js";
71
71
 
72
72
  //#region src/commands/agent-via-gateway.ts
73
73
  const NO_GATEWAY_TIMEOUT_MS = 2147e6;
@@ -129,6 +129,7 @@ async function agentViaGatewayCommand(opts, runtime) {
129
129
  timeout: timeoutSeconds,
130
130
  lane: opts.lane,
131
131
  extraSystemPrompt: opts.extraSystemPrompt,
132
+ workspaceDir: opts.workspaceDir,
132
133
  idempotencyKey
133
134
  },
134
135
  expectFinal: true,
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Mt as resolveSessionKeyForRequest, jt as agentCommand } from "./reply-DKIv9jez.js";
3
- import { r as listAgentIds } from "./agent-scope-Bn39ugK4.js";
2
+ import { Mt as resolveSessionKeyForRequest, jt as agentCommand } from "./reply-D5gCiiGr.js";
3
+ import { r as listAgentIds } from "./agent-scope-RA0zXRpu.js";
4
4
  import { s as normalizeAgentId } from "./session-key-Cuihcz_O.js";
5
- import { It as loadConfig } from "./model-selection-CSn9tUuH.js";
5
+ import { It as loadConfig } from "./model-selection-0dGxYGp8.js";
6
6
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
7
7
  import { h as GATEWAY_CLIENT_NAMES, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES } from "./message-channel-DVauVtrg.js";
8
- import { a as randomIdempotencyKey, n as callGateway } from "./call-DnTBT02D.js";
8
+ import { a as randomIdempotencyKey, n as callGateway } from "./call-BpWhjuOg.js";
9
9
  import { n as withProgress } from "./progress-BQLz1r3L.js";
10
10
 
11
11
  //#region src/commands/agent-via-gateway.ts
@@ -72,6 +72,7 @@ async function agentViaGatewayCommand(opts, runtime) {
72
72
  timeout: timeoutSeconds,
73
73
  lane: opts.lane,
74
74
  extraSystemPrompt: opts.extraSystemPrompt,
75
+ workspaceDir: opts.workspaceDir,
75
76
  idempotencyKey
76
77
  },
77
78
  expectFinal: true,
@@ -11,7 +11,7 @@ import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
11
11
  import "./env-BpvqFD5n.js";
12
12
  import "./dock-QcCdS4qA.js";
13
13
  import "./tokens-Cg4XNE3H.js";
14
- import { H as callGateway, U as randomIdempotencyKey, a as agentCommand, o as resolveSessionKeyForRequest, v as withProgress } from "./pi-embedded-BcmA23Ak.js";
14
+ import { H as callGateway, U as randomIdempotencyKey, a as agentCommand, o as resolveSessionKeyForRequest, v as withProgress } from "./pi-embedded-Bc4KWuTe.js";
15
15
  import "./plugins-D-_jp4FO.js";
16
16
  import "./accounts-BwrguHMw.js";
17
17
  import "./bindings-hT7SPhiA.js";
@@ -64,7 +64,7 @@ import "./send-Cn2wvd3W.js";
64
64
  import "./resolve-route-BI3VjtwE.js";
65
65
  import "./proxy-CNZpb4NE.js";
66
66
  import "./replies-CqYEEgmA.js";
67
- import "./deps-PAzfFs3Q.js";
67
+ import "./deps-BbipxGPW.js";
68
68
 
69
69
  //#region src/commands/agent-via-gateway.ts
70
70
  const NO_GATEWAY_TIMEOUT_MS = 2147e6;
@@ -126,6 +126,7 @@ async function agentViaGatewayCommand(opts, runtime) {
126
126
  timeout: timeoutSeconds,
127
127
  lane: opts.lane,
128
128
  extraSystemPrompt: opts.extraSystemPrompt,
129
+ workspaceDir: opts.workspaceDir,
129
130
  idempotencyKey
130
131
  },
131
132
  expectFinal: true,
@@ -6,18 +6,18 @@ import { t as formatCliCommand } from "./command-format-CPa5ksO_.js";
6
6
  import { a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-mLXQGQde.js";
7
7
  import { m as DEFAULT_ACCOUNT_ID, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-B9ePuoPx.js";
8
8
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CCrfZ49T.js";
9
- import { M as identityHasValues, P as parseIdentityMarkdown } from "./subagent-registry-CTZmDdGV.js";
9
+ import { M as identityHasValues, P as parseIdentityMarkdown } from "./subagent-registry-BH5O1rxK.js";
10
10
  import { l as resolveSessionTranscriptsDirForAgent } from "./paths-CC17i2eK.js";
11
- import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-Dp6wXNs7.js";
11
+ import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-DWivfzcc.js";
12
12
  import { t as WizardCancelledError } from "./prompts-D3HHe1ZZ.js";
13
13
  import { t as createClackPrompter } from "./clack-prompter-Bo7vS5xP.js";
14
14
  import { t as resolveChannelDefaultAccountId } from "./helpers-CIyuenBU.js";
15
15
  import { a as parseBindingSpecs, i as describeBinding, n as applyAgentBindings, o as removeAgentBindings, r as buildChannelBindings, t as requireValidConfigSnapshot } from "./config-validation-BgKexeQb.js";
16
- import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-ADCeu0yD.js";
17
- import { r as setupChannels } from "./onboard-channels-CG1R8Ozs.js";
16
+ import { a as pruneAgentConfig, i as loadAgentIdentity, n as buildAgentSummaries, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-D2EbQiOx.js";
17
+ import { r as setupChannels } from "./onboard-channels-JPltbNGL.js";
18
18
  import { n as logConfigUpdated } from "./logging-MF6Thoxk.js";
19
19
  import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-kycZqH8q.js";
20
- import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-01ELTnLA.js";
20
+ import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-DVoPuwEs.js";
21
21
  import path from "node:path";
22
22
  import fs from "node:fs/promises";
23
23
 
@@ -1,5 +1,5 @@
1
- import { en as identityHasValues, tn as loadAgentIdentityFromWorkspace } from "./reply-DKIv9jez.js";
2
- import { a as resolveAgentDir, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
1
+ import { en as identityHasValues, tn as loadAgentIdentityFromWorkspace } from "./reply-D5gCiiGr.js";
2
+ import { a as resolveAgentDir, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
3
3
  import { s as normalizeAgentId } from "./session-key-Cuihcz_O.js";
4
4
 
5
5
  //#region src/commands/agents.config.ts
@@ -1,6 +1,6 @@
1
1
  import { a as resolveAgentDir, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-mLXQGQde.js";
2
2
  import { s as normalizeAgentId } from "./session-key-B9ePuoPx.js";
3
- import { M as identityHasValues, N as loadAgentIdentityFromWorkspace } from "./subagent-registry-CTZmDdGV.js";
3
+ import { M as identityHasValues, N as loadAgentIdentityFromWorkspace } from "./subagent-registry-BH5O1rxK.js";
4
4
 
5
5
  //#region src/commands/agents.config.ts
6
6
  function findAgentEntryIndex(list, agentId) {
@@ -225,7 +225,7 @@ async function loadAntonConfig() {
225
225
  }
226
226
  }
227
227
  async function runAgentTask(args) {
228
- const { agentCliCommand } = await import("./agent-via-gateway-BVY7w5-N.js").then((n) => n.n);
228
+ const { agentCliCommand } = await import("./agent-via-gateway-B03q92bw.js").then((n) => n.n);
229
229
  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;
230
230
  const result = await agentCliCommand({
231
231
  message: args.message,
@@ -235,7 +235,8 @@ async function runAgentTask(args) {
235
235
  timeout: args.timeout,
236
236
  json: true,
237
237
  deliver: false,
238
- extraSystemPrompt
238
+ extraSystemPrompt,
239
+ workspaceDir: args.workspaceDir
239
240
  }, args.runtime, args.deps);
240
241
  return { text: (result && typeof result === "object" && "result" in result ? result.result?.payloads ?? [] : []).map((p) => typeof p?.text === "string" ? p.text.trim() : "").filter(Boolean).join("\n\n").trim() };
241
242
  }
@@ -271,10 +272,18 @@ async function isPlanFileValid(filePath) {
271
272
  return false;
272
273
  }
273
274
  }
274
- async function getGitChangedFileCount(cwd) {
275
+ async function getGitChangedFileCount(cwd, ignorePaths = []) {
275
276
  try {
276
277
  const { stdout } = await execFile$1("git", ["status", "--porcelain"], { cwd });
277
- return stdout.split(/\r?\n/).map((line) => line.trim()).filter(Boolean).length;
278
+ const ignores = ignorePaths.map((p) => p.replace(/\\/g, "/").replace(/^\.\//, "")).filter(Boolean);
279
+ return stdout.split(/\r?\n/).map((line) => line.trimEnd()).filter(Boolean).map((line) => {
280
+ const raw = line.slice(3).trim();
281
+ return (raw.includes(" -> ") ? raw.split(" -> ").at(-1) ?? raw : raw).replace(/\\/g, "/").replace(/^\.\//, "");
282
+ }).filter((file) => {
283
+ if (!file) return false;
284
+ if (file.startsWith(".agents/tasks/")) return false;
285
+ return !ignores.some((ignore) => file === ignore || file.startsWith(`${ignore}/`));
286
+ }).length;
278
287
  } catch {
279
288
  return null;
280
289
  }
@@ -366,9 +375,21 @@ async function runDiscoveryPhase(args) {
366
375
  workspaceDir: args.workspaceDir
367
376
  });
368
377
  const firstParsed = extractJsonObject(firstPass.text);
369
- if ((firstParsed?.status ?? "").toLowerCase() === "complete") return { status: "complete" };
370
378
  const declaredPlanFile = normalizeDiscoveryFilename(firstParsed?.filename, planFile);
371
- if (await isPlanFileValid(declaredPlanFile)) {
379
+ if (await isPlanFileValid(planFile)) {
380
+ await args.notify({
381
+ phase: "discovery_complete",
382
+ index: args.taskNum,
383
+ total: args.total,
384
+ task: args.task.text,
385
+ planFile
386
+ });
387
+ return {
388
+ status: "plan_ready",
389
+ planFile
390
+ };
391
+ }
392
+ if (declaredPlanFile !== planFile && await isPlanFileValid(declaredPlanFile)) {
372
393
  await args.notify({
373
394
  phase: "discovery_complete",
374
395
  index: args.taskNum,
@@ -417,7 +438,19 @@ async function runDiscoveryPhase(args) {
417
438
  workspaceDir: args.workspaceDir
418
439
  });
419
440
  const repairParsed = extractJsonObject(repairPass.text);
420
- if ((repairParsed?.status ?? "").toLowerCase() === "complete") return { status: "complete" };
441
+ if (await isPlanFileValid(declaredPlanFile)) {
442
+ await args.notify({
443
+ phase: "discovery_complete",
444
+ index: args.taskNum,
445
+ total: args.total,
446
+ task: args.task.text,
447
+ planFile: declaredPlanFile
448
+ });
449
+ return {
450
+ status: "plan_ready",
451
+ planFile: declaredPlanFile
452
+ };
453
+ }
421
454
  const repairPlanFile = normalizeDiscoveryFilename(repairParsed?.filename, declaredPlanFile);
422
455
  if (await isPlanFileValid(repairPlanFile) || await tryPersistPlanFallback({
423
456
  planFile: repairPlanFile,
@@ -606,6 +639,9 @@ async function runAnton(args) {
606
639
  });
607
640
  try {
608
641
  let planFile;
642
+ const gitCwdForBaseline = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
643
+ const taskFileRelForBaseline = path.relative(gitCwdForBaseline, filePath).replace(/\\/g, "/");
644
+ const changedBeforeTask = await getGitChangedFileCount(gitCwdForBaseline, taskFileRelForBaseline.startsWith("..") ? [] : [taskFileRelForBaseline]);
609
645
  if (mode === "preflight") {
610
646
  const discoveryResult = await runDiscoveryPhase({
611
647
  task,
@@ -675,7 +711,8 @@ async function runAnton(args) {
675
711
  });
676
712
  const implPrompt = planFile ? buildImplementationPrompt(task.text, planFile) : buildDirectTaskPrompt(task.text);
677
713
  const gitCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
678
- const changedBefore = await getGitChangedFileCount(gitCwd);
714
+ const taskFileRel = path.relative(gitCwd, filePath).replace(/\\/g, "/");
715
+ const changeIgnores = taskFileRel.startsWith("..") ? [] : [taskFileRel];
679
716
  await runAgentTask({
680
717
  message: implPrompt,
681
718
  sessionId: implSessionId,
@@ -686,8 +723,8 @@ async function runAnton(args) {
686
723
  deps: args.deps,
687
724
  workspaceDir: args.workspaceDir
688
725
  });
689
- const changedAfter = await getGitChangedFileCount(gitCwd);
690
- if (mode === "preflight" && changedBefore !== null && changedAfter !== null && changedAfter <= changedBefore) throw new Error("Implementation made no repository changes; refusing to mark task complete");
726
+ const changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
727
+ if (mode === "preflight" && changedBeforeTask !== null && changedAfter !== null && changedAfter <= changedBeforeTask) throw new Error("Implementation made no repository changes; refusing to mark task complete");
691
728
  const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
692
729
  await fs.writeFile(filePath, updated, "utf8");
693
730
  completed += 1;
@@ -219,7 +219,7 @@ async function loadAntonConfig() {
219
219
  }
220
220
  }
221
221
  async function runAgentTask(args) {
222
- const { agentCliCommand } = await import("./agent-via-gateway-DSZK5iRF.js");
222
+ const { agentCliCommand } = await import("./agent-via-gateway-B2Z_k_od.js");
223
223
  const extraSystemPrompt = args.workspaceDir ? `Your working directory is: ${args.workspaceDir}\nAll file paths are relative to this directory. Use this as your cwd for all operations.` : void 0;
224
224
  const result = await agentCliCommand({
225
225
  message: args.message,
@@ -229,7 +229,8 @@ async function runAgentTask(args) {
229
229
  timeout: args.timeout,
230
230
  json: true,
231
231
  deliver: false,
232
- extraSystemPrompt
232
+ extraSystemPrompt,
233
+ workspaceDir: args.workspaceDir
233
234
  }, args.runtime, args.deps);
234
235
  return { text: (result && typeof result === "object" && "result" in result ? result.result?.payloads ?? [] : []).map((p) => typeof p?.text === "string" ? p.text.trim() : "").filter(Boolean).join("\n\n").trim() };
235
236
  }
@@ -265,10 +266,18 @@ async function isPlanFileValid(filePath) {
265
266
  return false;
266
267
  }
267
268
  }
268
- async function getGitChangedFileCount(cwd) {
269
+ async function getGitChangedFileCount(cwd, ignorePaths = []) {
269
270
  try {
270
271
  const { stdout } = await execFile$1("git", ["status", "--porcelain"], { cwd });
271
- return stdout.split(/\r?\n/).map((line) => line.trim()).filter(Boolean).length;
272
+ const ignores = ignorePaths.map((p) => p.replace(/\\/g, "/").replace(/^\.\//, "")).filter(Boolean);
273
+ return stdout.split(/\r?\n/).map((line) => line.trimEnd()).filter(Boolean).map((line) => {
274
+ const raw = line.slice(3).trim();
275
+ return (raw.includes(" -> ") ? raw.split(" -> ").at(-1) ?? raw : raw).replace(/\\/g, "/").replace(/^\.\//, "");
276
+ }).filter((file) => {
277
+ if (!file) return false;
278
+ if (file.startsWith(".agents/tasks/")) return false;
279
+ return !ignores.some((ignore) => file === ignore || file.startsWith(`${ignore}/`));
280
+ }).length;
272
281
  } catch {
273
282
  return null;
274
283
  }
@@ -360,9 +369,21 @@ async function runDiscoveryPhase(args) {
360
369
  workspaceDir: args.workspaceDir
361
370
  });
362
371
  const firstParsed = extractJsonObject(firstPass.text);
363
- if ((firstParsed?.status ?? "").toLowerCase() === "complete") return { status: "complete" };
364
372
  const declaredPlanFile = normalizeDiscoveryFilename(firstParsed?.filename, planFile);
365
- if (await isPlanFileValid(declaredPlanFile)) {
373
+ if (await isPlanFileValid(planFile)) {
374
+ await args.notify({
375
+ phase: "discovery_complete",
376
+ index: args.taskNum,
377
+ total: args.total,
378
+ task: args.task.text,
379
+ planFile
380
+ });
381
+ return {
382
+ status: "plan_ready",
383
+ planFile
384
+ };
385
+ }
386
+ if (declaredPlanFile !== planFile && await isPlanFileValid(declaredPlanFile)) {
366
387
  await args.notify({
367
388
  phase: "discovery_complete",
368
389
  index: args.taskNum,
@@ -411,7 +432,19 @@ async function runDiscoveryPhase(args) {
411
432
  workspaceDir: args.workspaceDir
412
433
  });
413
434
  const repairParsed = extractJsonObject(repairPass.text);
414
- if ((repairParsed?.status ?? "").toLowerCase() === "complete") return { status: "complete" };
435
+ if (await isPlanFileValid(declaredPlanFile)) {
436
+ await args.notify({
437
+ phase: "discovery_complete",
438
+ index: args.taskNum,
439
+ total: args.total,
440
+ task: args.task.text,
441
+ planFile: declaredPlanFile
442
+ });
443
+ return {
444
+ status: "plan_ready",
445
+ planFile: declaredPlanFile
446
+ };
447
+ }
415
448
  const repairPlanFile = normalizeDiscoveryFilename(repairParsed?.filename, declaredPlanFile);
416
449
  if (await isPlanFileValid(repairPlanFile) || await tryPersistPlanFallback({
417
450
  planFile: repairPlanFile,
@@ -600,6 +633,9 @@ async function runAnton(args) {
600
633
  });
601
634
  try {
602
635
  let planFile;
636
+ const gitCwdForBaseline = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
637
+ const taskFileRelForBaseline = path.relative(gitCwdForBaseline, filePath).replace(/\\/g, "/");
638
+ const changedBeforeTask = await getGitChangedFileCount(gitCwdForBaseline, taskFileRelForBaseline.startsWith("..") ? [] : [taskFileRelForBaseline]);
603
639
  if (mode === "preflight") {
604
640
  const discoveryResult = await runDiscoveryPhase({
605
641
  task,
@@ -669,7 +705,8 @@ async function runAnton(args) {
669
705
  });
670
706
  const implPrompt = planFile ? buildImplementationPrompt(task.text, planFile) : buildDirectTaskPrompt(task.text);
671
707
  const gitCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
672
- const changedBefore = await getGitChangedFileCount(gitCwd);
708
+ const taskFileRel = path.relative(gitCwd, filePath).replace(/\\/g, "/");
709
+ const changeIgnores = taskFileRel.startsWith("..") ? [] : [taskFileRel];
673
710
  await runAgentTask({
674
711
  message: implPrompt,
675
712
  sessionId: implSessionId,
@@ -680,8 +717,8 @@ async function runAnton(args) {
680
717
  deps: args.deps,
681
718
  workspaceDir: args.workspaceDir
682
719
  });
683
- const changedAfter = await getGitChangedFileCount(gitCwd);
684
- if (mode === "preflight" && changedBefore !== null && changedAfter !== null && changedAfter <= changedBefore) throw new Error("Implementation made no repository changes; refusing to mark task complete");
720
+ const changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
721
+ if (mode === "preflight" && changedBeforeTask !== null && changedAfter !== null && changedAfter <= changedBeforeTask) throw new Error("Implementation made no repository changes; refusing to mark task complete");
685
722
  const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
686
723
  await fs.writeFile(filePath, updated, "utf8");
687
724
  completed += 1;