openai 0.103.0 → 0.104.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 (395) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -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 +1 -2
  79. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  80. data/lib/openai/models/image_gen_completed_event.rb +1 -2
  81. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  82. data/lib/openai/models/images_response.rb +1 -2
  83. data/lib/openai/models/live/built_in_voice.rb +1 -0
  84. data/lib/openai/models/live/client_event.rb +14 -2
  85. data/lib/openai/models/live/decision_create_event.rb +26 -0
  86. data/lib/openai/models/live/decision_event.rb +117 -0
  87. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  88. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  89. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  90. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  91. data/lib/openai/models/live/decision_trigger.rb +244 -0
  92. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  93. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  94. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  95. data/lib/openai/models/live/fork_client_event.rb +14 -2
  96. data/lib/openai/models/live/fork_server_event.rb +17 -2
  97. data/lib/openai/models/live/media_session_config.rb +47 -11
  98. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  99. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  100. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  101. data/lib/openai/models/live/server_event.rb +17 -2
  102. data/lib/openai/models/live/session_accept_params.rb +47 -11
  103. data/lib/openai/models/live/session_config.rb +47 -11
  104. data/lib/openai/models/live/session_resource.rb +47 -11
  105. data/lib/openai/models/live/session_update_config.rb +38 -6
  106. data/lib/openai/models/live/session_update_event.rb +8 -8
  107. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  108. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  109. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  110. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  111. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  112. data/lib/openai/models/response_format_json_schema.rb +1 -1
  113. data/lib/openai/models/responses/function_tool.rb +8 -6
  114. data/lib/openai/models/responses/response.rb +2 -23
  115. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  116. data/lib/openai/models/responses/response_create_params.rb +3 -6
  117. data/lib/openai/models/responses/response_error.rb +19 -1
  118. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  119. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  120. data/lib/openai/models/responses/response_input_item.rb +107 -1
  121. data/lib/openai/models/responses/response_item.rb +107 -1
  122. data/lib/openai/models/responses/response_output_item.rb +107 -1
  123. data/lib/openai/models/responses/response_output_text.rb +0 -8
  124. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  125. data/lib/openai/models/safety/safety_alert.rb +12 -1
  126. data/lib/openai/models/video_create_error.rb +19 -1
  127. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
  128. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  129. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  130. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  131. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  132. data/lib/openai/resources/audio/speech.rb +2 -1
  133. data/lib/openai/resources/audio/voices.rb +10 -10
  134. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  135. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  136. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  137. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  138. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  139. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  140. data/lib/openai/resources/beta/agents.rb +6 -4
  141. data/lib/openai/resources/beta/responses.rb +2 -2
  142. data/lib/openai/resources/chat/completions.rb +11 -37
  143. data/lib/openai/resources/decisions.rb +9 -15
  144. data/lib/openai/resources/files.rb +0 -39
  145. data/lib/openai/resources/live/forks.rb +19 -0
  146. data/lib/openai/resources/live/sideband.rb +19 -0
  147. data/lib/openai/resources/live.rb +19 -0
  148. data/lib/openai/resources/realtime/translations.rb +19 -0
  149. data/lib/openai/resources/realtime.rb +19 -0
  150. data/lib/openai/resources/responses.rb +44 -95
  151. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  152. data/lib/openai/resources/vector_stores/files.rb +0 -188
  153. data/lib/openai/resources/webhooks.rb +13 -29
  154. data/lib/openai/version.rb +1 -1
  155. data/lib/openai.rb +31 -0
  156. data/rbi/openai/client.rbi +0 -103
  157. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  158. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  159. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  160. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  161. data/rbi/openai/helpers/files.rbi +25 -0
  162. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  163. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  164. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  165. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  166. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  167. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  168. data/rbi/openai/helpers/websocket.rbi +82 -0
  169. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  170. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  171. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  172. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  173. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  174. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  175. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  176. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  177. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  178. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  179. data/rbi/openai/models/audio/voice.rbi +21 -2
  180. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  181. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  182. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  183. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  184. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  185. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  186. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  187. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  188. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  189. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  190. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  191. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  192. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  193. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  194. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  195. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  196. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  197. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  198. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  199. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  200. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  201. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  202. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  203. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  204. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  205. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  206. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  207. data/rbi/openai/models/decision.rbi +14 -1
  208. data/rbi/openai/models/decision_create_params.rbi +23 -12
  209. data/rbi/openai/models/decision_input_image.rbi +4 -3
  210. data/rbi/openai/models/decision_input_message.rbi +4 -4
  211. data/rbi/openai/models/decision_input_part.rbi +2 -1
  212. data/rbi/openai/models/image_edit_completed_event.rbi +1 -0
  213. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  214. data/rbi/openai/models/image_gen_completed_event.rbi +1 -0
  215. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  216. data/rbi/openai/models/images_response.rbi +1 -0
  217. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  218. data/rbi/openai/models/live/client_event.rbi +4 -0
  219. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  220. data/rbi/openai/models/live/decision_event.rbi +185 -0
  221. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  222. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  223. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  224. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  225. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  226. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  227. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  228. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  229. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  230. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  231. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  232. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  233. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  234. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  235. data/rbi/openai/models/live/server_event.rbi +5 -0
  236. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  237. data/rbi/openai/models/live/session_config.rbi +100 -14
  238. data/rbi/openai/models/live/session_resource.rbi +81 -10
  239. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  240. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  241. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  242. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  243. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  244. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  245. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  246. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  247. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  248. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  249. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  250. data/rbi/openai/models/responses/response.rbi +2 -7
  251. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  252. data/rbi/openai/models/responses/response_error.rbi +24 -3
  253. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  254. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  255. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  256. data/rbi/openai/models/responses/response_item.rbi +189 -0
  257. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  258. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  259. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  260. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  261. data/rbi/openai/models/video_create_error.rbi +24 -3
  262. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
  263. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  264. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  265. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  266. data/rbi/openai/resources/audio/speech.rbi +2 -1
  267. data/rbi/openai/resources/audio/voices.rbi +13 -10
  268. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  269. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  270. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  271. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  272. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  273. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  274. data/rbi/openai/resources/beta/agents.rbi +6 -4
  275. data/rbi/openai/resources/beta/responses.rbi +2 -2
  276. data/rbi/openai/resources/chat/completions.rbi +26 -29
  277. data/rbi/openai/resources/decisions.rbi +9 -15
  278. data/rbi/openai/resources/files.rbi +0 -18
  279. data/rbi/openai/resources/live/forks.rbi +17 -0
  280. data/rbi/openai/resources/live/sideband.rbi +17 -0
  281. data/rbi/openai/resources/live.rbi +17 -0
  282. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  283. data/rbi/openai/resources/realtime.rbi +17 -0
  284. data/rbi/openai/resources/responses.rbi +41 -333
  285. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  286. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  287. data/rbi/openai/resources/webhooks.rbi +1 -1
  288. data/sig/openai/client.rbs +0 -50
  289. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  290. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  291. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  292. data/sig/openai/helpers/client_runtime.rbs +53 -0
  293. data/sig/openai/helpers/files.rbs +12 -0
  294. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  295. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  296. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  297. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  298. data/sig/openai/helpers/websocket.rbs +40 -0
  299. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  300. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  301. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  302. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  303. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  304. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  305. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  306. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  307. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  308. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  309. data/sig/openai/models/audio/voice.rbs +21 -3
  310. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  311. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  312. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  313. data/sig/openai/models/beta/agent_session.rbs +36 -2
  314. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  315. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  316. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  317. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  318. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  319. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  320. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  321. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  322. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  323. data/sig/openai/models/beta/beta_response.rbs +2 -2
  324. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  325. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  326. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  327. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  328. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  329. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  330. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  331. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  332. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  333. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  334. data/sig/openai/models/decision.rbs +13 -0
  335. data/sig/openai/models/decision_create_params.rbs +19 -8
  336. data/sig/openai/models/decision_input_image.rbs +2 -2
  337. data/sig/openai/models/decision_input_message.rbs +2 -2
  338. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  339. data/sig/openai/models/live/client_event.rbs +4 -0
  340. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  341. data/sig/openai/models/live/decision_event.rbs +102 -0
  342. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  343. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  344. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  345. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  346. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  347. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  348. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  349. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  350. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  351. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  352. data/sig/openai/models/live/media_session_config.rbs +58 -11
  353. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  354. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  355. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  356. data/sig/openai/models/live/server_event.rbs +5 -0
  357. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  358. data/sig/openai/models/live/session_config.rbs +58 -11
  359. data/sig/openai/models/live/session_resource.rbs +57 -10
  360. data/sig/openai/models/live/session_update_config.rbs +54 -3
  361. data/sig/openai/models/live/session_update_event.rbs +6 -6
  362. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  363. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  364. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  365. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  366. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  367. data/sig/openai/models/responses/response.rbs +2 -4
  368. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  369. data/sig/openai/models/responses/response_error.rbs +19 -3
  370. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  371. data/sig/openai/models/responses/response_item.rbs +110 -0
  372. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  373. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  374. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  375. data/sig/openai/models/video_create_error.rbs +19 -3
  376. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
  377. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  378. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  379. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  380. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  381. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  382. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  383. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  384. data/sig/openai/resources/beta/agents.rbs +1 -1
  385. data/sig/openai/resources/files.rbs +0 -7
  386. data/sig/openai/resources/live/forks.rbs +8 -0
  387. data/sig/openai/resources/live/sideband.rbs +8 -0
  388. data/sig/openai/resources/live.rbs +7 -0
  389. data/sig/openai/resources/realtime/translations.rbs +7 -0
  390. data/sig/openai/resources/realtime.rbs +7 -0
  391. data/sig/openai/resources/responses.rbs +7 -31
  392. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  393. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  394. data/sig/openai/resources/webhooks.rbs +1 -1
  395. metadata +89 -1
