@strands-agents/sdk 0.0.1

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 (423) hide show
  1. package/LICENSE +175 -0
  2. package/README.md +185 -0
  3. package/dist/__fixtures__/model-test-helpers.d.ts +56 -0
  4. package/dist/__fixtures__/model-test-helpers.d.ts.map +1 -0
  5. package/dist/__fixtures__/model-test-helpers.js +85 -0
  6. package/dist/__fixtures__/model-test-helpers.js.map +1 -0
  7. package/dist/__fixtures__/tool-helpers.d.ts +15 -0
  8. package/dist/__fixtures__/tool-helpers.d.ts.map +1 -0
  9. package/dist/__fixtures__/tool-helpers.js +22 -0
  10. package/dist/__fixtures__/tool-helpers.js.map +1 -0
  11. package/dist/__tests__/errors.test.d.ts +2 -0
  12. package/dist/__tests__/errors.test.d.ts.map +1 -0
  13. package/dist/__tests__/errors.test.js +20 -0
  14. package/dist/__tests__/errors.test.js.map +1 -0
  15. package/dist/__tests__/index.test.d.ts +2 -0
  16. package/dist/__tests__/index.test.d.ts.map +1 -0
  17. package/dist/__tests__/index.test.js +27 -0
  18. package/dist/__tests__/index.test.js.map +1 -0
  19. package/dist/errors.d.ts +22 -0
  20. package/dist/errors.d.ts.map +1 -0
  21. package/dist/errors.js +25 -0
  22. package/dist/errors.js.map +1 -0
  23. package/dist/index.d.ts +19 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +17 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/models/__tests__/bedrock.test.d.ts +2 -0
  28. package/dist/models/__tests__/bedrock.test.d.ts.map +1 -0
  29. package/dist/models/__tests__/bedrock.test.js +1161 -0
  30. package/dist/models/__tests__/bedrock.test.js.map +1 -0
  31. package/dist/models/__tests__/model.test.d.ts +2 -0
  32. package/dist/models/__tests__/model.test.d.ts.map +1 -0
  33. package/dist/models/__tests__/model.test.js +297 -0
  34. package/dist/models/__tests__/model.test.js.map +1 -0
  35. package/dist/models/__tests__/openai.test.d.ts +2 -0
  36. package/dist/models/__tests__/openai.test.d.ts.map +1 -0
  37. package/dist/models/__tests__/openai.test.js +1016 -0
  38. package/dist/models/__tests__/openai.test.js.map +1 -0
  39. package/dist/models/__tests__/test-utils.d.ts +10 -0
  40. package/dist/models/__tests__/test-utils.d.ts.map +1 -0
  41. package/dist/models/__tests__/test-utils.js +17 -0
  42. package/dist/models/__tests__/test-utils.js.map +1 -0
  43. package/dist/models/bedrock.d.ts +272 -0
  44. package/dist/models/bedrock.d.ts.map +1 -0
  45. package/dist/models/bedrock.js +679 -0
  46. package/dist/models/bedrock.js.map +1 -0
  47. package/dist/models/model.d.ts +89 -0
  48. package/dist/models/model.d.ts.map +1 -0
  49. package/dist/models/model.js +122 -0
  50. package/dist/models/model.js.map +1 -0
  51. package/dist/models/openai.d.ts +262 -0
  52. package/dist/models/openai.d.ts.map +1 -0
  53. package/dist/models/openai.js +625 -0
  54. package/dist/models/openai.js.map +1 -0
  55. package/dist/models/streaming.d.ts +226 -0
  56. package/dist/models/streaming.d.ts.map +1 -0
  57. package/dist/models/streaming.js +2 -0
  58. package/dist/models/streaming.js.map +1 -0
  59. package/dist/src/__fixtures__/agent-helpers.d.ts +29 -0
  60. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -0
  61. package/dist/src/__fixtures__/agent-helpers.js +19 -0
  62. package/dist/src/__fixtures__/agent-helpers.js.map +1 -0
  63. package/dist/src/__fixtures__/environment.d.ts +12 -0
  64. package/dist/src/__fixtures__/environment.d.ts.map +1 -0
  65. package/dist/src/__fixtures__/environment.js +12 -0
  66. package/dist/src/__fixtures__/environment.js.map +1 -0
  67. package/dist/src/__fixtures__/mock-hook-provider.d.ts +14 -0
  68. package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +1 -0
  69. package/dist/src/__fixtures__/mock-hook-provider.js +33 -0
  70. package/dist/src/__fixtures__/mock-hook-provider.js.map +1 -0
  71. package/dist/src/__fixtures__/mock-message-model.d.ts +93 -0
  72. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -0
  73. package/dist/src/__fixtures__/mock-message-model.js +226 -0
  74. package/dist/src/__fixtures__/mock-message-model.js.map +1 -0
  75. package/dist/src/__fixtures__/model-test-helpers.d.ts +56 -0
  76. package/dist/src/__fixtures__/model-test-helpers.d.ts.map +1 -0
  77. package/dist/src/__fixtures__/model-test-helpers.js +85 -0
  78. package/dist/src/__fixtures__/model-test-helpers.js.map +1 -0
  79. package/dist/src/__fixtures__/tool-helpers.d.ts +37 -0
  80. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -0
  81. package/dist/src/__fixtures__/tool-helpers.js +78 -0
  82. package/dist/src/__fixtures__/tool-helpers.js.map +1 -0
  83. package/dist/src/__tests__/errors.test.d.ts +2 -0
  84. package/dist/src/__tests__/errors.test.d.ts.map +1 -0
  85. package/dist/src/__tests__/errors.test.js +64 -0
  86. package/dist/src/__tests__/errors.test.js.map +1 -0
  87. package/dist/src/__tests__/index.test.d.ts +2 -0
  88. package/dist/src/__tests__/index.test.d.ts.map +1 -0
  89. package/dist/src/__tests__/index.test.js +27 -0
  90. package/dist/src/__tests__/index.test.js.map +1 -0
  91. package/dist/src/__tests__/mcp.test.d.ts +2 -0
  92. package/dist/src/__tests__/mcp.test.d.ts.map +1 -0
  93. package/dist/src/__tests__/mcp.test.js +166 -0
  94. package/dist/src/__tests__/mcp.test.js.map +1 -0
  95. package/dist/src/agent/__tests__/agent.hook.test.d.ts +2 -0
  96. package/dist/src/agent/__tests__/agent.hook.test.d.ts.map +1 -0
  97. package/dist/src/agent/__tests__/agent.hook.test.js +250 -0
  98. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -0
  99. package/dist/src/agent/__tests__/agent.test.d.ts +2 -0
  100. package/dist/src/agent/__tests__/agent.test.d.ts.map +1 -0
  101. package/dist/src/agent/__tests__/agent.test.js +414 -0
  102. package/dist/src/agent/__tests__/agent.test.js.map +1 -0
  103. package/dist/src/agent/__tests__/printer.test.d.ts +2 -0
  104. package/dist/src/agent/__tests__/printer.test.d.ts.map +1 -0
  105. package/dist/src/agent/__tests__/printer.test.js +152 -0
  106. package/dist/src/agent/__tests__/printer.test.js.map +1 -0
  107. package/dist/src/agent/__tests__/state.test.d.ts +2 -0
  108. package/dist/src/agent/__tests__/state.test.d.ts.map +1 -0
  109. package/dist/src/agent/__tests__/state.test.js +231 -0
  110. package/dist/src/agent/__tests__/state.test.js.map +1 -0
  111. package/dist/src/agent/agent.d.ts +207 -0
  112. package/dist/src/agent/agent.d.ts.map +1 -0
  113. package/dist/src/agent/agent.js +481 -0
  114. package/dist/src/agent/agent.js.map +1 -0
  115. package/dist/src/agent/printer.d.ts +73 -0
  116. package/dist/src/agent/printer.d.ts.map +1 -0
  117. package/dist/src/agent/printer.js +145 -0
  118. package/dist/src/agent/printer.js.map +1 -0
  119. package/dist/src/agent/state.d.ts +102 -0
  120. package/dist/src/agent/state.d.ts.map +1 -0
  121. package/dist/src/agent/state.js +73 -0
  122. package/dist/src/agent/state.js.map +1 -0
  123. package/dist/src/agent/streaming.d.ts +91 -0
  124. package/dist/src/agent/streaming.d.ts.map +1 -0
  125. package/dist/src/agent/streaming.js +2 -0
  126. package/dist/src/agent/streaming.js.map +1 -0
  127. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts +2 -0
  128. package/dist/src/conversation-manager/__tests__/conversation-manager.test.d.ts.map +1 -0
  129. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +10 -0
  130. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -0
  131. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.d.ts +2 -0
  132. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.d.ts.map +1 -0
  133. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +35 -0
  134. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -0
  135. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.d.ts +2 -0
  136. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.d.ts.map +1 -0
  137. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +553 -0
  138. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -0
  139. package/dist/src/conversation-manager/conversation-manager.d.ts +73 -0
  140. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -0
  141. package/dist/src/conversation-manager/conversation-manager.js +24 -0
  142. package/dist/src/conversation-manager/conversation-manager.js.map +1 -0
  143. package/dist/src/conversation-manager/index.d.ts +8 -0
  144. package/dist/src/conversation-manager/index.d.ts.map +1 -0
  145. package/dist/src/conversation-manager/index.js +8 -0
  146. package/dist/src/conversation-manager/index.js.map +1 -0
  147. package/dist/src/conversation-manager/null-conversation-manager.d.ts +23 -0
  148. package/dist/src/conversation-manager/null-conversation-manager.d.ts.map +1 -0
  149. package/dist/src/conversation-manager/null-conversation-manager.js +23 -0
  150. package/dist/src/conversation-manager/null-conversation-manager.js.map +1 -0
  151. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +105 -0
  152. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -0
  153. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +212 -0
  154. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -0
  155. package/dist/src/errors.d.ts +83 -0
  156. package/dist/src/errors.d.ts.map +1 -0
  157. package/dist/src/errors.js +97 -0
  158. package/dist/src/errors.js.map +1 -0
  159. package/dist/src/hooks/__tests__/events.test.d.ts +2 -0
  160. package/dist/src/hooks/__tests__/events.test.d.ts.map +1 -0
  161. package/dist/src/hooks/__tests__/events.test.js +347 -0
  162. package/dist/src/hooks/__tests__/events.test.js.map +1 -0
  163. package/dist/src/hooks/__tests__/registry.test.d.ts +2 -0
  164. package/dist/src/hooks/__tests__/registry.test.d.ts.map +1 -0
  165. package/dist/src/hooks/__tests__/registry.test.js +154 -0
  166. package/dist/src/hooks/__tests__/registry.test.js.map +1 -0
  167. package/dist/src/hooks/events.d.ts +199 -0
  168. package/dist/src/hooks/events.d.ts.map +1 -0
  169. package/dist/src/hooks/events.js +191 -0
  170. package/dist/src/hooks/events.js.map +1 -0
  171. package/dist/src/hooks/index.d.ts +11 -0
  172. package/dist/src/hooks/index.d.ts.map +1 -0
  173. package/dist/src/hooks/index.js +11 -0
  174. package/dist/src/hooks/index.js.map +1 -0
  175. package/dist/src/hooks/registry.d.ts +65 -0
  176. package/dist/src/hooks/registry.d.ts.map +1 -0
  177. package/dist/src/hooks/registry.js +65 -0
  178. package/dist/src/hooks/registry.js.map +1 -0
  179. package/dist/src/hooks/types.d.ts +49 -0
  180. package/dist/src/hooks/types.d.ts.map +1 -0
  181. package/dist/src/hooks/types.js +2 -0
  182. package/dist/src/hooks/types.js.map +1 -0
  183. package/dist/src/index.d.ts +32 -0
  184. package/dist/src/index.d.ts.map +1 -0
  185. package/dist/src/index.js +29 -0
  186. package/dist/src/index.js.map +1 -0
  187. package/dist/src/mcp.d.ts +51 -0
  188. package/dist/src/mcp.d.ts.map +1 -0
  189. package/dist/src/mcp.js +91 -0
  190. package/dist/src/mcp.js.map +1 -0
  191. package/dist/src/models/__tests__/bedrock.test.d.ts +2 -0
  192. package/dist/src/models/__tests__/bedrock.test.d.ts.map +1 -0
  193. package/dist/src/models/__tests__/bedrock.test.js +1388 -0
  194. package/dist/src/models/__tests__/bedrock.test.js.map +1 -0
  195. package/dist/src/models/__tests__/model.test.d.ts +2 -0
  196. package/dist/src/models/__tests__/model.test.d.ts.map +1 -0
  197. package/dist/src/models/__tests__/model.test.js +342 -0
  198. package/dist/src/models/__tests__/model.test.js.map +1 -0
  199. package/dist/src/models/__tests__/openai.test.d.ts +2 -0
  200. package/dist/src/models/__tests__/openai.test.d.ts.map +1 -0
  201. package/dist/src/models/__tests__/openai.test.js +1189 -0
  202. package/dist/src/models/__tests__/openai.test.js.map +1 -0
  203. package/dist/src/models/__tests__/test-utils.d.ts +10 -0
  204. package/dist/src/models/__tests__/test-utils.d.ts.map +1 -0
  205. package/dist/src/models/__tests__/test-utils.js +17 -0
  206. package/dist/src/models/__tests__/test-utils.js.map +1 -0
  207. package/dist/src/models/bedrock.d.ts +289 -0
  208. package/dist/src/models/bedrock.d.ts.map +1 -0
  209. package/dist/src/models/bedrock.js +804 -0
  210. package/dist/src/models/bedrock.js.map +1 -0
  211. package/dist/src/models/model.d.ts +99 -0
  212. package/dist/src/models/model.d.ts.map +1 -0
  213. package/dist/src/models/model.js +169 -0
  214. package/dist/src/models/model.js.map +1 -0
  215. package/dist/src/models/openai.d.ts +262 -0
  216. package/dist/src/models/openai.d.ts.map +1 -0
  217. package/dist/src/models/openai.js +752 -0
  218. package/dist/src/models/openai.js.map +1 -0
  219. package/dist/src/models/streaming.d.ts +318 -0
  220. package/dist/src/models/streaming.d.ts.map +1 -0
  221. package/dist/src/models/streaming.js +122 -0
  222. package/dist/src/models/streaming.js.map +1 -0
  223. package/dist/src/registry/registry.d.ts +117 -0
  224. package/dist/src/registry/registry.d.ts.map +1 -0
  225. package/dist/src/registry/registry.js +298 -0
  226. package/dist/src/registry/registry.js.map +1 -0
  227. package/dist/src/registry/tool-registry.d.ts +34 -0
  228. package/dist/src/registry/tool-registry.d.ts.map +1 -0
  229. package/dist/src/registry/tool-registry.js +178 -0
  230. package/dist/src/registry/tool-registry.js.map +1 -0
  231. package/dist/src/tools/__tests__/tool.test.d.ts +2 -0
  232. package/dist/src/tools/__tests__/tool.test.d.ts.map +1 -0
  233. package/dist/src/tools/__tests__/tool.test.js +877 -0
  234. package/dist/src/tools/__tests__/tool.test.js.map +1 -0
  235. package/dist/src/tools/__tests__/zod-tool.test-d.d.ts +2 -0
  236. package/dist/src/tools/__tests__/zod-tool.test-d.d.ts.map +1 -0
  237. package/dist/src/tools/__tests__/zod-tool.test-d.js +227 -0
  238. package/dist/src/tools/__tests__/zod-tool.test-d.js.map +1 -0
  239. package/dist/src/tools/__tests__/zod-tool.test.d.ts +2 -0
  240. package/dist/src/tools/__tests__/zod-tool.test.d.ts.map +1 -0
  241. package/dist/src/tools/__tests__/zod-tool.test.js +372 -0
  242. package/dist/src/tools/__tests__/zod-tool.test.js.map +1 -0
  243. package/dist/src/tools/function-tool.d.ts +146 -0
  244. package/dist/src/tools/function-tool.d.ts.map +1 -0
  245. package/dist/src/tools/function-tool.js +188 -0
  246. package/dist/src/tools/function-tool.js.map +1 -0
  247. package/dist/src/tools/mcp-tool.d.ts +36 -0
  248. package/dist/src/tools/mcp-tool.d.ts.map +1 -0
  249. package/dist/src/tools/mcp-tool.js +78 -0
  250. package/dist/src/tools/mcp-tool.js.map +1 -0
  251. package/dist/src/tools/tool.d.ts +167 -0
  252. package/dist/src/tools/tool.d.ts.map +1 -0
  253. package/dist/src/tools/tool.js +68 -0
  254. package/dist/src/tools/tool.js.map +1 -0
  255. package/dist/src/tools/types.d.ts +62 -0
  256. package/dist/src/tools/types.d.ts.map +1 -0
  257. package/dist/src/tools/types.js +2 -0
  258. package/dist/src/tools/types.js.map +1 -0
  259. package/dist/src/tools/zod-tool.d.ts +70 -0
  260. package/dist/src/tools/zod-tool.d.ts.map +1 -0
  261. package/dist/src/tools/zod-tool.js +149 -0
  262. package/dist/src/tools/zod-tool.js.map +1 -0
  263. package/dist/src/types/__tests__/agent.test.d.ts +2 -0
  264. package/dist/src/types/__tests__/agent.test.d.ts.map +1 -0
  265. package/dist/src/types/__tests__/agent.test.js +155 -0
  266. package/dist/src/types/__tests__/agent.test.js.map +1 -0
  267. package/dist/src/types/__tests__/json.test.d.ts +2 -0
  268. package/dist/src/types/__tests__/json.test.d.ts.map +1 -0
  269. package/dist/src/types/__tests__/json.test.js +298 -0
  270. package/dist/src/types/__tests__/json.test.js.map +1 -0
  271. package/dist/src/types/__tests__/media.test.d.ts +2 -0
  272. package/dist/src/types/__tests__/media.test.d.ts.map +1 -0
  273. package/dist/src/types/__tests__/media.test.js +257 -0
  274. package/dist/src/types/__tests__/media.test.js.map +1 -0
  275. package/dist/src/types/__tests__/messages.test.d.ts +2 -0
  276. package/dist/src/types/__tests__/messages.test.d.ts.map +1 -0
  277. package/dist/src/types/__tests__/messages.test.js +364 -0
  278. package/dist/src/types/__tests__/messages.test.js.map +1 -0
  279. package/dist/src/types/__tests__/validation.test.d.ts +2 -0
  280. package/dist/src/types/__tests__/validation.test.d.ts.map +1 -0
  281. package/dist/src/types/__tests__/validation.test.js +30 -0
  282. package/dist/src/types/__tests__/validation.test.js.map +1 -0
  283. package/dist/src/types/agent.d.ts +57 -0
  284. package/dist/src/types/agent.d.ts.map +1 -0
  285. package/dist/src/types/agent.js +47 -0
  286. package/dist/src/types/agent.js.map +1 -0
  287. package/dist/src/types/json.d.ts +55 -0
  288. package/dist/src/types/json.d.ts.map +1 -0
  289. package/dist/src/types/json.js +72 -0
  290. package/dist/src/types/json.js.map +1 -0
  291. package/dist/src/types/media.d.ts +249 -0
  292. package/dist/src/types/media.d.ts.map +1 -0
  293. package/dist/src/types/media.js +173 -0
  294. package/dist/src/types/media.js.map +1 -0
  295. package/dist/src/types/messages.d.ts +438 -0
  296. package/dist/src/types/messages.d.ts.map +1 -0
  297. package/dist/src/types/messages.js +286 -0
  298. package/dist/src/types/messages.js.map +1 -0
  299. package/dist/src/types/validation.d.ts +10 -0
  300. package/dist/src/types/validation.d.ts.map +1 -0
  301. package/dist/src/types/validation.js +15 -0
  302. package/dist/src/types/validation.js.map +1 -0
  303. package/dist/tools/__tests__/registry.test.d.ts +2 -0
  304. package/dist/tools/__tests__/registry.test.d.ts.map +1 -0
  305. package/dist/tools/__tests__/registry.test.js +253 -0
  306. package/dist/tools/__tests__/registry.test.js.map +1 -0
  307. package/dist/tools/__tests__/tool.test.d.ts +2 -0
  308. package/dist/tools/__tests__/tool.test.d.ts.map +1 -0
  309. package/dist/tools/__tests__/tool.test.js +761 -0
  310. package/dist/tools/__tests__/tool.test.js.map +1 -0
  311. package/dist/tools/__tests__/zod-tool.test-d.d.ts +2 -0
  312. package/dist/tools/__tests__/zod-tool.test-d.d.ts.map +1 -0
  313. package/dist/tools/__tests__/zod-tool.test-d.js +227 -0
  314. package/dist/tools/__tests__/zod-tool.test-d.js.map +1 -0
  315. package/dist/tools/__tests__/zod-tool.test.d.ts +2 -0
  316. package/dist/tools/__tests__/zod-tool.test.d.ts.map +1 -0
  317. package/dist/tools/__tests__/zod-tool.test.js +342 -0
  318. package/dist/tools/__tests__/zod-tool.test.js.map +1 -0
  319. package/dist/tools/function-tool.d.ts +156 -0
  320. package/dist/tools/function-tool.d.ts.map +1 -0
  321. package/dist/tools/function-tool.js +237 -0
  322. package/dist/tools/function-tool.js.map +1 -0
  323. package/dist/tools/registry.d.ts +43 -0
  324. package/dist/tools/registry.d.ts.map +1 -0
  325. package/dist/tools/registry.js +82 -0
  326. package/dist/tools/registry.js.map +1 -0
  327. package/dist/tools/tool.d.ts +157 -0
  328. package/dist/tools/tool.d.ts.map +1 -0
  329. package/dist/tools/tool.js +2 -0
  330. package/dist/tools/tool.js.map +1 -0
  331. package/dist/tools/types.d.ts +119 -0
  332. package/dist/tools/types.d.ts.map +1 -0
  333. package/dist/tools/types.js +2 -0
  334. package/dist/tools/types.js.map +1 -0
  335. package/dist/tools/zod-tool.d.ts +70 -0
  336. package/dist/tools/zod-tool.d.ts.map +1 -0
  337. package/dist/tools/zod-tool.js +96 -0
  338. package/dist/tools/zod-tool.js.map +1 -0
  339. package/dist/types/__tests__/json.test.d.ts +2 -0
  340. package/dist/types/__tests__/json.test.d.ts.map +1 -0
  341. package/dist/types/__tests__/json.test.js +129 -0
  342. package/dist/types/__tests__/json.test.js.map +1 -0
  343. package/dist/types/__tests__/validation.test.d.ts +2 -0
  344. package/dist/types/__tests__/validation.test.d.ts.map +1 -0
  345. package/dist/types/__tests__/validation.test.js +30 -0
  346. package/dist/types/__tests__/validation.test.js.map +1 -0
  347. package/dist/types/json.d.ts +45 -0
  348. package/dist/types/json.d.ts.map +1 -0
  349. package/dist/types/json.js +17 -0
  350. package/dist/types/json.js.map +1 -0
  351. package/dist/types/messages.d.ts +160 -0
  352. package/dist/types/messages.d.ts.map +1 -0
  353. package/dist/types/messages.js +2 -0
  354. package/dist/types/messages.js.map +1 -0
  355. package/dist/types/validation.d.ts +10 -0
  356. package/dist/types/validation.d.ts.map +1 -0
  357. package/dist/types/validation.js +15 -0
  358. package/dist/types/validation.js.map +1 -0
  359. package/dist/vended_tools/bash/__tests__/bash.test.d.ts +2 -0
  360. package/dist/vended_tools/bash/__tests__/bash.test.d.ts.map +1 -0
  361. package/dist/vended_tools/bash/__tests__/bash.test.js +333 -0
  362. package/dist/vended_tools/bash/__tests__/bash.test.js.map +1 -0
  363. package/dist/vended_tools/bash/bash.d.ts +33 -0
  364. package/dist/vended_tools/bash/bash.d.ts.map +1 -0
  365. package/dist/vended_tools/bash/bash.js +264 -0
  366. package/dist/vended_tools/bash/bash.js.map +1 -0
  367. package/dist/vended_tools/bash/index.d.ts +7 -0
  368. package/dist/vended_tools/bash/index.d.ts.map +1 -0
  369. package/dist/vended_tools/bash/index.js +6 -0
  370. package/dist/vended_tools/bash/index.js.map +1 -0
  371. package/dist/vended_tools/bash/types.d.ts +65 -0
  372. package/dist/vended_tools/bash/types.d.ts.map +1 -0
  373. package/dist/vended_tools/bash/types.js +22 -0
  374. package/dist/vended_tools/bash/types.js.map +1 -0
  375. package/dist/vended_tools/file_editor/__tests__/file-editor.test.d.ts +2 -0
  376. package/dist/vended_tools/file_editor/__tests__/file-editor.test.d.ts.map +1 -0
  377. package/dist/vended_tools/file_editor/__tests__/file-editor.test.js +359 -0
  378. package/dist/vended_tools/file_editor/__tests__/file-editor.test.js.map +1 -0
  379. package/dist/vended_tools/file_editor/file-editor.d.ts +31 -0
  380. package/dist/vended_tools/file_editor/file-editor.d.ts.map +1 -0
  381. package/dist/vended_tools/file_editor/file-editor.js +353 -0
  382. package/dist/vended_tools/file_editor/file-editor.js.map +1 -0
  383. package/dist/vended_tools/file_editor/index.d.ts +6 -0
  384. package/dist/vended_tools/file_editor/index.d.ts.map +1 -0
  385. package/dist/vended_tools/file_editor/index.js +5 -0
  386. package/dist/vended_tools/file_editor/index.js.map +1 -0
  387. package/dist/vended_tools/file_editor/types.d.ts +61 -0
  388. package/dist/vended_tools/file_editor/types.d.ts.map +1 -0
  389. package/dist/vended_tools/file_editor/types.js +2 -0
  390. package/dist/vended_tools/file_editor/types.js.map +1 -0
  391. package/dist/vended_tools/http_request/__tests__/http-request.test.d.ts +2 -0
  392. package/dist/vended_tools/http_request/__tests__/http-request.test.d.ts.map +1 -0
  393. package/dist/vended_tools/http_request/__tests__/http-request.test.js +189 -0
  394. package/dist/vended_tools/http_request/__tests__/http-request.test.js.map +1 -0
  395. package/dist/vended_tools/http_request/http-request.d.ts +35 -0
  396. package/dist/vended_tools/http_request/http-request.d.ts.map +1 -0
  397. package/dist/vended_tools/http_request/http-request.js +95 -0
  398. package/dist/vended_tools/http_request/http-request.js.map +1 -0
  399. package/dist/vended_tools/http_request/index.d.ts +6 -0
  400. package/dist/vended_tools/http_request/index.d.ts.map +1 -0
  401. package/dist/vended_tools/http_request/index.js +5 -0
  402. package/dist/vended_tools/http_request/index.js.map +1 -0
  403. package/dist/vended_tools/http_request/types.d.ts +47 -0
  404. package/dist/vended_tools/http_request/types.d.ts.map +1 -0
  405. package/dist/vended_tools/http_request/types.js +2 -0
  406. package/dist/vended_tools/http_request/types.js.map +1 -0
  407. package/dist/vended_tools/notebook/__tests__/notebook.test.d.ts +2 -0
  408. package/dist/vended_tools/notebook/__tests__/notebook.test.d.ts.map +1 -0
  409. package/dist/vended_tools/notebook/__tests__/notebook.test.js +371 -0
  410. package/dist/vended_tools/notebook/__tests__/notebook.test.js.map +1 -0
  411. package/dist/vended_tools/notebook/index.d.ts +6 -0
  412. package/dist/vended_tools/notebook/index.d.ts.map +1 -0
  413. package/dist/vended_tools/notebook/index.js +5 -0
  414. package/dist/vended_tools/notebook/index.js.map +1 -0
  415. package/dist/vended_tools/notebook/notebook.d.ts +29 -0
  416. package/dist/vended_tools/notebook/notebook.d.ts.map +1 -0
  417. package/dist/vended_tools/notebook/notebook.js +215 -0
  418. package/dist/vended_tools/notebook/notebook.js.map +1 -0
  419. package/dist/vended_tools/notebook/types.d.ts +79 -0
  420. package/dist/vended_tools/notebook/types.d.ts.map +1 -0
  421. package/dist/vended_tools/notebook/types.js +2 -0
  422. package/dist/vended_tools/notebook/types.js.map +1 -0
  423. package/package.json +112 -0
