openai 0.98.0 → 0.100.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 (245) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/bedrock.md +17 -1
  5. data/lib/openai/client.rb +9 -0
  6. data/lib/openai/helpers/agents/session_stream.rb +11 -36
  7. data/lib/openai/helpers/agents/tools.rb +34 -4
  8. data/lib/openai/helpers/beta/agents/creation_stream.rb +26 -0
  9. data/lib/openai/helpers/beta/agents/function_tool.rb +11 -4
  10. data/lib/openai/helpers/beta/agents/tool_dispatcher.rb +74 -0
  11. data/lib/openai/helpers/beta/agents/tool_error.rb +28 -0
  12. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +140 -5
  13. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +140 -5
  14. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +140 -5
  15. data/lib/openai/models/admin/organization/usage_completions_params.rb +9 -4
  16. data/lib/openai/models/admin/organization/usage_completions_response.rb +140 -5
  17. data/lib/openai/models/admin/organization/usage_costs_params.rb +16 -4
  18. data/lib/openai/models/admin/organization/usage_costs_response.rb +140 -5
  19. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +140 -5
  20. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +140 -5
  21. data/lib/openai/models/admin/organization/usage_images_response.rb +140 -5
  22. data/lib/openai/models/admin/organization/usage_moderations_response.rb +140 -5
  23. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +140 -5
  24. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +9 -4
  25. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +140 -5
  26. data/lib/openai/models/all_models.rb +42 -0
  27. data/lib/openai/models/audio/speech_create_params.rb +6 -0
  28. data/lib/openai/models/audio/voice.rb +75 -0
  29. data/lib/openai/models/audio/voice_create_params.rb +217 -0
  30. data/lib/openai/models/beta/agent_create_params.rb +0 -3
  31. data/lib/openai/models/beta/agent_update_params.rb +0 -3
  32. data/lib/openai/models/beta/agents/environments/template_create_params.rb +6 -6
  33. data/lib/openai/models/beta/agents/environments/template_update_params.rb +3 -6
  34. data/lib/openai/models/beta/agents/session_create_params.rb +0 -3
  35. data/lib/openai/models/beta/agents/session_update_params.rb +0 -3
  36. data/lib/openai/models/beta/agents/sessions/turns/item_list_params.rb +79 -0
  37. data/lib/openai/models/beta/beta_response.rb +220 -0
  38. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +2 -2
  39. data/lib/openai/models/beta/beta_response_error.rb +12 -1
  40. data/lib/openai/models/beta/beta_responses_client_event.rb +220 -0
  41. data/lib/openai/models/beta/beta_responses_server_event.rb +12 -1
  42. data/lib/openai/models/beta/beta_tool.rb +15 -18
  43. data/lib/openai/models/beta/environment_param.rb +6 -6
  44. data/lib/openai/models/beta/response_compact_params.rb +220 -0
  45. data/lib/openai/models/beta/response_create_params.rb +220 -0
  46. data/lib/openai/models/beta/session_turn_error.rb +9 -0
  47. data/lib/openai/models/chat/chat_completion_audio_param.rb +6 -3
  48. data/lib/openai/models/chat/chat_completion_chunk.rb +85 -18
  49. data/lib/openai/models/chat_model.rb +178 -0
  50. data/lib/openai/models/error_object.rb +12 -1
  51. data/lib/openai/models/eval_create_params.rb +1 -1
  52. data/lib/openai/models/eval_create_response.rb +1 -1
  53. data/lib/openai/models/eval_list_response.rb +1 -1
  54. data/lib/openai/models/eval_retrieve_response.rb +1 -1
  55. data/lib/openai/models/eval_update_response.rb +1 -1
  56. data/lib/openai/models/fine_tuning/job_list_params.rb +14 -4
  57. data/lib/openai/models/graders/score_model_grader.rb +2 -2
  58. data/lib/openai/models/image.rb +14 -14
  59. data/lib/openai/models/image_create_variation_params.rb +7 -7
  60. data/lib/openai/models/image_edit_params.rb +88 -96
  61. data/lib/openai/models/image_generate_params.rb +51 -62
  62. data/lib/openai/models/image_model.rb +5 -3
  63. data/lib/openai/models/realtime/realtime_audio_config_output.rb +9 -6
  64. data/lib/openai/models/realtime/realtime_client_event.rb +9 -0
  65. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +9 -6
  66. data/lib/openai/models/realtime/session_update_event.rb +16 -0
  67. data/lib/openai/models/responses/response_compact_params.rb +220 -0
  68. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +2 -2
  69. data/lib/openai/models/responses/response_error.rb +12 -1
  70. data/lib/openai/models/responses/responses_server_event.rb +12 -1
  71. data/lib/openai/models/responses/tool.rb +15 -18
  72. data/lib/openai/models/responses_model.rb +42 -0
  73. data/lib/openai/models/video_create_error.rb +12 -1
  74. data/lib/openai/models/webhooks/agent_session_action_required_webhook_event.rb +109 -0
  75. data/lib/openai/models/webhooks/agent_session_created_webhook_event.rb +106 -0
  76. data/lib/openai/models/webhooks/agent_session_failed_webhook_event.rb +86 -0
  77. data/lib/openai/models/webhooks/agent_session_idle_webhook_event.rb +86 -0
  78. data/lib/openai/models/webhooks/agent_session_in_progress_webhook_event.rb +86 -0
  79. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +18 -2
  80. data/lib/openai/models/webhooks/webhook_create_params.rb +5 -0
  81. data/lib/openai/models/webhooks/webhook_test_params.rb +5 -0
  82. data/lib/openai/models/webhooks/webhook_update_params.rb +5 -0
  83. data/lib/openai/providers/bedrock.rb +20 -1
  84. data/lib/openai/resources/admin/organization/usage.rb +15 -6
  85. data/lib/openai/resources/audio/speech.rb +2 -0
  86. data/lib/openai/resources/audio/voices.rb +53 -0
  87. data/lib/openai/resources/audio.rb +5 -0
  88. data/lib/openai/resources/beta/agents/environments/templates.rb +3 -4
  89. data/lib/openai/resources/beta/agents/sessions/turns/items.rb +68 -0
  90. data/lib/openai/resources/beta/agents/sessions/turns.rb +4 -0
  91. data/lib/openai/resources/beta/agents/sessions.rb +22 -2
  92. data/lib/openai/resources/fine_tuning/jobs.rb +7 -2
  93. data/lib/openai/resources/images.rb +79 -109
  94. data/lib/openai/resources/webhooks.rb +1 -1
  95. data/lib/openai/version.rb +1 -1
  96. data/lib/openai.rb +10 -0
  97. data/rbi/openai/helpers/agents.rbi +2 -0
  98. data/rbi/openai/helpers/beta/agents/function_tool.rbi +8 -3
  99. data/rbi/openai/helpers/beta/agents/tool_error.rbi +19 -0
  100. data/rbi/openai/helpers/beta/agents.rbi +12 -0
  101. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +213 -3
  102. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +213 -3
  103. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +213 -3
  104. data/rbi/openai/models/admin/organization/usage_completions_params.rbi +9 -4
  105. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +213 -3
  106. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +16 -4
  107. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +213 -3
  108. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +213 -3
  109. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +213 -3
  110. data/rbi/openai/models/admin/organization/usage_images_response.rbi +213 -3
  111. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +213 -3
  112. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +213 -3
  113. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +12 -4
  114. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +213 -3
  115. data/rbi/openai/models/audio/speech_create_params.rbi +6 -0
  116. data/rbi/openai/models/audio/voice.rbi +111 -0
  117. data/rbi/openai/models/audio/voice_create_params.rbi +321 -0
  118. data/rbi/openai/models/beta/agent_create_params.rbi +0 -3
  119. data/rbi/openai/models/beta/agent_update_params.rbi +0 -3
  120. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +6 -6
  121. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +3 -6
  122. data/rbi/openai/models/beta/agents/session_create_params.rbi +0 -3
  123. data/rbi/openai/models/beta/agents/session_update_params.rbi +0 -3
  124. data/rbi/openai/models/beta/agents/sessions/turns/item_list_params.rbi +139 -0
  125. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +2 -2
  126. data/rbi/openai/models/beta/beta_response_error.rbi +12 -0
  127. data/rbi/openai/models/beta/beta_responses_server_event.rbi +12 -0
  128. data/rbi/openai/models/beta/beta_tool.rbi +15 -18
  129. data/rbi/openai/models/beta/environment_param.rbi +6 -6
  130. data/rbi/openai/models/beta/session_turn_error.rbi +18 -0
  131. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +6 -3
  132. data/rbi/openai/models/chat/chat_completion_chunk.rbi +123 -17
  133. data/rbi/openai/models/error_object.rbi +12 -0
  134. data/rbi/openai/models/eval_create_params.rbi +1 -1
  135. data/rbi/openai/models/eval_create_response.rbi +1 -1
  136. data/rbi/openai/models/eval_list_response.rbi +1 -1
  137. data/rbi/openai/models/eval_retrieve_response.rbi +1 -1
  138. data/rbi/openai/models/eval_update_response.rbi +1 -1
  139. data/rbi/openai/models/fine_tuning/job_list_params.rbi +14 -4
  140. data/rbi/openai/models/graders/score_model_grader.rbi +2 -2
  141. data/rbi/openai/models/image.rbi +14 -14
  142. data/rbi/openai/models/image_create_variation_params.rbi +6 -6
  143. data/rbi/openai/models/image_edit_params.rbi +73 -91
  144. data/rbi/openai/models/image_generate_params.rbi +30 -61
  145. data/rbi/openai/models/image_model.rbi +3 -3
  146. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +9 -6
  147. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +9 -6
  148. data/rbi/openai/models/realtime/session_update_event.rbi +16 -0
  149. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +2 -2
  150. data/rbi/openai/models/responses/response_error.rbi +12 -0
  151. data/rbi/openai/models/responses/responses_server_event.rbi +12 -0
  152. data/rbi/openai/models/responses/tool.rbi +15 -18
  153. data/rbi/openai/models/video_create_error.rbi +12 -0
  154. data/rbi/openai/models/webhooks/agent_session_action_required_webhook_event.rbi +222 -0
  155. data/rbi/openai/models/webhooks/agent_session_created_webhook_event.rbi +202 -0
  156. data/rbi/openai/models/webhooks/agent_session_failed_webhook_event.rbi +151 -0
  157. data/rbi/openai/models/webhooks/agent_session_idle_webhook_event.rbi +151 -0
  158. data/rbi/openai/models/webhooks/agent_session_in_progress_webhook_event.rbi +151 -0
  159. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +7 -1
  160. data/rbi/openai/models/webhooks/webhook_create_params.rbi +20 -0
  161. data/rbi/openai/models/webhooks/webhook_test_params.rbi +20 -0
  162. data/rbi/openai/models/webhooks/webhook_update_params.rbi +20 -0
  163. data/rbi/openai/resources/admin/organization/usage.rbi +15 -6
  164. data/rbi/openai/resources/audio/speech.rbi +2 -0
  165. data/rbi/openai/resources/audio/voices.rbi +49 -0
  166. data/rbi/openai/resources/audio.rbi +4 -0
  167. data/rbi/openai/resources/beta/agents/environments/templates.rbi +3 -4
  168. data/rbi/openai/resources/beta/agents/sessions/turns/items.rbi +62 -0
  169. data/rbi/openai/resources/beta/agents/sessions/turns.rbi +3 -0
  170. data/rbi/openai/resources/beta/agents/sessions.rbi +2 -0
  171. data/rbi/openai/resources/fine_tuning/jobs.rbi +7 -2
  172. data/rbi/openai/resources/images.rbi +77 -109
  173. data/rbi/openai/resources/webhooks.rbi +5 -0
  174. data/sig/openai/helpers/agents.rbs +3 -0
  175. data/sig/openai/helpers/beta/agents/function_tool.rbs +5 -2
  176. data/sig/openai/helpers/beta/agents/tool_error.rbs +17 -0
  177. data/sig/openai/helpers/beta/agents.rbs +5 -0
  178. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +107 -5
  179. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +107 -5
  180. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +107 -5
  181. data/sig/openai/models/admin/organization/usage_completions_params.rbs +14 -6
  182. data/sig/openai/models/admin/organization/usage_completions_response.rbs +107 -5
  183. data/sig/openai/models/admin/organization/usage_costs_params.rbs +25 -7
  184. data/sig/openai/models/admin/organization/usage_costs_response.rbs +107 -5
  185. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +107 -5
  186. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +107 -5
  187. data/sig/openai/models/admin/organization/usage_images_response.rbs +107 -5
  188. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +107 -5
  189. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +107 -5
  190. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +19 -7
  191. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +107 -5
  192. data/sig/openai/models/audio/speech_create_params.rbs +4 -0
  193. data/sig/openai/models/audio/voice.rbs +70 -0
  194. data/sig/openai/models/audio/voice_create_params.rbs +203 -0
  195. data/sig/openai/models/beta/agent_create_params.rbs +1 -5
  196. data/sig/openai/models/beta/agent_update_params.rbs +1 -5
  197. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +4 -4
  198. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +2 -4
  199. data/sig/openai/models/beta/agents/session_create_params.rbs +1 -5
  200. data/sig/openai/models/beta/agents/session_update_params.rbs +1 -5
  201. data/sig/openai/models/beta/agents/sessions/turns/item_list_params.rbs +91 -0
  202. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +2 -2
  203. data/sig/openai/models/beta/beta_response_error.rbs +10 -0
  204. data/sig/openai/models/beta/beta_responses_server_event.rbs +10 -0
  205. data/sig/openai/models/beta/beta_tool.rbs +11 -15
  206. data/sig/openai/models/beta/environment_param.rbs +4 -4
  207. data/sig/openai/models/beta/session_turn_error.rbs +12 -0
  208. data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -2
  209. data/sig/openai/models/chat/chat_completion_chunk.rbs +96 -12
  210. data/sig/openai/models/error_object.rbs +10 -0
  211. data/sig/openai/models/eval_create_params.rbs +1 -1
  212. data/sig/openai/models/eval_create_response.rbs +1 -1
  213. data/sig/openai/models/eval_list_response.rbs +1 -1
  214. data/sig/openai/models/eval_retrieve_response.rbs +1 -1
  215. data/sig/openai/models/eval_update_response.rbs +1 -1
  216. data/sig/openai/models/fine_tuning/job_list_params.rbs +14 -4
  217. data/sig/openai/models/graders/score_model_grader.rbs +3 -3
  218. data/sig/openai/models/image.rbs +21 -21
  219. data/sig/openai/models/image_create_variation_params.rbs +4 -4
  220. data/sig/openai/models/image_edit_params.rbs +54 -66
  221. data/sig/openai/models/image_generate_params.rbs +23 -45
  222. data/sig/openai/models/image_model.rbs +6 -6
  223. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +9 -6
  224. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +9 -6
  225. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +2 -2
  226. data/sig/openai/models/responses/response_error.rbs +10 -0
  227. data/sig/openai/models/responses/responses_server_event.rbs +10 -0
  228. data/sig/openai/models/responses/tool.rbs +11 -15
  229. data/sig/openai/models/video_create_error.rbs +10 -0
  230. data/sig/openai/models/webhooks/agent_session_action_required_webhook_event.rbs +114 -0
  231. data/sig/openai/models/webhooks/agent_session_created_webhook_event.rbs +115 -0
  232. data/sig/openai/models/webhooks/agent_session_failed_webhook_event.rbs +89 -0
  233. data/sig/openai/models/webhooks/agent_session_idle_webhook_event.rbs +89 -0
  234. data/sig/openai/models/webhooks/agent_session_in_progress_webhook_event.rbs +89 -0
  235. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +6 -1
  236. data/sig/openai/models/webhooks/webhook_create_params.rbs +10 -0
  237. data/sig/openai/models/webhooks/webhook_test_params.rbs +10 -0
  238. data/sig/openai/models/webhooks/webhook_update_params.rbs +10 -0
  239. data/sig/openai/resources/audio/voices.rbs +14 -0
  240. data/sig/openai/resources/audio.rbs +2 -0
  241. data/sig/openai/resources/beta/agents/sessions/turns/items.rbs +24 -0
  242. data/sig/openai/resources/beta/agents/sessions/turns.rbs +2 -0
  243. data/sig/openai/resources/beta/agents/sessions.rbs +1 -0
  244. data/sig/openai/resources/webhooks.rbs +6 -1
  245. metadata +35 -1
