openai 0.70.0 → 0.72.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +51 -1
  4. data/lib/openai/client.rb +62 -8
  5. data/lib/openai/internal/provider.rb +31 -0
  6. data/lib/openai/internal/transport/base_client.rb +65 -21
  7. data/lib/openai/models/admin/organization/audit_log_list_params.rb +84 -0
  8. data/lib/openai/models/admin/organization/audit_log_list_response.rb +84 -0
  9. data/lib/openai/models/admin/organization/organization_spend_limit.rb +151 -0
  10. data/lib/openai/models/admin/organization/organization_spend_limit_deleted.rb +33 -0
  11. data/lib/openai/models/admin/organization/projects/project_service_account.rb +4 -3
  12. data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +155 -0
  13. data/lib/openai/models/admin/organization/projects/project_spend_limit_deleted.rb +35 -0
  14. data/lib/openai/models/admin/organization/projects/service_account_create_params.rb +9 -1
  15. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +26 -6
  16. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rb +54 -0
  17. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rb +57 -0
  18. data/lib/openai/models/admin/organization/projects/spend_limit_delete_params.rb +26 -0
  19. data/lib/openai/models/admin/organization/projects/spend_limit_retrieve_params.rb +26 -0
  20. data/lib/openai/models/admin/organization/projects/spend_limit_update_params.rb +77 -0
  21. data/lib/openai/models/admin/organization/spend_limit_delete_params.rb +18 -0
  22. data/lib/openai/models/admin/organization/spend_limit_retrieve_params.rb +18 -0
  23. data/lib/openai/models/admin/organization/spend_limit_update_params.rb +67 -0
  24. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +88 -13
  25. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +88 -13
  26. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +88 -13
  27. data/lib/openai/models/admin/organization/usage_completions_response.rb +88 -13
  28. data/lib/openai/models/admin/organization/usage_costs_response.rb +88 -13
  29. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +88 -13
  30. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +88 -13
  31. data/lib/openai/models/admin/organization/usage_images_response.rb +88 -13
  32. data/lib/openai/models/admin/organization/usage_moderations_response.rb +88 -13
  33. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +88 -13
  34. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +88 -13
  35. data/lib/openai/models/beta/beta_response.rb +12 -6
  36. data/lib/openai/models/beta/beta_response_error.rb +1 -0
  37. data/lib/openai/models/beta/beta_response_input_item.rb +16 -32
  38. data/lib/openai/models/beta/beta_response_text_config.rb +4 -2
  39. data/lib/openai/models/beta/beta_responses_client_event.rb +12 -6
  40. data/lib/openai/models/beta/response_create_params.rb +12 -6
  41. data/lib/openai/models/beta/responses/input_token_count_params.rb +12 -4
  42. data/lib/openai/models/chat/completion_create_params.rb +8 -6
  43. data/lib/openai/models/reasoning.rb +8 -2
  44. data/lib/openai/models/responses/input_token_count_params.rb +4 -2
  45. data/lib/openai/models/responses/response.rb +4 -4
  46. data/lib/openai/models/responses/response_create_params.rb +4 -4
  47. data/lib/openai/models/responses/response_error.rb +1 -0
  48. data/lib/openai/models/responses/response_text_config.rb +4 -2
  49. data/lib/openai/models/responses/responses_client_event.rb +4 -4
  50. data/lib/openai/provider.rb +18 -0
  51. data/lib/openai/providers/bedrock.rb +489 -0
  52. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +60 -0
  53. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +10 -3
  54. data/lib/openai/resources/admin/organization/projects/spend_limit.rb +95 -0
  55. data/lib/openai/resources/admin/organization/projects.rb +4 -0
  56. data/lib/openai/resources/admin/organization/spend_limit.rb +86 -0
  57. data/lib/openai/resources/admin/organization.rb +4 -0
  58. data/lib/openai/resources/beta/responses.rb +4 -4
  59. data/lib/openai/resources/chat/completions.rb +4 -4
  60. data/lib/openai/resources/responses.rb +4 -4
  61. data/lib/openai/version.rb +1 -1
  62. data/lib/openai.rb +18 -0
  63. data/rbi/openai/client.rbi +17 -0
  64. data/rbi/openai/internal/provider.rbi +51 -0
  65. data/rbi/openai/internal/transport/base_client.rbi +32 -0
  66. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +420 -0
  67. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +420 -0
  68. data/rbi/openai/models/admin/organization/organization_spend_limit.rbi +278 -0
  69. data/rbi/openai/models/admin/organization/organization_spend_limit_deleted.rbi +48 -0
  70. data/rbi/openai/models/admin/organization/projects/project_service_account.rbi +8 -3
  71. data/rbi/openai/models/admin/organization/projects/project_spend_limit.rbi +280 -0
  72. data/rbi/openai/models/admin/organization/projects/project_spend_limit_deleted.rbi +49 -0
  73. data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +8 -0
  74. data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +52 -8
  75. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +84 -0
  76. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +80 -0
  77. data/rbi/openai/models/admin/organization/projects/spend_limit_delete_params.rbi +44 -0
  78. data/rbi/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbi +44 -0
  79. data/rbi/openai/models/admin/organization/projects/spend_limit_update_params.rbi +149 -0
  80. data/rbi/openai/models/admin/organization/spend_limit_delete_params.rbi +34 -0
  81. data/rbi/openai/models/admin/organization/spend_limit_retrieve_params.rbi +34 -0
  82. data/rbi/openai/models/admin/organization/spend_limit_update_params.rbi +141 -0
  83. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +121 -16
  84. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +121 -16
  85. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +121 -16
  86. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +121 -16
  87. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +121 -16
  88. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +121 -16
  89. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +121 -16
  90. data/rbi/openai/models/admin/organization/usage_images_response.rbi +121 -16
  91. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +121 -16
  92. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +121 -16
  93. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +121 -16
  94. data/rbi/openai/models/beta/beta_response.rbi +18 -15
  95. data/rbi/openai/models/beta/beta_response_error.rbi +5 -0
  96. data/rbi/openai/models/beta/beta_response_input_item.rbi +39 -46
  97. data/rbi/openai/models/beta/beta_response_text_config.rbi +6 -3
  98. data/rbi/openai/models/beta/beta_responses_client_event.rbi +18 -15
  99. data/rbi/openai/models/beta/response_create_params.rbi +18 -15
  100. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +18 -6
  101. data/rbi/openai/models/chat/completion_create_params.rbi +12 -15
  102. data/rbi/openai/models/reasoning.rbi +12 -3
  103. data/rbi/openai/models/responses/input_token_count_params.rbi +6 -3
  104. data/rbi/openai/models/responses/response.rbi +6 -12
  105. data/rbi/openai/models/responses/response_create_params.rbi +6 -12
  106. data/rbi/openai/models/responses/response_error.rbi +5 -0
  107. data/rbi/openai/models/responses/response_text_config.rbi +6 -3
  108. data/rbi/openai/models/responses/responses_client_event.rbi +6 -12
  109. data/rbi/openai/provider.rbi +9 -0
  110. data/rbi/openai/providers.rbi +33 -0
  111. data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +45 -0
  112. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +12 -2
  113. data/rbi/openai/resources/admin/organization/projects/spend_limit.rbi +78 -0
  114. data/rbi/openai/resources/admin/organization/projects.rbi +7 -0
  115. data/rbi/openai/resources/admin/organization/spend_limit.rbi +57 -0
  116. data/rbi/openai/resources/admin/organization.rbi +3 -0
  117. data/rbi/openai/resources/beta/responses.rbi +4 -4
  118. data/rbi/openai/resources/chat/completions.rbi +8 -6
  119. data/rbi/openai/resources/responses.rbi +4 -4
  120. data/sig/openai/client.rbs +7 -0
  121. data/sig/openai/internal/provider.rbs +29 -0
  122. data/sig/openai/internal/transport/base_client.rbs +17 -1
  123. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +168 -0
  124. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +168 -0
  125. data/sig/openai/models/admin/organization/organization_spend_limit.rbs +94 -0
  126. data/sig/openai/models/admin/organization/organization_spend_limit_deleted.rbs +28 -0
  127. data/sig/openai/models/admin/organization/projects/project_service_account.rbs +2 -1
  128. data/sig/openai/models/admin/organization/projects/project_spend_limit.rbs +96 -0
  129. data/sig/openai/models/admin/organization/projects/project_spend_limit_deleted.rbs +30 -0
  130. data/sig/openai/models/admin/organization/projects/service_account_create_params.rbs +9 -1
  131. data/sig/openai/models/admin/organization/projects/service_account_create_response.rbs +16 -5
  132. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbs +53 -0
  133. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbs +48 -0
  134. data/sig/openai/models/admin/organization/projects/spend_limit_delete_params.rbs +29 -0
  135. data/sig/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbs +29 -0
  136. data/sig/openai/models/admin/organization/projects/spend_limit_update_params.rbs +67 -0
  137. data/sig/openai/models/admin/organization/spend_limit_delete_params.rbs +19 -0
  138. data/sig/openai/models/admin/organization/spend_limit_retrieve_params.rbs +19 -0
  139. data/sig/openai/models/admin/organization/spend_limit_update_params.rbs +60 -0
  140. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +63 -0
  141. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +63 -0
  142. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +63 -0
  143. data/sig/openai/models/admin/organization/usage_completions_response.rbs +63 -0
  144. data/sig/openai/models/admin/organization/usage_costs_response.rbs +63 -0
  145. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +63 -0
  146. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +63 -0
  147. data/sig/openai/models/admin/organization/usage_images_response.rbs +63 -0
  148. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +63 -0
  149. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +63 -0
  150. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +63 -0
  151. data/sig/openai/models/beta/beta_response.rbs +8 -12
  152. data/sig/openai/models/beta/beta_response_error.rbs +2 -0
  153. data/sig/openai/models/beta/beta_response_input_item.rbs +18 -24
  154. data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -12
  155. data/sig/openai/models/beta/response_create_params.rbs +8 -12
  156. data/sig/openai/models/chat/completion_create_params.rbs +8 -12
  157. data/sig/openai/models/responses/response.rbs +8 -12
  158. data/sig/openai/models/responses/response_create_params.rbs +8 -12
  159. data/sig/openai/models/responses/response_error.rbs +2 -0
  160. data/sig/openai/models/responses/responses_client_event.rbs +8 -12
  161. data/sig/openai/provider.rbs +5 -0
  162. data/sig/openai/providers.rbs +15 -0
  163. data/sig/openai/resources/admin/organization/projects/service_accounts/api_keys.rbs +23 -0
  164. data/sig/openai/resources/admin/organization/projects/service_accounts.rbs +3 -0
  165. data/sig/openai/resources/admin/organization/projects/spend_limit.rbs +31 -0
  166. data/sig/openai/resources/admin/organization/projects.rbs +2 -0
  167. data/sig/openai/resources/admin/organization/spend_limit.rbs +26 -0
  168. data/sig/openai/resources/admin/organization.rbs +2 -0
  169. data/sig/openai/resources/beta/responses.rbs +4 -4
  170. data/sig/openai/resources/chat/completions.rbs +4 -4
  171. data/sig/openai/resources/responses.rbs +4 -4
  172. metadata +56 -2
