openai 0.14.0 → 0.16.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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/README.md +3 -3
  4. data/lib/openai/helpers/structured_output/json_schema_converter.rb +20 -21
  5. data/lib/openai/helpers/structured_output/union_of.rb +11 -1
  6. data/lib/openai/models/audio/speech_create_params.rb +0 -9
  7. data/lib/openai/models/chat/chat_completion.rb +2 -2
  8. data/lib/openai/models/chat/chat_completion_audio_param.rb +0 -9
  9. data/lib/openai/models/chat/chat_completion_chunk.rb +2 -2
  10. data/lib/openai/models/chat/chat_completion_store_message.rb +32 -1
  11. data/lib/openai/models/chat/completion_create_params.rb +33 -7
  12. data/lib/openai/models/function_definition.rb +1 -1
  13. data/lib/openai/models/image_edit_params.rb +4 -1
  14. data/lib/openai/models/image_generate_params.rb +4 -1
  15. data/lib/openai/models/images_response.rb +2 -5
  16. data/lib/openai/models/responses/response.rb +52 -6
  17. data/lib/openai/models/responses/response_code_interpreter_tool_call.rb +5 -3
  18. data/lib/openai/models/responses/response_create_params.rb +33 -7
  19. data/lib/openai/models/responses/response_mcp_call_arguments_delta_event.rb +9 -4
  20. data/lib/openai/models/responses/response_mcp_call_arguments_done_event.rb +7 -4
  21. data/lib/openai/models/responses/response_mcp_call_completed_event.rb +17 -1
  22. data/lib/openai/models/responses/response_mcp_call_failed_event.rb +17 -1
  23. data/lib/openai/models/responses/response_mcp_list_tools_completed_event.rb +17 -1
  24. data/lib/openai/models/responses/response_mcp_list_tools_failed_event.rb +17 -1
  25. data/lib/openai/models/responses/response_mcp_list_tools_in_progress_event.rb +17 -1
  26. data/lib/openai/models/responses/response_stream_event.rb +1 -7
  27. data/lib/openai/models/responses/response_text_delta_event.rb +66 -1
  28. data/lib/openai/models/responses/response_text_done_event.rb +66 -1
  29. data/lib/openai/resources/chat/completions.rb +12 -4
  30. data/lib/openai/resources/images.rb +6 -6
  31. data/lib/openai/resources/responses.rb +42 -17
  32. data/lib/openai/version.rb +1 -1
  33. data/lib/openai.rb +0 -2
  34. data/rbi/openai/models/audio/speech_create_params.rbi +0 -9
  35. data/rbi/openai/models/chat/chat_completion.rbi +3 -3
  36. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +0 -15
  37. data/rbi/openai/models/chat/chat_completion_chunk.rbi +3 -3
  38. data/rbi/openai/models/chat/chat_completion_store_message.rbi +68 -3
  39. data/rbi/openai/models/chat/completion_create_params.rbi +47 -9
  40. data/rbi/openai/models/function_definition.rbi +2 -2
  41. data/rbi/openai/models/image_edit_params.rbi +6 -0
  42. data/rbi/openai/models/image_generate_params.rbi +6 -0
  43. data/rbi/openai/models/images_response.rbi +2 -2
  44. data/rbi/openai/models/responses/response.rbi +47 -9
  45. data/rbi/openai/models/responses/response_code_interpreter_tool_call.rbi +6 -3
  46. data/rbi/openai/models/responses/response_create_params.rbi +47 -9
  47. data/rbi/openai/models/responses/response_mcp_call_arguments_delta_event.rbi +7 -5
  48. data/rbi/openai/models/responses/response_mcp_call_arguments_done_event.rbi +5 -5
  49. data/rbi/openai/models/responses/response_mcp_call_completed_event.rbi +28 -4
  50. data/rbi/openai/models/responses/response_mcp_call_failed_event.rbi +28 -4
  51. data/rbi/openai/models/responses/response_mcp_list_tools_completed_event.rbi +28 -4
  52. data/rbi/openai/models/responses/response_mcp_list_tools_failed_event.rbi +28 -4
  53. data/rbi/openai/models/responses/response_mcp_list_tools_in_progress_event.rbi +28 -4
  54. data/rbi/openai/models/responses/response_stream_event.rbi +0 -2
  55. data/rbi/openai/models/responses/response_text_delta_event.rbi +131 -0
  56. data/rbi/openai/models/responses/response_text_done_event.rbi +131 -0
  57. data/rbi/openai/resources/chat/completions.rbi +36 -8
  58. data/rbi/openai/resources/images.rbi +22 -10
  59. data/rbi/openai/resources/responses.rbi +36 -8
  60. data/sig/openai/models/audio/speech_create_params.rbs +0 -6
  61. data/sig/openai/models/chat/chat_completion_audio_param.rbs +0 -6
  62. data/sig/openai/models/chat/chat_completion_store_message.rbs +29 -3
  63. data/sig/openai/models/chat/completion_create_params.rbs +14 -0
  64. data/sig/openai/models/responses/response.rbs +14 -0
  65. data/sig/openai/models/responses/response_create_params.rbs +14 -0
  66. data/sig/openai/models/responses/response_mcp_call_arguments_delta_event.rbs +4 -4
  67. data/sig/openai/models/responses/response_mcp_call_arguments_done_event.rbs +4 -4
  68. data/sig/openai/models/responses/response_mcp_call_completed_event.rbs +14 -1
  69. data/sig/openai/models/responses/response_mcp_call_failed_event.rbs +14 -1
  70. data/sig/openai/models/responses/response_mcp_list_tools_completed_event.rbs +14 -1
  71. data/sig/openai/models/responses/response_mcp_list_tools_failed_event.rbs +14 -1
  72. data/sig/openai/models/responses/response_mcp_list_tools_in_progress_event.rbs +10 -0
  73. data/sig/openai/models/responses/response_stream_event.rbs +0 -2
  74. data/sig/openai/models/responses/response_text_delta_event.rbs +52 -0
  75. data/sig/openai/models/responses/response_text_done_event.rbs +52 -0
  76. data/sig/openai/resources/chat/completions.rbs +4 -0
  77. data/sig/openai/resources/responses.rbs +4 -0
  78. metadata +2 -8
  79. data/lib/openai/models/responses/response_reasoning_delta_event.rb +0 -60
  80. data/lib/openai/models/responses/response_reasoning_done_event.rb +0 -60
  81. data/rbi/openai/models/responses/response_reasoning_delta_event.rbi +0 -83
  82. data/rbi/openai/models/responses/response_reasoning_done_event.rbi +0 -83
  83. data/sig/openai/models/responses/response_reasoning_delta_event.rbs +0 -47
  84. data/sig/openai/models/responses/response_reasoning_done_event.rbs +0 -47
