@strands-agents/sdk 0.2.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/README.md +43 -0
  2. package/dist/src/__fixtures__/mock-hook-provider.d.ts +3 -7
  3. package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +1 -1
  4. package/dist/src/__fixtures__/mock-hook-provider.js +3 -9
  5. package/dist/src/__fixtures__/mock-hook-provider.js.map +1 -1
  6. package/dist/src/__fixtures__/mock-message-model.d.ts +8 -2
  7. package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
  8. package/dist/src/__fixtures__/mock-message-model.js +1 -0
  9. package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
  10. package/dist/src/__fixtures__/mock-storage-provider.d.ts +37 -0
  11. package/dist/src/__fixtures__/mock-storage-provider.d.ts.map +1 -0
  12. package/dist/src/__fixtures__/mock-storage-provider.js +105 -0
  13. package/dist/src/__fixtures__/mock-storage-provider.js.map +1 -0
  14. package/dist/src/__fixtures__/slim-types.d.ts +50 -0
  15. package/dist/src/__fixtures__/slim-types.d.ts.map +1 -0
  16. package/dist/src/__fixtures__/slim-types.js +6 -0
  17. package/dist/src/__fixtures__/slim-types.js.map +1 -0
  18. package/dist/src/__fixtures__/tool-helpers.d.ts +8 -3
  19. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  20. package/dist/src/__fixtures__/tool-helpers.js +1 -1
  21. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  22. package/dist/src/agent/__tests__/agent.hook.test.js +18 -18
  23. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  24. package/dist/src/agent/__tests__/agent.test.js +124 -8
  25. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  26. package/dist/src/agent/__tests__/printer.test.js +5 -9
  27. package/dist/src/agent/__tests__/printer.test.js.map +1 -1
  28. package/dist/src/agent/__tests__/snapshot.test.d.ts +2 -0
  29. package/dist/src/agent/__tests__/snapshot.test.d.ts.map +1 -0
  30. package/dist/src/agent/__tests__/snapshot.test.js +249 -0
  31. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -0
  32. package/dist/src/agent/__tests__/state.test.js +19 -0
  33. package/dist/src/agent/__tests__/state.test.js.map +1 -1
  34. package/dist/src/agent/agent.d.ts +19 -4
  35. package/dist/src/agent/agent.d.ts.map +1 -1
  36. package/dist/src/agent/agent.js +104 -34
  37. package/dist/src/agent/agent.js.map +1 -1
  38. package/dist/src/agent/printer.d.ts +4 -0
  39. package/dist/src/agent/printer.d.ts.map +1 -1
  40. package/dist/src/agent/printer.js +18 -6
  41. package/dist/src/agent/printer.js.map +1 -1
  42. package/dist/src/agent/snapshot.d.ts +132 -0
  43. package/dist/src/agent/snapshot.d.ts.map +1 -0
  44. package/dist/src/agent/snapshot.js +151 -0
  45. package/dist/src/agent/snapshot.js.map +1 -0
  46. package/dist/src/agent/state.d.ts +14 -1
  47. package/dist/src/agent/state.d.ts.map +1 -1
  48. package/dist/src/agent/state.js +21 -0
  49. package/dist/src/agent/state.js.map +1 -1
  50. package/dist/src/errors.d.ts +15 -0
  51. package/dist/src/errors.d.ts.map +1 -1
  52. package/dist/src/errors.js +18 -0
  53. package/dist/src/errors.js.map +1 -1
  54. package/dist/src/hooks/__tests__/events.test.js +102 -21
  55. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  56. package/dist/src/hooks/events.d.ts +156 -22
  57. package/dist/src/hooks/events.d.ts.map +1 -1
  58. package/dist/src/hooks/events.js +158 -18
  59. package/dist/src/hooks/events.js.map +1 -1
  60. package/dist/src/hooks/index.d.ts +12 -4
  61. package/dist/src/hooks/index.d.ts.map +1 -1
  62. package/dist/src/hooks/index.js +11 -3
  63. package/dist/src/hooks/index.js.map +1 -1
  64. package/dist/src/hooks/registry.d.ts +5 -5
  65. package/dist/src/hooks/registry.d.ts.map +1 -1
  66. package/dist/src/hooks/registry.js.map +1 -1
  67. package/dist/src/hooks/types.d.ts +5 -5
  68. package/dist/src/hooks/types.d.ts.map +1 -1
  69. package/dist/src/index.d.ts +4 -2
  70. package/dist/src/index.d.ts.map +1 -1
  71. package/dist/src/index.js +4 -3
  72. package/dist/src/index.js.map +1 -1
  73. package/dist/src/models/__tests__/anthropic.test.js +31 -42
  74. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  75. package/dist/src/models/__tests__/bedrock.test.js +70 -107
  76. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  77. package/dist/src/models/__tests__/gemini.test.js +438 -141
  78. package/dist/src/models/__tests__/gemini.test.js.map +1 -1
  79. package/dist/src/models/__tests__/model.test.js +14 -13
  80. package/dist/src/models/__tests__/model.test.js.map +1 -1
  81. package/dist/src/models/__tests__/openai.test.js +73 -83
  82. package/dist/src/models/__tests__/openai.test.js.map +1 -1
  83. package/dist/src/models/gemini/adapters.d.ts +2 -1
  84. package/dist/src/models/gemini/adapters.d.ts.map +1 -1
  85. package/dist/src/models/gemini/adapters.js +97 -10
  86. package/dist/src/models/gemini/adapters.js.map +1 -1
  87. package/dist/src/models/gemini/model.d.ts.map +1 -1
  88. package/dist/src/models/gemini/model.js +37 -1
  89. package/dist/src/models/gemini/model.js.map +1 -1
  90. package/dist/src/models/gemini/types.d.ts +9 -1
  91. package/dist/src/models/gemini/types.d.ts.map +1 -1
  92. package/dist/src/models/model.d.ts.map +1 -1
  93. package/dist/src/models/model.js +4 -0
  94. package/dist/src/models/model.js.map +1 -1
  95. package/dist/src/models/streaming.d.ts +13 -0
  96. package/dist/src/models/streaming.d.ts.map +1 -1
  97. package/dist/src/models/streaming.js +17 -0
  98. package/dist/src/models/streaming.js.map +1 -1
  99. package/dist/src/multiagent/__tests__/nodes.test.d.ts +2 -0
  100. package/dist/src/multiagent/__tests__/nodes.test.d.ts.map +1 -0
  101. package/dist/src/multiagent/__tests__/nodes.test.js +98 -0
  102. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -0
  103. package/dist/src/multiagent/events.d.ts +24 -0
  104. package/dist/src/multiagent/events.d.ts.map +1 -0
  105. package/dist/src/multiagent/events.js +19 -0
  106. package/dist/src/multiagent/events.js.map +1 -0
  107. package/dist/src/multiagent/index.d.ts +11 -0
  108. package/dist/src/multiagent/index.d.ts.map +1 -0
  109. package/dist/src/multiagent/index.js +7 -0
  110. package/dist/src/multiagent/index.js.map +1 -0
  111. package/dist/src/multiagent/nodes.d.ts +75 -0
  112. package/dist/src/multiagent/nodes.d.ts.map +1 -0
  113. package/dist/src/multiagent/nodes.js +101 -0
  114. package/dist/src/multiagent/nodes.js.map +1 -0
  115. package/dist/src/multiagent/state.d.ts +55 -0
  116. package/dist/src/multiagent/state.d.ts.map +1 -0
  117. package/dist/src/multiagent/state.js +43 -0
  118. package/dist/src/multiagent/state.js.map +1 -0
  119. package/dist/src/multiagent/types.d.ts +5 -0
  120. package/dist/src/multiagent/types.d.ts.map +1 -0
  121. package/dist/src/multiagent/types.js +2 -0
  122. package/dist/src/multiagent/types.js.map +1 -0
  123. package/dist/src/registry/tool-registry.d.ts +2 -1
  124. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  125. package/dist/src/registry/tool-registry.js +4 -2
  126. package/dist/src/registry/tool-registry.js.map +1 -1
  127. package/dist/src/session/__tests__/file-storage.test.node.d.ts +2 -0
  128. package/dist/src/session/__tests__/file-storage.test.node.d.ts.map +1 -0
  129. package/dist/src/session/__tests__/file-storage.test.node.js +218 -0
  130. package/dist/src/session/__tests__/file-storage.test.node.js.map +1 -0
  131. package/dist/src/session/__tests__/s3-storage.test.node.d.ts +2 -0
  132. package/dist/src/session/__tests__/s3-storage.test.node.d.ts.map +1 -0
  133. package/dist/src/session/__tests__/s3-storage.test.node.js +375 -0
  134. package/dist/src/session/__tests__/s3-storage.test.node.js.map +1 -0
  135. package/dist/src/session/__tests__/validation.test.d.ts +2 -0
  136. package/dist/src/session/__tests__/validation.test.d.ts.map +1 -0
  137. package/dist/src/session/__tests__/validation.test.js +20 -0
  138. package/dist/src/session/__tests__/validation.test.js.map +1 -0
  139. package/dist/src/session/file-storage.d.ts +79 -0
  140. package/dist/src/session/file-storage.d.ts.map +1 -0
  141. package/dist/src/session/file-storage.js +144 -0
  142. package/dist/src/session/file-storage.js.map +1 -0
  143. package/dist/src/session/index.d.ts +19 -0
  144. package/dist/src/session/index.d.ts.map +1 -0
  145. package/dist/src/session/index.js +18 -0
  146. package/dist/src/session/index.js.map +1 -0
  147. package/dist/src/session/s3-storage.d.ts +93 -0
  148. package/dist/src/session/s3-storage.d.ts.map +1 -0
  149. package/dist/src/session/s3-storage.js +150 -0
  150. package/dist/src/session/s3-storage.js.map +1 -0
  151. package/dist/src/session/storage.d.ts +91 -0
  152. package/dist/src/session/storage.d.ts.map +1 -0
  153. package/dist/src/session/storage.js +2 -0
  154. package/dist/src/session/storage.js.map +1 -0
  155. package/dist/src/session/types.d.ts +49 -0
  156. package/dist/src/session/types.d.ts.map +1 -0
  157. package/dist/src/session/types.js +2 -0
  158. package/dist/src/session/types.js.map +1 -0
  159. package/dist/src/session/validation.d.ts +10 -0
  160. package/dist/src/session/validation.d.ts.map +1 -0
  161. package/dist/src/session/validation.js +16 -0
  162. package/dist/src/session/validation.js.map +1 -0
  163. package/dist/src/structured-output/__tests__/context.test.d.ts +2 -0
  164. package/dist/src/structured-output/__tests__/context.test.d.ts.map +1 -0
  165. package/dist/src/structured-output/__tests__/context.test.js +201 -0
  166. package/dist/src/structured-output/__tests__/context.test.js.map +1 -0
  167. package/dist/src/structured-output/__tests__/exceptions.test.d.ts +2 -0
  168. package/dist/src/structured-output/__tests__/exceptions.test.d.ts.map +1 -0
  169. package/dist/src/structured-output/__tests__/exceptions.test.js +103 -0
  170. package/dist/src/structured-output/__tests__/exceptions.test.js.map +1 -0
  171. package/dist/src/structured-output/__tests__/tool.test.d.ts +2 -0
  172. package/dist/src/structured-output/__tests__/tool.test.d.ts.map +1 -0
  173. package/dist/src/structured-output/__tests__/tool.test.js +256 -0
  174. package/dist/src/structured-output/__tests__/tool.test.js.map +1 -0
  175. package/dist/src/structured-output/__tests__/utils.test.d.ts +2 -0
  176. package/dist/src/structured-output/__tests__/utils.test.d.ts.map +1 -0
  177. package/dist/src/structured-output/__tests__/utils.test.js +183 -0
  178. package/dist/src/structured-output/__tests__/utils.test.js.map +1 -0
  179. package/dist/src/structured-output/context.d.ts +91 -0
  180. package/dist/src/structured-output/context.d.ts.map +1 -0
  181. package/dist/src/structured-output/context.js +112 -0
  182. package/dist/src/structured-output/context.js.map +1 -0
  183. package/dist/src/structured-output/exceptions.d.ts +18 -0
  184. package/dist/src/structured-output/exceptions.d.ts.map +1 -0
  185. package/dist/src/structured-output/exceptions.js +28 -0
  186. package/dist/src/structured-output/exceptions.js.map +1 -0
  187. package/dist/src/structured-output/tool.d.ts +33 -0
  188. package/dist/src/structured-output/tool.d.ts.map +1 -0
  189. package/dist/src/structured-output/tool.js +73 -0
  190. package/dist/src/structured-output/tool.js.map +1 -0
  191. package/dist/src/structured-output/utils.d.ts +23 -0
  192. package/dist/src/structured-output/utils.d.ts.map +1 -0
  193. package/dist/src/structured-output/utils.js +104 -0
  194. package/dist/src/structured-output/utils.js.map +1 -0
  195. package/dist/src/tools/zod-tool.d.ts.map +1 -1
  196. package/dist/src/tools/zod-tool.js +2 -5
  197. package/dist/src/tools/zod-tool.js.map +1 -1
  198. package/dist/src/tsconfig.tsbuildinfo +1 -1
  199. package/dist/src/types/__tests__/media.test.js +216 -1
  200. package/dist/src/types/__tests__/media.test.js.map +1 -1
  201. package/dist/src/types/__tests__/messages.test.js +193 -4
  202. package/dist/src/types/__tests__/messages.test.js.map +1 -1
  203. package/dist/src/types/agent.d.ts +13 -7
  204. package/dist/src/types/agent.d.ts.map +1 -1
  205. package/dist/src/types/agent.js +8 -1
  206. package/dist/src/types/agent.js.map +1 -1
  207. package/dist/src/types/json.d.ts +61 -0
  208. package/dist/src/types/json.d.ts.map +1 -1
  209. package/dist/src/types/json.js +24 -0
  210. package/dist/src/types/json.js.map +1 -1
  211. package/dist/src/types/media.d.ts +84 -4
  212. package/dist/src/types/media.d.ts.map +1 -1
  213. package/dist/src/types/media.js +194 -0
  214. package/dist/src/types/media.js.map +1 -1
  215. package/dist/src/types/messages.d.ts +158 -9
  216. package/dist/src/types/messages.d.ts.map +1 -1
  217. package/dist/src/types/messages.js +242 -7
  218. package/dist/src/types/messages.js.map +1 -1
  219. package/dist/src/types/serializable.d.ts +31 -0
  220. package/dist/src/types/serializable.d.ts.map +1 -0
  221. package/dist/src/types/serializable.js +19 -0
  222. package/dist/src/types/serializable.js.map +1 -0
  223. package/dist/src/utils/zod.d.ts +11 -0
  224. package/dist/src/utils/zod.d.ts.map +1 -0
  225. package/dist/src/utils/zod.js +14 -0
  226. package/dist/src/utils/zod.js.map +1 -0
  227. package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts +2 -0
  228. package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts.map +1 -0
  229. package/dist/src/vended-tools/bash/__tests__/{bash.test.js → bash.test.node.js} +3 -4
  230. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -0
  231. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts +2 -0
  232. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +1 -0
  233. package/dist/src/vended-tools/file_editor/__tests__/{file-editor.test.js → file-editor.test.node.js} +1 -1
  234. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +1 -0
  235. package/package.json +7 -2
  236. package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts +0 -2
  237. package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts.map +0 -1
  238. package/dist/src/vended-tools/bash/__tests__/bash.test.js.map +0 -1
  239. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts +0 -2
  240. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts.map +0 -1
  241. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect } from 'vitest';
