main
1from __future__ import annotations
2
3from typing import Optional
4from typing_extensions import Union, Generic, TypeVar, Annotated, TypeAlias
5
6from ...._utils import PropertyInfo
7from ...._compat import GenericModel
8from ....types.responses import (
9 ParsedResponse,
10 ResponseErrorEvent,
11 ResponseFailedEvent,
12 ResponseQueuedEvent,
13 ResponseCreatedEvent,
14 ResponseTextDoneEvent as RawResponseTextDoneEvent,
15 ResponseAudioDoneEvent,
16 ResponseCompletedEvent as RawResponseCompletedEvent,
17 ResponseTextDeltaEvent as RawResponseTextDeltaEvent,
18 ResponseAudioDeltaEvent,
19 ResponseIncompleteEvent,
20 ResponseInProgressEvent,
21 ResponseRefusalDoneEvent,
22 ResponseRefusalDeltaEvent,
23 ResponseMcpCallFailedEvent,
24 ResponseOutputItemDoneEvent,
25 ResponseContentPartDoneEvent,
26 ResponseOutputItemAddedEvent,
27 ResponseContentPartAddedEvent,
28 ResponseMcpCallCompletedEvent,
29 ResponseMcpCallInProgressEvent,
30 ResponseMcpListToolsFailedEvent,
31 ResponseAudioTranscriptDoneEvent,
32 ResponseAudioTranscriptDeltaEvent,
33 ResponseMcpCallArgumentsDoneEvent,
34 ResponseImageGenCallCompletedEvent,
35 ResponseMcpCallArgumentsDeltaEvent,
36 ResponseMcpListToolsCompletedEvent,
37 ResponseImageGenCallGeneratingEvent,
38 ResponseImageGenCallInProgressEvent,
39 ResponseMcpListToolsInProgressEvent,
40 ResponseWebSearchCallCompletedEvent,
41 ResponseWebSearchCallSearchingEvent,
42 ResponseCustomToolCallInputDoneEvent,
43 ResponseFileSearchCallCompletedEvent,
44 ResponseFileSearchCallSearchingEvent,
45 ResponseWebSearchCallInProgressEvent,
46 ResponseCustomToolCallInputDeltaEvent,
47 ResponseFileSearchCallInProgressEvent,
48 ResponseImageGenCallPartialImageEvent,
49 ResponseReasoningSummaryPartDoneEvent,
50 ResponseReasoningSummaryTextDoneEvent,
51 ResponseFunctionCallArgumentsDoneEvent,
52 ResponseOutputTextAnnotationAddedEvent,
53 ResponseReasoningSummaryPartAddedEvent,
54 ResponseReasoningSummaryTextDeltaEvent,
55 ResponseFunctionCallArgumentsDeltaEvent as RawResponseFunctionCallArgumentsDeltaEvent,
56 ResponseCodeInterpreterCallCodeDoneEvent,
57 ResponseCodeInterpreterCallCodeDeltaEvent,
58 ResponseCodeInterpreterCallCompletedEvent,
59 ResponseCodeInterpreterCallInProgressEvent,
60 ResponseCodeInterpreterCallInterpretingEvent,
61)
62from ....types.responses.response_reasoning_text_done_event import ResponseReasoningTextDoneEvent
63from ....types.responses.response_reasoning_text_delta_event import ResponseReasoningTextDeltaEvent
64
65TextFormatT = TypeVar(
66 "TextFormatT",
67 # if it isn't given then we don't do any parsing
68 default=None,
69)
70
71
72class ResponseTextDeltaEvent(RawResponseTextDeltaEvent):
73 snapshot: str
74
75
76class ResponseTextDoneEvent(RawResponseTextDoneEvent, GenericModel, Generic[TextFormatT]):
77 parsed: Optional[TextFormatT] = None
78
79
80class ResponseFunctionCallArgumentsDeltaEvent(RawResponseFunctionCallArgumentsDeltaEvent):
81 snapshot: str
82
83
84class ResponseCompletedEvent(RawResponseCompletedEvent, GenericModel, Generic[TextFormatT]):
85 response: ParsedResponse[TextFormatT] # type: ignore[assignment]
86
87
88ResponseStreamEvent: TypeAlias = Annotated[
89 Union[
90 # wrappers with snapshots added on
91 ResponseTextDeltaEvent,
92 ResponseTextDoneEvent[TextFormatT],
93 ResponseFunctionCallArgumentsDeltaEvent,
94 ResponseCompletedEvent[TextFormatT],
95 # the same as the non-accumulated API
96 ResponseAudioDeltaEvent,
97 ResponseAudioDoneEvent,
98 ResponseAudioTranscriptDeltaEvent,
99 ResponseAudioTranscriptDoneEvent,
100 ResponseCodeInterpreterCallCodeDeltaEvent,
101 ResponseCodeInterpreterCallCodeDoneEvent,
102 ResponseCodeInterpreterCallCompletedEvent,
103 ResponseCodeInterpreterCallInProgressEvent,
104 ResponseCodeInterpreterCallInterpretingEvent,
105 ResponseContentPartAddedEvent,
106 ResponseContentPartDoneEvent,
107 ResponseCreatedEvent,
108 ResponseErrorEvent,
109 ResponseFileSearchCallCompletedEvent,
110 ResponseFileSearchCallInProgressEvent,
111 ResponseFileSearchCallSearchingEvent,
112 ResponseFunctionCallArgumentsDoneEvent,
113 ResponseInProgressEvent,
114 ResponseFailedEvent,
115 ResponseIncompleteEvent,
116 ResponseOutputItemAddedEvent,
117 ResponseOutputItemDoneEvent,
118 ResponseRefusalDeltaEvent,
119 ResponseRefusalDoneEvent,
120 ResponseTextDoneEvent,
121 ResponseWebSearchCallCompletedEvent,
122 ResponseWebSearchCallInProgressEvent,
123 ResponseWebSearchCallSearchingEvent,
124 ResponseReasoningSummaryPartAddedEvent,
125 ResponseReasoningSummaryPartDoneEvent,
126 ResponseReasoningSummaryTextDeltaEvent,
127 ResponseReasoningSummaryTextDoneEvent,
128 ResponseImageGenCallCompletedEvent,
129 ResponseImageGenCallInProgressEvent,
130 ResponseImageGenCallGeneratingEvent,
131 ResponseImageGenCallPartialImageEvent,
132 ResponseMcpCallCompletedEvent,
133 ResponseMcpCallArgumentsDeltaEvent,
134 ResponseMcpCallArgumentsDoneEvent,
135 ResponseMcpCallFailedEvent,
136 ResponseMcpCallInProgressEvent,
137 ResponseMcpListToolsCompletedEvent,
138 ResponseMcpListToolsFailedEvent,
139 ResponseMcpListToolsInProgressEvent,
140 ResponseOutputTextAnnotationAddedEvent,
141 ResponseQueuedEvent,
142 ResponseReasoningTextDeltaEvent,
143 ResponseReasoningTextDoneEvent,
144 ResponseCustomToolCallInputDeltaEvent,
145 ResponseCustomToolCallInputDoneEvent,
146 ],
147 PropertyInfo(discriminator="type"),
148]