ai 7.0.0-beta.17 → 7.0.0-beta.178
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 +1460 -25
- package/README.md +9 -19
- package/dist/index.d.ts +4834 -2670
- package/dist/index.js +9374 -6407
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +2589 -199
- package/dist/internal/index.js +2781 -532
- package/dist/internal/index.js.map +1 -1
- package/dist/test/index.d.ts +18 -18
- package/dist/test/index.js +60 -97
- package/dist/test/index.js.map +1 -1
- package/docs/00-introduction/index.mdx +8 -1
- package/docs/02-foundations/02-providers-and-models.mdx +10 -1
- package/docs/02-foundations/03-prompts.mdx +36 -27
- package/docs/02-foundations/04-tools.mdx +75 -13
- package/docs/02-foundations/06-provider-options.mdx +19 -6
- package/docs/02-getting-started/01-navigating-the-library.mdx +1 -0
- package/docs/02-getting-started/02-nextjs-app-router.mdx +45 -21
- package/docs/02-getting-started/03-nextjs-pages-router.mdx +42 -18
- package/docs/02-getting-started/04-svelte.mdx +32 -17
- package/docs/02-getting-started/05-nuxt.mdx +43 -28
- package/docs/02-getting-started/06-nodejs.mdx +10 -11
- package/docs/02-getting-started/07-expo.mdx +42 -24
- package/docs/02-getting-started/08-tanstack-start.mdx +42 -18
- package/docs/02-getting-started/09-coding-agents.mdx +11 -14
- package/docs/03-agents/01-overview.mdx +48 -3
- package/docs/03-agents/02-building-agents.mdx +163 -33
- package/docs/03-agents/03-workflows.mdx +10 -10
- package/docs/03-agents/04-loop-control.mdx +98 -17
- package/docs/03-agents/05-configuring-call-options.mdx +3 -3
- package/docs/03-agents/06-memory.mdx +50 -2
- package/docs/03-agents/06-policy-tool-approvals.mdx +412 -0
- package/docs/03-agents/06-subagents.mdx +6 -4
- package/docs/03-agents/06-tool-approvals.mdx +326 -0
- package/docs/03-agents/07-workflow-agent.mdx +670 -0
- package/docs/03-agents/08-terminal-ui.mdx +137 -0
- package/docs/03-agents/index.mdx +28 -2
- package/docs/03-ai-sdk-core/05-generating-text.mdx +197 -100
- package/docs/03-ai-sdk-core/10-generating-structured-data.mdx +2 -2
- package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +474 -100
- package/docs/03-ai-sdk-core/16-mcp-tools.mdx +44 -2
- package/docs/03-ai-sdk-core/17-mcp-apps.mdx +273 -0
- package/docs/03-ai-sdk-core/17-runtime-and-tool-context.mdx +228 -0
- package/docs/03-ai-sdk-core/20-prompt-engineering.mdx +17 -2
- package/docs/03-ai-sdk-core/25-settings.mdx +61 -2
- package/docs/03-ai-sdk-core/26-reasoning.mdx +190 -0
- package/docs/03-ai-sdk-core/30-embeddings.mdx +28 -35
- package/docs/03-ai-sdk-core/35-image-generation.mdx +28 -25
- package/docs/03-ai-sdk-core/36-realtime.mdx +218 -0
- package/docs/03-ai-sdk-core/36-transcription.mdx +38 -39
- package/docs/03-ai-sdk-core/37-speech.mdx +29 -26
- package/docs/03-ai-sdk-core/38-video-generation.mdx +39 -39
- package/docs/03-ai-sdk-core/39-file-uploads.mdx +155 -0
- package/docs/03-ai-sdk-core/40-middleware.mdx +13 -13
- package/docs/03-ai-sdk-core/41-skill-uploads.mdx +197 -0
- package/docs/03-ai-sdk-core/45-provider-management.mdx +121 -0
- package/docs/03-ai-sdk-core/50-error-handling.mdx +7 -7
- package/docs/03-ai-sdk-core/55-testing.mdx +10 -10
- package/docs/03-ai-sdk-core/60-telemetry.mdx +510 -94
- package/docs/03-ai-sdk-core/65-devtools.mdx +40 -17
- package/docs/03-ai-sdk-core/65-lifecycle-callbacks.mdx +1136 -0
- package/docs/03-ai-sdk-core/index.mdx +28 -0
- package/docs/03-ai-sdk-harnesses/01-overview.mdx +114 -0
- package/docs/03-ai-sdk-harnesses/02-harness-agent.mdx +262 -0
- package/docs/03-ai-sdk-harnesses/03-tools.mdx +184 -0
- package/docs/03-ai-sdk-harnesses/04-skills.mdx +65 -0
- package/docs/03-ai-sdk-harnesses/05-harness-adapters.mdx +35 -0
- package/docs/03-ai-sdk-harnesses/06-ui.mdx +232 -0
- package/docs/03-ai-sdk-harnesses/07-terminal-ui.mdx +109 -0
- package/docs/03-ai-sdk-harnesses/index.mdx +55 -0
- package/docs/04-ai-sdk-ui/01-overview.mdx +8 -8
- package/docs/04-ai-sdk-ui/02-chatbot.mdx +106 -52
- package/docs/04-ai-sdk-ui/03-chatbot-message-persistence.mdx +105 -45
- package/docs/04-ai-sdk-ui/03-chatbot-resume-streams.mdx +155 -12
- package/docs/04-ai-sdk-ui/03-chatbot-tool-usage.mdx +103 -16
- package/docs/04-ai-sdk-ui/04-generative-user-interfaces.mdx +27 -9
- package/docs/04-ai-sdk-ui/05-completion.mdx +8 -2
- package/docs/04-ai-sdk-ui/08-object-generation.mdx +8 -4
- package/docs/04-ai-sdk-ui/20-streaming-data.mdx +17 -13
- package/docs/04-ai-sdk-ui/21-transport.mdx +38 -0
- package/docs/04-ai-sdk-ui/24-reading-ui-message-streams.mdx +6 -6
- package/docs/04-ai-sdk-ui/25-message-metadata.mdx +30 -22
- package/docs/04-ai-sdk-ui/50-stream-protocol.mdx +92 -7
- package/docs/04-ai-sdk-ui/index.mdx +6 -0
- package/docs/05-ai-sdk-rsc/04-multistep-interfaces.mdx +1 -1
- package/docs/05-ai-sdk-rsc/10-migrating-to-ui.mdx +39 -19
- package/docs/06-advanced/02-stopping-streams.mdx +22 -15
- package/docs/06-advanced/04-caching.mdx +20 -12
- package/docs/06-advanced/06-rate-limiting.mdx +8 -2
- package/docs/06-advanced/07-rendering-ui-with-language-models.mdx +3 -3
- package/docs/06-advanced/08-model-as-router.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +728 -268
- package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +781 -259
- package/docs/07-reference/01-ai-sdk-core/05-embed.mdx +119 -12
- package/docs/07-reference/01-ai-sdk-core/06-embed-many.mdx +123 -12
- package/docs/07-reference/01-ai-sdk-core/06-rerank.mdx +22 -14
- package/docs/07-reference/01-ai-sdk-core/10-generate-image.mdx +3 -2
- package/docs/07-reference/01-ai-sdk-core/11-transcribe.mdx +3 -8
- package/docs/07-reference/01-ai-sdk-core/12-generate-speech.mdx +7 -12
- package/docs/07-reference/01-ai-sdk-core/13-generate-video.mdx +3 -2
- package/docs/07-reference/01-ai-sdk-core/14-upload-file.mdx +92 -0
- package/docs/07-reference/01-ai-sdk-core/14-upload-skill.mdx +114 -0
- package/docs/07-reference/01-ai-sdk-core/15-agent.mdx +36 -14
- package/docs/07-reference/01-ai-sdk-core/16-tool-loop-agent.mdx +323 -203
- package/docs/07-reference/01-ai-sdk-core/17-create-agent-ui-stream.mdx +20 -3
- package/docs/07-reference/01-ai-sdk-core/18-create-agent-ui-stream-response.mdx +20 -3
- package/docs/07-reference/01-ai-sdk-core/18-pipe-agent-ui-stream-to-response.mdx +20 -3
- package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +65 -26
- package/docs/07-reference/01-ai-sdk-core/22-dynamic-tool.mdx +21 -15
- package/docs/07-reference/01-ai-sdk-core/23-create-mcp-client.mdx +122 -3
- package/docs/07-reference/01-ai-sdk-core/23-get-realtime-tool-definitions.mdx +117 -0
- package/docs/07-reference/01-ai-sdk-core/24-mcp-apps.mdx +183 -0
- package/docs/07-reference/01-ai-sdk-core/29-filter-active-tools.mdx +83 -0
- package/docs/07-reference/01-ai-sdk-core/30-model-message.mdx +98 -12
- package/docs/07-reference/01-ai-sdk-core/31-ui-message.mdx +18 -0
- package/docs/07-reference/01-ai-sdk-core/34-sandbox.mdx +137 -0
- package/docs/07-reference/01-ai-sdk-core/40-provider-registry.mdx +102 -0
- package/docs/07-reference/01-ai-sdk-core/42-custom-provider.mdx +56 -10
- 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/67-simulate-streaming-middleware.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/68-default-settings-middleware.mdx +1 -1
- package/docs/07-reference/01-ai-sdk-core/69-add-tool-input-examples-middleware.mdx +0 -1
- package/docs/07-reference/01-ai-sdk-core/{70-step-count-is.mdx → 70-is-step-count.mdx} +14 -14
- package/docs/07-reference/01-ai-sdk-core/71-has-tool-call.mdx +27 -9
- package/docs/07-reference/01-ai-sdk-core/72-loop-finished.mdx +83 -0
- package/docs/07-reference/01-ai-sdk-core/index.mdx +52 -2
- package/docs/07-reference/02-ai-sdk-ui/01-use-chat.mdx +1 -1
- package/docs/07-reference/02-ai-sdk-ui/02-use-completion.mdx +1 -1
- package/docs/07-reference/02-ai-sdk-ui/05-use-realtime.mdx +243 -0
- package/docs/07-reference/02-ai-sdk-ui/31-convert-to-model-messages.mdx +30 -5
- package/docs/07-reference/02-ai-sdk-ui/32-prune-messages.mdx +9 -2
- package/docs/07-reference/02-ai-sdk-ui/40-create-ui-message-stream.mdx +1 -1
- package/docs/07-reference/02-ai-sdk-ui/41-create-ui-message-stream-response.mdx +2 -1
- package/docs/07-reference/02-ai-sdk-ui/48-mcp-app-renderer.mdx +301 -0
- package/docs/07-reference/02-ai-sdk-ui/index.mdx +17 -7
- package/docs/07-reference/03-ai-sdk-rsc/01-stream-ui.mdx +10 -3
- package/docs/07-reference/04-ai-sdk-workflow/01-workflow-agent.mdx +926 -0
- package/docs/07-reference/04-ai-sdk-workflow/02-workflow-chat-transport.mdx +347 -0
- package/docs/07-reference/04-ai-sdk-workflow/index.mdx +26 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-tool-approval-signature-error.mdx +31 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-such-provider-reference-error.mdx +27 -0
- package/docs/07-reference/05-ai-sdk-errors/index.mdx +1 -0
- package/docs/07-reference/06-ai-sdk-tui/01-run-agent-tui.mdx +175 -0
- package/docs/07-reference/06-ai-sdk-tui/index.mdx +21 -0
- package/docs/07-reference/index.mdx +10 -0
- package/docs/08-migration-guides/23-migration-guide-7-0.mdx +1768 -0
- package/docs/08-migration-guides/24-migration-guide-6-0.mdx +4 -4
- package/docs/08-migration-guides/26-migration-guide-5-0.mdx +11 -8
- package/docs/09-troubleshooting/04-strange-stream-output.mdx +3 -1
- package/docs/09-troubleshooting/06-streaming-not-working-when-deployed.mdx +2 -1
- package/docs/09-troubleshooting/06-streaming-not-working-when-proxied.mdx +2 -1
- package/docs/09-troubleshooting/10-use-chat-tools-no-response.mdx +10 -3
- package/docs/09-troubleshooting/12-use-chat-an-error-occurred.mdx +7 -4
- package/docs/09-troubleshooting/13-repeated-assistant-messages.mdx +14 -9
- package/docs/09-troubleshooting/14-stream-abort-handling.mdx +36 -26
- package/docs/09-troubleshooting/14-tool-calling-with-structured-outputs.mdx +1 -1
- package/docs/09-troubleshooting/15-abort-breaks-resumable-streams.mdx +28 -14
- package/docs/09-troubleshooting/17-use-chat-stale-body-data.mdx +3 -1
- package/docs/09-troubleshooting/30-model-is-not-assignable-to-type.mdx +1 -1
- package/docs/09-troubleshooting/70-high-memory-usage-with-images.mdx +13 -10
- package/package.json +30 -28
- package/src/agent/agent.ts +78 -32
- package/src/agent/create-agent-ui-stream-response.ts +28 -15
- package/src/agent/create-agent-ui-stream.ts +67 -33
- package/src/agent/index.ts +0 -6
- package/src/agent/infer-agent-tools.ts +1 -1
- package/src/agent/infer-agent-ui-message.ts +2 -2
- package/src/agent/pipe-agent-ui-stream-to-response.ts +29 -16
- package/src/agent/tool-loop-agent-settings.ts +339 -213
- package/src/agent/tool-loop-agent.ts +189 -89
- package/src/embed/embed-events.ts +132 -0
- package/src/embed/embed-many-result.ts +3 -4
- package/src/embed/embed-many.ts +285 -242
- package/src/embed/embed-result.ts +3 -4
- package/src/embed/embed.ts +179 -102
- package/src/embed/index.ts +1 -0
- package/src/error/index.ts +2 -0
- package/src/error/invalid-stream-part-error.ts +3 -3
- package/src/error/invalid-tool-approval-signature-error.ts +35 -0
- package/src/error/no-image-generated-error.ts +1 -1
- package/src/error/no-object-generated-error.ts +7 -5
- package/src/error/no-speech-generated-error.ts +1 -1
- package/src/error/no-transcript-generated-error.ts +1 -1
- package/src/error/no-video-generated-error.ts +1 -1
- package/src/error/tool-call-repair-error.ts +2 -2
- package/src/error/verify-no-object-generated-error.ts +2 -4
- package/src/generate-image/generate-image-result.ts +5 -5
- package/src/generate-image/generate-image.ts +30 -32
- package/src/generate-image/index.ts +0 -16
- package/src/generate-object/generate-object-result.ts +4 -9
- package/src/generate-object/generate-object.ts +273 -249
- package/src/generate-object/index.ts +6 -0
- package/src/generate-object/inject-json-instruction.ts +1 -1
- package/src/generate-object/output-strategy.ts +15 -13
- package/src/generate-object/parse-and-validate-object-result.ts +3 -3
- package/src/generate-object/repair-text.ts +1 -1
- package/src/generate-object/stream-object-result.ts +7 -7
- package/src/generate-object/stream-object.ts +420 -402
- package/src/generate-object/structured-output-events.ts +208 -0
- package/src/generate-object/validate-object-generation-input.ts +1 -1
- package/src/generate-speech/generate-speech-result.ts +4 -4
- package/src/generate-speech/generate-speech.ts +12 -13
- package/src/generate-speech/generated-audio-file.ts +1 -2
- package/src/generate-speech/index.ts +19 -2
- package/src/generate-text/active-tools.ts +12 -0
- package/src/generate-text/calculate-tokens-per-second.ts +17 -0
- package/src/generate-text/collect-tool-approvals.ts +4 -4
- package/src/generate-text/content-part.ts +19 -11
- package/src/generate-text/execute-tool-call.ts +174 -124
- package/src/generate-text/execute-tools-from-stream.ts +245 -0
- package/src/generate-text/extract-reasoning-content.ts +1 -1
- package/src/generate-text/extract-text-content.ts +4 -1
- package/src/generate-text/filter-active-tools.ts +38 -0
- package/src/generate-text/generate-text-events.ts +429 -0
- package/src/generate-text/generate-text-result.ts +62 -53
- package/src/generate-text/generate-text.ts +1267 -848
- package/src/generate-text/index.ts +67 -27
- package/src/generate-text/invoke-tool-callbacks-from-stream.ts +83 -0
- package/src/generate-text/language-model-events.ts +128 -0
- package/src/generate-text/output-utils.ts +1 -1
- package/src/generate-text/output.ts +14 -11
- package/src/generate-text/parse-tool-call.ts +50 -13
- package/src/generate-text/prepare-step.ts +97 -21
- package/src/generate-text/prune-messages.ts +1 -1
- package/src/generate-text/reasoning-output.ts +97 -1
- package/src/generate-text/reasoning.ts +5 -3
- package/src/generate-text/resolve-tool-approval.ts +134 -0
- package/src/generate-text/response-message.ts +1 -1
- package/src/generate-text/restricted-telemetry-dispatcher.ts +297 -0
- package/src/generate-text/smooth-stream.ts +6 -5
- package/src/generate-text/step-result.ts +198 -80
- package/src/generate-text/stop-condition.ts +59 -11
- package/src/generate-text/stream-language-model-call.ts +842 -0
- package/src/generate-text/stream-text-result.ts +276 -146
- package/src/generate-text/stream-text.ts +1136 -1098
- package/src/generate-text/sum-token-counts.ts +12 -0
- package/src/generate-text/to-response-messages.ts +55 -6
- package/src/generate-text/tool-approval-configuration.ts +128 -0
- package/src/generate-text/tool-approval-request-output.ts +14 -2
- package/src/generate-text/tool-approval-response-output.ts +35 -0
- package/src/generate-text/tool-approval-signature.ts +125 -0
- package/src/generate-text/tool-call-repair-function.ts +12 -7
- package/src/generate-text/tool-call.ts +18 -5
- package/src/generate-text/tool-error.ts +6 -4
- package/src/generate-text/tool-execution-events.ts +169 -0
- package/src/generate-text/tool-input-refinement.ts +18 -0
- package/src/generate-text/tool-order.ts +12 -0
- package/src/generate-text/tool-output-denied.ts +2 -2
- package/src/generate-text/tool-output.ts +3 -3
- package/src/generate-text/tool-result.ts +10 -4
- package/src/generate-text/tools-context-parameter.ts +22 -0
- package/src/generate-text/validate-tool-approvals.ts +118 -0
- package/src/generate-text/validate-tool-context.ts +33 -0
- package/src/generate-video/generate-video-result.ts +4 -4
- package/src/generate-video/generate-video.ts +23 -26
- package/src/global.ts +5 -5
- package/src/index.ts +11 -6
- package/src/logger/log-warnings.ts +34 -20
- package/src/middleware/add-tool-input-examples-middleware.ts +2 -2
- package/src/middleware/default-embedding-settings-middleware.ts +2 -2
- package/src/middleware/default-settings-middleware.ts +2 -2
- package/src/middleware/extract-json-middleware.ts +3 -2
- package/src/middleware/extract-reasoning-middleware.ts +3 -2
- package/src/middleware/simulate-streaming-middleware.ts +1 -1
- package/src/middleware/wrap-embedding-model.ts +8 -7
- package/src/middleware/wrap-image-model.ts +8 -7
- package/src/middleware/wrap-language-model.ts +16 -11
- package/src/middleware/wrap-provider.ts +2 -2
- package/src/model/as-embedding-model-v3.ts +1 -1
- package/src/model/as-embedding-model-v4.ts +1 -1
- package/src/model/as-image-model-v3.ts +1 -1
- package/src/model/as-image-model-v4.ts +5 -1
- package/src/model/as-language-model-v3.ts +1 -1
- package/src/model/as-language-model-v4.ts +1 -1
- package/src/model/as-provider-v3.ts +1 -1
- package/src/model/as-provider-v4.ts +1 -1
- package/src/model/as-reranking-model-v4.ts +1 -1
- package/src/model/as-speech-model-v3.ts +1 -1
- package/src/model/as-speech-model-v4.ts +5 -1
- package/src/model/as-transcription-model-v3.ts +4 -1
- package/src/model/as-transcription-model-v4.ts +1 -1
- package/src/model/as-video-model-v4.ts +1 -1
- package/src/model/resolve-model.ts +95 -83
- package/src/prompt/clone-model-message.ts +41 -0
- package/src/prompt/content-part.ts +96 -14
- package/src/prompt/convert-to-language-model-prompt.ts +457 -143
- package/src/prompt/create-tool-model-output.ts +2 -2
- package/src/prompt/data-content.ts +1 -78
- package/src/prompt/file-part-data.ts +125 -0
- package/src/prompt/index.ts +17 -2
- package/src/prompt/language-model-call-options.ts +78 -0
- package/src/prompt/message-conversion-error.ts +1 -1
- package/src/prompt/message.ts +5 -1
- package/src/prompt/{prepare-call-settings.ts → prepare-language-model-call-options.ts} +6 -7
- package/src/prompt/prepare-tool-choice.ts +15 -0
- package/src/prompt/prepare-tools.ts +127 -0
- package/src/prompt/prompt.ts +29 -4
- package/src/prompt/request-options.ts +109 -0
- package/src/prompt/split-data-url.ts +1 -1
- package/src/prompt/standardize-prompt.ts +46 -35
- package/src/realtime/audio-utils.ts +82 -0
- package/src/realtime/browser-realtime-audio.ts +168 -0
- package/src/realtime/browser-realtime-transport.ts +134 -0
- package/src/realtime/get-realtime-tool-definitions.ts +66 -0
- package/src/realtime/index.ts +23 -0
- package/src/realtime/realtime-event-reducer.ts +523 -0
- package/src/realtime/realtime-session.ts +382 -0
- package/src/realtime/realtime-types.ts +13 -0
- package/src/registry/custom-provider.ts +129 -82
- package/src/registry/index.ts +1 -1
- package/src/registry/no-such-provider-error.ts +2 -1
- package/src/registry/provider-registry.ts +124 -46
- package/src/rerank/index.ts +6 -0
- package/src/rerank/rerank-events.ts +140 -0
- package/src/rerank/rerank-result.ts +1 -1
- package/src/rerank/rerank.ts +236 -109
- package/src/telemetry/create-telemetry-dispatcher.ts +209 -0
- package/src/telemetry/index.ts +8 -4
- package/src/telemetry/telemetry-options.ts +76 -0
- package/src/telemetry/telemetry-registry.ts +15 -0
- package/src/telemetry/telemetry.ts +273 -0
- package/src/telemetry/tracing-channel-publisher.ts +220 -0
- package/src/telemetry/tracing-channel.ts +15 -0
- package/src/test/mock-embedding-model-v2.ts +1 -1
- package/src/test/mock-embedding-model-v3.ts +2 -2
- package/src/test/mock-embedding-model-v4.ts +2 -2
- package/src/test/mock-image-model-v2.ts +1 -1
- package/src/test/mock-image-model-v3.ts +1 -1
- package/src/test/mock-image-model-v4.ts +1 -1
- package/src/test/mock-language-model-v2.ts +6 -6
- package/src/test/mock-language-model-v3.ts +6 -6
- package/src/test/mock-language-model-v4.ts +6 -6
- package/src/test/mock-provider-v2.ts +6 -7
- package/src/test/mock-provider-v3.ts +7 -8
- package/src/test/mock-provider-v4.ts +7 -8
- package/src/test/mock-reranking-model-v3.ts +1 -1
- package/src/test/mock-reranking-model-v4.ts +1 -1
- package/src/test/mock-sandbox.ts +32 -0
- package/src/test/mock-server-response.ts +1 -1
- package/src/test/mock-speech-model-v2.ts +1 -1
- package/src/test/mock-speech-model-v3.ts +1 -1
- package/src/test/mock-speech-model-v4.ts +1 -1
- package/src/test/mock-transcription-model-v2.ts +1 -1
- package/src/test/mock-transcription-model-v3.ts +1 -1
- package/src/test/mock-transcription-model-v4.ts +1 -1
- package/src/test/mock-video-model-v3.ts +1 -1
- package/src/test/mock-video-model-v4.ts +1 -1
- package/src/text-stream/create-text-stream-response.ts +4 -4
- package/src/text-stream/index.ts +1 -0
- package/src/text-stream/pipe-text-stream-to-response.ts +5 -5
- package/src/text-stream/to-text-stream.ts +21 -0
- package/src/transcribe/index.ts +19 -2
- package/src/transcribe/transcribe-result.ts +3 -3
- package/src/transcribe/transcribe.ts +12 -12
- package/src/types/embedding-model-middleware.ts +1 -1
- package/src/types/embedding-model.ts +1 -1
- package/src/types/image-model-middleware.ts +1 -1
- package/src/types/image-model.ts +1 -1
- package/src/types/index.ts +1 -0
- package/src/types/json-value.ts +1 -1
- package/src/types/language-model-middleware.ts +1 -1
- package/src/types/language-model-request-metadata.ts +11 -1
- package/src/types/language-model-response-metadata.ts +21 -4
- package/src/types/language-model.ts +2 -2
- package/src/types/provider-metadata.ts +1 -1
- package/src/types/provider-reference.ts +3 -0
- package/src/types/provider.ts +4 -4
- package/src/types/realtime-model.ts +26 -0
- package/src/types/reranking-model.ts +2 -2
- package/src/types/speech-model.ts +5 -1
- package/src/types/transcription-model.ts +1 -1
- package/src/types/usage.ts +1 -21
- package/src/types/video-model.ts +1 -1
- package/src/types/warning.ts +1 -1
- package/src/ui/call-completion-api.ts +2 -2
- package/src/ui/chat-transport.ts +3 -3
- package/src/ui/chat.ts +10 -11
- package/src/ui/convert-file-list-to-file-ui-parts.ts +1 -1
- package/src/ui/convert-to-model-messages.ts +79 -21
- package/src/ui/default-chat-transport.ts +4 -4
- package/src/ui/direct-chat-transport.ts +40 -15
- package/src/ui/http-chat-transport.ts +8 -8
- package/src/ui/index.ts +5 -1
- package/src/ui/last-assistant-message-is-complete-with-approval-responses.ts +1 -3
- package/src/ui/last-assistant-message-is-complete-with-tool-calls.ts +0 -1
- package/src/ui/process-ui-message-stream.ts +120 -29
- package/src/ui/text-stream-chat-transport.ts +3 -3
- package/src/ui/transform-text-to-ui-message-stream.ts +1 -1
- package/src/ui/ui-messages.ts +108 -13
- package/src/ui/use-completion.ts +1 -1
- package/src/ui/validate-ui-messages.ts +74 -10
- package/src/ui-message-stream/create-ui-message-stream-response.ts +2 -2
- package/src/ui-message-stream/create-ui-message-stream.ts +23 -14
- package/src/ui-message-stream/get-response-ui-message-id.ts +2 -2
- package/src/ui-message-stream/handle-ui-message-stream-finish.ts +21 -10
- package/src/ui-message-stream/index.ts +6 -0
- package/src/ui-message-stream/pipe-ui-message-stream-to-response.ts +3 -3
- package/src/ui-message-stream/read-ui-message-stream.ts +4 -4
- package/src/ui-message-stream/to-ui-message-chunk.ts +385 -0
- package/src/ui-message-stream/to-ui-message-stream.ts +90 -0
- package/src/ui-message-stream/ui-message-chunks.ts +63 -4
- package/src/ui-message-stream/ui-message-stream-on-finish-callback.ts +2 -2
- package/src/ui-message-stream/ui-message-stream-on-step-end-callback.ts +25 -0
- package/src/ui-message-stream/ui-message-stream-on-step-finish-callback.ts +5 -19
- package/src/ui-message-stream/ui-message-stream-writer.ts +3 -3
- package/src/upload-file/index.ts +2 -0
- package/src/upload-file/upload-file-result.ts +11 -0
- package/src/upload-file/upload-file.ts +141 -0
- package/src/upload-skill/index.ts +2 -0
- package/src/upload-skill/upload-skill-result.ts +11 -0
- package/src/upload-skill/upload-skill.ts +53 -0
- package/src/util/callback.ts +4 -0
- package/src/util/create-id-map.ts +11 -0
- package/src/util/create-resolvable-promise.ts +1 -1
- package/src/util/create-stitchable-stream.ts +1 -1
- package/src/util/data-url.ts +1 -1
- package/src/util/deep-partial.ts +1 -1
- package/src/util/download/download-function.ts +1 -1
- package/src/util/download/download.ts +15 -16
- package/src/util/extract-literal-union.ts +18 -0
- package/src/util/is-node-runtime.ts +3 -0
- package/src/util/merge-abort-signals.ts +17 -35
- package/src/util/merge-callbacks.ts +22 -0
- package/src/util/merge-objects.ts +5 -0
- package/src/util/notify.ts +11 -14
- package/src/util/parse-partial-json.ts +1 -1
- package/src/util/prepare-retries.ts +1 -2
- package/src/util/retry-with-exponential-backoff.ts +10 -5
- package/src/util/serial-job-executor.ts +1 -1
- package/src/util/set-abort-timeout.ts +37 -0
- package/src/util/write-to-server-response.ts +1 -1
- package/dist/index.d.mts +0 -6577
- package/dist/index.mjs +0 -13829
- package/dist/index.mjs.map +0 -1
- package/dist/internal/index.d.mts +0 -314
- package/dist/internal/index.mjs +0 -1303
- package/dist/internal/index.mjs.map +0 -1
- package/dist/test/index.d.mts +0 -265
- package/dist/test/index.mjs +0 -472
- package/dist/test/index.mjs.map +0 -1
- package/docs/03-ai-sdk-core/65-event-listeners.mdx +0 -915
- package/src/generate-text/callback-events.ts +0 -388
- package/src/generate-text/is-approval-needed.ts +0 -29
- package/src/generate-text/run-tools-transformation.ts +0 -451
- package/src/generate-text/tool-set.ts +0 -14
- package/src/prompt/call-settings.ts +0 -148
- package/src/prompt/prepare-tools-and-tool-choice.ts +0 -86
- package/src/telemetry/assemble-operation-name.ts +0 -21
- package/src/telemetry/get-base-telemetry-attributes.ts +0 -55
- package/src/telemetry/get-global-telemetry-integration.ts +0 -110
- package/src/telemetry/get-tracer.ts +0 -20
- package/src/telemetry/noop-tracer.ts +0 -69
- package/src/telemetry/open-telemetry-integration.ts +0 -530
- package/src/telemetry/record-span.ts +0 -75
- package/src/telemetry/select-telemetry-attributes.ts +0 -78
- package/src/telemetry/stringify-for-telemetry.ts +0 -33
- package/src/telemetry/telemetry-integration-registry.ts +0 -22
- package/src/telemetry/telemetry-integration.ts +0 -100
- package/src/telemetry/telemetry-settings.ts +0 -55
- package/src/test/mock-tracer.ts +0 -156
- package/src/util/as-array.ts +0 -3
- package/src/util/detect-media-type.ts +0 -226
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
3
|
# AI SDK
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ To learn more about how to use the AI SDK, check out our [API Reference](https:/
|
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
|
-
You will need Node.js
|
|
11
|
+
You will need Node.js 22+ and npm (or another package manager) installed on your local development machine.
|
|
12
12
|
|
|
13
13
|
```shell
|
|
14
14
|
npm install ai
|
|
@@ -24,13 +24,13 @@ npx skills add vercel/ai
|
|
|
24
24
|
|
|
25
25
|
## Unified Provider Architecture
|
|
26
26
|
|
|
27
|
-
The AI SDK provides a [unified API](https://ai-sdk.dev/docs/foundations/providers-and-models) to interact with model providers like [OpenAI](https://ai-sdk.dev/providers/ai-sdk-providers/openai), [Anthropic](https://ai-sdk.dev/providers/ai-sdk-providers/anthropic), [Google](https://ai-sdk.dev/providers/ai-sdk-providers/google
|
|
27
|
+
The AI SDK provides a [unified API](https://ai-sdk.dev/docs/foundations/providers-and-models) to interact with model providers like [OpenAI](https://ai-sdk.dev/providers/ai-sdk-providers/openai), [Anthropic](https://ai-sdk.dev/providers/ai-sdk-providers/anthropic), [Google](https://ai-sdk.dev/providers/ai-sdk-providers/google), and [more](https://ai-sdk.dev/providers/ai-sdk-providers).
|
|
28
28
|
|
|
29
29
|
By default, the AI SDK uses the [Vercel AI Gateway](https://vercel.com/docs/ai-gateway) to give you access to all major providers out of the box. Just pass a model string for any supported model:
|
|
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,
|