openai 0.56.0 → 0.58.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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +60 -0
  3. data/README.md +98 -1
  4. data/lib/openai/auth/subject_token_provider.rb +15 -0
  5. data/lib/openai/auth/subject_token_providers/azure_managed_identity_token_provider.rb +88 -0
  6. data/lib/openai/auth/subject_token_providers/gcp_id_token_provider.rb +66 -0
  7. data/lib/openai/auth/subject_token_providers/k8s_service_account_token_provider.rb +37 -0
  8. data/lib/openai/auth/token_type.rb +10 -0
  9. data/lib/openai/auth/workload_identity.rb +23 -0
  10. data/lib/openai/auth/workload_identity_auth.rb +176 -0
  11. data/lib/openai/client.rb +59 -4
  12. data/lib/openai/errors.rb +39 -0
  13. data/lib/openai/internal/util.rb +22 -7
  14. data/lib/openai/models/conversations/conversation_item.rb +4 -1
  15. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  16. data/lib/openai/models/conversations/message.rb +28 -1
  17. data/lib/openai/models/oauth_error_code.rb +29 -0
  18. data/lib/openai/models/realtime/realtime_session_create_request.rb +4 -3
  19. data/lib/openai/models/realtime/realtime_session_create_response.rb +7 -5
  20. data/lib/openai/models/realtime/realtime_tracing_config.rb +3 -2
  21. data/lib/openai/models/responses/compacted_response.rb +2 -2
  22. data/lib/openai/models/responses/computer_action.rb +45 -5
  23. data/lib/openai/models/responses/response.rb +2 -2
  24. data/lib/openai/models/responses/response_computer_tool_call.rb +45 -5
  25. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +31 -22
  26. data/lib/openai/models/responses/response_custom_tool_call_item.rb +53 -0
  27. data/lib/openai/models/responses/response_custom_tool_call_output_item.rb +53 -0
  28. data/lib/openai/models/responses/response_function_tool_call_item.rb +31 -1
  29. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +14 -6
  30. data/lib/openai/models/responses/response_input_message_item.rb +8 -20
  31. data/lib/openai/models/responses/response_item.rb +16 -1
  32. data/lib/openai/models/responses/response_item_list.rb +2 -2
  33. data/lib/openai/models/responses/response_output_item.rb +120 -1
  34. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  35. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  36. data/lib/openai/models/vector_stores/file_batch_create_params.rb +9 -5
  37. data/lib/openai/models/vector_stores/file_create_params.rb +3 -1
  38. data/lib/openai/models.rb +2 -0
  39. data/lib/openai/resources/conversations/items.rb +2 -2
  40. data/lib/openai/resources/realtime/calls.rb +1 -1
  41. data/lib/openai/resources/responses/input_items.rb +1 -1
  42. data/lib/openai/version.rb +1 -1
  43. data/lib/openai.rb +12 -2
  44. data/rbi/openai/auth.rbi +55 -0
  45. data/rbi/openai/internal/util.rbi +8 -0
  46. data/rbi/openai/models/conversations/conversation_item.rbi +1 -0
  47. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  48. data/rbi/openai/models/conversations/message.rbi +53 -1
  49. data/rbi/openai/models/oauth_error_code.rbi +24 -0
  50. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +6 -4
  51. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +9 -6
  52. data/rbi/openai/models/realtime/realtime_tracing_config.rbi +3 -2
  53. data/rbi/openai/models/responses/compacted_response.rbi +6 -1
  54. data/rbi/openai/models/responses/computer_action.rbi +71 -11
  55. data/rbi/openai/models/responses/response.rbi +6 -1
  56. data/rbi/openai/models/responses/response_computer_tool_call.rbi +71 -11
  57. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +71 -65
  58. data/rbi/openai/models/responses/response_custom_tool_call_item.rbi +111 -0
  59. data/rbi/openai/models/responses/response_custom_tool_call_output_item.rbi +111 -0
  60. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +81 -3
  61. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +19 -18
  62. data/rbi/openai/models/responses/response_input_message_item.rbi +8 -49
  63. data/rbi/openai/models/responses/response_item.rbi +5 -1
  64. data/rbi/openai/models/responses/response_item_list.rbi +5 -1
  65. data/rbi/openai/models/responses/response_output_item.rbi +186 -1
  66. data/rbi/openai/models/responses/response_output_item_added_event.rbi +6 -1
  67. data/rbi/openai/models/responses/response_output_item_done_event.rbi +6 -1
  68. data/rbi/openai/models/vector_stores/file_batch_create_params.rbi +18 -10
  69. data/rbi/openai/models/vector_stores/file_create_params.rbi +6 -2
  70. data/rbi/openai/models.rbi +2 -0
  71. data/rbi/openai/resources/realtime/calls.rbi +3 -2
  72. data/rbi/openai/resources/vector_stores/file_batches.rbi +6 -4
  73. data/rbi/openai/resources/vector_stores/files.rbi +3 -1
  74. data/sig/openai/internal/util.rbs +4 -0
  75. data/sig/openai/models/conversations/conversation_item.rbs +1 -0
  76. data/sig/openai/models/conversations/message.rbs +18 -2
  77. data/sig/openai/models/oauth_error_code.rbs +14 -0
  78. data/sig/openai/models/responses/computer_action.rbs +53 -11
  79. data/sig/openai/models/responses/response_computer_tool_call.rbs +53 -11
  80. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +23 -19
  81. data/sig/openai/models/responses/response_custom_tool_call_item.rbs +52 -0
  82. data/sig/openai/models/responses/response_custom_tool_call_output_item.rbs +52 -0
  83. data/sig/openai/models/responses/response_function_tool_call_item.rbs +38 -3
  84. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +10 -7
  85. data/sig/openai/models/responses/response_input_message_item.rbs +7 -21
  86. data/sig/openai/models/responses/response_item.rbs +4 -0
  87. data/sig/openai/models/responses/response_output_item.rbs +86 -0
  88. data/sig/openai/models.rbs +2 -0
  89. metadata +19 -2
