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.
Files changed (266) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/dist/cli-ui/setup-llm.d.ts.map +1 -1
  3. package/dist/cli-ui/setup-llm.js +3 -1
  4. package/dist/cli-ui/setup-llm.js.map +1 -1
  5. package/dist/core/circuit-breaker.d.ts +28 -0
  6. package/dist/core/circuit-breaker.d.ts.map +1 -1
  7. package/dist/core/circuit-breaker.js +45 -0
  8. package/dist/core/circuit-breaker.js.map +1 -1
  9. package/dist/core/intent.d.ts.map +1 -1
  10. package/dist/core/intent.js +3 -1
  11. package/dist/core/intent.js.map +1 -1
  12. package/dist/core/llm/agent-loop.d.ts +9 -1
  13. package/dist/core/llm/agent-loop.d.ts.map +1 -1
  14. package/dist/core/llm/agent-loop.js +80 -1
  15. package/dist/core/llm/agent-loop.js.map +1 -1
  16. package/dist/core/llm/anthropic-provider.d.ts.map +1 -1
  17. package/dist/core/llm/anthropic-provider.js +18 -4
  18. package/dist/core/llm/anthropic-provider.js.map +1 -1
  19. package/dist/core/llm/hallucination-detector.d.ts +33 -0
  20. package/dist/core/llm/hallucination-detector.d.ts.map +1 -0
  21. package/dist/core/llm/hallucination-detector.js +103 -0
  22. package/dist/core/llm/hallucination-detector.js.map +1 -0
  23. package/dist/core/llm/imhub-dispatcher.d.ts.map +1 -1
  24. package/dist/core/llm/imhub-dispatcher.js +7 -0
  25. package/dist/core/llm/imhub-dispatcher.js.map +1 -1
  26. package/dist/core/llm/provider-base.d.ts +9 -0
  27. package/dist/core/llm/provider-base.d.ts.map +1 -1
  28. package/dist/core/llm/provider-base.js.map +1 -1
  29. package/dist/core/memory-distill.d.ts.map +1 -1
  30. package/dist/core/memory-distill.js +18 -3
  31. package/dist/core/memory-distill.js.map +1 -1
  32. package/dist/core/memory.d.ts +14 -0
  33. package/dist/core/memory.d.ts.map +1 -1
  34. package/dist/core/memory.js +39 -0
  35. package/dist/core/memory.js.map +1 -1
  36. package/dist/core/message-sink.d.ts +6 -0
  37. package/dist/core/message-sink.d.ts.map +1 -1
  38. package/dist/core/message-sink.js +18 -3
  39. package/dist/core/message-sink.js.map +1 -1
  40. package/dist/core/outbox.d.ts +30 -2
  41. package/dist/core/outbox.d.ts.map +1 -1
  42. package/dist/core/outbox.js +102 -10
  43. package/dist/core/outbox.js.map +1 -1
  44. package/dist/core/reminders.d.ts.map +1 -1
  45. package/dist/core/reminders.js +11 -1
  46. package/dist/core/reminders.js.map +1 -1
  47. package/dist/core/router.d.ts.map +1 -1
  48. package/dist/core/router.js +16 -4
  49. package/dist/core/router.js.map +1 -1
  50. package/dist/core/schedule.d.ts +18 -0
  51. package/dist/core/schedule.d.ts.map +1 -1
  52. package/dist/core/schedule.js +80 -17
  53. package/dist/core/schedule.js.map +1 -1
  54. package/dist/core/sensitive-paths.d.ts.map +1 -1
  55. package/dist/core/sensitive-paths.js +53 -9
  56. package/dist/core/sensitive-paths.js.map +1 -1
  57. package/dist/core/types.d.ts +6 -0
  58. package/dist/core/types.d.ts.map +1 -1
  59. package/dist/plugins/agents/native/index.d.ts +47 -8
  60. package/dist/plugins/agents/native/index.d.ts.map +1 -1
  61. package/dist/plugins/agents/native/index.js +253 -102
  62. package/dist/plugins/agents/native/index.js.map +1 -1
  63. package/dist/plugins/agents/native/tool-registry.d.ts +33 -0
  64. package/dist/plugins/agents/native/tool-registry.d.ts.map +1 -0
  65. package/dist/plugins/agents/native/tool-registry.js +82 -0
  66. package/dist/plugins/agents/native/tool-registry.js.map +1 -0
  67. package/dist/plugins/messengers/dingtalk/dingtalk-client.d.ts.map +1 -1
  68. package/dist/plugins/messengers/dingtalk/dingtalk-client.js +11 -11
  69. package/dist/plugins/messengers/dingtalk/dingtalk-client.js.map +1 -1
  70. package/dist/plugins/messengers/feishu/feishu-adapter.d.ts.map +1 -1
  71. package/dist/plugins/messengers/feishu/feishu-adapter.js +9 -5
  72. package/dist/plugins/messengers/feishu/feishu-adapter.js.map +1 -1
  73. package/dist/plugins/messengers/wechat/ilink-adapter.d.ts.map +1 -1
  74. package/dist/plugins/messengers/wechat/ilink-adapter.js +11 -1
  75. package/dist/plugins/messengers/wechat/ilink-adapter.js.map +1 -1
  76. package/dist/web/public/assets/{a2a-DczMMkbl.js → a2a-Cll3P4QN.js} +2 -2
  77. package/dist/web/public/assets/{a2a-DczMMkbl.js.map → a2a-Cll3P4QN.js.map} +1 -1
  78. package/dist/web/public/assets/{activity-cbLHkzca.js → activity-B7T7YFlD.js} +2 -2
  79. package/dist/web/public/assets/{activity-cbLHkzca.js.map → activity-B7T7YFlD.js.map} +1 -1
  80. package/dist/web/public/assets/{admins-C-YsGMj7.js → admins-CN7P018S.js} +2 -2
  81. package/dist/web/public/assets/{admins-C-YsGMj7.js.map → admins-CN7P018S.js.map} +1 -1
  82. package/dist/web/public/assets/{agents-BWfov_1-.js → agents-Bqgq7GBF.js} +2 -2
  83. package/dist/web/public/assets/{agents-BWfov_1-.js.map → agents-Bqgq7GBF.js.map} +1 -1
  84. package/dist/web/public/assets/{approvals-HSssmXKS.js → approvals-C8IUJQ_A.js} +2 -2
  85. package/dist/web/public/assets/{approvals-HSssmXKS.js.map → approvals-C8IUJQ_A.js.map} +1 -1
  86. package/dist/web/public/assets/{arrow-down-BXvC8Al2.js → arrow-down-SLWKqtDc.js} +2 -2
  87. package/dist/web/public/assets/{arrow-down-BXvC8Al2.js.map → arrow-down-SLWKqtDc.js.map} +1 -1
  88. package/dist/web/public/assets/{arrow-up-63xELY5Q.js → arrow-up-BOADc9ce.js} +2 -2
  89. package/dist/web/public/assets/{arrow-up-63xELY5Q.js.map → arrow-up-BOADc9ce.js.map} +1 -1
  90. package/dist/web/public/assets/{asks-COLEFOvK.js → asks-C-j-DypC.js} +2 -2
  91. package/dist/web/public/assets/{asks-COLEFOvK.js.map → asks-C-j-DypC.js.map} +1 -1
  92. package/dist/web/public/assets/{audit-D4ZEiZub.js → audit-DQb-RuXh.js} +2 -2
  93. package/dist/web/public/assets/{audit-D4ZEiZub.js.map → audit-DQb-RuXh.js.map} +1 -1
  94. package/dist/web/public/assets/{bell-Cg2Bvv06.js → bell-CV88-ul6.js} +2 -2
  95. package/dist/web/public/assets/{bell-Cg2Bvv06.js.map → bell-CV88-ul6.js.map} +1 -1
  96. package/dist/web/public/assets/{bgjobs-CEjCzwtd.js → bgjobs-CDrK0d-W.js} +2 -2
  97. package/dist/web/public/assets/{bgjobs-CEjCzwtd.js.map → bgjobs-CDrK0d-W.js.map} +1 -1
  98. package/dist/web/public/assets/{brain-euvl6F6C.js → brain-B7HtSOQU.js} +2 -2
  99. package/dist/web/public/assets/{brain-euvl6F6C.js.map → brain-B7HtSOQU.js.map} +1 -1
  100. package/dist/web/public/assets/{briefcase-DPWLbCnA.js → briefcase-mdzuIa__.js} +2 -2
  101. package/dist/web/public/assets/{briefcase-DPWLbCnA.js.map → briefcase-mdzuIa__.js.map} +1 -1
  102. package/dist/web/public/assets/{browser-ponyfill-BUutOaRz.js → browser-ponyfill-DBWdeCTC.js} +2 -2
  103. package/dist/web/public/assets/{browser-ponyfill-BUutOaRz.js.map → browser-ponyfill-DBWdeCTC.js.map} +1 -1
  104. package/dist/web/public/assets/{chat-Dz9kfaxH.js → chat-CSjtY2rN.js} +3 -3
  105. package/dist/web/public/assets/{chat-Dz9kfaxH.js.map → chat-CSjtY2rN.js.map} +1 -1
  106. package/dist/web/public/assets/{chevron-left-BeIh5thq.js → chevron-left-uSfPn636.js} +2 -2
  107. package/dist/web/public/assets/{chevron-left-BeIh5thq.js.map → chevron-left-uSfPn636.js.map} +1 -1
  108. package/dist/web/public/assets/{chevron-right-uP_l9MMb.js → chevron-right-CtelqacW.js} +2 -2
  109. package/dist/web/public/assets/{chevron-right-uP_l9MMb.js.map → chevron-right-CtelqacW.js.map} +1 -1
  110. package/dist/web/public/assets/{circle-check-CewnjFgv.js → circle-check-8dbL-u7O.js} +2 -2
  111. package/dist/web/public/assets/{circle-check-CewnjFgv.js.map → circle-check-8dbL-u7O.js.map} +1 -1
  112. package/dist/web/public/assets/{circle-check-big-C2RTc48c.js → circle-check-big-D8-svk9a.js} +2 -2
  113. package/dist/web/public/assets/{circle-check-big-C2RTc48c.js.map → circle-check-big-D8-svk9a.js.map} +1 -1
  114. package/dist/web/public/assets/{circle-x-Ccg1HyV-.js → circle-x-rUxzIz5P.js} +2 -2
  115. package/dist/web/public/assets/{circle-x-Ccg1HyV-.js.map → circle-x-rUxzIz5P.js.map} +1 -1
  116. package/dist/web/public/assets/{clock-qxbYSynv.js → clock-CG5dlBGB.js} +2 -2
  117. package/dist/web/public/assets/{clock-qxbYSynv.js.map → clock-CG5dlBGB.js.map} +1 -1
  118. package/dist/web/public/assets/{confirm-dialog-DmJq4Td9.js → confirm-dialog-DlUsSur3.js} +2 -2
  119. package/dist/web/public/assets/{confirm-dialog-DmJq4Td9.js.map → confirm-dialog-DlUsSur3.js.map} +1 -1
  120. package/dist/web/public/assets/{copy-DxSHRdbc.js → copy-DnC76wFT.js} +2 -2
  121. package/dist/web/public/assets/{copy-DxSHRdbc.js.map → copy-DnC76wFT.js.map} +1 -1
  122. package/dist/web/public/assets/{data-table-S7rIjwdO.js → data-table-DswkWUfG.js} +2 -2
  123. package/dist/web/public/assets/{data-table-S7rIjwdO.js.map → data-table-DswkWUfG.js.map} +1 -1
  124. package/dist/web/public/assets/dialog-Ceo4YuXy.js +6 -0
  125. package/dist/web/public/assets/dialog-Ceo4YuXy.js.map +1 -0
  126. package/dist/web/public/assets/{download-OhsGtnO-.js → download-DF-46tS4.js} +2 -2
  127. package/dist/web/public/assets/{download-OhsGtnO-.js.map → download-DF-46tS4.js.map} +1 -1
  128. package/dist/web/public/assets/{email-C1-HxWLF.js → email-CZee26-_.js} +3 -3
  129. package/dist/web/public/assets/{email-C1-HxWLF.js.map → email-CZee26-_.js.map} +1 -1
  130. package/dist/web/public/assets/{empty-state-C-qjOHyu.js → empty-state-D9Hi0Atm.js} +2 -2
  131. package/dist/web/public/assets/{empty-state-C-qjOHyu.js.map → empty-state-D9Hi0Atm.js.map} +1 -1
  132. package/dist/web/public/assets/{external-link-DRVp9-lb.js → external-link-D64iZa9P.js} +2 -2
  133. package/dist/web/public/assets/{external-link-DRVp9-lb.js.map → external-link-D64iZa9P.js.map} +1 -1
  134. package/dist/web/public/assets/{eye-CFhg5BTa.js → eye-sY6WZb7D.js} +2 -2
  135. package/dist/web/public/assets/{eye-CFhg5BTa.js.map → eye-sY6WZb7D.js.map} +1 -1
  136. package/dist/web/public/assets/{facts-CGaLWhzi.js → facts-B7bGGwvi.js} +2 -2
  137. package/dist/web/public/assets/{facts-CGaLWhzi.js.map → facts-B7bGGwvi.js.map} +1 -1
  138. package/dist/web/public/assets/{goals-C-dJANmn.js → goals-BfQbsvZv.js} +2 -2
  139. package/dist/web/public/assets/{goals-C-dJANmn.js.map → goals-BfQbsvZv.js.map} +1 -1
  140. package/dist/web/public/assets/{health-CWcti5h3.js → health-Ba_mY0Ts.js} +2 -2
  141. package/dist/web/public/assets/{health-CWcti5h3.js.map → health-Ba_mY0Ts.js.map} +1 -1
  142. package/dist/web/public/assets/{heart-pulse-DmGhKR2W.js → heart-pulse-BjikOVwU.js} +2 -2
  143. package/dist/web/public/assets/{heart-pulse-DmGhKR2W.js.map → heart-pulse-BjikOVwU.js.map} +1 -1
  144. package/dist/web/public/assets/{heartbeat-kLoGBNCo.js → heartbeat-BM8LlPes.js} +2 -2
  145. package/dist/web/public/assets/{heartbeat-kLoGBNCo.js.map → heartbeat-BM8LlPes.js.map} +1 -1
  146. package/dist/web/public/assets/{hot-BITDoax1.js → hot-BtuLL6n8.js} +2 -2
  147. package/dist/web/public/assets/{hot-BITDoax1.js.map → hot-BtuLL6n8.js.map} +1 -1
  148. package/dist/web/public/assets/index-DEWFfW_Z.js +199 -0
  149. package/dist/web/public/assets/index-DEWFfW_Z.js.map +1 -0
  150. package/dist/web/public/assets/{installed-Co9WrtQ7.js → installed-Xr8p31ij.js} +2 -2
  151. package/dist/web/public/assets/{installed-Co9WrtQ7.js.map → installed-Xr8p31ij.js.map} +1 -1
  152. package/dist/web/public/assets/{jobs-hdHhBEvi.js → jobs-Ddy81Udm.js} +2 -2
  153. package/dist/web/public/assets/{jobs-hdHhBEvi.js.map → jobs-Ddy81Udm.js.map} +1 -1
  154. package/dist/web/public/assets/{layout-CQtbOBag.js → layout-BL74fT-L.js} +2 -2
  155. package/dist/web/public/assets/{layout-CQtbOBag.js.map → layout-BL74fT-L.js.map} +1 -1
  156. package/dist/web/public/assets/{layout-bDMXIKIR.js → layout-Bn2qUxcK.js} +2 -2
  157. package/dist/web/public/assets/{layout-bDMXIKIR.js.map → layout-Bn2qUxcK.js.map} +1 -1
  158. package/dist/web/public/assets/{layout-BMXC1Uh1.js → layout-Bp4SAA8_.js} +2 -2
  159. package/dist/web/public/assets/{layout-BMXC1Uh1.js.map → layout-Bp4SAA8_.js.map} +1 -1
  160. package/dist/web/public/assets/{layout-CysVsySh.js → layout-CZ9pGnW8.js} +2 -2
  161. package/dist/web/public/assets/{layout-CysVsySh.js.map → layout-CZ9pGnW8.js.map} +1 -1
  162. package/dist/web/public/assets/{layout-CyBGneZ9.js → layout-pasFRkKV.js} +2 -2
  163. package/dist/web/public/assets/{layout-CyBGneZ9.js.map → layout-pasFRkKV.js.map} +1 -1
  164. package/dist/web/public/assets/llm-yp7b5xxL.js +7 -0
  165. package/dist/web/public/assets/llm-yp7b5xxL.js.map +1 -0
  166. package/dist/web/public/assets/{loader-circle-9VUMGitw.js → loader-circle-Bbw4pEyE.js} +2 -2
  167. package/dist/web/public/assets/{loader-circle-9VUMGitw.js.map → loader-circle-Bbw4pEyE.js.map} +1 -1
  168. package/dist/web/public/assets/{map-pin-BXYvvHry.js → map-pin-DIXHUQgM.js} +2 -2
  169. package/dist/web/public/assets/{map-pin-BXYvvHry.js.map → map-pin-DIXHUQgM.js.map} +1 -1
  170. package/dist/web/public/assets/{mcp-BgLdlwSn.js → mcp-DyaljIM_.js} +2 -2
  171. package/dist/web/public/assets/{mcp-BgLdlwSn.js.map → mcp-DyaljIM_.js.map} +1 -1
  172. package/dist/web/public/assets/memos-Dkoc157i.js +12 -0
  173. package/dist/web/public/assets/memos-Dkoc157i.js.map +1 -0
  174. package/dist/web/public/assets/{messengers-7Phqea62.js → messengers-CcyGDeUI.js} +2 -2
  175. package/dist/web/public/assets/{messengers-7Phqea62.js.map → messengers-CcyGDeUI.js.map} +1 -1
  176. package/dist/web/public/assets/{mobile-CV5b6D2W.js → mobile-DqzIv4Xb.js} +2 -2
  177. package/dist/web/public/assets/{mobile-CV5b6D2W.js.map → mobile-DqzIv4Xb.js.map} +1 -1
  178. package/dist/web/public/assets/{native-agent-QvIa6LjE.js → native-agent-BQ7WaRGK.js} +2 -2
  179. package/dist/web/public/assets/{native-agent-QvIa6LjE.js.map → native-agent-BQ7WaRGK.js.map} +1 -1
  180. package/dist/web/public/assets/{network-BXhEjGhE.js → network-B_yUFAqC.js} +2 -2
  181. package/dist/web/public/assets/{network-BXhEjGhE.js.map → network-B_yUFAqC.js.map} +1 -1
  182. package/dist/web/public/assets/{outbox-DHQL7TQb.js → outbox-l8aVOZqO.js} +2 -2
  183. package/dist/web/public/assets/{outbox-DHQL7TQb.js.map → outbox-l8aVOZqO.js.map} +1 -1
  184. package/dist/web/public/assets/{pagination-VKuPb1Ot.js → pagination-BAKRGKa9.js} +2 -2
  185. package/dist/web/public/assets/{pagination-VKuPb1Ot.js.map → pagination-BAKRGKa9.js.map} +1 -1
  186. package/dist/web/public/assets/{persona-CWug2GLR.js → persona-D3VL9Rg1.js} +2 -2
  187. package/dist/web/public/assets/{persona-CWug2GLR.js.map → persona-D3VL9Rg1.js.map} +1 -1
  188. package/dist/web/public/assets/{plans-CZoEs5SY.js → plans-BBB5e9my.js} +2 -2
  189. package/dist/web/public/assets/{plans-CZoEs5SY.js.map → plans-BBB5e9my.js.map} +1 -1
  190. package/dist/web/public/assets/{play-CfSn5Vdl.js → play-7-Wd369f.js} +2 -2
  191. package/dist/web/public/assets/{play-CfSn5Vdl.js.map → play-7-Wd369f.js.map} +1 -1
  192. package/dist/web/public/assets/{plus-Z8l4CiqJ.js → plus-B0sfZy-j.js} +2 -2
  193. package/dist/web/public/assets/{plus-Z8l4CiqJ.js.map → plus-B0sfZy-j.js.map} +1 -1
  194. package/dist/web/public/assets/{policy-CutDSEPW.js → policy-BM1WRXH0.js} +2 -2
  195. package/dist/web/public/assets/{policy-CutDSEPW.js.map → policy-BM1WRXH0.js.map} +1 -1
  196. package/dist/web/public/assets/{qr-code-DgU5aiM6.js → qr-code-DcKs5fi3.js} +2 -2
  197. package/dist/web/public/assets/{qr-code-DgU5aiM6.js.map → qr-code-DcKs5fi3.js.map} +1 -1
  198. package/dist/web/public/assets/{react-Cb2sDjhD.js → react-DlP5eolq.js} +2 -2
  199. package/dist/web/public/assets/{react-Cb2sDjhD.js.map → react-DlP5eolq.js.map} +1 -1
  200. package/dist/web/public/assets/{refresh-ccw-D2CWiyU_.js → refresh-ccw-uNKeBeRl.js} +2 -2
  201. package/dist/web/public/assets/{refresh-ccw-D2CWiyU_.js.map → refresh-ccw-uNKeBeRl.js.map} +1 -1
  202. package/dist/web/public/assets/{reminders-Cb6Izedg.js → reminders-DHM8K0_O.js} +2 -2
  203. package/dist/web/public/assets/{reminders-Cb6Izedg.js.map → reminders-DHM8K0_O.js.map} +1 -1
  204. package/dist/web/public/assets/{save-DB0BDYTs.js → save-qwJa5_SA.js} +2 -2
  205. package/dist/web/public/assets/{save-DB0BDYTs.js.map → save-qwJa5_SA.js.map} +1 -1
  206. package/dist/web/public/assets/{schedules-8mSjE14D.js → schedules-Bcd0wbT4.js} +2 -2
  207. package/dist/web/public/assets/{schedules-8mSjE14D.js.map → schedules-Bcd0wbT4.js.map} +1 -1
  208. package/dist/web/public/assets/{search-Con69NhG.js → search-BUlzNWrj.js} +2 -2
  209. package/dist/web/public/assets/{search-Con69NhG.js.map → search-BUlzNWrj.js.map} +1 -1
  210. package/dist/web/public/assets/{search-B4fHilZ0.js → search-i1tP2maJ.js} +2 -2
  211. package/dist/web/public/assets/{search-B4fHilZ0.js.map → search-i1tP2maJ.js.map} +1 -1
  212. package/dist/web/public/assets/{security-BTe3zUg8.js → security-DgJyTT4g.js} +2 -2
  213. package/dist/web/public/assets/{security-BTe3zUg8.js.map → security-DgJyTT4g.js.map} +1 -1
  214. package/dist/web/public/assets/{service-C7SqcwfL.js → service-A0Hzear0.js} +2 -2
  215. package/dist/web/public/assets/{service-C7SqcwfL.js.map → service-A0Hzear0.js.map} +1 -1
  216. package/dist/web/public/assets/{shield-alert-CKFVsGgI.js → shield-alert-DrnN6fz_.js} +2 -2
  217. package/dist/web/public/assets/{shield-alert-CKFVsGgI.js.map → shield-alert-DrnN6fz_.js.map} +1 -1
  218. package/dist/web/public/assets/{status-badge-BSkpyN4D.js → status-badge-Ryzf96Pl.js} +2 -2
  219. package/dist/web/public/assets/{status-badge-BSkpyN4D.js.map → status-badge-Ryzf96Pl.js.map} +1 -1
  220. package/dist/web/public/assets/{subtasks-Bel-I1Sk.js → subtasks-Bzh3o3EF.js} +2 -2
  221. package/dist/web/public/assets/{subtasks-Bel-I1Sk.js.map → subtasks-Bzh3o3EF.js.map} +1 -1
  222. package/dist/web/public/assets/{table-CPn1MRcy.js → table-BbAOSyc8.js} +2 -2
  223. package/dist/web/public/assets/{table-CPn1MRcy.js.map → table-BbAOSyc8.js.map} +1 -1
  224. package/dist/web/public/assets/{topn-Ba3RjcK1.js → topn-DkhYw-Gp.js} +2 -2
  225. package/dist/web/public/assets/{topn-Ba3RjcK1.js.map → topn-DkhYw-Gp.js.map} +1 -1
  226. package/dist/web/public/assets/{trash-2-Dfov8aHD.js → trash-2-CA0cLpnU.js} +2 -2
  227. package/dist/web/public/assets/{trash-2-Dfov8aHD.js.map → trash-2-CA0cLpnU.js.map} +1 -1
  228. package/dist/web/public/assets/{use-background-tasks-BQrEeUwY.js → use-background-tasks-B64YjlA8.js} +2 -2
  229. package/dist/web/public/assets/{use-background-tasks-BQrEeUwY.js.map → use-background-tasks-B64YjlA8.js.map} +1 -1
  230. package/dist/web/public/assets/{use-event-stream-DgGpGKop.js → use-event-stream-I1lMFEfh.js} +2 -2
  231. package/dist/web/public/assets/{use-event-stream-DgGpGKop.js.map → use-event-stream-I1lMFEfh.js.map} +1 -1
  232. package/dist/web/public/assets/{use-llm-admin-DYekqogG.js → use-llm-admin-DY2axI4D.js} +2 -2
  233. package/dist/web/public/assets/{use-llm-admin-DYekqogG.js.map → use-llm-admin-DY2axI4D.js.map} +1 -1
  234. package/dist/web/public/assets/{use-memory-DbJ4pP2Z.js → use-memory-BYEjVWbU.js} +2 -2
  235. package/dist/web/public/assets/{use-memory-DbJ4pP2Z.js.map → use-memory-BYEjVWbU.js.map} +1 -1
  236. package/dist/web/public/assets/{use-observability-C2M6WZ9W.js → use-observability-Coj02yDo.js} +2 -2
  237. package/dist/web/public/assets/{use-observability-C2M6WZ9W.js.map → use-observability-Coj02yDo.js.map} +1 -1
  238. package/dist/web/public/assets/{use-settings-DMdaoWsB.js → use-settings-i1MhlkyC.js} +2 -2
  239. package/dist/web/public/assets/{use-settings-DMdaoWsB.js.map → use-settings-i1MhlkyC.js.map} +1 -1
  240. package/dist/web/public/assets/{use-workspace-BHG7h3jQ.js → use-workspace-DgEM35PY.js} +2 -2
  241. package/dist/web/public/assets/{use-workspace-BHG7h3jQ.js.map → use-workspace-DgEM35PY.js.map} +1 -1
  242. package/dist/web/public/assets/{useQuery-PdiC7-sY.js → useQuery-CY2iazjN.js} +2 -2
  243. package/dist/web/public/assets/{useQuery-PdiC7-sY.js.map → useQuery-CY2iazjN.js.map} +1 -1
  244. package/dist/web/public/assets/{vector-DnZM3OXU.js → vector-Ic76u2hY.js} +2 -2
  245. package/dist/web/public/assets/{vector-DnZM3OXU.js.map → vector-Ic76u2hY.js.map} +1 -1
  246. package/dist/web/public/assets/{viewer-Dz6k0YKp.js → viewer-BXbUN1Rl.js} +2 -2
  247. package/dist/web/public/assets/{viewer-Dz6k0YKp.js.map → viewer-BXbUN1Rl.js.map} +1 -1
  248. package/dist/web/public/assets/{workspace-BnXrWS3j.js → workspace-CUg0JPn6.js} +3 -3
  249. package/dist/web/public/assets/{workspace-BnXrWS3j.js.map → workspace-CUg0JPn6.js.map} +1 -1
  250. package/dist/web/public/assets/{workspaces-CSS_UBEi.js → workspaces-C-wb5FQj.js} +2 -2
  251. package/dist/web/public/assets/{workspaces-CSS_UBEi.js.map → workspaces-C-wb5FQj.js.map} +1 -1
  252. package/dist/web/public/assets/{x-DG-JKVw_.js → x-D1iSuoqg.js} +2 -2
  253. package/dist/web/public/assets/{x-DG-JKVw_.js.map → x-D1iSuoqg.js.map} +1 -1
  254. package/dist/web/public/index.html +2 -2
  255. package/dist/web/server.d.ts.map +1 -1
  256. package/dist/web/server.js +6 -0
  257. package/dist/web/server.js.map +1 -1
  258. package/package.json +1 -1
  259. package/dist/web/public/assets/dialog-bAIDaO-6.js +0 -6
  260. package/dist/web/public/assets/dialog-bAIDaO-6.js.map +0 -1
  261. package/dist/web/public/assets/index-O0BQoyzo.js +0 -199
  262. package/dist/web/public/assets/index-O0BQoyzo.js.map +0 -1
  263. package/dist/web/public/assets/llm-CPIRNQU2.js +0 -7
  264. package/dist/web/public/assets/llm-CPIRNQU2.js.map +0 -1
  265. package/dist/web/public/assets/memos-CfneX9DH.js +0 -12
  266. 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;AA8D/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;;;;;eA1ab,MAAM;kBACH,eAAe,GAAG,WAAW;iBAC9B,MAAM;mBACJ,MAAM;mBACN,MAAM;;CA2alB,CAAA;AAED;;oBAEoB;AACpB,eAAO,MAAM,MAAM;;CAA6B,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"}
