@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.
- package/README.md +43 -0
- package/dist/src/__fixtures__/mock-hook-provider.d.ts +3 -7
- package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +1 -1
- package/dist/src/__fixtures__/mock-hook-provider.js +3 -9
- package/dist/src/__fixtures__/mock-hook-provider.js.map +1 -1
- package/dist/src/__fixtures__/mock-message-model.d.ts +8 -2
- package/dist/src/__fixtures__/mock-message-model.d.ts.map +1 -1
- package/dist/src/__fixtures__/mock-message-model.js +1 -0
- package/dist/src/__fixtures__/mock-message-model.js.map +1 -1
- package/dist/src/__fixtures__/mock-storage-provider.d.ts +37 -0
- package/dist/src/__fixtures__/mock-storage-provider.d.ts.map +1 -0
- package/dist/src/__fixtures__/mock-storage-provider.js +105 -0
- package/dist/src/__fixtures__/mock-storage-provider.js.map +1 -0
- package/dist/src/__fixtures__/slim-types.d.ts +50 -0
- package/dist/src/__fixtures__/slim-types.d.ts.map +1 -0
- package/dist/src/__fixtures__/slim-types.js +6 -0
- package/dist/src/__fixtures__/slim-types.js.map +1 -0
- package/dist/src/__fixtures__/tool-helpers.d.ts +8 -3
- package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/tool-helpers.js +1 -1
- package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
- package/dist/src/agent/__tests__/agent.hook.test.js +18 -18
- package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.test.js +124 -8
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/printer.test.js +5 -9
- package/dist/src/agent/__tests__/printer.test.js.map +1 -1
- package/dist/src/agent/__tests__/snapshot.test.d.ts +2 -0
- package/dist/src/agent/__tests__/snapshot.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/snapshot.test.js +249 -0
- package/dist/src/agent/__tests__/snapshot.test.js.map +1 -0
- package/dist/src/agent/__tests__/state.test.js +19 -0
- package/dist/src/agent/__tests__/state.test.js.map +1 -1
- package/dist/src/agent/agent.d.ts +19 -4
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +104 -34
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/printer.d.ts +4 -0
- package/dist/src/agent/printer.d.ts.map +1 -1
- package/dist/src/agent/printer.js +18 -6
- package/dist/src/agent/printer.js.map +1 -1
- package/dist/src/agent/snapshot.d.ts +132 -0
- package/dist/src/agent/snapshot.d.ts.map +1 -0
- package/dist/src/agent/snapshot.js +151 -0
- package/dist/src/agent/snapshot.js.map +1 -0
- package/dist/src/agent/state.d.ts +14 -1
- package/dist/src/agent/state.d.ts.map +1 -1
- package/dist/src/agent/state.js +21 -0
- package/dist/src/agent/state.js.map +1 -1
- package/dist/src/errors.d.ts +15 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +18 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/hooks/__tests__/events.test.js +102 -21
- package/dist/src/hooks/__tests__/events.test.js.map +1 -1
- package/dist/src/hooks/events.d.ts +156 -22
- package/dist/src/hooks/events.d.ts.map +1 -1
- package/dist/src/hooks/events.js +158 -18
- package/dist/src/hooks/events.js.map +1 -1
- package/dist/src/hooks/index.d.ts +12 -4
- package/dist/src/hooks/index.d.ts.map +1 -1
- package/dist/src/hooks/index.js +11 -3
- package/dist/src/hooks/index.js.map +1 -1
- package/dist/src/hooks/registry.d.ts +5 -5
- package/dist/src/hooks/registry.d.ts.map +1 -1
- package/dist/src/hooks/registry.js.map +1 -1
- package/dist/src/hooks/types.d.ts +5 -5
- package/dist/src/hooks/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/__tests__/anthropic.test.js +31 -42
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +70 -107
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/__tests__/gemini.test.js +438 -141
- package/dist/src/models/__tests__/gemini.test.js.map +1 -1
- package/dist/src/models/__tests__/model.test.js +14 -13
- package/dist/src/models/__tests__/model.test.js.map +1 -1
- package/dist/src/models/__tests__/openai.test.js +73 -83
- package/dist/src/models/__tests__/openai.test.js.map +1 -1
- package/dist/src/models/gemini/adapters.d.ts +2 -1
- package/dist/src/models/gemini/adapters.d.ts.map +1 -1
- package/dist/src/models/gemini/adapters.js +97 -10
- package/dist/src/models/gemini/adapters.js.map +1 -1
- package/dist/src/models/gemini/model.d.ts.map +1 -1
- package/dist/src/models/gemini/model.js +37 -1
- package/dist/src/models/gemini/model.js.map +1 -1
- package/dist/src/models/gemini/types.d.ts +9 -1
- package/dist/src/models/gemini/types.d.ts.map +1 -1
- package/dist/src/models/model.d.ts.map +1 -1
- package/dist/src/models/model.js +4 -0
- package/dist/src/models/model.js.map +1 -1
- package/dist/src/models/streaming.d.ts +13 -0
- package/dist/src/models/streaming.d.ts.map +1 -1
- package/dist/src/models/streaming.js +17 -0
- package/dist/src/models/streaming.js.map +1 -1
- package/dist/src/multiagent/__tests__/nodes.test.d.ts +2 -0
- package/dist/src/multiagent/__tests__/nodes.test.d.ts.map +1 -0
- package/dist/src/multiagent/__tests__/nodes.test.js +98 -0
- package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -0
- package/dist/src/multiagent/events.d.ts +24 -0
- package/dist/src/multiagent/events.d.ts.map +1 -0
- package/dist/src/multiagent/events.js +19 -0
- package/dist/src/multiagent/events.js.map +1 -0
- package/dist/src/multiagent/index.d.ts +11 -0
- package/dist/src/multiagent/index.d.ts.map +1 -0
- package/dist/src/multiagent/index.js +7 -0
- package/dist/src/multiagent/index.js.map +1 -0
- package/dist/src/multiagent/nodes.d.ts +75 -0
- package/dist/src/multiagent/nodes.d.ts.map +1 -0
- package/dist/src/multiagent/nodes.js +101 -0
- package/dist/src/multiagent/nodes.js.map +1 -0
- package/dist/src/multiagent/state.d.ts +55 -0
- package/dist/src/multiagent/state.d.ts.map +1 -0
- package/dist/src/multiagent/state.js +43 -0
- package/dist/src/multiagent/state.js.map +1 -0
- package/dist/src/multiagent/types.d.ts +5 -0
- package/dist/src/multiagent/types.d.ts.map +1 -0
- package/dist/src/multiagent/types.js +2 -0
- package/dist/src/multiagent/types.js.map +1 -0
- package/dist/src/registry/tool-registry.d.ts +2 -1
- package/dist/src/registry/tool-registry.d.ts.map +1 -1
- package/dist/src/registry/tool-registry.js +4 -2
- package/dist/src/registry/tool-registry.js.map +1 -1
- package/dist/src/session/__tests__/file-storage.test.node.d.ts +2 -0
- package/dist/src/session/__tests__/file-storage.test.node.d.ts.map +1 -0
- package/dist/src/session/__tests__/file-storage.test.node.js +218 -0
- package/dist/src/session/__tests__/file-storage.test.node.js.map +1 -0
- package/dist/src/session/__tests__/s3-storage.test.node.d.ts +2 -0
- package/dist/src/session/__tests__/s3-storage.test.node.d.ts.map +1 -0
- package/dist/src/session/__tests__/s3-storage.test.node.js +375 -0
- package/dist/src/session/__tests__/s3-storage.test.node.js.map +1 -0
- package/dist/src/session/__tests__/validation.test.d.ts +2 -0
- package/dist/src/session/__tests__/validation.test.d.ts.map +1 -0
- package/dist/src/session/__tests__/validation.test.js +20 -0
- package/dist/src/session/__tests__/validation.test.js.map +1 -0
- package/dist/src/session/file-storage.d.ts +79 -0
- package/dist/src/session/file-storage.d.ts.map +1 -0
- package/dist/src/session/file-storage.js +144 -0
- package/dist/src/session/file-storage.js.map +1 -0
- package/dist/src/session/index.d.ts +19 -0
- package/dist/src/session/index.d.ts.map +1 -0
- package/dist/src/session/index.js +18 -0
- package/dist/src/session/index.js.map +1 -0
- package/dist/src/session/s3-storage.d.ts +93 -0
- package/dist/src/session/s3-storage.d.ts.map +1 -0
- package/dist/src/session/s3-storage.js +150 -0
- package/dist/src/session/s3-storage.js.map +1 -0
- package/dist/src/session/storage.d.ts +91 -0
- package/dist/src/session/storage.d.ts.map +1 -0
- package/dist/src/session/storage.js +2 -0
- package/dist/src/session/storage.js.map +1 -0
- package/dist/src/session/types.d.ts +49 -0
- package/dist/src/session/types.d.ts.map +1 -0
- package/dist/src/session/types.js +2 -0
- package/dist/src/session/types.js.map +1 -0
- package/dist/src/session/validation.d.ts +10 -0
- package/dist/src/session/validation.d.ts.map +1 -0
- package/dist/src/session/validation.js +16 -0
- package/dist/src/session/validation.js.map +1 -0
- package/dist/src/structured-output/__tests__/context.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/context.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/context.test.js +201 -0
- package/dist/src/structured-output/__tests__/context.test.js.map +1 -0
- package/dist/src/structured-output/__tests__/exceptions.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/exceptions.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/exceptions.test.js +103 -0
- package/dist/src/structured-output/__tests__/exceptions.test.js.map +1 -0
- package/dist/src/structured-output/__tests__/tool.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/tool.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/tool.test.js +256 -0
- package/dist/src/structured-output/__tests__/tool.test.js.map +1 -0
- package/dist/src/structured-output/__tests__/utils.test.d.ts +2 -0
- package/dist/src/structured-output/__tests__/utils.test.d.ts.map +1 -0
- package/dist/src/structured-output/__tests__/utils.test.js +183 -0
- package/dist/src/structured-output/__tests__/utils.test.js.map +1 -0
- package/dist/src/structured-output/context.d.ts +91 -0
- package/dist/src/structured-output/context.d.ts.map +1 -0
- package/dist/src/structured-output/context.js +112 -0
- package/dist/src/structured-output/context.js.map +1 -0
- package/dist/src/structured-output/exceptions.d.ts +18 -0
- package/dist/src/structured-output/exceptions.d.ts.map +1 -0
- package/dist/src/structured-output/exceptions.js +28 -0
- package/dist/src/structured-output/exceptions.js.map +1 -0
- package/dist/src/structured-output/tool.d.ts +33 -0
- package/dist/src/structured-output/tool.d.ts.map +1 -0
- package/dist/src/structured-output/tool.js +73 -0
- package/dist/src/structured-output/tool.js.map +1 -0
- package/dist/src/structured-output/utils.d.ts +23 -0
- package/dist/src/structured-output/utils.d.ts.map +1 -0
- package/dist/src/structured-output/utils.js +104 -0
- package/dist/src/structured-output/utils.js.map +1 -0
- package/dist/src/tools/zod-tool.d.ts.map +1 -1
- package/dist/src/tools/zod-tool.js +2 -5
- package/dist/src/tools/zod-tool.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/__tests__/media.test.js +216 -1
- package/dist/src/types/__tests__/media.test.js.map +1 -1
- package/dist/src/types/__tests__/messages.test.js +193 -4
- package/dist/src/types/__tests__/messages.test.js.map +1 -1
- package/dist/src/types/agent.d.ts +13 -7
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js +8 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/json.d.ts +61 -0
- package/dist/src/types/json.d.ts.map +1 -1
- package/dist/src/types/json.js +24 -0
- package/dist/src/types/json.js.map +1 -1
- package/dist/src/types/media.d.ts +84 -4
- package/dist/src/types/media.d.ts.map +1 -1
- package/dist/src/types/media.js +194 -0
- package/dist/src/types/media.js.map +1 -1
- package/dist/src/types/messages.d.ts +158 -9
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js +242 -7
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/types/serializable.d.ts +31 -0
- package/dist/src/types/serializable.d.ts.map +1 -0
- package/dist/src/types/serializable.js +19 -0
- package/dist/src/types/serializable.js.map +1 -0
- package/dist/src/utils/zod.d.ts +11 -0
- package/dist/src/utils/zod.d.ts.map +1 -0
- package/dist/src/utils/zod.js +14 -0
- package/dist/src/utils/zod.js.map +1 -0
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts +2 -0
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts.map +1 -0
- package/dist/src/vended-tools/bash/__tests__/{bash.test.js → bash.test.node.js} +3 -4
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -0
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts +2 -0
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +1 -0
- package/dist/src/vended-tools/file_editor/__tests__/{file-editor.test.js → file-editor.test.node.js} +1 -1
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +1 -0
- package/package.json +7 -2
- package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts +0 -2
- package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts.map +0 -1
- package/dist/src/vended-tools/bash/__tests__/bash.test.js.map +0 -1
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts +0 -2
- package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts.map +0 -1
- 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":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;
|
|
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 {
|
|
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
|
|
509
|
+
return ReasoningBlock.fromJSON(data);
|
|
275
510
|
}
|
|
276
511
|
else if ('cachePoint' in data) {
|
|
277
|
-
return
|
|
512
|
+
return CachePointBlock.fromJSON(data);
|
|
278
513
|
}
|
|
279
514
|
else if ('guardContent' in data) {
|
|
280
|
-
return
|
|
515
|
+
return GuardContentBlock.fromJSON(data);
|
|
281
516
|
}
|
|
282
517
|
else if ('image' in data) {
|
|
283
|
-
return
|
|
518
|
+
return ImageBlock.fromJSON(data);
|
|
284
519
|
}
|
|
285
520
|
else if ('video' in data) {
|
|
286
|
-
return
|
|
521
|
+
return VideoBlock.fromJSON(data);
|
|
287
522
|
}
|
|
288
523
|
else if ('document' in data) {
|
|
289
|
-
return
|
|
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":"
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"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"}
|