scale-gp-beta 0.1.0a30__py3-none-any.whl → 0.1.0a32__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.
Files changed (57) hide show
  1. scale_gp_beta/__init__.py +3 -1
  2. scale_gp_beta/_base_client.py +12 -12
  3. scale_gp_beta/_client.py +20 -20
  4. scale_gp_beta/_compat.py +48 -48
  5. scale_gp_beta/_models.py +51 -45
  6. scale_gp_beta/_qs.py +7 -7
  7. scale_gp_beta/_types.py +53 -12
  8. scale_gp_beta/_utils/__init__.py +9 -2
  9. scale_gp_beta/_utils/_compat.py +45 -0
  10. scale_gp_beta/_utils/_datetime_parse.py +136 -0
  11. scale_gp_beta/_utils/_transform.py +13 -3
  12. scale_gp_beta/_utils/_typing.py +6 -1
  13. scale_gp_beta/_utils/_utils.py +4 -5
  14. scale_gp_beta/_version.py +1 -1
  15. scale_gp_beta/resources/__init__.py +6 -6
  16. scale_gp_beta/resources/chat/completions.py +236 -236
  17. scale_gp_beta/resources/completions.py +142 -142
  18. scale_gp_beta/resources/dataset_items.py +27 -27
  19. scale_gp_beta/resources/datasets.py +38 -38
  20. scale_gp_beta/resources/evaluation_items.py +19 -19
  21. scale_gp_beta/resources/evaluations.py +97 -75
  22. scale_gp_beta/resources/files/content.py +3 -3
  23. scale_gp_beta/resources/files/files.py +21 -21
  24. scale_gp_beta/resources/inference.py +7 -7
  25. scale_gp_beta/resources/models.py +71 -73
  26. scale_gp_beta/resources/questions.py +43 -43
  27. scale_gp_beta/resources/responses.py +34 -34
  28. scale_gp_beta/resources/spans.py +81 -81
  29. scale_gp_beta/types/__init__.py +4 -4
  30. scale_gp_beta/types/chat/chat_completion.py +114 -19
  31. scale_gp_beta/types/chat/chat_completion_chunk.py +84 -14
  32. scale_gp_beta/types/chat/completion_create_params.py +5 -3
  33. scale_gp_beta/types/completion.py +36 -6
  34. scale_gp_beta/types/completion_create_params.py +5 -3
  35. scale_gp_beta/types/container.py +2 -2
  36. scale_gp_beta/types/container_param.py +2 -2
  37. scale_gp_beta/types/dataset_create_params.py +4 -2
  38. scale_gp_beta/types/dataset_list_params.py +3 -2
  39. scale_gp_beta/types/dataset_update_params.py +3 -2
  40. scale_gp_beta/types/evaluation.py +7 -1
  41. scale_gp_beta/types/evaluation_create_params.py +17 -6
  42. scale_gp_beta/types/evaluation_list_params.py +3 -1
  43. scale_gp_beta/types/evaluation_task.py +6 -1
  44. scale_gp_beta/types/evaluation_task_param.py +4 -3
  45. scale_gp_beta/types/evaluation_update_params.py +3 -2
  46. scale_gp_beta/types/inference_model.py +10 -1
  47. scale_gp_beta/types/model_create_params.py +6 -4
  48. scale_gp_beta/types/model_update_params.py +6 -4
  49. scale_gp_beta/types/question_create_params.py +4 -2
  50. scale_gp_beta/types/response.py +852 -142
  51. scale_gp_beta/types/response_create_params.py +7 -5
  52. scale_gp_beta/types/response_create_response.py +6072 -1012
  53. scale_gp_beta/types/span_search_params.py +8 -7
  54. {scale_gp_beta-0.1.0a30.dist-info → scale_gp_beta-0.1.0a32.dist-info}/METADATA +1 -1
  55. {scale_gp_beta-0.1.0a30.dist-info → scale_gp_beta-0.1.0a32.dist-info}/RECORD +57 -55
  56. {scale_gp_beta-0.1.0a30.dist-info → scale_gp_beta-0.1.0a32.dist-info}/WHEEL +0 -0
  57. {scale_gp_beta-0.1.0a30.dist-info → scale_gp_beta-0.1.0a32.dist-info}/licenses/LICENSE +0 -0
@@ -189,12 +189,17 @@ class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesR
189
189
 
190
190
  type: Literal["file_citation"]
191
191
 
192
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
193
192
  if TYPE_CHECKING:
193
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
194
+ # value to this field, so for compatibility we avoid doing it at runtime.
195
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
196
+
194
197
  # Stub to indicate that arbitrary properties are accepted.
195
198
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
196
199
  # `getattr(obj, '$type')`
197
200
  def __getattr__(self, attr: str) -> object: ...
201
+ else:
202
+ __pydantic_extra__: Dict[str, object]
198
203
 
199
204
 
