openai 0.67.0 → 0.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +7 -7
  4. data/lib/openai/internal/type/enum.rb +6 -6
  5. data/lib/openai/internal/util.rb +14 -2
  6. data/lib/openai/models/beta/assistant_create_params.rb +7 -14
  7. data/lib/openai/models/beta/assistant_update_params.rb +7 -14
  8. data/lib/openai/models/beta/beta_apply_patch_tool.rb +44 -0
  9. data/lib/openai/models/beta/beta_compacted_response.rb +58 -0
  10. data/lib/openai/models/beta/beta_computer_action.rb +398 -0
  11. data/lib/openai/models/beta/beta_computer_action_list.rb +13 -0
  12. data/lib/openai/models/beta/beta_computer_tool.rb +23 -0
  13. data/lib/openai/models/beta/beta_computer_use_preview_tool.rb +63 -0
  14. data/lib/openai/models/beta/beta_container_auto.rb +96 -0
  15. data/lib/openai/models/beta/beta_container_network_policy_allowlist.rb +37 -0
  16. data/lib/openai/models/beta/beta_container_network_policy_disabled.rb +20 -0
  17. data/lib/openai/models/beta/beta_container_network_policy_domain_secret.rb +36 -0
  18. data/lib/openai/models/beta/beta_container_reference.rb +28 -0
  19. data/lib/openai/models/beta/beta_custom_tool.rb +148 -0
  20. data/lib/openai/models/beta/beta_easy_input_message.rb +120 -0
  21. data/lib/openai/models/beta/beta_file_search_tool.rb +424 -0
  22. data/lib/openai/models/beta/beta_function_shell_tool.rb +67 -0
  23. data/lib/openai/models/beta/beta_function_tool.rb +97 -0
  24. data/lib/openai/models/beta/beta_inline_skill.rb +44 -0
  25. data/lib/openai/models/beta/beta_inline_skill_source.rb +38 -0
  26. data/lib/openai/models/beta/beta_local_environment.rb +28 -0
  27. data/lib/openai/models/beta/beta_local_skill.rb +36 -0
  28. data/lib/openai/models/beta/beta_namespace_tool.rb +146 -0
  29. data/lib/openai/models/beta/beta_response.rb +1425 -0
  30. data/lib/openai/models/beta/beta_response_apply_patch_tool_call.rb +258 -0
  31. data/lib/openai/models/beta/beta_response_apply_patch_tool_call_output.rb +156 -0
  32. data/lib/openai/models/beta/beta_response_audio_delta_event.rb +63 -0
  33. data/lib/openai/models/beta/beta_response_audio_done_event.rb +55 -0
  34. data/lib/openai/models/beta/beta_response_audio_transcript_delta_event.rb +63 -0
  35. data/lib/openai/models/beta/beta_response_audio_transcript_done_event.rb +55 -0
  36. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rb +81 -0
  37. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rb +76 -0
  38. data/lib/openai/models/beta/beta_response_code_interpreter_call_completed_event.rb +73 -0
  39. data/lib/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rb +77 -0
  40. data/lib/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rb +77 -0
  41. data/lib/openai/models/beta/beta_response_code_interpreter_tool_call.rb +168 -0
  42. data/lib/openai/models/beta/beta_response_compaction_item.rb +69 -0
  43. data/lib/openai/models/beta/beta_response_compaction_item_param.rb +61 -0
  44. data/lib/openai/models/beta/beta_response_completed_event.rb +63 -0
  45. data/lib/openai/models/beta/beta_response_computer_tool_call.rb +156 -0
  46. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +141 -0
  47. data/lib/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rb +43 -0
  48. data/lib/openai/models/beta/beta_response_container_reference.rb +29 -0
  49. data/lib/openai/models/beta/beta_response_content.rb +56 -0
  50. data/lib/openai/models/beta/beta_response_content_part_added_event.rb +129 -0
  51. data/lib/openai/models/beta/beta_response_content_part_done_event.rb +129 -0
  52. data/lib/openai/models/beta/beta_response_conversation_param.rb +22 -0
  53. data/lib/openai/models/beta/beta_response_created_event.rb +63 -0
  54. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +142 -0
  55. data/lib/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rb +76 -0
  56. data/lib/openai/models/beta/beta_response_custom_tool_call_input_done_event.rb +76 -0
  57. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +55 -0
  58. data/lib/openai/models/beta/beta_response_custom_tool_call_output.rb +171 -0
  59. data/lib/openai/models/beta/beta_response_custom_tool_call_output_item.rb +55 -0
  60. data/lib/openai/models/beta/beta_response_error.rb +63 -0
  61. data/lib/openai/models/beta/beta_response_error_event.rb +79 -0
  62. data/lib/openai/models/beta/beta_response_failed_event.rb +63 -0
  63. data/lib/openai/models/beta/beta_response_file_search_call_completed_event.rb +72 -0
  64. data/lib/openai/models/beta/beta_response_file_search_call_in_progress_event.rb +72 -0
  65. data/lib/openai/models/beta/beta_response_file_search_call_searching_event.rb +72 -0
  66. data/lib/openai/models/beta/beta_response_file_search_tool_call.rb +168 -0
  67. data/lib/openai/models/beta/beta_response_format_text_config.rb +72 -0
  68. data/lib/openai/models/beta/beta_response_format_text_json_schema_config.rb +66 -0
  69. data/lib/openai/models/beta/beta_response_function_call_arguments_delta_event.rb +80 -0
  70. data/lib/openai/models/beta/beta_response_function_call_arguments_done_event.rb +83 -0
  71. data/lib/openai/models/beta/beta_response_function_call_output_item.rb +28 -0
  72. data/lib/openai/models/beta/beta_response_function_call_output_item_list.rb +14 -0
  73. data/lib/openai/models/beta/beta_response_function_shell_call_output_content.rb +90 -0
  74. data/lib/openai/models/beta/beta_response_function_shell_tool_call.rb +216 -0
  75. data/lib/openai/models/beta/beta_response_function_shell_tool_call_output.rb +265 -0
  76. data/lib/openai/models/beta/beta_response_function_tool_call.rb +168 -0
  77. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +57 -0
  78. data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +201 -0
  79. data/lib/openai/models/beta/beta_response_function_web_search.rb +238 -0
  80. data/lib/openai/models/beta/beta_response_image_gen_call_completed_event.rb +69 -0
  81. data/lib/openai/models/beta/beta_response_image_gen_call_generating_event.rb +69 -0
  82. data/lib/openai/models/beta/beta_response_image_gen_call_in_progress_event.rb +68 -0
  83. data/lib/openai/models/beta/beta_response_image_gen_call_partial_image_event.rb +89 -0
  84. data/lib/openai/models/beta/beta_response_in_progress_event.rb +63 -0
  85. data/lib/openai/models/beta/beta_response_includable.rb +45 -0
  86. data/lib/openai/models/beta/beta_response_incomplete_event.rb +63 -0
  87. data/lib/openai/models/beta/beta_response_inject_created_event.rb +51 -0
  88. data/lib/openai/models/beta/beta_response_inject_event.rb +40 -0
  89. data/lib/openai/models/beta/beta_response_inject_failed_event.rb +103 -0
  90. data/lib/openai/models/beta/beta_response_input.rb +13 -0
  91. data/lib/openai/models/beta/beta_response_input_audio.rb +70 -0
  92. data/lib/openai/models/beta/beta_response_input_content.rb +28 -0
  93. data/lib/openai/models/beta/beta_response_input_file.rb +113 -0
  94. data/lib/openai/models/beta/beta_response_input_file_content.rb +115 -0
  95. data/lib/openai/models/beta/beta_response_input_image.rb +94 -0
  96. data/lib/openai/models/beta/beta_response_input_image_content.rb +96 -0
  97. data/lib/openai/models/beta/beta_response_input_item.rb +2819 -0
  98. data/lib/openai/models/beta/beta_response_input_message_content_list.rb +14 -0
  99. data/lib/openai/models/beta/beta_response_input_message_item.rb +108 -0
  100. data/lib/openai/models/beta/beta_response_input_text.rb +59 -0
  101. data/lib/openai/models/beta/beta_response_input_text_content.rb +61 -0
  102. data/lib/openai/models/beta/beta_response_item.rb +1438 -0
  103. data/lib/openai/models/beta/beta_response_local_environment.rb +22 -0
  104. data/lib/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rb +81 -0
  105. data/lib/openai/models/beta/beta_response_mcp_call_arguments_done_event.rb +79 -0
  106. data/lib/openai/models/beta/beta_response_mcp_call_completed_event.rb +68 -0
  107. data/lib/openai/models/beta/beta_response_mcp_call_failed_event.rb +68 -0
  108. data/lib/openai/models/beta/beta_response_mcp_call_in_progress_event.rb +68 -0
  109. data/lib/openai/models/beta/beta_response_mcp_list_tools_completed_event.rb +68 -0
  110. data/lib/openai/models/beta/beta_response_mcp_list_tools_failed_event.rb +68 -0
  111. data/lib/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rb +69 -0
  112. data/lib/openai/models/beta/beta_response_output_audio.rb +41 -0
  113. data/lib/openai/models/beta/beta_response_output_item.rb +1444 -0
  114. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +71 -0
  115. data/lib/openai/models/beta/beta_response_output_item_done_event.rb +71 -0
  116. data/lib/openai/models/beta/beta_response_output_message.rb +139 -0
  117. data/lib/openai/models/beta/beta_response_output_refusal.rb +30 -0
  118. data/lib/openai/models/beta/beta_response_output_text.rb +292 -0
  119. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +92 -0
  120. data/lib/openai/models/beta/beta_response_prompt.rb +65 -0
  121. data/lib/openai/models/beta/beta_response_queued_event.rb +60 -0
  122. data/lib/openai/models/beta/beta_response_reasoning_item.rb +151 -0
  123. data/lib/openai/models/beta/beta_response_reasoning_summary_part_added_event.rb +110 -0
  124. data/lib/openai/models/beta/beta_response_reasoning_summary_part_done_event.rb +132 -0
  125. data/lib/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rb +88 -0
  126. data/lib/openai/models/beta/beta_response_reasoning_summary_text_done_event.rb +88 -0
  127. data/lib/openai/models/beta/beta_response_reasoning_text_delta_event.rb +87 -0
  128. data/lib/openai/models/beta/beta_response_reasoning_text_done_event.rb +87 -0
  129. data/lib/openai/models/beta/beta_response_refusal_delta_event.rb +87 -0
  130. data/lib/openai/models/beta/beta_response_refusal_done_event.rb +87 -0
  131. data/lib/openai/models/beta/beta_response_status.rb +25 -0
  132. data/lib/openai/models/beta/beta_response_stream_event.rb +203 -0
  133. data/lib/openai/models/beta/beta_response_text_config.rb +67 -0
  134. data/lib/openai/models/beta/beta_response_text_delta_event.rb +150 -0
  135. data/lib/openai/models/beta/beta_response_text_done_event.rb +150 -0
  136. data/lib/openai/models/beta/beta_response_tool_search_call.rb +117 -0
  137. data/lib/openai/models/beta/beta_response_tool_search_output_item.rb +117 -0
  138. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +109 -0
  139. data/lib/openai/models/beta/beta_response_usage.rb +95 -0
  140. data/lib/openai/models/beta/beta_response_web_search_call_completed_event.rb +72 -0
  141. data/lib/openai/models/beta/beta_response_web_search_call_in_progress_event.rb +72 -0
  142. data/lib/openai/models/beta/beta_response_web_search_call_searching_event.rb +72 -0
  143. data/lib/openai/models/beta/beta_responses_client_event.rb +1432 -0
  144. data/lib/openai/models/beta/beta_responses_server_event.rb +212 -0
  145. data/lib/openai/models/beta/beta_skill_reference.rb +36 -0
  146. data/lib/openai/models/beta/beta_tool.rb +910 -0
  147. data/lib/openai/models/beta/beta_tool_choice_allowed.rb +75 -0
  148. data/lib/openai/models/beta/beta_tool_choice_apply_patch.rb +22 -0
  149. data/lib/openai/models/beta/beta_tool_choice_custom.rb +30 -0
  150. data/lib/openai/models/beta/beta_tool_choice_function.rb +30 -0
  151. data/lib/openai/models/beta/beta_tool_choice_mcp.rb +42 -0
  152. data/lib/openai/models/beta/beta_tool_choice_options.rb +28 -0
  153. data/lib/openai/models/beta/beta_tool_choice_shell.rb +22 -0
  154. data/lib/openai/models/beta/beta_tool_choice_types.rb +67 -0
  155. data/lib/openai/models/beta/beta_tool_search_tool.rb +59 -0
  156. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +143 -0
  157. data/lib/openai/models/beta/beta_web_search_tool.rb +162 -0
  158. data/lib/openai/models/beta/response_cancel_params.rb +37 -0
  159. data/lib/openai/models/beta/response_compact_params.rb +549 -0
  160. data/lib/openai/models/beta/response_create_params.rb +1343 -0
  161. data/lib/openai/models/beta/response_delete_params.rb +37 -0
  162. data/lib/openai/models/beta/response_retrieve_params.rb +74 -0
  163. data/lib/openai/models/beta/responses/beta_response_item_list.rb +54 -0
  164. data/lib/openai/models/beta/responses/input_item_list_params.rb +96 -0
  165. data/lib/openai/models/beta/responses/input_token_count_params.rb +542 -0
  166. data/lib/openai/models/beta/responses/input_token_count_response.rb +26 -0
  167. data/lib/openai/models/beta/threads/run_create_params.rb +7 -14
  168. data/lib/openai/models/chat/chat_completion_content_part.rb +31 -1
  169. data/lib/openai/models/chat/chat_completion_content_part_image.rb +31 -1
  170. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +31 -1
  171. data/lib/openai/models/chat/chat_completion_content_part_text.rb +31 -1
  172. data/lib/openai/models/chat/completion_create_params.rb +200 -19
  173. data/lib/openai/models/chat_model.rb +3 -0
  174. data/lib/openai/models/completion_usage.rb +9 -1
  175. data/lib/openai/models/conversations/computer_screenshot_content.rb +28 -1
  176. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  177. data/lib/openai/models/conversations/conversation_item.rb +106 -3
  178. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  179. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  180. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +7 -14
  181. data/lib/openai/models/evals/run_cancel_response.rb +16 -30
  182. data/lib/openai/models/evals/run_create_params.rb +16 -30
  183. data/lib/openai/models/evals/run_create_response.rb +16 -30
  184. data/lib/openai/models/evals/run_list_response.rb +16 -30
  185. data/lib/openai/models/evals/run_retrieve_response.rb +16 -30
  186. data/lib/openai/models/graders/score_model_grader.rb +7 -14
  187. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +39 -8
  188. data/lib/openai/models/realtime/realtime_session_create_request.rb +6 -0
  189. data/lib/openai/models/realtime/realtime_session_create_response.rb +45 -8
  190. data/lib/openai/models/realtime/realtime_tools_config_union.rb +39 -8
  191. data/lib/openai/models/reasoning.rb +47 -15
  192. data/lib/openai/models/reasoning_effort.rb +7 -13
  193. data/lib/openai/models/responses/apply_patch_tool.rb +23 -1
  194. data/lib/openai/models/responses/compacted_response.rb +2 -2
  195. data/lib/openai/models/responses/custom_tool.rb +21 -1
  196. data/lib/openai/models/responses/function_shell_tool.rb +23 -1
  197. data/lib/openai/models/responses/function_tool.rb +32 -3
  198. data/lib/openai/models/responses/input_token_count_params.rb +21 -8
  199. data/lib/openai/models/responses/namespace_tool.rb +41 -2
  200. data/lib/openai/models/responses/response.rb +98 -14
  201. data/lib/openai/models/responses/response_apply_patch_tool_call.rb +56 -1
  202. data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +56 -1
  203. data/lib/openai/models/responses/response_compact_params.rb +107 -4
  204. data/lib/openai/models/responses/response_create_params.rb +214 -13
  205. data/lib/openai/models/responses/response_custom_tool_call.rb +56 -1
  206. data/lib/openai/models/responses/response_custom_tool_call_output.rb +58 -1
  207. data/lib/openai/models/responses/response_error.rb +1 -0
  208. data/lib/openai/models/responses/response_function_shell_tool_call.rb +56 -1
  209. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +56 -1
  210. data/lib/openai/models/responses/response_function_tool_call.rb +56 -1
  211. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +58 -1
  212. data/lib/openai/models/responses/response_input_file.rb +39 -8
  213. data/lib/openai/models/responses/response_input_file_content.rb +41 -8
  214. data/lib/openai/models/responses/response_input_image.rb +27 -1
  215. data/lib/openai/models/responses/response_input_image_content.rb +29 -1
  216. data/lib/openai/models/responses/response_input_item.rb +396 -8
  217. data/lib/openai/models/responses/response_input_text.rb +30 -1
  218. data/lib/openai/models/responses/response_input_text_content.rb +32 -1
  219. data/lib/openai/models/responses/response_item.rb +106 -3
  220. data/lib/openai/models/responses/response_item_list.rb +2 -2
  221. data/lib/openai/models/responses/response_output_item.rb +106 -3
  222. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  223. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  224. data/lib/openai/models/responses/response_reasoning_summary_part_done_event.rb +23 -1
  225. data/lib/openai/models/responses/response_tool_search_output_item.rb +2 -2
  226. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +2 -2
  227. data/lib/openai/models/responses/response_usage.rb +9 -1
  228. data/lib/openai/models/responses/responses_client_event.rb +215 -13
  229. data/lib/openai/models/responses/tool.rb +74 -10
  230. data/lib/openai/models/video_create_params.rb +1 -0
  231. data/lib/openai/models/video_edit_params.rb +2 -2
  232. data/lib/openai/models/webhooks/safety_identifier_blocked_webhook_event.rb +118 -0
  233. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  234. data/lib/openai/resources/beta/assistants.rb +2 -2
  235. data/lib/openai/resources/beta/responses/input_items.rb +58 -0
  236. data/lib/openai/resources/beta/responses/input_tokens.rb +73 -0
  237. data/lib/openai/resources/beta/responses.rb +440 -0
  238. data/lib/openai/resources/beta/threads/runs.rb +2 -2
  239. data/lib/openai/resources/beta.rb +4 -0
  240. data/lib/openai/resources/chat/completions.rb +10 -6
  241. data/lib/openai/resources/conversations/items.rb +3 -3
  242. data/lib/openai/resources/conversations.rb +1 -1
  243. data/lib/openai/resources/responses/input_items.rb +1 -1
  244. data/lib/openai/resources/responses/input_tokens.rb +3 -3
  245. data/lib/openai/resources/responses.rb +22 -12
  246. data/lib/openai/resources/webhooks.rb +1 -1
  247. data/lib/openai/version.rb +1 -1
  248. data/lib/openai.rb +163 -0
  249. data/rbi/openai/models/beta/assistant_create_params.rbi +12 -26
  250. data/rbi/openai/models/beta/assistant_update_params.rbi +12 -26
  251. data/rbi/openai/models/beta/beta_apply_patch_tool.rbi +99 -0
  252. data/rbi/openai/models/beta/beta_compacted_response.rbi +120 -0
  253. data/rbi/openai/models/beta/beta_computer_action.rbi +593 -0
  254. data/rbi/openai/models/beta/beta_computer_action_list.rbi +18 -0
  255. data/rbi/openai/models/beta/beta_computer_tool.rbi +33 -0
  256. data/rbi/openai/models/beta/beta_computer_use_preview_tool.rbi +126 -0
  257. data/rbi/openai/models/beta/beta_container_auto.rbi +231 -0
  258. data/rbi/openai/models/beta/beta_container_network_policy_allowlist.rbi +81 -0
  259. data/rbi/openai/models/beta/beta_container_network_policy_disabled.rbi +35 -0
  260. data/rbi/openai/models/beta/beta_container_network_policy_domain_secret.rbi +53 -0
  261. data/rbi/openai/models/beta/beta_container_reference.rbi +42 -0
  262. data/rbi/openai/models/beta/beta_custom_tool.rbi +302 -0
  263. data/rbi/openai/models/beta/beta_easy_input_message.rbi +211 -0
  264. data/rbi/openai/models/beta/beta_file_search_tool.rbi +863 -0
  265. data/rbi/openai/models/beta/beta_function_shell_tool.rbi +155 -0
  266. data/rbi/openai/models/beta/beta_function_tool.rbi +154 -0
  267. data/rbi/openai/models/beta/beta_inline_skill.rbi +68 -0
  268. data/rbi/openai/models/beta/beta_inline_skill_source.rbi +53 -0
  269. data/rbi/openai/models/beta/beta_local_environment.rbi +51 -0
  270. data/rbi/openai/models/beta/beta_local_skill.rbi +49 -0
  271. data/rbi/openai/models/beta/beta_namespace_tool.rbi +252 -0
  272. data/rbi/openai/models/beta/beta_response.rbi +2495 -0
  273. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call.rbi +431 -0
  274. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call_output.rbi +277 -0
  275. data/rbi/openai/models/beta/beta_response_audio_delta_event.rbi +110 -0
  276. data/rbi/openai/models/beta/beta_response_audio_done_event.rbi +100 -0
  277. data/rbi/openai/models/beta/beta_response_audio_transcript_delta_event.rbi +118 -0
  278. data/rbi/openai/models/beta/beta_response_audio_transcript_done_event.rbi +108 -0
  279. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbi +136 -0
  280. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbi +134 -0
  281. data/rbi/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbi +128 -0
  282. data/rbi/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbi +128 -0
  283. data/rbi/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbi +128 -0
  284. data/rbi/openai/models/beta/beta_response_code_interpreter_tool_call.rbi +315 -0
  285. data/rbi/openai/models/beta/beta_response_compaction_item.rbi +116 -0
  286. data/rbi/openai/models/beta/beta_response_compaction_item_param.rbi +114 -0
  287. data/rbi/openai/models/beta/beta_response_completed_event.rbi +111 -0
  288. data/rbi/openai/models/beta/beta_response_computer_tool_call.rbi +404 -0
  289. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +296 -0
  290. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbi +62 -0
  291. data/rbi/openai/models/beta/beta_response_container_reference.rbi +41 -0
  292. data/rbi/openai/models/beta/beta_response_content.rbi +66 -0
  293. data/rbi/openai/models/beta/beta_response_content_part_added_event.rbi +205 -0
  294. data/rbi/openai/models/beta/beta_response_content_part_done_event.rbi +203 -0
  295. data/rbi/openai/models/beta/beta_response_conversation_param.rbi +35 -0
  296. data/rbi/openai/models/beta/beta_response_created_event.rbi +109 -0
  297. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +242 -0
  298. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbi +134 -0
  299. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbi +134 -0
  300. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +113 -0
  301. data/rbi/openai/models/beta/beta_response_custom_tool_call_output.rbi +303 -0
  302. data/rbi/openai/models/beta/beta_response_custom_tool_call_output_item.rbi +114 -0
  303. data/rbi/openai/models/beta/beta_response_error.rbi +165 -0
  304. data/rbi/openai/models/beta/beta_response_error_event.rbi +120 -0
  305. data/rbi/openai/models/beta/beta_response_failed_event.rbi +107 -0
  306. data/rbi/openai/models/beta/beta_response_file_search_call_completed_event.rbi +126 -0
  307. data/rbi/openai/models/beta/beta_response_file_search_call_in_progress_event.rbi +126 -0
  308. data/rbi/openai/models/beta/beta_response_file_search_call_searching_event.rbi +126 -0
  309. data/rbi/openai/models/beta/beta_response_file_search_tool_call.rbi +328 -0
  310. data/rbi/openai/models/beta/beta_response_format_text_config.rbi +97 -0
  311. data/rbi/openai/models/beta/beta_response_format_text_json_schema_config.rbi +97 -0
  312. data/rbi/openai/models/beta/beta_response_function_call_arguments_delta_event.rbi +134 -0
  313. data/rbi/openai/models/beta/beta_response_function_call_arguments_done_event.rbi +140 -0
  314. data/rbi/openai/models/beta/beta_response_function_call_output_item.rbi +32 -0
  315. data/rbi/openai/models/beta/beta_response_function_call_output_item_list.rbi +21 -0
  316. data/rbi/openai/models/beta/beta_response_function_shell_call_output_content.rbi +160 -0
  317. data/rbi/openai/models/beta/beta_response_function_shell_tool_call.rbi +389 -0
  318. data/rbi/openai/models/beta/beta_response_function_shell_tool_call_output.rbi +470 -0
  319. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +310 -0
  320. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +115 -0
  321. data/rbi/openai/models/beta/beta_response_function_tool_call_output_item.rbi +364 -0
  322. data/rbi/openai/models/beta/beta_response_function_web_search.rbi +416 -0
  323. data/rbi/openai/models/beta/beta_response_image_gen_call_completed_event.rbi +127 -0
  324. data/rbi/openai/models/beta/beta_response_image_gen_call_generating_event.rbi +127 -0
  325. data/rbi/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbi +126 -0
  326. data/rbi/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbi +144 -0
  327. data/rbi/openai/models/beta/beta_response_in_progress_event.rbi +113 -0
  328. data/rbi/openai/models/beta/beta_response_includable.rbi +86 -0
  329. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +113 -0
  330. data/rbi/openai/models/beta/beta_response_inject_created_event.rbi +75 -0
  331. data/rbi/openai/models/beta/beta_response_inject_event.rbi +183 -0
  332. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +304 -0
  333. data/rbi/openai/models/beta/beta_response_input.rbi +18 -0
  334. data/rbi/openai/models/beta/beta_response_input_audio.rbi +144 -0
  335. data/rbi/openai/models/beta/beta_response_input_content.rbi +31 -0
  336. data/rbi/openai/models/beta/beta_response_input_file.rbi +210 -0
  337. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +211 -0
  338. data/rbi/openai/models/beta/beta_response_input_image.rbi +173 -0
  339. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +191 -0
  340. data/rbi/openai/models/beta/beta_response_input_item.rbi +5505 -0
  341. data/rbi/openai/models/beta/beta_response_input_message_content_list.rbi +21 -0
  342. data/rbi/openai/models/beta/beta_response_input_message_item.rbi +235 -0
  343. data/rbi/openai/models/beta/beta_response_input_text.rbi +109 -0
  344. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +115 -0
  345. data/rbi/openai/models/beta/beta_response_item.rbi +2592 -0
  346. data/rbi/openai/models/beta/beta_response_local_environment.rbi +35 -0
  347. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbi +137 -0
  348. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbi +134 -0
  349. data/rbi/openai/models/beta/beta_response_mcp_call_completed_event.rbi +123 -0
  350. data/rbi/openai/models/beta/beta_response_mcp_call_failed_event.rbi +121 -0
  351. data/rbi/openai/models/beta/beta_response_mcp_call_in_progress_event.rbi +124 -0
  352. data/rbi/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbi +126 -0
  353. data/rbi/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbi +124 -0
  354. data/rbi/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbi +127 -0
  355. data/rbi/openai/models/beta/beta_response_output_audio.rbi +53 -0
  356. data/rbi/openai/models/beta/beta_response_output_item.rbi +2627 -0
  357. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +154 -0
  358. data/rbi/openai/models/beta/beta_response_output_item_done_event.rbi +154 -0
  359. data/rbi/openai/models/beta/beta_response_output_message.rbi +267 -0
  360. data/rbi/openai/models/beta/beta_response_output_refusal.rbi +41 -0
  361. data/rbi/openai/models/beta/beta_response_output_text.rbi +479 -0
  362. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +150 -0
  363. data/rbi/openai/models/beta/beta_response_prompt.rbi +122 -0
  364. data/rbi/openai/models/beta/beta_response_queued_event.rbi +107 -0
  365. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +274 -0
  366. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbi +188 -0
  367. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbi +243 -0
  368. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbi +142 -0
  369. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbi +142 -0
  370. data/rbi/openai/models/beta/beta_response_reasoning_text_delta_event.rbi +140 -0
  371. data/rbi/openai/models/beta/beta_response_reasoning_text_done_event.rbi +140 -0
  372. data/rbi/openai/models/beta/beta_response_refusal_delta_event.rbi +135 -0
  373. data/rbi/openai/models/beta/beta_response_refusal_done_event.rbi +135 -0
  374. data/rbi/openai/models/beta/beta_response_status.rbi +38 -0
  375. data/rbi/openai/models/beta/beta_response_stream_event.rbi +81 -0
  376. data/rbi/openai/models/beta/beta_response_text_config.rbi +166 -0
  377. data/rbi/openai/models/beta/beta_response_text_delta_event.rbi +263 -0
  378. data/rbi/openai/models/beta/beta_response_text_done_event.rbi +261 -0
  379. data/rbi/openai/models/beta/beta_response_tool_search_call.rbi +218 -0
  380. data/rbi/openai/models/beta/beta_response_tool_search_output_item.rbi +248 -0
  381. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +307 -0
  382. data/rbi/openai/models/beta/beta_response_usage.rbi +163 -0
  383. data/rbi/openai/models/beta/beta_response_web_search_call_completed_event.rbi +126 -0
  384. data/rbi/openai/models/beta/beta_response_web_search_call_in_progress_event.rbi +126 -0
  385. data/rbi/openai/models/beta/beta_response_web_search_call_searching_event.rbi +126 -0
  386. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2831 -0
  387. data/rbi/openai/models/beta/beta_responses_server_event.rbi +83 -0
  388. data/rbi/openai/models/beta/beta_skill_reference.rbi +52 -0
  389. data/rbi/openai/models/beta/beta_tool.rbi +1835 -0
  390. data/rbi/openai/models/beta/beta_tool_choice_allowed.rbi +126 -0
  391. data/rbi/openai/models/beta/beta_tool_choice_apply_patch.rbi +35 -0
  392. data/rbi/openai/models/beta/beta_tool_choice_custom.rbi +38 -0
  393. data/rbi/openai/models/beta/beta_tool_choice_function.rbi +41 -0
  394. data/rbi/openai/models/beta/beta_tool_choice_mcp.rbi +55 -0
  395. data/rbi/openai/models/beta/beta_tool_choice_options.rbi +38 -0
  396. data/rbi/openai/models/beta/beta_tool_choice_shell.rbi +32 -0
  397. data/rbi/openai/models/beta/beta_tool_choice_types.rbi +134 -0
  398. data/rbi/openai/models/beta/beta_tool_search_tool.rbi +109 -0
  399. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +311 -0
  400. data/rbi/openai/models/beta/beta_web_search_tool.rbi +329 -0
  401. data/rbi/openai/models/beta/response_cancel_params.rbi +83 -0
  402. data/rbi/openai/models/beta/response_compact_params.rbi +1033 -0
  403. data/rbi/openai/models/beta/response_create_params.rbi +2739 -0
  404. data/rbi/openai/models/beta/response_delete_params.rbi +83 -0
  405. data/rbi/openai/models/beta/response_retrieve_params.rbi +145 -0
  406. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +113 -0
  407. data/rbi/openai/models/beta/responses/input_item_list_params.rbi +223 -0
  408. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +1248 -0
  409. data/rbi/openai/models/beta/responses/input_token_count_response.rbi +37 -0
  410. data/rbi/openai/models/beta/threads/run_create_params.rbi +12 -26
  411. data/rbi/openai/models/chat/chat_completion_content_part.rbi +57 -1
  412. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +57 -1
  413. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +57 -1
  414. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +70 -2
  415. data/rbi/openai/models/chat/completion_create_params.rbi +513 -32
  416. data/rbi/openai/models/chat_model.rbi +3 -0
  417. data/rbi/openai/models/completion_usage.rbi +21 -4
  418. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +57 -1
  419. data/rbi/openai/models/conversations/conversation_create_params.rbi +9 -3
  420. data/rbi/openai/models/conversations/conversation_item.rbi +178 -0
  421. data/rbi/openai/models/conversations/conversation_item_list.rbi +2 -0
  422. data/rbi/openai/models/conversations/item_create_params.rbi +9 -3
  423. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +12 -26
  424. data/rbi/openai/models/evals/run_cancel_response.rbi +26 -52
  425. data/rbi/openai/models/evals/run_create_params.rbi +28 -52
  426. data/rbi/openai/models/evals/run_create_response.rbi +26 -52
  427. data/rbi/openai/models/evals/run_list_response.rbi +26 -52
  428. data/rbi/openai/models/evals/run_retrieve_response.rbi +26 -52
  429. data/rbi/openai/models/graders/score_model_grader.rbi +12 -26
  430. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +84 -11
  431. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +10 -0
  432. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +94 -11
  433. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +84 -11
  434. data/rbi/openai/models/reasoning.rbi +51 -26
  435. data/rbi/openai/models/reasoning_effort.rbi +7 -13
  436. data/rbi/openai/models/responses/apply_patch_tool.rbi +69 -2
  437. data/rbi/openai/models/responses/compacted_response.rbi +2 -0
  438. data/rbi/openai/models/responses/custom_tool.rbi +53 -0
  439. data/rbi/openai/models/responses/function_shell_tool.rbi +57 -0
  440. data/rbi/openai/models/responses/function_tool.rbi +68 -3
  441. data/rbi/openai/models/responses/input_token_count_params.rbi +32 -0
  442. data/rbi/openai/models/responses/namespace_tool.rbi +76 -0
  443. data/rbi/openai/models/responses/response.rbi +192 -3
  444. data/rbi/openai/models/responses/response_apply_patch_tool_call.rbi +98 -0
  445. data/rbi/openai/models/responses/response_apply_patch_tool_call_output.rbi +98 -0
  446. data/rbi/openai/models/responses/response_compact_params.rbi +231 -0
  447. data/rbi/openai/models/responses/response_create_params.rbi +537 -6
  448. data/rbi/openai/models/responses/response_custom_tool_call.rbi +104 -0
  449. data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +111 -1
  450. data/rbi/openai/models/responses/response_error.rbi +5 -0
  451. data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +98 -0
  452. data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +98 -0
  453. data/rbi/openai/models/responses/response_function_tool_call.rbi +104 -0
  454. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +104 -0
  455. data/rbi/openai/models/responses/response_input_file.rbi +77 -10
  456. data/rbi/openai/models/responses/response_input_file_content.rbi +83 -10
  457. data/rbi/openai/models/responses/response_input_image.rbi +57 -1
  458. data/rbi/openai/models/responses/response_input_image_content.rbi +63 -1
  459. data/rbi/openai/models/responses/response_input_item.rbi +748 -8
  460. data/rbi/openai/models/responses/response_input_text.rbi +70 -2
  461. data/rbi/openai/models/responses/response_input_text_content.rbi +76 -2
  462. data/rbi/openai/models/responses/response_item.rbi +178 -0
  463. data/rbi/openai/models/responses/response_item_list.rbi +2 -0
  464. data/rbi/openai/models/responses/response_output_item.rbi +178 -0
  465. data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -0
  466. data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -0
  467. data/rbi/openai/models/responses/response_reasoning_summary_part_done_event.rbi +58 -1
  468. data/rbi/openai/models/responses/response_tool_search_output_item.rbi +1 -0
  469. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +3 -0
  470. data/rbi/openai/models/responses/response_usage.rbi +16 -2
  471. data/rbi/openai/models/responses/responses_client_event.rbi +537 -6
  472. data/rbi/openai/models/responses/tool.rbi +166 -12
  473. data/rbi/openai/models/video_edit_params.rbi +1 -1
  474. data/rbi/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbi +209 -0
  475. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +2 -1
  476. data/rbi/openai/resources/beta/assistants.rbi +12 -26
  477. data/rbi/openai/resources/beta/responses/input_items.rbi +58 -0
  478. data/rbi/openai/resources/beta/responses/input_tokens.rbi +154 -0
  479. data/rbi/openai/resources/beta/responses.rbi +903 -0
  480. data/rbi/openai/resources/beta/threads/runs.rbi +12 -26
  481. data/rbi/openai/resources/beta.rbi +3 -0
  482. data/rbi/openai/resources/chat/completions.rbi +48 -28
  483. data/rbi/openai/resources/conversations/items.rbi +3 -1
  484. data/rbi/openai/resources/conversations.rbi +3 -1
  485. data/rbi/openai/resources/responses/input_tokens.rbi +2 -0
  486. data/rbi/openai/resources/responses.rbi +54 -2
  487. data/rbi/openai/resources/webhooks.rbi +2 -1
  488. data/sig/openai/client.rbs +1 -1
  489. data/sig/openai/internal/transport/base_client.rbs +2 -2
  490. data/sig/openai/models/beta/beta_apply_patch_tool.rbs +40 -0
  491. data/sig/openai/models/beta/beta_compacted_response.rbs +44 -0
  492. data/sig/openai/models/beta/beta_computer_action.rbs +259 -0
  493. data/sig/openai/models/beta/beta_computer_action_list.rbs +12 -0
  494. data/sig/openai/models/beta/beta_computer_tool.rbs +17 -0
  495. data/sig/openai/models/beta/beta_computer_use_preview_tool.rbs +53 -0
  496. data/sig/openai/models/beta/beta_container_auto.rbs +86 -0
  497. data/sig/openai/models/beta/beta_container_network_policy_allowlist.rbs +38 -0
  498. data/sig/openai/models/beta/beta_container_network_policy_disabled.rbs +17 -0
  499. data/sig/openai/models/beta/beta_container_network_policy_domain_secret.rbs +22 -0
  500. data/sig/openai/models/beta/beta_container_reference.rbs +23 -0
  501. data/sig/openai/models/beta/beta_custom_tool.rbs +126 -0
  502. data/sig/openai/models/beta/beta_easy_input_message.rbs +87 -0
  503. data/sig/openai/models/beta/beta_file_search_tool.rbs +298 -0
  504. data/sig/openai/models/beta/beta_function_shell_tool.rbs +56 -0
  505. data/sig/openai/models/beta/beta_function_tool.rbs +72 -0
  506. data/sig/openai/models/beta/beta_inline_skill.rbs +39 -0
  507. data/sig/openai/models/beta/beta_inline_skill_source.rbs +30 -0
  508. data/sig/openai/models/beta/beta_local_environment.rbs +30 -0
  509. data/sig/openai/models/beta/beta_local_skill.rbs +26 -0
  510. data/sig/openai/models/beta/beta_namespace_tool.rbs +114 -0
  511. data/sig/openai/models/beta/beta_response.rbs +860 -0
  512. data/sig/openai/models/beta/beta_response_apply_patch_tool_call.rbs +177 -0
  513. data/sig/openai/models/beta/beta_response_apply_patch_tool_call_output.rbs +118 -0
  514. data/sig/openai/models/beta/beta_response_audio_delta_event.rbs +49 -0
  515. data/sig/openai/models/beta/beta_response_audio_done_event.rbs +44 -0
  516. data/sig/openai/models/beta/beta_response_audio_transcript_delta_event.rbs +49 -0
  517. data/sig/openai/models/beta/beta_response_audio_transcript_done_event.rbs +44 -0
  518. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbs +59 -0
  519. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbs +59 -0
  520. data/sig/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbs +54 -0
  521. data/sig/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbs +54 -0
  522. data/sig/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbs +54 -0
  523. data/sig/openai/models/beta/beta_response_code_interpreter_tool_call.rbs +113 -0
  524. data/sig/openai/models/beta/beta_response_compaction_item.rbs +60 -0
  525. data/sig/openai/models/beta/beta_response_compaction_item_param.rbs +49 -0
  526. data/sig/openai/models/beta/beta_response_completed_event.rbs +49 -0
  527. data/sig/openai/models/beta/beta_response_computer_tool_call.rbs +118 -0
  528. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +107 -0
  529. data/sig/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbs +34 -0
  530. data/sig/openai/models/beta/beta_response_container_reference.rbs +23 -0
  531. data/sig/openai/models/beta/beta_response_content.rbs +33 -0
  532. data/sig/openai/models/beta/beta_response_content_part_added_event.rbs +87 -0
  533. data/sig/openai/models/beta/beta_response_content_part_done_event.rbs +87 -0
  534. data/sig/openai/models/beta/beta_response_conversation_param.rbs +17 -0
  535. data/sig/openai/models/beta/beta_response_created_event.rbs +49 -0
  536. data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +105 -0
  537. data/sig/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbs +59 -0
  538. data/sig/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbs +59 -0
  539. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +54 -0
  540. data/sig/openai/models/beta/beta_response_custom_tool_call_output.rbs +116 -0
  541. data/sig/openai/models/beta/beta_response_custom_tool_call_output_item.rbs +54 -0
  542. data/sig/openai/models/beta/beta_response_error.rbs +73 -0
  543. data/sig/openai/models/beta/beta_response_error_event.rbs +59 -0
  544. data/sig/openai/models/beta/beta_response_failed_event.rbs +49 -0
  545. data/sig/openai/models/beta/beta_response_file_search_call_completed_event.rbs +54 -0
  546. data/sig/openai/models/beta/beta_response_file_search_call_in_progress_event.rbs +54 -0
  547. data/sig/openai/models/beta/beta_response_file_search_call_searching_event.rbs +54 -0
  548. data/sig/openai/models/beta/beta_response_file_search_tool_call.rbs +127 -0
  549. data/sig/openai/models/beta/beta_response_format_text_config.rbs +38 -0
  550. data/sig/openai/models/beta/beta_response_format_text_json_schema_config.rbs +46 -0
  551. data/sig/openai/models/beta/beta_response_function_call_arguments_delta_event.rbs +59 -0
  552. data/sig/openai/models/beta/beta_response_function_call_arguments_done_event.rbs +64 -0
  553. data/sig/openai/models/beta/beta_response_function_call_output_item.rbs +18 -0
  554. data/sig/openai/models/beta/beta_response_function_call_output_item_list.rbs +12 -0
  555. data/sig/openai/models/beta/beta_response_function_shell_call_output_content.rbs +66 -0
  556. data/sig/openai/models/beta/beta_response_function_shell_tool_call.rbs +161 -0
  557. data/sig/openai/models/beta/beta_response_function_shell_tool_call_output.rbs +190 -0
  558. data/sig/openai/models/beta/beta_response_function_tool_call.rbs +126 -0
  559. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +54 -0
  560. data/sig/openai/models/beta/beta_response_function_tool_call_output_item.rbs +138 -0
  561. data/sig/openai/models/beta/beta_response_function_web_search.rbs +165 -0
  562. data/sig/openai/models/beta/beta_response_image_gen_call_completed_event.rbs +54 -0
  563. data/sig/openai/models/beta/beta_response_image_gen_call_generating_event.rbs +54 -0
  564. data/sig/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbs +54 -0
  565. data/sig/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbs +64 -0
  566. data/sig/openai/models/beta/beta_response_in_progress_event.rbs +49 -0
  567. data/sig/openai/models/beta/beta_response_includable.rbs +32 -0
  568. data/sig/openai/models/beta/beta_response_incomplete_event.rbs +49 -0
  569. data/sig/openai/models/beta/beta_response_inject_created_event.rbs +41 -0
  570. data/sig/openai/models/beta/beta_response_inject_event.rbs +34 -0
  571. data/sig/openai/models/beta/beta_response_inject_failed_event.rbs +84 -0
  572. data/sig/openai/models/beta/beta_response_input.rbs +12 -0
  573. data/sig/openai/models/beta/beta_response_input_audio.rbs +62 -0
  574. data/sig/openai/models/beta/beta_response_input_content.rbs +18 -0
  575. data/sig/openai/models/beta/beta_response_input_file.rbs +90 -0
  576. data/sig/openai/models/beta/beta_response_input_file_content.rbs +80 -0
  577. data/sig/openai/models/beta/beta_response_input_image.rbs +71 -0
  578. data/sig/openai/models/beta/beta_response_input_image_content.rbs +67 -0
  579. data/sig/openai/models/beta/beta_response_input_item.rbs +2064 -0
  580. data/sig/openai/models/beta/beta_response_input_message_content_list.rbs +12 -0
  581. data/sig/openai/models/beta/beta_response_input_message_item.rbs +87 -0
  582. data/sig/openai/models/beta/beta_response_input_text.rbs +48 -0
  583. data/sig/openai/models/beta/beta_response_input_text_content.rbs +44 -0
  584. data/sig/openai/models/beta/beta_response_item.rbs +1097 -0
  585. data/sig/openai/models/beta/beta_response_local_environment.rbs +17 -0
  586. data/sig/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbs +59 -0
  587. data/sig/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbs +59 -0
  588. data/sig/openai/models/beta/beta_response_mcp_call_completed_event.rbs +54 -0
  589. data/sig/openai/models/beta/beta_response_mcp_call_failed_event.rbs +54 -0
  590. data/sig/openai/models/beta/beta_response_mcp_call_in_progress_event.rbs +54 -0
  591. data/sig/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbs +54 -0
  592. data/sig/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbs +54 -0
  593. data/sig/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbs +54 -0
  594. data/sig/openai/models/beta/beta_response_output_audio.rbs +30 -0
  595. data/sig/openai/models/beta/beta_response_output_item.rbs +1096 -0
  596. data/sig/openai/models/beta/beta_response_output_item_added_event.rbs +54 -0
  597. data/sig/openai/models/beta/beta_response_output_item_done_event.rbs +54 -0
  598. data/sig/openai/models/beta/beta_response_output_message.rbs +97 -0
  599. data/sig/openai/models/beta/beta_response_output_refusal.rbs +19 -0
  600. data/sig/openai/models/beta/beta_response_output_text.rbs +243 -0
  601. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +69 -0
  602. data/sig/openai/models/beta/beta_response_prompt.rbs +46 -0
  603. data/sig/openai/models/beta/beta_response_queued_event.rbs +49 -0
  604. data/sig/openai/models/beta/beta_response_reasoning_item.rbs +108 -0
  605. data/sig/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbs +76 -0
  606. data/sig/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbs +95 -0
  607. data/sig/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbs +64 -0
  608. data/sig/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbs +64 -0
  609. data/sig/openai/models/beta/beta_response_reasoning_text_delta_event.rbs +64 -0
  610. data/sig/openai/models/beta/beta_response_reasoning_text_done_event.rbs +64 -0
  611. data/sig/openai/models/beta/beta_response_refusal_delta_event.rbs +64 -0
  612. data/sig/openai/models/beta/beta_response_refusal_done_event.rbs +64 -0
  613. data/sig/openai/models/beta/beta_response_status.rbs +23 -0
  614. data/sig/openai/models/beta/beta_response_stream_event.rbs +68 -0
  615. data/sig/openai/models/beta/beta_response_text_config.rbs +45 -0
  616. data/sig/openai/models/beta/beta_response_text_delta_event.rbs +116 -0
  617. data/sig/openai/models/beta/beta_response_text_done_event.rbs +116 -0
  618. data/sig/openai/models/beta/beta_response_tool_search_call.rbs +98 -0
  619. data/sig/openai/models/beta/beta_response_tool_search_output_item.rbs +98 -0
  620. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +91 -0
  621. data/sig/openai/models/beta/beta_response_usage.rbs +73 -0
  622. data/sig/openai/models/beta/beta_response_web_search_call_completed_event.rbs +54 -0
  623. data/sig/openai/models/beta/beta_response_web_search_call_in_progress_event.rbs +54 -0
  624. data/sig/openai/models/beta/beta_response_web_search_call_searching_event.rbs +54 -0
  625. data/sig/openai/models/beta/beta_responses_client_event.rbs +804 -0
  626. data/sig/openai/models/beta/beta_responses_server_event.rbs +70 -0
  627. data/sig/openai/models/beta/beta_skill_reference.rbs +32 -0
  628. data/sig/openai/models/beta/beta_tool.rbs +634 -0
  629. data/sig/openai/models/beta/beta_tool_choice_allowed.rbs +45 -0
  630. data/sig/openai/models/beta/beta_tool_choice_apply_patch.rbs +17 -0
  631. data/sig/openai/models/beta/beta_tool_choice_custom.rbs +19 -0
  632. data/sig/openai/models/beta/beta_tool_choice_function.rbs +19 -0
  633. data/sig/openai/models/beta/beta_tool_choice_mcp.rbs +26 -0
  634. data/sig/openai/models/beta/beta_tool_choice_options.rbs +19 -0
  635. data/sig/openai/models/beta/beta_tool_choice_shell.rbs +17 -0
  636. data/sig/openai/models/beta/beta_tool_choice_types.rbs +47 -0
  637. data/sig/openai/models/beta/beta_tool_search_tool.rbs +54 -0
  638. data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +118 -0
  639. data/sig/openai/models/beta/beta_web_search_tool.rbs +127 -0
  640. data/sig/openai/models/beta/response_cancel_params.rbs +47 -0
  641. data/sig/openai/models/beta/response_compact_params.rbs +368 -0
  642. data/sig/openai/models/beta/response_create_params.rbs +804 -0
  643. data/sig/openai/models/beta/response_delete_params.rbs +47 -0
  644. data/sig/openai/models/beta/response_retrieve_params.rbs +70 -0
  645. data/sig/openai/models/beta/responses/beta_response_item_list.rbs +44 -0
  646. data/sig/openai/models/beta/responses/input_item_list_params.rbs +92 -0
  647. data/sig/openai/models/beta/responses/input_token_count_params.rbs +325 -0
  648. data/sig/openai/models/beta/responses/input_token_count_response.rbs +26 -0
  649. data/sig/openai/models/chat/chat_completion_content_part.rbs +21 -2
  650. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +21 -2
  651. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +21 -2
  652. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +32 -3
  653. data/sig/openai/models/chat/completion_create_params.rbs +153 -3
  654. data/sig/openai/models/chat_model.rbs +7 -1
  655. data/sig/openai/models/completion_usage.rbs +15 -2
  656. data/sig/openai/models/conversations/computer_screenshot_content.rbs +21 -2
  657. data/sig/openai/models/conversations/conversation_item.rbs +87 -0
  658. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +25 -2
  659. data/sig/openai/models/realtime/realtime_session_create_request.rbs +4 -0
  660. data/sig/openai/models/realtime/realtime_session_create_response.rbs +29 -2
  661. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +25 -2
  662. data/sig/openai/models/reasoning.rbs +20 -0
  663. data/sig/openai/models/reasoning_effort.rbs +3 -1
  664. data/sig/openai/models/responses/apply_patch_tool.rbs +26 -3
  665. data/sig/openai/models/responses/custom_tool.rbs +16 -0
  666. data/sig/openai/models/responses/function_shell_tool.rbs +16 -0
  667. data/sig/openai/models/responses/function_tool.rbs +23 -2
  668. data/sig/openai/models/responses/input_token_count_params.rbs +12 -0
  669. data/sig/openai/models/responses/namespace_tool.rbs +21 -0
  670. data/sig/openai/models/responses/response.rbs +64 -0
  671. data/sig/openai/models/responses/response_apply_patch_tool_call.rbs +37 -0
  672. data/sig/openai/models/responses/response_apply_patch_tool_call_output.rbs +37 -0
  673. data/sig/openai/models/responses/response_compact_params.rbs +63 -1
  674. data/sig/openai/models/responses/response_create_params.rbs +165 -3
  675. data/sig/openai/models/responses/response_custom_tool_call.rbs +37 -0
  676. data/sig/openai/models/responses/response_custom_tool_call_output.rbs +39 -2
  677. data/sig/openai/models/responses/response_error.rbs +2 -0
  678. data/sig/openai/models/responses/response_function_shell_tool_call.rbs +37 -0
  679. data/sig/openai/models/responses/response_function_shell_tool_call_output.rbs +37 -0
  680. data/sig/openai/models/responses/response_function_tool_call.rbs +37 -0
  681. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +37 -0
  682. data/sig/openai/models/responses/response_input_file.rbs +23 -3
  683. data/sig/openai/models/responses/response_input_file_content.rbs +19 -3
  684. data/sig/openai/models/responses/response_input_image.rbs +21 -2
  685. data/sig/openai/models/responses/response_input_image_content.rbs +17 -2
  686. data/sig/openai/models/responses/response_input_item.rbs +274 -2
  687. data/sig/openai/models/responses/response_input_text.rbs +32 -3
  688. data/sig/openai/models/responses/response_input_text_content.rbs +28 -3
  689. data/sig/openai/models/responses/response_item.rbs +87 -0
  690. data/sig/openai/models/responses/response_output_item.rbs +87 -0
  691. data/sig/openai/models/responses/response_reasoning_summary_part_done_event.rbs +21 -2
  692. data/sig/openai/models/responses/response_usage.rbs +12 -3
  693. data/sig/openai/models/responses/responses_client_event.rbs +165 -3
  694. data/sig/openai/models/responses/tool.rbs +54 -4
  695. data/sig/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbs +99 -0
  696. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  697. data/sig/openai/resources/beta/responses/input_items.rbs +21 -0
  698. data/sig/openai/resources/beta/responses/input_tokens.rbs +28 -0
  699. data/sig/openai/resources/beta/responses.rbs +128 -0
  700. data/sig/openai/resources/beta.rbs +2 -0
  701. data/sig/openai/resources/chat/completions.rbs +2 -0
  702. data/sig/openai/resources/responses.rbs +3 -0
  703. data/sig/openai/resources/webhooks.rbs +2 -1
  704. metadata +491 -2