@@ -200,6 +200,21 @@ module OpenAI
200
200
  # @return [String, nil]
201
201
  optional :api_key_id, String, nil?: true
202
202
 
203
+ # @!attribute api_source
204
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
205
+ # activity and `unlabeled` includes all records without published source
206
+ # attribution, including historical and unknown origins. Unlabeled does not imply
207
+ # direct API usage. Without source grouping, this field is null.
208
+ #
209
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
210
+ optional(
211
+ :api_source,
212
+ enum: -> {
213
+ OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageCompletionsResult::APISource
214
+ },
215
+ nil?: true
216
+ )
217
+
203
218
  # @!attribute batch
204
219
  # When `group_by=batch`, this field tells whether the grouped usage result is
205
220
  # batch or not.
@@ -213,8 +228,16 @@ module OpenAI
213
228
  # @return [Integer, nil]
214
229
  optional :input_audio_tokens, Integer
215
230
 
231
+ # @!attribute input_cache_write_12h_tokens
232
+ # The aggregated number of input tokens written to the cache with a 12-hour
233
+ # retention period.
234
+ #
235
+ # @return [Integer, nil]
236
+ optional :input_cache_write_12h_tokens, Integer
237
+
216
238
  # @!attribute input_cache_write_tokens
217
- # The aggregated number of input tokens written to the cache.
239
+ # The aggregated number of input tokens written to the cache with a 30-minute
240
+ # retention period.
218
241
  #
