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
@@ -16,6 +16,18 @@ module OpenAI
16
16
  sig { returns(Symbol) }
17
17
  attr_accessor :type
18
18
 
19
+ # The tool invocation context(s).
20
+ sig do
21
+ returns(
22
+ T.nilable(
23
+ T::Array[
24
+ OpenAI::Responses::FunctionShellTool::AllowedCaller::OrSymbol
25
+ ]
26
+ )
27
+ )
28
+ end
29
+ attr_accessor :allowed_callers
30
+
19
31
  sig do
20
32
  returns(
21
33
  T.nilable(
@@ -32,6 +44,12 @@ module OpenAI
32
44
  # A tool that allows the model to execute shell commands.
33
45
  sig do
34
46
  params(
47
+ allowed_callers:
48
+ T.nilable(
49
+ T::Array[
50
+ OpenAI::Responses::FunctionShellTool::AllowedCaller::OrSymbol
51
+ ]
52
+ ),
35
53
  environment:
36
54
  T.nilable(
37
55
  T.any(
@@ -44,6 +62,8 @@ module OpenAI
44
62
  ).returns(T.attached_class)
45
63
  end
46
64
  def self.new(
65
+ # The tool invocation context(s).
66
+ allowed_callers: nil,
47
67
  environment: nil,
48
68
  # The type of the shell tool. Always `shell`.
49
69
  type: :shell
@@ -54,6 +74,12 @@ module OpenAI
54
74
  override.returns(
55
75
  {
56
76
  type: Symbol,
77
+ allowed_callers:
78
+ T.nilable(
79
+ T::Array[
80
+ OpenAI::Responses::FunctionShellTool::AllowedCaller::OrSymbol
81
+ ]
82
+ ),
57
83
  environment:
58
84
  T.nilable(
59
85
  T.any(
@@ -68,6 +94,37 @@ module OpenAI
68
94
  def to_hash
69
95
  end
70
96
 
97
+ module AllowedCaller
98
+ extend OpenAI::Internal::Type::Enum
99
+
100
+ TaggedSymbol =
101
+ T.type_alias do
102
+ T.all(Symbol, OpenAI::Responses::FunctionShellTool::AllowedCaller)
103
+ end
104
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
105
+
106
+ DIRECT =
107
+ T.let(
108
+ :direct,
109
+ OpenAI::Responses::FunctionShellTool::AllowedCaller::TaggedSymbol
110
+ )
111
+ PROGRAMMATIC =
112
+ T.let(
113
+ :programmatic,
114
+ OpenAI::Responses::FunctionShellTool::AllowedCaller::TaggedSymbol
115
+ )
116
+
117
+ sig do
118
+ override.returns(
119
+ T::Array[
120
+ OpenAI::Responses::FunctionShellTool::AllowedCaller::TaggedSymbol
121
+ ]
122
+ )
123
+ end
124
+ def self.values
125
+ end
126
+ end
127
+
71
128
  module Environment
72
129
  extend OpenAI::Internal::Type::Union
73
130
 
@@ -17,7 +17,7 @@ module OpenAI
17
17
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
18
18
  attr_accessor :parameters
19
19
 
20
- # Whether to enforce strict parameter validation. Default `true`.
20
+ # Whether strict parameter validation is enforced for this function tool.
21
21
  sig { returns(T.nilable(T::Boolean)) }
22
22
  attr_accessor :strict
23
23
 
@@ -25,6 +25,16 @@ module OpenAI
25
25
  sig { returns(Symbol) }
26
26
  attr_accessor :type
27
27
 
28
+ # The tool invocation context(s).
29
+ sig do
30
+ returns(
31
+ T.nilable(
32
+ T::Array[OpenAI::Responses::FunctionTool::AllowedCaller::OrSymbol]
33
+ )
34
+ )
35
+ end
36
+ attr_accessor :allowed_callers
37
+
28
38
  # Whether this function is deferred and loaded via tool search.
29
39
  sig { returns(T.nilable(T::Boolean)) }
30
40
  attr_reader :defer_loading
@@ -37,6 +47,11 @@ module OpenAI
37
47
  sig { returns(T.nilable(String)) }
38
48
  attr_accessor :description
39
49
 
50
+ # A JSON schema object describing the JSON value encoded in string outputs for
51
+ # this function.
52
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
53
+ attr_accessor :output_schema
54
+
40
55
  # Defines a function in your own code the model can choose to call. Learn more
41
56
  # about
42
57
  # [function calling](https://platform.openai.com/docs/guides/function-calling).
@@ -45,8 +60,15 @@ module OpenAI
45
60
  name: String,
46
61
  parameters: T.nilable(T::Hash[Symbol, T.anything]),
47
62
  strict: T.nilable(T::Boolean),
63
+ allowed_callers:
64
+ T.nilable(
65
+ T::Array[
66
+ OpenAI::Responses::FunctionTool::AllowedCaller::OrSymbol
67
+ ]
68
+ ),
48
69
  defer_loading: T::Boolean,
49
70
  description: T.nilable(String),
71
+ output_schema: T.nilable(T::Hash[Symbol, T.anything]),
50
72
  type: Symbol
51
73
  ).returns(T.attached_class)
52
74
  end
@@ -55,13 +77,18 @@ module OpenAI
55
77
  name:,
56
78
  # A JSON schema object describing the parameters of the function.
57
79
  parameters:,
58
- # Whether to enforce strict parameter validation. Default `true`.
80
+ # Whether strict parameter validation is enforced for this function tool.
59
81
  strict:,
82
+ # The tool invocation context(s).
83
+ allowed_callers: nil,
60
84
  # Whether this function is deferred and loaded via tool search.
61
85
  defer_loading: nil,
62
86
  # A description of the function. Used by the model to determine whether or not to
63
87
  # call the function.
64
88
  description: nil,
89
+ # A JSON schema object describing the JSON value encoded in string outputs for
90
+ # this function.
91
+ output_schema: nil,
65
92
  # The type of the function tool. Always `function`.
66
93
  type: :function
67
94
  )
@@ -74,13 +101,51 @@ module OpenAI
74
101
  parameters: T.nilable(T::Hash[Symbol, T.anything]),
75
102
  strict: T.nilable(T::Boolean),
76
103
  type: Symbol,
104
+ allowed_callers:
105
+ T.nilable(
106
+ T::Array[
107
+ OpenAI::Responses::FunctionTool::AllowedCaller::OrSymbol
108
+ ]
109
+ ),
77
110
  defer_loading: T::Boolean,
78
- description: T.nilable(String)
111
+ description: T.nilable(String),
112
+ output_schema: T.nilable(T::Hash[Symbol, T.anything])
79
113
  }
80
114
  )
81
115
  end
82
116
  def to_hash
83
117
  end
118
+
119
+ module AllowedCaller
120
+ extend OpenAI::Internal::Type::Enum
121
+
122
+ TaggedSymbol =
123
+ T.type_alias do
124
+ T.all(Symbol, OpenAI::Responses::FunctionTool::AllowedCaller)
125
+ end
126
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
127
+
128
+ DIRECT =
129
+ T.let(
130
+ :direct,
131
+ OpenAI::Responses::FunctionTool::AllowedCaller::TaggedSymbol
132
+ )
133
+ PROGRAMMATIC =
134
+ T.let(
135
+ :programmatic,
136
+ OpenAI::Responses::FunctionTool::AllowedCaller::TaggedSymbol
137
+ )
138
+
139
+ sig do
140
+ override.returns(
141
+ T::Array[
142
+ OpenAI::Responses::FunctionTool::AllowedCaller::TaggedSymbol
143
+ ]
144
+ )
145
+ end
146
+ def self.values
147
+ end
148
+ end
84
149
  end
85
150
  end
86
151
  end
@@ -125,6 +125,7 @@ module OpenAI
125
125
  OpenAI::Responses::ToolChoiceFunction,
126
126
  OpenAI::Responses::ToolChoiceMcp,
127
127
  OpenAI::Responses::ToolChoiceCustom,
128
+ OpenAI::Responses::InputTokenCountParams::ToolChoice::SpecificProgrammaticToolCallingParam,
128
129
  OpenAI::Responses::ToolChoiceApplyPatch,
129
130
  OpenAI::Responses::ToolChoiceShell
130
131
  )
@@ -146,6 +147,7 @@ module OpenAI
146
147
  OpenAI::Responses::ComputerUsePreviewTool,
147
148
  OpenAI::Responses::Tool::Mcp,
148
149
  OpenAI::Responses::Tool::CodeInterpreter,
150
+ OpenAI::Responses::Tool::ProgrammaticToolCalling,
149
151
  OpenAI::Responses::Tool::ImageGeneration,
150
152
  OpenAI::Responses::Tool::LocalShell,
151
153
  OpenAI::Responses::FunctionShellTool,
@@ -218,6 +220,7 @@ module OpenAI
218
220
  OpenAI::Responses::ToolChoiceFunction::OrHash,
219
221
  OpenAI::Responses::ToolChoiceMcp::OrHash,
220
222
  OpenAI::Responses::ToolChoiceCustom::OrHash,
223
+ OpenAI::Responses::InputTokenCountParams::ToolChoice::SpecificProgrammaticToolCallingParam::OrHash,
221
224
  OpenAI::Responses::ToolChoiceApplyPatch::OrHash,
222
225
  OpenAI::Responses::ToolChoiceShell::OrHash
223
226
  )
@@ -232,6 +235,7 @@ module OpenAI
232
235
  OpenAI::Responses::ComputerUsePreviewTool::OrHash,
233
236
  OpenAI::Responses::Tool::Mcp::OrHash,
234
237
  OpenAI::Responses::Tool::CodeInterpreter::OrHash,
238
+ OpenAI::Responses::Tool::ProgrammaticToolCalling::OrHash,
235
239
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
236
240
  OpenAI::Responses::Tool::LocalShell::OrHash,
237
241
  OpenAI::Responses::FunctionShellTool::OrHash,
@@ -334,6 +338,7 @@ module OpenAI
334
338
  OpenAI::Responses::ToolChoiceFunction,
335
339
  OpenAI::Responses::ToolChoiceMcp,
336
340
  OpenAI::Responses::ToolChoiceCustom,
341
+ OpenAI::Responses::InputTokenCountParams::ToolChoice::SpecificProgrammaticToolCallingParam,
337
342
  OpenAI::Responses::ToolChoiceApplyPatch,
338
343
  OpenAI::Responses::ToolChoiceShell
339
344
  )
@@ -348,6 +353,7 @@ module OpenAI
348
353
  OpenAI::Responses::ComputerUsePreviewTool,
349
354
  OpenAI::Responses::Tool::Mcp,
350
355
  OpenAI::Responses::Tool::CodeInterpreter,
356
+ OpenAI::Responses::Tool::ProgrammaticToolCalling,
351
357
  OpenAI::Responses::Tool::ImageGeneration,
352
358
  OpenAI::Responses::Tool::LocalShell,
353
359
  OpenAI::Responses::FunctionShellTool,
@@ -643,11 +649,37 @@ module OpenAI
643
649
  OpenAI::Responses::ToolChoiceFunction,
644
650
  OpenAI::Responses::ToolChoiceMcp,
645
651
  OpenAI::Responses::ToolChoiceCustom,
652
+ OpenAI::Responses::InputTokenCountParams::ToolChoice::SpecificProgrammaticToolCallingParam,
646
653
  OpenAI::Responses::ToolChoiceApplyPatch,
647
654
  OpenAI::Responses::ToolChoiceShell
648
655
  )
649
656
  end
650
657
 
658
+ class SpecificProgrammaticToolCallingParam < OpenAI::Internal::Type::BaseModel
659
+ OrHash =
660
+ T.type_alias do
661
+ T.any(
662
+ OpenAI::Responses::InputTokenCountParams::ToolChoice::SpecificProgrammaticToolCallingParam,
663
+ OpenAI::Internal::AnyHash
664
+ )
665
+ end
666
+
667
+ # The tool to call. Always `programmatic_tool_calling`.
668
+ sig { returns(Symbol) }
669
+ attr_accessor :type
670
+
671
+ sig { params(type: Symbol).returns(T.attached_class) }
672
+ def self.new(
673
+ # The tool to call. Always `programmatic_tool_calling`.
674
+ type: :programmatic_tool_calling
675
+ )
676
+ end
677
+
678
+ sig { override.returns({ type: Symbol }) }
679
+ def to_hash
680
+ end
681
+ end
682
+
651
683
  sig do
652
684
  override.returns(
653
685
  T::Array[
@@ -107,6 +107,18 @@ module OpenAI
107
107
  sig { returns(Symbol) }
108
108
  attr_accessor :type
109
109
 
110
+ # The tool invocation context(s).
111
+ sig do
112
+ returns(
113
+ T.nilable(
114
+ T::Array[
115
+ OpenAI::Responses::NamespaceTool::Tool::Function::AllowedCaller::OrSymbol
116
+ ]
117
+ )
118
+ )
119
+ end
120
+ attr_accessor :allowed_callers
121
+
110
122
  # Whether this function should be deferred and discovered via tool search.
111
123
  sig { returns(T.nilable(T::Boolean)) }
112
124
  attr_reader :defer_loading
@@ -117,17 +129,32 @@ module OpenAI
117
129
  sig { returns(T.nilable(String)) }
118
130
  attr_accessor :description
119
131
 
132
+ # A JSON Schema describing the JSON value encoded in string outputs for this
133
+ # function tool. This does not describe content-array outputs.
134
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
135
+ attr_accessor :output_schema
136
+
120
137
  sig { returns(T.nilable(T.anything)) }
121
138
  attr_accessor :parameters
122
139
 
140
+ # Whether to enforce strict parameter validation. If omitted, Responses attempts
141
+ # to use strict validation when the schema is compatible, and falls back to
142
+ # non-strict validation otherwise.
123
143
  sig { returns(T.nilable(T::Boolean)) }
124
144
  attr_accessor :strict
125
145
 
126
146
  sig do
127
147
  params(
128
148
  name: String,
149
+ allowed_callers:
150
+ T.nilable(
151
+ T::Array[
152
+ OpenAI::Responses::NamespaceTool::Tool::Function::AllowedCaller::OrSymbol
153
+ ]
154
+ ),
129
155
  defer_loading: T::Boolean,
130
156
  description: T.nilable(String),
157
+ output_schema: T.nilable(T::Hash[Symbol, T.anything]),
131
158
  parameters: T.nilable(T.anything),
132
159
  strict: T.nilable(T::Boolean),
133
160
  type: Symbol
@@ -135,10 +162,18 @@ module OpenAI
135
162
  end
136
163
  def self.new(
137
164
  name:,
165
+ # The tool invocation context(s).
166
+ allowed_callers: nil,
138
167
  # Whether this function should be deferred and discovered via tool search.
139
168
  defer_loading: nil,
140
169
  description: nil,
170
+ # A JSON Schema describing the JSON value encoded in string outputs for this
171
+ # function tool. This does not describe content-array outputs.
172
+ output_schema: nil,
141
173
  parameters: nil,
174
+ # Whether to enforce strict parameter validation. If omitted, Responses attempts
175
+ # to use strict validation when the schema is compatible, and falls back to
176
+ # non-strict validation otherwise.
142
177
  strict: nil,
143
178
  type: :function
144
179
  )
@@ -149,8 +184,15 @@ module OpenAI
149
184
  {
150
185
  name: String,
151
186
  type: Symbol,
187
+ allowed_callers:
188
+ T.nilable(
189
+ T::Array[
190
+ OpenAI::Responses::NamespaceTool::Tool::Function::AllowedCaller::OrSymbol
191
+ ]
192
+ ),
152
193
  defer_loading: T::Boolean,
153
194
  description: T.nilable(String),
195
+ output_schema: T.nilable(T::Hash[Symbol, T.anything]),
154
196
  parameters: T.nilable(T.anything),
155
197
  strict: T.nilable(T::Boolean)
156
198
  }
@@ -158,6 +200,40 @@ module OpenAI
158
200
  end
159
201
  def to_hash
160
202
  end
203
+
204
+ module AllowedCaller
205
+ extend OpenAI::Internal::Type::Enum
206
+
207
+ TaggedSymbol =
208
+ T.type_alias do
209
+ T.all(
210
+ Symbol,
211
+ OpenAI::Responses::NamespaceTool::Tool::Function::AllowedCaller
212
+ )
213
+ end
214
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
215
+
216
+ DIRECT =
217
+ T.let(
218
+ :direct,
219
+ OpenAI::Responses::NamespaceTool::Tool::Function::AllowedCaller::TaggedSymbol
220
+ )
221
+ PROGRAMMATIC =
222
+ T.let(
223
+ :programmatic,
224
+ OpenAI::Responses::NamespaceTool::Tool::Function::AllowedCaller::TaggedSymbol
225
+ )
226
+
227
+ sig do
228
+ override.returns(
229
+ T::Array[
230
+ OpenAI::Responses::NamespaceTool::Tool::Function::AllowedCaller::TaggedSymbol
231
+ ]
232
+ )
233
+ end
234
+ def self.values
235
+ end
236
+ end
161
237
  end
162
238
 
163
239
  sig do
@@ -211,11 +211,31 @@ module OpenAI
211
211
  sig { params(prompt_cache_key: String).void }
212
212
  attr_writer :prompt_cache_key
213
213
 
214
+ # The prompt-caching options that were applied to the response. Supported for
215
+ # `gpt-5.6` and later models.
216
+ sig do
217
+ returns(T.nilable(OpenAI::Responses::Response::PromptCacheOptions))
218
+ end
219
+ attr_reader :prompt_cache_options
220
+
221
+ sig do
222
+ params(
223
+ prompt_cache_options:
224
+ OpenAI::Responses::Response::PromptCacheOptions::OrHash
225
+ ).void
226
+ end
227
+ attr_writer :prompt_cache_options
228
+
229
+ # Deprecated. Use `prompt_cache_options.ttl` instead.
230
+ #
214
231
  # The retention policy for the prompt cache. Set to `24h` to enable extended
215
232
  # prompt caching, which keeps cached prefixes active for longer, up to a maximum
216
233
  # of 24 hours.
217
234
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
218
- # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
235
+ # This field expresses a maximum retention policy, while
236
+ # `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
237
+ # are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
238
+ # models, only `24h` is supported.
219
239
  #
220
240
  # For older models that support both `in_memory` and `24h`, the default depends on
221
241
  # your organization's data retention policy:
@@ -364,6 +384,8 @@ module OpenAI
364
384
  OpenAI::Responses::ResponseComputerToolCall::OrHash,
365
385
  OpenAI::Responses::ResponseComputerToolCallOutputItem::OrHash,
366
386
  OpenAI::Responses::ResponseReasoningItem::OrHash,
387
+ OpenAI::Responses::ResponseOutputItem::Program::OrHash,
388
+ OpenAI::Responses::ResponseOutputItem::ProgramOutput::OrHash,
367
389
  OpenAI::Responses::ResponseToolSearchCall::OrHash,
368
390
  OpenAI::Responses::ResponseToolSearchOutputItem::OrHash,
369
391
  OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash,
@@ -394,6 +416,7 @@ module OpenAI
394
416
  OpenAI::Responses::ToolChoiceFunction::OrHash,
395
417
  OpenAI::Responses::ToolChoiceMcp::OrHash,
396
418
  OpenAI::Responses::ToolChoiceCustom::OrHash,
419
+ OpenAI::Responses::Response::ToolChoice::SpecificProgrammaticToolCallingParam::OrHash,
397
420
  OpenAI::Responses::ToolChoiceApplyPatch::OrHash,
398
421
  OpenAI::Responses::ToolChoiceShell::OrHash
399
422
  ),
@@ -406,6 +429,7 @@ module OpenAI
406
429
  OpenAI::Responses::ComputerUsePreviewTool::OrHash,
407
430
  OpenAI::Responses::Tool::Mcp::OrHash,
408
431
  OpenAI::Responses::Tool::CodeInterpreter::OrHash,
432
+ OpenAI::Responses::Tool::ProgrammaticToolCalling::OrHash,
409
433
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
410
434
  OpenAI::Responses::Tool::LocalShell::OrHash,
411
435
  OpenAI::Responses::FunctionShellTool::OrHash,
@@ -429,6 +453,8 @@ module OpenAI
429
453
  previous_response_id: T.nilable(String),
430
454
  prompt: T.nilable(OpenAI::Responses::ResponsePrompt::OrHash),
431
455
  prompt_cache_key: String,
456
+ prompt_cache_options:
457
+ OpenAI::Responses::Response::PromptCacheOptions::OrHash,
432
458
  prompt_cache_retention:
433
459
  T.nilable(
434
460
  OpenAI::Responses::Response::PromptCacheRetention::OrSymbol
@@ -553,11 +579,19 @@ module OpenAI
553
579
  # hit rates. Replaces the `user` field.
554
580
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
555
581
  prompt_cache_key: nil,
582
+ # The prompt-caching options that were applied to the response. Supported for
583
+ # `gpt-5.6` and later models.
584
+ prompt_cache_options: nil,
585
+ # Deprecated. Use `prompt_cache_options.ttl` instead.
586
+ #
556
587
  # The retention policy for the prompt cache. Set to `24h` to enable extended
557
588
  # prompt caching, which keeps cached prefixes active for longer, up to a maximum
558
589
  # of 24 hours.
559
590
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
560
- # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
591
+ # This field expresses a maximum retention policy, while
592
+ # `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
593
+ # are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
594
+ # models, only `24h` is supported.
561
595
  #
562
596
  # For older models that support both `in_memory` and `24h`, the default depends on
563
597
  # your organization's data retention policy:
@@ -659,6 +693,8 @@ module OpenAI
659
693
  previous_response_id: T.nilable(String),
660
694
  prompt: T.nilable(OpenAI::Responses::ResponsePrompt),
661
695
  prompt_cache_key: String,
696
+ prompt_cache_options:
697
+ OpenAI::Responses::Response::PromptCacheOptions,
662
698
  prompt_cache_retention:
663
699
  T.nilable(
664
700
  OpenAI::Responses::Response::PromptCacheRetention::TaggedSymbol
@@ -819,11 +855,37 @@ module OpenAI
819
855
  OpenAI::Responses::ToolChoiceFunction,
820
856
  OpenAI::Responses::ToolChoiceMcp,
821
857
  OpenAI::Responses::ToolChoiceCustom,
858
+ OpenAI::Responses::Response::ToolChoice::SpecificProgrammaticToolCallingParam,
822
859
  OpenAI::Responses::ToolChoiceApplyPatch,
823
860
  OpenAI::Responses::ToolChoiceShell
824
861
  )
825
862
  end
826
863
 
864
+ class SpecificProgrammaticToolCallingParam < OpenAI::Internal::Type::BaseModel
865
+ OrHash =
866
+ T.type_alias do
867
+ T.any(
868
+ OpenAI::Responses::Response::ToolChoice::SpecificProgrammaticToolCallingParam,
869
+ OpenAI::Internal::AnyHash
870
+ )
871
+ end
872
+
873
+ # The tool to call. Always `programmatic_tool_calling`.
874
+ sig { returns(Symbol) }
875
+ attr_accessor :type
876
+
877
+ sig { params(type: Symbol).returns(T.attached_class) }
878
+ def self.new(
879
+ # The tool to call. Always `programmatic_tool_calling`.
880
+ type: :programmatic_tool_calling
881
+ )
882
+ end
883
+
884
+ sig { override.returns({ type: Symbol }) }
885
+ def to_hash
886
+ end
887
+ end
888
+
827
889
  sig do
828
890
  override.returns(
829
891
  T::Array[OpenAI::Responses::Response::ToolChoice::Variants]
@@ -1326,11 +1388,138 @@ module OpenAI
1326
1388
  end
1327
1389
  end
1328
1390
 
1391
+ class PromptCacheOptions < OpenAI::Internal::Type::BaseModel
1392
+ OrHash =
1393
+ T.type_alias do
1394
+ T.any(
1395
+ OpenAI::Responses::Response::PromptCacheOptions,
1396
+ OpenAI::Internal::AnyHash
1397
+ )
1398
+ end
1399
+
1400
+ # Whether implicit prompt-cache breakpoints were enabled.
1401
+ sig do
1402
+ returns(
1403
+ OpenAI::Responses::Response::PromptCacheOptions::Mode::TaggedSymbol
1404
+ )
1405
+ end
1406
+ attr_accessor :mode
1407
+
1408
+ # The minimum lifetime applied to each cache breakpoint.
1409
+ sig do
1410
+ returns(
1411
+ OpenAI::Responses::Response::PromptCacheOptions::Ttl::TaggedSymbol
1412
+ )
1413
+ end
1414
+ attr_accessor :ttl
1415
+
1416
+ # The prompt-caching options that were applied to the response. Supported for
1417
+ # `gpt-5.6` and later models.
1418
+ sig do
1419
+ params(
1420
+ mode:
1421
+ OpenAI::Responses::Response::PromptCacheOptions::Mode::OrSymbol,
1422
+ ttl:
1423
+ OpenAI::Responses::Response::PromptCacheOptions::Ttl::OrSymbol
1424
+ ).returns(T.attached_class)
1425
+ end
1426
+ def self.new(
1427
+ # Whether implicit prompt-cache breakpoints were enabled.
1428
+ mode:,
1429
+ # The minimum lifetime applied to each cache breakpoint.
1430
+ ttl:
1431
+ )
1432
+ end
1433
+
1434
+ sig do
1435
+ override.returns(
1436
+ {
1437
+ mode:
1438
+ OpenAI::Responses::Response::PromptCacheOptions::Mode::TaggedSymbol,
1439
+ ttl:
1440
+ OpenAI::Responses::Response::PromptCacheOptions::Ttl::TaggedSymbol
1441
+ }
1442
+ )
1443
+ end
1444
+ def to_hash
1445
+ end
1446
+
1447
+ # Whether implicit prompt-cache breakpoints were enabled.
1448
+ module Mode
1449
+ extend OpenAI::Internal::Type::Enum
1450
+
1451
+ TaggedSymbol =
1452
+ T.type_alias do
1453
+ T.all(
1454
+ Symbol,
1455
+ OpenAI::Responses::Response::PromptCacheOptions::Mode
1456
+ )
1457
+ end
1458
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1459
+
1460
+ IMPLICIT =
1461
+ T.let(
1462
+ :implicit,
1463
+ OpenAI::Responses::Response::PromptCacheOptions::Mode::TaggedSymbol
1464
+ )
1465
+ EXPLICIT =
1466
+ T.let(
1467
+ :explicit,
1468
+ OpenAI::Responses::Response::PromptCacheOptions::Mode::TaggedSymbol
1469
+ )
1470
+
1471
+ sig do
1472
+ override.returns(
1473
+ T::Array[
1474
+ OpenAI::Responses::Response::PromptCacheOptions::Mode::TaggedSymbol
1475
+ ]
1476
+ )
1477
+ end
1478
+ def self.values
1479
+ end
1480
+ end
1481
+
1482
+ # The minimum lifetime applied to each cache breakpoint.
1483
+ module Ttl
1484
+ extend OpenAI::Internal::Type::Enum
1485
+
1486
+ TaggedSymbol =
1487
+ T.type_alias do
1488
+ T.all(
1489
+ Symbol,
1490
+ OpenAI::Responses::Response::PromptCacheOptions::Ttl
1491
+ )
1492
+ end
1493
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1494
+
1495
+ TTL_30M =
1496
+ T.let(
1497
+ :"30m",
1498
+ OpenAI::Responses::Response::PromptCacheOptions::Ttl::TaggedSymbol
1499
+ )
1500
+
1501
+ sig do
1502
+ override.returns(
1503
+ T::Array[
1504
+ OpenAI::Responses::Response::PromptCacheOptions::Ttl::TaggedSymbol
1505
+ ]
1506
+ )
1507
+ end
1508
+ def self.values
1509
+ end
1510
+ end
1511
+ end
1512
+
1513
+ # Deprecated. Use `prompt_cache_options.ttl` instead.
1514
+ #
1329
1515
  # The retention policy for the prompt cache. Set to `24h` to enable extended
1330
1516
  # prompt caching, which keeps cached prefixes active for longer, up to a maximum
1331
1517
  # of 24 hours.
1332
1518
  # [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
1333
- # For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
1519
+ # This field expresses a maximum retention policy, while
1520
+ # `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
1521
+ # are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
1522
+ # models, only `24h` is supported.
1334
1523
  #
1335
1524
  # For older models that support both `in_memory` and `24h`, the default depends on
1336
1525
  # your organization's data retention policy: