openai 0.9.0 → 0.11.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 (164) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +79 -1
  4. data/lib/openai/client.rb +11 -0
  5. data/lib/openai/errors.rb +25 -0
  6. data/lib/openai/internal/type/array_of.rb +6 -1
  7. data/lib/openai/internal/type/base_model.rb +76 -24
  8. data/lib/openai/internal/type/boolean.rb +7 -1
  9. data/lib/openai/internal/type/converter.rb +42 -34
  10. data/lib/openai/internal/type/enum.rb +10 -2
  11. data/lib/openai/internal/type/file_input.rb +6 -1
  12. data/lib/openai/internal/type/hash_of.rb +6 -1
  13. data/lib/openai/internal/type/union.rb +12 -7
  14. data/lib/openai/internal/type/unknown.rb +7 -1
  15. data/lib/openai/models/all_models.rb +4 -0
  16. data/lib/openai/models/audio/speech_create_params.rb +23 -2
  17. data/lib/openai/models/audio/transcription.rb +118 -1
  18. data/lib/openai/models/audio/transcription_text_done_event.rb +80 -1
  19. data/lib/openai/models/audio/transcription_verbose.rb +31 -1
  20. data/lib/openai/models/chat/chat_completion.rb +32 -31
  21. data/lib/openai/models/chat/chat_completion_chunk.rb +30 -29
  22. data/lib/openai/models/chat/completion_create_params.rb +34 -31
  23. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rb +60 -25
  24. data/lib/openai/models/images_response.rb +92 -1
  25. data/lib/openai/models/responses/response.rb +59 -35
  26. data/lib/openai/models/responses/response_code_interpreter_call_code_delta_event.rb +17 -8
  27. data/lib/openai/models/responses/response_code_interpreter_call_code_done_event.rb +14 -10
  28. data/lib/openai/models/responses/response_code_interpreter_call_completed_event.rb +11 -10
  29. data/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rb +11 -10
  30. data/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rb +11 -10
  31. data/lib/openai/models/responses/response_code_interpreter_tool_call.rb +49 -78
  32. data/lib/openai/models/responses/response_create_params.rb +92 -67
  33. data/lib/openai/models/responses/response_function_web_search.rb +115 -1
  34. data/lib/openai/models/responses/response_includable.rb +8 -6
  35. data/lib/openai/models/responses/response_output_text.rb +18 -2
  36. data/lib/openai/models/responses/response_stream_event.rb +2 -2
  37. data/lib/openai/models/responses/tool_choice_mcp.rb +40 -0
  38. data/lib/openai/models/responses/tool_choice_types.rb +0 -3
  39. data/lib/openai/models/responses_model.rb +4 -0
  40. data/lib/openai/models/webhooks/batch_cancelled_webhook_event.rb +84 -0
  41. data/lib/openai/models/webhooks/batch_completed_webhook_event.rb +84 -0
  42. data/lib/openai/models/webhooks/batch_expired_webhook_event.rb +84 -0
  43. data/lib/openai/models/webhooks/batch_failed_webhook_event.rb +84 -0
  44. data/lib/openai/models/webhooks/eval_run_canceled_webhook_event.rb +84 -0
  45. data/lib/openai/models/webhooks/eval_run_failed_webhook_event.rb +84 -0
  46. data/lib/openai/models/webhooks/eval_run_succeeded_webhook_event.rb +84 -0
  47. data/lib/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rb +85 -0
  48. data/lib/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rb +85 -0
  49. data/lib/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rb +85 -0
  50. data/lib/openai/models/webhooks/response_cancelled_webhook_event.rb +85 -0
  51. data/lib/openai/models/webhooks/response_completed_webhook_event.rb +85 -0
  52. data/lib/openai/models/webhooks/response_failed_webhook_event.rb +84 -0
  53. data/lib/openai/models/webhooks/response_incomplete_webhook_event.rb +85 -0
  54. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +59 -0
  55. data/lib/openai/models/webhooks/webhook_unwrap_params.rb +16 -0
  56. data/lib/openai/models.rb +2 -0
  57. data/lib/openai/resources/audio/speech.rb +3 -1
  58. data/lib/openai/resources/chat/completions.rb +10 -2
  59. data/lib/openai/resources/fine_tuning/checkpoints/permissions.rb +1 -2
  60. data/lib/openai/resources/responses.rb +24 -16
  61. data/lib/openai/resources/webhooks.rb +124 -0
  62. data/lib/openai/version.rb +1 -1
  63. data/lib/openai.rb +18 -0
  64. data/rbi/openai/client.rbi +3 -0
  65. data/rbi/openai/errors.rbi +16 -0
  66. data/rbi/openai/internal/type/boolean.rbi +2 -0
  67. data/rbi/openai/internal/type/converter.rbi +15 -15
  68. data/rbi/openai/internal/type/union.rbi +5 -0
  69. data/rbi/openai/internal/type/unknown.rbi +2 -0
  70. data/rbi/openai/models/all_models.rbi +20 -0
  71. data/rbi/openai/models/audio/speech_create_params.rbi +59 -2
  72. data/rbi/openai/models/audio/transcription.rbi +213 -3
  73. data/rbi/openai/models/audio/transcription_text_done_event.rbi +146 -1
  74. data/rbi/openai/models/audio/transcription_verbose.rbi +47 -0
  75. data/rbi/openai/models/chat/chat_completion.rbi +47 -42
  76. data/rbi/openai/models/chat/chat_completion_chunk.rbi +47 -42
  77. data/rbi/openai/models/chat/completion_create_params.rbi +51 -42
  78. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbi +95 -26
  79. data/rbi/openai/models/images_response.rbi +146 -0
  80. data/rbi/openai/models/responses/response.rbi +75 -44
  81. data/rbi/openai/models/responses/response_code_interpreter_call_code_delta_event.rbi +17 -7
  82. data/rbi/openai/models/responses/response_code_interpreter_call_code_done_event.rbi +13 -5
  83. data/rbi/openai/models/responses/response_code_interpreter_call_completed_event.rbi +13 -21
  84. data/rbi/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi +13 -21
  85. data/rbi/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi +13 -21
  86. data/rbi/openai/models/responses/response_code_interpreter_tool_call.rbi +83 -125
  87. data/rbi/openai/models/responses/response_create_params.rbi +174 -115
  88. data/rbi/openai/models/responses/response_function_web_search.rbi +163 -0
  89. data/rbi/openai/models/responses/response_includable.rbi +17 -11
  90. data/rbi/openai/models/responses/response_output_text.rbi +26 -4
  91. data/rbi/openai/models/responses/tool_choice_mcp.rbi +53 -0
  92. data/rbi/openai/models/responses/tool_choice_types.rbi +0 -5
  93. data/rbi/openai/models/responses_model.rbi +20 -0
  94. data/rbi/openai/models/webhooks/batch_cancelled_webhook_event.rbi +154 -0
  95. data/rbi/openai/models/webhooks/batch_completed_webhook_event.rbi +154 -0
  96. data/rbi/openai/models/webhooks/batch_expired_webhook_event.rbi +150 -0
  97. data/rbi/openai/models/webhooks/batch_failed_webhook_event.rbi +149 -0
  98. data/rbi/openai/models/webhooks/eval_run_canceled_webhook_event.rbi +154 -0
  99. data/rbi/openai/models/webhooks/eval_run_failed_webhook_event.rbi +151 -0
  100. data/rbi/openai/models/webhooks/eval_run_succeeded_webhook_event.rbi +154 -0
  101. data/rbi/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbi +158 -0
  102. data/rbi/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbi +156 -0
  103. data/rbi/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbi +158 -0
  104. data/rbi/openai/models/webhooks/response_cancelled_webhook_event.rbi +154 -0
  105. data/rbi/openai/models/webhooks/response_completed_webhook_event.rbi +154 -0
  106. data/rbi/openai/models/webhooks/response_failed_webhook_event.rbi +154 -0
  107. data/rbi/openai/models/webhooks/response_incomplete_webhook_event.rbi +155 -0
  108. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +40 -0
  109. data/rbi/openai/models/webhooks/webhook_unwrap_params.rbi +32 -0
  110. data/rbi/openai/models.rbi +2 -0
  111. data/rbi/openai/resources/audio/speech.rbi +6 -1
  112. data/rbi/openai/resources/chat/completions.rbi +34 -30
  113. data/rbi/openai/resources/fine_tuning/checkpoints/permissions.rbi +1 -3
  114. data/rbi/openai/resources/responses.rbi +108 -84
  115. data/rbi/openai/resources/webhooks.rbi +68 -0
  116. data/sig/openai/client.rbs +2 -0
  117. data/sig/openai/errors.rbs +9 -0
  118. data/sig/openai/internal/type/converter.rbs +7 -1
  119. data/sig/openai/models/all_models.rbs +8 -0
  120. data/sig/openai/models/audio/speech_create_params.rbs +21 -1
  121. data/sig/openai/models/audio/transcription.rbs +95 -3
  122. data/sig/openai/models/audio/transcription_text_done_event.rbs +72 -2
  123. data/sig/openai/models/audio/transcription_verbose.rbs +21 -0
  124. data/sig/openai/models/chat/chat_completion.rbs +2 -1
  125. data/sig/openai/models/chat/chat_completion_chunk.rbs +2 -1
  126. data/sig/openai/models/chat/completion_create_params.rbs +2 -1
  127. data/sig/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbs +53 -16
  128. data/sig/openai/models/images_response.rbs +83 -0
  129. data/sig/openai/models/responses/response.rbs +13 -1
  130. data/sig/openai/models/responses/response_code_interpreter_call_code_delta_event.rbs +5 -0
  131. data/sig/openai/models/responses/response_code_interpreter_call_code_done_event.rbs +5 -0
  132. data/sig/openai/models/responses/response_code_interpreter_call_completed_event.rbs +4 -4
  133. data/sig/openai/models/responses/response_code_interpreter_call_in_progress_event.rbs +4 -4
  134. data/sig/openai/models/responses/response_code_interpreter_call_interpreting_event.rbs +4 -4
  135. data/sig/openai/models/responses/response_code_interpreter_tool_call.rbs +31 -52
  136. data/sig/openai/models/responses/response_create_params.rbs +31 -11
  137. data/sig/openai/models/responses/response_function_web_search.rbs +54 -0
  138. data/sig/openai/models/responses/response_includable.rbs +7 -5
  139. data/sig/openai/models/responses/response_output_text.rbs +15 -1
  140. data/sig/openai/models/responses/tool_choice_mcp.rbs +23 -0
  141. data/sig/openai/models/responses/tool_choice_types.rbs +0 -2
  142. data/sig/openai/models/responses_model.rbs +8 -0
  143. data/sig/openai/models/webhooks/batch_cancelled_webhook_event.rbs +66 -0
  144. data/sig/openai/models/webhooks/batch_completed_webhook_event.rbs +66 -0
  145. data/sig/openai/models/webhooks/batch_expired_webhook_event.rbs +66 -0
  146. data/sig/openai/models/webhooks/batch_failed_webhook_event.rbs +66 -0
  147. data/sig/openai/models/webhooks/eval_run_canceled_webhook_event.rbs +66 -0
  148. data/sig/openai/models/webhooks/eval_run_failed_webhook_event.rbs +66 -0
  149. data/sig/openai/models/webhooks/eval_run_succeeded_webhook_event.rbs +66 -0
  150. data/sig/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbs +66 -0
  151. data/sig/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbs +66 -0
  152. data/sig/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbs +66 -0
  153. data/sig/openai/models/webhooks/response_cancelled_webhook_event.rbs +66 -0
  154. data/sig/openai/models/webhooks/response_completed_webhook_event.rbs +66 -0
  155. data/sig/openai/models/webhooks/response_failed_webhook_event.rbs +66 -0
  156. data/sig/openai/models/webhooks/response_incomplete_webhook_event.rbs +66 -0
  157. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +27 -0
  158. data/sig/openai/models/webhooks/webhook_unwrap_params.rbs +17 -0
  159. data/sig/openai/models.rbs +2 -0
  160. data/sig/openai/resources/audio/speech.rbs +1 -0
  161. data/sig/openai/resources/fine_tuning/checkpoints/permissions.rbs +1 -1
  162. data/sig/openai/resources/responses.rbs +8 -4
  163. data/sig/openai/resources/webhooks.rbs +33 -0
  164. metadata +56 -2
