openai 0.50.0 → 0.52.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 +38 -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_use_tool.rb +21 -0
  100. data/lib/openai/models/responses/custom_tool.rb +9 -1
  101. data/lib/openai/models/responses/easy_input_message.rb +28 -1
  102. data/lib/openai/models/responses/function_tool.rb +9 -1
  103. data/lib/openai/models/responses/input_item_list_params.rb +8 -1
  104. data/lib/openai/models/responses/input_token_count_params.rb +5 -5
  105. data/lib/openai/models/responses/namespace_tool.rb +93 -0
  106. data/lib/openai/models/responses/response.rb +7 -7
  107. data/lib/openai/models/responses/response_cancel_params.rb +7 -1
  108. data/lib/openai/models/responses/response_compact_params.rb +18 -4
  109. data/lib/openai/models/responses/response_computer_tool_call.rb +74 -65
  110. data/lib/openai/models/responses/response_create_params.rb +5 -5
  111. data/lib/openai/models/responses/response_custom_tool_call.rb +9 -1
  112. data/lib/openai/models/responses/response_delete_params.rb +7 -1
  113. data/lib/openai/models/responses/response_function_tool_call.rb +9 -1
  114. data/lib/openai/models/responses/response_input_file.rb +24 -1
  115. data/lib/openai/models/responses/response_input_file_content.rb +27 -1
  116. data/lib/openai/models/responses/response_input_image.rb +6 -5
  117. data/lib/openai/models/responses/response_input_image_content.rb +6 -5
  118. data/lib/openai/models/responses/response_input_item.rb +87 -1
  119. data/lib/openai/models/responses/response_item.rb +5 -1
  120. data/lib/openai/models/responses/response_item_list.rb +2 -2
  121. data/lib/openai/models/responses/response_output_item.rb +5 -1
  122. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  123. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  124. data/lib/openai/models/responses/response_output_message.rb +28 -1
  125. data/lib/openai/models/responses/response_retrieve_params.rb +8 -1
  126. data/lib/openai/models/responses/response_tool_search_call.rb +93 -0
  127. data/lib/openai/models/responses/response_tool_search_output_item.rb +93 -0
  128. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +89 -0
  129. data/lib/openai/models/responses/responses_client_event.rb +5 -5
  130. data/lib/openai/models/responses/tool.rb +19 -2
  131. data/lib/openai/models/responses/tool_choice_types.rb +6 -0
  132. data/lib/openai/models/responses/tool_search_tool.rb +57 -0
  133. data/lib/openai/models/responses/web_search_preview_tool.rb +19 -1
  134. data/lib/openai/models/skill_delete_params.rb +7 -1
  135. data/lib/openai/models/skill_retrieve_params.rb +7 -1
  136. data/lib/openai/models/skill_update_params.rb +8 -1
  137. data/lib/openai/models/skills/content_retrieve_params.rb +7 -1
  138. data/lib/openai/models/skills/version_create_params.rb +8 -1
  139. data/lib/openai/models/skills/version_delete_params.rb +10 -1
  140. data/lib/openai/models/skills/version_list_params.rb +8 -1
  141. data/lib/openai/models/skills/version_retrieve_params.rb +10 -1
  142. data/lib/openai/models/skills/versions/content_retrieve_params.rb +10 -1
  143. data/lib/openai/models/upload_cancel_params.rb +7 -1
  144. data/lib/openai/models/upload_complete_params.rb +8 -1
  145. data/lib/openai/models/uploads/part_create_params.rb +8 -1
  146. data/lib/openai/models/vector_store_delete_params.rb +7 -1
  147. data/lib/openai/models/vector_store_retrieve_params.rb +7 -1
  148. data/lib/openai/models/vector_store_search_params.rb +8 -1
  149. data/lib/openai/models/vector_store_update_params.rb +8 -1
  150. data/lib/openai/models/vector_stores/file_batch_cancel_params.rb +7 -1
  151. data/lib/openai/models/vector_stores/file_batch_create_params.rb +8 -1
  152. data/lib/openai/models/vector_stores/file_batch_list_files_params.rb +8 -1
  153. data/lib/openai/models/vector_stores/file_batch_retrieve_params.rb +7 -1
  154. data/lib/openai/models/vector_stores/file_content_params.rb +7 -1
  155. data/lib/openai/models/vector_stores/file_create_params.rb +8 -1
  156. data/lib/openai/models/vector_stores/file_delete_params.rb +7 -1
  157. data/lib/openai/models/vector_stores/file_list_params.rb +8 -1
  158. data/lib/openai/models/vector_stores/file_retrieve_params.rb +7 -1
  159. data/lib/openai/models/vector_stores/file_update_params.rb +8 -1
  160. data/lib/openai/models/video.rb +24 -4
  161. data/lib/openai/models/video_create_params.rb +2 -2
  162. data/lib/openai/models/video_delete_params.rb +7 -1
  163. data/lib/openai/models/video_download_content_params.rb +8 -1
  164. data/lib/openai/models/video_remix_params.rb +8 -1
  165. data/lib/openai/models/video_retrieve_params.rb +7 -1
  166. data/lib/openai/resources/audio/speech.rb +1 -0
  167. data/lib/openai/resources/audio/transcriptions.rb +1 -0
  168. data/lib/openai/resources/audio/translations.rb +1 -0
  169. data/lib/openai/resources/audio.rb +3 -0
  170. data/lib/openai/resources/batches.rb +3 -1
  171. data/lib/openai/resources/beta/assistants.rb +3 -1
  172. data/lib/openai/resources/beta/chatkit/threads.rb +4 -2
  173. data/lib/openai/resources/beta/threads/messages.rb +4 -1
  174. data/lib/openai/resources/beta/threads/runs/steps.rb +6 -2
  175. data/lib/openai/resources/beta/threads/runs.rb +11 -5
  176. data/lib/openai/resources/beta/threads.rb +4 -0
  177. data/lib/openai/resources/beta.rb +2 -0
  178. data/lib/openai/resources/chat/completions/messages.rb +4 -1
  179. data/lib/openai/resources/chat/completions.rb +6 -1
  180. data/lib/openai/resources/chat.rb +2 -0
  181. data/lib/openai/resources/completions.rb +2 -0
  182. data/lib/openai/resources/containers/files.rb +2 -1
  183. data/lib/openai/resources/containers.rb +2 -1
  184. data/lib/openai/resources/conversations/items.rb +11 -7
  185. data/lib/openai/resources/conversations.rb +3 -1
  186. data/lib/openai/resources/embeddings.rb +2 -0
  187. data/lib/openai/resources/evals/runs/output_items.rb +3 -1
  188. data/lib/openai/resources/evals/runs.rb +4 -1
  189. data/lib/openai/resources/evals.rb +4 -1
  190. data/lib/openai/resources/files.rb +4 -1
  191. data/lib/openai/resources/fine_tuning/alpha/graders.rb +1 -0
  192. data/lib/openai/resources/fine_tuning/alpha.rb +1 -0
  193. data/lib/openai/resources/fine_tuning/checkpoints/permissions.rb +44 -1
  194. data/lib/openai/resources/fine_tuning/checkpoints.rb +1 -0
  195. data/lib/openai/resources/fine_tuning/jobs/checkpoints.rb +3 -1
  196. data/lib/openai/resources/fine_tuning/jobs.rb +6 -2
  197. data/lib/openai/resources/fine_tuning.rb +1 -0
  198. data/lib/openai/resources/images.rb +1 -0
  199. data/lib/openai/resources/models.rb +1 -0
  200. data/lib/openai/resources/moderations.rb +2 -0
  201. data/lib/openai/resources/responses/input_items.rb +3 -2
  202. data/lib/openai/resources/responses/input_tokens.rb +2 -2
  203. data/lib/openai/resources/responses.rb +12 -8
  204. data/lib/openai/resources/skills/versions.rb +2 -1
  205. data/lib/openai/resources/skills.rb +2 -1
  206. data/lib/openai/resources/uploads/parts.rb +1 -0
  207. data/lib/openai/resources/uploads.rb +2 -0
  208. data/lib/openai/resources/vector_stores/file_batches.rb +2 -1
  209. data/lib/openai/resources/vector_stores/files.rb +2 -1
  210. data/lib/openai/resources/vector_stores.rb +2 -1
  211. data/lib/openai/resources/videos.rb +5 -3
  212. data/lib/openai/version.rb +1 -1
  213. data/lib/openai.rb +10 -0
  214. data/rbi/openai/client.rbi +14 -0
  215. data/rbi/openai/internal/util.rbi +20 -0
  216. data/rbi/openai/models/batch_cancel_params.rbi +13 -5
  217. data/rbi/openai/models/batch_retrieve_params.rbi +13 -5
  218. data/rbi/openai/models/beta/assistant_create_params.rbi +6 -4
  219. data/rbi/openai/models/beta/assistant_delete_params.rbi +13 -5
  220. data/rbi/openai/models/beta/assistant_retrieve_params.rbi +13 -5
  221. data/rbi/openai/models/beta/assistant_update_params.rbi +6 -0
  222. data/rbi/openai/models/beta/chatkit/session_cancel_params.rbi +13 -5
  223. data/rbi/openai/models/beta/chatkit/thread_delete_params.rbi +13 -5
  224. data/rbi/openai/models/beta/chatkit/thread_list_items_params.rbi +6 -0
  225. data/rbi/openai/models/beta/chatkit/thread_retrieve_params.rbi +13 -5
  226. data/rbi/openai/models/beta/thread_create_and_run_params.rbi +6 -4
  227. data/rbi/openai/models/beta/thread_create_params.rbi +6 -4
  228. data/rbi/openai/models/beta/thread_delete_params.rbi +13 -5
  229. data/rbi/openai/models/beta/thread_retrieve_params.rbi +13 -5
  230. data/rbi/openai/models/beta/thread_update_params.rbi +6 -0
  231. data/rbi/openai/models/beta/threads/message_create_params.rbi +6 -0
  232. data/rbi/openai/models/beta/threads/message_delete_params.rbi +10 -2
  233. data/rbi/openai/models/beta/threads/message_list_params.rbi +6 -0
  234. data/rbi/openai/models/beta/threads/message_retrieve_params.rbi +10 -2
  235. data/rbi/openai/models/beta/threads/message_update_params.rbi +6 -0
  236. data/rbi/openai/models/beta/threads/run_cancel_params.rbi +10 -2
  237. data/rbi/openai/models/beta/threads/run_create_params.rbi +6 -0
  238. data/rbi/openai/models/beta/threads/run_list_params.rbi +6 -0
  239. data/rbi/openai/models/beta/threads/run_retrieve_params.rbi +10 -2
  240. data/rbi/openai/models/beta/threads/run_submit_tool_outputs_params.rbi +6 -0
  241. data/rbi/openai/models/beta/threads/run_update_params.rbi +6 -0
  242. data/rbi/openai/models/beta/threads/runs/step_list_params.rbi +6 -0
  243. data/rbi/openai/models/beta/threads/runs/step_retrieve_params.rbi +6 -0
  244. data/rbi/openai/models/chat/completion_delete_params.rbi +13 -5
  245. data/rbi/openai/models/chat/completion_retrieve_params.rbi +13 -5
  246. data/rbi/openai/models/chat/completion_update_params.rbi +6 -0
  247. data/rbi/openai/models/chat/completions/message_list_params.rbi +6 -0
  248. data/rbi/openai/models/chat_model.rbi +3 -0
  249. data/rbi/openai/models/container_delete_params.rbi +13 -5
  250. data/rbi/openai/models/container_retrieve_params.rbi +13 -5
  251. data/rbi/openai/models/containers/file_create_params.rbi +6 -0
  252. data/rbi/openai/models/containers/file_delete_params.rbi +10 -2
  253. data/rbi/openai/models/containers/file_list_params.rbi +6 -0
  254. data/rbi/openai/models/containers/file_retrieve_params.rbi +10 -2
  255. data/rbi/openai/models/containers/files/content_retrieve_params.rbi +10 -2
  256. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +62 -0
  257. data/rbi/openai/models/conversations/conversation_create_params.rbi +6 -0
  258. data/rbi/openai/models/conversations/conversation_delete_params.rbi +13 -5
  259. data/rbi/openai/models/conversations/conversation_item.rbi +2 -0
  260. data/rbi/openai/models/conversations/conversation_item_list.rbi +2 -0
  261. data/rbi/openai/models/conversations/conversation_retrieve_params.rbi +13 -5
  262. data/rbi/openai/models/conversations/conversation_update_params.rbi +6 -0
  263. data/rbi/openai/models/conversations/item_create_params.rbi +12 -0
  264. data/rbi/openai/models/conversations/item_delete_params.rbi +10 -2
  265. data/rbi/openai/models/conversations/item_list_params.rbi +6 -0
  266. data/rbi/openai/models/conversations/item_retrieve_params.rbi +6 -0
  267. data/rbi/openai/models/eval_delete_params.rbi +13 -5
  268. data/rbi/openai/models/eval_retrieve_params.rbi +13 -5
  269. data/rbi/openai/models/eval_update_params.rbi +6 -0
  270. data/rbi/openai/models/evals/run_cancel_params.rbi +10 -2
  271. data/rbi/openai/models/evals/run_cancel_response.rbi +6 -0
  272. data/rbi/openai/models/evals/run_create_params.rbi +18 -0
  273. data/rbi/openai/models/evals/run_create_response.rbi +6 -0
  274. data/rbi/openai/models/evals/run_delete_params.rbi +10 -2
  275. data/rbi/openai/models/evals/run_list_params.rbi +6 -0
  276. data/rbi/openai/models/evals/run_list_response.rbi +6 -0
  277. data/rbi/openai/models/evals/run_retrieve_params.rbi +10 -2
  278. data/rbi/openai/models/evals/run_retrieve_response.rbi +6 -0
  279. data/rbi/openai/models/evals/runs/output_item_list_params.rbi +6 -0
  280. data/rbi/openai/models/evals/runs/output_item_retrieve_params.rbi +6 -1
  281. data/rbi/openai/models/file_content_params.rbi +13 -5
  282. data/rbi/openai/models/file_delete_params.rbi +13 -5
  283. data/rbi/openai/models/file_retrieve_params.rbi +13 -5
  284. data/rbi/openai/models/fine_tuning/checkpoints/permission_create_params.rbi +6 -0
  285. data/rbi/openai/models/fine_tuning/checkpoints/permission_delete_params.rbi +10 -1
  286. data/rbi/openai/models/fine_tuning/checkpoints/permission_list_params.rbi +140 -0
  287. data/rbi/openai/models/fine_tuning/checkpoints/permission_list_response.rbi +70 -0
  288. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rbi +6 -0
  289. data/rbi/openai/models/fine_tuning/job_cancel_params.rbi +16 -5
  290. data/rbi/openai/models/fine_tuning/job_list_events_params.rbi +6 -0
  291. data/rbi/openai/models/fine_tuning/job_pause_params.rbi +16 -5
  292. data/rbi/openai/models/fine_tuning/job_resume_params.rbi +16 -5
  293. data/rbi/openai/models/fine_tuning/job_retrieve_params.rbi +16 -5
  294. data/rbi/openai/models/fine_tuning/jobs/checkpoint_list_params.rbi +6 -0
  295. data/rbi/openai/models/model_delete_params.rbi +13 -5
  296. data/rbi/openai/models/model_retrieve_params.rbi +13 -5
  297. data/rbi/openai/models/realtime/call_accept_params.rbi +13 -5
  298. data/rbi/openai/models/realtime/call_hangup_params.rbi +13 -5
  299. data/rbi/openai/models/realtime/call_refer_params.rbi +10 -1
  300. data/rbi/openai/models/realtime/call_reject_params.rbi +10 -1
  301. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +11 -0
  302. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +11 -0
  303. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +11 -0
  304. data/rbi/openai/models/responses/compacted_response.rbi +2 -0
  305. data/rbi/openai/models/responses/computer_action.rbi +534 -0
  306. data/rbi/openai/models/responses/computer_action_list.rbi +15 -0
  307. data/rbi/openai/models/responses/computer_use_tool.rbi +31 -0
  308. data/rbi/openai/models/responses/custom_tool.rbi +11 -0
  309. data/rbi/openai/models/responses/easy_input_message.rbi +53 -0
  310. data/rbi/openai/models/responses/function_tool.rbi +11 -0
  311. data/rbi/openai/models/responses/input_item_list_params.rbi +6 -0
  312. data/rbi/openai/models/responses/input_token_count_params.rbi +9 -0
  313. data/rbi/openai/models/responses/namespace_tool.rbi +163 -0
  314. data/rbi/openai/models/responses/response.rbi +5 -0
  315. data/rbi/openai/models/responses/response_cancel_params.rbi +13 -5
  316. data/rbi/openai/models/responses/response_compact_params.rbi +18 -0
  317. data/rbi/openai/models/responses/response_computer_tool_call.rbi +245 -151
  318. data/rbi/openai/models/responses/response_create_params.rbi +12 -0
  319. data/rbi/openai/models/responses/response_custom_tool_call.rbi +12 -1
  320. data/rbi/openai/models/responses/response_delete_params.rbi +13 -5
  321. data/rbi/openai/models/responses/response_function_tool_call.rbi +11 -0
  322. data/rbi/openai/models/responses/response_input_file.rbi +54 -0
  323. data/rbi/openai/models/responses/response_input_file_content.rbi +59 -0
  324. data/rbi/openai/models/responses/response_input_image.rbi +11 -6
  325. data/rbi/openai/models/responses/response_input_image_content.rbi +11 -6
  326. data/rbi/openai/models/responses/response_input_item.rbi +180 -0
  327. data/rbi/openai/models/responses/response_item.rbi +2 -0
  328. data/rbi/openai/models/responses/response_item_list.rbi +2 -0
  329. data/rbi/openai/models/responses/response_output_item.rbi +2 -0
  330. data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -0
  331. data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -0
  332. data/rbi/openai/models/responses/response_output_message.rbi +60 -1
  333. data/rbi/openai/models/responses/response_retrieve_params.rbi +6 -0
  334. data/rbi/openai/models/responses/response_tool_search_call.rbi +176 -0
  335. data/rbi/openai/models/responses/response_tool_search_output_item.rbi +199 -0
  336. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +245 -0
  337. data/rbi/openai/models/responses/responses_client_event.rbi +12 -0
  338. data/rbi/openai/models/responses/tool.rbi +14 -0
  339. data/rbi/openai/models/responses/tool_choice_types.rbi +16 -0
  340. data/rbi/openai/models/responses/tool_search_tool.rbi +107 -0
  341. data/rbi/openai/models/responses/web_search_preview_tool.rbi +64 -0
  342. data/rbi/openai/models/skill_delete_params.rbi +13 -5
  343. data/rbi/openai/models/skill_retrieve_params.rbi +13 -5
  344. data/rbi/openai/models/skill_update_params.rbi +10 -1
  345. data/rbi/openai/models/skills/content_retrieve_params.rbi +13 -5
  346. data/rbi/openai/models/skills/version_create_params.rbi +6 -0
  347. data/rbi/openai/models/skills/version_delete_params.rbi +16 -2
  348. data/rbi/openai/models/skills/version_list_params.rbi +6 -0
  349. data/rbi/openai/models/skills/version_retrieve_params.rbi +16 -2
  350. data/rbi/openai/models/skills/versions/content_retrieve_params.rbi +16 -2
  351. data/rbi/openai/models/upload_cancel_params.rbi +13 -5
  352. data/rbi/openai/models/upload_complete_params.rbi +6 -0
  353. data/rbi/openai/models/uploads/part_create_params.rbi +6 -0
  354. data/rbi/openai/models/vector_store_delete_params.rbi +13 -5
  355. data/rbi/openai/models/vector_store_retrieve_params.rbi +13 -5
  356. data/rbi/openai/models/vector_store_search_params.rbi +6 -0
  357. data/rbi/openai/models/vector_store_update_params.rbi +6 -0
  358. data/rbi/openai/models/vector_stores/file_batch_cancel_params.rbi +10 -2
  359. data/rbi/openai/models/vector_stores/file_batch_create_params.rbi +6 -0
  360. data/rbi/openai/models/vector_stores/file_batch_list_files_params.rbi +6 -0
  361. data/rbi/openai/models/vector_stores/file_batch_retrieve_params.rbi +10 -2
  362. data/rbi/openai/models/vector_stores/file_content_params.rbi +10 -2
  363. data/rbi/openai/models/vector_stores/file_create_params.rbi +6 -0
  364. data/rbi/openai/models/vector_stores/file_delete_params.rbi +10 -2
  365. data/rbi/openai/models/vector_stores/file_list_params.rbi +6 -0
  366. data/rbi/openai/models/vector_stores/file_retrieve_params.rbi +10 -2
  367. data/rbi/openai/models/vector_stores/file_update_params.rbi +6 -0
  368. data/rbi/openai/models/video.rbi +20 -5
  369. data/rbi/openai/models/video_create_params.rbi +2 -2
  370. data/rbi/openai/models/video_delete_params.rbi +13 -5
  371. data/rbi/openai/models/video_download_content_params.rbi +6 -0
  372. data/rbi/openai/models/video_remix_params.rbi +10 -1
  373. data/rbi/openai/models/video_retrieve_params.rbi +13 -5
  374. data/rbi/openai/resources/audio/speech.rbi +1 -0
  375. data/rbi/openai/resources/audio/transcriptions.rbi +1 -0
  376. data/rbi/openai/resources/audio/translations.rbi +1 -0
  377. data/rbi/openai/resources/audio.rbi +3 -0
  378. data/rbi/openai/resources/batches.rbi +1 -0
  379. data/rbi/openai/resources/beta/assistants.rbi +1 -0
  380. data/rbi/openai/resources/beta/threads/messages.rbi +1 -0
  381. data/rbi/openai/resources/beta/threads/runs/steps.rbi +1 -0
  382. data/rbi/openai/resources/beta/threads/runs.rbi +2 -0
  383. data/rbi/openai/resources/beta/threads.rbi +3 -0
  384. data/rbi/openai/resources/beta.rbi +2 -0
  385. data/rbi/openai/resources/chat/completions/messages.rbi +2 -0
  386. data/rbi/openai/resources/chat/completions.rbi +4 -0
  387. data/rbi/openai/resources/chat.rbi +2 -0
  388. data/rbi/openai/resources/completions.rbi +2 -0
  389. data/rbi/openai/resources/conversations/items.rbi +3 -0
  390. data/rbi/openai/resources/conversations.rbi +4 -0
  391. data/rbi/openai/resources/embeddings.rbi +2 -0
  392. data/rbi/openai/resources/evals/runs/output_items.rbi +1 -0
  393. data/rbi/openai/resources/evals/runs.rbi +2 -0
  394. data/rbi/openai/resources/evals.rbi +2 -0
  395. data/rbi/openai/resources/files.rbi +2 -0
  396. data/rbi/openai/resources/fine_tuning/alpha/graders.rbi +1 -0
  397. data/rbi/openai/resources/fine_tuning/alpha.rbi +1 -0
  398. data/rbi/openai/resources/fine_tuning/checkpoints/permissions.rbi +35 -0
  399. data/rbi/openai/resources/fine_tuning/checkpoints.rbi +1 -0
  400. data/rbi/openai/resources/fine_tuning/jobs/checkpoints.rbi +1 -0
  401. data/rbi/openai/resources/fine_tuning/jobs.rbi +2 -0
  402. data/rbi/openai/resources/fine_tuning.rbi +1 -0
  403. data/rbi/openai/resources/images.rbi +1 -0
  404. data/rbi/openai/resources/models.rbi +1 -0
  405. data/rbi/openai/resources/moderations.rbi +2 -0
  406. data/rbi/openai/resources/responses/input_tokens.rbi +3 -0
  407. data/rbi/openai/resources/responses.rbi +9 -0
  408. data/rbi/openai/resources/uploads/parts.rbi +1 -0
  409. data/rbi/openai/resources/uploads.rbi +2 -0
  410. data/rbi/openai/resources/videos.rbi +1 -1
  411. data/sig/openai/internal/util.rbs +10 -0
  412. data/sig/openai/models/batch_cancel_params.rbs +12 -3
  413. data/sig/openai/models/batch_retrieve_params.rbs +11 -3
  414. data/sig/openai/models/beta/assistant_delete_params.rbs +11 -3
  415. data/sig/openai/models/beta/assistant_retrieve_params.rbs +11 -3
  416. data/sig/openai/models/beta/assistant_update_params.rbs +5 -0
  417. data/sig/openai/models/beta/chatkit/session_cancel_params.rbs +11 -3
  418. data/sig/openai/models/beta/chatkit/thread_delete_params.rbs +11 -3
  419. data/sig/openai/models/beta/chatkit/thread_list_items_params.rbs +5 -0
  420. data/sig/openai/models/beta/chatkit/thread_retrieve_params.rbs +11 -3
  421. data/sig/openai/models/beta/thread_delete_params.rbs +11 -3
  422. data/sig/openai/models/beta/thread_retrieve_params.rbs +11 -3
  423. data/sig/openai/models/beta/thread_update_params.rbs +5 -0
  424. data/sig/openai/models/beta/threads/message_create_params.rbs +5 -0
  425. data/sig/openai/models/beta/threads/message_delete_params.rbs +6 -1
  426. data/sig/openai/models/beta/threads/message_list_params.rbs +5 -0
  427. data/sig/openai/models/beta/threads/message_retrieve_params.rbs +6 -1
  428. data/sig/openai/models/beta/threads/message_update_params.rbs +9 -1
  429. data/sig/openai/models/beta/threads/run_cancel_params.rbs +6 -1
  430. data/sig/openai/models/beta/threads/run_create_params.rbs +5 -0
  431. data/sig/openai/models/beta/threads/run_list_params.rbs +5 -0
  432. data/sig/openai/models/beta/threads/run_retrieve_params.rbs +6 -1
  433. data/sig/openai/models/beta/threads/run_submit_tool_outputs_params.rbs +5 -0
  434. data/sig/openai/models/beta/threads/run_update_params.rbs +9 -1
  435. data/sig/openai/models/beta/threads/runs/step_list_params.rbs +5 -0
  436. data/sig/openai/models/beta/threads/runs/step_retrieve_params.rbs +5 -0
  437. data/sig/openai/models/chat/completion_delete_params.rbs +11 -3
  438. data/sig/openai/models/chat/completion_retrieve_params.rbs +11 -3
  439. data/sig/openai/models/chat/completion_update_params.rbs +5 -1
  440. data/sig/openai/models/chat/completions/message_list_params.rbs +5 -0
  441. data/sig/openai/models/chat_model.rbs +5 -1
  442. data/sig/openai/models/container_delete_params.rbs +11 -3
  443. data/sig/openai/models/container_retrieve_params.rbs +11 -3
  444. data/sig/openai/models/containers/file_create_params.rbs +9 -1
  445. data/sig/openai/models/containers/file_delete_params.rbs +6 -1
  446. data/sig/openai/models/containers/file_list_params.rbs +5 -0
  447. data/sig/openai/models/containers/file_retrieve_params.rbs +6 -1
  448. data/sig/openai/models/containers/files/content_retrieve_params.rbs +6 -1
  449. data/sig/openai/models/conversations/computer_screenshot_content.rbs +23 -1
  450. data/sig/openai/models/conversations/conversation_delete_params.rbs +11 -3
  451. data/sig/openai/models/conversations/conversation_item.rbs +2 -0
  452. data/sig/openai/models/conversations/conversation_retrieve_params.rbs +11 -3
  453. data/sig/openai/models/conversations/conversation_update_params.rbs +5 -1
  454. data/sig/openai/models/conversations/item_create_params.rbs +5 -0
  455. data/sig/openai/models/conversations/item_delete_params.rbs +6 -1
  456. data/sig/openai/models/conversations/item_list_params.rbs +5 -0
  457. data/sig/openai/models/conversations/item_retrieve_params.rbs +5 -0
  458. data/sig/openai/models/eval_delete_params.rbs +12 -3
  459. data/sig/openai/models/eval_retrieve_params.rbs +11 -3
  460. data/sig/openai/models/eval_update_params.rbs +5 -1
  461. data/sig/openai/models/evals/run_cancel_params.rbs +6 -1
  462. data/sig/openai/models/evals/run_create_params.rbs +5 -0
  463. data/sig/openai/models/evals/run_delete_params.rbs +6 -1
  464. data/sig/openai/models/evals/run_list_params.rbs +5 -0
  465. data/sig/openai/models/evals/run_retrieve_params.rbs +6 -1
  466. data/sig/openai/models/evals/runs/output_item_list_params.rbs +5 -0
  467. data/sig/openai/models/evals/runs/output_item_retrieve_params.rbs +5 -1
  468. data/sig/openai/models/file_content_params.rbs +12 -3
  469. data/sig/openai/models/file_delete_params.rbs +12 -3
  470. data/sig/openai/models/file_retrieve_params.rbs +11 -3
  471. data/sig/openai/models/fine_tuning/checkpoints/permission_create_params.rbs +5 -1
  472. data/sig/openai/models/fine_tuning/checkpoints/permission_delete_params.rbs +5 -1
  473. data/sig/openai/models/fine_tuning/checkpoints/permission_list_params.rbs +71 -0
  474. data/sig/openai/models/fine_tuning/checkpoints/permission_list_response.rbs +39 -0
  475. data/sig/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rbs +5 -0
  476. data/sig/openai/models/fine_tuning/job_cancel_params.rbs +13 -3
  477. data/sig/openai/models/fine_tuning/job_list_events_params.rbs +5 -1
  478. data/sig/openai/models/fine_tuning/job_pause_params.rbs +13 -3
  479. data/sig/openai/models/fine_tuning/job_resume_params.rbs +13 -3
  480. data/sig/openai/models/fine_tuning/job_retrieve_params.rbs +12 -3
  481. data/sig/openai/models/fine_tuning/jobs/checkpoint_list_params.rbs +5 -1
  482. data/sig/openai/models/model_delete_params.rbs +9 -3
  483. data/sig/openai/models/model_retrieve_params.rbs +8 -3
  484. data/sig/openai/models/realtime/call_accept_params.rbs +13 -3
  485. data/sig/openai/models/realtime/call_hangup_params.rbs +11 -3
  486. data/sig/openai/models/realtime/call_refer_params.rbs +6 -1
  487. data/sig/openai/models/realtime/call_reject_params.rbs +6 -1
  488. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +7 -0
  489. data/sig/openai/models/realtime/realtime_session_create_response.rbs +7 -0
  490. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +7 -0
  491. data/sig/openai/models/responses/computer_action.rbs +215 -0
  492. data/sig/openai/models/responses/computer_action_list.rbs +10 -0
  493. data/sig/openai/models/responses/computer_use_tool.rbs +15 -0
  494. data/sig/openai/models/responses/custom_tool.rbs +7 -0
  495. data/sig/openai/models/responses/easy_input_message.rbs +16 -0
  496. data/sig/openai/models/responses/function_tool.rbs +7 -0
  497. data/sig/openai/models/responses/input_item_list_params.rbs +5 -0
  498. data/sig/openai/models/responses/namespace_tool.rbs +84 -0
  499. data/sig/openai/models/responses/response_cancel_params.rbs +11 -3
  500. data/sig/openai/models/responses/response_compact_params.rbs +11 -2
  501. data/sig/openai/models/responses/response_computer_tool_call.rbs +62 -49
  502. data/sig/openai/models/responses/response_custom_tool_call.rbs +9 -2
  503. data/sig/openai/models/responses/response_delete_params.rbs +11 -3
  504. data/sig/openai/models/responses/response_function_tool_call.rbs +7 -0
  505. data/sig/openai/models/responses/response_input_file.rbs +20 -0
  506. data/sig/openai/models/responses/response_input_file_content.rbs +20 -0
  507. data/sig/openai/models/responses/response_input_image.rbs +2 -1
  508. data/sig/openai/models/responses/response_input_image_content.rbs +2 -1
  509. data/sig/openai/models/responses/response_input_item.rbs +71 -0
  510. data/sig/openai/models/responses/response_item.rbs +2 -0
  511. data/sig/openai/models/responses/response_output_item.rbs +2 -0
  512. data/sig/openai/models/responses/response_output_message.rbs +18 -2
  513. data/sig/openai/models/responses/response_retrieve_params.rbs +5 -0
  514. data/sig/openai/models/responses/response_tool_search_call.rbs +77 -0
  515. data/sig/openai/models/responses/response_tool_search_output_item.rbs +77 -0
  516. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +74 -0
  517. data/sig/openai/models/responses/tool.rbs +10 -0
  518. data/sig/openai/models/responses/tool_choice_types.rbs +4 -0
  519. data/sig/openai/models/responses/tool_search_tool.rbs +52 -0
  520. data/sig/openai/models/responses/web_search_preview_tool.rbs +20 -0
  521. data/sig/openai/models/skill_delete_params.rbs +12 -3
  522. data/sig/openai/models/skill_retrieve_params.rbs +11 -3
  523. data/sig/openai/models/skill_update_params.rbs +6 -1
  524. data/sig/openai/models/skills/content_retrieve_params.rbs +11 -3
  525. data/sig/openai/models/skills/version_create_params.rbs +5 -0
  526. data/sig/openai/models/skills/version_delete_params.rbs +6 -1
  527. data/sig/openai/models/skills/version_list_params.rbs +5 -0
  528. data/sig/openai/models/skills/version_retrieve_params.rbs +6 -1
  529. data/sig/openai/models/skills/versions/content_retrieve_params.rbs +6 -1
  530. data/sig/openai/models/upload_cancel_params.rbs +11 -3
  531. data/sig/openai/models/upload_complete_params.rbs +5 -1
  532. data/sig/openai/models/uploads/part_create_params.rbs +5 -1
  533. data/sig/openai/models/vector_store_delete_params.rbs +11 -3
  534. data/sig/openai/models/vector_store_retrieve_params.rbs +11 -3
  535. data/sig/openai/models/vector_store_search_params.rbs +5 -0
  536. data/sig/openai/models/vector_store_update_params.rbs +5 -0
  537. data/sig/openai/models/vector_stores/file_batch_cancel_params.rbs +6 -1
  538. data/sig/openai/models/vector_stores/file_batch_create_params.rbs +5 -0
  539. data/sig/openai/models/vector_stores/file_batch_list_files_params.rbs +5 -0
  540. data/sig/openai/models/vector_stores/file_batch_retrieve_params.rbs +6 -1
  541. data/sig/openai/models/vector_stores/file_content_params.rbs +6 -1
  542. data/sig/openai/models/vector_stores/file_create_params.rbs +5 -0
  543. data/sig/openai/models/vector_stores/file_delete_params.rbs +6 -1
  544. data/sig/openai/models/vector_stores/file_list_params.rbs +5 -0
  545. data/sig/openai/models/vector_stores/file_retrieve_params.rbs +6 -1
  546. data/sig/openai/models/vector_stores/file_update_params.rbs +5 -0
  547. data/sig/openai/models/video.rbs +12 -4
  548. data/sig/openai/models/video_delete_params.rbs +12 -3
  549. data/sig/openai/models/video_download_content_params.rbs +8 -1
  550. data/sig/openai/models/video_remix_params.rbs +6 -1
  551. data/sig/openai/models/video_retrieve_params.rbs +11 -3
  552. data/sig/openai/resources/fine_tuning/checkpoints/permissions.rbs +9 -0
  553. data/sig/openai/resources/responses.rbs +1 -0
  554. metadata +32 -2