@@ -28,7 +28,9 @@ module OpenAI
28
28
  ?request_options: OpenAI::RequestOptions
29
29
  }
30
30
 
31
- type body = OpenAI::Audio::VoiceCreateParams::Body::AudioSample
31
+ type body =
32
+ OpenAI::Audio::VoiceCreateParams::Body::AudioSample
33
+ | OpenAI::Audio::VoiceCreateParams::Body::Prompt
32
34
 
33
35
  module Body
34
36
  extend OpenAI::Internal::Type::Union
@@ -106,6 +108,93 @@ module OpenAI
106
108
  end
107
109
  end
108
110
 
111
+ type prompt =
112
+ {
113
+ name: String,
114
+ prompt: String,
115
+ type: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::type_,
116
+ ?model: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::model,
117
+ ?script_hint: String
118
+ }
119
+
120
+ class Prompt < OpenAI::Internal::Type::BaseModel
121
+ # The name of the new voice.
122
+ attr_accessor name: String
123
+
124
+ # A description of the desired voice. Must not contain only whitespace.
125
+ attr_accessor prompt: String
126
+
127
+ # Set to `prompt` to create a voice from a text description.
128
+ attr_accessor type: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::type_
129
+
130
+ # The voice creation model to use. Defaults to `auto`.
131
+ attr_reader model: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::model?
132
+
133
+ # The voice creation model to use. Defaults to `auto`.
134
+ def model=: (
135
+ OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::model
136
+ ) -> OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::model
137
+
138
+ # Optional text for the voice to speak during creation. If omitted, a script is
139
+ # generated from the prompt. Must not be blank after trimming whitespace; scripts
140
+ # that are too short are rejected.
141
+ attr_reader script_hint: String?
142
+
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
+ def script_hint=: (String) -> String
147
+
148
+ # @param name
149
+ # The name of the new voice.
150
+ # @param prompt
151
+ # A description of the desired voice. Must not contain only whitespace.
152
+ # @param type
153
+ # Set to `prompt` to create a voice from a text description.
154
+ # @param model
155
+ # The voice creation model to use. Defaults to `auto`.
156
+ # @param script_hint
157
+ # Optional text for the voice to speak during creation. If omitted, a script is
158
+ # generated from the prompt. Must not be blank after trimming whitespace; scripts
159
+ # that are too short are rejected.
160
+ def initialize: (
161
+ name: String,
162
+ prompt: String,
163
+ type: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::type_,
164
+ ?model: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::model,
165
+ ?script_hint: String
166
+ ) -> void
167
+
168
+ def to_hash: -> {
169
+ name: String,
170
+ prompt: String,
171
+ type: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::type_,
172
+ ?model: OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::model,
173
+ ?script_hint: String
174
+ }
175
+
176
+ type type_ = :prompt
177
+
178
+ module Type
179
+ extend OpenAI::Internal::Type::Enum
180
+
181
+ PROMPT: :prompt
182
+
183
+ def self?.values: -> ::Array[OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::type_]
184
+ end
185
+
186
+ type model = String | :auto | :"2026-10-08"
187
+
188
+ module Model
189
+ extend OpenAI::Internal::Type::Union
190
+
191
+ def self?.variants: -> ::Array[OpenAI::Models::Audio::VoiceCreateParams::Body::Prompt::model]
192
+
193
+ AUTO: :auto
194
+ MODEL_2026_10_08: :"2026-10-08"
195
+ end
196
+ end
197
+
109
198
  def self?.variants: -> ::Array[OpenAI::Models::Audio::VoiceCreateParams::body]
110
199
  end
111
200
  end
@@ -47,7 +47,8 @@ module OpenAI
47
47
  # verbosity.
48
48
  attr_accessor text: OpenAI::Beta::AgentTextParam?
49
49
 
50
- # Tools available to the agent. Defaults to an empty list.
50
+ # Tools available to the agent. Defaults to an empty list. The tool list must fit
51
+ # within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
51
52
  attr_accessor tools: ::Array[OpenAI::Models::Beta::persisted_agent_tool_param]?
52
53
 
53
54
  # @param model
@@ -71,7 +72,8 @@ module OpenAI
71
72
  # Configuration for generated text. Defaults to the `text` format and medium
72
73
  # verbosity.
73
74
  # @param tools
74
- # Tools available to the agent. Defaults to an empty list.
75
+ # Tools available to the agent. Defaults to an empty list. The tool list must fit
76
+ # within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
75
77
  def initialize: (
76
78
  model: String,
77
79
  ?instructions: String?,
@@ -4,7 +4,7 @@ module OpenAI
4
4
  type agent_list_params =
5
5
  {
6
6
  ?after: String,
7
- ?limit: Integer?,
7
+ ?limit: Integer,
8
8
  ?order: OpenAI::Models::Beta::AgentListParams::order,
9
9
  ?request_options: OpenAI::request_opts
10
10
  }
@@ -19,8 +19,11 @@ module OpenAI
19
19
  # Return resources after this resource ID in the selected order.
20
20
  def after=: (String) -> String
21
21
 
22
- # The maximum number of resources to return.
23
- attr_accessor limit: Integer?
22
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
23
+ attr_reader limit: Integer?
24
+
25
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
26
+ def limit=: (Integer) -> Integer
24
27
 
25
28
  # The order in which resources are returned. Defaults to `desc`.
26
29
  attr_reader order: OpenAI::Models::Beta::AgentListParams::order?
@@ -33,19 +36,19 @@ module OpenAI
33
36
  # @param after
34
37
  # Return resources after this resource ID in the selected order.
35
38
  # @param limit
36
- # The maximum number of resources to return.
39
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
37
40
  # @param order
38
41
  # The order in which resources are returned. Defaults to `desc`.
39
42
  def initialize: (
40
43
  ?after: String,
41
- ?limit: Integer?,
44
+ ?limit: Integer,
42
45
  ?order: OpenAI::Models::Beta::AgentListParams::order,
43
46
  ?request_options: OpenAI::request_opts
44
47
  ) -> void
45
48
 
46
49
  def to_hash: -> {
47
50
  ?after: String,
48
- ?limit: Integer?,
51
+ ?limit: Integer,
49
52
  ?order: OpenAI::Models::Beta::AgentListParams::order,
50
53
  ?request_options: OpenAI::RequestOptions
51
54
  }
@@ -14,7 +14,8 @@ module OpenAI
14
14
  required_actions: ::Array[OpenAI::Models::Beta::AgentSession::required_action],
15
15
  status: OpenAI::Models::Beta::AgentSession::status,
16
16
  usage: OpenAI::Beta::TokenUsage?,
17
- vault_ids: ::Array[String]
17
+ vault_ids: ::Array[String],
18
+ ?spend_control: OpenAI::Beta::AgentSession::SpendControl
18
19
  }