2
- import { S3Location, ImageBlock, VideoBlock, DocumentBlock, } from '../media.js';
2
+ import { S3Location, ImageBlock, VideoBlock, DocumentBlock, encodeBase64, decodeBase64, } from '../media.js';
3
3
  import { TextBlock } from '../messages.js';
4
4
  describe('S3Location', () => {
5
5
  it('creates instance with uri only', () => {
@@ -254,4 +254,219 @@ describe('DocumentBlock', () => {
254
254
  expect(() => new DocumentBlock(data)).toThrow('Invalid document source');
255
255
  });
256
256
  });
257
+ describe('encodeBase64 and decodeBase64', () => {
258
+ it('round-trips empty array', () => {
259
+ const original = new Uint8Array([]);
260
+ const encoded = encodeBase64(original);
261
+ const decoded = decodeBase64(encoded);
262
+ expect(decoded).toEqual(original);
263
+ });
264
+ it('round-trips single byte', () => {
265
+ const original = new Uint8Array([42]);
266
+ const encoded = encodeBase64(original);
267
+ const decoded = decodeBase64(encoded);
268
+ expect(decoded).toEqual(original);
269
+ });
270
+ it('round-trips multi-byte array', () => {
271
+ const original = new Uint8Array([1, 2, 3, 255, 0, 128]);
272
+ const encoded = encodeBase64(original);
273
+ const decoded = decodeBase64(encoded);
274
+ expect(decoded).toEqual(original);
275
+ });
276
+ it('round-trips large array', () => {
277
+ const original = new Uint8Array(1000);
278
+ for (let i = 0; i < original.length; i++) {
279
+ original[i] = i % 256;
280
+ }
281
+ const encoded = encodeBase64(original);
282
+ const decoded = decodeBase64(encoded);
283
+ expect(decoded).toEqual(original);
284
+ });
285
+ });
286
+ describe('fromJSON with serialized (base64 string) input', () => {
287
+ it('ImageBlock.fromJSON accepts base64 string for bytes', () => {
288
+ const originalBytes = new Uint8Array([1, 2, 3, 4, 5]);
289
+ const base64String = encodeBase64(originalBytes);
290
+ const block = ImageBlock.fromJSON({
291
+ image: { format: 'jpeg', source: { bytes: base64String } },
292
+ });
293
+ expect(block.source.bytes).toEqual(originalBytes);
294
+ });
295
+ it('ImageBlock.fromJSON accepts Uint8Array for bytes', () => {
296
+ const originalBytes = new Uint8Array([1, 2, 3, 4, 5]);
297
+ const block = ImageBlock.fromJSON({
298
+ image: { format: 'jpeg', source: { bytes: originalBytes } },
299
+ });
300
+ expect(block.source.bytes).toEqual(originalBytes);
301
+ });
302
+ it('VideoBlock.fromJSON accepts base64 string for bytes', () => {
303
+ const originalBytes = new Uint8Array([10, 20, 30]);
304
+ const base64String = encodeBase64(originalBytes);
305
+ const block = VideoBlock.fromJSON({
306
+ video: { format: 'mp4', source: { bytes: base64String } },
307
+ });
308
+ expect(block.source.bytes).toEqual(originalBytes);
309
+ });
310
+ it('VideoBlock.fromJSON accepts Uint8Array for bytes', () => {
311
+ const originalBytes = new Uint8Array([10, 20, 30]);
312
+ const block = VideoBlock.fromJSON({
313
+ video: { format: 'mp4', source: { bytes: originalBytes } },
314
+ });
315
+ expect(block.source.bytes).toEqual(originalBytes);
316
+ });
317
+ it('DocumentBlock.fromJSON accepts base64 string for bytes', () => {
318
+ const originalBytes = new Uint8Array([100, 200]);
319
+ const base64String = encodeBase64(originalBytes);
320
+ const block = DocumentBlock.fromJSON({
321
+ document: { name: 'doc.pdf', format: 'pdf', source: { bytes: base64String } },
322
+ });
323
+ expect(block.source.bytes).toEqual(originalBytes);
324
+ });
325
+ it('DocumentBlock.fromJSON accepts Uint8Array for bytes', () => {
326
+ const originalBytes = new Uint8Array([100, 200]);
327
+ const block = DocumentBlock.fromJSON({
328
+ document: { name: 'doc.pdf', format: 'pdf', source: { bytes: originalBytes } },
329
+ });
330
+ expect(block.source.bytes).toEqual(originalBytes);
331
+ });
332
+ });
333
+ describe('S3Location toJSON/fromJSON', () => {
334
+ it('round-trips with uri only', () => {
335
+ const original = new S3Location({ uri: 's3://bucket/key.jpg' });
336
+ const json = original.toJSON();
337
+ const restored = S3Location.fromJSON(json);
338
+ expect(restored).toEqual(original);
339
+ });
340
+ it('round-trips with uri and bucketOwner', () => {
341
+ const original = new S3Location({ uri: 's3://bucket/key.jpg', bucketOwner: '123456789012' });
342
+ const json = original.toJSON();
343
+ const restored = S3Location.fromJSON(json);
344
+ expect(restored).toEqual(original);
345
+ });
346
+ it('omits undefined bucketOwner from JSON', () => {
347
+ const location = new S3Location({ uri: 's3://bucket/key.jpg' });
348
+ const json = location.toJSON();
349
+ expect(json).toStrictEqual({ uri: 's3://bucket/key.jpg' });
350
+ expect('bucketOwner' in json).toBe(false);
351
+ });
352
+ });
353
+ describe('ImageBlock toJSON/fromJSON', () => {
354
+ it('round-trips with bytes source', () => {
355
+ const original = new ImageBlock({
356
+ format: 'jpeg',
357
+ source: { bytes: new Uint8Array([1, 2, 3]) },
358
+ });
359
+ const restored = ImageBlock.fromJSON(original.toJSON());
360
+ expect(restored).toEqual(original);
361
+ });
362
+ it('round-trips with url source', () => {
363
+ const original = new ImageBlock({
364
+ format: 'png',
365
+ source: { url: 'https://example.com/image.png' },
366
+ });
367
+ const restored = ImageBlock.fromJSON(original.toJSON());
368
+ expect(restored).toEqual(original);
369
+ });
370
+ it('round-trips with s3Location source', () => {
371
+ const original = new ImageBlock({
372
+ format: 'webp',
373
+ source: { s3Location: { uri: 's3://bucket/image.webp', bucketOwner: '123456789012' } },
374
+ });
375
+ const restored = ImageBlock.fromJSON(original.toJSON());
376
+ expect(restored).toEqual(original);
377
+ });
378
+ it('encodes bytes as base64 in JSON output', () => {
379
+ const block = new ImageBlock({
380
+ format: 'jpeg',
381
+ source: { bytes: new Uint8Array([1, 2, 3]) },
382
+ });
383
+ const json = block.toJSON();
384
+ expect(typeof json.image.source.bytes).toBe('string');
385
+ });
386
+ });
387
+ describe('VideoBlock toJSON/fromJSON', () => {
388
+ it('round-trips with bytes source', () => {
389
+ const original = new VideoBlock({
390
+ format: 'mp4',
391
+ source: { bytes: new Uint8Array([10, 20, 30]) },
392
+ });
393
+ const restored = VideoBlock.fromJSON(original.toJSON());
394
+ expect(restored).toEqual(original);
395
+ });
396
+ it('round-trips with s3Location source', () => {
397
+ const original = new VideoBlock({
398
+ format: 'webm',
399
+ source: { s3Location: { uri: 's3://bucket/video.webm' } },
400
+ });
401
+ const restored = VideoBlock.fromJSON(original.toJSON());
402
+ expect(restored).toEqual(original);
403
+ });
404
+ it('encodes bytes as base64 in JSON output', () => {
405
+ const block = new VideoBlock({
406
+ format: 'mp4',
407
+ source: { bytes: new Uint8Array([1, 2, 3]) },
408
+ });
409
+ const json = block.toJSON();
410
+ expect(typeof json.video.source.bytes).toBe('string');
411
+ });
412
+ });
413
+ describe('DocumentBlock toJSON/fromJSON', () => {
414
+ it('round-trips with bytes source', () => {
415
+ const original = new DocumentBlock({
416
+ name: 'doc.pdf',
417
+ format: 'pdf',
418
+ source: { bytes: new Uint8Array([100, 200]) },
419
+ });
420
+ const restored = DocumentBlock.fromJSON(original.toJSON());
421
+ expect(restored).toEqual(original);
422
+ });
423
+ it('round-trips with text source', () => {
424
+ const original = new DocumentBlock({
425
+ name: 'note.txt',
426
+ format: 'txt',
427
+ source: { text: 'Hello world' },
428
+ });
429
+ const restored = DocumentBlock.fromJSON(original.toJSON());
430
+ expect(restored).toEqual(original);
431
+ });
432
+ it('round-trips with content source', () => {
433
+ const original = new DocumentBlock({
434
+ name: 'report.html',
435
+ format: 'html',
436
+ source: { content: [{ text: 'Introduction' }, { text: 'Conclusion' }] },
437
+ });
438
+ const restored = DocumentBlock.fromJSON(original.toJSON());
439
+ expect(restored).toEqual(original);
440
+ });
441
+ it('round-trips with s3Location source', () => {
442
+ const original = new DocumentBlock({
443
+ name: 'report.pdf',
444
+ format: 'pdf',
445
+ source: { s3Location: { uri: 's3://bucket/report.pdf', bucketOwner: '123456789012' } },
446
+ });
447
+ const restored = DocumentBlock.fromJSON(original.toJSON());
448
+ expect(restored).toEqual(original);
449
+ });
450
+ it('round-trips with citations and context', () => {
451
+ const original = new DocumentBlock({
452
+ name: 'research.pdf',
453
+ format: 'pdf',
454
+ source: { bytes: new Uint8Array([1, 2, 3]) },
455
+ citations: { enabled: true },
456
+ context: 'Research paper about AI',
457
+ });
458
+ const restored = DocumentBlock.fromJSON(original.toJSON());
459
+ expect(restored).toEqual(original);
460
+ });
461
+ it('omits undefined citations and context from JSON', () => {
462
+ const block = new DocumentBlock({
463
+ name: 'doc.pdf',
464
+ format: 'pdf',
465
+ source: { bytes: new Uint8Array([1]) },
466
+ });
467
+ const json = block.toJSON();
468
+ expect('citations' in json.document).toBe(false);
469
+ expect('context' in json.document).toBe(false);
470
+ });
471
+ });
257
472
  //# sourceMappingURL=media.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.test.js","sourceRoot":"","sources":["../../../../src/types/__tests__/media.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.test.js","sourceRoot":"","sources":["../../../../src/types/__tests__/media.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, test, it } from 'vitest';
2
- import { Message, TextBlock, ToolUseBlock, ToolResultBlock, ReasoningBlock, CachePointBlock, GuardContentBlock, JsonBlock, systemPromptFromData, } from '../messages.js';
3
- import { ImageBlock, VideoBlock, DocumentBlock } from '../media.js';
2
+ import { Message, TextBlock, ToolUseBlock, ToolResultBlock, ReasoningBlock, CachePointBlock, GuardContentBlock, JsonBlock, systemPromptFromData, systemPromptToData, } from '../messages.js';
3
+ import { ImageBlock, VideoBlock, DocumentBlock, encodeBase64 } from '../media.js';
4
4
  describe('Message', () => {
5
5
  test('creates message with role and content', () => {
6
6
  const content = [new TextBlock('test')];
@@ -41,13 +41,13 @@ describe('ToolResultBlock', () => {
41
41
  const block = new ToolResultBlock({
42
42
  toolUseId: '123',
43
43
  status: 'success',
44
- content: [{ type: 'textBlock', text: 'result' }],
44
+ content: [new TextBlock('result')],
45
45
  });
46
46
  expect(block).toEqual({
47
47
  type: 'toolResultBlock',
48
48
  toolUseId: '123',
49
49
  status: 'success',
50
- content: [{ type: 'textBlock', text: 'result' }],
50
+ content: [new TextBlock('result')],
51
51
  });
52
52
  });
53
53
  });
@@ -361,4 +361,193 @@ describe('systemPromptFromData', () => {
361
361
  });
362
362
  });
363
363
  });
