openai 0.68.0 → 0.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (701) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +7 -7
  4. data/lib/openai/internal/type/enum.rb +6 -6
  5. data/lib/openai/internal/util.rb +14 -2
  6. data/lib/openai/models/beta/assistant_create_params.rb +7 -14
  7. data/lib/openai/models/beta/assistant_update_params.rb +7 -14
  8. data/lib/openai/models/beta/beta_apply_patch_tool.rb +44 -0
  9. data/lib/openai/models/beta/beta_compacted_response.rb +58 -0
  10. data/lib/openai/models/beta/beta_computer_action.rb +398 -0
  11. data/lib/openai/models/beta/beta_computer_action_list.rb +13 -0
  12. data/lib/openai/models/beta/beta_computer_tool.rb +23 -0
  13. data/lib/openai/models/beta/beta_computer_use_preview_tool.rb +63 -0
  14. data/lib/openai/models/beta/beta_container_auto.rb +96 -0
  15. data/lib/openai/models/beta/beta_container_network_policy_allowlist.rb +37 -0
  16. data/lib/openai/models/beta/beta_container_network_policy_disabled.rb +20 -0
  17. data/lib/openai/models/beta/beta_container_network_policy_domain_secret.rb +36 -0
  18. data/lib/openai/models/beta/beta_container_reference.rb +28 -0
  19. data/lib/openai/models/beta/beta_custom_tool.rb +148 -0
  20. data/lib/openai/models/beta/beta_easy_input_message.rb +120 -0
  21. data/lib/openai/models/beta/beta_file_search_tool.rb +424 -0
  22. data/lib/openai/models/beta/beta_function_shell_tool.rb +67 -0
  23. data/lib/openai/models/beta/beta_function_tool.rb +97 -0
  24. data/lib/openai/models/beta/beta_inline_skill.rb +44 -0
  25. data/lib/openai/models/beta/beta_inline_skill_source.rb +38 -0
  26. data/lib/openai/models/beta/beta_local_environment.rb +28 -0
  27. data/lib/openai/models/beta/beta_local_skill.rb +36 -0
  28. data/lib/openai/models/beta/beta_namespace_tool.rb +146 -0
  29. data/lib/openai/models/beta/beta_response.rb +1425 -0
  30. data/lib/openai/models/beta/beta_response_apply_patch_tool_call.rb +258 -0
  31. data/lib/openai/models/beta/beta_response_apply_patch_tool_call_output.rb +156 -0
  32. data/lib/openai/models/beta/beta_response_audio_delta_event.rb +63 -0
  33. data/lib/openai/models/beta/beta_response_audio_done_event.rb +55 -0
  34. data/lib/openai/models/beta/beta_response_audio_transcript_delta_event.rb +63 -0
  35. data/lib/openai/models/beta/beta_response_audio_transcript_done_event.rb +55 -0
  36. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rb +81 -0
  37. data/lib/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rb +76 -0
  38. data/lib/openai/models/beta/beta_response_code_interpreter_call_completed_event.rb +73 -0
  39. data/lib/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rb +77 -0
  40. data/lib/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rb +77 -0
  41. data/lib/openai/models/beta/beta_response_code_interpreter_tool_call.rb +168 -0
  42. data/lib/openai/models/beta/beta_response_compaction_item.rb +69 -0
  43. data/lib/openai/models/beta/beta_response_compaction_item_param.rb +61 -0
  44. data/lib/openai/models/beta/beta_response_completed_event.rb +63 -0
  45. data/lib/openai/models/beta/beta_response_computer_tool_call.rb +156 -0
  46. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +141 -0
  47. data/lib/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rb +43 -0
  48. data/lib/openai/models/beta/beta_response_container_reference.rb +29 -0
  49. data/lib/openai/models/beta/beta_response_content.rb +56 -0
  50. data/lib/openai/models/beta/beta_response_content_part_added_event.rb +129 -0
  51. data/lib/openai/models/beta/beta_response_content_part_done_event.rb +129 -0
  52. data/lib/openai/models/beta/beta_response_conversation_param.rb +22 -0
  53. data/lib/openai/models/beta/beta_response_created_event.rb +63 -0
  54. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +142 -0
  55. data/lib/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rb +76 -0
  56. data/lib/openai/models/beta/beta_response_custom_tool_call_input_done_event.rb +76 -0
  57. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +55 -0
  58. data/lib/openai/models/beta/beta_response_custom_tool_call_output.rb +171 -0
  59. data/lib/openai/models/beta/beta_response_custom_tool_call_output_item.rb +55 -0
  60. data/lib/openai/models/beta/beta_response_error.rb +63 -0
  61. data/lib/openai/models/beta/beta_response_error_event.rb +79 -0
  62. data/lib/openai/models/beta/beta_response_failed_event.rb +63 -0
  63. data/lib/openai/models/beta/beta_response_file_search_call_completed_event.rb +72 -0
  64. data/lib/openai/models/beta/beta_response_file_search_call_in_progress_event.rb +72 -0
  65. data/lib/openai/models/beta/beta_response_file_search_call_searching_event.rb +72 -0
  66. data/lib/openai/models/beta/beta_response_file_search_tool_call.rb +168 -0
  67. data/lib/openai/models/beta/beta_response_format_text_config.rb +72 -0
  68. data/lib/openai/models/beta/beta_response_format_text_json_schema_config.rb +66 -0
  69. data/lib/openai/models/beta/beta_response_function_call_arguments_delta_event.rb +80 -0
  70. data/lib/openai/models/beta/beta_response_function_call_arguments_done_event.rb +83 -0
  71. data/lib/openai/models/beta/beta_response_function_call_output_item.rb +28 -0
  72. data/lib/openai/models/beta/beta_response_function_call_output_item_list.rb +14 -0
  73. data/lib/openai/models/beta/beta_response_function_shell_call_output_content.rb +90 -0
  74. data/lib/openai/models/beta/beta_response_function_shell_tool_call.rb +216 -0
  75. data/lib/openai/models/beta/beta_response_function_shell_tool_call_output.rb +265 -0
  76. data/lib/openai/models/beta/beta_response_function_tool_call.rb +168 -0
  77. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +57 -0
  78. data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +201 -0
  79. data/lib/openai/models/beta/beta_response_function_web_search.rb +238 -0
  80. data/lib/openai/models/beta/beta_response_image_gen_call_completed_event.rb +69 -0
  81. data/lib/openai/models/beta/beta_response_image_gen_call_generating_event.rb +69 -0
  82. data/lib/openai/models/beta/beta_response_image_gen_call_in_progress_event.rb +68 -0
  83. data/lib/openai/models/beta/beta_response_image_gen_call_partial_image_event.rb +89 -0
  84. data/lib/openai/models/beta/beta_response_in_progress_event.rb +63 -0
  85. data/lib/openai/models/beta/beta_response_includable.rb +45 -0
  86. data/lib/openai/models/beta/beta_response_incomplete_event.rb +63 -0
  87. data/lib/openai/models/beta/beta_response_inject_created_event.rb +51 -0
  88. data/lib/openai/models/beta/beta_response_inject_event.rb +40 -0
  89. data/lib/openai/models/beta/beta_response_inject_failed_event.rb +103 -0
  90. data/lib/openai/models/beta/beta_response_input.rb +13 -0
  91. data/lib/openai/models/beta/beta_response_input_audio.rb +70 -0
  92. data/lib/openai/models/beta/beta_response_input_content.rb +28 -0
  93. data/lib/openai/models/beta/beta_response_input_file.rb +113 -0
  94. data/lib/openai/models/beta/beta_response_input_file_content.rb +115 -0
  95. data/lib/openai/models/beta/beta_response_input_image.rb +94 -0
  96. data/lib/openai/models/beta/beta_response_input_image_content.rb +96 -0
  97. data/lib/openai/models/beta/beta_response_input_item.rb +2819 -0
  98. data/lib/openai/models/beta/beta_response_input_message_content_list.rb +14 -0
  99. data/lib/openai/models/beta/beta_response_input_message_item.rb +108 -0
  100. data/lib/openai/models/beta/beta_response_input_text.rb +59 -0
  101. data/lib/openai/models/beta/beta_response_input_text_content.rb +61 -0
  102. data/lib/openai/models/beta/beta_response_item.rb +1438 -0
  103. data/lib/openai/models/beta/beta_response_local_environment.rb +22 -0
  104. data/lib/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rb +81 -0
  105. data/lib/openai/models/beta/beta_response_mcp_call_arguments_done_event.rb +79 -0
  106. data/lib/openai/models/beta/beta_response_mcp_call_completed_event.rb +68 -0
  107. data/lib/openai/models/beta/beta_response_mcp_call_failed_event.rb +68 -0
  108. data/lib/openai/models/beta/beta_response_mcp_call_in_progress_event.rb +68 -0
  109. data/lib/openai/models/beta/beta_response_mcp_list_tools_completed_event.rb +68 -0
  110. data/lib/openai/models/beta/beta_response_mcp_list_tools_failed_event.rb +68 -0
  111. data/lib/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rb +69 -0
  112. data/lib/openai/models/beta/beta_response_output_audio.rb +41 -0
  113. data/lib/openai/models/beta/beta_response_output_item.rb +1444 -0
  114. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +71 -0
  115. data/lib/openai/models/beta/beta_response_output_item_done_event.rb +71 -0
  116. data/lib/openai/models/beta/beta_response_output_message.rb +139 -0
  117. data/lib/openai/models/beta/beta_response_output_refusal.rb +30 -0
  118. data/lib/openai/models/beta/beta_response_output_text.rb +292 -0
  119. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +92 -0
  120. data/lib/openai/models/beta/beta_response_prompt.rb +65 -0
  121. data/lib/openai/models/beta/beta_response_queued_event.rb +60 -0
  122. data/lib/openai/models/beta/beta_response_reasoning_item.rb +151 -0
  123. data/lib/openai/models/beta/beta_response_reasoning_summary_part_added_event.rb +110 -0
  124. data/lib/openai/models/beta/beta_response_reasoning_summary_part_done_event.rb +132 -0
  125. data/lib/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rb +88 -0
  126. data/lib/openai/models/beta/beta_response_reasoning_summary_text_done_event.rb +88 -0
  127. data/lib/openai/models/beta/beta_response_reasoning_text_delta_event.rb +87 -0
  128. data/lib/openai/models/beta/beta_response_reasoning_text_done_event.rb +87 -0
  129. data/lib/openai/models/beta/beta_response_refusal_delta_event.rb +87 -0
  130. data/lib/openai/models/beta/beta_response_refusal_done_event.rb +87 -0
  131. data/lib/openai/models/beta/beta_response_status.rb +25 -0
  132. data/lib/openai/models/beta/beta_response_stream_event.rb +203 -0
  133. data/lib/openai/models/beta/beta_response_text_config.rb +67 -0
  134. data/lib/openai/models/beta/beta_response_text_delta_event.rb +150 -0
  135. data/lib/openai/models/beta/beta_response_text_done_event.rb +150 -0
  136. data/lib/openai/models/beta/beta_response_tool_search_call.rb +117 -0
  137. data/lib/openai/models/beta/beta_response_tool_search_output_item.rb +117 -0
  138. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +109 -0
  139. data/lib/openai/models/beta/beta_response_usage.rb +95 -0
  140. data/lib/openai/models/beta/beta_response_web_search_call_completed_event.rb +72 -0
  141. data/lib/openai/models/beta/beta_response_web_search_call_in_progress_event.rb +72 -0
  142. data/lib/openai/models/beta/beta_response_web_search_call_searching_event.rb +72 -0
  143. data/lib/openai/models/beta/beta_responses_client_event.rb +1432 -0
  144. data/lib/openai/models/beta/beta_responses_server_event.rb +212 -0
  145. data/lib/openai/models/beta/beta_skill_reference.rb +36 -0
  146. data/lib/openai/models/beta/beta_tool.rb +910 -0
  147. data/lib/openai/models/beta/beta_tool_choice_allowed.rb +75 -0
  148. data/lib/openai/models/beta/beta_tool_choice_apply_patch.rb +22 -0
  149. data/lib/openai/models/beta/beta_tool_choice_custom.rb +30 -0
  150. data/lib/openai/models/beta/beta_tool_choice_function.rb +30 -0
  151. data/lib/openai/models/beta/beta_tool_choice_mcp.rb +42 -0
  152. data/lib/openai/models/beta/beta_tool_choice_options.rb +28 -0
  153. data/lib/openai/models/beta/beta_tool_choice_shell.rb +22 -0
  154. data/lib/openai/models/beta/beta_tool_choice_types.rb +67 -0
  155. data/lib/openai/models/beta/beta_tool_search_tool.rb +59 -0
  156. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +143 -0
  157. data/lib/openai/models/beta/beta_web_search_tool.rb +162 -0
  158. data/lib/openai/models/beta/response_cancel_params.rb +37 -0
  159. data/lib/openai/models/beta/response_compact_params.rb +549 -0
  160. data/lib/openai/models/beta/response_create_params.rb +1343 -0
  161. data/lib/openai/models/beta/response_delete_params.rb +37 -0
  162. data/lib/openai/models/beta/response_retrieve_params.rb +74 -0
  163. data/lib/openai/models/beta/responses/beta_response_item_list.rb +54 -0
  164. data/lib/openai/models/beta/responses/input_item_list_params.rb +96 -0
  165. data/lib/openai/models/beta/responses/input_token_count_params.rb +542 -0
  166. data/lib/openai/models/beta/responses/input_token_count_response.rb +26 -0
  167. data/lib/openai/models/beta/threads/run_create_params.rb +7 -14
  168. data/lib/openai/models/chat/chat_completion_content_part.rb +31 -1
  169. data/lib/openai/models/chat/chat_completion_content_part_image.rb +31 -1
  170. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +31 -1
  171. data/lib/openai/models/chat/chat_completion_content_part_text.rb +31 -1
  172. data/lib/openai/models/chat/completion_create_params.rb +200 -19
  173. data/lib/openai/models/chat_model.rb +3 -0
  174. data/lib/openai/models/completion_usage.rb +9 -1
  175. data/lib/openai/models/conversations/computer_screenshot_content.rb +28 -1
  176. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  177. data/lib/openai/models/conversations/conversation_item.rb +106 -3
  178. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  179. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  180. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +7 -14
  181. data/lib/openai/models/evals/run_cancel_response.rb +16 -30
  182. data/lib/openai/models/evals/run_create_params.rb +16 -30
  183. data/lib/openai/models/evals/run_create_response.rb +16 -30
  184. data/lib/openai/models/evals/run_list_response.rb +16 -30
  185. data/lib/openai/models/evals/run_retrieve_response.rb +16 -30
  186. data/lib/openai/models/graders/score_model_grader.rb +7 -14
  187. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +23 -1
  188. data/lib/openai/models/realtime/realtime_session_create_request.rb +6 -0
  189. data/lib/openai/models/realtime/realtime_session_create_response.rb +29 -1
  190. data/lib/openai/models/realtime/realtime_tools_config_union.rb +23 -1
  191. data/lib/openai/models/reasoning.rb +47 -15
  192. data/lib/openai/models/reasoning_effort.rb +7 -13
  193. data/lib/openai/models/responses/apply_patch_tool.rb +23 -1
  194. data/lib/openai/models/responses/compacted_response.rb +2 -2
  195. data/lib/openai/models/responses/custom_tool.rb +21 -1
  196. data/lib/openai/models/responses/function_shell_tool.rb +23 -1
  197. data/lib/openai/models/responses/function_tool.rb +32 -3
  198. data/lib/openai/models/responses/input_token_count_params.rb +21 -8
  199. data/lib/openai/models/responses/namespace_tool.rb +41 -2
  200. data/lib/openai/models/responses/response.rb +98 -14
  201. data/lib/openai/models/responses/response_apply_patch_tool_call.rb +56 -1
  202. data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +56 -1
  203. data/lib/openai/models/responses/response_compact_params.rb +107 -4
  204. data/lib/openai/models/responses/response_create_params.rb +214 -13
  205. data/lib/openai/models/responses/response_custom_tool_call.rb +56 -1
  206. data/lib/openai/models/responses/response_custom_tool_call_output.rb +58 -1
  207. data/lib/openai/models/responses/response_error.rb +1 -0
  208. data/lib/openai/models/responses/response_function_shell_tool_call.rb +56 -1
  209. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +56 -1
  210. data/lib/openai/models/responses/response_function_tool_call.rb +56 -1
  211. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +58 -1
  212. data/lib/openai/models/responses/response_input_file.rb +39 -8
  213. data/lib/openai/models/responses/response_input_file_content.rb +41 -8
  214. data/lib/openai/models/responses/response_input_image.rb +27 -1
  215. data/lib/openai/models/responses/response_input_image_content.rb +29 -1
  216. data/lib/openai/models/responses/response_input_item.rb +396 -8
  217. data/lib/openai/models/responses/response_input_text.rb +30 -1
  218. data/lib/openai/models/responses/response_input_text_content.rb +32 -1
  219. data/lib/openai/models/responses/response_item.rb +106 -3
  220. data/lib/openai/models/responses/response_item_list.rb +2 -2
  221. data/lib/openai/models/responses/response_output_item.rb +106 -3
  222. data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
  223. data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
  224. data/lib/openai/models/responses/response_reasoning_summary_part_done_event.rb +23 -1
  225. data/lib/openai/models/responses/response_tool_search_output_item.rb +2 -2
  226. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +2 -2
  227. data/lib/openai/models/responses/response_usage.rb +9 -1
  228. data/lib/openai/models/responses/responses_client_event.rb +215 -13
  229. data/lib/openai/models/responses/tool.rb +58 -3
  230. data/lib/openai/models/webhooks/safety_identifier_blocked_webhook_event.rb +118 -0
  231. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  232. data/lib/openai/resources/beta/assistants.rb +2 -2
  233. data/lib/openai/resources/beta/responses/input_items.rb +58 -0
  234. data/lib/openai/resources/beta/responses/input_tokens.rb +73 -0
  235. data/lib/openai/resources/beta/responses.rb +440 -0
  236. data/lib/openai/resources/beta/threads/runs.rb +2 -2
  237. data/lib/openai/resources/beta.rb +4 -0
  238. data/lib/openai/resources/chat/completions.rb +10 -6
  239. data/lib/openai/resources/conversations/items.rb +3 -3
  240. data/lib/openai/resources/conversations.rb +1 -1
  241. data/lib/openai/resources/responses/input_items.rb +1 -1
  242. data/lib/openai/resources/responses/input_tokens.rb +3 -3
  243. data/lib/openai/resources/responses.rb +22 -12
  244. data/lib/openai/resources/webhooks.rb +1 -1
  245. data/lib/openai/version.rb +1 -1
  246. data/lib/openai.rb +163 -0
  247. data/rbi/openai/models/beta/assistant_create_params.rbi +12 -26
  248. data/rbi/openai/models/beta/assistant_update_params.rbi +12 -26
  249. data/rbi/openai/models/beta/beta_apply_patch_tool.rbi +99 -0
  250. data/rbi/openai/models/beta/beta_compacted_response.rbi +120 -0
  251. data/rbi/openai/models/beta/beta_computer_action.rbi +593 -0
  252. data/rbi/openai/models/beta/beta_computer_action_list.rbi +18 -0
  253. data/rbi/openai/models/beta/beta_computer_tool.rbi +33 -0
  254. data/rbi/openai/models/beta/beta_computer_use_preview_tool.rbi +126 -0
  255. data/rbi/openai/models/beta/beta_container_auto.rbi +231 -0
  256. data/rbi/openai/models/beta/beta_container_network_policy_allowlist.rbi +81 -0
  257. data/rbi/openai/models/beta/beta_container_network_policy_disabled.rbi +35 -0
  258. data/rbi/openai/models/beta/beta_container_network_policy_domain_secret.rbi +53 -0
  259. data/rbi/openai/models/beta/beta_container_reference.rbi +42 -0
  260. data/rbi/openai/models/beta/beta_custom_tool.rbi +302 -0
  261. data/rbi/openai/models/beta/beta_easy_input_message.rbi +211 -0
  262. data/rbi/openai/models/beta/beta_file_search_tool.rbi +863 -0
  263. data/rbi/openai/models/beta/beta_function_shell_tool.rbi +155 -0
  264. data/rbi/openai/models/beta/beta_function_tool.rbi +154 -0
  265. data/rbi/openai/models/beta/beta_inline_skill.rbi +68 -0
  266. data/rbi/openai/models/beta/beta_inline_skill_source.rbi +53 -0
  267. data/rbi/openai/models/beta/beta_local_environment.rbi +51 -0
  268. data/rbi/openai/models/beta/beta_local_skill.rbi +49 -0
  269. data/rbi/openai/models/beta/beta_namespace_tool.rbi +252 -0
  270. data/rbi/openai/models/beta/beta_response.rbi +2495 -0
  271. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call.rbi +431 -0
  272. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call_output.rbi +277 -0
  273. data/rbi/openai/models/beta/beta_response_audio_delta_event.rbi +110 -0
  274. data/rbi/openai/models/beta/beta_response_audio_done_event.rbi +100 -0
  275. data/rbi/openai/models/beta/beta_response_audio_transcript_delta_event.rbi +118 -0
  276. data/rbi/openai/models/beta/beta_response_audio_transcript_done_event.rbi +108 -0
  277. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbi +136 -0
  278. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbi +134 -0
  279. data/rbi/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbi +128 -0
  280. data/rbi/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbi +128 -0
  281. data/rbi/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbi +128 -0
  282. data/rbi/openai/models/beta/beta_response_code_interpreter_tool_call.rbi +315 -0
  283. data/rbi/openai/models/beta/beta_response_compaction_item.rbi +116 -0
  284. data/rbi/openai/models/beta/beta_response_compaction_item_param.rbi +114 -0
  285. data/rbi/openai/models/beta/beta_response_completed_event.rbi +111 -0
  286. data/rbi/openai/models/beta/beta_response_computer_tool_call.rbi +404 -0
  287. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +296 -0
  288. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbi +62 -0
  289. data/rbi/openai/models/beta/beta_response_container_reference.rbi +41 -0
  290. data/rbi/openai/models/beta/beta_response_content.rbi +66 -0
  291. data/rbi/openai/models/beta/beta_response_content_part_added_event.rbi +205 -0
  292. data/rbi/openai/models/beta/beta_response_content_part_done_event.rbi +203 -0
  293. data/rbi/openai/models/beta/beta_response_conversation_param.rbi +35 -0
  294. data/rbi/openai/models/beta/beta_response_created_event.rbi +109 -0
  295. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +242 -0
  296. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbi +134 -0
  297. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbi +134 -0
  298. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +113 -0
  299. data/rbi/openai/models/beta/beta_response_custom_tool_call_output.rbi +303 -0
  300. data/rbi/openai/models/beta/beta_response_custom_tool_call_output_item.rbi +114 -0
  301. data/rbi/openai/models/beta/beta_response_error.rbi +165 -0
  302. data/rbi/openai/models/beta/beta_response_error_event.rbi +120 -0
  303. data/rbi/openai/models/beta/beta_response_failed_event.rbi +107 -0
  304. data/rbi/openai/models/beta/beta_response_file_search_call_completed_event.rbi +126 -0
  305. data/rbi/openai/models/beta/beta_response_file_search_call_in_progress_event.rbi +126 -0
  306. data/rbi/openai/models/beta/beta_response_file_search_call_searching_event.rbi +126 -0
  307. data/rbi/openai/models/beta/beta_response_file_search_tool_call.rbi +328 -0
  308. data/rbi/openai/models/beta/beta_response_format_text_config.rbi +97 -0
  309. data/rbi/openai/models/beta/beta_response_format_text_json_schema_config.rbi +97 -0
  310. data/rbi/openai/models/beta/beta_response_function_call_arguments_delta_event.rbi +134 -0
  311. data/rbi/openai/models/beta/beta_response_function_call_arguments_done_event.rbi +140 -0
  312. data/rbi/openai/models/beta/beta_response_function_call_output_item.rbi +32 -0
  313. data/rbi/openai/models/beta/beta_response_function_call_output_item_list.rbi +21 -0
  314. data/rbi/openai/models/beta/beta_response_function_shell_call_output_content.rbi +160 -0
  315. data/rbi/openai/models/beta/beta_response_function_shell_tool_call.rbi +389 -0
  316. data/rbi/openai/models/beta/beta_response_function_shell_tool_call_output.rbi +470 -0
  317. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +310 -0
  318. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +115 -0
  319. data/rbi/openai/models/beta/beta_response_function_tool_call_output_item.rbi +364 -0
  320. data/rbi/openai/models/beta/beta_response_function_web_search.rbi +416 -0
  321. data/rbi/openai/models/beta/beta_response_image_gen_call_completed_event.rbi +127 -0
  322. data/rbi/openai/models/beta/beta_response_image_gen_call_generating_event.rbi +127 -0
  323. data/rbi/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbi +126 -0
  324. data/rbi/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbi +144 -0
  325. data/rbi/openai/models/beta/beta_response_in_progress_event.rbi +113 -0
  326. data/rbi/openai/models/beta/beta_response_includable.rbi +86 -0
  327. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +113 -0
  328. data/rbi/openai/models/beta/beta_response_inject_created_event.rbi +75 -0
  329. data/rbi/openai/models/beta/beta_response_inject_event.rbi +183 -0
  330. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +304 -0
  331. data/rbi/openai/models/beta/beta_response_input.rbi +18 -0
  332. data/rbi/openai/models/beta/beta_response_input_audio.rbi +144 -0
  333. data/rbi/openai/models/beta/beta_response_input_content.rbi +31 -0
  334. data/rbi/openai/models/beta/beta_response_input_file.rbi +210 -0
  335. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +211 -0
  336. data/rbi/openai/models/beta/beta_response_input_image.rbi +173 -0
  337. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +191 -0
  338. data/rbi/openai/models/beta/beta_response_input_item.rbi +5505 -0
  339. data/rbi/openai/models/beta/beta_response_input_message_content_list.rbi +21 -0
  340. data/rbi/openai/models/beta/beta_response_input_message_item.rbi +235 -0
  341. data/rbi/openai/models/beta/beta_response_input_text.rbi +109 -0
  342. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +115 -0
  343. data/rbi/openai/models/beta/beta_response_item.rbi +2592 -0
  344. data/rbi/openai/models/beta/beta_response_local_environment.rbi +35 -0
  345. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbi +137 -0
  346. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbi +134 -0
  347. data/rbi/openai/models/beta/beta_response_mcp_call_completed_event.rbi +123 -0
  348. data/rbi/openai/models/beta/beta_response_mcp_call_failed_event.rbi +121 -0
  349. data/rbi/openai/models/beta/beta_response_mcp_call_in_progress_event.rbi +124 -0
  350. data/rbi/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbi +126 -0
  351. data/rbi/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbi +124 -0
  352. data/rbi/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbi +127 -0
  353. data/rbi/openai/models/beta/beta_response_output_audio.rbi +53 -0
  354. data/rbi/openai/models/beta/beta_response_output_item.rbi +2627 -0
  355. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +154 -0
  356. data/rbi/openai/models/beta/beta_response_output_item_done_event.rbi +154 -0
  357. data/rbi/openai/models/beta/beta_response_output_message.rbi +267 -0
  358. data/rbi/openai/models/beta/beta_response_output_refusal.rbi +41 -0
  359. data/rbi/openai/models/beta/beta_response_output_text.rbi +479 -0
  360. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +150 -0
  361. data/rbi/openai/models/beta/beta_response_prompt.rbi +122 -0
  362. data/rbi/openai/models/beta/beta_response_queued_event.rbi +107 -0
  363. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +274 -0
  364. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbi +188 -0
  365. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbi +243 -0
  366. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbi +142 -0
  367. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbi +142 -0
  368. data/rbi/openai/models/beta/beta_response_reasoning_text_delta_event.rbi +140 -0
  369. data/rbi/openai/models/beta/beta_response_reasoning_text_done_event.rbi +140 -0
  370. data/rbi/openai/models/beta/beta_response_refusal_delta_event.rbi +135 -0
  371. data/rbi/openai/models/beta/beta_response_refusal_done_event.rbi +135 -0
  372. data/rbi/openai/models/beta/beta_response_status.rbi +38 -0
  373. data/rbi/openai/models/beta/beta_response_stream_event.rbi +81 -0
  374. data/rbi/openai/models/beta/beta_response_text_config.rbi +166 -0
  375. data/rbi/openai/models/beta/beta_response_text_delta_event.rbi +263 -0
  376. data/rbi/openai/models/beta/beta_response_text_done_event.rbi +261 -0
  377. data/rbi/openai/models/beta/beta_response_tool_search_call.rbi +218 -0
  378. data/rbi/openai/models/beta/beta_response_tool_search_output_item.rbi +248 -0
  379. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +307 -0
  380. data/rbi/openai/models/beta/beta_response_usage.rbi +163 -0
  381. data/rbi/openai/models/beta/beta_response_web_search_call_completed_event.rbi +126 -0
  382. data/rbi/openai/models/beta/beta_response_web_search_call_in_progress_event.rbi +126 -0
  383. data/rbi/openai/models/beta/beta_response_web_search_call_searching_event.rbi +126 -0
  384. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2831 -0
  385. data/rbi/openai/models/beta/beta_responses_server_event.rbi +83 -0
  386. data/rbi/openai/models/beta/beta_skill_reference.rbi +52 -0
  387. data/rbi/openai/models/beta/beta_tool.rbi +1835 -0
  388. data/rbi/openai/models/beta/beta_tool_choice_allowed.rbi +126 -0
  389. data/rbi/openai/models/beta/beta_tool_choice_apply_patch.rbi +35 -0
  390. data/rbi/openai/models/beta/beta_tool_choice_custom.rbi +38 -0
  391. data/rbi/openai/models/beta/beta_tool_choice_function.rbi +41 -0
  392. data/rbi/openai/models/beta/beta_tool_choice_mcp.rbi +55 -0
  393. data/rbi/openai/models/beta/beta_tool_choice_options.rbi +38 -0
  394. data/rbi/openai/models/beta/beta_tool_choice_shell.rbi +32 -0
  395. data/rbi/openai/models/beta/beta_tool_choice_types.rbi +134 -0
  396. data/rbi/openai/models/beta/beta_tool_search_tool.rbi +109 -0
  397. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +311 -0
  398. data/rbi/openai/models/beta/beta_web_search_tool.rbi +329 -0
  399. data/rbi/openai/models/beta/response_cancel_params.rbi +83 -0
  400. data/rbi/openai/models/beta/response_compact_params.rbi +1033 -0
  401. data/rbi/openai/models/beta/response_create_params.rbi +2739 -0
  402. data/rbi/openai/models/beta/response_delete_params.rbi +83 -0
  403. data/rbi/openai/models/beta/response_retrieve_params.rbi +145 -0
  404. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +113 -0
  405. data/rbi/openai/models/beta/responses/input_item_list_params.rbi +223 -0
  406. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +1248 -0
  407. data/rbi/openai/models/beta/responses/input_token_count_response.rbi +37 -0
  408. data/rbi/openai/models/beta/threads/run_create_params.rbi +12 -26
  409. data/rbi/openai/models/chat/chat_completion_content_part.rbi +57 -1
  410. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +57 -1
  411. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +57 -1
  412. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +70 -2
  413. data/rbi/openai/models/chat/completion_create_params.rbi +513 -32
  414. data/rbi/openai/models/chat_model.rbi +3 -0
  415. data/rbi/openai/models/completion_usage.rbi +21 -4
  416. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +57 -1
  417. data/rbi/openai/models/conversations/conversation_create_params.rbi +9 -3
  418. data/rbi/openai/models/conversations/conversation_item.rbi +178 -0
  419. data/rbi/openai/models/conversations/conversation_item_list.rbi +2 -0
  420. data/rbi/openai/models/conversations/item_create_params.rbi +9 -3
  421. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +12 -26
  422. data/rbi/openai/models/evals/run_cancel_response.rbi +26 -52
  423. data/rbi/openai/models/evals/run_create_params.rbi +28 -52
  424. data/rbi/openai/models/evals/run_create_response.rbi +26 -52
  425. data/rbi/openai/models/evals/run_list_response.rbi +26 -52
  426. data/rbi/openai/models/evals/run_retrieve_response.rbi +26 -52
  427. data/rbi/openai/models/graders/score_model_grader.rbi +12 -26
  428. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +60 -0
  429. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +10 -0
  430. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +70 -0
  431. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +60 -0
  432. data/rbi/openai/models/reasoning.rbi +51 -26
  433. data/rbi/openai/models/reasoning_effort.rbi +7 -13
  434. data/rbi/openai/models/responses/apply_patch_tool.rbi +69 -2
  435. data/rbi/openai/models/responses/compacted_response.rbi +2 -0
  436. data/rbi/openai/models/responses/custom_tool.rbi +53 -0
  437. data/rbi/openai/models/responses/function_shell_tool.rbi +57 -0
  438. data/rbi/openai/models/responses/function_tool.rbi +68 -3
  439. data/rbi/openai/models/responses/input_token_count_params.rbi +32 -0
  440. data/rbi/openai/models/responses/namespace_tool.rbi +76 -0
  441. data/rbi/openai/models/responses/response.rbi +192 -3
  442. data/rbi/openai/models/responses/response_apply_patch_tool_call.rbi +98 -0
  443. data/rbi/openai/models/responses/response_apply_patch_tool_call_output.rbi +98 -0
  444. data/rbi/openai/models/responses/response_compact_params.rbi +231 -0
  445. data/rbi/openai/models/responses/response_create_params.rbi +537 -6
  446. data/rbi/openai/models/responses/response_custom_tool_call.rbi +104 -0
  447. data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +111 -1
  448. data/rbi/openai/models/responses/response_error.rbi +5 -0
  449. data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +98 -0
  450. data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +98 -0
  451. data/rbi/openai/models/responses/response_function_tool_call.rbi +104 -0
  452. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +104 -0
  453. data/rbi/openai/models/responses/response_input_file.rbi +77 -10
  454. data/rbi/openai/models/responses/response_input_file_content.rbi +83 -10
  455. data/rbi/openai/models/responses/response_input_image.rbi +57 -1
  456. data/rbi/openai/models/responses/response_input_image_content.rbi +63 -1
  457. data/rbi/openai/models/responses/response_input_item.rbi +748 -8
  458. data/rbi/openai/models/responses/response_input_text.rbi +70 -2
  459. data/rbi/openai/models/responses/response_input_text_content.rbi +76 -2
  460. data/rbi/openai/models/responses/response_item.rbi +178 -0
  461. data/rbi/openai/models/responses/response_item_list.rbi +2 -0
  462. data/rbi/openai/models/responses/response_output_item.rbi +178 -0
  463. data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -0
  464. data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -0
  465. data/rbi/openai/models/responses/response_reasoning_summary_part_done_event.rbi +58 -1
  466. data/rbi/openai/models/responses/response_tool_search_output_item.rbi +1 -0
  467. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +3 -0
  468. data/rbi/openai/models/responses/response_usage.rbi +16 -2
  469. data/rbi/openai/models/responses/responses_client_event.rbi +537 -6
  470. data/rbi/openai/models/responses/tool.rbi +142 -1
  471. data/rbi/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbi +209 -0
  472. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +2 -1
  473. data/rbi/openai/resources/beta/assistants.rbi +12 -26
  474. data/rbi/openai/resources/beta/responses/input_items.rbi +58 -0
  475. data/rbi/openai/resources/beta/responses/input_tokens.rbi +154 -0
  476. data/rbi/openai/resources/beta/responses.rbi +903 -0
  477. data/rbi/openai/resources/beta/threads/runs.rbi +12 -26
  478. data/rbi/openai/resources/beta.rbi +3 -0
  479. data/rbi/openai/resources/chat/completions.rbi +48 -28
  480. data/rbi/openai/resources/conversations/items.rbi +3 -1
  481. data/rbi/openai/resources/conversations.rbi +3 -1
  482. data/rbi/openai/resources/responses/input_tokens.rbi +2 -0
  483. data/rbi/openai/resources/responses.rbi +54 -2
  484. data/rbi/openai/resources/webhooks.rbi +2 -1
  485. data/sig/openai/client.rbs +1 -1
  486. data/sig/openai/internal/transport/base_client.rbs +2 -2
  487. data/sig/openai/models/beta/beta_apply_patch_tool.rbs +40 -0
  488. data/sig/openai/models/beta/beta_compacted_response.rbs +44 -0
  489. data/sig/openai/models/beta/beta_computer_action.rbs +259 -0
  490. data/sig/openai/models/beta/beta_computer_action_list.rbs +12 -0
  491. data/sig/openai/models/beta/beta_computer_tool.rbs +17 -0
  492. data/sig/openai/models/beta/beta_computer_use_preview_tool.rbs +53 -0
  493. data/sig/openai/models/beta/beta_container_auto.rbs +86 -0
  494. data/sig/openai/models/beta/beta_container_network_policy_allowlist.rbs +38 -0
  495. data/sig/openai/models/beta/beta_container_network_policy_disabled.rbs +17 -0
  496. data/sig/openai/models/beta/beta_container_network_policy_domain_secret.rbs +22 -0
  497. data/sig/openai/models/beta/beta_container_reference.rbs +23 -0
  498. data/sig/openai/models/beta/beta_custom_tool.rbs +126 -0
  499. data/sig/openai/models/beta/beta_easy_input_message.rbs +87 -0
  500. data/sig/openai/models/beta/beta_file_search_tool.rbs +298 -0
  501. data/sig/openai/models/beta/beta_function_shell_tool.rbs +56 -0
  502. data/sig/openai/models/beta/beta_function_tool.rbs +72 -0
  503. data/sig/openai/models/beta/beta_inline_skill.rbs +39 -0
  504. data/sig/openai/models/beta/beta_inline_skill_source.rbs +30 -0
  505. data/sig/openai/models/beta/beta_local_environment.rbs +30 -0
  506. data/sig/openai/models/beta/beta_local_skill.rbs +26 -0
  507. data/sig/openai/models/beta/beta_namespace_tool.rbs +114 -0
  508. data/sig/openai/models/beta/beta_response.rbs +860 -0
  509. data/sig/openai/models/beta/beta_response_apply_patch_tool_call.rbs +177 -0
  510. data/sig/openai/models/beta/beta_response_apply_patch_tool_call_output.rbs +118 -0
  511. data/sig/openai/models/beta/beta_response_audio_delta_event.rbs +49 -0
  512. data/sig/openai/models/beta/beta_response_audio_done_event.rbs +44 -0
  513. data/sig/openai/models/beta/beta_response_audio_transcript_delta_event.rbs +49 -0
  514. data/sig/openai/models/beta/beta_response_audio_transcript_done_event.rbs +44 -0
  515. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbs +59 -0
  516. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbs +59 -0
  517. data/sig/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbs +54 -0
  518. data/sig/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbs +54 -0
  519. data/sig/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbs +54 -0
  520. data/sig/openai/models/beta/beta_response_code_interpreter_tool_call.rbs +113 -0
  521. data/sig/openai/models/beta/beta_response_compaction_item.rbs +60 -0
  522. data/sig/openai/models/beta/beta_response_compaction_item_param.rbs +49 -0
  523. data/sig/openai/models/beta/beta_response_completed_event.rbs +49 -0
  524. data/sig/openai/models/beta/beta_response_computer_tool_call.rbs +118 -0
  525. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +107 -0
  526. data/sig/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbs +34 -0
  527. data/sig/openai/models/beta/beta_response_container_reference.rbs +23 -0
  528. data/sig/openai/models/beta/beta_response_content.rbs +33 -0
  529. data/sig/openai/models/beta/beta_response_content_part_added_event.rbs +87 -0
  530. data/sig/openai/models/beta/beta_response_content_part_done_event.rbs +87 -0
  531. data/sig/openai/models/beta/beta_response_conversation_param.rbs +17 -0
  532. data/sig/openai/models/beta/beta_response_created_event.rbs +49 -0
  533. data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +105 -0
  534. data/sig/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbs +59 -0
  535. data/sig/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbs +59 -0
  536. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +54 -0
  537. data/sig/openai/models/beta/beta_response_custom_tool_call_output.rbs +116 -0
  538. data/sig/openai/models/beta/beta_response_custom_tool_call_output_item.rbs +54 -0
  539. data/sig/openai/models/beta/beta_response_error.rbs +73 -0
  540. data/sig/openai/models/beta/beta_response_error_event.rbs +59 -0
  541. data/sig/openai/models/beta/beta_response_failed_event.rbs +49 -0
  542. data/sig/openai/models/beta/beta_response_file_search_call_completed_event.rbs +54 -0
  543. data/sig/openai/models/beta/beta_response_file_search_call_in_progress_event.rbs +54 -0
  544. data/sig/openai/models/beta/beta_response_file_search_call_searching_event.rbs +54 -0
  545. data/sig/openai/models/beta/beta_response_file_search_tool_call.rbs +127 -0
  546. data/sig/openai/models/beta/beta_response_format_text_config.rbs +38 -0
  547. data/sig/openai/models/beta/beta_response_format_text_json_schema_config.rbs +46 -0
  548. data/sig/openai/models/beta/beta_response_function_call_arguments_delta_event.rbs +59 -0
  549. data/sig/openai/models/beta/beta_response_function_call_arguments_done_event.rbs +64 -0
  550. data/sig/openai/models/beta/beta_response_function_call_output_item.rbs +18 -0
  551. data/sig/openai/models/beta/beta_response_function_call_output_item_list.rbs +12 -0
  552. data/sig/openai/models/beta/beta_response_function_shell_call_output_content.rbs +66 -0
  553. data/sig/openai/models/beta/beta_response_function_shell_tool_call.rbs +161 -0
  554. data/sig/openai/models/beta/beta_response_function_shell_tool_call_output.rbs +190 -0
  555. data/sig/openai/models/beta/beta_response_function_tool_call.rbs +126 -0
  556. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +54 -0
  557. data/sig/openai/models/beta/beta_response_function_tool_call_output_item.rbs +138 -0
  558. data/sig/openai/models/beta/beta_response_function_web_search.rbs +165 -0
  559. data/sig/openai/models/beta/beta_response_image_gen_call_completed_event.rbs +54 -0
  560. data/sig/openai/models/beta/beta_response_image_gen_call_generating_event.rbs +54 -0
  561. data/sig/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbs +54 -0
  562. data/sig/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbs +64 -0
  563. data/sig/openai/models/beta/beta_response_in_progress_event.rbs +49 -0
  564. data/sig/openai/models/beta/beta_response_includable.rbs +32 -0
  565. data/sig/openai/models/beta/beta_response_incomplete_event.rbs +49 -0
  566. data/sig/openai/models/beta/beta_response_inject_created_event.rbs +41 -0
  567. data/sig/openai/models/beta/beta_response_inject_event.rbs +34 -0
  568. data/sig/openai/models/beta/beta_response_inject_failed_event.rbs +84 -0
  569. data/sig/openai/models/beta/beta_response_input.rbs +12 -0
  570. data/sig/openai/models/beta/beta_response_input_audio.rbs +62 -0
  571. data/sig/openai/models/beta/beta_response_input_content.rbs +18 -0
  572. data/sig/openai/models/beta/beta_response_input_file.rbs +90 -0
  573. data/sig/openai/models/beta/beta_response_input_file_content.rbs +80 -0
  574. data/sig/openai/models/beta/beta_response_input_image.rbs +71 -0
  575. data/sig/openai/models/beta/beta_response_input_image_content.rbs +67 -0
  576. data/sig/openai/models/beta/beta_response_input_item.rbs +2064 -0
  577. data/sig/openai/models/beta/beta_response_input_message_content_list.rbs +12 -0
  578. data/sig/openai/models/beta/beta_response_input_message_item.rbs +87 -0
  579. data/sig/openai/models/beta/beta_response_input_text.rbs +48 -0
  580. data/sig/openai/models/beta/beta_response_input_text_content.rbs +44 -0
  581. data/sig/openai/models/beta/beta_response_item.rbs +1097 -0
  582. data/sig/openai/models/beta/beta_response_local_environment.rbs +17 -0
  583. data/sig/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbs +59 -0
  584. data/sig/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbs +59 -0
  585. data/sig/openai/models/beta/beta_response_mcp_call_completed_event.rbs +54 -0
  586. data/sig/openai/models/beta/beta_response_mcp_call_failed_event.rbs +54 -0
  587. data/sig/openai/models/beta/beta_response_mcp_call_in_progress_event.rbs +54 -0
  588. data/sig/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbs +54 -0
  589. data/sig/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbs +54 -0
  590. data/sig/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbs +54 -0
  591. data/sig/openai/models/beta/beta_response_output_audio.rbs +30 -0
  592. data/sig/openai/models/beta/beta_response_output_item.rbs +1096 -0
  593. data/sig/openai/models/beta/beta_response_output_item_added_event.rbs +54 -0
  594. data/sig/openai/models/beta/beta_response_output_item_done_event.rbs +54 -0
  595. data/sig/openai/models/beta/beta_response_output_message.rbs +97 -0
  596. data/sig/openai/models/beta/beta_response_output_refusal.rbs +19 -0
  597. data/sig/openai/models/beta/beta_response_output_text.rbs +243 -0
  598. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +69 -0
  599. data/sig/openai/models/beta/beta_response_prompt.rbs +46 -0
  600. data/sig/openai/models/beta/beta_response_queued_event.rbs +49 -0
  601. data/sig/openai/models/beta/beta_response_reasoning_item.rbs +108 -0
  602. data/sig/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbs +76 -0
  603. data/sig/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbs +95 -0
  604. data/sig/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbs +64 -0
  605. data/sig/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbs +64 -0
  606. data/sig/openai/models/beta/beta_response_reasoning_text_delta_event.rbs +64 -0
  607. data/sig/openai/models/beta/beta_response_reasoning_text_done_event.rbs +64 -0
  608. data/sig/openai/models/beta/beta_response_refusal_delta_event.rbs +64 -0
  609. data/sig/openai/models/beta/beta_response_refusal_done_event.rbs +64 -0
  610. data/sig/openai/models/beta/beta_response_status.rbs +23 -0
  611. data/sig/openai/models/beta/beta_response_stream_event.rbs +68 -0
  612. data/sig/openai/models/beta/beta_response_text_config.rbs +45 -0
  613. data/sig/openai/models/beta/beta_response_text_delta_event.rbs +116 -0
  614. data/sig/openai/models/beta/beta_response_text_done_event.rbs +116 -0
  615. data/sig/openai/models/beta/beta_response_tool_search_call.rbs +98 -0
  616. data/sig/openai/models/beta/beta_response_tool_search_output_item.rbs +98 -0
  617. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +91 -0
  618. data/sig/openai/models/beta/beta_response_usage.rbs +73 -0
  619. data/sig/openai/models/beta/beta_response_web_search_call_completed_event.rbs +54 -0
  620. data/sig/openai/models/beta/beta_response_web_search_call_in_progress_event.rbs +54 -0
  621. data/sig/openai/models/beta/beta_response_web_search_call_searching_event.rbs +54 -0
  622. data/sig/openai/models/beta/beta_responses_client_event.rbs +804 -0
  623. data/sig/openai/models/beta/beta_responses_server_event.rbs +70 -0
  624. data/sig/openai/models/beta/beta_skill_reference.rbs +32 -0
  625. data/sig/openai/models/beta/beta_tool.rbs +634 -0
  626. data/sig/openai/models/beta/beta_tool_choice_allowed.rbs +45 -0
  627. data/sig/openai/models/beta/beta_tool_choice_apply_patch.rbs +17 -0
  628. data/sig/openai/models/beta/beta_tool_choice_custom.rbs +19 -0
  629. data/sig/openai/models/beta/beta_tool_choice_function.rbs +19 -0
  630. data/sig/openai/models/beta/beta_tool_choice_mcp.rbs +26 -0
  631. data/sig/openai/models/beta/beta_tool_choice_options.rbs +19 -0
  632. data/sig/openai/models/beta/beta_tool_choice_shell.rbs +17 -0
  633. data/sig/openai/models/beta/beta_tool_choice_types.rbs +47 -0
  634. data/sig/openai/models/beta/beta_tool_search_tool.rbs +54 -0
  635. data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +118 -0
  636. data/sig/openai/models/beta/beta_web_search_tool.rbs +127 -0
  637. data/sig/openai/models/beta/response_cancel_params.rbs +47 -0
  638. data/sig/openai/models/beta/response_compact_params.rbs +368 -0
  639. data/sig/openai/models/beta/response_create_params.rbs +804 -0
  640. data/sig/openai/models/beta/response_delete_params.rbs +47 -0
  641. data/sig/openai/models/beta/response_retrieve_params.rbs +70 -0
  642. data/sig/openai/models/beta/responses/beta_response_item_list.rbs +44 -0
  643. data/sig/openai/models/beta/responses/input_item_list_params.rbs +92 -0
  644. data/sig/openai/models/beta/responses/input_token_count_params.rbs +325 -0
  645. data/sig/openai/models/beta/responses/input_token_count_response.rbs +26 -0
  646. data/sig/openai/models/chat/chat_completion_content_part.rbs +21 -2
  647. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +21 -2
  648. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +21 -2
  649. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +32 -3
  650. data/sig/openai/models/chat/completion_create_params.rbs +153 -3
  651. data/sig/openai/models/chat_model.rbs +7 -1
  652. data/sig/openai/models/completion_usage.rbs +15 -2
  653. data/sig/openai/models/conversations/computer_screenshot_content.rbs +21 -2
  654. data/sig/openai/models/conversations/conversation_item.rbs +87 -0
  655. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +16 -0
  656. data/sig/openai/models/realtime/realtime_session_create_request.rbs +4 -0
  657. data/sig/openai/models/realtime/realtime_session_create_response.rbs +20 -0
  658. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +16 -0
  659. data/sig/openai/models/reasoning.rbs +20 -0
  660. data/sig/openai/models/reasoning_effort.rbs +3 -1
  661. data/sig/openai/models/responses/apply_patch_tool.rbs +26 -3
  662. data/sig/openai/models/responses/custom_tool.rbs +16 -0
  663. data/sig/openai/models/responses/function_shell_tool.rbs +16 -0
  664. data/sig/openai/models/responses/function_tool.rbs +23 -2
  665. data/sig/openai/models/responses/input_token_count_params.rbs +12 -0
  666. data/sig/openai/models/responses/namespace_tool.rbs +21 -0
  667. data/sig/openai/models/responses/response.rbs +64 -0
  668. data/sig/openai/models/responses/response_apply_patch_tool_call.rbs +37 -0
  669. data/sig/openai/models/responses/response_apply_patch_tool_call_output.rbs +37 -0
  670. data/sig/openai/models/responses/response_compact_params.rbs +63 -1
  671. data/sig/openai/models/responses/response_create_params.rbs +165 -3
  672. data/sig/openai/models/responses/response_custom_tool_call.rbs +37 -0
  673. data/sig/openai/models/responses/response_custom_tool_call_output.rbs +39 -2
  674. data/sig/openai/models/responses/response_error.rbs +2 -0
  675. data/sig/openai/models/responses/response_function_shell_tool_call.rbs +37 -0
  676. data/sig/openai/models/responses/response_function_shell_tool_call_output.rbs +37 -0
  677. data/sig/openai/models/responses/response_function_tool_call.rbs +37 -0
  678. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +37 -0
  679. data/sig/openai/models/responses/response_input_file.rbs +23 -3
  680. data/sig/openai/models/responses/response_input_file_content.rbs +19 -3
  681. data/sig/openai/models/responses/response_input_image.rbs +21 -2
  682. data/sig/openai/models/responses/response_input_image_content.rbs +17 -2
  683. data/sig/openai/models/responses/response_input_item.rbs +274 -2
  684. data/sig/openai/models/responses/response_input_text.rbs +32 -3
  685. data/sig/openai/models/responses/response_input_text_content.rbs +28 -3
  686. data/sig/openai/models/responses/response_item.rbs +87 -0
  687. data/sig/openai/models/responses/response_output_item.rbs +87 -0
  688. data/sig/openai/models/responses/response_reasoning_summary_part_done_event.rbs +21 -2
  689. data/sig/openai/models/responses/response_usage.rbs +12 -3
  690. data/sig/openai/models/responses/responses_client_event.rbs +165 -3
  691. data/sig/openai/models/responses/tool.rbs +45 -2
  692. data/sig/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbs +99 -0
  693. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  694. data/sig/openai/resources/beta/responses/input_items.rbs +21 -0
  695. data/sig/openai/resources/beta/responses/input_tokens.rbs +28 -0
  696. data/sig/openai/resources/beta/responses.rbs +128 -0
  697. data/sig/openai/resources/beta.rbs +2 -0
  698. data/sig/openai/resources/chat/completions.rbs +2 -0
  699. data/sig/openai/resources/responses.rbs +3 -0
  700. data/sig/openai/resources/webhooks.rbs +2 -1
  701. metadata +491 -2
