openai 0.78.0 → 0.79.0

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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +80 -0
  3. data/README.md +241 -8
  4. data/SECURITY.md +6 -22
  5. data/azure.md +110 -0
  6. data/bedrock.md +132 -0
  7. data/examples/mtls_custom_http_client.rb +61 -0
  8. data/lib/openai/auth/workload_identity.rb +13 -2
  9. data/lib/openai/auth/workload_identity_auth.rb +2 -1
  10. data/lib/openai/client.rb +29 -6
  11. data/lib/openai/errors.rb +11 -1
  12. data/lib/openai/helpers/streaming/chat_completion_stream.rb +3 -3
  13. data/lib/openai/helpers/streaming/response_stream.rb +5 -6
  14. data/lib/openai/helpers/structured_output/base_model.rb +20 -19
  15. data/lib/openai/helpers/structured_output/json_schema_converter.rb +12 -5
  16. data/lib/openai/http_client.rb +99 -7
  17. data/lib/openai/internal/conversation_cursor_page.rb +5 -6
  18. data/lib/openai/internal/cursor_page.rb +3 -3
  19. data/lib/openai/internal/logging.rb +419 -0
  20. data/lib/openai/internal/next_cursor_page.rb +5 -6
  21. data/lib/openai/internal/page.rb +2 -2
  22. data/lib/openai/internal/provider.rb +7 -1
  23. data/lib/openai/internal/read_io_adapter.rb +42 -18
  24. data/lib/openai/internal/stream.rb +2 -2
  25. data/lib/openai/internal/transport/base_client.rb +137 -37
  26. data/lib/openai/internal/type/array_of.rb +6 -4
  27. data/lib/openai/internal/type/base_model.rb +39 -1
  28. data/lib/openai/internal/type/base_page.rb +19 -2
  29. data/lib/openai/internal/type/base_stream.rb +39 -7
  30. data/lib/openai/internal/type/hash_of.rb +3 -3
  31. data/lib/openai/internal/util.rb +52 -27
  32. data/lib/openai/models/admin/organization/audit_log_list_params.rb +3 -1
  33. data/lib/openai/models/admin/organization/audit_log_list_response.rb +33 -11
  34. data/lib/openai/models/admin/organization/groups/role_list_response.rb +5 -1
  35. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +5 -1
  36. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +6 -1
  37. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +6 -1
  38. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +3 -1
  39. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +6 -1
  40. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +6 -1
  41. data/lib/openai/models/admin/organization/users/role_list_response.rb +5 -1
  42. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +5 -1
  43. data/lib/openai/models/all_models.rb +3 -0
  44. data/lib/openai/models/audio/transcription_create_params.rb +7 -1
  45. data/lib/openai/models/audio/translation_create_params.rb +7 -1
  46. data/lib/openai/models/beta/beta_response.rb +9 -0
  47. data/lib/openai/models/beta/beta_response_stream_event.rb +1 -1
  48. data/lib/openai/models/beta/beta_responses_client_event.rb +28 -3
  49. data/lib/openai/models/beta/beta_responses_server_event.rb +1037 -61
  50. data/lib/openai/models/beta/response_compact_params.rb +9 -0
  51. data/lib/openai/models/beta/response_create_params.rb +9 -0
  52. data/lib/openai/models/containers/file_create_params.rb +4 -0
  53. data/lib/openai/models/content_provenance_check_create_params.rb +4 -0
  54. data/lib/openai/models/file_create_params.rb +4 -0
  55. data/lib/openai/models/image_create_variation_params.rb +4 -0
  56. data/lib/openai/models/image_edit_params.rb +8 -0
  57. data/lib/openai/models/responses/response_compact_params.rb +9 -0
  58. data/lib/openai/models/responses/response_stream_event.rb +1 -1
  59. data/lib/openai/models/responses/responses_client_event.rb +13 -1
  60. data/lib/openai/models/responses/responses_server_event.rb +1027 -54
  61. data/lib/openai/models/responses_model.rb +3 -0
  62. data/lib/openai/models/skill_create_params.rb +4 -0
  63. data/lib/openai/models/skills/version_create_params.rb +4 -0
  64. data/lib/openai/models/uploads/part_create_params.rb +4 -0
  65. data/lib/openai/models/vector_store_search_response.rb +3 -1
  66. data/lib/openai/models/video_create_character_params.rb +4 -0
  67. data/lib/openai/models/video_create_params.rb +4 -0
  68. data/lib/openai/models/video_edit_params.rb +4 -0
  69. data/lib/openai/models/video_extend_params.rb +4 -0
  70. data/lib/openai/models.rb +9 -1
  71. data/lib/openai/net_http_client.rb +20 -6
  72. data/lib/openai/providers/azure.rb +216 -0
  73. data/lib/openai/providers/bedrock.rb +3 -1
  74. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +1 -1
  75. data/lib/openai/resources/admin/organization/projects/groups.rb +1 -1
  76. data/lib/openai/resources/admin/organization/projects/users/roles.rb +1 -1
  77. data/lib/openai/resources/admin/organization/projects.rb +4 -2
  78. data/lib/openai/resources/audio/transcriptions.rb +8 -0
  79. data/lib/openai/resources/audio/translations.rb +4 -0
  80. data/lib/openai/resources/beta/responses.rb +1 -1
  81. data/lib/openai/resources/beta/threads/runs/steps.rb +2 -2
  82. data/lib/openai/resources/containers/files.rb +4 -0
  83. data/lib/openai/resources/content_provenance_checks.rb +4 -0
  84. data/lib/openai/resources/conversations/items.rb +1 -1
  85. data/lib/openai/resources/evals/runs/output_items.rb +1 -1
  86. data/lib/openai/resources/files.rb +4 -0
  87. data/lib/openai/resources/images.rb +12 -0
  88. data/lib/openai/resources/responses.rb +3 -2
  89. data/lib/openai/resources/skills/versions.rb +4 -0
  90. data/lib/openai/resources/skills.rb +4 -0
  91. data/lib/openai/resources/uploads/parts.rb +4 -0
  92. data/lib/openai/resources/vector_stores/file_batches.rb +1 -1
  93. data/lib/openai/resources/videos.rb +38 -0
  94. data/lib/openai/resources/webhooks.rb +18 -6
  95. data/lib/openai/version.rb +1 -1
  96. data/lib/openai.rb +111 -107
  97. data/rbi/openai/auth.rbi +4 -4
  98. data/rbi/openai/client.rbi +13 -3
  99. data/rbi/openai/errors.rbi +7 -0
  100. data/rbi/openai/helpers/streaming/events.rbi +12 -0
  101. data/rbi/openai/http_client.rbi +62 -2
  102. data/rbi/openai/internal/logging.rbi +192 -0
  103. data/rbi/openai/internal/provider.rbi +3 -0
  104. data/rbi/openai/internal/read_io_adapter.rbi +6 -1
  105. data/rbi/openai/internal/transport/base_client.rbi +61 -7
  106. data/rbi/openai/internal/type/base_model.rbi +24 -1
  107. data/rbi/openai/internal/type/base_page.rbi +13 -2
  108. data/rbi/openai/internal/type/base_stream.rbi +15 -4
  109. data/rbi/openai/internal/util.rbi +26 -2
  110. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +5 -0
  111. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +5 -0
  112. data/rbi/openai/models/all_models.rbi +15 -0
  113. data/rbi/openai/models/audio/transcription_create_params.rbi +14 -2
  114. data/rbi/openai/models/audio/translation_create_params.rbi +14 -2
  115. data/rbi/openai/models/beta/beta_response.rbi +15 -0
  116. data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -1
  117. data/rbi/openai/models/beta/beta_responses_client_event.rbi +37 -1
  118. data/rbi/openai/models/beta/beta_responses_server_event.rbi +3791 -54
  119. data/rbi/openai/models/beta/response_compact_params.rbi +15 -0
  120. data/rbi/openai/models/beta/response_create_params.rbi +15 -0
  121. data/rbi/openai/models/containers/file_create_params.rbi +8 -0
  122. data/rbi/openai/models/content_provenance_check_create_params.rbi +8 -0
  123. data/rbi/openai/models/file_create_params.rbi +8 -0
  124. data/rbi/openai/models/image_create_variation_params.rbi +8 -0
  125. data/rbi/openai/models/image_edit_params.rbi +16 -0
  126. data/rbi/openai/models/responses/response_compact_params.rbi +15 -0
  127. data/rbi/openai/models/responses/response_stream_event.rbi +1 -1
  128. data/rbi/openai/models/responses/responses_client_event.rbi +19 -0
  129. data/rbi/openai/models/responses/responses_server_event.rbi +3282 -53
  130. data/rbi/openai/models/responses_model.rbi +15 -0
  131. data/rbi/openai/models/skill_create_params.rbi +8 -0
  132. data/rbi/openai/models/skills/version_create_params.rbi +8 -0
  133. data/rbi/openai/models/uploads/part_create_params.rbi +8 -0
  134. data/rbi/openai/models/video_create_character_params.rbi +8 -0
  135. data/rbi/openai/models/video_create_params.rbi +8 -0
  136. data/rbi/openai/models/video_edit_params.rbi +8 -0
  137. data/rbi/openai/models/video_extend_params.rbi +8 -0
  138. data/rbi/openai/net_http_client.rbi +2 -2
  139. data/rbi/openai/providers.rbi +9 -0
  140. data/rbi/openai/resources/audio/transcriptions.rbi +14 -2
  141. data/rbi/openai/resources/audio/translations.rbi +7 -1
  142. data/rbi/openai/resources/containers/files.rbi +4 -0
  143. data/rbi/openai/resources/content_provenance_checks.rbi +4 -0
  144. data/rbi/openai/resources/files.rbi +4 -0
  145. data/rbi/openai/resources/images.rbi +20 -0
  146. data/rbi/openai/resources/skills/versions.rbi +4 -0
  147. data/rbi/openai/resources/skills.rbi +4 -0
  148. data/rbi/openai/resources/uploads/parts.rbi +4 -0
  149. data/rbi/openai/resources/videos.rbi +16 -0
  150. data/sig/openai/client.rbs +6 -2
  151. data/sig/openai/errors.rbs +5 -0
  152. data/sig/openai/http_client.rbs +37 -2
  153. data/sig/openai/internal/logging.rbs +88 -0
  154. data/sig/openai/internal/provider.rbs +3 -1
  155. data/sig/openai/internal/read_io_adapter.rbs +3 -1
  156. data/sig/openai/internal/transport/base_client.rbs +33 -5
  157. data/sig/openai/internal/type/base_model.rbs +13 -0
  158. data/sig/openai/internal/type/base_page.rbs +8 -1
  159. data/sig/openai/internal/type/base_stream.rbs +8 -2
  160. data/sig/openai/internal/util.rbs +12 -0
  161. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +2 -0
  162. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +2 -0
  163. data/sig/openai/models/all_models.rbs +6 -0
  164. data/sig/openai/models/beta/beta_response.rbs +6 -0
  165. data/sig/openai/models/beta/beta_responses_client_event.rbs +13 -0
  166. data/sig/openai/models/beta/beta_responses_server_event.rbs +1946 -54
  167. data/sig/openai/models/beta/response_compact_params.rbs +6 -0
  168. data/sig/openai/models/beta/response_create_params.rbs +6 -0
  169. data/sig/openai/models/responses/response_compact_params.rbs +6 -0
  170. data/sig/openai/models/responses/responses_client_event.rbs +7 -0
  171. data/sig/openai/models/responses/responses_server_event.rbs +1786 -53
  172. data/sig/openai/models/responses_model.rbs +6 -0
  173. data/sig/openai/net_http_client.rbs +2 -2
  174. data/sig/openai/providers.rbs +6 -0
  175. metadata +24 -1
@@ -10,62 +10,3291 @@ module OpenAI
10
10
  Variants =
11
11
  T.type_alias do
12
12
  T.any(
13
- OpenAI::Responses::ResponseAudioDeltaEvent,
14
- OpenAI::Responses::ResponseAudioDoneEvent,
15
- OpenAI::Responses::ResponseAudioTranscriptDeltaEvent,
16
- OpenAI::Responses::ResponseAudioTranscriptDoneEvent,
17
- OpenAI::Responses::ResponseCodeInterpreterCallCodeDeltaEvent,
18
- OpenAI::Responses::ResponseCodeInterpreterCallCodeDoneEvent,
19
- OpenAI::Responses::ResponseCodeInterpreterCallCompletedEvent,
20
- OpenAI::Responses::ResponseCodeInterpreterCallInProgressEvent,
21
- OpenAI::Responses::ResponseCodeInterpreterCallInterpretingEvent,
22
- OpenAI::Responses::ResponseCompletedEvent,
23
- OpenAI::Responses::ResponseContentPartAddedEvent,
24
- OpenAI::Responses::ResponseContentPartDoneEvent,
25
- OpenAI::Responses::ResponseCreatedEvent,
26
- OpenAI::Responses::ResponseErrorEvent,
27
- OpenAI::Responses::ResponseFileSearchCallCompletedEvent,
28
- OpenAI::Responses::ResponseFileSearchCallInProgressEvent,
29
- OpenAI::Responses::ResponseFileSearchCallSearchingEvent,
30
- OpenAI::Responses::ResponseFunctionCallArgumentsDeltaEvent,
31
- OpenAI::Responses::ResponseFunctionCallArgumentsDoneEvent,
32
- OpenAI::Responses::ResponseInProgressEvent,
33
- OpenAI::Responses::ResponseFailedEvent,
34
- OpenAI::Responses::ResponseIncompleteEvent,
35
- OpenAI::Responses::ResponseOutputItemAddedEvent,
36
- OpenAI::Responses::ResponseOutputItemDoneEvent,
37
- OpenAI::Responses::ResponseReasoningSummaryPartAddedEvent,
38
- OpenAI::Responses::ResponseReasoningSummaryPartDoneEvent,
39
- OpenAI::Responses::ResponseReasoningSummaryTextDeltaEvent,
40
- OpenAI::Responses::ResponseReasoningSummaryTextDoneEvent,
41
- OpenAI::Responses::ResponseReasoningTextDeltaEvent,
42
- OpenAI::Responses::ResponseReasoningTextDoneEvent,
43
- OpenAI::Responses::ResponseRefusalDeltaEvent,
44
- OpenAI::Responses::ResponseRefusalDoneEvent,
45
- OpenAI::Responses::ResponseTextDeltaEvent,
46
- OpenAI::Responses::ResponseTextDoneEvent,
47
- OpenAI::Responses::ResponseWebSearchCallCompletedEvent,
48
- OpenAI::Responses::ResponseWebSearchCallInProgressEvent,
49
- OpenAI::Responses::ResponseWebSearchCallSearchingEvent,
50
- OpenAI::Responses::ResponseImageGenCallCompletedEvent,
51
- OpenAI::Responses::ResponseImageGenCallGeneratingEvent,
52
- OpenAI::Responses::ResponseImageGenCallInProgressEvent,
53
- OpenAI::Responses::ResponseImageGenCallPartialImageEvent,
54
- OpenAI::Responses::ResponseMcpCallArgumentsDeltaEvent,
55
- OpenAI::Responses::ResponseMcpCallArgumentsDoneEvent,
56
- OpenAI::Responses::ResponseMcpCallCompletedEvent,
57
- OpenAI::Responses::ResponseMcpCallFailedEvent,
58
- OpenAI::Responses::ResponseMcpCallInProgressEvent,
59
- OpenAI::Responses::ResponseMcpListToolsCompletedEvent,
60
- OpenAI::Responses::ResponseMcpListToolsFailedEvent,
61
- OpenAI::Responses::ResponseMcpListToolsInProgressEvent,
62
- OpenAI::Responses::ResponseOutputTextAnnotationAddedEvent,
63
- OpenAI::Responses::ResponseQueuedEvent,
64
- OpenAI::Responses::ResponseCustomToolCallInputDeltaEvent,
65
- OpenAI::Responses::ResponseCustomToolCallInputDoneEvent
13
+ OpenAI::Responses::ResponsesServerEvent::ResponseAudioWsDelta,
14
+ OpenAI::Responses::ResponsesServerEvent::ResponseAudioWsDone,
15
+ OpenAI::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDelta,
16
+ OpenAI::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDone,
17
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDelta,
18
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDone,
19
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsCompleted,
20
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallInWsProgress,
21
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsInterpreting,
22
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsCompleted,
23
+ OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsAdded,
24
+ OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsDone,
25
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsCreated,
26
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsError,
27
+ OpenAI::Responses::ResponsesServerEvent::ResponseFileSearchCallWsCompleted,
28
+ OpenAI::Responses::ResponsesServerEvent::ResponseFileSearchCallInWsProgress,
29
+ OpenAI::Responses::ResponsesServerEvent::ResponseFileSearchCallWsSearching,
30
+ OpenAI::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDelta,
31
+ OpenAI::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDone,
32
+ OpenAI::Responses::ResponsesServerEvent::ResponseInWsProgress,
33
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsFailed,
34
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsIncomplete,
35
+ OpenAI::Responses::ResponsesServerEvent::ResponseOutputItemWsAdded,
36
+ OpenAI::Responses::ResponsesServerEvent::ResponseOutputItemWsDone,
37
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsAdded,
38
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsDone,
39
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDelta,
40
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDone,
41
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningTextWsDelta,
42
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningTextWsDone,
43
+ OpenAI::Responses::ResponsesServerEvent::ResponseRefusalWsDelta,
44
+ OpenAI::Responses::ResponsesServerEvent::ResponseRefusalWsDone,
45
+ OpenAI::Responses::ResponsesServerEvent::ResponseTextWsDelta,
46
+ OpenAI::Responses::ResponsesServerEvent::ResponseTextWsDone,
47
+ OpenAI::Responses::ResponsesServerEvent::ResponseWebSearchCallWsCompleted,
48
+ OpenAI::Responses::ResponsesServerEvent::ResponseWebSearchCallInWsProgress,
49
+ OpenAI::Responses::ResponsesServerEvent::ResponseWebSearchCallWsSearching,
50
+ OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallWsCompleted,
51
+ OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallWsGenerating,
52
+ OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallInWsProgress,
53
+ OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallPartialWsImage,
54
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDelta,
55
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDone,
56
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallWsCompleted,
57
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallWsFailed,
58
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallInWsProgress,
59
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpListToolsWsCompleted,
60
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpListToolsWsFailed,
61
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpListToolsInWsProgress,
62
+ OpenAI::Responses::ResponsesServerEvent::ResponseOutputTextAnnotationWsAdded,
63
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsQueued,
64
+ OpenAI::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDelta,
65
+ OpenAI::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDone
66
66
  )
