openai 0.98.0 → 0.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/bedrock.md +17 -1
  5. data/lib/openai/client.rb +9 -0
  6. data/lib/openai/helpers/agents/session_stream.rb +11 -36
  7. data/lib/openai/helpers/agents/tools.rb +34 -4
  8. data/lib/openai/helpers/beta/agents/creation_stream.rb +26 -0
  9. data/lib/openai/helpers/beta/agents/function_tool.rb +11 -4
  10. data/lib/openai/helpers/beta/agents/tool_dispatcher.rb +74 -0
  11. data/lib/openai/helpers/beta/agents/tool_error.rb +28 -0
  12. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +140 -5
  13. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +140 -5
  14. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +140 -5
  15. data/lib/openai/models/admin/organization/usage_completions_params.rb +9 -4
  16. data/lib/openai/models/admin/organization/usage_completions_response.rb +140 -5
  17. data/lib/openai/models/admin/organization/usage_costs_params.rb +16 -4
  18. data/lib/openai/models/admin/organization/usage_costs_response.rb +140 -5
  19. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +140 -5
  20. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +140 -5
  21. data/lib/openai/models/admin/organization/usage_images_response.rb +140 -5
  22. data/lib/openai/models/admin/organization/usage_moderations_response.rb +140 -5
  23. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +140 -5
  24. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +9 -4
  25. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +140 -5
  26. data/lib/openai/models/all_models.rb +42 -0
  27. data/lib/openai/models/audio/speech_create_params.rb +6 -0
  28. data/lib/openai/models/audio/voice.rb +75 -0
  29. data/lib/openai/models/audio/voice_create_params.rb +217 -0
  30. data/lib/openai/models/beta/agent_create_params.rb +0 -3
  31. data/lib/openai/models/beta/agent_update_params.rb +0 -3
  32. data/lib/openai/models/beta/agents/environments/template_create_params.rb +6 -6
  33. data/lib/openai/models/beta/agents/environments/template_update_params.rb +3 -6
  34. data/lib/openai/models/beta/agents/session_create_params.rb +0 -3
  35. data/lib/openai/models/beta/agents/session_update_params.rb +0 -3
  36. data/lib/openai/models/beta/agents/sessions/turns/item_list_params.rb +79 -0
  37. data/lib/openai/models/beta/beta_response.rb +220 -0
  38. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +2 -2
  39. data/lib/openai/models/beta/beta_response_error.rb +12 -1
  40. data/lib/openai/models/beta/beta_responses_client_event.rb +220 -0
  41. data/lib/openai/models/beta/beta_responses_server_event.rb +12 -1
  42. data/lib/openai/models/beta/beta_tool.rb +15 -18
  43. data/lib/openai/models/beta/environment_param.rb +6 -6
  44. data/lib/openai/models/beta/response_compact_params.rb +220 -0
  45. data/lib/openai/models/beta/response_create_params.rb +220 -0
  46. data/lib/openai/models/beta/session_turn_error.rb +9 -0
  47. data/lib/openai/models/chat/chat_completion_audio_param.rb +6 -3
  48. data/lib/openai/models/chat/chat_completion_chunk.rb +85 -18
  49. data/lib/openai/models/chat_model.rb +178 -0
  50. data/lib/openai/models/error_object.rb +12 -1
  51. data/lib/openai/models/eval_create_params.rb +1 -1
  52. data/lib/openai/models/eval_create_response.rb +1 -1
  53. data/lib/openai/models/eval_list_response.rb +1 -1
  54. data/lib/openai/models/eval_retrieve_response.rb +1 -1
  55. data/lib/openai/models/eval_update_response.rb +1 -1
  56. data/lib/openai/models/fine_tuning/job_list_params.rb +14 -4
  57. data/lib/openai/models/graders/score_model_grader.rb +2 -2
  58. data/lib/openai/models/image.rb +14 -14
  59. data/lib/openai/models/image_create_variation_params.rb +7 -7
  60. data/lib/openai/models/image_edit_params.rb +88 -96
  61. data/lib/openai/models/image_generate_params.rb +51 -62
  62. data/lib/openai/models/image_model.rb +5 -3
  63. data/lib/openai/models/realtime/realtime_audio_config_output.rb +9 -6
  64. data/lib/openai/models/realtime/realtime_client_event.rb +9 -0
  65. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +9 -6
  66. data/lib/openai/models/realtime/session_update_event.rb +16 -0
  67. data/lib/openai/models/responses/response_compact_params.rb +220 -0
  68. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +2 -2
  69. data/lib/openai/models/responses/response_error.rb +12 -1
  70. data/lib/openai/models/responses/responses_server_event.rb +12 -1
  71. data/lib/openai/models/responses/tool.rb +15 -18
  72. data/lib/openai/models/responses_model.rb +42 -0
  73. data/lib/openai/models/video_create_error.rb +12 -1
  74. data/lib/openai/models/webhooks/agent_session_action_required_webhook_event.rb +109 -0
  75. data/lib/openai/models/webhooks/agent_session_created_webhook_event.rb +106 -0
  76. data/lib/openai/models/webhooks/agent_session_failed_webhook_event.rb +86 -0
  77. data/lib/openai/models/webhooks/agent_session_idle_webhook_event.rb +86 -0
  78. data/lib/openai/models/webhooks/agent_session_in_progress_webhook_event.rb +86 -0
  79. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +18 -2
  80. data/lib/openai/models/webhooks/webhook_create_params.rb +5 -0
  81. data/lib/openai/models/webhooks/webhook_test_params.rb +5 -0
  82. data/lib/openai/models/webhooks/webhook_update_params.rb +5 -0
  83. data/lib/openai/providers/bedrock.rb +20 -1
  84. data/lib/openai/resources/admin/organization/usage.rb +15 -6
  85. data/lib/openai/resources/audio/speech.rb +2 -0
  86. data/lib/openai/resources/audio/voices.rb +53 -0
  87. data/lib/openai/resources/audio.rb +5 -0
  88. data/lib/openai/resources/beta/agents/environments/templates.rb +3 -4
  89. data/lib/openai/resources/beta/agents/sessions/turns/items.rb +68 -0
  90. data/lib/openai/resources/beta/agents/sessions/turns.rb +4 -0
  91. data/lib/openai/resources/beta/agents/sessions.rb +22 -2
  92. data/lib/openai/resources/fine_tuning/jobs.rb +7 -2
  93. data/lib/openai/resources/images.rb +79 -109
  94. data/lib/openai/resources/webhooks.rb +1 -1
  95. data/lib/openai/version.rb +1 -1
  96. data/lib/openai.rb +10 -0
  97. data/rbi/openai/helpers/agents.rbi +2 -0
  98. data/rbi/openai/helpers/beta/agents/function_tool.rbi +8 -3
  99. data/rbi/openai/helpers/beta/agents/tool_error.rbi +19 -0
  100. data/rbi/openai/helpers/beta/agents.rbi +12 -0
  101. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +213 -3
  102. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +213 -3
  103. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +213 -3
  104. data/rbi/openai/models/admin/organization/usage_completions_params.rbi +9 -4
  105. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +213 -3
  106. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +16 -4
  107. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +213 -3
  108. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +213 -3
  109. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +213 -3
  110. data/rbi/openai/models/admin/organization/usage_images_response.rbi +213 -3
  111. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +213 -3
  112. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +213 -3
  113. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +12 -4
  114. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +213 -3
  115. data/rbi/openai/models/audio/speech_create_params.rbi +6 -0
  116. data/rbi/openai/models/audio/voice.rbi +111 -0
  117. data/rbi/openai/models/audio/voice_create_params.rbi +321 -0
  118. data/rbi/openai/models/beta/agent_create_params.rbi +0 -3
  119. data/rbi/openai/models/beta/agent_update_params.rbi +0 -3
  120. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +6 -6
  121. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +3 -6
  122. data/rbi/openai/models/beta/agents/session_create_params.rbi +0 -3
  123. data/rbi/openai/models/beta/agents/session_update_params.rbi +0 -3
  124. data/rbi/openai/models/beta/agents/sessions/turns/item_list_params.rbi +139 -0
  125. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +2 -2
  126. data/rbi/openai/models/beta/beta_response_error.rbi +12 -0
  127. data/rbi/openai/models/beta/beta_responses_server_event.rbi +12 -0
  128. data/rbi/openai/models/beta/beta_tool.rbi +15 -18
  129. data/rbi/openai/models/beta/environment_param.rbi +6 -6
  130. data/rbi/openai/models/beta/session_turn_error.rbi +18 -0
  131. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +6 -3
  132. data/rbi/openai/models/chat/chat_completion_chunk.rbi +123 -17
  133. data/rbi/openai/models/error_object.rbi +12 -0
  134. data/rbi/openai/models/eval_create_params.rbi +1 -1
  135. data/rbi/openai/models/eval_create_response.rbi +1 -1
  136. data/rbi/openai/models/eval_list_response.rbi +1 -1
  137. data/rbi/openai/models/eval_retrieve_response.rbi +1 -1
  138. data/rbi/openai/models/eval_update_response.rbi +1 -1
  139. data/rbi/openai/models/fine_tuning/job_list_params.rbi +14 -4
  140. data/rbi/openai/models/graders/score_model_grader.rbi +2 -2
  141. data/rbi/openai/models/image.rbi +14 -14
  142. data/rbi/openai/models/image_create_variation_params.rbi +6 -6
  143. data/rbi/openai/models/image_edit_params.rbi +73 -91
  144. data/rbi/openai/models/image_generate_params.rbi +30 -61
  145. data/rbi/openai/models/image_model.rbi +3 -3
  146. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +9 -6
  147. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +9 -6
  148. data/rbi/openai/models/realtime/session_update_event.rbi +16 -0
  149. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +2 -2
  150. data/rbi/openai/models/responses/response_error.rbi +12 -0
  151. data/rbi/openai/models/responses/responses_server_event.rbi +12 -0
  152. data/rbi/openai/models/responses/tool.rbi +15 -18
  153. data/rbi/openai/models/video_create_error.rbi +12 -0
  154. data/rbi/openai/models/webhooks/agent_session_action_required_webhook_event.rbi +222 -0
  155. data/rbi/openai/models/webhooks/agent_session_created_webhook_event.rbi +202 -0
  156. data/rbi/openai/models/webhooks/agent_session_failed_webhook_event.rbi +151 -0
  157. data/rbi/openai/models/webhooks/agent_session_idle_webhook_event.rbi +151 -0
  158. data/rbi/openai/models/webhooks/agent_session_in_progress_webhook_event.rbi +151 -0
  159. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +7 -1
  160. data/rbi/openai/models/webhooks/webhook_create_params.rbi +20 -0
  161. data/rbi/openai/models/webhooks/webhook_test_params.rbi +20 -0
  162. data/rbi/openai/models/webhooks/webhook_update_params.rbi +20 -0
  163. data/rbi/openai/resources/admin/organization/usage.rbi +15 -6
  164. data/rbi/openai/resources/audio/speech.rbi +2 -0
  165. data/rbi/openai/resources/audio/voices.rbi +49 -0
  166. data/rbi/openai/resources/audio.rbi +4 -0
  167. data/rbi/openai/resources/beta/agents/environments/templates.rbi +3 -4
  168. data/rbi/openai/resources/beta/agents/sessions/turns/items.rbi +62 -0
  169. data/rbi/openai/resources/beta/agents/sessions/turns.rbi +3 -0
  170. data/rbi/openai/resources/beta/agents/sessions.rbi +2 -0
  171. data/rbi/openai/resources/fine_tuning/jobs.rbi +7 -2
  172. data/rbi/openai/resources/images.rbi +77 -109
  173. data/rbi/openai/resources/webhooks.rbi +5 -0
  174. data/sig/openai/helpers/agents.rbs +3 -0
  175. data/sig/openai/helpers/beta/agents/function_tool.rbs +5 -2
  176. data/sig/openai/helpers/beta/agents/tool_error.rbs +17 -0
  177. data/sig/openai/helpers/beta/agents.rbs +5 -0
  178. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +107 -5
  179. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +107 -5
  180. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +107 -5
  181. data/sig/openai/models/admin/organization/usage_completions_params.rbs +14 -6
  182. data/sig/openai/models/admin/organization/usage_completions_response.rbs +107 -5
  183. data/sig/openai/models/admin/organization/usage_costs_params.rbs +25 -7
  184. data/sig/openai/models/admin/organization/usage_costs_response.rbs +107 -5
  185. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +107 -5
  186. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +107 -5
  187. data/sig/openai/models/admin/organization/usage_images_response.rbs +107 -5
  188. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +107 -5
  189. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +107 -5
  190. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +19 -7
  191. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +107 -5
  192. data/sig/openai/models/audio/speech_create_params.rbs +4 -0
  193. data/sig/openai/models/audio/voice.rbs +70 -0
  194. data/sig/openai/models/audio/voice_create_params.rbs +203 -0
  195. data/sig/openai/models/beta/agent_create_params.rbs +1 -5
  196. data/sig/openai/models/beta/agent_update_params.rbs +1 -5
  197. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +4 -4
  198. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +2 -4
  199. data/sig/openai/models/beta/agents/session_create_params.rbs +1 -5
  200. data/sig/openai/models/beta/agents/session_update_params.rbs +1 -5
  201. data/sig/openai/models/beta/agents/sessions/turns/item_list_params.rbs +91 -0
  202. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +2 -2
  203. data/sig/openai/models/beta/beta_response_error.rbs +10 -0
  204. data/sig/openai/models/beta/beta_responses_server_event.rbs +10 -0
  205. data/sig/openai/models/beta/beta_tool.rbs +11 -15
  206. data/sig/openai/models/beta/environment_param.rbs +4 -4
  207. data/sig/openai/models/beta/session_turn_error.rbs +12 -0
  208. data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -2
  209. data/sig/openai/models/chat/chat_completion_chunk.rbs +96 -12
  210. data/sig/openai/models/error_object.rbs +10 -0
  211. data/sig/openai/models/eval_create_params.rbs +1 -1
  212. data/sig/openai/models/eval_create_response.rbs +1 -1
  213. data/sig/openai/models/eval_list_response.rbs +1 -1
  214. data/sig/openai/models/eval_retrieve_response.rbs +1 -1
  215. data/sig/openai/models/eval_update_response.rbs +1 -1
  216. data/sig/openai/models/fine_tuning/job_list_params.rbs +14 -4
  217. data/sig/openai/models/graders/score_model_grader.rbs +3 -3
  218. data/sig/openai/models/image.rbs +21 -21
  219. data/sig/openai/models/image_create_variation_params.rbs +4 -4
  220. data/sig/openai/models/image_edit_params.rbs +54 -66
  221. data/sig/openai/models/image_generate_params.rbs +23 -45
  222. data/sig/openai/models/image_model.rbs +6 -6
  223. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +9 -6
  224. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +9 -6
  225. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +2 -2
  226. data/sig/openai/models/responses/response_error.rbs +10 -0
  227. data/sig/openai/models/responses/responses_server_event.rbs +10 -0
  228. data/sig/openai/models/responses/tool.rbs +11 -15
  229. data/sig/openai/models/video_create_error.rbs +10 -0
  230. data/sig/openai/models/webhooks/agent_session_action_required_webhook_event.rbs +114 -0
  231. data/sig/openai/models/webhooks/agent_session_created_webhook_event.rbs +115 -0
  232. data/sig/openai/models/webhooks/agent_session_failed_webhook_event.rbs +89 -0
  233. data/sig/openai/models/webhooks/agent_session_idle_webhook_event.rbs +89 -0
  234. data/sig/openai/models/webhooks/agent_session_in_progress_webhook_event.rbs +89 -0
  235. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +6 -1
  236. data/sig/openai/models/webhooks/webhook_create_params.rbs +10 -0
  237. data/sig/openai/models/webhooks/webhook_test_params.rbs +10 -0
  238. data/sig/openai/models/webhooks/webhook_update_params.rbs +10 -0
  239. data/sig/openai/resources/audio/voices.rbs +14 -0
  240. data/sig/openai/resources/audio.rbs +2 -0
  241. data/sig/openai/resources/beta/agents/sessions/turns/items.rbs +24 -0
  242. data/sig/openai/resources/beta/agents/sessions/turns.rbs +2 -0
  243. data/sig/openai/resources/beta/agents/sessions.rbs +1 -0
  244. data/sig/openai/resources/webhooks.rbs +6 -1
  245. metadata +35 -1
