agim-cli 1.2.144 → 1.2.147
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 +101 -0
- package/dist/cli-ui/setup-llm.d.ts.map +1 -1
- package/dist/cli-ui/setup-llm.js +3 -1
- package/dist/cli-ui/setup-llm.js.map +1 -1
- package/dist/core/circuit-breaker.d.ts +28 -0
- package/dist/core/circuit-breaker.d.ts.map +1 -1
- package/dist/core/circuit-breaker.js +45 -0
- package/dist/core/circuit-breaker.js.map +1 -1
- package/dist/core/intent.d.ts.map +1 -1
- package/dist/core/intent.js +3 -1
- package/dist/core/intent.js.map +1 -1
- package/dist/core/llm/agent-loop.d.ts +9 -1
- package/dist/core/llm/agent-loop.d.ts.map +1 -1
- package/dist/core/llm/agent-loop.js +80 -1
- package/dist/core/llm/agent-loop.js.map +1 -1
- package/dist/core/llm/anthropic-provider.d.ts.map +1 -1
- package/dist/core/llm/anthropic-provider.js +18 -4
- package/dist/core/llm/anthropic-provider.js.map +1 -1
- package/dist/core/llm/hallucination-detector.d.ts +33 -0
- package/dist/core/llm/hallucination-detector.d.ts.map +1 -0
- package/dist/core/llm/hallucination-detector.js +103 -0
- package/dist/core/llm/hallucination-detector.js.map +1 -0
- package/dist/core/llm/imhub-dispatcher.d.ts.map +1 -1
- package/dist/core/llm/imhub-dispatcher.js +7 -0
- package/dist/core/llm/imhub-dispatcher.js.map +1 -1
- package/dist/core/llm/provider-base.d.ts +9 -0
- package/dist/core/llm/provider-base.d.ts.map +1 -1
- package/dist/core/llm/provider-base.js.map +1 -1
- package/dist/core/memory-distill.d.ts.map +1 -1
- package/dist/core/memory-distill.js +18 -3
- package/dist/core/memory-distill.js.map +1 -1
- package/dist/core/memory.d.ts +14 -0
- package/dist/core/memory.d.ts.map +1 -1
- package/dist/core/memory.js +39 -0
- package/dist/core/memory.js.map +1 -1
- package/dist/core/message-sink.d.ts +6 -0
- package/dist/core/message-sink.d.ts.map +1 -1
- package/dist/core/message-sink.js +18 -3
- package/dist/core/message-sink.js.map +1 -1
- package/dist/core/outbox.d.ts +30 -2
- package/dist/core/outbox.d.ts.map +1 -1
- package/dist/core/outbox.js +102 -10
- package/dist/core/outbox.js.map +1 -1
- package/dist/core/reminders.d.ts.map +1 -1
- package/dist/core/reminders.js +11 -1
- package/dist/core/reminders.js.map +1 -1
- package/dist/core/router.d.ts.map +1 -1
- package/dist/core/router.js +16 -4
- package/dist/core/router.js.map +1 -1
- package/dist/core/schedule.d.ts +18 -0
- package/dist/core/schedule.d.ts.map +1 -1
- package/dist/core/schedule.js +80 -17
- package/dist/core/schedule.js.map +1 -1
- package/dist/core/sensitive-paths.d.ts.map +1 -1
- package/dist/core/sensitive-paths.js +53 -9
- package/dist/core/sensitive-paths.js.map +1 -1
- package/dist/core/types.d.ts +6 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/plugins/agents/native/index.d.ts +47 -8
- package/dist/plugins/agents/native/index.d.ts.map +1 -1
- package/dist/plugins/agents/native/index.js +253 -102
- package/dist/plugins/agents/native/index.js.map +1 -1
- package/dist/plugins/agents/native/tool-registry.d.ts +33 -0
- package/dist/plugins/agents/native/tool-registry.d.ts.map +1 -0
- package/dist/plugins/agents/native/tool-registry.js +82 -0
- package/dist/plugins/agents/native/tool-registry.js.map +1 -0
- package/dist/plugins/messengers/dingtalk/dingtalk-client.d.ts.map +1 -1
- package/dist/plugins/messengers/dingtalk/dingtalk-client.js +11 -11
- package/dist/plugins/messengers/dingtalk/dingtalk-client.js.map +1 -1
- package/dist/plugins/messengers/feishu/feishu-adapter.d.ts.map +1 -1
- package/dist/plugins/messengers/feishu/feishu-adapter.js +9 -5
- package/dist/plugins/messengers/feishu/feishu-adapter.js.map +1 -1
- package/dist/plugins/messengers/wechat/ilink-adapter.d.ts.map +1 -1
- package/dist/plugins/messengers/wechat/ilink-adapter.js +11 -1
- package/dist/plugins/messengers/wechat/ilink-adapter.js.map +1 -1
- package/dist/web/public/assets/{a2a-DczMMkbl.js → a2a-Cll3P4QN.js} +2 -2
- package/dist/web/public/assets/{a2a-DczMMkbl.js.map → a2a-Cll3P4QN.js.map} +1 -1
- package/dist/web/public/assets/{activity-cbLHkzca.js → activity-B7T7YFlD.js} +2 -2
- package/dist/web/public/assets/{activity-cbLHkzca.js.map → activity-B7T7YFlD.js.map} +1 -1
- package/dist/web/public/assets/{admins-C-YsGMj7.js → admins-CN7P018S.js} +2 -2
- package/dist/web/public/assets/{admins-C-YsGMj7.js.map → admins-CN7P018S.js.map} +1 -1
- package/dist/web/public/assets/{agents-BWfov_1-.js → agents-Bqgq7GBF.js} +2 -2
- package/dist/web/public/assets/{agents-BWfov_1-.js.map → agents-Bqgq7GBF.js.map} +1 -1
- package/dist/web/public/assets/{approvals-HSssmXKS.js → approvals-C8IUJQ_A.js} +2 -2
- package/dist/web/public/assets/{approvals-HSssmXKS.js.map → approvals-C8IUJQ_A.js.map} +1 -1
- package/dist/web/public/assets/{arrow-down-BXvC8Al2.js → arrow-down-SLWKqtDc.js} +2 -2
- package/dist/web/public/assets/{arrow-down-BXvC8Al2.js.map → arrow-down-SLWKqtDc.js.map} +1 -1
- package/dist/web/public/assets/{arrow-up-63xELY5Q.js → arrow-up-BOADc9ce.js} +2 -2
- package/dist/web/public/assets/{arrow-up-63xELY5Q.js.map → arrow-up-BOADc9ce.js.map} +1 -1
- package/dist/web/public/assets/{asks-COLEFOvK.js → asks-C-j-DypC.js} +2 -2
- package/dist/web/public/assets/{asks-COLEFOvK.js.map → asks-C-j-DypC.js.map} +1 -1
- package/dist/web/public/assets/{audit-D4ZEiZub.js → audit-DQb-RuXh.js} +2 -2
- package/dist/web/public/assets/{audit-D4ZEiZub.js.map → audit-DQb-RuXh.js.map} +1 -1
- package/dist/web/public/assets/{bell-Cg2Bvv06.js → bell-CV88-ul6.js} +2 -2
- package/dist/web/public/assets/{bell-Cg2Bvv06.js.map → bell-CV88-ul6.js.map} +1 -1
- package/dist/web/public/assets/{bgjobs-CEjCzwtd.js → bgjobs-CDrK0d-W.js} +2 -2
- package/dist/web/public/assets/{bgjobs-CEjCzwtd.js.map → bgjobs-CDrK0d-W.js.map} +1 -1
- package/dist/web/public/assets/{brain-euvl6F6C.js → brain-B7HtSOQU.js} +2 -2
- package/dist/web/public/assets/{brain-euvl6F6C.js.map → brain-B7HtSOQU.js.map} +1 -1
- package/dist/web/public/assets/{briefcase-DPWLbCnA.js → briefcase-mdzuIa__.js} +2 -2
- package/dist/web/public/assets/{briefcase-DPWLbCnA.js.map → briefcase-mdzuIa__.js.map} +1 -1
- package/dist/web/public/assets/{browser-ponyfill-BUutOaRz.js → browser-ponyfill-DBWdeCTC.js} +2 -2
- package/dist/web/public/assets/{browser-ponyfill-BUutOaRz.js.map → browser-ponyfill-DBWdeCTC.js.map} +1 -1
- package/dist/web/public/assets/{chat-Dz9kfaxH.js → chat-CSjtY2rN.js} +3 -3
- package/dist/web/public/assets/{chat-Dz9kfaxH.js.map → chat-CSjtY2rN.js.map} +1 -1
- package/dist/web/public/assets/{chevron-left-BeIh5thq.js → chevron-left-uSfPn636.js} +2 -2
- package/dist/web/public/assets/{chevron-left-BeIh5thq.js.map → chevron-left-uSfPn636.js.map} +1 -1
- package/dist/web/public/assets/{chevron-right-uP_l9MMb.js → chevron-right-CtelqacW.js} +2 -2
- package/dist/web/public/assets/{chevron-right-uP_l9MMb.js.map → chevron-right-CtelqacW.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-CewnjFgv.js → circle-check-8dbL-u7O.js} +2 -2
- package/dist/web/public/assets/{circle-check-CewnjFgv.js.map → circle-check-8dbL-u7O.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-big-C2RTc48c.js → circle-check-big-D8-svk9a.js} +2 -2
- package/dist/web/public/assets/{circle-check-big-C2RTc48c.js.map → circle-check-big-D8-svk9a.js.map} +1 -1
- package/dist/web/public/assets/{circle-x-Ccg1HyV-.js → circle-x-rUxzIz5P.js} +2 -2
- package/dist/web/public/assets/{circle-x-Ccg1HyV-.js.map → circle-x-rUxzIz5P.js.map} +1 -1
- package/dist/web/public/assets/{clock-qxbYSynv.js → clock-CG5dlBGB.js} +2 -2
- package/dist/web/public/assets/{clock-qxbYSynv.js.map → clock-CG5dlBGB.js.map} +1 -1
- package/dist/web/public/assets/{confirm-dialog-DmJq4Td9.js → confirm-dialog-DlUsSur3.js} +2 -2
- package/dist/web/public/assets/{confirm-dialog-DmJq4Td9.js.map → confirm-dialog-DlUsSur3.js.map} +1 -1
- package/dist/web/public/assets/{copy-DxSHRdbc.js → copy-DnC76wFT.js} +2 -2
- package/dist/web/public/assets/{copy-DxSHRdbc.js.map → copy-DnC76wFT.js.map} +1 -1
- package/dist/web/public/assets/{data-table-S7rIjwdO.js → data-table-DswkWUfG.js} +2 -2
- package/dist/web/public/assets/{data-table-S7rIjwdO.js.map → data-table-DswkWUfG.js.map} +1 -1
- package/dist/web/public/assets/dialog-Ceo4YuXy.js +6 -0
- package/dist/web/public/assets/dialog-Ceo4YuXy.js.map +1 -0
- package/dist/web/public/assets/{download-OhsGtnO-.js → download-DF-46tS4.js} +2 -2
- package/dist/web/public/assets/{download-OhsGtnO-.js.map → download-DF-46tS4.js.map} +1 -1
- package/dist/web/public/assets/{email-C1-HxWLF.js → email-CZee26-_.js} +3 -3
- package/dist/web/public/assets/{email-C1-HxWLF.js.map → email-CZee26-_.js.map} +1 -1
- package/dist/web/public/assets/{empty-state-C-qjOHyu.js → empty-state-D9Hi0Atm.js} +2 -2
- package/dist/web/public/assets/{empty-state-C-qjOHyu.js.map → empty-state-D9Hi0Atm.js.map} +1 -1
- package/dist/web/public/assets/{external-link-DRVp9-lb.js → external-link-D64iZa9P.js} +2 -2
- package/dist/web/public/assets/{external-link-DRVp9-lb.js.map → external-link-D64iZa9P.js.map} +1 -1
- package/dist/web/public/assets/{eye-CFhg5BTa.js → eye-sY6WZb7D.js} +2 -2
- package/dist/web/public/assets/{eye-CFhg5BTa.js.map → eye-sY6WZb7D.js.map} +1 -1
- package/dist/web/public/assets/{facts-CGaLWhzi.js → facts-B7bGGwvi.js} +2 -2
- package/dist/web/public/assets/{facts-CGaLWhzi.js.map → facts-B7bGGwvi.js.map} +1 -1
- package/dist/web/public/assets/{goals-C-dJANmn.js → goals-BfQbsvZv.js} +2 -2
- package/dist/web/public/assets/{goals-C-dJANmn.js.map → goals-BfQbsvZv.js.map} +1 -1
- package/dist/web/public/assets/{health-CWcti5h3.js → health-Ba_mY0Ts.js} +2 -2
- package/dist/web/public/assets/{health-CWcti5h3.js.map → health-Ba_mY0Ts.js.map} +1 -1
- package/dist/web/public/assets/{heart-pulse-DmGhKR2W.js → heart-pulse-BjikOVwU.js} +2 -2
- package/dist/web/public/assets/{heart-pulse-DmGhKR2W.js.map → heart-pulse-BjikOVwU.js.map} +1 -1
- package/dist/web/public/assets/{heartbeat-kLoGBNCo.js → heartbeat-BM8LlPes.js} +2 -2
- package/dist/web/public/assets/{heartbeat-kLoGBNCo.js.map → heartbeat-BM8LlPes.js.map} +1 -1
- package/dist/web/public/assets/{hot-BITDoax1.js → hot-BtuLL6n8.js} +2 -2
- package/dist/web/public/assets/{hot-BITDoax1.js.map → hot-BtuLL6n8.js.map} +1 -1
- package/dist/web/public/assets/index-DEWFfW_Z.js +199 -0
- package/dist/web/public/assets/index-DEWFfW_Z.js.map +1 -0
- package/dist/web/public/assets/{installed-Co9WrtQ7.js → installed-Xr8p31ij.js} +2 -2
- package/dist/web/public/assets/{installed-Co9WrtQ7.js.map → installed-Xr8p31ij.js.map} +1 -1
- package/dist/web/public/assets/{jobs-hdHhBEvi.js → jobs-Ddy81Udm.js} +2 -2
- package/dist/web/public/assets/{jobs-hdHhBEvi.js.map → jobs-Ddy81Udm.js.map} +1 -1
- package/dist/web/public/assets/{layout-CQtbOBag.js → layout-BL74fT-L.js} +2 -2
- package/dist/web/public/assets/{layout-CQtbOBag.js.map → layout-BL74fT-L.js.map} +1 -1
- package/dist/web/public/assets/{layout-bDMXIKIR.js → layout-Bn2qUxcK.js} +2 -2
- package/dist/web/public/assets/{layout-bDMXIKIR.js.map → layout-Bn2qUxcK.js.map} +1 -1
- package/dist/web/public/assets/{layout-BMXC1Uh1.js → layout-Bp4SAA8_.js} +2 -2
- package/dist/web/public/assets/{layout-BMXC1Uh1.js.map → layout-Bp4SAA8_.js.map} +1 -1
- package/dist/web/public/assets/{layout-CysVsySh.js → layout-CZ9pGnW8.js} +2 -2
- package/dist/web/public/assets/{layout-CysVsySh.js.map → layout-CZ9pGnW8.js.map} +1 -1
- package/dist/web/public/assets/{layout-CyBGneZ9.js → layout-pasFRkKV.js} +2 -2
- package/dist/web/public/assets/{layout-CyBGneZ9.js.map → layout-pasFRkKV.js.map} +1 -1
- package/dist/web/public/assets/llm-yp7b5xxL.js +7 -0
- package/dist/web/public/assets/llm-yp7b5xxL.js.map +1 -0
- package/dist/web/public/assets/{loader-circle-9VUMGitw.js → loader-circle-Bbw4pEyE.js} +2 -2
- package/dist/web/public/assets/{loader-circle-9VUMGitw.js.map → loader-circle-Bbw4pEyE.js.map} +1 -1
- package/dist/web/public/assets/{map-pin-BXYvvHry.js → map-pin-DIXHUQgM.js} +2 -2
- package/dist/web/public/assets/{map-pin-BXYvvHry.js.map → map-pin-DIXHUQgM.js.map} +1 -1
- package/dist/web/public/assets/{mcp-BgLdlwSn.js → mcp-DyaljIM_.js} +2 -2
- package/dist/web/public/assets/{mcp-BgLdlwSn.js.map → mcp-DyaljIM_.js.map} +1 -1
- package/dist/web/public/assets/memos-Dkoc157i.js +12 -0
- package/dist/web/public/assets/memos-Dkoc157i.js.map +1 -0
- package/dist/web/public/assets/{messengers-7Phqea62.js → messengers-CcyGDeUI.js} +2 -2
- package/dist/web/public/assets/{messengers-7Phqea62.js.map → messengers-CcyGDeUI.js.map} +1 -1
- package/dist/web/public/assets/{mobile-CV5b6D2W.js → mobile-DqzIv4Xb.js} +2 -2
- package/dist/web/public/assets/{mobile-CV5b6D2W.js.map → mobile-DqzIv4Xb.js.map} +1 -1
- package/dist/web/public/assets/{native-agent-QvIa6LjE.js → native-agent-BQ7WaRGK.js} +2 -2
- package/dist/web/public/assets/{native-agent-QvIa6LjE.js.map → native-agent-BQ7WaRGK.js.map} +1 -1
- package/dist/web/public/assets/{network-BXhEjGhE.js → network-B_yUFAqC.js} +2 -2
- package/dist/web/public/assets/{network-BXhEjGhE.js.map → network-B_yUFAqC.js.map} +1 -1
- package/dist/web/public/assets/{outbox-DHQL7TQb.js → outbox-l8aVOZqO.js} +2 -2
- package/dist/web/public/assets/{outbox-DHQL7TQb.js.map → outbox-l8aVOZqO.js.map} +1 -1
- package/dist/web/public/assets/{pagination-VKuPb1Ot.js → pagination-BAKRGKa9.js} +2 -2
- package/dist/web/public/assets/{pagination-VKuPb1Ot.js.map → pagination-BAKRGKa9.js.map} +1 -1
- package/dist/web/public/assets/{persona-CWug2GLR.js → persona-D3VL9Rg1.js} +2 -2
- package/dist/web/public/assets/{persona-CWug2GLR.js.map → persona-D3VL9Rg1.js.map} +1 -1
- package/dist/web/public/assets/{plans-CZoEs5SY.js → plans-BBB5e9my.js} +2 -2
- package/dist/web/public/assets/{plans-CZoEs5SY.js.map → plans-BBB5e9my.js.map} +1 -1
- package/dist/web/public/assets/{play-CfSn5Vdl.js → play-7-Wd369f.js} +2 -2
- package/dist/web/public/assets/{play-CfSn5Vdl.js.map → play-7-Wd369f.js.map} +1 -1
- package/dist/web/public/assets/{plus-Z8l4CiqJ.js → plus-B0sfZy-j.js} +2 -2
- package/dist/web/public/assets/{plus-Z8l4CiqJ.js.map → plus-B0sfZy-j.js.map} +1 -1
- package/dist/web/public/assets/{policy-CutDSEPW.js → policy-BM1WRXH0.js} +2 -2
- package/dist/web/public/assets/{policy-CutDSEPW.js.map → policy-BM1WRXH0.js.map} +1 -1
- package/dist/web/public/assets/{qr-code-DgU5aiM6.js → qr-code-DcKs5fi3.js} +2 -2
- package/dist/web/public/assets/{qr-code-DgU5aiM6.js.map → qr-code-DcKs5fi3.js.map} +1 -1
- package/dist/web/public/assets/{react-Cb2sDjhD.js → react-DlP5eolq.js} +2 -2
- package/dist/web/public/assets/{react-Cb2sDjhD.js.map → react-DlP5eolq.js.map} +1 -1
- package/dist/web/public/assets/{refresh-ccw-D2CWiyU_.js → refresh-ccw-uNKeBeRl.js} +2 -2
- package/dist/web/public/assets/{refresh-ccw-D2CWiyU_.js.map → refresh-ccw-uNKeBeRl.js.map} +1 -1
- package/dist/web/public/assets/{reminders-Cb6Izedg.js → reminders-DHM8K0_O.js} +2 -2
- package/dist/web/public/assets/{reminders-Cb6Izedg.js.map → reminders-DHM8K0_O.js.map} +1 -1
- package/dist/web/public/assets/{save-DB0BDYTs.js → save-qwJa5_SA.js} +2 -2
- package/dist/web/public/assets/{save-DB0BDYTs.js.map → save-qwJa5_SA.js.map} +1 -1
- package/dist/web/public/assets/{schedules-8mSjE14D.js → schedules-Bcd0wbT4.js} +2 -2
- package/dist/web/public/assets/{schedules-8mSjE14D.js.map → schedules-Bcd0wbT4.js.map} +1 -1
- package/dist/web/public/assets/{search-Con69NhG.js → search-BUlzNWrj.js} +2 -2
- package/dist/web/public/assets/{search-Con69NhG.js.map → search-BUlzNWrj.js.map} +1 -1
- package/dist/web/public/assets/{search-B4fHilZ0.js → search-i1tP2maJ.js} +2 -2
- package/dist/web/public/assets/{search-B4fHilZ0.js.map → search-i1tP2maJ.js.map} +1 -1
- package/dist/web/public/assets/{security-BTe3zUg8.js → security-DgJyTT4g.js} +2 -2
- package/dist/web/public/assets/{security-BTe3zUg8.js.map → security-DgJyTT4g.js.map} +1 -1
- package/dist/web/public/assets/{service-C7SqcwfL.js → service-A0Hzear0.js} +2 -2
- package/dist/web/public/assets/{service-C7SqcwfL.js.map → service-A0Hzear0.js.map} +1 -1
- package/dist/web/public/assets/{shield-alert-CKFVsGgI.js → shield-alert-DrnN6fz_.js} +2 -2
- package/dist/web/public/assets/{shield-alert-CKFVsGgI.js.map → shield-alert-DrnN6fz_.js.map} +1 -1
- package/dist/web/public/assets/{status-badge-BSkpyN4D.js → status-badge-Ryzf96Pl.js} +2 -2
- package/dist/web/public/assets/{status-badge-BSkpyN4D.js.map → status-badge-Ryzf96Pl.js.map} +1 -1
- package/dist/web/public/assets/{subtasks-Bel-I1Sk.js → subtasks-Bzh3o3EF.js} +2 -2
- package/dist/web/public/assets/{subtasks-Bel-I1Sk.js.map → subtasks-Bzh3o3EF.js.map} +1 -1
- package/dist/web/public/assets/{table-CPn1MRcy.js → table-BbAOSyc8.js} +2 -2
- package/dist/web/public/assets/{table-CPn1MRcy.js.map → table-BbAOSyc8.js.map} +1 -1
- package/dist/web/public/assets/{topn-Ba3RjcK1.js → topn-DkhYw-Gp.js} +2 -2
- package/dist/web/public/assets/{topn-Ba3RjcK1.js.map → topn-DkhYw-Gp.js.map} +1 -1
- package/dist/web/public/assets/{trash-2-Dfov8aHD.js → trash-2-CA0cLpnU.js} +2 -2
- package/dist/web/public/assets/{trash-2-Dfov8aHD.js.map → trash-2-CA0cLpnU.js.map} +1 -1
- package/dist/web/public/assets/{use-background-tasks-BQrEeUwY.js → use-background-tasks-B64YjlA8.js} +2 -2
- package/dist/web/public/assets/{use-background-tasks-BQrEeUwY.js.map → use-background-tasks-B64YjlA8.js.map} +1 -1
- package/dist/web/public/assets/{use-event-stream-DgGpGKop.js → use-event-stream-I1lMFEfh.js} +2 -2
- package/dist/web/public/assets/{use-event-stream-DgGpGKop.js.map → use-event-stream-I1lMFEfh.js.map} +1 -1
- package/dist/web/public/assets/{use-llm-admin-DYekqogG.js → use-llm-admin-DY2axI4D.js} +2 -2
- package/dist/web/public/assets/{use-llm-admin-DYekqogG.js.map → use-llm-admin-DY2axI4D.js.map} +1 -1
- package/dist/web/public/assets/{use-memory-DbJ4pP2Z.js → use-memory-BYEjVWbU.js} +2 -2
- package/dist/web/public/assets/{use-memory-DbJ4pP2Z.js.map → use-memory-BYEjVWbU.js.map} +1 -1
- package/dist/web/public/assets/{use-observability-C2M6WZ9W.js → use-observability-Coj02yDo.js} +2 -2
- package/dist/web/public/assets/{use-observability-C2M6WZ9W.js.map → use-observability-Coj02yDo.js.map} +1 -1
- package/dist/web/public/assets/{use-settings-DMdaoWsB.js → use-settings-i1MhlkyC.js} +2 -2
- package/dist/web/public/assets/{use-settings-DMdaoWsB.js.map → use-settings-i1MhlkyC.js.map} +1 -1
- package/dist/web/public/assets/{use-workspace-BHG7h3jQ.js → use-workspace-DgEM35PY.js} +2 -2
- package/dist/web/public/assets/{use-workspace-BHG7h3jQ.js.map → use-workspace-DgEM35PY.js.map} +1 -1
- package/dist/web/public/assets/{useQuery-PdiC7-sY.js → useQuery-CY2iazjN.js} +2 -2
- package/dist/web/public/assets/{useQuery-PdiC7-sY.js.map → useQuery-CY2iazjN.js.map} +1 -1
- package/dist/web/public/assets/{vector-DnZM3OXU.js → vector-Ic76u2hY.js} +2 -2
- package/dist/web/public/assets/{vector-DnZM3OXU.js.map → vector-Ic76u2hY.js.map} +1 -1
- package/dist/web/public/assets/{viewer-Dz6k0YKp.js → viewer-BXbUN1Rl.js} +2 -2
- package/dist/web/public/assets/{viewer-Dz6k0YKp.js.map → viewer-BXbUN1Rl.js.map} +1 -1
- package/dist/web/public/assets/{workspace-BnXrWS3j.js → workspace-CUg0JPn6.js} +3 -3
- package/dist/web/public/assets/{workspace-BnXrWS3j.js.map → workspace-CUg0JPn6.js.map} +1 -1
- package/dist/web/public/assets/{workspaces-CSS_UBEi.js → workspaces-C-wb5FQj.js} +2 -2
- package/dist/web/public/assets/{workspaces-CSS_UBEi.js.map → workspaces-C-wb5FQj.js.map} +1 -1
- package/dist/web/public/assets/{x-DG-JKVw_.js → x-D1iSuoqg.js} +2 -2
- package/dist/web/public/assets/{x-DG-JKVw_.js.map → x-D1iSuoqg.js.map} +1 -1
- package/dist/web/public/index.html +2 -2
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +6 -0
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
- package/dist/web/public/assets/dialog-bAIDaO-6.js +0 -6
- package/dist/web/public/assets/dialog-bAIDaO-6.js.map +0 -1
- package/dist/web/public/assets/index-O0BQoyzo.js +0 -199
- package/dist/web/public/assets/index-O0BQoyzo.js.map +0 -1
- package/dist/web/public/assets/llm-CPIRNQU2.js +0 -7
- package/dist/web/public/assets/llm-CPIRNQU2.js.map +0 -1
- package/dist/web/public/assets/memos-CfneX9DH.js +0 -12
- package/dist/web/public/assets/memos-CfneX9DH.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,107 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.2.147] - 2026-06-12
|
|
8
|
+
|
|
9
|
+
### Added (native harness — framework-level tool-call discipline + detector 双保险)
|
|
10
|
+
|
|
11
|
+
两层组合拳消除 "LLM 说要调工具却不真调" 的硬伤:**框架级 system prompt 段**做事前
|
|
12
|
+
预防(每轮注入、所有用户默认开),**运行时 detector**做事后兜底(即使模型无视
|
|
13
|
+
prompt,命中模式就走复盘卡)。
|
|
14
|
+
|
|
15
|
+
#### 框架级 system prompt 段(agim 出厂默认)
|
|
16
|
+
|
|
17
|
+
- `src/plugins/agents/native/index.ts` — 新增常量 `TOOL_CALL_DISCIPLINE_PROMPT`
|
|
18
|
+
+ helper `isToolDisciplineOn()`,`buildSystemPrompt` 在 operator role 之前
|
|
19
|
+
push 一段 `[agim framework rule — tool-call discipline]` 块。**默认所有 agim 安装
|
|
20
|
+
生效**,不依赖用户写 AGENTS.md。
|
|
21
|
+
- 段内 5 条硬规则(禁演练、必须真调、不确定走 todo、追问时坦白、副作用工具一次发完整)。
|
|
22
|
+
- env `IMHUB_NATIVE_TOOL_DISCIPLINE`,默认 `on`;`off`/`0`/`false`/`no`/`disable`
|
|
23
|
+
关掉(escape hatch,给 prompt 调优实验用)。
|
|
24
|
+
|
|
25
|
+
### Added (native harness — hallucinated tool-call detector)
|
|
26
|
+
|
|
27
|
+
部分 LLM 后端(实测 DeepSeek-v4 在长上下文 + 反复纠错语境)会**演练**工具调用——
|
|
28
|
+
吐出 "我现在调用 native_write_file: ```python ...```" 这种文本但响应里
|
|
29
|
+
`tool_calls=[]`。下游把这当成普通回复推给用户,造成"承诺却不执行"的硬伤
|
|
30
|
+
(实测:用户问"已经帮我存好文件了吗?",native 反复说"这次不废话直接写"
|
|
31
|
+
但 audit 里 `native_write_file` 调用次数 = 0)。
|
|
32
|
+
|
|
33
|
+
#### 新增 detector + recap
|
|
34
|
+
|
|
35
|
+
- `src/core/llm/hallucination-detector.ts` — pure function
|
|
36
|
+
`detectHallucinatedToolCall({text, toolNames, emittedToolCallCount})`,
|
|
37
|
+
4 套高精度模式(zh:direct-write-block / zh:invoke-narration / en:invoke-narration
|
|
38
|
+
/ zh:promise-no-action),fail-closed(紧扣"narrated intent + zero real call"
|
|
39
|
+
两个信号同时满足才标记)。
|
|
40
|
+
- `src/core/llm/agent-loop.ts` — `LoopFinishReason` 加 `'hallucinated_tools'`;
|
|
41
|
+
在 no-tools-terminate 出口前插入 hook,命中则覆盖 finishReason 并 log.warn
|
|
42
|
+
留审计(含 pattern + evidence + backend)。
|
|
43
|
+
- `src/plugins/agents/native/index.ts` — 新增 `composeHallucinatedToolRecap()`,
|
|
44
|
+
点名失败模式 + 建议换 backend(重点:换 native-chat 角色,而不是死磕 prompt)。
|
|
45
|
+
|
|
46
|
+
#### Env
|
|
47
|
+
|
|
48
|
+
- `IMHUB_NATIVE_HALLUCINATION_DETECT` 默认 `on`;`off`/`0`/`false`/`no`/`disable` 关掉
|
|
49
|
+
(误判 cost 仅是多一张复盘卡,关掉 cost 是放过 silent lies,所以默认开)。
|
|
50
|
+
|
|
51
|
+
#### Tests
|
|
52
|
+
|
|
53
|
+
`test/unit/hallucination-detector.test.ts` 17 case 全绿 — 7 个 POSITIVE
|
|
54
|
+
(中英 + 直接写代码块 + 空承诺)、6 个 NEGATIVE(toolCalls 已发 / 未知工具名
|
|
55
|
+
/ 短文本 / 过去时陈述 / 普通代码块)、4 个 env 切换。`src/plugins/agents/native/native.test.ts`
|
|
56
|
+
新增 4 case 验证框架级纪律:默认注入、排在 operator role 之前、env=off 移除、
|
|
57
|
+
未识别值视为 ON。typecheck 双 pass 全绿;agent-loop / native 现有套件 69/70 +
|
|
58
|
+
27/29 通过(剩余 fail 都是 pre-existing on main,与本轮改动无关)。
|
|
59
|
+
|
|
60
|
+
#### 未做(留续作)
|
|
61
|
+
|
|
62
|
+
- 自动 retry(`IMHUB_NATIVE_HALLUCINATION_AUTO_RETRY=1` 强制注入纠正 prompt 再跑一轮)
|
|
63
|
+
- web outbox crash-safe delivery(web reply 在 client 重连时丢失)
|
|
64
|
+
- viewer DELETE 加 audit_event
|
|
65
|
+
- `docs/security-hardening.md` §1 env 速查表补 `IMHUB_NATIVE_WEB_ALLOW_PRIVATE`
|
|
66
|
+
与 `IMHUB_NATIVE_WEB_SSRF_WHITELIST` 两项
|
|
67
|
+
|
|
68
|
+
## [1.2.145] - 2026-06-12
|
|
69
|
+
|
|
70
|
+
一轮严格代码 CR 修复 + 参照 [agentic-harness-patterns](https://github.com/keli-wen/agentic-harness-patterns-skill) 的 native agent "harness 工程"升级。完整导览见 [`docs/architecture/current.md`](docs/architecture/current.md) §七;安全项见 [`docs/security-hardening.md`](docs/security-hardening.md)。
|
|
71
|
+
|
|
72
|
+
### Security (CR 修复)
|
|
73
|
+
|
|
74
|
+
- **viewer 越权删除(H1, #90)**:`DELETE /api/viewer/:id` 之前漏了 `requireAdmin` 且 handler 忽略请求上下文,任意已认证 token(含 `role=user` 移动 QR token)可凭 paste id(经 IM `/v/<uuid>` 链接外泄)删除任意 paste。已补 `requireAdmin`。
|
|
75
|
+
- **notify_url SSRF(H2, #92)**:定时任务 webhook 之前只做词法校验(只看 host 串)。新增 `assertWebhookHostPublic()`,在 fetch 前 DNS 解析 + 拒私网/回环/link-local,堵住"主机名解析进内网 / DNS-rebinding"。新 env `IMHUB_ALLOW_PRIVATE_WEBHOOKS=1` 放行内网调试。
|
|
76
|
+
- **sensitive-paths 绕过(#83)**:denylist 可被 `/proc/<pid>/{root,cwd}/...`(root 是指向进程 `/` 的 symlink)与工作区 symlink 绕过。`canonical()` 现做 best-effort `realpath`,对字面 + 解析后路径双重匹配,并直拒 `/proc` 间接寻址。
|
|
77
|
+
- **工作区信任门(T6, #89)**:新 env `IMHUB_NATIVE_TRUST_WORKSPACE=off` → native 一次性跳过工作区发现的 `AGENTS.md`/`AGENTS.local.md` 注入(多租户 / A2A 防 prompt 投毒)。显式 `IMHUB_NATIVE_AGENT_ROLE_FILE` 不受门控。
|
|
78
|
+
|
|
79
|
+
### Fixed (运行时可靠性,CR + #83)
|
|
80
|
+
|
|
81
|
+
- **熔断器探针泄漏**:`isOpen()` 的副作用(领走 half-open 探针)被路由 filter / 前置门调用却无人配对,导致 agent 永久卡"熔断中"。拆出无副作用的 `peek()`(filter/门用)+ `acquireProbe()`(仅真正调用前),保留 `isOpen()` 语义。
|
|
82
|
+
- **outbox 重复投递**:无 claim/lease + `markDelivered` 失败仅 warn → worker 每秒重投已送达消息。新增 `sending` 租约(`claimForSend()` 原子认领)、`requeueStuckSending()` 启动回收、`enqueue` 支持 `dedupKey`(部分唯一索引 + INSERT OR IGNORE)。
|
|
83
|
+
- **提醒 / 调度非原子**:reminder 投递带稳定 `dedupKey` 防崩溃重投;schedule 改 **CAS 先推进 `next_run` 再建 job**(杜绝重复建 job / 缺 agent 时 30s 空转)。
|
|
84
|
+
- **微信会话恢复丢消息(H3, #91)**:`SESSION_EXPIRED` 恢复消费了服务端 cursor 却只存 context token、不派发,整批消息永久丢失。现走 `handleIncomingMessage`(带去重)。
|
|
85
|
+
- **distill 追加无去重(#87)**:同一事实每轮重插膨胀 persona/检索。写入时 `findFactIdByWhat()` 命中则 `touchFact()`(bump `last_referenced_at`)而非插行。
|
|
86
|
+
- **Anthropic 作 native 后端不可用(#84)**:伪流式 `_callApiStream` 之前只透传文本,流式下 Anthropic 工具调用全丢(native 默认开流式);现透传完整 `toolCalls`(新增 `ChatStreamChunk.toolCalls`)。并修正 baseURL preset 双 `/v1` → 404。
|
|
87
|
+
|
|
88
|
+
### Changed (IM 适配器 + native harness 升级)
|
|
89
|
+
|
|
90
|
+
- **IM 入站非阻塞(M3, #93)**:Feishu / DingTalk 之前在 SDK 回调内 `await` 整轮 agent,阻塞接收循环(一个慢会话拖死其他线程入站)。改 fire-and-forget;钉钉 **先 ack 再派发**(避免超 60s 重投 + handler 挂起时消息被 dedup 丢弃)。
|
|
91
|
+
- **native 上下文预算(T1/T3, #85)**:`readOperatorRole` 按 mtime/size memoize(每轮省一次磁盘读 + 注入扫描);system-prompt skills 列表封顶 `MAX_INJECTED_SKILLS`(之前未封顶且与 router 注入重复)。
|
|
92
|
+
- **native 单一工具注册表(T2, #86)**:`tools[]` / `combineDispatchers` / 静态 `parallelSafeTools` 三份并行清单合一为 `tool-registry.ts` 的 `assembleNativeTools()`;并发判定改 **逐调用** classifier(`agent-loop` 新增 `parallelSafeClassifier`,fail-closed);外部 MCP 分区按名排序保证 prompt-cache 稳定。
|
|
93
|
+
- **native 指令分层(T4, #88, local-wins)**:操作员角色从单 `AGENTS.md` → `<cwd>/AGENTS.md`(project)+ `<cwd>/AGENTS.local.md`(local,最后拼接=胜出)。`IMHUB_NATIVE_AGENT_ROLE_FILE` 仍可 pin 单文件。
|
|
94
|
+
- **验证子代理 SOP(T5, #89)**:native system prompt 增加"产出实质结果后用全新子代理独立校验 + 自包含 brief + 先综合再委派"指导(纯 prompt,无运行时分支)。
|
|
95
|
+
- **native 审计 traceId 关联(M5, #94)**:native 之前自造 `native-<sid>-<ts>` traceId,审计行无法关联入站消息。`AgentSendOpts.traceId` 由 router 透传、native 优先采用;进程内 A2A 子调用链接 `${parent}/a2a-${id}`(ADR-0002 修复)。
|
|
96
|
+
|
|
97
|
+
### Docs
|
|
98
|
+
|
|
99
|
+
- `AGENTS.md`:补 Cursor Cloud 依赖安装 caveat(#82)。
|
|
100
|
+
- 新增 `docs/architecture/current.md` §七、`docs/security-hardening.md` drift 修正、`docs/architecture-bridge-and-native.md` §10(含已知偏差清单)、`docs/adr/0002` traceId 更新(#95)。
|
|
101
|
+
|
|
102
|
+
### Known deviations (尚未收口)
|
|
103
|
+
|
|
104
|
+
- A2A `call_agent('native')` 进程内快路径绕过 `callAgentByName`,不写 inline job / `intent:'a2a'` 审计行(本轮仅补 trace 链接)。
|
|
105
|
+
- `isAgentEnabled('native')` 恒 true,无视 `config.agents` 禁用开关。
|
|
106
|
+
- ACP 侧 SSRF 仅覆盖 Web test/discover API(该面默认被 `IMHUB_ENABLE_REMOTE_AGENT` 关闭)。
|
|
107
|
+
|
|
7
108
|
## [1.2.144] - 2026-06-05
|
|
8
109
|
|
|
9
110
|
### Security (CR 修复:反代鉴权绕过 + role=user 权限收窄)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-llm.d.ts","sourceRoot":"","sources":["../../src/cli-ui/setup-llm.ts"],"names":[],"mappings":"AA0BA,OAAO,EAA4B,sBAAsB,EAAwB,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"setup-llm.d.ts","sourceRoot":"","sources":["../../src/cli-ui/setup-llm.ts"],"names":[],"mappings":"AA0BA,OAAO,EAA4B,sBAAsB,EAAwB,MAAM,wBAAwB,CAAA;AAgE/G;qDACqD;AACrD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBjE;AAoUD,iBAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAI/E;AAED,iBAAS,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvC;AAuBD;+CAC+C;AAC/C,eAAO,MAAM,SAAS;;;;;eA5ab,MAAM;kBACH,eAAe,GAAG,WAAW;iBAC9B,MAAM;mBACJ,MAAM;mBACN,MAAM;;CA6alB,CAAA;AAED;;oBAEoB;AACpB,eAAO,MAAM,MAAM;;CAA6B,CAAA"}
|
package/dist/cli-ui/setup-llm.js
CHANGED
|
@@ -49,7 +49,9 @@ const PROVIDER_PRESETS = [
|
|
|
49
49
|
modelHint: 'gpt-4o-mini',
|
|
50
50
|
apiKeyDoc: 'platform.openai.com → API keys' },
|
|
51
51
|
{ label: 'Anthropic (native)',
|
|
52
|
-
|
|
52
|
+
// NB: no trailing /v1 — the Anthropic provider appends `/v1/messages`
|
|
53
|
+
// itself, so a `…/v1` base URL would 404 with `/v1/v1/messages`.
|
|
54
|
+
provider: 'anthropic', baseUrl: 'https://api.anthropic.com',
|
|
53
55
|
modelHint: 'claude-3-5-sonnet-20241022',
|
|
54
56
|
apiKeyDoc: 'console.anthropic.com → API Keys' },
|
|
55
57
|
{ label: 'Custom / other openai-compatible',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-llm.js","sourceRoot":"","sources":["../../src/cli-ui/setup-llm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-llm.js","sourceRoot":"","sources":["../../src/cli-ui/setup-llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,36 @@ declare class CircuitBreaker {
|
|
|
12
12
|
* Check if an agent is currently blocked (breaker open AND cooldown still
|
|
13
13
|
* active). After cooldown elapses we transition to half-open and *return
|
|
14
14
|
* false for the first caller only* — that caller becomes the probe.
|
|
15
|
+
*
|
|
16
|
+
* NOTE: this method has a SIDE EFFECT (it claims the half-open probe).
|
|
17
|
+
* It must therefore only be called at most once per actual invocation,
|
|
18
|
+
* right when the caller commits to running the agent. Read-only callers
|
|
19
|
+
* (routing filters, pre-call gates that may bail out) must use the pure
|
|
20
|
+
* {@link peek} instead, otherwise the probe is silently consumed and the
|
|
21
|
+
* breaker can get stuck in `half-open` forever (no paired record*).
|
|
22
|
+
* Production routing uses {@link peek} + {@link acquireProbe}; `isOpen`
|
|
23
|
+
* is retained for its documented probe-granting semantics.
|
|
15
24
|
*/
|
|
16
25
|
isOpen(agent: string): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Pure, side-effect-free view of whether an agent is currently blocked.
|
|
28
|
+
* Unlike {@link isOpen} it NEVER grants the half-open probe, so it is safe
|
|
29
|
+
* to call from `filter()` predicates and from pre-call gates that may
|
|
30
|
+
* early-return before the agent is actually invoked.
|
|
31
|
+
*
|
|
32
|
+
* An `open` breaker whose cooldown has elapsed is reported as NOT blocked
|
|
33
|
+
* (`false`) — it is eligible for the next call, which will claim the probe
|
|
34
|
+
* via {@link acquireProbe}.
|
|
35
|
+
*/
|
|
36
|
+
peek(agent: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Claim the single half-open probe slot. Call this exactly once, at the
|
|
39
|
+
* moment the caller commits to actually invoking the agent (i.e. paired
|
|
40
|
+
* with a guaranteed downstream recordSuccess/recordFailure). Transitions
|
|
41
|
+
* `open → half-open` once the cooldown has elapsed; no-op when the breaker
|
|
42
|
+
* is `closed` or already `half-open`.
|
|
43
|
+
*/
|
|
44
|
+
acquireProbe(agent: string): void;
|
|
17
45
|
/** Get status for display / debug. */
|
|
18
46
|
getStatus(agent: string): {
|
|
19
47
|
failures: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../src/core/circuit-breaker.ts"],"names":[],"mappings":"AAkBA,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;AAUnD,cAAM,cAAc;IAClB,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAQ;gBAElB,SAAS,SAAoB,EAAE,UAAU,SAAsB;IAK3E,2EAA2E;IAC3E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAoBrC,2EAA2E;IAC3E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlC
|
|
1
|
+
{"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../src/core/circuit-breaker.ts"],"names":[],"mappings":"AAkBA,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;AAUnD,cAAM,cAAc;IAClB,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAQ;gBAElB,SAAS,SAAoB,EAAE,UAAU,SAAsB;IAK3E,2EAA2E;IAC3E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAoBrC,2EAA2E;IAC3E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlC;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAkB9B;;;;;;;;;OASG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAS5B;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQjC,sCAAsC;IACtC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,YAAY,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAW/H,+EAA+E;IAC/E,QAAQ,IAAI,MAAM,EAAE;IAQpB;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ3B,OAAO,CAAC,GAAG;CAQZ;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAA"}
|
|
@@ -50,6 +50,15 @@ class CircuitBreaker {
|
|
|
50
50
|
* Check if an agent is currently blocked (breaker open AND cooldown still
|
|
51
51
|
* active). After cooldown elapses we transition to half-open and *return
|
|
52
52
|
* false for the first caller only* — that caller becomes the probe.
|
|
53
|
+
*
|
|
54
|
+
* NOTE: this method has a SIDE EFFECT (it claims the half-open probe).
|
|
55
|
+
* It must therefore only be called at most once per actual invocation,
|
|
56
|
+
* right when the caller commits to running the agent. Read-only callers
|
|
57
|
+
* (routing filters, pre-call gates that may bail out) must use the pure
|
|
58
|
+
* {@link peek} instead, otherwise the probe is silently consumed and the
|
|
59
|
+
* breaker can get stuck in `half-open` forever (no paired record*).
|
|
60
|
+
* Production routing uses {@link peek} + {@link acquireProbe}; `isOpen`
|
|
61
|
+
* is retained for its documented probe-granting semantics.
|
|
53
62
|
*/
|
|
54
63
|
isOpen(agent) {
|
|
55
64
|
const s = this.states.get(agent);
|
|
@@ -69,6 +78,42 @@ class CircuitBreaker {
|
|
|
69
78
|
}
|
|
70
79
|
return true;
|
|
71
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Pure, side-effect-free view of whether an agent is currently blocked.
|
|
83
|
+
* Unlike {@link isOpen} it NEVER grants the half-open probe, so it is safe
|
|
84
|
+
* to call from `filter()` predicates and from pre-call gates that may
|
|
85
|
+
* early-return before the agent is actually invoked.
|
|
86
|
+
*
|
|
87
|
+
* An `open` breaker whose cooldown has elapsed is reported as NOT blocked
|
|
88
|
+
* (`false`) — it is eligible for the next call, which will claim the probe
|
|
89
|
+
* via {@link acquireProbe}.
|
|
90
|
+
*/
|
|
91
|
+
peek(agent) {
|
|
92
|
+
const s = this.states.get(agent);
|
|
93
|
+
if (!s || s.phase === 'closed')
|
|
94
|
+
return false;
|
|
95
|
+
if (s.phase === 'half-open')
|
|
96
|
+
return true;
|
|
97
|
+
// phase === 'open' — blocked only while the cooldown is still active.
|
|
98
|
+
if (s.openedAt !== null && Date.now() - s.openedAt > s.cooldownMs)
|
|
99
|
+
return false;
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Claim the single half-open probe slot. Call this exactly once, at the
|
|
104
|
+
* moment the caller commits to actually invoking the agent (i.e. paired
|
|
105
|
+
* with a guaranteed downstream recordSuccess/recordFailure). Transitions
|
|
106
|
+
* `open → half-open` once the cooldown has elapsed; no-op when the breaker
|
|
107
|
+
* is `closed` or already `half-open`.
|
|
108
|
+
*/
|
|
109
|
+
acquireProbe(agent) {
|
|
110
|
+
const s = this.states.get(agent);
|
|
111
|
+
if (!s || s.phase !== 'open')
|
|
112
|
+
return;
|
|
113
|
+
if (s.openedAt !== null && Date.now() - s.openedAt > s.cooldownMs) {
|
|
114
|
+
s.phase = 'half-open';
|
|
115
|
+
}
|
|
116
|
+
}
|
|
72
117
|
/** Get status for display / debug. */
|
|
73
118
|
getStatus(agent) {
|
|
74
119
|
const s = this.get(agent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../src/core/circuit-breaker.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,wDAAwD;AACxD,gDAAgD;AAChD,mEAAmE;AACnE,kEAAkE;AAClE,sEAAsE;AACtE,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,2EAA2E;AAC3E,qEAAqE;AACrE,4DAA4D;AAE5D,MAAM,iBAAiB,GAAG,CAAC,CAAA,CAAQ,+BAA+B;AAClE,MAAM,mBAAmB,GAAG,OAAO,CAAA,CAAC,YAAY;AAChD,MAAM,eAAe,GAAG,EAAE,GAAG,MAAM,CAAA,CAAC,oCAAoC;AAYxE,MAAM,cAAc;IACV,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAA;IACxC,SAAS,CAAQ;IACjB,cAAc,CAAQ;IAE9B,YAAY,SAAS,GAAG,iBAAiB,EAAE,UAAU,GAAG,mBAAmB;QACzE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,cAAc,GAAG,UAAU,CAAA;IAClC,CAAC;IAED,2EAA2E;IAC3E,aAAa,CAAC,KAAa;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAC5B,wDAAwD;YACxD,CAAC,CAAC,KAAK,GAAG,MAAM,CAAA;YAChB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACvB,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,eAAe,CAAC,CAAA;YAC1D,qEAAqE;YACrE,OAAO,IAAI,CAAA;QACb,CAAC;QACD,CAAC,CAAC,QAAQ,EAAE,CAAA;QACZ,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzD,CAAC,CAAC,KAAK,GAAG,MAAM,CAAA;YAChB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACvB,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAA;YAClC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,2EAA2E;IAC3E,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../src/core/circuit-breaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/core/intent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AA4ElC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;CAClF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,YAAY,
|
|
1
|
+
{"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../src/core/intent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AA4ElC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;CAClF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,GACpB,YAAY,CA2Id"}
|
package/dist/core/intent.js
CHANGED
|
@@ -74,7 +74,9 @@ const TOPIC_RULES = [
|
|
|
74
74
|
* ambiguous messages route to the operator's chosen default.
|
|
75
75
|
*/
|
|
76
76
|
export function classifyIntent(text, stickyAgent, logger, defaultAgent) {
|
|
77
|
-
|
|
77
|
+
// peek() is side-effect-free: classification must never consume the
|
|
78
|
+
// half-open probe (otherwise the breaker can get stuck open forever).
|
|
79
|
+
const available = registry.listAgents().filter(a => !circuitBreaker.peek(a));
|
|
78
80
|
if (available.length === 0) {
|
|
79
81
|
throw new Error('No agents available');
|
|
80
82
|
}
|
package/dist/core/intent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/core/intent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"intent.js","sourceRoot":"","sources":["../../src/core/intent.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,7 +76,7 @@ export declare const alwaysAllowGate: ApprovalGate;
|
|
|
76
76
|
* as semantically off-target for the user's prompt / active goal.
|
|
77
77
|
* Different from stuck_loop (mechanical repeat) — this catches the
|
|
78
78
|
* "different calls but still pointless" failure mode. */
|
|
79
|
-
export type LoopFinishReason = FinishReason | 'max_iterations' | 'aborted' | 'stuck_loop' | 'off_track';
|
|
79
|
+
export type LoopFinishReason = FinishReason | 'max_iterations' | 'aborted' | 'stuck_loop' | 'off_track' | 'hallucinated_tools';
|
|
80
80
|
export interface AgentLoopInput {
|
|
81
81
|
provider: LlmProvider;
|
|
82
82
|
/** Optional system prompt prepended ONCE; never re-issued across
|
|
@@ -151,6 +151,14 @@ export interface AgentLoopInput {
|
|
|
151
151
|
* Leave undefined → loop is fully serial (no behaviour change vs
|
|
152
152
|
* v1.2.108). */
|
|
153
153
|
parallelSafeTools?: ReadonlySet<string>;
|
|
154
|
+
/** T2 — per-call concurrency classifier. Takes precedence over
|
|
155
|
+
* `parallelSafeTools` when provided. Returns true ONLY for genuinely
|
|
156
|
+
* read-only / pure / order-independent calls; the loop falls back to
|
|
157
|
+
* serial for everything else. Fail-closed: a classifier that throws is
|
|
158
|
+
* treated as "not safe" (serial), never escalated to a crash. Lets a
|
|
159
|
+
* source classify the SAME tool name differently per input (e.g. a glob
|
|
160
|
+
* that triggers a write) — the static set can't. */
|
|
161
|
+
parallelSafeClassifier?: (call: ToolCallRequest) => boolean;
|
|
154
162
|
/** v1.2.112 — opt into streaming the provider response so the iter
|
|
155
163
|
* preserves partial assistant text on abort instead of dropping
|
|
156
164
|
* everything when the 30-min IM hard timeout fires mid-response.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../src/core/llm/agent-loop.ts"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EAEV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,eAAe,EACf,UAAU,EACV,OAAO,EACR,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../src/core/llm/agent-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
import { logger as rootLogger } from '../logger.js';
|
|
47
47
|
import { logInvocation } from '../audit-log.js';
|
|
48
48
|
import { runGoalCritic, resolveCriticMode } from './goal-critic.js';
|
|
49
|
+
import { detectHallucinatedToolCall, isHallucinationDetectorOn } from './hallucination-detector.js';
|
|
49
50
|
import { validateAgainstSchema, formatValidationErrors } from './schema-validate.js';
|
|
50
51
|
const log = rootLogger.child({ component: 'agent-loop' });
|
|
51
52
|
const DEFAULT_MAX_ITERATIONS = 20;
|
|
@@ -187,6 +188,10 @@ async function streamThenBuffer(provider, history, opts) {
|
|
|
187
188
|
let usage = {};
|
|
188
189
|
// tool_call accumulator: index → { id, name, argsConcat }
|
|
189
190
|
const toolAcc = new Map();
|
|
191
|
+
// Complete tool calls delivered whole in a chunk (pseudo-streaming
|
|
192
|
+
// providers, e.g. Anthropic's buffered `_callApiStream`). These win over
|
|
193
|
+
// the delta accumulator since they're already fully formed.
|
|
194
|
+
let completeToolCalls;
|
|
190
195
|
try {
|
|
191
196
|
for await (const chunk of provider.chatStream(history, {
|
|
192
197
|
system: opts.system,
|
|
@@ -224,6 +229,12 @@ async function streamThenBuffer(provider, history, opts) {
|
|
|
224
229
|
acc.argsConcat += d.argumentsDelta;
|
|
225
230
|
}
|
|
226
231
|
}
|
|
232
|
+
// Complete tool calls delivered in one chunk (pseudo-streaming
|
|
233
|
+
// providers). Accumulate across chunks in case a provider splits
|
|
234
|
+
// them; last non-empty wins for a given turn.
|
|
235
|
+
if (chunk.toolCalls && chunk.toolCalls.length > 0) {
|
|
236
|
+
completeToolCalls = [...(completeToolCalls ?? []), ...chunk.toolCalls];
|
|
237
|
+
}
|
|
227
238
|
if (chunk.finishReason)
|
|
228
239
|
finishReason = chunk.finishReason;
|
|
229
240
|
if (chunk.usage)
|
|
@@ -259,6 +270,18 @@ async function streamThenBuffer(provider, history, opts) {
|
|
|
259
270
|
throw err;
|
|
260
271
|
}
|
|
261
272
|
}
|
|
273
|
+
// Prefer complete tool calls delivered whole (pseudo-streaming providers)
|
|
274
|
+
// over the delta accumulator; the latter stays empty for those providers.
|
|
275
|
+
if (completeToolCalls && completeToolCalls.length > 0) {
|
|
276
|
+
return {
|
|
277
|
+
text,
|
|
278
|
+
toolCalls: completeToolCalls,
|
|
279
|
+
reasoningContent: reasoning || undefined,
|
|
280
|
+
usage,
|
|
281
|
+
finishReason,
|
|
282
|
+
modelUsed: opts.model ?? provider.model,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
262
285
|
// Materialise accumulated tool_calls. Drop entries with no name (the
|
|
263
286
|
// model didn't finish identifying which tool) — safer than guessing.
|
|
264
287
|
const toolCalls = [];
|
|
@@ -770,6 +793,44 @@ export async function runAgentLoop(input) {
|
|
|
770
793
|
}
|
|
771
794
|
// No tools, or model decided not to call any → terminate.
|
|
772
795
|
if (result.finishReason !== 'tool_use' || !result.toolCalls || result.toolCalls.length === 0) {
|
|
796
|
+
// v1.2.147 — hallucinated tool-call detector. When the model
|
|
797
|
+
// talks about invoking a native_* tool ("我现在调用 native_write_file:
|
|
798
|
+
// ```python …```") but never emitted the toolCalls schema entry,
|
|
799
|
+
// we'd otherwise ship the lie as a normal reply. Flag it so the
|
|
800
|
+
// adapter renders a targeted recap instead.
|
|
801
|
+
//
|
|
802
|
+
// Scope: only finishReason==='stop' (model thinks it's done), with
|
|
803
|
+
// non-empty text and zero real tool calls. Skips when tools array
|
|
804
|
+
// is undefined (turn had no tool surface) since "narrate without
|
|
805
|
+
// emit" makes no sense without a surface to emit against.
|
|
806
|
+
if (result.finishReason === 'stop'
|
|
807
|
+
&& result.text
|
|
808
|
+
&& (!result.toolCalls || result.toolCalls.length === 0)
|
|
809
|
+
&& tools && tools.length > 0
|
|
810
|
+
&& isHallucinationDetectorOn()) {
|
|
811
|
+
const det = detectHallucinatedToolCall({
|
|
812
|
+
text: result.text,
|
|
813
|
+
toolNames: tools.map((t) => t.name),
|
|
814
|
+
emittedToolCallCount: 0,
|
|
815
|
+
});
|
|
816
|
+
if (det.hallucinated) {
|
|
817
|
+
log.warn({
|
|
818
|
+
event: 'agent-loop.hallucinated_tool_call',
|
|
819
|
+
pattern: det.pattern,
|
|
820
|
+
evidence: det.evidence,
|
|
821
|
+
backend: input.provider.name,
|
|
822
|
+
iter,
|
|
823
|
+
}, 'model narrated a tool call without emitting toolCalls — flagging recap');
|
|
824
|
+
signal.cleanup();
|
|
825
|
+
return {
|
|
826
|
+
text: lengthRecoveryPrefix + result.text,
|
|
827
|
+
iterations: iter + 1,
|
|
828
|
+
toolCalls,
|
|
829
|
+
usage: usageAcc,
|
|
830
|
+
finishReason: 'hallucinated_tools',
|
|
831
|
+
};
|
|
832
|
+
}
|
|
833
|
+
}
|
|
773
834
|
signal.cleanup();
|
|
774
835
|
return {
|
|
775
836
|
// v1.2.117 — prefix accumulated partials so a chain of length
|
|
@@ -947,7 +1008,9 @@ export async function runAgentLoop(input) {
|
|
|
947
1008
|
errorType: extractErrorType(dispatched.isError, truncated.text),
|
|
948
1009
|
};
|
|
949
1010
|
};
|
|
950
|
-
const isParallel =
|
|
1011
|
+
const isParallel = input.parallelSafeClassifier
|
|
1012
|
+
? classifyParallelSafe(input.parallelSafeClassifier, call)
|
|
1013
|
+
: !!parallelSafe?.has(call.name);
|
|
951
1014
|
if (isParallel) {
|
|
952
1015
|
pendingTasks.push(runDispatch());
|
|
953
1016
|
}
|
|
@@ -1193,6 +1256,22 @@ function mergeSignal(userSignal, timeoutMs) {
|
|
|
1193
1256
|
},
|
|
1194
1257
|
};
|
|
1195
1258
|
}
|
|
1259
|
+
/** T2 — run the caller's per-call concurrency classifier, fail-closed.
|
|
1260
|
+
* A classifier that throws (or any non-true return) means "serial" so a
|
|
1261
|
+
* buggy predicate degrades throughput rather than crashing the turn. */
|
|
1262
|
+
function classifyParallelSafe(classifier, call) {
|
|
1263
|
+
try {
|
|
1264
|
+
return classifier(call) === true;
|
|
1265
|
+
}
|
|
1266
|
+
catch (err) {
|
|
1267
|
+
log.warn({
|
|
1268
|
+
event: 'agent-loop.parallel_classifier_threw',
|
|
1269
|
+
tool: call.name,
|
|
1270
|
+
err: err instanceof Error ? err.message : String(err),
|
|
1271
|
+
});
|
|
1272
|
+
return false;
|
|
1273
|
+
}
|
|
1274
|
+
}
|
|
1196
1275
|
async function safeApprove(gate, call, attempt) {
|
|
1197
1276
|
try {
|
|
1198
1277
|
return await gate(call, attempt);
|