219
242
  # @return [Integer, nil]
220
243
  optional :input_cache_write_tokens, Integer
@@ -310,7 +333,7 @@ module OpenAI
310
333
  # @return [String, nil]
311
334
  optional :user_id, String, nil?: true
312
335
 
313
- # @!method initialize(input_tokens:, num_model_requests:, output_tokens:, api_key_id: nil, batch: nil, input_audio_tokens: nil, input_cache_write_tokens: nil, input_cached_audio_tokens: nil, input_cached_image_tokens: nil, input_cached_text_tokens: nil, input_cached_tokens: nil, input_image_tokens: nil, input_text_tokens: nil, input_uncached_tokens: nil, model: nil, output_audio_tokens: nil, output_image_tokens: nil, output_text_tokens: nil, project_id: nil, service_tier: nil, user_id: nil, object: :"organization.usage.completions.result")
336
+ # @!method initialize(input_tokens:, num_model_requests:, output_tokens:, api_key_id: nil, api_source: nil, batch: nil, input_audio_tokens: nil, input_cache_write_12h_tokens: nil, input_cache_write_tokens: nil, input_cached_audio_tokens: nil, input_cached_image_tokens: nil, input_cached_text_tokens: nil, input_cached_tokens: nil, input_image_tokens: nil, input_text_tokens: nil, input_uncached_tokens: nil, model: nil, output_audio_tokens: nil, output_image_tokens: nil, output_text_tokens: nil, project_id: nil, service_tier: nil, user_id: nil, object: :"organization.usage.completions.result")
314
337
  # The aggregated completions usage details of the specific time bucket.