@@ -89,9 +89,18 @@ module OpenAI
89
89
  api_key_id: String?,
90
90
  batch: bool?,
91
91
  input_audio_tokens: Integer,
92
+ input_cache_write_tokens: Integer,
93
+ input_cached_audio_tokens: Integer,
94
+ input_cached_image_tokens: Integer,
95
+ input_cached_text_tokens: Integer,
92
96
  input_cached_tokens: Integer,
97
+ input_image_tokens: Integer,
98
+ input_text_tokens: Integer,
99
+ input_uncached_tokens: Integer,
93
100
  model: String?,
94
101
  output_audio_tokens: Integer,
102
+ output_image_tokens: Integer,
103
+ output_text_tokens: Integer,
95
104
  project_id: String?,
96
105
  service_tier: String?,
97
106
  user_id: String?
@@ -114,16 +123,52 @@ module OpenAI
114
123
 
115
124
  def input_audio_tokens=: (Integer) -> Integer
116
125
 
126
+ attr_reader input_cache_write_tokens: Integer?
127
+
128
+ def input_cache_write_tokens=: (Integer) -> Integer
129
+
130
+ attr_reader input_cached_audio_tokens: Integer?
131
+
132
+ def input_cached_audio_tokens=: (Integer) -> Integer
133
+
134
+ attr_reader input_cached_image_tokens: Integer?
135
+
136
+ def input_cached_image_tokens=: (Integer) -> Integer
137
+
138
+ attr_reader input_cached_text_tokens: Integer?
139
+
140
+ def input_cached_text_tokens=: (Integer) -> Integer
141
+
117
142
  attr_reader input_cached_tokens: Integer?
