ai 6.0.0-beta.103 → 6.0.0-beta.105

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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # ai
2
2
 
3
+ ## 6.0.0-beta.105
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [bca7e61]
8
+ - @ai-sdk/gateway@2.0.0-beta.57
9
+
10
+ ## 6.0.0-beta.104
11
+
12
+ ### Patch Changes
13
+
14
+ - 2d166e4: feat(provider/gateway): add support for image models
15
+ - Updated dependencies [2d166e4]
16
+ - @ai-sdk/gateway@2.0.0-beta.56
17
+
3
18
  ## 6.0.0-beta.103
4
19
 
5
20
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -3,7 +3,7 @@ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { Tool, InferToolInput, InferToolOutput, FlexibleSchema, InferSchema, AssistantModelMessage, ToolModelMessage, ReasoningPart, ModelMessage, SystemModelMessage, UserModelMessage, ProviderOptions, IdGenerator, ToolCall, MaybePromiseLike, TextPart, FilePart, Resolvable, FetchFunction, DataContent } from '@ai-sdk/provider-utils';
4
4
  export { AssistantContent, AssistantModelMessage, DataContent, FilePart, FlexibleSchema, IdGenerator, ImagePart, InferSchema, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolApprovalRequest, ToolApprovalResponse, ToolCallOptions, ToolCallPart, ToolContent, ToolExecuteFunction, ToolModelMessage, ToolResultPart, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
5
5
  import * as _ai_sdk_provider from '@ai-sdk/provider';
6
- import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV3CallWarning, ImageModelV3ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, LanguageModelV3FinishReason, LanguageModelV3CallWarning, LanguageModelV3Source, LanguageModelV3Middleware, EmbeddingModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, ImageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, EmbeddingModelCallOptions, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
6
+ import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV2, ImageModelV3CallWarning, ImageModelV2CallWarning, ImageModelV3ProviderMetadata, ImageModelV2ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, LanguageModelV3FinishReason, LanguageModelV3CallWarning, LanguageModelV3Source, LanguageModelV3Middleware, EmbeddingModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, ImageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, EmbeddingModelCallOptions, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
7
7
  export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
8
8
  import { ServerResponse } from 'node:http';
9
9
  import { AttributeValue, Tracer } from '@opentelemetry/api';
@@ -22,16 +22,16 @@ type Embedding = EmbeddingModelV3Embedding;
22
22
  /**
23
23
  Image model that is used by the AI SDK Core functions.
24
24
  */
25
- type ImageModel = ImageModelV3;
25
+ type ImageModel = string | ImageModelV3 | ImageModelV2;
26
26
  /**
27
27
  Warning from the model provider for this call. The call will proceed, but e.g.
28
28
  some settings might not be supported, which can lead to suboptimal results.
29
29
  */
30
- type ImageGenerationWarning = ImageModelV3CallWarning;
30
+ type ImageGenerationWarning = ImageModelV3CallWarning | ImageModelV2CallWarning;
31
31
  /**
32
32
  Metadata from the model provider for this call
33
33
  */
34
- type ImageModelProviderMetadata = ImageModelV3ProviderMetadata;
34
+ type ImageModelProviderMetadata = ImageModelV3ProviderMetadata | ImageModelV2ProviderMetadata;
35
35
 
36
36
  type ImageModelResponseMetadata = {
37
37
  /**
@@ -3951,11 +3951,11 @@ as body parameters.
3951
3951
 
3952
3952
  @returns A result object that contains the generated images.
3953
3953
  */
3954
- declare function generateImage({ model, prompt, n, maxImagesPerCall, size, aspectRatio, seed, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
3954
+ declare function generateImage({ model: modelArg, prompt, n, maxImagesPerCall, size, aspectRatio, seed, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
3955
3955
  /**
3956
3956
  The image model to use.
3957
3957
  */
3958
- model: ImageModelV3;
3958
+ model: ImageModel;
3959
3959
  /**
3960
3960
  The prompt that should be used to generate the image.
3961
3961
  */
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { Tool, InferToolInput, InferToolOutput, FlexibleSchema, InferSchema, AssistantModelMessage, ToolModelMessage, ReasoningPart, ModelMessage, SystemModelMessage, UserModelMessage, ProviderOptions, IdGenerator, ToolCall, MaybePromiseLike, TextPart, FilePart, Resolvable, FetchFunction, DataContent } from '@ai-sdk/provider-utils';
4
4
  export { AssistantContent, AssistantModelMessage, DataContent, FilePart, FlexibleSchema, IdGenerator, ImagePart, InferSchema, InferToolInput, InferToolOutput, ModelMessage, Schema, SystemModelMessage, TextPart, Tool, ToolApprovalRequest, ToolApprovalResponse, ToolCallOptions, ToolCallPart, ToolContent, ToolExecuteFunction, ToolModelMessage, ToolResultPart, UserContent, UserModelMessage, asSchema, createIdGenerator, dynamicTool, generateId, jsonSchema, parseJsonEventStream, tool, zodSchema } from '@ai-sdk/provider-utils';
5
5
  import * as _ai_sdk_provider from '@ai-sdk/provider';
6
- import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV3CallWarning, ImageModelV3ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, LanguageModelV3FinishReason, LanguageModelV3CallWarning, LanguageModelV3Source, LanguageModelV3Middleware, EmbeddingModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, ImageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, EmbeddingModelCallOptions, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
6
+ import { EmbeddingModelV3, EmbeddingModelV2, EmbeddingModelV3Embedding, ImageModelV3, ImageModelV2, ImageModelV3CallWarning, ImageModelV2CallWarning, ImageModelV3ProviderMetadata, ImageModelV2ProviderMetadata, JSONValue as JSONValue$1, LanguageModelV3, LanguageModelV2, LanguageModelV3FinishReason, LanguageModelV3CallWarning, LanguageModelV3Source, LanguageModelV3Middleware, EmbeddingModelV3Middleware, RerankingModelV3, SharedV3ProviderMetadata, SpeechModelV3, SpeechModelV2, SpeechModelV3CallWarning, TranscriptionModelV3, TranscriptionModelV2, TranscriptionModelV3CallWarning, LanguageModelV3Usage, ImageModelV3Usage, LanguageModelV3CallOptions, AISDKError, LanguageModelV3ToolCall, JSONSchema7, JSONParseError, TypeValidationError, JSONObject, SharedV3Warning, EmbeddingModelCallOptions, ProviderV3, ProviderV2, NoSuchModelError } from '@ai-sdk/provider';
7
7
  export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, JSONSchema7, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, TooManyEmbeddingValuesForCallError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
8
8
  import { ServerResponse } from 'node:http';
9
9
  import { AttributeValue, Tracer } from '@opentelemetry/api';
@@ -22,16 +22,16 @@ type Embedding = EmbeddingModelV3Embedding;
22
22
  /**
23
23
  Image model that is used by the AI SDK Core functions.
24
24
  */
25
- type ImageModel = ImageModelV3;
25
+ type ImageModel = string | ImageModelV3 | ImageModelV2;
26
26
  /**
27
27
  Warning from the model provider for this call. The call will proceed, but e.g.
28
28
  some settings might not be supported, which can lead to suboptimal results.
29
29
  */
30
- type ImageGenerationWarning = ImageModelV3CallWarning;
30
+ type ImageGenerationWarning = ImageModelV3CallWarning | ImageModelV2CallWarning;
31
31
  /**
32
32
  Metadata from the model provider for this call
33
33
  */
34
- type ImageModelProviderMetadata = ImageModelV3ProviderMetadata;
34
+ type ImageModelProviderMetadata = ImageModelV3ProviderMetadata | ImageModelV2ProviderMetadata;
35
35
 
36
36
  type ImageModelResponseMetadata = {
37
37
  /**
@@ -3951,11 +3951,11 @@ as body parameters.
3951
3951
 
3952
3952
  @returns A result object that contains the generated images.
3953
3953
  */
3954
- declare function generateImage({ model, prompt, n, maxImagesPerCall, size, aspectRatio, seed, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
3954
+ declare function generateImage({ model: modelArg, prompt, n, maxImagesPerCall, size, aspectRatio, seed, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
3955
3955
  /**
3956
3956
  The image model to use.
3957
3957
  */
3958
- model: ImageModelV3;
3958
+ model: ImageModel;
3959
3959
  /**
3960
3960
  The prompt that should be used to generate the image.
3961
3961
  */
package/dist/index.js CHANGED
@@ -558,6 +558,20 @@ function asEmbeddingModelV3(model) {
558
558
  });
559
559
  }
560
560
 
561
+ // src/model/as-image-model-v3.ts
562
+ function asImageModelV3(model) {
563
+ if (model.specificationVersion === "v3") {
564
+ return model;
565
+ }
566
+ return new Proxy(model, {
567
+ get(target, prop) {
568
+ if (prop === "specificationVersion")
569
+ return "v3";
570
+ return target[prop];
571
+ }
572
+ });
573
+ }
574
+
561
575
  // src/model/as-language-model-v3.ts
562
576
  function asLanguageModelV3(model) {
563
577
  if (model.specificationVersion === "v3") {
@@ -661,6 +675,20 @@ function resolveSpeechModel(model) {
661
675
  }
662
676
  return (_b = (_a15 = getGlobalProvider()).speechModel) == null ? void 0 : _b.call(_a15, model);
663
677
  }
678
+ function resolveImageModel(model) {
679
+ if (typeof model !== "string") {
680
+ if (model.specificationVersion !== "v3" && model.specificationVersion !== "v2") {
681
+ const unsupportedModel = model;
682
+ throw new UnsupportedModelVersionError({
683
+ version: unsupportedModel.specificationVersion,
684
+ provider: unsupportedModel.provider,
685
+ modelId: unsupportedModel.modelId
686
+ });
687
+ }
688
+ return asImageModelV3(model);
689
+ }
690
+ return getGlobalProvider().imageModel(model);
691
+ }
664
692
  function getGlobalProvider() {
665
693
  var _a15;
666
694
  return (_a15 = globalThis.AI_SDK_DEFAULT_PROVIDER) != null ? _a15 : import_gateway.gateway;
@@ -858,7 +886,7 @@ function detectMediaType({
858
886
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
859
887
 
860
888
  // src/version.ts
861
- var VERSION = true ? "6.0.0-beta.103" : "0.0.0-test";
889
+ var VERSION = true ? "6.0.0-beta.105" : "0.0.0-test";
862
890
 
863
891
  // src/util/download/download.ts
864
892
  var download = async ({ url }) => {
@@ -7893,7 +7921,7 @@ var DefaultEmbedManyResult = class {
7893
7921
  // src/generate-image/generate-image.ts
7894
7922
  var import_provider_utils23 = require("@ai-sdk/provider-utils");
7895
7923
  async function generateImage({
7896
- model,
7924
+ model: modelArg,
7897
7925
  prompt,
7898
7926
  n = 1,
7899
7927
  maxImagesPerCall,
@@ -7906,13 +7934,7 @@ async function generateImage({
7906
7934
  headers
7907
7935
  }) {
7908
7936
  var _a15, _b;
7909
- if (model.specificationVersion !== "v3") {
7910
- throw new UnsupportedModelVersionError({
7911
- version: model.specificationVersion,
7912
- provider: model.provider,
7913
- modelId: model.modelId
7914
- });
7915
- }
7937
+ const model = resolveImageModel(modelArg);
7916
7938
  const headersWithUserAgent = (0, import_provider_utils23.withUserAgentSuffix)(
7917
7939
  headers != null ? headers : {},
7918
7940
  `ai/${VERSION}`
@@ -7976,10 +7998,26 @@ async function generateImage({
7976
7998
  }
7977
7999
  if (result.providerMetadata) {
7978
8000
  for (const [providerName, metadata] of Object.entries(result.providerMetadata)) {
7979
- (_b = providerMetadata[providerName]) != null ? _b : providerMetadata[providerName] = { images: [] };
7980
- providerMetadata[providerName].images.push(
7981
- ...result.providerMetadata[providerName].images
7982
- );
8001
+ if (providerName === "gateway") {
8002
+ const currentEntry = providerMetadata[providerName];
8003
+ if (currentEntry != null && typeof currentEntry === "object") {
8004
+ providerMetadata[providerName] = {
8005
+ ...currentEntry,
8006
+ ...metadata
8007
+ };
8008
+ } else {
8009
+ providerMetadata[providerName] = metadata;
8010
+ }
8011
+ const imagesValue = providerMetadata[providerName].images;
8012
+ if (Array.isArray(imagesValue) && imagesValue.length === 0) {
8013
+ delete providerMetadata[providerName].images;
8014
+ }
8015
+ } else {
8016
+ (_b = providerMetadata[providerName]) != null ? _b : providerMetadata[providerName] = { images: [] };
8017
+ providerMetadata[providerName].images.push(
8018
+ ...result.providerMetadata[providerName].images
8019
+ );
8020
+ }
7983
8021
  }
7984
8022
  }
7985
8023
  responses.push(result.response);
@@ -10015,20 +10053,6 @@ var doWrap2 = ({
10015
10053
  };
10016
10054
  };
10017
10055
 
10018
- // src/model/as-image-model-v3.ts
10019
- function asImageModelV3(model) {
10020
- if (model.specificationVersion === "v3") {
10021
- return model;
10022
- }
10023
- return new Proxy(model, {
10024
- get(target, prop) {
10025
- if (prop === "specificationVersion")
10026
- return "v3";
10027
- return target[prop];
10028
- }
10029
- });
10030
- }
10031
-
10032
10056
  // src/model/as-provider-v3.ts
10033
10057
  function asProviderV3(provider) {
10034
10058
  if ("specificationVersion" in provider && provider.specificationVersion === "v3") {