@@ -16,22 +16,29 @@ module OpenAI
16
16
  sig { returns(String) }
17
17
  attr_accessor :id
18
18
 
19
- # The code to run.
20
- sig { returns(String) }
19
+ # The code to run, or null if not available.
20
+ sig { returns(T.nilable(String)) }
21
21
  attr_accessor :code
22
22
 
23
- # The results of the code interpreter tool call.
23
+ # The ID of the container used to run the code.
24
+ sig { returns(String) }
25
+ attr_accessor :container_id
26
+
27
+ # The outputs generated by the code interpreter, such as logs or images. Can be
28
+ # null if no outputs are available.
24
29
  sig do
25
30
  returns(
26
- T::Array[
27
- T.any(
28
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Logs,
29
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files
30
- )
31
- ]
31
+ T.nilable(
32
+ T::Array[
33
+ T.any(
34
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Logs,
35
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Image
36
+ )
37
+ ]
38
+ )
32
39
  )
33
40
  end
34
- attr_accessor :results
41
+ attr_accessor :outputs
35
42
 
36
43
  # The status of the code interpreter tool call.
37
44
  sig do
@@ -45,42 +52,38 @@ module OpenAI
45
52
  sig { returns(Symbol) }
46
53
  attr_accessor :type
47
54
 
