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
@@ -0,0 +1,124 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ComputerUsePreviewTool < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Responses::ComputerUsePreviewTool,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The height of the computer display.
16
+ sig { returns(Integer) }
17
+ attr_accessor :display_height
18
+
19
+ # The width of the computer display.
20
+ sig { returns(Integer) }
21
+ attr_accessor :display_width
22
+
23
+ # The type of computer environment to control.
24
+ sig do
25
+ returns(
26
+ OpenAI::Responses::ComputerUsePreviewTool::Environment::OrSymbol
27
+ )
28
+ end
29
+ attr_accessor :environment
30
+
31
+ # The type of the computer use tool. Always `computer_use_preview`.
32
+ sig { returns(Symbol) }
33
+ attr_accessor :type
34
+
35
+ # A tool that controls a virtual computer. Learn more about the
36
+ # [computer tool](https://platform.openai.com/docs/guides/tools-computer-use).
37
+ sig do
38
+ params(
39
+ display_height: Integer,
40
+ display_width: Integer,
41
+ environment:
42
+ OpenAI::Responses::ComputerUsePreviewTool::Environment::OrSymbol,
43
+ type: Symbol
44
+ ).returns(T.attached_class)
45
+ end
46
+ def self.new(
47
+ # The height of the computer display.
48
+ display_height:,
49
+ # The width of the computer display.
50
+ display_width:,
51
+ # The type of computer environment to control.
52
+ environment:,
53
+ # The type of the computer use tool. Always `computer_use_preview`.
54
+ type: :computer_use_preview
55
+ )
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ display_height: Integer,
62
+ display_width: Integer,
63
+ environment:
64
+ OpenAI::Responses::ComputerUsePreviewTool::Environment::OrSymbol,
65
+ type: Symbol
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+
72
+ # The type of computer environment to control.
73
+ module Environment
74
+ extend OpenAI::Internal::Type::Enum
75
+
76
+ TaggedSymbol =
77
+ T.type_alias do
78
+ T.all(
79
+ Symbol,
80
+ OpenAI::Responses::ComputerUsePreviewTool::Environment
81
+ )
82
+ end
83
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
84
+
85
+ WINDOWS =
86
+ T.let(
87
+ :windows,
88
+ OpenAI::Responses::ComputerUsePreviewTool::Environment::TaggedSymbol
89
+ )
90
+ MAC =
91
+ T.let(
92
+ :mac,
93
+ OpenAI::Responses::ComputerUsePreviewTool::Environment::TaggedSymbol
94
+ )
95
+ LINUX =
96
+ T.let(
97
+ :linux,
98
+ OpenAI::Responses::ComputerUsePreviewTool::Environment::TaggedSymbol
99
+ )
100
+ UBUNTU =
101
+ T.let(
102
+ :ubuntu,
103
+ OpenAI::Responses::ComputerUsePreviewTool::Environment::TaggedSymbol
104
+ )
105
+ BROWSER =
106
+ T.let(
107
+ :browser,
108
+ OpenAI::Responses::ComputerUsePreviewTool::Environment::TaggedSymbol
109
+ )
110
+
111
+ sig do
112
+ override.returns(
113
+ T::Array[
114
+ OpenAI::Responses::ComputerUsePreviewTool::Environment::TaggedSymbol
115
+ ]
116
+ )
117
+ end
118
+ def self.values
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
@@ -17,6 +17,13 @@ module OpenAI
17
17
  sig { returns(Symbol) }
18
18
  attr_accessor :type
19
19
 
20
+ # Whether this tool should be deferred and discovered via tool search.
21
+ sig { returns(T.nilable(T::Boolean)) }
22
+ attr_reader :defer_loading
23
+
24
+ sig { params(defer_loading: T::Boolean).void }
25
+ attr_writer :defer_loading
26
+
20
27
  # Optional description of the custom tool, used to provide more context.
21
28
  sig { returns(T.nilable(String)) }
22
29
  attr_reader :description
@@ -53,6 +60,7 @@ module OpenAI
53
60
  sig do