@@ -241,11 +241,40 @@ module OpenAI
241
241
  sig { params(prompt_cache_key: String).void }
242
242
  attr_writer :prompt_cache_key
243
243
 
244
+ # Options for prompt caching. Supported for `gpt-5.6` and later models. By
245
+ # default, OpenAI automatically chooses one implicit cache breakpoint. You can add
246
+ # explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each
247
+ # request can write up to four breakpoints. For cache matching, OpenAI considers
248
+ # up to the latest 80 breakpoints in the conversation, without a content-block
249
+ # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
250
+ # `ttl` defaults to `30m`, which is currently the only supported value. See the
251
+ # [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching)
252
+ # for current details.
253
+ sig do
254
+ returns(
255
+ T.nilable(OpenAI::Chat::CompletionCreateParams::PromptCacheOptions)
256
+ )
257
+ end
258
+ attr_reader :prompt_cache_options
259
+
260
+ sig do
261
+ params(
262
+ prompt_cache_options:
263
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::OrHash
264
+ ).void
265
+ end
266
+ attr_writer :prompt_cache_options
267
+
268
+ # Deprecated. Use `prompt_cache_options.ttl` instead.
269
+ #
244
270
  # The retention policy for the prompt cache. Set to `24h` to enable extended
245
271
  # prompt caching, which keeps cached prefixes active for longer, up to a maximum
