openai 0.51.0 → 0.53.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 (554) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +14 -0
  5. data/lib/openai/internal/conversation_cursor_page.rb +2 -2
  6. data/lib/openai/internal/type/enum.rb +6 -6
  7. data/lib/openai/internal/util.rb +31 -0
  8. data/lib/openai/models/batch_cancel_params.rb +7 -1
  9. data/lib/openai/models/batch_retrieve_params.rb +7 -1
  10. data/lib/openai/models/beta/assistant_create_params.rb +3 -2
  11. data/lib/openai/models/beta/assistant_delete_params.rb +7 -1
  12. data/lib/openai/models/beta/assistant_retrieve_params.rb +7 -1
  13. data/lib/openai/models/beta/assistant_update_params.rb +8 -1
  14. data/lib/openai/models/beta/chatkit/session_cancel_params.rb +7 -1
  15. data/lib/openai/models/beta/chatkit/thread_delete_params.rb +7 -1
  16. data/lib/openai/models/beta/chatkit/thread_list_items_params.rb +8 -1
  17. data/lib/openai/models/beta/chatkit/thread_retrieve_params.rb +7 -1
  18. data/lib/openai/models/beta/thread_create_and_run_params.rb +3 -2
  19. data/lib/openai/models/beta/thread_create_params.rb +3 -2
  20. data/lib/openai/models/beta/thread_delete_params.rb +7 -1
  21. data/lib/openai/models/beta/thread_retrieve_params.rb +7 -1
  22. data/lib/openai/models/beta/thread_update_params.rb +8 -1
  23. data/lib/openai/models/beta/threads/message_create_params.rb +8 -1
  24. data/lib/openai/models/beta/threads/message_delete_params.rb +7 -1
  25. data/lib/openai/models/beta/threads/message_list_params.rb +8 -1
  26. data/lib/openai/models/beta/threads/message_retrieve_params.rb +7 -1
  27. data/lib/openai/models/beta/threads/message_update_params.rb +8 -1
  28. data/lib/openai/models/beta/threads/run_cancel_params.rb +7 -1
  29. data/lib/openai/models/beta/threads/run_create_params.rb +8 -1
  30. data/lib/openai/models/beta/threads/run_list_params.rb +8 -1
  31. data/lib/openai/models/beta/threads/run_retrieve_params.rb +7 -1
  32. data/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb +8 -1
  33. data/lib/openai/models/beta/threads/run_update_params.rb +8 -1
  34. data/lib/openai/models/beta/threads/runs/step_list_params.rb +8 -1
  35. data/lib/openai/models/beta/threads/runs/step_retrieve_params.rb +8 -1
  36. data/lib/openai/models/chat/completion_delete_params.rb +7 -1
  37. data/lib/openai/models/chat/completion_retrieve_params.rb +7 -1
  38. data/lib/openai/models/chat/completion_update_params.rb +8 -1
  39. data/lib/openai/models/chat/completions/message_list_params.rb +8 -1
  40. data/lib/openai/models/chat_model.rb +2 -0
  41. data/lib/openai/models/container_delete_params.rb +7 -1
  42. data/lib/openai/models/container_retrieve_params.rb +7 -1
  43. data/lib/openai/models/containers/file_create_params.rb +8 -1
  44. data/lib/openai/models/containers/file_delete_params.rb +7 -1
  45. data/lib/openai/models/containers/file_list_params.rb +8 -1
  46. data/lib/openai/models/containers/file_retrieve_params.rb +7 -1
  47. data/lib/openai/models/containers/files/content_retrieve_params.rb +7 -1
  48. data/lib/openai/models/conversations/computer_screenshot_content.rb +26 -1
  49. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  50. data/lib/openai/models/conversations/conversation_delete_params.rb +7 -1
  51. data/lib/openai/models/conversations/conversation_item.rb +5 -1
  52. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  53. data/lib/openai/models/conversations/conversation_retrieve_params.rb +7 -1
  54. data/lib/openai/models/conversations/conversation_update_params.rb +8 -1
  55. data/lib/openai/models/conversations/item_create_params.rb +10 -3
  56. data/lib/openai/models/conversations/item_delete_params.rb +7 -1
  57. data/lib/openai/models/conversations/item_list_params.rb +8 -1
  58. data/lib/openai/models/conversations/item_retrieve_params.rb +8 -1
  59. data/lib/openai/models/eval_delete_params.rb +7 -1
  60. data/lib/openai/models/eval_retrieve_params.rb +7 -1
  61. data/lib/openai/models/eval_update_params.rb +8 -1
  62. data/lib/openai/models/evals/run_cancel_params.rb +7 -1
  63. data/lib/openai/models/evals/run_cancel_response.rb +2 -2
  64. data/lib/openai/models/evals/run_create_params.rb +10 -3
  65. data/lib/openai/models/evals/run_create_response.rb +2 -2
  66. data/lib/openai/models/evals/run_delete_params.rb +7 -1
  67. data/lib/openai/models/evals/run_list_params.rb +8 -1
  68. data/lib/openai/models/evals/run_list_response.rb +2 -2
  69. data/lib/openai/models/evals/run_retrieve_params.rb +7 -1
  70. data/lib/openai/models/evals/run_retrieve_response.rb +2 -2
  71. data/lib/openai/models/evals/runs/output_item_list_params.rb +8 -1
  72. data/lib/openai/models/evals/runs/output_item_retrieve_params.rb +7 -1
  73. data/lib/openai/models/file_content_params.rb +7 -1
  74. data/lib/openai/models/file_delete_params.rb +7 -1
  75. data/lib/openai/models/file_retrieve_params.rb +7 -1
  76. data/lib/openai/models/fine_tuning/checkpoints/permission_create_params.rb +8 -1
  77. data/lib/openai/models/fine_tuning/checkpoints/permission_delete_params.rb +7 -1
  78. data/lib/openai/models/fine_tuning/checkpoints/permission_list_params.rb +68 -0
  79. data/lib/openai/models/fine_tuning/checkpoints/permission_list_response.rb +48 -0
  80. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rb +8 -1
  81. data/lib/openai/models/fine_tuning/job_cancel_params.rb +7 -1
  82. data/lib/openai/models/fine_tuning/job_list_events_params.rb +8 -1
  83. data/lib/openai/models/fine_tuning/job_pause_params.rb +7 -1
  84. data/lib/openai/models/fine_tuning/job_resume_params.rb +7 -1
  85. data/lib/openai/models/fine_tuning/job_retrieve_params.rb +7 -1
  86. data/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rb +8 -1
  87. data/lib/openai/models/model_delete_params.rb +7 -1
  88. data/lib/openai/models/model_retrieve_params.rb +7 -1
  89. data/lib/openai/models/realtime/call_accept_params.rb +7 -1
  90. data/lib/openai/models/realtime/call_hangup_params.rb +7 -1
  91. data/lib/openai/models/realtime/call_refer_params.rb +8 -1
  92. data/lib/openai/models/realtime/call_reject_params.rb +8 -1
  93. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +9 -1
  94. data/lib/openai/models/realtime/realtime_session_create_response.rb +9 -1
  95. data/lib/openai/models/realtime/realtime_tools_config_union.rb +9 -1
  96. data/lib/openai/models/responses/compacted_response.rb +2 -2
  97. data/lib/openai/models/responses/computer_action.rb +356 -0
  98. data/lib/openai/models/responses/computer_action_list.rb +10 -0
  99. data/lib/openai/models/responses/computer_tool.rb +5 -45
  100. data/lib/openai/models/responses/computer_use_preview_tool.rb +61 -0
  101. data/lib/openai/models/responses/custom_tool.rb +9 -1
  102. data/lib/openai/models/responses/easy_input_message.rb +9 -13
  103. data/lib/openai/models/responses/function_tool.rb +9 -1
  104. data/lib/openai/models/responses/input_item_list_params.rb +8 -1
  105. data/lib/openai/models/responses/input_token_count_params.rb +5 -5
  106. data/lib/openai/models/responses/namespace_tool.rb +93 -0
  107. data/lib/openai/models/responses/response.rb +7 -7
  108. data/lib/openai/models/responses/response_cancel_params.rb +7 -1
  109. data/lib/openai/models/responses/response_compact_params.rb +9 -3
  110. data/lib/openai/models/responses/response_computer_tool_call.rb +74 -65
  111. data/lib/openai/models/responses/response_create_params.rb +5 -5
  112. data/lib/openai/models/responses/response_custom_tool_call.rb +9 -1
  113. data/lib/openai/models/responses/response_delete_params.rb +7 -1
  114. data/lib/openai/models/responses/response_function_tool_call.rb +9 -1
  115. data/lib/openai/models/responses/response_input_file.rb +24 -1
  116. data/lib/openai/models/responses/response_input_file_content.rb +27 -1
  117. data/lib/openai/models/responses/response_input_image.rb +6 -5
  118. data/lib/openai/models/responses/response_input_image_content.rb +6 -5
  119. data/lib/openai/models/responses/response_input_item.rb +87 -1
  120. data/lib/openai/models/responses/response_item.rb +5 -1
  121. data/lib/openai/models/responses/response_item_list.rb +2 -2
  122. data/lib/openai/models/responses/response_output_item.rb +5 -1
  123. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  124. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  125. data/lib/openai/models/responses/response_output_message.rb +9 -13
  126. data/lib/openai/models/responses/response_retrieve_params.rb +8 -1
  127. data/lib/openai/models/responses/response_tool_search_call.rb +93 -0
  128. data/lib/openai/models/responses/response_tool_search_output_item.rb +93 -0
  129. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +89 -0
  130. data/lib/openai/models/responses/responses_client_event.rb +5 -5
  131. data/lib/openai/models/responses/tool.rb +20 -3
  132. data/lib/openai/models/responses/tool_choice_types.rb +6 -0
  133. data/lib/openai/models/responses/tool_search_tool.rb +57 -0
  134. data/lib/openai/models/responses/web_search_preview_tool.rb +19 -1
  135. data/lib/openai/models/skill_delete_params.rb +7 -1
  136. data/lib/openai/models/skill_retrieve_params.rb +7 -1
  137. data/lib/openai/models/skill_update_params.rb +8 -1
  138. data/lib/openai/models/skills/content_retrieve_params.rb +7 -1
  139. data/lib/openai/models/skills/version_create_params.rb +8 -1
  140. data/lib/openai/models/skills/version_delete_params.rb +10 -1
  141. data/lib/openai/models/skills/version_list_params.rb +8 -1
  142. data/lib/openai/models/skills/version_retrieve_params.rb +10 -1
  143. data/lib/openai/models/skills/versions/content_retrieve_params.rb +10 -1
  144. data/lib/openai/models/upload_cancel_params.rb +7 -1
  145. data/lib/openai/models/upload_complete_params.rb +8 -1
  146. data/lib/openai/models/uploads/part_create_params.rb +8 -1
  147. data/lib/openai/models/vector_store_delete_params.rb +7 -1
  148. data/lib/openai/models/vector_store_retrieve_params.rb +7 -1
  149. data/lib/openai/models/vector_store_search_params.rb +8 -1
  150. data/lib/openai/models/vector_store_update_params.rb +8 -1
  151. data/lib/openai/models/vector_stores/file_batch_cancel_params.rb +7 -1
  152. data/lib/openai/models/vector_stores/file_batch_create_params.rb +8 -1
  153. data/lib/openai/models/vector_stores/file_batch_list_files_params.rb +8 -1
  154. data/lib/openai/models/vector_stores/file_batch_retrieve_params.rb +7 -1
  155. data/lib/openai/models/vector_stores/file_content_params.rb +7 -1
  156. data/lib/openai/models/vector_stores/file_create_params.rb +8 -1
  157. data/lib/openai/models/vector_stores/file_delete_params.rb +7 -1
  158. data/lib/openai/models/vector_stores/file_list_params.rb +8 -1
  159. data/lib/openai/models/vector_stores/file_retrieve_params.rb +7 -1
  160. data/lib/openai/models/vector_stores/file_update_params.rb +8 -1
  161. data/lib/openai/models/video.rb +24 -4
  162. data/lib/openai/models/video_create_params.rb +2 -2
  163. data/lib/openai/models/video_delete_params.rb +7 -1
  164. data/lib/openai/models/video_download_content_params.rb +8 -1
  165. data/lib/openai/models/video_remix_params.rb +8 -1
  166. data/lib/openai/models/video_retrieve_params.rb +7 -1
  167. data/lib/openai/resources/audio/speech.rb +1 -0
  168. data/lib/openai/resources/audio/transcriptions.rb +1 -0
  169. data/lib/openai/resources/audio/translations.rb +1 -0
  170. data/lib/openai/resources/audio.rb +3 -0
  171. data/lib/openai/resources/batches.rb +3 -1
  172. data/lib/openai/resources/beta/assistants.rb +3 -1
  173. data/lib/openai/resources/beta/chatkit/threads.rb +4 -2
  174. data/lib/openai/resources/beta/threads/messages.rb +4 -1
  175. data/lib/openai/resources/beta/threads/runs/steps.rb +6 -2
  176. data/lib/openai/resources/beta/threads/runs.rb +11 -5
  177. data/lib/openai/resources/beta/threads.rb +4 -0
  178. data/lib/openai/resources/beta.rb +2 -0
  179. data/lib/openai/resources/chat/completions/messages.rb +4 -1
  180. data/lib/openai/resources/chat/completions.rb +6 -1
  181. data/lib/openai/resources/chat.rb +2 -0
  182. data/lib/openai/resources/completions.rb +2 -0
  183. data/lib/openai/resources/containers/files.rb +2 -1
  184. data/lib/openai/resources/containers.rb +2 -1
  185. data/lib/openai/resources/conversations/items.rb +11 -7
  186. data/lib/openai/resources/conversations.rb +3 -1
  187. data/lib/openai/resources/embeddings.rb +2 -0
  188. data/lib/openai/resources/evals/runs/output_items.rb +3 -1
  189. data/lib/openai/resources/evals/runs.rb +4 -1
  190. data/lib/openai/resources/evals.rb +4 -1
  191. data/lib/openai/resources/files.rb +4 -1
  192. data/lib/openai/resources/fine_tuning/alpha/graders.rb +1 -0
  193. data/lib/openai/resources/fine_tuning/alpha.rb +1 -0
  194. data/lib/openai/resources/fine_tuning/checkpoints/permissions.rb +44 -1
  195. data/lib/openai/resources/fine_tuning/checkpoints.rb +1 -0
  196. data/lib/openai/resources/fine_tuning/jobs/checkpoints.rb +3 -1
  197. data/lib/openai/resources/fine_tuning/jobs.rb +6 -2
  198. data/lib/openai/resources/fine_tuning.rb +1 -0
  199. data/lib/openai/resources/images.rb +1 -0
  200. data/lib/openai/resources/models.rb +1 -0
  201. data/lib/openai/resources/moderations.rb +2 -0
  202. data/lib/openai/resources/responses/input_items.rb +3 -2
  203. data/lib/openai/resources/responses/input_tokens.rb +2 -2
  204. data/lib/openai/resources/responses.rb +9 -7
  205. data/lib/openai/resources/skills/versions.rb +2 -1
  206. data/lib/openai/resources/skills.rb +2 -1
  207. data/lib/openai/resources/uploads/parts.rb +1 -0
  208. data/lib/openai/resources/uploads.rb +2 -0
  209. data/lib/openai/resources/vector_stores/file_batches.rb +2 -1
  210. data/lib/openai/resources/vector_stores/files.rb +2 -1
  211. data/lib/openai/resources/vector_stores.rb +2 -1
  212. data/lib/openai/resources/videos.rb +5 -3
  213. data/lib/openai/version.rb +1 -1
  214. data/lib/openai.rb +10 -0
  215. data/rbi/openai/client.rbi +14 -0
  216. data/rbi/openai/internal/util.rbi +20 -0
  217. data/rbi/openai/models/batch_cancel_params.rbi +13 -5
  218. data/rbi/openai/models/batch_retrieve_params.rbi +13 -5
  219. data/rbi/openai/models/beta/assistant_create_params.rbi +6 -4
  220. data/rbi/openai/models/beta/assistant_delete_params.rbi +13 -5
  221. data/rbi/openai/models/beta/assistant_retrieve_params.rbi +13 -5
  222. data/rbi/openai/models/beta/assistant_update_params.rbi +6 -0
  223. data/rbi/openai/models/beta/chatkit/session_cancel_params.rbi +13 -5
  224. data/rbi/openai/models/beta/chatkit/thread_delete_params.rbi +13 -5
  225. data/rbi/openai/models/beta/chatkit/thread_list_items_params.rbi +6 -0
  226. data/rbi/openai/models/beta/chatkit/thread_retrieve_params.rbi +13 -5
  227. data/rbi/openai/models/beta/thread_create_and_run_params.rbi +6 -4
  228. data/rbi/openai/models/beta/thread_create_params.rbi +6 -4
  229. data/rbi/openai/models/beta/thread_delete_params.rbi +13 -5
  230. data/rbi/openai/models/beta/thread_retrieve_params.rbi +13 -5
  231. data/rbi/openai/models/beta/thread_update_params.rbi +6 -0
  232. data/rbi/openai/models/beta/threads/message_create_params.rbi +6 -0
  233. data/rbi/openai/models/beta/threads/message_delete_params.rbi +10 -2
  234. data/rbi/openai/models/beta/threads/message_list_params.rbi +6 -0
  235. data/rbi/openai/models/beta/threads/message_retrieve_params.rbi +10 -2
  236. data/rbi/openai/models/beta/threads/message_update_params.rbi +6 -0
  237. data/rbi/openai/models/beta/threads/run_cancel_params.rbi +10 -2
  238. data/rbi/openai/models/beta/threads/run_create_params.rbi +6 -0
  239. data/rbi/openai/models/beta/threads/run_list_params.rbi +6 -0
  240. data/rbi/openai/models/beta/threads/run_retrieve_params.rbi +10 -2
  241. data/rbi/openai/models/beta/threads/run_submit_tool_outputs_params.rbi +6 -0
  242. data/rbi/openai/models/beta/threads/run_update_params.rbi +6 -0
  243. data/rbi/openai/models/beta/threads/runs/step_list_params.rbi +6 -0
  244. data/rbi/openai/models/beta/threads/runs/step_retrieve_params.rbi +6 -0
  245. data/rbi/openai/models/chat/completion_delete_params.rbi +13 -5
  246. data/rbi/openai/models/chat/completion_retrieve_params.rbi +13 -5
  247. data/rbi/openai/models/chat/completion_update_params.rbi +6 -0
  248. data/rbi/openai/models/chat/completions/message_list_params.rbi +6 -0
  249. data/rbi/openai/models/chat_model.rbi +3 -0
  250. data/rbi/openai/models/container_delete_params.rbi +13 -5
  251. data/rbi/openai/models/container_retrieve_params.rbi +13 -5
  252. data/rbi/openai/models/containers/file_create_params.rbi +6 -0
  253. data/rbi/openai/models/containers/file_delete_params.rbi +10 -2
  254. data/rbi/openai/models/containers/file_list_params.rbi +6 -0
  255. data/rbi/openai/models/containers/file_retrieve_params.rbi +10 -2
  256. data/rbi/openai/models/containers/files/content_retrieve_params.rbi +10 -2
  257. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +62 -0
  258. data/rbi/openai/models/conversations/conversation_create_params.rbi +6 -0
  259. data/rbi/openai/models/conversations/conversation_delete_params.rbi +13 -5
  260. data/rbi/openai/models/conversations/conversation_item.rbi +2 -0
  261. data/rbi/openai/models/conversations/conversation_item_list.rbi +2 -0
  262. data/rbi/openai/models/conversations/conversation_retrieve_params.rbi +13 -5
  263. data/rbi/openai/models/conversations/conversation_update_params.rbi +6 -0
  264. data/rbi/openai/models/conversations/item_create_params.rbi +12 -0
  265. data/rbi/openai/models/conversations/item_delete_params.rbi +10 -2
  266. data/rbi/openai/models/conversations/item_list_params.rbi +6 -0
  267. data/rbi/openai/models/conversations/item_retrieve_params.rbi +6 -0
  268. data/rbi/openai/models/eval_delete_params.rbi +13 -5
  269. data/rbi/openai/models/eval_retrieve_params.rbi +13 -5
  270. data/rbi/openai/models/eval_update_params.rbi +6 -0
  271. data/rbi/openai/models/evals/run_cancel_params.rbi +10 -2
  272. data/rbi/openai/models/evals/run_cancel_response.rbi +6 -0
  273. data/rbi/openai/models/evals/run_create_params.rbi +18 -0
  274. data/rbi/openai/models/evals/run_create_response.rbi +6 -0
  275. data/rbi/openai/models/evals/run_delete_params.rbi +10 -2
  276. data/rbi/openai/models/evals/run_list_params.rbi +6 -0
  277. data/rbi/openai/models/evals/run_list_response.rbi +6 -0
  278. data/rbi/openai/models/evals/run_retrieve_params.rbi +10 -2
  279. data/rbi/openai/models/evals/run_retrieve_response.rbi +6 -0
  280. data/rbi/openai/models/evals/runs/output_item_list_params.rbi +6 -0
  281. data/rbi/openai/models/evals/runs/output_item_retrieve_params.rbi +6 -1
  282. data/rbi/openai/models/file_content_params.rbi +13 -5
  283. data/rbi/openai/models/file_delete_params.rbi +13 -5
  284. data/rbi/openai/models/file_retrieve_params.rbi +13 -5
  285. data/rbi/openai/models/fine_tuning/checkpoints/permission_create_params.rbi +6 -0
  286. data/rbi/openai/models/fine_tuning/checkpoints/permission_delete_params.rbi +10 -1
  287. data/rbi/openai/models/fine_tuning/checkpoints/permission_list_params.rbi +140 -0
  288. data/rbi/openai/models/fine_tuning/checkpoints/permission_list_response.rbi +70 -0
  289. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rbi +6 -0
  290. data/rbi/openai/models/fine_tuning/job_cancel_params.rbi +16 -5
  291. data/rbi/openai/models/fine_tuning/job_list_events_params.rbi +6 -0
  292. data/rbi/openai/models/fine_tuning/job_pause_params.rbi +16 -5
  293. data/rbi/openai/models/fine_tuning/job_resume_params.rbi +16 -5
  294. data/rbi/openai/models/fine_tuning/job_retrieve_params.rbi +16 -5
  295. data/rbi/openai/models/fine_tuning/jobs/checkpoint_list_params.rbi +6 -0
  296. data/rbi/openai/models/model_delete_params.rbi +13 -5
  297. data/rbi/openai/models/model_retrieve_params.rbi +13 -5
  298. data/rbi/openai/models/realtime/call_accept_params.rbi +13 -5
  299. data/rbi/openai/models/realtime/call_hangup_params.rbi +13 -5
  300. data/rbi/openai/models/realtime/call_refer_params.rbi +10 -1
  301. data/rbi/openai/models/realtime/call_reject_params.rbi +10 -1
  302. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +11 -0
  303. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +11 -0
  304. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +11 -0
  305. data/rbi/openai/models/responses/compacted_response.rbi +2 -0
  306. data/rbi/openai/models/responses/computer_action.rbi +534 -0
  307. data/rbi/openai/models/responses/computer_action_list.rbi +15 -0
  308. data/rbi/openai/models/responses/computer_tool.rbi +5 -87
  309. data/rbi/openai/models/responses/computer_use_preview_tool.rbi +124 -0
  310. data/rbi/openai/models/responses/custom_tool.rbi +11 -0
  311. data/rbi/openai/models/responses/easy_input_message.rbi +12 -18
  312. data/rbi/openai/models/responses/function_tool.rbi +11 -0
  313. data/rbi/openai/models/responses/input_item_list_params.rbi +6 -0
  314. data/rbi/openai/models/responses/input_token_count_params.rbi +9 -0
  315. data/rbi/openai/models/responses/namespace_tool.rbi +163 -0
  316. data/rbi/openai/models/responses/response.rbi +5 -0
  317. data/rbi/openai/models/responses/response_cancel_params.rbi +13 -5
  318. data/rbi/openai/models/responses/response_compact_params.rbi +10 -0
  319. data/rbi/openai/models/responses/response_computer_tool_call.rbi +245 -151
  320. data/rbi/openai/models/responses/response_create_params.rbi +12 -0
  321. data/rbi/openai/models/responses/response_custom_tool_call.rbi +12 -1
  322. data/rbi/openai/models/responses/response_delete_params.rbi +13 -5
  323. data/rbi/openai/models/responses/response_function_tool_call.rbi +11 -0
  324. data/rbi/openai/models/responses/response_input_file.rbi +54 -0
  325. data/rbi/openai/models/responses/response_input_file_content.rbi +59 -0
  326. data/rbi/openai/models/responses/response_input_image.rbi +11 -6
  327. data/rbi/openai/models/responses/response_input_image_content.rbi +11 -6
  328. data/rbi/openai/models/responses/response_input_item.rbi +180 -0
  329. data/rbi/openai/models/responses/response_item.rbi +2 -0
  330. data/rbi/openai/models/responses/response_item_list.rbi +2 -0
  331. data/rbi/openai/models/responses/response_output_item.rbi +2 -0
  332. data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -0
  333. data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -0
  334. data/rbi/openai/models/responses/response_output_message.rbi +12 -18
  335. data/rbi/openai/models/responses/response_retrieve_params.rbi +6 -0
  336. data/rbi/openai/models/responses/response_tool_search_call.rbi +176 -0
  337. data/rbi/openai/models/responses/response_tool_search_output_item.rbi +199 -0
  338. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +245 -0
  339. data/rbi/openai/models/responses/responses_client_event.rbi +12 -0
  340. data/rbi/openai/models/responses/tool.rbi +14 -0
  341. data/rbi/openai/models/responses/tool_choice_types.rbi +16 -0
  342. data/rbi/openai/models/responses/tool_search_tool.rbi +107 -0
  343. data/rbi/openai/models/responses/web_search_preview_tool.rbi +64 -0
  344. data/rbi/openai/models/skill_delete_params.rbi +13 -5
  345. data/rbi/openai/models/skill_retrieve_params.rbi +13 -5
  346. data/rbi/openai/models/skill_update_params.rbi +10 -1
  347. data/rbi/openai/models/skills/content_retrieve_params.rbi +13 -5
  348. data/rbi/openai/models/skills/version_create_params.rbi +6 -0
  349. data/rbi/openai/models/skills/version_delete_params.rbi +16 -2
  350. data/rbi/openai/models/skills/version_list_params.rbi +6 -0
  351. data/rbi/openai/models/skills/version_retrieve_params.rbi +16 -2
  352. data/rbi/openai/models/skills/versions/content_retrieve_params.rbi +16 -2
  353. data/rbi/openai/models/upload_cancel_params.rbi +13 -5
  354. data/rbi/openai/models/upload_complete_params.rbi +6 -0
  355. data/rbi/openai/models/uploads/part_create_params.rbi +6 -0
  356. data/rbi/openai/models/vector_store_delete_params.rbi +13 -5
  357. data/rbi/openai/models/vector_store_retrieve_params.rbi +13 -5
  358. data/rbi/openai/models/vector_store_search_params.rbi +6 -0
  359. data/rbi/openai/models/vector_store_update_params.rbi +6 -0
  360. data/rbi/openai/models/vector_stores/file_batch_cancel_params.rbi +10 -2
  361. data/rbi/openai/models/vector_stores/file_batch_create_params.rbi +6 -0
  362. data/rbi/openai/models/vector_stores/file_batch_list_files_params.rbi +6 -0
  363. data/rbi/openai/models/vector_stores/file_batch_retrieve_params.rbi +10 -2
  364. data/rbi/openai/models/vector_stores/file_content_params.rbi +10 -2
  365. data/rbi/openai/models/vector_stores/file_create_params.rbi +6 -0
  366. data/rbi/openai/models/vector_stores/file_delete_params.rbi +10 -2
  367. data/rbi/openai/models/vector_stores/file_list_params.rbi +6 -0
  368. data/rbi/openai/models/vector_stores/file_retrieve_params.rbi +10 -2
  369. data/rbi/openai/models/vector_stores/file_update_params.rbi +6 -0
  370. data/rbi/openai/models/video.rbi +20 -5
  371. data/rbi/openai/models/video_create_params.rbi +2 -2
  372. data/rbi/openai/models/video_delete_params.rbi +13 -5
  373. data/rbi/openai/models/video_download_content_params.rbi +6 -0
  374. data/rbi/openai/models/video_remix_params.rbi +10 -1
  375. data/rbi/openai/models/video_retrieve_params.rbi +13 -5
  376. data/rbi/openai/resources/audio/speech.rbi +1 -0
  377. data/rbi/openai/resources/audio/transcriptions.rbi +1 -0
  378. data/rbi/openai/resources/audio/translations.rbi +1 -0
  379. data/rbi/openai/resources/audio.rbi +3 -0
  380. data/rbi/openai/resources/batches.rbi +1 -0
  381. data/rbi/openai/resources/beta/assistants.rbi +1 -0
  382. data/rbi/openai/resources/beta/threads/messages.rbi +1 -0
  383. data/rbi/openai/resources/beta/threads/runs/steps.rbi +1 -0
  384. data/rbi/openai/resources/beta/threads/runs.rbi +2 -0
  385. data/rbi/openai/resources/beta/threads.rbi +3 -0
  386. data/rbi/openai/resources/beta.rbi +2 -0
  387. data/rbi/openai/resources/chat/completions/messages.rbi +2 -0
  388. data/rbi/openai/resources/chat/completions.rbi +4 -0
  389. data/rbi/openai/resources/chat.rbi +2 -0
  390. data/rbi/openai/resources/completions.rbi +2 -0
  391. data/rbi/openai/resources/conversations/items.rbi +3 -0
  392. data/rbi/openai/resources/conversations.rbi +4 -0
  393. data/rbi/openai/resources/embeddings.rbi +2 -0
  394. data/rbi/openai/resources/evals/runs/output_items.rbi +1 -0
  395. data/rbi/openai/resources/evals/runs.rbi +2 -0
  396. data/rbi/openai/resources/evals.rbi +2 -0
  397. data/rbi/openai/resources/files.rbi +2 -0
  398. data/rbi/openai/resources/fine_tuning/alpha/graders.rbi +1 -0
  399. data/rbi/openai/resources/fine_tuning/alpha.rbi +1 -0
  400. data/rbi/openai/resources/fine_tuning/checkpoints/permissions.rbi +35 -0
  401. data/rbi/openai/resources/fine_tuning/checkpoints.rbi +1 -0
  402. data/rbi/openai/resources/fine_tuning/jobs/checkpoints.rbi +1 -0
  403. data/rbi/openai/resources/fine_tuning/jobs.rbi +2 -0
  404. data/rbi/openai/resources/fine_tuning.rbi +1 -0
  405. data/rbi/openai/resources/images.rbi +1 -0
  406. data/rbi/openai/resources/models.rbi +1 -0
  407. data/rbi/openai/resources/moderations.rbi +2 -0
  408. data/rbi/openai/resources/responses/input_tokens.rbi +3 -0
  409. data/rbi/openai/resources/responses.rbi +6 -0
  410. data/rbi/openai/resources/uploads/parts.rbi +1 -0
  411. data/rbi/openai/resources/uploads.rbi +2 -0
  412. data/rbi/openai/resources/videos.rbi +1 -1
  413. data/sig/openai/internal/util.rbs +10 -0
  414. data/sig/openai/models/batch_cancel_params.rbs +12 -3
  415. data/sig/openai/models/batch_retrieve_params.rbs +11 -3
  416. data/sig/openai/models/beta/assistant_delete_params.rbs +11 -3
  417. data/sig/openai/models/beta/assistant_retrieve_params.rbs +11 -3
  418. data/sig/openai/models/beta/assistant_update_params.rbs +5 -0
  419. data/sig/openai/models/beta/chatkit/session_cancel_params.rbs +11 -3
  420. data/sig/openai/models/beta/chatkit/thread_delete_params.rbs +11 -3
  421. data/sig/openai/models/beta/chatkit/thread_list_items_params.rbs +5 -0
  422. data/sig/openai/models/beta/chatkit/thread_retrieve_params.rbs +11 -3
  423. data/sig/openai/models/beta/thread_delete_params.rbs +11 -3
  424. data/sig/openai/models/beta/thread_retrieve_params.rbs +11 -3
  425. data/sig/openai/models/beta/thread_update_params.rbs +5 -0
  426. data/sig/openai/models/beta/threads/message_create_params.rbs +5 -0
  427. data/sig/openai/models/beta/threads/message_delete_params.rbs +6 -1
  428. data/sig/openai/models/beta/threads/message_list_params.rbs +5 -0
  429. data/sig/openai/models/beta/threads/message_retrieve_params.rbs +6 -1
  430. data/sig/openai/models/beta/threads/message_update_params.rbs +9 -1
  431. data/sig/openai/models/beta/threads/run_cancel_params.rbs +6 -1
  432. data/sig/openai/models/beta/threads/run_create_params.rbs +5 -0
  433. data/sig/openai/models/beta/threads/run_list_params.rbs +5 -0
  434. data/sig/openai/models/beta/threads/run_retrieve_params.rbs +6 -1
  435. data/sig/openai/models/beta/threads/run_submit_tool_outputs_params.rbs +5 -0
  436. data/sig/openai/models/beta/threads/run_update_params.rbs +9 -1
  437. data/sig/openai/models/beta/threads/runs/step_list_params.rbs +5 -0
  438. data/sig/openai/models/beta/threads/runs/step_retrieve_params.rbs +5 -0
  439. data/sig/openai/models/chat/completion_delete_params.rbs +11 -3
  440. data/sig/openai/models/chat/completion_retrieve_params.rbs +11 -3
  441. data/sig/openai/models/chat/completion_update_params.rbs +5 -1
  442. data/sig/openai/models/chat/completions/message_list_params.rbs +5 -0
  443. data/sig/openai/models/chat_model.rbs +5 -1
  444. data/sig/openai/models/container_delete_params.rbs +11 -3
  445. data/sig/openai/models/container_retrieve_params.rbs +11 -3
  446. data/sig/openai/models/containers/file_create_params.rbs +9 -1
  447. data/sig/openai/models/containers/file_delete_params.rbs +6 -1
  448. data/sig/openai/models/containers/file_list_params.rbs +5 -0
  449. data/sig/openai/models/containers/file_retrieve_params.rbs +6 -1
  450. data/sig/openai/models/containers/files/content_retrieve_params.rbs +6 -1
  451. data/sig/openai/models/conversations/computer_screenshot_content.rbs +23 -1
  452. data/sig/openai/models/conversations/conversation_delete_params.rbs +11 -3
  453. data/sig/openai/models/conversations/conversation_item.rbs +2 -0
  454. data/sig/openai/models/conversations/conversation_retrieve_params.rbs +11 -3
  455. data/sig/openai/models/conversations/conversation_update_params.rbs +5 -1
  456. data/sig/openai/models/conversations/item_create_params.rbs +5 -0
  457. data/sig/openai/models/conversations/item_delete_params.rbs +6 -1
  458. data/sig/openai/models/conversations/item_list_params.rbs +5 -0
  459. data/sig/openai/models/conversations/item_retrieve_params.rbs +5 -0
  460. data/sig/openai/models/eval_delete_params.rbs +12 -3
  461. data/sig/openai/models/eval_retrieve_params.rbs +11 -3
  462. data/sig/openai/models/eval_update_params.rbs +5 -1
  463. data/sig/openai/models/evals/run_cancel_params.rbs +6 -1
  464. data/sig/openai/models/evals/run_create_params.rbs +5 -0
  465. data/sig/openai/models/evals/run_delete_params.rbs +6 -1
  466. data/sig/openai/models/evals/run_list_params.rbs +5 -0
  467. data/sig/openai/models/evals/run_retrieve_params.rbs +6 -1
  468. data/sig/openai/models/evals/runs/output_item_list_params.rbs +5 -0
  469. data/sig/openai/models/evals/runs/output_item_retrieve_params.rbs +5 -1
  470. data/sig/openai/models/file_content_params.rbs +12 -3
  471. data/sig/openai/models/file_delete_params.rbs +12 -3
  472. data/sig/openai/models/file_retrieve_params.rbs +11 -3
  473. data/sig/openai/models/fine_tuning/checkpoints/permission_create_params.rbs +5 -1
  474. data/sig/openai/models/fine_tuning/checkpoints/permission_delete_params.rbs +5 -1
  475. data/sig/openai/models/fine_tuning/checkpoints/permission_list_params.rbs +71 -0
  476. data/sig/openai/models/fine_tuning/checkpoints/permission_list_response.rbs +39 -0
  477. data/sig/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rbs +5 -0
  478. data/sig/openai/models/fine_tuning/job_cancel_params.rbs +13 -3
  479. data/sig/openai/models/fine_tuning/job_list_events_params.rbs +5 -1
  480. data/sig/openai/models/fine_tuning/job_pause_params.rbs +13 -3
  481. data/sig/openai/models/fine_tuning/job_resume_params.rbs +13 -3
  482. data/sig/openai/models/fine_tuning/job_retrieve_params.rbs +12 -3
  483. data/sig/openai/models/fine_tuning/jobs/checkpoint_list_params.rbs +5 -1
  484. data/sig/openai/models/model_delete_params.rbs +9 -3
  485. data/sig/openai/models/model_retrieve_params.rbs +8 -3
  486. data/sig/openai/models/realtime/call_accept_params.rbs +13 -3
  487. data/sig/openai/models/realtime/call_hangup_params.rbs +11 -3
  488. data/sig/openai/models/realtime/call_refer_params.rbs +6 -1
  489. data/sig/openai/models/realtime/call_reject_params.rbs +6 -1
  490. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +7 -0
  491. data/sig/openai/models/realtime/realtime_session_create_response.rbs +7 -0
  492. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +7 -0
  493. data/sig/openai/models/responses/computer_action.rbs +215 -0
  494. data/sig/openai/models/responses/computer_action_list.rbs +10 -0
  495. data/sig/openai/models/responses/computer_tool.rbs +4 -40
  496. data/sig/openai/models/responses/computer_use_preview_tool.rbs +51 -0
  497. data/sig/openai/models/responses/custom_tool.rbs +7 -0
  498. data/sig/openai/models/responses/function_tool.rbs +7 -0
  499. data/sig/openai/models/responses/input_item_list_params.rbs +5 -0
  500. data/sig/openai/models/responses/namespace_tool.rbs +84 -0
  501. data/sig/openai/models/responses/response_cancel_params.rbs +11 -3
  502. data/sig/openai/models/responses/response_compact_params.rbs +5 -1
  503. data/sig/openai/models/responses/response_computer_tool_call.rbs +62 -49
  504. data/sig/openai/models/responses/response_custom_tool_call.rbs +9 -2
  505. data/sig/openai/models/responses/response_delete_params.rbs +11 -3
  506. data/sig/openai/models/responses/response_function_tool_call.rbs +7 -0
  507. data/sig/openai/models/responses/response_input_file.rbs +20 -0
  508. data/sig/openai/models/responses/response_input_file_content.rbs +20 -0
  509. data/sig/openai/models/responses/response_input_image.rbs +2 -1
  510. data/sig/openai/models/responses/response_input_image_content.rbs +2 -1
  511. data/sig/openai/models/responses/response_input_item.rbs +71 -0
  512. data/sig/openai/models/responses/response_item.rbs +2 -0
  513. data/sig/openai/models/responses/response_output_item.rbs +2 -0
  514. data/sig/openai/models/responses/response_retrieve_params.rbs +5 -0
  515. data/sig/openai/models/responses/response_tool_search_call.rbs +77 -0
  516. data/sig/openai/models/responses/response_tool_search_output_item.rbs +77 -0
  517. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +74 -0
  518. data/sig/openai/models/responses/tool.rbs +10 -0
  519. data/sig/openai/models/responses/tool_choice_types.rbs +4 -0
  520. data/sig/openai/models/responses/tool_search_tool.rbs +52 -0
  521. data/sig/openai/models/responses/web_search_preview_tool.rbs +20 -0
  522. data/sig/openai/models/skill_delete_params.rbs +12 -3
  523. data/sig/openai/models/skill_retrieve_params.rbs +11 -3
  524. data/sig/openai/models/skill_update_params.rbs +6 -1
  525. data/sig/openai/models/skills/content_retrieve_params.rbs +11 -3
  526. data/sig/openai/models/skills/version_create_params.rbs +5 -0
  527. data/sig/openai/models/skills/version_delete_params.rbs +6 -1
  528. data/sig/openai/models/skills/version_list_params.rbs +5 -0
  529. data/sig/openai/models/skills/version_retrieve_params.rbs +6 -1
  530. data/sig/openai/models/skills/versions/content_retrieve_params.rbs +6 -1
  531. data/sig/openai/models/upload_cancel_params.rbs +11 -3
  532. data/sig/openai/models/upload_complete_params.rbs +5 -1
  533. data/sig/openai/models/uploads/part_create_params.rbs +5 -1
  534. data/sig/openai/models/vector_store_delete_params.rbs +11 -3
  535. data/sig/openai/models/vector_store_retrieve_params.rbs +11 -3
  536. data/sig/openai/models/vector_store_search_params.rbs +5 -0
  537. data/sig/openai/models/vector_store_update_params.rbs +5 -0
  538. data/sig/openai/models/vector_stores/file_batch_cancel_params.rbs +6 -1
  539. data/sig/openai/models/vector_stores/file_batch_create_params.rbs +5 -0
  540. data/sig/openai/models/vector_stores/file_batch_list_files_params.rbs +5 -0
  541. data/sig/openai/models/vector_stores/file_batch_retrieve_params.rbs +6 -1
  542. data/sig/openai/models/vector_stores/file_content_params.rbs +6 -1
  543. data/sig/openai/models/vector_stores/file_create_params.rbs +5 -0
  544. data/sig/openai/models/vector_stores/file_delete_params.rbs +6 -1
  545. data/sig/openai/models/vector_stores/file_list_params.rbs +5 -0
  546. data/sig/openai/models/vector_stores/file_retrieve_params.rbs +6 -1
  547. data/sig/openai/models/vector_stores/file_update_params.rbs +5 -0
  548. data/sig/openai/models/video.rbs +12 -4
  549. data/sig/openai/models/video_delete_params.rbs +12 -3
  550. data/sig/openai/models/video_download_content_params.rbs +8 -1
  551. data/sig/openai/models/video_remix_params.rbs +6 -1
  552. data/sig/openai/models/video_retrieve_params.rbs +11 -3
  553. data/sig/openai/resources/fine_tuning/checkpoints/permissions.rbs +9 -0
  554. metadata +32 -2