@@ -0,0 +1,321 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Audio
7
+
8
+ class VoiceCreateParams < OpenAI::Internal::Type::BaseModel
9
+
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ OrHash = T.type_alias do
14
+ T.any(
15
+ OpenAI::Audio::VoiceCreateParams,
16
+ OpenAI::Internal::AnyHash
17
+ )
18
+ end
19
+
20
+ # Creates a voice from a consent recording and an audio sample. Requires
21
+ # multipart/form-data.
22
+ sig {
23
+ returns(
24
+ T.any(OpenAI::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Audio::VoiceCreateParams::Body::Prompt)
25
+ )
26
+ }
27
+ attr_accessor :body
28
+
29
+ sig do
30
+ params(
31
+
32
+ body: T.any(
33
+ OpenAI::Audio::VoiceCreateParams::Body::AudioSample::OrHash,
34
+ OpenAI::Audio::VoiceCreateParams::Body::Prompt::OrHash
35
+ ),
36
+
37
+ request_options: OpenAI::RequestOptions::OrHash
38
+ )
39
+ .returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+
43
+ # Creates a voice from a consent recording and an audio sample. Requires
44
+ # multipart/form-data.
45
+ body:,
46
+
47
+ request_options: {}
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ body: T.any(
55
+ OpenAI::Audio::VoiceCreateParams::Body::AudioSample,
56
+ OpenAI::Audio::VoiceCreateParams::Body::Prompt
57
+ ),
58
+ request_options: OpenAI::RequestOptions
59
+ }
60
+ )
61
+ end
62
+ def to_hash
63
+ end
64
+
65
+ # Creates a voice from a consent recording and an audio sample. Requires
66
+ # multipart/form-data.
67
+ module Body
68
+ extend OpenAI::Internal::Type::Union
69
+
70
+ Variants = T.type_alias {
71
+ T.any(OpenAI::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Audio::VoiceCreateParams::Body::Prompt)
72
+ }
73
+
74
+ class AudioSample < OpenAI::Internal::Type::BaseModel
75
+ OrHash = T.type_alias do
76
+ T.any(
77
+ OpenAI::Audio::VoiceCreateParams::Body::AudioSample,
78
+ OpenAI::Internal::AnyHash
79
+ )
80
+ end
81
+
82
+ # The sample audio recording file. Maximum size is 10 MiB.
83
+ #
84
+ # Supported MIME types: `audio/mpeg`, `audio/wav`, `audio/x-wav`, `audio/ogg`,
85
+ # `audio/aac`, `audio/flac`, `audio/webm`, `audio/mp4`.
86
+ #
87
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
88
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
89
+ # content type.
90
+ sig { returns(OpenAI::Internal::FileInput) }
91
+ attr_accessor :audio_sample
92
+
93
+ # The consent recording ID (for example, `cons_1234`).
94
+ sig { returns(String) }
95
+ attr_accessor :consent
96
+
97
+ # The name of the new voice.
98
+ sig { returns(String) }
99
+ attr_accessor :name
100
+
101
+ # The voice creation method. Defaults to `audio_sample` when omitted.
102
+ sig { returns(T.nilable(OpenAI::Audio::VoiceCreateParams::Body::AudioSample::Type::OrSymbol)) }
103
+ attr_reader :type
104
+
105
+ sig { params(type: OpenAI::Audio::VoiceCreateParams::Body::AudioSample::Type::OrSymbol).void }
106
+ attr_writer :type
107
+
108
+ # Creates a voice from a consent recording and an audio sample. Requires
109
+ # multipart/form-data.
110
+ sig do
111
+ params(
112
+
113
+ audio_sample: OpenAI::Internal::FileInput,
114
+
115
+ consent: String,
116
+
117
+ name: String,
118
+
119
+ type: OpenAI::Audio::VoiceCreateParams::Body::AudioSample::Type::OrSymbol
120
+ )
121
+ .returns(T.attached_class)
122
+ end
123
+ def self.new(
124
+
125
+ # The sample audio recording file. Maximum size is 10 MiB.
126
+ #
127
+ # Supported MIME types: `audio/mpeg`, `audio/wav`, `audio/x-wav`, `audio/ogg`,
128
+ # `audio/aac`, `audio/flac`, `audio/webm`, `audio/mp4`.
129
+ #
130
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
131
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
132
+ # content type.
133
+ audio_sample:,
134
+
135
+ # The consent recording ID (for example, `cons_1234`).
136
+ consent:,
137
+
138
+ # The name of the new voice.
139
+ name:,
140
+
141
+ # The voice creation method. Defaults to `audio_sample` when omitted.
142
+
143
+ type: nil
144
+ )
145
+ end
146
+
147
+ sig do
148
+ override.returns(
149
+ {
150
+ audio_sample: OpenAI::Internal::FileInput,
151
+ consent: String,
152
+ name: String,
153
+ type: OpenAI::Audio::VoiceCreateParams::Body::AudioSample::Type::OrSymbol
154
+ }
155
+ )
156
+ end
157
+ def to_hash
158
+ end
159
+
160
+ # The voice creation method. Defaults to `audio_sample` when omitted.
161
+ module Type
162
+ extend OpenAI::Internal::Type::Enum
163
+
164
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Audio::VoiceCreateParams::Body::AudioSample::Type) }
165
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
166
+
167
+ AUDIO_SAMPLE = T.let(
168
+ :audio_sample,
169
+ OpenAI::Audio::VoiceCreateParams::Body::AudioSample::Type::TaggedSymbol
170
+ )
171
+
172
+ sig {
173
+ override.returns(T::Array[OpenAI::Audio::VoiceCreateParams::Body::AudioSample::Type::TaggedSymbol])
174
+ }
175
+ def self.values
176
+ end
177
+ end
178
+ end
179
+
180
+ class Prompt < OpenAI::Internal::Type::BaseModel
181
+ OrHash = T.type_alias do
182
+ T.any(
183
+ OpenAI::Audio::VoiceCreateParams::Body::Prompt,
184
+ OpenAI::Internal::AnyHash
185
+ )
186
+ end
187
+
188
+ # The name of the new voice.
189
+ sig { returns(String) }
190
+ attr_accessor :name
191
+
192
+ # A description of the desired voice. Must not contain only whitespace.
193
+ sig { returns(String) }
194
+ attr_accessor :prompt
195
+
196
+ # Set to `prompt` to create a voice from a text description.
197
+ sig { returns(OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::OrSymbol) }
198
+ attr_accessor :type
199
+
200
+ # The voice creation model to use. Defaults to `auto`.
201
+ sig { returns(T.nilable(T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::OrSymbol))) }
202
+ attr_reader :model
203
+
204
+ sig { params(model: T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::OrSymbol)).void }
205
+ attr_writer :model
206
+
207
+ # Optional text for the voice to speak during creation. If omitted, a script is
208
+ # generated from the prompt. Must not be blank after trimming whitespace; scripts
209
+ # that are too short are rejected.
210
+ sig { returns(T.nilable(String)) }
211
+ attr_reader :script_hint
212
+
213
+ sig { params(script_hint: String).void }
214
+ attr_writer :script_hint
215
+
216
+ # Creates a synthetic voice from a text description. Supports application/json or
217
+ # multipart/form-data.
218
+ sig do
219
+ params(
220
+
221
+ name: String,
222
+
223
+ prompt: String,
224
+
225
+ type: OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::OrSymbol,
226
+
227
+ model: T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::OrSymbol),
228
+
229
+ script_hint: String
230
+ )
231
+ .returns(T.attached_class)
232
+ end
233
+ def self.new(
234
+
235
+ # The name of the new voice.
236
+ name:,
237
+
238
+ # A description of the desired voice. Must not contain only whitespace.
239
+ prompt:,
240
+
241
+ # Set to `prompt` to create a voice from a text description.
242
+ type:,
243
+
244
+ # The voice creation model to use. Defaults to `auto`.
245
+ model: nil,
246
+
247
+ # Optional text for the voice to speak during creation. If omitted, a script is
248
+ # generated from the prompt. Must not be blank after trimming whitespace; scripts
249
+ # that are too short are rejected.
250
+
251
+ script_hint: nil
252
+ )
253
+ end
254
+
255
+ sig do
256
+ override.returns(
257
+ {
258
+ name: String,
259
+ prompt: String,
260
+ type: OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::OrSymbol,
261
+ model: T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::OrSymbol),
262
+ script_hint: String
263
+ }
264
+ )
265
+ end
266
+ def to_hash
267
+ end
268
+
269
+ # Set to `prompt` to create a voice from a text description.
270
+ module Type
271
+ extend OpenAI::Internal::Type::Enum
272
+
273
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type) }
274
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
275
+
276
+ PROMPT = T.let(:prompt, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::TaggedSymbol)
277
+
278
+ sig { override.returns(T::Array[OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::TaggedSymbol]) }
279
+ def self.values
280
+ end
281
+ end
282
+
283
+ # The voice creation model to use. Defaults to `auto`.
284
+ module Model
285
+ extend OpenAI::Internal::Type::Union
286
+
287
+ Variants = T.type_alias {
288
+ T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::TaggedSymbol)
289
+ }
290
+
291
+ sig { override.returns(T::Array[OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::Variants]) }
292
+ def self.variants
293
+ end
294
+
295
+ TaggedSymbol = T.type_alias do
296
+ T.all(Symbol, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model)
297
+ end
298
+
299
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
300
+
301
+ AUTO = T.let(:auto, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::TaggedSymbol)
302
+ MODEL_2026_10_01 = T.let(
303
+ :"2026-10-01",
304
+ OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::TaggedSymbol
305
+ )
306
+
307
+ end
308
+ end
309
+
310
+ sig { override.returns(T::Array[OpenAI::Audio::VoiceCreateParams::Body::Variants]) }
311
+ def self.variants
312
+ end
313
+
314
+ end
315
+
316
+ end
317
+
318
+ end
319
+
320
+ end
321
+ end
@@ -206,9 +206,6 @@ module OpenAI
206
206
  # Uses the fast service tier.
