ai 4.0.28 → 4.0.30
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 +12 -0
- package/dist/index.js +50 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +50 -30
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# ai
|
2
2
|
|
3
|
+
## 4.0.30
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- e4ce80c: fix (ai/core): prevent onFinish from masking stream errors
|
8
|
+
|
9
|
+
## 4.0.29
|
10
|
+
|
11
|
+
### Patch Changes
|
12
|
+
|
13
|
+
- a92f5f6: feat (ai/core): generate many images with parallel model calls
|
14
|
+
|
3
15
|
## 4.0.28
|
4
16
|
|
5
17
|
### Patch Changes
|
package/dist/index.js
CHANGED
@@ -872,7 +872,7 @@ var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
872
872
|
async function generateImage({
|
873
873
|
model,
|
874
874
|
prompt,
|
875
|
-
n,
|
875
|
+
n = 1,
|
876
876
|
size,
|
877
877
|
aspectRatio,
|
878
878
|
seed,
|
@@ -881,27 +881,46 @@ async function generateImage({
|
|
881
881
|
abortSignal,
|
882
882
|
headers
|
883
883
|
}) {
|
884
|
+
var _a14;
|
884
885
|
const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
886
|
+
const maxImagesPerCall = (_a14 = model.maxImagesPerCall) != null ? _a14 : 1;
|
887
|
+
const callCount = Math.ceil(n / maxImagesPerCall);
|
888
|
+
const callImageCounts = Array.from({ length: callCount }, (_, i) => {
|
889
|
+
if (i < callCount - 1) {
|
890
|
+
return maxImagesPerCall;
|
891
|
+
}
|
892
|
+
const remainder = n % maxImagesPerCall;
|
893
|
+
return remainder === 0 ? maxImagesPerCall : remainder;
|
894
|
+
});
|
895
|
+
const results = await Promise.all(
|
896
|
+
callImageCounts.map(
|
897
|
+
async (callImageCount) => retry(
|
898
|
+
() => model.doGenerate({
|
899
|
+
prompt,
|
900
|
+
n: callImageCount,
|
901
|
+
abortSignal,
|
902
|
+
headers,
|
903
|
+
size,
|
904
|
+
aspectRatio,
|
905
|
+
seed,
|
906
|
+
providerOptions: providerOptions != null ? providerOptions : {}
|
907
|
+
})
|
908
|
+
)
|
897
909
|
)
|
898
910
|
);
|
911
|
+
const images = [];
|
912
|
+
const warnings = [];
|
913
|
+
for (const result of results) {
|
914
|
+
images.push(
|
915
|
+
...result.images.map((image) => new DefaultGeneratedImage({ image }))
|
916
|
+
);
|
917
|
+
warnings.push(...result.warnings);
|
918
|
+
}
|
919
|
+
return new DefaultGenerateImageResult({ images, warnings });
|
899
920
|
}
|
900
921
|
var DefaultGenerateImageResult = class {
|
901
922
|
constructor(options) {
|
902
|
-
this.images = options.images
|
903
|
-
(image) => new DefaultGeneratedImage({ imageData: image })
|
904
|
-
);
|
923
|
+
this.images = options.images;
|
905
924
|
this.warnings = options.warnings;
|
906
925
|
}
|
907
926
|
get image() {
|
@@ -909,10 +928,10 @@ var DefaultGenerateImageResult = class {
|
|
909
928
|
}
|
910
929
|
};
|
911
930
|
var DefaultGeneratedImage = class {
|
912
|
-
constructor({
|
913
|
-
const isUint8Array =
|
914
|
-
this.base64Data = isUint8Array ? void 0 :
|
915
|
-
this.uint8ArrayData = isUint8Array ?
|
931
|
+
constructor({ image }) {
|
932
|
+
const isUint8Array = image instanceof Uint8Array;
|
933
|
+
this.base64Data = isUint8Array ? void 0 : image;
|
934
|
+
this.uint8ArrayData = isUint8Array ? image : void 0;
|
916
935
|
}
|
917
936
|
// lazy conversion with caching to avoid unnecessary conversion overhead:
|
918
937
|
get base64() {
|
@@ -4642,17 +4661,18 @@ var DefaultStreamTextResult = class {
|
|
4642
4661
|
async flush(controller) {
|
4643
4662
|
var _a15;
|
4644
4663
|
try {
|
4645
|
-
|
4646
|
-
|
4647
|
-
self.warningsPromise.resolve(lastStep.warnings);
|
4648
|
-
self.requestPromise.resolve(lastStep.request);
|
4649
|
-
self.responsePromise.resolve(lastStep.response);
|
4650
|
-
self.toolCallsPromise.resolve(lastStep.toolCalls);
|
4651
|
-
self.toolResultsPromise.resolve(lastStep.toolResults);
|
4652
|
-
self.providerMetadataPromise.resolve(
|
4653
|
-
lastStep.experimental_providerMetadata
|
4654
|
-
);
|
4664
|
+
if (recordedSteps.length === 0) {
|
4665
|
+
return;
|
4655
4666
|
}
|
4667
|
+
const lastStep = recordedSteps[recordedSteps.length - 1];
|
4668
|
+
self.warningsPromise.resolve(lastStep.warnings);
|
4669
|
+
self.requestPromise.resolve(lastStep.request);
|
4670
|
+
self.responsePromise.resolve(lastStep.response);
|
4671
|
+
self.toolCallsPromise.resolve(lastStep.toolCalls);
|
4672
|
+
self.toolResultsPromise.resolve(lastStep.toolResults);
|
4673
|
+
self.providerMetadataPromise.resolve(
|
4674
|
+
lastStep.experimental_providerMetadata
|
4675
|
+
);
|
4656
4676
|
const finishReason = recordedFinishReason != null ? recordedFinishReason : "unknown";
|
4657
4677
|
const usage = recordedUsage != null ? recordedUsage : {
|
4658
4678
|
completionTokens: NaN,
|