@@ -16,24 +16,6 @@ module OpenAI
16
16
  sig { returns(String) }
17
17
  attr_accessor :id
18
18
 
19
- # A click action.
20
- sig do
21
- returns(
22
- T.any(
23
- OpenAI::Responses::ResponseComputerToolCall::Action::Click,
24
- OpenAI::Responses::ResponseComputerToolCall::Action::DoubleClick,
25
- OpenAI::Responses::ResponseComputerToolCall::Action::Drag,
26
- OpenAI::Responses::ResponseComputerToolCall::Action::Keypress,
27
- OpenAI::Responses::ResponseComputerToolCall::Action::Move,
28
- OpenAI::Responses::ResponseComputerToolCall::Action::Screenshot,
29
- OpenAI::Responses::ResponseComputerToolCall::Action::Scroll,
30
- OpenAI::Responses::ResponseComputerToolCall::Action::Type,
31
- OpenAI::Responses::ResponseComputerToolCall::Action::Wait
32
- )
33
- )
34
- end
35
- attr_accessor :action
36
-
37
19
  # An identifier used when responding to the tool call with output.
38
20
  sig { returns(String) }
39
21
  attr_accessor :call_id
@@ -61,12 +43,28 @@ module OpenAI
61
43
  end
62
44
  attr_accessor :type