246
272
  # of 24 hours.
247
273
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
248
- # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
274
+ # This field expresses a maximum retention policy, while
275
+ # `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
276
+ # are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
277
+ # models, only `24h` is supported.
249
278
  #
250
279
  # For older models that support both `in_memory` and `24h`, the default depends on
251
280
  # your organization's data retention policy:
@@ -262,19 +291,12 @@ module OpenAI
262
291
  end
263
292
  attr_accessor :prompt_cache_retention
264
293
 
265
- # Constrains effort on reasoning for
266
- # [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
267
- # supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
268
- # Reducing reasoning effort can result in faster responses and fewer tokens used
269
- # on reasoning in a response.
270
- #
271
- # - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
272
- # reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
273
- # calls are supported for all reasoning values in gpt-5.1.
274
- # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
275
- # support `none`.
276
- # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
277
- # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
294
+ # Constrains effort on reasoning for reasoning models. Currently supported values
295
+ # are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
296
+ # reasoning effort can result in faster responses and fewer tokens used on
297
+ # reasoning in a response. Not all reasoning models support every value. See the
298
+ # [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
299
+ # model-specific support.
278
300
  sig { returns(T.nilable(OpenAI::ReasoningEffort::OrSymbol)) }
279
301
  attr_accessor :reasoning_effort
