UNPKG

@ai-sdk/provider

Version:
659 lines (399 loc) 16.3 kB
# @ai-sdk/provider ## 2.0.0 ### Major Changes - 742b7be: feat: forward id, streaming start, streaming end of content blocks - 7cddb72: refactoring (provider): collapse provider defined tools into single definition - ccce59b: feat (provider): support changing provider, model, supportedUrls in middleware - e2b9e4b: feat (provider): add name for provider defined tools for future validation - 95857aa: chore: restructure language model supported urls - 6f6bb89: chore (provider): cleanup request and rawRequest (language model v2) - d1a1aa1: chore (provider): merge rawRequest into request (language model v2) - 63f9e9b: chore (provider,ai): tools have input/output instead of args,result - d5f588f: AI SDK 5 - b6b43c7: chore: move warnings into stream-start part (spec) - 411e483: chore (provider): refactor usage (language model v2) - abf9a79: chore: rename mimeType to mediaType - 14c9410: chore: refactor file towards source pattern (spec) - e86be6f: chore: remove logprobs - 0d06df6: chore (ai): remove v1 providers - d9c98f4: chore: refactor reasoning parts (spec) - a3f768e: chore: restructure reasoning support - 7435eb5: feat: upgrade speech models to v2 specification - 0054544: chore: refactor source parts (spec) - 9e9c809: chore: refactor tool call and tool call delta parts (spec) - 32831c6: chore: refactor text parts (spec) - 6dc848c: chore (provider): remove image parts - d0f9495: chore: refactor file parts (spec) - 7979f7f: feat (provider): support reasoning tokens, cached input tokens, total token in usage information - 44f4aba: feat: upgrade transcription models to v2 specification - 7ea4132: chore: remove object generation mode - 023ba40: feat (provider): support arbitrary media types in tool results - e030615: chore (provider): remove prompt type from language model v2 spec - 5e57fae: refactoring (provider): restructure tool result output - c57e248: chore (provider): remove mode - 3795467: chore: return content array from doGenerate (spec) - 1766ede: chore: rename maxTokens to maxOutputTokens - 33f4a6a: chore (provider): rename providerMetadata inputs to providerOptions ### Patch Changes - dc714f3: release alpha.4 - b5da06a: update to LanguageModelV2ProviderDefinedClientTool to add server side tool later on - 48d257a: release alpha.15 - 0d2c085: chore (provider): tweak provider definition - 9222aeb: release alpha.8 - e2aceaf: feat: add raw chunk support - 7b3ae3f: chore (provider): change getSupportedUrls to supportedUrls (language model v2) - a166433: feat: add transcription with experimental_transcribe - 26735b5: chore(embedding-model): add v2 interface - 443d8ec: feat(embedding-model-v2): add response body field - a8c8bd5: feat(embed-many): respect supportsParallelCalls & concurrency - 9bf7291: chore(providers/openai): enable structuredOutputs by default & switch to provider option - 2e13791: feat(anthropic): add server-side web search support - 472524a: spec (ai): add provider options to tools - dd3ff01: chore: add language setting to speechv2 - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2` - 0a87932: core (ai): change transcription model mimeType to mediaType - c4a2fec: chore (provider): extract shared provider options and metadata (spec) - 79457bd: chore (provider): extract LanguageModelV2File - 8aa9e20: feat: add speech with experimental_generateSpeech - 4617fab: chore(embedding-models): remove remaining settings - cb68df0: feat: add transcription and speech model support to provider registry - ad80501: chore (provider): allow both binary and base64 file content (spec) Before ```ts import { convertUint8ArrayToBase64 } from '@ai-sdk/provider-utils'; // Had to manually convert binary data to base64 const fileData = new Uint8Array([0, 1, 2, 3]); const filePart = { type: 'file', mediaType: 'application/pdf', data: convertUint8ArrayToBase64(fileData), // Required conversion }; ``` After ```ts // Can use binary data directly const fileData = new Uint8Array([0, 1, 2, 3]); const filePart = { type: 'file', mediaType: 'application/pdf', data: fileData, // Direct Uint8Array support }; ``` - 68ecf2f: release alpha.13 - 6b98118: release alpha.3 - 3f2f00c: feat: `ImageModelV2#maxImagesPerCall` can be set to a function that returns a `number` or `undefined`, optionally as a promise pull request: https://github.com/vercel/ai/pull/6343 - 9bd5ab5: feat (provider): add providerMetadata to ImageModelV2 interface (#5977) The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models. ```js const prompt = 'Santa Claus driving a Cadillac'; const { providerMetadata } = await experimental_generateImage({ model: openai.image('dall-e-3'), prompt, }); const revisedPrompt = providerMetadata.openai.images[0]?.revisedPrompt; console.log({ prompt, revisedPrompt, }); ``` - 5c56081: release alpha.7 - fd65bc6: chore(embedding-model-v2): rename rawResponse to response - 26535e0: release alpha.2 - 393138b: feat(embedding-model-v2): add providerOptions - 7182d14: Remove `Experimental_LanguageModelV2Middleware` type - c1e6647: release alpha.11 - 811dff3: release alpha.9 - f10304b: feat(tool-calling): don't require the user to have to pass parameters - 27deb4d: feat (provider/gateway): Add providerMetadata to embeddings response - c4df419: release alpha.10 ## 2.0.0-beta.2 ### Patch Changes - 27deb4d: feat (provider/gateway): Add providerMetadata to embeddings response ## 2.0.0-beta.1 ### Major Changes - 742b7be: feat: forward id, streaming start, streaming end of content blocks - 7cddb72: refactoring (provider): collapse provider defined tools into single definition - ccce59b: feat (provider): support changing provider, model, supportedUrls in middleware - e2b9e4b: feat (provider): add name for provider defined tools for future validation - 0d06df6: chore (ai): remove v1 providers - 7435eb5: feat: upgrade speech models to v2 specification - 44f4aba: feat: upgrade transcription models to v2 specification - 023ba40: feat (provider): support arbitrary media types in tool results - 5e57fae: refactoring (provider): restructure tool result output ### Patch Changes - 472524a: spec (ai): add provider options to tools - dd3ff01: chore: add language setting to speechv2 - cb68df0: feat: add transcription and speech model support to provider registry ## 2.0.0-alpha.15 ### Patch Changes - 48d257a: release alpha.15 ## 2.0.0-alpha.14 ### Major Changes - 63f9e9b: chore (provider,ai): tools have input/output instead of args,result ### Patch Changes - b5da06a: update to LanguageModelV2ProviderDefinedClientTool to add server side tool later on - 2e13791: feat(anthropic): add server-side web search support ## 2.0.0-alpha.13 ### Patch Changes - 68ecf2f: release alpha.13 ## 2.0.0-alpha.12 ### Patch Changes - e2aceaf: feat: add raw chunk support ## 2.0.0-alpha.11 ### Patch Changes - c1e6647: release alpha.11 ## 2.0.0-alpha.10 ### Patch Changes - c4df419: release alpha.10 ## 2.0.0-alpha.9 ### Patch Changes - 811dff3: release alpha.9 ## 2.0.0-alpha.8 ### Patch Changes - 9222aeb: release alpha.8 ## 2.0.0-alpha.7 ### Patch Changes - 5c56081: release alpha.7 ## 2.0.0-alpha.6 ### Patch Changes - 0d2c085: chore (provider): tweak provider definition ## 2.0.0-alpha.4 ### Patch Changes - dc714f3: release alpha.4 ## 2.0.0-alpha.3 ### Patch Changes - 6b98118: release alpha.3 ## 2.0.0-alpha.2 ### Patch Changes - 26535e0: release alpha.2 ## 2.0.0-alpha.1 ### Patch Changes - 3f2f00c: feat: `ImageModelV2#maxImagesPerCall` can be set to a function that returns a `number` or `undefined`, optionally as a promise pull request: https://github.com/vercel/ai/pull/6343 ## 2.0.0-canary.14 ### Major Changes - 7979f7f: feat (provider): support reasoning tokens, cached input tokens, total token in usage information ### Patch Changes - a8c8bd5: feat(embed-many): respect supportsParallelCalls & concurrency ## 2.0.0-canary.13 ### Patch Changes - 9bd5ab5: feat (provider): add providerMetadata to ImageModelV2 interface (#5977) The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models. ```js const prompt = 'Santa Claus driving a Cadillac'; const { providerMetadata } = await experimental_generateImage({ model: openai.image('dall-e-3'), prompt, }); const revisedPrompt = providerMetadata.openai.images[0]?.revisedPrompt; console.log({ prompt, revisedPrompt, }); ``` ## 2.0.0-canary.12 ### Patch Changes - 7b3ae3f: chore (provider): change getSupportedUrls to supportedUrls (language model v2) ## 2.0.0-canary.11 ### Major Changes - e030615: chore (provider): remove prompt type from language model v2 spec ### Patch Changes - 9bf7291: chore(providers/openai): enable structuredOutputs by default & switch to provider option - 4617fab: chore(embedding-models): remove remaining settings ## 2.0.0-canary.10 ### Major Changes - a3f768e: chore: restructure reasoning support ### Patch Changes - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2` ## 2.0.0-canary.9 ### Major Changes - e86be6f: chore: remove logprobs ## 2.0.0-canary.8 ### Major Changes - 95857aa: chore: restructure language model supported urls - 7ea4132: chore: remove object generation mode ## 2.0.0-canary.7 ### Major Changes - b6b43c7: chore: move warnings into stream-start part (spec) - 3795467: chore: return content array from doGenerate (spec) ### Patch Changes - 8aa9e20: feat: add speech with experimental_generateSpeech ## 2.0.0-canary.6 ### Major Changes - 14c9410: chore: refactor file towards source pattern (spec) - d9c98f4: chore: refactor reasoning parts (spec) - 0054544: chore: refactor source parts (spec) - 9e9c809: chore: refactor tool call and tool call delta parts (spec) - 32831c6: chore: refactor text parts (spec) - d0f9495: chore: refactor file parts (spec) ### Patch Changes - 26735b5: chore(embedding-model): add v2 interface - 443d8ec: feat(embedding-model-v2): add response body field - c4a2fec: chore (provider): extract shared provider options and metadata (spec) - fd65bc6: chore(embedding-model-v2): rename rawResponse to response - 393138b: feat(embedding-model-v2): add providerOptions - 7182d14: Remove `Experimental_LanguageModelV2Middleware` type ## 2.0.0-canary.5 ### Major Changes - 411e483: chore (provider): refactor usage (language model v2) - ad80501: chore (provider): allow both binary and base64 file content (spec) - 1766ede: chore: rename maxTokens to maxOutputTokens ### Patch Changes - 79457bd: chore (provider): extract LanguageModelV2File - f10304b: feat(tool-calling): don't require the user to have to pass parameters ## 2.0.0-canary.4 ### Major Changes - 6f6bb89: chore (provider): cleanup request and rawRequest (language model v2) ## 2.0.0-canary.3 ### Major Changes - d1a1aa1: chore (provider): merge rawRequest into request (language model v2) ## 2.0.0-canary.2 ### Major Changes - abf9a79: chore: rename mimeType to mediaType - 6dc848c: chore (provider): remove image parts ### Patch Changes - a166433: feat: add transcription with experimental_transcribe - 0a87932: core (ai): change transcription model mimeType to mediaType ## 2.0.0-canary.1 ### Major Changes - c57e248: chore (provider): remove mode - 33f4a6a: chore (provider): rename providerMetadata inputs to providerOptions ## 2.0.0-canary.0 ### Major Changes - d5f588f: AI SDK 5 ## 1.1.0 ### Minor Changes - 5bc638d: AI SDK 4.2 ## 1.0.12 ### Patch Changes - 0bd5bc6: feat (ai): support model-generated files ## 1.0.11 ### Patch Changes - 2e1101a: feat (provider/openai): pdf input support ## 1.0.10 ### Patch Changes - e1d3d42: feat (ai): expose raw response body in generateText and generateObject ## 1.0.9 ### Patch Changes - ddf9740: feat (ai): add anthropic reasoning ## 1.0.8 ### Patch Changes - 2761f06: fix (ai/provider): publish with LanguageModelV1Source ## 1.0.7 ### Patch Changes - d89c3b9: feat (provider): add image model support to provider specification ## 1.0.6 ### Patch Changes - 3a58a2e: feat (ai/core): throw NoImageGeneratedError from generateImage when no predictions are returned. ## 1.0.5 ### Patch Changes - 0a699f1: feat: add reasoning token support ## 1.0.4 ### Patch Changes - 19a2ce7: feat (provider): add message option to UnsupportedFunctionalityError - 6337688: feat: change image generation errors to warnings ## 1.0.3 ### Patch Changes - 5ed5e45: chore (config): Use ts-library.json tsconfig for no-UI libs. ## 1.0.2 ### Patch Changes - 09a9cab: feat (ai/core): add experimental generateImage function ## 1.0.1 ### Patch Changes - b446ae5: feat (provider): Define type for ObjectGenerationMode. ## 1.0.0 ### Major Changes - b469a7e: chore: remove isXXXError methods - c0ddc24: chore (ai): remove toJSON method from AI SDK errors ## 1.0.0-canary.0 ### Major Changes - b469a7e: chore: remove isXXXError methods - c0ddc24: chore (ai): remove toJSON method from AI SDK errors ## 0.0.26 ### Patch Changes - aa98cdb: chore: more flexible dependency versioning - 1486128: feat: add supportsUrl to language model specification - 7b937c5: feat (provider-utils): improve id generator robustness - 3b1b69a: feat: provider-defined tools - 811a317: feat (ai/core): multi-part tool results (incl. images) ## 0.0.25 ### Patch Changes - b9b0d7b: feat (ai): access raw request body ## 0.0.24 ### Patch Changes - d595d0d: feat (ai/core): file content parts ## 0.0.23 ### Patch Changes - 03313cd: feat (ai): expose response id, response model, response timestamp in telemetry and api - 3be7c1c: fix (provider/anthropic): support prompt caching on assistant messages ## 0.0.22 ### Patch Changes - 26515cb: feat (ai/provider): introduce ProviderV1 specification ## 0.0.21 ### Patch Changes - f2c025e: feat (ai/core): prompt validation ## 0.0.20 ### Patch Changes - 6ac355e: feat (provider/anthropic): add cache control support ## 0.0.19 ### Patch Changes - dd4a0f5: fix (ai/provider): remove invalid check in isJSONParseError ## 0.0.18 ### Patch Changes - 4bd27a9: chore (ai/provider): refactor type validation ## 0.0.17 ### Patch Changes - 029af4c: feat (ai/core): support schema name & description in generateObject & streamObject ## 0.0.16 ### Patch Changes - d58517b: feat (ai/openai): structured outputs ## 0.0.15 ### Patch Changes - 96aed25: fix (ai/provider): release new version ## 0.0.14 ### Patch Changes - a8d1c9e9: feat (ai/core): parallel image download ## 0.0.13 ### Patch Changes - 2b9da0f0: feat (core): support stopSequences setting. - a5b58845: feat (core): support topK setting - 4aa8deb3: feat (provider): support responseFormat setting in provider api - 13b27ec6: chore (ai/core): remove grammar mode ## 0.0.12 ### Patch Changes - b7290943: feat (ai/core): add token usage to embed and embedMany ## 0.0.11 ### Patch Changes - 5edc6110: feat (provider): add headers support to language and embedding model spec ## 0.0.10 ### Patch Changes - 102ca22f: fix (@ai-sdk/provider): fix TypeValidationError.isTypeValidationError ## 0.0.9 ### Patch Changes - 09295e2e: feat (@ai-sdk/provider): add DownloadError ## 0.0.8 ### Patch Changes - f39c0dd2: feat (provider): add toolChoice to language model specification ## 0.0.7 ### Patch Changes - 8e780288: feat (ai/provider): add "unknown" finish reason (for models that don't provide a finish reason) ## 0.0.6 ### Patch Changes - 6a50ac4: feat (provider): add additional error types ## 0.0.5 ### Patch Changes - 0f6bc4e: feat (ai/core): add embed function ## 0.0.4 ### Patch Changes - 325ca55: feat (ai/core): improve image content part error message ## 0.0.3 ### Patch Changes - 41d5736: ai/core: re-expose language model types. ## 0.0.2 ### Patch Changes - d6431ae: ai/core: add logprobs support (thanks @SamStenner for the contribution) - 25f3350: ai/core: add support for getting raw response headers. ## 0.0.1 ### Patch Changes - eb150a6: ai/core: remove scaling of setting values (breaking change). If you were using the temperature, frequency penalty, or presence penalty settings, you need to update the providers and adjust the setting values.