@strands-agents/sdk 0.4.0 → 0.6.0

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 (306) hide show
  1. package/dist/src/__fixtures__/agent-helpers.d.ts +10 -1
  2. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  3. package/dist/src/__fixtures__/agent-helpers.js +13 -2
  4. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  5. package/dist/src/__fixtures__/metrics-helpers.d.ts +25 -0
  6. package/dist/src/__fixtures__/metrics-helpers.d.ts.map +1 -0
  7. package/dist/src/__fixtures__/metrics-helpers.js +34 -0
  8. package/dist/src/__fixtures__/metrics-helpers.js.map +1 -0
  9. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
  10. package/dist/src/__fixtures__/mock-message-model.js +12 -0
  11. package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
  12. package/dist/src/__fixtures__/mock-span.d.ts +78 -0
  13. package/dist/src/__fixtures__/mock-span.d.ts.map +1 -0
  14. package/dist/src/__fixtures__/mock-span.js +93 -0
  15. package/dist/src/__fixtures__/mock-span.js.map +1 -0
  16. package/dist/src/__fixtures__/mock-storage-provider.d.ts +5 -0
  17. package/dist/src/__fixtures__/mock-storage-provider.d.ts.map +1 -1
  18. package/dist/src/__fixtures__/mock-storage-provider.js +23 -6
  19. package/dist/src/__fixtures__/mock-storage-provider.js.map +1 -1
  20. package/dist/src/__fixtures__/slim-types.d.ts +2 -1
  21. package/dist/src/__fixtures__/slim-types.d.ts.map +1 -1
  22. package/dist/src/__fixtures__/tool-helpers.d.ts +2 -2
  23. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  24. package/dist/src/__fixtures__/tool-helpers.js +4 -4
  25. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  26. package/dist/src/__tests__/app-state.test.d.ts +2 -0
  27. package/dist/src/__tests__/app-state.test.d.ts.map +1 -0
  28. package/dist/src/{agent/__tests__/state.test.js → __tests__/app-state.test.js} +46 -46
  29. package/dist/src/__tests__/app-state.test.js.map +1 -0
  30. package/dist/src/__tests__/mcp.test.js +129 -18
  31. package/dist/src/__tests__/mcp.test.js.map +1 -1
  32. package/dist/src/agent/__tests__/agent.test.js +119 -11
  33. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  34. package/dist/src/agent/__tests__/agent.tracer.test.d.ts +2 -0
  35. package/dist/src/agent/__tests__/agent.tracer.test.d.ts.map +1 -0
  36. package/dist/src/agent/__tests__/agent.tracer.test.js +470 -0
  37. package/dist/src/agent/__tests__/agent.tracer.test.js.map +1 -0
  38. package/dist/src/agent/agent.d.ts +79 -9
  39. package/dist/src/agent/agent.d.ts.map +1 -1
  40. package/dist/src/agent/agent.js +253 -68
  41. package/dist/src/agent/agent.js.map +1 -1
  42. package/dist/src/{agent/state.d.ts → app-state.d.ts} +7 -7
  43. package/dist/src/app-state.d.ts.map +1 -0
  44. package/dist/src/{agent/state.js → app-state.js} +6 -6
  45. package/dist/src/app-state.js.map +1 -0
  46. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +1 -1
  47. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +1 -1
  48. package/dist/src/errors.d.ts +6 -0
  49. package/dist/src/errors.d.ts.map +1 -1
  50. package/dist/src/errors.js +9 -0
  51. package/dist/src/errors.js.map +1 -1
  52. package/dist/src/hooks/__tests__/events.test.js +2 -0
  53. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  54. package/dist/src/hooks/events.d.ts +16 -0
  55. package/dist/src/hooks/events.d.ts.map +1 -1
  56. package/dist/src/hooks/events.js.map +1 -1
  57. package/dist/src/hooks/index.d.ts +1 -1
  58. package/dist/src/hooks/index.d.ts.map +1 -1
  59. package/dist/src/index.d.ts +23 -7
  60. package/dist/src/index.d.ts.map +1 -1
  61. package/dist/src/index.js +19 -2
  62. package/dist/src/index.js.map +1 -1
  63. package/dist/src/mcp.d.ts +41 -0
  64. package/dist/src/mcp.d.ts.map +1 -1
  65. package/dist/src/mcp.js +60 -6
  66. package/dist/src/mcp.js.map +1 -1
  67. package/dist/src/models/__tests__/bedrock.test.js +688 -0
  68. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  69. package/dist/src/models/__tests__/model.test.js +113 -0
  70. package/dist/src/models/__tests__/model.test.js.map +1 -1
  71. package/dist/src/models/__tests__/streaming.test.d.ts +2 -0
  72. package/dist/src/models/__tests__/streaming.test.d.ts.map +1 -0
  73. package/dist/src/models/__tests__/streaming.test.js +50 -0
  74. package/dist/src/models/__tests__/streaming.test.js.map +1 -0
  75. package/dist/src/models/bedrock.d.ts +80 -1
  76. package/dist/src/models/bedrock.d.ts.map +1 -1
  77. package/dist/src/models/bedrock.js +214 -5
  78. package/dist/src/models/bedrock.js.map +1 -1
  79. package/dist/src/models/model.d.ts +10 -0
  80. package/dist/src/models/model.d.ts.map +1 -1
  81. package/dist/src/models/model.js +58 -2
  82. package/dist/src/models/model.js.map +1 -1
  83. package/dist/src/models/streaming.d.ts +84 -3
  84. package/dist/src/models/streaming.d.ts.map +1 -1
  85. package/dist/src/models/streaming.js +26 -0
  86. package/dist/src/models/streaming.js.map +1 -1
  87. package/dist/src/multiagent/__tests__/events.test.d.ts +2 -0
  88. package/dist/src/multiagent/__tests__/events.test.d.ts.map +1 -0
  89. package/dist/src/multiagent/__tests__/events.test.js +205 -0
  90. package/dist/src/multiagent/__tests__/events.test.js.map +1 -0
  91. package/dist/src/multiagent/__tests__/graph.test.d.ts +2 -0
  92. package/dist/src/multiagent/__tests__/graph.test.d.ts.map +1 -0
  93. package/dist/src/multiagent/__tests__/graph.test.js +438 -0
  94. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -0
  95. package/dist/src/multiagent/__tests__/nodes.test.js +105 -9
  96. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  97. package/dist/src/multiagent/__tests__/queue.test.d.ts +2 -0
  98. package/dist/src/multiagent/__tests__/queue.test.d.ts.map +1 -0
  99. package/dist/src/multiagent/__tests__/queue.test.js +118 -0
  100. package/dist/src/multiagent/__tests__/queue.test.js.map +1 -0
  101. package/dist/src/multiagent/__tests__/swarm.test.d.ts +2 -0
  102. package/dist/src/multiagent/__tests__/swarm.test.d.ts.map +1 -0
  103. package/dist/src/multiagent/__tests__/swarm.test.js +241 -0
  104. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -0
  105. package/dist/src/multiagent/base.d.ts +25 -0
  106. package/dist/src/multiagent/base.d.ts.map +1 -0
  107. package/dist/src/multiagent/base.js +2 -0
  108. package/dist/src/multiagent/base.js.map +1 -0
  109. package/dist/src/multiagent/edge.d.ts +36 -0
  110. package/dist/src/multiagent/edge.d.ts.map +1 -0
  111. package/dist/src/multiagent/edge.js +15 -0
  112. package/dist/src/multiagent/edge.js.map +1 -0
  113. package/dist/src/multiagent/events.d.ts +129 -4
  114. package/dist/src/multiagent/events.d.ts.map +1 -1
  115. package/dist/src/multiagent/events.js +140 -2
  116. package/dist/src/multiagent/events.js.map +1 -1
  117. package/dist/src/multiagent/graph.d.ts +125 -0
  118. package/dist/src/multiagent/graph.d.ts.map +1 -0
  119. package/dist/src/multiagent/graph.js +394 -0
  120. package/dist/src/multiagent/graph.js.map +1 -0
  121. package/dist/src/multiagent/index.d.ts +12 -6
  122. package/dist/src/multiagent/index.d.ts.map +1 -1
  123. package/dist/src/multiagent/index.js +6 -3
  124. package/dist/src/multiagent/index.js.map +1 -1
  125. package/dist/src/multiagent/nodes.d.ts +66 -16
  126. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  127. package/dist/src/multiagent/nodes.js +82 -24
  128. package/dist/src/multiagent/nodes.js.map +1 -1
  129. package/dist/src/multiagent/queue.d.ts +73 -0
  130. package/dist/src/multiagent/queue.d.ts.map +1 -0
  131. package/dist/src/multiagent/queue.js +72 -0
  132. package/dist/src/multiagent/queue.js.map +1 -0
  133. package/dist/src/multiagent/state.d.ts +79 -10
  134. package/dist/src/multiagent/state.d.ts.map +1 -1
  135. package/dist/src/multiagent/state.js +101 -9
  136. package/dist/src/multiagent/state.js.map +1 -1
  137. package/dist/src/multiagent/swarm.d.ts +102 -0
  138. package/dist/src/multiagent/swarm.d.ts.map +1 -0
  139. package/dist/src/multiagent/swarm.js +238 -0
  140. package/dist/src/multiagent/swarm.js.map +1 -0
  141. package/dist/src/registry/__tests__/tool-registry.test.d.ts +2 -0
  142. package/dist/src/registry/__tests__/tool-registry.test.d.ts.map +1 -0
  143. package/dist/src/registry/__tests__/tool-registry.test.js +124 -0
  144. package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -0
  145. package/dist/src/registry/tool-registry.d.ts +32 -20
  146. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  147. package/dist/src/registry/tool-registry.js +60 -158
  148. package/dist/src/registry/tool-registry.js.map +1 -1
  149. package/dist/src/session/__tests__/file-storage.test.node.js +75 -15
  150. package/dist/src/session/__tests__/file-storage.test.node.js.map +1 -1
  151. package/dist/src/session/__tests__/s3-storage.test.d.ts +2 -0
  152. package/dist/src/session/__tests__/s3-storage.test.d.ts.map +1 -0
  153. package/dist/src/session/__tests__/{s3-storage.test.node.js → s3-storage.test.js} +161 -75
  154. package/dist/src/session/__tests__/s3-storage.test.js.map +1 -0
  155. package/dist/src/session/__tests__/session-manager.test.d.ts +2 -0
  156. package/dist/src/session/__tests__/session-manager.test.d.ts.map +1 -0
  157. package/dist/src/session/__tests__/session-manager.test.js +461 -0
  158. package/dist/src/session/__tests__/session-manager.test.js.map +1 -0
  159. package/dist/src/session/__tests__/validation.test.js +28 -1
  160. package/dist/src/session/__tests__/validation.test.js.map +1 -1
  161. package/dist/src/session/file-storage.d.ts +53 -27
  162. package/dist/src/session/file-storage.d.ts.map +1 -1
  163. package/dist/src/session/file-storage.js +103 -52
  164. package/dist/src/session/file-storage.js.map +1 -1
  165. package/dist/src/session/index.d.ts +6 -13
  166. package/dist/src/session/index.d.ts.map +1 -1
  167. package/dist/src/session/index.js +4 -12
  168. package/dist/src/session/index.js.map +1 -1
  169. package/dist/src/session/s3-storage.d.ts +49 -20
  170. package/dist/src/session/s3-storage.d.ts.map +1 -1
  171. package/dist/src/session/s3-storage.js +120 -35
  172. package/dist/src/session/s3-storage.js.map +1 -1
  173. package/dist/src/session/session-manager.d.ts +83 -0
  174. package/dist/src/session/session-manager.d.ts.map +1 -0
  175. package/dist/src/session/session-manager.js +122 -0
  176. package/dist/src/session/session-manager.js.map +1 -0
  177. package/dist/src/session/storage.d.ts +19 -11
  178. package/dist/src/session/storage.d.ts.map +1 -1
  179. package/dist/src/session/types.d.ts +6 -18
  180. package/dist/src/session/types.d.ts.map +1 -1
  181. package/dist/src/session/validation.d.ts +7 -0
  182. package/dist/src/session/validation.d.ts.map +1 -1
  183. package/dist/src/session/validation.js +12 -0
  184. package/dist/src/session/validation.js.map +1 -1
  185. package/dist/src/structured-output/__tests__/context.test.js +13 -13
  186. package/dist/src/structured-output/__tests__/context.test.js.map +1 -1
  187. package/dist/src/structured-output/context.js +1 -1
  188. package/dist/src/structured-output/context.js.map +1 -1
  189. package/dist/src/telemetry/__tests__/config.test.d.ts +2 -0
  190. package/dist/src/telemetry/__tests__/config.test.d.ts.map +1 -0
  191. package/dist/src/telemetry/__tests__/config.test.js +40 -0
  192. package/dist/src/telemetry/__tests__/config.test.js.map +1 -0
  193. package/dist/src/telemetry/__tests__/config.test.node.d.ts +2 -0
  194. package/dist/src/telemetry/__tests__/config.test.node.d.ts.map +1 -0
  195. package/dist/src/telemetry/__tests__/config.test.node.js +103 -0
  196. package/dist/src/telemetry/__tests__/config.test.node.js.map +1 -0
  197. package/dist/src/telemetry/__tests__/json.test.d.ts +2 -0
  198. package/dist/src/telemetry/__tests__/json.test.d.ts.map +1 -0
  199. package/dist/src/telemetry/__tests__/json.test.js +89 -0
  200. package/dist/src/telemetry/__tests__/json.test.js.map +1 -0
  201. package/dist/src/telemetry/__tests__/meter.test.d.ts +2 -0
  202. package/dist/src/telemetry/__tests__/meter.test.d.ts.map +1 -0
  203. package/dist/src/telemetry/__tests__/meter.test.js +457 -0
  204. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -0
  205. package/dist/src/telemetry/__tests__/tracer.test.node.d.ts +2 -0
  206. package/dist/src/telemetry/__tests__/tracer.test.node.d.ts.map +1 -0
  207. package/dist/src/telemetry/__tests__/tracer.test.node.js +611 -0
  208. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -0
  209. package/dist/src/telemetry/config.d.ts +82 -0
  210. package/dist/src/telemetry/config.d.ts.map +1 -0
  211. package/dist/src/telemetry/config.js +133 -0
  212. package/dist/src/telemetry/config.js.map +1 -0
  213. package/dist/src/telemetry/index.d.ts +34 -0
  214. package/dist/src/telemetry/index.d.ts.map +1 -0
  215. package/dist/src/telemetry/index.js +33 -0
  216. package/dist/src/telemetry/index.js.map +1 -0
  217. package/dist/src/telemetry/json.d.ts +11 -0
  218. package/dist/src/telemetry/json.d.ts.map +1 -0
  219. package/dist/src/telemetry/json.js +25 -0
  220. package/dist/src/telemetry/json.js.map +1 -0
  221. package/dist/src/telemetry/meter.d.ts +277 -0
  222. package/dist/src/telemetry/meter.d.ts.map +1 -0
  223. package/dist/src/telemetry/meter.js +292 -0
  224. package/dist/src/telemetry/meter.js.map +1 -0
  225. package/dist/src/telemetry/tracer.d.ts +219 -0
  226. package/dist/src/telemetry/tracer.d.ts.map +1 -0
  227. package/dist/src/telemetry/tracer.js +610 -0
  228. package/dist/src/telemetry/tracer.js.map +1 -0
  229. package/dist/src/telemetry/types.d.ts +101 -0
  230. package/dist/src/telemetry/types.d.ts.map +1 -0
  231. package/dist/src/telemetry/types.js +5 -0
  232. package/dist/src/{multiagent → telemetry}/types.js.map +1 -1
  233. package/dist/src/tools/__tests__/tool-factory.test.d.ts +2 -0
  234. package/dist/src/tools/__tests__/tool-factory.test.d.ts.map +1 -0
  235. package/dist/src/tools/__tests__/tool-factory.test.js +98 -0
  236. package/dist/src/tools/__tests__/tool-factory.test.js.map +1 -0
  237. package/dist/src/tools/__tests__/zod-tool.test-d.js +1 -1
  238. package/dist/src/tools/__tests__/zod-tool.test-d.js.map +1 -1
  239. package/dist/src/tools/__tests__/zod-tool.test.js +3 -4
  240. package/dist/src/tools/__tests__/zod-tool.test.js.map +1 -1
  241. package/dist/src/tools/function-tool.d.ts +15 -2
  242. package/dist/src/tools/function-tool.d.ts.map +1 -1
  243. package/dist/src/tools/function-tool.js +24 -0
  244. package/dist/src/tools/function-tool.js.map +1 -1
  245. package/dist/src/tools/tool-factory.d.ts +22 -0
  246. package/dist/src/tools/tool-factory.d.ts.map +1 -0
  247. package/dist/src/tools/tool-factory.js +55 -0
  248. package/dist/src/tools/tool-factory.js.map +1 -0
  249. package/dist/src/tools/tool.d.ts +1 -1
  250. package/dist/src/tools/tool.js +1 -1
  251. package/dist/src/tools/zod-tool.d.ts +55 -52
  252. package/dist/src/tools/zod-tool.d.ts.map +1 -1
  253. package/dist/src/tools/zod-tool.js +7 -61
  254. package/dist/src/tools/zod-tool.js.map +1 -1
  255. package/dist/src/tsconfig.tsbuildinfo +1 -1
  256. package/dist/src/types/__tests__/agent.test.js +11 -0
  257. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  258. package/dist/src/types/__tests__/citations.test.d.ts +2 -0
  259. package/dist/src/types/__tests__/citations.test.d.ts.map +1 -0
  260. package/dist/src/types/__tests__/citations.test.js +104 -0
  261. package/dist/src/types/__tests__/citations.test.js.map +1 -0
  262. package/dist/src/types/__tests__/messages.test.js +26 -0
  263. package/dist/src/types/__tests__/messages.test.js.map +1 -1
  264. package/dist/src/types/agent.d.ts +10 -3
  265. package/dist/src/types/agent.d.ts.map +1 -1
  266. package/dist/src/types/agent.js +9 -0
  267. package/dist/src/types/agent.js.map +1 -1
  268. package/dist/src/types/citations.d.ts +180 -0
  269. package/dist/src/types/citations.d.ts.map +1 -0
  270. package/dist/src/types/citations.js +45 -0
  271. package/dist/src/types/citations.js.map +1 -0
  272. package/dist/src/types/messages.d.ts +9 -5
  273. package/dist/src/types/messages.d.ts.map +1 -1
  274. package/dist/src/types/messages.js +5 -1
  275. package/dist/src/types/messages.js.map +1 -1
  276. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +2 -2
  277. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  278. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  279. package/dist/src/vended-tools/bash/bash.js +1 -2
  280. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  281. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js +4 -4
  282. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +1 -1
  283. package/dist/src/vended-tools/file_editor/file-editor.js +1 -1
  284. package/dist/src/vended-tools/file_editor/file-editor.js.map +1 -1
  285. package/dist/src/vended-tools/http_request/http-request.d.ts.map +1 -1
  286. package/dist/src/vended-tools/http_request/http-request.js +1 -2
  287. package/dist/src/vended-tools/http_request/http-request.js.map +1 -1
  288. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +2 -2
  289. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  290. package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
  291. package/package.json +25 -4
  292. package/dist/src/agent/__tests__/state.test.d.ts +0 -2
  293. package/dist/src/agent/__tests__/state.test.d.ts.map +0 -1
  294. package/dist/src/agent/__tests__/state.test.js.map +0 -1
  295. package/dist/src/agent/state.d.ts.map +0 -1
  296. package/dist/src/agent/state.js.map +0 -1
  297. package/dist/src/multiagent/types.d.ts +0 -5
  298. package/dist/src/multiagent/types.d.ts.map +0 -1
  299. package/dist/src/multiagent/types.js +0 -2
  300. package/dist/src/registry/registry.d.ts +0 -117
  301. package/dist/src/registry/registry.d.ts.map +0 -1
  302. package/dist/src/registry/registry.js +0 -298
  303. package/dist/src/registry/registry.js.map +0 -1
  304. package/dist/src/session/__tests__/s3-storage.test.node.d.ts +0 -2
  305. package/dist/src/session/__tests__/s3-storage.test.node.d.ts.map +0 -1
  306. package/dist/src/session/__tests__/s3-storage.test.node.js.map +0 -1