118
143
 
119
144
  def input_cached_tokens=: (Integer) -> Integer
120
145
 
146
+ attr_reader input_image_tokens: Integer?
147
+
148
+ def input_image_tokens=: (Integer) -> Integer
149
+
150
+ attr_reader input_text_tokens: Integer?
151
+
152
+ def input_text_tokens=: (Integer) -> Integer
153
+
154
+ attr_reader input_uncached_tokens: Integer?
155
+
156
+ def input_uncached_tokens=: (Integer) -> Integer
157
+
121
158
  attr_accessor model: String?
122
159
 
123
160
  attr_reader output_audio_tokens: Integer?
124
161
 
125
162
  def output_audio_tokens=: (Integer) -> Integer
126
163
 
164
+ attr_reader output_image_tokens: Integer?
165
+
166
+ def output_image_tokens=: (Integer) -> Integer
167
+
168
+ attr_reader output_text_tokens: Integer?
169
+
170
+ def output_text_tokens=: (Integer) -> Integer
171
+
127
172
  attr_accessor project_id: String?
128
173
 
129
174
  attr_accessor service_tier: String?
@@ -137,9 +182,18 @@ module OpenAI
137
182
  ?api_key_id: String?,
138
183
  ?batch: bool?,
139
184
  ?input_audio_tokens: Integer,
