@ai-sdk/google 4.0.99 → 4.0.101
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 +18 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -7
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +2 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +19 -6
- package/dist/internal/index.js.map +1 -1
- package/docs/15-google.mdx +8 -0
- package/package.json +4 -3
- package/src/google-language-model.ts +35 -2
- package/src/google-prompt.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @ai-sdk/google
|
|
2
2
|
|
|
3
|
+
## 4.0.101
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [0c2a9de]
|
|
8
|
+
- Updated dependencies [200c47f]
|
|
9
|
+
- @ai-sdk/provider@4.0.31
|
|
10
|
+
- @ai-sdk/provider-utils@5.0.64
|
|
11
|
+
|
|
12
|
+
## 4.0.100
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- d08bb66: Preserve grounding metadata from each automatically continued Google response in `groundingMetadataPerRequest`. Previously, a later response without grounding could leave earlier Search queries absent from the final provider metadata even though their sources were returned. The new array preserves request order and includes `null` for requests without grounding.
|
|
17
|
+
- Updated dependencies [60cc252]
|
|
18
|
+
- @ai-sdk/provider@4.0.30
|
|
19
|
+
- @ai-sdk/provider-utils@5.0.63
|
|
20
|
+
|
|
3
21
|
## 4.0.99
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -243,6 +243,8 @@ type GoogleUsageMetadata = UsageMetadataSchema;
|
|
|
243
243
|
interface GoogleProviderMetadata {
|
|
244
244
|
promptFeedback: GooglePromptFeedback | null;
|
|
245
245
|
groundingMetadata: GoogleGroundingMetadata | null;
|
|
246
|
+
/** Grounding from each automatically continued request, in request order. */
|
|
247
|
+
groundingMetadataPerRequest?: Array<GoogleGroundingMetadata | null>;
|
|
246
248
|
urlContextMetadata: GoogleUrlContextMetadata | null;
|
|
247
249
|
safetyRatings: GoogleSafetyRating[] | null;
|
|
248
250
|
usageMetadata: GoogleUsageMetadata | null;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["DecisionModelV4","BatchV4","SpeechTranslationModelV4","RealtimeFactoryV4","RealtimeModelV4ClientSecretOptions","RealtimeModelV4ClientSecretResult","RealtimeModelV4ServerEvent","RealtimeModelV4ClientEvent","RealtimeModelV4","RealtimeModelV4SessionConfig","TranscriptionModelV4StreamOptions","SpeechTranslationModelV4StreamOptions","SpeechTranslationModelV4"],"sources":["../src/google-error.ts","../src/google-language-model-options.ts","../src/google-language-model.ts","../src/google-prompt.ts","../src/tool/google-search.ts","../src/google-image-model-options.ts","../src/google-embedding-model-options.ts","../src/google-video-model-options.ts","../src/google-video-settings.ts","../src/google-speech-model-options.ts","../src/google-files.ts","../src/interactions/google-interactions-language-model-options.ts","../src/interactions/google-interactions-provider-metadata.ts","../src/interactions/google-interactions-agent.ts","../src/google-tools.ts","../src/google-image-settings.ts","../src/transcription/google-transcription-model-options.ts","../src/speech-translation/google-speech-translation-model-options.ts","../src/google-provider.ts","../src/realtime/google-realtime-model.ts","../src/realtime/google-realtime-model-options.ts","../src/transcription/google-transcription-model.ts","../src/speech-translation/google-speech-translation-model.ts","../src/version.ts"],"mappings":";;;;cAgBM,wDAAqB;;;;;;;;KAQf,kBAAkB,mBAAmB;;;KCjBrC;cAqDC,6DAA0B;;;;;;;;;;;;;;;WAA1B;;;;;;;;;;;;;;;;;;;;;;;;KA+OD,6BAA6B,mBAChC;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["DecisionModelV4","BatchV4","SpeechTranslationModelV4","RealtimeFactoryV4","RealtimeModelV4ClientSecretOptions","RealtimeModelV4ClientSecretResult","RealtimeModelV4ServerEvent","RealtimeModelV4ClientEvent","RealtimeModelV4","RealtimeModelV4SessionConfig","TranscriptionModelV4StreamOptions","SpeechTranslationModelV4StreamOptions","SpeechTranslationModelV4"],"sources":["../src/google-error.ts","../src/google-language-model-options.ts","../src/google-language-model.ts","../src/google-prompt.ts","../src/tool/google-search.ts","../src/google-image-model-options.ts","../src/google-embedding-model-options.ts","../src/google-video-model-options.ts","../src/google-video-settings.ts","../src/google-speech-model-options.ts","../src/google-files.ts","../src/interactions/google-interactions-language-model-options.ts","../src/interactions/google-interactions-provider-metadata.ts","../src/interactions/google-interactions-agent.ts","../src/google-tools.ts","../src/google-image-settings.ts","../src/transcription/google-transcription-model-options.ts","../src/speech-translation/google-speech-translation-model-options.ts","../src/google-provider.ts","../src/realtime/google-realtime-model.ts","../src/realtime/google-realtime-model-options.ts","../src/transcription/google-transcription-model.ts","../src/speech-translation/google-speech-translation-model.ts","../src/version.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { Experimental_DecisionLanguageModel } from "@ai-sdk/provider-utils/exper
|
|
|
3
3
|
import { AISDKError, InvalidArgumentError, InvalidResponseDataError, TooManyEmbeddingValuesForCallError, UnsupportedFunctionalityError } from "@ai-sdk/provider";
|
|
4
4
|
import { z } from "zod/v4";
|
|
5
5
|
//#region src/version.ts
|
|
6
|
-
const VERSION = "4.0.
|
|
6
|
+
const VERSION = "4.0.101";
|
|
7
7
|
//#endregion
|
|
8
8
|
//#region src/google-error.ts
|
|
9
9
|
const getGoogleErrorSchema = () => z.object({
|
|
@@ -1683,7 +1683,7 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
1683
1683
|
jsonResponseToolName: jsonResponseTool?.name
|
|
1684
1684
|
};
|
|
1685
1685
|
}
|
|
1686
|
-
static convertGenerateContentResponse({ config, response, warnings, providerOptionsNames, toolNameMapping, jsonResponseToolName, initialPromptTokenCount }) {
|
|
1686
|
+
static convertGenerateContentResponse({ config, response, warnings, providerOptionsNames, toolNameMapping, jsonResponseToolName, initialPromptTokenCount, groundingMetadataPerRequest }) {
|
|
1687
1687
|
const wrapProviderMetadata = (payload) => Object.fromEntries(providerOptionsNames.map((name) => [name, payload]));
|
|
1688
1688
|
const candidate = response.candidates?.[0];
|
|
1689
1689
|
const promptBlockReason = response.promptFeedback?.blockReason;
|
|
@@ -1811,6 +1811,7 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
1811
1811
|
providerMetadata: wrapProviderMetadata({
|
|
1812
1812
|
promptFeedback: response.promptFeedback ?? null,
|
|
1813
1813
|
groundingMetadata: candidate?.groundingMetadata ?? null,
|
|
1814
|
+
...groundingMetadataPerRequest != null ? { groundingMetadataPerRequest } : {},
|
|
1814
1815
|
urlContextMetadata: candidate?.urlContextMetadata ?? null,
|
|
1815
1816
|
safetyRatings: candidate?.safetyRatings ?? null,
|
|
1816
1817
|
usageMetadata: usageMetadata ?? null,
|
|
@@ -1836,11 +1837,13 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
1836
1837
|
});
|
|
1837
1838
|
let { responseHeaders, value: response, rawValue: rawResponse } = await generateContent(args);
|
|
1838
1839
|
const content = [];
|
|
1840
|
+
const groundingMetadataPerRequest = [];
|
|
1839
1841
|
let usageMetadata;
|
|
1840
1842
|
const firstPromptTokenCount = response.usageMetadata?.promptTokenCount;
|
|
1841
1843
|
let isContinued = false;
|
|
1842
1844
|
while (true) {
|
|
1843
1845
|
const candidate = response.candidates?.[0];
|
|
1846
|
+
groundingMetadataPerRequest.push(candidate?.groundingMetadata ?? null);
|
|
1844
1847
|
const continuationToken = candidate?.finishReason === "CONTINUATION" ? candidate.continuationToken : void 0;
|
|
1845
1848
|
usageMetadata = addGoogleUsageMetadata(usageMetadata, response.usageMetadata ?? void 0);
|
|
1846
1849
|
if (continuationToken == null) break;
|
|
@@ -1868,7 +1871,8 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
1868
1871
|
providerOptionsNames,
|
|
1869
1872
|
toolNameMapping,
|
|
1870
1873
|
jsonResponseToolName,
|
|
1871
|
-
initialPromptTokenCount: isContinued ? firstPromptTokenCount : void 0
|
|
1874
|
+
initialPromptTokenCount: isContinued ? firstPromptTokenCount : void 0,
|
|
1875
|
+
groundingMetadataPerRequest: isContinued ? groundingMetadataPerRequest : void 0
|
|
1872
1876
|
});
|
|
1873
1877
|
const result = {
|
|
1874
1878
|
...lastResult,
|
|
@@ -1898,16 +1902,24 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
1898
1902
|
fetch: this.config.fetch
|
|
1899
1903
|
});
|
|
1900
1904
|
const { responseHeaders, value: firstResponse } = await streamGenerateContent(args);
|
|
1905
|
+
const groundingMetadataPerRequest = [];
|
|
1906
|
+
let requestGroundingMetadata = null;
|
|
1901
1907
|
const response = continueGoogleStream({
|
|
1902
1908
|
stream: firstResponse,
|
|
1903
1909
|
getContinuationToken: (chunk) => {
|
|
1904
1910
|
const candidate = chunk.candidates?.[0];
|
|
1911
|
+
if (candidate?.groundingMetadata != null) requestGroundingMetadata = candidate.groundingMetadata;
|
|
1905
1912
|
return candidate?.finishReason === "CONTINUATION" ? candidate.continuationToken ?? void 0 : void 0;
|
|
1906
1913
|
},
|
|
1907
|
-
continueStream: async (continuationToken) =>
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1914
|
+
continueStream: async (continuationToken) => {
|
|
1915
|
+
const { value } = await streamGenerateContent({
|
|
1916
|
+
...args,
|
|
1917
|
+
continuationToken
|
|
1918
|
+
});
|
|
1919
|
+
groundingMetadataPerRequest.push(requestGroundingMetadata);
|
|
1920
|
+
requestGroundingMetadata = null;
|
|
1921
|
+
return value;
|
|
1922
|
+
}
|
|
1911
1923
|
});
|
|
1912
1924
|
let finishReason = {
|
|
1913
1925
|
unified: "other",
|
|
@@ -2303,6 +2315,7 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
2303
2315
|
providerMetadata: wrapProviderMetadata({
|
|
2304
2316
|
promptFeedback,
|
|
2305
2317
|
groundingMetadata: lastGroundingMetadata,
|
|
2318
|
+
...groundingMetadataPerRequest.length > 0 ? { groundingMetadataPerRequest: [...groundingMetadataPerRequest, requestGroundingMetadata] } : {},
|
|
2306
2319
|
urlContextMetadata: lastUrlContextMetadata,
|
|
2307
2320
|
safetyRatings: lastSafetyRatings,
|
|
2308
2321
|
usageMetadata: usage ?? null,
|