openai 0.103.0 → 0.105.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 (407) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +98 -0
  3. data/README.md +23 -1
  4. data/lib/openai/client.rb +3 -386
  5. data/lib/openai/helpers/admin/organization/projects/api_keys.rb +42 -0
  6. data/lib/openai/helpers/agents/session_stream_resource.rb +60 -0
  7. data/lib/openai/helpers/beta/agents/artifacts.rb +18 -0
  8. data/lib/openai/helpers/beta/agents/files.rb +41 -0
  9. data/lib/openai/helpers/client_runtime.rb +391 -0
  10. data/lib/openai/helpers/files.rb +47 -0
  11. data/lib/openai/helpers/live/websocket.rb +8 -57
  12. data/lib/openai/helpers/models/chat/parsed.rb +32 -0
  13. data/lib/openai/helpers/models/responses/parsed.rb +30 -0
  14. data/lib/openai/helpers/models/responses/response.rb +32 -0
  15. data/lib/openai/helpers/models/webhooks/webhook_endpoint_with_secret.rb +20 -0
  16. data/lib/openai/helpers/realtime/client_extension.rb +1 -2
  17. data/lib/openai/helpers/realtime/connection_manager.rb +1 -1
  18. data/lib/openai/helpers/realtime/translation.rb +7 -50
  19. data/lib/openai/helpers/responses_websocket/client_extension.rb +1 -2
  20. data/lib/openai/helpers/streaming/chat_completion_resource.rb +36 -0
  21. data/lib/openai/helpers/streaming/response_stream.rb +1 -16
  22. data/lib/openai/helpers/streaming/response_stream_resource.rb +78 -0
  23. data/lib/openai/helpers/vector_stores/file_batches.rb +188 -0
  24. data/lib/openai/helpers/vector_stores/files.rb +198 -0
  25. data/lib/openai/helpers/websocket/client_request.rb +31 -6
  26. data/lib/openai/helpers/websocket/connection.rb +58 -0
  27. data/lib/openai/helpers/websocket/connection_manager.rb +4 -2
  28. data/lib/openai/helpers/websocket/protocol.rb +2 -1
  29. data/lib/openai/helpers/websocket/resource.rb +54 -0
  30. data/lib/openai/helpers/websocket/typed_connection.rb +95 -0
  31. data/lib/openai/helpers/websocket.rb +4 -0
  32. data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
  33. data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
  34. data/lib/openai/models/admin/organization/external_storage_create_params.rb +33 -3
  35. data/lib/openai/models/admin/organization/oci_external_storage_provider.rb +37 -0
  36. data/lib/openai/models/admin/organization/project_residency.rb +3 -0
  37. data/lib/openai/models/admin/organization/projects/api_key_update_params.rb +64 -0
  38. data/lib/openai/models/admin/organization/projects/api_key_update_scopes_params.rb +34 -0
  39. data/lib/openai/models/admin/organization/usage_decisions_params.rb +177 -0
  40. data/lib/openai/models/admin/organization/usage_decisions_response.rb +351 -0
  41. data/lib/openai/models/audio/speech_create_params.rb +6 -3
  42. data/lib/openai/models/audio/translation_create_response.rb +0 -1
  43. data/lib/openai/models/audio/voice.rb +17 -2
  44. data/lib/openai/models/audio/voice_create_params.rb +100 -3
  45. data/lib/openai/models/beta/agent_create_params.rb +4 -2
  46. data/lib/openai/models/beta/agent_list_params.rb +4 -4
  47. data/lib/openai/models/beta/agent_session.rb +37 -1
  48. data/lib/openai/models/beta/agent_update_params.rb +4 -2
  49. data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
  50. data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
  51. data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
  52. data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
  53. data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
  54. data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
  55. data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
  56. data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
  57. data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
  58. data/lib/openai/models/beta/beta_response.rb +23 -2
  59. data/lib/openai/models/beta/beta_response_error.rb +19 -1
  60. data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
  61. data/lib/openai/models/beta/beta_response_item.rb +107 -1
  62. data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
  63. data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
  64. data/lib/openai/models/beta/response_compact_params.rb +21 -0
  65. data/lib/openai/models/beta/response_create_params.rb +23 -2
  66. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  67. data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
  68. data/lib/openai/models/chat/chat_completion_message.rb +0 -8
  69. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
  70. data/lib/openai/models/chat/completion_create_params.rb +5 -12
  71. data/lib/openai/models/chat_model.rb +21 -0
  72. data/lib/openai/models/conversations/conversation_item.rb +107 -1
  73. data/lib/openai/models/decision.rb +17 -2
  74. data/lib/openai/models/decision_create_params.rb +29 -12
  75. data/lib/openai/models/decision_input_image.rb +4 -3
  76. data/lib/openai/models/decision_input_message.rb +4 -4
  77. data/lib/openai/models/decision_input_part.rb +3 -2
  78. data/lib/openai/models/image_edit_completed_event.rb +15 -3
  79. data/lib/openai/models/image_edit_params.rb +28 -5
  80. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  81. data/lib/openai/models/image_gen_completed_event.rb +15 -3
  82. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  83. data/lib/openai/models/image_generate_params.rb +28 -5
  84. data/lib/openai/models/images_response.rb +15 -3
  85. data/lib/openai/models/live/built_in_voice.rb +1 -0
  86. data/lib/openai/models/live/client_event.rb +14 -2
  87. data/lib/openai/models/live/decision_create_event.rb +26 -0
  88. data/lib/openai/models/live/decision_event.rb +117 -0
  89. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  90. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  91. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  92. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  93. data/lib/openai/models/live/decision_trigger.rb +244 -0
  94. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  95. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  96. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  97. data/lib/openai/models/live/fork_client_event.rb +14 -2
  98. data/lib/openai/models/live/fork_server_event.rb +17 -2
  99. data/lib/openai/models/live/media_session_config.rb +47 -11
  100. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  101. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  102. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  103. data/lib/openai/models/live/server_event.rb +17 -2
  104. data/lib/openai/models/live/session_accept_params.rb +47 -11
  105. data/lib/openai/models/live/session_config.rb +47 -11
  106. data/lib/openai/models/live/session_resource.rb +47 -11
  107. data/lib/openai/models/live/session_update_config.rb +38 -6
  108. data/lib/openai/models/live/session_update_event.rb +8 -8
  109. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  110. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  111. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  112. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  113. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  114. data/lib/openai/models/response_format_json_schema.rb +1 -1
  115. data/lib/openai/models/responses/function_tool.rb +8 -6
  116. data/lib/openai/models/responses/response.rb +2 -23
  117. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  118. data/lib/openai/models/responses/response_create_params.rb +3 -6
  119. data/lib/openai/models/responses/response_error.rb +19 -1
  120. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  121. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  122. data/lib/openai/models/responses/response_input_item.rb +107 -1
  123. data/lib/openai/models/responses/response_item.rb +107 -1
  124. data/lib/openai/models/responses/response_output_item.rb +107 -1
  125. data/lib/openai/models/responses/response_output_text.rb +0 -8
  126. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  127. data/lib/openai/models/safety/safety_alert.rb +12 -1
  128. data/lib/openai/models/video_create_error.rb +19 -1
  129. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
  130. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  131. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  132. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  133. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  134. data/lib/openai/resources/audio/speech.rb +2 -1
  135. data/lib/openai/resources/audio/voices.rb +10 -10
  136. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  137. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  138. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  139. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  140. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  141. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  142. data/lib/openai/resources/beta/agents.rb +6 -4
  143. data/lib/openai/resources/beta/responses.rb +2 -2
  144. data/lib/openai/resources/chat/completions.rb +11 -37
  145. data/lib/openai/resources/decisions.rb +9 -15
  146. data/lib/openai/resources/files.rb +0 -39
  147. data/lib/openai/resources/images.rb +50 -12
  148. data/lib/openai/resources/live/forks.rb +19 -0
  149. data/lib/openai/resources/live/sideband.rb +19 -0
  150. data/lib/openai/resources/live.rb +19 -0
  151. data/lib/openai/resources/realtime/translations.rb +19 -0
  152. data/lib/openai/resources/realtime.rb +19 -0
  153. data/lib/openai/resources/responses.rb +44 -95
  154. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  155. data/lib/openai/resources/vector_stores/files.rb +0 -188
  156. data/lib/openai/resources/webhooks.rb +13 -29
  157. data/lib/openai/version.rb +1 -1
  158. data/lib/openai.rb +31 -0
  159. data/rbi/openai/client.rbi +0 -103
  160. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  161. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  162. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  163. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  164. data/rbi/openai/helpers/files.rbi +25 -0
  165. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  166. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  167. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  168. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  169. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  170. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  171. data/rbi/openai/helpers/websocket.rbi +82 -0
  172. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  173. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  174. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  175. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  176. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  177. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  178. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  179. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  180. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  181. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  182. data/rbi/openai/models/audio/voice.rbi +21 -2
  183. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  184. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  185. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  186. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  187. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  188. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  189. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  190. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  191. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  192. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  193. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  194. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  195. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  196. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  197. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  198. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  199. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  200. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  201. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  202. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  203. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  204. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  205. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  206. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  207. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  208. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  209. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  210. data/rbi/openai/models/decision.rbi +14 -1
  211. data/rbi/openai/models/decision_create_params.rbi +23 -12
  212. data/rbi/openai/models/decision_input_image.rbi +4 -3
  213. data/rbi/openai/models/decision_input_message.rbi +4 -4
  214. data/rbi/openai/models/decision_input_part.rbi +2 -1
  215. data/rbi/openai/models/image_edit_completed_event.rbi +16 -1
  216. data/rbi/openai/models/image_edit_params.rbi +26 -4
  217. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  218. data/rbi/openai/models/image_gen_completed_event.rbi +16 -1
  219. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  220. data/rbi/openai/models/image_generate_params.rbi +26 -4
  221. data/rbi/openai/models/images_response.rbi +15 -0
  222. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  223. data/rbi/openai/models/live/client_event.rbi +4 -0
  224. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  225. data/rbi/openai/models/live/decision_event.rbi +185 -0
  226. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  227. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  228. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  229. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  230. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  231. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  232. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  233. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  234. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  235. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  236. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  237. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  238. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  239. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  240. data/rbi/openai/models/live/server_event.rbi +5 -0
  241. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  242. data/rbi/openai/models/live/session_config.rbi +100 -14
  243. data/rbi/openai/models/live/session_resource.rbi +81 -10
  244. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  245. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  246. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  247. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  248. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  249. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  250. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  251. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  252. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  253. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  254. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  255. data/rbi/openai/models/responses/response.rbi +2 -7
  256. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  257. data/rbi/openai/models/responses/response_error.rbi +24 -3
  258. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  259. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  260. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  261. data/rbi/openai/models/responses/response_item.rbi +189 -0
  262. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  263. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  264. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  265. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  266. data/rbi/openai/models/video_create_error.rbi +24 -3
  267. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
  268. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  269. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  270. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  271. data/rbi/openai/resources/audio/speech.rbi +2 -1
  272. data/rbi/openai/resources/audio/voices.rbi +13 -10
  273. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  274. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  275. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  276. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  277. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  278. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  279. data/rbi/openai/resources/beta/agents.rbi +6 -4
  280. data/rbi/openai/resources/beta/responses.rbi +2 -2
  281. data/rbi/openai/resources/chat/completions.rbi +26 -29
  282. data/rbi/openai/resources/decisions.rbi +9 -15
  283. data/rbi/openai/resources/files.rbi +0 -18
  284. data/rbi/openai/resources/images.rbi +44 -8
  285. data/rbi/openai/resources/live/forks.rbi +17 -0
  286. data/rbi/openai/resources/live/sideband.rbi +17 -0
  287. data/rbi/openai/resources/live.rbi +17 -0
  288. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  289. data/rbi/openai/resources/realtime.rbi +17 -0
  290. data/rbi/openai/resources/responses.rbi +41 -333
  291. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  292. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  293. data/rbi/openai/resources/webhooks.rbi +1 -1
  294. data/sig/openai/client.rbs +0 -50
  295. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  296. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  297. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  298. data/sig/openai/helpers/client_runtime.rbs +53 -0
  299. data/sig/openai/helpers/files.rbs +12 -0
  300. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  301. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  302. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  303. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  304. data/sig/openai/helpers/websocket.rbs +40 -0
  305. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  306. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  307. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  308. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  309. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  310. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  311. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  312. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  313. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  314. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  315. data/sig/openai/models/audio/voice.rbs +21 -3
  316. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  317. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  318. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  319. data/sig/openai/models/beta/agent_session.rbs +36 -2
  320. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  321. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  322. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  323. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  324. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  325. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  326. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  327. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  328. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  329. data/sig/openai/models/beta/beta_response.rbs +2 -2
  330. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  331. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  332. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  333. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  334. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  335. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  336. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  337. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  338. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  339. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  340. data/sig/openai/models/decision.rbs +13 -0
  341. data/sig/openai/models/decision_create_params.rbs +19 -8
  342. data/sig/openai/models/decision_input_image.rbs +2 -2
  343. data/sig/openai/models/decision_input_message.rbs +2 -2
  344. data/sig/openai/models/image_edit_completed_event.rbs +14 -2
  345. data/sig/openai/models/image_edit_params.rbs +27 -6
  346. data/sig/openai/models/image_gen_completed_event.rbs +14 -2
  347. data/sig/openai/models/image_generate_params.rbs +27 -6
  348. data/sig/openai/models/images_response.rbs +12 -0
  349. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  350. data/sig/openai/models/live/client_event.rbs +4 -0
  351. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  352. data/sig/openai/models/live/decision_event.rbs +102 -0
  353. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  354. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  355. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  356. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  357. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  358. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  359. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  360. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  361. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  362. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  363. data/sig/openai/models/live/media_session_config.rbs +58 -11
  364. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  365. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  366. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  367. data/sig/openai/models/live/server_event.rbs +5 -0
  368. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  369. data/sig/openai/models/live/session_config.rbs +58 -11
  370. data/sig/openai/models/live/session_resource.rbs +57 -10
  371. data/sig/openai/models/live/session_update_config.rbs +54 -3
  372. data/sig/openai/models/live/session_update_event.rbs +6 -6
  373. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  374. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  375. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  376. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  377. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  378. data/sig/openai/models/responses/response.rbs +2 -4
  379. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  380. data/sig/openai/models/responses/response_error.rbs +19 -3
  381. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  382. data/sig/openai/models/responses/response_item.rbs +110 -0
  383. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  384. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  385. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  386. data/sig/openai/models/video_create_error.rbs +19 -3
  387. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
  388. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  389. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  390. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  391. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  392. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  393. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  394. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  395. data/sig/openai/resources/beta/agents.rbs +1 -1
  396. data/sig/openai/resources/files.rbs +0 -7
  397. data/sig/openai/resources/images.rbs +4 -0
  398. data/sig/openai/resources/live/forks.rbs +8 -0
  399. data/sig/openai/resources/live/sideband.rbs +8 -0
  400. data/sig/openai/resources/live.rbs +7 -0
  401. data/sig/openai/resources/realtime/translations.rbs +7 -0
  402. data/sig/openai/resources/realtime.rbs +7 -0
  403. data/sig/openai/resources/responses.rbs +7 -31
  404. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  405. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  406. data/sig/openai/resources/webhooks.rbs +1 -1
  407. metadata +89 -1