@@ -188,7 +188,13 @@ module OpenAI
188
188
  # @return [Integer]
189
189
  required :y_, Integer, api_name: :y
190
190
 
191
- # @!method initialize(button:, x:, y_:, type: :click)
191
+ # @!attribute keys
192
+ # The keys being held while clicking.
193
+ #
194
+ # @return [Array<String>, nil]
195
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
196
+
197
+ # @!method initialize(button:, x:, y_:, keys: nil, type: :click)
192
198
  # Some parameter documentations has been truncated, see
193
199
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::Click} for more
194
200
  # details.
@@ -201,6 +207,8 @@ module OpenAI
201
207
  #
202
208
  # @param y_ [Integer] The y-coordinate where the click occurred.
203
209
  #
210
+ # @param keys [Array<String>, nil] The keys being held while clicking.
211
+ #
204
212
  # @param type [Symbol, :click] Specifies the event type. For a click action, this property is always `click`.
205
213
 
206
214
  # Indicates which mouse button was pressed during the click. One of `left`,
@@ -222,6 +230,12 @@ module OpenAI
222
230
  end
223
231
 
224
232
  class DoubleClick < OpenAI::Internal::Type::BaseModel
233
+ # @!attribute keys
234
+ # The keys being held while double-clicking.
235
+ #
236
+ # @return [Array<String>, nil]
237
+ required :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
238
+
225
239
  # @!attribute type
226
240
  # Specifies the event type. For a double click action, this property is always set
227
241
  # to `double_click`.
@@ -241,13 +255,15 @@ module OpenAI
241
255
  # @return [Integer]
242
256
  required :y_, Integer, api_name: :y
243
257
 
244
- # @!method initialize(x:, y_:, type: :double_click)
258
+ # @!method initialize(keys:, x:, y_:, type: :double_click)
245
259
  # Some parameter documentations has been truncated, see
246
260
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::DoubleClick} for
247
261
  # more details.
248
262
  #
249
263
  # A double click action.
250
264
  #
265
+ # @param keys [Array<String>, nil] The keys being held while double-clicking.
266
+ #
251
267
  # @param x [Integer] The x-coordinate where the double click occurred.
252
268
  #
253
269
  # @param y_ [Integer] The y-coordinate where the double click occurred.
@@ -278,7 +294,13 @@ module OpenAI
278
294
  # @return [Symbol, :drag]
279
295
  required :type, const: :drag
280
296
 
281
- # @!method initialize(path:, type: :drag)
297
+ # @!attribute keys
298
+ # The keys being held while dragging the mouse.
299
+ #
300
+ # @return [Array<String>, nil]
301
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
302
+
303
+ # @!method initialize(path:, keys: nil, type: :drag)
282
304
  # Some parameter documentations has been truncated, see
283
305
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::Drag} for more
284
306
  # details.
@@ -287,6 +309,8 @@ module OpenAI
287
309
  #
288
310
  # @param path [Array<OpenAI::Models::Responses::ResponseComputerToolCall::Action::Drag::Path>] An array of coordinates representing the path of the drag action. Coordinates wi
289
311
  #
312
+ # @param keys [Array<String>, nil] The keys being held while dragging the mouse.
313
+ #
290
314
  # @param type [Symbol, :drag] Specifies the event type. For a drag action, this property is always set to `dra
291
315
 
292
316
  class Path < OpenAI::Internal::Type::BaseModel
@@ -358,7 +382,13 @@ module OpenAI
358
382
  # @return [Integer]
359
383
  required :y_, Integer, api_name: :y
360
384
 
361
- # @!method initialize(x:, y_:, type: :move)
385
+ # @!attribute keys
386
+ # The keys being held while moving the mouse.
387
+ #
388
+ # @return [Array<String>, nil]
389
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
390
+
391
+ # @!method initialize(x:, y_:, keys: nil, type: :move)
362
392
  # Some parameter documentations has been truncated, see
363
393
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::Move} for more
364
394
  # details.
@@ -369,6 +399,8 @@ module OpenAI
369
399
  #
370
400
  # @param y_ [Integer] The y-coordinate to move to.
371
401
  #
402
+ # @param keys [Array<String>, nil] The keys being held while moving the mouse.
403
+ #
372
404
  # @param type [Symbol, :move] Specifies the event type. For a move action, this property is always set to `mov
373
405
  end
374
406
 
@@ -422,7 +454,13 @@ module OpenAI
422
454
  # @return [Integer]
423
455
  required :y_, Integer, api_name: :y
424
456
 
425
- # @!method initialize(scroll_x:, scroll_y:, x:, y_:, type: :scroll)
457
+ # @!attribute keys
458
+ # The keys being held while scrolling.
459
+ #
460
+ # @return [Array<String>, nil]
461
+ optional :keys, OpenAI::Internal::Type::ArrayOf[String], nil?: true
462
+
463
+ # @!method initialize(scroll_x:, scroll_y:, x:, y_:, keys: nil, type: :scroll)
426
464
  # Some parameter documentations has been truncated, see
427
465
  # {OpenAI::Models::Responses::ResponseComputerToolCall::Action::Scroll} for more
428
466
  # details.
@@ -437,6 +475,8 @@ module OpenAI
437
475
  #
438
476
  # @param y_ [Integer] The y-coordinate where the scroll occurred.
439
477
  #
478
+ # @param keys [Array<String>, nil] The keys being held while scrolling.
479
+ #
440
480
  # @param type [Symbol, :scroll] Specifies the event type. For a scroll action, this property is always set to `s
441
481
  end
442
482
 
@@ -22,6 +22,13 @@ module OpenAI
22
22
  # @return [OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot]
23
23
  required :output, -> { OpenAI::Responses::ResponseComputerToolCallOutputScreenshot }
24
24
 
25
+ # @!attribute status
26
+ # The status of the message input. One of `in_progress`, `completed`, or
27
+ # `incomplete`. Populated when input items are returned via API.
28
+ #
29
+ # @return [Symbol, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::Status]
30
+ required :status, enum: -> { OpenAI::Responses::ResponseComputerToolCallOutputItem::Status }
31
+
25
32
  # @!attribute type