185
+ ?input_cache_write_tokens: Integer,
186
+ ?input_cached_audio_tokens: Integer,
187
+ ?input_cached_image_tokens: Integer,
188
+ ?input_cached_text_tokens: Integer,
140
189
  ?input_cached_tokens: Integer,
190
+ ?input_image_tokens: Integer,
191
+ ?input_text_tokens: Integer,
192
+ ?input_uncached_tokens: Integer,
141
193
  ?model: String?,
142
194
  ?output_audio_tokens: Integer,
195
+ ?output_image_tokens: Integer,
196
+ ?output_text_tokens: Integer,
143
197
  ?project_id: String?,
144
198
  ?service_tier: String?,
145
199
  ?user_id: String?,
@@ -154,9 +208,18 @@ module OpenAI
154
208
  api_key_id: String?,
155
209
  batch: bool?,
156
210
  input_audio_tokens: Integer,
211
+ input_cache_write_tokens: Integer,
212
+ input_cached_audio_tokens: Integer,
213
+ input_cached_image_tokens: Integer,
214
+ input_cached_text_tokens: Integer,
157
215
  input_cached_tokens: Integer,
216
+ input_image_tokens: Integer,
217
+ input_text_tokens: Integer,
218
+ input_uncached_tokens: Integer,
158
219
  model: String?,
159
220
  output_audio_tokens: Integer,
221
+ output_image_tokens: Integer,
222
+ output_text_tokens: Integer,
160
223
  project_id: String?,
161
224
  service_tier: String?,
162
225
  user_id: String?
@@ -89,9 +89,18 @@ module OpenAI
89
89
  api_key_id: String?,
90
90
  batch: bool?,
91
91
  input_audio_tokens: Integer,
92
+ input_cache_write_tokens: Integer,
93
+ input_cached_audio_tokens: Integer,
94
+ input_cached_image_tokens: Integer,
95
+ input_cached_text_tokens: Integer,
92
96
  input_cached_tokens: Integer,
97
+ input_image_tokens: Integer,
98
+ input_text_tokens: Integer,
99
+ input_uncached_tokens: Integer,
93
100
  model: String?,
94
101
  output_audio_tokens: Integer,
102
+ output_image_tokens: Integer,
103
+ output_text_tokens: Integer,
95
104
  project_id: String?,
96
105
  service_tier: String?,
97
106
  user_id: String?
@@ -114,16 +123,52 @@ module OpenAI
114
123
 
115
124
  def input_audio_tokens=: (Integer) -> Integer
116
125
 
126
+ attr_reader input_cache_write_tokens: Integer?
127
+
128
+ def input_cache_write_tokens=: (Integer) -> Integer
129
+
130
+ attr_reader input_cached_audio_tokens: Integer?
131
+
132
+ def input_cached_audio_tokens=: (Integer) -> Integer
133
+
134
+ attr_reader input_cached_image_tokens: Integer?
135
+
136
+ def input_cached_image_tokens=: (Integer) -> Integer
137
+
138
+ attr_reader input_cached_text_tokens: Integer?
139
+
140
+ def input_cached_text_tokens=: (Integer) -> Integer
141
+
117
142
  attr_reader input_cached_tokens: Integer?
118
143
 
119
144
  def input_cached_tokens=: (Integer) -> Integer
120
145
 
146
+ attr_reader input_image_tokens: Integer?
147
+
148
+ def input_image_tokens=: (Integer) -> Integer
149
+
150
+ attr_reader input_text_tokens: Integer?
151
+
152
+ def input_text_tokens=: (Integer) -> Integer
153
+
154
+ attr_reader input_uncached_tokens: Integer?
155
+
156
+ def input_uncached_tokens=: (Integer) -> Integer
157
+
121
158
  attr_accessor model: String?
122
159
 
123
160
  attr_reader output_audio_tokens: Integer?
124
161
 
125
162
  def output_audio_tokens=: (Integer) -> Integer
126
163
 
164
+ attr_reader output_image_tokens: Integer?
165
+
166
+ def output_image_tokens=: (Integer) -> Integer
167
+
168
+ attr_reader output_text_tokens: Integer?
169
+
170
+ def output_text_tokens=: (Integer) -> Integer
171
+
127
172
  attr_accessor project_id: String?
128
173
 
129
174
  attr_accessor service_tier: String?
@@ -137,9 +182,18 @@ module OpenAI
137
182
  ?api_key_id: String?,
138
183
  ?batch: bool?,
139
184
  ?input_audio_tokens: Integer,
185
+ ?input_cache_write_tokens: Integer,
186
+ ?input_cached_audio_tokens: Integer,
187
+ ?input_cached_image_tokens: Integer,
188
+ ?input_cached_text_tokens: Integer,
140
189
  ?input_cached_tokens: Integer,