19
20
 
20
21
  class AgentSession < OpenAI::Internal::Type::BaseModel
@@ -55,6 +56,16 @@ module OpenAI
55
56
  # The IDs of vaults made available to the session.
56
57
  attr_accessor vault_ids: ::Array[String]
57
58
 
59
+ # Configured spending limit and best-effort consumption, in USD cents. Unlimited
60
+ # sessions omit this object.
61
+ attr_reader spend_control: OpenAI::Beta::AgentSession::SpendControl?
62
+
63
+ # Configured spending limit and best-effort consumption, in USD cents. Unlimited
64
+ # sessions omit this object.
65
+ def spend_control=: (
66
+ OpenAI::Beta::AgentSession::SpendControl
67
+ ) -> OpenAI::Beta::AgentSession::SpendControl
68
+
58
69
  # @param id
59
70
  # The ID of the session.
60
71
  # @param agent
@@ -78,6 +89,9 @@ module OpenAI
78
89
  # change.
79
90
  # @param vault_ids
80
91
  # The IDs of vaults made available to the session.
92
+ # @param spend_control
93
+ # Configured spending limit and best-effort consumption, in USD cents. Unlimited
94
+ # sessions omit this object.
81
95
  # @param object
82
96
  # The object type. Always `agent.session`.
83
97
  def initialize: (
@@ -92,6 +106,7 @@ module OpenAI
92
106
  status: OpenAI::Models::Beta::AgentSession::status,
93
107
  usage: OpenAI::Beta::TokenUsage?,
94
108
  vault_ids: ::Array[String],
109
+ ?spend_control: OpenAI::Beta::AgentSession::SpendControl,
95
110
  ?object: :"agent.session"
96
111
  ) -> void