@@ -123,6 +123,14 @@ module OpenAI
123
123
  # @return [OpenAI::Models::Responses::ResponsePrompt, nil]
124
124
  optional :prompt, -> { OpenAI::Responses::ResponsePrompt }, nil?: true
125
125
 
126
+ # @!attribute prompt_cache_key
127
+ # Used by OpenAI to cache responses for similar requests to optimize your cache
128
+ # hit rates. Replaces the `user` field.
129
+ # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
130
+ #
131
+ # @return [String, nil]
132
+ optional :prompt_cache_key, String
133
+
126
134
  # @!attribute reasoning
127
135
  # **o-series models only**
128
136
  #
@@ -132,13 +140,23 @@ module OpenAI
132
140
  # @return [OpenAI::Models::Reasoning, nil]
133
141
  optional :reasoning, -> { OpenAI::Reasoning }, nil?: true
134
142
 
143
+ # @!attribute safety_identifier
144
+ # A stable identifier used to help detect users of your application that may be
145
+ # violating OpenAI's usage policies. The IDs should be a string that uniquely
146
+ # identifies each user. We recommend hashing their username or email address, in
147
+ # order to avoid sending us any identifying information.
148
+ # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
149
+ #
150
+ # @return [String, nil]
151
+ optional :safety_identifier, String
152
+
135
153
  # @!attribute service_tier
136
154
  # Specifies the processing type used for serving the request.
137
155
  #
138
156
  # - If set to 'auto', then the request will be processed with the service tier
139
157
  # configured in the Project settings. Unless otherwise configured, the Project
140
158
  # will use 'default'.
141
- # - If set to 'default', then the requset will be processed with the standard
159
+ # - If set to 'default', then the request will be processed with the standard
142
160
  # pricing and performance for the selected model.
143
161
  # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
144
162
  # 'priority', then the request will be processed with the corresponding service
@@ -242,14 +260,18 @@ module OpenAI
242
260
  optional :truncation, enum: -> { OpenAI::Responses::ResponseCreateParams::Truncation }, nil?: true
243
261
 
244
262
  # @!attribute user
245
- # A stable identifier for your end-users. Used to boost cache hit rates by better
246
- # bucketing similar requests and to help OpenAI detect and prevent abuse.
247
- # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#end-user-ids).
263
+ # @deprecated
264
+ #
265
+ # This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use
266
+ # `prompt_cache_key` instead to maintain caching optimizations. A stable
267
+ # identifier for your end-users. Used to boost cache hit rates by better bucketing
268
+ # similar requests and to help OpenAI detect and prevent abuse.
269
+ # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
248
270
  #
249
271
  # @return [String, nil]
250
272
  optional :user, String
251
273
 
252
- # @!method initialize(background: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, reasoning: nil, service_tier: nil, store: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, request_options: {})
274
+ # @!method initialize(background: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, request_options: {})
253
275
  # Some parameter documentations has been truncated, see
254
276
  # {OpenAI::Models::Responses::ResponseCreateParams} for more details.
255
277
  #
@@ -275,8 +297,12 @@ module OpenAI
275
297
  #
276
298
  # @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
277
299
  #
300
+ # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
301
+ #
278
302
  # @param reasoning [OpenAI::Models::Reasoning, nil] **o-series models only**
279
303
  #
304
+ # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
305
+ #
280
306
  # @param service_tier [Symbol, OpenAI::Models::Responses::ResponseCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
281
307
  #
282
308
  # @param store [Boolean, nil] Whether to store the generated model response for later retrieval via
@@ -295,7 +321,7 @@ module OpenAI
295
321
  #
296
322
  # @param truncation [Symbol, OpenAI::Models::Responses::ResponseCreateParams::Truncation, nil] The truncation strategy to use for the model response.
297
323
  #
298
- # @param user [String] A stable identifier for your end-users.
324
+ # @param user [String] This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use
299
325
  #
300
326
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
301
327
 
@@ -328,7 +354,7 @@ module OpenAI
328
354
  # - If set to 'auto', then the request will be processed with the service tier
329
355
  # configured in the Project settings. Unless otherwise configured, the Project
330
356
  # will use 'default'.
331
- # - If set to 'default', then the requset will be processed with the standard
357
+ # - If set to 'default', then the request will be processed with the standard
332
358
  # pricing and performance for the selected model.
333
359
  # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
334
360
  # 'priority', then the request will be processed with the corresponding service
@@ -5,10 +5,11 @@ module OpenAI
5
5
  module Responses
6
6
  class ResponseMcpCallArgumentsDeltaEvent < OpenAI::Internal::Type::BaseModel
7
7
  # @!attribute delta
8
- # The partial update to the arguments for the MCP tool call.
8
+ # A JSON string containing the partial update to the arguments for the MCP tool
9
+ # call.
9
10
  #
10
- # @return [Object]
11
- required :delta, OpenAI::Internal::Type::Unknown
11
+ # @return [String]
12
+ required :delta, String
12
13
 
13
14
  # @!attribute item_id
14
15
  # The unique identifier of the MCP tool call item being processed.
@@ -35,10 +36,14 @@ module OpenAI
35
36
  required :type, const: :"response.mcp_call_arguments.delta"
36
37
 
37
38
  # @!method initialize(delta:, item_id:, output_index:, sequence_number:, type: :"response.mcp_call_arguments.delta")
39
+ # Some parameter documentations has been truncated, see
40
+ # {OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent} for more
41
+ # details.
42
+ #
38
43
  # Emitted when there is a delta (partial update) to the arguments of an MCP tool
39
44
  # call.
40
45
  #
41
- # @param delta [Object] The partial update to the arguments for the MCP tool call.
46
+ # @param delta [String] A JSON string containing the partial update to the arguments for the MCP tool ca
42
47
  #
43
48
  # @param item_id [String] The unique identifier of the MCP tool call item being processed.
44
49
  #
@@ -5,10 +5,10 @@ module OpenAI
5
5
  module Responses
6
6
  class ResponseMcpCallArgumentsDoneEvent < OpenAI::Internal::Type::BaseModel
7
7
  # @!attribute arguments
8
- # The finalized arguments for the MCP tool call.
8
+ # A JSON string containing the finalized arguments for the MCP tool call.
9
9
  #
10
- # @return [Object]
11
- required :arguments, OpenAI::Internal::Type::Unknown
10
+ # @return [String]
11
+ required :arguments, String
12
12
 
13
13
  # @!attribute item_id
14
14
  # The unique identifier of the MCP tool call item being processed.
@@ -35,9 +35,12 @@ module OpenAI
35
35
  required :type, const: :"response.mcp_call_arguments.done"
36
36
 
37
37
  # @!method initialize(arguments:, item_id:, output_index:, sequence_number:, type: :"response.mcp_call_arguments.done")
38
+ # Some parameter documentations has been truncated, see
39
+ # {OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent} for more details.
40
+ #
38
41
  # Emitted when the arguments for an MCP tool call are finalized.
39
42
  #
40
- # @param arguments [Object] The finalized arguments for the MCP tool call.
43
+ # @param arguments [String] A JSON string containing the finalized arguments for the MCP tool call.
41
44
  #
42
45
  # @param item_id [String] The unique identifier of the MCP tool call item being processed.
43
46
  #
@@ -4,6 +4,18 @@ module OpenAI
4
4
  module Models
5
5
  module Responses
6
6
  class ResponseMcpCallCompletedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute item_id
8
+ # The ID of the MCP tool call item that completed.
9
+ #
10
+ # @return [String]
11
+ required :item_id, String
12
+
13
+ # @!attribute output_index
14
+ # The index of the output item that completed.
15
+ #
16
+ # @return [Integer]
17
+ required :output_index, Integer
18
+
7
19
  # @!attribute sequence_number
8
20
  # The sequence number of this event.
9
21
  #
@@ -16,9 +28,13 @@ module OpenAI
16
28
  # @return [Symbol, :"response.mcp_call.completed"]