@@ -29,7 +29,8 @@ module OpenAI
29
29
  # object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
30
30
  # voices are available in the
31
31
  # [Text to speech guide](https://developers.openai.com/api/docs/guides/text-to-speech#voice-options).
32
- # Custom voices must be created from audio samples.
32
+ # Custom voices must be created from audio samples. Voices created from text
33
+ # prompts are supported only in Live.
33
34
  #
34
35
  # @return [String, Symbol, OpenAI::Models::Audio::SpeechCreateParams::Voice::ID, OpenAI::Models::Audio::SpeechCreateParams::Voice]
35
36
  required :voice, union: -> { OpenAI::Audio::SpeechCreateParams::Voice }
@@ -78,7 +79,8 @@ module OpenAI
78
79
  # object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
79
80
  # voices are available in the
80
81
  # [Text to speech guide](https://developers.openai.com/api/docs/guides/text-to-speech#voice-options).
81
- # Custom voices must be created from audio samples.
82
+ # Custom voices must be created from audio samples. Voices created from text
83
+ # prompts are supported only in Live.
82
84
  #
83
85
  # @param instructions [String]
84
86
  # Control the voice of your generated audio with additional instructions. Does not
@@ -119,7 +121,8 @@ module OpenAI
119
121
  # object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the
120
122
  # voices are available in the
