@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,266 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: render (Removed)
|
|
3
|
+
description: Reference for the render function from the AI SDK RSC
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# `render` (Removed)
|
|
7
|
+
|
|
8
|
+
<Note type="warning">"render" has been removed in AI SDK 4.0.</Note>
|
|
9
|
+
|
|
10
|
+
<Note type="warning">
|
|
11
|
+
AI SDK RSC is currently experimental. We recommend using [AI SDK
|
|
12
|
+
UI](/docs/ai-sdk-ui/overview) for production. For guidance on migrating from
|
|
13
|
+
RSC to UI, see our [migration guide](/docs/ai-sdk-rsc/migrating-to-ui).
|
|
14
|
+
</Note>
|
|
15
|
+
|
|
16
|
+
A helper function to create a streamable UI from LLM providers. This function is similar to AI SDK Core APIs and supports the same model interfaces.
|
|
17
|
+
|
|
18
|
+
> **Note**: `render` has been deprecated in favor of [`streamUI`](/docs/reference/ai-sdk-rsc/stream-ui). During migration, please ensure that the `messages` parameter follows the updated [specification](/docs/reference/ai-sdk-rsc/stream-ui#messages).
|
|
19
|
+
|
|
20
|
+
## Import (No longer available)
|
|
21
|
+
|
|
22
|
+
The following import will no longer work since `render` has been removed:
|
|
23
|
+
|
|
24
|
+
<Snippet text={`import { render } from "@ai-sdk/rsc"`} prompt={false} />
|
|
25
|
+
|
|
26
|
+
Use [`streamUI`](/docs/reference/ai-sdk-rsc/stream-ui) instead.
|
|
27
|
+
|
|
28
|
+
## API Signature
|
|
29
|
+
|
|
30
|
+
### Parameters
|
|
31
|
+
|
|
32
|
+
<PropertiesTable
|
|
33
|
+
content={[
|
|
34
|
+
{
|
|
35
|
+
name: 'model',
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: 'Model identifier, must be OpenAI SDK compatible.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'provider',
|
|
41
|
+
type: 'provider client',
|
|
42
|
+
description:
|
|
43
|
+
'Currently the only provider available is OpenAI. This needs to match the model name.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'initial',
|
|
47
|
+
isOptional: true,
|
|
48
|
+
type: 'ReactNode',
|
|
49
|
+
description: 'The initial UI to render.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'messages',
|
|
53
|
+
type: 'Array<SystemMessage | UserMessage | AssistantMessage | ToolMessage>',
|
|
54
|
+
description: 'A list of messages that represent a conversation.',
|
|
55
|
+
properties: [
|
|
56
|
+
{
|
|
57
|
+
type: 'SystemMessage',
|
|
58
|
+
parameters: [
|
|
59
|
+
{
|
|
60
|
+
name: 'role',
|
|
61
|
+
type: "'system'",
|
|
62
|
+
description: 'The role for the system message.',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'content',
|
|
66
|
+
type: 'string',
|
|
67
|
+
description: 'The content of the message.',
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'UserMessage',
|
|
73
|
+
parameters: [
|
|
74
|
+
{
|
|
75
|
+
name: 'role',
|
|
76
|
+
type: "'user'",
|
|
77
|
+
description: 'The role for the user message.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: 'content',
|
|
81
|
+
type: 'string',
|
|
82
|
+
description: 'The content of the message.',
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
type: 'AssistantMessage',
|
|
88
|
+
parameters: [
|
|
89
|
+
{
|
|
90
|
+
name: 'role',
|
|
91
|
+
type: "'assistant'",
|
|
92
|
+
description: 'The role for the assistant message.',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'content',
|
|
96
|
+
type: 'string',
|
|
97
|
+
description: 'The content of the message.',
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'tool_calls',
|
|
101
|
+
type: 'ToolCall[]',
|
|
102
|
+
description: 'A list of tool calls made by the model.',
|
|
103
|
+
properties: [
|
|
104
|
+
{
|
|
105
|
+
type: 'ToolCall',
|
|
106
|
+
parameters: [
|
|
107
|
+
{
|
|
108
|
+
name: 'id',
|
|
109
|
+
type: 'string',
|
|
110
|
+
description: 'The id of the tool call.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: 'type',
|
|
114
|
+
type: "'function'",
|
|
115
|
+
description: 'The type of the tool call.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'function',
|
|
119
|
+
type: 'Function',
|
|
120
|
+
description: 'The function to call.',
|
|
121
|
+
properties: [
|
|
122
|
+
{
|
|
123
|
+
type: 'Function',
|
|
124
|
+
parameters: [
|
|
125
|
+
{
|
|
126
|
+
name: 'name',
|
|
127
|
+
type: 'string',
|
|
128
|
+
description: 'The name of the function.',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
name: 'arguments',
|
|
132
|
+
type: 'string',
|
|
133
|
+
description: 'The arguments of the function.',
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'ToolMessage',
|
|
147
|
+
parameters: [
|
|
148
|
+
{
|
|
149
|
+
name: 'role',
|
|
150
|
+
type: "'tool'",
|
|
151
|
+
description: 'The role for the tool message.',
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
name: 'content',
|
|
155
|
+
type: 'string',
|
|
156
|
+
description: 'The content of the message.',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
name: 'toolCallId',
|
|
160
|
+
type: 'string',
|
|
161
|
+
description: 'The id of the tool call.',
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
name: 'functions',
|
|
169
|
+
type: 'ToolSet',
|
|
170
|
+
isOptional: true,
|
|
171
|
+
description:
|
|
172
|
+
'Tools that are accessible to and can be called by the model.',
|
|
173
|
+
properties: [
|
|
174
|
+
{
|
|
175
|
+
type: 'Tool',
|
|
176
|
+
parameters: [
|
|
177
|
+
{
|
|
178
|
+
name: 'description',
|
|
179
|
+
isOptional: true,
|
|
180
|
+
type: 'string',
|
|
181
|
+
description:
|
|
182
|
+
'Information about the purpose of the tool including details on how and when it can be used by the model.',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: 'parameters',
|
|
186
|
+
type: 'zod schema',
|
|
187
|
+
description:
|
|
188
|
+
'The typed schema that describes the parameters of the tool that can also be used to validation and error handling.',
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
name: 'render',
|
|
192
|
+
isOptional: true,
|
|
193
|
+
type: 'async (parameters) => any',
|
|
194
|
+
description:
|
|
195
|
+
'An async function that is called with the arguments from the tool call and produces a result.',
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
},
|
|
199
|
+
],
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
name: 'tools',
|
|
203
|
+
type: 'ToolSet',
|
|
204
|
+
isOptional: true,
|
|
205
|
+
description:
|
|
206
|
+
'Tools that are accessible to and can be called by the model.',
|
|
207
|
+
properties: [
|
|
208
|
+
{
|
|
209
|
+
type: 'Tool',
|
|
210
|
+
parameters: [
|
|
211
|
+
{
|
|
212
|
+
name: 'description',
|
|
213
|
+
isOptional: true,
|
|
214
|
+
type: 'string',
|
|
215
|
+
description:
|
|
216
|
+
'Information about the purpose of the tool including details on how and when it can be used by the model.',
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
name: 'parameters',
|
|
220
|
+
type: 'zod schema',
|
|
221
|
+
description:
|
|
222
|
+
'The typed schema that describes the parameters of the tool that can also be used to validation and error handling.',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'render',
|
|
226
|
+
isOptional: true,
|
|
227
|
+
type: 'async (parameters) => any',
|
|
228
|
+
description:
|
|
229
|
+
'An async function that is called with the arguments from the tool call and produces a result.',
|
|
230
|
+
},
|
|
231
|
+
],
|
|
232
|
+
},
|
|
233
|
+
],
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
name: 'text',
|
|
237
|
+
isOptional: true,
|
|
238
|
+
type: '(Text) => ReactNode',
|
|
239
|
+
description: 'Callback to handle the generated tokens from the model.',
|
|
240
|
+
properties: [
|
|
241
|
+
{
|
|
242
|
+
type: 'Text',
|
|
243
|
+
parameters: [
|
|
244
|
+
{
|
|
245
|
+
name: 'content',
|
|
246
|
+
type: 'string',
|
|
247
|
+
description: 'The full content of the completion.',
|
|
248
|
+
},
|
|
249
|
+
{ name: 'delta', type: 'string', description: 'The delta.' },
|
|
250
|
+
{ name: 'done', type: 'boolean', description: 'Is it done?' },
|
|
251
|
+
],
|
|
252
|
+
},
|
|
253
|
+
],
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
name: 'temperature',
|
|
257
|
+
isOptional: true,
|
|
258
|
+
type: 'number',
|
|
259
|
+
description: 'The temperature to use for the model.',
|
|
260
|
+
},
|
|
261
|
+
]}
|
|
262
|
+
/>
|
|
263
|
+
|
|
264
|
+
### Returns
|
|
265
|
+
|
|
266
|
+
It can return any valid ReactNode.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI SDK RSC
|
|
3
|
+
description: Reference documentation for the AI SDK RSC
|
|
4
|
+
collapsed: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# AI SDK RSC
|
|
8
|
+
|
|
9
|
+
<Note type="warning">
|
|
10
|
+
AI SDK RSC is currently experimental. We recommend using [AI SDK
|
|
11
|
+
UI](/docs/ai-sdk-ui/overview) for production. For guidance on migrating from
|
|
12
|
+
RSC to UI, see our [migration guide](/docs/ai-sdk-rsc/migrating-to-ui).
|
|
13
|
+
</Note>
|
|
14
|
+
|
|
15
|
+
<IndexCards
|
|
16
|
+
cards={[
|
|
17
|
+
{
|
|
18
|
+
title: 'streamUI',
|
|
19
|
+
description:
|
|
20
|
+
'Use a helper function that streams React Server Components on tool execution.',
|
|
21
|
+
href: '/docs/reference/ai-sdk-rsc/stream-ui',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
title: 'createAI',
|
|
25
|
+
description:
|
|
26
|
+
'Create a context provider that wraps your application and shares state between the client and language model on the server.',
|
|
27
|
+
href: '/docs/reference/ai-sdk-rsc/create-ai',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
title: 'createStreamableUI',
|
|
31
|
+
description:
|
|
32
|
+
'Create a streamable UI component that can be rendered on the server and streamed to the client.',
|
|
33
|
+
href: '/docs/reference/ai-sdk-rsc/create-streamable-ui',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
title: 'createStreamableValue',
|
|
37
|
+
description:
|
|
38
|
+
'Create a streamable value that can be rendered on the server and streamed to the client.',
|
|
39
|
+
href: '/docs/reference/ai-sdk-rsc/create-streamable-value',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
title: 'getAIState',
|
|
43
|
+
description: 'Read the AI state on the server.',
|
|
44
|
+
href: '/docs/reference/ai-sdk-rsc/get-ai-state',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
title: 'getMutableAIState',
|
|
48
|
+
description: 'Read and update the AI state on the server.',
|
|
49
|
+
href: '/docs/reference/ai-sdk-rsc/get-mutable-ai-state',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
title: 'useAIState',
|
|
53
|
+
description: 'Get the AI state on the client from the context provider.',
|
|
54
|
+
href: '/docs/reference/ai-sdk-rsc/use-ai-state',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
title: 'useUIState',
|
|
58
|
+
description: 'Get the UI state on the client from the context provider.',
|
|
59
|
+
href: '/docs/reference/ai-sdk-rsc/use-ui-state',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
title: 'useActions',
|
|
63
|
+
description: 'Call server actions from the client.',
|
|
64
|
+
href: '/docs/reference/ai-sdk-rsc/use-actions',
|
|
65
|
+
},
|
|
66
|
+
]}
|
|
67
|
+
/>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_APICallError
|
|
3
|
+
description: Learn how to fix AI_APICallError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_APICallError
|
|
7
|
+
|
|
8
|
+
This error occurs when an API call fails.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `url`: The URL of the API request that failed
|
|
13
|
+
- `requestBodyValues`: The request body values sent to the API
|
|
14
|
+
- `statusCode`: The HTTP status code returned by the API (optional)
|
|
15
|
+
- `responseHeaders`: The response headers returned by the API (optional)
|
|
16
|
+
- `responseBody`: The response body returned by the API (optional)
|
|
17
|
+
- `isRetryable`: Whether the request can be retried based on the status code
|
|
18
|
+
- `data`: Any additional data associated with the error (optional)
|
|
19
|
+
- `cause`: The underlying error that caused the API call to fail (optional)
|
|
20
|
+
|
|
21
|
+
## Checking for this Error
|
|
22
|
+
|
|
23
|
+
You can check if an error is an instance of `AI_APICallError` using:
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
import { APICallError } from 'ai';
|
|
27
|
+
|
|
28
|
+
if (APICallError.isInstance(error)) {
|
|
29
|
+
// Handle the error
|
|
30
|
+
}
|
|
31
|
+
```
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_DownloadError
|
|
3
|
+
description: Learn how to fix AI_DownloadError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_DownloadError
|
|
7
|
+
|
|
8
|
+
This error occurs when a download fails.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `url`: The URL that failed to download
|
|
13
|
+
- `statusCode`: The HTTP status code returned by the server (optional)
|
|
14
|
+
- `statusText`: The HTTP status text returned by the server (optional)
|
|
15
|
+
- `cause`: The underlying error that caused the download to fail (optional)
|
|
16
|
+
- `message`: The error message containing details about the download failure (optional, auto-generated)
|
|
17
|
+
|
|
18
|
+
## Checking for this Error
|
|
19
|
+
|
|
20
|
+
You can check if an error is an instance of `AI_DownloadError` using:
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { DownloadError } from 'ai';
|
|
24
|
+
|
|
25
|
+
if (DownloadError.isInstance(error)) {
|
|
26
|
+
// Handle the error
|
|
27
|
+
}
|
|
28
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_EmptyResponseBodyError
|
|
3
|
+
description: Learn how to fix AI_EmptyResponseBodyError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_EmptyResponseBodyError
|
|
7
|
+
|
|
8
|
+
This error occurs when the server returns an empty response body.
|
|
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_EmptyResponseBodyError` using:
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { EmptyResponseBodyError } from 'ai';
|
|
20
|
+
|
|
21
|
+
if (EmptyResponseBodyError.isInstance(error)) {
|
|
22
|
+
// Handle the error
|
|
23
|
+
}
|
|
24
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_InvalidArgumentError
|
|
3
|
+
description: Learn how to fix AI_InvalidArgumentError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_InvalidArgumentError
|
|
7
|
+
|
|
8
|
+
This error occurs when an invalid argument was provided.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `parameter`: The name of the parameter that is invalid
|
|
13
|
+
- `value`: The invalid value
|
|
14
|
+
- `message`: The error message
|
|
15
|
+
|
|
16
|
+
## Checking for this Error
|
|
17
|
+
|
|
18
|
+
You can check if an error is an instance of `AI_InvalidArgumentError` using:
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { InvalidArgumentError } from 'ai';
|
|
22
|
+
|
|
23
|
+
if (InvalidArgumentError.isInstance(error)) {
|
|
24
|
+
// Handle the error
|
|
25
|
+
}
|
|
26
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_InvalidDataContentError
|
|
3
|
+
description: How to fix AI_InvalidDataContentError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_InvalidDataContentError
|
|
7
|
+
|
|
8
|
+
This error occurs when the data content provided in a multi-modal message part is invalid. Check out the [ prompt examples for multi-modal messages ](/docs/foundations/prompts#message-prompts).
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `content`: The invalid content value
|
|
13
|
+
- `cause`: The underlying error that caused this error (optional)
|
|
14
|
+
- `message`: The error message describing the expected and received content types (optional, auto-generated)
|
|
15
|
+
|
|
16
|
+
## Checking for this Error
|
|
17
|
+
|
|
18
|
+
You can check if an error is an instance of `AI_InvalidDataContentError` using:
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { InvalidDataContentError } from 'ai';
|
|
22
|
+
|
|
23
|
+
if (InvalidDataContentError.isInstance(error)) {
|
|
24
|
+
// Handle the error
|
|
25
|
+
}
|
|
26
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_InvalidMessageRoleError
|
|
3
|
+
description: Learn how to fix AI_InvalidMessageRoleError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_InvalidMessageRoleError
|
|
7
|
+
|
|
8
|
+
This error occurs when an invalid message role is provided.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `role`: The invalid role value
|
|
13
|
+
- `message`: The error message (optional, auto-generated from `role`)
|
|
14
|
+
|
|
15
|
+
## Checking for this Error
|
|
16
|
+
|
|
17
|
+
You can check if an error is an instance of `AI_InvalidMessageRoleError` using:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { InvalidMessageRoleError } from 'ai';
|
|
21
|
+
|
|
22
|
+
if (InvalidMessageRoleError.isInstance(error)) {
|
|
23
|
+
// Handle the error
|
|
24
|
+
}
|
|
25
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_InvalidPromptError
|
|
3
|
+
description: Learn how to fix AI_InvalidPromptError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_InvalidPromptError
|
|
7
|
+
|
|
8
|
+
This error occurs when the prompt provided is invalid.
|
|
9
|
+
|
|
10
|
+
## Potential Causes
|
|
11
|
+
|
|
12
|
+
### UI Messages
|
|
13
|
+
|
|
14
|
+
You are passing a `UIMessage[]` as messages into e.g. `streamText`.
|
|
15
|
+
|
|
16
|
+
You need to first convert them to a `ModelMessage[]` using `convertToModelMessages()`.
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { type UIMessage, generateText, convertToModelMessages } from 'ai';
|
|
20
|
+
|
|
21
|
+
const messages: UIMessage[] = [
|
|
22
|
+
/* ... */
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
const result = await generateText({
|
|
26
|
+
// ...
|
|
27
|
+
messages: await convertToModelMessages(messages),
|
|
28
|
+
});
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Properties
|
|
32
|
+
|
|
33
|
+
- `prompt`: The invalid prompt value
|
|
34
|
+
- `message`: The error message (required in constructor)
|
|
35
|
+
- `cause`: The cause of the error (optional)
|
|
36
|
+
|
|
37
|
+
## Checking for this Error
|
|
38
|
+
|
|
39
|
+
You can check if an error is an instance of `AI_InvalidPromptError` using:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
import { InvalidPromptError } from 'ai';
|
|
43
|
+
|
|
44
|
+
if (InvalidPromptError.isInstance(error)) {
|
|
45
|
+
// Handle the error
|
|
46
|
+
}
|
|
47
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_InvalidResponseDataError
|
|
3
|
+
description: Learn how to fix AI_InvalidResponseDataError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_InvalidResponseDataError
|
|
7
|
+
|
|
8
|
+
This error occurs when the server returns a response with invalid data content.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `data`: The invalid response data value
|
|
13
|
+
- `message`: The error message
|
|
14
|
+
|
|
15
|
+
## Checking for this Error
|
|
16
|
+
|
|
17
|
+
You can check if an error is an instance of `AI_InvalidResponseDataError` using:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { InvalidResponseDataError } from 'ai';
|
|
21
|
+
|
|
22
|
+
if (InvalidResponseDataError.isInstance(error)) {
|
|
23
|
+
// Handle the error
|
|
24
|
+
}
|
|
25
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_InvalidToolApprovalError
|
|
3
|
+
description: Learn how to fix AI_InvalidToolApprovalError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_InvalidToolApprovalError
|
|
7
|
+
|
|
8
|
+
This error occurs when a tool approval response references an unknown `approvalId`. No matching `tool-approval-request` was found in the message history.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `approvalId`: The approval ID that was not found
|
|
13
|
+
|
|
14
|
+
## Checking for this Error
|
|
15
|
+
|
|
16
|
+
You can check if an error is an instance of `AI_InvalidToolApprovalError` using:
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { InvalidToolApprovalError } from 'ai';
|
|
20
|
+
|
|
21
|
+
if (InvalidToolApprovalError.isInstance(error)) {
|
|
22
|
+
// Handle the error
|
|
23
|
+
}
|
|
24
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_InvalidToolInputError
|
|
3
|
+
description: Learn how to fix AI_InvalidToolInputError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_InvalidToolInputError
|
|
7
|
+
|
|
8
|
+
This error occurs when invalid tool input was provided.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `toolName`: The name of the tool with invalid inputs
|
|
13
|
+
- `toolInput`: The invalid tool inputs
|
|
14
|
+
- `message`: The error message
|
|
15
|
+
- `cause`: The cause of the error
|
|
16
|
+
|
|
17
|
+
## Checking for this Error
|
|
18
|
+
|
|
19
|
+
You can check if an error is an instance of `AI_InvalidToolInputError` using:
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { InvalidToolInputError } from 'ai';
|
|
23
|
+
|
|
24
|
+
if (InvalidToolInputError.isInstance(error)) {
|
|
25
|
+
// Handle the error
|
|
26
|
+
}
|
|
27
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_JSONParseError
|
|
3
|
+
description: Learn how to fix AI_JSONParseError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_JSONParseError
|
|
7
|
+
|
|
8
|
+
This error occurs when JSON fails to parse.
|
|
9
|
+
|
|
10
|
+
## Properties
|
|
11
|
+
|
|
12
|
+
- `text`: The text value that could not be parsed
|
|
13
|
+
- `cause`: The underlying parsing error (required in constructor)
|
|
14
|
+
|
|
15
|
+
## Checking for this Error
|
|
16
|
+
|
|
17
|
+
You can check if an error is an instance of `AI_JSONParseError` using:
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { JSONParseError } from 'ai';
|
|
21
|
+
|
|
22
|
+
if (JSONParseError.isInstance(error)) {
|
|
23
|
+
// Handle the error
|
|
24
|
+
}
|
|
25
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI_LoadAPIKeyError
|
|
3
|
+
description: Learn how to fix AI_LoadAPIKeyError
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AI_LoadAPIKeyError
|
|
7
|
+
|
|
8
|
+
This error occurs when API key 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_LoadAPIKeyError` using:
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
import { LoadAPIKeyError } from 'ai';
|
|
20
|
+
|
|
21
|
+
if (LoadAPIKeyError.isInstance(error)) {
|
|
22
|
+
// Handle the error
|
|
23
|
+
}
|
|
24
|
+
```
|