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,314 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ # A tool available to the agent.
7
+ module AgentTool
8
+ extend OpenAI::Internal::Type::Union
9
+
10
+ discriminator :type
11
+
12
+ # A function defined by the application.
13
+ variant :function, -> { OpenAI::Beta::AgentTool::Function }
14
+
15
+ # Enables calling tools from model-generated code.
16
+ variant :programmatic_tool_calling, -> { OpenAI::Beta::AgentTool::ProgrammaticToolCalling }
17
+
18
+ # Tools provided by a remote MCP server.
19
+ variant :mcp, -> { OpenAI::Beta::AgentTool::Mcp }
20
+
21
+ # Web search.
22
+ variant :web_search, -> { OpenAI::Beta::AgentTool::WebSearch }
23
+
24
+ class Function < OpenAI::Internal::Type::BaseModel
25
+ # @!attribute defer_loading
26
+ # Whether the function is deferred and discovered through tool search.
27
+ #
28
+ # @return [Boolean]
29
+ required :defer_loading, OpenAI::Internal::Type::Boolean
30
+
31
+ # @!attribute description
32
+ # A description of what the function does.
33
+ #
34
+ # @return [String]
35
+ required :description, String
36
+
37
+ # @!attribute name
38
+ # The name of the function.
39
+ #
40
+ # @return [String]
41
+ required :name, String
42
+
43
+ # @!attribute parameters
44
+ # A JSON Schema object describing the function's arguments.
45
+ #
46
+ # @return [Hash{Symbol=>Object}]
47
+ required :parameters, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]
48
+
49
+ # @!attribute type
50
+ # The type of the object. Always `function`.
51
+ #
52
+ # @return [Symbol, :function]
53
+ required :type, const: :function
54
+
55
+ # @!method initialize(defer_loading:, description:, name:, parameters:, type: :function)
56
+ # A function defined by the application.
57
+ #
58
+ # @param defer_loading [Boolean]
59
+ # Whether the function is deferred and discovered through tool search.
60
+ #
61
+ # @param description [String]
62
+ # A description of what the function does.
63
+ #
64
+ # @param name [String]
65
+ # The name of the function.
66
+ #
67
+ # @param parameters [Hash{Symbol=>Object}]
68
+ # A JSON Schema object describing the function's arguments.
69
+ #
70
+ # @param type [Symbol, :function]
71
+ # The type of the object. Always `function`.
72
+ end
73
+
74
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
75
+ # @!attribute enabled
76
+ # Whether tools can be called from model-generated code.
77
+ #
78
+ # @return [Boolean]
79
+ required :enabled, OpenAI::Internal::Type::Boolean
80
+
81
+ # @!attribute type
82
+ # The type of the object. Always `programmatic_tool_calling`.
83
+ #
84
+ # @return [Symbol, :programmatic_tool_calling]
85
+ required :type, const: :programmatic_tool_calling
86
+
87
+ # @!method initialize(enabled:, type: :programmatic_tool_calling)
88
+ # Enables calling tools from model-generated code.
89
+ #
90
+ # @param enabled [Boolean]
91
+ # Whether tools can be called from model-generated code.
92
+ #
93
+ # @param type [Symbol, :programmatic_tool_calling]
94
+ # The type of the object. Always `programmatic_tool_calling`.
95
+ end
96
+
97
+ class Mcp < OpenAI::Internal::Type::BaseModel
98
+ # @!attribute allowed_tools
99
+ # The MCP tools the agent may call.
100
+ #
101
+ # @return [Array<String>, nil]
102
+ required :allowed_tools, OpenAI::Internal::Type::ArrayOf[String], nil?: true
103
+
104
+ # @!attribute connection_origin
105
+ # Where outbound MCP HTTP connections originate.
106
+ #
107
+ # @return [Symbol, OpenAI::Models::Beta::AgentTool::Mcp::ConnectionOrigin]
108
+ required :connection_origin, enum: -> { OpenAI::Beta::AgentTool::Mcp::ConnectionOrigin }
109
+
110
+ # @!attribute credential_id
111
+ # The attached vault credential selected for this MCP server, if any. Optional
112
+ # when exactly one attached credential matches the server URL.
113
+ #
114
+ # @return [String, nil]
115
+ required :credential_id, String, nil?: true
116
+
117
+ # @!attribute request_metadata
118
+ # Metadata included with requests to this MCP server.
119
+ #
120
+ # @return [Hash{Symbol=>Object}]
121
+ required :request_metadata, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]
122
+
123
+ # @!attribute required
124
+ # Whether this MCP server must initialize before the first turn.
125
+ #
126
+ # @return [Boolean]
127
+ required :required, OpenAI::Internal::Type::Boolean
128
+
129
+ # @!attribute server_label
130
+ # A label used to identify the MCP server in tool calls.
131
+ #
132
+ # @return [String]
133
+ required :server_label, String
134
+
135
+ # @!attribute transport
136
+ # The transport used to connect to the MCP server.
137
+ #
138
+ # @return [OpenAI::Models::Beta::McpTransport::HTTP, OpenAI::Models::Beta::McpTransport::Stdio]
139
+ required :transport, union: -> { OpenAI::Beta::McpTransport }
140
+
141
+ # @!attribute type
142
+ # The type of the object. Always `mcp`.
143
+ #
144
+ # @return [Symbol, :mcp]
145
+ required :type, const: :mcp
146
+
147
+ # @!method initialize(allowed_tools:, connection_origin:, credential_id:, request_metadata:, required:, server_label:, transport:, type: :mcp)
148
+ # Tools provided by a remote MCP server.
149
+ #
150
+ # @param allowed_tools [Array<String>, nil]
151
+ # The MCP tools the agent may call.
152
+ #
153
+ # @param connection_origin [Symbol, OpenAI::Models::Beta::AgentTool::Mcp::ConnectionOrigin]
154
+ # Where outbound MCP HTTP connections originate.
155
+ #
156
+ # @param credential_id [String, nil]
157
+ # The attached vault credential selected for this MCP server, if any. Optional
158
+ # when exactly one attached credential matches the server URL.
159
+ #
160
+ # @param request_metadata [Hash{Symbol=>Object}]
161
+ # Metadata included with requests to this MCP server.
162
+ #
163
+ # @param required [Boolean]
164
+ # Whether this MCP server must initialize before the first turn.
165
+ #
166
+ # @param server_label [String]
167
+ # A label used to identify the MCP server in tool calls.
168
+ #
169
+ # @param transport [OpenAI::Models::Beta::McpTransport::HTTP, OpenAI::Models::Beta::McpTransport::Stdio]
170
+ # The transport used to connect to the MCP server.
171
+ #
172
+ # @param type [Symbol, :mcp]
173
+ # The type of the object. Always `mcp`.
174
+
175
+ # Where outbound MCP HTTP connections originate.
176
+ #
177
+ # @see OpenAI::Models::Beta::AgentTool::Mcp#connection_origin
178
+ module ConnectionOrigin
179
+ extend OpenAI::Internal::Type::Enum
180
+
181
+ SERVICE = :service
182
+ ENVIRONMENT = :environment
183
+
184
+ # @!method self.values
185
+ # @return [Array<Symbol>]
186
+ end
187
+ end
188
+
189
+ class WebSearch < OpenAI::Internal::Type::BaseModel
190
+ # @!attribute allowed_domains
191
+ # Allowed search domains, or `null` when the search is unrestricted.
192
+ #
193
+ # @return [Array<String>, nil]
194
+ required :allowed_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
195
+
196
+ # @!attribute context_size
197
+ # The amount of search context made available to the model. Defaults to `medium`.
198
+ #
199
+ # @return [Symbol, OpenAI::Models::Beta::AgentTool::WebSearch::ContextSize]
200
+ required :context_size, enum: -> { OpenAI::Beta::AgentTool::WebSearch::ContextSize }
201
+
202
+ # @!attribute location
203
+ # Approximate user location used to localize web search results.
204
+ #
205
+ # @return [OpenAI::Models::Beta::AgentTool::WebSearch::Location, nil]
206
+ required :location, -> { OpenAI::Beta::AgentTool::WebSearch::Location }, nil?: true
207
+
208
+ # @!attribute mode
209
+ # The source used for web search results.
210
+ #
211
+ # @return [Symbol, OpenAI::Models::Beta::AgentTool::WebSearch::Mode]
212
+ required :mode, enum: -> { OpenAI::Beta::AgentTool::WebSearch::Mode }
213
+
214
+ # @!attribute type
215
+ # The type of the object. Always `web_search`.
216
+ #
217
+ # @return [Symbol, :web_search]
218
+ required :type, const: :web_search
219
+
220
+ # @!method initialize(allowed_domains:, context_size:, location:, mode:, type: :web_search)
221
+ # Web search.
222
+ #
223
+ # @param allowed_domains [Array<String>, nil]
224
+ # Allowed search domains, or `null` when the search is unrestricted.
225
+ #
226
+ # @param context_size [Symbol, OpenAI::Models::Beta::AgentTool::WebSearch::ContextSize]
227
+ # The amount of search context made available to the model. Defaults to `medium`.
228
+ #
229
+ # @param location [OpenAI::Models::Beta::AgentTool::WebSearch::Location, nil]
230
+ # Approximate user location used to localize web search results.
231
+ #
232
+ # @param mode [Symbol, OpenAI::Models::Beta::AgentTool::WebSearch::Mode]
233
+ # The source used for web search results.
234
+ #
235
+ # @param type [Symbol, :web_search]
236
+ # The type of the object. Always `web_search`.
237
+
238
+ # The amount of search context made available to the model. Defaults to `medium`.
239
+ #
240
+ # @see OpenAI::Models::Beta::AgentTool::WebSearch#context_size
241
+ module ContextSize
242
+ extend OpenAI::Internal::Type::Enum
243
+
244
+ LOW = :low
245
+ MEDIUM = :medium
246
+ HIGH = :high
247
+
248
+ # @!method self.values
249
+ # @return [Array<Symbol>]
250
+ end
251
+
252
+ # @see OpenAI::Models::Beta::AgentTool::WebSearch#location
253
+ class Location < OpenAI::Internal::Type::BaseModel
254
+ # @!attribute city
255
+ # The city name.
256
+ #
257
+ # @return [String, nil]
258
+ required :city, String, nil?: true
259
+
260
+ # @!attribute country
261
+ # The two-letter ISO country code, such as `US`.
262
+ #
263
+ # @return [String, nil]
264
+ required :country, String, nil?: true
265
+
266
+ # @!attribute region
267
+ # The region or state name.
268
+ #
269
+ # @return [String, nil]
270
+ required :region, String, nil?: true
271
+
272
+ # @!attribute timezone
273
+ # The IANA timezone, such as `America/Los_Angeles`.
274
+ #
275
+ # @return [String, nil]
276
+ required :timezone, String, nil?: true
277
+
278
+ # @!method initialize(city:, country:, region:, timezone:)
279
+ # Approximate user location used to localize web search results.
280
+ #
281
+ # @param city [String, nil]
282
+ # The city name.
283
+ #
284
+ # @param country [String, nil]
285
+ # The two-letter ISO country code, such as `US`.
286
+ #
287
+ # @param region [String, nil]
288
+ # The region or state name.
289
+ #
290
+ # @param timezone [String, nil]
291
+ # The IANA timezone, such as `America/Los_Angeles`.
292
+ end
293
+
294
+ # The source used for web search results.
295
+ #
296
+ # @see OpenAI::Models::Beta::AgentTool::WebSearch#mode
297
+ module Mode
298
+ extend OpenAI::Internal::Type::Enum
299
+
300
+ DISABLED = :disabled
301
+ CACHED = :cached
302
+ LIVE = :live
303
+
304
+ # @!method self.values
305
+ # @return [Array<Symbol>]
306
+ end
307
+ end
308
+
309
+ # @!method self.variants
310
+ # @return [Array(OpenAI::Models::Beta::AgentTool::Function, OpenAI::Models::Beta::AgentTool::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentTool::Mcp, OpenAI::Models::Beta::AgentTool::WebSearch)]
311
+ end
312
+ end
313
+ end
314
+ end
@@ -0,0 +1,359 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ # A tool available to the agent.
7
+ module AgentToolParam
8
+ extend OpenAI::Internal::Type::Union
9
+
10
+ discriminator :type
11
+
12
+ # A function defined by the application.
13
+ variant :function, -> { OpenAI::Beta::AgentToolParam::Function }
14
+
15
+ # Discovers deferred function tools and loads them into the model context.
16
+ variant :tool_search, -> { OpenAI::Beta::AgentToolParam::ToolSearch }
17
+
18
+ # Enables calling tools from model-generated code.
19
+ variant :programmatic_tool_calling, -> { OpenAI::Beta::AgentToolParam::ProgrammaticToolCalling }
20
+
21
+ # Tools provided by a remote MCP server.
22
+ variant :mcp, -> { OpenAI::Beta::AgentToolParam::Mcp }
23
+
24
+ # Web search.
25
+ variant :web_search, -> { OpenAI::Beta::AgentToolParam::WebSearch }
26
+
27
+ class Function < OpenAI::Internal::Type::BaseModel
28
+ # @!attribute description
29
+ # A description of what the function does.
30
+ #
31
+ # @return [String]
32
+ required :description, String
33
+
34
+ # @!attribute name
35
+ # The name of the function.
36
+ #
37
+ # @return [String]
38
+ required :name, String
39
+
40
+ # @!attribute parameters
41
+ # A JSON Schema object describing the function's arguments.
42
+ #
43
+ # @return [Hash{Symbol=>Object}]
44
+ required :parameters, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]
45
+
46
+ # @!attribute type
47
+ # The type of the object. Always `function`.
48
+ #
49
+ # @return [Symbol, :function]
50
+ required :type, const: :function
51
+
52
+ # @!attribute defer_loading
53
+ # Whether this function is deferred and discovered through tool search. Defaults
54
+ # to `false`.
55
+ #
56
+ # @return [Boolean, nil]
57
+ optional :defer_loading, OpenAI::Internal::Type::Boolean
58
+
59
+ # @!method initialize(description:, name:, parameters:, defer_loading: nil, type: :function)
60
+ # A function defined by the application.
61
+ #
62
+ # @param description [String]
63
+ # A description of what the function does.
64
+ #
65
+ # @param name [String]
66
+ # The name of the function.
67
+ #
68
+ # @param parameters [Hash{Symbol=>Object}]
69
+ # A JSON Schema object describing the function's arguments.
70
+ #
71
+ # @param defer_loading [Boolean]
72
+ # Whether this function is deferred and discovered through tool search. Defaults
73
+ # to `false`.
74
+ #
75
+ # @param type [Symbol, :function]
76
+ # The type of the object. Always `function`.
77
+ end
78
+
79
+ class ToolSearch < OpenAI::Internal::Type::BaseModel
80
+ # @!attribute type
81
+ # The type of the object. Always `tool_search`.
82
+ #
83
+ # @return [Symbol, :tool_search]
84
+ required :type, const: :tool_search
85
+
86
+ # @!method initialize(type: :tool_search)
87
+ # Discovers deferred function tools and loads them into the model context.
88
+ #
89
+ # @param type [Symbol, :tool_search]
90
+ # The type of the object. Always `tool_search`.
91
+ end
92
+
93
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
94
+ # @!attribute type
95
+ # The type of the object. Always `programmatic_tool_calling`.
96
+ #
97
+ # @return [Symbol, :programmatic_tool_calling]
98
+ required :type, const: :programmatic_tool_calling
99
+
100
+ # @!attribute enabled
101
+ # Whether tools can be called from model-generated code. Defaults to `true`.
102
+ #
103
+ # @return [Boolean, nil]
104
+ optional :enabled, OpenAI::Internal::Type::Boolean
105
+
106
+ # @!method initialize(enabled: nil, type: :programmatic_tool_calling)
107
+ # Enables calling tools from model-generated code.
108
+ #
109
+ # @param enabled [Boolean]
110
+ # Whether tools can be called from model-generated code. Defaults to `true`.
111
+ #
112
+ # @param type [Symbol, :programmatic_tool_calling]
113
+ # The type of the object. Always `programmatic_tool_calling`.
114
+ end
115
+
116
+ class Mcp < OpenAI::Internal::Type::BaseModel
117
+ # @!attribute server_label
118
+ # A label used to identify the MCP server in tool calls.
119
+ #
120
+ # @return [String]
121
+ required :server_label, String
122
+
123
+ # @!attribute transport
124
+ # The transport used to connect to the MCP server.
125
+ #
126
+ # @return [OpenAI::Models::Beta::McpTransportParam::HTTP, OpenAI::Models::Beta::McpTransportParam::Stdio]
127
+ required :transport, union: -> { OpenAI::Beta::McpTransportParam }
128
+
129
+ # @!attribute type
130
+ # The type of the object. Always `mcp`.
131
+ #
132
+ # @return [Symbol, :mcp]
133
+ required :type, const: :mcp
134
+
135
+ # @!attribute allowed_tools
136
+ # The MCP tools the agent may call. All server tools are allowed when omitted.
137
+ #
138
+ # @return [Array<String>, nil]
139
+ optional :allowed_tools, OpenAI::Internal::Type::ArrayOf[String], nil?: true
140
+
141
+ # @!attribute connection_origin
142
+ # Where outbound MCP HTTP connections originate.
143
+ #
144
+ # @return [Symbol, OpenAI::Models::Beta::AgentToolParam::Mcp::ConnectionOrigin, nil]
145
+ optional(
146
+ :connection_origin,
147
+ enum: -> {
148
+ OpenAI::Beta::AgentToolParam::Mcp::ConnectionOrigin
149
+ },
150
+ nil?: true
151
+ )
152
+
153
+ # @!attribute credential_id
154
+ # The attached vault credential used to authenticate this MCP server. Optional
155
+ # when exactly one attached credential matches the server URL.
156
+ #
157
+ # @return [String, nil]
158
+ optional :credential_id, String, nil?: true
159
+
160
+ # @!attribute request_metadata
161
+ # Metadata included with requests to this MCP server.
162
+ #
163
+ # @return [Hash{Symbol=>Object}, nil]
164
+ optional(
165
+ :request_metadata,
166
+ OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown],
167
+ nil?: true
168
+ )
169
+
170
+ # @!attribute required
171
+ # Whether this MCP server must initialize before the first turn. Defaults to
172
+ # `false`.
173
+ #
174
+ # @return [Boolean, nil]
175
+ optional :required, OpenAI::Internal::Type::Boolean
176
+
177
+ # @!method initialize(server_label:, transport:, allowed_tools: nil, connection_origin: nil, credential_id: nil, request_metadata: nil, required: nil, type: :mcp)
178
+ # Tools provided by a remote MCP server.
179
+ #
180
+ # @param server_label [String]
181
+ # A label used to identify the MCP server in tool calls.
182
+ #
183
+ # @param transport [OpenAI::Models::Beta::McpTransportParam::HTTP, OpenAI::Models::Beta::McpTransportParam::Stdio]
184
+ # The transport used to connect to the MCP server.
185
+ #
186
+ # @param allowed_tools [Array<String>, nil]
187
+ # The MCP tools the agent may call. All server tools are allowed when omitted.
188
+ #
189
+ # @param connection_origin [Symbol, OpenAI::Models::Beta::AgentToolParam::Mcp::ConnectionOrigin, nil]
190
+ # Where outbound MCP HTTP connections originate.
191
+ #
192
+ # @param credential_id [String, nil]
193
+ # The attached vault credential used to authenticate this MCP server. Optional
194
+ # when exactly one attached credential matches the server URL.
195
+ #
196
+ # @param request_metadata [Hash{Symbol=>Object}, nil]
197
+ # Metadata included with requests to this MCP server.
198
+ #
199
+ # @param required [Boolean]
200
+ # Whether this MCP server must initialize before the first turn. Defaults to
201
+ # `false`.
202
+ #
203
+ # @param type [Symbol, :mcp]
204
+ # The type of the object. Always `mcp`.
205
+
206
+ # Where outbound MCP HTTP connections originate.
207
+ #
208
+ # @see OpenAI::Models::Beta::AgentToolParam::Mcp#connection_origin
209
+ module ConnectionOrigin
210
+ extend OpenAI::Internal::Type::Enum
211
+
212
+ # Uses the Managed Agents service network.
213
+ SERVICE = :service
214
+
215
+ # Uses the session's execution environment.
216
+ ENVIRONMENT = :environment
217
+
218
+ # @!method self.values
219
+ # @return [Array<Symbol>]
220
+ end
221
+ end
222
+
223
+ class WebSearch < OpenAI::Internal::Type::BaseModel
224
+ # @!attribute type
225
+ # The type of the object. Always `web_search`.
226
+ #
227
+ # @return [Symbol, :web_search]
228
+ required :type, const: :web_search
229
+
230
+ # @!attribute allowed_domains
231
+ # Domains the search may include.
232
+ #
233
+ # @return [Array<String>, nil]
234
+ optional :allowed_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
235
+
236
+ # @!attribute context_size
237
+ # The amount of web search context made available to the model.
238
+ #
239
+ # @return [Symbol, OpenAI::Models::Beta::AgentToolParam::WebSearch::ContextSize, nil]
240
+ optional(
241
+ :context_size,
242
+ enum: -> {
243
+ OpenAI::Beta::AgentToolParam::WebSearch::ContextSize
244
+ },
245
+ nil?: true
246
+ )
247
+
248
+ # @!attribute location
249
+ # Approximate user location used to localize web search results.
250
+ #
251
+ # @return [OpenAI::Models::Beta::AgentToolParam::WebSearch::Location, nil]
252
+ optional :location, -> { OpenAI::Beta::AgentToolParam::WebSearch::Location }, nil?: true
253
+
254
+ # @!attribute mode
255
+ # The source used for web search results.
256
+ #
257
+ # @return [Symbol, OpenAI::Models::Beta::AgentToolParam::WebSearch::Mode, nil]
258
+ optional :mode, enum: -> { OpenAI::Beta::AgentToolParam::WebSearch::Mode }, nil?: true
259
+
260
+ # @!method initialize(allowed_domains: nil, context_size: nil, location: nil, mode: nil, type: :web_search)
261
+ # Web search.
262
+ #
263
+ # @param allowed_domains [Array<String>, nil]
264
+ # Domains the search may include.
265
+ #
266
+ # @param context_size [Symbol, OpenAI::Models::Beta::AgentToolParam::WebSearch::ContextSize, nil]
267
+ # The amount of web search context made available to the model.
268
+ #
269
+ # @param location [OpenAI::Models::Beta::AgentToolParam::WebSearch::Location, nil]
270
+ # Approximate user location used to localize web search results.
271
+ #
272
+ # @param mode [Symbol, OpenAI::Models::Beta::AgentToolParam::WebSearch::Mode, nil]
273
+ # The source used for web search results.
274
+ #
275
+ # @param type [Symbol, :web_search]
276
+ # The type of the object. Always `web_search`.
277
+
278
+ # The amount of web search context made available to the model.
279
+ #
280
+ # @see OpenAI::Models::Beta::AgentToolParam::WebSearch#context_size
281
+ module ContextSize
282
+ extend OpenAI::Internal::Type::Enum
283
+
284
+ LOW = :low
285
+ MEDIUM = :medium
286
+ HIGH = :high
287
+
288
+ # @!method self.values
289
+ # @return [Array<Symbol>]
290
+ end
291
+
292
+ # @see OpenAI::Models::Beta::AgentToolParam::WebSearch#location
293
+ class Location < OpenAI::Internal::Type::BaseModel
294
+ # @!attribute city
295
+ # The city name.
296
+ #
297
+ # @return [String, nil]
298
+ optional :city, String, nil?: true
299
+
300
+ # @!attribute country
301
+ # The two-letter ISO country code, such as `US`.
302
+ #
303
+ # @return [String, nil]
304
+ optional :country, String, nil?: true
305
+
306
+ # @!attribute region
307
+ # The region or state name.
308
+ #
309
+ # @return [String, nil]
310
+ optional :region, String, nil?: true
311
+
312
+ # @!attribute timezone
313
+ # The IANA timezone, such as `America/Los_Angeles`.
314
+ #
315
+ # @return [String, nil]
316
+ optional :timezone, String, nil?: true
317
+
318
+ # @!method initialize(city: nil, country: nil, region: nil, timezone: nil)
319
+ # Approximate user location used to localize web search results.
320
+ #
321
+ # @param city [String, nil]
322
+ # The city name.
323
+ #
324
+ # @param country [String, nil]
325
+ # The two-letter ISO country code, such as `US`.
326
+ #
327
+ # @param region [String, nil]
328
+ # The region or state name.
329
+ #
330
+ # @param timezone [String, nil]
331
+ # The IANA timezone, such as `America/Los_Angeles`.
332
+ end
333
+
334
+ # The source used for web search results.
335
+ #
336
+ # @see OpenAI::Models::Beta::AgentToolParam::WebSearch#mode
337
+ module Mode
338
+ extend OpenAI::Internal::Type::Enum
339
+
340
+ # Disables web search.
341
+ DISABLED = :disabled
342
+
343
+ # Uses cached search results.
344
+ CACHED = :cached
345
+
346
+ # Searches the live web.
347
+ LIVE = :live
348
+
349
+ # @!method self.values
350
+ # @return [Array<Symbol>]
351
+ end
352
+ end
353
+
354
+ # @!method self.variants
355
+ # @return [Array(OpenAI::Models::Beta::AgentToolParam::Function, OpenAI::Models::Beta::AgentToolParam::ToolSearch, OpenAI::Models::Beta::AgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentToolParam::Mcp, OpenAI::Models::Beta::AgentToolParam::WebSearch)]
356
+ end
357
+ end
358
+ end
359
+ end