openai 0.56.0 → 0.57.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/conversations/conversation_item.rb +4 -1
  5. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  6. data/lib/openai/models/responses/compacted_response.rb +2 -2
  7. data/lib/openai/models/responses/computer_action.rb +45 -5
  8. data/lib/openai/models/responses/response.rb +2 -2
  9. data/lib/openai/models/responses/response_computer_tool_call.rb +45 -5
  10. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +31 -22
  11. data/lib/openai/models/responses/response_custom_tool_call_item.rb +53 -0
  12. data/lib/openai/models/responses/response_custom_tool_call_output_item.rb +53 -0
  13. data/lib/openai/models/responses/response_function_tool_call_item.rb +31 -1
  14. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +14 -6
  15. data/lib/openai/models/responses/response_input_message_item.rb +8 -20
  16. data/lib/openai/models/responses/response_item.rb +16 -1
  17. data/lib/openai/models/responses/response_item_list.rb +2 -2
  18. data/lib/openai/models/responses/response_output_item.rb +120 -1
  19. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  20. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  21. data/lib/openai/resources/conversations/items.rb +2 -2
  22. data/lib/openai/resources/responses/input_items.rb +1 -1
  23. data/lib/openai/version.rb +1 -1
  24. data/lib/openai.rb +4 -2
  25. data/rbi/openai/models/conversations/conversation_item.rbi +1 -0
  26. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  27. data/rbi/openai/models/responses/compacted_response.rbi +6 -1
  28. data/rbi/openai/models/responses/computer_action.rbi +71 -11
  29. data/rbi/openai/models/responses/response.rbi +6 -1
  30. data/rbi/openai/models/responses/response_computer_tool_call.rbi +71 -11
  31. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +71 -65
  32. data/rbi/openai/models/responses/response_custom_tool_call_item.rbi +111 -0
  33. data/rbi/openai/models/responses/response_custom_tool_call_output_item.rbi +111 -0
  34. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +81 -3
  35. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +19 -18
  36. data/rbi/openai/models/responses/response_input_message_item.rbi +8 -49
  37. data/rbi/openai/models/responses/response_item.rbi +5 -1
  38. data/rbi/openai/models/responses/response_item_list.rbi +5 -1
  39. data/rbi/openai/models/responses/response_output_item.rbi +186 -1
  40. data/rbi/openai/models/responses/response_output_item_added_event.rbi +6 -1
  41. data/rbi/openai/models/responses/response_output_item_done_event.rbi +6 -1
  42. data/sig/openai/models/conversations/conversation_item.rbs +1 -0
  43. data/sig/openai/models/responses/computer_action.rbs +53 -11
  44. data/sig/openai/models/responses/response_computer_tool_call.rbs +53 -11
  45. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +23 -19
  46. data/sig/openai/models/responses/response_custom_tool_call_item.rbs +52 -0
  47. data/sig/openai/models/responses/response_custom_tool_call_output_item.rbs +52 -0
  48. data/sig/openai/models/responses/response_function_tool_call_item.rbs +38 -3
  49. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +10 -7
  50. data/sig/openai/models/responses/response_input_message_item.rbs +7 -21
  51. data/sig/openai/models/responses/response_item.rbs +4 -0
  52. data/sig/openai/models/responses/response_output_item.rbs +86 -0
  53. metadata +8 -2
@@ -6,9 +6,10 @@ module OpenAI
6
6
  id: String,
7
7
  call_id: String,
8
8
  output: OpenAI::Responses::ResponseComputerToolCallOutputScreenshot,
9
+ status: OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status,
9
10
  type: :computer_call_output,
10
11
  acknowledged_safety_checks: ::Array[OpenAI::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck],
11
- status: OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status
12
+ created_by: String
12
13
  }
13
14
 
14
15
  class ResponseComputerToolCallOutputItem < OpenAI::Internal::Type::BaseModel
@@ -18,6 +19,8 @@ module OpenAI
18
19
 
19
20
  attr_accessor output: OpenAI::Responses::ResponseComputerToolCallOutputScreenshot
20
21
 
22
+ attr_accessor status: OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status
23
+
21
24
  attr_accessor type: :computer_call_output
22
25
 
23
26
  attr_reader acknowledged_safety_checks: ::Array[OpenAI::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck]?
@@ -26,18 +29,17 @@ module OpenAI
26
29
  ::Array[OpenAI::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck]
27
30
  ) -> ::Array[OpenAI::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck]
28
31
 
29
- attr_reader status: OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status?
32
+ attr_reader created_by: String?
30
33
 
31
- def status=: (
32
- OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status
33
- ) -> OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status
34
+ def created_by=: (String) -> String
34
35
 
35
36
  def initialize: (
36
37
  id: String,
37
38
  call_id: String,
38
39
  output: OpenAI::Responses::ResponseComputerToolCallOutputScreenshot,
40
+ status: OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status,
39
41
  ?acknowledged_safety_checks: ::Array[OpenAI::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck],
40
- ?status: OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status,
42
+ ?created_by: String,
41
43
  ?type: :computer_call_output
42
44
  ) -> void
43
45
 
@@ -45,11 +47,25 @@ module OpenAI
45
47
  id: String,
46
48
  call_id: String,
47
49
  output: OpenAI::Responses::ResponseComputerToolCallOutputScreenshot,
50
+ status: OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status,
48
51
  type: :computer_call_output,
49
52
  acknowledged_safety_checks: ::Array[OpenAI::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck],
50
- status: OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status
53
+ created_by: String
51
54
  }
52
55
 
56
+ type status = :completed | :incomplete | :failed | :in_progress
57
+
58
+ module Status
59
+ extend OpenAI::Internal::Type::Enum
60
+
61
+ COMPLETED: :completed
62
+ INCOMPLETE: :incomplete
63
+ FAILED: :failed
64
+ IN_PROGRESS: :in_progress
65
+
66
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status]
67
+ end
68
+
53
69
  type acknowledged_safety_check =
54
70
  { id: String, code: String?, message: String? }
55
71
 
@@ -68,18 +84,6 @@ module OpenAI
68
84
 
69
85
  def to_hash: -> { id: String, code: String?, message: String? }
70
86
  end
71
-
72
- type status = :in_progress | :completed | :incomplete
73
-
74
- module Status
75
- extend OpenAI::Internal::Type::Enum
76
-
77
- IN_PROGRESS: :in_progress
78
- COMPLETED: :completed
79
- INCOMPLETE: :incomplete
80
-
81
- def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::status]
82
- end
83
87
  end
84
88
  end
85
89
  end
