openai 0.68.0 → 0.69.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 (701) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +7 -7
  4. data/lib/openai/internal/type/enum.rb +6 -6
  5. data/lib/openai/internal/util.rb +14 -2
  6. data/lib/openai/models/beta/assistant_create_params.rb +7 -14
  7. data/lib/openai/models/beta/assistant_update_params.rb +7 -14
  8. data/lib/openai/models/beta/beta_apply_patch_tool.rb +44 -0
  9. data/lib/openai/models/beta/beta_compacted_response.rb +58 -0
  10. data/lib/openai/models/beta/beta_computer_action.rb +398 -0
  11. data/lib/openai/models/beta/beta_computer_action_list.rb +13 -0
  12. data/lib/openai/models/beta/beta_computer_tool.rb +23 -0
  13. data/lib/openai/models/beta/beta_computer_use_preview_tool.rb +63 -0
  14. data/lib/openai/models/beta/beta_container_auto.rb +96 -0
  15. data/lib/openai/models/beta/beta_container_network_policy_allowlist.rb +37 -0
  16. data/lib/openai/models/beta/beta_container_network_policy_disabled.rb +20 -0
  17. data/lib/openai/models/beta/beta_container_network_policy_domain_secret.rb +36 -0
  18. data/lib/openai/models/beta/beta_container_reference.rb +28 -0
  19. data/lib/openai/models/beta/beta_custom_tool.rb +148 -0
  20. data/lib/openai/models/beta/beta_easy_input_message.rb +120 -0
  21. data/lib/openai/models/beta/beta_file_search_tool.rb +424 -0
  22. data/lib/openai/models/beta/beta_function_shell_tool.rb +67 -0
  23. data/lib/openai/models/beta/beta_function_tool.rb +97 -0
  24. data/lib/openai/models/beta/beta_inline_skill.rb +44 -0
  25. data/lib/openai/models/beta/beta_inline_skill_source.rb +38 -0
  26. data/lib/openai/models/beta/beta_local_environment.rb +28 -0
  27. data/lib/openai/models/beta/beta_local_skill.rb +36 -0
  28. data/lib/openai/models/beta/beta_namespace_tool.rb +146 -0
  29. data/lib/openai/models/beta/beta_response.rb +1425 -0
  30. data/lib/openai/models/beta/beta_response_apply_patch_tool_call.rb +258 -0
  31. data/lib/openai/models/beta/beta_response_apply_patch_tool_call_output.rb +156 -0
  32. data/lib/openai/models/beta/beta_response_audio_delta_event.rb +63 -0
  33. data/lib/openai/models/beta/beta_response_audio_done_event.rb +55 -0
  34. data/lib/openai/models/beta/beta_response_audio_transcript_delta_event.rb +63 -0
  35. data/lib/openai/models/beta/beta_response_audio_transcript_done_event.rb +55 -0
  36. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rb +81 -0
  37. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rb +76 -0
  38. data/lib/openai/models/beta/beta_response_code_interpreter_call_completed_event.rb +73 -0
  39. data/lib/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rb +77 -0
  40. data/lib/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rb +77 -0
  41. data/lib/openai/models/beta/beta_response_code_interpreter_tool_call.rb +168 -0
  42. data/lib/openai/models/beta/beta_response_compaction_item.rb +69 -0
  43. data/lib/openai/models/beta/beta_response_compaction_item_param.rb +61 -0
  44. data/lib/openai/models/beta/beta_response_completed_event.rb +63 -0
  45. data/lib/openai/models/beta/beta_response_computer_tool_call.rb +156 -0
  46. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +141 -0
  47. data/lib/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rb +43 -0
  48. data/lib/openai/models/beta/beta_response_container_reference.rb +29 -0
  49. data/lib/openai/models/beta/beta_response_content.rb +56 -0
  50. data/lib/openai/models/beta/beta_response_content_part_added_event.rb +129 -0
  51. data/lib/openai/models/beta/beta_response_content_part_done_event.rb +129 -0
  52. data/lib/openai/models/beta/beta_response_conversation_param.rb +22 -0
  53. data/lib/openai/models/beta/beta_response_created_event.rb +63 -0
  54. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +142 -0
  55. data/lib/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rb +76 -0
  56. data/lib/openai/models/beta/beta_response_custom_tool_call_input_done_event.rb +76 -0
  57. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +55 -0
  58. data/lib/openai/models/beta/beta_response_custom_tool_call_output.rb +171 -0
  59. data/lib/openai/models/beta/beta_response_custom_tool_call_output_item.rb +55 -0
  60. data/lib/openai/models/beta/beta_response_error.rb +63 -0
  61. data/lib/openai/models/beta/beta_response_error_event.rb +79 -0
  62. data/lib/openai/models/beta/beta_response_failed_event.rb +63 -0
  63. data/lib/openai/models/beta/beta_response_file_search_call_completed_event.rb +72 -0
  64. data/lib/openai/models/beta/beta_response_file_search_call_in_progress_event.rb +72 -0
  65. data/lib/openai/models/beta/beta_response_file_search_call_searching_event.rb +72 -0
  66. data/lib/openai/models/beta/beta_response_file_search_tool_call.rb +168 -0
  67. data/lib/openai/models/beta/beta_response_format_text_config.rb +72 -0
  68. data/lib/openai/models/beta/beta_response_format_text_json_schema_config.rb +66 -0
  69. data/lib/openai/models/beta/beta_response_function_call_arguments_delta_event.rb +80 -0
  70. data/lib/openai/models/beta/beta_response_function_call_arguments_done_event.rb +83 -0
  71. data/lib/openai/models/beta/beta_response_function_call_output_item.rb +28 -0
  72. data/lib/openai/models/beta/beta_response_function_call_output_item_list.rb +14 -0
  73. data/lib/openai/models/beta/beta_response_function_shell_call_output_content.rb +90 -0
  74. data/lib/openai/models/beta/beta_response_function_shell_tool_call.rb +216 -0
  75. data/lib/openai/models/beta/beta_response_function_shell_tool_call_output.rb +265 -0
  76. data/lib/openai/models/beta/beta_response_function_tool_call.rb +168 -0
  77. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +57 -0
  78. data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +201 -0
  79. data/lib/openai/models/beta/beta_response_function_web_search.rb +238 -0
  80. data/lib/openai/models/beta/beta_response_image_gen_call_completed_event.rb +69 -0
  81. data/lib/openai/models/beta/beta_response_image_gen_call_generating_event.rb +69 -0
  82. data/lib/openai/models/beta/beta_response_image_gen_call_in_progress_event.rb +68 -0
  83. data/lib/openai/models/beta/beta_response_image_gen_call_partial_image_event.rb +89 -0
  84. data/lib/openai/models/beta/beta_response_in_progress_event.rb +63 -0
  85. data/lib/openai/models/beta/beta_response_includable.rb +45 -0
  86. data/lib/openai/models/beta/beta_response_incomplete_event.rb +63 -0
  87. data/lib/openai/models/beta/beta_response_inject_created_event.rb +51 -0
  88. data/lib/openai/models/beta/beta_response_inject_event.rb +40 -0
  89. data/lib/openai/models/beta/beta_response_inject_failed_event.rb +103 -0
  90. data/lib/openai/models/beta/beta_response_input.rb +13 -0
  91. data/lib/openai/models/beta/beta_response_input_audio.rb +70 -0
  92. data/lib/openai/models/beta/beta_response_input_content.rb +28 -0
  93. data/lib/openai/models/beta/beta_response_input_file.rb +113 -0
  94. data/lib/openai/models/beta/beta_response_input_file_content.rb +115 -0
  95. data/lib/openai/models/beta/beta_response_input_image.rb +94 -0
  96. data/lib/openai/models/beta/beta_response_input_image_content.rb +96 -0
  97. data/lib/openai/models/beta/beta_response_input_item.rb +2819 -0
  98. data/lib/openai/models/beta/beta_response_input_message_content_list.rb +14 -0
  99. data/lib/openai/models/beta/beta_response_input_message_item.rb +108 -0
  100. data/lib/openai/models/beta/beta_response_input_text.rb +59 -0
  101. data/lib/openai/models/beta/beta_response_input_text_content.rb +61 -0
  102. data/lib/openai/models/beta/beta_response_item.rb +1438 -0
  103. data/lib/openai/models/beta/beta_response_local_environment.rb +22 -0
  104. data/lib/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rb +81 -0
  105. data/lib/openai/models/beta/beta_response_mcp_call_arguments_done_event.rb +79 -0
  106. data/lib/openai/models/beta/beta_response_mcp_call_completed_event.rb +68 -0
  107. data/lib/openai/models/beta/beta_response_mcp_call_failed_event.rb +68 -0
  108. data/lib/openai/models/beta/beta_response_mcp_call_in_progress_event.rb +68 -0
  109. data/lib/openai/models/beta/beta_response_mcp_list_tools_completed_event.rb +68 -0
  110. data/lib/openai/models/beta/beta_response_mcp_list_tools_failed_event.rb +68 -0
  111. data/lib/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rb +69 -0
  112. data/lib/openai/models/beta/beta_response_output_audio.rb +41 -0
  113. data/lib/openai/models/beta/beta_response_output_item.rb +1444 -0
  114. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +71 -0
  115. data/lib/openai/models/beta/beta_response_output_item_done_event.rb +71 -0
  116. data/lib/openai/models/beta/beta_response_output_message.rb +139 -0
  117. data/lib/openai/models/beta/beta_response_output_refusal.rb +30 -0
  118. data/lib/openai/models/beta/beta_response_output_text.rb +292 -0
  119. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +92 -0
  120. data/lib/openai/models/beta/beta_response_prompt.rb +65 -0
  121. data/lib/openai/models/beta/beta_response_queued_event.rb +60 -0
  122. data/lib/openai/models/beta/beta_response_reasoning_item.rb +151 -0
  123. data/lib/openai/models/beta/beta_response_reasoning_summary_part_added_event.rb +110 -0
  124. data/lib/openai/models/beta/beta_response_reasoning_summary_part_done_event.rb +132 -0
  125. data/lib/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rb +88 -0
  126. data/lib/openai/models/beta/beta_response_reasoning_summary_text_done_event.rb +88 -0
  127. data/lib/openai/models/beta/beta_response_reasoning_text_delta_event.rb +87 -0
  128. data/lib/openai/models/beta/beta_response_reasoning_text_done_event.rb +87 -0
  129. data/lib/openai/models/beta/beta_response_refusal_delta_event.rb +87 -0
  130. data/lib/openai/models/beta/beta_response_refusal_done_event.rb +87 -0
  131. data/lib/openai/models/beta/beta_response_status.rb +25 -0
  132. data/lib/openai/models/beta/beta_response_stream_event.rb +203 -0
  133. data/lib/openai/models/beta/beta_response_text_config.rb +67 -0
  134. data/lib/openai/models/beta/beta_response_text_delta_event.rb +150 -0
  135. data/lib/openai/models/beta/beta_response_text_done_event.rb +150 -0
  136. data/lib/openai/models/beta/beta_response_tool_search_call.rb +117 -0
  137. data/lib/openai/models/beta/beta_response_tool_search_output_item.rb +117 -0
  138. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +109 -0
  139. data/lib/openai/models/beta/beta_response_usage.rb +95 -0
  140. data/lib/openai/models/beta/beta_response_web_search_call_completed_event.rb +72 -0
  141. data/lib/openai/models/beta/beta_response_web_search_call_in_progress_event.rb +72 -0
  142. data/lib/openai/models/beta/beta_response_web_search_call_searching_event.rb +72 -0
  143. data/lib/openai/models/beta/beta_responses_client_event.rb +1432 -0
  144. data/lib/openai/models/beta/beta_responses_server_event.rb +212 -0
  145. data/lib/openai/models/beta/beta_skill_reference.rb +36 -0
  146. data/lib/openai/models/beta/beta_tool.rb +910 -0
  147. data/lib/openai/models/beta/beta_tool_choice_allowed.rb +75 -0
  148. data/lib/openai/models/beta/beta_tool_choice_apply_patch.rb +22 -0
  149. data/lib/openai/models/beta/beta_tool_choice_custom.rb +30 -0
  150. data/lib/openai/models/beta/beta_tool_choice_function.rb +30 -0
  151. data/lib/openai/models/beta/beta_tool_choice_mcp.rb +42 -0
  152. data/lib/openai/models/beta/beta_tool_choice_options.rb +28 -0
  153. data/lib/openai/models/beta/beta_tool_choice_shell.rb +22 -0
  154. data/lib/openai/models/beta/beta_tool_choice_types.rb +67 -0
  155. data/lib/openai/models/beta/beta_tool_search_tool.rb +59 -0
  156. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +143 -0
  157. data/lib/openai/models/beta/beta_web_search_tool.rb +162 -0
  158. data/lib/openai/models/beta/response_cancel_params.rb +37 -0
  159. data/lib/openai/models/beta/response_compact_params.rb +549 -0
  160. data/lib/openai/models/beta/response_create_params.rb +1343 -0
  161. data/lib/openai/models/beta/response_delete_params.rb +37 -0
  162. data/lib/openai/models/beta/response_retrieve_params.rb +74 -0
  163. data/lib/openai/models/beta/responses/beta_response_item_list.rb +54 -0
  164. data/lib/openai/models/beta/responses/input_item_list_params.rb +96 -0
  165. data/lib/openai/models/beta/responses/input_token_count_params.rb +542 -0
  166. data/lib/openai/models/beta/responses/input_token_count_response.rb +26 -0
  167. data/lib/openai/models/beta/threads/run_create_params.rb +7 -14
  168. data/lib/openai/models/chat/chat_completion_content_part.rb +31 -1
  169. data/lib/openai/models/chat/chat_completion_content_part_image.rb +31 -1
  170. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +31 -1
  171. data/lib/openai/models/chat/chat_completion_content_part_text.rb +31 -1
  172. data/lib/openai/models/chat/completion_create_params.rb +200 -19
  173. data/lib/openai/models/chat_model.rb +3 -0
  174. data/lib/openai/models/completion_usage.rb +9 -1
  175. data/lib/openai/models/conversations/computer_screenshot_content.rb +28 -1
  176. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  177. data/lib/openai/models/conversations/conversation_item.rb +106 -3
  178. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  179. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  180. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +7 -14
  181. data/lib/openai/models/evals/run_cancel_response.rb +16 -30
  182. data/lib/openai/models/evals/run_create_params.rb +16 -30
  183. data/lib/openai/models/evals/run_create_response.rb +16 -30
  184. data/lib/openai/models/evals/run_list_response.rb +16 -30
  185. data/lib/openai/models/evals/run_retrieve_response.rb +16 -30
  186. data/lib/openai/models/graders/score_model_grader.rb +7 -14
  187. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +23 -1
  188. data/lib/openai/models/realtime/realtime_session_create_request.rb +6 -0
  189. data/lib/openai/models/realtime/realtime_session_create_response.rb +29 -1
  190. data/lib/openai/models/realtime/realtime_tools_config_union.rb +23 -1
  191. data/lib/openai/models/reasoning.rb +47 -15
  192. data/lib/openai/models/reasoning_effort.rb +7 -13
  193. data/lib/openai/models/responses/apply_patch_tool.rb +23 -1
  194. data/lib/openai/models/responses/compacted_response.rb +2 -2
  195. data/lib/openai/models/responses/custom_tool.rb +21 -1
  196. data/lib/openai/models/responses/function_shell_tool.rb +23 -1
  197. data/lib/openai/models/responses/function_tool.rb +32 -3
  198. data/lib/openai/models/responses/input_token_count_params.rb +21 -8
  199. data/lib/openai/models/responses/namespace_tool.rb +41 -2
  200. data/lib/openai/models/responses/response.rb +98 -14
  201. data/lib/openai/models/responses/response_apply_patch_tool_call.rb +56 -1
  202. data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +56 -1
  203. data/lib/openai/models/responses/response_compact_params.rb +107 -4
  204. data/lib/openai/models/responses/response_create_params.rb +214 -13
  205. data/lib/openai/models/responses/response_custom_tool_call.rb +56 -1
  206. data/lib/openai/models/responses/response_custom_tool_call_output.rb +58 -1
  207. data/lib/openai/models/responses/response_error.rb +1 -0
  208. data/lib/openai/models/responses/response_function_shell_tool_call.rb +56 -1
  209. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +56 -1
  210. data/lib/openai/models/responses/response_function_tool_call.rb +56 -1
  211. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +58 -1
  212. data/lib/openai/models/responses/response_input_file.rb +39 -8
  213. data/lib/openai/models/responses/response_input_file_content.rb +41 -8
  214. data/lib/openai/models/responses/response_input_image.rb +27 -1
  215. data/lib/openai/models/responses/response_input_image_content.rb +29 -1
  216. data/lib/openai/models/responses/response_input_item.rb +396 -8
  217. data/lib/openai/models/responses/response_input_text.rb +30 -1
  218. data/lib/openai/models/responses/response_input_text_content.rb +32 -1
  219. data/lib/openai/models/responses/response_item.rb +106 -3
  220. data/lib/openai/models/responses/response_item_list.rb +2 -2
  221. data/lib/openai/models/responses/response_output_item.rb +106 -3
  222. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  223. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  224. data/lib/openai/models/responses/response_reasoning_summary_part_done_event.rb +23 -1
  225. data/lib/openai/models/responses/response_tool_search_output_item.rb +2 -2
  226. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +2 -2
  227. data/lib/openai/models/responses/response_usage.rb +9 -1
  228. data/lib/openai/models/responses/responses_client_event.rb +215 -13
  229. data/lib/openai/models/responses/tool.rb +58 -3
  230. data/lib/openai/models/webhooks/safety_identifier_blocked_webhook_event.rb +118 -0
  231. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  232. data/lib/openai/resources/beta/assistants.rb +2 -2
  233. data/lib/openai/resources/beta/responses/input_items.rb +58 -0
  234. data/lib/openai/resources/beta/responses/input_tokens.rb +73 -0
  235. data/lib/openai/resources/beta/responses.rb +440 -0
  236. data/lib/openai/resources/beta/threads/runs.rb +2 -2
  237. data/lib/openai/resources/beta.rb +4 -0
  238. data/lib/openai/resources/chat/completions.rb +10 -6
  239. data/lib/openai/resources/conversations/items.rb +3 -3
  240. data/lib/openai/resources/conversations.rb +1 -1
  241. data/lib/openai/resources/responses/input_items.rb +1 -1
  242. data/lib/openai/resources/responses/input_tokens.rb +3 -3
  243. data/lib/openai/resources/responses.rb +22 -12
  244. data/lib/openai/resources/webhooks.rb +1 -1
  245. data/lib/openai/version.rb +1 -1
  246. data/lib/openai.rb +163 -0
  247. data/rbi/openai/models/beta/assistant_create_params.rbi +12 -26
  248. data/rbi/openai/models/beta/assistant_update_params.rbi +12 -26
  249. data/rbi/openai/models/beta/beta_apply_patch_tool.rbi +99 -0
  250. data/rbi/openai/models/beta/beta_compacted_response.rbi +120 -0
  251. data/rbi/openai/models/beta/beta_computer_action.rbi +593 -0
  252. data/rbi/openai/models/beta/beta_computer_action_list.rbi +18 -0
  253. data/rbi/openai/models/beta/beta_computer_tool.rbi +33 -0
  254. data/rbi/openai/models/beta/beta_computer_use_preview_tool.rbi +126 -0
  255. data/rbi/openai/models/beta/beta_container_auto.rbi +231 -0
  256. data/rbi/openai/models/beta/beta_container_network_policy_allowlist.rbi +81 -0
  257. data/rbi/openai/models/beta/beta_container_network_policy_disabled.rbi +35 -0
  258. data/rbi/openai/models/beta/beta_container_network_policy_domain_secret.rbi +53 -0
  259. data/rbi/openai/models/beta/beta_container_reference.rbi +42 -0
  260. data/rbi/openai/models/beta/beta_custom_tool.rbi +302 -0
  261. data/rbi/openai/models/beta/beta_easy_input_message.rbi +211 -0
  262. data/rbi/openai/models/beta/beta_file_search_tool.rbi +863 -0
  263. data/rbi/openai/models/beta/beta_function_shell_tool.rbi +155 -0
  264. data/rbi/openai/models/beta/beta_function_tool.rbi +154 -0
  265. data/rbi/openai/models/beta/beta_inline_skill.rbi +68 -0
  266. data/rbi/openai/models/beta/beta_inline_skill_source.rbi +53 -0
  267. data/rbi/openai/models/beta/beta_local_environment.rbi +51 -0
  268. data/rbi/openai/models/beta/beta_local_skill.rbi +49 -0
  269. data/rbi/openai/models/beta/beta_namespace_tool.rbi +252 -0
  270. data/rbi/openai/models/beta/beta_response.rbi +2495 -0
  271. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call.rbi +431 -0
  272. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call_output.rbi +277 -0
  273. data/rbi/openai/models/beta/beta_response_audio_delta_event.rbi +110 -0
  274. data/rbi/openai/models/beta/beta_response_audio_done_event.rbi +100 -0
  275. data/rbi/openai/models/beta/beta_response_audio_transcript_delta_event.rbi +118 -0
  276. data/rbi/openai/models/beta/beta_response_audio_transcript_done_event.rbi +108 -0
  277. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbi +136 -0
  278. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbi +134 -0
  279. data/rbi/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbi +128 -0
  280. data/rbi/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbi +128 -0
  281. data/rbi/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbi +128 -0
  282. data/rbi/openai/models/beta/beta_response_code_interpreter_tool_call.rbi +315 -0
  283. data/rbi/openai/models/beta/beta_response_compaction_item.rbi +116 -0
  284. data/rbi/openai/models/beta/beta_response_compaction_item_param.rbi +114 -0
  285. data/rbi/openai/models/beta/beta_response_completed_event.rbi +111 -0
  286. data/rbi/openai/models/beta/beta_response_computer_tool_call.rbi +404 -0
  287. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +296 -0
  288. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbi +62 -0
  289. data/rbi/openai/models/beta/beta_response_container_reference.rbi +41 -0
  290. data/rbi/openai/models/beta/beta_response_content.rbi +66 -0
  291. data/rbi/openai/models/beta/beta_response_content_part_added_event.rbi +205 -0
  292. data/rbi/openai/models/beta/beta_response_content_part_done_event.rbi +203 -0
  293. data/rbi/openai/models/beta/beta_response_conversation_param.rbi +35 -0
  294. data/rbi/openai/models/beta/beta_response_created_event.rbi +109 -0
  295. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +242 -0
  296. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbi +134 -0
  297. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbi +134 -0
  298. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +113 -0
  299. data/rbi/openai/models/beta/beta_response_custom_tool_call_output.rbi +303 -0
  300. data/rbi/openai/models/beta/beta_response_custom_tool_call_output_item.rbi +114 -0
  301. data/rbi/openai/models/beta/beta_response_error.rbi +165 -0
  302. data/rbi/openai/models/beta/beta_response_error_event.rbi +120 -0
  303. data/rbi/openai/models/beta/beta_response_failed_event.rbi +107 -0
  304. data/rbi/openai/models/beta/beta_response_file_search_call_completed_event.rbi +126 -0
  305. data/rbi/openai/models/beta/beta_response_file_search_call_in_progress_event.rbi +126 -0
  306. data/rbi/openai/models/beta/beta_response_file_search_call_searching_event.rbi +126 -0
  307. data/rbi/openai/models/beta/beta_response_file_search_tool_call.rbi +328 -0
  308. data/rbi/openai/models/beta/beta_response_format_text_config.rbi +97 -0
  309. data/rbi/openai/models/beta/beta_response_format_text_json_schema_config.rbi +97 -0
  310. data/rbi/openai/models/beta/beta_response_function_call_arguments_delta_event.rbi +134 -0
  311. data/rbi/openai/models/beta/beta_response_function_call_arguments_done_event.rbi +140 -0
  312. data/rbi/openai/models/beta/beta_response_function_call_output_item.rbi +32 -0
  313. data/rbi/openai/models/beta/beta_response_function_call_output_item_list.rbi +21 -0
  314. data/rbi/openai/models/beta/beta_response_function_shell_call_output_content.rbi +160 -0
  315. data/rbi/openai/models/beta/beta_response_function_shell_tool_call.rbi +389 -0
  316. data/rbi/openai/models/beta/beta_response_function_shell_tool_call_output.rbi +470 -0
  317. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +310 -0
  318. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +115 -0
  319. data/rbi/openai/models/beta/beta_response_function_tool_call_output_item.rbi +364 -0
  320. data/rbi/openai/models/beta/beta_response_function_web_search.rbi +416 -0
  321. data/rbi/openai/models/beta/beta_response_image_gen_call_completed_event.rbi +127 -0
  322. data/rbi/openai/models/beta/beta_response_image_gen_call_generating_event.rbi +127 -0
  323. data/rbi/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbi +126 -0
  324. data/rbi/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbi +144 -0
  325. data/rbi/openai/models/beta/beta_response_in_progress_event.rbi +113 -0
  326. data/rbi/openai/models/beta/beta_response_includable.rbi +86 -0
  327. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +113 -0
  328. data/rbi/openai/models/beta/beta_response_inject_created_event.rbi +75 -0
  329. data/rbi/openai/models/beta/beta_response_inject_event.rbi +183 -0
  330. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +304 -0
  331. data/rbi/openai/models/beta/beta_response_input.rbi +18 -0
  332. data/rbi/openai/models/beta/beta_response_input_audio.rbi +144 -0
  333. data/rbi/openai/models/beta/beta_response_input_content.rbi +31 -0
  334. data/rbi/openai/models/beta/beta_response_input_file.rbi +210 -0
  335. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +211 -0
  336. data/rbi/openai/models/beta/beta_response_input_image.rbi +173 -0
  337. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +191 -0
  338. data/rbi/openai/models/beta/beta_response_input_item.rbi +5505 -0
  339. data/rbi/openai/models/beta/beta_response_input_message_content_list.rbi +21 -0
  340. data/rbi/openai/models/beta/beta_response_input_message_item.rbi +235 -0
  341. data/rbi/openai/models/beta/beta_response_input_text.rbi +109 -0
  342. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +115 -0
  343. data/rbi/openai/models/beta/beta_response_item.rbi +2592 -0
  344. data/rbi/openai/models/beta/beta_response_local_environment.rbi +35 -0
  345. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbi +137 -0
  346. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbi +134 -0
  347. data/rbi/openai/models/beta/beta_response_mcp_call_completed_event.rbi +123 -0
  348. data/rbi/openai/models/beta/beta_response_mcp_call_failed_event.rbi +121 -0
  349. data/rbi/openai/models/beta/beta_response_mcp_call_in_progress_event.rbi +124 -0
  350. data/rbi/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbi +126 -0
  351. data/rbi/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbi +124 -0
  352. data/rbi/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbi +127 -0
  353. data/rbi/openai/models/beta/beta_response_output_audio.rbi +53 -0
  354. data/rbi/openai/models/beta/beta_response_output_item.rbi +2627 -0
  355. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +154 -0
  356. data/rbi/openai/models/beta/beta_response_output_item_done_event.rbi +154 -0
  357. data/rbi/openai/models/beta/beta_response_output_message.rbi +267 -0
  358. data/rbi/openai/models/beta/beta_response_output_refusal.rbi +41 -0
  359. data/rbi/openai/models/beta/beta_response_output_text.rbi +479 -0
  360. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +150 -0
  361. data/rbi/openai/models/beta/beta_response_prompt.rbi +122 -0
  362. data/rbi/openai/models/beta/beta_response_queued_event.rbi +107 -0
  363. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +274 -0
  364. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbi +188 -0
  365. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbi +243 -0
  366. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbi +142 -0
  367. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbi +142 -0
  368. data/rbi/openai/models/beta/beta_response_reasoning_text_delta_event.rbi +140 -0
  369. data/rbi/openai/models/beta/beta_response_reasoning_text_done_event.rbi +140 -0
  370. data/rbi/openai/models/beta/beta_response_refusal_delta_event.rbi +135 -0
  371. data/rbi/openai/models/beta/beta_response_refusal_done_event.rbi +135 -0
  372. data/rbi/openai/models/beta/beta_response_status.rbi +38 -0
  373. data/rbi/openai/models/beta/beta_response_stream_event.rbi +81 -0
  374. data/rbi/openai/models/beta/beta_response_text_config.rbi +166 -0
  375. data/rbi/openai/models/beta/beta_response_text_delta_event.rbi +263 -0
  376. data/rbi/openai/models/beta/beta_response_text_done_event.rbi +261 -0
  377. data/rbi/openai/models/beta/beta_response_tool_search_call.rbi +218 -0
  378. data/rbi/openai/models/beta/beta_response_tool_search_output_item.rbi +248 -0
  379. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +307 -0
  380. data/rbi/openai/models/beta/beta_response_usage.rbi +163 -0
  381. data/rbi/openai/models/beta/beta_response_web_search_call_completed_event.rbi +126 -0
  382. data/rbi/openai/models/beta/beta_response_web_search_call_in_progress_event.rbi +126 -0
  383. data/rbi/openai/models/beta/beta_response_web_search_call_searching_event.rbi +126 -0
  384. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2831 -0
  385. data/rbi/openai/models/beta/beta_responses_server_event.rbi +83 -0
  386. data/rbi/openai/models/beta/beta_skill_reference.rbi +52 -0
  387. data/rbi/openai/models/beta/beta_tool.rbi +1835 -0
  388. data/rbi/openai/models/beta/beta_tool_choice_allowed.rbi +126 -0
  389. data/rbi/openai/models/beta/beta_tool_choice_apply_patch.rbi +35 -0
  390. data/rbi/openai/models/beta/beta_tool_choice_custom.rbi +38 -0
  391. data/rbi/openai/models/beta/beta_tool_choice_function.rbi +41 -0
  392. data/rbi/openai/models/beta/beta_tool_choice_mcp.rbi +55 -0
  393. data/rbi/openai/models/beta/beta_tool_choice_options.rbi +38 -0
  394. data/rbi/openai/models/beta/beta_tool_choice_shell.rbi +32 -0
  395. data/rbi/openai/models/beta/beta_tool_choice_types.rbi +134 -0
  396. data/rbi/openai/models/beta/beta_tool_search_tool.rbi +109 -0
  397. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +311 -0
  398. data/rbi/openai/models/beta/beta_web_search_tool.rbi +329 -0
  399. data/rbi/openai/models/beta/response_cancel_params.rbi +83 -0
  400. data/rbi/openai/models/beta/response_compact_params.rbi +1033 -0
  401. data/rbi/openai/models/beta/response_create_params.rbi +2739 -0
  402. data/rbi/openai/models/beta/response_delete_params.rbi +83 -0
  403. data/rbi/openai/models/beta/response_retrieve_params.rbi +145 -0
  404. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +113 -0
  405. data/rbi/openai/models/beta/responses/input_item_list_params.rbi +223 -0
  406. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +1248 -0
  407. data/rbi/openai/models/beta/responses/input_token_count_response.rbi +37 -0
  408. data/rbi/openai/models/beta/threads/run_create_params.rbi +12 -26
  409. data/rbi/openai/models/chat/chat_completion_content_part.rbi +57 -1
  410. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +57 -1
  411. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +57 -1
  412. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +70 -2
  413. data/rbi/openai/models/chat/completion_create_params.rbi +513 -32
  414. data/rbi/openai/models/chat_model.rbi +3 -0
  415. data/rbi/openai/models/completion_usage.rbi +21 -4
  416. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +57 -1
  417. data/rbi/openai/models/conversations/conversation_create_params.rbi +9 -3
  418. data/rbi/openai/models/conversations/conversation_item.rbi +178 -0
  419. data/rbi/openai/models/conversations/conversation_item_list.rbi +2 -0
  420. data/rbi/openai/models/conversations/item_create_params.rbi +9 -3
  421. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +12 -26
  422. data/rbi/openai/models/evals/run_cancel_response.rbi +26 -52
  423. data/rbi/openai/models/evals/run_create_params.rbi +28 -52
  424. data/rbi/openai/models/evals/run_create_response.rbi +26 -52
  425. data/rbi/openai/models/evals/run_list_response.rbi +26 -52
  426. data/rbi/openai/models/evals/run_retrieve_response.rbi +26 -52
  427. data/rbi/openai/models/graders/score_model_grader.rbi +12 -26
  428. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +60 -0
  429. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +10 -0
  430. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +70 -0
  431. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +60 -0
  432. data/rbi/openai/models/reasoning.rbi +51 -26
  433. data/rbi/openai/models/reasoning_effort.rbi +7 -13
  434. data/rbi/openai/models/responses/apply_patch_tool.rbi +69 -2
  435. data/rbi/openai/models/responses/compacted_response.rbi +2 -0
  436. data/rbi/openai/models/responses/custom_tool.rbi +53 -0
  437. data/rbi/openai/models/responses/function_shell_tool.rbi +57 -0
  438. data/rbi/openai/models/responses/function_tool.rbi +68 -3
  439. data/rbi/openai/models/responses/input_token_count_params.rbi +32 -0
  440. data/rbi/openai/models/responses/namespace_tool.rbi +76 -0
  441. data/rbi/openai/models/responses/response.rbi +192 -3
  442. data/rbi/openai/models/responses/response_apply_patch_tool_call.rbi +98 -0
  443. data/rbi/openai/models/responses/response_apply_patch_tool_call_output.rbi +98 -0
  444. data/rbi/openai/models/responses/response_compact_params.rbi +231 -0
  445. data/rbi/openai/models/responses/response_create_params.rbi +537 -6
  446. data/rbi/openai/models/responses/response_custom_tool_call.rbi +104 -0
  447. data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +111 -1
  448. data/rbi/openai/models/responses/response_error.rbi +5 -0
  449. data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +98 -0
  450. data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +98 -0
  451. data/rbi/openai/models/responses/response_function_tool_call.rbi +104 -0
  452. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +104 -0
  453. data/rbi/openai/models/responses/response_input_file.rbi +77 -10
  454. data/rbi/openai/models/responses/response_input_file_content.rbi +83 -10
  455. data/rbi/openai/models/responses/response_input_image.rbi +57 -1
  456. data/rbi/openai/models/responses/response_input_image_content.rbi +63 -1
  457. data/rbi/openai/models/responses/response_input_item.rbi +748 -8
  458. data/rbi/openai/models/responses/response_input_text.rbi +70 -2
  459. data/rbi/openai/models/responses/response_input_text_content.rbi +76 -2
  460. data/rbi/openai/models/responses/response_item.rbi +178 -0
  461. data/rbi/openai/models/responses/response_item_list.rbi +2 -0
  462. data/rbi/openai/models/responses/response_output_item.rbi +178 -0
  463. data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -0
  464. data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -0
  465. data/rbi/openai/models/responses/response_reasoning_summary_part_done_event.rbi +58 -1
  466. data/rbi/openai/models/responses/response_tool_search_output_item.rbi +1 -0
  467. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +3 -0
  468. data/rbi/openai/models/responses/response_usage.rbi +16 -2
  469. data/rbi/openai/models/responses/responses_client_event.rbi +537 -6
  470. data/rbi/openai/models/responses/tool.rbi +142 -1
  471. data/rbi/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbi +209 -0
  472. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +2 -1
  473. data/rbi/openai/resources/beta/assistants.rbi +12 -26
  474. data/rbi/openai/resources/beta/responses/input_items.rbi +58 -0
  475. data/rbi/openai/resources/beta/responses/input_tokens.rbi +154 -0
  476. data/rbi/openai/resources/beta/responses.rbi +903 -0
  477. data/rbi/openai/resources/beta/threads/runs.rbi +12 -26
  478. data/rbi/openai/resources/beta.rbi +3 -0
  479. data/rbi/openai/resources/chat/completions.rbi +48 -28
  480. data/rbi/openai/resources/conversations/items.rbi +3 -1
  481. data/rbi/openai/resources/conversations.rbi +3 -1
  482. data/rbi/openai/resources/responses/input_tokens.rbi +2 -0
  483. data/rbi/openai/resources/responses.rbi +54 -2
  484. data/rbi/openai/resources/webhooks.rbi +2 -1
  485. data/sig/openai/client.rbs +1 -1
  486. data/sig/openai/internal/transport/base_client.rbs +2 -2
  487. data/sig/openai/models/beta/beta_apply_patch_tool.rbs +40 -0
  488. data/sig/openai/models/beta/beta_compacted_response.rbs +44 -0
  489. data/sig/openai/models/beta/beta_computer_action.rbs +259 -0
  490. data/sig/openai/models/beta/beta_computer_action_list.rbs +12 -0
  491. data/sig/openai/models/beta/beta_computer_tool.rbs +17 -0
  492. data/sig/openai/models/beta/beta_computer_use_preview_tool.rbs +53 -0
  493. data/sig/openai/models/beta/beta_container_auto.rbs +86 -0
  494. data/sig/openai/models/beta/beta_container_network_policy_allowlist.rbs +38 -0
  495. data/sig/openai/models/beta/beta_container_network_policy_disabled.rbs +17 -0
  496. data/sig/openai/models/beta/beta_container_network_policy_domain_secret.rbs +22 -0
  497. data/sig/openai/models/beta/beta_container_reference.rbs +23 -0
  498. data/sig/openai/models/beta/beta_custom_tool.rbs +126 -0
  499. data/sig/openai/models/beta/beta_easy_input_message.rbs +87 -0
  500. data/sig/openai/models/beta/beta_file_search_tool.rbs +298 -0
  501. data/sig/openai/models/beta/beta_function_shell_tool.rbs +56 -0
  502. data/sig/openai/models/beta/beta_function_tool.rbs +72 -0
  503. data/sig/openai/models/beta/beta_inline_skill.rbs +39 -0
  504. data/sig/openai/models/beta/beta_inline_skill_source.rbs +30 -0
  505. data/sig/openai/models/beta/beta_local_environment.rbs +30 -0
  506. data/sig/openai/models/beta/beta_local_skill.rbs +26 -0
  507. data/sig/openai/models/beta/beta_namespace_tool.rbs +114 -0
  508. data/sig/openai/models/beta/beta_response.rbs +860 -0
  509. data/sig/openai/models/beta/beta_response_apply_patch_tool_call.rbs +177 -0
  510. data/sig/openai/models/beta/beta_response_apply_patch_tool_call_output.rbs +118 -0
  511. data/sig/openai/models/beta/beta_response_audio_delta_event.rbs +49 -0
  512. data/sig/openai/models/beta/beta_response_audio_done_event.rbs +44 -0
  513. data/sig/openai/models/beta/beta_response_audio_transcript_delta_event.rbs +49 -0
  514. data/sig/openai/models/beta/beta_response_audio_transcript_done_event.rbs +44 -0
  515. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbs +59 -0
  516. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbs +59 -0
  517. data/sig/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbs +54 -0
  518. data/sig/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbs +54 -0
  519. data/sig/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbs +54 -0
  520. data/sig/openai/models/beta/beta_response_code_interpreter_tool_call.rbs +113 -0
  521. data/sig/openai/models/beta/beta_response_compaction_item.rbs +60 -0
  522. data/sig/openai/models/beta/beta_response_compaction_item_param.rbs +49 -0
  523. data/sig/openai/models/beta/beta_response_completed_event.rbs +49 -0
  524. data/sig/openai/models/beta/beta_response_computer_tool_call.rbs +118 -0
  525. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +107 -0
  526. data/sig/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbs +34 -0
  527. data/sig/openai/models/beta/beta_response_container_reference.rbs +23 -0
  528. data/sig/openai/models/beta/beta_response_content.rbs +33 -0
  529. data/sig/openai/models/beta/beta_response_content_part_added_event.rbs +87 -0
  530. data/sig/openai/models/beta/beta_response_content_part_done_event.rbs +87 -0
  531. data/sig/openai/models/beta/beta_response_conversation_param.rbs +17 -0
  532. data/sig/openai/models/beta/beta_response_created_event.rbs +49 -0
  533. data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +105 -0
  534. data/sig/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbs +59 -0
  535. data/sig/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbs +59 -0
  536. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +54 -0
  537. data/sig/openai/models/beta/beta_response_custom_tool_call_output.rbs +116 -0
  538. data/sig/openai/models/beta/beta_response_custom_tool_call_output_item.rbs +54 -0
  539. data/sig/openai/models/beta/beta_response_error.rbs +73 -0
  540. data/sig/openai/models/beta/beta_response_error_event.rbs +59 -0
  541. data/sig/openai/models/beta/beta_response_failed_event.rbs +49 -0
  542. data/sig/openai/models/beta/beta_response_file_search_call_completed_event.rbs +54 -0
  543. data/sig/openai/models/beta/beta_response_file_search_call_in_progress_event.rbs +54 -0
  544. data/sig/openai/models/beta/beta_response_file_search_call_searching_event.rbs +54 -0
  545. data/sig/openai/models/beta/beta_response_file_search_tool_call.rbs +127 -0
  546. data/sig/openai/models/beta/beta_response_format_text_config.rbs +38 -0
  547. data/sig/openai/models/beta/beta_response_format_text_json_schema_config.rbs +46 -0
  548. data/sig/openai/models/beta/beta_response_function_call_arguments_delta_event.rbs +59 -0
  549. data/sig/openai/models/beta/beta_response_function_call_arguments_done_event.rbs +64 -0
  550. data/sig/openai/models/beta/beta_response_function_call_output_item.rbs +18 -0
  551. data/sig/openai/models/beta/beta_response_function_call_output_item_list.rbs +12 -0
  552. data/sig/openai/models/beta/beta_response_function_shell_call_output_content.rbs +66 -0
  553. data/sig/openai/models/beta/beta_response_function_shell_tool_call.rbs +161 -0
  554. data/sig/openai/models/beta/beta_response_function_shell_tool_call_output.rbs +190 -0
  555. data/sig/openai/models/beta/beta_response_function_tool_call.rbs +126 -0
  556. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +54 -0
  557. data/sig/openai/models/beta/beta_response_function_tool_call_output_item.rbs +138 -0
  558. data/sig/openai/models/beta/beta_response_function_web_search.rbs +165 -0
  559. data/sig/openai/models/beta/beta_response_image_gen_call_completed_event.rbs +54 -0
  560. data/sig/openai/models/beta/beta_response_image_gen_call_generating_event.rbs +54 -0
  561. data/sig/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbs +54 -0
  562. data/sig/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbs +64 -0
  563. data/sig/openai/models/beta/beta_response_in_progress_event.rbs +49 -0
  564. data/sig/openai/models/beta/beta_response_includable.rbs +32 -0
  565. data/sig/openai/models/beta/beta_response_incomplete_event.rbs +49 -0
  566. data/sig/openai/models/beta/beta_response_inject_created_event.rbs +41 -0
  567. data/sig/openai/models/beta/beta_response_inject_event.rbs +34 -0
  568. data/sig/openai/models/beta/beta_response_inject_failed_event.rbs +84 -0
  569. data/sig/openai/models/beta/beta_response_input.rbs +12 -0
  570. data/sig/openai/models/beta/beta_response_input_audio.rbs +62 -0
  571. data/sig/openai/models/beta/beta_response_input_content.rbs +18 -0
  572. data/sig/openai/models/beta/beta_response_input_file.rbs +90 -0
  573. data/sig/openai/models/beta/beta_response_input_file_content.rbs +80 -0
  574. data/sig/openai/models/beta/beta_response_input_image.rbs +71 -0
  575. data/sig/openai/models/beta/beta_response_input_image_content.rbs +67 -0
  576. data/sig/openai/models/beta/beta_response_input_item.rbs +2064 -0
  577. data/sig/openai/models/beta/beta_response_input_message_content_list.rbs +12 -0
  578. data/sig/openai/models/beta/beta_response_input_message_item.rbs +87 -0
  579. data/sig/openai/models/beta/beta_response_input_text.rbs +48 -0
  580. data/sig/openai/models/beta/beta_response_input_text_content.rbs +44 -0
  581. data/sig/openai/models/beta/beta_response_item.rbs +1097 -0
  582. data/sig/openai/models/beta/beta_response_local_environment.rbs +17 -0
  583. data/sig/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbs +59 -0
  584. data/sig/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbs +59 -0
  585. data/sig/openai/models/beta/beta_response_mcp_call_completed_event.rbs +54 -0
  586. data/sig/openai/models/beta/beta_response_mcp_call_failed_event.rbs +54 -0
  587. data/sig/openai/models/beta/beta_response_mcp_call_in_progress_event.rbs +54 -0
  588. data/sig/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbs +54 -0
  589. data/sig/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbs +54 -0
  590. data/sig/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbs +54 -0
  591. data/sig/openai/models/beta/beta_response_output_audio.rbs +30 -0
  592. data/sig/openai/models/beta/beta_response_output_item.rbs +1096 -0
  593. data/sig/openai/models/beta/beta_response_output_item_added_event.rbs +54 -0
  594. data/sig/openai/models/beta/beta_response_output_item_done_event.rbs +54 -0
  595. data/sig/openai/models/beta/beta_response_output_message.rbs +97 -0
  596. data/sig/openai/models/beta/beta_response_output_refusal.rbs +19 -0
  597. data/sig/openai/models/beta/beta_response_output_text.rbs +243 -0
  598. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +69 -0
  599. data/sig/openai/models/beta/beta_response_prompt.rbs +46 -0
  600. data/sig/openai/models/beta/beta_response_queued_event.rbs +49 -0
  601. data/sig/openai/models/beta/beta_response_reasoning_item.rbs +108 -0
  602. data/sig/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbs +76 -0
  603. data/sig/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbs +95 -0
  604. data/sig/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbs +64 -0
  605. data/sig/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbs +64 -0
  606. data/sig/openai/models/beta/beta_response_reasoning_text_delta_event.rbs +64 -0
  607. data/sig/openai/models/beta/beta_response_reasoning_text_done_event.rbs +64 -0
  608. data/sig/openai/models/beta/beta_response_refusal_delta_event.rbs +64 -0
  609. data/sig/openai/models/beta/beta_response_refusal_done_event.rbs +64 -0
  610. data/sig/openai/models/beta/beta_response_status.rbs +23 -0
  611. data/sig/openai/models/beta/beta_response_stream_event.rbs +68 -0
  612. data/sig/openai/models/beta/beta_response_text_config.rbs +45 -0
  613. data/sig/openai/models/beta/beta_response_text_delta_event.rbs +116 -0
  614. data/sig/openai/models/beta/beta_response_text_done_event.rbs +116 -0
  615. data/sig/openai/models/beta/beta_response_tool_search_call.rbs +98 -0
  616. data/sig/openai/models/beta/beta_response_tool_search_output_item.rbs +98 -0
  617. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +91 -0
  618. data/sig/openai/models/beta/beta_response_usage.rbs +73 -0
  619. data/sig/openai/models/beta/beta_response_web_search_call_completed_event.rbs +54 -0
  620. data/sig/openai/models/beta/beta_response_web_search_call_in_progress_event.rbs +54 -0
  621. data/sig/openai/models/beta/beta_response_web_search_call_searching_event.rbs +54 -0
  622. data/sig/openai/models/beta/beta_responses_client_event.rbs +804 -0
  623. data/sig/openai/models/beta/beta_responses_server_event.rbs +70 -0
  624. data/sig/openai/models/beta/beta_skill_reference.rbs +32 -0
  625. data/sig/openai/models/beta/beta_tool.rbs +634 -0
  626. data/sig/openai/models/beta/beta_tool_choice_allowed.rbs +45 -0
  627. data/sig/openai/models/beta/beta_tool_choice_apply_patch.rbs +17 -0
  628. data/sig/openai/models/beta/beta_tool_choice_custom.rbs +19 -0
  629. data/sig/openai/models/beta/beta_tool_choice_function.rbs +19 -0
  630. data/sig/openai/models/beta/beta_tool_choice_mcp.rbs +26 -0
  631. data/sig/openai/models/beta/beta_tool_choice_options.rbs +19 -0
  632. data/sig/openai/models/beta/beta_tool_choice_shell.rbs +17 -0
  633. data/sig/openai/models/beta/beta_tool_choice_types.rbs +47 -0
  634. data/sig/openai/models/beta/beta_tool_search_tool.rbs +54 -0
  635. data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +118 -0
  636. data/sig/openai/models/beta/beta_web_search_tool.rbs +127 -0
  637. data/sig/openai/models/beta/response_cancel_params.rbs +47 -0
  638. data/sig/openai/models/beta/response_compact_params.rbs +368 -0
  639. data/sig/openai/models/beta/response_create_params.rbs +804 -0
  640. data/sig/openai/models/beta/response_delete_params.rbs +47 -0
  641. data/sig/openai/models/beta/response_retrieve_params.rbs +70 -0
  642. data/sig/openai/models/beta/responses/beta_response_item_list.rbs +44 -0
  643. data/sig/openai/models/beta/responses/input_item_list_params.rbs +92 -0
  644. data/sig/openai/models/beta/responses/input_token_count_params.rbs +325 -0
  645. data/sig/openai/models/beta/responses/input_token_count_response.rbs +26 -0
  646. data/sig/openai/models/chat/chat_completion_content_part.rbs +21 -2
  647. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +21 -2
  648. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +21 -2
  649. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +32 -3
  650. data/sig/openai/models/chat/completion_create_params.rbs +153 -3
  651. data/sig/openai/models/chat_model.rbs +7 -1
  652. data/sig/openai/models/completion_usage.rbs +15 -2
  653. data/sig/openai/models/conversations/computer_screenshot_content.rbs +21 -2
  654. data/sig/openai/models/conversations/conversation_item.rbs +87 -0
  655. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +16 -0
  656. data/sig/openai/models/realtime/realtime_session_create_request.rbs +4 -0
  657. data/sig/openai/models/realtime/realtime_session_create_response.rbs +20 -0
  658. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +16 -0
  659. data/sig/openai/models/reasoning.rbs +20 -0
  660. data/sig/openai/models/reasoning_effort.rbs +3 -1
  661. data/sig/openai/models/responses/apply_patch_tool.rbs +26 -3
  662. data/sig/openai/models/responses/custom_tool.rbs +16 -0
  663. data/sig/openai/models/responses/function_shell_tool.rbs +16 -0
  664. data/sig/openai/models/responses/function_tool.rbs +23 -2
  665. data/sig/openai/models/responses/input_token_count_params.rbs +12 -0
  666. data/sig/openai/models/responses/namespace_tool.rbs +21 -0
  667. data/sig/openai/models/responses/response.rbs +64 -0
  668. data/sig/openai/models/responses/response_apply_patch_tool_call.rbs +37 -0
  669. data/sig/openai/models/responses/response_apply_patch_tool_call_output.rbs +37 -0
  670. data/sig/openai/models/responses/response_compact_params.rbs +63 -1
  671. data/sig/openai/models/responses/response_create_params.rbs +165 -3
  672. data/sig/openai/models/responses/response_custom_tool_call.rbs +37 -0
  673. data/sig/openai/models/responses/response_custom_tool_call_output.rbs +39 -2
  674. data/sig/openai/models/responses/response_error.rbs +2 -0
  675. data/sig/openai/models/responses/response_function_shell_tool_call.rbs +37 -0
  676. data/sig/openai/models/responses/response_function_shell_tool_call_output.rbs +37 -0
  677. data/sig/openai/models/responses/response_function_tool_call.rbs +37 -0
  678. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +37 -0
  679. data/sig/openai/models/responses/response_input_file.rbs +23 -3
  680. data/sig/openai/models/responses/response_input_file_content.rbs +19 -3
  681. data/sig/openai/models/responses/response_input_image.rbs +21 -2
  682. data/sig/openai/models/responses/response_input_image_content.rbs +17 -2
  683. data/sig/openai/models/responses/response_input_item.rbs +274 -2
  684. data/sig/openai/models/responses/response_input_text.rbs +32 -3
  685. data/sig/openai/models/responses/response_input_text_content.rbs +28 -3
  686. data/sig/openai/models/responses/response_item.rbs +87 -0
  687. data/sig/openai/models/responses/response_output_item.rbs +87 -0
  688. data/sig/openai/models/responses/response_reasoning_summary_part_done_event.rbs +21 -2
  689. data/sig/openai/models/responses/response_usage.rbs +12 -3
  690. data/sig/openai/models/responses/responses_client_event.rbs +165 -3
  691. data/sig/openai/models/responses/tool.rbs +45 -2
  692. data/sig/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbs +99 -0
  693. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  694. data/sig/openai/resources/beta/responses/input_items.rbs +21 -0
  695. data/sig/openai/resources/beta/responses/input_tokens.rbs +28 -0
  696. data/sig/openai/resources/beta/responses.rbs +128 -0
  697. data/sig/openai/resources/beta.rbs +2 -0
  698. data/sig/openai/resources/chat/completions.rbs +2 -0
  699. data/sig/openai/resources/responses.rbs +3 -0
  700. data/sig/openai/resources/webhooks.rbs +2 -1
  701. metadata +491 -2
