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,6 +1,4 @@
|
|||
'use client';
|
||||
|
||||
import type { Message } from 'ai';
|
||||
import cx from 'classnames';
|
||||
import {
|
||||
AnimatePresence,
|
||||
|
|
@ -11,7 +9,7 @@ import {
|
|||
import {
|
||||
type Dispatch,
|
||||
memo,
|
||||
ReactNode,
|
||||
type ReactNode,
|
||||
type SetStateAction,
|
||||
useEffect,
|
||||
useRef,
|
||||
|
|
@ -27,9 +25,10 @@ import {
|
|||
} from '@/components/ui/tooltip';
|
||||
|
||||
import { ArrowUpIcon, StopIcon, SummarizeIcon } from './icons';
|
||||
import { artifactDefinitions, ArtifactKind } from './artifact';
|
||||
import { ArtifactToolbarItem } from './create-artifact';
|
||||
import { UseChatHelpers } from '@ai-sdk/react';
|
||||
import { artifactDefinitions, type ArtifactKind } from './artifact';
|
||||
import type { ArtifactToolbarItem } from './create-artifact';
|
||||
import type { UseChatHelpers } from '@ai-sdk/react';
|
||||
import type { ChatMessage } from '@/lib/types';
|
||||
|
||||
type ToolProps = {
|
||||
description: string;
|
||||
|
|
@ -39,11 +38,11 @@ type ToolProps = {
|
|||
isToolbarVisible?: boolean;
|
||||
setIsToolbarVisible?: Dispatch<SetStateAction<boolean>>;
|
||||
isAnimating: boolean;
|
||||
append: UseChatHelpers['append'];
|
||||
sendMessage: UseChatHelpers<ChatMessage>['sendMessage'];
|
||||
onClick: ({
|
||||
appendMessage,
|
||||
sendMessage,
|
||||
}: {
|
||||
appendMessage: UseChatHelpers['append'];
|
||||
sendMessage: UseChatHelpers<ChatMessage>['sendMessage'];
|
||||
}) => void;
|
||||
};
|
||||
|
||||
|
|
@ -55,7 +54,7 @@ const Tool = ({
|
|||
isToolbarVisible,
|
||||
setIsToolbarVisible,
|
||||
isAnimating,
|
||||
append,
|
||||
sendMessage,
|
||||
onClick,
|
||||
}: ToolProps) => {
|
||||
const [isHovered, setIsHovered] = useState(false);
|
||||
|
|
@ -82,7 +81,7 @@ const Tool = ({
|
|||
setSelectedTool(description);
|
||||
} else {
|
||||
setSelectedTool(null);
|
||||
onClick({ appendMessage: append });
|
||||
onClick({ sendMessage });
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -135,12 +134,12 @@ const randomArr = [...Array(6)].map((x) => nanoid(5));
|
|||
|
||||
const ReadingLevelSelector = ({
|
||||
setSelectedTool,
|
||||
append,
|
||||
sendMessage,
|
||||
isAnimating,
|
||||
}: {
|
||||
setSelectedTool: Dispatch<SetStateAction<string | null>>;
|
||||
isAnimating: boolean;
|
||||
append: UseChatHelpers['append'];
|
||||
sendMessage: UseChatHelpers<ChatMessage>['sendMessage'];
|
||||
}) => {
|
||||
const LEVELS = [
|
||||
'Elementary',
|
||||
|
|
@ -214,9 +213,14 @@ const ReadingLevelSelector = ({
|
|||
}}
|
||||
onClick={() => {
|
||||
if (currentLevel !== 2 && hasUserSelectedLevel) {
|
||||
append({
|
||||
sendMessage({
|
||||
role: 'user',
|
||||
content: `Please adjust the reading level to ${LEVELS[currentLevel]} level.`,
|
||||
parts: [
|
||||
{
|
||||
type: 'text',
|
||||
text: `Please adjust the reading level to ${LEVELS[currentLevel]} level.`,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
setSelectedTool(null);
|
||||
|
|
@ -243,7 +247,7 @@ export const Tools = ({
|
|||
isToolbarVisible,
|
||||
selectedTool,
|
||||
setSelectedTool,
|
||||
append,
|
||||
sendMessage,
|
||||
isAnimating,
|
||||
setIsToolbarVisible,
|
||||
tools,
|
||||
|
|
@ -251,7 +255,7 @@ export const Tools = ({
|
|||
isToolbarVisible: boolean;
|
||||
selectedTool: string | null;
|
||||
setSelectedTool: Dispatch<SetStateAction<string | null>>;
|
||||
append: UseChatHelpers['append'];
|
||||
sendMessage: UseChatHelpers<ChatMessage>['sendMessage'];
|
||||
isAnimating: boolean;
|
||||
setIsToolbarVisible: Dispatch<SetStateAction<boolean>>;
|
||||
tools: Array<ArtifactToolbarItem>;
|
||||
|
|
@ -274,7 +278,7 @@ export const Tools = ({
|
|||
icon={secondaryTool.icon}
|
||||
selectedTool={selectedTool}
|
||||
setSelectedTool={setSelectedTool}
|
||||
append={append}
|
||||
sendMessage={sendMessage}
|
||||
isAnimating={isAnimating}
|
||||
onClick={secondaryTool.onClick}
|
||||
/>
|
||||
|
|
@ -288,7 +292,7 @@ export const Tools = ({
|
|||
setSelectedTool={setSelectedTool}
|
||||
isToolbarVisible={isToolbarVisible}
|
||||
setIsToolbarVisible={setIsToolbarVisible}
|
||||
append={append}
|
||||
sendMessage={sendMessage}
|
||||
isAnimating={isAnimating}
|
||||
onClick={primaryTool.onClick}
|
||||
/>
|
||||
|
|
@ -299,7 +303,7 @@ export const Tools = ({
|
|||
const PureToolbar = ({
|
||||
isToolbarVisible,
|
||||
setIsToolbarVisible,
|
||||
append,
|
||||
sendMessage,
|
||||
status,
|
||||
stop,
|
||||
setMessages,
|
||||
|
|
@ -307,10 +311,10 @@ const PureToolbar = ({
|
|||
}: {
|
||||
isToolbarVisible: boolean;
|
||||
setIsToolbarVisible: Dispatch<SetStateAction<boolean>>;
|
||||
status: UseChatHelpers['status'];
|
||||
append: UseChatHelpers['append'];
|
||||
stop: UseChatHelpers['stop'];
|
||||
setMessages: UseChatHelpers['setMessages'];
|
||||
status: UseChatHelpers<ChatMessage>['status'];
|
||||
sendMessage: UseChatHelpers<ChatMessage>['sendMessage'];
|
||||
stop: UseChatHelpers<ChatMessage>['stop'];
|
||||
setMessages: UseChatHelpers<ChatMessage>['setMessages'];
|
||||
artifactKind: ArtifactKind;
|
||||
}) => {
|
||||
const toolbarRef = useRef<HTMLDivElement>(null);
|
||||
|
|
@ -431,14 +435,14 @@ const PureToolbar = ({
|
|||
) : selectedTool === 'adjust-reading-level' ? (
|
||||
<ReadingLevelSelector
|
||||
key="reading-level-selector"
|
||||
append={append}
|
||||
sendMessage={sendMessage}
|
||||
setSelectedTool={setSelectedTool}
|
||||
isAnimating={isAnimating}
|
||||
/>
|
||||
) : (
|
||||
<Tools
|
||||
key="tools"
|
||||
append={append}
|
||||
sendMessage={sendMessage}
|
||||
isAnimating={isAnimating}
|
||||
isToolbarVisible={isToolbarVisible}
|
||||
selectedTool={selectedTool}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue