fix(sdk-js): stream intermediate values with messages-tuple

We still need intermediate messages to ensure the client state and server state is in-sync as quickly as possible.
This commit is contained in:
Tat Dat Duong
2025-03-03 17:19:45 +01:00
parent 7d025e42ef
commit fc130a52ef
+8 -5
View File
@@ -623,9 +623,12 @@ export function useStream<
>([]);
const trackStreamMode = useCallback(
(mode: Exclude<StreamMode, "debug" | "messages">) => {
if (!trackStreamModeRef.current.includes(mode))
trackStreamModeRef.current.push(mode);
(...mode: Exclude<StreamMode, "debug" | "messages">[]) => {
for (const m of mode) {
if (!trackStreamModeRef.current.includes(m)) {
trackStreamModeRef.current.push(m);
}
}
},
[],
);
@@ -908,7 +911,7 @@ export function useStream<
},
get messages() {
trackStreamMode("messages-tuple");
trackStreamMode("messages-tuple", "values");
return getMessages(values);
},
@@ -916,7 +919,7 @@ export function useStream<
message: Message,
index?: number,
): MessageMetadata<StateType> | undefined {
trackStreamMode("messages-tuple");
trackStreamMode("messages-tuple", "values");
return messageMetadata?.find(
(m) => m.messageId === (message.id ?? index),
);