openai 0.79.0 → 0.80.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/bedrock.md +67 -2
  5. data/lib/openai/models/all_models.rb +2 -0
  6. data/lib/openai/models/beta/beta_mcp_tool_call_error.rb +84 -0
  7. data/lib/openai/models/beta/beta_response.rb +18 -0
  8. data/lib/openai/models/beta/beta_response_input_item.rb +3 -3
  9. data/lib/openai/models/beta/beta_response_item.rb +3 -3
  10. data/lib/openai/models/beta/beta_response_output_item.rb +3 -3
  11. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +5 -2
  12. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +201 -4
  13. data/lib/openai/models/beta/beta_response_reasoning_item.rb +5 -0
  14. data/lib/openai/models/beta/beta_responses_client_event.rb +18 -0
  15. data/lib/openai/models/beta/beta_responses_server_event.rb +126 -22
  16. data/lib/openai/models/beta/beta_web_search_tool.rb +11 -1
  17. data/lib/openai/models/beta/response_compact_params.rb +9 -0
  18. data/lib/openai/models/beta/response_create_params.rb +18 -0
  19. data/lib/openai/models/chat_model.rb +1 -0
  20. data/lib/openai/models/completion_usage.rb +26 -2
  21. data/lib/openai/models/conversations/conversation_item.rb +3 -3
  22. data/lib/openai/models/model.rb +9 -1
  23. data/lib/openai/models/responses/mcp_tool_call_error.rb +82 -0
  24. data/lib/openai/models/responses/response.rb +9 -0
  25. data/lib/openai/models/responses/response_compact_params.rb +9 -0
  26. data/lib/openai/models/responses/response_create_params.rb +9 -0
  27. data/lib/openai/models/responses/response_input_item.rb +3 -3
  28. data/lib/openai/models/responses/response_item.rb +3 -3
  29. data/lib/openai/models/responses/response_output_item.rb +3 -3
  30. data/lib/openai/models/responses/response_output_item_added_event.rb +5 -2
  31. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +201 -4
  32. data/lib/openai/models/responses/response_reasoning_item.rb +5 -0
  33. data/lib/openai/models/responses/responses_client_event.rb +9 -0
  34. data/lib/openai/models/responses/responses_server_event.rb +100 -22
  35. data/lib/openai/models/responses/web_search_tool.rb +11 -1
  36. data/lib/openai/models/responses_model.rb +2 -0
  37. data/lib/openai/providers/bedrock.rb +127 -16
  38. data/lib/openai/resources/files.rb +1 -1
  39. data/lib/openai/version.rb +1 -1
  40. data/lib/openai.rb +4 -2
  41. data/rbi/openai/models/all_models.rbi +10 -0
  42. data/rbi/openai/models/beta/beta_mcp_tool_call_error.rbi +122 -0
  43. data/rbi/openai/models/beta/beta_response.rbi +32 -0
  44. data/rbi/openai/models/beta/beta_response_input_item.rbi +27 -3
  45. data/rbi/openai/models/beta/beta_response_item.rbi +27 -3
  46. data/rbi/openai/models/beta/beta_response_output_item.rbi +27 -3
  47. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +8 -2
  48. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +297 -5
  49. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +10 -0
  50. data/rbi/openai/models/beta/beta_responses_client_event.rbi +32 -0
  51. data/rbi/openai/models/beta/beta_responses_server_event.rbi +221 -67
  52. data/rbi/openai/models/beta/beta_web_search_tool.rbi +15 -0
  53. data/rbi/openai/models/beta/response_compact_params.rbi +15 -0
  54. data/rbi/openai/models/beta/response_create_params.rbi +32 -0
  55. data/rbi/openai/models/chat_model.rbi +2 -0
  56. data/rbi/openai/models/completion_usage.rbi +39 -6
  57. data/rbi/openai/models/conversations/conversation_item.rbi +12 -3
  58. data/rbi/openai/models/model.rbi +14 -1
  59. data/rbi/openai/models/responses/mcp_tool_call_error.rbi +120 -0
  60. data/rbi/openai/models/responses/response.rbi +17 -0
  61. data/rbi/openai/models/responses/response_compact_params.rbi +15 -0
  62. data/rbi/openai/models/responses/response_create_params.rbi +17 -0
  63. data/rbi/openai/models/responses/response_input_item.rbi +27 -3
  64. data/rbi/openai/models/responses/response_item.rbi +27 -3
  65. data/rbi/openai/models/responses/response_output_item.rbi +27 -3
  66. data/rbi/openai/models/responses/response_output_item_added_event.rbi +8 -2
  67. data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +297 -5
  68. data/rbi/openai/models/responses/response_reasoning_item.rbi +10 -0
  69. data/rbi/openai/models/responses/responses_client_event.rbi +17 -0
  70. data/rbi/openai/models/responses/responses_server_event.rbi +165 -62
  71. data/rbi/openai/models/responses/web_search_tool.rbi +15 -0
  72. data/rbi/openai/models/responses_model.rbi +10 -0
  73. data/rbi/openai/providers.rbi +2 -0
  74. data/rbi/openai/resources/beta/responses.rbi +8 -0
  75. data/rbi/openai/resources/files.rbi +1 -1
  76. data/rbi/openai/resources/responses.rbi +8 -0
  77. data/sig/openai/models/all_models.rbs +4 -0
  78. data/sig/openai/models/beta/beta_mcp_tool_call_error.rbs +75 -0
  79. data/sig/openai/models/beta/beta_response.rbs +8 -1
  80. data/sig/openai/models/beta/beta_response_input_item.rbs +4 -4
  81. data/sig/openai/models/beta/beta_response_item.rbs +4 -4
  82. data/sig/openai/models/beta/beta_response_output_item.rbs +4 -4
  83. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +149 -4
  84. data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -1
  85. data/sig/openai/models/beta/beta_responses_server_event.rbs +99 -39
  86. data/sig/openai/models/beta/beta_web_search_tool.rbs +7 -0
  87. data/sig/openai/models/beta/response_compact_params.rbs +6 -0
  88. data/sig/openai/models/beta/response_create_params.rbs +8 -1
  89. data/sig/openai/models/chat_model.rbs +2 -0
  90. data/sig/openai/models/completion_usage.rbs +27 -6
  91. data/sig/openai/models/conversations/conversation_item.rbs +4 -4
  92. data/sig/openai/models/model.rbs +12 -2
  93. data/sig/openai/models/responses/mcp_tool_call_error.rbs +73 -0
  94. data/sig/openai/models/responses/response.rbs +2 -1
  95. data/sig/openai/models/responses/response_compact_params.rbs +6 -0
  96. data/sig/openai/models/responses/response_create_params.rbs +2 -1
  97. data/sig/openai/models/responses/response_input_item.rbs +4 -4
  98. data/sig/openai/models/responses/response_item.rbs +4 -4
  99. data/sig/openai/models/responses/response_output_item.rbs +4 -4
  100. data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +149 -4
  101. data/sig/openai/models/responses/responses_client_event.rbs +2 -1
  102. data/sig/openai/models/responses/responses_server_event.rbs +84 -36
  103. data/sig/openai/models/responses/web_search_tool.rbs +7 -0
  104. data/sig/openai/models/responses_model.rbs +4 -0
  105. data/sig/openai/providers.rbs +1 -0
  106. metadata +7 -1
@@ -4,7 +4,8 @@ module OpenAI
4
4
 
5
5
  module Beta
6
6
  type beta_responses_server_event =
7
- OpenAI::Beta::BetaResponseInjectCreatedEvent
7
+ OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError
8
+ | OpenAI::Beta::BetaResponseInjectCreatedEvent
8
9
  | OpenAI::Beta::BetaResponseInjectFailedEvent
9
10
  | OpenAI::Beta::BetaResponsesServerEvent::BetaResponseAudioWsDelta
10
11
  | OpenAI::Beta::BetaResponsesServerEvent::BetaResponseAudioWsDone
@@ -19,7 +20,6 @@ module OpenAI
19
20
  | OpenAI::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsAdded
20
21
  | OpenAI::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsDone
21
22
  | OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsCreated
22
- | OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError
23
23
  | OpenAI::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallWsCompleted
24
24
  | OpenAI::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallInWsProgress
25
25
  | OpenAI::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallWsSearching
@@ -499,43 +499,6 @@ module OpenAI
499
499
  }
500
500
  end
501
501
 
502
- type beta_response_ws_error =
503
- {
504
- code: String?,
505
- message: String,
506
- param: String?,
507
- sequence_number: Integer,
508
- type: :error,
509
- agent: OpenAI::Beta::BetaResponseErrorEvent::Agent?,
510
- stream_id: String
511
- }
512
-
513
- class BetaResponseWsError < OpenAI::Models::Beta::BetaResponseErrorEvent
514
- def stream_id: -> String?
515
-
516
- def stream_id=: (String _) -> String
517
-
518
- def initialize: (
519
- code: String?,
520
- message: String,
521
- param: String?,
522
- sequence_number: Integer,
523
- ?agent: OpenAI::Beta::BetaResponseErrorEvent::Agent?,
524
- ?type: :error,
525
- ?stream_id: String
526
- ) -> void
527
-
528
- def to_hash: -> {
529
- code: String?,
530
- message: String,
531
- param: String?,
532
- sequence_number: Integer,
533
- type: :error,
534
- agent: OpenAI::Beta::BetaResponseErrorEvent::Agent?,
535
- stream_id: String
536
- }
537
- end
538
-
539
502
  type beta_response_file_search_call_ws_completed =
