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,28 +1,37 @@
|
|||
'use client';
|
||||
|
||||
import { ChatRequestOptions, Message } from 'ai';
|
||||
import { Button } from './ui/button';
|
||||
import { Dispatch, SetStateAction, useEffect, useRef, useState } from 'react';
|
||||
import {
|
||||
type Dispatch,
|
||||
type SetStateAction,
|
||||
useEffect,
|
||||
useRef,
|
||||
useState,
|
||||
} from 'react';
|
||||
import { Textarea } from './ui/textarea';
|
||||
import { deleteTrailingMessages } from '@/app/(chat)/actions';
|
||||
import { UseChatHelpers } from '@ai-sdk/react';
|
||||
import type { UseChatHelpers } from '@ai-sdk/react';
|
||||
import type { ChatMessage } from '@/lib/types';
|
||||
import { getTextFromMessage } from '@/lib/utils';
|
||||
|
||||
export type MessageEditorProps = {
|
||||
message: Message;
|
||||
message: ChatMessage;
|
||||
setMode: Dispatch<SetStateAction<'view' | 'edit'>>;
|
||||
setMessages: UseChatHelpers['setMessages'];
|
||||
reload: UseChatHelpers['reload'];
|
||||
setMessages: UseChatHelpers<ChatMessage>['setMessages'];
|
||||
regenerate: UseChatHelpers<ChatMessage>['regenerate'];
|
||||
};
|
||||
|
||||
export function MessageEditor({
|
||||
message,
|
||||
setMode,
|
||||
setMessages,
|
||||
reload,
|
||||
regenerate,
|
||||
}: MessageEditorProps) {
|
||||
const [isSubmitting, setIsSubmitting] = useState<boolean>(false);
|
||||
|
||||
const [draftContent, setDraftContent] = useState<string>(message.content);
|
||||
const [draftContent, setDraftContent] = useState<string>(
|
||||
getTextFromMessage(message),
|
||||
);
|
||||
const textareaRef = useRef<HTMLTextAreaElement>(null);
|
||||
|
||||
useEffect(() => {
|
||||
|
|
@ -75,14 +84,12 @@ export function MessageEditor({
|
|||
id: message.id,
|
||||
});
|
||||
|
||||
// @ts-expect-error todo: support UIMessage in setMessages
|
||||
setMessages((messages) => {
|
||||
const index = messages.findIndex((m) => m.id === message.id);
|
||||
|
||||
if (index !== -1) {
|
||||
const updatedMessage = {
|
||||
const updatedMessage: ChatMessage = {
|
||||
...message,
|
||||
content: draftContent,
|
||||
parts: [{ type: 'text', text: draftContent }],
|
||||
};
|
||||
|
||||
|
|
@ -93,7 +100,7 @@ export function MessageEditor({
|
|||
});
|
||||
|
||||
setMode('view');
|
||||
reload();
|
||||
regenerate();
|
||||
}}
|
||||
>
|
||||
{isSubmitting ? 'Sending...' : 'Send'}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue