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