openai 0.64.0 → 0.66.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 (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/audit_log_list_params.rb +6 -0
  5. data/lib/openai/models/admin/organization/audit_log_list_response.rb +231 -1
  6. data/lib/openai/models/chat/chat_completion.rb +341 -3
  7. data/lib/openai/models/chat/chat_completion_chunk.rb +341 -1
  8. data/lib/openai/models/chat/completion_create_params.rb +42 -1
  9. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  10. data/lib/openai/models/conversations/conversation_item.rb +57 -1
  11. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  12. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  13. data/lib/openai/models/responses/compacted_response.rb +2 -2
  14. data/lib/openai/models/responses/input_token_count_params.rb +41 -4
  15. data/lib/openai/models/responses/response.rb +296 -6
  16. data/lib/openai/models/responses/response_compact_params.rb +3 -3
  17. data/lib/openai/models/responses/response_create_params.rb +45 -4
  18. data/lib/openai/models/responses/response_function_web_search.rb +11 -9
  19. data/lib/openai/models/responses/response_input_item.rb +38 -1
  20. data/lib/openai/models/responses/response_item.rb +57 -1
  21. data/lib/openai/models/responses/response_item_list.rb +2 -2
  22. data/lib/openai/models/responses/response_output_item.rb +57 -1
  23. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  24. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  25. data/lib/openai/models/responses/responses_client_event.rb +46 -4
  26. data/lib/openai/resources/chat/completions.rb +6 -2
  27. data/lib/openai/resources/conversations/items.rb +3 -3
  28. data/lib/openai/resources/conversations.rb +1 -1
  29. data/lib/openai/resources/responses/input_items.rb +1 -1
  30. data/lib/openai/resources/responses/input_tokens.rb +4 -2
  31. data/lib/openai/resources/responses.rb +9 -5
  32. data/lib/openai/version.rb +1 -1
  33. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +30 -0
  34. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +489 -3
  35. data/rbi/openai/models/chat/chat_completion.rbi +620 -3
  36. data/rbi/openai/models/chat/chat_completion_chunk.rbi +621 -0
  37. data/rbi/openai/models/chat/completion_create_params.rbi +76 -0
  38. data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
  39. data/rbi/openai/models/conversations/conversation_item.rbi +150 -0
  40. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  41. data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
  42. data/rbi/openai/models/responses/compacted_response.rbi +1 -0
  43. data/rbi/openai/models/responses/input_token_count_params.rbi +85 -0
  44. data/rbi/openai/models/responses/response.rbi +510 -0
  45. data/rbi/openai/models/responses/response_create_params.rbi +78 -0
  46. data/rbi/openai/models/responses/response_function_web_search.rbi +11 -8
  47. data/rbi/openai/models/responses/response_input_item.rbi +120 -0
  48. data/rbi/openai/models/responses/response_item.rbi +150 -0
  49. data/rbi/openai/models/responses/response_item_list.rbi +1 -0
  50. data/rbi/openai/models/responses/response_output_item.rbi +150 -0
  51. data/rbi/openai/models/responses/response_output_item_added_event.rbi +1 -0
  52. data/rbi/openai/models/responses/response_output_item_done_event.rbi +1 -0
  53. data/rbi/openai/models/responses/responses_client_event.rbi +78 -0
  54. data/rbi/openai/resources/chat/completions.rbi +28 -0
  55. data/rbi/openai/resources/conversations/items.rbi +1 -0
  56. data/rbi/openai/resources/conversations.rbi +1 -0
  57. data/rbi/openai/resources/responses/input_tokens.rbi +9 -0
  58. data/rbi/openai/resources/responses.rbi +28 -0
  59. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +12 -0
  60. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +216 -3
  61. data/sig/openai/models/chat/chat_completion.rbs +243 -0
  62. data/sig/openai/models/chat/chat_completion_chunk.rbs +243 -0
  63. data/sig/openai/models/chat/completion_create_params.rbs +15 -0
  64. data/sig/openai/models/conversations/conversation_item.rbs +58 -0
  65. data/sig/openai/models/responses/input_token_count_params.rbs +20 -0
  66. data/sig/openai/models/responses/response.rbs +189 -0
  67. data/sig/openai/models/responses/response_create_params.rbs +15 -0
  68. data/sig/openai/models/responses/response_function_web_search.rbs +7 -5
  69. data/sig/openai/models/responses/response_input_item.rbs +33 -0
  70. data/sig/openai/models/responses/response_item.rbs +58 -0
  71. data/sig/openai/models/responses/response_output_item.rbs +58 -0
  72. data/sig/openai/models/responses/responses_client_event.rbs +15 -0
  73. data/sig/openai/resources/chat/completions.rbs +2 -0
  74. data/sig/openai/resources/responses/input_tokens.rbs +1 -0
  75. data/sig/openai/resources/responses.rbs +2 -0
  76. metadata +2 -2
@@ -180,6 +180,22 @@ module OpenAI
180
180
  end
181
181
  attr_accessor :modalities
182
182
 
183
+ # Configuration for running moderation on the request input and generated output.
184
+ sig do
185
+ returns(T.nilable(OpenAI::Chat::CompletionCreateParams::Moderation))
186
+ end
187
+ attr_reader :moderation
188
+
189
+ sig do
190
+ params(
191
+ moderation:
192
+ T.nilable(
193
+ OpenAI::Chat::CompletionCreateParams::Moderation::OrHash
194
+ )
195
+ ).void
196
+ end
197
+ attr_writer :moderation
198
+
183
199
  # How many chat completion choices to generate for each input message. Note that
184
200
  # you will be charged based on the number of generated tokens across all of the
185
201
  # choices. Keep `n` as `1` to minimize costs.
@@ -229,6 +245,14 @@ module OpenAI
229
245
  # prompt caching, which keeps cached prefixes active for longer, up to a maximum
230
246
  # of 24 hours.
231
247
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
248
+ # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
249
+ #
250
+ # For older models that support both `in_memory` and `24h`, the default depends on
251
+ # your organization's data retention policy:
252
+ #
253
+ # - Organizations without ZDR enabled default to `24h`.
254
+ # - Organizations with ZDR enabled default to `in_memory` when
255
+ # `prompt_cache_retention` is not specified.
232
256
  sig do
233
257
  returns(
234
258
  T.nilable(
@@ -529,6 +553,10 @@ module OpenAI
529
553
  OpenAI::Chat::CompletionCreateParams::Modality::OrSymbol
530
554
  ]
531
555
  ),
556
+ moderation:
557
+ T.nilable(
558
+ OpenAI::Chat::CompletionCreateParams::Moderation::OrHash
559
+ ),
532
560
  n: T.nilable(Integer),
533
561
  parallel_tool_calls: T::Boolean,
534
562
  prediction:
@@ -670,6 +698,8 @@ module OpenAI
670
698
  #
671
699
  # `["text", "audio"]`
672
700
  modalities: nil,
701
+ # Configuration for running moderation on the request input and generated output.
702
+ moderation: nil,
673
703
  # How many chat completion choices to generate for each input message. Note that
674
704
  # you will be charged based on the number of generated tokens across all of the
675
705
  # choices. Keep `n` as `1` to minimize costs.
@@ -693,6 +723,14 @@ module OpenAI
693
723
  # prompt caching, which keeps cached prefixes active for longer, up to a maximum
694
724
  # of 24 hours.
695
725
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
726
+ # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
727
+ #
728
+ # For older models that support both `in_memory` and `24h`, the default depends on
729
+ # your organization's data retention policy:
730
+ #
731
+ # - Organizations without ZDR enabled default to `24h`.
732
+ # - Organizations with ZDR enabled default to `in_memory` when
733
+ # `prompt_cache_retention` is not specified.
696
734
  prompt_cache_retention: nil,
697
735
  # Constrains effort on reasoning for
698
736
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
@@ -845,6 +883,8 @@ module OpenAI
845
883
  OpenAI::Chat::CompletionCreateParams::Modality::OrSymbol
846
884
  ]