97
112
 
@@ -107,7 +122,8 @@ module OpenAI
107
122
  required_actions: ::Array[OpenAI::Models::Beta::AgentSession::required_action],
108
123
  status: OpenAI::Models::Beta::AgentSession::status,
109
124
  usage: OpenAI::Beta::TokenUsage?,
110
- vault_ids: ::Array[String]
125
+ vault_ids: ::Array[String],
126
+ ?spend_control: OpenAI::Beta::AgentSession::SpendControl
111
127
  }
112
128
 
113
129
  type agent =
@@ -532,6 +548,24 @@ module OpenAI
532
548
 
533
549
  def self?.values: -> ::Array[OpenAI::Models::Beta::AgentSession::status]
534
550
  end
551
+
552
+ type spend_control = { consumed: Integer?, limit: Integer }
553
+
554
+ class SpendControl < OpenAI::Internal::Type::BaseModel
555
+ # Best-effort recorded spend floored to whole USD cents, or null when unavailable.
556
+ attr_accessor consumed: Integer?
557
+
558
+ # The configured positive limit in USD cents.
559
+ attr_accessor limit: Integer
560
+
561
+ # @param consumed
562
+ # Best-effort recorded spend floored to whole USD cents, or null when unavailable.
563
+ # @param limit
564
+ # The configured positive limit in USD cents.
565
+ def initialize: (consumed: Integer?, limit: Integer) -> void
566
+
567
+ def to_hash: -> { consumed: Integer?, limit: Integer }
568
+ end
535
569
  end
536
570
  end
537
571
  end
@@ -53,7 +53,8 @@ module OpenAI
53
53
  # Configuration for text generated by the agent.
54
54
  attr_accessor text: OpenAI::Beta::AgentTextParam?
55
55
 
56
- # Tools available to the agent.
56
+ # Replaces the tool list. Omit to leave it unchanged, or pass null to clear it.
57
+ # The replacement must fit within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
57
58
  attr_accessor tools: ::Array[OpenAI::Models::Beta::persisted_agent_tool_param]?
58
59
 
59
60
  # @param instructions
@@ -77,7 +78,8 @@ module OpenAI
77
78
  # @param text
78
79
  # Configuration for text generated by the agent.
79
80
  # @param tools
80
- # Tools available to the agent.
81
+ # Replaces the tool list. Omit to leave it unchanged, or pass null to clear it.
82
+ # The replacement must fit within 3 MiB (3,145,728 bytes) of compact UTF-8 JSON.
81
83
  def initialize: (
82
84
  agent_id: String,
83
85
  ?instructions: String?,
@@ -15,22 +15,22 @@ module OpenAI
15
15
  extend OpenAI::Internal::Type::RequestParameters::Converter
16
16
  include OpenAI::Internal::Type::RequestParameters
17
17
 
18
- # Return environments after this environment ID in the selected order.
18
+ # Return resources after this resource ID in the selected order.
19
19
  attr_reader after: String?
20
20
 
21
- # Return environments after this environment ID in the selected order.
21
+ # Return resources after this resource ID in the selected order.
22
22
  def after=: (String) -> String
23
23
 
24
- # The maximum number of environments to return, between 1 and 100. Defaults to 20.
24
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
25
25
  attr_reader limit: Integer?
26
26
 
27
- # The maximum number of environments to return, between 1 and 100. Defaults to 20.
27
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
28
28
  def limit=: (Integer) -> Integer
29
29
 
30
- # The order in which environments are returned. Defaults to `desc`.
30
+ # The order in which resources are returned. Defaults to `desc`.
31
31
  attr_reader order: OpenAI::Models::Beta::Agents::EnvironmentListParams::order?
32
32
 
33
- # The order in which environments are returned. Defaults to `desc`.
33
+ # The order in which resources are returned. Defaults to `desc`.
34
34
  def order=: (
35
35
  OpenAI::Models::Beta::Agents::EnvironmentListParams::order
36
36
  ) -> OpenAI::Models::Beta::Agents::EnvironmentListParams::order
@@ -44,11 +44,11 @@ module OpenAI
44
44
  ) -> OpenAI::Models::Beta::Agents::EnvironmentListParams::type_