67
67
  end
68
68
 
69
+ class ResponseAudioWsDelta < OpenAI::Models::Responses::ResponseAudioDeltaEvent
70
+ OrHash =
71
+ T.type_alias do
72
+ T.any(
73
+ OpenAI::Responses::ResponsesServerEvent::ResponseAudioWsDelta,
74
+ OpenAI::Internal::AnyHash
75
+ )
76
+ end
77
+
78
+ # The WebSocket lane that emitted this event. This field is present when the
79
+ # originating `response.create` event supplied a `stream_id`.
80
+ sig { returns(T.nilable(String)) }
81
+ attr_reader :stream_id
82
+
83
+ sig { params(stream_id: String).void }
84
+ attr_writer :stream_id
85
+
86
+ # Emitted when there is a partial audio response.
87
+ sig do
88
+ params(
89
+ delta: String,
90
+ sequence_number: Integer,
91
+ type: Symbol,
92
+ stream_id: String
93
+ ).returns(T.attached_class)
94
+ end
95
+ def self.new(
96
+ # A chunk of Base64 encoded response audio bytes.
97
+ delta:,
98
+ # A sequence number for this chunk of the stream response.
99
+ sequence_number:,
100
+ # The type of the event. Always `response.audio.delta`.
101
+ type: :"response.audio.delta",
102
+ # The WebSocket lane that emitted this event.
103
+ # This field is present when the originating response.create supplied a stream_id.
104
+ stream_id: nil
105
+ )
106
+ end
107
+
108
+ sig do
109
+ override.returns(
110
+ {
111
+ delta: String,
112
+ sequence_number: Integer,
113
+ type: Symbol,
114
+ stream_id: String
115
+ }
116
+ )
117
+ end
118
+ def to_hash
119
+ end
120
+ end
121
+
122
+ class ResponseAudioWsDone < OpenAI::Models::Responses::ResponseAudioDoneEvent
123
+ OrHash =
124
+ T.type_alias do
125
+ T.any(
126
+ OpenAI::Responses::ResponsesServerEvent::ResponseAudioWsDone,
127
+ OpenAI::Internal::AnyHash
128
+ )
129
+ end
130
+
131
+ # The WebSocket lane that emitted this event. This field is present when the
132
+ # originating `response.create` event supplied a `stream_id`.
133
+ sig { returns(T.nilable(String)) }
134
+ attr_reader :stream_id
135
+
136
+ sig { params(stream_id: String).void }
137
+ attr_writer :stream_id
138
+
139
+ # Emitted when the audio response is complete.
140
+ sig do
141
+ params(
142
+ sequence_number: Integer,
143
+ type: Symbol,
144
+ stream_id: String
145
+ ).returns(T.attached_class)
146
+ end
147
+ def self.new(
148
+ # The sequence number of the delta.
149
+ sequence_number:,
150
+ # The type of the event. Always `response.audio.done`.
151
+ type: :"response.audio.done",
152
+ # The WebSocket lane that emitted this event.
153
+ # This field is present when the originating response.create supplied a stream_id.
154
+ stream_id: nil
155
+ )
156
+ end
157
+
158
+ sig do
159
+ override.returns(
160
+ { sequence_number: Integer, type: Symbol, stream_id: String }
161
+ )
162
+ end
163
+ def to_hash
164
+ end
165
+ end
166
+
167
+ class ResponseAudioTranscriptWsDelta < OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent
168
+ OrHash =
169
+ T.type_alias do
170
+ T.any(
171
+ OpenAI::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDelta,
172
+ OpenAI::Internal::AnyHash
173
+ )
174
+ end
175
+
176
+ # The WebSocket lane that emitted this event. This field is present when the
177
+ # originating `response.create` event supplied a `stream_id`.
178
+ sig { returns(T.nilable(String)) }
179
+ attr_reader :stream_id
180
+
181
+ sig { params(stream_id: String).void }
182
+ attr_writer :stream_id
183
+
184
+ # Emitted when there is a partial transcript of audio.
185
+ sig do
186
+ params(
187
+ delta: String,
188
+ sequence_number: Integer,
189
+ type: Symbol,
190
+ stream_id: String
191
+ ).returns(T.attached_class)
192
+ end
193
+ def self.new(
194
+ # The partial transcript of the audio response.
195
+ delta:,
196
+ # The sequence number of this event.
197
+ sequence_number:,
198
+ # The type of the event. Always `response.audio.transcript.delta`.
199
+ type: :"response.audio.transcript.delta",
200
+ # The WebSocket lane that emitted this event.
201
+ # This field is present when the originating response.create supplied a stream_id.
202
+ stream_id: nil
203
+ )
204
+ end
205
+
206
+ sig do
207
+ override.returns(
208
+ {
209
+ delta: String,
210
+ sequence_number: Integer,
211
+ type: Symbol,
212
+ stream_id: String
213
+ }
214
+ )
215
+ end
216
+ def to_hash
217
+ end
218
+ end
219
+
220
+ class ResponseAudioTranscriptWsDone < OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent
221
+ OrHash =
222
+ T.type_alias do
223
+ T.any(
224
+ OpenAI::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDone,
225
+ OpenAI::Internal::AnyHash
226
+ )
227
+ end
228
+
229
+ # The WebSocket lane that emitted this event. This field is present when the
230
+ # originating `response.create` event supplied a `stream_id`.
231
+ sig { returns(T.nilable(String)) }
232
+ attr_reader :stream_id
233
+
234
+ sig { params(stream_id: String).void }
235
+ attr_writer :stream_id
236
+
237
+ # Emitted when the full audio transcript is completed.
238
+ sig do
239
+ params(
240
+ sequence_number: Integer,
241
+ type: Symbol,
242
+ stream_id: String
243
+ ).returns(T.attached_class)
244
+ end
245
+ def self.new(
246
+ # The sequence number of this event.
247
+ sequence_number:,
248
+ # The type of the event. Always `response.audio.transcript.done`.
249
+ type: :"response.audio.transcript.done",
250
+ # The WebSocket lane that emitted this event.
251
+ # This field is present when the originating response.create supplied a stream_id.
252
+ stream_id: nil
253
+ )
254
+ end
255
+
256
+ sig do
257
+ override.returns(
258
+ { sequence_number: Integer, type: Symbol, stream_id: String }
259
+ )
260
+ end
261
+ def to_hash
262
+ end
263
+ end
264
+
265
+ class ResponseCodeInterpreterCallCodeWsDelta < OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent
266
+ OrHash =
267
+ T.type_alias do
268
+ T.any(
269
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDelta,
270
+ OpenAI::Internal::AnyHash
271
+ )
272
+ end
273
+
274
+ # The WebSocket lane that emitted this event. This field is present when the
275
+ # originating `response.create` event supplied a `stream_id`.
276
+ sig { returns(T.nilable(String)) }
277
+ attr_reader :stream_id
278
+
279
+ sig { params(stream_id: String).void }
280
+ attr_writer :stream_id
281
+
282
+ # Emitted when a partial code snippet is streamed by the code interpreter.
283
+ sig do
284
+ params(
285
+ delta: String,
286
+ item_id: String,
287
+ output_index: Integer,
288
+ sequence_number: Integer,
289
+ type: Symbol,
290
+ stream_id: String
291
+ ).returns(T.attached_class)
292
+ end
293
+ def self.new(
294
+ # The partial code snippet being streamed by the code interpreter.
295
+ delta:,
296
+ # The unique identifier of the code interpreter tool call item.
297
+ item_id:,
298
+ # The index of the output item in the response for which the code is being
299
+ # streamed.
300
+ output_index:,
301
+ # The sequence number of this event, used to order streaming events.
302
+ sequence_number:,
303
+ # The type of the event. Always `response.code_interpreter_call_code.delta`.
304
+ type: :"response.code_interpreter_call_code.delta",
305
+ # The WebSocket lane that emitted this event.
306
+ # This field is present when the originating response.create supplied a stream_id.
307
+ stream_id: nil
308
+ )
309
+ end
310
+
311
+ sig do
312
+ override.returns(
313
+ {
314
+ delta: String,
315
+ item_id: String,
316
+ output_index: Integer,
317
+ sequence_number: Integer,
318
+ type: Symbol,
319
+ stream_id: String
320
+ }
321
+ )
322
+ end
323
+ def to_hash
324
+ end
325
+ end
326
+
327
+ class ResponseCodeInterpreterCallCodeWsDone < OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent
328
+ OrHash =
329
+ T.type_alias do
330
+ T.any(
331
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDone,
332
+ OpenAI::Internal::AnyHash
333
+ )
334
+ end
335
+
336
+ # The WebSocket lane that emitted this event. This field is present when the
337
+ # originating `response.create` event supplied a `stream_id`.
338
+ sig { returns(T.nilable(String)) }
339
+ attr_reader :stream_id
340
+
341
+ sig { params(stream_id: String).void }
342
+ attr_writer :stream_id
343
+
344
+ # Emitted when the code snippet is finalized by the code interpreter.
345
+ sig do
346
+ params(
347
+ code: String,
348
+ item_id: String,
349
+ output_index: Integer,
350
+ sequence_number: Integer,
351
+ type: Symbol,
352
+ stream_id: String
353
+ ).returns(T.attached_class)
354
+ end
355
+ def self.new(
356
+ # The final code snippet output by the code interpreter.
357
+ code:,
358
+ # The unique identifier of the code interpreter tool call item.
359
+ item_id:,
360
+ # The index of the output item in the response for which the code is finalized.
361
+ output_index:,
362
+ # The sequence number of this event, used to order streaming events.
363
+ sequence_number:,
364
+ # The type of the event. Always `response.code_interpreter_call_code.done`.
365
+ type: :"response.code_interpreter_call_code.done",
366
+ # The WebSocket lane that emitted this event.
367
+ # This field is present when the originating response.create supplied a stream_id.
368
+ stream_id: nil
369
+ )
370
+ end
371
+
372
+ sig do
373
+ override.returns(
374
+ {
375
+ code: String,
376
+ item_id: String,
377
+ output_index: Integer,
378
+ sequence_number: Integer,
379
+ type: Symbol,
380
+ stream_id: String
381
+ }
382
+ )
383
+ end
384
+ def to_hash
385
+ end
386
+ end
387
+
388
+ class ResponseCodeInterpreterCallWsCompleted < OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent
389
+ OrHash =
390
+ T.type_alias do
391
+ T.any(
392
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsCompleted,
393
+ OpenAI::Internal::AnyHash
394
+ )
395
+ end
396
+
397
+ # The WebSocket lane that emitted this event. This field is present when the
398
+ # originating `response.create` event supplied a `stream_id`.
399
+ sig { returns(T.nilable(String)) }
400
+ attr_reader :stream_id
401
+
402
+ sig { params(stream_id: String).void }
403
+ attr_writer :stream_id
404
+
405
+ # Emitted when the code interpreter call is completed.
406
+ sig do
407
+ params(
408
+ item_id: String,
409
+ output_index: Integer,
410
+ sequence_number: Integer,
411
+ type: Symbol,
412
+ stream_id: String
413
+ ).returns(T.attached_class)
414
+ end
415
+ def self.new(
416
+ # The unique identifier of the code interpreter tool call item.
417
+ item_id:,
418
+ # The index of the output item in the response for which the code interpreter call
419
+ # is completed.
420
+ output_index:,
421
+ # The sequence number of this event, used to order streaming events.
422
+ sequence_number:,
423
+ # The type of the event. Always `response.code_interpreter_call.completed`.
424
+ type: :"response.code_interpreter_call.completed",
425
+ # The WebSocket lane that emitted this event.
426
+ # This field is present when the originating response.create supplied a stream_id.
427
+ stream_id: nil
428
+ )
429
+ end
430
+
431
+ sig do
432
+ override.returns(
433
+ {
434
+ item_id: String,
435
+ output_index: Integer,
436
+ sequence_number: Integer,
437
+ type: Symbol,
438
+ stream_id: String
439
+ }
440
+ )
441
+ end
442
+ def to_hash
443
+ end
444
+ end
445
+
446
+ class ResponseCodeInterpreterCallInWsProgress < OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent
447
+ OrHash =
448
+ T.type_alias do
449
+ T.any(
450
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallInWsProgress,
451
+ OpenAI::Internal::AnyHash
452
+ )
453
+ end
454
+
455
+ # The WebSocket lane that emitted this event. This field is present when the
456
+ # originating `response.create` event supplied a `stream_id`.
457
+ sig { returns(T.nilable(String)) }
458
+ attr_reader :stream_id
459
+
460
+ sig { params(stream_id: String).void }
461
+ attr_writer :stream_id
462
+
463
+ # Emitted when a code interpreter call is in progress.
464
+ sig do
465
+ params(
466
+ item_id: String,
467
+ output_index: Integer,
468
+ sequence_number: Integer,
469
+ type: Symbol,
470
+ stream_id: String
471
+ ).returns(T.attached_class)
472
+ end
473
+ def self.new(
474
+ # The unique identifier of the code interpreter tool call item.
475
+ item_id:,
476
+ # The index of the output item in the response for which the code interpreter call
477
+ # is in progress.
478
+ output_index:,
479
+ # The sequence number of this event, used to order streaming events.
480
+ sequence_number:,
481
+ # The type of the event. Always `response.code_interpreter_call.in_progress`.
482
+ type: :"response.code_interpreter_call.in_progress",
483
+ # The WebSocket lane that emitted this event.
484
+ # This field is present when the originating response.create supplied a stream_id.
485
+ stream_id: nil
486
+ )
487
+ end
488
+
489
+ sig do
490
+ override.returns(
491
+ {
492
+ item_id: String,
493
+ output_index: Integer,
494
+ sequence_number: Integer,
495
+ type: Symbol,
496
+ stream_id: String
497
+ }
498
+ )
499
+ end
500
+ def to_hash
501
+ end
502
+ end
503
+
504
+ class ResponseCodeInterpreterCallWsInterpreting < OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent
505
+ OrHash =
506
+ T.type_alias do
507
+ T.any(
508
+ OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsInterpreting,
509
+ OpenAI::Internal::AnyHash
510
+ )
511
+ end
512
+
513
+ # The WebSocket lane that emitted this event. This field is present when the
514
+ # originating `response.create` event supplied a `stream_id`.
515
+ sig { returns(T.nilable(String)) }
516
+ attr_reader :stream_id
517
+
518
+ sig { params(stream_id: String).void }
519
+ attr_writer :stream_id
520
+
521
+ # Emitted when the code interpreter is actively interpreting the code snippet.
522
+ sig do
523
+ params(
524
+ item_id: String,
525
+ output_index: Integer,
526
+ sequence_number: Integer,
527
+ type: Symbol,
528
+ stream_id: String
529
+ ).returns(T.attached_class)
530
+ end
531
+ def self.new(
532
+ # The unique identifier of the code interpreter tool call item.
533
+ item_id:,
534
+ # The index of the output item in the response for which the code interpreter is
535
+ # interpreting code.
536
+ output_index:,
537
+ # The sequence number of this event, used to order streaming events.
538
+ sequence_number:,
539
+ # The type of the event. Always `response.code_interpreter_call.interpreting`.
540
+ type: :"response.code_interpreter_call.interpreting",
541
+ # The WebSocket lane that emitted this event.
542
+ # This field is present when the originating response.create supplied a stream_id.
543
+ stream_id: nil
544
+ )
545
+ end
546
+
547
+ sig do
548
+ override.returns(
549
+ {
550
+ item_id: String,
551
+ output_index: Integer,
552
+ sequence_number: Integer,
553
+ type: Symbol,
554
+ stream_id: String
555
+ }
556
+ )
557
+ end
558
+ def to_hash
559
+ end
560
+ end
561
+
562
+ class ResponseWsCompleted < OpenAI::Models::Responses::ResponseCompletedEvent
563
+ OrHash =
564
+ T.type_alias do
565
+ T.any(
566
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsCompleted,
567
+ OpenAI::Internal::AnyHash
568
+ )
569
+ end
570
+
571
+ # The WebSocket lane that emitted this event. This field is present when the
572
+ # originating `response.create` event supplied a `stream_id`.
573
+ sig { returns(T.nilable(String)) }
574
+ attr_reader :stream_id
575
+
576
+ sig { params(stream_id: String).void }
577
+ attr_writer :stream_id
578
+
579
+ # Emitted when the model response is complete.
580
+ sig do
581
+ params(
582
+ response: OpenAI::Responses::Response::OrHash,
583
+ sequence_number: Integer,
584
+ type: Symbol,
585
+ stream_id: String
586
+ ).returns(T.attached_class)
587
+ end
588
+ def self.new(
589
+ # Properties of the completed response.
590
+ response:,
591
+ # The sequence number for this event.
592
+ sequence_number:,
593
+ # The type of the event. Always `response.completed`.
594
+ type: :"response.completed",
595
+ # The WebSocket lane that emitted this event.
596
+ # This field is present when the originating response.create supplied a stream_id.
597
+ stream_id: nil
598
+ )
599
+ end
600
+
601
+ sig do
602
+ override.returns(
603
+ {
604
+ response: OpenAI::Responses::Response,
605
+ sequence_number: Integer,
606
+ type: Symbol,
607
+ stream_id: String
608
+ }
609
+ )
610
+ end
611
+ def to_hash
612
+ end
613
+ end
614
+
615
+ class ResponseContentPartWsAdded < OpenAI::Models::Responses::ResponseContentPartAddedEvent
616
+ OrHash =
617
+ T.type_alias do
618
+ T.any(
619
+ OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsAdded,
620
+ OpenAI::Internal::AnyHash
621
+ )
622
+ end
623
+
624
+ # The WebSocket lane that emitted this event. This field is present when the
625
+ # originating `response.create` event supplied a `stream_id`.
626
+ sig { returns(T.nilable(String)) }
627
+ attr_reader :stream_id
628
+
629
+ sig { params(stream_id: String).void }
630
+ attr_writer :stream_id
631
+
632
+ # Emitted when a new content part is added.
633
+ sig do
634
+ params(
635
+ content_index: Integer,
636
+ item_id: String,
637
+ output_index: Integer,
638
+ part:
639
+ T.any(
640
+ OpenAI::Responses::ResponseOutputText::OrHash,
641
+ OpenAI::Responses::ResponseOutputRefusal::OrHash,
642
+ OpenAI::Responses::ResponseContentPartAddedEvent::Part::ReasoningText::OrHash
643
+ ),
644
+ sequence_number: Integer,
645
+ type: Symbol,
646
+ stream_id: String
647
+ ).returns(T.attached_class)
648
+ end
649
+ def self.new(
650
+ # The index of the content part that was added.
651
+ content_index:,
652
+ # The ID of the output item that the content part was added to.
653
+ item_id:,
654
+ # The index of the output item that the content part was added to.
655
+ output_index:,
656
+ # The content part that was added.
657
+ part:,
658
+ # The sequence number of this event.
659
+ sequence_number:,
660
+ # The type of the event. Always `response.content_part.added`.
661
+ type: :"response.content_part.added",
662
+ # The WebSocket lane that emitted this event.
663
+ # This field is present when the originating response.create supplied a stream_id.
664
+ stream_id: nil
665
+ )
666
+ end
667
+
668
+ sig do
669
+ override.returns(
670
+ {
671
+ content_index: Integer,
672
+ item_id: String,
673
+ output_index: Integer,
674
+ part:
675
+ OpenAI::Responses::ResponseContentPartAddedEvent::Part::Variants,
676
+ sequence_number: Integer,
677
+ type: Symbol,
678
+ stream_id: String
679
+ }
680
+ )
681
+ end
682
+ def to_hash
683
+ end
684
+ end
685
+
686
+ class ResponseContentPartWsDone < OpenAI::Models::Responses::ResponseContentPartDoneEvent
687
+ OrHash =
688
+ T.type_alias do
689
+ T.any(
690
+ OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsDone,
691
+ OpenAI::Internal::AnyHash
692
+ )
693
+ end
694
+
695
+ # The WebSocket lane that emitted this event. This field is present when the
696
+ # originating `response.create` event supplied a `stream_id`.
697
+ sig { returns(T.nilable(String)) }
698
+ attr_reader :stream_id
699
+
700
+ sig { params(stream_id: String).void }
701
+ attr_writer :stream_id
702
+
703
+ # Emitted when a content part is done.
704
+ sig do
705
+ params(
706
+ content_index: Integer,
707
+ item_id: String,
708
+ output_index: Integer,
709
+ part:
710
+ T.any(
711
+ OpenAI::Responses::ResponseOutputText::OrHash,
712
+ OpenAI::Responses::ResponseOutputRefusal::OrHash,
713
+ OpenAI::Responses::ResponseContentPartDoneEvent::Part::ReasoningText::OrHash
714
+ ),
715
+ sequence_number: Integer,
716
+ type: Symbol,
717
+ stream_id: String
718
+ ).returns(T.attached_class)
719
+ end
720
+ def self.new(
721
+ # The index of the content part that is done.
722
+ content_index:,
723
+ # The ID of the output item that the content part was added to.
724
+ item_id:,
725
+ # The index of the output item that the content part was added to.
726
+ output_index:,
727
+ # The content part that is done.
728
+ part:,
729
+ # The sequence number of this event.
730
+ sequence_number:,
731
+ # The type of the event. Always `response.content_part.done`.
732
+ type: :"response.content_part.done",
733
+ # The WebSocket lane that emitted this event.
734
+ # This field is present when the originating response.create supplied a stream_id.
735
+ stream_id: nil
736
+ )
737
+ end
738
+
739
+ sig do
740
+ override.returns(
741
+ {
742
+ content_index: Integer,
743
+ item_id: String,
744
+ output_index: Integer,
745
+ part:
746
+ OpenAI::Responses::ResponseContentPartDoneEvent::Part::Variants,
747
+ sequence_number: Integer,
748
+ type: Symbol,
749
+ stream_id: String
750
+ }
751
+ )
752
+ end
753
+ def to_hash
754
+ end
755
+ end
756
+
757
+ class ResponseWsCreated < OpenAI::Models::Responses::ResponseCreatedEvent
758
+ OrHash =
759
+ T.type_alias do
760
+ T.any(
761
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsCreated,
762
+ OpenAI::Internal::AnyHash
763
+ )
764
+ end
765
+
766
+ # The WebSocket lane that emitted this event. This field is present when the
767
+ # originating `response.create` event supplied a `stream_id`.
768
+ sig { returns(T.nilable(String)) }
769
+ attr_reader :stream_id
770
+
771
+ sig { params(stream_id: String).void }
772
+ attr_writer :stream_id
773
+
774
+ # An event that is emitted when a response is created.
775
+ sig do
776
+ params(
777
+ response: OpenAI::Responses::Response::OrHash,
778
+ sequence_number: Integer,
779
+ type: Symbol,
780
+ stream_id: String
781
+ ).returns(T.attached_class)
782
+ end
783
+ def self.new(
784
+ # The response that was created.
785
+ response:,
786
+ # The sequence number for this event.
787
+ sequence_number:,
788
+ # The type of the event. Always `response.created`.
789
+ type: :"response.created",
790
+ # The WebSocket lane that emitted this event.
791
+ # This field is present when the originating response.create supplied a stream_id.
792
+ stream_id: nil
793
+ )
794
+ end
795
+
796
+ sig do
797
+ override.returns(
798
+ {
799
+ response: OpenAI::Responses::Response,
800
+ sequence_number: Integer,
801
+ type: Symbol,
802
+ stream_id: String
803
+ }
804
+ )
805
+ end
806
+ def to_hash
807
+ end
808
+ end
809
+
810
+ class ResponseWsError < OpenAI::Models::Responses::ResponseErrorEvent
811
+ OrHash =
812
+ T.type_alias do
813
+ T.any(
814
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsError,
815
+ OpenAI::Internal::AnyHash
816
+ )
817
+ end
818
+
819
+ # The WebSocket lane that emitted this event. This field is present when the
820
+ # originating `response.create` event supplied a `stream_id`.
821
+ sig { returns(T.nilable(String)) }
822
+ attr_reader :stream_id
823
+
824
+ sig { params(stream_id: String).void }
825
+ attr_writer :stream_id
826
+
827
+ # Emitted when an error occurs.
828
+ sig do
829
+ params(
830
+ code: T.nilable(String),
831
+ message: String,
832
+ param: T.nilable(String),
833
+ sequence_number: Integer,
834
+ type: Symbol,
835
+ stream_id: String
836
+ ).returns(T.attached_class)
837
+ end
838
+ def self.new(
839
+ # The error code.
840
+ code:,
841
+ # The error message.
842
+ message:,
843
+ # The error parameter.
844
+ param:,
845
+ # The sequence number of this event.
846
+ sequence_number:,
847
+ # The type of the event. Always `error`.
848
+ type: :error,
849
+ # The WebSocket lane that emitted this event.
850
+ # This field is present when the originating response.create supplied a stream_id.
851
+ stream_id: nil
852
+ )
853
+ end
854
+
855
+ sig do
856
+ override.returns(
857
+ {
858
+ code: T.nilable(String),
859
+ message: String,
860
+ param: T.nilable(String),
861
+ sequence_number: Integer,
862
+ type: Symbol,
863
+ stream_id: String
864
+ }
865
+ )
866
+ end
867
+ def to_hash
868
+ end
869
+ end
870
+
871
+ class ResponseFileSearchCallWsCompleted < OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent
872
+ OrHash =
873
+ T.type_alias do
874
+ T.any(
875
+ OpenAI::Responses::ResponsesServerEvent::ResponseFileSearchCallWsCompleted,
876
+ OpenAI::Internal::AnyHash
877
+ )
878
+ end
879
+
880
+ # The WebSocket lane that emitted this event. This field is present when the
881
+ # originating `response.create` event supplied a `stream_id`.
882
+ sig { returns(T.nilable(String)) }
883
+ attr_reader :stream_id
884
+
885
+ sig { params(stream_id: String).void }
886
+ attr_writer :stream_id
887
+
888
+ # Emitted when a file search call is completed (results found).
889
+ sig do
890
+ params(
891
+ item_id: String,
892
+ output_index: Integer,
893
+ sequence_number: Integer,
894
+ type: Symbol,
895
+ stream_id: String
896
+ ).returns(T.attached_class)
897
+ end
898
+ def self.new(
899
+ # The ID of the output item that the file search call is initiated.
900
+ item_id:,
901
+ # The index of the output item that the file search call is initiated.
902
+ output_index:,
903
+ # The sequence number of this event.
904
+ sequence_number:,
905
+ # The type of the event. Always `response.file_search_call.completed`.
906
+ type: :"response.file_search_call.completed",
907
+ # The WebSocket lane that emitted this event.
908
+ # This field is present when the originating response.create supplied a stream_id.
909
+ stream_id: nil
910
+ )
911
+ end
912
+
913
+ sig do
914
+ override.returns(
915
+ {
916
+ item_id: String,
917
+ output_index: Integer,
918
+ sequence_number: Integer,
919
+ type: Symbol,
920
+ stream_id: String
921
+ }
922
+ )
923
+ end
924
+ def to_hash
925
+ end
926
+ end
927
+
928
+ class ResponseFileSearchCallInWsProgress < OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent
929
+ OrHash =
930
+ T.type_alias do
931
+ T.any(
932
+ OpenAI::Responses::ResponsesServerEvent::ResponseFileSearchCallInWsProgress,
933
+ OpenAI::Internal::AnyHash
934
+ )
935
+ end
936
+
937
+ # The WebSocket lane that emitted this event. This field is present when the
938
+ # originating `response.create` event supplied a `stream_id`.
939
+ sig { returns(T.nilable(String)) }
940
+ attr_reader :stream_id
941
+
942
+ sig { params(stream_id: String).void }
943
+ attr_writer :stream_id
944
+
945
+ # Emitted when a file search call is initiated.
946
+ sig do
947
+ params(
948
+ item_id: String,
949
+ output_index: Integer,
950
+ sequence_number: Integer,
951
+ type: Symbol,
952
+ stream_id: String
953
+ ).returns(T.attached_class)
954
+ end
955
+ def self.new(
956
+ # The ID of the output item that the file search call is initiated.
957
+ item_id:,
958
+ # The index of the output item that the file search call is initiated.
959
+ output_index:,
960
+ # The sequence number of this event.
961
+ sequence_number:,
962
+ # The type of the event. Always `response.file_search_call.in_progress`.
963
+ type: :"response.file_search_call.in_progress",
964
+ # The WebSocket lane that emitted this event.
965
+ # This field is present when the originating response.create supplied a stream_id.
966
+ stream_id: nil
967
+ )
968
+ end
969
+
970
+ sig do
971
+ override.returns(
972
+ {
973
+ item_id: String,
974
+ output_index: Integer,
975
+ sequence_number: Integer,
976
+ type: Symbol,
977
+ stream_id: String
978
+ }
979
+ )
980
+ end
981
+ def to_hash
982
+ end
983
+ end
984
+
985
+ class ResponseFileSearchCallWsSearching < OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent
986
+ OrHash =
987
+ T.type_alias do
988
+ T.any(
989
+ OpenAI::Responses::ResponsesServerEvent::ResponseFileSearchCallWsSearching,
990
+ OpenAI::Internal::AnyHash
991
+ )
992
+ end
993
+
994
+ # The WebSocket lane that emitted this event. This field is present when the
995
+ # originating `response.create` event supplied a `stream_id`.
996
+ sig { returns(T.nilable(String)) }
997
+ attr_reader :stream_id
998
+
999
+ sig { params(stream_id: String).void }
1000
+ attr_writer :stream_id
1001
+
1002
+ # Emitted when a file search is currently searching.
1003
+ sig do
1004
+ params(
1005
+ item_id: String,
1006
+ output_index: Integer,
1007
+ sequence_number: Integer,
1008
+ type: Symbol,
1009
+ stream_id: String
1010
+ ).returns(T.attached_class)
1011
+ end
1012
+ def self.new(
1013
+ # The ID of the output item that the file search call is initiated.
1014
+ item_id:,
1015
+ # The index of the output item that the file search call is searching.
1016
+ output_index:,
1017
+ # The sequence number of this event.
1018
+ sequence_number:,
1019
+ # The type of the event. Always `response.file_search_call.searching`.
1020
+ type: :"response.file_search_call.searching",
1021
+ # The WebSocket lane that emitted this event.
1022
+ # This field is present when the originating response.create supplied a stream_id.
1023
+ stream_id: nil
1024
+ )
1025
+ end
1026
+
1027
+ sig do
1028
+ override.returns(
1029
+ {
1030
+ item_id: String,
1031
+ output_index: Integer,
1032
+ sequence_number: Integer,
1033
+ type: Symbol,
1034
+ stream_id: String
1035
+ }
1036
+ )
1037
+ end
1038
+ def to_hash
1039
+ end
1040
+ end
1041
+
1042
+ class ResponseFunctionCallArgumentsWsDelta < OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent
1043
+ OrHash =
1044
+ T.type_alias do
1045
+ T.any(
1046
+ OpenAI::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDelta,
1047
+ OpenAI::Internal::AnyHash
1048
+ )
1049
+ end
1050
+
1051
+ # The WebSocket lane that emitted this event. This field is present when the
1052
+ # originating `response.create` event supplied a `stream_id`.
1053
+ sig { returns(T.nilable(String)) }
1054
+ attr_reader :stream_id
1055
+
1056
+ sig { params(stream_id: String).void }
1057
+ attr_writer :stream_id
1058
+
1059
+ # Emitted when there is a partial function-call arguments delta.
1060
+ sig do
1061
+ params(
1062
+ delta: String,
1063
+ item_id: String,
1064
+ output_index: Integer,
1065
+ sequence_number: Integer,
1066
+ type: Symbol,
1067
+ stream_id: String
1068
+ ).returns(T.attached_class)
1069
+ end
1070
+ def self.new(
1071
+ # The function-call arguments delta that is added.
1072
+ delta:,
1073
+ # The ID of the output item that the function-call arguments delta is added to.
1074
+ item_id:,
1075
+ # The index of the output item that the function-call arguments delta is added to.
1076
+ output_index:,
1077
+ # The sequence number of this event.
1078
+ sequence_number:,
1079
+ # The type of the event. Always `response.function_call_arguments.delta`.
1080
+ type: :"response.function_call_arguments.delta",
1081
+ # The WebSocket lane that emitted this event.
1082
+ # This field is present when the originating response.create supplied a stream_id.
1083
+ stream_id: nil
1084
+ )
1085
+ end
1086
+
1087
+ sig do
1088
+ override.returns(
1089
+ {
1090
+ delta: String,
1091
+ item_id: String,
1092
+ output_index: Integer,
1093
+ sequence_number: Integer,
1094
+ type: Symbol,
1095
+ stream_id: String
1096
+ }
1097
+ )
1098
+ end
1099
+ def to_hash
1100
+ end
1101
+ end
1102
+
1103
+ class ResponseFunctionCallArgumentsWsDone < OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent
1104
+ OrHash =
1105
+ T.type_alias do
1106
+ T.any(
1107
+ OpenAI::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDone,
1108
+ OpenAI::Internal::AnyHash
1109
+ )
1110
+ end
1111
+
1112
+ # The WebSocket lane that emitted this event. This field is present when the
1113
+ # originating `response.create` event supplied a `stream_id`.
1114
+ sig { returns(T.nilable(String)) }
1115
+ attr_reader :stream_id
1116
+
1117
+ sig { params(stream_id: String).void }
1118
+ attr_writer :stream_id
1119
+
1120
+ # Emitted when function-call arguments are finalized.
1121
+ sig do
1122
+ params(
1123
+ arguments: String,
1124
+ item_id: String,
1125
+ name: String,
1126
+ output_index: Integer,
1127
+ sequence_number: Integer,
1128
+ type: Symbol,
1129
+ stream_id: String
1130
+ ).returns(T.attached_class)
1131
+ end
1132
+ def self.new(
1133
+ # The function-call arguments.
1134
+ arguments:,
1135
+ # The ID of the item.
1136
+ item_id:,
1137
+ # The name of the function that was called.
1138
+ name:,
1139
+ # The index of the output item.
1140
+ output_index:,
1141
+ # The sequence number of this event.
1142
+ sequence_number:,
1143
+ type: :"response.function_call_arguments.done",
1144
+ # The WebSocket lane that emitted this event.
1145
+ # This field is present when the originating response.create supplied a stream_id.
1146
+ stream_id: nil
1147
+ )
1148
+ end
1149
+
1150
+ sig do
1151
+ override.returns(
1152
+ {
1153
+ arguments: String,
1154
+ item_id: String,
1155
+ name: String,
1156
+ output_index: Integer,
1157
+ sequence_number: Integer,
1158
+ type: Symbol,
1159
+ stream_id: String
1160
+ }
1161
+ )
1162
+ end
1163
+ def to_hash
1164
+ end
1165
+ end
1166
+
1167
+ class ResponseInWsProgress < OpenAI::Models::Responses::ResponseInProgressEvent
1168
+ OrHash =
1169
+ T.type_alias do
1170
+ T.any(
1171
+ OpenAI::Responses::ResponsesServerEvent::ResponseInWsProgress,
1172
+ OpenAI::Internal::AnyHash
1173
+ )
1174
+ end
1175
+
1176
+ # The WebSocket lane that emitted this event. This field is present when the
1177
+ # originating `response.create` event supplied a `stream_id`.
1178
+ sig { returns(T.nilable(String)) }
1179
+ attr_reader :stream_id
1180
+
1181
+ sig { params(stream_id: String).void }
1182
+ attr_writer :stream_id
1183
+
1184
+ # Emitted when the response is in progress.
1185
+ sig do
1186
+ params(
1187
+ response: OpenAI::Responses::Response::OrHash,
1188
+ sequence_number: Integer,
1189
+ type: Symbol,
1190
+ stream_id: String
1191
+ ).returns(T.attached_class)
1192
+ end
1193
+ def self.new(
1194
+ # The response that is in progress.
1195
+ response:,
1196
+ # The sequence number of this event.
1197
+ sequence_number:,
1198
+ # The type of the event. Always `response.in_progress`.
1199
+ type: :"response.in_progress",
1200
+ # The WebSocket lane that emitted this event.
1201
+ # This field is present when the originating response.create supplied a stream_id.
1202
+ stream_id: nil
1203
+ )
1204
+ end
1205
+
1206
+ sig do
1207
+ override.returns(
1208
+ {
1209
+ response: OpenAI::Responses::Response,
1210
+ sequence_number: Integer,
1211
+ type: Symbol,
1212
+ stream_id: String
1213
+ }
1214
+ )
1215
+ end
1216
+ def to_hash
1217
+ end
1218
+ end
1219
+
1220
+ class ResponseWsFailed < OpenAI::Models::Responses::ResponseFailedEvent
1221
+ OrHash =
1222
+ T.type_alias do
1223
+ T.any(
1224
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsFailed,
1225
+ OpenAI::Internal::AnyHash
1226
+ )
1227
+ end
1228
+
1229
+ # The WebSocket lane that emitted this event. This field is present when the
1230
+ # originating `response.create` event supplied a `stream_id`.
1231
+ sig { returns(T.nilable(String)) }
1232
+ attr_reader :stream_id
1233
+
1234
+ sig { params(stream_id: String).void }
1235
+ attr_writer :stream_id
1236
+
1237
+ # An event that is emitted when a response fails.
1238
+ sig do
1239
+ params(
1240
+ response: OpenAI::Responses::Response::OrHash,
1241
+ sequence_number: Integer,
1242
+ type: Symbol,
1243
+ stream_id: String
1244
+ ).returns(T.attached_class)
1245
+ end
1246
+ def self.new(
1247
+ # The response that failed.
1248
+ response:,
1249
+ # The sequence number of this event.
1250
+ sequence_number:,
1251
+ # The type of the event. Always `response.failed`.
1252
+ type: :"response.failed",
1253
+ # The WebSocket lane that emitted this event.
1254
+ # This field is present when the originating response.create supplied a stream_id.
1255
+ stream_id: nil
1256
+ )
1257
+ end
1258
+
1259
+ sig do
1260
+ override.returns(
1261
+ {
1262
+ response: OpenAI::Responses::Response,
1263
+ sequence_number: Integer,
1264
+ type: Symbol,
1265
+ stream_id: String
1266
+ }
1267
+ )
1268
+ end
1269
+ def to_hash
1270
+ end
1271
+ end
1272
+
1273
+ class ResponseWsIncomplete < OpenAI::Models::Responses::ResponseIncompleteEvent
1274
+ OrHash =
1275
+ T.type_alias do
1276
+ T.any(
1277
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsIncomplete,
1278
+ OpenAI::Internal::AnyHash
1279
+ )
1280
+ end
1281
+
1282
+ # The WebSocket lane that emitted this event. This field is present when the
1283
+ # originating `response.create` event supplied a `stream_id`.
1284
+ sig { returns(T.nilable(String)) }
1285
+ attr_reader :stream_id
1286
+
1287
+ sig { params(stream_id: String).void }
1288
+ attr_writer :stream_id
1289
+
1290
+ # An event that is emitted when a response finishes as incomplete.
1291
+ sig do
1292
+ params(
1293
+ response: OpenAI::Responses::Response::OrHash,
1294
+ sequence_number: Integer,
1295
+ type: Symbol,
1296
+ stream_id: String
1297
+ ).returns(T.attached_class)
1298
+ end
1299
+ def self.new(
1300
+ # The response that was incomplete.
1301
+ response:,
1302
+ # The sequence number of this event.
1303
+ sequence_number:,
1304
+ # The type of the event. Always `response.incomplete`.
1305
+ type: :"response.incomplete",
1306
+ # The WebSocket lane that emitted this event.
1307
+ # This field is present when the originating response.create supplied a stream_id.
1308
+ stream_id: nil
1309
+ )
1310
+ end
1311
+
1312
+ sig do
1313
+ override.returns(
1314
+ {
1315
+ response: OpenAI::Responses::Response,
1316
+ sequence_number: Integer,
1317
+ type: Symbol,
1318
+ stream_id: String
1319
+ }
1320
+ )
1321
+ end
1322
+ def to_hash
1323
+ end
1324
+ end
1325
+
1326
+ class ResponseOutputItemWsAdded < OpenAI::Models::Responses::ResponseOutputItemAddedEvent
1327
+ OrHash =
1328
+ T.type_alias do
1329
+ T.any(
1330
+ OpenAI::Responses::ResponsesServerEvent::ResponseOutputItemWsAdded,
1331
+ OpenAI::Internal::AnyHash
1332
+ )
1333
+ end
1334
+
1335
+ # The WebSocket lane that emitted this event. This field is present when the
1336
+ # originating `response.create` event supplied a `stream_id`.
1337
+ sig { returns(T.nilable(String)) }
1338
+ attr_reader :stream_id
1339
+
1340
+ sig { params(stream_id: String).void }
1341
+ attr_writer :stream_id
1342
+
1343
+ # Emitted when a new output item is added.
1344
+ sig do
1345
+ params(
1346
+ item:
1347
+ T.any(
1348
+ OpenAI::Responses::ResponseOutputMessage::OrHash,
1349
+ OpenAI::Responses::ResponseFileSearchToolCall::OrHash,
1350
+ OpenAI::Responses::ResponseFunctionToolCall::OrHash,
1351
+ OpenAI::Responses::ResponseFunctionToolCallOutputItem::OrHash,
1352
+ OpenAI::Responses::ResponseFunctionWebSearch::OrHash,
1353
+ OpenAI::Responses::ResponseComputerToolCall::OrHash,
1354
+ OpenAI::Responses::ResponseComputerToolCallOutputItem::OrHash,
1355
+ OpenAI::Responses::ResponseReasoningItem::OrHash,
1356
+ OpenAI::Responses::ResponseOutputItem::Program::OrHash,
1357
+ OpenAI::Responses::ResponseOutputItem::ProgramOutput::OrHash,
1358
+ OpenAI::Responses::ResponseToolSearchCall::OrHash,
1359
+ OpenAI::Responses::ResponseToolSearchOutputItem::OrHash,
1360
+ OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash,
1361
+ OpenAI::Responses::ResponseCompactionItem::OrHash,
1362
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash,
1363
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
1364
+ OpenAI::Responses::ResponseOutputItem::LocalShellCall::OrHash,
1365
+ OpenAI::Responses::ResponseOutputItem::LocalShellCallOutput::OrHash,
1366
+ OpenAI::Responses::ResponseFunctionShellToolCall::OrHash,
1367
+ OpenAI::Responses::ResponseFunctionShellToolCallOutput::OrHash,
1368
+ OpenAI::Responses::ResponseApplyPatchToolCall::OrHash,
1369
+ OpenAI::Responses::ResponseApplyPatchToolCallOutput::OrHash,
1370
+ OpenAI::Responses::ResponseOutputItem::McpCall::OrHash,
1371
+ OpenAI::Responses::ResponseOutputItem::McpListTools::OrHash,
1372
+ OpenAI::Responses::ResponseOutputItem::McpApprovalRequest::OrHash,
1373
+ OpenAI::Responses::ResponseOutputItem::McpApprovalResponse::OrHash,
1374
+ OpenAI::Responses::ResponseCustomToolCall::OrHash,
1375
+ OpenAI::Responses::ResponseCustomToolCallOutputItem::OrHash
1376
+ ),
1377
+ output_index: Integer,
1378
+ sequence_number: Integer,
1379
+ type: Symbol,
1380
+ stream_id: String
1381
+ ).returns(T.attached_class)
1382
+ end
1383
+ def self.new(
1384
+ # The output item that was added.
1385
+ item:,
1386
+ # The index of the output item that was added.
1387
+ output_index:,
1388
+ # The sequence number of this event.
1389
+ sequence_number:,
1390
+ # The type of the event. Always `response.output_item.added`.
1391
+ type: :"response.output_item.added",
1392
+ # The WebSocket lane that emitted this event.
1393
+ # This field is present when the originating response.create supplied a stream_id.
1394
+ stream_id: nil
1395
+ )
1396
+ end
1397
+
1398
+ sig do
1399
+ override.returns(
1400
+ {
1401
+ item: OpenAI::Responses::ResponseOutputItem::Variants,
1402
+ output_index: Integer,
1403
+ sequence_number: Integer,
1404
+ type: Symbol,
1405
+ stream_id: String
1406
+ }
1407
+ )
1408
+ end
1409
+ def to_hash
1410
+ end
1411
+ end
1412
+
1413
+ class ResponseOutputItemWsDone < OpenAI::Models::Responses::ResponseOutputItemDoneEvent
1414
+ OrHash =
1415
+ T.type_alias do
1416
+ T.any(
1417
+ OpenAI::Responses::ResponsesServerEvent::ResponseOutputItemWsDone,
1418
+ OpenAI::Internal::AnyHash
1419
+ )
1420
+ end
1421
+
1422
+ # The WebSocket lane that emitted this event. This field is present when the
1423
+ # originating `response.create` event supplied a `stream_id`.
1424
+ sig { returns(T.nilable(String)) }
1425
+ attr_reader :stream_id
1426
+
1427
+ sig { params(stream_id: String).void }
1428
+ attr_writer :stream_id
1429
+
1430
+ # Emitted when an output item is marked done.
1431
+ sig do
1432
+ params(
1433
+ item:
1434
+ T.any(
1435
+ OpenAI::Responses::ResponseOutputMessage::OrHash,
1436
+ OpenAI::Responses::ResponseFileSearchToolCall::OrHash,
1437
+ OpenAI::Responses::ResponseFunctionToolCall::OrHash,
1438
+ OpenAI::Responses::ResponseFunctionToolCallOutputItem::OrHash,
1439
+ OpenAI::Responses::ResponseFunctionWebSearch::OrHash,
1440
+ OpenAI::Responses::ResponseComputerToolCall::OrHash,
1441
+ OpenAI::Responses::ResponseComputerToolCallOutputItem::OrHash,
1442
+ OpenAI::Responses::ResponseReasoningItem::OrHash,
1443
+ OpenAI::Responses::ResponseOutputItem::Program::OrHash,
1444
+ OpenAI::Responses::ResponseOutputItem::ProgramOutput::OrHash,
1445
+ OpenAI::Responses::ResponseToolSearchCall::OrHash,
1446
+ OpenAI::Responses::ResponseToolSearchOutputItem::OrHash,
1447
+ OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash,
1448
+ OpenAI::Responses::ResponseCompactionItem::OrHash,
1449
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash,
1450
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
1451
+ OpenAI::Responses::ResponseOutputItem::LocalShellCall::OrHash,
1452
+ OpenAI::Responses::ResponseOutputItem::LocalShellCallOutput::OrHash,
1453
+ OpenAI::Responses::ResponseFunctionShellToolCall::OrHash,
1454
+ OpenAI::Responses::ResponseFunctionShellToolCallOutput::OrHash,
1455
+ OpenAI::Responses::ResponseApplyPatchToolCall::OrHash,
1456
+ OpenAI::Responses::ResponseApplyPatchToolCallOutput::OrHash,
1457
+ OpenAI::Responses::ResponseOutputItem::McpCall::OrHash,
1458
+ OpenAI::Responses::ResponseOutputItem::McpListTools::OrHash,
1459
+ OpenAI::Responses::ResponseOutputItem::McpApprovalRequest::OrHash,
1460
+ OpenAI::Responses::ResponseOutputItem::McpApprovalResponse::OrHash,
1461
+ OpenAI::Responses::ResponseCustomToolCall::OrHash,
1462
+ OpenAI::Responses::ResponseCustomToolCallOutputItem::OrHash
1463
+ ),
1464
+ output_index: Integer,
1465
+ sequence_number: Integer,
1466
+ type: Symbol,
1467
+ stream_id: String
1468
+ ).returns(T.attached_class)
1469
+ end
1470
+ def self.new(
1471
+ # The output item that was marked done.
1472
+ item:,
1473
+ # The index of the output item that was marked done.
1474
+ output_index:,
1475
+ # The sequence number of this event.
1476
+ sequence_number:,
1477
+ # The type of the event. Always `response.output_item.done`.
1478
+ type: :"response.output_item.done",
1479
+ # The WebSocket lane that emitted this event.
1480
+ # This field is present when the originating response.create supplied a stream_id.
1481
+ stream_id: nil
1482
+ )
1483
+ end
1484
+
1485
+ sig do
1486
+ override.returns(
1487
+ {
1488
+ item: OpenAI::Responses::ResponseOutputItem::Variants,
1489
+ output_index: Integer,
1490
+ sequence_number: Integer,
1491
+ type: Symbol,
1492
+ stream_id: String
1493
+ }
1494
+ )
1495
+ end
1496
+ def to_hash
1497
+ end
1498
+ end
1499
+
1500
+ class ResponseReasoningSummaryPartWsAdded < OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent
1501
+ OrHash =
1502
+ T.type_alias do
1503
+ T.any(
1504
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsAdded,
1505
+ OpenAI::Internal::AnyHash
1506
+ )
1507
+ end
1508
+
1509
+ # The WebSocket lane that emitted this event. This field is present when the
1510
+ # originating `response.create` event supplied a `stream_id`.
1511
+ sig { returns(T.nilable(String)) }
1512
+ attr_reader :stream_id
1513
+
1514
+ sig { params(stream_id: String).void }
1515
+ attr_writer :stream_id
1516
+
1517
+ # Emitted when a new reasoning summary part is added.
1518
+ sig do
1519
+ params(
1520
+ item_id: String,
1521
+ output_index: Integer,
1522
+ part:
1523
+ OpenAI::Responses::ResponseReasoningSummaryPartAddedEvent::Part::OrHash,
1524
+ sequence_number: Integer,
1525
+ summary_index: Integer,
1526
+ type: Symbol,
1527
+ stream_id: String
1528
+ ).returns(T.attached_class)
1529
+ end
1530
+ def self.new(
1531
+ # The ID of the item this summary part is associated with.
1532
+ item_id:,
1533
+ # The index of the output item this summary part is associated with.
1534
+ output_index:,
1535
+ # The summary part that was added.
1536
+ part:,
1537
+ # The sequence number of this event.
1538
+ sequence_number:,
1539
+ # The index of the summary part within the reasoning summary.
1540
+ summary_index:,
1541
+ # The type of the event. Always `response.reasoning_summary_part.added`.
1542
+ type: :"response.reasoning_summary_part.added",
1543
+ # The WebSocket lane that emitted this event.
1544
+ # This field is present when the originating response.create supplied a stream_id.
1545
+ stream_id: nil
1546
+ )
1547
+ end
1548
+
1549
+ sig do
1550
+ override.returns(
1551
+ {
1552
+ item_id: String,
1553
+ output_index: Integer,
1554
+ part:
1555
+ OpenAI::Responses::ResponseReasoningSummaryPartAddedEvent::Part,
1556
+ sequence_number: Integer,
1557
+ summary_index: Integer,
1558
+ type: Symbol,
1559
+ stream_id: String
1560
+ }
1561
+ )
1562
+ end
1563
+ def to_hash
1564
+ end
1565
+ end
1566
+
1567
+ class ResponseReasoningSummaryPartWsDone < OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent
1568
+ OrHash =
1569
+ T.type_alias do
1570
+ T.any(
1571
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsDone,
1572
+ OpenAI::Internal::AnyHash
1573
+ )
1574
+ end
1575
+
1576
+ # The WebSocket lane that emitted this event. This field is present when the
1577
+ # originating `response.create` event supplied a `stream_id`.
1578
+ sig { returns(T.nilable(String)) }
1579
+ attr_reader :stream_id
1580
+
1581
+ sig { params(stream_id: String).void }
1582
+ attr_writer :stream_id
1583
+
1584
+ # Emitted when a reasoning summary part is completed.
1585
+ sig do
1586
+ params(
1587
+ item_id: String,
1588
+ output_index: Integer,
1589
+ part:
1590
+ OpenAI::Responses::ResponseReasoningSummaryPartDoneEvent::Part::OrHash,
1591
+ sequence_number: Integer,
1592
+ summary_index: Integer,
1593
+ status:
1594
+ OpenAI::Responses::ResponseReasoningSummaryPartDoneEvent::Status::OrSymbol,
1595
+ type: Symbol,
1596
+ stream_id: String
1597
+ ).returns(T.attached_class)
1598
+ end
1599
+ def self.new(
1600
+ # The ID of the item this summary part is associated with.
1601
+ item_id:,
1602
+ # The index of the output item this summary part is associated with.
1603
+ output_index:,
1604
+ # The completed summary part.
1605
+ part:,
1606
+ # The sequence number of this event.
1607
+ sequence_number:,
1608
+ # The index of the summary part within the reasoning summary.
1609
+ summary_index:,
1610
+ # The completion status of the summary part. Omitted when the part completed
1611
+ # normally and set to `incomplete` when generation was interrupted.
1612
+ status: nil,
1613
+ # The type of the event. Always `response.reasoning_summary_part.done`.
1614
+ type: :"response.reasoning_summary_part.done",
1615
+ # The WebSocket lane that emitted this event.
1616
+ # This field is present when the originating response.create supplied a stream_id.
1617
+ stream_id: nil
1618
+ )
1619
+ end
1620
+
1621
+ sig do
1622
+ override.returns(
1623
+ {
1624
+ item_id: String,
1625
+ output_index: Integer,
1626
+ part:
1627
+ OpenAI::Responses::ResponseReasoningSummaryPartDoneEvent::Part,
1628
+ sequence_number: Integer,
1629
+ summary_index: Integer,
1630
+ type: Symbol,
1631
+ status:
1632
+ OpenAI::Responses::ResponseReasoningSummaryPartDoneEvent::Status::TaggedSymbol,
1633
+ stream_id: String
1634
+ }
1635
+ )
1636
+ end
1637
+ def to_hash
1638
+ end
1639
+ end
1640
+
1641
+ class ResponseReasoningSummaryTextWsDelta < OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent
1642
+ OrHash =
1643
+ T.type_alias do
1644
+ T.any(
1645
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDelta,
1646
+ OpenAI::Internal::AnyHash
1647
+ )
1648
+ end
1649
+
1650
+ # The WebSocket lane that emitted this event. This field is present when the
1651
+ # originating `response.create` event supplied a `stream_id`.
1652
+ sig { returns(T.nilable(String)) }
1653
+ attr_reader :stream_id
1654
+
1655
+ sig { params(stream_id: String).void }
1656
+ attr_writer :stream_id
1657
+
1658
+ # Emitted when a delta is added to a reasoning summary text.
1659
+ sig do
1660
+ params(
1661
+ delta: String,
1662
+ item_id: String,
1663
+ output_index: Integer,
1664
+ sequence_number: Integer,
1665
+ summary_index: Integer,
1666
+ type: Symbol,
1667
+ stream_id: String
1668
+ ).returns(T.attached_class)
1669
+ end
1670
+ def self.new(
1671
+ # The text delta that was added to the summary.
1672
+ delta:,
1673
+ # The ID of the item this summary text delta is associated with.
1674
+ item_id:,
1675
+ # The index of the output item this summary text delta is associated with.
1676
+ output_index:,
1677
+ # The sequence number of this event.
1678
+ sequence_number:,
1679
+ # The index of the summary part within the reasoning summary.
1680
+ summary_index:,
1681
+ # The type of the event. Always `response.reasoning_summary_text.delta`.
1682
+ type: :"response.reasoning_summary_text.delta",
1683
+ # The WebSocket lane that emitted this event.
1684
+ # This field is present when the originating response.create supplied a stream_id.
1685
+ stream_id: nil
1686
+ )
1687
+ end
1688
+
1689
+ sig do
1690
+ override.returns(
1691
+ {
1692
+ delta: String,
1693
+ item_id: String,
1694
+ output_index: Integer,
1695
+ sequence_number: Integer,
1696
+ summary_index: Integer,
1697
+ type: Symbol,
1698
+ stream_id: String
1699
+ }
1700
+ )
1701
+ end
1702
+ def to_hash
1703
+ end
1704
+ end
1705
+
1706
+ class ResponseReasoningSummaryTextWsDone < OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent
1707
+ OrHash =
1708
+ T.type_alias do
1709
+ T.any(
1710
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDone,
1711
+ OpenAI::Internal::AnyHash
1712
+ )
1713
+ end
1714
+
1715
+ # The WebSocket lane that emitted this event. This field is present when the
1716
+ # originating `response.create` event supplied a `stream_id`.
1717
+ sig { returns(T.nilable(String)) }
1718
+ attr_reader :stream_id
1719
+
1720
+ sig { params(stream_id: String).void }
1721
+ attr_writer :stream_id
1722
+
1723
+ # Emitted when a reasoning summary text is completed.
1724
+ sig do
1725
+ params(
1726
+ item_id: String,
1727
+ output_index: Integer,
1728
+ sequence_number: Integer,
1729
+ summary_index: Integer,
1730
+ text: String,
1731
+ type: Symbol,
1732
+ stream_id: String
1733
+ ).returns(T.attached_class)
1734
+ end
1735
+ def self.new(
1736
+ # The ID of the item this summary text is associated with.
1737
+ item_id:,
1738
+ # The index of the output item this summary text is associated with.
1739
+ output_index:,
1740
+ # The sequence number of this event.
1741
+ sequence_number:,
1742
+ # The index of the summary part within the reasoning summary.
1743
+ summary_index:,
1744
+ # The full text of the completed reasoning summary.
1745
+ text:,
1746
+ # The type of the event. Always `response.reasoning_summary_text.done`.
1747
+ type: :"response.reasoning_summary_text.done",
1748
+ # The WebSocket lane that emitted this event.
1749
+ # This field is present when the originating response.create supplied a stream_id.
1750
+ stream_id: nil
1751
+ )
1752
+ end
1753
+
1754
+ sig do
1755
+ override.returns(
1756
+ {
1757
+ item_id: String,
1758
+ output_index: Integer,
1759
+ sequence_number: Integer,
1760
+ summary_index: Integer,
1761
+ text: String,
1762
+ type: Symbol,
1763
+ stream_id: String
1764
+ }
1765
+ )
1766
+ end
1767
+ def to_hash
1768
+ end
1769
+ end
1770
+
1771
+ class ResponseReasoningTextWsDelta < OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent
1772
+ OrHash =
1773
+ T.type_alias do
1774
+ T.any(
1775
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningTextWsDelta,
1776
+ OpenAI::Internal::AnyHash
1777
+ )
1778
+ end
1779
+
1780
+ # The WebSocket lane that emitted this event. This field is present when the
1781
+ # originating `response.create` event supplied a `stream_id`.
1782
+ sig { returns(T.nilable(String)) }
1783
+ attr_reader :stream_id
1784
+
1785
+ sig { params(stream_id: String).void }
1786
+ attr_writer :stream_id
1787
+
1788
+ # Emitted when a delta is added to a reasoning text.
1789
+ sig do
1790
+ params(
1791
+ content_index: Integer,
1792
+ delta: String,
1793
+ item_id: String,
1794
+ output_index: Integer,
1795
+ sequence_number: Integer,
1796
+ type: Symbol,
1797
+ stream_id: String
1798
+ ).returns(T.attached_class)
1799
+ end
1800
+ def self.new(
1801
+ # The index of the reasoning content part this delta is associated with.
1802
+ content_index:,
1803
+ # The text delta that was added to the reasoning content.
1804
+ delta:,
1805
+ # The ID of the item this reasoning text delta is associated with.
1806
+ item_id:,
1807
+ # The index of the output item this reasoning text delta is associated with.
1808
+ output_index:,
1809
+ # The sequence number of this event.
1810
+ sequence_number:,
1811
+ # The type of the event. Always `response.reasoning_text.delta`.
1812
+ type: :"response.reasoning_text.delta",
1813
+ # The WebSocket lane that emitted this event.
1814
+ # This field is present when the originating response.create supplied a stream_id.
1815
+ stream_id: nil
1816
+ )
1817
+ end
1818
+
1819
+ sig do
1820
+ override.returns(
1821
+ {
1822
+ content_index: Integer,
1823
+ delta: String,
1824
+ item_id: String,
1825
+ output_index: Integer,
1826
+ sequence_number: Integer,
1827
+ type: Symbol,
1828
+ stream_id: String
1829
+ }
1830
+ )
1831
+ end
1832
+ def to_hash
1833
+ end
1834
+ end
1835
+
1836
+ class ResponseReasoningTextWsDone < OpenAI::Models::Responses::ResponseReasoningTextDoneEvent
1837
+ OrHash =
1838
+ T.type_alias do
1839
+ T.any(
1840
+ OpenAI::Responses::ResponsesServerEvent::ResponseReasoningTextWsDone,
1841
+ OpenAI::Internal::AnyHash
1842
+ )
1843
+ end
1844
+
1845
+ # The WebSocket lane that emitted this event. This field is present when the
1846
+ # originating `response.create` event supplied a `stream_id`.
1847
+ sig { returns(T.nilable(String)) }
1848
+ attr_reader :stream_id
1849
+
1850
+ sig { params(stream_id: String).void }
1851
+ attr_writer :stream_id
1852
+
1853
+ # Emitted when a reasoning text is completed.
1854
+ sig do
1855
+ params(
1856
+ content_index: Integer,
1857
+ item_id: String,
1858
+ output_index: Integer,
1859
+ sequence_number: Integer,
1860
+ text: String,
1861
+ type: Symbol,
1862
+ stream_id: String
1863
+ ).returns(T.attached_class)
1864
+ end
1865
+ def self.new(
1866
+ # The index of the reasoning content part.
1867
+ content_index:,
1868
+ # The ID of the item this reasoning text is associated with.
1869
+ item_id:,
1870
+ # The index of the output item this reasoning text is associated with.
1871
+ output_index:,
1872
+ # The sequence number of this event.
1873
+ sequence_number:,
1874
+ # The full text of the completed reasoning content.
1875
+ text:,
1876
+ # The type of the event. Always `response.reasoning_text.done`.
1877
+ type: :"response.reasoning_text.done",
1878
+ # The WebSocket lane that emitted this event.
1879
+ # This field is present when the originating response.create supplied a stream_id.
1880
+ stream_id: nil
1881
+ )
1882
+ end
1883
+
1884
+ sig do
1885
+ override.returns(
1886
+ {
1887
+ content_index: Integer,
1888
+ item_id: String,
1889
+ output_index: Integer,
1890
+ sequence_number: Integer,
1891
+ text: String,
1892
+ type: Symbol,
1893
+ stream_id: String
1894
+ }
1895
+ )
1896
+ end
1897
+ def to_hash
1898
+ end
1899
+ end
1900
+
1901
+ class ResponseRefusalWsDelta < OpenAI::Models::Responses::ResponseRefusalDeltaEvent
1902
+ OrHash =
1903
+ T.type_alias do
1904
+ T.any(
1905
+ OpenAI::Responses::ResponsesServerEvent::ResponseRefusalWsDelta,
1906
+ OpenAI::Internal::AnyHash
1907
+ )
1908
+ end
1909
+
1910
+ # The WebSocket lane that emitted this event. This field is present when the
1911
+ # originating `response.create` event supplied a `stream_id`.
1912
+ sig { returns(T.nilable(String)) }
1913
+ attr_reader :stream_id
1914
+
1915
+ sig { params(stream_id: String).void }
1916
+ attr_writer :stream_id
1917
+
1918
+ # Emitted when there is a partial refusal text.
1919
+ sig do
1920
+ params(
1921
+ content_index: Integer,
1922
+ delta: String,
1923
+ item_id: String,
1924
+ output_index: Integer,
1925
+ sequence_number: Integer,
1926
+ type: Symbol,
1927
+ stream_id: String
1928
+ ).returns(T.attached_class)
1929
+ end
1930
+ def self.new(
1931
+ # The index of the content part that the refusal text is added to.
1932
+ content_index:,
1933
+ # The refusal text that is added.
1934
+ delta:,
1935
+ # The ID of the output item that the refusal text is added to.
1936
+ item_id:,
1937
+ # The index of the output item that the refusal text is added to.
1938
+ output_index:,
1939
+ # The sequence number of this event.
1940
+ sequence_number:,
1941
+ # The type of the event. Always `response.refusal.delta`.
1942
+ type: :"response.refusal.delta",
1943
+ # The WebSocket lane that emitted this event.
1944
+ # This field is present when the originating response.create supplied a stream_id.
1945
+ stream_id: nil
1946
+ )
1947
+ end
1948
+
1949
+ sig do
1950
+ override.returns(
1951
+ {
1952
+ content_index: Integer,
1953
+ delta: String,
1954
+ item_id: String,
1955
+ output_index: Integer,
1956
+ sequence_number: Integer,
1957
+ type: Symbol,
1958
+ stream_id: String
1959
+ }
1960
+ )
1961
+ end
1962
+ def to_hash
1963
+ end
1964
+ end
1965
+
1966
+ class ResponseRefusalWsDone < OpenAI::Models::Responses::ResponseRefusalDoneEvent
1967
+ OrHash =
1968
+ T.type_alias do
1969
+ T.any(
1970
+ OpenAI::Responses::ResponsesServerEvent::ResponseRefusalWsDone,
1971
+ OpenAI::Internal::AnyHash
1972
+ )
1973
+ end
1974
+
1975
+ # The WebSocket lane that emitted this event. This field is present when the
1976
+ # originating `response.create` event supplied a `stream_id`.
1977
+ sig { returns(T.nilable(String)) }
1978
+ attr_reader :stream_id
1979
+
1980
+ sig { params(stream_id: String).void }
1981
+ attr_writer :stream_id
1982
+
1983
+ # Emitted when refusal text is finalized.
1984
+ sig do
1985
+ params(
1986
+ content_index: Integer,
1987
+ item_id: String,
1988
+ output_index: Integer,
1989
+ refusal: String,
1990
+ sequence_number: Integer,
1991
+ type: Symbol,
1992
+ stream_id: String
1993
+ ).returns(T.attached_class)
1994
+ end
1995
+ def self.new(
1996
+ # The index of the content part that the refusal text is finalized.
1997
+ content_index:,
1998
+ # The ID of the output item that the refusal text is finalized.
1999
+ item_id:,
2000
+ # The index of the output item that the refusal text is finalized.
2001
+ output_index:,
2002
+ # The refusal text that is finalized.
2003
+ refusal:,
2004
+ # The sequence number of this event.
2005
+ sequence_number:,
2006
+ # The type of the event. Always `response.refusal.done`.
2007
+ type: :"response.refusal.done",
2008
+ # The WebSocket lane that emitted this event.
2009
+ # This field is present when the originating response.create supplied a stream_id.
2010
+ stream_id: nil
2011
+ )
2012
+ end
2013
+
2014
+ sig do
2015
+ override.returns(
2016
+ {
2017
+ content_index: Integer,
2018
+ item_id: String,
2019
+ output_index: Integer,
2020
+ refusal: String,
2021
+ sequence_number: Integer,
2022
+ type: Symbol,
2023
+ stream_id: String
2024
+ }
2025
+ )
2026
+ end
2027
+ def to_hash
2028
+ end
2029
+ end
2030
+
2031
+ class ResponseTextWsDelta < OpenAI::Models::Responses::ResponseTextDeltaEvent
2032
+ OrHash =
2033
+ T.type_alias do
2034
+ T.any(
2035
+ OpenAI::Responses::ResponsesServerEvent::ResponseTextWsDelta,
2036
+ OpenAI::Internal::AnyHash
2037
+ )
2038
+ end
2039
+
2040
+ # The WebSocket lane that emitted this event. This field is present when the
2041
+ # originating `response.create` event supplied a `stream_id`.
2042
+ sig { returns(T.nilable(String)) }
2043
+ attr_reader :stream_id
2044
+
2045
+ sig { params(stream_id: String).void }
2046
+ attr_writer :stream_id
2047
+
2048
+ # Emitted when there is an additional text delta.
2049
+ sig do
2050
+ params(
2051
+ content_index: Integer,
2052
+ delta: String,
2053
+ item_id: String,
2054
+ logprobs:
2055
+ T::Array[
2056
+ OpenAI::Responses::ResponseTextDeltaEvent::Logprob::OrHash
2057
+ ],
2058
+ output_index: Integer,
2059
+ sequence_number: Integer,
2060
+ type: Symbol,
2061
+ stream_id: String
2062
+ ).returns(T.attached_class)
2063
+ end
2064
+ def self.new(
2065
+ # The index of the content part that the text delta was added to.
2066
+ content_index:,
2067
+ # The text delta that was added.
2068
+ delta:,
2069
+ # The ID of the output item that the text delta was added to.
2070
+ item_id:,
2071
+ # The log probabilities of the tokens in the delta.
2072
+ logprobs:,
2073
+ # The index of the output item that the text delta was added to.
2074
+ output_index:,
2075
+ # The sequence number for this event.
2076
+ sequence_number:,
2077
+ # The type of the event. Always `response.output_text.delta`.
2078
+ type: :"response.output_text.delta",
2079
+ # The WebSocket lane that emitted this event.
2080
+ # This field is present when the originating response.create supplied a stream_id.
2081
+ stream_id: nil
2082
+ )
2083
+ end
2084
+
2085
+ sig do
2086
+ override.returns(
2087
+ {
2088
+ content_index: Integer,
2089
+ delta: String,
2090
+ item_id: String,
2091
+ logprobs:
2092
+ T::Array[OpenAI::Responses::ResponseTextDeltaEvent::Logprob],
2093
+ output_index: Integer,
2094
+ sequence_number: Integer,
2095
+ type: Symbol,
2096
+ stream_id: String
2097
+ }
2098
+ )
2099
+ end
2100
+ def to_hash
2101
+ end
2102
+ end
2103
+
2104
+ class ResponseTextWsDone < OpenAI::Models::Responses::ResponseTextDoneEvent
2105
+ OrHash =
2106
+ T.type_alias do
2107
+ T.any(
2108
+ OpenAI::Responses::ResponsesServerEvent::ResponseTextWsDone,
2109
+ OpenAI::Internal::AnyHash
2110
+ )
2111
+ end
2112
+
2113
+ # The WebSocket lane that emitted this event. This field is present when the
2114
+ # originating `response.create` event supplied a `stream_id`.
2115
+ sig { returns(T.nilable(String)) }
2116
+ attr_reader :stream_id
2117
+
2118
+ sig { params(stream_id: String).void }
2119
+ attr_writer :stream_id
2120
+
2121
+ # Emitted when text content is finalized.
2122
+ sig do
2123
+ params(
2124
+ content_index: Integer,
2125
+ item_id: String,
2126
+ logprobs:
2127
+ T::Array[
2128
+ OpenAI::Responses::ResponseTextDoneEvent::Logprob::OrHash
2129
+ ],
2130
+ output_index: Integer,
2131
+ sequence_number: Integer,
2132
+ text: String,
2133
+ type: Symbol,
2134
+ stream_id: String
2135
+ ).returns(T.attached_class)
2136
+ end
2137
+ def self.new(
2138
+ # The index of the content part that the text content is finalized.
2139
+ content_index:,
2140
+ # The ID of the output item that the text content is finalized.
2141
+ item_id:,
2142
+ # The log probabilities of the tokens in the delta.
2143
+ logprobs:,
2144
+ # The index of the output item that the text content is finalized.
2145
+ output_index:,
2146
+ # The sequence number for this event.
2147
+ sequence_number:,
2148
+ # The text content that is finalized.
2149
+ text:,
2150
+ # The type of the event. Always `response.output_text.done`.
2151
+ type: :"response.output_text.done",
2152
+ # The WebSocket lane that emitted this event.
2153
+ # This field is present when the originating response.create supplied a stream_id.
2154
+ stream_id: nil
2155
+ )
2156
+ end
2157
+
2158
+ sig do
2159
+ override.returns(
2160
+ {
2161
+ content_index: Integer,
2162
+ item_id: String,
2163
+ logprobs:
2164
+ T::Array[OpenAI::Responses::ResponseTextDoneEvent::Logprob],
2165
+ output_index: Integer,
2166
+ sequence_number: Integer,
2167
+ text: String,
2168
+ type: Symbol,
2169
+ stream_id: String
2170
+ }
2171
+ )
2172
+ end
2173
+ def to_hash
2174
+ end
2175
+ end
2176
+
2177
+ class ResponseWebSearchCallWsCompleted < OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent
2178
+ OrHash =
2179
+ T.type_alias do
2180
+ T.any(
2181
+ OpenAI::Responses::ResponsesServerEvent::ResponseWebSearchCallWsCompleted,
2182
+ OpenAI::Internal::AnyHash
2183
+ )
2184
+ end
2185
+
2186
+ # The WebSocket lane that emitted this event. This field is present when the
2187
+ # originating `response.create` event supplied a `stream_id`.
2188
+ sig { returns(T.nilable(String)) }
2189
+ attr_reader :stream_id
2190
+
2191
+ sig { params(stream_id: String).void }
2192
+ attr_writer :stream_id
2193
+
2194
+ # Emitted when a web search call is completed.
2195
+ sig do
2196
+ params(
2197
+ item_id: String,
2198
+ output_index: Integer,
2199
+ sequence_number: Integer,
2200
+ type: Symbol,
2201
+ stream_id: String
2202
+ ).returns(T.attached_class)
2203
+ end
2204
+ def self.new(
2205
+ # Unique ID for the output item associated with the web search call.
2206
+ item_id:,
2207
+ # The index of the output item that the web search call is associated with.
2208
+ output_index:,
2209
+ # The sequence number of the web search call being processed.
2210
+ sequence_number:,
2211
+ # The type of the event. Always `response.web_search_call.completed`.
2212
+ type: :"response.web_search_call.completed",
2213
+ # The WebSocket lane that emitted this event.
2214
+ # This field is present when the originating response.create supplied a stream_id.
2215
+ stream_id: nil
2216
+ )
2217
+ end
2218
+
2219
+ sig do
2220
+ override.returns(
2221
+ {
2222
+ item_id: String,
2223
+ output_index: Integer,
2224
+ sequence_number: Integer,
2225
+ type: Symbol,
2226
+ stream_id: String
2227
+ }
2228
+ )
2229
+ end
2230
+ def to_hash
2231
+ end
2232
+ end
2233
+
2234
+ class ResponseWebSearchCallInWsProgress < OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent
2235
+ OrHash =
2236
+ T.type_alias do
2237
+ T.any(
2238
+ OpenAI::Responses::ResponsesServerEvent::ResponseWebSearchCallInWsProgress,
2239
+ OpenAI::Internal::AnyHash
2240
+ )
2241
+ end
2242
+
2243
+ # The WebSocket lane that emitted this event. This field is present when the
2244
+ # originating `response.create` event supplied a `stream_id`.
2245
+ sig { returns(T.nilable(String)) }
2246
+ attr_reader :stream_id
2247
+
2248
+ sig { params(stream_id: String).void }
2249
+ attr_writer :stream_id
2250
+
2251
+ # Emitted when a web search call is initiated.
2252
+ sig do
2253
+ params(
2254
+ item_id: String,
2255
+ output_index: Integer,
2256
+ sequence_number: Integer,
2257
+ type: Symbol,
2258
+ stream_id: String
2259
+ ).returns(T.attached_class)
2260
+ end
2261
+ def self.new(
2262
+ # Unique ID for the output item associated with the web search call.
2263
+ item_id:,
2264
+ # The index of the output item that the web search call is associated with.
2265
+ output_index:,
2266
+ # The sequence number of the web search call being processed.
2267
+ sequence_number:,
2268
+ # The type of the event. Always `response.web_search_call.in_progress`.
2269
+ type: :"response.web_search_call.in_progress",
2270
+ # The WebSocket lane that emitted this event.
2271
+ # This field is present when the originating response.create supplied a stream_id.
2272
+ stream_id: nil
2273
+ )
2274
+ end
2275
+
2276
+ sig do
2277
+ override.returns(
2278
+ {
2279
+ item_id: String,
2280
+ output_index: Integer,
2281
+ sequence_number: Integer,
2282
+ type: Symbol,
2283
+ stream_id: String
2284
+ }
2285
+ )
2286
+ end
2287
+ def to_hash
2288
+ end
2289
+ end
2290
+
2291
+ class ResponseWebSearchCallWsSearching < OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent
2292
+ OrHash =
2293
+ T.type_alias do
2294
+ T.any(
2295
+ OpenAI::Responses::ResponsesServerEvent::ResponseWebSearchCallWsSearching,
2296
+ OpenAI::Internal::AnyHash
2297
+ )
2298
+ end
2299
+
2300
+ # The WebSocket lane that emitted this event. This field is present when the
2301
+ # originating `response.create` event supplied a `stream_id`.
2302
+ sig { returns(T.nilable(String)) }
2303
+ attr_reader :stream_id
2304
+
2305
+ sig { params(stream_id: String).void }
2306
+ attr_writer :stream_id
2307
+
2308
+ # Emitted when a web search call is executing.
2309
+ sig do
2310
+ params(
2311
+ item_id: String,
2312
+ output_index: Integer,
2313
+ sequence_number: Integer,
2314
+ type: Symbol,
2315
+ stream_id: String
2316
+ ).returns(T.attached_class)
2317
+ end
2318
+ def self.new(
2319
+ # Unique ID for the output item associated with the web search call.
2320
+ item_id:,
2321
+ # The index of the output item that the web search call is associated with.
2322
+ output_index:,
2323
+ # The sequence number of the web search call being processed.
2324
+ sequence_number:,
2325
+ # The type of the event. Always `response.web_search_call.searching`.
2326
+ type: :"response.web_search_call.searching",
2327
+ # The WebSocket lane that emitted this event.
2328
+ # This field is present when the originating response.create supplied a stream_id.
2329
+ stream_id: nil
2330
+ )
2331
+ end
2332
+
2333
+ sig do
2334
+ override.returns(
2335
+ {
2336
+ item_id: String,
2337
+ output_index: Integer,
2338
+ sequence_number: Integer,
2339
+ type: Symbol,
2340
+ stream_id: String
2341
+ }
2342
+ )
2343
+ end
2344
+ def to_hash
2345
+ end
2346
+ end
2347
+
2348
+ class ResponseImageGenCallWsCompleted < OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent
2349
+ OrHash =
2350
+ T.type_alias do
2351
+ T.any(
2352
+ OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallWsCompleted,
2353
+ OpenAI::Internal::AnyHash
2354
+ )
2355
+ end
2356
+
2357
+ # The WebSocket lane that emitted this event. This field is present when the
2358
+ # originating `response.create` event supplied a `stream_id`.
2359
+ sig { returns(T.nilable(String)) }
2360
+ attr_reader :stream_id
2361
+
2362
+ sig { params(stream_id: String).void }
2363
+ attr_writer :stream_id
2364
+
2365
+ # Emitted when an image generation tool call has completed and the final image is
2366
+ # available.
2367
+ sig do
2368
+ params(
2369
+ item_id: String,
2370
+ output_index: Integer,
2371
+ sequence_number: Integer,
2372
+ type: Symbol,
2373
+ stream_id: String
2374
+ ).returns(T.attached_class)
2375
+ end
2376
+ def self.new(
2377
+ # The unique identifier of the image generation item being processed.
2378
+ item_id:,
2379
+ # The index of the output item in the response's output array.
2380
+ output_index:,
2381
+ # The sequence number of this event.
2382
+ sequence_number:,
2383
+ # The type of the event. Always 'response.image_generation_call.completed'.
2384
+ type: :"response.image_generation_call.completed",
2385
+ # The WebSocket lane that emitted this event.
2386
+ # This field is present when the originating response.create supplied a stream_id.
2387
+ stream_id: nil
2388
+ )
2389
+ end
2390
+
2391
+ sig do
2392
+ override.returns(
2393
+ {
2394
+ item_id: String,
2395
+ output_index: Integer,
2396
+ sequence_number: Integer,
2397
+ type: Symbol,
2398
+ stream_id: String
2399
+ }
2400
+ )
2401
+ end
2402
+ def to_hash
2403
+ end
2404
+ end
2405
+
2406
+ class ResponseImageGenCallWsGenerating < OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent
2407
+ OrHash =
2408
+ T.type_alias do
2409
+ T.any(
2410
+ OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallWsGenerating,
2411
+ OpenAI::Internal::AnyHash
2412
+ )
2413
+ end
2414
+
2415
+ # The WebSocket lane that emitted this event. This field is present when the
2416
+ # originating `response.create` event supplied a `stream_id`.
2417
+ sig { returns(T.nilable(String)) }
2418
+ attr_reader :stream_id
2419
+
2420
+ sig { params(stream_id: String).void }
2421
+ attr_writer :stream_id
2422
+
2423
+ # Emitted when an image generation tool call is actively generating an image
2424
+ # (intermediate state).
2425
+ sig do
2426
+ params(
2427
+ item_id: String,
2428
+ output_index: Integer,
2429
+ sequence_number: Integer,
2430
+ type: Symbol,
2431
+ stream_id: String
2432
+ ).returns(T.attached_class)
2433
+ end
2434
+ def self.new(
2435
+ # The unique identifier of the image generation item being processed.
2436
+ item_id:,
2437
+ # The index of the output item in the response's output array.
2438
+ output_index:,
2439
+ # The sequence number of the image generation item being processed.
2440
+ sequence_number:,
2441
+ # The type of the event. Always 'response.image_generation_call.generating'.
2442
+ type: :"response.image_generation_call.generating",
2443
+ # The WebSocket lane that emitted this event.
2444
+ # This field is present when the originating response.create supplied a stream_id.
2445
+ stream_id: nil
2446
+ )
2447
+ end
2448
+
2449
+ sig do
2450
+ override.returns(
2451
+ {
2452
+ item_id: String,
2453
+ output_index: Integer,
2454
+ sequence_number: Integer,
2455
+ type: Symbol,
2456
+ stream_id: String
2457
+ }
2458
+ )
2459
+ end
2460
+ def to_hash
2461
+ end
2462
+ end
2463
+
2464
+ class ResponseImageGenCallInWsProgress < OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent
2465
+ OrHash =
2466
+ T.type_alias do
2467
+ T.any(
2468
+ OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallInWsProgress,
2469
+ OpenAI::Internal::AnyHash
2470
+ )
2471
+ end
2472
+
2473
+ # The WebSocket lane that emitted this event. This field is present when the
2474
+ # originating `response.create` event supplied a `stream_id`.
2475
+ sig { returns(T.nilable(String)) }
2476
+ attr_reader :stream_id
2477
+
2478
+ sig { params(stream_id: String).void }
2479
+ attr_writer :stream_id
2480
+
2481
+ # Emitted when an image generation tool call is in progress.
2482
+ sig do
2483
+ params(
2484
+ item_id: String,
2485
+ output_index: Integer,
2486
+ sequence_number: Integer,
2487
+ type: Symbol,
2488
+ stream_id: String
2489
+ ).returns(T.attached_class)
2490
+ end
2491
+ def self.new(
2492
+ # The unique identifier of the image generation item being processed.
2493
+ item_id:,
2494
+ # The index of the output item in the response's output array.
2495
+ output_index:,
2496
+ # The sequence number of the image generation item being processed.
2497
+ sequence_number:,
2498
+ # The type of the event. Always 'response.image_generation_call.in_progress'.
2499
+ type: :"response.image_generation_call.in_progress",
2500
+ # The WebSocket lane that emitted this event.
2501
+ # This field is present when the originating response.create supplied a stream_id.
2502
+ stream_id: nil
2503
+ )
2504
+ end
2505
+
2506
+ sig do
2507
+ override.returns(
2508
+ {
2509
+ item_id: String,
2510
+ output_index: Integer,
2511
+ sequence_number: Integer,
2512
+ type: Symbol,
2513
+ stream_id: String
2514
+ }
2515
+ )
2516
+ end
2517
+ def to_hash
2518
+ end
2519
+ end
2520
+
2521
+ class ResponseImageGenCallPartialWsImage < OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent
2522
+ OrHash =
2523
+ T.type_alias do
2524
+ T.any(
2525
+ OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallPartialWsImage,
2526
+ OpenAI::Internal::AnyHash
2527
+ )
2528
+ end
2529
+
2530
+ # The WebSocket lane that emitted this event. This field is present when the
2531
+ # originating `response.create` event supplied a `stream_id`.
2532
+ sig { returns(T.nilable(String)) }
2533
+ attr_reader :stream_id
2534
+
2535
+ sig { params(stream_id: String).void }
2536
+ attr_writer :stream_id
2537
+
2538
+ # Emitted when a partial image is available during image generation streaming.
2539
+ sig do
2540
+ params(
2541
+ item_id: String,
2542
+ output_index: Integer,
2543
+ partial_image_b64: String,
2544
+ partial_image_index: Integer,
2545
+ sequence_number: Integer,
2546
+ type: Symbol,
2547
+ stream_id: String
2548
+ ).returns(T.attached_class)
2549
+ end
2550
+ def self.new(
2551
+ # The unique identifier of the image generation item being processed.
2552
+ item_id:,
2553
+ # The index of the output item in the response's output array.
2554
+ output_index:,
2555
+ # Base64-encoded partial image data, suitable for rendering as an image.
2556
+ partial_image_b64:,
2557
+ # 0-based index for the partial image (backend is 1-based, but this is 0-based for
2558
+ # the user).
2559
+ partial_image_index:,
2560
+ # The sequence number of the image generation item being processed.
2561
+ sequence_number:,
2562
+ # The type of the event. Always 'response.image_generation_call.partial_image'.
2563
+ type: :"response.image_generation_call.partial_image",
2564
+ # The WebSocket lane that emitted this event.
2565
+ # This field is present when the originating response.create supplied a stream_id.
2566
+ stream_id: nil
2567
+ )
2568
+ end
2569
+
2570
+ sig do
2571
+ override.returns(
2572
+ {
2573
+ item_id: String,
2574
+ output_index: Integer,
2575
+ partial_image_b64: String,
2576
+ partial_image_index: Integer,
2577
+ sequence_number: Integer,
2578
+ type: Symbol,
2579
+ stream_id: String
2580
+ }
2581
+ )
2582
+ end
2583
+ def to_hash
2584
+ end
2585
+ end
2586
+
2587
+ class ResponseMcpCallArgumentsWsDelta < OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent
2588
+ OrHash =
2589
+ T.type_alias do
2590
+ T.any(
2591
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDelta,
2592
+ OpenAI::Internal::AnyHash
2593
+ )
2594
+ end
2595
+
2596
+ # The WebSocket lane that emitted this event. This field is present when the
2597
+ # originating `response.create` event supplied a `stream_id`.
2598
+ sig { returns(T.nilable(String)) }
2599
+ attr_reader :stream_id
2600
+
2601
+ sig { params(stream_id: String).void }
2602
+ attr_writer :stream_id
2603
+
2604
+ # Emitted when there is a delta (partial update) to the arguments of an MCP tool
2605
+ # call.
2606
+ sig do
2607
+ params(
2608
+ delta: String,
2609
+ item_id: String,
2610
+ output_index: Integer,
2611
+ sequence_number: Integer,
2612
+ type: Symbol,
2613
+ stream_id: String
2614
+ ).returns(T.attached_class)
2615
+ end
2616
+ def self.new(
2617
+ # A JSON string containing the partial update to the arguments for the MCP tool
2618
+ # call.
2619
+ delta:,
2620
+ # The unique identifier of the MCP tool call item being processed.
2621
+ item_id:,
2622
+ # The index of the output item in the response's output array.
2623
+ output_index:,
2624
+ # The sequence number of this event.
2625
+ sequence_number:,
2626
+ # The type of the event. Always 'response.mcp_call_arguments.delta'.
2627
+ type: :"response.mcp_call_arguments.delta",
2628
+ # The WebSocket lane that emitted this event.
2629
+ # This field is present when the originating response.create supplied a stream_id.
2630
+ stream_id: nil
2631
+ )
2632
+ end
2633
+
2634
+ sig do
2635
+ override.returns(
2636
+ {
2637
+ delta: String,
2638
+ item_id: String,
2639
+ output_index: Integer,
2640
+ sequence_number: Integer,
2641
+ type: Symbol,
2642
+ stream_id: String
2643
+ }
2644
+ )
2645
+ end
2646
+ def to_hash
2647
+ end
2648
+ end
2649
+
2650
+ class ResponseMcpCallArgumentsWsDone < OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent
2651
+ OrHash =
2652
+ T.type_alias do
2653
+ T.any(
2654
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDone,
2655
+ OpenAI::Internal::AnyHash
2656
+ )
2657
+ end
2658
+
2659
+ # The WebSocket lane that emitted this event. This field is present when the
2660
+ # originating `response.create` event supplied a `stream_id`.
2661
+ sig { returns(T.nilable(String)) }
2662
+ attr_reader :stream_id
2663
+
2664
+ sig { params(stream_id: String).void }
2665
+ attr_writer :stream_id
2666
+
2667
+ # Emitted when the arguments for an MCP tool call are finalized.
2668
+ sig do
2669
+ params(
2670
+ arguments: String,
2671
+ item_id: String,
2672
+ output_index: Integer,
2673
+ sequence_number: Integer,
2674
+ type: Symbol,
2675
+ stream_id: String
2676
+ ).returns(T.attached_class)
2677
+ end
2678
+ def self.new(
2679
+ # A JSON string containing the finalized arguments for the MCP tool call.
2680
+ arguments:,
2681
+ # The unique identifier of the MCP tool call item being processed.
2682
+ item_id:,
2683
+ # The index of the output item in the response's output array.
2684
+ output_index:,
2685
+ # The sequence number of this event.
2686
+ sequence_number:,
2687
+ # The type of the event. Always 'response.mcp_call_arguments.done'.
2688
+ type: :"response.mcp_call_arguments.done",
2689
+ # The WebSocket lane that emitted this event.
2690
+ # This field is present when the originating response.create supplied a stream_id.
2691
+ stream_id: nil
2692
+ )
2693
+ end
2694
+
2695
+ sig do
2696
+ override.returns(
2697
+ {
2698
+ arguments: String,
2699
+ item_id: String,
2700
+ output_index: Integer,
2701
+ sequence_number: Integer,
2702
+ type: Symbol,
2703
+ stream_id: String
2704
+ }
2705
+ )
2706
+ end
2707
+ def to_hash
2708
+ end
2709
+ end
2710
+
2711
+ class ResponseMcpCallWsCompleted < OpenAI::Models::Responses::ResponseMcpCallCompletedEvent
2712
+ OrHash =
2713
+ T.type_alias do
2714
+ T.any(
2715
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallWsCompleted,
2716
+ OpenAI::Internal::AnyHash
2717
+ )
2718
+ end
2719
+
2720
+ # The WebSocket lane that emitted this event. This field is present when the
2721
+ # originating `response.create` event supplied a `stream_id`.
2722
+ sig { returns(T.nilable(String)) }
2723
+ attr_reader :stream_id
2724
+
2725
+ sig { params(stream_id: String).void }
2726
+ attr_writer :stream_id
2727
+
2728
+ # Emitted when an MCP tool call has completed successfully.
2729
+ sig do
2730
+ params(
2731
+ item_id: String,
2732
+ output_index: Integer,
2733
+ sequence_number: Integer,
2734
+ type: Symbol,
2735
+ stream_id: String
2736
+ ).returns(T.attached_class)
2737
+ end
2738
+ def self.new(
2739
+ # The ID of the MCP tool call item that completed.
2740
+ item_id:,
2741
+ # The index of the output item that completed.
2742
+ output_index:,
2743
+ # The sequence number of this event.
2744
+ sequence_number:,
2745
+ # The type of the event. Always 'response.mcp_call.completed'.
2746
+ type: :"response.mcp_call.completed",
2747
+ # The WebSocket lane that emitted this event.
2748
+ # This field is present when the originating response.create supplied a stream_id.
2749
+ stream_id: nil
2750
+ )
2751
+ end
2752
+
2753
+ sig do
2754
+ override.returns(
2755
+ {
2756
+ item_id: String,
2757
+ output_index: Integer,
2758
+ sequence_number: Integer,
2759
+ type: Symbol,
2760
+ stream_id: String
2761
+ }
2762
+ )
2763
+ end
2764
+ def to_hash
2765
+ end
2766
+ end
2767
+
2768
+ class ResponseMcpCallWsFailed < OpenAI::Models::Responses::ResponseMcpCallFailedEvent
2769
+ OrHash =
2770
+ T.type_alias do
2771
+ T.any(
2772
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallWsFailed,
2773
+ OpenAI::Internal::AnyHash
2774
+ )
2775
+ end
2776
+
2777
+ # The WebSocket lane that emitted this event. This field is present when the
2778
+ # originating `response.create` event supplied a `stream_id`.
2779
+ sig { returns(T.nilable(String)) }
2780
+ attr_reader :stream_id
2781
+
2782
+ sig { params(stream_id: String).void }
2783
+ attr_writer :stream_id
2784
+
2785
+ # Emitted when an MCP tool call has failed.
2786
+ sig do
2787
+ params(
2788
+ item_id: String,
2789
+ output_index: Integer,
2790
+ sequence_number: Integer,
2791
+ type: Symbol,
2792
+ stream_id: String
2793
+ ).returns(T.attached_class)
2794
+ end
2795
+ def self.new(
2796
+ # The ID of the MCP tool call item that failed.
2797
+ item_id:,
2798
+ # The index of the output item that failed.
2799
+ output_index:,
2800
+ # The sequence number of this event.
2801
+ sequence_number:,
2802
+ # The type of the event. Always 'response.mcp_call.failed'.
2803
+ type: :"response.mcp_call.failed",
2804
+ # The WebSocket lane that emitted this event.
2805
+ # This field is present when the originating response.create supplied a stream_id.
2806
+ stream_id: nil
2807
+ )
2808
+ end
2809
+
2810
+ sig do
2811
+ override.returns(
2812
+ {
2813
+ item_id: String,
2814
+ output_index: Integer,
2815
+ sequence_number: Integer,
2816
+ type: Symbol,
2817
+ stream_id: String
2818
+ }
2819
+ )
2820
+ end
2821
+ def to_hash
2822
+ end
2823
+ end
2824
+
2825
+ class ResponseMcpCallInWsProgress < OpenAI::Models::Responses::ResponseMcpCallInProgressEvent
2826
+ OrHash =
2827
+ T.type_alias do
2828
+ T.any(
2829
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallInWsProgress,
2830
+ OpenAI::Internal::AnyHash
2831
+ )
2832
+ end
2833
+
2834
+ # The WebSocket lane that emitted this event. This field is present when the
2835
+ # originating `response.create` event supplied a `stream_id`.
2836
+ sig { returns(T.nilable(String)) }
2837
+ attr_reader :stream_id
2838
+
2839
+ sig { params(stream_id: String).void }
2840
+ attr_writer :stream_id
2841
+
2842
+ # Emitted when an MCP tool call is in progress.
2843
+ sig do
2844
+ params(
2845
+ item_id: String,
2846
+ output_index: Integer,
2847
+ sequence_number: Integer,
2848
+ type: Symbol,
2849
+ stream_id: String
2850
+ ).returns(T.attached_class)
2851
+ end
2852
+ def self.new(
2853
+ # The unique identifier of the MCP tool call item being processed.
2854
+ item_id:,
2855
+ # The index of the output item in the response's output array.
2856
+ output_index:,
2857
+ # The sequence number of this event.
2858
+ sequence_number:,
2859
+ # The type of the event. Always 'response.mcp_call.in_progress'.
2860
+ type: :"response.mcp_call.in_progress",
2861
+ # The WebSocket lane that emitted this event.
2862
+ # This field is present when the originating response.create supplied a stream_id.
2863
+ stream_id: nil
2864
+ )
2865
+ end
2866
+
2867
+ sig do
2868
+ override.returns(
2869
+ {
2870
+ item_id: String,
2871
+ output_index: Integer,
2872
+ sequence_number: Integer,
2873
+ type: Symbol,
2874
+ stream_id: String
2875
+ }
2876
+ )
2877
+ end
2878
+ def to_hash
2879
+ end
2880
+ end
2881
+
2882
+ class ResponseMcpListToolsWsCompleted < OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent
2883
+ OrHash =
2884
+ T.type_alias do
2885
+ T.any(
2886
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpListToolsWsCompleted,
2887
+ OpenAI::Internal::AnyHash
2888
+ )
2889
+ end
2890
+
2891
+ # The WebSocket lane that emitted this event. This field is present when the
2892
+ # originating `response.create` event supplied a `stream_id`.
2893
+ sig { returns(T.nilable(String)) }
2894
+ attr_reader :stream_id
2895
+
2896
+ sig { params(stream_id: String).void }
2897
+ attr_writer :stream_id
2898
+
2899
+ # Emitted when the list of available MCP tools has been successfully retrieved.
2900
+ sig do
2901
+ params(
2902
+ item_id: String,
2903
+ output_index: Integer,
2904
+ sequence_number: Integer,
2905
+ type: Symbol,
2906
+ stream_id: String
2907
+ ).returns(T.attached_class)
2908
+ end
2909
+ def self.new(
2910
+ # The ID of the MCP tool call item that produced this output.
2911
+ item_id:,
2912
+ # The index of the output item that was processed.
2913
+ output_index:,
2914
+ # The sequence number of this event.
2915
+ sequence_number:,
2916
+ # The type of the event. Always 'response.mcp_list_tools.completed'.
2917
+ type: :"response.mcp_list_tools.completed",
2918
+ # The WebSocket lane that emitted this event.
2919
+ # This field is present when the originating response.create supplied a stream_id.
2920
+ stream_id: nil
2921
+ )
2922
+ end
2923
+
2924
+ sig do
2925
+ override.returns(
2926
+ {
2927
+ item_id: String,
2928
+ output_index: Integer,
2929
+ sequence_number: Integer,
2930
+ type: Symbol,
2931
+ stream_id: String
2932
+ }
2933
+ )
2934
+ end
2935
+ def to_hash
2936
+ end
2937
+ end
2938
+
2939
+ class ResponseMcpListToolsWsFailed < OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent
2940
+ OrHash =
2941
+ T.type_alias do
2942
+ T.any(
2943
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpListToolsWsFailed,
2944
+ OpenAI::Internal::AnyHash
2945
+ )
2946
+ end
2947
+
2948
+ # The WebSocket lane that emitted this event. This field is present when the
2949
+ # originating `response.create` event supplied a `stream_id`.
2950
+ sig { returns(T.nilable(String)) }
2951
+ attr_reader :stream_id
2952
+
2953
+ sig { params(stream_id: String).void }
2954
+ attr_writer :stream_id
2955
+
2956
+ # Emitted when the attempt to list available MCP tools has failed.
2957
+ sig do
2958
+ params(
2959
+ item_id: String,
2960
+ output_index: Integer,
2961
+ sequence_number: Integer,
2962
+ type: Symbol,
2963
+ stream_id: String
2964
+ ).returns(T.attached_class)
2965
+ end
2966
+ def self.new(
2967
+ # The ID of the MCP tool call item that failed.
2968
+ item_id:,
2969
+ # The index of the output item that failed.
2970
+ output_index:,
2971
+ # The sequence number of this event.
2972
+ sequence_number:,
2973
+ # The type of the event. Always 'response.mcp_list_tools.failed'.
2974
+ type: :"response.mcp_list_tools.failed",
2975
+ # The WebSocket lane that emitted this event.
2976
+ # This field is present when the originating response.create supplied a stream_id.
2977
+ stream_id: nil
2978
+ )
2979
+ end
2980
+
2981
+ sig do
2982
+ override.returns(
2983
+ {
2984
+ item_id: String,
2985
+ output_index: Integer,
2986
+ sequence_number: Integer,
2987
+ type: Symbol,
2988
+ stream_id: String
2989
+ }
2990
+ )
2991
+ end
2992
+ def to_hash
2993
+ end
2994
+ end
2995
+
2996
+ class ResponseMcpListToolsInWsProgress < OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent
2997
+ OrHash =
2998
+ T.type_alias do
2999
+ T.any(
3000
+ OpenAI::Responses::ResponsesServerEvent::ResponseMcpListToolsInWsProgress,
3001
+ OpenAI::Internal::AnyHash
3002
+ )
3003
+ end
3004
+
3005
+ # The WebSocket lane that emitted this event. This field is present when the
3006
+ # originating `response.create` event supplied a `stream_id`.
3007
+ sig { returns(T.nilable(String)) }
3008
+ attr_reader :stream_id
3009
+
3010
+ sig { params(stream_id: String).void }
3011
+ attr_writer :stream_id
3012
+
3013
+ # Emitted when the system is in the process of retrieving the list of available
3014
+ # MCP tools.
3015
+ sig do
3016
+ params(
3017
+ item_id: String,
3018
+ output_index: Integer,
3019
+ sequence_number: Integer,
3020
+ type: Symbol,
3021
+ stream_id: String
3022
+ ).returns(T.attached_class)
3023
+ end
3024
+ def self.new(
3025
+ # The ID of the MCP tool call item that is being processed.
3026
+ item_id:,
3027
+ # The index of the output item that is being processed.
3028
+ output_index:,
3029
+ # The sequence number of this event.
3030
+ sequence_number:,
3031
+ # The type of the event. Always 'response.mcp_list_tools.in_progress'.
3032
+ type: :"response.mcp_list_tools.in_progress",
3033
+ # The WebSocket lane that emitted this event.
3034
+ # This field is present when the originating response.create supplied a stream_id.
3035
+ stream_id: nil
3036
+ )
3037
+ end
3038
+
3039
+ sig do
3040
+ override.returns(
3041
+ {
3042
+ item_id: String,
3043
+ output_index: Integer,
3044
+ sequence_number: Integer,
3045
+ type: Symbol,
3046
+ stream_id: String
3047
+ }
3048
+ )
3049
+ end
3050
+ def to_hash
3051
+ end
3052
+ end
3053
+
3054
+ class ResponseOutputTextAnnotationWsAdded < OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent
3055
+ OrHash =
3056
+ T.type_alias do
3057
+ T.any(
3058
+ OpenAI::Responses::ResponsesServerEvent::ResponseOutputTextAnnotationWsAdded,
3059
+ OpenAI::Internal::AnyHash
3060
+ )
3061
+ end
3062
+
3063
+ # The WebSocket lane that emitted this event. This field is present when the
3064
+ # originating `response.create` event supplied a `stream_id`.
3065
+ sig { returns(T.nilable(String)) }
3066
+ attr_reader :stream_id
3067
+
3068
+ sig { params(stream_id: String).void }
3069
+ attr_writer :stream_id
3070
+
3071
+ # Emitted when an annotation is added to output text content.
3072
+ sig do
3073
+ params(
3074
+ annotation: T.anything,
3075
+ annotation_index: Integer,
3076
+ content_index: Integer,
3077
+ item_id: String,
3078
+ output_index: Integer,
3079
+ sequence_number: Integer,
3080
+ type: Symbol,
3081
+ stream_id: String
3082
+ ).returns(T.attached_class)
3083
+ end
3084
+ def self.new(
3085
+ # The annotation object being added. (See annotation schema for details.)
3086
+ annotation:,
3087
+ # The index of the annotation within the content part.
3088
+ annotation_index:,
3089
+ # The index of the content part within the output item.
3090
+ content_index:,
3091
+ # The unique identifier of the item to which the annotation is being added.
3092
+ item_id:,
3093
+ # The index of the output item in the response's output array.
3094
+ output_index:,
3095
+ # The sequence number of this event.
3096
+ sequence_number:,
3097
+ # The type of the event. Always 'response.output_text.annotation.added'.
3098
+ type: :"response.output_text.annotation.added",
3099
+ # The WebSocket lane that emitted this event.
3100
+ # This field is present when the originating response.create supplied a stream_id.
3101
+ stream_id: nil
3102
+ )
3103
+ end
3104
+
3105
+ sig do
3106
+ override.returns(
3107
+ {
3108
+ annotation: T.anything,
3109
+ annotation_index: Integer,
3110
+ content_index: Integer,
3111
+ item_id: String,
3112
+ output_index: Integer,
3113
+ sequence_number: Integer,
3114
+ type: Symbol,
3115
+ stream_id: String
3116
+ }
3117
+ )
3118
+ end
3119
+ def to_hash
3120
+ end
3121
+ end
3122
+
3123
+ class ResponseWsQueued < OpenAI::Models::Responses::ResponseQueuedEvent
3124
+ OrHash =
3125
+ T.type_alias do
3126
+ T.any(
3127
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsQueued,
3128
+ OpenAI::Internal::AnyHash
3129
+ )
3130
+ end
3131
+
3132
+ # The WebSocket lane that emitted this event. This field is present when the
3133
+ # originating `response.create` event supplied a `stream_id`.
3134
+ sig { returns(T.nilable(String)) }
3135
+ attr_reader :stream_id
3136
+
3137
+ sig { params(stream_id: String).void }
3138
+ attr_writer :stream_id
3139
+
3140
+ # Emitted when a response is queued and waiting to be processed.
3141
+ sig do
3142
+ params(
3143
+ response: OpenAI::Responses::Response::OrHash,
3144
+ sequence_number: Integer,
3145
+ type: Symbol,
3146
+ stream_id: String
3147
+ ).returns(T.attached_class)
3148
+ end
3149
+ def self.new(
3150
+ # The full response object that is queued.
3151
+ response:,
3152
+ # The sequence number for this event.
3153
+ sequence_number:,
3154
+ # The type of the event. Always 'response.queued'.
3155
+ type: :"response.queued",
3156
+ # The WebSocket lane that emitted this event.
3157
+ # This field is present when the originating response.create supplied a stream_id.
3158
+ stream_id: nil
3159
+ )
3160
+ end
3161
+
3162
+ sig do
3163
+ override.returns(
3164
+ {
3165
+ response: OpenAI::Responses::Response,
3166
+ sequence_number: Integer,
3167
+ type: Symbol,
3168
+ stream_id: String
3169
+ }
3170
+ )
3171
+ end
3172
+ def to_hash
3173
+ end
3174
+ end
3175
+
3176
+ class ResponseCustomToolCallInputWsDelta < OpenAI::Models::Responses::ResponseCustomToolCallInputDeltaEvent
3177
+ OrHash =
3178
+ T.type_alias do
3179
+ T.any(
3180
+ OpenAI::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDelta,
3181
+ OpenAI::Internal::AnyHash
3182
+ )
3183
+ end
3184
+
3185
+ # The WebSocket lane that emitted this event. This field is present when the
3186
+ # originating `response.create` event supplied a `stream_id`.
3187
+ sig { returns(T.nilable(String)) }
3188
+ attr_reader :stream_id
3189
+
3190
+ sig { params(stream_id: String).void }
3191
+ attr_writer :stream_id
3192
+
3193
+ # Event representing a delta (partial update) to the input of a custom tool call.
3194
+ sig do
3195
+ params(
3196
+ delta: String,
3197
+ item_id: String,
3198
+ output_index: Integer,
3199
+ sequence_number: Integer,
3200
+ type: Symbol,
3201
+ stream_id: String
3202
+ ).returns(T.attached_class)
3203
+ end
3204
+ def self.new(
3205
+ # The incremental input data (delta) for the custom tool call.
3206
+ delta:,
3207
+ # Unique identifier for the API item associated with this event.
3208
+ item_id:,
3209
+ # The index of the output this delta applies to.
3210
+ output_index:,
3211
+ # The sequence number of this event.
3212
+ sequence_number:,
3213
+ # The event type identifier.
3214
+ type: :"response.custom_tool_call_input.delta",
3215
+ # The WebSocket lane that emitted this event.
3216
+ # This field is present when the originating response.create supplied a stream_id.
3217
+ stream_id: nil
3218
+ )
3219
+ end
3220
+
3221
+ sig do
3222
+ override.returns(
3223
+ {
3224
+ delta: String,
3225
+ item_id: String,
3226
+ output_index: Integer,
3227
+ sequence_number: Integer,
3228
+ type: Symbol,
3229
+ stream_id: String
3230
+ }
3231
+ )
3232
+ end
3233
+ def to_hash
3234
+ end
3235
+ end
3236
+
3237
+ class ResponseCustomToolCallInputWsDone < OpenAI::Models::Responses::ResponseCustomToolCallInputDoneEvent
3238
+ OrHash =
3239
+ T.type_alias do
3240
+ T.any(
3241
+ OpenAI::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDone,
3242
+ OpenAI::Internal::AnyHash
3243
+ )
3244
+ end
3245
+
3246
+ # The WebSocket lane that emitted this event. This field is present when the
3247
+ # originating `response.create` event supplied a `stream_id`.
3248
+ sig { returns(T.nilable(String)) }
3249
+ attr_reader :stream_id
3250
+
3251
+ sig { params(stream_id: String).void }
3252
+ attr_writer :stream_id
3253
+
3254
+ # Event indicating that input for a custom tool call is complete.
3255
+ sig do
3256
+ params(
3257
+ input: String,
3258
+ item_id: String,
3259
+ output_index: Integer,
3260
+ sequence_number: Integer,
3261
+ type: Symbol,
3262
+ stream_id: String
3263
+ ).returns(T.attached_class)
3264
+ end
3265
+ def self.new(
3266
+ # The complete input data for the custom tool call.
3267
+ input:,
3268
+ # Unique identifier for the API item associated with this event.
3269
+ item_id:,
3270
+ # The index of the output this event applies to.
3271
+ output_index:,
3272
+ # The sequence number of this event.
3273
+ sequence_number:,
3274
+ # The event type identifier.
3275
+ type: :"response.custom_tool_call_input.done",
3276
+ # The WebSocket lane that emitted this event.
3277
+ # This field is present when the originating response.create supplied a stream_id.
3278
+ stream_id: nil
3279
+ )
3280
+ end
3281
+
3282
+ sig do
3283
+ override.returns(
3284
+ {
3285
+ input: String,
3286
+ item_id: String,
3287
+ output_index: Integer,
3288
+ sequence_number: Integer,
3289
+ type: Symbol,
3290
+ stream_id: String
3291
+ }
3292
+ )
3293
+ end
3294
+ def to_hash
3295
+ end
3296
+ end
3297
+
69
3298
  sig do
70
3299
  override.returns(
71
3300
  T::Array[OpenAI::Responses::ResponsesServerEvent::Variants]