@ai-sdk/google 4.0.114 → 4.0.116
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 +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -10
- 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 -9
- package/dist/internal/index.js.map +1 -1
- package/package.json +2 -2
- package/src/google-json-accumulator.ts +21 -6
- package/src/google-language-model.ts +11 -2
package/dist/internal/index.d.ts
CHANGED
|
@@ -246,9 +246,10 @@ export declare class GoogleLanguageModel implements LanguageModelV4 {
|
|
|
246
246
|
toolNameMapping: import("@ai-sdk/provider-utils").ToolNameMapping;
|
|
247
247
|
}>;
|
|
248
248
|
private getArgs;
|
|
249
|
-
static convertGenerateContentResponse({ config, response, warnings, providerOptionsNames, toolNameMapping, jsonResponseToolName, initialPromptTokenCount, groundingMetadataPerRequest }: {
|
|
249
|
+
static convertGenerateContentResponse({ config, response, responseHeaders, warnings, providerOptionsNames, toolNameMapping, jsonResponseToolName, initialPromptTokenCount, groundingMetadataPerRequest }: {
|
|
250
250
|
config: GoogleLanguageModelConfig;
|
|
251
251
|
response: InferSchema<typeof responseSchema>;
|
|
252
|
+
responseHeaders?: Record<string, string>;
|
|
252
253
|
warnings: SharedV4Warning[];
|
|
253
254
|
providerOptionsNames: readonly string[];
|
|
254
255
|
toolNameMapping?: ReturnType<typeof createToolNameMapping>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["_$__google_prompt0.GoogleContent","_$__google_prompt0.GoogleSystemInstruction"],"sources":["../../src/google-prompt.ts","../../src/google-language-model-options.ts","../../src/google-language-model.ts","../../src/google-speech-model-options.ts","../../src/google-speech-model.ts","../../src/google-speech-input.ts","../../src/google-tools.ts","../../src/interactions/google-interactions-language-model-options.ts","../../src/interactions/google-interactions-language-model.ts","../../src/interactions/google-interactions-agent.ts","../../src/google-model-catalog.ts"],"mappings":";;;;KAcY;EACV,OAAO;IAAQ;;;KAGL;EACV;EACA,OAAO,MAAM;;cAGF,2BAAyB,EAAA;;;;GAOpC,EAAA,KAAA;;KAGU,sBAAsB,EAAE,aAAa;KAErC;EACN;EAAc;EAAmB;;EAEjC;IAAc;IAAkB;;EAChC,gBAAgB;EAChB;EACA;;EAGA;IAAgB;IAAa;IAAc;;EAC3C;;EAGA;IACE;IACA;IACA;IACA,QAAQ,MAAM;;;EAIhB;IAAY;IAAkB;;EAC9B,gBAAgB;EAChB;EACA;;EAGA;IACE;IACA;IACA;;EAEF;;EAGA;IACE;IACA;IACA;;EAEF;;EAGA;IACE;IACA;;;EAIF;IACE;IACA;;;KAII;EAEN;IAAc;IAAkB;;;EAGhC;IAAY;IAAkB;;;;;KCxFxB;cAqDC,6DAA0B;;;;;;;;;;;;;;;WAA1B;;;;;;;;;;;;;;;;;;;;;;;;KA+OD,6BAA6B,mBAChC;;;YCvNG;EACV;EACA;EACA,UAAU,WAAW;EACrB,QAAQ;EACR;;;;EAKA,sBAAsB;;;;EAKtB;IACE;IACA;;;qBAIS,+BAA+B;WACjC;WAEA,SAAS;mBAED;mBACA;UAET,oBAAoB,OAAO;;;;UAO3B,sBAAsB;IAC5B;IACA,QAAQ;MACT;EAIW,YAAA,SAAS,eAAe,QAAQ;MAMxC;MAIA,iBAAa,eAAA,YAAA,YAAA,eAAA;SAIJ,iBACX,SACA,QACA,WACE,QACA,iBACA,aACA,MACA,MACA,kBACA,iBACA,eACA,gBACA,MACA,OACA,YACA,WACA,iBACA,eAEF;IAEA,SAAS;IACT,QAAQ;IACR,SAAS;IACT;MACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAFUA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAkSG;SA6DP,iCACL,QACA,UACA,UACA,sBACA,iBACA,sBACA,yBACA;IAEA,QAAQ;IACR,UAAU,mBAAmB;IAC7B,UAAU;IACV;IACA,kBAAkB,kBAAkB;IACpC;IACA;IACA,8BAA8B,MAAM;MAClC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["_$__google_prompt0.GoogleContent","_$__google_prompt0.GoogleSystemInstruction"],"sources":["../../src/google-prompt.ts","../../src/google-language-model-options.ts","../../src/google-language-model.ts","../../src/google-speech-model-options.ts","../../src/google-speech-model.ts","../../src/google-speech-input.ts","../../src/google-tools.ts","../../src/interactions/google-interactions-language-model-options.ts","../../src/interactions/google-interactions-language-model.ts","../../src/interactions/google-interactions-agent.ts","../../src/google-model-catalog.ts"],"mappings":"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"}
|
package/dist/internal/index.js
CHANGED
|
@@ -1264,7 +1264,7 @@ var GoogleJSONAccumulator = class {
|
|
|
1264
1264
|
const rawPath = (isArrayTerminator ? arg.jsonPath.slice(0, -2) : arg.jsonPath).replace(/^\$\./, "");
|
|
1265
1265
|
if (!rawPath || rawPath === "$") continue;
|
|
1266
1266
|
const segments = parsePath(rawPath);
|
|
1267
|
-
if (!
|
|
1267
|
+
if (!normalizeAndCheckIndexes(this.accumulatedArgs, segments)) continue;
|
|
1268
1268
|
const existingValue = getNestedValue(this.accumulatedArgs, segments);
|
|
1269
1269
|
if (arg.stringValue != null && existingValue !== void 0) {
|
|
1270
1270
|
const escaped = JSON.stringify(arg.stringValue).slice(1, -1);
|
|
@@ -1490,17 +1490,26 @@ function getNestedValue(obj, segments) {
|
|
|
1490
1490
|
return current;
|
|
1491
1491
|
}
|
|
1492
1492
|
/**
|
|
1493
|
-
*
|
|
1494
|
-
* one. Arrays are streamed in order, and a
|
|
1495
|
-
* serialize one `null` per hole, so a tiny
|
|
1493
|
+
* Normalizes dotted array indexes in place and checks that every array index
|
|
1494
|
+
* is an existing element or the next one. Arrays are streamed in order, and a
|
|
1495
|
+
* sparse index would make `finalize()` serialize one `null` per hole, so a tiny
|
|
1496
|
+
* response could allocate without bound.
|
|
1496
1497
|
* A missing or `null` parent is replaced with a new array, so it starts at 0.
|
|
1497
1498
|
*
|
|
1498
1499
|
* Input: ({items:["a"]}, ["items",1]) or ({items:["a"]}, ["items",5])
|
|
1499
1500
|
* Output: true or false
|
|
1500
1501
|
*/
|
|
1501
|
-
function
|
|
1502
|
+
function normalizeAndCheckIndexes(obj, segments) {
|
|
1502
1503
|
let current = obj;
|
|
1503
|
-
for (
|
|
1504
|
+
for (let i = 0; i < segments.length; i++) {
|
|
1505
|
+
let pathSegment = segments[i];
|
|
1506
|
+
if (Array.isArray(current) && typeof pathSegment === "string") {
|
|
1507
|
+
const index = Number(pathSegment);
|
|
1508
|
+
if (Number.isInteger(index) && index >= 0 && index < 2 ** 32 - 1 && String(index) === pathSegment) {
|
|
1509
|
+
pathSegment = index;
|
|
1510
|
+
segments[i] = index;
|
|
1511
|
+
}
|
|
1512
|
+
}
|
|
1504
1513
|
if (typeof pathSegment === "number") {
|
|
1505
1514
|
const length = Array.isArray(current) ? current.length : current == null ? 0 : void 0;
|
|
1506
1515
|
if (length !== void 0 && pathSegment > length) return false;
|
|
@@ -1771,7 +1780,7 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
1771
1780
|
jsonResponseToolName: jsonResponseTool?.name
|
|
1772
1781
|
};
|
|
1773
1782
|
}
|
|
1774
|
-
static convertGenerateContentResponse({ config, response, warnings, providerOptionsNames, toolNameMapping, jsonResponseToolName, initialPromptTokenCount, groundingMetadataPerRequest }) {
|
|
1783
|
+
static convertGenerateContentResponse({ config, response, responseHeaders, warnings, providerOptionsNames, toolNameMapping, jsonResponseToolName, initialPromptTokenCount, groundingMetadataPerRequest }) {
|
|
1775
1784
|
const wrapProviderMetadata = (payload) => Object.fromEntries(providerOptionsNames.map((name) => [name, payload]));
|
|
1776
1785
|
const candidate = response.candidates?.[0];
|
|
1777
1786
|
const promptBlockReason = response.promptFeedback?.blockReason;
|
|
@@ -1904,7 +1913,7 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
1904
1913
|
safetyRatings: candidate?.safetyRatings ?? null,
|
|
1905
1914
|
usageMetadata: usageMetadata ?? null,
|
|
1906
1915
|
finishMessage: candidate?.finishMessage ?? null,
|
|
1907
|
-
serviceTier: usageMetadata?.serviceTier ?? null,
|
|
1916
|
+
serviceTier: usageMetadata?.serviceTier ?? responseHeaders?.["x-gemini-service-tier"] ?? null,
|
|
1908
1917
|
...candidate?.continuationToken != null ? { continuationToken: candidate.continuationToken } : {},
|
|
1909
1918
|
...initialPromptTokenCount != null ? { initialPromptTokenCount } : {}
|
|
1910
1919
|
}),
|
|
@@ -1954,6 +1963,7 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
1954
1963
|
...response,
|
|
1955
1964
|
usageMetadata
|
|
1956
1965
|
},
|
|
1966
|
+
responseHeaders,
|
|
1957
1967
|
warnings,
|
|
1958
1968
|
providerOptionsNames,
|
|
1959
1969
|
toolNameMapping,
|
|
@@ -2474,7 +2484,7 @@ var GoogleLanguageModel = class GoogleLanguageModel {
|
|
|
2474
2484
|
safetyRatings: lastSafetyRatings,
|
|
2475
2485
|
usageMetadata: usage ?? null,
|
|
2476
2486
|
finishMessage: lastFinishMessage,
|
|
2477
|
-
serviceTier: usage?.serviceTier ?? null,
|
|
2487
|
+
serviceTier: usage?.serviceTier ?? responseHeaders?.["x-gemini-service-tier"] ?? null,
|
|
2478
2488
|
...lastContinuationToken != null && (finishReason.raw === "MAX_TOKENS" || finishReason.raw === "CONTINUATION") ? { continuationToken: lastContinuationToken } : {},
|
|
2479
2489
|
...initialPromptTokenCount != null ? { initialPromptTokenCount } : {}
|
|
2480
2490
|
})
|