540
503
  {
541
504
  item_id: String,
@@ -1955,6 +1918,103 @@ module OpenAI
1955
1918
  }
1956
1919
  end
1957
1920
 
1921
+ type beta_response_ws_error =
1922
+ {
1923
+ error: OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error,
1924
+ type: :error,
1925
+ agent: OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Agent?,
1926
+ sequence_number: Integer,
1927
+ status: Integer,
1928
+ stream_id: String
1929
+ }
1930
+
1931
+ class BetaResponseWsError < OpenAI::Internal::Type::BaseModel
1932
+ attr_accessor error: OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error
1933
+
1934
+ attr_accessor type: :error
1935
+
1936
+ attr_accessor agent: OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Agent?
1937
+
1938
+ attr_reader sequence_number: Integer?
1939
+
1940
+ def sequence_number=: (Integer) -> Integer
1941
+
1942
+ attr_reader status: Integer?
1943
+
1944
+ def status=: (Integer) -> Integer
1945
+
1946
+ attr_reader stream_id: String?
1947
+
1948
+ def stream_id=: (String) -> String
1949
+
1950
+ def initialize: (
1951
+ error: OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error,
1952
+ ?agent: OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Agent?,
1953
+ ?sequence_number: Integer,
1954
+ ?status: Integer,
1955
+ ?stream_id: String,
1956
+ ?type: :error
1957
+ ) -> void
1958
+
1959
+ def to_hash: -> {
1960
+ error: OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error,
1961
+ type: :error,
1962
+ agent: OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Agent?,
1963
+ sequence_number: Integer,
1964
+ status: Integer,
1965
+ stream_id: String
1966
+ }
1967
+
1968
+ type error =
1969
+ {
1970
+ code: String?,
1971
+ message: String,
1972
+ param: String?,
1973
+ type: String,
1974
+ headers: ::Hash[Symbol, String]
1975
+ }
1976
+
1977
+ class Error < OpenAI::Internal::Type::BaseModel
1978
+ attr_accessor code: String?
1979
+
1980
+ attr_accessor message: String
1981
+
1982
+ attr_accessor param: String?
1983
+
1984
+ attr_accessor type: String
1985
+
1986
+ attr_reader headers: ::Hash[Symbol, String]?
1987
+
1988
+ def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
1989
+
1990
+ def initialize: (
1991
+ code: String?,
1992
+ message: String,
1993
+ param: String?,
1994
+ type: String,
1995
+ ?headers: ::Hash[Symbol, String]
1996
+ ) -> void
1997
+
1998
+ def to_hash: -> {
1999
+ code: String?,
2000
+ message: String,
2001
+ param: String?,
2002
+ type: String,
2003
+ headers: ::Hash[Symbol, String]
2004
+ }
2005
+ end
2006
+
2007
+ type agent = { agent_name: String }
2008
+
2009
+ class Agent < OpenAI::Internal::Type::BaseModel
2010
+ attr_accessor agent_name: String
2011
+
2012
+ def initialize: (agent_name: String) -> void
2013
+
2014
+ def to_hash: -> { agent_name: String }
2015
+ end
2016
+ end
2017
+
1958
2018
  def self?.variants: -> ::Array[OpenAI::Models::Beta::beta_responses_server_event]
1959
2019
  end
1960
2020
  end
@@ -6,6 +6,7 @@ module OpenAI
6
6
  type beta_web_search_tool =
7
7
  {
8
8
  type: OpenAI::Models::Beta::BetaWebSearchTool::type_,
9
+ external_web_access: bool,
9
10
  filters: OpenAI::Beta::BetaWebSearchTool::Filters?,
10
11
  search_context_size: OpenAI::Models::Beta::BetaWebSearchTool::search_context_size,
11
12
  user_location: OpenAI::Beta::BetaWebSearchTool::UserLocation?
@@ -14,6 +15,10 @@ module OpenAI
14
15
  class BetaWebSearchTool < OpenAI::Internal::Type::BaseModel
15
16
  attr_accessor type: OpenAI::Models::Beta::BetaWebSearchTool::type_
16
17
 
18
+ attr_reader external_web_access: bool?
19
+
20
+ def external_web_access=: (bool) -> bool
21
+
17
22
  attr_accessor filters: OpenAI::Beta::BetaWebSearchTool::Filters?
18
23
 
19
24
  attr_reader search_context_size: OpenAI::Models::Beta::BetaWebSearchTool::search_context_size?
@@ -26,6 +31,7 @@ module OpenAI
26
31
 
27
32
  def initialize: (
28
33
  type: OpenAI::Models::Beta::BetaWebSearchTool::type_,
34
+ ?external_web_access: bool,
29
35
  ?filters: OpenAI::Beta::BetaWebSearchTool::Filters?,
30
36
  ?search_context_size: OpenAI::Models::Beta::BetaWebSearchTool::search_context_size,
31
37
  ?user_location: OpenAI::Beta::BetaWebSearchTool::UserLocation?
@@ -33,6 +39,7 @@ module OpenAI
33
39
 
34
40
  def to_hash: -> {
35
41
  type: OpenAI::Models::Beta::BetaWebSearchTool::type_,
42
+ external_web_access: bool,
36
43
  filters: OpenAI::Beta::BetaWebSearchTool::Filters?,
37
44
  search_context_size: OpenAI::Models::Beta::BetaWebSearchTool::search_context_size,
38
45
  user_location: OpenAI::Beta::BetaWebSearchTool::UserLocation?
@@ -72,6 +72,7 @@ module OpenAI
72
72
  | :"gpt-5.6-terra"
73
73
  | :"gpt-5.6-luna"
74
74
  | :"gpt-5.5"
75
+ | :"gpt-5.5-2026-04-23"
75
76
  | :"gpt-5.4"
76
77
  | :"gpt-5.4-mini"
77
78
  | :"gpt-5.4-nano"
@@ -160,6 +161,8 @@ module OpenAI
160
161
  | :"o4-mini-deep-research-2025-06-26"
161
162
  | :"computer-use-preview"
162
163
  | :"computer-use-preview-2025-03-11"
164
+ | :"gpt-5.5-pro"
165
+ | :"gpt-5.5-pro-2026-04-23"
163
166
  | :"gpt-5-codex"
164
167
  | :"gpt-5-pro"
165
168
  | :"gpt-5-pro-2025-10-06"
@@ -178,6 +181,7 @@ module OpenAI
178
181
  GPT_5_6_TERRA: :"gpt-5.6-terra"
179
182
  GPT_5_6_LUNA: :"gpt-5.6-luna"
180
183
  GPT_5_5: :"gpt-5.5"
184
+ GPT_5_5_2026_04_23: :"gpt-5.5-2026-04-23"
181
185
  GPT_5_4: :"gpt-5.4"
182
186
  GPT_5_4_MINI: :"gpt-5.4-mini"
183
187
  GPT_5_4_NANO: :"gpt-5.4-nano"
@@ -266,6 +270,8 @@ module OpenAI
266
270
  O4_MINI_DEEP_RESEARCH_2025_06_26: :"o4-mini-deep-research-2025-06-26"
267
271
  COMPUTER_USE_PREVIEW: :"computer-use-preview"
268
272
  COMPUTER_USE_PREVIEW_2025_03_11: :"computer-use-preview-2025-03-11"
273
+ GPT_5_5_PRO: :"gpt-5.5-pro"
274
+ GPT_5_5_PRO_2026_04_23: :"gpt-5.5-pro-2026-04-23"
269
275
  GPT_5_CODEX: :"gpt-5-codex"
270
276
  GPT_5_PRO: :"gpt-5-pro"
271
277
  GPT_5_PRO_2025_10_06: :"gpt-5-pro-2025-10-06"
@@ -241,6 +241,7 @@ module OpenAI
241
241
  | :"gpt-5.6-terra"
242
242
  | :"gpt-5.6-luna"
243
243
  | :"gpt-5.5"
244
+ | :"gpt-5.5-2026-04-23"
244
245
  | :"gpt-5.4"
245
246
  | :"gpt-5.4-mini"
246
247
  | :"gpt-5.4-nano"
@@ -329,6 +330,8 @@ module OpenAI
329
330
  | :"o4-mini-deep-research-2025-06-26"
330
331
  | :"computer-use-preview"
331
332
  | :"computer-use-preview-2025-03-11"
333
+ | :"gpt-5.5-pro"
334
+ | :"gpt-5.5-pro-2026-04-23"
332
335
  | :"gpt-5-codex"
333
336
  | :"gpt-5-pro"
334
337
  | :"gpt-5-pro-2025-10-06"
@@ -347,6 +350,7 @@ module OpenAI
347
350
  GPT_5_6_TERRA: :"gpt-5.6-terra"
348
351
  GPT_5_6_LUNA: :"gpt-5.6-luna"
349
352
  GPT_5_5: :"gpt-5.5"
353
+ GPT_5_5_2026_04_23: :"gpt-5.5-2026-04-23"
350
354
  GPT_5_4: :"gpt-5.4"
351
355
  GPT_5_4_MINI: :"gpt-5.4-mini"
352
356
  GPT_5_4_NANO: :"gpt-5.4-nano"
@@ -435,6 +439,8 @@ module OpenAI
435
439
  O4_MINI_DEEP_RESEARCH_2025_06_26: :"o4-mini-deep-research-2025-06-26"
436
440
  COMPUTER_USE_PREVIEW: :"computer-use-preview"
437
441
  COMPUTER_USE_PREVIEW_2025_03_11: :"computer-use-preview-2025-03-11"
442
+ GPT_5_5_PRO: :"gpt-5.5-pro"
443
+ GPT_5_5_PRO_2026_04_23: :"gpt-5.5-pro-2026-04-23"
438
444
  GPT_5_CODEX: :"gpt-5-codex"
439
445
  GPT_5_PRO: :"gpt-5-pro"
440
446
  GPT_5_PRO_2025_10_06: :"gpt-5-pro-2025-10-06"
@@ -729,7 +735,7 @@ module OpenAI
729
735
  end
730
736
 
731
737
  type service_tier =
732
- :auto | :default | :flex | :scale | :priority | :fast
738
+ :auto | :default | :flex | :scale | :priority | :fast | :ultrafast
733
739
 
734
740
  module ServiceTier
735
741
  extend OpenAI::Internal::Type::Enum
@@ -740,6 +746,7 @@ module OpenAI
740
746
  SCALE: :scale
741
747
  PRIORITY: :priority
742
748
  FAST: :fast
749
+ ULTRAFAST: :ultrafast
743
750
 
744
751
  def self?.values: -> ::Array[OpenAI::Models::Beta::ResponseCreateParams::service_tier]
745
752
  end
@@ -5,6 +5,7 @@ module OpenAI
5
5
  | :"gpt-5.6-terra"
6
6
  | :"gpt-5.6-luna"
7
7
  | :"gpt-5.5"
8
+ | :"gpt-5.5-2026-04-23"
8
9
  | :"gpt-5.4"
9
10
  | :"gpt-5.4-mini"
10
11
  | :"gpt-5.4-nano"
@@ -91,6 +92,7 @@ module OpenAI
91
92
  GPT_5_6_TERRA: :"gpt-5.6-terra"
92
93
  GPT_5_6_LUNA: :"gpt-5.6-luna"
93
94
  GPT_5_5: :"gpt-5.5"
95
+ GPT_5_5_2026_04_23: :"gpt-5.5-2026-04-23"
94
96
  GPT_5_4: :"gpt-5.4"
95
97
  GPT_5_4_MINI: :"gpt-5.4-mini"
96
98
  GPT_5_4_NANO: :"gpt-5.4-nano"
@@ -49,7 +49,8 @@ module OpenAI
49
49
  accepted_prediction_tokens: Integer,
50
50
  audio_tokens: Integer,
51
51
  reasoning_tokens: Integer,
52
- rejected_prediction_tokens: Integer
52
+ rejected_prediction_tokens: Integer,
53
+ text_tokens: Integer
53
54
  }
54
55
 
55
56
  class CompletionTokensDetails < OpenAI::Internal::Type::BaseModel
@@ -69,18 +70,24 @@ module OpenAI
69
70
 
70
71
  def rejected_prediction_tokens=: (Integer) -> Integer
71
72
 
73
+ attr_reader text_tokens: Integer?
74
+
75
+ def text_tokens=: (Integer) -> Integer
76
+
72
77
  def initialize: (
73
78
  ?accepted_prediction_tokens: Integer,
74
79
  ?audio_tokens: Integer,
75
80
  ?reasoning_tokens: Integer,
76
- ?rejected_prediction_tokens: Integer
81
+ ?rejected_prediction_tokens: Integer,
82
+ ?text_tokens: Integer
77
83
  ) -> void
78
84
 
79
85
  def to_hash: -> {
80
86
  accepted_prediction_tokens: Integer,
81
87
  audio_tokens: Integer,
82
88
  reasoning_tokens: Integer,
83
- rejected_prediction_tokens: Integer
89
+ rejected_prediction_tokens: Integer,
90
+ text_tokens: Integer
84
91
  }
85
92
  end
86
93
 
@@ -88,7 +95,9 @@ module OpenAI
88
95
  {
89
96
  audio_tokens: Integer,
90
97
  cache_write_tokens: Integer,
91
- cached_tokens: Integer
98
+ cached_tokens: Integer,
99
+ image_tokens: Integer,
100
+ text_tokens: Integer
92
101
  }
93
102
 
94
103
  class PromptTokensDetails < OpenAI::Internal::Type::BaseModel
@@ -104,16 +113,28 @@ module OpenAI
104
113
 
105
114
  def cached_tokens=: (Integer) -> Integer
106
115
 
116
+ attr_reader image_tokens: Integer?
117
+
118
+ def image_tokens=: (Integer) -> Integer
119
+
120
+ attr_reader text_tokens: Integer?
121
+
122
+ def text_tokens=: (Integer) -> Integer
123
+
107
124
  def initialize: (
108
125
  ?audio_tokens: Integer,
109
126
  ?cache_write_tokens: Integer,
110
- ?cached_tokens: Integer
127
+ ?cached_tokens: Integer,
128
+ ?image_tokens: Integer,
129
+ ?text_tokens: Integer
111
130
  ) -> void
112
131
 
113
132
  def to_hash: -> {
114
133
  audio_tokens: Integer,
115
134
  cache_write_tokens: Integer,
116
- cached_tokens: Integer
135
+ cached_tokens: Integer,
136
+ image_tokens: Integer,
137
+ text_tokens: Integer
117
138
  }
118
139
  end
119
140
  end
@@ -509,7 +509,7 @@ module OpenAI
509
509
  server_label: String,
510
510
  type: :mcp_call,
511
511
  approval_request_id: String?,
512
- error: String?,
512
+ error: OpenAI::Models::Responses::mcp_tool_call_error?,
513
513
  output: String?,
514
514
  status: OpenAI::Models::Conversations::ConversationItem::McpCall::status
515
515
  }
@@ -527,7 +527,7 @@ module OpenAI
527
527
 
528
528
  attr_accessor approval_request_id: String?
529
529
 
530
- attr_accessor error: String?
530
+ attr_accessor error: OpenAI::Models::Responses::mcp_tool_call_error?
531
531
 
532
532
  attr_accessor output: String?
533
533
 
@@ -543,7 +543,7 @@ module OpenAI
543
543
  name: String,
544
544
  server_label: String,
545
545
  ?approval_request_id: String?,
546
- ?error: String?,
546
+ ?error: OpenAI::Models::Responses::mcp_tool_call_error?,
547
547
  ?output: String?,
548
548
  ?status: OpenAI::Models::Conversations::ConversationItem::McpCall::status,
549
549
  ?type: :mcp_call
@@ -556,7 +556,7 @@ module OpenAI
556
556
  server_label: String,
557
557
  type: :mcp_call,
558
558
  approval_request_id: String?,
559
- error: String?,
559
+ error: OpenAI::Models::Responses::mcp_tool_call_error?,
560
560
  output: String?,
561
561
  status: OpenAI::Models::Conversations::ConversationItem::McpCall::status
562
562
  }
@@ -1,7 +1,13 @@
1
1
  module OpenAI
2
2
  module Models
3
3
  type model =
4
- { id: String, created: Integer, object: :model, owned_by: String }
4
+ {
5
+ id: String,
6
+ created: Integer,
7
+ object: :model,
8
+ owned_by: String,
9
+ shutdown_date: Date?
10
+ }
5
11
 
6
12
  class Model < OpenAI::Internal::Type::BaseModel
7
13
  attr_accessor id: String
@@ -12,10 +18,13 @@ module OpenAI
12
18
 
13
19
  attr_accessor owned_by: String
14
20
 
21
+ attr_accessor shutdown_date: Date?
22
+
15
23
  def initialize: (
16
24
  id: String,
17
25
  created: Integer,
18
26
  owned_by: String,
27
+ ?shutdown_date: Date?,
19
28
  ?object: :model
20
29
  ) -> void
21
30
 
@@ -23,7 +32,8 @@ module OpenAI
23
32
  id: String,
24
33
  created: Integer,
25
34
  object: :model,
26
- owned_by: String
35
+ owned_by: String,
36
+ shutdown_date: Date?
27
37
  }
28
38
  end
29
39
  end
@@ -0,0 +1,73 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type mcp_tool_call_error =
5
+ OpenAI::Responses::McpToolCallError::McpProtocolError
6
+ | OpenAI::Responses::McpToolCallError::McpToolExecutionError
7
+ | OpenAI::Responses::McpToolCallError::HTTPError
8
+
9
+ module McpToolCallError
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ type mcp_protocol_error =
13
+ { code: Integer, message: String, type: :mcp_protocol_error }
14
+
15
+ class McpProtocolError < OpenAI::Internal::Type::BaseModel
16
+ attr_accessor code: Integer
17
+
18
+ attr_accessor message: String
19
+
20
+ attr_accessor type: :mcp_protocol_error
21
+
22
+ def initialize: (
23
+ code: Integer,
24
+ message: String,
25
+ ?type: :mcp_protocol_error
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ code: Integer,
30
+ message: String,
31
+ type: :mcp_protocol_error
32
+ }
33
+ end
34
+
35
+ type mcp_tool_execution_error =
36
+ { content: top, type: :mcp_tool_execution_error }
37
+
38
+ class McpToolExecutionError < OpenAI::Internal::Type::BaseModel
39
+ attr_accessor content: top
40
+
41
+ attr_accessor type: :mcp_tool_execution_error
42
+
43
+ def initialize: (
44
+ content: top,
45
+ ?type: :mcp_tool_execution_error
46
+ ) -> void
47
+
48
+ def to_hash: -> { content: top, type: :mcp_tool_execution_error }
49
+ end
50
+
51
+ type http_error = { code: Integer, message: String, type: :http_error }
52
+
53
+ class HTTPError < OpenAI::Internal::Type::BaseModel
54
+ attr_accessor code: Integer
55
+
56
+ attr_accessor message: String
57
+
58
+ attr_accessor type: :http_error
59
+
60
+ def initialize: (
61
+ code: Integer,
62
+ message: String,
63
+ ?type: :http_error
64
+ ) -> void
65
+
66
+ def to_hash: -> { code: Integer, message: String, type: :http_error }
67
+ end
68
+
69
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::mcp_tool_call_error]
70
+ end
71
+ end
72
+ end
73
+ end
@@ -520,7 +520,7 @@ module OpenAI
520
520
  end
