@strands-agents/sdk 1.7.0 → 1.9.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 (686) hide show
  1. package/dist/src/agent/agent.d.ts +32 -2
  2. package/dist/src/agent/agent.d.ts.map +1 -1
  3. package/dist/src/agent/agent.js +92 -4
  4. package/dist/src/agent/agent.js.map +1 -1
  5. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +3 -3
  6. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts.map +1 -1
  7. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  8. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +2 -0
  9. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  10. package/dist/src/errors.d.ts +7 -0
  11. package/dist/src/errors.d.ts.map +1 -1
  12. package/dist/src/errors.js +10 -0
  13. package/dist/src/errors.js.map +1 -1
  14. package/dist/src/experimental/checkpoint.d.ts +118 -0
  15. package/dist/src/experimental/checkpoint.d.ts.map +1 -0
  16. package/dist/src/experimental/checkpoint.js +108 -0
  17. package/dist/src/experimental/checkpoint.js.map +1 -0
  18. package/dist/src/experimental/index.d.ts +10 -0
  19. package/dist/src/experimental/index.d.ts.map +1 -0
  20. package/dist/src/experimental/index.js +9 -0
  21. package/dist/src/experimental/index.js.map +1 -0
  22. package/dist/src/index.d.ts +1 -1
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +1 -1
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/index.node.d.ts.map +1 -1
  27. package/dist/src/index.node.js +3 -0
  28. package/dist/src/index.node.js.map +1 -1
  29. package/dist/src/injection/message-injection.d.ts.map +1 -1
  30. package/dist/src/injection/message-injection.js +2 -0
  31. package/dist/src/injection/message-injection.js.map +1 -1
  32. package/dist/src/interventions/actions.d.ts.map +1 -1
  33. package/dist/src/interventions/actions.js.map +1 -1
  34. package/dist/src/{mcp.d.ts → mcp/client.d.ts} +13 -4
  35. package/dist/src/mcp/client.d.ts.map +1 -0
  36. package/dist/src/{mcp.js → mcp/client.js} +15 -3
  37. package/dist/src/mcp/client.js.map +1 -0
  38. package/dist/src/mcp/config.d.ts +52 -0
  39. package/dist/src/mcp/config.d.ts.map +1 -0
  40. package/dist/src/mcp/config.js +12 -0
  41. package/dist/src/mcp/config.js.map +1 -0
  42. package/dist/src/mcp/config.node.d.ts +16 -0
  43. package/dist/src/mcp/config.node.d.ts.map +1 -0
  44. package/dist/src/mcp/config.node.js +145 -0
  45. package/dist/src/mcp/config.node.js.map +1 -0
  46. package/dist/src/mcp/index.d.ts +3 -0
  47. package/dist/src/mcp/index.d.ts.map +1 -0
  48. package/dist/src/mcp/index.js +2 -0
  49. package/dist/src/mcp/index.js.map +1 -0
  50. package/dist/src/models/model.d.ts.map +1 -1
  51. package/dist/src/models/model.js +2 -1
  52. package/dist/src/models/model.js.map +1 -1
  53. package/dist/src/multiagent/graph.d.ts +7 -0
  54. package/dist/src/multiagent/graph.d.ts.map +1 -1
  55. package/dist/src/multiagent/graph.js +22 -1
  56. package/dist/src/multiagent/graph.js.map +1 -1
  57. package/dist/src/multiagent/multiagent.d.ts +2 -1
  58. package/dist/src/multiagent/multiagent.d.ts.map +1 -1
  59. package/dist/src/multiagent/multiagent.js.map +1 -1
  60. package/dist/src/multiagent/nodes.d.ts +5 -0
  61. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  62. package/dist/src/multiagent/nodes.js +15 -0
  63. package/dist/src/multiagent/nodes.js.map +1 -1
  64. package/dist/src/multiagent/state.d.ts.map +1 -1
  65. package/dist/src/multiagent/state.js.map +1 -1
  66. package/dist/src/tools/function-tool.d.ts +1 -1
  67. package/dist/src/tools/function-tool.d.ts.map +1 -1
  68. package/dist/src/tools/function-tool.js +4 -12
  69. package/dist/src/tools/function-tool.js.map +1 -1
  70. package/dist/src/tools/mcp-tool.d.ts +2 -1
  71. package/dist/src/tools/mcp-tool.d.ts.map +1 -1
  72. package/dist/src/tools/mcp-tool.js +1 -0
  73. package/dist/src/tools/mcp-tool.js.map +1 -1
  74. package/dist/src/tools/tool-factory.d.ts +1 -1
  75. package/dist/src/tools/tool-factory.d.ts.map +1 -1
  76. package/dist/src/tools/types.d.ts +4 -0
  77. package/dist/src/tools/types.d.ts.map +1 -1
  78. package/dist/src/tools/zod-tool.d.ts +4 -2
  79. package/dist/src/tools/zod-tool.d.ts.map +1 -1
  80. package/dist/src/tools/zod-tool.js.map +1 -1
  81. package/dist/src/tsconfig.tsbuildinfo +1 -1
  82. package/dist/src/types/agent.d.ts +18 -1
  83. package/dist/src/types/agent.d.ts.map +1 -1
  84. package/dist/src/types/agent.js +12 -0
  85. package/dist/src/types/agent.js.map +1 -1
  86. package/dist/src/types/media.d.ts.map +1 -1
  87. package/dist/src/types/media.js.map +1 -1
  88. package/dist/src/types/messages.d.ts +22 -1
  89. package/dist/src/types/messages.d.ts.map +1 -1
  90. package/dist/src/types/messages.js +22 -0
  91. package/dist/src/types/messages.js.map +1 -1
  92. package/dist/src/vended-memory-stores/test-memory-store/index.d.ts +2 -0
  93. package/dist/src/vended-memory-stores/test-memory-store/index.d.ts.map +1 -0
  94. package/dist/src/vended-memory-stores/test-memory-store/index.js +2 -0
  95. package/dist/src/vended-memory-stores/test-memory-store/index.js.map +1 -0
  96. package/dist/src/vended-memory-stores/test-memory-store/store.d.ts +122 -0
  97. package/dist/src/vended-memory-stores/test-memory-store/store.d.ts.map +1 -0
  98. package/dist/src/vended-memory-stores/test-memory-store/store.js +281 -0
  99. package/dist/src/vended-memory-stores/test-memory-store/store.js.map +1 -0
  100. package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -1
  101. package/dist/src/vended-plugins/context-offloader/search.js +4 -2
  102. package/dist/src/vended-plugins/context-offloader/search.js.map +1 -1
  103. package/dist/src/vended-plugins/context-offloader/storage.js +1 -1
  104. package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -1
  105. package/dist/src/vended-plugins/skills/skill.d.ts.map +1 -1
  106. package/dist/src/vended-plugins/skills/skill.js.map +1 -1
  107. package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
  108. package/package.json +41 -30
  109. package/dist/src/__fixtures__/agent-helpers.d.ts +0 -136
  110. package/dist/src/__fixtures__/agent-helpers.d.ts.map +0 -1
  111. package/dist/src/__fixtures__/agent-helpers.js +0 -156
  112. package/dist/src/__fixtures__/agent-helpers.js.map +0 -1
  113. package/dist/src/__fixtures__/environment.d.ts +0 -12
  114. package/dist/src/__fixtures__/environment.d.ts.map +0 -1
  115. package/dist/src/__fixtures__/environment.js +0 -12
  116. package/dist/src/__fixtures__/environment.js.map +0 -1
  117. package/dist/src/__fixtures__/metrics-helpers.d.ts +0 -55
  118. package/dist/src/__fixtures__/metrics-helpers.d.ts.map +0 -1
  119. package/dist/src/__fixtures__/metrics-helpers.js +0 -57
  120. package/dist/src/__fixtures__/metrics-helpers.js.map +0 -1
  121. package/dist/src/__fixtures__/mock-message-model.d.ts +0 -103
  122. package/dist/src/__fixtures__/mock-message-model.d.ts.map +0 -1
  123. package/dist/src/__fixtures__/mock-message-model.js +0 -245
  124. package/dist/src/__fixtures__/mock-message-model.js.map +0 -1
  125. package/dist/src/__fixtures__/mock-meter.d.ts +0 -32
  126. package/dist/src/__fixtures__/mock-meter.d.ts.map +0 -1
  127. package/dist/src/__fixtures__/mock-meter.js +0 -47
  128. package/dist/src/__fixtures__/mock-meter.js.map +0 -1
  129. package/dist/src/__fixtures__/mock-plugin.d.ts +0 -13
  130. package/dist/src/__fixtures__/mock-plugin.d.ts.map +0 -1
  131. package/dist/src/__fixtures__/mock-plugin.js +0 -35
  132. package/dist/src/__fixtures__/mock-plugin.js.map +0 -1
  133. package/dist/src/__fixtures__/mock-span.d.ts +0 -78
  134. package/dist/src/__fixtures__/mock-span.d.ts.map +0 -1
  135. package/dist/src/__fixtures__/mock-span.js +0 -93
  136. package/dist/src/__fixtures__/mock-span.js.map +0 -1
  137. package/dist/src/__fixtures__/mock-storage-provider.d.ts +0 -42
  138. package/dist/src/__fixtures__/mock-storage-provider.d.ts.map +0 -1
  139. package/dist/src/__fixtures__/mock-storage-provider.js +0 -122
  140. package/dist/src/__fixtures__/mock-storage-provider.js.map +0 -1
  141. package/dist/src/__fixtures__/model-test-helpers.d.ts +0 -56
  142. package/dist/src/__fixtures__/model-test-helpers.d.ts.map +0 -1
  143. package/dist/src/__fixtures__/model-test-helpers.js +0 -85
  144. package/dist/src/__fixtures__/model-test-helpers.js.map +0 -1
  145. package/dist/src/__fixtures__/register-node-defaults.d.ts +0 -2
  146. package/dist/src/__fixtures__/register-node-defaults.d.ts.map +0 -1
  147. package/dist/src/__fixtures__/register-node-defaults.js +0 -6
  148. package/dist/src/__fixtures__/register-node-defaults.js.map +0 -1
  149. package/dist/src/__fixtures__/slim-types.d.ts +0 -51
  150. package/dist/src/__fixtures__/slim-types.d.ts.map +0 -1
  151. package/dist/src/__fixtures__/slim-types.js +0 -6
  152. package/dist/src/__fixtures__/slim-types.js.map +0 -1
  153. package/dist/src/__fixtures__/test-sandbox.node.d.ts +0 -15
  154. package/dist/src/__fixtures__/test-sandbox.node.d.ts.map +0 -1
  155. package/dist/src/__fixtures__/test-sandbox.node.js +0 -23
  156. package/dist/src/__fixtures__/test-sandbox.node.js.map +0 -1
  157. package/dist/src/__fixtures__/tool-helpers.d.ts +0 -45
  158. package/dist/src/__fixtures__/tool-helpers.d.ts.map +0 -1
  159. package/dist/src/__fixtures__/tool-helpers.js +0 -101
  160. package/dist/src/__fixtures__/tool-helpers.js.map +0 -1
  161. package/dist/src/__tests__/default-slot.test.d.ts +0 -2
  162. package/dist/src/__tests__/default-slot.test.d.ts.map +0 -1
  163. package/dist/src/__tests__/default-slot.test.js +0 -33
  164. package/dist/src/__tests__/default-slot.test.js.map +0 -1
  165. package/dist/src/__tests__/errors.test.d.ts +0 -2
  166. package/dist/src/__tests__/errors.test.d.ts.map +0 -1
  167. package/dist/src/__tests__/errors.test.js +0 -170
  168. package/dist/src/__tests__/errors.test.js.map +0 -1
  169. package/dist/src/__tests__/index.test.d.ts +0 -2
  170. package/dist/src/__tests__/index.test.d.ts.map +0 -1
  171. package/dist/src/__tests__/index.test.js +0 -48
  172. package/dist/src/__tests__/index.test.js.map +0 -1
  173. package/dist/src/__tests__/interrupt.test.d.ts +0 -2
  174. package/dist/src/__tests__/interrupt.test.d.ts.map +0 -1
  175. package/dist/src/__tests__/interrupt.test.js +0 -264
  176. package/dist/src/__tests__/interrupt.test.js.map +0 -1
  177. package/dist/src/__tests__/mcp.test.d.ts +0 -2
  178. package/dist/src/__tests__/mcp.test.d.ts.map +0 -1
  179. package/dist/src/__tests__/mcp.test.js +0 -1003
  180. package/dist/src/__tests__/mcp.test.js.map +0 -1
  181. package/dist/src/__tests__/mime.test.d.ts +0 -2
  182. package/dist/src/__tests__/mime.test.d.ts.map +0 -1
  183. package/dist/src/__tests__/mime.test.js +0 -83
  184. package/dist/src/__tests__/mime.test.js.map +0 -1
  185. package/dist/src/__tests__/state-store.test.d.ts +0 -2
  186. package/dist/src/__tests__/state-store.test.d.ts.map +0 -1
  187. package/dist/src/__tests__/state-store.test.js +0 -285
  188. package/dist/src/__tests__/state-store.test.js.map +0 -1
  189. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts +0 -2
  190. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts.map +0 -1
  191. package/dist/src/a2a/__tests__/a2a-agent.test.js +0 -383
  192. package/dist/src/a2a/__tests__/a2a-agent.test.js.map +0 -1
  193. package/dist/src/a2a/__tests__/adapters.test.d.ts +0 -2
  194. package/dist/src/a2a/__tests__/adapters.test.d.ts.map +0 -1
  195. package/dist/src/a2a/__tests__/adapters.test.js +0 -151
  196. package/dist/src/a2a/__tests__/adapters.test.js.map +0 -1
  197. package/dist/src/a2a/__tests__/async-lock.test.d.ts +0 -2
  198. package/dist/src/a2a/__tests__/async-lock.test.d.ts.map +0 -1
  199. package/dist/src/a2a/__tests__/async-lock.test.js +0 -137
  200. package/dist/src/a2a/__tests__/async-lock.test.js.map +0 -1
  201. package/dist/src/a2a/__tests__/events.test.d.ts +0 -2
  202. package/dist/src/a2a/__tests__/events.test.d.ts.map +0 -1
  203. package/dist/src/a2a/__tests__/events.test.js +0 -68
  204. package/dist/src/a2a/__tests__/events.test.js.map +0 -1
  205. package/dist/src/a2a/__tests__/executor.test.d.ts +0 -2
  206. package/dist/src/a2a/__tests__/executor.test.d.ts.map +0 -1
  207. package/dist/src/a2a/__tests__/executor.test.js +0 -345
  208. package/dist/src/a2a/__tests__/executor.test.js.map +0 -1
  209. package/dist/src/a2a/__tests__/server.test.d.ts +0 -2
  210. package/dist/src/a2a/__tests__/server.test.d.ts.map +0 -1
  211. package/dist/src/a2a/__tests__/server.test.js +0 -71
  212. package/dist/src/a2a/__tests__/server.test.js.map +0 -1
  213. package/dist/src/a2a/__tests__/server.test.node.d.ts +0 -2
  214. package/dist/src/a2a/__tests__/server.test.node.d.ts.map +0 -1
  215. package/dist/src/a2a/__tests__/server.test.node.js +0 -110
  216. package/dist/src/a2a/__tests__/server.test.node.js.map +0 -1
  217. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.d.ts +0 -2
  218. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.d.ts.map +0 -1
  219. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.js +0 -23
  220. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.js.map +0 -1
  221. package/dist/src/agent/__tests__/agent-as-tool.test.d.ts +0 -2
  222. package/dist/src/agent/__tests__/agent-as-tool.test.d.ts.map +0 -1
  223. package/dist/src/agent/__tests__/agent-as-tool.test.js +0 -347
  224. package/dist/src/agent/__tests__/agent-as-tool.test.js.map +0 -1
  225. package/dist/src/agent/__tests__/agent.cancel.test.d.ts +0 -2
  226. package/dist/src/agent/__tests__/agent.cancel.test.d.ts.map +0 -1
  227. package/dist/src/agent/__tests__/agent.cancel.test.js +0 -337
  228. package/dist/src/agent/__tests__/agent.cancel.test.js.map +0 -1
  229. package/dist/src/agent/__tests__/agent.concurrent.test.d.ts +0 -2
  230. package/dist/src/agent/__tests__/agent.concurrent.test.d.ts.map +0 -1
  231. package/dist/src/agent/__tests__/agent.concurrent.test.js +0 -488
  232. package/dist/src/agent/__tests__/agent.concurrent.test.js.map +0 -1
  233. package/dist/src/agent/__tests__/agent.context-manager.test.d.ts +0 -2
  234. package/dist/src/agent/__tests__/agent.context-manager.test.d.ts.map +0 -1
  235. package/dist/src/agent/__tests__/agent.context-manager.test.js +0 -106
  236. package/dist/src/agent/__tests__/agent.context-manager.test.js.map +0 -1
  237. package/dist/src/agent/__tests__/agent.hook.test.d.ts +0 -2
  238. package/dist/src/agent/__tests__/agent.hook.test.d.ts.map +0 -1
  239. package/dist/src/agent/__tests__/agent.hook.test.js +0 -1332
  240. package/dist/src/agent/__tests__/agent.hook.test.js.map +0 -1
  241. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts +0 -2
  242. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts.map +0 -1
  243. package/dist/src/agent/__tests__/agent.interrupt.test.js +0 -779
  244. package/dist/src/agent/__tests__/agent.interrupt.test.js.map +0 -1
  245. package/dist/src/agent/__tests__/agent.invocation-state.test.d.ts +0 -2
  246. package/dist/src/agent/__tests__/agent.invocation-state.test.d.ts.map +0 -1
  247. package/dist/src/agent/__tests__/agent.invocation-state.test.js +0 -219
  248. package/dist/src/agent/__tests__/agent.invocation-state.test.js.map +0 -1
  249. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts +0 -2
  250. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts.map +0 -1
  251. package/dist/src/agent/__tests__/agent.model-retry.test.js +0 -161
  252. package/dist/src/agent/__tests__/agent.model-retry.test.js.map +0 -1
  253. package/dist/src/agent/__tests__/agent.stateful-model.test.d.ts +0 -2
  254. package/dist/src/agent/__tests__/agent.stateful-model.test.d.ts.map +0 -1
  255. package/dist/src/agent/__tests__/agent.stateful-model.test.js +0 -169
  256. package/dist/src/agent/__tests__/agent.stateful-model.test.js.map +0 -1
  257. package/dist/src/agent/__tests__/agent.test.d.ts +0 -2
  258. package/dist/src/agent/__tests__/agent.test.d.ts.map +0 -1
  259. package/dist/src/agent/__tests__/agent.test.js +0 -1624
  260. package/dist/src/agent/__tests__/agent.test.js.map +0 -1
  261. package/dist/src/agent/__tests__/agent.tracer.test.node.d.ts +0 -2
  262. package/dist/src/agent/__tests__/agent.tracer.test.node.d.ts.map +0 -1
  263. package/dist/src/agent/__tests__/agent.tracer.test.node.js +0 -535
  264. package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +0 -1
  265. package/dist/src/agent/__tests__/printer.test.d.ts +0 -2
  266. package/dist/src/agent/__tests__/printer.test.d.ts.map +0 -1
  267. package/dist/src/agent/__tests__/printer.test.js +0 -188
  268. package/dist/src/agent/__tests__/printer.test.js.map +0 -1
  269. package/dist/src/agent/__tests__/snapshot.test.d.ts +0 -2
  270. package/dist/src/agent/__tests__/snapshot.test.d.ts.map +0 -1
  271. package/dist/src/agent/__tests__/snapshot.test.js +0 -442
  272. package/dist/src/agent/__tests__/snapshot.test.js.map +0 -1
  273. package/dist/src/agent/__tests__/tool-caller.test.d.ts +0 -2
  274. package/dist/src/agent/__tests__/tool-caller.test.d.ts.map +0 -1
  275. package/dist/src/agent/__tests__/tool-caller.test.js +0 -459
  276. package/dist/src/agent/__tests__/tool-caller.test.js.map +0 -1
  277. package/dist/src/conversation-manager/__tests__/agentic-context.test.d.ts +0 -2
  278. package/dist/src/conversation-manager/__tests__/agentic-context.test.d.ts.map +0 -1
  279. package/dist/src/conversation-manager/__tests__/agentic-context.test.js +0 -332
  280. package/dist/src/conversation-manager/__tests__/agentic-context.test.js.map +0 -1
  281. package/dist/src/conversation-manager/__tests__/context-compression.test.d.ts +0 -2
  282. package/dist/src/conversation-manager/__tests__/context-compression.test.d.ts.map +0 -1
  283. package/dist/src/conversation-manager/__tests__/context-compression.test.js +0 -176
  284. package/dist/src/conversation-manager/__tests__/context-compression.test.js.map +0 -1
  285. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts +0 -2
  286. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts.map +0 -1
  287. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +0 -321
  288. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +0 -1
  289. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.d.ts +0 -2
  290. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.d.ts.map +0 -1
  291. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +0 -64
  292. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +0 -1
  293. package/dist/src/conversation-manager/__tests__/pin.test.d.ts +0 -2
  294. package/dist/src/conversation-manager/__tests__/pin.test.d.ts.map +0 -1
  295. package/dist/src/conversation-manager/__tests__/pin.test.js +0 -119
  296. package/dist/src/conversation-manager/__tests__/pin.test.js.map +0 -1
  297. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.d.ts +0 -2
  298. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.d.ts.map +0 -1
  299. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +0 -1080
  300. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +0 -1
  301. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.d.ts +0 -2
  302. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.d.ts.map +0 -1
  303. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +0 -400
  304. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +0 -1
  305. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.d.ts +0 -2
  306. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.d.ts.map +0 -1
  307. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.js +0 -138
  308. package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.js.map +0 -1
  309. package/dist/src/hooks/__tests__/events.test.d.ts +0 -2
  310. package/dist/src/hooks/__tests__/events.test.d.ts.map +0 -1
  311. package/dist/src/hooks/__tests__/events.test.js +0 -1060
  312. package/dist/src/hooks/__tests__/events.test.js.map +0 -1
  313. package/dist/src/hooks/__tests__/registry.test.d.ts +0 -2
  314. package/dist/src/hooks/__tests__/registry.test.d.ts.map +0 -1
  315. package/dist/src/hooks/__tests__/registry.test.js +0 -325
  316. package/dist/src/hooks/__tests__/registry.test.js.map +0 -1
  317. package/dist/src/injection/__tests__/message-injection.test.d.ts +0 -2
  318. package/dist/src/injection/__tests__/message-injection.test.d.ts.map +0 -1
  319. package/dist/src/injection/__tests__/message-injection.test.js +0 -200
  320. package/dist/src/injection/__tests__/message-injection.test.js.map +0 -1
  321. package/dist/src/interventions/__tests__/handler.test.d.ts +0 -2
  322. package/dist/src/interventions/__tests__/handler.test.d.ts.map +0 -1
  323. package/dist/src/interventions/__tests__/handler.test.js +0 -35
  324. package/dist/src/interventions/__tests__/handler.test.js.map +0 -1
  325. package/dist/src/interventions/__tests__/registry.test.d.ts +0 -2
  326. package/dist/src/interventions/__tests__/registry.test.d.ts.map +0 -1
  327. package/dist/src/interventions/__tests__/registry.test.js +0 -692
  328. package/dist/src/interventions/__tests__/registry.test.js.map +0 -1
  329. package/dist/src/logging/__tests__/logger.test.d.ts +0 -2
  330. package/dist/src/logging/__tests__/logger.test.d.ts.map +0 -1
  331. package/dist/src/logging/__tests__/logger.test.js +0 -70
  332. package/dist/src/logging/__tests__/logger.test.js.map +0 -1
  333. package/dist/src/logging/__tests__/warn-once.test.d.ts +0 -2
  334. package/dist/src/logging/__tests__/warn-once.test.d.ts.map +0 -1
  335. package/dist/src/logging/__tests__/warn-once.test.js +0 -30
  336. package/dist/src/logging/__tests__/warn-once.test.js.map +0 -1
  337. package/dist/src/mcp.d.ts.map +0 -1
  338. package/dist/src/mcp.js.map +0 -1
  339. package/dist/src/memory/__tests__/memory-manager.test.d.ts +0 -2
  340. package/dist/src/memory/__tests__/memory-manager.test.d.ts.map +0 -1
  341. package/dist/src/memory/__tests__/memory-manager.test.js +0 -679
  342. package/dist/src/memory/__tests__/memory-manager.test.js.map +0 -1
  343. package/dist/src/memory/__tests__/memory-tracing.test.d.ts +0 -2
  344. package/dist/src/memory/__tests__/memory-tracing.test.d.ts.map +0 -1
  345. package/dist/src/memory/__tests__/memory-tracing.test.js +0 -250
  346. package/dist/src/memory/__tests__/memory-tracing.test.js.map +0 -1
  347. package/dist/src/memory/extraction/__tests__/extraction.test.d.ts +0 -2
  348. package/dist/src/memory/extraction/__tests__/extraction.test.d.ts.map +0 -1
  349. package/dist/src/memory/extraction/__tests__/extraction.test.js +0 -639
  350. package/dist/src/memory/extraction/__tests__/extraction.test.js.map +0 -1
  351. package/dist/src/memory/extraction/__tests__/model-extractor.test.d.ts +0 -2
  352. package/dist/src/memory/extraction/__tests__/model-extractor.test.d.ts.map +0 -1
  353. package/dist/src/memory/extraction/__tests__/model-extractor.test.js +0 -104
  354. package/dist/src/memory/extraction/__tests__/model-extractor.test.js.map +0 -1
  355. package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.d.ts +0 -2
  356. package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.d.ts.map +0 -1
  357. package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.js +0 -81
  358. package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.js.map +0 -1
  359. package/dist/src/middleware/__tests__/agent-middleware.test.d.ts +0 -2
  360. package/dist/src/middleware/__tests__/agent-middleware.test.d.ts.map +0 -1
  361. package/dist/src/middleware/__tests__/agent-middleware.test.js +0 -1206
  362. package/dist/src/middleware/__tests__/agent-middleware.test.js.map +0 -1
  363. package/dist/src/middleware/__tests__/copy-on-input.test.d.ts +0 -2
  364. package/dist/src/middleware/__tests__/copy-on-input.test.d.ts.map +0 -1
  365. package/dist/src/middleware/__tests__/copy-on-input.test.js +0 -379
  366. package/dist/src/middleware/__tests__/copy-on-input.test.js.map +0 -1
  367. package/dist/src/middleware/__tests__/custom-stages.test.d.ts +0 -2
  368. package/dist/src/middleware/__tests__/custom-stages.test.d.ts.map +0 -1
  369. package/dist/src/middleware/__tests__/custom-stages.test.js +0 -97
  370. package/dist/src/middleware/__tests__/custom-stages.test.js.map +0 -1
  371. package/dist/src/middleware/__tests__/middleware-interrupts.test.d.ts +0 -2
  372. package/dist/src/middleware/__tests__/middleware-interrupts.test.d.ts.map +0 -1
  373. package/dist/src/middleware/__tests__/middleware-interrupts.test.js +0 -267
  374. package/dist/src/middleware/__tests__/middleware-interrupts.test.js.map +0 -1
  375. package/dist/src/middleware/__tests__/registry.test.d.ts +0 -2
  376. package/dist/src/middleware/__tests__/registry.test.d.ts.map +0 -1
  377. package/dist/src/middleware/__tests__/registry.test.js +0 -525
  378. package/dist/src/middleware/__tests__/registry.test.js.map +0 -1
  379. package/dist/src/models/__tests__/anthropic.test.d.ts +0 -2
  380. package/dist/src/models/__tests__/anthropic.test.d.ts.map +0 -1
  381. package/dist/src/models/__tests__/anthropic.test.js +0 -793
  382. package/dist/src/models/__tests__/anthropic.test.js.map +0 -1
  383. package/dist/src/models/__tests__/bedrock.test.d.ts +0 -2
  384. package/dist/src/models/__tests__/bedrock.test.d.ts.map +0 -1
  385. package/dist/src/models/__tests__/bedrock.test.js +0 -3964
  386. package/dist/src/models/__tests__/bedrock.test.js.map +0 -1
  387. package/dist/src/models/__tests__/defaults.test.d.ts +0 -2
  388. package/dist/src/models/__tests__/defaults.test.d.ts.map +0 -1
  389. package/dist/src/models/__tests__/defaults.test.js +0 -36
  390. package/dist/src/models/__tests__/defaults.test.js.map +0 -1
  391. package/dist/src/models/__tests__/google.test.d.ts +0 -2
  392. package/dist/src/models/__tests__/google.test.d.ts.map +0 -1
  393. package/dist/src/models/__tests__/google.test.js +0 -1145
  394. package/dist/src/models/__tests__/google.test.js.map +0 -1
  395. package/dist/src/models/__tests__/model.test.d.ts +0 -2
  396. package/dist/src/models/__tests__/model.test.d.ts.map +0 -1
  397. package/dist/src/models/__tests__/model.test.js +0 -921
  398. package/dist/src/models/__tests__/model.test.js.map +0 -1
  399. package/dist/src/models/__tests__/streaming.test.d.ts +0 -2
  400. package/dist/src/models/__tests__/streaming.test.d.ts.map +0 -1
  401. package/dist/src/models/__tests__/streaming.test.js +0 -50
  402. package/dist/src/models/__tests__/streaming.test.js.map +0 -1
  403. package/dist/src/models/__tests__/test-utils.d.ts +0 -10
  404. package/dist/src/models/__tests__/test-utils.d.ts.map +0 -1
  405. package/dist/src/models/__tests__/test-utils.js +0 -17
  406. package/dist/src/models/__tests__/test-utils.js.map +0 -1
  407. package/dist/src/models/__tests__/vercel.test.d.ts +0 -2
  408. package/dist/src/models/__tests__/vercel.test.d.ts.map +0 -1
  409. package/dist/src/models/__tests__/vercel.test.js +0 -740
  410. package/dist/src/models/__tests__/vercel.test.js.map +0 -1
  411. package/dist/src/models/openai/__tests__/chat.test.d.ts +0 -2
  412. package/dist/src/models/openai/__tests__/chat.test.d.ts.map +0 -1
  413. package/dist/src/models/openai/__tests__/chat.test.js +0 -1586
  414. package/dist/src/models/openai/__tests__/chat.test.js.map +0 -1
  415. package/dist/src/models/openai/__tests__/errors.test.d.ts +0 -2
  416. package/dist/src/models/openai/__tests__/errors.test.d.ts.map +0 -1
  417. package/dist/src/models/openai/__tests__/errors.test.js +0 -39
  418. package/dist/src/models/openai/__tests__/errors.test.js.map +0 -1
  419. package/dist/src/models/openai/__tests__/mantle.test.d.ts +0 -2
  420. package/dist/src/models/openai/__tests__/mantle.test.d.ts.map +0 -1
  421. package/dist/src/models/openai/__tests__/mantle.test.js +0 -189
  422. package/dist/src/models/openai/__tests__/mantle.test.js.map +0 -1
  423. package/dist/src/models/openai/__tests__/responses.test.d.ts +0 -2
  424. package/dist/src/models/openai/__tests__/responses.test.d.ts.map +0 -1
  425. package/dist/src/models/openai/__tests__/responses.test.js +0 -709
  426. package/dist/src/models/openai/__tests__/responses.test.js.map +0 -1
  427. package/dist/src/multiagent/__tests__/events.test.d.ts +0 -2
  428. package/dist/src/multiagent/__tests__/events.test.d.ts.map +0 -1
  429. package/dist/src/multiagent/__tests__/events.test.js +0 -493
  430. package/dist/src/multiagent/__tests__/events.test.js.map +0 -1
  431. package/dist/src/multiagent/__tests__/graph.invocation-state.test.d.ts +0 -2
  432. package/dist/src/multiagent/__tests__/graph.invocation-state.test.d.ts.map +0 -1
  433. package/dist/src/multiagent/__tests__/graph.invocation-state.test.js +0 -95
  434. package/dist/src/multiagent/__tests__/graph.invocation-state.test.js.map +0 -1
  435. package/dist/src/multiagent/__tests__/graph.test.d.ts +0 -2
  436. package/dist/src/multiagent/__tests__/graph.test.d.ts.map +0 -1
  437. package/dist/src/multiagent/__tests__/graph.test.js +0 -698
  438. package/dist/src/multiagent/__tests__/graph.test.js.map +0 -1
  439. package/dist/src/multiagent/__tests__/graph.tracer.test.d.ts +0 -2
  440. package/dist/src/multiagent/__tests__/graph.tracer.test.d.ts.map +0 -1
  441. package/dist/src/multiagent/__tests__/graph.tracer.test.js +0 -218
  442. package/dist/src/multiagent/__tests__/graph.tracer.test.js.map +0 -1
  443. package/dist/src/multiagent/__tests__/interrupts.test.d.ts +0 -2
  444. package/dist/src/multiagent/__tests__/interrupts.test.d.ts.map +0 -1
  445. package/dist/src/multiagent/__tests__/interrupts.test.js +0 -390
  446. package/dist/src/multiagent/__tests__/interrupts.test.js.map +0 -1
  447. package/dist/src/multiagent/__tests__/nodes.test.d.ts +0 -2
  448. package/dist/src/multiagent/__tests__/nodes.test.d.ts.map +0 -1
  449. package/dist/src/multiagent/__tests__/nodes.test.js +0 -321
  450. package/dist/src/multiagent/__tests__/nodes.test.js.map +0 -1
  451. package/dist/src/multiagent/__tests__/queue.test.d.ts +0 -2
  452. package/dist/src/multiagent/__tests__/queue.test.d.ts.map +0 -1
  453. package/dist/src/multiagent/__tests__/queue.test.js +0 -118
  454. package/dist/src/multiagent/__tests__/queue.test.js.map +0 -1
  455. package/dist/src/multiagent/__tests__/snapshot.test.d.ts +0 -2
  456. package/dist/src/multiagent/__tests__/snapshot.test.d.ts.map +0 -1
  457. package/dist/src/multiagent/__tests__/snapshot.test.js +0 -161
  458. package/dist/src/multiagent/__tests__/snapshot.test.js.map +0 -1
  459. package/dist/src/multiagent/__tests__/state.test.d.ts +0 -2
  460. package/dist/src/multiagent/__tests__/state.test.d.ts.map +0 -1
  461. package/dist/src/multiagent/__tests__/state.test.js +0 -526
  462. package/dist/src/multiagent/__tests__/state.test.js.map +0 -1
  463. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.d.ts +0 -2
  464. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.d.ts.map +0 -1
  465. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.js +0 -56
  466. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.js.map +0 -1
  467. package/dist/src/multiagent/__tests__/swarm.test.d.ts +0 -2
  468. package/dist/src/multiagent/__tests__/swarm.test.d.ts.map +0 -1
  469. package/dist/src/multiagent/__tests__/swarm.test.js +0 -477
  470. package/dist/src/multiagent/__tests__/swarm.test.js.map +0 -1
  471. package/dist/src/multiagent/__tests__/swarm.tracer.test.d.ts +0 -2
  472. package/dist/src/multiagent/__tests__/swarm.tracer.test.d.ts.map +0 -1
  473. package/dist/src/multiagent/__tests__/swarm.tracer.test.js +0 -235
  474. package/dist/src/multiagent/__tests__/swarm.tracer.test.js.map +0 -1
  475. package/dist/src/plugins/__tests__/plugin.test.d.ts +0 -2
  476. package/dist/src/plugins/__tests__/plugin.test.d.ts.map +0 -1
  477. package/dist/src/plugins/__tests__/plugin.test.js +0 -114
  478. package/dist/src/plugins/__tests__/plugin.test.js.map +0 -1
  479. package/dist/src/plugins/__tests__/registry.test.d.ts +0 -2
  480. package/dist/src/plugins/__tests__/registry.test.d.ts.map +0 -1
  481. package/dist/src/plugins/__tests__/registry.test.js +0 -147
  482. package/dist/src/plugins/__tests__/registry.test.js.map +0 -1
  483. package/dist/src/registry/__tests__/tool-registry.test.d.ts +0 -2
  484. package/dist/src/registry/__tests__/tool-registry.test.d.ts.map +0 -1
  485. package/dist/src/registry/__tests__/tool-registry.test.js +0 -210
  486. package/dist/src/registry/__tests__/tool-registry.test.js.map +0 -1
  487. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts +0 -2
  488. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts.map +0 -1
  489. package/dist/src/retry/__tests__/backoff-strategy.test.js +0 -116
  490. package/dist/src/retry/__tests__/backoff-strategy.test.js.map +0 -1
  491. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts +0 -2
  492. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts.map +0 -1
  493. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js +0 -225
  494. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js.map +0 -1
  495. package/dist/src/sandbox/__tests__/default.test.browser.d.ts +0 -2
  496. package/dist/src/sandbox/__tests__/default.test.browser.d.ts.map +0 -1
  497. package/dist/src/sandbox/__tests__/default.test.browser.js +0 -11
  498. package/dist/src/sandbox/__tests__/default.test.browser.js.map +0 -1
  499. package/dist/src/sandbox/__tests__/default.test.node.d.ts +0 -2
  500. package/dist/src/sandbox/__tests__/default.test.node.d.ts.map +0 -1
  501. package/dist/src/sandbox/__tests__/default.test.node.js +0 -23
  502. package/dist/src/sandbox/__tests__/default.test.node.js.map +0 -1
  503. package/dist/src/sandbox/__tests__/docker.test.node.d.ts +0 -2
  504. package/dist/src/sandbox/__tests__/docker.test.node.d.ts.map +0 -1
  505. package/dist/src/sandbox/__tests__/docker.test.node.js +0 -89
  506. package/dist/src/sandbox/__tests__/docker.test.node.js.map +0 -1
  507. package/dist/src/sandbox/__tests__/errors.test.node.d.ts +0 -2
  508. package/dist/src/sandbox/__tests__/errors.test.node.d.ts.map +0 -1
  509. package/dist/src/sandbox/__tests__/errors.test.node.js +0 -33
  510. package/dist/src/sandbox/__tests__/errors.test.node.js.map +0 -1
  511. package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.d.ts +0 -2
  512. package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.d.ts.map +0 -1
  513. package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.js +0 -124
  514. package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.js.map +0 -1
  515. package/dist/src/sandbox/__tests__/posix-shell.test.node.d.ts +0 -2
  516. package/dist/src/sandbox/__tests__/posix-shell.test.node.d.ts.map +0 -1
  517. package/dist/src/sandbox/__tests__/posix-shell.test.node.js +0 -298
  518. package/dist/src/sandbox/__tests__/posix-shell.test.node.js.map +0 -1
  519. package/dist/src/sandbox/__tests__/ssh.test.node.d.ts +0 -2
  520. package/dist/src/sandbox/__tests__/ssh.test.node.d.ts.map +0 -1
  521. package/dist/src/sandbox/__tests__/ssh.test.node.js +0 -262
  522. package/dist/src/sandbox/__tests__/ssh.test.node.js.map +0 -1
  523. package/dist/src/session/__tests__/file-storage.test.node.d.ts +0 -2
  524. package/dist/src/session/__tests__/file-storage.test.node.d.ts.map +0 -1
  525. package/dist/src/session/__tests__/file-storage.test.node.js +0 -278
  526. package/dist/src/session/__tests__/file-storage.test.node.js.map +0 -1
  527. package/dist/src/session/__tests__/s3-storage.test.d.ts +0 -2
  528. package/dist/src/session/__tests__/s3-storage.test.d.ts.map +0 -1
  529. package/dist/src/session/__tests__/s3-storage.test.js +0 -461
  530. package/dist/src/session/__tests__/s3-storage.test.js.map +0 -1
  531. package/dist/src/session/__tests__/session-manager.test.d.ts +0 -2
  532. package/dist/src/session/__tests__/session-manager.test.d.ts.map +0 -1
  533. package/dist/src/session/__tests__/session-manager.test.js +0 -832
  534. package/dist/src/session/__tests__/session-manager.test.js.map +0 -1
  535. package/dist/src/session/__tests__/validation.test.d.ts +0 -2
  536. package/dist/src/session/__tests__/validation.test.d.ts.map +0 -1
  537. package/dist/src/session/__tests__/validation.test.js +0 -47
  538. package/dist/src/session/__tests__/validation.test.js.map +0 -1
  539. package/dist/src/telemetry/__tests__/config.test.d.ts +0 -2
  540. package/dist/src/telemetry/__tests__/config.test.d.ts.map +0 -1
  541. package/dist/src/telemetry/__tests__/config.test.js +0 -64
  542. package/dist/src/telemetry/__tests__/config.test.js.map +0 -1
  543. package/dist/src/telemetry/__tests__/config.test.node.d.ts +0 -2
  544. package/dist/src/telemetry/__tests__/config.test.node.d.ts.map +0 -1
  545. package/dist/src/telemetry/__tests__/config.test.node.js +0 -164
  546. package/dist/src/telemetry/__tests__/config.test.node.js.map +0 -1
  547. package/dist/src/telemetry/__tests__/json.test.d.ts +0 -2
  548. package/dist/src/telemetry/__tests__/json.test.d.ts.map +0 -1
  549. package/dist/src/telemetry/__tests__/json.test.js +0 -89
  550. package/dist/src/telemetry/__tests__/json.test.js.map +0 -1
  551. package/dist/src/telemetry/__tests__/local-trace.test.d.ts +0 -2
  552. package/dist/src/telemetry/__tests__/local-trace.test.d.ts.map +0 -1
  553. package/dist/src/telemetry/__tests__/local-trace.test.js +0 -158
  554. package/dist/src/telemetry/__tests__/local-trace.test.js.map +0 -1
  555. package/dist/src/telemetry/__tests__/meter.test.d.ts +0 -2
  556. package/dist/src/telemetry/__tests__/meter.test.d.ts.map +0 -1
  557. package/dist/src/telemetry/__tests__/meter.test.js +0 -695
  558. package/dist/src/telemetry/__tests__/meter.test.js.map +0 -1
  559. package/dist/src/telemetry/__tests__/tracer.test.node.d.ts +0 -2
  560. package/dist/src/telemetry/__tests__/tracer.test.node.d.ts.map +0 -1
  561. package/dist/src/telemetry/__tests__/tracer.test.node.js +0 -958
  562. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +0 -1
  563. package/dist/src/tools/__tests__/structured-output-tool.test.d.ts +0 -2
  564. package/dist/src/tools/__tests__/structured-output-tool.test.d.ts.map +0 -1
  565. package/dist/src/tools/__tests__/structured-output-tool.test.js +0 -84
  566. package/dist/src/tools/__tests__/structured-output-tool.test.js.map +0 -1
  567. package/dist/src/tools/__tests__/tool-factory.test.d.ts +0 -2
  568. package/dist/src/tools/__tests__/tool-factory.test.d.ts.map +0 -1
  569. package/dist/src/tools/__tests__/tool-factory.test.js +0 -98
  570. package/dist/src/tools/__tests__/tool-factory.test.js.map +0 -1
  571. package/dist/src/tools/__tests__/tool.test.d.ts +0 -2
  572. package/dist/src/tools/__tests__/tool.test.d.ts.map +0 -1
  573. package/dist/src/tools/__tests__/tool.test.js +0 -1043
  574. package/dist/src/tools/__tests__/tool.test.js.map +0 -1
  575. package/dist/src/tools/__tests__/zod-tool.test-d.d.ts +0 -2
  576. package/dist/src/tools/__tests__/zod-tool.test-d.d.ts.map +0 -1
  577. package/dist/src/tools/__tests__/zod-tool.test-d.js +0 -227
  578. package/dist/src/tools/__tests__/zod-tool.test-d.js.map +0 -1
  579. package/dist/src/tools/__tests__/zod-tool.test.d.ts +0 -2
  580. package/dist/src/tools/__tests__/zod-tool.test.d.ts.map +0 -1
  581. package/dist/src/tools/__tests__/zod-tool.test.js +0 -563
  582. package/dist/src/tools/__tests__/zod-tool.test.js.map +0 -1
  583. package/dist/src/types/__tests__/agent.test.d.ts +0 -2
  584. package/dist/src/types/__tests__/agent.test.d.ts.map +0 -1
  585. package/dist/src/types/__tests__/agent.test.js +0 -476
  586. package/dist/src/types/__tests__/agent.test.js.map +0 -1
  587. package/dist/src/types/__tests__/citations.test.d.ts +0 -2
  588. package/dist/src/types/__tests__/citations.test.d.ts.map +0 -1
  589. package/dist/src/types/__tests__/citations.test.js +0 -104
  590. package/dist/src/types/__tests__/citations.test.js.map +0 -1
  591. package/dist/src/types/__tests__/json.test.d.ts +0 -2
  592. package/dist/src/types/__tests__/json.test.d.ts.map +0 -1
  593. package/dist/src/types/__tests__/json.test.js +0 -298
  594. package/dist/src/types/__tests__/json.test.js.map +0 -1
  595. package/dist/src/types/__tests__/media.test.d.ts +0 -2
  596. package/dist/src/types/__tests__/media.test.d.ts.map +0 -1
  597. package/dist/src/types/__tests__/media.test.js +0 -478
  598. package/dist/src/types/__tests__/media.test.js.map +0 -1
  599. package/dist/src/types/__tests__/messages.test.d.ts +0 -2
  600. package/dist/src/types/__tests__/messages.test.d.ts.map +0 -1
  601. package/dist/src/types/__tests__/messages.test.js +0 -681
  602. package/dist/src/types/__tests__/messages.test.js.map +0 -1
  603. package/dist/src/types/__tests__/validation.test.d.ts +0 -2
  604. package/dist/src/types/__tests__/validation.test.d.ts.map +0 -1
  605. package/dist/src/types/__tests__/validation.test.js +0 -30
  606. package/dist/src/types/__tests__/validation.test.js.map +0 -1
  607. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.d.ts +0 -2
  608. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.d.ts.map +0 -1
  609. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.js +0 -756
  610. package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.js.map +0 -1
  611. package/dist/src/vended-interventions/hitl/__tests__/hitl.test.d.ts +0 -2
  612. package/dist/src/vended-interventions/hitl/__tests__/hitl.test.d.ts.map +0 -1
  613. package/dist/src/vended-interventions/hitl/__tests__/hitl.test.js +0 -358
  614. package/dist/src/vended-interventions/hitl/__tests__/hitl.test.js.map +0 -1
  615. package/dist/src/vended-interventions/steering/__tests__/handler.test.d.ts +0 -2
  616. package/dist/src/vended-interventions/steering/__tests__/handler.test.d.ts.map +0 -1
  617. package/dist/src/vended-interventions/steering/__tests__/handler.test.js +0 -163
  618. package/dist/src/vended-interventions/steering/__tests__/handler.test.js.map +0 -1
  619. package/dist/src/vended-interventions/steering/__tests__/llm.test.d.ts +0 -2
  620. package/dist/src/vended-interventions/steering/__tests__/llm.test.d.ts.map +0 -1
  621. package/dist/src/vended-interventions/steering/__tests__/llm.test.js +0 -60
  622. package/dist/src/vended-interventions/steering/__tests__/llm.test.js.map +0 -1
  623. package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.d.ts +0 -2
  624. package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.d.ts.map +0 -1
  625. package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.js +0 -94
  626. package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.js.map +0 -1
  627. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.d.ts +0 -2
  628. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.d.ts.map +0 -1
  629. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.js +0 -758
  630. package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.js.map +0 -1
  631. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.d.ts +0 -2
  632. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.d.ts.map +0 -1
  633. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.js +0 -96
  634. package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.js.map +0 -1
  635. package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.d.ts +0 -2
  636. package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.d.ts.map +0 -1
  637. package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.js +0 -68
  638. package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.js.map +0 -1
  639. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts +0 -2
  640. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts.map +0 -1
  641. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +0 -539
  642. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +0 -1
  643. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.d.ts +0 -2
  644. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.d.ts.map +0 -1
  645. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js +0 -97
  646. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js.map +0 -1
  647. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts +0 -2
  648. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts.map +0 -1
  649. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js +0 -149
  650. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js.map +0 -1
  651. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts +0 -2
  652. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts.map +0 -1
  653. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js +0 -216
  654. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js.map +0 -1
  655. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts +0 -2
  656. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts.map +0 -1
  657. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js +0 -78
  658. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js.map +0 -1
  659. package/dist/src/vended-plugins/goal/__tests__/plugin.test.d.ts +0 -2
  660. package/dist/src/vended-plugins/goal/__tests__/plugin.test.d.ts.map +0 -1
  661. package/dist/src/vended-plugins/goal/__tests__/plugin.test.js +0 -736
  662. package/dist/src/vended-plugins/goal/__tests__/plugin.test.js.map +0 -1
  663. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.d.ts +0 -2
  664. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.d.ts.map +0 -1
  665. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +0 -482
  666. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +0 -1
  667. package/dist/src/vended-plugins/skills/__tests__/skill.test.node.d.ts +0 -2
  668. package/dist/src/vended-plugins/skills/__tests__/skill.test.node.d.ts.map +0 -1
  669. package/dist/src/vended-plugins/skills/__tests__/skill.test.node.js +0 -476
  670. package/dist/src/vended-plugins/skills/__tests__/skill.test.node.js.map +0 -1
  671. package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts +0 -2
  672. package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts.map +0 -1
  673. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +0 -390
  674. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +0 -1
  675. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.d.ts +0 -2
  676. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.d.ts.map +0 -1
  677. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js +0 -452
  678. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +0 -1
  679. package/dist/src/vended-tools/http-request/__tests__/http-request.test.d.ts +0 -2
  680. package/dist/src/vended-tools/http-request/__tests__/http-request.test.d.ts.map +0 -1
  681. package/dist/src/vended-tools/http-request/__tests__/http-request.test.js +0 -189
  682. package/dist/src/vended-tools/http-request/__tests__/http-request.test.js.map +0 -1
  683. package/dist/src/vended-tools/notebook/__tests__/notebook.test.d.ts +0 -2
  684. package/dist/src/vended-tools/notebook/__tests__/notebook.test.d.ts.map +0 -1
  685. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +0 -388
  686. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +0 -1
