openai 0.67.0 → 0.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +7 -7
  4. data/lib/openai/internal/type/enum.rb +6 -6
  5. data/lib/openai/internal/util.rb +14 -2
  6. data/lib/openai/models/beta/assistant_create_params.rb +7 -14
  7. data/lib/openai/models/beta/assistant_update_params.rb +7 -14
  8. data/lib/openai/models/beta/beta_apply_patch_tool.rb +44 -0
  9. data/lib/openai/models/beta/beta_compacted_response.rb +58 -0
  10. data/lib/openai/models/beta/beta_computer_action.rb +398 -0
  11. data/lib/openai/models/beta/beta_computer_action_list.rb +13 -0
  12. data/lib/openai/models/beta/beta_computer_tool.rb +23 -0
  13. data/lib/openai/models/beta/beta_computer_use_preview_tool.rb +63 -0
  14. data/lib/openai/models/beta/beta_container_auto.rb +96 -0
  15. data/lib/openai/models/beta/beta_container_network_policy_allowlist.rb +37 -0
  16. data/lib/openai/models/beta/beta_container_network_policy_disabled.rb +20 -0
  17. data/lib/openai/models/beta/beta_container_network_policy_domain_secret.rb +36 -0
  18. data/lib/openai/models/beta/beta_container_reference.rb +28 -0
  19. data/lib/openai/models/beta/beta_custom_tool.rb +148 -0
  20. data/lib/openai/models/beta/beta_easy_input_message.rb +120 -0
  21. data/lib/openai/models/beta/beta_file_search_tool.rb +424 -0
  22. data/lib/openai/models/beta/beta_function_shell_tool.rb +67 -0
  23. data/lib/openai/models/beta/beta_function_tool.rb +97 -0
  24. data/lib/openai/models/beta/beta_inline_skill.rb +44 -0
  25. data/lib/openai/models/beta/beta_inline_skill_source.rb +38 -0
  26. data/lib/openai/models/beta/beta_local_environment.rb +28 -0
  27. data/lib/openai/models/beta/beta_local_skill.rb +36 -0
  28. data/lib/openai/models/beta/beta_namespace_tool.rb +146 -0
  29. data/lib/openai/models/beta/beta_response.rb +1425 -0
  30. data/lib/openai/models/beta/beta_response_apply_patch_tool_call.rb +258 -0
  31. data/lib/openai/models/beta/beta_response_apply_patch_tool_call_output.rb +156 -0
  32. data/lib/openai/models/beta/beta_response_audio_delta_event.rb +63 -0
  33. data/lib/openai/models/beta/beta_response_audio_done_event.rb +55 -0
  34. data/lib/openai/models/beta/beta_response_audio_transcript_delta_event.rb +63 -0
  35. data/lib/openai/models/beta/beta_response_audio_transcript_done_event.rb +55 -0
  36. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rb +81 -0
  37. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rb +76 -0
  38. data/lib/openai/models/beta/beta_response_code_interpreter_call_completed_event.rb +73 -0
  39. data/lib/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rb +77 -0
  40. data/lib/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rb +77 -0
  41. data/lib/openai/models/beta/beta_response_code_interpreter_tool_call.rb +168 -0
  42. data/lib/openai/models/beta/beta_response_compaction_item.rb +69 -0
  43. data/lib/openai/models/beta/beta_response_compaction_item_param.rb +61 -0
  44. data/lib/openai/models/beta/beta_response_completed_event.rb +63 -0
  45. data/lib/openai/models/beta/beta_response_computer_tool_call.rb +156 -0
  46. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +141 -0
  47. data/lib/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rb +43 -0
  48. data/lib/openai/models/beta/beta_response_container_reference.rb +29 -0
  49. data/lib/openai/models/beta/beta_response_content.rb +56 -0
  50. data/lib/openai/models/beta/beta_response_content_part_added_event.rb +129 -0
  51. data/lib/openai/models/beta/beta_response_content_part_done_event.rb +129 -0
  52. data/lib/openai/models/beta/beta_response_conversation_param.rb +22 -0
  53. data/lib/openai/models/beta/beta_response_created_event.rb +63 -0
  54. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +142 -0
  55. data/lib/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rb +76 -0
  56. data/lib/openai/models/beta/beta_response_custom_tool_call_input_done_event.rb +76 -0
  57. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +55 -0
  58. data/lib/openai/models/beta/beta_response_custom_tool_call_output.rb +171 -0
  59. data/lib/openai/models/beta/beta_response_custom_tool_call_output_item.rb +55 -0
  60. data/lib/openai/models/beta/beta_response_error.rb +63 -0
  61. data/lib/openai/models/beta/beta_response_error_event.rb +79 -0
  62. data/lib/openai/models/beta/beta_response_failed_event.rb +63 -0
  63. data/lib/openai/models/beta/beta_response_file_search_call_completed_event.rb +72 -0
  64. data/lib/openai/models/beta/beta_response_file_search_call_in_progress_event.rb +72 -0
  65. data/lib/openai/models/beta/beta_response_file_search_call_searching_event.rb +72 -0
  66. data/lib/openai/models/beta/beta_response_file_search_tool_call.rb +168 -0
  67. data/lib/openai/models/beta/beta_response_format_text_config.rb +72 -0
  68. data/lib/openai/models/beta/beta_response_format_text_json_schema_config.rb +66 -0
  69. data/lib/openai/models/beta/beta_response_function_call_arguments_delta_event.rb +80 -0
  70. data/lib/openai/models/beta/beta_response_function_call_arguments_done_event.rb +83 -0
  71. data/lib/openai/models/beta/beta_response_function_call_output_item.rb +28 -0
  72. data/lib/openai/models/beta/beta_response_function_call_output_item_list.rb +14 -0
  73. data/lib/openai/models/beta/beta_response_function_shell_call_output_content.rb +90 -0
  74. data/lib/openai/models/beta/beta_response_function_shell_tool_call.rb +216 -0
  75. data/lib/openai/models/beta/beta_response_function_shell_tool_call_output.rb +265 -0
  76. data/lib/openai/models/beta/beta_response_function_tool_call.rb +168 -0
  77. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +57 -0
  78. data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +201 -0
  79. data/lib/openai/models/beta/beta_response_function_web_search.rb +238 -0
  80. data/lib/openai/models/beta/beta_response_image_gen_call_completed_event.rb +69 -0
  81. data/lib/openai/models/beta/beta_response_image_gen_call_generating_event.rb +69 -0
  82. data/lib/openai/models/beta/beta_response_image_gen_call_in_progress_event.rb +68 -0
  83. data/lib/openai/models/beta/beta_response_image_gen_call_partial_image_event.rb +89 -0
  84. data/lib/openai/models/beta/beta_response_in_progress_event.rb +63 -0
  85. data/lib/openai/models/beta/beta_response_includable.rb +45 -0
  86. data/lib/openai/models/beta/beta_response_incomplete_event.rb +63 -0
  87. data/lib/openai/models/beta/beta_response_inject_created_event.rb +51 -0
  88. data/lib/openai/models/beta/beta_response_inject_event.rb +40 -0
  89. data/lib/openai/models/beta/beta_response_inject_failed_event.rb +103 -0
  90. data/lib/openai/models/beta/beta_response_input.rb +13 -0
  91. data/lib/openai/models/beta/beta_response_input_audio.rb +70 -0
  92. data/lib/openai/models/beta/beta_response_input_content.rb +28 -0
  93. data/lib/openai/models/beta/beta_response_input_file.rb +113 -0
  94. data/lib/openai/models/beta/beta_response_input_file_content.rb +115 -0
  95. data/lib/openai/models/beta/beta_response_input_image.rb +94 -0
  96. data/lib/openai/models/beta/beta_response_input_image_content.rb +96 -0
  97. data/lib/openai/models/beta/beta_response_input_item.rb +2819 -0
  98. data/lib/openai/models/beta/beta_response_input_message_content_list.rb +14 -0
  99. data/lib/openai/models/beta/beta_response_input_message_item.rb +108 -0
  100. data/lib/openai/models/beta/beta_response_input_text.rb +59 -0
  101. data/lib/openai/models/beta/beta_response_input_text_content.rb +61 -0
  102. data/lib/openai/models/beta/beta_response_item.rb +1438 -0
  103. data/lib/openai/models/beta/beta_response_local_environment.rb +22 -0
  104. data/lib/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rb +81 -0
  105. data/lib/openai/models/beta/beta_response_mcp_call_arguments_done_event.rb +79 -0
  106. data/lib/openai/models/beta/beta_response_mcp_call_completed_event.rb +68 -0
  107. data/lib/openai/models/beta/beta_response_mcp_call_failed_event.rb +68 -0
  108. data/lib/openai/models/beta/beta_response_mcp_call_in_progress_event.rb +68 -0
  109. data/lib/openai/models/beta/beta_response_mcp_list_tools_completed_event.rb +68 -0
  110. data/lib/openai/models/beta/beta_response_mcp_list_tools_failed_event.rb +68 -0
  111. data/lib/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rb +69 -0
  112. data/lib/openai/models/beta/beta_response_output_audio.rb +41 -0
  113. data/lib/openai/models/beta/beta_response_output_item.rb +1444 -0
  114. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +71 -0
  115. data/lib/openai/models/beta/beta_response_output_item_done_event.rb +71 -0
  116. data/lib/openai/models/beta/beta_response_output_message.rb +139 -0
  117. data/lib/openai/models/beta/beta_response_output_refusal.rb +30 -0
  118. data/lib/openai/models/beta/beta_response_output_text.rb +292 -0
  119. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +92 -0
  120. data/lib/openai/models/beta/beta_response_prompt.rb +65 -0
  121. data/lib/openai/models/beta/beta_response_queued_event.rb +60 -0
  122. data/lib/openai/models/beta/beta_response_reasoning_item.rb +151 -0
  123. data/lib/openai/models/beta/beta_response_reasoning_summary_part_added_event.rb +110 -0
  124. data/lib/openai/models/beta/beta_response_reasoning_summary_part_done_event.rb +132 -0
  125. data/lib/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rb +88 -0
  126. data/lib/openai/models/beta/beta_response_reasoning_summary_text_done_event.rb +88 -0
  127. data/lib/openai/models/beta/beta_response_reasoning_text_delta_event.rb +87 -0
  128. data/lib/openai/models/beta/beta_response_reasoning_text_done_event.rb +87 -0
  129. data/lib/openai/models/beta/beta_response_refusal_delta_event.rb +87 -0
  130. data/lib/openai/models/beta/beta_response_refusal_done_event.rb +87 -0
  131. data/lib/openai/models/beta/beta_response_status.rb +25 -0
  132. data/lib/openai/models/beta/beta_response_stream_event.rb +203 -0
  133. data/lib/openai/models/beta/beta_response_text_config.rb +67 -0
  134. data/lib/openai/models/beta/beta_response_text_delta_event.rb +150 -0
  135. data/lib/openai/models/beta/beta_response_text_done_event.rb +150 -0
  136. data/lib/openai/models/beta/beta_response_tool_search_call.rb +117 -0
  137. data/lib/openai/models/beta/beta_response_tool_search_output_item.rb +117 -0
  138. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +109 -0
  139. data/lib/openai/models/beta/beta_response_usage.rb +95 -0
  140. data/lib/openai/models/beta/beta_response_web_search_call_completed_event.rb +72 -0
  141. data/lib/openai/models/beta/beta_response_web_search_call_in_progress_event.rb +72 -0
  142. data/lib/openai/models/beta/beta_response_web_search_call_searching_event.rb +72 -0
  143. data/lib/openai/models/beta/beta_responses_client_event.rb +1432 -0
  144. data/lib/openai/models/beta/beta_responses_server_event.rb +212 -0
  145. data/lib/openai/models/beta/beta_skill_reference.rb +36 -0
  146. data/lib/openai/models/beta/beta_tool.rb +910 -0
  147. data/lib/openai/models/beta/beta_tool_choice_allowed.rb +75 -0
  148. data/lib/openai/models/beta/beta_tool_choice_apply_patch.rb +22 -0
  149. data/lib/openai/models/beta/beta_tool_choice_custom.rb +30 -0
  150. data/lib/openai/models/beta/beta_tool_choice_function.rb +30 -0
  151. data/lib/openai/models/beta/beta_tool_choice_mcp.rb +42 -0
  152. data/lib/openai/models/beta/beta_tool_choice_options.rb +28 -0
  153. data/lib/openai/models/beta/beta_tool_choice_shell.rb +22 -0
  154. data/lib/openai/models/beta/beta_tool_choice_types.rb +67 -0
  155. data/lib/openai/models/beta/beta_tool_search_tool.rb +59 -0
  156. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +143 -0
  157. data/lib/openai/models/beta/beta_web_search_tool.rb +162 -0
  158. data/lib/openai/models/beta/response_cancel_params.rb +37 -0
  159. data/lib/openai/models/beta/response_compact_params.rb +549 -0
  160. data/lib/openai/models/beta/response_create_params.rb +1343 -0
  161. data/lib/openai/models/beta/response_delete_params.rb +37 -0
  162. data/lib/openai/models/beta/response_retrieve_params.rb +74 -0
  163. data/lib/openai/models/beta/responses/beta_response_item_list.rb +54 -0
  164. data/lib/openai/models/beta/responses/input_item_list_params.rb +96 -0
  165. data/lib/openai/models/beta/responses/input_token_count_params.rb +542 -0
  166. data/lib/openai/models/beta/responses/input_token_count_response.rb +26 -0
  167. data/lib/openai/models/beta/threads/run_create_params.rb +7 -14
  168. data/lib/openai/models/chat/chat_completion_content_part.rb +31 -1
  169. data/lib/openai/models/chat/chat_completion_content_part_image.rb +31 -1
  170. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +31 -1
  171. data/lib/openai/models/chat/chat_completion_content_part_text.rb +31 -1
  172. data/lib/openai/models/chat/completion_create_params.rb +200 -19
  173. data/lib/openai/models/chat_model.rb +3 -0
  174. data/lib/openai/models/completion_usage.rb +9 -1
  175. data/lib/openai/models/conversations/computer_screenshot_content.rb +28 -1
  176. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  177. data/lib/openai/models/conversations/conversation_item.rb +106 -3
  178. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  179. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  180. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +7 -14
  181. data/lib/openai/models/evals/run_cancel_response.rb +16 -30
  182. data/lib/openai/models/evals/run_create_params.rb +16 -30
  183. data/lib/openai/models/evals/run_create_response.rb +16 -30
  184. data/lib/openai/models/evals/run_list_response.rb +16 -30
  185. data/lib/openai/models/evals/run_retrieve_response.rb +16 -30
  186. data/lib/openai/models/graders/score_model_grader.rb +7 -14
  187. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +39 -8
  188. data/lib/openai/models/realtime/realtime_session_create_request.rb +6 -0
  189. data/lib/openai/models/realtime/realtime_session_create_response.rb +45 -8
  190. data/lib/openai/models/realtime/realtime_tools_config_union.rb +39 -8
  191. data/lib/openai/models/reasoning.rb +47 -15
  192. data/lib/openai/models/reasoning_effort.rb +7 -13
  193. data/lib/openai/models/responses/apply_patch_tool.rb +23 -1
  194. data/lib/openai/models/responses/compacted_response.rb +2 -2
  195. data/lib/openai/models/responses/custom_tool.rb +21 -1
  196. data/lib/openai/models/responses/function_shell_tool.rb +23 -1
  197. data/lib/openai/models/responses/function_tool.rb +32 -3
  198. data/lib/openai/models/responses/input_token_count_params.rb +21 -8
  199. data/lib/openai/models/responses/namespace_tool.rb +41 -2
  200. data/lib/openai/models/responses/response.rb +98 -14
  201. data/lib/openai/models/responses/response_apply_patch_tool_call.rb +56 -1
  202. data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +56 -1
  203. data/lib/openai/models/responses/response_compact_params.rb +107 -4
  204. data/lib/openai/models/responses/response_create_params.rb +214 -13
  205. data/lib/openai/models/responses/response_custom_tool_call.rb +56 -1
  206. data/lib/openai/models/responses/response_custom_tool_call_output.rb +58 -1
  207. data/lib/openai/models/responses/response_error.rb +1 -0
  208. data/lib/openai/models/responses/response_function_shell_tool_call.rb +56 -1
  209. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +56 -1
  210. data/lib/openai/models/responses/response_function_tool_call.rb +56 -1
  211. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +58 -1
  212. data/lib/openai/models/responses/response_input_file.rb +39 -8
  213. data/lib/openai/models/responses/response_input_file_content.rb +41 -8
  214. data/lib/openai/models/responses/response_input_image.rb +27 -1
  215. data/lib/openai/models/responses/response_input_image_content.rb +29 -1
  216. data/lib/openai/models/responses/response_input_item.rb +396 -8
  217. data/lib/openai/models/responses/response_input_text.rb +30 -1
  218. data/lib/openai/models/responses/response_input_text_content.rb +32 -1
  219. data/lib/openai/models/responses/response_item.rb +106 -3
  220. data/lib/openai/models/responses/response_item_list.rb +2 -2
  221. data/lib/openai/models/responses/response_output_item.rb +106 -3
  222. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  223. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  224. data/lib/openai/models/responses/response_reasoning_summary_part_done_event.rb +23 -1
  225. data/lib/openai/models/responses/response_tool_search_output_item.rb +2 -2
  226. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +2 -2
  227. data/lib/openai/models/responses/response_usage.rb +9 -1
  228. data/lib/openai/models/responses/responses_client_event.rb +215 -13
  229. data/lib/openai/models/responses/tool.rb +74 -10
  230. data/lib/openai/models/video_create_params.rb +1 -0
  231. data/lib/openai/models/video_edit_params.rb +2 -2
  232. data/lib/openai/models/webhooks/safety_identifier_blocked_webhook_event.rb +118 -0
  233. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  234. data/lib/openai/resources/beta/assistants.rb +2 -2
  235. data/lib/openai/resources/beta/responses/input_items.rb +58 -0
  236. data/lib/openai/resources/beta/responses/input_tokens.rb +73 -0
  237. data/lib/openai/resources/beta/responses.rb +440 -0
  238. data/lib/openai/resources/beta/threads/runs.rb +2 -2
  239. data/lib/openai/resources/beta.rb +4 -0
  240. data/lib/openai/resources/chat/completions.rb +10 -6
  241. data/lib/openai/resources/conversations/items.rb +3 -3
  242. data/lib/openai/resources/conversations.rb +1 -1
  243. data/lib/openai/resources/responses/input_items.rb +1 -1
  244. data/lib/openai/resources/responses/input_tokens.rb +3 -3
  245. data/lib/openai/resources/responses.rb +22 -12
  246. data/lib/openai/resources/webhooks.rb +1 -1
  247. data/lib/openai/version.rb +1 -1
  248. data/lib/openai.rb +163 -0
  249. data/rbi/openai/models/beta/assistant_create_params.rbi +12 -26
  250. data/rbi/openai/models/beta/assistant_update_params.rbi +12 -26
  251. data/rbi/openai/models/beta/beta_apply_patch_tool.rbi +99 -0
  252. data/rbi/openai/models/beta/beta_compacted_response.rbi +120 -0
  253. data/rbi/openai/models/beta/beta_computer_action.rbi +593 -0
  254. data/rbi/openai/models/beta/beta_computer_action_list.rbi +18 -0
  255. data/rbi/openai/models/beta/beta_computer_tool.rbi +33 -0
  256. data/rbi/openai/models/beta/beta_computer_use_preview_tool.rbi +126 -0
  257. data/rbi/openai/models/beta/beta_container_auto.rbi +231 -0
  258. data/rbi/openai/models/beta/beta_container_network_policy_allowlist.rbi +81 -0
  259. data/rbi/openai/models/beta/beta_container_network_policy_disabled.rbi +35 -0
  260. data/rbi/openai/models/beta/beta_container_network_policy_domain_secret.rbi +53 -0
  261. data/rbi/openai/models/beta/beta_container_reference.rbi +42 -0
  262. data/rbi/openai/models/beta/beta_custom_tool.rbi +302 -0
  263. data/rbi/openai/models/beta/beta_easy_input_message.rbi +211 -0
  264. data/rbi/openai/models/beta/beta_file_search_tool.rbi +863 -0
  265. data/rbi/openai/models/beta/beta_function_shell_tool.rbi +155 -0
  266. data/rbi/openai/models/beta/beta_function_tool.rbi +154 -0
  267. data/rbi/openai/models/beta/beta_inline_skill.rbi +68 -0
  268. data/rbi/openai/models/beta/beta_inline_skill_source.rbi +53 -0
  269. data/rbi/openai/models/beta/beta_local_environment.rbi +51 -0
  270. data/rbi/openai/models/beta/beta_local_skill.rbi +49 -0
  271. data/rbi/openai/models/beta/beta_namespace_tool.rbi +252 -0
  272. data/rbi/openai/models/beta/beta_response.rbi +2495 -0
  273. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call.rbi +431 -0
  274. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call_output.rbi +277 -0
  275. data/rbi/openai/models/beta/beta_response_audio_delta_event.rbi +110 -0
  276. data/rbi/openai/models/beta/beta_response_audio_done_event.rbi +100 -0
  277. data/rbi/openai/models/beta/beta_response_audio_transcript_delta_event.rbi +118 -0
  278. data/rbi/openai/models/beta/beta_response_audio_transcript_done_event.rbi +108 -0
  279. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbi +136 -0
  280. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbi +134 -0
  281. data/rbi/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbi +128 -0
  282. data/rbi/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbi +128 -0
  283. data/rbi/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbi +128 -0
  284. data/rbi/openai/models/beta/beta_response_code_interpreter_tool_call.rbi +315 -0
  285. data/rbi/openai/models/beta/beta_response_compaction_item.rbi +116 -0
  286. data/rbi/openai/models/beta/beta_response_compaction_item_param.rbi +114 -0
  287. data/rbi/openai/models/beta/beta_response_completed_event.rbi +111 -0
  288. data/rbi/openai/models/beta/beta_response_computer_tool_call.rbi +404 -0
  289. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +296 -0
  290. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbi +62 -0
  291. data/rbi/openai/models/beta/beta_response_container_reference.rbi +41 -0
  292. data/rbi/openai/models/beta/beta_response_content.rbi +66 -0
  293. data/rbi/openai/models/beta/beta_response_content_part_added_event.rbi +205 -0
  294. data/rbi/openai/models/beta/beta_response_content_part_done_event.rbi +203 -0
  295. data/rbi/openai/models/beta/beta_response_conversation_param.rbi +35 -0
  296. data/rbi/openai/models/beta/beta_response_created_event.rbi +109 -0
  297. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +242 -0
  298. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbi +134 -0
  299. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbi +134 -0
  300. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +113 -0
  301. data/rbi/openai/models/beta/beta_response_custom_tool_call_output.rbi +303 -0
  302. data/rbi/openai/models/beta/beta_response_custom_tool_call_output_item.rbi +114 -0
  303. data/rbi/openai/models/beta/beta_response_error.rbi +165 -0
  304. data/rbi/openai/models/beta/beta_response_error_event.rbi +120 -0
  305. data/rbi/openai/models/beta/beta_response_failed_event.rbi +107 -0
  306. data/rbi/openai/models/beta/beta_response_file_search_call_completed_event.rbi +126 -0
  307. data/rbi/openai/models/beta/beta_response_file_search_call_in_progress_event.rbi +126 -0
  308. data/rbi/openai/models/beta/beta_response_file_search_call_searching_event.rbi +126 -0
  309. data/rbi/openai/models/beta/beta_response_file_search_tool_call.rbi +328 -0
  310. data/rbi/openai/models/beta/beta_response_format_text_config.rbi +97 -0
  311. data/rbi/openai/models/beta/beta_response_format_text_json_schema_config.rbi +97 -0
  312. data/rbi/openai/models/beta/beta_response_function_call_arguments_delta_event.rbi +134 -0
  313. data/rbi/openai/models/beta/beta_response_function_call_arguments_done_event.rbi +140 -0
  314. data/rbi/openai/models/beta/beta_response_function_call_output_item.rbi +32 -0
  315. data/rbi/openai/models/beta/beta_response_function_call_output_item_list.rbi +21 -0
  316. data/rbi/openai/models/beta/beta_response_function_shell_call_output_content.rbi +160 -0
  317. data/rbi/openai/models/beta/beta_response_function_shell_tool_call.rbi +389 -0
  318. data/rbi/openai/models/beta/beta_response_function_shell_tool_call_output.rbi +470 -0
  319. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +310 -0
  320. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +115 -0
  321. data/rbi/openai/models/beta/beta_response_function_tool_call_output_item.rbi +364 -0
  322. data/rbi/openai/models/beta/beta_response_function_web_search.rbi +416 -0
  323. data/rbi/openai/models/beta/beta_response_image_gen_call_completed_event.rbi +127 -0
  324. data/rbi/openai/models/beta/beta_response_image_gen_call_generating_event.rbi +127 -0
  325. data/rbi/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbi +126 -0
  326. data/rbi/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbi +144 -0
  327. data/rbi/openai/models/beta/beta_response_in_progress_event.rbi +113 -0
  328. data/rbi/openai/models/beta/beta_response_includable.rbi +86 -0
  329. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +113 -0
  330. data/rbi/openai/models/beta/beta_response_inject_created_event.rbi +75 -0
  331. data/rbi/openai/models/beta/beta_response_inject_event.rbi +183 -0
  332. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +304 -0
  333. data/rbi/openai/models/beta/beta_response_input.rbi +18 -0
  334. data/rbi/openai/models/beta/beta_response_input_audio.rbi +144 -0
  335. data/rbi/openai/models/beta/beta_response_input_content.rbi +31 -0
  336. data/rbi/openai/models/beta/beta_response_input_file.rbi +210 -0
  337. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +211 -0
  338. data/rbi/openai/models/beta/beta_response_input_image.rbi +173 -0
  339. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +191 -0
  340. data/rbi/openai/models/beta/beta_response_input_item.rbi +5505 -0
  341. data/rbi/openai/models/beta/beta_response_input_message_content_list.rbi +21 -0
  342. data/rbi/openai/models/beta/beta_response_input_message_item.rbi +235 -0
  343. data/rbi/openai/models/beta/beta_response_input_text.rbi +109 -0
  344. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +115 -0
  345. data/rbi/openai/models/beta/beta_response_item.rbi +2592 -0
  346. data/rbi/openai/models/beta/beta_response_local_environment.rbi +35 -0
  347. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbi +137 -0
  348. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbi +134 -0
  349. data/rbi/openai/models/beta/beta_response_mcp_call_completed_event.rbi +123 -0
  350. data/rbi/openai/models/beta/beta_response_mcp_call_failed_event.rbi +121 -0
  351. data/rbi/openai/models/beta/beta_response_mcp_call_in_progress_event.rbi +124 -0
  352. data/rbi/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbi +126 -0
  353. data/rbi/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbi +124 -0
  354. data/rbi/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbi +127 -0
  355. data/rbi/openai/models/beta/beta_response_output_audio.rbi +53 -0
  356. data/rbi/openai/models/beta/beta_response_output_item.rbi +2627 -0
  357. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +154 -0
  358. data/rbi/openai/models/beta/beta_response_output_item_done_event.rbi +154 -0
  359. data/rbi/openai/models/beta/beta_response_output_message.rbi +267 -0
  360. data/rbi/openai/models/beta/beta_response_output_refusal.rbi +41 -0
  361. data/rbi/openai/models/beta/beta_response_output_text.rbi +479 -0
  362. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +150 -0
  363. data/rbi/openai/models/beta/beta_response_prompt.rbi +122 -0
  364. data/rbi/openai/models/beta/beta_response_queued_event.rbi +107 -0
  365. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +274 -0
  366. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbi +188 -0
  367. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbi +243 -0
  368. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbi +142 -0
  369. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbi +142 -0
  370. data/rbi/openai/models/beta/beta_response_reasoning_text_delta_event.rbi +140 -0
  371. data/rbi/openai/models/beta/beta_response_reasoning_text_done_event.rbi +140 -0
  372. data/rbi/openai/models/beta/beta_response_refusal_delta_event.rbi +135 -0
  373. data/rbi/openai/models/beta/beta_response_refusal_done_event.rbi +135 -0
  374. data/rbi/openai/models/beta/beta_response_status.rbi +38 -0
  375. data/rbi/openai/models/beta/beta_response_stream_event.rbi +81 -0
  376. data/rbi/openai/models/beta/beta_response_text_config.rbi +166 -0
  377. data/rbi/openai/models/beta/beta_response_text_delta_event.rbi +263 -0
  378. data/rbi/openai/models/beta/beta_response_text_done_event.rbi +261 -0
  379. data/rbi/openai/models/beta/beta_response_tool_search_call.rbi +218 -0
  380. data/rbi/openai/models/beta/beta_response_tool_search_output_item.rbi +248 -0
  381. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +307 -0
  382. data/rbi/openai/models/beta/beta_response_usage.rbi +163 -0
  383. data/rbi/openai/models/beta/beta_response_web_search_call_completed_event.rbi +126 -0
  384. data/rbi/openai/models/beta/beta_response_web_search_call_in_progress_event.rbi +126 -0
  385. data/rbi/openai/models/beta/beta_response_web_search_call_searching_event.rbi +126 -0
  386. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2831 -0
  387. data/rbi/openai/models/beta/beta_responses_server_event.rbi +83 -0
  388. data/rbi/openai/models/beta/beta_skill_reference.rbi +52 -0
  389. data/rbi/openai/models/beta/beta_tool.rbi +1835 -0
  390. data/rbi/openai/models/beta/beta_tool_choice_allowed.rbi +126 -0
  391. data/rbi/openai/models/beta/beta_tool_choice_apply_patch.rbi +35 -0
  392. data/rbi/openai/models/beta/beta_tool_choice_custom.rbi +38 -0
  393. data/rbi/openai/models/beta/beta_tool_choice_function.rbi +41 -0
  394. data/rbi/openai/models/beta/beta_tool_choice_mcp.rbi +55 -0
  395. data/rbi/openai/models/beta/beta_tool_choice_options.rbi +38 -0
  396. data/rbi/openai/models/beta/beta_tool_choice_shell.rbi +32 -0
  397. data/rbi/openai/models/beta/beta_tool_choice_types.rbi +134 -0
  398. data/rbi/openai/models/beta/beta_tool_search_tool.rbi +109 -0
  399. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +311 -0
  400. data/rbi/openai/models/beta/beta_web_search_tool.rbi +329 -0
  401. data/rbi/openai/models/beta/response_cancel_params.rbi +83 -0
  402. data/rbi/openai/models/beta/response_compact_params.rbi +1033 -0
  403. data/rbi/openai/models/beta/response_create_params.rbi +2739 -0
  404. data/rbi/openai/models/beta/response_delete_params.rbi +83 -0
  405. data/rbi/openai/models/beta/response_retrieve_params.rbi +145 -0
  406. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +113 -0
  407. data/rbi/openai/models/beta/responses/input_item_list_params.rbi +223 -0
  408. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +1248 -0
  409. data/rbi/openai/models/beta/responses/input_token_count_response.rbi +37 -0
  410. data/rbi/openai/models/beta/threads/run_create_params.rbi +12 -26
  411. data/rbi/openai/models/chat/chat_completion_content_part.rbi +57 -1
  412. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +57 -1
  413. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +57 -1
  414. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +70 -2
  415. data/rbi/openai/models/chat/completion_create_params.rbi +513 -32
  416. data/rbi/openai/models/chat_model.rbi +3 -0
  417. data/rbi/openai/models/completion_usage.rbi +21 -4
  418. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +57 -1
  419. data/rbi/openai/models/conversations/conversation_create_params.rbi +9 -3
  420. data/rbi/openai/models/conversations/conversation_item.rbi +178 -0
  421. data/rbi/openai/models/conversations/conversation_item_list.rbi +2 -0
  422. data/rbi/openai/models/conversations/item_create_params.rbi +9 -3
  423. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +12 -26
  424. data/rbi/openai/models/evals/run_cancel_response.rbi +26 -52
  425. data/rbi/openai/models/evals/run_create_params.rbi +28 -52
  426. data/rbi/openai/models/evals/run_create_response.rbi +26 -52
  427. data/rbi/openai/models/evals/run_list_response.rbi +26 -52
  428. data/rbi/openai/models/evals/run_retrieve_response.rbi +26 -52
  429. data/rbi/openai/models/graders/score_model_grader.rbi +12 -26
  430. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +84 -11
  431. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +10 -0
  432. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +94 -11
  433. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +84 -11
  434. data/rbi/openai/models/reasoning.rbi +51 -26
  435. data/rbi/openai/models/reasoning_effort.rbi +7 -13
  436. data/rbi/openai/models/responses/apply_patch_tool.rbi +69 -2
  437. data/rbi/openai/models/responses/compacted_response.rbi +2 -0
  438. data/rbi/openai/models/responses/custom_tool.rbi +53 -0
  439. data/rbi/openai/models/responses/function_shell_tool.rbi +57 -0
  440. data/rbi/openai/models/responses/function_tool.rbi +68 -3
  441. data/rbi/openai/models/responses/input_token_count_params.rbi +32 -0
  442. data/rbi/openai/models/responses/namespace_tool.rbi +76 -0
  443. data/rbi/openai/models/responses/response.rbi +192 -3
  444. data/rbi/openai/models/responses/response_apply_patch_tool_call.rbi +98 -0
  445. data/rbi/openai/models/responses/response_apply_patch_tool_call_output.rbi +98 -0
  446. data/rbi/openai/models/responses/response_compact_params.rbi +231 -0
  447. data/rbi/openai/models/responses/response_create_params.rbi +537 -6
  448. data/rbi/openai/models/responses/response_custom_tool_call.rbi +104 -0
  449. data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +111 -1
  450. data/rbi/openai/models/responses/response_error.rbi +5 -0
  451. data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +98 -0
  452. data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +98 -0
  453. data/rbi/openai/models/responses/response_function_tool_call.rbi +104 -0
  454. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +104 -0
  455. data/rbi/openai/models/responses/response_input_file.rbi +77 -10
  456. data/rbi/openai/models/responses/response_input_file_content.rbi +83 -10
  457. data/rbi/openai/models/responses/response_input_image.rbi +57 -1
  458. data/rbi/openai/models/responses/response_input_image_content.rbi +63 -1
  459. data/rbi/openai/models/responses/response_input_item.rbi +748 -8
  460. data/rbi/openai/models/responses/response_input_text.rbi +70 -2
  461. data/rbi/openai/models/responses/response_input_text_content.rbi +76 -2
  462. data/rbi/openai/models/responses/response_item.rbi +178 -0
  463. data/rbi/openai/models/responses/response_item_list.rbi +2 -0
  464. data/rbi/openai/models/responses/response_output_item.rbi +178 -0
  465. data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -0
  466. data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -0
  467. data/rbi/openai/models/responses/response_reasoning_summary_part_done_event.rbi +58 -1
  468. data/rbi/openai/models/responses/response_tool_search_output_item.rbi +1 -0
  469. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +3 -0
  470. data/rbi/openai/models/responses/response_usage.rbi +16 -2
  471. data/rbi/openai/models/responses/responses_client_event.rbi +537 -6
  472. data/rbi/openai/models/responses/tool.rbi +166 -12
  473. data/rbi/openai/models/video_edit_params.rbi +1 -1
  474. data/rbi/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbi +209 -0
  475. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +2 -1
  476. data/rbi/openai/resources/beta/assistants.rbi +12 -26
  477. data/rbi/openai/resources/beta/responses/input_items.rbi +58 -0
  478. data/rbi/openai/resources/beta/responses/input_tokens.rbi +154 -0
  479. data/rbi/openai/resources/beta/responses.rbi +903 -0
  480. data/rbi/openai/resources/beta/threads/runs.rbi +12 -26
  481. data/rbi/openai/resources/beta.rbi +3 -0
  482. data/rbi/openai/resources/chat/completions.rbi +48 -28
  483. data/rbi/openai/resources/conversations/items.rbi +3 -1
  484. data/rbi/openai/resources/conversations.rbi +3 -1
  485. data/rbi/openai/resources/responses/input_tokens.rbi +2 -0
  486. data/rbi/openai/resources/responses.rbi +54 -2
  487. data/rbi/openai/resources/webhooks.rbi +2 -1
  488. data/sig/openai/client.rbs +1 -1
  489. data/sig/openai/internal/transport/base_client.rbs +2 -2
  490. data/sig/openai/models/beta/beta_apply_patch_tool.rbs +40 -0
  491. data/sig/openai/models/beta/beta_compacted_response.rbs +44 -0
  492. data/sig/openai/models/beta/beta_computer_action.rbs +259 -0
  493. data/sig/openai/models/beta/beta_computer_action_list.rbs +12 -0
  494. data/sig/openai/models/beta/beta_computer_tool.rbs +17 -0
  495. data/sig/openai/models/beta/beta_computer_use_preview_tool.rbs +53 -0
  496. data/sig/openai/models/beta/beta_container_auto.rbs +86 -0
  497. data/sig/openai/models/beta/beta_container_network_policy_allowlist.rbs +38 -0
  498. data/sig/openai/models/beta/beta_container_network_policy_disabled.rbs +17 -0
  499. data/sig/openai/models/beta/beta_container_network_policy_domain_secret.rbs +22 -0
  500. data/sig/openai/models/beta/beta_container_reference.rbs +23 -0
  501. data/sig/openai/models/beta/beta_custom_tool.rbs +126 -0
  502. data/sig/openai/models/beta/beta_easy_input_message.rbs +87 -0
  503. data/sig/openai/models/beta/beta_file_search_tool.rbs +298 -0
  504. data/sig/openai/models/beta/beta_function_shell_tool.rbs +56 -0
  505. data/sig/openai/models/beta/beta_function_tool.rbs +72 -0
  506. data/sig/openai/models/beta/beta_inline_skill.rbs +39 -0
  507. data/sig/openai/models/beta/beta_inline_skill_source.rbs +30 -0
  508. data/sig/openai/models/beta/beta_local_environment.rbs +30 -0
  509. data/sig/openai/models/beta/beta_local_skill.rbs +26 -0
  510. data/sig/openai/models/beta/beta_namespace_tool.rbs +114 -0
  511. data/sig/openai/models/beta/beta_response.rbs +860 -0
  512. data/sig/openai/models/beta/beta_response_apply_patch_tool_call.rbs +177 -0
  513. data/sig/openai/models/beta/beta_response_apply_patch_tool_call_output.rbs +118 -0
  514. data/sig/openai/models/beta/beta_response_audio_delta_event.rbs +49 -0
  515. data/sig/openai/models/beta/beta_response_audio_done_event.rbs +44 -0
  516. data/sig/openai/models/beta/beta_response_audio_transcript_delta_event.rbs +49 -0
  517. data/sig/openai/models/beta/beta_response_audio_transcript_done_event.rbs +44 -0
  518. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbs +59 -0
  519. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbs +59 -0
  520. data/sig/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbs +54 -0
  521. data/sig/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbs +54 -0
  522. data/sig/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbs +54 -0
  523. data/sig/openai/models/beta/beta_response_code_interpreter_tool_call.rbs +113 -0
  524. data/sig/openai/models/beta/beta_response_compaction_item.rbs +60 -0
  525. data/sig/openai/models/beta/beta_response_compaction_item_param.rbs +49 -0
  526. data/sig/openai/models/beta/beta_response_completed_event.rbs +49 -0
  527. data/sig/openai/models/beta/beta_response_computer_tool_call.rbs +118 -0
  528. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +107 -0
  529. data/sig/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbs +34 -0
  530. data/sig/openai/models/beta/beta_response_container_reference.rbs +23 -0
  531. data/sig/openai/models/beta/beta_response_content.rbs +33 -0
  532. data/sig/openai/models/beta/beta_response_content_part_added_event.rbs +87 -0
  533. data/sig/openai/models/beta/beta_response_content_part_done_event.rbs +87 -0
  534. data/sig/openai/models/beta/beta_response_conversation_param.rbs +17 -0
  535. data/sig/openai/models/beta/beta_response_created_event.rbs +49 -0
  536. data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +105 -0
  537. data/sig/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbs +59 -0
  538. data/sig/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbs +59 -0
  539. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +54 -0
  540. data/sig/openai/models/beta/beta_response_custom_tool_call_output.rbs +116 -0
  541. data/sig/openai/models/beta/beta_response_custom_tool_call_output_item.rbs +54 -0
  542. data/sig/openai/models/beta/beta_response_error.rbs +73 -0
  543. data/sig/openai/models/beta/beta_response_error_event.rbs +59 -0
  544. data/sig/openai/models/beta/beta_response_failed_event.rbs +49 -0
  545. data/sig/openai/models/beta/beta_response_file_search_call_completed_event.rbs +54 -0
  546. data/sig/openai/models/beta/beta_response_file_search_call_in_progress_event.rbs +54 -0
  547. data/sig/openai/models/beta/beta_response_file_search_call_searching_event.rbs +54 -0
  548. data/sig/openai/models/beta/beta_response_file_search_tool_call.rbs +127 -0
  549. data/sig/openai/models/beta/beta_response_format_text_config.rbs +38 -0
  550. data/sig/openai/models/beta/beta_response_format_text_json_schema_config.rbs +46 -0
  551. data/sig/openai/models/beta/beta_response_function_call_arguments_delta_event.rbs +59 -0
  552. data/sig/openai/models/beta/beta_response_function_call_arguments_done_event.rbs +64 -0
  553. data/sig/openai/models/beta/beta_response_function_call_output_item.rbs +18 -0
  554. data/sig/openai/models/beta/beta_response_function_call_output_item_list.rbs +12 -0
  555. data/sig/openai/models/beta/beta_response_function_shell_call_output_content.rbs +66 -0
  556. data/sig/openai/models/beta/beta_response_function_shell_tool_call.rbs +161 -0
  557. data/sig/openai/models/beta/beta_response_function_shell_tool_call_output.rbs +190 -0
  558. data/sig/openai/models/beta/beta_response_function_tool_call.rbs +126 -0
  559. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +54 -0
  560. data/sig/openai/models/beta/beta_response_function_tool_call_output_item.rbs +138 -0
  561. data/sig/openai/models/beta/beta_response_function_web_search.rbs +165 -0
  562. data/sig/openai/models/beta/beta_response_image_gen_call_completed_event.rbs +54 -0
  563. data/sig/openai/models/beta/beta_response_image_gen_call_generating_event.rbs +54 -0
  564. data/sig/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbs +54 -0
  565. data/sig/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbs +64 -0
  566. data/sig/openai/models/beta/beta_response_in_progress_event.rbs +49 -0
  567. data/sig/openai/models/beta/beta_response_includable.rbs +32 -0
  568. data/sig/openai/models/beta/beta_response_incomplete_event.rbs +49 -0
  569. data/sig/openai/models/beta/beta_response_inject_created_event.rbs +41 -0
  570. data/sig/openai/models/beta/beta_response_inject_event.rbs +34 -0
  571. data/sig/openai/models/beta/beta_response_inject_failed_event.rbs +84 -0
  572. data/sig/openai/models/beta/beta_response_input.rbs +12 -0
  573. data/sig/openai/models/beta/beta_response_input_audio.rbs +62 -0
  574. data/sig/openai/models/beta/beta_response_input_content.rbs +18 -0
  575. data/sig/openai/models/beta/beta_response_input_file.rbs +90 -0
  576. data/sig/openai/models/beta/beta_response_input_file_content.rbs +80 -0
  577. data/sig/openai/models/beta/beta_response_input_image.rbs +71 -0
  578. data/sig/openai/models/beta/beta_response_input_image_content.rbs +67 -0
  579. data/sig/openai/models/beta/beta_response_input_item.rbs +2064 -0
  580. data/sig/openai/models/beta/beta_response_input_message_content_list.rbs +12 -0
  581. data/sig/openai/models/beta/beta_response_input_message_item.rbs +87 -0
  582. data/sig/openai/models/beta/beta_response_input_text.rbs +48 -0
  583. data/sig/openai/models/beta/beta_response_input_text_content.rbs +44 -0
  584. data/sig/openai/models/beta/beta_response_item.rbs +1097 -0
  585. data/sig/openai/models/beta/beta_response_local_environment.rbs +17 -0
  586. data/sig/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbs +59 -0
  587. data/sig/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbs +59 -0
  588. data/sig/openai/models/beta/beta_response_mcp_call_completed_event.rbs +54 -0
  589. data/sig/openai/models/beta/beta_response_mcp_call_failed_event.rbs +54 -0
  590. data/sig/openai/models/beta/beta_response_mcp_call_in_progress_event.rbs +54 -0
  591. data/sig/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbs +54 -0
  592. data/sig/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbs +54 -0
  593. data/sig/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbs +54 -0
  594. data/sig/openai/models/beta/beta_response_output_audio.rbs +30 -0
  595. data/sig/openai/models/beta/beta_response_output_item.rbs +1096 -0
  596. data/sig/openai/models/beta/beta_response_output_item_added_event.rbs +54 -0
  597. data/sig/openai/models/beta/beta_response_output_item_done_event.rbs +54 -0
  598. data/sig/openai/models/beta/beta_response_output_message.rbs +97 -0
  599. data/sig/openai/models/beta/beta_response_output_refusal.rbs +19 -0
  600. data/sig/openai/models/beta/beta_response_output_text.rbs +243 -0
  601. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +69 -0
  602. data/sig/openai/models/beta/beta_response_prompt.rbs +46 -0
  603. data/sig/openai/models/beta/beta_response_queued_event.rbs +49 -0
  604. data/sig/openai/models/beta/beta_response_reasoning_item.rbs +108 -0
  605. data/sig/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbs +76 -0
  606. data/sig/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbs +95 -0
  607. data/sig/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbs +64 -0
  608. data/sig/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbs +64 -0
  609. data/sig/openai/models/beta/beta_response_reasoning_text_delta_event.rbs +64 -0
  610. data/sig/openai/models/beta/beta_response_reasoning_text_done_event.rbs +64 -0
  611. data/sig/openai/models/beta/beta_response_refusal_delta_event.rbs +64 -0
  612. data/sig/openai/models/beta/beta_response_refusal_done_event.rbs +64 -0
  613. data/sig/openai/models/beta/beta_response_status.rbs +23 -0
  614. data/sig/openai/models/beta/beta_response_stream_event.rbs +68 -0
  615. data/sig/openai/models/beta/beta_response_text_config.rbs +45 -0
  616. data/sig/openai/models/beta/beta_response_text_delta_event.rbs +116 -0
  617. data/sig/openai/models/beta/beta_response_text_done_event.rbs +116 -0
  618. data/sig/openai/models/beta/beta_response_tool_search_call.rbs +98 -0
  619. data/sig/openai/models/beta/beta_response_tool_search_output_item.rbs +98 -0
  620. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +91 -0
  621. data/sig/openai/models/beta/beta_response_usage.rbs +73 -0
  622. data/sig/openai/models/beta/beta_response_web_search_call_completed_event.rbs +54 -0
  623. data/sig/openai/models/beta/beta_response_web_search_call_in_progress_event.rbs +54 -0
  624. data/sig/openai/models/beta/beta_response_web_search_call_searching_event.rbs +54 -0
  625. data/sig/openai/models/beta/beta_responses_client_event.rbs +804 -0
  626. data/sig/openai/models/beta/beta_responses_server_event.rbs +70 -0
  627. data/sig/openai/models/beta/beta_skill_reference.rbs +32 -0
  628. data/sig/openai/models/beta/beta_tool.rbs +634 -0
  629. data/sig/openai/models/beta/beta_tool_choice_allowed.rbs +45 -0
  630. data/sig/openai/models/beta/beta_tool_choice_apply_patch.rbs +17 -0
  631. data/sig/openai/models/beta/beta_tool_choice_custom.rbs +19 -0
  632. data/sig/openai/models/beta/beta_tool_choice_function.rbs +19 -0
  633. data/sig/openai/models/beta/beta_tool_choice_mcp.rbs +26 -0
  634. data/sig/openai/models/beta/beta_tool_choice_options.rbs +19 -0
  635. data/sig/openai/models/beta/beta_tool_choice_shell.rbs +17 -0
  636. data/sig/openai/models/beta/beta_tool_choice_types.rbs +47 -0
  637. data/sig/openai/models/beta/beta_tool_search_tool.rbs +54 -0
  638. data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +118 -0
  639. data/sig/openai/models/beta/beta_web_search_tool.rbs +127 -0
  640. data/sig/openai/models/beta/response_cancel_params.rbs +47 -0
  641. data/sig/openai/models/beta/response_compact_params.rbs +368 -0
  642. data/sig/openai/models/beta/response_create_params.rbs +804 -0
  643. data/sig/openai/models/beta/response_delete_params.rbs +47 -0
  644. data/sig/openai/models/beta/response_retrieve_params.rbs +70 -0
  645. data/sig/openai/models/beta/responses/beta_response_item_list.rbs +44 -0
  646. data/sig/openai/models/beta/responses/input_item_list_params.rbs +92 -0
  647. data/sig/openai/models/beta/responses/input_token_count_params.rbs +325 -0
  648. data/sig/openai/models/beta/responses/input_token_count_response.rbs +26 -0
  649. data/sig/openai/models/chat/chat_completion_content_part.rbs +21 -2
  650. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +21 -2
  651. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +21 -2
  652. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +32 -3
  653. data/sig/openai/models/chat/completion_create_params.rbs +153 -3
  654. data/sig/openai/models/chat_model.rbs +7 -1
  655. data/sig/openai/models/completion_usage.rbs +15 -2
  656. data/sig/openai/models/conversations/computer_screenshot_content.rbs +21 -2
  657. data/sig/openai/models/conversations/conversation_item.rbs +87 -0
  658. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +25 -2
  659. data/sig/openai/models/realtime/realtime_session_create_request.rbs +4 -0
  660. data/sig/openai/models/realtime/realtime_session_create_response.rbs +29 -2
  661. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +25 -2
  662. data/sig/openai/models/reasoning.rbs +20 -0
  663. data/sig/openai/models/reasoning_effort.rbs +3 -1
  664. data/sig/openai/models/responses/apply_patch_tool.rbs +26 -3
  665. data/sig/openai/models/responses/custom_tool.rbs +16 -0
  666. data/sig/openai/models/responses/function_shell_tool.rbs +16 -0
  667. data/sig/openai/models/responses/function_tool.rbs +23 -2
  668. data/sig/openai/models/responses/input_token_count_params.rbs +12 -0
  669. data/sig/openai/models/responses/namespace_tool.rbs +21 -0
  670. data/sig/openai/models/responses/response.rbs +64 -0
  671. data/sig/openai/models/responses/response_apply_patch_tool_call.rbs +37 -0
  672. data/sig/openai/models/responses/response_apply_patch_tool_call_output.rbs +37 -0
  673. data/sig/openai/models/responses/response_compact_params.rbs +63 -1
  674. data/sig/openai/models/responses/response_create_params.rbs +165 -3
  675. data/sig/openai/models/responses/response_custom_tool_call.rbs +37 -0
  676. data/sig/openai/models/responses/response_custom_tool_call_output.rbs +39 -2
  677. data/sig/openai/models/responses/response_error.rbs +2 -0
  678. data/sig/openai/models/responses/response_function_shell_tool_call.rbs +37 -0
  679. data/sig/openai/models/responses/response_function_shell_tool_call_output.rbs +37 -0
  680. data/sig/openai/models/responses/response_function_tool_call.rbs +37 -0
  681. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +37 -0
  682. data/sig/openai/models/responses/response_input_file.rbs +23 -3
  683. data/sig/openai/models/responses/response_input_file_content.rbs +19 -3
  684. data/sig/openai/models/responses/response_input_image.rbs +21 -2
  685. data/sig/openai/models/responses/response_input_image_content.rbs +17 -2
  686. data/sig/openai/models/responses/response_input_item.rbs +274 -2
  687. data/sig/openai/models/responses/response_input_text.rbs +32 -3
  688. data/sig/openai/models/responses/response_input_text_content.rbs +28 -3
  689. data/sig/openai/models/responses/response_item.rbs +87 -0
  690. data/sig/openai/models/responses/response_output_item.rbs +87 -0
  691. data/sig/openai/models/responses/response_reasoning_summary_part_done_event.rbs +21 -2
  692. data/sig/openai/models/responses/response_usage.rbs +12 -3
  693. data/sig/openai/models/responses/responses_client_event.rbs +165 -3
  694. data/sig/openai/models/responses/tool.rbs +54 -4
  695. data/sig/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbs +99 -0
  696. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  697. data/sig/openai/resources/beta/responses/input_items.rbs +21 -0
  698. data/sig/openai/resources/beta/responses/input_tokens.rbs +28 -0
  699. data/sig/openai/resources/beta/responses.rbs +128 -0
  700. data/sig/openai/resources/beta.rbs +2 -0
  701. data/sig/openai/resources/chat/completions.rbs +2 -0
  702. data/sig/openai/resources/responses.rbs +3 -0
  703. data/sig/openai/resources/webhooks.rbs +2 -1
  704. metadata +491 -2
