chore: update to ai sdk v5 beta (#1074)
This commit is contained in:
parent
7d8e71383f
commit
4c281fe09d
54 changed files with 1372 additions and 1060 deletions
|
|
@ -1,32 +1,32 @@
|
|||
'use client';
|
||||
|
||||
import { useEffect } from 'react';
|
||||
import type { UIMessage } from 'ai';
|
||||
import type { UseChatHelpers } from '@ai-sdk/react';
|
||||
import type { DataPart } from '@/lib/types';
|
||||
import type { ChatMessage } from '@/lib/types';
|
||||
import { useDataStream } from '@/components/data-stream-provider';
|
||||
|
||||
export interface UseAutoResumeParams {
|
||||
autoResume: boolean;
|
||||
initialMessages: UIMessage[];
|
||||
experimental_resume: UseChatHelpers['experimental_resume'];
|
||||
data: UseChatHelpers['data'];
|
||||
setMessages: UseChatHelpers['setMessages'];
|
||||
initialMessages: ChatMessage[];
|
||||
resumeStream: UseChatHelpers<ChatMessage>['resumeStream'];
|
||||
setMessages: UseChatHelpers<ChatMessage>['setMessages'];
|
||||
}
|
||||
|
||||
export function useAutoResume({
|
||||
autoResume,
|
||||
initialMessages,
|
||||
experimental_resume,
|
||||
data,
|
||||
resumeStream,
|
||||
setMessages,
|
||||
}: UseAutoResumeParams) {
|
||||
const { dataStream } = useDataStream();
|
||||
|
||||
useEffect(() => {
|
||||
if (!autoResume) return;
|
||||
|
||||
const mostRecentMessage = initialMessages.at(-1);
|
||||
|
||||
if (mostRecentMessage?.role === 'user') {
|
||||
experimental_resume();
|
||||
resumeStream();
|
||||
}
|
||||
|
||||
// we intentionally run this once
|
||||
|
|
@ -34,14 +34,14 @@ export function useAutoResume({
|
|||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (!data) return;
|
||||
if (data.length === 0) return;
|
||||
if (!dataStream) return;
|
||||
if (dataStream.length === 0) return;
|
||||
|
||||
const dataPart = data[0] as DataPart;
|
||||
const dataPart = dataStream[0];
|
||||
|
||||
if (dataPart.type === 'append-message') {
|
||||
const message = JSON.parse(dataPart.message) as UIMessage;
|
||||
if (dataPart.type === 'data-appendMessage') {
|
||||
const message = JSON.parse(dataPart.data);
|
||||
setMessages([...initialMessages, message]);
|
||||
}
|
||||
}, [data, initialMessages, setMessages]);
|
||||
}, [dataStream, initialMessages, setMessages]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue