feat: update providers (#881)
This commit is contained in:
parent
9058240e10
commit
7811c0f7fb
11 changed files with 122 additions and 108 deletions
|
|
@ -1,11 +1,11 @@
|
||||||
# Get your xAI API Key here for chat models: https://console.x.ai/
|
# Get your xAI API Key here for chat models: https://console.x.ai/
|
||||||
XAI_API_KEY=****
|
XAI_API_KEY=****
|
||||||
|
|
||||||
# Get your OpenAI API Key here for chat models: https://platform.openai.com/account/api-keys
|
# Get your Groq API Key here for reasoning models: https://console.groq.com/keys
|
||||||
OPENAI_API_KEY=****
|
GROQ_API_KEY=****
|
||||||
|
|
||||||
# Get your Fireworks AI API Key here for reasoning models: https://fireworks.ai/account/api-keys
|
# Get your Fal AI API Key here for image models: https://docs.fal.ai/authentication/key-based
|
||||||
FIREWORKS_API_KEY=****
|
FAL_API_KEY=****
|
||||||
|
|
||||||
# Generate a random secret: https://generate-secret.vercel.app/32 or `openssl rand -base64 32`
|
# Generate a random secret: https://generate-secret.vercel.app/32 or `openssl rand -base64 32`
|
||||||
AUTH_SECRET=****
|
AUTH_SECRET=****
|
||||||
|
|
|
||||||
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
|
|
@ -15,4 +15,3 @@
|
||||||
{ "pattern": "packages/*" }
|
{ "pattern": "packages/*" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -41,7 +41,7 @@ This template ships with [xAI](https://x.ai) `grok-2-1212` as the default chat m
|
||||||
|
|
||||||
You can deploy your own version of the Next.js AI Chatbot to Vercel with one click:
|
You can deploy your own version of the Next.js AI Chatbot to Vercel with one click:
|
||||||
|
|
||||||
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fvercel%2Fai-chatbot&env=AUTH_SECRET,OPENAI_API_KEY,XAI_API_KEY,FIREWORKS_API_KEY&envDescription=Learn%20more%20about%20how%20to%20get%20the%20API%20Keys%20for%20the%20application&envLink=https%3A%2F%2Fgithub.com%2Fvercel%2Fai-chatbot%2Fblob%2Fmain%2F.env.example&demo-title=AI%20Chatbot&demo-description=An%20Open-Source%20AI%20Chatbot%20Template%20Built%20With%20Next.js%20and%20the%20AI%20SDK%20by%20Vercel.&demo-url=https%3A%2F%2Fchat.vercel.ai&stores=[{%22type%22:%22postgres%22},{%22type%22:%22blob%22}])
|
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fvercel%2Fai-chatbot&env=AUTH_SECRET&envDescription=Learn%20more%20about%20how%20to%20get%20the%20API%20Keys%20for%20the%20application&envLink=https%3A%2F%2Fgithub.com%2Fvercel%2Fai-chatbot%2Fblob%2Fmain%2F.env.example&demo-title=AI%20Chatbot&demo-description=An%20Open-Source%20AI%20Chatbot%20Template%20Built%20With%20Next.js%20and%20the%20AI%20SDK%20by%20Vercel.&demo-url=https%3A%2F%2Fchat.vercel.ai&stores=[{%22type%22:%22postgres%22},{%22type%22:%22blob%22}]&integration-ids=oac_g1tOx3546WuLOQ4QeyAX1n1P,oac_G6x10PjgSxUUTu6Pi25ZAtbp,oac_GzhR3rwEIUyQEpKEsmAiEjfi)
|
||||||
|
|
||||||
## Running locally
|
## Running locally
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,7 @@ export async function POST(request: Request) {
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (_) {
|
||||||
console.error('Failed to save chat');
|
console.error('Failed to save chat');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import type { Attachment, Message } from 'ai';
|
import type { Attachment, Message, UIMessage } from 'ai';
|
||||||
import cx from 'classnames';
|
import cx from 'classnames';
|
||||||
import type React from 'react';
|
import type React from 'react';
|
||||||
import {
|
import {
|
||||||
|
|
@ -22,7 +22,7 @@ import { Button } from './ui/button';
|
||||||
import { Textarea } from './ui/textarea';
|
import { Textarea } from './ui/textarea';
|
||||||
import { SuggestedActions } from './suggested-actions';
|
import { SuggestedActions } from './suggested-actions';
|
||||||
import equal from 'fast-deep-equal';
|
import equal from 'fast-deep-equal';
|
||||||
import { UseChatHelpers, UseChatOptions } from '@ai-sdk/react';
|
import { UseChatHelpers } from '@ai-sdk/react';
|
||||||
|
|
||||||
function PureMultimodalInput({
|
function PureMultimodalInput({
|
||||||
chatId,
|
chatId,
|
||||||
|
|
@ -45,8 +45,8 @@ function PureMultimodalInput({
|
||||||
stop: () => void;
|
stop: () => void;
|
||||||
attachments: Array<Attachment>;
|
attachments: Array<Attachment>;
|
||||||
setAttachments: Dispatch<SetStateAction<Array<Attachment>>>;
|
setAttachments: Dispatch<SetStateAction<Array<Attachment>>>;
|
||||||
messages: Array<Message>;
|
messages: Array<UIMessage>;
|
||||||
setMessages: Dispatch<SetStateAction<Array<Message>>>;
|
setMessages: UseChatHelpers['setMessages'];
|
||||||
append: UseChatHelpers['append'];
|
append: UseChatHelpers['append'];
|
||||||
handleSubmit: UseChatHelpers['handleSubmit'];
|
handleSubmit: UseChatHelpers['handleSubmit'];
|
||||||
className?: string;
|
className?: string;
|
||||||
|
|
@ -308,7 +308,7 @@ function PureStopButton({
|
||||||
setMessages,
|
setMessages,
|
||||||
}: {
|
}: {
|
||||||
stop: () => void;
|
stop: () => void;
|
||||||
setMessages: Dispatch<SetStateAction<Array<Message>>>;
|
setMessages: UseChatHelpers['setMessages'];
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<Button
|
<Button
|
||||||
|
|
|
||||||
|
|
@ -2,15 +2,12 @@
|
||||||
|
|
||||||
import { motion } from 'framer-motion';
|
import { motion } from 'framer-motion';
|
||||||
import { Button } from './ui/button';
|
import { Button } from './ui/button';
|
||||||
import { ChatRequestOptions, CreateMessage, Message } from 'ai';
|
|
||||||
import { memo } from 'react';
|
import { memo } from 'react';
|
||||||
|
import { UseChatHelpers } from '@ai-sdk/react';
|
||||||
|
|
||||||
interface SuggestedActionsProps {
|
interface SuggestedActionsProps {
|
||||||
chatId: string;
|
chatId: string;
|
||||||
append: (
|
append: UseChatHelpers['append'];
|
||||||
message: Message | CreateMessage,
|
|
||||||
chatRequestOptions?: ChatRequestOptions,
|
|
||||||
) => Promise<string | null | undefined>;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function PureSuggestedActions({ chatId, append }: SuggestedActionsProps) {
|
function PureSuggestedActions({ chatId, append }: SuggestedActionsProps) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import type { ChatRequestOptions, CreateMessage, Message } from 'ai';
|
import type { Message } from 'ai';
|
||||||
import cx from 'classnames';
|
import cx from 'classnames';
|
||||||
import {
|
import {
|
||||||
AnimatePresence,
|
AnimatePresence,
|
||||||
|
|
@ -39,10 +39,7 @@ type ToolProps = {
|
||||||
isToolbarVisible?: boolean;
|
isToolbarVisible?: boolean;
|
||||||
setIsToolbarVisible?: Dispatch<SetStateAction<boolean>>;
|
setIsToolbarVisible?: Dispatch<SetStateAction<boolean>>;
|
||||||
isAnimating: boolean;
|
isAnimating: boolean;
|
||||||
append: (
|
append: UseChatHelpers['append'];
|
||||||
message: Message | CreateMessage,
|
|
||||||
chatRequestOptions?: ChatRequestOptions,
|
|
||||||
) => Promise<string | null | undefined>;
|
|
||||||
onClick: ({
|
onClick: ({
|
||||||
appendMessage,
|
appendMessage,
|
||||||
}: {
|
}: {
|
||||||
|
|
@ -143,10 +140,7 @@ const ReadingLevelSelector = ({
|
||||||
}: {
|
}: {
|
||||||
setSelectedTool: Dispatch<SetStateAction<string | null>>;
|
setSelectedTool: Dispatch<SetStateAction<string | null>>;
|
||||||
isAnimating: boolean;
|
isAnimating: boolean;
|
||||||
append: (
|
append: UseChatHelpers['append'];
|
||||||
message: Message | CreateMessage,
|
|
||||||
chatRequestOptions?: ChatRequestOptions,
|
|
||||||
) => Promise<string | null | undefined>;
|
|
||||||
}) => {
|
}) => {
|
||||||
const LEVELS = [
|
const LEVELS = [
|
||||||
'Elementary',
|
'Elementary',
|
||||||
|
|
@ -257,10 +251,7 @@ export const Tools = ({
|
||||||
isToolbarVisible: boolean;
|
isToolbarVisible: boolean;
|
||||||
selectedTool: string | null;
|
selectedTool: string | null;
|
||||||
setSelectedTool: Dispatch<SetStateAction<string | null>>;
|
setSelectedTool: Dispatch<SetStateAction<string | null>>;
|
||||||
append: (
|
append: UseChatHelpers['append'];
|
||||||
message: Message | CreateMessage,
|
|
||||||
chatRequestOptions?: ChatRequestOptions,
|
|
||||||
) => Promise<string | null | undefined>;
|
|
||||||
isAnimating: boolean;
|
isAnimating: boolean;
|
||||||
setIsToolbarVisible: Dispatch<SetStateAction<boolean>>;
|
setIsToolbarVisible: Dispatch<SetStateAction<boolean>>;
|
||||||
tools: Array<ArtifactToolbarItem>;
|
tools: Array<ArtifactToolbarItem>;
|
||||||
|
|
@ -319,7 +310,7 @@ const PureToolbar = ({
|
||||||
status: UseChatHelpers['status'];
|
status: UseChatHelpers['status'];
|
||||||
append: UseChatHelpers['append'];
|
append: UseChatHelpers['append'];
|
||||||
stop: UseChatHelpers['stop'];
|
stop: UseChatHelpers['stop'];
|
||||||
setMessages: Dispatch<SetStateAction<Message[]>>;
|
setMessages: UseChatHelpers['setMessages'];
|
||||||
artifactKind: ArtifactKind;
|
artifactKind: ArtifactKind;
|
||||||
}) => {
|
}) => {
|
||||||
const toolbarRef = useRef<HTMLDivElement>(null);
|
const toolbarRef = useRef<HTMLDivElement>(null);
|
||||||
|
|
|
||||||
|
|
@ -7,20 +7,21 @@ To update the models, you will need to update the custom provider called `myProv
|
||||||
```ts
|
```ts
|
||||||
import { customProvider } from "ai";
|
import { customProvider } from "ai";
|
||||||
import { xai } from "@ai-sdk/xai";
|
import { xai } from "@ai-sdk/xai";
|
||||||
|
import { groq } from "@ai-sdk/groq";
|
||||||
|
import { fal } from "@ai-sdk/fal";
|
||||||
|
|
||||||
export const myProvider = customProvider({
|
export const myProvider = customProvider({
|
||||||
languageModels: {
|
languageModels: {
|
||||||
"chat-model": xai("grok-2-1212"),
|
"chat-model": xai("grok-2-1212"),
|
||||||
"chat-model-reasoning": wrapLanguageModel({
|
"chat-model-reasoning": wrapLanguageModel({
|
||||||
model: fireworks("accounts/fireworks/models/deepseek-r1"),
|
model: groq("deepseek-r1-distill-llama-70b"),
|
||||||
middleware: extractReasoningMiddleware({ tagName: "think" }),
|
middleware: extractReasoningMiddleware({ tagName: "think" }),
|
||||||
}),
|
}),
|
||||||
"title-model": xai("grok-2-1212"),
|
"title-model": xai("grok-2-1212"),
|
||||||
"artifact-model": xai("grok-2-1212"),
|
"artifact-model": xai("grok-2-1212"),
|
||||||
},
|
},
|
||||||
imageModels: {
|
imageModels: {
|
||||||
"small-model": openai.image("dall-e-2"),
|
"small-model": fal.image("fal-ai/fast-sdxl"),
|
||||||
"large-model": openai.image("dall-e-3"),
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
@ -31,20 +32,22 @@ For example, if you want to use Anthropic's `claude-3-5-sonnet` model for `chat-
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
import { customProvider } from "ai";
|
import { customProvider } from "ai";
|
||||||
|
import { fal } from "@ai-sdk/fal";
|
||||||
|
import { groq } from "@ai-sdk/groq";
|
||||||
import { anthropic } from "@ai-sdk/anthropic";
|
import { anthropic } from "@ai-sdk/anthropic";
|
||||||
|
|
||||||
export const myProvider = customProvider({
|
export const myProvider = customProvider({
|
||||||
languageModels: {
|
languageModels: {
|
||||||
"chat-model": anthropic("claude-3-5-sonnet"), // Replace xai with anthropic
|
"chat-model": anthropic("claude-3-5-sonnet"), // Replace xai with anthropic
|
||||||
"chat-model-reasoning": wrapLanguageModel({
|
"chat-model-reasoning": wrapLanguageModel({
|
||||||
model: fireworks("accounts/fireworks/models/deepseek-r1"),
|
model: groq("deepseek-r1-distill-llama-70b"),
|
||||||
middleware: extractReasoningMiddleware({ tagName: "think" }),
|
middleware: extractReasoningMiddleware({ tagName: "think" }),
|
||||||
}),
|
}),
|
||||||
"title-model": openai("gpt-4-turbo"),
|
"title-model": anthropic("claude-3-5-haiku"),
|
||||||
"artifact-model": openai("gpt-4o-mini"),
|
"artifact-model": anthropic("claude-3-5-haiku"),
|
||||||
},
|
},
|
||||||
imageModels: {
|
imageModels: {
|
||||||
"small-model": openai.image("dall-e-3"),
|
"small-model": fal.image("fal-ai/fast-sdxl"),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,9 @@ import {
|
||||||
extractReasoningMiddleware,
|
extractReasoningMiddleware,
|
||||||
wrapLanguageModel,
|
wrapLanguageModel,
|
||||||
} from 'ai';
|
} from 'ai';
|
||||||
import { openai } from '@ai-sdk/openai';
|
import { groq } from '@ai-sdk/groq';
|
||||||
import { fireworks } from '@ai-sdk/fireworks';
|
|
||||||
import { xai } from '@ai-sdk/xai';
|
import { xai } from '@ai-sdk/xai';
|
||||||
|
import { fal } from '@ai-sdk/fal';
|
||||||
import { isTestEnvironment } from '../constants';
|
import { isTestEnvironment } from '../constants';
|
||||||
import {
|
import {
|
||||||
artifactModel,
|
artifactModel,
|
||||||
|
|
@ -27,14 +27,13 @@ export const myProvider = isTestEnvironment
|
||||||
languageModels: {
|
languageModels: {
|
||||||
'chat-model': xai('grok-2-1212'),
|
'chat-model': xai('grok-2-1212'),
|
||||||
'chat-model-reasoning': wrapLanguageModel({
|
'chat-model-reasoning': wrapLanguageModel({
|
||||||
model: fireworks('accounts/fireworks/models/deepseek-r1'),
|
model: groq('deepseek-r1-distill-llama-70b'),
|
||||||
middleware: extractReasoningMiddleware({ tagName: 'think' }),
|
middleware: extractReasoningMiddleware({ tagName: 'think' }),
|
||||||
}),
|
}),
|
||||||
'title-model': xai('grok-2-1212'),
|
'title-model': xai('grok-2-1212'),
|
||||||
'artifact-model': xai('grok-2-1212'),
|
'artifact-model': xai('grok-2-1212'),
|
||||||
},
|
},
|
||||||
imageModels: {
|
imageModels: {
|
||||||
'small-model': openai.image('dall-e-2'),
|
'small-model': fal.image('fal-ai/fast-sdxl'),
|
||||||
'large-model': openai.image('dall-e-3'),
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,9 @@
|
||||||
"test": "export PLAYWRIGHT=True && pnpm exec playwright test --workers=4"
|
"test": "export PLAYWRIGHT=True && pnpm exec playwright test --workers=4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ai-sdk/fireworks": "^0.1.16",
|
"@ai-sdk/fal": "^0.0.11",
|
||||||
"@ai-sdk/openai": "^1.2.5",
|
"@ai-sdk/groq": "^1.1.16",
|
||||||
"@ai-sdk/react": "^1.1.23",
|
"@ai-sdk/react": "^1.1.25",
|
||||||
"@ai-sdk/xai": "^1.1.15",
|
"@ai-sdk/xai": "^1.1.15",
|
||||||
"@codemirror/lang-javascript": "^6.2.2",
|
"@codemirror/lang-javascript": "^6.2.2",
|
||||||
"@codemirror/lang-python": "^6.1.6",
|
"@codemirror/lang-python": "^6.1.6",
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
"@vercel/analytics": "^1.3.1",
|
"@vercel/analytics": "^1.3.1",
|
||||||
"@vercel/blob": "^0.24.1",
|
"@vercel/blob": "^0.24.1",
|
||||||
"@vercel/postgres": "^0.10.0",
|
"@vercel/postgres": "^0.10.0",
|
||||||
"ai": "4.1.61",
|
"ai": "4.1.66",
|
||||||
"bcrypt-ts": "^5.0.2",
|
"bcrypt-ts": "^5.0.2",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"classnames": "^2.5.1",
|
"classnames": "^2.5.1",
|
||||||
|
|
|
||||||
115
pnpm-lock.yaml
generated
115
pnpm-lock.yaml
generated
|
|
@ -8,15 +8,15 @@ importers:
|
||||||
|
|
||||||
.:
|
.:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ai-sdk/fireworks':
|
'@ai-sdk/fal':
|
||||||
specifier: ^0.1.16
|
specifier: ^0.0.11
|
||||||
version: 0.1.16(zod@3.24.2)
|
version: 0.0.11(zod@3.24.2)
|
||||||
'@ai-sdk/openai':
|
'@ai-sdk/groq':
|
||||||
specifier: ^1.2.5
|
specifier: ^1.1.16
|
||||||
version: 1.2.5(zod@3.24.2)
|
version: 1.1.16(zod@3.24.2)
|
||||||
'@ai-sdk/react':
|
'@ai-sdk/react':
|
||||||
specifier: ^1.1.23
|
specifier: ^1.1.25
|
||||||
version: 1.1.23(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2)
|
version: 1.1.25(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2)
|
||||||
'@ai-sdk/xai':
|
'@ai-sdk/xai':
|
||||||
specifier: ^1.1.15
|
specifier: ^1.1.15
|
||||||
version: 1.1.15(zod@3.24.2)
|
version: 1.1.15(zod@3.24.2)
|
||||||
|
|
@ -75,8 +75,8 @@ importers:
|
||||||
specifier: ^0.10.0
|
specifier: ^0.10.0
|
||||||
version: 0.10.0
|
version: 0.10.0
|
||||||
ai:
|
ai:
|
||||||
specifier: 4.1.61
|
specifier: 4.1.66
|
||||||
version: 4.1.61(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2)
|
version: 4.1.66(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2)
|
||||||
bcrypt-ts:
|
bcrypt-ts:
|
||||||
specifier: ^5.0.2
|
specifier: ^5.0.2
|
||||||
version: 5.0.3
|
version: 5.0.3
|
||||||
|
|
@ -261,8 +261,14 @@ importers:
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
'@ai-sdk/fireworks@0.1.16':
|
'@ai-sdk/fal@0.0.11':
|
||||||
resolution: {integrity: sha512-CQ0A/bVYUQ2VBLxH6RHOW+m+1LlJ9QNf/7hjYFWAmBR6nkwHbrKarNOX9d3Ba08HTotdqxIChORuU2km0LIxFw==}
|
resolution: {integrity: sha512-lVjG5HTxNZ3l40yI1uJYe2cHmDdk1cuiQff0KQz/A5c6BpwSlyKUVWvb8HxBJETzWRBNDWK1dbWcXVTm+WK5aw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
peerDependencies:
|
||||||
|
zod: ^3.0.0
|
||||||
|
|
||||||
|
'@ai-sdk/groq@1.1.16':
|
||||||
|
resolution: {integrity: sha512-25MacYnuswATGvvBSwj5uRLdkvJU0SlNweib6BmYd6+0F2mHRZWiYIiVIyuUIeRBmt6ybSNTaRKYz2Hh7whRcg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
zod: ^3.0.0
|
zod: ^3.0.0
|
||||||
|
|
@ -273,12 +279,6 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
zod: ^3.0.0
|
zod: ^3.0.0
|
||||||
|
|
||||||
'@ai-sdk/openai@1.2.5':
|
|
||||||
resolution: {integrity: sha512-COK7LzspgQQh5Yq070xfDdVMvp8WX592rXRaMaYNNqu1xpzahxDcM24aF9xgKYWuYH0UMoOw4UmWGwGxr6ygIg==}
|
|
||||||
engines: {node: '>=18'}
|
|
||||||
peerDependencies:
|
|
||||||
zod: ^3.0.0
|
|
||||||
|
|
||||||
'@ai-sdk/provider-utils@2.1.13':
|
'@ai-sdk/provider-utils@2.1.13':
|
||||||
resolution: {integrity: sha512-kLjqsfOdONr6DGcGEntFYM1niXz1H05vyZNf9OAzK+KKKc64izyP4/q/9HX7W4+6g8hm6BnmKxu8vkr6FSOqDg==}
|
resolution: {integrity: sha512-kLjqsfOdONr6DGcGEntFYM1niXz1H05vyZNf9OAzK+KKKc64izyP4/q/9HX7W4+6g8hm6BnmKxu8vkr6FSOqDg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
@ -288,12 +288,25 @@ packages:
|
||||||
zod:
|
zod:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@ai-sdk/provider-utils@2.1.15':
|
||||||
|
resolution: {integrity: sha512-ndMVtDm2xS86t45CJZSfyl7UblZFewRB8gZkXQHeNi7BhjCYkhE+XQMwfDl6UOAO7kaV60IC1R4JLDWxWiiHug==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
peerDependencies:
|
||||||
|
zod: ^3.0.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
zod:
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@ai-sdk/provider@1.0.11':
|
'@ai-sdk/provider@1.0.11':
|
||||||
resolution: {integrity: sha512-CPyImHGiT3svyfmvPvAFTianZzWFtm0qK82XjwlQIA1C3IQ2iku/PMQXi7aFyrX0TyMh3VTkJPB03tjU2VXVrw==}
|
resolution: {integrity: sha512-CPyImHGiT3svyfmvPvAFTianZzWFtm0qK82XjwlQIA1C3IQ2iku/PMQXi7aFyrX0TyMh3VTkJPB03tjU2VXVrw==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
'@ai-sdk/react@1.1.23':
|
'@ai-sdk/provider@1.0.12':
|
||||||
resolution: {integrity: sha512-R+PG9ya0GLs6orzt+1MxmjrWFuZM0gVs+l8ihBr1u+42wwkVeojY4CAtQjW4nrfGTVbdJYkl5y+r/VKfjr42aQ==}
|
resolution: {integrity: sha512-88Uu1zJIE1UUOVJWfE2ybJXgiH8JJ97QY9fbmplErEbfa/k/1kF+tWMVAAJolF2aOGmazQGyQLhv4I9CCuVACw==}
|
||||||
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
|
'@ai-sdk/react@1.1.25':
|
||||||
|
resolution: {integrity: sha512-uKrnxvJmiixAhndquDtac/q/wOnG9EFBkAsL6mpDRDflHQv34+xtkOKswDxyEzt1FaQFoqig0J44Lx0F3vGSkg==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18 || ^19 || ^19.0.0-rc
|
react: ^18 || ^19 || ^19.0.0-rc
|
||||||
|
|
@ -304,8 +317,8 @@ packages:
|
||||||
zod:
|
zod:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@ai-sdk/ui-utils@1.1.19':
|
'@ai-sdk/ui-utils@1.1.21':
|
||||||
resolution: {integrity: sha512-rDHy2uxlPMt3jjS9L6mBrsfhEInZ5BVoWevmD13fsAt2s/XWy2OwwKmgmUQkdLlY4mn/eyeYAfDGK8+5CbOAgg==}
|
resolution: {integrity: sha512-z88UBEioQvJM6JsBoLmG6MOholc5pDkq1BBeb53NZ7JmMeWX4btCbrGmM4qs+gYLDnZokV/HB8C6zpS1jaJbAw==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
zod: ^3.0.0
|
zod: ^3.0.0
|
||||||
|
|
@ -1669,8 +1682,8 @@ packages:
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
ai@4.1.61:
|
ai@4.1.66:
|
||||||
resolution: {integrity: sha512-Y9SAyGJEeW23F6C7PSHZXYNEvbH2cqJm0rVW2AoeFaXFT13ttx8rAqs8wz2w466C1UB329yl5PXayFcHqofSEA==}
|
resolution: {integrity: sha512-2Ny3reUTpZJhRLMvhJK5pxJ8E15uQSXEyemgsmgX6C6rI81JPPhorPTj6J8xQqZ+BFWLgrKYn9CKpUWZiAVqHw==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: ^18 || ^19 || ^19.0.0-rc
|
react: ^18 || ^19 || ^19.0.0-rc
|
||||||
|
|
@ -3885,11 +3898,16 @@ packages:
|
||||||
|
|
||||||
snapshots:
|
snapshots:
|
||||||
|
|
||||||
'@ai-sdk/fireworks@0.1.16(zod@3.24.2)':
|
'@ai-sdk/fal@0.0.11(zod@3.24.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ai-sdk/openai-compatible': 0.1.15(zod@3.24.2)
|
'@ai-sdk/provider': 1.0.12
|
||||||
'@ai-sdk/provider': 1.0.11
|
'@ai-sdk/provider-utils': 2.1.15(zod@3.24.2)
|
||||||
'@ai-sdk/provider-utils': 2.1.13(zod@3.24.2)
|
zod: 3.24.2
|
||||||
|
|
||||||
|
'@ai-sdk/groq@1.1.16(zod@3.24.2)':
|
||||||
|
dependencies:
|
||||||
|
'@ai-sdk/provider': 1.0.12
|
||||||
|
'@ai-sdk/provider-utils': 2.1.15(zod@3.24.2)
|
||||||
zod: 3.24.2
|
zod: 3.24.2
|
||||||
|
|
||||||
'@ai-sdk/openai-compatible@0.1.15(zod@3.24.2)':
|
'@ai-sdk/openai-compatible@0.1.15(zod@3.24.2)':
|
||||||
|
|
@ -3898,12 +3916,6 @@ snapshots:
|
||||||
'@ai-sdk/provider-utils': 2.1.13(zod@3.24.2)
|
'@ai-sdk/provider-utils': 2.1.13(zod@3.24.2)
|
||||||
zod: 3.24.2
|
zod: 3.24.2
|
||||||
|
|
||||||
'@ai-sdk/openai@1.2.5(zod@3.24.2)':
|
|
||||||
dependencies:
|
|
||||||
'@ai-sdk/provider': 1.0.11
|
|
||||||
'@ai-sdk/provider-utils': 2.1.13(zod@3.24.2)
|
|
||||||
zod: 3.24.2
|
|
||||||
|
|
||||||
'@ai-sdk/provider-utils@2.1.13(zod@3.24.2)':
|
'@ai-sdk/provider-utils@2.1.13(zod@3.24.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ai-sdk/provider': 1.0.11
|
'@ai-sdk/provider': 1.0.11
|
||||||
|
|
@ -3913,24 +3925,37 @@ snapshots:
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
zod: 3.24.2
|
zod: 3.24.2
|
||||||
|
|
||||||
|
'@ai-sdk/provider-utils@2.1.15(zod@3.24.2)':
|
||||||
|
dependencies:
|
||||||
|
'@ai-sdk/provider': 1.0.12
|
||||||
|
eventsource-parser: 3.0.0
|
||||||
|
nanoid: 3.3.9
|
||||||
|
secure-json-parse: 2.7.0
|
||||||
|
optionalDependencies:
|
||||||
|
zod: 3.24.2
|
||||||
|
|
||||||
'@ai-sdk/provider@1.0.11':
|
'@ai-sdk/provider@1.0.11':
|
||||||
dependencies:
|
dependencies:
|
||||||
json-schema: 0.4.0
|
json-schema: 0.4.0
|
||||||
|
|
||||||
'@ai-sdk/react@1.1.23(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2)':
|
'@ai-sdk/provider@1.0.12':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ai-sdk/provider-utils': 2.1.13(zod@3.24.2)
|
json-schema: 0.4.0
|
||||||
'@ai-sdk/ui-utils': 1.1.19(zod@3.24.2)
|
|
||||||
|
'@ai-sdk/react@1.1.25(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2)':
|
||||||
|
dependencies:
|
||||||
|
'@ai-sdk/provider-utils': 2.1.15(zod@3.24.2)
|
||||||
|
'@ai-sdk/ui-utils': 1.1.21(zod@3.24.2)
|
||||||
swr: 2.3.3(react@19.0.0-rc-45804af1-20241021)
|
swr: 2.3.3(react@19.0.0-rc-45804af1-20241021)
|
||||||
throttleit: 2.1.0
|
throttleit: 2.1.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
react: 19.0.0-rc-45804af1-20241021
|
react: 19.0.0-rc-45804af1-20241021
|
||||||
zod: 3.24.2
|
zod: 3.24.2
|
||||||
|
|
||||||
'@ai-sdk/ui-utils@1.1.19(zod@3.24.2)':
|
'@ai-sdk/ui-utils@1.1.21(zod@3.24.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ai-sdk/provider': 1.0.11
|
'@ai-sdk/provider': 1.0.12
|
||||||
'@ai-sdk/provider-utils': 2.1.13(zod@3.24.2)
|
'@ai-sdk/provider-utils': 2.1.15(zod@3.24.2)
|
||||||
zod-to-json-schema: 3.24.3(zod@3.24.2)
|
zod-to-json-schema: 3.24.3(zod@3.24.2)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
zod: 3.24.2
|
zod: 3.24.2
|
||||||
|
|
@ -5038,12 +5063,12 @@ snapshots:
|
||||||
|
|
||||||
acorn@8.14.1: {}
|
acorn@8.14.1: {}
|
||||||
|
|
||||||
ai@4.1.61(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2):
|
ai@4.1.66(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ai-sdk/provider': 1.0.11
|
'@ai-sdk/provider': 1.0.12
|
||||||
'@ai-sdk/provider-utils': 2.1.13(zod@3.24.2)
|
'@ai-sdk/provider-utils': 2.1.15(zod@3.24.2)
|
||||||
'@ai-sdk/react': 1.1.23(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2)
|
'@ai-sdk/react': 1.1.25(react@19.0.0-rc-45804af1-20241021)(zod@3.24.2)
|
||||||
'@ai-sdk/ui-utils': 1.1.19(zod@3.24.2)
|
'@ai-sdk/ui-utils': 1.1.21(zod@3.24.2)
|
||||||
'@opentelemetry/api': 1.9.0
|
'@opentelemetry/api': 1.9.0
|
||||||
eventsource-parser: 3.0.0
|
eventsource-parser: 3.0.0
|
||||||
jsondiffpatch: 0.6.0
|
jsondiffpatch: 0.6.0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue