@ai-sdk/google 3.0.0-beta.85 → 3.0.0-beta.87

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.
@@ -1,6 +1,6 @@
1
1
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
2
2
  import { Resolvable, FetchFunction, InferSchema } from '@ai-sdk/provider-utils';
3
- import { LanguageModelV3 } from '@ai-sdk/provider';
3
+ import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamResult } from '@ai-sdk/provider';
4
4
  import { z } from 'zod/v4';
5
5
 
6
6
  type GoogleGenerativeAIModelId = 'gemini-1.5-flash' | 'gemini-1.5-flash-latest' | 'gemini-1.5-flash-001' | 'gemini-1.5-flash-002' | 'gemini-1.5-flash-8b' | 'gemini-1.5-flash-8b-latest' | 'gemini-1.5-flash-8b-001' | 'gemini-1.5-pro' | 'gemini-1.5-pro-latest' | 'gemini-1.5-pro-001' | 'gemini-1.5-pro-002' | 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-live-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-pro-exp-02-05' | 'gemini-2.0-flash-thinking-exp-01-21' | 'gemini-2.0-flash-exp' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image-preview' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-lite-preview-09-2025' | 'gemini-2.5-flash-preview-04-17' | 'gemini-2.5-flash-preview-09-2025' | 'gemini-3-pro-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-flash-preview' | 'gemini-pro-latest' | 'gemini-flash-latest' | 'gemini-flash-lite-latest' | 'gemini-2.5-pro-exp-03-25' | 'gemini-exp-1206' | 'gemma-3-12b-it' | 'gemma-3-27b-it' | (string & {});
@@ -25,8 +25,8 @@ declare class GoogleGenerativeAILanguageModel implements LanguageModelV3 {
25
25
  get provider(): string;
26
26
  get supportedUrls(): Record<string, RegExp[]> | PromiseLike<Record<string, RegExp[]>>;
27
27
  private getArgs;
28
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
29
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
28
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
29
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
30
30
  }
31
31
  declare const getGroundingMetadataSchema: () => z.ZodObject<{
32
32
  webSearchQueries: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
@@ -1,6 +1,6 @@
1
1
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
2
2
  import { Resolvable, FetchFunction, InferSchema } from '@ai-sdk/provider-utils';
3
- import { LanguageModelV3 } from '@ai-sdk/provider';
3
+ import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamResult } from '@ai-sdk/provider';
4
4
  import { z } from 'zod/v4';
5
5
 
6
6
  type GoogleGenerativeAIModelId = 'gemini-1.5-flash' | 'gemini-1.5-flash-latest' | 'gemini-1.5-flash-001' | 'gemini-1.5-flash-002' | 'gemini-1.5-flash-8b' | 'gemini-1.5-flash-8b-latest' | 'gemini-1.5-flash-8b-001' | 'gemini-1.5-pro' | 'gemini-1.5-pro-latest' | 'gemini-1.5-pro-001' | 'gemini-1.5-pro-002' | 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-live-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-pro-exp-02-05' | 'gemini-2.0-flash-thinking-exp-01-21' | 'gemini-2.0-flash-exp' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image-preview' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-lite-preview-09-2025' | 'gemini-2.5-flash-preview-04-17' | 'gemini-2.5-flash-preview-09-2025' | 'gemini-3-pro-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-flash-preview' | 'gemini-pro-latest' | 'gemini-flash-latest' | 'gemini-flash-lite-latest' | 'gemini-2.5-pro-exp-03-25' | 'gemini-exp-1206' | 'gemma-3-12b-it' | 'gemma-3-27b-it' | (string & {});
@@ -25,8 +25,8 @@ declare class GoogleGenerativeAILanguageModel implements LanguageModelV3 {
25
25
  get provider(): string;
26
26
  get supportedUrls(): Record<string, RegExp[]> | PromiseLike<Record<string, RegExp[]>>;
27
27
  private getArgs;
28
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
29
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
28
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
29
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
30
30
  }