364
+ describe('systemPromptToData', () => {
365
+ describe('when called with string', () => {
366
+ it('returns the string unchanged', () => {
367
+ const prompt = 'You are a helpful assistant';
368
+ const result = systemPromptToData(prompt);
369
+ expect(result).toBe('You are a helpful assistant');
370
+ });
371
+ });
372
+ describe('when called with TextBlock array', () => {
373
+ it('converts to TextBlockData array', () => {
374
+ const prompt = [new TextBlock('System prompt text')];
375
+ const result = systemPromptToData(prompt);
376
+ expect(result).toEqual([{ text: 'System prompt text' }]);
377
+ });
378
+ });
379
+ describe('when called with CachePointBlock array', () => {
380
+ it('converts to CachePointBlockData array', () => {
381
+ const prompt = [new TextBlock('prompt'), new CachePointBlock({ cacheType: 'default' })];
382
+ const result = systemPromptToData(prompt);
383
+ expect(result).toEqual([{ text: 'prompt' }, { cachePoint: { cacheType: 'default' } }]);
384
+ });
385
+ });
386
+ describe('when called with GuardContentBlock array', () => {
387
+ it('converts to GuardContentBlockData array', () => {
388
+ const prompt = [
389
+ new GuardContentBlock({
390
+ text: {
391
+ text: 'guard this content',
392
+ qualifiers: ['guard_content'],
393
+ },
394
+ }),
395
+ ];
396
+ const result = systemPromptToData(prompt);
397
+ expect(result).toEqual([
398
+ {
399
+ guardContent: {
400
+ text: {
401
+ text: 'guard this content',
402
+ qualifiers: ['guard_content'],
403
+ },
404
+ },
405
+ },
406
+ ]);
407
+ });
408
+ });
409
+ describe('when called with mixed content blocks', () => {
410
+ it('converts all block types correctly', () => {
411
+ const prompt = [
412
+ new TextBlock('First text block'),
413
+ new CachePointBlock({ cacheType: 'default' }),
414
+ new TextBlock('Second text block'),
415
+ new GuardContentBlock({
416
+ text: {
417
+ text: 'guard content',
418
+ qualifiers: ['guard_content'],
419
+ },
420
+ }),
421
+ ];
422
+ const result = systemPromptToData(prompt);
423
+ expect(result).toEqual([
424
+ { text: 'First text block' },
425
+ { cachePoint: { cacheType: 'default' } },
426
+ { text: 'Second text block' },
427
+ {
428
+ guardContent: {
429
+ text: {
430
+ text: 'guard content',
431
+ qualifiers: ['guard_content'],
432
+ },
433
+ },
434
+ },
435
+ ]);
436
+ });
437
+ });
438
+ describe('when called with empty array', () => {
439
+ it('returns empty array', () => {
440
+ const prompt = [];
441
+ const result = systemPromptToData(prompt);
442
+ expect(result).toEqual([]);
443
+ });
444
+ });
445
+ describe('round-trip conversion', () => {
446
+ it('preserves data through toData/fromData cycle', () => {
447
+ const original = [new TextBlock('prompt text'), new CachePointBlock({ cacheType: 'default' })];
448
+ const data = systemPromptToData(original);
449
+ const restored = systemPromptFromData(data);
450
+ expect(restored).toEqual(original);
451
+ });
452
+ it('preserves string through toData/fromData cycle', () => {
453
+ const original = 'Simple string prompt';
454
+ const data = systemPromptToData(original);
455
+ const restored = systemPromptFromData(data);
456
+ expect(restored).toBe(original);
457
+ });
458
+ });
459
+ });
460
+ describe('toJSON/fromJSON round-trips', () => {
461
+ // prettier-ignore
462
+ const roundTripCases = [
463
+ ['TextBlock', () => new TextBlock('Hello world')],
464
+ ['ToolUseBlock without reasoningSignature', () => new ToolUseBlock({ name: 'test-tool', toolUseId: '123', input: { param: 'value' } })],
465
+ ['ToolUseBlock with reasoningSignature', () => new ToolUseBlock({ name: 'test-tool', toolUseId: '123', input: { param: 'value' }, reasoningSignature: 'sig123' })],
466
+ ['ToolResultBlock with text content', () => new ToolResultBlock({ toolUseId: '123', status: 'success', content: [new TextBlock('Result text')] })],
467
+ ['ToolResultBlock with json content', () => new ToolResultBlock({ toolUseId: '456', status: 'success', content: [new JsonBlock({ json: { result: 'data' } })] })],
468
+ ['ToolResultBlock with error status', () => new ToolResultBlock({ toolUseId: '789', status: 'error', content: [new TextBlock('Error message')] })],
469
+ ['ReasoningBlock with text only', () => new ReasoningBlock({ text: 'Thinking...' })],
470
+ ['ReasoningBlock with signature', () => new ReasoningBlock({ text: 'Thinking...', signature: 'sig123' })],
471
+ ['ReasoningBlock with redactedContent', () => new ReasoningBlock({ redactedContent: new Uint8Array([1, 2, 3]) })],
472
+ ['CachePointBlock', () => new CachePointBlock({ cacheType: 'default' })],
473
+ ['JsonBlock', () => new JsonBlock({ json: { key: 'value', nested: { a: 1 } } })],
474
+ ['GuardContentBlock with text', () => new GuardContentBlock({ text: { text: 'Guard this', qualifiers: ['guard_content'] } })],
475
+ ['GuardContentBlock with image', () => new GuardContentBlock({ image: { format: 'png', source: { bytes: new Uint8Array([1, 2, 3]) } } })],
476
+ ['Message with text content', () => new Message({ role: 'user', content: [new TextBlock('Hello')] })],
477
+ ['Message with multiple content blocks', () => new Message({ role: 'assistant', content: [new TextBlock('Here is the result'), new ToolUseBlock({ name: 'test-tool', toolUseId: '123', input: { key: 'value' } })] })],
478
+ ['Message with image content', () => new Message({ role: 'user', content: [new TextBlock('Check this image'), new ImageBlock({ format: 'png', source: { bytes: new Uint8Array([1, 2, 3]) } })] })],
479
+ ];
480
+ it.each(roundTripCases)('%s', (_name, createBlock) => {
481
+ const original = createBlock();
482
+ // Use duck-typing here
483
+ const BlockClass = original.constructor;
484
+ const restored = BlockClass.fromJSON(original.toJSON());
485
+ expect(restored).toEqual(original);
486
+ });
487
+ it('Message works with JSON.stringify', () => {
488
+ const original = new Message({ role: 'user', content: [new TextBlock('Test')] });
489
+ const jsonString = JSON.stringify(original);
490
+ const restored = Message.fromJSON(JSON.parse(jsonString));
491
+ expect(restored).toEqual(original);
492
+ });
493
+ });
494
+ describe('fromJSON with serialized (base64 string) input', () => {
495
+ it('ReasoningBlock.fromJSON accepts base64 string for redactedContent', () => {
496
+ const originalBytes = new Uint8Array([1, 2, 3, 4, 5]);
497
+ const base64String = encodeBase64(originalBytes);
498
+ const block = ReasoningBlock.fromJSON({
499
+ reasoning: { redactedContent: base64String },
500
+ });
501
+ expect(block.redactedContent).toEqual(originalBytes);
502
+ });
503
+ it('GuardContentBlock.fromJSON accepts base64 string for image bytes', () => {
504
+ const originalBytes = new Uint8Array([10, 20, 30]);
505
+ const base64String = encodeBase64(originalBytes);
506
+ const block = GuardContentBlock.fromJSON({
507
+ guardContent: {
508
+ image: { format: 'png', source: { bytes: base64String } },
509
+ },
510
+ });
511
+ expect(block.image?.source.bytes).toEqual(originalBytes);
512
+ });
513
+ });
514
+ describe('toJSON format', () => {
515
+ it('TextBlock returns unwrapped format', () => {
516
+ const block = new TextBlock('Test');
517
+ expect(block.toJSON()).toStrictEqual({ text: 'Test' });
518
+ });
519
+ it('JsonBlock returns unwrapped format', () => {
520
+ const block = new JsonBlock({ json: { test: true } });
521
+ expect(block.toJSON()).toStrictEqual({ json: { test: true } });
522
+ });
523
+ it('ToolUseBlock omits undefined reasoningSignature', () => {
524
+ const block = new ToolUseBlock({ name: 'test-tool', toolUseId: '123', input: {} });
525
+ expect('reasoningSignature' in block.toJSON().toolUse).toBe(false);
526
+ });
527
+ it('ToolResultBlock does not serialize error field', () => {
528
+ const block = new ToolResultBlock({
529
+ toolUseId: '123',
530
+ status: 'error',
531
+ content: [new TextBlock('Error')],
532
+ error: new Error('Test error'),
533
+ });
534
+ expect('error' in block.toJSON().toolResult).toBe(false);
535
+ });
536
+ it('ReasoningBlock encodes redactedContent as base64', () => {
537
+ const block = new ReasoningBlock({ redactedContent: new Uint8Array([1, 2, 3]) });
538
+ expect(typeof block.toJSON().reasoning.redactedContent).toBe('string');
539
+ });
540
+ it('ReasoningBlock omits undefined fields', () => {
541
+ const block = new ReasoningBlock({ text: 'Test' });
542
+ const json = block.toJSON();
543
+ expect('signature' in json.reasoning).toBe(false);
544
+ expect('redactedContent' in json.reasoning).toBe(false);
545
+ });
546
+ it('GuardContentBlock encodes image bytes as base64', () => {
547
+ const block = new GuardContentBlock({
548
+ image: { format: 'jpeg', source: { bytes: new Uint8Array([1, 2, 3]) } },
549
+ });
550
+ expect(typeof block.toJSON().guardContent.image?.source.bytes).toBe('string');
551
+ });
552
+ });
364
553
  //# sourceMappingURL=messages.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages.test.js","sourceRoot":"","sources":["../../../../src/types/__tests__/messages.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.test.js","sourceRoot":"","sources":["../../../../src/types/__tests__/messages.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import type { AgentState } from '../agent/state.js';
