@fairyhunter13/ai-sdk 6.0.116-fork.1
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 +7582 -0
- package/README.md +238 -0
- package/dist/index.d.mts +6751 -0
- package/dist/index.d.ts +6751 -0
- package/dist/index.js +14155 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +14127 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internal/index.d.mts +324 -0
- package/dist/internal/index.d.ts +324 -0
- package/dist/internal/index.js +1352 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/internal/index.mjs +1336 -0
- package/dist/internal/index.mjs.map +1 -0
- package/dist/test/index.d.mts +265 -0
- package/dist/test/index.d.ts +265 -0
- package/dist/test/index.js +509 -0
- package/dist/test/index.js.map +1 -0
- package/dist/test/index.mjs +472 -0
- package/dist/test/index.mjs.map +1 -0
- package/docs/00-introduction/index.mdx +76 -0
- package/docs/02-foundations/01-overview.mdx +43 -0
- package/docs/02-foundations/02-providers-and-models.mdx +158 -0
- package/docs/02-foundations/03-prompts.mdx +616 -0
- package/docs/02-foundations/04-tools.mdx +251 -0
- package/docs/02-foundations/05-streaming.mdx +62 -0
- package/docs/02-foundations/06-provider-options.mdx +345 -0
- package/docs/02-foundations/index.mdx +49 -0
- package/docs/02-getting-started/00-choosing-a-provider.mdx +110 -0
- package/docs/02-getting-started/01-navigating-the-library.mdx +85 -0
- package/docs/02-getting-started/02-nextjs-app-router.mdx +559 -0
- package/docs/02-getting-started/03-nextjs-pages-router.mdx +542 -0
- package/docs/02-getting-started/04-svelte.mdx +627 -0
- package/docs/02-getting-started/05-nuxt.mdx +566 -0
- package/docs/02-getting-started/06-nodejs.mdx +512 -0
- package/docs/02-getting-started/07-expo.mdx +766 -0
- package/docs/02-getting-started/08-tanstack-start.mdx +583 -0
- package/docs/02-getting-started/09-coding-agents.mdx +179 -0
- package/docs/02-getting-started/index.mdx +44 -0
- package/docs/03-agents/01-overview.mdx +96 -0
- package/docs/03-agents/02-building-agents.mdx +449 -0
- package/docs/03-agents/03-workflows.mdx +386 -0
- package/docs/03-agents/04-loop-control.mdx +394 -0
- package/docs/03-agents/05-configuring-call-options.mdx +286 -0
- package/docs/03-agents/06-memory.mdx +222 -0
- package/docs/03-agents/06-subagents.mdx +362 -0
- package/docs/03-agents/index.mdx +46 -0
- package/docs/03-ai-sdk-core/01-overview.mdx +31 -0
- package/docs/03-ai-sdk-core/05-generating-text.mdx +707 -0
- package/docs/03-ai-sdk-core/10-generating-structured-data.mdx +498 -0
- package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +1144 -0
- package/docs/03-ai-sdk-core/16-mcp-tools.mdx +383 -0
- package/docs/03-ai-sdk-core/20-prompt-engineering.mdx +146 -0
- package/docs/03-ai-sdk-core/25-settings.mdx +216 -0
- package/docs/03-ai-sdk-core/26-reasoning.mdx +190 -0
- package/docs/03-ai-sdk-core/30-embeddings.mdx +246 -0
- package/docs/03-ai-sdk-core/31-reranking.mdx +218 -0
- package/docs/03-ai-sdk-core/35-image-generation.mdx +341 -0
- package/docs/03-ai-sdk-core/36-transcription.mdx +227 -0
- package/docs/03-ai-sdk-core/37-speech.mdx +169 -0
- package/docs/03-ai-sdk-core/38-video-generation.mdx +366 -0
- package/docs/03-ai-sdk-core/40-middleware.mdx +485 -0
- package/docs/03-ai-sdk-core/45-provider-management.mdx +349 -0
- package/docs/03-ai-sdk-core/50-error-handling.mdx +149 -0
- package/docs/03-ai-sdk-core/55-testing.mdx +219 -0
- package/docs/03-ai-sdk-core/60-telemetry.mdx +391 -0
- package/docs/03-ai-sdk-core/65-devtools.mdx +107 -0
- package/docs/03-ai-sdk-core/65-event-listeners.mdx +1118 -0
- package/docs/03-ai-sdk-core/index.mdx +99 -0
- package/docs/04-ai-sdk-ui/01-overview.mdx +44 -0
- package/docs/04-ai-sdk-ui/02-chatbot.mdx +1320 -0
- package/docs/04-ai-sdk-ui/03-chatbot-message-persistence.mdx +535 -0
- package/docs/04-ai-sdk-ui/03-chatbot-resume-streams.mdx +263 -0
- package/docs/04-ai-sdk-ui/03-chatbot-tool-usage.mdx +682 -0
- package/docs/04-ai-sdk-ui/04-generative-user-interfaces.mdx +389 -0
- package/docs/04-ai-sdk-ui/05-completion.mdx +181 -0
- package/docs/04-ai-sdk-ui/08-object-generation.mdx +344 -0
- package/docs/04-ai-sdk-ui/20-streaming-data.mdx +397 -0
- package/docs/04-ai-sdk-ui/21-error-handling.mdx +190 -0
- package/docs/04-ai-sdk-ui/21-transport.mdx +174 -0
- package/docs/04-ai-sdk-ui/24-reading-ui-message-streams.mdx +104 -0
- package/docs/04-ai-sdk-ui/25-message-metadata.mdx +152 -0
- package/docs/04-ai-sdk-ui/50-stream-protocol.mdx +503 -0
- package/docs/04-ai-sdk-ui/index.mdx +64 -0
- package/docs/05-ai-sdk-rsc/01-overview.mdx +45 -0
- package/docs/05-ai-sdk-rsc/02-streaming-react-components.mdx +209 -0
- package/docs/05-ai-sdk-rsc/03-generative-ui-state.mdx +279 -0
- package/docs/05-ai-sdk-rsc/03-saving-and-restoring-states.mdx +105 -0
- package/docs/05-ai-sdk-rsc/04-multistep-interfaces.mdx +282 -0
- package/docs/05-ai-sdk-rsc/05-streaming-values.mdx +157 -0
- package/docs/05-ai-sdk-rsc/06-loading-state.mdx +273 -0
- package/docs/05-ai-sdk-rsc/08-error-handling.mdx +94 -0
- package/docs/05-ai-sdk-rsc/09-authentication.mdx +42 -0
- package/docs/05-ai-sdk-rsc/10-migrating-to-ui.mdx +722 -0
- package/docs/05-ai-sdk-rsc/index.mdx +63 -0
- package/docs/06-advanced/01-prompt-engineering.mdx +96 -0
- package/docs/06-advanced/02-stopping-streams.mdx +184 -0
- package/docs/06-advanced/03-backpressure.mdx +173 -0
- package/docs/06-advanced/04-caching.mdx +169 -0
- package/docs/06-advanced/05-multiple-streamables.mdx +68 -0
- package/docs/06-advanced/06-rate-limiting.mdx +60 -0
- package/docs/06-advanced/07-rendering-ui-with-language-models.mdx +225 -0
- package/docs/06-advanced/08-model-as-router.mdx +120 -0
- package/docs/06-advanced/09-multistep-interfaces.mdx +115 -0
- package/docs/06-advanced/09-sequential-generations.mdx +55 -0
- package/docs/06-advanced/10-vercel-deployment-guide.mdx +117 -0
- package/docs/06-advanced/index.mdx +11 -0
- package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +2785 -0
- package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +3752 -0
- package/docs/07-reference/01-ai-sdk-core/05-embed.mdx +332 -0
- package/docs/07-reference/01-ai-sdk-core/06-embed-many.mdx +330 -0
- package/docs/07-reference/01-ai-sdk-core/06-rerank.mdx +309 -0
- package/docs/07-reference/01-ai-sdk-core/10-generate-image.mdx +251 -0
- package/docs/07-reference/01-ai-sdk-core/11-transcribe.mdx +152 -0
- package/docs/07-reference/01-ai-sdk-core/12-generate-speech.mdx +221 -0
- package/docs/07-reference/01-ai-sdk-core/13-generate-video.mdx +264 -0
- package/docs/07-reference/01-ai-sdk-core/15-agent.mdx +235 -0
- package/docs/07-reference/01-ai-sdk-core/16-tool-loop-agent.mdx +973 -0
- package/docs/07-reference/01-ai-sdk-core/17-create-agent-ui-stream.mdx +154 -0
- package/docs/07-reference/01-ai-sdk-core/18-create-agent-ui-stream-response.mdx +173 -0
- package/docs/07-reference/01-ai-sdk-core/18-pipe-agent-ui-stream-to-response.mdx +150 -0
- package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +209 -0
- package/docs/07-reference/01-ai-sdk-core/22-dynamic-tool.mdx +223 -0
- package/docs/07-reference/01-ai-sdk-core/23-create-mcp-client.mdx +423 -0
- package/docs/07-reference/01-ai-sdk-core/24-mcp-stdio-transport.mdx +68 -0
- package/docs/07-reference/01-ai-sdk-core/25-json-schema.mdx +94 -0
- package/docs/07-reference/01-ai-sdk-core/26-zod-schema.mdx +109 -0
- package/docs/07-reference/01-ai-sdk-core/27-valibot-schema.mdx +58 -0
- package/docs/07-reference/01-ai-sdk-core/28-output.mdx +342 -0
- package/docs/07-reference/01-ai-sdk-core/30-model-message.mdx +435 -0
- package/docs/07-reference/01-ai-sdk-core/31-ui-message.mdx +264 -0
- package/docs/07-reference/01-ai-sdk-core/32-validate-ui-messages.mdx +101 -0
- package/docs/07-reference/01-ai-sdk-core/33-safe-validate-ui-messages.mdx +113 -0
- package/docs/07-reference/01-ai-sdk-core/40-provider-registry.mdx +198 -0
- package/docs/07-reference/01-ai-sdk-core/42-custom-provider.mdx +157 -0
- package/docs/07-reference/01-ai-sdk-core/50-cosine-similarity.mdx +52 -0
- package/docs/07-reference/01-ai-sdk-core/60-wrap-language-model.mdx +59 -0
- package/docs/07-reference/01-ai-sdk-core/61-wrap-image-model.mdx +64 -0
- package/docs/07-reference/01-ai-sdk-core/65-language-model-v2-middleware.mdx +74 -0
- package/docs/07-reference/01-ai-sdk-core/66-extract-reasoning-middleware.mdx +68 -0
- package/docs/07-reference/01-ai-sdk-core/67-simulate-streaming-middleware.mdx +71 -0
- package/docs/07-reference/01-ai-sdk-core/68-default-settings-middleware.mdx +80 -0
- package/docs/07-reference/01-ai-sdk-core/69-add-tool-input-examples-middleware.mdx +155 -0
- package/docs/07-reference/01-ai-sdk-core/70-extract-json-middleware.mdx +147 -0
- package/docs/07-reference/01-ai-sdk-core/70-step-count-is.mdx +84 -0
- package/docs/07-reference/01-ai-sdk-core/71-has-tool-call.mdx +120 -0
- package/docs/07-reference/01-ai-sdk-core/75-simulate-readable-stream.mdx +94 -0
- package/docs/07-reference/01-ai-sdk-core/80-smooth-stream.mdx +145 -0
- package/docs/07-reference/01-ai-sdk-core/90-generate-id.mdx +30 -0
- package/docs/07-reference/01-ai-sdk-core/91-create-id-generator.mdx +89 -0
- package/docs/07-reference/01-ai-sdk-core/92-default-generated-file.mdx +68 -0
- package/docs/07-reference/01-ai-sdk-core/index.mdx +160 -0
- package/docs/07-reference/02-ai-sdk-ui/01-use-chat.mdx +493 -0
- package/docs/07-reference/02-ai-sdk-ui/02-use-completion.mdx +185 -0
- package/docs/07-reference/02-ai-sdk-ui/03-use-object.mdx +196 -0
- package/docs/07-reference/02-ai-sdk-ui/31-convert-to-model-messages.mdx +231 -0
- package/docs/07-reference/02-ai-sdk-ui/32-prune-messages.mdx +108 -0
- package/docs/07-reference/02-ai-sdk-ui/40-create-ui-message-stream.mdx +162 -0
- package/docs/07-reference/02-ai-sdk-ui/41-create-ui-message-stream-response.mdx +119 -0
- package/docs/07-reference/02-ai-sdk-ui/42-pipe-ui-message-stream-to-response.mdx +77 -0
- package/docs/07-reference/02-ai-sdk-ui/43-read-ui-message-stream.mdx +57 -0
- package/docs/07-reference/02-ai-sdk-ui/46-infer-ui-tools.mdx +99 -0
- package/docs/07-reference/02-ai-sdk-ui/47-infer-ui-tool.mdx +75 -0
- package/docs/07-reference/02-ai-sdk-ui/50-direct-chat-transport.mdx +333 -0
- package/docs/07-reference/02-ai-sdk-ui/index.mdx +89 -0
- package/docs/07-reference/03-ai-sdk-rsc/01-stream-ui.mdx +767 -0
- package/docs/07-reference/03-ai-sdk-rsc/02-create-ai.mdx +90 -0
- package/docs/07-reference/03-ai-sdk-rsc/03-create-streamable-ui.mdx +91 -0
- package/docs/07-reference/03-ai-sdk-rsc/04-create-streamable-value.mdx +78 -0
- package/docs/07-reference/03-ai-sdk-rsc/05-read-streamable-value.mdx +79 -0
- package/docs/07-reference/03-ai-sdk-rsc/06-get-ai-state.mdx +50 -0
- package/docs/07-reference/03-ai-sdk-rsc/07-get-mutable-ai-state.mdx +70 -0
- package/docs/07-reference/03-ai-sdk-rsc/08-use-ai-state.mdx +26 -0
- package/docs/07-reference/03-ai-sdk-rsc/09-use-actions.mdx +42 -0
- package/docs/07-reference/03-ai-sdk-rsc/10-use-ui-state.mdx +35 -0
- package/docs/07-reference/03-ai-sdk-rsc/11-use-streamable-value.mdx +46 -0
- package/docs/07-reference/03-ai-sdk-rsc/20-render.mdx +266 -0
- package/docs/07-reference/03-ai-sdk-rsc/index.mdx +67 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-api-call-error.mdx +31 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-download-error.mdx +28 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-empty-response-body-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-argument-error.mdx +26 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-data-content-error.mdx +26 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-message-role-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-prompt-error.mdx +47 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-response-data-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-tool-approval-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-invalid-tool-input-error.mdx +27 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-json-parse-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-load-api-key-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-load-setting-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-message-conversion-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-content-generated-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-image-generated-error.mdx +36 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-object-generated-error.mdx +43 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-output-generated-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-speech-generated-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-such-model-error.mdx +26 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-such-provider-error.mdx +28 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-such-tool-error.mdx +26 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-transcript-generated-error.mdx +24 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-no-video-generated-error.mdx +39 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-retry-error.mdx +27 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-too-many-embedding-values-for-call-error.mdx +27 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-tool-call-not-found-for-approval-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-tool-call-repair-error.mdx +28 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-type-validation-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-ui-message-stream-error.mdx +67 -0
- package/docs/07-reference/05-ai-sdk-errors/ai-unsupported-functionality-error.mdx +25 -0
- package/docs/07-reference/05-ai-sdk-errors/index.mdx +39 -0
- package/docs/07-reference/index.mdx +28 -0
- package/docs/08-migration-guides/00-versioning.mdx +46 -0
- package/docs/08-migration-guides/23-migration-guide-7-0.mdx +95 -0
- package/docs/08-migration-guides/24-migration-guide-6-0.mdx +823 -0
- package/docs/08-migration-guides/25-migration-guide-5-0-data.mdx +882 -0
- package/docs/08-migration-guides/26-migration-guide-5-0.mdx +3427 -0
- package/docs/08-migration-guides/27-migration-guide-4-2.mdx +99 -0
- package/docs/08-migration-guides/28-migration-guide-4-1.mdx +14 -0
- package/docs/08-migration-guides/29-migration-guide-4-0.mdx +1157 -0
- package/docs/08-migration-guides/36-migration-guide-3-4.mdx +14 -0
- package/docs/08-migration-guides/37-migration-guide-3-3.mdx +64 -0
- package/docs/08-migration-guides/38-migration-guide-3-2.mdx +46 -0
- package/docs/08-migration-guides/39-migration-guide-3-1.mdx +168 -0
- package/docs/08-migration-guides/index.mdx +22 -0
- package/docs/09-troubleshooting/01-azure-stream-slow.mdx +33 -0
- package/docs/09-troubleshooting/03-server-actions-in-client-components.mdx +40 -0
- package/docs/09-troubleshooting/04-strange-stream-output.mdx +36 -0
- package/docs/09-troubleshooting/05-streamable-ui-errors.mdx +16 -0
- package/docs/09-troubleshooting/05-tool-invocation-missing-result.mdx +106 -0
- package/docs/09-troubleshooting/06-streaming-not-working-when-deployed.mdx +31 -0
- package/docs/09-troubleshooting/06-streaming-not-working-when-proxied.mdx +31 -0
- package/docs/09-troubleshooting/06-timeout-on-vercel.mdx +60 -0
- package/docs/09-troubleshooting/07-unclosed-streams.mdx +34 -0
- package/docs/09-troubleshooting/08-use-chat-failed-to-parse-stream.mdx +26 -0
- package/docs/09-troubleshooting/09-client-stream-error.mdx +25 -0
- package/docs/09-troubleshooting/10-use-chat-tools-no-response.mdx +32 -0
- package/docs/09-troubleshooting/11-use-chat-custom-request-options.mdx +149 -0
- package/docs/09-troubleshooting/12-typescript-performance-zod.mdx +46 -0
- package/docs/09-troubleshooting/12-use-chat-an-error-occurred.mdx +59 -0
- package/docs/09-troubleshooting/13-repeated-assistant-messages.mdx +73 -0
- package/docs/09-troubleshooting/14-stream-abort-handling.mdx +73 -0
- package/docs/09-troubleshooting/14-tool-calling-with-structured-outputs.mdx +48 -0
- package/docs/09-troubleshooting/15-abort-breaks-resumable-streams.mdx +55 -0
- package/docs/09-troubleshooting/15-stream-text-not-working.mdx +33 -0
- package/docs/09-troubleshooting/16-streaming-status-delay.mdx +63 -0
- package/docs/09-troubleshooting/17-use-chat-stale-body-data.mdx +141 -0
- package/docs/09-troubleshooting/18-ontoolcall-type-narrowing.mdx +66 -0
- package/docs/09-troubleshooting/19-unsupported-model-version.mdx +50 -0
- package/docs/09-troubleshooting/20-no-object-generated-content-filter.mdx +76 -0
- package/docs/09-troubleshooting/21-missing-tool-results-error.mdx +82 -0
- package/docs/09-troubleshooting/30-model-is-not-assignable-to-type.mdx +21 -0
- package/docs/09-troubleshooting/40-typescript-cannot-find-namespace-jsx.mdx +24 -0
- package/docs/09-troubleshooting/50-react-maximum-update-depth-exceeded.mdx +39 -0
- package/docs/09-troubleshooting/60-jest-cannot-find-module-ai-rsc.mdx +22 -0
- package/docs/09-troubleshooting/70-high-memory-usage-with-images.mdx +108 -0
- package/docs/09-troubleshooting/index.mdx +11 -0
- package/internal.d.ts +1 -0
- package/package.json +120 -0
- package/src/agent/agent.ts +156 -0
- package/src/agent/create-agent-ui-stream-response.ts +61 -0
- package/src/agent/create-agent-ui-stream.ts +84 -0
- package/src/agent/index.ts +37 -0
- package/src/agent/infer-agent-tools.ts +7 -0
- package/src/agent/infer-agent-ui-message.ts +11 -0
- package/src/agent/pipe-agent-ui-stream-to-response.ts +64 -0
- package/src/agent/tool-loop-agent-settings.ts +244 -0
- package/src/agent/tool-loop-agent.ts +205 -0
- package/src/embed/embed-events.ts +109 -0
- package/src/embed/embed-many-result.ts +53 -0
- package/src/embed/embed-many.ts +484 -0
- package/src/embed/embed-result.ts +50 -0
- package/src/embed/embed.ts +294 -0
- package/src/embed/index.ts +5 -0
- package/src/error/index.ts +37 -0
- package/src/error/invalid-argument-error.ts +34 -0
- package/src/error/invalid-stream-part-error.ts +28 -0
- package/src/error/invalid-tool-approval-error.ts +26 -0
- package/src/error/invalid-tool-input-error.ts +33 -0
- package/src/error/missing-tool-result-error.ts +28 -0
- package/src/error/no-image-generated-error.ts +39 -0
- package/src/error/no-object-generated-error.ts +70 -0
- package/src/error/no-output-generated-error.ts +26 -0
- package/src/error/no-speech-generated-error.ts +28 -0
- package/src/error/no-such-tool-error.ts +35 -0
- package/src/error/no-transcript-generated-error.ts +30 -0
- package/src/error/no-video-generated-error.ts +57 -0
- package/src/error/tool-call-not-found-for-approval-error.ts +32 -0
- package/src/error/tool-call-repair-error.ts +30 -0
- package/src/error/ui-message-stream-error.ts +48 -0
- package/src/error/unsupported-model-version-error.ts +23 -0
- package/src/error/verify-no-object-generated-error.ts +27 -0
- package/src/generate-image/generate-image-result.ts +42 -0
- package/src/generate-image/generate-image.ts +361 -0
- package/src/generate-image/index.ts +18 -0
- package/src/generate-object/generate-object-result.ts +67 -0
- package/src/generate-object/generate-object.ts +514 -0
- package/src/generate-object/index.ts +9 -0
- package/src/generate-object/inject-json-instruction.ts +30 -0
- package/src/generate-object/output-strategy.ts +415 -0
- package/src/generate-object/parse-and-validate-object-result.ts +111 -0
- package/src/generate-object/repair-text.ts +12 -0
- package/src/generate-object/stream-object-result.ts +120 -0
- package/src/generate-object/stream-object.ts +984 -0
- package/src/generate-object/validate-object-generation-input.ts +144 -0
- package/src/generate-speech/generate-speech-result.ts +30 -0
- package/src/generate-speech/generate-speech.ts +191 -0
- package/src/generate-speech/generated-audio-file.ts +65 -0
- package/src/generate-speech/index.ts +3 -0
- package/src/generate-text/collect-tool-approvals.ts +116 -0
- package/src/generate-text/content-part.ts +31 -0
- package/src/generate-text/core-events.ts +390 -0
- 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 +190 -0
- package/src/generate-text/extract-reasoning-content.ts +17 -0
- package/src/generate-text/extract-text-content.ts +15 -0
- package/src/generate-text/generate-text-result.ts +168 -0
- package/src/generate-text/generate-text.ts +1411 -0
- package/src/generate-text/generated-file.ts +70 -0
- package/src/generate-text/index.ts +74 -0
- package/src/generate-text/is-approval-needed.ts +29 -0
- package/src/generate-text/output-utils.ts +23 -0
- package/src/generate-text/output.ts +590 -0
- package/src/generate-text/parse-tool-call.ts +188 -0
- package/src/generate-text/prepare-step.ts +103 -0
- package/src/generate-text/prune-messages.ts +167 -0
- package/src/generate-text/reasoning-output.ts +99 -0
- package/src/generate-text/reasoning.ts +10 -0
- package/src/generate-text/response-message.ts +10 -0
- package/src/generate-text/smooth-stream.ts +162 -0
- package/src/generate-text/step-result.ts +310 -0
- package/src/generate-text/stop-condition.ts +29 -0
- package/src/generate-text/stream-text-result.ts +536 -0
- package/src/generate-text/stream-text.ts +2693 -0
- package/src/generate-text/to-response-messages.ts +178 -0
- package/src/generate-text/tool-approval-request-output.ts +21 -0
- package/src/generate-text/tool-call-repair-function.ts +27 -0
- package/src/generate-text/tool-call.ts +47 -0
- package/src/generate-text/tool-error.ts +34 -0
- package/src/generate-text/tool-output-denied.ts +21 -0
- package/src/generate-text/tool-output.ts +7 -0
- package/src/generate-text/tool-result.ts +36 -0
- package/src/generate-text/tool-set.ts +14 -0
- package/src/generate-video/generate-video-result.ts +36 -0
- package/src/generate-video/generate-video.ts +402 -0
- package/src/generate-video/index.ts +3 -0
- package/src/global.ts +36 -0
- package/src/index.ts +49 -0
- package/src/logger/index.ts +6 -0
- package/src/logger/log-warnings.ts +140 -0
- package/src/middleware/add-tool-input-examples-middleware.ts +90 -0
- package/src/middleware/default-embedding-settings-middleware.ts +22 -0
- package/src/middleware/default-settings-middleware.ts +33 -0
- package/src/middleware/extract-json-middleware.ts +197 -0
- package/src/middleware/extract-reasoning-middleware.ts +249 -0
- package/src/middleware/index.ts +10 -0
- package/src/middleware/simulate-streaming-middleware.ts +79 -0
- package/src/middleware/wrap-embedding-model.ts +89 -0
- package/src/middleware/wrap-image-model.ts +92 -0
- package/src/middleware/wrap-language-model.ts +108 -0
- package/src/middleware/wrap-provider.ts +51 -0
- package/src/model/as-embedding-model-v3.ts +24 -0
- package/src/model/as-embedding-model-v4.ts +25 -0
- package/src/model/as-image-model-v3.ts +24 -0
- package/src/model/as-image-model-v4.ts +21 -0
- package/src/model/as-language-model-v3.ts +103 -0
- package/src/model/as-language-model-v4.ts +25 -0
- package/src/model/as-provider-v3.ts +36 -0
- package/src/model/as-provider-v4.ts +47 -0
- package/src/model/as-reranking-model-v4.ts +16 -0
- package/src/model/as-speech-model-v3.ts +24 -0
- package/src/model/as-speech-model-v4.ts +21 -0
- package/src/model/as-transcription-model-v3.ts +24 -0
- package/src/model/as-transcription-model-v4.ts +25 -0
- package/src/model/as-video-model-v4.ts +19 -0
- package/src/model/resolve-model.ts +172 -0
- package/src/prompt/call-settings.ts +177 -0
- package/src/prompt/content-part.ts +236 -0
- package/src/prompt/convert-to-language-model-prompt.ts +548 -0
- package/src/prompt/create-tool-model-output.ts +34 -0
- package/src/prompt/data-content.ts +134 -0
- package/src/prompt/index.ts +27 -0
- package/src/prompt/invalid-data-content-error.ts +29 -0
- package/src/prompt/invalid-message-role-error.ts +27 -0
- package/src/prompt/message-conversion-error.ts +28 -0
- package/src/prompt/message.ts +72 -0
- package/src/prompt/prepare-call-settings.ts +110 -0
- package/src/prompt/prepare-tools-and-tool-choice.ts +86 -0
- package/src/prompt/prompt.ts +43 -0
- package/src/prompt/split-data-url.ts +17 -0
- package/src/prompt/standardize-prompt.ts +99 -0
- package/src/prompt/wrap-gateway-error.ts +29 -0
- package/src/registry/custom-provider.ts +210 -0
- package/src/registry/index.ts +7 -0
- package/src/registry/no-such-provider-error.ts +41 -0
- package/src/registry/provider-registry.ts +331 -0
- package/src/rerank/index.ts +2 -0
- package/src/rerank/rerank-result.ts +70 -0
- package/src/rerank/rerank.ts +239 -0
- package/src/telemetry/assemble-operation-name.ts +21 -0
- package/src/telemetry/get-base-telemetry-attributes.ts +55 -0
- package/src/telemetry/get-global-telemetry-integration.ts +110 -0
- package/src/telemetry/get-tracer.ts +20 -0
- package/src/telemetry/index.ts +4 -0
- package/src/telemetry/noop-tracer.ts +69 -0
- package/src/telemetry/open-telemetry-integration.ts +537 -0
- package/src/telemetry/record-span.ts +75 -0
- package/src/telemetry/select-telemetry-attributes.ts +78 -0
- package/src/telemetry/stringify-for-telemetry.ts +33 -0
- package/src/telemetry/telemetry-integration-registry.ts +22 -0
- package/src/telemetry/telemetry-integration.ts +100 -0
- package/src/telemetry/telemetry-settings.ts +55 -0
- package/src/test/mock-embedding-model-v2.ts +35 -0
- package/src/test/mock-embedding-model-v3.ts +48 -0
- package/src/test/mock-embedding-model-v4.ts +48 -0
- package/src/test/mock-image-model-v2.ts +28 -0
- package/src/test/mock-image-model-v3.ts +28 -0
- package/src/test/mock-image-model-v4.ts +28 -0
- package/src/test/mock-language-model-v2.ts +72 -0
- package/src/test/mock-language-model-v3.ts +77 -0
- package/src/test/mock-language-model-v4.ts +77 -0
- package/src/test/mock-provider-v2.ts +68 -0
- package/src/test/mock-provider-v3.ts +80 -0
- package/src/test/mock-provider-v4.ts +80 -0
- package/src/test/mock-reranking-model-v3.ts +25 -0
- package/src/test/mock-reranking-model-v4.ts +25 -0
- package/src/test/mock-server-response.ts +69 -0
- package/src/test/mock-speech-model-v2.ts +24 -0
- package/src/test/mock-speech-model-v3.ts +24 -0
- package/src/test/mock-speech-model-v4.ts +24 -0
- package/src/test/mock-tracer.ts +156 -0
- package/src/test/mock-transcription-model-v2.ts +24 -0
- package/src/test/mock-transcription-model-v3.ts +24 -0
- package/src/test/mock-transcription-model-v4.ts +24 -0
- package/src/test/mock-values.ts +4 -0
- package/src/test/mock-video-model-v3.ts +28 -0
- package/src/test/mock-video-model-v4.ts +28 -0
- package/src/test/not-implemented.ts +3 -0
- package/src/text-stream/create-text-stream-response.ts +30 -0
- package/src/text-stream/index.ts +2 -0
- package/src/text-stream/pipe-text-stream-to-response.ts +38 -0
- package/src/transcribe/index.ts +2 -0
- package/src/transcribe/transcribe-result.ts +60 -0
- package/src/transcribe/transcribe.ts +187 -0
- package/src/types/embedding-model-middleware.ts +15 -0
- package/src/types/embedding-model.ts +20 -0
- package/src/types/image-model-middleware.ts +15 -0
- package/src/types/image-model-response-metadata.ts +16 -0
- package/src/types/image-model.ts +19 -0
- package/src/types/index.ts +29 -0
- package/src/types/json-value.ts +15 -0
- package/src/types/language-model-middleware.ts +15 -0
- package/src/types/language-model-request-metadata.ts +6 -0
- package/src/types/language-model-response-metadata.ts +21 -0
- package/src/types/language-model.ts +106 -0
- package/src/types/provider-metadata.ts +16 -0
- package/src/types/provider.ts +55 -0
- package/src/types/reranking-model.ts +6 -0
- package/src/types/speech-model-response-metadata.ts +21 -0
- package/src/types/speech-model.ts +10 -0
- package/src/types/transcription-model-response-metadata.ts +16 -0
- package/src/types/transcription-model.ts +14 -0
- package/src/types/usage.ts +200 -0
- package/src/types/video-model-response-metadata.ts +28 -0
- package/src/types/video-model.ts +15 -0
- package/src/types/warning.ts +7 -0
- package/src/ui/call-completion-api.ts +157 -0
- package/src/ui/chat-transport.ts +83 -0
- package/src/ui/chat.ts +786 -0
- package/src/ui/convert-file-list-to-file-ui-parts.ts +36 -0
- package/src/ui/convert-to-model-messages.ts +403 -0
- package/src/ui/default-chat-transport.ts +36 -0
- package/src/ui/direct-chat-transport.ts +117 -0
- package/src/ui/http-chat-transport.ts +273 -0
- package/src/ui/index.ts +76 -0
- package/src/ui/last-assistant-message-is-complete-with-approval-responses.ts +44 -0
- package/src/ui/last-assistant-message-is-complete-with-tool-calls.ts +39 -0
- package/src/ui/process-text-stream.ts +16 -0
- package/src/ui/process-ui-message-stream.ts +858 -0
- package/src/ui/text-stream-chat-transport.ts +23 -0
- package/src/ui/transform-text-to-ui-message-stream.ts +27 -0
- package/src/ui/ui-messages.ts +602 -0
- package/src/ui/use-completion.ts +84 -0
- package/src/ui/validate-ui-messages.ts +521 -0
- package/src/ui-message-stream/create-ui-message-stream-response.ts +44 -0
- package/src/ui-message-stream/create-ui-message-stream.ts +145 -0
- package/src/ui-message-stream/get-response-ui-message-id.ts +35 -0
- package/src/ui-message-stream/handle-ui-message-stream-finish.ts +170 -0
- package/src/ui-message-stream/index.ts +14 -0
- package/src/ui-message-stream/json-to-sse-transform-stream.ts +17 -0
- package/src/ui-message-stream/pipe-ui-message-stream-to-response.ts +51 -0
- package/src/ui-message-stream/read-ui-message-stream.ts +87 -0
- package/src/ui-message-stream/ui-message-chunks.ts +372 -0
- package/src/ui-message-stream/ui-message-stream-headers.ts +7 -0
- package/src/ui-message-stream/ui-message-stream-on-finish-callback.ts +32 -0
- package/src/ui-message-stream/ui-message-stream-on-step-finish-callback.ts +25 -0
- package/src/ui-message-stream/ui-message-stream-response-init.ts +14 -0
- package/src/ui-message-stream/ui-message-stream-writer.ts +24 -0
- package/src/util/as-array.ts +3 -0
- package/src/util/async-iterable-stream.ts +94 -0
- package/src/util/consume-stream.ts +31 -0
- package/src/util/cosine-similarity.ts +46 -0
- package/src/util/create-resolvable-promise.ts +30 -0
- package/src/util/create-stitchable-stream.ts +112 -0
- package/src/util/data-url.ts +17 -0
- package/src/util/deep-partial.ts +84 -0
- package/src/util/detect-media-type.ts +226 -0
- package/src/util/download/create-download.ts +13 -0
- package/src/util/download/download-function.ts +45 -0
- package/src/util/download/download.ts +74 -0
- package/src/util/error-handler.ts +1 -0
- package/src/util/fix-json.ts +401 -0
- package/src/util/get-potential-start-index.ts +39 -0
- package/src/util/index.ts +12 -0
- package/src/util/is-deep-equal-data.ts +48 -0
- package/src/util/is-non-empty-object.ts +5 -0
- package/src/util/job.ts +1 -0
- package/src/util/log-v2-compatibility-warning.ts +21 -0
- package/src/util/merge-abort-signals.ts +43 -0
- package/src/util/merge-objects.ts +79 -0
- package/src/util/notify.ts +22 -0
- package/src/util/now.ts +4 -0
- package/src/util/parse-partial-json.ts +30 -0
- package/src/util/prepare-headers.ts +14 -0
- package/src/util/prepare-retries.ts +47 -0
- package/src/util/retry-error.ts +41 -0
- package/src/util/retry-with-exponential-backoff.ts +154 -0
- package/src/util/serial-job-executor.ts +36 -0
- package/src/util/simulate-readable-stream.ts +39 -0
- package/src/util/split-array.ts +20 -0
- package/src/util/value-of.ts +65 -0
- package/src/util/write-to-server-response.ts +49 -0
- package/src/version.ts +5 -0
- package/test.d.ts +1 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_LoadSettingError
|
|
3
|
+
description: Learn how to fix AI_LoadSettingError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_LoadSettingError
|
|
7
|
+
|
|
8
|
+
This error occurs when a setting is not loaded successfully.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `message`: The error message
|
|
13
|
+
|
|
14
|
+
## Checking for this Error
|
|
15
|
+
|
|
16
|
+
You can check if an error is an instance of `AI_LoadSettingError` using:
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { LoadSettingError } from 'ai';
|
|
20
|
+
|
|
21
|
+
if (LoadSettingError.isInstance(error)) {
|
|
22
|
+
// Handle the error
|
|
23
|
+
}
|
|
24
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_MessageConversionError
|
|
3
|
+
description: Learn how to fix AI_MessageConversionError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_MessageConversionError
|
|
7
|
+
|
|
8
|
+
This error occurs when message conversion fails.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `originalMessage`: The original message that failed conversion
|
|
13
|
+
- `message`: The error message
|
|
14
|
+
|
|
15
|
+
## Checking for this Error
|
|
16
|
+
|
|
17
|
+
You can check if an error is an instance of `AI_MessageConversionError` using:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { MessageConversionError } from 'ai';
|
|
21
|
+
|
|
22
|
+
if (MessageConversionError.isInstance(error)) {
|
|
23
|
+
// Handle the error
|
|
24
|
+
}
|
|
25
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoContentGeneratedError
|
|
3
|
+
description: Learn how to fix AI_NoContentGeneratedError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoContentGeneratedError
|
|
7
|
+
|
|
8
|
+
This error occurs when the AI provider fails to generate content.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `message`: The error message (optional, defaults to `'No content generated.'`)
|
|
13
|
+
|
|
14
|
+
## Checking for this Error
|
|
15
|
+
|
|
16
|
+
You can check if an error is an instance of `AI_NoContentGeneratedError` using:
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { NoContentGeneratedError } from 'ai';
|
|
20
|
+
|
|
21
|
+
if (NoContentGeneratedError.isInstance(error)) {
|
|
22
|
+
// Handle the error
|
|
23
|
+
}
|
|
24
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoImageGeneratedError
|
|
3
|
+
description: Learn how to fix AI_NoImageGeneratedError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoImageGeneratedError
|
|
7
|
+
|
|
8
|
+
This error occurs when the AI provider fails to generate an image.
|
|
9
|
+
It can arise due to the following reasons:
|
|
10
|
+
|
|
11
|
+
- The model failed to generate a response.
|
|
12
|
+
- The model generated an invalid response.
|
|
13
|
+
|
|
14
|
+
## Properties
|
|
15
|
+
|
|
16
|
+
- `message`: The error message (optional, defaults to `'No image generated.'`).
|
|
17
|
+
- `responses`: Metadata about the image model responses, including timestamp, model, and headers (optional).
|
|
18
|
+
- `cause`: The cause of the error. You can use this for more detailed error handling (optional).
|
|
19
|
+
|
|
20
|
+
## Checking for this Error
|
|
21
|
+
|
|
22
|
+
You can check if an error is an instance of `AI_NoImageGeneratedError` using:
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import { generateImage, NoImageGeneratedError } from 'ai';
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
await generateImage({ model, prompt });
|
|
29
|
+
} catch (error) {
|
|
30
|
+
if (NoImageGeneratedError.isInstance(error)) {
|
|
31
|
+
console.log('NoImageGeneratedError');
|
|
32
|
+
console.log('Cause:', error.cause);
|
|
33
|
+
console.log('Responses:', error.responses);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoObjectGeneratedError
|
|
3
|
+
description: Learn how to fix AI_NoObjectGeneratedError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoObjectGeneratedError
|
|
7
|
+
|
|
8
|
+
This error occurs when the AI provider fails to generate a parsable object that conforms to the schema.
|
|
9
|
+
It can arise due to the following reasons:
|
|
10
|
+
|
|
11
|
+
- The model failed to generate a response.
|
|
12
|
+
- The model generated a response that could not be parsed.
|
|
13
|
+
- The model generated a response that could not be validated against the schema.
|
|
14
|
+
|
|
15
|
+
## Properties
|
|
16
|
+
|
|
17
|
+
- `message`: The error message (optional, defaults to `'No object generated.'`).
|
|
18
|
+
- `text`: The text that was generated by the model. This can be the raw text or the tool call text, depending on the object generation mode (optional).
|
|
19
|
+
- `response`: Metadata about the language model response, including response id, timestamp, and model (required in constructor).
|
|
20
|
+
- `usage`: Request token usage (required in constructor).
|
|
21
|
+
- `finishReason`: Request finish reason. For example 'length' if model generated maximum number of tokens, this could result in a JSON parsing error (required in constructor).
|
|
22
|
+
- `cause`: The cause of the error (e.g. a JSON parsing error). You can use this for more detailed error handling (optional).
|
|
23
|
+
|
|
24
|
+
## Checking for this Error
|
|
25
|
+
|
|
26
|
+
You can check if an error is an instance of `AI_NoObjectGeneratedError` using:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import { generateText, NoObjectGeneratedError, Output } from 'ai';
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
await generateText({ model, output: Output.object({ schema }), prompt });
|
|
33
|
+
} catch (error) {
|
|
34
|
+
if (NoObjectGeneratedError.isInstance(error)) {
|
|
35
|
+
console.log('NoObjectGeneratedError');
|
|
36
|
+
console.log('Cause:', error.cause);
|
|
37
|
+
console.log('Text:', error.text);
|
|
38
|
+
console.log('Response:', error.response);
|
|
39
|
+
console.log('Usage:', error.usage);
|
|
40
|
+
console.log('Finish Reason:', error.finishReason);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoOutputGeneratedError
|
|
3
|
+
description: Learn how to fix AI_NoOutputGeneratedError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoOutputGeneratedError
|
|
7
|
+
|
|
8
|
+
This error is thrown when no LLM output was generated, e.g. because of errors.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `message`: The error message (optional, defaults to `'No output generated.'`)
|
|
13
|
+
- `cause`: The underlying error that caused no output to be generated (optional)
|
|
14
|
+
|
|
15
|
+
## Checking for this Error
|
|
16
|
+
|
|
17
|
+
You can check if an error is an instance of `AI_NoOutputGeneratedError` using:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { NoOutputGeneratedError } from 'ai';
|
|
21
|
+
|
|
22
|
+
if (NoOutputGeneratedError.isInstance(error)) {
|
|
23
|
+
// Handle the error
|
|
24
|
+
}
|
|
25
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoSpeechGeneratedError
|
|
3
|
+
description: Learn how to fix AI_NoSpeechGeneratedError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoSpeechGeneratedError
|
|
7
|
+
|
|
8
|
+
This error occurs when no audio could be generated from the input.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `responses`: Array of speech model response metadata (required in constructor)
|
|
13
|
+
|
|
14
|
+
## Checking for this Error
|
|
15
|
+
|
|
16
|
+
You can check if an error is an instance of `AI_NoSpeechGeneratedError` using:
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { NoSpeechGeneratedError } from 'ai';
|
|
20
|
+
|
|
21
|
+
if (NoSpeechGeneratedError.isInstance(error)) {
|
|
22
|
+
// Handle the error
|
|
23
|
+
}
|
|
24
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoSuchModelError
|
|
3
|
+
description: Learn how to fix AI_NoSuchModelError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoSuchModelError
|
|
7
|
+
|
|
8
|
+
This error occurs when a model ID is not found.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `modelId`: The ID of the model that was not found
|
|
13
|
+
- `modelType`: The type of model (`'languageModel'`, `'embeddingModel'`, `'imageModel'`, `'transcriptionModel'`, `'speechModel'`, or `'rerankingModel'`)
|
|
14
|
+
- `message`: The error message (optional, auto-generated from `modelId` and `modelType`)
|
|
15
|
+
|
|
16
|
+
## Checking for this Error
|
|
17
|
+
|
|
18
|
+
You can check if an error is an instance of `AI_NoSuchModelError` using:
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { NoSuchModelError } from 'ai';
|
|
22
|
+
|
|
23
|
+
if (NoSuchModelError.isInstance(error)) {
|
|
24
|
+
// Handle the error
|
|
25
|
+
}
|
|
26
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoSuchProviderError
|
|
3
|
+
description: Learn how to fix AI_NoSuchProviderError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoSuchProviderError
|
|
7
|
+
|
|
8
|
+
This error occurs when a provider ID is not found.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `providerId`: The ID of the provider that was not found
|
|
13
|
+
- `availableProviders`: Array of available provider IDs
|
|
14
|
+
- `modelId`: The ID of the model
|
|
15
|
+
- `modelType`: The type of model
|
|
16
|
+
- `message`: The error message
|
|
17
|
+
|
|
18
|
+
## Checking for this Error
|
|
19
|
+
|
|
20
|
+
You can check if an error is an instance of `AI_NoSuchProviderError` using:
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { NoSuchProviderError } from 'ai';
|
|
24
|
+
|
|
25
|
+
if (NoSuchProviderError.isInstance(error)) {
|
|
26
|
+
// Handle the error
|
|
27
|
+
}
|
|
28
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoSuchToolError
|
|
3
|
+
description: Learn how to fix AI_NoSuchToolError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoSuchToolError
|
|
7
|
+
|
|
8
|
+
This error occurs when a model tries to call an unavailable tool.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `toolName`: The name of the tool that was not found
|
|
13
|
+
- `availableTools`: Array of available tool names (optional)
|
|
14
|
+
- `message`: The error message (optional, auto-generated from `toolName` and `availableTools`)
|
|
15
|
+
|
|
16
|
+
## Checking for this Error
|
|
17
|
+
|
|
18
|
+
You can check if an error is an instance of `AI_NoSuchToolError` using:
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { NoSuchToolError } from 'ai';
|
|
22
|
+
|
|
23
|
+
if (NoSuchToolError.isInstance(error)) {
|
|
24
|
+
// Handle the error
|
|
25
|
+
}
|
|
26
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoTranscriptGeneratedError
|
|
3
|
+
description: Learn how to fix AI_NoTranscriptGeneratedError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoTranscriptGeneratedError
|
|
7
|
+
|
|
8
|
+
This error occurs when no transcript could be generated from the input.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `responses`: Array of transcription model response metadata (required in constructor)
|
|
13
|
+
|
|
14
|
+
## Checking for this Error
|
|
15
|
+
|
|
16
|
+
You can check if an error is an instance of `AI_NoTranscriptGeneratedError` using:
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { NoTranscriptGeneratedError } from 'ai';
|
|
20
|
+
|
|
21
|
+
if (NoTranscriptGeneratedError.isInstance(error)) {
|
|
22
|
+
// Handle the error
|
|
23
|
+
}
|
|
24
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_NoVideoGeneratedError
|
|
3
|
+
description: Learn how to fix AI_NoVideoGeneratedError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_NoVideoGeneratedError
|
|
7
|
+
|
|
8
|
+
This error occurs when the AI provider fails to generate a video.
|
|
9
|
+
It can arise due to the following reasons:
|
|
10
|
+
|
|
11
|
+
- The model failed to generate a response.
|
|
12
|
+
- The model generated an invalid response.
|
|
13
|
+
|
|
14
|
+
## Properties
|
|
15
|
+
|
|
16
|
+
- `message`: The error message (optional, defaults to `'No video generated.'`).
|
|
17
|
+
- `responses`: Metadata about the video model responses, including timestamp, model, and headers (optional).
|
|
18
|
+
- `cause`: The cause of the error. You can use this for more detailed error handling (optional).
|
|
19
|
+
|
|
20
|
+
## Checking for this Error
|
|
21
|
+
|
|
22
|
+
You can check if an error is an instance of `AI_NoVideoGeneratedError` using:
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import {
|
|
26
|
+
experimental_generateVideo as generateVideo,
|
|
27
|
+
NoVideoGeneratedError,
|
|
28
|
+
} from 'ai';
|
|
29
|
+
|
|
30
|
+
try {
|
|
31
|
+
await generateVideo({ model, prompt });
|
|
32
|
+
} catch (error) {
|
|
33
|
+
if (NoVideoGeneratedError.isInstance(error)) {
|
|
34
|
+
console.log('NoVideoGeneratedError');
|
|
35
|
+
console.log('Cause:', error.cause);
|
|
36
|
+
console.log('Responses:', error.responses);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_RetryError
|
|
3
|
+
description: Learn how to fix AI_RetryError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_RetryError
|
|
7
|
+
|
|
8
|
+
This error occurs when a retry operation fails.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `reason`: The reason for the retry failure
|
|
13
|
+
- `lastError`: The most recent error that occurred during retries
|
|
14
|
+
- `errors`: Array of all errors that occurred during retry attempts
|
|
15
|
+
- `message`: The error message
|
|
16
|
+
|
|
17
|
+
## Checking for this Error
|
|
18
|
+
|
|
19
|
+
You can check if an error is an instance of `AI_RetryError` using:
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { RetryError } from 'ai';
|
|
23
|
+
|
|
24
|
+
if (RetryError.isInstance(error)) {
|
|
25
|
+
// Handle the error
|
|
26
|
+
}
|
|
27
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_TooManyEmbeddingValuesForCallError
|
|
3
|
+
description: Learn how to fix AI_TooManyEmbeddingValuesForCallError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_TooManyEmbeddingValuesForCallError
|
|
7
|
+
|
|
8
|
+
This error occurs when too many values are provided in a single embedding call.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `provider`: The AI provider name
|
|
13
|
+
- `modelId`: The ID of the embedding model
|
|
14
|
+
- `maxEmbeddingsPerCall`: The maximum number of embeddings allowed per call
|
|
15
|
+
- `values`: The array of values that was provided
|
|
16
|
+
|
|
17
|
+
## Checking for this Error
|
|
18
|
+
|
|
19
|
+
You can check if an error is an instance of `AI_TooManyEmbeddingValuesForCallError` using:
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { TooManyEmbeddingValuesForCallError } from 'ai';
|
|
23
|
+
|
|
24
|
+
if (TooManyEmbeddingValuesForCallError.isInstance(error)) {
|
|
25
|
+
// Handle the error
|
|
26
|
+
}
|
|
27
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_ToolCallNotFoundForApprovalError
|
|
3
|
+
description: Learn how to fix AI_ToolCallNotFoundForApprovalError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_ToolCallNotFoundForApprovalError
|
|
7
|
+
|
|
8
|
+
This error occurs when a tool approval request references a tool call that was not found. This can happen when processing provider-emitted approval requests (e.g., MCP flows) where the referenced tool call ID does not exist.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `toolCallId`: The tool call ID that was not found
|
|
13
|
+
- `approvalId`: The approval request ID
|
|
14
|
+
|
|
15
|
+
## Checking for this Error
|
|
16
|
+
|
|
17
|
+
You can check if an error is an instance of `AI_ToolCallNotFoundForApprovalError` using:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { ToolCallNotFoundForApprovalError } from 'ai';
|
|
21
|
+
|
|
22
|
+
if (ToolCallNotFoundForApprovalError.isInstance(error)) {
|
|
23
|
+
// Handle the error
|
|
24
|
+
}
|
|
25
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ToolCallRepairError
|
|
3
|
+
description: Learn how to fix AI SDK ToolCallRepairError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ToolCallRepairError
|
|
7
|
+
|
|
8
|
+
This error occurs when there is a failure while attempting to repair an invalid tool call.
|
|
9
|
+
This typically happens when the AI attempts to fix either
|
|
10
|
+
a `NoSuchToolError` or `InvalidToolInputError`.
|
|
11
|
+
|
|
12
|
+
## Properties
|
|
13
|
+
|
|
14
|
+
- `originalError`: The original error that triggered the repair attempt (either `NoSuchToolError` or `InvalidToolInputError`)
|
|
15
|
+
- `message`: The error message
|
|
16
|
+
- `cause`: The underlying error that caused the repair to fail
|
|
17
|
+
|
|
18
|
+
## Checking for this Error
|
|
19
|
+
|
|
20
|
+
You can check if an error is an instance of `ToolCallRepairError` using:
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { ToolCallRepairError } from 'ai';
|
|
24
|
+
|
|
25
|
+
if (ToolCallRepairError.isInstance(error)) {
|
|
26
|
+
// Handle the error
|
|
27
|
+
}
|
|
28
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_TypeValidationError
|
|
3
|
+
description: Learn how to fix AI_TypeValidationError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_TypeValidationError
|
|
7
|
+
|
|
8
|
+
This error occurs when type validation fails.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `value`: The value that failed validation
|
|
13
|
+
- `cause`: The underlying validation error (required in constructor)
|
|
14
|
+
|
|
15
|
+
## Checking for this Error
|
|
16
|
+
|
|
17
|
+
You can check if an error is an instance of `AI_TypeValidationError` using:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { TypeValidationError } from 'ai';
|
|
21
|
+
|
|
22
|
+
if (TypeValidationError.isInstance(error)) {
|
|
23
|
+
// Handle the error
|
|
24
|
+
}
|
|
25
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_UIMessageStreamError
|
|
3
|
+
description: Learn how to fix AI_UIMessageStreamError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_UIMessageStreamError
|
|
7
|
+
|
|
8
|
+
This error occurs when a UI message stream contains invalid or out-of-sequence chunks.
|
|
9
|
+
|
|
10
|
+
Common causes:
|
|
11
|
+
|
|
12
|
+
- Receiving a `text-delta` chunk without a preceding `text-start` chunk
|
|
13
|
+
- Receiving a `text-end` chunk without a preceding `text-start` chunk
|
|
14
|
+
- Receiving a `reasoning-delta` chunk without a preceding `reasoning-start` chunk
|
|
15
|
+
- Receiving a `reasoning-end` chunk without a preceding `reasoning-start` chunk
|
|
16
|
+
- Receiving a `tool-input-delta` chunk without a preceding `tool-input-start` chunk
|
|
17
|
+
- Attempting to access a tool invocation that doesn't exist
|
|
18
|
+
|
|
19
|
+
This error often surfaces when an upstream request fails **before any tokens are streamed** and a custom transport tries to write an inline error message to the UI stream without the proper start chunk.
|
|
20
|
+
|
|
21
|
+
## Properties
|
|
22
|
+
|
|
23
|
+
- `chunkType`: The type of chunk that caused the error (e.g., `text-delta`, `reasoning-end`, `tool-input-delta`)
|
|
24
|
+
- `chunkId`: The ID associated with the failing chunk (part ID or toolCallId)
|
|
25
|
+
- `message`: The error message with details about what went wrong
|
|
26
|
+
|
|
27
|
+
## Checking for this Error
|
|
28
|
+
|
|
29
|
+
You can check if an error is an instance of `AI_UIMessageStreamError` using:
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
import { UIMessageStreamError } from 'ai';
|
|
33
|
+
|
|
34
|
+
if (UIMessageStreamError.isInstance(error)) {
|
|
35
|
+
console.log('Chunk type:', error.chunkType);
|
|
36
|
+
console.log('Chunk ID:', error.chunkId);
|
|
37
|
+
// Handle the error
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Common Solutions
|
|
42
|
+
|
|
43
|
+
1. **Ensure proper chunk ordering**: Always send a `*-start` chunk before any `*-delta` or `*-end` chunks for the same ID:
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
// Correct order
|
|
47
|
+
writer.write({ type: 'text-start', id: 'my-text' });
|
|
48
|
+
writer.write({ type: 'text-delta', id: 'my-text', delta: 'Hello' });
|
|
49
|
+
writer.write({ type: 'text-end', id: 'my-text' });
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
2. **Verify IDs match**: Ensure the `id` used in `*-delta` and `*-end` chunks matches the `id` used in the corresponding `*-start` chunk.
|
|
53
|
+
|
|
54
|
+
3. **Handle error paths correctly**: When writing error messages in custom transports, ensure you emit the full start/delta/end sequence:
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
// When handling errors in custom transports
|
|
58
|
+
writer.write({ type: 'text-start', id: errorId });
|
|
59
|
+
writer.write({
|
|
60
|
+
type: 'text-delta',
|
|
61
|
+
id: errorId,
|
|
62
|
+
delta: 'Request failed...',
|
|
63
|
+
});
|
|
64
|
+
writer.write({ type: 'text-end', id: errorId });
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
4. **Check stream producer logic**: Review your streaming implementation to ensure chunks are sent in the correct order, especially when dealing with concurrent operations or merged streams.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_UnsupportedFunctionalityError
|
|
3
|
+
description: Learn how to fix AI_UnsupportedFunctionalityError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_UnsupportedFunctionalityError
|
|
7
|
+
|
|
8
|
+
This error occurs when functionality is not supported.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `functionality`: The name of the unsupported functionality
|
|
13
|
+
- `message`: The error message (optional, auto-generated from `functionality`)
|
|
14
|
+
|
|
15
|
+
## Checking for this Error
|
|
16
|
+
|
|
17
|
+
You can check if an error is an instance of `AI_UnsupportedFunctionalityError` using:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { UnsupportedFunctionalityError } from 'ai';
|
|
21
|
+
|
|
22
|
+
if (UnsupportedFunctionalityError.isInstance(error)) {
|
|
23
|
+
// Handle the error
|
|
24
|
+
}
|
|
25
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI SDK Errors
|
|
3
|
+
description: Troubleshooting information for common AI SDK errors.
|
|
4
|
+
collapsed: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# AI SDK Errors
|
|
8
|
+
|
|
9
|
+
- [AI_APICallError](/docs/reference/ai-sdk-errors/ai-api-call-error)
|
|
10
|
+
- [AI_DownloadError](/docs/reference/ai-sdk-errors/ai-download-error)
|
|
11
|
+
- [AI_EmptyResponseBodyError](/docs/reference/ai-sdk-errors/ai-empty-response-body-error)
|
|
12
|
+
- [AI_InvalidArgumentError](/docs/reference/ai-sdk-errors/ai-invalid-argument-error)
|
|
13
|
+
- [AI_InvalidDataContentError](/docs/reference/ai-sdk-errors/ai-invalid-data-content-error)
|
|
14
|
+
- [AI_InvalidMessageRoleError](/docs/reference/ai-sdk-errors/ai-invalid-message-role-error)
|
|
15
|
+
- [AI_InvalidPromptError](/docs/reference/ai-sdk-errors/ai-invalid-prompt-error)
|
|
16
|
+
- [AI_InvalidResponseDataError](/docs/reference/ai-sdk-errors/ai-invalid-response-data-error)
|
|
17
|
+
- [AI_InvalidToolApprovalError](/docs/reference/ai-sdk-errors/ai-invalid-tool-approval-error)
|
|
18
|
+
- [AI_InvalidToolInputError](/docs/reference/ai-sdk-errors/ai-invalid-tool-input-error)
|
|
19
|
+
- [AI_JSONParseError](/docs/reference/ai-sdk-errors/ai-json-parse-error)
|
|
20
|
+
- [AI_LoadAPIKeyError](/docs/reference/ai-sdk-errors/ai-load-api-key-error)
|
|
21
|
+
- [AI_LoadSettingError](/docs/reference/ai-sdk-errors/ai-load-setting-error)
|
|
22
|
+
- [AI_MessageConversionError](/docs/reference/ai-sdk-errors/ai-message-conversion-error)
|
|
23
|
+
- [AI_NoSpeechGeneratedError](/docs/reference/ai-sdk-errors/ai-no-speech-generated-error)
|
|
24
|
+
- [AI_NoContentGeneratedError](/docs/reference/ai-sdk-errors/ai-no-content-generated-error)
|
|
25
|
+
- [AI_NoImageGeneratedError](/docs/reference/ai-sdk-errors/ai-no-image-generated-error)
|
|
26
|
+
- [AI_NoTranscriptGeneratedError](/docs/reference/ai-sdk-errors/ai-no-transcript-generated-error)
|
|
27
|
+
- [AI_NoVideoGeneratedError](/docs/reference/ai-sdk-errors/ai-no-video-generated-error)
|
|
28
|
+
- [AI_NoObjectGeneratedError](/docs/reference/ai-sdk-errors/ai-no-object-generated-error)
|
|
29
|
+
- [AI_NoOutputGeneratedError](/docs/reference/ai-sdk-errors/ai-no-output-generated-error)
|
|
30
|
+
- [AI_NoSuchModelError](/docs/reference/ai-sdk-errors/ai-no-such-model-error)
|
|
31
|
+
- [AI_NoSuchProviderError](/docs/reference/ai-sdk-errors/ai-no-such-provider-error)
|
|
32
|
+
- [AI_NoSuchToolError](/docs/reference/ai-sdk-errors/ai-no-such-tool-error)
|
|
33
|
+
- [AI_RetryError](/docs/reference/ai-sdk-errors/ai-retry-error)
|
|
34
|
+
- [AI_ToolCallNotFoundForApprovalError](/docs/reference/ai-sdk-errors/ai-tool-call-not-found-for-approval-error)
|
|
35
|
+
- [AI_ToolCallRepairError](/docs/reference/ai-sdk-errors/ai-tool-call-repair-error)
|
|
36
|
+
- [AI_TooManyEmbeddingValuesForCallError](/docs/reference/ai-sdk-errors/ai-too-many-embedding-values-for-call-error)
|
|
37
|
+
- [AI_TypeValidationError](/docs/reference/ai-sdk-errors/ai-type-validation-error)
|
|
38
|
+
- [AI_UIMessageStreamError](/docs/reference/ai-sdk-errors/ai-ui-message-stream-error)
|
|
39
|
+
- [AI_UnsupportedFunctionalityError](/docs/reference/ai-sdk-errors/ai-unsupported-functionality-error)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Reference
|
|
3
|
+
description: Reference documentation for the AI SDK
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# API Reference
|
|
7
|
+
|
|
8
|
+
<IndexCards
|
|
9
|
+
cards={[
|
|
10
|
+
{
|
|
11
|
+
title: 'AI SDK Core',
|
|
12
|
+
description: 'Switch between model providers without changing your code.',
|
|
13
|
+
href: '/docs/reference/ai-sdk-core',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
title: 'AI SDK RSC',
|
|
17
|
+
description:
|
|
18
|
+
'Use React Server Components to stream user interfaces to the client.',
|
|
19
|
+
href: '/docs/reference/ai-sdk-rsc',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
title: 'AI SDK UI',
|
|
23
|
+
description:
|
|
24
|
+
'Use hooks to integrate user interfaces that interact with language models.',
|
|
25
|
+
href: '/docs/reference/ai-sdk-ui',
|
|
26
|
+
},
|
|
27
|
+
]}
|
|
28
|
+
/>
|