openai 0.78.0 → 0.80.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 (239) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +99 -0
  3. data/README.md +241 -8
  4. data/SECURITY.md +6 -22
  5. data/azure.md +110 -0
  6. data/bedrock.md +197 -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 +5 -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_mcp_tool_call_error.rb +84 -0
  47. data/lib/openai/models/beta/beta_response.rb +27 -0
  48. data/lib/openai/models/beta/beta_response_input_item.rb +3 -3
  49. data/lib/openai/models/beta/beta_response_item.rb +3 -3
  50. data/lib/openai/models/beta/beta_response_output_item.rb +3 -3
  51. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +5 -2
  52. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +201 -4
  53. data/lib/openai/models/beta/beta_response_reasoning_item.rb +5 -0
  54. data/lib/openai/models/beta/beta_response_stream_event.rb +1 -1
  55. data/lib/openai/models/beta/beta_responses_client_event.rb +46 -3
  56. data/lib/openai/models/beta/beta_responses_server_event.rb +1143 -63
  57. data/lib/openai/models/beta/beta_web_search_tool.rb +11 -1
  58. data/lib/openai/models/beta/response_compact_params.rb +18 -0
  59. data/lib/openai/models/beta/response_create_params.rb +27 -0
  60. data/lib/openai/models/chat_model.rb +1 -0
  61. data/lib/openai/models/completion_usage.rb +26 -2
  62. data/lib/openai/models/containers/file_create_params.rb +4 -0
  63. data/lib/openai/models/content_provenance_check_create_params.rb +4 -0
  64. data/lib/openai/models/conversations/conversation_item.rb +3 -3
  65. data/lib/openai/models/file_create_params.rb +4 -0
  66. data/lib/openai/models/image_create_variation_params.rb +4 -0
  67. data/lib/openai/models/image_edit_params.rb +8 -0
  68. data/lib/openai/models/model.rb +9 -1
  69. data/lib/openai/models/responses/mcp_tool_call_error.rb +82 -0
  70. data/lib/openai/models/responses/response.rb +9 -0
  71. data/lib/openai/models/responses/response_compact_params.rb +18 -0
  72. data/lib/openai/models/responses/response_create_params.rb +9 -0
  73. data/lib/openai/models/responses/response_input_item.rb +3 -3
  74. data/lib/openai/models/responses/response_item.rb +3 -3
  75. data/lib/openai/models/responses/response_output_item.rb +3 -3
  76. data/lib/openai/models/responses/response_output_item_added_event.rb +5 -2
  77. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +201 -4
  78. data/lib/openai/models/responses/response_reasoning_item.rb +5 -0
  79. data/lib/openai/models/responses/response_stream_event.rb +1 -1
  80. data/lib/openai/models/responses/responses_client_event.rb +22 -1
  81. data/lib/openai/models/responses/responses_server_event.rb +1107 -56
  82. data/lib/openai/models/responses/web_search_tool.rb +11 -1
  83. data/lib/openai/models/responses_model.rb +5 -0
  84. data/lib/openai/models/skill_create_params.rb +4 -0
  85. data/lib/openai/models/skills/version_create_params.rb +4 -0
  86. data/lib/openai/models/uploads/part_create_params.rb +4 -0
  87. data/lib/openai/models/vector_store_search_response.rb +3 -1
  88. data/lib/openai/models/video_create_character_params.rb +4 -0
  89. data/lib/openai/models/video_create_params.rb +4 -0
  90. data/lib/openai/models/video_edit_params.rb +4 -0
  91. data/lib/openai/models/video_extend_params.rb +4 -0
  92. data/lib/openai/models.rb +9 -1
  93. data/lib/openai/net_http_client.rb +20 -6
  94. data/lib/openai/providers/azure.rb +216 -0
  95. data/lib/openai/providers/bedrock.rb +130 -17
  96. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +1 -1
  97. data/lib/openai/resources/admin/organization/projects/groups.rb +1 -1
  98. data/lib/openai/resources/admin/organization/projects/users/roles.rb +1 -1
  99. data/lib/openai/resources/admin/organization/projects.rb +4 -2
  100. data/lib/openai/resources/audio/transcriptions.rb +8 -0
  101. data/lib/openai/resources/audio/translations.rb +4 -0
  102. data/lib/openai/resources/beta/responses.rb +1 -1
  103. data/lib/openai/resources/beta/threads/runs/steps.rb +2 -2
  104. data/lib/openai/resources/containers/files.rb +4 -0
  105. data/lib/openai/resources/content_provenance_checks.rb +4 -0
  106. data/lib/openai/resources/conversations/items.rb +1 -1
  107. data/lib/openai/resources/evals/runs/output_items.rb +1 -1
  108. data/lib/openai/resources/files.rb +5 -1
  109. data/lib/openai/resources/images.rb +12 -0
  110. data/lib/openai/resources/responses.rb +3 -2
  111. data/lib/openai/resources/skills/versions.rb +4 -0
  112. data/lib/openai/resources/skills.rb +4 -0
  113. data/lib/openai/resources/uploads/parts.rb +4 -0
  114. data/lib/openai/resources/vector_stores/file_batches.rb +1 -1
  115. data/lib/openai/resources/videos.rb +38 -0
  116. data/lib/openai/resources/webhooks.rb +18 -6
  117. data/lib/openai/version.rb +1 -1
  118. data/lib/openai.rb +111 -105
  119. data/rbi/openai/auth.rbi +4 -4
  120. data/rbi/openai/client.rbi +13 -3
  121. data/rbi/openai/errors.rbi +7 -0
  122. data/rbi/openai/helpers/streaming/events.rbi +12 -0
  123. data/rbi/openai/http_client.rbi +62 -2
  124. data/rbi/openai/internal/logging.rbi +192 -0
  125. data/rbi/openai/internal/provider.rbi +3 -0
  126. data/rbi/openai/internal/read_io_adapter.rbi +6 -1
  127. data/rbi/openai/internal/transport/base_client.rbi +61 -7
  128. data/rbi/openai/internal/type/base_model.rbi +24 -1
  129. data/rbi/openai/internal/type/base_page.rbi +13 -2
  130. data/rbi/openai/internal/type/base_stream.rbi +15 -4
  131. data/rbi/openai/internal/util.rbi +26 -2
  132. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +5 -0
  133. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +5 -0
  134. data/rbi/openai/models/all_models.rbi +25 -0
  135. data/rbi/openai/models/audio/transcription_create_params.rbi +14 -2
  136. data/rbi/openai/models/audio/translation_create_params.rbi +14 -2
  137. data/rbi/openai/models/beta/beta_mcp_tool_call_error.rbi +122 -0
  138. data/rbi/openai/models/beta/beta_response.rbi +47 -0
  139. data/rbi/openai/models/beta/beta_response_input_item.rbi +27 -3
  140. data/rbi/openai/models/beta/beta_response_item.rbi +27 -3
  141. data/rbi/openai/models/beta/beta_response_output_item.rbi +27 -3
  142. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +8 -2
  143. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +297 -5
  144. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +10 -0
  145. data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -1
  146. data/rbi/openai/models/beta/beta_responses_client_event.rbi +69 -1
  147. data/rbi/openai/models/beta/beta_responses_server_event.rbi +3945 -54
  148. data/rbi/openai/models/beta/beta_web_search_tool.rbi +15 -0
  149. data/rbi/openai/models/beta/response_compact_params.rbi +30 -0
  150. data/rbi/openai/models/beta/response_create_params.rbi +47 -0
  151. data/rbi/openai/models/chat_model.rbi +2 -0
  152. data/rbi/openai/models/completion_usage.rbi +39 -6
  153. data/rbi/openai/models/containers/file_create_params.rbi +8 -0
  154. data/rbi/openai/models/content_provenance_check_create_params.rbi +8 -0
  155. data/rbi/openai/models/conversations/conversation_item.rbi +12 -3
  156. data/rbi/openai/models/file_create_params.rbi +8 -0
  157. data/rbi/openai/models/image_create_variation_params.rbi +8 -0
  158. data/rbi/openai/models/image_edit_params.rbi +16 -0
  159. data/rbi/openai/models/model.rbi +14 -1
  160. data/rbi/openai/models/responses/mcp_tool_call_error.rbi +120 -0
  161. data/rbi/openai/models/responses/response.rbi +17 -0
  162. data/rbi/openai/models/responses/response_compact_params.rbi +30 -0
  163. data/rbi/openai/models/responses/response_create_params.rbi +17 -0
  164. data/rbi/openai/models/responses/response_input_item.rbi +27 -3
  165. data/rbi/openai/models/responses/response_item.rbi +27 -3
  166. data/rbi/openai/models/responses/response_output_item.rbi +27 -3
  167. data/rbi/openai/models/responses/response_output_item_added_event.rbi +8 -2
  168. data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +297 -5
  169. data/rbi/openai/models/responses/response_reasoning_item.rbi +10 -0
  170. data/rbi/openai/models/responses/response_stream_event.rbi +1 -1
  171. data/rbi/openai/models/responses/responses_client_event.rbi +36 -0
  172. data/rbi/openai/models/responses/responses_server_event.rbi +3385 -53
  173. data/rbi/openai/models/responses/web_search_tool.rbi +15 -0
  174. data/rbi/openai/models/responses_model.rbi +25 -0
  175. data/rbi/openai/models/skill_create_params.rbi +8 -0
  176. data/rbi/openai/models/skills/version_create_params.rbi +8 -0
  177. data/rbi/openai/models/uploads/part_create_params.rbi +8 -0
  178. data/rbi/openai/models/video_create_character_params.rbi +8 -0
  179. data/rbi/openai/models/video_create_params.rbi +8 -0
  180. data/rbi/openai/models/video_edit_params.rbi +8 -0
  181. data/rbi/openai/models/video_extend_params.rbi +8 -0
  182. data/rbi/openai/net_http_client.rbi +2 -2
  183. data/rbi/openai/providers.rbi +11 -0
  184. data/rbi/openai/resources/audio/transcriptions.rbi +14 -2
  185. data/rbi/openai/resources/audio/translations.rbi +7 -1
  186. data/rbi/openai/resources/beta/responses.rbi +8 -0
  187. data/rbi/openai/resources/containers/files.rbi +4 -0
  188. data/rbi/openai/resources/content_provenance_checks.rbi +4 -0
  189. data/rbi/openai/resources/files.rbi +5 -1
  190. data/rbi/openai/resources/images.rbi +20 -0
  191. data/rbi/openai/resources/responses.rbi +8 -0
  192. data/rbi/openai/resources/skills/versions.rbi +4 -0
  193. data/rbi/openai/resources/skills.rbi +4 -0
  194. data/rbi/openai/resources/uploads/parts.rbi +4 -0
  195. data/rbi/openai/resources/videos.rbi +16 -0
  196. data/sig/openai/client.rbs +6 -2
  197. data/sig/openai/errors.rbs +5 -0
  198. data/sig/openai/http_client.rbs +37 -2
  199. data/sig/openai/internal/logging.rbs +88 -0
  200. data/sig/openai/internal/provider.rbs +3 -1
  201. data/sig/openai/internal/read_io_adapter.rbs +3 -1
  202. data/sig/openai/internal/transport/base_client.rbs +33 -5
  203. data/sig/openai/internal/type/base_model.rbs +13 -0
  204. data/sig/openai/internal/type/base_page.rbs +8 -1
  205. data/sig/openai/internal/type/base_stream.rbs +8 -2
  206. data/sig/openai/internal/util.rbs +12 -0
  207. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +2 -0
  208. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +2 -0
  209. data/sig/openai/models/all_models.rbs +10 -0
  210. data/sig/openai/models/beta/beta_mcp_tool_call_error.rbs +75 -0
  211. data/sig/openai/models/beta/beta_response.rbs +14 -1
  212. data/sig/openai/models/beta/beta_response_input_item.rbs +4 -4
  213. data/sig/openai/models/beta/beta_response_item.rbs +4 -4
  214. data/sig/openai/models/beta/beta_response_output_item.rbs +4 -4
  215. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +149 -4
  216. data/sig/openai/models/beta/beta_responses_client_event.rbs +21 -1
  217. data/sig/openai/models/beta/beta_responses_server_event.rbs +2005 -53
  218. data/sig/openai/models/beta/beta_web_search_tool.rbs +7 -0
  219. data/sig/openai/models/beta/response_compact_params.rbs +12 -0
  220. data/sig/openai/models/beta/response_create_params.rbs +14 -1
  221. data/sig/openai/models/chat_model.rbs +2 -0
  222. data/sig/openai/models/completion_usage.rbs +27 -6
  223. data/sig/openai/models/conversations/conversation_item.rbs +4 -4
  224. data/sig/openai/models/model.rbs +12 -2
  225. data/sig/openai/models/responses/mcp_tool_call_error.rbs +73 -0
  226. data/sig/openai/models/responses/response.rbs +2 -1
  227. data/sig/openai/models/responses/response_compact_params.rbs +12 -0
  228. data/sig/openai/models/responses/response_create_params.rbs +2 -1
  229. data/sig/openai/models/responses/response_input_item.rbs +4 -4
  230. data/sig/openai/models/responses/response_item.rbs +4 -4
  231. data/sig/openai/models/responses/response_output_item.rbs +4 -4
  232. data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +149 -4
  233. data/sig/openai/models/responses/responses_client_event.rbs +9 -1
  234. data/sig/openai/models/responses/responses_server_event.rbs +1834 -53
  235. data/sig/openai/models/responses/web_search_tool.rbs +7 -0
  236. data/sig/openai/models/responses_model.rbs +10 -0
  237. data/sig/openai/net_http_client.rbs +2 -2
  238. data/sig/openai/providers.rbs +7 -0
  239. metadata +30 -1