521
521
 
522
522
  type service_tier =
523
- :auto | :default | :flex | :scale | :priority | :fast
523
+ :auto | :default | :flex | :scale | :priority | :fast | :ultrafast
524
524
 
525
525
  module ServiceTier
526
526
  extend OpenAI::Internal::Type::Enum
@@ -531,6 +531,7 @@ module OpenAI
531
531
  SCALE: :scale
532
532
  PRIORITY: :priority
533
533
  FAST: :fast
534
+ ULTRAFAST: :ultrafast
534
535
 
535
536
  def self?.values: -> ::Array[OpenAI::Models::Responses::Response::service_tier]
536
537
  end
@@ -63,6 +63,7 @@ module OpenAI
63
63
  | :"gpt-5.6-terra"
64
64
  | :"gpt-5.6-luna"
65
65
  | :"gpt-5.5"
66
+ | :"gpt-5.5-2026-04-23"
66
67
  | :"gpt-5.4"
67
68
  | :"gpt-5.4-mini"
68
69
  | :"gpt-5.4-nano"
@@ -151,6 +152,8 @@ module OpenAI
151
152
  | :"o4-mini-deep-research-2025-06-26"
152
153
  | :"computer-use-preview"
153
154
  | :"computer-use-preview-2025-03-11"
155
+ | :"gpt-5.5-pro"
156
+ | :"gpt-5.5-pro-2026-04-23"
154
157
  | :"gpt-5-codex"
155
158
  | :"gpt-5-pro"
156
159
  | :"gpt-5-pro-2025-10-06"
@@ -169,6 +172,7 @@ module OpenAI
169
172
  GPT_5_6_TERRA: :"gpt-5.6-terra"
170
173
  GPT_5_6_LUNA: :"gpt-5.6-luna"
171
174
  GPT_5_5: :"gpt-5.5"
175
+ GPT_5_5_2026_04_23: :"gpt-5.5-2026-04-23"
172
176
  GPT_5_4: :"gpt-5.4"
173
177
  GPT_5_4_MINI: :"gpt-5.4-mini"
174
178
  GPT_5_4_NANO: :"gpt-5.4-nano"
@@ -257,6 +261,8 @@ module OpenAI
257
261
  O4_MINI_DEEP_RESEARCH_2025_06_26: :"o4-mini-deep-research-2025-06-26"
258
262
  COMPUTER_USE_PREVIEW: :"computer-use-preview"
259
263
  COMPUTER_USE_PREVIEW_2025_03_11: :"computer-use-preview-2025-03-11"
264
+ GPT_5_5_PRO: :"gpt-5.5-pro"
265
+ GPT_5_5_PRO_2026_04_23: :"gpt-5.5-pro-2026-04-23"
260
266
  GPT_5_CODEX: :"gpt-5-codex"
261
267
  GPT_5_PRO: :"gpt-5-pro"
262
268
  GPT_5_PRO_2025_10_06: :"gpt-5-pro-2025-10-06"
@@ -386,7 +386,7 @@ module OpenAI
386
386
  end
387
387
 
388
388
  type service_tier =
389
- :auto | :default | :flex | :scale | :priority | :fast
389
+ :auto | :default | :flex | :scale | :priority | :fast | :ultrafast
390
390
 
391
391
  module ServiceTier
392
392
  extend OpenAI::Internal::Type::Enum
@@ -397,6 +397,7 @@ module OpenAI
397
397
  SCALE: :scale
398
398
  PRIORITY: :priority
399
399
  FAST: :fast
400
+ ULTRAFAST: :ultrafast
400
401
 
401
402
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseCreateParams::service_tier]
402
403
  end
@@ -1173,7 +1173,7 @@ module OpenAI
1173
1173
  server_label: String,
1174
1174
  type: :mcp_call,
1175
1175
  approval_request_id: String?,
1176
- error: String?,
1176
+ error: OpenAI::Models::Responses::mcp_tool_call_error?,
1177
1177
  output: String?,
1178
1178
  status: OpenAI::Models::Responses::ResponseInputItem::McpCall::status
1179
1179
  }
@@ -1191,7 +1191,7 @@ module OpenAI
1191
1191
 
1192
1192
  attr_accessor approval_request_id: String?
1193
1193
 
1194
- attr_accessor error: String?
1194
+ attr_accessor error: OpenAI::Models::Responses::mcp_tool_call_error?
1195
1195
 
1196
1196
  attr_accessor output: String?
1197
1197
 
@@ -1207,7 +1207,7 @@ module OpenAI
1207
1207
  name: String,
1208
1208
  server_label: String,
1209
1209
  ?approval_request_id: String?,
1210
- ?error: String?,
1210
+ ?error: OpenAI::Models::Responses::mcp_tool_call_error?,
1211
1211
  ?output: String?,
1212
1212
  ?status: OpenAI::Models::Responses::ResponseInputItem::McpCall::status,
1213
1213
  ?type: :mcp_call
@@ -1220,7 +1220,7 @@ module OpenAI
1220
1220
  server_label: String,
1221
1221
  type: :mcp_call,
1222
1222
  approval_request_id: String?,
1223
- error: String?,
1223
+ error: OpenAI::Models::Responses::mcp_tool_call_error?,
1224
1224
  output: String?,
1225
1225
  status: OpenAI::Models::Responses::ResponseInputItem::McpCall::status
1226
1226
  }
@@ -508,7 +508,7 @@ module OpenAI
508
508
  server_label: String,
509
509
  type: :mcp_call,
510
510
  approval_request_id: String?,
511
- error: String?,
511
+ error: OpenAI::Models::Responses::mcp_tool_call_error?,
512
512
  output: String?,
513
513
  status: OpenAI::Models::Responses::ResponseItem::McpCall::status
514
514
  }
@@ -526,7 +526,7 @@ module OpenAI
526
526
 
527
527
  attr_accessor approval_request_id: String?
528
528
 
529
- attr_accessor error: String?
529
+ attr_accessor error: OpenAI::Models::Responses::mcp_tool_call_error?
530
530
 
531
531
  attr_accessor output: String?
532
532
 
@@ -542,7 +542,7 @@ module OpenAI
542
542
  name: String,
543
543
  server_label: String,
544
544
  ?approval_request_id: String?,
545
- ?error: String?,
545
+ ?error: OpenAI::Models::Responses::mcp_tool_call_error?,
546
546
  ?output: String?,
547
547
  ?status: OpenAI::Models::Responses::ResponseItem::McpCall::status,
548
548
  ?type: :mcp_call
@@ -555,7 +555,7 @@ module OpenAI
555
555
  server_label: String,
556
556
  type: :mcp_call,
557
557
  approval_request_id: String?,
558
- error: String?,
558
+ error: OpenAI::Models::Responses::mcp_tool_call_error?,
559
559
  output: String?,
560
560
  status: OpenAI::Models::Responses::ResponseItem::McpCall::status
561
561
  }