48
- # The ID of the container used to run the code.
49
- sig { returns(T.nilable(String)) }
50
- attr_reader :container_id
51
-
52
- sig { params(container_id: String).void }
53
- attr_writer :container_id
54
-
55
55
  # A tool call to run code.
56
56
  sig do
57
57
  params(
58
58
  id: String,
59
- code: String,
60
- results:
61
- T::Array[
62
- T.any(
63
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Logs::OrHash,
64
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files::OrHash
65
- )
66
- ],
59
+ code: T.nilable(String),
60
+ container_id: String,
61
+ outputs:
62
+ T.nilable(
63
+ T::Array[
64
+ T.any(
65
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Logs::OrHash,
66
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Image::OrHash
67
+ )
68
+ ]
69
+ ),
67
70
  status:
68
71
  OpenAI::Responses::ResponseCodeInterpreterToolCall::Status::OrSymbol,
69
- container_id: String,
70
72
  type: Symbol
71
73
  ).returns(T.attached_class)
72
74
  end
73
75
  def self.new(
74
76
  # The unique ID of the code interpreter tool call.
75
77
  id:,
76
- # The code to run.
78
+ # The code to run, or null if not available.
77
79
  code:,
78
- # The results of the code interpreter tool call.
79
- results:,
80
+ # The ID of the container used to run the code.
81
+ container_id:,
82
+ # The outputs generated by the code interpreter, such as logs or images. Can be
83
+ # null if no outputs are available.
84
+ outputs:,
80
85
  # The status of the code interpreter tool call.
81
86
  status:,
82
- # The ID of the container used to run the code.
83
- container_id: nil,
84
87
  # The type of the code interpreter tool call. Always `code_interpreter_call`.
85
88
  type: :code_interpreter_call
86
89
  )
