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