200
205
  class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationURLCitation(
@@ -210,12 +215,17 @@ class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesR
210
215
 
211
216
  url: str
212
217
 
213
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
214
218
  if TYPE_CHECKING:
219
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
220
+ # value to this field, so for compatibility we avoid doing it at runtime.
221
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
222
+
215
223
  # Stub to indicate that arbitrary properties are accepted.
216
224
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
217
225
  # `getattr(obj, '$type')`
218
226
  def __getattr__(self, attr: str) -> object: ...
227
+ else:
228
+ __pydantic_extra__: Dict[str, object]
219
229
 
220
230
 
221
231
  class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationContainerFileCitation(
@@ -233,12 +243,17 @@ class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesR
233
243
 
234
244
  type: Literal["container_file_citation"]
235
245
 
236
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
237
246
  if TYPE_CHECKING:
247
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
248
+ # value to this field, so for compatibility we avoid doing it at runtime.
249
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
250
+
238
251
  # Stub to indicate that arbitrary properties are accepted.
239
252
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
240
253
  # `getattr(obj, '$type')`
241
254
  def __getattr__(self, attr: str) -> object: ...
255
+ else:
256
+ __pydantic_extra__: Dict[str, object]
242
257
 
243
258
 
244
259
  class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFilePath(
@@ -250,12 +265,17 @@ class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesR
250
265
 
251
266
  type: Literal["file_path"]
252
267
 
253
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
254
268
  if TYPE_CHECKING:
269
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
270
+ # value to this field, so for compatibility we avoid doing it at runtime.
271
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
272
+
255
273
  # Stub to indicate that arbitrary properties are accepted.
256
274
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
257
275
  # `getattr(obj, '$type')`
258
276
  def __getattr__(self, attr: str) -> object: ...
277
+ else:
278
+ __pydantic_extra__: Dict[str, object]
259
279
 
260
280
 
261
281
  OutputResponseOutputMessageContentResponseOutputTextAnnotation: TypeAlias = Union[
@@ -273,12 +293,17 @@ class OutputResponseOutputMessageContentResponseOutputTextLogprobTopLogprob(Base
273
293
 
274
294
  logprob: float
275
295
 
276
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
277
296
  if TYPE_CHECKING:
297
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
298
+ # value to this field, so for compatibility we avoid doing it at runtime.
299
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
300
+
278
301
  # Stub to indicate that arbitrary properties are accepted.
279
302
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
280
303
  # `getattr(obj, '$type')`
281
304
  def __getattr__(self, attr: str) -> object: ...
305
+ else:
306
+ __pydantic_extra__: Dict[str, object]
282
307
 
283
308
 
284
309
  class OutputResponseOutputMessageContentResponseOutputTextLogprob(BaseModel):
@@ -290,12 +315,17 @@ class OutputResponseOutputMessageContentResponseOutputTextLogprob(BaseModel):
290
315
 
291
316
  top_logprobs: List[OutputResponseOutputMessageContentResponseOutputTextLogprobTopLogprob]
292
317
 
293
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
294
318
  if TYPE_CHECKING:
319
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
320
+ # value to this field, so for compatibility we avoid doing it at runtime.
321
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
322
+
295
323
  # Stub to indicate that arbitrary properties are accepted.
296
324
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
297
325
  # `getattr(obj, '$type')`
298
326
  def __getattr__(self, attr: str) -> object: ...
327
+ else:
328
+ __pydantic_extra__: Dict[str, object]
299
329
 
300
330
 
301
331
  class OutputResponseOutputMessageContentResponseOutputText(BaseModel):
@@ -307,12 +337,17 @@ class OutputResponseOutputMessageContentResponseOutputText(BaseModel):
307
337
 
308
338
  logprobs: Optional[List[OutputResponseOutputMessageContentResponseOutputTextLogprob]] = None
309
339
 
310
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
311
340
  if TYPE_CHECKING:
341
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
342
+ # value to this field, so for compatibility we avoid doing it at runtime.
343
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
344
+
312
345
  # Stub to indicate that arbitrary properties are accepted.
313
346
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
314
347
  # `getattr(obj, '$type')`
315
348
  def __getattr__(self, attr: str) -> object: ...
349
+ else:
350
+ __pydantic_extra__: Dict[str, object]
316
351
 
317
352
 
318
353
  class OutputResponseOutputMessageContentResponseOutputRefusal(BaseModel):
@@ -320,12 +355,17 @@ class OutputResponseOutputMessageContentResponseOutputRefusal(BaseModel):
320
355
 
321
356
  type: Literal["refusal"]
322
357
 
323
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
324
358
  if TYPE_CHECKING:
359
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
360
+ # value to this field, so for compatibility we avoid doing it at runtime.
361
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
362
+
325
363
  # Stub to indicate that arbitrary properties are accepted.
326
364
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
327
365
  # `getattr(obj, '$type')`
328
366
  def __getattr__(self, attr: str) -> object: ...
367
+ else:
368
+ __pydantic_extra__: Dict[str, object]
329
369
 
330
370
 
331
371
  OutputResponseOutputMessageContent: TypeAlias = Union[
@@ -344,12 +384,17 @@ class OutputResponseOutputMessage(BaseModel):
344
384
 
345
385
  type: Literal["message"]
346
386
 
347
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
348
387
  if TYPE_CHECKING:
388
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
389
+ # value to this field, so for compatibility we avoid doing it at runtime.
390
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
391
+
349
392
  # Stub to indicate that arbitrary properties are accepted.
350
393
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
351
394
  # `getattr(obj, '$type')`
352
395
  def __getattr__(self, attr: str) -> object: ...
396
+ else:
397
+ __pydantic_extra__: Dict[str, object]
353
398
 
354
399
 
355
400
  class OutputResponseFileSearchToolCallResult(BaseModel):
@@ -363,12 +408,17 @@ class OutputResponseFileSearchToolCallResult(BaseModel):
363
408
 
364
409
  text: Optional[str] = None
365
410
 
366
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
367
411
  if TYPE_CHECKING:
412
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
413
+ # value to this field, so for compatibility we avoid doing it at runtime.
414
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
415
+
368
416
  # Stub to indicate that arbitrary properties are accepted.
369
417
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
370
418
  # `getattr(obj, '$type')`
371
419
  def __getattr__(self, attr: str) -> object: ...
420
+ else:
421
+ __pydantic_extra__: Dict[str, object]
372
422
 
373
423
 
374
424
  class OutputResponseFileSearchToolCall(BaseModel):
@@ -382,12 +432,17 @@ class OutputResponseFileSearchToolCall(BaseModel):
382
432
 
383
433
  results: Optional[List[OutputResponseFileSearchToolCallResult]] = None
384
434
 
385
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
386
435
  if TYPE_CHECKING:
436
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
437
+ # value to this field, so for compatibility we avoid doing it at runtime.
438
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
439
+
387
440
  # Stub to indicate that arbitrary properties are accepted.
388
441
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
389
442
  # `getattr(obj, '$type')`
390
443
  def __getattr__(self, attr: str) -> object: ...
444
+ else:
445
+ __pydantic_extra__: Dict[str, object]
391
446
 
392
447
 
393
448
  class OutputResponseFunctionToolCall(BaseModel):
@@ -403,12 +458,17 @@ class OutputResponseFunctionToolCall(BaseModel):
403
458
 
404
459
  status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
405
460
 
406
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
407
461
  if TYPE_CHECKING:
462
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
463
+ # value to this field, so for compatibility we avoid doing it at runtime.
464
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
465
+
408
466
  # Stub to indicate that arbitrary properties are accepted.
409
467
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
410
468
  # `getattr(obj, '$type')`
411
469
  def __getattr__(self, attr: str) -> object: ...
470
+ else:
471
+ __pydantic_extra__: Dict[str, object]
412
472
 
413
473
 
414
474
  class OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionSearch(BaseModel):
@@ -416,12 +476,17 @@ class OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionW
416
476
 
417
477
  type: Literal["search"]
418
478
 
419
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
420
479
  if TYPE_CHECKING:
480
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
481
+ # value to this field, so for compatibility we avoid doing it at runtime.
482
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
483
+
421
484
  # Stub to indicate that arbitrary properties are accepted.
422
485
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
423
486
  # `getattr(obj, '$type')`
424
487
  def __getattr__(self, attr: str) -> object: ...
488
+ else:
489
+ __pydantic_extra__: Dict[str, object]
425
490
 
426
491
 
427
492
  class OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionOpenPage(BaseModel):
@@ -429,12 +494,17 @@ class OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionW
429
494
 
430
495
  url: str
431
496
 
432
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
433
497
  if TYPE_CHECKING:
498
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
499
+ # value to this field, so for compatibility we avoid doing it at runtime.
500
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
501
+
434
502
  # Stub to indicate that arbitrary properties are accepted.
435
503
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
436
504
  # `getattr(obj, '$type')`
437
505
  def __getattr__(self, attr: str) -> object: ...
506
+ else:
507
+ __pydantic_extra__: Dict[str, object]
438
508
 
439
509
 
440
510
  class OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionFind(BaseModel):
@@ -444,12 +514,17 @@ class OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionW
444
514
 
445
515
  url: str
446
516
 
447
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
448
517
  if TYPE_CHECKING:
518
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
519
+ # value to this field, so for compatibility we avoid doing it at runtime.
520
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
521
+
449
522
  # Stub to indicate that arbitrary properties are accepted.
450
523
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
451
524
  # `getattr(obj, '$type')`
452
525
  def __getattr__(self, attr: str) -> object: ...
526
+ else:
527
+ __pydantic_extra__: Dict[str, object]
453
528
 
454
529
 
455
530
  OutputResponseFunctionWebSearchAction: TypeAlias = Union[
@@ -468,12 +543,17 @@ class OutputResponseFunctionWebSearch(BaseModel):
468
543
 
469
544
  type: Literal["web_search_call"]
470
545
 
471
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
472
546
  if TYPE_CHECKING:
547
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
548
+ # value to this field, so for compatibility we avoid doing it at runtime.
549
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
550
+
473
551
  # Stub to indicate that arbitrary properties are accepted.
474
552
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
475
553
  # `getattr(obj, '$type')`
476
554
  def __getattr__(self, attr: str) -> object: ...
555
+ else:
556
+ __pydantic_extra__: Dict[str, object]
477
557
 
478
558
 
479
559
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionClick(BaseModel):
@@ -485,12 +565,17 @@ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerTo
485
565
 
486
566
  y: int
487
567
 
488
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
489
568
  if TYPE_CHECKING:
569
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
570
+ # value to this field, so for compatibility we avoid doing it at runtime.
571
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
572
+
490
573
  # Stub to indicate that arbitrary properties are accepted.
491
574
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
492
575
  # `getattr(obj, '$type')`
493
576
  def __getattr__(self, attr: str) -> object: ...
577
+ else:
578
+ __pydantic_extra__: Dict[str, object]
494
579
 
495
580
 
496
581
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDoubleClick(BaseModel):
@@ -500,12 +585,17 @@ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerTo
500
585
 
501
586
  y: int
502
587
 
503
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
504
588
  if TYPE_CHECKING:
589
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
590
+ # value to this field, so for compatibility we avoid doing it at runtime.
591
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
592
+
505
593
  # Stub to indicate that arbitrary properties are accepted.
506
594
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
507
595
  # `getattr(obj, '$type')`
508
596
  def __getattr__(self, attr: str) -> object: ...
597
+ else:
598
+ __pydantic_extra__: Dict[str, object]
509
599
 
510
600
 
511
601
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDragPath(BaseModel):
@@ -513,12 +603,17 @@ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerTo
513
603
 
514
604
  y: int
515
605
 
516
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
517
606
  if TYPE_CHECKING:
607
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
608
+ # value to this field, so for compatibility we avoid doing it at runtime.
609
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
610
+
518
611
  # Stub to indicate that arbitrary properties are accepted.
519
612
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
520
613
  # `getattr(obj, '$type')`
521
614
  def __getattr__(self, attr: str) -> object: ...
615
+ else:
616
+ __pydantic_extra__: Dict[str, object]
522
617
 
523
618
 
524
619
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDrag(BaseModel):
@@ -526,12 +621,17 @@ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerTo
526
621
 
527
622
  type: Literal["drag"]
528
623
 
529
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
530
624
  if TYPE_CHECKING:
625
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
626
+ # value to this field, so for compatibility we avoid doing it at runtime.
627
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
628
+
531
629
  # Stub to indicate that arbitrary properties are accepted.
532
630
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
533
631
  # `getattr(obj, '$type')`
534
632
  def __getattr__(self, attr: str) -> object: ...
633
+ else:
634
+ __pydantic_extra__: Dict[str, object]
535
635
 
536
636
 
537
637
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionKeypress(BaseModel):
@@ -539,12 +639,17 @@ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerTo
539
639
 
540
640
  type: Literal["keypress"]
541
641
 
542
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
543
642
  if TYPE_CHECKING:
643
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
644
+ # value to this field, so for compatibility we avoid doing it at runtime.
645
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
646
+
544
647
  # Stub to indicate that arbitrary properties are accepted.
545
648
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
546
649
  # `getattr(obj, '$type')`
547
650
  def __getattr__(self, attr: str) -> object: ...
651
+ else:
652
+ __pydantic_extra__: Dict[str, object]
548
653
 
549
654
 
550
655
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionMove(BaseModel):
@@ -554,23 +659,33 @@ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerTo
554
659
 
555
660
  y: int
556
661
 
557
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
558
662
  if TYPE_CHECKING:
663
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
664
+ # value to this field, so for compatibility we avoid doing it at runtime.
665
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
666
+
559
667
  # Stub to indicate that arbitrary properties are accepted.
560
668
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
561
669
  # `getattr(obj, '$type')`
562
670
  def __getattr__(self, attr: str) -> object: ...
671
+ else:
672
+ __pydantic_extra__: Dict[str, object]
563
673
 
564
674
 
565
675
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScreenshot(BaseModel):
566
676
  type: Literal["screenshot"]
567
677
 
568
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
569
678
  if TYPE_CHECKING:
679
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
680
+ # value to this field, so for compatibility we avoid doing it at runtime.
681
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
682
+
570
683
  # Stub to indicate that arbitrary properties are accepted.
571
684
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
572
685
  # `getattr(obj, '$type')`
573
686
  def __getattr__(self, attr: str) -> object: ...
687
+ else:
688
+ __pydantic_extra__: Dict[str, object]
574
689
 
575
690
 
576
691
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScroll(BaseModel):
@@ -584,12 +699,17 @@ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerTo
584
699
 
585
700
  y: int
586
701
 
587
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
588
702
  if TYPE_CHECKING:
703
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
704
+ # value to this field, so for compatibility we avoid doing it at runtime.
705
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
706
+
589
707
  # Stub to indicate that arbitrary properties are accepted.
590
708
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
591
709
  # `getattr(obj, '$type')`
592
710
  def __getattr__(self, attr: str) -> object: ...
711
+ else:
712
+ __pydantic_extra__: Dict[str, object]
593
713
 
594
714
 
595
715
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionType(BaseModel):
@@ -597,23 +717,33 @@ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerTo
597
717
 
598
718
  type: Literal["type"]
599
719
 
600
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
601
720
  if TYPE_CHECKING:
721
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
722
+ # value to this field, so for compatibility we avoid doing it at runtime.
723
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
724
+
602
725
  # Stub to indicate that arbitrary properties are accepted.
603
726
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
604
727
  # `getattr(obj, '$type')`
605
728
  def __getattr__(self, attr: str) -> object: ...
729
+ else:
730
+ __pydantic_extra__: Dict[str, object]
606
731
 
607
732
 
608
733
  class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionWait(BaseModel):
609
734
  type: Literal["wait"]
610
735
 
611
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
612
736
  if TYPE_CHECKING:
737
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
738
+ # value to this field, so for compatibility we avoid doing it at runtime.
739
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
740
+
613
741
  # Stub to indicate that arbitrary properties are accepted.
614
742
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
615
743
  # `getattr(obj, '$type')`
616
744
  def __getattr__(self, attr: str) -> object: ...
745
+ else:
746
+ __pydantic_extra__: Dict[str, object]
617
747
 
618
748
 
619
749
  OutputResponseComputerToolCallAction: TypeAlias = Union[
@@ -636,12 +766,17 @@ class OutputResponseComputerToolCallPendingSafetyCheck(BaseModel):
636
766
 
637
767
  message: str
638
768
 
639
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
640
769
  if TYPE_CHECKING:
770
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
771
+ # value to this field, so for compatibility we avoid doing it at runtime.
772
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
773
+
641
774
  # Stub to indicate that arbitrary properties are accepted.
642
775
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
643
776
  # `getattr(obj, '$type')`
644
777
  def __getattr__(self, attr: str) -> object: ...
778
+ else:
779
+ __pydantic_extra__: Dict[str, object]
645
780
 
646
781
 
647
782
  class OutputResponseComputerToolCall(BaseModel):
@@ -657,12 +792,17 @@ class OutputResponseComputerToolCall(BaseModel):
657
792
 
658
793
  type: Literal["computer_call"]
659
794
 
660
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
661
795
  if TYPE_CHECKING:
796
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
797
+ # value to this field, so for compatibility we avoid doing it at runtime.
798
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
799
+
662
800
  # Stub to indicate that arbitrary properties are accepted.
663
801
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
664
802
  # `getattr(obj, '$type')`
665
803
  def __getattr__(self, attr: str) -> object: ...
804
+ else:
805
+ __pydantic_extra__: Dict[str, object]
666
806
 
667
807
 
668
808
  class OutputResponseReasoningItemSummary(BaseModel):
@@ -670,12 +810,17 @@ class OutputResponseReasoningItemSummary(BaseModel):
670
810
 
671
811
  type: Literal["summary_text"]
672
812
 
673
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
674
813
  if TYPE_CHECKING:
814
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
815
+ # value to this field, so for compatibility we avoid doing it at runtime.
816
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
817
+
675
818
  # Stub to indicate that arbitrary properties are accepted.
676
819
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
677
820
  # `getattr(obj, '$type')`
678
821
  def __getattr__(self, attr: str) -> object: ...
822
+ else:
823
+ __pydantic_extra__: Dict[str, object]
679
824
 
680
825
 
681
826
  class OutputResponseReasoningItemContent(BaseModel):
@@ -683,12 +828,17 @@ class OutputResponseReasoningItemContent(BaseModel):
683
828
 
684
829
  type: Literal["reasoning_text"]
685
830
 
686
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
687
831
  if TYPE_CHECKING:
832
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
833
+ # value to this field, so for compatibility we avoid doing it at runtime.
834
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
835
+
688
836
  # Stub to indicate that arbitrary properties are accepted.
689
837
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
690
838
  # `getattr(obj, '$type')`
691
839
  def __getattr__(self, attr: str) -> object: ...
840
+ else:
841
+ __pydantic_extra__: Dict[str, object]
692
842
 
693
843
 
694
844
  class OutputResponseReasoningItem(BaseModel):
@@ -704,12 +854,17 @@ class OutputResponseReasoningItem(BaseModel):
704
854
 
705
855
  status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
706
856
 
707
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
708
857
  if TYPE_CHECKING:
858
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
859
+ # value to this field, so for compatibility we avoid doing it at runtime.
860
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
861
+
709
862
  # Stub to indicate that arbitrary properties are accepted.
710
863
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
711
864
  # `getattr(obj, '$type')`
712
865
  def __getattr__(self, attr: str) -> object: ...
866
+ else:
867
+ __pydantic_extra__: Dict[str, object]
713
868
 
714
869
 
715
870
  class OutputOpenAITypesResponsesResponseOutputItemImageGenerationCall(BaseModel):
@@ -721,12 +876,17 @@ class OutputOpenAITypesResponsesResponseOutputItemImageGenerationCall(BaseModel)
721
876
 
722
877
  result: Optional[str] = None
723
878
 
724
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
725
879
  if TYPE_CHECKING:
880
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
881
+ # value to this field, so for compatibility we avoid doing it at runtime.
882
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
883
+
726
884
  # Stub to indicate that arbitrary properties are accepted.
727
885
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
728
886
  # `getattr(obj, '$type')`
729
887
  def __getattr__(self, attr: str) -> object: ...
888
+ else:
889
+ __pydantic_extra__: Dict[str, object]
730
890
 
731
891
 
732
892
  class OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputLogs(
@@ -736,12 +896,17 @@ class OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCod
736
896
 
737
897
  type: Literal["logs"]
738
898
 
739
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
740
899
  if TYPE_CHECKING:
900
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
901
+ # value to this field, so for compatibility we avoid doing it at runtime.
902
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
903
+
741
904
  # Stub to indicate that arbitrary properties are accepted.
742
905
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
743
906
  # `getattr(obj, '$type')`
744
907
  def __getattr__(self, attr: str) -> object: ...
908
+ else:
909
+ __pydantic_extra__: Dict[str, object]
745
910
 
746
911
 
747
912
  class OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputImage(
@@ -751,12 +916,17 @@ class OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCod
751
916
 
752
917
  url: str
753
918
 
754
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
755
919
  if TYPE_CHECKING:
920
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
921
+ # value to this field, so for compatibility we avoid doing it at runtime.
922
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
923
+
756
924
  # Stub to indicate that arbitrary properties are accepted.
757
925
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
758
926
  # `getattr(obj, '$type')`
759
927
  def __getattr__(self, attr: str) -> object: ...
928
+ else:
929
+ __pydantic_extra__: Dict[str, object]
760
930
 
761
931
 
762
932
  OutputResponseCodeInterpreterToolCallOutput: TypeAlias = Union[
@@ -778,12 +948,17 @@ class OutputResponseCodeInterpreterToolCall(BaseModel):
778
948
 
779
949
  outputs: Optional[List[OutputResponseCodeInterpreterToolCallOutput]] = None
780
950
 
781
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
782
951
  if TYPE_CHECKING:
952
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
953
+ # value to this field, so for compatibility we avoid doing it at runtime.
954
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
955
+
783
956
  # Stub to indicate that arbitrary properties are accepted.
784
957
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
785
958
  # `getattr(obj, '$type')`
786
959
  def __getattr__(self, attr: str) -> object: ...
960
+ else:
961
+ __pydantic_extra__: Dict[str, object]
787
962
 
788
963
 
789
964
  class OutputOpenAITypesResponsesResponseOutputItemLocalShellCallAction(BaseModel):
@@ -799,12 +974,17 @@ class OutputOpenAITypesResponsesResponseOutputItemLocalShellCallAction(BaseModel
799
974
 
800
975
  working_directory: Optional[str] = None
801
976
 
802
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
803
977
  if TYPE_CHECKING:
978
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
979
+ # value to this field, so for compatibility we avoid doing it at runtime.
980
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
981
+
804
982
  # Stub to indicate that arbitrary properties are accepted.
805
983
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
806
984
  # `getattr(obj, '$type')`
807
985
  def __getattr__(self, attr: str) -> object: ...
986
+ else:
987
+ __pydantic_extra__: Dict[str, object]
808
988
 
809
989
 
810
990
  class OutputOpenAITypesResponsesResponseOutputItemLocalShellCall(BaseModel):
@@ -818,12 +998,17 @@ class OutputOpenAITypesResponsesResponseOutputItemLocalShellCall(BaseModel):
818
998
 
819
999
  type: Literal["local_shell_call"]
820
1000
 
821
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
822
1001
  if TYPE_CHECKING:
1002
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1003
+ # value to this field, so for compatibility we avoid doing it at runtime.
1004
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1005
+
823
1006
  # Stub to indicate that arbitrary properties are accepted.
824
1007
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
825
1008
  # `getattr(obj, '$type')`
826
1009
  def __getattr__(self, attr: str) -> object: ...
1010
+ else:
1011
+ __pydantic_extra__: Dict[str, object]
827
1012
 
828
1013
 
829
1014
  class OutputOpenAITypesResponsesResponseOutputItemMcpCall(BaseModel):
@@ -841,12 +1026,17 @@ class OutputOpenAITypesResponsesResponseOutputItemMcpCall(BaseModel):
841
1026
 
842
1027
  output: Optional[str] = None
843
1028
 
844
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
845
1029
  if TYPE_CHECKING:
1030
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1031
+ # value to this field, so for compatibility we avoid doing it at runtime.
1032
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1033
+
846
1034
  # Stub to indicate that arbitrary properties are accepted.
847
1035
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
848
1036
  # `getattr(obj, '$type')`
849
1037
  def __getattr__(self, attr: str) -> object: ...
1038
+ else:
1039
+ __pydantic_extra__: Dict[str, object]
850
1040
 
851
1041
 
852
1042
  class OutputOpenAITypesResponsesResponseOutputItemMcpListToolsTool(BaseModel):
@@ -858,12 +1048,17 @@ class OutputOpenAITypesResponsesResponseOutputItemMcpListToolsTool(BaseModel):
858
1048
 
859
1049
  description: Optional[str] = None
860
1050
 
861
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
862
1051
  if TYPE_CHECKING:
1052
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1053
+ # value to this field, so for compatibility we avoid doing it at runtime.
1054
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1055
+
863
1056
  # Stub to indicate that arbitrary properties are accepted.
864
1057
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
865
1058
  # `getattr(obj, '$type')`
866
1059
  def __getattr__(self, attr: str) -> object: ...
1060
+ else:
1061
+ __pydantic_extra__: Dict[str, object]
867
1062
 
868
1063
 
869
1064
  class OutputOpenAITypesResponsesResponseOutputItemMcpListTools(BaseModel):
@@ -877,12 +1072,17 @@ class OutputOpenAITypesResponsesResponseOutputItemMcpListTools(BaseModel):
877
1072
 
878
1073
  error: Optional[str] = None
879
1074
 
880
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
881
1075
  if TYPE_CHECKING:
1076
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1077
+ # value to this field, so for compatibility we avoid doing it at runtime.
1078
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1079
+
882
1080
  # Stub to indicate that arbitrary properties are accepted.
883
1081
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
884
1082
  # `getattr(obj, '$type')`
885
1083
  def __getattr__(self, attr: str) -> object: ...
1084
+ else:
1085
+ __pydantic_extra__: Dict[str, object]
886
1086
 
887
1087
 
888
1088
  class OutputOpenAITypesResponsesResponseOutputItemMcpApprovalRequest(BaseModel):
@@ -896,12 +1096,17 @@ class OutputOpenAITypesResponsesResponseOutputItemMcpApprovalRequest(BaseModel):
896
1096
 
897
1097
  type: Literal["mcp_approval_request"]
898
1098
 
899
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
900
1099
  if TYPE_CHECKING:
1100
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1101
+ # value to this field, so for compatibility we avoid doing it at runtime.
1102
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1103
+
901
1104
  # Stub to indicate that arbitrary properties are accepted.
902
1105
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
903
1106
  # `getattr(obj, '$type')`
904
1107
  def __getattr__(self, attr: str) -> object: ...
1108
+ else:
1109
+ __pydantic_extra__: Dict[str, object]
905
1110
 
906
1111
 
907
1112
  class OutputResponseCustomToolCall(BaseModel):
@@ -915,12 +1120,17 @@ class OutputResponseCustomToolCall(BaseModel):
915
1120
 
916
1121
  id: Optional[str] = None
917
1122
 
918
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
919
1123
  if TYPE_CHECKING:
1124
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1125
+ # value to this field, so for compatibility we avoid doing it at runtime.
1126
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1127
+
920
1128
  # Stub to indicate that arbitrary properties are accepted.
921
1129
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
922
1130
  # `getattr(obj, '$type')`
923
1131
  def __getattr__(self, attr: str) -> object: ...
1132
+ else:
1133
+ __pydantic_extra__: Dict[str, object]
924
1134
 
925
1135
 
926
1136
  Output: TypeAlias = Union[
@@ -947,12 +1157,17 @@ class ToolChoiceToolChoiceAllowed(BaseModel):
947
1157
 
948
1158
  type: Literal["allowed_tools"]
949
1159
 
950
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
951
1160
  if TYPE_CHECKING:
1161
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1162
+ # value to this field, so for compatibility we avoid doing it at runtime.
1163
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1164
+
952
1165
  # Stub to indicate that arbitrary properties are accepted.
953
1166
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
954
1167
  # `getattr(obj, '$type')`
955
1168
  def __getattr__(self, attr: str) -> object: ...
1169
+ else:
1170
+ __pydantic_extra__: Dict[str, object]
956
1171
 
957
1172
 
958
1173
  class ToolChoiceToolChoiceTypes(BaseModel):
@@ -965,12 +1180,17 @@ class ToolChoiceToolChoiceTypes(BaseModel):
965
1180
  "code_interpreter",
966
1181
  ]
967
1182
 
968
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
969
1183
  if TYPE_CHECKING:
1184
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1185
+ # value to this field, so for compatibility we avoid doing it at runtime.
1186
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1187
+
970
1188
  # Stub to indicate that arbitrary properties are accepted.
971
1189
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
972
1190
  # `getattr(obj, '$type')`
973
1191
  def __getattr__(self, attr: str) -> object: ...
1192
+ else:
1193
+ __pydantic_extra__: Dict[str, object]
974
1194
 
975
1195
 
976
1196
  class ToolChoiceToolChoiceFunction(BaseModel):
@@ -978,12 +1198,17 @@ class ToolChoiceToolChoiceFunction(BaseModel):
978
1198
 
979
1199
  type: Literal["function"]
980
1200
 
981
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
982
1201
  if TYPE_CHECKING:
1202
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1203
+ # value to this field, so for compatibility we avoid doing it at runtime.
1204
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1205
+
983
1206
  # Stub to indicate that arbitrary properties are accepted.
984
1207
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
985
1208
  # `getattr(obj, '$type')`
986
1209
  def __getattr__(self, attr: str) -> object: ...
1210
+ else:
1211
+ __pydantic_extra__: Dict[str, object]
987
1212
 
988
1213
 
989
1214
  class ToolChoiceToolChoiceMcp(BaseModel):
@@ -993,12 +1218,17 @@ class ToolChoiceToolChoiceMcp(BaseModel):
993
1218
 
994
1219
  name: Optional[str] = None
995
1220
 
996
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
997
1221
  if TYPE_CHECKING:
1222
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1223
+ # value to this field, so for compatibility we avoid doing it at runtime.
1224
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1225
+
998
1226
  # Stub to indicate that arbitrary properties are accepted.
999
1227
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1000
1228
  # `getattr(obj, '$type')`
1001
1229
  def __getattr__(self, attr: str) -> object: ...
1230
+ else:
1231
+ __pydantic_extra__: Dict[str, object]
1002
1232
 
1003
1233
 
1004
1234
  class ToolChoiceToolChoiceCustom(BaseModel):
@@ -1006,12 +1236,17 @@ class ToolChoiceToolChoiceCustom(BaseModel):
1006
1236
 
1007
1237
  type: Literal["custom"]
1008
1238
 
1009
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1010
1239
  if TYPE_CHECKING:
1240
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1241
+ # value to this field, so for compatibility we avoid doing it at runtime.
1242
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1243
+
1011
1244
  # Stub to indicate that arbitrary properties are accepted.
1012
1245
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1013
1246
  # `getattr(obj, '$type')`
1014
1247
  def __getattr__(self, attr: str) -> object: ...
1248
+ else:
1249
+ __pydantic_extra__: Dict[str, object]
1015
1250
 
1016
1251
 
1017
1252
  ToolChoice: TypeAlias = Union[
@@ -1035,12 +1270,17 @@ class ToolFunctionTool(BaseModel):
1035
1270
 
1036
1271
  strict: Optional[bool] = None
1037
1272
 
1038
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1039
1273
  if TYPE_CHECKING:
1274
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1275
+ # value to this field, so for compatibility we avoid doing it at runtime.
1276
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1277
+
1040
1278
  # Stub to indicate that arbitrary properties are accepted.
1041
1279
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1042
1280
  # `getattr(obj, '$type')`
1043
1281
  def __getattr__(self, attr: str) -> object: ...
1282
+ else:
1283
+ __pydantic_extra__: Dict[str, object]
1044
1284
 
1045
1285
 
1046
1286
  class ToolFileSearchToolFiltersComparisonFilter(BaseModel):
@@ -1050,12 +1290,17 @@ class ToolFileSearchToolFiltersComparisonFilter(BaseModel):
1050
1290
 
1051
1291
  value: Union[str, float, bool]
1052
1292
 
1053
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1054
1293
  if TYPE_CHECKING:
1294
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1295
+ # value to this field, so for compatibility we avoid doing it at runtime.
1296
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1297
+
1055
1298
  # Stub to indicate that arbitrary properties are accepted.
1056
1299
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1057
1300
  # `getattr(obj, '$type')`
1058
1301
  def __getattr__(self, attr: str) -> object: ...
1302
+ else:
1303
+ __pydantic_extra__: Dict[str, object]
1059
1304
 
1060
1305
 
1061
1306
  class ToolFileSearchToolFiltersCompoundFilterFilterComparisonFilter(BaseModel):
@@ -1065,12 +1310,17 @@ class ToolFileSearchToolFiltersCompoundFilterFilterComparisonFilter(BaseModel):
1065
1310
 
1066
1311
  value: Union[str, float, bool]
1067
1312
 
1068
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1069
1313
  if TYPE_CHECKING:
1314
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1315
+ # value to this field, so for compatibility we avoid doing it at runtime.
1316
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1317
+
1070
1318
  # Stub to indicate that arbitrary properties are accepted.
1071
1319
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1072
1320
  # `getattr(obj, '$type')`
1073
1321
  def __getattr__(self, attr: str) -> object: ...
1322
+ else:
1323
+ __pydantic_extra__: Dict[str, object]
1074
1324
 
1075
1325
 
1076
1326
  ToolFileSearchToolFiltersCompoundFilterFilter: TypeAlias = Union[
@@ -1083,12 +1333,17 @@ class ToolFileSearchToolFiltersCompoundFilter(BaseModel):
1083
1333
 
1084
1334
  type: Literal["and", "or"]
1085
1335
 
1086
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1087
1336
  if TYPE_CHECKING:
1337
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1338
+ # value to this field, so for compatibility we avoid doing it at runtime.
1339
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1340
+
1088
1341
  # Stub to indicate that arbitrary properties are accepted.
1089
1342
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1090
1343
  # `getattr(obj, '$type')`
1091
1344
  def __getattr__(self, attr: str) -> object: ...
1345
+ else:
1346
+ __pydantic_extra__: Dict[str, object]
1092
1347
 
1093
1348
 
1094
1349
  ToolFileSearchToolFilters: TypeAlias = Union[
@@ -1101,12 +1356,17 @@ class ToolFileSearchToolRankingOptions(BaseModel):
1101
1356
 
1102
1357
  score_threshold: Optional[float] = None
1103
1358
 
1104
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1105
1359
  if TYPE_CHECKING:
1360
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1361
+ # value to this field, so for compatibility we avoid doing it at runtime.
1362
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1363
+
1106
1364
  # Stub to indicate that arbitrary properties are accepted.
1107
1365
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1108
1366
  # `getattr(obj, '$type')`
1109
1367
  def __getattr__(self, attr: str) -> object: ...
1368
+ else:
1369
+ __pydantic_extra__: Dict[str, object]
1110
1370
 
1111
1371
 
1112
1372
  class ToolFileSearchTool(BaseModel):
@@ -1120,12 +1380,17 @@ class ToolFileSearchTool(BaseModel):
1120
1380
 
1121
1381
  ranking_options: Optional[ToolFileSearchToolRankingOptions] = None
1122
1382
 
1123
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1124
1383
  if TYPE_CHECKING:
1384
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1385
+ # value to this field, so for compatibility we avoid doing it at runtime.
1386
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1387
+
1125
1388
  # Stub to indicate that arbitrary properties are accepted.
1126
1389
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1127
1390
  # `getattr(obj, '$type')`
1128
1391
  def __getattr__(self, attr: str) -> object: ...
1392
+ else:
1393
+ __pydantic_extra__: Dict[str, object]
1129
1394
 
1130
1395
 
1131
1396
  class ToolWebSearchToolUserLocation(BaseModel):
@@ -1139,12 +1404,17 @@ class ToolWebSearchToolUserLocation(BaseModel):
1139
1404
 
1140
1405
  timezone: Optional[str] = None
1141
1406
 
1142
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1143
1407
  if TYPE_CHECKING:
1408
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1409
+ # value to this field, so for compatibility we avoid doing it at runtime.
1410
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1411
+
1144
1412
  # Stub to indicate that arbitrary properties are accepted.
1145
1413
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1146
1414
  # `getattr(obj, '$type')`
1147
1415
  def __getattr__(self, attr: str) -> object: ...
1416
+ else:
1417
+ __pydantic_extra__: Dict[str, object]
1148
1418
 
1149
1419
 
1150
1420
  class ToolWebSearchTool(BaseModel):
@@ -1154,12 +1424,17 @@ class ToolWebSearchTool(BaseModel):
1154
1424
 
1155
1425
  user_location: Optional[ToolWebSearchToolUserLocation] = None
1156
1426
 
1157
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1158
1427
  if TYPE_CHECKING:
1428
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1429
+ # value to this field, so for compatibility we avoid doing it at runtime.
1430
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1431
+
1159
1432
  # Stub to indicate that arbitrary properties are accepted.
1160
1433
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1161
1434
  # `getattr(obj, '$type')`
1162
1435
  def __getattr__(self, attr: str) -> object: ...
1436
+ else:
1437
+ __pydantic_extra__: Dict[str, object]
1163
1438
 
1164
1439
 
1165
1440
  class ToolComputerTool(BaseModel):
@@ -1171,23 +1446,33 @@ class ToolComputerTool(BaseModel):
1171
1446
 
1172
1447
  type: Literal["computer_use_preview"]
1173
1448
 
1174
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1175
1449
  if TYPE_CHECKING:
1450
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1451
+ # value to this field, so for compatibility we avoid doing it at runtime.
1452
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1453
+
1176
1454
  # Stub to indicate that arbitrary properties are accepted.
1177
1455
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1178
1456
  # `getattr(obj, '$type')`
1179
1457
  def __getattr__(self, attr: str) -> object: ...
1458
+ else:
1459
+ __pydantic_extra__: Dict[str, object]
1180
1460
 
1181
1461
 
1182
1462
  class ToolMcpAllowedToolsMcpAllowedToolsMcpAllowedToolsFilter(BaseModel):
1183
1463
  tool_names: Optional[List[str]] = None
1184
1464
 
1185
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1186
1465
  if TYPE_CHECKING:
1466
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1467
+ # value to this field, so for compatibility we avoid doing it at runtime.
1468
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1469
+
1187
1470
  # Stub to indicate that arbitrary properties are accepted.
1188
1471
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1189
1472
  # `getattr(obj, '$type')`
1190
1473
  def __getattr__(self, attr: str) -> object: ...
1474
+ else:
1475
+ __pydantic_extra__: Dict[str, object]
1191
1476
 
1192
1477
 
1193
1478
  ToolMcpAllowedTools: TypeAlias = Union[List[str], ToolMcpAllowedToolsMcpAllowedToolsMcpAllowedToolsFilter]
@@ -1196,23 +1481,33 @@ ToolMcpAllowedTools: TypeAlias = Union[List[str], ToolMcpAllowedToolsMcpAllowedT
1196
1481
  class ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilterAlways(BaseModel):
1197
1482
  tool_names: Optional[List[str]] = None
1198
1483
 
1199
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1200
1484
  if TYPE_CHECKING:
1485
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1486
+ # value to this field, so for compatibility we avoid doing it at runtime.
1487
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1488
+
1201
1489
  # Stub to indicate that arbitrary properties are accepted.
1202
1490
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1203
1491
  # `getattr(obj, '$type')`
1204
1492
  def __getattr__(self, attr: str) -> object: ...
1493
+ else:
1494
+ __pydantic_extra__: Dict[str, object]
1205
1495
 
1206
1496
 
1207
1497
  class ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilterNever(BaseModel):
1208
1498
  tool_names: Optional[List[str]] = None
1209
1499
 
1210
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1211
1500
  if TYPE_CHECKING:
1501
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1502
+ # value to this field, so for compatibility we avoid doing it at runtime.
1503
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1504
+
1212
1505
  # Stub to indicate that arbitrary properties are accepted.
1213
1506
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1214
1507
  # `getattr(obj, '$type')`
1215
1508
  def __getattr__(self, attr: str) -> object: ...
1509
+ else:
1510
+ __pydantic_extra__: Dict[str, object]
1216
1511
 
1217
1512
 
1218
1513
  class ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilter(BaseModel):
@@ -1220,12 +1515,17 @@ class ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilter(BaseModel):
1220
1515
 
1221
1516
  never: Optional[ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilterNever] = None
1222
1517
 
1223
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1224
1518
  if TYPE_CHECKING:
1519
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1520
+ # value to this field, so for compatibility we avoid doing it at runtime.
1521
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1522
+
1225
1523
  # Stub to indicate that arbitrary properties are accepted.
1226
1524
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1227
1525
  # `getattr(obj, '$type')`
1228
1526
  def __getattr__(self, attr: str) -> object: ...
1527
+ else:
1528
+ __pydantic_extra__: Dict[str, object]
1229
1529
 
1230
1530
 
1231
1531
  ToolMcpRequireApproval: TypeAlias = Union[
@@ -1248,12 +1548,17 @@ class ToolMcp(BaseModel):
1248
1548
 
1249
1549
  server_description: Optional[str] = None
1250
1550
 
1251
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1252
1551
  if TYPE_CHECKING:
1552
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1553
+ # value to this field, so for compatibility we avoid doing it at runtime.
1554
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1555
+
1253
1556
  # Stub to indicate that arbitrary properties are accepted.
1254
1557
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1255
1558
  # `getattr(obj, '$type')`
1256
1559
  def __getattr__(self, attr: str) -> object: ...
1560
+ else:
1561
+ __pydantic_extra__: Dict[str, object]
1257
1562
 
1258
1563
 
1259
1564
  class ToolCodeInterpreterContainerCodeInterpreterContainerCodeInterpreterToolAuto(BaseModel):
@@ -1261,12 +1566,17 @@ class ToolCodeInterpreterContainerCodeInterpreterContainerCodeInterpreterToolAut
1261
1566
 
1262
1567
  file_ids: Optional[List[str]] = None
1263
1568
 
1264
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1265
1569
  if TYPE_CHECKING:
1570
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1571
+ # value to this field, so for compatibility we avoid doing it at runtime.
1572
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1573
+
1266
1574
  # Stub to indicate that arbitrary properties are accepted.
1267
1575
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1268
1576
  # `getattr(obj, '$type')`
1269
1577
  def __getattr__(self, attr: str) -> object: ...
1578
+ else:
1579
+ __pydantic_extra__: Dict[str, object]
1270
1580
 
1271
1581
 
1272
1582
  ToolCodeInterpreterContainer: TypeAlias = Union[
@@ -1279,12 +1589,17 @@ class ToolCodeInterpreter(BaseModel):
1279
1589
 
1280
1590
  type: Literal["code_interpreter"]
1281
1591
 
1282
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1283
1592
  if TYPE_CHECKING:
1593
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1594
+ # value to this field, so for compatibility we avoid doing it at runtime.
1595
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1596
+
1284
1597
  # Stub to indicate that arbitrary properties are accepted.
1285
1598
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1286
1599
  # `getattr(obj, '$type')`
1287
1600
  def __getattr__(self, attr: str) -> object: ...
1601
+ else:
1602
+ __pydantic_extra__: Dict[str, object]
1288
1603
 
1289
1604
 
1290
1605
  class ToolImageGenerationInputImageMask(BaseModel):
@@ -1292,12 +1607,17 @@ class ToolImageGenerationInputImageMask(BaseModel):
1292
1607
 
1293
1608
  image_url: Optional[str] = None
1294
1609
 
1295
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1296
1610
  if TYPE_CHECKING:
1611
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1612
+ # value to this field, so for compatibility we avoid doing it at runtime.
1613
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1614
+
1297
1615
  # Stub to indicate that arbitrary properties are accepted.
1298
1616
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1299
1617
  # `getattr(obj, '$type')`
1300
1618
  def __getattr__(self, attr: str) -> object: ...
1619
+ else:
1620
+ __pydantic_extra__: Dict[str, object]
1301
1621
 
1302
1622
 
1303
1623
  class ToolImageGeneration(BaseModel):
@@ -1323,34 +1643,49 @@ class ToolImageGeneration(BaseModel):
1323
1643
 
1324
1644
  size: Optional[Literal["1024x1024", "1024x1536", "1536x1024", "auto"]] = None
1325
1645
 
1326
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1327
1646
  if TYPE_CHECKING:
1647
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1648
+ # value to this field, so for compatibility we avoid doing it at runtime.
1649
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1650
+
1328
1651
  # Stub to indicate that arbitrary properties are accepted.
1329
1652
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1330
1653
  # `getattr(obj, '$type')`
1331
1654
  def __getattr__(self, attr: str) -> object: ...
1655
+ else:
1656
+ __pydantic_extra__: Dict[str, object]
1332
1657
 
1333
1658
 
1334
1659
  class ToolLocalShell(BaseModel):
1335
1660
  type: Literal["local_shell"]
1336
1661
 
1337
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1338
1662
  if TYPE_CHECKING:
1663
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1664
+ # value to this field, so for compatibility we avoid doing it at runtime.
1665
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1666
+
1339
1667
  # Stub to indicate that arbitrary properties are accepted.
1340
1668
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1341
1669
  # `getattr(obj, '$type')`
1342
1670
  def __getattr__(self, attr: str) -> object: ...
1671
+ else:
1672
+ __pydantic_extra__: Dict[str, object]
1343
1673
 
1344
1674
 
1345
1675
  class ToolCustomToolFormatText(BaseModel):
1346
1676
  type: Literal["text"]
1347
1677
 
1348
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1349
1678
  if TYPE_CHECKING:
1679
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1680
+ # value to this field, so for compatibility we avoid doing it at runtime.
1681
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1682
+
1350
1683
  # Stub to indicate that arbitrary properties are accepted.
1351
1684
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1352
1685
  # `getattr(obj, '$type')`
1353
1686
  def __getattr__(self, attr: str) -> object: ...
1687
+ else:
1688
+ __pydantic_extra__: Dict[str, object]
1354
1689
 
1355
1690
 
1356
1691
  class ToolCustomToolFormatGrammar(BaseModel):
@@ -1360,12 +1695,17 @@ class ToolCustomToolFormatGrammar(BaseModel):
1360
1695
 
1361
1696
  type: Literal["grammar"]
1362
1697
 
1363
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1364
1698
  if TYPE_CHECKING:
1699
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1700
+ # value to this field, so for compatibility we avoid doing it at runtime.
1701
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1702
+
1365
1703
  # Stub to indicate that arbitrary properties are accepted.
1366
1704
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1367
1705
  # `getattr(obj, '$type')`
1368
1706
  def __getattr__(self, attr: str) -> object: ...
1707
+ else:
1708
+ __pydantic_extra__: Dict[str, object]
1369
1709
 
1370
1710
 
1371
1711
  ToolCustomToolFormat: TypeAlias = Union[ToolCustomToolFormatText, ToolCustomToolFormatGrammar]
@@ -1380,12 +1720,17 @@ class ToolCustomTool(BaseModel):
1380
1720
 
1381
1721
  format: Optional[ToolCustomToolFormat] = None
1382
1722
 
1383
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1384
1723
  if TYPE_CHECKING:
1724
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1725
+ # value to this field, so for compatibility we avoid doing it at runtime.
1726
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1727
+
1385
1728
  # Stub to indicate that arbitrary properties are accepted.
1386
1729
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1387
1730
  # `getattr(obj, '$type')`
1388
1731
  def __getattr__(self, attr: str) -> object: ...
1732
+ else:
1733
+ __pydantic_extra__: Dict[str, object]
1389
1734
 
1390
1735
 
1391
1736
  Tool: TypeAlias = Union[
@@ -1425,23 +1770,33 @@ class Error(BaseModel):
1425
1770
 
1426
1771
  message: str
1427
1772
 
1428
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1429
1773
  if TYPE_CHECKING:
1774
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1775
+ # value to this field, so for compatibility we avoid doing it at runtime.
1776
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1777
+
1430
1778
  # Stub to indicate that arbitrary properties are accepted.
1431
1779
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1432
1780
  # `getattr(obj, '$type')`
1433
1781
  def __getattr__(self, attr: str) -> object: ...
1782
+ else:
1783
+ __pydantic_extra__: Dict[str, object]
1434
1784
 
1435
1785
 
1436
1786
  class IncompleteDetails(BaseModel):
1437
1787
  reason: Optional[Literal["max_output_tokens", "content_filter"]] = None
1438
1788
 
1439
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1440
1789
  if TYPE_CHECKING:
1790
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1791
+ # value to this field, so for compatibility we avoid doing it at runtime.
1792
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1793
+
1441
1794
  # Stub to indicate that arbitrary properties are accepted.
1442
1795
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1443
1796
  # `getattr(obj, '$type')`
1444
1797
  def __getattr__(self, attr: str) -> object: ...
1798
+ else:
1799
+ __pydantic_extra__: Dict[str, object]
1445
1800
 
1446
1801
 
1447
1802
  class InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputText(BaseModel):
@@ -1449,12 +1804,17 @@ class InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputTe
1449
1804
 
1450
1805
  type: Literal["input_text"]
1451
1806
 
1452
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1453
1807
  if TYPE_CHECKING:
1808
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1809
+ # value to this field, so for compatibility we avoid doing it at runtime.
1810
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1811
+
1454
1812
  # Stub to indicate that arbitrary properties are accepted.
1455
1813
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1456
1814
  # `getattr(obj, '$type')`
1457
1815
  def __getattr__(self, attr: str) -> object: ...
1816
+ else:
1817
+ __pydantic_extra__: Dict[str, object]
1458
1818
 
1459
1819
 
1460
1820
  class InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputImage(BaseModel):
@@ -1466,12 +1826,17 @@ class InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputIm
1466
1826
 
1467
1827
  image_url: Optional[str] = None
1468
1828
 
1469
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1470
1829
  if TYPE_CHECKING:
1830
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1831
+ # value to this field, so for compatibility we avoid doing it at runtime.
1832
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1833
+
1471
1834
  # Stub to indicate that arbitrary properties are accepted.
1472
1835
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1473
1836
  # `getattr(obj, '$type')`
1474
1837
  def __getattr__(self, attr: str) -> object: ...
1838
+ else:
1839
+ __pydantic_extra__: Dict[str, object]
1475
1840
 
1476
1841
 
1477
1842
  class InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputFile(BaseModel):
@@ -1485,12 +1850,17 @@ class InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputFi
1485
1850
 
1486
1851
  filename: Optional[str] = None
1487
1852
 
1488
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1489
1853
  if TYPE_CHECKING:
1854
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1855
+ # value to this field, so for compatibility we avoid doing it at runtime.
1856
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1857
+
1490
1858
  # Stub to indicate that arbitrary properties are accepted.
1491
1859
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1492
1860
  # `getattr(obj, '$type')`
1493
1861
  def __getattr__(self, attr: str) -> object: ...
1862
+ else:
1863
+ __pydantic_extra__: Dict[str, object]
1494
1864
 
1495
1865
 
1496
1866
  InstructionsUnionMember1EasyInputMessageContentUnionMember1: TypeAlias = Union[
@@ -1507,12 +1877,17 @@ class InstructionsUnionMember1EasyInputMessage(BaseModel):
1507
1877
 
1508
1878
  type: Optional[Literal["message"]] = None
1509
1879
 
1510
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1511
1880
  if TYPE_CHECKING:
1881
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1882
+ # value to this field, so for compatibility we avoid doing it at runtime.
1883
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1884
+
1512
1885
  # Stub to indicate that arbitrary properties are accepted.
1513
1886
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1514
1887
  # `getattr(obj, '$type')`
1515
1888
  def __getattr__(self, attr: str) -> object: ...
1889
+ else:
1890
+ __pydantic_extra__: Dict[str, object]
1516
1891
 
1517
1892
 
1518
1893
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputText(BaseModel):
@@ -1520,12 +1895,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageConten
1520
1895
 
1521
1896
  type: Literal["input_text"]
1522
1897
 
1523
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1524
1898
  if TYPE_CHECKING:
1899
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1900
+ # value to this field, so for compatibility we avoid doing it at runtime.
1901
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1902
+
1525
1903
  # Stub to indicate that arbitrary properties are accepted.
1526
1904
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1527
1905
  # `getattr(obj, '$type')`
1528
1906
  def __getattr__(self, attr: str) -> object: ...
1907
+ else:
1908
+ __pydantic_extra__: Dict[str, object]
1529
1909
 
1530
1910
 
1531
1911
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputImage(BaseModel):
@@ -1537,12 +1917,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageConten
1537
1917
 
1538
1918
  image_url: Optional[str] = None
1539
1919
 
1540
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1541
1920
  if TYPE_CHECKING:
1921
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1922
+ # value to this field, so for compatibility we avoid doing it at runtime.
1923
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1924
+
1542
1925
  # Stub to indicate that arbitrary properties are accepted.
1543
1926
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1544
1927
  # `getattr(obj, '$type')`
1545
1928
  def __getattr__(self, attr: str) -> object: ...
1929
+ else:
1930
+ __pydantic_extra__: Dict[str, object]
1546
1931
 
1547
1932
 
1548
1933
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputFile(BaseModel):
@@ -1556,12 +1941,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageConten
1556
1941
 
1557
1942
  filename: Optional[str] = None
1558
1943
 
1559
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1560
1944
  if TYPE_CHECKING:
1945
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1946
+ # value to this field, so for compatibility we avoid doing it at runtime.
1947
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1948
+
1561
1949
  # Stub to indicate that arbitrary properties are accepted.
1562
1950
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1563
1951
  # `getattr(obj, '$type')`
1564
1952
  def __getattr__(self, attr: str) -> object: ...
1953
+ else:
1954
+ __pydantic_extra__: Dict[str, object]
1565
1955
 
1566
1956
 
1567
1957
  InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContent: TypeAlias = Union[
@@ -1580,12 +1970,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessage(BaseM
1580
1970
 
1581
1971
  type: Optional[Literal["message"]] = None
1582
1972
 
1583
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1584
1973
  if TYPE_CHECKING:
1974
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1975
+ # value to this field, so for compatibility we avoid doing it at runtime.
1976
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1977
+
1585
1978
  # Stub to indicate that arbitrary properties are accepted.
1586
1979
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1587
1980
  # `getattr(obj, '$type')`
1588
1981
  def __getattr__(self, attr: str) -> object: ...
1982
+ else:
1983
+ __pydantic_extra__: Dict[str, object]
1589
1984
 
1590
1985
 
1591
1986
  class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFileCitation(
@@ -1599,12 +1994,17 @@ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnno
1599
1994
 
1600
1995
  type: Literal["file_citation"]
1601
1996
 
1602
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1603
1997
  if TYPE_CHECKING:
1998
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
1999
+ # value to this field, so for compatibility we avoid doing it at runtime.
2000
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2001
+
1604
2002
  # Stub to indicate that arbitrary properties are accepted.
1605
2003
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1606
2004
  # `getattr(obj, '$type')`
1607
2005
  def __getattr__(self, attr: str) -> object: ...
2006
+ else:
2007
+ __pydantic_extra__: Dict[str, object]
1608
2008
 
1609
2009
 
1610
2010
  class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationURLCitation(
@@ -1620,12 +2020,17 @@ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnno
1620
2020
 
1621
2021
  url: str
1622
2022
 
1623
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1624
2023
  if TYPE_CHECKING:
2024
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2025
+ # value to this field, so for compatibility we avoid doing it at runtime.
2026
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2027
+
1625
2028
  # Stub to indicate that arbitrary properties are accepted.
1626
2029
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1627
2030
  # `getattr(obj, '$type')`
1628
2031
  def __getattr__(self, attr: str) -> object: ...
2032
+ else:
2033
+ __pydantic_extra__: Dict[str, object]
1629
2034
 
1630
2035
 
1631
2036
  class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationContainerFileCitation(
@@ -1643,12 +2048,17 @@ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnno
1643
2048
 
1644
2049
  type: Literal["container_file_citation"]
1645
2050
 
1646
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1647
2051
  if TYPE_CHECKING:
2052
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2053
+ # value to this field, so for compatibility we avoid doing it at runtime.
2054
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2055
+
1648
2056
  # Stub to indicate that arbitrary properties are accepted.
1649
2057
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1650
2058
  # `getattr(obj, '$type')`
1651
2059
  def __getattr__(self, attr: str) -> object: ...
2060
+ else:
2061
+ __pydantic_extra__: Dict[str, object]
1652
2062
 
1653
2063
 
1654
2064
  class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFilePath(
@@ -1660,12 +2070,17 @@ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnno
1660
2070
 
1661
2071
  type: Literal["file_path"]
1662
2072
 
1663
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1664
2073
  if TYPE_CHECKING:
2074
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2075
+ # value to this field, so for compatibility we avoid doing it at runtime.
2076
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2077
+
1665
2078
  # Stub to indicate that arbitrary properties are accepted.
1666
2079
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1667
2080
  # `getattr(obj, '$type')`
1668
2081
  def __getattr__(self, attr: str) -> object: ...
2082
+ else:
2083
+ __pydantic_extra__: Dict[str, object]
1669
2084
 
1670
2085
 
1671
2086
  InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotation: TypeAlias = Union[
@@ -1683,12 +2098,17 @@ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogp
1683
2098
 
1684
2099
  logprob: float
1685
2100
 
1686
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1687
2101
  if TYPE_CHECKING:
2102
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2103
+ # value to this field, so for compatibility we avoid doing it at runtime.
2104
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2105
+
1688
2106
  # Stub to indicate that arbitrary properties are accepted.
1689
2107
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1690
2108
  # `getattr(obj, '$type')`
1691
2109
  def __getattr__(self, attr: str) -> object: ...
2110
+ else:
2111
+ __pydantic_extra__: Dict[str, object]
1692
2112
 
1693
2113
 
1694
2114
  class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogprob(BaseModel):
@@ -1700,12 +2120,17 @@ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogp
1700
2120
 
1701
2121
  top_logprobs: List[InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogprobTopLogprob]
1702
2122
 
1703
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1704
2123
  if TYPE_CHECKING:
2124
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2125
+ # value to this field, so for compatibility we avoid doing it at runtime.
2126
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2127
+
1705
2128
  # Stub to indicate that arbitrary properties are accepted.
1706
2129
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1707
2130
  # `getattr(obj, '$type')`
1708
2131
  def __getattr__(self, attr: str) -> object: ...
2132
+ else:
2133
+ __pydantic_extra__: Dict[str, object]
1709
2134
 
1710
2135
 
1711
2136
  class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputText(BaseModel):
@@ -1717,12 +2142,17 @@ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputText(Bas
1717
2142
 
1718
2143
  logprobs: Optional[List[InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogprob]] = None
1719
2144
 
1720
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1721
2145
  if TYPE_CHECKING:
2146
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2147
+ # value to this field, so for compatibility we avoid doing it at runtime.
2148
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2149
+
1722
2150
  # Stub to indicate that arbitrary properties are accepted.
1723
2151
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1724
2152
  # `getattr(obj, '$type')`
1725
2153
  def __getattr__(self, attr: str) -> object: ...
2154
+ else:
2155
+ __pydantic_extra__: Dict[str, object]
1726
2156
 
1727
2157
 
1728
2158
  class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputRefusal(BaseModel):
@@ -1730,12 +2160,17 @@ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputRefusal(
1730
2160
 
1731
2161
  type: Literal["refusal"]
1732
2162
 
1733
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1734
2163
  if TYPE_CHECKING:
2164
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2165
+ # value to this field, so for compatibility we avoid doing it at runtime.
2166
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2167
+
1735
2168
  # Stub to indicate that arbitrary properties are accepted.
1736
2169
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1737
2170
  # `getattr(obj, '$type')`
1738
2171
  def __getattr__(self, attr: str) -> object: ...
2172
+ else:
2173
+ __pydantic_extra__: Dict[str, object]
1739
2174
 
1740
2175
 
1741
2176
  InstructionsUnionMember1ResponseOutputMessageContent: TypeAlias = Union[
@@ -1755,12 +2190,17 @@ class InstructionsUnionMember1ResponseOutputMessage(BaseModel):
1755
2190
 
1756
2191
  type: Literal["message"]
1757
2192
 
1758
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1759
2193
  if TYPE_CHECKING:
2194
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2195
+ # value to this field, so for compatibility we avoid doing it at runtime.
2196
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2197
+
1760
2198
  # Stub to indicate that arbitrary properties are accepted.
1761
2199
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1762
2200
  # `getattr(obj, '$type')`
1763
2201
  def __getattr__(self, attr: str) -> object: ...
2202
+ else:
2203
+ __pydantic_extra__: Dict[str, object]
1764
2204
 
1765
2205
 
1766
2206
  class InstructionsUnionMember1ResponseFileSearchToolCallResult(BaseModel):
@@ -1774,12 +2214,17 @@ class InstructionsUnionMember1ResponseFileSearchToolCallResult(BaseModel):
1774
2214
 
1775
2215
  text: Optional[str] = None
1776
2216
 
1777
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1778
2217
  if TYPE_CHECKING:
2218
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2219
+ # value to this field, so for compatibility we avoid doing it at runtime.
2220
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2221
+
1779
2222
  # Stub to indicate that arbitrary properties are accepted.
1780
2223
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1781
2224
  # `getattr(obj, '$type')`
1782
2225
  def __getattr__(self, attr: str) -> object: ...
2226
+ else:
2227
+ __pydantic_extra__: Dict[str, object]
1783
2228
 
1784
2229
 
1785
2230
  class InstructionsUnionMember1ResponseFileSearchToolCall(BaseModel):
@@ -1793,12 +2238,17 @@ class InstructionsUnionMember1ResponseFileSearchToolCall(BaseModel):
1793
2238
 
1794
2239
  results: Optional[List[InstructionsUnionMember1ResponseFileSearchToolCallResult]] = None
1795
2240
 
1796
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1797
2241
  if TYPE_CHECKING:
2242
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2243
+ # value to this field, so for compatibility we avoid doing it at runtime.
2244
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2245
+
1798
2246
  # Stub to indicate that arbitrary properties are accepted.
1799
2247
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1800
2248
  # `getattr(obj, '$type')`
1801
2249
  def __getattr__(self, attr: str) -> object: ...
2250
+ else:
2251
+ __pydantic_extra__: Dict[str, object]
1802
2252
 
1803
2253
 
1804
2254
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionClick(
@@ -1812,12 +2262,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1812
2262
 
1813
2263
  y: int
1814
2264
 
1815
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1816
2265
  if TYPE_CHECKING:
2266
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2267
+ # value to this field, so for compatibility we avoid doing it at runtime.
2268
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2269
+
1817
2270
  # Stub to indicate that arbitrary properties are accepted.
1818
2271
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1819
2272
  # `getattr(obj, '$type')`
1820
2273
  def __getattr__(self, attr: str) -> object: ...
2274
+ else:
2275
+ __pydantic_extra__: Dict[str, object]
1821
2276
 
1822
2277
 
1823
2278
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDoubleClick(
@@ -1829,12 +2284,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1829
2284
 
1830
2285
  y: int
1831
2286
 
1832
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1833
2287
  if TYPE_CHECKING:
2288
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2289
+ # value to this field, so for compatibility we avoid doing it at runtime.
2290
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2291
+
1834
2292
  # Stub to indicate that arbitrary properties are accepted.
1835
2293
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1836
2294
  # `getattr(obj, '$type')`
1837
2295
  def __getattr__(self, attr: str) -> object: ...
2296
+ else:
2297
+ __pydantic_extra__: Dict[str, object]
1838
2298
 
1839
2299
 
1840
2300
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDragPath(
@@ -1844,12 +2304,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1844
2304
 
1845
2305
  y: int
1846
2306
 
1847
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1848
2307
  if TYPE_CHECKING:
2308
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2309
+ # value to this field, so for compatibility we avoid doing it at runtime.
2310
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2311
+
1849
2312
  # Stub to indicate that arbitrary properties are accepted.
1850
2313
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1851
2314
  # `getattr(obj, '$type')`
1852
2315
  def __getattr__(self, attr: str) -> object: ...
2316
+ else:
2317
+ __pydantic_extra__: Dict[str, object]
1853
2318
 
1854
2319
 
1855
2320
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDrag(
@@ -1861,12 +2326,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1861
2326
 
1862
2327
  type: Literal["drag"]
1863
2328
 
1864
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1865
2329
  if TYPE_CHECKING:
2330
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2331
+ # value to this field, so for compatibility we avoid doing it at runtime.
2332
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2333
+
1866
2334
  # Stub to indicate that arbitrary properties are accepted.
1867
2335
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1868
2336
  # `getattr(obj, '$type')`
1869
2337
  def __getattr__(self, attr: str) -> object: ...
2338
+ else:
2339
+ __pydantic_extra__: Dict[str, object]
1870
2340
 
1871
2341
 
1872
2342
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionKeypress(
@@ -1876,12 +2346,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1876
2346
 
1877
2347
  type: Literal["keypress"]
1878
2348
 
1879
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1880
2349
  if TYPE_CHECKING:
2350
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2351
+ # value to this field, so for compatibility we avoid doing it at runtime.
2352
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2353
+
1881
2354
  # Stub to indicate that arbitrary properties are accepted.
1882
2355
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1883
2356
  # `getattr(obj, '$type')`
1884
2357
  def __getattr__(self, attr: str) -> object: ...
2358
+ else:
2359
+ __pydantic_extra__: Dict[str, object]
1885
2360
 
1886
2361
 
1887
2362
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionMove(
@@ -1893,12 +2368,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1893
2368
 
1894
2369
  y: int
1895
2370
 
1896
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1897
2371
  if TYPE_CHECKING:
2372
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2373
+ # value to this field, so for compatibility we avoid doing it at runtime.
2374
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2375
+
1898
2376
  # Stub to indicate that arbitrary properties are accepted.
1899
2377
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1900
2378
  # `getattr(obj, '$type')`
1901
2379
  def __getattr__(self, attr: str) -> object: ...
2380
+ else:
2381
+ __pydantic_extra__: Dict[str, object]
1902
2382
 
1903
2383
 
1904
2384
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScreenshot(
@@ -1906,12 +2386,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1906
2386
  ):
1907
2387
  type: Literal["screenshot"]
1908
2388
 
1909
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1910
2389
  if TYPE_CHECKING:
2390
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2391
+ # value to this field, so for compatibility we avoid doing it at runtime.
2392
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2393
+
1911
2394
  # Stub to indicate that arbitrary properties are accepted.
1912
2395
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1913
2396
  # `getattr(obj, '$type')`
1914
2397
  def __getattr__(self, attr: str) -> object: ...
2398
+ else:
2399
+ __pydantic_extra__: Dict[str, object]
1915
2400
 
1916
2401
 
1917
2402
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScroll(
@@ -1927,12 +2412,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1927
2412
 
1928
2413
  y: int
1929
2414
 
1930
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1931
2415
  if TYPE_CHECKING:
2416
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2417
+ # value to this field, so for compatibility we avoid doing it at runtime.
2418
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2419
+
1932
2420
  # Stub to indicate that arbitrary properties are accepted.
1933
2421
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1934
2422
  # `getattr(obj, '$type')`
1935
2423
  def __getattr__(self, attr: str) -> object: ...
2424
+ else:
2425
+ __pydantic_extra__: Dict[str, object]
1936
2426
 
1937
2427
 
1938
2428
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionType(
@@ -1942,12 +2432,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1942
2432
 
1943
2433
  type: Literal["type"]
1944
2434
 
1945
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1946
2435
  if TYPE_CHECKING:
2436
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2437
+ # value to this field, so for compatibility we avoid doing it at runtime.
2438
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2439
+
1947
2440
  # Stub to indicate that arbitrary properties are accepted.
1948
2441
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1949
2442
  # `getattr(obj, '$type')`
1950
2443
  def __getattr__(self, attr: str) -> object: ...
2444
+ else:
2445
+ __pydantic_extra__: Dict[str, object]
1951
2446
 
1952
2447
 
1953
2448
  class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionWait(
@@ -1955,12 +2450,17 @@ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponses
1955
2450
  ):
1956
2451
  type: Literal["wait"]
1957
2452
 
1958
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1959
2453
  if TYPE_CHECKING:
2454
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2455
+ # value to this field, so for compatibility we avoid doing it at runtime.
2456
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2457
+
1960
2458
  # Stub to indicate that arbitrary properties are accepted.
1961
2459
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1962
2460
  # `getattr(obj, '$type')`
1963
2461
  def __getattr__(self, attr: str) -> object: ...
2462
+ else:
2463
+ __pydantic_extra__: Dict[str, object]
1964
2464
 
1965
2465
 
1966
2466
  InstructionsUnionMember1ResponseComputerToolCallAction: TypeAlias = Union[
@@ -1983,12 +2483,17 @@ class InstructionsUnionMember1ResponseComputerToolCallPendingSafetyCheck(BaseMod
1983
2483
 
1984
2484
  message: str
1985
2485
 
1986
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1987
2486
  if TYPE_CHECKING:
2487
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2488
+ # value to this field, so for compatibility we avoid doing it at runtime.
2489
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2490
+
1988
2491
  # Stub to indicate that arbitrary properties are accepted.
1989
2492
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
1990
2493
  # `getattr(obj, '$type')`
1991
2494
  def __getattr__(self, attr: str) -> object: ...
2495
+ else:
2496
+ __pydantic_extra__: Dict[str, object]
1992
2497
 
1993
2498
 
1994
2499
  class InstructionsUnionMember1ResponseComputerToolCall(BaseModel):
@@ -2004,12 +2509,17 @@ class InstructionsUnionMember1ResponseComputerToolCall(BaseModel):
2004
2509
 
2005
2510
  type: Literal["computer_call"]
2006
2511
 
2007
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2008
2512
  if TYPE_CHECKING:
2513
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2514
+ # value to this field, so for compatibility we avoid doing it at runtime.
2515
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2516
+
2009
2517
  # Stub to indicate that arbitrary properties are accepted.
2010
2518
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2011
2519
  # `getattr(obj, '$type')`
2012
2520
  def __getattr__(self, attr: str) -> object: ...
2521
+ else:
2522
+ __pydantic_extra__: Dict[str, object]
2013
2523
 
2014
2524
 
2015
2525
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutputOutput(BaseModel):
@@ -2019,12 +2529,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallO
2019
2529
 
2020
2530
  image_url: Optional[str] = None
2021
2531
 
2022
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2023
2532
  if TYPE_CHECKING:
2533
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2534
+ # value to this field, so for compatibility we avoid doing it at runtime.
2535
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2536
+
2024
2537
  # Stub to indicate that arbitrary properties are accepted.
2025
2538
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2026
2539
  # `getattr(obj, '$type')`
2027
2540
  def __getattr__(self, attr: str) -> object: ...
2541
+ else:
2542
+ __pydantic_extra__: Dict[str, object]
2028
2543
 
2029
2544
 
2030
2545
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutputAcknowledgedSafetyCheck(BaseModel):
@@ -2034,12 +2549,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallO
2034
2549
 
2035
2550
  message: Optional[str] = None
2036
2551
 
2037
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2038
2552
  if TYPE_CHECKING:
2553
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2554
+ # value to this field, so for compatibility we avoid doing it at runtime.
2555
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2556
+
2039
2557
  # Stub to indicate that arbitrary properties are accepted.
2040
2558
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2041
2559
  # `getattr(obj, '$type')`
2042
2560
  def __getattr__(self, attr: str) -> object: ...
2561
+ else:
2562
+ __pydantic_extra__: Dict[str, object]
2043
2563
 
2044
2564
 
2045
2565
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutput(BaseModel):
@@ -2057,12 +2577,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallO
2057
2577
 
2058
2578
  status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2059
2579
 
2060
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2061
2580
  if TYPE_CHECKING:
2581
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2582
+ # value to this field, so for compatibility we avoid doing it at runtime.
2583
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2584
+
2062
2585
  # Stub to indicate that arbitrary properties are accepted.
2063
2586
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2064
2587
  # `getattr(obj, '$type')`
2065
2588
  def __getattr__(self, attr: str) -> object: ...
2589
+ else:
2590
+ __pydantic_extra__: Dict[str, object]
2066
2591
 
2067
2592
 
2068
2593
  class InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionSearch(
@@ -2072,12 +2597,17 @@ class InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponse
2072
2597
 
2073
2598
  type: Literal["search"]
2074
2599
 
2075
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2076
2600
  if TYPE_CHECKING:
2601
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2602
+ # value to this field, so for compatibility we avoid doing it at runtime.
2603
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2604
+
2077
2605
  # Stub to indicate that arbitrary properties are accepted.
2078
2606
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2079
2607
  # `getattr(obj, '$type')`
2080
2608
  def __getattr__(self, attr: str) -> object: ...
2609
+ else:
2610
+ __pydantic_extra__: Dict[str, object]
2081
2611
 
2082
2612
 
2083
2613
  class InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionOpenPage(
@@ -2087,12 +2617,17 @@ class InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponse
2087
2617
 
2088
2618
  url: str
2089
2619
 
2090
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2091
2620
  if TYPE_CHECKING:
2621
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2622
+ # value to this field, so for compatibility we avoid doing it at runtime.
2623
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2624
+
2092
2625
  # Stub to indicate that arbitrary properties are accepted.
2093
2626
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2094
2627
  # `getattr(obj, '$type')`
2095
2628
  def __getattr__(self, attr: str) -> object: ...
2629
+ else:
2630
+ __pydantic_extra__: Dict[str, object]
2096
2631
 
2097
2632
 
2098
2633
  class InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionFind(
@@ -2104,12 +2639,17 @@ class InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponse
2104
2639
 
2105
2640
  url: str
2106
2641
 
2107
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2108
2642
  if TYPE_CHECKING:
2643
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2644
+ # value to this field, so for compatibility we avoid doing it at runtime.
2645
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2646
+
2109
2647
  # Stub to indicate that arbitrary properties are accepted.
2110
2648
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2111
2649
  # `getattr(obj, '$type')`
2112
2650
  def __getattr__(self, attr: str) -> object: ...
2651
+ else:
2652
+ __pydantic_extra__: Dict[str, object]
2113
2653
 
2114
2654
 
2115
2655
  InstructionsUnionMember1ResponseFunctionWebSearchAction: TypeAlias = Union[
@@ -2128,12 +2668,17 @@ class InstructionsUnionMember1ResponseFunctionWebSearch(BaseModel):
2128
2668
 
2129
2669
  type: Literal["web_search_call"]
2130
2670
 
2131
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2132
2671
  if TYPE_CHECKING:
2672
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2673
+ # value to this field, so for compatibility we avoid doing it at runtime.
2674
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2675
+
2133
2676
  # Stub to indicate that arbitrary properties are accepted.
2134
2677
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2135
2678
  # `getattr(obj, '$type')`
2136
2679
  def __getattr__(self, attr: str) -> object: ...
2680
+ else:
2681
+ __pydantic_extra__: Dict[str, object]
2137
2682
 
2138
2683
 
2139
2684
  class InstructionsUnionMember1ResponseFunctionToolCall(BaseModel):
@@ -2149,12 +2694,17 @@ class InstructionsUnionMember1ResponseFunctionToolCall(BaseModel):
2149
2694
 
2150
2695
  status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2151
2696
 
2152
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2153
2697
  if TYPE_CHECKING:
2698
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2699
+ # value to this field, so for compatibility we avoid doing it at runtime.
2700
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2701
+
2154
2702
  # Stub to indicate that arbitrary properties are accepted.
2155
2703
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2156
2704
  # `getattr(obj, '$type')`
2157
2705
  def __getattr__(self, attr: str) -> object: ...
2706
+ else:
2707
+ __pydantic_extra__: Dict[str, object]
2158
2708
 
2159
2709
 
2160
2710
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemFunctionCallOutput(BaseModel):
@@ -2168,12 +2718,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemFunctionCallO
2168
2718
 
2169
2719
  status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2170
2720
 
2171
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2172
2721
  if TYPE_CHECKING:
2722
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2723
+ # value to this field, so for compatibility we avoid doing it at runtime.
2724
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2725
+
2173
2726
  # Stub to indicate that arbitrary properties are accepted.
2174
2727
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2175
2728
  # `getattr(obj, '$type')`
2176
2729
  def __getattr__(self, attr: str) -> object: ...
2730
+ else:
2731
+ __pydantic_extra__: Dict[str, object]
2177
2732
 
2178
2733
 
2179
2734
  class InstructionsUnionMember1ResponseReasoningItemSummary(BaseModel):
@@ -2181,12 +2736,17 @@ class InstructionsUnionMember1ResponseReasoningItemSummary(BaseModel):
2181
2736
 
2182
2737
  type: Literal["summary_text"]
2183
2738
 
2184
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2185
2739
  if TYPE_CHECKING:
2740
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2741
+ # value to this field, so for compatibility we avoid doing it at runtime.
2742
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2743
+
2186
2744
  # Stub to indicate that arbitrary properties are accepted.
2187
2745
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2188
2746
  # `getattr(obj, '$type')`
2189
2747
  def __getattr__(self, attr: str) -> object: ...
2748
+ else:
2749
+ __pydantic_extra__: Dict[str, object]
2190
2750
 
2191
2751
 
2192
2752
  class InstructionsUnionMember1ResponseReasoningItemContent(BaseModel):
@@ -2194,12 +2754,17 @@ class InstructionsUnionMember1ResponseReasoningItemContent(BaseModel):
2194
2754
 
2195
2755
  type: Literal["reasoning_text"]
2196
2756
 
2197
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2198
2757
  if TYPE_CHECKING:
2758
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2759
+ # value to this field, so for compatibility we avoid doing it at runtime.
2760
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2761
+
2199
2762
  # Stub to indicate that arbitrary properties are accepted.
2200
2763
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2201
2764
  # `getattr(obj, '$type')`
2202
2765
  def __getattr__(self, attr: str) -> object: ...
2766
+ else:
2767
+ __pydantic_extra__: Dict[str, object]
2203
2768
 
2204
2769
 
2205
2770
  class InstructionsUnionMember1ResponseReasoningItem(BaseModel):
@@ -2215,12 +2780,17 @@ class InstructionsUnionMember1ResponseReasoningItem(BaseModel):
2215
2780
 
2216
2781
  status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2217
2782
 
2218
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2219
2783
  if TYPE_CHECKING:
2784
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2785
+ # value to this field, so for compatibility we avoid doing it at runtime.
2786
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2787
+
2220
2788
  # Stub to indicate that arbitrary properties are accepted.
2221
2789
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2222
2790
  # `getattr(obj, '$type')`
2223
2791
  def __getattr__(self, attr: str) -> object: ...
2792
+ else:
2793
+ __pydantic_extra__: Dict[str, object]
2224
2794
 
2225
2795
 
2226
2796
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemImageGenerationCall(BaseModel):
@@ -2232,12 +2802,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemImageGenerati
2232
2802
 
2233
2803
  result: Optional[str] = None
2234
2804
 
2235
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2236
2805
  if TYPE_CHECKING:
2806
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2807
+ # value to this field, so for compatibility we avoid doing it at runtime.
2808
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2809
+
2237
2810
  # Stub to indicate that arbitrary properties are accepted.
2238
2811
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2239
2812
  # `getattr(obj, '$type')`
2240
2813
  def __getattr__(self, attr: str) -> object: ...
2814
+ else:
2815
+ __pydantic_extra__: Dict[str, object]
2241
2816
 
2242
2817
 
2243
2818
  class InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputLogs(
@@ -2247,12 +2822,17 @@ class InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesRe
2247
2822
 
2248
2823
  type: Literal["logs"]
2249
2824
 
2250
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2251
2825
  if TYPE_CHECKING:
2826
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2827
+ # value to this field, so for compatibility we avoid doing it at runtime.
2828
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2829
+
2252
2830
  # Stub to indicate that arbitrary properties are accepted.
2253
2831
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2254
2832
  # `getattr(obj, '$type')`
2255
2833
  def __getattr__(self, attr: str) -> object: ...
2834
+ else:
2835
+ __pydantic_extra__: Dict[str, object]
2256
2836
 
2257
2837
 
2258
2838
  class InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputImage(
@@ -2262,12 +2842,17 @@ class InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesRe
2262
2842
 
2263
2843
  url: str
2264
2844
 
2265
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2266
2845
  if TYPE_CHECKING:
2846
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2847
+ # value to this field, so for compatibility we avoid doing it at runtime.
2848
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2849
+
2267
2850
  # Stub to indicate that arbitrary properties are accepted.
2268
2851
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2269
2852
  # `getattr(obj, '$type')`
2270
2853
  def __getattr__(self, attr: str) -> object: ...
2854
+ else:
2855
+ __pydantic_extra__: Dict[str, object]
2271
2856
 
2272
2857
 
2273
2858
  InstructionsUnionMember1ResponseCodeInterpreterToolCallOutput: TypeAlias = Union[
@@ -2289,12 +2874,17 @@ class InstructionsUnionMember1ResponseCodeInterpreterToolCall(BaseModel):
2289
2874
 
2290
2875
  outputs: Optional[List[InstructionsUnionMember1ResponseCodeInterpreterToolCallOutput]] = None
2291
2876
 
2292
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2293
2877
  if TYPE_CHECKING:
2878
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2879
+ # value to this field, so for compatibility we avoid doing it at runtime.
2880
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2881
+
2294
2882
  # Stub to indicate that arbitrary properties are accepted.
2295
2883
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2296
2884
  # `getattr(obj, '$type')`
2297
2885
  def __getattr__(self, attr: str) -> object: ...
2886
+ else:
2887
+ __pydantic_extra__: Dict[str, object]
2298
2888
 
2299
2889
 
2300
2890
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCallAction(BaseModel):
@@ -2310,12 +2900,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCal
2310
2900
 
2311
2901
  working_directory: Optional[str] = None
2312
2902
 
2313
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2314
2903
  if TYPE_CHECKING:
2904
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2905
+ # value to this field, so for compatibility we avoid doing it at runtime.
2906
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2907
+
2315
2908
  # Stub to indicate that arbitrary properties are accepted.
2316
2909
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2317
2910
  # `getattr(obj, '$type')`
2318
2911
  def __getattr__(self, attr: str) -> object: ...
2912
+ else:
2913
+ __pydantic_extra__: Dict[str, object]
2319
2914
 
2320
2915
 
2321
2916
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCall(BaseModel):
@@ -2329,12 +2924,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCal
2329
2924
 
2330
2925
  type: Literal["local_shell_call"]
2331
2926
 
2332
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2333
2927
  if TYPE_CHECKING:
2928
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2929
+ # value to this field, so for compatibility we avoid doing it at runtime.
2930
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2931
+
2334
2932
  # Stub to indicate that arbitrary properties are accepted.
2335
2933
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2336
2934
  # `getattr(obj, '$type')`
2337
2935
  def __getattr__(self, attr: str) -> object: ...
2936
+ else:
2937
+ __pydantic_extra__: Dict[str, object]
2338
2938
 
2339
2939
 
2340
2940
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCallOutput(BaseModel):
@@ -2346,12 +2946,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCal
2346
2946
 
2347
2947
  status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2348
2948
 
2349
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2350
2949
  if TYPE_CHECKING:
2950
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2951
+ # value to this field, so for compatibility we avoid doing it at runtime.
2952
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2953
+
2351
2954
  # Stub to indicate that arbitrary properties are accepted.
2352
2955
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2353
2956
  # `getattr(obj, '$type')`
2354
2957
  def __getattr__(self, attr: str) -> object: ...
2958
+ else:
2959
+ __pydantic_extra__: Dict[str, object]
2355
2960
 
2356
2961
 
2357
2962
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListToolsTool(BaseModel):
@@ -2363,12 +2968,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListToolsT
2363
2968
 
2364
2969
  description: Optional[str] = None
2365
2970
 
2366
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2367
2971
  if TYPE_CHECKING:
2972
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2973
+ # value to this field, so for compatibility we avoid doing it at runtime.
2974
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2975
+
2368
2976
  # Stub to indicate that arbitrary properties are accepted.
2369
2977
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2370
2978
  # `getattr(obj, '$type')`
2371
2979
  def __getattr__(self, attr: str) -> object: ...
2980
+ else:
2981
+ __pydantic_extra__: Dict[str, object]
2372
2982
 
2373
2983
 
2374
2984
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListTools(BaseModel):
@@ -2382,12 +2992,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListTools(
2382
2992
 
2383
2993
  error: Optional[str] = None
2384
2994
 
2385
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2386
2995
  if TYPE_CHECKING:
2996
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
2997
+ # value to this field, so for compatibility we avoid doing it at runtime.
2998
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2999
+
2387
3000
  # Stub to indicate that arbitrary properties are accepted.
2388
3001
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2389
3002
  # `getattr(obj, '$type')`
2390
3003
  def __getattr__(self, attr: str) -> object: ...
3004
+ else:
3005
+ __pydantic_extra__: Dict[str, object]
2391
3006
 
2392
3007
 
2393
3008
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalRequest(BaseModel):
@@ -2401,12 +3016,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalRe
2401
3016
 
2402
3017
  type: Literal["mcp_approval_request"]
2403
3018
 
2404
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2405
3019
  if TYPE_CHECKING:
3020
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3021
+ # value to this field, so for compatibility we avoid doing it at runtime.
3022
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3023
+
2406
3024
  # Stub to indicate that arbitrary properties are accepted.
2407
3025
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2408
3026
  # `getattr(obj, '$type')`
2409
3027
  def __getattr__(self, attr: str) -> object: ...
3028
+ else:
3029
+ __pydantic_extra__: Dict[str, object]
2410
3030
 
2411
3031
 
2412
3032
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalResponse(BaseModel):
@@ -2420,12 +3040,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalRe
2420
3040
 
2421
3041
  reason: Optional[str] = None
2422
3042
 
2423
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2424
3043
  if TYPE_CHECKING:
3044
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3045
+ # value to this field, so for compatibility we avoid doing it at runtime.
3046
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3047
+
2425
3048
  # Stub to indicate that arbitrary properties are accepted.
2426
3049
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2427
3050
  # `getattr(obj, '$type')`
2428
3051
  def __getattr__(self, attr: str) -> object: ...
3052
+ else:
3053
+ __pydantic_extra__: Dict[str, object]
2429
3054
 
2430
3055
 
2431
3056
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpCall(BaseModel):
@@ -2443,12 +3068,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpCall(BaseM
2443
3068
 
2444
3069
  output: Optional[str] = None
2445
3070
 
2446
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2447
3071
  if TYPE_CHECKING:
3072
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3073
+ # value to this field, so for compatibility we avoid doing it at runtime.
3074
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3075
+
2448
3076
  # Stub to indicate that arbitrary properties are accepted.
2449
3077
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2450
3078
  # `getattr(obj, '$type')`
2451
3079
  def __getattr__(self, attr: str) -> object: ...
3080
+ else:
3081
+ __pydantic_extra__: Dict[str, object]
2452
3082
 
2453
3083
 
2454
3084
  class InstructionsUnionMember1ResponseCustomToolCallOutput(BaseModel):
@@ -2460,12 +3090,17 @@ class InstructionsUnionMember1ResponseCustomToolCallOutput(BaseModel):
2460
3090
 
2461
3091
  id: Optional[str] = None
2462
3092
 
2463
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2464
3093
  if TYPE_CHECKING:
3094
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3095
+ # value to this field, so for compatibility we avoid doing it at runtime.
3096
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3097
+
2465
3098
  # Stub to indicate that arbitrary properties are accepted.
2466
3099
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2467
3100
  # `getattr(obj, '$type')`
2468
3101
  def __getattr__(self, attr: str) -> object: ...
3102
+ else:
3103
+ __pydantic_extra__: Dict[str, object]
2469
3104
 
2470
3105
 
2471
3106
  class InstructionsUnionMember1ResponseCustomToolCall(BaseModel):
@@ -2479,12 +3114,17 @@ class InstructionsUnionMember1ResponseCustomToolCall(BaseModel):
2479
3114
 
2480
3115
  id: Optional[str] = None
2481
3116
 
2482
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2483
3117
  if TYPE_CHECKING:
3118
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3119
+ # value to this field, so for compatibility we avoid doing it at runtime.
3120
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3121
+
2484
3122
  # Stub to indicate that arbitrary properties are accepted.
2485
3123
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2486
3124
  # `getattr(obj, '$type')`
2487
3125
  def __getattr__(self, attr: str) -> object: ...
3126
+ else:
3127
+ __pydantic_extra__: Dict[str, object]
2488
3128
 
2489
3129
 
2490
3130
  class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemItemReference(BaseModel):
@@ -2492,12 +3132,17 @@ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemItemReference
2492
3132
 
2493
3133
  type: Optional[Literal["item_reference"]] = None
2494
3134
 
2495
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2496
3135
  if TYPE_CHECKING:
3136
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3137
+ # value to this field, so for compatibility we avoid doing it at runtime.
3138
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3139
+
2497
3140
  # Stub to indicate that arbitrary properties are accepted.
2498
3141
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2499
3142
  # `getattr(obj, '$type')`
2500
3143
  def __getattr__(self, attr: str) -> object: ...
3144
+ else:
3145
+ __pydantic_extra__: Dict[str, object]
2501
3146
 
2502
3147
 
2503
3148
  InstructionsUnionMember1: TypeAlias = Union[
@@ -2530,12 +3175,17 @@ class PromptVariablesResponseInputText(BaseModel):
2530
3175
 
2531
3176
  type: Literal["input_text"]
2532
3177
 
2533
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2534
3178
  if TYPE_CHECKING:
3179
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3180
+ # value to this field, so for compatibility we avoid doing it at runtime.
3181
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3182
+
2535
3183
  # Stub to indicate that arbitrary properties are accepted.
2536
3184
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2537
3185
  # `getattr(obj, '$type')`
2538
3186
  def __getattr__(self, attr: str) -> object: ...
3187
+ else:
3188
+ __pydantic_extra__: Dict[str, object]
2539
3189
 
2540
3190
 
2541
3191
  class PromptVariablesResponseInputImage(BaseModel):
@@ -2547,12 +3197,17 @@ class PromptVariablesResponseInputImage(BaseModel):
2547
3197
 
2548
3198
  image_url: Optional[str] = None
2549
3199
 
2550
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2551
3200
  if TYPE_CHECKING:
3201
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3202
+ # value to this field, so for compatibility we avoid doing it at runtime.
3203
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3204
+
2552
3205
  # Stub to indicate that arbitrary properties are accepted.
2553
3206
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2554
3207
  # `getattr(obj, '$type')`
2555
3208
  def __getattr__(self, attr: str) -> object: ...
3209
+ else:
3210
+ __pydantic_extra__: Dict[str, object]
2556
3211
 
2557
3212
 
2558
3213
  class PromptVariablesResponseInputFile(BaseModel):
@@ -2566,12 +3221,17 @@ class PromptVariablesResponseInputFile(BaseModel):
2566
3221
 
2567
3222
  filename: Optional[str] = None
2568
3223
 
2569
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2570
3224
  if TYPE_CHECKING:
3225
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3226
+ # value to this field, so for compatibility we avoid doing it at runtime.
3227
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3228
+
2571
3229
  # Stub to indicate that arbitrary properties are accepted.
2572
3230
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2573
3231
  # `getattr(obj, '$type')`
2574
3232
  def __getattr__(self, attr: str) -> object: ...
3233
+ else:
3234
+ __pydantic_extra__: Dict[str, object]
2575
3235
 
2576
3236
 
2577
3237
  PromptVariables: TypeAlias = Union[
@@ -2586,12 +3246,17 @@ class Prompt(BaseModel):
2586
3246
 
2587
3247
  version: Optional[str] = None
2588
3248
 
2589
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2590
3249
  if TYPE_CHECKING:
3250
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3251
+ # value to this field, so for compatibility we avoid doing it at runtime.
3252
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3253
+
2591
3254
  # Stub to indicate that arbitrary properties are accepted.
2592
3255
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2593
3256
  # `getattr(obj, '$type')`
2594
3257
  def __getattr__(self, attr: str) -> object: ...
3258
+ else:
3259
+ __pydantic_extra__: Dict[str, object]
2595
3260
 
2596
3261
 
2597
3262
  class Reasoning(BaseModel):
@@ -2601,23 +3266,33 @@ class Reasoning(BaseModel):
2601
3266
 
2602
3267
  summary: Optional[Literal["auto", "concise", "detailed"]] = None
2603
3268
 
2604
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2605
3269
  if TYPE_CHECKING:
3270
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3271
+ # value to this field, so for compatibility we avoid doing it at runtime.
3272
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3273
+
2606
3274
  # Stub to indicate that arbitrary properties are accepted.
2607
3275
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2608
3276
  # `getattr(obj, '$type')`
2609
3277
  def __getattr__(self, attr: str) -> object: ...
3278
+ else:
3279
+ __pydantic_extra__: Dict[str, object]
2610
3280
 
2611
3281
 
2612
3282
  class TextFormatResponseFormatText(BaseModel):
2613
3283
  type: Literal["text"]
2614
3284
 
2615
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2616
3285
  if TYPE_CHECKING:
3286
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3287
+ # value to this field, so for compatibility we avoid doing it at runtime.
3288
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3289
+
2617
3290
  # Stub to indicate that arbitrary properties are accepted.
2618
3291
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2619
3292
  # `getattr(obj, '$type')`
2620
3293
  def __getattr__(self, attr: str) -> object: ...
3294
+ else:
3295
+ __pydantic_extra__: Dict[str, object]
2621
3296
 
2622
3297
 
2623
3298
  class TextFormatResponseFormatTextJsonSchemaConfig(BaseModel):
@@ -2631,23 +3306,33 @@ class TextFormatResponseFormatTextJsonSchemaConfig(BaseModel):
2631
3306
 
2632
3307
  strict: Optional[bool] = None
2633
3308
 
2634
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2635
3309
  if TYPE_CHECKING:
3310
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3311
+ # value to this field, so for compatibility we avoid doing it at runtime.
3312
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3313
+
2636
3314
  # Stub to indicate that arbitrary properties are accepted.
2637
3315
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2638
3316
  # `getattr(obj, '$type')`
2639
3317
  def __getattr__(self, attr: str) -> object: ...
3318
+ else:
3319
+ __pydantic_extra__: Dict[str, object]
2640
3320
 
2641
3321
 
2642
3322
  class TextFormatResponseFormatJsonObject(BaseModel):
2643
3323
  type: Literal["json_object"]
2644
3324
 
2645
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2646
3325
  if TYPE_CHECKING:
3326
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3327
+ # value to this field, so for compatibility we avoid doing it at runtime.
3328
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3329
+
2647
3330
  # Stub to indicate that arbitrary properties are accepted.
2648
3331
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2649
3332
  # `getattr(obj, '$type')`
2650
3333
  def __getattr__(self, attr: str) -> object: ...
3334
+ else:
3335
+ __pydantic_extra__: Dict[str, object]
2651
3336
 
2652
3337
 
2653
3338
  TextFormat: TypeAlias = Union[
@@ -2660,34 +3345,49 @@ class Text(BaseModel):
2660
3345
 
2661
3346
  verbosity: Optional[Literal["low", "medium", "high"]] = None
2662
3347
 
2663
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2664
3348
  if TYPE_CHECKING:
3349
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3350
+ # value to this field, so for compatibility we avoid doing it at runtime.
3351
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3352
+
2665
3353
  # Stub to indicate that arbitrary properties are accepted.
2666
3354
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2667
3355
  # `getattr(obj, '$type')`
2668
3356
  def __getattr__(self, attr: str) -> object: ...
3357
+ else:
3358
+ __pydantic_extra__: Dict[str, object]
2669
3359
 
2670
3360
 
2671
3361
  class UsageInputTokensDetails(BaseModel):
2672
3362
  cached_tokens: int
2673
3363
 
2674
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2675
3364
  if TYPE_CHECKING:
3365
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3366
+ # value to this field, so for compatibility we avoid doing it at runtime.
3367
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3368
+
2676
3369
  # Stub to indicate that arbitrary properties are accepted.
2677
3370
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2678
3371
  # `getattr(obj, '$type')`
2679
3372
  def __getattr__(self, attr: str) -> object: ...
3373
+ else:
3374
+ __pydantic_extra__: Dict[str, object]
2680
3375
 
2681
3376
 
2682
3377
  class UsageOutputTokensDetails(BaseModel):
2683
3378
  reasoning_tokens: int
2684
3379
 
2685
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2686
3380
  if TYPE_CHECKING:
3381
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3382
+ # value to this field, so for compatibility we avoid doing it at runtime.
3383
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3384
+
2687
3385
  # Stub to indicate that arbitrary properties are accepted.
2688
3386
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2689
3387
  # `getattr(obj, '$type')`
2690
3388
  def __getattr__(self, attr: str) -> object: ...
3389
+ else:
3390
+ __pydantic_extra__: Dict[str, object]
2691
3391
 
2692
3392
 
2693
3393
  class Usage(BaseModel):
@@ -2701,12 +3401,17 @@ class Usage(BaseModel):
2701
3401
 
2702
3402
  total_tokens: int
2703
3403
 
2704
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2705
3404
  if TYPE_CHECKING:
3405
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3406
+ # value to this field, so for compatibility we avoid doing it at runtime.
3407
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3408
+
2706
3409
  # Stub to indicate that arbitrary properties are accepted.
2707
3410
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2708
3411
  # `getattr(obj, '$type')`
2709
3412
  def __getattr__(self, attr: str) -> object: ...
3413
+ else:
3414
+ __pydantic_extra__: Dict[str, object]
2710
3415
 
2711
3416
 
2712
3417
  class Response(BaseModel):
@@ -2844,9 +3549,14 @@ class Response(BaseModel):
2844
3549
 
2845
3550
  user: Optional[str] = None
2846
3551
 
2847
- __pydantic_extra__: Dict[str, builtins.object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2848
3552
  if TYPE_CHECKING:
3553
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
3554
+ # value to this field, so for compatibility we avoid doing it at runtime.
3555
+ __pydantic_extra__: Dict[str, builtins.object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
3556
+
2849
3557
  # Stub to indicate that arbitrary properties are accepted.
2850
3558
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
2851
3559
  # `getattr(obj, '$type')`
2852
3560
  def __getattr__(self, attr: str) -> builtins.object: ...
3561
+ else:
3562
+ __pydantic_extra__: Dict[str, builtins.object]