@@ -0,0 +1,1432 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ # Client events accepted by the Responses WebSocket server.
7
+ module BetaResponsesClientEvent
8
+ extend OpenAI::Internal::Type::Union
9
+
10
+ discriminator :type
11
+
12
+ # Client event for creating a response over a persistent WebSocket connection.
13
+ # This payload uses the same top-level fields as `POST /v1/responses`.
14
+ #
15
+ # Notes:
16
+ # - `stream` is implicit over WebSocket and should not be sent.
17
+ # - `background` is not supported over WebSocket.
18
+ variant :"response.create", -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate }
19
+
20
+ # Injects input items into an active response over a WebSocket connection.
21
+ # The items are validated and committed atomically. Currently, the server
22
+ # accepts client-owned tool outputs that resume a waiting agent.
23
+ variant :"response.inject", -> { OpenAI::Beta::BetaResponseInjectEvent }
24
+
25
+ class ResponseCreate < OpenAI::Internal::Type::BaseModel
26
+ # @!attribute type
27
+ # The type of the client event. Always `response.create`.
28
+ #
29
+ # @return [Symbol, :"response.create"]
30
+ required :type, const: :"response.create"
31
+
32
+ # @!attribute background
33
+ # Whether to run the model response in the background.
34
+ # [Learn more](https://platform.openai.com/docs/guides/background).
35
+ #
36
+ # @return [Boolean, nil]
37
+ optional :background, OpenAI::Internal::Type::Boolean, nil?: true
38
+
39
+ # @!attribute context_management
40
+ # Context management configuration for this request.
41
+ #
42
+ # @return [Array<OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::ContextManagement>, nil]
43
+ optional :context_management,
44
+ -> {
45
+ OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::ContextManagement]
46
+ },
47
+ nil?: true
48
+
49
+ # @!attribute conversation
50
+ # The conversation that this response belongs to. Items from this conversation are
51
+ # prepended to `input_items` for this response request. Input items and output
52
+ # items from this response are automatically added to this conversation after this
53
+ # response completes.
54
+ #
55
+ # @return [String, OpenAI::Models::Beta::BetaResponseConversationParam, nil]
56
+ optional :conversation,
57
+ union: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Conversation },
58
+ nil?: true
59
+
60
+ # @!attribute include
61
+ # Specify additional output data to include in the model response. Currently
62
+ # supported values are:
63
+ #
64
+ # - `web_search_call.action.sources`: Include the sources of the web search tool
65
+ # call.
66
+ # - `code_interpreter_call.outputs`: Includes the outputs of python code execution
67
+ # in code interpreter tool call items.
68
+ # - `computer_call_output.output.image_url`: Include image urls from the computer
69
+ # call output.
70
+ # - `file_search_call.results`: Include the search results of the file search tool
71
+ # call.
72
+ # - `message.input_image.image_url`: Include image urls from the input message.
73
+ # - `message.output_text.logprobs`: Include logprobs with assistant messages.
74
+ # - `reasoning.encrypted_content`: Includes an encrypted version of reasoning
75
+ # tokens in reasoning item outputs. This enables reasoning items to be used in
76
+ # multi-turn conversations when using the Responses API statelessly (like when
77
+ # the `store` parameter is set to `false`, or when an organization is enrolled
78
+ # in the zero data retention program).
79
+ #
80
+ # @return [Array<Symbol, OpenAI::Models::Beta::BetaResponseIncludable>, nil]
81
+ optional :include,
82
+ -> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Beta::BetaResponseIncludable] },
83
+ nil?: true
84
+
85
+ # @!attribute input
86
+ # Text, image, or file inputs to the model, used to generate a response.
87
+ #
88
+ # Learn more:
89
+ #
90
+ # - [Text inputs and outputs](https://platform.openai.com/docs/guides/text)
91
+ # - [Image inputs](https://platform.openai.com/docs/guides/images)
92
+ # - [File inputs](https://platform.openai.com/docs/guides/pdf-files)
93
+ # - [Conversation state](https://platform.openai.com/docs/guides/conversation-state)
94
+ # - [Function calling](https://platform.openai.com/docs/guides/function-calling)
95
+ #
96
+ # @return [String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>, nil]
97
+ optional :input, union: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Input }
98
+
99
+ # @!attribute instructions
100
+ # A system (or developer) message inserted into the model's context.
101
+ #
102
+ # When using along with `previous_response_id`, the instructions from a previous
103
+ # response will not be carried over to the next response. This makes it simple to
104
+ # swap out system (or developer) messages in new responses.
105
+ #
106
+ # @return [String, nil]
107
+ optional :instructions, String, nil?: true
108
+
109
+ # @!attribute max_output_tokens
110
+ # An upper bound for the number of tokens that can be generated for a response,
111
+ # including visible output tokens and
112
+ # [reasoning tokens](https://platform.openai.com/docs/guides/reasoning).
113
+ #
114
+ # @return [Integer, nil]
115
+ optional :max_output_tokens, Integer, nil?: true
116
+
117
+ # @!attribute max_tool_calls
118
+ # The maximum number of total calls to built-in tools that can be processed in a
119
+ # response. This maximum number applies across all built-in tool calls, not per
120
+ # individual tool. Any further attempts to call a tool by the model will be
121
+ # ignored.
122
+ #
123
+ # @return [Integer, nil]
124
+ optional :max_tool_calls, Integer, nil?: true
125
+
126
+ # @!attribute metadata
127
+ # Set of 16 key-value pairs that can be attached to an object. This can be useful
128
+ # for storing additional information about the object in a structured format, and
129
+ # querying for objects via API or the dashboard.
130
+ #
131
+ # Keys are strings with a maximum length of 64 characters. Values are strings with
132
+ # a maximum length of 512 characters.
133
+ #
134
+ # @return [Hash{Symbol=>String}, nil]
135
+ optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
136
+
137
+ # @!attribute model
138
+ # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
139
+ # wide range of models with different capabilities, performance characteristics,
140
+ # and price points. Refer to the
141
+ # [model guide](https://platform.openai.com/docs/models) to browse and compare
142
+ # available models.
143
+ #
144
+ # @return [Symbol, String, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model, nil]
145
+ optional :model, union: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model }
146
+
147
+ # @!attribute moderation
148
+ # Configuration for running moderation on the input and output of this response.
149
+ #
150
+ # @return [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation, nil]
151
+ optional :moderation,
152
+ -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation },
153
+ nil?: true
154
+
155
+ # @!attribute multi_agent
156
+ # Configuration for server-hosted multi-agent execution.
157
+ #
158
+ # @return [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::MultiAgent, nil]
159
+ optional :multi_agent,
160
+ -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::MultiAgent },
161
+ nil?: true
162
+
163
+ # @!attribute parallel_tool_calls
164
+ # Whether to allow the model to run tool calls in parallel.
165
+ #
166
+ # @return [Boolean, nil]
167
+ optional :parallel_tool_calls, OpenAI::Internal::Type::Boolean, nil?: true
168
+
169
+ # @!attribute previous_response_id
170
+ # The unique ID of the previous response to the model. Use this to create
171
+ # multi-turn conversations. Learn more about
172
+ # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
173
+ # Cannot be used in conjunction with `conversation`.
174
+ #
175
+ # @return [String, nil]
176
+ optional :previous_response_id, String, nil?: true
177
+
178
+ # @!attribute prompt
179
+ # Reference to a prompt template and its variables.
180
+ # [Learn more](https://platform.openai.com/docs/guides/text?api-mode=responses#reusable-prompts).
181
+ #
182
+ # @return [OpenAI::Models::Beta::BetaResponsePrompt, nil]
183
+ optional :prompt, -> { OpenAI::Beta::BetaResponsePrompt }, nil?: true
184
+
185
+ # @!attribute prompt_cache_key
186
+ # Used by OpenAI to cache responses for similar requests to optimize your cache
187
+ # hit rates. Replaces the `user` field.
188
+ # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
189
+ #
190
+ # @return [String, nil]
191
+ optional :prompt_cache_key, String
192
+
193
+ # @!attribute prompt_cache_options
194
+ # Options for prompt caching. Supported for `gpt-5.6` and later models. By
195
+ # default, OpenAI automatically chooses one implicit cache breakpoint. You can add
196
+ # explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each
197
+ # request can write up to four breakpoints. For cache matching, OpenAI considers
198
+ # up to the latest 80 breakpoints in the conversation, without a content-block
199
+ # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
200
+ # `ttl` defaults to `30m`, which is currently the only supported value. See the
201
+ # [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching)
202
+ # for current details.
203
+ #
204
+ # @return [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions, nil]
205
+ optional :prompt_cache_options,
206
+ -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions }
207
+
208
+ # @!attribute prompt_cache_retention
209
+ # @deprecated
210
+ #
211
+ # Deprecated. Use `prompt_cache_options.ttl` instead.
212
+ #
213
+ # The retention policy for the prompt cache. Set to `24h` to enable extended
214
+ # prompt caching, which keeps cached prefixes active for longer, up to a maximum
215
+ # of 24 hours.
216
+ # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
217
+ # This field expresses a maximum retention policy, while
218
+ # `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
219
+ # are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
220
+ # models, only `24h` is supported.
221
+ #
222
+ # For older models that support both `in_memory` and `24h`, the default depends on
223
+ # your organization's data retention policy:
224
+ #
225
+ # - Organizations without ZDR enabled default to `24h`.
226
+ # - Organizations with ZDR enabled default to `in_memory` when
227
+ # `prompt_cache_retention` is not specified.
228
+ #
229
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheRetention, nil]
230
+ optional :prompt_cache_retention,
231
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheRetention },
232
+ nil?: true
233
+
234
+ # @!attribute reasoning
235
+ # **gpt-5 and o-series models only**
236
+ #
237
+ # Configuration options for
238
+ # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
239
+ #
240
+ # @return [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning, nil]
241
+ optional :reasoning,
242
+ -> {
243
+ OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning
244
+ },
245
+ nil?: true
246
+
247
+ # @!attribute safety_identifier
248
+ # A stable identifier used to help detect users of your application that may be
249
+ # violating OpenAI's usage policies. The IDs should be a string that uniquely
250
+ # identifies each user, with a maximum length of 64 characters. We recommend
251
+ # hashing their username or email address, in order to avoid sending us any
252
+ # identifying information.
253
+ # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
254
+ #
255
+ # @return [String, nil]
256
+ optional :safety_identifier, String
257
+
258
+ # @!attribute service_tier
259
+ # Specifies the processing type used for serving the request.
260
+ #
261
+ # - If set to 'auto', then the request will be processed with the service tier
262
+ # configured in the Project settings. Unless otherwise configured, the Project
263
+ # will use 'default'.
264
+ # - If set to 'default', then the request will be processed with the standard
265
+ # pricing and performance for the selected model.
266
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
267
+ # '[priority](https://openai.com/api-priority-processing/)', then the request
268
+ # will be processed with the corresponding service tier.
269
+ # - When not set, the default behavior is 'auto'.
270
+ #
271
+ # When the `service_tier` parameter is set, the response body will include the
272
+ # `service_tier` value based on the processing mode actually used to serve the
273
+ # request. This response value may be different from the value set in the
274
+ # parameter.
275
+ #
276
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::ServiceTier, nil]
277
+ optional :service_tier,
278
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::ServiceTier },
279
+ nil?: true
280
+
281
+ # @!attribute store
282
+ # Whether to store the generated model response for later retrieval via API.
283
+ #
284
+ # @return [Boolean, nil]
285
+ optional :store, OpenAI::Internal::Type::Boolean, nil?: true
286
+
287
+ # @!attribute stream
288
+ # If set to true, the model response data will be streamed to the client as it is
289
+ # generated using
290
+ # [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format).
291
+ # See the
292
+ # [Streaming section below](https://platform.openai.com/docs/api-reference/responses-streaming)
293
+ # for more information.
294
+ #
295
+ # @return [Boolean, nil]
296
+ optional :stream, OpenAI::Internal::Type::Boolean, nil?: true
297
+
298
+ # @!attribute stream_options
299
+ # Options for streaming responses. Only set this when you set `stream: true`.
300
+ #
301
+ # @return [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions, nil]
302
+ optional :stream_options,
303
+ -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions },
304
+ nil?: true
305
+
306
+ # @!attribute temperature
307
+ # What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
308
+ # make the output more random, while lower values like 0.2 will make it more
309
+ # focused and deterministic. We generally recommend altering this or `top_p` but
310
+ # not both.
311
+ #
312
+ # @return [Float, nil]
313
+ optional :temperature, Float, nil?: true
314
+
315
+ # @!attribute text
316
+ # Configuration options for a text response from the model. Can be plain text or
317
+ # structured JSON data. Learn more:
318
+ #
319
+ # - [Text inputs and outputs](https://platform.openai.com/docs/guides/text)
320
+ # - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs)
321
+ #
322
+ # @return [OpenAI::Models::Beta::BetaResponseTextConfig, nil]
323
+ optional :text, -> { OpenAI::Beta::BetaResponseTextConfig }
324
+
325
+ # @!attribute tool_choice
326
+ # How the model should select which tool (or tools) to use when generating a
327
+ # response. See the `tools` parameter to see how to specify which tools the model
328
+ # can call.
329
+ #
330
+ # @return [Symbol, OpenAI::Models::Beta::BetaToolChoiceOptions, OpenAI::Models::Beta::BetaToolChoiceAllowed, OpenAI::Models::Beta::BetaToolChoiceTypes, OpenAI::Models::Beta::BetaToolChoiceFunction, OpenAI::Models::Beta::BetaToolChoiceMcp, OpenAI::Models::Beta::BetaToolChoiceCustom, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::ToolChoice::BetaSpecificProgrammaticToolCallingParam, OpenAI::Models::Beta::BetaToolChoiceApplyPatch, OpenAI::Models::Beta::BetaToolChoiceShell, nil]
331
+ optional :tool_choice, union: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::ToolChoice }
332
+
333
+ # @!attribute tools
334
+ # An array of tools the model may call while generating a response. You can
335
+ # specify which tool to use by setting the `tool_choice` parameter.
336
+ #
337
+ # We support the following categories of tools:
338
+ #
339
+ # - **Built-in tools**: Tools that are provided by OpenAI that extend the model's
340
+ # capabilities, like
341
+ # [web search](https://platform.openai.com/docs/guides/tools-web-search) or
342
+ # [file search](https://platform.openai.com/docs/guides/tools-file-search).
343
+ # Learn more about
344
+ # [built-in tools](https://platform.openai.com/docs/guides/tools).
345
+ # - **MCP Tools**: Integrations with third-party systems via custom MCP servers or
346
+ # predefined connectors such as Google Drive and SharePoint. Learn more about
347
+ # [MCP Tools](https://platform.openai.com/docs/guides/tools-connectors-mcp).
348
+ # - **Function calls (custom tools)**: Functions that are defined by you, enabling
349
+ # the model to call your own code with strongly typed arguments and outputs.
350
+ # Learn more about
351
+ # [function calling](https://platform.openai.com/docs/guides/function-calling).
352
+ # You can also use custom tools to call your own code.
353
+ #
354
+ # @return [Array<OpenAI::Models::Beta::BetaFunctionTool, OpenAI::Models::Beta::BetaFileSearchTool, OpenAI::Models::Beta::BetaComputerTool, OpenAI::Models::Beta::BetaComputerUsePreviewTool, OpenAI::Models::Beta::BetaTool::Mcp, OpenAI::Models::Beta::BetaTool::CodeInterpreter, OpenAI::Models::Beta::BetaTool::ProgrammaticToolCalling, OpenAI::Models::Beta::BetaTool::ImageGeneration, OpenAI::Models::Beta::BetaTool::LocalShell, OpenAI::Models::Beta::BetaFunctionShellTool, OpenAI::Models::Beta::BetaCustomTool, OpenAI::Models::Beta::BetaNamespaceTool, OpenAI::Models::Beta::BetaToolSearchTool, OpenAI::Models::Beta::BetaApplyPatchTool, OpenAI::Models::Beta::BetaWebSearchTool, OpenAI::Models::Beta::BetaWebSearchPreviewTool>, nil]
355
+ optional :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::BetaTool] }
356
+
357
+ # @!attribute top_logprobs
358
+ # An integer between 0 and 20 specifying the maximum number of most likely tokens
359
+ # to return at each token position, each with an associated log probability. In
360
+ # some cases, the number of returned tokens may be fewer than requested.
361
+ #
362
+ # @return [Integer, nil]
363
+ optional :top_logprobs, Integer, nil?: true
364
+
365
+ # @!attribute top_p
366
+ # An alternative to sampling with temperature, called nucleus sampling, where the
367
+ # model considers the results of the tokens with top_p probability mass. So 0.1
368
+ # means only the tokens comprising the top 10% probability mass are considered.
369
+ #
370
+ # We generally recommend altering this or `temperature` but not both.
371
+ #
372
+ # @return [Float, nil]
373
+ optional :top_p, Float, nil?: true
374
+
375
+ # @!attribute truncation
376
+ # @deprecated
377
+ #
378
+ # The truncation strategy to use for the model response.
379
+ #
380
+ # - `auto`: If the input to this Response exceeds the model's context window size,
381
+ # the model will truncate the response to fit the context window by dropping
382
+ # items from the beginning of the conversation.
383
+ # - `disabled` (default): If the input size will exceed the context window size
384
+ # for a model, the request will fail with a 400 error.
385
+ #
386
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Truncation, nil]
387
+ optional :truncation,
388
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Truncation },
389
+ nil?: true
390
+
391
+ # @!attribute user
392
+ # @deprecated
393
+ #
394
+ # This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use
395
+ # `prompt_cache_key` instead to maintain caching optimizations. A stable
396
+ # identifier for your end-users. Used to boost cache hit rates by better bucketing
397
+ # similar requests and to help OpenAI detect and prevent abuse.
398
+ # [Learn more](https://platform.openai.com/docs/guides/safety-best-practices#safety-identifiers).
399
+ #
400
+ # @return [String, nil]
401
+ optional :user, String
402
+
403
+ # @!method initialize(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, type: :"response.create")
404
+ # Some parameter documentations has been truncated, see
405
+ # {OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate} for more
406
+ # details.
407
+ #
408
+ # Client event for creating a response over a persistent WebSocket connection.
409
+ # This payload uses the same top-level fields as `POST /v1/responses`.
410
+ #
411
+ # Notes:
412
+ #
413
+ # - `stream` is implicit over WebSocket and should not be sent.
414
+ # - `background` is not supported over WebSocket.
415
+ #
416
+ # @param background [Boolean, nil] Whether to run the model response in the background.
417
+ #
418
+ # @param context_management [Array<OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::ContextManagement>, nil] Context management configuration for this request.
419
+ #
420
+ # @param conversation [String, OpenAI::Models::Beta::BetaResponseConversationParam, nil] The conversation that this response belongs to. Items from this conversation are
421
+ #
422
+ # @param include [Array<Symbol, OpenAI::Models::Beta::BetaResponseIncludable>, nil] Specify additional output data to include in the model response. Currently suppo
423
+ #
424
+ # @param input [String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>] Text, image, or file inputs to the model, used to generate a response.
425
+ #
426
+ # @param instructions [String, nil] A system (or developer) message inserted into the model's context.
427
+ #
428
+ # @param max_output_tokens [Integer, nil] An upper bound for the number of tokens that can be generated for a response, in
429
+ #
430
+ # @param max_tool_calls [Integer, nil] The maximum number of total calls to built-in tools that can be processed in a r
431
+ #
432
+ # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
433
+ #
434
+ # @param model [Symbol, String, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model] Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
435
+ #
436
+ # @param moderation [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation, nil] Configuration for running moderation on the input and output of this response.
437
+ #
438
+ # @param multi_agent [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::MultiAgent, nil] Configuration for server-hosted multi-agent execution.
439
+ #
440
+ # @param parallel_tool_calls [Boolean, nil] Whether to allow the model to run tool calls in parallel.
441
+ #
442
+ # @param previous_response_id [String, nil] The unique ID of the previous response to the model. Use this to
443
+ #
444
+ # @param prompt [OpenAI::Models::Beta::BetaResponsePrompt, nil] Reference to a prompt template and its variables.
445
+ #
446
+ # @param prompt_cache_key [String] Used by OpenAI to cache responses for similar requests to optimize your cache hi
447
+ #
448
+ # @param prompt_cache_options [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions] Options for prompt caching. Supported for `gpt-5.6` and later models. By default
449
+ #
450
+ # @param prompt_cache_retention [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheRetention, nil] Deprecated. Use `prompt_cache_options.ttl` instead.
451
+ #
452
+ # @param reasoning [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning, nil] **gpt-5 and o-series models only**
453
+ #
454
+ # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
455
+ #
456
+ # @param service_tier [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::ServiceTier, nil] Specifies the processing type used for serving the request.
457
+ #
458
+ # @param store [Boolean, nil] Whether to store the generated model response for later retrieval via
459
+ #
460
+ # @param stream [Boolean, nil] If set to true, the model response data will be streamed to the client
461
+ #
462
+ # @param stream_options [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions, nil] Options for streaming responses. Only set this when you set `stream: true`.
463
+ #
464
+ # @param temperature [Float, nil] What sampling temperature to use, between 0 and 2. Higher values like 0.8 will m
465
+ #
466
+ # @param text [OpenAI::Models::Beta::BetaResponseTextConfig] Configuration options for a text response from the model. Can be plain
467
+ #
468
+ # @param tool_choice [Symbol, OpenAI::Models::Beta::BetaToolChoiceOptions, OpenAI::Models::Beta::BetaToolChoiceAllowed, OpenAI::Models::Beta::BetaToolChoiceTypes, OpenAI::Models::Beta::BetaToolChoiceFunction, OpenAI::Models::Beta::BetaToolChoiceMcp, OpenAI::Models::Beta::BetaToolChoiceCustom, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::ToolChoice::BetaSpecificProgrammaticToolCallingParam, OpenAI::Models::Beta::BetaToolChoiceApplyPatch, OpenAI::Models::Beta::BetaToolChoiceShell] How the model should select which tool (or tools) to use when generating
469
+ #
470
+ # @param tools [Array<OpenAI::Models::Beta::BetaFunctionTool, OpenAI::Models::Beta::BetaFileSearchTool, OpenAI::Models::Beta::BetaComputerTool, OpenAI::Models::Beta::BetaComputerUsePreviewTool, OpenAI::Models::Beta::BetaTool::Mcp, OpenAI::Models::Beta::BetaTool::CodeInterpreter, OpenAI::Models::Beta::BetaTool::ProgrammaticToolCalling, OpenAI::Models::Beta::BetaTool::ImageGeneration, OpenAI::Models::Beta::BetaTool::LocalShell, OpenAI::Models::Beta::BetaFunctionShellTool, OpenAI::Models::Beta::BetaCustomTool, OpenAI::Models::Beta::BetaNamespaceTool, OpenAI::Models::Beta::BetaToolSearchTool, OpenAI::Models::Beta::BetaApplyPatchTool, OpenAI::Models::Beta::BetaWebSearchTool, OpenAI::Models::Beta::BetaWebSearchPreviewTool>] An array of tools the model may call while generating a response. You
471
+ #
472
+ # @param top_logprobs [Integer, nil] An integer between 0 and 20 specifying the maximum number of most likely
473
+ #
474
+ # @param top_p [Float, nil] An alternative to sampling with temperature, called nucleus sampling,
475
+ #
476
+ # @param truncation [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Truncation, nil] The truncation strategy to use for the model response.
477
+ #
478
+ # @param user [String] This field is being replaced by `safety_identifier` and `prompt_cache_key`. Use
479
+ #
480
+ # @param type [Symbol, :"response.create"] The type of the client event. Always `response.create`.
481
+
482
+ class ContextManagement < OpenAI::Internal::Type::BaseModel
483
+ # @!attribute type
484
+ # The context management entry type. Currently only 'compaction' is supported.
485
+ #
486
+ # @return [String]
487
+ required :type, String
488
+
489
+ # @!attribute compact_threshold
490
+ # Token threshold at which compaction should be triggered for this entry.
491
+ #
492
+ # @return [Integer, nil]
493
+ optional :compact_threshold, Integer, nil?: true
494
+
495
+ # @!method initialize(type:, compact_threshold: nil)
496
+ # @param type [String] The context management entry type. Currently only 'compaction' is supported.
497
+ #
498
+ # @param compact_threshold [Integer, nil] Token threshold at which compaction should be triggered for this entry.
499
+ end
500
+
501
+ # The conversation that this response belongs to. Items from this conversation are
502
+ # prepended to `input_items` for this response request. Input items and output
503
+ # items from this response are automatically added to this conversation after this
504
+ # response completes.
505
+ #
506
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#conversation
507
+ module Conversation
508
+ extend OpenAI::Internal::Type::Union
509
+
510
+ # The unique ID of the conversation.
511
+ variant String
512
+
513
+ # The conversation that this response belongs to.
514
+ variant -> { OpenAI::Beta::BetaResponseConversationParam }
515
+
516
+ # @!method self.variants
517
+ # @return [Array(String, OpenAI::Models::Beta::BetaResponseConversationParam)]
518
+ end
519
+
520
+ # Text, image, or file inputs to the model, used to generate a response.
521
+ #
522
+ # Learn more:
523
+ #
524
+ # - [Text inputs and outputs](https://platform.openai.com/docs/guides/text)
525
+ # - [Image inputs](https://platform.openai.com/docs/guides/images)
526
+ # - [File inputs](https://platform.openai.com/docs/guides/pdf-files)
527
+ # - [Conversation state](https://platform.openai.com/docs/guides/conversation-state)
528
+ # - [Function calling](https://platform.openai.com/docs/guides/function-calling)
529
+ #
530
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#input
531
+ module Input
532
+ extend OpenAI::Internal::Type::Union
533
+
534
+ # A text input to the model, equivalent to a text input with the
535
+ # `user` role.
536
+ variant String
537
+
538
+ # A list of one or many input items to the model, containing
539
+ # different content types.
540
+ variant -> { OpenAI::Beta::BetaResponseInput }
541
+
542
+ # @!method self.variants
543
+ # @return [Array(String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>)]
544
+ end
545
+
546
+ # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
547
+ # wide range of models with different capabilities, performance characteristics,
548
+ # and price points. Refer to the
549
+ # [model guide](https://platform.openai.com/docs/models) to browse and compare
550
+ # available models.
551
+ #
552
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#model
553
+ module Model
554
+ extend OpenAI::Internal::Type::Union
555
+
556
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_6_SOL }
557
+
558
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_6_TERRA }
559
+
560
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_6_LUNA }
561
+
562
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_4 }
563
+
564
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_4_MINI }
565
+
566
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_4_NANO }
567
+
568
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_4_MINI_2026_03_17 }
569
+
570
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_4_NANO_2026_03_17 }
571
+
572
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_3_CHAT_LATEST }
573
+
574
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_2 }
575
+
576
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_2_2025_12_11 }
577
+
578
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_2_CHAT_LATEST }
579
+
580
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_2_PRO }
581
+
582
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_2_PRO_2025_12_11 }
583
+
584
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_1 }
585
+
586
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_1_2025_11_13 }
587
+
588
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_1_CODEX }
589
+
590
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_1_MINI }
591
+
592
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_1_CHAT_LATEST }
593
+
594
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5 }
595
+
596
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_MINI }
597
+
598
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_NANO }
599
+
600
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_2025_08_07 }
601
+
602
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_MINI_2025_08_07 }
603
+
604
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_NANO_2025_08_07 }
605
+
606
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_CHAT_LATEST }
607
+
608
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_1 }
609
+
610
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_1_MINI }
611
+
612
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_1_NANO }
613
+
614
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_1_2025_04_14 }
615
+
616
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_1_MINI_2025_04_14 }
617
+
618
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_1_NANO_2025_04_14 }
619
+
620
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O4_MINI }
621
+
622
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O4_MINI_2025_04_16 }
623
+
624
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O3 }
625
+
626
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O3_2025_04_16 }
627
+
628
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O3_MINI }
629
+
630
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O3_MINI_2025_01_31 }
631
+
632
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O1 }
633
+
634
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O1_2024_12_17 }
635
+
636
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O1_PREVIEW }
637
+
638
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O1_PREVIEW_2024_09_12 }
639
+
640
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O1_MINI }
641
+
642
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O1_MINI_2024_09_12 }
643
+
644
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O }
645
+
646
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_2024_11_20 }
647
+
648
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_2024_08_06 }
649
+
650
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_2024_05_13 }
651
+
652
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_AUDIO_PREVIEW }
653
+
654
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_AUDIO_PREVIEW_2024_10_01 }
655
+
656
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_AUDIO_PREVIEW_2024_12_17 }
657
+
658
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_AUDIO_PREVIEW_2025_06_03 }
659
+
660
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_MINI_AUDIO_PREVIEW }
661
+
662
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_MINI_AUDIO_PREVIEW_2024_12_17 }
663
+
664
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_SEARCH_PREVIEW }
665
+
666
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_MINI_SEARCH_PREVIEW }
667
+
668
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_SEARCH_PREVIEW_2025_03_11 }
669
+
670
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_MINI_SEARCH_PREVIEW_2025_03_11 }
671
+
672
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::CHATGPT_4O_LATEST }
673
+
674
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::CODEX_MINI_LATEST }
675
+
676
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_MINI }
677
+
678
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4O_MINI_2024_07_18 }
679
+
680
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_TURBO }
681
+
682
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_TURBO_2024_04_09 }
683
+
684
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_0125_PREVIEW }
685
+
686
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_TURBO_PREVIEW }
687
+
688
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_1106_PREVIEW }
689
+
690
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_VISION_PREVIEW }
691
+
692
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4 }
693
+
694
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_0314 }
695
+
696
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_0613 }
697
+
698
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_32K }
699
+
700
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_32K_0314 }
701
+
702
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_4_32K_0613 }
703
+
704
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_3_5_TURBO }
705
+
706
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_3_5_TURBO_16K }
707
+
708
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_3_5_TURBO_0301 }
709
+
710
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_3_5_TURBO_0613 }
711
+
712
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_3_5_TURBO_1106 }
713
+
714
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_3_5_TURBO_0125 }
715
+
716
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_3_5_TURBO_16K_0613 }
717
+
718
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O1_PRO }
719
+
720
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O1_PRO_2025_03_19 }
721
+
722
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O3_PRO }
723
+
724
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O3_PRO_2025_06_10 }
725
+
726
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O3_DEEP_RESEARCH }
727
+
728
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O3_DEEP_RESEARCH_2025_06_26 }
729
+
730
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O4_MINI_DEEP_RESEARCH }
731
+
732
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::O4_MINI_DEEP_RESEARCH_2025_06_26 }
733
+
734
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::COMPUTER_USE_PREVIEW }
735
+
736
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::COMPUTER_USE_PREVIEW_2025_03_11 }
737
+
738
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_CODEX }
739
+
740
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_PRO }
741
+
742
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_PRO_2025_10_06 }
743
+
744
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_1_CODEX_MAX }
745
+
746
+ variant String
747
+
748
+ # @!method self.variants
749
+ # @return [Array(Symbol, String)]
750
+
751
+ define_sorbet_constant!(:Variants) do
752
+ T.type_alias { T.any(OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol, String) }
753
+ end
754
+
755
+ # @!group
756
+
757
+ GPT_5_6_SOL = :"gpt-5.6-sol"
758
+ GPT_5_6_TERRA = :"gpt-5.6-terra"
759
+ GPT_5_6_LUNA = :"gpt-5.6-luna"
760
+ GPT_5_4 = :"gpt-5.4"
761
+ GPT_5_4_MINI = :"gpt-5.4-mini"
762
+ GPT_5_4_NANO = :"gpt-5.4-nano"
763
+ GPT_5_4_MINI_2026_03_17 = :"gpt-5.4-mini-2026-03-17"
764
+ GPT_5_4_NANO_2026_03_17 = :"gpt-5.4-nano-2026-03-17"
765
+ GPT_5_3_CHAT_LATEST = :"gpt-5.3-chat-latest"
766
+ GPT_5_2 = :"gpt-5.2"
767
+ GPT_5_2_2025_12_11 = :"gpt-5.2-2025-12-11"
768
+ GPT_5_2_CHAT_LATEST = :"gpt-5.2-chat-latest"
769
+ GPT_5_2_PRO = :"gpt-5.2-pro"
770
+ GPT_5_2_PRO_2025_12_11 = :"gpt-5.2-pro-2025-12-11"
771
+ GPT_5_1 = :"gpt-5.1"
772
+ GPT_5_1_2025_11_13 = :"gpt-5.1-2025-11-13"
773
+ GPT_5_1_CODEX = :"gpt-5.1-codex"
774
+ GPT_5_1_MINI = :"gpt-5.1-mini"
775
+ GPT_5_1_CHAT_LATEST = :"gpt-5.1-chat-latest"
776
+ GPT_5 = :"gpt-5"
777
+ GPT_5_MINI = :"gpt-5-mini"
778
+ GPT_5_NANO = :"gpt-5-nano"
779
+ GPT_5_2025_08_07 = :"gpt-5-2025-08-07"
780
+ GPT_5_MINI_2025_08_07 = :"gpt-5-mini-2025-08-07"
781
+ GPT_5_NANO_2025_08_07 = :"gpt-5-nano-2025-08-07"
782
+ GPT_5_CHAT_LATEST = :"gpt-5-chat-latest"
783
+ GPT_4_1 = :"gpt-4.1"
784
+ GPT_4_1_MINI = :"gpt-4.1-mini"
785
+ GPT_4_1_NANO = :"gpt-4.1-nano"
786
+ GPT_4_1_2025_04_14 = :"gpt-4.1-2025-04-14"
787
+ GPT_4_1_MINI_2025_04_14 = :"gpt-4.1-mini-2025-04-14"
788
+ GPT_4_1_NANO_2025_04_14 = :"gpt-4.1-nano-2025-04-14"
789
+ O4_MINI = :"o4-mini"
790
+ O4_MINI_2025_04_16 = :"o4-mini-2025-04-16"
791
+ O3 = :o3
792
+ O3_2025_04_16 = :"o3-2025-04-16"
793
+ O3_MINI = :"o3-mini"
794
+ O3_MINI_2025_01_31 = :"o3-mini-2025-01-31"
795
+ O1 = :o1
796
+ O1_2024_12_17 = :"o1-2024-12-17"
797
+ O1_PREVIEW = :"o1-preview"
798
+ O1_PREVIEW_2024_09_12 = :"o1-preview-2024-09-12"
799
+ O1_MINI = :"o1-mini"
800
+ O1_MINI_2024_09_12 = :"o1-mini-2024-09-12"
801
+ GPT_4O = :"gpt-4o"
802
+ GPT_4O_2024_11_20 = :"gpt-4o-2024-11-20"
803
+ GPT_4O_2024_08_06 = :"gpt-4o-2024-08-06"
804
+ GPT_4O_2024_05_13 = :"gpt-4o-2024-05-13"
805
+ GPT_4O_AUDIO_PREVIEW = :"gpt-4o-audio-preview"
806
+ GPT_4O_AUDIO_PREVIEW_2024_10_01 = :"gpt-4o-audio-preview-2024-10-01"
807
+ GPT_4O_AUDIO_PREVIEW_2024_12_17 = :"gpt-4o-audio-preview-2024-12-17"
808
+ GPT_4O_AUDIO_PREVIEW_2025_06_03 = :"gpt-4o-audio-preview-2025-06-03"
809
+ GPT_4O_MINI_AUDIO_PREVIEW = :"gpt-4o-mini-audio-preview"
810
+ GPT_4O_MINI_AUDIO_PREVIEW_2024_12_17 = :"gpt-4o-mini-audio-preview-2024-12-17"
811
+ GPT_4O_SEARCH_PREVIEW = :"gpt-4o-search-preview"
812
+ GPT_4O_MINI_SEARCH_PREVIEW = :"gpt-4o-mini-search-preview"
813
+ GPT_4O_SEARCH_PREVIEW_2025_03_11 = :"gpt-4o-search-preview-2025-03-11"
814
+ GPT_4O_MINI_SEARCH_PREVIEW_2025_03_11 = :"gpt-4o-mini-search-preview-2025-03-11"
815
+ CHATGPT_4O_LATEST = :"chatgpt-4o-latest"
816
+ CODEX_MINI_LATEST = :"codex-mini-latest"
817
+ GPT_4O_MINI = :"gpt-4o-mini"
818
+ GPT_4O_MINI_2024_07_18 = :"gpt-4o-mini-2024-07-18"
819
+ GPT_4_TURBO = :"gpt-4-turbo"
820
+ GPT_4_TURBO_2024_04_09 = :"gpt-4-turbo-2024-04-09"
821
+ GPT_4_0125_PREVIEW = :"gpt-4-0125-preview"
822
+ GPT_4_TURBO_PREVIEW = :"gpt-4-turbo-preview"
823
+ GPT_4_1106_PREVIEW = :"gpt-4-1106-preview"
824
+ GPT_4_VISION_PREVIEW = :"gpt-4-vision-preview"
825
+ GPT_4 = :"gpt-4"
826
+ GPT_4_0314 = :"gpt-4-0314"
827
+ GPT_4_0613 = :"gpt-4-0613"
828
+ GPT_4_32K = :"gpt-4-32k"
829
+ GPT_4_32K_0314 = :"gpt-4-32k-0314"
830
+ GPT_4_32K_0613 = :"gpt-4-32k-0613"
831
+ GPT_3_5_TURBO = :"gpt-3.5-turbo"
832
+ GPT_3_5_TURBO_16K = :"gpt-3.5-turbo-16k"
833
+ GPT_3_5_TURBO_0301 = :"gpt-3.5-turbo-0301"
834
+ GPT_3_5_TURBO_0613 = :"gpt-3.5-turbo-0613"
835
+ GPT_3_5_TURBO_1106 = :"gpt-3.5-turbo-1106"
836
+ GPT_3_5_TURBO_0125 = :"gpt-3.5-turbo-0125"
837
+ GPT_3_5_TURBO_16K_0613 = :"gpt-3.5-turbo-16k-0613"
838
+ O1_PRO = :"o1-pro"
839
+ O1_PRO_2025_03_19 = :"o1-pro-2025-03-19"
840
+ O3_PRO = :"o3-pro"
841
+ O3_PRO_2025_06_10 = :"o3-pro-2025-06-10"
842
+ O3_DEEP_RESEARCH = :"o3-deep-research"
843
+ O3_DEEP_RESEARCH_2025_06_26 = :"o3-deep-research-2025-06-26"
844
+ O4_MINI_DEEP_RESEARCH = :"o4-mini-deep-research"
845
+ O4_MINI_DEEP_RESEARCH_2025_06_26 = :"o4-mini-deep-research-2025-06-26"
846
+ COMPUTER_USE_PREVIEW = :"computer-use-preview"
847
+ COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
848
+ GPT_5_CODEX = :"gpt-5-codex"
849
+ GPT_5_PRO = :"gpt-5-pro"
850
+ GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
851
+ GPT_5_1_CODEX_MAX = :"gpt-5.1-codex-max"
852
+
853
+ # @!endgroup
854
+ end
855
+
856
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#moderation
857
+ class Moderation < OpenAI::Internal::Type::BaseModel
858
+ # @!attribute model
859
+ # The moderation model to use for moderated completions, e.g.
860
+ # 'omni-moderation-latest'.
861
+ #
862
+ # @return [String]
863
+ required :model, String
864
+
865
+ # @!attribute policy
866
+ # The policy to apply to moderated response input and output.
867
+ #
868
+ # @return [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy, nil]
869
+ optional :policy,
870
+ -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy },
871
+ nil?: true
872
+
873
+ # @!method initialize(model:, policy: nil)
874
+ # Some parameter documentations has been truncated, see
875
+ # {OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation} for
876
+ # more details.
877
+ #
878
+ # Configuration for running moderation on the input and output of this response.
879
+ #
880
+ # @param model [String] The moderation model to use for moderated completions, e.g. 'omni-moderation-lat
881
+ #
882
+ # @param policy [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy, nil] The policy to apply to moderated response input and output.
883
+
884
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation#policy
885
+ class Policy < OpenAI::Internal::Type::BaseModel
886
+ # @!attribute input
887
+ # The moderation policy for the response input.
888
+ #
889
+ # @return [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Input, nil]
890
+ optional :input,
891
+ -> {
892
+ OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Input
893
+ },
894
+ nil?: true
895
+
896
+ # @!attribute output
897
+ # The moderation policy for the response output.
898
+ #
899
+ # @return [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Output, nil]
900
+ optional :output,
901
+ -> {
902
+ OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Output
903
+ },
904
+ nil?: true
905
+
906
+ # @!method initialize(input: nil, output: nil)
907
+ # The policy to apply to moderated response input and output.
908
+ #
909
+ # @param input [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Input, nil] The moderation policy for the response input.
910
+ #
911
+ # @param output [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Output, nil] The moderation policy for the response output.
912
+
913
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy#input
914
+ class Input < OpenAI::Internal::Type::BaseModel
915
+ # @!attribute mode
916
+ #
917
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Input::Mode]
918
+ required :mode,
919
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Input::Mode }
920
+
921
+ # @!method initialize(mode:)
922
+ # The moderation policy for the response input.
923
+ #
924
+ # @param mode [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Input::Mode]
925
+
926
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Input#mode
927
+ module Mode
928
+ extend OpenAI::Internal::Type::Enum
929
+
930
+ SCORE = :score
931
+ BLOCK = :block
932
+
933
+ # @!method self.values
934
+ # @return [Array<Symbol>]
935
+ end
936
+ end
937
+
938
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy#output
939
+ class Output < OpenAI::Internal::Type::BaseModel
940
+ # @!attribute mode
941
+ #
942
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Output::Mode]
943
+ required :mode,
944
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Output::Mode }
945
+
946
+ # @!method initialize(mode:)
947
+ # The moderation policy for the response output.
948
+ #
949
+ # @param mode [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Output::Mode]
950
+
951
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation::Policy::Output#mode
952
+ module Mode
953
+ extend OpenAI::Internal::Type::Enum
954
+
955
+ SCORE = :score
956
+ BLOCK = :block
957
+
958
+ # @!method self.values
959
+ # @return [Array<Symbol>]
960
+ end
961
+ end
962
+ end
963
+ end
964
+
965
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#multi_agent
966
+ class MultiAgent < OpenAI::Internal::Type::BaseModel
967
+ # @!attribute enabled
968
+ # Whether to enable server-hosted multi-agent execution for this response.
969
+ #
970
+ # @return [Boolean]
971
+ required :enabled, OpenAI::Internal::Type::Boolean
972
+
973
+ # @!attribute max_concurrent_subagents
974
+ # `max_concurrent_subagents` sets the maximum number of subagents that can be
975
+ # active simultaneously across the entire agent tree. It includes all
976
+ # descendants—children, grandchildren, and deeper subagents—but excludes the root
977
+ # agent. The API does not impose a fixed upper bound on this setting. The default
978
+ # is `3`, which is recommended for most workloads. Multi-agent runs also have no
979
+ # fixed limit on tree depth or the total number of subagents created during a run.
980
+ #
981
+ # @return [Integer, nil]
982
+ optional :max_concurrent_subagents, Integer
983
+
984
+ # @!method initialize(enabled:, max_concurrent_subagents: nil)
985
+ # Some parameter documentations has been truncated, see
986
+ # {OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::MultiAgent} for
987
+ # more details.
988
+ #
989
+ # Configuration for server-hosted multi-agent execution.
990
+ #
991
+ # @param enabled [Boolean] Whether to enable server-hosted multi-agent execution for this response.
992
+ #
993
+ # @param max_concurrent_subagents [Integer] `max_concurrent_subagents` sets the maximum number of subagents that can be acti
994
+ end
995
+
996
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#prompt_cache_options
997
+ class PromptCacheOptions < OpenAI::Internal::Type::BaseModel
998
+ # @!attribute mode
999
+ # Controls whether OpenAI automatically creates an implicit cache breakpoint.
1000
+ # Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint
1001
+ # and writes up to the latest three explicit breakpoints in the request. With
1002
+ # `explicit`, OpenAI does not create an implicit breakpoint and writes up to the
1003
+ # latest four explicit breakpoints. If there are no explicit breakpoints, the
1004
+ # request does not use prompt caching.
1005
+ #
1006
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Mode, nil]
1007
+ optional :mode,
1008
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Mode }
1009
+
1010
+ # @!attribute ttl
1011
+ # The minimum lifetime applied to every implicit and explicit cache breakpoint
1012
+ # written by the request. Defaults to `30m`, which is currently the only supported
1013
+ # value. The backend may retain cache entries for longer.
1014
+ #
1015
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl, nil]
1016
+ optional :ttl,
1017
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl }
1018
+
1019
+ # @!method initialize(mode: nil, ttl: nil)
1020
+ # Some parameter documentations has been truncated, see
1021
+ # {OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions}
1022
+ # for more details.
1023
+ #
1024
+ # Options for prompt caching. Supported for `gpt-5.6` and later models. By
1025
+ # default, OpenAI automatically chooses one implicit cache breakpoint. You can add
1026
+ # explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each
1027
+ # request can write up to four breakpoints. For cache matching, OpenAI considers
1028
+ # up to the latest 80 breakpoints in the conversation, without a content-block
1029
+ # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
1030
+ # `ttl` defaults to `30m`, which is currently the only supported value. See the
1031
+ # [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching)
1032
+ # for current details.
1033
+ #
1034
+ # @param mode [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Mode] Controls whether OpenAI automatically creates an implicit cache breakpoint. Defa
1035
+ #
1036
+ # @param ttl [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl] The minimum lifetime applied to every implicit and explicit cache breakpoint wri
1037
+
1038
+ # Controls whether OpenAI automatically creates an implicit cache breakpoint.
1039
+ # Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint
1040
+ # and writes up to the latest three explicit breakpoints in the request. With
1041
+ # `explicit`, OpenAI does not create an implicit breakpoint and writes up to the
1042
+ # latest four explicit breakpoints. If there are no explicit breakpoints, the
1043
+ # request does not use prompt caching.
1044
+ #
1045
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions#mode
1046
+ module Mode
1047
+ extend OpenAI::Internal::Type::Enum
1048
+
1049
+ IMPLICIT = :implicit
1050
+ EXPLICIT = :explicit
1051
+
1052
+ # @!method self.values
1053
+ # @return [Array<Symbol>]
1054
+ end
1055
+
1056
+ # The minimum lifetime applied to every implicit and explicit cache breakpoint
1057
+ # written by the request. Defaults to `30m`, which is currently the only supported
1058
+ # value. The backend may retain cache entries for longer.
1059
+ #
1060
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheOptions#ttl
1061
+ module Ttl
1062
+ extend OpenAI::Internal::Type::Enum
1063
+
1064
+ TTL_30M = :"30m"
1065
+
1066
+ # @!method self.values
1067
+ # @return [Array<Symbol>]
1068
+ end
1069
+ end
1070
+
1071
+ # @deprecated
1072
+ #
1073
+ # Deprecated. Use `prompt_cache_options.ttl` instead.
1074
+ #
1075
+ # The retention policy for the prompt cache. Set to `24h` to enable extended
1076
+ # prompt caching, which keeps cached prefixes active for longer, up to a maximum
1077
+ # of 24 hours.
1078
+ # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
1079
+ # This field expresses a maximum retention policy, while
1080
+ # `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
1081
+ # are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
1082
+ # models, only `24h` is supported.
1083
+ #
1084
+ # For older models that support both `in_memory` and `24h`, the default depends on
1085
+ # your organization's data retention policy:
1086
+ #
1087
+ # - Organizations without ZDR enabled default to `24h`.
1088
+ # - Organizations with ZDR enabled default to `in_memory` when
1089
+ # `prompt_cache_retention` is not specified.
1090
+ #
1091
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#prompt_cache_retention
1092
+ module PromptCacheRetention
1093
+ extend OpenAI::Internal::Type::Enum
1094
+
1095
+ IN_MEMORY = :in_memory
1096
+ PROMPT_CACHE_RETENTION_24H = :"24h"
1097
+
1098
+ # @!method self.values
1099
+ # @return [Array<Symbol>]
1100
+ end
1101
+
1102
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#reasoning
1103
+ class Reasoning < OpenAI::Internal::Type::BaseModel
1104
+ # @!attribute context
1105
+ # Controls which reasoning items are rendered back to the model on later turns.
1106
+ # When returned on a response, this is the effective reasoning context mode used
1107
+ # for the response.
1108
+ #
1109
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Context, nil]
1110
+ optional :context,
1111
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Context },
1112
+ nil?: true
1113
+
1114
+ # @!attribute effort
1115
+ # Constrains effort on reasoning for reasoning models. Currently supported values
1116
+ # are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
1117
+ # reasoning effort can result in faster responses and fewer tokens used on
1118
+ # reasoning in a response. Not all reasoning models support every value. See the
1119
+ # [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
1120
+ # model-specific support.
1121
+ #
1122
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Effort, nil]
1123
+ optional :effort,
1124
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Effort },
1125
+ nil?: true
1126
+
1127
+ # @!attribute generate_summary
1128
+ # @deprecated
1129
+ #
1130
+ # **Deprecated:** use `summary` instead.
1131
+ #
1132
+ # A summary of the reasoning performed by the model. This can be useful for
1133
+ # debugging and understanding the model's reasoning process. One of `auto`,
1134
+ # `concise`, or `detailed`.
1135
+ #
1136
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::GenerateSummary, nil]
1137
+ optional :generate_summary,
1138
+ enum: -> {
1139
+ OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::GenerateSummary
1140
+ },
1141
+ nil?: true
1142
+
1143
+ # @!attribute mode
1144
+ # Controls the reasoning execution mode for the request.
1145
+ #
1146
+ # When returned on a response, this is the effective execution mode.
1147
+ #
1148
+ # @return [String, Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Mode, nil]
1149
+ optional :mode, union: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Mode }
1150
+
1151
+ # @!attribute summary
1152
+ # A summary of the reasoning performed by the model. This can be useful for
1153
+ # debugging and understanding the model's reasoning process. One of `auto`,
1154
+ # `concise`, or `detailed`.
1155
+ #
1156
+ # `concise` is supported for `computer-use-preview` models and all reasoning
1157
+ # models after `gpt-5`.
1158
+ #
1159
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Summary, nil]
1160
+ optional :summary,
1161
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Summary },
1162
+ nil?: true
1163
+
1164
+ # @!method initialize(context: nil, effort: nil, generate_summary: nil, mode: nil, summary: nil)
1165
+ # Some parameter documentations has been truncated, see
1166
+ # {OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning} for
1167
+ # more details.
1168
+ #
1169
+ # **gpt-5 and o-series models only**
1170
+ #
1171
+ # Configuration options for
1172
+ # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
1173
+ #
1174
+ # @param context [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Context, nil] Controls which reasoning items are rendered back to the model on later turns.
1175
+ #
1176
+ # @param effort [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Effort, nil] Constrains effort on reasoning for reasoning models. Currently supported
1177
+ #
1178
+ # @param generate_summary [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::GenerateSummary, nil] **Deprecated:** use `summary` instead.
1179
+ #
1180
+ # @param mode [String, Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Mode] Controls the reasoning execution mode for the request.
1181
+ #
1182
+ # @param summary [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Summary, nil] A summary of the reasoning performed by the model. This can be
1183
+
1184
+ # Controls which reasoning items are rendered back to the model on later turns.
1185
+ # When returned on a response, this is the effective reasoning context mode used
1186
+ # for the response.
1187
+ #
1188
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning#context
1189
+ module Context
1190
+ extend OpenAI::Internal::Type::Enum
1191
+
1192
+ AUTO = :auto
1193
+ CURRENT_TURN = :current_turn
1194
+ ALL_TURNS = :all_turns
1195
+
1196
+ # @!method self.values
1197
+ # @return [Array<Symbol>]
1198
+ end
1199
+
1200
+ # Constrains effort on reasoning for reasoning models. Currently supported values
1201
+ # are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
1202
+ # reasoning effort can result in faster responses and fewer tokens used on
1203
+ # reasoning in a response. Not all reasoning models support every value. See the
1204
+ # [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
1205
+ # model-specific support.
1206
+ #
1207
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning#effort
1208
+ module Effort
1209
+ extend OpenAI::Internal::Type::Enum
1210
+
1211
+ NONE = :none
1212
+ MINIMAL = :minimal
1213
+ LOW = :low
1214
+ MEDIUM = :medium
1215
+ HIGH = :high
1216
+ XHIGH = :xhigh
1217
+ MAX = :max
1218
+
1219
+ # @!method self.values
1220
+ # @return [Array<Symbol>]
1221
+ end
1222
+
1223
+ # @deprecated
1224
+ #
1225
+ # **Deprecated:** use `summary` instead.
1226
+ #
1227
+ # A summary of the reasoning performed by the model. This can be useful for
1228
+ # debugging and understanding the model's reasoning process. One of `auto`,
1229
+ # `concise`, or `detailed`.
1230
+ #
1231
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning#generate_summary
1232
+ module GenerateSummary
1233
+ extend OpenAI::Internal::Type::Enum
1234
+
1235
+ AUTO = :auto
1236
+ CONCISE = :concise
1237
+ DETAILED = :detailed
1238
+
1239
+ # @!method self.values
1240
+ # @return [Array<Symbol>]
1241
+ end
1242
+
1243
+ # Controls the reasoning execution mode for the request.
1244
+ #
1245
+ # When returned on a response, this is the effective execution mode.
1246
+ #
1247
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning#mode
1248
+ module Mode
1249
+ extend OpenAI::Internal::Type::Union
1250
+
1251
+ variant String
1252
+
1253
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Mode::STANDARD }
1254
+
1255
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Mode::PRO }
1256
+
1257
+ # @!method self.variants
1258
+ # @return [Array(String, Symbol)]
1259
+
1260
+ define_sorbet_constant!(:Variants) do
1261
+ T.type_alias { T.any(String, OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning::Mode::TaggedSymbol) }
1262
+ end
1263
+
1264
+ # @!group
1265
+
1266
+ STANDARD = :standard
1267
+ PRO = :pro
1268
+
1269
+ # @!endgroup
1270
+ end
1271
+
1272
+ # A summary of the reasoning performed by the model. This can be useful for
1273
+ # debugging and understanding the model's reasoning process. One of `auto`,
1274
+ # `concise`, or `detailed`.
1275
+ #
1276
+ # `concise` is supported for `computer-use-preview` models and all reasoning
1277
+ # models after `gpt-5`.
1278
+ #
1279
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning#summary
1280
+ module Summary
1281
+ extend OpenAI::Internal::Type::Enum
1282
+
1283
+ AUTO = :auto
1284
+ CONCISE = :concise
1285
+ DETAILED = :detailed
1286
+
1287
+ # @!method self.values
1288
+ # @return [Array<Symbol>]
1289
+ end
1290
+ end
1291
+
1292
+ # Specifies the processing type used for serving the request.
1293
+ #
1294
+ # - If set to 'auto', then the request will be processed with the service tier
1295
+ # configured in the Project settings. Unless otherwise configured, the Project
1296
+ # will use 'default'.
1297
+ # - If set to 'default', then the request will be processed with the standard
1298
+ # pricing and performance for the selected model.
1299
+ # - If set to '[flex](https://platform.openai.com/docs/guides/flex-processing)' or
1300
+ # '[priority](https://openai.com/api-priority-processing/)', then the request
1301
+ # will be processed with the corresponding service tier.
1302
+ # - When not set, the default behavior is 'auto'.
1303
+ #
1304
+ # When the `service_tier` parameter is set, the response body will include the
1305
+ # `service_tier` value based on the processing mode actually used to serve the
1306
+ # request. This response value may be different from the value set in the
1307
+ # parameter.
1308
+ #
1309
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#service_tier
1310
+ module ServiceTier
1311
+ extend OpenAI::Internal::Type::Enum
1312
+
1313
+ AUTO = :auto
1314
+ DEFAULT = :default
1315
+ FLEX = :flex
1316
+ SCALE = :scale
1317
+ PRIORITY = :priority
1318
+
1319
+ # @!method self.values
1320
+ # @return [Array<Symbol>]
1321
+ end
1322
+
1323
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#stream_options
1324
+ class StreamOptions < OpenAI::Internal::Type::BaseModel
1325
+ # @!attribute include_obfuscation
1326
+ # When true, stream obfuscation will be enabled. Stream obfuscation adds random
1327
+ # characters to an `obfuscation` field on streaming delta events to normalize
1328
+ # payload sizes as a mitigation to certain side-channel attacks. These obfuscation
1329
+ # fields are included by default, but add a small amount of overhead to the data
1330
+ # stream. You can set `include_obfuscation` to false to optimize for bandwidth if
1331
+ # you trust the network links between your application and the OpenAI API.
1332
+ #
1333
+ # @return [Boolean, nil]
1334
+ optional :include_obfuscation, OpenAI::Internal::Type::Boolean
1335
+
1336
+ # @!method initialize(include_obfuscation: nil)
1337
+ # Some parameter documentations has been truncated, see
1338
+ # {OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions}
1339
+ # for more details.
1340
+ #
1341
+ # Options for streaming responses. Only set this when you set `stream: true`.
1342
+ #
1343
+ # @param include_obfuscation [Boolean] When true, stream obfuscation will be enabled. Stream obfuscation adds
1344
+ end
1345
+
1346
+ # How the model should select which tool (or tools) to use when generating a
1347
+ # response. See the `tools` parameter to see how to specify which tools the model
1348
+ # can call.
1349
+ #
1350
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#tool_choice
1351
+ module ToolChoice
1352
+ extend OpenAI::Internal::Type::Union
1353
+
1354
+ # Controls which (if any) tool is called by the model.
1355
+ #
1356
+ # `none` means the model will not call any tool and instead generates a message.
1357
+ #
1358
+ # `auto` means the model can pick between generating a message or calling one or
1359
+ # more tools.
1360
+ #
1361
+ # `required` means the model must call one or more tools.
1362
+ variant enum: -> { OpenAI::Beta::BetaToolChoiceOptions }
1363
+
1364
+ # Constrains the tools available to the model to a pre-defined set.
1365
+ variant -> { OpenAI::Beta::BetaToolChoiceAllowed }
1366
+
1367
+ # Indicates that the model should use a built-in tool to generate a response.
1368
+ # [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).
1369
+ variant -> { OpenAI::Beta::BetaToolChoiceTypes }
1370
+
1371
+ # Use this option to force the model to call a specific function.
1372
+ variant -> { OpenAI::Beta::BetaToolChoiceFunction }
1373
+
1374
+ # Use this option to force the model to call a specific tool on a remote MCP server.
1375
+ variant -> { OpenAI::Beta::BetaToolChoiceMcp }
1376
+
1377
+ # Use this option to force the model to call a specific custom tool.
1378
+ variant -> { OpenAI::Beta::BetaToolChoiceCustom }
1379
+
1380
+ variant -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::ToolChoice::BetaSpecificProgrammaticToolCallingParam }
1381
+
1382
+ # Forces the model to call the apply_patch tool when executing a tool call.
1383
+ variant -> { OpenAI::Beta::BetaToolChoiceApplyPatch }
1384
+
1385
+ # Forces the model to call the shell tool when a tool call is required.
1386
+ variant -> { OpenAI::Beta::BetaToolChoiceShell }
1387
+
1388
+ class BetaSpecificProgrammaticToolCallingParam < OpenAI::Internal::Type::BaseModel
1389
+ # @!attribute type
1390
+ # The tool to call. Always `programmatic_tool_calling`.
1391
+ #
1392
+ # @return [Symbol, :programmatic_tool_calling]
1393
+ required :type, const: :programmatic_tool_calling
1394
+
1395
+ # @!method initialize(type: :programmatic_tool_calling)
1396
+ # @param type [Symbol, :programmatic_tool_calling] The tool to call. Always `programmatic_tool_calling`.
1397
+ end
1398
+
1399
+ # @!method self.variants
1400
+ # @return [Array(Symbol, OpenAI::Models::Beta::BetaToolChoiceOptions, OpenAI::Models::Beta::BetaToolChoiceAllowed, OpenAI::Models::Beta::BetaToolChoiceTypes, OpenAI::Models::Beta::BetaToolChoiceFunction, OpenAI::Models::Beta::BetaToolChoiceMcp, OpenAI::Models::Beta::BetaToolChoiceCustom, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::ToolChoice::BetaSpecificProgrammaticToolCallingParam, OpenAI::Models::Beta::BetaToolChoiceApplyPatch, OpenAI::Models::Beta::BetaToolChoiceShell)]
1401
+ end
1402
+
1403
+ # @deprecated
1404
+ #
1405
+ # The truncation strategy to use for the model response.
1406
+ #
1407
+ # - `auto`: If the input to this Response exceeds the model's context window size,
1408
+ # the model will truncate the response to fit the context window by dropping
1409
+ # items from the beginning of the conversation.
1410
+ # - `disabled` (default): If the input size will exceed the context window size
1411
+ # for a model, the request will fail with a 400 error.
1412
+ #
1413
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#truncation
1414
+ module Truncation
1415
+ extend OpenAI::Internal::Type::Enum
1416
+
1417
+ AUTO = :auto
1418
+ DISABLED = :disabled
1419
+
1420
+ # @!method self.values
1421
+ # @return [Array<Symbol>]
1422
+ end
1423
+ end
1424
+
1425
+ # @!method self.variants
1426
+ # @return [Array(OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate, OpenAI::Models::Beta::BetaResponseInjectEvent)]
1427
+ end
1428
+ end
1429
+
1430
+ BetaResponsesClientEvent = Beta::BetaResponsesClientEvent
1431
+ end
1432
+ end