@cicctencent/agent-core 0.1.1 → 0.1.4

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 (441) hide show
  1. package/README.md +14 -927
  2. package/dist/cjs/agent/engine.d.ts.map +1 -0
  3. package/dist/cjs/agent/engine.js +766 -0
  4. package/dist/cjs/agent/engine.js.map +1 -0
  5. package/dist/cjs/agent/history-manager.d.ts.map +1 -0
  6. package/dist/cjs/agent/history-manager.js +271 -0
  7. package/dist/cjs/agent/history-manager.js.map +1 -0
  8. package/dist/cjs/agent/llm-caller.d.ts.map +1 -0
  9. package/dist/cjs/agent/llm-caller.js +307 -0
  10. package/dist/cjs/agent/llm-caller.js.map +1 -0
  11. package/dist/cjs/agent/tool-executor.d.ts.map +1 -0
  12. package/dist/cjs/agent/tool-executor.js +568 -0
  13. package/dist/cjs/agent/tool-executor.js.map +1 -0
  14. package/dist/cjs/agent/types.d.ts.map +1 -0
  15. package/dist/cjs/agent/types.js +6 -0
  16. package/dist/cjs/agent/types.js.map +1 -0
  17. package/dist/cjs/agent/workflow.d.ts.map +1 -0
  18. package/dist/cjs/agent/workflow.js +262 -0
  19. package/dist/cjs/agent/workflow.js.map +1 -0
  20. package/dist/cjs/context/collector.d.ts.map +1 -0
  21. package/dist/cjs/context/collector.js +94 -0
  22. package/dist/cjs/context/collector.js.map +1 -0
  23. package/dist/cjs/context/manager.d.ts.map +1 -0
  24. package/dist/cjs/context/manager.js +36 -0
  25. package/dist/cjs/context/manager.js.map +1 -0
  26. package/dist/cjs/context/types.d.ts.map +1 -0
  27. package/dist/cjs/context/types.js +6 -0
  28. package/dist/cjs/context/types.js.map +1 -0
  29. package/dist/cjs/hooks/types.d.ts.map +1 -0
  30. package/dist/cjs/hooks/types.js +6 -0
  31. package/dist/cjs/hooks/types.js.map +1 -0
  32. package/dist/{index.d.ts → cjs/index.d.ts} +1 -0
  33. package/dist/cjs/index.d.ts.map +1 -0
  34. package/dist/cjs/index.js +98 -0
  35. package/dist/cjs/index.js.map +1 -0
  36. package/dist/cjs/llm/anthropic-provider.d.ts.map +1 -0
  37. package/dist/cjs/llm/anthropic-provider.js +356 -0
  38. package/dist/cjs/llm/anthropic-provider.js.map +1 -0
  39. package/dist/cjs/llm/factory.d.ts.map +1 -0
  40. package/dist/cjs/llm/factory.js +34 -0
  41. package/dist/cjs/llm/factory.js.map +1 -0
  42. package/dist/cjs/llm/ollama-provider.d.ts.map +1 -0
  43. package/dist/cjs/llm/ollama-provider.js +34 -0
  44. package/dist/cjs/llm/ollama-provider.js.map +1 -0
  45. package/dist/cjs/llm/openai-provider.d.ts.map +1 -0
  46. package/dist/cjs/llm/openai-provider.js +186 -0
  47. package/dist/cjs/llm/openai-provider.js.map +1 -0
  48. package/dist/cjs/llm/provider.d.ts.map +1 -0
  49. package/dist/cjs/llm/provider.js +18 -0
  50. package/dist/cjs/llm/provider.js.map +1 -0
  51. package/dist/cjs/llm/types.d.ts.map +1 -0
  52. package/dist/cjs/llm/types.js +6 -0
  53. package/dist/cjs/llm/types.js.map +1 -0
  54. package/dist/cjs/mcp/base-client.d.ts.map +1 -0
  55. package/dist/cjs/mcp/base-client.js +112 -0
  56. package/dist/cjs/mcp/base-client.js.map +1 -0
  57. package/dist/cjs/mcp/client.d.ts.map +1 -0
  58. package/dist/cjs/mcp/client.js +76 -0
  59. package/dist/cjs/mcp/client.js.map +1 -0
  60. package/dist/cjs/mcp/factory.d.ts.map +1 -0
  61. package/dist/cjs/mcp/factory.js +43 -0
  62. package/dist/cjs/mcp/factory.js.map +1 -0
  63. package/dist/cjs/mcp/http-client.d.ts.map +1 -0
  64. package/dist/cjs/mcp/http-client.js +142 -0
  65. package/dist/cjs/mcp/http-client.js.map +1 -0
  66. package/dist/cjs/mcp/proxy-agent.d.ts.map +1 -0
  67. package/dist/cjs/mcp/proxy-agent.js +195 -0
  68. package/dist/cjs/mcp/proxy-agent.js.map +1 -0
  69. package/dist/cjs/mcp/stdio-client.d.ts.map +1 -0
  70. package/dist/cjs/mcp/stdio-client.js +95 -0
  71. package/dist/cjs/mcp/stdio-client.js.map +1 -0
  72. package/dist/cjs/mcp/types.d.ts.map +1 -0
  73. package/dist/cjs/mcp/types.js +6 -0
  74. package/dist/cjs/mcp/types.js.map +1 -0
  75. package/dist/cjs/memory/checkpoint.d.ts.map +1 -0
  76. package/dist/cjs/memory/checkpoint.js +160 -0
  77. package/dist/cjs/memory/checkpoint.js.map +1 -0
  78. package/dist/cjs/memory/extractor.d.ts.map +1 -0
  79. package/dist/cjs/memory/extractor.js +121 -0
  80. package/dist/cjs/memory/extractor.js.map +1 -0
  81. package/dist/cjs/memory/persona.d.ts.map +1 -0
  82. package/dist/cjs/memory/persona.js +79 -0
  83. package/dist/cjs/memory/persona.js.map +1 -0
  84. package/dist/cjs/memory/pipeline.d.ts.map +1 -0
  85. package/dist/cjs/memory/pipeline.js +148 -0
  86. package/dist/cjs/memory/pipeline.js.map +1 -0
  87. package/dist/cjs/memory/prompts.d.ts.map +1 -0
  88. package/dist/cjs/memory/prompts.js +70 -0
  89. package/dist/cjs/memory/prompts.js.map +1 -0
  90. package/dist/cjs/memory/recall.d.ts.map +1 -0
  91. package/dist/cjs/memory/recall.js +164 -0
  92. package/dist/cjs/memory/recall.js.map +1 -0
  93. package/dist/cjs/memory/scene.d.ts.map +1 -0
  94. package/dist/cjs/memory/scene.js +101 -0
  95. package/dist/cjs/memory/scene.js.map +1 -0
  96. package/dist/cjs/memory/types.d.ts.map +1 -0
  97. package/dist/cjs/memory/types.js +6 -0
  98. package/dist/cjs/memory/types.js.map +1 -0
  99. package/dist/cjs/middleware/types.d.ts.map +1 -0
  100. package/dist/cjs/middleware/types.js +6 -0
  101. package/dist/cjs/middleware/types.js.map +1 -0
  102. package/dist/cjs/package.json +3 -0
  103. package/dist/cjs/sandbox/types.d.ts.map +1 -0
  104. package/dist/cjs/sandbox/types.js +128 -0
  105. package/dist/cjs/sandbox/types.js.map +1 -0
  106. package/dist/{security → cjs/security}/guard.d.ts +1 -6
  107. package/dist/cjs/security/guard.d.ts.map +1 -0
  108. package/dist/cjs/security/guard.js +291 -0
  109. package/dist/cjs/security/guard.js.map +1 -0
  110. package/dist/{security → cjs/security}/types.d.ts +6 -2
  111. package/dist/cjs/security/types.d.ts.map +1 -0
  112. package/dist/cjs/security/types.js +6 -0
  113. package/dist/cjs/security/types.js.map +1 -0
  114. package/dist/cjs/skill/manager.d.ts.map +1 -0
  115. package/dist/cjs/skill/manager.js +413 -0
  116. package/dist/cjs/skill/manager.js.map +1 -0
  117. package/dist/cjs/skill/router.d.ts.map +1 -0
  118. package/dist/cjs/skill/router.js +139 -0
  119. package/dist/cjs/skill/router.js.map +1 -0
  120. package/dist/cjs/skill/types.d.ts.map +1 -0
  121. package/dist/cjs/skill/types.js +6 -0
  122. package/dist/cjs/skill/types.js.map +1 -0
  123. package/dist/cjs/tool/delegate.d.ts.map +1 -0
  124. package/dist/cjs/tool/delegate.js +78 -0
  125. package/dist/cjs/tool/delegate.js.map +1 -0
  126. package/dist/cjs/tool/registry.d.ts +49 -0
  127. package/dist/cjs/tool/registry.d.ts.map +1 -0
  128. package/dist/cjs/tool/registry.js +87 -0
  129. package/dist/cjs/tool/registry.js.map +1 -0
  130. package/dist/cjs/tool/types.d.ts.map +1 -0
  131. package/dist/cjs/tool/types.js +6 -0
  132. package/dist/cjs/tool/types.js.map +1 -0
  133. package/dist/cjs/types.d.ts.map +1 -0
  134. package/dist/cjs/types.js +6 -0
  135. package/dist/cjs/types.js.map +1 -0
  136. package/dist/cjs/utils/token-counter.d.ts.map +1 -0
  137. package/dist/cjs/utils/token-counter.js +104 -0
  138. package/dist/cjs/utils/token-counter.js.map +1 -0
  139. package/dist/esm/agent/engine.d.ts +113 -0
  140. package/dist/esm/agent/engine.d.ts.map +1 -0
  141. package/dist/esm/agent/engine.js +762 -0
  142. package/dist/esm/agent/engine.js.map +1 -0
  143. package/dist/esm/agent/history-manager.d.ts +78 -0
  144. package/dist/esm/agent/history-manager.d.ts.map +1 -0
  145. package/dist/esm/agent/history-manager.js +267 -0
  146. package/dist/esm/agent/history-manager.js.map +1 -0
  147. package/dist/esm/agent/llm-caller.d.ts +58 -0
  148. package/dist/esm/agent/llm-caller.d.ts.map +1 -0
  149. package/dist/esm/agent/llm-caller.js +303 -0
  150. package/dist/esm/agent/llm-caller.js.map +1 -0
  151. package/dist/esm/agent/tool-executor.d.ts +95 -0
  152. package/dist/esm/agent/tool-executor.d.ts.map +1 -0
  153. package/dist/esm/agent/tool-executor.js +564 -0
  154. package/dist/esm/agent/tool-executor.js.map +1 -0
  155. package/dist/esm/agent/types.d.ts +128 -0
  156. package/dist/esm/agent/types.d.ts.map +1 -0
  157. package/dist/esm/agent/types.js +5 -0
  158. package/dist/esm/agent/types.js.map +1 -0
  159. package/dist/esm/agent/workflow.d.ts +74 -0
  160. package/dist/esm/agent/workflow.d.ts.map +1 -0
  161. package/dist/esm/agent/workflow.js +248 -0
  162. package/dist/esm/agent/workflow.js.map +1 -0
  163. package/dist/esm/context/collector.d.ts +12 -0
  164. package/dist/esm/context/collector.d.ts.map +1 -0
  165. package/dist/esm/context/collector.js +57 -0
  166. package/dist/esm/context/collector.js.map +1 -0
  167. package/dist/esm/context/manager.d.ts +16 -0
  168. package/dist/esm/context/manager.d.ts.map +1 -0
  169. package/dist/esm/context/manager.js +32 -0
  170. package/dist/esm/context/manager.js.map +1 -0
  171. package/dist/esm/context/types.d.ts +39 -0
  172. package/dist/esm/context/types.d.ts.map +1 -0
  173. package/dist/esm/context/types.js +5 -0
  174. package/dist/esm/context/types.js.map +1 -0
  175. package/dist/esm/hooks/types.d.ts +47 -0
  176. package/dist/esm/hooks/types.d.ts.map +1 -0
  177. package/dist/esm/hooks/types.js +5 -0
  178. package/dist/esm/hooks/types.js.map +1 -0
  179. package/{src/index.ts → dist/esm/index.d.ts} +16 -140
  180. package/dist/esm/index.d.ts.map +1 -0
  181. package/dist/esm/index.js +39 -0
  182. package/dist/esm/index.js.map +1 -0
  183. package/dist/esm/llm/anthropic-provider.d.ts +28 -0
  184. package/dist/esm/llm/anthropic-provider.d.ts.map +1 -0
  185. package/dist/esm/llm/anthropic-provider.js +352 -0
  186. package/dist/esm/llm/anthropic-provider.js.map +1 -0
  187. package/{src/llm/factory.ts → dist/esm/llm/factory.d.ts} +3 -18
  188. package/dist/esm/llm/factory.d.ts.map +1 -0
  189. package/dist/esm/llm/factory.js +30 -0
  190. package/dist/esm/llm/factory.js.map +1 -0
  191. package/dist/esm/llm/ollama-provider.d.ts +13 -0
  192. package/dist/esm/llm/ollama-provider.d.ts.map +1 -0
  193. package/dist/esm/llm/ollama-provider.js +30 -0
  194. package/dist/esm/llm/ollama-provider.js.map +1 -0
  195. package/dist/esm/llm/openai-provider.d.ts +18 -0
  196. package/dist/esm/llm/openai-provider.d.ts.map +1 -0
  197. package/dist/esm/llm/openai-provider.js +182 -0
  198. package/dist/esm/llm/openai-provider.js.map +1 -0
  199. package/{src/llm/provider.ts → dist/esm/llm/provider.d.ts} +1 -9
  200. package/dist/esm/llm/provider.d.ts.map +1 -0
  201. package/dist/esm/llm/provider.js +10 -0
  202. package/dist/esm/llm/provider.js.map +1 -0
  203. package/dist/esm/llm/types.d.ts +78 -0
  204. package/dist/esm/llm/types.d.ts.map +1 -0
  205. package/dist/esm/llm/types.js +5 -0
  206. package/dist/esm/llm/types.js.map +1 -0
  207. package/dist/esm/mcp/base-client.d.ts +50 -0
  208. package/dist/esm/mcp/base-client.d.ts.map +1 -0
  209. package/dist/esm/mcp/base-client.js +108 -0
  210. package/dist/esm/mcp/base-client.js.map +1 -0
  211. package/dist/esm/mcp/client.d.ts +27 -0
  212. package/dist/esm/mcp/client.d.ts.map +1 -0
  213. package/dist/esm/mcp/client.js +70 -0
  214. package/dist/esm/mcp/client.js.map +1 -0
  215. package/dist/esm/mcp/factory.d.ts +16 -0
  216. package/dist/esm/mcp/factory.d.ts.map +1 -0
  217. package/dist/esm/mcp/factory.js +39 -0
  218. package/dist/esm/mcp/factory.js.map +1 -0
  219. package/dist/esm/mcp/http-client.d.ts +24 -0
  220. package/dist/esm/mcp/http-client.d.ts.map +1 -0
  221. package/dist/esm/mcp/http-client.js +138 -0
  222. package/dist/esm/mcp/http-client.js.map +1 -0
  223. package/dist/esm/mcp/proxy-agent.d.ts +49 -0
  224. package/dist/esm/mcp/proxy-agent.d.ts.map +1 -0
  225. package/dist/esm/mcp/proxy-agent.js +187 -0
  226. package/dist/esm/mcp/proxy-agent.js.map +1 -0
  227. package/dist/esm/mcp/stdio-client.d.ts +16 -0
  228. package/dist/esm/mcp/stdio-client.d.ts.map +1 -0
  229. package/dist/esm/mcp/stdio-client.js +91 -0
  230. package/dist/esm/mcp/stdio-client.js.map +1 -0
  231. package/dist/esm/mcp/types.d.ts +60 -0
  232. package/dist/esm/mcp/types.d.ts.map +1 -0
  233. package/dist/esm/mcp/types.js +5 -0
  234. package/dist/esm/mcp/types.js.map +1 -0
  235. package/dist/esm/memory/checkpoint.d.ts +62 -0
  236. package/dist/esm/memory/checkpoint.d.ts.map +1 -0
  237. package/dist/esm/memory/checkpoint.js +121 -0
  238. package/dist/esm/memory/checkpoint.js.map +1 -0
  239. package/dist/esm/memory/extractor.d.ts +59 -0
  240. package/dist/esm/memory/extractor.d.ts.map +1 -0
  241. package/dist/esm/memory/extractor.js +117 -0
  242. package/dist/esm/memory/extractor.js.map +1 -0
  243. package/dist/esm/memory/persona.d.ts +38 -0
  244. package/dist/esm/memory/persona.d.ts.map +1 -0
  245. package/dist/esm/memory/persona.js +75 -0
  246. package/dist/esm/memory/persona.js.map +1 -0
  247. package/dist/esm/memory/pipeline.d.ts +50 -0
  248. package/dist/esm/memory/pipeline.d.ts.map +1 -0
  249. package/dist/esm/memory/pipeline.js +144 -0
  250. package/dist/esm/memory/pipeline.js.map +1 -0
  251. package/dist/esm/memory/prompts.d.ts +9 -0
  252. package/dist/esm/memory/prompts.d.ts.map +1 -0
  253. package/{src/memory/prompts.ts → dist/esm/memory/prompts.js} +6 -13
  254. package/dist/esm/memory/prompts.js.map +1 -0
  255. package/dist/esm/memory/recall.d.ts +66 -0
  256. package/dist/esm/memory/recall.d.ts.map +1 -0
  257. package/dist/esm/memory/recall.js +159 -0
  258. package/dist/esm/memory/recall.js.map +1 -0
  259. package/dist/esm/memory/scene.d.ts +49 -0
  260. package/dist/esm/memory/scene.d.ts.map +1 -0
  261. package/dist/esm/memory/scene.js +97 -0
  262. package/dist/esm/memory/scene.js.map +1 -0
  263. package/dist/esm/memory/types.d.ts +43 -0
  264. package/dist/esm/memory/types.d.ts.map +1 -0
  265. package/dist/esm/memory/types.js +5 -0
  266. package/dist/esm/memory/types.js.map +1 -0
  267. package/dist/esm/middleware/types.d.ts +52 -0
  268. package/dist/esm/middleware/types.d.ts.map +1 -0
  269. package/dist/esm/middleware/types.js +5 -0
  270. package/dist/esm/middleware/types.js.map +1 -0
  271. package/dist/esm/package.json +3 -0
  272. package/dist/esm/sandbox/types.d.ts +59 -0
  273. package/dist/esm/sandbox/types.d.ts.map +1 -0
  274. package/dist/esm/sandbox/types.js +125 -0
  275. package/dist/esm/sandbox/types.js.map +1 -0
  276. package/dist/esm/security/guard.d.ts +36 -0
  277. package/dist/esm/security/guard.d.ts.map +1 -0
  278. package/dist/esm/security/guard.js +287 -0
  279. package/dist/esm/security/guard.js.map +1 -0
  280. package/dist/esm/security/types.d.ts +40 -0
  281. package/dist/esm/security/types.d.ts.map +1 -0
  282. package/dist/esm/security/types.js +5 -0
  283. package/dist/esm/security/types.js.map +1 -0
  284. package/dist/esm/skill/manager.d.ts +95 -0
  285. package/dist/esm/skill/manager.d.ts.map +1 -0
  286. package/dist/esm/skill/manager.js +376 -0
  287. package/dist/esm/skill/manager.js.map +1 -0
  288. package/dist/esm/skill/router.d.ts +26 -0
  289. package/dist/esm/skill/router.d.ts.map +1 -0
  290. package/dist/esm/skill/router.js +135 -0
  291. package/dist/esm/skill/router.js.map +1 -0
  292. package/dist/esm/skill/types.d.ts +55 -0
  293. package/dist/esm/skill/types.d.ts.map +1 -0
  294. package/dist/esm/skill/types.js +5 -0
  295. package/dist/esm/skill/types.js.map +1 -0
  296. package/dist/esm/tool/delegate.d.ts +34 -0
  297. package/dist/esm/tool/delegate.d.ts.map +1 -0
  298. package/dist/esm/tool/delegate.js +75 -0
  299. package/dist/esm/tool/delegate.js.map +1 -0
  300. package/dist/esm/tool/registry.d.ts +49 -0
  301. package/dist/esm/tool/registry.d.ts.map +1 -0
  302. package/dist/esm/tool/registry.js +83 -0
  303. package/dist/esm/tool/registry.js.map +1 -0
  304. package/dist/esm/tool/types.d.ts +101 -0
  305. package/dist/esm/tool/types.d.ts.map +1 -0
  306. package/dist/esm/tool/types.js +5 -0
  307. package/dist/esm/tool/types.js.map +1 -0
  308. package/dist/esm/types.d.ts +150 -0
  309. package/dist/esm/types.d.ts.map +1 -0
  310. package/dist/esm/types.js +5 -0
  311. package/dist/esm/types.js.map +1 -0
  312. package/dist/esm/utils/token-counter.d.ts +22 -0
  313. package/dist/esm/utils/token-counter.d.ts.map +1 -0
  314. package/dist/esm/utils/token-counter.js +99 -0
  315. package/dist/esm/utils/token-counter.js.map +1 -0
  316. package/package.json +16 -10
  317. package/dist/agent/engine.d.ts.map +0 -1
  318. package/dist/agent/history-manager.d.ts.map +0 -1
  319. package/dist/agent/llm-caller.d.ts.map +0 -1
  320. package/dist/agent/tool-executor.d.ts.map +0 -1
  321. package/dist/agent/types.d.ts.map +0 -1
  322. package/dist/agent/workflow.d.ts.map +0 -1
  323. package/dist/context/collector.d.ts.map +0 -1
  324. package/dist/context/manager.d.ts.map +0 -1
  325. package/dist/context/types.d.ts.map +0 -1
  326. package/dist/hooks/types.d.ts.map +0 -1
  327. package/dist/index.d.ts.map +0 -1
  328. package/dist/llm/anthropic-provider.d.ts.map +0 -1
  329. package/dist/llm/factory.d.ts.map +0 -1
  330. package/dist/llm/ollama-provider.d.ts.map +0 -1
  331. package/dist/llm/openai-provider.d.ts.map +0 -1
  332. package/dist/llm/provider.d.ts.map +0 -1
  333. package/dist/llm/types.d.ts.map +0 -1
  334. package/dist/mcp/base-client.d.ts.map +0 -1
  335. package/dist/mcp/client.d.ts.map +0 -1
  336. package/dist/mcp/factory.d.ts.map +0 -1
  337. package/dist/mcp/http-client.d.ts.map +0 -1
  338. package/dist/mcp/proxy-agent.d.ts.map +0 -1
  339. package/dist/mcp/stdio-client.d.ts.map +0 -1
  340. package/dist/mcp/types.d.ts.map +0 -1
  341. package/dist/memory/checkpoint.d.ts.map +0 -1
  342. package/dist/memory/extractor.d.ts.map +0 -1
  343. package/dist/memory/persona.d.ts.map +0 -1
  344. package/dist/memory/pipeline.d.ts.map +0 -1
  345. package/dist/memory/prompts.d.ts.map +0 -1
  346. package/dist/memory/recall.d.ts.map +0 -1
  347. package/dist/memory/scene.d.ts.map +0 -1
  348. package/dist/memory/types.d.ts.map +0 -1
  349. package/dist/middleware/types.d.ts.map +0 -1
  350. package/dist/sandbox/types.d.ts.map +0 -1
  351. package/dist/security/guard.d.ts.map +0 -1
  352. package/dist/security/types.d.ts.map +0 -1
  353. package/dist/skill/manager.d.ts.map +0 -1
  354. package/dist/skill/router.d.ts.map +0 -1
  355. package/dist/skill/types.d.ts.map +0 -1
  356. package/dist/tool/delegate.d.ts.map +0 -1
  357. package/dist/tool/registry.d.ts +0 -24
  358. package/dist/tool/registry.d.ts.map +0 -1
  359. package/dist/tool/types.d.ts.map +0 -1
  360. package/dist/types.d.ts.map +0 -1
  361. package/dist/utils/token-counter.d.ts.map +0 -1
  362. package/src/agent/engine.ts +0 -875
  363. package/src/agent/history-manager.ts +0 -323
  364. package/src/agent/llm-caller.ts +0 -383
  365. package/src/agent/tool-executor.ts +0 -713
  366. package/src/agent/types.ts +0 -136
  367. package/src/agent/workflow.ts +0 -339
  368. package/src/context/collector.ts +0 -59
  369. package/src/context/manager.ts +0 -40
  370. package/src/context/types.ts +0 -51
  371. package/src/hooks/types.ts +0 -77
  372. package/src/llm/anthropic-provider.ts +0 -412
  373. package/src/llm/ollama-provider.ts +0 -39
  374. package/src/llm/openai-provider.ts +0 -200
  375. package/src/llm/types.ts +0 -91
  376. package/src/mcp/base-client.ts +0 -159
  377. package/src/mcp/client.ts +0 -81
  378. package/src/mcp/factory.ts +0 -45
  379. package/src/mcp/http-client.ts +0 -149
  380. package/src/mcp/proxy-agent.ts +0 -227
  381. package/src/mcp/stdio-client.ts +0 -104
  382. package/src/mcp/types.ts +0 -65
  383. package/src/memory/checkpoint.ts +0 -146
  384. package/src/memory/extractor.ts +0 -164
  385. package/src/memory/persona.ts +0 -106
  386. package/src/memory/pipeline.ts +0 -192
  387. package/src/memory/recall.ts +0 -217
  388. package/src/memory/scene.ts +0 -137
  389. package/src/memory/types.ts +0 -54
  390. package/src/middleware/types.ts +0 -62
  391. package/src/sandbox/types.ts +0 -185
  392. package/src/security/guard.ts +0 -249
  393. package/src/security/types.ts +0 -46
  394. package/src/skill/manager.ts +0 -420
  395. package/src/skill/router.ts +0 -158
  396. package/src/skill/types.ts +0 -67
  397. package/src/tool/delegate.ts +0 -105
  398. package/src/tool/registry.ts +0 -64
  399. package/src/tool/types.ts +0 -124
  400. package/src/types.ts +0 -188
  401. package/src/utils/token-counter.ts +0 -108
  402. /package/dist/{agent → cjs/agent}/engine.d.ts +0 -0
  403. /package/dist/{agent → cjs/agent}/history-manager.d.ts +0 -0
  404. /package/dist/{agent → cjs/agent}/llm-caller.d.ts +0 -0
  405. /package/dist/{agent → cjs/agent}/tool-executor.d.ts +0 -0
  406. /package/dist/{agent → cjs/agent}/types.d.ts +0 -0
  407. /package/dist/{agent → cjs/agent}/workflow.d.ts +0 -0
  408. /package/dist/{context → cjs/context}/collector.d.ts +0 -0
  409. /package/dist/{context → cjs/context}/manager.d.ts +0 -0
  410. /package/dist/{context → cjs/context}/types.d.ts +0 -0
  411. /package/dist/{hooks → cjs/hooks}/types.d.ts +0 -0
  412. /package/dist/{llm → cjs/llm}/anthropic-provider.d.ts +0 -0
  413. /package/dist/{llm → cjs/llm}/factory.d.ts +0 -0
  414. /package/dist/{llm → cjs/llm}/ollama-provider.d.ts +0 -0
  415. /package/dist/{llm → cjs/llm}/openai-provider.d.ts +0 -0
  416. /package/dist/{llm → cjs/llm}/provider.d.ts +0 -0
  417. /package/dist/{llm → cjs/llm}/types.d.ts +0 -0
  418. /package/dist/{mcp → cjs/mcp}/base-client.d.ts +0 -0
  419. /package/dist/{mcp → cjs/mcp}/client.d.ts +0 -0
  420. /package/dist/{mcp → cjs/mcp}/factory.d.ts +0 -0
  421. /package/dist/{mcp → cjs/mcp}/http-client.d.ts +0 -0
  422. /package/dist/{mcp → cjs/mcp}/proxy-agent.d.ts +0 -0
  423. /package/dist/{mcp → cjs/mcp}/stdio-client.d.ts +0 -0
  424. /package/dist/{mcp → cjs/mcp}/types.d.ts +0 -0
  425. /package/dist/{memory → cjs/memory}/checkpoint.d.ts +0 -0
  426. /package/dist/{memory → cjs/memory}/extractor.d.ts +0 -0
  427. /package/dist/{memory → cjs/memory}/persona.d.ts +0 -0
  428. /package/dist/{memory → cjs/memory}/pipeline.d.ts +0 -0
  429. /package/dist/{memory → cjs/memory}/prompts.d.ts +0 -0
  430. /package/dist/{memory → cjs/memory}/recall.d.ts +0 -0
  431. /package/dist/{memory → cjs/memory}/scene.d.ts +0 -0
  432. /package/dist/{memory → cjs/memory}/types.d.ts +0 -0
  433. /package/dist/{middleware → cjs/middleware}/types.d.ts +0 -0
  434. /package/dist/{sandbox → cjs/sandbox}/types.d.ts +0 -0
  435. /package/dist/{skill → cjs/skill}/manager.d.ts +0 -0
  436. /package/dist/{skill → cjs/skill}/router.d.ts +0 -0
  437. /package/dist/{skill → cjs/skill}/types.d.ts +0 -0
  438. /package/dist/{tool → cjs/tool}/delegate.d.ts +0 -0
  439. /package/dist/{tool → cjs/tool}/types.d.ts +0 -0
  440. /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
  441. /package/dist/{utils → cjs/utils}/token-counter.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/agent/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import type { Message } from '../types.ts';
2
+ import type { ToolResultStore } from './types.ts';
3
+ /** 历史管理配置 */
4
+ export interface HistoryManagerConfig {
5
+ /** 消息历史上限(滑动窗口),默认 50 */
6
+ maxMessages: number;
7
+ /** 上下文压缩配置 */
8
+ contextBudget?: {
9
+ maxToolOutput?: number;
10
+ compactThreshold?: number;
11
+ maxContextTokens?: number;
12
+ };
13
+ /** 工具结果存储(可选) */
14
+ toolResultStore?: ToolResultStore;
15
+ }
16
+ /**
17
+ * 会话历史管理器
18
+ *
19
+ * 职责:
20
+ * - 维护 per-session 的消息历史(滑动窗口)
21
+ * - 多级智能压缩(token 感知)
22
+ * - Offload 大工具结果到外部存储
23
+ */
24
+ export declare class HistoryManager {
25
+ private config;
26
+ /** sessionId → Message[](会话历史,滑动窗口) */
27
+ private historyMap;
28
+ /** sessionId → 当前 token 总数(增量维护,避免全量重算) */
29
+ private tokenCountMap;
30
+ constructor(config: HistoryManagerConfig);
31
+ /** 注入会话历史(从外部恢复,如持久化存储) */
32
+ setHistory(sessionId: string, messages: Message[]): void;
33
+ /** 获取会话历史副本(用于持久化保存) */
34
+ getHistorySnapshot(sessionId: string): Message[];
35
+ /** 获取会话历史副本(用于构建 LLM 请求) */
36
+ getHistory(sessionId: string): Message[];
37
+ /** 追加消息到会话历史(含自动压缩) */
38
+ addHistory(sessionId: string, msg: Message): void;
39
+ /** 清理指定会话的历史 */
40
+ clearHistory(sessionId: string): void;
41
+ /** 清理所有会话历史 */
42
+ clearAll(): void;
43
+ /** 不应被 offload 的读取类工具(避免 offload → read → offload 无限链) */
44
+ private static READ_THROUGH_TOOLS;
45
+ /**
46
+ * 处理工具输出:
47
+ * - 小结果直接返回
48
+ * - 大结果写入 OffloadStore,返回摘要标签(保留 100% 可溯源)
49
+ * - 无 OffloadStore 时回退到截断
50
+ */
51
+ processToolOutput(output: string, callId: string, toolName?: string, sessionId?: string): string;
52
+ /**
53
+ * 压缩消息列表(公开接口,供 LLMCaller 在上下文过长时调用)
54
+ *
55
+ * 使用与 addHistory 相同的多级压缩策略,但直接作用于传入的 messages 数组。
56
+ * 返回压缩后的 token 估算值。
57
+ */
58
+ compressMessages(messages: Message[], targetTokens?: number): number;
59
+ /** Level 1: 智能压缩(token 感知多级压缩管道) */
60
+ private compactHistorySmart;
61
+ /** 压缩阶段 1: 卸载超长工具参数 */
62
+ private offloadToolArguments;
63
+ /** 压缩阶段 2: 卸载 base64 数据块 */
64
+ private offloadBase64Content;
65
+ /** 压缩阶段 3: 非破坏性卸载大工具结果 */
66
+ private offloadLargeToolResults;
67
+ /** 压缩阶段 4: 截断大工具结果 */
68
+ private truncateLargeToolResults;
69
+ /** Level 2: 成对裁剪历史(移除最早的 assistant + 关联 tool 消息) */
70
+ private compactHistoryPairs;
71
+ /** 截断工具输出(保留首尾,中间省略) */
72
+ private truncateOutput;
73
+ /** 根据 tool_call_id 从历史中查找工具名 */
74
+ static findToolNameForCallId(callId: string, history: Message[]): string;
75
+ /** DJB2 哈希(用于生成短 nodeId) */
76
+ static simpleHash(str: string): number;
77
+ }
78
+ //# sourceMappingURL=history-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,YAAY,CAAC;AAGhE,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc;IACd,aAAa,CAAC,EAAE;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,iBAAiB;IACjB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,uCAAuC;IACvC,OAAO,CAAC,UAAU,CAAgC;IAClD,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAA6B;gBAEtC,MAAM,EAAE,oBAAoB;IAMxC,2BAA2B;IAC3B,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAMxD,wBAAwB;IACxB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE;IAIhD,4BAA4B;IAC5B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE;IAIxC,uBAAuB;IACvB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAiCjD,gBAAgB;IAChB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC,eAAe;IACf,QAAQ,IAAI,IAAI;IAOhB,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiD;IAElF;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IA6ChG;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAUpE,oCAAoC;IACpC,OAAO,CAAC,mBAAmB;IAqB3B,uBAAuB;IACvB,OAAO,CAAC,oBAAoB;IAuB5B,4BAA4B;IAC5B,OAAO,CAAC,oBAAoB;IAW5B,0BAA0B;IAC1B,OAAO,CAAC,uBAAuB;IA0B/B,sBAAsB;IACtB,OAAO,CAAC,wBAAwB;IAahC,oDAAoD;IACpD,OAAO,CAAC,mBAAmB;IAY3B,wBAAwB;IACxB,OAAO,CAAC,cAAc;IAYtB,gCAAgC;IAChC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM;IAUxE,4BAA4B;IAC5B,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAOvC"}
@@ -0,0 +1,267 @@
1
+ // ============================================================
2
+ // HistoryManager — 会话历史管理(滑动窗口 + 智能压缩)
3
+ // ============================================================
4
+ import { countMessageTokens } from "../utils/token-counter.js";
5
+ /**
6
+ * 会话历史管理器
7
+ *
8
+ * 职责:
9
+ * - 维护 per-session 的消息历史(滑动窗口)
10
+ * - 多级智能压缩(token 感知)
11
+ * - Offload 大工具结果到外部存储
12
+ */
13
+ export class HistoryManager {
14
+ config;
15
+ /** sessionId → Message[](会话历史,滑动窗口) */
16
+ historyMap = new Map();
17
+ /** sessionId → 当前 token 总数(增量维护,避免全量重算) */
18
+ tokenCountMap = new Map();
19
+ constructor(config) {
20
+ this.config = config;
21
+ }
22
+ // ---- 公开接口 ----
23
+ /** 注入会话历史(从外部恢复,如持久化存储) */
24
+ setHistory(sessionId, messages) {
25
+ this.historyMap.set(sessionId, [...messages]);
26
+ // 重建 token 计数
27
+ this.tokenCountMap.set(sessionId, countMessageTokens(messages));
28
+ }
29
+ /** 获取会话历史副本(用于持久化保存) */
30
+ getHistorySnapshot(sessionId) {
31
+ return [...(this.historyMap.get(sessionId) || [])];
32
+ }
33
+ /** 获取会话历史副本(用于构建 LLM 请求) */
34
+ getHistory(sessionId) {
35
+ return [...(this.historyMap.get(sessionId) || [])];
36
+ }
37
+ /** 追加消息到会话历史(含自动压缩) */
38
+ addHistory(sessionId, msg) {
39
+ if (!this.historyMap.has(sessionId)) {
40
+ this.historyMap.set(sessionId, []);
41
+ }
42
+ const history = this.historyMap.get(sessionId);
43
+ history.push(msg);
44
+ // 增量 token 计数
45
+ const addedTokens = countMessageTokens([msg]);
46
+ const currentTokens = (this.tokenCountMap.get(sessionId) || 0) + addedTokens;
47
+ this.tokenCountMap.set(sessionId, currentTokens);
48
+ // Level 1: token 预算压缩
49
+ const maxTokens = this.config.contextBudget?.maxContextTokens ?? 100000;
50
+ if (currentTokens > maxTokens) {
51
+ this.compactHistorySmart(history, maxTokens, sessionId);
52
+ // 压缩后重算 token 数
53
+ this.tokenCountMap.set(sessionId, countMessageTokens(history));
54
+ }
55
+ // Level 2: 成对裁剪(消息数超过阈值时触发)
56
+ const threshold = this.config.contextBudget?.compactThreshold
57
+ ?? Math.floor(this.config.maxMessages * 0.8);
58
+ if (history.length > threshold) {
59
+ this.compactHistoryPairs(history);
60
+ }
61
+ // 安全兜底:极端情况下仍使用滑动窗口
62
+ while (history.length > this.config.maxMessages) {
63
+ history.shift();
64
+ }
65
+ }
66
+ /** 清理指定会话的历史 */
67
+ clearHistory(sessionId) {
68
+ this.historyMap.delete(sessionId);
69
+ this.tokenCountMap.delete(sessionId);
70
+ }
71
+ /** 清理所有会话历史 */
72
+ clearAll() {
73
+ this.historyMap.clear();
74
+ this.tokenCountMap.clear();
75
+ }
76
+ // ---- 工具输出处理(智能截断 + 文件化)----
77
+ /** 不应被 offload 的读取类工具(避免 offload → read → offload 无限链) */
78
+ static READ_THROUGH_TOOLS = new Set(['read_offload', 'read_tool_result']);
79
+ /**
80
+ * 处理工具输出:
81
+ * - 小结果直接返回
82
+ * - 大结果写入 OffloadStore,返回摘要标签(保留 100% 可溯源)
83
+ * - 无 OffloadStore 时回退到截断
84
+ */
85
+ processToolOutput(output, callId, toolName, sessionId) {
86
+ const max = this.config.contextBudget?.maxToolOutput ?? 8000;
87
+ // 读取类工具:直接返回完整内容,不做 offload(避免无限链)
88
+ if (toolName && HistoryManager.READ_THROUGH_TOOLS.has(toolName)) {
89
+ return output.length <= max ? output : this.truncateOutput(output);
90
+ }
91
+ // 普通工具:在 maxToolOutput 预算内直接返回,超出则 offload
92
+ const offloadThreshold = max;
93
+ if (output.length <= offloadThreshold)
94
+ return output;
95
+ // 优先使用 OffloadStore(非破坏性卸载)
96
+ const store = this.config.toolResultStore;
97
+ if (store && sessionId) {
98
+ const nodeId = `${toolName || 'tool'}_${Date.now()}_${Math.abs(HistoryManager.simpleHash(output)).toString(36)}`;
99
+ const preview = output.slice(0, 300).replace(/\n/g, ' ').trim();
100
+ store.writeOffload({ nodeId, toolName: toolName || 'unknown', summary: preview, createdAt: Date.now(), charCount: output.length, sessionId }, output);
101
+ // 同时写入 toolResultStore(按 callId),让 read_tool_result 也能找到
102
+ store.write(callId, output);
103
+ return (`[offload:${nodeId}] ${toolName || 'tool'}: ${preview.slice(0, 150)}... ` +
104
+ `(${output.length} chars offloaded, use read_offload(node_id="${nodeId}") or read_tool_result(call_id="${callId}") to retrieve) [/offload]`);
105
+ }
106
+ // 回退:超大结果写入文件
107
+ if (output.length > max && store) {
108
+ const filePath = store.write(callId, output);
109
+ const previewLen = Math.min(200, Math.floor(max * 0.1));
110
+ const preview = output.slice(0, previewLen);
111
+ return (`[Result saved to file: ${output.length} chars → ${filePath}]\n` +
112
+ `Preview:\n${preview}...\n\n` +
113
+ `Use read_tool_result(call_id="${callId}") to read full content.`);
114
+ }
115
+ // 无 store 时回退到截断
116
+ return this.truncateOutput(output);
117
+ }
118
+ /**
119
+ * 压缩消息列表(公开接口,供 LLMCaller 在上下文过长时调用)
120
+ *
121
+ * 使用与 addHistory 相同的多级压缩策略,但直接作用于传入的 messages 数组。
122
+ * 返回压缩后的 token 估算值。
123
+ */
124
+ compressMessages(messages, targetTokens) {
125
+ const maxTokens = targetTokens ?? this.config.contextBudget?.maxContextTokens ?? 100000;
126
+ // 更激进的目标:压缩到 70% 的预算,给 system prompt + tool defs 留空间
127
+ const aggressiveTarget = Math.floor(maxTokens * 0.7);
128
+ this.compactHistorySmart(messages, aggressiveTarget, '__compress__');
129
+ return countMessageTokens(messages);
130
+ }
131
+ // ---- 内部方法:智能压缩 ----
132
+ /** Level 1: 智能压缩(token 感知多级压缩管道) */
133
+ compactHistorySmart(history, targetTokens, sessionId) {
134
+ // 阶段 1: 卸载超长工具参数
135
+ this.offloadToolArguments(history);
136
+ if (countMessageTokens(history) <= targetTokens)
137
+ return;
138
+ // 阶段 2: 卸载 base64 数据块
139
+ this.offloadBase64Content(history);
140
+ if (countMessageTokens(history) <= targetTokens)
141
+ return;
142
+ // 阶段 3: 将大工具结果卸载到 OffloadStore(非破坏性,保留溯源)
143
+ this.offloadLargeToolResults(history, sessionId);
144
+ if (countMessageTokens(history) <= targetTokens)
145
+ return;
146
+ // 阶段 4: 截断大工具结果(无 OffloadStore 时回退)
147
+ this.truncateLargeToolResults(history);
148
+ if (countMessageTokens(history) <= targetTokens)
149
+ return;
150
+ // 阶段 5: 消息对裁剪(兜底)
151
+ this.compactHistoryPairs(history);
152
+ }
153
+ /** 压缩阶段 1: 卸载超长工具参数 */
154
+ offloadToolArguments(history) {
155
+ const maxArgsLen = 500;
156
+ for (const msg of history) {
157
+ if (msg.role === 'assistant' && msg.tool_calls) {
158
+ for (const tc of msg.tool_calls) {
159
+ if (tc.function.arguments && tc.function.arguments.length > maxArgsLen) {
160
+ try {
161
+ const parsed = JSON.parse(tc.function.arguments);
162
+ const summary = {};
163
+ for (const [key, value] of Object.entries(parsed)) {
164
+ const val = typeof value === 'string' ? value : JSON.stringify(value);
165
+ summary[key] = val.length > 50 ? val.slice(0, 50) + '...' : val;
166
+ }
167
+ tc.function.arguments = JSON.stringify(summary);
168
+ }
169
+ catch {
170
+ tc.function.arguments = `[args: ${tc.function.arguments.length} chars]`;
171
+ }
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
177
+ /** 压缩阶段 2: 卸载 base64 数据块 */
178
+ offloadBase64Content(history) {
179
+ const base64Pattern = /[A-Za-z0-9+/]{200,}={0,2}/g;
180
+ for (const msg of history) {
181
+ if (msg.role === 'tool' && typeof msg.content === 'string' && msg.content.length > 500) {
182
+ msg.content = msg.content.replace(base64Pattern, (match) => {
183
+ return `[base64: ${match.length} chars]`;
184
+ });
185
+ }
186
+ }
187
+ }
188
+ /** 压缩阶段 3: 非破坏性卸载大工具结果 */
189
+ offloadLargeToolResults(history, sessionId) {
190
+ const store = this.config.toolResultStore;
191
+ if (!store)
192
+ return;
193
+ const offloadThreshold = 2000;
194
+ for (const msg of history) {
195
+ if (msg.role !== 'tool' || typeof msg.content !== 'string')
196
+ continue;
197
+ if (msg.content.length <= offloadThreshold)
198
+ continue;
199
+ if (/^\[offload:/.test(msg.content))
200
+ continue;
201
+ const toolName = HistoryManager.findToolNameForCallId(msg.tool_call_id || '', history);
202
+ const nodeId = `${toolName}_${Date.now()}_${Math.abs(HistoryManager.simpleHash(msg.content)).toString(36)}`;
203
+ const preview = msg.content.slice(0, 300).replace(/\n/g, ' ').trim();
204
+ store.writeOffload({ nodeId, toolName, summary: preview, createdAt: Date.now(), charCount: msg.content.length, sessionId }, msg.content);
205
+ msg.content = (`[offload:${nodeId}] ${toolName}: ${preview.slice(0, 150)}... ` +
206
+ `(${msg.content.length} chars offloaded, use read_offload(node_id="${nodeId}") to retrieve) [/offload]`);
207
+ }
208
+ }
209
+ /** 压缩阶段 4: 截断大工具结果 */
210
+ truncateLargeToolResults(history) {
211
+ const maxResultLen = this.config.contextBudget?.maxToolOutput ?? 8000;
212
+ for (const msg of history) {
213
+ if (msg.role === 'tool' && typeof msg.content === 'string' && msg.content.length > maxResultLen) {
214
+ const headLen = Math.floor(maxResultLen * 0.4);
215
+ const tailLen = Math.floor(maxResultLen * 0.4);
216
+ msg.content = msg.content.slice(0, headLen)
217
+ + `\n\n... [${msg.content.length - headLen - tailLen} characters truncated] ...\n\n`
218
+ + msg.content.slice(-tailLen);
219
+ }
220
+ }
221
+ }
222
+ /** Level 2: 成对裁剪历史(移除最早的 assistant + 关联 tool 消息) */
223
+ compactHistoryPairs(history) {
224
+ const keepCount = Math.floor(this.config.maxMessages * 0.5);
225
+ while (history.length > keepCount) {
226
+ const idx = history.findIndex(m => m.role === 'assistant');
227
+ if (idx === -1)
228
+ break;
229
+ history.splice(idx, 1);
230
+ while (idx < history.length && history[idx]?.role === 'tool') {
231
+ history.splice(idx, 1);
232
+ }
233
+ }
234
+ }
235
+ /** 截断工具输出(保留首尾,中间省略) */
236
+ truncateOutput(output) {
237
+ const max = this.config.contextBudget?.maxToolOutput ?? 8000;
238
+ if (output.length <= max)
239
+ return output;
240
+ const headLen = Math.floor(max * 0.4);
241
+ const tailLen = Math.floor(max * 0.4);
242
+ return output.slice(0, headLen)
243
+ + `\n\n... [${output.length - headLen - tailLen} characters omitted] ...\n\n`
244
+ + output.slice(-tailLen);
245
+ }
246
+ // ---- 静态辅助 ----
247
+ /** 根据 tool_call_id 从历史中查找工具名 */
248
+ static findToolNameForCallId(callId, history) {
249
+ for (const msg of history) {
250
+ if (msg.role === 'assistant' && msg.tool_calls) {
251
+ const match = msg.tool_calls.find(tc => tc.id === callId);
252
+ if (match)
253
+ return match.function.name;
254
+ }
255
+ }
256
+ return 'unknown_tool';
257
+ }
258
+ /** DJB2 哈希(用于生成短 nodeId) */
259
+ static simpleHash(str) {
260
+ let hash = 5381;
261
+ for (let i = 0; i < str.length; i++) {
262
+ hash = ((hash << 5) + hash + str.charCodeAt(i)) | 0;
263
+ }
264
+ return hash;
265
+ }
266
+ }
267
+ //# sourceMappingURL=history-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-manager.js","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { AgentEvent, Message, TokenUsage } from '../types.ts';
2
+ import type { LLMProvider } from '../llm/types.ts';
3
+ import type { ToolDefinition } from '../tool/types.ts';
4
+ import type { RetryPolicy } from './types.ts';
5
+ import type { HookEvent, HookContext, HookResult } from '../hooks/types.ts';
6
+ import type { HistoryManager } from './history-manager.ts';
7
+ /** LLM 调用配置 */
8
+ export interface LLMCallerConfig {
9
+ /** 主 LLM Provider */
10
+ llmProvider: LLMProvider;
11
+ /** 降级 LLM Provider(可选) */
12
+ fallbackProvider?: LLMProvider;
13
+ /** 重试策略 */
14
+ retryPolicy?: RetryPolicy;
15
+ /** LLM 推理超时(毫秒) */
16
+ llmTimeout: number;
17
+ /** Hook 执行器(由 Engine 注入) */
18
+ runHooks: (event: HookEvent, ctx: HookContext) => Promise<HookResult[]>;
19
+ /** 事件创建辅助(由 Engine 注入) */
20
+ createEvent: (sessionId: string, event: Record<string, unknown>) => AgentEvent;
21
+ /** 历史管理器(可选,用于上下文过长时压缩) */
22
+ historyManager?: HistoryManager;
23
+ }
24
+ /** 单次 LLM 调用结果 */
25
+ export interface LLMCallResult {
26
+ /** 完整的 assistant message */
27
+ assistant: Message;
28
+ /** 本次调用消耗的 token */
29
+ usage?: TokenUsage;
30
+ }
31
+ /**
32
+ * LLM 调用管理器
33
+ *
34
+ * 职责:
35
+ * - 流式调用 LLM(支持 tool_calls 累积)
36
+ * - 重试 + 指数退避
37
+ * - 主 Provider → Fallback Provider 降级
38
+ */
39
+ export declare class LLMCaller {
40
+ private config;
41
+ constructor(config: LLMCallerConfig);
42
+ /** 更新主 Provider(热更新场景) */
43
+ updateProvider(provider: LLMProvider): void;
44
+ /**
45
+ * 带重试和降级的 LLM 调用
46
+ * 返回 assistant message 或 null(所有尝试失败)
47
+ *
48
+ * 特殊处理:当 API 返回“输入过长”错误时,自动压缩历史并重试(最多一次)
49
+ */
50
+ callWithRetry(sessionId: string, messages: Message[], toolDefs: ToolDefinition[], abortSignal: AbortSignal): AsyncGenerator<AgentEvent, Message | null>;
51
+ /** 是否为“上下文过长”错误 */
52
+ private isContextTooLongError;
53
+ /** 单次 LLM 调用(流式),带诊断信息 */
54
+ private callOnceWithDiag;
55
+ /** 单次 LLM 调用(流式),返回 assistant message 或 null(保留向后兼容) */
56
+ private callOnce;
57
+ }
58
+ //# sourceMappingURL=llm-caller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-caller.d.ts","sourceRoot":"","sources":["../../../src/agent/llm-caller.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAY,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,eAAe;AACf,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,WAAW;IACX,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,0BAA0B;IAC1B,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC;IAC/E,2BAA2B;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,kBAAkB;AAClB,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAInC,0BAA0B;IAC1B,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI3C;;;;;OAKG;IACI,aAAa,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,WAAW,GACvB,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAuE7C,mBAAmB;IACnB,OAAO,CAAC,qBAAqB;IAO7B,0BAA0B;YACX,gBAAgB;IAkH/B,wDAAwD;YACzC,QAAQ;CAkHxB"}