847
885
  ),
886
+ moderation:
887
+ T.nilable(OpenAI::Chat::CompletionCreateParams::Moderation),
848
888
  n: T.nilable(Integer),
849
889
  parallel_tool_calls: T::Boolean,
850
890
  prediction:
@@ -1102,10 +1142,46 @@ module OpenAI
1102
1142
  end
1103
1143
  end
1104
1144
 
1145
+ class Moderation < OpenAI::Internal::Type::BaseModel
1146
+ OrHash =
1147
+ T.type_alias do
1148
+ T.any(
1149
+ OpenAI::Chat::CompletionCreateParams::Moderation,
1150
+ OpenAI::Internal::AnyHash
1151
+ )
1152
+ end
1153
+
1154
+ # The moderation model to use for moderated completions, e.g.
1155
+ # 'omni-moderation-latest'.
1156
+ sig { returns(String) }
1157
+ attr_accessor :model
1158
+
1159
+ # Configuration for running moderation on the request input and generated output.
1160
+ sig { params(model: String).returns(T.attached_class) }
1161
+ def self.new(
1162
+ # The moderation model to use for moderated completions, e.g.
1163
+ # 'omni-moderation-latest'.
1164
+ model:
1165
+ )
1166
+ end
1167
+
1168
+ sig { override.returns({ model: String }) }
1169
+ def to_hash
1170
+ end
1171
+ end
1172
+
1105
1173
  # The retention policy for the prompt cache. Set to `24h` to enable extended
