openai 0.89.0 → 0.90.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 (537) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/openai/helpers/agents/message.rb +20 -0
  5. data/lib/openai/helpers/agents/session_stream.rb +168 -0
  6. data/lib/openai/helpers/agents/tools.rb +65 -0
  7. data/lib/openai/internal/token_page.rb +91 -0
  8. data/lib/openai/models/beta/agent.rb +148 -0
  9. data/lib/openai/models/beta/agent_close_subagent_call_item.rb +66 -0
  10. data/lib/openai/models/beta/agent_command_execution_item.rb +93 -0
  11. data/lib/openai/models/beta/agent_content.rb +46 -0
  12. data/lib/openai/models/beta/agent_create_params.rb +128 -0
  13. data/lib/openai/models/beta/agent_create_subagent_call_item.rb +84 -0
  14. data/lib/openai/models/beta/agent_delete_params.rb +22 -0
  15. data/lib/openai/models/beta/agent_deleted.rb +40 -0
  16. data/lib/openai/models/beta/agent_function_call_item.rb +75 -0
  17. data/lib/openai/models/beta/agent_function_call_output.rb +22 -0
  18. data/lib/openai/models/beta/agent_function_call_output_param.rb +22 -0
  19. data/lib/openai/models/beta/agent_function_call_status.rb +27 -0
  20. data/lib/openai/models/beta/agent_interrupt_subagent_call_item.rb +67 -0
  21. data/lib/openai/models/beta/agent_list_params.rb +57 -0
  22. data/lib/openai/models/beta/agent_mcp_call_item.rb +93 -0
  23. data/lib/openai/models/beta/agent_output_command_execution_output_delta_event.rb +75 -0
  24. data/lib/openai/models/beta/agent_output_item.rb +53 -0
  25. data/lib/openai/models/beta/agent_output_item_status.rb +24 -0
  26. data/lib/openai/models/beta/agent_reasoning.rb +67 -0
  27. data/lib/openai/models/beta/agent_reasoning_item.rb +57 -0
  28. data/lib/openai/models/beta/agent_reasoning_param.rb +67 -0
  29. data/lib/openai/models/beta/agent_resume_subagent_call_item.rb +66 -0
  30. data/lib/openai/models/beta/agent_retrieve_params.rb +22 -0
  31. data/lib/openai/models/beta/agent_send_subagent_input_call_item.rb +75 -0
  32. data/lib/openai/models/beta/agent_session.rb +339 -0
  33. data/lib/openai/models/beta/agent_session_assistant_message.rb +91 -0
  34. data/lib/openai/models/beta/agent_session_created_event.rb +39 -0
  35. data/lib/openai/models/beta/agent_session_deleted.rb +42 -0
  36. data/lib/openai/models/beta/agent_session_environment_connected_event.rb +57 -0
  37. data/lib/openai/models/beta/agent_session_environment_disconnected_event.rb +57 -0
  38. data/lib/openai/models/beta/agent_session_environment_failed_event.rb +57 -0
  39. data/lib/openai/models/beta/agent_session_environment_pending_event.rb +57 -0
  40. data/lib/openai/models/beta/agent_session_environment_ready_event.rb +57 -0
  41. data/lib/openai/models/beta/agent_session_environment_state.rb +106 -0
  42. data/lib/openai/models/beta/agent_session_error_event.rb +48 -0
  43. data/lib/openai/models/beta/agent_session_event.rb +128 -0
  44. data/lib/openai/models/beta/agent_session_failed_event.rb +39 -0
  45. data/lib/openai/models/beta/agent_session_idle_event.rb +39 -0
  46. data/lib/openai/models/beta/agent_session_in_progress_event.rb +39 -0
  47. data/lib/openai/models/beta/agent_session_input_message_param.rb +51 -0
  48. data/lib/openai/models/beta/agent_session_input_param.rb +131 -0
  49. data/lib/openai/models/beta/agent_session_item.rb +186 -0
  50. data/lib/openai/models/beta/agent_session_message.rb +106 -0
  51. data/lib/openai/models/beta/agent_session_message_content.rb +97 -0
  52. data/lib/openai/models/beta/agent_session_requires_action_event.rb +39 -0
  53. data/lib/openai/models/beta/agent_session_subagent_active_event.rb +39 -0
  54. data/lib/openai/models/beta/agent_session_subagent_closed_event.rb +39 -0
  55. data/lib/openai/models/beta/agent_session_subagent_created_event.rb +39 -0
  56. data/lib/openai/models/beta/agent_session_turn_cancelled_event.rb +66 -0
  57. data/lib/openai/models/beta/agent_session_turn_completed_event.rb +66 -0
  58. data/lib/openai/models/beta/agent_session_turn_content_part_added_event.rb +84 -0
  59. data/lib/openai/models/beta/agent_session_turn_content_part_done_event.rb +84 -0
  60. data/lib/openai/models/beta/agent_session_turn_created_event.rb +57 -0
  61. data/lib/openai/models/beta/agent_session_turn_failed_event.rb +66 -0
  62. data/lib/openai/models/beta/agent_session_turn_in_progress_event.rb +57 -0
  63. data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +66 -0
  64. data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +66 -0
  65. data/lib/openai/models/beta/agent_session_turn_output_text_delta_event.rb +84 -0
  66. data/lib/openai/models/beta/agent_session_turn_output_text_done_event.rb +84 -0
  67. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rb +86 -0
  68. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rb +93 -0
  69. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rb +86 -0
  70. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rb +84 -0
  71. data/lib/openai/models/beta/agent_text.rb +44 -0
  72. data/lib/openai/models/beta/agent_text_param.rb +49 -0
  73. data/lib/openai/models/beta/agent_tool.rb +314 -0
  74. data/lib/openai/models/beta/agent_tool_param.rb +359 -0
  75. data/lib/openai/models/beta/agent_update_params.rb +137 -0
  76. data/lib/openai/models/beta/agent_wait_for_subagents_call_item.rb +66 -0
  77. data/lib/openai/models/beta/agent_web_search_call_item.rb +57 -0
  78. data/lib/openai/models/beta/agents/environment_info.rb +107 -0
  79. data/lib/openai/models/beta/agents/environment_retrieve_params.rb +24 -0
  80. data/lib/openai/models/beta/agents/environments/environment_file.rb +55 -0
  81. data/lib/openai/models/beta/agents/environments/environment_template.rb +368 -0
  82. data/lib/openai/models/beta/agents/environments/environment_template_deleted.rb +46 -0
  83. data/lib/openai/models/beta/agents/environments/file_create_params.rb +26 -0
  84. data/lib/openai/models/beta/agents/environments/file_list_params.rb +77 -0
  85. data/lib/openai/models/beta/agents/environments/template_create_params.rb +209 -0
  86. data/lib/openai/models/beta/agents/environments/template_delete_params.rb +26 -0
  87. data/lib/openai/models/beta/agents/environments/template_list_params.rb +61 -0
  88. data/lib/openai/models/beta/agents/environments/template_retrieve_params.rb +26 -0
  89. data/lib/openai/models/beta/agents/environments/template_update_params.rb +212 -0
  90. data/lib/openai/models/beta/agents/session_create_params.rb +203 -0
  91. data/lib/openai/models/beta/agents/session_delete_params.rb +24 -0
  92. data/lib/openai/models/beta/agents/session_list_params.rb +73 -0
  93. data/lib/openai/models/beta/agents/session_retrieve_params.rb +24 -0
  94. data/lib/openai/models/beta/agents/session_update_params.rb +38 -0
  95. data/lib/openai/models/beta/agents/sessions/artifact_content_params.rb +32 -0
  96. data/lib/openai/models/beta/agents/sessions/artifact_delete_params.rb +32 -0
  97. data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +77 -0
  98. data/lib/openai/models/beta/agents/sessions/artifact_retrieve_params.rb +32 -0
  99. data/lib/openai/models/beta/agents/sessions/event_create_params.rb +43 -0
  100. data/lib/openai/models/beta/agents/sessions/event_stream_params.rb +26 -0
  101. data/lib/openai/models/beta/agents/sessions/item_list_params.rb +68 -0
  102. data/lib/openai/models/beta/agents/sessions/session_artifact.rb +91 -0
  103. data/lib/openai/models/beta/agents/sessions/session_artifact_deleted.rb +46 -0
  104. data/lib/openai/models/beta/agents/sessions/subagent_list_params.rb +68 -0
  105. data/lib/openai/models/beta/agents/sessions/subagent_retrieve_params.rb +32 -0
  106. data/lib/openai/models/beta/agents/sessions/subagents/item_list_params.rb +77 -0
  107. data/lib/openai/models/beta/agents/sessions/subagents/turn_list_params.rb +77 -0
  108. data/lib/openai/models/beta/agents/sessions/subagents/turn_retrieve_params.rb +40 -0
  109. data/lib/openai/models/beta/agents/sessions/subagents/turns/item_list_params.rb +86 -0
  110. data/lib/openai/models/beta/agents/sessions/turn.rb +148 -0
  111. data/lib/openai/models/beta/agents/sessions/turn_list_params.rb +68 -0
  112. data/lib/openai/models/beta/agents/sessions/turn_retrieve_params.rb +32 -0
  113. data/lib/openai/models/beta/agents/vault.rb +63 -0
  114. data/lib/openai/models/beta/agents/vault_create_params.rb +40 -0
  115. data/lib/openai/models/beta/agents/vault_delete_params.rb +24 -0
  116. data/lib/openai/models/beta/agents/vault_deleted.rb +42 -0
  117. data/lib/openai/models/beta/agents/vault_list_params.rb +75 -0
  118. data/lib/openai/models/beta/agents/vault_retrieve_params.rb +24 -0
  119. data/lib/openai/models/beta/agents/vault_status.rb +20 -0
  120. data/lib/openai/models/beta/agents/vault_status_filter.rb +27 -0
  121. data/lib/openai/models/beta/agents/vaults/credential.rb +80 -0
  122. data/lib/openai/models/beta/agents/vaults/credential_auth.rb +155 -0
  123. data/lib/openai/models/beta/agents/vaults/credential_auth_create_param.rb +184 -0
  124. data/lib/openai/models/beta/agents/vaults/credential_auth_rotate_param.rb +147 -0
  125. data/lib/openai/models/beta/agents/vaults/credential_create_params.rb +47 -0
  126. data/lib/openai/models/beta/agents/vaults/credential_delete_params.rb +32 -0
  127. data/lib/openai/models/beta/agents/vaults/credential_deleted.rb +44 -0
  128. data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +84 -0
  129. data/lib/openai/models/beta/agents/vaults/credential_retrieve_params.rb +32 -0
  130. data/lib/openai/models/beta/agents/vaults/credential_update_params.rb +43 -0
  131. data/lib/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth.rb +78 -0
  132. data/lib/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_create_param.rb +96 -0
  133. data/lib/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_rotate_param.rb +84 -0
  134. data/lib/openai/models/beta/environment.rb +246 -0
  135. data/lib/openai/models/beta/environment_param.rb +269 -0
  136. data/lib/openai/models/beta/hosted_environment_file.rb +64 -0
  137. data/lib/openai/models/beta/hosted_environment_file_id.rb +57 -0
  138. data/lib/openai/models/beta/hosted_environment_file_param.rb +87 -0
  139. data/lib/openai/models/beta/hosted_plugin.rb +39 -0
  140. data/lib/openai/models/beta/hosted_plugin_param.rb +48 -0
  141. data/lib/openai/models/beta/hosted_skill.rb +55 -0
  142. data/lib/openai/models/beta/hosted_skill_param.rb +96 -0
  143. data/lib/openai/models/beta/hosted_skill_reference.rb +57 -0
  144. data/lib/openai/models/beta/inline_capability_source_param.rb +39 -0
  145. data/lib/openai/models/beta/input_content.rb +71 -0
  146. data/lib/openai/models/beta/input_content_param.rb +69 -0
  147. data/lib/openai/models/beta/mcp_transport.rb +96 -0
  148. data/lib/openai/models/beta/mcp_transport_param.rb +123 -0
  149. data/lib/openai/models/beta/multi_agent_config.rb +32 -0
  150. data/lib/openai/models/beta/multi_agent_config_param.rb +30 -0
  151. data/lib/openai/models/beta/output_text.rb +30 -0
  152. data/lib/openai/models/beta/persisted_agent_tool.rb +329 -0
  153. data/lib/openai/models/beta/persisted_agent_tool_param.rb +355 -0
  154. data/lib/openai/models/beta/persisted_mcp_transport.rb +105 -0
  155. data/lib/openai/models/beta/persisted_mcp_transport_param.rb +105 -0
  156. data/lib/openai/models/beta/session_error.rb +48 -0
  157. data/lib/openai/models/beta/session_turn_error.rb +88 -0
  158. data/lib/openai/models/beta/setup_command_param.rb +30 -0
  159. data/lib/openai/models/beta/subagent.rb +121 -0
  160. data/lib/openai/models/beta/summary_text.rb +30 -0
  161. data/lib/openai/models/beta/text_format.rb +60 -0
  162. data/lib/openai/models/beta/text_format_param.rb +60 -0
  163. data/lib/openai/models/beta/token_usage.rb +87 -0
  164. data/lib/openai/models/beta/web_search_action.rb +130 -0
  165. data/lib/openai/models/chat/completion_create_params.rb +1 -1
  166. data/lib/openai/resources/beta/agents/environments/files.rb +89 -0
  167. data/lib/openai/resources/beta/agents/environments/templates.rb +206 -0
  168. data/lib/openai/resources/beta/agents/environments.rb +50 -0
  169. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +155 -0
  170. data/lib/openai/resources/beta/agents/sessions/events.rb +80 -0
  171. data/lib/openai/resources/beta/agents/sessions/items.rb +57 -0
  172. data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +66 -0
  173. data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +82 -0
  174. data/lib/openai/resources/beta/agents/sessions/subagents/turns.rb +108 -0
  175. data/lib/openai/resources/beta/agents/sessions/subagents.rb +95 -0
  176. data/lib/openai/resources/beta/agents/sessions/turns.rb +89 -0
  177. data/lib/openai/resources/beta/agents/sessions.rb +294 -0
  178. data/lib/openai/resources/beta/agents/vaults/credentials.rb +195 -0
  179. data/lib/openai/resources/beta/agents/vaults.rb +137 -0
  180. data/lib/openai/resources/beta/agents.rb +213 -0
  181. data/lib/openai/resources/beta.rb +4 -0
  182. data/lib/openai/resources/live/sessions.rb +10 -4
  183. data/lib/openai/version.rb +1 -1
  184. data/lib/openai.rb +176 -0
  185. data/rbi/openai/helpers/agents.rbi +71 -0
  186. data/rbi/openai/internal/token_page.rbi +25 -0
  187. data/rbi/openai/models/beta/agent.rbi +209 -0
  188. data/rbi/openai/models/beta/agent_close_subagent_call_item.rbi +102 -0
  189. data/rbi/openai/models/beta/agent_command_execution_item.rbi +132 -0
  190. data/rbi/openai/models/beta/agent_content.rbi +75 -0
  191. data/rbi/openai/models/beta/agent_create_params.rbi +212 -0
  192. data/rbi/openai/models/beta/agent_create_subagent_call_item.rbi +124 -0
  193. data/rbi/openai/models/beta/agent_delete_params.rbi +53 -0
  194. data/rbi/openai/models/beta/agent_deleted.rbi +68 -0
  195. data/rbi/openai/models/beta/agent_function_call_item.rbi +112 -0
  196. data/rbi/openai/models/beta/agent_function_call_output.rbi +33 -0
  197. data/rbi/openai/models/beta/agent_function_call_output_param.rbi +33 -0
  198. data/rbi/openai/models/beta/agent_function_call_status.rbi +35 -0
  199. data/rbi/openai/models/beta/agent_interrupt_subagent_call_item.rbi +103 -0
  200. data/rbi/openai/models/beta/agent_list_params.rbi +102 -0
  201. data/rbi/openai/models/beta/agent_mcp_call_item.rbi +132 -0
  202. data/rbi/openai/models/beta/agent_output_command_execution_output_delta_event.rbi +112 -0
  203. data/rbi/openai/models/beta/agent_output_item.rbi +38 -0
  204. data/rbi/openai/models/beta/agent_output_item_status.rbi +32 -0
  205. data/rbi/openai/models/beta/agent_reasoning.rbi +103 -0
  206. data/rbi/openai/models/beta/agent_reasoning_item.rbi +92 -0
  207. data/rbi/openai/models/beta/agent_reasoning_param.rbi +103 -0
  208. data/rbi/openai/models/beta/agent_resume_subagent_call_item.rbi +102 -0
  209. data/rbi/openai/models/beta/agent_retrieve_params.rbi +53 -0
  210. data/rbi/openai/models/beta/agent_send_subagent_input_call_item.rbi +114 -0
  211. data/rbi/openai/models/beta/agent_session.rbi +494 -0
  212. data/rbi/openai/models/beta/agent_session_assistant_message.rbi +130 -0
  213. data/rbi/openai/models/beta/agent_session_created_event.rbi +71 -0
  214. data/rbi/openai/models/beta/agent_session_deleted.rbi +71 -0
  215. data/rbi/openai/models/beta/agent_session_environment_connected_event.rbi +95 -0
  216. data/rbi/openai/models/beta/agent_session_environment_disconnected_event.rbi +95 -0
  217. data/rbi/openai/models/beta/agent_session_environment_failed_event.rbi +95 -0
  218. data/rbi/openai/models/beta/agent_session_environment_pending_event.rbi +95 -0
  219. data/rbi/openai/models/beta/agent_session_environment_ready_event.rbi +95 -0
  220. data/rbi/openai/models/beta/agent_session_environment_state.rbi +168 -0
  221. data/rbi/openai/models/beta/agent_session_error_event.rbi +80 -0
  222. data/rbi/openai/models/beta/agent_session_event.rbi +56 -0
  223. data/rbi/openai/models/beta/agent_session_failed_event.rbi +71 -0
  224. data/rbi/openai/models/beta/agent_session_idle_event.rbi +71 -0
  225. data/rbi/openai/models/beta/agent_session_in_progress_event.rbi +71 -0
  226. data/rbi/openai/models/beta/agent_session_input_message_param.rbi +100 -0
  227. data/rbi/openai/models/beta/agent_session_input_param.rbi +232 -0
  228. data/rbi/openai/models/beta/agent_session_item.rbi +239 -0
  229. data/rbi/openai/models/beta/agent_session_message.rbi +153 -0
  230. data/rbi/openai/models/beta/agent_session_message_content.rbi +172 -0
  231. data/rbi/openai/models/beta/agent_session_requires_action_event.rbi +71 -0
  232. data/rbi/openai/models/beta/agent_session_subagent_active_event.rbi +71 -0
  233. data/rbi/openai/models/beta/agent_session_subagent_closed_event.rbi +71 -0
  234. data/rbi/openai/models/beta/agent_session_subagent_created_event.rbi +71 -0
  235. data/rbi/openai/models/beta/agent_session_turn_cancelled_event.rbi +108 -0
  236. data/rbi/openai/models/beta/agent_session_turn_completed_event.rbi +108 -0
  237. data/rbi/openai/models/beta/agent_session_turn_content_part_added_event.rbi +125 -0
  238. data/rbi/openai/models/beta/agent_session_turn_content_part_done_event.rbi +125 -0
  239. data/rbi/openai/models/beta/agent_session_turn_created_event.rbi +95 -0
  240. data/rbi/openai/models/beta/agent_session_turn_failed_event.rbi +108 -0
  241. data/rbi/openai/models/beta/agent_session_turn_in_progress_event.rbi +95 -0
  242. data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +117 -0
  243. data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +115 -0
  244. data/rbi/openai/models/beta/agent_session_turn_output_text_delta_event.rbi +122 -0
  245. data/rbi/openai/models/beta/agent_session_turn_output_text_done_event.rbi +122 -0
  246. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbi +127 -0
  247. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbi +135 -0
  248. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbi +124 -0
  249. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbi +122 -0
  250. data/rbi/openai/models/beta/agent_text.rbi +75 -0
  251. data/rbi/openai/models/beta/agent_text_param.rbi +87 -0
  252. data/rbi/openai/models/beta/agent_tool.rbi +467 -0
  253. data/rbi/openai/models/beta/agent_tool_param.rbi +530 -0
  254. data/rbi/openai/models/beta/agent_update_params.rbi +225 -0
  255. data/rbi/openai/models/beta/agent_wait_for_subagents_call_item.rbi +102 -0
  256. data/rbi/openai/models/beta/agent_web_search_call_item.rbi +99 -0
  257. data/rbi/openai/models/beta/agents/environment_info.rbi +156 -0
  258. data/rbi/openai/models/beta/agents/environment_retrieve_params.rbi +57 -0
  259. data/rbi/openai/models/beta/agents/environments/environment_file.rbi +87 -0
  260. data/rbi/openai/models/beta/agents/environments/environment_template.rbi +582 -0
  261. data/rbi/openai/models/beta/agents/environments/environment_template_deleted.rbi +78 -0
  262. data/rbi/openai/models/beta/agents/environments/file_create_params.rbi +61 -0
  263. data/rbi/openai/models/beta/agents/environments/file_list_params.rbi +130 -0
  264. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +350 -0
  265. data/rbi/openai/models/beta/agents/environments/template_delete_params.rbi +61 -0
  266. data/rbi/openai/models/beta/agents/environments/template_list_params.rbi +117 -0
  267. data/rbi/openai/models/beta/agents/environments/template_retrieve_params.rbi +61 -0
  268. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +354 -0
  269. data/rbi/openai/models/beta/agents/session_create_params.rbi +336 -0
  270. data/rbi/openai/models/beta/agents/session_delete_params.rbi +57 -0
  271. data/rbi/openai/models/beta/agents/session_list_params.rbi +124 -0
  272. data/rbi/openai/models/beta/agents/session_retrieve_params.rbi +57 -0
  273. data/rbi/openai/models/beta/agents/session_update_params.rbi +74 -0
  274. data/rbi/openai/models/beta/agents/sessions/artifact_content_params.rbi +68 -0
  275. data/rbi/openai/models/beta/agents/sessions/artifact_delete_params.rbi +68 -0
  276. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +127 -0
  277. data/rbi/openai/models/beta/agents/sessions/artifact_retrieve_params.rbi +68 -0
  278. data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +107 -0
  279. data/rbi/openai/models/beta/agents/sessions/event_stream_params.rbi +61 -0
  280. data/rbi/openai/models/beta/agents/sessions/item_list_params.rbi +121 -0
  281. data/rbi/openai/models/beta/agents/sessions/session_artifact.rbi +132 -0
  282. data/rbi/openai/models/beta/agents/sessions/session_artifact_deleted.rbi +78 -0
  283. data/rbi/openai/models/beta/agents/sessions/subagent_list_params.rbi +123 -0
  284. data/rbi/openai/models/beta/agents/sessions/subagent_retrieve_params.rbi +68 -0
  285. data/rbi/openai/models/beta/agents/sessions/subagents/item_list_params.rbi +139 -0
  286. data/rbi/openai/models/beta/agents/sessions/subagents/turn_list_params.rbi +139 -0
  287. data/rbi/openai/models/beta/agents/sessions/subagents/turn_retrieve_params.rbi +79 -0
  288. data/rbi/openai/models/beta/agents/sessions/subagents/turns/item_list_params.rbi +161 -0
  289. data/rbi/openai/models/beta/agents/sessions/turn.rbi +200 -0
  290. data/rbi/openai/models/beta/agents/sessions/turn_list_params.rbi +121 -0
  291. data/rbi/openai/models/beta/agents/sessions/turn_retrieve_params.rbi +68 -0
  292. data/rbi/openai/models/beta/agents/vault.rbi +99 -0
  293. data/rbi/openai/models/beta/agents/vault_create_params.rbi +75 -0
  294. data/rbi/openai/models/beta/agents/vault_delete_params.rbi +57 -0
  295. data/rbi/openai/models/beta/agents/vault_deleted.rbi +72 -0
  296. data/rbi/openai/models/beta/agents/vault_list_params.rbi +149 -0
  297. data/rbi/openai/models/beta/agents/vault_retrieve_params.rbi +57 -0
  298. data/rbi/openai/models/beta/agents/vault_status.rbi +30 -0
  299. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +39 -0
  300. data/rbi/openai/models/beta/agents/vaults/credential.rbi +123 -0
  301. data/rbi/openai/models/beta/agents/vaults/credential_auth.rbi +248 -0
  302. data/rbi/openai/models/beta/agents/vaults/credential_auth_create_param.rbi +293 -0
  303. data/rbi/openai/models/beta/agents/vaults/credential_auth_rotate_param.rbi +252 -0
  304. data/rbi/openai/models/beta/agents/vaults/credential_create_params.rbi +99 -0
  305. data/rbi/openai/models/beta/agents/vaults/credential_delete_params.rbi +68 -0
  306. data/rbi/openai/models/beta/agents/vaults/credential_deleted.rbi +76 -0
  307. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +163 -0
  308. data/rbi/openai/models/beta/agents/vaults/credential_retrieve_params.rbi +68 -0
  309. data/rbi/openai/models/beta/agents/vaults/credential_update_params.rbi +95 -0
  310. data/rbi/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth.rbi +151 -0
  311. data/rbi/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_create_param.rbi +171 -0
  312. data/rbi/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_rotate_param.rbi +137 -0
  313. data/rbi/openai/models/beta/environment.rbi +400 -0
  314. data/rbi/openai/models/beta/environment_param.rbi +448 -0
  315. data/rbi/openai/models/beta/hosted_environment_file.rbi +93 -0
  316. data/rbi/openai/models/beta/hosted_environment_file_id.rbi +86 -0
  317. data/rbi/openai/models/beta/hosted_environment_file_param.rbi +140 -0
  318. data/rbi/openai/models/beta/hosted_plugin.rbi +68 -0
  319. data/rbi/openai/models/beta/hosted_plugin_param.rbi +80 -0
  320. data/rbi/openai/models/beta/hosted_skill.rbi +84 -0
  321. data/rbi/openai/models/beta/hosted_skill_param.rbi +152 -0
  322. data/rbi/openai/models/beta/hosted_skill_reference.rbi +86 -0
  323. data/rbi/openai/models/beta/inline_capability_source_param.rbi +68 -0
  324. data/rbi/openai/models/beta/input_content.rbi +124 -0
  325. data/rbi/openai/models/beta/input_content_param.rbi +122 -0
  326. data/rbi/openai/models/beta/mcp_transport.rbi +149 -0
  327. data/rbi/openai/models/beta/mcp_transport_param.rbi +188 -0
  328. data/rbi/openai/models/beta/multi_agent_config.rbi +61 -0
  329. data/rbi/openai/models/beta/multi_agent_config_param.rbi +62 -0
  330. data/rbi/openai/models/beta/output_text.rbi +59 -0
  331. data/rbi/openai/models/beta/persisted_agent_tool.rbi +507 -0
  332. data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +546 -0
  333. data/rbi/openai/models/beta/persisted_mcp_transport.rbi +158 -0
  334. data/rbi/openai/models/beta/persisted_mcp_transport_param.rbi +164 -0
  335. data/rbi/openai/models/beta/session_error.rbi +77 -0
  336. data/rbi/openai/models/beta/session_turn_error.rbi +125 -0
  337. data/rbi/openai/models/beta/setup_command_param.rbi +59 -0
  338. data/rbi/openai/models/beta/subagent.rbi +158 -0
  339. data/rbi/openai/models/beta/summary_text.rbi +59 -0
  340. data/rbi/openai/models/beta/text_format.rbi +113 -0
  341. data/rbi/openai/models/beta/text_format_param.rbi +113 -0
  342. data/rbi/openai/models/beta/token_usage.rbi +174 -0
  343. data/rbi/openai/models/beta/web_search_action.rbi +227 -0
  344. data/rbi/openai/resources/beta/agents/environments/files.rbi +79 -0
  345. data/rbi/openai/resources/beta/agents/environments/templates.rbi +194 -0
  346. data/rbi/openai/resources/beta/agents/environments.rbi +44 -0
  347. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +105 -0
  348. data/rbi/openai/resources/beta/agents/sessions/events.rbi +71 -0
  349. data/rbi/openai/resources/beta/agents/sessions/items.rbi +53 -0
  350. data/rbi/openai/resources/beta/agents/sessions/subagents/items.rbi +60 -0
  351. data/rbi/openai/resources/beta/agents/sessions/subagents/turns/items.rbi +67 -0
  352. data/rbi/openai/resources/beta/agents/sessions/subagents/turns.rbi +85 -0
  353. data/rbi/openai/resources/beta/agents/sessions/subagents.rbi +74 -0
  354. data/rbi/openai/resources/beta/agents/sessions/turns.rbi +70 -0
  355. data/rbi/openai/resources/beta/agents/sessions.rbi +208 -0
  356. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +148 -0
  357. data/rbi/openai/resources/beta/agents/vaults.rbi +106 -0
  358. data/rbi/openai/resources/beta/agents.rbi +180 -0
  359. data/rbi/openai/resources/beta.rbi +3 -0
  360. data/rbi/openai/resources/live/sessions.rbi +10 -4
  361. data/rbi/openai/resources/responses.rbi +8 -8
  362. data/sig/openai/helpers/agents.rbs +50 -0
  363. data/sig/openai/internal/token_page.rbs +15 -0
  364. data/sig/openai/models/beta/agent.rbs +96 -0
  365. data/sig/openai/models/beta/agent_close_subagent_call_item.rbs +47 -0
  366. data/sig/openai/models/beta/agent_command_execution_item.rbs +62 -0
  367. data/sig/openai/models/beta/agent_content.rbs +33 -0
  368. data/sig/openai/models/beta/agent_create_params.rbs +91 -0
  369. data/sig/openai/models/beta/agent_create_subagent_call_item.rbs +57 -0
  370. data/sig/openai/models/beta/agent_delete_params.rbs +25 -0
  371. data/sig/openai/models/beta/agent_deleted.rbs +24 -0
  372. data/sig/openai/models/beta/agent_function_call_item.rbs +52 -0
  373. data/sig/openai/models/beta/agent_function_call_output.rbs +16 -0
  374. data/sig/openai/models/beta/agent_function_call_output_param.rbs +16 -0
  375. data/sig/openai/models/beta/agent_function_call_status.rbs +26 -0
  376. data/sig/openai/models/beta/agent_interrupt_subagent_call_item.rbs +47 -0
  377. data/sig/openai/models/beta/agent_list_params.rbs +58 -0
  378. data/sig/openai/models/beta/agent_mcp_call_item.rbs +62 -0
  379. data/sig/openai/models/beta/agent_output_command_execution_output_delta_event.rbs +52 -0
  380. data/sig/openai/models/beta/agent_output_item.rbs +25 -0
  381. data/sig/openai/models/beta/agent_output_item_status.rbs +22 -0
  382. data/sig/openai/models/beta/agent_reasoning.rbs +60 -0
  383. data/sig/openai/models/beta/agent_reasoning_item.rbs +42 -0
  384. data/sig/openai/models/beta/agent_reasoning_param.rbs +60 -0
  385. data/sig/openai/models/beta/agent_resume_subagent_call_item.rbs +47 -0
  386. data/sig/openai/models/beta/agent_retrieve_params.rbs +25 -0
  387. data/sig/openai/models/beta/agent_send_subagent_input_call_item.rbs +52 -0
  388. data/sig/openai/models/beta/agent_session.rbs +234 -0
  389. data/sig/openai/models/beta/agent_session_assistant_message.rbs +66 -0
  390. data/sig/openai/models/beta/agent_session_created_event.rbs +32 -0
  391. data/sig/openai/models/beta/agent_session_deleted.rbs +28 -0
  392. data/sig/openai/models/beta/agent_session_environment_connected_event.rbs +42 -0
  393. data/sig/openai/models/beta/agent_session_environment_disconnected_event.rbs +42 -0
  394. data/sig/openai/models/beta/agent_session_environment_failed_event.rbs +42 -0
  395. data/sig/openai/models/beta/agent_session_environment_pending_event.rbs +42 -0
  396. data/sig/openai/models/beta/agent_session_environment_ready_event.rbs +42 -0
  397. data/sig/openai/models/beta/agent_session_environment_state.rbs +74 -0
  398. data/sig/openai/models/beta/agent_session_error_event.rbs +37 -0
  399. data/sig/openai/models/beta/agent_session_event.rbs +43 -0
  400. data/sig/openai/models/beta/agent_session_failed_event.rbs +32 -0
  401. data/sig/openai/models/beta/agent_session_idle_event.rbs +32 -0
  402. data/sig/openai/models/beta/agent_session_in_progress_event.rbs +32 -0
  403. data/sig/openai/models/beta/agent_session_input_message_param.rbs +46 -0
  404. data/sig/openai/models/beta/agent_session_input_param.rbs +91 -0
  405. data/sig/openai/models/beta/agent_session_item.rbs +116 -0
  406. data/sig/openai/models/beta/agent_session_message.rbs +77 -0
  407. data/sig/openai/models/beta/agent_session_message_content.rbs +52 -0
  408. data/sig/openai/models/beta/agent_session_requires_action_event.rbs +32 -0
  409. data/sig/openai/models/beta/agent_session_subagent_active_event.rbs +32 -0
  410. data/sig/openai/models/beta/agent_session_subagent_closed_event.rbs +32 -0
  411. data/sig/openai/models/beta/agent_session_subagent_created_event.rbs +32 -0
  412. data/sig/openai/models/beta/agent_session_turn_cancelled_event.rbs +47 -0
  413. data/sig/openai/models/beta/agent_session_turn_completed_event.rbs +47 -0
  414. data/sig/openai/models/beta/agent_session_turn_content_part_added_event.rbs +57 -0
  415. data/sig/openai/models/beta/agent_session_turn_content_part_done_event.rbs +57 -0
  416. data/sig/openai/models/beta/agent_session_turn_created_event.rbs +42 -0
  417. data/sig/openai/models/beta/agent_session_turn_failed_event.rbs +47 -0
  418. data/sig/openai/models/beta/agent_session_turn_in_progress_event.rbs +42 -0
  419. data/sig/openai/models/beta/agent_session_turn_item_added_event.rbs +47 -0
  420. data/sig/openai/models/beta/agent_session_turn_item_done_event.rbs +47 -0
  421. data/sig/openai/models/beta/agent_session_turn_output_text_delta_event.rbs +57 -0
  422. data/sig/openai/models/beta/agent_session_turn_output_text_done_event.rbs +57 -0
  423. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbs +57 -0
  424. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbs +64 -0
  425. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbs +57 -0
  426. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbs +57 -0
  427. data/sig/openai/models/beta/agent_text.rbs +39 -0
  428. data/sig/openai/models/beta/agent_text_param.rbs +44 -0
  429. data/sig/openai/models/beta/agent_tool.rbs +226 -0
  430. data/sig/openai/models/beta/agent_tool_param.rbs +251 -0
  431. data/sig/openai/models/beta/agent_update_params.rbs +98 -0
  432. data/sig/openai/models/beta/agent_wait_for_subagents_call_item.rbs +47 -0
  433. data/sig/openai/models/beta/agent_web_search_call_item.rbs +42 -0
  434. data/sig/openai/models/beta/agents/environment_info.rbs +80 -0
  435. data/sig/openai/models/beta/agents/environment_retrieve_params.rbs +27 -0
  436. data/sig/openai/models/beta/agents/environments/environment_file.rbs +43 -0
  437. data/sig/openai/models/beta/agents/environments/environment_template.rbs +255 -0
  438. data/sig/openai/models/beta/agents/environments/environment_template_deleted.rbs +38 -0
  439. data/sig/openai/models/beta/agents/environments/file_create_params.rbs +29 -0
  440. data/sig/openai/models/beta/agents/environments/file_list_params.rbs +72 -0
  441. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +138 -0
  442. data/sig/openai/models/beta/agents/environments/template_delete_params.rbs +32 -0
  443. data/sig/openai/models/beta/agents/environments/template_list_params.rbs +64 -0
  444. data/sig/openai/models/beta/agents/environments/template_retrieve_params.rbs +32 -0
  445. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +143 -0
  446. data/sig/openai/models/beta/agents/session_create_params.rbs +144 -0
  447. data/sig/openai/models/beta/agents/session_delete_params.rbs +27 -0
  448. data/sig/openai/models/beta/agents/session_list_params.rbs +67 -0
  449. data/sig/openai/models/beta/agents/session_retrieve_params.rbs +27 -0
  450. data/sig/openai/models/beta/agents/session_update_params.rbs +35 -0
  451. data/sig/openai/models/beta/agents/sessions/artifact_content_params.rbs +37 -0
  452. data/sig/openai/models/beta/agents/sessions/artifact_delete_params.rbs +37 -0
  453. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +70 -0
  454. data/sig/openai/models/beta/agents/sessions/artifact_retrieve_params.rbs +37 -0
  455. data/sig/openai/models/beta/agents/sessions/event_create_params.rbs +44 -0
  456. data/sig/openai/models/beta/agents/sessions/event_stream_params.rbs +29 -0
  457. data/sig/openai/models/beta/agents/sessions/item_list_params.rbs +69 -0
  458. data/sig/openai/models/beta/agents/sessions/session_artifact.rbs +63 -0
  459. data/sig/openai/models/beta/agents/sessions/session_artifact_deleted.rbs +38 -0
  460. data/sig/openai/models/beta/agents/sessions/subagent_list_params.rbs +69 -0
  461. data/sig/openai/models/beta/agents/sessions/subagent_retrieve_params.rbs +37 -0
  462. data/sig/openai/models/beta/agents/sessions/subagents/item_list_params.rbs +76 -0
  463. data/sig/openai/models/beta/agents/sessions/subagents/turn_list_params.rbs +76 -0
  464. data/sig/openai/models/beta/agents/sessions/subagents/turn_retrieve_params.rbs +44 -0
  465. data/sig/openai/models/beta/agents/sessions/subagents/turns/item_list_params.rbs +83 -0
  466. data/sig/openai/models/beta/agents/sessions/turn.rbs +108 -0
  467. data/sig/openai/models/beta/agents/sessions/turn_list_params.rbs +69 -0
  468. data/sig/openai/models/beta/agents/sessions/turn_retrieve_params.rbs +37 -0
  469. data/sig/openai/models/beta/agents/vault.rbs +44 -0
  470. data/sig/openai/models/beta/agents/vault_create_params.rbs +37 -0
  471. data/sig/openai/models/beta/agents/vault_delete_params.rbs +27 -0
  472. data/sig/openai/models/beta/agents/vault_deleted.rbs +30 -0
  473. data/sig/openai/models/beta/agents/vault_list_params.rbs +69 -0
  474. data/sig/openai/models/beta/agents/vault_retrieve_params.rbs +27 -0
  475. data/sig/openai/models/beta/agents/vault_status.rbs +18 -0
  476. data/sig/openai/models/beta/agents/vault_status_filter.rbs +19 -0
  477. data/sig/openai/models/beta/agents/vaults/credential.rbs +56 -0
  478. data/sig/openai/models/beta/agents/vaults/credential_auth.rbs +104 -0
  479. data/sig/openai/models/beta/agents/vaults/credential_auth_create_param.rbs +121 -0
  480. data/sig/openai/models/beta/agents/vaults/credential_auth_rotate_param.rbs +90 -0
  481. data/sig/openai/models/beta/agents/vaults/credential_create_params.rbs +42 -0
  482. data/sig/openai/models/beta/agents/vaults/credential_delete_params.rbs +37 -0
  483. data/sig/openai/models/beta/agents/vaults/credential_deleted.rbs +32 -0
  484. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +76 -0
  485. data/sig/openai/models/beta/agents/vaults/credential_retrieve_params.rbs +37 -0
  486. data/sig/openai/models/beta/agents/vaults/credential_update_params.rbs +42 -0
  487. data/sig/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth.rbs +50 -0
  488. data/sig/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_create_param.rbs +68 -0
  489. data/sig/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_rotate_param.rbs +57 -0
  490. data/sig/openai/models/beta/environment.rbs +181 -0
  491. data/sig/openai/models/beta/environment_param.rbs +183 -0
  492. data/sig/openai/models/beta/hosted_environment_file.rbs +42 -0
  493. data/sig/openai/models/beta/hosted_environment_file_id.rbs +42 -0
  494. data/sig/openai/models/beta/hosted_environment_file_param.rbs +47 -0
  495. data/sig/openai/models/beta/hosted_plugin.rbs +23 -0
  496. data/sig/openai/models/beta/hosted_plugin_param.rbs +37 -0
  497. data/sig/openai/models/beta/hosted_skill.rbs +32 -0
  498. data/sig/openai/models/beta/hosted_skill_param.rbs +70 -0
  499. data/sig/openai/models/beta/hosted_skill_reference.rbs +42 -0
  500. data/sig/openai/models/beta/inline_capability_source_param.rbs +28 -0
  501. data/sig/openai/models/beta/input_content.rbs +39 -0
  502. data/sig/openai/models/beta/input_content_param.rbs +39 -0
  503. data/sig/openai/models/beta/mcp_transport.rbs +63 -0
  504. data/sig/openai/models/beta/mcp_transport_param.rbs +89 -0
  505. data/sig/openai/models/beta/multi_agent_config.rbs +21 -0
  506. data/sig/openai/models/beta/multi_agent_config_param.rbs +23 -0
  507. data/sig/openai/models/beta/output_text.rbs +17 -0
  508. data/sig/openai/models/beta/persisted_agent_tool.rbs +237 -0
  509. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +251 -0
  510. data/sig/openai/models/beta/persisted_mcp_transport.rbs +75 -0
  511. data/sig/openai/models/beta/persisted_mcp_transport_param.rbs +79 -0
  512. data/sig/openai/models/beta/session_error.rbs +32 -0
  513. data/sig/openai/models/beta/session_turn_error.rbs +96 -0
  514. data/sig/openai/models/beta/setup_command_param.rbs +17 -0
  515. data/sig/openai/models/beta/subagent.rbs +76 -0
  516. data/sig/openai/models/beta/summary_text.rbs +17 -0
  517. data/sig/openai/models/beta/text_format.rbs +39 -0
  518. data/sig/openai/models/beta/text_format_param.rbs +40 -0
  519. data/sig/openai/models/beta/token_usage.rbs +62 -0
  520. data/sig/openai/models/beta/web_search_action.rbs +85 -0
  521. data/sig/openai/resources/beta/agents/environments/files.rbs +28 -0
  522. data/sig/openai/resources/beta/agents/environments/templates.rbs +57 -0
  523. data/sig/openai/resources/beta/agents/environments.rbs +20 -0
  524. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +40 -0
  525. data/sig/openai/resources/beta/agents/sessions/events.rbs +25 -0
  526. data/sig/openai/resources/beta/agents/sessions/items.rbs +21 -0
  527. data/sig/openai/resources/beta/agents/sessions/subagents/items.rbs +24 -0
  528. data/sig/openai/resources/beta/agents/sessions/subagents/turns/items.rbs +27 -0
  529. data/sig/openai/resources/beta/agents/sessions/subagents/turns.rbs +33 -0
  530. data/sig/openai/resources/beta/agents/sessions/subagents.rbs +31 -0
  531. data/sig/openai/resources/beta/agents/sessions/turns.rbs +27 -0
  532. data/sig/openai/resources/beta/agents/sessions.rbs +65 -0
  533. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +48 -0
  534. data/sig/openai/resources/beta/agents/vaults.rbs +37 -0
  535. data/sig/openai/resources/beta/agents.rbs +59 -0
  536. data/sig/openai/resources/beta.rbs +2 -0
  537. metadata +525 -1
