@visorcraft/idlehands 4.0.16 → 4.0.17
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.
- package/CHANGELOG.md +7 -0
- package/dist/{accounts-DLTODa_Z.js → accounts-D-hQsUw-.js} +1 -1
- package/dist/{accounts-DgbTKQoW.js → accounts-D87a1Y_K.js} +1 -1
- package/dist/{accounts-3HS_UAhJ.js → accounts-DsVN0UNw.js} +1 -1
- package/dist/{acp-cli-B-7CXaeS.js → acp-cli-D52jj29o.js} +7 -7
- package/dist/{agent-scope-RA0zXRpu.js → agent-scope-Bn39ugK4.js} +18 -18
- package/dist/{agent-via-gateway-F1Zu0slF.js → agent-via-gateway-BDWomN2t.js} +4 -4
- package/dist/{agent-via-gateway-DIfwOe7Y.js → agent-via-gateway-BVY7w5-N.js} +1 -1
- package/dist/{agent-via-gateway-Ceb_VeXS.js → agent-via-gateway-BlRwv6D6.js} +7 -7
- package/dist/{agent-via-gateway-7SDhvcBa.js → agent-via-gateway-DSZK5iRF.js} +7 -7
- package/dist/{agents-idaLog48.js → agents-BLa67Gdv.js} +4 -4
- package/dist/{agents.config-DP_bqTwg.js → agents.config-ADCeu0yD.js} +1 -1
- package/dist/{agents.config-w0ZcfpyW.js → agents.config-CyEkgCQE.js} +2 -2
- package/dist/{anton-B7VZSQo-.js → anton-CZ5moxh6.js} +22 -4
- package/dist/{anton-BomwkDBv.js → anton-D-0SP_5T.js} +22 -4
- package/dist/{anton-Cs1JPzv4.js → anton-DYEYyPJ1.js} +40 -22
- package/dist/{anton-CzWIEEiT.js → anton-llLwn1lp.js} +22 -4
- package/dist/{api-key-rotation-B-FTJm5p.js → api-key-rotation-nXQVJErE.js} +1 -1
- package/dist/{audio-preflight-BSlR2jEq.js → audio-preflight-CW8IH1lU.js} +4 -4
- package/dist/{audio-preflight-Dl1TO10w.js → audio-preflight-DzjXupNO.js} +31 -31
- package/dist/{audio-preflight-CSSlgO89.js → audio-preflight-vD3mDc6w.js} +4 -4
- package/dist/{audit-BmaVRZSd.js → audit-D12wg2tV.js} +22 -22
- package/dist/{auth-choice-D-TtZtMR.js → auth-choice-01ELTnLA.js} +1 -1
- package/dist/{auth-choice-D12Wsf7w.js → auth-choice-BDndThZZ.js} +12 -12
- package/dist/{auth-choice-C49o8owq.js → auth-choice-CqbTnCYz.js} +10 -10
- package/dist/{auth-choice.apply-helpers-CGcniL1T.js → auth-choice.apply-helpers-pTqMTYmi.js} +1 -1
- package/dist/{auth-store-DDzIMy8_.js → auth-store-CMyrmmSF.js} +7 -7
- package/dist/{auth-token-BJq87X3o.js → auth-token-fKt_cHOj.js} +1 -1
- package/dist/{banner-DmFqQvFd.js → banner-Dv_eAAWw.js} +1 -1
- package/dist/{bindings-B59Q7nsk.js → bindings-DZjkLUU_.js} +1 -1
- package/dist/{browser-cli-Ny1nHwqv.js → browser-cli-Da-0lyq2.js} +11 -11
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +7 -7
- package/dist/bundled/session-memory/handler.js +7 -7
- package/dist/{call-BRL23UCk.js → call-DnTBT02D.js} +9 -9
- package/dist/{channel-account-context-CDbY5AIr.js → channel-account-context-B4nJPU2N.js} +5 -5
- package/dist/{channel-options-CsEgIwgu.js → channel-options-BilcK806.js} +1 -1
- package/dist/{channel-options-1Dqo0zkg.js → channel-options-BvOLgXCF.js} +3 -3
- package/dist/{channel-selection-ZxRkxpuF.js → channel-selection-3jUl-PyW.js} +1 -1
- package/dist/{channel-web-BicbbO9_.js → channel-web-B1IazKKL.js} +22 -22
- package/dist/{channel-web-C7s5QLXL.js → channel-web-BptLTwvg.js} +2 -2
- package/dist/{channels-cli-CWb-B8BT.js → channels-cli-DejBZZ85.js} +7 -7
- package/dist/{channels-cli-REwO9h_a.js → channels-cli-FssbSykQ.js} +88 -88
- package/dist/{channels-status-issues-CDpWjdI3.js → channels-status-issues-hgASw9UA.js} +1 -1
- package/dist/{chrome-Do5potHV.js → chrome-BcJB6PcM.js} +9 -9
- package/dist/{chrome-_2tzVjVl.js → chrome-DEnkfZ9p.js} +9 -9
- package/dist/{chrome-VBsQfIrt.js → chrome-YguTEaLx.js} +2 -2
- package/dist/{clawbot-cli-uFgYrysW.js → clawbot-cli-C5cDal-5.js} +5 -5
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-B9ARC6CF.js → cli-BrQZTuUX.js} +70 -70
- package/dist/{cli-B4rP4MXJ.js → cli-j1A8WKSj.js} +2 -2
- package/dist/{client-DxH9hwLn.js → client-DIckPnsi.js} +1 -1
- package/dist/{command-registry-0e5VHciB.js → command-registry-DZZAmcbA.js} +10 -10
- package/dist/{commands-Dj5LalLo.js → commands-D3BU_t7G.js} +1 -1
- package/dist/{commands-registry-CURlRZQJ.js → commands-registry-Cj4D_1tw.js} +3 -3
- package/dist/{completion-cli-BTtvgatl.js → completion-cli-Cxvf8clb.js} +2 -2
- package/dist/{completion-cli-C1StqVUs.js → completion-cli-ktxbWAiG.js} +12 -12
- package/dist/{config-cli-B-yirt2T.js → config-cli-Bq_MWzp9.js} +1 -1
- package/dist/{config-cli-C3As38Z_.js → config-cli-CogA71uD.js} +6 -6
- package/dist/{config-guard-BdsOumqh.js → config-guard-DnAyuF6T.js} +17 -17
- package/dist/{config-validation-BvKX6fPw.js → config-validation-DIomLMwH.js} +2 -2
- package/dist/{configure-BEd8nUOe.js → configure-CPDGJFyt.js} +3 -3
- package/dist/{configure-Cw6aeqBy.js → configure-CZUn--aN.js} +16 -16
- package/dist/{control-ui-assets-C7ZpN9hN.js → control-ui-assets-CiaCDBvZ.js} +1 -1
- package/dist/{cron-cli-Xml0Uww8.js → cron-cli-B8uqoogS.js} +12 -12
- package/dist/{daemon-cli-B1Ti51bt.js → daemon-cli-CMBNTpSS.js} +11 -11
- package/dist/{daemon-install-CYPo4M1M.js → daemon-install-DeqQiAad.js} +4 -4
- package/dist/{daemon-install-helpers-BZY9-jNW.js → daemon-install-helpers-Bug_GYuy.js} +9 -9
- package/dist/{deliver-whAbSPLk.js → deliver-5FLCa6tB.js} +1 -1
- package/dist/{deliver-CVTXl0Cv.js → deliver-BUiQ-9fE.js} +1 -1
- package/dist/{deliver--kttnrER.js → deliver-yTpXc5sv.js} +7 -7
- package/dist/{deps-Cn32rOjf.js → deps-BUUwigzc.js} +1 -1
- package/dist/{deps-CVb-kfIX.js → deps-B_5kPH1Q.js} +1 -1
- package/dist/{deps-CYAKIzhf.js → deps-CH8f3TJK.js} +6 -6
- package/dist/{deps-C28cWNmF.js → deps-PAzfFs3Q.js} +1 -1
- package/dist/{devices-cli-BNkO0Fey.js → devices-cli-DVLF8Yvw.js} +7 -7
- package/dist/{diagnostics-DmZbQ8Nc.js → diagnostics-CdUgLS0N.js} +5 -5
- package/dist/{directory-cli-Dz9iXeut.js → directory-cli-BAMS8f9U.js} +9 -9
- package/dist/{dns-cli-DD6hWsdc.js → dns-cli-BdxBk-k_.js} +4 -4
- package/dist/{dock-Y96MzKuM.js → dock-CzF5XYGd.js} +4 -4
- package/dist/{docs-cli-cHkrTB2e.js → docs-cli-SF7es4Zs.js} +4 -4
- package/dist/{doctor-completion-T5sq7t8L.js → doctor-completion-i04j1TGW.js} +1 -1
- package/dist/{doctor-completion-o6QBkVYG.js → doctor-completion-iWmUY3B4.js} +2 -2
- package/dist/{doctor-config-flow-Ck4oCjfl.js → doctor-config-flow-8qXzBx09.js} +14 -14
- package/dist/{emergency-stop-CMeSxuEg.js → emergency-stop-CfKEsUr_.js} +70 -70
- package/dist/{emergency-stop-h5_WOPZT.js → emergency-stop-CzExWKhr.js} +7 -7
- package/dist/{emergency-stop-D-dp9zCO.js → emergency-stop-DAmKucxm.js} +2 -2
- package/dist/{emergency-stop-w0AyIMs7.js → emergency-stop-tKLAiFAG.js} +7 -7
- package/dist/{enable-o_s6PBsC.js → enable-DaA_orGN.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-allowlist-Co2tJSEo.js → exec-approvals-allowlist-8AkOwwIr.js} +1 -1
- package/dist/{exec-approvals-cli-CyjTnYfk.js → exec-approvals-cli-CtoJW2K-.js} +15 -15
- package/dist/{exec-safe-bin-runtime-policy-DaoU9-ni.js → exec-safe-bin-runtime-policy-DYXuBKqH.js} +2 -2
- package/dist/extensionAPI.js +7 -7
- package/dist/{fs-safe-_JQUGpZf.js → fs-safe-DNFrxDS-.js} +15 -15
- package/dist/{gateway-cli-bZXsaQkU.js → gateway-cli-C8P5BVto.js} +148 -148
- package/dist/{gateway-cli-Dxoh3sSC.js → gateway-cli-DSJcNJYR.js} +9 -9
- package/dist/{gateway-rpc-Du-ZpDjh.js → gateway-rpc-6vnhO4v8.js} +1 -1
- package/dist/{health-dLZas7f8.js → health-BN8WNyon.js} +1 -1
- package/dist/{health-OvNY74XL.js → health-CNZK5D2k.js} +13 -13
- package/dist/{hooks-cli-DOH-i33b.js → hooks-cli-L32lBsp7.js} +3 -3
- package/dist/{hooks-cli-DZr1MB1B.js → hooks-cli-t7tiLn8P.js} +84 -84
- package/dist/{hooks-status-DNGo2G8Q.js → hooks-status-CPIWc_bx.js} +1 -1
- package/dist/{idlehands-root-B8cUs-5M.js → idlehands-root-DFL2GrNW.js} +8 -8
- package/dist/{image-DSDEbSiO.js → image-C2JZiK-6.js} +5 -5
- package/dist/{image-BAsQlUqT.js → image-C_aN5P6-.js} +1 -1
- package/dist/{image-COw__ACq.js → image-D8b_rlQC.js} +1 -1
- package/dist/{image-ops-BU-VdLZu.js → image-ops-BkoEFRYH.js} +10 -10
- package/dist/index.js +80 -80
- package/dist/{inspect-ISQZuNM5.js → inspect-Dg16DMLn.js} +4 -4
- package/dist/{install-safe-path-ChNR9pl6.js → install-safe-path-CNNMzJl9.js} +19 -19
- package/dist/{installs-CNubze2L.js → installs-ST3UaUVJ.js} +9 -9
- package/dist/{ir-VncGpwA1.js → ir-DV0Hszc8.js} +6 -6
- package/dist/{lifecycle-core-B6UoqYTJ.js → lifecycle-core-DOScNyOv.js} +5 -5
- package/dist/llm-slug-generator.js +7 -7
- package/dist/{local-roots-q0xbefkf.js → local-roots-Cco87A2_.js} +2 -2
- package/dist/{login-CfUhrgWT.js → login-Dl_lsEHS.js} +4 -4
- package/dist/{login-qr-DBMsUxgL.js → login-qr-B68cBRH0.js} +7 -7
- package/dist/{logs-cli-CH4mFhUt.js → logs-cli-BluGGq03.js} +8 -8
- package/dist/{manager-BMAFgXyU.js → manager-BBeTPO2h.js} +13 -13
- package/dist/{manifest-registry-Bak1x76G.js → manifest-registry-RfRn8HJx.js} +1 -1
- package/dist/{markdown-tables-DZClqsNo.js → markdown-tables-C5hTDqNm.js} +1 -1
- package/dist/{memory-cli-CUGwnVIY.js → memory-cli-4wfelGdK.js} +12 -12
- package/dist/{model-C-icShH2.js → model-Bd-05WpB.js} +2 -2
- package/dist/{model-catalog-D9no0CH2.js → model-catalog-BCsDrrvq.js} +3 -3
- package/dist/{model-picker-BkXoTOiA.js → model-picker-D3U0wJCO.js} +4 -4
- package/dist/{model-selection-0dGxYGp8.js → model-selection-CSn9tUuH.js} +16 -16
- package/dist/{models-cli-CKRL4j3x.js → models-cli-ChStpcQY.js} +79 -79
- package/dist/{models-cli-Dtzht0md.js → models-cli-dd-wJvj0.js} +4 -4
- package/dist/{models-config-C5A1wDWh.js → models-config-lQpqp472.js} +6 -6
- package/dist/{models-Dvyot3-o.js → models-mQeB9JXZ.js} +2 -2
- package/dist/{node-cli-Ch7K7WtL.js → node-cli-DhD8-NHR.js} +32 -32
- package/dist/{node-service-C3vyxHLA.js → node-service-GpI0jzKr.js} +1 -1
- package/dist/{nodes-cli-D_hUCPNt.js → nodes-cli-DPzxQ0mY.js} +14 -14
- package/dist/{nodes-screen-CcpPaFxa.js → nodes-screen-CIAn0wXq.js} +4 -4
- package/dist/{npm-registry-spec-BCbbfIhX.js → npm-registry-spec-BfeHLbIQ.js} +16 -16
- package/dist/{npm-resolution-iEXmU1Ol.js → npm-resolution-WKW4cIrd.js} +1 -1
- package/dist/{npm-resolution-BpruvRIr.js → npm-resolution-tT1BUac2.js} +3 -3
- package/dist/{onboard-Ck4SwhZB.js → onboard-D1wKkHHC.js} +2 -2
- package/dist/{onboard-channels-CM4puuWQ.js → onboard-channels-CG1R8Ozs.js} +1 -1
- package/dist/{onboard-channels-DzNjXM6f.js → onboard-channels-CRHp5hA-.js} +20 -20
- package/dist/{onboard-custom-DUbzMMu7.js → onboard-custom-D2sCP3_S.js} +4 -4
- package/dist/{onboard-helpers-BQmbMJxJ.js → onboard-helpers-ByhJg2ST.js} +8 -8
- package/dist/{onboard-hooks-D9teGxfH.js → onboard-hooks-_1Jgimeu.js} +4 -4
- package/dist/{onboard-remote-CIjhaP2W.js → onboard-remote-DuhWSiAO.js} +1 -1
- package/dist/{onboard-CS6IQorr.js → onboard-rze7pzoW.js} +6 -6
- package/dist/{onboard-skills-BsaUIuq6.js → onboard-skills-vFwEasAg.js} +4 -4
- package/dist/{onboarding-0Pop0Cex.js → onboarding-BgHfZNln.js} +3 -3
- package/dist/{onboarding-DMEJRAg4.js → onboarding-BxvY_aEE.js} +13 -13
- package/dist/{onboarding.finalize-BZW1kZw7.js → onboarding.finalize-5_UCPMAw.js} +7 -7
- package/dist/{onboarding.finalize-f2qChM_N.js → onboarding.finalize-DnCFQEPR.js} +82 -82
- package/dist/{onboarding.gateway-config-CEQMyj8l.js → onboarding.gateway-config-qVAY6x7I.js} +16 -16
- package/dist/{openai-model-default-7J6cw1rA.js → openai-model-default-OPCCNNS0.js} +2 -2
- package/dist/{outbound-DPTxwchq.js → outbound-CG19kl0w.js} +4 -4
- package/dist/{plugin-sdk/outbound-attachment-BisU5Vji.js → outbound-attachment-jYdMgCml.js} +2 -2
- package/dist/{pairing-cli-jwx6hMsM.js → pairing-cli-QJYYDcIK.js} +10 -10
- package/dist/{pairing-labels-ChQJzbS9.js → pairing-labels-DuZ7ih-T.js} +1 -1
- package/dist/{pairing-store-CPpEEQJO.js → pairing-store-qvpPoWL_.js} +2 -2
- package/dist/{pairing-token-lKXTMQ_M.js → pairing-token-3hoCgQqp.js} +7 -7
- package/dist/{path-alias-guards-FXBVVTLw.js → path-alias-guards-BCskHdfJ.js} +3 -3
- package/dist/{path-safety-DwibX65n.js → path-safety-C1Y004P_.js} +1 -1
- package/dist/{paths-B-CLQ5RT.js → paths-Bt0fZexW.js} +9 -9
- package/dist/{pi-embedded-BKTKQn_9.js → pi-embedded-BcmA23Ak.js} +26 -26
- package/dist/{pi-embedded-Oto02Ard.js → pi-embedded-D_8x2ll-.js} +26 -26
- package/dist/{pi-embedded-helpers-BCsfqpDt.js → pi-embedded-helpers-BkzrQ5bZ.js} +6 -6
- package/dist/{pi-embedded-helpers-Ct2rwp-P.js → pi-embedded-helpers-C2j0LfJC.js} +4 -4
- package/dist/{pi-embedded-helpers-CyTpDKo5.js → pi-embedded-helpers-CghCLoPo.js} +4 -4
- package/dist/{pi-model-discovery-BIP3RjXl.js → pi-model-discovery-Bt79ifyi.js} +1 -1
- package/dist/{pi-tools.policy-DfITIKZj.js → pi-tools.policy-B_ME3yF6.js} +5 -5
- package/dist/{plugin-auto-enable-7DUxMy6A.js → plugin-auto-enable-BMuSi4aV.js} +3 -3
- package/dist/{plugin-registry-PcN7mK-d.js → plugin-registry-C3IHwz9i.js} +3 -3
- package/dist/{plugin-registry-BfNJBiAr.js → plugin-registry-CncOKeD3.js} +1 -1
- package/dist/plugin-sdk/{accounts-CBVAw5_G.js → accounts-B9nfRzyn.js} +1 -1
- package/dist/plugin-sdk/{accounts-BLYMokxV.js → accounts-Kt6ygPsC.js} +2 -2
- package/dist/plugin-sdk/{accounts-C5tHm1UI.js → accounts-mjFAny5F.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-jl80I5G9.js → agent-scope-CU41EMlR.js} +2 -2
- package/dist/plugin-sdk/{agent-via-gateway-l3LvRB7r.js → agent-via-gateway-CDKZ0Jk9.js} +55 -55
- package/dist/plugin-sdk/{anton-DJn2RPpW.js → anton-Bp5L7uaN.js} +25 -7
- package/dist/plugin-sdk/{api-key-rotation-D6nK54XH.js → api-key-rotation-CZhCWd61.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-CKqqN8ty.js → audio-preflight-CRgDehfO.js} +30 -30
- package/dist/plugin-sdk/{auth-store-DaPWgQTx.js → auth-store-DycBvVqL.js} +1 -1
- package/dist/plugin-sdk/{bindings-xXgmJGxj.js → bindings-BDKKHGv-.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-loOg1DRw.js → channel-activity-TcS_VfJk.js} +3 -3
- package/dist/plugin-sdk/{channel-web-DvztgyXI.js → channel-web-DcgShj6y.js} +24 -24
- package/dist/plugin-sdk/{chrome-Cb9FgiCI.js → chrome-BCTizrZD.js} +6 -6
- package/dist/plugin-sdk/{chunk-PW4MBmaN.js → chunk-DZr5xuqv.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-B5m2EsHz.js → commands-registry-BqJLwZYh.js} +5 -5
- package/dist/plugin-sdk/{config-CEgzwk0J.js → config-BzPMtEKA.js} +10 -10
- package/dist/plugin-sdk/{deliver-BNfMF0Nb.js → deliver-Cfc1UCre.js} +10 -10
- package/dist/plugin-sdk/{deps-B1DxdYuU.js → deps-B5eQTF_d.js} +6 -6
- package/dist/plugin-sdk/{diagnostic-ByA6zvzu.js → diagnostic-B8VzcqLf.js} +1 -1
- package/dist/plugin-sdk/{dock-DKQYtT6-.js → dock-CMURqoee.js} +6 -6
- package/dist/plugin-sdk/{emergency-stop-CVZuzTM7.js → emergency-stop-DQppo4RU.js} +55 -55
- package/dist/plugin-sdk/{env-5XecRTLs.js → env-qurSiOO2.js} +1 -1
- package/dist/plugin-sdk/{errors-CMcD8Lhh.js → errors-UqLewZJL.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-DwdUEdmT.js → fetch-guard-C174s8ZV.js} +1 -1
- package/dist/plugin-sdk/{fs-safe-qsx2_8-o.js → fs-safe-CCXTOK7j.js} +2 -2
- package/dist/plugin-sdk/{image-C_1tftC8.js → image-DDuK8tyO.js} +6 -6
- package/dist/plugin-sdk/{image-ops-CXSUo-AM.js → image-ops-BRYGGDwL.js} +1 -1
- package/dist/plugin-sdk/index.js +60 -60
- package/dist/plugin-sdk/{ir-kdDGpPMq.js → ir-Bv0Zbp2E.js} +5 -5
- package/dist/plugin-sdk/{local-roots-DjB6DYeI.js → local-roots-bHCsSVt_.js} +4 -4
- package/dist/plugin-sdk/{login-DIwO5D5Y.js → login-CkQrnY2G.js} +6 -6
- package/dist/plugin-sdk/{login-qr-CpCAJuvT.js → login-qr-DAeHibH_.js} +8 -8
- package/dist/plugin-sdk/{manager-Dox9r7og.js → manager-CTC1S_c9.js} +10 -10
- package/dist/plugin-sdk/{markdown-tables-Drtwd4J5.js → markdown-tables-DfUQHRZY.js} +1 -1
- package/dist/plugin-sdk/{message-channel-CQ0qkGHj.js → message-channel-DiMXmQeQ.js} +1 -1
- package/dist/plugin-sdk/{outbound-Dx_q6JAI.js → outbound-B1twcfz5.js} +6 -6
- package/dist/{outbound-attachment-Bot3bRnK.js → plugin-sdk/outbound-attachment-Bs7fNaqv.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-C_uBEYb4.js → path-alias-guards-yyy61qHh.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-B68z4sHq.js → pi-embedded-helpers-BAm9cWol.js} +16 -16
- package/dist/plugin-sdk/{pi-model-discovery-Dt6899be.js → pi-model-discovery-Bt6JtUFr.js} +1 -1
- package/dist/plugin-sdk/{plugins-NTjIvHYk.js → plugins-DRPlVBr_.js} +5 -5
- package/dist/plugin-sdk/{pw-ai-Dk2PTZzq.js → pw-ai-CY0evCZ2.js} +10 -10
- package/dist/plugin-sdk/{qmd-manager-juzrnopq.js → qmd-manager-BckPBwZX.js} +5 -5
- package/dist/plugin-sdk/{query-expansion-xBXvzdkL.js → query-expansion-CPqK-tTR.js} +2 -2
- package/dist/plugin-sdk/{redact-B6VQH3UQ.js → redact-Ub8sMBBC.js} +1 -1
- package/dist/plugin-sdk/{replies-ZovJp-3F.js → replies-DwTNZJgi.js} +3 -3
- package/dist/plugin-sdk/{reply-BhGucE6k.js → reply-BtQHoQT3.js} +95 -95
- package/dist/plugin-sdk/{reply-prefix--mxmTL7A.js → reply-prefix-BqV0o7_7.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-CnUtsDch.js → resolve-outbound-target-DAdNGEqG.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-BZABUE4J.js → resolve-route-C5mAwY-o.js} +3 -3
- package/dist/plugin-sdk/{retry-Bh7jveNm.js → retry-2OVzZJMZ.js} +1 -1
- package/dist/plugin-sdk/{runner-CZz1tOIR.js → runner-Ck0w3rcz.js} +10 -10
- package/dist/plugin-sdk/{send-Cb5NIN8s.js → send-A4Lv5nrg.js} +7 -7
- package/dist/plugin-sdk/{send-0EVlThEG.js → send-BBD-m-nM.js} +10 -10
- package/dist/plugin-sdk/{send-BCjVQhp3.js → send-CPeuqOlq.js} +13 -13
- package/dist/plugin-sdk/{send-B26cNPqY.js → send-CaPoBwby.js} +6 -6
- package/dist/plugin-sdk/{send-CHUGIZs9.js → send-SsqudCMv.js} +7 -7
- package/dist/plugin-sdk/{session-DdJj6_DW.js → session-DpL4uk1J.js} +3 -3
- package/dist/plugin-sdk/{sessions-DNx9c2O2.js → sessions-CQ5iD4Uq.js} +6 -6
- package/dist/plugin-sdk/{skill-commands-DorIK8kn.js → skill-commands-C_O9I71g.js} +5 -5
- package/dist/plugin-sdk/{skills-Dh_Cf2PA.js → skills-DmiIiX4l.js} +8 -8
- package/dist/plugin-sdk/{store-CCCXwngh.js → store-BI3rLJdW.js} +2 -2
- package/dist/plugin-sdk/{subsystem-DWPzKeZ0.js → subsystem-lJo9gqAK.js} +1 -1
- package/dist/plugin-sdk/{tables-CF9W23Rd.js → tables-C4X_nAUQ.js} +1 -1
- package/dist/plugin-sdk/{target-errors-DaH0qYtL.js → target-errors-CXh6e9ZE.js} +2 -2
- package/dist/plugin-sdk/{tokens-Y97UKh4C.js → tokens-CU9S3S7t.js} +1 -1
- package/dist/plugin-sdk/{tool-images-BMRkn_yk.js → tool-images-Cf9aWlVu.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-Cv8wyfAi.js → tool-loop-detection-DuwkSqZL.js} +2 -2
- package/dist/plugin-sdk/{utils-Dyj2wV4e.js → utils-dP-FpIgu.js} +2 -2
- package/dist/plugin-sdk/web-Cg6vlkku.js +71 -0
- package/dist/plugin-sdk/{whatsapp-actions-B5g-Rywy.js → whatsapp-actions-Bcknq6EZ.js} +23 -23
- package/dist/{plugins-D46VZh7u.js → plugins-B4hASNc2.js} +2 -2
- package/dist/{plugins-cli-DOTZBHc7.js → plugins-cli-BMptU-1l.js} +80 -80
- package/dist/{plugins-cli-s1bEnfMn.js → plugins-cli-CMYlin6k.js} +3 -3
- package/dist/{ports-B2o0FSFD.js → ports-B07M55Gr.js} +1 -1
- package/dist/{ports-SQy1d-RL.js → ports-DWJO5S52.js} +2 -2
- package/dist/{program-Blak4A0H.js → program-DyMaBEqF.js} +8 -8
- package/dist/{program-context-DtHO30yM.js → program-context-BxflGz_G.js} +43 -43
- package/dist/{prompt-select-styled-D8vDTRY8.js → prompt-select-styled-CI3hobey.js} +37 -37
- package/dist/{prompt-select-styled-DuHE5c_O.js → prompt-select-styled-es3PJxfH.js} +4 -4
- package/dist/{provider-auth-helpers-CnqcE5__.js → provider-auth-helpers-CrGScfnN.js} +1 -1
- package/dist/{provider-auth-helpers-PdlgGx1Z.js → provider-auth-helpers-DYxaYmlq.js} +5 -5
- package/dist/{push-apns-DkGS3lmo.js → push-apns-BNxgGXQy.js} +1 -1
- package/dist/{push-apns-CNVtKEbW.js → push-apns-CjAXPy2N.js} +5 -5
- package/dist/{pw-ai-7i9eGnLh.js → pw-ai-BGALvhDi.js} +11 -11
- package/dist/{pw-ai-CowTfhOG.js → pw-ai-CfYaR1K2.js} +1 -1
- package/dist/{pw-ai-yrIWfcWX.js → pw-ai-DjmrIQle.js} +1 -1
- package/dist/{qmd-manager-B-qeywfQ.js → qmd-manager-CVcPfkhL.js} +19 -19
- package/dist/{qr-cli-CSt5ihwG.js → qr-cli-D2Oh8f0U.js} +1 -1
- package/dist/{query-expansion-Clts_AGz.js → query-expansion-i5I3yavb.js} +12 -12
- package/dist/{redact-snapshot-BBNDQZIe.js → redact-snapshot-CtIVs92s.js} +1 -1
- package/dist/{register.agent-BGs6wEo-.js → register.agent-B9f0mtlc.js} +9 -9
- package/dist/{register.agent-DliuXWG0.js → register.agent-DrVFgVpf.js} +95 -95
- package/dist/register.configure-BxZRBEJ9.js +168 -0
- package/dist/{register.configure-D9bNPRml.js → register.configure-DAlBU97I.js} +8 -8
- package/dist/{register.maintenance-B7ZM7NqF.js → register.maintenance-BThQUyMI.js} +9 -9
- package/dist/{register.maintenance-B-36Avrl.js → register.maintenance-G_dZOyQA.js} +90 -90
- package/dist/{register.message-Cm5P_dls.js → register.message-BVTuvjQA.js} +71 -71
- package/dist/{register.message-CmEzaYEw.js → register.message-DKaxesxx.js} +3 -3
- package/dist/{register.onboard-cB-UkXhL.js → register.onboard-CnoQ56yq.js} +18 -18
- package/dist/{register.onboard-ByUSn1hy.js → register.onboard-CwtL9YYR.js} +2 -2
- package/dist/{register.orchestrator-anton-D_mAceTk.js → register.orchestrator-anton-2LtPHPXM.js} +14 -14
- package/dist/{register.orchestrator-anton-CADua5Nr.js → register.orchestrator-anton-Ce55Lxt0.js} +2 -2
- package/dist/{register.setup-CA3WwC1V.js → register.setup-Dg5LmRxd.js} +2 -2
- package/dist/{register.setup-DOnWysTP.js → register.setup-_s2CQaBF.js} +21 -21
- package/dist/{register.status-health-sessions-DgR30NBl.js → register.status-health-sessions-DX2OgAeG.js} +4 -4
- package/dist/{register.status-health-sessions-Dsvbkrhh.js → register.status-health-sessions-iSQzPXD0.js} +82 -82
- package/dist/{register.subclis-CvN5J3oh.js → register.subclis-YeKuHCRg.js} +9 -9
- package/dist/{replies-hSFVxL4h.js → replies-Czp4hvpS.js} +1 -1
- package/dist/{reply-D6y5faqD.js → reply-DKIv9jez.js} +153 -153
- package/dist/{reply-prefix-C3y4zpTl.js → reply-prefix-BMEdvSpA.js} +1 -1
- package/dist/{resolve-route-D_AbcmD6.js → resolve-route-Ef_Yt2Dw.js} +2 -2
- package/dist/{rpc-CCimHATv.js → rpc-DDTp_J6f.js} +1 -1
- package/dist/{run-main-BBYeikWD.js → run-main-BwWO5erE.js} +15 -15
- package/dist/{runner-DzszLzI4.js → runner-BFG54hnb.js} +20 -20
- package/dist/{runner-Bv_BA3vd.js → runner-CZW_eyf2.js} +1 -1
- package/dist/{runner-BzNdfqDz.js → runner-PgRFPYUj.js} +1 -1
- package/dist/{runtime-XmXLaHNk.js → runtime-DEmy759r.js} +2 -2
- package/dist/{sandbox-DcUw5h3p.js → sandbox-CfPbhDY_.js} +20 -20
- package/dist/{sandbox-cli-DGvJ7Eeq.js → sandbox-cli-B4wLJr21.js} +22 -22
- package/dist/{secrets-cli-Bgp_H_bH.js → secrets-cli-CidAOBfl.js} +9 -9
- package/dist/{security-cli-MQ__Ca6v.js → security-cli-Ch7AhbhS.js} +39 -39
- package/dist/{send-C4v0Leny.js → send-BCPkAE2k.js} +6 -6
- package/dist/{send-DuwdEkLw.js → send-BPwTl4-K.js} +4 -4
- package/dist/{send-DQiw_nGD.js → send-CEavqqEz.js} +6 -6
- package/dist/{send-DwdHiC7_.js → send-CVIXqubC.js} +13 -13
- package/dist/{send--lzpNy4f.js → send-DDMaLJAQ.js} +7 -7
- package/dist/{server-D6MltJIF.js → server-BpSbZAwg.js} +14 -14
- package/dist/{server-context-DI0W_H7R.js → server-context-BxNSTpH6.js} +10 -10
- package/dist/{server-lifecycle-B5PlrlbG.js → server-lifecycle-CGKrGrhM.js} +2 -2
- package/dist/{server-node-events-CcAiA2an.js → server-node-events-CZ5OkouD.js} +71 -71
- package/dist/{server-node-events-DeBYOK05.js → server-node-events-lbb8M18B.js} +3 -3
- package/dist/{service-C8NMS3m_.js → service-Bj2oSfpw.js} +15 -15
- package/dist/{session-CdnrRhb4.js → session-BKVySI8q.js} +1 -1
- package/dist/{sessions-BtPXimXQ.js → sessions-BqWocozB.js} +14 -14
- package/dist/{shared-CpDPo3hJ.js → shared-DnQ4iyXk.js} +2 -2
- package/dist/{shared-DpLSpJIl.js → shared-Jzrx8DfN.js} +1 -1
- package/dist/{skill-commands-BFzmZAfo.js → skill-commands-BwIRWSCI.js} +5 -5
- package/dist/{skill-scanner-D7mzXRXd.js → skill-scanner-B4Ftsbd2.js} +5 -5
- package/dist/{skills-DlvDyK8L.js → skills-TIyQDZx7.js} +3 -3
- package/dist/{skills-cli-BhKGhjbO.js → skills-cli-5lbXi4Lh.js} +5 -5
- package/dist/{skills-install-tr6wRWZj.js → skills-install-D0JHP5uM.js} +4 -4
- package/dist/{skills-status-qjQ8XP0h.js → skills-status-Q9skQExW.js} +1 -1
- package/dist/{status-Dd0rJBTD.js → status-BE1Y0CKS.js} +2 -2
- package/dist/{status-BW8aF7xu.js → status-Bd9NYE1U.js} +24 -24
- package/dist/{status.update-CTi6vuWj.js → status.update-C3uRz7W6.js} +2 -2
- package/dist/{store-kH9wHHbO.js → store-CLNuI8-G.js} +5 -5
- package/dist/{subagent-registry-DeXWDNty.js → subagent-registry-CTZmDdGV.js} +11 -11
- package/dist/{system-cli-3T-OTIKv.js → system-cli-DBp9Zmvt.js} +8 -8
- package/dist/{system-run-approval-context-CISBXlNw.js → system-run-approval-context-xZVoE4nS.js} +1 -1
- package/dist/{system-run-command-qJdgzxLp.js → system-run-command-BIhrK3OI.js} +1 -1
- package/dist/{systemd-CaCR5CyM.js → systemd-DyrVLTI0.js} +9 -9
- package/dist/{systemd-hints-DHu-HVFx.js → systemd-hints-BoKKzRI_.js} +6 -6
- package/dist/{systemd-linger-B7XlUHk_.js → systemd-linger-DrhGd61G.js} +1 -1
- package/dist/{tables-g9xkflht.js → tables-CZSD889r.js} +1 -1
- package/dist/{target-errors-bLIVFsbF.js → target-errors-BYuWhuLU.js} +4 -4
- package/dist/{tool-images-CHqepyF_.js → tool-images-DZHrc4pq.js} +1 -1
- package/dist/{tui-lalhRHve.js → tui-DWGHGeZ3.js} +6 -6
- package/dist/{tui-cli-BVKWJ9X7.js → tui-cli-DKyA5pZ2.js} +30 -30
- package/dist/{update-cli-C97163Ne.js → update-cli-D-4_OhRR.js} +9 -9
- package/dist/{update-cli-DLWAR9u6.js → update-cli-DvUx2El6.js} +99 -99
- package/dist/{update-D79ppbMQ.js → update-la2AdLf3.js} +3 -3
- package/dist/{update-runner-BV9LWTCG.js → update-runner-BvaywdEe.js} +1 -1
- package/dist/{update-runner-Cft2lh5r.js → update-runner-n2snlf-4.js} +15 -15
- package/dist/{upgrade-command-909a7QUc.js → upgrade-command-28wRHZZ2.js} +3 -3
- package/dist/{web-Da_aB4Vm.js → web-BedV4zGE.js} +3 -3
- package/dist/{web-DGPTqAhk.js → web-BjP-D0Iz.js} +8 -8
- package/dist/web-CDFWB79W.js +123 -0
- package/dist/{web-BwZ1OGaX.js → web-Dbrx58hF.js} +8 -8
- package/dist/{webhooks-cli-2N03q0iY.js → webhooks-cli-BnmVPYkU.js} +6 -6
- package/dist/{whatsapp-actions-Cms8wQM1.js → whatsapp-actions-D2mBFzmK.js} +18 -18
- package/dist/{with-timeout-DEdycYxq.js → with-timeout-BodPmGCY.js} +3 -3
- package/dist/{workspace-D3pARwoB.js → workspace-CDw87aZG.js} +1 -1
- package/dist/{workspace-dirs-SsExQ3Bz.js → workspace-dirs-D3bousoX.js} +1 -1
- package/dist/{wsl-BJW8nTyL.js → wsl-CgXDjE09.js} +2 -2
- package/extensions/acpx/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/hand/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/plugin-sdk/web-BzmXmmAo.js +0 -71
- package/dist/register.configure-DJsShg2l.js +0 -168
- package/dist/web-D8zB-Qkg.js +0 -123
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Docs: https://docs.idlehands.ai
|
|
4
4
|
|
|
5
|
+
## 4.0.17
|
|
6
|
+
|
|
7
|
+
### Fixes
|
|
8
|
+
|
|
9
|
+
- Anton preflight plan validation: reject discovery artifacts that contain only status JSON (for example `{"status":"incomplete","filename":"..."}`) and require meaningful implementation-plan content before marking a plan as valid.
|
|
10
|
+
- Anton preflight fallback hardening: prevent JSON-only discovery output from being persisted as a plan file during recovery; retry/repair continues until a real plan is produced or the task is skipped.
|
|
11
|
+
|
|
5
12
|
## 4.0.16
|
|
6
13
|
|
|
7
14
|
### Fixes
|
|
@@ -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-
|
|
5
|
+
import { r as hasWebCredsSync } from "./auth-store-CMyrmmSF.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-
|
|
3
|
+
import { o as createAccountListHelpers } from "./accounts-D-hQsUw-.js";
|
|
4
4
|
|
|
5
5
|
//#region src/signal/accounts.ts
|
|
6
6
|
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
|
|
@@ -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-
|
|
3
|
+
import { o as createAccountListHelpers } from "./accounts-D-hQsUw-.js";
|
|
4
4
|
|
|
5
5
|
//#region src/imessage/accounts.ts
|
|
6
6
|
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
|
|
@@ -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-
|
|
3
|
+
import "./agent-scope-Bn39ugK4.js";
|
|
4
4
|
import "./subsystem-CGZX2PBV.js";
|
|
5
5
|
import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
|
|
6
|
-
import "./idlehands-root-
|
|
6
|
+
import "./idlehands-root-DFL2GrNW.js";
|
|
7
7
|
import "./exec-CKHMT0tZ.js";
|
|
8
|
-
import { It as loadConfig } from "./model-selection-
|
|
8
|
+
import { It as loadConfig } from "./model-selection-CSn9tUuH.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-
|
|
14
|
+
import "./manifest-registry-RfRn8HJx.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-
|
|
22
|
-
import { t as buildGatewayConnectionDetails } from "./call-
|
|
23
|
-
import "./pairing-token-
|
|
21
|
+
import { t as GatewayClient } from "./client-DIckPnsi.js";
|
|
22
|
+
import { t as buildGatewayConnectionDetails } from "./call-DnTBT02D.js";
|
|
23
|
+
import "./pairing-token-3hoCgQqp.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-
|
|
5
|
+
import { h as normalizeSkillFilter, i as openBoundaryFile, t as resolveIdleHandsPackageRoot } from "./idlehands-root-DFL2GrNW.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
|
|
11
|
+
import fsPromises 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
|
|
153
|
+
return stripFrontMatter(await fsPromises.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
|
|
157
|
+
return stripFrontMatter(await fsPromises.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
|
|
172
|
+
await fsPromises.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
|
|
184
|
+
await fsPromises.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
|
|
208
|
+
return parseWorkspaceOnboardingState(await fsPromises.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
|
|
222
|
+
await fsPromises.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
|
|
227
|
-
await
|
|
226
|
+
await fsPromises.writeFile(tmpPath, payload, { encoding: "utf-8" });
|
|
227
|
+
await fsPromises.rename(tmpPath, statePath);
|
|
228
228
|
} catch (err) {
|
|
229
|
-
await
|
|
229
|
+
await fsPromises.unlink(tmpPath).catch(() => {});
|
|
230
230
|
throw err;
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
233
|
async function hasGitRepo(dir) {
|
|
234
234
|
try {
|
|
235
|
-
await
|
|
235
|
+
await fsPromises.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
|
|
265
|
+
await fsPromises.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
|
|
292
|
+
await fsPromises.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([
|
|
325
|
+
const [identityContent, userContent] = await Promise.all([fsPromises.readFile(identityPath, "utf-8"), fsPromises.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
|
|
333
|
+
await fsPromises.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
|
|
364
|
+
await fsPromises.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
|
|
377
|
+
key = await fsPromises.realpath(entry.filePath);
|
|
378
378
|
} catch {}
|
|
379
379
|
if (seen.has(key)) continue;
|
|
380
380
|
seen.add(key);
|
|
@@ -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-
|
|
3
|
-
import { r as listAgentIds } from "./agent-scope-
|
|
2
|
+
import { Mt as resolveSessionKeyForRequest, jt as agentCommand } from "./reply-DKIv9jez.js";
|
|
3
|
+
import { r as listAgentIds } from "./agent-scope-Bn39ugK4.js";
|
|
4
4
|
import { s as normalizeAgentId } from "./session-key-Cuihcz_O.js";
|
|
5
|
-
import { It as loadConfig } from "./model-selection-
|
|
5
|
+
import { It as loadConfig } from "./model-selection-CSn9tUuH.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-
|
|
8
|
+
import { a as randomIdempotencyKey, n as callGateway } from "./call-DnTBT02D.js";
|
|
9
9
|
import { n as withProgress } from "./progress-BQLz1r3L.js";
|
|
10
10
|
|
|
11
11
|
//#region src/commands/agent-via-gateway.ts
|
|
@@ -4,7 +4,7 @@ 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-
|
|
7
|
+
import { D as resolveSessionKeyForRequest, E as agentCommand } from "./subagent-registry-CTZmDdGV.js";
|
|
8
8
|
import { a as randomIdempotencyKey, n as callGateway } from "./call-DuNslqj2.js";
|
|
9
9
|
import { n as withProgress } from "./progress-B76RkFx7.js";
|
|
10
10
|
|
|
@@ -11,14 +11,14 @@ 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-
|
|
14
|
+
import { H as callGateway, U as randomIdempotencyKey, a as agentCommand, o as resolveSessionKeyForRequest, v as withProgress } from "./pi-embedded-BcmA23Ak.js";
|
|
15
15
|
import "./plugins-D-_jp4FO.js";
|
|
16
16
|
import "./accounts-BwrguHMw.js";
|
|
17
17
|
import "./bindings-hT7SPhiA.js";
|
|
18
18
|
import "./auth-store-D1JaYlig.js";
|
|
19
19
|
import "./send-J10cQN4A.js";
|
|
20
20
|
import "./send-DLZt92Da.js";
|
|
21
|
-
import "./deliver-
|
|
21
|
+
import "./deliver-5FLCa6tB.js";
|
|
22
22
|
import "./diagnostic-jHCdo9Am.js";
|
|
23
23
|
import "./diagnostic-session-state-Bx2Le86J.js";
|
|
24
24
|
import "./accounts-BRVjft5i.js";
|
|
@@ -26,8 +26,8 @@ import "./send-Dd4xdAHf.js";
|
|
|
26
26
|
import "./image-ops-BDG-MYYV.js";
|
|
27
27
|
import "./pi-model-discovery-Dic-M5qw.js";
|
|
28
28
|
import { d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, s as normalizeMessageChannel } from "./message-channel-DqqfOIdx.js";
|
|
29
|
-
import "./pi-embedded-helpers-
|
|
30
|
-
import "./chrome-
|
|
29
|
+
import "./pi-embedded-helpers-C2j0LfJC.js";
|
|
30
|
+
import "./chrome-DEnkfZ9p.js";
|
|
31
31
|
import "./ssrf-DappnhDp.js";
|
|
32
32
|
import "./skills-nQcWk6Z6.js";
|
|
33
33
|
import "./path-alias-guards-CGbCFqW8.js";
|
|
@@ -40,7 +40,7 @@ import "./accounts-CBoBCTgA.js";
|
|
|
40
40
|
import "./paths-vOrMwCEQ.js";
|
|
41
41
|
import "./tool-images-CpZSs-zE.js";
|
|
42
42
|
import "./thinking-BFsWfunr.js";
|
|
43
|
-
import "./image-
|
|
43
|
+
import "./image-C_aN5P6-.js";
|
|
44
44
|
import "./manager-DYOflU5p.js";
|
|
45
45
|
import "./gemini-auth-m2hi6OmF.js";
|
|
46
46
|
import "./fetch-guard-BdCPmLBP.js";
|
|
@@ -54,7 +54,7 @@ import "./ir-BwkcXPZC.js";
|
|
|
54
54
|
import "./render-Ddkk6wf8.js";
|
|
55
55
|
import "./commands-registry-1-Rv2-IS.js";
|
|
56
56
|
import "./skill-commands-CHpRgsOw.js";
|
|
57
|
-
import "./runner-
|
|
57
|
+
import "./runner-CZW_eyf2.js";
|
|
58
58
|
import "./fetch-ChVgjTkv.js";
|
|
59
59
|
import "./channel-activity-C3LJmSjf.js";
|
|
60
60
|
import "./tables-CJKtUpY0.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-
|
|
67
|
+
import "./deps-PAzfFs3Q.js";
|
|
68
68
|
|
|
69
69
|
//#region src/commands/agent-via-gateway.ts
|
|
70
70
|
const NO_GATEWAY_TIMEOUT_MS = 2147e6;
|
|
@@ -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-
|
|
15
|
+
import { H as randomIdempotencyKey, V as callGateway, a as agentCommand, o as resolveSessionKeyForRequest, v as withProgress } from "./pi-embedded-D_8x2ll-.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-
|
|
22
|
+
import "./deliver-BUiQ-9fE.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-
|
|
31
|
-
import "./chrome-
|
|
30
|
+
import "./pi-embedded-helpers-CghCLoPo.js";
|
|
31
|
+
import "./chrome-BcJB6PcM.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-
|
|
45
|
+
import "./image-D8b_rlQC.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-
|
|
60
|
+
import "./runner-PgRFPYUj.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-
|
|
70
|
+
import "./deps-B_5kPH1Q.js";
|
|
71
71
|
|
|
72
72
|
//#region src/commands/agent-via-gateway.ts
|
|
73
73
|
const NO_GATEWAY_TIMEOUT_MS = 2147e6;
|
|
@@ -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-
|
|
9
|
+
import { M as identityHasValues, P as parseIdentityMarkdown } from "./subagent-registry-CTZmDdGV.js";
|
|
10
10
|
import { l as resolveSessionTranscriptsDirForAgent } from "./paths-CC17i2eK.js";
|
|
11
11
|
import { a as ensureWorkspaceAndSessions, l as moveToTrash } from "./onboard-helpers-Dp6wXNs7.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-
|
|
17
|
-
import { r as setupChannels } from "./onboard-channels-
|
|
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";
|
|
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-
|
|
20
|
+
import { i as applyAuthChoice, r as warnIfModelConfigLooksOff } from "./auth-choice-01ELTnLA.js";
|
|
21
21
|
import path from "node:path";
|
|
22
22
|
import fs from "node:fs/promises";
|
|
23
23
|
|
|
@@ -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-
|
|
3
|
+
import { M as identityHasValues, N as loadAgentIdentityFromWorkspace } from "./subagent-registry-CTZmDdGV.js";
|
|
4
4
|
|
|
5
5
|
//#region src/commands/agents.config.ts
|
|
6
6
|
function findAgentEntryIndex(list, agentId) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { en as identityHasValues, tn as loadAgentIdentityFromWorkspace } from "./reply-
|
|
2
|
-
import { a as resolveAgentDir, d as resolveDefaultAgentId, n as listAgentEntries, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
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";
|
|
3
3
|
import { s as normalizeAgentId } from "./session-key-Cuihcz_O.js";
|
|
4
4
|
|
|
5
5
|
//#region src/commands/agents.config.ts
|
|
@@ -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-
|
|
228
|
+
const { agentCliCommand } = await import("./agent-via-gateway-BVY7w5-N.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,
|
|
@@ -245,10 +245,28 @@ function makePlanFilePath(planDir, taskIndex) {
|
|
|
245
245
|
async function ensurePlanDir(planDir) {
|
|
246
246
|
await fs.mkdir(planDir, { recursive: true });
|
|
247
247
|
}
|
|
248
|
+
function looksLikeStatusJsonOnly(text) {
|
|
249
|
+
const trimmed = text.trim();
|
|
250
|
+
if (!trimmed.startsWith("{") || !trimmed.endsWith("}")) return false;
|
|
251
|
+
try {
|
|
252
|
+
const parsed = JSON.parse(trimmed);
|
|
253
|
+
const keys = Object.keys(parsed).toSorted();
|
|
254
|
+
return keys.length <= 3 && keys.includes("status") && keys.includes("filename");
|
|
255
|
+
} catch {
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
function isUsefulPlanText(text) {
|
|
260
|
+
const trimmed = text.trim();
|
|
261
|
+
if (trimmed.length < 120) return false;
|
|
262
|
+
if (looksLikeStatusJsonOnly(trimmed)) return false;
|
|
263
|
+
return /^#\s+/m.test(trimmed) || /\b(Implementation approach|What needs to change|Files to modify|How to verify)\b/i.test(trimmed);
|
|
264
|
+
}
|
|
248
265
|
async function isPlanFileValid(filePath) {
|
|
249
266
|
try {
|
|
250
267
|
const stat = await fs.stat(filePath);
|
|
251
|
-
|
|
268
|
+
if (!stat.isFile() || stat.size < 20) return false;
|
|
269
|
+
return isUsefulPlanText(await fs.readFile(filePath, "utf8"));
|
|
252
270
|
} catch {
|
|
253
271
|
return false;
|
|
254
272
|
}
|
|
@@ -290,7 +308,7 @@ function extractJsonObject(text) {
|
|
|
290
308
|
}
|
|
291
309
|
function extractPlanMarkdownFromText(text) {
|
|
292
310
|
const candidate = text.match(/```(?:markdown|md)?\s*([\s\S]*?)```/i)?.[1]?.trim() ?? text.trim();
|
|
293
|
-
if (candidate
|
|
311
|
+
if (!isUsefulPlanText(candidate)) return;
|
|
294
312
|
return candidate;
|
|
295
313
|
}
|
|
296
314
|
function normalizeDiscoveryFilename(filename, expectedPlanFile) {
|
|
@@ -314,7 +332,7 @@ Task: ${task}`;
|
|
|
314
332
|
}
|
|
315
333
|
async function tryPersistPlanFallback(params) {
|
|
316
334
|
const planText = (((typeof params.parsed?.planMarkdown === "string" ? params.parsed.planMarkdown : void 0) ?? (typeof params.parsed?.plan === "string" ? params.parsed.plan : void 0))?.trim() || extractPlanMarkdownFromText(params.rawText) || "").trim();
|
|
317
|
-
if (planText
|
|
335
|
+
if (!isUsefulPlanText(planText)) return false;
|
|
318
336
|
await fs.writeFile(params.planFile, `${planText}\n`, "utf8");
|
|
319
337
|
return await isPlanFileValid(params.planFile);
|
|
320
338
|
}
|
|
@@ -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-
|
|
222
|
+
const { agentCliCommand } = await import("./agent-via-gateway-BlRwv6D6.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,
|
|
@@ -239,10 +239,28 @@ function makePlanFilePath(planDir, taskIndex) {
|
|
|
239
239
|
async function ensurePlanDir(planDir) {
|
|
240
240
|
await fs.mkdir(planDir, { recursive: true });
|
|
241
241
|
}
|
|
242
|
+
function looksLikeStatusJsonOnly(text) {
|
|
243
|
+
const trimmed = text.trim();
|
|
244
|
+
if (!trimmed.startsWith("{") || !trimmed.endsWith("}")) return false;
|
|
245
|
+
try {
|
|
246
|
+
const parsed = JSON.parse(trimmed);
|
|
247
|
+
const keys = Object.keys(parsed).toSorted();
|
|
248
|
+
return keys.length <= 3 && keys.includes("status") && keys.includes("filename");
|
|
249
|
+
} catch {
|
|
250
|
+
return false;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
function isUsefulPlanText(text) {
|
|
254
|
+
const trimmed = text.trim();
|
|
255
|
+
if (trimmed.length < 120) return false;
|
|
256
|
+
if (looksLikeStatusJsonOnly(trimmed)) return false;
|
|
257
|
+
return /^#\s+/m.test(trimmed) || /\b(Implementation approach|What needs to change|Files to modify|How to verify)\b/i.test(trimmed);
|
|
258
|
+
}
|
|
242
259
|
async function isPlanFileValid(filePath) {
|
|
243
260
|
try {
|
|
244
261
|
const stat = await fs.stat(filePath);
|
|
245
|
-
|
|
262
|
+
if (!stat.isFile() || stat.size < 20) return false;
|
|
263
|
+
return isUsefulPlanText(await fs.readFile(filePath, "utf8"));
|
|
246
264
|
} catch {
|
|
247
265
|
return false;
|
|
248
266
|
}
|
|
@@ -284,7 +302,7 @@ function extractJsonObject(text) {
|
|
|
284
302
|
}
|
|
285
303
|
function extractPlanMarkdownFromText(text) {
|
|
286
304
|
const candidate = text.match(/```(?:markdown|md)?\s*([\s\S]*?)```/i)?.[1]?.trim() ?? text.trim();
|
|
287
|
-
if (candidate
|
|
305
|
+
if (!isUsefulPlanText(candidate)) return;
|
|
288
306
|
return candidate;
|
|
289
307
|
}
|
|
290
308
|
function normalizeDiscoveryFilename(filename, expectedPlanFile) {
|
|
@@ -308,7 +326,7 @@ Task: ${task}`;
|
|
|
308
326
|
}
|
|
309
327
|
async function tryPersistPlanFallback(params) {
|
|
310
328
|
const planText = (((typeof params.parsed?.planMarkdown === "string" ? params.parsed.planMarkdown : void 0) ?? (typeof params.parsed?.plan === "string" ? params.parsed.plan : void 0))?.trim() || extractPlanMarkdownFromText(params.rawText) || "").trim();
|
|
311
|
-
if (planText
|
|
329
|
+
if (!isUsefulPlanText(planText)) return false;
|
|
312
330
|
await fs.writeFile(params.planFile, `${planText}\n`, "utf8");
|
|
313
331
|
return await isPlanFileValid(params.planFile);
|
|
314
332
|
}
|