190
+ ?input_image_tokens: Integer,
191
+ ?input_text_tokens: Integer,
192
+ ?input_uncached_tokens: Integer,
141
193
  ?model: String?,
142
194
  ?output_audio_tokens: Integer,
195
+ ?output_image_tokens: Integer,
196
+ ?output_text_tokens: Integer,
143
197
  ?project_id: String?,
144
198
  ?service_tier: String?,
145
199
  ?user_id: String?,
@@ -154,9 +208,18 @@ module OpenAI
154
208
  api_key_id: String?,
155
209
  batch: bool?,
156
210
  input_audio_tokens: Integer,
211
+ input_cache_write_tokens: Integer,
212
+ input_cached_audio_tokens: Integer,
213
+ input_cached_image_tokens: Integer,
214
+ input_cached_text_tokens: Integer,
157
215
  input_cached_tokens: Integer,
216
+ input_image_tokens: Integer,
217
+ input_text_tokens: Integer,
218
+ input_uncached_tokens: Integer,
158
219
  model: String?,
159
220
  output_audio_tokens: Integer,
221
+ output_image_tokens: Integer,
222
+ output_text_tokens: Integer,
160
223
  project_id: String?,
161
224
  service_tier: String?,
162
225
  user_id: String?
@@ -89,9 +89,18 @@ module OpenAI
89
89
  api_key_id: String?,
90
90
  batch: bool?,
91
91
  input_audio_tokens: Integer,
92
+ input_cache_write_tokens: Integer,
93
+ input_cached_audio_tokens: Integer,
94
+ input_cached_image_tokens: Integer,
95
+ input_cached_text_tokens: Integer,
92
96
  input_cached_tokens: Integer,
97
+ input_image_tokens: Integer,
98
+ input_text_tokens: Integer,
99
+ input_uncached_tokens: Integer,
93
100
  model: String?,
94
101
  output_audio_tokens: Integer,
102
+ output_image_tokens: Integer,
103
+ output_text_tokens: Integer,
95
104
  project_id: String?,
96
105
  service_tier: String?,
97
106
  user_id: String?
@@ -114,16 +123,52 @@ module OpenAI
114
123
 
115
124
  def input_audio_tokens=: (Integer) -> Integer
116
125
 
126
+ attr_reader input_cache_write_tokens: Integer?
127
+
128
+ def input_cache_write_tokens=: (Integer) -> Integer
129
+
130
+ attr_reader input_cached_audio_tokens: Integer?
131
+
132
+ def input_cached_audio_tokens=: (Integer) -> Integer
133
+
134
+ attr_reader input_cached_image_tokens: Integer?
135
+
136
+ def input_cached_image_tokens=: (Integer) -> Integer
137
+
138
+ attr_reader input_cached_text_tokens: Integer?
139
+
140
+ def input_cached_text_tokens=: (Integer) -> Integer
141
+
117
142
  attr_reader input_cached_tokens: Integer?
118
143
 
119
144
  def input_cached_tokens=: (Integer) -> Integer
120
145
 
146
+ attr_reader input_image_tokens: Integer?
147
+
148
+ def input_image_tokens=: (Integer) -> Integer
149
+
150
+ attr_reader input_text_tokens: Integer?
151
+
152
+ def input_text_tokens=: (Integer) -> Integer
153
+
154
+ attr_reader input_uncached_tokens: Integer?
155
+
156
+ def input_uncached_tokens=: (Integer) -> Integer
157
+
121
158
  attr_accessor model: String?
122
159
 
123
160
  attr_reader output_audio_tokens: Integer?
124
161
 
125
162
  def output_audio_tokens=: (Integer) -> Integer
126
163
 
164
+ attr_reader output_image_tokens: Integer?
165
+
166
+ def output_image_tokens=: (Integer) -> Integer
167
+
168
+ attr_reader output_text_tokens: Integer?
169
+
170
+ def output_text_tokens=: (Integer) -> Integer
171
+
127
172
  attr_accessor project_id: String?
128
173
 
129
174
  attr_accessor service_tier: String?
@@ -137,9 +182,18 @@ module OpenAI
137
182
  ?api_key_id: String?,
138
183
  ?batch: bool?,
139
184
  ?input_audio_tokens: Integer,
185
+ ?input_cache_write_tokens: Integer,
186
+ ?input_cached_audio_tokens: Integer,
187
+ ?input_cached_image_tokens: Integer,
188
+ ?input_cached_text_tokens: Integer,
140
189
  ?input_cached_tokens: Integer,
190
+ ?input_image_tokens: Integer,
191
+ ?input_text_tokens: Integer,
192
+ ?input_uncached_tokens: Integer,
141
193
  ?model: String?,