@@ -1,1060 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { InitializedEvent, AfterInvocationEvent, AfterModelCallEvent, AfterToolCallEvent, AfterToolsEvent, BeforeInvocationEvent, BeforeModelCallEvent, BeforeToolCallEvent, BeforeToolsEvent, MessageAddedEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, ToolStreamUpdateEvent, AgentResultEvent, } from '../events.js';
3
- import { Agent } from '../../agent/agent.js';
4
- import { AgentResult } from '../../types/agent.js';
5
- import { AgentMetrics } from '../../telemetry/meter.js';
6
- import { Message, TextBlock, ToolResultBlock, ToolUseBlock } from '../../types/messages.js';
7
- import { FunctionTool } from '../../tools/function-tool.js';
8
- import { ToolStreamEvent } from '../../tools/tool.js';
9
- describe('InitializedEvent', () => {
10
- it('creates instance with correct properties', () => {
11
- const agent = new Agent();
12
- const event = new InitializedEvent({ agent });
13
- expect(event).toEqual({
14
- type: 'initializedEvent',
15
- agent: agent,
16
- });
17
- // @ts-expect-error verifying that property is readonly
18
- event.agent = new Agent();
19
- });
20
- it('returns false for _shouldReverseCallbacks', () => {
21
- const agent = new Agent();
22
- const event = new InitializedEvent({ agent });
23
- expect(event._shouldReverseCallbacks()).toBe(false);
24
- });
25
- });
26
- describe('BeforeInvocationEvent', () => {
27
- it('creates instance with correct properties', () => {
28
- const agent = new Agent();
29
- const event = new BeforeInvocationEvent({ agent, invocationState: {} });
30
- expect(event).toEqual({
31
- type: 'beforeInvocationEvent',
32
- agent: agent,
33
- cancel: false,
34
- invocationState: {},
35
- });
36
- // @ts-expect-error verifying that property is readonly
37
- event.agent = new Agent();
38
- });
39
- it('returns false for _shouldReverseCallbacks', () => {
40
- const agent = new Agent();
41
- const event = new BeforeInvocationEvent({ agent, invocationState: {} });
42
- expect(event._shouldReverseCallbacks()).toBe(false);
43
- });
44
- it('allows cancel to be set to true', () => {
45
- const agent = new Agent();
46
- const event = new BeforeInvocationEvent({ agent, invocationState: {} });
47
- expect(event.cancel).toBe(false);
48
- event.cancel = true;
49
- expect(event.cancel).toBe(true);
50
- });
51
- it('allows cancel to be set to a string message', () => {
52
- const agent = new Agent();
53
- const event = new BeforeInvocationEvent({ agent, invocationState: {} });
54
- event.cancel = 'unauthorized';
55
- expect(event.cancel).toBe('unauthorized');
56
- });
57
- });
58
- describe('AfterInvocationEvent', () => {
59
- it('creates instance with correct properties', () => {
60
- const agent = new Agent();
61
- const event = new AfterInvocationEvent({ agent, invocationState: {} });
62
- expect(event).toEqual({
63
- type: 'afterInvocationEvent',
64
- agent: agent,
65
- invocationState: {},
66
- resume: undefined,
67
- });
68
- // @ts-expect-error verifying that property is readonly
69
- event.agent = new Agent();
70
- });
71
- it('returns true for _shouldReverseCallbacks', () => {
72
- const agent = new Agent();
73
- const event = new AfterInvocationEvent({ agent, invocationState: {} });
74
- expect(event._shouldReverseCallbacks()).toBe(true);
75
- });
76
- it('allows resume to be set to new input', () => {
77
- const agent = new Agent();
78
- const event = new AfterInvocationEvent({ agent, invocationState: {} });
79
- expect(event.resume).toBeUndefined();
80
- event.resume = 'follow-up prompt';
81
- expect(event.resume).toBe('follow-up prompt');
82
- });
83
- });
84
- describe('MessageAddedEvent', () => {
85
- it('creates instance with correct properties', () => {
86
- const agent = new Agent();
87
- const message = new Message({ role: 'assistant', content: [new TextBlock('Hello')] });
88
- const event = new MessageAddedEvent({ agent, message, invocationState: {} });
89
- expect(event).toEqual({
90
- type: 'messageAddedEvent',
91
- agent: agent,
92
- message: message,
93
- invocationState: {},
94
- });
95
- // @ts-expect-error verifying that property is readonly
96
- event.agent = new Agent();
97
- // @ts-expect-error verifying that property is readonly
98
- event.message = message;
99
- });
100
- it('returns false for _shouldReverseCallbacks', () => {
101
- const agent = new Agent();
102
- const message = new Message({ role: 'assistant', content: [] });
103
- const event = new MessageAddedEvent({ agent, message, invocationState: {} });
104
- expect(event._shouldReverseCallbacks()).toBe(false);
105
- });
106
- });
107
- describe('BeforeToolCallEvent', () => {
108
- it('creates instance with correct properties when tool is found', () => {
109
- const agent = new Agent();
110
- const tool = new FunctionTool({
111
- name: 'testTool',
112
- description: 'Test tool',
113
- inputSchema: {},
114
- callback: () => 'result',
115
- });
116
- const toolUse = {
117
- name: 'testTool',
118
- toolUseId: 'test-id',
119
- input: { arg: 'value' },
120
- };
121
- const event = new BeforeToolCallEvent({ agent, toolUse, tool, invocationState: {} });
122
- expect(event).toEqual({
123
- type: 'beforeToolCallEvent',
124
- agent: agent,
125
- toolUse: toolUse,
126
- tool: tool,
127
- cancel: false,
128
- invocationState: {},
129
- selectedTool: undefined,
130
- });
131
- // @ts-expect-error verifying that property is readonly
132
- event.agent = new Agent();
133
- // @ts-expect-error verifying that property is readonly
134
- event.tool = tool;
135
- });
136
- it('creates instance with undefined tool when tool is not found', () => {
137
- const agent = new Agent();
138
- const toolUse = {
139
- name: 'unknownTool',
140
- toolUseId: 'test-id',
141
- input: {},
142
- };
143
- const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
144
- expect(event).toEqual({
145
- type: 'beforeToolCallEvent',
146
- agent: agent,
147
- toolUse: toolUse,
148
- tool: undefined,
149
- cancel: false,
150
- invocationState: {},
151
- selectedTool: undefined,
152
- });
153
- });
154
- it('returns false for _shouldReverseCallbacks', () => {
155
- const agent = new Agent();
156
- const toolUse = { name: 'test', toolUseId: 'id', input: {} };
157
- const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
158
- expect(event._shouldReverseCallbacks()).toBe(false);
159
- });
160
- it('allows cancel to be set to true', () => {
161
- const agent = new Agent();
162
- const toolUse = { name: 'test', toolUseId: 'id', input: {} };
163
- const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
164
- expect(event.cancel).toBe(false);
165
- event.cancel = true;
166
- expect(event.cancel).toBe(true);
167
- });
168
- it('allows cancel to be set to a string message', () => {
169
- const agent = new Agent();
170
- const toolUse = { name: 'test', toolUseId: 'id', input: {} };
171
- const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
172
- event.cancel = 'tool not allowed';
173
- expect(event.cancel).toBe('tool not allowed');
174
- });
175
- it('allows selectedTool to be set to a replacement tool', () => {
176
- const agent = new Agent();
177
- const toolUse = { name: 'test', toolUseId: 'id', input: {} };
178
- const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
179
- expect(event.selectedTool).toBeUndefined();
180
- const replacement = new FunctionTool({
181
- name: 'replacement',
182
- description: 'Replacement',
183
- inputSchema: {},
184
- callback: () => 'ok',
185
- });
186
- event.selectedTool = replacement;
187
- expect(event.selectedTool).toBe(replacement);
188
- });
189
- it('allows mutating toolUse fields in-place', () => {
190
- const agent = new Agent();
191
- const toolUse = { name: 'orig', toolUseId: 'id', input: { a: 1 } };
192
- const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
193
- event.toolUse.input = { a: 2, b: 3 };
194
- event.toolUse.name = 'renamed';
195
- expect(event.toolUse).toEqual({ name: 'renamed', toolUseId: 'id', input: { a: 2, b: 3 } });
196
- });
197
- it('allows reassigning toolUse to a new object', () => {
198
- const agent = new Agent();
199
- const toolUse = { name: 'orig', toolUseId: 'id', input: {} };
200
- const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
201
- event.toolUse = { name: 'new', toolUseId: 'new-id', input: { x: 1 } };
202
- expect(event.toolUse).toEqual({ name: 'new', toolUseId: 'new-id', input: { x: 1 } });
203
- });
204
- });
205
- describe('AfterToolCallEvent', () => {
206
- it('creates instance with correct properties on success', () => {
207
- const agent = new Agent();
208
- const tool = new FunctionTool({
209
- name: 'testTool',
210
- description: 'Test tool',
211
- inputSchema: {},
212
- callback: () => 'result',
213
- });
214
- const toolUse = {
215
- name: 'testTool',
216
- toolUseId: 'test-id',
217
- input: {},
218
- };
219
- const result = new ToolResultBlock({
220
- toolUseId: 'test-id',
221
- status: 'success',
222
- content: [new TextBlock('Success')],
223
- });
224
- const event = new AfterToolCallEvent({ agent, toolUse, tool, result, invocationState: {} });
225
- expect(event).toEqual({
226
- type: 'afterToolCallEvent',
227
- agent: agent,
228
- toolUse: toolUse,
229
- tool: tool,
230
- result: result,
231
- error: undefined,
232
- invocationState: {},
233
- });
234
- // @ts-expect-error verifying that property is readonly
235
- event.agent = new Agent();
236
- // @ts-expect-error verifying that property is readonly
237
- event.toolUse = toolUse;
238
- // @ts-expect-error verifying that property is readonly
239
- event.tool = tool;
240
- });
241
- it('allows result to be replaced', () => {
242
- const agent = new Agent();
243
- const toolUse = { name: 'test', toolUseId: 'id', input: {} };
244
- const result = new ToolResultBlock({ toolUseId: 'id', status: 'success', content: [new TextBlock('original')] });
245
- const event = new AfterToolCallEvent({ agent, toolUse, tool: undefined, result, invocationState: {} });
246
- const replacedResult = new ToolResultBlock({
247
- toolUseId: 'id',
248
- status: 'success',
249
- content: [new TextBlock('replaced')],
250
- });
251
- event.result = replacedResult;
252
- expect(event.result).toBe(replacedResult);
253
- });
254
- it('creates instance with error property when tool execution fails', () => {
255
- const agent = new Agent();
256
- const toolUse = { name: 'test', toolUseId: 'id', input: {} };
257
- const result = new ToolResultBlock({
258
- toolUseId: 'id',
259
- status: 'error',
260
- content: [new TextBlock('Error')],
261
- });
262
- const error = new Error('Tool failed');
263
- const event = new AfterToolCallEvent({ agent, toolUse, tool: undefined, result, error, invocationState: {} });
264
- expect(event).toEqual({
265
- type: 'afterToolCallEvent',
266
- agent: agent,
267
- toolUse: toolUse,
268
- tool: undefined,
269
- result: result,
270
- error: error,
271
- invocationState: {},
272
- });
273
- });
274
- it('returns true for _shouldReverseCallbacks', () => {
275
- const agent = new Agent();
276
- const toolUse = { name: 'test', toolUseId: 'id', input: {} };
277
- const result = new ToolResultBlock({
278
- toolUseId: 'id',
279
- status: 'success',
280
- content: [],
281
- });
282
- const event = new AfterToolCallEvent({ agent, toolUse, tool: undefined, result, invocationState: {} });
283
- expect(event._shouldReverseCallbacks()).toBe(true);
284
- });
285
- it('allows retry to be set when error is present', () => {
286
- const agent = new Agent();
287
- const toolUse = { name: 'test', toolUseId: 'id', input: {} };
288
- const result = new ToolResultBlock({
289
- toolUseId: 'id',
290
- status: 'error',
291
- content: [new TextBlock('Error')],
292
- });
293
- const error = new Error('Tool failed');
294
- const event = new AfterToolCallEvent({ agent, toolUse, tool: undefined, result, error, invocationState: {} });
295
- expect(event.retry).toBeUndefined();
296
- event.retry = true;
297
- expect(event.retry).toBe(true);
298
- event.retry = false;
299
- expect(event.retry).toBe(false);
300
- });
301
- it('allows retry to be set on success', () => {
302
- const agent = new Agent();
303
- const toolUse = { name: 'test', toolUseId: 'id', input: {} };
304
- const result = new ToolResultBlock({
305
- toolUseId: 'id',
306
- status: 'success',
307
- content: [new TextBlock('Success')],
308
- });
309
- const event = new AfterToolCallEvent({ agent, toolUse, tool: undefined, result, invocationState: {} });
310
- expect(event.retry).toBeUndefined();
311
- event.retry = true;
312
- expect(event.retry).toBe(true);
313
- });
314
- });
315
- describe('BeforeModelCallEvent', () => {
316
- it('creates instance with correct properties', () => {
317
- const agent = new Agent();
318
- const event = new BeforeModelCallEvent({ agent, model: agent.model, invocationState: {} });
319
- expect(event).toEqual({
320
- type: 'beforeModelCallEvent',
321
- agent: agent,
322
- model: agent.model,
323
- cancel: false,
324
- invocationState: {},
325
- });
326
- // @ts-expect-error verifying that property is readonly
327
- event.agent = new Agent();
328
- });
329
- it('includes projectedInputTokens when provided', () => {
330
- const agent = new Agent();
331
- const event = new BeforeModelCallEvent({
332
- agent,
333
- model: agent.model,
334
- invocationState: {},
335
- projectedInputTokens: 500,
336
- });
337
- expect(event).toEqual({
338
- type: 'beforeModelCallEvent',
339
- agent,
340
- model: agent.model,
341
- cancel: false,
342
- invocationState: {},
343
- projectedInputTokens: 500,
344
- });
345
- expect(event.toJSON()).toStrictEqual({
346
- type: 'beforeModelCallEvent',
347
- projectedInputTokens: 500,
348
- });
349
- });
350
- it('excludes projectedInputTokens from toJSON when not provided', () => {
351
- const agent = new Agent();
352
- const event = new BeforeModelCallEvent({ agent, model: agent.model, invocationState: {} });
353
- expect(event.projectedInputTokens).toBeUndefined();
354
- expect(event.toJSON()).toStrictEqual({ type: 'beforeModelCallEvent' });
355
- });
356
- it('returns false for _shouldReverseCallbacks', () => {
357
- const agent = new Agent();
358
- const event = new BeforeModelCallEvent({ agent, model: agent.model, invocationState: {} });
359
- expect(event._shouldReverseCallbacks()).toBe(false);
360
- });
361
- it('allows cancel to be set to true', () => {
362
- const agent = new Agent();
363
- const event = new BeforeModelCallEvent({ agent, model: agent.model, invocationState: {} });
364
- expect(event.cancel).toBe(false);
365
- event.cancel = true;
366
- expect(event.cancel).toBe(true);
367
- });
368
- it('allows cancel to be set to a string message', () => {
369
- const agent = new Agent();
370
- const event = new BeforeModelCallEvent({ agent, model: agent.model, invocationState: {} });
371
- event.cancel = 'rate limited';
372
- expect(event.cancel).toBe('rate limited');
373
- });
374
- });
375
- describe('AfterModelCallEvent', () => {
376
- it('creates instance with correct properties on success', () => {
377
- const agent = new Agent();
378
- const message = new Message({ role: 'assistant', content: [new TextBlock('Response')] });
379
- const stopReason = 'endTurn';
380
- const response = { message, stopReason };
381
- const event = new AfterModelCallEvent({
382
- agent,
383
- model: agent.model,
384
- attemptCount: 1,
385
- stopData: response,
386
- invocationState: {},
387
- });
388
- expect(event).toEqual({
389
- type: 'afterModelCallEvent',
390
- agent: agent,
391
- model: agent.model,
392
- attemptCount: 1,
393
- stopData: response,
394
- error: undefined,
395
- invocationState: {},
396
- });
397
- // @ts-expect-error verifying that property is readonly
398
- event.agent = new Agent();
399
- // @ts-expect-error verifying that property is readonly
400
- event.stopData = response;
401
- });
402
- it('creates instance with error property when model invocation fails', () => {
403
- const agent = new Agent();
404
- const message = new Message({ role: 'assistant', content: [] });
405
- const error = new Error('Model failed');
406
- const response = { message, stopReason: 'error' };
407
- const event = new AfterModelCallEvent({
408
- agent,
409
- model: agent.model,
410
- attemptCount: 1,
411
- stopData: response,
412
- error,
413
- invocationState: {},
414
- });
415
- expect(event).toEqual({
416
- type: 'afterModelCallEvent',
417
- agent: agent,
418
- model: agent.model,
419
- attemptCount: 1,
420
- stopData: response,
421
- error: error,
422
- invocationState: {},
423
- });
424
- });
425
- it('returns true for _shouldReverseCallbacks', () => {
426
- const agent = new Agent();
427
- const message = new Message({ role: 'assistant', content: [] });
428
- const response = { message, stopReason: 'endTurn' };
429
- const event = new AfterModelCallEvent({
430
- agent,
431
- model: agent.model,
432
- attemptCount: 1,
433
- stopData: response,
434
- invocationState: {},
435
- });
436
- expect(event._shouldReverseCallbacks()).toBe(true);
437
- });
438
- it('allows retry to be set when error is present', () => {
439
- const agent = new Agent();
440
- const error = new Error('Model failed');
441
- const event = new AfterModelCallEvent({ agent, model: agent.model, attemptCount: 1, error, invocationState: {} });
442
- // Initially undefined
443
- expect(event.retry).toBeUndefined();
444
- // Can be set to true
445
- event.retry = true;
446
- expect(event.retry).toBe(true);
447
- // Can be set to false
448
- event.retry = false;
449
- expect(event.retry).toBe(false);
450
- });
451
- it('retry is optional and defaults to undefined', () => {
452
- const agent = new Agent();
453
- const error = new Error('Model failed');
454
- const event = new AfterModelCallEvent({ agent, model: agent.model, attemptCount: 1, error, invocationState: {} });
455
- expect(event.retry).toBeUndefined();
456
- });
457
- });
458
- describe('ModelStreamUpdateEvent', () => {
459
- it('creates instance with correct properties', () => {
460
- const agent = new Agent();
461
- const streamEvent = {
462
- type: 'modelMessageStartEvent',
463
- role: 'assistant',
464
- };
465
- const hookEvent = new ModelStreamUpdateEvent({ agent, event: streamEvent, invocationState: {} });
466
- expect(hookEvent).toEqual({
467
- type: 'modelStreamUpdateEvent',
468
- agent: agent,
469
- event: streamEvent,
470
- invocationState: {},
471
- });
472
- // @ts-expect-error verifying that property is readonly
473
- hookEvent.agent = new Agent();
474
- // @ts-expect-error verifying that property is readonly
475
- hookEvent.event = streamEvent;
476
- });
477
- });
478
- describe('ContentBlockEvent', () => {
479
- it('creates instance with correct properties', () => {
480
- const agent = new Agent();
481
- const contentBlock = new TextBlock('Hello');
482
- const event = new ContentBlockEvent({ agent, contentBlock, invocationState: {} });
483
- expect(event).toEqual({
484
- type: 'contentBlockEvent',
485
- agent: agent,
486
- contentBlock: contentBlock,
487
- invocationState: {},
488
- });
489
- // @ts-expect-error verifying that property is readonly
490
- event.agent = new Agent();
491
- // @ts-expect-error verifying that property is readonly
492
- event.contentBlock = contentBlock;
493
- });
494
- });
495
- describe('ModelMessageEvent', () => {
496
- it('creates instance with correct properties', () => {
497
- const agent = new Agent();
498
- const message = new Message({ role: 'assistant', content: [new TextBlock('Hello')] });
499
- const event = new ModelMessageEvent({ agent, message, stopReason: 'endTurn', invocationState: {} });
500
- expect(event).toEqual({
501
- type: 'modelMessageEvent',
502
- agent: agent,
503
- message: message,
504
- stopReason: 'endTurn',
505
- invocationState: {},
506
- });
507
- // @ts-expect-error verifying that property is readonly
508
- event.agent = new Agent();
509
- // @ts-expect-error verifying that property is readonly
510
- event.message = message;
511
- // @ts-expect-error verifying that property is readonly
512
- event.stopReason = 'endTurn';
513
- });
514
- });
515
- describe('ToolResultEvent', () => {
516
- it('creates instance with correct properties', () => {
517
- const agent = new Agent();
518
- const toolResult = new ToolResultBlock({
519
- toolUseId: 'test-id',
520
- status: 'success',
521
- content: [new TextBlock('Result')],
522
- });
523
- const event = new ToolResultEvent({ agent, result: toolResult, invocationState: {} });
524
- expect(event).toEqual({
525
- type: 'toolResultEvent',
526
- agent: agent,
527
- result: toolResult,
528
- invocationState: {},
529
- });
530
- // @ts-expect-error verifying that property is readonly
531
- event.agent = new Agent();
532
- // @ts-expect-error verifying that property is readonly
533
- event.result = toolResult;
534
- });
535
- });
536
- describe('ToolStreamUpdateEvent', () => {
537
- it('creates instance with correct properties', () => {
538
- const agent = new Agent();
539
- const toolStreamEvent = new ToolStreamEvent({ data: 'progress' });
540
- const event = new ToolStreamUpdateEvent({ agent, event: toolStreamEvent, invocationState: {} });
541
- expect(event).toEqual({
542
- type: 'toolStreamUpdateEvent',
543
- agent: agent,
544
- event: toolStreamEvent,
545
- invocationState: {},
546
- });
547
- // @ts-expect-error verifying that property is readonly
548
- event.agent = new Agent();
549
- // @ts-expect-error verifying that property is readonly
550
- event.event = toolStreamEvent;
551
- });
552
- });
553
- describe('AgentResultEvent', () => {
554
- it('creates instance with correct properties', () => {
555
- const agent = new Agent();
556
- const result = new AgentResult({
557
- stopReason: 'endTurn',
558
- lastMessage: new Message({ role: 'assistant', content: [new TextBlock('Done')] }),
559
- metrics: new AgentMetrics(),
560
- invocationState: {},
561
- });
562
- const event = new AgentResultEvent({ agent, result, invocationState: {} });
563
- expect(event).toEqual({
564
- type: 'agentResultEvent',
565
- agent: agent,
566
- result: result,
567
- invocationState: {},
568
- });
569
- // @ts-expect-error verifying that property is readonly
570
- event.agent = new Agent();
571
- // @ts-expect-error verifying that property is readonly
572
- event.result = result;
573
- });
574
- });
575
- describe('BeforeToolsEvent', () => {
576
- it('creates instance with correct properties', () => {
577
- const agent = new Agent();
578
- const message = new Message({
579
- role: 'assistant',
580
- content: [
581
- new ToolUseBlock({
582
- name: 'testTool',
583
- toolUseId: 'test-id',
584
- input: { arg: 'value' },
585
- }),
586
- ],
587
- });
588
- const event = new BeforeToolsEvent({ agent, message, invocationState: {} });
589
- expect(event).toEqual({
590
- type: 'beforeToolsEvent',
591
- agent: agent,
592
- message: message,
593
- cancel: false,
594
- invocationState: {},
595
- });
596
- // @ts-expect-error verifying that property is readonly
597
- event.agent = new Agent();
598
- // @ts-expect-error verifying that property is readonly
599
- event.message = message;
600
- });
601
- it('returns false for _shouldReverseCallbacks', () => {
602
- const agent = new Agent();
603
- const message = new Message({ role: 'assistant', content: [] });
604
- const event = new BeforeToolsEvent({ agent, message, invocationState: {} });
605
- expect(event._shouldReverseCallbacks()).toBe(false);
606
- });
607
- it('allows cancel to be set to true', () => {
608
- const agent = new Agent();
609
- const message = new Message({ role: 'assistant', content: [] });
610
- const event = new BeforeToolsEvent({ agent, message, invocationState: {} });
611
- expect(event.cancel).toBe(false);
612
- event.cancel = true;
613
- expect(event.cancel).toBe(true);
614
- });
615
- it('allows cancel to be set to a string message', () => {
616
- const agent = new Agent();
617
- const message = new Message({ role: 'assistant', content: [] });
618
- const event = new BeforeToolsEvent({ agent, message, invocationState: {} });
619
- event.cancel = 'tools not allowed';
620
- expect(event.cancel).toBe('tools not allowed');
621
- });
622
- });
623
- describe('AfterToolsEvent', () => {
624
- it('creates instance with correct properties', () => {
625
- const agent = new Agent();
626
- const message = new Message({
627
- role: 'user',
628
- content: [
629
- new ToolResultBlock({
630
- toolUseId: 'test-id',
631
- status: 'success',
632
- content: [new TextBlock('Result')],
633
- }),
634
- ],
635
- });
636
- const event = new AfterToolsEvent({ agent, message, invocationState: {} });
637
- expect(event).toEqual({
638
- type: 'afterToolsEvent',
639
- agent: agent,
640
- message: message,
641
- invocationState: {},
642
- endTurn: false,
643
- });
644
- // @ts-expect-error verifying that property is readonly
645
- event.agent = new Agent();
646
- // @ts-expect-error verifying that property is readonly
647
- event.message = message;
648
- });
649
- it('returns true for _shouldReverseCallbacks', () => {
650
- const agent = new Agent();
651
- const message = new Message({ role: 'user', content: [] });
652
- const event = new AfterToolsEvent({ agent, message, invocationState: {} });
653
- expect(event._shouldReverseCallbacks()).toBe(true);
654
- });
655
- it('defaults endTurn to false and accepts boolean or string', () => {
656
- const agent = new Agent();
657
- const message = new Message({ role: 'user', content: [] });
658
- const event = new AfterToolsEvent({ agent, message, invocationState: {} });
659
- expect(event.endTurn).toBe(false);
660
- event.endTurn = true;
661
- expect(event.endTurn).toBe(true);
662
- event.endTurn = 'enough information gathered';
663
- expect(event.endTurn).toBe('enough information gathered');
664
- });
665
- });
666
- // ===================== toJSON serialization tests =====================
667
- describe('toJSON serialization', () => {
668
- describe('InitializedEvent', () => {
669
- it('excludes agent and returns only type', () => {
670
- const agent = new Agent();
671
- const event = new InitializedEvent({ agent });
672
- const json = JSON.parse(JSON.stringify(event));
673
- expect(json).toStrictEqual({ type: 'initializedEvent' });
674
- });
675
- });
676
- describe('BeforeInvocationEvent', () => {
677
- it('excludes agent and returns only type', () => {
678
- const agent = new Agent();
679
- const event = new BeforeInvocationEvent({ agent, invocationState: {} });
680
- const json = JSON.parse(JSON.stringify(event));
681
- expect(json).toStrictEqual({ type: 'beforeInvocationEvent' });
682
- });
683
- });
684
- describe('AfterInvocationEvent', () => {
685
- it('excludes agent and returns only type', () => {
686
- const agent = new Agent();
687
- const event = new AfterInvocationEvent({ agent, invocationState: {} });
688
- const json = JSON.parse(JSON.stringify(event));
689
- expect(json).toStrictEqual({ type: 'afterInvocationEvent' });
690
- });
691
- });
692
- describe('BeforeModelCallEvent', () => {
693
- it('excludes agent and model and returns only type', () => {
694
- const agent = new Agent();
695
- const event = new BeforeModelCallEvent({ agent, model: agent.model, invocationState: {} });
696
- const json = JSON.parse(JSON.stringify(event));
697
- expect(json).toStrictEqual({ type: 'beforeModelCallEvent' });
698
- });
699
- });
700
- describe('MessageAddedEvent', () => {
701
- it('includes message and excludes agent', () => {
702
- const agent = new Agent();
703
- const message = new Message({ role: 'assistant', content: [new TextBlock('Hello')] });
704
- const event = new MessageAddedEvent({ agent, message, invocationState: {} });
705
- const json = JSON.parse(JSON.stringify(event));
706
- expect(json).toStrictEqual({
707
- type: 'messageAddedEvent',
708
- message: { role: 'assistant', content: [{ text: 'Hello' }] },
709
- });
710
- });
711
- });
712
- describe('ModelStreamUpdateEvent', () => {
713
- it('includes stream event and excludes agent', () => {
714
- const agent = new Agent();
715
- const streamEvent = {
716
- type: 'modelContentBlockDeltaEvent',
717
- delta: { type: 'textDelta', text: 'Hi' },
718
- };
719
- const event = new ModelStreamUpdateEvent({ agent, event: streamEvent, invocationState: {} });
720
- const json = JSON.parse(JSON.stringify(event));
721
- expect(json).toStrictEqual({
722
- type: 'modelStreamUpdateEvent',
723
- event: { type: 'modelContentBlockDeltaEvent', delta: { type: 'textDelta', text: 'Hi' } },
724
- });
725
- });
726
- });
727
- describe('ContentBlockEvent', () => {
728
- it('includes content block and excludes agent', () => {
729
- const agent = new Agent();
730
- const contentBlock = new TextBlock('Hello world');
731
- const event = new ContentBlockEvent({ agent, contentBlock, invocationState: {} });
732
- const json = JSON.parse(JSON.stringify(event));
733
- expect(json).toStrictEqual({
734
- type: 'contentBlockEvent',
735
- contentBlock: { text: 'Hello world' },
736
- });
737
- });
738
- });
739
- describe('ModelMessageEvent', () => {
740
- it('includes message and stopReason, excludes agent', () => {
741
- const agent = new Agent();
742
- const message = new Message({ role: 'assistant', content: [new TextBlock('Done')] });
743
- const event = new ModelMessageEvent({ agent, message, stopReason: 'endTurn', invocationState: {} });
744
- const json = JSON.parse(JSON.stringify(event));
745
- expect(json).toStrictEqual({
746
- type: 'modelMessageEvent',
747
- message: { role: 'assistant', content: [{ text: 'Done' }] },
748
- stopReason: 'endTurn',
749
- });
750
- });
751
- });
752
- describe('ToolResultEvent', () => {
753
- it('includes result and excludes agent', () => {
754
- const agent = new Agent();
755
- const result = new ToolResultBlock({
756
- toolUseId: 'tool-1',
757
- status: 'success',
758
- content: [new TextBlock('42')],
759
- });
760
- const event = new ToolResultEvent({ agent, result, invocationState: {} });
761
- const json = JSON.parse(JSON.stringify(event));
762
- expect(json).toStrictEqual({
763
- type: 'toolResultEvent',
764
- result: { toolResult: { toolUseId: 'tool-1', status: 'success', content: [{ text: '42' }] } },
765
- });
766
- });
767
- });
768
- describe('ToolStreamUpdateEvent', () => {
769
- it('includes tool stream event and excludes agent', () => {
770
- const agent = new Agent();
771
- const toolStreamEvent = new ToolStreamEvent({ data: { progress: 50 } });
772
- const event = new ToolStreamUpdateEvent({ agent, event: toolStreamEvent, invocationState: {} });
773
- const json = JSON.parse(JSON.stringify(event));
774
- expect(json).toStrictEqual({
775
- type: 'toolStreamUpdateEvent',
776
- event: { type: 'toolStreamEvent', data: { progress: 50 } },
777
- });
778
- });
779
- });
780
- describe('AgentResultEvent', () => {
781
- it('includes result and excludes agent', () => {
782
- const agent = new Agent();
783
- const result = new AgentResult({
784
- stopReason: 'endTurn',
785
- lastMessage: new Message({ role: 'assistant', content: [new TextBlock('Done')] }),
786
- metrics: new AgentMetrics(),
787
- invocationState: {},
788
- });
789
- const event = new AgentResultEvent({ agent, result, invocationState: {} });
790
- const json = JSON.parse(JSON.stringify(event));
791
- expect(json).toStrictEqual({
792
- type: 'agentResultEvent',
793
- result: {
794
- type: 'agentResult',
795
- stopReason: 'endTurn',
796
- lastMessage: { role: 'assistant', content: [{ text: 'Done' }] },
797
- },
798
- });
799
- });
800
- });
801
- describe('BeforeToolCallEvent', () => {
802
- it('includes toolUse and excludes agent, tool, and cancel', () => {
803
- const agent = new Agent();
804
- const tool = new FunctionTool({
805
- name: 'testTool',
806
- description: 'Test',
807
- inputSchema: {},
808
- callback: () => 'result',
809
- });
810
- const toolUse = { name: 'testTool', toolUseId: 'id-1', input: { query: 'hello' } };
811
- const event = new BeforeToolCallEvent({ agent, toolUse, tool, invocationState: {} });
812
- const json = JSON.parse(JSON.stringify(event));
813
- expect(json).toStrictEqual({
814
- type: 'beforeToolCallEvent',
815
- toolUse: { name: 'testTool', toolUseId: 'id-1', input: { query: 'hello' } },
816
- });
817
- });
818
- });
819
- describe('AfterToolCallEvent', () => {
820
- it('includes toolUse and result, excludes agent and tool on success', () => {
821
- const agent = new Agent();
822
- const toolUse = { name: 'calc', toolUseId: 'id-1', input: {} };
823
- const result = new ToolResultBlock({
824
- toolUseId: 'id-1',
825
- status: 'success',
826
- content: [new TextBlock('42')],
827
- });
828
- const event = new AfterToolCallEvent({ agent, toolUse, tool: undefined, result, invocationState: {} });
829
- const json = JSON.parse(JSON.stringify(event));
830
- expect(json).toStrictEqual({
831
- type: 'afterToolCallEvent',
832
- toolUse: { name: 'calc', toolUseId: 'id-1', input: {} },
833
- result: { toolResult: { toolUseId: 'id-1', status: 'success', content: [{ text: '42' }] } },
834
- });
835
- });
836
- it('converts error to message string and excludes retry', () => {
837
- const agent = new Agent();
838
- const toolUse = { name: 'calc', toolUseId: 'id-1', input: {} };
839
- const result = new ToolResultBlock({
840
- toolUseId: 'id-1',
841
- status: 'error',
842
- content: [new TextBlock('Error')],
843
- });
844
- const error = new Error('Tool crashed');
845
- const event = new AfterToolCallEvent({ agent, toolUse, tool: undefined, result, error, invocationState: {} });
846
- event.retry = true;
847
- const json = JSON.parse(JSON.stringify(event));
848
- expect(json).toStrictEqual({
849
- type: 'afterToolCallEvent',
850
- toolUse: { name: 'calc', toolUseId: 'id-1', input: {} },
851
- result: { toolResult: { toolUseId: 'id-1', status: 'error', content: [{ text: 'Error' }] } },
852
- error: { message: 'Tool crashed' },
853
- });
854
- });
855
- });
856
- describe('AfterModelCallEvent', () => {
857
- it('includes stopData and attemptCount and excludes agent and model on success', () => {
858
- const agent = new Agent();
859
- const message = new Message({ role: 'assistant', content: [new TextBlock('Hi')] });
860
- const stopData = { message, stopReason: 'endTurn' };
861
- const event = new AfterModelCallEvent({
862
- agent,
863
- model: agent.model,
864
- attemptCount: 2,
865
- stopData,
866
- invocationState: {},
867
- });
868
- const json = JSON.parse(JSON.stringify(event));
869
- expect(json).toStrictEqual({
870
- type: 'afterModelCallEvent',
871
- attemptCount: 2,
872
- stopData: {
873
- message: { role: 'assistant', content: [{ text: 'Hi' }] },
874
- stopReason: 'endTurn',
875
- },
876
- });
877
- });
878
- it('converts error to message string and excludes retry', () => {
879
- const agent = new Agent();
880
- const error = new Error('Model failed');
881
- const event = new AfterModelCallEvent({ agent, model: agent.model, attemptCount: 1, error, invocationState: {} });
882
- event.retry = true;
883
- const json = JSON.parse(JSON.stringify(event));
884
- expect(json).toStrictEqual({
885
- type: 'afterModelCallEvent',
886
- attemptCount: 1,
887
- error: { message: 'Model failed' },
888
- });
889
- });
890
- });
891
- describe('BeforeToolsEvent', () => {
892
- it('includes message and excludes agent and cancel', () => {
893
- const agent = new Agent();
894
- const message = new Message({
895
- role: 'assistant',
896
- content: [new ToolUseBlock({ name: 'calc', toolUseId: 'id-1', input: {} })],
897
- });
898
- const event = new BeforeToolsEvent({ agent, message, invocationState: {} });
899
- event.cancel = 'not allowed';
900
- const json = JSON.parse(JSON.stringify(event));
901
- expect(json).toStrictEqual({
902
- type: 'beforeToolsEvent',
903
- message: { role: 'assistant', content: [{ toolUse: { name: 'calc', toolUseId: 'id-1', input: {} } }] },
904
- });
905
- });
906
- });
907
- describe('AfterToolsEvent', () => {
908
- it('includes message and excludes agent', () => {
909
- const agent = new Agent();
910
- const message = new Message({
911
- role: 'user',
912
- content: [
913
- new ToolResultBlock({
914
- toolUseId: 'id-1',
915
- status: 'success',
916
- content: [new TextBlock('Done')],
917
- }),
918
- ],
919
- });
920
- const event = new AfterToolsEvent({ agent, message, invocationState: {} });
921
- const json = JSON.parse(JSON.stringify(event));
922
- expect(json).toStrictEqual({
923
- type: 'afterToolsEvent',
924
- message: {
925
- role: 'user',
926
- content: [{ toolResult: { toolUseId: 'id-1', status: 'success', content: [{ text: 'Done' }] } }],
927
- },
928
- });
929
- });
930
- });
931
- describe('agent reference is never serialized', () => {
932
- it('JSON.stringify output never contains agent properties', () => {
933
- const agent = new Agent();
934
- // Add messages to make agent heavy
935
- agent.messages.push(new Message({ role: 'user', content: [new TextBlock('Hello '.repeat(100))] }));
936
- const event = new ModelStreamUpdateEvent({
937
- agent,
938
- event: { type: 'modelContentBlockDeltaEvent', delta: { type: 'textDelta', text: 'Hi' } },
939
- invocationState: {},
940
- });
941
- const json = JSON.stringify(event);
942
- // Should be small (no agent serialized)
943
- expect(json.length).toBeLessThan(200);
944
- expect(json).not.toContain('Hello Hello');
945
- expect(json).not.toContain('appState');
946
- expect(json).not.toContain('toolRegistry');
947
- });
948
- });
949
- });
950
- // ===================== Serialization completeness tests =====================
951
- // Ensures that if a new field is added to an event class, it must either be
952
- // included in toJSON() or explicitly added to the exclusion set.
953
- describe('toJSON serialization completeness', () => {
954
- /**
955
- * Fields that should NEVER appear in toJSON() output.
956
- * If you add a new field to an event and it should be excluded from wire serialization,
957
- * add it here. Otherwise, add it to toJSON() so it gets serialized.
958
- */
959
- const EXCLUDED_FIELDS = new Set([
960
- 'agent',
961
- 'model',
962
- 'tool',
963
- 'cancel',
964
- 'retry',
965
- 'invocationState',
966
- 'selectedTool',
967
- 'resume',
968
- 'endTurn',
969
- ]);
970
- /**
971
- * Fields where toJSON() transforms the value (e.g., Error to message object).
972
- * These appear in both instance and JSON but with different shapes.
973
- */
974
- const TRANSFORMED_FIELDS = new Set(['error']);
975
- // Helper: create a fully-populated instance of each event class
976
- function createEventInstances() {
977
- const agent = new Agent();
978
- const message = new Message({ role: 'assistant', content: [new TextBlock('test')] });
979
- const toolUse = { name: 'test', toolUseId: 'id-1', input: {} };
980
- const result = new ToolResultBlock({ toolUseId: 'id-1', status: 'success', content: [new TextBlock('ok')] });
981
- const tool = new FunctionTool({ name: 'test', description: 'Test', inputSchema: {}, callback: () => 'ok' });
982
- const error = new Error('test error');
983
- const stopData = { message, stopReason: 'endTurn' };
984
- const streamEvent = {
985
- type: 'modelContentBlockDeltaEvent',
986
- delta: { type: 'textDelta', text: 'Hi' },
987
- };
988
- const contentBlock = new TextBlock('test');
989
- const toolStreamEvent = new ToolStreamEvent({ data: { progress: 50 } });
990
- const agentResult = new AgentResult({
991
- stopReason: 'endTurn',
992
- lastMessage: message,
993
- metrics: new AgentMetrics(),
994
- invocationState: {},
995
- });
996
- return [
997
- { name: 'InitializedEvent', event: new InitializedEvent({ agent }) },
998
- { name: 'BeforeInvocationEvent', event: new BeforeInvocationEvent({ agent, invocationState: {} }) },
999
- { name: 'AfterInvocationEvent', event: new AfterInvocationEvent({ agent, invocationState: {} }) },
1000
- {
1001
- name: 'BeforeModelCallEvent',
1002
- event: new BeforeModelCallEvent({
1003
- agent,
1004
- model: agent.model,
1005
- invocationState: {},
1006
- projectedInputTokens: 100,
1007
- }),
1008
- },
1009
- {
1010
- name: 'AfterModelCallEvent',
1011
- event: Object.assign(new AfterModelCallEvent({ agent, model: agent.model, attemptCount: 1, stopData, error, invocationState: {} }), { retry: true }),
1012
- },
1013
- { name: 'MessageAddedEvent', event: new MessageAddedEvent({ agent, message, invocationState: {} }) },
1014
- {
1015
- name: 'ModelStreamUpdateEvent',
1016
- event: new ModelStreamUpdateEvent({ agent, event: streamEvent, invocationState: {} }),
1017
- },
1018
- { name: 'ContentBlockEvent', event: new ContentBlockEvent({ agent, contentBlock, invocationState: {} }) },
1019
- {
1020
- name: 'ModelMessageEvent',
1021
- event: new ModelMessageEvent({ agent, message, stopReason: 'endTurn', invocationState: {} }),
1022
- },
1023
- { name: 'ToolResultEvent', event: new ToolResultEvent({ agent, result, invocationState: {} }) },
1024
- {
1025
- name: 'ToolStreamUpdateEvent',
1026
- event: new ToolStreamUpdateEvent({ agent, event: toolStreamEvent, invocationState: {} }),
1027
- },
1028
- { name: 'AgentResultEvent', event: new AgentResultEvent({ agent, result: agentResult, invocationState: {} }) },
1029
- { name: 'BeforeToolCallEvent', event: new BeforeToolCallEvent({ agent, toolUse, tool, invocationState: {} }) },
1030
- {
1031
- name: 'AfterToolCallEvent',
1032
- event: Object.assign(new AfterToolCallEvent({ agent, toolUse, tool, result, error, invocationState: {} }), {
1033
- retry: true,
1034
- }),
1035
- },
1036
- { name: 'BeforeToolsEvent', event: new BeforeToolsEvent({ agent, message, invocationState: {} }) },
1037
- { name: 'AfterToolsEvent', event: new AfterToolsEvent({ agent, message, invocationState: {} }) },
1038
- ];
1039
- }
1040
- const eventInstances = createEventInstances();
1041
- it.each(eventInstances)('$name: toJSON() includes all fields except known exclusions', ({ event }) => {
1042
- const instanceKeys = new Set(Object.keys(event));
1043
- const jsonKeys = new Set(Object.keys(event.toJSON()));
1044
- // Every instance key should either be in JSON output, in the exclusion set, or transformed
1045
- for (const key of instanceKeys) {
1046
- if (!jsonKeys.has(key) && !TRANSFORMED_FIELDS.has(key)) {
1047
- expect(EXCLUDED_FIELDS).toContain(key);
1048
- }
1049
- }
1050
- // Every JSON key should come from the instance or be a known transformation
1051
- for (const key of jsonKeys) {
1052
- expect(instanceKeys.has(key) || TRANSFORMED_FIELDS.has(key)).toBe(true);
1053
- }
1054
- });
1055
- it.each(eventInstances)('$name: toJSON() never includes agent', ({ event }) => {
1056
- const json = event.toJSON();
1057
- expect(json).not.toHaveProperty('agent');
1058
- });
1059
- });
1060
- //# sourceMappingURL=events.test.js.map