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/dist/index.mjs CHANGED
@@ -810,7 +810,7 @@ import {
810
810
  async function generateImage({
811
811
  model,
812
812
  prompt,
813
- n,
813
+ n = 1,
814
814
  size,
815
815
  aspectRatio,
816
816
  seed,
@@ -819,27 +819,46 @@ async function generateImage({
819
819
  abortSignal,
820
820
  headers
821
821
  }) {
822
+ var _a14;
822
823
  const { retry } = prepareRetries({ maxRetries: maxRetriesArg });
823
- return new DefaultGenerateImageResult(
824
- await retry(
825
- () => model.doGenerate({
826
- prompt,
827
- n: n != null ? n : 1,
828
- abortSignal,
829
- headers,
830
- size,
831
- aspectRatio,
832
- seed,
833
- providerOptions: providerOptions != null ? providerOptions : {}
834
- })
824
+ const maxImagesPerCall = (_a14 = model.maxImagesPerCall) != null ? _a14 : 1;
825
+ const callCount = Math.ceil(n / maxImagesPerCall);
826
+ const callImageCounts = Array.from({ length: callCount }, (_, i) => {
827
+ if (i < callCount - 1) {
828
+ return maxImagesPerCall;
829
+ }
830
+ const remainder = n % maxImagesPerCall;
831
+ return remainder === 0 ? maxImagesPerCall : remainder;
832
+ });
833
+ const results = await Promise.all(
834
+ callImageCounts.map(
835
+ async (callImageCount) => retry(
836
+ () => model.doGenerate({
837
+ prompt,
838
+ n: callImageCount,
839
+ abortSignal,
840
+ headers,
841
+ size,
842
+ aspectRatio,
843
+ seed,
844
+ providerOptions: providerOptions != null ? providerOptions : {}
845
+ })
846
+ )
835
847
  )
836
848
  );
849
+ const images = [];
850
+ const warnings = [];
851
+ for (const result of results) {
852
+ images.push(
853
+ ...result.images.map((image) => new DefaultGeneratedImage({ image }))
854
+ );
855
+ warnings.push(...result.warnings);
856
+ }
857
+ return new DefaultGenerateImageResult({ images, warnings });
837
858
  }
838
859
  var DefaultGenerateImageResult = class {
839
860
  constructor(options) {
840
- this.images = options.images.map(
841
- (image) => new DefaultGeneratedImage({ imageData: image })
842
- );
861
+ this.images = options.images;
843
862
  this.warnings = options.warnings;
844
863
  }
845
864
  get image() {
@@ -847,10 +866,10 @@ var DefaultGenerateImageResult = class {
847
866
  }
848
867
  };
849
868
  var DefaultGeneratedImage = class {
850
- constructor({ imageData }) {
851
- const isUint8Array = imageData instanceof Uint8Array;
852
- this.base64Data = isUint8Array ? void 0 : imageData;
853
- this.uint8ArrayData = isUint8Array ? imageData : void 0;
869
+ constructor({ image }) {
870
+ const isUint8Array = image instanceof Uint8Array;
871
+ this.base64Data = isUint8Array ? void 0 : image;
872
+ this.uint8ArrayData = isUint8Array ? image : void 0;
854
873
  }
855
874
  // lazy conversion with caching to avoid unnecessary conversion overhead:
856
875
  get base64() {
@@ -4606,17 +4625,18 @@ var DefaultStreamTextResult = class {
4606
4625
  async flush(controller) {
4607
4626
  var _a15;
4608
4627
  try {
4609
- const lastStep = recordedSteps[recordedSteps.length - 1];
4610
- if (lastStep) {
4611
- self.warningsPromise.resolve(lastStep.warnings);
4612
- self.requestPromise.resolve(lastStep.request);
4613
- self.responsePromise.resolve(lastStep.response);
4614
- self.toolCallsPromise.resolve(lastStep.toolCalls);
4615
- self.toolResultsPromise.resolve(lastStep.toolResults);
4616
- self.providerMetadataPromise.resolve(
4617
- lastStep.experimental_providerMetadata
4618
- );
4628
+ if (recordedSteps.length === 0) {
4629
+ return;
4619
4630
  }
4631
+ const lastStep = recordedSteps[recordedSteps.length - 1];
4632
+ self.warningsPromise.resolve(lastStep.warnings);
4633
+ self.requestPromise.resolve(lastStep.request);
4634
+ self.responsePromise.resolve(lastStep.response);
4635
+ self.toolCallsPromise.resolve(lastStep.toolCalls);
4636
+ self.toolResultsPromise.resolve(lastStep.toolResults);
4637
+ self.providerMetadataPromise.resolve(
4638
+ lastStep.experimental_providerMetadata
4639
+ );
4620
4640
  const finishReason = recordedFinishReason != null ? recordedFinishReason : "unknown";
4621
4641
  const usage = recordedUsage != null ? recordedUsage : {
4622
4642
  completionTokens: NaN,