26
33
  # The type of the computer tool call output. Always `computer_call_output`.
27
34
  #
@@ -36,14 +43,13 @@ module OpenAI
36
43
  optional :acknowledged_safety_checks,
37
44
  -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck] }
38
45
 
39
- # @!attribute status
40
- # The status of the message input. One of `in_progress`, `completed`, or
41
- # `incomplete`. Populated when input items are returned via API.
46
+ # @!attribute created_by
47
+ # The identifier of the actor that created the item.
42
48
  #
43
- # @return [Symbol, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::Status, nil]
44
- optional :status, enum: -> { OpenAI::Responses::ResponseComputerToolCallOutputItem::Status }
49
+ # @return [String, nil]
50
+ optional :created_by, String
45
51
 
46
- # @!method initialize(id:, call_id:, output:, acknowledged_safety_checks: nil, status: nil, type: :computer_call_output)
52
+ # @!method initialize(id:, call_id:, output:, status:, acknowledged_safety_checks: nil, created_by: nil, type: :computer_call_output)
47
53
  # Some parameter documentations has been truncated, see
48
54
  # {OpenAI::Models::Responses::ResponseComputerToolCallOutputItem} for more
49
55
  # details.
@@ -54,12 +60,30 @@ module OpenAI
54
60
  #
55
61
  # @param output [OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot] A computer screenshot image used with the computer use tool.
56
62
  #
63
+ # @param status [Symbol, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::Status] The status of the message input. One of `in_progress`, `completed`, or
64
+ #
57
65
  # @param acknowledged_safety_checks [Array<OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck>] The safety checks reported by the API that have been acknowledged by the
58
66
  #
59
- # @param status [Symbol, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::Status] The status of the message input. One of `in_progress`, `completed`, or
67
+ # @param created_by [String] The identifier of the actor that created the item.
60
68
  #
61
69
  # @param type [Symbol, :computer_call_output] The type of the computer tool call output. Always `computer_call_output`.
62
70
 
71
+ # The status of the message input. One of `in_progress`, `completed`, or
72
+ # `incomplete`. Populated when input items are returned via API.
73
+ #
74
+ # @see OpenAI::Models::Responses::ResponseComputerToolCallOutputItem#status
75
+ module Status
76
+ extend OpenAI::Internal::Type::Enum
77
+
78
+ COMPLETED = :completed
79
+ INCOMPLETE = :incomplete
80
+ FAILED = :failed
81
+ IN_PROGRESS = :in_progress
82
+
83
+ # @!method self.values
84
+ # @return [Array<Symbol>]
85
+ end
86
+
63
87
  class AcknowledgedSafetyCheck < OpenAI::Internal::Type::BaseModel
64
88
  # @!attribute id
65
89
  # The ID of the pending safety check.
@@ -88,21 +112,6 @@ module OpenAI
88
112
  #
89
113
  # @param message [String, nil] Details about the pending safety check.
90
114
  end
91
-
92
- # The status of the message input. One of `in_progress`, `completed`, or
93
- # `incomplete`. Populated when input items are returned via API.
94
- #
95
- # @see OpenAI::Models::Responses::ResponseComputerToolCallOutputItem#status
96
- module Status
97
- extend OpenAI::Internal::Type::Enum
98
-
99
- IN_PROGRESS = :in_progress
100
- COMPLETED = :completed
101
- INCOMPLETE = :incomplete
102
-
103
- # @!method self.values
104
- # @return [Array<Symbol>]
105
- end
106
115
  end
107
116
  end
108
117
  end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ResponseCustomToolCallItem < OpenAI::Models::Responses::ResponseCustomToolCall