@@ -9,192 +9,1243 @@ module OpenAI
9
9
 
10
10
  discriminator :type
11
11
 
12
+ # Emitted when an error occurs while processing a Responses WebSocket request.
13
+ variant :error, -> { OpenAI::Responses::ResponsesServerEvent::ResponseWsError }
14
+
12
15
  # Emitted when there is a partial audio response.
13
- variant :"response.audio.delta", -> { OpenAI::Responses::ResponseAudioDeltaEvent }
16
+ variant :"response.audio.delta", -> { OpenAI::Responses::ResponsesServerEvent::ResponseAudioWsDelta }
14
17
 
15
18
  # Emitted when the audio response is complete.
16
- variant :"response.audio.done", -> { OpenAI::Responses::ResponseAudioDoneEvent }
19
+ variant :"response.audio.done", -> { OpenAI::Responses::ResponsesServerEvent::ResponseAudioWsDone }
17
20
 
18
21
  # Emitted when there is a partial transcript of audio.
19
- variant :"response.audio.transcript.delta", -> { OpenAI::Responses::ResponseAudioTranscriptDeltaEvent }
22
+ variant :"response.audio.transcript.delta",
23
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDelta }
20
24
 
21
25
  # Emitted when the full audio transcript is completed.
22
- variant :"response.audio.transcript.done", -> { OpenAI::Responses::ResponseAudioTranscriptDoneEvent }
26
+ variant :"response.audio.transcript.done",
27
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDone }
23
28
 
24
29
  # Emitted when a partial code snippet is streamed by the code interpreter.
25
30
  variant :"response.code_interpreter_call_code.delta",
26
- -> { OpenAI::Responses::ResponseCodeInterpreterCallCodeDeltaEvent }
31
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDelta }
27
32
 
28
33
  # Emitted when the code snippet is finalized by the code interpreter.
29
34
  variant :"response.code_interpreter_call_code.done",
30
- -> { OpenAI::Responses::ResponseCodeInterpreterCallCodeDoneEvent }
35
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDone }
31
36
 
32
37
  # Emitted when the code interpreter call is completed.
33
38
  variant :"response.code_interpreter_call.completed",
34
- -> { OpenAI::Responses::ResponseCodeInterpreterCallCompletedEvent }
39
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsCompleted }
35
40
 
36
41
  # Emitted when a code interpreter call is in progress.
37
42
  variant :"response.code_interpreter_call.in_progress",
38
- -> { OpenAI::Responses::ResponseCodeInterpreterCallInProgressEvent }
43
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallInWsProgress }
39
44
 
40
45
  # Emitted when the code interpreter is actively interpreting the code snippet.
41
46
  variant :"response.code_interpreter_call.interpreting",
42
- -> { OpenAI::Responses::ResponseCodeInterpreterCallInterpretingEvent }
47
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsInterpreting }
43
48
 
44
49
  # Emitted when the model response is complete.
45
- variant :"response.completed", -> { OpenAI::Responses::ResponseCompletedEvent }
50
+ variant :"response.completed", -> { OpenAI::Responses::ResponsesServerEvent::ResponseWsCompleted }
46
51
 
47
52
  # Emitted when a new content part is added.