@@ -0,0 +1,52 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_custom_tool_call_item =
5
+ {
6
+ id: String,
7
+ status: OpenAI::Models::Responses::ResponseCustomToolCallItem::status,
8
+ created_by: String
9
+ }
10
+
11
+ class ResponseCustomToolCallItem < OpenAI::Models::Responses::ResponseCustomToolCall
12
+ def id: -> String
13
+
14
+ def id=: (String _) -> String
15
+
16
+ def status: -> OpenAI::Models::Responses::ResponseCustomToolCallItem::status
17
+
18
+ def status=: (
19
+ OpenAI::Models::Responses::ResponseCustomToolCallItem::status _
20
+ ) -> OpenAI::Models::Responses::ResponseCustomToolCallItem::status
21
+
22
+ def created_by: -> String?
23
+
24
+ def created_by=: (String _) -> String
25
+
26
+ def initialize: (
27
+ id: String,
28
+ status: OpenAI::Models::Responses::ResponseCustomToolCallItem::status,
29
+ ?created_by: String
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ id: String,
34
+ status: OpenAI::Models::Responses::ResponseCustomToolCallItem::status,
35
+ created_by: String
36
+ }
37
+
38
+ type status = :in_progress | :completed | :incomplete
39
+
40
+ module Status
41
+ extend OpenAI::Internal::Type::Enum
42
+
43
+ IN_PROGRESS: :in_progress
44
+ COMPLETED: :completed
45
+ INCOMPLETE: :incomplete
46
+
47
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCustomToolCallItem::status]
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,52 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_custom_tool_call_output_item =
5
+ {
6
+ id: String,
7
+ status: OpenAI::Models::Responses::ResponseCustomToolCallOutputItem::status,
8
+ created_by: String
9
+ }
10
+
11
+ class ResponseCustomToolCallOutputItem < OpenAI::Models::Responses::ResponseCustomToolCallOutput
12
+ def id: -> String
13
+
14
+ def id=: (String _) -> String
15
+
16
+ def status: -> OpenAI::Models::Responses::ResponseCustomToolCallOutputItem::status
17
+
18
+ def status=: (
19
+ OpenAI::Models::Responses::ResponseCustomToolCallOutputItem::status _
20
+ ) -> OpenAI::Models::Responses::ResponseCustomToolCallOutputItem::status
21
+
22
+ def created_by: -> String?
23
+
24
+ def created_by=: (String _) -> String
25
+
26
+ def initialize: (
27
+ id: String,
28
+ status: OpenAI::Models::Responses::ResponseCustomToolCallOutputItem::status,
29
+ ?created_by: String
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ id: String,
34
+ status: OpenAI::Models::Responses::ResponseCustomToolCallOutputItem::status,
35
+ created_by: String
36
+ }
37
+
38
+ type status = :in_progress | :completed | :incomplete
39
+
40
+ module Status
41
+ extend OpenAI::Internal::Type::Enum
42
+
43
+ IN_PROGRESS: :in_progress
44
+ COMPLETED: :completed
45
+ INCOMPLETE: :incomplete
46
+
47
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCustomToolCallOutputItem::status]
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -1,16 +1,51 @@
1
1
  module OpenAI
2
2
  module Models
3
3
  module Responses
4
- type response_function_tool_call_item = { id: String }
4
+ type response_function_tool_call_item =
5
+ {
6
+ id: String,
7
+ status: OpenAI::Models::Responses::ResponseFunctionToolCallItem::status,
8
+ created_by: String
9
+ }
5
10
 
6
11
  class ResponseFunctionToolCallItem < OpenAI::Models::Responses::ResponseFunctionToolCall
7
12
  def id: -> String
8
13
 
9
14
  def id=: (String _) -> String
10
15
 
11
- def initialize: (id: String) -> void
16
+ def status: -> OpenAI::Models::Responses::ResponseFunctionToolCallItem::status
12
17
 
13
- def to_hash: -> { id: String }
18
+ def status=: (
19
+ OpenAI::Models::Responses::ResponseFunctionToolCallItem::status _
20
+ ) -> OpenAI::Models::Responses::ResponseFunctionToolCallItem::status
21
+
22
+ def created_by: -> String?
23
+
24
+ def created_by=: (String _) -> String
25
+
26
+ def initialize: (
27
+ id: String,
28
+ status: OpenAI::Models::Responses::ResponseFunctionToolCallItem::status,
29
+ ?created_by: String
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ id: String,
34
+ status: OpenAI::Models::Responses::ResponseFunctionToolCallItem::status,
35
+ created_by: String
36
+ }
37
+
38
+ type status = :in_progress | :completed | :incomplete
39
+
40
+ module Status
41
+ extend OpenAI::Internal::Type::Enum
42
+
43
+ IN_PROGRESS: :in_progress
44
+ COMPLETED: :completed
45
+ INCOMPLETE: :incomplete
46
+
47
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseFunctionToolCallItem::status]
48
+ end
14
49
  end
15
50
  end
16
51
  end
@@ -6,8 +6,9 @@ module OpenAI
6
6
  id: String,
7
7
  call_id: String,
8
8
  output: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::output,
9
+ status: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status,
9
10
  type: :function_call_output,
10
- status: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status
11
+ created_by: String
11
12
  }
12
13
 
13
14
  class ResponseFunctionToolCallOutputItem < OpenAI::Internal::Type::BaseModel
@@ -17,19 +18,20 @@ module OpenAI
17
18
 
18
19
  attr_accessor output: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::output
19
20
 
21
+ attr_accessor status: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status
22
+
20
23
  attr_accessor type: :function_call_output
21
24
 