7
+ # @!attribute id
8
+ # The unique ID of the custom tool call item.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute status
14
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
15
+ # Populated when items are returned via API.
16
+ #
17
+ # @return [Symbol, OpenAI::Models::Responses::ResponseCustomToolCallItem::Status]
18
+ required :status, enum: -> { OpenAI::Responses::ResponseCustomToolCallItem::Status }
19
+
20
+ # @!attribute created_by
21
+ # The identifier of the actor that created the item.
22
+ #
23
+ # @return [String, nil]
24
+ optional :created_by, String
25
+
26
+ # @!method initialize(id:, status:, created_by: nil)
27
+ # Some parameter documentations has been truncated, see
28
+ # {OpenAI::Models::Responses::ResponseCustomToolCallItem} for more details.
29
+ #
30
+ # A call to a custom tool created by the model.
31
+ #
32
+ # @param id [String] The unique ID of the custom tool call item.
33
+ #
34
+ # @param status [Symbol, OpenAI::Models::Responses::ResponseCustomToolCallItem::Status] The status of the item. One of `in_progress`, `completed`, or
35
+ #
36
+ # @param created_by [String] The identifier of the actor that created the item.
37
+
38
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
39
+ # Populated when items are returned via API.
40
+ module Status
41
+ extend OpenAI::Internal::Type::Enum
42
+
43
+ IN_PROGRESS = :in_progress
44
+ COMPLETED = :completed
45
+ INCOMPLETE = :incomplete
46
+
47
+ # @!method self.values
48
+ # @return [Array<Symbol>]
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ResponseCustomToolCallOutputItem < OpenAI::Models::Responses::ResponseCustomToolCallOutput
7
+ # @!attribute id
8
+ # The unique ID of the custom tool call output item.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute status
14
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
15
+ # Populated when items are returned via API.
16
+ #
17
+ # @return [Symbol, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem::Status]
18
+ required :status, enum: -> { OpenAI::Responses::ResponseCustomToolCallOutputItem::Status }
19
+
20
+ # @!attribute created_by
21
+ # The identifier of the actor that created the item.
22
+ #
23
+ # @return [String, nil]
24
+ optional :created_by, String
25
+
26
+ # @!method initialize(id:, status:, created_by: nil)
27
+ # Some parameter documentations has been truncated, see
28
+ # {OpenAI::Models::Responses::ResponseCustomToolCallOutputItem} for more details.
29
+ #
30
+ # The output of a custom tool call from your code, being sent back to the model.
31
+ #
32
+ # @param id [String] The unique ID of the custom tool call output item.
33
+ #
34
+ # @param status [Symbol, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem::Status] The status of the item. One of `in_progress`, `completed`, or
35
+ #
36
+ # @param created_by [String] The identifier of the actor that created the item.
37
+
38
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
39
+ # Populated when items are returned via API.
40
+ module Status
41
+ extend OpenAI::Internal::Type::Enum
42
+
43
+ IN_PROGRESS = :in_progress
44
+ COMPLETED = :completed
45
+ INCOMPLETE = :incomplete
46
+
47
+ # @!method self.values
48
+ # @return [Array<Symbol>]
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -10,7 +10,20 @@ module OpenAI
10
10
  # @return [String]
11
11
  required :id, String
12
12
 
13
- # @!method initialize(id:)
13
+ # @!attribute status
14
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
15
+ # Populated when items are returned via API.
16
+ #
17
+ # @return [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCallItem::Status]
18
+ required :status, enum: -> { OpenAI::Responses::ResponseFunctionToolCallItem::Status }
19
+
20
+ # @!attribute created_by
21
+ # The identifier of the actor that created the item.
22
+ #
23
+ # @return [String, nil]
24
+ optional :created_by, String
25
+
26
+ # @!method initialize(id:, status:, created_by: nil)
14
27
  # Some parameter documentations has been truncated, see
15
28
  # {OpenAI::Models::Responses::ResponseFunctionToolCallItem} for more details.
16
29
  #
@@ -19,6 +32,23 @@ module OpenAI
19
32
  # for more information.
20
33
  #
21
34
  # @param id [String] The unique ID of the function tool call.