2
2
  import type { Message, StopReason } from './messages.js';
3
- import type { ModelStreamEvent } from '../models/streaming.js';
4
- import { ToolStreamEvent } from '../tools/tool.js';
5
- import type { ContentBlock } from './messages.js';
6
- import type { BeforeInvocationEvent, AfterInvocationEvent, BeforeModelCallEvent, AfterModelCallEvent, BeforeToolsEvent, AfterToolsEvent, BeforeToolCallEvent, AfterToolCallEvent, MessageAddedEvent, ModelStreamEventHook } from '../hooks/events.js';
3
+ import type { BeforeInvocationEvent, AfterInvocationEvent, BeforeModelCallEvent, AfterModelCallEvent, BeforeToolsEvent, AfterToolsEvent, BeforeToolCallEvent, AfterToolCallEvent, MessageAddedEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, ToolStreamUpdateEvent, AgentResultEvent } from '../hooks/events.js';
4
+ import type { z } from 'zod';
7
5
  /**
8
6
  * Interface for objects that provide agent state.
9
7
  * Allows ToolContext to work with different agent types.
@@ -31,9 +29,15 @@ export declare class AgentResult {
31
29
  * The last message added to the messages array.
32
30
  */
33
31
  readonly lastMessage: Message;
32
+ /**
33
+ * The validated structured output from the LLM, if a schema was provided.
34
+ * Type represents any validated Zod schema output.
35
+ */
36
+ readonly structuredOutput?: z.output<z.ZodType>;
34
37
  constructor(data: {
35
38
  stopReason: StopReason;
36
39
  lastMessage: Message;
40
+ structuredOutput?: z.output<z.ZodType>;
37
41
  });
