@strands-agents/sdk 0.5.0 → 0.7.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 (486) hide show
  1. package/README.md +64 -0
  2. package/dist/src/__fixtures__/agent-helpers.d.ts +37 -4
  3. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  4. package/dist/src/__fixtures__/agent-helpers.js +31 -4
  5. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  6. package/dist/src/__fixtures__/metrics-helpers.d.ts +55 -0
  7. package/dist/src/__fixtures__/metrics-helpers.d.ts.map +1 -0
  8. package/dist/src/__fixtures__/metrics-helpers.js +57 -0
  9. package/dist/src/__fixtures__/metrics-helpers.js.map +1 -0
  10. package/dist/src/__fixtures__/mock-message-model.d.ts +8 -4
  11. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
  12. package/dist/src/__fixtures__/mock-message-model.js +25 -7
  13. package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
  14. package/dist/src/__fixtures__/mock-meter.d.ts +32 -0
  15. package/dist/src/__fixtures__/mock-meter.d.ts.map +1 -0
  16. package/dist/src/__fixtures__/mock-meter.js +47 -0
  17. package/dist/src/__fixtures__/mock-meter.js.map +1 -0
  18. package/dist/src/__fixtures__/mock-plugin.d.ts +13 -0
  19. package/dist/src/__fixtures__/mock-plugin.d.ts.map +1 -0
  20. package/dist/src/__fixtures__/{mock-hook-provider.js → mock-plugin.js} +8 -5
  21. package/dist/src/__fixtures__/mock-plugin.js.map +1 -0
  22. package/dist/src/__fixtures__/mock-storage-provider.d.ts +5 -0
  23. package/dist/src/__fixtures__/mock-storage-provider.d.ts.map +1 -1
  24. package/dist/src/__fixtures__/mock-storage-provider.js +23 -6
  25. package/dist/src/__fixtures__/mock-storage-provider.js.map +1 -1
  26. package/dist/src/__fixtures__/slim-types.d.ts +2 -1
  27. package/dist/src/__fixtures__/slim-types.d.ts.map +1 -1
  28. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  29. package/dist/src/__fixtures__/tool-helpers.js +5 -2
  30. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  31. package/dist/src/__tests__/index.test.js +21 -0
  32. package/dist/src/__tests__/index.test.js.map +1 -1
  33. package/dist/src/__tests__/mcp.test.js +45 -15
  34. package/dist/src/__tests__/mcp.test.js.map +1 -1
  35. package/dist/src/__tests__/mime.test.d.ts +2 -0
  36. package/dist/src/__tests__/mime.test.d.ts.map +1 -0
  37. package/dist/src/__tests__/mime.test.js +83 -0
  38. package/dist/src/__tests__/mime.test.js.map +1 -0
  39. package/dist/src/__tests__/state-store.test.d.ts +2 -0
  40. package/dist/src/__tests__/state-store.test.d.ts.map +1 -0
  41. package/dist/src/__tests__/{app-state.test.js → state-store.test.js} +86 -51
  42. package/dist/src/__tests__/state-store.test.js.map +1 -0
  43. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts +2 -0
  44. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts.map +1 -0
  45. package/dist/src/a2a/__tests__/a2a-agent.test.js +364 -0
  46. package/dist/src/a2a/__tests__/a2a-agent.test.js.map +1 -0
  47. package/dist/src/a2a/__tests__/adapters.test.d.ts +2 -0
  48. package/dist/src/a2a/__tests__/adapters.test.d.ts.map +1 -0
  49. package/dist/src/a2a/__tests__/adapters.test.js +151 -0
  50. package/dist/src/a2a/__tests__/adapters.test.js.map +1 -0
  51. package/dist/src/a2a/__tests__/executor.test.d.ts +2 -0
  52. package/dist/src/a2a/__tests__/executor.test.d.ts.map +1 -0
  53. package/dist/src/a2a/__tests__/executor.test.js +196 -0
  54. package/dist/src/a2a/__tests__/executor.test.js.map +1 -0
  55. package/dist/src/a2a/__tests__/server.test.d.ts +2 -0
  56. package/dist/src/a2a/__tests__/server.test.d.ts.map +1 -0
  57. package/dist/src/a2a/__tests__/server.test.js +51 -0
  58. package/dist/src/a2a/__tests__/server.test.js.map +1 -0
  59. package/dist/src/a2a/__tests__/server.test.node.d.ts +2 -0
  60. package/dist/src/a2a/__tests__/server.test.node.d.ts.map +1 -0
  61. package/dist/src/a2a/__tests__/server.test.node.js +110 -0
  62. package/dist/src/a2a/__tests__/server.test.node.js.map +1 -0
  63. package/dist/src/a2a/a2a-agent.d.ts +132 -0
  64. package/dist/src/a2a/a2a-agent.d.ts.map +1 -0
  65. package/dist/src/a2a/a2a-agent.js +255 -0
  66. package/dist/src/a2a/a2a-agent.js.map +1 -0
  67. package/dist/src/a2a/adapters.d.ts +27 -0
  68. package/dist/src/a2a/adapters.d.ts.map +1 -0
  69. package/dist/src/a2a/adapters.js +175 -0
  70. package/dist/src/a2a/adapters.js.map +1 -0
  71. package/dist/src/a2a/events.d.ts +42 -0
  72. package/dist/src/a2a/events.d.ts.map +1 -0
  73. package/dist/src/a2a/events.js +35 -0
  74. package/dist/src/a2a/events.js.map +1 -0
  75. package/dist/src/a2a/executor.d.ts +57 -0
  76. package/dist/src/a2a/executor.d.ts.map +1 -0
  77. package/dist/src/a2a/executor.js +130 -0
  78. package/dist/src/a2a/executor.js.map +1 -0
  79. package/dist/src/a2a/express-server.d.ts +67 -0
  80. package/dist/src/a2a/express-server.d.ts.map +1 -0
  81. package/dist/src/a2a/express-server.js +95 -0
  82. package/dist/src/a2a/express-server.js.map +1 -0
  83. package/dist/src/a2a/index.d.ts +16 -0
  84. package/dist/src/a2a/index.d.ts.map +1 -0
  85. package/dist/src/a2a/index.js +16 -0
  86. package/dist/src/a2a/index.js.map +1 -0
  87. package/dist/src/a2a/logging.d.ts +8 -0
  88. package/dist/src/a2a/logging.d.ts.map +1 -0
  89. package/dist/src/a2a/logging.js +15 -0
  90. package/dist/src/a2a/logging.js.map +1 -0
  91. package/dist/src/a2a/server.d.ts +67 -0
  92. package/dist/src/a2a/server.d.ts.map +1 -0
  93. package/dist/src/a2a/server.js +67 -0
  94. package/dist/src/a2a/server.js.map +1 -0
  95. package/dist/src/agent/__tests__/agent.hook.test.js +87 -51
  96. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  97. package/dist/src/agent/__tests__/agent.test.js +176 -101
  98. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  99. package/dist/src/agent/__tests__/agent.tracer.test.js +10 -10
  100. package/dist/src/agent/__tests__/agent.tracer.test.js.map +1 -1
  101. package/dist/src/agent/__tests__/snapshot.test.js +11 -11
  102. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  103. package/dist/src/agent/agent.d.ts +71 -58
  104. package/dist/src/agent/agent.d.ts.map +1 -1
  105. package/dist/src/agent/agent.js +177 -93
  106. package/dist/src/agent/agent.js.map +1 -1
  107. package/dist/src/agent/snapshot.d.ts.map +1 -1
  108. package/dist/src/agent/snapshot.js +3 -2
  109. package/dist/src/agent/snapshot.js.map +1 -1
  110. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts +2 -0
  111. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts.map +1 -0
  112. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +100 -0
  113. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -0
  114. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +26 -10
  115. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
  116. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +84 -21
  117. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  118. package/dist/src/conversation-manager/conversation-manager.d.ts +87 -0
  119. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -0
  120. package/dist/src/conversation-manager/conversation-manager.js +59 -0
  121. package/dist/src/conversation-manager/conversation-manager.js.map +1 -0
  122. package/dist/src/conversation-manager/index.d.ts +1 -0
  123. package/dist/src/conversation-manager/index.d.ts.map +1 -1
  124. package/dist/src/conversation-manager/index.js +1 -0
  125. package/dist/src/conversation-manager/index.js.map +1 -1
  126. package/dist/src/conversation-manager/null-conversation-manager.d.ts +12 -8
  127. package/dist/src/conversation-manager/null-conversation-manager.d.ts.map +1 -1
  128. package/dist/src/conversation-manager/null-conversation-manager.js +13 -7
  129. package/dist/src/conversation-manager/null-conversation-manager.js.map +1 -1
  130. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +28 -19
  131. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  132. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +44 -36
  133. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  134. package/dist/src/errors.d.ts +6 -0
  135. package/dist/src/errors.d.ts.map +1 -1
  136. package/dist/src/errors.js +9 -0
  137. package/dist/src/errors.js.map +1 -1
  138. package/dist/src/hooks/__tests__/events.test.js +2 -0
  139. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  140. package/dist/src/hooks/__tests__/registry.test.js +10 -154
  141. package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
  142. package/dist/src/hooks/events.d.ts +60 -44
  143. package/dist/src/hooks/events.d.ts.map +1 -1
  144. package/dist/src/hooks/events.js +11 -11
  145. package/dist/src/hooks/events.js.map +1 -1
  146. package/dist/src/hooks/index.d.ts +4 -4
  147. package/dist/src/hooks/index.d.ts.map +1 -1
  148. package/dist/src/hooks/index.js +2 -2
  149. package/dist/src/hooks/registry.d.ts +1 -32
  150. package/dist/src/hooks/registry.d.ts.map +1 -1
  151. package/dist/src/hooks/registry.js +1 -47
  152. package/dist/src/hooks/registry.js.map +1 -1
  153. package/dist/src/hooks/types.d.ts +0 -31
  154. package/dist/src/hooks/types.d.ts.map +1 -1
  155. package/dist/src/index.d.ts +30 -15
  156. package/dist/src/index.d.ts.map +1 -1
  157. package/dist/src/index.js +21 -8
  158. package/dist/src/index.js.map +1 -1
  159. package/dist/src/mcp.d.ts +38 -0
  160. package/dist/src/mcp.d.ts.map +1 -1
  161. package/dist/src/mcp.js +23 -6
  162. package/dist/src/mcp.js.map +1 -1
  163. package/dist/src/mime.d.ts +24 -0
  164. package/dist/src/mime.d.ts.map +1 -0
  165. package/dist/src/mime.js +82 -0
  166. package/dist/src/mime.js.map +1 -0
  167. package/dist/src/models/__tests__/anthropic.test.js +78 -1
  168. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  169. package/dist/src/models/__tests__/bedrock.test.js +2050 -131
  170. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  171. package/dist/src/models/__tests__/gemini.test.js +100 -1
  172. package/dist/src/models/__tests__/gemini.test.js.map +1 -1
  173. package/dist/src/models/__tests__/model.test.js +131 -0
  174. package/dist/src/models/__tests__/model.test.js.map +1 -1
  175. package/dist/src/models/__tests__/openai.test.js +184 -32
  176. package/dist/src/models/__tests__/openai.test.js.map +1 -1
  177. package/dist/src/models/__tests__/streaming.test.d.ts +2 -0
  178. package/dist/src/models/__tests__/streaming.test.d.ts.map +1 -0
  179. package/dist/src/models/__tests__/streaming.test.js +50 -0
  180. package/dist/src/models/__tests__/streaming.test.js.map +1 -0
  181. package/dist/src/models/anthropic.d.ts.map +1 -1
  182. package/dist/src/models/anthropic.js +6 -7
  183. package/dist/src/models/anthropic.js.map +1 -1
  184. package/dist/src/models/bedrock.d.ts +144 -11
  185. package/dist/src/models/bedrock.d.ts.map +1 -1
  186. package/dist/src/models/bedrock.js +416 -28
  187. package/dist/src/models/bedrock.js.map +1 -1
  188. package/dist/src/models/gemini/adapters.d.ts.map +1 -1
  189. package/dist/src/models/gemini/adapters.js +65 -14
  190. package/dist/src/models/gemini/adapters.js.map +1 -1
  191. package/dist/src/models/model.d.ts +18 -0
  192. package/dist/src/models/model.d.ts.map +1 -1
  193. package/dist/src/models/model.js +57 -11
  194. package/dist/src/models/model.js.map +1 -1
  195. package/dist/src/models/openai.d.ts +15 -0
  196. package/dist/src/models/openai.d.ts.map +1 -1
  197. package/dist/src/models/openai.js +108 -64
  198. package/dist/src/models/openai.js.map +1 -1
  199. package/dist/src/models/streaming.d.ts +88 -2
  200. package/dist/src/models/streaming.d.ts.map +1 -1
  201. package/dist/src/models/streaming.js +26 -0
  202. package/dist/src/models/streaming.js.map +1 -1
  203. package/dist/src/multiagent/__tests__/events.test.js +41 -8
  204. package/dist/src/multiagent/__tests__/events.test.js.map +1 -1
  205. package/dist/src/multiagent/__tests__/graph.test.d.ts +2 -0
  206. package/dist/src/multiagent/__tests__/graph.test.d.ts.map +1 -0
  207. package/dist/src/multiagent/__tests__/graph.test.js +453 -0
  208. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -0
  209. package/dist/src/multiagent/__tests__/nodes.test.js +34 -16
  210. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  211. package/dist/src/multiagent/__tests__/queue.test.js +22 -0
  212. package/dist/src/multiagent/__tests__/queue.test.js.map +1 -1
  213. package/dist/src/multiagent/__tests__/swarm.test.d.ts +2 -0
  214. package/dist/src/multiagent/__tests__/swarm.test.d.ts.map +1 -0
  215. package/dist/src/multiagent/__tests__/swarm.test.js +264 -0
  216. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -0
  217. package/dist/src/multiagent/edge.d.ts +9 -2
  218. package/dist/src/multiagent/edge.d.ts.map +1 -1
  219. package/dist/src/multiagent/events.d.ts +63 -15
  220. package/dist/src/multiagent/events.d.ts.map +1 -1
  221. package/dist/src/multiagent/events.js +28 -3
  222. package/dist/src/multiagent/events.js.map +1 -1
  223. package/dist/src/multiagent/graph.d.ts +135 -0
  224. package/dist/src/multiagent/graph.d.ts.map +1 -0
  225. package/dist/src/multiagent/graph.js +400 -0
  226. package/dist/src/multiagent/graph.js.map +1 -0
  227. package/dist/src/multiagent/index.d.ts +8 -3
  228. package/dist/src/multiagent/index.d.ts.map +1 -1
  229. package/dist/src/multiagent/index.js +3 -1
  230. package/dist/src/multiagent/index.js.map +1 -1
  231. package/dist/src/multiagent/multiagent.d.ts +41 -0
  232. package/dist/src/multiagent/multiagent.d.ts.map +1 -0
  233. package/dist/src/multiagent/multiagent.js +2 -0
  234. package/dist/src/multiagent/multiagent.js.map +1 -0
  235. package/dist/src/multiagent/nodes.d.ts +24 -25
  236. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  237. package/dist/src/multiagent/nodes.js +42 -15
  238. package/dist/src/multiagent/nodes.js.map +1 -1
  239. package/dist/src/multiagent/plugins.d.ts +70 -0
  240. package/dist/src/multiagent/plugins.d.ts.map +1 -0
  241. package/dist/src/multiagent/plugins.js +70 -0
  242. package/dist/src/multiagent/plugins.js.map +1 -0
  243. package/dist/src/multiagent/queue.d.ts +6 -0
  244. package/dist/src/multiagent/queue.d.ts.map +1 -1
  245. package/dist/src/multiagent/queue.js +13 -0
  246. package/dist/src/multiagent/queue.js.map +1 -1
  247. package/dist/src/multiagent/state.d.ts +4 -2
  248. package/dist/src/multiagent/state.d.ts.map +1 -1
  249. package/dist/src/multiagent/state.js +5 -2
  250. package/dist/src/multiagent/state.js.map +1 -1
  251. package/dist/src/multiagent/swarm.d.ts +112 -0
  252. package/dist/src/multiagent/swarm.d.ts.map +1 -0
  253. package/dist/src/multiagent/swarm.js +256 -0
  254. package/dist/src/multiagent/swarm.js.map +1 -0
  255. package/dist/src/plugins/__tests__/plugin.test.d.ts +2 -0
  256. package/dist/src/plugins/__tests__/plugin.test.d.ts.map +1 -0
  257. package/dist/src/plugins/__tests__/plugin.test.js +114 -0
  258. package/dist/src/plugins/__tests__/plugin.test.js.map +1 -0
  259. package/dist/src/plugins/__tests__/registry.test.d.ts +2 -0
  260. package/dist/src/plugins/__tests__/registry.test.d.ts.map +1 -0
  261. package/dist/src/plugins/__tests__/registry.test.js +147 -0
  262. package/dist/src/plugins/__tests__/registry.test.js.map +1 -0
  263. package/dist/src/plugins/index.d.ts +30 -0
  264. package/dist/src/plugins/index.d.ts.map +1 -0
  265. package/dist/src/plugins/index.js +30 -0
  266. package/dist/src/plugins/index.js.map +1 -0
  267. package/dist/src/plugins/plugin.d.ts +74 -0
  268. package/dist/src/plugins/plugin.d.ts.map +1 -0
  269. package/dist/src/plugins/plugin.js +8 -0
  270. package/dist/src/plugins/plugin.js.map +1 -0
  271. package/dist/src/plugins/registry.d.ts +25 -0
  272. package/dist/src/plugins/registry.d.ts.map +1 -0
  273. package/dist/src/plugins/registry.js +41 -0
  274. package/dist/src/plugins/registry.js.map +1 -0
  275. package/dist/src/registry/__tests__/tool-registry.test.d.ts +2 -0
  276. package/dist/src/registry/__tests__/tool-registry.test.d.ts.map +1 -0
  277. package/dist/src/registry/__tests__/tool-registry.test.js +124 -0
  278. package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -0
  279. package/dist/src/registry/tool-registry.d.ts +32 -20
  280. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  281. package/dist/src/registry/tool-registry.js +60 -158
  282. package/dist/src/registry/tool-registry.js.map +1 -1
  283. package/dist/src/session/__tests__/file-storage.test.node.js +75 -15
  284. package/dist/src/session/__tests__/file-storage.test.node.js.map +1 -1
  285. package/dist/src/session/__tests__/s3-storage.test.d.ts +2 -0
  286. package/dist/src/session/__tests__/s3-storage.test.d.ts.map +1 -0
  287. package/dist/src/session/__tests__/{s3-storage.test.node.js → s3-storage.test.js} +161 -75
  288. package/dist/src/session/__tests__/s3-storage.test.js.map +1 -0
  289. package/dist/src/session/__tests__/session-manager.test.d.ts +2 -0
  290. package/dist/src/session/__tests__/session-manager.test.d.ts.map +1 -0
  291. package/dist/src/session/__tests__/session-manager.test.js +443 -0
  292. package/dist/src/session/__tests__/session-manager.test.js.map +1 -0
  293. package/dist/src/session/__tests__/validation.test.js +28 -1
  294. package/dist/src/session/__tests__/validation.test.js.map +1 -1
  295. package/dist/src/session/file-storage.d.ts +53 -27
  296. package/dist/src/session/file-storage.d.ts.map +1 -1
  297. package/dist/src/session/file-storage.js +103 -52
  298. package/dist/src/session/file-storage.js.map +1 -1
  299. package/dist/src/session/index.d.ts +6 -14
  300. package/dist/src/session/index.d.ts.map +1 -1
  301. package/dist/src/session/index.js +4 -13
  302. package/dist/src/session/index.js.map +1 -1
  303. package/dist/src/session/s3-storage.d.ts +49 -20
  304. package/dist/src/session/s3-storage.d.ts.map +1 -1
  305. package/dist/src/session/s3-storage.js +120 -35
  306. package/dist/src/session/s3-storage.js.map +1 -1
  307. package/dist/src/session/session-manager.d.ts +87 -0
  308. package/dist/src/session/session-manager.d.ts.map +1 -0
  309. package/dist/src/session/session-manager.js +128 -0
  310. package/dist/src/session/session-manager.js.map +1 -0
  311. package/dist/src/session/storage.d.ts +20 -12
  312. package/dist/src/session/storage.d.ts.map +1 -1
  313. package/dist/src/session/types.d.ts +8 -20
  314. package/dist/src/session/types.d.ts.map +1 -1
  315. package/dist/src/session/validation.d.ts +7 -0
  316. package/dist/src/session/validation.d.ts.map +1 -1
  317. package/dist/src/session/validation.js +12 -0
  318. package/dist/src/session/validation.js.map +1 -1
  319. package/dist/src/{app-state.d.ts → state-store.d.ts} +11 -11
  320. package/dist/src/state-store.d.ts.map +1 -0
  321. package/dist/src/{app-state.js → state-store.js} +8 -7
  322. package/dist/src/state-store.js.map +1 -0
  323. package/dist/src/structured-output/__tests__/context.test.js +13 -13
  324. package/dist/src/structured-output/__tests__/context.test.js.map +1 -1
  325. package/dist/src/structured-output/context.js +1 -1
  326. package/dist/src/structured-output/context.js.map +1 -1
  327. package/dist/src/telemetry/__tests__/config.test.d.ts +2 -0
  328. package/dist/src/telemetry/__tests__/config.test.d.ts.map +1 -0
  329. package/dist/src/telemetry/__tests__/config.test.js +64 -0
  330. package/dist/src/telemetry/__tests__/config.test.js.map +1 -0
  331. package/dist/src/telemetry/__tests__/config.test.node.js +66 -36
  332. package/dist/src/telemetry/__tests__/config.test.node.js.map +1 -1
  333. package/dist/src/telemetry/__tests__/meter.test.d.ts +2 -0
  334. package/dist/src/telemetry/__tests__/meter.test.d.ts.map +1 -0
  335. package/dist/src/telemetry/__tests__/meter.test.js +624 -0
  336. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -0
  337. package/dist/src/telemetry/__tests__/tracer.test.node.js +123 -2
  338. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -1
  339. package/dist/src/telemetry/config.d.ts +104 -23
  340. package/dist/src/telemetry/config.d.ts.map +1 -1
  341. package/dist/src/telemetry/config.js +152 -43
  342. package/dist/src/telemetry/config.js.map +1 -1
  343. package/dist/src/telemetry/index.d.ts +10 -7
  344. package/dist/src/telemetry/index.d.ts.map +1 -1
  345. package/dist/src/telemetry/index.js +9 -6
  346. package/dist/src/telemetry/index.js.map +1 -1
  347. package/dist/src/telemetry/meter.d.ts +296 -0
  348. package/dist/src/telemetry/meter.d.ts.map +1 -0
  349. package/dist/src/telemetry/meter.js +365 -0
  350. package/dist/src/telemetry/meter.js.map +1 -0
  351. package/dist/src/telemetry/tracer.d.ts +27 -0
  352. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  353. package/dist/src/telemetry/tracer.js +79 -4
  354. package/dist/src/telemetry/tracer.js.map +1 -1
  355. package/dist/src/telemetry/types.d.ts +2 -0
  356. package/dist/src/telemetry/types.d.ts.map +1 -1
  357. package/dist/src/telemetry/utils.d.ts +10 -0
  358. package/dist/src/telemetry/utils.d.ts.map +1 -0
  359. package/dist/src/telemetry/utils.js +13 -0
  360. package/dist/src/telemetry/utils.js.map +1 -0
  361. package/dist/src/tools/__tests__/tool-factory.test.d.ts +2 -0
  362. package/dist/src/tools/__tests__/tool-factory.test.d.ts.map +1 -0
  363. package/dist/src/tools/__tests__/tool-factory.test.js +98 -0
  364. package/dist/src/tools/__tests__/tool-factory.test.js.map +1 -0
  365. package/dist/src/tools/__tests__/tool.test.js +22 -1
  366. package/dist/src/tools/__tests__/tool.test.js.map +1 -1
  367. package/dist/src/tools/__tests__/zod-tool.test-d.js +1 -1
  368. package/dist/src/tools/__tests__/zod-tool.test-d.js.map +1 -1
  369. package/dist/src/tools/__tests__/zod-tool.test.js +3 -4
  370. package/dist/src/tools/__tests__/zod-tool.test.js.map +1 -1
  371. package/dist/src/tools/function-tool.d.ts +26 -3
  372. package/dist/src/tools/function-tool.d.ts.map +1 -1
  373. package/dist/src/tools/function-tool.js +88 -3
  374. package/dist/src/tools/function-tool.js.map +1 -1
  375. package/dist/src/tools/tool-factory.d.ts +22 -0
  376. package/dist/src/tools/tool-factory.d.ts.map +1 -0
  377. package/dist/src/tools/tool-factory.js +55 -0
  378. package/dist/src/tools/tool-factory.js.map +1 -0
  379. package/dist/src/tools/tool.d.ts +2 -2
  380. package/dist/src/tools/tool.d.ts.map +1 -1
  381. package/dist/src/tools/zod-tool.d.ts +55 -52
  382. package/dist/src/tools/zod-tool.d.ts.map +1 -1
  383. package/dist/src/tools/zod-tool.js +7 -61
  384. package/dist/src/tools/zod-tool.js.map +1 -1
  385. package/dist/src/tsconfig.tsbuildinfo +1 -1
  386. package/dist/src/types/__tests__/agent.test.js +11 -0
  387. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  388. package/dist/src/types/__tests__/citations.test.d.ts +2 -0
  389. package/dist/src/types/__tests__/citations.test.d.ts.map +1 -0
  390. package/dist/src/types/__tests__/citations.test.js +104 -0
  391. package/dist/src/types/__tests__/citations.test.js.map +1 -0
  392. package/dist/src/types/__tests__/media.test.js +22 -16
  393. package/dist/src/types/__tests__/media.test.js.map +1 -1
  394. package/dist/src/types/__tests__/messages.test.js +26 -0
  395. package/dist/src/types/__tests__/messages.test.js.map +1 -1
  396. package/dist/src/types/agent.d.ts +82 -7
  397. package/dist/src/types/agent.d.ts.map +1 -1
  398. package/dist/src/types/agent.js +9 -0
  399. package/dist/src/types/agent.js.map +1 -1
  400. package/dist/src/types/citations.d.ts +180 -0
  401. package/dist/src/types/citations.d.ts.map +1 -0
  402. package/dist/src/types/citations.js +45 -0
  403. package/dist/src/types/citations.js.map +1 -0
  404. package/dist/src/types/media.d.ts +27 -30
  405. package/dist/src/types/media.d.ts.map +1 -1
  406. package/dist/src/types/media.js +15 -56
  407. package/dist/src/types/media.js.map +1 -1
  408. package/dist/src/types/messages.d.ts +23 -5
  409. package/dist/src/types/messages.d.ts.map +1 -1
  410. package/dist/src/types/messages.js +26 -26
  411. package/dist/src/types/messages.js.map +1 -1
  412. package/dist/src/types/serializable.d.ts +34 -4
  413. package/dist/src/types/serializable.d.ts.map +1 -1
  414. package/dist/src/types/serializable.js +31 -2
  415. package/dist/src/types/serializable.js.map +1 -1
  416. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +5 -4
  417. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  418. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  419. package/dist/src/vended-tools/bash/bash.js +1 -2
  420. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  421. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.d.ts.map +1 -0
  422. package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.js +11 -4
  423. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -0
  424. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts +1 -1
  425. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts.map +1 -1
  426. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js +3 -3
  427. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js.map +1 -1
  428. package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts.map +1 -1
  429. package/dist/src/vended-tools/file-editor/index.js.map +1 -0
  430. package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts.map +1 -1
  431. package/dist/src/vended-tools/file-editor/types.js.map +1 -0
  432. package/dist/src/vended-tools/http-request/__tests__/http-request.test.d.ts.map +1 -0
  433. package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js.map +1 -1
  434. package/dist/src/vended-tools/http-request/http-request.d.ts.map +1 -0
  435. package/dist/src/vended-tools/{http_request → http-request}/http-request.js +1 -2
  436. package/dist/src/vended-tools/http-request/http-request.js.map +1 -0
  437. package/dist/src/vended-tools/{http_request → http-request}/index.d.ts.map +1 -1
  438. package/dist/src/vended-tools/http-request/index.js.map +1 -0
  439. package/dist/src/vended-tools/{http_request → http-request}/types.d.ts.map +1 -1
  440. package/dist/src/vended-tools/http-request/types.js.map +1 -0
  441. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +5 -4
  442. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  443. package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
  444. package/dist/src/vended-tools/notebook/notebook.js +2 -2
  445. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  446. package/package.json +66 -12
  447. package/dist/src/__fixtures__/mock-hook-provider.d.ts +0 -10
  448. package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +0 -1
  449. package/dist/src/__fixtures__/mock-hook-provider.js.map +0 -1
  450. package/dist/src/__tests__/app-state.test.d.ts +0 -2
  451. package/dist/src/__tests__/app-state.test.d.ts.map +0 -1
  452. package/dist/src/__tests__/app-state.test.js.map +0 -1
  453. package/dist/src/app-state.d.ts.map +0 -1
  454. package/dist/src/app-state.js.map +0 -1
  455. package/dist/src/multiagent/base.d.ts +0 -25
  456. package/dist/src/multiagent/base.d.ts.map +0 -1
  457. package/dist/src/multiagent/base.js +0 -2
  458. package/dist/src/multiagent/base.js.map +0 -1
  459. package/dist/src/registry/registry.d.ts +0 -117
  460. package/dist/src/registry/registry.d.ts.map +0 -1
  461. package/dist/src/registry/registry.js +0 -298
  462. package/dist/src/registry/registry.js.map +0 -1
  463. package/dist/src/session/__tests__/s3-storage.test.node.d.ts +0 -2
  464. package/dist/src/session/__tests__/s3-storage.test.node.d.ts.map +0 -1
  465. package/dist/src/session/__tests__/s3-storage.test.node.js.map +0 -1
  466. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +0 -1
  467. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +0 -1
  468. package/dist/src/vended-tools/file_editor/index.js.map +0 -1
  469. package/dist/src/vended-tools/file_editor/types.js.map +0 -1
  470. package/dist/src/vended-tools/http_request/__tests__/http-request.test.d.ts.map +0 -1
  471. package/dist/src/vended-tools/http_request/http-request.d.ts.map +0 -1
  472. package/dist/src/vended-tools/http_request/http-request.js.map +0 -1
  473. package/dist/src/vended-tools/http_request/index.js.map +0 -1
  474. package/dist/src/vended-tools/http_request/types.js.map +0 -1
  475. /package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.d.ts +0 -0
  476. /package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts +0 -0
  477. /package/dist/src/vended-tools/{file_editor → file-editor}/index.js +0 -0
  478. /package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts +0 -0
  479. /package/dist/src/vended-tools/{file_editor → file-editor}/types.js +0 -0
  480. /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.d.ts +0 -0
  481. /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js +0 -0
  482. /package/dist/src/vended-tools/{http_request → http-request}/http-request.d.ts +0 -0
  483. /package/dist/src/vended-tools/{http_request → http-request}/index.d.ts +0 -0
  484. /package/dist/src/vended-tools/{http_request → http-request}/index.js +0 -0
  485. /package/dist/src/vended-tools/{http_request → http-request}/types.d.ts +0 -0
  486. /package/dist/src/vended-tools/{http_request → http-request}/types.js +0 -0
