kagent-ts 0.1.4 → 0.1.5

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 (341) hide show
  1. package/LICENSE +68 -21
  2. package/README.md +27 -371
  3. package/dist/compression/progressive-compressor.d.ts +66 -0
  4. package/dist/compression/progressive-compressor.d.ts.map +1 -0
  5. package/dist/compression/progressive-compressor.js +367 -0
  6. package/dist/compression/progressive-compressor.js.map +1 -0
  7. package/dist/compression/types.d.ts +1 -5
  8. package/dist/compression/types.d.ts.map +1 -1
  9. package/dist/context/context-manager.d.ts +34 -15
  10. package/dist/context/context-manager.d.ts.map +1 -1
  11. package/dist/context/context-manager.js +78 -28
  12. package/dist/context/context-manager.js.map +1 -1
  13. package/dist/context/types.d.ts +20 -4
  14. package/dist/context/types.d.ts.map +1 -1
  15. package/dist/core/agent.d.ts +354 -25
  16. package/dist/core/agent.d.ts.map +1 -1
  17. package/dist/core/agent.js +646 -64
  18. package/dist/core/agent.js.map +1 -1
  19. package/dist/core/fusion-agent.d.ts +207 -0
  20. package/dist/core/fusion-agent.d.ts.map +1 -0
  21. package/dist/core/fusion-agent.js +769 -0
  22. package/dist/core/fusion-agent.js.map +1 -0
  23. package/dist/core/hooks.d.ts +19 -7
  24. package/dist/core/hooks.d.ts.map +1 -1
  25. package/dist/core/plan-solve-agent.d.ts +1 -15
  26. package/dist/core/plan-solve-agent.d.ts.map +1 -1
  27. package/dist/core/plan-solve-agent.js +142 -117
  28. package/dist/core/plan-solve-agent.js.map +1 -1
  29. package/dist/core/react-agent.d.ts +0 -13
  30. package/dist/core/react-agent.d.ts.map +1 -1
  31. package/dist/core/react-agent.js +127 -102
  32. package/dist/core/react-agent.js.map +1 -1
  33. package/dist/core/response-schema.d.ts +65 -0
  34. package/dist/core/response-schema.d.ts.map +1 -1
  35. package/dist/core/response-schema.js +174 -1
  36. package/dist/core/response-schema.js.map +1 -1
  37. package/dist/core/system-prompts.d.ts +27 -0
  38. package/dist/core/system-prompts.d.ts.map +1 -0
  39. package/dist/core/system-prompts.js +112 -0
  40. package/dist/core/system-prompts.js.map +1 -0
  41. package/dist/eval/benchmark.d.ts +81 -0
  42. package/dist/eval/benchmark.d.ts.map +1 -0
  43. package/dist/eval/benchmark.js +292 -0
  44. package/dist/eval/benchmark.js.map +1 -0
  45. package/dist/eval/eval-runner.d.ts +79 -0
  46. package/dist/eval/eval-runner.d.ts.map +1 -0
  47. package/dist/eval/eval-runner.js +252 -0
  48. package/dist/eval/eval-runner.js.map +1 -0
  49. package/dist/eval/index.d.ts +7 -0
  50. package/dist/eval/index.d.ts.map +1 -0
  51. package/dist/eval/index.js +13 -0
  52. package/dist/eval/index.js.map +1 -0
  53. package/dist/eval/tool-call-evaluator.d.ts +72 -0
  54. package/dist/eval/tool-call-evaluator.d.ts.map +1 -0
  55. package/dist/eval/tool-call-evaluator.js +265 -0
  56. package/dist/eval/tool-call-evaluator.js.map +1 -0
  57. package/dist/eval/types.d.ts +219 -0
  58. package/dist/eval/types.d.ts.map +1 -0
  59. package/dist/eval/types.js +3 -0
  60. package/dist/eval/types.js.map +1 -0
  61. package/dist/index.d.ts +58 -14
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +116 -8
  64. package/dist/index.js.map +1 -1
  65. package/dist/llm/anthropic-provider.d.ts +141 -0
  66. package/dist/llm/anthropic-provider.d.ts.map +1 -0
  67. package/dist/llm/anthropic-provider.js +486 -0
  68. package/dist/llm/anthropic-provider.js.map +1 -0
  69. package/dist/llm/errors.d.ts +26 -0
  70. package/dist/llm/errors.d.ts.map +1 -0
  71. package/dist/llm/errors.js +19 -0
  72. package/dist/llm/errors.js.map +1 -0
  73. package/dist/llm/factory.d.ts +73 -0
  74. package/dist/llm/factory.d.ts.map +1 -0
  75. package/dist/llm/factory.js +77 -0
  76. package/dist/llm/factory.js.map +1 -0
  77. package/dist/llm/fallback-provider.d.ts +47 -0
  78. package/dist/llm/fallback-provider.d.ts.map +1 -0
  79. package/dist/llm/fallback-provider.js +91 -0
  80. package/dist/llm/fallback-provider.js.map +1 -0
  81. package/dist/llm/interface.d.ts +54 -11
  82. package/dist/llm/interface.d.ts.map +1 -1
  83. package/dist/llm/interface.js +34 -0
  84. package/dist/llm/interface.js.map +1 -1
  85. package/dist/llm/model-router.d.ts +126 -0
  86. package/dist/llm/model-router.d.ts.map +1 -0
  87. package/dist/llm/model-router.js +178 -0
  88. package/dist/llm/model-router.js.map +1 -0
  89. package/dist/llm/openai-provider.d.ts +8 -32
  90. package/dist/llm/openai-provider.d.ts.map +1 -1
  91. package/dist/llm/openai-provider.js +27 -60
  92. package/dist/llm/openai-provider.js.map +1 -1
  93. package/dist/llm/rate-limiter.d.ts +41 -0
  94. package/dist/llm/rate-limiter.d.ts.map +1 -0
  95. package/dist/llm/rate-limiter.js +93 -0
  96. package/dist/llm/rate-limiter.js.map +1 -0
  97. package/dist/llm/retry.d.ts +26 -0
  98. package/dist/llm/retry.d.ts.map +1 -0
  99. package/dist/llm/retry.js +44 -0
  100. package/dist/llm/retry.js.map +1 -0
  101. package/dist/llm/token-budget.d.ts +97 -0
  102. package/dist/llm/token-budget.d.ts.map +1 -0
  103. package/dist/llm/token-budget.js +115 -0
  104. package/dist/llm/token-budget.js.map +1 -0
  105. package/dist/logging/index.d.ts +2 -0
  106. package/dist/logging/index.d.ts.map +1 -0
  107. package/dist/logging/index.js +7 -0
  108. package/dist/logging/index.js.map +1 -0
  109. package/dist/logging/logger.d.ts +38 -0
  110. package/dist/logging/logger.d.ts.map +1 -0
  111. package/dist/logging/logger.js +34 -0
  112. package/dist/logging/logger.js.map +1 -0
  113. package/dist/mcp/mcp-client-manager.d.ts +10 -2
  114. package/dist/mcp/mcp-client-manager.d.ts.map +1 -1
  115. package/dist/mcp/mcp-client-manager.js +20 -9
  116. package/dist/mcp/mcp-client-manager.js.map +1 -1
  117. package/dist/memory/index.d.ts +3 -0
  118. package/dist/memory/index.d.ts.map +1 -0
  119. package/dist/memory/index.js +6 -0
  120. package/dist/memory/index.js.map +1 -0
  121. package/dist/memory/memory-manager.d.ts +119 -0
  122. package/dist/memory/memory-manager.d.ts.map +1 -0
  123. package/dist/memory/memory-manager.js +334 -0
  124. package/dist/memory/memory-manager.js.map +1 -0
  125. package/dist/messages/types.d.ts +2 -0
  126. package/dist/messages/types.d.ts.map +1 -1
  127. package/dist/orchestrator/index.d.ts +5 -0
  128. package/dist/orchestrator/index.d.ts.map +1 -0
  129. package/dist/orchestrator/index.js +13 -0
  130. package/dist/orchestrator/index.js.map +1 -0
  131. package/dist/orchestrator/json-extractor.d.ts +18 -0
  132. package/dist/orchestrator/json-extractor.d.ts.map +1 -0
  133. package/dist/orchestrator/json-extractor.js +111 -0
  134. package/dist/orchestrator/json-extractor.js.map +1 -0
  135. package/dist/orchestrator/orchestrator-agent.d.ts +152 -0
  136. package/dist/orchestrator/orchestrator-agent.d.ts.map +1 -0
  137. package/dist/orchestrator/orchestrator-agent.js +675 -0
  138. package/dist/orchestrator/orchestrator-agent.js.map +1 -0
  139. package/dist/orchestrator/orchestrator-response.d.ts +40 -0
  140. package/dist/orchestrator/orchestrator-response.d.ts.map +1 -0
  141. package/dist/orchestrator/orchestrator-response.js +275 -0
  142. package/dist/orchestrator/orchestrator-response.js.map +1 -0
  143. package/dist/orchestrator/orchestrator-types.d.ts +116 -0
  144. package/dist/orchestrator/orchestrator-types.d.ts.map +1 -0
  145. package/dist/orchestrator/orchestrator-types.js +3 -0
  146. package/dist/orchestrator/orchestrator-types.js.map +1 -0
  147. package/dist/preferences/preference-manager.d.ts +8 -3
  148. package/dist/preferences/preference-manager.d.ts.map +1 -1
  149. package/dist/preferences/preference-manager.js +17 -4
  150. package/dist/preferences/preference-manager.js.map +1 -1
  151. package/dist/rag/chroma-store.d.ts +52 -0
  152. package/dist/rag/chroma-store.d.ts.map +1 -0
  153. package/dist/rag/chroma-store.js +110 -0
  154. package/dist/rag/chroma-store.js.map +1 -0
  155. package/dist/rag/document-loader.d.ts +21 -0
  156. package/dist/rag/document-loader.d.ts.map +1 -0
  157. package/dist/rag/document-loader.js +129 -0
  158. package/dist/rag/document-loader.js.map +1 -0
  159. package/dist/rag/embedding-provider.d.ts +36 -0
  160. package/dist/rag/embedding-provider.d.ts.map +1 -0
  161. package/dist/rag/embedding-provider.js +74 -0
  162. package/dist/rag/embedding-provider.js.map +1 -0
  163. package/dist/rag/index.d.ts +17 -0
  164. package/dist/rag/index.d.ts.map +1 -0
  165. package/dist/rag/index.js +27 -0
  166. package/dist/rag/index.js.map +1 -0
  167. package/dist/rag/keyword-index.d.ts +53 -0
  168. package/dist/rag/keyword-index.d.ts.map +1 -0
  169. package/dist/rag/keyword-index.js +161 -0
  170. package/dist/rag/keyword-index.js.map +1 -0
  171. package/dist/rag/llm-reranker.d.ts +36 -0
  172. package/dist/rag/llm-reranker.d.ts.map +1 -0
  173. package/dist/rag/llm-reranker.js +95 -0
  174. package/dist/rag/llm-reranker.js.map +1 -0
  175. package/dist/rag/rag-manager.d.ts +54 -0
  176. package/dist/rag/rag-manager.d.ts.map +1 -0
  177. package/dist/rag/rag-manager.js +179 -0
  178. package/dist/rag/rag-manager.js.map +1 -0
  179. package/dist/rag/rag-types.d.ts +143 -0
  180. package/dist/rag/rag-types.d.ts.map +1 -0
  181. package/dist/rag/rag-types.js +9 -0
  182. package/dist/rag/rag-types.js.map +1 -0
  183. package/dist/rag/rrf.d.ts +47 -0
  184. package/dist/rag/rrf.d.ts.map +1 -0
  185. package/dist/rag/rrf.js +70 -0
  186. package/dist/rag/rrf.js.map +1 -0
  187. package/dist/rag/search-knowledge.d.ts +24 -0
  188. package/dist/rag/search-knowledge.d.ts.map +1 -0
  189. package/dist/rag/search-knowledge.js +86 -0
  190. package/dist/rag/search-knowledge.js.map +1 -0
  191. package/dist/rag/text-splitter.d.ts +25 -0
  192. package/dist/rag/text-splitter.d.ts.map +1 -0
  193. package/dist/rag/text-splitter.js +136 -0
  194. package/dist/rag/text-splitter.js.map +1 -0
  195. package/dist/rag/vector-store.d.ts +34 -0
  196. package/dist/rag/vector-store.d.ts.map +1 -0
  197. package/dist/rag/vector-store.js +73 -0
  198. package/dist/rag/vector-store.js.map +1 -0
  199. package/dist/reflection/error-notebook.d.ts +125 -0
  200. package/dist/reflection/error-notebook.d.ts.map +1 -0
  201. package/dist/reflection/error-notebook.js +368 -0
  202. package/dist/reflection/error-notebook.js.map +1 -0
  203. package/dist/reflection/index.d.ts +8 -0
  204. package/dist/reflection/index.d.ts.map +1 -0
  205. package/dist/reflection/index.js +12 -0
  206. package/dist/reflection/index.js.map +1 -0
  207. package/dist/reflection/memory-reflector.d.ts +97 -0
  208. package/dist/reflection/memory-reflector.d.ts.map +1 -0
  209. package/dist/reflection/memory-reflector.js +215 -0
  210. package/dist/reflection/memory-reflector.js.map +1 -0
  211. package/dist/reflection/reflection-agent.d.ts +105 -0
  212. package/dist/reflection/reflection-agent.d.ts.map +1 -0
  213. package/dist/reflection/reflection-agent.js +234 -0
  214. package/dist/reflection/reflection-agent.js.map +1 -0
  215. package/dist/reflection/reflection-hook.d.ts +50 -0
  216. package/dist/reflection/reflection-hook.d.ts.map +1 -0
  217. package/dist/reflection/reflection-hook.js +108 -0
  218. package/dist/reflection/reflection-hook.js.map +1 -0
  219. package/dist/rules/project-rules.d.ts +47 -0
  220. package/dist/rules/project-rules.d.ts.map +1 -0
  221. package/dist/rules/project-rules.js +166 -0
  222. package/dist/rules/project-rules.js.map +1 -0
  223. package/dist/security/boundaries.d.ts +81 -0
  224. package/dist/security/boundaries.d.ts.map +1 -0
  225. package/dist/security/boundaries.js +158 -0
  226. package/dist/security/boundaries.js.map +1 -0
  227. package/dist/security/index.d.ts +2 -0
  228. package/dist/security/index.d.ts.map +1 -0
  229. package/dist/security/index.js +11 -0
  230. package/dist/security/index.js.map +1 -0
  231. package/dist/session/session-types.d.ts +25 -4
  232. package/dist/session/session-types.d.ts.map +1 -1
  233. package/dist/skills/file-skill-loader.d.ts +4 -6
  234. package/dist/skills/file-skill-loader.d.ts.map +1 -1
  235. package/dist/skills/file-skill-loader.js +8 -19
  236. package/dist/skills/file-skill-loader.js.map +1 -1
  237. package/dist/skills/index.d.ts +1 -1
  238. package/dist/skills/index.d.ts.map +1 -1
  239. package/dist/skills/index.js +1 -2
  240. package/dist/skills/index.js.map +1 -1
  241. package/dist/skills/skill-manager.d.ts +18 -8
  242. package/dist/skills/skill-manager.d.ts.map +1 -1
  243. package/dist/skills/skill-manager.js +58 -36
  244. package/dist/skills/skill-manager.js.map +1 -1
  245. package/dist/skills/types.d.ts +3 -8
  246. package/dist/skills/types.d.ts.map +1 -1
  247. package/dist/subagent/index.d.ts +4 -0
  248. package/dist/subagent/index.d.ts.map +1 -0
  249. package/dist/subagent/index.js +8 -0
  250. package/dist/subagent/index.js.map +1 -0
  251. package/dist/subagent/subagent-loader.d.ts +53 -0
  252. package/dist/subagent/subagent-loader.d.ts.map +1 -0
  253. package/dist/subagent/subagent-loader.js +155 -0
  254. package/dist/subagent/subagent-loader.js.map +1 -0
  255. package/dist/subagent/subagent-manager.d.ts +161 -0
  256. package/dist/subagent/subagent-manager.d.ts.map +1 -0
  257. package/dist/subagent/subagent-manager.js +468 -0
  258. package/dist/subagent/subagent-manager.js.map +1 -0
  259. package/dist/subagent/subagent-types.d.ts +77 -0
  260. package/dist/subagent/subagent-types.d.ts.map +1 -0
  261. package/dist/subagent/subagent-types.js +3 -0
  262. package/dist/subagent/subagent-types.js.map +1 -0
  263. package/dist/tools/builtin/bash.d.ts +3 -0
  264. package/dist/tools/builtin/bash.d.ts.map +1 -0
  265. package/dist/tools/builtin/bash.js +87 -0
  266. package/dist/tools/builtin/bash.js.map +1 -0
  267. package/dist/tools/builtin/edit-file.d.ts.map +1 -1
  268. package/dist/tools/builtin/edit-file.js +1 -0
  269. package/dist/tools/builtin/edit-file.js.map +1 -1
  270. package/dist/tools/builtin/index.d.ts +14 -0
  271. package/dist/tools/builtin/index.d.ts.map +1 -1
  272. package/dist/tools/builtin/index.js +45 -1
  273. package/dist/tools/builtin/index.js.map +1 -1
  274. package/dist/tools/builtin/list-errors.d.ts +7 -0
  275. package/dist/tools/builtin/list-errors.d.ts.map +1 -0
  276. package/dist/tools/builtin/list-errors.js +64 -0
  277. package/dist/tools/builtin/list-errors.js.map +1 -0
  278. package/dist/tools/builtin/list-subagents.d.ts +7 -0
  279. package/dist/tools/builtin/list-subagents.d.ts.map +1 -0
  280. package/dist/tools/builtin/list-subagents.js +21 -0
  281. package/dist/tools/builtin/list-subagents.js.map +1 -0
  282. package/dist/tools/builtin/recall.d.ts +11 -0
  283. package/dist/tools/builtin/recall.d.ts.map +1 -0
  284. package/dist/tools/builtin/recall.js +60 -0
  285. package/dist/tools/builtin/recall.js.map +1 -0
  286. package/dist/tools/builtin/remember.d.ts +12 -0
  287. package/dist/tools/builtin/remember.d.ts.map +1 -0
  288. package/dist/tools/builtin/remember.js +72 -0
  289. package/dist/tools/builtin/remember.js.map +1 -0
  290. package/dist/tools/builtin/skill.d.ts +14 -0
  291. package/dist/tools/builtin/skill.d.ts.map +1 -0
  292. package/dist/tools/builtin/skill.js +71 -0
  293. package/dist/tools/builtin/skill.js.map +1 -0
  294. package/dist/tools/builtin/spawn-subagent.d.ts +7 -0
  295. package/dist/tools/builtin/spawn-subagent.d.ts.map +1 -0
  296. package/dist/tools/builtin/spawn-subagent.js +43 -0
  297. package/dist/tools/builtin/spawn-subagent.js.map +1 -0
  298. package/dist/tools/builtin/web-fetch.d.ts +3 -0
  299. package/dist/tools/builtin/web-fetch.d.ts.map +1 -0
  300. package/dist/tools/builtin/web-fetch.js +101 -0
  301. package/dist/tools/builtin/web-fetch.js.map +1 -0
  302. package/dist/tools/builtin/write-file.d.ts.map +1 -1
  303. package/dist/tools/builtin/write-file.js +1 -0
  304. package/dist/tools/builtin/write-file.js.map +1 -1
  305. package/dist/tools/circuit-breaker.d.ts +19 -10
  306. package/dist/tools/circuit-breaker.d.ts.map +1 -1
  307. package/dist/tools/circuit-breaker.js +22 -11
  308. package/dist/tools/circuit-breaker.js.map +1 -1
  309. package/dist/tools/error-tracker.d.ts +28 -44
  310. package/dist/tools/error-tracker.d.ts.map +1 -1
  311. package/dist/tools/error-tracker.js +39 -156
  312. package/dist/tools/error-tracker.js.map +1 -1
  313. package/dist/tools/tool-filter.d.ts +70 -0
  314. package/dist/tools/tool-filter.d.ts.map +1 -0
  315. package/dist/tools/tool-filter.js +92 -0
  316. package/dist/tools/tool-filter.js.map +1 -0
  317. package/dist/tools/tool-output-truncator.d.ts +36 -0
  318. package/dist/tools/tool-output-truncator.d.ts.map +1 -0
  319. package/dist/tools/tool-output-truncator.js +117 -0
  320. package/dist/tools/tool-output-truncator.js.map +1 -0
  321. package/dist/tools/tool-registry.d.ts +25 -9
  322. package/dist/tools/tool-registry.d.ts.map +1 -1
  323. package/dist/tools/tool-registry.js +77 -28
  324. package/dist/tools/tool-registry.js.map +1 -1
  325. package/dist/tools/tool-validator.d.ts +13 -0
  326. package/dist/tools/tool-validator.d.ts.map +1 -0
  327. package/dist/tools/tool-validator.js +116 -0
  328. package/dist/tools/tool-validator.js.map +1 -0
  329. package/dist/tools/types.d.ts +86 -3
  330. package/dist/tools/types.d.ts.map +1 -1
  331. package/dist/tools/types.js +51 -2
  332. package/dist/tools/types.js.map +1 -1
  333. package/dist/trace/trace-logger.d.ts +30 -4
  334. package/dist/trace/trace-logger.d.ts.map +1 -1
  335. package/dist/trace/trace-logger.js +82 -6
  336. package/dist/trace/trace-logger.js.map +1 -1
  337. package/package.json +13 -4
  338. package/dist/compression/sliding-window.d.ts +0 -21
  339. package/dist/compression/sliding-window.d.ts.map +0 -1
  340. package/dist/compression/sliding-window.js +0 -44
  341. package/dist/compression/sliding-window.js.map +0 -1
@@ -1,3 +1,62 @@
1
+ /**
2
+ * Standardised tool error codes for programmatic handling.
3
+ *
4
+ * Every `ToolResult` carries an error code so that agent code and LLM
5
+ * guidance can react precisely — no string-matching heuristics needed.
6
+ */
7
+ export declare enum ToolErrorCode {
8
+ /** Tool executed successfully. */
9
+ SUCCESS = "success",
10
+ /** The tool name is not registered. */
11
+ UNKNOWN_TOOL = "unknown_tool",
12
+ /** The circuit breaker is open — the tool is disabled for this session. */
13
+ CIRCUIT_OPEN = "circuit_open",
14
+ /** The tool threw an exception during execution. */
15
+ EXECUTION_FAILURE = "execution_failure",
16
+ /** The arguments JSON could not be parsed (malformed or truncated). */
17
+ ARGUMENTS_PARSE_ERROR = "arguments_parse_error",
18
+ /** The tool's output was truncated due to size limits. */
19
+ TRUNCATED_OUTPUT = "truncated_output",
20
+ /** An internal error occurred in the tool registry / infrastructure. */
21
+ INTERNAL_ERROR = "internal_error",
22
+ /** Tool execution was denied by the user (human-in-the-loop approval). */
23
+ APPROVAL_DENIED = "approval_denied",
24
+ /** Arguments failed JSON Schema validation against the tool's parameters. */
25
+ VALIDATION_ERROR = "validation_error"
26
+ }
27
+ /**
28
+ * Structured result returned by a tool execution.
29
+ *
30
+ * Every tool call produces a `ToolResult` with a machine-readable
31
+ * `errorCode` and a human-readable `content` string destined for
32
+ * the LLM conversation context.
33
+ */
34
+ export interface ToolResult {
35
+ /** Whether the tool executed successfully. */
36
+ success: boolean;
37
+ /** Human-readable content — injected into the LLM context as-is. */
38
+ content: string;
39
+ /**
40
+ * Severity level (convenience derived from `errorCode`).
41
+ * - `"success"` → tool completed normally.
42
+ * - `"retryable"` → the LLM can retry with corrected parameters.
43
+ * - `"fatal"` → the tool is gone; the LLM must pivot.
44
+ */
45
+ severity: "success" | "retryable" | "fatal";
46
+ /**
47
+ * Machine-readable error code.
48
+ * `ToolErrorCode.SUCCESS` when the tool completed without error.
49
+ */
50
+ errorCode: ToolErrorCode;
51
+ }
52
+ /**
53
+ * Build a successful ToolResult in one call.
54
+ */
55
+ export declare function toolSuccess(content: string): ToolResult;
56
+ /**
57
+ * Build a failing ToolResult in one call.
58
+ */
59
+ export declare function toolError(errorCode: ToolErrorCode, content: string, severity?: "retryable" | "fatal"): ToolResult;
1
60
  /**
2
61
  * A tool that an agent can invoke.
3
62
  */
@@ -8,15 +67,39 @@ export interface Tool {
8
67
  description: string;
9
68
  /** JSON Schema describing the tool's parameters. */
10
69
  parameters: Record<string, unknown>;
11
- /** Execute the tool with the given arguments and return a result string. */
70
+ /** Execute the tool with the given arguments and return a raw result string. */
12
71
  execute(args: Record<string, unknown>): Promise<string>;
72
+ /**
73
+ * Whether this tool requires human approval before execution.
74
+ * When `true`, the agent calls `onToolApproval` before executing.
75
+ * Defaults to `false` (tools execute immediately).
76
+ */
77
+ requireApproval?: boolean;
78
+ /**
79
+ * Whether this tool must be executed serially (not in parallel with
80
+ * other tools from the same LLM response). Set to `true` for tools
81
+ * with side effects that could conflict with concurrent operations
82
+ * (e.g., file writes that a subsequent tool reads).
83
+ *
84
+ * When any tool in a batch is marked `sequential`, the entire batch
85
+ * falls back to serial execution.
86
+ *
87
+ * Defaults to `false` (safe to execute in parallel).
88
+ */
89
+ sequential?: boolean;
13
90
  }
14
91
  /**
15
92
  * Current state of a circuit breaker for a specific tool.
16
93
  */