22
- attr_reader status: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status?
25
+ attr_reader created_by: String?
23
26
 
24
- def status=: (
25
- OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status
26
- ) -> OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status
27
+ def created_by=: (String) -> String
27
28
 
28
29
  def initialize: (
29
30
  id: String,
30
31
  call_id: String,
31
32
  output: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::output,
32
- ?status: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status,
33
+ status: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status,
34
+ ?created_by: String,
33
35
  ?type: :function_call_output
34
36
  ) -> void
35
37
 
@@ -37,8 +39,9 @@ module OpenAI
37
39
  id: String,
38
40
  call_id: String,
39
41
  output: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::output,
42
+ status: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status,
40
43
  type: :function_call_output,
41
- status: OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem::status
44
+ created_by: String
42
45
  }
43
46
 
44
47
  type output =
@@ -6,8 +6,8 @@ module OpenAI
6
6
  id: String,
7
7
  content: OpenAI::Models::Responses::response_input_message_content_list,
8
8
  role: OpenAI::Models::Responses::ResponseInputMessageItem::role,
9
- status: OpenAI::Models::Responses::ResponseInputMessageItem::status,
10
- type: OpenAI::Models::Responses::ResponseInputMessageItem::type_
9
+ type: :message,
10
+ status: OpenAI::Models::Responses::ResponseInputMessageItem::status
11
11
  }
12
12
 
13
13
  class ResponseInputMessageItem < OpenAI::Internal::Type::BaseModel
@@ -17,32 +17,28 @@ module OpenAI
17
17
 
18
18
  attr_accessor role: OpenAI::Models::Responses::ResponseInputMessageItem::role
19
19
 
20
+ attr_accessor type: :message
21
+
20
22
  attr_reader status: OpenAI::Models::Responses::ResponseInputMessageItem::status?
21
23
 
22
24
  def status=: (
23
25
  OpenAI::Models::Responses::ResponseInputMessageItem::status
24
26
  ) -> OpenAI::Models::Responses::ResponseInputMessageItem::status
25
27
 
26
- attr_reader type: OpenAI::Models::Responses::ResponseInputMessageItem::type_?
27
-
28
- def type=: (
29
- OpenAI::Models::Responses::ResponseInputMessageItem::type_
30
- ) -> OpenAI::Models::Responses::ResponseInputMessageItem::type_
31
-
32
28
  def initialize: (
33
29
  id: String,
34
30
  content: OpenAI::Models::Responses::response_input_message_content_list,
35
31
  role: OpenAI::Models::Responses::ResponseInputMessageItem::role,
36
32
  ?status: OpenAI::Models::Responses::ResponseInputMessageItem::status,
37
- ?type: OpenAI::Models::Responses::ResponseInputMessageItem::type_
33
+ ?type: :message
38
34
  ) -> void
39
35
 
40
36
  def to_hash: -> {
41
37
  id: String,
42
38
  content: OpenAI::Models::Responses::response_input_message_content_list,
43
39
  role: OpenAI::Models::Responses::ResponseInputMessageItem::role,
44
- status: OpenAI::Models::Responses::ResponseInputMessageItem::status,
45
- type: OpenAI::Models::Responses::ResponseInputMessageItem::type_
40
+ type: :message,
41
+ status: OpenAI::Models::Responses::ResponseInputMessageItem::status
46
42
  }
47
43
 
48
44
  type role = :user | :system | :developer
@@ -68,16 +64,6 @@ module OpenAI
68
64
 
69
65
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseInputMessageItem::status]
70
66
  end
71
-
72
- type type_ = :message
73
-
74
- module Type
75
- extend OpenAI::Internal::Type::Enum
76
-
77
- MESSAGE: :message
78
-
79
- def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseInputMessageItem::type_]
80
- end
81
67
  end
82
68
  end
83
69
  end
@@ -12,6 +12,8 @@ module OpenAI
12
12
  | OpenAI::Responses::ResponseFunctionToolCallOutputItem
13
13
  | OpenAI::Responses::ResponseToolSearchCall
14
14
  | OpenAI::Responses::ResponseToolSearchOutputItem
15
+ | OpenAI::Responses::ResponseReasoningItem
16
+ | OpenAI::Responses::ResponseCompactionItem
15
17
  | OpenAI::Responses::ResponseItem::ImageGenerationCall
16
18
  | OpenAI::Responses::ResponseCodeInterpreterToolCall
17
19
  | OpenAI::Responses::ResponseItem::LocalShellCall
@@ -24,6 +26,8 @@ module OpenAI
24
26
  | OpenAI::Responses::ResponseItem::McpApprovalRequest
25
27
  | OpenAI::Responses::ResponseItem::McpApprovalResponse
26
28
  | OpenAI::Responses::ResponseItem::McpCall
29
+ | OpenAI::Responses::ResponseCustomToolCallItem
30
+ | OpenAI::Responses::ResponseCustomToolCallOutputItem
27
31
 
28
32
  module ResponseItem
29
33
  extend OpenAI::Internal::Type::Union
@@ -5,8 +5,10 @@ module OpenAI
5
5
  OpenAI::Responses::ResponseOutputMessage
6
6
  | OpenAI::Responses::ResponseFileSearchToolCall
7
7
  | OpenAI::Responses::ResponseFunctionToolCall
8
+ | OpenAI::Responses::ResponseFunctionToolCallOutputItem
8
9
  | OpenAI::Responses::ResponseFunctionWebSearch
9
10
  | OpenAI::Responses::ResponseComputerToolCall
11
+ | OpenAI::Responses::ResponseComputerToolCallOutputItem
10
12
  | OpenAI::Responses::ResponseReasoningItem
11
13
  | OpenAI::Responses::ResponseToolSearchCall
12
14
  | OpenAI::Responses::ResponseToolSearchOutputItem
@@ -14,6 +16,7 @@ module OpenAI
14
16
  | OpenAI::Responses::ResponseOutputItem::ImageGenerationCall
15
17
  | OpenAI::Responses::ResponseCodeInterpreterToolCall
16
18
  | OpenAI::Responses::ResponseOutputItem::LocalShellCall
19
+ | OpenAI::Responses::ResponseOutputItem::LocalShellCallOutput
17
20
  | OpenAI::Responses::ResponseFunctionShellToolCall
18
21
  | OpenAI::Responses::ResponseFunctionShellToolCallOutput
19
22
  | OpenAI::Responses::ResponseApplyPatchToolCall
@@ -21,7 +24,9 @@ module OpenAI
21
24
  | OpenAI::Responses::ResponseOutputItem::McpCall
22
25
  | OpenAI::Responses::ResponseOutputItem::McpListTools
23
26
  | OpenAI::Responses::ResponseOutputItem::McpApprovalRequest
27
+ | OpenAI::Responses::ResponseOutputItem::McpApprovalResponse
24
28
  | OpenAI::Responses::ResponseCustomToolCall
29
+ | OpenAI::Responses::ResponseCustomToolCallOutputItem
25
30
 
26
31
  module ResponseOutputItem
27
32
  extend OpenAI::Internal::Type::Union
@@ -162,6 +167,50 @@ module OpenAI
162
167
  end
163
168
  end
164
169
 
170
+ type local_shell_call_output =
171
+ {
172
+ id: String,
173
+ output: String,
174
+ type: :local_shell_call_output,
175
+ status: OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput::status?
176
+ }
177
+
178
+ class LocalShellCallOutput < OpenAI::Internal::Type::BaseModel
179
+ attr_accessor id: String
180
+
181
+ attr_accessor output: String
182
+
183
+ attr_accessor type: :local_shell_call_output
184
+
185
+ attr_accessor status: OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput::status?
186
+
187
+ def initialize: (
188
+ id: String,
189
+ output: String,
190
+ ?status: OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput::status?,
191
+ ?type: :local_shell_call_output
192
+ ) -> void
193
+
194
+ def to_hash: -> {
195
+ id: String,
196
+ output: String,
197
+ type: :local_shell_call_output,
198
+ status: OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput::status?
199
+ }
200
+
201
+ type status = :in_progress | :completed | :incomplete
202
+
203
+ module Status
204
+ extend OpenAI::Internal::Type::Enum
205
+
206
+ IN_PROGRESS: :in_progress
207
+ COMPLETED: :completed
208
+ INCOMPLETE: :incomplete
209
+
210
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput::status]
211
+ end
212
+ end
213
+
165
214
  type mcp_call =
