@strands-agents/sdk 0.6.0 → 1.0.0-rc.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 (487) hide show
  1. package/README.md +71 -7
  2. package/dist/src/__fixtures__/agent-helpers.d.ts +81 -4
  3. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  4. package/dist/src/__fixtures__/agent-helpers.js +76 -4
  5. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  6. package/dist/src/__fixtures__/metrics-helpers.d.ts +30 -0
  7. package/dist/src/__fixtures__/metrics-helpers.d.ts.map +1 -1
  8. package/dist/src/__fixtures__/metrics-helpers.js +29 -6
  9. package/dist/src/__fixtures__/metrics-helpers.js.map +1 -1
  10. package/dist/src/__fixtures__/mock-message-model.d.ts +8 -4
  11. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
  12. package/dist/src/__fixtures__/mock-message-model.js +13 -7
  13. package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
  14. package/dist/src/__fixtures__/mock-meter.d.ts +32 -0
  15. package/dist/src/__fixtures__/mock-meter.d.ts.map +1 -0
  16. package/dist/src/__fixtures__/mock-meter.js +47 -0
  17. package/dist/src/__fixtures__/mock-meter.js.map +1 -0
  18. package/dist/src/__fixtures__/mock-plugin.d.ts +13 -0
  19. package/dist/src/__fixtures__/mock-plugin.d.ts.map +1 -0
  20. package/dist/src/__fixtures__/{mock-hook-provider.js → mock-plugin.js} +11 -6
  21. package/dist/src/__fixtures__/mock-plugin.js.map +1 -0
  22. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  23. package/dist/src/__fixtures__/tool-helpers.js +6 -2
  24. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  25. package/dist/src/__tests__/index.test.js +21 -0
  26. package/dist/src/__tests__/index.test.js.map +1 -1
  27. package/dist/src/__tests__/mcp.test.js.map +1 -1
  28. package/dist/src/__tests__/mime.test.d.ts +2 -0
  29. package/dist/src/__tests__/mime.test.d.ts.map +1 -0
  30. package/dist/src/__tests__/mime.test.js +83 -0
  31. package/dist/src/__tests__/mime.test.js.map +1 -0
  32. package/dist/src/__tests__/state-store.test.d.ts +2 -0
  33. package/dist/src/__tests__/state-store.test.d.ts.map +1 -0
  34. package/dist/src/__tests__/{app-state.test.js → state-store.test.js} +86 -51
  35. package/dist/src/__tests__/state-store.test.js.map +1 -0
  36. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts +2 -0
  37. package/dist/src/a2a/__tests__/a2a-agent.test.d.ts.map +1 -0
  38. package/dist/src/a2a/__tests__/a2a-agent.test.js +364 -0
  39. package/dist/src/a2a/__tests__/a2a-agent.test.js.map +1 -0
  40. package/dist/src/a2a/__tests__/adapters.test.d.ts +2 -0
  41. package/dist/src/a2a/__tests__/adapters.test.d.ts.map +1 -0
  42. package/dist/src/a2a/__tests__/adapters.test.js +151 -0
  43. package/dist/src/a2a/__tests__/adapters.test.js.map +1 -0
  44. package/dist/src/a2a/__tests__/events.test.d.ts +2 -0
  45. package/dist/src/a2a/__tests__/events.test.d.ts.map +1 -0
  46. package/dist/src/a2a/__tests__/events.test.js +66 -0
  47. package/dist/src/a2a/__tests__/events.test.js.map +1 -0
  48. package/dist/src/a2a/__tests__/executor.test.d.ts +2 -0
  49. package/dist/src/a2a/__tests__/executor.test.d.ts.map +1 -0
  50. package/dist/src/a2a/__tests__/executor.test.js +196 -0
  51. package/dist/src/a2a/__tests__/executor.test.js.map +1 -0
  52. package/dist/src/a2a/__tests__/server.test.d.ts +2 -0
  53. package/dist/src/a2a/__tests__/server.test.d.ts.map +1 -0
  54. package/dist/src/a2a/__tests__/server.test.js +51 -0
  55. package/dist/src/a2a/__tests__/server.test.js.map +1 -0
  56. package/dist/src/a2a/__tests__/server.test.node.d.ts +2 -0
  57. package/dist/src/a2a/__tests__/server.test.node.d.ts.map +1 -0
  58. package/dist/src/a2a/__tests__/server.test.node.js +110 -0
  59. package/dist/src/a2a/__tests__/server.test.node.js.map +1 -0
  60. package/dist/src/a2a/a2a-agent.d.ts +132 -0
  61. package/dist/src/a2a/a2a-agent.d.ts.map +1 -0
  62. package/dist/src/a2a/a2a-agent.js +255 -0
  63. package/dist/src/a2a/a2a-agent.js.map +1 -0
  64. package/dist/src/a2a/adapters.d.ts +27 -0
  65. package/dist/src/a2a/adapters.d.ts.map +1 -0
  66. package/dist/src/a2a/adapters.js +175 -0
  67. package/dist/src/a2a/adapters.js.map +1 -0
  68. package/dist/src/a2a/events.d.ts +44 -0
  69. package/dist/src/a2a/events.d.ts.map +1 -0
  70. package/dist/src/a2a/events.js +41 -0
  71. package/dist/src/a2a/events.js.map +1 -0
  72. package/dist/src/a2a/executor.d.ts +57 -0
  73. package/dist/src/a2a/executor.d.ts.map +1 -0
  74. package/dist/src/a2a/executor.js +130 -0
  75. package/dist/src/a2a/executor.js.map +1 -0
  76. package/dist/src/a2a/express-server.d.ts +67 -0
  77. package/dist/src/a2a/express-server.d.ts.map +1 -0
  78. package/dist/src/a2a/express-server.js +95 -0
  79. package/dist/src/a2a/express-server.js.map +1 -0
  80. package/dist/src/a2a/index.d.ts +15 -0
  81. package/dist/src/a2a/index.d.ts.map +1 -0
  82. package/dist/src/a2a/index.js +15 -0
  83. package/dist/src/a2a/index.js.map +1 -0
  84. package/dist/src/a2a/logging.d.ts +8 -0
  85. package/dist/src/a2a/logging.d.ts.map +1 -0
  86. package/dist/src/a2a/logging.js +15 -0
  87. package/dist/src/a2a/logging.js.map +1 -0
  88. package/dist/src/a2a/server.d.ts +67 -0
  89. package/dist/src/a2a/server.d.ts.map +1 -0
  90. package/dist/src/a2a/server.js +67 -0
  91. package/dist/src/a2a/server.js.map +1 -0
  92. package/dist/src/agent/__tests__/agent.hook.test.js +315 -51
  93. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  94. package/dist/src/agent/__tests__/agent.test.js +298 -48
  95. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  96. package/dist/src/agent/__tests__/agent.tracer.test.node.d.ts +2 -0
  97. package/dist/src/agent/__tests__/agent.tracer.test.node.d.ts.map +1 -0
  98. package/dist/src/agent/__tests__/{agent.tracer.test.js → agent.tracer.test.node.js} +62 -50
  99. package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -0
  100. package/dist/src/agent/__tests__/printer.test.js +7 -7
  101. package/dist/src/agent/__tests__/printer.test.js.map +1 -1
  102. package/dist/src/agent/__tests__/snapshot.test.js +50 -13
  103. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  104. package/dist/src/agent/agent.d.ts +55 -44
  105. package/dist/src/agent/agent.d.ts.map +1 -1
  106. package/dist/src/agent/agent.js +230 -128
  107. package/dist/src/agent/agent.js.map +1 -1
  108. package/dist/src/agent/printer.d.ts.map +1 -1
  109. package/dist/src/agent/printer.js +3 -0
  110. package/dist/src/agent/printer.js.map +1 -1
  111. package/dist/src/agent/snapshot.d.ts +3 -3
  112. package/dist/src/agent/snapshot.d.ts.map +1 -1
  113. package/dist/src/agent/snapshot.js +16 -8
  114. package/dist/src/agent/snapshot.js.map +1 -1
  115. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts +2 -0
  116. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts.map +1 -0
  117. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +100 -0
  118. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -0
  119. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +26 -10
  120. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
  121. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +153 -64
  122. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  123. package/dist/src/conversation-manager/conversation-manager.d.ts +87 -0
  124. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -0
  125. package/dist/src/conversation-manager/conversation-manager.js +59 -0
  126. package/dist/src/conversation-manager/conversation-manager.js.map +1 -0
  127. package/dist/src/conversation-manager/index.d.ts +1 -0
  128. package/dist/src/conversation-manager/index.d.ts.map +1 -1
  129. package/dist/src/conversation-manager/index.js +1 -0
  130. package/dist/src/conversation-manager/index.js.map +1 -1
  131. package/dist/src/conversation-manager/null-conversation-manager.d.ts +12 -8
  132. package/dist/src/conversation-manager/null-conversation-manager.d.ts.map +1 -1
  133. package/dist/src/conversation-manager/null-conversation-manager.js +13 -7
  134. package/dist/src/conversation-manager/null-conversation-manager.js.map +1 -1
  135. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +28 -19
  136. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  137. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +57 -42
  138. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  139. package/dist/src/errors.d.ts +8 -0
  140. package/dist/src/errors.d.ts.map +1 -1
  141. package/dist/src/errors.js +11 -0
  142. package/dist/src/errors.js.map +1 -1
  143. package/dist/src/hooks/__tests__/events.test.js +387 -0
  144. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  145. package/dist/src/hooks/__tests__/registry.test.js +10 -154
  146. package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
  147. package/dist/src/hooks/events.d.ts +148 -44
  148. package/dist/src/hooks/events.d.ts.map +1 -1
  149. package/dist/src/hooks/events.js +148 -11
  150. package/dist/src/hooks/events.js.map +1 -1
  151. package/dist/src/hooks/index.d.ts +3 -3
  152. package/dist/src/hooks/index.d.ts.map +1 -1
  153. package/dist/src/hooks/index.js +2 -2
  154. package/dist/src/hooks/registry.d.ts +1 -32
  155. package/dist/src/hooks/registry.d.ts.map +1 -1
  156. package/dist/src/hooks/registry.js +1 -47
  157. package/dist/src/hooks/registry.js.map +1 -1
  158. package/dist/src/hooks/types.d.ts +0 -31
  159. package/dist/src/hooks/types.d.ts.map +1 -1
  160. package/dist/src/index.d.ts +14 -13
  161. package/dist/src/index.d.ts.map +1 -1
  162. package/dist/src/index.js +11 -9
  163. package/dist/src/index.js.map +1 -1
  164. package/dist/src/mime.d.ts +24 -0
  165. package/dist/src/mime.d.ts.map +1 -0
  166. package/dist/src/mime.js +82 -0
  167. package/dist/src/mime.js.map +1 -0
  168. package/dist/src/models/__tests__/anthropic.test.js +79 -3
  169. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  170. package/dist/src/models/__tests__/bedrock.test.js +1858 -627
  171. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  172. package/dist/src/models/__tests__/google.test.d.ts +2 -0
  173. package/dist/src/models/__tests__/google.test.d.ts.map +1 -0
  174. package/dist/src/models/__tests__/{gemini.test.js → google.test.js} +155 -22
  175. package/dist/src/models/__tests__/google.test.js.map +1 -0
  176. package/dist/src/models/__tests__/model.test.js +25 -0
  177. package/dist/src/models/__tests__/model.test.js.map +1 -1
  178. package/dist/src/models/__tests__/openai.test.js +255 -96
  179. package/dist/src/models/__tests__/openai.test.js.map +1 -1
  180. package/dist/src/models/anthropic.d.ts.map +1 -1
  181. package/dist/src/models/anthropic.js +14 -14
  182. package/dist/src/models/anthropic.js.map +1 -1
  183. package/dist/src/models/bedrock.d.ts +67 -13
  184. package/dist/src/models/bedrock.d.ts.map +1 -1
  185. package/dist/src/models/bedrock.js +207 -28
  186. package/dist/src/models/bedrock.js.map +1 -1
  187. package/dist/src/models/{gemini → google}/adapters.d.ts +3 -3
  188. package/dist/src/models/{gemini → google}/adapters.d.ts.map +1 -1
  189. package/dist/src/models/{gemini → google}/adapters.js +66 -15
  190. package/dist/src/models/google/adapters.js.map +1 -0
  191. package/dist/src/models/{gemini → google}/errors.d.ts +7 -7
  192. package/dist/src/models/google/errors.d.ts.map +1 -0
  193. package/dist/src/models/{gemini → google}/errors.js +11 -5
  194. package/dist/src/models/google/errors.js.map +1 -0
  195. package/dist/src/models/google/index.d.ts +15 -0
  196. package/dist/src/models/google/index.d.ts.map +1 -0
  197. package/dist/src/models/google/index.js +15 -0
  198. package/dist/src/models/google/index.js.map +1 -0
  199. package/dist/src/models/{gemini → google}/model.d.ts +18 -18
  200. package/dist/src/models/{gemini → google}/model.d.ts.map +1 -1
  201. package/dist/src/models/{gemini → google}/model.js +22 -19
  202. package/dist/src/models/google/model.js.map +1 -0
  203. package/dist/src/models/{gemini → google}/types.d.ts +9 -9
  204. package/dist/src/models/{gemini → google}/types.d.ts.map +1 -1
  205. package/dist/src/models/google/types.js +5 -0
  206. package/dist/src/models/google/types.js.map +1 -0
  207. package/dist/src/models/model.d.ts +12 -0
  208. package/dist/src/models/model.d.ts.map +1 -1
  209. package/dist/src/models/model.js +6 -10
  210. package/dist/src/models/model.js.map +1 -1
  211. package/dist/src/models/openai.d.ts +44 -11
  212. package/dist/src/models/openai.d.ts.map +1 -1
  213. package/dist/src/models/openai.js +133 -79
  214. package/dist/src/models/openai.js.map +1 -1
  215. package/dist/src/models/streaming.d.ts +18 -0
  216. package/dist/src/models/streaming.d.ts.map +1 -1
  217. package/dist/src/models/streaming.js +29 -0
  218. package/dist/src/models/streaming.js.map +1 -1
  219. package/dist/src/multiagent/__tests__/events.test.js +201 -7
  220. package/dist/src/multiagent/__tests__/events.test.js.map +1 -1
  221. package/dist/src/multiagent/__tests__/graph.test.js +28 -13
  222. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
  223. package/dist/src/multiagent/__tests__/graph.tracer.test.d.ts +2 -0
  224. package/dist/src/multiagent/__tests__/graph.tracer.test.d.ts.map +1 -0
  225. package/dist/src/multiagent/__tests__/graph.tracer.test.js +204 -0
  226. package/dist/src/multiagent/__tests__/graph.tracer.test.js.map +1 -0
  227. package/dist/src/multiagent/__tests__/nodes.test.js +76 -15
  228. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  229. package/dist/src/multiagent/__tests__/swarm.test.js +67 -16
  230. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
  231. package/dist/src/multiagent/__tests__/swarm.tracer.test.d.ts +2 -0
  232. package/dist/src/multiagent/__tests__/swarm.tracer.test.d.ts.map +1 -0
  233. package/dist/src/multiagent/__tests__/swarm.tracer.test.js +235 -0
  234. package/dist/src/multiagent/__tests__/swarm.tracer.test.js.map +1 -0
  235. package/dist/src/multiagent/events.d.ts +62 -14
  236. package/dist/src/multiagent/events.d.ts.map +1 -1
  237. package/dist/src/multiagent/events.js +45 -3
  238. package/dist/src/multiagent/events.js.map +1 -1
  239. package/dist/src/multiagent/graph.d.ts +25 -11
  240. package/dist/src/multiagent/graph.d.ts.map +1 -1
  241. package/dist/src/multiagent/graph.js +76 -44
  242. package/dist/src/multiagent/graph.js.map +1 -1
  243. package/dist/src/multiagent/index.d.ts +4 -3
  244. package/dist/src/multiagent/index.d.ts.map +1 -1
  245. package/dist/src/multiagent/index.js.map +1 -1
  246. package/dist/src/multiagent/multiagent.d.ts +41 -0
  247. package/dist/src/multiagent/multiagent.d.ts.map +1 -0
  248. package/dist/src/multiagent/multiagent.js +2 -0
  249. package/dist/src/multiagent/multiagent.js.map +1 -0
  250. package/dist/src/multiagent/nodes.d.ts +35 -24
  251. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  252. package/dist/src/multiagent/nodes.js +50 -23
  253. package/dist/src/multiagent/nodes.js.map +1 -1
  254. package/dist/src/multiagent/plugins.d.ts +70 -0
  255. package/dist/src/multiagent/plugins.d.ts.map +1 -0
  256. package/dist/src/multiagent/plugins.js +70 -0
  257. package/dist/src/multiagent/plugins.js.map +1 -0
  258. package/dist/src/multiagent/state.d.ts +10 -5
  259. package/dist/src/multiagent/state.d.ts.map +1 -1
  260. package/dist/src/multiagent/state.js +20 -6
  261. package/dist/src/multiagent/state.js.map +1 -1
  262. package/dist/src/multiagent/swarm.d.ts +41 -17
  263. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  264. package/dist/src/multiagent/swarm.js +101 -42
  265. package/dist/src/multiagent/swarm.js.map +1 -1
  266. package/dist/src/plugins/__tests__/plugin.test.d.ts +2 -0
  267. package/dist/src/plugins/__tests__/plugin.test.d.ts.map +1 -0
  268. package/dist/src/plugins/__tests__/plugin.test.js +114 -0
  269. package/dist/src/plugins/__tests__/plugin.test.js.map +1 -0
  270. package/dist/src/plugins/__tests__/registry.test.d.ts +2 -0
  271. package/dist/src/plugins/__tests__/registry.test.d.ts.map +1 -0
  272. package/dist/src/plugins/__tests__/registry.test.js +147 -0
  273. package/dist/src/plugins/__tests__/registry.test.js.map +1 -0
  274. package/dist/src/plugins/index.d.ts +30 -0
  275. package/dist/src/plugins/index.d.ts.map +1 -0
  276. package/dist/src/plugins/index.js +30 -0
  277. package/dist/src/plugins/index.js.map +1 -0
  278. package/dist/src/plugins/plugin.d.ts +74 -0
  279. package/dist/src/plugins/plugin.d.ts.map +1 -0
  280. package/dist/src/plugins/plugin.js +8 -0
  281. package/dist/src/plugins/plugin.js.map +1 -0
  282. package/dist/src/plugins/registry.d.ts +25 -0
  283. package/dist/src/plugins/registry.d.ts.map +1 -0
  284. package/dist/src/plugins/registry.js +41 -0
  285. package/dist/src/plugins/registry.js.map +1 -0
  286. package/dist/src/session/__tests__/session-manager.test.js +110 -92
  287. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  288. package/dist/src/session/index.d.ts +0 -1
  289. package/dist/src/session/index.d.ts.map +1 -1
  290. package/dist/src/session/index.js +0 -1
  291. package/dist/src/session/index.js.map +1 -1
  292. package/dist/src/session/session-manager.d.ts +11 -8
  293. package/dist/src/session/session-manager.d.ts.map +1 -1
  294. package/dist/src/session/session-manager.js +24 -16
  295. package/dist/src/session/session-manager.js.map +1 -1
  296. package/dist/src/session/storage.d.ts +1 -1
  297. package/dist/src/session/storage.d.ts.map +1 -1
  298. package/dist/src/session/types.d.ts +2 -2
  299. package/dist/src/session/types.d.ts.map +1 -1
  300. package/dist/src/{app-state.d.ts → state-store.d.ts} +11 -11
  301. package/dist/src/state-store.d.ts.map +1 -0
  302. package/dist/src/{app-state.js → state-store.js} +8 -7
  303. package/dist/src/state-store.js.map +1 -0
  304. package/dist/src/telemetry/__tests__/config.test.js +24 -0
  305. package/dist/src/telemetry/__tests__/config.test.js.map +1 -1
  306. package/dist/src/telemetry/__tests__/config.test.node.js +56 -0
  307. package/dist/src/telemetry/__tests__/config.test.node.js.map +1 -1
  308. package/dist/src/telemetry/__tests__/local-trace.test.d.ts +2 -0
  309. package/dist/src/telemetry/__tests__/local-trace.test.d.ts.map +1 -0
  310. package/dist/src/telemetry/__tests__/local-trace.test.js +158 -0
  311. package/dist/src/telemetry/__tests__/local-trace.test.js.map +1 -0
  312. package/dist/src/telemetry/__tests__/meter.test.js +176 -9
  313. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
  314. package/dist/src/telemetry/__tests__/tracer.test.node.js +151 -2
  315. package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -1
  316. package/dist/src/telemetry/config.d.ts +72 -12
  317. package/dist/src/telemetry/config.d.ts.map +1 -1
  318. package/dist/src/telemetry/config.js +102 -25
  319. package/dist/src/telemetry/config.js.map +1 -1
  320. package/dist/src/telemetry/index.d.ts +10 -7
  321. package/dist/src/telemetry/index.d.ts.map +1 -1
  322. package/dist/src/telemetry/index.js +9 -6
  323. package/dist/src/telemetry/index.js.map +1 -1
  324. package/dist/src/telemetry/meter.d.ts +23 -17
  325. package/dist/src/telemetry/meter.d.ts.map +1 -1
  326. package/dist/src/telemetry/meter.js +86 -41
  327. package/dist/src/telemetry/meter.js.map +1 -1
  328. package/dist/src/telemetry/tracer.d.ts +134 -18
  329. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  330. package/dist/src/telemetry/tracer.js +325 -38
  331. package/dist/src/telemetry/tracer.js.map +1 -1
  332. package/dist/src/telemetry/types.d.ts +51 -0
  333. package/dist/src/telemetry/types.d.ts.map +1 -1
  334. package/dist/src/telemetry/utils.d.ts +10 -0
  335. package/dist/src/telemetry/utils.d.ts.map +1 -0
  336. package/dist/src/telemetry/utils.js +13 -0
  337. package/dist/src/telemetry/utils.js.map +1 -0
  338. package/dist/src/tools/__tests__/structured-output-tool.test.d.ts +2 -0
  339. package/dist/src/tools/__tests__/structured-output-tool.test.d.ts.map +1 -0
  340. package/dist/src/tools/__tests__/structured-output-tool.test.js +84 -0
  341. package/dist/src/tools/__tests__/structured-output-tool.test.js.map +1 -0
  342. package/dist/src/tools/__tests__/tool.test.js +22 -1
  343. package/dist/src/tools/__tests__/tool.test.js.map +1 -1
  344. package/dist/src/tools/function-tool.d.ts +11 -1
  345. package/dist/src/tools/function-tool.d.ts.map +1 -1
  346. package/dist/src/tools/function-tool.js +64 -3
  347. package/dist/src/tools/function-tool.js.map +1 -1
  348. package/dist/src/tools/structured-output-tool.d.ts +41 -0
  349. package/dist/src/tools/structured-output-tool.d.ts.map +1 -0
  350. package/dist/src/tools/structured-output-tool.js +82 -0
  351. package/dist/src/tools/structured-output-tool.js.map +1 -0
  352. package/dist/src/tools/tool.d.ts +2 -2
  353. package/dist/src/tools/tool.d.ts.map +1 -1
  354. package/dist/src/tools/zod-tool.js +1 -1
  355. package/dist/src/tools/zod-tool.js.map +1 -1
  356. package/dist/src/{utils/zod.d.ts → tools/zod-utils.d.ts} +1 -1
  357. package/dist/src/tools/zod-utils.d.ts.map +1 -0
  358. package/dist/src/{utils/zod.js → tools/zod-utils.js} +1 -1
  359. package/dist/src/tools/zod-utils.js.map +1 -0
  360. package/dist/src/tsconfig.tsbuildinfo +1 -1
  361. package/dist/src/types/__tests__/agent.test.js +127 -0
  362. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  363. package/dist/src/types/__tests__/media.test.js +22 -16
  364. package/dist/src/types/__tests__/media.test.js.map +1 -1
  365. package/dist/src/types/agent.d.ts +101 -7
  366. package/dist/src/types/agent.d.ts.map +1 -1
  367. package/dist/src/types/agent.js +26 -0
  368. package/dist/src/types/agent.js.map +1 -1
  369. package/dist/src/types/media.d.ts +27 -30
  370. package/dist/src/types/media.d.ts.map +1 -1
  371. package/dist/src/types/media.js +15 -56
  372. package/dist/src/types/media.js.map +1 -1
  373. package/dist/src/types/messages.d.ts +18 -4
  374. package/dist/src/types/messages.d.ts.map +1 -1
  375. package/dist/src/types/messages.js +22 -26
  376. package/dist/src/types/messages.js.map +1 -1
  377. package/dist/src/types/serializable.d.ts +34 -4
  378. package/dist/src/types/serializable.d.ts.map +1 -1
  379. package/dist/src/types/serializable.js +31 -2
  380. package/dist/src/types/serializable.js.map +1 -1
  381. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +17 -4
  382. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  383. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  384. package/dist/src/vended-tools/bash/bash.js +16 -14
  385. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  386. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.d.ts.map +1 -0
  387. package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.js +11 -4
  388. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -0
  389. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts +1 -1
  390. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.d.ts.map +1 -1
  391. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js +2 -2
  392. package/dist/src/vended-tools/{file_editor → file-editor}/file-editor.js.map +1 -1
  393. package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts.map +1 -1
  394. package/dist/src/vended-tools/file-editor/index.js.map +1 -0
  395. package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts.map +1 -1
  396. package/dist/src/vended-tools/file-editor/types.js.map +1 -0
  397. package/dist/src/vended-tools/http-request/__tests__/http-request.test.d.ts.map +1 -0
  398. package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js.map +1 -1
  399. package/dist/src/vended-tools/{http_request → http-request}/http-request.d.ts.map +1 -1
  400. package/dist/src/vended-tools/{http_request → http-request}/http-request.js.map +1 -1
  401. package/dist/src/vended-tools/{http_request → http-request}/index.d.ts.map +1 -1
  402. package/dist/src/vended-tools/http-request/index.js.map +1 -0
  403. package/dist/src/vended-tools/{http_request → http-request}/types.d.ts.map +1 -1
  404. package/dist/src/vended-tools/http-request/types.js.map +1 -0
  405. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +5 -4
  406. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  407. package/dist/src/vended-tools/notebook/notebook.js +2 -2
  408. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  409. package/package.json +63 -17
  410. package/dist/src/__fixtures__/mock-hook-provider.d.ts +0 -10
  411. package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +0 -1
  412. package/dist/src/__fixtures__/mock-hook-provider.js.map +0 -1
  413. package/dist/src/__tests__/app-state.test.d.ts +0 -2
  414. package/dist/src/__tests__/app-state.test.d.ts.map +0 -1
  415. package/dist/src/__tests__/app-state.test.js.map +0 -1
  416. package/dist/src/agent/__tests__/agent.tracer.test.d.ts +0 -2
  417. package/dist/src/agent/__tests__/agent.tracer.test.d.ts.map +0 -1
  418. package/dist/src/agent/__tests__/agent.tracer.test.js.map +0 -1
  419. package/dist/src/app-state.d.ts.map +0 -1
  420. package/dist/src/app-state.js.map +0 -1
  421. package/dist/src/models/__tests__/gemini.test.d.ts +0 -2
  422. package/dist/src/models/__tests__/gemini.test.d.ts.map +0 -1
  423. package/dist/src/models/__tests__/gemini.test.js.map +0 -1
  424. package/dist/src/models/gemini/adapters.js.map +0 -1
  425. package/dist/src/models/gemini/errors.d.ts.map +0 -1
  426. package/dist/src/models/gemini/errors.js.map +0 -1
  427. package/dist/src/models/gemini/model.js.map +0 -1
  428. package/dist/src/models/gemini/types.js +0 -5
  429. package/dist/src/models/gemini/types.js.map +0 -1
  430. package/dist/src/multiagent/base.d.ts +0 -25
  431. package/dist/src/multiagent/base.d.ts.map +0 -1
  432. package/dist/src/multiagent/base.js +0 -2
  433. package/dist/src/multiagent/base.js.map +0 -1
  434. package/dist/src/structured-output/__tests__/context.test.d.ts +0 -2
  435. package/dist/src/structured-output/__tests__/context.test.d.ts.map +0 -1
  436. package/dist/src/structured-output/__tests__/context.test.js +0 -201
  437. package/dist/src/structured-output/__tests__/context.test.js.map +0 -1
  438. package/dist/src/structured-output/__tests__/exceptions.test.d.ts +0 -2
  439. package/dist/src/structured-output/__tests__/exceptions.test.d.ts.map +0 -1
  440. package/dist/src/structured-output/__tests__/exceptions.test.js +0 -103
  441. package/dist/src/structured-output/__tests__/exceptions.test.js.map +0 -1
  442. package/dist/src/structured-output/__tests__/tool.test.d.ts +0 -2
  443. package/dist/src/structured-output/__tests__/tool.test.d.ts.map +0 -1
  444. package/dist/src/structured-output/__tests__/tool.test.js +0 -256
  445. package/dist/src/structured-output/__tests__/tool.test.js.map +0 -1
  446. package/dist/src/structured-output/__tests__/utils.test.d.ts +0 -2
  447. package/dist/src/structured-output/__tests__/utils.test.d.ts.map +0 -1
  448. package/dist/src/structured-output/__tests__/utils.test.js +0 -183
  449. package/dist/src/structured-output/__tests__/utils.test.js.map +0 -1
  450. package/dist/src/structured-output/context.d.ts +0 -91
  451. package/dist/src/structured-output/context.d.ts.map +0 -1
  452. package/dist/src/structured-output/context.js +0 -112
  453. package/dist/src/structured-output/context.js.map +0 -1
  454. package/dist/src/structured-output/exceptions.d.ts +0 -18
  455. package/dist/src/structured-output/exceptions.d.ts.map +0 -1
  456. package/dist/src/structured-output/exceptions.js +0 -28
  457. package/dist/src/structured-output/exceptions.js.map +0 -1
  458. package/dist/src/structured-output/tool.d.ts +0 -33
  459. package/dist/src/structured-output/tool.d.ts.map +0 -1
  460. package/dist/src/structured-output/tool.js +0 -73
  461. package/dist/src/structured-output/tool.js.map +0 -1
  462. package/dist/src/structured-output/utils.d.ts +0 -23
  463. package/dist/src/structured-output/utils.d.ts.map +0 -1
  464. package/dist/src/structured-output/utils.js +0 -104
  465. package/dist/src/structured-output/utils.js.map +0 -1
  466. package/dist/src/utils/zod.d.ts.map +0 -1
  467. package/dist/src/utils/zod.js.map +0 -1
  468. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +0 -1
  469. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +0 -1
  470. package/dist/src/vended-tools/file_editor/index.js.map +0 -1
  471. package/dist/src/vended-tools/file_editor/types.js.map +0 -1
  472. package/dist/src/vended-tools/http_request/__tests__/http-request.test.d.ts.map +0 -1
  473. package/dist/src/vended-tools/http_request/index.js.map +0 -1
  474. package/dist/src/vended-tools/http_request/types.js.map +0 -1
  475. /package/dist/src/vended-tools/{file_editor → file-editor}/__tests__/file-editor.test.node.d.ts +0 -0
  476. /package/dist/src/vended-tools/{file_editor → file-editor}/index.d.ts +0 -0
  477. /package/dist/src/vended-tools/{file_editor → file-editor}/index.js +0 -0
  478. /package/dist/src/vended-tools/{file_editor → file-editor}/types.d.ts +0 -0
  479. /package/dist/src/vended-tools/{file_editor → file-editor}/types.js +0 -0
  480. /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.d.ts +0 -0
  481. /package/dist/src/vended-tools/{http_request → http-request}/__tests__/http-request.test.js +0 -0
  482. /package/dist/src/vended-tools/{http_request → http-request}/http-request.d.ts +0 -0
  483. /package/dist/src/vended-tools/{http_request → http-request}/http-request.js +0 -0
  484. /package/dist/src/vended-tools/{http_request → http-request}/index.d.ts +0 -0
  485. /package/dist/src/vended-tools/{http_request → http-request}/index.js +0 -0
  486. /package/dist/src/vended-tools/{http_request → http-request}/types.d.ts +0 -0
  487. /package/dist/src/vended-tools/{http_request → http-request}/types.js +0 -0
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Abstract base class for conversation history management.
3
+ *
4
+ * This module defines the ConversationManager abstraction, which provides a
5
+ * domain-specific interface for managing an agent's conversation context.
6
+ */
7
+ import { AfterModelCallEvent } from '../hooks/events.js';
8
+ import { ContextWindowOverflowError } from '../errors.js';
9
+ /**
10
+ * Abstract base class for conversation history management strategies.
11
+ *
12
+ * The primary responsibility of a ConversationManager is overflow recovery: when the
13
+ * model returns a {@link ContextWindowOverflowError}, {@link ConversationManager.reduce}
14
+ * is called and MUST reduce the history enough for the next model call to succeed.
15
+ * If `reduce` returns `false` (no reduction performed), the error propagates out of
16
+ * the agent loop uncaught. This makes `reduce` a critical operation — implementations
17
+ * must be able to make meaningful progress when called with `error` set.
18
+ *
19
+ * Optionally, a manager can also do proactive management (e.g. trimming after every
20
+ * invocation to stay within a window) by overriding `initAgent`, calling
21
+ * `super.initAgent(agent)` to preserve overflow recovery, then registering additional hooks.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * class Last10MessagesManager extends ConversationManager {
26
+ * readonly name = 'my:last-10-messages'
27
+ *
28
+ * reduce({ agent }: ReduceOptions): boolean {
29
+ * if (agent.messages.length <= 10) return false
30
+ * agent.messages.splice(0, agent.messages.length - 10)
31
+ * return true
32
+ * }
33
+ * }
34
+ * ```
35
+ */
36
+ export class ConversationManager {
37
+ /**
38
+ * Initialize the conversation manager with the agent instance.
39
+ *
40
+ * Registers overflow recovery: when a {@link ContextWindowOverflowError} occurs,
41
+ * calls {@link ConversationManager.reduce} and retries the model call if reduction succeeded.
42
+ * If `reduce` returns `false`, the error propagates out of the agent loop uncaught.
43
+ *
44
+ * Subclasses that need proactive management MUST call `super.initAgent(agent)` to
45
+ * preserve this overflow recovery behavior.
46
+ *
47
+ * @param agent - The agent to register hooks with
48
+ */
49
+ initAgent(agent) {
50
+ agent.addHook(AfterModelCallEvent, (event) => {
51
+ if (event.error instanceof ContextWindowOverflowError) {
52
+ if (this.reduce({ agent: event.agent, error: event.error })) {
53
+ event.retry = true;
54
+ }
55
+ }
56
+ });
57
+ }
58
+ }
59
+ //# sourceMappingURL=conversation-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../../../src/conversation-manager/conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAmBzD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAgB,mBAAmB;IAuBvC;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,KAAiB;QACzB,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,KAAK,CAAC,KAAK,YAAY,0BAA0B,EAAE,CAAC;gBACtD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;oBAC5D,KAAK,CAAC,KAAK,GAAG,IAAI,CAAA;gBACpB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * This module exports conversation manager implementations.
5
5
  */
