openai 0.36.1 → 0.38.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 (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/all_models.rb +1 -0
  5. data/lib/openai/models/beta/assistant_create_params.rb +4 -3
  6. data/lib/openai/models/beta/assistant_update_params.rb +4 -3
  7. data/lib/openai/models/beta/threads/run_create_params.rb +4 -3
  8. data/lib/openai/models/chat/completion_create_params.rb +4 -3
  9. data/lib/openai/models/container_create_params.rb +22 -1
  10. data/lib/openai/models/container_create_response.rb +32 -1
  11. data/lib/openai/models/container_list_response.rb +32 -1
  12. data/lib/openai/models/container_retrieve_response.rb +32 -1
  13. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  14. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  15. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +4 -3
  16. data/lib/openai/models/evals/run_cancel_response.rb +8 -6
  17. data/lib/openai/models/evals/run_create_params.rb +8 -6
  18. data/lib/openai/models/evals/run_create_response.rb +8 -6
  19. data/lib/openai/models/evals/run_list_response.rb +8 -6
  20. data/lib/openai/models/evals/run_retrieve_response.rb +8 -6
  21. data/lib/openai/models/graders/score_model_grader.rb +4 -3
  22. data/lib/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rb +43 -0
  23. data/lib/openai/models/realtime/output_audio_buffer_clear_event.rb +4 -4
  24. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +13 -5
  25. data/lib/openai/models/realtime/realtime_client_event.rb +1 -1
  26. data/lib/openai/models/realtime/realtime_server_event.rb +16 -9
  27. data/lib/openai/models/realtime/realtime_session.rb +13 -5
  28. data/lib/openai/models/realtime/realtime_session_create_request.rb +14 -9
  29. data/lib/openai/models/realtime/realtime_session_create_response.rb +27 -14
  30. data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +13 -5
  31. data/lib/openai/models/realtime/realtime_truncation.rb +14 -9
  32. data/lib/openai/models/reasoning.rb +4 -3
  33. data/lib/openai/models/reasoning_effort.rb +5 -3
  34. data/lib/openai/models/responses/compacted_response.rb +56 -0
  35. data/lib/openai/models/responses/input_token_count_params.rb +4 -4
  36. data/lib/openai/models/responses/response.rb +6 -6
  37. data/lib/openai/models/responses/response_compact_params.rb +344 -0
  38. data/lib/openai/models/responses/response_compaction_item.rb +43 -0
  39. data/lib/openai/models/responses/response_compaction_item_param.rb +36 -0
  40. data/lib/openai/models/responses/response_create_params.rb +4 -4
  41. data/lib/openai/models/responses/response_function_shell_call_output_content.rb +10 -10
  42. data/lib/openai/models/responses/response_function_shell_tool_call.rb +5 -5
  43. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +2 -2
  44. data/lib/openai/models/responses/response_input_item.rb +20 -17
  45. data/lib/openai/models/responses/response_output_item.rb +4 -1
  46. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  47. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  48. data/lib/openai/models/responses/tool.rb +4 -2
  49. data/lib/openai/models/responses/tool_choice_shell.rb +1 -1
  50. data/lib/openai/models/responses_model.rb +1 -0
  51. data/lib/openai/models/video_create_params.rb +11 -6
  52. data/lib/openai/resources/containers.rb +3 -1
  53. data/lib/openai/resources/conversations/items.rb +1 -1
  54. data/lib/openai/resources/conversations.rb +1 -1
  55. data/lib/openai/resources/responses/input_tokens.rb +1 -1
  56. data/lib/openai/resources/responses.rb +33 -2
  57. data/lib/openai/resources/videos.rb +6 -3
  58. data/lib/openai/resources/webhooks.rb +0 -3
  59. data/lib/openai/version.rb +1 -1
  60. data/lib/openai.rb +6 -0
  61. data/manifest.yaml +1 -0
  62. data/rbi/openai/models/all_models.rbi +5 -0
  63. data/rbi/openai/models/beta/assistant_create_params.rbi +8 -6
  64. data/rbi/openai/models/beta/assistant_update_params.rbi +8 -6
  65. data/rbi/openai/models/beta/threads/run_create_params.rbi +8 -6
  66. data/rbi/openai/models/chat/completion_create_params.rbi +8 -6
  67. data/rbi/openai/models/container_create_params.rbi +51 -0
  68. data/rbi/openai/models/container_create_response.rbi +81 -3
  69. data/rbi/openai/models/container_list_response.rbi +80 -3
  70. data/rbi/openai/models/container_retrieve_response.rbi +83 -3
  71. data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
  72. data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
  73. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +8 -6
  74. data/rbi/openai/models/evals/run_cancel_response.rbi +16 -12
  75. data/rbi/openai/models/evals/run_create_params.rbi +16 -12
  76. data/rbi/openai/models/evals/run_create_response.rbi +16 -12
  77. data/rbi/openai/models/evals/run_list_response.rbi +16 -12
  78. data/rbi/openai/models/evals/run_retrieve_response.rbi +16 -12
  79. data/rbi/openai/models/graders/score_model_grader.rbi +8 -6
  80. data/rbi/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rbi +56 -0
  81. data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +4 -4
  82. data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +24 -8
  83. data/rbi/openai/models/realtime/realtime_server_event.rbi +6 -5
  84. data/rbi/openai/models/realtime/realtime_session.rbi +24 -8
  85. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +28 -18
  86. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +52 -26
  87. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +24 -8
  88. data/rbi/openai/models/realtime/realtime_truncation.rbi +14 -9
  89. data/rbi/openai/models/reasoning.rbi +8 -6
  90. data/rbi/openai/models/reasoning_effort.rbi +5 -3
  91. data/rbi/openai/models/responses/compacted_response.rbi +105 -0
  92. data/rbi/openai/models/responses/response.rbi +1 -0
  93. data/rbi/openai/models/responses/response_compact_params.rbi +593 -0
  94. data/rbi/openai/models/responses/response_compaction_item.rbi +67 -0
  95. data/rbi/openai/models/responses/response_compaction_item_param.rbi +54 -0
  96. data/rbi/openai/models/responses/response_function_shell_call_output_content.rbi +9 -9
  97. data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +6 -6
  98. data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +1 -1
  99. data/rbi/openai/models/responses/response_input_item.rbi +18 -17
  100. data/rbi/openai/models/responses/response_output_item.rbi +1 -0
  101. data/rbi/openai/models/responses/response_output_item_added_event.rbi +1 -0
  102. data/rbi/openai/models/responses/response_output_item_done_event.rbi +1 -0
  103. data/rbi/openai/models/responses/tool.rbi +6 -3
  104. data/rbi/openai/models/responses/tool_choice_shell.rbi +1 -1
  105. data/rbi/openai/models/responses_model.rbi +5 -0
  106. data/rbi/openai/models/video_create_params.rbi +10 -6
  107. data/rbi/openai/resources/beta/assistants.rbi +8 -6
  108. data/rbi/openai/resources/beta/threads/runs.rbi +8 -6
  109. data/rbi/openai/resources/chat/completions.rbi +8 -6
  110. data/rbi/openai/resources/containers.rbi +3 -0
  111. data/rbi/openai/resources/conversations/items.rbi +1 -0
  112. data/rbi/openai/resources/conversations.rbi +1 -0
  113. data/rbi/openai/resources/realtime/calls.rbi +14 -9
  114. data/rbi/openai/resources/responses.rbi +42 -0
  115. data/rbi/openai/resources/videos.rbi +5 -3
  116. data/sig/openai/models/all_models.rbs +2 -0
  117. data/sig/openai/models/container_create_params.rbs +23 -1
  118. data/sig/openai/models/container_create_response.rbs +32 -3
  119. data/sig/openai/models/container_list_response.rbs +32 -3
  120. data/sig/openai/models/container_retrieve_response.rbs +32 -3
  121. data/sig/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rbs +32 -0
  122. data/sig/openai/models/realtime/realtime_server_event.rbs +1 -0
  123. data/sig/openai/models/reasoning_effort.rbs +2 -1
  124. data/sig/openai/models/responses/compacted_response.rbs +42 -0
  125. data/sig/openai/models/responses/response_compact_params.rbs +226 -0
  126. data/sig/openai/models/responses/response_compaction_item.rbs +39 -0
  127. data/sig/openai/models/responses/response_compaction_item_param.rbs +28 -0
  128. data/sig/openai/models/responses/response_input_item.rbs +1 -0
  129. data/sig/openai/models/responses/response_output_item.rbs +1 -0
  130. data/sig/openai/models/responses_model.rbs +2 -0
  131. data/sig/openai/resources/containers.rbs +1 -0
  132. data/sig/openai/resources/responses.rbs +8 -0
  133. metadata +31 -2
@@ -0,0 +1,593 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ResponseCompactParams < OpenAI::Internal::Type::BaseModel
7
+ extend OpenAI::Internal::Type::RequestParameters::Converter
8
+ include OpenAI::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ OpenAI::Responses::ResponseCompactParams,
14
+ OpenAI::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a
19
+ # wide range of models with different capabilities, performance characteristics,
20
+ # and price points. Refer to the
21
+ # [model guide](https://platform.openai.com/docs/models) to browse and compare
22
+ # available models.
23
+ sig do
24
+ returns(
25
+ T.nilable(
26
+ T.any(
27
+ OpenAI::Responses::ResponseCompactParams::Model::OrSymbol,
28
+ String
29
+ )
30
+ )
31
+ )
32
+ end
33
+ attr_accessor :model
34
+
35
+ # Text, image, or file inputs to the model, used to generate a response
36
+ sig do
37
+ returns(
38
+ T.nilable(OpenAI::Responses::ResponseCompactParams::Input::Variants)
39
+ )
40
+ end
41
+ attr_accessor :input
42
+
43
+ # A system (or developer) message inserted into the model's context. When used
44
+ # along with `previous_response_id`, the instructions from a previous response
45
+ # will not be carried over to the next response. This makes it simple to swap out
46
+ # system (or developer) messages in new responses.
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :instructions
49
+
50
+ # The unique ID of the previous response to the model. Use this to create
51
+ # multi-turn conversations. Learn more about
52
+ # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
53
+ # Cannot be used in conjunction with `conversation`.
54
+ sig { returns(T.nilable(String)) }
55
+ attr_accessor :previous_response_id
56
+
57
+ sig do
58
+ params(
59
+ model:
60
+ T.nilable(
61
+ T.any(
62
+ OpenAI::Responses::ResponseCompactParams::Model::OrSymbol,
63
+ String
64
+ )
65
+ ),
66
+ input:
67
+ T.nilable(
68
+ OpenAI::Responses::ResponseCompactParams::Input::Variants
69
+ ),
70
+ instructions: T.nilable(String),
71
+ previous_response_id: T.nilable(String),
72
+ request_options: OpenAI::RequestOptions::OrHash
73
+ ).returns(T.attached_class)
74
+ end
75
+ def self.new(
76
+ # Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a
77
+ # wide range of models with different capabilities, performance characteristics,
78
+ # and price points. Refer to the
79
+ # [model guide](https://platform.openai.com/docs/models) to browse and compare
80
+ # available models.
81
+ model:,
82
+ # Text, image, or file inputs to the model, used to generate a response
83
+ input: nil,
84
+ # A system (or developer) message inserted into the model's context. When used
85
+ # along with `previous_response_id`, the instructions from a previous response
86
+ # will not be carried over to the next response. This makes it simple to swap out
87
+ # system (or developer) messages in new responses.
88
+ instructions: nil,
89
+ # The unique ID of the previous response to the model. Use this to create
90
+ # multi-turn conversations. Learn more about
91
+ # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
92
+ # Cannot be used in conjunction with `conversation`.
93
+ previous_response_id: nil,
94
+ request_options: {}
95
+ )
96
+ end
97
+
98
+ sig do
99
+ override.returns(
100
+ {
101
+ model:
102
+ T.nilable(
103
+ T.any(
104
+ OpenAI::Responses::ResponseCompactParams::Model::OrSymbol,
105
+ String
106
+ )
107
+ ),
108
+ input:
109
+ T.nilable(
110
+ OpenAI::Responses::ResponseCompactParams::Input::Variants
111
+ ),
112
+ instructions: T.nilable(String),
113
+ previous_response_id: T.nilable(String),
114
+ request_options: OpenAI::RequestOptions
115
+ }
116
+ )
117
+ end
118
+ def to_hash
119
+ end
120
+
121
+ # Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a
122
+ # wide range of models with different capabilities, performance characteristics,
123
+ # and price points. Refer to the
124
+ # [model guide](https://platform.openai.com/docs/models) to browse and compare
125
+ # available models.
126
+ module Model
127
+ extend OpenAI::Internal::Type::Union
128
+
129
+ Variants =
130
+ T.type_alias do
131
+ T.any(
132
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol,
133
+ String
134
+ )
135
+ end
136
+
137
+ sig do
138
+ override.returns(
139
+ T::Array[
140
+ OpenAI::Responses::ResponseCompactParams::Model::Variants
141
+ ]
142
+ )
143
+ end
144
+ def self.variants
145
+ end
146
+
147
+ TaggedSymbol =
148
+ T.type_alias do
149
+ T.all(Symbol, OpenAI::Responses::ResponseCompactParams::Model)
150
+ end
151
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
152
+
153
+ GPT_5_1 =
154
+ T.let(
155
+ :"gpt-5.1",
156
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
157
+ )
158
+ GPT_5_1_2025_11_13 =
159
+ T.let(
160
+ :"gpt-5.1-2025-11-13",
161
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
162
+ )
163
+ GPT_5_1_CODEX =
164
+ T.let(
165
+ :"gpt-5.1-codex",
166
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
167
+ )
168
+ GPT_5_1_MINI =
169
+ T.let(
170
+ :"gpt-5.1-mini",
171
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
172
+ )
173
+ GPT_5_1_CHAT_LATEST =
174
+ T.let(
175
+ :"gpt-5.1-chat-latest",
176
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
177
+ )
178
+ GPT_5 =
179
+ T.let(
180
+ :"gpt-5",
181
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
182
+ )
183
+ GPT_5_MINI =
184
+ T.let(
185
+ :"gpt-5-mini",
186
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
187
+ )
188
+ GPT_5_NANO =
189
+ T.let(
190
+ :"gpt-5-nano",
191
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
192
+ )
193
+ GPT_5_2025_08_07 =
194
+ T.let(
195
+ :"gpt-5-2025-08-07",
196
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
197
+ )
198
+ GPT_5_MINI_2025_08_07 =
199
+ T.let(
200
+ :"gpt-5-mini-2025-08-07",
201
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
202
+ )
203
+ GPT_5_NANO_2025_08_07 =
204
+ T.let(
205
+ :"gpt-5-nano-2025-08-07",
206
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
207
+ )
208
+ GPT_5_CHAT_LATEST =
209
+ T.let(
210
+ :"gpt-5-chat-latest",
211
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
212
+ )
213
+ GPT_4_1 =
214
+ T.let(
215
+ :"gpt-4.1",
216
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
217
+ )
218
+ GPT_4_1_MINI =
219
+ T.let(
220
+ :"gpt-4.1-mini",
221
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
222
+ )
223
+ GPT_4_1_NANO =
224
+ T.let(
225
+ :"gpt-4.1-nano",
226
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
227
+ )
228
+ GPT_4_1_2025_04_14 =
229
+ T.let(
230
+ :"gpt-4.1-2025-04-14",
231
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
232
+ )
233
+ GPT_4_1_MINI_2025_04_14 =
234
+ T.let(
235
+ :"gpt-4.1-mini-2025-04-14",
236
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
237
+ )
238
+ GPT_4_1_NANO_2025_04_14 =
239
+ T.let(
240
+ :"gpt-4.1-nano-2025-04-14",
241
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
242
+ )
243
+ O4_MINI =
244
+ T.let(
245
+ :"o4-mini",
246
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
247
+ )
248
+ O4_MINI_2025_04_16 =
249
+ T.let(
250
+ :"o4-mini-2025-04-16",
251
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
252
+ )
253
+ O3 =
254
+ T.let(
255
+ :o3,
256
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
257
+ )
258
+ O3_2025_04_16 =
259
+ T.let(
260
+ :"o3-2025-04-16",
261
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
262
+ )
263
+ O3_MINI =
264
+ T.let(
265
+ :"o3-mini",
266
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
267
+ )
268
+ O3_MINI_2025_01_31 =
269
+ T.let(
270
+ :"o3-mini-2025-01-31",
271
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
272
+ )
273
+ O1 =
274
+ T.let(
275
+ :o1,
276
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
277
+ )
278
+ O1_2024_12_17 =
279
+ T.let(
280
+ :"o1-2024-12-17",
281
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
282
+ )
283
+ O1_PREVIEW =
284
+ T.let(
285
+ :"o1-preview",
286
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
287
+ )
288
+ O1_PREVIEW_2024_09_12 =
289
+ T.let(
290
+ :"o1-preview-2024-09-12",
291
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
292
+ )
293
+ O1_MINI =
294
+ T.let(
295
+ :"o1-mini",
296
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
297
+ )
298
+ O1_MINI_2024_09_12 =
299
+ T.let(
300
+ :"o1-mini-2024-09-12",
301
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
302
+ )
303
+ GPT_4O =
304
+ T.let(
305
+ :"gpt-4o",
306
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
307
+ )
308
+ GPT_4O_2024_11_20 =
309
+ T.let(
310
+ :"gpt-4o-2024-11-20",
311
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
312
+ )
313
+ GPT_4O_2024_08_06 =
314
+ T.let(
315
+ :"gpt-4o-2024-08-06",
316
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
317
+ )
318
+ GPT_4O_2024_05_13 =
319
+ T.let(
320
+ :"gpt-4o-2024-05-13",
321
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
322
+ )
323
+ GPT_4O_AUDIO_PREVIEW =
324
+ T.let(
325
+ :"gpt-4o-audio-preview",
326
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
327
+ )
328
+ GPT_4O_AUDIO_PREVIEW_2024_10_01 =
329
+ T.let(
330
+ :"gpt-4o-audio-preview-2024-10-01",
331
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
332
+ )
333
+ GPT_4O_AUDIO_PREVIEW_2024_12_17 =
334
+ T.let(
335
+ :"gpt-4o-audio-preview-2024-12-17",
336
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
337
+ )
338
+ GPT_4O_AUDIO_PREVIEW_2025_06_03 =
339
+ T.let(
340
+ :"gpt-4o-audio-preview-2025-06-03",
341
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
342
+ )
343
+ GPT_4O_MINI_AUDIO_PREVIEW =
344
+ T.let(
345
+ :"gpt-4o-mini-audio-preview",
346
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
347
+ )
348
+ GPT_4O_MINI_AUDIO_PREVIEW_2024_12_17 =
349
+ T.let(
350
+ :"gpt-4o-mini-audio-preview-2024-12-17",
351
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
352
+ )
353
+ GPT_4O_SEARCH_PREVIEW =
354
+ T.let(
355
+ :"gpt-4o-search-preview",
356
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
357
+ )
358
+ GPT_4O_MINI_SEARCH_PREVIEW =
359
+ T.let(
360
+ :"gpt-4o-mini-search-preview",
361
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
362
+ )
363
+ GPT_4O_SEARCH_PREVIEW_2025_03_11 =
364
+ T.let(
365
+ :"gpt-4o-search-preview-2025-03-11",
366
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
367
+ )
368
+ GPT_4O_MINI_SEARCH_PREVIEW_2025_03_11 =
369
+ T.let(
370
+ :"gpt-4o-mini-search-preview-2025-03-11",
371
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
372
+ )
373
+ CHATGPT_4O_LATEST =
374
+ T.let(
375
+ :"chatgpt-4o-latest",
376
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
377
+ )
378
+ CODEX_MINI_LATEST =
379
+ T.let(
380
+ :"codex-mini-latest",
381
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
382
+ )
383
+ GPT_4O_MINI =
384
+ T.let(
385
+ :"gpt-4o-mini",
386
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
387
+ )
388
+ GPT_4O_MINI_2024_07_18 =
389
+ T.let(
390
+ :"gpt-4o-mini-2024-07-18",
391
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
392
+ )
393
+ GPT_4_TURBO =
394
+ T.let(
395
+ :"gpt-4-turbo",
396
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
397
+ )
398
+ GPT_4_TURBO_2024_04_09 =
399
+ T.let(
400
+ :"gpt-4-turbo-2024-04-09",
401
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
402
+ )
403
+ GPT_4_0125_PREVIEW =
404
+ T.let(
405
+ :"gpt-4-0125-preview",
406
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
407
+ )
408
+ GPT_4_TURBO_PREVIEW =
409
+ T.let(
410
+ :"gpt-4-turbo-preview",
411
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
412
+ )
413
+ GPT_4_1106_PREVIEW =
414
+ T.let(
415
+ :"gpt-4-1106-preview",
416
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
417
+ )
418
+ GPT_4_VISION_PREVIEW =
419
+ T.let(
420
+ :"gpt-4-vision-preview",
421
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
422
+ )
423
+ GPT_4 =
424
+ T.let(
425
+ :"gpt-4",
426
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
427
+ )
428
+ GPT_4_0314 =
429
+ T.let(
430
+ :"gpt-4-0314",
431
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
432
+ )
433
+ GPT_4_0613 =
434
+ T.let(
435
+ :"gpt-4-0613",
436
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
437
+ )
438
+ GPT_4_32K =
439
+ T.let(
440
+ :"gpt-4-32k",
441
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
442
+ )
443
+ GPT_4_32K_0314 =
444
+ T.let(
445
+ :"gpt-4-32k-0314",
446
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
447
+ )
448
+ GPT_4_32K_0613 =
449
+ T.let(
450
+ :"gpt-4-32k-0613",
451
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
452
+ )
453
+ GPT_3_5_TURBO =
454
+ T.let(
455
+ :"gpt-3.5-turbo",
456
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
457
+ )
458
+ GPT_3_5_TURBO_16K =
459
+ T.let(
460
+ :"gpt-3.5-turbo-16k",
461
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
462
+ )
463
+ GPT_3_5_TURBO_0301 =
464
+ T.let(
465
+ :"gpt-3.5-turbo-0301",
466
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
467
+ )
468
+ GPT_3_5_TURBO_0613 =
469
+ T.let(
470
+ :"gpt-3.5-turbo-0613",
471
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
472
+ )
473
+ GPT_3_5_TURBO_1106 =
474
+ T.let(
475
+ :"gpt-3.5-turbo-1106",
476
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
477
+ )
478
+ GPT_3_5_TURBO_0125 =
479
+ T.let(
480
+ :"gpt-3.5-turbo-0125",
481
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
482
+ )
483
+ GPT_3_5_TURBO_16K_0613 =
484
+ T.let(
485
+ :"gpt-3.5-turbo-16k-0613",
486
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
487
+ )
488
+ O1_PRO =
489
+ T.let(
490
+ :"o1-pro",
491
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
492
+ )
493
+ O1_PRO_2025_03_19 =
494
+ T.let(
495
+ :"o1-pro-2025-03-19",
496
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
497
+ )
498
+ O3_PRO =
499
+ T.let(
500
+ :"o3-pro",
501
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
502
+ )
503
+ O3_PRO_2025_06_10 =
504
+ T.let(
505
+ :"o3-pro-2025-06-10",
506
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
507
+ )
508
+ O3_DEEP_RESEARCH =
509
+ T.let(
510
+ :"o3-deep-research",
511
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
512
+ )
513
+ O3_DEEP_RESEARCH_2025_06_26 =
514
+ T.let(
515
+ :"o3-deep-research-2025-06-26",
516
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
517
+ )
518
+ O4_MINI_DEEP_RESEARCH =
519
+ T.let(
520
+ :"o4-mini-deep-research",
521
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
522
+ )
523
+ O4_MINI_DEEP_RESEARCH_2025_06_26 =
524
+ T.let(
525
+ :"o4-mini-deep-research-2025-06-26",
526
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
527
+ )
528
+ COMPUTER_USE_PREVIEW =
529
+ T.let(
530
+ :"computer-use-preview",
531
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
532
+ )
533
+ COMPUTER_USE_PREVIEW_2025_03_11 =
534
+ T.let(
535
+ :"computer-use-preview-2025-03-11",
536
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
537
+ )
538
+ GPT_5_CODEX =
539
+ T.let(
540
+ :"gpt-5-codex",
541
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
542
+ )
543
+ GPT_5_PRO =
544
+ T.let(
545
+ :"gpt-5-pro",
546
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
547
+ )
548
+ GPT_5_PRO_2025_10_06 =
549
+ T.let(
550
+ :"gpt-5-pro-2025-10-06",
551
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
552
+ )
553
+ GPT_5_1_CODEX_MAX =
554
+ T.let(
555
+ :"gpt-5.1-codex-max",
556
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
557
+ )
558
+ end
559
+
560
+ # Text, image, or file inputs to the model, used to generate a response
561
+ module Input
562
+ extend OpenAI::Internal::Type::Union
563
+
564
+ Variants =
565
+ T.type_alias do
566
+ T.any(
567
+ String,
568
+ T::Array[OpenAI::Responses::ResponseInputItem::Variants]
569
+ )
570
+ end
571
+
572
+ sig do
573
+ override.returns(
574
+ T::Array[
575
+ OpenAI::Responses::ResponseCompactParams::Input::Variants
576
+ ]
577
+ )
578
+ end
579
+ def self.variants
580
+ end
581
+
582
+ ResponseInputItemArray =
583
+ T.let(
584
+ OpenAI::Internal::Type::ArrayOf[
585
+ union: OpenAI::Responses::ResponseInputItem
586
+ ],
587
+ OpenAI::Internal::Type::Converter
588
+ )
589
+ end
590
+ end
591
+ end
592
+ end
593
+ end
@@ -0,0 +1,67 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ResponseCompactionItem < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Responses::ResponseCompactionItem,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique ID of the compaction item.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ sig { returns(String) }
20
+ attr_accessor :encrypted_content
21
+
22
+ # The type of the item. Always `compaction`.
23
+ sig { returns(Symbol) }
24
+ attr_accessor :type
25
+
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :created_by
28
+
29
+ sig { params(created_by: String).void }
30
+ attr_writer :created_by
31
+
32
+ # A compaction item generated by the
33
+ # [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact).
34
+ sig do
35
+ params(
36
+ id: String,
37
+ encrypted_content: String,
38
+ created_by: String,
39
+ type: Symbol
40
+ ).returns(T.attached_class)
41
+ end
42
+ def self.new(
43
+ # The unique ID of the compaction item.
44
+ id:,
45
+ encrypted_content:,
46
+ created_by: nil,
47
+ # The type of the item. Always `compaction`.
48
+ type: :compaction
49
+ )
50
+ end
51
+
52
+ sig do
53
+ override.returns(
54
+ {
55
+ id: String,
56
+ encrypted_content: String,
57
+ type: Symbol,
58
+ created_by: String
59
+ }
60
+ )
61
+ end
62
+ def to_hash
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ResponseCompactionItemParam < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Responses::ResponseCompactionItemParam,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(String) }
16
+ attr_accessor :encrypted_content
17
+
18
+ # The type of the item. Always `compaction`.
19
+ sig { returns(Symbol) }
20
+ attr_accessor :type
21
+
22
+ # The ID of the compaction item.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :id
25
+
26
+ # A compaction item generated by the
27
+ # [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact).
28
+ sig do
29
+ params(
30
+ encrypted_content: String,
31
+ id: T.nilable(String),
32
+ type: Symbol
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ encrypted_content:,
37
+ # The ID of the compaction item.
38
+ id: nil,
39
+ # The type of the item. Always `compaction`.
40
+ type: :compaction
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ { encrypted_content: String, type: Symbol, id: T.nilable(String) }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end