166
215
  {
167
216
  id: String,
@@ -344,6 +393,43 @@ module OpenAI
344
393
  }
345
394
  end
346
395
 
396
+ type mcp_approval_response =
397
+ {
398
+ id: String,
399
+ approval_request_id: String,
400
+ approve: bool,
401
+ type: :mcp_approval_response,
402
+ reason: String?
403
+ }
404
+
405
+ class McpApprovalResponse < OpenAI::Internal::Type::BaseModel
406
+ attr_accessor id: String
407
+
408
+ attr_accessor approval_request_id: String
409
+
410
+ attr_accessor approve: bool
411
+
412
+ attr_accessor type: :mcp_approval_response
413
+
414
+ attr_accessor reason: String?
415
+
416
+ def initialize: (
417
+ id: String,
418
+ approval_request_id: String,
419
+ approve: bool,
420
+ ?reason: String?,
421
+ ?type: :mcp_approval_response
422
+ ) -> void
423
+
424
+ def to_hash: -> {
425
+ id: String,
426
+ approval_request_id: String,
427
+ approve: bool,
428
+ type: :mcp_approval_response,
429
+ reason: String?
430
+ }
431
+ end
432
+
347
433
  def self?.variants: -> ::Array[OpenAI::Models::Responses::response_output_item]
348
434
  end
349
435
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.56.0
4
+ version: 0.57.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-18 00:00:00.000000000 Z
11
+ date: 2026-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -624,7 +624,9 @@ files:
624
624
  - lib/openai/models/responses/response_custom_tool_call.rb
625
625
  - lib/openai/models/responses/response_custom_tool_call_input_delta_event.rb
626
626
  - lib/openai/models/responses/response_custom_tool_call_input_done_event.rb
627
+ - lib/openai/models/responses/response_custom_tool_call_item.rb
627
628
  - lib/openai/models/responses/response_custom_tool_call_output.rb
629
+ - lib/openai/models/responses/response_custom_tool_call_output_item.rb
628
630
  - lib/openai/models/responses/response_delete_params.rb
629
631
  - lib/openai/models/responses/response_error.rb
630
632
  - lib/openai/models/responses/response_error_event.rb
@@ -1425,7 +1427,9 @@ files:
1425
1427
  - rbi/openai/models/responses/response_custom_tool_call.rbi
1426
1428
  - rbi/openai/models/responses/response_custom_tool_call_input_delta_event.rbi
1427
1429
  - rbi/openai/models/responses/response_custom_tool_call_input_done_event.rbi
1430
+ - rbi/openai/models/responses/response_custom_tool_call_item.rbi
1428
1431
  - rbi/openai/models/responses/response_custom_tool_call_output.rbi
1432
+ - rbi/openai/models/responses/response_custom_tool_call_output_item.rbi
1429
1433
  - rbi/openai/models/responses/response_delete_params.rbi
1430
1434
  - rbi/openai/models/responses/response_error.rbi
1431
1435
  - rbi/openai/models/responses/response_error_event.rbi
@@ -2216,7 +2220,9 @@ files:
2216
2220
  - sig/openai/models/responses/response_custom_tool_call.rbs
2217
2221
  - sig/openai/models/responses/response_custom_tool_call_input_delta_event.rbs
2218
2222
  - sig/openai/models/responses/response_custom_tool_call_input_done_event.rbs
2223
+ - sig/openai/models/responses/response_custom_tool_call_item.rbs
2219
2224
  - sig/openai/models/responses/response_custom_tool_call_output.rbs
2225
+ - sig/openai/models/responses/response_custom_tool_call_output_item.rbs
2220
2226
  - sig/openai/models/responses/response_delete_params.rbs
2221
2227
  - sig/openai/models/responses/response_error.rbs
2222
2228
  - sig/openai/models/responses/response_error_event.rbs