@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,72 @@
1
+ import { JsonValidationError } from '../errors.js';
2
+ /**
3
+ * Creates a deep copy of a value using JSON serialization.
4
+ *
5
+ * @param value - The value to copy
6
+ * @returns A deep copy of the value
7
+ * @throws Error if the value cannot be JSON serialized
8
+ */
9
+ export function deepCopy(value) {
10
+ try {
11
+ return JSON.parse(JSON.stringify(value));
12
+ }
13
+ catch (error) {
14
+ const errorMessage = error instanceof Error ? error.message : String(error);
15
+ throw new Error(`Unable to serialize tool result: ${errorMessage}`);
16
+ }
17
+ }
18
+ /**
19
+ * Creates a deep copy of a value with explicit validation for non-serializable types.
20
+ * Uses JSON.stringify's replacer to detect and report non-serializable values with path information.
21
+ *
22
+ * @param value - The value to copy
23
+ * @param contextPath - Context path for error messages (e.g., 'initialState', 'value for key "config"')
24
+ * @returns A deep copy of the value
25
+ * @throws JsonValidationError if value contains functions, symbols, or undefined values
26
+ */
27
+ export function deepCopyWithValidation(value, contextPath = 'value') {
28
+ const pathStack = [];
29
+ const replacer = (key, val) => {
30
+ // Build current path
31
+ let currentPath = contextPath;
32
+ if (key !== '') {
33
+ // Check if parent is array (numeric key pattern)
34
+ const isArrayIndex = /^\d+$/.test(key);
35
+ if (isArrayIndex) {
36
+ currentPath = pathStack.length > 0 ? `${pathStack[pathStack.length - 1]}[${key}]` : `${contextPath}[${key}]`;
37
+ }
38
+ else {
39
+ currentPath = pathStack.length > 0 ? `${pathStack[pathStack.length - 1]}.${key}` : `${contextPath}.${key}`;
40
+ }
41
+ }
42
+ // Check for non-serializable types
43
+ if (typeof val === 'function') {
44
+ throw new JsonValidationError(`${currentPath} contains a function which cannot be serialized`);
45
+ }
46
+ if (typeof val === 'symbol') {
47
+ throw new JsonValidationError(`${currentPath} contains a symbol which cannot be serialized`);
48
+ }
49
+ if (val === undefined) {
50
+ throw new JsonValidationError(`${currentPath} is undefined which cannot be serialized`);
51
+ }
52
+ // Track path for nested objects/arrays
53
+ if (val !== null && typeof val === 'object') {
54
+ pathStack.push(currentPath);
55
+ }
56
+ return val;
57
+ };
58
+ try {
59
+ const serialized = JSON.stringify(value, replacer);
60
+ return JSON.parse(serialized);
61
+ }
62
+ catch (error) {
63
+ // If it's our validation error, re-throw it
64
+ if (error instanceof JsonValidationError) {
65
+ throw error;
66
+ }
67
+ // Otherwise, wrap it
68
+ const errorMessage = error instanceof Error ? error.message : String(error);
69
+ throw new Error(`Unable to serialize value: ${errorMessage}`);
70
+ }
71
+ }
72
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/types/json.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAqClD;;;;;;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;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc,EAAE,cAAsB,OAAO;IAClF,MAAM,SAAS,GAAa,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,GAAY,EAAW,EAAE;QACtD,qBAAqB;QACrB,IAAI,WAAW,GAAG,WAAW,CAAA;QAC7B,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,iDAAiD;YACjD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,YAAY,EAAE,CAAC;gBACjB,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,GAAG,GAAG,CAAA;YAC9G,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,GAAG,EAAE,CAAA;YAC5G,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,mBAAmB,CAAC,GAAG,WAAW,iDAAiD,CAAC,CAAA;QAChG,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAmB,CAAC,GAAG,WAAW,+CAA+C,CAAC,CAAA;QAC9F,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,mBAAmB,CAAC,GAAG,WAAW,0CAA0C,CAAC,CAAA;QACzF,CAAC;QAED,uCAAuC;QACvC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC7B,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC,CAAA;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAc,CAAA;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,4CAA4C;QAC5C,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;YACzC,MAAM,KAAK,CAAA;QACb,CAAC;QACD,qBAAqB;QACrB,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,8BAA8B,YAAY,EAAE,CAAC,CAAA;IAC/D,CAAC;AACH,CAAC"}
@@ -0,0 +1,249 @@
1
+ /**
2
+ * Media and document content types for multimodal AI interactions.
3
+ *
4
+ * This module provides types for handling images, videos, and documents
5
+ * with support for multiple sources (bytes, S3, URLs, files).
6
+ */
7
+ import { TextBlock, type TextBlockData } from './messages.js';
8
+ export type MediaFormats = DocumentFormat | ImageFormat | VideoFormat;
9
+ /**
10
+ * Cross-platform base64 encoding function that works in both browser and Node.js environments.
11
+ */
12
+ export declare function encodeBase64(str: string): string;
13
+ /**
14
+ * Data for an S3 location.
15
+ * Used by Bedrock for referencing media and documents stored in S3.
16
+ */
17
+ export interface S3LocationData {
18
+ /**
19
+ * S3 URI in format: s3://bucket-name/key-name
20
+ */
21
+ uri: string;
22
+ /**
23
+ * AWS account ID of the S3 bucket owner (12-digit).
24
+ * Required if the bucket belongs to another AWS account.
25
+ */
26
+ bucketOwner?: string;
27
+ }
28
+ /**
29
+ * S3 location for Bedrock media and document sources.
30
+ */
31
+ export declare class S3Location implements S3LocationData {
32
+ readonly uri: string;
33
+ readonly bucketOwner?: string;
34
+ constructor(data: S3LocationData);
35
+ }
36
+ /**
37
+ * Image format type.
38
+ */
39
+ export type ImageFormat = 'png' | 'jpg' | 'jpeg' | 'gif' | 'webp';
40
+ /**
41
+ * Source for an image (Data version).
42
+ * Supports multiple formats for different providers.
43
+ */
44
+ export type ImageSourceData = {
45
+ bytes: Uint8Array;
46
+ } | {
47
+ s3Location: S3LocationData;
48
+ } | {
49
+ url: string;
50
+ };
51
+ /**
52
+ * Source for an image (Class version).
53
+ */
54
+ export type ImageSource = {
55
+ type: 'imageSourceBytes';
56
+ bytes: Uint8Array;
57
+ } | {
58
+ type: 'imageSourceS3Location';
59
+ s3Location: S3Location;
60
+ } | {
61
+ type: 'imageSourceUrl';
62
+ url: string;
63
+ };
64
+ /**
65
+ * Data for an image block.
66
+ */
67
+ export interface ImageBlockData {
68
+ /**
69
+ * Image format.
70
+ */
71
+ format: ImageFormat;
72
+ /**
73
+ * Image source.
74
+ */
75
+ source: ImageSourceData;
76
+ }
77
+ /**
78
+ * Image content block.
79
+ */
80
+ export declare class ImageBlock implements ImageBlockData {
81
+ /**
82
+ * Discriminator for image content.
83
+ */
84
+ readonly type: "imageBlock";
85
+ /**
86
+ * Image format.
87
+ */
88
+ readonly format: ImageFormat;
89
+ /**
90
+ * Image source.
91
+ */
92
+ readonly source: ImageSource;
93
+ constructor(data: ImageBlockData);
94
+ private _convertSource;
95
+ }
96
+ /**
97
+ * Video format type.
98
+ */
99
+ export type VideoFormat = 'mkv' | 'mov' | 'mp4' | 'webm' | 'flv' | 'mpeg' | 'mpg' | 'wmv' | '3gp';
100
+ /**
101
+ * Source for a video (Data version).
102
+ */
103
+ export type VideoSourceData = {
104
+ bytes: Uint8Array;
105
+ } | {
106
+ s3Location: S3LocationData;
107
+ };
108
+ /**
109
+ * Source for a video (Class version).
110
+ */
111
+ export type VideoSource = {
112
+ type: 'videoSourceBytes';
113
+ bytes: Uint8Array;
114
+ } | {
115
+ type: 'videoSourceS3Location';
116
+ s3Location: S3Location;
117
+ };
118
+ /**
119
+ * Data for a video block.
120
+ */
121
+ export interface VideoBlockData {
122
+ /**
123
+ * Video format.
124
+ */
125
+ format: VideoFormat;
126
+ /**
127
+ * Video source.
128
+ */
129
+ source: VideoSourceData;
130
+ }
131
+ /**
132
+ * Video content block.
133
+ */
134
+ export declare class VideoBlock implements VideoBlockData {
135
+ /**
136
+ * Discriminator for video content.
137
+ */
138
+ readonly type: "videoBlock";
139
+ /**
140
+ * Video format.
141
+ */
142
+ readonly format: VideoFormat;
143
+ /**
144
+ * Video source.
145
+ */
146
+ readonly source: VideoSource;
147
+ constructor(data: VideoBlockData);
148
+ private _convertSource;
149
+ }
150
+ /**
151
+ * Document format type.
152
+ */
153
+ export type DocumentFormat = 'pdf' | 'csv' | 'doc' | 'docx' | 'xls' | 'xlsx' | 'html' | 'txt' | 'md' | 'json' | 'xml';
154
+ /**
155
+ * Content blocks that can be nested inside a document.
156
+ * Documents can contain text blocks for structured content.
157
+ */
158
+ export type DocumentContentBlockData = TextBlockData;
159
+ export type DocumentContentBlock = TextBlock;
160
+ /**
161
+ * Source for a document (Data version).
162
+ * Supports multiple formats including structured content.
163
+ */
164
+ export type DocumentSourceData = {
165
+ bytes: Uint8Array;
166
+ } | {
167
+ text: string;
168
+ } | {
169
+ content: DocumentContentBlockData[];
170
+ } | {
171
+ s3Location: S3LocationData;
172
+ };
173
+ /**
174
+ * Source for a document (Class version).
175
+ */
176
+ export type DocumentSource = {
177
+ type: 'documentSourceBytes';
178
+ bytes: Uint8Array;
179
+ } | {
180
+ type: 'documentSourceText';
181
+ text: string;
182
+ } | {
183
+ type: 'documentSourceContentBlock';
184
+ content: DocumentContentBlock[];
185
+ } | {
186
+ type: 'documentSourceS3Location';
187
+ s3Location: S3Location;
188
+ };
189
+ /**
190
+ * Data for a document block.
191
+ */
192
+ export interface DocumentBlockData {
193
+ /**
194
+ * Document name.
195
+ */
196
+ name: string;
197
+ /**
198
+ * Document format.
199
+ */
200
+ format: DocumentFormat;
201
+ /**
202
+ * Document source.
203
+ */
204
+ source: DocumentSourceData;
205
+ /**
206
+ * Citation configuration.
207
+ */
208
+ citations?: {
209
+ enabled: boolean;
210
+ };
211
+ /**
212
+ * Context information for the document.
213
+ */
214
+ context?: string;
215
+ }
216
+ /**
217
+ * Document content block.
218
+ */
219
+ export declare class DocumentBlock implements DocumentBlockData {
220
+ /**
221
+ * Discriminator for document content.
222
+ */
223
+ readonly type: "documentBlock";
224
+ /**
225
+ * Document name.
226
+ */
227
+ readonly name: string;
228
+ /**
229
+ * Document format.
230
+ */
231
+ readonly format: DocumentFormat;
232
+ /**
233
+ * Document source.
234
+ */
235
+ readonly source: DocumentSource;
236
+ /**
237
+ * Citation configuration.
238
+ */
239
+ readonly citations?: {
240
+ enabled: boolean;
241
+ };
242
+ /**
243
+ * Context information for the document.
244
+ */
245
+ readonly context?: string;
246
+ constructor(data: DocumentBlockData);
247
+ private _convertSource;
248
+ }
249
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/types/media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Media and document content types for multimodal AI interactions.
3
+ *
4
+ * This module provides types for handling images, videos, and documents
5
+ * with support for multiple sources (bytes, S3, URLs, files).
6
+ */
7
+ import { TextBlock } from './messages.js';
8
+ /**
9
+ * Cross-platform base64 encoding function that works in both browser and Node.js environments.
10
+ */
11
+ export function encodeBase64(str) {
12
+ if (typeof globalThis.btoa === 'function') {
13
+ return globalThis.btoa(str);
14
+ }
15
+ // Node.js environment
16
+ return globalThis.Buffer.from(str, 'binary').toString('base64');
17
+ }
18
+ /**
19
+ * S3 location for Bedrock media and document sources.
20
+ */
21
+ export class S3Location {
22
+ uri;
23
+ bucketOwner;
24
+ constructor(data) {
25
+ this.uri = data.uri;
26
+ if (data.bucketOwner !== undefined) {
27
+ this.bucketOwner = data.bucketOwner;
28
+ }
29
+ }
30
+ }
31
+ /**
32
+ * Image content block.
33
+ */
34
+ export class ImageBlock {
35
+ /**
36
+ * Discriminator for image content.
37
+ */
38
+ type = 'imageBlock';
39
+ /**
40
+ * Image format.
41
+ */
42
+ format;
43
+ /**
44
+ * Image source.
45
+ */
46
+ source;
47
+ constructor(data) {
48
+ this.format = data.format;
49
+ this.source = this._convertSource(data.source);
50
+ }
51
+ _convertSource(source) {
52
+ if ('bytes' in source) {
53
+ return {
54
+ type: 'imageSourceBytes',
55
+ bytes: source.bytes,
56
+ };
57
+ }
58
+ if ('url' in source) {
59
+ return {
60
+ type: 'imageSourceUrl',
61
+ url: source.url,
62
+ };
63
+ }
64
+ if ('s3Location' in source) {
65
+ return {
66
+ type: 'imageSourceS3Location',
67
+ s3Location: new S3Location(source.s3Location),
68
+ };
69
+ }
70
+ throw new Error('Invalid image source');
71
+ }
72
+ }
73
+ /**
74
+ * Video content block.
75
+ */
76
+ export class VideoBlock {
77
+ /**
78
+ * Discriminator for video content.
79
+ */
80
+ type = 'videoBlock';
81
+ /**
82
+ * Video format.
83
+ */
84
+ format;
85
+ /**
86
+ * Video source.
87
+ */
88
+ source;
89
+ constructor(data) {
90
+ this.format = data.format;
91
+ this.source = this._convertSource(data.source);
92
+ }
93
+ _convertSource(source) {
94
+ if ('bytes' in source) {
95
+ return {
96
+ type: 'videoSourceBytes',
97
+ bytes: source.bytes,
98
+ };
99
+ }
100
+ if ('s3Location' in source) {
101
+ return { type: 'videoSourceS3Location', s3Location: new S3Location(source.s3Location) };
102
+ }
103
+ throw new Error('Invalid video source');
104
+ }
105
+ }
106
+ /**
107
+ * Document content block.
108
+ */
109
+ export class DocumentBlock {
110
+ /**
111
+ * Discriminator for document content.
112
+ */
113
+ type = 'documentBlock';
114
+ /**
115
+ * Document name.
116
+ */
117
+ name;
118
+ /**
119
+ * Document format.
120
+ */
121
+ format;
122
+ /**
123
+ * Document source.
124
+ */
125
+ source;
126
+ /**
127
+ * Citation configuration.
128
+ */
129
+ citations;
130
+ /**
131
+ * Context information for the document.
132
+ */
133
+ context;
134
+ constructor(data) {
135
+ this.name = data.name;
136
+ this.format = data.format;
137
+ this.source = this._convertSource(data.source);
138
+ if (data.citations !== undefined) {
139
+ this.citations = data.citations;
140
+ }
141
+ if (data.context !== undefined) {
142
+ this.context = data.context;
143
+ }
144
+ }
145
+ _convertSource(source) {
146
+ if ('bytes' in source) {
147
+ return {
148
+ type: 'documentSourceBytes',
149
+ bytes: source.bytes,
150
+ };
151
+ }
152
+ if ('text' in source) {
153
+ return {
154
+ type: 'documentSourceText',
155
+ text: source.text,
156
+ };
157
+ }
158
+ if ('content' in source) {
159
+ return {
160
+ type: 'documentSourceContentBlock',
161
+ content: source.content.map((block) => new TextBlock(block.text)),
162
+ };
163
+ }
164
+ if ('s3Location' in source) {
165
+ return {
166
+ type: 'documentSourceS3Location',
167
+ s3Location: new S3Location(source.s3Location),
168
+ };
169
+ }
170
+ throw new Error('Invalid document source');
171
+ }
172
+ }
173
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/types/media.ts"],"names":[],"mappings":"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"}