1106
1174
  # prompt caching, which keeps cached prefixes active for longer, up to a maximum
1107
1175
  # of 24 hours.
1108
1176
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
1177
+ # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
1178
+ #
1179
+ # For older models that support both `in_memory` and `24h`, the default depends on
1180
+ # your organization's data retention policy:
1181
+ #
1182
+ # - Organizations without ZDR enabled default to `24h`.
1183
+ # - Organizations with ZDR enabled default to `in_memory` when
1184
+ # `prompt_cache_retention` is not specified.
1109
1185
  module PromptCacheRetention
1110
1186
  extend OpenAI::Internal::Type::Enum
1111
1187
 
@@ -33,6 +33,7 @@ module OpenAI
33
33
  OpenAI::Responses::ResponseInputItem::FunctionCallOutput,
34
34
  OpenAI::Responses::ResponseInputItem::ToolSearchCall,
35
35
  OpenAI::Responses::ResponseToolSearchOutputItemParam,
36
+ OpenAI::Responses::ResponseInputItem::AdditionalTools,
36
37
  OpenAI::Responses::ResponseReasoningItem,
37
38
  OpenAI::Responses::ResponseCompactionItemParam,
38
39
  OpenAI::Responses::ResponseInputItem::ImageGenerationCall,
@@ -84,6 +85,7 @@ module OpenAI
84
85
  OpenAI::Responses::ResponseInputItem::FunctionCallOutput::OrHash,
85
86
  OpenAI::Responses::ResponseInputItem::ToolSearchCall::OrHash,
86
87
  OpenAI::Responses::ResponseToolSearchOutputItemParam::OrHash,
88
+ OpenAI::Responses::ResponseInputItem::AdditionalTools::OrHash,
87
89
  OpenAI::Responses::ResponseReasoningItem::OrHash,
88
90
  OpenAI::Responses::ResponseCompactionItemParam::OrHash,
89
91
  OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OrHash,
@@ -142,6 +144,7 @@ module OpenAI
142
144
  OpenAI::Responses::ResponseInputItem::FunctionCallOutput,
143
145
  OpenAI::Responses::ResponseInputItem::ToolSearchCall,
144
146
  OpenAI::Responses::ResponseToolSearchOutputItemParam,
147
+ OpenAI::Responses::ResponseInputItem::AdditionalTools,
145
148
  OpenAI::Responses::ResponseReasoningItem,
146
149
  OpenAI::Responses::ResponseCompactionItemParam,
147
150
  OpenAI::Responses::ResponseInputItem::ImageGenerationCall,
@@ -24,6 +24,7 @@ module OpenAI
24
24
  OpenAI::Responses::ResponseComputerToolCallOutputItem,
25
25
  OpenAI::Responses::ResponseToolSearchCall,
26
26
  OpenAI::Responses::ResponseToolSearchOutputItem,