142
194
  ?output_audio_tokens: Integer,
195
+ ?output_image_tokens: Integer,
196
+ ?output_text_tokens: Integer,
143
197
  ?project_id: String?,
144
198
  ?service_tier: String?,
145
199
  ?user_id: String?,
@@ -154,9 +208,18 @@ module OpenAI
154
208
  api_key_id: String?,
155
209
  batch: bool?,
156
210
  input_audio_tokens: Integer,
211
+ input_cache_write_tokens: Integer,
212
+ input_cached_audio_tokens: Integer,
213
+ input_cached_image_tokens: Integer,
214
+ input_cached_text_tokens: Integer,
157
215
  input_cached_tokens: Integer,
216
+ input_image_tokens: Integer,
217
+ input_text_tokens: Integer,
218
+ input_uncached_tokens: Integer,
158
219
  model: String?,
159
220
  output_audio_tokens: Integer,
221
+ output_image_tokens: Integer,
222
+ output_text_tokens: Integer,
160
223
  project_id: String?,
161
224
  service_tier: String?,
162
225
  user_id: String?
@@ -89,9 +89,18 @@ module OpenAI
89
89
  api_key_id: String?,
90
90
  batch: bool?,
91
91
  input_audio_tokens: Integer,
92
+ input_cache_write_tokens: Integer,
93
+ input_cached_audio_tokens: Integer,
94
+ input_cached_image_tokens: Integer,
95
+ input_cached_text_tokens: Integer,
92
96
  input_cached_tokens: Integer,
97
+ input_image_tokens: Integer,
98
+ input_text_tokens: Integer,
99
+ input_uncached_tokens: Integer,
93
100
  model: String?,
94
101
  output_audio_tokens: Integer,
102
+ output_image_tokens: Integer,
103
+ output_text_tokens: Integer,
95
104
  project_id: String?,
96
105
  service_tier: String?,
97
106
  user_id: String?
@@ -114,16 +123,52 @@ module OpenAI
114
123
 
115
124
  def input_audio_tokens=: (Integer) -> Integer
116
125
 
126
+ attr_reader input_cache_write_tokens: Integer?
127
+
128
+ def input_cache_write_tokens=: (Integer) -> Integer
129
+
130
+ attr_reader input_cached_audio_tokens: Integer?
131
+
132
+ def input_cached_audio_tokens=: (Integer) -> Integer
133
+
134
+ attr_reader input_cached_image_tokens: Integer?
135
+
136
+ def input_cached_image_tokens=: (Integer) -> Integer
137
+
138
+ attr_reader input_cached_text_tokens: Integer?
139
+
140
+ def input_cached_text_tokens=: (Integer) -> Integer
141
+
117
142
  attr_reader input_cached_tokens: Integer?
118
143
 
119
144
  def input_cached_tokens=: (Integer) -> Integer
120
145
 
146
+ attr_reader input_image_tokens: Integer?
147
+
148
+ def input_image_tokens=: (Integer) -> Integer
149
+
150
+ attr_reader input_text_tokens: Integer?
151
+
152
+ def input_text_tokens=: (Integer) -> Integer
153
+
154
+ attr_reader input_uncached_tokens: Integer?
155
+
156
+ def input_uncached_tokens=: (Integer) -> Integer
157
+
121
158
  attr_accessor model: String?
122
159
 
123
160
  attr_reader output_audio_tokens: Integer?
124
161
 
125
162
  def output_audio_tokens=: (Integer) -> Integer
126
163
 
164
+ attr_reader output_image_tokens: Integer?
165
+
166
+ def output_image_tokens=: (Integer) -> Integer
167
+
168
+ attr_reader output_text_tokens: Integer?
169
+
170
+ def output_text_tokens=: (Integer) -> Integer
171
+
127
172
  attr_accessor project_id: String?
128
173
 
129
174
  attr_accessor service_tier: String?
@@ -137,9 +182,18 @@ module OpenAI
137
182
  ?api_key_id: String?,
138
183
  ?batch: bool?,
139
184
  ?input_audio_tokens: Integer,
185
+ ?input_cache_write_tokens: Integer,
186
+ ?input_cached_audio_tokens: Integer,
187
+ ?input_cached_image_tokens: Integer,
188
+ ?input_cached_text_tokens: Integer,
140
189
  ?input_cached_tokens: Integer,
190
+ ?input_image_tokens: Integer,
191
+ ?input_text_tokens: Integer,
192
+ ?input_uncached_tokens: Integer,
141
193
  ?model: String?,
142
194
  ?output_audio_tokens: Integer,
195
+ ?output_image_tokens: Integer,
196
+ ?output_text_tokens: Integer,
143
197
  ?project_id: String?,
144
198
  ?service_tier: String?,
145
199
  ?user_id: String?,
