openai 0.68.0 → 0.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (701) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +7 -7
  4. data/lib/openai/internal/type/enum.rb +6 -6
  5. data/lib/openai/internal/util.rb +14 -2
  6. data/lib/openai/models/beta/assistant_create_params.rb +7 -14
  7. data/lib/openai/models/beta/assistant_update_params.rb +7 -14
  8. data/lib/openai/models/beta/beta_apply_patch_tool.rb +44 -0
  9. data/lib/openai/models/beta/beta_compacted_response.rb +58 -0
  10. data/lib/openai/models/beta/beta_computer_action.rb +398 -0
  11. data/lib/openai/models/beta/beta_computer_action_list.rb +13 -0
  12. data/lib/openai/models/beta/beta_computer_tool.rb +23 -0
  13. data/lib/openai/models/beta/beta_computer_use_preview_tool.rb +63 -0
  14. data/lib/openai/models/beta/beta_container_auto.rb +96 -0
  15. data/lib/openai/models/beta/beta_container_network_policy_allowlist.rb +37 -0
  16. data/lib/openai/models/beta/beta_container_network_policy_disabled.rb +20 -0
  17. data/lib/openai/models/beta/beta_container_network_policy_domain_secret.rb +36 -0
  18. data/lib/openai/models/beta/beta_container_reference.rb +28 -0
  19. data/lib/openai/models/beta/beta_custom_tool.rb +148 -0
  20. data/lib/openai/models/beta/beta_easy_input_message.rb +120 -0
  21. data/lib/openai/models/beta/beta_file_search_tool.rb +424 -0
  22. data/lib/openai/models/beta/beta_function_shell_tool.rb +67 -0
  23. data/lib/openai/models/beta/beta_function_tool.rb +97 -0
  24. data/lib/openai/models/beta/beta_inline_skill.rb +44 -0
  25. data/lib/openai/models/beta/beta_inline_skill_source.rb +38 -0
  26. data/lib/openai/models/beta/beta_local_environment.rb +28 -0
  27. data/lib/openai/models/beta/beta_local_skill.rb +36 -0
  28. data/lib/openai/models/beta/beta_namespace_tool.rb +146 -0
  29. data/lib/openai/models/beta/beta_response.rb +1425 -0
  30. data/lib/openai/models/beta/beta_response_apply_patch_tool_call.rb +258 -0
  31. data/lib/openai/models/beta/beta_response_apply_patch_tool_call_output.rb +156 -0
  32. data/lib/openai/models/beta/beta_response_audio_delta_event.rb +63 -0
  33. data/lib/openai/models/beta/beta_response_audio_done_event.rb +55 -0
  34. data/lib/openai/models/beta/beta_response_audio_transcript_delta_event.rb +63 -0
  35. data/lib/openai/models/beta/beta_response_audio_transcript_done_event.rb +55 -0
  36. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rb +81 -0
  37. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rb +76 -0
  38. data/lib/openai/models/beta/beta_response_code_interpreter_call_completed_event.rb +73 -0
  39. data/lib/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rb +77 -0
  40. data/lib/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rb +77 -0
  41. data/lib/openai/models/beta/beta_response_code_interpreter_tool_call.rb +168 -0
  42. data/lib/openai/models/beta/beta_response_compaction_item.rb +69 -0
  43. data/lib/openai/models/beta/beta_response_compaction_item_param.rb +61 -0
  44. data/lib/openai/models/beta/beta_response_completed_event.rb +63 -0
  45. data/lib/openai/models/beta/beta_response_computer_tool_call.rb +156 -0
  46. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +141 -0
  47. data/lib/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rb +43 -0
  48. data/lib/openai/models/beta/beta_response_container_reference.rb +29 -0
  49. data/lib/openai/models/beta/beta_response_content.rb +56 -0
  50. data/lib/openai/models/beta/beta_response_content_part_added_event.rb +129 -0
  51. data/lib/openai/models/beta/beta_response_content_part_done_event.rb +129 -0
  52. data/lib/openai/models/beta/beta_response_conversation_param.rb +22 -0
  53. data/lib/openai/models/beta/beta_response_created_event.rb +63 -0
  54. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +142 -0
  55. data/lib/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rb +76 -0
  56. data/lib/openai/models/beta/beta_response_custom_tool_call_input_done_event.rb +76 -0
  57. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +55 -0
  58. data/lib/openai/models/beta/beta_response_custom_tool_call_output.rb +171 -0
  59. data/lib/openai/models/beta/beta_response_custom_tool_call_output_item.rb +55 -0
  60. data/lib/openai/models/beta/beta_response_error.rb +63 -0
  61. data/lib/openai/models/beta/beta_response_error_event.rb +79 -0
  62. data/lib/openai/models/beta/beta_response_failed_event.rb +63 -0
  63. data/lib/openai/models/beta/beta_response_file_search_call_completed_event.rb +72 -0
  64. data/lib/openai/models/beta/beta_response_file_search_call_in_progress_event.rb +72 -0
  65. data/lib/openai/models/beta/beta_response_file_search_call_searching_event.rb +72 -0
  66. data/lib/openai/models/beta/beta_response_file_search_tool_call.rb +168 -0
  67. data/lib/openai/models/beta/beta_response_format_text_config.rb +72 -0
  68. data/lib/openai/models/beta/beta_response_format_text_json_schema_config.rb +66 -0
  69. data/lib/openai/models/beta/beta_response_function_call_arguments_delta_event.rb +80 -0
  70. data/lib/openai/models/beta/beta_response_function_call_arguments_done_event.rb +83 -0
  71. data/lib/openai/models/beta/beta_response_function_call_output_item.rb +28 -0
  72. data/lib/openai/models/beta/beta_response_function_call_output_item_list.rb +14 -0
  73. data/lib/openai/models/beta/beta_response_function_shell_call_output_content.rb +90 -0
  74. data/lib/openai/models/beta/beta_response_function_shell_tool_call.rb +216 -0
  75. data/lib/openai/models/beta/beta_response_function_shell_tool_call_output.rb +265 -0
  76. data/lib/openai/models/beta/beta_response_function_tool_call.rb +168 -0
  77. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +57 -0
  78. data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +201 -0
  79. data/lib/openai/models/beta/beta_response_function_web_search.rb +238 -0
  80. data/lib/openai/models/beta/beta_response_image_gen_call_completed_event.rb +69 -0
  81. data/lib/openai/models/beta/beta_response_image_gen_call_generating_event.rb +69 -0
  82. data/lib/openai/models/beta/beta_response_image_gen_call_in_progress_event.rb +68 -0
  83. data/lib/openai/models/beta/beta_response_image_gen_call_partial_image_event.rb +89 -0
  84. data/lib/openai/models/beta/beta_response_in_progress_event.rb +63 -0
  85. data/lib/openai/models/beta/beta_response_includable.rb +45 -0
  86. data/lib/openai/models/beta/beta_response_incomplete_event.rb +63 -0
  87. data/lib/openai/models/beta/beta_response_inject_created_event.rb +51 -0
  88. data/lib/openai/models/beta/beta_response_inject_event.rb +40 -0
  89. data/lib/openai/models/beta/beta_response_inject_failed_event.rb +103 -0
  90. data/lib/openai/models/beta/beta_response_input.rb +13 -0
  91. data/lib/openai/models/beta/beta_response_input_audio.rb +70 -0
  92. data/lib/openai/models/beta/beta_response_input_content.rb +28 -0
  93. data/lib/openai/models/beta/beta_response_input_file.rb +113 -0
  94. data/lib/openai/models/beta/beta_response_input_file_content.rb +115 -0
  95. data/lib/openai/models/beta/beta_response_input_image.rb +94 -0
  96. data/lib/openai/models/beta/beta_response_input_image_content.rb +96 -0
  97. data/lib/openai/models/beta/beta_response_input_item.rb +2819 -0
  98. data/lib/openai/models/beta/beta_response_input_message_content_list.rb +14 -0
  99. data/lib/openai/models/beta/beta_response_input_message_item.rb +108 -0
  100. data/lib/openai/models/beta/beta_response_input_text.rb +59 -0
  101. data/lib/openai/models/beta/beta_response_input_text_content.rb +61 -0
  102. data/lib/openai/models/beta/beta_response_item.rb +1438 -0
  103. data/lib/openai/models/beta/beta_response_local_environment.rb +22 -0
  104. data/lib/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rb +81 -0
  105. data/lib/openai/models/beta/beta_response_mcp_call_arguments_done_event.rb +79 -0
  106. data/lib/openai/models/beta/beta_response_mcp_call_completed_event.rb +68 -0
  107. data/lib/openai/models/beta/beta_response_mcp_call_failed_event.rb +68 -0
  108. data/lib/openai/models/beta/beta_response_mcp_call_in_progress_event.rb +68 -0
  109. data/lib/openai/models/beta/beta_response_mcp_list_tools_completed_event.rb +68 -0
  110. data/lib/openai/models/beta/beta_response_mcp_list_tools_failed_event.rb +68 -0
  111. data/lib/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rb +69 -0
  112. data/lib/openai/models/beta/beta_response_output_audio.rb +41 -0
  113. data/lib/openai/models/beta/beta_response_output_item.rb +1444 -0
  114. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +71 -0
  115. data/lib/openai/models/beta/beta_response_output_item_done_event.rb +71 -0
  116. data/lib/openai/models/beta/beta_response_output_message.rb +139 -0
  117. data/lib/openai/models/beta/beta_response_output_refusal.rb +30 -0
  118. data/lib/openai/models/beta/beta_response_output_text.rb +292 -0
  119. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +92 -0
  120. data/lib/openai/models/beta/beta_response_prompt.rb +65 -0
  121. data/lib/openai/models/beta/beta_response_queued_event.rb +60 -0
  122. data/lib/openai/models/beta/beta_response_reasoning_item.rb +151 -0
  123. data/lib/openai/models/beta/beta_response_reasoning_summary_part_added_event.rb +110 -0
  124. data/lib/openai/models/beta/beta_response_reasoning_summary_part_done_event.rb +132 -0
  125. data/lib/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rb +88 -0
  126. data/lib/openai/models/beta/beta_response_reasoning_summary_text_done_event.rb +88 -0
  127. data/lib/openai/models/beta/beta_response_reasoning_text_delta_event.rb +87 -0
  128. data/lib/openai/models/beta/beta_response_reasoning_text_done_event.rb +87 -0
  129. data/lib/openai/models/beta/beta_response_refusal_delta_event.rb +87 -0
  130. data/lib/openai/models/beta/beta_response_refusal_done_event.rb +87 -0
  131. data/lib/openai/models/beta/beta_response_status.rb +25 -0
  132. data/lib/openai/models/beta/beta_response_stream_event.rb +203 -0
  133. data/lib/openai/models/beta/beta_response_text_config.rb +67 -0
  134. data/lib/openai/models/beta/beta_response_text_delta_event.rb +150 -0
  135. data/lib/openai/models/beta/beta_response_text_done_event.rb +150 -0
  136. data/lib/openai/models/beta/beta_response_tool_search_call.rb +117 -0
  137. data/lib/openai/models/beta/beta_response_tool_search_output_item.rb +117 -0
  138. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +109 -0
  139. data/lib/openai/models/beta/beta_response_usage.rb +95 -0
  140. data/lib/openai/models/beta/beta_response_web_search_call_completed_event.rb +72 -0
  141. data/lib/openai/models/beta/beta_response_web_search_call_in_progress_event.rb +72 -0
  142. data/lib/openai/models/beta/beta_response_web_search_call_searching_event.rb +72 -0
  143. data/lib/openai/models/beta/beta_responses_client_event.rb +1432 -0
  144. data/lib/openai/models/beta/beta_responses_server_event.rb +212 -0
  145. data/lib/openai/models/beta/beta_skill_reference.rb +36 -0
  146. data/lib/openai/models/beta/beta_tool.rb +910 -0
  147. data/lib/openai/models/beta/beta_tool_choice_allowed.rb +75 -0
  148. data/lib/openai/models/beta/beta_tool_choice_apply_patch.rb +22 -0
  149. data/lib/openai/models/beta/beta_tool_choice_custom.rb +30 -0
  150. data/lib/openai/models/beta/beta_tool_choice_function.rb +30 -0
  151. data/lib/openai/models/beta/beta_tool_choice_mcp.rb +42 -0
  152. data/lib/openai/models/beta/beta_tool_choice_options.rb +28 -0
  153. data/lib/openai/models/beta/beta_tool_choice_shell.rb +22 -0
  154. data/lib/openai/models/beta/beta_tool_choice_types.rb +67 -0
  155. data/lib/openai/models/beta/beta_tool_search_tool.rb +59 -0
  156. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +143 -0
  157. data/lib/openai/models/beta/beta_web_search_tool.rb +162 -0
  158. data/lib/openai/models/beta/response_cancel_params.rb +37 -0
  159. data/lib/openai/models/beta/response_compact_params.rb +549 -0
  160. data/lib/openai/models/beta/response_create_params.rb +1343 -0
  161. data/lib/openai/models/beta/response_delete_params.rb +37 -0
  162. data/lib/openai/models/beta/response_retrieve_params.rb +74 -0
  163. data/lib/openai/models/beta/responses/beta_response_item_list.rb +54 -0
  164. data/lib/openai/models/beta/responses/input_item_list_params.rb +96 -0
  165. data/lib/openai/models/beta/responses/input_token_count_params.rb +542 -0
  166. data/lib/openai/models/beta/responses/input_token_count_response.rb +26 -0
  167. data/lib/openai/models/beta/threads/run_create_params.rb +7 -14
  168. data/lib/openai/models/chat/chat_completion_content_part.rb +31 -1
  169. data/lib/openai/models/chat/chat_completion_content_part_image.rb +31 -1
  170. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +31 -1
  171. data/lib/openai/models/chat/chat_completion_content_part_text.rb +31 -1
  172. data/lib/openai/models/chat/completion_create_params.rb +200 -19
  173. data/lib/openai/models/chat_model.rb +3 -0
  174. data/lib/openai/models/completion_usage.rb +9 -1
  175. data/lib/openai/models/conversations/computer_screenshot_content.rb +28 -1
  176. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  177. data/lib/openai/models/conversations/conversation_item.rb +106 -3
  178. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  179. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  180. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +7 -14
  181. data/lib/openai/models/evals/run_cancel_response.rb +16 -30
  182. data/lib/openai/models/evals/run_create_params.rb +16 -30
  183. data/lib/openai/models/evals/run_create_response.rb +16 -30
  184. data/lib/openai/models/evals/run_list_response.rb +16 -30
  185. data/lib/openai/models/evals/run_retrieve_response.rb +16 -30
  186. data/lib/openai/models/graders/score_model_grader.rb +7 -14
  187. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +23 -1
  188. data/lib/openai/models/realtime/realtime_session_create_request.rb +6 -0
  189. data/lib/openai/models/realtime/realtime_session_create_response.rb +29 -1
  190. data/lib/openai/models/realtime/realtime_tools_config_union.rb +23 -1
  191. data/lib/openai/models/reasoning.rb +47 -15
  192. data/lib/openai/models/reasoning_effort.rb +7 -13
  193. data/lib/openai/models/responses/apply_patch_tool.rb +23 -1
  194. data/lib/openai/models/responses/compacted_response.rb +2 -2
  195. data/lib/openai/models/responses/custom_tool.rb +21 -1
  196. data/lib/openai/models/responses/function_shell_tool.rb +23 -1
  197. data/lib/openai/models/responses/function_tool.rb +32 -3
  198. data/lib/openai/models/responses/input_token_count_params.rb +21 -8
  199. data/lib/openai/models/responses/namespace_tool.rb +41 -2
  200. data/lib/openai/models/responses/response.rb +98 -14
  201. data/lib/openai/models/responses/response_apply_patch_tool_call.rb +56 -1
  202. data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +56 -1
  203. data/lib/openai/models/responses/response_compact_params.rb +107 -4
  204. data/lib/openai/models/responses/response_create_params.rb +214 -13
  205. data/lib/openai/models/responses/response_custom_tool_call.rb +56 -1
  206. data/lib/openai/models/responses/response_custom_tool_call_output.rb +58 -1
  207. data/lib/openai/models/responses/response_error.rb +1 -0
  208. data/lib/openai/models/responses/response_function_shell_tool_call.rb +56 -1
  209. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +56 -1
  210. data/lib/openai/models/responses/response_function_tool_call.rb +56 -1
  211. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +58 -1
  212. data/lib/openai/models/responses/response_input_file.rb +39 -8
  213. data/lib/openai/models/responses/response_input_file_content.rb +41 -8
  214. data/lib/openai/models/responses/response_input_image.rb +27 -1
  215. data/lib/openai/models/responses/response_input_image_content.rb +29 -1
  216. data/lib/openai/models/responses/response_input_item.rb +396 -8
  217. data/lib/openai/models/responses/response_input_text.rb +30 -1
  218. data/lib/openai/models/responses/response_input_text_content.rb +32 -1
  219. data/lib/openai/models/responses/response_item.rb +106 -3
  220. data/lib/openai/models/responses/response_item_list.rb +2 -2
  221. data/lib/openai/models/responses/response_output_item.rb +106 -3
  222. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  223. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  224. data/lib/openai/models/responses/response_reasoning_summary_part_done_event.rb +23 -1
  225. data/lib/openai/models/responses/response_tool_search_output_item.rb +2 -2
  226. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +2 -2
  227. data/lib/openai/models/responses/response_usage.rb +9 -1
  228. data/lib/openai/models/responses/responses_client_event.rb +215 -13
  229. data/lib/openai/models/responses/tool.rb +58 -3
  230. data/lib/openai/models/webhooks/safety_identifier_blocked_webhook_event.rb +118 -0
  231. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  232. data/lib/openai/resources/beta/assistants.rb +2 -2
  233. data/lib/openai/resources/beta/responses/input_items.rb +58 -0
  234. data/lib/openai/resources/beta/responses/input_tokens.rb +73 -0
  235. data/lib/openai/resources/beta/responses.rb +440 -0
  236. data/lib/openai/resources/beta/threads/runs.rb +2 -2
  237. data/lib/openai/resources/beta.rb +4 -0
  238. data/lib/openai/resources/chat/completions.rb +10 -6
  239. data/lib/openai/resources/conversations/items.rb +3 -3
  240. data/lib/openai/resources/conversations.rb +1 -1
  241. data/lib/openai/resources/responses/input_items.rb +1 -1
  242. data/lib/openai/resources/responses/input_tokens.rb +3 -3
  243. data/lib/openai/resources/responses.rb +22 -12
  244. data/lib/openai/resources/webhooks.rb +1 -1
  245. data/lib/openai/version.rb +1 -1
  246. data/lib/openai.rb +163 -0
  247. data/rbi/openai/models/beta/assistant_create_params.rbi +12 -26
  248. data/rbi/openai/models/beta/assistant_update_params.rbi +12 -26
  249. data/rbi/openai/models/beta/beta_apply_patch_tool.rbi +99 -0
  250. data/rbi/openai/models/beta/beta_compacted_response.rbi +120 -0
  251. data/rbi/openai/models/beta/beta_computer_action.rbi +593 -0
  252. data/rbi/openai/models/beta/beta_computer_action_list.rbi +18 -0
  253. data/rbi/openai/models/beta/beta_computer_tool.rbi +33 -0
  254. data/rbi/openai/models/beta/beta_computer_use_preview_tool.rbi +126 -0
  255. data/rbi/openai/models/beta/beta_container_auto.rbi +231 -0
  256. data/rbi/openai/models/beta/beta_container_network_policy_allowlist.rbi +81 -0
  257. data/rbi/openai/models/beta/beta_container_network_policy_disabled.rbi +35 -0
  258. data/rbi/openai/models/beta/beta_container_network_policy_domain_secret.rbi +53 -0
  259. data/rbi/openai/models/beta/beta_container_reference.rbi +42 -0
  260. data/rbi/openai/models/beta/beta_custom_tool.rbi +302 -0
  261. data/rbi/openai/models/beta/beta_easy_input_message.rbi +211 -0
  262. data/rbi/openai/models/beta/beta_file_search_tool.rbi +863 -0
  263. data/rbi/openai/models/beta/beta_function_shell_tool.rbi +155 -0
  264. data/rbi/openai/models/beta/beta_function_tool.rbi +154 -0
  265. data/rbi/openai/models/beta/beta_inline_skill.rbi +68 -0
  266. data/rbi/openai/models/beta/beta_inline_skill_source.rbi +53 -0
  267. data/rbi/openai/models/beta/beta_local_environment.rbi +51 -0
  268. data/rbi/openai/models/beta/beta_local_skill.rbi +49 -0
  269. data/rbi/openai/models/beta/beta_namespace_tool.rbi +252 -0
  270. data/rbi/openai/models/beta/beta_response.rbi +2495 -0
  271. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call.rbi +431 -0
  272. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call_output.rbi +277 -0
  273. data/rbi/openai/models/beta/beta_response_audio_delta_event.rbi +110 -0
  274. data/rbi/openai/models/beta/beta_response_audio_done_event.rbi +100 -0
  275. data/rbi/openai/models/beta/beta_response_audio_transcript_delta_event.rbi +118 -0
  276. data/rbi/openai/models/beta/beta_response_audio_transcript_done_event.rbi +108 -0
  277. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbi +136 -0
  278. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbi +134 -0
  279. data/rbi/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbi +128 -0
  280. data/rbi/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbi +128 -0
  281. data/rbi/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbi +128 -0
  282. data/rbi/openai/models/beta/beta_response_code_interpreter_tool_call.rbi +315 -0
  283. data/rbi/openai/models/beta/beta_response_compaction_item.rbi +116 -0
  284. data/rbi/openai/models/beta/beta_response_compaction_item_param.rbi +114 -0
  285. data/rbi/openai/models/beta/beta_response_completed_event.rbi +111 -0
  286. data/rbi/openai/models/beta/beta_response_computer_tool_call.rbi +404 -0
  287. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +296 -0
  288. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbi +62 -0
  289. data/rbi/openai/models/beta/beta_response_container_reference.rbi +41 -0
  290. data/rbi/openai/models/beta/beta_response_content.rbi +66 -0
  291. data/rbi/openai/models/beta/beta_response_content_part_added_event.rbi +205 -0
  292. data/rbi/openai/models/beta/beta_response_content_part_done_event.rbi +203 -0
  293. data/rbi/openai/models/beta/beta_response_conversation_param.rbi +35 -0
  294. data/rbi/openai/models/beta/beta_response_created_event.rbi +109 -0
  295. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +242 -0
  296. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbi +134 -0
  297. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbi +134 -0
  298. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +113 -0
  299. data/rbi/openai/models/beta/beta_response_custom_tool_call_output.rbi +303 -0
  300. data/rbi/openai/models/beta/beta_response_custom_tool_call_output_item.rbi +114 -0
  301. data/rbi/openai/models/beta/beta_response_error.rbi +165 -0
  302. data/rbi/openai/models/beta/beta_response_error_event.rbi +120 -0
  303. data/rbi/openai/models/beta/beta_response_failed_event.rbi +107 -0
  304. data/rbi/openai/models/beta/beta_response_file_search_call_completed_event.rbi +126 -0
  305. data/rbi/openai/models/beta/beta_response_file_search_call_in_progress_event.rbi +126 -0
  306. data/rbi/openai/models/beta/beta_response_file_search_call_searching_event.rbi +126 -0
  307. data/rbi/openai/models/beta/beta_response_file_search_tool_call.rbi +328 -0
  308. data/rbi/openai/models/beta/beta_response_format_text_config.rbi +97 -0
  309. data/rbi/openai/models/beta/beta_response_format_text_json_schema_config.rbi +97 -0
  310. data/rbi/openai/models/beta/beta_response_function_call_arguments_delta_event.rbi +134 -0
  311. data/rbi/openai/models/beta/beta_response_function_call_arguments_done_event.rbi +140 -0
  312. data/rbi/openai/models/beta/beta_response_function_call_output_item.rbi +32 -0
  313. data/rbi/openai/models/beta/beta_response_function_call_output_item_list.rbi +21 -0
  314. data/rbi/openai/models/beta/beta_response_function_shell_call_output_content.rbi +160 -0
  315. data/rbi/openai/models/beta/beta_response_function_shell_tool_call.rbi +389 -0
  316. data/rbi/openai/models/beta/beta_response_function_shell_tool_call_output.rbi +470 -0
  317. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +310 -0
  318. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +115 -0
  319. data/rbi/openai/models/beta/beta_response_function_tool_call_output_item.rbi +364 -0
  320. data/rbi/openai/models/beta/beta_response_function_web_search.rbi +416 -0
  321. data/rbi/openai/models/beta/beta_response_image_gen_call_completed_event.rbi +127 -0
  322. data/rbi/openai/models/beta/beta_response_image_gen_call_generating_event.rbi +127 -0
  323. data/rbi/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbi +126 -0
  324. data/rbi/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbi +144 -0
  325. data/rbi/openai/models/beta/beta_response_in_progress_event.rbi +113 -0
  326. data/rbi/openai/models/beta/beta_response_includable.rbi +86 -0
  327. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +113 -0
  328. data/rbi/openai/models/beta/beta_response_inject_created_event.rbi +75 -0
  329. data/rbi/openai/models/beta/beta_response_inject_event.rbi +183 -0
  330. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +304 -0
  331. data/rbi/openai/models/beta/beta_response_input.rbi +18 -0
  332. data/rbi/openai/models/beta/beta_response_input_audio.rbi +144 -0
  333. data/rbi/openai/models/beta/beta_response_input_content.rbi +31 -0
  334. data/rbi/openai/models/beta/beta_response_input_file.rbi +210 -0
  335. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +211 -0
  336. data/rbi/openai/models/beta/beta_response_input_image.rbi +173 -0
  337. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +191 -0
  338. data/rbi/openai/models/beta/beta_response_input_item.rbi +5505 -0
  339. data/rbi/openai/models/beta/beta_response_input_message_content_list.rbi +21 -0
  340. data/rbi/openai/models/beta/beta_response_input_message_item.rbi +235 -0
  341. data/rbi/openai/models/beta/beta_response_input_text.rbi +109 -0
  342. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +115 -0
  343. data/rbi/openai/models/beta/beta_response_item.rbi +2592 -0
  344. data/rbi/openai/models/beta/beta_response_local_environment.rbi +35 -0
  345. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbi +137 -0
  346. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbi +134 -0
  347. data/rbi/openai/models/beta/beta_response_mcp_call_completed_event.rbi +123 -0
  348. data/rbi/openai/models/beta/beta_response_mcp_call_failed_event.rbi +121 -0
  349. data/rbi/openai/models/beta/beta_response_mcp_call_in_progress_event.rbi +124 -0
  350. data/rbi/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbi +126 -0
  351. data/rbi/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbi +124 -0
  352. data/rbi/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbi +127 -0
  353. data/rbi/openai/models/beta/beta_response_output_audio.rbi +53 -0
  354. data/rbi/openai/models/beta/beta_response_output_item.rbi +2627 -0
  355. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +154 -0
  356. data/rbi/openai/models/beta/beta_response_output_item_done_event.rbi +154 -0
  357. data/rbi/openai/models/beta/beta_response_output_message.rbi +267 -0
  358. data/rbi/openai/models/beta/beta_response_output_refusal.rbi +41 -0
  359. data/rbi/openai/models/beta/beta_response_output_text.rbi +479 -0
  360. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +150 -0
  361. data/rbi/openai/models/beta/beta_response_prompt.rbi +122 -0
  362. data/rbi/openai/models/beta/beta_response_queued_event.rbi +107 -0
  363. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +274 -0
  364. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbi +188 -0
  365. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbi +243 -0
  366. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbi +142 -0
  367. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbi +142 -0
  368. data/rbi/openai/models/beta/beta_response_reasoning_text_delta_event.rbi +140 -0
  369. data/rbi/openai/models/beta/beta_response_reasoning_text_done_event.rbi +140 -0
  370. data/rbi/openai/models/beta/beta_response_refusal_delta_event.rbi +135 -0
  371. data/rbi/openai/models/beta/beta_response_refusal_done_event.rbi +135 -0
  372. data/rbi/openai/models/beta/beta_response_status.rbi +38 -0
  373. data/rbi/openai/models/beta/beta_response_stream_event.rbi +81 -0
  374. data/rbi/openai/models/beta/beta_response_text_config.rbi +166 -0
  375. data/rbi/openai/models/beta/beta_response_text_delta_event.rbi +263 -0
  376. data/rbi/openai/models/beta/beta_response_text_done_event.rbi +261 -0
  377. data/rbi/openai/models/beta/beta_response_tool_search_call.rbi +218 -0
  378. data/rbi/openai/models/beta/beta_response_tool_search_output_item.rbi +248 -0
  379. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +307 -0
  380. data/rbi/openai/models/beta/beta_response_usage.rbi +163 -0
  381. data/rbi/openai/models/beta/beta_response_web_search_call_completed_event.rbi +126 -0
  382. data/rbi/openai/models/beta/beta_response_web_search_call_in_progress_event.rbi +126 -0
  383. data/rbi/openai/models/beta/beta_response_web_search_call_searching_event.rbi +126 -0
  384. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2831 -0
  385. data/rbi/openai/models/beta/beta_responses_server_event.rbi +83 -0
  386. data/rbi/openai/models/beta/beta_skill_reference.rbi +52 -0
  387. data/rbi/openai/models/beta/beta_tool.rbi +1835 -0
  388. data/rbi/openai/models/beta/beta_tool_choice_allowed.rbi +126 -0
  389. data/rbi/openai/models/beta/beta_tool_choice_apply_patch.rbi +35 -0
  390. data/rbi/openai/models/beta/beta_tool_choice_custom.rbi +38 -0
  391. data/rbi/openai/models/beta/beta_tool_choice_function.rbi +41 -0
  392. data/rbi/openai/models/beta/beta_tool_choice_mcp.rbi +55 -0
  393. data/rbi/openai/models/beta/beta_tool_choice_options.rbi +38 -0
  394. data/rbi/openai/models/beta/beta_tool_choice_shell.rbi +32 -0
  395. data/rbi/openai/models/beta/beta_tool_choice_types.rbi +134 -0
  396. data/rbi/openai/models/beta/beta_tool_search_tool.rbi +109 -0
  397. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +311 -0
  398. data/rbi/openai/models/beta/beta_web_search_tool.rbi +329 -0
  399. data/rbi/openai/models/beta/response_cancel_params.rbi +83 -0
  400. data/rbi/openai/models/beta/response_compact_params.rbi +1033 -0
  401. data/rbi/openai/models/beta/response_create_params.rbi +2739 -0
  402. data/rbi/openai/models/beta/response_delete_params.rbi +83 -0
  403. data/rbi/openai/models/beta/response_retrieve_params.rbi +145 -0
  404. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +113 -0
  405. data/rbi/openai/models/beta/responses/input_item_list_params.rbi +223 -0
  406. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +1248 -0
  407. data/rbi/openai/models/beta/responses/input_token_count_response.rbi +37 -0
  408. data/rbi/openai/models/beta/threads/run_create_params.rbi +12 -26
  409. data/rbi/openai/models/chat/chat_completion_content_part.rbi +57 -1
  410. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +57 -1
  411. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +57 -1
  412. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +70 -2
  413. data/rbi/openai/models/chat/completion_create_params.rbi +513 -32
  414. data/rbi/openai/models/chat_model.rbi +3 -0
  415. data/rbi/openai/models/completion_usage.rbi +21 -4
  416. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +57 -1
  417. data/rbi/openai/models/conversations/conversation_create_params.rbi +9 -3
  418. data/rbi/openai/models/conversations/conversation_item.rbi +178 -0
  419. data/rbi/openai/models/conversations/conversation_item_list.rbi +2 -0
  420. data/rbi/openai/models/conversations/item_create_params.rbi +9 -3
  421. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +12 -26
  422. data/rbi/openai/models/evals/run_cancel_response.rbi +26 -52
  423. data/rbi/openai/models/evals/run_create_params.rbi +28 -52
  424. data/rbi/openai/models/evals/run_create_response.rbi +26 -52
  425. data/rbi/openai/models/evals/run_list_response.rbi +26 -52
  426. data/rbi/openai/models/evals/run_retrieve_response.rbi +26 -52
  427. data/rbi/openai/models/graders/score_model_grader.rbi +12 -26
  428. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +60 -0
  429. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +10 -0
  430. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +70 -0
  431. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +60 -0
  432. data/rbi/openai/models/reasoning.rbi +51 -26
  433. data/rbi/openai/models/reasoning_effort.rbi +7 -13
  434. data/rbi/openai/models/responses/apply_patch_tool.rbi +69 -2
  435. data/rbi/openai/models/responses/compacted_response.rbi +2 -0
  436. data/rbi/openai/models/responses/custom_tool.rbi +53 -0
  437. data/rbi/openai/models/responses/function_shell_tool.rbi +57 -0
  438. data/rbi/openai/models/responses/function_tool.rbi +68 -3
  439. data/rbi/openai/models/responses/input_token_count_params.rbi +32 -0
  440. data/rbi/openai/models/responses/namespace_tool.rbi +76 -0
  441. data/rbi/openai/models/responses/response.rbi +192 -3
  442. data/rbi/openai/models/responses/response_apply_patch_tool_call.rbi +98 -0
  443. data/rbi/openai/models/responses/response_apply_patch_tool_call_output.rbi +98 -0
  444. data/rbi/openai/models/responses/response_compact_params.rbi +231 -0
  445. data/rbi/openai/models/responses/response_create_params.rbi +537 -6
  446. data/rbi/openai/models/responses/response_custom_tool_call.rbi +104 -0
  447. data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +111 -1
  448. data/rbi/openai/models/responses/response_error.rbi +5 -0
  449. data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +98 -0
  450. data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +98 -0
  451. data/rbi/openai/models/responses/response_function_tool_call.rbi +104 -0
  452. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +104 -0
  453. data/rbi/openai/models/responses/response_input_file.rbi +77 -10
  454. data/rbi/openai/models/responses/response_input_file_content.rbi +83 -10
  455. data/rbi/openai/models/responses/response_input_image.rbi +57 -1
  456. data/rbi/openai/models/responses/response_input_image_content.rbi +63 -1
  457. data/rbi/openai/models/responses/response_input_item.rbi +748 -8
  458. data/rbi/openai/models/responses/response_input_text.rbi +70 -2
  459. data/rbi/openai/models/responses/response_input_text_content.rbi +76 -2
  460. data/rbi/openai/models/responses/response_item.rbi +178 -0
  461. data/rbi/openai/models/responses/response_item_list.rbi +2 -0
  462. data/rbi/openai/models/responses/response_output_item.rbi +178 -0
  463. data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -0
  464. data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -0
  465. data/rbi/openai/models/responses/response_reasoning_summary_part_done_event.rbi +58 -1
  466. data/rbi/openai/models/responses/response_tool_search_output_item.rbi +1 -0
  467. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +3 -0
  468. data/rbi/openai/models/responses/response_usage.rbi +16 -2
  469. data/rbi/openai/models/responses/responses_client_event.rbi +537 -6
  470. data/rbi/openai/models/responses/tool.rbi +142 -1
  471. data/rbi/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbi +209 -0
  472. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +2 -1
  473. data/rbi/openai/resources/beta/assistants.rbi +12 -26
  474. data/rbi/openai/resources/beta/responses/input_items.rbi +58 -0
  475. data/rbi/openai/resources/beta/responses/input_tokens.rbi +154 -0
  476. data/rbi/openai/resources/beta/responses.rbi +903 -0
  477. data/rbi/openai/resources/beta/threads/runs.rbi +12 -26
  478. data/rbi/openai/resources/beta.rbi +3 -0
  479. data/rbi/openai/resources/chat/completions.rbi +48 -28
  480. data/rbi/openai/resources/conversations/items.rbi +3 -1
  481. data/rbi/openai/resources/conversations.rbi +3 -1
  482. data/rbi/openai/resources/responses/input_tokens.rbi +2 -0
  483. data/rbi/openai/resources/responses.rbi +54 -2
  484. data/rbi/openai/resources/webhooks.rbi +2 -1
  485. data/sig/openai/client.rbs +1 -1
  486. data/sig/openai/internal/transport/base_client.rbs +2 -2
  487. data/sig/openai/models/beta/beta_apply_patch_tool.rbs +40 -0
  488. data/sig/openai/models/beta/beta_compacted_response.rbs +44 -0
  489. data/sig/openai/models/beta/beta_computer_action.rbs +259 -0
  490. data/sig/openai/models/beta/beta_computer_action_list.rbs +12 -0
  491. data/sig/openai/models/beta/beta_computer_tool.rbs +17 -0
  492. data/sig/openai/models/beta/beta_computer_use_preview_tool.rbs +53 -0
  493. data/sig/openai/models/beta/beta_container_auto.rbs +86 -0
  494. data/sig/openai/models/beta/beta_container_network_policy_allowlist.rbs +38 -0
  495. data/sig/openai/models/beta/beta_container_network_policy_disabled.rbs +17 -0
  496. data/sig/openai/models/beta/beta_container_network_policy_domain_secret.rbs +22 -0
  497. data/sig/openai/models/beta/beta_container_reference.rbs +23 -0
  498. data/sig/openai/models/beta/beta_custom_tool.rbs +126 -0
  499. data/sig/openai/models/beta/beta_easy_input_message.rbs +87 -0
  500. data/sig/openai/models/beta/beta_file_search_tool.rbs +298 -0
  501. data/sig/openai/models/beta/beta_function_shell_tool.rbs +56 -0
  502. data/sig/openai/models/beta/beta_function_tool.rbs +72 -0
  503. data/sig/openai/models/beta/beta_inline_skill.rbs +39 -0
  504. data/sig/openai/models/beta/beta_inline_skill_source.rbs +30 -0
  505. data/sig/openai/models/beta/beta_local_environment.rbs +30 -0
  506. data/sig/openai/models/beta/beta_local_skill.rbs +26 -0
  507. data/sig/openai/models/beta/beta_namespace_tool.rbs +114 -0
  508. data/sig/openai/models/beta/beta_response.rbs +860 -0
  509. data/sig/openai/models/beta/beta_response_apply_patch_tool_call.rbs +177 -0
  510. data/sig/openai/models/beta/beta_response_apply_patch_tool_call_output.rbs +118 -0
  511. data/sig/openai/models/beta/beta_response_audio_delta_event.rbs +49 -0
  512. data/sig/openai/models/beta/beta_response_audio_done_event.rbs +44 -0
  513. data/sig/openai/models/beta/beta_response_audio_transcript_delta_event.rbs +49 -0
  514. data/sig/openai/models/beta/beta_response_audio_transcript_done_event.rbs +44 -0
  515. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbs +59 -0
  516. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbs +59 -0
  517. data/sig/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbs +54 -0
  518. data/sig/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbs +54 -0
  519. data/sig/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbs +54 -0
  520. data/sig/openai/models/beta/beta_response_code_interpreter_tool_call.rbs +113 -0
  521. data/sig/openai/models/beta/beta_response_compaction_item.rbs +60 -0
  522. data/sig/openai/models/beta/beta_response_compaction_item_param.rbs +49 -0
  523. data/sig/openai/models/beta/beta_response_completed_event.rbs +49 -0
  524. data/sig/openai/models/beta/beta_response_computer_tool_call.rbs +118 -0
  525. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +107 -0
  526. data/sig/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbs +34 -0
  527. data/sig/openai/models/beta/beta_response_container_reference.rbs +23 -0
  528. data/sig/openai/models/beta/beta_response_content.rbs +33 -0
  529. data/sig/openai/models/beta/beta_response_content_part_added_event.rbs +87 -0
  530. data/sig/openai/models/beta/beta_response_content_part_done_event.rbs +87 -0
  531. data/sig/openai/models/beta/beta_response_conversation_param.rbs +17 -0
  532. data/sig/openai/models/beta/beta_response_created_event.rbs +49 -0
  533. data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +105 -0
  534. data/sig/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbs +59 -0
  535. data/sig/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbs +59 -0
  536. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +54 -0
  537. data/sig/openai/models/beta/beta_response_custom_tool_call_output.rbs +116 -0
  538. data/sig/openai/models/beta/beta_response_custom_tool_call_output_item.rbs +54 -0
  539. data/sig/openai/models/beta/beta_response_error.rbs +73 -0
  540. data/sig/openai/models/beta/beta_response_error_event.rbs +59 -0
  541. data/sig/openai/models/beta/beta_response_failed_event.rbs +49 -0
  542. data/sig/openai/models/beta/beta_response_file_search_call_completed_event.rbs +54 -0
  543. data/sig/openai/models/beta/beta_response_file_search_call_in_progress_event.rbs +54 -0
  544. data/sig/openai/models/beta/beta_response_file_search_call_searching_event.rbs +54 -0
  545. data/sig/openai/models/beta/beta_response_file_search_tool_call.rbs +127 -0
  546. data/sig/openai/models/beta/beta_response_format_text_config.rbs +38 -0
  547. data/sig/openai/models/beta/beta_response_format_text_json_schema_config.rbs +46 -0
  548. data/sig/openai/models/beta/beta_response_function_call_arguments_delta_event.rbs +59 -0
  549. data/sig/openai/models/beta/beta_response_function_call_arguments_done_event.rbs +64 -0
  550. data/sig/openai/models/beta/beta_response_function_call_output_item.rbs +18 -0
  551. data/sig/openai/models/beta/beta_response_function_call_output_item_list.rbs +12 -0
  552. data/sig/openai/models/beta/beta_response_function_shell_call_output_content.rbs +66 -0
  553. data/sig/openai/models/beta/beta_response_function_shell_tool_call.rbs +161 -0
  554. data/sig/openai/models/beta/beta_response_function_shell_tool_call_output.rbs +190 -0
  555. data/sig/openai/models/beta/beta_response_function_tool_call.rbs +126 -0
  556. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +54 -0
  557. data/sig/openai/models/beta/beta_response_function_tool_call_output_item.rbs +138 -0
  558. data/sig/openai/models/beta/beta_response_function_web_search.rbs +165 -0
  559. data/sig/openai/models/beta/beta_response_image_gen_call_completed_event.rbs +54 -0
  560. data/sig/openai/models/beta/beta_response_image_gen_call_generating_event.rbs +54 -0
  561. data/sig/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbs +54 -0
  562. data/sig/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbs +64 -0
  563. data/sig/openai/models/beta/beta_response_in_progress_event.rbs +49 -0
  564. data/sig/openai/models/beta/beta_response_includable.rbs +32 -0
  565. data/sig/openai/models/beta/beta_response_incomplete_event.rbs +49 -0
  566. data/sig/openai/models/beta/beta_response_inject_created_event.rbs +41 -0
  567. data/sig/openai/models/beta/beta_response_inject_event.rbs +34 -0
  568. data/sig/openai/models/beta/beta_response_inject_failed_event.rbs +84 -0
  569. data/sig/openai/models/beta/beta_response_input.rbs +12 -0
  570. data/sig/openai/models/beta/beta_response_input_audio.rbs +62 -0
  571. data/sig/openai/models/beta/beta_response_input_content.rbs +18 -0
  572. data/sig/openai/models/beta/beta_response_input_file.rbs +90 -0
  573. data/sig/openai/models/beta/beta_response_input_file_content.rbs +80 -0
  574. data/sig/openai/models/beta/beta_response_input_image.rbs +71 -0
  575. data/sig/openai/models/beta/beta_response_input_image_content.rbs +67 -0
  576. data/sig/openai/models/beta/beta_response_input_item.rbs +2064 -0
  577. data/sig/openai/models/beta/beta_response_input_message_content_list.rbs +12 -0
  578. data/sig/openai/models/beta/beta_response_input_message_item.rbs +87 -0
  579. data/sig/openai/models/beta/beta_response_input_text.rbs +48 -0
  580. data/sig/openai/models/beta/beta_response_input_text_content.rbs +44 -0
  581. data/sig/openai/models/beta/beta_response_item.rbs +1097 -0
  582. data/sig/openai/models/beta/beta_response_local_environment.rbs +17 -0
  583. data/sig/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbs +59 -0
  584. data/sig/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbs +59 -0
  585. data/sig/openai/models/beta/beta_response_mcp_call_completed_event.rbs +54 -0
  586. data/sig/openai/models/beta/beta_response_mcp_call_failed_event.rbs +54 -0
  587. data/sig/openai/models/beta/beta_response_mcp_call_in_progress_event.rbs +54 -0
  588. data/sig/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbs +54 -0
  589. data/sig/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbs +54 -0
  590. data/sig/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbs +54 -0
  591. data/sig/openai/models/beta/beta_response_output_audio.rbs +30 -0
  592. data/sig/openai/models/beta/beta_response_output_item.rbs +1096 -0
  593. data/sig/openai/models/beta/beta_response_output_item_added_event.rbs +54 -0
  594. data/sig/openai/models/beta/beta_response_output_item_done_event.rbs +54 -0
  595. data/sig/openai/models/beta/beta_response_output_message.rbs +97 -0
  596. data/sig/openai/models/beta/beta_response_output_refusal.rbs +19 -0
  597. data/sig/openai/models/beta/beta_response_output_text.rbs +243 -0
  598. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +69 -0
  599. data/sig/openai/models/beta/beta_response_prompt.rbs +46 -0
  600. data/sig/openai/models/beta/beta_response_queued_event.rbs +49 -0
  601. data/sig/openai/models/beta/beta_response_reasoning_item.rbs +108 -0
  602. data/sig/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbs +76 -0
  603. data/sig/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbs +95 -0
  604. data/sig/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbs +64 -0
  605. data/sig/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbs +64 -0
  606. data/sig/openai/models/beta/beta_response_reasoning_text_delta_event.rbs +64 -0
  607. data/sig/openai/models/beta/beta_response_reasoning_text_done_event.rbs +64 -0
  608. data/sig/openai/models/beta/beta_response_refusal_delta_event.rbs +64 -0
  609. data/sig/openai/models/beta/beta_response_refusal_done_event.rbs +64 -0
  610. data/sig/openai/models/beta/beta_response_status.rbs +23 -0
  611. data/sig/openai/models/beta/beta_response_stream_event.rbs +68 -0
  612. data/sig/openai/models/beta/beta_response_text_config.rbs +45 -0
  613. data/sig/openai/models/beta/beta_response_text_delta_event.rbs +116 -0
  614. data/sig/openai/models/beta/beta_response_text_done_event.rbs +116 -0
  615. data/sig/openai/models/beta/beta_response_tool_search_call.rbs +98 -0
  616. data/sig/openai/models/beta/beta_response_tool_search_output_item.rbs +98 -0
  617. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +91 -0
  618. data/sig/openai/models/beta/beta_response_usage.rbs +73 -0
  619. data/sig/openai/models/beta/beta_response_web_search_call_completed_event.rbs +54 -0
  620. data/sig/openai/models/beta/beta_response_web_search_call_in_progress_event.rbs +54 -0
  621. data/sig/openai/models/beta/beta_response_web_search_call_searching_event.rbs +54 -0
  622. data/sig/openai/models/beta/beta_responses_client_event.rbs +804 -0
  623. data/sig/openai/models/beta/beta_responses_server_event.rbs +70 -0
  624. data/sig/openai/models/beta/beta_skill_reference.rbs +32 -0
  625. data/sig/openai/models/beta/beta_tool.rbs +634 -0
  626. data/sig/openai/models/beta/beta_tool_choice_allowed.rbs +45 -0
  627. data/sig/openai/models/beta/beta_tool_choice_apply_patch.rbs +17 -0
  628. data/sig/openai/models/beta/beta_tool_choice_custom.rbs +19 -0
  629. data/sig/openai/models/beta/beta_tool_choice_function.rbs +19 -0
  630. data/sig/openai/models/beta/beta_tool_choice_mcp.rbs +26 -0
  631. data/sig/openai/models/beta/beta_tool_choice_options.rbs +19 -0
  632. data/sig/openai/models/beta/beta_tool_choice_shell.rbs +17 -0
  633. data/sig/openai/models/beta/beta_tool_choice_types.rbs +47 -0
  634. data/sig/openai/models/beta/beta_tool_search_tool.rbs +54 -0
  635. data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +118 -0
  636. data/sig/openai/models/beta/beta_web_search_tool.rbs +127 -0
  637. data/sig/openai/models/beta/response_cancel_params.rbs +47 -0
  638. data/sig/openai/models/beta/response_compact_params.rbs +368 -0
  639. data/sig/openai/models/beta/response_create_params.rbs +804 -0
  640. data/sig/openai/models/beta/response_delete_params.rbs +47 -0
  641. data/sig/openai/models/beta/response_retrieve_params.rbs +70 -0
  642. data/sig/openai/models/beta/responses/beta_response_item_list.rbs +44 -0
  643. data/sig/openai/models/beta/responses/input_item_list_params.rbs +92 -0
  644. data/sig/openai/models/beta/responses/input_token_count_params.rbs +325 -0
  645. data/sig/openai/models/beta/responses/input_token_count_response.rbs +26 -0
  646. data/sig/openai/models/chat/chat_completion_content_part.rbs +21 -2
  647. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +21 -2
  648. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +21 -2
  649. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +32 -3
  650. data/sig/openai/models/chat/completion_create_params.rbs +153 -3
  651. data/sig/openai/models/chat_model.rbs +7 -1
  652. data/sig/openai/models/completion_usage.rbs +15 -2
  653. data/sig/openai/models/conversations/computer_screenshot_content.rbs +21 -2
  654. data/sig/openai/models/conversations/conversation_item.rbs +87 -0
  655. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +16 -0
  656. data/sig/openai/models/realtime/realtime_session_create_request.rbs +4 -0
  657. data/sig/openai/models/realtime/realtime_session_create_response.rbs +20 -0
  658. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +16 -0
  659. data/sig/openai/models/reasoning.rbs +20 -0
  660. data/sig/openai/models/reasoning_effort.rbs +3 -1
  661. data/sig/openai/models/responses/apply_patch_tool.rbs +26 -3
  662. data/sig/openai/models/responses/custom_tool.rbs +16 -0
  663. data/sig/openai/models/responses/function_shell_tool.rbs +16 -0
  664. data/sig/openai/models/responses/function_tool.rbs +23 -2
  665. data/sig/openai/models/responses/input_token_count_params.rbs +12 -0
  666. data/sig/openai/models/responses/namespace_tool.rbs +21 -0
  667. data/sig/openai/models/responses/response.rbs +64 -0
  668. data/sig/openai/models/responses/response_apply_patch_tool_call.rbs +37 -0
  669. data/sig/openai/models/responses/response_apply_patch_tool_call_output.rbs +37 -0
  670. data/sig/openai/models/responses/response_compact_params.rbs +63 -1
  671. data/sig/openai/models/responses/response_create_params.rbs +165 -3
  672. data/sig/openai/models/responses/response_custom_tool_call.rbs +37 -0
  673. data/sig/openai/models/responses/response_custom_tool_call_output.rbs +39 -2
  674. data/sig/openai/models/responses/response_error.rbs +2 -0
  675. data/sig/openai/models/responses/response_function_shell_tool_call.rbs +37 -0
  676. data/sig/openai/models/responses/response_function_shell_tool_call_output.rbs +37 -0
  677. data/sig/openai/models/responses/response_function_tool_call.rbs +37 -0
  678. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +37 -0
  679. data/sig/openai/models/responses/response_input_file.rbs +23 -3
  680. data/sig/openai/models/responses/response_input_file_content.rbs +19 -3
  681. data/sig/openai/models/responses/response_input_image.rbs +21 -2
  682. data/sig/openai/models/responses/response_input_image_content.rbs +17 -2
  683. data/sig/openai/models/responses/response_input_item.rbs +274 -2
  684. data/sig/openai/models/responses/response_input_text.rbs +32 -3
  685. data/sig/openai/models/responses/response_input_text_content.rbs +28 -3
  686. data/sig/openai/models/responses/response_item.rbs +87 -0
  687. data/sig/openai/models/responses/response_output_item.rbs +87 -0
  688. data/sig/openai/models/responses/response_reasoning_summary_part_done_event.rbs +21 -2
  689. data/sig/openai/models/responses/response_usage.rbs +12 -3
  690. data/sig/openai/models/responses/responses_client_event.rbs +165 -3
  691. data/sig/openai/models/responses/tool.rbs +45 -2
  692. data/sig/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbs +99 -0
  693. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  694. data/sig/openai/resources/beta/responses/input_items.rbs +21 -0
  695. data/sig/openai/resources/beta/responses/input_tokens.rbs +28 -0
  696. data/sig/openai/resources/beta/responses.rbs +128 -0
  697. data/sig/openai/resources/beta.rbs +2 -0
  698. data/sig/openai/resources/chat/completions.rbs +2 -0
  699. data/sig/openai/resources/responses.rbs +3 -0
  700. data/sig/openai/resources/webhooks.rbs +2 -1
  701. metadata +491 -2