63
45
 
64
- # A tool call to a computer use tool. See the
65
- # [computer use guide](https://platform.openai.com/docs/guides/tools-computer-use)
66
- # for more information.
46
+ # A click action.
47
+ sig do
48
+ returns(
49
+ T.nilable(
50
+ T.any(
51
+ OpenAI::Responses::ResponseComputerToolCall::Action::Click,
52
+ OpenAI::Responses::ResponseComputerToolCall::Action::DoubleClick,
53
+ OpenAI::Responses::ResponseComputerToolCall::Action::Drag,
54
+ OpenAI::Responses::ResponseComputerToolCall::Action::Keypress,
55
+ OpenAI::Responses::ResponseComputerToolCall::Action::Move,
56
+ OpenAI::Responses::ResponseComputerToolCall::Action::Screenshot,
57
+ OpenAI::Responses::ResponseComputerToolCall::Action::Scroll,
58
+ OpenAI::Responses::ResponseComputerToolCall::Action::Type,
59
+ OpenAI::Responses::ResponseComputerToolCall::Action::Wait
60
+ )
61
+ )
62
+ )
63
+ end
64
+ attr_reader :action
65
+
67
66
  sig do
68
67
  params(
69
- id: String,
70
68
  action:
71
69
  T.any(
72
70
  OpenAI::Responses::ResponseComputerToolCall::Action::Click::OrHash,
@@ -78,7 +76,60 @@ module OpenAI
78
76
  OpenAI::Responses::ResponseComputerToolCall::Action::Scroll::OrHash,
79
77
  OpenAI::Responses::ResponseComputerToolCall::Action::Type::OrHash,
80
78
  OpenAI::Responses::ResponseComputerToolCall::Action::Wait::OrHash
81
- ),
79
+ )
80
+ ).void
81
+ end
82
+ attr_writer :action
83
+
84
+ # Flattened batched actions for `computer_use`. Each action includes an `type`
85
+ # discriminator and action-specific fields.
86
+ sig do
87
+ returns(
88
+ T.nilable(
89
+ T::Array[
90
+ T.any(
91
+ OpenAI::Responses::ComputerAction::Click,
92
+ OpenAI::Responses::ComputerAction::DoubleClick,
93
+ OpenAI::Responses::ComputerAction::Drag,
94
+ OpenAI::Responses::ComputerAction::Keypress,
95
+ OpenAI::Responses::ComputerAction::Move,
96
+ OpenAI::Responses::ComputerAction::Screenshot,
97
+ OpenAI::Responses::ComputerAction::Scroll,
98
+ OpenAI::Responses::ComputerAction::Type,
99
+ OpenAI::Responses::ComputerAction::Wait
100
+ )
101
+ ]
102
+ )
103
+ )
104
+ end
105
+ attr_reader :actions
106
+
107
+ sig do
108
+ params(
109
+ actions:
110
+ T::Array[
111
+ T.any(
112
+ OpenAI::Responses::ComputerAction::Click::OrHash,
113
+ OpenAI::Responses::ComputerAction::DoubleClick::OrHash,
114
+ OpenAI::Responses::ComputerAction::Drag::OrHash,
115
+ OpenAI::Responses::ComputerAction::Keypress::OrHash,
116
+ OpenAI::Responses::ComputerAction::Move::OrHash,
117
+ OpenAI::Responses::ComputerAction::Screenshot::OrHash,
118
+ OpenAI::Responses::ComputerAction::Scroll::OrHash,
119
+ OpenAI::Responses::ComputerAction::Type::OrHash,
120
+ OpenAI::Responses::ComputerAction::Wait::OrHash
121
+ )
122
+ ]
123
+ ).void
124
+ end
125
+ attr_writer :actions
126
+
127
+ # A tool call to a computer use tool. See the
128
+ # [computer use guide](https://platform.openai.com/docs/guides/tools-computer-use)
129
+ # for more information.
130
+ sig do
131
+ params(
132
+ id: String,
82
133
  call_id: String,
83
134
  pending_safety_checks:
84
135
  T::Array[
@@ -86,14 +137,38 @@ module OpenAI
86
137
  ],
87
138
  status:
88
139
  OpenAI::Responses::ResponseComputerToolCall::Status::OrSymbol,
89
- type: OpenAI::Responses::ResponseComputerToolCall::Type::OrSymbol
140
+ type: OpenAI::Responses::ResponseComputerToolCall::Type::OrSymbol,
141
+ action:
142
+ T.any(
143
+ OpenAI::Responses::ResponseComputerToolCall::Action::Click::OrHash,
144
+ OpenAI::Responses::ResponseComputerToolCall::Action::DoubleClick::OrHash,
145
+ OpenAI::Responses::ResponseComputerToolCall::Action::Drag::OrHash,
146
+ OpenAI::Responses::ResponseComputerToolCall::Action::Keypress::OrHash,
147
+ OpenAI::Responses::ResponseComputerToolCall::Action::Move::OrHash,
148
+ OpenAI::Responses::ResponseComputerToolCall::Action::Screenshot::OrHash,
149
+ OpenAI::Responses::ResponseComputerToolCall::Action::Scroll::OrHash,
150
+ OpenAI::Responses::ResponseComputerToolCall::Action::Type::OrHash,
151
+ OpenAI::Responses::ResponseComputerToolCall::Action::Wait::OrHash
152
+ ),
153
+ actions:
154
+ T::Array[
155
+ T.any(
156
+ OpenAI::Responses::ComputerAction::Click::OrHash,
157
+ OpenAI::Responses::ComputerAction::DoubleClick::OrHash,
158
+ OpenAI::Responses::ComputerAction::Drag::OrHash,
159
+ OpenAI::Responses::ComputerAction::Keypress::OrHash,
160
+ OpenAI::Responses::ComputerAction::Move::OrHash,
161
+ OpenAI::Responses::ComputerAction::Screenshot::OrHash,
162
+ OpenAI::Responses::ComputerAction::Scroll::OrHash,
163
+ OpenAI::Responses::ComputerAction::Type::OrHash,
164
+ OpenAI::Responses::ComputerAction::Wait::OrHash
165
+ )
166
+ ]
90
167
  ).returns(T.attached_class)
