mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
feat(assistant): upgrade AI SDK v5 → v6 (#43931)
Upgrades `ai` from v5 to v6 and all related packages.
**Package bumps:**
- `ai`: `5.0.52` → `^6.0.116`
- `@ai-sdk/openai`: `2.0.32` → `^3.0.41`
- `@ai-sdk/react`: `2.0.52` → `^3.0.118`
- `@ai-sdk/provider`: `^2.0.0` → `^3.0.8`
- `@ai-sdk/provider-utils`: `^3.0.0` → `^4.0.19`
- `@ai-sdk/amazon-bedrock`: `^3.0.0` → `^4.0.81`
- `@ai-sdk/mcp`: N/A → `^1.0.25`
- `openai`: bumped to `^4.104.0`
- `braintrust`: `3.0.x` → `^3.4.0`
**Breaking change migrations:**
- `generateObject` removed in v6 — migrated 5 API routes to
`generateText` with `Output.object({ schema })`, returning
`result.output`
- `convertToModelMessages` is now async — added `await`
- MCP import path changed: `experimental_createMCPClient` from `ai` →
`createMCPClient` from `@ai-sdk/mcp`
- `openai()` defaults to Responses API — added `store: false` to
provider options for ZDR org compatibility
**Streaming fix:**
Added `Content-Encoding: none` header to `pipeUIMessageStreamToResponse`
calls. Without it, proxy middleware buffers the entire SSE response
before flushing, causing the full reply to appear at once.
**Zero Data Retention fix:**
In recent AI SDK versions, `openai()` default to Responses API instead
of the legacy chat completions API. This produces a 404 from OpenAI with
message `"Items are not persisted for Zero Data Retention organizations.
Remove this item from your input and try again."` The Responses API is
OpenAI's [recommended
endpoint](https://developers.openai.com/api/docs/guides/migrate-to-responses).
This PR adds `store: false` as mentioned in
https://github.com/vercel/ai/issues/10060 to avoid incompatible
persistence attempts.
**References:**
- https://ai-sdk.dev/docs/migration-guides/migration-guide-6-0
-
https://ai-sdk.dev/docs/troubleshooting/streaming-not-working-when-proxied
- https://github.com/vercel/ai/issues/10060
Closes AI-514
Related AI-509
This commit is contained in:
1 parent
8cc77fc91d
commit
d29fbf6eb7
13 files changed
+193
-104
No files matched your search
@@ -137,7 +137,7 @@ export async function generateAssistantResponse({
|
||||
},
|
||||
]
|
||||
: []),
|
||||
...convertToModelMessages(messages),
|
||||
...(await convertToModelMessages(messages)),
|
||||
]
|
||||
|
||||
const streamTextFn = shouldTrace ? tracedStreamText : ai.streamText
|
||||
|
||||
@@ -55,6 +55,7 @@ export const PROVIDERS: ProviderRegistry = {
|
||||
providerOptions: {
|
||||
openai: {
|
||||
reasoningEffort: 'minimal',
|
||||
store: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { createSupabaseMcpServer } from '@supabase/mcp-server-supabase'
|
||||
import { createSupabaseApiPlatform } from '@supabase/mcp-server-supabase/platform/api'
|
||||
import { StreamTransport } from '@supabase/mcp-utils'
|
||||
import { experimental_createMCPClient as createMCPClient } from 'ai'
|
||||
import { createMCPClient } from '@ai-sdk/mcp'
|
||||
|
||||
import { API_URL } from 'lib/constants'
|
||||
|
||||
|
||||
@@ -57,11 +57,12 @@ test('rate calls the tool sanitizer', async () => {
|
||||
}))
|
||||
|
||||
vi.mock('ai', () => ({
|
||||
generateObject: vi.fn().mockResolvedValue({
|
||||
object: {
|
||||
generateText: vi.fn().mockResolvedValue({
|
||||
output: {
|
||||
category: 'sql_generation',
|
||||
},
|
||||
}),
|
||||
Output: { object: vi.fn() },
|
||||
}))
|
||||
|
||||
vi.mock('components/ui/AIAssistantPanel/Message.utils', () => ({
|
||||
|
||||
@@ -28,11 +28,12 @@
|
||||
"scorers:deploy": "IS_BRAINTRUST_PUSH=true braintrust push evals/scorer-online.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@ai-sdk/amazon-bedrock": "^3.0.0",
|
||||
"@ai-sdk/openai": "2.0.32",
|
||||
"@ai-sdk/provider": "^2.0.0",
|
||||
"@ai-sdk/provider-utils": "^3.0.0",
|
||||
"@ai-sdk/react": "2.0.52",
|
||||
"@ai-sdk/amazon-bedrock": "^4.0.81",
|
||||
"@ai-sdk/mcp": "^1.0.25",
|
||||
"@ai-sdk/openai": "^3.0.41",
|
||||
"@ai-sdk/provider": "^3.0.8",
|
||||
"@ai-sdk/provider-utils": "^4.0.19",
|
||||
"@ai-sdk/react": "^3.0.118",
|
||||
"@aws-sdk/credential-providers": "^3.830.0",
|
||||
"@dagrejs/dagre": "^1.0.4",
|
||||
"@dnd-kit/core": "^6.1.0",
|
||||
@@ -74,7 +75,7 @@
|
||||
"@vercel/functions": "^2.1.0",
|
||||
"@vitejs/plugin-react": "^4.3.4",
|
||||
"@zip.js/zip.js": "^2.7.29",
|
||||
"ai": "5.0.52",
|
||||
"ai": "^6.0.116",
|
||||
"ai-commands": "workspace:*",
|
||||
"awesome-debounce-promise": "^2.1.0",
|
||||
"common": "workspace:*",
|
||||
@@ -106,7 +107,7 @@
|
||||
"next": "~16.1.7",
|
||||
"next-themes": "^0.3.0",
|
||||
"nuqs": "2.7.1",
|
||||
"openai": "^4.75.1",
|
||||
"openai": "^4.104.0",
|
||||
"openapi-fetch": "0.12.4",
|
||||
"papaparse": "^5.3.1",
|
||||
"path-to-regexp": "^8.0.0",
|
||||
@@ -185,7 +186,7 @@
|
||||
"@vitest/ui": "^3.2.0",
|
||||
"api-types": "workspace:*",
|
||||
"autoevals": "^0.0.132",
|
||||
"braintrust": "^3.0.0",
|
||||
"braintrust": "^3.4.0",
|
||||
"common": "workspace:*",
|
||||
"config": "workspace:*",
|
||||
"date-fns": "^2.30.0",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateObject } from 'ai'
|
||||
import { generateText, Output } from 'ai'
|
||||
import { getModel } from 'lib/ai/model'
|
||||
import apiWrapper from 'lib/api/apiWrapper'
|
||||
import { NextApiRequest, NextApiResponse } from 'next'
|
||||
@@ -41,11 +41,13 @@ export async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
return res.status(500).json({ error: modelError.message })
|
||||
}
|
||||
|
||||
const { object } = await generateObject({
|
||||
const { output } = await generateText({
|
||||
model,
|
||||
providerOptions,
|
||||
schema: z.object({
|
||||
feedback_category: z.enum(['support', 'feedback', 'unknown']),
|
||||
output: Output.object({
|
||||
schema: z.object({
|
||||
feedback_category: z.enum(['support', 'feedback', 'unknown']),
|
||||
}),
|
||||
}),
|
||||
temperature: 0,
|
||||
prompt: `
|
||||
@@ -97,7 +99,7 @@ export async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
`,
|
||||
})
|
||||
|
||||
return res.json({ feedback_category: object.feedback_category })
|
||||
return res.json({ feedback_category: output.feedback_category })
|
||||
} catch (error) {
|
||||
if (error instanceof Error) {
|
||||
console.error(`Classifying this feedback failed`)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateObject } from 'ai'
|
||||
import { generateText, Output } from 'ai'
|
||||
import { currentLogger } from 'braintrust'
|
||||
import { IS_PLATFORM } from 'common'
|
||||
import { rateMessageResponseSchema } from 'components/ui/AIAssistantPanel/Message.utils'
|
||||
@@ -110,10 +110,10 @@ export async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
return res.status(500).json({ error: modelError.message })
|
||||
}
|
||||
|
||||
const { object } = await generateObject({
|
||||
const { output } = await generateText({
|
||||
model,
|
||||
providerOptions,
|
||||
schema: rateMessageResponseSchema,
|
||||
output: Output.object({ schema: rateMessageResponseSchema }),
|
||||
prompt: `
|
||||
Your job is to look at a Supabase Assistant conversation, which the user has given feedback on, and classify it.
|
||||
|
||||
@@ -148,7 +148,7 @@ Instructions:
|
||||
})
|
||||
logger?.updateSpan({
|
||||
id: spanId,
|
||||
metadata: { feedbackCategory: object.category },
|
||||
metadata: { feedbackCategory: output.category },
|
||||
})
|
||||
} catch (error) {
|
||||
console.error('Failed to log feedback to Braintrust:', error)
|
||||
@@ -156,7 +156,7 @@ Instructions:
|
||||
}
|
||||
|
||||
return res.json({
|
||||
category: object.category,
|
||||
category: output.category,
|
||||
})
|
||||
} catch (error) {
|
||||
if (error instanceof Error) {
|
||||
|
||||
@@ -102,5 +102,5 @@ async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
tools: getTools(),
|
||||
})
|
||||
|
||||
result.pipeUIMessageStreamToResponse(res)
|
||||
result.pipeUIMessageStreamToResponse(res, { headers: { 'Content-Encoding': 'none' } })
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateObject } from 'ai'
|
||||
import { generateText, Output } from 'ai'
|
||||
import { source } from 'common-tags'
|
||||
import { getModel } from 'lib/ai/model'
|
||||
import apiWrapper from 'lib/api/apiWrapper'
|
||||
@@ -46,10 +46,10 @@ export async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
return res.status(500).json({ error: modelError.message })
|
||||
}
|
||||
|
||||
const result = await generateObject({
|
||||
const result = await generateText({
|
||||
model,
|
||||
providerOptions,
|
||||
schema: cronSchema,
|
||||
output: Output.object({ schema: cronSchema }),
|
||||
prompt: source`
|
||||
You are a cron syntax expert. Your purpose is to convert natural language time descriptions into valid cron expressions for pg_cron.
|
||||
|
||||
@@ -88,7 +88,7 @@ export async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
`,
|
||||
})
|
||||
|
||||
return res.json(result.object.cron_expression)
|
||||
return res.json(result.output.cron_expression)
|
||||
} catch (error) {
|
||||
if (error instanceof Error) {
|
||||
console.error(`AI cron generation failed: ${error.message}`)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateObject } from 'ai'
|
||||
import { generateText, Output } from 'ai'
|
||||
import { source } from 'common-tags'
|
||||
import { getModel } from 'lib/ai/model'
|
||||
import apiWrapper from 'lib/api/apiWrapper'
|
||||
@@ -62,10 +62,10 @@ export async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
options: property.options,
|
||||
}))
|
||||
|
||||
const result = await generateObject({
|
||||
const result = await generateText({
|
||||
model,
|
||||
providerOptions,
|
||||
schema: filterGroupSchema,
|
||||
output: Output.object({ schema: filterGroupSchema }),
|
||||
prompt: source`
|
||||
You are an expert Postgres filter builder. Convert the user's request into structured filters.
|
||||
|
||||
@@ -84,7 +84,7 @@ export async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
`,
|
||||
})
|
||||
|
||||
const generatedFilters = result.object
|
||||
const generatedFilters = result.output
|
||||
|
||||
if (!validateFilterGroup(generatedFilters, normalizedFilterProperties)) {
|
||||
return res.status(400).json({
|
||||
|
||||
@@ -206,6 +206,7 @@ async function handlePost(req: NextApiRequest, res: NextApiResponse, claims?: Jw
|
||||
|
||||
result.pipeUIMessageStreamToResponse(res, {
|
||||
sendReasoning: true,
|
||||
headers: { 'Content-Encoding': 'none' },
|
||||
onError: (error) => {
|
||||
if (error == null) {
|
||||
return 'unknown error'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateObject } from 'ai'
|
||||
import { generateText, Output } from 'ai'
|
||||
import { source } from 'common-tags'
|
||||
import { getModel } from 'lib/ai/model'
|
||||
import apiWrapper from 'lib/api/apiWrapper'
|
||||
@@ -51,10 +51,10 @@ export async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
return res.status(500).json({ error: modelError.message })
|
||||
}
|
||||
|
||||
const result = await generateObject({
|
||||
const result = await generateText({
|
||||
model,
|
||||
providerOptions,
|
||||
schema: titleSchema,
|
||||
output: Output.object({ schema: titleSchema }),
|
||||
prompt: source`
|
||||
Generate a short title and summarized description for this Postgres SQL snippet:
|
||||
|
||||
@@ -64,7 +64,7 @@ export async function handlePost(req: NextApiRequest, res: NextApiResponse) {
|
||||
`,
|
||||
})
|
||||
|
||||
return res.json(result.object)
|
||||
return res.json(result.output)
|
||||
} catch (error) {
|
||||
if (error instanceof Error) {
|
||||
console.error(`AI title generation failed: ${error.message}`)
|
||||
|
||||
Generated
+152
-69
@@ -757,20 +757,23 @@ importers:
|
||||
apps/studio:
|
||||
dependencies:
|
||||
'@ai-sdk/amazon-bedrock':
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0(zod@3.25.76)
|
||||
specifier: ^4.0.81
|
||||
version: 4.0.81(zod@3.25.76)
|
||||
'@ai-sdk/mcp':
|
||||
specifier: ^1.0.25
|
||||
version: 1.0.25(zod@3.25.76)
|
||||
'@ai-sdk/openai':
|
||||
specifier: 2.0.32
|
||||
version: 2.0.32(zod@3.25.76)
|
||||
specifier: ^3.0.41
|
||||
version: 3.0.41(zod@3.25.76)
|
||||
'@ai-sdk/provider':
|
||||
specifier: ^2.0.0
|
||||
version: 2.0.0
|
||||
specifier: ^3.0.8
|
||||
version: 3.0.8
|
||||
'@ai-sdk/provider-utils':
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0(zod@3.25.76)
|
||||
specifier: ^4.0.19
|
||||
version: 4.0.19(zod@3.25.76)
|
||||
'@ai-sdk/react':
|
||||
specifier: 2.0.52
|
||||
version: 2.0.52(react@18.3.1)(zod@3.25.76)
|
||||
specifier: ^3.0.118
|
||||
version: 3.0.118(react@18.3.1)(zod@3.25.76)
|
||||
'@aws-sdk/credential-providers':
|
||||
specifier: ^3.830.0
|
||||
version: 3.830.0
|
||||
@@ -895,8 +898,8 @@ importers:
|
||||
specifier: ^2.7.29
|
||||
version: 2.7.30
|
||||
ai:
|
||||
specifier: 5.0.52
|
||||
version: 5.0.52(zod@3.25.76)
|
||||
specifier: ^6.0.116
|
||||
version: 6.0.116(zod@3.25.76)
|
||||
ai-commands:
|
||||
specifier: workspace:*
|
||||
version: link:../../packages/ai-commands
|
||||
@@ -991,7 +994,7 @@ importers:
|
||||
specifier: 2.7.1
|
||||
version: 2.7.1(@tanstack/react-router@1.158.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(next@16.1.7(@babel/core@7.29.0(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))(react-router@7.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
|
||||
openai:
|
||||
specifier: ^4.75.1
|
||||
specifier: ^4.104.0
|
||||
version: 4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)
|
||||
openapi-fetch:
|
||||
specifier: 0.12.4
|
||||
@@ -1223,8 +1226,8 @@ importers:
|
||||
specifier: ^0.0.132
|
||||
version: 0.0.132(ws@8.18.3)
|
||||
braintrust:
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0(@aws-sdk/credential-provider-web-identity@3.830.0)(supports-color@8.1.1)(zod@3.25.76)
|
||||
specifier: ^3.4.0
|
||||
version: 3.4.0(@aws-sdk/credential-provider-web-identity@3.830.0)(supports-color@8.1.1)(zod@3.25.76)
|
||||
date-fns:
|
||||
specifier: ^2.30.0
|
||||
version: 2.30.0
|
||||
@@ -2808,17 +2811,17 @@ packages:
|
||||
'@adobe/css-tools@4.4.0':
|
||||
resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==}
|
||||
|
||||
'@ai-sdk/amazon-bedrock@3.0.0':
|
||||
resolution: {integrity: sha512-OxNmyYRf7pY8NK69dAqpoewKtUhY/HUbpa6TDhp9zcgVmQJmhky8Q7HDetdiqopb2Pe3NB/f1nZVI73nin3qng==}
|
||||
'@ai-sdk/amazon-bedrock@4.0.81':
|
||||
resolution: {integrity: sha512-SP3LIpFt/JlK0sGs6E5jvjySvQqu/nqA942PehIGk3PZPJ5SMPsUNg+PYTs84PTUYEg8rr4XqkQOTNFq12zo2w==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
'@ai-sdk/anthropic@2.0.0':
|
||||
resolution: {integrity: sha512-uyyaO4KhxoIKZztREqLPh+6/K3ZJx/rp72JKoUEL9/kC+vfQTThUfPnY/bUryUpcnawx8IY/tSoYNOi/8PCv7w==}
|
||||
'@ai-sdk/anthropic@3.0.62':
|
||||
resolution: {integrity: sha512-CkShXR8tmNO7QQnvpKbSMe2Vr1zUUcpqlp69iR+DYrbHm+tDJO9u6zZsjEHjcoRU9/e9z++p0W6NiuLC3aZ4Bg==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
'@ai-sdk/gateway@1.0.29':
|
||||
resolution: {integrity: sha512-o9LtmBiG2WAgs3GAmL79F8idan/UupxHG8Tyr2gP4aUSOzflM0bsvfzozBp8x6WatQnOx+Pio7YNw45Y6I16iw==}
|
||||
@@ -2826,17 +2829,29 @@ packages:
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4
|
||||
|
||||
'@ai-sdk/gateway@3.0.66':
|
||||
resolution: {integrity: sha512-SIQ0YY0iMuv+07HLsZ+bB990zUJ6S4ujORAh+Jv1V2KGNn73qQKnGO0JBk+w+Res8YqOFSycwDoWcFlQrVxS4A==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
'@ai-sdk/mcp@1.0.25':
|
||||
resolution: {integrity: sha512-vMlXUPGHGDE2vzLcPR8sw7Dhz2OBjtPU5lB+lIuC1hNQo4REuUC08P0e96/hzBKf4oQYJ8Zo6uP8AG2qThyFbg==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
'@ai-sdk/openai@2.0.2':
|
||||
resolution: {integrity: sha512-D4zYz2uR90aooKQvX1XnS00Z7PkbrcY+snUvPfm5bCabTG7bzLrVtD56nJ5bSaZG8lmuOMfXpyiEEArYLyWPpw==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4
|
||||
|
||||
'@ai-sdk/openai@2.0.32':
|
||||
resolution: {integrity: sha512-p7giSkCs66Q1qYO/NPYI41CrSg65mcm8R2uAdF86+Y1D1/q4mUrWMyf5UTOJ0bx/z4jIPiNgGDCg2Kabi5zrKQ==}
|
||||
'@ai-sdk/openai@3.0.41':
|
||||
resolution: {integrity: sha512-IZ42A+FO+vuEQCVNqlnAPYQnnUpUfdJIwn1BEDOBywiEHa23fw7PahxVtlX9zm3/zMvTW4JKPzWyvAgDu+SQ2A==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
'@ai-sdk/provider-utils@3.0.0':
|
||||
resolution: {integrity: sha512-BoQZtGcBxkeSH1zK+SRYNDtJPIPpacTeiMZqnG4Rv6xXjEwM0FH4MGs9c+PlhyEWmQCzjRM2HAotEydFhD4dYw==}
|
||||
@@ -2850,6 +2865,18 @@ packages:
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4
|
||||
|
||||
'@ai-sdk/provider-utils@4.0.19':
|
||||
resolution: {integrity: sha512-3eG55CrSWCu2SXlqq2QCsFjo3+E7+Gmg7i/oRVoSZzIodTuDSfLb3MRje67xE9RFea73Zao7Lm4mADIfUETKGg==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
'@ai-sdk/provider-utils@4.0.20':
|
||||
resolution: {integrity: sha512-gpUIj9uDhIGbuo9afKEgQ074BWmhvK4THJAAeBjRnroTy2yQYo6rbtGD7pQDMZM8ouXPYmT/SCdkWVJ0KcpX8A==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
'@ai-sdk/provider@1.1.3':
|
||||
resolution: {integrity: sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==}
|
||||
engines: {node: '>=18'}
|
||||
@@ -2858,15 +2885,15 @@ packages:
|
||||
resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@ai-sdk/react@2.0.52':
|
||||
resolution: {integrity: sha512-4/i40pykN4gTGH264+k1g4tMGdw4xN7vZ1qESFCIm/lhS/8YiJPYheBOk9c349hytOT1sGxp3UNPcOWzWS0H2A==}
|
||||
'@ai-sdk/provider@3.0.8':
|
||||
resolution: {integrity: sha512-oGMAgGoQdBXbZqNG0Ze56CHjDZ1IDYOwGYxYjO5KLSlz5HiNQ9udIXsPZ61VWaHGZ5XW/jyjmr6t2xz2jGVwbQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
'@ai-sdk/react@3.0.118':
|
||||
resolution: {integrity: sha512-fBAix8Jftxse6/2YJnOFkwW1/O6EQK4DK68M9DlFmZGAzBmsaHXEPVS77sVIlkaOWCy11bE7434NAVXRY+3OsQ==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
react: ^18 || ^19 || ^19.0.0-rc
|
||||
zod: ^3.25.76 || ^4
|
||||
peerDependenciesMeta:
|
||||
zod:
|
||||
optional: true
|
||||
react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1
|
||||
|
||||
'@alloc/quick-lru@5.2.0':
|
||||
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
|
||||
@@ -2889,6 +2916,9 @@ packages:
|
||||
'@apm-js-collab/code-transformer@0.8.2':
|
||||
resolution: {integrity: sha512-YRjJjNq5KFSjDUoqu5pFUWrrsvGOxl6c3bu+uMFc9HNNptZ2rNU/TI2nLw4jnhQNtka972Ee2m3uqbvDQtPeCA==}
|
||||
|
||||
'@apm-js-collab/code-transformer@0.9.0':
|
||||
resolution: {integrity: sha512-cfHtufVUBKJz6se/tQBJqizgoot5AOxhVy5B9Cuo493p6b7hXKBEIi6tcZEbr4XwN1VnV9JZOu52MMTCOCSBMw==}
|
||||
|
||||
'@apm-js-collab/tracing-hooks@0.3.1':
|
||||
resolution: {integrity: sha512-Vu1CbmPURlN5fTboVuKMoJjbO5qcq9fA5YXpskx3dXe/zTBvjODFoerw+69rVBlRLrJpwPqSDqEuJDEKIrTldw==}
|
||||
|
||||
@@ -8321,6 +8351,9 @@ packages:
|
||||
'@standard-schema/spec@1.0.0':
|
||||
resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
|
||||
|
||||
'@standard-schema/spec@1.1.0':
|
||||
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
|
||||
|
||||
'@stitches/core@1.2.8':
|
||||
resolution: {integrity: sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==}
|
||||
|
||||
@@ -9291,6 +9324,10 @@ packages:
|
||||
resolution: {integrity: sha512-OTe0KE37F5Y2eTys6eMnfopC+P4qr2ooXUTFyFPTplYSPwowmFk/HLD1FXtbKLjqsIH0SgekcJWad+C5uX4nkg==}
|
||||
engines: {node: '>=16'}
|
||||
|
||||
'@vercel/oidc@3.1.0':
|
||||
resolution: {integrity: sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==}
|
||||
engines: {node: '>= 20'}
|
||||
|
||||
'@vitejs/plugin-react@4.3.4':
|
||||
resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==}
|
||||
engines: {node: ^14.18.0 || >=16.0.0}
|
||||
@@ -9619,6 +9656,12 @@ packages:
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4
|
||||
|
||||
ai@6.0.116:
|
||||
resolution: {integrity: sha512-7yM+cTmyRLeNIXwt4Vj+mrrJgVQ9RMIW5WO0ydoLoYkewIvsMcvUmqS4j2RJTUXaF1HphwmSKUMQ/HypNRGOmA==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
zod: ^3.25.76 || ^4.1.8
|
||||
|
||||
ajv-formats@2.1.1:
|
||||
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
|
||||
peerDependencies:
|
||||
@@ -10021,8 +10064,8 @@ packages:
|
||||
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
braintrust@3.0.0:
|
||||
resolution: {integrity: sha512-mhpflunGgPhZC8wJxP6GPPcrFNIDgO0E77Gy/hkxSlIUaLpszfxLgQAIESccdbjH+x+PHUDiJiMIgDxNpagVHg==}
|
||||
braintrust@3.4.0:
|
||||
resolution: {integrity: sha512-LsyvraUPcW+EAiUd7N5iMePrHk4n0LJ3/S4DiBljj2pLsDSavic987RPStS9L6cJG6qXc6BKCwKaLQf/1JaPuQ==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
zod: ^3.25.34 || ^4.0
|
||||
@@ -10987,6 +11030,9 @@ packages:
|
||||
sqlite3:
|
||||
optional: true
|
||||
|
||||
dc-browser@1.0.3:
|
||||
resolution: {integrity: sha512-B2PJFzWouEPzc+jLo+yTgUXaVz0eZjVsfKX9CnUDzezsluxOKOjllBpw0EJJ1KNJGnNzKpZ4dDYtd+jVp0KRNA==}
|
||||
|
||||
de-indent@1.0.2:
|
||||
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
|
||||
|
||||
@@ -11827,10 +11873,6 @@ packages:
|
||||
resolution: {integrity: sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==}
|
||||
engines: {node: '>=14.18'}
|
||||
|
||||
eventsource-parser@3.0.3:
|
||||
resolution: {integrity: sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA==}
|
||||
engines: {node: '>=20.0.0'}
|
||||
|
||||
eventsource-parser@3.0.6:
|
||||
resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
@@ -18173,11 +18215,6 @@ packages:
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0
|
||||
|
||||
use-sync-external-store@1.5.0:
|
||||
resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==}
|
||||
peerDependencies:
|
||||
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
|
||||
use-sync-external-store@1.6.0:
|
||||
resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
|
||||
peerDependencies:
|
||||
@@ -18831,20 +18868,20 @@ snapshots:
|
||||
|
||||
'@adobe/css-tools@4.4.0': {}
|
||||
|
||||
'@ai-sdk/amazon-bedrock@3.0.0(zod@3.25.76)':
|
||||
'@ai-sdk/amazon-bedrock@4.0.81(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/anthropic': 2.0.0(zod@3.25.76)
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@ai-sdk/provider-utils': 3.0.0(zod@3.25.76)
|
||||
'@ai-sdk/anthropic': 3.0.62(zod@3.25.76)
|
||||
'@ai-sdk/provider': 3.0.8
|
||||
'@ai-sdk/provider-utils': 4.0.20(zod@3.25.76)
|
||||
'@smithy/eventstream-codec': 4.0.4
|
||||
'@smithy/util-utf8': 4.0.0
|
||||
aws4fetch: 1.0.20
|
||||
zod: 3.25.76
|
||||
|
||||
'@ai-sdk/anthropic@2.0.0(zod@3.25.76)':
|
||||
'@ai-sdk/anthropic@3.0.62(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@ai-sdk/provider-utils': 3.0.0(zod@3.25.76)
|
||||
'@ai-sdk/provider': 3.0.8
|
||||
'@ai-sdk/provider-utils': 4.0.20(zod@3.25.76)
|
||||
zod: 3.25.76
|
||||
|
||||
'@ai-sdk/gateway@1.0.29(zod@3.25.76)':
|
||||
@@ -18853,30 +18890,58 @@ snapshots:
|
||||
'@ai-sdk/provider-utils': 3.0.9(zod@3.25.76)
|
||||
zod: 3.25.76
|
||||
|
||||
'@ai-sdk/gateway@3.0.66(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 3.0.8
|
||||
'@ai-sdk/provider-utils': 4.0.19(zod@3.25.76)
|
||||
'@vercel/oidc': 3.1.0
|
||||
zod: 3.25.76
|
||||
|
||||
'@ai-sdk/mcp@1.0.25(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 3.0.8
|
||||
'@ai-sdk/provider-utils': 4.0.19(zod@3.25.76)
|
||||
pkce-challenge: 5.0.0
|
||||
zod: 3.25.76
|
||||
|
||||
'@ai-sdk/openai@2.0.2(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@ai-sdk/provider-utils': 3.0.0(zod@3.25.76)
|
||||
zod: 3.25.76
|
||||
|
||||
'@ai-sdk/openai@2.0.32(zod@3.25.76)':
|
||||
'@ai-sdk/openai@3.0.41(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@ai-sdk/provider-utils': 3.0.9(zod@3.25.76)
|
||||
'@ai-sdk/provider': 3.0.8
|
||||
'@ai-sdk/provider-utils': 4.0.19(zod@3.25.76)
|
||||
zod: 3.25.76
|
||||
|
||||
'@ai-sdk/provider-utils@3.0.0(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@standard-schema/spec': 1.0.0
|
||||
eventsource-parser: 3.0.3
|
||||
'@standard-schema/spec': 1.1.0
|
||||
eventsource-parser: 3.0.6
|
||||
zod: 3.25.76
|
||||
zod-to-json-schema: 3.24.5(zod@3.25.76)
|
||||
|
||||
'@ai-sdk/provider-utils@3.0.9(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 2.0.0
|
||||
'@standard-schema/spec': 1.0.0
|
||||
'@standard-schema/spec': 1.1.0
|
||||
eventsource-parser: 3.0.6
|
||||
zod: 3.25.76
|
||||
|
||||
'@ai-sdk/provider-utils@4.0.19(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 3.0.8
|
||||
'@standard-schema/spec': 1.1.0
|
||||
eventsource-parser: 3.0.6
|
||||
zod: 3.25.76
|
||||
|
||||
'@ai-sdk/provider-utils@4.0.20(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 3.0.8
|
||||
'@standard-schema/spec': 1.1.0
|
||||
eventsource-parser: 3.0.6
|
||||
zod: 3.25.76
|
||||
|
||||
@@ -18888,15 +18953,19 @@ snapshots:
|
||||
dependencies:
|
||||
json-schema: 0.4.0
|
||||
|
||||
'@ai-sdk/react@2.0.52(react@18.3.1)(zod@3.25.76)':
|
||||
'@ai-sdk/provider@3.0.8':
|
||||
dependencies:
|
||||
'@ai-sdk/provider-utils': 3.0.9(zod@3.25.76)
|
||||
ai: 5.0.52(zod@3.25.76)
|
||||
json-schema: 0.4.0
|
||||
|
||||
'@ai-sdk/react@3.0.118(react@18.3.1)(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@ai-sdk/provider-utils': 4.0.19(zod@3.25.76)
|
||||
ai: 6.0.116(zod@3.25.76)
|
||||
react: 18.3.1
|
||||
swr: 2.2.5(react@18.3.1)
|
||||
throttleit: 2.1.0
|
||||
optionalDependencies:
|
||||
zod: 3.25.76
|
||||
transitivePeerDependencies:
|
||||
- zod
|
||||
|
||||
'@alloc/quick-lru@5.2.0': {}
|
||||
|
||||
@@ -18921,6 +18990,8 @@ snapshots:
|
||||
|
||||
'@apm-js-collab/code-transformer@0.8.2': {}
|
||||
|
||||
'@apm-js-collab/code-transformer@0.9.0': {}
|
||||
|
||||
'@apm-js-collab/tracing-hooks@0.3.1(supports-color@8.1.1)':
|
||||
dependencies:
|
||||
'@apm-js-collab/code-transformer': 0.8.2
|
||||
@@ -25735,6 +25806,8 @@ snapshots:
|
||||
|
||||
'@standard-schema/spec@1.0.0': {}
|
||||
|
||||
'@standard-schema/spec@1.1.0': {}
|
||||
|
||||
'@stitches/core@1.2.8': {}
|
||||
|
||||
'@stripe/react-stripe-js@3.7.0(@stripe/stripe-js@7.5.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
|
||||
@@ -26929,6 +27002,8 @@ snapshots:
|
||||
satori: 0.10.9
|
||||
yoga-wasm-web: 0.3.3
|
||||
|
||||
'@vercel/oidc@3.1.0': {}
|
||||
|
||||
'@vitejs/plugin-react@4.3.4(supports-color@8.1.1)(vite@7.1.11(@types/node@22.13.14)(jiti@2.5.1)(sass@1.77.4)(terser@5.39.0)(tsx@4.20.3)(yaml@2.8.1))':
|
||||
dependencies:
|
||||
'@babel/core': 7.29.0(supports-color@8.1.1)
|
||||
@@ -27382,6 +27457,14 @@ snapshots:
|
||||
'@opentelemetry/api': 1.9.0
|
||||
zod: 3.25.76
|
||||
|
||||
ai@6.0.116(zod@3.25.76):
|
||||
dependencies:
|
||||
'@ai-sdk/gateway': 3.0.66(zod@3.25.76)
|
||||
'@ai-sdk/provider': 3.0.8
|
||||
'@ai-sdk/provider-utils': 4.0.19(zod@3.25.76)
|
||||
'@opentelemetry/api': 1.9.0
|
||||
zod: 3.25.76
|
||||
|
||||
ajv-formats@2.1.1(ajv@8.18.0):
|
||||
optionalDependencies:
|
||||
ajv: 8.18.0
|
||||
@@ -27842,9 +27925,10 @@ snapshots:
|
||||
dependencies:
|
||||
fill-range: 7.1.1
|
||||
|
||||
braintrust@3.0.0(@aws-sdk/credential-provider-web-identity@3.830.0)(supports-color@8.1.1)(zod@3.25.76):
|
||||
braintrust@3.4.0(@aws-sdk/credential-provider-web-identity@3.830.0)(supports-color@8.1.1)(zod@3.25.76):
|
||||
dependencies:
|
||||
'@ai-sdk/provider': 1.1.3
|
||||
'@apm-js-collab/code-transformer': 0.9.0
|
||||
'@next/env': 14.2.35
|
||||
'@vercel/functions': 1.6.0(@aws-sdk/credential-provider-web-identity@3.830.0)
|
||||
ajv: 8.18.0
|
||||
@@ -27854,6 +27938,7 @@ snapshots:
|
||||
cli-progress: 3.12.0
|
||||
cli-table3: 0.6.5
|
||||
cors: 2.8.5
|
||||
dc-browser: 1.0.3
|
||||
dotenv: 16.5.0
|
||||
esbuild: 0.25.2
|
||||
eventsource-parser: 1.1.2
|
||||
@@ -27861,14 +27946,16 @@ snapshots:
|
||||
graceful-fs: 4.2.11
|
||||
http-errors: 2.0.1
|
||||
minimatch: 9.0.7
|
||||
module-details-from-path: 1.0.4
|
||||
mustache: 4.2.0
|
||||
pluralize: 8.0.0
|
||||
simple-git: 3.32.3(supports-color@8.1.1)
|
||||
source-map: 0.7.6
|
||||
termi-link: 1.1.0
|
||||
unplugin: 2.3.10
|
||||
uuid: 9.0.1
|
||||
zod: 3.25.76
|
||||
zod-to-json-schema: 3.25.0(zod@3.25.76)
|
||||
zod-to-json-schema: 3.25.1(zod@3.25.76)
|
||||
transitivePeerDependencies:
|
||||
- '@aws-sdk/credential-provider-web-identity'
|
||||
- supports-color
|
||||
@@ -28969,6 +29056,8 @@ snapshots:
|
||||
'@electric-sql/pglite': 0.2.15
|
||||
drizzle-orm: 0.44.7(@electric-sql/pglite@0.2.15)(@opentelemetry/api@1.9.0)(@types/pg@8.15.6)(pg@8.16.3)
|
||||
|
||||
dc-browser@1.0.3: {}
|
||||
|
||||
de-indent@1.0.2: {}
|
||||
|
||||
debounce-promise@3.1.2: {}
|
||||
@@ -29801,8 +29890,6 @@ snapshots:
|
||||
|
||||
eventsource-parser@1.1.2: {}
|
||||
|
||||
eventsource-parser@3.0.3: {}
|
||||
|
||||
eventsource-parser@3.0.6: {}
|
||||
|
||||
eventsource@3.0.7:
|
||||
@@ -36978,7 +37065,7 @@ snapshots:
|
||||
dependencies:
|
||||
client-only: 0.0.1
|
||||
react: 18.3.1
|
||||
use-sync-external-store: 1.5.0(react@18.3.1)
|
||||
use-sync-external-store: 1.6.0(react@18.3.1)
|
||||
|
||||
symbol-tree@3.2.4: {}
|
||||
|
||||
@@ -37764,10 +37851,6 @@ snapshots:
|
||||
dependencies:
|
||||
react: 18.3.1
|
||||
|
||||
use-sync-external-store@1.5.0(react@18.3.1):
|
||||
dependencies:
|
||||
react: 18.3.1
|
||||
|
||||
use-sync-external-store@1.6.0(react@18.3.1):
|
||||
dependencies:
|
||||
react: 18.3.1
|
||||
|
||||
Reference in new issue
Block a user