17
94
  export declare enum BreakerState {
18
- /** Normal operation — tool calls are allowed. */
95
+ /** Normal operation — no failures, tool calls are allowed. */
19
96
  CLOSED = "closed",
97
+ /**
98
+ * Degraded operation — failures have occurred but the circuit is not yet
99
+ * fully open. Tool calls are still allowed, but the caller should proceed
100
+ * with caution: one more failure may open the circuit.
101
+ */
102
+ HALF_OPEN = "half_open",
20
103
  /** Failure threshold reached — tool calls are blocked. */
21
104
  OPEN = "open"
22
105
  }
@@ -40,7 +123,7 @@ export interface BreakerStatus {
40
123
  */
41
124
  export interface TraceEvent {
42
125
  /** Event type. */
43
- type: "failure" | "retry" | "recovery" | "circuit_open" | "analysis";
126
+ type: "failure" | "retry" | "recovery" | "circuit_half_open" | "circuit_open" | "analysis";
44
127
  /** When the event occurred. */
45
128
  timestamp: string;
46
129
  /** The error message (for failure/retry events). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,4EAA4E;IAC5E,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzD;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,iDAAiD;IACjD,MAAM,WAAW;IACjB,0DAA0D;IAC1D,IAAI,SAAS;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;CACpB;AAID;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kBAAkB;IAClB,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC;IACrE,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,wDAAwD;IACxD,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,oBAAY,aAAa;IACvB,kCAAkC;IAClC,OAAO,YAAY;IACnB,uCAAuC;IACvC,YAAY,iBAAiB;IAC7B,2EAA2E;IAC3E,YAAY,iBAAiB;IAC7B,oDAAoD;IACpD,iBAAiB,sBAAsB;IACvC,uEAAuE;IACvE,qBAAqB,0BAA0B;IAC/C,0DAA0D;IAC1D,gBAAgB,qBAAqB;IACrC,wEAAwE;IACxE,cAAc,mBAAmB;IACjC,0EAA0E;IAC1E,eAAe,oBAAoB;IACnC,6EAA6E;IAC7E,gBAAgB,qBAAqB;CACtC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC5C;;;OAGG;IACH,SAAS,EAAE,aAAa,CAAC;CAC1B;AAID;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAEvD;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,WAAW,GAAG,OAAqB,GAC5C,UAAU,CAEZ;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,gFAAgF;IAChF,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,8DAA8D;IAC9D,MAAM,WAAW;IACjB;;;;OAIG;IACH,SAAS,cAAc;IACvB,0DAA0D;IAC1D,IAAI,SAAS;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;CACpB;AAID;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kBAAkB;IAClB,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,mBAAmB,GAAG,cAAc,GAAG,UAAU,CAAC;IAC3F,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,wDAAwD;IACxD,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1,13 +1,62 @@
1
1
  "use strict";
2
+ // ─── Tool Error Codes ────────────────────────────────────────────────────────
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BreakerState = void 0;
4
+ exports.BreakerState = exports.ToolErrorCode = void 0;
5
+ exports.toolSuccess = toolSuccess;
6
+ exports.toolError = toolError;
7
+ /**
8
+ * Standardised tool error codes for programmatic handling.
9
+ *
10
+ * Every `ToolResult` carries an error code so that agent code and LLM
11
+ * guidance can react precisely — no string-matching heuristics needed.
12
+ */
13
+ var ToolErrorCode;
14
+ (function (ToolErrorCode) {
15
+ /** Tool executed successfully. */
16
+ ToolErrorCode["SUCCESS"] = "success";
17
+ /** The tool name is not registered. */
18
+ ToolErrorCode["UNKNOWN_TOOL"] = "unknown_tool";
19
+ /** The circuit breaker is open — the tool is disabled for this session. */
20
+ ToolErrorCode["CIRCUIT_OPEN"] = "circuit_open";
21
+ /** The tool threw an exception during execution. */
22
+ ToolErrorCode["EXECUTION_FAILURE"] = "execution_failure";
23
+ /** The arguments JSON could not be parsed (malformed or truncated). */
24
+ ToolErrorCode["ARGUMENTS_PARSE_ERROR"] = "arguments_parse_error";
25
+ /** The tool's output was truncated due to size limits. */
26
+ ToolErrorCode["TRUNCATED_OUTPUT"] = "truncated_output";
27
+ /** An internal error occurred in the tool registry / infrastructure. */
28
+ ToolErrorCode["INTERNAL_ERROR"] = "internal_error";
29
+ /** Tool execution was denied by the user (human-in-the-loop approval). */
30
+ ToolErrorCode["APPROVAL_DENIED"] = "approval_denied";
31
+ /** Arguments failed JSON Schema validation against the tool's parameters. */
32
+ ToolErrorCode["VALIDATION_ERROR"] = "validation_error";
33
+ })(ToolErrorCode || (exports.ToolErrorCode = ToolErrorCode = {}));
34
+ // ─── ToolResult helpers ──────────────────────────────────────────────────────
35
+ /**
36
+ * Build a successful ToolResult in one call.
37
+ */
38
+ function toolSuccess(content) {
39
+ return { success: true, content, severity: "success", errorCode: ToolErrorCode.SUCCESS };
40
+ }
41
+ /**
42
+ * Build a failing ToolResult in one call.
43
+ */
44
+ function toolError(errorCode, content, severity = "retryable") {
45
+ return { success: false, content, severity, errorCode };
46
+ }
4
47
  /**
5
48
  * Current state of a circuit breaker for a specific tool.
6
49
  */
7
50
  var BreakerState;
8
51
  (function (BreakerState) {
9
- /** Normal operation — tool calls are allowed. */
52
+ /** Normal operation — no failures, tool calls are allowed. */
10
53
  BreakerState["CLOSED"] = "closed";
54
+ /**
55
+ * Degraded operation — failures have occurred but the circuit is not yet
56
+ * fully open. Tool calls are still allowed, but the caller should proceed
57
+ * with caution: one more failure may open the circuit.
58
+ */
59
+ BreakerState["HALF_OPEN"] = "half_open";
11
60
  /** Failure threshold reached — tool calls are blocked. */
12
61
  BreakerState["OPEN"] = "open";
13
62
  })(BreakerState || (exports.BreakerState = BreakerState = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":";;;AAcA;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,iDAAiD;IACjD,iCAAiB,CAAA;IACjB,0DAA0D;IAC1D,6BAAa,CAAA;AACf,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":";AAAA,gFAAgF;;;AA4DhF,kCAEC;AAKD,8BAMC;AAvED;;;;;GAKG;AACH,IAAY,aAmBX;AAnBD,WAAY,aAAa;IACvB,kCAAkC;IAClC,oCAAmB,CAAA;IACnB,uCAAuC;IACvC,8CAA6B,CAAA;IAC7B,2EAA2E;IAC3E,8CAA6B,CAAA;IAC7B,oDAAoD;IACpD,wDAAuC,CAAA;IACvC,uEAAuE;IACvE,gEAA+C,CAAA;IAC/C,0DAA0D;IAC1D,sDAAqC,CAAA;IACrC,wEAAwE;IACxE,kDAAiC,CAAA;IACjC,0EAA0E;IAC1E,oDAAmC,CAAA;IACnC,6EAA6E;IAC7E,sDAAqC,CAAA;AACvC,CAAC,EAnBW,aAAa,6BAAb,aAAa,QAmBxB;AA4BD,gFAAgF;AAEhF;;GAEG;AACH,SAAgB,WAAW,CAAC,OAAe;IACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC;AAC3F,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CACvB,SAAwB,EACxB,OAAe,EACf,WAAkC,WAAW;IAE7C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC1D,CAAC;AAkCD;;GAEG;AACH,IAAY,YAWX;AAXD,WAAY,YAAY;IACtB,8DAA8D;IAC9D,iCAAiB,CAAA;IACjB;;;;OAIG;IACH,uCAAuB,CAAA;IACvB,0DAA0D;IAC1D,6BAAa,CAAA;AACf,CAAC,EAXW,YAAY,4BAAZ,YAAY,QAWvB"}
@@ -1,9 +1,10 @@
1
1
  import { AgentHooks } from "../core/hooks";
2
2
  import { LLMResponse } from "../llm/interface";
3
- import { LLMNetworkError } from "../llm/openai-provider";
3
+ import { LLMNetworkError } from "../llm/errors";
4
4
  import { MessageData } from "../messages/types";
5
5
  import { Tool } from "../tools/types";
6
6
  import { AgentTraceEvent } from "./types";
7
+ import { Logger } from "../logging/logger";
7
8
  /**
8
9
  * Configuration for the TraceLogger.
9
10
  */
@@ -26,6 +27,21 @@ export interface TraceLoggerConfig {
26
27
  * Optional model name shown in the trace report header.
27
28
  */
28
29
  modelName?: string;
30
+ /** Logger instance (defaults to ConsoleLogger). */
31
+ logger?: Logger;
32
+ /**
33
+ * Pricing model for cost estimation in the trace report.
34
+ * Prices are per 1,000 tokens.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * pricing: { inputPricePer1K: 0.0025, outputPricePer1K: 0.01 }
39
+ * ```
40
+ */
41
+ pricing?: {
42
+ inputPricePer1K: number;
43
+ outputPricePer1K: number;
44
+ };
29
45
  }
30
46
  /**
31
47
  * TraceLogger — records the agent's execution trajectory and generates
@@ -56,6 +72,12 @@ export declare class TraceLogger implements AgentHooks {
56
72
  private agentLabel;
57
73
  private modelName;
58
74
  private startTime;
75
+ private logger;
76
+ private pricing?;
77
+ private llmCallCount;
78
+ private toolCallCount;
79
+ private totalPromptTokens;
80
+ private totalCompletionTokens;
59
81
  constructor(config?: TraceLoggerConfig);
60
82
  /**
61
83
  * Get the session identifier for this trace.
@@ -75,9 +97,9 @@ export declare class TraceLogger implements AgentHooks {
75
97
  onLLMStart(messages: MessageData[], tools: Tool[]): void;
76
98
  onLLMEnd(response: LLMResponse): void;
77
99
  onLLMError(error: LLMNetworkError): void;
78
- onToolStart(toolName: string, args: Record<string, unknown>): void;
79
- onToolEnd(toolName: string, result: string): void;
80
- onToolError(toolName: string, error: string): void;
100
+ onToolStart(toolName: string, args: Record<string, unknown>, toolCallId?: string): void;
101
+ onToolEnd(toolName: string, result: string, toolCallId?: string): void;
102
+ onToolError(toolName: string, error: string, toolCallId?: string): void;
81
103
  onThought(thought: string): void;
82
104
  onPlanCreated(plan: string[]): void;
83
105
  onPlanRevised(plan: string[]): void;
@@ -85,6 +107,10 @@ export declare class TraceLogger implements AgentHooks {
85
107
  private addEvent;
86
108
  private generateHTML;
87
109
  private renderEventCard;
110
+ /** Format large numbers with K/M suffix. */
111
+ private fmtNum;
112
+ /** Format cost summary string for the summary bar. */
113
+ private fmtCost;
88
114
  private eventIcon;
89
115
  private escapeHtml;
90
116
  private syntaxHighlight;
@@ -1 +1 @@
1
- {"version":3,"file":"trace-logger.d.ts","sourceRoot":"","sources":["../../src/trace/trace-logger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAuB,MAAM,SAAS,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAY,YAAW,UAAU;IAC5C,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,CAAC,EAAE,iBAAiB;IAatC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,SAAS,IAAI,eAAe,EAAE;IAI9B;;;;;OAKG;IACH,KAAK,IAAI,MAAM;IAWf,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAkBxD,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAQrC,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAQxC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAOlE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOlD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAInC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO9B,OAAO,CAAC,QAAQ;IAgBhB,OAAO,CAAC,YAAY;IAgJpB,OAAO,CAAC,eAAe;IAsHvB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,eAAe;CAkBxB"}
1
+ {"version":3,"file":"trace-logger.d.ts","sourceRoot":"","sources":["../../src/trace/trace-logger.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.TraceLogger = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
+ const logger_1 = require("../logging/logger");
39
40
  /**
40
41
  * TraceLogger — records the agent's execution trajectory and generates
41
42
  * a self-contained HTML report per session.
@@ -65,6 +66,13 @@ class TraceLogger {
65
66
  agentLabel;
66
67
  modelName;
67
68
  startTime;
69
+ logger;
70
+ pricing;
71
+ // ── Session-level counters for summary stats ──
72
+ llmCallCount = 0;
73
+ toolCallCount = 0;
74
+ totalPromptTokens = 0;
75
+ totalCompletionTokens = 0;
68
76
  constructor(config) {
69
77
  const ts = Date.now();
70
78
  const rand = Math.random().toString(36).slice(2, 6);
@@ -73,6 +81,8 @@ class TraceLogger {
73
81
  this.outputDir = path.resolve(config?.outputDir ?? ".kagent-traces");
74
82
  this.agentLabel = config?.agentLabel ?? "Agent";
75
83
  this.modelName = config?.modelName ?? "unknown";
84
+ this.logger = config?.logger ?? new logger_1.ConsoleLogger();
85
+ this.pricing = config?.pricing;
76
86
  this.startTime = ts;
77
87
  }
78
88
  // ─── Public API ──────────────────────────────────────────────────────────
@@ -99,12 +109,13 @@ class TraceLogger {
99
109
  fs.mkdirSync(this.outputDir, { recursive: true });
100
110
  const filePath = path.join(this.outputDir, `${this.sessionId}.html`);
101
111
  fs.writeFileSync(filePath, html, "utf-8");
102
- console.log(`[Trace] Saved session trace → ${filePath}`);
112
+ this.logger.info("Trace", `Saved session trace → ${filePath}`);
103
113
  return filePath;
104
114
  }
105
115
  // ─── AgentHooks Implementation ─────────────────────────────────────────
106
116
  onLLMStart(messages, tools) {
107
- this.addEvent("llm_start", "LLM Call", {
117
+ this.llmCallCount++;
118
+ this.addEvent("llm_start", `LLM Call #${this.llmCallCount}`, {
108
119
  messageCount: messages.length,
109
120
  toolCount: tools.length,
110
121
  messages: messages.map((m) => ({
@@ -121,6 +132,10 @@ class TraceLogger {
121
132
  });
122
133
  }
123
134
  onLLMEnd(response) {
135
+ if (response.usage) {
136
+ this.totalPromptTokens += response.usage.prompt_tokens;
137
+ this.totalCompletionTokens += response.usage.completion_tokens;
138
+ }
124
139
  this.addEvent("llm_end", "LLM Response", {
125
140
  content: response.content,
126
141
  tool_calls: response.tool_calls,
@@ -134,22 +149,26 @@ class TraceLogger {
134
149
  });
135
150
  this.flush();
136
151
  }
137
- onToolStart(toolName, args) {
152
+ onToolStart(toolName, args, toolCallId) {
153
+ this.toolCallCount++;
138
154
  this.addEvent("tool_start", `Tool: ${toolName}`, {
139
155
  toolName,
156
+ toolCallId,
140
157
  args,
141
158
  });
142
159
  }
143
- onToolEnd(toolName, result) {
160
+ onToolEnd(toolName, result, toolCallId) {
144
161
  this.addEvent("tool_end", `Tool Result: ${toolName}`, {
145
162
  toolName,
163
+ toolCallId,
146
164
  result: result.length > 2000 ? result.slice(0, 2000) + "\n... (truncated)" : result,
147
165
  resultLength: result.length,
148
166
  });
149
167
  }
150
- onToolError(toolName, error) {
168
+ onToolError(toolName, error, toolCallId) {
151
169
  this.addEvent("tool_error", `Tool Error: ${toolName}`, {
152
170
  toolName,
171
+ toolCallId,
153
172
  error,
154
173
  });
155
174
  }
@@ -180,6 +199,11 @@ class TraceLogger {
180
199
  generateHTML() {
181
200
  const duration = ((Date.now() - this.startTime) / 1000).toFixed(1);
182
201
  const eventCards = this.events.map((e) => this.renderEventCard(e)).join("\n");
202
+ // ── Summary stats ──────────────────────────────────────────────────
203
+ const totalTokens = this.totalPromptTokens + this.totalCompletionTokens;
204
+ const costStr = this.pricing
205
+ ? ` | 💰 ${this.fmtCost(this.totalPromptTokens, this.totalCompletionTokens)}`
206
+ : "";
183
207
  return `<!DOCTYPE html>
184
208
  <html lang="en">
185
209
  <head>
@@ -198,7 +222,7 @@ class TraceLogger {
198
222
  .header {
199
223
  background: linear-gradient(135deg, #161b22, #1c2333);
200
224
  border: 1px solid #30363d; border-radius: 12px; padding: 24px 28px;
201
- margin-bottom: 28px;
225
+ margin-bottom: 20px;
202
226
  }
203
227
  .header h1 { font-size: 20px; margin-bottom: 8px; display: flex; align-items: center; gap: 10px; }
204
228
  .header h1 span { background: #238636; color: #fff; font-size: 11px; padding: 2px 8px; border-radius: 20px; }
@@ -206,6 +230,16 @@ class TraceLogger {
206
230
  .header .meta .item { display: flex; align-items: center; gap: 4px; }
207
231
  .header .meta .item strong { color: #c9d1d9; }
208
232
 
233
+ /* ── Summary Stats Bar ── */
234
+ .summary {
235
+ background: #161b22; border: 1px solid #30363d; border-radius: 10px;
236
+ padding: 14px 20px; margin-bottom: 24px;
237
+ display: flex; flex-wrap: wrap; gap: 20px; font-size: 13px;
238
+ }
239
+ .summary .stat { display: flex; align-items: center; gap: 6px; }
240
+ .summary .stat .val { color: #e6edf3; font-weight: 600; font-family: monospace; }
241
+ .summary .stat .lbl { color: #8b949e; }
242
+
209
243
  /* ── Timeline ── */
210
244
  .timeline { position: relative; padding-left: 36px; }
211
245
  .timeline::before {
@@ -230,6 +264,12 @@ class TraceLogger {
230
264
  }
231
265
  .event-header .icon { font-size: 16px; flex-shrink: 0; }
232
266
  .event-header .label { flex: 1; font-weight: 600; color: #e6edf3; }
267
+ .event-header .badge {
268
+ font-size: 11px; padding: 1px 7px; border-radius: 10px;
269
+ font-family: monospace; white-space: nowrap;
270
+ }
271
+ .badge-tokens { background: #1a2332; color: #79c0ff; }
272
+ .badge-cost { background: #1a2f1a; color: #3fb950; }
233
273
  .event-header .time { color: #8b949e; font-size: 11px; font-family: monospace; }
234
274
  .event-header .toggle { color: #8b949e; font-size: 12px; }
235
275
  .event-detail {
@@ -284,6 +324,7 @@ class TraceLogger {
284
324
  @media (max-width: 640px) {
285
325
  body { padding: 12px; }
286
326
  .timeline { padding-left: 28px; }
327
+ .summary { gap: 12px; }
287
328
  }
288
329
  </style>
289
330
  </head>
@@ -301,6 +342,13 @@ class TraceLogger {
301
342
  </div>
302
343
  </div>
303
344
 
345
+ <div class="summary">
346
+ <span class="stat"><span class="lbl">LLM Calls:</span><span class="val">${this.llmCallCount}</span></span>
347
+ <span class="stat"><span class="lbl">Tool Calls:</span><span class="val">${this.toolCallCount}</span></span>
348
+ <span class="stat"><span class="lbl">Tokens:</span><span class="val">${this.fmtNum(totalTokens)}</span></span>
349
+ <span class="stat"><span class="lbl">In / Out:</span><span class="val">${this.fmtNum(this.totalPromptTokens)} / ${this.fmtNum(this.totalCompletionTokens)}</span></span>${costStr}
350
+ </div>
351
+
304
352
  <div class="timeline">
305
353
  ${eventCards}
306
354
  </div>
@@ -323,6 +371,7 @@ ${eventCards}
323
371
  const cls = `event event-type-${event.type}`;
324
372
  const time = new Date(event.timestamp).toLocaleTimeString("en-US", { hour12: false });
325
373
  const icon = this.eventIcon(event.type);
374
+ let headerBadge = ""; // inline stat badge shown on the card header
326
375
  let detail = "";
327
376
  switch (event.type) {
328
377
  case "llm_start": {
@@ -354,6 +403,16 @@ ${eventCards}
354
403
  }
355
404
  const usage = event.data.usage;
356
405
  if (usage) {
406
+ // Inline badge for the card header
407
+ const pts = usage.prompt_tokens ?? 0;
408
+ const cts = usage.completion_tokens ?? 0;
409
+ const tokensBadge = `<span class="badge badge-tokens">${this.fmtNum(pts)}+${this.fmtNum(cts)} tok</span>`;
410
+ let costBadge = "";
411
+ if (this.pricing) {
412
+ const cost = (pts / 1000) * this.pricing.inputPricePer1K + (cts / 1000) * this.pricing.outputPricePer1K;
413
+ costBadge = `<span class="badge badge-cost">$${cost.toFixed(4)}</span>`;
414
+ }
415
+ headerBadge = tokensBadge + costBadge;
357
416
  detail += `<div class="detail-section">
358
417
  <h4>Usage</h4>
359
418
  <table class="kv-table"><tr>
@@ -427,6 +486,7 @@ ${eventCards}
427
486
  <div class="event-header">
428
487
  <span class="icon">${icon}</span>
429
488
  <span class="label">${this.escapeHtml(event.label)}</span>
489
+ ${headerBadge}
430
490
  <span class="time">${time}</span>
431
491
  <span class="toggle">▶</span>
432
492
  </div>
@@ -434,6 +494,22 @@ ${eventCards}
434
494
  </div>
435
495
  </div>`;
436
496
  }
497
+ /** Format large numbers with K/M suffix. */
498
+ fmtNum(n) {
499
+ if (n >= 1_000_000)
500
+ return (n / 1_000_000).toFixed(1) + "M";
501
+ if (n >= 1_000)
502
+ return (n / 1_000).toFixed(1) + "K";
503
+ return String(n);
504
+ }
505
+ /** Format cost summary string for the summary bar. */
506
+ fmtCost(promptTokens, completionTokens) {
507
+ if (!this.pricing)
508
+ return "";
509
+ const cost = (promptTokens / 1000) * this.pricing.inputPricePer1K +
510
+ (completionTokens / 1000) * this.pricing.outputPricePer1K;
511
+ return `<span class="stat"><span class="lbl">Cost:</span><span class="val">$${cost.toFixed(4)}</span></span>`;
512
+ }
437
513
  eventIcon(type) {
438
514
  switch (type) {
439
515
  case "llm_start": return "📤";
@@ -1 +1 @@
1
- {"version":3,"file":"trace-logger.js","sourceRoot":"","sources":["../../src/trace/trace-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-logger.js","sourceRoot":"","sources":["../../src/trace/trace-logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kagent-ts",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "A TypeScript agent framework — ReAct / Plan-Solve agent loops, tool management with circuit breaker, session persistence and resume, file-based progressive skills, and user preference injection.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,7 +13,11 @@
13
13
  "build:watch": "tsc --watch",
14
14
  "prepublishOnly": "npm run build",
15
15
  "prepack": "npm run build",
16
- "test": "echo \"No tests yet — see src/ for manual test patterns\""
16
+ "test": "vitest run",
17
+ "test:watch": "vitest",
18
+ "docs:dev": "vitepress dev docs",
19
+ "docs:build": "vitepress build docs",
20
+ "docs:preview": "vitepress preview docs"
17
21
  },
18
22
  "keywords": [
19
23
  "agent",
@@ -27,7 +31,7 @@
27
31
  "agents",
28
32
  "tool-use"
29
33
  ],
30
- "license": "MIT",
34
+ "license": "BUSL-1.1",
31
35
  "author": "kyk",
32
36
  "repository": {
33
37
  "type": "git",
@@ -44,14 +48,19 @@
44
48
  "access": "public"
45
49
  },
46
50
  "dependencies": {
51
+ "@anthropic-ai/sdk": "^0.50.0",
47
52
  "@modelcontextprotocol/sdk": "^1.29.0",
53
+ "ajv": "^8.20.0",
48
54
  "openai": "^4.80.0"
49
55
  },
50
56
  "optionalDependencies": {
57
+ "chromadb": "^1.10.5",
51
58
  "tiktoken": "^1.0.22"
52
59
  },
53
60
  "devDependencies": {
54
61
  "@types/node": "^22.0.0",
55
- "typescript": "^5.7.0"
62
+ "typescript": "^5.7.0",
63
+ "vitepress": "^1.6.4",
64
+ "vitest": "^3.2.6"
56
65
  }
57
66
  }
@@ -1,21 +0,0 @@
1
- import { MessageData } from "../messages/types";
2
- import { CompressionStrategy, CompressionResult } from "./interface";
3
- import { CompressionConfig } from "./types";
4
- /**
5
- * Sliding window compression strategy.
6
- *
7
- * Preserves:
8
- * 1. The system message (if present and configured to keep it)
9
- * 2. The last N messages (most recent conversation turns)
10
- *
11
- * Everything in between is discarded.
12
- */
13
- export declare class SlidingWindowCompression implements CompressionStrategy {
14
- private config;
15
- /**
16
- * Default config: keep the last 20 messages, preserve system messages.
17
- */
18
- constructor(config?: Partial<CompressionConfig>);
19
- compress(messages: MessageData[], systemMessage?: MessageData): CompressionResult;
20
- }
21
- //# sourceMappingURL=sliding-window.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sliding-window.d.ts","sourceRoot":"","sources":["../../src/compression/sliding-window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,OAAO,CAAC,MAAM,CAAoB;IAElC;;OAEG;gBACS,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAQ/C,QAAQ,CACN,QAAQ,EAAE,WAAW,EAAE,EACvB,aAAa,CAAC,EAAE,WAAW,GAC1B,iBAAiB;CAqBrB"}