@@ -0,0 +1,863 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ BetaFileSearchTool = Beta::BetaFileSearchTool
6
+
7
+ module Beta
8
+ class BetaFileSearchTool < OpenAI::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(OpenAI::Beta::BetaFileSearchTool, OpenAI::Internal::AnyHash)
12
+ end
13
+
14
+ # The type of the file search tool. Always `file_search`.
15
+ sig { returns(Symbol) }
16
+ attr_accessor :type
17
+
18
+ # The IDs of the vector stores to search.
19
+ sig { returns(T::Array[String]) }
20
+ attr_accessor :vector_store_ids
21
+
22
+ # A filter to apply.
23
+ sig do
24
+ returns(
25
+ T.nilable(
26
+ T.any(
27
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter,
28
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter
29
+ )
30
+ )
31
+ )
32
+ end
33
+ attr_accessor :filters
34
+
35
+ # The maximum number of results to return. This number should be between 1 and 50
36
+ # inclusive.
37
+ sig { returns(T.nilable(Integer)) }
38
+ attr_reader :max_num_results
39
+
40
+ sig { params(max_num_results: Integer).void }
41
+ attr_writer :max_num_results
42
+
43
+ # Ranking options for search.
44
+ sig do
45
+ returns(T.nilable(OpenAI::Beta::BetaFileSearchTool::RankingOptions))
46
+ end
47
+ attr_reader :ranking_options
48
+
49
+ sig do
50
+ params(
51
+ ranking_options:
52
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::OrHash
53
+ ).void
54
+ end
55
+ attr_writer :ranking_options
56
+
57
+ # A tool that searches for relevant content from uploaded files. Learn more about
58
+ # the
59
+ # [file search tool](https://platform.openai.com/docs/guides/tools-file-search).
60
+ sig do
61
+ params(
62
+ vector_store_ids: T::Array[String],
63
+ filters:
64
+ T.nilable(
65
+ T.any(
66
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::OrHash,
67
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::OrHash
68
+ )
69
+ ),
70
+ max_num_results: Integer,
71
+ ranking_options:
72
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::OrHash,
73
+ type: Symbol
74
+ ).returns(T.attached_class)
75
+ end
76
+ def self.new(
77
+ # The IDs of the vector stores to search.
78
+ vector_store_ids:,
79
+ # A filter to apply.
80
+ filters: nil,
81
+ # The maximum number of results to return. This number should be between 1 and 50
82
+ # inclusive.
83
+ max_num_results: nil,
84
+ # Ranking options for search.
85
+ ranking_options: nil,
86
+ # The type of the file search tool. Always `file_search`.
87
+ type: :file_search
88
+ )
89
+ end
90
+
91
+ sig do
92
+ override.returns(
93
+ {
94
+ type: Symbol,
95
+ vector_store_ids: T::Array[String],
96
+ filters:
97
+ T.nilable(
98
+ T.any(
99
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter,
100
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter
101
+ )
102
+ ),
103
+ max_num_results: Integer,
104
+ ranking_options: OpenAI::Beta::BetaFileSearchTool::RankingOptions
105
+ }
106
+ )
107
+ end
108
+ def to_hash
109
+ end
110
+
111
+ # A filter to apply.
112
+ module Filters
113
+ extend OpenAI::Internal::Type::Union
114
+
115
+ Variants =
116
+ T.type_alias do
117
+ T.any(
118
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter,
119
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter
120
+ )
121
+ end
122
+
123
+ class ComparisonFilter < OpenAI::Internal::Type::BaseModel
124
+ OrHash =
125
+ T.type_alias do
126
+ T.any(
127
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter,
128
+ OpenAI::Internal::AnyHash
129
+ )
130
+ end
131
+
132
+ # The key to compare against the value.
133
+ sig { returns(String) }
134
+ attr_accessor :key
135
+
136
+ # Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`,
137
+ # `nin`.
138
+ #
139
+ # - `eq`: equals
140
+ # - `ne`: not equal
141
+ # - `gt`: greater than
142
+ # - `gte`: greater than or equal
143
+ # - `lt`: less than
144
+ # - `lte`: less than or equal
145
+ # - `in`: in
146
+ # - `nin`: not in
147
+ sig do
148
+ returns(
149
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::OrSymbol
150
+ )
151
+ end
152
+ attr_accessor :type
153
+
154
+ # The value to compare against the attribute key; supports string, number, or
155
+ # boolean types.
156
+ sig do
157
+ returns(
158
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Value::Variants
159
+ )
160
+ end
161
+ attr_accessor :value
162
+
163
+ # A filter used to compare a specified attribute key to a given value using a
164
+ # defined comparison operation.
165
+ sig do
166
+ params(
167
+ key: String,
168
+ type:
169
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::OrSymbol,
170
+ value:
171
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Value::Variants
172
+ ).returns(T.attached_class)
173
+ end
174
+ def self.new(
175
+ # The key to compare against the value.
176
+ key:,
177
+ # Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`,
178
+ # `nin`.
179
+ #
180
+ # - `eq`: equals
181
+ # - `ne`: not equal
182
+ # - `gt`: greater than
183
+ # - `gte`: greater than or equal
184
+ # - `lt`: less than
185
+ # - `lte`: less than or equal
186
+ # - `in`: in
187
+ # - `nin`: not in
188
+ type:,
189
+ # The value to compare against the attribute key; supports string, number, or
190
+ # boolean types.
191
+ value:
192
+ )
193
+ end
194
+
195
+ sig do
196
+ override.returns(
197
+ {
198
+ key: String,
199
+ type:
200
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::OrSymbol,
201
+ value:
202
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Value::Variants
203
+ }
204
+ )
205
+ end
206
+ def to_hash
207
+ end
208
+
209
+ # Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`,
210
+ # `nin`.
211
+ #
212
+ # - `eq`: equals
213
+ # - `ne`: not equal
214
+ # - `gt`: greater than
215
+ # - `gte`: greater than or equal
216
+ # - `lt`: less than
217
+ # - `lte`: less than or equal
218
+ # - `in`: in
219
+ # - `nin`: not in
220
+ module Type
221
+ extend OpenAI::Internal::Type::Enum
222
+
223
+ TaggedSymbol =
224
+ T.type_alias do
225
+ T.all(
226
+ Symbol,
227
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type
228
+ )
229
+ end
230
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
231
+
232
+ EQ =
233
+ T.let(
234
+ :eq,
235
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::TaggedSymbol
236
+ )
237
+ NE =
238
+ T.let(
239
+ :ne,
240
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::TaggedSymbol
241
+ )
242
+ GT =
243
+ T.let(
244
+ :gt,
245
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::TaggedSymbol
246
+ )
247
+ GTE =
248
+ T.let(
249
+ :gte,
250
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::TaggedSymbol
251
+ )
252
+ LT =
253
+ T.let(
254
+ :lt,
255
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::TaggedSymbol
256
+ )
257
+ LTE =
258
+ T.let(
259
+ :lte,
260
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::TaggedSymbol
261
+ )
262
+ IN =
263
+ T.let(
264
+ :in,
265
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::TaggedSymbol
266
+ )
267
+ NIN =
268
+ T.let(
269
+ :nin,
270
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::TaggedSymbol
271
+ )
272
+
273
+ sig do
274
+ override.returns(
275
+ T::Array[
276
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Type::TaggedSymbol
277
+ ]
278
+ )
279
+ end
280
+ def self.values
281
+ end
282
+ end
283
+
284
+ # The value to compare against the attribute key; supports string, number, or
285
+ # boolean types.
286
+ module Value
287
+ extend OpenAI::Internal::Type::Union
288
+
289
+ Variants =
290
+ T.type_alias do
291
+ T.any(
292
+ String,
293
+ Float,
294
+ T::Boolean,
295
+ T::Array[
296
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Value::UnionMember3::Variants
297
+ ]
298
+ )
299
+ end
300
+
301
+ module UnionMember3
302
+ extend OpenAI::Internal::Type::Union
303
+
304
+ Variants = T.type_alias { T.any(String, Float) }
305
+
306
+ sig do
307
+ override.returns(
308
+ T::Array[
309
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Value::UnionMember3::Variants
310
+ ]
311
+ )
312
+ end
313
+ def self.variants
314
+ end
315
+ end
316
+
317
+ sig do
318
+ override.returns(
319
+ T::Array[
320
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Value::Variants
321
+ ]
322
+ )
323
+ end
324
+ def self.variants
325
+ end
326
+
327
+ UnionMember3Array =
328
+ T.let(
329
+ OpenAI::Internal::Type::ArrayOf[
330
+ union:
331
+ OpenAI::Beta::BetaFileSearchTool::Filters::ComparisonFilter::Value::UnionMember3
332
+ ],
333
+ OpenAI::Internal::Type::Converter
334
+ )
335
+ end
336
+ end
337
+
338
+ class CompoundFilter < OpenAI::Internal::Type::BaseModel
339
+ OrHash =
340
+ T.type_alias do
341
+ T.any(
342
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter,
343
+ OpenAI::Internal::AnyHash
344
+ )
345
+ end
346
+
347
+ # Array of filters to combine. Items can be `ComparisonFilter` or
348
+ # `CompoundFilter`.
349
+ sig do
350
+ returns(
351
+ T::Array[
352
+ T.any(
353
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter,
354
+ T.anything
355
+ )
356
+ ]
357
+ )
358
+ end
359
+ attr_accessor :filters
360
+
361
+ # Type of operation: `and` or `or`.
362
+ sig do
363
+ returns(
364
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Type::OrSymbol
365
+ )
366
+ end
367
+ attr_accessor :type
368
+
369
+ # Combine multiple filters using `and` or `or`.
370
+ sig do
371
+ params(
372
+ filters:
373
+ T::Array[
374
+ T.any(
375
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::OrHash,
376
+ T.anything
377
+ )
378
+ ],
379
+ type:
380
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Type::OrSymbol
381
+ ).returns(T.attached_class)
382
+ end
383
+ def self.new(
384
+ # Array of filters to combine. Items can be `ComparisonFilter` or
385
+ # `CompoundFilter`.
386
+ filters:,
387
+ # Type of operation: `and` or `or`.
388
+ type:
389
+ )
390
+ end
391
+
392
+ sig do
393
+ override.returns(
394
+ {
395
+ filters:
396
+ T::Array[
397
+ T.any(
398
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter,
399
+ T.anything
400
+ )
401
+ ],
402
+ type:
403
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Type::OrSymbol
404
+ }
405
+ )
406
+ end
407
+ def to_hash
408
+ end
409
+
410
+ # A filter used to compare a specified attribute key to a given value using a
411
+ # defined comparison operation.
412
+ module Filter
413
+ extend OpenAI::Internal::Type::Union
414
+
415
+ Variants =
416
+ T.type_alias do
417
+ T.any(
418
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter,
419
+ T.anything
420
+ )
421
+ end
422
+
423
+ class ComparisonFilter < OpenAI::Internal::Type::BaseModel
424
+ OrHash =
425
+ T.type_alias do
426
+ T.any(
427
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter,
428
+ OpenAI::Internal::AnyHash
429
+ )
430
+ end
431
+
432
+ # The key to compare against the value.
433
+ sig { returns(String) }
434
+ attr_accessor :key
435
+
436
+ # Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`,
437
+ # `nin`.
438
+ #
439
+ # - `eq`: equals
440
+ # - `ne`: not equal
441
+ # - `gt`: greater than
442
+ # - `gte`: greater than or equal
443
+ # - `lt`: less than
444
+ # - `lte`: less than or equal
445
+ # - `in`: in
446
+ # - `nin`: not in
447
+ sig do
448
+ returns(
449
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::OrSymbol
450
+ )
451
+ end
452
+ attr_accessor :type
453
+
454
+ # The value to compare against the attribute key; supports string, number, or
455
+ # boolean types.
456
+ sig do
457
+ returns(
458
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Value::Variants
459
+ )
460
+ end
461
+ attr_accessor :value
462
+
463
+ # A filter used to compare a specified attribute key to a given value using a
464
+ # defined comparison operation.
465
+ sig do
466
+ params(
467
+ key: String,
468
+ type:
469
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::OrSymbol,
470
+ value:
471
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Value::Variants
472
+ ).returns(T.attached_class)
473
+ end
474
+ def self.new(
475
+ # The key to compare against the value.
476
+ key:,
477
+ # Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`,
478
+ # `nin`.
479
+ #
480
+ # - `eq`: equals
481
+ # - `ne`: not equal
482
+ # - `gt`: greater than
483
+ # - `gte`: greater than or equal
484
+ # - `lt`: less than
485
+ # - `lte`: less than or equal
486
+ # - `in`: in
487
+ # - `nin`: not in
488
+ type:,
489
+ # The value to compare against the attribute key; supports string, number, or
490
+ # boolean types.
491
+ value:
492
+ )
493
+ end
494
+
495
+ sig do
496
+ override.returns(
497
+ {
498
+ key: String,
499
+ type:
500
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::OrSymbol,
501
+ value:
502
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Value::Variants
503
+ }
504
+ )
505
+ end
506
+ def to_hash
507
+ end
508
+
509
+ # Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`,
510
+ # `nin`.
511
+ #
512
+ # - `eq`: equals
513
+ # - `ne`: not equal
514
+ # - `gt`: greater than
515
+ # - `gte`: greater than or equal
516
+ # - `lt`: less than
517
+ # - `lte`: less than or equal
518
+ # - `in`: in
519
+ # - `nin`: not in
520
+ module Type
521
+ extend OpenAI::Internal::Type::Enum
522
+
523
+ TaggedSymbol =
524
+ T.type_alias do
525
+ T.all(
526
+ Symbol,
527
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type
528
+ )
529
+ end
530
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
531
+
532
+ EQ =
533
+ T.let(
534
+ :eq,
535
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::TaggedSymbol
536
+ )
537
+ NE =
538
+ T.let(
539
+ :ne,
540
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::TaggedSymbol
541
+ )
542
+ GT =
543
+ T.let(
544
+ :gt,
545
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::TaggedSymbol
546
+ )
547
+ GTE =
548
+ T.let(
549
+ :gte,
550
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::TaggedSymbol
551
+ )
552
+ LT =
553
+ T.let(
554
+ :lt,
555
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::TaggedSymbol
556
+ )
557
+ LTE =
558
+ T.let(
559
+ :lte,
560
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::TaggedSymbol
561
+ )
562
+ IN =
563
+ T.let(
564
+ :in,
565
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::TaggedSymbol
566
+ )
567
+ NIN =
568
+ T.let(
569
+ :nin,
570
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::TaggedSymbol
571
+ )
572
+
573
+ sig do
574
+ override.returns(
575
+ T::Array[
576
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Type::TaggedSymbol
577
+ ]
578
+ )
579
+ end
580
+ def self.values
581
+ end
582
+ end
583
+
584
+ # The value to compare against the attribute key; supports string, number, or
585
+ # boolean types.
586
+ module Value
587
+ extend OpenAI::Internal::Type::Union
588
+
589
+ Variants =
590
+ T.type_alias do
591
+ T.any(
592
+ String,
593
+ Float,
594
+ T::Boolean,
595
+ T::Array[
596
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Value::UnionMember3::Variants
597
+ ]
598
+ )
599
+ end
600
+
601
+ module UnionMember3
602
+ extend OpenAI::Internal::Type::Union
603
+
604
+ Variants = T.type_alias { T.any(String, Float) }
605
+
606
+ sig do
607
+ override.returns(
608
+ T::Array[
609
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Value::UnionMember3::Variants
610
+ ]
611
+ )
612
+ end
613
+ def self.variants
614
+ end
615
+ end
616
+
617
+ sig do
618
+ override.returns(
619
+ T::Array[
620
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Value::Variants
621
+ ]
622
+ )
623
+ end
624
+ def self.variants
625
+ end
626
+
627
+ UnionMember3Array =
628
+ T.let(
629
+ OpenAI::Internal::Type::ArrayOf[
630
+ union:
631
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::ComparisonFilter::Value::UnionMember3
632
+ ],
633
+ OpenAI::Internal::Type::Converter
634
+ )
635
+ end
636
+ end
637
+
638
+ sig do
639
+ override.returns(
640
+ T::Array[
641
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Filter::Variants
642
+ ]
643
+ )
644
+ end
645
+ def self.variants
646
+ end
647
+ end
648
+
649
+ # Type of operation: `and` or `or`.
650
+ module Type
651
+ extend OpenAI::Internal::Type::Enum
652
+
653
+ TaggedSymbol =
654
+ T.type_alias do
655
+ T.all(
656
+ Symbol,
657
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Type
658
+ )
659
+ end
660
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
661
+
662
+ AND =
663
+ T.let(
664
+ :and,
665
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Type::TaggedSymbol
666
+ )
667
+ OR =
668
+ T.let(
669
+ :or,
670
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Type::TaggedSymbol
671
+ )
672
+
673
+ sig do
674
+ override.returns(
675
+ T::Array[
676
+ OpenAI::Beta::BetaFileSearchTool::Filters::CompoundFilter::Type::TaggedSymbol
677
+ ]
678
+ )
679
+ end
680
+ def self.values
681
+ end
682
+ end
683
+ end
684
+
685
+ sig do
686
+ override.returns(
687
+ T::Array[OpenAI::Beta::BetaFileSearchTool::Filters::Variants]
688
+ )
689
+ end
690
+ def self.variants
691
+ end
692
+ end
693
+
694
+ class RankingOptions < OpenAI::Internal::Type::BaseModel
695
+ OrHash =
696
+ T.type_alias do
697
+ T.any(
698
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions,
699
+ OpenAI::Internal::AnyHash
700
+ )
701
+ end
702
+
703
+ # Weights that control how reciprocal rank fusion balances semantic embedding
704
+ # matches versus sparse keyword matches when hybrid search is enabled.
705
+ sig do
706
+ returns(
707
+ T.nilable(
708
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::HybridSearch
709
+ )
710
+ )
711
+ end
712
+ attr_reader :hybrid_search
713
+
714
+ sig do
715
+ params(
716
+ hybrid_search:
717
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::HybridSearch::OrHash
718
+ ).void
719
+ end
720
+ attr_writer :hybrid_search
721
+
722
+ # The ranker to use for the file search.
723
+ sig do
724
+ returns(
725
+ T.nilable(
726
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::Ranker::OrSymbol
727
+ )
728
+ )
729
+ end
730
+ attr_reader :ranker
731
+
732
+ sig do
733
+ params(
734
+ ranker:
735
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::Ranker::OrSymbol
736
+ ).void
737
+ end
738
+ attr_writer :ranker
739
+
740
+ # The score threshold for the file search, a number between 0 and 1. Numbers
741
+ # closer to 1 will attempt to return only the most relevant results, but may
742
+ # return fewer results.
743
+ sig { returns(T.nilable(Float)) }
744
+ attr_reader :score_threshold
745
+
746
+ sig { params(score_threshold: Float).void }
747
+ attr_writer :score_threshold
748
+
749
+ # Ranking options for search.
750
+ sig do
751
+ params(
752
+ hybrid_search:
753
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::HybridSearch::OrHash,
754
+ ranker:
755
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::Ranker::OrSymbol,
756
+ score_threshold: Float
757
+ ).returns(T.attached_class)
758
+ end
759
+ def self.new(
760
+ # Weights that control how reciprocal rank fusion balances semantic embedding
761
+ # matches versus sparse keyword matches when hybrid search is enabled.
762
+ hybrid_search: nil,
763
+ # The ranker to use for the file search.
764
+ ranker: nil,
765
+ # The score threshold for the file search, a number between 0 and 1. Numbers
766
+ # closer to 1 will attempt to return only the most relevant results, but may
767
+ # return fewer results.
768
+ score_threshold: nil
769
+ )
770
+ end
771
+
772
+ sig do
773
+ override.returns(
774
+ {
775
+ hybrid_search:
776
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::HybridSearch,
777
+ ranker:
778
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::Ranker::OrSymbol,
779
+ score_threshold: Float
780
+ }
781
+ )
782
+ end
783
+ def to_hash
784
+ end
785
+
786
+ class HybridSearch < OpenAI::Internal::Type::BaseModel
787
+ OrHash =
788
+ T.type_alias do
789
+ T.any(
790
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::HybridSearch,
791
+ OpenAI::Internal::AnyHash
792
+ )
793
+ end
794
+
795
+ # The weight of the embedding in the reciprocal ranking fusion.
796
+ sig { returns(Float) }
797
+ attr_accessor :embedding_weight
798
+
799
+ # The weight of the text in the reciprocal ranking fusion.
800
+ sig { returns(Float) }
801
+ attr_accessor :text_weight
802
+
803
+ # Weights that control how reciprocal rank fusion balances semantic embedding
804
+ # matches versus sparse keyword matches when hybrid search is enabled.
805
+ sig do
806
+ params(embedding_weight: Float, text_weight: Float).returns(
807
+ T.attached_class
808
+ )
809
+ end
810
+ def self.new(
811
+ # The weight of the embedding in the reciprocal ranking fusion.
812
+ embedding_weight:,
813
+ # The weight of the text in the reciprocal ranking fusion.
814
+ text_weight:
815
+ )
816
+ end
817
+
818
+ sig do
819
+ override.returns({ embedding_weight: Float, text_weight: Float })
820
+ end
821
+ def to_hash
822
+ end
823
+ end
824
+
825
+ # The ranker to use for the file search.
826
+ module Ranker
827
+ extend OpenAI::Internal::Type::Enum
828
+
829
+ TaggedSymbol =
830
+ T.type_alias do
831
+ T.all(
832
+ Symbol,
833
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::Ranker
834
+ )
835
+ end
836
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
837
+
838
+ AUTO =
839
+ T.let(
840
+ :auto,
841
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::Ranker::TaggedSymbol
842
+ )
843
+ DEFAULT_2024_11_15 =
844
+ T.let(
845
+ :"default-2024-11-15",
846
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::Ranker::TaggedSymbol
847
+ )
848
+
849
+ sig do
850
+ override.returns(
851
+ T::Array[
852
+ OpenAI::Beta::BetaFileSearchTool::RankingOptions::Ranker::TaggedSymbol
853
+ ]
854
+ )
855
+ end
856
+ def self.values
857
+ end
858
+ end
859
+ end
860
+ end
861
+ end
862
+ end
863
+ end