@@ -0,0 +1,277 @@
1
+ /**
2
+ * Agent loop metrics tracking.
3
+ *
4
+ * The {@link Meter} accumulates local metrics during agent invocation and
5
+ * provides them as a read-only {@link AgentMetrics} snapshot via the
6
+ * {@link Meter.metrics} getter for inclusion in {@link AgentResult}.
7
+ */
8
+ import type { Usage, Metrics, ModelMetadataEventData } from '../models/streaming.js';
9
+ import type { ToolUse } from '../tools/types.js';
10
+ import type { JSONSerializable } from '../types/json.js';
11
+ /**
12
+ * Per-tool execution metrics.
13
+ */
14
+ export interface ToolMetricsData {
15
+ /**
16
+ * Total number of calls to this tool.
17
+ */
18
+ callCount: number;
19
+ /**
20
+ * Number of successful calls.
21
+ */
22
+ successCount: number;
23
+ /**
24
+ * Number of failed calls.
25
+ */
26
+ errorCount: number;
27
+ /**
28
+ * Total execution time in milliseconds.
29
+ */
30
+ totalTime: number;
31
+ }
32
+ /**
33
+ * Per-cycle usage tracking.
34
+ */
35
+ export interface AgentLoopMetricsData {
36
+ /**
37
+ * Unique identifier for this cycle.
38
+ */
39
+ cycleId: string;
40
+ /**
41
+ * Duration of this cycle in milliseconds.
42
+ */
43
+ duration: number;
44
+ /**
45
+ * Token usage for this cycle.
46
+ */
47
+ usage: Usage;
48
+ }
49
+ /**
50
+ * Per-invocation metrics tracking.
51
+ */
52
+ export interface InvocationMetricsData {
53
+ /**
54
+ * Cycle metrics for this invocation.
55
+ */
56
+ cycles: AgentLoopMetricsData[];
57
+ /**
58
+ * Accumulated token usage for this invocation.
59
+ */
60
+ usage: Usage;
61
+ }
62
+ /**
63
+ * JSON-serializable representation of AgentMetrics.
64
+ */
65
+ export interface AgentMetricsData {
66
+ /**
67
+ * Number of agent loop cycles executed.
68
+ */
69
+ cycleCount: number;
70
+ /**
71
+ * Accumulated token usage across all model invocations.
72
+ */
73
+ accumulatedUsage: Usage;
74
+ /**
75
+ * Accumulated performance metrics across all model invocations.
76
+ */
77
+ accumulatedMetrics: Metrics;
78
+ /**
79
+ * Per-invocation metrics.
80
+ */
81
+ agentInvocations: InvocationMetricsData[];
82
+ /**
83
+ * Per-tool execution metrics keyed by tool name.
84
+ */
85
+ toolMetrics: Record<string, ToolMetricsData>;
86
+ }
87
+ /**
88
+ * Options for recording tool usage.
89
+ */
90
+ interface ToolUsageOptions {
91
+ /**
92
+ * The tool that was used.
93
+ */
94
+ tool: ToolUse;
95
+ /**
96
+ * Execution duration in milliseconds.
97
+ */
98
+ duration: number;
99
+ /**
100
+ * Whether the tool call succeeded.
101
+ */
102
+ success: boolean;
103
+ }
104
+ /**
105
+ * Read-only snapshot of aggregated agent metrics.
106
+ *
107
+ * Returned by {@link Meter.metrics} and stored on {@link AgentResult}.
108
+ * Provides access to cycle counts, tool usage, token consumption,
109
+ * and per-invocation breakdowns. Supports serialization via {@link toJSON}.
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * const result = await agent.invoke('Hello')
114
+ * console.log(result.metrics.cycleCount)
115
+ * console.log(result.metrics.totalDuration)
116
+ * console.log(result.metrics.accumulatedData)
117
+ * console.log(result.metrics.toolMetrics)
118
+ * console.log(JSON.stringify(result.metrics))
119
+ * ```
120
+ */
121
+ export declare class AgentMetrics implements JSONSerializable<AgentMetricsData> {
122
+ /**
123
+ * Number of agent loop cycles executed.
124
+ */
125
+ readonly cycleCount: number;
126
+ /**
127
+ * Accumulated token usage across all model invocations.
128
+ */
129
+ readonly accumulatedUsage: Usage;
130
+ /**
131
+ * Accumulated performance metrics across all model invocations.
132
+ */
133
+ readonly accumulatedMetrics: Metrics;
134
+ /**
135
+ * Per-invocation metrics.
136
+ */
137
+ readonly agentInvocations: InvocationMetricsData[];
138
+ /**
139
+ * Per-tool execution metrics keyed by tool name.
140
+ */
141
+ readonly toolMetrics: Record<string, ToolMetricsData>;
142
+ constructor(data?: Partial<AgentMetricsData>);
143
+ /**
144
+ * The most recent agent invocation, or undefined if none exist.
145
+ */
146
+ get latestAgentInvocation(): InvocationMetricsData | undefined;
147
+ /**
148
+ * Accumulated usage and performance metrics across all model invocations.
149
+ */
150
+ get accumulatedData(): {
151
+ usage: Usage;
152
+ metrics: Metrics;
153
+ };
154
+ /**
155
+ * Total duration of all cycles in milliseconds.
156
+ */
157
+ get totalDuration(): number;
158
+ /**
159
+ * Average cycle duration in milliseconds, or 0 if no cycles exist.
160
+ */
161
+ get averageCycleTime(): number;
162
+ /**
163
+ * Per-tool execution statistics with computed averages and rates.
164
+ */
165
+ get toolUsage(): Record<string, ToolMetricsData & {
166
+ averageTime: number;
167
+ successRate: number;
168
+ }>;
169
+ /**
170
+ * Returns a JSON-serializable representation of all collected metrics.
171
+ * Called automatically by JSON.stringify().
172
+ *
173
+ * @returns A plain object suitable for round-trip serialization
174
+ */
175
+ toJSON(): AgentMetricsData;
176
+ }
177
+ /**
178
+ * Accumulates local metrics during agent invocation.
179
+ *
180
+ * Tracks cycle counts, token usage, tool execution stats, and model latency.
181
+ * Use the {@link metrics} getter to obtain a read-only {@link AgentMetrics}
182
+ * snapshot for inclusion in {@link AgentResult}.
183
+ *
184
+ */
185
+ export declare class Meter {
186
+ /**
187
+ * Number of agent loop cycles executed.
188
+ */
189
+ private _cycleCount;
190
+ /**
191
+ * Accumulated token usage across all model invocations.
192
+ */
193
+ private readonly _accumulatedUsage;
194
+ /**
195
+ * Accumulated performance metrics across all model invocations.
196
+ */
197
+ private readonly _accumulatedMetrics;
198
+ /**
199
+ * Per-invocation metrics.
200
+ */
201
+ private readonly _agentInvocations;
202
+ /**
203
+ * Per-tool execution metrics keyed by tool name.
204
+ */
205
+ private readonly _toolMetrics;
206
+ /**
207
+ * Begin tracking a new agent invocation.
208
+ * Creates a new InvocationMetricsData entry for per-invocation metrics.
209
+ */
210
+ startNewInvocation(): void;
211
+ /**
212
+ * Start a new agent loop cycle.
213
+ *
214
+ * @returns The cycle id and start time
215
+ */
216
+ startCycle(): {
217
+ cycleId: string;
218
+ startTime: number;
219
+ };
220
+ /**
221
+ * End the current agent loop cycle and record its duration.
222
+ *
223
+ * @param startTime - The timestamp when the cycle started (milliseconds since epoch)
224
+ */
225
+ endCycle(startTime: number): void;
226
+ /**
227
+ * Record metrics for a completed tool invocation.
228
+ *
229
+ * @param options - Tool usage recording options
230
+ */
231
+ endToolCall(options: ToolUsageOptions): void;
232
+ /**
233
+ * Update loop-level metrics from a model response.
234
+ *
235
+ * Call this after each model invocation within a cycle to
236
+ * accumulate usage and latency.
237
+ *
238
+ * @param metadata - The metadata event from a model invocation, or undefined if unavailable
239
+ */
240
+ updateCycle(metadata?: ModelMetadataEventData): void;
241
+ /**
242
+ * Read-only snapshot of the accumulated metrics.
243
+ * Returns an AgentMetrics instance suitable for inclusion in AgentResult.
244
+ */
245
+ get metrics(): AgentMetrics;
246
+ /**
247
+ * The most recent agent invocation, or undefined if none exist.
248
+ */
249
+ private get _latestAgentInvocation();
250
+ /**
251
+ * Update accumulated usage and metrics from a model metadata event.
252
+ *
253
+ * @param metadata - The metadata event from a model invocation
254
+ */
255
+ private _updateFromMetadata;
256
+ /**
257
+ * Update the accumulated token usage with new usage data.
258
+ *
259
+ * @param usage - The usage data to accumulate
260
+ */
261
+ private _updateUsage;
262
+ /**
263
+ * Creates an empty Usage object with all counters set to zero.
264
+ *
265
+ * @returns A Usage object with zeroed counters
266
+ */
267
+ private static _createEmptyUsage;
268
+ /**
269
+ * Accumulates token usage from a source into a target Usage object.
270
+ *
271
+ * @param target - The Usage object to accumulate into (mutated in place)
272
+ * @param source - The Usage object to accumulate from
273
+ */
274
+ private static _accumulateUsage;
275
+ }
276
+ export {};
277
+ //# sourceMappingURL=meter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meter.d.ts","sourceRoot":"","sources":["../../../src/telemetry/meter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,292 @@
1
+ /**
2
+ * Agent loop metrics tracking.
3
+ *
4
+ * The {@link Meter} accumulates local metrics during agent invocation and
5
+ * provides them as a read-only {@link AgentMetrics} snapshot via the
6
+ * {@link Meter.metrics} getter for inclusion in {@link AgentResult}.
7
+ */
8
+ /**
9
+ * Read-only snapshot of aggregated agent metrics.
10
+ *
11
+ * Returned by {@link Meter.metrics} and stored on {@link AgentResult}.
12
+ * Provides access to cycle counts, tool usage, token consumption,
13
+ * and per-invocation breakdowns. Supports serialization via {@link toJSON}.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const result = await agent.invoke('Hello')
18
+ * console.log(result.metrics.cycleCount)
19
+ * console.log(result.metrics.totalDuration)
20
+ * console.log(result.metrics.accumulatedData)
21
+ * console.log(result.metrics.toolMetrics)
22
+ * console.log(JSON.stringify(result.metrics))
23
+ * ```
24
+ */
25
+ export class AgentMetrics {
26
+ /**
27
+ * Number of agent loop cycles executed.
28
+ */
29
+ cycleCount;
30
+ /**
31
+ * Accumulated token usage across all model invocations.
32
+ */
33
+ accumulatedUsage;
34
+ /**
35
+ * Accumulated performance metrics across all model invocations.
36
+ */
37
+ accumulatedMetrics;
38
+ /**
39
+ * Per-invocation metrics.
40
+ */
41
+ agentInvocations;
42
+ /**
43
+ * Per-tool execution metrics keyed by tool name.
44
+ */
45
+ toolMetrics;
46
+ constructor(data) {
47
+ this.cycleCount = data?.cycleCount ?? 0;
48
+ this.accumulatedUsage = data?.accumulatedUsage ?? { inputTokens: 0, outputTokens: 0, totalTokens: 0 };
49
+ this.accumulatedMetrics = data?.accumulatedMetrics ?? { latencyMs: 0 };
50
+ this.agentInvocations = data?.agentInvocations ?? [];
51
+ this.toolMetrics = data?.toolMetrics ?? {};
52
+ }
53
+ /**
54
+ * The most recent agent invocation, or undefined if none exist.
55
+ */
56
+ get latestAgentInvocation() {
57
+ return this.agentInvocations.length > 0 ? this.agentInvocations[this.agentInvocations.length - 1] : undefined;
58
+ }
59
+ /**
60
+ * Accumulated usage and performance metrics across all model invocations.
61
+ */
62
+ get accumulatedData() {
63
+ return { usage: this.accumulatedUsage, metrics: this.accumulatedMetrics };
64
+ }
65
+ /**
66
+ * Total duration of all cycles in milliseconds.
67
+ */
68
+ get totalDuration() {
69
+ return this.agentInvocations.flatMap((inv) => inv.cycles.map((c) => c.duration)).reduce((sum, d) => sum + d, 0);
70
+ }
71
+ /**
72
+ * Average cycle duration in milliseconds, or 0 if no cycles exist.
73
+ */
74
+ get averageCycleTime() {
75
+ const durations = this.agentInvocations.flatMap((inv) => inv.cycles.map((c) => c.duration));
76
+ return durations.length > 0 ? durations.reduce((sum, d) => sum + d, 0) / durations.length : 0;
77
+ }
78
+ /**
79
+ * Per-tool execution statistics with computed averages and rates.
80
+ */
81
+ get toolUsage() {
82
+ const usage = {};
83
+ for (const [toolName, toolEntry] of Object.entries(this.toolMetrics)) {
84
+ usage[toolName] = {
85
+ ...toolEntry,
86
+ averageTime: toolEntry.callCount > 0 ? toolEntry.totalTime / toolEntry.callCount : 0,
87
+ successRate: toolEntry.callCount > 0 ? toolEntry.successCount / toolEntry.callCount : 0,
88
+ };
89
+ }
90
+ return usage;
91
+ }
92
+ /**
93
+ * Returns a JSON-serializable representation of all collected metrics.
94
+ * Called automatically by JSON.stringify().
95
+ *
96
+ * @returns A plain object suitable for round-trip serialization
97
+ */
98
+ toJSON() {
99
+ return {
100
+ cycleCount: this.cycleCount,
101
+ accumulatedUsage: this.accumulatedUsage,
102
+ accumulatedMetrics: this.accumulatedMetrics,
103
+ agentInvocations: this.agentInvocations,
104
+ toolMetrics: this.toolMetrics,
105
+ };
106
+ }
107
+ }
108
+ /**
109
+ * Accumulates local metrics during agent invocation.
110
+ *
111
+ * Tracks cycle counts, token usage, tool execution stats, and model latency.
112
+ * Use the {@link metrics} getter to obtain a read-only {@link AgentMetrics}
113
+ * snapshot for inclusion in {@link AgentResult}.
114
+ *
115
+ */
116
+ export class Meter {
117
+ /**
118
+ * Number of agent loop cycles executed.
119
+ */
120
+ _cycleCount = 0;
121
+ /**
122
+ * Accumulated token usage across all model invocations.
123
+ */
124
+ _accumulatedUsage = Meter._createEmptyUsage();
125
+ /**
126
+ * Accumulated performance metrics across all model invocations.
127
+ */
128
+ _accumulatedMetrics = { latencyMs: 0 };
129
+ /**
130
+ * Per-invocation metrics.
131
+ */
132
+ _agentInvocations = [];
133
+ /**
134
+ * Per-tool execution metrics keyed by tool name.
135
+ */
136
+ _toolMetrics = {};
137
+ /**
138
+ * Begin tracking a new agent invocation.
139
+ * Creates a new InvocationMetricsData entry for per-invocation metrics.
140
+ */
141
+ startNewInvocation() {
142
+ this._agentInvocations.push({
143
+ cycles: [],
144
+ usage: Meter._createEmptyUsage(),
145
+ });
146
+ }
147
+ /**
148
+ * Start a new agent loop cycle.
149
+ *
150
+ * @returns The cycle id and start time
151
+ */
152
+ startCycle() {
153
+ this._cycleCount++;
154
+ const cycleId = `cycle-${this._cycleCount}`;
155
+ const startTime = Date.now();
156
+ const latestInvocation = this._latestAgentInvocation;
157
+ if (latestInvocation) {
158
+ latestInvocation.cycles.push({
159
+ cycleId: cycleId,
160
+ duration: 0,
161
+ usage: Meter._createEmptyUsage(),
162
+ });
163
+ }
164
+ return { cycleId, startTime };
165
+ }
166
+ /**
167
+ * End the current agent loop cycle and record its duration.
168
+ *
169
+ * @param startTime - The timestamp when the cycle started (milliseconds since epoch)
170
+ */
171
+ endCycle(startTime) {
172
+ const latestInvocation = this._latestAgentInvocation;
173
+ if (latestInvocation) {
174
+ const cycles = latestInvocation.cycles;
175
+ if (cycles.length > 0) {
176
+ cycles[cycles.length - 1].duration = Date.now() - startTime;
177
+ }
178
+ }
179
+ }
180
+ /**
181
+ * Record metrics for a completed tool invocation.
182
+ *
183
+ * @param options - Tool usage recording options
184
+ */
185
+ endToolCall(options) {
186
+ const { tool, duration, success } = options;
187
+ const toolName = tool.name;
188
+ if (!this._toolMetrics[toolName]) {
189
+ this._toolMetrics[toolName] = { callCount: 0, successCount: 0, errorCount: 0, totalTime: 0 };
190
+ }
191
+ const toolEntry = this._toolMetrics[toolName];
192
+ toolEntry.callCount++;
193
+ toolEntry.totalTime += duration;
194
+ if (success) {
195
+ toolEntry.successCount++;
196
+ }
197
+ else {
198
+ toolEntry.errorCount++;
199
+ }
200
+ }
201
+ /**
202
+ * Update loop-level metrics from a model response.
203
+ *
204
+ * Call this after each model invocation within a cycle to
205
+ * accumulate usage and latency.
206
+ *
207
+ * @param metadata - The metadata event from a model invocation, or undefined if unavailable
208
+ */
209
+ updateCycle(metadata) {
210
+ if (metadata) {
211
+ this._updateFromMetadata(metadata);
212
+ }
213
+ }
214
+ /**
215
+ * Read-only snapshot of the accumulated metrics.
216
+ * Returns an AgentMetrics instance suitable for inclusion in AgentResult.
217
+ */
218
+ get metrics() {
219
+ return new AgentMetrics({
220
+ cycleCount: this._cycleCount,
221
+ accumulatedUsage: this._accumulatedUsage,
222
+ accumulatedMetrics: this._accumulatedMetrics,
223
+ agentInvocations: this._agentInvocations,
224
+ toolMetrics: this._toolMetrics,
225
+ });
226
+ }
227
+ /**
228
+ * The most recent agent invocation, or undefined if none exist.
229
+ */
230
+ get _latestAgentInvocation() {
231
+ return this._agentInvocations.length > 0 ? this._agentInvocations[this._agentInvocations.length - 1] : undefined;
232
+ }
233
+ /**
234
+ * Update accumulated usage and metrics from a model metadata event.
235
+ *
236
+ * @param metadata - The metadata event from a model invocation
237
+ */
238
+ _updateFromMetadata(metadata) {
239
+ if (metadata.usage) {
240
+ this._updateUsage(metadata.usage);
241
+ }
242
+ if (metadata.metrics) {
243
+ this._accumulatedMetrics.latencyMs += metadata.metrics.latencyMs;
244
+ }
245
+ }
246
+ /**
247
+ * Update the accumulated token usage with new usage data.
248
+ *
249
+ * @param usage - The usage data to accumulate
250
+ */
251
+ _updateUsage(usage) {
252
+ Meter._accumulateUsage(this._accumulatedUsage, usage);
253
+ const latestInvocation = this._latestAgentInvocation;
254
+ if (latestInvocation) {
255
+ Meter._accumulateUsage(latestInvocation.usage, usage);
256
+ const cycles = latestInvocation.cycles;
257
+ if (cycles.length > 0) {
258
+ Meter._accumulateUsage(cycles[cycles.length - 1].usage, usage);
259
+ }
260
+ }
261
+ }
262
+ /**
263
+ * Creates an empty Usage object with all counters set to zero.
264
+ *
265
+ * @returns A Usage object with zeroed counters
266
+ */
267
+ static _createEmptyUsage() {
268
+ return {
269
+ inputTokens: 0,
270
+ outputTokens: 0,
271
+ totalTokens: 0,
272
+ };
273
+ }
274
+ /**
275
+ * Accumulates token usage from a source into a target Usage object.
276
+ *
277
+ * @param target - The Usage object to accumulate into (mutated in place)
278
+ * @param source - The Usage object to accumulate from
279
+ */
280
+ static _accumulateUsage(target, source) {
281
+ target.inputTokens += source.inputTokens;
282
+ target.outputTokens += source.outputTokens;
283
+ target.totalTokens += source.totalTokens;
284
+ if (source.cacheReadInputTokens !== undefined) {
285
+ target.cacheReadInputTokens = (target.cacheReadInputTokens ?? 0) + source.cacheReadInputTokens;
286
+ }
287
+ if (source.cacheWriteInputTokens !== undefined) {
288
+ target.cacheWriteInputTokens = (target.cacheWriteInputTokens ?? 0) + source.cacheWriteInputTokens;
289
+ }
290
+ }
291
+ }
292
+ //# sourceMappingURL=meter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../../src/telemetry/meter.ts"],"names":[],"mappings":"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"}