91
168
  end
92
169
  def self.new(
93
170
  # The unique ID of the computer call.
94
171
  id:,
95
- # A click action.
96
- action:,
97
172
  # An identifier used when responding to the tool call with output.
98
173
  call_id:,
99
174
  # The pending safety checks for the computer call.
@@ -102,7 +177,12 @@ module OpenAI
102
177
  # Populated when items are returned via API.
103
178
  status:,
104
179
  # The type of the computer call. Always `computer_call`.
105
- type:
180
+ type:,
181
+ # A click action.
182
+ action: nil,
183
+ # Flattened batched actions for `computer_use`. Each action includes an `type`
184
+ # discriminator and action-specific fields.
185
+ actions: nil
106
186
  )
107
187
  end
108
188
 
@@ -110,6 +190,14 @@ module OpenAI
110
190
  override.returns(
111
191
  {
112
192
  id: String,
193
+ call_id: String,
194
+ pending_safety_checks:
195
+ T::Array[
196
+ OpenAI::Responses::ResponseComputerToolCall::PendingSafetyCheck
197
+ ],
198
+ status:
199
+ OpenAI::Responses::ResponseComputerToolCall::Status::OrSymbol,
200
+ type: OpenAI::Responses::ResponseComputerToolCall::Type::OrSymbol,
113
201
  action:
114
202
  T.any(
115
203
  OpenAI::Responses::ResponseComputerToolCall::Action::Click,
@@ -122,20 +210,143 @@ module OpenAI
122
210
  OpenAI::Responses::ResponseComputerToolCall::Action::Type,
123
211
  OpenAI::Responses::ResponseComputerToolCall::Action::Wait
124
212
  ),
125
- call_id: String,
126
- pending_safety_checks:
213
+ actions:
127
214
  T::Array[
128
- OpenAI::Responses::ResponseComputerToolCall::PendingSafetyCheck
129
- ],
130
- status:
131
- OpenAI::Responses::ResponseComputerToolCall::Status::OrSymbol,
132
- type: OpenAI::Responses::ResponseComputerToolCall::Type::OrSymbol
215
+ T.any(
216
+ OpenAI::Responses::ComputerAction::Click,
217
+ OpenAI::Responses::ComputerAction::DoubleClick,
218
+ OpenAI::Responses::ComputerAction::Drag,
219
+ OpenAI::Responses::ComputerAction::Keypress,
220
+ OpenAI::Responses::ComputerAction::Move,
221
+ OpenAI::Responses::ComputerAction::Screenshot,
222
+ OpenAI::Responses::ComputerAction::Scroll,
223
+ OpenAI::Responses::ComputerAction::Type,
224
+ OpenAI::Responses::ComputerAction::Wait
225
+ )
226
+ ]
133
227
  }