48
- variant :"response.content_part.added", -> { OpenAI::Responses::ResponseContentPartAddedEvent }
53
+ variant :"response.content_part.added",
54
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsAdded }
49
55
 
50
56
  # Emitted when a content part is done.
51
- variant :"response.content_part.done", -> { OpenAI::Responses::ResponseContentPartDoneEvent }
57
+ variant :"response.content_part.done",
58
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsDone }
52
59
 
53
60
  # An event that is emitted when a response is created.
54
- variant :"response.created", -> { OpenAI::Responses::ResponseCreatedEvent }
55
-
56
- # Emitted when an error occurs.
57
- variant :error, -> { OpenAI::Responses::ResponseErrorEvent }
61
+ variant :"response.created", -> { OpenAI::Responses::ResponsesServerEvent::ResponseWsCreated }
58
62
 
59
63
  # Emitted when a file search call is completed (results found).
60
64
  variant :"response.file_search_call.completed",
61
- -> { OpenAI::Responses::ResponseFileSearchCallCompletedEvent }
65
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseFileSearchCallWsCompleted }
62
66
 
63
67
  # Emitted when a file search call is initiated.
64
68
  variant :"response.file_search_call.in_progress",
65
- -> { OpenAI::Responses::ResponseFileSearchCallInProgressEvent }
69
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseFileSearchCallInWsProgress }
66
70
 
67
71
  # Emitted when a file search is currently searching.
68
72
  variant :"response.file_search_call.searching",
69
- -> { OpenAI::Responses::ResponseFileSearchCallSearchingEvent }
73
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseFileSearchCallWsSearching }
70
74
 
71
75
  # Emitted when there is a partial function-call arguments delta.
72
76
  variant :"response.function_call_arguments.delta",
73
- -> { OpenAI::Responses::ResponseFunctionCallArgumentsDeltaEvent }
77
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDelta }
74
78
 
75
79
  # Emitted when function-call arguments are finalized.
76
80
  variant :"response.function_call_arguments.done",
77
- -> { OpenAI::Responses::ResponseFunctionCallArgumentsDoneEvent }
81
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDone }
78
82
 
79
83
  # Emitted when the response is in progress.
80
- variant :"response.in_progress", -> { OpenAI::Responses::ResponseInProgressEvent }
84
+ variant :"response.in_progress", -> { OpenAI::Responses::ResponsesServerEvent::ResponseInWsProgress }
81
85
 
82
86
  # An event that is emitted when a response fails.
83
- variant :"response.failed", -> { OpenAI::Responses::ResponseFailedEvent }
87
+ variant :"response.failed", -> { OpenAI::Responses::ResponsesServerEvent::ResponseWsFailed }
84
88
 
85
89
  # An event that is emitted when a response finishes as incomplete.
86
- variant :"response.incomplete", -> { OpenAI::Responses::ResponseIncompleteEvent }
90
+ variant :"response.incomplete", -> { OpenAI::Responses::ResponsesServerEvent::ResponseWsIncomplete }
87
91
 
88
92
  # Emitted when a new output item is added.
89
- variant :"response.output_item.added", -> { OpenAI::Responses::ResponseOutputItemAddedEvent }
93
+ variant :"response.output_item.added",
94
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseOutputItemWsAdded }
90
95
 
91
96
  # Emitted when an output item is marked done.
92
- variant :"response.output_item.done", -> { OpenAI::Responses::ResponseOutputItemDoneEvent }
97
+ variant :"response.output_item.done",
98
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseOutputItemWsDone }
93
99
 
94
100
  # Emitted when a new reasoning summary part is added.
95
101
  variant :"response.reasoning_summary_part.added",
96
- -> { OpenAI::Responses::ResponseReasoningSummaryPartAddedEvent }
102
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsAdded }
97
103
 
98
104
  # Emitted when a reasoning summary part is completed.
99
105
  variant :"response.reasoning_summary_part.done",
100
- -> { OpenAI::Responses::ResponseReasoningSummaryPartDoneEvent }
106
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsDone }
101
107
 
102
108
  # Emitted when a delta is added to a reasoning summary text.
103
109
  variant :"response.reasoning_summary_text.delta",
104
- -> { OpenAI::Responses::ResponseReasoningSummaryTextDeltaEvent }
110
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDelta }
105
111
 
106
112
  # Emitted when a reasoning summary text is completed.
107
113
  variant :"response.reasoning_summary_text.done",
108
- -> { OpenAI::Responses::ResponseReasoningSummaryTextDoneEvent }
114
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDone }
109
115
 
110
116
  # Emitted when a delta is added to a reasoning text.
111
- variant :"response.reasoning_text.delta", -> { OpenAI::Responses::ResponseReasoningTextDeltaEvent }
117
+ variant :"response.reasoning_text.delta",
118
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseReasoningTextWsDelta }
112
119
 
113
120
  # Emitted when a reasoning text is completed.
114
- variant :"response.reasoning_text.done", -> { OpenAI::Responses::ResponseReasoningTextDoneEvent }
121
+ variant :"response.reasoning_text.done",
122
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseReasoningTextWsDone }
115
123
 
116
124
  # Emitted when there is a partial refusal text.
117
- variant :"response.refusal.delta", -> { OpenAI::Responses::ResponseRefusalDeltaEvent }
125
+ variant :"response.refusal.delta", -> { OpenAI::Responses::ResponsesServerEvent::ResponseRefusalWsDelta }
118
126
 
119
127
  # Emitted when refusal text is finalized.
120
- variant :"response.refusal.done", -> { OpenAI::Responses::ResponseRefusalDoneEvent }
128
+ variant :"response.refusal.done", -> { OpenAI::Responses::ResponsesServerEvent::ResponseRefusalWsDone }
121
129
 
122
130
  # Emitted when there is an additional text delta.
123
- variant :"response.output_text.delta", -> { OpenAI::Responses::ResponseTextDeltaEvent }
131
+ variant :"response.output_text.delta", -> { OpenAI::Responses::ResponsesServerEvent::ResponseTextWsDelta }
124
132
 
125
133
  # Emitted when text content is finalized.
126
- variant :"response.output_text.done", -> { OpenAI::Responses::ResponseTextDoneEvent }
134
+ variant :"response.output_text.done", -> { OpenAI::Responses::ResponsesServerEvent::ResponseTextWsDone }
127
135
 
128
136
  # Emitted when a web search call is completed.
129
137
  variant :"response.web_search_call.completed",
130
- -> { OpenAI::Responses::ResponseWebSearchCallCompletedEvent }
138
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseWebSearchCallWsCompleted }
131
139
 
132
140
  # Emitted when a web search call is initiated.
133
141
  variant :"response.web_search_call.in_progress",
134
- -> { OpenAI::Responses::ResponseWebSearchCallInProgressEvent }
142
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseWebSearchCallInWsProgress }
135
143
 
136
144
  # Emitted when a web search call is executing.
137
145
  variant :"response.web_search_call.searching",
138
- -> { OpenAI::Responses::ResponseWebSearchCallSearchingEvent }
146
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseWebSearchCallWsSearching }
139
147
 
140
148
  # Emitted when an image generation tool call has completed and the final image is available.
141
149
  variant :"response.image_generation_call.completed",
142
- -> { OpenAI::Responses::ResponseImageGenCallCompletedEvent }
150
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallWsCompleted }
143
151
 
144
152
  # Emitted when an image generation tool call is actively generating an image (intermediate state).
145
153
  variant :"response.image_generation_call.generating",
146
- -> { OpenAI::Responses::ResponseImageGenCallGeneratingEvent }
154
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallWsGenerating }
147
155
 
148
156
  # Emitted when an image generation tool call is in progress.
149
157
  variant :"response.image_generation_call.in_progress",
150
- -> { OpenAI::Responses::ResponseImageGenCallInProgressEvent }
158
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallInWsProgress }
151
159
 
152
160
  # Emitted when a partial image is available during image generation streaming.
153
161
  variant :"response.image_generation_call.partial_image",
154
- -> { OpenAI::Responses::ResponseImageGenCallPartialImageEvent }
162
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseImageGenCallPartialWsImage }
155
163
 
156
164
  # Emitted when there is a delta (partial update) to the arguments of an MCP tool call.
157
- variant :"response.mcp_call_arguments.delta", -> { OpenAI::Responses::ResponseMcpCallArgumentsDeltaEvent }
165
+ variant :"response.mcp_call_arguments.delta",
166
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDelta }
158
167
 
159
168
  # Emitted when the arguments for an MCP tool call are finalized.
