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