38
42
  /**
39
43
  * Extracts and concatenates all text content from the last message.
@@ -50,8 +54,10 @@ export declare class AgentResult {
50
54
  * This is a discriminated union where each event has a unique type field,
51
55
  * allowing for type-safe event handling using switch statements.
52
56
  *
53
- * Note: All agent lifecycle events are Hook Event instances, providing
54
- * consistent structure with agent reference and extensibility features.
57
+ * Every member extends {@link HookableEvent} (which extends {@link StreamEvent}),
58
+ * making all events both streamable and subscribable via hook callbacks.
59
+ * Raw data objects from lower layers (model, tools) should be wrapped
60
+ * in a StreamEvent subclass at the agent boundary rather than added directly.
55
61
  */
56
- export type AgentStreamEvent = ModelStreamEvent | ContentBlock | ToolStreamEvent | BeforeInvocationEvent | AfterInvocationEvent | BeforeModelCallEvent | AfterModelCallEvent | BeforeToolsEvent | AfterToolsEvent | BeforeToolCallEvent | AfterToolCallEvent | MessageAddedEvent | ModelStreamEventHook | AgentResult;
62
+ export type AgentStreamEvent = ModelStreamUpdateEvent | ContentBlockEvent | ModelMessageEvent | ToolStreamUpdateEvent | ToolResultEvent | BeforeInvocationEvent | AfterInvocationEvent | BeforeModelCallEvent | AfterModelCallEvent | BeforeToolsEvent | AfterToolsEvent | BeforeToolCallEvent | AfterToolCallEvent | MessageAddedEvent | AgentResultEvent;
57
63
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAE3B;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAA;IAEjB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAS;IAEtC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;gBAEjB,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;IAKlE;;;;;OAKG;IACI,QAAQ,IAAI,MAAM;CAuB1B;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,YAAY,GACZ,eAAe,GACf,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,WAAW,CAAA"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,KAAK,EAAE,UAAU,CAAA;IAEjB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAS;IAEtC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAE7B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;gBAEnC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;KAAE;IAQ1G;;;;;OAKG;IACI,QAAQ,IAAI,MAAM;CAuB1B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,gBAAgB,GACxB,sBAAsB,GACtB,iBAAiB,GACjB,iBAAiB,GACjB,qBAAqB,GACrB,eAAe,GACf,qBAAqB,GACrB,oBAAoB,GACpB,oBAAoB,GACpB,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,CAAA"}