@@ -50,24 +50,32 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
50
50
  var e = new Error(message);
51
51
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
52
  });
53
- import { AgentResult, BedrockModel, contentBlockFromData, McpClient, Message, TextBlock, ToolResultBlock, ToolUseBlock, } from '../index.js';
53
+ import { AgentResult, } from '../types/agent.js';
54
+ import { BedrockModel } from '../models/bedrock.js';
55
+ import { contentBlockFromData, Message, TextBlock, ToolResultBlock, ToolUseBlock, } from '../types/messages.js';
56
+ import { McpClient } from '../mcp.js';
57
+ import {} from '../tools/tool.js';
54
58
  import { systemPromptFromData } from '../types/messages.js';
55
59
  import { normalizeError, ConcurrentInvocationError, MaxTokensError } from '../errors.js';
56
60
  import { Model } from '../models/model.js';
57
61
  import { isModelStreamEvent } from '../models/streaming.js';
58
62
  import { ToolRegistry } from '../registry/tool-registry.js';
59
- import { AppState } from '../app-state.js';
63
+ import { StateStore } from '../state-store.js';
60
64
  import { AgentPrinter, getDefaultAppender } from './printer.js';
65
+ import { PluginRegistry } from '../plugins/registry.js';
61
66
  import { SlidingWindowConversationManager } from '../conversation-manager/sliding-window-conversation-manager.js';