@@ -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
- provider: 'anthropic', baseUrl: 'https://api.anthropic.com/v1',
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":"AAAA,iEAAiE;AACjE,6DAA6D;AAC7D,EAAE;AACF,mEAAmE;AACnE,8DAA8D;AAC9D,EAAE;AACF,kEAAkE;AAClE,wCAAwC;AACxC,qEAAqE;AACrE,2DAA2D;AAC3D,gEAAgE;AAChE,mDAAmD;AACnD,EAAE;AACF,iEAAiE;AACjE,oEAAoE;AACpE,sEAAsE;AACtE,yBAAyB;AACzB,EAAE;AACF,oEAAoE;AACpE,uDAAuD;AAEvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE/G,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;AAElD;;gCAEgC;AAChC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAU,CAAA;AAElE;iEACiE;AACjE,MAAM,gBAAgB,GAMjB;IACH,EAAE,KAAK,EAAE,mDAAmD;QAC1D,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,6BAA6B;QACjE,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,kCAAkC,EAAE;IACjD,EAAE,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,4BAA4B;QAChE,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,iCAAiC,EAAE;IAChD,EAAE,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,sCAAsC;QAC1E,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,kBAAkB,EAAE;IACjC,EAAE,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,2BAA2B;QAC/D,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,gCAAgC,EAAE;IAC/C,EAAE,KAAK,EAAE,oBAAoB;QAC3B,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,8BAA8B;QAC9D,SAAS,EAAE,4BAA4B;QACvC,SAAS,EAAE,kCAAkC,EAAE;IACjD,EAAE,KAAK,EAAE,kCAAkC;QACzC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE;QACtC,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,EAAE,EAAE;CAClB,CAAA;AAoBD;qDACqD;AACrD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACzC,IAAI,CAAC;QACH,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,QAAQ,EAAE,CAAA;QACvF,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,MAAM,UAAU,EAAE,CAAA;QAC7D,IAAI,GAAG,KAAK,KAAK;YAAmB,OAAO,MAAM,SAAS,EAAE,CAAA;QAC5D,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxE,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,MAAM,UAAU,EAAE,CAAA;QAChE,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxD,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACvD,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,OAAO,QAAQ,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChG,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,KAAK;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAA;IAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;CAkBtB,CAAC,CAAA;IACA,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACtB,CAAC;AAED,uEAAuE;AAEvE,KAAK,UAAU,UAAU;IACvB,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAA;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;IAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAA;IACnF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAChD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACxC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,CAAA;YAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,MAAM,KAAK,CAAC,CAAA;QAChG,CAAC;IACH,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAA;IACjF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAK,WAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IACrB,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAC1C,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACxF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,aAAa,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAA;QACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAEpC,MAAM,QAAQ,GAAkC,MAAM,CAAC,QAAQ,CAAA;QAC/D,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,8CAA8C,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAChF,IAAI,CAAC,OAAO;gBAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,iBAAiB,WAAW,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,WAAW,CAAA;QACrF,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC,0CAA0C,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAA;QACrC,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,YAAY,CAAA;QAC1G,IAAI,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC,aAAa,CAAC,CAAA;QAExC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,SAAS,KAAK,CAAC,CAAA;QACrE,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,iCAAiC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1F,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;QAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAA;QACtC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC,YAAY,IAAI,kDAAkD,IAAI,UAAU,CAAC,CAAA;QACjG,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QACjD,GAAG,CAAC,WAAW,GAAG,QAAQ,CAAA;QAE1B,iEAAiE;QACjE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,6BAA6B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpG,CAAC;QAED,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,MAAM;YAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAEpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,MAAM,QAAQ,MAAM,KAAK,MAAM,CAAC,CAAA;QAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,SAAS,CAAC,IAAI,CAAC,GAAG;gBAC3F,oCAAoC,IAAI,kBAAkB,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAA;QACnF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClE,MAAM,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC1E,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;YACjC,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;YAC7C,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAA;QACxE,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,SAAkB;IAC5C,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAA;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QACjD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;QACrB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;YAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YAC/E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,aAAa,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;YAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAA;YACnG,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;QAC3B,CAAC;gBAAS,CAAC;YAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QAAC,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAA;IAC7C,CAAC;IACD,GAAG,CAAC,WAAW,GAAG,IAAI,CAAA;IACtB,8CAA8C;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;IAChC,MAAM,YAAY,GAA2B,EAAE,CAAA;IAC/C,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,YAAY,EAAE,CAAC;YAAC,SAAQ;QAAC,CAAC;QAC5C,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAA;IAC3B,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;IACtB,YAAY,CAAC,IAAI,CAAC,CAAA;IAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,cAAc,YAAY,8CAA8C,CAAC,CAAA;IACxH,OAAO,CAAC,CAAA;AACV,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAA;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,2CAA2C,CAAC,CAAA;IAC5D,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IACrB,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC/C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAEzC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;QACjC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAA;YAC/C,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,cAAc,OAAO,gCAAgC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAChG,IAAI,CAAC,GAAG;gBAAE,SAAQ;YAClB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAC3B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACZ,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACzB,SAAQ;YACV,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;YACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,sBAAsB,CAAC,CAAA;gBAChE,SAAQ;YACV,CAAC;YACD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;QACzC,CAAC;QACD,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACpD,OAAO,CAAC,CAAA;IACV,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,SAAkB;IAC5C,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAA;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,wBAAwB,CAAC,CAAA;IAClE,IAAI,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;QACrB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;YAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YAC/E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,aAAa,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;YAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAA;YACnG,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;QAC3B,CAAC;gBAAS,CAAC;YAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAA;IAC7C,CAAC;IACD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IACrB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,sBAAsB,IAAI,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACtG,IAAI,CAAC,GAAG;YAAE,OAAO,MAAM,CAAC,WAAW,CAAC,CAAA;QACpC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,MAAM,CAAC,CAAA;QACxD,OAAO,CAAC,CAAA;IACV,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,gBAAyB;IACzD,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAA;IACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAA;QACzF,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;QACrB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAA;YAC1E,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;YAC7G,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,aAAa,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;YAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC/D,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAA;YACrC,CAAC;YACD,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;QAC3B,CAAC;gBAAS,CAAC;YAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAA;IAC7C,CAAC;IAED,+DAA+D;IAC/D,uCAAuC;IACvC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;IACjC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAA;IAElC,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IACrB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,4BAA4B,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACpG,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACjE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;QAC9B,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,4EAA4E,CAAC,CAAC;aAC7G,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QACvB,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACnE,GAA+B,CAAC,YAAY,GAAG,QAAQ,CAAA;QAC1D,CAAC;IACH,CAAC;YAAS,CAAC;QAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IAAC,CAAC;IAExB,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,6BAA6B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpG,CAAC;IACD,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA;IAEtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;IACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1E,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,GAAG,GAAI,GAA+B,CAAC,YAAY,CAAA;IACzD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IACnD,CAAC;IACD,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,IAAI,kCAAkC,IAAI,kBAAkB,CAAC,CAAA;IAC3G,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAA;IACtH,OAAO,CAAC,CAAA;AACV,CAAC;AAED,uEAAuE;AAEvE,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAA;QAC3C,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,CAAA;QACpE,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAc;IACvC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACxD,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3E,8CAA8C;IAC9C,IAAI,CAAC;QAAC,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC9D,4DAA4D;IAC5D,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAA;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,WAAW,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC,CAAA;IACvE,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,MAAyB;IACrE,mEAAmE;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,QAAQ,CAAA;IACtE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AAC1D,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;AAC1E,CAAC;AAID,SAAS,GAAG,CAAC,EAAsC,EAAE,MAAc,EAAE,OAAgB,EAAE;IACrF,mEAAmE;IACnE,oEAAoE;IACpE,6DAA6D;IAC7D,KAAK,IAAI,CAAA;IACT,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,MAAM,CAAC,MAAc;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,MAAM,IAAI,CAAC,CAAA;IAChD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,uEAAuE;AAEvE;+CAC+C;AAC/C,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,kBAAkB;IAClB,SAAS;IACT,WAAW;IACX,gBAAgB;CACjB,CAAA;AAED;;oBAEoB;AACpB,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,sBAAsB,EAAE,CAAA"}
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;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAkB9B,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"}
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":"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"}
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,CAyId"}
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"}
@@ -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
- const available = registry.listAgents().filter(a => !circuitBreaker.isOpen(a));
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
  }
@@ -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":"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"}
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 = !!parallelSafe?.has(call.name);
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);