17
29
  required :type, const: :"response.mcp_call.completed"
18
30
 
19
- # @!method initialize(sequence_number:, type: :"response.mcp_call.completed")
31
+ # @!method initialize(item_id:, output_index:, sequence_number:, type: :"response.mcp_call.completed")
20
32
  # Emitted when an MCP tool call has completed successfully.
21
33
  #
34
+ # @param item_id [String] The ID of the MCP tool call item that completed.
35
+ #
36
+ # @param output_index [Integer] The index of the output item that completed.
37
+ #
22
38
  # @param sequence_number [Integer] The sequence number of this event.
23
39
  #
24
40
  # @param type [Symbol, :"response.mcp_call.completed"] The type of the event. Always 'response.mcp_call.completed'.
@@ -4,6 +4,18 @@ module OpenAI
4
4
  module Models
5
5
  module Responses
6
6
  class ResponseMcpCallFailedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute item_id
8
+ # The ID of the MCP tool call item that failed.
9
+ #
10
+ # @return [String]
11
+ required :item_id, String
12
+
13
+ # @!attribute output_index
14
+ # The index of the output item that failed.
15
+ #
16
+ # @return [Integer]
17
+ required :output_index, Integer
18
+
7
19
  # @!attribute sequence_number
8
20
  # The sequence number of this event.
9
21
  #
@@ -16,9 +28,13 @@ module OpenAI
16
28
  # @return [Symbol, :"response.mcp_call.failed"]
17
29
  required :type, const: :"response.mcp_call.failed"
18
30
 
19
- # @!method initialize(sequence_number:, type: :"response.mcp_call.failed")
31
+ # @!method initialize(item_id:, output_index:, sequence_number:, type: :"response.mcp_call.failed")
20
32
  # Emitted when an MCP tool call has failed.
21
33
  #
34
+ # @param item_id [String] The ID of the MCP tool call item that failed.
35
+ #
36
+ # @param output_index [Integer] The index of the output item that failed.
37
+ #
22
38
  # @param sequence_number [Integer] The sequence number of this event.
23
39
  #
24
40
  # @param type [Symbol, :"response.mcp_call.failed"] The type of the event. Always 'response.mcp_call.failed'.
@@ -4,6 +4,18 @@ module OpenAI
4
4
  module Models
5
5
  module Responses
6
6
  class ResponseMcpListToolsCompletedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute item_id
8
+ # The ID of the MCP tool call item that produced this output.
9
+ #
10
+ # @return [String]
11
+ required :item_id, String
12
+
13
+ # @!attribute output_index
14
+ # The index of the output item that was processed.
15
+ #
16
+ # @return [Integer]
17
+ required :output_index, Integer
18
+
7
19
  # @!attribute sequence_number
8
20
  # The sequence number of this event.
9
21
  #
@@ -16,9 +28,13 @@ module OpenAI
16
28
  # @return [Symbol, :"response.mcp_list_tools.completed"]
17
29
  required :type, const: :"response.mcp_list_tools.completed"
18
30
 
19
- # @!method initialize(sequence_number:, type: :"response.mcp_list_tools.completed")
31
+ # @!method initialize(item_id:, output_index:, sequence_number:, type: :"response.mcp_list_tools.completed")
20
32
  # Emitted when the list of available MCP tools has been successfully retrieved.
21
33
  #
34
+ # @param item_id [String] The ID of the MCP tool call item that produced this output.
35
+ #
36
+ # @param output_index [Integer] The index of the output item that was processed.
37
+ #
22
38
  # @param sequence_number [Integer] The sequence number of this event.
23
39
  #
24
40
  # @param type [Symbol, :"response.mcp_list_tools.completed"] The type of the event. Always 'response.mcp_list_tools.completed'.
@@ -4,6 +4,18 @@ module OpenAI
4
4
  module Models
5
5
  module Responses
6
6
  class ResponseMcpListToolsFailedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute item_id
8
+ # The ID of the MCP tool call item that failed.
9
+ #
10
+ # @return [String]
11
+ required :item_id, String
12
+
13
+ # @!attribute output_index
14
+ # The index of the output item that failed.
15
+ #
16
+ # @return [Integer]
17
+ required :output_index, Integer
18
+
7
19
  # @!attribute sequence_number
8
20
  # The sequence number of this event.
9
21
  #
@@ -16,9 +28,13 @@ module OpenAI
16
28
  # @return [Symbol, :"response.mcp_list_tools.failed"]
17
29
  required :type, const: :"response.mcp_list_tools.failed"
18
30
 
19
- # @!method initialize(sequence_number:, type: :"response.mcp_list_tools.failed")
31
+ # @!method initialize(item_id:, output_index:, sequence_number:, type: :"response.mcp_list_tools.failed")
20
32
  # Emitted when the attempt to list available MCP tools has failed.
21
33
  #