121
123
  # [Text to speech guide](https://developers.openai.com/api/docs/guides/text-to-speech#voice-options).
122
- # Custom voices must be created from audio samples.
124
+ # Custom voices must be created from audio samples. Voices created from text
125
+ # prompts are supported only in Live.
123
126
  module Voice
124
127
  extend OpenAI::Internal::Type::Union
125
128
 
@@ -11,7 +11,6 @@ module OpenAI
11
11
 
12
12
  variant -> { OpenAI::Audio::TranslationVerbose }
13
13
 
14
- # Text, SRT, and VTT responses retain the SDK's readable IO return value.
15
14
  variant StringIO
16
15
 
17
16
  # @!method self.variants
@@ -35,8 +35,17 @@ module OpenAI
35
35
  # @return [Symbol, OpenAI::Models::Audio::Voice::Type]
36
36
  required :type, enum: -> { OpenAI::Audio::Voice::Type }
37
37
 
38
- # @!method initialize(id:, created_at:, name:, type:, object: :"audio.voice")
39
- # A custom voice that can be used for audio output.
38
+ # @!attribute prompt
39
+ # The original text prompt used to create the voice. Present for prompt-generated
40
+ # voices with a stored prompt; omitted for audio-sample voices and older voices
41
+ # without a stored prompt.
42
+ #
43
+ # @return [String, nil]
44
+ optional :prompt, String
45
+
46
+ # @!method initialize(id:, created_at:, name:, type:, prompt: nil, object: :"audio.voice")
47
+ # A custom voice that can be used for audio output. Voices created from text
48
+ # prompts are supported only in Live.
40
49
  #