207
207
  FAST = T.let(:fast, OpenAI::Beta::AgentCreateParams::ServiceTier::TaggedSymbol)
208
208
 
209
- # Uses the ultrafast service tier.
210
- ULTRAFAST = T.let(:ultrafast, OpenAI::Beta::AgentCreateParams::ServiceTier::TaggedSymbol)
211
-
212
209
  sig { override.returns(T::Array[OpenAI::Beta::AgentCreateParams::ServiceTier::TaggedSymbol]) }
213
210
  def self.values
214
211
  end
@@ -217,9 +217,6 @@ module OpenAI
217
217
  # Uses the fast service tier.
218
218
  FAST = T.let(:fast, OpenAI::Beta::AgentUpdateParams::ServiceTier::TaggedSymbol)
219
219
 
220
- # Uses the ultrafast service tier.
221
- ULTRAFAST = T.let(:ultrafast, OpenAI::Beta::AgentUpdateParams::ServiceTier::TaggedSymbol)
222
-
223
220
  sig { override.returns(T::Array[OpenAI::Beta::AgentUpdateParams::ServiceTier::TaggedSymbol]) }
224
221
  def self.values
225
222
  end
@@ -59,8 +59,8 @@ module OpenAI
59
59
  sig { returns(T.nilable(String)) }