45
45
 
46
46
  # @param after
47
- # Return environments after this environment ID in the selected order.
47
+ # Return resources after this resource ID in the selected order.
48
48
  # @param limit
49
- # The maximum number of environments to return, between 1 and 100. Defaults to 20.
49
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
50
50
  # @param order
51
- # The order in which environments are returned. Defaults to `desc`.
51
+ # The order in which resources are returned. Defaults to `desc`.
52
52
  # @param type
53
53
  # The hosting type to list. Defaults to `openai_hosted`.
54
54
  def initialize: (
@@ -9,6 +9,7 @@ module OpenAI
9
9
  ?agent_id: String,
10
10
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
11
11
  ?metadata: ::Hash[Symbol, String]?,
12
+ ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
12
13
  ?vault_ids: ::Array[String]?,
13
14
  ?request_options: OpenAI::request_opts
14
15
  }
@@ -48,6 +49,10 @@ module OpenAI
48
49
  # characters. Omission or null defaults to an empty map.
49
50
  attr_accessor metadata: ::Hash[Symbol, String]?
50
51
 
52
+ # Optional spending limit in USD cents. Omission or null creates an unlimited
53
+ # session.
54
+ attr_accessor spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?
55
+
51
56
  # The IDs of vaults made available to the session.
52
57
  attr_accessor vault_ids: ::Array[String]?
53
58
 
@@ -67,6 +72,9 @@ module OpenAI
67
72
  # @param metadata
68
73
  # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
69
74
  # characters. Omission or null defaults to an empty map.
75
+ # @param spend_control
76
+ # Optional spending limit in USD cents. Omission or null creates an unlimited
77
+ # session.
70
78
  # @param vault_ids
71
79
  # The IDs of vaults made available to the session.
72
80
  def initialize: (
@@ -75,6 +83,7 @@ module OpenAI
75
83
  ?agent_id: String,
76
84
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
77
85
  ?metadata: ::Hash[Symbol, String]?,
86
+ ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
78
87
  ?vault_ids: ::Array[String]?,
79
88
  ?request_options: OpenAI::request_opts
80
89
  ) -> void
@@ -85,6 +94,7 @@ module OpenAI
85
94
  ?agent_id: String,
86
95
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
87
96
  ?metadata: ::Hash[Symbol, String]?,
97
+ ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
88
98
  ?vault_ids: ::Array[String]?,
89
99
  ?request_options: OpenAI::RequestOptions
90
100
  }
@@ -124,7 +134,9 @@ module OpenAI
124
134
  # Configuration for text generated by the agent.
125
135
  attr_accessor text: OpenAI::Beta::AgentTextParam?
126
136
 
127
- # Tools available to the agent. Omit to inherit, or pass null to clear them.
137
+ # Tools available to the agent. Omit to inherit, or pass null to clear them. The
138
+ # resolved tool list must fit within 3 MiB (3,145,728 bytes) of compact UTF-8
139
+ # JSON.
128
140
  attr_accessor tools: ::Array[OpenAI::Models::Beta::agent_tool_param]?
129
141
 
130
142
  # @param instructions
@@ -142,7 +154,9 @@ module OpenAI
142
154
  # @param text
143
155
  # Configuration for text generated by the agent.
144
156
  # @param tools