@@ -0,0 +1,467 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ # A tool available to the agent.
9
+ module AgentTool
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ Variants = T.type_alias do
13
+ T.any(
14
+ OpenAI::Beta::AgentTool::Function,
15
+ OpenAI::Beta::AgentTool::ProgrammaticToolCalling,
16
+ OpenAI::Beta::AgentTool::Mcp,
17
+ OpenAI::Beta::AgentTool::WebSearch
18
+ )
19
+ end
20
+
21
+ class Function < OpenAI::Internal::Type::BaseModel
22
+ OrHash = T.type_alias do
23
+ T.any(
24
+ OpenAI::Beta::AgentTool::Function,
25
+ OpenAI::Internal::AnyHash
26
+ )
27
+ end
28
+
29
+ # Whether the function is deferred and discovered through tool search.
30
+ sig { returns(T::Boolean) }
31
+ attr_accessor :defer_loading
32
+
33
+ # A description of what the function does.
34
+ sig { returns(String) }
35
+ attr_accessor :description
36
+
37
+ # The name of the function.
38
+ sig { returns(String) }
39
+ attr_accessor :name
40
+
41
+ # A JSON Schema object describing the function's arguments.
42
+ sig { returns(T::Hash[Symbol, T.anything]) }
43
+ attr_accessor :parameters
44
+
45
+ # The type of the object. Always `function`.
46
+ sig { returns(Symbol) }
47
+ attr_accessor :type
48
+
49
+ # A function defined by the application.
50
+ sig do
51
+ params(
52
+
53
+ defer_loading: T::Boolean,
54
+
55
+ description: String,
56
+
57
+ name: String,
58
+
59
+ parameters: T::Hash[Symbol, T.anything],
60
+
61
+ type: Symbol
62
+ )
63
+ .returns(T.attached_class)
64
+ end
65
+ def self.new(
66
+
67
+ # Whether the function is deferred and discovered through tool search.
68
+ defer_loading:,
69
+
70
+ # A description of what the function does.
71
+ description:,
72
+
73
+ # The name of the function.
74
+ name:,
75
+
76
+ # A JSON Schema object describing the function's arguments.
77
+ parameters:,
78
+
79
+ # The type of the object. Always `function`.
80
+
81
+ type: :function
82
+ )
83
+ end
84
+
85
+ sig do
86
+ override.returns(
87
+ {
88
+ defer_loading: T::Boolean,
89
+ description: String,
90
+ name: String,
91
+ parameters: T::Hash[Symbol, T.anything],
92
+ type: Symbol
93
+ }
94
+ )
95
+ end
96
+ def to_hash
97
+ end
98
+
99
+ end
100
+
101
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
102
+ OrHash = T.type_alias do
103
+ T.any(
104
+ OpenAI::Beta::AgentTool::ProgrammaticToolCalling,
105
+ OpenAI::Internal::AnyHash
106
+ )
107
+ end
108
+
109
+ # Whether tools can be called from model-generated code.
110
+ sig { returns(T::Boolean) }
111
+ attr_accessor :enabled
112
+
113
+ # The type of the object. Always `programmatic_tool_calling`.
114
+ sig { returns(Symbol) }
115
+ attr_accessor :type
116
+
117
+ # Enables calling tools from model-generated code.
118
+ sig do
119
+ params(
120
+
121
+ enabled: T::Boolean,
122
+
123
+ type: Symbol
124
+ )
125
+ .returns(T.attached_class)
126
+ end
127
+ def self.new(
128
+
129
+ # Whether tools can be called from model-generated code.
130
+ enabled:,
131
+
132
+ # The type of the object. Always `programmatic_tool_calling`.
133
+
134
+ type: :programmatic_tool_calling
135
+ )
136
+ end
137
+
138
+ sig do
139
+ override.returns(
140
+ {enabled: T::Boolean, type: Symbol}
141
+ )
142
+ end
143
+ def to_hash
144
+ end
145
+
146
+ end
147
+
148
+ class Mcp < OpenAI::Internal::Type::BaseModel
149
+ OrHash = T.type_alias do
150
+ T.any(
151
+ OpenAI::Beta::AgentTool::Mcp,
152
+ OpenAI::Internal::AnyHash
153
+ )
154
+ end
155
+
156
+ # The MCP tools the agent may call.
157
+ sig { returns(T.nilable(T::Array[String])) }
158
+ attr_accessor :allowed_tools
159
+
160
+ # Where outbound MCP HTTP connections originate.
161
+ sig { returns(OpenAI::Beta::AgentTool::Mcp::ConnectionOrigin::TaggedSymbol) }
162
+ attr_accessor :connection_origin
163
+
164
+ # The attached vault credential selected for this MCP server, if any. Optional
165
+ # when exactly one attached credential matches the server URL.
166
+ sig { returns(T.nilable(String)) }
167
+ attr_accessor :credential_id
168
+
169
+ # Metadata included with requests to this MCP server.
170
+ sig { returns(T::Hash[Symbol, T.anything]) }
171
+ attr_accessor :request_metadata
172
+
173
+ # Whether this MCP server must initialize before the first turn.
174
+ sig { returns(T::Boolean) }
175
+ attr_accessor :required
176
+
177
+ # A label used to identify the MCP server in tool calls.
178
+ sig { returns(String) }
179
+ attr_accessor :server_label
180
+
181
+ # The transport used to connect to the MCP server.
182
+ sig { returns(OpenAI::Beta::McpTransport::Variants) }
183
+ attr_accessor :transport
184
+
185
+ # The type of the object. Always `mcp`.
186
+ sig { returns(Symbol) }
187
+ attr_accessor :type
188
+
189
+ # Tools provided by a remote MCP server.
190
+ sig do
191
+ params(
192
+
193
+ allowed_tools: T.nilable(T::Array[String]),
194
+
195
+ connection_origin: OpenAI::Beta::AgentTool::Mcp::ConnectionOrigin::OrSymbol,
196
+
197
+ credential_id: T.nilable(String),
198
+
199
+ request_metadata: T::Hash[Symbol, T.anything],
200
+
201
+ required: T::Boolean,
202
+
203
+ server_label: String,
204
+
205
+ transport: T.any(OpenAI::Beta::McpTransport::HTTP::OrHash, OpenAI::Beta::McpTransport::Stdio::OrHash),
206
+
207
+ type: Symbol
208
+ )
209
+ .returns(T.attached_class)
210
+ end
211
+ def self.new(
212
+
213
+ # The MCP tools the agent may call.
214
+ allowed_tools:,
215
+
216
+ # Where outbound MCP HTTP connections originate.
217
+ connection_origin:,
218
+
219
+ # The attached vault credential selected for this MCP server, if any. Optional
220
+ # when exactly one attached credential matches the server URL.
221
+ credential_id:,
222
+
223
+ # Metadata included with requests to this MCP server.
224
+ request_metadata:,
225
+
226
+ # Whether this MCP server must initialize before the first turn.
227
+ required:,
228
+
229
+ # A label used to identify the MCP server in tool calls.
230
+ server_label:,
231
+
232
+ # The transport used to connect to the MCP server.
233
+ transport:,
234
+
235
+ # The type of the object. Always `mcp`.
236
+
237
+ type: :mcp
238
+ )
239
+ end
240
+
241
+ sig do
242
+ override.returns(
243
+ {
244
+ allowed_tools: T.nilable(T::Array[String]),
245
+ connection_origin: OpenAI::Beta::AgentTool::Mcp::ConnectionOrigin::TaggedSymbol,
246
+ credential_id: T.nilable(String),
247
+ request_metadata: T::Hash[Symbol, T.anything],
248
+ required: T::Boolean,
249
+ server_label: String,
250
+ transport: OpenAI::Beta::McpTransport::Variants,
251
+ type: Symbol
252
+ }
253
+ )
254
+ end
255
+ def to_hash
256
+ end
257
+
258
+ # Where outbound MCP HTTP connections originate.
259
+ module ConnectionOrigin
260
+ extend OpenAI::Internal::Type::Enum
261
+
262
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Beta::AgentTool::Mcp::ConnectionOrigin) }
263
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
264
+
265
+ SERVICE = T.let(:service, OpenAI::Beta::AgentTool::Mcp::ConnectionOrigin::TaggedSymbol)
266
+ ENVIRONMENT = T.let(:environment, OpenAI::Beta::AgentTool::Mcp::ConnectionOrigin::TaggedSymbol)
267
+
268
+ sig { override.returns(T::Array[OpenAI::Beta::AgentTool::Mcp::ConnectionOrigin::TaggedSymbol]) }
269
+ def self.values
270
+ end
271
+ end
272
+ end
273
+
274
+ class WebSearch < OpenAI::Internal::Type::BaseModel
275
+ OrHash = T.type_alias do
276
+ T.any(
277
+ OpenAI::Beta::AgentTool::WebSearch,
278
+ OpenAI::Internal::AnyHash
279
+ )
280
+ end
281
+
282
+ # Allowed search domains, or `null` when the search is unrestricted.
283
+ sig { returns(T.nilable(T::Array[String])) }
284
+ attr_accessor :allowed_domains
285
+
286
+ # The amount of search context made available to the model. Defaults to `medium`.
287
+ sig { returns(OpenAI::Beta::AgentTool::WebSearch::ContextSize::TaggedSymbol) }
288
+ attr_accessor :context_size
289
+
290
+ # Approximate user location used to localize web search results.
291
+ sig { returns(T.nilable(OpenAI::Beta::AgentTool::WebSearch::Location)) }
292
+ attr_reader :location
293
+
294
+ sig { params(location: T.nilable(OpenAI::Beta::AgentTool::WebSearch::Location::OrHash)).void }
295
+ attr_writer :location
296
+
297
+ # The source used for web search results.
298
+ sig { returns(OpenAI::Beta::AgentTool::WebSearch::Mode::TaggedSymbol) }
299
+ attr_accessor :mode
300
+
301
+ # The type of the object. Always `web_search`.
302
+ sig { returns(Symbol) }
303
+ attr_accessor :type
304
+
305
+ # Web search.
306
+ sig do
307
+ params(
308
+
309
+ allowed_domains: T.nilable(T::Array[String]),
310
+
311
+ context_size: OpenAI::Beta::AgentTool::WebSearch::ContextSize::OrSymbol,
312
+
313
+ location: T.nilable(OpenAI::Beta::AgentTool::WebSearch::Location::OrHash),
314
+
315
+ mode: OpenAI::Beta::AgentTool::WebSearch::Mode::OrSymbol,
316
+
317
+ type: Symbol
318
+ )
319
+ .returns(T.attached_class)
320
+ end
321
+ def self.new(
322
+
323
+ # Allowed search domains, or `null` when the search is unrestricted.
324
+ allowed_domains:,
325
+
326
+ # The amount of search context made available to the model. Defaults to `medium`.
327
+ context_size:,
328
+
329
+ # Approximate user location used to localize web search results.
330
+ location:,
331
+
332
+ # The source used for web search results.
333
+ mode:,
334
+
335
+ # The type of the object. Always `web_search`.
336
+
337
+ type: :web_search
338
+ )
339
+ end
340
+
341
+ sig do
342
+ override.returns(
343
+ {
344
+ allowed_domains: T.nilable(T::Array[String]),
345
+ context_size: OpenAI::Beta::AgentTool::WebSearch::ContextSize::TaggedSymbol,
346
+ location: T.nilable(OpenAI::Beta::AgentTool::WebSearch::Location),
347
+ mode: OpenAI::Beta::AgentTool::WebSearch::Mode::TaggedSymbol,
348
+ type: Symbol
349
+ }
350
+ )
351
+ end
352
+ def to_hash
353
+ end
354
+
355
+ # The amount of search context made available to the model. Defaults to `medium`.
356
+ module ContextSize
357
+ extend OpenAI::Internal::Type::Enum
358
+
359
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Beta::AgentTool::WebSearch::ContextSize) }
360
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
361
+
362
+ LOW = T.let(:low, OpenAI::Beta::AgentTool::WebSearch::ContextSize::TaggedSymbol)
363
+ MEDIUM = T.let(:medium, OpenAI::Beta::AgentTool::WebSearch::ContextSize::TaggedSymbol)
364
+ HIGH = T.let(:high, OpenAI::Beta::AgentTool::WebSearch::ContextSize::TaggedSymbol)
365
+
366
+ sig { override.returns(T::Array[OpenAI::Beta::AgentTool::WebSearch::ContextSize::TaggedSymbol]) }
367
+ def self.values
368
+ end
369
+ end
370
+
371
+ class Location < OpenAI::Internal::Type::BaseModel
372
+ OrHash = T.type_alias do
373
+ T.any(
374
+ OpenAI::Beta::AgentTool::WebSearch::Location,
375
+ OpenAI::Internal::AnyHash
376
+ )
377
+ end
378
+
379
+ # The city name.
380
+ sig { returns(T.nilable(String)) }
381
+ attr_accessor :city
382
+
383
+ # The two-letter ISO country code, such as `US`.
384
+ sig { returns(T.nilable(String)) }
385
+ attr_accessor :country
386
+
387
+ # The region or state name.
388
+ sig { returns(T.nilable(String)) }
389
+ attr_accessor :region
390
+
391
+ # The IANA timezone, such as `America/Los_Angeles`.
392
+ sig { returns(T.nilable(String)) }
393
+ attr_accessor :timezone
394
+
395
+ # Approximate user location used to localize web search results.
396
+ sig do
397
+ params(
398
+
399
+ city: T.nilable(String),
400
+
401
+ country: T.nilable(String),
402
+
403
+ region: T.nilable(String),
404
+
405
+ timezone: T.nilable(String)
406
+ )
407
+ .returns(T.attached_class)
408
+ end
409
+ def self.new(
410
+
411
+ # The city name.
412
+ city:,
413
+
414
+ # The two-letter ISO country code, such as `US`.
415
+ country:,
416
+
417
+ # The region or state name.
418
+ region:,
419
+
420
+ # The IANA timezone, such as `America/Los_Angeles`.
421
+
422
+ timezone:
423
+ )
424
+ end
425
+
426
+ sig do
427
+ override.returns(
428
+ {
429
+ city: T.nilable(String),
430
+ country: T.nilable(String),
431
+ region: T.nilable(String),
432
+ timezone: T.nilable(String)
433
+ }
434
+ )
435
+ end
436
+ def to_hash
437
+ end
438
+
439
+ end
440
+
441
+ # The source used for web search results.
442
+ module Mode
443
+ extend OpenAI::Internal::Type::Enum
444
+
445
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Beta::AgentTool::WebSearch::Mode) }
446
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
447
+
448
+ DISABLED = T.let(:disabled, OpenAI::Beta::AgentTool::WebSearch::Mode::TaggedSymbol)
449
+ CACHED = T.let(:cached, OpenAI::Beta::AgentTool::WebSearch::Mode::TaggedSymbol)
450
+ LIVE = T.let(:live, OpenAI::Beta::AgentTool::WebSearch::Mode::TaggedSymbol)
451
+
452
+ sig { override.returns(T::Array[OpenAI::Beta::AgentTool::WebSearch::Mode::TaggedSymbol]) }
453
+ def self.values
454
+ end
455
+ end
456
+ end
457
+
458
+ sig { override.returns(T::Array[OpenAI::Beta::AgentTool::Variants]) }
459
+ def self.variants
460
+ end
461
+
462
+ end
463
+
464
+ end
465
+
466
+ end
467
+ end