134
228
  )
135
229
  end
136
230
  def to_hash
137
231
  end
138
232
 
233
+ class PendingSafetyCheck < OpenAI::Internal::Type::BaseModel
234
+ OrHash =
235
+ T.type_alias do
236
+ T.any(
237
+ OpenAI::Responses::ResponseComputerToolCall::PendingSafetyCheck,
238
+ OpenAI::Internal::AnyHash
239
+ )
240
+ end
241
+
242
+ # The ID of the pending safety check.
243
+ sig { returns(String) }
244
+ attr_accessor :id
245
+
246
+ # The type of the pending safety check.
247
+ sig { returns(T.nilable(String)) }
248
+ attr_accessor :code
249
+
250
+ # Details about the pending safety check.
251
+ sig { returns(T.nilable(String)) }
252
+ attr_accessor :message
253
+
254
+ # A pending safety check for the computer call.
255
+ sig do
256
+ params(
257
+ id: String,
258
+ code: T.nilable(String),
259
+ message: T.nilable(String)
260
+ ).returns(T.attached_class)
261
+ end
262
+ def self.new(
263
+ # The ID of the pending safety check.
264
+ id:,
265
+ # The type of the pending safety check.
266
+ code: nil,
267
+ # Details about the pending safety check.
268
+ message: nil
269
+ )
270
+ end
271
+
272
+ sig do
273
+ override.returns(
274
+ {
275
+ id: String,
276
+ code: T.nilable(String),
277
+ message: T.nilable(String)
278
+ }
279
+ )
280
+ end
281
+ def to_hash
282
+ end
283
+ end
284
+
285
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
286
+ # Populated when items are returned via API.
287
+ module Status
288
+ extend OpenAI::Internal::Type::Enum
289
+
290
+ TaggedSymbol =
291
+ T.type_alias do
292
+ T.all(Symbol, OpenAI::Responses::ResponseComputerToolCall::Status)
293
+ end
294
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
295
+
296
+ IN_PROGRESS =
297
+ T.let(
298
+ :in_progress,
299
+ OpenAI::Responses::ResponseComputerToolCall::Status::TaggedSymbol
300
+ )
301
+ COMPLETED =
302
+ T.let(
303
+ :completed,
304
+ OpenAI::Responses::ResponseComputerToolCall::Status::TaggedSymbol
305
+ )
306
+ INCOMPLETE =
307
+ T.let(
308
+ :incomplete,
309
+ OpenAI::Responses::ResponseComputerToolCall::Status::TaggedSymbol
310
+ )
311
+
312
+ sig do
313
+ override.returns(
314
+ T::Array[
315
+ OpenAI::Responses::ResponseComputerToolCall::Status::TaggedSymbol
316
+ ]
317
+ )
318
+ end
319
+ def self.values
320
+ end
321
+ end
322
+
323
+ # The type of the computer call. Always `computer_call`.
324
+ module Type
325
+ extend OpenAI::Internal::Type::Enum
326
+
327
+ TaggedSymbol =
328
+ T.type_alias do
329
+ T.all(Symbol, OpenAI::Responses::ResponseComputerToolCall::Type)
330
+ end
331
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
332
+
333
+ COMPUTER_CALL =
334
+ T.let(
335
+ :computer_call,
336
+ OpenAI::Responses::ResponseComputerToolCall::Type::TaggedSymbol
337
+ )
338
+
339
+ sig do
340
+ override.returns(
341
+ T::Array[
342
+ OpenAI::Responses::ResponseComputerToolCall::Type::TaggedSymbol
343
+ ]
344
+ )
345
+ end
346
+ def self.values
347
+ end
348
+ end
349
+
139
350
  # A click action.