145
- # Tools available to the agent. Omit to inherit, or pass null to clear them.
157
+ # Tools available to the agent. Omit to inherit, or pass null to clear them. The
158
+ # resolved tool list must fit within 3 MiB (3,145,728 bytes) of compact UTF-8
159
+ # JSON.
146
160
  def initialize: (
147
161
  ?instructions: String?,
148
162
  ?model: String,
@@ -197,6 +211,19 @@ module OpenAI
197
211
 
198
212
  AgentSessionInputMessageParamArray: OpenAI::Internal::Type::Converter
199
213
  end
214
+
215
+ type spend_control = { limit: Integer? }
216
+
217
+ class SpendControl < OpenAI::Internal::Type::BaseModel
218
+ # Positive USD cents, or null to remove the limit.
219
+ attr_accessor limit: Integer?
220
+
221
+ # @param limit
222
+ # Positive USD cents, or null to remove the limit.
223
+ def initialize: (limit: Integer?) -> void
224
+
225
+ def to_hash: -> { limit: Integer? }
226
+ end
200
227
  end
201
228
  end
202
229
  end
@@ -6,7 +6,7 @@ module OpenAI
6
6
  {
7
7
  ?after: String,
8
8
  ?agent_id: String,
9
- ?limit: Integer?,
9
+ ?limit: Integer,
10
10
  ?order: OpenAI::Models::Beta::Agents::SessionListParams::order,
11
11
  ?request_options: OpenAI::request_opts
12
12
  }
@@ -29,15 +29,16 @@ module OpenAI
29
29
  # all agents.
30
30
  def agent_id=: (String) -> String
31
31
 
32
- # The maximum number of resources to return.
33
- attr_accessor limit: Integer?
32
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
33
+ attr_reader limit: Integer?
34
34
 
35
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
36
- # `desc` for descending order. Defaults to `desc`.
35
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
36
+ def limit=: (Integer) -> Integer
37
+
38
+ # The order in which resources are returned. Defaults to `desc`.
37
39
  attr_reader order: OpenAI::Models::Beta::Agents::SessionListParams::order?
38
40
 
39
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
40
- # `desc` for descending order. Defaults to `desc`.
41
+ # The order in which resources are returned. Defaults to `desc`.
41
42
  def order=: (
42
43
  OpenAI::Models::Beta::Agents::SessionListParams::order
43
44
  ) -> OpenAI::Models::Beta::Agents::SessionListParams::order
@@ -48,14 +49,13 @@ module OpenAI
48
49
  # Only return sessions whose root agent has this ID. Omit to return sessions for
49
50
  # all agents.
50
51
  # @param limit
51
- # The maximum number of resources to return.
52
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
52
53
  # @param order
53
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
54
- # `desc` for descending order. Defaults to `desc`.
54
+ # The order in which resources are returned. Defaults to `desc`.
55
55
  def initialize: (
56
56
  ?after: String,
57
57
  ?agent_id: String,
58
- ?limit: Integer?,
58
+ ?limit: Integer,
59
59
  ?order: OpenAI::Models::Beta::Agents::SessionListParams::order,
60
60
  ?request_options: OpenAI::request_opts
61
61
  ) -> void
@@ -63,7 +63,7 @@ module OpenAI
63
63
  def to_hash: -> {
64
64
  ?after: String,
65
65
  ?agent_id: String,
66
- ?limit: Integer?,
66
+ ?limit: Integer,
67
67
  ?order: OpenAI::Models::Beta::Agents::SessionListParams::order,
68
68
  ?request_options: OpenAI::RequestOptions
69
69
  }
@@ -7,6 +7,7 @@ module OpenAI
7
7
  session_id: String,
8
8
  ?agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent,
9
9
  ?metadata: ::Hash[Symbol, String]?,
10
+ ?spend_control: OpenAI::Beta::Agents::SessionUpdateParams::SpendControl?,
10
11
  ?request_options: OpenAI::request_opts
11
12
  }
12
13
 
@@ -29,16 +30,24 @@ module OpenAI
29
30
  # characters.
30
31
  attr_accessor metadata: ::Hash[Symbol, String]?
31
32
 
33
+ # Omit to retain the limit; null or a null limit removes it without resetting
34
+ # spend.
35
+ attr_accessor spend_control: OpenAI::Beta::Agents::SessionUpdateParams::SpendControl?
36
+
32
37
  # @param agent
33
38
  # Model settings for subsequent turns. Omitted fields stay unchanged.
34
39
  # @param metadata
35
40
  # Replaces all metadata. Omit to leave unchanged, or pass null or {} to clear it.
36
41
  # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
37
42
  # characters.
43
+ # @param spend_control
44
+ # Omit to retain the limit; null or a null limit removes it without resetting
45
+ # spend.
38
46
  def initialize: (
39
47
  session_id: String,
40
48
  ?agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent,
41
49
  ?metadata: ::Hash[Symbol, String]?,
50
+ ?spend_control: OpenAI::Beta::Agents::SessionUpdateParams::SpendControl?,
42
51
  ?request_options: OpenAI::request_opts
43
52
  ) -> void