60
60
  attr_accessor :name
61
61
 
62
- # Network access policy for the environment. Defaults to disabled for GA requests
63
- # and enabled for beta requests.
62
+ # Network access policy for the environment. If omitted, the API version
63
+ # determines whether network access is enabled or disabled.
64
64
  sig { returns(T.nilable(OpenAI::Beta::Agents::Environments::TemplateCreateParams::Network)) }
65
65
  attr_reader :network
66
66
 
@@ -160,8 +160,8 @@ module OpenAI
160
160
  # An optional human-readable display name for the template.
161
161
  name: nil,
162
162
 
163
- # Network access policy for the environment. Defaults to disabled for GA requests
164
- # and enabled for beta requests.
163
+ # Network access policy for the environment. If omitted, the API version
164
+ # determines whether network access is enabled or disabled.
165
165
  network: nil,
166
166
 
167
167
  # Packages to install in the environment. Defaults to empty package lists.
@@ -273,8 +273,8 @@ module OpenAI
273
273
  sig { returns(T.nilable(T::Array[String])) }
274
274
  attr_accessor :blocked_domains
275
275
 
276
- # Network access policy for the environment. Defaults to disabled for GA requests
277
- # and enabled for beta requests.
276
+ # Network access policy for the environment. If omitted, the API version
277
+ # determines whether network access is enabled or disabled.
278
278
  sig do