27
+ OpenAI::Conversations::ConversationItem::AdditionalTools,
27
28
  OpenAI::Responses::ResponseReasoningItem,
28
29
  OpenAI::Responses::ResponseCompactionItem,
29
30
  OpenAI::Responses::ResponseCodeInterpreterToolCall,
@@ -153,6 +154,155 @@ module OpenAI
153
154
  end
154
155
  end
155
156
 
157
+ class AdditionalTools < OpenAI::Internal::Type::BaseModel
158
+ OrHash =
159
+ T.type_alias do
160
+ T.any(
161
+ OpenAI::Conversations::ConversationItem::AdditionalTools,
162
+ OpenAI::Internal::AnyHash
163
+ )
164
+ end
165
+
166
+ # The unique ID of the additional tools item.
167
+ sig { returns(String) }
168
+ attr_accessor :id
169
+
170
+ # The role that provided the additional tools.
171
+ sig do
172
+ returns(
173
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
174
+ )
175
+ end
176
+ attr_accessor :role
177
+
178
+ # The additional tool definitions made available at this item.
179
+ sig { returns(T::Array[OpenAI::Responses::Tool::Variants]) }
180
+ attr_accessor :tools
181
+
182
+ # The type of the item. Always `additional_tools`.
183
+ sig { returns(Symbol) }
184
+ attr_accessor :type
185
+
186
+ sig do
187
+ params(
188
+ id: String,
189
+ role:
190
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::OrSymbol,
191
+ tools:
192
+ T::Array[
193
+ T.any(
194
+ OpenAI::Responses::FunctionTool::OrHash,
195
+ OpenAI::Responses::FileSearchTool::OrHash,
196
+ OpenAI::Responses::ComputerTool::OrHash,
197
+ OpenAI::Responses::ComputerUsePreviewTool::OrHash,
198
+ OpenAI::Responses::Tool::Mcp::OrHash,
199
+ OpenAI::Responses::Tool::CodeInterpreter::OrHash,
200
+ OpenAI::Responses::Tool::ImageGeneration::OrHash,
201
+ OpenAI::Responses::Tool::LocalShell::OrHash,
202
+ OpenAI::Responses::FunctionShellTool::OrHash,
203
+ OpenAI::Responses::CustomTool::OrHash,
204
+ OpenAI::Responses::NamespaceTool::OrHash,
205
+ OpenAI::Responses::ToolSearchTool::OrHash,
206
+ OpenAI::Responses::ApplyPatchTool::OrHash,
207
+ OpenAI::Responses::WebSearchTool::OrHash,
208
+ OpenAI::Responses::WebSearchPreviewTool::OrHash
209
+ )
210
+ ],
211
+ type: Symbol
212
+ ).returns(T.attached_class)
213
+ end
214
+ def self.new(
215
+ # The unique ID of the additional tools item.
216
+ id:,
217
+ # The role that provided the additional tools.
218
+ role:,
219
+ # The additional tool definitions made available at this item.
220
+ tools:,
221
+ # The type of the item. Always `additional_tools`.
222
+ type: :additional_tools
223
+ )
224
+ end
225
+
226
+ sig do
227
+ override.returns(
228
+ {
229
+ id: String,
230
+ role:
231
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol,
232
+ tools: T::Array[OpenAI::Responses::Tool::Variants],
233
+ type: Symbol
234
+ }
235
+ )
236
+ end
237
+ def to_hash
238
+ end
239
+
240
+ # The role that provided the additional tools.
241
+ module Role
242
+ extend OpenAI::Internal::Type::Enum
243
+
244
+ TaggedSymbol =
245
+ T.type_alias do
246
+ T.all(
247
+ Symbol,
248
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role
249
+ )
250
+ end
251
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
252
+
253
+ UNKNOWN =
254
+ T.let(
255
+ :unknown,
256
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
257
+ )
258
+ USER =
259
+ T.let(
260
+ :user,
261
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
262
+ )
263
+ ASSISTANT =
264
+ T.let(
265
+ :assistant,
266
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
267
+ )
268
+ SYSTEM =
269
+ T.let(
270
+ :system,
271
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
272
+ )
273
+ CRITIC =
274
+ T.let(
275
+ :critic,
276
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
277
+ )
278
+ DISCRIMINATOR =
279
+ T.let(
280
+ :discriminator,
281
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
282
+ )
283
+ DEVELOPER =
284
+ T.let(
285
+ :developer,
286
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
287
+ )
288
+ TOOL =
289
+ T.let(
290
+ :tool,
291
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
292
+ )
293
+
294
+ sig do
295
+ override.returns(
296
+ T::Array[
297
+ OpenAI::Conversations::ConversationItem::AdditionalTools::Role::TaggedSymbol
298
+ ]
299
+ )
300
+ end
301
+ def self.values
302
+ end
303
+ end
304
+ end
305
+
156
306
  class LocalShellCall < OpenAI::Internal::Type::BaseModel