280
302
 
@@ -563,6 +585,8 @@ module OpenAI
563
585
  T.nilable(OpenAI::Chat::ChatCompletionPredictionContent::OrHash),
564
586
  presence_penalty: T.nilable(Float),
565
587
  prompt_cache_key: String,
588
+ prompt_cache_options:
589
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::OrHash,
566
590
  prompt_cache_retention:
567
591
  T.nilable(
568
592
  OpenAI::Chat::CompletionCreateParams::PromptCacheRetention::OrSymbol
@@ -719,11 +743,26 @@ module OpenAI
719
743
  # hit rates. Replaces the `user` field.
720
744
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
721
745
  prompt_cache_key: nil,
746
+ # Options for prompt caching. Supported for `gpt-5.6` and later models. By
747
+ # default, OpenAI automatically chooses one implicit cache breakpoint. You can add
748
+ # explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each
749
+ # request can write up to four breakpoints. For cache matching, OpenAI considers
750
+ # up to the latest 80 breakpoints in the conversation, without a content-block
751
+ # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
752
+ # `ttl` defaults to `30m`, which is currently the only supported value. See the
753
+ # [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching)
754
+ # for current details.
755
+ prompt_cache_options: nil,
756
+ # Deprecated. Use `prompt_cache_options.ttl` instead.
757
+ #
722
758
  # The retention policy for the prompt cache. Set to `24h` to enable extended
723
759
  # prompt caching, which keeps cached prefixes active for longer, up to a maximum
724
760
  # of 24 hours.
725
761
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
726
- # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
762
+ # This field expresses a maximum retention policy, while
763
+ # `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
764
+ # are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
765
+ # models, only `24h` is supported.
727
766
  #
728
767
  # For older models that support both `in_memory` and `24h`, the default depends on
729
768
  # your organization's data retention policy:
@@ -732,19 +771,12 @@ module OpenAI
732
771
  # - Organizations with ZDR enabled default to `in_memory` when
733
772
  # `prompt_cache_retention` is not specified.
734
773
  prompt_cache_retention: nil,
735
- # Constrains effort on reasoning for
736
- # [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently
737
- # supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`.
738
- # Reducing reasoning effort can result in faster responses and fewer tokens used
739
- # on reasoning in a response.
740
- #
741
- # - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported
742
- # reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool
743
- # calls are supported for all reasoning values in gpt-5.1.
744
- # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
745
- # support `none`.
746
- # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
747
- # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
774
+ # Constrains effort on reasoning for reasoning models. Currently supported values
775
+ # are `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, and `max`. Reducing
776
+ # reasoning effort can result in faster responses and fewer tokens used on
777
+ # reasoning in a response. Not all reasoning models support every value. See the
778
+ # [reasoning guide](https://platform.openai.com/docs/guides/reasoning) for
779
+ # model-specific support.
748
780
  reasoning_effort: nil,
749
781
  # An object specifying the format that the model must output.
750
782
  #
@@ -891,6 +923,8 @@ module OpenAI
891
923
  T.nilable(OpenAI::Chat::ChatCompletionPredictionContent),
892
924
  presence_penalty: T.nilable(Float),
893
925
  prompt_cache_key: String,
926
+ prompt_cache_options:
927
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions,
894
928
  prompt_cache_retention:
895
929
  T.nilable(
896
930
  OpenAI::Chat::CompletionCreateParams::PromptCacheRetention::OrSymbol
@@ -1156,25 +1190,472 @@ module OpenAI
1156
1190
  sig { returns(String) }
1157
1191
  attr_accessor :model
1158
1192
 
1193
+ # The policy to apply to moderated response input and output.
1194
+ sig do
1195
+ returns(
1196
+ T.nilable(
1197
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy
1198
+ )
1199
+ )
1200
+ end
1201
+ attr_reader :policy
1202
+
1203
+ sig do
1204
+ params(
1205
+ policy:
1206
+ T.nilable(
1207
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::OrHash
1208
+ )
1209
+ ).void
1210
+ end
1211
+ attr_writer :policy
1212
+
1159
1213
  # Configuration for running moderation on the request input and generated output.
1160
- sig { params(model: String).returns(T.attached_class) }
1214
+ sig do
1215
+ params(
1216
+ model: String,
1217
+ policy:
1218
+ T.nilable(
1219
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::OrHash
1220
+ )
1221
+ ).returns(T.attached_class)
1222
+ end
1161
1223
  def self.new(
1162
1224
  # The moderation model to use for moderated completions, e.g.
1163
1225
  # 'omni-moderation-latest'.
1164
- model:
1226
+ model:,
1227
+ # The policy to apply to moderated response input and output.
1228
+ policy: nil
1165
1229
  )
1166
1230
  end
1167
1231
 
1168
- sig { override.returns({ model: String }) }
1232
+ sig do
1233
+ override.returns(
1234
+ {
1235
+ model: String,
1236
+ policy:
1237
+ T.nilable(
1238
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy
1239
+ )
1240
+ }
1241
+ )
1242
+ end
1169
1243
  def to_hash
1170
1244
  end
1245
+
1246
+ class Policy < OpenAI::Internal::Type::BaseModel
1247
+ OrHash =
1248
+ T.type_alias do
1249
+ T.any(
1250
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy,
1251
+ OpenAI::Internal::AnyHash
1252
+ )
1253
+ end
1254
+
1255
+ # The moderation policy for the response input.
1256
+ sig do
1257
+ returns(
1258
+ T.nilable(
1259
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input
1260
+ )
1261
+ )
1262
+ end
1263
+ attr_reader :input
1264
+
1265
+ sig do
1266
+ params(
1267
+ input:
1268
+ T.nilable(
1269
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input::OrHash
1270
+ )
1271
+ ).void
1272
+ end
1273
+ attr_writer :input
1274
+
1275
+ # The moderation policy for the response output.
1276
+ sig do
1277
+ returns(
1278
+ T.nilable(
1279
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output
1280
+ )
1281
+ )
1282
+ end
1283
+ attr_reader :output
1284
+
1285
+ sig do
1286
+ params(
1287
+ output:
1288
+ T.nilable(
1289
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output::OrHash
1290
+ )
1291
+ ).void
1292
+ end
1293
+ attr_writer :output
1294
+
1295
+ # The policy to apply to moderated response input and output.
1296
+ sig do
1297
+ params(
1298
+ input:
1299
+ T.nilable(
1300
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input::OrHash
1301
+ ),
1302
+ output:
1303
+ T.nilable(
1304
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output::OrHash
1305
+ )
1306
+ ).returns(T.attached_class)
1307
+ end
1308
+ def self.new(
1309
+ # The moderation policy for the response input.
1310
+ input: nil,
1311
+ # The moderation policy for the response output.
1312
+ output: nil
1313
+ )
1314
+ end
1315
+
1316
+ sig do
1317
+ override.returns(
1318
+ {
1319
+ input:
1320
+ T.nilable(
1321
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input
1322
+ ),
1323
+ output:
1324
+ T.nilable(
1325
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output
1326
+ )
1327
+ }
1328
+ )
1329
+ end
1330
+ def to_hash
1331
+ end
1332
+
1333
+ class Input < OpenAI::Internal::Type::BaseModel
1334
+ OrHash =
1335
+ T.type_alias do
1336
+ T.any(
1337
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input,
1338
+ OpenAI::Internal::AnyHash
1339
+ )
1340
+ end
1341
+
1342
+ sig do
1343
+ returns(
1344
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input::Mode::OrSymbol
1345
+ )
1346
+ end
1347
+ attr_accessor :mode
1348
+
1349
+ # The moderation policy for the response input.
1350
+ sig do
1351
+ params(
1352
+ mode:
1353
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input::Mode::OrSymbol
1354
+ ).returns(T.attached_class)
1355
+ end
1356
+ def self.new(mode:)
1357
+ end
1358
+
1359
+ sig do
1360
+ override.returns(
1361
+ {
1362
+ mode:
1363
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input::Mode::OrSymbol
1364
+ }
1365
+ )
1366
+ end
1367
+ def to_hash
1368
+ end
1369
+
1370
+ module Mode
1371
+ extend OpenAI::Internal::Type::Enum
1372
+
1373
+ TaggedSymbol =
1374
+ T.type_alias do
1375
+ T.all(
1376
+ Symbol,
1377
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input::Mode
1378
+ )
1379
+ end
1380
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1381
+
1382
+ SCORE =
1383
+ T.let(
1384
+ :score,
1385
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input::Mode::TaggedSymbol
1386
+ )
1387
+ BLOCK =
1388
+ T.let(
1389
+ :block,
1390
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input::Mode::TaggedSymbol
1391
+ )
1392
+
1393
+ sig do
1394
+ override.returns(
1395
+ T::Array[
1396
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Input::Mode::TaggedSymbol
1397
+ ]
1398
+ )
1399
+ end
1400
+ def self.values
1401
+ end
1402
+ end
1403
+ end
1404
+
1405
+ class Output < OpenAI::Internal::Type::BaseModel
1406
+ OrHash =
1407
+ T.type_alias do
1408
+ T.any(
1409
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output,
1410
+ OpenAI::Internal::AnyHash
1411
+ )
1412
+ end
1413
+
1414
+ sig do
1415
+ returns(
1416
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output::Mode::OrSymbol
1417
+ )
1418
+ end
1419
+ attr_accessor :mode
1420
+
1421
+ # The moderation policy for the response output.
1422
+ sig do
1423
+ params(
1424
+ mode:
1425
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output::Mode::OrSymbol
1426
+ ).returns(T.attached_class)
1427
+ end
1428
+ def self.new(mode:)
1429
+ end
1430
+
1431
+ sig do
1432
+ override.returns(
1433
+ {
1434
+ mode:
1435
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output::Mode::OrSymbol
1436
+ }
1437
+ )
1438
+ end
1439
+ def to_hash
1440
+ end
1441
+
1442
+ module Mode
1443
+ extend OpenAI::Internal::Type::Enum
1444
+
1445
+ TaggedSymbol =
1446
+ T.type_alias do
1447
+ T.all(
1448
+ Symbol,
1449
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output::Mode
1450
+ )
1451
+ end
1452
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1453
+
1454
+ SCORE =
1455
+ T.let(
1456
+ :score,
1457
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output::Mode::TaggedSymbol
1458
+ )
1459
+ BLOCK =
1460
+ T.let(
1461
+ :block,
1462
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output::Mode::TaggedSymbol
1463
+ )
1464
+
1465
+ sig do
1466
+ override.returns(
1467
+ T::Array[
1468
+ OpenAI::Chat::CompletionCreateParams::Moderation::Policy::Output::Mode::TaggedSymbol
1469
+ ]
1470
+ )
1471
+ end
1472
+ def self.values
1473
+ end
1474
+ end
1475
+ end
1476
+ end
1477
+ end
1478
+
1479
+ class PromptCacheOptions < OpenAI::Internal::Type::BaseModel
1480
+ OrHash =
1481
+ T.type_alias do
1482
+ T.any(
1483
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions,
1484
+ OpenAI::Internal::AnyHash
1485
+ )
1486
+ end
1487
+
1488
+ # Controls whether OpenAI automatically creates an implicit cache breakpoint.
1489
+ # Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint
1490
+ # and writes up to the latest three explicit breakpoints in the request. With
1491
+ # `explicit`, OpenAI does not create an implicit breakpoint and writes up to the
1492
+ # latest four explicit breakpoints. If there are no explicit breakpoints, the
1493
+ # request does not use prompt caching.
1494
+ sig do
1495
+ returns(
1496
+ T.nilable(
1497
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Mode::OrSymbol
1498
+ )
1499
+ )
1500
+ end
1501
+ attr_reader :mode
1502
+
1503
+ sig do
1504
+ params(
1505
+ mode:
1506
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Mode::OrSymbol
1507
+ ).void
1508
+ end
1509
+ attr_writer :mode
1510
+
1511
+ # The minimum lifetime applied to every implicit and explicit cache breakpoint
1512
+ # written by the request. Defaults to `30m`, which is currently the only supported
1513
+ # value. The backend may retain cache entries for longer.
1514
+ sig do
1515
+ returns(
1516
+ T.nilable(
1517
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Ttl::OrSymbol
1518
+ )
1519
+ )
1520
+ end
1521
+ attr_reader :ttl
1522
+
1523
+ sig do
1524
+ params(
1525
+ ttl:
1526
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Ttl::OrSymbol
1527
+ ).void
1528
+ end
1529
+ attr_writer :ttl
1530
+
1531
+ # Options for prompt caching. Supported for `gpt-5.6` and later models. By
1532
+ # default, OpenAI automatically chooses one implicit cache breakpoint. You can add
1533
+ # explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each
1534
+ # request can write up to four breakpoints. For cache matching, OpenAI considers
1535
+ # up to the latest 80 breakpoints in the conversation, without a content-block
1536
+ # lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
1537
+ # `ttl` defaults to `30m`, which is currently the only supported value. See the
1538
+ # [prompt caching guide](https://platform.openai.com/docs/guides/prompt-caching)
1539
+ # for current details.
1540
+ sig do
1541
+ params(
1542
+ mode:
1543
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Mode::OrSymbol,
1544
+ ttl:
1545
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Ttl::OrSymbol
1546
+ ).returns(T.attached_class)
1547
+ end
1548
+ def self.new(
1549
+ # Controls whether OpenAI automatically creates an implicit cache breakpoint.
1550
+ # Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint
1551
+ # and writes up to the latest three explicit breakpoints in the request. With
1552
+ # `explicit`, OpenAI does not create an implicit breakpoint and writes up to the
1553
+ # latest four explicit breakpoints. If there are no explicit breakpoints, the
1554
+ # request does not use prompt caching.
1555
+ mode: nil,
1556
+ # The minimum lifetime applied to every implicit and explicit cache breakpoint
1557
+ # written by the request. Defaults to `30m`, which is currently the only supported
1558
+ # value. The backend may retain cache entries for longer.
1559
+ ttl: nil
1560
+ )
1561
+ end
1562
+
1563
+ sig do
1564
+ override.returns(
1565
+ {
1566
+ mode:
1567
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Mode::OrSymbol,
1568
+ ttl:
1569
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Ttl::OrSymbol
1570
+ }
1571
+ )
1572
+ end
1573
+ def to_hash
1574
+ end
1575
+
1576
+ # Controls whether OpenAI automatically creates an implicit cache breakpoint.
1577
+ # Defaults to `implicit`. With `implicit`, OpenAI creates one implicit breakpoint
1578
+ # and writes up to the latest three explicit breakpoints in the request. With
1579
+ # `explicit`, OpenAI does not create an implicit breakpoint and writes up to the
1580
+ # latest four explicit breakpoints. If there are no explicit breakpoints, the
1581
+ # request does not use prompt caching.
1582
+ module Mode
1583
+ extend OpenAI::Internal::Type::Enum
1584
+
1585
+ TaggedSymbol =
1586
+ T.type_alias do
1587
+ T.all(
1588
+ Symbol,
1589
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Mode
1590
+ )
1591
+ end
1592
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1593
+
1594
+ IMPLICIT =
1595
+ T.let(
1596
+ :implicit,
1597
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Mode::TaggedSymbol
1598
+ )
1599
+ EXPLICIT =
1600
+ T.let(
1601
+ :explicit,
1602
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Mode::TaggedSymbol
1603
+ )
1604
+
1605
+ sig do
1606
+ override.returns(
1607
+ T::Array[
1608
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Mode::TaggedSymbol
1609
+ ]
1610
+ )
1611
+ end
1612
+ def self.values
1613
+ end
1614
+ end
1615
+
1616
+ # The minimum lifetime applied to every implicit and explicit cache breakpoint
1617
+ # written by the request. Defaults to `30m`, which is currently the only supported
1618
+ # value. The backend may retain cache entries for longer.
1619
+ module Ttl
1620
+ extend OpenAI::Internal::Type::Enum
1621
+
1622
+ TaggedSymbol =
1623
+ T.type_alias do
1624
+ T.all(
1625
+ Symbol,
1626
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Ttl
1627
+ )
1628
+ end
1629
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1630
+
1631
+ TTL_30M =
1632
+ T.let(
1633
+ :"30m",
1634
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Ttl::TaggedSymbol
1635
+ )
1636
+
1637
+ sig do
1638
+ override.returns(
1639
+ T::Array[
1640
+ OpenAI::Chat::CompletionCreateParams::PromptCacheOptions::Ttl::TaggedSymbol
1641
+ ]
1642
+ )
1643
+ end
1644
+ def self.values
1645
+ end
1646
+ end
1171
1647
  end
1172
1648
 
1649
+ # Deprecated. Use `prompt_cache_options.ttl` instead.
1650
+ #
1173
1651
  # The retention policy for the prompt cache. Set to `24h` to enable extended
1174
1652
  # prompt caching, which keeps cached prefixes active for longer, up to a maximum
1175
1653
  # of 24 hours.
1176
1654
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
1177
- # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
1655
+ # This field expresses a maximum retention policy, while
1656
+ # `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
1657
+ # are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
1658
+ # models, only `24h` is supported.
1178
1659
  #
1179
1660
  # For older models that support both `in_memory` and `24h`, the default depends on
1180
1661
  # your organization's data retention policy:
@@ -8,6 +8,9 @@ module OpenAI
8
8
  TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::ChatModel) }