@@ -0,0 +1,2592 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ BetaResponseItem = Beta::BetaResponseItem
6
+
7
+ module Beta
8
+ # Content item used to generate a response.
9
+ module BetaResponseItem
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ Variants =
13
+ T.type_alias do
14
+ T.any(
15
+ OpenAI::Beta::BetaResponseInputMessageItem,
16
+ OpenAI::Beta::BetaResponseOutputMessage,
17
+ OpenAI::Beta::BetaResponseFileSearchToolCall,
18
+ OpenAI::Beta::BetaResponseComputerToolCall,
19
+ OpenAI::Beta::BetaResponseComputerToolCallOutputItem,
20
+ OpenAI::Beta::BetaResponseFunctionWebSearch,
21
+ OpenAI::Beta::BetaResponseFunctionToolCallItem,
22
+ OpenAI::Beta::BetaResponseFunctionToolCallOutputItem,
23
+ OpenAI::Beta::BetaResponseItem::AgentMessage,
24
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall,
25
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput,
26
+ OpenAI::Beta::BetaResponseToolSearchCall,
27
+ OpenAI::Beta::BetaResponseToolSearchOutputItem,
28
+ OpenAI::Beta::BetaResponseItem::AdditionalTools,
29
+ OpenAI::Beta::BetaResponseReasoningItem,
30
+ OpenAI::Beta::BetaResponseItem::Program,
31
+ OpenAI::Beta::BetaResponseItem::ProgramOutput,
32
+ OpenAI::Beta::BetaResponseCompactionItem,
33
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall,
34
+ OpenAI::Beta::BetaResponseCodeInterpreterToolCall,
35
+ OpenAI::Beta::BetaResponseItem::LocalShellCall,
36
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput,
37
+ OpenAI::Beta::BetaResponseFunctionShellToolCall,
38
+ OpenAI::Beta::BetaResponseFunctionShellToolCallOutput,
39
+ OpenAI::Beta::BetaResponseApplyPatchToolCall,
40
+ OpenAI::Beta::BetaResponseApplyPatchToolCallOutput,
41
+ OpenAI::Beta::BetaResponseItem::McpListTools,
42
+ OpenAI::Beta::BetaResponseItem::McpApprovalRequest,
43
+ OpenAI::Beta::BetaResponseItem::McpApprovalResponse,
44
+ OpenAI::Beta::BetaResponseItem::McpCall,
45
+ OpenAI::Beta::BetaResponseCustomToolCallItem,
46
+ OpenAI::Beta::BetaResponseCustomToolCallOutputItem
47
+ )
48
+ end
49
+
50
+ class AgentMessage < OpenAI::Internal::Type::BaseModel
51
+ OrHash =
52
+ T.type_alias do
53
+ T.any(
54
+ OpenAI::Beta::BetaResponseItem::AgentMessage,
55
+ OpenAI::Internal::AnyHash
56
+ )
57
+ end
58
+
59
+ # The unique ID of the agent message.
60
+ sig { returns(String) }
61
+ attr_accessor :id
62
+
63
+ # The sending agent identity.
64
+ sig { returns(String) }
65
+ attr_accessor :author
66
+
67
+ # Encrypted content sent between agents.
68
+ sig do
69
+ returns(
70
+ T::Array[
71
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::Variants
72
+ ]
73
+ )
74
+ end
75
+ attr_accessor :content
76
+
77
+ # The destination agent identity.
78
+ sig { returns(String) }
79
+ attr_accessor :recipient
80
+
81
+ # The type of the item. Always `agent_message`.
82
+ sig { returns(Symbol) }
83
+ attr_accessor :type
84
+
85
+ # The agent that produced this item.
86
+ sig do
87
+ returns(
88
+ T.nilable(OpenAI::Beta::BetaResponseItem::AgentMessage::Agent)
89
+ )
90
+ end
91
+ attr_reader :agent
92
+
93
+ sig do
94
+ params(
95
+ agent: OpenAI::Beta::BetaResponseItem::AgentMessage::Agent::OrHash
96
+ ).void
97
+ end
98
+ attr_writer :agent
99
+
100
+ sig do
101
+ params(
102
+ id: String,
103
+ author: String,
104
+ content:
105
+ T::Array[
106
+ T.any(
107
+ OpenAI::Beta::BetaResponseInputText::OrHash,
108
+ OpenAI::Beta::BetaResponseOutputText::OrHash,
109
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::Text::OrHash,
110
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::SummaryText::OrHash,
111
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ReasoningText::OrHash,
112
+ OpenAI::Beta::BetaResponseOutputRefusal::OrHash,
113
+ OpenAI::Beta::BetaResponseInputImage::OrHash,
114
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::OrHash,
115
+ OpenAI::Beta::BetaResponseInputFile::OrHash,
116
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::EncryptedContent::OrHash
117
+ )
118
+ ],
119
+ recipient: String,
120
+ agent:
121
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Agent::OrHash,
122
+ type: Symbol
123
+ ).returns(T.attached_class)
124
+ end
125
+ def self.new(
126
+ # The unique ID of the agent message.
127
+ id:,
128
+ # The sending agent identity.
129
+ author:,
130
+ # Encrypted content sent between agents.
131
+ content:,
132
+ # The destination agent identity.
133
+ recipient:,
134
+ # The agent that produced this item.
135
+ agent: nil,
136
+ # The type of the item. Always `agent_message`.
137
+ type: :agent_message
138
+ )
139
+ end
140
+
141
+ sig do
142
+ override.returns(
143
+ {
144
+ id: String,
145
+ author: String,
146
+ content:
147
+ T::Array[
148
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::Variants
149
+ ],
150
+ recipient: String,
151
+ type: Symbol,
152
+ agent: OpenAI::Beta::BetaResponseItem::AgentMessage::Agent
153
+ }
154
+ )
155
+ end
156
+ def to_hash
157
+ end
158
+
159
+ # A content part that makes up an input or output item.
160
+ module Content
161
+ extend OpenAI::Internal::Type::Union
162
+
163
+ Variants =
164
+ T.type_alias do
165
+ T.any(
166
+ OpenAI::Beta::BetaResponseInputText,
167
+ OpenAI::Beta::BetaResponseOutputText,
168
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::Text,
169
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::SummaryText,
170
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ReasoningText,
171
+ OpenAI::Beta::BetaResponseOutputRefusal,
172
+ OpenAI::Beta::BetaResponseInputImage,
173
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot,
174
+ OpenAI::Beta::BetaResponseInputFile,
175
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::EncryptedContent
176
+ )
177
+ end
178
+
179
+ class Text < OpenAI::Internal::Type::BaseModel
180
+ OrHash =
181
+ T.type_alias do
182
+ T.any(
183
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::Text,
184
+ OpenAI::Internal::AnyHash
185
+ )
186
+ end
187
+
188
+ sig { returns(String) }
189
+ attr_accessor :text
190
+
191
+ sig { returns(Symbol) }
192
+ attr_accessor :type
193
+
194
+ # A text content.
195
+ sig do
196
+ params(text: String, type: Symbol).returns(T.attached_class)
197
+ end
198
+ def self.new(text:, type: :text)
199
+ end
200
+
201
+ sig { override.returns({ text: String, type: Symbol }) }
202
+ def to_hash
203
+ end
204
+ end
205
+
206
+ class SummaryText < OpenAI::Internal::Type::BaseModel
207
+ OrHash =
208
+ T.type_alias do
209
+ T.any(
210
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::SummaryText,
211
+ OpenAI::Internal::AnyHash
212
+ )
213
+ end
214
+
215
+ # A summary of the reasoning output from the model so far.
216
+ sig { returns(String) }
217
+ attr_accessor :text
218
+
219
+ # The type of the object. Always `summary_text`.
220
+ sig { returns(Symbol) }
221
+ attr_accessor :type
222
+
223
+ # A summary text from the model.
224
+ sig do
225
+ params(text: String, type: Symbol).returns(T.attached_class)
226
+ end
227
+ def self.new(
228
+ # A summary of the reasoning output from the model so far.
229
+ text:,
230
+ # The type of the object. Always `summary_text`.
231
+ type: :summary_text
232
+ )
233
+ end
234
+
235
+ sig { override.returns({ text: String, type: Symbol }) }
236
+ def to_hash
237
+ end
238
+ end
239
+
240
+ class ReasoningText < OpenAI::Internal::Type::BaseModel
241
+ OrHash =
242
+ T.type_alias do
243
+ T.any(
244
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ReasoningText,
245
+ OpenAI::Internal::AnyHash
246
+ )
247
+ end
248
+
249
+ # The reasoning text from the model.
250
+ sig { returns(String) }
251
+ attr_accessor :text
252
+
253
+ # The type of the reasoning text. Always `reasoning_text`.
254
+ sig { returns(Symbol) }
255
+ attr_accessor :type
256
+
257
+ # Reasoning text from the model.
258
+ sig do
259
+ params(text: String, type: Symbol).returns(T.attached_class)
260
+ end
261
+ def self.new(
262
+ # The reasoning text from the model.
263
+ text:,
264
+ # The type of the reasoning text. Always `reasoning_text`.
265
+ type: :reasoning_text
266
+ )
267
+ end
268
+
269
+ sig { override.returns({ text: String, type: Symbol }) }
270
+ def to_hash
271
+ end
272
+ end
273
+
274
+ class ComputerScreenshot < OpenAI::Internal::Type::BaseModel
275
+ OrHash =
276
+ T.type_alias do
277
+ T.any(
278
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot,
279
+ OpenAI::Internal::AnyHash
280
+ )
281
+ end
282
+
283
+ # The detail level of the screenshot image to be sent to the model. One of `high`,
284
+ # `low`, `auto`, or `original`. Defaults to `auto`.
285
+ sig do
286
+ returns(
287
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::Detail::TaggedSymbol
288
+ )
289
+ end
290
+ attr_accessor :detail
291
+
292
+ # The identifier of an uploaded file that contains the screenshot.
293
+ sig { returns(T.nilable(String)) }
294
+ attr_accessor :file_id
295
+
296
+ # The URL of the screenshot image.
297
+ sig { returns(T.nilable(String)) }
298
+ attr_accessor :image_url
299
+
300
+ # Specifies the event type. For a computer screenshot, this property is always set
301
+ # to `computer_screenshot`.
302
+ sig { returns(Symbol) }
303
+ attr_accessor :type
304
+
305
+ # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
306
+ # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
307
+ # token block.
308
+ sig do
309
+ returns(
310
+ T.nilable(
311
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint
312
+ )
313
+ )
314
+ end
315
+ attr_reader :prompt_cache_breakpoint
316
+
317
+ sig do
318
+ params(
319
+ prompt_cache_breakpoint:
320
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::OrHash
321
+ ).void
322
+ end
323
+ attr_writer :prompt_cache_breakpoint
324
+
325
+ # A screenshot of a computer.
326
+ sig do
327
+ params(
328
+ detail:
329
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::Detail::OrSymbol,
330
+ file_id: T.nilable(String),
331
+ image_url: T.nilable(String),
332
+ prompt_cache_breakpoint:
333
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::OrHash,
334
+ type: Symbol
335
+ ).returns(T.attached_class)
336
+ end
337
+ def self.new(
338
+ # The detail level of the screenshot image to be sent to the model. One of `high`,
339
+ # `low`, `auto`, or `original`. Defaults to `auto`.
340
+ detail:,
341
+ # The identifier of an uploaded file that contains the screenshot.
342
+ file_id:,
343
+ # The URL of the screenshot image.
344
+ image_url:,
345
+ # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
346
+ # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
347
+ # token block.
348
+ prompt_cache_breakpoint: nil,
349
+ # Specifies the event type. For a computer screenshot, this property is always set
350
+ # to `computer_screenshot`.
351
+ type: :computer_screenshot
352
+ )
353
+ end
354
+
355
+ sig do
356
+ override.returns(
357
+ {
358
+ detail:
359
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::Detail::TaggedSymbol,
360
+ file_id: T.nilable(String),
361
+ image_url: T.nilable(String),
362
+ type: Symbol,
363
+ prompt_cache_breakpoint:
364
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint
365
+ }
366
+ )
367
+ end
368
+ def to_hash
369
+ end
370
+
371
+ # The detail level of the screenshot image to be sent to the model. One of `high`,
372
+ # `low`, `auto`, or `original`. Defaults to `auto`.
373
+ module Detail
374
+ extend OpenAI::Internal::Type::Enum
375
+
376
+ TaggedSymbol =
377
+ T.type_alias do
378
+ T.all(
379
+ Symbol,
380
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::Detail
381
+ )
382
+ end
383
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
384
+
385
+ LOW =
386
+ T.let(
387
+ :low,
388
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::Detail::TaggedSymbol
389
+ )
390
+ HIGH =
391
+ T.let(
392
+ :high,
393
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::Detail::TaggedSymbol
394
+ )
395
+ AUTO =
396
+ T.let(
397
+ :auto,
398
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::Detail::TaggedSymbol
399
+ )
400
+ ORIGINAL =
401
+ T.let(
402
+ :original,
403
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::Detail::TaggedSymbol
404
+ )
405
+
406
+ sig do
407
+ override.returns(
408
+ T::Array[
409
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::Detail::TaggedSymbol
410
+ ]
411
+ )
412
+ end
413
+ def self.values
414
+ end
415
+ end
416
+
417
+ class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
418
+ OrHash =
419
+ T.type_alias do
420
+ T.any(
421
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint,
422
+ OpenAI::Internal::AnyHash
423
+ )
424
+ end
425
+
426
+ # The breakpoint mode. Always `explicit`.
427
+ sig { returns(Symbol) }
428
+ attr_accessor :mode
429
+
430
+ # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
431
+ # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
432
+ # token block.
433
+ sig { params(mode: Symbol).returns(T.attached_class) }
434
+ def self.new(
435
+ # The breakpoint mode. Always `explicit`.
436
+ mode: :explicit
437
+ )
438
+ end
439
+
440
+ sig { override.returns({ mode: Symbol }) }
441
+ def to_hash
442
+ end
443
+ end
444
+ end
445
+
446
+ class EncryptedContent < OpenAI::Internal::Type::BaseModel
447
+ OrHash =
448
+ T.type_alias do
449
+ T.any(
450
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::EncryptedContent,
451
+ OpenAI::Internal::AnyHash
452
+ )
453
+ end
454
+
455
+ # Opaque encrypted content.
456
+ sig { returns(String) }
457
+ attr_accessor :encrypted_content
458
+
459
+ # The type of the input item. Always `encrypted_content`.
460
+ sig { returns(Symbol) }
461
+ attr_accessor :type
462
+
463
+ # Opaque encrypted content that Responses API decrypts inside trusted model
464
+ # execution.
465
+ sig do
466
+ params(encrypted_content: String, type: Symbol).returns(
467
+ T.attached_class
468
+ )
469
+ end
470
+ def self.new(
471
+ # Opaque encrypted content.
472
+ encrypted_content:,
473
+ # The type of the input item. Always `encrypted_content`.
474
+ type: :encrypted_content
475
+ )
476
+ end
477
+
478
+ sig do
479
+ override.returns({ encrypted_content: String, type: Symbol })
480
+ end
481
+ def to_hash
482
+ end
483
+ end
484
+
485
+ sig do
486
+ override.returns(
487
+ T::Array[
488
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::Variants
489
+ ]
490
+ )
491
+ end
492
+ def self.variants
493
+ end
494
+ end
495
+
496
+ class Agent < OpenAI::Internal::Type::BaseModel
497
+ OrHash =
498
+ T.type_alias do
499
+ T.any(
500
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Agent,
501
+ OpenAI::Internal::AnyHash
502
+ )
503
+ end
504
+
505
+ # The canonical name of the agent that produced this item.
506
+ sig { returns(String) }
507
+ attr_accessor :agent_name
508
+
509
+ # The agent that produced this item.
510
+ sig { params(agent_name: String).returns(T.attached_class) }
511
+ def self.new(
512
+ # The canonical name of the agent that produced this item.
513
+ agent_name:
514
+ )
515
+ end
516
+
517
+ sig { override.returns({ agent_name: String }) }
518
+ def to_hash
519
+ end
520
+ end
521
+ end
522
+
523
+ class MultiAgentCall < OpenAI::Internal::Type::BaseModel
524
+ OrHash =
525
+ T.type_alias do
526
+ T.any(
527
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall,
528
+ OpenAI::Internal::AnyHash
529
+ )
530
+ end
531
+
532
+ # The unique ID of the multi-agent call item.
533
+ sig { returns(String) }
534
+ attr_accessor :id
535
+
536
+ # The multi-agent action to execute.
537
+ sig do
538
+ returns(
539
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::TaggedSymbol
540
+ )
541
+ end
542
+ attr_accessor :action
543
+
544
+ # The JSON string of arguments generated for the action.
545
+ sig { returns(String) }
546
+ attr_accessor :arguments
547
+
548
+ # The unique ID linking this call to its output.
549
+ sig { returns(String) }
550
+ attr_accessor :call_id
551
+
552
+ # The type of the multi-agent call. Always `multi_agent_call`.
553
+ sig { returns(Symbol) }
554
+ attr_accessor :type
555
+
556
+ # The agent that produced this item.
557
+ sig do
558
+ returns(
559
+ T.nilable(OpenAI::Beta::BetaResponseItem::MultiAgentCall::Agent)
560
+ )
561
+ end
562
+ attr_reader :agent
563
+
564
+ sig do
565
+ params(
566
+ agent:
567
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Agent::OrHash
568
+ ).void
569
+ end
570
+ attr_writer :agent
571
+
572
+ sig do
573
+ params(
574
+ id: String,
575
+ action:
576
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::OrSymbol,
577
+ arguments: String,
578
+ call_id: String,
579
+ agent:
580
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Agent::OrHash,
581
+ type: Symbol
582
+ ).returns(T.attached_class)
583
+ end
584
+ def self.new(
585
+ # The unique ID of the multi-agent call item.
586
+ id:,
587
+ # The multi-agent action to execute.
588
+ action:,
589
+ # The JSON string of arguments generated for the action.
590
+ arguments:,
591
+ # The unique ID linking this call to its output.
592
+ call_id:,
593
+ # The agent that produced this item.
594
+ agent: nil,
595
+ # The type of the multi-agent call. Always `multi_agent_call`.
596
+ type: :multi_agent_call
597
+ )
598
+ end
599
+
600
+ sig do
601
+ override.returns(
602
+ {
603
+ id: String,
604
+ action:
605
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::TaggedSymbol,
606
+ arguments: String,
607
+ call_id: String,
608
+ type: Symbol,
609
+ agent: OpenAI::Beta::BetaResponseItem::MultiAgentCall::Agent
610
+ }
611
+ )
612
+ end
613
+ def to_hash
614
+ end
615
+
616
+ # The multi-agent action to execute.
617
+ module Action
618
+ extend OpenAI::Internal::Type::Enum
619
+
620
+ TaggedSymbol =
621
+ T.type_alias do
622
+ T.all(
623
+ Symbol,
624
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action
625
+ )
626
+ end
627
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
628
+
629
+ SPAWN_AGENT =
630
+ T.let(
631
+ :spawn_agent,
632
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::TaggedSymbol
633
+ )
634
+ INTERRUPT_AGENT =
635
+ T.let(
636
+ :interrupt_agent,
637
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::TaggedSymbol
638
+ )
639
+ LIST_AGENTS =
640
+ T.let(
641
+ :list_agents,
642
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::TaggedSymbol
643
+ )
644
+ SEND_MESSAGE =
645
+ T.let(
646
+ :send_message,
647
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::TaggedSymbol
648
+ )
649
+ FOLLOWUP_TASK =
650
+ T.let(
651
+ :followup_task,
652
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::TaggedSymbol
653
+ )
654
+ WAIT_AGENT =
655
+ T.let(
656
+ :wait_agent,
657
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::TaggedSymbol
658
+ )
659
+
660
+ sig do
661
+ override.returns(
662
+ T::Array[
663
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Action::TaggedSymbol
664
+ ]
665
+ )
666
+ end
667
+ def self.values
668
+ end
669
+ end
670
+
671
+ class Agent < OpenAI::Internal::Type::BaseModel
672
+ OrHash =
673
+ T.type_alias do
674
+ T.any(
675
+ OpenAI::Beta::BetaResponseItem::MultiAgentCall::Agent,
676
+ OpenAI::Internal::AnyHash
677
+ )
678
+ end
679
+
680
+ # The canonical name of the agent that produced this item.
681
+ sig { returns(String) }
682
+ attr_accessor :agent_name
683
+
684
+ # The agent that produced this item.
685
+ sig { params(agent_name: String).returns(T.attached_class) }
686
+ def self.new(
687
+ # The canonical name of the agent that produced this item.
688
+ agent_name:
689
+ )
690
+ end
691
+
692
+ sig { override.returns({ agent_name: String }) }
693
+ def to_hash
694
+ end
695
+ end
696
+ end
697
+
698
+ class MultiAgentCallOutput < OpenAI::Internal::Type::BaseModel
699
+ OrHash =
700
+ T.type_alias do
701
+ T.any(
702
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput,
703
+ OpenAI::Internal::AnyHash
704
+ )
705
+ end
706
+
707
+ # The unique ID of the multi-agent call output item.
708
+ sig { returns(String) }
709
+ attr_accessor :id
710
+
711
+ # The multi-agent action that produced this result.
712
+ sig do
713
+ returns(
714
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::TaggedSymbol
715
+ )
716
+ end
717
+ attr_accessor :action
718
+
719
+ # The unique ID of the multi-agent call.
720
+ sig { returns(String) }
721
+ attr_accessor :call_id
722
+
723
+ # Text output returned by the multi-agent action.
724
+ sig { returns(T::Array[OpenAI::Beta::BetaResponseOutputText]) }
725
+ attr_accessor :output
726
+
727
+ # The type of the multi-agent result. Always `multi_agent_call_output`.
728
+ sig { returns(Symbol) }
729
+ attr_accessor :type
730
+
731
+ # The agent that produced this item.
732
+ sig do
733
+ returns(
734
+ T.nilable(
735
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Agent
736
+ )
737
+ )
738
+ end
739
+ attr_reader :agent
740
+
741
+ sig do
742
+ params(
743
+ agent:
744
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Agent::OrHash
745
+ ).void
746
+ end
747
+ attr_writer :agent
748
+
749
+ sig do
750
+ params(
751
+ id: String,
752
+ action:
753
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::OrSymbol,
754
+ call_id: String,
755
+ output: T::Array[OpenAI::Beta::BetaResponseOutputText::OrHash],
756
+ agent:
757
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Agent::OrHash,
758
+ type: Symbol
759
+ ).returns(T.attached_class)
760
+ end
761
+ def self.new(
762
+ # The unique ID of the multi-agent call output item.
763
+ id:,
764
+ # The multi-agent action that produced this result.
765
+ action:,
766
+ # The unique ID of the multi-agent call.
767
+ call_id:,
768
+ # Text output returned by the multi-agent action.
769
+ output:,
770
+ # The agent that produced this item.
771
+ agent: nil,
772
+ # The type of the multi-agent result. Always `multi_agent_call_output`.
773
+ type: :multi_agent_call_output
774
+ )
775
+ end
776
+
777
+ sig do
778
+ override.returns(
779
+ {
780
+ id: String,
781
+ action:
782
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::TaggedSymbol,
783
+ call_id: String,
784
+ output: T::Array[OpenAI::Beta::BetaResponseOutputText],
785
+ type: Symbol,
786
+ agent:
787
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Agent
788
+ }
789
+ )
790
+ end
791
+ def to_hash
792
+ end
793
+
794
+ # The multi-agent action that produced this result.
795
+ module Action
796
+ extend OpenAI::Internal::Type::Enum
797
+
798
+ TaggedSymbol =
799
+ T.type_alias do
800
+ T.all(
801
+ Symbol,
802
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action
803
+ )
804
+ end
805
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
806
+
807
+ SPAWN_AGENT =
808
+ T.let(
809
+ :spawn_agent,
810
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::TaggedSymbol
811
+ )
812
+ INTERRUPT_AGENT =
813
+ T.let(
814
+ :interrupt_agent,
815
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::TaggedSymbol
816
+ )
817
+ LIST_AGENTS =
818
+ T.let(
819
+ :list_agents,
820
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::TaggedSymbol
821
+ )
822
+ SEND_MESSAGE =
823
+ T.let(
824
+ :send_message,
825
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::TaggedSymbol
826
+ )
827
+ FOLLOWUP_TASK =
828
+ T.let(
829
+ :followup_task,
830
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::TaggedSymbol
831
+ )
832
+ WAIT_AGENT =
833
+ T.let(
834
+ :wait_agent,
835
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::TaggedSymbol
836
+ )
837
+
838
+ sig do
839
+ override.returns(
840
+ T::Array[
841
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Action::TaggedSymbol
842
+ ]
843
+ )
844
+ end
845
+ def self.values
846
+ end
847
+ end
848
+
849
+ class Agent < OpenAI::Internal::Type::BaseModel
850
+ OrHash =
851
+ T.type_alias do
852
+ T.any(
853
+ OpenAI::Beta::BetaResponseItem::MultiAgentCallOutput::Agent,
854
+ OpenAI::Internal::AnyHash
855
+ )
856
+ end
857
+
858
+ # The canonical name of the agent that produced this item.
859
+ sig { returns(String) }
860
+ attr_accessor :agent_name
861
+
862
+ # The agent that produced this item.
863
+ sig { params(agent_name: String).returns(T.attached_class) }
864
+ def self.new(
865
+ # The canonical name of the agent that produced this item.
866
+ agent_name:
867
+ )
868
+ end
869
+
870
+ sig { override.returns({ agent_name: String }) }
871
+ def to_hash
872
+ end
873
+ end
874
+ end
875
+
876
+ class AdditionalTools < OpenAI::Internal::Type::BaseModel
877
+ OrHash =
878
+ T.type_alias do
879
+ T.any(
880
+ OpenAI::Beta::BetaResponseItem::AdditionalTools,
881
+ OpenAI::Internal::AnyHash
882
+ )
883
+ end
884
+
885
+ # The unique ID of the additional tools item.
886
+ sig { returns(String) }
887
+ attr_accessor :id
888
+
889
+ # The role that provided the additional tools.
890
+ sig do
891
+ returns(
892
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
893
+ )
894
+ end
895
+ attr_accessor :role
896
+
897
+ # The additional tool definitions made available at this item.
898
+ sig { returns(T::Array[OpenAI::Beta::BetaTool::Variants]) }
899
+ attr_accessor :tools
900
+
901
+ # The type of the item. Always `additional_tools`.
902
+ sig { returns(Symbol) }
903
+ attr_accessor :type
904
+
905
+ # The agent that produced this item.
906
+ sig do
907
+ returns(
908
+ T.nilable(OpenAI::Beta::BetaResponseItem::AdditionalTools::Agent)
909
+ )
910
+ end
911
+ attr_reader :agent
912
+
913
+ sig do
914
+ params(
915
+ agent:
916
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Agent::OrHash
917
+ ).void
918
+ end
919
+ attr_writer :agent
920
+
921
+ sig do
922
+ params(
923
+ id: String,
924
+ role:
925
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::OrSymbol,
926
+ tools:
927
+ T::Array[
928
+ T.any(
929
+ OpenAI::Beta::BetaFunctionTool::OrHash,
930
+ OpenAI::Beta::BetaFileSearchTool::OrHash,
931
+ OpenAI::Beta::BetaComputerTool::OrHash,
932
+ OpenAI::Beta::BetaComputerUsePreviewTool::OrHash,
933
+ OpenAI::Beta::BetaTool::Mcp::OrHash,
934
+ OpenAI::Beta::BetaTool::CodeInterpreter::OrHash,
935
+ OpenAI::Beta::BetaTool::ProgrammaticToolCalling::OrHash,
936
+ OpenAI::Beta::BetaTool::ImageGeneration::OrHash,
937
+ OpenAI::Beta::BetaTool::LocalShell::OrHash,
938
+ OpenAI::Beta::BetaFunctionShellTool::OrHash,
939
+ OpenAI::Beta::BetaCustomTool::OrHash,
940
+ OpenAI::Beta::BetaNamespaceTool::OrHash,
941
+ OpenAI::Beta::BetaToolSearchTool::OrHash,
942
+ OpenAI::Beta::BetaApplyPatchTool::OrHash,
943
+ OpenAI::Beta::BetaWebSearchTool::OrHash,
944
+ OpenAI::Beta::BetaWebSearchPreviewTool::OrHash
945
+ )
946
+ ],
947
+ agent:
948
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Agent::OrHash,
949
+ type: Symbol
950
+ ).returns(T.attached_class)
951
+ end
952
+ def self.new(
953
+ # The unique ID of the additional tools item.
954
+ id:,
955
+ # The role that provided the additional tools.
956
+ role:,
957
+ # The additional tool definitions made available at this item.
958
+ tools:,
959
+ # The agent that produced this item.
960
+ agent: nil,
961
+ # The type of the item. Always `additional_tools`.
962
+ type: :additional_tools
963
+ )
964
+ end
965
+
966
+ sig do
967
+ override.returns(
968
+ {
969
+ id: String,
970
+ role:
971
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol,
972
+ tools: T::Array[OpenAI::Beta::BetaTool::Variants],
973
+ type: Symbol,
974
+ agent: OpenAI::Beta::BetaResponseItem::AdditionalTools::Agent
975
+ }
976
+ )
977
+ end
978
+ def to_hash
979
+ end
980
+
981
+ # The role that provided the additional tools.
982
+ module Role
983
+ extend OpenAI::Internal::Type::Enum
984
+
985
+ TaggedSymbol =
986
+ T.type_alias do
987
+ T.all(
988
+ Symbol,
989
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role
990
+ )
991
+ end
992
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
993
+
994
+ UNKNOWN =
995
+ T.let(
996
+ :unknown,
997
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
998
+ )
999
+ USER =
1000
+ T.let(
1001
+ :user,
1002
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
1003
+ )
1004
+ ASSISTANT =
1005
+ T.let(
1006
+ :assistant,
1007
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
1008
+ )
1009
+ SYSTEM =
1010
+ T.let(
1011
+ :system,
1012
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
1013
+ )
1014
+ CRITIC =
1015
+ T.let(
1016
+ :critic,
1017
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
1018
+ )
1019
+ DISCRIMINATOR =
1020
+ T.let(
1021
+ :discriminator,
1022
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
1023
+ )
1024
+ DEVELOPER =
1025
+ T.let(
1026
+ :developer,
1027
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
1028
+ )
1029
+ TOOL =
1030
+ T.let(
1031
+ :tool,
1032
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
1033
+ )
1034
+
1035
+ sig do
1036
+ override.returns(
1037
+ T::Array[
1038
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Role::TaggedSymbol
1039
+ ]
1040
+ )
1041
+ end
1042
+ def self.values
1043
+ end
1044
+ end
1045
+
1046
+ class Agent < OpenAI::Internal::Type::BaseModel
1047
+ OrHash =
1048
+ T.type_alias do
1049
+ T.any(
1050
+ OpenAI::Beta::BetaResponseItem::AdditionalTools::Agent,
1051
+ OpenAI::Internal::AnyHash
1052
+ )
1053
+ end
1054
+
1055
+ # The canonical name of the agent that produced this item.
1056
+ sig { returns(String) }
1057
+ attr_accessor :agent_name
1058
+
1059
+ # The agent that produced this item.
1060
+ sig { params(agent_name: String).returns(T.attached_class) }
1061
+ def self.new(
1062
+ # The canonical name of the agent that produced this item.
1063
+ agent_name:
1064
+ )
1065
+ end
1066
+
1067
+ sig { override.returns({ agent_name: String }) }
1068
+ def to_hash
1069
+ end
1070
+ end
1071
+ end
1072
+
1073
+ class Program < OpenAI::Internal::Type::BaseModel
1074
+ OrHash =
1075
+ T.type_alias do
1076
+ T.any(
1077
+ OpenAI::Beta::BetaResponseItem::Program,
1078
+ OpenAI::Internal::AnyHash
1079
+ )
1080
+ end
1081
+
1082
+ # The unique ID of the program item.
1083
+ sig { returns(String) }
1084
+ attr_accessor :id
1085
+
1086
+ # The stable call ID of the program item.
1087
+ sig { returns(String) }
1088
+ attr_accessor :call_id
1089
+
1090
+ # The JavaScript source executed by programmatic tool calling.
1091
+ sig { returns(String) }
1092
+ attr_accessor :code
1093
+
1094
+ # Opaque program replay fingerprint that must be round-tripped.
1095
+ sig { returns(String) }
1096
+ attr_accessor :fingerprint
1097
+
1098
+ # The type of the item. Always `program`.
1099
+ sig { returns(Symbol) }
1100
+ attr_accessor :type
1101
+
1102
+ # The agent that produced this item.
1103
+ sig do
1104
+ returns(T.nilable(OpenAI::Beta::BetaResponseItem::Program::Agent))
1105
+ end
1106
+ attr_reader :agent
1107
+
1108
+ sig do
1109
+ params(
1110
+ agent: OpenAI::Beta::BetaResponseItem::Program::Agent::OrHash
1111
+ ).void
1112
+ end
1113
+ attr_writer :agent
1114
+
1115
+ sig do
1116
+ params(
1117
+ id: String,
1118
+ call_id: String,
1119
+ code: String,
1120
+ fingerprint: String,
1121
+ agent: OpenAI::Beta::BetaResponseItem::Program::Agent::OrHash,
1122
+ type: Symbol
1123
+ ).returns(T.attached_class)
1124
+ end
1125
+ def self.new(
1126
+ # The unique ID of the program item.
1127
+ id:,
1128
+ # The stable call ID of the program item.
1129
+ call_id:,
1130
+ # The JavaScript source executed by programmatic tool calling.
1131
+ code:,
1132
+ # Opaque program replay fingerprint that must be round-tripped.
1133
+ fingerprint:,
1134
+ # The agent that produced this item.
1135
+ agent: nil,
1136
+ # The type of the item. Always `program`.
1137
+ type: :program
1138
+ )
1139
+ end
1140
+
1141
+ sig do
1142
+ override.returns(
1143
+ {
1144
+ id: String,
1145
+ call_id: String,
1146
+ code: String,
1147
+ fingerprint: String,
1148
+ type: Symbol,
1149
+ agent: OpenAI::Beta::BetaResponseItem::Program::Agent
1150
+ }
1151
+ )
1152
+ end
1153
+ def to_hash
1154
+ end
1155
+
1156
+ class Agent < OpenAI::Internal::Type::BaseModel
1157
+ OrHash =
1158
+ T.type_alias do
1159
+ T.any(
1160
+ OpenAI::Beta::BetaResponseItem::Program::Agent,
1161
+ OpenAI::Internal::AnyHash
1162
+ )
1163
+ end
1164
+
1165
+ # The canonical name of the agent that produced this item.
1166
+ sig { returns(String) }
1167
+ attr_accessor :agent_name
1168
+
1169
+ # The agent that produced this item.
1170
+ sig { params(agent_name: String).returns(T.attached_class) }
1171
+ def self.new(
1172
+ # The canonical name of the agent that produced this item.
1173
+ agent_name:
1174
+ )
1175
+ end
1176
+
1177
+ sig { override.returns({ agent_name: String }) }
1178
+ def to_hash
1179
+ end
1180
+ end
1181
+ end
1182
+
1183
+ class ProgramOutput < OpenAI::Internal::Type::BaseModel
1184
+ OrHash =
1185
+ T.type_alias do
1186
+ T.any(
1187
+ OpenAI::Beta::BetaResponseItem::ProgramOutput,
1188
+ OpenAI::Internal::AnyHash
1189
+ )
1190
+ end
1191
+
1192
+ # The unique ID of the program output item.
1193
+ sig { returns(String) }
1194
+ attr_accessor :id
1195
+
1196
+ # The call ID of the program item.
1197
+ sig { returns(String) }
1198
+ attr_accessor :call_id
1199
+
1200
+ # The result produced by the program item.
1201
+ sig { returns(String) }
1202
+ attr_accessor :result
1203
+
1204
+ # The terminal status of the program output item.
1205
+ sig do
1206
+ returns(
1207
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Status::TaggedSymbol
1208
+ )
1209
+ end
1210
+ attr_accessor :status
1211
+
1212
+ # The type of the item. Always `program_output`.
1213
+ sig { returns(Symbol) }
1214
+ attr_accessor :type
1215
+
1216
+ # The agent that produced this item.
1217
+ sig do
1218
+ returns(
1219
+ T.nilable(OpenAI::Beta::BetaResponseItem::ProgramOutput::Agent)
1220
+ )
1221
+ end
1222
+ attr_reader :agent
1223
+
1224
+ sig do
1225
+ params(
1226
+ agent:
1227
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Agent::OrHash
1228
+ ).void
1229
+ end
1230
+ attr_writer :agent
1231
+
1232
+ sig do
1233
+ params(
1234
+ id: String,
1235
+ call_id: String,
1236
+ result: String,
1237
+ status:
1238
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Status::OrSymbol,
1239
+ agent:
1240
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Agent::OrHash,
1241
+ type: Symbol
1242
+ ).returns(T.attached_class)
1243
+ end
1244
+ def self.new(
1245
+ # The unique ID of the program output item.
1246
+ id:,
1247
+ # The call ID of the program item.
1248
+ call_id:,
1249
+ # The result produced by the program item.
1250
+ result:,
1251
+ # The terminal status of the program output item.
1252
+ status:,
1253
+ # The agent that produced this item.
1254
+ agent: nil,
1255
+ # The type of the item. Always `program_output`.
1256
+ type: :program_output
1257
+ )
1258
+ end
1259
+
1260
+ sig do
1261
+ override.returns(
1262
+ {
1263
+ id: String,
1264
+ call_id: String,
1265
+ result: String,
1266
+ status:
1267
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Status::TaggedSymbol,
1268
+ type: Symbol,
1269
+ agent: OpenAI::Beta::BetaResponseItem::ProgramOutput::Agent
1270
+ }
1271
+ )
1272
+ end
1273
+ def to_hash
1274
+ end
1275
+
1276
+ # The terminal status of the program output item.
1277
+ module Status
1278
+ extend OpenAI::Internal::Type::Enum
1279
+
1280
+ TaggedSymbol =
1281
+ T.type_alias do
1282
+ T.all(
1283
+ Symbol,
1284
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Status
1285
+ )
1286
+ end
1287
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1288
+
1289
+ COMPLETED =
1290
+ T.let(
1291
+ :completed,
1292
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Status::TaggedSymbol
1293
+ )
1294
+ INCOMPLETE =
1295
+ T.let(
1296
+ :incomplete,
1297
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Status::TaggedSymbol
1298
+ )
1299
+
1300
+ sig do
1301
+ override.returns(
1302
+ T::Array[
1303
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Status::TaggedSymbol
1304
+ ]
1305
+ )
1306
+ end
1307
+ def self.values
1308
+ end
1309
+ end
1310
+
1311
+ class Agent < OpenAI::Internal::Type::BaseModel
1312
+ OrHash =
1313
+ T.type_alias do
1314
+ T.any(
1315
+ OpenAI::Beta::BetaResponseItem::ProgramOutput::Agent,
1316
+ OpenAI::Internal::AnyHash
1317
+ )
1318
+ end
1319
+
1320
+ # The canonical name of the agent that produced this item.
1321
+ sig { returns(String) }
1322
+ attr_accessor :agent_name
1323
+
1324
+ # The agent that produced this item.
1325
+ sig { params(agent_name: String).returns(T.attached_class) }
1326
+ def self.new(
1327
+ # The canonical name of the agent that produced this item.
1328
+ agent_name:
1329
+ )
1330
+ end
1331
+
1332
+ sig { override.returns({ agent_name: String }) }
1333
+ def to_hash
1334
+ end
1335
+ end
1336
+ end
1337
+
1338
+ class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
1339
+ OrHash =
1340
+ T.type_alias do
1341
+ T.any(
1342
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall,
1343
+ OpenAI::Internal::AnyHash
1344
+ )
1345
+ end
1346
+
1347
+ # The unique ID of the image generation call.
1348
+ sig { returns(String) }
1349
+ attr_accessor :id
1350
+
1351
+ # The generated image encoded in base64.
1352
+ sig { returns(T.nilable(String)) }
1353
+ attr_accessor :result
1354
+
1355
+ # The status of the image generation call.
1356
+ sig do
1357
+ returns(
1358
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Status::TaggedSymbol
1359
+ )
1360
+ end
1361
+ attr_accessor :status
1362
+
1363
+ # The type of the image generation call. Always `image_generation_call`.
1364
+ sig { returns(Symbol) }
1365
+ attr_accessor :type
1366
+
1367
+ # The agent that produced this item.
1368
+ sig do
1369
+ returns(
1370
+ T.nilable(
1371
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Agent
1372
+ )
1373
+ )
1374
+ end
1375
+ attr_reader :agent
1376
+
1377
+ sig do
1378
+ params(
1379
+ agent:
1380
+ T.nilable(
1381
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Agent::OrHash
1382
+ )
1383
+ ).void
1384
+ end
1385
+ attr_writer :agent
1386
+
1387
+ # An image generation request made by the model.
1388
+ sig do
1389
+ params(
1390
+ id: String,
1391
+ result: T.nilable(String),
1392
+ status:
1393
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Status::OrSymbol,
1394
+ agent:
1395
+ T.nilable(
1396
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Agent::OrHash
1397
+ ),
1398
+ type: Symbol
1399
+ ).returns(T.attached_class)
1400
+ end
1401
+ def self.new(
1402
+ # The unique ID of the image generation call.
1403
+ id:,
1404
+ # The generated image encoded in base64.
1405
+ result:,
1406
+ # The status of the image generation call.
1407
+ status:,
1408
+ # The agent that produced this item.
1409
+ agent: nil,
1410
+ # The type of the image generation call. Always `image_generation_call`.
1411
+ type: :image_generation_call
1412
+ )
1413
+ end
1414
+
1415
+ sig do
1416
+ override.returns(
1417
+ {
1418
+ id: String,
1419
+ result: T.nilable(String),
1420
+ status:
1421
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Status::TaggedSymbol,
1422
+ type: Symbol,
1423
+ agent:
1424
+ T.nilable(
1425
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Agent
1426
+ )
1427
+ }
1428
+ )
1429
+ end
1430
+ def to_hash
1431
+ end
1432
+
1433
+ # The status of the image generation call.
1434
+ module Status
1435
+ extend OpenAI::Internal::Type::Enum
1436
+
1437
+ TaggedSymbol =
1438
+ T.type_alias do
1439
+ T.all(
1440
+ Symbol,
1441
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Status
1442
+ )
1443
+ end
1444
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1445
+
1446
+ IN_PROGRESS =
1447
+ T.let(
1448
+ :in_progress,
1449
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Status::TaggedSymbol
1450
+ )
1451
+ COMPLETED =
1452
+ T.let(
1453
+ :completed,
1454
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Status::TaggedSymbol
1455
+ )
1456
+ GENERATING =
1457
+ T.let(
1458
+ :generating,
1459
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Status::TaggedSymbol
1460
+ )
1461
+ FAILED =
1462
+ T.let(
1463
+ :failed,
1464
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Status::TaggedSymbol
1465
+ )
1466
+
1467
+ sig do
1468
+ override.returns(
1469
+ T::Array[
1470
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Status::TaggedSymbol
1471
+ ]
1472
+ )
1473
+ end
1474
+ def self.values
1475
+ end
1476
+ end
1477
+
1478
+ class Agent < OpenAI::Internal::Type::BaseModel
1479
+ OrHash =
1480
+ T.type_alias do
1481
+ T.any(
1482
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Agent,
1483
+ OpenAI::Internal::AnyHash
1484
+ )
1485
+ end
1486
+
1487
+ # The canonical name of the agent that produced this item.
1488
+ sig { returns(String) }
1489
+ attr_accessor :agent_name
1490
+
1491
+ # The agent that produced this item.
1492
+ sig { params(agent_name: String).returns(T.attached_class) }
1493
+ def self.new(
1494
+ # The canonical name of the agent that produced this item.
1495
+ agent_name:
1496
+ )
1497
+ end
1498
+
1499
+ sig { override.returns({ agent_name: String }) }
1500
+ def to_hash
1501
+ end
1502
+ end
1503
+ end
1504
+
1505
+ class LocalShellCall < OpenAI::Internal::Type::BaseModel
1506
+ OrHash =
1507
+ T.type_alias do
1508
+ T.any(
1509
+ OpenAI::Beta::BetaResponseItem::LocalShellCall,
1510
+ OpenAI::Internal::AnyHash
1511
+ )
1512
+ end
1513
+
1514
+ # The unique ID of the local shell call.
1515
+ sig { returns(String) }
1516
+ attr_accessor :id
1517
+
1518
+ # Execute a shell command on the server.
1519
+ sig do
1520
+ returns(OpenAI::Beta::BetaResponseItem::LocalShellCall::Action)
1521
+ end
1522
+ attr_reader :action
1523
+
1524
+ sig do
1525
+ params(
1526
+ action:
1527
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Action::OrHash
1528
+ ).void
1529
+ end
1530
+ attr_writer :action
1531
+
1532
+ # The unique ID of the local shell tool call generated by the model.
1533
+ sig { returns(String) }
1534
+ attr_accessor :call_id
1535
+
1536
+ # The status of the local shell call.
1537
+ sig do
1538
+ returns(
1539
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Status::TaggedSymbol
1540
+ )
1541
+ end
1542
+ attr_accessor :status
1543
+
1544
+ # The type of the local shell call. Always `local_shell_call`.
1545
+ sig { returns(Symbol) }
1546
+ attr_accessor :type
1547
+
1548
+ # The agent that produced this item.
1549
+ sig do
1550
+ returns(
1551
+ T.nilable(OpenAI::Beta::BetaResponseItem::LocalShellCall::Agent)
1552
+ )
1553
+ end
1554
+ attr_reader :agent
1555
+
1556
+ sig do
1557
+ params(
1558
+ agent:
1559
+ T.nilable(
1560
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Agent::OrHash
1561
+ )
1562
+ ).void
1563
+ end
1564
+ attr_writer :agent
1565
+
1566
+ # A tool call to run a command on the local shell.
1567
+ sig do
1568
+ params(
1569
+ id: String,
1570
+ action:
1571
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Action::OrHash,
1572
+ call_id: String,
1573
+ status:
1574
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Status::OrSymbol,
1575
+ agent:
1576
+ T.nilable(
1577
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Agent::OrHash
1578
+ ),
1579
+ type: Symbol
1580
+ ).returns(T.attached_class)
1581
+ end
1582
+ def self.new(
1583
+ # The unique ID of the local shell call.
1584
+ id:,
1585
+ # Execute a shell command on the server.
1586
+ action:,
1587
+ # The unique ID of the local shell tool call generated by the model.
1588
+ call_id:,
1589
+ # The status of the local shell call.
1590
+ status:,
1591
+ # The agent that produced this item.
1592
+ agent: nil,
1593
+ # The type of the local shell call. Always `local_shell_call`.
1594
+ type: :local_shell_call
1595
+ )
1596
+ end
1597
+
1598
+ sig do
1599
+ override.returns(
1600
+ {
1601
+ id: String,
1602
+ action: OpenAI::Beta::BetaResponseItem::LocalShellCall::Action,
1603
+ call_id: String,
1604
+ status:
1605
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Status::TaggedSymbol,
1606
+ type: Symbol,
1607
+ agent:
1608
+ T.nilable(
1609
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Agent
1610
+ )
1611
+ }
1612
+ )
1613
+ end
1614
+ def to_hash
1615
+ end
1616
+
1617
+ class Action < OpenAI::Internal::Type::BaseModel
1618
+ OrHash =
1619
+ T.type_alias do
1620
+ T.any(
1621
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Action,
1622
+ OpenAI::Internal::AnyHash
1623
+ )
1624
+ end
1625
+
1626
+ # The command to run.
1627
+ sig { returns(T::Array[String]) }
1628
+ attr_accessor :command
1629
+
1630
+ # Environment variables to set for the command.
1631
+ sig { returns(T::Hash[Symbol, String]) }
1632
+ attr_accessor :env
1633
+
1634
+ # The type of the local shell action. Always `exec`.
1635
+ sig { returns(Symbol) }
1636
+ attr_accessor :type
1637
+
1638
+ # Optional timeout in milliseconds for the command.
1639
+ sig { returns(T.nilable(Integer)) }
1640
+ attr_accessor :timeout_ms
1641
+
1642
+ # Optional user to run the command as.
1643
+ sig { returns(T.nilable(String)) }
1644
+ attr_accessor :user
1645
+
1646
+ # Optional working directory to run the command in.
1647
+ sig { returns(T.nilable(String)) }
1648
+ attr_accessor :working_directory
1649
+
1650
+ # Execute a shell command on the server.
1651
+ sig do
1652
+ params(
1653
+ command: T::Array[String],
1654
+ env: T::Hash[Symbol, String],
1655
+ timeout_ms: T.nilable(Integer),
1656
+ user: T.nilable(String),
1657
+ working_directory: T.nilable(String),
1658
+ type: Symbol
1659
+ ).returns(T.attached_class)
1660
+ end
1661
+ def self.new(
1662
+ # The command to run.
1663
+ command:,
1664
+ # Environment variables to set for the command.
1665
+ env:,
1666
+ # Optional timeout in milliseconds for the command.
1667
+ timeout_ms: nil,
1668
+ # Optional user to run the command as.
1669
+ user: nil,
1670
+ # Optional working directory to run the command in.
1671
+ working_directory: nil,
1672
+ # The type of the local shell action. Always `exec`.
1673
+ type: :exec
1674
+ )
1675
+ end
1676
+
1677
+ sig do
1678
+ override.returns(
1679
+ {
1680
+ command: T::Array[String],
1681
+ env: T::Hash[Symbol, String],
1682
+ type: Symbol,
1683
+ timeout_ms: T.nilable(Integer),
1684
+ user: T.nilable(String),
1685
+ working_directory: T.nilable(String)
1686
+ }
1687
+ )
1688
+ end
1689
+ def to_hash
1690
+ end
1691
+ end
1692
+
1693
+ # The status of the local shell call.
1694
+ module Status
1695
+ extend OpenAI::Internal::Type::Enum
1696
+
1697
+ TaggedSymbol =
1698
+ T.type_alias do
1699
+ T.all(
1700
+ Symbol,
1701
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Status
1702
+ )
1703
+ end
1704
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1705
+
1706
+ IN_PROGRESS =
1707
+ T.let(
1708
+ :in_progress,
1709
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Status::TaggedSymbol
1710
+ )
1711
+ COMPLETED =
1712
+ T.let(
1713
+ :completed,
1714
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Status::TaggedSymbol
1715
+ )
1716
+ INCOMPLETE =
1717
+ T.let(
1718
+ :incomplete,
1719
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Status::TaggedSymbol
1720
+ )
1721
+
1722
+ sig do
1723
+ override.returns(
1724
+ T::Array[
1725
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Status::TaggedSymbol
1726
+ ]
1727
+ )
1728
+ end
1729
+ def self.values
1730
+ end
1731
+ end
1732
+
1733
+ class Agent < OpenAI::Internal::Type::BaseModel
1734
+ OrHash =
1735
+ T.type_alias do
1736
+ T.any(
1737
+ OpenAI::Beta::BetaResponseItem::LocalShellCall::Agent,
1738
+ OpenAI::Internal::AnyHash
1739
+ )
1740
+ end
1741
+
1742
+ # The canonical name of the agent that produced this item.
1743
+ sig { returns(String) }
1744
+ attr_accessor :agent_name
1745
+
1746
+ # The agent that produced this item.
1747
+ sig { params(agent_name: String).returns(T.attached_class) }
1748
+ def self.new(
1749
+ # The canonical name of the agent that produced this item.
1750
+ agent_name:
1751
+ )
1752
+ end
1753
+
1754
+ sig { override.returns({ agent_name: String }) }
1755
+ def to_hash
1756
+ end
1757
+ end
1758
+ end
1759
+
1760
+ class LocalShellCallOutput < OpenAI::Internal::Type::BaseModel
1761
+ OrHash =
1762
+ T.type_alias do
1763
+ T.any(
1764
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput,
1765
+ OpenAI::Internal::AnyHash
1766
+ )
1767
+ end
1768
+
1769
+ # The unique ID of the local shell tool call generated by the model.
1770
+ sig { returns(String) }
1771
+ attr_accessor :id
1772
+
1773
+ # A JSON string of the output of the local shell tool call.
1774
+ sig { returns(String) }
1775
+ attr_accessor :output
1776
+
1777
+ # The type of the local shell tool call output. Always `local_shell_call_output`.
1778
+ sig { returns(Symbol) }
1779
+ attr_accessor :type
1780
+
1781
+ # The agent that produced this item.
1782
+ sig do
1783
+ returns(
1784
+ T.nilable(
1785
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Agent
1786
+ )
1787
+ )
1788
+ end
1789
+ attr_reader :agent
1790
+
1791
+ sig do
1792
+ params(
1793
+ agent:
1794
+ T.nilable(
1795
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Agent::OrHash
1796
+ )
1797
+ ).void
1798
+ end
1799
+ attr_writer :agent
1800
+
1801
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
1802
+ sig do
1803
+ returns(
1804
+ T.nilable(
1805
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Status::TaggedSymbol
1806
+ )
1807
+ )
1808
+ end
1809
+ attr_accessor :status
1810
+
1811
+ # The output of a local shell tool call.
1812
+ sig do
1813
+ params(
1814
+ id: String,
1815
+ output: String,
1816
+ agent:
1817
+ T.nilable(
1818
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Agent::OrHash
1819
+ ),
1820
+ status:
1821
+ T.nilable(
1822
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Status::OrSymbol
1823
+ ),
1824
+ type: Symbol
1825
+ ).returns(T.attached_class)
1826
+ end
1827
+ def self.new(
1828
+ # The unique ID of the local shell tool call generated by the model.
1829
+ id:,
1830
+ # A JSON string of the output of the local shell tool call.
1831
+ output:,
1832
+ # The agent that produced this item.
1833
+ agent: nil,
1834
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
1835
+ status: nil,
1836
+ # The type of the local shell tool call output. Always `local_shell_call_output`.
1837
+ type: :local_shell_call_output
1838
+ )
1839
+ end
1840
+
1841
+ sig do
1842
+ override.returns(
1843
+ {
1844
+ id: String,
1845
+ output: String,
1846
+ type: Symbol,
1847
+ agent:
1848
+ T.nilable(
1849
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Agent
1850
+ ),
1851
+ status:
1852
+ T.nilable(
1853
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Status::TaggedSymbol
1854
+ )
1855
+ }
1856
+ )
1857
+ end
1858
+ def to_hash
1859
+ end
1860
+
1861
+ class Agent < OpenAI::Internal::Type::BaseModel
1862
+ OrHash =
1863
+ T.type_alias do
1864
+ T.any(
1865
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Agent,
1866
+ OpenAI::Internal::AnyHash
1867
+ )
1868
+ end
1869
+
1870
+ # The canonical name of the agent that produced this item.
1871
+ sig { returns(String) }
1872
+ attr_accessor :agent_name
1873
+
1874
+ # The agent that produced this item.
1875
+ sig { params(agent_name: String).returns(T.attached_class) }
1876
+ def self.new(
1877
+ # The canonical name of the agent that produced this item.
1878
+ agent_name:
1879
+ )
1880
+ end
1881
+
1882
+ sig { override.returns({ agent_name: String }) }
1883
+ def to_hash
1884
+ end
1885
+ end
1886
+
1887
+ # The status of the item. One of `in_progress`, `completed`, or `incomplete`.
1888
+ module Status
1889
+ extend OpenAI::Internal::Type::Enum
1890
+
1891
+ TaggedSymbol =
1892
+ T.type_alias do
1893
+ T.all(
1894
+ Symbol,
1895
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Status
1896
+ )
1897
+ end
1898
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1899
+
1900
+ IN_PROGRESS =
1901
+ T.let(
1902
+ :in_progress,
1903
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Status::TaggedSymbol
1904
+ )
1905
+ COMPLETED =
1906
+ T.let(
1907
+ :completed,
1908
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Status::TaggedSymbol
1909
+ )
1910
+ INCOMPLETE =
1911
+ T.let(
1912
+ :incomplete,
1913
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Status::TaggedSymbol
1914
+ )
1915
+
1916
+ sig do
1917
+ override.returns(
1918
+ T::Array[
1919
+ OpenAI::Beta::BetaResponseItem::LocalShellCallOutput::Status::TaggedSymbol
1920
+ ]
1921
+ )
1922
+ end
1923
+ def self.values
1924
+ end
1925
+ end
1926
+ end
1927
+
1928
+ class McpListTools < OpenAI::Internal::Type::BaseModel
1929
+ OrHash =
1930
+ T.type_alias do
1931
+ T.any(
1932
+ OpenAI::Beta::BetaResponseItem::McpListTools,
1933
+ OpenAI::Internal::AnyHash
1934
+ )
1935
+ end
1936
+
1937
+ # The unique ID of the list.
1938
+ sig { returns(String) }
1939
+ attr_accessor :id
1940
+
1941
+ # The label of the MCP server.
1942
+ sig { returns(String) }
1943
+ attr_accessor :server_label
1944
+
1945
+ # The tools available on the server.
1946
+ sig do
1947
+ returns(
1948
+ T::Array[OpenAI::Beta::BetaResponseItem::McpListTools::Tool]
1949
+ )
1950
+ end
1951
+ attr_accessor :tools
1952
+
1953
+ # The type of the item. Always `mcp_list_tools`.
1954
+ sig { returns(Symbol) }
1955
+ attr_accessor :type
1956
+
1957
+ # The agent that produced this item.
1958
+ sig do
1959
+ returns(
1960
+ T.nilable(OpenAI::Beta::BetaResponseItem::McpListTools::Agent)
1961
+ )
1962
+ end
1963
+ attr_reader :agent
1964
+
1965
+ sig do
1966
+ params(
1967
+ agent:
1968
+ T.nilable(
1969
+ OpenAI::Beta::BetaResponseItem::McpListTools::Agent::OrHash
1970
+ )
1971
+ ).void
1972
+ end
1973
+ attr_writer :agent
1974
+
1975
+ # Error message if the server could not list tools.
1976
+ sig { returns(T.nilable(String)) }
1977
+ attr_accessor :error
1978
+
1979
+ # A list of tools available on an MCP server.
1980
+ sig do
1981
+ params(
1982
+ id: String,
1983
+ server_label: String,
1984
+ tools:
1985
+ T::Array[
1986
+ OpenAI::Beta::BetaResponseItem::McpListTools::Tool::OrHash
1987
+ ],
1988
+ agent:
1989
+ T.nilable(
1990
+ OpenAI::Beta::BetaResponseItem::McpListTools::Agent::OrHash
1991
+ ),
1992
+ error: T.nilable(String),
1993
+ type: Symbol
1994
+ ).returns(T.attached_class)
1995
+ end
1996
+ def self.new(
1997
+ # The unique ID of the list.
1998
+ id:,
1999
+ # The label of the MCP server.
2000
+ server_label:,
2001
+ # The tools available on the server.
2002
+ tools:,
2003
+ # The agent that produced this item.
2004
+ agent: nil,
2005
+ # Error message if the server could not list tools.
2006
+ error: nil,
2007
+ # The type of the item. Always `mcp_list_tools`.
2008
+ type: :mcp_list_tools
2009
+ )
2010
+ end
2011
+
2012
+ sig do
2013
+ override.returns(
2014
+ {
2015
+ id: String,
2016
+ server_label: String,
2017
+ tools:
2018
+ T::Array[OpenAI::Beta::BetaResponseItem::McpListTools::Tool],
2019
+ type: Symbol,
2020
+ agent:
2021
+ T.nilable(
2022
+ OpenAI::Beta::BetaResponseItem::McpListTools::Agent
2023
+ ),
2024
+ error: T.nilable(String)
2025
+ }
2026
+ )
2027
+ end
2028
+ def to_hash
2029
+ end
2030
+
2031
+ class Tool < OpenAI::Internal::Type::BaseModel
2032
+ OrHash =
2033
+ T.type_alias do
2034
+ T.any(
2035
+ OpenAI::Beta::BetaResponseItem::McpListTools::Tool,
2036
+ OpenAI::Internal::AnyHash
2037
+ )
2038
+ end
2039
+
2040
+ # The JSON schema describing the tool's input.
2041
+ sig { returns(T.anything) }
2042
+ attr_accessor :input_schema
2043
+
2044
+ # The name of the tool.
2045
+ sig { returns(String) }
2046
+ attr_accessor :name
2047
+
2048
+ # Additional annotations about the tool.
2049
+ sig { returns(T.nilable(T.anything)) }
2050
+ attr_accessor :annotations
2051
+
2052
+ # The description of the tool.
2053
+ sig { returns(T.nilable(String)) }
2054
+ attr_accessor :description
2055
+
2056
+ # A tool available on an MCP server.
2057
+ sig do
2058
+ params(
2059
+ input_schema: T.anything,
2060
+ name: String,
2061
+ annotations: T.nilable(T.anything),
2062
+ description: T.nilable(String)
2063
+ ).returns(T.attached_class)
2064
+ end
2065
+ def self.new(
2066
+ # The JSON schema describing the tool's input.
2067
+ input_schema:,
2068
+ # The name of the tool.
2069
+ name:,
2070
+ # Additional annotations about the tool.
2071
+ annotations: nil,
2072
+ # The description of the tool.
2073
+ description: nil
2074
+ )
2075
+ end
2076
+
2077
+ sig do
2078
+ override.returns(
2079
+ {
2080
+ input_schema: T.anything,
2081
+ name: String,
2082
+ annotations: T.nilable(T.anything),
2083
+ description: T.nilable(String)
2084
+ }
2085
+ )
2086
+ end
2087
+ def to_hash
2088
+ end
2089
+ end
2090
+
2091
+ class Agent < OpenAI::Internal::Type::BaseModel
2092
+ OrHash =
2093
+ T.type_alias do
2094
+ T.any(
2095
+ OpenAI::Beta::BetaResponseItem::McpListTools::Agent,
2096
+ OpenAI::Internal::AnyHash
2097
+ )
2098
+ end
2099
+
2100
+ # The canonical name of the agent that produced this item.
2101
+ sig { returns(String) }
2102
+ attr_accessor :agent_name
2103
+
2104
+ # The agent that produced this item.
2105
+ sig { params(agent_name: String).returns(T.attached_class) }
2106
+ def self.new(
2107
+ # The canonical name of the agent that produced this item.
2108
+ agent_name:
2109
+ )
2110
+ end
2111
+
2112
+ sig { override.returns({ agent_name: String }) }
2113
+ def to_hash
2114
+ end
2115
+ end
2116
+ end
2117
+
2118
+ class McpApprovalRequest < OpenAI::Internal::Type::BaseModel
2119
+ OrHash =
2120
+ T.type_alias do
2121
+ T.any(
2122
+ OpenAI::Beta::BetaResponseItem::McpApprovalRequest,
2123
+ OpenAI::Internal::AnyHash
2124
+ )
2125
+ end
2126
+
2127
+ # The unique ID of the approval request.
2128
+ sig { returns(String) }
2129
+ attr_accessor :id
2130
+
2131
+ # A JSON string of arguments for the tool.
2132
+ sig { returns(String) }
2133
+ attr_accessor :arguments
2134
+
2135
+ # The name of the tool to run.
2136
+ sig { returns(String) }
2137
+ attr_accessor :name
2138
+
2139
+ # The label of the MCP server making the request.
2140
+ sig { returns(String) }
2141
+ attr_accessor :server_label
2142
+
2143
+ # The type of the item. Always `mcp_approval_request`.
2144
+ sig { returns(Symbol) }
2145
+ attr_accessor :type
2146
+
2147
+ # The agent that produced this item.
2148
+ sig do
2149
+ returns(
2150
+ T.nilable(
2151
+ OpenAI::Beta::BetaResponseItem::McpApprovalRequest::Agent
2152
+ )
2153
+ )
2154
+ end
2155
+ attr_reader :agent
2156
+
2157
+ sig do
2158
+ params(
2159
+ agent:
2160
+ T.nilable(
2161
+ OpenAI::Beta::BetaResponseItem::McpApprovalRequest::Agent::OrHash
2162
+ )
2163
+ ).void
2164
+ end
2165
+ attr_writer :agent
2166
+
2167
+ # A request for human approval of a tool invocation.
2168
+ sig do
2169
+ params(
2170
+ id: String,
2171
+ arguments: String,
2172
+ name: String,
2173
+ server_label: String,
2174
+ agent:
2175
+ T.nilable(
2176
+ OpenAI::Beta::BetaResponseItem::McpApprovalRequest::Agent::OrHash
2177
+ ),
2178
+ type: Symbol
2179
+ ).returns(T.attached_class)
2180
+ end
2181
+ def self.new(
2182
+ # The unique ID of the approval request.
2183
+ id:,
2184
+ # A JSON string of arguments for the tool.
2185
+ arguments:,
2186
+ # The name of the tool to run.
2187
+ name:,
2188
+ # The label of the MCP server making the request.
2189
+ server_label:,
2190
+ # The agent that produced this item.
2191
+ agent: nil,
2192
+ # The type of the item. Always `mcp_approval_request`.
2193
+ type: :mcp_approval_request
2194
+ )
2195
+ end
2196
+
2197
+ sig do
2198
+ override.returns(
2199
+ {
2200
+ id: String,
2201
+ arguments: String,
2202
+ name: String,
2203
+ server_label: String,
2204
+ type: Symbol,
2205
+ agent:
2206
+ T.nilable(
2207
+ OpenAI::Beta::BetaResponseItem::McpApprovalRequest::Agent
2208
+ )
2209
+ }
2210
+ )
2211
+ end
2212
+ def to_hash
2213
+ end
2214
+
2215
+ class Agent < OpenAI::Internal::Type::BaseModel
2216
+ OrHash =
2217
+ T.type_alias do
2218
+ T.any(
2219
+ OpenAI::Beta::BetaResponseItem::McpApprovalRequest::Agent,
2220
+ OpenAI::Internal::AnyHash
2221
+ )
2222
+ end
2223
+
2224
+ # The canonical name of the agent that produced this item.
2225
+ sig { returns(String) }
2226
+ attr_accessor :agent_name
2227
+
2228
+ # The agent that produced this item.
2229
+ sig { params(agent_name: String).returns(T.attached_class) }
2230
+ def self.new(
2231
+ # The canonical name of the agent that produced this item.
2232
+ agent_name:
2233
+ )
2234
+ end
2235
+
2236
+ sig { override.returns({ agent_name: String }) }
2237
+ def to_hash
2238
+ end
2239
+ end
2240
+ end
2241
+
2242
+ class McpApprovalResponse < OpenAI::Internal::Type::BaseModel
2243
+ OrHash =
2244
+ T.type_alias do
2245
+ T.any(
2246
+ OpenAI::Beta::BetaResponseItem::McpApprovalResponse,
2247
+ OpenAI::Internal::AnyHash
2248
+ )
2249
+ end
2250
+
2251
+ # The unique ID of the approval response
2252
+ sig { returns(String) }
2253
+ attr_accessor :id
2254
+
2255
+ # The ID of the approval request being answered.
2256
+ sig { returns(String) }
2257
+ attr_accessor :approval_request_id
2258
+
2259
+ # Whether the request was approved.
2260
+ sig { returns(T::Boolean) }
2261
+ attr_accessor :approve
2262
+
2263
+ # The type of the item. Always `mcp_approval_response`.
2264
+ sig { returns(Symbol) }
2265
+ attr_accessor :type
2266
+
2267
+ # The agent that produced this item.
2268
+ sig do
2269
+ returns(
2270
+ T.nilable(
2271
+ OpenAI::Beta::BetaResponseItem::McpApprovalResponse::Agent
2272
+ )
2273
+ )
2274
+ end
2275
+ attr_reader :agent
2276
+
2277
+ sig do
2278
+ params(
2279
+ agent:
2280
+ T.nilable(
2281
+ OpenAI::Beta::BetaResponseItem::McpApprovalResponse::Agent::OrHash
2282
+ )
2283
+ ).void
2284
+ end
2285
+ attr_writer :agent
2286
+
2287
+ # Optional reason for the decision.
2288
+ sig { returns(T.nilable(String)) }
2289
+ attr_accessor :reason
2290
+
2291
+ # A response to an MCP approval request.
2292
+ sig do
2293
+ params(
2294
+ id: String,
2295
+ approval_request_id: String,
2296
+ approve: T::Boolean,
2297
+ agent:
2298
+ T.nilable(
2299
+ OpenAI::Beta::BetaResponseItem::McpApprovalResponse::Agent::OrHash
2300
+ ),
2301
+ reason: T.nilable(String),
2302
+ type: Symbol
2303
+ ).returns(T.attached_class)
2304
+ end
2305
+ def self.new(
2306
+ # The unique ID of the approval response
2307
+ id:,
2308
+ # The ID of the approval request being answered.
2309
+ approval_request_id:,
2310
+ # Whether the request was approved.
2311
+ approve:,
2312
+ # The agent that produced this item.
2313
+ agent: nil,
2314
+ # Optional reason for the decision.
2315
+ reason: nil,
2316
+ # The type of the item. Always `mcp_approval_response`.
2317
+ type: :mcp_approval_response
2318
+ )
2319
+ end
2320
+
2321
+ sig do
2322
+ override.returns(
2323
+ {
2324
+ id: String,
2325
+ approval_request_id: String,
2326
+ approve: T::Boolean,
2327
+ type: Symbol,
2328
+ agent:
2329
+ T.nilable(
2330
+ OpenAI::Beta::BetaResponseItem::McpApprovalResponse::Agent
2331
+ ),
2332
+ reason: T.nilable(String)
2333
+ }
2334
+ )
2335
+ end
2336
+ def to_hash
2337
+ end
2338
+
2339
+ class Agent < OpenAI::Internal::Type::BaseModel
2340
+ OrHash =
2341
+ T.type_alias do
2342
+ T.any(
2343
+ OpenAI::Beta::BetaResponseItem::McpApprovalResponse::Agent,
2344
+ OpenAI::Internal::AnyHash
2345
+ )
2346
+ end
2347
+
2348
+ # The canonical name of the agent that produced this item.
2349
+ sig { returns(String) }
2350
+ attr_accessor :agent_name
2351
+
2352
+ # The agent that produced this item.
2353
+ sig { params(agent_name: String).returns(T.attached_class) }
2354
+ def self.new(
2355
+ # The canonical name of the agent that produced this item.
2356
+ agent_name:
2357
+ )
2358
+ end
2359
+
2360
+ sig { override.returns({ agent_name: String }) }
2361
+ def to_hash
2362
+ end
2363
+ end
2364
+ end
2365
+
2366
+ class McpCall < OpenAI::Internal::Type::BaseModel
2367
+ OrHash =
2368
+ T.type_alias do
2369
+ T.any(
2370
+ OpenAI::Beta::BetaResponseItem::McpCall,
2371
+ OpenAI::Internal::AnyHash
2372
+ )
2373
+ end
2374
+
2375
+ # The unique ID of the tool call.
2376
+ sig { returns(String) }
2377
+ attr_accessor :id
2378
+
2379
+ # A JSON string of the arguments passed to the tool.
2380
+ sig { returns(String) }
2381
+ attr_accessor :arguments
2382
+
2383
+ # The name of the tool that was run.
2384
+ sig { returns(String) }
2385
+ attr_accessor :name
2386
+
2387
+ # The label of the MCP server running the tool.
2388
+ sig { returns(String) }
2389
+ attr_accessor :server_label
2390
+
2391
+ # The type of the item. Always `mcp_call`.
2392
+ sig { returns(Symbol) }
2393
+ attr_accessor :type
2394
+
2395
+ # The agent that produced this item.
2396
+ sig do
2397
+ returns(T.nilable(OpenAI::Beta::BetaResponseItem::McpCall::Agent))
2398
+ end
2399
+ attr_reader :agent
2400
+
2401
+ sig do
2402
+ params(
2403
+ agent:
2404
+ T.nilable(
2405
+ OpenAI::Beta::BetaResponseItem::McpCall::Agent::OrHash
2406
+ )
2407
+ ).void
2408
+ end
2409
+ attr_writer :agent
2410
+
2411
+ # Unique identifier for the MCP tool call approval request. Include this value in
2412
+ # a subsequent `mcp_approval_response` input to approve or reject the
2413
+ # corresponding tool call.
2414
+ sig { returns(T.nilable(String)) }
2415
+ attr_accessor :approval_request_id
2416
+
2417
+ # The error from the tool call, if any.
2418
+ sig { returns(T.nilable(String)) }
2419
+ attr_accessor :error
2420
+
2421
+ # The output from the tool call.
2422
+ sig { returns(T.nilable(String)) }
2423
+ attr_accessor :output
2424
+
2425
+ # The status of the tool call. One of `in_progress`, `completed`, `incomplete`,
2426
+ # `calling`, or `failed`.
2427
+ sig do
2428
+ returns(
2429
+ T.nilable(
2430
+ OpenAI::Beta::BetaResponseItem::McpCall::Status::TaggedSymbol
2431
+ )
2432
+ )
2433
+ end
2434
+ attr_reader :status
2435
+
2436
+ sig do
2437
+ params(
2438
+ status: OpenAI::Beta::BetaResponseItem::McpCall::Status::OrSymbol
2439
+ ).void
2440
+ end
2441
+ attr_writer :status
2442
+
2443
+ # An invocation of a tool on an MCP server.
2444
+ sig do
2445
+ params(
2446
+ id: String,
2447
+ arguments: String,
2448
+ name: String,
2449
+ server_label: String,
2450
+ agent:
2451
+ T.nilable(
2452
+ OpenAI::Beta::BetaResponseItem::McpCall::Agent::OrHash
2453
+ ),
2454
+ approval_request_id: T.nilable(String),
2455
+ error: T.nilable(String),
2456
+ output: T.nilable(String),
2457
+ status: OpenAI::Beta::BetaResponseItem::McpCall::Status::OrSymbol,
2458
+ type: Symbol
2459
+ ).returns(T.attached_class)
2460
+ end
2461
+ def self.new(
2462
+ # The unique ID of the tool call.
2463
+ id:,
2464
+ # A JSON string of the arguments passed to the tool.
2465
+ arguments:,
2466
+ # The name of the tool that was run.
2467
+ name:,
2468
+ # The label of the MCP server running the tool.
2469
+ server_label:,
2470
+ # The agent that produced this item.
2471
+ agent: nil,
2472
+ # Unique identifier for the MCP tool call approval request. Include this value in
2473
+ # a subsequent `mcp_approval_response` input to approve or reject the
2474
+ # corresponding tool call.
2475
+ approval_request_id: nil,
2476
+ # The error from the tool call, if any.
2477
+ error: nil,
2478
+ # The output from the tool call.
2479
+ output: nil,
2480
+ # The status of the tool call. One of `in_progress`, `completed`, `incomplete`,
2481
+ # `calling`, or `failed`.
2482
+ status: nil,
2483
+ # The type of the item. Always `mcp_call`.
2484
+ type: :mcp_call
2485
+ )
2486
+ end
2487
+
2488
+ sig do
2489
+ override.returns(
2490
+ {
2491
+ id: String,
2492
+ arguments: String,
2493
+ name: String,
2494
+ server_label: String,
2495
+ type: Symbol,
2496
+ agent:
2497
+ T.nilable(OpenAI::Beta::BetaResponseItem::McpCall::Agent),
2498
+ approval_request_id: T.nilable(String),
2499
+ error: T.nilable(String),
2500
+ output: T.nilable(String),
2501
+ status:
2502
+ OpenAI::Beta::BetaResponseItem::McpCall::Status::TaggedSymbol
2503
+ }
2504
+ )
2505
+ end
2506
+ def to_hash
2507
+ end
2508
+
2509
+ class Agent < OpenAI::Internal::Type::BaseModel
2510
+ OrHash =
2511
+ T.type_alias do
2512
+ T.any(
2513
+ OpenAI::Beta::BetaResponseItem::McpCall::Agent,
2514
+ OpenAI::Internal::AnyHash
2515
+ )
2516
+ end
2517
+
2518
+ # The canonical name of the agent that produced this item.
2519
+ sig { returns(String) }
2520
+ attr_accessor :agent_name
2521
+
2522
+ # The agent that produced this item.
2523
+ sig { params(agent_name: String).returns(T.attached_class) }
2524
+ def self.new(
2525
+ # The canonical name of the agent that produced this item.
2526
+ agent_name:
2527
+ )
2528
+ end
2529
+
2530
+ sig { override.returns({ agent_name: String }) }
2531
+ def to_hash
2532
+ end
2533
+ end
2534
+
2535
+ # The status of the tool call. One of `in_progress`, `completed`, `incomplete`,
2536
+ # `calling`, or `failed`.
2537
+ module Status
2538
+ extend OpenAI::Internal::Type::Enum
2539
+
2540
+ TaggedSymbol =
2541
+ T.type_alias do
2542
+ T.all(Symbol, OpenAI::Beta::BetaResponseItem::McpCall::Status)
2543
+ end
2544
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2545
+
2546
+ IN_PROGRESS =
2547
+ T.let(
2548
+ :in_progress,
2549
+ OpenAI::Beta::BetaResponseItem::McpCall::Status::TaggedSymbol
2550
+ )
2551
+ COMPLETED =
2552
+ T.let(
2553
+ :completed,
2554
+ OpenAI::Beta::BetaResponseItem::McpCall::Status::TaggedSymbol
2555
+ )
2556
+ INCOMPLETE =
2557
+ T.let(
2558
+ :incomplete,
2559
+ OpenAI::Beta::BetaResponseItem::McpCall::Status::TaggedSymbol
2560
+ )
2561
+ CALLING =
2562
+ T.let(
2563
+ :calling,
2564
+ OpenAI::Beta::BetaResponseItem::McpCall::Status::TaggedSymbol
2565
+ )
2566
+ FAILED =
2567
+ T.let(
2568
+ :failed,
2569
+ OpenAI::Beta::BetaResponseItem::McpCall::Status::TaggedSymbol
2570
+ )
2571
+
2572
+ sig do
2573
+ override.returns(
2574
+ T::Array[
2575
+ OpenAI::Beta::BetaResponseItem::McpCall::Status::TaggedSymbol
2576
+ ]
2577
+ )
2578
+ end
2579
+ def self.values
2580
+ end
2581
+ end
2582
+ end
2583
+
2584
+ sig do
2585
+ override.returns(T::Array[OpenAI::Beta::BetaResponseItem::Variants])
2586
+ end
2587
+ def self.variants
2588
+ end
2589
+ end
2590
+ end
2591
+ end
2592
+ end