34
+ # @param item_id [String] The ID of the MCP tool call item that failed.
35
+ #
36
+ # @param output_index [Integer] The index of the output item that failed.
37
+ #
22
38
  # @param sequence_number [Integer] The sequence number of this event.
23
39
  #
24
40
  # @param type [Symbol, :"response.mcp_list_tools.failed"] The type of the event. Always 'response.mcp_list_tools.failed'.
@@ -4,6 +4,18 @@ module OpenAI
4
4
  module Models
5
5
  module Responses
6
6
  class ResponseMcpListToolsInProgressEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute item_id
8
+ # The ID of the MCP tool call item that is being processed.
9
+ #
10
+ # @return [String]
11
+ required :item_id, String
12
+
13
+ # @!attribute output_index
14
+ # The index of the output item that is being processed.
15
+ #
16
+ # @return [Integer]
17
+ required :output_index, Integer
18
+
7
19
  # @!attribute sequence_number
8
20
  # The sequence number of this event.
9
21
  #
@@ -16,10 +28,14 @@ module OpenAI
16
28
  # @return [Symbol, :"response.mcp_list_tools.in_progress"]
17
29
  required :type, const: :"response.mcp_list_tools.in_progress"
18
30
 
19
- # @!method initialize(sequence_number:, type: :"response.mcp_list_tools.in_progress")
31
+ # @!method initialize(item_id:, output_index:, sequence_number:, type: :"response.mcp_list_tools.in_progress")
20
32
  # Emitted when the system is in the process of retrieving the list of available
21
33
  # MCP tools.
22
34
  #
35
+ # @param item_id [String] The ID of the MCP tool call item that is being processed.
36
+ #
37
+ # @param output_index [Integer] The index of the output item that is being processed.
38
+ #
23
39
  # @param sequence_number [Integer] The sequence number of this event.
24
40
  #
25
41
  # @param type [Symbol, :"response.mcp_list_tools.in_progress"] The type of the event. Always 'response.mcp_list_tools.in_progress'.
@@ -191,12 +191,6 @@ module OpenAI
191
191
  # Emitted when a response is queued and waiting to be processed.
192
192
  variant :"response.queued", -> { OpenAI::Responses::ResponseQueuedEvent }
193
193
 
194
- # Emitted when there is a delta (partial update) to the reasoning content.
195
- variant :"response.reasoning.delta", -> { OpenAI::Responses::ResponseReasoningDeltaEvent }
196
-
197
- # Emitted when the reasoning content is finalized for an item.
198
- variant :"response.reasoning.done", -> { OpenAI::Responses::ResponseReasoningDoneEvent }
199
-
200
194
  # Emitted when there is a delta (partial update) to the reasoning summary content.
201
195
  variant :"response.reasoning_summary.delta",
202
196
  -> {
@@ -210,7 +204,7 @@ module OpenAI
210
204
  }
211
205
 
212
206
  # @!method self.variants
213
- # @return [Array(OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseReasoningDeltaEvent, OpenAI::Models::Responses::ResponseReasoningDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryDoneEvent)]
207
+ # @return [Array(OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDeltaEvent, OpenAI::Models::Responses::ResponseAudioTranscriptDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDeltaEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCodeDoneEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallCompletedEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInProgressEvent, OpenAI::Models::Responses::ResponseCodeInterpreterCallInterpretingEvent, OpenAI::Models::Responses::ResponseCompletedEvent, OpenAI::Models::Responses::ResponseContentPartAddedEvent, OpenAI::Models::Responses::ResponseContentPartDoneEvent, OpenAI::Models::Responses::ResponseCreatedEvent, OpenAI::Models::Responses::ResponseErrorEvent, OpenAI::Models::Responses::ResponseFileSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseFileSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseFileSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseFunctionCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseInProgressEvent, OpenAI::Models::Responses::ResponseFailedEvent, OpenAI::Models::Responses::ResponseIncompleteEvent, OpenAI::Models::Responses::ResponseOutputItemAddedEvent, OpenAI::Models::Responses::ResponseOutputItemDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartAddedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryPartDoneEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryTextDoneEvent, OpenAI::Models::Responses::ResponseRefusalDeltaEvent, OpenAI::Models::Responses::ResponseRefusalDoneEvent, OpenAI::Models::Responses::ResponseTextDeltaEvent, OpenAI::Models::Responses::ResponseTextDoneEvent, OpenAI::Models::Responses::ResponseWebSearchCallCompletedEvent, OpenAI::Models::Responses::ResponseWebSearchCallInProgressEvent, OpenAI::Models::Responses::ResponseWebSearchCallSearchingEvent, OpenAI::Models::Responses::ResponseImageGenCallCompletedEvent, OpenAI::Models::Responses::ResponseImageGenCallGeneratingEvent, OpenAI::Models::Responses::ResponseImageGenCallInProgressEvent, OpenAI::Models::Responses::ResponseImageGenCallPartialImageEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDeltaEvent, OpenAI::Models::Responses::ResponseMcpCallArgumentsDoneEvent, OpenAI::Models::Responses::ResponseMcpCallCompletedEvent, OpenAI::Models::Responses::ResponseMcpCallFailedEvent, OpenAI::Models::Responses::ResponseMcpCallInProgressEvent, OpenAI::Models::Responses::ResponseMcpListToolsCompletedEvent, OpenAI::Models::Responses::ResponseMcpListToolsFailedEvent, OpenAI::Models::Responses::ResponseMcpListToolsInProgressEvent, OpenAI::Models::Responses::ResponseOutputTextAnnotationAddedEvent, OpenAI::Models::Responses::ResponseQueuedEvent, OpenAI::Models::Responses::ResponseReasoningSummaryDeltaEvent, OpenAI::Models::Responses::ResponseReasoningSummaryDoneEvent)]
214
208
  end
