veryfront 0.1.683 → 0.1.685
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/esm/deno.js +1 -1
- package/esm/extensions/ext-llm-anthropic/src/anthropic-request-builder.d.ts.map +1 -1
- package/esm/extensions/ext-llm-anthropic/src/anthropic-request-builder.js +15 -2
- package/esm/src/agent/ag-ui/browser-encoder.d.ts +2 -0
- package/esm/src/agent/ag-ui/browser-encoder.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/browser-encoder.js +70 -13
- package/esm/src/agent/ag-ui/runtime-chat-stream-encoder.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/runtime-chat-stream-encoder.js +19 -4
- package/esm/src/agent/conversation/run-events.d.ts +3 -0
- package/esm/src/agent/conversation/run-events.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-events.js +25 -3
- package/esm/src/agent/runtime/current-run-tool-state.d.ts +18 -0
- package/esm/src/agent/runtime/current-run-tool-state.d.ts.map +1 -1
- package/esm/src/agent/runtime/current-run-tool-state.js +273 -6
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +26 -1
- package/esm/src/chat/ag-ui.d.ts +3 -6
- package/esm/src/chat/ag-ui.d.ts.map +1 -1
- package/esm/src/chat/ag-ui.js +11 -10
- package/esm/src/chat/compat.d.ts +3 -6
- package/esm/src/chat/compat.d.ts.map +1 -1
- package/esm/src/chat/protocol.d.ts +6 -0
- package/esm/src/chat/protocol.d.ts.map +1 -1
- package/esm/src/html/styles-builder/plugin-loader.d.ts +6 -0
- package/esm/src/html/styles-builder/plugin-loader.d.ts.map +1 -1
- package/esm/src/html/styles-builder/plugin-loader.js +12 -0
- package/esm/src/internal-agents/ag-ui-sse.d.ts.map +1 -1
- package/esm/src/internal-agents/ag-ui-sse.js +14 -3
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-request-builder.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-anthropic/src/anthropic-request-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"anthropic-request-builder.d.ts","sourceRoot":"","sources":["../../../../src/extensions/ext-llm-anthropic/src/anthropic-request-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,16 +73,19 @@ function toAnthropicMessages(prompt, systemCacheControl) {
|
|
|
73
73
|
const lastAssistantTextIndex = prompt.findLastIndex((message) => message.role === "assistant" &&
|
|
74
74
|
message.content.some((part) => part.type === "text" && part.text.length > 0));
|
|
75
75
|
let skippingHistoricalToolResults = false;
|
|
76
|
+
let pendingToolUseIds = new Set();
|
|
76
77
|
for (const [index, message] of prompt.entries()) {
|
|
77
78
|
switch (message.role) {
|
|
78
79
|
case "system":
|
|
79
80
|
skippingHistoricalToolResults = false;
|
|
81
|
+
pendingToolUseIds = new Set();
|
|
80
82
|
if (message.content.length > 0) {
|
|
81
83
|
systemParts.push(message.content);
|
|
82
84
|
}
|
|
83
85
|
break;
|
|
84
86
|
case "user":
|
|
85
87
|
skippingHistoricalToolResults = false;
|
|
88
|
+
pendingToolUseIds = new Set();
|
|
86
89
|
pushAnthropicUserContent(messages, toAnthropicUserContent(message.content));
|
|
87
90
|
break;
|
|
88
91
|
case "assistant": {
|
|
@@ -94,8 +97,10 @@ function toAnthropicMessages(prompt, systemCacheControl) {
|
|
|
94
97
|
: message.content;
|
|
95
98
|
if (assistantContent.length === 0) {
|
|
96
99
|
skippingHistoricalToolResults = shouldCompactCompletedToolRound;
|
|
100
|
+
pendingToolUseIds = new Set();
|
|
97
101
|
break;
|
|
98
102
|
}
|
|
103
|
+
pendingToolUseIds = new Set(assistantContent.flatMap((part) => part.type === "tool-call" ? [part.toolCallId] : []));
|
|
99
104
|
messages.push({
|
|
100
105
|
role: "assistant",
|
|
101
106
|
content: assistantContent.map((part) => {
|
|
@@ -126,16 +131,24 @@ function toAnthropicMessages(prompt, systemCacheControl) {
|
|
|
126
131
|
skippingHistoricalToolResults = shouldCompactCompletedToolRound;
|
|
127
132
|
break;
|
|
128
133
|
}
|
|
129
|
-
case "tool":
|
|
134
|
+
case "tool": {
|
|
130
135
|
if (skippingHistoricalToolResults) {
|
|
131
136
|
break;
|
|
132
137
|
}
|
|
133
|
-
|
|
138
|
+
const matchingToolResults = message.content.filter((part) => pendingToolUseIds.has(part.toolCallId));
|
|
139
|
+
if (matchingToolResults.length === 0) {
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
pushAnthropicUserContent(messages, matchingToolResults.map((part) => ({
|
|
134
143
|
type: "tool_result",
|
|
135
144
|
tool_use_id: part.toolCallId,
|
|
136
145
|
content: stringifyJsonValue(part.output.value),
|
|
137
146
|
})));
|
|
147
|
+
for (const part of matchingToolResults) {
|
|
148
|
+
pendingToolUseIds.delete(part.toolCallId);
|
|
149
|
+
}
|
|
138
150
|
break;
|
|
151
|
+
}
|
|
139
152
|
}
|
|
140
153
|
}
|
|
141
154
|
if (systemParts.length === 0) {
|
|
@@ -16,6 +16,8 @@ export interface AgUiBrowserRunFinishedMetadata {
|
|
|
16
16
|
export interface AgUiBrowserEncoderState {
|
|
17
17
|
messageId: string | null;
|
|
18
18
|
textOpen: boolean;
|
|
19
|
+
activeTextContentId: string | null;
|
|
20
|
+
textContentIndex: number;
|
|
19
21
|
reasoningMessageId: string | null;
|
|
20
22
|
activeStepName: string | null;
|
|
21
23
|
stepCount: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-encoder.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/browser-encoder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,mEAAmE;AACnE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,uCAAuC;AACvC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,8BAA8B,CAAC;CAC1C;AAED,+CAA+C;AAC/C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,8CAA8C;AAC9C,wBAAgB,6BAA6B,IAAI,uBAAuB,
|
|
1
|
+
{"version":3,"file":"browser-encoder.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/browser-encoder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,8CAA8C;AAC9C,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,mEAAmE;AACnE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,uCAAuC;AACvC,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,8BAA8B,CAAC;CAC1C;AAED,+CAA+C;AAC/C,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,8CAA8C;AAC9C,wBAAgB,6BAA6B,IAAI,uBAAuB,CAcvE;AAqJD,yDAAyD;AACzD,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,8BAA8B,GACvC,aAAa,GAAG,IAAI,CA6BtB;AAoID,wDAAwD;AACxD,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,uBAAuB,EAC9B,KAAK,EAAE,sBAAsB,GAC5B,uBAAuB,EAAE,CA+N3B;AAED,4CAA4C;AAC5C,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC7B,uBAAuB,EAAE,CA8B3B"}
|
|
@@ -4,6 +4,8 @@ export function createAgUiBrowserEncoderState() {
|
|
|
4
4
|
return {
|
|
5
5
|
messageId: null,
|
|
6
6
|
textOpen: false,
|
|
7
|
+
activeTextContentId: null,
|
|
8
|
+
textContentIndex: 0,
|
|
7
9
|
reasoningMessageId: null,
|
|
8
10
|
activeStepName: null,
|
|
9
11
|
stepCount: 0,
|
|
@@ -48,6 +50,48 @@ function getReasoningMessageId(state, event) {
|
|
|
48
50
|
}
|
|
49
51
|
return state.reasoningMessageId;
|
|
50
52
|
}
|
|
53
|
+
function getTextMessageIdentity(state, event) {
|
|
54
|
+
const previousMessageId = state.messageId;
|
|
55
|
+
const explicitMessageId = typeof event.messageId === "string" && event.messageId.length > 0
|
|
56
|
+
? event.messageId
|
|
57
|
+
: null;
|
|
58
|
+
const messageId = getMessageId(state, event);
|
|
59
|
+
const explicitContentId = typeof event.contentId === "string" && event.contentId.length > 0
|
|
60
|
+
? event.contentId
|
|
61
|
+
: null;
|
|
62
|
+
const eventId = typeof event.id === "string" && event.id.length > 0 ? event.id : null;
|
|
63
|
+
const contentId = explicitContentId ??
|
|
64
|
+
(eventId && eventId !== messageId && (explicitMessageId || previousMessageId)
|
|
65
|
+
? eventId
|
|
66
|
+
: null) ??
|
|
67
|
+
(state.textOpen && state.activeTextContentId ? state.activeTextContentId : null) ??
|
|
68
|
+
`text:${state.textContentIndex++}`;
|
|
69
|
+
return {
|
|
70
|
+
messageId,
|
|
71
|
+
contentId,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function getCandidateTextMessageIdentity(state, event) {
|
|
75
|
+
const explicitMessageId = typeof event.messageId === "string" && event.messageId.length > 0
|
|
76
|
+
? event.messageId
|
|
77
|
+
: null;
|
|
78
|
+
const messageId = explicitMessageId ?? state.messageId ??
|
|
79
|
+
(typeof event.id === "string" && event.id.length > 0 ? event.id : null);
|
|
80
|
+
const explicitContentId = typeof event.contentId === "string" && event.contentId.length > 0
|
|
81
|
+
? event.contentId
|
|
82
|
+
: null;
|
|
83
|
+
const eventId = typeof event.id === "string" && event.id.length > 0 ? event.id : null;
|
|
84
|
+
const contentId = explicitContentId ??
|
|
85
|
+
(eventId && messageId && eventId !== messageId && (explicitMessageId || state.messageId)
|
|
86
|
+
? eventId
|
|
87
|
+
: null) ??
|
|
88
|
+
state.activeTextContentId;
|
|
89
|
+
return { messageId, contentId };
|
|
90
|
+
}
|
|
91
|
+
function isActiveTextIdentity(state, event) {
|
|
92
|
+
const identity = getCandidateTextMessageIdentity(state, event);
|
|
93
|
+
return identity.messageId === state.messageId && identity.contentId === state.activeTextContentId;
|
|
94
|
+
}
|
|
51
95
|
function nextStepName(state) {
|
|
52
96
|
state.stepCount += 1;
|
|
53
97
|
state.activeStepName = `step-${state.stepCount}`;
|
|
@@ -172,14 +216,14 @@ function createReasoningEvent(state, event, type) {
|
|
|
172
216
|
: { messageId },
|
|
173
217
|
};
|
|
174
218
|
}
|
|
175
|
-
function createTextEvent(messageId, type, delta = "") {
|
|
219
|
+
function createTextEvent(messageId, type, delta = "", contentId) {
|
|
176
220
|
return {
|
|
177
221
|
event: type,
|
|
178
222
|
payload: type === "TextMessageStart"
|
|
179
|
-
? { messageId, role: "assistant" }
|
|
223
|
+
? { messageId, contentId, role: "assistant" }
|
|
180
224
|
: type === "TextMessageContent"
|
|
181
|
-
? { messageId, delta }
|
|
182
|
-
: { messageId },
|
|
225
|
+
? { messageId, contentId, delta }
|
|
226
|
+
: { messageId, contentId },
|
|
183
227
|
};
|
|
184
228
|
}
|
|
185
229
|
function closeOpenTextEvent(state) {
|
|
@@ -187,7 +231,9 @@ function closeOpenTextEvent(state) {
|
|
|
187
231
|
return [];
|
|
188
232
|
}
|
|
189
233
|
state.textOpen = false;
|
|
190
|
-
|
|
234
|
+
const event = createTextEvent(getMessageId(state, { type: "text-end" }), "TextMessageEnd", "", state.activeTextContentId ?? `text:${state.textContentIndex++}`);
|
|
235
|
+
state.activeTextContentId = null;
|
|
236
|
+
return [event];
|
|
191
237
|
}
|
|
192
238
|
function closeOpenReasoningEvent(state) {
|
|
193
239
|
if (state.reasoningMessageId === null) {
|
|
@@ -216,31 +262,42 @@ export function mapRuntimeStreamEventToAgUiBrowserEvents(state, event) {
|
|
|
216
262
|
return [];
|
|
217
263
|
case "text-start": {
|
|
218
264
|
const events = closeOpenReasoningEvent(state);
|
|
219
|
-
if (state.textOpen)
|
|
220
|
-
|
|
221
|
-
|
|
265
|
+
if (state.textOpen) {
|
|
266
|
+
if (isActiveTextIdentity(state, event))
|
|
267
|
+
return events;
|
|
268
|
+
events.push(...closeOpenTextEvent(state));
|
|
269
|
+
}
|
|
270
|
+
const { messageId, contentId } = getTextMessageIdentity(state, event);
|
|
222
271
|
state.textOpen = true;
|
|
272
|
+
state.activeTextContentId = contentId;
|
|
223
273
|
state.sawVisibleOutput = true;
|
|
224
|
-
events.push(createTextEvent(messageId, "TextMessageStart"));
|
|
274
|
+
events.push(createTextEvent(messageId, "TextMessageStart", "", contentId));
|
|
225
275
|
return events;
|
|
226
276
|
}
|
|
227
277
|
case "text-delta": {
|
|
228
278
|
const events = closeOpenReasoningEvent(state);
|
|
229
|
-
|
|
279
|
+
if (state.textOpen && !isActiveTextIdentity(state, event)) {
|
|
280
|
+
events.push(...closeOpenTextEvent(state));
|
|
281
|
+
}
|
|
282
|
+
const { messageId, contentId } = getTextMessageIdentity(state, event);
|
|
230
283
|
state.sawVisibleOutput = true;
|
|
231
284
|
if (!state.textOpen) {
|
|
232
285
|
state.textOpen = true;
|
|
233
|
-
|
|
286
|
+
state.activeTextContentId = contentId;
|
|
287
|
+
events.push(createTextEvent(messageId, "TextMessageStart", "", contentId), createTextEvent(messageId, "TextMessageContent", typeof event.delta === "string" ? event.delta : "", contentId));
|
|
234
288
|
return events;
|
|
235
289
|
}
|
|
236
|
-
events.push(createTextEvent(messageId, "TextMessageContent", typeof event.delta === "string" ? event.delta : ""));
|
|
290
|
+
events.push(createTextEvent(messageId, "TextMessageContent", typeof event.delta === "string" ? event.delta : "", state.activeTextContentId ?? contentId));
|
|
237
291
|
return events;
|
|
238
292
|
}
|
|
239
293
|
case "text-end": {
|
|
240
294
|
if (!state.textOpen)
|
|
241
295
|
return [];
|
|
296
|
+
const { messageId, contentId } = getTextMessageIdentity(state, event);
|
|
242
297
|
state.textOpen = false;
|
|
243
|
-
|
|
298
|
+
const resolvedContentId = state.activeTextContentId ?? contentId;
|
|
299
|
+
state.activeTextContentId = null;
|
|
300
|
+
return [createTextEvent(messageId, "TextMessageEnd", "", resolvedContentId)];
|
|
244
301
|
}
|
|
245
302
|
case "reasoning-start": {
|
|
246
303
|
const events = closeOpenTextEvent(state);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-chat-stream-encoder.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/runtime-chat-stream-encoder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEhF,mDAAmD;AACnD,MAAM,WAAW,iCAAiC;IAChD,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;CAChC;AAED,iEAAiE;AACjE,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,iCAAiC,CAAC;IACzC,MAAM,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,eAAe,EAAE,CAAC;CAC9D;AAED,oEAAoE;AACpE,MAAM,WAAW,yCAAyC;IACxD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"runtime-chat-stream-encoder.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/ag-ui/runtime-chat-stream-encoder.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEhF,mDAAmD;AACnD,MAAM,WAAW,iCAAiC;IAChD,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,gBAAgB,CAAC;CAChC;AAED,iEAAiE;AACjE,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,iCAAiC,CAAC;IACzC,MAAM,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,eAAe,EAAE,CAAC;CAC9D;AAED,oEAAoE;AACpE,MAAM,WAAW,yCAAyC;IACxD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACtC;AA6ED,gDAAgD;AAChD,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,yCAAyC,GACjD,4BAA4B,CAiS9B"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import * as dntShim from "../../../_dnt.shims.js";
|
|
2
2
|
import { mergeToolInputDelta, parseToolInputObject, stripLeadingEmptyObjectPlaceholder, } from "../streaming/data-stream.js";
|
|
3
|
+
function createTextChunk(type, responseMessageId, blockId) {
|
|
4
|
+
return {
|
|
5
|
+
type,
|
|
6
|
+
id: responseMessageId,
|
|
7
|
+
contentId: blockId,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
function createTextDeltaChunk(responseMessageId, blockId, delta) {
|
|
11
|
+
return {
|
|
12
|
+
type: "text-delta",
|
|
13
|
+
id: responseMessageId,
|
|
14
|
+
contentId: blockId,
|
|
15
|
+
delta,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
3
18
|
function getStringField(event, key) {
|
|
4
19
|
const value = event[key];
|
|
5
20
|
return typeof value === "string" ? value : undefined;
|
|
@@ -98,7 +113,7 @@ export function createAgUiRuntimeChatStreamEncoder(options) {
|
|
|
98
113
|
seenTextBlockIds.add(id);
|
|
99
114
|
}
|
|
100
115
|
else if (startedTextBlockIds.has(id)) {
|
|
101
|
-
events.push(
|
|
116
|
+
events.push(createTextChunk("text-start", options.responseMessageId, id));
|
|
102
117
|
}
|
|
103
118
|
return events;
|
|
104
119
|
}
|
|
@@ -112,16 +127,16 @@ export function createAgUiRuntimeChatStreamEncoder(options) {
|
|
|
112
127
|
if (!startedTextBlockIds.has(id)) {
|
|
113
128
|
startedTextBlockIds.add(id);
|
|
114
129
|
seenTextBlockIds.add(id);
|
|
115
|
-
events.push(
|
|
130
|
+
events.push(createTextChunk("text-start", options.responseMessageId, id));
|
|
116
131
|
}
|
|
117
|
-
events.push(
|
|
132
|
+
events.push(createTextDeltaChunk(options.responseMessageId, id, delta));
|
|
118
133
|
return events;
|
|
119
134
|
}
|
|
120
135
|
case "text-end": {
|
|
121
136
|
const id = getStringField(event, "id") ?? options.responseMessageId;
|
|
122
137
|
if (startedTextBlockIds.has(id)) {
|
|
123
138
|
startedTextBlockIds.delete(id);
|
|
124
|
-
events.push(
|
|
139
|
+
events.push(createTextChunk("text-end", options.responseMessageId, id));
|
|
125
140
|
}
|
|
126
141
|
return events;
|
|
127
142
|
}
|
|
@@ -30,7 +30,10 @@ export declare class ConversationRunEventEncoder {
|
|
|
30
30
|
private readonly streamedToolInputs;
|
|
31
31
|
private readonly toolInputs;
|
|
32
32
|
private activeMessageId;
|
|
33
|
+
private activeTextContentId;
|
|
34
|
+
private textContentIndex;
|
|
33
35
|
private getToolResultMessageId;
|
|
36
|
+
private getTextMessagePayload;
|
|
34
37
|
private serializeToolResultContent;
|
|
35
38
|
encode(chunk: ChatStreamEvent): ConversationRunEvent[];
|
|
36
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,iDAAiD;AACjD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAY5B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;iCAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;iCAA4C,CAAC;AAEpF,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyB5B,gDAAgD;AAChD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,eAAe,CAAuB;
|
|
1
|
+
{"version":3,"file":"run-events.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/conversation/run-events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,iDAAiD;AACjD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;CAY5B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;iCAIzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;iCAA4C,CAAC;AAEpF,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAC5B,WAAW,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,GAC7D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyB5B,gDAAgD;AAChD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,0BAA0B;IAYlC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,oBAAoB,EAAE;CAwJvD;AAED,6CAA6C;AAC7C,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB;AAED,kDAAkD;AAClD,wBAAgB,qCAAqC,CACnD,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,8BAAoC,GAC1C,oBAAoB,EAAE,CAExB"}
|
|
@@ -45,11 +45,30 @@ export class ConversationRunEventEncoder {
|
|
|
45
45
|
streamedToolInputs = new Set();
|
|
46
46
|
toolInputs = new Map();
|
|
47
47
|
activeMessageId = null;
|
|
48
|
+
activeTextContentId = null;
|
|
49
|
+
textContentIndex = 0;
|
|
48
50
|
getToolResultMessageId(toolCallId) {
|
|
49
51
|
return this.activeMessageId
|
|
50
52
|
? `${this.activeMessageId}:tool:${toolCallId}`
|
|
51
53
|
: `tool:${toolCallId}`;
|
|
52
54
|
}
|
|
55
|
+
getTextMessagePayload(chunk) {
|
|
56
|
+
const explicitMessageId = typeof chunk.messageId === "string" && chunk.messageId.length > 0
|
|
57
|
+
? chunk.messageId
|
|
58
|
+
: null;
|
|
59
|
+
const messageId = explicitMessageId ?? this.activeMessageId ?? chunk.id;
|
|
60
|
+
const explicitContentId = typeof chunk.contentId === "string" && chunk.contentId.length > 0
|
|
61
|
+
? chunk.contentId
|
|
62
|
+
: null;
|
|
63
|
+
const chunkContentId = chunk.id !== messageId ? chunk.id : null;
|
|
64
|
+
const contentId = explicitContentId ?? chunkContentId ?? this.activeTextContentId ??
|
|
65
|
+
`text:${this.textContentIndex++}`;
|
|
66
|
+
this.activeTextContentId = chunk.type === "text-end" ? null : contentId;
|
|
67
|
+
return {
|
|
68
|
+
messageId,
|
|
69
|
+
contentId,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
53
72
|
serializeToolResultContent(value) {
|
|
54
73
|
if (typeof value === "string") {
|
|
55
74
|
return value;
|
|
@@ -69,17 +88,20 @@ export class ConversationRunEventEncoder {
|
|
|
69
88
|
case "text-start":
|
|
70
89
|
return [{
|
|
71
90
|
type: conversationRunEventTypes.textMessageStart,
|
|
72
|
-
|
|
91
|
+
...this.getTextMessagePayload(chunk),
|
|
73
92
|
role: "assistant",
|
|
74
93
|
}];
|
|
75
94
|
case "text-delta":
|
|
76
95
|
return [{
|
|
77
96
|
type: conversationRunEventTypes.textMessageContent,
|
|
78
|
-
|
|
97
|
+
...this.getTextMessagePayload(chunk),
|
|
79
98
|
delta: chunk.delta,
|
|
80
99
|
}];
|
|
81
100
|
case "text-end":
|
|
82
|
-
return [{
|
|
101
|
+
return [{
|
|
102
|
+
type: conversationRunEventTypes.textMessageEnd,
|
|
103
|
+
...this.getTextMessagePayload(chunk),
|
|
104
|
+
}];
|
|
83
105
|
case "reasoning-start":
|
|
84
106
|
return [{
|
|
85
107
|
type: conversationRunEventTypes.reasoningMessageStart,
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
type ToolStatus = "success" | "empty" | "error";
|
|
2
|
+
export type CurrentRunToolEvidence = {
|
|
3
|
+
recordId: string;
|
|
4
|
+
fields: Record<string, string>;
|
|
5
|
+
};
|
|
2
6
|
export type CurrentRunToolStateCall = {
|
|
3
7
|
toolCallIds: string[];
|
|
4
8
|
input: unknown;
|
|
5
9
|
status: ToolStatus;
|
|
6
10
|
summary: unknown;
|
|
11
|
+
evidence?: CurrentRunToolEvidence[];
|
|
7
12
|
updatedAt: string;
|
|
8
13
|
};
|
|
9
14
|
export type CurrentRunToolState = Record<string, {
|
|
@@ -20,6 +25,13 @@ export type CurrentRunToolStateHydrationMessage = {
|
|
|
20
25
|
role?: string;
|
|
21
26
|
parts?: readonly unknown[];
|
|
22
27
|
};
|
|
28
|
+
export declare function extractCurrentRunEvidence(result: unknown): CurrentRunToolEvidence[];
|
|
29
|
+
export declare function validateInvokeAgentInputAgainstCurrentRunEvidence(state: CurrentRunToolState, input: unknown): {
|
|
30
|
+
ok: true;
|
|
31
|
+
} | {
|
|
32
|
+
ok: false;
|
|
33
|
+
error: string;
|
|
34
|
+
};
|
|
23
35
|
export declare function createToolInputFingerprint(input: unknown): string;
|
|
24
36
|
export declare function summarizeToolResultForCurrentRunState(toolName: string, result: unknown): {
|
|
25
37
|
summary: unknown;
|
|
@@ -46,6 +58,12 @@ type PromptSemanticToolCall = {
|
|
|
46
58
|
};
|
|
47
59
|
type PromptRunState = {
|
|
48
60
|
tools: PromptToolState;
|
|
61
|
+
skills?: Record<string, {
|
|
62
|
+
status: ToolStatus;
|
|
63
|
+
callCount: number;
|
|
64
|
+
source: string;
|
|
65
|
+
summary: unknown;
|
|
66
|
+
}>;
|
|
49
67
|
actions?: Record<string, {
|
|
50
68
|
status: ToolStatus;
|
|
51
69
|
source: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"current-run-tool-state.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/current-run-tool-state.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAEhD,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC,MAAM,EACN;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;CAAE,CACnD,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC5B,CAAC;
|
|
1
|
+
{"version":3,"file":"current-run-tool-state.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/current-run-tool-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,254 @@ import { historicalToolSummaries } from "../../integrations/_tool_summaries.js";
|
|
|
2
2
|
const MAX_FALLBACK_ITEMS = 5;
|
|
3
3
|
const MAX_FALLBACK_STRING_LENGTH = 300;
|
|
4
4
|
const MAX_OBJECT_ARRAY_ITEMS = 5;
|
|
5
|
+
const MAX_EVIDENCE_TEXT_LENGTH = 20_000;
|
|
6
|
+
const MAX_EVIDENCE_STRINGS = 12;
|
|
7
|
+
const MAX_EVIDENCE_RECORDS = 25;
|
|
8
|
+
const MAX_EVIDENCE_FIELDS_PER_RECORD = 12;
|
|
9
|
+
const RECORD_ID_PATTERN = /\b[A-Z][A-Z0-9]+-\d{4}-\d{3,}\b/g;
|
|
10
|
+
const NEXT_RECORD_ID_PATTERN = /\b[A-Z][A-Z0-9]+-\d{4}-\d{3,}\b/;
|
|
11
|
+
const GUARDED_FACT_ALIASES = {
|
|
12
|
+
supplier: ["supplier", "vendor"],
|
|
13
|
+
vendor: ["vendor", "supplier"],
|
|
14
|
+
customer: ["customer", "client"],
|
|
15
|
+
client: ["client", "customer"],
|
|
16
|
+
owner: ["owner", "assignee", "assigned_to"],
|
|
17
|
+
assignee: ["assignee", "owner", "assigned_to"],
|
|
18
|
+
company: ["company", "organization", "account"],
|
|
19
|
+
account: ["account", "company", "organization"],
|
|
20
|
+
};
|
|
21
|
+
const NON_EVIDENCE_TOOL_NAMES = new Set([
|
|
22
|
+
"load_skill",
|
|
23
|
+
"load_skill_reference",
|
|
24
|
+
"execute_skill_script",
|
|
25
|
+
]);
|
|
5
26
|
function isRecord(value) {
|
|
6
27
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
7
28
|
}
|
|
8
29
|
function truncate(value, maxLength) {
|
|
9
30
|
return value.length > maxLength ? `${value.slice(0, maxLength)}…` : value;
|
|
10
31
|
}
|
|
32
|
+
function normalizeWhitespace(value) {
|
|
33
|
+
return value.replace(/\s+/g, " ").trim();
|
|
34
|
+
}
|
|
35
|
+
function stripMarkdownCell(value) {
|
|
36
|
+
return normalizeWhitespace(value.replace(/^[-–—>→\s]+/, "").replace(/\*\*/g, ""));
|
|
37
|
+
}
|
|
38
|
+
function normalizeEvidenceField(value) {
|
|
39
|
+
return normalizeWhitespace(value)
|
|
40
|
+
.toLowerCase()
|
|
41
|
+
.replace(/[^a-z0-9]+/g, "_")
|
|
42
|
+
.replace(/^_+|_+$/g, "");
|
|
43
|
+
}
|
|
44
|
+
function normalizeEvidenceValue(value) {
|
|
45
|
+
return stripMarkdownCell(value)
|
|
46
|
+
.replace(/^["'`]+|["'`]+$/g, "")
|
|
47
|
+
.replace(/[.!?;,]+$/g, "")
|
|
48
|
+
.trim();
|
|
49
|
+
}
|
|
50
|
+
function getRecordIds(value) {
|
|
51
|
+
return Array.from(new Set(value.match(RECORD_ID_PATTERN) ?? []));
|
|
52
|
+
}
|
|
53
|
+
function mergeEvidenceField(evidenceByRecordId, recordId, field, value) {
|
|
54
|
+
const normalizedField = normalizeEvidenceField(field);
|
|
55
|
+
const normalizedValue = normalizeEvidenceValue(value);
|
|
56
|
+
if (!normalizedField || !normalizedValue || normalizedValue === recordId)
|
|
57
|
+
return;
|
|
58
|
+
if (getRecordIds(normalizedValue).includes(recordId))
|
|
59
|
+
return;
|
|
60
|
+
const fields = evidenceByRecordId.get(recordId) ?? {};
|
|
61
|
+
if (Object.keys(fields).length >= MAX_EVIDENCE_FIELDS_PER_RECORD && !(normalizedField in fields)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
fields[normalizedField] = truncate(normalizedValue, 160);
|
|
65
|
+
evidenceByRecordId.set(recordId, fields);
|
|
66
|
+
}
|
|
67
|
+
function parseMarkdownTableRow(line) {
|
|
68
|
+
const trimmed = line.trim();
|
|
69
|
+
const withoutOuterPipes = trimmed.replace(/^\|/, "").replace(/\|$/, "");
|
|
70
|
+
return withoutOuterPipes.split("|").map(stripMarkdownCell);
|
|
71
|
+
}
|
|
72
|
+
function isMarkdownTableSeparator(line) {
|
|
73
|
+
const trimmed = line.trim();
|
|
74
|
+
const withoutOuterPipes = trimmed.replace(/^\|/, "").replace(/\|$/, "");
|
|
75
|
+
const cells = withoutOuterPipes.split("|").map((cell) => cell.trim());
|
|
76
|
+
return cells.length > 0 && cells.every((cell) => /^:?-{3,}:?$/.test(cell.replace(/\s+/g, "")));
|
|
77
|
+
}
|
|
78
|
+
function collectStringLeaves(value, strings = []) {
|
|
79
|
+
if (strings.length >= MAX_EVIDENCE_STRINGS)
|
|
80
|
+
return strings;
|
|
81
|
+
if (typeof value === "string") {
|
|
82
|
+
if (value.trim())
|
|
83
|
+
strings.push(value.slice(0, MAX_EVIDENCE_TEXT_LENGTH));
|
|
84
|
+
return strings;
|
|
85
|
+
}
|
|
86
|
+
if (Array.isArray(value)) {
|
|
87
|
+
for (const item of value)
|
|
88
|
+
collectStringLeaves(item, strings);
|
|
89
|
+
return strings;
|
|
90
|
+
}
|
|
91
|
+
if (isRecord(value)) {
|
|
92
|
+
for (const entry of Object.values(value))
|
|
93
|
+
collectStringLeaves(entry, strings);
|
|
94
|
+
}
|
|
95
|
+
return strings;
|
|
96
|
+
}
|
|
97
|
+
function extractEvidenceFromMarkdownTable(lines, startIndex, evidenceByRecordId) {
|
|
98
|
+
const headers = parseMarkdownTableRow(lines[startIndex] ?? "");
|
|
99
|
+
let cursor = startIndex + 2;
|
|
100
|
+
const rows = [];
|
|
101
|
+
while (cursor < lines.length && lines[cursor]?.includes("|")) {
|
|
102
|
+
const row = parseMarkdownTableRow(lines[cursor] ?? "");
|
|
103
|
+
if (row.length === headers.length)
|
|
104
|
+
rows.push(row);
|
|
105
|
+
cursor++;
|
|
106
|
+
}
|
|
107
|
+
const keyValueRows = rows.filter((row) => row.length >= 2);
|
|
108
|
+
const isKeyValueTable = headers.length === 2 &&
|
|
109
|
+
normalizeEvidenceField(headers[0] ?? "") === "field" &&
|
|
110
|
+
normalizeEvidenceField(headers[1] ?? "") === "value";
|
|
111
|
+
const primaryRecordId = keyValueRows
|
|
112
|
+
.map((row) => getRecordIds(row[1] ?? "")[0])
|
|
113
|
+
.find((recordId) => typeof recordId === "string");
|
|
114
|
+
if (isKeyValueTable && primaryRecordId) {
|
|
115
|
+
for (const row of keyValueRows) {
|
|
116
|
+
mergeEvidenceField(evidenceByRecordId, primaryRecordId, row[0] ?? "", row[1] ?? "");
|
|
117
|
+
}
|
|
118
|
+
return cursor;
|
|
119
|
+
}
|
|
120
|
+
for (const row of rows) {
|
|
121
|
+
const rowIds = row.flatMap(getRecordIds);
|
|
122
|
+
for (const recordId of rowIds) {
|
|
123
|
+
for (const [index, value] of row.entries()) {
|
|
124
|
+
const field = headers[index] ?? "";
|
|
125
|
+
if (!field || getRecordIds(value).includes(recordId))
|
|
126
|
+
continue;
|
|
127
|
+
mergeEvidenceField(evidenceByRecordId, recordId, field, value);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return cursor;
|
|
132
|
+
}
|
|
133
|
+
export function extractCurrentRunEvidence(result) {
|
|
134
|
+
const evidenceByRecordId = new Map();
|
|
135
|
+
for (const text of collectStringLeaves(result)) {
|
|
136
|
+
const lines = text.split(/\r?\n/);
|
|
137
|
+
for (let index = 0; index < lines.length; index++) {
|
|
138
|
+
const line = lines[index] ?? "";
|
|
139
|
+
if (!line.includes("|") || !lines[index + 1]?.includes("|"))
|
|
140
|
+
continue;
|
|
141
|
+
if (!isMarkdownTableSeparator(lines[index + 1] ?? ""))
|
|
142
|
+
continue;
|
|
143
|
+
index = extractEvidenceFromMarkdownTable(lines, index, evidenceByRecordId) - 1;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return Array.from(evidenceByRecordId.entries())
|
|
147
|
+
.slice(0, MAX_EVIDENCE_RECORDS)
|
|
148
|
+
.map(([recordId, fields]) => ({ recordId, fields }));
|
|
149
|
+
}
|
|
150
|
+
function getEvidenceFieldsForRecord(state, recordId) {
|
|
151
|
+
const fields = {};
|
|
152
|
+
for (const bucket of Object.values(state)) {
|
|
153
|
+
for (const call of Object.values(bucket.calls)) {
|
|
154
|
+
for (const evidence of call.evidence ?? []) {
|
|
155
|
+
if (evidence.recordId !== recordId)
|
|
156
|
+
continue;
|
|
157
|
+
Object.assign(fields, evidence.fields);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return fields;
|
|
162
|
+
}
|
|
163
|
+
function getExpectedEvidenceField(fields, field) {
|
|
164
|
+
const aliases = GUARDED_FACT_ALIASES[field] ?? [field];
|
|
165
|
+
for (const alias of aliases) {
|
|
166
|
+
if (fields[alias])
|
|
167
|
+
return { field: alias, value: fields[alias] };
|
|
168
|
+
}
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
function hasCompanyLikeShape(value) {
|
|
172
|
+
if (getRecordIds(value).length > 0)
|
|
173
|
+
return false;
|
|
174
|
+
if (/[€$£¥]\s?\d|\d{4,}/.test(value))
|
|
175
|
+
return false;
|
|
176
|
+
if (/\b(invoice|record|item|payment|approval|escalation|matching)\b/i.test(value))
|
|
177
|
+
return false;
|
|
178
|
+
return /\b(GmbH|LLC|Ltd|Limited|Inc|Corp|Corporation|Company|Co\.?|AG|SA|BV|NV|PLC)\b/.test(value) ||
|
|
179
|
+
/^[A-Z][\p{L}'&.-]+(?:\s+[A-Z][\p{L}'&.-]+)+$/u.test(value);
|
|
180
|
+
}
|
|
181
|
+
function extractAssertedFieldValues(text) {
|
|
182
|
+
const assertions = [];
|
|
183
|
+
for (const field of Object.keys(GUARDED_FACT_ALIASES)) {
|
|
184
|
+
const aliases = GUARDED_FACT_ALIASES[field] ?? [field];
|
|
185
|
+
for (const alias of aliases) {
|
|
186
|
+
const pattern = new RegExp(`\\b${alias.replace(/_/g, "[ _-]")}\\b\\s*(?:is|:|=|named|called)?\\s+(.{2,100}?)(?=\\s+(?:for|with|matched|against|on|and|to|has|was|will|ready|blocked|created|released)\\b|[.,;\\n]|$)`, "giu");
|
|
187
|
+
for (const match of text.matchAll(pattern)) {
|
|
188
|
+
const value = normalizeEvidenceValue(match[1] ?? "");
|
|
189
|
+
if (hasCompanyLikeShape(value))
|
|
190
|
+
assertions.push({ field, value });
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return assertions;
|
|
195
|
+
}
|
|
196
|
+
function valuesConflict(actual, expected) {
|
|
197
|
+
const normalize = (value) => normalizeWhitespace(value).toLowerCase();
|
|
198
|
+
const left = normalize(actual);
|
|
199
|
+
const right = normalize(expected);
|
|
200
|
+
return left !== right && !left.includes(right) && !right.includes(left);
|
|
201
|
+
}
|
|
202
|
+
function escapeRegExp(value) {
|
|
203
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
204
|
+
}
|
|
205
|
+
function getRecordTextWindows(text, recordId) {
|
|
206
|
+
const windows = [];
|
|
207
|
+
const pattern = new RegExp(escapeRegExp(recordId), "g");
|
|
208
|
+
for (const match of text.matchAll(pattern)) {
|
|
209
|
+
const index = match.index ?? 0;
|
|
210
|
+
const before = text.slice(0, index);
|
|
211
|
+
const after = text.slice(index + recordId.length);
|
|
212
|
+
const previousRecordMatches = Array.from(before.matchAll(RECORD_ID_PATTERN));
|
|
213
|
+
const previousRecordMatch = previousRecordMatches.at(-1);
|
|
214
|
+
const previousRecordEnd = previousRecordMatch && typeof previousRecordMatch.index === "number"
|
|
215
|
+
? previousRecordMatch.index + previousRecordMatch[0].length
|
|
216
|
+
: -1;
|
|
217
|
+
const windowStart = Math.max(before.lastIndexOf("."), before.lastIndexOf("\n"), before.lastIndexOf(";"));
|
|
218
|
+
const nextRecordMatch = after.match(NEXT_RECORD_ID_PATTERN);
|
|
219
|
+
const nextRecordIndex = nextRecordMatch?.index;
|
|
220
|
+
const windowEnd = typeof nextRecordIndex === "number"
|
|
221
|
+
? Math.max(0, nextRecordIndex)
|
|
222
|
+
: Math.min(after.length, 300);
|
|
223
|
+
windows.push(normalizeWhitespace(text.slice(Math.max(previousRecordEnd, windowStart >= 0 ? windowStart + 1 : Math.max(0, index - 160)), index + recordId.length + windowEnd)));
|
|
224
|
+
}
|
|
225
|
+
return windows;
|
|
226
|
+
}
|
|
227
|
+
export function validateInvokeAgentInputAgainstCurrentRunEvidence(state, input) {
|
|
228
|
+
if (!isRecord(input))
|
|
229
|
+
return { ok: true };
|
|
230
|
+
const text = normalizeWhitespace([input.prompt, input.description, input.input]
|
|
231
|
+
.filter((value) => typeof value === "string")
|
|
232
|
+
.join("\n"));
|
|
233
|
+
if (!text)
|
|
234
|
+
return { ok: true };
|
|
235
|
+
for (const recordId of getRecordIds(text)) {
|
|
236
|
+
const evidenceFields = getEvidenceFieldsForRecord(state, recordId);
|
|
237
|
+
for (const window of getRecordTextWindows(text, recordId)) {
|
|
238
|
+
for (const assertion of extractAssertedFieldValues(window)) {
|
|
239
|
+
const expected = getExpectedEvidenceField(evidenceFields, assertion.field);
|
|
240
|
+
if (!expected || !valuesConflict(assertion.value, expected.value))
|
|
241
|
+
continue;
|
|
242
|
+
return {
|
|
243
|
+
ok: false,
|
|
244
|
+
error: `invoke_agent input conflicts with current run evidence: ${recordId} ${expected.field} is ` +
|
|
245
|
+
`"${expected.value}", but the tool input says "${assertion.value}". ` +
|
|
246
|
+
"Regenerate the tool call from recorded evidence, or delegate only the record id.",
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
return { ok: true };
|
|
252
|
+
}
|
|
11
253
|
function normalizeForFingerprint(value) {
|
|
12
254
|
if (Array.isArray(value))
|
|
13
255
|
return value.map(normalizeForFingerprint);
|
|
@@ -209,6 +451,9 @@ export function recordCurrentRunToolResult(state, input) {
|
|
|
209
451
|
const toolBucket = state[input.toolName] ?? { calls: {} };
|
|
210
452
|
const existingCall = toolBucket.calls[fingerprint];
|
|
211
453
|
const { summary, status } = summarizeToolResultForCurrentRunState(input.toolName, input.result);
|
|
454
|
+
const evidence = NON_EVIDENCE_TOOL_NAMES.has(input.toolName)
|
|
455
|
+
? []
|
|
456
|
+
: extractCurrentRunEvidence(input.result);
|
|
212
457
|
toolBucket.calls[fingerprint] = {
|
|
213
458
|
toolCallIds: existingCall?.toolCallIds.includes(input.toolCallId)
|
|
214
459
|
? existingCall.toolCallIds
|
|
@@ -216,6 +461,7 @@ export function recordCurrentRunToolResult(state, input) {
|
|
|
216
461
|
input: input.input ?? {},
|
|
217
462
|
status,
|
|
218
463
|
summary,
|
|
464
|
+
...(evidence.length > 0 ? { evidence } : {}),
|
|
219
465
|
updatedAt: (input.now ?? new Date()).toISOString(),
|
|
220
466
|
};
|
|
221
467
|
state[input.toolName] = toolBucket;
|
|
@@ -347,12 +593,22 @@ function getSemanticToolCall(input) {
|
|
|
347
593
|
compactStringParameter(input.call.input.stepId);
|
|
348
594
|
const idempotencyKey = compactStringParameter(input.call.input.idempotency_key) ??
|
|
349
595
|
compactStringParameter(input.call.input.idempotencyKey);
|
|
350
|
-
const
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
596
|
+
const recordId = compactStringParameter(input.call.input.record_id) ??
|
|
597
|
+
compactStringParameter(input.call.input.recordId) ??
|
|
598
|
+
compactStringParameter(input.call.input.invoice_id) ??
|
|
599
|
+
compactStringParameter(input.call.input.invoiceId) ??
|
|
600
|
+
compactStringParameter(input.call.input.entity_id) ??
|
|
601
|
+
compactStringParameter(input.call.input.entityId);
|
|
602
|
+
const keySuffix = recordId
|
|
603
|
+
? `:record:${recordId}`
|
|
604
|
+
: stepId
|
|
605
|
+
? `:step:${stepId}`
|
|
606
|
+
: idempotencyKey
|
|
607
|
+
? `:idempotency:${idempotencyKey}`
|
|
608
|
+
: "";
|
|
355
609
|
const parameters = { agent_id: agentId };
|
|
610
|
+
if (recordId)
|
|
611
|
+
parameters.record_id = recordId;
|
|
356
612
|
if (stepId)
|
|
357
613
|
parameters.step_id = stepId;
|
|
358
614
|
if (idempotencyKey)
|
|
@@ -386,6 +642,7 @@ function createPromptCallKey(input) {
|
|
|
386
642
|
}
|
|
387
643
|
export function projectCurrentRunToolStateForPrompt(state) {
|
|
388
644
|
const tools = {};
|
|
645
|
+
const skills = {};
|
|
389
646
|
const actions = {};
|
|
390
647
|
for (const [toolName, bucket] of Object.entries(state)) {
|
|
391
648
|
const calls = {};
|
|
@@ -397,7 +654,16 @@ export function projectCurrentRunToolStateForPrompt(state) {
|
|
|
397
654
|
};
|
|
398
655
|
const semantic = getSemanticToolCall({ toolName, call });
|
|
399
656
|
if (semantic) {
|
|
400
|
-
|
|
657
|
+
const mergedSemanticCall = mergeSemanticToolCall(semanticCalls[semantic.key], call, semantic.parameters);
|
|
658
|
+
semanticCalls[semantic.key] = mergedSemanticCall;
|
|
659
|
+
if (toolName === "load_skill" && semantic.parameters.skillId) {
|
|
660
|
+
skills[semantic.parameters.skillId] = {
|
|
661
|
+
status: mergedSemanticCall.status,
|
|
662
|
+
callCount: mergedSemanticCall.callCount,
|
|
663
|
+
source: `tools.${toolName}.semanticCalls.${semantic.key}`,
|
|
664
|
+
summary: mergedSemanticCall.summary,
|
|
665
|
+
};
|
|
666
|
+
}
|
|
401
667
|
actions[`${toolName}:${semantic.key}`] = {
|
|
402
668
|
status: call.status,
|
|
403
669
|
source: `tools.${toolName}.semanticCalls.${semantic.key}`,
|
|
@@ -414,6 +680,7 @@ export function projectCurrentRunToolStateForPrompt(state) {
|
|
|
414
680
|
}
|
|
415
681
|
return {
|
|
416
682
|
tools,
|
|
683
|
+
...(Object.keys(skills).length > 0 ? { skills } : {}),
|
|
417
684
|
...(Object.keys(actions).length > 0 ? { actions } : {}),
|
|
418
685
|
};
|
|
419
686
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,aAAa,EAGlB,KAAK,OAAO,EACZ,KAAK,WAAW,EAEhB,KAAK,QAAQ,EAEb,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAc/D,OAAO,EACL,KAAK,eAAe,EAGpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAYlC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,8BAA8B,EAC9B,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAiBxB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ import { accumulateUsage, getMaxSteps, normalizeInput } from "./input-utils.js";
|
|
|
44
44
|
import { filterToolsForSkill, isToolAllowedBySkill, validateAllowedToolPatterns, } from "../../skill/allowed-tools.js";
|
|
45
45
|
import { resolveConfiguredAgentModel, resolveRuntimeModel } from "./model-resolution.js";
|
|
46
46
|
import { stringifyToolError, throwIfAborted } from "./error-utils.js";
|
|
47
|
-
import { appendCurrentRunToolStateToSystemPrompt, createCurrentRunToolState, hydrateCurrentRunToolStateFromMessages, recordCurrentRunToolResult, } from "./current-run-tool-state.js";
|
|
47
|
+
import { appendCurrentRunToolStateToSystemPrompt, createCurrentRunToolState, hydrateCurrentRunToolStateFromMessages, recordCurrentRunToolResult, validateInvokeAgentInputAgainstCurrentRunEvidence, } from "./current-run-tool-state.js";
|
|
48
48
|
import { applySkillDelegationOverridesToToolInput, extractSkillDelegationOverrides, } from "./skill-delegation-overrides.js";
|
|
49
49
|
const logger = serverLogger.component("agent");
|
|
50
50
|
const LOAD_SKILL_TOOL_ID = "load_skill";
|
|
@@ -764,6 +764,24 @@ export class AgentRuntime {
|
|
|
764
764
|
const startTime = Date.now();
|
|
765
765
|
const cacheCtx = tryGetCacheKeyContext();
|
|
766
766
|
toolCall.args = applySkillDelegationOverridesToToolInput(tc.toolName, toolCall.args, activeSkillDelegationOverrides);
|
|
767
|
+
if (tc.toolName === "invoke_agent") {
|
|
768
|
+
const evidenceCheck = validateInvokeAgentInputAgainstCurrentRunEvidence(currentRunToolState, toolCall.args);
|
|
769
|
+
if (!evidenceCheck.ok) {
|
|
770
|
+
toolCall.status = "error";
|
|
771
|
+
toolCall.error = evidenceCheck.error;
|
|
772
|
+
const errorMessage = createToolErrorMessage(tc.toolCallId, tc.toolName, evidenceCheck.error);
|
|
773
|
+
currentMessages.push(errorMessage);
|
|
774
|
+
await this.memory.add(errorMessage);
|
|
775
|
+
recordCurrentRunToolResult(currentRunToolState, {
|
|
776
|
+
toolCallId: tc.toolCallId,
|
|
777
|
+
toolName: tc.toolName,
|
|
778
|
+
input: toolCall.args,
|
|
779
|
+
result: { error: evidenceCheck.error },
|
|
780
|
+
});
|
|
781
|
+
toolCalls.push(toolCall);
|
|
782
|
+
return;
|
|
783
|
+
}
|
|
784
|
+
}
|
|
767
785
|
const executionContext = {
|
|
768
786
|
toolCallId: tc.toolCallId,
|
|
769
787
|
...toolContext,
|
|
@@ -1074,6 +1092,13 @@ export class AgentRuntime {
|
|
|
1074
1092
|
toolCall.status = "executing";
|
|
1075
1093
|
const startTime = Date.now();
|
|
1076
1094
|
toolCall.args = applySkillDelegationOverridesToToolInput(tc.name, toolCall.args, activeSkillDelegationOverrides);
|
|
1095
|
+
if (tc.name === "invoke_agent") {
|
|
1096
|
+
const evidenceCheck = validateInvokeAgentInputAgainstCurrentRunEvidence(currentRunToolState, toolCall.args);
|
|
1097
|
+
if (!evidenceCheck.ok) {
|
|
1098
|
+
await this.recordToolError(toolCall, evidenceCheck.error, controller, encoder, currentMessages, toolCalls, currentRunToolState);
|
|
1099
|
+
continue;
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1077
1102
|
callbacks?.onToolCall?.(toolCall);
|
|
1078
1103
|
const executionContext = {
|
|
1079
1104
|
toolCallId: tc.id,
|
package/esm/src/chat/ag-ui.d.ts
CHANGED
|
@@ -158,24 +158,21 @@ export declare const getAgUiWireEventSchema: () => import("../internal-agents/sc
|
|
|
158
158
|
eventName: import("../internal-agents/schema.js").Schema<"TextMessageStart">;
|
|
159
159
|
payload: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
160
160
|
messageId: import("../internal-agents/schema.js").Schema<string>;
|
|
161
|
-
|
|
162
|
-
contentId: import("../internal-agents/schema.js").Schema<string | undefined>;
|
|
161
|
+
contentId: import("../internal-agents/schema.js").Schema<string>;
|
|
163
162
|
role: import("../internal-agents/schema.js").Schema<string | undefined>;
|
|
164
163
|
}>>;
|
|
165
164
|
}> | import("../extensions/schema/schema-validator.js").InferShape<{
|
|
166
165
|
eventName: import("../internal-agents/schema.js").Schema<"TextMessageContent">;
|
|
167
166
|
payload: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
168
167
|
messageId: import("../internal-agents/schema.js").Schema<string>;
|
|
169
|
-
|
|
170
|
-
contentId: import("../internal-agents/schema.js").Schema<string | undefined>;
|
|
168
|
+
contentId: import("../internal-agents/schema.js").Schema<string>;
|
|
171
169
|
delta: import("../internal-agents/schema.js").Schema<string>;
|
|
172
170
|
}>>;
|
|
173
171
|
}> | import("../extensions/schema/schema-validator.js").InferShape<{
|
|
174
172
|
eventName: import("../internal-agents/schema.js").Schema<"TextMessageEnd">;
|
|
175
173
|
payload: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
176
174
|
messageId: import("../internal-agents/schema.js").Schema<string>;
|
|
177
|
-
|
|
178
|
-
contentId: import("../internal-agents/schema.js").Schema<string | undefined>;
|
|
175
|
+
contentId: import("../internal-agents/schema.js").Schema<string>;
|
|
179
176
|
}>>;
|
|
180
177
|
}> | import("../extensions/schema/schema-validator.js").InferShape<{
|
|
181
178
|
eventName: import("../internal-agents/schema.js").Schema<"ToolCallStart">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui.d.ts","sourceRoot":"","sources":["../../../src/src/chat/ag-ui.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ag-ui.d.ts","sourceRoot":"","sources":["../../../src/src/chat/ag-ui.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAC;AAejC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAC;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,+BAA+B,CAAC;AASlF,2BAA2B;AAC3B,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,kBAAkB,GAC1B;IACA,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,GACC;IACA,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,GACC;IACA,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACnC,GACC;IACA,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEhE,0CAA0C;AAC1C,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,cAAc,EAAE,yBAAyB,CAAC;IAC1C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7F,CAAC;AA2BF,sDAAsD;AACtD,eAAO,MAAM,gCAAgC;;;;;;;;;;GAY5C,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,6BAA6B;;;;;;;;GAUzC,CAAC;AAmBF,iDAAiD;AACjD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCxC,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,sYAAsD,CAAC;AA+J9F,sDAAsD;AACtD,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,kBAAkB,EAAE,GAC7B,aAAa,EAAE,CA4BjB;AAED,2CAA2C;AAC3C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsHlC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAC/C,UAAU,CAAC,OAAO,gCAAgC,CAAC,CACpD,CAAC;AACF,wCAAwC;AACxC,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC;AAC/F,qDAAqD;AACrD,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAC3F,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC;AAmWnF,mCAAmC;AACnC,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CA+BzD;AAED,iDAAiD;AACjD,wBAAgB,+BAA+B,CAC7C,KAAK,GAAE;IACL,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,yBAAyB,CAAC;IAC3C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAChF,GACL,yBAAyB,CAU3B;AAED,8BAA8B;AAC9B,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,yBAAyB,EAChC,KAAK,EAAE,MAAM,GACZ,gBAAgB,CAuClB;AAED,6BAA6B;AAC7B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,yBAAyB,GAAG,gBAAgB,CAWpF"}
|
package/esm/src/chat/ag-ui.js
CHANGED
|
@@ -255,8 +255,7 @@ export const getAgUiWireEventSchema = defineSchema((v) => v.discriminatedUnion("
|
|
|
255
255
|
eventName: v.literal("TextMessageStart"),
|
|
256
256
|
payload: v.object({
|
|
257
257
|
messageId: v.string().min(1),
|
|
258
|
-
|
|
259
|
-
contentId: v.string().min(1).optional(),
|
|
258
|
+
contentId: v.string().min(1),
|
|
260
259
|
role: v.string().optional(),
|
|
261
260
|
}),
|
|
262
261
|
}),
|
|
@@ -264,8 +263,7 @@ export const getAgUiWireEventSchema = defineSchema((v) => v.discriminatedUnion("
|
|
|
264
263
|
eventName: v.literal("TextMessageContent"),
|
|
265
264
|
payload: v.object({
|
|
266
265
|
messageId: v.string().min(1),
|
|
267
|
-
|
|
268
|
-
contentId: v.string().min(1).optional(),
|
|
266
|
+
contentId: v.string().min(1),
|
|
269
267
|
delta: v.string(),
|
|
270
268
|
}),
|
|
271
269
|
}),
|
|
@@ -273,8 +271,7 @@ export const getAgUiWireEventSchema = defineSchema((v) => v.discriminatedUnion("
|
|
|
273
271
|
eventName: v.literal("TextMessageEnd"),
|
|
274
272
|
payload: v.object({
|
|
275
273
|
messageId: v.string().min(1),
|
|
276
|
-
|
|
277
|
-
contentId: v.string().min(1).optional(),
|
|
274
|
+
contentId: v.string().min(1),
|
|
278
275
|
}),
|
|
279
276
|
}),
|
|
280
277
|
v.object({
|
|
@@ -397,14 +394,12 @@ function isValidAgUiPayload(eventName, payload) {
|
|
|
397
394
|
case "TextMessageStart":
|
|
398
395
|
case "TextMessageEnd":
|
|
399
396
|
return hasStringField(payload, "messageId") &&
|
|
400
|
-
|
|
401
|
-
hasOptionalStringField(payload, "contentId") &&
|
|
397
|
+
hasStringField(payload, "contentId") &&
|
|
402
398
|
hasOptionalStringField(payload, "role");
|
|
403
399
|
case "TextMessageContent":
|
|
404
400
|
return hasStringField(payload, "messageId") &&
|
|
405
401
|
typeof payload.delta === "string" &&
|
|
406
|
-
|
|
407
|
-
hasOptionalStringField(payload, "contentId");
|
|
402
|
+
hasStringField(payload, "contentId");
|
|
408
403
|
case "ToolCallStart":
|
|
409
404
|
return hasStringField(payload, "toolCallId") && hasStringField(payload, "toolCallName");
|
|
410
405
|
case "ToolCallArgs":
|
|
@@ -482,6 +477,9 @@ function parseAgUiWireEvent(frame, input) {
|
|
|
482
477
|
return parseAgUiWireEventWithoutSchema(frame.event, payload, input.validationMode);
|
|
483
478
|
}
|
|
484
479
|
function mapWireEventToChatEvents(state, wireEvent) {
|
|
480
|
+
const textContentId = "contentId" in wireEvent.payload && typeof wireEvent.payload.contentId === "string"
|
|
481
|
+
? wireEvent.payload.contentId
|
|
482
|
+
: undefined;
|
|
485
483
|
switch (wireEvent.eventName) {
|
|
486
484
|
case "RunStarted":
|
|
487
485
|
return [{
|
|
@@ -492,17 +490,20 @@ function mapWireEventToChatEvents(state, wireEvent) {
|
|
|
492
490
|
return [{
|
|
493
491
|
type: "text-start",
|
|
494
492
|
id: wireEvent.payload.messageId,
|
|
493
|
+
...(textContentId ? { contentId: textContentId } : {}),
|
|
495
494
|
}];
|
|
496
495
|
case "TextMessageContent":
|
|
497
496
|
return [{
|
|
498
497
|
type: "text-delta",
|
|
499
498
|
id: wireEvent.payload.messageId,
|
|
499
|
+
...(textContentId ? { contentId: textContentId } : {}),
|
|
500
500
|
delta: wireEvent.payload.delta,
|
|
501
501
|
}];
|
|
502
502
|
case "TextMessageEnd":
|
|
503
503
|
return [{
|
|
504
504
|
type: "text-end",
|
|
505
505
|
id: wireEvent.payload.messageId,
|
|
506
|
+
...(textContentId ? { contentId: textContentId } : {}),
|
|
506
507
|
}];
|
|
507
508
|
case "ReasoningMessageStart":
|
|
508
509
|
return [{
|
package/esm/src/chat/compat.d.ts
CHANGED
|
@@ -118,24 +118,21 @@ export declare const AgUiWireEventSchema: import("../internal-agents/schema.js")
|
|
|
118
118
|
eventName: import("../internal-agents/schema.js").Schema<"TextMessageStart">;
|
|
119
119
|
payload: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
120
120
|
messageId: import("../internal-agents/schema.js").Schema<string>;
|
|
121
|
-
|
|
122
|
-
contentId: import("../internal-agents/schema.js").Schema<string | undefined>;
|
|
121
|
+
contentId: import("../internal-agents/schema.js").Schema<string>;
|
|
123
122
|
role: import("../internal-agents/schema.js").Schema<string | undefined>;
|
|
124
123
|
}>>;
|
|
125
124
|
}> | import("../extensions/schema/schema-validator.js").InferShape<{
|
|
126
125
|
eventName: import("../internal-agents/schema.js").Schema<"TextMessageContent">;
|
|
127
126
|
payload: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
128
127
|
messageId: import("../internal-agents/schema.js").Schema<string>;
|
|
129
|
-
|
|
130
|
-
contentId: import("../internal-agents/schema.js").Schema<string | undefined>;
|
|
128
|
+
contentId: import("../internal-agents/schema.js").Schema<string>;
|
|
131
129
|
delta: import("../internal-agents/schema.js").Schema<string>;
|
|
132
130
|
}>>;
|
|
133
131
|
}> | import("../extensions/schema/schema-validator.js").InferShape<{
|
|
134
132
|
eventName: import("../internal-agents/schema.js").Schema<"TextMessageEnd">;
|
|
135
133
|
payload: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
136
134
|
messageId: import("../internal-agents/schema.js").Schema<string>;
|
|
137
|
-
|
|
138
|
-
contentId: import("../internal-agents/schema.js").Schema<string | undefined>;
|
|
135
|
+
contentId: import("../internal-agents/schema.js").Schema<string>;
|
|
139
136
|
}>>;
|
|
140
137
|
}> | import("../extensions/schema/schema-validator.js").InferShape<{
|
|
141
138
|
eventName: import("../internal-agents/schema.js").Schema<"ToolCallStart">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../src/src/chat/compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,yBAAyB,CAAC;AAWjC,OAAO,EACL,wCAAwC,EAMzC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0CAA0C,EAC1C,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAU3B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMvD;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;GAA+C,CAAC;AAE1F;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;GAA4C,CAAC;AAEpF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA2C,CAAC;AAElF;;GAEG;AACH,eAAO,MAAM,uBAAuB,gYAAyC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../src/src/chat/compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,yBAAyB,CAAC;AAWjC,OAAO,EACL,wCAAwC,EAMzC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0CAA0C,EAC1C,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAU3B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMvD;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;GAA+C,CAAC;AAE1F;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;GAA4C,CAAC;AAEpF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA2C,CAAC;AAElF;;GAEG;AACH,eAAO,MAAM,uBAAuB,gYAAyC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAqC,CAAC;AAMtE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;GAA0C,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAuC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,uBAAuB,uDAAyC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,uBAAuB,uDAAyC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAyC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAqC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAsC,CAAC;AAMxE;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAmC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,sBAAsB,uDAAwC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,mBAAmB,uDAAqC,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;GAAuC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAkC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,gCAAgC,iDAA2C,CAAC;AAMzF;;GAEG;AACH,eAAO,MAAM,qBAAqB,sCAAgC,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,kCAAkC,mDAA6C,CAAC"}
|
|
@@ -131,13 +131,19 @@ export type ChatStreamEvent = {
|
|
|
131
131
|
} | {
|
|
132
132
|
type: "text-start";
|
|
133
133
|
id: string;
|
|
134
|
+
messageId?: string;
|
|
135
|
+
contentId?: string;
|
|
134
136
|
} | {
|
|
135
137
|
type: "text-delta";
|
|
136
138
|
id: string;
|
|
139
|
+
messageId?: string;
|
|
140
|
+
contentId?: string;
|
|
137
141
|
delta: string;
|
|
138
142
|
} | {
|
|
139
143
|
type: "text-end";
|
|
140
144
|
id: string;
|
|
145
|
+
messageId?: string;
|
|
146
|
+
contentId?: string;
|
|
141
147
|
} | {
|
|
142
148
|
type: "reasoning-start";
|
|
143
149
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/src/chat/protocol.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/src/chat/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* esm.sh bundles can contain root-relative nested imports. Once the bundle is
|
|
3
|
+
* written to a temp file, Deno resolves those as local file paths unless they
|
|
4
|
+
* are normalized back to esm.sh URLs.
|
|
5
|
+
*/
|
|
6
|
+
export declare function rewriteEsmShRootRelativeImports(code: string): string;
|
|
1
7
|
/**
|
|
2
8
|
* Dynamically load a module from esm.sh in a compiled Deno binary.
|
|
3
9
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../../../src/src/html/styles-builder/plugin-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../../../src/src/html/styles-builder/plugin-loader.ts"],"names":[],"mappings":"AA0GA;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBpE;AAwBD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6D/E;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,CAwClB"}
|
|
@@ -75,6 +75,17 @@ function encodeToBase64(source) {
|
|
|
75
75
|
binary += String.fromCharCode(byte);
|
|
76
76
|
return btoa(binary);
|
|
77
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* esm.sh bundles can contain root-relative nested imports. Once the bundle is
|
|
80
|
+
* written to a temp file, Deno resolves those as local file paths unless they
|
|
81
|
+
* are normalized back to esm.sh URLs.
|
|
82
|
+
*/
|
|
83
|
+
export function rewriteEsmShRootRelativeImports(code) {
|
|
84
|
+
return code
|
|
85
|
+
.replace(/\b(from\s*)(["'])(\/(?!\/)[^"']+)\2/g, (_match, prefix, quote, specifier) => `${prefix}${quote}https://esm.sh${specifier}${quote}`)
|
|
86
|
+
.replace(/\b(import\s*)(["'])(\/(?!\/)[^"']+)\2/g, (_match, prefix, quote, specifier) => `${prefix}${quote}https://esm.sh${specifier}${quote}`)
|
|
87
|
+
.replace(/\b(import\s*\(\s*)(["'])(\/(?!\/)[^"']+)\2/g, (_match, prefix, quote, specifier) => `${prefix}${quote}https://esm.sh${specifier}${quote}`);
|
|
88
|
+
}
|
|
78
89
|
async function importBundledModule(code) {
|
|
79
90
|
if (!isRealDenoRuntime()) {
|
|
80
91
|
const dataUrl = `data:text/javascript;base64,${encodeToBase64(code)}`;
|
|
@@ -123,6 +134,7 @@ export async function loadModuleFromEsmSh(packageName) {
|
|
|
123
134
|
throw NETWORK_ERROR.create({ detail: `Failed to fetch bundle: ${bundleResponse.status}` });
|
|
124
135
|
}
|
|
125
136
|
let code = await bundleResponse.text();
|
|
137
|
+
code = rewriteEsmShRootRelativeImports(code);
|
|
126
138
|
// Step 3: Verify it's actually JavaScript (not an HTML error page)
|
|
127
139
|
if (code.trimStart().startsWith("<!") || code.trimStart().startsWith("<html")) {
|
|
128
140
|
throw IMPORT_RESOLUTION_ERROR.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ag-ui-sse.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/ag-ui-sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAEL,yBAAyB,EAE1B,MAAM,mCAAmC,CAAC;AAM3C,KAAK,gBAAgB,GAAG,sBAAsB,CAAC;AAC/C,MAAM,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEtD,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;
|
|
1
|
+
{"version":3,"file":"ag-ui-sse.d.ts","sourceRoot":"","sources":["../../../src/src/internal-agents/ag-ui-sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAEL,yBAAyB,EAE1B,MAAM,mCAAmC,CAAC;AAM3C,KAAK,gBAAgB,GAAG,sBAAsB,CAAC;AAC/C,MAAM,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AACjE,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEtD,wBAAgB,0BAA0B,IAAI,oBAAoB,CAEjE;AA8FD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAK3F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IACjD,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAMA;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,EAAE,gBAAgB,GACtB,eAAe,EAAE,CAEnB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,GACxD,eAAe,EAAE,CAEnB"}
|
|
@@ -23,9 +23,20 @@ function buildAgUiEventPayloadSchemas() {
|
|
|
23
23
|
createdAt: v.string().optional(),
|
|
24
24
|
})),
|
|
25
25
|
}),
|
|
26
|
-
TextMessageStart: v.object({
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
TextMessageStart: v.object({
|
|
27
|
+
messageId: v.string().min(1),
|
|
28
|
+
contentId: v.string().min(1),
|
|
29
|
+
role: v.literal("assistant"),
|
|
30
|
+
}),
|
|
31
|
+
TextMessageContent: v.object({
|
|
32
|
+
messageId: v.string().min(1),
|
|
33
|
+
contentId: v.string().min(1),
|
|
34
|
+
delta: v.string(),
|
|
35
|
+
}),
|
|
36
|
+
TextMessageEnd: v.object({
|
|
37
|
+
messageId: v.string().min(1),
|
|
38
|
+
contentId: v.string().min(1),
|
|
39
|
+
}),
|
|
29
40
|
ReasoningMessageStart: v.object({ messageId: v.string().min(1), role: v.literal("reasoning") }),
|
|
30
41
|
ReasoningMessageContent: v.object({ messageId: v.string().min(1), delta: v.string() }),
|
|
31
42
|
ReasoningMessageEnd: v.object({ messageId: v.string().min(1) }),
|