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,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class TokenUsage < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute input_tokens
8
+ # The number of input tokens used by the agent.
9
+ #
10
+ # @return [Integer]
11
+ required :input_tokens, Integer
12
+
13
+ # @!attribute input_tokens_details
14
+ # A breakdown of the agent's input token usage.
15
+ #
16
+ # @return [OpenAI::Models::Beta::TokenUsage::InputTokensDetails]
17
+ required :input_tokens_details, -> { OpenAI::Beta::TokenUsage::InputTokensDetails }
18
+
19
+ # @!attribute output_tokens
20
+ # The number of output tokens generated by the agent.
21
+ #
22
+ # @return [Integer]
23
+ required :output_tokens, Integer
24
+
25
+ # @!attribute output_tokens_details
26
+ # A breakdown of the agent's output token usage.
27
+ #
28
+ # @return [OpenAI::Models::Beta::TokenUsage::OutputTokensDetails]
29
+ required :output_tokens_details, -> { OpenAI::Beta::TokenUsage::OutputTokensDetails }
30
+
31
+ # @!attribute total_tokens
32
+ # The total number of input and output tokens used by the agent.
33
+ #
34
+ # @return [Integer]
35
+ required :total_tokens, Integer
36
+
37
+ # @!method initialize(input_tokens:, input_tokens_details:, output_tokens:, output_tokens_details:, total_tokens:)
38
+ # Recorded token usage for a session or turn. Usage is best effort and may change.
39
+ #
40
+ # @param input_tokens [Integer]
41
+ # The number of input tokens used by the agent.
42
+ #
43
+ # @param input_tokens_details [OpenAI::Models::Beta::TokenUsage::InputTokensDetails]
44
+ # A breakdown of the agent's input token usage.
45
+ #
46
+ # @param output_tokens [Integer]
47
+ # The number of output tokens generated by the agent.
48
+ #
49
+ # @param output_tokens_details [OpenAI::Models::Beta::TokenUsage::OutputTokensDetails]
50
+ # A breakdown of the agent's output token usage.
51
+ #
52
+ # @param total_tokens [Integer]
53
+ # The total number of input and output tokens used by the agent.
54
+
55
+ # @see OpenAI::Models::Beta::TokenUsage#input_tokens_details
56
+ class InputTokensDetails < OpenAI::Internal::Type::BaseModel
57
+ # @!attribute cached_tokens
58
+ # The number of input tokens retrieved from the prompt cache.
59
+ #
60
+ # @return [Integer]
61
+ required :cached_tokens, Integer
62
+
63
+ # @!method initialize(cached_tokens:)
64
+ # A breakdown of the agent's input token usage.
65
+ #
66
+ # @param cached_tokens [Integer]
67
+ # The number of input tokens retrieved from the prompt cache.
68
+ end
69
+
70
+ # @see OpenAI::Models::Beta::TokenUsage#output_tokens_details
71
+ class OutputTokensDetails < OpenAI::Internal::Type::BaseModel
72
+ # @!attribute reasoning_tokens
73
+ # The number of output tokens used for reasoning.
74
+ #
75
+ # @return [Integer]
76
+ required :reasoning_tokens, Integer
77
+
78
+ # @!method initialize(reasoning_tokens:)
79
+ # A breakdown of the agent's output token usage.
80
+ #
81
+ # @param reasoning_tokens [Integer]
82
+ # The number of output tokens used for reasoning.
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,130 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ # An action performed by the web search tool.
7
+ module WebSearchAction
8
+ extend OpenAI::Internal::Type::Union
9
+
10
+ discriminator :type
11
+
12
+ # A search query or group of search queries.
13
+ variant :search, -> { OpenAI::Beta::WebSearchAction::Search }
14
+
15
+ # Opens a web page.
16
+ variant :open_page, -> { OpenAI::Beta::WebSearchAction::OpenPage }
17
+
18
+ # Finds text within a web page.
19
+ variant :find_in_page, -> { OpenAI::Beta::WebSearchAction::FindInPage }
20
+
21
+ # Another web search action.
22
+ variant :other, -> { OpenAI::Beta::WebSearchAction::Other }
23
+
24
+ class Search < OpenAI::Internal::Type::BaseModel
25
+ # @!attribute queries
26
+ # The search queries, when multiple queries were used.
27
+ #
28
+ # @return [Array<String>, nil]
29
+ required :queries, OpenAI::Internal::Type::ArrayOf[String], nil?: true
30
+
31
+ # @!attribute query
32
+ # The search query, when a single query was used.
33
+ #
34
+ # @return [String, nil]
35
+ required :query, String, nil?: true
36
+
37
+ # @!attribute type
38
+ # The type of the object. Always `search`.
39
+ #
40
+ # @return [Symbol, :search]
41
+ required :type, const: :search
42
+
43
+ # @!method initialize(queries:, query:, type: :search)
44
+ # A search query or group of search queries.
45
+ #
46
+ # @param queries [Array<String>, nil]
47
+ # The search queries, when multiple queries were used.
48
+ #
49
+ # @param query [String, nil]
50
+ # The search query, when a single query was used.
51
+ #
52
+ # @param type [Symbol, :search]
53
+ # The type of the object. Always `search`.
54
+ end
55
+
56
+ class OpenPage < OpenAI::Internal::Type::BaseModel
57
+ # @!attribute type
58
+ # The type of the object. Always `open_page`.
59
+ #
60
+ # @return [Symbol, :open_page]
61
+ required :type, const: :open_page
62
+
63
+ # @!attribute url
64
+ # The URL of the page that was opened.
65
+ #
66
+ # @return [String, nil]
67
+ required :url, String, nil?: true
68
+
69
+ # @!method initialize(url:, type: :open_page)
70
+ # Opens a web page.
71
+ #
72
+ # @param url [String, nil]
73
+ # The URL of the page that was opened.
74
+ #
75
+ # @param type [Symbol, :open_page]
76
+ # The type of the object. Always `open_page`.
77
+ end
78
+
79
+ class FindInPage < OpenAI::Internal::Type::BaseModel
80
+ # @!attribute pattern
81
+ # The text pattern that was searched for.
82
+ #
83
+ # @return [String, nil]
84
+ required :pattern, String, nil?: true
85
+
86
+ # @!attribute type
87
+ # The type of the object. Always `find_in_page`.
88
+ #
89
+ # @return [Symbol, :find_in_page]
90
+ required :type, const: :find_in_page
91
+
92
+ # @!attribute url
93
+ # The URL of the page that was searched.
94
+ #
95
+ # @return [String, nil]
96
+ required :url, String, nil?: true
97
+
98
+ # @!method initialize(pattern:, url:, type: :find_in_page)
99
+ # Finds text within a web page.
100
+ #
101
+ # @param pattern [String, nil]
102
+ # The text pattern that was searched for.
103
+ #
104
+ # @param url [String, nil]
105
+ # The URL of the page that was searched.
106
+ #
107
+ # @param type [Symbol, :find_in_page]
108
+ # The type of the object. Always `find_in_page`.
109
+ end
110
+
111
+ class Other < OpenAI::Internal::Type::BaseModel
112
+ # @!attribute type
113
+ # The type of the object. Always `other`.
114
+ #
115
+ # @return [Symbol, :other]
116
+ required :type, const: :other
117
+
118
+ # @!method initialize(type: :other)
119
+ # Another web search action.
120
+ #
121
+ # @param type [Symbol, :other]
122
+ # The type of the object. Always `other`.
123
+ end
124
+
125
+ # @!method self.variants
126
+ # @return [Array(OpenAI::Models::Beta::WebSearchAction::Search, OpenAI::Models::Beta::WebSearchAction::OpenPage, OpenAI::Models::Beta::WebSearchAction::FindInPage, OpenAI::Models::Beta::WebSearchAction::Other)]
127
+ end
128
+ end
129
+ end
130
+ end
@@ -1080,7 +1080,7 @@ module OpenAI
1080
1080
  # An {OpenAI::BaseModel} can be provided and implicitly converted into {OpenAI::Models::ResponseFormatJSONSchema}.
