Optimistic handling of messages

This commit is contained in:
Tat Dat Duong
2025-03-04 14:44:55 +01:00
parent 199bd40e6b
commit 6d2fb2d20b

View File

@@ -51,6 +51,8 @@ export function Thread() {
const isLoading = stream.isLoading;
const prevMessageLength = useRef(0);
// TODO: this should be part of the useStream hook
useEffect(() => {
if (
messages.length !== prevMessageLength.current &&
@@ -76,7 +78,17 @@ export function Thread() {
const toolMessages = ensureToolCallsHaveResponses(stream.messages);
stream.submit(
{ messages: [...toolMessages, newHumanMessage] },
{ streamMode: ["values"] },
{
streamMode: ["values"],
optimisticValues: (prev) => ({
...prev,
messages: [
...(prev.messages ?? []),
...toolMessages,
newHumanMessage,
],
}),
},
);
setInput("");