@@ -90,33 +93,35 @@ module OpenAI
90
93
  override.returns(
91
94
  {
92
95
  id: String,
93
- code: String,
94
- results:
95
- T::Array[
96
- T.any(
97
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Logs,
98
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files
99
- )
100
- ],
96
+ code: T.nilable(String),
97
+ container_id: String,
98
+ outputs:
99
+ T.nilable(
100
+ T::Array[
101
+ T.any(
102
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Logs,
103
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Image
104
+ )
105
+ ]
106
+ ),
101
107
  status:
102
108
  OpenAI::Responses::ResponseCodeInterpreterToolCall::Status::OrSymbol,
103
- type: Symbol,
104
- container_id: String
109
+ type: Symbol
105
110
  }
106
111
  )
107
112
  end
108
113
  def to_hash
109
114
  end
110
115
 
111
- # The output of a code interpreter tool.
112
- module Result
116
+ # The logs output from the code interpreter.
117
+ module Output
113
118
  extend OpenAI::Internal::Type::Union
114
119
 
115
120
  Variants =
116
121
  T.type_alias do
117
122
  T.any(
118
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Logs,
119
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files
123
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Logs,
124
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Image
120
125
  )
121
126
  end
122
127
 
@@ -124,25 +129,25 @@ module OpenAI
124
129
  OrHash =
125
130
  T.type_alias do
126
131
  T.any(
127
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Logs,
132
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Logs,
128
133
  OpenAI::Internal::AnyHash
129
134
  )
130
135
  end
131
136
 
132
- # The logs of the code interpreter tool call.
137
+ # The logs output from the code interpreter.
133
138
  sig { returns(String) }
134
139
  attr_accessor :logs
135
140
 
136
- # The type of the code interpreter text output. Always `logs`.
141
+ # The type of the output. Always 'logs'.
137
142
  sig { returns(Symbol) }
138
143
  attr_accessor :type
139
144
 
140
- # The output of a code interpreter tool call that is text.
145
+ # The logs output from the code interpreter.
141
146
  sig { params(logs: String, type: Symbol).returns(T.attached_class) }