160
- variant :"response.mcp_call_arguments.done", -> { OpenAI::Responses::ResponseMcpCallArgumentsDoneEvent }
169
+ variant :"response.mcp_call_arguments.done",
170
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDone }
161
171
 
162
172
  # Emitted when an MCP tool call has completed successfully.
163
- variant :"response.mcp_call.completed", -> { OpenAI::Responses::ResponseMcpCallCompletedEvent }
173
+ variant :"response.mcp_call.completed",
174
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallWsCompleted }
164
175
 
165
176
  # Emitted when an MCP tool call has failed.
166
- variant :"response.mcp_call.failed", -> { OpenAI::Responses::ResponseMcpCallFailedEvent }
177
+ variant :"response.mcp_call.failed",
178
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallWsFailed }
167
179
 
168
180
  # Emitted when an MCP tool call is in progress.
169
- variant :"response.mcp_call.in_progress", -> { OpenAI::Responses::ResponseMcpCallInProgressEvent }
181
+ variant :"response.mcp_call.in_progress",
182
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseMcpCallInWsProgress }
170
183
 
171
184
  # Emitted when the list of available MCP tools has been successfully retrieved.
172
- variant :"response.mcp_list_tools.completed", -> { OpenAI::Responses::ResponseMcpListToolsCompletedEvent }
185
+ variant :"response.mcp_list_tools.completed",
186
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseMcpListToolsWsCompleted }
173
187
 
174
188
  # Emitted when the attempt to list available MCP tools has failed.
175
- variant :"response.mcp_list_tools.failed", -> { OpenAI::Responses::ResponseMcpListToolsFailedEvent }
189
+ variant :"response.mcp_list_tools.failed",
190
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseMcpListToolsWsFailed }
176
191
 
177
192
  # Emitted when the system is in the process of retrieving the list of available MCP tools.
178
193
  variant :"response.mcp_list_tools.in_progress",
179
- -> { OpenAI::Responses::ResponseMcpListToolsInProgressEvent }
194
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseMcpListToolsInWsProgress }
180
195
 
181
196
  # Emitted when an annotation is added to output text content.
182
197
  variant :"response.output_text.annotation.added",
183
- -> { OpenAI::Responses::ResponseOutputTextAnnotationAddedEvent }
198
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseOutputTextAnnotationWsAdded }
184
199
 
185
200
  # Emitted when a response is queued and waiting to be processed.
186
- variant :"response.queued", -> { OpenAI::Responses::ResponseQueuedEvent }
201
+ variant :"response.queued", -> { OpenAI::Responses::ResponsesServerEvent::ResponseWsQueued }
187
202
 
188
203
  # Event representing a delta (partial update) to the input of a custom tool call.
189
204
  variant :"response.custom_tool_call_input.delta",
190
- -> { OpenAI::Responses::ResponseCustomToolCallInputDeltaEvent }
205
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDelta }
191
206
 
192
207
  # Event indicating that input for a custom tool call is complete.
193
208
  variant :"response.custom_tool_call_input.done",