157
307
  OrHash =
158
308
  T.type_alias do
@@ -52,6 +52,7 @@ module OpenAI
52
52
  OpenAI::Responses::ResponseComputerToolCallOutputItem::OrHash,
53
53
  OpenAI::Responses::ResponseToolSearchCall::OrHash,
54
54
  OpenAI::Responses::ResponseToolSearchOutputItem::OrHash,
55
+ OpenAI::Conversations::ConversationItem::AdditionalTools::OrHash,
55
56
  OpenAI::Responses::ResponseReasoningItem::OrHash,
56
57
  OpenAI::Responses::ResponseCompactionItem::OrHash,
57
58
  OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
@@ -34,6 +34,7 @@ module OpenAI
34
34
  OpenAI::Responses::ResponseInputItem::FunctionCallOutput,
35
35
  OpenAI::Responses::ResponseInputItem::ToolSearchCall,
36
36
  OpenAI::Responses::ResponseToolSearchOutputItemParam,
37
+ OpenAI::Responses::ResponseInputItem::AdditionalTools,
37
38
  OpenAI::Responses::ResponseReasoningItem,
38
39
  OpenAI::Responses::ResponseCompactionItemParam,
39
40
  OpenAI::Responses::ResponseInputItem::ImageGenerationCall,
@@ -92,6 +93,7 @@ module OpenAI
92
93
  OpenAI::Responses::ResponseInputItem::FunctionCallOutput::OrHash,
93
94
  OpenAI::Responses::ResponseInputItem::ToolSearchCall::OrHash,
94
95
  OpenAI::Responses::ResponseToolSearchOutputItemParam::OrHash,
96
+ OpenAI::Responses::ResponseInputItem::AdditionalTools::OrHash,
95
97
  OpenAI::Responses::ResponseReasoningItem::OrHash,
96
98
  OpenAI::Responses::ResponseCompactionItemParam::OrHash,
97
99
  OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OrHash,
@@ -146,6 +148,7 @@ module OpenAI
146
148
  OpenAI::Responses::ResponseInputItem::FunctionCallOutput,
147
149
  OpenAI::Responses::ResponseInputItem::ToolSearchCall,
148
150
  OpenAI::Responses::ResponseToolSearchOutputItemParam,
151
+ OpenAI::Responses::ResponseInputItem::AdditionalTools,
149
152
  OpenAI::Responses::ResponseReasoningItem,
150
153
  OpenAI::Responses::ResponseCompactionItemParam,
151
154
  OpenAI::Responses::ResponseInputItem::ImageGenerationCall,
@@ -56,6 +56,7 @@ module OpenAI
56
56
  OpenAI::Responses::ResponseReasoningItem::OrHash,
57
57
  OpenAI::Responses::ResponseToolSearchCall::OrHash,
58
58
  OpenAI::Responses::ResponseToolSearchOutputItem::OrHash,
59
+ OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash,
59
60
  OpenAI::Responses::ResponseCompactionItem::OrHash,
60
61
  OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash,
61
62
  OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
@@ -55,6 +55,32 @@ module OpenAI
55
55
  sig { returns(T.nilable(T::Boolean)) }
56
56
  attr_accessor :parallel_tool_calls
57
57
 