67
+ import { ConversationManager } from '../conversation-manager/conversation-manager.js';
62
68
  import { HookRegistryImplementation } from '../hooks/registry.js';
63
69
  import { InitializedEvent, AfterInvocationEvent, AfterModelCallEvent, AfterToolCallEvent, AfterToolsEvent, BeforeInvocationEvent, BeforeModelCallEvent, BeforeToolCallEvent, BeforeToolsEvent, HookableEvent, MessageAddedEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, AgentResultEvent, ToolStreamUpdateEvent, } from '../hooks/events.js';
64
70
  import { createStructuredOutputContext } from '../structured-output/context.js';
65
71
  import { StructuredOutputException } from '../structured-output/exceptions.js';
66
72
  import { Tracer } from '../telemetry/tracer.js';
67
- /** Fallback name used when no agent name is provided in the config. */
73
+ import { Meter } from '../telemetry/meter.js';
74
+ import { logger } from '../logging/logger.js';
75
+ /** Default name assigned to agents when none is provided. */
68
76
  const DEFAULT_AGENT_NAME = 'Strands Agent';
69
- /** Fallback agent ID used when no agent ID is provided in the config. */
70
- const DEFAULT_AGENT_ID = 'default';
77
+ /** Default identifier assigned to agents when none is provided. */
78
+ const DEFAULT_AGENT_ID = 'agent';
71
79
  /**
72
80
  * Orchestrates the interaction between a model, a set of tools, and MCP clients.
73
81
  * The Agent is responsible for managing the lifecycle of tools and clients
@@ -82,16 +90,8 @@ export class Agent {
82
90
  * App state storage accessible to tools and application logic.
83
91
  * State is not passed to the model during inference.
84
92
  */