215
209
  end
216
210
  end
@@ -22,6 +22,13 @@ module OpenAI
22
22
  # @return [String]
23
23
  required :item_id, String
24
24
 
25
+ # @!attribute logprobs
26
+ # The log probabilities of the tokens in the delta.
27
+ #
28
+ # @return [Array<OpenAI::Models::Responses::ResponseTextDeltaEvent::Logprob>]
29
+ required :logprobs,
30
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseTextDeltaEvent::Logprob] }
31
+
25
32
  # @!attribute output_index
26
33
  # The index of the output item that the text delta was added to.
27
34
  #
@@ -40,7 +47,7 @@ module OpenAI
40
47
  # @return [Symbol, :"response.output_text.delta"]
41
48
  required :type, const: :"response.output_text.delta"
42
49
 
43
- # @!method initialize(content_index:, delta:, item_id:, output_index:, sequence_number:, type: :"response.output_text.delta")
50
+ # @!method initialize(content_index:, delta:, item_id:, logprobs:, output_index:, sequence_number:, type: :"response.output_text.delta")
44
51
  # Some parameter documentations has been truncated, see
45
52
  # {OpenAI::Models::Responses::ResponseTextDeltaEvent} for more details.
46
53
  #
@@ -52,11 +59,69 @@ module OpenAI
52
59
  #
53
60
  # @param item_id [String] The ID of the output item that the text delta was added to.
54
61
  #
62
+ # @param logprobs [Array<OpenAI::Models::Responses::ResponseTextDeltaEvent::Logprob>] The log probabilities of the tokens in the delta.
63
+ #
55
64
  # @param output_index [Integer] The index of the output item that the text delta was added to.
56
65
  #
57
66
  # @param sequence_number [Integer] The sequence number for this event.
58
67
  #
59
68
  # @param type [Symbol, :"response.output_text.delta"] The type of the event. Always `response.output_text.delta`.
69
+
70
+ class Logprob < OpenAI::Internal::Type::BaseModel
71
+ # @!attribute token
72
+ # A possible text token.
73
+ #
74
+ # @return [String]
75
+ required :token, String
76
+
77
+ # @!attribute logprob
78
+ # The log probability of this token.
79
+ #
80
+ # @return [Float]
81
+ required :logprob, Float
82
+
83
+ # @!attribute top_logprobs
84
+ # The log probability of the top 20 most likely tokens.
85
+ #
86
+ # @return [Array<OpenAI::Models::Responses::ResponseTextDeltaEvent::Logprob::TopLogprob>, nil]
87
+ optional :top_logprobs,
88
+ -> {
89
+ OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseTextDeltaEvent::Logprob::TopLogprob]
90
+ }
91
+
92
+ # @!method initialize(token:, logprob:, top_logprobs: nil)
93
+ # Some parameter documentations has been truncated, see
94
+ # {OpenAI::Models::Responses::ResponseTextDeltaEvent::Logprob} for more details.
95
+ #
96
+ # A logprob is the logarithmic probability that the model assigns to producing a
97
+ # particular token at a given position in the sequence. Less-negative (higher)
98
+ # logprob values indicate greater model confidence in that token choice.
99
+ #
100
+ # @param token [String] A possible text token.
101
+ #
102
+ # @param logprob [Float] The log probability of this token.
103
+ #
104
+ # @param top_logprobs [Array<OpenAI::Models::Responses::ResponseTextDeltaEvent::Logprob::TopLogprob>] The log probability of the top 20 most likely tokens.
105
+
106
+ class TopLogprob < OpenAI::Internal::Type::BaseModel
107
+ # @!attribute token
108
+ # A possible text token.
109
+ #
110
+ # @return [String, nil]
111
+ optional :token, String
112
+
113
+ # @!attribute logprob
114
+ # The log probability of this token.
115
+ #
116
+ # @return [Float, nil]
117
+ optional :logprob, Float
118
+
119
+ # @!method initialize(token: nil, logprob: nil)
120
+ # @param token [String] A possible text token.
121
+ #
122
+ # @param logprob [Float] The log probability of this token.
123
+ end
124
+ end
60
125
  end
61
126
  end
62
127
  end