194
- -> { OpenAI::Responses::ResponseCustomToolCallInputDoneEvent }
209
+ -> { OpenAI::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDone }
210
+
211
+ class ResponseAudioWsDelta < OpenAI::Models::Responses::ResponseAudioDeltaEvent
212
+ # @!attribute stream_id
213
+ # The WebSocket lane that emitted this event. This field is present when the
214
+ # originating `response.create` event supplied a `stream_id`.
215
+ #
216
+ # @return [String, nil]
217
+ optional :stream_id, String
218
+
219
+ # @!method initialize(stream_id: nil)
220
+ # Some parameter documentations has been truncated, see
221
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseAudioWsDelta} for more
222
+ # details.
223
+ #
224
+ # Emitted when there is a partial audio response.
225
+ #
226
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
227
+ end
228
+
229
+ class ResponseAudioWsDone < OpenAI::Models::Responses::ResponseAudioDoneEvent
230
+ # @!attribute stream_id
231
+ # The WebSocket lane that emitted this event. This field is present when the
232
+ # originating `response.create` event supplied a `stream_id`.
233
+ #
234
+ # @return [String, nil]
235
+ optional :stream_id, String
236
+
237
+ # @!method initialize(stream_id: nil)
238
+ # Some parameter documentations has been truncated, see
239
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseAudioWsDone} for more
240
+ # details.
241
+ #
242
+ # Emitted when the audio response is complete.
243
+ #
244
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
245
+ end
246
+
247
+ class ResponseAudioTranscriptWsDelta < OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent
248
+ # @!attribute stream_id
249
+ # The WebSocket lane that emitted this event. This field is present when the
250
+ # originating `response.create` event supplied a `stream_id`.
251
+ #
252
+ # @return [String, nil]
253
+ optional :stream_id, String
254
+
255
+ # @!method initialize(stream_id: nil)
256
+ # Some parameter documentations has been truncated, see
257
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDelta}
258
+ # for more details.
259
+ #
260
+ # Emitted when there is a partial transcript of audio.
261
+ #
262
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
263
+ end
264
+
265
+ class ResponseAudioTranscriptWsDone < OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent
266
+ # @!attribute stream_id
267
+ # The WebSocket lane that emitted this event. This field is present when the
268
+ # originating `response.create` event supplied a `stream_id`.
269
+ #
270
+ # @return [String, nil]
271
+ optional :stream_id, String
272
+
273
+ # @!method initialize(stream_id: nil)
274
+ # Some parameter documentations has been truncated, see
275
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDone}
276
+ # for more details.
277
+ #
278
+ # Emitted when the full audio transcript is completed.
279
+ #
280
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
281
+ end
282
+
283
+ class ResponseCodeInterpreterCallCodeWsDelta < OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent
284
+ # @!attribute stream_id
285
+ # The WebSocket lane that emitted this event. This field is present when the
286
+ # originating `response.create` event supplied a `stream_id`.
287
+ #
288
+ # @return [String, nil]
289
+ optional :stream_id, String
290
+
291
+ # @!method initialize(stream_id: nil)
292
+ # Some parameter documentations has been truncated, see
293
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDelta}
294
+ # for more details.
295
+ #
296
+ # Emitted when a partial code snippet is streamed by the code interpreter.
297
+ #
298
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
299
+ end
300
+
301
+ class ResponseCodeInterpreterCallCodeWsDone < OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent
302
+ # @!attribute stream_id
303
+ # The WebSocket lane that emitted this event. This field is present when the
304
+ # originating `response.create` event supplied a `stream_id`.
305
+ #
306
+ # @return [String, nil]
307
+ optional :stream_id, String
308
+
309
+ # @!method initialize(stream_id: nil)
310
+ # Some parameter documentations has been truncated, see
311
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDone}
312
+ # for more details.
313
+ #
314
+ # Emitted when the code snippet is finalized by the code interpreter.
315
+ #
316
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
317
+ end
318
+
319
+ class ResponseCodeInterpreterCallWsCompleted < OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent
320
+ # @!attribute stream_id
321
+ # The WebSocket lane that emitted this event. This field is present when the
322
+ # originating `response.create` event supplied a `stream_id`.
323
+ #
324
+ # @return [String, nil]
325
+ optional :stream_id, String
326
+
327
+ # @!method initialize(stream_id: nil)
328
+ # Some parameter documentations has been truncated, see
329
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsCompleted}
330
+ # for more details.
331
+ #
332
+ # Emitted when the code interpreter call is completed.
333
+ #
334
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
335
+ end
336
+
337
+ class ResponseCodeInterpreterCallInWsProgress < OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent
338
+ # @!attribute stream_id
339
+ # The WebSocket lane that emitted this event. This field is present when the
340
+ # originating `response.create` event supplied a `stream_id`.
341
+ #
342
+ # @return [String, nil]
343
+ optional :stream_id, String
344
+
345
+ # @!method initialize(stream_id: nil)
346
+ # Some parameter documentations has been truncated, see
347
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallInWsProgress}
348
+ # for more details.
349
+ #
350
+ # Emitted when a code interpreter call is in progress.
351
+ #
352
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
353
+ end
354
+
355
+ class ResponseCodeInterpreterCallWsInterpreting < OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent
356
+ # @!attribute stream_id
357
+ # The WebSocket lane that emitted this event. This field is present when the
358
+ # originating `response.create` event supplied a `stream_id`.
359
+ #
360
+ # @return [String, nil]
361
+ optional :stream_id, String
362
+
363
+ # @!method initialize(stream_id: nil)
364
+ # Some parameter documentations has been truncated, see
365
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsInterpreting}
366
+ # for more details.
367
+ #
368
+ # Emitted when the code interpreter is actively interpreting the code snippet.
369
+ #
370
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
371
+ end
372
+
373
+ class ResponseWsCompleted < OpenAI::Models::Responses::ResponseCompletedEvent
374
+ # @!attribute stream_id
375
+ # The WebSocket lane that emitted this event. This field is present when the
376
+ # originating `response.create` event supplied a `stream_id`.
377
+ #
378
+ # @return [String, nil]
379
+ optional :stream_id, String
380
+
381
+ # @!method initialize(stream_id: nil)
382
+ # Some parameter documentations has been truncated, see
383
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsCompleted} for more
384
+ # details.
385
+ #
386
+ # Emitted when the model response is complete.
387
+ #
388
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
389
+ end
390
+
391
+ class ResponseContentPartWsAdded < OpenAI::Models::Responses::ResponseContentPartAddedEvent
392
+ # @!attribute stream_id
393
+ # The WebSocket lane that emitted this event. This field is present when the
394
+ # originating `response.create` event supplied a `stream_id`.
395
+ #
396
+ # @return [String, nil]
397
+ optional :stream_id, String
398
+
399
+ # @!method initialize(stream_id: nil)
400
+ # Some parameter documentations has been truncated, see
401
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseContentPartWsAdded}
402
+ # for more details.
403
+ #
404
+ # Emitted when a new content part is added.
405
+ #
406
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
407
+ end
408
+
409
+ class ResponseContentPartWsDone < OpenAI::Models::Responses::ResponseContentPartDoneEvent
410
+ # @!attribute stream_id
411
+ # The WebSocket lane that emitted this event. This field is present when the
412
+ # originating `response.create` event supplied a `stream_id`.
413
+ #
414
+ # @return [String, nil]
415
+ optional :stream_id, String
416
+
417
+ # @!method initialize(stream_id: nil)
418
+ # Some parameter documentations has been truncated, see
419
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseContentPartWsDone} for
420
+ # more details.
421
+ #
422
+ # Emitted when a content part is done.
423
+ #
424
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
425
+ end
426
+
427
+ class ResponseWsCreated < OpenAI::Models::Responses::ResponseCreatedEvent
428
+ # @!attribute stream_id
429
+ # The WebSocket lane that emitted this event. This field is present when the
430
+ # originating `response.create` event supplied a `stream_id`.
431
+ #
432
+ # @return [String, nil]
433
+ optional :stream_id, String
434
+
435
+ # @!method initialize(stream_id: nil)
436
+ # Some parameter documentations has been truncated, see
437
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsCreated} for more
438
+ # details.
439
+ #
440
+ # An event that is emitted when a response is created.
441
+ #
442
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
443
+ end
444
+
445
+ class ResponseFileSearchCallWsCompleted < OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent
446
+ # @!attribute stream_id
447
+ # The WebSocket lane that emitted this event. This field is present when the
448
+ # originating `response.create` event supplied a `stream_id`.
449
+ #
450
+ # @return [String, nil]
451
+ optional :stream_id, String
452
+
453
+ # @!method initialize(stream_id: nil)
454
+ # Some parameter documentations has been truncated, see
455
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseFileSearchCallWsCompleted}
456
+ # for more details.
457
+ #
458
+ # Emitted when a file search call is completed (results found).
459
+ #
460
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
461
+ end
462
+
463
+ class ResponseFileSearchCallInWsProgress < OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent
464
+ # @!attribute stream_id
465
+ # The WebSocket lane that emitted this event. This field is present when the
466
+ # originating `response.create` event supplied a `stream_id`.
467
+ #
468
+ # @return [String, nil]
469
+ optional :stream_id, String
470
+
471
+ # @!method initialize(stream_id: nil)
472
+ # Some parameter documentations has been truncated, see
473
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseFileSearchCallInWsProgress}
474
+ # for more details.
475
+ #
476
+ # Emitted when a file search call is initiated.
477
+ #
478
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
479
+ end
480
+
481
+ class ResponseFileSearchCallWsSearching < OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent
482
+ # @!attribute stream_id
483
+ # The WebSocket lane that emitted this event. This field is present when the
484
+ # originating `response.create` event supplied a `stream_id`.
485
+ #
486
+ # @return [String, nil]
487
+ optional :stream_id, String
488
+
489
+ # @!method initialize(stream_id: nil)
490
+ # Some parameter documentations has been truncated, see
491
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseFileSearchCallWsSearching}
492
+ # for more details.
493
+ #
494
+ # Emitted when a file search is currently searching.
495
+ #
496
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
497
+ end
498
+
499
+ class ResponseFunctionCallArgumentsWsDelta < OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent
500
+ # @!attribute stream_id
501
+ # The WebSocket lane that emitted this event. This field is present when the
502
+ # originating `response.create` event supplied a `stream_id`.
503
+ #
504
+ # @return [String, nil]
505
+ optional :stream_id, String
506
+
507
+ # @!method initialize(stream_id: nil)
508
+ # Some parameter documentations has been truncated, see
509
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDelta}
510
+ # for more details.
511
+ #
512
+ # Emitted when there is a partial function-call arguments delta.
513
+ #
514
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
515
+ end
516
+
517
+ class ResponseFunctionCallArgumentsWsDone < OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent
518
+ # @!attribute stream_id
519
+ # The WebSocket lane that emitted this event. This field is present when the
520
+ # originating `response.create` event supplied a `stream_id`.
521
+ #
522
+ # @return [String, nil]
523
+ optional :stream_id, String
524
+
525
+ # @!method initialize(stream_id: nil)
526
+ # Some parameter documentations has been truncated, see
527
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDone}
528
+ # for more details.
529
+ #
530
+ # Emitted when function-call arguments are finalized.
531
+ #
532
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
533
+ end
534
+
535
+ class ResponseInWsProgress < OpenAI::Models::Responses::ResponseInProgressEvent
536
+ # @!attribute stream_id
537
+ # The WebSocket lane that emitted this event. This field is present when the
538
+ # originating `response.create` event supplied a `stream_id`.
539
+ #
540
+ # @return [String, nil]
541
+ optional :stream_id, String
542
+
543
+ # @!method initialize(stream_id: nil)
544
+ # Some parameter documentations has been truncated, see
545
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseInWsProgress} for more
546
+ # details.
547
+ #
548
+ # Emitted when the response is in progress.
549
+ #
550
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
551
+ end
552
+
553
+ class ResponseWsFailed < OpenAI::Models::Responses::ResponseFailedEvent
554
+ # @!attribute stream_id
555
+ # The WebSocket lane that emitted this event. This field is present when the
556
+ # originating `response.create` event supplied a `stream_id`.
557
+ #
558
+ # @return [String, nil]
559
+ optional :stream_id, String
560
+
561
+ # @!method initialize(stream_id: nil)
562
+ # Some parameter documentations has been truncated, see
563
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsFailed} for more
564
+ # details.
565
+ #
566
+ # An event that is emitted when a response fails.
567
+ #
568
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
569
+ end
570
+
571
+ class ResponseWsIncomplete < OpenAI::Models::Responses::ResponseIncompleteEvent
572
+ # @!attribute stream_id
573
+ # The WebSocket lane that emitted this event. This field is present when the
574
+ # originating `response.create` event supplied a `stream_id`.
575
+ #
576
+ # @return [String, nil]
577
+ optional :stream_id, String
578
+
579
+ # @!method initialize(stream_id: nil)
580
+ # Some parameter documentations has been truncated, see
581
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsIncomplete} for more
582
+ # details.
583
+ #
584
+ # An event that is emitted when a response finishes as incomplete.
585
+ #
586
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
587
+ end
588
+
589
+ class ResponseOutputItemWsAdded < OpenAI::Models::Responses::ResponseOutputItemAddedEvent
590
+ # @!attribute stream_id
591
+ # The WebSocket lane that emitted this event. This field is present when the
592
+ # originating `response.create` event supplied a `stream_id`.
593
+ #
594
+ # @return [String, nil]
595
+ optional :stream_id, String
596
+
597
+ # @!method initialize(stream_id: nil)
598
+ # Some parameter documentations has been truncated, see
599
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseOutputItemWsAdded} for
600
+ # more details.
601
+ #
602
+ # Emitted when a new output item is added.
603
+ #
604
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
605
+ end
606
+
607
+ class ResponseOutputItemWsDone < OpenAI::Models::Responses::ResponseOutputItemDoneEvent
608
+ # @!attribute stream_id
609
+ # The WebSocket lane that emitted this event. This field is present when the
610
+ # originating `response.create` event supplied a `stream_id`.
611
+ #
612
+ # @return [String, nil]
613
+ optional :stream_id, String
614
+
615
+ # @!method initialize(stream_id: nil)
616
+ # Some parameter documentations has been truncated, see
617
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseOutputItemWsDone} for
618
+ # more details.
619
+ #
620
+ # Emitted when an output item is marked done.
621
+ #
622
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
623
+ end
624
+
625
+ class ResponseReasoningSummaryPartWsAdded < OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent
626
+ # @!attribute stream_id
627
+ # The WebSocket lane that emitted this event. This field is present when the
628
+ # originating `response.create` event supplied a `stream_id`.
629
+ #
630
+ # @return [String, nil]
631
+ optional :stream_id, String
632
+
633
+ # @!method initialize(stream_id: nil)
634
+ # Some parameter documentations has been truncated, see
635
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsAdded}
636
+ # for more details.
637
+ #
638
+ # Emitted when a new reasoning summary part is added.
639
+ #
640
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
641
+ end
642
+
643
+ class ResponseReasoningSummaryPartWsDone < OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent
644
+ # @!attribute stream_id
645
+ # The WebSocket lane that emitted this event. This field is present when the
646
+ # originating `response.create` event supplied a `stream_id`.
647
+ #
648
+ # @return [String, nil]
649
+ optional :stream_id, String
650
+
651
+ # @!method initialize(stream_id: nil)
652
+ # Some parameter documentations has been truncated, see
653
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsDone}
654
+ # for more details.
655
+ #
656
+ # Emitted when a reasoning summary part is completed.
657
+ #
658
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
659
+ end
660
+
661
+ class ResponseReasoningSummaryTextWsDelta < OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent
662
+ # @!attribute stream_id
663
+ # The WebSocket lane that emitted this event. This field is present when the
664
+ # originating `response.create` event supplied a `stream_id`.
665
+ #
666
+ # @return [String, nil]
667
+ optional :stream_id, String
668
+
669
+ # @!method initialize(stream_id: nil)
670
+ # Some parameter documentations has been truncated, see
671
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDelta}
672
+ # for more details.
673
+ #
674
+ # Emitted when a delta is added to a reasoning summary text.
675
+ #
676
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
677
+ end
678
+
679
+ class ResponseReasoningSummaryTextWsDone < OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent
680
+ # @!attribute stream_id
681
+ # The WebSocket lane that emitted this event. This field is present when the
682
+ # originating `response.create` event supplied a `stream_id`.
683
+ #
684
+ # @return [String, nil]
685
+ optional :stream_id, String
686
+
687
+ # @!method initialize(stream_id: nil)
688
+ # Some parameter documentations has been truncated, see
689
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDone}
690
+ # for more details.
691
+ #
692
+ # Emitted when a reasoning summary text is completed.
693
+ #
694
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
695
+ end
696
+
697
+ class ResponseReasoningTextWsDelta < OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent
698
+ # @!attribute stream_id
699
+ # The WebSocket lane that emitted this event. This field is present when the
700
+ # originating `response.create` event supplied a `stream_id`.
701
+ #
702
+ # @return [String, nil]
703
+ optional :stream_id, String
704
+
705
+ # @!method initialize(stream_id: nil)
706
+ # Some parameter documentations has been truncated, see
707
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningTextWsDelta}
708
+ # for more details.
709
+ #
710
+ # Emitted when a delta is added to a reasoning text.
711
+ #
712
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
713
+ end
714
+
715
+ class ResponseReasoningTextWsDone < OpenAI::Models::Responses::ResponseReasoningTextDoneEvent
716
+ # @!attribute stream_id
717
+ # The WebSocket lane that emitted this event. This field is present when the
718
+ # originating `response.create` event supplied a `stream_id`.
719
+ #
720
+ # @return [String, nil]
721
+ optional :stream_id, String
722
+
723
+ # @!method initialize(stream_id: nil)
724
+ # Some parameter documentations has been truncated, see
725
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningTextWsDone}
726
+ # for more details.
727
+ #
728
+ # Emitted when a reasoning text is completed.
729
+ #
730
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
731
+ end
732
+
733
+ class ResponseRefusalWsDelta < OpenAI::Models::Responses::ResponseRefusalDeltaEvent
734
+ # @!attribute stream_id
735
+ # The WebSocket lane that emitted this event. This field is present when the
736
+ # originating `response.create` event supplied a `stream_id`.
737
+ #
738
+ # @return [String, nil]
739
+ optional :stream_id, String
740
+
741
+ # @!method initialize(stream_id: nil)
742
+ # Some parameter documentations has been truncated, see
743
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseRefusalWsDelta} for
744
+ # more details.
745
+ #
746
+ # Emitted when there is a partial refusal text.
747
+ #
748
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
749
+ end
750
+
751
+ class ResponseRefusalWsDone < OpenAI::Models::Responses::ResponseRefusalDoneEvent
752
+ # @!attribute stream_id
753
+ # The WebSocket lane that emitted this event. This field is present when the
754
+ # originating `response.create` event supplied a `stream_id`.
755
+ #
756
+ # @return [String, nil]
757
+ optional :stream_id, String
758
+
759
+ # @!method initialize(stream_id: nil)
760
+ # Some parameter documentations has been truncated, see
761
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseRefusalWsDone} for
762
+ # more details.
763
+ #
764
+ # Emitted when refusal text is finalized.
765
+ #
766
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
767
+ end
768
+
769
+ class ResponseTextWsDelta < OpenAI::Models::Responses::ResponseTextDeltaEvent
770
+ # @!attribute stream_id
771
+ # The WebSocket lane that emitted this event. This field is present when the
772
+ # originating `response.create` event supplied a `stream_id`.
773
+ #
774
+ # @return [String, nil]
775
+ optional :stream_id, String
776
+
777
+ # @!method initialize(stream_id: nil)
778
+ # Some parameter documentations has been truncated, see
779
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseTextWsDelta} for more
780
+ # details.
781
+ #
782
+ # Emitted when there is an additional text delta.
783
+ #
784
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
785
+ end
786
+
787
+ class ResponseTextWsDone < OpenAI::Models::Responses::ResponseTextDoneEvent
788
+ # @!attribute stream_id
789
+ # The WebSocket lane that emitted this event. This field is present when the
790
+ # originating `response.create` event supplied a `stream_id`.
791
+ #
792
+ # @return [String, nil]
793
+ optional :stream_id, String
794
+
795
+ # @!method initialize(stream_id: nil)
796
+ # Some parameter documentations has been truncated, see
797
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseTextWsDone} for more
798
+ # details.
799
+ #
800
+ # Emitted when text content is finalized.
801
+ #
802
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
803
+ end
804
+
805
+ class ResponseWebSearchCallWsCompleted < OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent
806
+ # @!attribute stream_id
807
+ # The WebSocket lane that emitted this event. This field is present when the
808
+ # originating `response.create` event supplied a `stream_id`.
809
+ #
810
+ # @return [String, nil]
811
+ optional :stream_id, String
812
+
813
+ # @!method initialize(stream_id: nil)
814
+ # Some parameter documentations has been truncated, see
815
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseWebSearchCallWsCompleted}
816
+ # for more details.
817
+ #
818
+ # Emitted when a web search call is completed.
819
+ #
820
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
821
+ end
822
+
823
+ class ResponseWebSearchCallInWsProgress < OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent
824
+ # @!attribute stream_id
825
+ # The WebSocket lane that emitted this event. This field is present when the
826
+ # originating `response.create` event supplied a `stream_id`.
827
+ #
828
+ # @return [String, nil]
829
+ optional :stream_id, String
830
+
831
+ # @!method initialize(stream_id: nil)
832
+ # Some parameter documentations has been truncated, see
833
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseWebSearchCallInWsProgress}
834
+ # for more details.
835
+ #
836
+ # Emitted when a web search call is initiated.
837
+ #
838
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
839
+ end
840
+
841
+ class ResponseWebSearchCallWsSearching < OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent
842
+ # @!attribute stream_id
843
+ # The WebSocket lane that emitted this event. This field is present when the
844
+ # originating `response.create` event supplied a `stream_id`.
845
+ #
846
+ # @return [String, nil]
847
+ optional :stream_id, String
848
+
849
+ # @!method initialize(stream_id: nil)
850
+ # Some parameter documentations has been truncated, see
851
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseWebSearchCallWsSearching}
852
+ # for more details.
853
+ #
854
+ # Emitted when a web search call is executing.
855
+ #
856
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
857
+ end
858
+
859
+ class ResponseImageGenCallWsCompleted < OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent
860
+ # @!attribute stream_id
861
+ # The WebSocket lane that emitted this event. This field is present when the
862
+ # originating `response.create` event supplied a `stream_id`.
863
+ #
864
+ # @return [String, nil]
865
+ optional :stream_id, String
866
+
867
+ # @!method initialize(stream_id: nil)
868
+ # Some parameter documentations has been truncated, see
869
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseImageGenCallWsCompleted}
870
+ # for more details.
871
+ #
872
+ # Emitted when an image generation tool call has completed and the final image is
873
+ # available.
874
+ #
875
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
876
+ end
877
+
878
+ class ResponseImageGenCallWsGenerating < OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent
879
+ # @!attribute stream_id
880
+ # The WebSocket lane that emitted this event. This field is present when the
881
+ # originating `response.create` event supplied a `stream_id`.
882
+ #
883
+ # @return [String, nil]
884
+ optional :stream_id, String
885
+
886
+ # @!method initialize(stream_id: nil)
887
+ # Some parameter documentations has been truncated, see
888
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseImageGenCallWsGenerating}
889
+ # for more details.
890
+ #
891
+ # Emitted when an image generation tool call is actively generating an image
892
+ # (intermediate state).
893
+ #
894
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
895
+ end
896
+
897
+ class ResponseImageGenCallInWsProgress < OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent
898
+ # @!attribute stream_id
899
+ # The WebSocket lane that emitted this event. This field is present when the
900
+ # originating `response.create` event supplied a `stream_id`.
901
+ #
902
+ # @return [String, nil]
903
+ optional :stream_id, String
904
+
905
+ # @!method initialize(stream_id: nil)
906
+ # Some parameter documentations has been truncated, see
907
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseImageGenCallInWsProgress}
908
+ # for more details.
909
+ #
910
+ # Emitted when an image generation tool call is in progress.
911
+ #
912
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
913
+ end
914
+
915
+ class ResponseImageGenCallPartialWsImage < OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent
916
+ # @!attribute stream_id
917
+ # The WebSocket lane that emitted this event. This field is present when the
918
+ # originating `response.create` event supplied a `stream_id`.
919
+ #
920
+ # @return [String, nil]
921
+ optional :stream_id, String
922
+
923
+ # @!method initialize(stream_id: nil)
924
+ # Some parameter documentations has been truncated, see
925
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseImageGenCallPartialWsImage}
926
+ # for more details.
927
+ #
928
+ # Emitted when a partial image is available during image generation streaming.
929
+ #
930
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
931
+ end
932
+
933
+ class ResponseMcpCallArgumentsWsDelta < OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent
934
+ # @!attribute stream_id
935
+ # The WebSocket lane that emitted this event. This field is present when the
936
+ # originating `response.create` event supplied a `stream_id`.
937
+ #
938
+ # @return [String, nil]
939
+ optional :stream_id, String
940
+
941
+ # @!method initialize(stream_id: nil)
942
+ # Some parameter documentations has been truncated, see
943
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDelta}
944
+ # for more details.
945
+ #
946
+ # Emitted when there is a delta (partial update) to the arguments of an MCP tool
947
+ # call.
948
+ #
949
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
950
+ end
951
+
952
+ class ResponseMcpCallArgumentsWsDone < OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent
953
+ # @!attribute stream_id
954
+ # The WebSocket lane that emitted this event. This field is present when the
955
+ # originating `response.create` event supplied a `stream_id`.
956
+ #
957
+ # @return [String, nil]
958
+ optional :stream_id, String
959
+
960
+ # @!method initialize(stream_id: nil)
961
+ # Some parameter documentations has been truncated, see
962
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDone}
963
+ # for more details.
964
+ #
965
+ # Emitted when the arguments for an MCP tool call are finalized.
966
+ #
967
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
968
+ end
969
+
970
+ class ResponseMcpCallWsCompleted < OpenAI::Models::Responses::ResponseMcpCallCompletedEvent
971
+ # @!attribute stream_id
972
+ # The WebSocket lane that emitted this event. This field is present when the
973
+ # originating `response.create` event supplied a `stream_id`.
974
+ #
975
+ # @return [String, nil]
976
+ optional :stream_id, String
977
+
978
+ # @!method initialize(stream_id: nil)
979
+ # Some parameter documentations has been truncated, see
980
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallWsCompleted}
981
+ # for more details.
982
+ #
983
+ # Emitted when an MCP tool call has completed successfully.
984
+ #
985
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
986
+ end
987
+
988
+ class ResponseMcpCallWsFailed < OpenAI::Models::Responses::ResponseMcpCallFailedEvent
989
+ # @!attribute stream_id
990
+ # The WebSocket lane that emitted this event. This field is present when the
991
+ # originating `response.create` event supplied a `stream_id`.
992
+ #
993
+ # @return [String, nil]
994
+ optional :stream_id, String
995
+
996
+ # @!method initialize(stream_id: nil)
997
+ # Some parameter documentations has been truncated, see
998
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallWsFailed} for
999
+ # more details.
1000
+ #
1001
+ # Emitted when an MCP tool call has failed.
1002
+ #
1003
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
1004
+ end
1005
+
1006
+ class ResponseMcpCallInWsProgress < OpenAI::Models::Responses::ResponseMcpCallInProgressEvent
1007
+ # @!attribute stream_id
1008
+ # The WebSocket lane that emitted this event. This field is present when the
1009
+ # originating `response.create` event supplied a `stream_id`.
1010
+ #
1011
+ # @return [String, nil]
1012
+ optional :stream_id, String
1013
+
1014
+ # @!method initialize(stream_id: nil)
1015
+ # Some parameter documentations has been truncated, see
1016
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallInWsProgress}
1017
+ # for more details.
1018
+ #
1019
+ # Emitted when an MCP tool call is in progress.
1020
+ #
1021
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
1022
+ end
1023
+
1024
+ class ResponseMcpListToolsWsCompleted < OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent
1025
+ # @!attribute stream_id
1026
+ # The WebSocket lane that emitted this event. This field is present when the
1027
+ # originating `response.create` event supplied a `stream_id`.
1028
+ #
1029
+ # @return [String, nil]
1030
+ optional :stream_id, String
1031
+
1032
+ # @!method initialize(stream_id: nil)
1033
+ # Some parameter documentations has been truncated, see
1034
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpListToolsWsCompleted}
1035
+ # for more details.
1036
+ #
1037
+ # Emitted when the list of available MCP tools has been successfully retrieved.
1038
+ #
1039
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
1040
+ end
1041
+
1042
+ class ResponseMcpListToolsWsFailed < OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent
1043
+ # @!attribute stream_id
1044
+ # The WebSocket lane that emitted this event. This field is present when the
1045
+ # originating `response.create` event supplied a `stream_id`.
1046
+ #
1047
+ # @return [String, nil]
1048
+ optional :stream_id, String
1049
+
1050
+ # @!method initialize(stream_id: nil)
1051
+ # Some parameter documentations has been truncated, see
1052
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpListToolsWsFailed}
1053
+ # for more details.
1054
+ #
1055
+ # Emitted when the attempt to list available MCP tools has failed.
1056
+ #
1057
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
1058
+ end
1059
+
1060
+ class ResponseMcpListToolsInWsProgress < OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent
1061
+ # @!attribute stream_id
1062
+ # The WebSocket lane that emitted this event. This field is present when the
1063
+ # originating `response.create` event supplied a `stream_id`.
1064
+ #
1065
+ # @return [String, nil]
1066
+ optional :stream_id, String
1067
+
1068
+ # @!method initialize(stream_id: nil)
1069
+ # Some parameter documentations has been truncated, see
1070
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpListToolsInWsProgress}
1071
+ # for more details.
1072
+ #
1073
+ # Emitted when the system is in the process of retrieving the list of available
1074
+ # MCP tools.
1075
+ #
1076
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
1077
+ end
1078
+
1079
+ class ResponseOutputTextAnnotationWsAdded < OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent
1080
+ # @!attribute stream_id
1081
+ # The WebSocket lane that emitted this event. This field is present when the
1082
+ # originating `response.create` event supplied a `stream_id`.
1083
+ #
1084
+ # @return [String, nil]
1085
+ optional :stream_id, String
1086
+
1087
+ # @!method initialize(stream_id: nil)
1088
+ # Some parameter documentations has been truncated, see
1089
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseOutputTextAnnotationWsAdded}
1090
+ # for more details.
1091
+ #
1092
+ # Emitted when an annotation is added to output text content.
1093
+ #
1094
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
1095
+ end
1096
+
1097
+ class ResponseWsQueued < OpenAI::Models::Responses::ResponseQueuedEvent
1098
+ # @!attribute stream_id
1099
+ # The WebSocket lane that emitted this event. This field is present when the
1100
+ # originating `response.create` event supplied a `stream_id`.
1101
+ #
1102
+ # @return [String, nil]
1103
+ optional :stream_id, String
1104
+
1105
+ # @!method initialize(stream_id: nil)
1106
+ # Some parameter documentations has been truncated, see
1107
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsQueued} for more
1108
+ # details.
1109
+ #
1110
+ # Emitted when a response is queued and waiting to be processed.
1111
+ #
1112
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
1113
+ end
1114
+
1115
+ class ResponseCustomToolCallInputWsDelta < OpenAI::Models::Responses::ResponseCustomToolCallInputDeltaEvent
1116
+ # @!attribute stream_id
1117
+ # The WebSocket lane that emitted this event. This field is present when the
1118
+ # originating `response.create` event supplied a `stream_id`.
1119
+ #
1120
+ # @return [String, nil]
1121
+ optional :stream_id, String
1122
+
1123
+ # @!method initialize(stream_id: nil)
1124
+ # Some parameter documentations has been truncated, see
1125
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDelta}
1126
+ # for more details.
1127
+ #
1128
+ # Event representing a delta (partial update) to the input of a custom tool call.
1129
+ #
1130
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
1131
+ end
1132
+
1133
+ class ResponseCustomToolCallInputWsDone < OpenAI::Models::Responses::ResponseCustomToolCallInputDoneEvent
1134
+ # @!attribute stream_id
1135
+ # The WebSocket lane that emitted this event. This field is present when the
1136
+ # originating `response.create` event supplied a `stream_id`.
1137
+ #
1138
+ # @return [String, nil]
1139
+ optional :stream_id, String
1140
+
1141
+ # @!method initialize(stream_id: nil)
1142
+ # Some parameter documentations has been truncated, see
1143
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDone}
1144
+ # for more details.
1145
+ #
1146
+ # Event indicating that input for a custom tool call is complete.
1147
+ #
1148
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present
1149
+ end
1150
+
1151
+ class ResponseWsError < OpenAI::Internal::Type::BaseModel
1152
+ # @!attribute error
1153
+ # Details about the error.
1154
+ #
1155
+ # @return [OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error]
1156
+ required :error, -> { OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error }
1157
+
1158
+ # @!attribute type
1159
+ # The type of the event. Always `error`.
1160
+ #
1161
+ # @return [Symbol, :error]
1162
+ required :type, const: :error
1163
+
1164
+ # @!attribute sequence_number
1165
+ # The sequence number of an error emitted by the response stream.
1166
+ #
1167
+ # @return [Integer, nil]
1168
+ optional :sequence_number, Integer
1169
+
1170
+ # @!attribute status
1171
+ # The HTTP status code associated with a WebSocket protocol error.
1172
+ #
1173
+ # @return [Integer, nil]
1174
+ optional :status, Integer
1175
+
1176
+ # @!attribute stream_id
1177
+ # The WebSocket lane that emitted this event. This field is present when the
1178
+ # originating `response.create` event supplied a `stream_id`.
1179
+ #
1180
+ # @return [String, nil]
1181
+ optional :stream_id, String
1182
+
1183
+ # @!method initialize(error:, sequence_number: nil, status: nil, stream_id: nil, type: :error)
1184
+ # Some parameter documentations has been truncated, see
1185
+ # {OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError} for more
1186
+ # details.
1187
+ #
1188
+ # Emitted when an error occurs while processing a Responses WebSocket request.
1189
+ #
1190
+ # @param error [OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error] Details about the error.
1191
+ #
1192
+ # @param sequence_number [Integer] The sequence number of an error emitted by the response stream.
1193
+ #
1194
+ # @param status [Integer] The HTTP status code associated with a WebSocket protocol error.
1195
+ #
1196
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present when the
1197
+ #
1198
+ # @param type [Symbol, :error] The type of the event. Always `error`.
1199
+
1200
+ # @see OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError#error
1201
+ class Error < OpenAI::Internal::Type::BaseModel
1202
+ # @!attribute code
1203
+ # The error code that was emitted, if any.
1204
+ #
1205
+ # @return [String, nil]
1206
+ required :code, String, nil?: true
1207
+
1208
+ # @!attribute message
1209
+ # The human-readable error message that was emitted.
1210
+ #
1211
+ # @return [String]
1212
+ required :message, String
1213
+
1214
+ # @!attribute param
1215
+ # The parameter name that was associated with the error, if any.
1216
+ #
1217
+ # @return [String, nil]
1218
+ required :param, String, nil?: true
1219
+
1220
+ # @!attribute type
1221
+ # The error type that was emitted.
1222
+ #
1223
+ # @return [String]
1224
+ required :type, String
1225
+
1226
+ # @!attribute headers
1227
+ # The response headers that were emitted with the error, if any.
1228
+ #
1229
+ # @return [Hash{Symbol=>String}, nil]
1230
+ optional :headers, OpenAI::Internal::Type::HashOf[String]
1231
+
1232
+ # @!method initialize(code:, message:, param:, type:, headers: nil)
1233
+ # Details about the error.
1234
+ #
1235
+ # @param code [String, nil] The error code that was emitted, if any.
1236
+ #
1237
+ # @param message [String] The human-readable error message that was emitted.
1238
+ #
1239
+ # @param param [String, nil] The parameter name that was associated with the error, if any.
1240
+ #
1241
+ # @param type [String] The error type that was emitted.
1242
+ #
1243
+ # @param headers [Hash{Symbol=>String}] The response headers that were emitted with the error, if any.
1244
+ end
1245
+ end
195
1246
 
