@ai-sdk/google 4.0.0-canary.70 → 4.0.0-canary.71

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ai-sdk/google
2
2
 
3
+ ## 4.0.0-canary.71
4
+
5
+ ### Patch Changes
6
+
7
+ - 045d2e8: fix(google): read `serviceTier` from `usageMetadata.serviceTier` in both generate and stream paths
8
+
9
+ The previous implementation read `serviceTier` from the `x-gemini-service-tier`
10
+ response header, which is only populated on non-streaming responses. Gemini
11
+ streaming includes the value in `usageMetadata.serviceTier` on every chunk, so
12
+ `providerMetadata.google.serviceTier` was always `null` for streams. Read from
13
+ `usageMetadata` for both paths instead.
14
+
3
15
  ## 4.0.0-canary.70
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -171,6 +171,7 @@ declare const responseSchema: _ai_sdk_provider_utils.LazySchema<{
171
171
  candidatesTokenCount?: number | null | undefined;
172
172
  totalTokenCount?: number | null | undefined;
173
173
  trafficType?: string | null | undefined;
174
+ serviceTier?: string | null | undefined;
174
175
  promptTokensDetails?: {
175
176
  modality: string;
176
177
  tokenCount: number;
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  } from "@ai-sdk/provider-utils";
8
8
 
9
9
  // src/version.ts
10
- var VERSION = true ? "4.0.0-canary.70" : "0.0.0-test";
10
+ var VERSION = true ? "4.0.0-canary.71" : "0.0.0-test";
11
11
 
12
12
  // src/google-embedding-model.ts
13
13
  import {
@@ -1855,7 +1855,7 @@ var GoogleLanguageModel = class _GoogleLanguageModel {
1855
1855
  safetyRatings: (_p = candidate.safetyRatings) != null ? _p : null,
1856
1856
  usageMetadata: usageMetadata != null ? usageMetadata : null,
1857
1857
  finishMessage: (_q = candidate.finishMessage) != null ? _q : null,
1858
- serviceTier: (_r = responseHeaders == null ? void 0 : responseHeaders["x-gemini-service-tier"]) != null ? _r : null
1858
+ serviceTier: (_r = usageMetadata == null ? void 0 : usageMetadata.serviceTier) != null ? _r : null
1859
1859
  }),
1860
1860
  request: { body: args },
1861
1861
  response: {
@@ -1866,7 +1866,6 @@ var GoogleLanguageModel = class _GoogleLanguageModel {
1866
1866
  };
1867
1867
  }
1868
1868
  async doStream(options) {
1869
- var _a;
1870
1869
  const { args, warnings, providerOptionsNames, extraHeaders } = await this.getArgs(options, { isStreaming: true });
1871
1870
  const wrapProviderMetadata = (payload) => Object.fromEntries(
1872
1871
  providerOptionsNames.map((name) => [name, payload])
@@ -1895,7 +1894,6 @@ var GoogleLanguageModel = class _GoogleLanguageModel {
1895
1894
  let providerMetadata = void 0;
1896
1895
  let lastGroundingMetadata = null;
1897
1896
  let lastUrlContextMetadata = null;
1898
- const serviceTier = (_a = responseHeaders == null ? void 0 : responseHeaders["x-gemini-service-tier"]) != null ? _a : null;
1899
1897
  const generateId3 = this.config.generateId;
1900
1898
  let hasToolCalls = false;
1901
1899
  let currentTextBlockId = null;
@@ -1940,7 +1938,7 @@ var GoogleLanguageModel = class _GoogleLanguageModel {
1940
1938
  controller.enqueue({ type: "stream-start", warnings });
1941
1939
  },
1942
1940
  transform(chunk, controller) {
1943
- var _a2, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
1941
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
1944
1942
  if (options.includeRawChunks) {
1945
1943
  controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
1946
1944
  }
@@ -1953,7 +1951,7 @@ var GoogleLanguageModel = class _GoogleLanguageModel {
1953
1951
  if (usageMetadata != null) {
1954
1952
  usage = usageMetadata;
1955
1953
  }
1956
- const candidate = (_a2 = value.candidates) == null ? void 0 : _a2[0];
1954
+ const candidate = (_a = value.candidates) == null ? void 0 : _a[0];
1957
1955
  if (candidate == null) {
1958
1956
  return;
1959
1957
  }
@@ -2248,7 +2246,7 @@ var GoogleLanguageModel = class _GoogleLanguageModel {
2248
2246
  safetyRatings: (_n = candidate.safetyRatings) != null ? _n : null,
2249
2247
  usageMetadata: usageMetadata != null ? usageMetadata : null,
2250
2248
  finishMessage: (_o = candidate.finishMessage) != null ? _o : null,
2251
- serviceTier
2249
+ serviceTier: (_p = usage == null ? void 0 : usage.serviceTier) != null ? _p : null
2252
2250
  });
2253
2251
  }
2254
2252
  },
@@ -2575,6 +2573,7 @@ var usageSchema = z5.object({
2575
2573
  totalTokenCount: z5.number().nullish(),
2576
2574
  // https://cloud.google.com/vertex-ai/generative-ai/docs/reference/rest/v1/GenerateContentResponse#TrafficType
2577
2575
  trafficType: z5.string().nullish(),
2576
+ serviceTier: z5.string().nullish(),
2578
2577
  // https://ai.google.dev/api/generate-content#Modality
2579
2578
  promptTokensDetails: tokenDetailsSchema,
2580
2579
  candidatesTokensDetails: tokenDetailsSchema