ai 7.0.0-beta.3 → 7.0.0-beta.30
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 +213 -20
- package/README.md +6 -16
- package/dist/index.d.mts +1053 -765
- package/dist/index.d.ts +1053 -765
- package/dist/index.js +2456 -1980
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2320 -1838
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +17 -7
- package/dist/internal/index.d.ts +17 -7
- package/dist/internal/index.js +36 -3
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +36 -3
- package/dist/internal/index.mjs.map +1 -1
- package/docs/02-foundations/02-providers-and-models.mdx +4 -2
- package/docs/02-foundations/06-provider-options.mdx +8 -0
- package/docs/03-ai-sdk-core/16-mcp-tools.mdx +6 -0
- package/docs/03-ai-sdk-core/25-settings.mdx +18 -0
- package/docs/03-ai-sdk-core/26-reasoning.mdx +190 -0
- package/docs/03-ai-sdk-core/30-embeddings.mdx +17 -16
- package/docs/03-ai-sdk-core/35-image-generation.mdx +1 -2
- package/docs/03-ai-sdk-core/40-middleware.mdx +13 -13
- package/docs/03-ai-sdk-core/55-testing.mdx +10 -10
- package/docs/03-ai-sdk-core/65-event-listeners.mdx +216 -13
- package/docs/03-ai-sdk-core/index.mdx +6 -0
- package/docs/04-ai-sdk-ui/02-chatbot.mdx +7 -0
- package/docs/04-ai-sdk-ui/50-stream-protocol.mdx +26 -0
- package/docs/06-advanced/04-caching.mdx +10 -10
- package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +80 -10
- package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +104 -8
- package/docs/07-reference/01-ai-sdk-core/05-embed.mdx +135 -0
- package/docs/07-reference/01-ai-sdk-core/06-embed-many.mdx +139 -0
- package/docs/07-reference/01-ai-sdk-core/10-generate-image.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/11-transcribe.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/12-generate-speech.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/13-generate-video.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/16-tool-loop-agent.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/23-create-mcp-client.mdx +7 -0
- package/docs/07-reference/01-ai-sdk-core/30-model-message.mdx +23 -3
- package/docs/07-reference/01-ai-sdk-core/31-ui-message.mdx +18 -0
- package/docs/07-reference/01-ai-sdk-core/60-wrap-language-model.mdx +4 -4
- package/docs/07-reference/01-ai-sdk-core/61-wrap-image-model.mdx +4 -4
- package/docs/07-reference/01-ai-sdk-core/65-language-model-v2-middleware.mdx +9 -9
- package/docs/07-reference/01-ai-sdk-core/66-extract-reasoning-middleware.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/68-default-settings-middleware.mdx +1 -1
- package/docs/08-migration-guides/23-migration-guide-7-0.mdx +95 -0
- package/docs/09-troubleshooting/30-model-is-not-assignable-to-type.mdx +1 -1
- package/package.json +14 -11
- package/src/agent/agent.ts +1 -1
- package/src/agent/create-agent-ui-stream-response.ts +1 -1
- package/src/agent/create-agent-ui-stream.ts +1 -1
- package/src/agent/pipe-agent-ui-stream-to-response.ts +1 -1
- package/src/agent/tool-loop-agent-settings.ts +2 -2
- package/src/agent/tool-loop-agent.ts +1 -2
- package/src/embed/embed-events.ts +109 -0
- package/src/embed/embed-many.ts +99 -1
- package/src/embed/embed.ts +78 -1
- package/src/embed/index.ts +1 -0
- package/src/error/invalid-stream-part-error.ts +3 -3
- package/src/generate-object/generate-object.ts +3 -6
- package/src/generate-object/stream-object.ts +9 -10
- package/src/generate-text/content-part.ts +8 -2
- package/src/generate-text/{callback-events.ts → core-events.ts} +82 -24
- package/src/generate-text/create-execute-tools-transformation.ts +168 -0
- package/src/generate-text/create-stream-text-part-transform.ts +229 -0
- package/src/generate-text/execute-tool-call.ts +89 -96
- package/src/generate-text/generate-text-result.ts +2 -2
- package/src/generate-text/generate-text.ts +574 -698
- package/src/generate-text/index.ts +2 -2
- package/src/generate-text/reasoning-output.ts +79 -0
- package/src/generate-text/reasoning.ts +5 -3
- package/src/generate-text/step-result.ts +33 -13
- package/src/generate-text/stream-text-result.ts +168 -95
- package/src/generate-text/stream-text.ts +741 -855
- package/src/generate-text/to-response-messages.ts +15 -0
- package/src/prompt/call-settings.ts +36 -7
- package/src/prompt/content-part.ts +21 -0
- package/src/prompt/convert-to-language-model-prompt.ts +22 -0
- package/src/prompt/message.ts +4 -0
- package/src/prompt/prepare-call-settings.ts +4 -2
- package/src/registry/provider-registry.ts +1 -2
- package/src/telemetry/get-base-telemetry-attributes.ts +4 -2
- package/src/telemetry/get-global-telemetry-integration.ts +44 -19
- package/src/telemetry/open-telemetry-integration.ts +537 -0
- package/src/telemetry/telemetry-integration-registry.ts +5 -0
- package/src/telemetry/telemetry-integration.ts +77 -1
- package/src/telemetry/telemetry-settings.ts +4 -2
- package/src/ui/convert-to-model-messages.ts +29 -2
- package/src/ui/direct-chat-transport.ts +1 -2
- package/src/ui/http-chat-transport.ts +8 -19
- package/src/ui/index.ts +4 -0
- package/src/ui/process-ui-message-stream.ts +73 -8
- package/src/ui/ui-messages.ts +66 -0
- package/src/ui/validate-ui-messages.ts +15 -0
- package/src/ui-message-stream/ui-message-chunks.ts +26 -0
- package/src/generate-text/run-tools-transformation.ts +0 -442
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,198 @@
|
|
|
1
1
|
# ai
|
|
2
2
|
|
|
3
|
+
## 7.0.0-beta.30
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- f5a6f89: README updates
|
|
8
|
+
|
|
9
|
+
## 7.0.0-beta.29
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 877bf12: fix(ai): flatten model attributes for telemetry
|
|
14
|
+
|
|
15
|
+
## 7.0.0-beta.28
|
|
16
|
+
|
|
17
|
+
### Major Changes
|
|
18
|
+
|
|
19
|
+
- b9cf502: refactoring(ai): delay tool execution in stream text until model call is finished
|
|
20
|
+
|
|
21
|
+
## 7.0.0-beta.27
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
|
|
26
|
+
- Updated dependencies [3887c70]
|
|
27
|
+
- @ai-sdk/provider-utils@5.0.0-beta.6
|
|
28
|
+
- @ai-sdk/provider@4.0.0-beta.4
|
|
29
|
+
- @ai-sdk/gateway@4.0.0-beta.17
|
|
30
|
+
|
|
31
|
+
## 7.0.0-beta.26
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- f0b0b20: feat(ai): add per-tool timeout overrides via toolTimeouts
|
|
36
|
+
|
|
37
|
+
## 7.0.0-beta.25
|
|
38
|
+
|
|
39
|
+
### Patch Changes
|
|
40
|
+
|
|
41
|
+
- ff9ce30: feat(ai): introduce experimental callbacks for embed function
|
|
42
|
+
|
|
43
|
+
## 7.0.0-beta.24
|
|
44
|
+
|
|
45
|
+
### Major Changes
|
|
46
|
+
|
|
47
|
+
- 776b617: feat(provider): adding new 'custom' content type
|
|
48
|
+
|
|
49
|
+
### Patch Changes
|
|
50
|
+
|
|
51
|
+
- Updated dependencies [776b617]
|
|
52
|
+
- @ai-sdk/provider-utils@5.0.0-beta.5
|
|
53
|
+
- @ai-sdk/provider@4.0.0-beta.3
|
|
54
|
+
- @ai-sdk/gateway@4.0.0-beta.16
|
|
55
|
+
|
|
56
|
+
## 7.0.0-beta.23
|
|
57
|
+
|
|
58
|
+
### Patch Changes
|
|
59
|
+
|
|
60
|
+
- 80d4dde: fix(ai): include tool input on tool result for provider executed dynamic tools
|
|
61
|
+
- Updated dependencies [61753c3]
|
|
62
|
+
- @ai-sdk/provider-utils@5.0.0-beta.4
|
|
63
|
+
- @ai-sdk/gateway@4.0.0-beta.15
|
|
64
|
+
|
|
65
|
+
## 7.0.0-beta.22
|
|
66
|
+
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- Updated dependencies [ead9144]
|
|
70
|
+
- @ai-sdk/gateway@4.0.0-beta.14
|
|
71
|
+
|
|
72
|
+
## 7.0.0-beta.21
|
|
73
|
+
|
|
74
|
+
### Patch Changes
|
|
75
|
+
|
|
76
|
+
- 34fd051: feat(ai): add toolMs to timeout configuration
|
|
77
|
+
|
|
78
|
+
## 7.0.0-beta.20
|
|
79
|
+
|
|
80
|
+
### Patch Changes
|
|
81
|
+
|
|
82
|
+
- Updated dependencies [2095655]
|
|
83
|
+
- @ai-sdk/gateway@4.0.0-beta.13
|
|
84
|
+
|
|
85
|
+
## 7.0.0-beta.19
|
|
86
|
+
|
|
87
|
+
### Patch Changes
|
|
88
|
+
|
|
89
|
+
- Updated dependencies [f7d4f01]
|
|
90
|
+
- @ai-sdk/provider-utils@5.0.0-beta.3
|
|
91
|
+
- @ai-sdk/provider@4.0.0-beta.2
|
|
92
|
+
- @ai-sdk/gateway@4.0.0-beta.12
|
|
93
|
+
|
|
94
|
+
## 7.0.0-beta.18
|
|
95
|
+
|
|
96
|
+
### Patch Changes
|
|
97
|
+
|
|
98
|
+
- Updated dependencies [5c2a5a2]
|
|
99
|
+
- @ai-sdk/provider@4.0.0-beta.1
|
|
100
|
+
- @ai-sdk/gateway@4.0.0-beta.11
|
|
101
|
+
- @ai-sdk/provider-utils@5.0.0-beta.2
|
|
102
|
+
|
|
103
|
+
## 7.0.0-beta.17
|
|
104
|
+
|
|
105
|
+
### Patch Changes
|
|
106
|
+
|
|
107
|
+
- Updated dependencies [4d6ab9a]
|
|
108
|
+
- @ai-sdk/gateway@4.0.0-beta.10
|
|
109
|
+
|
|
110
|
+
## 7.0.0-beta.16
|
|
111
|
+
|
|
112
|
+
### Major Changes
|
|
113
|
+
|
|
114
|
+
- 5b8c58f: feat(ai): decouple otel from core functions
|
|
115
|
+
|
|
116
|
+
## 7.0.0-beta.15
|
|
117
|
+
|
|
118
|
+
### Patch Changes
|
|
119
|
+
|
|
120
|
+
- Updated dependencies [980f777]
|
|
121
|
+
- Updated dependencies [7185ba2]
|
|
122
|
+
- @ai-sdk/gateway@4.0.0-beta.9
|
|
123
|
+
|
|
124
|
+
## 7.0.0-beta.14
|
|
125
|
+
|
|
126
|
+
### Patch Changes
|
|
127
|
+
|
|
128
|
+
- Updated dependencies [4adc485]
|
|
129
|
+
- @ai-sdk/gateway@4.0.0-beta.8
|
|
130
|
+
|
|
131
|
+
## 7.0.0-beta.13
|
|
132
|
+
|
|
133
|
+
### Patch Changes
|
|
134
|
+
|
|
135
|
+
- c26ca8d: Remove custom User-Agent header from HttpChatTransport to fix CORS preflight failures in Safari and Firefox
|
|
136
|
+
|
|
137
|
+
## 7.0.0-beta.12
|
|
138
|
+
|
|
139
|
+
### Patch Changes
|
|
140
|
+
|
|
141
|
+
- Updated dependencies [e046ea3]
|
|
142
|
+
- @ai-sdk/gateway@4.0.0-beta.7
|
|
143
|
+
|
|
144
|
+
## 7.0.0-beta.11
|
|
145
|
+
|
|
146
|
+
### Patch Changes
|
|
147
|
+
|
|
148
|
+
- Updated dependencies [82288b0]
|
|
149
|
+
- @ai-sdk/gateway@4.0.0-beta.6
|
|
150
|
+
|
|
151
|
+
## 7.0.0-beta.10
|
|
152
|
+
|
|
153
|
+
### Patch Changes
|
|
154
|
+
|
|
155
|
+
- Updated dependencies [aa5a583]
|
|
156
|
+
- @ai-sdk/gateway@4.0.0-beta.5
|
|
157
|
+
|
|
158
|
+
## 7.0.0-beta.9
|
|
159
|
+
|
|
160
|
+
### Patch Changes
|
|
161
|
+
|
|
162
|
+
- 1fe058b: fix(anthropic): preserve the error code returned by model
|
|
163
|
+
|
|
164
|
+
## 7.0.0-beta.8
|
|
165
|
+
|
|
166
|
+
### Patch Changes
|
|
167
|
+
|
|
168
|
+
- Updated dependencies [f32d84a]
|
|
169
|
+
- @ai-sdk/gateway@4.0.0-beta.4
|
|
170
|
+
|
|
171
|
+
## 7.0.0-beta.7
|
|
172
|
+
|
|
173
|
+
### Patch Changes
|
|
174
|
+
|
|
175
|
+
- 210ed3d: feat(ai): pass result provider metadata across the stream
|
|
176
|
+
|
|
177
|
+
## 7.0.0-beta.6
|
|
178
|
+
|
|
179
|
+
### Patch Changes
|
|
180
|
+
|
|
181
|
+
- Updated dependencies [c949e25]
|
|
182
|
+
- @ai-sdk/gateway@4.0.0-beta.3
|
|
183
|
+
|
|
184
|
+
## 7.0.0-beta.5
|
|
185
|
+
|
|
186
|
+
### Patch Changes
|
|
187
|
+
|
|
188
|
+
- ebd4da2: feat(ai): add missing usage attributes
|
|
189
|
+
|
|
190
|
+
## 7.0.0-beta.4
|
|
191
|
+
|
|
192
|
+
### Patch Changes
|
|
193
|
+
|
|
194
|
+
- 5ceed7d: fix(ai): doStream should reflect transformed values
|
|
195
|
+
|
|
3
196
|
## 7.0.0-beta.3
|
|
4
197
|
|
|
5
198
|
### Patch Changes
|
|
@@ -894,13 +1087,13 @@
|
|
|
894
1087
|
Before
|
|
895
1088
|
|
|
896
1089
|
```ts
|
|
897
|
-
model.textEmbeddingModel(
|
|
1090
|
+
model.textEmbeddingModel("my-model-id");
|
|
898
1091
|
```
|
|
899
1092
|
|
|
900
1093
|
After
|
|
901
1094
|
|
|
902
1095
|
```ts
|
|
903
|
-
model.embeddingModel(
|
|
1096
|
+
model.embeddingModel("my-model-id");
|
|
904
1097
|
```
|
|
905
1098
|
|
|
906
1099
|
- b67d224: Fixes an issue where `providerMetadata` and `providerExecuted` were lost when tool input validation failed
|
|
@@ -923,15 +1116,15 @@
|
|
|
923
1116
|
This change replaces
|
|
924
1117
|
|
|
925
1118
|
```ts
|
|
926
|
-
import { experimental_createMCPClient } from
|
|
927
|
-
import { Experimental_StdioMCPTransport } from
|
|
1119
|
+
import { experimental_createMCPClient } from "ai";
|
|
1120
|
+
import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
|
|
928
1121
|
```
|
|
929
1122
|
|
|
930
1123
|
with
|
|
931
1124
|
|
|
932
1125
|
```ts
|
|
933
|
-
import { experimental_createMCPClient } from
|
|
934
|
-
import { Experimental_StdioMCPTransport } from
|
|
1126
|
+
import { experimental_createMCPClient } from "@ai-sdk/mcp";
|
|
1127
|
+
import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
|
|
935
1128
|
```
|
|
936
1129
|
|
|
937
1130
|
- 90e5bdd: chore(ai): restructure agent files
|
|
@@ -1451,13 +1644,13 @@
|
|
|
1451
1644
|
Before
|
|
1452
1645
|
|
|
1453
1646
|
```ts
|
|
1454
|
-
model.textEmbeddingModel(
|
|
1647
|
+
model.textEmbeddingModel("my-model-id");
|
|
1455
1648
|
```
|
|
1456
1649
|
|
|
1457
1650
|
After
|
|
1458
1651
|
|
|
1459
1652
|
```ts
|
|
1460
|
-
model.embeddingModel(
|
|
1653
|
+
model.embeddingModel("my-model-id");
|
|
1461
1654
|
```
|
|
1462
1655
|
|
|
1463
1656
|
- Updated dependencies [8d9e8ad]
|
|
@@ -1804,15 +1997,15 @@
|
|
|
1804
1997
|
This change replaces
|
|
1805
1998
|
|
|
1806
1999
|
```ts
|
|
1807
|
-
import { experimental_createMCPClient } from
|
|
1808
|
-
import { Experimental_StdioMCPTransport } from
|
|
2000
|
+
import { experimental_createMCPClient } from "ai";
|
|
2001
|
+
import { Experimental_StdioMCPTransport } from "ai/mcp-stdio";
|
|
1809
2002
|
```
|
|
1810
2003
|
|
|
1811
2004
|
with
|
|
1812
2005
|
|
|
1813
2006
|
```ts
|
|
1814
|
-
import { experimental_createMCPClient } from
|
|
1815
|
-
import { Experimental_StdioMCPTransport } from
|
|
2007
|
+
import { experimental_createMCPClient } from "@ai-sdk/mcp";
|
|
2008
|
+
import { Experimental_StdioMCPTransport } from "@ai-sdk/mcp/mcp-stdio";
|
|
1816
2009
|
```
|
|
1817
2010
|
|
|
1818
2011
|
## 6.0.0-beta.71
|
|
@@ -2731,7 +2924,7 @@
|
|
|
2731
2924
|
|
|
2732
2925
|
```js
|
|
2733
2926
|
await generateImage({
|
|
2734
|
-
model: luma.image(
|
|
2927
|
+
model: luma.image("photon-flash-1", {
|
|
2735
2928
|
maxImagesPerCall: 5,
|
|
2736
2929
|
pollIntervalMillis: 500,
|
|
2737
2930
|
}),
|
|
@@ -2744,7 +2937,7 @@
|
|
|
2744
2937
|
|
|
2745
2938
|
```js
|
|
2746
2939
|
await generateImage({
|
|
2747
|
-
model: luma.image(
|
|
2940
|
+
model: luma.image("photon-flash-1"),
|
|
2748
2941
|
prompt,
|
|
2749
2942
|
n: 10,
|
|
2750
2943
|
maxImagesPerCall: 5,
|
|
@@ -2944,10 +3137,10 @@
|
|
|
2944
3137
|
The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
|
|
2945
3138
|
|
|
2946
3139
|
```js
|
|
2947
|
-
const prompt =
|
|
3140
|
+
const prompt = "Santa Claus driving a Cadillac";
|
|
2948
3141
|
|
|
2949
3142
|
const { providerMetadata } = await experimental_generateImage({
|
|
2950
|
-
model: openai.image(
|
|
3143
|
+
model: openai.image("dall-e-3"),
|
|
2951
3144
|
prompt,
|
|
2952
3145
|
});
|
|
2953
3146
|
|
|
@@ -3610,7 +3803,7 @@
|
|
|
3610
3803
|
|
|
3611
3804
|
```js
|
|
3612
3805
|
await generateImage({
|
|
3613
|
-
model: luma.image(
|
|
3806
|
+
model: luma.image("photon-flash-1", {
|
|
3614
3807
|
maxImagesPerCall: 5,
|
|
3615
3808
|
pollIntervalMillis: 500,
|
|
3616
3809
|
}),
|
|
@@ -3623,7 +3816,7 @@
|
|
|
3623
3816
|
|
|
3624
3817
|
```js
|
|
3625
3818
|
await generateImage({
|
|
3626
|
-
model: luma.image(
|
|
3819
|
+
model: luma.image("photon-flash-1"),
|
|
3627
3820
|
prompt,
|
|
3628
3821
|
n: 10,
|
|
3629
3822
|
maxImagesPerCall: 5,
|
|
@@ -3721,10 +3914,10 @@
|
|
|
3721
3914
|
The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
|
|
3722
3915
|
|
|
3723
3916
|
```js
|
|
3724
|
-
const prompt =
|
|
3917
|
+
const prompt = "Santa Claus driving a Cadillac";
|
|
3725
3918
|
|
|
3726
3919
|
const { providerMetadata } = await experimental_generateImage({
|
|
3727
|
-
model: openai.image(
|
|
3920
|
+
model: openai.image("dall-e-3"),
|
|
3728
3921
|
prompt,
|
|
3729
3922
|
});
|
|
3730
3923
|
|
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.
|
|
33
|
+
model: 'anthropic/claude-opus-4.6', // 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-
|
|
48
|
+
model: anthropic('claude-opus-4-6'), // or openai('gpt-5.4'), google('gemini-3-flash'), etc.
|
|
49
49
|
prompt: 'Hello!',
|
|
50
50
|
});
|
|
51
51
|
```
|
|
@@ -58,17 +58,7 @@ const result = await generateText({
|
|
|
58
58
|
import { generateText } from 'ai';
|
|
59
59
|
|
|
60
60
|
const { text } = await generateText({
|
|
61
|
-
model: 'openai/gpt-5', // use Vercel AI Gateway
|
|
62
|
-
prompt: 'What is an agent?',
|
|
63
|
-
});
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
```ts
|
|
67
|
-
import { generateText } from 'ai';
|
|
68
|
-
import { openai } from '@ai-sdk/openai';
|
|
69
|
-
|
|
70
|
-
const { text } = await generateText({
|
|
71
|
-
model: openai('gpt-5'), // use OpenAI Responses API
|
|
61
|
+
model: 'openai/gpt-5.4', // use Vercel AI Gateway
|
|
72
62
|
prompt: 'What is an agent?',
|
|
73
63
|
});
|
|
74
64
|
```
|
|
@@ -80,7 +70,7 @@ import { generateText, Output } from 'ai';
|
|
|
80
70
|
import { z } from 'zod';
|
|
81
71
|
|
|
82
72
|
const { output } = await generateText({
|
|
83
|
-
model: 'openai/gpt-5',
|
|
73
|
+
model: 'openai/gpt-5.4',
|
|
84
74
|
output: Output.object({
|
|
85
75
|
schema: z.object({
|
|
86
76
|
recipe: z.object({
|
|
@@ -102,7 +92,7 @@ const { output } = await generateText({
|
|
|
102
92
|
import { ToolLoopAgent } from 'ai';
|
|
103
93
|
|
|
104
94
|
const sandboxAgent = new ToolLoopAgent({
|
|
105
|
-
model: 'openai/gpt-5',
|
|
95
|
+
model: 'openai/gpt-5.4',
|
|
106
96
|
system: 'You are an agent with access to a shell environment.',
|
|
107
97
|
tools: {
|
|
108
98
|
shell: openai.tools.localShell({
|
|
@@ -134,7 +124,7 @@ import { openai } from '@ai-sdk/openai';
|
|
|
134
124
|
import { ToolLoopAgent, InferAgentUIMessage } from 'ai';
|
|
135
125
|
|
|
136
126
|
export const imageGenerationAgent = new ToolLoopAgent({
|
|
137
|
-
model: openai
|
|
127
|
+
model: 'openai/gpt-5.4',
|
|
138
128
|
tools: {
|
|
139
129
|
generateImage: openai.tools.imageGeneration({
|
|
140
130
|
partialImages: 3,
|