@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.
Files changed (534) hide show
  1. package/CHANGELOG.md +7582 -0
  2. package/README.md +238 -0
  3. package/dist/index.d.mts +6751 -0
  4. package/dist/index.d.ts +6751 -0
  5. package/dist/index.js +14155 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/index.mjs +14127 -0
  8. package/dist/index.mjs.map +1 -0
  9. package/dist/internal/index.d.mts +324 -0
  10. package/dist/internal/index.d.ts +324 -0
  11. package/dist/internal/index.js +1352 -0
  12. package/dist/internal/index.js.map +1 -0
  13. package/dist/internal/index.mjs +1336 -0
  14. package/dist/internal/index.mjs.map +1 -0
  15. package/dist/test/index.d.mts +265 -0
  16. package/dist/test/index.d.ts +265 -0
  17. package/dist/test/index.js +509 -0
  18. package/dist/test/index.js.map +1 -0
  19. package/dist/test/index.mjs +472 -0
  20. package/dist/test/index.mjs.map +1 -0
  21. package/docs/00-introduction/index.mdx +76 -0
  22. package/docs/02-foundations/01-overview.mdx +43 -0
  23. package/docs/02-foundations/02-providers-and-models.mdx +158 -0
  24. package/docs/02-foundations/03-prompts.mdx +616 -0
  25. package/docs/02-foundations/04-tools.mdx +251 -0
  26. package/docs/02-foundations/05-streaming.mdx +62 -0
  27. package/docs/02-foundations/06-provider-options.mdx +345 -0
  28. package/docs/02-foundations/index.mdx +49 -0
  29. package/docs/02-getting-started/00-choosing-a-provider.mdx +110 -0
  30. package/docs/02-getting-started/01-navigating-the-library.mdx +85 -0
  31. package/docs/02-getting-started/02-nextjs-app-router.mdx +559 -0
  32. package/docs/02-getting-started/03-nextjs-pages-router.mdx +542 -0
  33. package/docs/02-getting-started/04-svelte.mdx +627 -0
  34. package/docs/02-getting-started/05-nuxt.mdx +566 -0
  35. package/docs/02-getting-started/06-nodejs.mdx +512 -0
  36. package/docs/02-getting-started/07-expo.mdx +766 -0
  37. package/docs/02-getting-started/08-tanstack-start.mdx +583 -0
  38. package/docs/02-getting-started/09-coding-agents.mdx +179 -0
  39. package/docs/02-getting-started/index.mdx +44 -0
  40. package/docs/03-agents/01-overview.mdx +96 -0
  41. package/docs/03-agents/02-building-agents.mdx +449 -0
  42. package/docs/03-agents/03-workflows.mdx +386 -0
  43. package/docs/03-agents/04-loop-control.mdx +394 -0
  44. package/docs/03-agents/05-configuring-call-options.mdx +286 -0
  45. package/docs/03-agents/06-memory.mdx +222 -0
  46. package/docs/03-agents/06-subagents.mdx +362 -0
  47. package/docs/03-agents/index.mdx +46 -0
  48. package/docs/03-ai-sdk-core/01-overview.mdx +31 -0
  49. package/docs/03-ai-sdk-core/05-generating-text.mdx +707 -0
  50. package/docs/03-ai-sdk-core/10-generating-structured-data.mdx +498 -0
  51. package/docs/03-ai-sdk-core/15-tools-and-tool-calling.mdx +1144 -0
  52. package/docs/03-ai-sdk-core/16-mcp-tools.mdx +383 -0
  53. package/docs/03-ai-sdk-core/20-prompt-engineering.mdx +146 -0
  54. package/docs/03-ai-sdk-core/25-settings.mdx +216 -0
  55. package/docs/03-ai-sdk-core/26-reasoning.mdx +190 -0
  56. package/docs/03-ai-sdk-core/30-embeddings.mdx +246 -0
  57. package/docs/03-ai-sdk-core/31-reranking.mdx +218 -0
  58. package/docs/03-ai-sdk-core/35-image-generation.mdx +341 -0
  59. package/docs/03-ai-sdk-core/36-transcription.mdx +227 -0
  60. package/docs/03-ai-sdk-core/37-speech.mdx +169 -0
  61. package/docs/03-ai-sdk-core/38-video-generation.mdx +366 -0
  62. package/docs/03-ai-sdk-core/40-middleware.mdx +485 -0
  63. package/docs/03-ai-sdk-core/45-provider-management.mdx +349 -0
  64. package/docs/03-ai-sdk-core/50-error-handling.mdx +149 -0
  65. package/docs/03-ai-sdk-core/55-testing.mdx +219 -0
  66. package/docs/03-ai-sdk-core/60-telemetry.mdx +391 -0
  67. package/docs/03-ai-sdk-core/65-devtools.mdx +107 -0
  68. package/docs/03-ai-sdk-core/65-event-listeners.mdx +1118 -0
  69. package/docs/03-ai-sdk-core/index.mdx +99 -0
  70. package/docs/04-ai-sdk-ui/01-overview.mdx +44 -0
  71. package/docs/04-ai-sdk-ui/02-chatbot.mdx +1320 -0
  72. package/docs/04-ai-sdk-ui/03-chatbot-message-persistence.mdx +535 -0
  73. package/docs/04-ai-sdk-ui/03-chatbot-resume-streams.mdx +263 -0
  74. package/docs/04-ai-sdk-ui/03-chatbot-tool-usage.mdx +682 -0
  75. package/docs/04-ai-sdk-ui/04-generative-user-interfaces.mdx +389 -0
  76. package/docs/04-ai-sdk-ui/05-completion.mdx +181 -0
  77. package/docs/04-ai-sdk-ui/08-object-generation.mdx +344 -0
  78. package/docs/04-ai-sdk-ui/20-streaming-data.mdx +397 -0
  79. package/docs/04-ai-sdk-ui/21-error-handling.mdx +190 -0
  80. package/docs/04-ai-sdk-ui/21-transport.mdx +174 -0
  81. package/docs/04-ai-sdk-ui/24-reading-ui-message-streams.mdx +104 -0
  82. package/docs/04-ai-sdk-ui/25-message-metadata.mdx +152 -0
  83. package/docs/04-ai-sdk-ui/50-stream-protocol.mdx +503 -0
  84. package/docs/04-ai-sdk-ui/index.mdx +64 -0
  85. package/docs/05-ai-sdk-rsc/01-overview.mdx +45 -0
  86. package/docs/05-ai-sdk-rsc/02-streaming-react-components.mdx +209 -0
  87. package/docs/05-ai-sdk-rsc/03-generative-ui-state.mdx +279 -0
  88. package/docs/05-ai-sdk-rsc/03-saving-and-restoring-states.mdx +105 -0
  89. package/docs/05-ai-sdk-rsc/04-multistep-interfaces.mdx +282 -0
  90. package/docs/05-ai-sdk-rsc/05-streaming-values.mdx +157 -0
  91. package/docs/05-ai-sdk-rsc/06-loading-state.mdx +273 -0
  92. package/docs/05-ai-sdk-rsc/08-error-handling.mdx +94 -0
  93. package/docs/05-ai-sdk-rsc/09-authentication.mdx +42 -0
  94. package/docs/05-ai-sdk-rsc/10-migrating-to-ui.mdx +722 -0
  95. package/docs/05-ai-sdk-rsc/index.mdx +63 -0
  96. package/docs/06-advanced/01-prompt-engineering.mdx +96 -0
  97. package/docs/06-advanced/02-stopping-streams.mdx +184 -0
  98. package/docs/06-advanced/03-backpressure.mdx +173 -0
  99. package/docs/06-advanced/04-caching.mdx +169 -0
  100. package/docs/06-advanced/05-multiple-streamables.mdx +68 -0
  101. package/docs/06-advanced/06-rate-limiting.mdx +60 -0
  102. package/docs/06-advanced/07-rendering-ui-with-language-models.mdx +225 -0
  103. package/docs/06-advanced/08-model-as-router.mdx +120 -0
  104. package/docs/06-advanced/09-multistep-interfaces.mdx +115 -0
  105. package/docs/06-advanced/09-sequential-generations.mdx +55 -0
  106. package/docs/06-advanced/10-vercel-deployment-guide.mdx +117 -0
  107. package/docs/06-advanced/index.mdx +11 -0
  108. package/docs/07-reference/01-ai-sdk-core/01-generate-text.mdx +2785 -0
  109. package/docs/07-reference/01-ai-sdk-core/02-stream-text.mdx +3752 -0
  110. package/docs/07-reference/01-ai-sdk-core/05-embed.mdx +332 -0
  111. package/docs/07-reference/01-ai-sdk-core/06-embed-many.mdx +330 -0
  112. package/docs/07-reference/01-ai-sdk-core/06-rerank.mdx +309 -0
  113. package/docs/07-reference/01-ai-sdk-core/10-generate-image.mdx +251 -0
  114. package/docs/07-reference/01-ai-sdk-core/11-transcribe.mdx +152 -0
  115. package/docs/07-reference/01-ai-sdk-core/12-generate-speech.mdx +221 -0
  116. package/docs/07-reference/01-ai-sdk-core/13-generate-video.mdx +264 -0
  117. package/docs/07-reference/01-ai-sdk-core/15-agent.mdx +235 -0
  118. package/docs/07-reference/01-ai-sdk-core/16-tool-loop-agent.mdx +973 -0
  119. package/docs/07-reference/01-ai-sdk-core/17-create-agent-ui-stream.mdx +154 -0
  120. package/docs/07-reference/01-ai-sdk-core/18-create-agent-ui-stream-response.mdx +173 -0
  121. package/docs/07-reference/01-ai-sdk-core/18-pipe-agent-ui-stream-to-response.mdx +150 -0
  122. package/docs/07-reference/01-ai-sdk-core/20-tool.mdx +209 -0
  123. package/docs/07-reference/01-ai-sdk-core/22-dynamic-tool.mdx +223 -0
  124. package/docs/07-reference/01-ai-sdk-core/23-create-mcp-client.mdx +423 -0
  125. package/docs/07-reference/01-ai-sdk-core/24-mcp-stdio-transport.mdx +68 -0
  126. package/docs/07-reference/01-ai-sdk-core/25-json-schema.mdx +94 -0
  127. package/docs/07-reference/01-ai-sdk-core/26-zod-schema.mdx +109 -0
  128. package/docs/07-reference/01-ai-sdk-core/27-valibot-schema.mdx +58 -0
  129. package/docs/07-reference/01-ai-sdk-core/28-output.mdx +342 -0
  130. package/docs/07-reference/01-ai-sdk-core/30-model-message.mdx +435 -0
  131. package/docs/07-reference/01-ai-sdk-core/31-ui-message.mdx +264 -0
  132. package/docs/07-reference/01-ai-sdk-core/32-validate-ui-messages.mdx +101 -0
  133. package/docs/07-reference/01-ai-sdk-core/33-safe-validate-ui-messages.mdx +113 -0
  134. package/docs/07-reference/01-ai-sdk-core/40-provider-registry.mdx +198 -0
  135. package/docs/07-reference/01-ai-sdk-core/42-custom-provider.mdx +157 -0
  136. package/docs/07-reference/01-ai-sdk-core/50-cosine-similarity.mdx +52 -0
  137. package/docs/07-reference/01-ai-sdk-core/60-wrap-language-model.mdx +59 -0
  138. package/docs/07-reference/01-ai-sdk-core/61-wrap-image-model.mdx +64 -0
  139. package/docs/07-reference/01-ai-sdk-core/65-language-model-v2-middleware.mdx +74 -0
  140. package/docs/07-reference/01-ai-sdk-core/66-extract-reasoning-middleware.mdx +68 -0
  141. package/docs/07-reference/01-ai-sdk-core/67-simulate-streaming-middleware.mdx +71 -0
  142. package/docs/07-reference/01-ai-sdk-core/68-default-settings-middleware.mdx +80 -0
  143. package/docs/07-reference/01-ai-sdk-core/69-add-tool-input-examples-middleware.mdx +155 -0
  144. package/docs/07-reference/01-ai-sdk-core/70-extract-json-middleware.mdx +147 -0
  145. package/docs/07-reference/01-ai-sdk-core/70-step-count-is.mdx +84 -0
  146. package/docs/07-reference/01-ai-sdk-core/71-has-tool-call.mdx +120 -0
  147. package/docs/07-reference/01-ai-sdk-core/75-simulate-readable-stream.mdx +94 -0
  148. package/docs/07-reference/01-ai-sdk-core/80-smooth-stream.mdx +145 -0
  149. package/docs/07-reference/01-ai-sdk-core/90-generate-id.mdx +30 -0
  150. package/docs/07-reference/01-ai-sdk-core/91-create-id-generator.mdx +89 -0
  151. package/docs/07-reference/01-ai-sdk-core/92-default-generated-file.mdx +68 -0
  152. package/docs/07-reference/01-ai-sdk-core/index.mdx +160 -0
  153. package/docs/07-reference/02-ai-sdk-ui/01-use-chat.mdx +493 -0
  154. package/docs/07-reference/02-ai-sdk-ui/02-use-completion.mdx +185 -0
  155. package/docs/07-reference/02-ai-sdk-ui/03-use-object.mdx +196 -0
  156. package/docs/07-reference/02-ai-sdk-ui/31-convert-to-model-messages.mdx +231 -0
  157. package/docs/07-reference/02-ai-sdk-ui/32-prune-messages.mdx +108 -0
  158. package/docs/07-reference/02-ai-sdk-ui/40-create-ui-message-stream.mdx +162 -0
  159. package/docs/07-reference/02-ai-sdk-ui/41-create-ui-message-stream-response.mdx +119 -0
  160. package/docs/07-reference/02-ai-sdk-ui/42-pipe-ui-message-stream-to-response.mdx +77 -0
  161. package/docs/07-reference/02-ai-sdk-ui/43-read-ui-message-stream.mdx +57 -0
  162. package/docs/07-reference/02-ai-sdk-ui/46-infer-ui-tools.mdx +99 -0
  163. package/docs/07-reference/02-ai-sdk-ui/47-infer-ui-tool.mdx +75 -0
  164. package/docs/07-reference/02-ai-sdk-ui/50-direct-chat-transport.mdx +333 -0
  165. package/docs/07-reference/02-ai-sdk-ui/index.mdx +89 -0
  166. package/docs/07-reference/03-ai-sdk-rsc/01-stream-ui.mdx +767 -0
  167. package/docs/07-reference/03-ai-sdk-rsc/02-create-ai.mdx +90 -0
  168. package/docs/07-reference/03-ai-sdk-rsc/03-create-streamable-ui.mdx +91 -0
  169. package/docs/07-reference/03-ai-sdk-rsc/04-create-streamable-value.mdx +78 -0
  170. package/docs/07-reference/03-ai-sdk-rsc/05-read-streamable-value.mdx +79 -0
  171. package/docs/07-reference/03-ai-sdk-rsc/06-get-ai-state.mdx +50 -0
  172. package/docs/07-reference/03-ai-sdk-rsc/07-get-mutable-ai-state.mdx +70 -0
  173. package/docs/07-reference/03-ai-sdk-rsc/08-use-ai-state.mdx +26 -0
  174. package/docs/07-reference/03-ai-sdk-rsc/09-use-actions.mdx +42 -0
  175. package/docs/07-reference/03-ai-sdk-rsc/10-use-ui-state.mdx +35 -0
  176. package/docs/07-reference/03-ai-sdk-rsc/11-use-streamable-value.mdx +46 -0
  177. package/docs/07-reference/03-ai-sdk-rsc/20-render.mdx +266 -0
  178. package/docs/07-reference/03-ai-sdk-rsc/index.mdx +67 -0
  179. package/docs/07-reference/05-ai-sdk-errors/ai-api-call-error.mdx +31 -0
  180. package/docs/07-reference/05-ai-sdk-errors/ai-download-error.mdx +28 -0
  181. package/docs/07-reference/05-ai-sdk-errors/ai-empty-response-body-error.mdx +24 -0
  182. package/docs/07-reference/05-ai-sdk-errors/ai-invalid-argument-error.mdx +26 -0
  183. package/docs/07-reference/05-ai-sdk-errors/ai-invalid-data-content-error.mdx +26 -0
  184. package/docs/07-reference/05-ai-sdk-errors/ai-invalid-message-role-error.mdx +25 -0
  185. package/docs/07-reference/05-ai-sdk-errors/ai-invalid-prompt-error.mdx +47 -0
  186. package/docs/07-reference/05-ai-sdk-errors/ai-invalid-response-data-error.mdx +25 -0
  187. package/docs/07-reference/05-ai-sdk-errors/ai-invalid-tool-approval-error.mdx +24 -0
  188. package/docs/07-reference/05-ai-sdk-errors/ai-invalid-tool-input-error.mdx +27 -0
  189. package/docs/07-reference/05-ai-sdk-errors/ai-json-parse-error.mdx +25 -0
  190. package/docs/07-reference/05-ai-sdk-errors/ai-load-api-key-error.mdx +24 -0
  191. package/docs/07-reference/05-ai-sdk-errors/ai-load-setting-error.mdx +24 -0
  192. package/docs/07-reference/05-ai-sdk-errors/ai-message-conversion-error.mdx +25 -0
  193. package/docs/07-reference/05-ai-sdk-errors/ai-no-content-generated-error.mdx +24 -0
  194. package/docs/07-reference/05-ai-sdk-errors/ai-no-image-generated-error.mdx +36 -0
  195. package/docs/07-reference/05-ai-sdk-errors/ai-no-object-generated-error.mdx +43 -0
  196. package/docs/07-reference/05-ai-sdk-errors/ai-no-output-generated-error.mdx +25 -0
  197. package/docs/07-reference/05-ai-sdk-errors/ai-no-speech-generated-error.mdx +24 -0
  198. package/docs/07-reference/05-ai-sdk-errors/ai-no-such-model-error.mdx +26 -0
  199. package/docs/07-reference/05-ai-sdk-errors/ai-no-such-provider-error.mdx +28 -0
  200. package/docs/07-reference/05-ai-sdk-errors/ai-no-such-tool-error.mdx +26 -0
  201. package/docs/07-reference/05-ai-sdk-errors/ai-no-transcript-generated-error.mdx +24 -0
  202. package/docs/07-reference/05-ai-sdk-errors/ai-no-video-generated-error.mdx +39 -0
  203. package/docs/07-reference/05-ai-sdk-errors/ai-retry-error.mdx +27 -0
  204. package/docs/07-reference/05-ai-sdk-errors/ai-too-many-embedding-values-for-call-error.mdx +27 -0
  205. package/docs/07-reference/05-ai-sdk-errors/ai-tool-call-not-found-for-approval-error.mdx +25 -0
  206. package/docs/07-reference/05-ai-sdk-errors/ai-tool-call-repair-error.mdx +28 -0
  207. package/docs/07-reference/05-ai-sdk-errors/ai-type-validation-error.mdx +25 -0
  208. package/docs/07-reference/05-ai-sdk-errors/ai-ui-message-stream-error.mdx +67 -0
  209. package/docs/07-reference/05-ai-sdk-errors/ai-unsupported-functionality-error.mdx +25 -0
  210. package/docs/07-reference/05-ai-sdk-errors/index.mdx +39 -0
  211. package/docs/07-reference/index.mdx +28 -0
  212. package/docs/08-migration-guides/00-versioning.mdx +46 -0
  213. package/docs/08-migration-guides/23-migration-guide-7-0.mdx +95 -0
  214. package/docs/08-migration-guides/24-migration-guide-6-0.mdx +823 -0
  215. package/docs/08-migration-guides/25-migration-guide-5-0-data.mdx +882 -0
  216. package/docs/08-migration-guides/26-migration-guide-5-0.mdx +3427 -0
  217. package/docs/08-migration-guides/27-migration-guide-4-2.mdx +99 -0
  218. package/docs/08-migration-guides/28-migration-guide-4-1.mdx +14 -0
  219. package/docs/08-migration-guides/29-migration-guide-4-0.mdx +1157 -0
  220. package/docs/08-migration-guides/36-migration-guide-3-4.mdx +14 -0
  221. package/docs/08-migration-guides/37-migration-guide-3-3.mdx +64 -0
  222. package/docs/08-migration-guides/38-migration-guide-3-2.mdx +46 -0
  223. package/docs/08-migration-guides/39-migration-guide-3-1.mdx +168 -0
  224. package/docs/08-migration-guides/index.mdx +22 -0
  225. package/docs/09-troubleshooting/01-azure-stream-slow.mdx +33 -0
  226. package/docs/09-troubleshooting/03-server-actions-in-client-components.mdx +40 -0
  227. package/docs/09-troubleshooting/04-strange-stream-output.mdx +36 -0
  228. package/docs/09-troubleshooting/05-streamable-ui-errors.mdx +16 -0
  229. package/docs/09-troubleshooting/05-tool-invocation-missing-result.mdx +106 -0
  230. package/docs/09-troubleshooting/06-streaming-not-working-when-deployed.mdx +31 -0
  231. package/docs/09-troubleshooting/06-streaming-not-working-when-proxied.mdx +31 -0
  232. package/docs/09-troubleshooting/06-timeout-on-vercel.mdx +60 -0
  233. package/docs/09-troubleshooting/07-unclosed-streams.mdx +34 -0
  234. package/docs/09-troubleshooting/08-use-chat-failed-to-parse-stream.mdx +26 -0
  235. package/docs/09-troubleshooting/09-client-stream-error.mdx +25 -0
  236. package/docs/09-troubleshooting/10-use-chat-tools-no-response.mdx +32 -0
  237. package/docs/09-troubleshooting/11-use-chat-custom-request-options.mdx +149 -0
  238. package/docs/09-troubleshooting/12-typescript-performance-zod.mdx +46 -0
  239. package/docs/09-troubleshooting/12-use-chat-an-error-occurred.mdx +59 -0
  240. package/docs/09-troubleshooting/13-repeated-assistant-messages.mdx +73 -0
  241. package/docs/09-troubleshooting/14-stream-abort-handling.mdx +73 -0
  242. package/docs/09-troubleshooting/14-tool-calling-with-structured-outputs.mdx +48 -0
  243. package/docs/09-troubleshooting/15-abort-breaks-resumable-streams.mdx +55 -0
  244. package/docs/09-troubleshooting/15-stream-text-not-working.mdx +33 -0
  245. package/docs/09-troubleshooting/16-streaming-status-delay.mdx +63 -0
  246. package/docs/09-troubleshooting/17-use-chat-stale-body-data.mdx +141 -0
  247. package/docs/09-troubleshooting/18-ontoolcall-type-narrowing.mdx +66 -0
  248. package/docs/09-troubleshooting/19-unsupported-model-version.mdx +50 -0
  249. package/docs/09-troubleshooting/20-no-object-generated-content-filter.mdx +76 -0
  250. package/docs/09-troubleshooting/21-missing-tool-results-error.mdx +82 -0
  251. package/docs/09-troubleshooting/30-model-is-not-assignable-to-type.mdx +21 -0
  252. package/docs/09-troubleshooting/40-typescript-cannot-find-namespace-jsx.mdx +24 -0
  253. package/docs/09-troubleshooting/50-react-maximum-update-depth-exceeded.mdx +39 -0
  254. package/docs/09-troubleshooting/60-jest-cannot-find-module-ai-rsc.mdx +22 -0
  255. package/docs/09-troubleshooting/70-high-memory-usage-with-images.mdx +108 -0
  256. package/docs/09-troubleshooting/index.mdx +11 -0
  257. package/internal.d.ts +1 -0
  258. package/package.json +120 -0
  259. package/src/agent/agent.ts +156 -0
  260. package/src/agent/create-agent-ui-stream-response.ts +61 -0
  261. package/src/agent/create-agent-ui-stream.ts +84 -0
  262. package/src/agent/index.ts +37 -0
  263. package/src/agent/infer-agent-tools.ts +7 -0
  264. package/src/agent/infer-agent-ui-message.ts +11 -0
  265. package/src/agent/pipe-agent-ui-stream-to-response.ts +64 -0
  266. package/src/agent/tool-loop-agent-settings.ts +244 -0
  267. package/src/agent/tool-loop-agent.ts +205 -0
  268. package/src/embed/embed-events.ts +109 -0
  269. package/src/embed/embed-many-result.ts +53 -0
  270. package/src/embed/embed-many.ts +484 -0
  271. package/src/embed/embed-result.ts +50 -0
  272. package/src/embed/embed.ts +294 -0
  273. package/src/embed/index.ts +5 -0
  274. package/src/error/index.ts +37 -0
  275. package/src/error/invalid-argument-error.ts +34 -0
  276. package/src/error/invalid-stream-part-error.ts +28 -0
  277. package/src/error/invalid-tool-approval-error.ts +26 -0
  278. package/src/error/invalid-tool-input-error.ts +33 -0
  279. package/src/error/missing-tool-result-error.ts +28 -0
  280. package/src/error/no-image-generated-error.ts +39 -0
  281. package/src/error/no-object-generated-error.ts +70 -0
  282. package/src/error/no-output-generated-error.ts +26 -0
  283. package/src/error/no-speech-generated-error.ts +28 -0
  284. package/src/error/no-such-tool-error.ts +35 -0
  285. package/src/error/no-transcript-generated-error.ts +30 -0
  286. package/src/error/no-video-generated-error.ts +57 -0
  287. package/src/error/tool-call-not-found-for-approval-error.ts +32 -0
  288. package/src/error/tool-call-repair-error.ts +30 -0
  289. package/src/error/ui-message-stream-error.ts +48 -0
  290. package/src/error/unsupported-model-version-error.ts +23 -0
  291. package/src/error/verify-no-object-generated-error.ts +27 -0
  292. package/src/generate-image/generate-image-result.ts +42 -0
  293. package/src/generate-image/generate-image.ts +361 -0
  294. package/src/generate-image/index.ts +18 -0
  295. package/src/generate-object/generate-object-result.ts +67 -0
  296. package/src/generate-object/generate-object.ts +514 -0
  297. package/src/generate-object/index.ts +9 -0
  298. package/src/generate-object/inject-json-instruction.ts +30 -0
  299. package/src/generate-object/output-strategy.ts +415 -0
  300. package/src/generate-object/parse-and-validate-object-result.ts +111 -0
  301. package/src/generate-object/repair-text.ts +12 -0
  302. package/src/generate-object/stream-object-result.ts +120 -0
  303. package/src/generate-object/stream-object.ts +984 -0
  304. package/src/generate-object/validate-object-generation-input.ts +144 -0
  305. package/src/generate-speech/generate-speech-result.ts +30 -0
  306. package/src/generate-speech/generate-speech.ts +191 -0
  307. package/src/generate-speech/generated-audio-file.ts +65 -0
  308. package/src/generate-speech/index.ts +3 -0
  309. package/src/generate-text/collect-tool-approvals.ts +116 -0
  310. package/src/generate-text/content-part.ts +31 -0
  311. package/src/generate-text/core-events.ts +390 -0
  312. package/src/generate-text/create-execute-tools-transformation.ts +168 -0
  313. package/src/generate-text/create-stream-text-part-transform.ts +229 -0
  314. package/src/generate-text/execute-tool-call.ts +190 -0
  315. package/src/generate-text/extract-reasoning-content.ts +17 -0
  316. package/src/generate-text/extract-text-content.ts +15 -0
  317. package/src/generate-text/generate-text-result.ts +168 -0
  318. package/src/generate-text/generate-text.ts +1411 -0
  319. package/src/generate-text/generated-file.ts +70 -0
  320. package/src/generate-text/index.ts +74 -0
  321. package/src/generate-text/is-approval-needed.ts +29 -0
  322. package/src/generate-text/output-utils.ts +23 -0
  323. package/src/generate-text/output.ts +590 -0
  324. package/src/generate-text/parse-tool-call.ts +188 -0
  325. package/src/generate-text/prepare-step.ts +103 -0
  326. package/src/generate-text/prune-messages.ts +167 -0
  327. package/src/generate-text/reasoning-output.ts +99 -0
  328. package/src/generate-text/reasoning.ts +10 -0
  329. package/src/generate-text/response-message.ts +10 -0
  330. package/src/generate-text/smooth-stream.ts +162 -0
  331. package/src/generate-text/step-result.ts +310 -0
  332. package/src/generate-text/stop-condition.ts +29 -0
  333. package/src/generate-text/stream-text-result.ts +536 -0
  334. package/src/generate-text/stream-text.ts +2693 -0
  335. package/src/generate-text/to-response-messages.ts +178 -0
  336. package/src/generate-text/tool-approval-request-output.ts +21 -0
  337. package/src/generate-text/tool-call-repair-function.ts +27 -0
  338. package/src/generate-text/tool-call.ts +47 -0
  339. package/src/generate-text/tool-error.ts +34 -0
  340. package/src/generate-text/tool-output-denied.ts +21 -0
  341. package/src/generate-text/tool-output.ts +7 -0
  342. package/src/generate-text/tool-result.ts +36 -0
  343. package/src/generate-text/tool-set.ts +14 -0
  344. package/src/generate-video/generate-video-result.ts +36 -0
  345. package/src/generate-video/generate-video.ts +402 -0
  346. package/src/generate-video/index.ts +3 -0
  347. package/src/global.ts +36 -0
  348. package/src/index.ts +49 -0
  349. package/src/logger/index.ts +6 -0
  350. package/src/logger/log-warnings.ts +140 -0
  351. package/src/middleware/add-tool-input-examples-middleware.ts +90 -0
  352. package/src/middleware/default-embedding-settings-middleware.ts +22 -0
  353. package/src/middleware/default-settings-middleware.ts +33 -0
  354. package/src/middleware/extract-json-middleware.ts +197 -0
  355. package/src/middleware/extract-reasoning-middleware.ts +249 -0
  356. package/src/middleware/index.ts +10 -0
  357. package/src/middleware/simulate-streaming-middleware.ts +79 -0
  358. package/src/middleware/wrap-embedding-model.ts +89 -0
  359. package/src/middleware/wrap-image-model.ts +92 -0
  360. package/src/middleware/wrap-language-model.ts +108 -0
  361. package/src/middleware/wrap-provider.ts +51 -0
  362. package/src/model/as-embedding-model-v3.ts +24 -0
  363. package/src/model/as-embedding-model-v4.ts +25 -0
  364. package/src/model/as-image-model-v3.ts +24 -0
  365. package/src/model/as-image-model-v4.ts +21 -0
  366. package/src/model/as-language-model-v3.ts +103 -0
  367. package/src/model/as-language-model-v4.ts +25 -0
  368. package/src/model/as-provider-v3.ts +36 -0
  369. package/src/model/as-provider-v4.ts +47 -0
  370. package/src/model/as-reranking-model-v4.ts +16 -0
  371. package/src/model/as-speech-model-v3.ts +24 -0
  372. package/src/model/as-speech-model-v4.ts +21 -0
  373. package/src/model/as-transcription-model-v3.ts +24 -0
  374. package/src/model/as-transcription-model-v4.ts +25 -0
  375. package/src/model/as-video-model-v4.ts +19 -0
  376. package/src/model/resolve-model.ts +172 -0
  377. package/src/prompt/call-settings.ts +177 -0
  378. package/src/prompt/content-part.ts +236 -0
  379. package/src/prompt/convert-to-language-model-prompt.ts +548 -0
  380. package/src/prompt/create-tool-model-output.ts +34 -0
  381. package/src/prompt/data-content.ts +134 -0
  382. package/src/prompt/index.ts +27 -0
  383. package/src/prompt/invalid-data-content-error.ts +29 -0
  384. package/src/prompt/invalid-message-role-error.ts +27 -0
  385. package/src/prompt/message-conversion-error.ts +28 -0
  386. package/src/prompt/message.ts +72 -0
  387. package/src/prompt/prepare-call-settings.ts +110 -0
  388. package/src/prompt/prepare-tools-and-tool-choice.ts +86 -0
  389. package/src/prompt/prompt.ts +43 -0
  390. package/src/prompt/split-data-url.ts +17 -0
  391. package/src/prompt/standardize-prompt.ts +99 -0
  392. package/src/prompt/wrap-gateway-error.ts +29 -0
  393. package/src/registry/custom-provider.ts +210 -0
  394. package/src/registry/index.ts +7 -0
  395. package/src/registry/no-such-provider-error.ts +41 -0
  396. package/src/registry/provider-registry.ts +331 -0
  397. package/src/rerank/index.ts +2 -0
  398. package/src/rerank/rerank-result.ts +70 -0
  399. package/src/rerank/rerank.ts +239 -0
  400. package/src/telemetry/assemble-operation-name.ts +21 -0
  401. package/src/telemetry/get-base-telemetry-attributes.ts +55 -0
  402. package/src/telemetry/get-global-telemetry-integration.ts +110 -0
  403. package/src/telemetry/get-tracer.ts +20 -0
  404. package/src/telemetry/index.ts +4 -0
  405. package/src/telemetry/noop-tracer.ts +69 -0
  406. package/src/telemetry/open-telemetry-integration.ts +537 -0
  407. package/src/telemetry/record-span.ts +75 -0
  408. package/src/telemetry/select-telemetry-attributes.ts +78 -0
  409. package/src/telemetry/stringify-for-telemetry.ts +33 -0
  410. package/src/telemetry/telemetry-integration-registry.ts +22 -0
  411. package/src/telemetry/telemetry-integration.ts +100 -0
  412. package/src/telemetry/telemetry-settings.ts +55 -0
  413. package/src/test/mock-embedding-model-v2.ts +35 -0
  414. package/src/test/mock-embedding-model-v3.ts +48 -0
  415. package/src/test/mock-embedding-model-v4.ts +48 -0
  416. package/src/test/mock-image-model-v2.ts +28 -0
  417. package/src/test/mock-image-model-v3.ts +28 -0
  418. package/src/test/mock-image-model-v4.ts +28 -0
  419. package/src/test/mock-language-model-v2.ts +72 -0
  420. package/src/test/mock-language-model-v3.ts +77 -0
  421. package/src/test/mock-language-model-v4.ts +77 -0
  422. package/src/test/mock-provider-v2.ts +68 -0
  423. package/src/test/mock-provider-v3.ts +80 -0
  424. package/src/test/mock-provider-v4.ts +80 -0
  425. package/src/test/mock-reranking-model-v3.ts +25 -0
  426. package/src/test/mock-reranking-model-v4.ts +25 -0
  427. package/src/test/mock-server-response.ts +69 -0
  428. package/src/test/mock-speech-model-v2.ts +24 -0
  429. package/src/test/mock-speech-model-v3.ts +24 -0
  430. package/src/test/mock-speech-model-v4.ts +24 -0
  431. package/src/test/mock-tracer.ts +156 -0
  432. package/src/test/mock-transcription-model-v2.ts +24 -0
  433. package/src/test/mock-transcription-model-v3.ts +24 -0
  434. package/src/test/mock-transcription-model-v4.ts +24 -0
  435. package/src/test/mock-values.ts +4 -0
  436. package/src/test/mock-video-model-v3.ts +28 -0
  437. package/src/test/mock-video-model-v4.ts +28 -0
  438. package/src/test/not-implemented.ts +3 -0
  439. package/src/text-stream/create-text-stream-response.ts +30 -0
  440. package/src/text-stream/index.ts +2 -0
  441. package/src/text-stream/pipe-text-stream-to-response.ts +38 -0
  442. package/src/transcribe/index.ts +2 -0
  443. package/src/transcribe/transcribe-result.ts +60 -0
  444. package/src/transcribe/transcribe.ts +187 -0
  445. package/src/types/embedding-model-middleware.ts +15 -0
  446. package/src/types/embedding-model.ts +20 -0
  447. package/src/types/image-model-middleware.ts +15 -0
  448. package/src/types/image-model-response-metadata.ts +16 -0
  449. package/src/types/image-model.ts +19 -0
  450. package/src/types/index.ts +29 -0
  451. package/src/types/json-value.ts +15 -0
  452. package/src/types/language-model-middleware.ts +15 -0
  453. package/src/types/language-model-request-metadata.ts +6 -0
  454. package/src/types/language-model-response-metadata.ts +21 -0
  455. package/src/types/language-model.ts +106 -0
  456. package/src/types/provider-metadata.ts +16 -0
  457. package/src/types/provider.ts +55 -0
  458. package/src/types/reranking-model.ts +6 -0
  459. package/src/types/speech-model-response-metadata.ts +21 -0
  460. package/src/types/speech-model.ts +10 -0
  461. package/src/types/transcription-model-response-metadata.ts +16 -0
  462. package/src/types/transcription-model.ts +14 -0
  463. package/src/types/usage.ts +200 -0
  464. package/src/types/video-model-response-metadata.ts +28 -0
  465. package/src/types/video-model.ts +15 -0
  466. package/src/types/warning.ts +7 -0
  467. package/src/ui/call-completion-api.ts +157 -0
  468. package/src/ui/chat-transport.ts +83 -0
  469. package/src/ui/chat.ts +786 -0
  470. package/src/ui/convert-file-list-to-file-ui-parts.ts +36 -0
  471. package/src/ui/convert-to-model-messages.ts +403 -0
  472. package/src/ui/default-chat-transport.ts +36 -0
  473. package/src/ui/direct-chat-transport.ts +117 -0
  474. package/src/ui/http-chat-transport.ts +273 -0
  475. package/src/ui/index.ts +76 -0
  476. package/src/ui/last-assistant-message-is-complete-with-approval-responses.ts +44 -0
  477. package/src/ui/last-assistant-message-is-complete-with-tool-calls.ts +39 -0
  478. package/src/ui/process-text-stream.ts +16 -0
  479. package/src/ui/process-ui-message-stream.ts +858 -0
  480. package/src/ui/text-stream-chat-transport.ts +23 -0
  481. package/src/ui/transform-text-to-ui-message-stream.ts +27 -0
  482. package/src/ui/ui-messages.ts +602 -0
  483. package/src/ui/use-completion.ts +84 -0
  484. package/src/ui/validate-ui-messages.ts +521 -0
  485. package/src/ui-message-stream/create-ui-message-stream-response.ts +44 -0
  486. package/src/ui-message-stream/create-ui-message-stream.ts +145 -0
  487. package/src/ui-message-stream/get-response-ui-message-id.ts +35 -0
  488. package/src/ui-message-stream/handle-ui-message-stream-finish.ts +170 -0
  489. package/src/ui-message-stream/index.ts +14 -0
  490. package/src/ui-message-stream/json-to-sse-transform-stream.ts +17 -0
  491. package/src/ui-message-stream/pipe-ui-message-stream-to-response.ts +51 -0
  492. package/src/ui-message-stream/read-ui-message-stream.ts +87 -0
  493. package/src/ui-message-stream/ui-message-chunks.ts +372 -0
  494. package/src/ui-message-stream/ui-message-stream-headers.ts +7 -0
  495. package/src/ui-message-stream/ui-message-stream-on-finish-callback.ts +32 -0
  496. package/src/ui-message-stream/ui-message-stream-on-step-finish-callback.ts +25 -0
  497. package/src/ui-message-stream/ui-message-stream-response-init.ts +14 -0
  498. package/src/ui-message-stream/ui-message-stream-writer.ts +24 -0
  499. package/src/util/as-array.ts +3 -0
  500. package/src/util/async-iterable-stream.ts +94 -0
  501. package/src/util/consume-stream.ts +31 -0
  502. package/src/util/cosine-similarity.ts +46 -0
  503. package/src/util/create-resolvable-promise.ts +30 -0
  504. package/src/util/create-stitchable-stream.ts +112 -0
  505. package/src/util/data-url.ts +17 -0
  506. package/src/util/deep-partial.ts +84 -0
  507. package/src/util/detect-media-type.ts +226 -0
  508. package/src/util/download/create-download.ts +13 -0
  509. package/src/util/download/download-function.ts +45 -0
  510. package/src/util/download/download.ts +74 -0
  511. package/src/util/error-handler.ts +1 -0
  512. package/src/util/fix-json.ts +401 -0
  513. package/src/util/get-potential-start-index.ts +39 -0
  514. package/src/util/index.ts +12 -0
  515. package/src/util/is-deep-equal-data.ts +48 -0
  516. package/src/util/is-non-empty-object.ts +5 -0
  517. package/src/util/job.ts +1 -0
  518. package/src/util/log-v2-compatibility-warning.ts +21 -0
  519. package/src/util/merge-abort-signals.ts +43 -0
  520. package/src/util/merge-objects.ts +79 -0
  521. package/src/util/notify.ts +22 -0
  522. package/src/util/now.ts +4 -0
  523. package/src/util/parse-partial-json.ts +30 -0
  524. package/src/util/prepare-headers.ts +14 -0
  525. package/src/util/prepare-retries.ts +47 -0
  526. package/src/util/retry-error.ts +41 -0
  527. package/src/util/retry-with-exponential-backoff.ts +154 -0
  528. package/src/util/serial-job-executor.ts +36 -0
  529. package/src/util/simulate-readable-stream.ts +39 -0
  530. package/src/util/split-array.ts +20 -0
  531. package/src/util/value-of.ts +65 -0
  532. package/src/util/write-to-server-response.ts +49 -0
  533. package/src/version.ts +5 -0
  534. 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
+ ```