279
279
  params(
280
280
 
@@ -61,8 +61,7 @@ module OpenAI
61
61
  attr_accessor :name
62
62
 
63
63
  # Network access available after setup completes. Omit to preserve the current
64
- # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
65
- # requests.
64
+ # policy, or pass `null` to reset to the default policy.
66
65
  sig { returns(T.nilable(OpenAI::Beta::Agents::Environments::TemplateUpdateParams::Network)) }
67
66
  attr_reader :network
68
67
 
@@ -164,8 +163,7 @@ module OpenAI
164
163
  name: nil,
165
164
 
166
165
  # Network access available after setup completes. Omit to preserve the current
167
- # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
168
- # requests.
166
+ # policy, or pass `null` to reset to the default policy.
169
167
  network: nil,
170
168
 
171
169
  # Packages installed before the runtime network policy applies.
@@ -277,8 +275,7 @@ module OpenAI
277
275
  attr_accessor :blocked_domains
278
276
 
279
277
  # Network access available after setup completes. Omit to preserve the current
280
- # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
281
- # requests.
278
+ # policy, or pass `null` to reset to the default policy.
282
279
  sig do
283
280
  params(
284
281
 
@@ -312,9 +312,6 @@ module OpenAI
312
312
  # Uses the fast service tier.
313
313
  FAST = T.let(:fast, OpenAI::Beta::Agents::SessionCreateParams::Agent::ServiceTier::TaggedSymbol)
314
314
 
315
- # Uses the ultrafast service tier.
316
- ULTRAFAST = T.let(:ultrafast, OpenAI::Beta::Agents::SessionCreateParams::Agent::ServiceTier::TaggedSymbol)
317
-
318
315
  sig {
319
316
  override.returns(T::Array[OpenAI::Beta::Agents::SessionCreateParams::Agent::ServiceTier::TaggedSymbol])
320
317
  }
@@ -234,9 +234,6 @@ module OpenAI
234
234
  # Uses the fast service tier.
235
235
  FAST = T.let(:fast, OpenAI::Beta::Agents::SessionUpdateParams::Agent::ServiceTier::TaggedSymbol)
236
236
 
237
- # Uses the ultrafast service tier.
238
- ULTRAFAST = T.let(:ultrafast, OpenAI::Beta::Agents::SessionUpdateParams::Agent::ServiceTier::TaggedSymbol)
239
-
240
237
  sig {
241
238
  override.returns(T::Array[OpenAI::Beta::Agents::SessionUpdateParams::Agent::ServiceTier::TaggedSymbol])
242
239
  }
@@ -0,0 +1,139 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ module Agents
9
+
10
+ module Sessions
11
+
12
+ module Turns
13
+
14
+ class ItemListParams < OpenAI::Internal::Type::BaseModel
15
+
16
+ extend OpenAI::Internal::Type::RequestParameters::Converter
17
+ include OpenAI::Internal::Type::RequestParameters
18
+
19
+ OrHash = T.type_alias do
20
+ T.any(
21
+ OpenAI::Beta::Agents::Sessions::Turns::ItemListParams,
22
+ OpenAI::Internal::AnyHash
23
+ )
24
+ end
25
+
26
+ sig { returns(String) }
27
+ attr_accessor :session_id
28
+
29
+ sig { returns(String) }
30
+ attr_accessor :turn_id
31
+
32
+ # Return items after this cursor in the selected order. Pass the previous
33
+ # response's last_id, which can differ from the last item's ID.
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :after
36
+
37
+ sig { params(after: String).void }
38
+ attr_writer :after
39
+
40
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
41
+ sig { returns(T.nilable(Integer)) }
42
+ attr_reader :limit
43
+
44
+ sig { params(limit: Integer).void }
45
+ attr_writer :limit
46
+
47
+ # The order in which resources are returned. Defaults to `desc`.
48
+ sig { returns(T.nilable(OpenAI::Beta::Agents::Sessions::Turns::ItemListParams::Order::OrSymbol)) }
49
+ attr_reader :order
50
+
51
+ sig { params(order: OpenAI::Beta::Agents::Sessions::Turns::ItemListParams::Order::OrSymbol).void }
52
+ attr_writer :order
53
+
54
+ sig do
55
+ params(
56
+
57
+ session_id: String,
58
+
59
+ turn_id: String,
60
+
61
+ after: String,
62
+
63
+ limit: Integer,
64
+
65
+ order: OpenAI::Beta::Agents::Sessions::Turns::ItemListParams::Order::OrSymbol,
66
+
67
+ request_options: OpenAI::RequestOptions::OrHash
68
+ )
69
+ .returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+
73
+ session_id:,
74
+
75
+ turn_id:,
76
+
77
+ # Return items after this cursor in the selected order. Pass the previous
78
+ # response's last_id, which can differ from the last item's ID.
79
+ after: nil,
80
+
81
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
82
+ limit: nil,
83
+
84
+ # The order in which resources are returned. Defaults to `desc`.
85
+ order: nil,
86
+
87
+ request_options: {}
88
+ )
89
+ end
90
+
91
+ sig do
92
+ override.returns(
93
+ {
94
+ session_id: String,
95
+ turn_id: String,
96
+ after: String,
97
+ limit: Integer,
98
+ order: OpenAI::Beta::Agents::Sessions::Turns::ItemListParams::Order::OrSymbol,
99
+ request_options: OpenAI::RequestOptions
100
+ }
101
+ )
102
+ end
103
+ def to_hash
104
+ end
105
+
106
+ # The order in which resources are returned. Defaults to `desc`.
107
+ module Order
108
+ extend OpenAI::Internal::Type::Enum
109
+
110
+ TaggedSymbol = T.type_alias {
111
+ T.all(Symbol, OpenAI::Beta::Agents::Sessions::Turns::ItemListParams::Order)
112
+ }
113
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
114
+
115
+ # Returns resources in ascending order.
116
+ ASC = T.let(:asc, OpenAI::Beta::Agents::Sessions::Turns::ItemListParams::Order::TaggedSymbol)
117
+
118
+ # Returns resources in descending order.
119
+ DESC = T.let(:desc, OpenAI::Beta::Agents::Sessions::Turns::ItemListParams::Order::TaggedSymbol)
120
+
121
+ sig {
122
+ override.returns(T::Array[OpenAI::Beta::Agents::Sessions::Turns::ItemListParams::Order::TaggedSymbol])
123
+ }
124
+ def self.values
125
+ end
126
+ end
127
+
128
+ end
129
+
130
+ end
131
+
132
+ end
133
+
134
+ end
135
+
136
+ end
137
+
138
+ end
139
+ end
@@ -16,7 +16,7 @@ module OpenAI
16
16
  )
