ai 7.0.0-beta.1 → 7.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -0
- package/README.md +2 -2
- package/dist/index.d.mts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +127 -49
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +127 -49
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +4 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +4 -1
- package/dist/internal/index.mjs.map +1 -1
- package/docs/02-foundations/02-providers-and-models.mdx +3 -1
- package/docs/03-ai-sdk-core/35-image-generation.mdx +0 -1
- package/package.json +3 -3
- package/src/generate-text/generate-text.ts +55 -9
- package/src/generate-text/run-tools-transformation.ts +6 -0
- package/src/generate-text/stream-text.ts +65 -29
- package/src/ui/convert-to-model-messages.ts +5 -2
- package/src/ui/process-ui-message-stream.ts +58 -6
- package/src/ui/ui-messages.ts +4 -0
- package/src/ui/validate-ui-messages.ts +4 -0
- package/src/ui-message-stream/ui-message-chunks.ts +4 -0
- package/src/util/download/download.ts +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,70 @@
|
|
|
1
1
|
# ai
|
|
2
2
|
|
|
3
|
+
## 7.0.0-beta.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [aa5a583]
|
|
8
|
+
- @ai-sdk/gateway@4.0.0-beta.5
|
|
9
|
+
|
|
10
|
+
## 7.0.0-beta.9
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 1fe058b: fix(anthropic): preserve the error code returned by model
|
|
15
|
+
|
|
16
|
+
## 7.0.0-beta.8
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Updated dependencies [f32d84a]
|
|
21
|
+
- @ai-sdk/gateway@4.0.0-beta.4
|
|
22
|
+
|
|
23
|
+
## 7.0.0-beta.7
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- 210ed3d: feat(ai): pass result provider metadata across the stream
|
|
28
|
+
|
|
29
|
+
## 7.0.0-beta.6
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- Updated dependencies [c949e25]
|
|
34
|
+
- @ai-sdk/gateway@4.0.0-beta.3
|
|
35
|
+
|
|
36
|
+
## 7.0.0-beta.5
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- ebd4da2: feat(ai): add missing usage attributes
|
|
41
|
+
|
|
42
|
+
## 7.0.0-beta.4
|
|
43
|
+
|
|
44
|
+
### Patch Changes
|
|
45
|
+
|
|
46
|
+
- 5ceed7d: fix(ai): doStream should reflect transformed values
|
|
47
|
+
|
|
48
|
+
## 7.0.0-beta.3
|
|
49
|
+
|
|
50
|
+
### Patch Changes
|
|
51
|
+
|
|
52
|
+
- 531251e: fix(security): validate redirect targets in download functions to prevent SSRF bypass
|
|
53
|
+
|
|
54
|
+
Both `downloadBlob` and `download` now validate the final URL after following HTTP redirects, preventing attackers from bypassing SSRF protections via open redirects to internal/private addresses.
|
|
55
|
+
|
|
56
|
+
- Updated dependencies [531251e]
|
|
57
|
+
- @ai-sdk/provider-utils@5.0.0-beta.1
|
|
58
|
+
- @ai-sdk/gateway@4.0.0-beta.2
|
|
59
|
+
|
|
60
|
+
## 7.0.0-beta.2
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- Updated dependencies [7afaece]
|
|
65
|
+
- Updated dependencies [f16c103]
|
|
66
|
+
- @ai-sdk/gateway@4.0.0-beta.1
|
|
67
|
+
|
|
3
68
|
## 7.0.0-beta.1
|
|
4
69
|
|
|
5
70
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ By default, the AI SDK uses the [Vercel AI Gateway](https://vercel.com/docs/ai-g
|
|
|
30
30
|
|
|
31
31
|
```ts
|
|
32
32
|
const result = await generateText({
|
|
33
|
-
model: 'anthropic/claude-opus-4.5', // or 'openai/gpt-5.
|
|
33
|
+
model: 'anthropic/claude-opus-4.5', // or 'openai/gpt-5.4', 'google/gemini-3-flash', etc.
|
|
34
34
|
prompt: 'Hello!',
|
|
35
35
|
});
|
|
36
36
|
```
|
|
@@ -45,7 +45,7 @@ npm install @ai-sdk/openai @ai-sdk/anthropic @ai-sdk/google
|
|
|
45
45
|
import { anthropic } from '@ai-sdk/anthropic';
|
|
46
46
|
|
|
47
47
|
const result = await generateText({
|
|
48
|
-
model: anthropic('claude-opus-4-5-20250414'), // or openai('gpt-5.
|
|
48
|
+
model: anthropic('claude-opus-4-5-20250414'), // or openai('gpt-5.4'), google('gemini-3-flash'), etc.
|
|
49
49
|
prompt: 'Hello!',
|
|
50
50
|
});
|
|
51
51
|
```
|
package/dist/index.d.mts
CHANGED
|
@@ -1865,6 +1865,7 @@ type UIToolInvocation<TOOL extends UITool | Tool> = {
|
|
|
1865
1865
|
output: asUITool<TOOL>['output'];
|
|
1866
1866
|
errorText?: never;
|
|
1867
1867
|
callProviderMetadata?: ProviderMetadata;
|
|
1868
|
+
resultProviderMetadata?: ProviderMetadata;
|
|
1868
1869
|
preliminary?: boolean;
|
|
1869
1870
|
approval?: {
|
|
1870
1871
|
id: string;
|
|
@@ -1878,6 +1879,7 @@ type UIToolInvocation<TOOL extends UITool | Tool> = {
|
|
|
1878
1879
|
output?: never;
|
|
1879
1880
|
errorText: string;
|
|
1880
1881
|
callProviderMetadata?: ProviderMetadata;
|
|
1882
|
+
resultProviderMetadata?: ProviderMetadata;
|
|
1881
1883
|
approval?: {
|
|
1882
1884
|
id: string;
|
|
1883
1885
|
approved: true;
|
|
@@ -1957,6 +1959,7 @@ type DynamicToolUIPart = {
|
|
|
1957
1959
|
output: unknown;
|
|
1958
1960
|
errorText?: never;
|
|
1959
1961
|
callProviderMetadata?: ProviderMetadata;
|
|
1962
|
+
resultProviderMetadata?: ProviderMetadata;
|
|
1960
1963
|
preliminary?: boolean;
|
|
1961
1964
|
approval?: {
|
|
1962
1965
|
id: string;
|
|
@@ -1969,6 +1972,7 @@ type DynamicToolUIPart = {
|
|
|
1969
1972
|
output?: never;
|
|
1970
1973
|
errorText: string;
|
|
1971
1974
|
callProviderMetadata?: ProviderMetadata;
|
|
1975
|
+
resultProviderMetadata?: ProviderMetadata;
|
|
1972
1976
|
approval?: {
|
|
1973
1977
|
id: string;
|
|
1974
1978
|
approved: true;
|
|
@@ -2102,6 +2106,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
2102
2106
|
toolCallId: string;
|
|
2103
2107
|
output: unknown;
|
|
2104
2108
|
providerExecuted?: boolean | undefined;
|
|
2109
|
+
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2105
2110
|
dynamic?: boolean | undefined;
|
|
2106
2111
|
preliminary?: boolean | undefined;
|
|
2107
2112
|
} | {
|
|
@@ -2109,6 +2114,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
2109
2114
|
toolCallId: string;
|
|
2110
2115
|
errorText: string;
|
|
2111
2116
|
providerExecuted?: boolean | undefined;
|
|
2117
|
+
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2112
2118
|
dynamic?: boolean | undefined;
|
|
2113
2119
|
} | {
|
|
2114
2120
|
type: "tool-output-denied";
|
|
@@ -2233,6 +2239,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
|
|
|
2233
2239
|
toolCallId: string;
|
|
2234
2240
|
output: unknown;
|
|
2235
2241
|
providerExecuted?: boolean;
|
|
2242
|
+
providerMetadata?: ProviderMetadata;
|
|
2236
2243
|
dynamic?: boolean;
|
|
2237
2244
|
preliminary?: boolean;
|
|
2238
2245
|
} | {
|
|
@@ -2240,6 +2247,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
|
|
|
2240
2247
|
toolCallId: string;
|
|
2241
2248
|
errorText: string;
|
|
2242
2249
|
providerExecuted?: boolean;
|
|
2250
|
+
providerMetadata?: ProviderMetadata;
|
|
2243
2251
|
dynamic?: boolean;
|
|
2244
2252
|
} | {
|
|
2245
2253
|
type: 'tool-output-denied';
|
package/dist/index.d.ts
CHANGED
|
@@ -1865,6 +1865,7 @@ type UIToolInvocation<TOOL extends UITool | Tool> = {
|
|
|
1865
1865
|
output: asUITool<TOOL>['output'];
|
|
1866
1866
|
errorText?: never;
|
|
1867
1867
|
callProviderMetadata?: ProviderMetadata;
|
|
1868
|
+
resultProviderMetadata?: ProviderMetadata;
|
|
1868
1869
|
preliminary?: boolean;
|
|
1869
1870
|
approval?: {
|
|
1870
1871
|
id: string;
|
|
@@ -1878,6 +1879,7 @@ type UIToolInvocation<TOOL extends UITool | Tool> = {
|
|
|
1878
1879
|
output?: never;
|
|
1879
1880
|
errorText: string;
|
|
1880
1881
|
callProviderMetadata?: ProviderMetadata;
|
|
1882
|
+
resultProviderMetadata?: ProviderMetadata;
|
|
1881
1883
|
approval?: {
|
|
1882
1884
|
id: string;
|
|
1883
1885
|
approved: true;
|
|
@@ -1957,6 +1959,7 @@ type DynamicToolUIPart = {
|
|
|
1957
1959
|
output: unknown;
|
|
1958
1960
|
errorText?: never;
|
|
1959
1961
|
callProviderMetadata?: ProviderMetadata;
|
|
1962
|
+
resultProviderMetadata?: ProviderMetadata;
|
|
1960
1963
|
preliminary?: boolean;
|
|
1961
1964
|
approval?: {
|
|
1962
1965
|
id: string;
|
|
@@ -1969,6 +1972,7 @@ type DynamicToolUIPart = {
|
|
|
1969
1972
|
output?: never;
|
|
1970
1973
|
errorText: string;
|
|
1971
1974
|
callProviderMetadata?: ProviderMetadata;
|
|
1975
|
+
resultProviderMetadata?: ProviderMetadata;
|
|
1972
1976
|
approval?: {
|
|
1973
1977
|
id: string;
|
|
1974
1978
|
approved: true;
|
|
@@ -2102,6 +2106,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
2102
2106
|
toolCallId: string;
|
|
2103
2107
|
output: unknown;
|
|
2104
2108
|
providerExecuted?: boolean | undefined;
|
|
2109
|
+
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2105
2110
|
dynamic?: boolean | undefined;
|
|
2106
2111
|
preliminary?: boolean | undefined;
|
|
2107
2112
|
} | {
|
|
@@ -2109,6 +2114,7 @@ declare const uiMessageChunkSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
2109
2114
|
toolCallId: string;
|
|
2110
2115
|
errorText: string;
|
|
2111
2116
|
providerExecuted?: boolean | undefined;
|
|
2117
|
+
providerMetadata?: _ai_sdk_provider.SharedV4ProviderMetadata | undefined;
|
|
2112
2118
|
dynamic?: boolean | undefined;
|
|
2113
2119
|
} | {
|
|
2114
2120
|
type: "tool-output-denied";
|
|
@@ -2233,6 +2239,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
|
|
|
2233
2239
|
toolCallId: string;
|
|
2234
2240
|
output: unknown;
|
|
2235
2241
|
providerExecuted?: boolean;
|
|
2242
|
+
providerMetadata?: ProviderMetadata;
|
|
2236
2243
|
dynamic?: boolean;
|
|
2237
2244
|
preliminary?: boolean;
|
|
2238
2245
|
} | {
|
|
@@ -2240,6 +2247,7 @@ type UIMessageChunk<METADATA = unknown, DATA_TYPES extends UIDataTypes = UIDataT
|
|
|
2240
2247
|
toolCallId: string;
|
|
2241
2248
|
errorText: string;
|
|
2242
2249
|
providerExecuted?: boolean;
|
|
2250
|
+
providerMetadata?: ProviderMetadata;
|
|
2243
2251
|
dynamic?: boolean;
|
|
2244
2252
|
} | {
|
|
2245
2253
|
type: 'tool-output-denied';
|