@@ -154,9 +208,18 @@ module OpenAI
154
208
  api_key_id: String?,
155
209
  batch: bool?,
156
210
  input_audio_tokens: Integer,
211
+ input_cache_write_tokens: Integer,
212
+ input_cached_audio_tokens: Integer,
213
+ input_cached_image_tokens: Integer,
214
+ input_cached_text_tokens: Integer,
157
215
  input_cached_tokens: Integer,
216
+ input_image_tokens: Integer,
217
+ input_text_tokens: Integer,
218
+ input_uncached_tokens: Integer,
158
219
  model: String?,
159
220
  output_audio_tokens: Integer,
221
+ output_image_tokens: Integer,
222
+ output_text_tokens: Integer,
160
223
  project_id: String?,
161
224
  service_tier: String?,
162
225
  user_id: String?
@@ -27,11 +27,11 @@ module OpenAI
27
27
  moderation: OpenAI::Beta::BetaResponse::Moderation?,
28
28
  previous_response_id: String?,
29
29
  prompt: OpenAI::Beta::BetaResponsePrompt?,
30
- prompt_cache_key: String,
30
+ prompt_cache_key: String?,
31
31
  prompt_cache_options: OpenAI::Beta::BetaResponse::PromptCacheOptions,
32
32
  prompt_cache_retention: OpenAI::Models::Beta::BetaResponse::prompt_cache_retention?,
33
33
  reasoning: OpenAI::Beta::BetaResponse::Reasoning?,
34
- safety_identifier: String,
34
+ safety_identifier: String?,
35
35
  service_tier: OpenAI::Models::Beta::BetaResponse::service_tier?,
36
36
  status: OpenAI::Models::Beta::beta_response_status,
37
37
  text: OpenAI::Beta::BetaResponseTextConfig,
@@ -86,9 +86,7 @@ module OpenAI
86
86
 
87
87
  attr_accessor prompt: OpenAI::Beta::BetaResponsePrompt?
88
88
 
89
- attr_reader prompt_cache_key: String?
90
-
91
- def prompt_cache_key=: (String) -> String
89
+ attr_accessor prompt_cache_key: String?
92
90
 
93
91
  attr_reader prompt_cache_options: OpenAI::Beta::BetaResponse::PromptCacheOptions?
94
92
 
@@ -100,9 +98,7 @@ module OpenAI
100
98
 
101
99
  attr_accessor reasoning: OpenAI::Beta::BetaResponse::Reasoning?
102
100
 
103
- attr_reader safety_identifier: String?
104
-
105
- def safety_identifier=: (String) -> String
101
+ attr_accessor safety_identifier: String?
106
102
 
107
103
  attr_accessor service_tier: OpenAI::Models::Beta::BetaResponse::service_tier?
108
104
 
@@ -154,11 +150,11 @@ module OpenAI
154
150
  ?moderation: OpenAI::Beta::BetaResponse::Moderation?,
155
151
  ?previous_response_id: String?,
156
152
  ?prompt: OpenAI::Beta::BetaResponsePrompt?,
157
- ?prompt_cache_key: String,
153
+ ?prompt_cache_key: String?,
158
154
  ?prompt_cache_options: OpenAI::Beta::BetaResponse::PromptCacheOptions,
159
155
  ?prompt_cache_retention: OpenAI::Models::Beta::BetaResponse::prompt_cache_retention?,
160
156
  ?reasoning: OpenAI::Beta::BetaResponse::Reasoning?,
161
- ?safety_identifier: String,
157
+ ?safety_identifier: String?,
162
158
  ?service_tier: OpenAI::Models::Beta::BetaResponse::service_tier?,
163
159
  ?status: OpenAI::Models::Beta::beta_response_status,
164
160
  ?text: OpenAI::Beta::BetaResponseTextConfig,
@@ -192,11 +188,11 @@ module OpenAI
192
188
  moderation: OpenAI::Beta::BetaResponse::Moderation?,
193
189
  previous_response_id: String?,
194
190
  prompt: OpenAI::Beta::BetaResponsePrompt?,
195
- prompt_cache_key: String,
191
+ prompt_cache_key: String?,
196
192
  prompt_cache_options: OpenAI::Beta::BetaResponse::PromptCacheOptions,
197
193
  prompt_cache_retention: OpenAI::Models::Beta::BetaResponse::prompt_cache_retention?,
198
194
  reasoning: OpenAI::Beta::BetaResponse::Reasoning?,
199
- safety_identifier: String,
195
+ safety_identifier: String?,
200
196
  service_tier: OpenAI::Models::Beta::BetaResponse::service_tier?,
201
197
  status: OpenAI::Models::Beta::beta_response_status,
202
198
  text: OpenAI::Beta::BetaResponseTextConfig,