6
+ export { ConversationManager, type ConversationManagerReduceOptions as ReduceOptions } from './conversation-manager.js';
6
7
  export { NullConversationManager } from './null-conversation-manager.js';
7
8
  export { SlidingWindowConversationManager, type SlidingWindowConversationManagerConfig, } from './sliding-window-conversation-manager.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/conversation-manager/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EACL,gCAAgC,EAChC,KAAK,sCAAsC,GAC5C,MAAM,0CAA0C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/conversation-manager/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,KAAK,gCAAgC,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACvH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EACL,gCAAgC,EAChC,KAAK,sCAAsC,GAC5C,MAAM,0CAA0C,CAAA"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * This module exports conversation manager implementations.
5
5
  */
6
+ export { ConversationManager } from './conversation-manager.js';
6
7
  export { NullConversationManager } from './null-conversation-manager.js';
7
8
  export { SlidingWindowConversationManager, } from './sliding-window-conversation-manager.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/conversation-manager/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EACL,gCAAgC,GAEjC,MAAM,0CAA0C,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/conversation-manager/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAA0D,MAAM,2BAA2B,CAAA;AACvH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EACL,gCAAgC,GAEjC,MAAM,0CAA0C,CAAA"}
@@ -5,19 +5,23 @@
5
5
  * the conversation history. Useful for testing and scenarios where conversation
6
6
  * management is handled externally.
7
7
  */
8
- import type { HookProvider } from '../hooks/types.js';
9
- import type { HookRegistry } from '../hooks/registry.js';
8
+ import { ConversationManager, type ConversationManagerReduceOptions } from './conversation-manager.js';
10
9
  /**
11
10
  * A no-op conversation manager that does not modify the conversation history.
12
- * Implements HookProvider but registers zero hooks.
11
+ *
12
+ * Does not register any proactive hooks. Overflow errors will not be retried
13
+ * since `reduce` always returns `false`.
13
14
  */
14
- export declare class NullConversationManager implements HookProvider {
15
+ export declare class NullConversationManager extends ConversationManager {
16
+ /**
17
+ * Unique identifier for this conversation manager.
18
+ */
19
+ readonly name = "strands:null-conversation-manager";
15
20
  /**
16
- * Registers callbacks with the hook registry.
17
- * This implementation registers no hooks, providing a complete no-op behavior.
21
+ * No-op reduction never modifies the conversation history.
18
22
  *
19
- * @param _registry - The hook registry to register callbacks with (unused)
23
+ * @returns `false` always
20
24
  */
21
- registerCallbacks(_registry: HookRegistry): void;
25
+ reduce(_args: ConversationManagerReduceOptions): boolean;
22
26
  }
23
27
  //# sourceMappingURL=null-conversation-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"null-conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/conversation-manager/null-conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC1D;;;;;OAKG;IACI,iBAAiB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;CAGxD"}
1
+ {"version":3,"file":"null-conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/conversation-manager/null-conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAE,KAAK,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;AAEtG;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC9D;;OAEG;IACH,QAAQ,CAAC,IAAI,uCAAsC;IAEnD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO;CAGzD"}
@@ -5,19 +5,25 @@
5
5
  * the conversation history. Useful for testing and scenarios where conversation
6
6
  * management is handled externally.
7
7
  */
8
+ import { ConversationManager } from './conversation-manager.js';
8
9
  /**
9
10
  * A no-op conversation manager that does not modify the conversation history.
10
- * Implements HookProvider but registers zero hooks.
11
+ *
12
+ * Does not register any proactive hooks. Overflow errors will not be retried
13
+ * since `reduce` always returns `false`.
11
14
  */
12
- export class NullConversationManager {
15
+ export class NullConversationManager extends ConversationManager {
16
+ /**
17
+ * Unique identifier for this conversation manager.
18
+ */
19
+ name = 'strands:null-conversation-manager';
13
20
  /**
14
- * Registers callbacks with the hook registry.
15
- * This implementation registers no hooks, providing a complete no-op behavior.
21
+ * No-op reduction never modifies the conversation history.
16
22
  *
17
- * @param _registry - The hook registry to register callbacks with (unused)
23
+ * @returns `false` always
18
24
  */
19
- registerCallbacks(_registry) {
20
- // No-op - register zero hooks
25
+ reduce(_args) {
26
+ return false;
21
27
  }
22
28
  }
23
29
  //# sourceMappingURL=null-conversation-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"null-conversation-manager.js","sourceRoot":"","sources":["../../../src/conversation-manager/null-conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAClC;;;;;OAKG;IACI,iBAAiB,CAAC,SAAuB;QAC9C,8BAA8B;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"null-conversation-manager.js","sourceRoot":"","sources":["../../../src/conversation-manager/null-conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAyC,MAAM,2BAA2B,CAAA;AAEtG;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,mBAAmB;IAC9D;;OAEG;IACM,IAAI,GAAG,mCAAmC,CAAA;IAEnD;;;;OAIG;IACH,MAAM,CAAC,KAAuC;QAC5C,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
@@ -4,8 +4,8 @@
4
4
  * This module provides a sliding window strategy for managing conversation history
5
5
  * that preserves tool usage pairs and avoids invalid window states.
6
6
  */
7
- import type { HookProvider } from '../hooks/types.js';
8
- import type { HookRegistry } from '../hooks/registry.js';
7
+ import type { LocalAgent } from '../types/agent.js';
8
+ import { ConversationManager, type ConversationManagerReduceOptions } from './conversation-manager.js';
9
9
  /**
10
10
  * Configuration for the sliding window conversation manager.
11
11
  */
@@ -29,13 +29,17 @@ export type SlidingWindowConversationManagerConfig = {
29
29
  * the window size, it will either truncate large tool results or remove the oldest
30
30
  * messages while ensuring tool use/result pairs remain valid.
31
31
  *
32
- * As a HookProvider, it registers callbacks for:
32
+ * Registers hooks for:
33
33
  * - AfterInvocationEvent: Applies sliding window management after each invocation
34
- * - AfterModelCallEvent: Reduces context on overflow errors and requests retry
34
+ * - AfterModelCallEvent: Reduces context on overflow errors and requests retry (via super)
35
35
  */
36
- export declare class SlidingWindowConversationManager implements HookProvider {
36
+ export declare class SlidingWindowConversationManager extends ConversationManager {
37
37
  private readonly _windowSize;
38
38
  private readonly _shouldTruncateResults;
39
+ /**
40
+ * Unique identifier for this conversation manager.
41
+ */
42
+ readonly name = "strands:sliding-window-conversation-manager";
39
43
  /**
40
44
  * Initialize the sliding window conversation manager.
41
45
  *
@@ -43,25 +47,32 @@ export declare class SlidingWindowConversationManager implements HookProvider {
43
47
  */
44
48
  constructor(config?: SlidingWindowConversationManagerConfig);
45
49
  /**
46
- * Registers callbacks with the hook registry.
50
+ * Initialize the plugin by registering hooks with the agent.
47
51
  *
48
52
  * Registers:
49
53
  * - AfterInvocationEvent callback to apply sliding window management
50
- * - AfterModelCallEvent callback to handle context overflow and request retry
54
+ * - AfterModelCallEvent callback to handle context overflow and request retry (via super)
51
55
  *
52
- * @param registry - The hook registry to register callbacks with
56
+ * @param agent - The agent to register hooks with
53
57
  */
54
- registerCallbacks(registry: HookRegistry): void;
58
+ initAgent(agent: LocalAgent): void;
59
+ /**
60
+ * Reduce the conversation history in response to a context overflow.
61
+ *
62
+ * Attempts to truncate large tool results first before falling back to message trimming.
63
+ *
64
+ * @param options - The reduction options
65
+ * @returns `true` if the history was reduced, `false` otherwise
66
+ */
67
+ reduce({ agent, error }: ConversationManagerReduceOptions): boolean;
55
68
  /**
56
69
  * Apply the sliding window to the messages array to maintain a manageable history size.
57
70
  *
58
- * This method is called after every agent loop cycle to apply a sliding window if the message
59
- * count exceeds the window size. If the number of messages is within the window size, no action
60
- * is taken.
71
+ * Called after every agent invocation. No-op if within the window size.
61
72
  *
62
73
  * @param messages - The message array to manage. Modified in-place.
63
74
  */
64
- private applyManagement;
75
+ private _applyManagement;
65
76
  /**
66
77
  * Trim the oldest messages to reduce the conversation context size.
67
78
  *
@@ -76,11 +87,9 @@ export declare class SlidingWindowConversationManager implements HookProvider {
76
87
  *
77
88
  * @param messages - The message array to reduce. Modified in-place.
78
89
  * @param _error - The error that triggered the context reduction, if any.
79
- *
80
- * @throws ContextWindowOverflowError If the context cannot be reduced further,
81
- * such as when the conversation is already minimal or when no valid trim point exists.
90
+ * @returns `true` if any reduction occurred, `false` otherwise.
82
91
  */
83
- private reduceContext;
92
+ private _reduceContext;
84
93
  /**
85
94
  * Truncate tool results in a message to reduce context size.
86
95
  *
@@ -91,7 +100,7 @@ export declare class SlidingWindowConversationManager implements HookProvider {
91
100
  * @param msgIdx - Index of the message containing tool results to truncate.
92
101
  * @returns True if any changes were made to the message, false otherwise.
93
102
  */
94
- private truncateToolResults;
103
+ private _truncateToolResults;
95
104
  /**
96
105
  * Find the index of the last message containing tool results.
97
106
  *
@@ -100,6 +109,6 @@ export declare class SlidingWindowConversationManager implements HookProvider {
100
109
  * @param messages - The conversation message history.
101
110
  * @returns Index of the last message with tool results, or undefined if no such message exists.
102
111
  */
103
- private findLastMessageWithToolResults;
112
+ private _findLastMessageWithToolResults;
104
113
  }
105
114
  //# sourceMappingURL=sliding-window-conversation-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sliding-window-conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/conversation-manager/sliding-window-conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGxD;;GAEG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,gCAAiC,YAAW,YAAY;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAEhD;;;;OAIG;gBACS,MAAM,CAAC,EAAE,sCAAsC;IAK3D;;;;;;;;OAQG;IACI,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAetD;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,aAAa;IAuDrB;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IA0D3B;;;;;;;OAOG;IACH,OAAO,CAAC,8BAA8B;CAcvC"}
1
+ {"version":3,"file":"sliding-window-conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/conversation-manager/sliding-window-conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,KAAK,gCAAgC,EAAE,MAAM,2BAA2B,CAAA;AAGtG;;GAEG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,gCAAiC,SAAQ,mBAAmB;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAEhD;;OAEG;IACH,QAAQ,CAAC,IAAI,iDAAgD;IAE7D;;;;OAIG;gBACS,MAAM,CAAC,EAAE,sCAAsC;IAM3D;;;;;;;;OAQG;IACa,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQlD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gCAAgC,GAAG,OAAO;IAInE;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,cAAc;IAkEtB;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IA0D5B;;;;;;;OAOG;IACH,OAAO,CAAC,+BAA+B;CAcxC"}
@@ -4,9 +4,10 @@
4
4
  * This module provides a sliding window strategy for managing conversation history
5
5
  * that preserves tool usage pairs and avoids invalid window states.
6
6
  */
7
- import { ContextWindowOverflowError } from '../errors.js';
8
7
  import { Message, TextBlock, ToolResultBlock } from '../types/messages.js';
9
- import { AfterInvocationEvent, AfterModelCallEvent } from '../hooks/events.js';
8
+ import { AfterInvocationEvent } from '../hooks/events.js';
9
+ import { ConversationManager } from './conversation-manager.js';
10
+ import { logger } from '../logging/logger.js';
10
11
  /**
11
12
  * Implements a sliding window strategy for managing conversation history.
12
13
  *
@@ -15,58 +16,65 @@ import { AfterInvocationEvent, AfterModelCallEvent } from '../hooks/events.js';
15
16
  * the window size, it will either truncate large tool results or remove the oldest
16
17
  * messages while ensuring tool use/result pairs remain valid.
17
18
  *
18
- * As a HookProvider, it registers callbacks for:
19
+ * Registers hooks for:
19
20
  * - AfterInvocationEvent: Applies sliding window management after each invocation
20
- * - AfterModelCallEvent: Reduces context on overflow errors and requests retry
21
+ * - AfterModelCallEvent: Reduces context on overflow errors and requests retry (via super)
21
22
  */
22
- export class SlidingWindowConversationManager {
23
+ export class SlidingWindowConversationManager extends ConversationManager {
23
24
  _windowSize;
24
25
  _shouldTruncateResults;
26
+ /**
27
+ * Unique identifier for this conversation manager.
28
+ */
29
+ name = 'strands:sliding-window-conversation-manager';
25
30
  /**
26
31
  * Initialize the sliding window conversation manager.
27
32
  *
28
33
  * @param config - Configuration options for the sliding window manager.
29
34
  */
30
35
  constructor(config) {
36
+ super();
31
37
  this._windowSize = config?.windowSize ?? 40;
32
38
  this._shouldTruncateResults = config?.shouldTruncateResults ?? true;
33
39
  }
34
40
  /**
35
- * Registers callbacks with the hook registry.
41
+ * Initialize the plugin by registering hooks with the agent.
36
42
  *
37
43
  * Registers:
38
44
  * - AfterInvocationEvent callback to apply sliding window management
39
- * - AfterModelCallEvent callback to handle context overflow and request retry
45
+ * - AfterModelCallEvent callback to handle context overflow and request retry (via super)
40
46
  *
41
- * @param registry - The hook registry to register callbacks with
47
+ * @param agent - The agent to register hooks with
42
48
  */
43
- registerCallbacks(registry) {
44
- // Apply sliding window management after each invocation
45
- registry.addCallback(AfterInvocationEvent, (event) => {
46
- this.applyManagement(event.agent.messages);
47
- });
48
- // Handle context overflow errors
49
- registry.addCallback(AfterModelCallEvent, (event) => {
50
- if (event.error instanceof ContextWindowOverflowError) {
51
- this.reduceContext(event.agent.messages, event.error);
52
- event.retry = true;
53
- }
49
+ initAgent(agent) {
50
+ super.initAgent(agent);
51
+ agent.addHook(AfterInvocationEvent, (event) => {
52
+ this._applyManagement(event.agent.messages);
54
53
  });
55
54
  }
55
+ /**
56
+ * Reduce the conversation history in response to a context overflow.
57
+ *
58
+ * Attempts to truncate large tool results first before falling back to message trimming.
59
+ *
60
+ * @param options - The reduction options
61
+ * @returns `true` if the history was reduced, `false` otherwise
62
+ */
63
+ reduce({ agent, error }) {
64
+ return this._reduceContext(agent.messages, error);
65
+ }
56
66
  /**
57
67
  * Apply the sliding window to the messages array to maintain a manageable history size.
58
68
  *
59
- * This method is called after every agent loop cycle to apply a sliding window if the message
60
- * count exceeds the window size. If the number of messages is within the window size, no action
61
- * is taken.
69
+ * Called after every agent invocation. No-op if within the window size.
62
70
  *
63
71
  * @param messages - The message array to manage. Modified in-place.
64
72
  */
65
- applyManagement(messages) {
73
+ _applyManagement(messages) {
66
74
  if (messages.length <= this._windowSize) {
67
75
  return;
68
76
  }
69
- this.reduceContext(messages);
77
+ this._reduceContext(messages, undefined);
70
78
  }
71
79
  /**
72
80
  * Trim the oldest messages to reduce the conversation context size.
@@ -82,42 +90,46 @@ export class SlidingWindowConversationManager {
82
90
  *
83
91
  * @param messages - The message array to reduce. Modified in-place.
84
92
  * @param _error - The error that triggered the context reduction, if any.
85
- *
86
- * @throws ContextWindowOverflowError If the context cannot be reduced further,
87
- * such as when the conversation is already minimal or when no valid trim point exists.
93
+ * @returns `true` if any reduction occurred, `false` otherwise.
88
94
  */
89
- reduceContext(messages, _error) {
95
+ _reduceContext(messages, _error) {
90
96
  // Only truncate tool results when handling a context overflow error, not for window size enforcement
91
- const lastMessageIdxWithToolResults = this.findLastMessageWithToolResults(messages);
97
+ const lastMessageIdxWithToolResults = this._findLastMessageWithToolResults(messages);
92
98
  if (_error && lastMessageIdxWithToolResults !== undefined && this._shouldTruncateResults) {
93
- const resultsTruncated = this.truncateToolResults(messages, lastMessageIdxWithToolResults);
99
+ const resultsTruncated = this._truncateToolResults(messages, lastMessageIdxWithToolResults);
94
100
  if (resultsTruncated) {
95
- return;
101
+ return true;
96
102
  }
97
103
  }
98
104
  // Try to trim messages when tool result cannot be truncated anymore
99
105
  // If the number of messages is less than the window_size, then we default to 2, otherwise, trim to window size
100
106
  let trimIndex = messages.length <= this._windowSize ? 2 : messages.length - this._windowSize;
101
- // Find the next valid trim_index
107
+ // Find the next valid trim point that:
108
+ // 1. Starts with a user message (required by most model providers)
109
+ // 2. Does not start with an orphaned toolResult
110
+ // 3. Does not start with a toolUse unless its toolResult immediately follows
102
111
  while (trimIndex < messages.length) {
103
112
  const oldestMessage = messages[trimIndex];
104
113
  if (!oldestMessage) {
105
114
  break;
106
115
  }
107
- // Check if oldest message would be a toolResult (invalid - needs preceding toolUse)
116
+ // Must start with a user message
117
+ if (oldestMessage.role !== 'user') {
118
+ trimIndex++;
119
+ continue;
120
+ }
121
+ // Cannot start with an orphaned toolResult
108
122
  const hasToolResult = oldestMessage.content.some((block) => block.type === 'toolResultBlock');
109
123
  if (hasToolResult) {
110
124
  trimIndex++;
111
125
  continue;
112
126
  }
113
- // Check if oldest message would be a toolUse without immediately following toolResult
127
+ // toolUse is only valid if the next message is its toolResult
114
128
  const hasToolUse = oldestMessage.content.some((block) => block.type === 'toolUseBlock');
115
129
  if (hasToolUse) {
116
- // Check if next message has toolResult
117
130
  const nextMessage = messages[trimIndex + 1];
118
131
  const nextHasToolResult = nextMessage && nextMessage.content.some((block) => block.type === 'toolResultBlock');
119
132
  if (!nextHasToolResult) {
120
- // toolUse without following toolResult - invalid trim point
121
133
  trimIndex++;
122
134
  continue;
123
135
  }
@@ -125,12 +137,15 @@ export class SlidingWindowConversationManager {
125
137
  // Valid trim point found
126
138
  break;
127
139
  }
128
- // If we didn't find a valid trim_index, then we throw
129
- if (trimIndex >= messages.length) {
130
- throw new ContextWindowOverflowError('Unable to trim conversation context!');
140
+ // If no valid trim point was found, return false and let the caller handle it.
141
+ // When windowSize is 0, trimIndex === messages.length is expected (remove all), so allow it through.
142
+ if (trimIndex > messages.length || (trimIndex === messages.length && this._windowSize > 0)) {
143
+ logger.warn(`window_size=<${this._windowSize}>, messages=<${messages.length}> | unable to trim conversation context, no valid trim point found`);
144
+ return false;
131
145
  }
132
- // Overwrite message history
146
+ // trimIndex is guaranteed to be < messages.length here, so splice always removes at least one message
133
147
  messages.splice(0, trimIndex);
148
+ return true;
134
149
  }
135
150
  /**
136
151
  * Truncate tool results in a message to reduce context size.
@@ -142,7 +157,7 @@ export class SlidingWindowConversationManager {
142
157
  * @param msgIdx - Index of the message containing tool results to truncate.
143
158
  * @returns True if any changes were made to the message, false otherwise.
144
159
  */
145
- truncateToolResults(messages, msgIdx) {
160
+ _truncateToolResults(messages, msgIdx) {
146
161
  if (msgIdx >= messages.length || msgIdx < 0) {
147
162
  return false;
148
163
  }
@@ -197,7 +212,7 @@ export class SlidingWindowConversationManager {
197
212
  * @param messages - The conversation message history.
198
213
  * @returns Index of the last message with tool results, or undefined if no such message exists.
199
214
  */
200
- findLastMessageWithToolResults(messages) {
215
+ _findLastMessageWithToolResults(messages) {
201
216
  // Iterate backwards through all messages (from newest to oldest)
202
217
  for (let idx = messages.length - 1; idx >= 0; idx--) {
203
218
  const currentMessage = messages[idx];
@@ -1 +1 @@
1
- {"version":3,"file":"sliding-window-conversation-manager.js","sourceRoot":"","sources":["../../../src/conversation-manager/sliding-window-conversation-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sliding-window-conversation-manager.js","sourceRoot":"","sources":["../../../src/conversation-manager/sliding-window-conversation-manager.ts"],"names":[],"mappings":"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"}
@@ -136,4 +136,12 @@ export declare class SessionError extends Error {
136
136
  export declare class ToolValidationError extends Error {
137
137
  constructor(message: string);
138
138
  }
139
+ /**
140
+ * Thrown when the model fails to produce structured output.
141
+ * This occurs when the LLM refuses to use the structured output tool
142
+ * even after being forced via toolChoice.
143
+ */
144
+ export declare class StructuredOutputError extends Error {
145
+ constructor(message: string);
146
+ }
139
147
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,UAAU;IACxD;;;;OAIG;gBACS,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C;;;OAGG;IACH,SAAgB,cAAc,EAAE,OAAO,CAAA;IAEvC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO;CAKrD;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C;;;;OAIG;gBACS,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD;;;;OAIG;gBACS,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAEpD;AAED;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD;;;;;;;GAOG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,UAAU;IACxD;;;;OAIG;gBACS,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C;;;OAGG;IACH,SAAgB,cAAc,EAAE,OAAO,CAAA;IAEvC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO;CAKrD;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C;;;;OAIG;gBACS,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD;;;;OAIG;gBACS,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAEpD;AAED;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B"}
@@ -160,4 +160,15 @@ export class ToolValidationError extends Error {
160
160
  this.name = 'ToolValidationError';
161
161
  }
162
162
  }
163
+ /**
164
+ * Thrown when the model fails to produce structured output.
165
+ * This occurs when the LLM refuses to use the structured output tool
166
+ * even after being forced via toolChoice.
167
+ */
168
+ export class StructuredOutputError extends Error {
169
+ constructor(message) {
170
+ super(message);
171
+ this.name = 'StructuredOutputError';
172
+ }
173
+ }
163
174
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;GAOG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC;;;;;OAKG;IACH,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC1B,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,0BAA2B,SAAQ,UAAU;IACxD;;;;OAIG;IACH,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC5C;;;OAGG;IACa,cAAc,CAAS;IAEvC;;;;;OAKG;IACH,YAAY,OAAe,EAAE,cAAuB;QAClD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACtC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;;;;OAIG;IACH,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD;;;;OAIG;IACH,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IACjD;;;;;OAKG;IACH,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC;;;;;OAKG;IACH,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;GAOG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC;;;;;OAKG;IACH,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC1B,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,0BAA2B,SAAQ,UAAU;IACxD;;;;OAIG;IACH,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC5C;;;OAGG;IACa,cAAc,CAAS;IAEvC;;;;;OAKG;IACH,YAAY,OAAe,EAAE,cAAuB;QAClD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACtC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;;;;OAIG;IACH,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD;;;;OAIG;IACH,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IACjD;;;;;OAKG;IACH,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC;;;;;OAKG;IACH,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF"}