31
31
  declare const getGroundingMetadataSchema: () => z.ZodObject<{
32
32
  webSearchQueries: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
@@ -716,13 +716,12 @@ function mapGoogleGenerativeAIFinishReason({
716
716
  case "PROHIBITED_CONTENT":
717
717
  case "SPII":
718
718
  return "content-filter";
719
- case "FINISH_REASON_UNSPECIFIED":
720
- case "OTHER":
721
- return "other";
722
719
  case "MALFORMED_FUNCTION_CALL":
723
720
  return "error";
721
+ case "FINISH_REASON_UNSPECIFIED":
722
+ case "OTHER":
724
723
  default:
725
- return "unknown";
724
+ return "other";
726
725
  }
727
726
  }
728
727
 
@@ -841,7 +840,7 @@ var GoogleGenerativeAILanguageModel = class {
841
840
  };
842
841
  }
843
842
  async doGenerate(options) {
844
- var _a, _b, _c, _d, _e, _f, _g, _h;
843
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
845
844
  const { args, warnings, providerOptionsName } = await this.getArgs(options);
846
845
  const mergedHeaders = (0, import_provider_utils4.combineHeaders)(
847
846
  await (0, import_provider_utils4.resolve)(this.config.headers),
@@ -934,18 +933,21 @@ var GoogleGenerativeAILanguageModel = class {
934
933
  }
935
934
  return {
936
935
  content,
937
- finishReason: mapGoogleGenerativeAIFinishReason({
938
- finishReason: candidate.finishReason,
939
- hasToolCalls: content.some((part) => part.type === "tool-call")
940
- }),
936
+ finishReason: {
937
+ unified: mapGoogleGenerativeAIFinishReason({
938
+ finishReason: candidate.finishReason,
939
+ hasToolCalls: content.some((part) => part.type === "tool-call")
940
+ }),
941
+ raw: (_e = candidate.finishReason) != null ? _e : void 0
942
+ },
941
943
  usage: convertGoogleGenerativeAIUsage(usageMetadata),
942
944
  warnings,
943
945
  providerMetadata: {
944
946
  [providerOptionsName]: {
945
- promptFeedback: (_e = response.promptFeedback) != null ? _e : null,
946
- groundingMetadata: (_f = candidate.groundingMetadata) != null ? _f : null,
947
- urlContextMetadata: (_g = candidate.urlContextMetadata) != null ? _g : null,
948
- safetyRatings: (_h = candidate.safetyRatings) != null ? _h : null,
947
+ promptFeedback: (_f = response.promptFeedback) != null ? _f : null,
948
+ groundingMetadata: (_g = candidate.groundingMetadata) != null ? _g : null,
949
+ urlContextMetadata: (_h = candidate.urlContextMetadata) != null ? _h : null,
950
+ safetyRatings: (_i = candidate.safetyRatings) != null ? _i : null,
949
951
  usageMetadata: usageMetadata != null ? usageMetadata : null
950
952
  }
951
953
  },
@@ -974,7 +976,10 @@ var GoogleGenerativeAILanguageModel = class {
974
976
  abortSignal: options.abortSignal,
975
977
  fetch: this.config.fetch
976
978
  });
977
- let finishReason = "unknown";
979
+ let finishReason = {
980
+ unified: "other",
981
+ raw: void 0
982
+ };
978
983
  let usage = void 0;
979
984
  let providerMetadata = void 0;
980
985
  const generateId2 = this.config.generateId;
@@ -1155,10 +1160,13 @@ var GoogleGenerativeAILanguageModel = class {
1155
1160
  }
1156
1161
  }
1157
1162
  if (candidate.finishReason != null) {
1158
- finishReason = mapGoogleGenerativeAIFinishReason({
1159
- finishReason: candidate.finishReason,
1160
- hasToolCalls
1161
- });
1163
+ finishReason = {
1164
+ unified: mapGoogleGenerativeAIFinishReason({
1165
+ finishReason: candidate.finishReason,
1166
+ hasToolCalls
1167
+ }),
1168
+ raw: candidate.finishReason
1169
+ };
1162
1170
  providerMetadata = {
1163
1171
  [providerOptionsName]: {
1164
1172
  promptFeedback: (_d = value.promptFeedback) != null ? _d : null,