140
351
  module Action
141
352
  extend OpenAI::Internal::Type::Union
@@ -678,123 +889,6 @@ module OpenAI
678
889
  def self.variants
679
890
  end
680
891
  end
681
-
682
- class PendingSafetyCheck < OpenAI::Internal::Type::BaseModel
683
- OrHash =
684
- T.type_alias do
685
- T.any(
686
- OpenAI::Responses::ResponseComputerToolCall::PendingSafetyCheck,
687
- OpenAI::Internal::AnyHash
688
- )
689
- end
690
-
691
- # The ID of the pending safety check.
692
- sig { returns(String) }
693
- attr_accessor :id
694
-
695
- # The type of the pending safety check.
696
- sig { returns(T.nilable(String)) }
697
- attr_accessor :code
698
-
699
- # Details about the pending safety check.
700
- sig { returns(T.nilable(String)) }
701
- attr_accessor :message
702
-
703
- # A pending safety check for the computer call.
704
- sig do
705
- params(
706
- id: String,
707
- code: T.nilable(String),
708
- message: T.nilable(String)
709
- ).returns(T.attached_class)
710
- end
711
- def self.new(
712
- # The ID of the pending safety check.
713
- id:,
714
- # The type of the pending safety check.
715
- code: nil,
716
- # Details about the pending safety check.
717
- message: nil
718
- )
719
- end
720
-
721
- sig do
722
- override.returns(
723
- {
724
- id: String,
725
- code: T.nilable(String),
726
- message: T.nilable(String)
727
- }
728
- )
729
- end
730
- def to_hash
731
- end
732
- end
733
-
734
- # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
735
- # Populated when items are returned via API.
736
- module Status
737
- extend OpenAI::Internal::Type::Enum
738
-
739
- TaggedSymbol =
740
- T.type_alias do
741
- T.all(Symbol, OpenAI::Responses::ResponseComputerToolCall::Status)
742
- end
743
- OrSymbol = T.type_alias { T.any(Symbol, String) }
744
-
745
- IN_PROGRESS =
746
- T.let(
747
- :in_progress,
748
- OpenAI::Responses::ResponseComputerToolCall::Status::TaggedSymbol
749
- )
750
- COMPLETED =
751
- T.let(
752
- :completed,
753
- OpenAI::Responses::ResponseComputerToolCall::Status::TaggedSymbol
754
- )
755
- INCOMPLETE =
756
- T.let(
757
- :incomplete,
758
- OpenAI::Responses::ResponseComputerToolCall::Status::TaggedSymbol
759
- )
760
-
761
- sig do
762
- override.returns(
763
- T::Array[
764
- OpenAI::Responses::ResponseComputerToolCall::Status::TaggedSymbol
765
- ]
766
- )
767
- end
768
- def self.values
769
- end
770
- end
771
-
772
- # The type of the computer call. Always `computer_call`.
773
- module Type
774
- extend OpenAI::Internal::Type::Enum
775
-
776
- TaggedSymbol =
777
- T.type_alias do
778
- T.all(Symbol, OpenAI::Responses::ResponseComputerToolCall::Type)
779
- end
780
- OrSymbol = T.type_alias { T.any(Symbol, String) }
781
-
782
- COMPUTER_CALL =
783
- T.let(
784
- :computer_call,
785
- OpenAI::Responses::ResponseComputerToolCall::Type::TaggedSymbol
786
- )
787
-
788
- sig do
789
- override.returns(
790
- T::Array[
791
- OpenAI::Responses::ResponseComputerToolCall::Type::TaggedSymbol
792
- ]
793
- )
794
- end
795
- def self.values
796
- end
797
- end
798
892
  end