315
338
  #
316
339
  # @param input_tokens [Integer]
@@ -330,6 +353,12 @@ module OpenAI
330
353
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
331
354
  # usage result.
332
355
  #
356
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
357
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
358
+ # activity and `unlabeled` includes all records without published source
359
+ # attribution, including historical and unknown origins. Unlabeled does not imply
360
+ # direct API usage. Without source grouping, this field is null.
361
+ #
333
362
  # @param batch [Boolean, nil]
334
363
  # When `group_by=batch`, this field tells whether the grouped usage result is
335
364
  # batch or not.
@@ -337,8 +366,13 @@ module OpenAI
337
366
  # @param input_audio_tokens [Integer]
338
367
  # The aggregated number of uncached audio input tokens used.
339
368
  #
369
+ # @param input_cache_write_12h_tokens [Integer]
370
+ # The aggregated number of input tokens written to the cache with a 12-hour
371
+ # retention period.
372
+ #
340
373
  # @param input_cache_write_tokens [Integer]
341
- # The aggregated number of input tokens written to the cache.
374
+ # The aggregated number of input tokens written to the cache with a 30-minute
375
+ # retention period.
342
376
  #
343
377
  # @param input_cached_audio_tokens [Integer]
344
378
  # The aggregated number of cached audio input tokens used.