17
17
  end
18
18
 
19
- # The unique ID of the computer call tool output.
19
+ # The ID of the computer tool call output.
20
20
  sig { returns(String) }
21
21
  attr_accessor :id
22
22
 
@@ -96,7 +96,7 @@ module OpenAI
96
96
  end
97
97
  def self.new(
98
98
 
99
- # The unique ID of the computer call tool output.
99
+ # The ID of the computer tool call output.
100
100
  id:,
101
101
 
102
102
  # The ID of the computer tool call that produced the output.
@@ -136,6 +136,11 @@ module OpenAI
136
136
  }
137
137
  attr_writer :error_type
138
138
 
139
+ # An opaque target for explicitly continuing this review, or null when
140
+ # unavailable.
141
+ sig { returns(T.nilable(String)) }
142
+ attr_accessor :review_target
143
+
139
144
  # An optional public continuation instruction.
140
145
  sig { returns(T.nilable(OpenAI::Beta::BetaResponseError::Misalignment::Steer)) }
141
146
  attr_reader :steer
@@ -150,6 +155,8 @@ module OpenAI
150
155
 
151
156
  error_type: T.any(String, OpenAI::Beta::BetaResponseError::Misalignment::ErrorType::OrSymbol),
152
157
 
158
+ review_target: T.nilable(String),
159
+
153
160
  steer: OpenAI::Beta::BetaResponseError::Misalignment::Steer::OrHash