85
- state;
86
- /**
87
- * Conversation manager for handling message history and context overflow.
88
- */
89
- conversationManager;
90
- /**
91
- * Hook registry for managing event callbacks.
92
- * Hooks enable observing and extending agent behavior.
93
- */
94
- hooks;
93
+ appState;
94
+ _conversationManager;
95
95
  /**
96
96
  * The model provider used by the agent for inference.
97
97
  */
@@ -107,7 +107,13 @@ export class Agent {
107
107
  /**
108
108
  * The unique identifier of the agent instance.
109
109
  */
110
- agentId;
110
+ id;
111
+ /**
112
+ * Optional description of what the agent does.
113
+ */
114
+ description;
115
+ _hooksRegistry;
116
+ _pluginRegistry;
111
117
  _toolRegistry;
112
118
  _mcpClients;
113
119
  _initialized;
@@ -116,8 +122,8 @@ export class Agent {
116
122
  _structuredOutputSchema;
117
123
  /** Tracer instance for creating and managing OpenTelemetry spans. */
118
124
  _tracer;
119
- /** Running total of token usage across all model invocations in the current invocation. */
120
- _accumulatedTokenUsage = Agent._createEmptyUsage();
125
+ /** Meter instance for accumulating loop metrics during invocation. */
126
+ _meter;
121
127
  /**
122
128
  * Creates an instance of the Agent.
123
129
  * @param config - The configuration for the agent.
@@ -125,14 +131,12 @@ export class Agent {
125
131
  constructor(config) {
126
132
  // Initialize public fields
127
133
  this.messages = (config?.messages ?? []).map((msg) => (msg instanceof Message ? msg : Message.fromMessageData(msg)));
128
- this.state = new AppState(config?.state);
129
- this.conversationManager = config?.conversationManager ?? new SlidingWindowConversationManager({ windowSize: 40 });
134
+ this.appState = new StateStore(config?.appState);
135
+ this._conversationManager = config?.conversationManager ?? new SlidingWindowConversationManager({ windowSize: 40 });
130
136
  this.name = config?.name ?? DEFAULT_AGENT_NAME;
131
- this.agentId = config?.agentId ?? DEFAULT_AGENT_ID;
132
- // Initialize hooks and register conversation manager hooks
133
- this.hooks = new HookRegistryImplementation();
134
- this.hooks.addHook(this.conversationManager);
135
- this.hooks.addAllHooks(config?.hooks ?? []);
137
+ this.id = config?.id ?? DEFAULT_AGENT_ID;
138
+ if (config?.description !== undefined)
139
+ this.description = config.description;
136
140
  if (typeof config?.model === 'string') {
137
141
  this.model = new BedrockModel({ modelId: config.model });
138
142
  }
@@ -142,6 +146,14 @@ export class Agent {
142
146
  const { tools, mcpClients } = flattenTools(config?.tools ?? []);
143
147
  this._toolRegistry = new ToolRegistry(tools);
144
148
  this._mcpClients = mcpClients;
149
+ // Initialize hooks registry
150
+ this._hooksRegistry = new HookRegistryImplementation();
151
+ // Initialize plugin registry with all plugins to be initialized during initialize()
152
+ this._pluginRegistry = new PluginRegistry([
153
+ this._conversationManager,
154
+ ...(config?.plugins ?? []),
155
+ ...(config?.sessionManager ? [config.sessionManager] : []),
156
+ ]);
145
157
  if (config?.systemPrompt !== undefined) {
146
158
  this.systemPrompt = systemPromptFromData(config.systemPrompt);
147
159
  }
@@ -154,17 +166,43 @@ export class Agent {
154
166
  this._structuredOutputSchema = config?.structuredOutputSchema;
155
167
  // Initialize tracer - OTEL returns no-op tracer if not configured
156
168
  this._tracer = new Tracer(config?.traceAttributes);
169
+ // Initialize meter for local metrics accumulation
170
+ this._meter = new Meter();
157
171
  this._initialized = false;
158
172
  }
173
+ /**
174
+ * Register a hook callback for a specific event type.
175
+ *
176
+ * @param eventType - The event class constructor to register the callback for
177
+ * @param callback - The callback function to invoke when the event occurs
178
+ * @returns Cleanup function that removes the callback when invoked
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * const agent = new Agent({ model })
183
+ *
184
+ * const cleanup = agent.addHook(BeforeInvocationEvent, (event) => {
185
+ * console.log('Invocation started')
186
+ * })
187
+ *
188
+ * // Later, to remove the hook:
189
+ * cleanup()
190
+ * ```
191
+ */
192
+ addHook(eventType, callback) {
193
+ return this._hooksRegistry.addCallback(eventType, callback);
194
+ }
159
195
  async initialize() {
160
196
  if (this._initialized) {
161
197
  return;
162
198
  }
199
+ // Initialize MCP clients and register their tools
163
200
  await Promise.all(this._mcpClients.map(async (client) => {
164
201
  const tools = await client.listTools();
165
- this._toolRegistry.addAll(tools);
202
+ this._toolRegistry.add(tools);
166
203
  }));
167
- await this.hooks.invokeCallbacks(new InitializedEvent({ agent: this }));
204
+ await this._pluginRegistry.initialize(this);
205
+ await this._hooksRegistry.invokeCallbacks(new InitializedEvent({ agent: this }));
168
206
  this._initialized = true;
169
207
  }
170
208
  /**
@@ -186,7 +224,7 @@ export class Agent {
186
224
  * The tools this agent can use.
187
225
  */
188
226
  get tools() {
189
- return this._toolRegistry.values();
227
+ return this._toolRegistry.list();
190
228
  }
191
229
  /**
192
230
  * The tool registry for managing the agent's tools.
@@ -263,7 +301,7 @@ export class Agent {
263
301
  // Invoke hook callbacks for hookable events (all current events are hookable;
264
302
  // the guard exists for future StreamEvent subclasses that may not be)
265
303
  if (event instanceof HookableEvent) {
266
- await this.hooks.invokeCallbacks(event);
304
+ await this._hooksRegistry.invokeCallbacks(event);
267
305
  }
268
306
  this._printer?.processEvent(event);
269
307
  yield event;
@@ -271,7 +309,7 @@ export class Agent {
271
309
  }
272
310
  // Yield final result as last event
273
311
  const agentResultEvent = new AgentResultEvent({ agent: this, result: result.value });
274
- await this.hooks.invokeCallbacks(agentResultEvent);
312
+ await this._hooksRegistry.invokeCallbacks(agentResultEvent);
275
313
  this._printer?.processEvent(agentResultEvent);
276
314
  yield agentResultEvent;
277
315
  return result.value;
@@ -304,12 +342,12 @@ export class Agent {
304
342
  // Normalize input to get the user messages for telemetry
305
343
  const inputMessages = this._normalizeInput(args);
306
344
  // Start agent trace span
307
- this._accumulatedTokenUsage = Agent._createEmptyUsage();
345
+ this._meter.startNewInvocation();
308
346
  const agentModelId = this.model.modelId;
309
347
  const agentSpanOptions = {
310
348
  messages: inputMessages,
311
349
  agentName: this.name,
312
- agentId: this.agentId,
350
+ agentId: this.id,
313
351
  tools: this.tools,
314
352
  };
315
353
  if (agentModelId)
@@ -322,15 +360,24 @@ export class Agent {
322
360
  // Register structured output tool
323
361
  context.registerTool(this._toolRegistry);
324
362
  // Main agent loop - continues until model stops without requesting tools
325
- for (let cycleCount = 1;; cycleCount++) {
363
+ while (true) {
364
+ // Start metrics cycle tracking
365
+ const { cycleId, startTime: cycleStartTime } = this._meter.startCycle();
326
366
  // Create agent loop cycle span within agent span context
327
367
  const cycleSpan = this._tracer.startAgentLoopSpan({
328
- cycleId: `cycle-${cycleCount}`,
368
+ cycleId,
329
369
  messages: this.messages,
330
370
  });
331
371
  try {
332
- const modelResult = yield* this.invokeModel(currentArgs, forcedToolChoice);
333
- currentArgs = undefined; // Only pass args on first invocation
372
+ // Normalize input and append user messages on first invocation only
373
+ if (currentArgs !== undefined) {
374
+ const messagesToAppend = this._normalizeInput(currentArgs);
375
+ for (const message of messagesToAppend) {
376
+ yield this._appendMessage(message);
377
+ }
378
+ currentArgs = undefined;
379
+ }
380
+ const modelResult = yield* this.invokeModel(forcedToolChoice);
334
381
  const wasForced = forcedToolChoice !== undefined;
335
382
  forcedToolChoice = undefined; // Clear after use
336
383
  if (modelResult.stopReason !== 'toolUse') {
@@ -347,11 +394,14 @@ export class Agent {
347
394
  // Force the model to use the structured output tool
348
395
  const toolName = context.getToolName();
349
396
  forcedToolChoice = { tool: { name: toolName } };
397
+ this._meter.endCycle(cycleStartTime);
350
398
  this._tracer.endAgentLoopSpan(cycleSpan);
351
399
  continue;
352
400
  }
353
401
  // Loop terminates - no tool use requested (and structured output satisfied if needed)
354
402
  yield this._appendMessage(modelResult.message);
403
+ // End cycle tracking
404
+ this._meter.endCycle(cycleStartTime);
355
405
  // End cycle span
356
406
  this._tracer.endAgentLoopSpan(cycleSpan);
357
407
  const structuredOutput = context.getResult();
@@ -359,6 +409,7 @@ export class Agent {
359
409
  stopReason: modelResult.stopReason,
360
410
  lastMessage: modelResult.message,
361
411
  structuredOutput,
412
+ metrics: this._meter.metrics,
362
413
  });
363
414
  return result;
364
415
  }
@@ -380,12 +431,15 @@ export class Agent {
380
431
  */
381
432
  yield this._appendMessage(modelResult.message);
382
433
  yield this._appendMessage(toolResultMessage);
434
+ // End cycle tracking
435
+ this._meter.endCycle(cycleStartTime);
383
436
  // End cycle span
384
437
  this._tracer.endAgentLoopSpan(cycleSpan);
385
438
  // Continue loop
386
439
  }
387
440
  catch (error) {
388
- // End cycle span with error
441
+ // End cycle tracking and span with error
442
+ this._meter.endCycle(cycleStartTime);
389
443
  this._tracer.endAgentLoopSpan(cycleSpan, { error: error });
390
444
  throw error;
391
445
  }
@@ -399,7 +453,7 @@ export class Agent {
399
453
  this._tracer.endAgentSpan(agentSpan, {
400
454
  ...(caughtError && { error: caughtError }),
401
455
  ...(result?.lastMessage && { response: result.lastMessage }),
402
- accumulatedUsage: this._accumulatedTokenUsage,
456
+ accumulatedUsage: this._meter.metrics.accumulatedUsage,
403
457
  ...(result?.stopReason && { stopReason: result.stopReason }),
404
458
  });
405
459
  // Cleanup structured output context
@@ -468,15 +522,10 @@ export class Agent {
468
522
  *
469
523
  * @param args - Optional arguments for invoking the model
470
524
  * @param toolChoice - Optional tool choice to force specific tool usage
471
- * @returns Object containing the assistant message and stop reason
525
+ * @returns Object containing the assistant message, stop reason, and optional redaction message
472
526
  */
473
- async *invokeModel(args, forcedToolChoice) {
474
- // Normalize input and append messages to conversation
475
- const messagesToAppend = this._normalizeInput(args);
476
- for (const message of messagesToAppend) {
477
- yield this._appendMessage(message);
478
- }
479
- const toolSpecs = this._toolRegistry.values().map((tool) => tool.toolSpec);
527
+ async *invokeModel(forcedToolChoice) {
528
+ const toolSpecs = this._toolRegistry.list().map((tool) => tool.toolSpec);
480
529
  const streamOptions = { toolSpecs };
481
530
  if (this.systemPrompt !== undefined) {
482
531
  streamOptions.systemPrompt = this.systemPrompt;
@@ -491,22 +540,37 @@ export class Agent {
491
540
  const modelSpan = this._tracer.startModelInvokeSpan({
492
541
  messages: this.messages,
493
542
  ...(modelId && { modelId }),
543
+ ...(this.systemPrompt !== undefined && { systemPrompt: this.systemPrompt }),
494
544
  });
495
545
  try {
496
- const { message, stopReason, usage } = yield* this._streamFromModel(this.messages, streamOptions);
497
- // Accumulate token usage
498
- if (usage) {
499
- Agent._accumulateUsage(this._accumulatedTokenUsage, usage);
500
- }
546
+ const result = yield* this._streamFromModel(this.messages, streamOptions);
547
+ // Accumulate token usage and model latency metrics
548
+ this._meter.updateCycle(result.metadata);
501
549
  // End model span with usage
502
- this._tracer.endModelInvokeSpan(modelSpan, { output: message, stopReason, ...(usage && { usage }) });
503
- yield new ModelMessageEvent({ agent: this, message, stopReason });
504
- const afterModelCallEvent = new AfterModelCallEvent({ agent: this, stopData: { message, stopReason } });
550
+ const usage = result.metadata?.usage;
551
+ const metrics = result.metadata?.metrics;
552
+ this._tracer.endModelInvokeSpan(modelSpan, {
553
+ output: result.message,
554
+ stopReason: result.stopReason,
555
+ ...(usage && { usage }),
556
+ ...(metrics && { metrics }),
557
+ });
558
+ yield new ModelMessageEvent({ agent: this, message: result.message, stopReason: result.stopReason });
559
+ // Handle user content redaction if guardrails blocked input
560
+ if (result.redaction?.userMessage) {
561
+ this._redactLastMessage(result.redaction.userMessage);
562
+ }
563
+ const stopData = {
564
+ message: result.message,
565
+ stopReason: result.stopReason,
566
+ ...(result.redaction && { redaction: result.redaction }),
567
+ };
568
+ const afterModelCallEvent = new AfterModelCallEvent({ agent: this, stopData });
505
569
  yield afterModelCallEvent;
506
570
  if (afterModelCallEvent.retry) {
507
- return yield* this.invokeModel(args);
571
+ return yield* this.invokeModel(forcedToolChoice);
508
572
  }
509
- return { message, stopReason };
573
+ return result;
510
574
  }
511
575
  catch (error) {
512
576
  const modelError = normalizeError(error);
@@ -518,7 +582,7 @@ export class Agent {
518
582
  yield errorEvent;
519
583
  // After yielding, hooks have been invoked and may have set retry
520
584
  if (errorEvent.retry) {
521
- return yield* this.invokeModel(args);
585
+ return yield* this.invokeModel(forcedToolChoice);
522
586
  }
523
587
  // Re-throw error
524
588
  throw error;
@@ -538,7 +602,7 @@ export class Agent {
538
602
  *
539
603
  * @param messages - Messages to send to the model
540
604
  * @param streamOptions - Options for streaming
541
- * @returns Object containing the assistant message and stop reason
605
+ * @returns StreamAggregatedResult containing message, stop reason, and optional redaction message
542
606
  */
543
607
  async *_streamFromModel(messages, streamOptions) {
544
608
  const streamGenerator = this.model.streamAggregated(messages, streamOptions);
@@ -556,11 +620,7 @@ export class Agent {
556
620
  result = await streamGenerator.next();
557
621
  }
558
622
  // result.done is true, result.value contains the return value
559
- const { message, stopReason, metadata } = result.value;
560
- const returnValue = { message, stopReason };
561
- if (metadata?.usage)
562
- returnValue.usage = metadata.usage;
563
- return returnValue;
623
+ return result.value;
564
624
  }
565
625
  /**
566
626
  * Executes tools sequentially and streams all tool events.
@@ -603,7 +663,7 @@ export class Agent {
603
663
  * @returns Tool result block
604
664
  */
605
665
  async *executeTool(toolUseBlock, toolRegistry) {
606
- const tool = toolRegistry.find((t) => t.name === toolUseBlock.name);
666
+ const tool = toolRegistry.get(toolUseBlock.name);
607
667
  // Create toolUse object for hook events and telemetry
608
668
  const toolUse = {
609
669
  name: toolUseBlock.name,
@@ -617,6 +677,8 @@ export class Agent {
617
677
  const toolSpan = this._tracer.startToolCallSpan({
618
678
  tool: toolUse,
619
679
  });
680
+ // Track tool execution time for metrics
681
+ const toolStartTime = Date.now();
620
682
  let toolResult;
621
683
  let error;
622
684
  if (!tool) {
@@ -676,6 +738,12 @@ export class Agent {
676
738
  }
677
739
  // End tool span
678
740
  this._tracer.endToolCallSpan(toolSpan, { toolResult, ...(error && { error }) });
741
+ // End tool metrics tracking
742
+ this._meter.endToolCall({
743
+ tool: toolUse,
744
+ duration: Date.now() - toolStartTime,
745
+ success: toolResult.status === 'success',
746
+ });
679
747
  // Single point for AfterToolCallEvent
680
748
  const afterToolCallEvent = new AfterToolCallEvent({
681
749
  agent: this,
@@ -691,6 +759,51 @@ export class Agent {
691
759
  return toolResult;
692
760
  }
693
761
  }
762
+ /**
763
+ * Redacts the last message in the conversation history.
764
+ * Called when guardrails block user input and redaction is enabled.
765
+ *
766
+ * Follows the redaction strategy:
767
+ * - If the message contains at least one toolResult block, all toolResult blocks
768
+ * are kept with redacted content, and all other blocks are discarded.
769
+ * - Otherwise, the entire content is replaced with a single text block containing
770
+ * the redaction message.
771
+ *
772
+ * @param redactMessage - The redaction message to replace the content with
773
+ */
774
+ _redactLastMessage(redactMessage) {
775
+ // Find and redact the last message
776
+ const lastIndex = this.messages.length - 1;
777
+ if (lastIndex >= 0) {
778
+ const lastMessage = this.messages[lastIndex];
779
+ if (lastMessage && lastMessage.role === 'user') {
780
+ // Collect only tool result blocks with redacted content
781
+ const redactedContent = [];
782
+ for (const block of lastMessage.content) {
783
+ if (block.type === 'toolResultBlock') {
784
+ // Preserve tool result block structure, only redact its content
785
+ redactedContent.push(new ToolResultBlock({
786
+ toolUseId: block.toolUseId,
787
+ status: block.status,
788
+ content: [new TextBlock(redactMessage)],
789
+ }));
790
+ }
791
+ }
792
+ // If no tool result blocks were found, replace entire content with redaction message
793
+ if (redactedContent.length === 0) {
794
+ redactedContent.push(new TextBlock(redactMessage));
795
+ }
796
+ this.messages[lastIndex] = new Message({
797
+ role: 'user',
798
+ content: redactedContent,
799
+ });
800
+ }
801
+ else if (lastMessage) {
802
+ // Unexpected state: redaction requested but last message is not from user
803
+ logger.warn(`role=<${lastMessage.role}> | received input redaction but last message is not from user | redaction skipped.`);
804
+ }
805
+ }
806
+ }
694
807
  /**
695
808
  * Appends a message to the conversation history and returns the event for yielding.
696
809
  *
@@ -701,35 +814,6 @@ export class Agent {
701
814
  this.messages.push(message);
702
815
  return new MessageAddedEvent({ agent: this, message });
703
816
  }
704
- /**
705
- * Creates an empty Usage object with all counters set to zero.
706
- *
707
- * @returns A Usage object with zeroed counters
708
- */
709
- static _createEmptyUsage() {
710
- return {
711
- inputTokens: 0,
712
- outputTokens: 0,
713
- totalTokens: 0,
714
- };
715
- }
716
- /**
717
- * Accumulates token usage from a source into a target Usage object.
718
- *
719
- * @param target - The Usage object to accumulate into (mutated in place)
720
- * @param source - The Usage object to accumulate from
721
- */
722
- static _accumulateUsage(target, source) {
723
- target.inputTokens += source.inputTokens;
724
- target.outputTokens += source.outputTokens;
725
- target.totalTokens += source.totalTokens;
726
- if (source.cacheReadInputTokens !== undefined) {
727
- target.cacheReadInputTokens = (target.cacheReadInputTokens ?? 0) + source.cacheReadInputTokens;
728
- }
729
- if (source.cacheWriteInputTokens !== undefined) {
730
- target.cacheWriteInputTokens = (target.cacheWriteInputTokens ?? 0) + source.cacheWriteInputTokens;
731
- }
732
- }
733
817
  }
734
818
  /**
735
819
  * Recursively flattens nested arrays of tools into a single flat array.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/agent/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,mBAAmB,gDAAiD,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;CAEnB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,YAAY,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAA;IAEZ;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE/B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACnC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACpC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,GAAG,QAAQ,CAwBjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAwBnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAG,GAAG,CAAC,aAAa,CAAC,CAoC3F"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/agent/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,mBAAmB,gDAAiD,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;CAEnB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,YAAY,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAA;IAEZ;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE/B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACnC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACpC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,GAAG,QAAQ,CAwBjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAwBnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAG,GAAG,CAAC,aAAa,CAAC,CAoC3F"}
@@ -11,6 +11,7 @@
11
11
  * functionality without committing to a public API surface.
12
12
  */
13
13
  import { Message, systemPromptFromData, systemPromptToData } from '../types/messages.js';
14
+ import { loadStateSerializable, serializeStateSerializable } from '../types/serializable.js';
14
15
  /**
15
16
  * Current schema version of the snapshot format.
16
17
  */
@@ -51,7 +52,7 @@ export function takeSnapshot(agent, options) {
51
52
  data.messages = agent.messages.map((msg) => msg.toJSON());
52
53
  }
53
54
  if (fields.has('state')) {
54
- data.state = agent.state.toJSON();
55
+ data.state = serializeStateSerializable(agent.appState);
55
56
  }
56
57
  if (fields.has('systemPrompt')) {
57
58
  data.systemPrompt = agent.systemPrompt !== undefined ? systemPromptToData(agent.systemPrompt) : null;
@@ -85,7 +86,7 @@ export function loadSnapshot(agent, snapshot) {
85
86
  }
86
87
  }
87
88
  if (state !== undefined) {
88
- agent.state.loadStateFromJson(state);
89
+ loadStateSerializable(agent.appState, state);
89
90
  }
90
91
  // Only restore systemPrompt if explicitly present and non-null in the snapshot
91
92
  if (systemPrompt !== undefined && systemPrompt !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/agent/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAGxF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAA;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAU,CAAA;AAEjF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAU;CAC/C,CAAA;AA+CV;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;AACjC,CAAC;AA4BD;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,KAAY,EAAE,OAA4B;IACrE,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAE7C,MAAM,IAAI,GAA8B,EAAE,CAAA;IAE1C,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAyB,CAAA;IACnF,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;IACnC,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAE,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAe,CAAC,CAAC,CAAC,IAAI,CAAA;IACrH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO;QACd,aAAa,EAAE,uBAAuB;QACtC,SAAS,EAAE,eAAe,EAAE;QAC5B,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;KAC/B,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,KAAY,EAAE,QAAkB;IAC3D,IAAI,QAAQ,CAAC,aAAa,KAAK,uBAAuB,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,wCAAwC,QAAQ,CAAC,aAAa,sBAAsB,uBAAuB,EAAE,CAC9G,CAAA;IACH,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAA;IAEvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QACzB,KAAK,MAAM,OAAO,IAAI,QAAoC,EAAE,CAAC;YAC3D,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACtC,CAAC;IAED,+EAA+E;IAC/E,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QACxD,KAAK,CAAC,YAAY,GAAG,oBAAoB,CAAC,YAAgC,CAAC,CAAA;IAC7E,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAA+B,EAAE;IACrE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAC5C,IAAI,MAA0B,CAAA;IAE9B,wCAAwC;IACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,MAAM,IAAI,gBAAgB,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,wBAAwB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9G,CAAC;QACD,MAAM,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;IACpB,CAAC;IAED,qBAAqB;IACrB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,sBAAsB,CAAC,OAAO,CAAC,CAAA;QAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,sBAAsB,CAAC,OAAO,CAAC,CAAA;QAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAA;IAC1F,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,MAAgB;IAC9C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,mBAAmB,CAAC,CAAA;IACxD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,uBAAuB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1G,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/agent/snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=conversation-manager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-manager.test.d.ts","sourceRoot":"","sources":["../../../../src/conversation-manager/__tests__/conversation-manager.test.ts"],"names":[],"mappings":""}