@@ -390,6 +424,22 @@ module OpenAI
390
424
  # result.
391
425
  #
392
426
  # @param object [Symbol, :"organization.usage.completions.result"]
427
+
428
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
429
+ # activity and `unlabeled` includes all records without published source
430
+ # attribution, including historical and unknown origins. Unlabeled does not imply
431
+ # direct API usage. Without source grouping, this field is null.
432
+ #
433
+ # @see OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageCompletionsResult#api_source
434
+ module APISource
435
+ extend OpenAI::Internal::Type::Enum
436
+
437
+ AGENTS_API = :agents_api
438
+ UNLABELED = :unlabeled
439
+
440
+ # @!method self.values
441
+ # @return [Array<Symbol>]
442
+ end
393
443
  end
394
444
 
395
445
  class OrganizationUsageEmbeddingsResult < OpenAI::Internal::Type::BaseModel
@@ -939,6 +989,21 @@ module OpenAI
939
989
  # @return [String, nil]
940
990
  optional :api_key_id, String, nil?: true
941
991
 
992
+ # @!attribute api_source
993
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
994
+ # activity and `unlabeled` includes all records without published source
995
+ # attribution, including historical and unknown origins. Unlabeled does not imply
996
+ # direct API usage. Without source grouping, this field is null.
997
+ #
998
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
999
+ optional(
1000
+ :api_source,
1001
+ enum: -> {
1002
+ OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource
1003
+ },
1004
+ nil?: true
1005
+ )
1006
+
942
1007
  # @!attribute context_level
943
1008
  # When `group_by=context_level`, this field provides the search context size of
944
1009
  # the grouped usage result.
@@ -967,7 +1032,7 @@ module OpenAI
967
1032
  # @return [String, nil]
968
1033
  optional :user_id, String, nil?: true
969
1034
 
970
- # @!method initialize(num_model_requests:, num_requests:, api_key_id: nil, context_level: nil, model: nil, project_id: nil, user_id: nil, object: :"organization.usage.web_searches.result")
1035
+ # @!method initialize(num_model_requests:, num_requests:, api_key_id: nil, api_source: nil, context_level: nil, model: nil, project_id: nil, user_id: nil, object: :"organization.usage.web_searches.result")
971
1036
  # The aggregated web search calls usage details of the specific time bucket.
972
1037
  #
973
1038
  # @param num_model_requests [Integer]
@@ -980,6 +1045,12 @@ module OpenAI
980
1045
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
981
1046
  # usage result.
982
1047
  #
1048
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
1049
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1050
+ # activity and `unlabeled` includes all records without published source
1051
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1052
+ # direct API usage. Without source grouping, this field is null.
1053
+ #
983
1054
  # @param context_level [String, nil]
984
1055
  # When `group_by=context_level`, this field provides the search context size of
985
1056
  # the grouped usage result.
@@ -997,6 +1068,22 @@ module OpenAI
997
1068
  # result.
998
1069
  #
999
1070
  # @param object [Symbol, :"organization.usage.web_searches.result"]
1071
+
1072
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1073
+ # activity and `unlabeled` includes all records without published source
1074
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1075
+ # direct API usage. Without source grouping, this field is null.
1076
+ #
1077
+ # @see OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationUsageWebSearchesResult#api_source
1078
+ module APISource
1079
+ extend OpenAI::Internal::Type::Enum
1080
+
1081
+ AGENTS_API = :agents_api
1082
+ UNLABELED = :unlabeled
1083
+
1084
+ # @!method self.values
1085
+ # @return [Array<Symbol>]
1086
+ end
1000
1087
  end
1001
1088
 
1002
1089
  class OrganizationCostsResult < OpenAI::Internal::Type::BaseModel
@@ -1023,6 +1110,21 @@ module OpenAI
1023
1110
  # @return [String, nil]
