@assistant-ui/react-ag-ui 0.0.25 → 0.0.27
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/dist/runtime/adapter/conversions.d.ts +9 -2
- package/dist/runtime/adapter/conversions.d.ts.map +1 -1
- package/dist/runtime/adapter/conversions.js +138 -25
- package/dist/runtime/adapter/conversions.js.map +1 -1
- package/dist/runtime/adapter/subscriber.js +2 -2
- package/dist/runtime/adapter/subscriber.js.map +1 -1
- package/dist/runtime/event-parser.d.ts.map +1 -1
- package/dist/runtime/event-parser.js +9 -13
- package/dist/runtime/event-parser.js.map +1 -1
- package/package.json +7 -7
- package/src/runtime/adapter/conversions.ts +164 -26
- package/src/runtime/adapter/subscriber.ts +2 -2
- package/src/runtime/event-parser.ts +9 -13
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import type { InputContent } from "@ag-ui/client";
|
|
1
2
|
import { type Tool } from "assistant-stream";
|
|
3
|
+
export type { InputContent };
|
|
4
|
+
type AttachmentLike = {
|
|
5
|
+
name?: string | undefined;
|
|
6
|
+
contentType?: string | undefined;
|
|
7
|
+
content?: readonly unknown[] | undefined;
|
|
8
|
+
};
|
|
2
9
|
type ThreadMessageLike = {
|
|
3
10
|
id: string;
|
|
4
11
|
role: string;
|
|
@@ -6,6 +13,7 @@ type ThreadMessageLike = {
|
|
|
6
13
|
name?: string;
|
|
7
14
|
toolCallId?: string;
|
|
8
15
|
error?: string;
|
|
16
|
+
attachments?: readonly AttachmentLike[];
|
|
9
17
|
};
|
|
10
18
|
type AgUiToolCall = {
|
|
11
19
|
id: string;
|
|
@@ -18,7 +26,7 @@ type AgUiToolCall = {
|
|
|
18
26
|
export type AgUiMessage = {
|
|
19
27
|
id: string;
|
|
20
28
|
role: string;
|
|
21
|
-
content: string;
|
|
29
|
+
content: string | InputContent[];
|
|
22
30
|
name?: string;
|
|
23
31
|
toolCalls?: AgUiToolCall[];
|
|
24
32
|
} | {
|
|
@@ -36,5 +44,4 @@ type AgUiTool = {
|
|
|
36
44
|
parameters: unknown;
|
|
37
45
|
};
|
|
38
46
|
export declare function toAgUiTools(tools: Record<string, Tool> | undefined): AgUiTool[];
|
|
39
|
-
export {};
|
|
40
47
|
//# sourceMappingURL=conversions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../src/runtime/adapter/conversions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAqB,MAAM,kBAAkB,CAAC;AAEhE,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../src/runtime/adapter/conversions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,KAAK,IAAI,EAAqB,MAAM,kBAAkB,CAAC;AAEhE,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,KAAK,cAAc,GAAG;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CACzC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;CAC5B,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAsTN,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B,iBAAiB,EAAE,CA2GrB;AAuED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GACrC,WAAW,EAAE,CA6Bf;AAED,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,GACtC,QAAQ,EAAE,CASZ"}
|
|
@@ -47,10 +47,121 @@ function extractText(content) {
|
|
|
47
47
|
.map((part) => part.text)
|
|
48
48
|
.join("\n");
|
|
49
49
|
}
|
|
50
|
+
function parseDataUrl(value) {
|
|
51
|
+
const match = value.match(/^data:([^;,]+)(?:;[^;,]+)*;base64,(.+)$/);
|
|
52
|
+
if (!match)
|
|
53
|
+
return null;
|
|
54
|
+
return { mimeType: match[1], data: match[2] };
|
|
55
|
+
}
|
|
56
|
+
const httpUrlPattern = /^https?:\/\//i;
|
|
57
|
+
function toInputContent(part, fallbackMimeType) {
|
|
58
|
+
if (!isObject(part))
|
|
59
|
+
return null;
|
|
60
|
+
const type = getString(part, "type");
|
|
61
|
+
if (type === "text") {
|
|
62
|
+
const text = getString(part, "text");
|
|
63
|
+
if (text === undefined)
|
|
64
|
+
return null;
|
|
65
|
+
return { type: "text", text };
|
|
66
|
+
}
|
|
67
|
+
if (type === "image") {
|
|
68
|
+
const image = getString(part, "image");
|
|
69
|
+
if (image === undefined)
|
|
70
|
+
return null;
|
|
71
|
+
const parsed = parseDataUrl(image);
|
|
72
|
+
if (parsed) {
|
|
73
|
+
return {
|
|
74
|
+
type: "image",
|
|
75
|
+
source: {
|
|
76
|
+
type: "data",
|
|
77
|
+
value: parsed.data,
|
|
78
|
+
mimeType: parsed.mimeType,
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
type: "image",
|
|
84
|
+
source: {
|
|
85
|
+
type: "url",
|
|
86
|
+
value: image,
|
|
87
|
+
...(fallbackMimeType !== undefined
|
|
88
|
+
? { mimeType: fallbackMimeType }
|
|
89
|
+
: {}),
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (type === "file") {
|
|
94
|
+
const data = getString(part, "data");
|
|
95
|
+
if (data === undefined)
|
|
96
|
+
return null;
|
|
97
|
+
const partMimeType = getString(part, "mimeType");
|
|
98
|
+
const filename = getString(part, "filename");
|
|
99
|
+
const mimeType = partMimeType || fallbackMimeType || "application/octet-stream";
|
|
100
|
+
if (httpUrlPattern.test(data)) {
|
|
101
|
+
return {
|
|
102
|
+
type: "binary",
|
|
103
|
+
mimeType,
|
|
104
|
+
url: data,
|
|
105
|
+
...(filename !== undefined ? { filename } : {}),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
const parsed = parseDataUrl(data);
|
|
109
|
+
return {
|
|
110
|
+
type: "binary",
|
|
111
|
+
mimeType: parsed?.mimeType ?? mimeType,
|
|
112
|
+
data: parsed?.data ?? data,
|
|
113
|
+
...(filename !== undefined ? { filename } : {}),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
function buildUserContent(message) {
|
|
119
|
+
// File parts in message.content are intentionally skipped: the canonical
|
|
120
|
+
// binary payload for files always flows through message.attachments.
|
|
121
|
+
const contentParts = Array.isArray(message.content)
|
|
122
|
+
? message.content.filter((part) => !(isObject(part) && part.type === "file"))
|
|
123
|
+
: [];
|
|
124
|
+
const attachments = message.attachments ?? [];
|
|
125
|
+
const converted = [];
|
|
126
|
+
// Promote string-form content to a leading text part so it survives when
|
|
127
|
+
// non-text attachments are present (fromAgUiMessages emits string content).
|
|
128
|
+
if (typeof message.content === "string" && message.content.length > 0) {
|
|
129
|
+
converted.push({ type: "text", text: message.content });
|
|
130
|
+
}
|
|
131
|
+
for (const part of contentParts) {
|
|
132
|
+
const input = toInputContent(part, undefined);
|
|
133
|
+
if (input)
|
|
134
|
+
converted.push(input);
|
|
135
|
+
}
|
|
136
|
+
for (const attachment of attachments) {
|
|
137
|
+
if (!isObject(attachment))
|
|
138
|
+
continue;
|
|
139
|
+
const attachmentContent = attachment.content;
|
|
140
|
+
if (!Array.isArray(attachmentContent))
|
|
141
|
+
continue;
|
|
142
|
+
const fallbackMime = getString(attachment, "contentType");
|
|
143
|
+
for (const part of attachmentContent) {
|
|
144
|
+
const input = toInputContent(part, fallbackMime);
|
|
145
|
+
if (input)
|
|
146
|
+
converted.push(input);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const hasNonText = converted.some((part) => part.type !== "text");
|
|
150
|
+
if (hasNonText)
|
|
151
|
+
return converted;
|
|
152
|
+
// All-text path: collapse to plain string. Join text parts collected from
|
|
153
|
+
// both content and attachments so attachment-sourced text is not dropped.
|
|
154
|
+
if (converted.length === 0)
|
|
155
|
+
return extractText(message.content);
|
|
156
|
+
return converted
|
|
157
|
+
.filter((part) => part.type === "text")
|
|
158
|
+
.map((part) => part.text)
|
|
159
|
+
.join("\n");
|
|
160
|
+
}
|
|
50
161
|
function toToolCallPart(value) {
|
|
51
162
|
if (!isObject(value))
|
|
52
163
|
return null;
|
|
53
|
-
const rawFunction = isObject(value
|
|
164
|
+
const rawFunction = isObject(value.function) ? value.function : null;
|
|
54
165
|
const toolCallId = getString(value, "toolCallId") ?? getString(value, "id");
|
|
55
166
|
const toolName = getString(value, "toolName") ??
|
|
56
167
|
getString(value, "name") ??
|
|
@@ -62,8 +173,8 @@ function toToolCallPart(value) {
|
|
|
62
173
|
const parsedArgs = typeof argsText === "string" ? parseJSONText(argsText) : undefined;
|
|
63
174
|
const args = isObject(parsedArgs) && !Array.isArray(parsedArgs)
|
|
64
175
|
? parsedArgs
|
|
65
|
-
: isObject(value
|
|
66
|
-
? value
|
|
176
|
+
: isObject(value.args) && !Array.isArray(value.args)
|
|
177
|
+
? value.args
|
|
67
178
|
: undefined;
|
|
68
179
|
const part = {
|
|
69
180
|
type: "tool-call",
|
|
@@ -72,9 +183,9 @@ function toToolCallPart(value) {
|
|
|
72
183
|
argsText: argsText ?? JSON.stringify(args ?? {}),
|
|
73
184
|
...(args !== undefined ? { args } : {}),
|
|
74
185
|
};
|
|
75
|
-
if (value
|
|
76
|
-
const result = value
|
|
77
|
-
const isError = value
|
|
186
|
+
if (value.type === "tool-call") {
|
|
187
|
+
const result = value.result;
|
|
188
|
+
const isError = value.isError;
|
|
78
189
|
if (result !== undefined)
|
|
79
190
|
part.result = result;
|
|
80
191
|
if (typeof isError === "boolean")
|
|
@@ -97,18 +208,18 @@ function extractAssistantToolCalls(message) {
|
|
|
97
208
|
toolCallId: id,
|
|
98
209
|
});
|
|
99
210
|
};
|
|
100
|
-
const content = message
|
|
211
|
+
const content = message.content;
|
|
101
212
|
if (Array.isArray(content)) {
|
|
102
213
|
for (const part of content) {
|
|
103
|
-
if (isObject(part) && part
|
|
214
|
+
if (isObject(part) && part.type === "tool-call") {
|
|
104
215
|
pushPart(toToolCallPart(part));
|
|
105
216
|
}
|
|
106
217
|
}
|
|
107
218
|
}
|
|
108
|
-
const toolCalls = Array.isArray(message
|
|
109
|
-
? message
|
|
110
|
-
: Array.isArray(message
|
|
111
|
-
? message
|
|
219
|
+
const toolCalls = Array.isArray(message.toolCalls)
|
|
220
|
+
? message.toolCalls
|
|
221
|
+
: Array.isArray(message.tool_calls)
|
|
222
|
+
? message.tool_calls
|
|
112
223
|
: [];
|
|
113
224
|
for (const call of toolCalls) {
|
|
114
225
|
pushPart(toToolCallPart(call));
|
|
@@ -116,7 +227,7 @@ function extractAssistantToolCalls(message) {
|
|
|
116
227
|
return parts;
|
|
117
228
|
}
|
|
118
229
|
function toAssistantSnapshotMessage(rawMessage) {
|
|
119
|
-
const text = extractText(rawMessage
|
|
230
|
+
const text = extractText(rawMessage.content);
|
|
120
231
|
const toolCallParts = extractAssistantToolCalls(rawMessage);
|
|
121
232
|
const assistantContent = [
|
|
122
233
|
...(text.length > 0 ? [{ type: "text", text }] : []),
|
|
@@ -135,7 +246,7 @@ function toUserOrSystemSnapshotMessage(role, rawMessage) {
|
|
|
135
246
|
return {
|
|
136
247
|
id: getString(rawMessage, "id") ?? generateId(),
|
|
137
248
|
role,
|
|
138
|
-
content: extractText(rawMessage
|
|
249
|
+
content: extractText(rawMessage.content),
|
|
139
250
|
...(messageName !== undefined ? { name: messageName } : {}),
|
|
140
251
|
};
|
|
141
252
|
}
|
|
@@ -150,16 +261,16 @@ export function fromAgUiMessages(messages) {
|
|
|
150
261
|
if (role === "tool") {
|
|
151
262
|
const toolCallId = getToolCallId(rawMessage) ?? `tool-${generateId()}`;
|
|
152
263
|
const toolMessageId = getString(rawMessage, "id");
|
|
153
|
-
const result = rawMessage
|
|
154
|
-
? rawMessage
|
|
155
|
-
: typeof rawMessage
|
|
156
|
-
? parseJSONText(rawMessage
|
|
157
|
-
: rawMessage
|
|
158
|
-
const isError = typeof rawMessage
|
|
159
|
-
rawMessage
|
|
160
|
-
rawMessage
|
|
264
|
+
const result = rawMessage.result !== undefined
|
|
265
|
+
? rawMessage.result
|
|
266
|
+
: typeof rawMessage.content === "string"
|
|
267
|
+
? parseJSONText(rawMessage.content)
|
|
268
|
+
: rawMessage.content;
|
|
269
|
+
const isError = typeof rawMessage.error === "string" ||
|
|
270
|
+
rawMessage.isError === true ||
|
|
271
|
+
rawMessage.status === "error"
|
|
161
272
|
? true
|
|
162
|
-
: rawMessage
|
|
273
|
+
: rawMessage.isError === false
|
|
163
274
|
? false
|
|
164
275
|
: undefined;
|
|
165
276
|
let updated = false;
|
|
@@ -171,7 +282,7 @@ export function fromAgUiMessages(messages) {
|
|
|
171
282
|
continue;
|
|
172
283
|
for (let partIndex = message.content.length - 1; partIndex >= 0; partIndex--) {
|
|
173
284
|
const part = message.content[partIndex];
|
|
174
|
-
if (!isObject(part) || part
|
|
285
|
+
if (!isObject(part) || part.type !== "tool-call")
|
|
175
286
|
continue;
|
|
176
287
|
if (getString(part, "toolCallId") !== toolCallId)
|
|
177
288
|
continue;
|
|
@@ -292,7 +403,9 @@ export function toAgUiMessages(messages) {
|
|
|
292
403
|
const genericMessage = {
|
|
293
404
|
id: message.id,
|
|
294
405
|
role: message.role,
|
|
295
|
-
content:
|
|
406
|
+
content: message.role === "user"
|
|
407
|
+
? buildUserContent(message)
|
|
408
|
+
: extractText(message.content),
|
|
296
409
|
};
|
|
297
410
|
if (message.name) {
|
|
298
411
|
genericMessage.name = message.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversions.js","sourceRoot":"","sources":["../../../src/runtime/adapter/conversions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversions.js","sourceRoot":"","sources":["../../../src/runtime/adapter/conversions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAa,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAqDhE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAE9C,MAAM,SAAS,GAAG,CAAC,MAA+B,EAAE,GAAW,EAAE,EAAE;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAA+B,EAAE,EAAE,CACxD,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEvE,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CACJ,UAAU,CAAC,MAAwC,EAAE,UAAU,EAAE,EAAE;QACpE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAkB;IAI3C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;IAC3C,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QAC/B,CAAC,CAAC,IAAI,CAAC,QAAQ;QACf,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEtC,OAAO;QACL,EAAE;QACF,IAAI,EAAE;YACJ,EAAE;YACF,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;gBAC7B,SAAS,EAAE,QAAQ;aACpB;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,OAAO,OAAO;SACX,MAAM,CACL,CAAC,IAAI,EAA0C,EAAE,CAC/C,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAC1D;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CACnB,KAAa;IAEb,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,cAAc,GAAG,eAAe,CAAC;AAEvC,SAAS,cAAc,CACrB,IAAa,EACb,gBAAoC;IAEpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAErC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE;oBACN,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,MAAM,CAAC,IAAI;oBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC1B;aACF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE;gBACN,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,GAAG,CAAC,gBAAgB,KAAK,SAAS;oBAChC,CAAC,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE;oBAChC,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,MAAM,QAAQ,GACZ,YAAY,IAAI,gBAAgB,IAAI,0BAA0B,CAAC;QAEjE,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ;gBACR,GAAG,EAAE,IAAI;gBACT,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,QAAQ;YACtC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI;YAC1B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA0B;IAClD,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QACjD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CACpB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CACpD;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IAE9C,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,KAAK;YAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,SAAS;QACpC,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;YAAE,SAAS;QAChD,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACjD,IAAI,KAAK;gBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAClE,IAAI,UAAU;QAAE,OAAO,SAAS,CAAC;IAEjC,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO,SAAS;SACb,MAAM,CACL,CAAC,IAAI,EAA0C,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CACvE;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,QAAQ,GACZ,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC;QAC5B,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;QACxB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,CAAC;IACT,MAAM,QAAQ,GACZ,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC;QAC5B,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;QAC7B,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAElE,MAAM,UAAU,GACd,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,IAAI,GACR,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAChD,CAAC,CAAE,UAAsC;QACzC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAClD,CAAC,CAAE,KAAK,CAAC,IAAgC;YACzC,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,IAAI,GAAiB;QACzB,IAAI,EAAE,WAAW;QACjB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,QAAQ;QACR,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;QAChD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;IAEF,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/C,IAAI,OAAO,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAgC;IAEhC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,QAAQ,GAAG,CAAC,IAAyB,EAAE,EAAE;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;QAC3C,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO;QACpC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,IAAI;YACP,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAChD,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAChD,CAAC,CAAC,OAAO,CAAC,SAAS;QACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC,UAAU;YACpB,CAAC,CAAC,EAAE,CAAC;IACT,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAmC;IAEnC,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG;QACvB,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,aAAa;KACjB,CAAC;IACF,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE;QAC/C,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;QAC5D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,IAAuB,EACvB,UAAmC;IAEnC,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE;QAC/C,IAAI;QACJ,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC;QACxC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAA4B;IAE5B,MAAM,SAAS,GAAwB,EAAE,CAAC;IAE1C,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,SAAS;QACpC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,QAAQ,UAAU,EAAE,EAAE,CAAC;YACvE,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAClD,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,KAAK,SAAS;gBAC7B,CAAC,CAAC,UAAU,CAAC,MAAM;gBACnB,CAAC,CAAC,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;oBACtC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;oBACnC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3B,MAAM,OAAO,GACX,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ;gBACpC,UAAU,CAAC,OAAO,KAAK,IAAI;gBAC3B,UAAU,CAAC,MAAM,KAAK,OAAO;gBAC3B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,KAAK;oBAC5B,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,SAAS,CAAC;YAElB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,KACE,IAAI,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EACvC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAC7B,YAAY,EAAE,EACd,CAAC;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gBACxC,IACE,CAAC,OAAO;oBACR,OAAO,CAAC,IAAI,KAAK,WAAW;oBAC5B,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;oBAE/B,SAAS;gBAEX,KACE,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAC1C,SAAS,IAAI,CAAC,EACd,SAAS,EAAE,EACX,CAAC;oBACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;wBAAE,SAAS;oBAC3D,IAAI,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,UAAU;wBAAE,SAAS;oBAE3D,MAAM,WAAW,GAAiB;wBAChC,GAAI,IAAqB;wBACzB,MAAM;wBACN,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7C,GAAG,CAAC,aAAa,KAAK,SAAS;4BAC7B,CAAC,CAAC,EAAE,sBAAsB,EAAE,aAAa,EAAE;4BAC3C,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;oBACF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAChE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAChD,CAAC;oBACF,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;oBAClE,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,SAAS;YACX,CAAC;YAED,MAAM,EAAE,GAAG,aAAa,IAAI,UAAU,CAAC;YACvC,MAAM,QAAQ,GACZ,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;gBAC7B,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;gBACjC,MAAM,CAAC;YACT,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,GAAG,EAAE,YAAY;gBACrB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,WAAW;wBACjB,UAAU;wBACV,QAAQ;wBACR,IAAI,EAAE,EAAE;wBACR,QAAQ,EAAE,IAAI;wBACd,MAAM;wBACN,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7C,GAAG,CAAC,aAAa,KAAK,SAAS;4BAC7B,CAAC,CAAC,EAAE,sBAAsB,EAAE,aAAa,EAAE;4BAC3C,CAAC,CAAC,EAAE,CAAC;qBACR;iBACF;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;YACvD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAA0B,EAC1B,SAAwB;IAExB,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3E,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CACvC,CAAC,IAAI,EAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,WAAW,CAC3D,CAAC;IAEF,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7C,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAC1B,IAAI;KACL,CAAC,CAAC,CAAC;IAEJ,MAAM,gBAAgB,GAAgB;QACpC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,WAAW;QACjB,OAAO;KACR,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,gBAAgB,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACvC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,gBAAgB,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEjC,KAAK,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,SAAS;QAExC,MAAM,aAAa,GACjB,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;YAC7B,CAAC,CAAC,IAAI,CAAC,MAAM;YACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,WAAW,GAAgB;YAC/B,EAAE,EAAE,IAAI,CAAC,sBAAsB,IAAI,GAAG,UAAU,OAAO;YACvD,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,aAAa;YACtB,UAAU;SACX,CAAC;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,WAAW,CAAC,KAAK,GAAG,aAAa,CAAC;QACpC,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA0B,EAC1B,SAAwB;IAExB,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;IAEtD,MAAM,WAAW,GAAgB;QAC/B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,MAAM;QACZ,OAAO;QACP,UAAU;KACX,CAAC;IACF,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACtC,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAsC;IAEtC,MAAM,SAAS,GAAkB,EAAE,CAAC;IAEpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACvC,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAgB;YAClC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EACL,OAAO,CAAC,IAAI,KAAK,MAAM;gBACrB,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;SACnC,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACrC,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD,MAAM,UAAU,WAAW,CACzB,KAAuC;IAEvC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI;QACJ,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { parseAgUiEvent } from "../event-parser.js";
|
|
|
3
3
|
const ensureEvent = (raw, type) => {
|
|
4
4
|
if (raw && typeof raw === "object") {
|
|
5
5
|
const payload = raw;
|
|
6
|
-
if (typeof payload
|
|
6
|
+
if (typeof payload.type === "string") {
|
|
7
7
|
return parseAgUiEvent(payload);
|
|
8
8
|
}
|
|
9
9
|
return parseAgUiEvent({ type, ...payload });
|
|
@@ -21,7 +21,7 @@ export const createAgUiSubscriber = (options) => {
|
|
|
21
21
|
return {
|
|
22
22
|
onEvent: ({ event }) => {
|
|
23
23
|
const typeCandidate = event && typeof event === "object"
|
|
24
|
-
? event
|
|
24
|
+
? event.type
|
|
25
25
|
: undefined;
|
|
26
26
|
if (typeof typeCandidate === "string") {
|
|
27
27
|
// Typed handlers will receive this via the discriminated callbacks; avoid duplicates.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../src/runtime/adapter/subscriber.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,cAAc,EAAE,2BAAwB;AAkCjD,MAAM,WAAW,GAAG,CAClB,GAAY,EACZ,IAAuB,EACL,EAAE;IACpB,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAA8B,CAAC;QAC/C,IAAI,OAAO,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"subscriber.js","sourceRoot":"","sources":["../../../src/runtime/adapter/subscriber.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-parser.d.ts","sourceRoot":"","sources":["../../src/runtime/event-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAgB;AAkBzC,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"event-parser.d.ts","sourceRoot":"","sources":["../../src/runtime/event-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAgB;AAkBzC,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,SAAS,GAAG,IAgL3D,CAAC"}
|
|
@@ -10,7 +10,7 @@ export const parseAgUiEvent = (event) => {
|
|
|
10
10
|
if (!event || typeof event !== "object")
|
|
11
11
|
return null;
|
|
12
12
|
const payload = event;
|
|
13
|
-
const typeValue = payload
|
|
13
|
+
const typeValue = payload.type;
|
|
14
14
|
if (!isString(typeValue))
|
|
15
15
|
return null;
|
|
16
16
|
const getString = (key) => isString(payload[key]) ? payload[key] : undefined;
|
|
@@ -108,38 +108,34 @@ export const parseAgUiEvent = (event) => {
|
|
|
108
108
|
content: getString("content") ?? "",
|
|
109
109
|
}, {
|
|
110
110
|
messageId: getString("messageId"),
|
|
111
|
-
role: payload
|
|
111
|
+
role: payload.role === "tool" ? "tool" : undefined,
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
114
|
case "STATE_SNAPSHOT":
|
|
115
|
-
return { type: "STATE_SNAPSHOT", snapshot: payload
|
|
115
|
+
return { type: "STATE_SNAPSHOT", snapshot: payload.snapshot };
|
|
116
116
|
case "STATE_DELTA":
|
|
117
117
|
return {
|
|
118
118
|
type: "STATE_DELTA",
|
|
119
|
-
delta: Array.isArray(payload[
|
|
120
|
-
? payload["delta"]
|
|
121
|
-
: [],
|
|
119
|
+
delta: Array.isArray(payload.delta) ? payload.delta : [],
|
|
122
120
|
};
|
|
123
121
|
case "MESSAGES_SNAPSHOT":
|
|
124
122
|
return {
|
|
125
123
|
type: "MESSAGES_SNAPSHOT",
|
|
126
|
-
messages: Array.isArray(payload
|
|
127
|
-
? payload
|
|
124
|
+
messages: Array.isArray(payload.messages)
|
|
125
|
+
? payload.messages
|
|
128
126
|
: [],
|
|
129
127
|
};
|
|
130
128
|
case "RAW":
|
|
131
|
-
return withOptional({ type: "RAW", event: payload
|
|
129
|
+
return withOptional({ type: "RAW", event: payload.event }, { source: getString("source") });
|
|
132
130
|
case "CUSTOM": {
|
|
133
131
|
const name = getString("name");
|
|
134
132
|
if (!name)
|
|
135
133
|
return null;
|
|
136
|
-
return { type: "CUSTOM", name, value: payload
|
|
134
|
+
return { type: "CUSTOM", name, value: payload.value };
|
|
137
135
|
}
|
|
138
136
|
default:
|
|
139
137
|
return withOptional({ type: "RAW", event: payload }, {
|
|
140
|
-
source: isString(payload
|
|
141
|
-
? payload["type"]
|
|
142
|
-
: undefined,
|
|
138
|
+
source: isString(payload.type) ? payload.type : undefined,
|
|
143
139
|
});
|
|
144
140
|
}
|
|
145
141
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-parser.js","sourceRoot":"","sources":["../../src/runtime/event-parser.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;AAChF,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAmB,EAAE,CAC3D,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAEtC,MAAM,YAAY,GAAG,CACnB,IAAO,EACP,SAAkC,EAClC,EAAE;IACF,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CACnC,CAAC;IACF,OAAO,cAAc,CAAC,MAAM,KAAK,CAAC;QAChC,CAAC,CAAC,IAAI;QACN,CAAC,CAAE,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,EAAQ,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAoB,EAAE;IACjE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,KAAgC,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"event-parser.js","sourceRoot":"","sources":["../../src/runtime/event-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/react-ag-ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.27",
|
|
4
4
|
"description": "AG-UI protocol adapter for assistant-ui",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ag-ui",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
],
|
|
30
30
|
"sideEffects": false,
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@ag-ui/client": "^0.0.
|
|
33
|
-
"@assistant-ui/core": "^0.1.
|
|
34
|
-
"assistant-stream": "^0.3.
|
|
32
|
+
"@ag-ui/client": "^0.0.52",
|
|
33
|
+
"@assistant-ui/core": "^0.1.15",
|
|
34
|
+
"assistant-stream": "^0.3.12"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"@types/react": "*",
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/react": "^19.2.14",
|
|
47
|
-
"react": "^19.2.
|
|
48
|
-
"vitest": "^4.1.
|
|
47
|
+
"react": "^19.2.5",
|
|
48
|
+
"vitest": "^4.1.5",
|
|
49
49
|
"zod": "^4.3.6",
|
|
50
|
-
"@assistant-ui/x-buildutils": "0.0.
|
|
50
|
+
"@assistant-ui/x-buildutils": "0.0.6"
|
|
51
51
|
},
|
|
52
52
|
"publishConfig": {
|
|
53
53
|
"access": "public",
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
+
import type { InputContent } from "@ag-ui/client";
|
|
3
4
|
import { type Tool, toToolsJSONSchema } from "assistant-stream";
|
|
4
5
|
|
|
6
|
+
export type { InputContent };
|
|
7
|
+
|
|
8
|
+
type AttachmentLike = {
|
|
9
|
+
name?: string | undefined;
|
|
10
|
+
contentType?: string | undefined;
|
|
11
|
+
content?: readonly unknown[] | undefined;
|
|
12
|
+
};
|
|
13
|
+
|
|
5
14
|
type ThreadMessageLike = {
|
|
6
15
|
id: string;
|
|
7
16
|
role: string;
|
|
@@ -9,6 +18,7 @@ type ThreadMessageLike = {
|
|
|
9
18
|
name?: string;
|
|
10
19
|
toolCallId?: string;
|
|
11
20
|
error?: string;
|
|
21
|
+
attachments?: readonly AttachmentLike[];
|
|
12
22
|
};
|
|
13
23
|
|
|
14
24
|
type AgUiToolCall = {
|
|
@@ -21,7 +31,7 @@ export type AgUiMessage =
|
|
|
21
31
|
| {
|
|
22
32
|
id: string;
|
|
23
33
|
role: string;
|
|
24
|
-
content: string;
|
|
34
|
+
content: string | InputContent[];
|
|
25
35
|
name?: string;
|
|
26
36
|
toolCalls?: AgUiToolCall[];
|
|
27
37
|
}
|
|
@@ -107,9 +117,134 @@ function extractText(content: unknown): string {
|
|
|
107
117
|
.join("\n");
|
|
108
118
|
}
|
|
109
119
|
|
|
120
|
+
function parseDataUrl(
|
|
121
|
+
value: string,
|
|
122
|
+
): { mimeType: string; data: string } | null {
|
|
123
|
+
const match = value.match(/^data:([^;,]+)(?:;[^;,]+)*;base64,(.+)$/);
|
|
124
|
+
if (!match) return null;
|
|
125
|
+
return { mimeType: match[1]!, data: match[2]! };
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
const httpUrlPattern = /^https?:\/\//i;
|
|
129
|
+
|
|
130
|
+
function toInputContent(
|
|
131
|
+
part: unknown,
|
|
132
|
+
fallbackMimeType: string | undefined,
|
|
133
|
+
): InputContent | null {
|
|
134
|
+
if (!isObject(part)) return null;
|
|
135
|
+
const type = getString(part, "type");
|
|
136
|
+
|
|
137
|
+
if (type === "text") {
|
|
138
|
+
const text = getString(part, "text");
|
|
139
|
+
if (text === undefined) return null;
|
|
140
|
+
return { type: "text", text };
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (type === "image") {
|
|
144
|
+
const image = getString(part, "image");
|
|
145
|
+
if (image === undefined) return null;
|
|
146
|
+
const parsed = parseDataUrl(image);
|
|
147
|
+
if (parsed) {
|
|
148
|
+
return {
|
|
149
|
+
type: "image",
|
|
150
|
+
source: {
|
|
151
|
+
type: "data",
|
|
152
|
+
value: parsed.data,
|
|
153
|
+
mimeType: parsed.mimeType,
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
type: "image",
|
|
159
|
+
source: {
|
|
160
|
+
type: "url",
|
|
161
|
+
value: image,
|
|
162
|
+
...(fallbackMimeType !== undefined
|
|
163
|
+
? { mimeType: fallbackMimeType }
|
|
164
|
+
: {}),
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (type === "file") {
|
|
170
|
+
const data = getString(part, "data");
|
|
171
|
+
if (data === undefined) return null;
|
|
172
|
+
const partMimeType = getString(part, "mimeType");
|
|
173
|
+
const filename = getString(part, "filename");
|
|
174
|
+
const mimeType =
|
|
175
|
+
partMimeType || fallbackMimeType || "application/octet-stream";
|
|
176
|
+
|
|
177
|
+
if (httpUrlPattern.test(data)) {
|
|
178
|
+
return {
|
|
179
|
+
type: "binary",
|
|
180
|
+
mimeType,
|
|
181
|
+
url: data,
|
|
182
|
+
...(filename !== undefined ? { filename } : {}),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
const parsed = parseDataUrl(data);
|
|
186
|
+
return {
|
|
187
|
+
type: "binary",
|
|
188
|
+
mimeType: parsed?.mimeType ?? mimeType,
|
|
189
|
+
data: parsed?.data ?? data,
|
|
190
|
+
...(filename !== undefined ? { filename } : {}),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
function buildUserContent(message: ThreadMessageLike): string | InputContent[] {
|
|
198
|
+
// File parts in message.content are intentionally skipped: the canonical
|
|
199
|
+
// binary payload for files always flows through message.attachments.
|
|
200
|
+
const contentParts = Array.isArray(message.content)
|
|
201
|
+
? message.content.filter(
|
|
202
|
+
(part) => !(isObject(part) && part.type === "file"),
|
|
203
|
+
)
|
|
204
|
+
: [];
|
|
205
|
+
|
|
206
|
+
const attachments = message.attachments ?? [];
|
|
207
|
+
|
|
208
|
+
const converted: InputContent[] = [];
|
|
209
|
+
|
|
210
|
+
// Promote string-form content to a leading text part so it survives when
|
|
211
|
+
// non-text attachments are present (fromAgUiMessages emits string content).
|
|
212
|
+
if (typeof message.content === "string" && message.content.length > 0) {
|
|
213
|
+
converted.push({ type: "text", text: message.content });
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
for (const part of contentParts) {
|
|
217
|
+
const input = toInputContent(part, undefined);
|
|
218
|
+
if (input) converted.push(input);
|
|
219
|
+
}
|
|
220
|
+
for (const attachment of attachments) {
|
|
221
|
+
if (!isObject(attachment)) continue;
|
|
222
|
+
const attachmentContent = attachment.content;
|
|
223
|
+
if (!Array.isArray(attachmentContent)) continue;
|
|
224
|
+
const fallbackMime = getString(attachment, "contentType");
|
|
225
|
+
for (const part of attachmentContent) {
|
|
226
|
+
const input = toInputContent(part, fallbackMime);
|
|
227
|
+
if (input) converted.push(input);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
const hasNonText = converted.some((part) => part.type !== "text");
|
|
232
|
+
if (hasNonText) return converted;
|
|
233
|
+
|
|
234
|
+
// All-text path: collapse to plain string. Join text parts collected from
|
|
235
|
+
// both content and attachments so attachment-sourced text is not dropped.
|
|
236
|
+
if (converted.length === 0) return extractText(message.content);
|
|
237
|
+
return converted
|
|
238
|
+
.filter(
|
|
239
|
+
(part): part is { type: "text"; text: string } => part.type === "text",
|
|
240
|
+
)
|
|
241
|
+
.map((part) => part.text)
|
|
242
|
+
.join("\n");
|
|
243
|
+
}
|
|
244
|
+
|
|
110
245
|
function toToolCallPart(value: unknown): ToolCallPart | null {
|
|
111
246
|
if (!isObject(value)) return null;
|
|
112
|
-
const rawFunction = isObject(value
|
|
247
|
+
const rawFunction = isObject(value.function) ? value.function : null;
|
|
113
248
|
const toolCallId = getString(value, "toolCallId") ?? getString(value, "id");
|
|
114
249
|
const toolName =
|
|
115
250
|
getString(value, "toolName") ??
|
|
@@ -126,8 +261,8 @@ function toToolCallPart(value: unknown): ToolCallPart | null {
|
|
|
126
261
|
const args =
|
|
127
262
|
isObject(parsedArgs) && !Array.isArray(parsedArgs)
|
|
128
263
|
? (parsedArgs as Record<string, unknown>)
|
|
129
|
-
: isObject(value
|
|
130
|
-
? (value
|
|
264
|
+
: isObject(value.args) && !Array.isArray(value.args)
|
|
265
|
+
? (value.args as Record<string, unknown>)
|
|
131
266
|
: undefined;
|
|
132
267
|
|
|
133
268
|
const part: ToolCallPart = {
|
|
@@ -138,9 +273,9 @@ function toToolCallPart(value: unknown): ToolCallPart | null {
|
|
|
138
273
|
...(args !== undefined ? { args } : {}),
|
|
139
274
|
};
|
|
140
275
|
|
|
141
|
-
if (value
|
|
142
|
-
const result = value
|
|
143
|
-
const isError = value
|
|
276
|
+
if (value.type === "tool-call") {
|
|
277
|
+
const result = value.result;
|
|
278
|
+
const isError = value.isError;
|
|
144
279
|
if (result !== undefined) part.result = result;
|
|
145
280
|
if (typeof isError === "boolean") part.isError = isError;
|
|
146
281
|
}
|
|
@@ -164,19 +299,19 @@ function extractAssistantToolCalls(
|
|
|
164
299
|
});
|
|
165
300
|
};
|
|
166
301
|
|
|
167
|
-
const content = message
|
|
302
|
+
const content = message.content;
|
|
168
303
|
if (Array.isArray(content)) {
|
|
169
304
|
for (const part of content) {
|
|
170
|
-
if (isObject(part) && part
|
|
305
|
+
if (isObject(part) && part.type === "tool-call") {
|
|
171
306
|
pushPart(toToolCallPart(part));
|
|
172
307
|
}
|
|
173
308
|
}
|
|
174
309
|
}
|
|
175
310
|
|
|
176
|
-
const toolCalls = Array.isArray(message
|
|
177
|
-
? message
|
|
178
|
-
: Array.isArray(message
|
|
179
|
-
? message
|
|
311
|
+
const toolCalls = Array.isArray(message.toolCalls)
|
|
312
|
+
? message.toolCalls
|
|
313
|
+
: Array.isArray(message.tool_calls)
|
|
314
|
+
? message.tool_calls
|
|
180
315
|
: [];
|
|
181
316
|
for (const call of toolCalls) {
|
|
182
317
|
pushPart(toToolCallPart(call));
|
|
@@ -188,7 +323,7 @@ function extractAssistantToolCalls(
|
|
|
188
323
|
function toAssistantSnapshotMessage(
|
|
189
324
|
rawMessage: Record<string, unknown>,
|
|
190
325
|
): ThreadMessageLike {
|
|
191
|
-
const text = extractText(rawMessage
|
|
326
|
+
const text = extractText(rawMessage.content);
|
|
192
327
|
const toolCallParts = extractAssistantToolCalls(rawMessage);
|
|
193
328
|
const assistantContent = [
|
|
194
329
|
...(text.length > 0 ? [{ type: "text" as const, text }] : []),
|
|
@@ -211,7 +346,7 @@ function toUserOrSystemSnapshotMessage(
|
|
|
211
346
|
return {
|
|
212
347
|
id: getString(rawMessage, "id") ?? generateId(),
|
|
213
348
|
role,
|
|
214
|
-
content: extractText(rawMessage
|
|
349
|
+
content: extractText(rawMessage.content),
|
|
215
350
|
...(messageName !== undefined ? { name: messageName } : {}),
|
|
216
351
|
};
|
|
217
352
|
}
|
|
@@ -230,17 +365,17 @@ export function fromAgUiMessages(
|
|
|
230
365
|
const toolCallId = getToolCallId(rawMessage) ?? `tool-${generateId()}`;
|
|
231
366
|
const toolMessageId = getString(rawMessage, "id");
|
|
232
367
|
const result =
|
|
233
|
-
rawMessage
|
|
234
|
-
? rawMessage
|
|
235
|
-
: typeof rawMessage
|
|
236
|
-
? parseJSONText(rawMessage
|
|
237
|
-
: rawMessage
|
|
368
|
+
rawMessage.result !== undefined
|
|
369
|
+
? rawMessage.result
|
|
370
|
+
: typeof rawMessage.content === "string"
|
|
371
|
+
? parseJSONText(rawMessage.content)
|
|
372
|
+
: rawMessage.content;
|
|
238
373
|
const isError =
|
|
239
|
-
typeof rawMessage
|
|
240
|
-
rawMessage
|
|
241
|
-
rawMessage
|
|
374
|
+
typeof rawMessage.error === "string" ||
|
|
375
|
+
rawMessage.isError === true ||
|
|
376
|
+
rawMessage.status === "error"
|
|
242
377
|
? true
|
|
243
|
-
: rawMessage
|
|
378
|
+
: rawMessage.isError === false
|
|
244
379
|
? false
|
|
245
380
|
: undefined;
|
|
246
381
|
|
|
@@ -264,7 +399,7 @@ export function fromAgUiMessages(
|
|
|
264
399
|
partIndex--
|
|
265
400
|
) {
|
|
266
401
|
const part = message.content[partIndex];
|
|
267
|
-
if (!isObject(part) || part
|
|
402
|
+
if (!isObject(part) || part.type !== "tool-call") continue;
|
|
268
403
|
if (getString(part, "toolCallId") !== toolCallId) continue;
|
|
269
404
|
|
|
270
405
|
const updatedPart: ToolCallPart = {
|
|
@@ -415,7 +550,10 @@ export function toAgUiMessages(
|
|
|
415
550
|
const genericMessage: AgUiMessage = {
|
|
416
551
|
id: message.id,
|
|
417
552
|
role: message.role,
|
|
418
|
-
content:
|
|
553
|
+
content:
|
|
554
|
+
message.role === "user"
|
|
555
|
+
? buildUserContent(message)
|
|
556
|
+
: extractText(message.content),
|
|
419
557
|
};
|
|
420
558
|
if (message.name) {
|
|
421
559
|
genericMessage.name = message.name;
|
|
@@ -41,7 +41,7 @@ const ensureEvent = (
|
|
|
41
41
|
): AgUiEvent | null => {
|
|
42
42
|
if (raw && typeof raw === "object") {
|
|
43
43
|
const payload = raw as Record<string, unknown>;
|
|
44
|
-
if (typeof payload
|
|
44
|
+
if (typeof payload.type === "string") {
|
|
45
45
|
return parseAgUiEvent(payload);
|
|
46
46
|
}
|
|
47
47
|
return parseAgUiEvent({ type, ...payload });
|
|
@@ -73,7 +73,7 @@ export const createAgUiSubscriber = (
|
|
|
73
73
|
onEvent: ({ event }) => {
|
|
74
74
|
const typeCandidate =
|
|
75
75
|
event && typeof event === "object"
|
|
76
|
-
? (event as Record<string, unknown>)
|
|
76
|
+
? (event as Record<string, unknown>).type
|
|
77
77
|
: undefined;
|
|
78
78
|
if (typeof typeCandidate === "string") {
|
|
79
79
|
// Typed handlers will receive this via the discriminated callbacks; avoid duplicates.
|
|
@@ -19,7 +19,7 @@ const withOptional = <T extends object>(
|
|
|
19
19
|
export const parseAgUiEvent = (event: unknown): AgUiEvent | null => {
|
|
20
20
|
if (!event || typeof event !== "object") return null;
|
|
21
21
|
const payload = event as Record<string, unknown>;
|
|
22
|
-
const typeValue = payload
|
|
22
|
+
const typeValue = payload.type;
|
|
23
23
|
if (!isString(typeValue)) return null;
|
|
24
24
|
|
|
25
25
|
const getString = (key: string) =>
|
|
@@ -156,43 +156,39 @@ export const parseAgUiEvent = (event: unknown): AgUiEvent | null => {
|
|
|
156
156
|
},
|
|
157
157
|
{
|
|
158
158
|
messageId: getString("messageId"),
|
|
159
|
-
role: payload
|
|
159
|
+
role: payload.role === "tool" ? "tool" : undefined,
|
|
160
160
|
},
|
|
161
161
|
);
|
|
162
162
|
}
|
|
163
163
|
case "STATE_SNAPSHOT":
|
|
164
|
-
return { type: "STATE_SNAPSHOT", snapshot: payload
|
|
164
|
+
return { type: "STATE_SNAPSHOT", snapshot: payload.snapshot };
|
|
165
165
|
case "STATE_DELTA":
|
|
166
166
|
return {
|
|
167
167
|
type: "STATE_DELTA",
|
|
168
|
-
delta: Array.isArray(payload[
|
|
169
|
-
? (payload["delta"] as any[])
|
|
170
|
-
: [],
|
|
168
|
+
delta: Array.isArray(payload.delta) ? (payload.delta as any[]) : [],
|
|
171
169
|
};
|
|
172
170
|
case "MESSAGES_SNAPSHOT":
|
|
173
171
|
return {
|
|
174
172
|
type: "MESSAGES_SNAPSHOT",
|
|
175
|
-
messages: Array.isArray(payload
|
|
176
|
-
? (payload
|
|
173
|
+
messages: Array.isArray(payload.messages)
|
|
174
|
+
? (payload.messages as any[])
|
|
177
175
|
: [],
|
|
178
176
|
};
|
|
179
177
|
case "RAW":
|
|
180
178
|
return withOptional(
|
|
181
|
-
{ type: "RAW" as const, event: payload
|
|
179
|
+
{ type: "RAW" as const, event: payload.event },
|
|
182
180
|
{ source: getString("source") },
|
|
183
181
|
);
|
|
184
182
|
case "CUSTOM": {
|
|
185
183
|
const name = getString("name");
|
|
186
184
|
if (!name) return null;
|
|
187
|
-
return { type: "CUSTOM", name, value: payload
|
|
185
|
+
return { type: "CUSTOM", name, value: payload.value };
|
|
188
186
|
}
|
|
189
187
|
default:
|
|
190
188
|
return withOptional(
|
|
191
189
|
{ type: "RAW" as const, event: payload },
|
|
192
190
|
{
|
|
193
|
-
source: isString(payload
|
|
194
|
-
? (payload["type"] as string)
|
|
195
|
-
: undefined,
|
|
191
|
+
source: isString(payload.type) ? (payload.type as string) : undefined,
|
|
196
192
|
},
|
|
197
193
|
);
|
|
198
194
|
}
|