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,546 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ # A tool that can be stored on a reusable agent without session credentials.
9
+ module PersistedAgentToolParam
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ Variants = T.type_alias do
13
+ T.any(
14
+ OpenAI::Beta::PersistedAgentToolParam::Function,
15
+ OpenAI::Beta::PersistedAgentToolParam::ToolSearch,
16
+ OpenAI::Beta::PersistedAgentToolParam::ProgrammaticToolCalling,
17
+ OpenAI::Beta::PersistedAgentToolParam::Mcp,
18
+ OpenAI::Beta::PersistedAgentToolParam::WebSearch
19
+ )
20
+ end
21
+
22
+ class Function < OpenAI::Internal::Type::BaseModel
23
+ OrHash = T.type_alias do
24
+ T.any(
25
+ OpenAI::Beta::PersistedAgentToolParam::Function,
26
+ OpenAI::Internal::AnyHash
27
+ )
28
+ end
29
+
30
+ # A description of what the function does.
31
+ sig { returns(String) }
32
+ attr_accessor :description
33
+
34
+ # The name of the function.
35
+ sig { returns(String) }
36
+ attr_accessor :name
37
+
38
+ # A JSON Schema object describing the function's arguments.
39
+ sig { returns(T::Hash[Symbol, T.anything]) }
40
+ attr_accessor :parameters
41
+
42
+ # The type of the object. Always `function`.
43
+ sig { returns(Symbol) }
44
+ attr_accessor :type
45
+
46
+ # Whether this function is deferred and discovered through tool search. Defaults
47
+ # to `false`.
48
+ sig { returns(T.nilable(T::Boolean)) }
49
+ attr_reader :defer_loading
50
+
51
+ sig { params(defer_loading: T::Boolean).void }
52
+ attr_writer :defer_loading
53
+
54
+ # A function defined by the application.
55
+ sig do
56
+ params(
57
+
58
+ description: String,
59
+
60
+ name: String,
61
+
62
+ parameters: T::Hash[Symbol, T.anything],
63
+
64
+ defer_loading: T::Boolean,
65
+
66
+ type: Symbol
67
+ )
68
+ .returns(T.attached_class)
69
+ end
70
+ def self.new(
71
+
72
+ # A description of what the function does.
73
+ description:,
74
+
75
+ # The name of the function.
76
+ name:,
77
+
78
+ # A JSON Schema object describing the function's arguments.
79
+ parameters:,
80
+
81
+ # Whether this function is deferred and discovered through tool search. Defaults
82
+ # to `false`.
83
+ defer_loading: nil,
84
+
85
+ # The type of the object. Always `function`.
86
+
87
+ type: :function
88
+ )
89
+ end
90
+
91
+ sig do
92
+ override.returns(
93
+ {
94
+ description: String,
95
+ name: String,
96
+ parameters: T::Hash[Symbol, T.anything],
97
+ type: Symbol,
98
+ defer_loading: T::Boolean
99
+ }
100
+ )
101
+ end
102
+ def to_hash
103
+ end
104
+
105
+ end
106
+
107
+ class ToolSearch < OpenAI::Internal::Type::BaseModel
108
+ OrHash = T.type_alias do
109
+ T.any(
110
+ OpenAI::Beta::PersistedAgentToolParam::ToolSearch,
111
+ OpenAI::Internal::AnyHash
112
+ )
113
+ end
114
+
115
+ # The type of the object. Always `tool_search`.
116
+ sig { returns(Symbol) }
117
+ attr_accessor :type
118
+
119
+ # Discovers deferred function tools and loads them into the model context.
120
+ sig do
121
+ params(
122
+
123
+ type: Symbol
124
+ )
125
+ .returns(T.attached_class)
126
+ end
127
+ def self.new(
128
+
129
+ # The type of the object. Always `tool_search`.
130
+
131
+ type: :tool_search
132
+ )
133
+ end
134
+
135
+ sig do
136
+ override.returns(
137
+ {type: Symbol}
138
+ )
139
+ end
140
+ def to_hash
141
+ end
142
+
143
+ end
144
+
145
+ class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
146
+ OrHash = T.type_alias do
147
+ T.any(
148
+ OpenAI::Beta::PersistedAgentToolParam::ProgrammaticToolCalling,
149
+ OpenAI::Internal::AnyHash
150
+ )
151
+ end
152
+
153
+ # The type of the object. Always `programmatic_tool_calling`.
154
+ sig { returns(Symbol) }
155
+ attr_accessor :type
156
+
157
+ # Whether tools can be called from model-generated code. Defaults to `true`.
158
+ sig { returns(T.nilable(T::Boolean)) }
159
+ attr_reader :enabled
160
+
161
+ sig { params(enabled: T::Boolean).void }
162
+ attr_writer :enabled
163
+
164
+ # Enables calling tools from model-generated code.
165
+ sig do
166
+ params(
167
+
168
+ enabled: T::Boolean,
169
+
170
+ type: Symbol
171
+ )
172
+ .returns(T.attached_class)
173
+ end
174
+ def self.new(
175
+
176
+ # Whether tools can be called from model-generated code. Defaults to `true`.
177
+ enabled: nil,
178
+
179
+ # The type of the object. Always `programmatic_tool_calling`.
180
+
181
+ type: :programmatic_tool_calling
182
+ )
183
+ end
184
+
185
+ sig do
186
+ override.returns(
187
+ {type: Symbol, enabled: T::Boolean}
188
+ )
189
+ end
190
+ def to_hash
191
+ end
192
+
193
+ end
194
+
195
+ class Mcp < OpenAI::Internal::Type::BaseModel
196
+ OrHash = T.type_alias do
197
+ T.any(
198
+ OpenAI::Beta::PersistedAgentToolParam::Mcp,
199
+ OpenAI::Internal::AnyHash
200
+ )
201
+ end
202
+
203
+ # A label used to identify the MCP server in tool calls.
204
+ sig { returns(String) }
205
+ attr_accessor :server_label
206
+
207
+ # The credential-free transport used to connect to the MCP server.
208
+ sig {
209
+ returns(
210
+ T.any(OpenAI::Beta::PersistedMcpTransportParam::HTTP, OpenAI::Beta::PersistedMcpTransportParam::Stdio)
211
+ )
212
+ }
213
+ attr_accessor :transport
214
+
215
+ # The type of the object. Always `mcp`.
216
+ sig { returns(Symbol) }
217
+ attr_accessor :type
218
+
219
+ # The MCP tools the agent may call. All server tools are allowed when omitted.
220
+ sig { returns(T.nilable(T::Array[String])) }
221
+ attr_accessor :allowed_tools
222
+
223
+ # Where outbound MCP HTTP connections originate.
224
+ sig { returns(T.nilable(OpenAI::Beta::PersistedAgentToolParam::Mcp::ConnectionOrigin::OrSymbol)) }
225
+ attr_accessor :connection_origin
226
+
227
+ # The vault credential selected for this MCP server. Optional when exactly one
228
+ # attached credential matches the server URL.
229
+ sig { returns(T.nilable(String)) }
230
+ attr_accessor :credential_id
231
+
232
+ # Metadata included with requests to this MCP server.
233
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
234
+ attr_accessor :request_metadata
235
+
236
+ # Whether this MCP server must initialize before the first turn. Defaults to
237
+ # `false`.
238
+ sig { returns(T.nilable(T::Boolean)) }
239
+ attr_reader :required
240
+
241
+ sig { params(required: T::Boolean).void }
242
+ attr_writer :required
243
+
244
+ # Tools provided by a remote MCP server without stored credentials.
245
+ sig do
246
+ params(
247
+
248
+ server_label: String,
249
+
250
+ transport: T.any(
251
+ OpenAI::Beta::PersistedMcpTransportParam::HTTP::OrHash,
252
+ OpenAI::Beta::PersistedMcpTransportParam::Stdio::OrHash
253
+ ),
254
+
255
+ allowed_tools: T.nilable(T::Array[String]),
256
+
257
+ connection_origin: T.nilable(OpenAI::Beta::PersistedAgentToolParam::Mcp::ConnectionOrigin::OrSymbol),
258
+
259
+ credential_id: T.nilable(String),
260
+
261
+ request_metadata: T.nilable(T::Hash[Symbol, T.anything]),
262
+
263
+ required: T::Boolean,
264
+
265
+ type: Symbol
266
+ )
267
+ .returns(T.attached_class)
268
+ end
269
+ def self.new(
270
+
271
+ # A label used to identify the MCP server in tool calls.
272
+ server_label:,
273
+
274
+ # The credential-free transport used to connect to the MCP server.
275
+ transport:,
276
+
277
+ # The MCP tools the agent may call. All server tools are allowed when omitted.
278
+ allowed_tools: nil,
279
+
280
+ # Where outbound MCP HTTP connections originate.
281
+ connection_origin: nil,
282
+
283
+ # The vault credential selected for this MCP server. Optional when exactly one
284
+ # attached credential matches the server URL.
285
+ credential_id: nil,
286
+
287
+ # Metadata included with requests to this MCP server.
288
+ request_metadata: nil,
289
+
290
+ # Whether this MCP server must initialize before the first turn. Defaults to
291
+ # `false`.
292
+ required: nil,
293
+
294
+ # The type of the object. Always `mcp`.
295
+
296
+ type: :mcp
297
+ )
298
+ end
299
+
300
+ sig do
301
+ override.returns(
302
+ {
303
+ server_label: String,
304
+ transport: T.any(
305
+ OpenAI::Beta::PersistedMcpTransportParam::HTTP,
306
+ OpenAI::Beta::PersistedMcpTransportParam::Stdio
307
+ ),
308
+ type: Symbol,
309
+ allowed_tools: T.nilable(T::Array[String]),
310
+ connection_origin: T.nilable(OpenAI::Beta::PersistedAgentToolParam::Mcp::ConnectionOrigin::OrSymbol),
311
+ credential_id: T.nilable(String),
312
+ request_metadata: T.nilable(T::Hash[Symbol, T.anything]),
313
+ required: T::Boolean
314
+ }
315
+ )
316
+ end
317
+ def to_hash
318
+ end
319
+
320
+ # Where outbound MCP HTTP connections originate.
321
+ module ConnectionOrigin
322
+ extend OpenAI::Internal::Type::Enum
323
+
324
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Beta::PersistedAgentToolParam::Mcp::ConnectionOrigin) }
325
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
326
+
327
+ # Uses the Managed Agents service network.
328
+ SERVICE = T.let(:service, OpenAI::Beta::PersistedAgentToolParam::Mcp::ConnectionOrigin::TaggedSymbol)
329
+
330
+ # Uses the session's execution environment.
331
+ ENVIRONMENT = T.let(
332
+ :environment,
333
+ OpenAI::Beta::PersistedAgentToolParam::Mcp::ConnectionOrigin::TaggedSymbol
334
+ )
335
+
336
+ sig {
337
+ override.returns(T::Array[OpenAI::Beta::PersistedAgentToolParam::Mcp::ConnectionOrigin::TaggedSymbol])
338
+ }
339
+ def self.values
340
+ end
341
+ end
342
+ end
343
+
344
+ class WebSearch < OpenAI::Internal::Type::BaseModel
345
+ OrHash = T.type_alias do
346
+ T.any(
347
+ OpenAI::Beta::PersistedAgentToolParam::WebSearch,
348
+ OpenAI::Internal::AnyHash
349
+ )
350
+ end
351
+
352
+ # The type of the object. Always `web_search`.
353
+ sig { returns(Symbol) }
354
+ attr_accessor :type
355
+
356
+ # Domains the search may include.
357
+ sig { returns(T.nilable(T::Array[String])) }
358
+ attr_accessor :allowed_domains
359
+
360
+ # The amount of web search context made available to the model.
361
+ sig { returns(T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::ContextSize::OrSymbol)) }
362
+ attr_accessor :context_size
363
+
364
+ # Approximate user location used to localize web search results.
365
+ sig { returns(T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::Location)) }
366
+ attr_reader :location
367
+
368
+ sig { params(location: T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::Location::OrHash)).void }
369
+ attr_writer :location
370
+
371
+ # The source used for web search results.
372
+ sig { returns(T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::Mode::OrSymbol)) }
373
+ attr_accessor :mode
374
+
375
+ # Web search.
376
+ sig do
377
+ params(
378
+
379
+ allowed_domains: T.nilable(T::Array[String]),
380
+
381
+ context_size: T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::ContextSize::OrSymbol),
382
+
383
+ location: T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::Location::OrHash),
384
+
385
+ mode: T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::Mode::OrSymbol),
386
+
387
+ type: Symbol
388
+ )
389
+ .returns(T.attached_class)
390
+ end
391
+ def self.new(
392
+
393
+ # Domains the search may include.
394
+ allowed_domains: nil,
395
+
396
+ # The amount of web search context made available to the model.
397
+ context_size: nil,
398
+
399
+ # Approximate user location used to localize web search results.
400
+ location: nil,
401
+
402
+ # The source used for web search results.
403
+ mode: nil,
404
+
405
+ # The type of the object. Always `web_search`.
406
+
407
+ type: :web_search
408
+ )
409
+ end
410
+
411
+ sig do
412
+ override.returns(
413
+ {
414
+ type: Symbol,
415
+ allowed_domains: T.nilable(T::Array[String]),
416
+ context_size: T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::ContextSize::OrSymbol),
417
+ location: T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::Location),
418
+ mode: T.nilable(OpenAI::Beta::PersistedAgentToolParam::WebSearch::Mode::OrSymbol)
419
+ }
420
+ )
421
+ end
422
+ def to_hash
423
+ end
424
+
425
+ # The amount of web search context made available to the model.
426
+ module ContextSize
427
+ extend OpenAI::Internal::Type::Enum
428
+
429
+ TaggedSymbol = T.type_alias {
430
+ T.all(Symbol, OpenAI::Beta::PersistedAgentToolParam::WebSearch::ContextSize)
431
+ }
432
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
433
+
434
+ LOW = T.let(:low, OpenAI::Beta::PersistedAgentToolParam::WebSearch::ContextSize::TaggedSymbol)
435
+ MEDIUM = T.let(:medium, OpenAI::Beta::PersistedAgentToolParam::WebSearch::ContextSize::TaggedSymbol)
436
+ HIGH = T.let(:high, OpenAI::Beta::PersistedAgentToolParam::WebSearch::ContextSize::TaggedSymbol)
437
+
438
+ sig {
439
+ override.returns(T::Array[OpenAI::Beta::PersistedAgentToolParam::WebSearch::ContextSize::TaggedSymbol])
440
+ }
441
+ def self.values
442
+ end
443
+ end
444
+
445
+ class Location < OpenAI::Internal::Type::BaseModel
446
+ OrHash = T.type_alias do
447
+ T.any(
448
+ OpenAI::Beta::PersistedAgentToolParam::WebSearch::Location,
449
+ OpenAI::Internal::AnyHash
450
+ )
451
+ end
452
+
453
+ # The city name.
454
+ sig { returns(T.nilable(String)) }
455
+ attr_accessor :city
456
+
457
+ # The two-letter ISO country code, such as `US`.
458
+ sig { returns(T.nilable(String)) }
459
+ attr_accessor :country
460
+
461
+ # The region or state name.
462
+ sig { returns(T.nilable(String)) }
463
+ attr_accessor :region
464
+
465
+ # The IANA timezone, such as `America/Los_Angeles`.
466
+ sig { returns(T.nilable(String)) }
467
+ attr_accessor :timezone
468
+
469
+ # Approximate user location used to localize web search results.
470
+ sig do
471
+ params(
472
+
473
+ city: T.nilable(String),
474
+
475
+ country: T.nilable(String),
476
+
477
+ region: T.nilable(String),
478
+
479
+ timezone: T.nilable(String)
480
+ )
481
+ .returns(T.attached_class)
482
+ end
483
+ def self.new(
484
+
485
+ # The city name.
486
+ city: nil,
487
+
488
+ # The two-letter ISO country code, such as `US`.
489
+ country: nil,
490
+
491
+ # The region or state name.
492
+ region: nil,
493
+
494
+ # The IANA timezone, such as `America/Los_Angeles`.
495
+
496
+ timezone: nil
497
+ )
498
+ end
499
+
500
+ sig do
501
+ override.returns(
502
+ {
503
+ city: T.nilable(String),
504
+ country: T.nilable(String),
505
+ region: T.nilable(String),
506
+ timezone: T.nilable(String)
507
+ }
508
+ )
509
+ end
510
+ def to_hash
511
+ end
512
+
513
+ end
514
+
515
+ # The source used for web search results.
516
+ module Mode
517
+ extend OpenAI::Internal::Type::Enum
518
+
519
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Beta::PersistedAgentToolParam::WebSearch::Mode) }
520
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
521
+
522
+ # Disables web search.
523
+ DISABLED = T.let(:disabled, OpenAI::Beta::PersistedAgentToolParam::WebSearch::Mode::TaggedSymbol)
524
+
525
+ # Uses cached search results.
526
+ CACHED = T.let(:cached, OpenAI::Beta::PersistedAgentToolParam::WebSearch::Mode::TaggedSymbol)
527
+
528
+ # Searches the live web.
529
+ LIVE = T.let(:live, OpenAI::Beta::PersistedAgentToolParam::WebSearch::Mode::TaggedSymbol)
530
+
531
+ sig { override.returns(T::Array[OpenAI::Beta::PersistedAgentToolParam::WebSearch::Mode::TaggedSymbol]) }
532
+ def self.values
533
+ end
534
+ end
535
+ end
536
+
537
+ sig { override.returns(T::Array[OpenAI::Beta::PersistedAgentToolParam::Variants]) }
538
+ def self.variants
539
+ end
540
+
541
+ end
542
+
543
+ end
544
+
545
+ end
546
+ end
@@ -0,0 +1,158 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ # A credential-free transport used to connect to an MCP server.
9
+ module PersistedMcpTransport
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ Variants = T.type_alias do
13
+ T.any(
14
+ OpenAI::Beta::PersistedMcpTransport::HTTP,
15
+ OpenAI::Beta::PersistedMcpTransport::Stdio
16
+ )
17
+ end
18
+
19
+ class HTTP < OpenAI::Internal::Type::BaseModel
20
+ OrHash = T.type_alias do
21
+ T.any(
22
+ OpenAI::Beta::PersistedMcpTransport::HTTP,
23
+ OpenAI::Internal::AnyHash
24
+ )
25
+ end
26
+
27
+ # Non-secret HTTP headers sent to the MCP server.
28
+ sig { returns(T::Hash[Symbol, String]) }
29
+ attr_accessor :headers
30
+
31
+ # The URL of the MCP server.
32
+ sig { returns(String) }
33
+ attr_accessor :server_url
34
+
35
+ # The type of the object. Always `http`.
36
+ sig { returns(Symbol) }
37
+ attr_accessor :type
38
+
39
+ # Connects to an MCP server over HTTP.
40
+ sig do
41
+ params(
42
+
43
+ headers: T::Hash[Symbol, String],
44
+
45
+ server_url: String,
46
+
47
+ type: Symbol
48
+ )
49
+ .returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+
53
+ # Non-secret HTTP headers sent to the MCP server.
54
+ headers:,
55
+
56
+ # The URL of the MCP server.
57
+ server_url:,
58
+
59
+ # The type of the object. Always `http`.
60
+
61
+ type: :http
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {headers: T::Hash[Symbol, String], server_url: String, type: Symbol}
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+
73
+ end
74
+
75
+ class Stdio < OpenAI::Internal::Type::BaseModel
76
+ OrHash = T.type_alias do
77
+ T.any(
78
+ OpenAI::Beta::PersistedMcpTransport::Stdio,
79
+ OpenAI::Internal::AnyHash
80
+ )
81
+ end
82
+
83
+ # Arguments passed to the MCP server command.
84
+ sig { returns(T::Array[String]) }
85
+ attr_accessor :args
86
+
87
+ # The command used to start the MCP server.
88
+ sig { returns(String) }
89
+ attr_accessor :command
90
+
91
+ # The working directory used to start the MCP server.
92
+ sig { returns(String) }
93
+ attr_accessor :cwd
94
+
95
+ # Environment variable names inherited from the execution environment.
96
+ sig { returns(T::Array[String]) }
97
+ attr_accessor :env_vars
98
+
99
+ # The type of the object. Always `stdio`.
100
+ sig { returns(Symbol) }
101
+ attr_accessor :type
102
+
103
+ # Starts an MCP server as a local process.
104
+ sig do
105
+ params(
106
+
107
+ args: T::Array[String],
108
+
109
+ command: String,
110
+
111
+ cwd: String,
112
+
113
+ env_vars: T::Array[String],
114
+
115
+ type: Symbol
116
+ )
117
+ .returns(T.attached_class)
118
+ end
119
+ def self.new(
120
+
121
+ # Arguments passed to the MCP server command.
122
+ args:,
123
+
124
+ # The command used to start the MCP server.
125
+ command:,
126
+
127
+ # The working directory used to start the MCP server.
128
+ cwd:,
129
+
130
+ # Environment variable names inherited from the execution environment.
131
+ env_vars:,
132
+
133
+ # The type of the object. Always `stdio`.
134
+
135
+ type: :stdio
136
+ )
137
+ end
138
+
139
+ sig do
140
+ override.returns(
141
+ {args: T::Array[String], command: String, cwd: String, env_vars: T::Array[String], type: Symbol}
142
+ )
143
+ end
144
+ def to_hash
145
+ end
146
+
147
+ end
148
+
149
+ sig { override.returns(T::Array[OpenAI::Beta::PersistedMcpTransport::Variants]) }
150
+ def self.variants
151
+ end
152
+
153
+ end
154
+
155
+ end
156
+
157
+ end
158
+ end