1081
1081
  # See examples for more details.
1082
1082
  #
1083
- # Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs).
1083
+ # Learn more about [Structured Outputs](https://developers.openai.com/api/docs/guides/structured-outputs).
1084
1084
  variant -> { OpenAI::StructuredOutput::JsonSchemaConverter }
1085
1085
 
1086
1086
  # JSON object response format. An older method of generating JSON responses.
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Beta
6
+ class Agents
7
+ class Environments
8
+ class Files
9
+ # Copies inline bytes or a Files API file into a connected execution environment.
10
+ # See
11
+ # [environment files](https://developers.openai.com/api/docs/guides/agents-api/environments/files).
12
+ #
13
+ # @overload create(environment_id, hosted_environment_file_param:, request_options: {})
14
+ #
15
+ # @param environment_id [String]
16
+ # The ID of the environment.
17
+ #
18
+ # @param hosted_environment_file_param [OpenAI::Models::Beta::HostedEnvironmentFileParam::FileID, OpenAI::Models::Beta::HostedEnvironmentFileParam::Inline]
19
+ # A file materialized in an OpenAI-hosted execution environment.
20
+ #
21
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
22
+ #
23
+ # @return [OpenAI::Models::Beta::Agents::Environments::EnvironmentFile]
24
+ #
25
+ # @see OpenAI::Models::Beta::Agents::Environments::FileCreateParams
26
+ def create(environment_id, params)
27
+ parsed, options = OpenAI::Beta::Agents::Environments::FileCreateParams.dump_request(params)
28
+ @client.request(
29
+ method: :post,
30
+ path: ["agents/environments/%1$s/files", environment_id],
31
+ body: parsed[:hosted_environment_file_param],
32
+ model: OpenAI::Beta::Agents::Environments::EnvironmentFile,
33
+ security: {bearer_auth: true},
34
+ options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
35
+ )
36
+ end
37
+
38
+ # Lists live files on a connected execution environment with optional directory
39
+ # filtering and opaque cursor pagination. See
40
+ # [environment files](https://developers.openai.com/api/docs/guides/agents-api/environments/files).
41
+ #
42
+ # @overload list(environment_id, limit: nil, order: nil, page: nil, path: nil, request_options: {})
43
+ #
44
+ # @param environment_id [String]
45
+ # The ID of the environment.
46
+ #
47
+ # @param limit [Integer, nil]
48
+ # The maximum number of files to return, between 1 and 100.
49
+ #
50
+ # @param order [Symbol, OpenAI::Models::Beta::Agents::Environments::FileListParams::Order]
51
+ # Sort by case-sensitive path components. Defaults to descending.
52
+ #
53
+ # @param page [String]
54
+ # The opaque token from the previous page. Keep the same path, order, and limit.
55
+ #
56
+ # @param path [String, nil]
57
+ # Restrict the listing to this absolute workspace directory.
58
+ #
59
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
60
+ #
61
+ # @return [OpenAI::Internal::TokenPage<OpenAI::Models::Beta::Agents::Environments::EnvironmentFile>]
62
+ #
63
+ # @see OpenAI::Models::Beta::Agents::Environments::FileListParams
64
+ def list(environment_id, params = {})
65
+ parsed, options = OpenAI::Beta::Agents::Environments::FileListParams.dump_request(params)
66
+ query = OpenAI::Internal::Util.encode_query_params(parsed)
67
+ @client.request(
68
+ method: :get,
69
+ path: ["agents/environments/%1$s/files", environment_id],
70
+ query: query,
71
+ page: OpenAI::Internal::TokenPage,
72
+ model: OpenAI::Beta::Agents::Environments::EnvironmentFile,
73
+ security: {bearer_auth: true},
74
+ options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
75
+ )
76
+ end
77
+
78
+ # @api private
79
+ #
80
+ # @param client [OpenAI::Client]
81
+ def initialize(client:)
82
+ @client = client
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,206 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Beta
6
+ class Agents
7
+ class Environments
8
+ class Templates
9
+ # Creates reusable environment configuration without returning confidential setup
10
+ # commands or environment values. See
11
+ # [reusing a hosted setup](https://developers.openai.com/api/docs/guides/agents-api/tools#reuse-a-hosted-plugin-setup).
12
+ #
13
+ # @overload create(capability_directories: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
14
+ #
15
+ # @param capability_directories [Array<String>, nil]
16
+ # Directories that contain capabilities exposed to the agent. Defaults to an empty
17
+ # list.
18
+ #
19
+ # @param env [Hash{Symbol=>String}, nil]
20
+ # Environment variables made available to the agent.
21
+ #
22
+ # @param files [Array<OpenAI::Models::Beta::HostedEnvironmentFileParam::FileID, OpenAI::Models::Beta::HostedEnvironmentFileParam::Inline>, nil]
23
+ # Files available before the agent starts. Defaults to an empty list.
24
+ #
25
+ # @param name [String, nil]
26
+ # An optional human-readable display name for the template.
27
+ #
28
+ # @param network [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network, nil]
29
+ # Network access for an OpenAI-hosted environment.
30
+ #
31
+ # @param packages [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Packages, nil]
32
+ # Packages to install in an OpenAI-hosted environment.
33
+ #
34
+ # @param plugins [Array<OpenAI::Models::Beta::HostedPluginParam>, nil]
35
+ # Plugins provided as inline ZIP archives. Defaults to an empty list.
36
+ #
37
+ # @param setup_commands [Array<OpenAI::Models::Beta::SetupCommandParam>, nil]
38
+ # Ordered, confidential setup commands. Command bodies are never returned.
39
+ #
40
+ # @param skills [Array<OpenAI::Models::Beta::HostedSkillParam::SkillReference, OpenAI::Models::Beta::HostedSkillParam::Inline>, nil]
41
+ # Skills referenced by ID or provided as inline ZIP archives. Defaults to an empty
42
+ # list.
43
+ #
44
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
45
+ #
46
+ # @return [OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplate]
47
+ #
48
+ # @see OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams
49
+ def create(params = {})
50
+ parsed, options = OpenAI::Beta::Agents::Environments::TemplateCreateParams.dump_request(params)
51
+ @client.request(
52
+ method: :post,
53
+ path: "agents/environments/templates",
54
+ body: parsed,
55
+ model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
56
+ security: {bearer_auth: true},
57
+ options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
58
+ )
59
+ end
60
+
61
+ # Retrieves reusable environment configuration without returning confidential
62
+ # values. See
63
+ # [reusing a hosted setup](https://developers.openai.com/api/docs/guides/agents-api/tools#reuse-a-hosted-plugin-setup).
64
+ #
65
+ # @overload retrieve(environment_template_id, request_options: {})
66
+ #
67
+ # @param environment_template_id [String]
68
+ # The ID of the reusable environment template.
69
+ #
70
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
71
+ #
72
+ # @return [OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplate]
73
+ #
74
+ # @see OpenAI::Models::Beta::Agents::Environments::TemplateRetrieveParams
75
+ def retrieve(environment_template_id, params = {})
76
+ @client.request(
77
+ method: :get,
78
+ path: ["agents/environments/templates/%1$s", environment_template_id],
79
+ model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
80
+ security: {bearer_auth: true},
81
+ options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
82
+ )
83
+ end
84
+
85
+ # Updates reusable environment configuration without returning confidential
86
+ # values. See
87
+ # [reusing a hosted setup](https://developers.openai.com/api/docs/guides/agents-api/tools#reuse-a-hosted-plugin-setup).
88
+ #
89
+ # @overload update(environment_template_id, capability_directories: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
90
+ #
91
+ # @param environment_template_id [String]
92
+ # The ID of the reusable environment template.
93
+ #
94
+ # @param capability_directories [Array<String>, nil]
95
+ # Directories that expose capabilities to the agent.
96
+ #
97
+ # @param env [Hash{Symbol=>String}, nil]
98
+ # Replacement confidential environment values.
99
+ #
100
+ # @param files [Array<OpenAI::Models::Beta::HostedEnvironmentFileParam::FileID, OpenAI::Models::Beta::HostedEnvironmentFileParam::Inline>, nil]
101
+ # Replacement file configuration materialized for each new session.
102
+ #
103
+ # @param name [String, nil]
104
+ # A replacement human-readable display name, or `null` to clear the name.
105
+ #
106
+ # @param network [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network, nil]
107
+ # Network access for an OpenAI-hosted environment.
108
+ #
109
+ # @param packages [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Packages, nil]
110
+ # Packages to install in an OpenAI-hosted environment.
111
+ #
112
+ # @param plugins [Array<OpenAI::Models::Beta::HostedPluginParam>, nil]
113
+ # Replacement plugin configuration installed for each new session.
114
+ #
115
+ # @param setup_commands [Array<OpenAI::Models::Beta::SetupCommandParam>, nil]
116
+ # Replacement confidential setup commands, never included in returned resources.
117
+ #
118
+ # @param skills [Array<OpenAI::Models::Beta::HostedSkillParam::SkillReference, OpenAI::Models::Beta::HostedSkillParam::Inline>, nil]
119
+ # Replacement skill configuration installed for each new session.
120
+ #
121
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
122
+ #
123
+ # @return [OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplate]
124
+ #
125
+ # @see OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams
126
+ def update(environment_template_id, params = {})
127
+ parsed, options = OpenAI::Beta::Agents::Environments::TemplateUpdateParams.dump_request(params)
128
+ @client.request(
129
+ method: :post,
130
+ path: ["agents/environments/templates/%1$s", environment_template_id],
131
+ body: parsed,
132
+ model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
133
+ security: {bearer_auth: true},
134
+ options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
135
+ )
136
+ end
137
+
138
+ # Lists reusable environment templates without returning confidential values. See
139
+ # [reusing a hosted setup](https://developers.openai.com/api/docs/guides/agents-api/tools#reuse-a-hosted-plugin-setup).
140
+ #
141
+ # @overload list(after: nil, limit: nil, order: nil, request_options: {})
142
+ #
143
+ # @param after [String]
144
+ # Return resources after this resource ID in the selected order.
145
+ #
146
+ # @param limit [Integer]
147
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
148
+ #
149
+ # @param order [Symbol, OpenAI::Models::Beta::Agents::Environments::TemplateListParams::Order]
150
+ # The order in which resources are returned. Defaults to `desc`.
151
+ #
152
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
153
+ #
154
+ # @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplate>]
155
+ #
156
+ # @see OpenAI::Models::Beta::Agents::Environments::TemplateListParams
157
+ def list(params = {})
158
+ parsed, options = OpenAI::Beta::Agents::Environments::TemplateListParams.dump_request(params)
159
+ query = OpenAI::Internal::Util.encode_query_params(parsed)
160
+ @client.request(
161
+ method: :get,
162
+ path: "agents/environments/templates",
163
+ query: query,
164
+ page: OpenAI::Internal::CursorPage,
165
+ model: OpenAI::Beta::Agents::Environments::EnvironmentTemplate,
166
+ security: {bearer_auth: true},
167
+ options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
168
+ )
169
+ end
170
+
171
+ # Deletes reusable environment configuration and all confidential template inputs.
172
+ # See
173
+ # [reusing a hosted setup](https://developers.openai.com/api/docs/guides/agents-api/tools#reuse-a-hosted-plugin-setup).
174
+ #
175
+ # @overload delete(environment_template_id, request_options: {})
176
+ #
177
+ # @param environment_template_id [String]
178
+ # The ID of the reusable environment template.
179
+ #
180
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
181
+ #
182
+ # @return [OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplateDeleted]
183
+ #
184
+ # @see OpenAI::Models::Beta::Agents::Environments::TemplateDeleteParams
185
+ def delete(environment_template_id, params = {})
186
+ @client.request(
187
+ method: :delete,
188
+ path: ["agents/environments/templates/%1$s", environment_template_id],
189
+ model: OpenAI::Beta::Agents::Environments::EnvironmentTemplateDeleted,
190
+ security: {bearer_auth: true},
191
+ options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
192
+ )
193
+ end
194
+
195
+ # @api private
196
+ #
197
+ # @param client [OpenAI::Client]
198
+ def initialize(client:)
199
+ @client = client
200
+ end
201
+ end
202
+ end
203
+ end
204
+ end
205
+ end
206
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Beta
6
+ class Agents
7
+ class Environments
8
+ # @return [OpenAI::Resources::Beta::Agents::Environments::Files]
9
+ attr_reader :files
10
+
11
+ # @return [OpenAI::Resources::Beta::Agents::Environments::Templates]
12
+ attr_reader :templates
13
+
14
+ # Retrieves an execution environment's connection status and safe installed
15
+ # metadata. See
16
+ # [environment lifecycle](https://developers.openai.com/api/docs/guides/agents-api/environments/lifecycle).
17
+ #
18
+ # @overload retrieve(environment_id, request_options: {})
19
+ #
20
+ # @param environment_id [String]
21
+ # The ID of the environment.
22
+ #
23
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
24
+ #
25
+ # @return [OpenAI::Models::Beta::Agents::EnvironmentInfo]
26
+ #
27
+ # @see OpenAI::Models::Beta::Agents::EnvironmentRetrieveParams
28
+ def retrieve(environment_id, params = {})
29
+ @client.request(
30
+ method: :get,
31
+ path: ["agents/environments/%1$s", environment_id],
32
+ model: OpenAI::Beta::Agents::EnvironmentInfo,
33
+ security: {bearer_auth: true},
34
+ options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **params[:request_options].to_h}
35
+ )
36
+ end
37
+
38
+ # @api private
39
+ #
40
+ # @param client [OpenAI::Client]
41
+ def initialize(client:)
42
+ @client = client
43
+ @files = OpenAI::Resources::Beta::Agents::Environments::Files.new(client: client)
44
+ @templates = OpenAI::Resources::Beta::Agents::Environments::Templates.new(client: client)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end