@visorcraft/idlehands 4.0.16 → 4.0.18
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 +15 -0
- package/dist/{accounts-Dk8mJIrQ.js → accounts-CRDMZUcg.js} +6 -6
- package/dist/{accounts-BDVs8LTu.js → accounts-upx5iuke.js} +1 -1
- package/dist/{accounts-CIvVRRHb.js → accounts-yD5yI-jP.js} +1 -1
- package/dist/{agent-scope-DyP_tr7s.js → agent-scope-BVeQuh5x.js} +4 -4
- package/dist/{agent-via-gateway-Ceb_VeXS.js → agent-via-gateway-CC37LlPd.js} +3 -2
- package/dist/{agent-via-gateway-DIfwOe7Y.js → agent-via-gateway-Cl2YwlXJ.js} +2 -1
- package/dist/{agent-via-gateway-F1Zu0slF.js → agent-via-gateway-ClQrLbgo.js} +2 -1
- package/dist/{agent-via-gateway-7SDhvcBa.js → agent-via-gateway-pMCfUzW-.js} +61 -60
- package/dist/{agents-idaLog48.js → agents-DrnGQroU.js} +4 -4
- package/dist/{agents.config-w0ZcfpyW.js → agents.config-BZPnYIMF.js} +1 -1
- package/dist/{agents.config-DP_bqTwg.js → agents.config-DfWZrbXn.js} +1 -1
- package/dist/{anton-CzWIEEiT.js → anton-B-I7rEtn.js} +44 -15
- package/dist/{anton-B7VZSQo-.js → anton-BfrX2FMd.js} +40 -11
- package/dist/{anton-Cs1JPzv4.js → anton-BgKjig3B.js} +40 -11
- package/dist/{anton-BomwkDBv.js → anton-BrY-bWgq.js} +40 -11
- package/dist/{audio-preflight-BSlR2jEq.js → audio-preflight-aBtF0cRI.js} +35 -35
- package/dist/{auth-choice-D-TtZtMR.js → auth-choice-DtvI4epn.js} +1 -1
- package/dist/{auth-choice-C49o8owq.js → auth-choice-_C22dz9o.js} +1 -1
- package/dist/{auth-store-DXT-l7fO.js → auth-store-DQAd4LSE.js} +12 -12
- package/dist/{banner-DmFqQvFd.js → banner-B-UYZG8d.js} +1 -1
- package/dist/{bindings-D3b5Fmc9.js → bindings-B9L4cqmm.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +60 -60
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +3 -3
- package/dist/bundled/session-memory/handler.js +60 -60
- package/dist/{channel-activity-D_TMOGQ0.js → channel-activity-DOLX-uK1.js} +3 -3
- package/dist/{channel-options-CsEgIwgu.js → channel-options-BbwNg4q_.js} +1 -1
- package/dist/{channel-options-1Dqo0zkg.js → channel-options-C0iwLcfC.js} +1 -1
- package/dist/{channel-web-BicbbO9_.js → channel-web-BLxKeCXF.js} +2 -2
- package/dist/{channel-web-C7s5QLXL.js → channel-web-q6Ugfiks.js} +2 -2
- package/dist/{channels-cli-CWb-B8BT.js → channels-cli-BtL1XuuK.js} +7 -7
- package/dist/{channels-cli-REwO9h_a.js → channels-cli-DaRR8vAs.js} +7 -7
- package/dist/{chrome-_2tzVjVl.js → chrome-D_SXDetO.js} +17 -17
- package/dist/{chunk-CMpX7Jaz.js → chunk-BgScV6uo.js} +1 -1
- package/dist/{cli-B9ARC6CF.js → cli-BjhrdeVd.js} +2 -2
- package/dist/{cli-B4rP4MXJ.js → cli-CrUoGRuS.js} +2 -2
- package/dist/{command-registry-0e5VHciB.js → command-registry-BZNlvfaM.js} +10 -10
- package/dist/{commands-registry-j4vAzcF2.js → commands-registry-CK7aj_ri.js} +5 -5
- package/dist/{completion-cli-C1StqVUs.js → completion-cli-BIabgt7h.js} +1 -1
- package/dist/{completion-cli-BTtvgatl.js → completion-cli-p9W-g1Pe.js} +2 -2
- package/dist/{config-cli-C3As38Z_.js → config-cli-B4nNEjK9.js} +1 -1
- package/dist/{config-cli-B-yirt2T.js → config-cli-u4zbdm-e.js} +1 -1
- package/dist/{configure-Cw6aeqBy.js → configure-BbDbMd5G.js} +3 -3
- package/dist/{configure-BEd8nUOe.js → configure-Dj1JdeEI.js} +3 -3
- package/dist/{deliver-CVTXl0Cv.js → deliver-CJaM2zRY.js} +20 -20
- package/dist/{deps-C28cWNmF.js → deps-BMWq0kjy.js} +1 -1
- package/dist/{deps-Cn32rOjf.js → deps-BuRud-p8.js} +1 -1
- package/dist/{deps-CVb-kfIX.js → deps-CQzDLqTz.js} +6 -6
- package/dist/{deps-CYAKIzhf.js → deps-Dr9GpASq.js} +1 -1
- package/dist/{diagnostic-4owMk4vH.js → diagnostic-lz5wKsEe.js} +1 -1
- package/dist/{dock-BgOmHcbh.js → dock-6MgvdSqu.js} +6 -6
- package/dist/{doctor-completion-o6QBkVYG.js → doctor-completion-BLRGmusD.js} +1 -1
- package/dist/{doctor-completion-T5sq7t8L.js → doctor-completion-BeZMlZPb.js} +1 -1
- package/dist/{emergency-stop-CMeSxuEg.js → emergency-stop-BEsjWvQL.js} +2 -2
- package/dist/{emergency-stop-h5_WOPZT.js → emergency-stop-BU-Vbk3V.js} +2 -2
- package/dist/{emergency-stop-D-dp9zCO.js → emergency-stop-CSSPAKHr.js} +2 -2
- package/dist/emergency-stop-JXB5jZyK.js +113 -0
- package/dist/entry.js +1 -1
- package/dist/{env-B5G1qwGc.js → env-B7b7MKfk.js} +1 -1
- package/dist/{errors-C_0nm4TJ.js → errors--Eb33_ji.js} +1 -1
- package/dist/extensionAPI.js +2 -2
- package/dist/{fetch-guard-iuQsIjqN.js → fetch-guard-OZ_PCUyr.js} +1 -1
- package/dist/{frontmatter-BOudmHMS.js → frontmatter-p8nPDprK.js} +2 -2
- package/dist/{fs-safe-CYUaAFO9.js → fs-safe-BEl8T_Vc.js} +2 -2
- package/dist/{gateway-cli-Dxoh3sSC.js → gateway-cli-BCHdAJHS.js} +9 -9
- package/dist/{gateway-cli-bZXsaQkU.js → gateway-cli-Dumy2IVU.js} +9 -9
- package/dist/{gemini-auth-CIyaa44H.js → gemini-auth-CA0K3QXj.js} +2 -2
- package/dist/{github-copilot-token-Dgt6cnsM.js → github-copilot-token-DCg9Q9Ll.js} +7 -7
- package/dist/{health-dLZas7f8.js → health-B3kk7l82.js} +1 -1
- package/dist/{health-OvNY74XL.js → health-CqdQAURH.js} +1 -1
- package/dist/{hooks-cli-DZr1MB1B.js → hooks-cli-Ba4woLl0.js} +3 -3
- package/dist/{hooks-cli-DOH-i33b.js → hooks-cli-jMG5GST1.js} +3 -3
- package/dist/{image-COw__ACq.js → image-BQ3RQWD8.js} +6 -6
- package/dist/{image-ops-D1KtygWz.js → image-ops-ZNtLhD4c.js} +1 -1
- package/dist/index.js +7 -7
- package/dist/{ir-B7IBoKLy.js → ir-DnyYtX4H.js} +5 -5
- package/dist/llm-slug-generator.js +60 -60
- package/dist/{local-roots-KN4Hp1yZ.js → local-roots-C9CA2f0R.js} +5 -5
- package/dist/{login-CFr5vJmR.js → login-Cn1vc1bn.js} +6 -6
- package/dist/{login-qr-CFFFOjOl.js → login-qr-Dj0NmRdg.js} +11 -11
- package/dist/{manager-BE_76jWB.js → manager-DBd_2F6j.js} +15 -15
- package/dist/{markdown-tables-CzsockiZ.js → markdown-tables-CsrsXS80.js} +1 -1
- package/dist/{message-channel-C8QtrwEU.js → message-channel-Cg9KtLfy.js} +1 -1
- package/dist/{model-selection-1MMYqY6M.js → model-selection-Vtu6d5Um.js} +41 -41
- package/dist/{models-Dvyot3-o.js → models-C6GypzZ1.js} +2 -2
- package/dist/{models-cli-Dtzht0md.js → models-cli-BaR1RccY.js} +4 -4
- package/dist/{models-cli-CKRL4j3x.js → models-cli-iLP9BnPA.js} +3 -3
- package/dist/{npm-resolution-BpruvRIr.js → npm-resolution-CWxaTTrT.js} +1 -1
- package/dist/{npm-resolution-iEXmU1Ol.js → npm-resolution-DYUWHUe5.js} +1 -1
- package/dist/{onboard-CS6IQorr.js → onboard-CinZ4CuY.js} +2 -2
- package/dist/{onboard-Ck4SwhZB.js → onboard-DdBsJgzg.js} +2 -2
- package/dist/{onboard-channels-CM4puuWQ.js → onboard-channels-9XAEsgO-.js} +1 -1
- package/dist/{onboard-channels-DzNjXM6f.js → onboard-channels-Bnwwq6TK.js} +1 -1
- package/dist/{onboarding-DMEJRAg4.js → onboarding-C4oujn63.js} +3 -3
- package/dist/{onboarding-0Pop0Cex.js → onboarding-DFvHWFqL.js} +3 -3
- package/dist/{onboarding.finalize-f2qChM_N.js → onboarding.finalize-BDWHPpyn.js} +6 -6
- package/dist/{onboarding.finalize-BZW1kZw7.js → onboarding.finalize-DMhdDTvo.js} +7 -7
- package/dist/{outbound-BNh6PpQb.js → outbound-BYm4JJli.js} +6 -6
- package/dist/{outbound-attachment-3I6GzwDe.js → outbound-attachment-DwaqvYNG.js} +2 -2
- package/dist/{path-alias-guards-Cu1nXNMM.js → path-alias-guards-BnjbJzIQ.js} +1 -1
- package/dist/{paths-D_qUel1T.js → paths-0fcEvxu4.js} +3 -3
- package/dist/{paths-BYNVLNi_.js → paths-CkTEyLTV.js} +5 -5
- package/dist/{pi-embedded-Oto02Ard.js → pi-embedded-BDp9JsrM.js} +175 -175
- package/dist/{pi-embedded-BKTKQn_9.js → pi-embedded-Dap1HAGA.js} +11 -11
- package/dist/{pi-embedded-helpers-CyTpDKo5.js → pi-embedded-helpers-B1CKQ81Y.js} +24 -24
- package/dist/{pi-model-discovery-Bb__OY-j.js → pi-model-discovery-DBHbwKOo.js} +7 -7
- package/dist/{plugin-registry-BfNJBiAr.js → plugin-registry-CGFy1ugt.js} +1 -1
- package/dist/{plugin-registry-PcN7mK-d.js → plugin-registry-LYzfPk35.js} +1 -1
- package/dist/plugin-sdk/{agent-via-gateway-l3LvRB7r.js → agent-via-gateway-De4e2_-W.js} +3 -2
- package/dist/plugin-sdk/{anton-DJn2RPpW.js → anton-BO16dWNw.js} +40 -11
- package/dist/plugin-sdk/{channel-web-DvztgyXI.js → channel-web-Cd-eamYe.js} +2 -2
- package/dist/plugin-sdk/commands/agent-via-gateway.d.ts +1 -0
- package/dist/plugin-sdk/{deps-B1DxdYuU.js → deps-D6VWIdk7.js} +1 -1
- package/dist/plugin-sdk/{emergency-stop-CVZuzTM7.js → emergency-stop-w-HD2bz4.js} +2 -2
- package/dist/plugin-sdk/index.js +3 -3
- package/dist/plugin-sdk/{reply-BhGucE6k.js → reply-BqAPyIsz.js} +11 -11
- package/dist/plugin-sdk/{web-BzmXmmAo.js → web-Dj_tThNQ.js} +3 -3
- package/dist/{plugins-CRB60mCJ.js → plugins-Bb6_uisJ.js} +10 -10
- package/dist/{plugins-cli-DOTZBHc7.js → plugins-cli-BCAcCeRZ.js} +3 -3
- package/dist/{plugins-cli-s1bEnfMn.js → plugins-cli-BQKfJ9aF.js} +3 -3
- package/dist/{program-Blak4A0H.js → program-Df-zk5RB.js} +8 -8
- package/dist/{program-context-DtHO30yM.js → program-context-DBOEyhi4.js} +18 -18
- package/dist/{prompt-select-styled-DuHE5c_O.js → prompt-select-styled-B0FsbRWb.js} +4 -4
- package/dist/{prompt-select-styled-D8vDTRY8.js → prompt-select-styled-DJVZSK4X.js} +4 -4
- package/dist/{provider-auth-helpers-PdlgGx1Z.js → provider-auth-helpers-Aojd4jNn.js} +1 -1
- package/dist/{provider-auth-helpers-CnqcE5__.js → provider-auth-helpers-D0cQmJkF.js} +1 -1
- package/dist/{push-apns-DkGS3lmo.js → push-apns-BtI9tV7C.js} +1 -1
- package/dist/{push-apns-CNVtKEbW.js → push-apns-qzriU6TC.js} +1 -1
- package/dist/{pw-ai-CowTfhOG.js → pw-ai-BKPa5DlF.js} +13 -13
- package/dist/{qmd-manager-B_GgyQQ0.js → qmd-manager-DEJVRLvM.js} +8 -8
- package/dist/{query-expansion-DEq020GG.js → query-expansion-CW7PqIXL.js} +5 -5
- package/dist/{redact-Bvpf-ATQ.js → redact-D1Ebz_iR.js} +1 -1
- package/dist/{register.agent-BGs6wEo-.js → register.agent-ButiRGeg.js} +9 -9
- package/dist/{register.agent-DliuXWG0.js → register.agent-Xdy9Gu3H.js} +8 -8
- package/dist/{register.configure-D9bNPRml.js → register.configure-f4xr9iKB.js} +8 -8
- package/dist/{register.configure-DJsShg2l.js → register.configure-m5qhbCOO.js} +8 -8
- package/dist/{register.maintenance-B-36Avrl.js → register.maintenance-BA4e0HDc.js} +8 -8
- package/dist/{register.maintenance-B7ZM7NqF.js → register.maintenance-N55abUee.js} +9 -9
- package/dist/{register.message-CmEzaYEw.js → register.message-DaVB6EYW.js} +3 -3
- package/dist/{register.message-Cm5P_dls.js → register.message-Zta0bYh0.js} +3 -3
- package/dist/{register.onboard-ByUSn1hy.js → register.onboard-BHKf5Emm.js} +2 -2
- package/dist/{register.onboard-cB-UkXhL.js → register.onboard-BikBO9Gs.js} +2 -2
- package/dist/{register.orchestrator-anton-D_mAceTk.js → register.orchestrator-anton-DtPFOV9F.js} +2 -2
- package/dist/{register.orchestrator-anton-CADua5Nr.js → register.orchestrator-anton-x3yGok7b.js} +2 -2
- package/dist/{register.setup-CA3WwC1V.js → register.setup-BeRMjZaz.js} +2 -2
- package/dist/{register.setup-DOnWysTP.js → register.setup-DCIPrpG0.js} +2 -2
- package/dist/{register.status-health-sessions-DgR30NBl.js → register.status-health-sessions-CA5wMwpi.js} +4 -4
- package/dist/{register.status-health-sessions-Dsvbkrhh.js → register.status-health-sessions-I0YSjY_V.js} +4 -4
- package/dist/{register.subclis-CvN5J3oh.js → register.subclis-DZkq_g35.js} +9 -9
- package/dist/{replies-6_GxvQYe.js → replies-CXcxPRWk.js} +3 -3
- package/dist/{reply-D6y5faqD.js → reply-DlS9HBVo.js} +11 -11
- package/dist/{reply-prefix-BUgeSN2R.js → reply-prefix-49q2WQ2B.js} +1 -1
- package/dist/{resolve-route-DuttYY7A.js → resolve-route-Dr-fqH39.js} +4 -4
- package/dist/{retry-BeB9WenR.js → retry-DWN-e4ja.js} +1 -1
- package/dist/{run-main-BBYeikWD.js → run-main-B75ak_hb.js} +15 -15
- package/dist/{runner-BzNdfqDz.js → runner-DO528Ump.js} +11 -11
- package/dist/{send-BeIZJuy4.js → send-BspIjWIY.js} +7 -7
- package/dist/{send-DmLC7aEF.js → send-BypmtKl1.js} +10 -10
- package/dist/{send-D4bMycQu.js → send-CRnMBrJ2.js} +7 -7
- package/dist/{send-Dfa3sn6r.js → send-De8xTUIV.js} +24 -24
- package/dist/{send-C1hvd3bt.js → send-szC_vYk_.js} +6 -6
- package/dist/{server-node-events-CcAiA2an.js → server-node-events-B1RPoseF.js} +3 -3
- package/dist/{server-node-events-DeBYOK05.js → server-node-events-CufCnFp4.js} +3 -3
- package/dist/{session-F_YDS_1V.js → session-CKiIT4OY.js} +7 -7
- package/dist/{sessions-3ioSeOA1.js → sessions-BgxmLQuf.js} +41 -41
- package/dist/{skill-commands-Ck3flWX7.js → skill-commands-BOUMR5De.js} +9 -9
- package/dist/{skills-CnAPWfca.js → skills-OsjsCf_S.js} +22 -22
- package/dist/{status-Dd0rJBTD.js → status-ERmEJYw1.js} +2 -2
- package/dist/{status-BW8aF7xu.js → status-hXjECVBh.js} +2 -2
- package/dist/{store-CvMgrKWx.js → store-B4rHJvSg.js} +2 -2
- package/dist/{subagent-registry-DeXWDNty.js → subagent-registry-CcxZYIwL.js} +11 -11
- package/dist/{subsystem-tzu-rIAJ.js → subsystem-B98oWbbO.js} +1 -1
- package/dist/{tables-5k-zOZ-s.js → tables-DuOExt0S.js} +1 -1
- package/dist/{target-errors-BPfQrPim.js → target-errors-CWZr3RMI.js} +2 -2
- package/dist/{tokens-BRLyURxW.js → tokens-B9ArFCMX.js} +1 -1
- package/dist/{tool-images-CcGZpzmq.js → tool-images-DLiBUCZb.js} +2 -2
- package/dist/{tool-loop-detection-BNGetx3Z.js → tool-loop-detection-j48jLTrr.js} +3 -3
- package/dist/{update-cli-C97163Ne.js → update-cli-DROtjWg7.js} +9 -9
- package/dist/{update-cli-DLWAR9u6.js → update-cli-Rnv68OR6.js} +8 -8
- package/dist/{update-runner-Cft2lh5r.js → update-runner-BWxBVG9j.js} +1 -1
- package/dist/{update-runner-BV9LWTCG.js → update-runner-CqeNDbPD.js} +1 -1
- package/dist/{utils-CTFLl_ji.js → utils-ChNzRVsg.js} +18 -18
- package/dist/{web-BwZ1OGaX.js → web-5ddwA0bs.js} +66 -66
- package/dist/{web-D8zB-Qkg.js → web-BMSzFWiF.js} +3 -3
- package/dist/{web-DGPTqAhk.js → web-BQLIquZA.js} +3 -3
- package/dist/{web-Da_aB4Vm.js → web-CnzKMZK0.js} +3 -3
- package/dist/{whatsapp-actions-DbPcN6JQ.js → whatsapp-actions-CYraflBZ.js} +25 -25
- package/dist/{workspace-DBFSzT6O.js → workspace-AM44PzIs.js} +18 -18
- 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 +12 -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 +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -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 +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/emergency-stop-w0AyIMs7.js +0 -113
|
@@ -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-ClQrLbgo.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
|
}
|
|
@@ -245,18 +246,44 @@ function makePlanFilePath(planDir, taskIndex) {
|
|
|
245
246
|
async function ensurePlanDir(planDir) {
|
|
246
247
|
await fs.mkdir(planDir, { recursive: true });
|
|
247
248
|
}
|
|
249
|
+
function looksLikeStatusJsonOnly(text) {
|
|
250
|
+
const trimmed = text.trim();
|
|
251
|
+
if (!trimmed.startsWith("{") || !trimmed.endsWith("}")) return false;
|
|
252
|
+
try {
|
|
253
|
+
const parsed = JSON.parse(trimmed);
|
|
254
|
+
const keys = Object.keys(parsed).toSorted();
|
|
255
|
+
return keys.length <= 3 && keys.includes("status") && keys.includes("filename");
|
|
256
|
+
} catch {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
function isUsefulPlanText(text) {
|
|
261
|
+
const trimmed = text.trim();
|
|
262
|
+
if (trimmed.length < 120) return false;
|
|
263
|
+
if (looksLikeStatusJsonOnly(trimmed)) return false;
|
|
264
|
+
return /^#\s+/m.test(trimmed) || /\b(Implementation approach|What needs to change|Files to modify|How to verify)\b/i.test(trimmed);
|
|
265
|
+
}
|
|
248
266
|
async function isPlanFileValid(filePath) {
|
|
249
267
|
try {
|
|
250
268
|
const stat = await fs.stat(filePath);
|
|
251
|
-
|
|
269
|
+
if (!stat.isFile() || stat.size < 20) return false;
|
|
270
|
+
return isUsefulPlanText(await fs.readFile(filePath, "utf8"));
|
|
252
271
|
} catch {
|
|
253
272
|
return false;
|
|
254
273
|
}
|
|
255
274
|
}
|
|
256
|
-
async function getGitChangedFileCount(cwd) {
|
|
275
|
+
async function getGitChangedFileCount(cwd, ignorePaths = []) {
|
|
257
276
|
try {
|
|
258
277
|
const { stdout } = await execFile$1("git", ["status", "--porcelain"], { cwd });
|
|
259
|
-
|
|
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;
|
|
260
287
|
} catch {
|
|
261
288
|
return null;
|
|
262
289
|
}
|
|
@@ -290,7 +317,7 @@ function extractJsonObject(text) {
|
|
|
290
317
|
}
|
|
291
318
|
function extractPlanMarkdownFromText(text) {
|
|
292
319
|
const candidate = text.match(/```(?:markdown|md)?\s*([\s\S]*?)```/i)?.[1]?.trim() ?? text.trim();
|
|
293
|
-
if (candidate
|
|
320
|
+
if (!isUsefulPlanText(candidate)) return;
|
|
294
321
|
return candidate;
|
|
295
322
|
}
|
|
296
323
|
function normalizeDiscoveryFilename(filename, expectedPlanFile) {
|
|
@@ -314,7 +341,7 @@ Task: ${task}`;
|
|
|
314
341
|
}
|
|
315
342
|
async function tryPersistPlanFallback(params) {
|
|
316
343
|
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
|
|
344
|
+
if (!isUsefulPlanText(planText)) return false;
|
|
318
345
|
await fs.writeFile(params.planFile, `${planText}\n`, "utf8");
|
|
319
346
|
return await isPlanFileValid(params.planFile);
|
|
320
347
|
}
|
|
@@ -348,7 +375,7 @@ async function runDiscoveryPhase(args) {
|
|
|
348
375
|
workspaceDir: args.workspaceDir
|
|
349
376
|
});
|
|
350
377
|
const firstParsed = extractJsonObject(firstPass.text);
|
|
351
|
-
if ((firstParsed?.status ?? "").toLowerCase() === "complete")
|
|
378
|
+
if ((firstParsed?.status ?? "").toLowerCase() === "complete") throw new Error("Discovery claimed task already complete without a verifiable plan artifact; refusing auto-complete");
|
|
352
379
|
const declaredPlanFile = normalizeDiscoveryFilename(firstParsed?.filename, planFile);
|
|
353
380
|
if (await isPlanFileValid(declaredPlanFile)) {
|
|
354
381
|
await args.notify({
|
|
@@ -399,7 +426,7 @@ async function runDiscoveryPhase(args) {
|
|
|
399
426
|
workspaceDir: args.workspaceDir
|
|
400
427
|
});
|
|
401
428
|
const repairParsed = extractJsonObject(repairPass.text);
|
|
402
|
-
if ((repairParsed?.status ?? "").toLowerCase() === "complete")
|
|
429
|
+
if ((repairParsed?.status ?? "").toLowerCase() === "complete") throw new Error("Discovery repair claimed task complete without a verifiable plan artifact; refusing auto-complete");
|
|
403
430
|
const repairPlanFile = normalizeDiscoveryFilename(repairParsed?.filename, declaredPlanFile);
|
|
404
431
|
if (await isPlanFileValid(repairPlanFile) || await tryPersistPlanFallback({
|
|
405
432
|
planFile: repairPlanFile,
|
|
@@ -657,7 +684,9 @@ async function runAnton(args) {
|
|
|
657
684
|
});
|
|
658
685
|
const implPrompt = planFile ? buildImplementationPrompt(task.text, planFile) : buildDirectTaskPrompt(task.text);
|
|
659
686
|
const gitCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
|
|
660
|
-
const
|
|
687
|
+
const taskFileRel = path.relative(gitCwd, filePath).replace(/\\/g, "/");
|
|
688
|
+
const changeIgnores = taskFileRel.startsWith("..") ? [] : [taskFileRel];
|
|
689
|
+
const changedBefore = await getGitChangedFileCount(gitCwd, changeIgnores);
|
|
661
690
|
await runAgentTask({
|
|
662
691
|
message: implPrompt,
|
|
663
692
|
sessionId: implSessionId,
|
|
@@ -668,7 +697,7 @@ async function runAnton(args) {
|
|
|
668
697
|
deps: args.deps,
|
|
669
698
|
workspaceDir: args.workspaceDir
|
|
670
699
|
});
|
|
671
|
-
const changedAfter = await getGitChangedFileCount(gitCwd);
|
|
700
|
+
const changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
|
|
672
701
|
if (mode === "preflight" && changedBefore !== null && changedAfter !== null && changedAfter <= changedBefore) throw new Error("Implementation made no repository changes; refusing to mark task complete");
|
|
673
702
|
const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
|
|
674
703
|
await fs.writeFile(filePath, updated, "utf8");
|
|
@@ -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-CC37LlPd.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
|
}
|
|
@@ -239,18 +240,44 @@ function makePlanFilePath(planDir, taskIndex) {
|
|
|
239
240
|
async function ensurePlanDir(planDir) {
|
|
240
241
|
await fs.mkdir(planDir, { recursive: true });
|
|
241
242
|
}
|
|
243
|
+
function looksLikeStatusJsonOnly(text) {
|
|
244
|
+
const trimmed = text.trim();
|
|
245
|
+
if (!trimmed.startsWith("{") || !trimmed.endsWith("}")) return false;
|
|
246
|
+
try {
|
|
247
|
+
const parsed = JSON.parse(trimmed);
|
|
248
|
+
const keys = Object.keys(parsed).toSorted();
|
|
249
|
+
return keys.length <= 3 && keys.includes("status") && keys.includes("filename");
|
|
250
|
+
} catch {
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
function isUsefulPlanText(text) {
|
|
255
|
+
const trimmed = text.trim();
|
|
256
|
+
if (trimmed.length < 120) return false;
|
|
257
|
+
if (looksLikeStatusJsonOnly(trimmed)) return false;
|
|
258
|
+
return /^#\s+/m.test(trimmed) || /\b(Implementation approach|What needs to change|Files to modify|How to verify)\b/i.test(trimmed);
|
|
259
|
+
}
|
|
242
260
|
async function isPlanFileValid(filePath) {
|
|
243
261
|
try {
|
|
244
262
|
const stat = await fs.stat(filePath);
|
|
245
|
-
|
|
263
|
+
if (!stat.isFile() || stat.size < 20) return false;
|
|
264
|
+
return isUsefulPlanText(await fs.readFile(filePath, "utf8"));
|
|
246
265
|
} catch {
|
|
247
266
|
return false;
|
|
248
267
|
}
|
|
249
268
|
}
|
|
250
|
-
async function getGitChangedFileCount(cwd) {
|
|
269
|
+
async function getGitChangedFileCount(cwd, ignorePaths = []) {
|
|
251
270
|
try {
|
|
252
271
|
const { stdout } = await execFile$1("git", ["status", "--porcelain"], { cwd });
|
|
253
|
-
|
|
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;
|
|
254
281
|
} catch {
|
|
255
282
|
return null;
|
|
256
283
|
}
|
|
@@ -284,7 +311,7 @@ function extractJsonObject(text) {
|
|
|
284
311
|
}
|
|
285
312
|
function extractPlanMarkdownFromText(text) {
|
|
286
313
|
const candidate = text.match(/```(?:markdown|md)?\s*([\s\S]*?)```/i)?.[1]?.trim() ?? text.trim();
|
|
287
|
-
if (candidate
|
|
314
|
+
if (!isUsefulPlanText(candidate)) return;
|
|
288
315
|
return candidate;
|
|
289
316
|
}
|
|
290
317
|
function normalizeDiscoveryFilename(filename, expectedPlanFile) {
|
|
@@ -308,7 +335,7 @@ Task: ${task}`;
|
|
|
308
335
|
}
|
|
309
336
|
async function tryPersistPlanFallback(params) {
|
|
310
337
|
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
|
|
338
|
+
if (!isUsefulPlanText(planText)) return false;
|
|
312
339
|
await fs.writeFile(params.planFile, `${planText}\n`, "utf8");
|
|
313
340
|
return await isPlanFileValid(params.planFile);
|
|
314
341
|
}
|
|
@@ -342,7 +369,7 @@ async function runDiscoveryPhase(args) {
|
|
|
342
369
|
workspaceDir: args.workspaceDir
|
|
343
370
|
});
|
|
344
371
|
const firstParsed = extractJsonObject(firstPass.text);
|
|
345
|
-
if ((firstParsed?.status ?? "").toLowerCase() === "complete")
|
|
372
|
+
if ((firstParsed?.status ?? "").toLowerCase() === "complete") throw new Error("Discovery claimed task already complete without a verifiable plan artifact; refusing auto-complete");
|
|
346
373
|
const declaredPlanFile = normalizeDiscoveryFilename(firstParsed?.filename, planFile);
|
|
347
374
|
if (await isPlanFileValid(declaredPlanFile)) {
|
|
348
375
|
await args.notify({
|
|
@@ -393,7 +420,7 @@ async function runDiscoveryPhase(args) {
|
|
|
393
420
|
workspaceDir: args.workspaceDir
|
|
394
421
|
});
|
|
395
422
|
const repairParsed = extractJsonObject(repairPass.text);
|
|
396
|
-
if ((repairParsed?.status ?? "").toLowerCase() === "complete")
|
|
423
|
+
if ((repairParsed?.status ?? "").toLowerCase() === "complete") throw new Error("Discovery repair claimed task complete without a verifiable plan artifact; refusing auto-complete");
|
|
397
424
|
const repairPlanFile = normalizeDiscoveryFilename(repairParsed?.filename, declaredPlanFile);
|
|
398
425
|
if (await isPlanFileValid(repairPlanFile) || await tryPersistPlanFallback({
|
|
399
426
|
planFile: repairPlanFile,
|
|
@@ -651,7 +678,9 @@ async function runAnton(args) {
|
|
|
651
678
|
});
|
|
652
679
|
const implPrompt = planFile ? buildImplementationPrompt(task.text, planFile) : buildDirectTaskPrompt(task.text);
|
|
653
680
|
const gitCwd = args.workspaceDir ? path.resolve(args.workspaceDir) : path.dirname(filePath);
|
|
654
|
-
const
|
|
681
|
+
const taskFileRel = path.relative(gitCwd, filePath).replace(/\\/g, "/");
|
|
682
|
+
const changeIgnores = taskFileRel.startsWith("..") ? [] : [taskFileRel];
|
|
683
|
+
const changedBefore = await getGitChangedFileCount(gitCwd, changeIgnores);
|
|
655
684
|
await runAgentTask({
|
|
656
685
|
message: implPrompt,
|
|
657
686
|
sessionId: implSessionId,
|
|
@@ -662,7 +691,7 @@ async function runAnton(args) {
|
|
|
662
691
|
deps: args.deps,
|
|
663
692
|
workspaceDir: args.workspaceDir
|
|
664
693
|
});
|
|
665
|
-
const changedAfter = await getGitChangedFileCount(gitCwd);
|
|
694
|
+
const changedAfter = await getGitChangedFileCount(gitCwd, changeIgnores);
|
|
666
695
|
if (mode === "preflight" && changedBefore !== null && changedAfter !== null && changedAfter <= changedBefore) throw new Error("Implementation made no repository changes; refusing to mark task complete");
|
|
667
696
|
const updated = markTaskDone(await fs.readFile(filePath, "utf8"), task.line);
|
|
668
697
|
await fs.writeFile(filePath, updated, "utf8");
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import "./agent-scope-
|
|
2
|
-
import "./paths-
|
|
3
|
-
import "./subsystem-
|
|
4
|
-
import { A as shouldLogVerbose, D as logVerbose } from "./utils-
|
|
1
|
+
import "./agent-scope-BVeQuh5x.js";
|
|
2
|
+
import "./paths-CkTEyLTV.js";
|
|
3
|
+
import "./subsystem-B98oWbbO.js";
|
|
4
|
+
import { A as shouldLogVerbose, D as logVerbose } from "./utils-ChNzRVsg.js";
|
|
5
5
|
import "./runtime-8mi3mpYB.js";
|
|
6
|
-
import "./workspace-
|
|
7
|
-
import "./model-selection-
|
|
8
|
-
import "./github-copilot-token-
|
|
6
|
+
import "./workspace-AM44PzIs.js";
|
|
7
|
+
import "./model-selection-Vtu6d5Um.js";
|
|
8
|
+
import "./github-copilot-token-DCg9Q9Ll.js";
|
|
9
9
|
import "./boolean-CE7i9tBR.js";
|
|
10
|
-
import "./env-
|
|
11
|
-
import "./dock-
|
|
12
|
-
import "./plugins-
|
|
13
|
-
import "./accounts-
|
|
14
|
-
import "./bindings-
|
|
15
|
-
import "./auth-store-
|
|
16
|
-
import "./accounts-
|
|
17
|
-
import "./image-ops-
|
|
18
|
-
import "./pi-model-discovery-
|
|
19
|
-
import "./message-channel-
|
|
20
|
-
import "./pi-embedded-helpers-
|
|
21
|
-
import "./chrome-
|
|
10
|
+
import "./env-B7b7MKfk.js";
|
|
11
|
+
import "./dock-6MgvdSqu.js";
|
|
12
|
+
import "./plugins-Bb6_uisJ.js";
|
|
13
|
+
import "./accounts-CRDMZUcg.js";
|
|
14
|
+
import "./bindings-B9L4cqmm.js";
|
|
15
|
+
import "./auth-store-DQAd4LSE.js";
|
|
16
|
+
import "./accounts-upx5iuke.js";
|
|
17
|
+
import "./image-ops-ZNtLhD4c.js";
|
|
18
|
+
import "./pi-model-discovery-DBHbwKOo.js";
|
|
19
|
+
import "./message-channel-Cg9KtLfy.js";
|
|
20
|
+
import "./pi-embedded-helpers-B1CKQ81Y.js";
|
|
21
|
+
import "./chrome-D_SXDetO.js";
|
|
22
22
|
import "./ssrf-CZeHDwVZ.js";
|
|
23
|
-
import "./frontmatter-
|
|
24
|
-
import "./skills-
|
|
25
|
-
import "./path-alias-guards-
|
|
26
|
-
import "./redact-
|
|
27
|
-
import "./errors
|
|
28
|
-
import "./fs-safe-
|
|
29
|
-
import "./store-
|
|
30
|
-
import "./sessions-
|
|
31
|
-
import "./accounts-
|
|
32
|
-
import "./paths-
|
|
33
|
-
import "./tool-images-
|
|
23
|
+
import "./frontmatter-p8nPDprK.js";
|
|
24
|
+
import "./skills-OsjsCf_S.js";
|
|
25
|
+
import "./path-alias-guards-BnjbJzIQ.js";
|
|
26
|
+
import "./redact-D1Ebz_iR.js";
|
|
27
|
+
import "./errors--Eb33_ji.js";
|
|
28
|
+
import "./fs-safe-BEl8T_Vc.js";
|
|
29
|
+
import "./store-B4rHJvSg.js";
|
|
30
|
+
import "./sessions-BgxmLQuf.js";
|
|
31
|
+
import "./accounts-yD5yI-jP.js";
|
|
32
|
+
import "./paths-0fcEvxu4.js";
|
|
33
|
+
import "./tool-images-DLiBUCZb.js";
|
|
34
34
|
import "./thinking-z4_linel.js";
|
|
35
|
-
import "./image-
|
|
36
|
-
import "./gemini-auth-
|
|
37
|
-
import "./fetch-guard-
|
|
38
|
-
import "./local-roots-
|
|
39
|
-
import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-
|
|
35
|
+
import "./image-BQ3RQWD8.js";
|
|
36
|
+
import "./gemini-auth-CA0K3QXj.js";
|
|
37
|
+
import "./fetch-guard-OZ_PCUyr.js";
|
|
38
|
+
import "./local-roots-C9CA2f0R.js";
|
|
39
|
+
import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-DO528Ump.js";
|
|
40
40
|
|
|
41
41
|
//#region src/media-understanding/audio-preflight.ts
|
|
42
42
|
/**
|
|
@@ -6,7 +6,7 @@ import { n as loadModelCatalog } from "./model-catalog-DYWymzg_.js";
|
|
|
6
6
|
import { f as openUrl } from "./onboard-helpers-Dp6wXNs7.js";
|
|
7
7
|
import { t as enablePluginInConfig } from "./enable-CMXupNXl.js";
|
|
8
8
|
import { $ as ZAI_DEFAULT_MODEL_REF, A as applyTogetherConfig, B as applyLitellmConfig, C as applyMoonshotProviderConfigCn, Ct as writeOAuthCredentials, D as applyQianfanProviderConfig, Dt as QIANFAN_DEFAULT_MODEL_REF, E as applyQianfanConfig, Et as MOONSHOT_DEFAULT_MODEL_REF, F as applyXaiProviderConfig, G as applyVercelAiGatewayProviderConfig, H as applyCloudflareAiGatewayConfig, I as applyXiaomiConfig, J as LITELLM_DEFAULT_MODEL_REF, K as applyAgentDefaultModelPrimary, L as applyXiaomiProviderConfig, M as applyVeniceConfig, N as applyVeniceProviderConfig, O as applySyntheticConfig, Ot as XAI_DEFAULT_MODEL_REF, P as applyXaiConfig, Q as XIAOMI_DEFAULT_MODEL_REF, R as applyZaiConfig, S as applyMoonshotProviderConfig, St as setZaiApiKey, T as applyOpenrouterProviderConfig, Tt as MISTRAL_DEFAULT_MODEL_REF, U as applyCloudflareAiGatewayProviderConfig, V as applyLitellmProviderConfig, W as applyVercelAiGatewayConfig, X as TOGETHER_DEFAULT_MODEL_REF, Y as OPENROUTER_DEFAULT_MODEL_REF, Z as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, _ as applyKimiCodeProviderConfig, _t as setVeniceApiKey, a as applyMinimaxApiConfig, at as setKilocodeApiKey, b as applyMoonshotConfig, bt as setXaiApiKey, c as applyMinimaxApiProviderConfigCn, ct as setMinimaxApiKey, d as applyAuthProfileConfig, dt as setOpenaiApiKey, et as setAnthropicApiKey, ft as setOpencodeZenApiKey, g as applyKimiCodeConfig, gt as setTogetherApiKey, h as applyKilocodeProviderConfig, ht as setSyntheticApiKey, i as applyOpencodeZenProviderConfig, it as setHuggingfaceApiKey, j as applyTogetherProviderConfig, k as applySyntheticProviderConfig, l as applyMinimaxConfig, lt as setMistralApiKey, m as applyKilocodeConfig, mt as setQianfanApiKey, n as validateAnthropicSetupToken, nt as setCloudflareAiGatewayConfig, o as applyMinimaxApiConfigCn, ot as setKimiCodingApiKey, p as applyHuggingfaceProviderConfig, pt as setOpenrouterApiKey, q as HUGGINGFACE_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setGeminiApiKey, s as applyMinimaxApiProviderConfig, st as setLitellmApiKey, t as buildTokenProfileId, tt as setByteplusApiKey, u as applyMinimaxProviderConfig, ut as setMoonshotApiKey, v as applyMistralConfig, vt as setVercelAiGatewayApiKey, w as applyOpenrouterConfig, wt as KIMI_CODING_MODEL_REF, x as applyMoonshotConfigCn, xt as setXiaomiApiKey, y as applyMistralProviderConfig, yt as setVolcengineApiKey, z as applyZaiProviderConfig } from "./auth-token-BQ_ECwH7.js";
|
|
9
|
-
import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-
|
|
9
|
+
import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-D0cQmJkF.js";
|
|
10
10
|
import { a as ensureApiKeyFromOptionEnvOrPrompt, c as applyDefaultModelChoice, d as validateApiKeyInput, l as ensureModelAllowlistEntry, n as createAuthChoiceDefaultModelApplier, o as normalizeSecretInputModeInput, r as createAuthChoiceModelStateBridge, s as normalizeTokenProviderInput, t as createAuthChoiceAgentModelNoter, u as normalizeApiKeyInput } from "./auth-choice.apply-helpers-Bj-Y-Sar.js";
|
|
11
11
|
import { a as GOOGLE_GEMINI_DEFAULT_MODEL, i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault, r as applyOpenAIProviderConfig, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-DTIibBxa.js";
|
|
12
12
|
import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-D_yngXMe.js";
|
|
@@ -6,7 +6,7 @@ import { n as loadModelCatalog } from "./model-catalog-D9no0CH2.js";
|
|
|
6
6
|
import { f as openUrl } from "./onboard-helpers-BQmbMJxJ.js";
|
|
7
7
|
import { t as enablePluginInConfig } from "./enable-o_s6PBsC.js";
|
|
8
8
|
import { $ as ZAI_DEFAULT_MODEL_REF, A as applyTogetherConfig, B as applyLitellmConfig, C as applyMoonshotProviderConfigCn, Ct as writeOAuthCredentials, D as applyQianfanProviderConfig, Dt as QIANFAN_DEFAULT_MODEL_REF, E as applyQianfanConfig, Et as MOONSHOT_DEFAULT_MODEL_REF, F as applyXaiProviderConfig, G as applyVercelAiGatewayProviderConfig, H as applyCloudflareAiGatewayConfig, I as applyXiaomiConfig, J as LITELLM_DEFAULT_MODEL_REF, K as applyAgentDefaultModelPrimary, L as applyXiaomiProviderConfig, M as applyVeniceConfig, N as applyVeniceProviderConfig, O as applySyntheticConfig, Ot as XAI_DEFAULT_MODEL_REF, P as applyXaiConfig, Q as XIAOMI_DEFAULT_MODEL_REF, R as applyZaiConfig, S as applyMoonshotProviderConfig, St as setZaiApiKey, T as applyOpenrouterProviderConfig, Tt as MISTRAL_DEFAULT_MODEL_REF, U as applyCloudflareAiGatewayProviderConfig, V as applyLitellmProviderConfig, W as applyVercelAiGatewayConfig, X as TOGETHER_DEFAULT_MODEL_REF, Y as OPENROUTER_DEFAULT_MODEL_REF, Z as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, _ as applyKimiCodeProviderConfig, _t as setVeniceApiKey, a as applyMinimaxApiConfig, at as setKilocodeApiKey, b as applyMoonshotConfig, bt as setXaiApiKey, c as applyMinimaxApiProviderConfigCn, ct as setMinimaxApiKey, d as applyAuthProfileConfig, dt as setOpenaiApiKey, et as setAnthropicApiKey, ft as setOpencodeZenApiKey, g as applyKimiCodeConfig, gt as setTogetherApiKey, h as applyKilocodeProviderConfig, ht as setSyntheticApiKey, i as applyOpencodeZenProviderConfig, it as setHuggingfaceApiKey, j as applyTogetherProviderConfig, k as applySyntheticProviderConfig, l as applyMinimaxConfig, lt as setMistralApiKey, m as applyKilocodeConfig, mt as setQianfanApiKey, n as validateAnthropicSetupToken, nt as setCloudflareAiGatewayConfig, o as applyMinimaxApiConfigCn, ot as setKimiCodingApiKey, p as applyHuggingfaceProviderConfig, pt as setOpenrouterApiKey, q as HUGGINGFACE_DEFAULT_MODEL_REF, r as applyOpencodeZenConfig, rt as setGeminiApiKey, s as applyMinimaxApiProviderConfig, st as setLitellmApiKey, t as buildTokenProfileId, tt as setByteplusApiKey, u as applyMinimaxProviderConfig, ut as setMoonshotApiKey, v as applyMistralConfig, vt as setVercelAiGatewayApiKey, w as applyOpenrouterConfig, wt as KIMI_CODING_MODEL_REF, x as applyMoonshotConfigCn, xt as setXiaomiApiKey, y as applyMistralProviderConfig, yt as setVolcengineApiKey, z as applyZaiProviderConfig } from "./auth-token-BJq87X3o.js";
|
|
9
|
-
import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-
|
|
9
|
+
import { a as createVpsAwareOAuthHandlers, c as githubCopilotLoginCommand, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-Aojd4jNn.js";
|
|
10
10
|
import { a as ensureApiKeyFromOptionEnvOrPrompt, c as applyDefaultModelChoice, d as validateApiKeyInput, l as ensureModelAllowlistEntry, n as createAuthChoiceDefaultModelApplier, o as normalizeSecretInputModeInput, r as createAuthChoiceModelStateBridge, s as normalizeTokenProviderInput, t as createAuthChoiceAgentModelNoter, u as normalizeApiKeyInput } from "./auth-choice.apply-helpers-CGcniL1T.js";
|
|
11
11
|
import { a as GOOGLE_GEMINI_DEFAULT_MODEL, i as detectZaiEndpoint, n as applyOpenAIConfig, o as applyGoogleGeminiModelDefault, r as applyOpenAIProviderConfig, t as OPENAI_DEFAULT_MODEL } from "./openai-model-default-7J6cw1rA.js";
|
|
12
12
|
import { c as OPENAI_CODEX_DEFAULT_MODEL, l as applyOpenAICodexModelDefault, r as applyPrimaryModel, s as promptAndConfigureVllm } from "./model-picker-BkXoTOiA.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { l as resolveOAuthDir } from "./paths-
|
|
2
|
-
import { I as getChildLogger, T as info, h as resolveUserPath, j as success, u as jidToE164 } from "./utils-
|
|
1
|
+
import { l as resolveOAuthDir } from "./paths-CkTEyLTV.js";
|
|
2
|
+
import { I as getChildLogger, T as info, h as resolveUserPath, j as success, u as jidToE164 } from "./utils-ChNzRVsg.js";
|
|
3
3
|
import { n as defaultRuntime } from "./runtime-8mi3mpYB.js";
|
|
4
4
|
import { f as DEFAULT_ACCOUNT_ID } from "./session-key-CuLPSMu_.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
|
|
6
6
|
import fs from "node:fs/promises";
|
|
7
7
|
import path from "node:path";
|
|
8
|
-
import
|
|
8
|
+
import fsSync from "node:fs";
|
|
9
9
|
|
|
10
10
|
//#region src/web/auth-store.ts
|
|
11
11
|
function resolveDefaultWebAuthDir() {
|
|
@@ -20,7 +20,7 @@ function resolveWebCredsBackupPath(authDir) {
|
|
|
20
20
|
}
|
|
21
21
|
function hasWebCredsSync(authDir) {
|
|
22
22
|
try {
|
|
23
|
-
const stats =
|
|
23
|
+
const stats = fsSync.statSync(resolveWebCredsPath(authDir));
|
|
24
24
|
return stats.isFile() && stats.size > 1;
|
|
25
25
|
} catch {
|
|
26
26
|
return false;
|
|
@@ -28,10 +28,10 @@ function hasWebCredsSync(authDir) {
|
|
|
28
28
|
}
|
|
29
29
|
function readCredsJsonRaw(filePath) {
|
|
30
30
|
try {
|
|
31
|
-
if (!
|
|
32
|
-
const stats =
|
|
31
|
+
if (!fsSync.existsSync(filePath)) return null;
|
|
32
|
+
const stats = fsSync.statSync(filePath);
|
|
33
33
|
if (!stats.isFile() || stats.size <= 1) return null;
|
|
34
|
-
return
|
|
34
|
+
return fsSync.readFileSync(filePath, "utf-8");
|
|
35
35
|
} catch {
|
|
36
36
|
return null;
|
|
37
37
|
}
|
|
@@ -49,9 +49,9 @@ function maybeRestoreCredsFromBackup(authDir) {
|
|
|
49
49
|
const backupRaw = readCredsJsonRaw(backupPath);
|
|
50
50
|
if (!backupRaw) return;
|
|
51
51
|
JSON.parse(backupRaw);
|
|
52
|
-
|
|
52
|
+
fsSync.copyFileSync(backupPath, credsPath);
|
|
53
53
|
try {
|
|
54
|
-
|
|
54
|
+
fsSync.chmodSync(credsPath, 384);
|
|
55
55
|
} catch {}
|
|
56
56
|
logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
|
|
57
57
|
} catch {}
|
|
@@ -107,11 +107,11 @@ async function logoutWeb(params) {
|
|
|
107
107
|
function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
|
|
108
108
|
try {
|
|
109
109
|
const credsPath = resolveWebCredsPath(resolveUserPath(authDir));
|
|
110
|
-
if (!
|
|
110
|
+
if (!fsSync.existsSync(credsPath)) return {
|
|
111
111
|
e164: null,
|
|
112
112
|
jid: null
|
|
113
113
|
};
|
|
114
|
-
const raw =
|
|
114
|
+
const raw = fsSync.readFileSync(credsPath, "utf-8");
|
|
115
115
|
const jid = JSON.parse(raw)?.me?.id ?? null;
|
|
116
116
|
return {
|
|
117
117
|
e164: jid ? jidToE164(jid, { authDir }) : null,
|
|
@@ -130,7 +130,7 @@ function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
|
|
|
130
130
|
*/
|
|
131
131
|
function getWebAuthAgeMs(authDir = resolveDefaultWebAuthDir()) {
|
|
132
132
|
try {
|
|
133
|
-
const stats =
|
|
133
|
+
const stats = fsSync.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
|
|
134
134
|
return Date.now() - stats.mtimeMs;
|
|
135
135
|
} catch {
|
|
136
136
|
return null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { St as theme, g as visibleWidth, sn as hasRootVersionAlias, xt as isRich } from "./entry.js";
|
|
2
|
-
import { Tn as resolveCommitHash } from "./subagent-registry-
|
|
2
|
+
import { Tn as resolveCommitHash } from "./subagent-registry-CcxZYIwL.js";
|
|
3
3
|
|
|
4
4
|
//#region src/cli/tagline.ts
|
|
5
5
|
const DEFAULT_TAGLINE = "All your chats, one IdleHands.";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as resolveDefaultAgentId } from "./agent-scope-
|
|
2
|
-
import { c as normalizeChatChannelId } from "./subsystem-
|
|
1
|
+
import { c as resolveDefaultAgentId } from "./agent-scope-BVeQuh5x.js";
|
|
2
|
+
import { c as normalizeChatChannelId } from "./subsystem-B98oWbbO.js";
|
|
3
3
|
import { p as normalizeAccountId, s as normalizeAgentId } from "./session-key-CuLPSMu_.js";
|
|
4
4
|
|
|
5
5
|
//#region src/routing/bindings.ts
|
package/dist/build-info.json
CHANGED
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import { n as listAgentIds, s as resolveAgentWorkspaceDir } from "../../agent-scope-
|
|
2
|
-
import "../../paths-
|
|
3
|
-
import { S as isGatewayStartupEvent, t as createSubsystemLogger } from "../../subsystem-
|
|
4
|
-
import "../../utils-
|
|
1
|
+
import { n as listAgentIds, s as resolveAgentWorkspaceDir } from "../../agent-scope-BVeQuh5x.js";
|
|
2
|
+
import "../../paths-CkTEyLTV.js";
|
|
3
|
+
import { S as isGatewayStartupEvent, t as createSubsystemLogger } from "../../subsystem-B98oWbbO.js";
|
|
4
|
+
import "../../utils-ChNzRVsg.js";
|
|
5
5
|
import { n as defaultRuntime } from "../../runtime-8mi3mpYB.js";
|
|
6
6
|
import { l as resolveAgentIdFromSessionKey } from "../../session-key-CuLPSMu_.js";
|
|
7
|
-
import "../../workspace-
|
|
8
|
-
import "../../model-selection-
|
|
9
|
-
import "../../github-copilot-token-
|
|
7
|
+
import "../../workspace-AM44PzIs.js";
|
|
8
|
+
import "../../model-selection-Vtu6d5Um.js";
|
|
9
|
+
import "../../github-copilot-token-DCg9Q9Ll.js";
|
|
10
10
|
import "../../boolean-CE7i9tBR.js";
|
|
11
|
-
import "../../env-
|
|
12
|
-
import "../../dock-
|
|
13
|
-
import { n as SILENT_REPLY_TOKEN } from "../../tokens-
|
|
14
|
-
import { a as agentCommand } from "../../pi-embedded-
|
|
15
|
-
import "../../plugins-
|
|
16
|
-
import "../../accounts-
|
|
17
|
-
import "../../bindings-
|
|
18
|
-
import "../../auth-store-
|
|
19
|
-
import "../../send-
|
|
20
|
-
import "../../send-
|
|
21
|
-
import "../../deliver-
|
|
22
|
-
import "../../diagnostic-
|
|
11
|
+
import "../../env-B7b7MKfk.js";
|
|
12
|
+
import "../../dock-6MgvdSqu.js";
|
|
13
|
+
import { n as SILENT_REPLY_TOKEN } from "../../tokens-B9ArFCMX.js";
|
|
14
|
+
import { a as agentCommand } from "../../pi-embedded-BDp9JsrM.js";
|
|
15
|
+
import "../../plugins-Bb6_uisJ.js";
|
|
16
|
+
import "../../accounts-CRDMZUcg.js";
|
|
17
|
+
import "../../bindings-B9L4cqmm.js";
|
|
18
|
+
import "../../auth-store-DQAd4LSE.js";
|
|
19
|
+
import "../../send-BspIjWIY.js";
|
|
20
|
+
import "../../send-BypmtKl1.js";
|
|
21
|
+
import "../../deliver-CJaM2zRY.js";
|
|
22
|
+
import "../../diagnostic-lz5wKsEe.js";
|
|
23
23
|
import "../../diagnostic-session-state-BGF2r-kt.js";
|
|
24
|
-
import "../../accounts-
|
|
25
|
-
import "../../send-
|
|
26
|
-
import "../../image-ops-
|
|
27
|
-
import "../../pi-model-discovery-
|
|
28
|
-
import "../../message-channel-
|
|
29
|
-
import "../../pi-embedded-helpers-
|
|
30
|
-
import "../../chrome-
|
|
24
|
+
import "../../accounts-upx5iuke.js";
|
|
25
|
+
import "../../send-De8xTUIV.js";
|
|
26
|
+
import "../../image-ops-ZNtLhD4c.js";
|
|
27
|
+
import "../../pi-model-discovery-DBHbwKOo.js";
|
|
28
|
+
import "../../message-channel-Cg9KtLfy.js";
|
|
29
|
+
import "../../pi-embedded-helpers-B1CKQ81Y.js";
|
|
30
|
+
import "../../chrome-D_SXDetO.js";
|
|
31
31
|
import "../../ssrf-CZeHDwVZ.js";
|
|
32
|
-
import "../../frontmatter-
|
|
33
|
-
import "../../skills-
|
|
34
|
-
import "../../path-alias-guards-
|
|
35
|
-
import "../../redact-
|
|
36
|
-
import "../../errors
|
|
37
|
-
import "../../fs-safe-
|
|
38
|
-
import "../../store-
|
|
39
|
-
import { H as resolveAgentMainSessionKey, W as resolveMainSessionKey, f as updateSessionStore, s as loadSessionStore } from "../../sessions-
|
|
40
|
-
import "../../accounts-
|
|
41
|
-
import { u as resolveStorePath } from "../../paths-
|
|
42
|
-
import "../../tool-images-
|
|
32
|
+
import "../../frontmatter-p8nPDprK.js";
|
|
33
|
+
import "../../skills-OsjsCf_S.js";
|
|
34
|
+
import "../../path-alias-guards-BnjbJzIQ.js";
|
|
35
|
+
import "../../redact-D1Ebz_iR.js";
|
|
36
|
+
import "../../errors--Eb33_ji.js";
|
|
37
|
+
import "../../fs-safe-BEl8T_Vc.js";
|
|
38
|
+
import "../../store-B4rHJvSg.js";
|
|
39
|
+
import { H as resolveAgentMainSessionKey, W as resolveMainSessionKey, f as updateSessionStore, s as loadSessionStore } from "../../sessions-BgxmLQuf.js";
|
|
40
|
+
import "../../accounts-yD5yI-jP.js";
|
|
41
|
+
import { u as resolveStorePath } from "../../paths-0fcEvxu4.js";
|
|
42
|
+
import "../../tool-images-DLiBUCZb.js";
|
|
43
43
|
import "../../thinking-z4_linel.js";
|
|
44
|
-
import "../../image-
|
|
45
|
-
import "../../reply-prefix-
|
|
46
|
-
import "../../manager-
|
|
47
|
-
import "../../gemini-auth-
|
|
48
|
-
import "../../fetch-guard-
|
|
49
|
-
import "../../query-expansion-
|
|
50
|
-
import "../../retry-
|
|
51
|
-
import "../../target-errors-
|
|
52
|
-
import "../../chunk-
|
|
53
|
-
import "../../markdown-tables-
|
|
54
|
-
import "../../local-roots-
|
|
55
|
-
import "../../ir-
|
|
44
|
+
import "../../image-BQ3RQWD8.js";
|
|
45
|
+
import "../../reply-prefix-49q2WQ2B.js";
|
|
46
|
+
import "../../manager-DBd_2F6j.js";
|
|
47
|
+
import "../../gemini-auth-CA0K3QXj.js";
|
|
48
|
+
import "../../fetch-guard-OZ_PCUyr.js";
|
|
49
|
+
import "../../query-expansion-CW7PqIXL.js";
|
|
50
|
+
import "../../retry-DWN-e4ja.js";
|
|
51
|
+
import "../../target-errors-CWZr3RMI.js";
|
|
52
|
+
import "../../chunk-BgScV6uo.js";
|
|
53
|
+
import "../../markdown-tables-CsrsXS80.js";
|
|
54
|
+
import "../../local-roots-C9CA2f0R.js";
|
|
55
|
+
import "../../ir-DnyYtX4H.js";
|
|
56
56
|
import "../../render-MTSxc7LK.js";
|
|
57
|
-
import "../../commands-registry-
|
|
58
|
-
import "../../skill-commands-
|
|
59
|
-
import "../../runner-
|
|
57
|
+
import "../../commands-registry-CK7aj_ri.js";
|
|
58
|
+
import "../../skill-commands-BOUMR5De.js";
|
|
59
|
+
import "../../runner-DO528Ump.js";
|
|
60
60
|
import "../../fetch-CsfR_943.js";
|
|
61
|
-
import "../../channel-activity-
|
|
62
|
-
import "../../tables-
|
|
63
|
-
import "../../send-
|
|
64
|
-
import "../../outbound-attachment-
|
|
65
|
-
import "../../send-
|
|
66
|
-
import "../../resolve-route-
|
|
61
|
+
import "../../channel-activity-DOLX-uK1.js";
|
|
62
|
+
import "../../tables-DuOExt0S.js";
|
|
63
|
+
import "../../send-szC_vYk_.js";
|
|
64
|
+
import "../../outbound-attachment-DwaqvYNG.js";
|
|
65
|
+
import "../../send-CRnMBrJ2.js";
|
|
66
|
+
import "../../resolve-route-Dr-fqH39.js";
|
|
67
67
|
import "../../proxy-CRB9oCP5.js";
|
|
68
|
-
import "../../replies-
|
|
69
|
-
import { t as createDefaultDeps } from "../../deps-
|
|
68
|
+
import "../../replies-CXcxPRWk.js";
|
|
69
|
+
import { t as createDefaultDeps } from "../../deps-CQzDLqTz.js";
|
|
70
70
|
import fs from "node:fs/promises";
|
|
71
71
|
import path from "node:path";
|
|
72
72
|
import crypto from "node:crypto";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import "../../paths-
|
|
2
|
-
import { t as createSubsystemLogger, x as isAgentBootstrapEvent } from "../../subsystem-
|
|
3
|
-
import "../../utils-
|
|
1
|
+
import "../../paths-CkTEyLTV.js";
|
|
2
|
+
import { t as createSubsystemLogger, x as isAgentBootstrapEvent } from "../../subsystem-B98oWbbO.js";
|
|
3
|
+
import "../../utils-ChNzRVsg.js";
|
|
4
4
|
import "../../runtime-8mi3mpYB.js";
|
|
5
|
-
import { d as loadExtraBootstrapFilesWithDiagnostics, u as filterBootstrapFilesForSession } from "../../workspace-
|
|
5
|
+
import { d as loadExtraBootstrapFilesWithDiagnostics, u as filterBootstrapFilesForSession } from "../../workspace-AM44PzIs.js";
|
|
6
6
|
import "../../boolean-CE7i9tBR.js";
|
|
7
|
-
import "../../frontmatter-
|
|
7
|
+
import "../../frontmatter-p8nPDprK.js";
|
|
8
8
|
import { t as resolveHookConfig } from "../../config-BsP4lHEP.js";
|
|
9
9
|
|
|
10
10
|
//#region src/hooks/bundled/bootstrap-extra-files/handler.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as resolveStateDir } from "../../paths-
|
|
2
|
-
import { t as createSubsystemLogger } from "../../subsystem-
|
|
3
|
-
import "../../utils-
|
|
1
|
+
import { d as resolveStateDir } from "../../paths-CkTEyLTV.js";
|
|
2
|
+
import { t as createSubsystemLogger } from "../../subsystem-B98oWbbO.js";
|
|
3
|
+
import "../../utils-ChNzRVsg.js";
|
|
4
4
|
import "../../runtime-8mi3mpYB.js";
|
|
5
5
|
import fs from "node:fs/promises";
|
|
6
6
|
import os from "node:os";
|