google-genai 1.24.0__py3-none-any.whl → 1.26.0__py3-none-any.whl
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.
- google/genai/_api_client.py +11 -1
- google/genai/_common.py +6 -4
- google/genai/_extra_utils.py +1 -1
- google/genai/_live_converters.py +1624 -1922
- google/genai/_replay_api_client.py +15 -8
- google/genai/_tokens_converters.py +11 -874
- google/genai/_transformers.py +33 -17
- google/genai/batches.py +388 -3477
- google/genai/caches.py +0 -65
- google/genai/errors.py +2 -2
- google/genai/files.py +4 -0
- google/genai/live.py +22 -15
- google/genai/models.py +10 -170
- google/genai/operations.py +36 -266
- google/genai/tokens.py +8 -4
- google/genai/tunings.py +7 -46
- google/genai/types.py +126 -46
- google/genai/version.py +1 -1
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/METADATA +70 -12
- google_genai-1.26.0.dist-info/RECORD +35 -0
- google_genai-1.24.0.dist-info/RECORD +0 -35
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/WHEEL +0 -0
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/licenses/LICENSE +0 -0
- {google_genai-1.24.0.dist-info → google_genai-1.26.0.dist-info}/top_level.txt +0 -0
@@ -200,6 +200,12 @@ def _debug_print(message: str) -> None:
|
|
200
200
|
)
|
201
201
|
|
202
202
|
|
203
|
+
def pop_undeterministic_headers(headers: dict[str, str]) -> None:
|
204
|
+
"""Remove headers that are not deterministic."""
|
205
|
+
headers.pop('Date', None) # pytype: disable=attribute-error
|
206
|
+
headers.pop('Server-Timing', None) # pytype: disable=attribute-error
|
207
|
+
|
208
|
+
|
203
209
|
class ReplayRequest(BaseModel):
|
204
210
|
"""Represents a single request in a replay."""
|
205
211
|
|
@@ -219,10 +225,7 @@ class ReplayResponse(BaseModel):
|
|
219
225
|
sdk_response_segments: list[dict[str, object]]
|
220
226
|
|
221
227
|
def model_post_init(self, __context: Any) -> None:
|
222
|
-
|
223
|
-
# every time they are recorded.
|
224
|
-
self.headers.pop('Date', None)
|
225
|
-
self.headers.pop('Server-Timing', None)
|
228
|
+
pop_undeterministic_headers(self.headers)
|
226
229
|
|
227
230
|
|
228
231
|
class ReplayInteraction(BaseModel):
|
@@ -447,11 +450,15 @@ class ReplayApiClient(BaseApiClient):
|
|
447
450
|
if self._should_update_replay():
|
448
451
|
if isinstance(response_model, list):
|
449
452
|
response_model = response_model[0]
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
+
sdk_response_response = getattr(response_model, 'sdk_http_response', None)
|
454
|
+
if response_model and (
|
455
|
+
sdk_response_response is not None
|
453
456
|
):
|
454
|
-
|
457
|
+
headers = getattr(
|
458
|
+
sdk_response_response, 'headers', None
|
459
|
+
)
|
460
|
+
if headers:
|
461
|
+
pop_undeterministic_headers(headers)
|
455
462
|
interaction.response.sdk_response_segments.append(
|
456
463
|
response_model.model_dump(exclude_none=True)
|
457
464
|
)
|