35
+ #
36
+ # @param status [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCallItem::Status] The status of the item. One of `in_progress`, `completed`, or
37
+ #
38
+ # @param created_by [String] The identifier of the actor that created the item.
39
+
40
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
41
+ # Populated when items are returned via API.
42
+ module Status
43
+ extend OpenAI::Internal::Type::Enum
44
+
45
+ IN_PROGRESS = :in_progress
46
+ COMPLETED = :completed
47
+ INCOMPLETE = :incomplete
48
+
49
+ # @!method self.values
50
+ # @return [Array<Symbol>]
51
+ end
22
52
  end
23
53
  end
24
54
  end
@@ -23,20 +23,26 @@ module OpenAI
23
23
  # @return [String, Array<OpenAI::Models::Responses::ResponseInputText, OpenAI::Models::Responses::ResponseInputImage, OpenAI::Models::Responses::ResponseInputFile>]
24
24
  required :output, union: -> { OpenAI::Responses::ResponseFunctionToolCallOutputItem::Output }
25
25
 
26
+ # @!attribute status
27
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
28
+ # Populated when items are returned via API.
29
+ #
30
+ # @return [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::Status]
31
+ required :status, enum: -> { OpenAI::Responses::ResponseFunctionToolCallOutputItem::Status }
32
+
26
33
  # @!attribute type
27
34
  # The type of the function tool call output. Always `function_call_output`.
28
35
  #
29
36
  # @return [Symbol, :function_call_output]
30
37
  required :type, const: :function_call_output
31
38
 
32
- # @!attribute status
33
- # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
34
- # Populated when items are returned via API.
39
+ # @!attribute created_by
40
+ # The identifier of the actor that created the item.
35
41
  #
36
- # @return [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::Status, nil]
37
- optional :status, enum: -> { OpenAI::Responses::ResponseFunctionToolCallOutputItem::Status }
42
+ # @return [String, nil]
43
+ optional :created_by, String
38
44
 
39
- # @!method initialize(id:, call_id:, output:, status: nil, type: :function_call_output)
45
+ # @!method initialize(id:, call_id:, output:, status:, created_by: nil, type: :function_call_output)
40
46
  # Some parameter documentations has been truncated, see
41
47
  # {OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem} for more
42
48
  # details.
@@ -49,6 +55,8 @@ module OpenAI
49
55
  #
50
56
  # @param status [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::Status] The status of the item. One of `in_progress`, `completed`, or
51
57
  #
58
+ # @param created_by [String] The identifier of the actor that created the item.
59
+ #
52
60
  # @param type [Symbol, :function_call_output] The type of the function tool call output. Always `function_call_output`.
53
61
 
54
62
  # The output from the function call generated by your code. Can be a string or an
@@ -23,6 +23,12 @@ module OpenAI
23
23
  # @return [Symbol, OpenAI::Models::Responses::ResponseInputMessageItem::Role]
24
24
  required :role, enum: -> { OpenAI::Responses::ResponseInputMessageItem::Role }
25
25
 
26
+ # @!attribute type
27
+ # The type of the message input. Always set to `message`.
28
+ #
29
+ # @return [Symbol, :message]
30
+ required :type, const: :message
31
+
26
32
  # @!attribute status
27
33
  # The status of item. One of `in_progress`, `completed`, or `incomplete`.
28
34
  # Populated when items are returned via API.
@@ -30,13 +36,7 @@ module OpenAI
30
36
  # @return [Symbol, OpenAI::Models::Responses::ResponseInputMessageItem::Status, nil]
31
37
  optional :status, enum: -> { OpenAI::Responses::ResponseInputMessageItem::Status }
32
38
 
33
- # @!attribute type
34
- # The type of the message input. Always set to `message`.
35
- #
36
- # @return [Symbol, OpenAI::Models::Responses::ResponseInputMessageItem::Type, nil]
37
- optional :type, enum: -> { OpenAI::Responses::ResponseInputMessageItem::Type }
38
-
39
- # @!method initialize(id:, content:, role:, status: nil, type: nil)
39
+ # @!method initialize(id:, content:, role:, status: nil, type: :message)
40
40
  # Some parameter documentations has been truncated, see
