@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,70 @@
1
+ import type { InvokableTool, ToolContext } from './tool';
2
+ import type { JSONValue } from '../types/json';
3
+ import { z } from 'zod';
4
+ /**
5
+ * Configuration for creating a Zod-based tool.
6
+ *
7
+ * @typeParam TInput - Zod schema type for input validation
8
+ * @typeParam TReturn - Return type of the callback function
9
+ */
10
+ export interface ToolConfig<TInput extends z.ZodType, TReturn extends JSONValue = JSONValue> {
11
+ /** The name of the tool */
12
+ name: string;
13
+ /** A description of what the tool does (optional) */
14
+ description?: string;
15
+ /** Zod schema for input validation and JSON schema generation */
16
+ inputSchema: TInput;
17
+ /**
18
+ * Callback function that implements the tool's functionality.
19
+ *
20
+ * @param input - Validated input matching the Zod schema
21
+ * @param context - Optional execution context
22
+ * @returns The result (can be a value, Promise, or AsyncGenerator)
23
+ */
24
+ callback: (input: z.infer<TInput>, context?: ToolContext) => AsyncGenerator<unknown, TReturn, never> | Promise<TReturn> | TReturn;
25
+ }
26
+ /**
27
+ * Creates an InvokableTool from a Zod schema and callback function.
28
+ *
29
+ * The tool() function validates input against the schema and generates JSON schema
30
+ * for model providers using Zod v4's built-in z.toJSONSchema() method.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * import { tool } from '@strands-agents/sdk'
35
+ * import { z } from 'zod'
36
+ *
37
+ * const calculator = tool({
38
+ * name: 'calculator',
39
+ * description: 'Performs basic arithmetic',
40
+ * inputSchema: z.object({
41
+ * operation: z.enum(['add', 'subtract', 'multiply', 'divide']),
42
+ * a: z.number(),
43
+ * b: z.number()
44
+ * }),
45
+ * callback: (input) => {
46
+ * switch (input.operation) {
47
+ * case 'add': return input.a + input.b
48
+ * case 'subtract': return input.a - input.b
49
+ * case 'multiply': return input.a * input.b
50
+ * case 'divide': return input.a / input.b
51
+ * }
52
+ * }
53
+ * })
54
+ *
55
+ * // Direct invocation
56
+ * const result = await calculator.invoke({ operation: 'add', a: 5, b: 3 })
57
+ *
58
+ * // Agent usage
59
+ * for await (const event of calculator.stream(context)) {
60
+ * console.log(event)
61
+ * }
62
+ * ```
63
+ *
64
+ * @typeParam TInput - Zod schema type for input validation
65
+ * @typeParam TReturn - Return type of the callback function
66
+ * @param config - Tool configuration
67
+ * @returns An InvokableTool that implements the Tool interface with invoke() method
68
+ */
69
+ export declare function tool<TInput extends z.ZodType, TReturn extends JSONValue = JSONValue>(config: ToolConfig<TInput, TReturn>): InvokableTool<z.infer<TInput>, TReturn>;
70
+ //# sourceMappingURL=zod-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-tool.d.ts","sourceRoot":"","sources":["../../src/tools/zod-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAuB,MAAM,QAAQ,CAAA;AAC7E,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,eAAe,CAAA;AAE1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;;GAKG;AACH,MAAM,WAAW,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS;IACzF,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IAEZ,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;;OAMG;IACH,QAAQ,EAAE,CACR,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EACtB,OAAO,CAAC,EAAE,WAAW,KAClB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CAC1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,EAClF,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CA8DzC"}
@@ -0,0 +1,96 @@
1
+ import { FunctionTool } from './function-tool';
2
+ import { z } from 'zod';
3
+ /**
4
+ * Creates an InvokableTool from a Zod schema and callback function.
5
+ *
6
+ * The tool() function validates input against the schema and generates JSON schema
7
+ * for model providers using Zod v4's built-in z.toJSONSchema() method.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { tool } from '@strands-agents/sdk'
12
+ * import { z } from 'zod'
13
+ *
14
+ * const calculator = tool({
15
+ * name: 'calculator',
16
+ * description: 'Performs basic arithmetic',
17
+ * inputSchema: z.object({
18
+ * operation: z.enum(['add', 'subtract', 'multiply', 'divide']),
19
+ * a: z.number(),
20
+ * b: z.number()
21
+ * }),
22
+ * callback: (input) => {
23
+ * switch (input.operation) {
24
+ * case 'add': return input.a + input.b
25
+ * case 'subtract': return input.a - input.b
26
+ * case 'multiply': return input.a * input.b
27
+ * case 'divide': return input.a / input.b
28
+ * }
29
+ * }
30
+ * })
31
+ *
32
+ * // Direct invocation
33
+ * const result = await calculator.invoke({ operation: 'add', a: 5, b: 3 })
34
+ *
35
+ * // Agent usage
36
+ * for await (const event of calculator.stream(context)) {
37
+ * console.log(event)
38
+ * }
39
+ * ```
40
+ *
41
+ * @typeParam TInput - Zod schema type for input validation
42
+ * @typeParam TReturn - Return type of the callback function
43
+ * @param config - Tool configuration
44
+ * @returns An InvokableTool that implements the Tool interface with invoke() method
45
+ */
46
+ export function tool(config) {
47
+ const { name, description = '', inputSchema, callback } = config;
48
+ // Generate JSON Schema from Zod and strip $schema property to reduce token usage
49
+ const generatedSchema = z.toJSONSchema(inputSchema);
50
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
+ const { $schema, ...schemaWithoutMeta } = generatedSchema;
52
+ // Create a FunctionTool with a validation wrapper
53
+ const functionTool = new FunctionTool({
54
+ name,
55
+ description,
56
+ inputSchema: schemaWithoutMeta,
57
+ callback: (input, toolContext) => {
58
+ // Validate input using Zod schema (throws on validation error)
59
+ const validatedInput = inputSchema.parse(input);
60
+ // Execute user callback with validated input
61
+ return callback(validatedInput, toolContext);
62
+ },
63
+ });
64
+ // Create an invokable tool that extends the FunctionTool
65
+ const invokableTool = {
66
+ toolName: functionTool.toolName,
67
+ description: functionTool.description,
68
+ toolSpec: functionTool.toolSpec,
69
+ // Delegate stream to FunctionTool
70
+ stream(toolContext) {
71
+ return functionTool.stream(toolContext);
72
+ },
73
+ // Type-safe invoke method
74
+ async invoke(input, context) {
75
+ // Validate input using Zod schema (throws on validation error)
76
+ const validatedInput = inputSchema.parse(input);
77
+ // Execute callback with validated input
78
+ const result = callback(validatedInput, context);
79
+ // Handle different return types
80
+ if (result && typeof result === 'object' && Symbol.asyncIterator in result) {
81
+ // AsyncGenerator - consume all yielded values and return the last one
82
+ let lastValue = undefined;
83
+ for await (const value of result) {
84
+ lastValue = value;
85
+ }
86
+ return lastValue;
87
+ }
88
+ else {
89
+ // Regular value or Promise - return directly
90
+ return await result;
91
+ }
92
+ },
93
+ };
94
+ return invokableTool;
95
+ }
96
+ //# sourceMappingURL=zod-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-tool.js","sourceRoot":"","sources":["../../src/tools/zod-tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AA+BvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,UAAU,IAAI,CAClB,MAAmC;IAEnC,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;IAEhE,iFAAiF;IACjF,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,CAAsC,CAAA;IACxF,6DAA6D;IAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,GAAG,eAAe,CAAA;IAEzD,kDAAkD;IAClD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;QACpC,IAAI;QACJ,WAAW;QACX,WAAW,EAAE,iBAA+B;QAC5C,QAAQ,EAAE,CACR,KAAc,EACd,WAAwB,EACsD,EAAE;YAChF,+DAA+D;YAC/D,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC/C,6CAA6C;YAC7C,OAAO,QAAQ,CAAC,cAAc,EAAE,WAAW,CAG9B,CAAA;QACf,CAAC;KACF,CAAC,CAAA;IAEF,yDAAyD;IACzD,MAAM,aAAa,GAA4C;QAC7D,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAE/B,kCAAkC;QAClC,MAAM,CAAC,WAAwB;YAC7B,OAAO,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACzC,CAAC;QAED,0BAA0B;QAC1B,KAAK,CAAC,MAAM,CAAC,KAAsB,EAAE,OAAqB;YACxD,+DAA+D;YAC/D,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAE/C,wCAAwC;YACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;YAEhD,gCAAgC;YAChC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,EAAE,CAAC;gBAC3E,sEAAsE;gBACtE,IAAI,SAAS,GAAwB,SAAS,CAAA;gBAC9C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAqD,EAAE,CAAC;oBAChF,SAAS,GAAG,KAAgB,CAAA;gBAC9B,CAAC;gBACD,OAAO,SAAoB,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,OAAO,MAAM,MAAM,CAAA;YACrB,CAAC;QACH,CAAC;KACF,CAAA;IAED,OAAO,aAAa,CAAA;AACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=json.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.test.d.ts","sourceRoot":"","sources":["../../../src/types/__tests__/json.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,129 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { deepCopy } from '../json';
3
+ describe('deepCopy', () => {
4
+ describe('primitive values', () => {
5
+ it('copies strings', () => {
6
+ const result = deepCopy('hello');
7
+ expect(result).toBe('hello');
8
+ });
9
+ it('copies numbers', () => {
10
+ const result = deepCopy(42);
11
+ expect(result).toBe(42);
12
+ });
13
+ it('copies booleans', () => {
14
+ const result = deepCopy(true);
15
+ expect(result).toBe(true);
16
+ });
17
+ it('copies null', () => {
18
+ const result = deepCopy(null);
19
+ expect(result).toBe(null);
20
+ });
21
+ });
22
+ describe('object values', () => {
23
+ it('creates a deep copy of objects', () => {
24
+ const original = { nested: { value: 'test' } };
25
+ const copy = deepCopy(original);
26
+ expect(copy).toEqual(original);
27
+ expect(copy).not.toBe(original); // Different reference
28
+ // Verify deep copy - modifying original shouldn't affect copy
29
+ original.nested.value = 'changed';
30
+ expect(copy.nested.value).toBe('test');
31
+ });
32
+ it('copies empty objects', () => {
33
+ const result = deepCopy({});
34
+ expect(result).toEqual({});
35
+ });
36
+ it('copies objects with multiple properties', () => {
37
+ const original = { a: 1, b: 'two', c: true, d: null };
38
+ const copy = deepCopy(original);
39
+ expect(copy).toEqual(original);
40
+ });
41
+ });
42
+ describe('array values', () => {
43
+ it('creates a deep copy of arrays', () => {
44
+ const original = [1, 2, 3, { nested: 'value' }];
45
+ const copy = deepCopy(original);
46
+ expect(copy).toEqual(original);
47
+ expect(copy).not.toBe(original); // Different reference
48
+ // Verify deep copy - modifying original shouldn't affect copy
49
+ original[0] = 999;
50
+ expect(copy[0]).toBe(1);
51
+ });
52
+ it('copies empty arrays', () => {
53
+ const result = deepCopy([]);
54
+ expect(result).toEqual([]);
55
+ });
56
+ it('copies nested arrays', () => {
57
+ const original = [
58
+ [1, 2],
59
+ [3, 4],
60
+ ];
61
+ const copy = deepCopy(original);
62
+ expect(copy).toEqual(original);
63
+ });
64
+ });
65
+ describe('error handling', () => {
66
+ it('throws error for circular references', () => {
67
+ const circular = {};
68
+ circular.self = circular;
69
+ expect(() => deepCopy(circular)).toThrow('Unable to serialize tool result');
70
+ });
71
+ it('silently drops functions from objects', () => {
72
+ const withFunction = {
73
+ normalProp: 'value',
74
+ funcProp: () => 'test',
75
+ };
76
+ const result = deepCopy(withFunction);
77
+ expect(result).toEqual({ normalProp: 'value' });
78
+ expect(result).not.toHaveProperty('funcProp');
79
+ });
80
+ it('silently drops symbols from objects', () => {
81
+ const sym = Symbol('test');
82
+ const withSymbol = {
83
+ normalProp: 'value',
84
+ [sym]: 'symbolValue',
85
+ };
86
+ const result = deepCopy(withSymbol);
87
+ expect(result).toEqual({ normalProp: 'value' });
88
+ // Symbols are dropped during JSON serialization
89
+ expect(Object.getOwnPropertySymbols(result)).toHaveLength(0);
90
+ });
91
+ it('silently drops undefined values from objects', () => {
92
+ const withUndefined = {
93
+ normalProp: 'value',
94
+ undefinedProp: undefined,
95
+ };
96
+ const result = deepCopy(withUndefined);
97
+ expect(result).toEqual({ normalProp: 'value' });
98
+ expect(result).not.toHaveProperty('undefinedProp');
99
+ });
100
+ });
101
+ describe('complex nested structures', () => {
102
+ it('copies deeply nested structures', () => {
103
+ const original = {
104
+ level1: {
105
+ level2: {
106
+ level3: {
107
+ array: [1, 2, { deep: 'value' }],
108
+ string: 'test',
109
+ },
110
+ },
111
+ },
112
+ };
113
+ const copy = deepCopy(original);
114
+ expect(copy).toEqual(original);
115
+ expect(copy).not.toBe(original);
116
+ });
117
+ it('copies arrays of objects', () => {
118
+ const original = [
119
+ { id: 1, name: 'first' },
120
+ { id: 2, name: 'second' },
121
+ { id: 3, name: 'third' },
122
+ ];
123
+ const copy = deepCopy(original);
124
+ expect(copy).toEqual(original);
125
+ expect(copy).not.toBe(original);
126
+ });
127
+ });
128
+ });
129
+ //# sourceMappingURL=json.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.test.js","sourceRoot":"","sources":["../../../src/types/__tests__/json.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';
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,eAAe,CAAA;AAE7C,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,45 @@
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
+ //# 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;AAE9C;;;;;;;;;;;;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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Creates a deep copy of a value using JSON serialization.
3
+ *
4
+ * @param value - The value to copy
5
+ * @returns A deep copy of the value
6
+ * @throws Error if the value cannot be JSON serialized
7
+ */
8
+ export function deepCopy(value) {
9
+ try {
10
+ return JSON.parse(JSON.stringify(value));
11
+ }
12
+ catch (error) {
13
+ const errorMessage = error instanceof Error ? error.message : String(error);
14
+ throw new Error(`Unable to serialize tool result: ${errorMessage}`);
15
+ }
16
+ }
17
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/types/json.ts"],"names":[],"mappings":"AAqCA;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,CAAA;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3E,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,EAAE,CAAC,CAAA;IACrE,CAAC;AACH,CAAC"}
@@ -0,0 +1,160 @@
1
+ import type { JSONValue } from './json';
2
+ import type { ToolResultContent } from '../tools/types';
3
+ /**
4
+ * A message in a conversation between user and assistant.
5
+ * Each message has a role (user or assistant) and an array of content blocks.
6
+ */
7
+ export interface Message {
8
+ /**
9
+ * Discriminator for message type.
10
+ */
11
+ type: 'message';
12
+ /**
13
+ * The role of the message sender.
14
+ */
15
+ role: Role;
16
+ /**
17
+ * Array of content blocks that make up this message.
18
+ */
19
+ content: ContentBlock[];
20
+ }
21
+ /**
22
+ * Role of a message in a conversation.
23
+ * Can be either 'user' (human input) or 'assistant' (model response).
24
+ */
25
+ export type Role = 'user' | 'assistant';
26
+ /**
27
+ * A block of content within a message.
28
+ * Content blocks can contain text, tool usage requests, tool results, reasoning content, or cache points.
29
+ *
30
+ * This is a discriminated union where the `type` field determines the content format.
31
+ */
32
+ export type ContentBlock = TextBlock | ToolUseBlock | ToolResultBlock | ReasoningBlock | CachePointBlock;
33
+ /**
34
+ * Text content block within a message.
35
+ */
36
+ export interface TextBlock {
37
+ /**
38
+ * Discriminator for text content.
39
+ */
40
+ type: 'textBlock';
41
+ /**
42
+ * Plain text content.
43
+ */
44
+ text: string;
45
+ }
46
+ /**
47
+ * Tool use content block within a message.
48
+ */
49
+ export interface ToolUseBlock {
50
+ /**
51
+ * Discriminator for tool use content.
52
+ */
53
+ type: 'toolUseBlock';
54
+ /**
55
+ * The name of the tool to execute.
56
+ */
57
+ name: string;
58
+ /**
59
+ * Unique identifier for this tool use instance.
60
+ */
61
+ toolUseId: string;
62
+ /**
63
+ * The input parameters for the tool.
64
+ * This can be any JSON-serializable value.
65
+ */
66
+ input: JSONValue;
67
+ }
68
+ /**
69
+ * Tool result content block within a message.
70
+ */
71
+ export interface ToolResultBlock {
72
+ /**
73
+ * Discriminator for tool result content.
74
+ */
75
+ type: 'toolResultBlock';
76
+ /**
77
+ * The ID of the tool use that this result corresponds to.
78
+ */
79
+ toolUseId: string;
80
+ /**
81
+ * Status of the tool execution.
82
+ */
83
+ status: 'success' | 'error';
84
+ /**
85
+ * The content returned by the tool.
86
+ */
87
+ content: ToolResultContent[];
88
+ }
89
+ /**
90
+ * Reasoning content block within a message.
91
+ */
92
+ export interface ReasoningBlock {
93
+ /**
94
+ * Discriminator for reasoning content.
95
+ */
96
+ type: 'reasoningBlock';
97
+ /**
98
+ * The text content of the reasoning process.
99
+ */
100
+ text?: string;
101
+ /**
102
+ * A cryptographic signature for verification purposes.
103
+ */
104
+ signature?: string;
105
+ /**
106
+ * The redacted content of the reasoning process.
107
+ */
108
+ redactedContent?: Uint8Array;
109
+ }
110
+ /**
111
+ * Cache point block for prompt caching.
112
+ * Marks a position in a message or system prompt where caching should occur.
113
+ */
114
+ export interface CachePointBlock {
115
+ /**
116
+ * Discriminator for cache point.
117
+ */
118
+ type: 'cachePointBlock';
119
+ /**
120
+ * The cache type. Currently only 'default' is supported.
121
+ */
122
+ cacheType: 'default';
123
+ }
124
+ /**
125
+ * Reason why the model stopped generating content.
126
+ *
127
+ * - `contentFiltered` - Content was filtered by safety mechanisms
128
+ * - `endTurn` - Natural end of the model's turn
129
+ * - `guardrailIntervened` - A guardrail policy stopped generation
130
+ * - `maxTokens` - Maximum token limit was reached
131
+ * - `stopSequence` - A stop sequence was encountered
132
+ * - `toolUse` - Model wants to use a tool
133
+ */
134
+ export type StopReason = 'contentFiltered' | 'endTurn' | 'guardrailIntervened' | 'maxTokens' | 'stopSequence' | 'toolUse' | 'modelContextWindowExceeded' | string;
135
+ /**
136
+ * System prompt for guiding model behavior.
137
+ * Can be a simple string or an array of content blocks for advanced caching.
138
+ *
139
+ * @example
140
+ * ```typescript
141
+ * // Simple string
142
+ * const prompt: SystemPrompt = 'You are a helpful assistant'
143
+ *
144
+ * // Array with cache points for advanced caching
145
+ * const prompt: SystemPrompt = [
146
+ * { type: 'textBlock', text: 'You are a helpful assistant' },
147
+ * { type: 'textBlock', text: largeContextDocument },
148
+ * { type: 'cachePointBlock', cacheType: 'default' }
149
+ * ]
150
+ * ```
151
+ */
152
+ export type SystemPrompt = string | SystemContentBlock[];
153
+ /**
154
+ * A block of content within a system prompt.
155
+ * Supports text content and cache points for prompt caching.
156
+ *
157
+ * This is a discriminated union where the `type` field determines the block format.
158
+ */
159
+ export type SystemContentBlock = TextBlock | CachePointBlock;
160
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEvD;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;IAEf;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IAEV;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,WAAW,CAAA;AAEvC;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,GAAG,cAAc,GAAG,eAAe,CAAA;AAExG;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,EAAE,WAAW,CAAA;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,cAAc,CAAA;IAEpB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAA;IAEvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,EAAE,SAAS,GAAG,OAAO,CAAA;IAE3B;;OAEG;IACH,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,EAAE,gBAAgB,CAAA;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAA;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAA;IAEvB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,SAAS,GACT,qBAAqB,GACrB,WAAW,GACX,cAAc,GACd,SAAS,GACT,4BAA4B,GAC5B,MAAM,CAAA;AAEV;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,kBAAkB,EAAE,CAAA;AAExD;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,eAAe,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/types/messages.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Ensures a value is defined, throwing an error if it's null or undefined.
3
+ *
4
+ * @param value - The value to check
5
+ * @param fieldName - Name of the field for error reporting
6
+ * @returns The value if defined
7
+ * @throws Error if value is null or undefined
8
+ */
9
+ export declare function ensureDefined<T>(value: T | null | undefined, fieldName: string): T;
10
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,CAKlF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Ensures a value is defined, throwing an error if it's null or undefined.
3
+ *
4
+ * @param value - The value to check
5
+ * @param fieldName - Name of the field for error reporting
6
+ * @returns The value if defined
7
+ * @throws Error if value is null or undefined
8
+ */
9
+ export function ensureDefined(value, fieldName) {
10
+ if (value == null) {
11
+ throw new Error(`Expected ${fieldName} to be defined, but got ${value}`);
12
+ }
13
+ return value;
14
+ }
15
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAI,KAA2B,EAAE,SAAiB;IAC7E,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,2BAA2B,KAAK,EAAE,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bash.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash.test.d.ts","sourceRoot":"","sources":["../../../../vended_tools/bash/__tests__/bash.test.ts"],"names":[],"mappings":""}