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.
@@ -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
- # Remove headers that are not deterministic so the replay files don't change
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
- if (
451
- response_model
452
- and getattr(response_model, 'sdk_http_response', None) is not None
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
- response_model.sdk_http_response.headers.pop('Date', None) # type: ignore[attr-defined]
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
  )