9
9
  OrSymbol = T.type_alias { T.any(Symbol, String) }
10
10
 
11
+ GPT_5_6_SOL = T.let(:"gpt-5.6-sol", OpenAI::ChatModel::TaggedSymbol)
12
+ GPT_5_6_TERRA = T.let(:"gpt-5.6-terra", OpenAI::ChatModel::TaggedSymbol)
13
+ GPT_5_6_LUNA = T.let(:"gpt-5.6-luna", OpenAI::ChatModel::TaggedSymbol)
11
14
  GPT_5_4 = T.let(:"gpt-5.4", OpenAI::ChatModel::TaggedSymbol)
12
15
  GPT_5_4_MINI = T.let(:"gpt-5.4-mini", OpenAI::ChatModel::TaggedSymbol)
13
16
  GPT_5_4_NANO = T.let(:"gpt-5.4-nano", OpenAI::ChatModel::TaggedSymbol)
@@ -183,6 +183,13 @@ module OpenAI
183
183
  sig { params(audio_tokens: Integer).void }
184
184
  attr_writer :audio_tokens
185
185
 
186
+ # The unadjusted number of prompt tokens written to cache.
187
+ sig { returns(T.nilable(Integer)) }
188
+ attr_reader :cache_write_tokens
189
+
190
+ sig { params(cache_write_tokens: Integer).void }
191
+ attr_writer :cache_write_tokens
192
+
186
193
  # Cached tokens present in the prompt.