41
41
  # {OpenAI::Models::Responses::ResponseInputMessageItem} for more details.
42
42
  #
@@ -48,7 +48,7 @@ module OpenAI
48
48
  #
49
49
  # @param status [Symbol, OpenAI::Models::Responses::ResponseInputMessageItem::Status] The status of item. One of `in_progress`, `completed`, or
50
50
  #
51
- # @param type [Symbol, OpenAI::Models::Responses::ResponseInputMessageItem::Type] The type of the message input. Always set to `message`.
51
+ # @param type [Symbol, :message] The type of the message input. Always set to `message`.
52
52
 
53
53
  # The role of the message input. One of `user`, `system`, or `developer`.
54
54
  #
@@ -78,18 +78,6 @@ module OpenAI
78
78
  # @!method self.values
79
79
  # @return [Array<Symbol>]
80
80
  end
81
-
82
- # The type of the message input. Always set to `message`.
83
- #
84
- # @see OpenAI::Models::Responses::ResponseInputMessageItem#type
85
- module Type
86
- extend OpenAI::Internal::Type::Enum
87
-
88
- MESSAGE = :message
89
-
90
- # @!method self.values
91
- # @return [Array<Symbol>]
92
- end
93
81
  end
94
82
  end
95
83
  end
@@ -38,6 +38,15 @@ module OpenAI
38
38
 
39
39
  variant :tool_search_output, -> { OpenAI::Responses::ResponseToolSearchOutputItem }
40
40
 
41
+ # A description of the chain of thought used by a reasoning model while generating
42
+ # a response. Be sure to include these items in your `input` to the Responses API
43
+ # for subsequent turns of a conversation if you are manually
44
+ # [managing context](https://platform.openai.com/docs/guides/conversation-state).
45
+ variant :reasoning, -> { OpenAI::Responses::ResponseReasoningItem }
46
+
47
+ # A compaction item generated by the [`v1/responses/compact` API](https://platform.openai.com/docs/api-reference/responses/compact).
48
+ variant :compaction, -> { OpenAI::Responses::ResponseCompactionItem }
49
+
41
50
  # An image generation request made by the model.
42
51
  variant :image_generation_call, -> { OpenAI::Responses::ResponseItem::ImageGenerationCall }
43
52
 
@@ -74,6 +83,12 @@ module OpenAI
74
83
  # An invocation of a tool on an MCP server.
75
84
  variant :mcp_call, -> { OpenAI::Responses::ResponseItem::McpCall }
76
85
 
86
+ # A call to a custom tool created by the model.
87
+ variant :custom_tool_call, -> { OpenAI::Responses::ResponseCustomToolCallItem }
88
+
89
+ # The output of a custom tool call from your code, being sent back to the model.
90
+ variant :custom_tool_call_output, -> { OpenAI::Responses::ResponseCustomToolCallOutputItem }
91
+
77
92
  class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
78
93
  # @!attribute id
79
94
  # The unique ID of the image generation call.
@@ -590,7 +605,7 @@ module OpenAI
590
605
  end
591
606
 
592
607
  # @!method self.variants
593
- # @return [Array(OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall)]
608
+ # @return [Array(OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem)]
594
609
  end
595
610
  end
596
611
  end
@@ -7,7 +7,7 @@ module OpenAI
7
7
  # @!attribute data
8
8
  # A list of items used to generate this response.
9
9
  #
10
- # @return [Array<OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall>]
10
+ # @return [Array<OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>]
11
11
  required :data, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseItem] }
12
12
 
13
13
  # @!attribute first_id
@@ -37,7 +37,7 @@ module OpenAI
37
37
  # @!method initialize(data:, first_id:, has_more:, last_id:, object: :list)
38
38
  # A list of Response items.
39
39
  #
40
- # @param data [Array<OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall>] A list of items used to generate this response.
40
+ # @param data [Array<OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>] A list of items used to generate this response.
41
41
  #
42
42
  # @param first_id [String] The ID of the first item in the list.
43
43
  #