Forward tool SSE metadata into the streaming content parts.

This commit is contained in:
CREDO23 2026-05-09 00:39:50 +02:00
parent 47e64d1861
commit 39084b3075
2 changed files with 12 additions and 4 deletions

View file

@ -228,7 +228,8 @@ export function FreeChatPage() {
parsed.toolName, parsed.toolName,
{}, {},
false, false,
parsed.langchainToolCallId parsed.langchainToolCallId,
parsed.metadata
); );
forceFlush(); forceFlush();
break; break;
@ -245,6 +246,7 @@ export function FreeChatPage() {
args: parsed.input || {}, args: parsed.input || {},
argsText: finalArgsText, argsText: finalArgsText,
langchainToolCallId: parsed.langchainToolCallId, langchainToolCallId: parsed.langchainToolCallId,
metadata: parsed.metadata,
}); });
} else { } else {
addToolCall( addToolCall(
@ -254,7 +256,8 @@ export function FreeChatPage() {
parsed.toolName, parsed.toolName,
parsed.input || {}, parsed.input || {},
false, false,
parsed.langchainToolCallId parsed.langchainToolCallId,
parsed.metadata
); );
updateToolCall(contentPartsState, parsed.toolCallId, { updateToolCall(contentPartsState, parsed.toolCallId, {
argsText: finalArgsText, argsText: finalArgsText,
@ -268,6 +271,7 @@ export function FreeChatPage() {
updateToolCall(contentPartsState, parsed.toolCallId, { updateToolCall(contentPartsState, parsed.toolCallId, {
result: parsed.output, result: parsed.output,
langchainToolCallId: parsed.langchainToolCallId, langchainToolCallId: parsed.langchainToolCallId,
metadata: parsed.metadata,
}); });
forceFlush(); forceFlush();
break; break;

View file

@ -112,7 +112,8 @@ export function processSharedStreamEvent(
parsed.toolName, parsed.toolName,
{}, {},
false, false,
parsed.langchainToolCallId parsed.langchainToolCallId,
parsed.metadata
); );
forceFlush(); forceFlush();
return true; return true;
@ -131,6 +132,7 @@ export function processSharedStreamEvent(
args: parsed.input || {}, args: parsed.input || {},
argsText: finalArgsText, argsText: finalArgsText,
langchainToolCallId: parsed.langchainToolCallId, langchainToolCallId: parsed.langchainToolCallId,
metadata: parsed.metadata,
}); });
} else { } else {
addToolCall( addToolCall(
@ -140,7 +142,8 @@ export function processSharedStreamEvent(
parsed.toolName, parsed.toolName,
parsed.input || {}, parsed.input || {},
false, false,
parsed.langchainToolCallId parsed.langchainToolCallId,
parsed.metadata
); );
// addToolCall doesn't accept argsText today; backfill via // addToolCall doesn't accept argsText today; backfill via
// updateToolCall so the new card renders pretty-printed JSON. // updateToolCall so the new card renders pretty-printed JSON.
@ -156,6 +159,7 @@ export function processSharedStreamEvent(
updateToolCall(contentPartsState, parsed.toolCallId, { updateToolCall(contentPartsState, parsed.toolCallId, {
result: parsed.output, result: parsed.output,
langchainToolCallId: parsed.langchainToolCallId, langchainToolCallId: parsed.langchainToolCallId,
metadata: parsed.metadata,
}); });
markInterruptsCompleted(contentParts); markInterruptsCompleted(contentParts);
context.onToolOutputAvailable?.(parsed, { contentPartsState, toolCallIndices }); context.onToolOutputAvailable?.(parsed, { contentPartsState, toolCallIndices });