54
61
  params(
55
62
  name: String,
63
+ defer_loading: T::Boolean,
56
64
  description: String,
57
65
  format_:
58
66
  T.any(
@@ -65,6 +73,8 @@ module OpenAI
65
73
  def self.new(
66
74
  # The name of the custom tool, used to identify it in tool calls.
67
75
  name:,
76
+ # Whether this tool should be deferred and discovered via tool search.
77
+ defer_loading: nil,
68
78
  # Optional description of the custom tool, used to provide more context.
69
79
  description: nil,
70
80
  # The input format for the custom tool. Default is unconstrained text.
@@ -79,6 +89,7 @@ module OpenAI
79
89
  {
80
90
  name: String,
81
91
  type: Symbol,
92
+ defer_loading: T::Boolean,
82
93
  description: String,
83
94
  format_:
84
95
  T.any(
@@ -22,12 +22,10 @@ module OpenAI
22
22
  sig { returns(OpenAI::Responses::EasyInputMessage::Role::OrSymbol) }
23
23
  attr_accessor :role
24
24
 
25
- # The phase of an assistant message.
26
- #
27
- # Use `commentary` for an intermediate assistant message and `final_answer` for
28
- # the final assistant message. For follow-up requests with models like
29
- # `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
30
- # Omitting it can degrade performance. Not used for user messages.
25
+ # Labels an `assistant` message as intermediate commentary (`commentary`) or the
26
+ # final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
27
+ # sending follow-up requests, preserve and resend phase on all assistant messages
28
+ # dropping it can degrade performance. Not used for user messages.
31
29
  sig do
32
30
  returns(
33
31
  T.nilable(OpenAI::Responses::EasyInputMessage::Phase::OrSymbol)
@@ -69,12 +67,10 @@ module OpenAI
69
67
  # The role of the message input. One of `user`, `assistant`, `system`, or
70
68
  # `developer`.
71
69
  role:,
72
- # The phase of an assistant message.
73
- #
74
- # Use `commentary` for an intermediate assistant message and `final_answer` for
75
- # the final assistant message. For follow-up requests with models like
76
- # `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
77
- # Omitting it can degrade performance. Not used for user messages.
70
+ # Labels an `assistant` message as intermediate commentary (`commentary`) or the
71
+ # final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
72
+ # sending follow-up requests, preserve and resend phase on all assistant messages
73
+ # dropping it can degrade performance. Not used for user messages.
78
74
  phase: nil,
79
75
  # The type of the message input. Always `message`.
80
76
  type: nil
@@ -158,12 +154,10 @@ module OpenAI
158
154
  end
159
155
  end
160
156
 
161
- # The phase of an assistant message.
162
- #
163
- # Use `commentary` for an intermediate assistant message and `final_answer` for
164
- # the final assistant message. For follow-up requests with models like
165
- # `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages.
166
- # Omitting it can degrade performance. Not used for user messages.
157
+ # Labels an `assistant` message as intermediate commentary (`commentary`) or the
158
+ # final answer (`final_answer`). For models like `gpt-5.3-codex` and beyond, when
159
+ # sending follow-up requests, preserve and resend phase on all assistant messages
160
+ # dropping it can degrade performance. Not used for user messages.
167
161
  module Phase
168
162
  extend OpenAI::Internal::Type::Enum
169
163
 
@@ -25,6 +25,13 @@ module OpenAI
25
25
  sig { returns(Symbol) }
26
26
  attr_accessor :type
27
27
 
28
+ # Whether this function is deferred and loaded via tool search.
29
+ sig { returns(T.nilable(T::Boolean)) }
30
+ attr_reader :defer_loading
31
+
32
+ sig { params(defer_loading: T::Boolean).void }
33
+ attr_writer :defer_loading
34
+
28
35
  # A description of the function. Used by the model to determine whether or not to
29
36
  # call the function.
30
37
  sig { returns(T.nilable(String)) }
@@ -38,6 +45,7 @@ module OpenAI
38
45
  name: String,
39
46
  parameters: T.nilable(T::Hash[Symbol, T.anything]),
40
47
  strict: T.nilable(T::Boolean),
48
+ defer_loading: T::Boolean,
41
49
  description: T.nilable(String),
42
50
  type: Symbol
43
51
  ).returns(T.attached_class)
@@ -49,6 +57,8 @@ module OpenAI
49
57
  parameters:,
50
58
  # Whether to enforce strict parameter validation. Default `true`.
51
59
  strict:,
60
+ # Whether this function is deferred and loaded via tool search.
61
+ defer_loading: nil,
52
62
  # A description of the function. Used by the model to determine whether or not to
53
63
  # call the function.
54
64
  description: nil,
@@ -64,6 +74,7 @@ module OpenAI
64
74
  parameters: T.nilable(T::Hash[Symbol, T.anything]),
65
75
  strict: T.nilable(T::Boolean),
66
76
  type: Symbol,
77
+ defer_loading: T::Boolean,
67
78
  description: T.nilable(String)
68
79
  }
69
80
  )
@@ -15,6 +15,9 @@ module OpenAI
15
15
  )
16
16
  end
17
17
 
18
+ sig { returns(String) }
19
+ attr_accessor :response_id
20
+
18
21
  # An item ID to list items after, used in pagination.
19
22
  sig { returns(T.nilable(String)) }
20
23
  attr_reader :after
@@ -66,6 +69,7 @@ module OpenAI
66
69
 
67
70
  sig do
68
71
  params(
72
+ response_id: String,
69
73
  after: String,
70
74
  include: T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
71
75
  limit: Integer,
@@ -74,6 +78,7 @@ module OpenAI
74
78
  ).returns(T.attached_class)
75
79
  end
76
80
  def self.new(
81
+ response_id:,
77
82
  # An item ID to list items after, used in pagination.
78
83
  after: nil,
79
84
  # Additional fields to include in the response. See the `include` parameter for
@@ -94,6 +99,7 @@ module OpenAI
94
99
  sig do
95
100
  override.returns(
96
101
  {
102
+ response_id: String,
97
103
  after: String,
98
104
  include:
99
105
  T::Array[OpenAI::Responses::ResponseIncludable::OrSymbol],
@@ -117,12 +117,15 @@ module OpenAI
117
117
  OpenAI::Responses::FunctionTool,
118
118
  OpenAI::Responses::FileSearchTool,
119
119
  OpenAI::Responses::ComputerTool,
120
+ OpenAI::Responses::ComputerUsePreviewTool,
120
121
  OpenAI::Responses::Tool::Mcp,
121
122
  OpenAI::Responses::Tool::CodeInterpreter,
122
123
  OpenAI::Responses::Tool::ImageGeneration,
123
124
  OpenAI::Responses::Tool::LocalShell,
124
125
  OpenAI::Responses::FunctionShellTool,
125
126
  OpenAI::Responses::CustomTool,
127
+ OpenAI::Responses::NamespaceTool,
128
+ OpenAI::Responses::ToolSearchTool,
126
129
  OpenAI::Responses::ApplyPatchTool,
127
130
  OpenAI::Responses::WebSearchTool,
128
131
  OpenAI::Responses::WebSearchPreviewTool
@@ -195,12 +198,15 @@ module OpenAI
195
198
  OpenAI::Responses::FunctionTool::OrHash,
196
199
  OpenAI::Responses::FileSearchTool::OrHash,
197
200
  OpenAI::Responses::ComputerTool::OrHash,
201
+ OpenAI::Responses::ComputerUsePreviewTool::OrHash,
198
202
  OpenAI::Responses::Tool::Mcp::OrHash,
199
203
  OpenAI::Responses::Tool::CodeInterpreter::OrHash,
200
204
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
201
205
  OpenAI::Responses::Tool::LocalShell::OrHash,
202
206
  OpenAI::Responses::FunctionShellTool::OrHash,
203
207
  OpenAI::Responses::CustomTool::OrHash,
208
+ OpenAI::Responses::NamespaceTool::OrHash,
209
+ OpenAI::Responses::ToolSearchTool::OrHash,
204
210
  OpenAI::Responses::ApplyPatchTool::OrHash,
205
211
  OpenAI::Responses::WebSearchTool::OrHash,
206
212
  OpenAI::Responses::WebSearchPreviewTool::OrHash
@@ -299,12 +305,15 @@ module OpenAI
299
305
  OpenAI::Responses::FunctionTool,
300
306
  OpenAI::Responses::FileSearchTool,
301
307
  OpenAI::Responses::ComputerTool,
308
+ OpenAI::Responses::ComputerUsePreviewTool,
302
309
  OpenAI::Responses::Tool::Mcp,
303
310
  OpenAI::Responses::Tool::CodeInterpreter,
304
311
  OpenAI::Responses::Tool::ImageGeneration,
305
312
  OpenAI::Responses::Tool::LocalShell,
306
313
  OpenAI::Responses::FunctionShellTool,
307
314
  OpenAI::Responses::CustomTool,
315
+ OpenAI::Responses::NamespaceTool,
316
+ OpenAI::Responses::ToolSearchTool,
308
317
  OpenAI::Responses::ApplyPatchTool,
309
318
  OpenAI::Responses::WebSearchTool,
310
319
  OpenAI::Responses::WebSearchPreviewTool
@@ -0,0 +1,163 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class NamespaceTool < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(OpenAI::Responses::NamespaceTool, OpenAI::Internal::AnyHash)
10
+ end
11
+
12
+ # A description of the namespace shown to the model.
13
+ sig { returns(String) }
14
+ attr_accessor :description
15
+
16
+ # The namespace name used in tool calls (for example, `crm`).
17
+ sig { returns(String) }
18
+ attr_accessor :name
19
+
20
+ # The function/custom tools available inside this namespace.
21
+ sig do
22
+ returns(
23
+ T::Array[
24
+ T.any(
25
+ OpenAI::Responses::NamespaceTool::Tool::Function,
26
+ OpenAI::Responses::CustomTool
27
+ )
28
+ ]
29
+ )
30
+ end
31
+ attr_accessor :tools
32
+
33
+ # The type of the tool. Always `namespace`.
34
+ sig { returns(Symbol) }
35
+ attr_accessor :type
36
+
37
+ # Groups function/custom tools under a shared namespace.
38
+ sig do
39
+ params(
40
+ description: String,
41
+ name: String,
42
+ tools:
43
+ T::Array[
44
+ T.any(
45
+ OpenAI::Responses::NamespaceTool::Tool::Function::OrHash,
46
+ OpenAI::Responses::CustomTool::OrHash
47
+ )
48
+ ],
49
+ type: Symbol
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ # A description of the namespace shown to the model.
54
+ description:,
55
+ # The namespace name used in tool calls (for example, `crm`).
56
+ name:,
57
+ # The function/custom tools available inside this namespace.
58
+ tools:,
59
+ # The type of the tool. Always `namespace`.
60
+ type: :namespace
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ description: String,
68
+ name: String,
69
+ tools:
70
+ T::Array[
71
+ T.any(
72
+ OpenAI::Responses::NamespaceTool::Tool::Function,
73
+ OpenAI::Responses::CustomTool
74
+ )
75
+ ],
76
+ type: Symbol
77
+ }
78
+ )
79
+ end
80
+ def to_hash
81
+ end
82
+
83
+ # A function or custom tool that belongs to a namespace.
84
+ module Tool
85
+ extend OpenAI::Internal::Type::Union
86
+
87
+ Variants =
88
+ T.type_alias do
89
+ T.any(
90
+ OpenAI::Responses::NamespaceTool::Tool::Function,
91
+ OpenAI::Responses::CustomTool
92
+ )
93
+ end
94
+
95
+ class Function < OpenAI::Internal::Type::BaseModel
96
+ OrHash =
97
+ T.type_alias do
98
+ T.any(
99
+ OpenAI::Responses::NamespaceTool::Tool::Function,
100
+ OpenAI::Internal::AnyHash
101
+ )
102
+ end
103
+
104
+ sig { returns(String) }
105
+ attr_accessor :name
106
+
107
+ sig { returns(Symbol) }
108
+ attr_accessor :type
109
+
110
+ sig { returns(T.nilable(String)) }
111
+ attr_accessor :description
112
+
113
+ sig { returns(T.nilable(T.anything)) }
114
+ attr_accessor :parameters
115
+
116
+ sig { returns(T.nilable(T::Boolean)) }
117
+ attr_accessor :strict
118
+
119
+ sig do
120
+ params(
121
+ name: String,
122
+ description: T.nilable(String),
123
+ parameters: T.nilable(T.anything),
124
+ strict: T.nilable(T::Boolean),
125
+ type: Symbol
126
+ ).returns(T.attached_class)
127
+ end
128
+ def self.new(
129
+ name:,
130
+ description: nil,
131
+ parameters: nil,
132
+ strict: nil,
133
+ type: :function
134
+ )
135
+ end
136
+
137
+ sig do
138
+ override.returns(
139
+ {
140
+ name: String,
141
+ type: Symbol,
142
+ description: T.nilable(String),
143
+ parameters: T.nilable(T.anything),
144
+ strict: T.nilable(T::Boolean)
145
+ }
146
+ )
147
+ end
148
+ def to_hash
149
+ end
150
+ end
151
+
152
+ sig do
153
+ override.returns(
154
+ T::Array[OpenAI::Responses::NamespaceTool::Tool::Variants]
155
+ )
156
+ end
157
+ def self.variants
158
+ end
159
+ end
160
+ end
161
+ end
162
+ end
163
+ end
@@ -340,6 +340,8 @@ module OpenAI
340
340
  OpenAI::Responses::ResponseFunctionWebSearch::OrHash,
341
341
  OpenAI::Responses::ResponseComputerToolCall::OrHash,
342
342
  OpenAI::Responses::ResponseReasoningItem::OrHash,
343
+ OpenAI::Responses::ResponseToolSearchCall::OrHash,
344
+ OpenAI::Responses::ResponseToolSearchOutputItem::OrHash,
343
345
  OpenAI::Responses::ResponseCompactionItem::OrHash,
344
346
  OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash,
345
347
  OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
@@ -373,12 +375,15 @@ module OpenAI
373
375
  OpenAI::Responses::FunctionTool::OrHash,
374
376
  OpenAI::Responses::FileSearchTool::OrHash,
375
377
  OpenAI::Responses::ComputerTool::OrHash,
378
+ OpenAI::Responses::ComputerUsePreviewTool::OrHash,
376
379
  OpenAI::Responses::Tool::Mcp::OrHash,
377
380
  OpenAI::Responses::Tool::CodeInterpreter::OrHash,
378
381
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
379
382
  OpenAI::Responses::Tool::LocalShell::OrHash,
380
383
  OpenAI::Responses::FunctionShellTool::OrHash,
381
384
  OpenAI::Responses::CustomTool::OrHash,
385
+ OpenAI::Responses::NamespaceTool::OrHash,
386
+ OpenAI::Responses::ToolSearchTool::OrHash,
382
387
  OpenAI::Responses::ApplyPatchTool::OrHash,
383
388
  OpenAI::Responses::WebSearchTool::OrHash,
384
389
  OpenAI::Responses::WebSearchPreviewTool::OrHash
@@ -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
@@ -158,6 +158,16 @@ module OpenAI
158
158
  end
159
159
  OrSymbol = T.type_alias { T.any(Symbol, String) }
160
160
 
161
+ GPT_5_4 =
162
+ T.let(
163
+ :"gpt-5.4",
164
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
165
+ )
166
+ GPT_5_3_CHAT_LATEST =
167
+ T.let(
168
+ :"gpt-5.3-chat-latest",
169
+ OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
170
+ )
161
171
  GPT_5_2 =
162
172
  T.let(
163
173
  :"gpt-5.2",