ai 4.0.27 → 4.0.28
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 +15 -0
- package/dist/index.d.mts +28 -4
- package/dist/index.d.ts +28 -4
- package/dist/index.js +40 -16
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +47 -20
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# ai
|
2
2
|
|
3
|
+
## 4.0.28
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- 19a2ce7: feat (ai/core): add aspectRatio and seed options to generateImage
|
8
|
+
- 6337688: feat: change image generation errors to warnings
|
9
|
+
- 8b422ea: feat (ai/core): add caching to generated images
|
10
|
+
- Updated dependencies [19a2ce7]
|
11
|
+
- Updated dependencies [19a2ce7]
|
12
|
+
- Updated dependencies [6337688]
|
13
|
+
- @ai-sdk/provider@1.0.4
|
14
|
+
- @ai-sdk/provider-utils@2.0.6
|
15
|
+
- @ai-sdk/ui-utils@1.0.7
|
16
|
+
- @ai-sdk/react@1.0.8
|
17
|
+
|
3
18
|
## 4.0.27
|
4
19
|
|
5
20
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { DataStreamString, ToolInvocation, Attachment, Schema, DeepPartial, JSONValue as JSONValue$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
|
2
2
|
export { AssistantMessage, AssistantStatus, Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UseAssistantOptions, formatAssistantStreamPart, formatDataStreamPart, jsonSchema, parseAssistantStreamPart, parseDataStreamPart, processDataStream, processTextStream } from '@ai-sdk/ui-utils';
|
3
3
|
export { ToolCall as CoreToolCall, ToolResult as CoreToolResult, generateId } from '@ai-sdk/provider-utils';
|
4
|
-
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata,
|
4
|
+
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, NoSuchModelError } from '@ai-sdk/provider';
|
5
5
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV1, LanguageModelV1CallOptions, LanguageModelV1Prompt, LanguageModelV1StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
6
6
|
import { ServerResponse } from 'node:http';
|
7
7
|
import { AttributeValue, Tracer } from '@opentelemetry/api';
|
@@ -89,6 +89,16 @@ Embedding.
|
|
89
89
|
*/
|
90
90
|
type Embedding = EmbeddingModelV1Embedding;
|
91
91
|
|
92
|
+
/**
|
93
|
+
Image model that is used by the AI SDK Core functions.
|
94
|
+
*/
|
95
|
+
type ImageModel = ImageModelV1;
|
96
|
+
/**
|
97
|
+
Warning from the model provider for this call. The call will proceed, but e.g.
|
98
|
+
some settings might not be supported, which can lead to suboptimal results.
|
99
|
+
*/
|
100
|
+
type ImageGenerationWarning = ImageModelV1CallWarning;
|
101
|
+
|
92
102
|
/**
|
93
103
|
Language model that is used by the AI SDK Core functions.
|
94
104
|
*/
|
@@ -365,6 +375,10 @@ interface GenerateImageResult {
|
|
365
375
|
The images that were generated.
|
366
376
|
*/
|
367
377
|
readonly images: Array<GeneratedImage>;
|
378
|
+
/**
|
379
|
+
Warnings for the call, e.g. unsupported settings.
|
380
|
+
*/
|
381
|
+
readonly warnings: Array<ImageGenerationWarning>;
|
368
382
|
}
|
369
383
|
interface GeneratedImage {
|
370
384
|
/**
|
@@ -384,6 +398,8 @@ Generates images using an image model.
|
|
384
398
|
@param prompt - The prompt that should be used to generate the image.
|
385
399
|
@param n - Number of images to generate. Default: 1.
|
386
400
|
@param size - Size of the images to generate. Must have the format `{width}x{height}`.
|
401
|
+
@param aspectRatio - Aspect ratio of the images to generate. Must have the format `{width}:{height}`.
|
402
|
+
@param seed - Seed for the image generation.
|
387
403
|
@param providerOptions - Additional provider-specific options that are passed through to the provider
|
388
404
|
as body parameters.
|
389
405
|
@param maxRetries - Maximum number of retries. Set to 0 to disable retries. Default: 2.
|
@@ -392,7 +408,7 @@ as body parameters.
|
|
392
408
|
|
393
409
|
@returns A result object that contains the generated images.
|
394
410
|
*/
|
395
|
-
declare function generateImage({ model, prompt, n, size, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
|
411
|
+
declare function generateImage({ model, prompt, n, size, aspectRatio, seed, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
|
396
412
|
/**
|
397
413
|
The image model to use.
|
398
414
|
*/
|
@@ -406,10 +422,18 @@ declare function generateImage({ model, prompt, n, size, providerOptions, maxRet
|
|
406
422
|
*/
|
407
423
|
n?: number;
|
408
424
|
/**
|
409
|
-
Size of the images to generate. Must have the format `{width}x{height}`.
|
425
|
+
Size of the images to generate. Must have the format `{width}x{height}`. If not provided, the default size will be used.
|
410
426
|
*/
|
411
427
|
size?: `${number}x${number}`;
|
412
428
|
/**
|
429
|
+
Aspect ratio of the images to generate. Must have the format `{width}:{height}`. If not provided, the default aspect ratio will be used.
|
430
|
+
*/
|
431
|
+
aspectRatio?: `${number}:${number}`;
|
432
|
+
/**
|
433
|
+
Seed for the image generation. If not provided, the default seed will be used.
|
434
|
+
*/
|
435
|
+
seed?: number;
|
436
|
+
/**
|
413
437
|
Additional provider-specific options that are passed through to the provider
|
414
438
|
as body parameters.
|
415
439
|
|
@@ -2587,4 +2611,4 @@ declare namespace llamaindexAdapter {
|
|
2587
2611
|
};
|
2588
2612
|
}
|
2589
2613
|
|
2590
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool };
|
2614
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool };
|
package/dist/index.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { DataStreamString, ToolInvocation, Attachment, Schema, DeepPartial, JSONValue as JSONValue$1, AssistantMessage, DataMessage } from '@ai-sdk/ui-utils';
|
2
2
|
export { AssistantMessage, AssistantStatus, Attachment, ChatRequest, ChatRequestOptions, CreateMessage, DataMessage, DataStreamPart, DeepPartial, IdGenerator, JSONValue, Message, RequestOptions, Schema, ToolInvocation, UseAssistantOptions, formatAssistantStreamPart, formatDataStreamPart, jsonSchema, parseAssistantStreamPart, parseDataStreamPart, processDataStream, processTextStream } from '@ai-sdk/ui-utils';
|
3
3
|
export { ToolCall as CoreToolCall, ToolResult as CoreToolResult, generateId } from '@ai-sdk/provider-utils';
|
4
|
-
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata,
|
4
|
+
import { JSONValue, EmbeddingModelV1, EmbeddingModelV1Embedding, ImageModelV1, ImageModelV1CallWarning, LanguageModelV1, LanguageModelV1FinishReason, LanguageModelV1LogProbs, LanguageModelV1CallWarning, LanguageModelV1ProviderMetadata, LanguageModelV1CallOptions, AISDKError, LanguageModelV1FunctionToolCall, JSONSchema7, NoSuchModelError } from '@ai-sdk/provider';
|
5
5
|
export { AISDKError, APICallError, EmptyResponseBodyError, InvalidPromptError, InvalidResponseDataError, JSONParseError, LanguageModelV1, LanguageModelV1CallOptions, LanguageModelV1Prompt, LanguageModelV1StreamPart, LoadAPIKeyError, NoContentGeneratedError, NoSuchModelError, TypeValidationError, UnsupportedFunctionalityError } from '@ai-sdk/provider';
|
6
6
|
import { ServerResponse } from 'node:http';
|
7
7
|
import { AttributeValue, Tracer } from '@opentelemetry/api';
|
@@ -89,6 +89,16 @@ Embedding.
|
|
89
89
|
*/
|
90
90
|
type Embedding = EmbeddingModelV1Embedding;
|
91
91
|
|
92
|
+
/**
|
93
|
+
Image model that is used by the AI SDK Core functions.
|
94
|
+
*/
|
95
|
+
type ImageModel = ImageModelV1;
|
96
|
+
/**
|
97
|
+
Warning from the model provider for this call. The call will proceed, but e.g.
|
98
|
+
some settings might not be supported, which can lead to suboptimal results.
|
99
|
+
*/
|
100
|
+
type ImageGenerationWarning = ImageModelV1CallWarning;
|
101
|
+
|
92
102
|
/**
|
93
103
|
Language model that is used by the AI SDK Core functions.
|
94
104
|
*/
|
@@ -365,6 +375,10 @@ interface GenerateImageResult {
|
|
365
375
|
The images that were generated.
|
366
376
|
*/
|
367
377
|
readonly images: Array<GeneratedImage>;
|
378
|
+
/**
|
379
|
+
Warnings for the call, e.g. unsupported settings.
|
380
|
+
*/
|
381
|
+
readonly warnings: Array<ImageGenerationWarning>;
|
368
382
|
}
|
369
383
|
interface GeneratedImage {
|
370
384
|
/**
|
@@ -384,6 +398,8 @@ Generates images using an image model.
|
|
384
398
|
@param prompt - The prompt that should be used to generate the image.
|
385
399
|
@param n - Number of images to generate. Default: 1.
|
386
400
|
@param size - Size of the images to generate. Must have the format `{width}x{height}`.
|
401
|
+
@param aspectRatio - Aspect ratio of the images to generate. Must have the format `{width}:{height}`.
|
402
|
+
@param seed - Seed for the image generation.
|
387
403
|
@param providerOptions - Additional provider-specific options that are passed through to the provider
|
388
404
|
as body parameters.
|
389
405
|
@param maxRetries - Maximum number of retries. Set to 0 to disable retries. Default: 2.
|
@@ -392,7 +408,7 @@ as body parameters.
|
|
392
408
|
|
393
409
|
@returns A result object that contains the generated images.
|
394
410
|
*/
|
395
|
-
declare function generateImage({ model, prompt, n, size, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
|
411
|
+
declare function generateImage({ model, prompt, n, size, aspectRatio, seed, providerOptions, maxRetries: maxRetriesArg, abortSignal, headers, }: {
|
396
412
|
/**
|
397
413
|
The image model to use.
|
398
414
|
*/
|
@@ -406,10 +422,18 @@ declare function generateImage({ model, prompt, n, size, providerOptions, maxRet
|
|
406
422
|
*/
|
407
423
|
n?: number;
|
408
424
|
/**
|
409
|
-
Size of the images to generate. Must have the format `{width}x{height}`.
|
425
|
+
Size of the images to generate. Must have the format `{width}x{height}`. If not provided, the default size will be used.
|
410
426
|
*/
|
411
427
|
size?: `${number}x${number}`;
|
412
428
|
/**
|
429
|
+
Aspect ratio of the images to generate. Must have the format `{width}:{height}`. If not provided, the default aspect ratio will be used.
|
430
|
+
*/
|
431
|
+
aspectRatio?: `${number}:${number}`;
|
432
|
+
/**
|
433
|
+
Seed for the image generation. If not provided, the default seed will be used.
|
434
|
+
*/
|
435
|
+
seed?: number;
|
436
|
+
/**
|
413
437
|
Additional provider-specific options that are passed through to the provider
|
414
438
|
as body parameters.
|
415
439
|
|
@@ -2587,4 +2611,4 @@ declare namespace llamaindexAdapter {
|
|
2587
2611
|
};
|
2588
2612
|
}
|
2589
2613
|
|
2590
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool };
|
2614
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, convertToCoreMessages, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool };
|
package/dist/index.js
CHANGED
@@ -874,37 +874,61 @@ async function generateImage({
|
|
874
874
|
prompt,
|
875
875
|
n,
|
876
876
|
size,
|
877
|
+
aspectRatio,
|
878
|
+
seed,
|
877
879
|
providerOptions,
|
878
880
|
maxRetries: maxRetriesArg,
|
879
881
|
abortSignal,
|
880
882
|
headers
|
881
883
|
}) {
|
882
884
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
885
|
+
return new DefaultGenerateImageResult(
|
886
|
+
await retry(
|
887
|
+
() => model.doGenerate({
|
888
|
+
prompt,
|
889
|
+
n: n != null ? n : 1,
|
890
|
+
abortSignal,
|
891
|
+
headers,
|
892
|
+
size,
|
893
|
+
aspectRatio,
|
894
|
+
seed,
|
895
|
+
providerOptions: providerOptions != null ? providerOptions : {}
|
896
|
+
})
|
897
|
+
)
|
892
898
|
);
|
893
|
-
return new DefaultGenerateImageResult({ base64Images: images });
|
894
899
|
}
|
895
900
|
var DefaultGenerateImageResult = class {
|
896
901
|
constructor(options) {
|
897
|
-
this.images = options.
|
898
|
-
|
899
|
-
|
900
|
-
|
901
|
-
}
|
902
|
-
}));
|
902
|
+
this.images = options.images.map(
|
903
|
+
(image) => new DefaultGeneratedImage({ imageData: image })
|
904
|
+
);
|
905
|
+
this.warnings = options.warnings;
|
903
906
|
}
|
904
907
|
get image() {
|
905
908
|
return this.images[0];
|
906
909
|
}
|
907
910
|
};
|
911
|
+
var DefaultGeneratedImage = class {
|
912
|
+
constructor({ imageData }) {
|
913
|
+
const isUint8Array = imageData instanceof Uint8Array;
|
914
|
+
this.base64Data = isUint8Array ? void 0 : imageData;
|
915
|
+
this.uint8ArrayData = isUint8Array ? imageData : void 0;
|
916
|
+
}
|
917
|
+
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
918
|
+
get base64() {
|
919
|
+
if (this.base64Data == null) {
|
920
|
+
this.base64Data = (0, import_provider_utils2.convertUint8ArrayToBase64)(this.uint8ArrayData);
|
921
|
+
}
|
922
|
+
return this.base64Data;
|
923
|
+
}
|
924
|
+
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
925
|
+
get uint8Array() {
|
926
|
+
if (this.uint8ArrayData == null) {
|
927
|
+
this.uint8ArrayData = (0, import_provider_utils2.convertBase64ToUint8Array)(this.base64Data);
|
928
|
+
}
|
929
|
+
return this.uint8ArrayData;
|
930
|
+
}
|
931
|
+
};
|
908
932
|
|
909
933
|
// core/generate-object/generate-object.ts
|
910
934
|
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|