187
194
  sig { returns(T.nilable(Integer)) }
188
195
  attr_reader :cached_tokens
@@ -192,20 +199,30 @@ module OpenAI
192
199
 
193
200
  # Breakdown of tokens used in the prompt.
194
201
  sig do
195
- params(audio_tokens: Integer, cached_tokens: Integer).returns(
196
- T.attached_class
197
- )
202
+ params(
203
+ audio_tokens: Integer,
204
+ cache_write_tokens: Integer,
205
+ cached_tokens: Integer
206
+ ).returns(T.attached_class)
198
207
  end
199
208
  def self.new(
200
209
  # Audio input tokens present in the prompt.
201
210
  audio_tokens: nil,
211
+ # The unadjusted number of prompt tokens written to cache.
212
+ cache_write_tokens: nil,
202
213
  # Cached tokens present in the prompt.
203
214
  cached_tokens: nil
204
215
  )
205
216
  end
206
217
 
207
218
  sig do
208
- override.returns({ audio_tokens: Integer, cached_tokens: Integer })
219
+ override.returns(
220
+ {
221
+ audio_tokens: Integer,
222
+ cache_write_tokens: Integer,
223
+ cached_tokens: Integer
224
+ }
225
+ )
209
226
  end
210
227
  def to_hash
211
228
  end