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
@@ -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
@@ -165,6 +165,8 @@ module OpenAI
165
165
 
166
166
  class ModerationTextInput = OpenAI::Models::ModerationTextInput
167
167
 
168
+ module OAuthErrorCode = OpenAI::Models::OAuthErrorCode
169
+
168
170
  class OtherFileChunkingStrategyObject = OpenAI::Models::OtherFileChunkingStrategyObject
169
171
 
170
172
  module Realtime = OpenAI::Models::Realtime
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.58.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-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -64,6 +64,13 @@ files:
64
64
  - README.md
65
65
  - SECURITY.md
66
66
  - lib/openai.rb
67
+ - lib/openai/auth/subject_token_provider.rb
68
+ - lib/openai/auth/subject_token_providers/azure_managed_identity_token_provider.rb
69
+ - lib/openai/auth/subject_token_providers/gcp_id_token_provider.rb
70
+ - lib/openai/auth/subject_token_providers/k8s_service_account_token_provider.rb
71
+ - lib/openai/auth/token_type.rb
72
+ - lib/openai/auth/workload_identity.rb
73
+ - lib/openai/auth/workload_identity_auth.rb
67
74
  - lib/openai/client.rb
68
75
  - lib/openai/errors.rb
69
76
  - lib/openai/file_part.rb
@@ -450,6 +457,7 @@ files:
450
457
  - lib/openai/models/moderation_model.rb
451
458
  - lib/openai/models/moderation_multi_modal_input.rb
452
459
  - lib/openai/models/moderation_text_input.rb
460
+ - lib/openai/models/oauth_error_code.rb
453
461
  - lib/openai/models/other_file_chunking_strategy_object.rb
454
462
  - lib/openai/models/realtime/audio_transcription.rb
455
463
  - lib/openai/models/realtime/call_accept_params.rb
@@ -624,7 +632,9 @@ files:
624
632
  - lib/openai/models/responses/response_custom_tool_call.rb
625
633
  - lib/openai/models/responses/response_custom_tool_call_input_delta_event.rb
626
634
  - lib/openai/models/responses/response_custom_tool_call_input_done_event.rb
635
+ - lib/openai/models/responses/response_custom_tool_call_item.rb
627
636
  - lib/openai/models/responses/response_custom_tool_call_output.rb
637
+ - lib/openai/models/responses/response_custom_tool_call_output_item.rb
628
638
  - lib/openai/models/responses/response_delete_params.rb
629
639
  - lib/openai/models/responses/response_error.rb
630
640
  - lib/openai/models/responses/response_error_event.rb
@@ -870,6 +880,7 @@ files:
870
880
  - lib/openai/structured_output.rb
871
881
  - lib/openai/version.rb
872
882
  - manifest.yaml
883
+ - rbi/openai/auth.rbi
873
884
  - rbi/openai/client.rbi
874
885
  - rbi/openai/errors.rbi
875
886
  - rbi/openai/file_part.rbi
@@ -1251,6 +1262,7 @@ files:
1251
1262
  - rbi/openai/models/moderation_model.rbi
1252
1263
  - rbi/openai/models/moderation_multi_modal_input.rbi
1253
1264
  - rbi/openai/models/moderation_text_input.rbi
1265
+ - rbi/openai/models/oauth_error_code.rbi
1254
1266
  - rbi/openai/models/other_file_chunking_strategy_object.rbi
1255
1267
  - rbi/openai/models/realtime/audio_transcription.rbi
1256
1268
  - rbi/openai/models/realtime/call_accept_params.rbi
@@ -1425,7 +1437,9 @@ files:
1425
1437
  - rbi/openai/models/responses/response_custom_tool_call.rbi
1426
1438
  - rbi/openai/models/responses/response_custom_tool_call_input_delta_event.rbi
1427
1439
  - rbi/openai/models/responses/response_custom_tool_call_input_done_event.rbi
1440
+ - rbi/openai/models/responses/response_custom_tool_call_item.rbi
1428
1441
  - rbi/openai/models/responses/response_custom_tool_call_output.rbi
1442
+ - rbi/openai/models/responses/response_custom_tool_call_output_item.rbi
1429
1443
  - rbi/openai/models/responses/response_delete_params.rbi
1430
1444
  - rbi/openai/models/responses/response_error.rbi
1431
1445
  - rbi/openai/models/responses/response_error_event.rbi
@@ -2042,6 +2056,7 @@ files:
2042
2056
  - sig/openai/models/moderation_model.rbs
2043
2057
  - sig/openai/models/moderation_multi_modal_input.rbs
2044
2058
  - sig/openai/models/moderation_text_input.rbs
2059
+ - sig/openai/models/oauth_error_code.rbs
2045
2060
  - sig/openai/models/other_file_chunking_strategy_object.rbs
2046
2061
  - sig/openai/models/realtime/audio_transcription.rbs
2047
2062
  - sig/openai/models/realtime/call_accept_params.rbs
@@ -2216,7 +2231,9 @@ files:
2216
2231
  - sig/openai/models/responses/response_custom_tool_call.rbs
2217
2232
  - sig/openai/models/responses/response_custom_tool_call_input_delta_event.rbs
2218
2233
  - sig/openai/models/responses/response_custom_tool_call_input_done_event.rbs
2234
+ - sig/openai/models/responses/response_custom_tool_call_item.rbs
2219
2235
  - sig/openai/models/responses/response_custom_tool_call_output.rbs
2236
+ - sig/openai/models/responses/response_custom_tool_call_output_item.rbs
2220
2237
  - sig/openai/models/responses/response_delete_params.rbs
2221
2238
  - sig/openai/models/responses/response_error.rbs
2222
2239
  - sig/openai/models/responses/response_error_event.rbs