58
+ # A model-owned style preset to apply to this request. Omit this parameter to use
59
+ # the model's default style. Supported values may expand over time. Values must be
60
+ # at most 64 characters.
61
+ sig do
62
+ returns(
63
+ T.nilable(
64
+ T.any(
65
+ String,
66
+ OpenAI::Responses::InputTokenCountParams::Personality::OrSymbol
67
+ )
68
+ )
69
+ )
70
+ end
71
+ attr_reader :personality
72
+
73
+ sig do
74
+ params(
75
+ personality:
76
+ T.any(
77
+ String,
78
+ OpenAI::Responses::InputTokenCountParams::Personality::OrSymbol
79
+ )
80
+ ).void
81
+ end
82
+ attr_writer :personality
83
+
58
84
  # The unique ID of the previous response to the model. Use this to create
59
85
  # multi-turn conversations. Learn more about
60
86
  # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
@@ -174,6 +200,11 @@ module OpenAI
174
200
  instructions: T.nilable(String),
175
201
  model: T.nilable(String),
176
202
  parallel_tool_calls: T.nilable(T::Boolean),
203
+ personality:
204
+ T.any(
205
+ String,
206
+ OpenAI::Responses::InputTokenCountParams::Personality::OrSymbol
207
+ ),
177
208
  previous_response_id: T.nilable(String),
178
209
  reasoning: T.nilable(OpenAI::Reasoning::OrHash),
179
210
  text:
@@ -239,6 +270,10 @@ module OpenAI
239
270
  model: nil,
240
271
  # Whether to allow the model to run tool calls in parallel.
241
272
  parallel_tool_calls: nil,
273
+ # A model-owned style preset to apply to this request. Omit this parameter to use
274
+ # the model's default style. Supported values may expand over time. Values must be
275
+ # at most 64 characters.
276
+ personality: nil,
242
277
  # The unique ID of the previous response to the model. Use this to create
243
278
  # multi-turn conversations. Learn more about
244
279
  # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
@@ -282,6 +317,11 @@ module OpenAI
282
317
  instructions: T.nilable(String),
283
318
  model: T.nilable(String),
284
319
  parallel_tool_calls: T.nilable(T::Boolean),
320
+ personality:
321
+ T.any(
322
+ String,
323
+ OpenAI::Responses::InputTokenCountParams::Personality::OrSymbol
324
+ ),
285
325
  previous_response_id: T.nilable(String),
286
326
  reasoning: T.nilable(OpenAI::Reasoning),
287
327
  text: T.nilable(OpenAI::Responses::InputTokenCountParams::Text),
@@ -383,6 +423,51 @@ module OpenAI
383
423
  )
384
424
  end
385
425
 
426
+ # A model-owned style preset to apply to this request. Omit this parameter to use
427
+ # the model's default style. Supported values may expand over time. Values must be
428
+ # at most 64 characters.
429
+ module Personality
430
+ extend OpenAI::Internal::Type::Union
431
+
432
+ Variants =
433
+ T.type_alias do
434
+ T.any(
435
+ String,
436
+ OpenAI::Responses::InputTokenCountParams::Personality::TaggedSymbol
437
+ )
438
+ end
439
+
440
+ sig do
441
+ override.returns(
442
+ T::Array[
443
+ OpenAI::Responses::InputTokenCountParams::Personality::Variants
444
+ ]
445
+ )
446
+ end
447
+ def self.variants
448
+ end
449
+
450
+ TaggedSymbol =
451
+ T.type_alias do
452
+ T.all(
453
+ Symbol,
454
+ OpenAI::Responses::InputTokenCountParams::Personality
455
+ )
456
+ end
457
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
458
+
459
+ FRIENDLY =
460
+ T.let(
461
+ :friendly,
462
+ OpenAI::Responses::InputTokenCountParams::Personality::TaggedSymbol
463
+ )
464
+ PRAGMATIC =
465
+ T.let(
466
+ :pragmatic,
467
+ OpenAI::Responses::InputTokenCountParams::Personality::TaggedSymbol
468
+ )
469
+ end
470
+
386
471
  class Text < OpenAI::Internal::Type::BaseModel
387
472
  OrHash =
388
473
  T.type_alias do