799
893
  end
800
894
  end
@@ -358,12 +358,15 @@ module OpenAI
358
358
  OpenAI::Responses::FunctionTool,
359
359
  OpenAI::Responses::FileSearchTool,
360
360
  OpenAI::Responses::ComputerTool,
361
+ OpenAI::Responses::ComputerUsePreviewTool,
361
362
  OpenAI::Responses::Tool::Mcp,
362
363
  OpenAI::Responses::Tool::CodeInterpreter,
363
364
  OpenAI::Responses::Tool::ImageGeneration,
364
365
  OpenAI::Responses::Tool::LocalShell,
365
366
  OpenAI::Responses::FunctionShellTool,
366
367
  OpenAI::Responses::CustomTool,
368
+ OpenAI::Responses::NamespaceTool,
369
+ OpenAI::Responses::ToolSearchTool,
367
370
  OpenAI::Responses::ApplyPatchTool,
368
371
  OpenAI::Responses::WebSearchTool,
369
372
  OpenAI::Responses::WebSearchPreviewTool
@@ -382,12 +385,15 @@ module OpenAI
382
385
  OpenAI::Responses::FunctionTool::OrHash,
383
386
  OpenAI::Responses::FileSearchTool::OrHash,
384
387
  OpenAI::Responses::ComputerTool::OrHash,