@@ -25,6 +25,7 @@ module OpenAI
25
25
  :server_error
26
26
  | :rate_limit_exceeded
27
27
  | :invalid_prompt
28
+ | :data_residency_mismatch
28
29
  | :bio_policy
29
30
  | :vector_store_timeout
30
31
  | :invalid_image
@@ -48,6 +49,7 @@ module OpenAI
48
49
  SERVER_ERROR: :server_error
49
50
  RATE_LIMIT_EXCEEDED: :rate_limit_exceeded
50
51
  INVALID_PROMPT: :invalid_prompt
52
+ DATA_RESIDENCY_MISMATCH: :data_residency_mismatch
51
53
  BIO_POLICY: :bio_policy
52
54
  VECTOR_STORE_TIMEOUT: :vector_store_timeout
53
55
  INVALID_IMAGE: :invalid_image
@@ -552,7 +552,7 @@ module OpenAI
552
552
  {
553
553
  text: String,
554
554
  type: :output_text,
555
- annotations: OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotations
555
+ annotations: ::Array[OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotation]
556
556
  }
557
557
 
558
558
  class Output < OpenAI::Internal::Type::BaseModel
@@ -560,33 +560,33 @@ module OpenAI
560
560
 
561
561
  attr_accessor type: :output_text
562
562
 
563
- attr_reader annotations: OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotations?
563
+ attr_reader annotations: ::Array[OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotation]?
564
564
 
565
565
  def annotations=: (
566
- OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotations
567
- ) -> OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotations
566
+ ::Array[OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotation]
567
+ ) -> ::Array[OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotation]
568
568
 
569
569
  def initialize: (
570
570
  text: String,
571
- ?annotations: OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotations,
571
+ ?annotations: ::Array[OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotation],
572
572
  ?type: :output_text
573
573
  ) -> void
574
574
 
575
575
  def to_hash: -> {
576
576
  text: String,
577
577
  type: :output_text,
578
- annotations: OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotations
578
+ annotations: ::Array[OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotation]
579
579
  }
580
580
 
581
- type annotations =
582
- ::Array[OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember0]
583
- | ::Array[OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember1]
584
- | ::Array[OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotations::UnionMember2]
581
+ type annotation =
582
+ OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::FileCitation
583
+ | OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::URLCitation
584
+ | OpenAI::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::Annotation::ContainerFileCitation
585
585
 
586
- module Annotations
586
+ module Annotation
587
587
  extend OpenAI::Internal::Type::Union
588
588
 
589
- type union_member0 =
589
+ type file_citation =
590
590
  {
591
591
  file_id: String,
592
592
  filename: String,
@@ -594,7 +594,7 @@ module OpenAI
594
594
  type: :file_citation
595
595
  }
596
596
 
597
- class UnionMember0 < OpenAI::Internal::Type::BaseModel
597
+ class FileCitation < OpenAI::Internal::Type::BaseModel
598
598
  attr_accessor file_id: String
599
599
 
600
600
  attr_accessor filename: String
@@ -618,7 +618,7 @@ module OpenAI
618
618
  }
619
619
  end
620
620
 
621
- type union_member1 =
621
+ type url_citation =
622
622
  {
623
623
  end_index: Integer,
624
624
  start_index: Integer,
@@ -627,7 +627,7 @@ module OpenAI
627
627
  url: String
628
628
  }
629
629
 
630
- class UnionMember1 < OpenAI::Internal::Type::BaseModel
630
+ class URLCitation < OpenAI::Internal::Type::BaseModel
631
631
  attr_accessor end_index: Integer
632
632
 
633
633
  attr_accessor start_index: Integer
@@ -655,7 +655,7 @@ module OpenAI
655
655
  }
656
656
  end
657
657
 
658
- type union_member2 =
658
+ type container_file_citation =
659
659
  {
660
660
  container_id: String,
661
661
  end_index: Integer,
@@ -665,7 +665,7 @@ module OpenAI
665
665
  type: :container_file_citation
666
666
  }
667
667
 
668
- class UnionMember2 < OpenAI::Internal::Type::BaseModel
668
+ class ContainerFileCitation < OpenAI::Internal::Type::BaseModel
669
669
  attr_accessor container_id: String
670
670
 
671
671
  attr_accessor end_index: Integer
@@ -697,13 +697,7 @@ module OpenAI
697
697
  }
698
698
  end
699
699
 
700
- def self?.variants: -> ::Array[OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotations]
701
-
702
- UnionMember0Array: OpenAI::Internal::Type::Converter
703
-
704
- UnionMember1Array: OpenAI::Internal::Type::Converter
705
-
706
- UnionMember2Array: OpenAI::Internal::Type::Converter
700
+ def self?.variants: -> ::Array[OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput::Output::annotation]
707
701
  end
708
702
  end
709
703