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::UsageFileSearchCallsResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
210
+ optional(
211
+ :api_source,
212
+ enum: -> {
213
+ OpenAI::Models::Admin::Organization::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
999
+ optional(
1000
+ :api_source,
1001
+ enum: -> {
1002
+ OpenAI::Models::Admin::Organization::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1120
+ optional(
1121
+ :api_source,
1122
+ enum: -> {
1123
+ OpenAI::Models::Admin::Organization::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::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::UsageFileSearchCallsResponse::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
@@ -196,6 +196,21 @@ module OpenAI
196
196
  # @return [String, nil]
197
197
  optional :api_key_id, String, nil?: true
198
198
 
199
+ # @!attribute api_source
200
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
201
+ # activity and `unlabeled` includes all records without published source
202
+ # attribution, including historical and unknown origins. Unlabeled does not imply
203
+ # direct API usage. Without source grouping, this field is null.
204
+ #
205
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
206
+ optional(
207
+ :api_source,
208
+ enum: -> {
209
+ OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationUsageCompletionsResult::APISource
210
+ },
211
+ nil?: true
212
+ )
213
+
199
214
  # @!attribute batch
200
215
  # When `group_by=batch`, this field tells whether the grouped usage result is
201
216
  # batch or not.
@@ -209,8 +224,16 @@ module OpenAI
209
224
  # @return [Integer, nil]
210
225
  optional :input_audio_tokens, Integer
211
226
 
227
+ # @!attribute input_cache_write_12h_tokens
228
+ # The aggregated number of input tokens written to the cache with a 12-hour
229
+ # retention period.
230
+ #
231
+ # @return [Integer, nil]
232
+ optional :input_cache_write_12h_tokens, Integer
233
+
212
234
  # @!attribute input_cache_write_tokens
213
- # The aggregated number of input tokens written to the cache.
235
+ # The aggregated number of input tokens written to the cache with a 30-minute
236
+ # retention period.
214
237
  #
215
238
  # @return [Integer, nil]
216
239
  optional :input_cache_write_tokens, Integer
@@ -306,7 +329,7 @@ module OpenAI
306
329
  # @return [String, nil]
307
330
  optional :user_id, String, nil?: true
308
331
 
309
- # @!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")
332
+ # @!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")
310
333
  # The aggregated completions usage details of the specific time bucket.
311
334
  #
312
335
  # @param input_tokens [Integer]
@@ -326,6 +349,12 @@ module OpenAI
326
349
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
327
350
  # usage result.
328
351
  #
352
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationUsageCompletionsResult::APISource, nil]
353
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
354
+ # activity and `unlabeled` includes all records without published source
355
+ # attribution, including historical and unknown origins. Unlabeled does not imply
356
+ # direct API usage. Without source grouping, this field is null.
357
+ #
329
358
  # @param batch [Boolean, nil]
330
359
  # When `group_by=batch`, this field tells whether the grouped usage result is
331
360
  # batch or not.
@@ -333,8 +362,13 @@ module OpenAI
333
362
  # @param input_audio_tokens [Integer]
334
363
  # The aggregated number of uncached audio input tokens used.
335
364
  #
365
+ # @param input_cache_write_12h_tokens [Integer]
366
+ # The aggregated number of input tokens written to the cache with a 12-hour
367
+ # retention period.
368
+ #
336
369
  # @param input_cache_write_tokens [Integer]
337
- # The aggregated number of input tokens written to the cache.
370
+ # The aggregated number of input tokens written to the cache with a 30-minute
371
+ # retention period.
338
372
  #
339
373
  # @param input_cached_audio_tokens [Integer]
340
374
  # The aggregated number of cached audio input tokens used.
@@ -386,6 +420,22 @@ module OpenAI
386
420
  # result.
387
421
  #
388
422
  # @param object [Symbol, :"organization.usage.completions.result"]
423
+
424
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
425
+ # activity and `unlabeled` includes all records without published source
426
+ # attribution, including historical and unknown origins. Unlabeled does not imply
427
+ # direct API usage. Without source grouping, this field is null.
428
+ #
429
+ # @see OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationUsageCompletionsResult#api_source
430
+ module APISource
431
+ extend OpenAI::Internal::Type::Enum
432
+
433
+ AGENTS_API = :agents_api
434
+ UNLABELED = :unlabeled
435
+
436
+ # @!method self.values
437
+ # @return [Array<Symbol>]
438
+ end
389
439
  end
390
440
 
391
441
  class OrganizationUsageEmbeddingsResult < OpenAI::Internal::Type::BaseModel
@@ -935,6 +985,21 @@ module OpenAI
935
985
  # @return [String, nil]
936
986
  optional :api_key_id, String, nil?: true
937
987
 
988
+ # @!attribute api_source
989
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
990
+ # activity and `unlabeled` includes all records without published source
991
+ # attribution, including historical and unknown origins. Unlabeled does not imply
992
+ # direct API usage. Without source grouping, this field is null.
993
+ #
994
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
995
+ optional(
996
+ :api_source,
997
+ enum: -> {
998
+ OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource
999
+ },
1000
+ nil?: true
1001
+ )
1002
+
938
1003
  # @!attribute context_level
939
1004
  # When `group_by=context_level`, this field provides the search context size of
940
1005
  # the grouped usage result.
@@ -963,7 +1028,7 @@ module OpenAI
963
1028
  # @return [String, nil]
964
1029
  optional :user_id, String, nil?: true
965
1030
 
966
- # @!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")
1031
+ # @!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")
967
1032
  # The aggregated web search calls usage details of the specific time bucket.
968
1033
  #
969
1034
  # @param num_model_requests [Integer]
@@ -976,6 +1041,12 @@ module OpenAI
976
1041
  # When `group_by=api_key_id`, this field provides the API key ID of the grouped
977
1042
  # usage result.
978
1043
  #
1044
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationUsageWebSearchesResult::APISource, nil]
1045
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1046
+ # activity and `unlabeled` includes all records without published source
1047
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1048
+ # direct API usage. Without source grouping, this field is null.
1049
+ #
979
1050
  # @param context_level [String, nil]
980
1051
  # When `group_by=context_level`, this field provides the search context size of
981
1052
  # the grouped usage result.
@@ -993,6 +1064,22 @@ module OpenAI
993
1064
  # result.
994
1065
  #
995
1066
  # @param object [Symbol, :"organization.usage.web_searches.result"]
1067
+
1068
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1069
+ # activity and `unlabeled` includes all records without published source
1070
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1071
+ # direct API usage. Without source grouping, this field is null.
1072
+ #
1073
+ # @see OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationUsageWebSearchesResult#api_source
1074
+ module APISource
1075
+ extend OpenAI::Internal::Type::Enum
1076
+
1077
+ AGENTS_API = :agents_api
1078
+ UNLABELED = :unlabeled
1079
+
1080
+ # @!method self.values
1081
+ # @return [Array<Symbol>]
1082
+ end
996
1083
  end
997
1084
 
998
1085
  class OrganizationCostsResult < OpenAI::Internal::Type::BaseModel
@@ -1019,6 +1106,21 @@ module OpenAI
1019
1106
  # @return [String, nil]
1020
1107
  optional :api_key_id, String, nil?: true
1021
1108
 
1109
+ # @!attribute api_source
1110
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1111
+ # activity and `unlabeled` includes all records without published source
1112
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1113
+ # direct API usage. Without source grouping, this field is null.
1114
+ #
1115
+ # @return [Symbol, OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1116
+ optional(
1117
+ :api_source,
1118
+ enum: -> {
1119
+ OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationCostsResult::APISource
1120
+ },
1121
+ nil?: true
1122
+ )
1123
+
1022
1124
  # @!attribute line_item
1023
1125
  # When `group_by=line_item`, this field provides the line item of the grouped
1024
1126
  # costs result.
@@ -1053,7 +1155,14 @@ module OpenAI
1053
1155
  nil?: true
1054
1156
  )
1055
1157
 
1056
- # @!method initialize(amount: nil, api_key_id: nil, line_item: nil, project_id: nil, quantity: nil, quantity_unit: nil, object: :"organization.costs.result")
1158
+ # @!attribute user_id
1159
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1160
+ # result.
1161
+ #
1162
+ # @return [String, nil]
1163
+ optional :user_id, String, nil?: true
1164
+
1165
+ # @!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")
1057
1166
  # The aggregated costs details of the specific time bucket.
1058
1167
  #
1059
1168
  # @param amount [OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationCostsResult::Amount]
@@ -1063,6 +1172,12 @@ module OpenAI
1063
1172
  # When `group_by=api_key_id`, this field provides the API Key ID of the grouped
1064
1173
  # costs result.
1065
1174
  #
1175
+ # @param api_source [Symbol, OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationCostsResult::APISource, nil]
1176
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1177
+ # activity and `unlabeled` includes all records without published source
1178
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1179
+ # direct API usage. Without source grouping, this field is null.
1180
+ #
1066
1181
  # @param line_item [String, nil]
1067
1182
  # When `group_by=line_item`, this field provides the line item of the grouped
1068
1183
  # costs result.
@@ -1079,6 +1194,10 @@ module OpenAI
1079
1194
  # The unit of the `quantity` value. If no single supported unit applies to the
1080
1195
  # result, this field is `null`.
1081
1196
  #
1197
+ # @param user_id [String, nil]
1198
+ # When `group_by=user_id`, this field provides the user ID of the grouped costs
1199
+ # result.
1200
+ #
1082
1201
  # @param object [Symbol, :"organization.costs.result"]
1083
1202
 
1084
1203
  # @see OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationCostsResult#amount
@@ -1104,6 +1223,22 @@ module OpenAI
1104
1223
  # @param value [Float]
1105
1224
  # The numeric value of the cost.
1106
1225
  end
1226
+
1227
+ # When grouped by `api_source`, `agents_api` identifies attributed Agents API
1228
+ # activity and `unlabeled` includes all records without published source
1229
+ # attribution, including historical and unknown origins. Unlabeled does not imply
1230
+ # direct API usage. Without source grouping, this field is null.
1231
+ #
1232
+ # @see OpenAI::Models::Admin::Organization::UsageImagesResponse::Data::Result::OrganizationCostsResult#api_source
1233
+ module APISource
1234
+ extend OpenAI::Internal::Type::Enum
1235
+
1236
+ AGENTS_API = :agents_api
1237
+ UNLABELED = :unlabeled
1238
+
1239
+ # @!method self.values
1240
+ # @return [Array<Symbol>]
1241
+ end
1107
1242
  end
1108
1243
 
1109
1244
  # @!method self.variants