scale-gp-beta 0.1.0a29__py3-none-any.whl → 0.1.0a30__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 (38) hide show
  1. scale_gp_beta/_base_client.py +4 -1
  2. scale_gp_beta/_client.py +9 -0
  3. scale_gp_beta/_files.py +4 -4
  4. scale_gp_beta/_models.py +24 -3
  5. scale_gp_beta/_version.py +1 -1
  6. scale_gp_beta/lib/CONTRIBUTING.MD +53 -0
  7. scale_gp_beta/lib/tracing/trace_queue_manager.py +14 -0
  8. scale_gp_beta/resources/__init__.py +14 -0
  9. scale_gp_beta/resources/chat/completions.py +4 -0
  10. scale_gp_beta/resources/responses.py +314 -0
  11. scale_gp_beta/resources/spans.py +14 -22
  12. scale_gp_beta/types/__init__.py +17 -0
  13. scale_gp_beta/types/chat/chat_completion.py +61 -6
  14. scale_gp_beta/types/chat/chat_completion_chunk.py +17 -1
  15. scale_gp_beta/types/chat/completion_models_params.py +2 -0
  16. scale_gp_beta/types/chat/model_definition.py +6 -0
  17. scale_gp_beta/types/completion.py +8 -0
  18. scale_gp_beta/types/container.py +0 -6
  19. scale_gp_beta/types/dataset.py +3 -1
  20. scale_gp_beta/types/dataset_item.py +3 -1
  21. scale_gp_beta/types/evaluation.py +3 -7
  22. scale_gp_beta/types/evaluation_item.py +3 -1
  23. scale_gp_beta/types/evaluation_task.py +31 -55
  24. scale_gp_beta/types/evaluation_task_param.py +28 -1
  25. scale_gp_beta/types/file.py +3 -1
  26. scale_gp_beta/types/inference_model.py +3 -0
  27. scale_gp_beta/types/question.py +11 -10
  28. scale_gp_beta/types/response.py +2852 -0
  29. scale_gp_beta/types/response_create_params.py +817 -0
  30. scale_gp_beta/types/response_create_response.py +20891 -0
  31. scale_gp_beta/types/shared/__init__.py +3 -0
  32. scale_gp_beta/types/shared/identity.py +16 -0
  33. scale_gp_beta/types/span.py +4 -2
  34. scale_gp_beta/types/span_search_params.py +4 -7
  35. {scale_gp_beta-0.1.0a29.dist-info → scale_gp_beta-0.1.0a30.dist-info}/METADATA +2 -3
  36. {scale_gp_beta-0.1.0a29.dist-info → scale_gp_beta-0.1.0a30.dist-info}/RECORD +38 -31
  37. {scale_gp_beta-0.1.0a29.dist-info → scale_gp_beta-0.1.0a30.dist-info}/WHEEL +0 -0
  38. {scale_gp_beta-0.1.0a29.dist-info → scale_gp_beta-0.1.0a30.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,2852 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import builtins
4
+ from typing import TYPE_CHECKING, Dict, List, Union, Optional
5
+ from typing_extensions import Literal, TypeAlias
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = [
12
+ "Response",
13
+ "Output",
14
+ "OutputResponseOutputMessage",
15
+ "OutputResponseOutputMessageContent",
16
+ "OutputResponseOutputMessageContentResponseOutputText",
17
+ "OutputResponseOutputMessageContentResponseOutputTextAnnotation",
18
+ "OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFileCitation",
19
+ "OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationURLCitation",
20
+ "OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationContainerFileCitation",
21
+ "OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFilePath",
22
+ "OutputResponseOutputMessageContentResponseOutputTextLogprob",
23
+ "OutputResponseOutputMessageContentResponseOutputTextLogprobTopLogprob",
24
+ "OutputResponseOutputMessageContentResponseOutputRefusal",
25
+ "OutputResponseFileSearchToolCall",
26
+ "OutputResponseFileSearchToolCallResult",
27
+ "OutputResponseFunctionToolCall",
28
+ "OutputResponseFunctionWebSearch",
29
+ "OutputResponseFunctionWebSearchAction",
30
+ "OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionSearch",
31
+ "OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionOpenPage",
32
+ "OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionFind",
33
+ "OutputResponseComputerToolCall",
34
+ "OutputResponseComputerToolCallAction",
35
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionClick",
36
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDoubleClick",
37
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDrag",
38
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDragPath",
39
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionKeypress",
40
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionMove",
41
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScreenshot",
42
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScroll",
43
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionType",
44
+ "OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionWait",
45
+ "OutputResponseComputerToolCallPendingSafetyCheck",
46
+ "OutputResponseReasoningItem",
47
+ "OutputResponseReasoningItemSummary",
48
+ "OutputResponseReasoningItemContent",
49
+ "OutputOpenAITypesResponsesResponseOutputItemImageGenerationCall",
50
+ "OutputResponseCodeInterpreterToolCall",
51
+ "OutputResponseCodeInterpreterToolCallOutput",
52
+ "OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputLogs",
53
+ "OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputImage",
54
+ "OutputOpenAITypesResponsesResponseOutputItemLocalShellCall",
55
+ "OutputOpenAITypesResponsesResponseOutputItemLocalShellCallAction",
56
+ "OutputOpenAITypesResponsesResponseOutputItemMcpCall",
57
+ "OutputOpenAITypesResponsesResponseOutputItemMcpListTools",
58
+ "OutputOpenAITypesResponsesResponseOutputItemMcpListToolsTool",
59
+ "OutputOpenAITypesResponsesResponseOutputItemMcpApprovalRequest",
60
+ "OutputResponseCustomToolCall",
61
+ "ToolChoice",
62
+ "ToolChoiceToolChoiceAllowed",
63
+ "ToolChoiceToolChoiceTypes",
64
+ "ToolChoiceToolChoiceFunction",
65
+ "ToolChoiceToolChoiceMcp",
66
+ "ToolChoiceToolChoiceCustom",
67
+ "Tool",
68
+ "ToolFunctionTool",
69
+ "ToolFileSearchTool",
70
+ "ToolFileSearchToolFilters",
71
+ "ToolFileSearchToolFiltersComparisonFilter",
72
+ "ToolFileSearchToolFiltersCompoundFilter",
73
+ "ToolFileSearchToolFiltersCompoundFilterFilter",
74
+ "ToolFileSearchToolFiltersCompoundFilterFilterComparisonFilter",
75
+ "ToolFileSearchToolRankingOptions",
76
+ "ToolWebSearchTool",
77
+ "ToolWebSearchToolUserLocation",
78
+ "ToolComputerTool",
79
+ "ToolMcp",
80
+ "ToolMcpAllowedTools",
81
+ "ToolMcpAllowedToolsMcpAllowedToolsMcpAllowedToolsFilter",
82
+ "ToolMcpRequireApproval",
83
+ "ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilter",
84
+ "ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilterAlways",
85
+ "ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilterNever",
86
+ "ToolCodeInterpreter",
87
+ "ToolCodeInterpreterContainer",
88
+ "ToolCodeInterpreterContainerCodeInterpreterContainerCodeInterpreterToolAuto",
89
+ "ToolImageGeneration",
90
+ "ToolImageGenerationInputImageMask",
91
+ "ToolLocalShell",
92
+ "ToolCustomTool",
93
+ "ToolCustomToolFormat",
94
+ "ToolCustomToolFormatText",
95
+ "ToolCustomToolFormatGrammar",
96
+ "Error",
97
+ "IncompleteDetails",
98
+ "InstructionsUnionMember1",
99
+ "InstructionsUnionMember1EasyInputMessage",
100
+ "InstructionsUnionMember1EasyInputMessageContentUnionMember1",
101
+ "InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputText",
102
+ "InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputImage",
103
+ "InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputFile",
104
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessage",
105
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContent",
106
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputText",
107
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputImage",
108
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputFile",
109
+ "InstructionsUnionMember1ResponseOutputMessage",
110
+ "InstructionsUnionMember1ResponseOutputMessageContent",
111
+ "InstructionsUnionMember1ResponseOutputMessageContentResponseOutputText",
112
+ "InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotation",
113
+ "InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFileCitation",
114
+ "InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationURLCitation",
115
+ "InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationContainerFileCitation",
116
+ "InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFilePath",
117
+ "InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogprob",
118
+ "InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogprobTopLogprob",
119
+ "InstructionsUnionMember1ResponseOutputMessageContentResponseOutputRefusal",
120
+ "InstructionsUnionMember1ResponseFileSearchToolCall",
121
+ "InstructionsUnionMember1ResponseFileSearchToolCallResult",
122
+ "InstructionsUnionMember1ResponseComputerToolCall",
123
+ "InstructionsUnionMember1ResponseComputerToolCallAction",
124
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionClick",
125
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDoubleClick",
126
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDrag",
127
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDragPath",
128
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionKeypress",
129
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionMove",
130
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScreenshot",
131
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScroll",
132
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionType",
133
+ "InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionWait",
134
+ "InstructionsUnionMember1ResponseComputerToolCallPendingSafetyCheck",
135
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutput",
136
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutputOutput",
137
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutputAcknowledgedSafetyCheck",
138
+ "InstructionsUnionMember1ResponseFunctionWebSearch",
139
+ "InstructionsUnionMember1ResponseFunctionWebSearchAction",
140
+ "InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionSearch",
141
+ "InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionOpenPage",
142
+ "InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionFind",
143
+ "InstructionsUnionMember1ResponseFunctionToolCall",
144
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemFunctionCallOutput",
145
+ "InstructionsUnionMember1ResponseReasoningItem",
146
+ "InstructionsUnionMember1ResponseReasoningItemSummary",
147
+ "InstructionsUnionMember1ResponseReasoningItemContent",
148
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemImageGenerationCall",
149
+ "InstructionsUnionMember1ResponseCodeInterpreterToolCall",
150
+ "InstructionsUnionMember1ResponseCodeInterpreterToolCallOutput",
151
+ "InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputLogs",
152
+ "InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputImage",
153
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCall",
154
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCallAction",
155
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCallOutput",
156
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListTools",
157
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListToolsTool",
158
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalRequest",
159
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalResponse",
160
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpCall",
161
+ "InstructionsUnionMember1ResponseCustomToolCallOutput",
162
+ "InstructionsUnionMember1ResponseCustomToolCall",
163
+ "InstructionsUnionMember1OpenAITypesResponsesResponseInputItemItemReference",
164
+ "Prompt",
165
+ "PromptVariables",
166
+ "PromptVariablesResponseInputText",
167
+ "PromptVariablesResponseInputImage",
168
+ "PromptVariablesResponseInputFile",
169
+ "Reasoning",
170
+ "Text",
171
+ "TextFormat",
172
+ "TextFormatResponseFormatText",
173
+ "TextFormatResponseFormatTextJsonSchemaConfig",
174
+ "TextFormatResponseFormatJsonObject",
175
+ "Usage",
176
+ "UsageInputTokensDetails",
177
+ "UsageOutputTokensDetails",
178
+ ]
179
+
180
+
181
+ class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFileCitation(
182
+ BaseModel
183
+ ):
184
+ file_id: str
185
+
186
+ filename: str
187
+
188
+ index: int
189
+
190
+ type: Literal["file_citation"]
191
+
192
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
193
+ if TYPE_CHECKING:
194
+ # Stub to indicate that arbitrary properties are accepted.
195
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
196
+ # `getattr(obj, '$type')`
197
+ def __getattr__(self, attr: str) -> object: ...
198
+
199
+
200
+ class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationURLCitation(
201
+ BaseModel
202
+ ):
203
+ end_index: int
204
+
205
+ start_index: int
206
+
207
+ title: str
208
+
209
+ type: Literal["url_citation"]
210
+
211
+ url: str
212
+
213
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
214
+ if TYPE_CHECKING:
215
+ # Stub to indicate that arbitrary properties are accepted.
216
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
217
+ # `getattr(obj, '$type')`
218
+ def __getattr__(self, attr: str) -> object: ...
219
+
220
+
221
+ class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationContainerFileCitation(
222
+ BaseModel
223
+ ):
224
+ container_id: str
225
+
226
+ end_index: int
227
+
228
+ file_id: str
229
+
230
+ filename: str
231
+
232
+ start_index: int
233
+
234
+ type: Literal["container_file_citation"]
235
+
236
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
237
+ if TYPE_CHECKING:
238
+ # Stub to indicate that arbitrary properties are accepted.
239
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
240
+ # `getattr(obj, '$type')`
241
+ def __getattr__(self, attr: str) -> object: ...
242
+
243
+
244
+ class OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFilePath(
245
+ BaseModel
246
+ ):
247
+ file_id: str
248
+
249
+ index: int
250
+
251
+ type: Literal["file_path"]
252
+
253
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
254
+ if TYPE_CHECKING:
255
+ # Stub to indicate that arbitrary properties are accepted.
256
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
257
+ # `getattr(obj, '$type')`
258
+ def __getattr__(self, attr: str) -> object: ...
259
+
260
+
261
+ OutputResponseOutputMessageContentResponseOutputTextAnnotation: TypeAlias = Union[
262
+ OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFileCitation,
263
+ OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationURLCitation,
264
+ OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationContainerFileCitation,
265
+ OutputResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFilePath,
266
+ ]
267
+
268
+
269
+ class OutputResponseOutputMessageContentResponseOutputTextLogprobTopLogprob(BaseModel):
270
+ token: str
271
+
272
+ bytes: List[int]
273
+
274
+ logprob: float
275
+
276
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
277
+ if TYPE_CHECKING:
278
+ # Stub to indicate that arbitrary properties are accepted.
279
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
280
+ # `getattr(obj, '$type')`
281
+ def __getattr__(self, attr: str) -> object: ...
282
+
283
+
284
+ class OutputResponseOutputMessageContentResponseOutputTextLogprob(BaseModel):
285
+ token: str
286
+
287
+ bytes: List[int]
288
+
289
+ logprob: float
290
+
291
+ top_logprobs: List[OutputResponseOutputMessageContentResponseOutputTextLogprobTopLogprob]
292
+
293
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
294
+ if TYPE_CHECKING:
295
+ # Stub to indicate that arbitrary properties are accepted.
296
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
297
+ # `getattr(obj, '$type')`
298
+ def __getattr__(self, attr: str) -> object: ...
299
+
300
+
301
+ class OutputResponseOutputMessageContentResponseOutputText(BaseModel):
302
+ annotations: List[OutputResponseOutputMessageContentResponseOutputTextAnnotation]
303
+
304
+ text: str
305
+
306
+ type: Literal["output_text"]
307
+
308
+ logprobs: Optional[List[OutputResponseOutputMessageContentResponseOutputTextLogprob]] = None
309
+
310
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
311
+ if TYPE_CHECKING:
312
+ # Stub to indicate that arbitrary properties are accepted.
313
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
314
+ # `getattr(obj, '$type')`
315
+ def __getattr__(self, attr: str) -> object: ...
316
+
317
+
318
+ class OutputResponseOutputMessageContentResponseOutputRefusal(BaseModel):
319
+ refusal: str
320
+
321
+ type: Literal["refusal"]
322
+
323
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
324
+ if TYPE_CHECKING:
325
+ # Stub to indicate that arbitrary properties are accepted.
326
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
327
+ # `getattr(obj, '$type')`
328
+ def __getattr__(self, attr: str) -> object: ...
329
+
330
+
331
+ OutputResponseOutputMessageContent: TypeAlias = Union[
332
+ OutputResponseOutputMessageContentResponseOutputText, OutputResponseOutputMessageContentResponseOutputRefusal
333
+ ]
334
+
335
+
336
+ class OutputResponseOutputMessage(BaseModel):
337
+ id: str
338
+
339
+ content: List[OutputResponseOutputMessageContent]
340
+
341
+ role: Literal["assistant"]
342
+
343
+ status: Literal["in_progress", "completed", "incomplete"]
344
+
345
+ type: Literal["message"]
346
+
347
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
348
+ if TYPE_CHECKING:
349
+ # Stub to indicate that arbitrary properties are accepted.
350
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
351
+ # `getattr(obj, '$type')`
352
+ def __getattr__(self, attr: str) -> object: ...
353
+
354
+
355
+ class OutputResponseFileSearchToolCallResult(BaseModel):
356
+ attributes: Optional[Dict[str, Union[str, float, bool]]] = None
357
+
358
+ file_id: Optional[str] = None
359
+
360
+ filename: Optional[str] = None
361
+
362
+ score: Optional[float] = None
363
+
364
+ text: Optional[str] = None
365
+
366
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
367
+ if TYPE_CHECKING:
368
+ # Stub to indicate that arbitrary properties are accepted.
369
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
370
+ # `getattr(obj, '$type')`
371
+ def __getattr__(self, attr: str) -> object: ...
372
+
373
+
374
+ class OutputResponseFileSearchToolCall(BaseModel):
375
+ id: str
376
+
377
+ queries: List[str]
378
+
379
+ status: Literal["in_progress", "searching", "completed", "incomplete", "failed"]
380
+
381
+ type: Literal["file_search_call"]
382
+
383
+ results: Optional[List[OutputResponseFileSearchToolCallResult]] = None
384
+
385
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
386
+ if TYPE_CHECKING:
387
+ # Stub to indicate that arbitrary properties are accepted.
388
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
389
+ # `getattr(obj, '$type')`
390
+ def __getattr__(self, attr: str) -> object: ...
391
+
392
+
393
+ class OutputResponseFunctionToolCall(BaseModel):
394
+ arguments: str
395
+
396
+ call_id: str
397
+
398
+ name: str
399
+
400
+ type: Literal["function_call"]
401
+
402
+ id: Optional[str] = None
403
+
404
+ status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
405
+
406
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
407
+ if TYPE_CHECKING:
408
+ # Stub to indicate that arbitrary properties are accepted.
409
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
410
+ # `getattr(obj, '$type')`
411
+ def __getattr__(self, attr: str) -> object: ...
412
+
413
+
414
+ class OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionSearch(BaseModel):
415
+ query: str
416
+
417
+ type: Literal["search"]
418
+
419
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
420
+ if TYPE_CHECKING:
421
+ # Stub to indicate that arbitrary properties are accepted.
422
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
423
+ # `getattr(obj, '$type')`
424
+ def __getattr__(self, attr: str) -> object: ...
425
+
426
+
427
+ class OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionOpenPage(BaseModel):
428
+ type: Literal["open_page"]
429
+
430
+ url: str
431
+
432
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
433
+ if TYPE_CHECKING:
434
+ # Stub to indicate that arbitrary properties are accepted.
435
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
436
+ # `getattr(obj, '$type')`
437
+ def __getattr__(self, attr: str) -> object: ...
438
+
439
+
440
+ class OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionFind(BaseModel):
441
+ pattern: str
442
+
443
+ type: Literal["find"]
444
+
445
+ url: str
446
+
447
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
448
+ if TYPE_CHECKING:
449
+ # Stub to indicate that arbitrary properties are accepted.
450
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
451
+ # `getattr(obj, '$type')`
452
+ def __getattr__(self, attr: str) -> object: ...
453
+
454
+
455
+ OutputResponseFunctionWebSearchAction: TypeAlias = Union[
456
+ OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionSearch,
457
+ OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionOpenPage,
458
+ OutputResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionFind,
459
+ ]
460
+
461
+
462
+ class OutputResponseFunctionWebSearch(BaseModel):
463
+ id: str
464
+
465
+ action: OutputResponseFunctionWebSearchAction
466
+
467
+ status: Literal["in_progress", "searching", "completed", "failed"]
468
+
469
+ type: Literal["web_search_call"]
470
+
471
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
472
+ if TYPE_CHECKING:
473
+ # Stub to indicate that arbitrary properties are accepted.
474
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
475
+ # `getattr(obj, '$type')`
476
+ def __getattr__(self, attr: str) -> object: ...
477
+
478
+
479
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionClick(BaseModel):
480
+ button: Literal["left", "right", "wheel", "back", "forward"]
481
+
482
+ type: Literal["click"]
483
+
484
+ x: int
485
+
486
+ y: int
487
+
488
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
489
+ if TYPE_CHECKING:
490
+ # Stub to indicate that arbitrary properties are accepted.
491
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
492
+ # `getattr(obj, '$type')`
493
+ def __getattr__(self, attr: str) -> object: ...
494
+
495
+
496
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDoubleClick(BaseModel):
497
+ type: Literal["double_click"]
498
+
499
+ x: int
500
+
501
+ y: int
502
+
503
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
504
+ if TYPE_CHECKING:
505
+ # Stub to indicate that arbitrary properties are accepted.
506
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
507
+ # `getattr(obj, '$type')`
508
+ def __getattr__(self, attr: str) -> object: ...
509
+
510
+
511
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDragPath(BaseModel):
512
+ x: int
513
+
514
+ y: int
515
+
516
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
517
+ if TYPE_CHECKING:
518
+ # Stub to indicate that arbitrary properties are accepted.
519
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
520
+ # `getattr(obj, '$type')`
521
+ def __getattr__(self, attr: str) -> object: ...
522
+
523
+
524
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDrag(BaseModel):
525
+ path: List[OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDragPath]
526
+
527
+ type: Literal["drag"]
528
+
529
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
530
+ if TYPE_CHECKING:
531
+ # Stub to indicate that arbitrary properties are accepted.
532
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
533
+ # `getattr(obj, '$type')`
534
+ def __getattr__(self, attr: str) -> object: ...
535
+
536
+
537
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionKeypress(BaseModel):
538
+ keys: List[str]
539
+
540
+ type: Literal["keypress"]
541
+
542
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
543
+ if TYPE_CHECKING:
544
+ # Stub to indicate that arbitrary properties are accepted.
545
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
546
+ # `getattr(obj, '$type')`
547
+ def __getattr__(self, attr: str) -> object: ...
548
+
549
+
550
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionMove(BaseModel):
551
+ type: Literal["move"]
552
+
553
+ x: int
554
+
555
+ y: int
556
+
557
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
558
+ if TYPE_CHECKING:
559
+ # Stub to indicate that arbitrary properties are accepted.
560
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
561
+ # `getattr(obj, '$type')`
562
+ def __getattr__(self, attr: str) -> object: ...
563
+
564
+
565
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScreenshot(BaseModel):
566
+ type: Literal["screenshot"]
567
+
568
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
569
+ if TYPE_CHECKING:
570
+ # Stub to indicate that arbitrary properties are accepted.
571
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
572
+ # `getattr(obj, '$type')`
573
+ def __getattr__(self, attr: str) -> object: ...
574
+
575
+
576
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScroll(BaseModel):
577
+ scroll_x: int
578
+
579
+ scroll_y: int
580
+
581
+ type: Literal["scroll"]
582
+
583
+ x: int
584
+
585
+ y: int
586
+
587
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
588
+ if TYPE_CHECKING:
589
+ # Stub to indicate that arbitrary properties are accepted.
590
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
591
+ # `getattr(obj, '$type')`
592
+ def __getattr__(self, attr: str) -> object: ...
593
+
594
+
595
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionType(BaseModel):
596
+ text: str
597
+
598
+ type: Literal["type"]
599
+
600
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
601
+ if TYPE_CHECKING:
602
+ # Stub to indicate that arbitrary properties are accepted.
603
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
604
+ # `getattr(obj, '$type')`
605
+ def __getattr__(self, attr: str) -> object: ...
606
+
607
+
608
+ class OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionWait(BaseModel):
609
+ type: Literal["wait"]
610
+
611
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
612
+ if TYPE_CHECKING:
613
+ # Stub to indicate that arbitrary properties are accepted.
614
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
615
+ # `getattr(obj, '$type')`
616
+ def __getattr__(self, attr: str) -> object: ...
617
+
618
+
619
+ OutputResponseComputerToolCallAction: TypeAlias = Union[
620
+ OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionClick,
621
+ OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDoubleClick,
622
+ OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDrag,
623
+ OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionKeypress,
624
+ OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionMove,
625
+ OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScreenshot,
626
+ OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScroll,
627
+ OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionType,
628
+ OutputResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionWait,
629
+ ]
630
+
631
+
632
+ class OutputResponseComputerToolCallPendingSafetyCheck(BaseModel):
633
+ id: str
634
+
635
+ code: str
636
+
637
+ message: str
638
+
639
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
640
+ if TYPE_CHECKING:
641
+ # Stub to indicate that arbitrary properties are accepted.
642
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
643
+ # `getattr(obj, '$type')`
644
+ def __getattr__(self, attr: str) -> object: ...
645
+
646
+
647
+ class OutputResponseComputerToolCall(BaseModel):
648
+ id: str
649
+
650
+ action: OutputResponseComputerToolCallAction
651
+
652
+ call_id: str
653
+
654
+ pending_safety_checks: List[OutputResponseComputerToolCallPendingSafetyCheck]
655
+
656
+ status: Literal["in_progress", "completed", "incomplete"]
657
+
658
+ type: Literal["computer_call"]
659
+
660
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
661
+ if TYPE_CHECKING:
662
+ # Stub to indicate that arbitrary properties are accepted.
663
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
664
+ # `getattr(obj, '$type')`
665
+ def __getattr__(self, attr: str) -> object: ...
666
+
667
+
668
+ class OutputResponseReasoningItemSummary(BaseModel):
669
+ text: str
670
+
671
+ type: Literal["summary_text"]
672
+
673
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
674
+ if TYPE_CHECKING:
675
+ # Stub to indicate that arbitrary properties are accepted.
676
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
677
+ # `getattr(obj, '$type')`
678
+ def __getattr__(self, attr: str) -> object: ...
679
+
680
+
681
+ class OutputResponseReasoningItemContent(BaseModel):
682
+ text: str
683
+
684
+ type: Literal["reasoning_text"]
685
+
686
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
687
+ if TYPE_CHECKING:
688
+ # Stub to indicate that arbitrary properties are accepted.
689
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
690
+ # `getattr(obj, '$type')`
691
+ def __getattr__(self, attr: str) -> object: ...
692
+
693
+
694
+ class OutputResponseReasoningItem(BaseModel):
695
+ id: str
696
+
697
+ summary: List[OutputResponseReasoningItemSummary]
698
+
699
+ type: Literal["reasoning"]
700
+
701
+ content: Optional[List[OutputResponseReasoningItemContent]] = None
702
+
703
+ encrypted_content: Optional[str] = None
704
+
705
+ status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
706
+
707
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
708
+ if TYPE_CHECKING:
709
+ # Stub to indicate that arbitrary properties are accepted.
710
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
711
+ # `getattr(obj, '$type')`
712
+ def __getattr__(self, attr: str) -> object: ...
713
+
714
+
715
+ class OutputOpenAITypesResponsesResponseOutputItemImageGenerationCall(BaseModel):
716
+ id: str
717
+
718
+ status: Literal["in_progress", "completed", "generating", "failed"]
719
+
720
+ type: Literal["image_generation_call"]
721
+
722
+ result: Optional[str] = None
723
+
724
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
725
+ if TYPE_CHECKING:
726
+ # Stub to indicate that arbitrary properties are accepted.
727
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
728
+ # `getattr(obj, '$type')`
729
+ def __getattr__(self, attr: str) -> object: ...
730
+
731
+
732
+ class OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputLogs(
733
+ BaseModel
734
+ ):
735
+ logs: str
736
+
737
+ type: Literal["logs"]
738
+
739
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
740
+ if TYPE_CHECKING:
741
+ # Stub to indicate that arbitrary properties are accepted.
742
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
743
+ # `getattr(obj, '$type')`
744
+ def __getattr__(self, attr: str) -> object: ...
745
+
746
+
747
+ class OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputImage(
748
+ BaseModel
749
+ ):
750
+ type: Literal["image"]
751
+
752
+ url: str
753
+
754
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
755
+ if TYPE_CHECKING:
756
+ # Stub to indicate that arbitrary properties are accepted.
757
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
758
+ # `getattr(obj, '$type')`
759
+ def __getattr__(self, attr: str) -> object: ...
760
+
761
+
762
+ OutputResponseCodeInterpreterToolCallOutput: TypeAlias = Union[
763
+ OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputLogs,
764
+ OutputResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputImage,
765
+ ]
766
+
767
+
768
+ class OutputResponseCodeInterpreterToolCall(BaseModel):
769
+ id: str
770
+
771
+ container_id: str
772
+
773
+ status: Literal["in_progress", "completed", "incomplete", "interpreting", "failed"]
774
+
775
+ type: Literal["code_interpreter_call"]
776
+
777
+ code: Optional[str] = None
778
+
779
+ outputs: Optional[List[OutputResponseCodeInterpreterToolCallOutput]] = None
780
+
781
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
782
+ if TYPE_CHECKING:
783
+ # Stub to indicate that arbitrary properties are accepted.
784
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
785
+ # `getattr(obj, '$type')`
786
+ def __getattr__(self, attr: str) -> object: ...
787
+
788
+
789
+ class OutputOpenAITypesResponsesResponseOutputItemLocalShellCallAction(BaseModel):
790
+ command: List[str]
791
+
792
+ env: Dict[str, str]
793
+
794
+ type: Literal["exec"]
795
+
796
+ timeout_ms: Optional[int] = None
797
+
798
+ user: Optional[str] = None
799
+
800
+ working_directory: Optional[str] = None
801
+
802
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
803
+ if TYPE_CHECKING:
804
+ # Stub to indicate that arbitrary properties are accepted.
805
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
806
+ # `getattr(obj, '$type')`
807
+ def __getattr__(self, attr: str) -> object: ...
808
+
809
+
810
+ class OutputOpenAITypesResponsesResponseOutputItemLocalShellCall(BaseModel):
811
+ id: str
812
+
813
+ action: OutputOpenAITypesResponsesResponseOutputItemLocalShellCallAction
814
+
815
+ call_id: str
816
+
817
+ status: Literal["in_progress", "completed", "incomplete"]
818
+
819
+ type: Literal["local_shell_call"]
820
+
821
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
822
+ if TYPE_CHECKING:
823
+ # Stub to indicate that arbitrary properties are accepted.
824
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
825
+ # `getattr(obj, '$type')`
826
+ def __getattr__(self, attr: str) -> object: ...
827
+
828
+
829
+ class OutputOpenAITypesResponsesResponseOutputItemMcpCall(BaseModel):
830
+ id: str
831
+
832
+ arguments: str
833
+
834
+ name: str
835
+
836
+ server_label: str
837
+
838
+ type: Literal["mcp_call"]
839
+
840
+ error: Optional[str] = None
841
+
842
+ output: Optional[str] = None
843
+
844
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
845
+ if TYPE_CHECKING:
846
+ # Stub to indicate that arbitrary properties are accepted.
847
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
848
+ # `getattr(obj, '$type')`
849
+ def __getattr__(self, attr: str) -> object: ...
850
+
851
+
852
+ class OutputOpenAITypesResponsesResponseOutputItemMcpListToolsTool(BaseModel):
853
+ input_schema: object
854
+
855
+ name: str
856
+
857
+ annotations: Optional[object] = None
858
+
859
+ description: Optional[str] = None
860
+
861
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
862
+ if TYPE_CHECKING:
863
+ # Stub to indicate that arbitrary properties are accepted.
864
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
865
+ # `getattr(obj, '$type')`
866
+ def __getattr__(self, attr: str) -> object: ...
867
+
868
+
869
+ class OutputOpenAITypesResponsesResponseOutputItemMcpListTools(BaseModel):
870
+ id: str
871
+
872
+ server_label: str
873
+
874
+ tools: List[OutputOpenAITypesResponsesResponseOutputItemMcpListToolsTool]
875
+
876
+ type: Literal["mcp_list_tools"]
877
+
878
+ error: Optional[str] = None
879
+
880
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
881
+ if TYPE_CHECKING:
882
+ # Stub to indicate that arbitrary properties are accepted.
883
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
884
+ # `getattr(obj, '$type')`
885
+ def __getattr__(self, attr: str) -> object: ...
886
+
887
+
888
+ class OutputOpenAITypesResponsesResponseOutputItemMcpApprovalRequest(BaseModel):
889
+ id: str
890
+
891
+ arguments: str
892
+
893
+ name: str
894
+
895
+ server_label: str
896
+
897
+ type: Literal["mcp_approval_request"]
898
+
899
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
900
+ if TYPE_CHECKING:
901
+ # Stub to indicate that arbitrary properties are accepted.
902
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
903
+ # `getattr(obj, '$type')`
904
+ def __getattr__(self, attr: str) -> object: ...
905
+
906
+
907
+ class OutputResponseCustomToolCall(BaseModel):
908
+ call_id: str
909
+
910
+ input: str
911
+
912
+ name: str
913
+
914
+ type: Literal["custom_tool_call"]
915
+
916
+ id: Optional[str] = None
917
+
918
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
919
+ if TYPE_CHECKING:
920
+ # Stub to indicate that arbitrary properties are accepted.
921
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
922
+ # `getattr(obj, '$type')`
923
+ def __getattr__(self, attr: str) -> object: ...
924
+
925
+
926
+ Output: TypeAlias = Union[
927
+ OutputResponseOutputMessage,
928
+ OutputResponseFileSearchToolCall,
929
+ OutputResponseFunctionToolCall,
930
+ OutputResponseFunctionWebSearch,
931
+ OutputResponseComputerToolCall,
932
+ OutputResponseReasoningItem,
933
+ OutputOpenAITypesResponsesResponseOutputItemImageGenerationCall,
934
+ OutputResponseCodeInterpreterToolCall,
935
+ OutputOpenAITypesResponsesResponseOutputItemLocalShellCall,
936
+ OutputOpenAITypesResponsesResponseOutputItemMcpCall,
937
+ OutputOpenAITypesResponsesResponseOutputItemMcpListTools,
938
+ OutputOpenAITypesResponsesResponseOutputItemMcpApprovalRequest,
939
+ OutputResponseCustomToolCall,
940
+ ]
941
+
942
+
943
+ class ToolChoiceToolChoiceAllowed(BaseModel):
944
+ mode: Literal["auto", "required"]
945
+
946
+ tools: List[Dict[str, object]]
947
+
948
+ type: Literal["allowed_tools"]
949
+
950
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
951
+ if TYPE_CHECKING:
952
+ # Stub to indicate that arbitrary properties are accepted.
953
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
954
+ # `getattr(obj, '$type')`
955
+ def __getattr__(self, attr: str) -> object: ...
956
+
957
+
958
+ class ToolChoiceToolChoiceTypes(BaseModel):
959
+ type: Literal[
960
+ "file_search",
961
+ "web_search_preview",
962
+ "computer_use_preview",
963
+ "web_search_preview_2025_03_11",
964
+ "image_generation",
965
+ "code_interpreter",
966
+ ]
967
+
968
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
969
+ if TYPE_CHECKING:
970
+ # Stub to indicate that arbitrary properties are accepted.
971
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
972
+ # `getattr(obj, '$type')`
973
+ def __getattr__(self, attr: str) -> object: ...
974
+
975
+
976
+ class ToolChoiceToolChoiceFunction(BaseModel):
977
+ name: str
978
+
979
+ type: Literal["function"]
980
+
981
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
982
+ if TYPE_CHECKING:
983
+ # Stub to indicate that arbitrary properties are accepted.
984
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
985
+ # `getattr(obj, '$type')`
986
+ def __getattr__(self, attr: str) -> object: ...
987
+
988
+
989
+ class ToolChoiceToolChoiceMcp(BaseModel):
990
+ server_label: str
991
+
992
+ type: Literal["mcp"]
993
+
994
+ name: Optional[str] = None
995
+
996
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
997
+ if TYPE_CHECKING:
998
+ # Stub to indicate that arbitrary properties are accepted.
999
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1000
+ # `getattr(obj, '$type')`
1001
+ def __getattr__(self, attr: str) -> object: ...
1002
+
1003
+
1004
+ class ToolChoiceToolChoiceCustom(BaseModel):
1005
+ name: str
1006
+
1007
+ type: Literal["custom"]
1008
+
1009
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1010
+ if TYPE_CHECKING:
1011
+ # Stub to indicate that arbitrary properties are accepted.
1012
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1013
+ # `getattr(obj, '$type')`
1014
+ def __getattr__(self, attr: str) -> object: ...
1015
+
1016
+
1017
+ ToolChoice: TypeAlias = Union[
1018
+ Literal["none", "auto", "required"],
1019
+ ToolChoiceToolChoiceAllowed,
1020
+ ToolChoiceToolChoiceTypes,
1021
+ ToolChoiceToolChoiceFunction,
1022
+ ToolChoiceToolChoiceMcp,
1023
+ ToolChoiceToolChoiceCustom,
1024
+ ]
1025
+
1026
+
1027
+ class ToolFunctionTool(BaseModel):
1028
+ name: str
1029
+
1030
+ type: Literal["function"]
1031
+
1032
+ description: Optional[str] = None
1033
+
1034
+ parameters: Optional[Dict[str, object]] = None
1035
+
1036
+ strict: Optional[bool] = None
1037
+
1038
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1039
+ if TYPE_CHECKING:
1040
+ # Stub to indicate that arbitrary properties are accepted.
1041
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1042
+ # `getattr(obj, '$type')`
1043
+ def __getattr__(self, attr: str) -> object: ...
1044
+
1045
+
1046
+ class ToolFileSearchToolFiltersComparisonFilter(BaseModel):
1047
+ key: str
1048
+
1049
+ type: Literal["eq", "ne", "gt", "gte", "lt", "lte"]
1050
+
1051
+ value: Union[str, float, bool]
1052
+
1053
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1054
+ if TYPE_CHECKING:
1055
+ # Stub to indicate that arbitrary properties are accepted.
1056
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1057
+ # `getattr(obj, '$type')`
1058
+ def __getattr__(self, attr: str) -> object: ...
1059
+
1060
+
1061
+ class ToolFileSearchToolFiltersCompoundFilterFilterComparisonFilter(BaseModel):
1062
+ key: str
1063
+
1064
+ type: Literal["eq", "ne", "gt", "gte", "lt", "lte"]
1065
+
1066
+ value: Union[str, float, bool]
1067
+
1068
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1069
+ if TYPE_CHECKING:
1070
+ # Stub to indicate that arbitrary properties are accepted.
1071
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1072
+ # `getattr(obj, '$type')`
1073
+ def __getattr__(self, attr: str) -> object: ...
1074
+
1075
+
1076
+ ToolFileSearchToolFiltersCompoundFilterFilter: TypeAlias = Union[
1077
+ ToolFileSearchToolFiltersCompoundFilterFilterComparisonFilter, object
1078
+ ]
1079
+
1080
+
1081
+ class ToolFileSearchToolFiltersCompoundFilter(BaseModel):
1082
+ filters: List[ToolFileSearchToolFiltersCompoundFilterFilter]
1083
+
1084
+ type: Literal["and", "or"]
1085
+
1086
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1087
+ if TYPE_CHECKING:
1088
+ # Stub to indicate that arbitrary properties are accepted.
1089
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1090
+ # `getattr(obj, '$type')`
1091
+ def __getattr__(self, attr: str) -> object: ...
1092
+
1093
+
1094
+ ToolFileSearchToolFilters: TypeAlias = Union[
1095
+ ToolFileSearchToolFiltersComparisonFilter, ToolFileSearchToolFiltersCompoundFilter
1096
+ ]
1097
+
1098
+
1099
+ class ToolFileSearchToolRankingOptions(BaseModel):
1100
+ ranker: Optional[Literal["auto", "default-2024-11-15"]] = None
1101
+
1102
+ score_threshold: Optional[float] = None
1103
+
1104
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1105
+ if TYPE_CHECKING:
1106
+ # Stub to indicate that arbitrary properties are accepted.
1107
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1108
+ # `getattr(obj, '$type')`
1109
+ def __getattr__(self, attr: str) -> object: ...
1110
+
1111
+
1112
+ class ToolFileSearchTool(BaseModel):
1113
+ type: Literal["file_search"]
1114
+
1115
+ vector_store_ids: List[str]
1116
+
1117
+ filters: Optional[ToolFileSearchToolFilters] = None
1118
+
1119
+ max_num_results: Optional[int] = None
1120
+
1121
+ ranking_options: Optional[ToolFileSearchToolRankingOptions] = None
1122
+
1123
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1124
+ if TYPE_CHECKING:
1125
+ # Stub to indicate that arbitrary properties are accepted.
1126
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1127
+ # `getattr(obj, '$type')`
1128
+ def __getattr__(self, attr: str) -> object: ...
1129
+
1130
+
1131
+ class ToolWebSearchToolUserLocation(BaseModel):
1132
+ type: Literal["approximate"]
1133
+
1134
+ city: Optional[str] = None
1135
+
1136
+ country: Optional[str] = None
1137
+
1138
+ region: Optional[str] = None
1139
+
1140
+ timezone: Optional[str] = None
1141
+
1142
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1143
+ if TYPE_CHECKING:
1144
+ # Stub to indicate that arbitrary properties are accepted.
1145
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1146
+ # `getattr(obj, '$type')`
1147
+ def __getattr__(self, attr: str) -> object: ...
1148
+
1149
+
1150
+ class ToolWebSearchTool(BaseModel):
1151
+ type: Literal["web_search_preview", "web_search_preview_2025_03_11"]
1152
+
1153
+ search_context_size: Optional[Literal["low", "medium", "high"]] = None
1154
+
1155
+ user_location: Optional[ToolWebSearchToolUserLocation] = None
1156
+
1157
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1158
+ if TYPE_CHECKING:
1159
+ # Stub to indicate that arbitrary properties are accepted.
1160
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1161
+ # `getattr(obj, '$type')`
1162
+ def __getattr__(self, attr: str) -> object: ...
1163
+
1164
+
1165
+ class ToolComputerTool(BaseModel):
1166
+ display_height: int
1167
+
1168
+ display_width: int
1169
+
1170
+ environment: Literal["windows", "mac", "linux", "ubuntu", "browser"]
1171
+
1172
+ type: Literal["computer_use_preview"]
1173
+
1174
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1175
+ if TYPE_CHECKING:
1176
+ # Stub to indicate that arbitrary properties are accepted.
1177
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1178
+ # `getattr(obj, '$type')`
1179
+ def __getattr__(self, attr: str) -> object: ...
1180
+
1181
+
1182
+ class ToolMcpAllowedToolsMcpAllowedToolsMcpAllowedToolsFilter(BaseModel):
1183
+ tool_names: Optional[List[str]] = None
1184
+
1185
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1186
+ if TYPE_CHECKING:
1187
+ # Stub to indicate that arbitrary properties are accepted.
1188
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1189
+ # `getattr(obj, '$type')`
1190
+ def __getattr__(self, attr: str) -> object: ...
1191
+
1192
+
1193
+ ToolMcpAllowedTools: TypeAlias = Union[List[str], ToolMcpAllowedToolsMcpAllowedToolsMcpAllowedToolsFilter]
1194
+
1195
+
1196
+ class ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilterAlways(BaseModel):
1197
+ tool_names: Optional[List[str]] = None
1198
+
1199
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1200
+ if TYPE_CHECKING:
1201
+ # Stub to indicate that arbitrary properties are accepted.
1202
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1203
+ # `getattr(obj, '$type')`
1204
+ def __getattr__(self, attr: str) -> object: ...
1205
+
1206
+
1207
+ class ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilterNever(BaseModel):
1208
+ tool_names: Optional[List[str]] = None
1209
+
1210
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1211
+ if TYPE_CHECKING:
1212
+ # Stub to indicate that arbitrary properties are accepted.
1213
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1214
+ # `getattr(obj, '$type')`
1215
+ def __getattr__(self, attr: str) -> object: ...
1216
+
1217
+
1218
+ class ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilter(BaseModel):
1219
+ always: Optional[ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilterAlways] = None
1220
+
1221
+ never: Optional[ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilterNever] = None
1222
+
1223
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1224
+ if TYPE_CHECKING:
1225
+ # Stub to indicate that arbitrary properties are accepted.
1226
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1227
+ # `getattr(obj, '$type')`
1228
+ def __getattr__(self, attr: str) -> object: ...
1229
+
1230
+
1231
+ ToolMcpRequireApproval: TypeAlias = Union[
1232
+ ToolMcpRequireApprovalMcpRequireApprovalMcpToolApprovalFilter, Literal["always", "never"]
1233
+ ]
1234
+
1235
+
1236
+ class ToolMcp(BaseModel):
1237
+ server_label: str
1238
+
1239
+ server_url: str
1240
+
1241
+ type: Literal["mcp"]
1242
+
1243
+ allowed_tools: Optional[ToolMcpAllowedTools] = None
1244
+
1245
+ headers: Optional[Dict[str, str]] = None
1246
+
1247
+ require_approval: Optional[ToolMcpRequireApproval] = None
1248
+
1249
+ server_description: Optional[str] = None
1250
+
1251
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1252
+ if TYPE_CHECKING:
1253
+ # Stub to indicate that arbitrary properties are accepted.
1254
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1255
+ # `getattr(obj, '$type')`
1256
+ def __getattr__(self, attr: str) -> object: ...
1257
+
1258
+
1259
+ class ToolCodeInterpreterContainerCodeInterpreterContainerCodeInterpreterToolAuto(BaseModel):
1260
+ type: Literal["auto"]
1261
+
1262
+ file_ids: Optional[List[str]] = None
1263
+
1264
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1265
+ if TYPE_CHECKING:
1266
+ # Stub to indicate that arbitrary properties are accepted.
1267
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1268
+ # `getattr(obj, '$type')`
1269
+ def __getattr__(self, attr: str) -> object: ...
1270
+
1271
+
1272
+ ToolCodeInterpreterContainer: TypeAlias = Union[
1273
+ str, ToolCodeInterpreterContainerCodeInterpreterContainerCodeInterpreterToolAuto
1274
+ ]
1275
+
1276
+
1277
+ class ToolCodeInterpreter(BaseModel):
1278
+ container: ToolCodeInterpreterContainer
1279
+
1280
+ type: Literal["code_interpreter"]
1281
+
1282
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1283
+ if TYPE_CHECKING:
1284
+ # Stub to indicate that arbitrary properties are accepted.
1285
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1286
+ # `getattr(obj, '$type')`
1287
+ def __getattr__(self, attr: str) -> object: ...
1288
+
1289
+
1290
+ class ToolImageGenerationInputImageMask(BaseModel):
1291
+ file_id: Optional[str] = None
1292
+
1293
+ image_url: Optional[str] = None
1294
+
1295
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1296
+ if TYPE_CHECKING:
1297
+ # Stub to indicate that arbitrary properties are accepted.
1298
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1299
+ # `getattr(obj, '$type')`
1300
+ def __getattr__(self, attr: str) -> object: ...
1301
+
1302
+
1303
+ class ToolImageGeneration(BaseModel):
1304
+ type: Literal["image_generation"]
1305
+
1306
+ background: Optional[Literal["transparent", "opaque", "auto"]] = None
1307
+
1308
+ input_fidelity: Optional[Literal["high", "low"]] = None
1309
+
1310
+ input_image_mask: Optional[ToolImageGenerationInputImageMask] = None
1311
+
1312
+ model: Optional[Literal["gpt-image-1"]] = None
1313
+
1314
+ moderation: Optional[Literal["auto", "low"]] = None
1315
+
1316
+ output_compression: Optional[int] = None
1317
+
1318
+ output_format: Optional[Literal["png", "webp", "jpeg"]] = None
1319
+
1320
+ partial_images: Optional[int] = None
1321
+
1322
+ quality: Optional[Literal["low", "medium", "high", "auto"]] = None
1323
+
1324
+ size: Optional[Literal["1024x1024", "1024x1536", "1536x1024", "auto"]] = None
1325
+
1326
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1327
+ if TYPE_CHECKING:
1328
+ # Stub to indicate that arbitrary properties are accepted.
1329
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1330
+ # `getattr(obj, '$type')`
1331
+ def __getattr__(self, attr: str) -> object: ...
1332
+
1333
+
1334
+ class ToolLocalShell(BaseModel):
1335
+ type: Literal["local_shell"]
1336
+
1337
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1338
+ if TYPE_CHECKING:
1339
+ # Stub to indicate that arbitrary properties are accepted.
1340
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1341
+ # `getattr(obj, '$type')`
1342
+ def __getattr__(self, attr: str) -> object: ...
1343
+
1344
+
1345
+ class ToolCustomToolFormatText(BaseModel):
1346
+ type: Literal["text"]
1347
+
1348
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1349
+ if TYPE_CHECKING:
1350
+ # Stub to indicate that arbitrary properties are accepted.
1351
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1352
+ # `getattr(obj, '$type')`
1353
+ def __getattr__(self, attr: str) -> object: ...
1354
+
1355
+
1356
+ class ToolCustomToolFormatGrammar(BaseModel):
1357
+ definition: str
1358
+
1359
+ syntax: Literal["lark", "regex"]
1360
+
1361
+ type: Literal["grammar"]
1362
+
1363
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1364
+ if TYPE_CHECKING:
1365
+ # Stub to indicate that arbitrary properties are accepted.
1366
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1367
+ # `getattr(obj, '$type')`
1368
+ def __getattr__(self, attr: str) -> object: ...
1369
+
1370
+
1371
+ ToolCustomToolFormat: TypeAlias = Union[ToolCustomToolFormatText, ToolCustomToolFormatGrammar]
1372
+
1373
+
1374
+ class ToolCustomTool(BaseModel):
1375
+ name: str
1376
+
1377
+ type: Literal["custom"]
1378
+
1379
+ description: Optional[str] = None
1380
+
1381
+ format: Optional[ToolCustomToolFormat] = None
1382
+
1383
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1384
+ if TYPE_CHECKING:
1385
+ # Stub to indicate that arbitrary properties are accepted.
1386
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1387
+ # `getattr(obj, '$type')`
1388
+ def __getattr__(self, attr: str) -> object: ...
1389
+
1390
+
1391
+ Tool: TypeAlias = Union[
1392
+ ToolFunctionTool,
1393
+ ToolFileSearchTool,
1394
+ ToolWebSearchTool,
1395
+ ToolComputerTool,
1396
+ ToolMcp,
1397
+ ToolCodeInterpreter,
1398
+ ToolImageGeneration,
1399
+ ToolLocalShell,
1400
+ ToolCustomTool,
1401
+ ]
1402
+
1403
+
1404
+ class Error(BaseModel):
1405
+ code: Literal[
1406
+ "server_error",
1407
+ "rate_limit_exceeded",
1408
+ "invalid_prompt",
1409
+ "vector_store_timeout",
1410
+ "invalid_image",
1411
+ "invalid_image_format",
1412
+ "invalid_base64_image",
1413
+ "invalid_image_url",
1414
+ "image_too_large",
1415
+ "image_too_small",
1416
+ "image_parse_error",
1417
+ "image_content_policy_violation",
1418
+ "invalid_image_mode",
1419
+ "image_file_too_large",
1420
+ "unsupported_image_media_type",
1421
+ "empty_image_file",
1422
+ "failed_to_download_image",
1423
+ "image_file_not_found",
1424
+ ]
1425
+
1426
+ message: str
1427
+
1428
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1429
+ if TYPE_CHECKING:
1430
+ # Stub to indicate that arbitrary properties are accepted.
1431
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1432
+ # `getattr(obj, '$type')`
1433
+ def __getattr__(self, attr: str) -> object: ...
1434
+
1435
+
1436
+ class IncompleteDetails(BaseModel):
1437
+ reason: Optional[Literal["max_output_tokens", "content_filter"]] = None
1438
+
1439
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1440
+ if TYPE_CHECKING:
1441
+ # Stub to indicate that arbitrary properties are accepted.
1442
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1443
+ # `getattr(obj, '$type')`
1444
+ def __getattr__(self, attr: str) -> object: ...
1445
+
1446
+
1447
+ class InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputText(BaseModel):
1448
+ text: str
1449
+
1450
+ type: Literal["input_text"]
1451
+
1452
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1453
+ if TYPE_CHECKING:
1454
+ # Stub to indicate that arbitrary properties are accepted.
1455
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1456
+ # `getattr(obj, '$type')`
1457
+ def __getattr__(self, attr: str) -> object: ...
1458
+
1459
+
1460
+ class InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputImage(BaseModel):
1461
+ detail: Literal["low", "high", "auto"]
1462
+
1463
+ type: Literal["input_image"]
1464
+
1465
+ file_id: Optional[str] = None
1466
+
1467
+ image_url: Optional[str] = None
1468
+
1469
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1470
+ if TYPE_CHECKING:
1471
+ # Stub to indicate that arbitrary properties are accepted.
1472
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1473
+ # `getattr(obj, '$type')`
1474
+ def __getattr__(self, attr: str) -> object: ...
1475
+
1476
+
1477
+ class InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputFile(BaseModel):
1478
+ type: Literal["input_file"]
1479
+
1480
+ file_data: Optional[str] = None
1481
+
1482
+ file_id: Optional[str] = None
1483
+
1484
+ file_url: Optional[str] = None
1485
+
1486
+ filename: Optional[str] = None
1487
+
1488
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1489
+ if TYPE_CHECKING:
1490
+ # Stub to indicate that arbitrary properties are accepted.
1491
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1492
+ # `getattr(obj, '$type')`
1493
+ def __getattr__(self, attr: str) -> object: ...
1494
+
1495
+
1496
+ InstructionsUnionMember1EasyInputMessageContentUnionMember1: TypeAlias = Union[
1497
+ InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputText,
1498
+ InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputImage,
1499
+ InstructionsUnionMember1EasyInputMessageContentUnionMember1ResponseInputFile,
1500
+ ]
1501
+
1502
+
1503
+ class InstructionsUnionMember1EasyInputMessage(BaseModel):
1504
+ content: Union[str, List[InstructionsUnionMember1EasyInputMessageContentUnionMember1]]
1505
+
1506
+ role: Literal["user", "assistant", "system", "developer"]
1507
+
1508
+ type: Optional[Literal["message"]] = None
1509
+
1510
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1511
+ if TYPE_CHECKING:
1512
+ # Stub to indicate that arbitrary properties are accepted.
1513
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1514
+ # `getattr(obj, '$type')`
1515
+ def __getattr__(self, attr: str) -> object: ...
1516
+
1517
+
1518
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputText(BaseModel):
1519
+ text: str
1520
+
1521
+ type: Literal["input_text"]
1522
+
1523
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1524
+ if TYPE_CHECKING:
1525
+ # Stub to indicate that arbitrary properties are accepted.
1526
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1527
+ # `getattr(obj, '$type')`
1528
+ def __getattr__(self, attr: str) -> object: ...
1529
+
1530
+
1531
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputImage(BaseModel):
1532
+ detail: Literal["low", "high", "auto"]
1533
+
1534
+ type: Literal["input_image"]
1535
+
1536
+ file_id: Optional[str] = None
1537
+
1538
+ image_url: Optional[str] = None
1539
+
1540
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1541
+ if TYPE_CHECKING:
1542
+ # Stub to indicate that arbitrary properties are accepted.
1543
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1544
+ # `getattr(obj, '$type')`
1545
+ def __getattr__(self, attr: str) -> object: ...
1546
+
1547
+
1548
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputFile(BaseModel):
1549
+ type: Literal["input_file"]
1550
+
1551
+ file_data: Optional[str] = None
1552
+
1553
+ file_id: Optional[str] = None
1554
+
1555
+ file_url: Optional[str] = None
1556
+
1557
+ filename: Optional[str] = None
1558
+
1559
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1560
+ if TYPE_CHECKING:
1561
+ # Stub to indicate that arbitrary properties are accepted.
1562
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1563
+ # `getattr(obj, '$type')`
1564
+ def __getattr__(self, attr: str) -> object: ...
1565
+
1566
+
1567
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContent: TypeAlias = Union[
1568
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputText,
1569
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputImage,
1570
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContentResponseInputFile,
1571
+ ]
1572
+
1573
+
1574
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessage(BaseModel):
1575
+ content: List[InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessageContent]
1576
+
1577
+ role: Literal["user", "system", "developer"]
1578
+
1579
+ status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
1580
+
1581
+ type: Optional[Literal["message"]] = None
1582
+
1583
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1584
+ if TYPE_CHECKING:
1585
+ # Stub to indicate that arbitrary properties are accepted.
1586
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1587
+ # `getattr(obj, '$type')`
1588
+ def __getattr__(self, attr: str) -> object: ...
1589
+
1590
+
1591
+ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFileCitation(
1592
+ BaseModel
1593
+ ):
1594
+ file_id: str
1595
+
1596
+ filename: str
1597
+
1598
+ index: int
1599
+
1600
+ type: Literal["file_citation"]
1601
+
1602
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1603
+ if TYPE_CHECKING:
1604
+ # Stub to indicate that arbitrary properties are accepted.
1605
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1606
+ # `getattr(obj, '$type')`
1607
+ def __getattr__(self, attr: str) -> object: ...
1608
+
1609
+
1610
+ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationURLCitation(
1611
+ BaseModel
1612
+ ):
1613
+ end_index: int
1614
+
1615
+ start_index: int
1616
+
1617
+ title: str
1618
+
1619
+ type: Literal["url_citation"]
1620
+
1621
+ url: str
1622
+
1623
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1624
+ if TYPE_CHECKING:
1625
+ # Stub to indicate that arbitrary properties are accepted.
1626
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1627
+ # `getattr(obj, '$type')`
1628
+ def __getattr__(self, attr: str) -> object: ...
1629
+
1630
+
1631
+ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationContainerFileCitation(
1632
+ BaseModel
1633
+ ):
1634
+ container_id: str
1635
+
1636
+ end_index: int
1637
+
1638
+ file_id: str
1639
+
1640
+ filename: str
1641
+
1642
+ start_index: int
1643
+
1644
+ type: Literal["container_file_citation"]
1645
+
1646
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1647
+ if TYPE_CHECKING:
1648
+ # Stub to indicate that arbitrary properties are accepted.
1649
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1650
+ # `getattr(obj, '$type')`
1651
+ def __getattr__(self, attr: str) -> object: ...
1652
+
1653
+
1654
+ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFilePath(
1655
+ BaseModel
1656
+ ):
1657
+ file_id: str
1658
+
1659
+ index: int
1660
+
1661
+ type: Literal["file_path"]
1662
+
1663
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1664
+ if TYPE_CHECKING:
1665
+ # Stub to indicate that arbitrary properties are accepted.
1666
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1667
+ # `getattr(obj, '$type')`
1668
+ def __getattr__(self, attr: str) -> object: ...
1669
+
1670
+
1671
+ InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotation: TypeAlias = Union[
1672
+ InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFileCitation,
1673
+ InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationURLCitation,
1674
+ InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationContainerFileCitation,
1675
+ InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotationOpenAITypesResponsesResponseOutputTextAnnotationFilePath,
1676
+ ]
1677
+
1678
+
1679
+ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogprobTopLogprob(BaseModel):
1680
+ token: str
1681
+
1682
+ bytes: List[int]
1683
+
1684
+ logprob: float
1685
+
1686
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1687
+ if TYPE_CHECKING:
1688
+ # Stub to indicate that arbitrary properties are accepted.
1689
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1690
+ # `getattr(obj, '$type')`
1691
+ def __getattr__(self, attr: str) -> object: ...
1692
+
1693
+
1694
+ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogprob(BaseModel):
1695
+ token: str
1696
+
1697
+ bytes: List[int]
1698
+
1699
+ logprob: float
1700
+
1701
+ top_logprobs: List[InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogprobTopLogprob]
1702
+
1703
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1704
+ if TYPE_CHECKING:
1705
+ # Stub to indicate that arbitrary properties are accepted.
1706
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1707
+ # `getattr(obj, '$type')`
1708
+ def __getattr__(self, attr: str) -> object: ...
1709
+
1710
+
1711
+ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputText(BaseModel):
1712
+ annotations: List[InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextAnnotation]
1713
+
1714
+ text: str
1715
+
1716
+ type: Literal["output_text"]
1717
+
1718
+ logprobs: Optional[List[InstructionsUnionMember1ResponseOutputMessageContentResponseOutputTextLogprob]] = None
1719
+
1720
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1721
+ if TYPE_CHECKING:
1722
+ # Stub to indicate that arbitrary properties are accepted.
1723
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1724
+ # `getattr(obj, '$type')`
1725
+ def __getattr__(self, attr: str) -> object: ...
1726
+
1727
+
1728
+ class InstructionsUnionMember1ResponseOutputMessageContentResponseOutputRefusal(BaseModel):
1729
+ refusal: str
1730
+
1731
+ type: Literal["refusal"]
1732
+
1733
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1734
+ if TYPE_CHECKING:
1735
+ # Stub to indicate that arbitrary properties are accepted.
1736
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1737
+ # `getattr(obj, '$type')`
1738
+ def __getattr__(self, attr: str) -> object: ...
1739
+
1740
+
1741
+ InstructionsUnionMember1ResponseOutputMessageContent: TypeAlias = Union[
1742
+ InstructionsUnionMember1ResponseOutputMessageContentResponseOutputText,
1743
+ InstructionsUnionMember1ResponseOutputMessageContentResponseOutputRefusal,
1744
+ ]
1745
+
1746
+
1747
+ class InstructionsUnionMember1ResponseOutputMessage(BaseModel):
1748
+ id: str
1749
+
1750
+ content: List[InstructionsUnionMember1ResponseOutputMessageContent]
1751
+
1752
+ role: Literal["assistant"]
1753
+
1754
+ status: Literal["in_progress", "completed", "incomplete"]
1755
+
1756
+ type: Literal["message"]
1757
+
1758
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1759
+ if TYPE_CHECKING:
1760
+ # Stub to indicate that arbitrary properties are accepted.
1761
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1762
+ # `getattr(obj, '$type')`
1763
+ def __getattr__(self, attr: str) -> object: ...
1764
+
1765
+
1766
+ class InstructionsUnionMember1ResponseFileSearchToolCallResult(BaseModel):
1767
+ attributes: Optional[Dict[str, Union[str, float, bool]]] = None
1768
+
1769
+ file_id: Optional[str] = None
1770
+
1771
+ filename: Optional[str] = None
1772
+
1773
+ score: Optional[float] = None
1774
+
1775
+ text: Optional[str] = None
1776
+
1777
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1778
+ if TYPE_CHECKING:
1779
+ # Stub to indicate that arbitrary properties are accepted.
1780
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1781
+ # `getattr(obj, '$type')`
1782
+ def __getattr__(self, attr: str) -> object: ...
1783
+
1784
+
1785
+ class InstructionsUnionMember1ResponseFileSearchToolCall(BaseModel):
1786
+ id: str
1787
+
1788
+ queries: List[str]
1789
+
1790
+ status: Literal["in_progress", "searching", "completed", "incomplete", "failed"]
1791
+
1792
+ type: Literal["file_search_call"]
1793
+
1794
+ results: Optional[List[InstructionsUnionMember1ResponseFileSearchToolCallResult]] = None
1795
+
1796
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1797
+ if TYPE_CHECKING:
1798
+ # Stub to indicate that arbitrary properties are accepted.
1799
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1800
+ # `getattr(obj, '$type')`
1801
+ def __getattr__(self, attr: str) -> object: ...
1802
+
1803
+
1804
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionClick(
1805
+ BaseModel
1806
+ ):
1807
+ button: Literal["left", "right", "wheel", "back", "forward"]
1808
+
1809
+ type: Literal["click"]
1810
+
1811
+ x: int
1812
+
1813
+ y: int
1814
+
1815
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1816
+ if TYPE_CHECKING:
1817
+ # Stub to indicate that arbitrary properties are accepted.
1818
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1819
+ # `getattr(obj, '$type')`
1820
+ def __getattr__(self, attr: str) -> object: ...
1821
+
1822
+
1823
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDoubleClick(
1824
+ BaseModel
1825
+ ):
1826
+ type: Literal["double_click"]
1827
+
1828
+ x: int
1829
+
1830
+ y: int
1831
+
1832
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1833
+ if TYPE_CHECKING:
1834
+ # Stub to indicate that arbitrary properties are accepted.
1835
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1836
+ # `getattr(obj, '$type')`
1837
+ def __getattr__(self, attr: str) -> object: ...
1838
+
1839
+
1840
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDragPath(
1841
+ BaseModel
1842
+ ):
1843
+ x: int
1844
+
1845
+ y: int
1846
+
1847
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1848
+ if TYPE_CHECKING:
1849
+ # Stub to indicate that arbitrary properties are accepted.
1850
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1851
+ # `getattr(obj, '$type')`
1852
+ def __getattr__(self, attr: str) -> object: ...
1853
+
1854
+
1855
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDrag(
1856
+ BaseModel
1857
+ ):
1858
+ path: List[
1859
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDragPath
1860
+ ]
1861
+
1862
+ type: Literal["drag"]
1863
+
1864
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1865
+ if TYPE_CHECKING:
1866
+ # Stub to indicate that arbitrary properties are accepted.
1867
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1868
+ # `getattr(obj, '$type')`
1869
+ def __getattr__(self, attr: str) -> object: ...
1870
+
1871
+
1872
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionKeypress(
1873
+ BaseModel
1874
+ ):
1875
+ keys: List[str]
1876
+
1877
+ type: Literal["keypress"]
1878
+
1879
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1880
+ if TYPE_CHECKING:
1881
+ # Stub to indicate that arbitrary properties are accepted.
1882
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1883
+ # `getattr(obj, '$type')`
1884
+ def __getattr__(self, attr: str) -> object: ...
1885
+
1886
+
1887
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionMove(
1888
+ BaseModel
1889
+ ):
1890
+ type: Literal["move"]
1891
+
1892
+ x: int
1893
+
1894
+ y: int
1895
+
1896
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1897
+ if TYPE_CHECKING:
1898
+ # Stub to indicate that arbitrary properties are accepted.
1899
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1900
+ # `getattr(obj, '$type')`
1901
+ def __getattr__(self, attr: str) -> object: ...
1902
+
1903
+
1904
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScreenshot(
1905
+ BaseModel
1906
+ ):
1907
+ type: Literal["screenshot"]
1908
+
1909
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1910
+ if TYPE_CHECKING:
1911
+ # Stub to indicate that arbitrary properties are accepted.
1912
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1913
+ # `getattr(obj, '$type')`
1914
+ def __getattr__(self, attr: str) -> object: ...
1915
+
1916
+
1917
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScroll(
1918
+ BaseModel
1919
+ ):
1920
+ scroll_x: int
1921
+
1922
+ scroll_y: int
1923
+
1924
+ type: Literal["scroll"]
1925
+
1926
+ x: int
1927
+
1928
+ y: int
1929
+
1930
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1931
+ if TYPE_CHECKING:
1932
+ # Stub to indicate that arbitrary properties are accepted.
1933
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1934
+ # `getattr(obj, '$type')`
1935
+ def __getattr__(self, attr: str) -> object: ...
1936
+
1937
+
1938
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionType(
1939
+ BaseModel
1940
+ ):
1941
+ text: str
1942
+
1943
+ type: Literal["type"]
1944
+
1945
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1946
+ if TYPE_CHECKING:
1947
+ # Stub to indicate that arbitrary properties are accepted.
1948
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1949
+ # `getattr(obj, '$type')`
1950
+ def __getattr__(self, attr: str) -> object: ...
1951
+
1952
+
1953
+ class InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionWait(
1954
+ BaseModel
1955
+ ):
1956
+ type: Literal["wait"]
1957
+
1958
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1959
+ if TYPE_CHECKING:
1960
+ # Stub to indicate that arbitrary properties are accepted.
1961
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1962
+ # `getattr(obj, '$type')`
1963
+ def __getattr__(self, attr: str) -> object: ...
1964
+
1965
+
1966
+ InstructionsUnionMember1ResponseComputerToolCallAction: TypeAlias = Union[
1967
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionClick,
1968
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDoubleClick,
1969
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionDrag,
1970
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionKeypress,
1971
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionMove,
1972
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScreenshot,
1973
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionScroll,
1974
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionType,
1975
+ InstructionsUnionMember1ResponseComputerToolCallActionOpenAITypesResponsesResponseComputerToolCallActionWait,
1976
+ ]
1977
+
1978
+
1979
+ class InstructionsUnionMember1ResponseComputerToolCallPendingSafetyCheck(BaseModel):
1980
+ id: str
1981
+
1982
+ code: str
1983
+
1984
+ message: str
1985
+
1986
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
1987
+ if TYPE_CHECKING:
1988
+ # Stub to indicate that arbitrary properties are accepted.
1989
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
1990
+ # `getattr(obj, '$type')`
1991
+ def __getattr__(self, attr: str) -> object: ...
1992
+
1993
+
1994
+ class InstructionsUnionMember1ResponseComputerToolCall(BaseModel):
1995
+ id: str
1996
+
1997
+ action: InstructionsUnionMember1ResponseComputerToolCallAction
1998
+
1999
+ call_id: str
2000
+
2001
+ pending_safety_checks: List[InstructionsUnionMember1ResponseComputerToolCallPendingSafetyCheck]
2002
+
2003
+ status: Literal["in_progress", "completed", "incomplete"]
2004
+
2005
+ type: Literal["computer_call"]
2006
+
2007
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2008
+ if TYPE_CHECKING:
2009
+ # Stub to indicate that arbitrary properties are accepted.
2010
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2011
+ # `getattr(obj, '$type')`
2012
+ def __getattr__(self, attr: str) -> object: ...
2013
+
2014
+
2015
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutputOutput(BaseModel):
2016
+ type: Literal["computer_screenshot"]
2017
+
2018
+ file_id: Optional[str] = None
2019
+
2020
+ image_url: Optional[str] = None
2021
+
2022
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2023
+ if TYPE_CHECKING:
2024
+ # Stub to indicate that arbitrary properties are accepted.
2025
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2026
+ # `getattr(obj, '$type')`
2027
+ def __getattr__(self, attr: str) -> object: ...
2028
+
2029
+
2030
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutputAcknowledgedSafetyCheck(BaseModel):
2031
+ id: str
2032
+
2033
+ code: Optional[str] = None
2034
+
2035
+ message: Optional[str] = None
2036
+
2037
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2038
+ if TYPE_CHECKING:
2039
+ # Stub to indicate that arbitrary properties are accepted.
2040
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2041
+ # `getattr(obj, '$type')`
2042
+ def __getattr__(self, attr: str) -> object: ...
2043
+
2044
+
2045
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutput(BaseModel):
2046
+ call_id: str
2047
+
2048
+ output: InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutputOutput
2049
+
2050
+ type: Literal["computer_call_output"]
2051
+
2052
+ id: Optional[str] = None
2053
+
2054
+ acknowledged_safety_checks: Optional[
2055
+ List[InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutputAcknowledgedSafetyCheck]
2056
+ ] = None
2057
+
2058
+ status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2059
+
2060
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2061
+ if TYPE_CHECKING:
2062
+ # Stub to indicate that arbitrary properties are accepted.
2063
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2064
+ # `getattr(obj, '$type')`
2065
+ def __getattr__(self, attr: str) -> object: ...
2066
+
2067
+
2068
+ class InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionSearch(
2069
+ BaseModel
2070
+ ):
2071
+ query: str
2072
+
2073
+ type: Literal["search"]
2074
+
2075
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2076
+ if TYPE_CHECKING:
2077
+ # Stub to indicate that arbitrary properties are accepted.
2078
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2079
+ # `getattr(obj, '$type')`
2080
+ def __getattr__(self, attr: str) -> object: ...
2081
+
2082
+
2083
+ class InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionOpenPage(
2084
+ BaseModel
2085
+ ):
2086
+ type: Literal["open_page"]
2087
+
2088
+ url: str
2089
+
2090
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2091
+ if TYPE_CHECKING:
2092
+ # Stub to indicate that arbitrary properties are accepted.
2093
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2094
+ # `getattr(obj, '$type')`
2095
+ def __getattr__(self, attr: str) -> object: ...
2096
+
2097
+
2098
+ class InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionFind(
2099
+ BaseModel
2100
+ ):
2101
+ pattern: str
2102
+
2103
+ type: Literal["find"]
2104
+
2105
+ url: str
2106
+
2107
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2108
+ if TYPE_CHECKING:
2109
+ # Stub to indicate that arbitrary properties are accepted.
2110
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2111
+ # `getattr(obj, '$type')`
2112
+ def __getattr__(self, attr: str) -> object: ...
2113
+
2114
+
2115
+ InstructionsUnionMember1ResponseFunctionWebSearchAction: TypeAlias = Union[
2116
+ InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionSearch,
2117
+ InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionOpenPage,
2118
+ InstructionsUnionMember1ResponseFunctionWebSearchActionOpenAITypesResponsesResponseFunctionWebSearchActionFind,
2119
+ ]
2120
+
2121
+
2122
+ class InstructionsUnionMember1ResponseFunctionWebSearch(BaseModel):
2123
+ id: str
2124
+
2125
+ action: InstructionsUnionMember1ResponseFunctionWebSearchAction
2126
+
2127
+ status: Literal["in_progress", "searching", "completed", "failed"]
2128
+
2129
+ type: Literal["web_search_call"]
2130
+
2131
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2132
+ if TYPE_CHECKING:
2133
+ # Stub to indicate that arbitrary properties are accepted.
2134
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2135
+ # `getattr(obj, '$type')`
2136
+ def __getattr__(self, attr: str) -> object: ...
2137
+
2138
+
2139
+ class InstructionsUnionMember1ResponseFunctionToolCall(BaseModel):
2140
+ arguments: str
2141
+
2142
+ call_id: str
2143
+
2144
+ name: str
2145
+
2146
+ type: Literal["function_call"]
2147
+
2148
+ id: Optional[str] = None
2149
+
2150
+ status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2151
+
2152
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2153
+ if TYPE_CHECKING:
2154
+ # Stub to indicate that arbitrary properties are accepted.
2155
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2156
+ # `getattr(obj, '$type')`
2157
+ def __getattr__(self, attr: str) -> object: ...
2158
+
2159
+
2160
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemFunctionCallOutput(BaseModel):
2161
+ call_id: str
2162
+
2163
+ output: str
2164
+
2165
+ type: Literal["function_call_output"]
2166
+
2167
+ id: Optional[str] = None
2168
+
2169
+ status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2170
+
2171
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2172
+ if TYPE_CHECKING:
2173
+ # Stub to indicate that arbitrary properties are accepted.
2174
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2175
+ # `getattr(obj, '$type')`
2176
+ def __getattr__(self, attr: str) -> object: ...
2177
+
2178
+
2179
+ class InstructionsUnionMember1ResponseReasoningItemSummary(BaseModel):
2180
+ text: str
2181
+
2182
+ type: Literal["summary_text"]
2183
+
2184
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2185
+ if TYPE_CHECKING:
2186
+ # Stub to indicate that arbitrary properties are accepted.
2187
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2188
+ # `getattr(obj, '$type')`
2189
+ def __getattr__(self, attr: str) -> object: ...
2190
+
2191
+
2192
+ class InstructionsUnionMember1ResponseReasoningItemContent(BaseModel):
2193
+ text: str
2194
+
2195
+ type: Literal["reasoning_text"]
2196
+
2197
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2198
+ if TYPE_CHECKING:
2199
+ # Stub to indicate that arbitrary properties are accepted.
2200
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2201
+ # `getattr(obj, '$type')`
2202
+ def __getattr__(self, attr: str) -> object: ...
2203
+
2204
+
2205
+ class InstructionsUnionMember1ResponseReasoningItem(BaseModel):
2206
+ id: str
2207
+
2208
+ summary: List[InstructionsUnionMember1ResponseReasoningItemSummary]
2209
+
2210
+ type: Literal["reasoning"]
2211
+
2212
+ content: Optional[List[InstructionsUnionMember1ResponseReasoningItemContent]] = None
2213
+
2214
+ encrypted_content: Optional[str] = None
2215
+
2216
+ status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2217
+
2218
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2219
+ if TYPE_CHECKING:
2220
+ # Stub to indicate that arbitrary properties are accepted.
2221
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2222
+ # `getattr(obj, '$type')`
2223
+ def __getattr__(self, attr: str) -> object: ...
2224
+
2225
+
2226
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemImageGenerationCall(BaseModel):
2227
+ id: str
2228
+
2229
+ status: Literal["in_progress", "completed", "generating", "failed"]
2230
+
2231
+ type: Literal["image_generation_call"]
2232
+
2233
+ result: Optional[str] = None
2234
+
2235
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2236
+ if TYPE_CHECKING:
2237
+ # Stub to indicate that arbitrary properties are accepted.
2238
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2239
+ # `getattr(obj, '$type')`
2240
+ def __getattr__(self, attr: str) -> object: ...
2241
+
2242
+
2243
+ class InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputLogs(
2244
+ BaseModel
2245
+ ):
2246
+ logs: str
2247
+
2248
+ type: Literal["logs"]
2249
+
2250
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2251
+ if TYPE_CHECKING:
2252
+ # Stub to indicate that arbitrary properties are accepted.
2253
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2254
+ # `getattr(obj, '$type')`
2255
+ def __getattr__(self, attr: str) -> object: ...
2256
+
2257
+
2258
+ class InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputImage(
2259
+ BaseModel
2260
+ ):
2261
+ type: Literal["image"]
2262
+
2263
+ url: str
2264
+
2265
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2266
+ if TYPE_CHECKING:
2267
+ # Stub to indicate that arbitrary properties are accepted.
2268
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2269
+ # `getattr(obj, '$type')`
2270
+ def __getattr__(self, attr: str) -> object: ...
2271
+
2272
+
2273
+ InstructionsUnionMember1ResponseCodeInterpreterToolCallOutput: TypeAlias = Union[
2274
+ InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputLogs,
2275
+ InstructionsUnionMember1ResponseCodeInterpreterToolCallOutputOpenAITypesResponsesResponseCodeInterpreterToolCallOutputImage,
2276
+ ]
2277
+
2278
+
2279
+ class InstructionsUnionMember1ResponseCodeInterpreterToolCall(BaseModel):
2280
+ id: str
2281
+
2282
+ container_id: str
2283
+
2284
+ status: Literal["in_progress", "completed", "incomplete", "interpreting", "failed"]
2285
+
2286
+ type: Literal["code_interpreter_call"]
2287
+
2288
+ code: Optional[str] = None
2289
+
2290
+ outputs: Optional[List[InstructionsUnionMember1ResponseCodeInterpreterToolCallOutput]] = None
2291
+
2292
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2293
+ if TYPE_CHECKING:
2294
+ # Stub to indicate that arbitrary properties are accepted.
2295
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2296
+ # `getattr(obj, '$type')`
2297
+ def __getattr__(self, attr: str) -> object: ...
2298
+
2299
+
2300
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCallAction(BaseModel):
2301
+ command: List[str]
2302
+
2303
+ env: Dict[str, str]
2304
+
2305
+ type: Literal["exec"]
2306
+
2307
+ timeout_ms: Optional[int] = None
2308
+
2309
+ user: Optional[str] = None
2310
+
2311
+ working_directory: Optional[str] = None
2312
+
2313
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2314
+ if TYPE_CHECKING:
2315
+ # Stub to indicate that arbitrary properties are accepted.
2316
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2317
+ # `getattr(obj, '$type')`
2318
+ def __getattr__(self, attr: str) -> object: ...
2319
+
2320
+
2321
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCall(BaseModel):
2322
+ id: str
2323
+
2324
+ action: InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCallAction
2325
+
2326
+ call_id: str
2327
+
2328
+ status: Literal["in_progress", "completed", "incomplete"]
2329
+
2330
+ type: Literal["local_shell_call"]
2331
+
2332
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2333
+ if TYPE_CHECKING:
2334
+ # Stub to indicate that arbitrary properties are accepted.
2335
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2336
+ # `getattr(obj, '$type')`
2337
+ def __getattr__(self, attr: str) -> object: ...
2338
+
2339
+
2340
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCallOutput(BaseModel):
2341
+ id: str
2342
+
2343
+ output: str
2344
+
2345
+ type: Literal["local_shell_call_output"]
2346
+
2347
+ status: Optional[Literal["in_progress", "completed", "incomplete"]] = None
2348
+
2349
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2350
+ if TYPE_CHECKING:
2351
+ # Stub to indicate that arbitrary properties are accepted.
2352
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2353
+ # `getattr(obj, '$type')`
2354
+ def __getattr__(self, attr: str) -> object: ...
2355
+
2356
+
2357
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListToolsTool(BaseModel):
2358
+ input_schema: object
2359
+
2360
+ name: str
2361
+
2362
+ annotations: Optional[object] = None
2363
+
2364
+ description: Optional[str] = None
2365
+
2366
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2367
+ if TYPE_CHECKING:
2368
+ # Stub to indicate that arbitrary properties are accepted.
2369
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2370
+ # `getattr(obj, '$type')`
2371
+ def __getattr__(self, attr: str) -> object: ...
2372
+
2373
+
2374
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListTools(BaseModel):
2375
+ id: str
2376
+
2377
+ server_label: str
2378
+
2379
+ tools: List[InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListToolsTool]
2380
+
2381
+ type: Literal["mcp_list_tools"]
2382
+
2383
+ error: Optional[str] = None
2384
+
2385
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2386
+ if TYPE_CHECKING:
2387
+ # Stub to indicate that arbitrary properties are accepted.
2388
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2389
+ # `getattr(obj, '$type')`
2390
+ def __getattr__(self, attr: str) -> object: ...
2391
+
2392
+
2393
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalRequest(BaseModel):
2394
+ id: str
2395
+
2396
+ arguments: str
2397
+
2398
+ name: str
2399
+
2400
+ server_label: str
2401
+
2402
+ type: Literal["mcp_approval_request"]
2403
+
2404
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2405
+ if TYPE_CHECKING:
2406
+ # Stub to indicate that arbitrary properties are accepted.
2407
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2408
+ # `getattr(obj, '$type')`
2409
+ def __getattr__(self, attr: str) -> object: ...
2410
+
2411
+
2412
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalResponse(BaseModel):
2413
+ approval_request_id: str
2414
+
2415
+ approve: bool
2416
+
2417
+ type: Literal["mcp_approval_response"]
2418
+
2419
+ id: Optional[str] = None
2420
+
2421
+ reason: Optional[str] = None
2422
+
2423
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2424
+ if TYPE_CHECKING:
2425
+ # Stub to indicate that arbitrary properties are accepted.
2426
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2427
+ # `getattr(obj, '$type')`
2428
+ def __getattr__(self, attr: str) -> object: ...
2429
+
2430
+
2431
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpCall(BaseModel):
2432
+ id: str
2433
+
2434
+ arguments: str
2435
+
2436
+ name: str
2437
+
2438
+ server_label: str
2439
+
2440
+ type: Literal["mcp_call"]
2441
+
2442
+ error: Optional[str] = None
2443
+
2444
+ output: Optional[str] = None
2445
+
2446
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2447
+ if TYPE_CHECKING:
2448
+ # Stub to indicate that arbitrary properties are accepted.
2449
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2450
+ # `getattr(obj, '$type')`
2451
+ def __getattr__(self, attr: str) -> object: ...
2452
+
2453
+
2454
+ class InstructionsUnionMember1ResponseCustomToolCallOutput(BaseModel):
2455
+ call_id: str
2456
+
2457
+ output: str
2458
+
2459
+ type: Literal["custom_tool_call_output"]
2460
+
2461
+ id: Optional[str] = None
2462
+
2463
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2464
+ if TYPE_CHECKING:
2465
+ # Stub to indicate that arbitrary properties are accepted.
2466
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2467
+ # `getattr(obj, '$type')`
2468
+ def __getattr__(self, attr: str) -> object: ...
2469
+
2470
+
2471
+ class InstructionsUnionMember1ResponseCustomToolCall(BaseModel):
2472
+ call_id: str
2473
+
2474
+ input: str
2475
+
2476
+ name: str
2477
+
2478
+ type: Literal["custom_tool_call"]
2479
+
2480
+ id: Optional[str] = None
2481
+
2482
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2483
+ if TYPE_CHECKING:
2484
+ # Stub to indicate that arbitrary properties are accepted.
2485
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2486
+ # `getattr(obj, '$type')`
2487
+ def __getattr__(self, attr: str) -> object: ...
2488
+
2489
+
2490
+ class InstructionsUnionMember1OpenAITypesResponsesResponseInputItemItemReference(BaseModel):
2491
+ id: str
2492
+
2493
+ type: Optional[Literal["item_reference"]] = None
2494
+
2495
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2496
+ if TYPE_CHECKING:
2497
+ # Stub to indicate that arbitrary properties are accepted.
2498
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2499
+ # `getattr(obj, '$type')`
2500
+ def __getattr__(self, attr: str) -> object: ...
2501
+
2502
+
2503
+ InstructionsUnionMember1: TypeAlias = Union[
2504
+ InstructionsUnionMember1EasyInputMessage,
2505
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMessage,
2506
+ InstructionsUnionMember1ResponseOutputMessage,
2507
+ InstructionsUnionMember1ResponseFileSearchToolCall,
2508
+ InstructionsUnionMember1ResponseComputerToolCall,
2509
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemComputerCallOutput,
2510
+ InstructionsUnionMember1ResponseFunctionWebSearch,
2511
+ InstructionsUnionMember1ResponseFunctionToolCall,
2512
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemFunctionCallOutput,
2513
+ InstructionsUnionMember1ResponseReasoningItem,
2514
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemImageGenerationCall,
2515
+ InstructionsUnionMember1ResponseCodeInterpreterToolCall,
2516
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCall,
2517
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemLocalShellCallOutput,
2518
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpListTools,
2519
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalRequest,
2520
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpApprovalResponse,
2521
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemMcpCall,
2522
+ InstructionsUnionMember1ResponseCustomToolCallOutput,
2523
+ InstructionsUnionMember1ResponseCustomToolCall,
2524
+ InstructionsUnionMember1OpenAITypesResponsesResponseInputItemItemReference,
2525
+ ]
2526
+
2527
+
2528
+ class PromptVariablesResponseInputText(BaseModel):
2529
+ text: str
2530
+
2531
+ type: Literal["input_text"]
2532
+
2533
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2534
+ if TYPE_CHECKING:
2535
+ # Stub to indicate that arbitrary properties are accepted.
2536
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2537
+ # `getattr(obj, '$type')`
2538
+ def __getattr__(self, attr: str) -> object: ...
2539
+
2540
+
2541
+ class PromptVariablesResponseInputImage(BaseModel):
2542
+ detail: Literal["low", "high", "auto"]
2543
+
2544
+ type: Literal["input_image"]
2545
+
2546
+ file_id: Optional[str] = None
2547
+
2548
+ image_url: Optional[str] = None
2549
+
2550
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2551
+ if TYPE_CHECKING:
2552
+ # Stub to indicate that arbitrary properties are accepted.
2553
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2554
+ # `getattr(obj, '$type')`
2555
+ def __getattr__(self, attr: str) -> object: ...
2556
+
2557
+
2558
+ class PromptVariablesResponseInputFile(BaseModel):
2559
+ type: Literal["input_file"]
2560
+
2561
+ file_data: Optional[str] = None
2562
+
2563
+ file_id: Optional[str] = None
2564
+
2565
+ file_url: Optional[str] = None
2566
+
2567
+ filename: Optional[str] = None
2568
+
2569
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2570
+ if TYPE_CHECKING:
2571
+ # Stub to indicate that arbitrary properties are accepted.
2572
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2573
+ # `getattr(obj, '$type')`
2574
+ def __getattr__(self, attr: str) -> object: ...
2575
+
2576
+
2577
+ PromptVariables: TypeAlias = Union[
2578
+ str, PromptVariablesResponseInputText, PromptVariablesResponseInputImage, PromptVariablesResponseInputFile
2579
+ ]
2580
+
2581
+
2582
+ class Prompt(BaseModel):
2583
+ id: str
2584
+
2585
+ variables: Optional[Dict[str, PromptVariables]] = None
2586
+
2587
+ version: Optional[str] = None
2588
+
2589
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2590
+ if TYPE_CHECKING:
2591
+ # Stub to indicate that arbitrary properties are accepted.
2592
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2593
+ # `getattr(obj, '$type')`
2594
+ def __getattr__(self, attr: str) -> object: ...
2595
+
2596
+
2597
+ class Reasoning(BaseModel):
2598
+ effort: Optional[Literal["minimal", "low", "medium", "high"]] = None
2599
+
2600
+ generate_summary: Optional[Literal["auto", "concise", "detailed"]] = None
2601
+
2602
+ summary: Optional[Literal["auto", "concise", "detailed"]] = None
2603
+
2604
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2605
+ if TYPE_CHECKING:
2606
+ # Stub to indicate that arbitrary properties are accepted.
2607
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2608
+ # `getattr(obj, '$type')`
2609
+ def __getattr__(self, attr: str) -> object: ...
2610
+
2611
+
2612
+ class TextFormatResponseFormatText(BaseModel):
2613
+ type: Literal["text"]
2614
+
2615
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2616
+ if TYPE_CHECKING:
2617
+ # Stub to indicate that arbitrary properties are accepted.
2618
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2619
+ # `getattr(obj, '$type')`
2620
+ def __getattr__(self, attr: str) -> object: ...
2621
+
2622
+
2623
+ class TextFormatResponseFormatTextJsonSchemaConfig(BaseModel):
2624
+ name: str
2625
+
2626
+ schema_: Dict[str, object] = FieldInfo(alias="schema")
2627
+
2628
+ type: Literal["json_schema"]
2629
+
2630
+ description: Optional[str] = None
2631
+
2632
+ strict: Optional[bool] = None
2633
+
2634
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2635
+ if TYPE_CHECKING:
2636
+ # Stub to indicate that arbitrary properties are accepted.
2637
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2638
+ # `getattr(obj, '$type')`
2639
+ def __getattr__(self, attr: str) -> object: ...
2640
+
2641
+
2642
+ class TextFormatResponseFormatJsonObject(BaseModel):
2643
+ type: Literal["json_object"]
2644
+
2645
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2646
+ if TYPE_CHECKING:
2647
+ # Stub to indicate that arbitrary properties are accepted.
2648
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2649
+ # `getattr(obj, '$type')`
2650
+ def __getattr__(self, attr: str) -> object: ...
2651
+
2652
+
2653
+ TextFormat: TypeAlias = Union[
2654
+ TextFormatResponseFormatText, TextFormatResponseFormatTextJsonSchemaConfig, TextFormatResponseFormatJsonObject
2655
+ ]
2656
+
2657
+
2658
+ class Text(BaseModel):
2659
+ format: Optional[TextFormat] = None
2660
+
2661
+ verbosity: Optional[Literal["low", "medium", "high"]] = None
2662
+
2663
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2664
+ if TYPE_CHECKING:
2665
+ # Stub to indicate that arbitrary properties are accepted.
2666
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2667
+ # `getattr(obj, '$type')`
2668
+ def __getattr__(self, attr: str) -> object: ...
2669
+
2670
+
2671
+ class UsageInputTokensDetails(BaseModel):
2672
+ cached_tokens: int
2673
+
2674
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2675
+ if TYPE_CHECKING:
2676
+ # Stub to indicate that arbitrary properties are accepted.
2677
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2678
+ # `getattr(obj, '$type')`
2679
+ def __getattr__(self, attr: str) -> object: ...
2680
+
2681
+
2682
+ class UsageOutputTokensDetails(BaseModel):
2683
+ reasoning_tokens: int
2684
+
2685
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2686
+ if TYPE_CHECKING:
2687
+ # Stub to indicate that arbitrary properties are accepted.
2688
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2689
+ # `getattr(obj, '$type')`
2690
+ def __getattr__(self, attr: str) -> object: ...
2691
+
2692
+
2693
+ class Usage(BaseModel):
2694
+ input_tokens: int
2695
+
2696
+ input_tokens_details: UsageInputTokensDetails
2697
+
2698
+ output_tokens: int
2699
+
2700
+ output_tokens_details: UsageOutputTokensDetails
2701
+
2702
+ total_tokens: int
2703
+
2704
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2705
+ if TYPE_CHECKING:
2706
+ # Stub to indicate that arbitrary properties are accepted.
2707
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2708
+ # `getattr(obj, '$type')`
2709
+ def __getattr__(self, attr: str) -> object: ...
2710
+
2711
+
2712
+ class Response(BaseModel):
2713
+ id: str
2714
+
2715
+ created_at: float
2716
+
2717
+ model: Union[
2718
+ Literal[
2719
+ "gpt-5",
2720
+ "gpt-5-mini",
2721
+ "gpt-5-nano",
2722
+ "gpt-5-2025-08-07",
2723
+ "gpt-5-mini-2025-08-07",
2724
+ "gpt-5-nano-2025-08-07",
2725
+ "gpt-5-chat-latest",
2726
+ "gpt-4.1",
2727
+ "gpt-4.1-mini",
2728
+ "gpt-4.1-nano",
2729
+ "gpt-4.1-2025-04-14",
2730
+ "gpt-4.1-mini-2025-04-14",
2731
+ "gpt-4.1-nano-2025-04-14",
2732
+ "o4-mini",
2733
+ "o4-mini-2025-04-16",
2734
+ "o3",
2735
+ "o3-2025-04-16",
2736
+ "o3-mini",
2737
+ "o3-mini-2025-01-31",
2738
+ "o1",
2739
+ "o1-2024-12-17",
2740
+ "o1-preview",
2741
+ "o1-preview-2024-09-12",
2742
+ "o1-mini",
2743
+ "o1-mini-2024-09-12",
2744
+ "gpt-4o",
2745
+ "gpt-4o-2024-11-20",
2746
+ "gpt-4o-2024-08-06",
2747
+ "gpt-4o-2024-05-13",
2748
+ "gpt-4o-audio-preview",
2749
+ "gpt-4o-audio-preview-2024-10-01",
2750
+ "gpt-4o-audio-preview-2024-12-17",
2751
+ "gpt-4o-audio-preview-2025-06-03",
2752
+ "gpt-4o-mini-audio-preview",
2753
+ "gpt-4o-mini-audio-preview-2024-12-17",
2754
+ "gpt-4o-search-preview",
2755
+ "gpt-4o-mini-search-preview",
2756
+ "gpt-4o-search-preview-2025-03-11",
2757
+ "gpt-4o-mini-search-preview-2025-03-11",
2758
+ "chatgpt-4o-latest",
2759
+ "codex-mini-latest",
2760
+ "gpt-4o-mini",
2761
+ "gpt-4o-mini-2024-07-18",
2762
+ "gpt-4-turbo",
2763
+ "gpt-4-turbo-2024-04-09",
2764
+ "gpt-4-0125-preview",
2765
+ "gpt-4-turbo-preview",
2766
+ "gpt-4-1106-preview",
2767
+ "gpt-4-vision-preview",
2768
+ "gpt-4",
2769
+ "gpt-4-0314",
2770
+ "gpt-4-0613",
2771
+ "gpt-4-32k",
2772
+ "gpt-4-32k-0314",
2773
+ "gpt-4-32k-0613",
2774
+ "gpt-3.5-turbo",
2775
+ "gpt-3.5-turbo-16k",
2776
+ "gpt-3.5-turbo-0301",
2777
+ "gpt-3.5-turbo-0613",
2778
+ "gpt-3.5-turbo-1106",
2779
+ "gpt-3.5-turbo-0125",
2780
+ "gpt-3.5-turbo-16k-0613",
2781
+ "o1-pro",
2782
+ "o1-pro-2025-03-19",
2783
+ "o3-pro",
2784
+ "o3-pro-2025-06-10",
2785
+ "o3-deep-research",
2786
+ "o3-deep-research-2025-06-26",
2787
+ "o4-mini-deep-research",
2788
+ "o4-mini-deep-research-2025-06-26",
2789
+ "computer-use-preview",
2790
+ "computer-use-preview-2025-03-11",
2791
+ ],
2792
+ str,
2793
+ ]
2794
+
2795
+ output: List[Output]
2796
+
2797
+ parallel_tool_calls: bool
2798
+
2799
+ tool_choice: ToolChoice
2800
+
2801
+ tools: List[Tool]
2802
+
2803
+ background: Optional[bool] = None
2804
+
2805
+ error: Optional[Error] = None
2806
+
2807
+ incomplete_details: Optional[IncompleteDetails] = None
2808
+
2809
+ instructions: Union[str, List[InstructionsUnionMember1], None] = None
2810
+
2811
+ max_output_tokens: Optional[int] = None
2812
+
2813
+ max_tool_calls: Optional[int] = None
2814
+
2815
+ metadata: Optional[Dict[str, str]] = None
2816
+
2817
+ object: Optional[Literal["response"]] = None
2818
+
2819
+ previous_response_id: Optional[str] = None
2820
+
2821
+ prompt: Optional[Prompt] = None
2822
+
2823
+ prompt_cache_key: Optional[str] = None
2824
+
2825
+ reasoning: Optional[Reasoning] = None
2826
+
2827
+ safety_identifier: Optional[str] = None
2828
+
2829
+ service_tier: Optional[Literal["auto", "default", "flex", "scale", "priority"]] = None
2830
+
2831
+ status: Optional[Literal["completed", "failed", "in_progress", "cancelled", "queued", "incomplete"]] = None
2832
+
2833
+ temperature: Optional[float] = None
2834
+
2835
+ text: Optional[Text] = None
2836
+
2837
+ top_logprobs: Optional[int] = None
2838
+
2839
+ top_p: Optional[float] = None
2840
+
2841
+ truncation: Optional[Literal["auto", "disabled"]] = None
2842
+
2843
+ usage: Optional[Usage] = None
2844
+
2845
+ user: Optional[str] = None
2846
+
2847
+ __pydantic_extra__: Dict[str, builtins.object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
2848
+ if TYPE_CHECKING:
2849
+ # Stub to indicate that arbitrary properties are accepted.
2850
+ # To access properties that are not valid identifiers you can use `getattr`, e.g.
2851
+ # `getattr(obj, '$type')`
2852
+ def __getattr__(self, attr: str) -> builtins.object: ...