@@ -16,6 +16,13 @@ module OpenAI
16
16
  # @return [String]
17
17
  required :item_id, String
18
18
 
19
+ # @!attribute logprobs
20
+ # The log probabilities of the tokens in the delta.
21
+ #
22
+ # @return [Array<OpenAI::Models::Responses::ResponseTextDoneEvent::Logprob>]
23
+ required :logprobs,
24
+ -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseTextDoneEvent::Logprob] }
25
+
19
26
  # @!attribute output_index
20
27
  # The index of the output item that the text content is finalized.
21
28
  #
@@ -40,7 +47,7 @@ module OpenAI
40
47
  # @return [Symbol, :"response.output_text.done"]
41
48
  required :type, const: :"response.output_text.done"
42
49
 
43
- # @!method initialize(content_index:, item_id:, output_index:, sequence_number:, text:, type: :"response.output_text.done")
50
+ # @!method initialize(content_index:, item_id:, logprobs:, output_index:, sequence_number:, text:, type: :"response.output_text.done")
44
51
  # Some parameter documentations has been truncated, see
45
52
  # {OpenAI::Models::Responses::ResponseTextDoneEvent} for more details.
46
53
  #
@@ -50,6 +57,8 @@ module OpenAI
50
57
  #
51
58
  # @param item_id [String] The ID of the output item that the text content is finalized.
52
59
  #
60
+ # @param logprobs [Array<OpenAI::Models::Responses::ResponseTextDoneEvent::Logprob>] The log probabilities of the tokens in the delta.
61
+ #
53
62
  # @param output_index [Integer] The index of the output item that the text content is finalized.
54
63
  #
55
64
  # @param sequence_number [Integer] The sequence number for this event.
@@ -57,6 +66,62 @@ module OpenAI
57
66
  # @param text [String] The text content that is finalized.
58
67
  #
59
68
  # @param type [Symbol, :"response.output_text.done"] The type of the event. Always `response.output_text.done`.
69
+
70
+ class Logprob < OpenAI::Internal::Type::BaseModel
71
+ # @!attribute token
72
+ # A possible text token.
73
+ #
74
+ # @return [String]
75
+ required :token, String
76
+
77
+ # @!attribute logprob
78
+ # The log probability of this token.
79
+ #
80
+ # @return [Float]
81
+ required :logprob, Float
82
+
83
+ # @!attribute top_logprobs
84
+ # The log probability of the top 20 most likely tokens.
85
+ #
86
+ # @return [Array<OpenAI::Models::Responses::ResponseTextDoneEvent::Logprob::TopLogprob>, nil]
87
+ optional :top_logprobs,
88
+ -> {
89
+ OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseTextDoneEvent::Logprob::TopLogprob]
90
+ }
91
+
92
+ # @!method initialize(token:, logprob:, top_logprobs: nil)
93
+ # Some parameter documentations has been truncated, see
94
+ # {OpenAI::Models::Responses::ResponseTextDoneEvent::Logprob} for more details.
95
+ #
96
+ # A logprob is the logarithmic probability that the model assigns to producing a
97
+ # particular token at a given position in the sequence. Less-negative (higher)
98
+ # logprob values indicate greater model confidence in that token choice.
99
+ #
100
+ # @param token [String] A possible text token.
101
+ #
102
+ # @param logprob [Float] The log probability of this token.
103
+ #
104
+ # @param top_logprobs [Array<OpenAI::Models::Responses::ResponseTextDoneEvent::Logprob::TopLogprob>] The log probability of the top 20 most likely tokens.
105
+
106
+ class TopLogprob < OpenAI::Internal::Type::BaseModel
107
+ # @!attribute token
108
+ # A possible text token.
109
+ #
110
+ # @return [String, nil]
111
+ optional :token, String
112
+
113
+ # @!attribute logprob
114
+ # The log probability of this token.
115
+ #
116
+ # @return [Float, nil]
117
+ optional :logprob, Float
118
+
119
+ # @!method initialize(token: nil, logprob: nil)
120
+ # @param token [String] A possible text token.
121
+ #
122
+ # @param logprob [Float] The log probability of this token.
123
+ end
124
+ end
60
125
  end
61
126
  end
62
127
  end
@@ -30,7 +30,7 @@ module OpenAI
30
30
  # unsupported parameters in reasoning models,
31
31
  # [refer to the reasoning guide](https://platform.openai.com/docs/guides/reasoning).
32
32
  #