41
50
  # @param id [String]
42
51
  # The voice identifier, which can be referenced in API endpoints.
@@ -50,6 +59,11 @@ module OpenAI
50
59
  # @param type [Symbol, OpenAI::Models::Audio::Voice::Type]
51
60
  # How the voice was created.
52
61
  #
62
+ # @param prompt [String]
63
+ # The original text prompt used to create the voice. Present for prompt-generated
64
+ # voices with a stored prompt; omitted for audio-sample voices and older voices
65
+ # without a stored prompt.
66
+ #
53
67
  # @param object [Symbol, :"audio.voice"]
54
68
  # The object type, which is always `audio.voice`.
55
69
 
@@ -60,6 +74,7 @@ module OpenAI
60
74
  extend OpenAI::Internal::Type::Enum
61
75
 
62
76
  AUDIO_SAMPLE = :audio_sample
77
+ PROMPT = :prompt
63
78
 
64
79
  # @!method self.values
65
80
  # @return [Array<Symbol>]
@@ -12,11 +12,11 @@ module OpenAI
12
12
  # Creates a voice from a consent recording and an audio sample. Requires
13
13
  # multipart/form-data.
14
14
  #
15
- # @return [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample]
15
+ # @return [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt]
16
16
  required :body, union: -> { OpenAI::Audio::VoiceCreateParams::Body }
17
17
 
18
18
  # @!method initialize(body:, request_options: {})
19
- # @param body [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample]
19
+ # @param body [OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt]
20
20
  # Creates a voice from a consent recording and an audio sample. Requires
21
21
  # multipart/form-data.
22
22
  #
@@ -43,6 +43,9 @@ module OpenAI
43
43
  # Creates a voice from a consent recording and an audio sample. Requires multipart/form-data.
44
44
  variant :audio_sample, -> { OpenAI::Audio::VoiceCreateParams::Body::AudioSample }
45
45
 
46
+ # Creates a synthetic voice from a text description. Supports application/json or multipart/form-data.
47
+ variant :prompt, -> { OpenAI::Audio::VoiceCreateParams::Body::Prompt }
48
+
46
49
  class AudioSample < OpenAI::Internal::Type::BaseModel
47
50
  # @!attribute audio_sample
48
51
  # The sample audio recording file. Maximum size is 10 MiB.
@@ -111,8 +114,102 @@ module OpenAI
111
114
  end
112
115
  end
113
116
 