@@ -0,0 +1,364 @@
1
+ import { describe, expect, test, it } from 'vitest';
2
+ import { Message, TextBlock, ToolUseBlock, ToolResultBlock, ReasoningBlock, CachePointBlock, GuardContentBlock, JsonBlock, systemPromptFromData, } from '../messages.js';
3
+ import { ImageBlock, VideoBlock, DocumentBlock } from '../media.js';
4
+ describe('Message', () => {
5
+ test('creates message with role and content', () => {
6
+ const content = [new TextBlock('test')];
7
+ const message = new Message({ role: 'user', content });
8
+ expect(message).toEqual({
9
+ type: 'message',
10
+ role: 'user',
11
+ content,
12
+ });
13
+ });
14
+ });
15
+ describe('TextBlock', () => {
16
+ test('creates text block with text', () => {
17
+ const block = new TextBlock('hello');
18
+ expect(block).toEqual({
19
+ type: 'textBlock',
20
+ text: 'hello',
21
+ });
22
+ });
23
+ });
24
+ describe('ToolUseBlock', () => {
25
+ test('creates tool use block', () => {
26
+ const block = new ToolUseBlock({
27
+ name: 'test-tool',
28
+ toolUseId: '123',
29
+ input: { param: 'value' },
30
+ });
31
+ expect(block).toEqual({
32
+ type: 'toolUseBlock',
33
+ name: 'test-tool',
34
+ toolUseId: '123',
35
+ input: { param: 'value' },
36
+ });
37
+ });
38
+ });
39
+ describe('ToolResultBlock', () => {
40
+ test('creates tool result block', () => {
41
+ const block = new ToolResultBlock({
42
+ toolUseId: '123',
43
+ status: 'success',
44
+ content: [{ type: 'textBlock', text: 'result' }],
45
+ });
46
+ expect(block).toEqual({
47
+ type: 'toolResultBlock',
48
+ toolUseId: '123',
49
+ status: 'success',
50
+ content: [{ type: 'textBlock', text: 'result' }],
51
+ });
52
+ });
53
+ });
54
+ describe('ReasoningBlock', () => {
55
+ test('creates reasoning block with text', () => {
56
+ const block = new ReasoningBlock({ text: 'thinking...' });
57
+ expect(block).toEqual({
58
+ type: 'reasoningBlock',
59
+ text: 'thinking...',
60
+ });
61
+ });
62
+ });
63
+ describe('CachePointBlock', () => {
64
+ test('creates cache point block', () => {
65
+ const block = new CachePointBlock({ cacheType: 'default' });
66
+ expect(block).toEqual({
67
+ type: 'cachePointBlock',
68
+ cacheType: 'default',
69
+ });
70
+ });
71
+ });
72
+ describe('JsonBlock', () => {
73
+ test('creates json block', () => {
74
+ const block = new JsonBlock({ json: { key: 'value' } });
75
+ expect(block).toEqual({
76
+ type: 'jsonBlock',
77
+ json: { key: 'value' },
78
+ });
79
+ });
80
+ });
81
+ describe('Message.fromMessageData', () => {
82
+ it('converts text block data to TextBlock', () => {
83
+ const messageData = {
84
+ role: 'user',
85
+ content: [{ text: 'hello world' }],
86
+ };
87
+ const message = Message.fromMessageData(messageData);
88
+ expect(message.content).toHaveLength(1);
89
+ expect(message.content[0]).toEqual(new TextBlock('hello world'));
90
+ });
91
+ it('converts tool use block data to ToolUseBlock', () => {
92
+ const messageData = {
93
+ role: 'assistant',
94
+ content: [
95
+ {
96
+ toolUse: {
97
+ toolUseId: 'tool-123',
98
+ name: 'test-tool',
99
+ input: { key: 'value' },
100
+ },
101
+ },
102
+ ],
103
+ };
104
+ const message = Message.fromMessageData(messageData);
105
+ expect(message.content).toHaveLength(1);
106
+ expect(message.content[0]).toBeInstanceOf(ToolUseBlock);
107
+ expect(message.content[0].type).toBe('toolUseBlock');
108
+ });
109
+ it('converts tool result block data to ToolResultBlock with text content', () => {
110
+ const messageData = {
111
+ role: 'user',
112
+ content: [
113
+ {
114
+ toolResult: {
115
+ toolUseId: 'tool-123',
116
+ status: 'success',
117
+ content: [{ text: 'result text' }],
118
+ },
119
+ },
120
+ ],
121
+ };
122
+ const message = Message.fromMessageData(messageData);
123
+ expect(message.content).toHaveLength(1);
124
+ expect(message.content[0]).toBeInstanceOf(ToolResultBlock);
125
+ const toolResultBlock = message.content[0];
126
+ expect(toolResultBlock.content).toHaveLength(1);
127
+ expect(toolResultBlock.content[0]).toBeInstanceOf(TextBlock);
128
+ });
129
+ it('converts tool result block data to ToolResultBlock with json content', () => {
130
+ const messageData = {
131
+ role: 'user',
132
+ content: [
133
+ {
134
+ toolResult: {
135
+ toolUseId: 'tool-123',
136
+ status: 'success',
137
+ content: [{ json: { result: 'value' } }],
138
+ },
139
+ },
140
+ ],
141
+ };
142
+ const message = Message.fromMessageData(messageData);
143
+ expect(message.content).toHaveLength(1);
144
+ const toolResultBlock = message.content[0];
145
+ expect(toolResultBlock.content).toHaveLength(1);
146
+ expect(toolResultBlock.content[0]).toBeInstanceOf(JsonBlock);
147
+ });
148
+ it('converts reasoning block data to ReasoningBlock', () => {
149
+ const messageData = {
150
+ role: 'assistant',
151
+ content: [
152
+ {
153
+ reasoning: { text: 'thinking about it...' },
154
+ },
155
+ ],
156
+ };
157
+ const message = Message.fromMessageData(messageData);
158
+ expect(message.content).toHaveLength(1);
159
+ expect(message.content[0]).toBeInstanceOf(ReasoningBlock);
160
+ expect(message.content[0].type).toBe('reasoningBlock');
161
+ });
162
+ it('converts cache point block data to CachePointBlock', () => {
163
+ const messageData = {
164
+ role: 'user',
165
+ content: [
166
+ {
167
+ cachePoint: { cacheType: 'default' },
168
+ },
169
+ ],
170
+ };
171
+ const message = Message.fromMessageData(messageData);
172
+ expect(message.content).toHaveLength(1);
173
+ expect(message.content[0]).toBeInstanceOf(CachePointBlock);
174
+ expect(message.content[0].type).toBe('cachePointBlock');
175
+ });
176
+ it('converts guard content block data to GuardContentBlock', () => {
177
+ const messageData = {
178
+ role: 'user',
179
+ content: [
180
+ {
181
+ guardContent: {
182
+ text: {
183
+ text: 'guard this content',
184
+ qualifiers: ['guard_content'],
185
+ },
186
+ },
187
+ },
188
+ ],
189
+ };
190
+ const message = Message.fromMessageData(messageData);
191
+ expect(message.content).toHaveLength(1);
192
+ expect(message.content[0].type).toBe('guardContentBlock');
193
+ });
194
+ it('converts image block data to ImageBlock', () => {
195
+ const messageData = {
196
+ role: 'user',
197
+ content: [
198
+ {
199
+ image: {
200
+ format: 'jpeg',
201
+ source: { bytes: new Uint8Array([1, 2, 3]) },
202
+ },
203
+ },
204
+ ],
205
+ };
206
+ const message = Message.fromMessageData(messageData);
207
+ expect(message.content).toHaveLength(1);
208
+ expect(message.content[0]).toBeInstanceOf(ImageBlock);
209
+ expect(message.content[0].type).toBe('imageBlock');
210
+ });
211
+ it('converts video block data to VideoBlock', () => {
212
+ const messageData = {
213
+ role: 'user',
214
+ content: [
215
+ {
216
+ video: {
217
+ format: 'mp4',
218
+ source: { bytes: new Uint8Array([1, 2, 3]) },
219
+ },
220
+ },
221
+ ],
222
+ };
223
+ const message = Message.fromMessageData(messageData);
224
+ expect(message.content).toHaveLength(1);
225
+ expect(message.content[0]).toBeInstanceOf(VideoBlock);
226
+ expect(message.content[0].type).toBe('videoBlock');
227
+ });
228
+ it('converts document block data to DocumentBlock', () => {
229
+ const messageData = {
230
+ role: 'user',
231
+ content: [
232
+ {
233
+ document: {
234
+ name: 'test.pdf',
235
+ format: 'pdf',
236
+ source: { bytes: new Uint8Array([1, 2, 3]) },
237
+ },
238
+ },
239
+ ],
240
+ };
241
+ const message = Message.fromMessageData(messageData);
242
+ expect(message.content).toHaveLength(1);
243
+ expect(message.content[0]).toBeInstanceOf(DocumentBlock);
244
+ expect(message.content[0].type).toBe('documentBlock');
245
+ });
246
+ it('converts multiple content blocks', () => {
247
+ const messageData = {
248
+ role: 'user',
249
+ content: [
250
+ { text: 'first block' },
251
+ { image: { format: 'png', source: { bytes: new Uint8Array([1, 2, 3]) } } },
252
+ { text: 'second block' },
253
+ ],
254
+ };
255
+ const message = Message.fromMessageData(messageData);
256
+ expect(message.content).toHaveLength(3);
257
+ expect(message.content[0]).toBeInstanceOf(TextBlock);
258
+ expect(message.content[1]).toBeInstanceOf(ImageBlock);
259
+ expect(message.content[2]).toBeInstanceOf(TextBlock);
260
+ });
261
+ it('throws error for unknown content block type', () => {
262
+ const messageData = {
263
+ role: 'user',
264
+ content: [{ unknownType: { data: 'value' } }],
265
+ };
266
+ expect(() => Message.fromMessageData(messageData)).toThrow('Unknown ContentBlockData type');
267
+ });
268
+ });
269
+ describe('systemPromptFromData', () => {
270
+ describe('when called with string', () => {
271
+ it('returns the string unchanged', () => {
272
+ const data = 'You are a helpful assistant';
273
+ const result = systemPromptFromData(data);
274
+ expect(result).toBe('You are a helpful assistant');
275
+ });
276
+ });
277
+ describe('when called with TextBlockData', () => {
278
+ it('converts to TextBlock', () => {
279
+ const data = [{ text: 'System prompt text' }];
280
+ const result = systemPromptFromData(data);
281
+ expect(result).toEqual([new TextBlock('System prompt text')]);
282
+ });
283
+ });
284
+ describe('when called with CachePointBlockData', () => {
285
+ it('converts to CachePointBlock', () => {
286
+ const data = [{ text: 'prompt' }, { cachePoint: { cacheType: 'default' } }];
287
+ const result = systemPromptFromData(data);
288
+ expect(result).toEqual([new TextBlock('prompt'), new CachePointBlock({ cacheType: 'default' })]);
289
+ });
290
+ });
291
+ describe('when called with GuardContentBlockData', () => {
292
+ it('converts to GuardContentBlock', () => {
293
+ const data = [
294
+ {
295
+ guardContent: {
296
+ text: {
297
+ text: 'guard this content',
298
+ qualifiers: ['guard_content'],
299
+ },
300
+ },
301
+ },
302
+ ];
303
+ const result = systemPromptFromData(data);
304
+ expect(result).toEqual([
305
+ new GuardContentBlock({
306
+ text: {
307
+ text: 'guard this content',
308
+ qualifiers: ['guard_content'],
309
+ },
310
+ }),
311
+ ]);
312
+ });
313
+ });
314
+ describe('when called with mixed content blocks', () => {
315
+ it('converts all block types correctly', () => {
316
+ const data = [
317
+ { text: 'First text block' },
318
+ { cachePoint: { cacheType: 'default' } },
319
+ { text: 'Second text block' },
320
+ {
321
+ guardContent: {
322
+ text: {
323
+ text: 'guard content',
324
+ qualifiers: ['guard_content'],
325
+ },
326
+ },
327
+ },
328
+ ];
329
+ const result = systemPromptFromData(data);
330
+ expect(result).toEqual([
331
+ new TextBlock('First text block'),
332
+ new CachePointBlock({ cacheType: 'default' }),
333
+ new TextBlock('Second text block'),
334
+ new GuardContentBlock({
335
+ text: {
336
+ text: 'guard content',
337
+ qualifiers: ['guard_content'],
338
+ },
339
+ }),
340
+ ]);
341
+ });
342
+ });
343
+ describe('when called with empty array', () => {
344
+ it('returns empty array', () => {
345
+ const data = [];
346
+ const result = systemPromptFromData(data);
347
+ expect(result).toEqual([]);
348
+ });
349
+ });
350
+ describe('when called with unknown block type', () => {
351
+ it('throws error', () => {
352
+ const data = [{ unknownType: { data: 'value' } }];
353
+ expect(() => systemPromptFromData(data)).toThrow('Unknown SystemContentBlockData type');
354
+ });
355
+ });
356
+ describe('when called with class instances', () => {
357
+ it('returns them unchanged', () => {
358
+ const systemPrompt = [new TextBlock('prompt'), new CachePointBlock({ cacheType: 'default' })];
359
+ const result = systemPromptFromData(systemPrompt);
360
+ expect(result).toEqual(systemPrompt);
361
+ });
362
+ });
363
+ });
364
+ //# sourceMappingURL=messages.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.test.js","sourceRoot":"","sources":["../../../../src/types/__tests__/messages.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.test.d.ts","sourceRoot":"","sources":["../../../../src/types/__tests__/validation.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { ensureDefined } from '../validation.js';
3
+ describe('ensureDefined', () => {
4
+ describe('when value is defined', () => {
5
+ it('returns the value', () => {
6
+ const value = 'test';
7
+ const result = ensureDefined(value, 'testField');
8
+ expect(result).toBe('test');
9
+ });
10
+ it('returns zero', () => {
11
+ const result = ensureDefined(0, 'numberField');
12
+ expect(result).toBe(0);
13
+ });
14
+ it('returns empty string', () => {
15
+ const result = ensureDefined('', 'stringField');
16
+ expect(result).toBe('');
17
+ });
18
+ });
19
+ describe('when value is null', () => {
20
+ it('throws error with field name', () => {
21
+ expect(() => ensureDefined(null, 'testField')).toThrow('Expected testField to be defined, but got null');
22
+ });
23
+ });
24
+ describe('when value is undefined', () => {
25
+ it('throws error with field name', () => {
26
+ expect(() => ensureDefined(undefined, 'testField')).toThrow('Expected testField to be defined, but got undefined');
27
+ });
28
+ });
29
+ });
30
+ //# sourceMappingURL=validation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.test.js","sourceRoot":"","sources":["../../../../src/types/__tests__/validation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,MAAM,KAAK,GAAG,MAAM,CAAA;YACpB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAA;QAC1G,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAA;QACpH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,57 @@
1
+ import type { AgentState } from '../agent/state.js';
2
+ import type { Message } from './messages.js';
3
+ import type { ModelStreamEvent } from '../models/streaming.js';
4
+ import { ToolStreamEvent } from '../tools/tool.js';
5
+ import type { ContentBlock } from './messages.js';
6
+ import type { BeforeInvocationEvent, AfterInvocationEvent, BeforeModelCallEvent, AfterModelCallEvent, BeforeToolsEvent, AfterToolsEvent, BeforeToolCallEvent, AfterToolCallEvent, MessageAddedEvent, ModelStreamEventHook } from '../hooks/events.js';
7
+ /**
8
+ * Interface for objects that provide agent state.
9
+ * Allows ToolContext to work with different agent types.
10
+ */
11
+ export interface AgentData {
12
+ /**
13
+ * Agent state storage accessible to tools and application logic.
14
+ */
15
+ state: AgentState;
16
+ /**
17
+ * The conversation history of messages between user and assistant.
18
+ */
19
+ messages: Message[];
20
+ }
21
+ /**
22
+ * Result returned by the agent loop.
23
+ */
24
+ export declare class AgentResult {
25
+ readonly type: "agentResult";
26
+ /**
27
+ * The stop reason from the final model response.
28
+ */
29
+ readonly stopReason: string;
30
+ /**
31
+ * The last message added to the messages array.
32
+ */
33
+ readonly lastMessage: Message;
34
+ constructor(data: {
35
+ stopReason: string;
36
+ lastMessage: Message;
37
+ });
38
+ /**
39
+ * Extracts and concatenates all text content from the last message.
40
+ * Includes text from TextBlock and ReasoningBlock content blocks.
41
+ *
42
+ * @returns The agent's last message as a string, with multiple blocks joined by newlines.
43
+ */
44
+ toString(): string;
45
+ }
46
+ /**
47
+ * Union type representing all possible streaming events from an agent.
48
+ * This includes model events, tool events, and agent-specific lifecycle events.
49
+ *
50
+ * This is a discriminated union where each event has a unique type field,
51
+ * allowing for type-safe event handling using switch statements.
52
+ *
53
+ * Note: All agent lifecycle events are Hook Event instances, providing
54
+ * consistent structure with agent reference and extensibility features.
55
+ */
56
+ export type AgentStreamEvent = ModelStreamEvent | ContentBlock | ToolStreamEvent | BeforeInvocationEvent | AfterInvocationEvent | BeforeModelCallEvent | AfterModelCallEvent | BeforeToolsEvent | AfterToolsEvent | BeforeToolCallEvent | AfterToolCallEvent | MessageAddedEvent | ModelStreamEventHook | AgentResult;
57
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAE3B;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAA;IAEjB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAS;IAEtC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;gBAEjB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;IAK9D;;;;;OAKG;IACI,QAAQ,IAAI,MAAM;CAuB1B;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,YAAY,GACZ,eAAe,GACf,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,WAAW,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { ToolStreamEvent } from '../tools/tool.js';
2
+ /**
3
+ * Result returned by the agent loop.
4
+ */
5
+ export class AgentResult {
6
+ type = 'agentResult';
7
+ /**
8
+ * The stop reason from the final model response.
9
+ */
10
+ stopReason;
11
+ /**
12
+ * The last message added to the messages array.
13
+ */
14
+ lastMessage;
15
+ constructor(data) {
16
+ this.stopReason = data.stopReason;
17
+ this.lastMessage = data.lastMessage;
18
+ }
19
+ /**
20
+ * Extracts and concatenates all text content from the last message.
21
+ * Includes text from TextBlock and ReasoningBlock content blocks.
22
+ *
23
+ * @returns The agent's last message as a string, with multiple blocks joined by newlines.
24
+ */
25
+ toString() {
26
+ const textParts = [];
27
+ for (const block of this.lastMessage.content) {
28
+ switch (block.type) {
29
+ case 'textBlock':
30
+ textParts.push(block.text);
31
+ break;
32
+ case 'reasoningBlock':
33
+ if (block.text) {
34
+ // Add indentation to reasoning content
35
+ const indentedText = block.text.replace(/\n/g, '\n ');
36
+ textParts.push(`💭 Reasoning:\n ${indentedText}`);
37
+ }
38
+ break;
39
+ default:
40
+ console.debug(`Skipping content block type: ${block.type}`);
41
+ break;
42
+ }
43
+ }
44
+ return textParts.join('\n');
45
+ }
46
+ }
47
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AA+BlD;;GAEG;AACH,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,aAAsB,CAAA;IAEtC;;OAEG;IACM,UAAU,CAAQ;IAE3B;;OAEG;IACM,WAAW,CAAS;IAE7B,YAAY,IAAkD;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACrC,CAAC;IAED;;;;;OAKG;IACI,QAAQ;QACb,MAAM,SAAS,GAAa,EAAE,CAAA;QAE9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC7C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,WAAW;oBACd,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC1B,MAAK;gBACP,KAAK,gBAAgB;oBACnB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBACf,uCAAuC;wBACvC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;wBACvD,SAAS,CAAC,IAAI,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAA;oBACrD,CAAC;oBACD,MAAK;gBACP;oBACE,OAAO,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;oBAC3D,MAAK;YACT,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACF"}
@@ -0,0 +1,55 @@
1
+ import type { JSONSchema7 } from 'json-schema';
2
+ /**
3
+ * Represents any valid JSON value.
4
+ * This type ensures type safety for JSON-serializable data.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * const value: JSONValue = { key: 'value', nested: { arr: [1, 2, 3] } }
9
+ * const text: JSONValue = 'hello'
10
+ * const num: JSONValue = 42
11
+ * const bool: JSONValue = true
12
+ * const nothing: JSONValue = null
13
+ * ```
14
+ */
15
+ export type JSONValue = string | number | boolean | null | {
16
+ [key: string]: JSONValue;
17
+ } | JSONValue[];
18
+ /**
19
+ * Represents a JSON Schema definition.
20
+ * Used for defining the structure of tool inputs and outputs.
21
+ *
22
+ * This is based on JSON Schema Draft 7 specification.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const schema: JSONSchema = {
27
+ * type: 'object',
28
+ * properties: {
29
+ * name: { type: 'string' },
30
+ * age: { type: 'number' }
31
+ * },
32
+ * required: ['name']
33
+ * }
34
+ * ```
35
+ */
36
+ export type JSONSchema = JSONSchema7;
37
+ /**
38
+ * Creates a deep copy of a value using JSON serialization.
39
+ *
40
+ * @param value - The value to copy
41
+ * @returns A deep copy of the value
42
+ * @throws Error if the value cannot be JSON serialized
43
+ */
44
+ export declare function deepCopy(value: unknown): JSONValue;
45
+ /**
46
+ * Creates a deep copy of a value with explicit validation for non-serializable types.
47
+ * Uses JSON.stringify's replacer to detect and report non-serializable values with path information.
48
+ *
49
+ * @param value - The value to copy
50
+ * @param contextPath - Context path for error messages (e.g., 'initialState', 'value for key "config"')
51
+ * @returns A deep copy of the value
52
+ * @throws JsonValidationError if value contains functions, symbols, or undefined values
53
+ */
54
+ export declare function deepCopyWithValidation(value: unknown, contextPath?: string): JSONValue;
55
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/types/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,EAAE,CAAA;AAErG;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,CAAA;AAEpC;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAOlD;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,GAAE,MAAgB,GAAG,SAAS,CAiD/F"}