196
1247
  # @!method self.variants
197
- # @return [Array(OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseReasoningTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDeltaEvent, OpenAI::Models::Responses::ResponseCustomToolCallInputDoneEvent)]
1248
+ # @return [Array(OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError, OpenAI::Models::Responses::ResponsesServerEvent::ResponseAudioWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseAudioWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallCodeWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsCompleted, OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallInWsProgress, OpenAI::Models::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsInterpreting, OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsCompleted, OpenAI::Models::Responses::ResponsesServerEvent::ResponseContentPartWsAdded, OpenAI::Models::Responses::ResponsesServerEvent::ResponseContentPartWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsCreated, OpenAI::Models::Responses::ResponsesServerEvent::ResponseFileSearchCallWsCompleted, OpenAI::Models::Responses::ResponsesServerEvent::ResponseFileSearchCallInWsProgress, OpenAI::Models::Responses::ResponsesServerEvent::ResponseFileSearchCallWsSearching, OpenAI::Models::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseFunctionCallArgumentsWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseInWsProgress, OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsFailed, OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsIncomplete, OpenAI::Models::Responses::ResponsesServerEvent::ResponseOutputItemWsAdded, OpenAI::Models::Responses::ResponsesServerEvent::ResponseOutputItemWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsAdded, OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningSummaryPartWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningSummaryTextWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningTextWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseReasoningTextWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseRefusalWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseRefusalWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseTextWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseTextWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseWebSearchCallWsCompleted, OpenAI::Models::Responses::ResponsesServerEvent::ResponseWebSearchCallInWsProgress, OpenAI::Models::Responses::ResponsesServerEvent::ResponseWebSearchCallWsSearching, OpenAI::Models::Responses::ResponsesServerEvent::ResponseImageGenCallWsCompleted, OpenAI::Models::Responses::ResponsesServerEvent::ResponseImageGenCallWsGenerating, OpenAI::Models::Responses::ResponsesServerEvent::ResponseImageGenCallInWsProgress, OpenAI::Models::Responses::ResponsesServerEvent::ResponseImageGenCallPartialWsImage, OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallArgumentsWsDone, OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallWsCompleted, OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallWsFailed, OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpCallInWsProgress, OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpListToolsWsCompleted, OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpListToolsWsFailed, OpenAI::Models::Responses::ResponsesServerEvent::ResponseMcpListToolsInWsProgress, OpenAI::Models::Responses::ResponsesServerEvent::ResponseOutputTextAnnotationWsAdded, OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsQueued, OpenAI::Models::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDelta, OpenAI::Models::Responses::ResponsesServerEvent::ResponseCustomToolCallInputWsDone)]
198
1249
  end
199
1250
  end
200
1251
  end