154
161
  )
155
162
  .returns(T.attached_class)
@@ -162,6 +169,10 @@ module OpenAI
162
169
  # An optional classification; clients must accept additional values.
163
170
  error_type: nil,
164
171
 
172
+ # An opaque target for explicitly continuing this review, or null when
173
+ # unavailable.
174
+ review_target: nil,
175
+
165
176
  # An optional public continuation instruction.
166
177
 
167
178
  steer: nil
@@ -173,6 +184,7 @@ module OpenAI
173
184
  {
174
185
  detailed_explanation: String,
175
186
  error_type: OpenAI::Beta::BetaResponseError::Misalignment::ErrorType::Variants,
187
+ review_target: T.nilable(String),
176
188
  steer: OpenAI::Beta::BetaResponseError::Misalignment::Steer
177
189
  }
178
190
  )
@@ -5009,6 +5009,11 @@ module OpenAI
5009
5009
  }
5010
5010
  attr_writer :error_type
5011
5011
 
5012
+ # An opaque target for explicitly continuing this review, or null when
5013
+ # unavailable.
5014
+ sig { returns(T.nilable(String)) }
5015
+ attr_accessor :review_target
5016
+
5012
5017
  # An optional public continuation instruction.
5013
5018
  sig {
5014
5019
  returns(
@@ -5035,6 +5040,8 @@ module OpenAI
5035
5040
  OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType::OrSymbol
5036
5041
  ),
5037
5042
 
5043
+ review_target: T.nilable(String),
5044
+
5038
5045
  steer: OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::Steer::OrHash
5039
5046
  )
5040
5047
  .returns(T.attached_class)
@@ -5047,6 +5054,10 @@ module OpenAI
5047
5054
  # An optional classification; clients must accept additional values.
5048
5055
  error_type: nil,
5049
5056
 
5057
+ # An opaque target for explicitly continuing this review, or null when
5058
+ # unavailable.
5059
+ review_target: nil,
5060
+
5050
5061
  # An optional public continuation instruction.
5051
5062
 
5052
5063
  steer: nil
@@ -5060,6 +5071,7 @@ module OpenAI
5060
5071
  error_type: T.nilable(
5061
5072
  OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType::Variants
5062
5073
  ),
5074
+ review_target: T.nilable(String),
5063
5075
  steer: T.nilable(
5064
5076
  OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::Steer
5065
5077
  )