33
- # @overload create(messages:, model:, audio: nil, frequency_penalty: nil, function_call: nil, functions: nil, logit_bias: nil, logprobs: nil, max_completion_tokens: nil, max_tokens: nil, metadata: nil, modalities: nil, n: nil, parallel_tool_calls: nil, prediction: nil, presence_penalty: nil, reasoning_effort: nil, response_format: nil, seed: nil, service_tier: nil, stop: nil, store: nil, stream_options: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, user: nil, web_search_options: nil, request_options: {})
33
+ # @overload create(messages:, model:, audio: nil, frequency_penalty: nil, function_call: nil, functions: nil, logit_bias: nil, logprobs: nil, max_completion_tokens: nil, max_tokens: nil, metadata: nil, modalities: nil, n: nil, parallel_tool_calls: nil, prediction: nil, presence_penalty: nil, prompt_cache_key: nil, reasoning_effort: nil, response_format: nil, safety_identifier: nil, seed: nil, service_tier: nil, stop: nil, store: nil, stream_options: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, user: nil, web_search_options: nil, request_options: {})
34
34
  #
35
35
  # @param messages [Array<OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, OpenAI::Models::Chat::ChatCompletionSystemMessageParam, OpenAI::Models::Chat::ChatCompletionUserMessageParam, OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, OpenAI::Models::Chat::ChatCompletionToolMessageParam, OpenAI::Models::Chat::ChatCompletionFunctionMessageParam>] A list of messages comprising the conversation so far. Depending on the
36
36
  #
@@ -64,10 +64,14 @@ module OpenAI
64
64
  #
65
65
  # @param presence_penalty [Float, nil] Number between -2.0 and 2.0. Positive values penalize new tokens based on
66
66
  #
67
+ # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
68
+ #
67
69
  # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] **o-series models only**
68
70
  #
69
71
  # @param response_format [OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject] An object specifying the format that the model must output.
70
72
  #
73
+ # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
74
+ #
71
75
  # @param seed [Integer, nil] This feature is in Beta.
72
76
  #
73
77
  # @param service_tier [Symbol, OpenAI::Models::Chat::CompletionCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
@@ -88,7 +92,7 @@ module OpenAI
88
92
  #
89
93
  # @param top_p [Float, nil] An alternative to sampling with temperature, called nucleus sampling,
90
94
  #
91
- # @param user [String] A stable identifier for your end-users.
95
+ # @param user [String] This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use
92
96
  #
93
97
  # @param web_search_options [OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions] This tool searches the web for relevant results to use in a response.
94
98
  #
@@ -226,7 +230,7 @@ module OpenAI
226
230
  # unsupported parameters in reasoning models,
227
231
  # [refer to the reasoning guide](https://platform.openai.com/docs/guides/reasoning).
228
232
  #
229
- # @overload stream_raw(messages:, model:, audio: nil, frequency_penalty: nil, function_call: nil, functions: nil, logit_bias: nil, logprobs: nil, max_completion_tokens: nil, max_tokens: nil, metadata: nil, modalities: nil, n: nil, parallel_tool_calls: nil, prediction: nil, presence_penalty: nil, reasoning_effort: nil, response_format: nil, seed: nil, service_tier: nil, stop: nil, store: nil, stream_options: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, user: nil, web_search_options: nil, request_options: {})
233
+ # @overload stream_raw(messages:, model:, audio: nil, frequency_penalty: nil, function_call: nil, functions: nil, logit_bias: nil, logprobs: nil, max_completion_tokens: nil, max_tokens: nil, metadata: nil, modalities: nil, n: nil, parallel_tool_calls: nil, prediction: nil, presence_penalty: nil, prompt_cache_key: nil, reasoning_effort: nil, response_format: nil, safety_identifier: nil, seed: nil, service_tier: nil, stop: nil, store: nil, stream_options: nil, temperature: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, user: nil, web_search_options: nil, request_options: {})
230
234
  #
231
235
  # @param messages [Array<OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, OpenAI::Models::Chat::ChatCompletionSystemMessageParam, OpenAI::Models::Chat::ChatCompletionUserMessageParam, OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, OpenAI::Models::Chat::ChatCompletionToolMessageParam, OpenAI::Models::Chat::ChatCompletionFunctionMessageParam>] A list of messages comprising the conversation so far. Depending on the
232
236
  #
@@ -260,10 +264,14 @@ module OpenAI
260
264
  #
261
265
  # @param presence_penalty [Float, nil] Number between -2.0 and 2.0. Positive values penalize new tokens based on
262
266
  #
267
+ # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
268
+ #
263
269
  # @param reasoning_effort [Symbol, OpenAI::Models::ReasoningEffort, nil] **o-series models only**
264
270
  #
265
271
  # @param response_format [OpenAI::Models::ResponseFormatText, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject] An object specifying the format that the model must output.
266
272
  #
273
+ # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
274
+ #
267
275
  # @param seed [Integer, nil] This feature is in Beta.
268
276
  #
269
277
  # @param service_tier [Symbol, OpenAI::Models::Chat::CompletionCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
@@ -284,7 +292,7 @@ module OpenAI
284
292
  #
285
293
  # @param top_p [Float, nil] An alternative to sampling with temperature, called nucleus sampling,
286
294
  #
287
- # @param user [String] A stable identifier for your end-users.
295
+ # @param user [String] This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use
288
296
  #
289
297
  # @param web_search_options [OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions] This tool searches the web for relevant results to use in a response.
290
298
  #