388
+ OpenAI::Responses::ComputerUsePreviewTool::OrHash,
385
389
  OpenAI::Responses::Tool::Mcp::OrHash,
386
390
  OpenAI::Responses::Tool::CodeInterpreter::OrHash,
387
391
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
388
392
  OpenAI::Responses::Tool::LocalShell::OrHash,
389
393
  OpenAI::Responses::FunctionShellTool::OrHash,
390
394
  OpenAI::Responses::CustomTool::OrHash,
395
+ OpenAI::Responses::NamespaceTool::OrHash,
396
+ OpenAI::Responses::ToolSearchTool::OrHash,
391
397
  OpenAI::Responses::ApplyPatchTool::OrHash,
392
398
  OpenAI::Responses::WebSearchTool::OrHash,
393
399
  OpenAI::Responses::WebSearchPreviewTool::OrHash
@@ -506,12 +512,15 @@ module OpenAI
506
512
  OpenAI::Responses::FunctionTool::OrHash,
507
513
  OpenAI::Responses::FileSearchTool::OrHash,
508
514
  OpenAI::Responses::ComputerTool::OrHash,
515
+ OpenAI::Responses::ComputerUsePreviewTool::OrHash,
509
516
  OpenAI::Responses::Tool::Mcp::OrHash,
510
517
  OpenAI::Responses::Tool::CodeInterpreter::OrHash,
511
518
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
512
519
  OpenAI::Responses::Tool::LocalShell::OrHash,
513
520
  OpenAI::Responses::FunctionShellTool::OrHash,
514
521
  OpenAI::Responses::CustomTool::OrHash,
522
+ OpenAI::Responses::NamespaceTool::OrHash,
523
+ OpenAI::Responses::ToolSearchTool::OrHash,
515
524
  OpenAI::Responses::ApplyPatchTool::OrHash,
516
525
  OpenAI::Responses::WebSearchTool::OrHash,
517
526
  OpenAI::Responses::WebSearchPreviewTool::OrHash
@@ -776,12 +785,15 @@ module OpenAI
776
785
  OpenAI::Responses::FunctionTool,
777
786
  OpenAI::Responses::FileSearchTool,
778
787
  OpenAI::Responses::ComputerTool,
788
+ OpenAI::Responses::ComputerUsePreviewTool,
779
789
  OpenAI::Responses::Tool::Mcp,
780
790
  OpenAI::Responses::Tool::CodeInterpreter,
781
791
  OpenAI::Responses::Tool::ImageGeneration,
782
792
  OpenAI::Responses::Tool::LocalShell,
783
793
  OpenAI::Responses::FunctionShellTool,
784
794
  OpenAI::Responses::CustomTool,
795
+ OpenAI::Responses::NamespaceTool,
796
+ OpenAI::Responses::ToolSearchTool,
785
797
  OpenAI::Responses::ApplyPatchTool,
786
798
  OpenAI::Responses::WebSearchTool,
787
799
  OpenAI::Responses::WebSearchPreviewTool
@@ -35,6 +35,13 @@ module OpenAI
35
35
  sig { params(id: String).void }
36
36
  attr_writer :id
37
37
 
38
+ # The namespace of the custom tool being called.
39
+ sig { returns(T.nilable(String)) }
40
+ attr_reader :namespace
41
+
42
+ sig { params(namespace: String).void }
43
+ attr_writer :namespace
44
+
38
45
  # A call to a custom tool created by the model.
39
46
  sig do
40
47
  params(
@@ -42,6 +49,7 @@ module OpenAI
42
49
  input: String,
43
50
  name: String,
44
51
  id: String,
52
+ namespace: String,
45
53
  type: Symbol
46
54
  ).returns(T.attached_class)
47
55
  end
@@ -54,6 +62,8 @@ module OpenAI
54
62
  name:,
55
63
  # The unique ID of the custom tool call in the OpenAI platform.
56
64
  id: nil,
65
+ # The namespace of the custom tool being called.
66
+ namespace: nil,
57
67
  # The type of the custom tool call. Always `custom_tool_call`.
58
68
  type: :custom_tool_call
59
69
  )
@@ -66,7 +76,8 @@ module OpenAI
66
76
  input: String,
67
77
  name: String,
68
78
  type: Symbol,
69
- id: String
79
+ id: String,
80
+ namespace: String
70
81
  }
71
82
  )
72
83
  end
@@ -15,15 +15,23 @@ module OpenAI
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :response_id
20
+
18
21
  sig do
19
- params(request_options: OpenAI::RequestOptions::OrHash).returns(
20
- T.attached_class
21
- )
22
+ params(
23
+ response_id: String,
24
+ request_options: OpenAI::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
22
26
  end
23
- def self.new(request_options: {})
27
+ def self.new(response_id:, request_options: {})
24
28
  end
25
29
 
26
- sig { override.returns({ request_options: OpenAI::RequestOptions }) }
30
+ sig do
31
+ override.returns(
32
+ { response_id: String, request_options: OpenAI::RequestOptions }
33
+ )
34
+ end
27
35
  def to_hash
28
36
  end
29
37
  end
@@ -39,6 +39,13 @@ module OpenAI
39
39
  sig { params(id: String).void }
40
40
  attr_writer :id
41
41
 
42
+ # The namespace of the function to run.
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :namespace
45
+
46
+ sig { params(namespace: String).void }
47
+ attr_writer :namespace
48
+
42
49
  # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
43
50
  # Populated when items are returned via API.
44
51
  sig do
@@ -67,6 +74,7 @@ module OpenAI
67
74
  call_id: String,
68
75
  name: String,
69
76
  id: String,
77
+ namespace: String,
70
78
  status:
71
79
  OpenAI::Responses::ResponseFunctionToolCall::Status::OrSymbol,
72
80
  type: Symbol
@@ -81,6 +89,8 @@ module OpenAI
81
89
  name:,
82
90
  # The unique ID of the function tool call.
83
91
  id: nil,
92
+ # The namespace of the function to run.
93
+ namespace: nil,
84
94
  # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
85
95
  # Populated when items are returned via API.
86
96
  status: nil,
@@ -97,6 +107,7 @@ module OpenAI
97
107
  name: String,
98
108
  type: Symbol,
99
109
  id: String,
110
+ namespace: String,
100
111
  status:
101
112
  OpenAI::Responses::ResponseFunctionToolCall::Status::OrSymbol
102
113
  }