117
+ class Prompt < OpenAI::Internal::Type::BaseModel
118
+ # @!attribute name
119
+ # The name of the new voice.
120
+ #
121
+ # @return [String]
122
+ required :name, String
123
+
124
+ # @!attribute prompt
125
+ # A description of the desired voice. Must not contain only whitespace.
126
+ #
127
+ # @return [String]
128
+ required :prompt, String
129
+
130
+ # @!attribute type
131
+ # Set to `prompt` to create a voice from a text description.
132
+ #
133
+ # @return [Symbol, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Type]
134
+ required :type, enum: -> { OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type }
135
+
136
+ # @!attribute model
137
+ # The voice creation model to use. Defaults to `auto`.
138
+ #
139
+ # @return [String, Symbol, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Model, nil]
140
+ optional :model, union: -> { OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model }
141
+
142
+ # @!attribute script_hint
143
+ # Optional text for the voice to speak during creation. If omitted, a script is
144
+ # generated from the prompt. Must not be blank after trimming whitespace; scripts
145
+ # that are too short are rejected.
146
+ #
147
+ # @return [String, nil]
148
+ optional :script_hint, String
149
+
150
+ # @!method initialize(name:, prompt:, type:, model: nil, script_hint: nil)
151
+ # Creates a synthetic voice from a text description. Supports application/json or
152
+ # multipart/form-data.
153
+ #
154
+ # @param name [String]
155
+ # The name of the new voice.
156
+ #
157
+ # @param prompt [String]
158
+ # A description of the desired voice. Must not contain only whitespace.
159
+ #
160
+ # @param type [Symbol, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Type]
161
+ # Set to `prompt` to create a voice from a text description.
162
+ #
163
+ # @param model [String, Symbol, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Model]
164
+ # The voice creation model to use. Defaults to `auto`.
165
+ #
166
+ # @param script_hint [String]
167
+ # Optional text for the voice to speak during creation. If omitted, a script is
168
+ # generated from the prompt. Must not be blank after trimming whitespace; scripts
169
+ # that are too short are rejected.
170
+
171
+ # Set to `prompt` to create a voice from a text description.
172
+ #
173
+ # @see OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt#type
174
+ module Type
175
+ extend OpenAI::Internal::Type::Enum
176
+
177
+ PROMPT = :prompt
178
+
179
+ # @!method self.values
180
+ # @return [Array<Symbol>]
181
+ end
182
+
183
+ # The voice creation model to use. Defaults to `auto`.
184
+ #
185
+ # @see OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt#model
186
+ module Model
187
+ extend OpenAI::Internal::Type::Union
188
+
189
+ variant String
190
+
191
+ variant const: -> { OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Model::AUTO }
192
+
193
+ variant const: -> { OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::Model::MODEL_2026_10_08 }
194
+
195
+ # @!method self.variants
196
+ # @return [Array(String, Symbol)]
197
+
198
+ define_sorbet_constant!(:Variants) do
199
+ T.type_alias { T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::TaggedSymbol) }
200
+ end
201
+
202
+ # @!group
203
+
204
+ AUTO = :auto
205
+ MODEL_2026_10_08 = :"2026-10-08"
206
+
207
+ # @!endgroup
208
+ end
209
+ end
210
+
114
211
  # @!method self.variants
115
- # @return [Array(OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample)]
212
+ # @return [Array(OpenAI::Models::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt)]
116
213
  end
117
214
  end
118
215
  end
@@ -61,7 +61,8 @@ module OpenAI
61
61
  optional :text, -> { OpenAI::Beta::AgentTextParam }, nil?: true
62
62
 
63
63
  # @!attribute tools
64
- # Tools available to the agent. Defaults to an empty list.
64
+ # Tools available to the agent. Defaults to an empty list. The tool list must fit
65
+ # within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
65
66
  #
66
67
  # @return [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