@@ -0,0 +1,1248 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module Responses
7
+ class InputTokenCountParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ OpenAI::Beta::Responses::InputTokenCountParams,
15
+ OpenAI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The conversation that this response belongs to. Items from this conversation are
20
+ # prepended to `input_items` for this response request. Input items and output
21
+ # items from this response are automatically added to this conversation after this
22
+ # response completes.
23
+ sig do
24
+ returns(
25
+ T.nilable(
26
+ T.any(String, OpenAI::Beta::BetaResponseConversationParam)
27
+ )
28
+ )
29
+ end
30
+ attr_accessor :conversation
31
+
32
+ # Text, image, or file inputs to the model, used to generate a response
33
+ sig do
34
+ returns(
35
+ T.nilable(
36
+ OpenAI::Beta::Responses::InputTokenCountParams::Input::Variants
37
+ )
38
+ )
39
+ end
40
+ attr_accessor :input
41
+
42
+ # A system (or developer) message inserted into the model's context. When used
43
+ # along with `previous_response_id`, the instructions from a previous response
44
+ # will not be carried over to the next response. This makes it simple to swap out
45
+ # system (or developer) messages in new responses.
46
+ sig { returns(T.nilable(String)) }
47
+ attr_accessor :instructions
48
+
49
+ # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
50
+ # wide range of models with different capabilities, performance characteristics,
51
+ # and price points. Refer to the
52
+ # [model guide](https://platform.openai.com/docs/models) to browse and compare
53
+ # available models.
54
+ sig { returns(T.nilable(String)) }
55
+ attr_accessor :model
56
+
57
+ # Whether to allow the model to run tool calls in parallel.
58
+ sig { returns(T.nilable(T::Boolean)) }
59
+ attr_accessor :parallel_tool_calls
60
+
61
+ # A model-owned style preset to apply to this request. Omit this parameter to use
62
+ # the model's default style. Supported values may expand over time. Values must be
63
+ # at most 64 characters.
64
+ sig do
65
+ returns(
66
+ T.nilable(
67
+ T.any(
68
+ String,
69
+ OpenAI::Beta::Responses::InputTokenCountParams::Personality::OrSymbol
70
+ )
71
+ )
72
+ )
73
+ end
74
+ attr_reader :personality
75
+
76
+ sig do
77
+ params(
78
+ personality:
79
+ T.any(
80
+ String,
81
+ OpenAI::Beta::Responses::InputTokenCountParams::Personality::OrSymbol
82
+ )
83
+ ).void
84
+ end
85
+ attr_writer :personality
86
+
87
+ # The unique ID of the previous response to the model. Use this to create
88
+ # multi-turn conversations. Learn more about
89
+ # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
90
+ # Cannot be used in conjunction with `conversation`.
91
+ sig { returns(T.nilable(String)) }
92
+ attr_accessor :previous_response_id
93
+
94
+ # **gpt-5 and o-series models only** Configuration options for
95
+ # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
96
+ sig do
97
+ returns(
98
+ T.nilable(
99
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning
100
+ )
101
+ )
102
+ end
103
+ attr_reader :reasoning
104
+
105
+ sig do
106
+ params(
107
+ reasoning:
108
+ T.nilable(
109
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::OrHash
110
+ )
111
+ ).void
112
+ end
113
+ attr_writer :reasoning
114
+
115
+ # Configuration options for a text response from the model. Can be plain text or
116
+ # structured JSON data. Learn more:
117
+ #
118
+ # - [Text inputs and outputs](https://platform.openai.com/docs/guides/text)
119
+ # - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs)
120
+ sig do
121
+ returns(
122
+ T.nilable(OpenAI::Beta::Responses::InputTokenCountParams::Text)
123
+ )
124
+ end
125
+ attr_reader :text
126
+
127
+ sig do
128
+ params(
129
+ text:
130
+ T.nilable(
131
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::OrHash
132
+ )
133
+ ).void
134
+ end
135
+ attr_writer :text
136
+
137
+ # Controls which tool the model should use, if any.
138
+ sig do
139
+ returns(
140
+ T.nilable(
141
+ T.any(
142
+ OpenAI::Beta::BetaToolChoiceOptions::OrSymbol,
143
+ OpenAI::Beta::BetaToolChoiceAllowed,
144
+ OpenAI::Beta::BetaToolChoiceTypes,
145
+ OpenAI::Beta::BetaToolChoiceFunction,
146
+ OpenAI::Beta::BetaToolChoiceMcp,
147
+ OpenAI::Beta::BetaToolChoiceCustom,
148
+ OpenAI::Beta::Responses::InputTokenCountParams::ToolChoice::BetaSpecificProgrammaticToolCallingParam,
149
+ OpenAI::Beta::BetaToolChoiceApplyPatch,
150
+ OpenAI::Beta::BetaToolChoiceShell
151
+ )
152
+ )
153
+ )
154
+ end
155
+ attr_accessor :tool_choice
156
+
157
+ # An array of tools the model may call while generating a response. You can
158
+ # specify which tool to use by setting the `tool_choice` parameter.
159
+ sig do
160
+ returns(
161
+ T.nilable(
162
+ T::Array[
163
+ T.any(
164
+ OpenAI::Beta::BetaFunctionTool,
165
+ OpenAI::Beta::BetaFileSearchTool,
166
+ OpenAI::Beta::BetaComputerTool,
167
+ OpenAI::Beta::BetaComputerUsePreviewTool,
168
+ OpenAI::Beta::BetaTool::Mcp,
169
+ OpenAI::Beta::BetaTool::CodeInterpreter,
170
+ OpenAI::Beta::BetaTool::ProgrammaticToolCalling,
171
+ OpenAI::Beta::BetaTool::ImageGeneration,
172
+ OpenAI::Beta::BetaTool::LocalShell,
173
+ OpenAI::Beta::BetaFunctionShellTool,
174
+ OpenAI::Beta::BetaCustomTool,
175
+ OpenAI::Beta::BetaNamespaceTool,
176
+ OpenAI::Beta::BetaToolSearchTool,
177
+ OpenAI::Beta::BetaApplyPatchTool,
178
+ OpenAI::Beta::BetaWebSearchTool,
179
+ OpenAI::Beta::BetaWebSearchPreviewTool
180
+ )
181
+ ]
182
+ )
183
+ )
184
+ end
185
+ attr_accessor :tools
186
+
187
+ # The truncation strategy to use for the model response. - `auto`: If the input to
188
+ # this Response exceeds the model's context window size, the model will truncate
189
+ # the response to fit the context window by dropping items from the beginning of
190
+ # the conversation. - `disabled` (default): If the input size will exceed the
191
+ # context window size for a model, the request will fail with a 400 error.
192
+ sig do
193
+ returns(
194
+ T.nilable(
195
+ OpenAI::Beta::Responses::InputTokenCountParams::Truncation::OrSymbol
196
+ )
197
+ )
198
+ end
199
+ attr_reader :truncation
200
+
201
+ sig do
202
+ params(
203
+ truncation:
204
+ OpenAI::Beta::Responses::InputTokenCountParams::Truncation::OrSymbol
205
+ ).void
206
+ end
207
+ attr_writer :truncation
208
+
209
+ sig do
210
+ returns(
211
+ T.nilable(
212
+ T::Array[
213
+ OpenAI::Beta::Responses::InputTokenCountParams::Beta::OrSymbol
214
+ ]
215
+ )
216
+ )
217
+ end
218
+ attr_reader :betas
219
+
220
+ sig do
221
+ params(
222
+ betas:
223
+ T::Array[
224
+ OpenAI::Beta::Responses::InputTokenCountParams::Beta::OrSymbol
225
+ ]
226
+ ).void
227
+ end
228
+ attr_writer :betas
229
+
230
+ sig do
231
+ params(
232
+ conversation:
233
+ T.nilable(
234
+ T.any(
235
+ String,
236
+ OpenAI::Beta::BetaResponseConversationParam::OrHash
237
+ )
238
+ ),
239
+ input:
240
+ T.nilable(
241
+ OpenAI::Beta::Responses::InputTokenCountParams::Input::Variants
242
+ ),
243
+ instructions: T.nilable(String),
244
+ model: T.nilable(String),
245
+ parallel_tool_calls: T.nilable(T::Boolean),
246
+ personality:
247
+ T.any(
248
+ String,
249
+ OpenAI::Beta::Responses::InputTokenCountParams::Personality::OrSymbol
250
+ ),
251
+ previous_response_id: T.nilable(String),
252
+ reasoning:
253
+ T.nilable(
254
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::OrHash
255
+ ),
256
+ text:
257
+ T.nilable(
258
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::OrHash
259
+ ),
260
+ tool_choice:
261
+ T.nilable(
262
+ T.any(
263
+ OpenAI::Beta::BetaToolChoiceOptions::OrSymbol,
264
+ OpenAI::Beta::BetaToolChoiceAllowed::OrHash,
265
+ OpenAI::Beta::BetaToolChoiceTypes::OrHash,
266
+ OpenAI::Beta::BetaToolChoiceFunction::OrHash,
267
+ OpenAI::Beta::BetaToolChoiceMcp::OrHash,
268
+ OpenAI::Beta::BetaToolChoiceCustom::OrHash,
269
+ OpenAI::Beta::Responses::InputTokenCountParams::ToolChoice::BetaSpecificProgrammaticToolCallingParam::OrHash,
270
+ OpenAI::Beta::BetaToolChoiceApplyPatch::OrHash,
271
+ OpenAI::Beta::BetaToolChoiceShell::OrHash
272
+ )
273
+ ),
274
+ tools:
275
+ T.nilable(
276
+ T::Array[
277
+ T.any(
278
+ OpenAI::Beta::BetaFunctionTool::OrHash,
279
+ OpenAI::Beta::BetaFileSearchTool::OrHash,
280
+ OpenAI::Beta::BetaComputerTool::OrHash,
281
+ OpenAI::Beta::BetaComputerUsePreviewTool::OrHash,
282
+ OpenAI::Beta::BetaTool::Mcp::OrHash,
283
+ OpenAI::Beta::BetaTool::CodeInterpreter::OrHash,
284
+ OpenAI::Beta::BetaTool::ProgrammaticToolCalling::OrHash,
285
+ OpenAI::Beta::BetaTool::ImageGeneration::OrHash,
286
+ OpenAI::Beta::BetaTool::LocalShell::OrHash,
287
+ OpenAI::Beta::BetaFunctionShellTool::OrHash,
288
+ OpenAI::Beta::BetaCustomTool::OrHash,
289
+ OpenAI::Beta::BetaNamespaceTool::OrHash,
290
+ OpenAI::Beta::BetaToolSearchTool::OrHash,
291
+ OpenAI::Beta::BetaApplyPatchTool::OrHash,
292
+ OpenAI::Beta::BetaWebSearchTool::OrHash,
293
+ OpenAI::Beta::BetaWebSearchPreviewTool::OrHash
294
+ )
295
+ ]
296
+ ),
297
+ truncation:
298
+ OpenAI::Beta::Responses::InputTokenCountParams::Truncation::OrSymbol,
299
+ betas:
300
+ T::Array[
301
+ OpenAI::Beta::Responses::InputTokenCountParams::Beta::OrSymbol
302
+ ],
303
+ request_options: OpenAI::RequestOptions::OrHash
304
+ ).returns(T.attached_class)
305
+ end
306
+ def self.new(
307
+ # The conversation that this response belongs to. Items from this conversation are
308
+ # prepended to `input_items` for this response request. Input items and output
309
+ # items from this response are automatically added to this conversation after this
310
+ # response completes.
311
+ conversation: nil,
312
+ # Text, image, or file inputs to the model, used to generate a response
313
+ input: nil,
314
+ # A system (or developer) message inserted into the model's context. When used
315
+ # along with `previous_response_id`, the instructions from a previous response
316
+ # will not be carried over to the next response. This makes it simple to swap out
317
+ # system (or developer) messages in new responses.
318
+ instructions: nil,
319
+ # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
320
+ # wide range of models with different capabilities, performance characteristics,
321
+ # and price points. Refer to the
322
+ # [model guide](https://platform.openai.com/docs/models) to browse and compare
323
+ # available models.
324
+ model: nil,
325
+ # Whether to allow the model to run tool calls in parallel.
326
+ parallel_tool_calls: nil,
327
+ # A model-owned style preset to apply to this request. Omit this parameter to use
328
+ # the model's default style. Supported values may expand over time. Values must be
329
+ # at most 64 characters.
330
+ personality: nil,
331
+ # The unique ID of the previous response to the model. Use this to create
332
+ # multi-turn conversations. Learn more about
333
+ # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
334
+ # Cannot be used in conjunction with `conversation`.
335
+ previous_response_id: nil,
336
+ # **gpt-5 and o-series models only** Configuration options for
337
+ # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
338
+ reasoning: nil,
339
+ # Configuration options for a text response from the model. Can be plain text or
340
+ # structured JSON data. Learn more:
341
+ #
342
+ # - [Text inputs and outputs](https://platform.openai.com/docs/guides/text)
343
+ # - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs)
344
+ text: nil,
345
+ # Controls which tool the model should use, if any.
346
+ tool_choice: nil,
347
+ # An array of tools the model may call while generating a response. You can
348
+ # specify which tool to use by setting the `tool_choice` parameter.
349
+ tools: nil,
350
+ # The truncation strategy to use for the model response. - `auto`: If the input to
351
+ # this Response exceeds the model's context window size, the model will truncate
352
+ # the response to fit the context window by dropping items from the beginning of
353
+ # the conversation. - `disabled` (default): If the input size will exceed the
354
+ # context window size for a model, the request will fail with a 400 error.
355
+ truncation: nil,
356
+ betas: nil,
357
+ request_options: {}
358
+ )
359
+ end
360
+
361
+ sig do
362
+ override.returns(
363
+ {
364
+ conversation:
365
+ T.nilable(
366
+ T.any(String, OpenAI::Beta::BetaResponseConversationParam)
367
+ ),
368
+ input:
369
+ T.nilable(
370
+ OpenAI::Beta::Responses::InputTokenCountParams::Input::Variants
371
+ ),
372
+ instructions: T.nilable(String),
373
+ model: T.nilable(String),
374
+ parallel_tool_calls: T.nilable(T::Boolean),
375
+ personality:
376
+ T.any(
377
+ String,
378
+ OpenAI::Beta::Responses::InputTokenCountParams::Personality::OrSymbol
379
+ ),
380
+ previous_response_id: T.nilable(String),
381
+ reasoning:
382
+ T.nilable(
383
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning
384
+ ),
385
+ text:
386
+ T.nilable(
387
+ OpenAI::Beta::Responses::InputTokenCountParams::Text
388
+ ),
389
+ tool_choice:
390
+ T.nilable(
391
+ T.any(
392
+ OpenAI::Beta::BetaToolChoiceOptions::OrSymbol,
393
+ OpenAI::Beta::BetaToolChoiceAllowed,
394
+ OpenAI::Beta::BetaToolChoiceTypes,
395
+ OpenAI::Beta::BetaToolChoiceFunction,
396
+ OpenAI::Beta::BetaToolChoiceMcp,
397
+ OpenAI::Beta::BetaToolChoiceCustom,
398
+ OpenAI::Beta::Responses::InputTokenCountParams::ToolChoice::BetaSpecificProgrammaticToolCallingParam,
399
+ OpenAI::Beta::BetaToolChoiceApplyPatch,
400
+ OpenAI::Beta::BetaToolChoiceShell
401
+ )
402
+ ),
403
+ tools:
404
+ T.nilable(
405
+ T::Array[
406
+ T.any(
407
+ OpenAI::Beta::BetaFunctionTool,
408
+ OpenAI::Beta::BetaFileSearchTool,
409
+ OpenAI::Beta::BetaComputerTool,
410
+ OpenAI::Beta::BetaComputerUsePreviewTool,
411
+ OpenAI::Beta::BetaTool::Mcp,
412
+ OpenAI::Beta::BetaTool::CodeInterpreter,
413
+ OpenAI::Beta::BetaTool::ProgrammaticToolCalling,
414
+ OpenAI::Beta::BetaTool::ImageGeneration,
415
+ OpenAI::Beta::BetaTool::LocalShell,
416
+ OpenAI::Beta::BetaFunctionShellTool,
417
+ OpenAI::Beta::BetaCustomTool,
418
+ OpenAI::Beta::BetaNamespaceTool,
419
+ OpenAI::Beta::BetaToolSearchTool,
420
+ OpenAI::Beta::BetaApplyPatchTool,
421
+ OpenAI::Beta::BetaWebSearchTool,
422
+ OpenAI::Beta::BetaWebSearchPreviewTool
423
+ )
424
+ ]
425
+ ),
426
+ truncation:
427
+ OpenAI::Beta::Responses::InputTokenCountParams::Truncation::OrSymbol,
428
+ betas:
429
+ T::Array[
430
+ OpenAI::Beta::Responses::InputTokenCountParams::Beta::OrSymbol
431
+ ],
432
+ request_options: OpenAI::RequestOptions
433
+ }
434
+ )
435
+ end
436
+ def to_hash
437
+ end
438
+
439
+ # The conversation that this response belongs to. Items from this conversation are
440
+ # prepended to `input_items` for this response request. Input items and output
441
+ # items from this response are automatically added to this conversation after this
442
+ # response completes.
443
+ module Conversation
444
+ extend OpenAI::Internal::Type::Union
445
+
446
+ Variants =
447
+ T.type_alias do
448
+ T.any(String, OpenAI::Beta::BetaResponseConversationParam)
449
+ end
450
+
451
+ sig do
452
+ override.returns(
453
+ T::Array[
454
+ OpenAI::Beta::Responses::InputTokenCountParams::Conversation::Variants
455
+ ]
456
+ )
457
+ end
458
+ def self.variants
459
+ end
460
+ end
461
+
462
+ # Text, image, or file inputs to the model, used to generate a response
463
+ module Input
464
+ extend OpenAI::Internal::Type::Union
465
+
466
+ Variants =
467
+ T.type_alias do
468
+ T.any(
469
+ String,
470
+ T::Array[OpenAI::Beta::BetaResponseInputItem::Variants]
471
+ )
472
+ end
473
+
474
+ sig do
475
+ override.returns(
476
+ T::Array[
477
+ OpenAI::Beta::Responses::InputTokenCountParams::Input::Variants
478
+ ]
479
+ )
480
+ end
481
+ def self.variants
482
+ end
483
+
484
+ BetaResponseInputItemArray =
485
+ T.let(
486
+ OpenAI::Internal::Type::ArrayOf[
487
+ union: OpenAI::Beta::BetaResponseInputItem
488
+ ],
489
+ OpenAI::Internal::Type::Converter
490
+ )
491
+ end
492
+
493
+ # A model-owned style preset to apply to this request. Omit this parameter to use
494
+ # the model's default style. Supported values may expand over time. Values must be
495
+ # at most 64 characters.
496
+ module Personality
497
+ extend OpenAI::Internal::Type::Union
498
+
499
+ Variants =
500
+ T.type_alias do
501
+ T.any(
502
+ String,
503
+ OpenAI::Beta::Responses::InputTokenCountParams::Personality::TaggedSymbol
504
+ )
505
+ end
506
+
507
+ sig do
508
+ override.returns(
509
+ T::Array[
510
+ OpenAI::Beta::Responses::InputTokenCountParams::Personality::Variants
511
+ ]
512
+ )
513
+ end
514
+ def self.variants
515
+ end
516
+
517
+ TaggedSymbol =
518
+ T.type_alias do
519
+ T.all(
520
+ Symbol,
521
+ OpenAI::Beta::Responses::InputTokenCountParams::Personality
522
+ )
523
+ end
524
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
525
+
526
+ FRIENDLY =
527
+ T.let(
528
+ :friendly,
529
+ OpenAI::Beta::Responses::InputTokenCountParams::Personality::TaggedSymbol
530
+ )
531
+ PRAGMATIC =
532
+ T.let(
533
+ :pragmatic,
534
+ OpenAI::Beta::Responses::InputTokenCountParams::Personality::TaggedSymbol
535
+ )
536
+ end
537
+
538
+ class Reasoning < OpenAI::Internal::Type::BaseModel
539
+ OrHash =
540
+ T.type_alias do
541
+ T.any(
542
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning,
543
+ OpenAI::Internal::AnyHash
544
+ )
545
+ end
546
+
547
+ # Controls which reasoning items are rendered back to the model on later turns.
548
+ # When returned on a response, this is the effective reasoning context mode used
549
+ # for the response.
550
+ sig do
551
+ returns(
552
+ T.nilable(
553
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Context::OrSymbol
554
+ )
555
+ )
556
+ end
557
+ attr_accessor :context
558
+
559
+ # Constrains effort on reasoning for reasoning models. Currently supported values
560
+ # are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
561
+ # reasoning effort can result in faster responses and fewer tokens used on
562
+ # reasoning in a response. Not all reasoning models support every value. See the
563
+ # [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
564
+ # model-specific support.
565
+ sig do
566
+ returns(
567
+ T.nilable(
568
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::OrSymbol
569
+ )
570
+ )
571
+ end
572
+ attr_accessor :effort
573
+
574
+ # **Deprecated:** use `summary` instead.
575
+ #
576
+ # A summary of the reasoning performed by the model. This can be useful for
577
+ # debugging and understanding the model's reasoning process. One of `auto`,
578
+ # `concise`, or `detailed`.
579
+ sig do
580
+ returns(
581
+ T.nilable(
582
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::GenerateSummary::OrSymbol
583
+ )
584
+ )
585
+ end
586
+ attr_accessor :generate_summary
587
+
588
+ # Controls the reasoning execution mode for the request.
589
+ #
590
+ # When returned on a response, this is the effective execution mode.
591
+ sig do
592
+ returns(
593
+ T.nilable(
594
+ T.any(
595
+ String,
596
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Mode::OrSymbol
597
+ )
598
+ )
599
+ )
600
+ end
601
+ attr_reader :mode
602
+
603
+ sig do
604
+ params(
605
+ mode:
606
+ T.any(
607
+ String,
608
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Mode::OrSymbol
609
+ )
610
+ ).void
611
+ end
612
+ attr_writer :mode
613
+
614
+ # A summary of the reasoning performed by the model. This can be useful for
615
+ # debugging and understanding the model's reasoning process. One of `auto`,
616
+ # `concise`, or `detailed`.
617
+ #
618
+ # `concise` is supported for `computer-use-preview` models and all reasoning
619
+ # models after `gpt-5`.
620
+ sig do
621
+ returns(
622
+ T.nilable(
623
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Summary::OrSymbol
624
+ )
625
+ )
626
+ end
627
+ attr_accessor :summary
628
+
629
+ # **gpt-5 and o-series models only** Configuration options for
630
+ # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
631
+ sig do
632
+ params(
633
+ context:
634
+ T.nilable(
635
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Context::OrSymbol
636
+ ),
637
+ effort:
638
+ T.nilable(
639
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::OrSymbol
640
+ ),
641
+ generate_summary:
642
+ T.nilable(
643
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::GenerateSummary::OrSymbol
644
+ ),
645
+ mode:
646
+ T.any(
647
+ String,
648
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Mode::OrSymbol
649
+ ),
650
+ summary:
651
+ T.nilable(
652
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Summary::OrSymbol
653
+ )
654
+ ).returns(T.attached_class)
655
+ end
656
+ def self.new(
657
+ # Controls which reasoning items are rendered back to the model on later turns.
658
+ # When returned on a response, this is the effective reasoning context mode used
659
+ # for the response.
660
+ context: nil,
661
+ # Constrains effort on reasoning for reasoning models. Currently supported values
662
+ # are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
663
+ # reasoning effort can result in faster responses and fewer tokens used on
664
+ # reasoning in a response. Not all reasoning models support every value. See the
665
+ # [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
666
+ # model-specific support.
667
+ effort: nil,
668
+ # **Deprecated:** use `summary` instead.
669
+ #
670
+ # A summary of the reasoning performed by the model. This can be useful for
671
+ # debugging and understanding the model's reasoning process. One of `auto`,
672
+ # `concise`, or `detailed`.
673
+ generate_summary: nil,
674
+ # Controls the reasoning execution mode for the request.
675
+ #
676
+ # When returned on a response, this is the effective execution mode.
677
+ mode: nil,
678
+ # A summary of the reasoning performed by the model. This can be useful for
679
+ # debugging and understanding the model's reasoning process. One of `auto`,
680
+ # `concise`, or `detailed`.
681
+ #
682
+ # `concise` is supported for `computer-use-preview` models and all reasoning
683
+ # models after `gpt-5`.
684
+ summary: nil
685
+ )
686
+ end
687
+
688
+ sig do
689
+ override.returns(
690
+ {
691
+ context:
692
+ T.nilable(
693
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Context::OrSymbol
694
+ ),
695
+ effort:
696
+ T.nilable(
697
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::OrSymbol
698
+ ),
699
+ generate_summary:
700
+ T.nilable(
701
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::GenerateSummary::OrSymbol
702
+ ),
703
+ mode:
704
+ T.any(
705
+ String,
706
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Mode::OrSymbol
707
+ ),
708
+ summary:
709
+ T.nilable(
710
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Summary::OrSymbol
711
+ )
712
+ }
713
+ )
714
+ end
715
+ def to_hash
716
+ end
717
+
718
+ # Controls which reasoning items are rendered back to the model on later turns.
719
+ # When returned on a response, this is the effective reasoning context mode used
720
+ # for the response.
721
+ module Context
722
+ extend OpenAI::Internal::Type::Enum
723
+
724
+ TaggedSymbol =
725
+ T.type_alias do
726
+ T.all(
727
+ Symbol,
728
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Context
729
+ )
730
+ end
731
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
732
+
733
+ AUTO =
734
+ T.let(
735
+ :auto,
736
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Context::TaggedSymbol
737
+ )
738
+ CURRENT_TURN =
739
+ T.let(
740
+ :current_turn,
741
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Context::TaggedSymbol
742
+ )
743
+ ALL_TURNS =
744
+ T.let(
745
+ :all_turns,
746
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Context::TaggedSymbol
747
+ )
748
+
749
+ sig do
750
+ override.returns(
751
+ T::Array[
752
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Context::TaggedSymbol
753
+ ]
754
+ )
755
+ end
756
+ def self.values
757
+ end
758
+ end
759
+
760
+ # Constrains effort on reasoning for reasoning models. Currently supported values
761
+ # are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
762
+ # reasoning effort can result in faster responses and fewer tokens used on
763
+ # reasoning in a response. Not all reasoning models support every value. See the
764
+ # [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
765
+ # model-specific support.
766
+ module Effort
767
+ extend OpenAI::Internal::Type::Enum
768
+
769
+ TaggedSymbol =
770
+ T.type_alias do
771
+ T.all(
772
+ Symbol,
773
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort
774
+ )
775
+ end
776
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
777
+
778
+ NONE =
779
+ T.let(
780
+ :none,
781
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::TaggedSymbol
782
+ )
783
+ MINIMAL =
784
+ T.let(
785
+ :minimal,
786
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::TaggedSymbol
787
+ )
788
+ LOW =
789
+ T.let(
790
+ :low,
791
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::TaggedSymbol
792
+ )
793
+ MEDIUM =
794
+ T.let(
795
+ :medium,
796
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::TaggedSymbol
797
+ )
798
+ HIGH =
799
+ T.let(
800
+ :high,
801
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::TaggedSymbol
802
+ )
803
+ XHIGH =
804
+ T.let(
805
+ :xhigh,
806
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::TaggedSymbol
807
+ )
808
+ MAX =
809
+ T.let(
810
+ :max,
811
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::TaggedSymbol
812
+ )
813
+
814
+ sig do
815
+ override.returns(
816
+ T::Array[
817
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Effort::TaggedSymbol
818
+ ]
819
+ )
820
+ end
821
+ def self.values
822
+ end
823
+ end
824
+
825
+ # **Deprecated:** use `summary` instead.
826
+ #
827
+ # A summary of the reasoning performed by the model. This can be useful for
828
+ # debugging and understanding the model's reasoning process. One of `auto`,
829
+ # `concise`, or `detailed`.
830
+ module GenerateSummary
831
+ extend OpenAI::Internal::Type::Enum
832
+
833
+ TaggedSymbol =
834
+ T.type_alias do
835
+ T.all(
836
+ Symbol,
837
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::GenerateSummary
838
+ )
839
+ end
840
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
841
+
842
+ AUTO =
843
+ T.let(
844
+ :auto,
845
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::GenerateSummary::TaggedSymbol
846
+ )
847
+ CONCISE =
848
+ T.let(
849
+ :concise,
850
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::GenerateSummary::TaggedSymbol
851
+ )
852
+ DETAILED =
853
+ T.let(
854
+ :detailed,
855
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::GenerateSummary::TaggedSymbol
856
+ )
857
+
858
+ sig do
859
+ override.returns(
860
+ T::Array[
861
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::GenerateSummary::TaggedSymbol
862
+ ]
863
+ )
864
+ end
865
+ def self.values
866
+ end
867
+ end
868
+
869
+ # Controls the reasoning execution mode for the request.
870
+ #
871
+ # When returned on a response, this is the effective execution mode.
872
+ module Mode
873
+ extend OpenAI::Internal::Type::Union
874
+
875
+ Variants =
876
+ T.type_alias do
877
+ T.any(
878
+ String,
879
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Mode::TaggedSymbol
880
+ )
881
+ end
882
+
883
+ sig do
884
+ override.returns(
885
+ T::Array[
886
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Mode::Variants
887
+ ]
888
+ )
889
+ end
890
+ def self.variants
891
+ end
892
+
893
+ TaggedSymbol =
894
+ T.type_alias do
895
+ T.all(
896
+ Symbol,
897
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Mode
898
+ )
899
+ end
900
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
901
+
902
+ STANDARD =
903
+ T.let(
904
+ :standard,
905
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Mode::TaggedSymbol
906
+ )
907
+ PRO =
908
+ T.let(
909
+ :pro,
910
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Mode::TaggedSymbol
911
+ )
912
+ end
913
+
914
+ # A summary of the reasoning performed by the model. This can be useful for
915
+ # debugging and understanding the model's reasoning process. One of `auto`,
916
+ # `concise`, or `detailed`.
917
+ #
918
+ # `concise` is supported for `computer-use-preview` models and all reasoning
919
+ # models after `gpt-5`.
920
+ module Summary
921
+ extend OpenAI::Internal::Type::Enum
922
+
923
+ TaggedSymbol =
924
+ T.type_alias do
925
+ T.all(
926
+ Symbol,
927
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Summary
928
+ )
929
+ end
930
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
931
+
932
+ AUTO =
933
+ T.let(
934
+ :auto,
935
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Summary::TaggedSymbol
936
+ )
937
+ CONCISE =
938
+ T.let(
939
+ :concise,
940
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Summary::TaggedSymbol
941
+ )
942
+ DETAILED =
943
+ T.let(
944
+ :detailed,
945
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Summary::TaggedSymbol
946
+ )
947
+
948
+ sig do
949
+ override.returns(
950
+ T::Array[
951
+ OpenAI::Beta::Responses::InputTokenCountParams::Reasoning::Summary::TaggedSymbol
952
+ ]
953
+ )
954
+ end
955
+ def self.values
956
+ end
957
+ end
958
+ end
959
+
960
+ class Text < OpenAI::Internal::Type::BaseModel
961
+ OrHash =
962
+ T.type_alias do
963
+ T.any(
964
+ OpenAI::Beta::Responses::InputTokenCountParams::Text,
965
+ OpenAI::Internal::AnyHash
966
+ )
967
+ end
968
+
969
+ # An object specifying the format that the model must output.
970
+ #
971
+ # Configuring `{ "type": "json_schema" }` enables Structured Outputs, which
972
+ # ensures the model will match your supplied JSON schema. Learn more in the
973
+ # [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).
974
+ #
975
+ # The default format is `{ "type": "text" }` with no additional options.
976
+ #
977
+ # **Not recommended for gpt-4o and newer models:**
978
+ #
979
+ # Setting to `{ "type": "json_object" }` enables the older JSON mode, which
980
+ # ensures the message the model generates is valid JSON. Using `json_schema` is
981
+ # preferred for models that support it.
982
+ sig do
983
+ returns(
984
+ T.nilable(
985
+ T.any(
986
+ OpenAI::Beta::BetaResponseFormatTextConfig::Text,
987
+ OpenAI::Beta::BetaResponseFormatTextJSONSchemaConfig,
988
+ OpenAI::Beta::BetaResponseFormatTextConfig::JSONObject
989
+ )
990
+ )
991
+ )
992
+ end
993
+ attr_reader :format_
994
+
995
+ sig do
996
+ params(
997
+ format_:
998
+ T.any(
999
+ OpenAI::Beta::BetaResponseFormatTextConfig::Text::OrHash,
1000
+ OpenAI::Beta::BetaResponseFormatTextJSONSchemaConfig::OrHash,
1001
+ OpenAI::Beta::BetaResponseFormatTextConfig::JSONObject::OrHash
1002
+ )
1003
+ ).void
1004
+ end
1005
+ attr_writer :format_
1006
+
1007
+ # Constrains the verbosity of the model's response. Lower values will result in
1008
+ # more concise responses, while higher values will result in more verbose
1009
+ # responses. Currently supported values are `low`, `medium`, and `high`.
1010
+ sig do
1011
+ returns(
1012
+ T.nilable(
1013
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::Verbosity::OrSymbol
1014
+ )
1015
+ )
1016
+ end
1017
+ attr_accessor :verbosity
1018
+
1019
+ # Configuration options for a text response from the model. Can be plain text or
1020
+ # structured JSON data. Learn more:
1021
+ #
1022
+ # - [Text inputs and outputs](https://platform.openai.com/docs/guides/text)
1023
+ # - [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs)
1024
+ sig do
1025
+ params(
1026
+ format_:
1027
+ T.any(
1028
+ OpenAI::Beta::BetaResponseFormatTextConfig::Text::OrHash,
1029
+ OpenAI::Beta::BetaResponseFormatTextJSONSchemaConfig::OrHash,
1030
+ OpenAI::Beta::BetaResponseFormatTextConfig::JSONObject::OrHash
1031
+ ),
1032
+ verbosity:
1033
+ T.nilable(
1034
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::Verbosity::OrSymbol
1035
+ )
1036
+ ).returns(T.attached_class)
1037
+ end
1038
+ def self.new(
1039
+ # An object specifying the format that the model must output.
1040
+ #
1041
+ # Configuring `{ "type": "json_schema" }` enables Structured Outputs, which
1042
+ # ensures the model will match your supplied JSON schema. Learn more in the
1043
+ # [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).
1044
+ #
1045
+ # The default format is `{ "type": "text" }` with no additional options.
1046
+ #
1047
+ # **Not recommended for gpt-4o and newer models:**
1048
+ #
1049
+ # Setting to `{ "type": "json_object" }` enables the older JSON mode, which
1050
+ # ensures the message the model generates is valid JSON. Using `json_schema` is
1051
+ # preferred for models that support it.
1052
+ format_: nil,
1053
+ # Constrains the verbosity of the model's response. Lower values will result in
1054
+ # more concise responses, while higher values will result in more verbose
1055
+ # responses. Currently supported values are `low`, `medium`, and `high`.
1056
+ verbosity: nil
1057
+ )
1058
+ end
1059
+
1060
+ sig do
1061
+ override.returns(
1062
+ {
1063
+ format_:
1064
+ T.any(
1065
+ OpenAI::Beta::BetaResponseFormatTextConfig::Text,
1066
+ OpenAI::Beta::BetaResponseFormatTextJSONSchemaConfig,
1067
+ OpenAI::Beta::BetaResponseFormatTextConfig::JSONObject
1068
+ ),
1069
+ verbosity:
1070
+ T.nilable(
1071
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::Verbosity::OrSymbol
1072
+ )
1073
+ }
1074
+ )
1075
+ end
1076
+ def to_hash
1077
+ end
1078
+
1079
+ # Constrains the verbosity of the model's response. Lower values will result in
1080
+ # more concise responses, while higher values will result in more verbose
1081
+ # responses. Currently supported values are `low`, `medium`, and `high`.
1082
+ module Verbosity
1083
+ extend OpenAI::Internal::Type::Enum
1084
+
1085
+ TaggedSymbol =
1086
+ T.type_alias do
1087
+ T.all(
1088
+ Symbol,
1089
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::Verbosity
1090
+ )
1091
+ end
1092
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1093
+
1094
+ LOW =
1095
+ T.let(
1096
+ :low,
1097
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::Verbosity::TaggedSymbol
1098
+ )
1099
+ MEDIUM =
1100
+ T.let(
1101
+ :medium,
1102
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::Verbosity::TaggedSymbol
1103
+ )
1104
+ HIGH =
1105
+ T.let(
1106
+ :high,
1107
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::Verbosity::TaggedSymbol
1108
+ )
1109
+
1110
+ sig do
1111
+ override.returns(
1112
+ T::Array[
1113
+ OpenAI::Beta::Responses::InputTokenCountParams::Text::Verbosity::TaggedSymbol
1114
+ ]
1115
+ )
1116
+ end
1117
+ def self.values
1118
+ end
1119
+ end
1120
+ end
1121
+
1122
+ # Controls which tool the model should use, if any.
1123
+ module ToolChoice
1124
+ extend OpenAI::Internal::Type::Union
1125
+
1126
+ Variants =
1127
+ T.type_alias do
1128
+ T.any(
1129
+ OpenAI::Beta::BetaToolChoiceOptions::TaggedSymbol,
1130
+ OpenAI::Beta::BetaToolChoiceAllowed,
1131
+ OpenAI::Beta::BetaToolChoiceTypes,
1132
+ OpenAI::Beta::BetaToolChoiceFunction,
1133
+ OpenAI::Beta::BetaToolChoiceMcp,
1134
+ OpenAI::Beta::BetaToolChoiceCustom,
1135
+ OpenAI::Beta::Responses::InputTokenCountParams::ToolChoice::BetaSpecificProgrammaticToolCallingParam,
1136
+ OpenAI::Beta::BetaToolChoiceApplyPatch,
1137
+ OpenAI::Beta::BetaToolChoiceShell
1138
+ )
1139
+ end
1140
+
1141
+ class BetaSpecificProgrammaticToolCallingParam < OpenAI::Internal::Type::BaseModel
1142
+ OrHash =
1143
+ T.type_alias do
1144
+ T.any(
1145
+ OpenAI::Beta::Responses::InputTokenCountParams::ToolChoice::BetaSpecificProgrammaticToolCallingParam,
1146
+ OpenAI::Internal::AnyHash
1147
+ )
1148
+ end
1149
+
1150
+ # The tool to call. Always `programmatic_tool_calling`.
1151
+ sig { returns(Symbol) }
1152
+ attr_accessor :type
1153
+
1154
+ sig { params(type: Symbol).returns(T.attached_class) }
1155
+ def self.new(
1156
+ # The tool to call. Always `programmatic_tool_calling`.
1157
+ type: :programmatic_tool_calling
1158
+ )
1159
+ end
1160
+
1161
+ sig { override.returns({ type: Symbol }) }
1162
+ def to_hash
1163
+ end
1164
+ end
1165
+
1166
+ sig do
1167
+ override.returns(
1168
+ T::Array[
1169
+ OpenAI::Beta::Responses::InputTokenCountParams::ToolChoice::Variants
1170
+ ]
1171
+ )
1172
+ end
1173
+ def self.variants
1174
+ end
1175
+ end
1176
+
1177
+ # The truncation strategy to use for the model response. - `auto`: If the input to
1178
+ # this Response exceeds the model's context window size, the model will truncate
1179
+ # the response to fit the context window by dropping items from the beginning of
1180
+ # the conversation. - `disabled` (default): If the input size will exceed the
1181
+ # context window size for a model, the request will fail with a 400 error.
1182
+ module Truncation
1183
+ extend OpenAI::Internal::Type::Enum
1184
+
1185
+ TaggedSymbol =
1186
+ T.type_alias do
1187
+ T.all(
1188
+ Symbol,
1189
+ OpenAI::Beta::Responses::InputTokenCountParams::Truncation
1190
+ )
1191
+ end
1192
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1193
+
1194
+ AUTO =
1195
+ T.let(
1196
+ :auto,
1197
+ OpenAI::Beta::Responses::InputTokenCountParams::Truncation::TaggedSymbol
1198
+ )
1199
+ DISABLED =
1200
+ T.let(
1201
+ :disabled,
1202
+ OpenAI::Beta::Responses::InputTokenCountParams::Truncation::TaggedSymbol
1203
+ )
1204
+
1205
+ sig do
1206
+ override.returns(
1207
+ T::Array[
1208
+ OpenAI::Beta::Responses::InputTokenCountParams::Truncation::TaggedSymbol
1209
+ ]
1210
+ )
1211
+ end
1212
+ def self.values
1213
+ end
1214
+ end
1215
+
1216
+ module Beta
1217
+ extend OpenAI::Internal::Type::Enum
1218
+
1219
+ TaggedSymbol =
1220
+ T.type_alias do
1221
+ T.all(
1222
+ Symbol,
1223
+ OpenAI::Beta::Responses::InputTokenCountParams::Beta
1224
+ )
1225
+ end
1226
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1227
+
1228
+ RESPONSES_MULTI_AGENT_V1 =
1229
+ T.let(
1230
+ :"responses_multi_agent=v1",
1231
+ OpenAI::Beta::Responses::InputTokenCountParams::Beta::TaggedSymbol
1232
+ )
1233
+
1234
+ sig do
1235
+ override.returns(
1236
+ T::Array[
1237
+ OpenAI::Beta::Responses::InputTokenCountParams::Beta::TaggedSymbol
1238
+ ]
1239
+ )
1240
+ end
1241
+ def self.values
1242
+ end
1243
+ end
1244
+ end
1245
+ end
1246
+ end
1247
+ end
1248
+ end