1024
1111
  optional :api_key_id, String, nil?: true
1025
1112
 
1113
+ # @!attribute api_source
1114
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1115
+ # activity and `unlabeled` includes all records without published source
1116
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1117
+ # direct API usage. Without source grouping, this field is null.
1118
+ #
1119
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1120
+ optional(
1121
+ :api_source,
1122
+ enum: -> {
1123
+ OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationCostsResult::APISource
1124
+ },
1125
+ nil?: true
1126
+ )
1127
+
1026
1128
  # @!attribute line_item
1027
1129
  # When `group_by=line_item`, this field provides the line item of the grouped
1028
1130
  # costs result.
@@ -1057,7 +1159,14 @@ module OpenAI
1057
1159
  nil?: true
1058
1160
  )
1059
1161
 
1060
- # @!method initialize(amount: nil, api_key_id: nil, line_item: nil, project_id: nil, quantity: nil, quantity_unit: nil, object: :"organization.costs.result")
1162
+ # @!attribute user_id
1163
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1164
+ # result.
1165
+ #
1166
+ # @return [String, nil]
1167
+ optional :user_id, String, nil?: true
1168
+
1169
+ # @!method initialize(amount: nil, api_key_id: nil, api_source: nil, line_item: nil, project_id: nil, quantity: nil, quantity_unit: nil, user_id: nil, object: :"organization.costs.result")
1061
1170
  # The aggregated costs details of the specific time bucket.
1062
1171
  #
1063
1172
  # @param amount [OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationCostsResult::Amount]
@@ -1067,6 +1176,12 @@ module OpenAI
1067
1176
  # When `group_by=api_key_id`, this field provides the API Key ID of the grouped
1068
1177
  # costs result.
1069
1178
  #
1179
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1180
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1181
+ # activity and `unlabeled` includes all records without published source
1182
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1183
+ # direct API usage. Without source grouping, this field is null.
1184
+ #
1070
1185
  # @param line_item [String, nil]
1071
1186
  # When `group_by=line_item`, this field provides the line item of the grouped
1072
1187
  # costs result.
@@ -1083,6 +1198,10 @@ module OpenAI
1083
1198
  # The unit of the `quantity` value. If no single supported unit applies to the
1084
1199
  # result, this field is `null`.
1085
1200
  #
1201
+ # @param user_id [String, nil]
1202
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1203
+ # result.
1204
+ #
1086
1205
  # @param object [Symbol, :"organization.costs.result"]
1087
1206
 
1088
1207
  # @see OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationCostsResult#amount
@@ -1108,6 +1227,22 @@ module OpenAI
1108
1227
  # @param value [Float]
1109
1228
  # The numeric value of the cost.
1110
1229
  end
1230
+
1231
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1232
+ # activity and `unlabeled` includes all records without published source
1233
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1234
+ # direct API usage. Without source grouping, this field is null.
1235
+ #
1236
+ # @see OpenAI::Models::Admin::Organization::UsageAudioSpeechesResponse::Data::Result::OrganizationCostsResult#api_source
1237
+ module APISource
1238
+ extend OpenAI::Internal::Type::Enum
1239
+
1240
+ AGENTS_API = :agents_api
1241
+ UNLABELED = :unlabeled
1242
+
1243
+ # @!method self.values
1244
+ # @return [Array<Symbol>]
1245
+ end
1111
1246
  end
1112
1247
 
1113
1248
  # @!method self.variants
@@ -202,6 +202,21 @@ module OpenAI
202
202
  # @return [String, nil]
203
203
  optional :api_key_id, String, nil?: true
204
204
 
205
+ # @!attribute api_source
206
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
207
+ # activity and `unlabeled` includes all records without published source
208
+ # attribution, including historical and unknown origins. Unlabeled does not imply
209
+ # direct API usage. Without source grouping, this field is null.
210
+ #
211
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
212
+ optional(
213
+ :api_source,
214
+ enum: -> {
215
+ OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageCompletionsResult::APISource
216
+ },
217
+ nil?: true
218
+ )
219
+
205
220
  # @!attribute batch
206
221
  # When `group_by=batch`, this field tells whether the grouped usage result is
207
222
  # batch or not.
@@ -215,8 +230,16 @@ module OpenAI
215
230
  # @return [Integer, nil]
216
231
  optional :input_audio_tokens, Integer
217
232
 
233
+ # @!attribute input_cache_write_12h_tokens
234
+ # The aggregated number of input tokens written to the cache with a 12-hour
235
+ # retention period.
236
+ #
237
+ # @return [Integer, nil]
238
+ optional :input_cache_write_12h_tokens, Integer
239
+
218
240
  # @!attribute input_cache_write_tokens
219
- # The aggregated number of input tokens written to the cache.
241
+ # The aggregated number of input tokens written to the cache with a 30-minute
242
+ # retention period.
220
243
  #
221
244
  # @return [Integer, nil]
222
245
  optional :input_cache_write_tokens, Integer