67
68
  optional(
@@ -100,7 +101,8 @@ module OpenAI
100
101
  # verbosity.
101
102
  #
102
103
  # @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
103
- # Tools available to the agent. Defaults to an empty list.
104
+ # Tools available to the agent. Defaults to an empty list. The tool list must fit
105
+ # within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
104
106
  #
105
107
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
106
108
 
@@ -15,10 +15,10 @@ module OpenAI
15
15
  optional :after, String
16
16
 
17
17
  # @!attribute limit
18
- # The maximum number of resources to return.
18
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
19
19
  #
20
20
  # @return [Integer, nil]
21
- optional :limit, Integer, nil?: true
21
+ optional :limit, Integer
22
22
 
23
23
  # @!attribute order
24
24
  # The order in which resources are returned. Defaults to `desc`.
@@ -30,8 +30,8 @@ module OpenAI
30
30
  # @param after [String]
31
31
  # Return resources after this resource ID in the selected order.
32
32
  #
33
- # @param limit [Integer, nil]
34
- # The maximum number of resources to return.
33
+ # @param limit [Integer]
34
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
35
35
  #
36
36
  # @param order [Symbol, OpenAI::Models::Beta::AgentListParams::Order]
37
37
  # The order in which resources are returned. Defaults to `desc`.
@@ -80,7 +80,14 @@ module OpenAI
80
80
  # @return [Array<String>]
81
81
  required :vault_ids, OpenAI::Internal::Type::ArrayOf[String]
82
82
 
83
- # @!method initialize(id:, agent:, created_at:, environment:, error:, last_active_at:, metadata:, required_actions:, status:, usage:, vault_ids:, object: :"agent.session")
83
+ # @!attribute spend_control
84
+ # Configured spending limit and best-effort consumption, in USD cents. Unlimited
85
+ # sessions omit this object.
86
+ #
87
+ # @return [OpenAI::Models::Beta::AgentSession::SpendControl, nil]
88
+ optional :spend_control, -> { OpenAI::Beta::AgentSession::SpendControl }
89
+
90
+ # @!method initialize(id:, agent:, created_at:, environment:, error:, last_active_at:, metadata:, required_actions:, status:, usage:, vault_ids:, spend_control: nil, object: :"agent.session")
84
91
  # A Managed Agents session.
85
92
  #
86
93
  # @param id [String]
@@ -117,6 +124,10 @@ module OpenAI
117
124
  # @param vault_ids [Array<String>]
118
125
  # The IDs of vaults made available to the session.
119
126
  #
127
+ # @param spend_control [OpenAI::Models::Beta::AgentSession::SpendControl]
128
+ # Configured spending limit and best-effort consumption, in USD cents. Unlimited
129
+ # sessions omit this object.
130
+ #
120
131
  # @param object [Symbol, :"agent.session"]
121
132
  # The object type. Always `agent.session`.
122
133
 
@@ -582,6 +593,31 @@ module OpenAI
582
593
  # @!method self.values
583
594
  # @return [Array<Symbol>]
584
595
  end
596
+
597
+ # @see OpenAI::Models::Beta::AgentSession#spend_control
598
+ class SpendControl < OpenAI::Internal::Type::BaseModel
599
+ # @!attribute consumed
600
+ # Best-effort recorded spend floored to whole USD cents, or null when unavailable.
601
+ #
602
+ # @return [Integer, nil]
603
+ required :consumed, Integer, nil?: true
604
+
605
+ # @!attribute limit
606
+ # The configured positive limit in USD cents.
607
+ #
608
+ # @return [Integer]
609
+ required :limit, Integer
610
+
611
+ # @!method initialize(consumed:, limit:)
612
+ # Configured spending limit and best-effort consumption, in USD cents. Unlimited
613
+ # sessions omit this object.
614
+ #
615
+ # @param consumed [Integer, nil]
616
+ # Best-effort recorded spend floored to whole USD cents, or null when unavailable.
617
+ #
618
+ # @param limit [Integer]
619
+ # The configured positive limit in USD cents.
620
+ end
585
621
  end
586
622
  end
587
623
  end
@@ -66,7 +66,8 @@ module OpenAI
66
66
  optional :text, -> { OpenAI::Beta::AgentTextParam }, nil?: true
67
67
 
68
68
  # @!attribute tools
69
- # Tools available to the agent.
69
+ # Replaces the tool list. Omit to leave it unchanged, or pass null to clear it.
70
+ # The replacement must fit within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
70
71
  #
71
72
  # @return [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
72
73
  optional(
@@ -107,7 +108,8 @@ module OpenAI
107
108
  # Configuration for text generated by the agent.
108
109
  #
109
110
  # @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
110
- # Tools available to the agent.
111
+ # Replaces the tool list. Omit to leave it unchanged, or pass null to clear it.
112
+ # The replacement must fit within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
111
113
  #
112
114
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
113
115
 
@@ -10,19 +10,19 @@ module OpenAI
10
10
  include OpenAI::Internal::Type::RequestParameters
11
11
 
12
12
  # @!attribute after
13
- # Return environments after this environment ID in the selected order.
13
+ # Return resources after this resource ID in the selected order.
14
14
  #
15
15
  # @return [String, nil]
16
16
  optional :after, String
17
17
 
18
18
  # @!attribute limit
19
- # The maximum number of environments to return, between 1 and 100. Defaults to 20.
19
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
20
20
  #
21
21
  # @return [Integer, nil]
22
22
  optional :limit, Integer
23
23
 
24
24
  # @!attribute order
25
- # The order in which environments are returned. Defaults to `desc`.
25
+ # The order in which resources are returned. Defaults to `desc`.
26
26
  #
27
27
  # @return [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Order, nil]
28
28
  optional :order, enum: -> { OpenAI::Beta::Agents::EnvironmentListParams::Order }
@@ -35,20 +35,20 @@ module OpenAI
35
35
 
36
36
  # @!method initialize(after: nil, limit: nil, order: nil, type: nil, request_options: {})
37
37
  # @param after [String]
38
- # Return environments after this environment ID in the selected order.
38
+ # Return resources after this resource ID in the selected order.
39
39
  #
40
40
  # @param limit [Integer]
41
- # The maximum number of environments to return, between 1 and 100. Defaults to 20.
41
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
42
42
  #
43
43
  # @param order [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Order]
44
- # The order in which environments are returned. Defaults to `desc`.
44
+ # The order in which resources are returned. Defaults to `desc`.
45
45
  #
46
46
  # @param type [Symbol, OpenAI::Models::Beta::Agents::EnvironmentListParams::Type]
47
47
  # The hosting type to list. Defaults to `openai_hosted`.
48
48
  #
49
49
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
50
50
 
51
- # The order in which environments are returned. Defaults to `desc`.
51
+ # The order in which resources are returned. Defaults to `desc`.
52
52
  module Order
53
53
  extend OpenAI::Internal::Type::Enum
54
54
 
@@ -47,13 +47,26 @@ module OpenAI
47
47
  # @return [Hash{Symbol=>String}, nil]
48
48
  optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
49
49
 
50
+ # @!attribute spend_control
51
+ # Optional spending limit in USD cents. Omission or null creates an unlimited
52
+ # session.
53
+ #
54
+ # @return [OpenAI::Models::Beta::Agents::SessionCreateParams::SpendControl, nil]
55
+ optional(
56
+ :spend_control,
57
+ -> {
58
+ OpenAI::Beta::Agents::SessionCreateParams::SpendControl
59
+ },
60
+ nil?: true
61
+ )
62
+
50
63
  # @!attribute vault_ids
51
64
  # The IDs of vaults made available to the session.
52
65
  #
53
66
  # @return [Array<String>, nil]
54
67
  optional :vault_ids, OpenAI::Internal::Type::ArrayOf[String], nil?: true
55
68
 
56
- # @!method initialize(environment:, agent: nil, agent_id: nil, input: nil, metadata: nil, vault_ids: nil, request_options: {})
69
+ # @!method initialize(environment:, agent: nil, agent_id: nil, input: nil, metadata: nil, spend_control: nil, vault_ids: nil, request_options: {})
57
70
  # @param environment [OpenAI::Models::Beta::EnvironmentParam::None, OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted, OpenAI::Models::Beta::EnvironmentParam::SelfHosted]
58
71
  # An inline execution environment or a reference to an environment template.
59
72
  #
@@ -75,6 +88,10 @@ module OpenAI
75
88
  # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
76
89
  # characters. Omission or null defaults to an empty map.
77
90
  #
91
+ # @param spend_control [OpenAI::Models::Beta::Agents::SessionCreateParams::SpendControl, nil]
92
+ # Optional spending limit in USD cents. Omission or null creates an unlimited
93
+ # session.
94
+ #
78
95
  # @param vault_ids [Array<String>, nil]
79
96
  # The IDs of vaults made available to the session.
80
97
  #
@@ -124,7 +141,9 @@ module OpenAI
124
141
  optional :text, -> { OpenAI::Beta::AgentTextParam }, nil?: true
125
142
 
126
143
  # @!attribute tools
127
- # Tools available to the agent. Omit to inherit, or pass null to clear them.
144
+ # Tools available to the agent. Omit to inherit, or pass null to clear them. The
145
+ # resolved tool list must fit within 3 MiB (3,145,728 bytes) of compact UTF-8
146
+ # JSON.
128
147
  #
129
148
  # @return [Array<OpenAI::Models::Beta::AgentToolParam::Function, OpenAI::Models::Beta::AgentToolParam::ToolSearch, OpenAI::Models::Beta::AgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentToolParam::Mcp, OpenAI::Models::Beta::AgentToolParam::WebSearch, OpenAI::Models::Beta::AgentToolParam::ComputerUse>, nil]
130
149
  optional(
@@ -160,7 +179,9 @@ module OpenAI
160
179
  # Configuration for text generated by the agent.
161
180
  #
162
181
  # @param tools [Array<OpenAI::Models::Beta::AgentToolParam::Function, OpenAI::Models::Beta::AgentToolParam::ToolSearch, OpenAI::Models::Beta::AgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentToolParam::Mcp, OpenAI::Models::Beta::AgentToolParam::WebSearch, OpenAI::Models::Beta::AgentToolParam::ComputerUse>, nil]
163
- # Tools available to the agent. Omit to inherit, or pass null to clear them.
182
+ # Tools available to the agent. Omit to inherit, or pass null to clear them. The
183
+ # resolved tool list must fit within 3 MiB (3,145,728 bytes) of compact UTF-8
184
+ # JSON.
164
185
 
165
186
  # The service tier used for model requests.
166
187
  #
@@ -207,6 +228,21 @@ module OpenAI
207
228
  -> { OpenAI::Beta::AgentSessionInputMessageParam }
208
229
  ]
209
230
  end
231
+
232
+ class SpendControl < OpenAI::Internal::Type::BaseModel
233
+ # @!attribute limit
234
+ # Positive USD cents, or null to remove the limit.
235
+ #
236
+ # @return [Integer, nil]
237
+ required :limit, Integer, nil?: true
238
+
239
+ # @!method initialize(limit:)
240
+ # Optional spending limit in USD cents. Omission or null creates an unlimited
241
+ # session.
242
+ #
243
+ # @param limit [Integer, nil]
244
+ # Positive USD cents, or null to remove the limit.
245
+ end
210
246
  end
211
247
  end
212
248
  end
@@ -23,14 +23,13 @@ module OpenAI
23
23
  optional :agent_id, String
24
24
 
25
25
  # @!attribute limit
26
- # The maximum number of resources to return.
26
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
27
27
  #
28
28
  # @return [Integer, nil]
29
- optional :limit, Integer, nil?: true
29
+ optional :limit, Integer
30
30
 
31
31
  # @!attribute order
32
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
33
- # `desc` for descending order. Defaults to `desc`.
32
+ # The order in which resources are returned. Defaults to `desc`.
34
33
  #
35
34
  # @return [Symbol, OpenAI::Models::Beta::Agents::SessionListParams::Order, nil]
36
35
  optional :order, enum: -> { OpenAI::Beta::Agents::SessionListParams::Order }
@@ -43,17 +42,15 @@ module OpenAI
43
42
  # Only return sessions whose root agent has this ID. Omit to return sessions for
44
43
  # all agents.
45
44
  #
46
- # @param limit [Integer, nil]
47
- # The maximum number of resources to return.
45
+ # @param limit [Integer]
46
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
48
47
  #
49
48
  # @param order [Symbol, OpenAI::Models::Beta::Agents::SessionListParams::Order]
50
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
51
- # `desc` for descending order. Defaults to `desc`.
49
+ # The order in which resources are returned. Defaults to `desc`.
52
50
  #
53
51
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
54
52
 
55
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
56
- # `desc` for descending order. Defaults to `desc`.
53
+ # The order in which resources are returned. Defaults to `desc`.
57
54
  module Order
58
55
  extend OpenAI::Internal::Type::Enum
59
56
 
@@ -28,7 +28,20 @@ module OpenAI
28
28
  # @return [Hash{Symbol=>String}, nil]
29
29
  optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
30
30
 
31
- # @!method initialize(session_id:, agent: nil, metadata: nil, request_options: {})
31
+ # @!attribute spend_control
32
+ # Omit to retain the limit; null or a null limit removes it without resetting
33
+ # spend.
34
+ #
35
+ # @return [OpenAI::Models::Beta::Agents::SessionUpdateParams::SpendControl, nil]
36
+ optional(
37
+ :spend_control,
38
+ -> {
39
+ OpenAI::Beta::Agents::SessionUpdateParams::SpendControl
40
+ },
41
+ nil?: true
42
+ )
43
+
44
+ # @!method initialize(session_id:, agent: nil, metadata: nil, spend_control: nil, request_options: {})
32
45
  # @param session_id [String]
33
46
  #
34
47
  # @param agent [OpenAI::Models::Beta::Agents::SessionUpdateParams::Agent]
@@ -39,6 +52,10 @@ module OpenAI
39
52
  # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
40
53
  # characters.
41
54
  #
55
+ # @param spend_control [OpenAI::Models::Beta::Agents::SessionUpdateParams::SpendControl, nil]
56
+ # Omit to retain the limit; null or a null limit removes it without resetting
57
+ # spend.
58
+ #
42
59
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
43
60
 
44
61
  class Agent < OpenAI::Internal::Type::BaseModel
@@ -138,6 +155,21 @@ module OpenAI
138
155
  # @return [Array<Symbol>]
139
156
  end
140
157
  end
158
+
159
+ class SpendControl < OpenAI::Internal::Type::BaseModel
160
+ # @!attribute limit
161
+ # Positive USD cents, or null to remove the limit.
162
+ #
163
+ # @return [Integer, nil]
164
+ required :limit, Integer, nil?: true
165
+
166
+ # @!method initialize(limit:)
167
+ # Omit to retain the limit; null or a null limit removes it without resetting
168
+ # spend.
169
+ #
170
+ # @param limit [Integer, nil]
171
+ # Positive USD cents, or null to remove the limit.
172
+ end
141
173
  end
142
174
  end
143
175
  end
@@ -16,10 +16,10 @@ module OpenAI
16
16
  required :session_id, String
17
17
 
18
18
  # @!attribute after
19
- # Return artifacts after this immutable artifact ID.
19
+ # Return resources after this resource ID in the selected order.
20
20
  #
21
21
  # @return [String, nil]
22
- optional :after, String, nil?: true
22
+ optional :after, String
23
23
 
24
24
  # @!attribute environment_id
25
25
  # Restrict the listing to artifacts produced by this environment.
@@ -28,13 +28,13 @@ module OpenAI
28
28
  optional :environment_id, String, nil?: true
29
29
 
30
30
  # @!attribute limit
31
- # The maximum number of artifacts to return, between 1 and 100.
31
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
32
32
  #
33
33
  # @return [Integer, nil]
34
- optional :limit, Integer, nil?: true
34
+ optional :limit, Integer
35
35
 
36
36
  # @!attribute order
37
- # Sort by creation time and ID. Defaults to descending.
37
+ # The order in which resources are returned. Defaults to `desc`.
38
38
  #
39
39
  # @return [Symbol, OpenAI::Models::Beta::Agents::Sessions::ArtifactListParams::Order, nil]
40
40
  optional :order, enum: -> { OpenAI::Beta::Agents::Sessions::ArtifactListParams::Order }
@@ -42,21 +42,21 @@ module OpenAI
42
42
  # @!method initialize(session_id:, after: nil, environment_id: nil, limit: nil, order: nil, request_options: {})
43
43
  # @param session_id [String]
44
44
  #
45
- # @param after [String, nil]
46
- # Return artifacts after this immutable artifact ID.
45
+ # @param after [String]
46
+ # Return resources after this resource ID in the selected order.
47
47
  #
48
48
  # @param environment_id [String, nil]
49
49
  # Restrict the listing to artifacts produced by this environment.
50
50
  #
51
- # @param limit [Integer, nil]
52
- # The maximum number of artifacts to return, between 1 and 100.
51
+ # @param limit [Integer]
52
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
53
53
  #
54
54
  # @param order [Symbol, OpenAI::Models::Beta::Agents::Sessions::ArtifactListParams::Order]
55
- # Sort by creation time and ID. Defaults to descending.
55
+ # The order in which resources are returned. Defaults to `desc`.
56
56
  #
57
57
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
58
58
 
59
- # Sort by creation time and ID. Defaults to descending.
59
+ # The order in which resources are returned. Defaults to `desc`.
60
60
  module Order
61
61
  extend OpenAI::Internal::Type::Enum
62
62