44
53
 
@@ -46,6 +55,7 @@ module OpenAI
46
55
  session_id: String,
47
56
  ?agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent,
48
57
  ?metadata: ::Hash[Symbol, String]?,
58
+ ?spend_control: OpenAI::Beta::Agents::SessionUpdateParams::SpendControl?,
49
59
  ?request_options: OpenAI::RequestOptions
50
60
  }
51
61
 
@@ -152,6 +162,19 @@ module OpenAI
152
162
  def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::SessionUpdateParams::Agent::service_tier]
153
163
  end
154
164
  end
165
+
166
+ type spend_control = { limit: Integer? }
167
+
168
+ class SpendControl < OpenAI::Internal::Type::BaseModel
169
+ # Positive USD cents, or null to remove the limit.
170
+ attr_accessor limit: Integer?
171
+
172
+ # @param limit
173
+ # Positive USD cents, or null to remove the limit.
174
+ def initialize: (limit: Integer?) -> void
175
+
176
+ def to_hash: -> { limit: Integer? }
177
+ end
155
178
  end
156
179
  end
157
180
  end
@@ -6,9 +6,9 @@ module OpenAI
6
6
  type artifact_list_params =
7
7
  {
8
8
  session_id: String,
9
- ?after: String?,
9
+ ?after: String,
10
10
  ?environment_id: String?,
11
- ?limit: Integer?,
11
+ ?limit: Integer,
12
12
  ?order: OpenAI::Models::Beta::Agents::Sessions::ArtifactListParams::order,
13
13
  ?request_options: OpenAI::request_opts
14
14
  }
@@ -19,45 +19,51 @@ module OpenAI
19
19
 
20
20
  attr_accessor session_id: String
21
21
 
22
- # Return artifacts after this immutable artifact ID.
23
- attr_accessor after: String?
22
+ # Return resources after this resource ID in the selected order.
23
+ attr_reader after: String?
24
+
25
+ # Return resources after this resource ID in the selected order.
26
+ def after=: (String) -> String
24
27
 
25
28
  # Restrict the listing to artifacts produced by this environment.
26
29
  attr_accessor environment_id: String?
27
30
 
28
- # The maximum number of artifacts to return, between 1 and 100.
29
- attr_accessor limit: Integer?
31
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
32
+ attr_reader limit: Integer?
33
+
34
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
35
+ def limit=: (Integer) -> Integer
30
36
 
31
- # Sort by creation time and ID. Defaults to descending.
37
+ # The order in which resources are returned. Defaults to `desc`.
32
38
  attr_reader order: OpenAI::Models::Beta::Agents::Sessions::ArtifactListParams::order?
33
39
 
34
- # Sort by creation time and ID. Defaults to descending.
40
+ # The order in which resources are returned. Defaults to `desc`.
35
41
  def order=: (
36
42
  OpenAI::Models::Beta::Agents::Sessions::ArtifactListParams::order
37
43
  ) -> OpenAI::Models::Beta::Agents::Sessions::ArtifactListParams::order
38
44
 
39
45
  # @param after
40
- # Return artifacts after this immutable artifact ID.
46
+ # Return resources after this resource ID in the selected order.
41
47
  # @param environment_id
42
48
  # Restrict the listing to artifacts produced by this environment.
43
49
  # @param limit
44
- # The maximum number of artifacts to return, between 1 and 100.
50
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
45
51
  # @param order
46
- # Sort by creation time and ID. Defaults to descending.
52
+ # The order in which resources are returned. Defaults to `desc`.
47
53
  def initialize: (
48
54
  session_id: String,
49
- ?after: String?,
55
+ ?after: String,
50
56
  ?environment_id: String?,
51
- ?limit: Integer?,
57
+ ?limit: Integer,
52
58
  ?order: OpenAI::Models::Beta::Agents::Sessions::ArtifactListParams::order,
53
59
  ?request_options: OpenAI::request_opts
54
60
  ) -> void
55
61
 
56
62
  def to_hash: -> {
57
63
  session_id: String,
58
- ?after: String?,
64
+ ?after: String,
59
65
  ?environment_id: String?,
60
- ?limit: Integer?,
66
+ ?limit: Integer,
61
67
  ?order: OpenAI::Models::Beta::Agents::Sessions::ArtifactListParams::order,
62
68
  ?request_options: OpenAI::RequestOptions
63
69
  }