@ai-sdk/google 3.0.96 → 3.0.98
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.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +14 -3
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +3 -2
- package/dist/internal/index.d.ts +3 -2
- package/dist/internal/index.js +13 -2
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +13 -2
- package/dist/internal/index.mjs.map +1 -1
- package/docs/15-google-generative-ai.mdx +2 -0
- package/package.json +1 -1
- package/src/google-generative-ai-language-model.ts +13 -1
- package/src/google-generative-ai-options.ts +2 -0
- package/src/interactions/google-interactions-language-model-options.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ai-sdk/google
|
|
2
2
|
|
|
3
|
+
## 3.0.98
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- a09f944: feat(google): add `gemini-3.6-flash` and `gemini-3.5-flash-lite` models
|
|
8
|
+
|
|
9
|
+
## 3.0.97
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- a6cb3c1: fix(provider/google): surface Gemini `responseId` as `response-metadata` (stream) and `response.id` (generate)
|
|
14
|
+
|
|
3
15
|
## 3.0.96
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -11,7 +11,7 @@ declare const googleErrorDataSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
11
11
|
}>;
|
|
12
12
|
type GoogleErrorData = InferSchema<typeof googleErrorDataSchema>;
|
|
13
13
|
|
|
14
|
-
type GoogleGenerativeAIModelId = 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-lite-001' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro-preview-tts' | 'gemini-2.5-flash-native-audio-latest' | 'gemini-2.5-flash-native-audio-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-3-pro-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-flash-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-pro-preview-customtools' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-3.1-flash-tts-preview' | 'gemini-3.5-flash' | 'gemini-pro-latest' | 'gemini-flash-latest' | 'gemini-flash-lite-latest' | 'deep-research-pro-preview-12-2025' | 'nano-banana-pro-preview' | 'aqa' | 'gemini-robotics-er-1.5-preview' | 'gemma-3-1b-it' | 'gemma-3-4b-it' | 'gemma-3n-e4b-it' | 'gemma-3n-e2b-it' | 'gemma-3-12b-it' | 'gemma-3-27b-it' | (string & {});
|
|
14
|
+
type GoogleGenerativeAIModelId = 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-lite-001' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro-preview-tts' | 'gemini-2.5-flash-native-audio-latest' | 'gemini-2.5-flash-native-audio-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-3-pro-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-flash-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-pro-preview-customtools' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-3.1-flash-tts-preview' | 'gemini-3.5-flash' | 'gemini-3.5-flash-lite' | 'gemini-3.6-flash' | 'gemini-pro-latest' | 'gemini-flash-latest' | 'gemini-flash-lite-latest' | 'deep-research-pro-preview-12-2025' | 'nano-banana-pro-preview' | 'aqa' | 'gemini-robotics-er-1.5-preview' | 'gemma-3-1b-it' | 'gemma-3-4b-it' | 'gemma-3n-e4b-it' | 'gemma-3n-e2b-it' | 'gemma-3-12b-it' | 'gemma-3-27b-it' | (string & {});
|
|
15
15
|
declare const googleLanguageModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
16
16
|
responseModalities?: ("TEXT" | "IMAGE")[] | undefined;
|
|
17
17
|
thinkingConfig?: {
|
|
@@ -170,6 +170,7 @@ declare const responseSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
170
170
|
}[] | null | undefined;
|
|
171
171
|
} | null | undefined;
|
|
172
172
|
}[];
|
|
173
|
+
responseId?: string | null | undefined;
|
|
173
174
|
usageMetadata?: {
|
|
174
175
|
cachedContentTokenCount?: number | null | undefined;
|
|
175
176
|
thoughtsTokenCount?: number | null | undefined;
|
|
@@ -288,7 +289,7 @@ type GoogleVideoModelOptions = {
|
|
|
288
289
|
* the two surfaces (`:generateContent` vs `/interactions`) are independent and
|
|
289
290
|
* may diverge over time.
|
|
290
291
|
*/
|
|
291
|
-
type GoogleInteractionsModelId = 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-lite-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-flash-preview-09-2025' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro' | 'gemini-2.5-pro-preview-tts' | 'gemini-3-flash-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-pro-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-3.1-flash-tts-preview' | 'gemini-3.5-flash' | 'lyria-3-clip-preview' | 'lyria-3-pro-preview' | (string & {});
|
|
292
|
+
type GoogleInteractionsModelId = 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-lite-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-flash-preview-09-2025' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro' | 'gemini-2.5-pro-preview-tts' | 'gemini-3-flash-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-pro-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-3.1-flash-tts-preview' | 'gemini-3.5-flash' | 'gemini-3.5-flash-lite' | 'gemini-3.6-flash' | 'lyria-3-clip-preview' | 'lyria-3-pro-preview' | (string & {});
|
|
292
293
|
/**
|
|
293
294
|
* Provider-options schema for `google.interactions(...)` calls. Read from the
|
|
294
295
|
* shared `providerOptions.google.*` namespace (per PRD); per-call options that
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ declare const googleErrorDataSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
11
11
|
}>;
|
|
12
12
|
type GoogleErrorData = InferSchema<typeof googleErrorDataSchema>;
|
|
13
13
|
|
|
14
|
-
type GoogleGenerativeAIModelId = 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-lite-001' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro-preview-tts' | 'gemini-2.5-flash-native-audio-latest' | 'gemini-2.5-flash-native-audio-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-3-pro-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-flash-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-pro-preview-customtools' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-3.1-flash-tts-preview' | 'gemini-3.5-flash' | 'gemini-pro-latest' | 'gemini-flash-latest' | 'gemini-flash-lite-latest' | 'deep-research-pro-preview-12-2025' | 'nano-banana-pro-preview' | 'aqa' | 'gemini-robotics-er-1.5-preview' | 'gemma-3-1b-it' | 'gemma-3-4b-it' | 'gemma-3n-e4b-it' | 'gemma-3n-e2b-it' | 'gemma-3-12b-it' | 'gemma-3-27b-it' | (string & {});
|
|
14
|
+
type GoogleGenerativeAIModelId = 'gemini-2.0-flash' | 'gemini-2.0-flash-001' | 'gemini-2.0-flash-lite' | 'gemini-2.0-flash-lite-001' | 'gemini-2.5-pro' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro-preview-tts' | 'gemini-2.5-flash-native-audio-latest' | 'gemini-2.5-flash-native-audio-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-3-pro-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-flash-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-pro-preview-customtools' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-3.1-flash-tts-preview' | 'gemini-3.5-flash' | 'gemini-3.5-flash-lite' | 'gemini-3.6-flash' | 'gemini-pro-latest' | 'gemini-flash-latest' | 'gemini-flash-lite-latest' | 'deep-research-pro-preview-12-2025' | 'nano-banana-pro-preview' | 'aqa' | 'gemini-robotics-er-1.5-preview' | 'gemma-3-1b-it' | 'gemma-3-4b-it' | 'gemma-3n-e4b-it' | 'gemma-3n-e2b-it' | 'gemma-3-12b-it' | 'gemma-3-27b-it' | (string & {});
|
|
15
15
|
declare const googleLanguageModelOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
16
16
|
responseModalities?: ("TEXT" | "IMAGE")[] | undefined;
|
|
17
17
|
thinkingConfig?: {
|
|
@@ -170,6 +170,7 @@ declare const responseSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
170
170
|
}[] | null | undefined;
|
|
171
171
|
} | null | undefined;
|
|
172
172
|
}[];
|
|
173
|
+
responseId?: string | null | undefined;
|
|
173
174
|
usageMetadata?: {
|
|
174
175
|
cachedContentTokenCount?: number | null | undefined;
|
|
175
176
|
thoughtsTokenCount?: number | null | undefined;
|
|
@@ -288,7 +289,7 @@ type GoogleVideoModelOptions = {
|
|
|
288
289
|
* the two surfaces (`:generateContent` vs `/interactions`) are independent and
|
|
289
290
|
* may diverge over time.
|
|
290
291
|
*/
|
|
291
|
-
type GoogleInteractionsModelId = 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-lite-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-flash-preview-09-2025' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro' | 'gemini-2.5-pro-preview-tts' | 'gemini-3-flash-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-pro-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-3.1-flash-tts-preview' | 'gemini-3.5-flash' | 'lyria-3-clip-preview' | 'lyria-3-pro-preview' | (string & {});
|
|
292
|
+
type GoogleInteractionsModelId = 'gemini-2.5-computer-use-preview-10-2025' | 'gemini-2.5-flash' | 'gemini-2.5-flash-image' | 'gemini-2.5-flash-lite' | 'gemini-2.5-flash-lite-preview-09-2025' | 'gemini-2.5-flash-native-audio-preview-12-2025' | 'gemini-2.5-flash-preview-09-2025' | 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro' | 'gemini-2.5-pro-preview-tts' | 'gemini-3-flash-preview' | 'gemini-3-pro-image-preview' | 'gemini-3-pro-preview' | 'gemini-3.1-pro-preview' | 'gemini-3.1-flash-image-preview' | 'gemini-3.1-flash-lite-preview' | 'gemini-3.1-flash-tts-preview' | 'gemini-3.5-flash' | 'gemini-3.5-flash-lite' | 'gemini-3.6-flash' | 'lyria-3-clip-preview' | 'lyria-3-pro-preview' | (string & {});
|
|
292
293
|
/**
|
|
293
294
|
* Provider-options schema for `google.interactions(...)` calls. Read from the
|
|
294
295
|
* shared `providerOptions.google.*` namespace (per PRD); per-call options that
|
package/dist/index.js
CHANGED
|
@@ -30,7 +30,7 @@ module.exports = __toCommonJS(index_exports);
|
|
|
30
30
|
var import_provider_utils23 = require("@ai-sdk/provider-utils");
|
|
31
31
|
|
|
32
32
|
// src/version.ts
|
|
33
|
-
var VERSION = true ? "3.0.
|
|
33
|
+
var VERSION = true ? "3.0.98" : "0.0.0-test";
|
|
34
34
|
|
|
35
35
|
// src/google-generative-ai-embedding-model.ts
|
|
36
36
|
var import_provider = require("@ai-sdk/provider");
|
|
@@ -1661,7 +1661,7 @@ var GoogleGenerativeAILanguageModel = class {
|
|
|
1661
1661
|
};
|
|
1662
1662
|
}
|
|
1663
1663
|
async doGenerate(options) {
|
|
1664
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
|
|
1664
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
|
|
1665
1665
|
const { args, warnings, providerOptionsName, extraHeaders } = await this.getArgs(options);
|
|
1666
1666
|
const mergedHeaders = (0, import_provider_utils6.combineHeaders)(
|
|
1667
1667
|
await (0, import_provider_utils6.resolve)(this.config.headers),
|
|
@@ -1835,7 +1835,8 @@ var GoogleGenerativeAILanguageModel = class {
|
|
|
1835
1835
|
},
|
|
1836
1836
|
request: { body: args },
|
|
1837
1837
|
response: {
|
|
1838
|
-
// TODO timestamp, model id
|
|
1838
|
+
// TODO timestamp, model id
|
|
1839
|
+
id: (_s = response.responseId) != null ? _s : void 0,
|
|
1839
1840
|
headers: responseHeaders,
|
|
1840
1841
|
body: rawResponse
|
|
1841
1842
|
}
|
|
@@ -1869,6 +1870,7 @@ var GoogleGenerativeAILanguageModel = class {
|
|
|
1869
1870
|
let lastUrlContextMetadata = null;
|
|
1870
1871
|
const generateId3 = this.config.generateId;
|
|
1871
1872
|
let hasToolCalls = false;
|
|
1873
|
+
let hasEmittedResponseMetadata = false;
|
|
1872
1874
|
let currentTextBlockId = null;
|
|
1873
1875
|
let currentReasoningBlockId = null;
|
|
1874
1876
|
let blockCounter = 0;
|
|
@@ -1920,6 +1922,13 @@ var GoogleGenerativeAILanguageModel = class {
|
|
|
1920
1922
|
return;
|
|
1921
1923
|
}
|
|
1922
1924
|
const value = chunk.value;
|
|
1925
|
+
if (!hasEmittedResponseMetadata && value.responseId != null) {
|
|
1926
|
+
hasEmittedResponseMetadata = true;
|
|
1927
|
+
controller.enqueue({
|
|
1928
|
+
type: "response-metadata",
|
|
1929
|
+
id: value.responseId
|
|
1930
|
+
});
|
|
1931
|
+
}
|
|
1923
1932
|
const usageMetadata = value.usageMetadata;
|
|
1924
1933
|
if (usageMetadata != null) {
|
|
1925
1934
|
usage = usageMetadata;
|
|
@@ -2505,6 +2514,7 @@ var getUrlContextMetadataSchema = () => import_v45.z.object({
|
|
|
2505
2514
|
var responseSchema = (0, import_provider_utils6.lazySchema)(
|
|
2506
2515
|
() => (0, import_provider_utils6.zodSchema)(
|
|
2507
2516
|
import_v45.z.object({
|
|
2517
|
+
responseId: import_v45.z.string().nullish(),
|
|
2508
2518
|
candidates: import_v45.z.array(
|
|
2509
2519
|
import_v45.z.object({
|
|
2510
2520
|
content: getContentSchema().nullish().or(import_v45.z.object({}).strict()),
|
|
@@ -2526,6 +2536,7 @@ var responseSchema = (0, import_provider_utils6.lazySchema)(
|
|
|
2526
2536
|
var chunkSchema = (0, import_provider_utils6.lazySchema)(
|
|
2527
2537
|
() => (0, import_provider_utils6.zodSchema)(
|
|
2528
2538
|
import_v45.z.object({
|
|
2539
|
+
responseId: import_v45.z.string().nullish(),
|
|
2529
2540
|
candidates: import_v45.z.array(
|
|
2530
2541
|
import_v45.z.object({
|
|
2531
2542
|
content: getContentSchema().nullish(),
|