142
147
  def self.new(
143
- # The logs of the code interpreter tool call.
148
+ # The logs output from the code interpreter.
144
149
  logs:,
145
- # The type of the code interpreter text output. Always `logs`.
150
+ # The type of the output. Always 'logs'.
146
151
  type: :logs
147
152
  )
148
153
  end
@@ -152,99 +157,42 @@ module OpenAI
152
157
  end
153
158
  end
154
159
 
155
- class Files < OpenAI::Internal::Type::BaseModel
160
+ class Image < OpenAI::Internal::Type::BaseModel
156
161
  OrHash =
157
162
  T.type_alias do
158
163
  T.any(
159
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files,
164
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Image,
160
165
  OpenAI::Internal::AnyHash
161
166
  )
162
167
  end
163
168
 
164
- sig do
165
- returns(
166
- T::Array[
167
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files::File
168
- ]
169
- )
170
- end
171
- attr_accessor :files
172
-
173
- # The type of the code interpreter file output. Always `files`.
169
+ # The type of the output. Always 'image'.
174
170
  sig { returns(Symbol) }
175
171
  attr_accessor :type
176
172
 
177
- # The output of a code interpreter tool call that is a file.
178
- sig do
179
- params(
180
- files:
181
- T::Array[
182
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files::File::OrHash
183
- ],
184
- type: Symbol
185
- ).returns(T.attached_class)
186
- end
173
+ # The URL of the image output from the code interpreter.
174
+ sig { returns(String) }
175
+ attr_accessor :url
176
+
177
+ # The image output from the code interpreter.
178
+ sig { params(url: String, type: Symbol).returns(T.attached_class) }
187
179
  def self.new(
188
- files:,
189
- # The type of the code interpreter file output. Always `files`.
190
- type: :files
180
+ # The URL of the image output from the code interpreter.
181
+ url:,
182
+ # The type of the output. Always 'image'.
183
+ type: :image
191
184
  )
192
185
  end
193
186
 
194
- sig do
195
- override.returns(
196
- {
197
- files:
198
- T::Array[
199
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files::File
200
- ],
201
- type: Symbol
202
- }
203
- )
204
- end
187
+ sig { override.returns({ type: Symbol, url: String }) }
205
188
  def to_hash
206
189
  end
207
-
208
- class File < OpenAI::Internal::Type::BaseModel
209
- OrHash =
210
- T.type_alias do
211
- T.any(
212
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Files::File,
213
- OpenAI::Internal::AnyHash
214
- )
215
- end
216
-
217
- # The ID of the file.
218
- sig { returns(String) }
219
- attr_accessor :file_id
220
-
221
- # The MIME type of the file.
222
- sig { returns(String) }
223
- attr_accessor :mime_type
224
-
225
- sig do
226
- params(file_id: String, mime_type: String).returns(
227
- T.attached_class
228
- )
229
- end
230
- def self.new(
231
- # The ID of the file.
232
- file_id:,
233
- # The MIME type of the file.
234
- mime_type:
235
- )
236
- end
237
-
238
- sig { override.returns({ file_id: String, mime_type: String }) }
239
- def to_hash
240
- end
241
- end
242
190
  end
243
191
 
244
192
  sig do
245
193
  override.returns(
246
194
  T::Array[
247
- OpenAI::Responses::ResponseCodeInterpreterToolCall::Result::Variants
195
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Output::Variants
248
196
  ]
249
197
  )
250
198
  end
@@ -270,14 +218,24 @@ module OpenAI
270
218
  :in_progress,
271
219
  OpenAI::Responses::ResponseCodeInterpreterToolCall::Status::TaggedSymbol
272
220
  )
221
+ COMPLETED =
222
+ T.let(
223
+ :completed,
224
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Status::TaggedSymbol
225
+ )
226
+ INCOMPLETE =
227
+ T.let(
228
+ :incomplete,
229
+ OpenAI::Responses::ResponseCodeInterpreterToolCall::Status::TaggedSymbol
230
+ )
273
231
  INTERPRETING =
274
232
  T.let(
275
233
  :interpreting,
276
234
  OpenAI::Responses::ResponseCodeInterpreterToolCall::Status::TaggedSymbol
277
235
  )
278
- COMPLETED =
236
+ FAILED =
279
237
  T.let(
280
- :completed,
238
+ :failed,
281
239
  OpenAI::Responses::ResponseCodeInterpreterToolCall::Status::TaggedSymbol
282
240
  )
283
241