@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,4 +1,4 @@
1
- import type { JSONValue } from './json.js';
1
+ import type { JSONValue, Serialized, MaybeSerializedInput, JSONSerializable } from './json.js';
2
2
  import type { ImageBlockData, VideoBlockData, DocumentBlockData } from './media.js';
3
3
  import { ImageBlock, VideoBlock, DocumentBlock } from './media.js';
4
4
  /**
@@ -25,7 +25,7 @@ export interface MessageData {
25
25
  * A message in a conversation between user and assistant.
26
26
  * Each message has a role (user or assistant) and an array of content blocks.
27
27
  */
28
- export declare class Message {
28
+ export declare class Message implements JSONSerializable<MessageData> {
29
29
  /**
30
30
  * Discriminator for message type.
31
31
  */
@@ -46,6 +46,19 @@ export declare class Message {
46
46
  * Creates a Message instance from MessageData.
47
47
  */
48
48
  static fromMessageData(data: MessageData): Message;
49
+ /**
50
+ * Serializes the Message to a JSON-compatible MessageData object.
51
+ * Called automatically by JSON.stringify().
52
+ */
53
+ toJSON(): MessageData;
54
+ /**
55
+ * Creates a Message instance from MessageData.
56
+ * Alias for fromMessageData for API consistency.
57
+ *
58
+ * @param data - MessageData to deserialize
59
+ * @returns Message instance
60
+ */
61
+ static fromJSON(data: MessageData): Message;
49
62
  }
50
63
  /**
51
64
  * Role of a message in a conversation.
@@ -95,7 +108,7 @@ export interface TextBlockData {
95
108
  /**
96
109
  * Text content block within a message.
97
110
  */
98
- export declare class TextBlock implements TextBlockData {
111
+ export declare class TextBlock implements TextBlockData, JSONSerializable<TextBlockData> {
99
112
  /**
100
113
  * Discriminator for text content.
101
114
  */
@@ -105,6 +118,18 @@ export declare class TextBlock implements TextBlockData {
105
118
  */
106
119
  readonly text: string;
107
120
  constructor(data: string);
121
+ /**
122
+ * Serializes the TextBlock to a JSON-compatible TextBlockData object.
123
+ * Called automatically by JSON.stringify().
124
+ */
125
+ toJSON(): TextBlockData;
126
+ /**
127
+ * Creates a TextBlock instance from TextBlockData.
128
+ *
129
+ * @param data - TextBlockData to deserialize
130
+ * @returns TextBlock instance
131
+ */
132
+ static fromJSON(data: TextBlockData): TextBlock;
108
133
  }
109
134
  /**
110
135
  * Data for a tool use block.
@@ -123,11 +148,18 @@ export interface ToolUseBlockData {
123
148
  * This can be any JSON-serializable value.
124
149
  */
125
150
  input: JSONValue;
151
+ /**
152
+ * Reasoning signature from thinking models (e.g., Gemini).
153
+ * Must be preserved and sent back to the model for multi-turn tool use.
154
+ */
155
+ reasoningSignature?: string;
126
156
  }
127
157
  /**
128
158
  * Tool use content block.
129
159
  */
130
- export declare class ToolUseBlock implements ToolUseBlockData {
160
+ export declare class ToolUseBlock implements ToolUseBlockData, JSONSerializable<{
161
+ toolUse: ToolUseBlockData;
162
+ }> {
131
163
  /**
132
164
  * Discriminator for tool use content.
133
165
  */
@@ -145,7 +177,28 @@ export declare class ToolUseBlock implements ToolUseBlockData {
145
177
  * This can be any JSON-serializable value.
146
178
  */
147
179
  readonly input: JSONValue;
180
+ /**
181
+ * Reasoning signature from thinking models (e.g., Gemini).
182
+ * Must be preserved and sent back to the model for multi-turn tool use.
183
+ */
184
+ readonly reasoningSignature?: string;
148
185
  constructor(data: ToolUseBlockData);
186
+ /**
187
+ * Serializes the ToolUseBlock to a JSON-compatible ContentBlockData object.
188
+ * Called automatically by JSON.stringify().
189
+ */
190
+ toJSON(): {
191
+ toolUse: ToolUseBlockData;
192
+ };
193
+ /**
194
+ * Creates a ToolUseBlock instance from its wrapped data format.
195
+ *
196
+ * @param data - Wrapped ToolUseBlockData to deserialize
197
+ * @returns ToolUseBlock instance
198
+ */
199
+ static fromJSON(data: {
200
+ toolUse: ToolUseBlockData;
201
+ }): ToolUseBlock;
149
202
  }
150
203
  /**
151
204
  * Content within a tool result.
@@ -181,7 +234,9 @@ export interface ToolResultBlockData {
181
234
  /**
182
235
  * Tool result content block.
183
236
  */
184
- export declare class ToolResultBlock implements ToolResultBlockData {
237
+ export declare class ToolResultBlock implements ToolResultBlockData, JSONSerializable<{
238
+ toolResult: ToolResultBlockData;
239
+ }> {
185
240
  /**
186
241
  * Discriminator for tool result content.
187
242
  */
@@ -210,6 +265,23 @@ export declare class ToolResultBlock implements ToolResultBlockData {
210
265
  content: ToolResultContent[];
211
266
  error?: Error;
212
267
  });
268
+ /**
269
+ * Serializes the ToolResultBlock to a JSON-compatible ContentBlockData object.
270
+ * Called automatically by JSON.stringify().
271
+ * Note: The error field is not serialized (deferred for future implementation).
272
+ */
273
+ toJSON(): {
274
+ toolResult: ToolResultBlockData;
275
+ };
276
+ /**
277
+ * Creates a ToolResultBlock instance from its wrapped data format.
278
+ *
279
+ * @param data - Wrapped ToolResultBlockData to deserialize
280
+ * @returns ToolResultBlock instance
281
+ */
282
+ static fromJSON(data: {
283
+ toolResult: ToolResultBlockData;
284
+ }): ToolResultBlock;
213
285
  }
214
286
  /**
215
287
  * Data for a reasoning block.
@@ -231,7 +303,9 @@ export interface ReasoningBlockData {
231
303
  /**
232
304
  * Reasoning content block within a message.
233
305
  */
234
- export declare class ReasoningBlock implements ReasoningBlockData {
306
+ export declare class ReasoningBlock implements ReasoningBlockData, JSONSerializable<{
307
+ reasoning: Serialized<ReasoningBlockData>;
308
+ }> {
235
309
  /**
236
310
  * Discriminator for reasoning content.
237
311
  */
@@ -249,6 +323,24 @@ export declare class ReasoningBlock implements ReasoningBlockData {
249
323
  */
250
324
  readonly redactedContent?: Uint8Array;
251
325
  constructor(data: ReasoningBlockData);
326
+ /**
327
+ * Serializes the ReasoningBlock to a JSON-compatible ContentBlockData object.
328
+ * Called automatically by JSON.stringify().
329
+ * Uint8Array redactedContent is encoded as base64 string.
330
+ */
331
+ toJSON(): {
332
+ reasoning: Serialized<ReasoningBlockData>;
333
+ };
334
+ /**
335
+ * Creates a ReasoningBlock instance from its wrapped data format.
336
+ * Base64-encoded redactedContent is decoded back to Uint8Array.
337
+ *
338
+ * @param data - Wrapped ReasoningBlockData to deserialize (accepts both string and Uint8Array for redactedContent)
339
+ * @returns ReasoningBlock instance
340
+ */
341
+ static fromJSON(data: {
342
+ reasoning: MaybeSerializedInput<ReasoningBlockData>;
343
+ }): ReasoningBlock;
252
344
  }
253
345
  /**
254
346
  * Data for a cache point block.
@@ -263,7 +355,9 @@ export interface CachePointBlockData {
263
355
  * Cache point block for prompt caching.
264
356
  * Marks a position in a message or system prompt where caching should occur.
265
357
  */
266
- export declare class CachePointBlock implements CachePointBlockData {
358
+ export declare class CachePointBlock implements CachePointBlockData, JSONSerializable<{
359
+ cachePoint: CachePointBlockData;
360
+ }> {
267
361
  /**
268
362
  * Discriminator for cache point.
269
363
  */
@@ -273,6 +367,22 @@ export declare class CachePointBlock implements CachePointBlockData {
273
367
  */
274
368
  readonly cacheType: 'default';
275
369
  constructor(data: CachePointBlockData);
370
+ /**
371
+ * Serializes the CachePointBlock to a JSON-compatible ContentBlockData object.
372
+ * Called automatically by JSON.stringify().
373
+ */
374
+ toJSON(): {
375
+ cachePoint: CachePointBlockData;
376
+ };
377
+ /**
378
+ * Creates a CachePointBlock instance from its wrapped data format.
379
+ *
380
+ * @param data - Wrapped CachePointBlockData to deserialize
381
+ * @returns CachePointBlock instance
382
+ */
383
+ static fromJSON(data: {
384
+ cachePoint: CachePointBlockData;
385
+ }): CachePointBlock;
276
386
  }
277
387
  /**
278
388
  * Data for a JSON block.
@@ -287,7 +397,7 @@ export interface JsonBlockData {
287
397
  * JSON content block within a message.
288
398
  * Used for structured data returned from tools or model responses.
289
399
  */
290
- export declare class JsonBlock implements JsonBlockData {
400
+ export declare class JsonBlock implements JsonBlockData, JSONSerializable<JsonBlockData> {
291
401
  /**
292
402
  * Discriminator for JSON content.
293
403
  */
@@ -297,6 +407,18 @@ export declare class JsonBlock implements JsonBlockData {
297
407
  */
298
408
  readonly json: JSONValue;
299
409
  constructor(data: JsonBlockData);
410
+ /**
411
+ * Serializes the JsonBlock to a JSON-compatible JsonBlockData object.
412
+ * Called automatically by JSON.stringify().
413
+ */
414
+ toJSON(): JsonBlockData;
415
+ /**
416
+ * Creates a JsonBlock instance from JsonBlockData.
417
+ *
418
+ * @param data - JsonBlockData to deserialize
419
+ * @returns JsonBlock instance
420
+ */
421
+ static fromJSON(data: JsonBlockData): JsonBlock;
300
422
  }
301
423
  /**
302
424
  * Reason why the model stopped generating content.
@@ -343,6 +465,13 @@ export type SystemPromptData = string | SystemContentBlockData[];
343
465
  * @returns SystemPrompt with class-based content blocks
344
466
  */
345
467
  export declare function systemPromptFromData(data: SystemPromptData | SystemPrompt): SystemPrompt;
468
+ /**
469
+ * Converts a SystemPrompt to its data representation for serialization.
470
+ *
471
+ * @param prompt - System prompt to convert (string or content block array)
472
+ * @returns SystemPromptData suitable for JSON serialization
473
+ */
474
+ export declare function systemPromptToData(prompt: SystemPrompt): SystemPromptData;
346
475
  /**
347
476
  * A block of content within a system prompt.
348
477
  * Supports text content, cache points, and guard content for prompt caching and guardrail evaluation.
@@ -421,7 +550,9 @@ export interface GuardContentBlockData {
421
550
  * Marks content that should be evaluated by guardrails for safety, grounding, or other policies.
422
551
  * Can be used in both message content and system prompts.
423
552
  */
424
- export declare class GuardContentBlock implements GuardContentBlockData {
553
+ export declare class GuardContentBlock implements GuardContentBlockData, JSONSerializable<{
554
+ guardContent: Serialized<GuardContentBlockData>;
555
+ }> {
425
556
  /**
426
557
  * Discriminator for guard content.
427
558
  */
@@ -435,6 +566,24 @@ export declare class GuardContentBlock implements GuardContentBlockData {
435
566
  */
436
567
  readonly image?: GuardContentImage;
437
568
  constructor(data: GuardContentBlockData);
569
+ /**
570
+ * Serializes the GuardContentBlock to a JSON-compatible ContentBlockData object.
571
+ * Called automatically by JSON.stringify().
572
+ * Uint8Array image bytes are encoded as base64 string.
573
+ */
574
+ toJSON(): {
575
+ guardContent: Serialized<GuardContentBlockData>;
576
+ };
577
+ /**
578
+ * Creates a GuardContentBlock instance from its wrapped data format.
579
+ * Base64-encoded image bytes are decoded back to Uint8Array.
580
+ *
581
+ * @param data - Wrapped GuardContentBlockData to deserialize (accepts both string and Uint8Array for image bytes)
582
+ * @returns GuardContentBlock instance
583
+ */
584
+ static fromJSON(data: {
585
+ guardContent: MaybeSerializedInput<GuardContentBlockData>;
586
+ }): GuardContentBlock;
438
587
  }
439
588
  /**
440
589
  * Converts ContentBlockData to a ContentBlock instance.
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { ImageBlock, VideoBlock, DocumentBlock } from './media.js';
1
+ import { omitUndefined } from './json.js';
2
+ import { ImageBlock, VideoBlock, DocumentBlock, encodeBase64, decodeBase64 } from './media.js';
2
3
  /**
3
4
  * A message in a conversation between user and assistant.
4
5
  * Each message has a role (user or assistant) and an array of content blocks.
@@ -30,6 +31,26 @@ export class Message {
30
31
  content: contentBlocks,
31
32
  });
32
33
  }
34
+ /**
35
+ * Serializes the Message to a JSON-compatible MessageData object.
36
+ * Called automatically by JSON.stringify().
37
+ */
38
+ toJSON() {
39
+ return {
40
+ role: this.role,
41
+ content: this.content.map((block) => block.toJSON()),
42
+ };
43
+ }
44
+ /**
45
+ * Creates a Message instance from MessageData.
46
+ * Alias for fromMessageData for API consistency.
47
+ *
48
+ * @param data - MessageData to deserialize
49
+ * @returns Message instance
50
+ */
51
+ static fromJSON(data) {
52
+ return Message.fromMessageData(data);
53
+ }
33
54
  }
34
55
  /**
35
56
  * Text content block within a message.
@@ -46,6 +67,22 @@ export class TextBlock {
46
67
  constructor(data) {
47
68
  this.text = data;
48
69
  }
70
+ /**
71
+ * Serializes the TextBlock to a JSON-compatible TextBlockData object.
72
+ * Called automatically by JSON.stringify().
73
+ */
74
+ toJSON() {
75
+ return { text: this.text };
76
+ }
77
+ /**
78
+ * Creates a TextBlock instance from TextBlockData.
79
+ *
80
+ * @param data - TextBlockData to deserialize
81
+ * @returns TextBlock instance
82
+ */
83
+ static fromJSON(data) {
84
+ return new TextBlock(data.text);
85
+ }
49
86
  }
50
87
  /**
51
88
  * Tool use content block.
@@ -68,10 +105,41 @@ export class ToolUseBlock {
68
105
  * This can be any JSON-serializable value.
69
106
  */
70
107
  input;
108
+ /**
109
+ * Reasoning signature from thinking models (e.g., Gemini).
110
+ * Must be preserved and sent back to the model for multi-turn tool use.
111
+ */
112
+ reasoningSignature;
71
113
  constructor(data) {
72
114
  this.name = data.name;
73
115
  this.toolUseId = data.toolUseId;
74
116
  this.input = data.input;
117
+ if (data.reasoningSignature !== undefined) {
118
+ this.reasoningSignature = data.reasoningSignature;
119
+ }
120
+ }
121
+ /**
122
+ * Serializes the ToolUseBlock to a JSON-compatible ContentBlockData object.
123
+ * Called automatically by JSON.stringify().
124
+ */
125
+ toJSON() {
126
+ return {
127
+ toolUse: omitUndefined({
128
+ name: this.name,
129
+ toolUseId: this.toolUseId,
130
+ input: this.input,
131
+ reasoningSignature: this.reasoningSignature,
132
+ }),
133
+ };
134
+ }
135
+ /**
136
+ * Creates a ToolUseBlock instance from its wrapped data format.
137
+ *
138
+ * @param data - Wrapped ToolUseBlockData to deserialize
139
+ * @returns ToolUseBlock instance
140
+ */
141
+ static fromJSON(data) {
142
+ return new ToolUseBlock(data.toolUse);
75
143
  }
76
144
  }
77
145
  /**
@@ -108,6 +176,44 @@ export class ToolResultBlock {
108
176
  this.error = data.error;
109
177
  }
110
178
  }
179
+ /**
180
+ * Serializes the ToolResultBlock to a JSON-compatible ContentBlockData object.
181
+ * Called automatically by JSON.stringify().
182
+ * Note: The error field is not serialized (deferred for future implementation).
183
+ */
184
+ toJSON() {
185
+ return {
186
+ toolResult: {
187
+ toolUseId: this.toolUseId,
188
+ status: this.status,
189
+ content: this.content.map((block) => block.toJSON()),
190
+ },
191
+ };
192
+ }
193
+ /**
194
+ * Creates a ToolResultBlock instance from its wrapped data format.
195
+ *
196
+ * @param data - Wrapped ToolResultBlockData to deserialize
197
+ * @returns ToolResultBlock instance
198
+ */
199
+ static fromJSON(data) {
200
+ const content = data.toolResult.content.map((contentItem) => {
201
+ if ('text' in contentItem) {
202
+ return new TextBlock(contentItem.text);
203
+ }
204
+ else if ('json' in contentItem) {
205
+ return new JsonBlock(contentItem);
206
+ }
207
+ else {
208
+ throw new Error('Unknown ToolResultContentData type');
209
+ }
210
+ });
211
+ return new ToolResultBlock({
212
+ toolUseId: data.toolResult.toolUseId,
213
+ status: data.toolResult.status,
214
+ content,
215
+ });
216
+ }
111
217
  }
112
218
  /**
113
219
  * Reasoning content block within a message.
@@ -140,6 +246,44 @@ export class ReasoningBlock {
140
246
  this.redactedContent = data.redactedContent;
141
247
  }
142
248
  }
249
+ /**
250
+ * Serializes the ReasoningBlock to a JSON-compatible ContentBlockData object.
251
+ * Called automatically by JSON.stringify().
252
+ * Uint8Array redactedContent is encoded as base64 string.
253
+ */
254
+ toJSON() {
255
+ return {
256
+ reasoning: omitUndefined({
257
+ text: this.text,
258
+ signature: this.signature,
259
+ redactedContent: this.redactedContent ? encodeBase64(this.redactedContent) : undefined,
260
+ }),
261
+ };
262
+ }
263
+ /**
264
+ * Creates a ReasoningBlock instance from its wrapped data format.
265
+ * Base64-encoded redactedContent is decoded back to Uint8Array.
266
+ *
267
+ * @param data - Wrapped ReasoningBlockData to deserialize (accepts both string and Uint8Array for redactedContent)
268
+ * @returns ReasoningBlock instance
269
+ */
270
+ static fromJSON(data) {
271
+ const reasoning = data.reasoning;
272
+ const result = {};
273
+ if (reasoning.text !== undefined) {
274
+ result.text = reasoning.text;
275
+ }
276
+ if (reasoning.signature !== undefined) {
277
+ result.signature = reasoning.signature;
278
+ }
279
+ if (reasoning.redactedContent !== undefined) {
280
+ result.redactedContent =
281
+ typeof reasoning.redactedContent === 'string'
282
+ ? decodeBase64(reasoning.redactedContent)
283
+ : reasoning.redactedContent;
284
+ }
285
+ return new ReasoningBlock(result);
286
+ }
143
287
  }
144
288
  /**
145
289
  * Cache point block for prompt caching.
@@ -157,6 +301,26 @@ export class CachePointBlock {
157
301
  constructor(data) {
158
302
  this.cacheType = data.cacheType;
159
303
  }
304
+ /**
305
+ * Serializes the CachePointBlock to a JSON-compatible ContentBlockData object.
306
+ * Called automatically by JSON.stringify().
307
+ */
308
+ toJSON() {
309
+ return {
310
+ cachePoint: {
311
+ cacheType: this.cacheType,
312
+ },
313
+ };
314
+ }
315
+ /**
316
+ * Creates a CachePointBlock instance from its wrapped data format.
317
+ *
318
+ * @param data - Wrapped CachePointBlockData to deserialize
319
+ * @returns CachePointBlock instance
320
+ */
321
+ static fromJSON(data) {
322
+ return new CachePointBlock(data.cachePoint);
323
+ }
160
324
  }
161
325
  /**
162
326
  * JSON content block within a message.
@@ -174,6 +338,22 @@ export class JsonBlock {
174
338
  constructor(data) {
175
339
  this.json = data.json;
176
340
  }
341
+ /**
342
+ * Serializes the JsonBlock to a JSON-compatible JsonBlockData object.
343
+ * Called automatically by JSON.stringify().
344
+ */
345
+ toJSON() {
346
+ return { json: this.json };
347
+ }
348
+ /**
349
+ * Creates a JsonBlock instance from JsonBlockData.
350
+ *
351
+ * @param data - JsonBlockData to deserialize
352
+ * @returns JsonBlock instance
353
+ */
354
+ static fromJSON(data) {
355
+ return new JsonBlock(data);
356
+ }
177
357
  }
178
358
  /**
179
359
  * Converts SystemPromptData to SystemPrompt by converting data blocks to class instances.
@@ -205,6 +385,19 @@ export function systemPromptFromData(data) {
205
385
  }
206
386
  });
207
387
  }
388
+ /**
389
+ * Converts a SystemPrompt to its data representation for serialization.
390
+ *
391
+ * @param prompt - System prompt to convert (string or content block array)
392
+ * @returns SystemPromptData suitable for JSON serialization
393
+ */
394
+ export function systemPromptToData(prompt) {
395
+ if (typeof prompt === 'string') {
396
+ return prompt;
397
+ }
398
+ // Convert content blocks to their data representation
399
+ return prompt.map((block) => block.toJSON());
400
+ }
208
401
  /**
209
402
  * Guard content block for guardrail evaluation.
210
403
  * Marks content that should be evaluated by guardrails for safety, grounding, or other policies.
@@ -237,6 +430,48 @@ export class GuardContentBlock {
237
430
  this.image = data.image;
238
431
  }
239
432
  }
433
+ /**
434
+ * Serializes the GuardContentBlock to a JSON-compatible ContentBlockData object.
435
+ * Called automatically by JSON.stringify().
436
+ * Uint8Array image bytes are encoded as base64 string.
437
+ */
438
+ toJSON() {
439
+ const data = {};
440
+ if (this.text) {
441
+ data.text = this.text;
442
+ }
443
+ if (this.image) {
444
+ data.image = {
445
+ format: this.image.format,
446
+ source: { bytes: encodeBase64(this.image.source.bytes) },
447
+ };
448
+ }
449
+ return { guardContent: data };
450
+ }
451
+ /**
452
+ * Creates a GuardContentBlock instance from its wrapped data format.
453
+ * Base64-encoded image bytes are decoded back to Uint8Array.
454
+ *
455
+ * @param data - Wrapped GuardContentBlockData to deserialize (accepts both string and Uint8Array for image bytes)
456
+ * @returns GuardContentBlock instance
457
+ */
458
+ static fromJSON(data) {
459
+ const guardContent = data.guardContent;
460
+ const result = {};
461
+ if (guardContent.text) {
462
+ result.text = guardContent.text;
463
+ }
464
+ if (guardContent.image) {
465
+ const bytes = guardContent.image.source.bytes;
466
+ result.image = {
467
+ format: guardContent.image.format,
468
+ source: {
469
+ bytes: typeof bytes === 'string' ? decodeBase64(bytes) : bytes,
470
+ },
471
+ };
472
+ }
473
+ return new GuardContentBlock(result);
474
+ }
240
475
  }
241
476
  /**
242
477
  * Converts ContentBlockData to a ContentBlock instance.
@@ -271,22 +506,22 @@ export function contentBlockFromData(data) {
271
506
  });
272
507
  }
273
508
  else if ('reasoning' in data) {
274
- return new ReasoningBlock(data.reasoning);
509
+ return ReasoningBlock.fromJSON(data);
275
510
  }
276
511
  else if ('cachePoint' in data) {
277
- return new CachePointBlock(data.cachePoint);
512
+ return CachePointBlock.fromJSON(data);
278
513
  }
279
514
  else if ('guardContent' in data) {
280
- return new GuardContentBlock(data.guardContent);
515
+ return GuardContentBlock.fromJSON(data);
281
516
  }
282
517
  else if ('image' in data) {
283
- return new ImageBlock(data.image);
518
+ return ImageBlock.fromJSON(data);
284
519
  }
285
520
  else if ('video' in data) {
286
- return new VideoBlock(data.video);
521
+ return VideoBlock.fromJSON(data);
287
522
  }
288
523
  else if ('document' in data) {
289
- return new DocumentBlock(data.document);
524
+ return DocumentBlock.fromJSON(data);
290
525
  }
291
526
  else {
292
527
  throw new Error('Unknown ContentBlockData type');
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"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"}