@@ -312,7 +335,7 @@ module OpenAI
312
335
  # @return [String, nil]
313
336
  optional :user_id, String, nil?: true
314
337
 
315
- # @!method initialize(input_tokens:, num_model_requests:, output_tokens:, api_key_id: nil, batch: nil, input_audio_tokens: nil, input_cache_write_tokens: nil, input_cached_audio_tokens: nil, input_cached_image_tokens: nil, input_cached_text_tokens: nil, input_cached_tokens: nil, input_image_tokens: nil, input_text_tokens: nil, input_uncached_tokens: nil, model: nil, output_audio_tokens: nil, output_image_tokens: nil, output_text_tokens: nil, project_id: nil, service_tier: nil, user_id: nil, object: :"organization.usage.completions.result")
338
+ # @!method initialize(input_tokens:, num_model_requests:, output_tokens:, api_key_id: nil, api_source: nil, batch: nil, input_audio_tokens: nil, input_cache_write_12h_tokens: nil, input_cache_write_tokens: nil, input_cached_audio_tokens: nil, input_cached_image_tokens: nil, input_cached_text_tokens: nil, input_cached_tokens: nil, input_image_tokens: nil, input_text_tokens: nil, input_uncached_tokens: nil, model: nil, output_audio_tokens: nil, output_image_tokens: nil, output_text_tokens: nil, project_id: nil, service_tier: nil, user_id: nil, object: :"organization.usage.completions.result")
316
339
  # The aggregated completions usage details of the specific time bucket.
317
340
  #
318
341
  # @param input_tokens [Integer]
@@ -332,6 +355,12 @@ module OpenAI
332
355
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
333
356
  # usage result.
334
357
  #
358
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
359
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
360
+ # activity and `unlabeled` includes all records without published source
361
+ # attribution, including historical and unknown origins. Unlabeled does not imply
362
+ # direct API usage. Without source grouping, this field is null.
363
+ #
335
364
  # @param batch [Boolean, nil]
336
365
  # When `group_by=batch`, this field tells whether the grouped usage result is
337
366
  # batch or not.
@@ -339,8 +368,13 @@ module OpenAI
339
368
  # @param input_audio_tokens [Integer]
340
369
  # The aggregated number of uncached audio input tokens used.
341
370
  #
371
+ # @param input_cache_write_12h_tokens [Integer]
372
+ # The aggregated number of input tokens written to the cache with a 12-hour
373
+ # retention period.
374
+ #
342
375
  # @param input_cache_write_tokens [Integer]
343
- # The aggregated number of input tokens written to the cache.
376
+ # The aggregated number of input tokens written to the cache with a 30-minute
377
+ # retention period.
344
378
  #
345
379
  # @param input_cached_audio_tokens [Integer]
346
380
  # The aggregated number of cached audio input tokens used.
@@ -392,6 +426,22 @@ module OpenAI
392
426
  # result.
393
427
  #
394
428
  # @param object [Symbol, :"organization.usage.completions.result"]
429
+
430
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
431
+ # activity and `unlabeled` includes all records without published source
432
+ # attribution, including historical and unknown origins. Unlabeled does not imply
433
+ # direct API usage. Without source grouping, this field is null.
434
+ #
435
+ # @see OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageCompletionsResult#api_source
436
+ module APISource
437
+ extend OpenAI::Internal::Type::Enum
438
+
439
+ AGENTS_API = :agents_api
440
+ UNLABELED = :unlabeled
441
+
442
+ # @!method self.values
443
+ # @return [Array<Symbol>]
444
+ end
395
445
  end
396
446
 
397
447
  class OrganizationUsageEmbeddingsResult < OpenAI::Internal::Type::BaseModel
@@ -941,6 +991,21 @@ module OpenAI
941
991
  # @return [String, nil]
942
992
  optional :api_key_id, String, nil?: true
943
993
 
994
+ # @!attribute api_source
995
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
996
+ # activity and `unlabeled` includes all records without published source
997
+ # attribution, including historical and unknown origins. Unlabeled does not imply
998
+ # direct API usage. Without source grouping, this field is null.
999
+ #
1000
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
1001
+ optional(
1002
+ :api_source,
1003
+ enum: -> {
1004
+ OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource
1005
+ },
1006
+ nil?: true
1007
+ )
1008
+
944
1009
  # @!attribute context_level
945
1010
  # When `group_by=context_level`, this field provides the search context size of
946
1011
  # the grouped usage result.
@@ -969,7 +1034,7 @@ module OpenAI
969
1034
  # @return [String, nil]
970
1035
  optional :user_id, String, nil?: true
971
1036
 
972
- # @!method initialize(num_model_requests:, num_requests:, api_key_id: nil, context_level: nil, model: nil, project_id: nil, user_id: nil, object: :"organization.usage.web_searches.result")
1037
+ # @!method initialize(num_model_requests:, num_requests:, api_key_id: nil, api_source: nil, context_level: nil, model: nil, project_id: nil, user_id: nil, object: :"organization.usage.web_searches.result")
973
1038
  # The aggregated web search calls usage details of the specific time bucket.