@@ -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],
@@ -116,6 +116,7 @@ module OpenAI
116
116
  T.any(
117
117
  OpenAI::Responses::FunctionTool,
118
118
  OpenAI::Responses::FileSearchTool,
119
+ OpenAI::Responses::ComputerUseTool,
119
120
  OpenAI::Responses::ComputerTool,
120
121
  OpenAI::Responses::Tool::Mcp,
121
122
  OpenAI::Responses::Tool::CodeInterpreter,
@@ -123,6 +124,8 @@ module OpenAI
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
@@ -194,6 +197,7 @@ module OpenAI
194
197
  T.any(
195
198
  OpenAI::Responses::FunctionTool::OrHash,
196
199
  OpenAI::Responses::FileSearchTool::OrHash,
200
+ OpenAI::Responses::ComputerUseTool::OrHash,
197
201
  OpenAI::Responses::ComputerTool::OrHash,
198
202
  OpenAI::Responses::Tool::Mcp::OrHash,
199
203
  OpenAI::Responses::Tool::CodeInterpreter::OrHash,
@@ -201,6 +205,8 @@ module OpenAI
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
@@ -298,6 +304,7 @@ module OpenAI
298
304
  T.any(
299
305
  OpenAI::Responses::FunctionTool,
300
306
  OpenAI::Responses::FileSearchTool,
307
+ OpenAI::Responses::ComputerUseTool,
301
308
  OpenAI::Responses::ComputerTool,
302
309
  OpenAI::Responses::Tool::Mcp,
303
310
  OpenAI::Responses::Tool::CodeInterpreter,
@@ -305,6 +312,8 @@ module OpenAI
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,
@@ -372,6 +374,7 @@ module OpenAI
372
374
  T.any(
373
375
  OpenAI::Responses::FunctionTool::OrHash,
374
376
  OpenAI::Responses::FileSearchTool::OrHash,
377
+ OpenAI::Responses::ComputerUseTool::OrHash,
375
378
  OpenAI::Responses::ComputerTool::OrHash,
376
379
  OpenAI::Responses::Tool::Mcp::OrHash,
377
380
  OpenAI::Responses::Tool::CodeInterpreter::OrHash,
@@ -379,6 +382,8 @@ module OpenAI
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
@@ -54,6 +54,10 @@ module OpenAI
54
54
  sig { returns(T.nilable(String)) }
55
55
  attr_accessor :previous_response_id
56
56
 
57
+ # A key to use when reading from or writing to the prompt cache.
58
+ sig { returns(T.nilable(String)) }
59
+ attr_accessor :prompt_cache_key
60
+
57
61
  sig do
58
62
  params(
59
63
  model:
@@ -69,6 +73,7 @@ module OpenAI
69
73
  ),
70
74
  instructions: T.nilable(String),
71
75
  previous_response_id: T.nilable(String),
76
+ prompt_cache_key: T.nilable(String),
72
77
  request_options: OpenAI::RequestOptions::OrHash
73
78
  ).returns(T.attached_class)
74
79
  end
@@ -91,6 +96,8 @@ module OpenAI
91
96
  # [conversation state](https://platform.openai.com/docs/guides/conversation-state).
92
97
  # Cannot be used in conjunction with `conversation`.
93
98
  previous_response_id: nil,
99
+ # A key to use when reading from or writing to the prompt cache.
100
+ prompt_cache_key: nil,
94
101
  request_options: {}
95
102
  )
96
103
  end
@@ -111,6 +118,7 @@ module OpenAI
111
118
  ),
112
119
  instructions: T.nilable(String),
113
120
  previous_response_id: T.nilable(String),
121
+ prompt_cache_key: T.nilable(String),
114
122
  request_options: OpenAI::RequestOptions
115
123
  }
116
124
  )
@@ -150,6 +158,16 @@ module OpenAI
150
158
  end
151
159
  OrSymbol = T.type_alias { T.any(Symbol, String) }
152
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
+ )
153
171
  GPT_5_2 =
154
172
  T.let(
155
173
  :"gpt-5.2",