974
1039
  #
975
1040
  # @param num_model_requests [Integer]
@@ -982,6 +1047,12 @@ module OpenAI
982
1047
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
983
1048
  # usage result.
984
1049
  #
1050
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
1051
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1052
+ # activity and `unlabeled` includes all records without published source
1053
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1054
+ # direct API usage. Without source grouping, this field is null.
1055
+ #
985
1056
  # @param context_level [String, nil]
986
1057
  # When `group_by=context_level`, this field provides the search context size of
987
1058
  # the grouped usage result.
@@ -999,6 +1070,22 @@ module OpenAI
999
1070
  # result.
1000
1071
  #
1001
1072
  # @param object [Symbol, :"organization.usage.web_searches.result"]
1073
+
1074
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1075
+ # activity and `unlabeled` includes all records without published source
1076
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1077
+ # direct API usage. Without source grouping, this field is null.
1078
+ #
1079
+ # @see OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationUsageWebSearchesResult#api_source
1080
+ module APISource
1081
+ extend OpenAI::Internal::Type::Enum
1082
+
1083
+ AGENTS_API = :agents_api
1084
+ UNLABELED = :unlabeled
1085
+
1086
+ # @!method self.values
1087
+ # @return [Array<Symbol>]
1088
+ end
1002
1089
  end
1003
1090
 
1004
1091
  class OrganizationCostsResult < OpenAI::Internal::Type::BaseModel
@@ -1025,6 +1112,21 @@ module OpenAI
1025
1112
  # @return [String, nil]
1026
1113
  optional :api_key_id, String, nil?: true
1027
1114
 
1115
+ # @!attribute api_source
1116
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1117
+ # activity and `unlabeled` includes all records without published source
1118
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1119
+ # direct API usage. Without source grouping, this field is null.
1120
+ #
1121
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1122
+ optional(
1123
+ :api_source,
1124
+ enum: -> {
1125
+ OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationCostsResult::APISource
1126
+ },
1127
+ nil?: true
1128
+ )
1129
+
1028
1130
  # @!attribute line_item
1029
1131
  # When `group_by=line_item`, this field provides the line item of the grouped
1030
1132
  # costs result.
@@ -1059,7 +1161,14 @@ module OpenAI
1059
1161
  nil?: true
1060
1162
  )
1061
1163
 
1062
- # @!method initialize(amount: nil, api_key_id: nil, line_item: nil, project_id: nil, quantity: nil, quantity_unit: nil, object: :"organization.costs.result")
1164
+ # @!attribute user_id
1165
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1166
+ # result.
1167
+ #
1168
+ # @return [String, nil]
1169
+ optional :user_id, String, nil?: true
1170
+
1171
+ # @!method initialize(amount: nil, api_key_id: nil, api_source: nil, line_item: nil, project_id: nil, quantity: nil, quantity_unit: nil, user_id: nil, object: :"organization.costs.result")
1063
1172
  # The aggregated costs details of the specific time bucket.
1064
1173
  #
1065
1174
  # @param amount [OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationCostsResult::Amount]
@@ -1069,6 +1178,12 @@ module OpenAI
1069
1178
  # When `group_by=api_key_id`, this field provides the API Key ID of the grouped
1070
1179
  # costs result.
1071
1180
  #
1181
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1182
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1183
+ # activity and `unlabeled` includes all records without published source
1184
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1185
+ # direct API usage. Without source grouping, this field is null.
1186
+ #
1072
1187
  # @param line_item [String, nil]
1073
1188
  # When `group_by=line_item`, this field provides the line item of the grouped
1074
1189
  # costs result.
@@ -1085,6 +1200,10 @@ module OpenAI
1085
1200
  # The unit of the `quantity` value. If no single supported unit applies to the
1086
1201
  # result, this field is `null`.
1087
1202
  #
1203
+ # @param user_id [String, nil]
1204
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1205
+ # result.
1206
+ #
1088
1207
  # @param object [Symbol, :"organization.costs.result"]
1089
1208
 
1090
1209
  # @see OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationCostsResult#amount
@@ -1110,6 +1229,22 @@ module OpenAI
1110
1229
  # @param value [Float]
1111
1230
  # The numeric value of the cost.
1112
1231
  end
1232
+
1233
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1234
+ # activity and `unlabeled` includes all records without published source
1235
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1236
+ # direct API usage. Without source grouping, this field is null.
1237
+ #
1238
+ # @see OpenAI::Models::Admin::Organization::UsageAudioTranscriptionsResponse::Data::Result::OrganizationCostsResult#api_source
1239
+ module APISource
1240
+ extend OpenAI::Internal::Type::Enum
1241
+
1242
+ AGENTS_API = :agents_api
1243
+ UNLABELED = :unlabeled
1244
+
1245
+ # @!method self.values
1246
+ # @return [Array<Symbol>]
1247
+ end
1113
1248
  end
1114
1249
 
1115
1250
  # @!method self.variants