openai 0.89.0 → 0.91.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 (607) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/examples/realtime/README.md +8 -0
  5. data/examples/realtime/browser/README.md +167 -0
  6. data/examples/realtime/browser/index.html +19 -0
  7. data/examples/realtime/browser/page.js +21 -0
  8. data/examples/realtime/browser/peer.js +180 -0
  9. data/examples/realtime/browser/server.rb +281 -0
  10. data/examples/responses/websocket_workflows.rb +66 -6
  11. data/lib/openai/auth/workload_identity.rb +5 -1
  12. data/lib/openai/auth/workload_identity_auth.rb +2 -2
  13. data/lib/openai/auth/x509_token_exchange.rb +1 -1
  14. data/lib/openai/helpers/agents/message.rb +20 -0
  15. data/lib/openai/helpers/agents/session_stream.rb +168 -0
  16. data/lib/openai/helpers/agents/tools.rb +65 -0
  17. data/lib/openai/helpers/local_audio/process.rb +1 -1
  18. data/lib/openai/helpers/responses_websocket/connection.rb +2 -1
  19. data/lib/openai/helpers/responses_websocket/session.rb +551 -0
  20. data/lib/openai/helpers/responses_websocket.rb +1 -0
  21. data/lib/openai/helpers/sorbet.rb +1 -1
  22. data/lib/openai/helpers/websocket/async_websocket_transport.rb +6 -1
  23. data/lib/openai/internal/poller.rb +2 -2
  24. data/lib/openai/internal/token_page.rb +91 -0
  25. data/lib/openai/internal/transport/base_client.rb +1 -1
  26. data/lib/openai/internal/util.rb +1 -1
  27. data/lib/openai/models/beta/agent.rb +148 -0
  28. data/lib/openai/models/beta/agent_close_subagent_call_item.rb +66 -0
  29. data/lib/openai/models/beta/agent_command_execution_item.rb +93 -0
  30. data/lib/openai/models/beta/agent_content.rb +46 -0
  31. data/lib/openai/models/beta/agent_create_params.rb +128 -0
  32. data/lib/openai/models/beta/agent_create_subagent_call_item.rb +84 -0
  33. data/lib/openai/models/beta/agent_delete_params.rb +22 -0
  34. data/lib/openai/models/beta/agent_deleted.rb +40 -0
  35. data/lib/openai/models/beta/agent_function_call_item.rb +75 -0
  36. data/lib/openai/models/beta/agent_function_call_output.rb +22 -0
  37. data/lib/openai/models/beta/agent_function_call_output_param.rb +22 -0
  38. data/lib/openai/models/beta/agent_function_call_status.rb +27 -0
  39. data/lib/openai/models/beta/agent_interrupt_subagent_call_item.rb +67 -0
  40. data/lib/openai/models/beta/agent_list_params.rb +57 -0
  41. data/lib/openai/models/beta/agent_mcp_call_item.rb +93 -0
  42. data/lib/openai/models/beta/agent_output_command_execution_output_delta_event.rb +75 -0
  43. data/lib/openai/models/beta/agent_output_item.rb +53 -0
  44. data/lib/openai/models/beta/agent_output_item_status.rb +24 -0
  45. data/lib/openai/models/beta/agent_reasoning.rb +67 -0
  46. data/lib/openai/models/beta/agent_reasoning_item.rb +57 -0
  47. data/lib/openai/models/beta/agent_reasoning_param.rb +67 -0
  48. data/lib/openai/models/beta/agent_resume_subagent_call_item.rb +66 -0
  49. data/lib/openai/models/beta/agent_retrieve_params.rb +22 -0
  50. data/lib/openai/models/beta/agent_send_subagent_input_call_item.rb +75 -0
  51. data/lib/openai/models/beta/agent_session.rb +339 -0
  52. data/lib/openai/models/beta/agent_session_assistant_message.rb +91 -0
  53. data/lib/openai/models/beta/agent_session_created_event.rb +39 -0
  54. data/lib/openai/models/beta/agent_session_deleted.rb +42 -0
  55. data/lib/openai/models/beta/agent_session_environment_connected_event.rb +57 -0
  56. data/lib/openai/models/beta/agent_session_environment_disconnected_event.rb +57 -0
  57. data/lib/openai/models/beta/agent_session_environment_failed_event.rb +57 -0
  58. data/lib/openai/models/beta/agent_session_environment_pending_event.rb +57 -0
  59. data/lib/openai/models/beta/agent_session_environment_ready_event.rb +57 -0
  60. data/lib/openai/models/beta/agent_session_environment_state.rb +106 -0
  61. data/lib/openai/models/beta/agent_session_error_event.rb +48 -0
  62. data/lib/openai/models/beta/agent_session_event.rb +128 -0
  63. data/lib/openai/models/beta/agent_session_failed_event.rb +39 -0
  64. data/lib/openai/models/beta/agent_session_idle_event.rb +39 -0
  65. data/lib/openai/models/beta/agent_session_in_progress_event.rb +39 -0
  66. data/lib/openai/models/beta/agent_session_input_message_param.rb +51 -0
  67. data/lib/openai/models/beta/agent_session_input_param.rb +131 -0
  68. data/lib/openai/models/beta/agent_session_item.rb +186 -0
  69. data/lib/openai/models/beta/agent_session_message.rb +106 -0
  70. data/lib/openai/models/beta/agent_session_message_content.rb +97 -0
  71. data/lib/openai/models/beta/agent_session_requires_action_event.rb +39 -0
  72. data/lib/openai/models/beta/agent_session_subagent_active_event.rb +39 -0
  73. data/lib/openai/models/beta/agent_session_subagent_closed_event.rb +39 -0
  74. data/lib/openai/models/beta/agent_session_subagent_created_event.rb +39 -0
  75. data/lib/openai/models/beta/agent_session_turn_cancelled_event.rb +66 -0
  76. data/lib/openai/models/beta/agent_session_turn_completed_event.rb +66 -0
  77. data/lib/openai/models/beta/agent_session_turn_content_part_added_event.rb +84 -0
  78. data/lib/openai/models/beta/agent_session_turn_content_part_done_event.rb +84 -0
  79. data/lib/openai/models/beta/agent_session_turn_created_event.rb +57 -0
  80. data/lib/openai/models/beta/agent_session_turn_failed_event.rb +66 -0
  81. data/lib/openai/models/beta/agent_session_turn_in_progress_event.rb +57 -0
  82. data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +66 -0
  83. data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +66 -0
  84. data/lib/openai/models/beta/agent_session_turn_output_text_delta_event.rb +84 -0
  85. data/lib/openai/models/beta/agent_session_turn_output_text_done_event.rb +84 -0
  86. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rb +86 -0
  87. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rb +93 -0
  88. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rb +86 -0
  89. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rb +84 -0
  90. data/lib/openai/models/beta/agent_text.rb +44 -0
  91. data/lib/openai/models/beta/agent_text_param.rb +49 -0
  92. data/lib/openai/models/beta/agent_tool.rb +314 -0
  93. data/lib/openai/models/beta/agent_tool_param.rb +359 -0
  94. data/lib/openai/models/beta/agent_update_params.rb +137 -0
  95. data/lib/openai/models/beta/agent_wait_for_subagents_call_item.rb +66 -0
  96. data/lib/openai/models/beta/agent_web_search_call_item.rb +57 -0
  97. data/lib/openai/models/beta/agents/environment_info.rb +107 -0
  98. data/lib/openai/models/beta/agents/environment_retrieve_params.rb +24 -0
  99. data/lib/openai/models/beta/agents/environments/environment_file.rb +55 -0
  100. data/lib/openai/models/beta/agents/environments/environment_template.rb +368 -0
  101. data/lib/openai/models/beta/agents/environments/environment_template_deleted.rb +46 -0
  102. data/lib/openai/models/beta/agents/environments/file_create_params.rb +26 -0
  103. data/lib/openai/models/beta/agents/environments/file_list_params.rb +77 -0
  104. data/lib/openai/models/beta/agents/environments/template_create_params.rb +209 -0
  105. data/lib/openai/models/beta/agents/environments/template_delete_params.rb +26 -0
  106. data/lib/openai/models/beta/agents/environments/template_list_params.rb +61 -0
  107. data/lib/openai/models/beta/agents/environments/template_retrieve_params.rb +26 -0
  108. data/lib/openai/models/beta/agents/environments/template_update_params.rb +212 -0
  109. data/lib/openai/models/beta/agents/session_create_params.rb +203 -0
  110. data/lib/openai/models/beta/agents/session_delete_params.rb +24 -0
  111. data/lib/openai/models/beta/agents/session_list_params.rb +73 -0
  112. data/lib/openai/models/beta/agents/session_retrieve_params.rb +24 -0
  113. data/lib/openai/models/beta/agents/session_update_params.rb +145 -0
  114. data/lib/openai/models/beta/agents/sessions/artifact_content_params.rb +32 -0
  115. data/lib/openai/models/beta/agents/sessions/artifact_delete_params.rb +32 -0
  116. data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +77 -0
  117. data/lib/openai/models/beta/agents/sessions/artifact_retrieve_params.rb +32 -0
  118. data/lib/openai/models/beta/agents/sessions/event_create_params.rb +43 -0
  119. data/lib/openai/models/beta/agents/sessions/event_stream_params.rb +26 -0
  120. data/lib/openai/models/beta/agents/sessions/item_list_params.rb +68 -0
  121. data/lib/openai/models/beta/agents/sessions/session_artifact.rb +91 -0
  122. data/lib/openai/models/beta/agents/sessions/session_artifact_deleted.rb +46 -0
  123. data/lib/openai/models/beta/agents/sessions/subagent_list_params.rb +68 -0
  124. data/lib/openai/models/beta/agents/sessions/subagent_retrieve_params.rb +32 -0
  125. data/lib/openai/models/beta/agents/sessions/subagents/item_list_params.rb +77 -0
  126. data/lib/openai/models/beta/agents/sessions/subagents/turn_list_params.rb +77 -0
  127. data/lib/openai/models/beta/agents/sessions/subagents/turn_retrieve_params.rb +40 -0
  128. data/lib/openai/models/beta/agents/sessions/subagents/turns/item_list_params.rb +86 -0
  129. data/lib/openai/models/beta/agents/sessions/turn.rb +148 -0
  130. data/lib/openai/models/beta/agents/sessions/turn_list_params.rb +68 -0
  131. data/lib/openai/models/beta/agents/sessions/turn_retrieve_params.rb +32 -0
  132. data/lib/openai/models/beta/agents/vault.rb +63 -0
  133. data/lib/openai/models/beta/agents/vault_create_params.rb +40 -0
  134. data/lib/openai/models/beta/agents/vault_delete_params.rb +24 -0
  135. data/lib/openai/models/beta/agents/vault_deleted.rb +42 -0
  136. data/lib/openai/models/beta/agents/vault_list_params.rb +75 -0
  137. data/lib/openai/models/beta/agents/vault_retrieve_params.rb +24 -0
  138. data/lib/openai/models/beta/agents/vault_status.rb +20 -0
  139. data/lib/openai/models/beta/agents/vault_status_filter.rb +27 -0
  140. data/lib/openai/models/beta/agents/vaults/credential.rb +80 -0
  141. data/lib/openai/models/beta/agents/vaults/credential_auth.rb +155 -0
  142. data/lib/openai/models/beta/agents/vaults/credential_auth_create_param.rb +184 -0
  143. data/lib/openai/models/beta/agents/vaults/credential_auth_rotate_param.rb +147 -0
  144. data/lib/openai/models/beta/agents/vaults/credential_create_params.rb +47 -0
  145. data/lib/openai/models/beta/agents/vaults/credential_delete_params.rb +32 -0
  146. data/lib/openai/models/beta/agents/vaults/credential_deleted.rb +44 -0
  147. data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +84 -0
  148. data/lib/openai/models/beta/agents/vaults/credential_retrieve_params.rb +32 -0
  149. data/lib/openai/models/beta/agents/vaults/credential_update_params.rb +43 -0
  150. data/lib/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth.rb +78 -0
  151. data/lib/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_create_param.rb +96 -0
  152. data/lib/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_rotate_param.rb +84 -0
  153. data/lib/openai/models/beta/beta_response.rb +9 -3
  154. data/lib/openai/models/beta/beta_response_compaction_compacting_event.rb +75 -0
  155. data/lib/openai/models/beta/beta_response_stream_event.rb +4 -1
  156. data/lib/openai/models/beta/beta_responses_client_event.rb +25 -4
  157. data/lib/openai/models/beta/beta_responses_server_event.rb +39 -1
  158. data/lib/openai/models/beta/environment.rb +246 -0
  159. data/lib/openai/models/beta/environment_param.rb +269 -0
  160. data/lib/openai/models/beta/hosted_environment_file.rb +64 -0
  161. data/lib/openai/models/beta/hosted_environment_file_id.rb +57 -0
  162. data/lib/openai/models/beta/hosted_environment_file_param.rb +87 -0
  163. data/lib/openai/models/beta/hosted_plugin.rb +39 -0
  164. data/lib/openai/models/beta/hosted_plugin_param.rb +48 -0
  165. data/lib/openai/models/beta/hosted_skill.rb +55 -0
  166. data/lib/openai/models/beta/hosted_skill_param.rb +96 -0
  167. data/lib/openai/models/beta/hosted_skill_reference.rb +57 -0
  168. data/lib/openai/models/beta/inline_capability_source_param.rb +39 -0
  169. data/lib/openai/models/beta/input_content.rb +71 -0
  170. data/lib/openai/models/beta/input_content_param.rb +69 -0
  171. data/lib/openai/models/beta/mcp_transport.rb +96 -0
  172. data/lib/openai/models/beta/mcp_transport_param.rb +123 -0
  173. data/lib/openai/models/beta/multi_agent_config.rb +32 -0
  174. data/lib/openai/models/beta/multi_agent_config_param.rb +30 -0
  175. data/lib/openai/models/beta/output_text.rb +30 -0
  176. data/lib/openai/models/beta/persisted_agent_tool.rb +329 -0
  177. data/lib/openai/models/beta/persisted_agent_tool_param.rb +355 -0
  178. data/lib/openai/models/beta/persisted_mcp_transport.rb +105 -0
  179. data/lib/openai/models/beta/persisted_mcp_transport_param.rb +105 -0
  180. data/lib/openai/models/beta/response_compact_params.rb +9 -3
  181. data/lib/openai/models/beta/response_create_params.rb +21 -4
  182. data/lib/openai/models/beta/session_error.rb +48 -0
  183. data/lib/openai/models/beta/session_turn_error.rb +91 -0
  184. data/lib/openai/models/beta/setup_command_param.rb +30 -0
  185. data/lib/openai/models/beta/subagent.rb +121 -0
  186. data/lib/openai/models/beta/summary_text.rb +30 -0
  187. data/lib/openai/models/beta/text_format.rb +60 -0
  188. data/lib/openai/models/beta/text_format_param.rb +60 -0
  189. data/lib/openai/models/beta/token_usage.rb +87 -0
  190. data/lib/openai/models/beta/web_search_action.rb +130 -0
  191. data/lib/openai/models/chat/completion_create_params.rb +1 -1
  192. data/lib/openai/models/chat_model.rb +3 -1
  193. data/lib/openai/models/responses/response_compact_params.rb +9 -3
  194. data/lib/openai/models/responses/response_compaction_compacting_event.rb +49 -0
  195. data/lib/openai/models/responses/response_create_params.rb +12 -1
  196. data/lib/openai/models/responses/response_stream_event.rb +4 -1
  197. data/lib/openai/models/responses/responses_client_event.rb +12 -1
  198. data/lib/openai/models/responses/responses_server_event.rb +36 -1
  199. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +6 -8
  200. data/lib/openai/resources/beta/agents/environments/files.rb +89 -0
  201. data/lib/openai/resources/beta/agents/environments/templates.rb +206 -0
  202. data/lib/openai/resources/beta/agents/environments.rb +50 -0
  203. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +155 -0
  204. data/lib/openai/resources/beta/agents/sessions/events.rb +80 -0
  205. data/lib/openai/resources/beta/agents/sessions/items.rb +57 -0
  206. data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +66 -0
  207. data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +82 -0
  208. data/lib/openai/resources/beta/agents/sessions/subagents/turns.rb +108 -0
  209. data/lib/openai/resources/beta/agents/sessions/subagents.rb +95 -0
  210. data/lib/openai/resources/beta/agents/sessions/turns.rb +89 -0
  211. data/lib/openai/resources/beta/agents/sessions.rb +298 -0
  212. data/lib/openai/resources/beta/agents/vaults/credentials.rb +195 -0
  213. data/lib/openai/resources/beta/agents/vaults.rb +137 -0
  214. data/lib/openai/resources/beta/agents.rb +213 -0
  215. data/lib/openai/resources/beta/responses.rb +2 -2
  216. data/lib/openai/resources/beta.rb +4 -0
  217. data/lib/openai/resources/live/sessions.rb +10 -4
  218. data/lib/openai/resources/responses.rb +2 -2
  219. data/lib/openai/version.rb +1 -1
  220. data/lib/openai.rb +178 -0
  221. data/rbi/openai/helpers/agents.rbi +71 -0
  222. data/rbi/openai/helpers/responses_websocket/connection.rbi +5 -0
  223. data/rbi/openai/helpers/responses_websocket/session.rbi +206 -0
  224. data/rbi/openai/internal/token_page.rbi +25 -0
  225. data/rbi/openai/models/beta/agent.rbi +209 -0
  226. data/rbi/openai/models/beta/agent_close_subagent_call_item.rbi +102 -0
  227. data/rbi/openai/models/beta/agent_command_execution_item.rbi +132 -0
  228. data/rbi/openai/models/beta/agent_content.rbi +75 -0
  229. data/rbi/openai/models/beta/agent_create_params.rbi +212 -0
  230. data/rbi/openai/models/beta/agent_create_subagent_call_item.rbi +124 -0
  231. data/rbi/openai/models/beta/agent_delete_params.rbi +53 -0
  232. data/rbi/openai/models/beta/agent_deleted.rbi +68 -0
  233. data/rbi/openai/models/beta/agent_function_call_item.rbi +112 -0
  234. data/rbi/openai/models/beta/agent_function_call_output.rbi +33 -0
  235. data/rbi/openai/models/beta/agent_function_call_output_param.rbi +33 -0
  236. data/rbi/openai/models/beta/agent_function_call_status.rbi +35 -0
  237. data/rbi/openai/models/beta/agent_interrupt_subagent_call_item.rbi +103 -0
  238. data/rbi/openai/models/beta/agent_list_params.rbi +102 -0
  239. data/rbi/openai/models/beta/agent_mcp_call_item.rbi +132 -0
  240. data/rbi/openai/models/beta/agent_output_command_execution_output_delta_event.rbi +112 -0
  241. data/rbi/openai/models/beta/agent_output_item.rbi +38 -0
  242. data/rbi/openai/models/beta/agent_output_item_status.rbi +32 -0
  243. data/rbi/openai/models/beta/agent_reasoning.rbi +103 -0
  244. data/rbi/openai/models/beta/agent_reasoning_item.rbi +92 -0
  245. data/rbi/openai/models/beta/agent_reasoning_param.rbi +103 -0
  246. data/rbi/openai/models/beta/agent_resume_subagent_call_item.rbi +102 -0
  247. data/rbi/openai/models/beta/agent_retrieve_params.rbi +53 -0
  248. data/rbi/openai/models/beta/agent_send_subagent_input_call_item.rbi +114 -0
  249. data/rbi/openai/models/beta/agent_session.rbi +494 -0
  250. data/rbi/openai/models/beta/agent_session_assistant_message.rbi +130 -0
  251. data/rbi/openai/models/beta/agent_session_created_event.rbi +71 -0
  252. data/rbi/openai/models/beta/agent_session_deleted.rbi +71 -0
  253. data/rbi/openai/models/beta/agent_session_environment_connected_event.rbi +95 -0
  254. data/rbi/openai/models/beta/agent_session_environment_disconnected_event.rbi +95 -0
  255. data/rbi/openai/models/beta/agent_session_environment_failed_event.rbi +95 -0
  256. data/rbi/openai/models/beta/agent_session_environment_pending_event.rbi +95 -0
  257. data/rbi/openai/models/beta/agent_session_environment_ready_event.rbi +95 -0
  258. data/rbi/openai/models/beta/agent_session_environment_state.rbi +168 -0
  259. data/rbi/openai/models/beta/agent_session_error_event.rbi +80 -0
  260. data/rbi/openai/models/beta/agent_session_event.rbi +56 -0
  261. data/rbi/openai/models/beta/agent_session_failed_event.rbi +71 -0
  262. data/rbi/openai/models/beta/agent_session_idle_event.rbi +71 -0
  263. data/rbi/openai/models/beta/agent_session_in_progress_event.rbi +71 -0
  264. data/rbi/openai/models/beta/agent_session_input_message_param.rbi +100 -0
  265. data/rbi/openai/models/beta/agent_session_input_param.rbi +232 -0
  266. data/rbi/openai/models/beta/agent_session_item.rbi +239 -0
  267. data/rbi/openai/models/beta/agent_session_message.rbi +153 -0
  268. data/rbi/openai/models/beta/agent_session_message_content.rbi +172 -0
  269. data/rbi/openai/models/beta/agent_session_requires_action_event.rbi +71 -0
  270. data/rbi/openai/models/beta/agent_session_subagent_active_event.rbi +71 -0
  271. data/rbi/openai/models/beta/agent_session_subagent_closed_event.rbi +71 -0
  272. data/rbi/openai/models/beta/agent_session_subagent_created_event.rbi +71 -0
  273. data/rbi/openai/models/beta/agent_session_turn_cancelled_event.rbi +108 -0
  274. data/rbi/openai/models/beta/agent_session_turn_completed_event.rbi +108 -0
  275. data/rbi/openai/models/beta/agent_session_turn_content_part_added_event.rbi +125 -0
  276. data/rbi/openai/models/beta/agent_session_turn_content_part_done_event.rbi +125 -0
  277. data/rbi/openai/models/beta/agent_session_turn_created_event.rbi +95 -0
  278. data/rbi/openai/models/beta/agent_session_turn_failed_event.rbi +108 -0
  279. data/rbi/openai/models/beta/agent_session_turn_in_progress_event.rbi +95 -0
  280. data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +117 -0
  281. data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +115 -0
  282. data/rbi/openai/models/beta/agent_session_turn_output_text_delta_event.rbi +122 -0
  283. data/rbi/openai/models/beta/agent_session_turn_output_text_done_event.rbi +122 -0
  284. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbi +127 -0
  285. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbi +135 -0
  286. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbi +124 -0
  287. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbi +122 -0
  288. data/rbi/openai/models/beta/agent_text.rbi +75 -0
  289. data/rbi/openai/models/beta/agent_text_param.rbi +87 -0
  290. data/rbi/openai/models/beta/agent_tool.rbi +467 -0
  291. data/rbi/openai/models/beta/agent_tool_param.rbi +530 -0
  292. data/rbi/openai/models/beta/agent_update_params.rbi +225 -0
  293. data/rbi/openai/models/beta/agent_wait_for_subagents_call_item.rbi +102 -0
  294. data/rbi/openai/models/beta/agent_web_search_call_item.rbi +99 -0
  295. data/rbi/openai/models/beta/agents/environment_info.rbi +156 -0
  296. data/rbi/openai/models/beta/agents/environment_retrieve_params.rbi +57 -0
  297. data/rbi/openai/models/beta/agents/environments/environment_file.rbi +87 -0
  298. data/rbi/openai/models/beta/agents/environments/environment_template.rbi +582 -0
  299. data/rbi/openai/models/beta/agents/environments/environment_template_deleted.rbi +78 -0
  300. data/rbi/openai/models/beta/agents/environments/file_create_params.rbi +61 -0
  301. data/rbi/openai/models/beta/agents/environments/file_list_params.rbi +130 -0
  302. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +350 -0
  303. data/rbi/openai/models/beta/agents/environments/template_delete_params.rbi +61 -0
  304. data/rbi/openai/models/beta/agents/environments/template_list_params.rbi +117 -0
  305. data/rbi/openai/models/beta/agents/environments/template_retrieve_params.rbi +61 -0
  306. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +354 -0
  307. data/rbi/openai/models/beta/agents/session_create_params.rbi +336 -0
  308. data/rbi/openai/models/beta/agents/session_delete_params.rbi +57 -0
  309. data/rbi/openai/models/beta/agents/session_list_params.rbi +124 -0
  310. data/rbi/openai/models/beta/agents/session_retrieve_params.rbi +57 -0
  311. data/rbi/openai/models/beta/agents/session_update_params.rbi +252 -0
  312. data/rbi/openai/models/beta/agents/sessions/artifact_content_params.rbi +68 -0
  313. data/rbi/openai/models/beta/agents/sessions/artifact_delete_params.rbi +68 -0
  314. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +127 -0
  315. data/rbi/openai/models/beta/agents/sessions/artifact_retrieve_params.rbi +68 -0
  316. data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +107 -0
  317. data/rbi/openai/models/beta/agents/sessions/event_stream_params.rbi +61 -0
  318. data/rbi/openai/models/beta/agents/sessions/item_list_params.rbi +121 -0
  319. data/rbi/openai/models/beta/agents/sessions/session_artifact.rbi +132 -0
  320. data/rbi/openai/models/beta/agents/sessions/session_artifact_deleted.rbi +78 -0
  321. data/rbi/openai/models/beta/agents/sessions/subagent_list_params.rbi +123 -0
  322. data/rbi/openai/models/beta/agents/sessions/subagent_retrieve_params.rbi +68 -0
  323. data/rbi/openai/models/beta/agents/sessions/subagents/item_list_params.rbi +139 -0
  324. data/rbi/openai/models/beta/agents/sessions/subagents/turn_list_params.rbi +139 -0
  325. data/rbi/openai/models/beta/agents/sessions/subagents/turn_retrieve_params.rbi +79 -0
  326. data/rbi/openai/models/beta/agents/sessions/subagents/turns/item_list_params.rbi +161 -0
  327. data/rbi/openai/models/beta/agents/sessions/turn.rbi +200 -0
  328. data/rbi/openai/models/beta/agents/sessions/turn_list_params.rbi +121 -0
  329. data/rbi/openai/models/beta/agents/sessions/turn_retrieve_params.rbi +68 -0
  330. data/rbi/openai/models/beta/agents/vault.rbi +99 -0
  331. data/rbi/openai/models/beta/agents/vault_create_params.rbi +75 -0
  332. data/rbi/openai/models/beta/agents/vault_delete_params.rbi +57 -0
  333. data/rbi/openai/models/beta/agents/vault_deleted.rbi +72 -0
  334. data/rbi/openai/models/beta/agents/vault_list_params.rbi +149 -0
  335. data/rbi/openai/models/beta/agents/vault_retrieve_params.rbi +57 -0
  336. data/rbi/openai/models/beta/agents/vault_status.rbi +30 -0
  337. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +39 -0
  338. data/rbi/openai/models/beta/agents/vaults/credential.rbi +123 -0
  339. data/rbi/openai/models/beta/agents/vaults/credential_auth.rbi +248 -0
  340. data/rbi/openai/models/beta/agents/vaults/credential_auth_create_param.rbi +293 -0
  341. data/rbi/openai/models/beta/agents/vaults/credential_auth_rotate_param.rbi +252 -0
  342. data/rbi/openai/models/beta/agents/vaults/credential_create_params.rbi +99 -0
  343. data/rbi/openai/models/beta/agents/vaults/credential_delete_params.rbi +68 -0
  344. data/rbi/openai/models/beta/agents/vaults/credential_deleted.rbi +76 -0
  345. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +163 -0
  346. data/rbi/openai/models/beta/agents/vaults/credential_retrieve_params.rbi +68 -0
  347. data/rbi/openai/models/beta/agents/vaults/credential_update_params.rbi +95 -0
  348. data/rbi/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth.rbi +151 -0
  349. data/rbi/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_create_param.rbi +171 -0
  350. data/rbi/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_rotate_param.rbi +137 -0
  351. data/rbi/openai/models/beta/beta_response.rbi +6 -1
  352. data/rbi/openai/models/beta/beta_response_compaction_compacting_event.rbi +136 -0
  353. data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -0
  354. data/rbi/openai/models/beta/beta_responses_client_event.rbi +27 -4
  355. data/rbi/openai/models/beta/beta_responses_server_event.rbi +77 -0
  356. data/rbi/openai/models/beta/environment.rbi +400 -0
  357. data/rbi/openai/models/beta/environment_param.rbi +448 -0
  358. data/rbi/openai/models/beta/hosted_environment_file.rbi +93 -0
  359. data/rbi/openai/models/beta/hosted_environment_file_id.rbi +86 -0
  360. data/rbi/openai/models/beta/hosted_environment_file_param.rbi +140 -0
  361. data/rbi/openai/models/beta/hosted_plugin.rbi +68 -0
  362. data/rbi/openai/models/beta/hosted_plugin_param.rbi +80 -0
  363. data/rbi/openai/models/beta/hosted_skill.rbi +84 -0
  364. data/rbi/openai/models/beta/hosted_skill_param.rbi +152 -0
  365. data/rbi/openai/models/beta/hosted_skill_reference.rbi +86 -0
  366. data/rbi/openai/models/beta/inline_capability_source_param.rbi +68 -0
  367. data/rbi/openai/models/beta/input_content.rbi +124 -0
  368. data/rbi/openai/models/beta/input_content_param.rbi +122 -0
  369. data/rbi/openai/models/beta/mcp_transport.rbi +149 -0
  370. data/rbi/openai/models/beta/mcp_transport_param.rbi +188 -0
  371. data/rbi/openai/models/beta/multi_agent_config.rbi +61 -0
  372. data/rbi/openai/models/beta/multi_agent_config_param.rbi +62 -0
  373. data/rbi/openai/models/beta/output_text.rbi +59 -0
  374. data/rbi/openai/models/beta/persisted_agent_tool.rbi +507 -0
  375. data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +546 -0
  376. data/rbi/openai/models/beta/persisted_mcp_transport.rbi +158 -0
  377. data/rbi/openai/models/beta/persisted_mcp_transport_param.rbi +164 -0
  378. data/rbi/openai/models/beta/response_compact_params.rbi +6 -1
  379. data/rbi/openai/models/beta/response_create_params.rbi +21 -1
  380. data/rbi/openai/models/beta/session_error.rbi +77 -0
  381. data/rbi/openai/models/beta/session_turn_error.rbi +131 -0
  382. data/rbi/openai/models/beta/setup_command_param.rbi +59 -0
  383. data/rbi/openai/models/beta/subagent.rbi +158 -0
  384. data/rbi/openai/models/beta/summary_text.rbi +59 -0
  385. data/rbi/openai/models/beta/text_format.rbi +113 -0
  386. data/rbi/openai/models/beta/text_format_param.rbi +113 -0
  387. data/rbi/openai/models/beta/token_usage.rbi +174 -0
  388. data/rbi/openai/models/beta/web_search_action.rbi +227 -0
  389. data/rbi/openai/models/chat_model.rbi +3 -1
  390. data/rbi/openai/models/responses/response_compact_params.rbi +6 -1
  391. data/rbi/openai/models/responses/response_compaction_compacting_event.rbi +78 -0
  392. data/rbi/openai/models/responses/response_create_params.rbi +15 -0
  393. data/rbi/openai/models/responses/response_stream_event.rbi +1 -0
  394. data/rbi/openai/models/responses/responses_client_event.rbi +15 -0
  395. data/rbi/openai/models/responses/responses_server_event.rbi +71 -0
  396. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +6 -8
  397. data/rbi/openai/resources/beta/agents/environments/files.rbi +79 -0
  398. data/rbi/openai/resources/beta/agents/environments/templates.rbi +194 -0
  399. data/rbi/openai/resources/beta/agents/environments.rbi +44 -0
  400. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +105 -0
  401. data/rbi/openai/resources/beta/agents/sessions/events.rbi +71 -0
  402. data/rbi/openai/resources/beta/agents/sessions/items.rbi +53 -0
  403. data/rbi/openai/resources/beta/agents/sessions/subagents/items.rbi +60 -0
  404. data/rbi/openai/resources/beta/agents/sessions/subagents/turns/items.rbi +67 -0
  405. data/rbi/openai/resources/beta/agents/sessions/subagents/turns.rbi +85 -0
  406. data/rbi/openai/resources/beta/agents/sessions/subagents.rbi +74 -0
  407. data/rbi/openai/resources/beta/agents/sessions/turns.rbi +70 -0
  408. data/rbi/openai/resources/beta/agents/sessions.rbi +212 -0
  409. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +148 -0
  410. data/rbi/openai/resources/beta/agents/vaults.rbi +106 -0
  411. data/rbi/openai/resources/beta/agents.rbi +180 -0
  412. data/rbi/openai/resources/beta.rbi +3 -0
  413. data/rbi/openai/resources/live/sessions.rbi +10 -4
  414. data/rbi/openai/resources/responses.rbi +8 -8
  415. data/responses-websocket.md +117 -10
  416. data/sig/openai/helpers/agents.rbs +50 -0
  417. data/sig/openai/helpers/responses_websocket/connection.rbs +5 -0
  418. data/sig/openai/helpers/responses_websocket/session.rbs +123 -0
  419. data/sig/openai/internal/token_page.rbs +15 -0
  420. data/sig/openai/models/beta/agent.rbs +96 -0
  421. data/sig/openai/models/beta/agent_close_subagent_call_item.rbs +47 -0
  422. data/sig/openai/models/beta/agent_command_execution_item.rbs +62 -0
  423. data/sig/openai/models/beta/agent_content.rbs +33 -0
  424. data/sig/openai/models/beta/agent_create_params.rbs +91 -0
  425. data/sig/openai/models/beta/agent_create_subagent_call_item.rbs +57 -0
  426. data/sig/openai/models/beta/agent_delete_params.rbs +25 -0
  427. data/sig/openai/models/beta/agent_deleted.rbs +24 -0
  428. data/sig/openai/models/beta/agent_function_call_item.rbs +52 -0
  429. data/sig/openai/models/beta/agent_function_call_output.rbs +16 -0
  430. data/sig/openai/models/beta/agent_function_call_output_param.rbs +16 -0
  431. data/sig/openai/models/beta/agent_function_call_status.rbs +26 -0
  432. data/sig/openai/models/beta/agent_interrupt_subagent_call_item.rbs +47 -0
  433. data/sig/openai/models/beta/agent_list_params.rbs +58 -0
  434. data/sig/openai/models/beta/agent_mcp_call_item.rbs +62 -0
  435. data/sig/openai/models/beta/agent_output_command_execution_output_delta_event.rbs +52 -0
  436. data/sig/openai/models/beta/agent_output_item.rbs +25 -0
  437. data/sig/openai/models/beta/agent_output_item_status.rbs +22 -0
  438. data/sig/openai/models/beta/agent_reasoning.rbs +60 -0
  439. data/sig/openai/models/beta/agent_reasoning_item.rbs +42 -0
  440. data/sig/openai/models/beta/agent_reasoning_param.rbs +60 -0
  441. data/sig/openai/models/beta/agent_resume_subagent_call_item.rbs +47 -0
  442. data/sig/openai/models/beta/agent_retrieve_params.rbs +25 -0
  443. data/sig/openai/models/beta/agent_send_subagent_input_call_item.rbs +52 -0
  444. data/sig/openai/models/beta/agent_session.rbs +234 -0
  445. data/sig/openai/models/beta/agent_session_assistant_message.rbs +66 -0
  446. data/sig/openai/models/beta/agent_session_created_event.rbs +32 -0
  447. data/sig/openai/models/beta/agent_session_deleted.rbs +28 -0
  448. data/sig/openai/models/beta/agent_session_environment_connected_event.rbs +42 -0
  449. data/sig/openai/models/beta/agent_session_environment_disconnected_event.rbs +42 -0
  450. data/sig/openai/models/beta/agent_session_environment_failed_event.rbs +42 -0
  451. data/sig/openai/models/beta/agent_session_environment_pending_event.rbs +42 -0
  452. data/sig/openai/models/beta/agent_session_environment_ready_event.rbs +42 -0
  453. data/sig/openai/models/beta/agent_session_environment_state.rbs +74 -0
  454. data/sig/openai/models/beta/agent_session_error_event.rbs +37 -0
  455. data/sig/openai/models/beta/agent_session_event.rbs +43 -0
  456. data/sig/openai/models/beta/agent_session_failed_event.rbs +32 -0
  457. data/sig/openai/models/beta/agent_session_idle_event.rbs +32 -0
  458. data/sig/openai/models/beta/agent_session_in_progress_event.rbs +32 -0
  459. data/sig/openai/models/beta/agent_session_input_message_param.rbs +46 -0
  460. data/sig/openai/models/beta/agent_session_input_param.rbs +91 -0
  461. data/sig/openai/models/beta/agent_session_item.rbs +116 -0
  462. data/sig/openai/models/beta/agent_session_message.rbs +77 -0
  463. data/sig/openai/models/beta/agent_session_message_content.rbs +52 -0
  464. data/sig/openai/models/beta/agent_session_requires_action_event.rbs +32 -0
  465. data/sig/openai/models/beta/agent_session_subagent_active_event.rbs +32 -0
  466. data/sig/openai/models/beta/agent_session_subagent_closed_event.rbs +32 -0
  467. data/sig/openai/models/beta/agent_session_subagent_created_event.rbs +32 -0
  468. data/sig/openai/models/beta/agent_session_turn_cancelled_event.rbs +47 -0
  469. data/sig/openai/models/beta/agent_session_turn_completed_event.rbs +47 -0
  470. data/sig/openai/models/beta/agent_session_turn_content_part_added_event.rbs +57 -0
  471. data/sig/openai/models/beta/agent_session_turn_content_part_done_event.rbs +57 -0
  472. data/sig/openai/models/beta/agent_session_turn_created_event.rbs +42 -0
  473. data/sig/openai/models/beta/agent_session_turn_failed_event.rbs +47 -0
  474. data/sig/openai/models/beta/agent_session_turn_in_progress_event.rbs +42 -0
  475. data/sig/openai/models/beta/agent_session_turn_item_added_event.rbs +47 -0
  476. data/sig/openai/models/beta/agent_session_turn_item_done_event.rbs +47 -0
  477. data/sig/openai/models/beta/agent_session_turn_output_text_delta_event.rbs +57 -0
  478. data/sig/openai/models/beta/agent_session_turn_output_text_done_event.rbs +57 -0
  479. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbs +57 -0
  480. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbs +64 -0
  481. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbs +57 -0
  482. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbs +57 -0
  483. data/sig/openai/models/beta/agent_text.rbs +39 -0
  484. data/sig/openai/models/beta/agent_text_param.rbs +44 -0
  485. data/sig/openai/models/beta/agent_tool.rbs +226 -0
  486. data/sig/openai/models/beta/agent_tool_param.rbs +251 -0
  487. data/sig/openai/models/beta/agent_update_params.rbs +98 -0
  488. data/sig/openai/models/beta/agent_wait_for_subagents_call_item.rbs +47 -0
  489. data/sig/openai/models/beta/agent_web_search_call_item.rbs +42 -0
  490. data/sig/openai/models/beta/agents/environment_info.rbs +80 -0
  491. data/sig/openai/models/beta/agents/environment_retrieve_params.rbs +27 -0
  492. data/sig/openai/models/beta/agents/environments/environment_file.rbs +43 -0
  493. data/sig/openai/models/beta/agents/environments/environment_template.rbs +255 -0
  494. data/sig/openai/models/beta/agents/environments/environment_template_deleted.rbs +38 -0
  495. data/sig/openai/models/beta/agents/environments/file_create_params.rbs +29 -0
  496. data/sig/openai/models/beta/agents/environments/file_list_params.rbs +72 -0
  497. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +138 -0
  498. data/sig/openai/models/beta/agents/environments/template_delete_params.rbs +32 -0
  499. data/sig/openai/models/beta/agents/environments/template_list_params.rbs +64 -0
  500. data/sig/openai/models/beta/agents/environments/template_retrieve_params.rbs +32 -0
  501. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +143 -0
  502. data/sig/openai/models/beta/agents/session_create_params.rbs +144 -0
  503. data/sig/openai/models/beta/agents/session_delete_params.rbs +27 -0
  504. data/sig/openai/models/beta/agents/session_list_params.rbs +67 -0
  505. data/sig/openai/models/beta/agents/session_retrieve_params.rbs +27 -0
  506. data/sig/openai/models/beta/agents/session_update_params.rbs +134 -0
  507. data/sig/openai/models/beta/agents/sessions/artifact_content_params.rbs +37 -0
  508. data/sig/openai/models/beta/agents/sessions/artifact_delete_params.rbs +37 -0
  509. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +70 -0
  510. data/sig/openai/models/beta/agents/sessions/artifact_retrieve_params.rbs +37 -0
  511. data/sig/openai/models/beta/agents/sessions/event_create_params.rbs +44 -0
  512. data/sig/openai/models/beta/agents/sessions/event_stream_params.rbs +29 -0
  513. data/sig/openai/models/beta/agents/sessions/item_list_params.rbs +69 -0
  514. data/sig/openai/models/beta/agents/sessions/session_artifact.rbs +63 -0
  515. data/sig/openai/models/beta/agents/sessions/session_artifact_deleted.rbs +38 -0
  516. data/sig/openai/models/beta/agents/sessions/subagent_list_params.rbs +69 -0
  517. data/sig/openai/models/beta/agents/sessions/subagent_retrieve_params.rbs +37 -0
  518. data/sig/openai/models/beta/agents/sessions/subagents/item_list_params.rbs +76 -0
  519. data/sig/openai/models/beta/agents/sessions/subagents/turn_list_params.rbs +76 -0
  520. data/sig/openai/models/beta/agents/sessions/subagents/turn_retrieve_params.rbs +44 -0
  521. data/sig/openai/models/beta/agents/sessions/subagents/turns/item_list_params.rbs +83 -0
  522. data/sig/openai/models/beta/agents/sessions/turn.rbs +108 -0
  523. data/sig/openai/models/beta/agents/sessions/turn_list_params.rbs +69 -0
  524. data/sig/openai/models/beta/agents/sessions/turn_retrieve_params.rbs +37 -0
  525. data/sig/openai/models/beta/agents/vault.rbs +44 -0
  526. data/sig/openai/models/beta/agents/vault_create_params.rbs +37 -0
  527. data/sig/openai/models/beta/agents/vault_delete_params.rbs +27 -0
  528. data/sig/openai/models/beta/agents/vault_deleted.rbs +30 -0
  529. data/sig/openai/models/beta/agents/vault_list_params.rbs +69 -0
  530. data/sig/openai/models/beta/agents/vault_retrieve_params.rbs +27 -0
  531. data/sig/openai/models/beta/agents/vault_status.rbs +18 -0
  532. data/sig/openai/models/beta/agents/vault_status_filter.rbs +19 -0
  533. data/sig/openai/models/beta/agents/vaults/credential.rbs +56 -0
  534. data/sig/openai/models/beta/agents/vaults/credential_auth.rbs +104 -0
  535. data/sig/openai/models/beta/agents/vaults/credential_auth_create_param.rbs +121 -0
  536. data/sig/openai/models/beta/agents/vaults/credential_auth_rotate_param.rbs +90 -0
  537. data/sig/openai/models/beta/agents/vaults/credential_create_params.rbs +42 -0
  538. data/sig/openai/models/beta/agents/vaults/credential_delete_params.rbs +37 -0
  539. data/sig/openai/models/beta/agents/vaults/credential_deleted.rbs +32 -0
  540. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +76 -0
  541. data/sig/openai/models/beta/agents/vaults/credential_retrieve_params.rbs +37 -0
  542. data/sig/openai/models/beta/agents/vaults/credential_update_params.rbs +42 -0
  543. data/sig/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth.rbs +50 -0
  544. data/sig/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_create_param.rbs +68 -0
  545. data/sig/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_rotate_param.rbs +57 -0
  546. data/sig/openai/models/beta/beta_response.rbs +6 -2
  547. data/sig/openai/models/beta/beta_response_compaction_compacting_event.rbs +58 -0
  548. data/sig/openai/models/beta/beta_response_stream_event.rbs +1 -0
  549. data/sig/openai/models/beta/beta_responses_client_event.rbs +13 -2
  550. data/sig/openai/models/beta/beta_responses_server_event.rbs +35 -0
  551. data/sig/openai/models/beta/environment.rbs +181 -0
  552. data/sig/openai/models/beta/environment_param.rbs +183 -0
  553. data/sig/openai/models/beta/hosted_environment_file.rbs +42 -0
  554. data/sig/openai/models/beta/hosted_environment_file_id.rbs +42 -0
  555. data/sig/openai/models/beta/hosted_environment_file_param.rbs +47 -0
  556. data/sig/openai/models/beta/hosted_plugin.rbs +23 -0
  557. data/sig/openai/models/beta/hosted_plugin_param.rbs +37 -0
  558. data/sig/openai/models/beta/hosted_skill.rbs +32 -0
  559. data/sig/openai/models/beta/hosted_skill_param.rbs +70 -0
  560. data/sig/openai/models/beta/hosted_skill_reference.rbs +42 -0
  561. data/sig/openai/models/beta/inline_capability_source_param.rbs +28 -0
  562. data/sig/openai/models/beta/input_content.rbs +39 -0
  563. data/sig/openai/models/beta/input_content_param.rbs +39 -0
  564. data/sig/openai/models/beta/mcp_transport.rbs +63 -0
  565. data/sig/openai/models/beta/mcp_transport_param.rbs +89 -0
  566. data/sig/openai/models/beta/multi_agent_config.rbs +21 -0
  567. data/sig/openai/models/beta/multi_agent_config_param.rbs +23 -0
  568. data/sig/openai/models/beta/output_text.rbs +17 -0
  569. data/sig/openai/models/beta/persisted_agent_tool.rbs +237 -0
  570. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +251 -0
  571. data/sig/openai/models/beta/persisted_mcp_transport.rbs +75 -0
  572. data/sig/openai/models/beta/persisted_mcp_transport_param.rbs +79 -0
  573. data/sig/openai/models/beta/response_compact_params.rbs +6 -2
  574. data/sig/openai/models/beta/response_create_params.rbs +13 -2
  575. data/sig/openai/models/beta/session_error.rbs +32 -0
  576. data/sig/openai/models/beta/session_turn_error.rbs +100 -0
  577. data/sig/openai/models/beta/setup_command_param.rbs +17 -0
  578. data/sig/openai/models/beta/subagent.rbs +76 -0
  579. data/sig/openai/models/beta/summary_text.rbs +17 -0
  580. data/sig/openai/models/beta/text_format.rbs +39 -0
  581. data/sig/openai/models/beta/text_format_param.rbs +40 -0
  582. data/sig/openai/models/beta/token_usage.rbs +62 -0
  583. data/sig/openai/models/beta/web_search_action.rbs +85 -0
  584. data/sig/openai/models/chat_model.rbs +6 -2
  585. data/sig/openai/models/responses/response_compact_params.rbs +6 -2
  586. data/sig/openai/models/responses/response_compaction_compacting_event.rbs +37 -0
  587. data/sig/openai/models/responses/response_create_params.rbs +7 -0
  588. data/sig/openai/models/responses/response_stream_event.rbs +1 -0
  589. data/sig/openai/models/responses/responses_client_event.rbs +7 -0
  590. data/sig/openai/models/responses/responses_server_event.rbs +32 -0
  591. data/sig/openai/resources/beta/agents/environments/files.rbs +28 -0
  592. data/sig/openai/resources/beta/agents/environments/templates.rbs +57 -0
  593. data/sig/openai/resources/beta/agents/environments.rbs +20 -0
  594. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +40 -0
  595. data/sig/openai/resources/beta/agents/sessions/events.rbs +25 -0
  596. data/sig/openai/resources/beta/agents/sessions/items.rbs +21 -0
  597. data/sig/openai/resources/beta/agents/sessions/subagents/items.rbs +24 -0
  598. data/sig/openai/resources/beta/agents/sessions/subagents/turns/items.rbs +27 -0
  599. data/sig/openai/resources/beta/agents/sessions/subagents/turns.rbs +33 -0
  600. data/sig/openai/resources/beta/agents/sessions/subagents.rbs +31 -0
  601. data/sig/openai/resources/beta/agents/sessions/turns.rbs +27 -0
  602. data/sig/openai/resources/beta/agents/sessions.rbs +66 -0
  603. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +48 -0
  604. data/sig/openai/resources/beta/agents/vaults.rbs +37 -0
  605. data/sig/openai/resources/beta/agents.rbs +59 -0
  606. data/sig/openai/resources/beta.rbs +2 -0
  607. metadata +540 -2
@@ -630,15 +630,15 @@ module OpenAI
630
630
  # See {OpenAI::Resources::Responses#create} for non-streaming counterpart.
631
631
  #
632
632
  # Creates a model response. Provide
633
- # [text](https://platform.openai.com/docs/guides/text) or
634
- # [image](https://platform.openai.com/docs/guides/images) inputs to generate
635
- # [text](https://platform.openai.com/docs/guides/text) or
636
- # [JSON](https://platform.openai.com/docs/guides/structured-outputs) outputs. Have
633
+ # [text](https://developers.openai.com/api/docs/guides/text) or
634
+ # [image](https://developers.openai.com/api/docs/guides/images-vision) inputs to generate
635
+ # [text](https://developers.openai.com/api/docs/guides/text) or
636
+ # [JSON](https://developers.openai.com/api/docs/guides/structured-outputs) outputs. Have
637
637
  # the model call your own
638
- # [custom code](https://platform.openai.com/docs/guides/function-calling) or use
639
- # built-in [tools](https://platform.openai.com/docs/guides/tools) like
640
- # [web search](https://platform.openai.com/docs/guides/tools-web-search) or
641
- # [file search](https://platform.openai.com/docs/guides/tools-file-search) to use
638
+ # [custom code](https://developers.openai.com/api/docs/guides/function-calling) or use
639
+ # built-in [tools](https://developers.openai.com/api/docs/guides/tools) like
640
+ # [web search](https://developers.openai.com/api/docs/guides/tools-web-search) or
641
+ # [file search](https://developers.openai.com/api/docs/guides/tools-file-search) to use
642
642
  # your own data as input for the model's response.
643
643
  sig do
644
644
  params(
@@ -1,9 +1,11 @@
1
1
  # Responses WebSocket workflows
2
2
 
3
- Requires `openai` 0.86.0 or later and the optional `async-websocket` gem:
3
+ Install `openai` and the optional `async-websocket` gem. The `multiplex` workflow
4
+ uses `OpenAI::Responses::Session`; versions with only `client.responses.connect`
5
+ can use the raw connection patterns below.
4
6
 
5
7
  ```ruby
6
- gem "openai", ">= 0.86.0"
8
+ gem "openai"
7
9
  gem "async-websocket"
8
10
  ```
9
11
 
@@ -58,6 +60,73 @@ event types arrive as `OpenAI::Responses::UnknownServerEvent`. Preserve or handl
58
60
  them explicitly where your application needs them. Do not assume every event
59
61
  has a response, text delta, or lane ID.
60
62
 
63
+ ## Managed sessions
64
+
65
+ `OpenAI::Responses::Session.open` adds routed lanes and final-response collection
66
+ using the same authentication, custom headers, and connection options as
67
+ `client.responses.connect`. With `OPENAI_API_KEY` set, this complete example
68
+ opens a session and closes its reader and transport when the block exits:
69
+
70
+ ```ruby
71
+ require "openai"
72
+
73
+ limits = OpenAI::Responses::SessionLimits.new(
74
+ max_lanes: 8,
75
+ max_events_per_lane: 128,
76
+ max_events: 512,
77
+ max_bytes_per_lane: 16 * 1024 * 1024,
78
+ max_bytes: 32 * 1024 * 1024,
79
+ max_response_bytes: 64 * 1024 * 1024
80
+ )
81
+
82
+ OpenAI::Responses::Session.open(
83
+ client: OpenAI::Client.new,
84
+ limits: limits,
85
+ request_options: {extra_headers: {"X-Application-Request" => "example"}}
86
+ ) do |session|
87
+ lane = session.lane("conversation")
88
+ lane.send_event(type: "response.create", model: "gpt-5.2", input: "Say hello.")
89
+ response = lane.get_final_response
90
+ puts response.status
91
+ # Supply previous_response_id: response.id explicitly for continuation.
92
+ end
93
+ ```
94
+
95
+ These required budgets are application choices, not service limits or changes
96
+ to raw connection defaults. The default and all detached lane IDs count toward `max_lanes` until reconnect. Queue
97
+ budgets apply per lane and across the session; byte counts measure serialized
98
+ event data, not total process memory. `max_response_bytes` bounds cumulative
99
+ compatible event bytes retained for collection. Choose budgets for legitimate
100
+ large output, including images and tool results. Queue overflow closes the
101
+ session's connection; collection overflow leaves raw events and other lanes usable.
102
+
103
+ Register lanes before sending and consume each response before creating another
104
+ on that lane. One Async task reads the physical connection; each lane has one
105
+ consumer, and all session operations use the owning Ruby thread. `lane.receive`
106
+ returns original typed or unknown events. `lane.get_final_response` consumes
107
+ remaining events and returns the current completed, failed, or incomplete response;
108
+ inspect its status. Collect a parent's final response before receiving its successor's
109
+ `response.created`, which starts accumulation for the successor. The helper does not
110
+ retain a history of completed responses; callers can retain the raw terminal events. Protocol errors raise `OpenAI::Responses::RequestError` with the
111
+ original event in `error.event`. Raw commands other than `response.create` leave
112
+ subsequent unsequenced, unscoped errors uncorrelated until explicit reconnect. Consuming
113
+ such an error during an active default response fails that lane; named lanes remain
114
+ usable. Errors received before the first raw submission retain ordinary create-retry
115
+ behavior, regardless of later commands sent before consuming them. Observe `session.default` for connection-level
116
+ errors and events with no registered lane. Closing a named lane discards its
117
+ queue and routes future events for that ID to the default lane. Closing a lane
118
+ does not cancel its server work. Its ID remains reserved until reconnect,
119
+ including after terminal events: steering can create automatic successors.
120
+ Continue using the same open lane for sequential responses. Closing the default
121
+ lane opts out of unclaimed events; it cannot be replaced before reconnect.
122
+
123
+ Recovery is explicit: `session.reconnect(client: fresh_client,
124
+ request_options: fresh_options, restore: callback)` re-evaluates authentication
125
+ and custom headers. Old lane handles raise `StateLostError`; the callback
126
+ registers fresh lanes and sends application-selected restoration state. No
127
+ previous create is replayed. Choose stored IDs or full history as described in
128
+ [reconnect guidance](#reconnect-without-replaying-uncertain-work).
129
+
61
130
  ## Sequential tool turns
62
131
 
63
132
  The `tools` workflow forces a call to one known, harmless application function.
@@ -87,14 +156,45 @@ route a lane-scoped error to just that lane, while treating a connection-scoped
87
156
  error as affecting the connection. Track separate response IDs when multiple
88
157
  requests are outstanding within a lane; a lane alone is not a request ID.
89
158
 
90
- The server executes same-lane requests in FIFO order. The SDK does not enforce
91
- lane grammar, schedule lanes, or manage a per-lane queue. Consult the platform
92
- guide for the current concurrent-response and named-lane limits.
159
+ The server executes same-lane requests in FIFO order without overlap. Named IDs
160
+ contain 1–256 ASCII letters, digits, underscores, hyphens or periods; an empty string
161
+ is invalid. The raw connection forwards IDs without enforcing this grammar.
162
+ The optional [session helper](#managed-sessions)
163
+ routes events into local queues and allows one consumed response at a time per
164
+ lane; it does not schedule server work. Named-lane terminal events and request
165
+ errors echo the ID; default-lane events omit it.
166
+
167
+ The service allows 16 active responses and queues additional creates. It accepts
168
+ 32 distinct named IDs per connection; the default lane does not count. These
169
+ are separate from the session's application budgets. Detaching a local lane
170
+ does not reset the server's distinct-ID count.
93
171
 
94
- To fork, send an existing response ID on a different lane. With `store=false`,
172
+ To fork, send an existing response ID on a different lane. With `store=false` or ZDR,
95
173
  wait for the fork's `response.in_progress` before advancing the source lane so
96
174
  its parent remains available in the connection-local cache.
97
175
 
176
+ The server keeps recent response state in a connection-local cache. With
177
+ `store=true`, an older response may be loaded from persisted state. With
178
+ `store=false` or ZDR, an uncached ID returns `previous_response_not_found`.
179
+ A same-lane continuation returning a 4xx or 5xx evicts its referenced cached
180
+ parent; an errored cross-lane fork preserves the shared parent for the source
181
+ lane. Do not blindly retry the same parent after a cache miss; use the explicit
182
+ context-restoration approach below when needed.
183
+
184
+ ## Warmup and compaction
185
+
186
+ For optional warmup, send `connection.response.create(..., generate: false)`,
187
+ consume the terminal response, and save its ID. A later create can use that ID
188
+ as `previous_response_id` with new input. Warmup prepares state without model
189
+ output; the existing create helper forwards `generate` as an extra field.
190
+
191
+ With automatic compaction configured through `context_management`, continue
192
+ using the latest response ID and only new input items. Standalone
193
+ `client.responses.compact(...)` instead returns a compacted input window. Send
194
+ its complete `output` as input to a new WebSocket chain, omitting or nulling
195
+ `previous_response_id`; do not use the compaction object's ID as a response ID
196
+ or prune items from its output.
197
+
98
198
  ## Reconnect without replaying uncertain work
99
199
 
100
200
  Both reconnect examples intentionally close a healthy connection **after** a
@@ -154,15 +254,22 @@ acknowledgment, and it does not guarantee that a response stopped executing.
154
254
  event. Stop using that connection; do not automatically resend it.
155
255
  - A transport read failure poisons the connection. A server `error` event is
156
256
  delivered as an event and does not by itself poison it.
257
+ Handle `previous_response_not_found`, `invalid_stream_id`,
258
+ `websocket_stream_limit_reached`, and `websocket_connection_limit_reached`
259
+ through the original error event. Observe `session.default` when using named
260
+ session lanes so connection-scoped errors are not left unread.
157
261
  - Malformed JSON raises `ResponsesProtocolError` without exposing the payload;
158
262
  the connection permits later reads. Decide whether continuing is appropriate
159
263
  for your application.
160
264
  - Raw `send_event` supports generated client models or hashes, including
161
265
  `response.steer`. There is no `connection.response.steer` convenience method.
162
- - The platform documents `generate: false` warmup. It can be forwarded through
163
- create's keyword rest even though 0.86.0 has no named generated `generate`
164
- keyword. Follow the platform contract; do not send HTTP-only `stream` or
165
- `background` flags just because generated models expose them.
266
+ Steering accepts only `type`, `previous_response_id`, and `input`, without
267
+ `stream_id`. Accepted input is committed at the successor's `response.created`.
268
+ If `response.steer.pending` requires tool output or approval, fill its
269
+ `required_input` stubs and send one create on the parent's lane with that
270
+ parent ID. Reuse saved results; do not rerun tools or resend accepted input.
271
+ - Follow the platform contract; do not send HTTP-only `stream` or `background`
272
+ flags just because generated models expose them.
166
273
  - X.509 workload identity and provider runtimes are not supported by this
167
274
  entry point. A nonempty `request_options.extra_query` or nonzero
168
275
  `request_options.max_retries` is rejected. Supported workload identity has a
@@ -0,0 +1,50 @@
1
+ module OpenAI
2
+ module Helpers
3
+ module Agents
4
+ type tool_output =
5
+ String
6
+ | Hash[String | Symbol, untyped]
7
+ | Array[OpenAI::Models::Beta::input_content_param
8
+ | Hash[Symbol, untyped]]
9
+ | nil
10
+ type tool_handler = ^(Hash[String, untyped]) -> tool_output
11
+ class SessionStream
12
+ include Enumerable[OpenAI::Models::Beta::agent_session_event]
13
+
14
+ def each:
15
+ { (OpenAI::Models::Beta::agent_session_event) -> void } -> self
16
+ | -> Enumerator[OpenAI::Models::Beta::agent_session_event, self]
17
+ def close: -> void
18
+ def until_done: -> self
19
+ end
20
+ end
21
+ end
22
+ module Resources
23
+ class Beta
24
+ class Agents
25
+ class Sessions
26
+ def stream: (
27
+ String session_id,
28
+ input: String
29
+ | Array[OpenAI::Beta::AgentSessionInputMessageParam
30
+ | Hash[Symbol, untyped]],
31
+ ?tool_handlers: Hash[String, OpenAI::Helpers::Agents::tool_handler],
32
+ ?idempotency_key: String?,
33
+ ?request_options: OpenAI::RequestOptions
34
+ | Hash[Symbol, untyped]
35
+ | nil
36
+ ) ?{
37
+ (OpenAI::Helpers::Agents::SessionStream) -> void
38
+ } -> OpenAI::Helpers::Agents::SessionStream
39
+ end
40
+ end
41
+ end
42
+ end
43
+ module Models
44
+ module Beta
45
+ class AgentSessionMessage
46
+ def output_text: -> String
47
+ end
48
+ end
49
+ end
50
+ end
@@ -31,6 +31,11 @@ module OpenAI
31
31
  OpenAI::Models::Responses::connection_client_event event
32
32
  ) -> nil
33
33
 
34
+ # @api private
35
+ def encode_client_event: (
36
+ OpenAI::Models::Responses::connection_client_event event
37
+ ) -> ::Hash[Symbol, untyped]
38
+
34
39
  # @api private
35
40
  def send_raw: (String data) -> nil
36
41
 
@@ -0,0 +1,123 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ class SessionError < OpenAI::Errors::Error
5
+ def cause: -> nil
6
+ end
7
+
8
+ class BufferError < SessionError
9
+ end
10
+
11
+ class StateLostError < SessionError
12
+ end
13
+
14
+ class RequestError < SessionError
15
+ attr_reader event: connection_server_event
16
+
17
+ # @api private
18
+ def initialize: (connection_server_event event) -> void
19
+ end
20
+
21
+ class SessionLimits
22
+ attr_reader max_lanes: Integer
23
+ attr_reader max_events_per_lane: Integer
24
+ attr_reader max_events: Integer
25
+ attr_reader max_bytes_per_lane: Integer
26
+ attr_reader max_bytes: Integer
27
+ attr_reader max_response_bytes: Integer
28
+ def initialize: (
29
+ max_lanes: Integer,
30
+ max_events_per_lane: Integer,
31
+ max_events: Integer,
32
+ max_bytes_per_lane: Integer,
33
+ max_bytes: Integer,
34
+ max_response_bytes: Integer
35
+ ) -> void
36
+ end
37
+
38
+ class SessionLane
39
+ attr_reader stream_id: String?
40
+ def send_event: (connection_client_event event) -> void
41
+ def receive: -> connection_server_event
42
+ def get_final_response: -> OpenAI::Responses::Response
43
+ def close: -> void
44
+
45
+ # @api private
46
+ def initialize: (
47
+ Session session,
48
+ String? stream_id,
49
+ Hash[String, untyped] pending_steers
50
+ ) -> void
51
+
52
+ # @api private
53
+ def enqueue: (
54
+ connection_server_event event,
55
+ Integer bytes,
56
+ ?bool raw_command_sent
57
+ ) -> bool?
58
+
59
+ # @api private
60
+ def discard: (?Exception? error) -> void
61
+
62
+ # @api private
63
+ def wake: -> void
64
+ end
65
+
66
+ class Session
67
+ attr_reader limits: SessionLimits
68
+ attr_reader default: SessionLane
69
+ def self.open: [Result] (
70
+ client: OpenAI::Client,
71
+ limits: SessionLimits,
72
+ ?request_options: OpenAI::request_opts?,
73
+ ?websocket_base_url: String?,
74
+ ?transport: top,
75
+ ?transport_options: ::Hash[Symbol, top]
76
+ ) {
77
+ (Session session) -> Result
78
+ } -> Result
79
+ def lane: (String? stream_id) -> SessionLane
80
+ def reconnect: (
81
+ restore: ^(Session) -> top,
82
+ ?client: OpenAI::Client,
83
+ ?request_options: OpenAI::request_opts?
84
+ ) -> self
85
+ def close: -> void
86
+
87
+ # @api private
88
+ def initialize: (
89
+ task: untyped,
90
+ client: OpenAI::Client,
91
+ limits: SessionLimits,
92
+ request_options: OpenAI::request_opts?,
93
+ websocket_base_url: String?,
94
+ transport: top,
95
+ transport_options: ::Hash[Symbol, top]
96
+ ) -> void
97
+
98
+ # @api private
99
+ def start: -> void
100
+
101
+ # @api private
102
+ def encode_client_event: (
103
+ connection_client_event event
104
+ ) -> ::Hash[Symbol, untyped]
105
+
106
+ # @api private
107
+ def send_event: (connection_client_event event) -> void
108
+
109
+ # @api private
110
+ def check_reader!: -> void
111
+
112
+ # @api private
113
+ def assert_owner!: -> void
114
+
115
+ # @api private
116
+ def consumed: (Integer bytes) -> void
117
+
118
+ # @api private
119
+ def detach: (SessionLane value) -> void
120
+ end
121
+ end
122
+ end
123
+ end
@@ -0,0 +1,15 @@
1
+ module OpenAI
2
+ module Internal
3
+ class TokenPage[Elem]
4
+ include OpenAI::Internal::Type::BasePage[Elem]
5
+
6
+ attr_accessor data: ::Array[Elem]?
7
+
8
+ attr_accessor has_more: bool
9
+
10
+ attr_accessor next_: String?
11
+
12
+ def inspect: -> String
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,96 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ type agent =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ instructions: String?,
9
+ metadata: ::Hash[Symbol, String],
10
+ model: String,
11
+ multi_agent: OpenAI::Beta::MultiAgentConfig,
12
+ name: String?,
13
+ ?object: :agent,
14
+ reasoning: OpenAI::Beta::AgentReasoning,
15
+ service_tier: OpenAI::Models::Beta::Agent::service_tier,
16
+ text: OpenAI::Beta::AgentText,
17
+ tools: ::Array[OpenAI::Models::Beta::persisted_agent_tool],
18
+ updated_at: Integer
19
+ }
20
+
21
+ class Agent < OpenAI::Internal::Type::BaseModel
22
+ attr_accessor id: String
23
+
24
+ attr_accessor created_at: Integer
25
+
26
+ attr_accessor instructions: String?
27
+
28
+ attr_accessor metadata: ::Hash[Symbol, String]
29
+
30
+ attr_accessor model: String
31
+
32
+ attr_accessor multi_agent: OpenAI::Beta::MultiAgentConfig
33
+
34
+ attr_accessor name: String?
35
+
36
+ attr_accessor object: :agent
37
+
38
+ attr_accessor reasoning: OpenAI::Beta::AgentReasoning
39
+
40
+ attr_accessor service_tier: OpenAI::Models::Beta::Agent::service_tier
41
+
42
+ attr_accessor text: OpenAI::Beta::AgentText
43
+
44
+ attr_accessor tools: ::Array[OpenAI::Models::Beta::persisted_agent_tool]
45
+
46
+ attr_accessor updated_at: Integer
47
+
48
+ def initialize: (
49
+ id: String,
50
+ created_at: Integer,
51
+ instructions: String?,
52
+ metadata: ::Hash[Symbol, String],
53
+ model: String,
54
+ multi_agent: OpenAI::Beta::MultiAgentConfig,
55
+ name: String?,
56
+ reasoning: OpenAI::Beta::AgentReasoning,
57
+ service_tier: OpenAI::Models::Beta::Agent::service_tier,
58
+ text: OpenAI::Beta::AgentText,
59
+ tools: ::Array[OpenAI::Models::Beta::persisted_agent_tool],
60
+ updated_at: Integer,
61
+ ?object: :agent
62
+ ) -> void
63
+
64
+ def to_hash: -> {
65
+ id: String,
66
+ created_at: Integer,
67
+ instructions: String?,
68
+ metadata: ::Hash[Symbol, String],
69
+ model: String,
70
+ multi_agent: OpenAI::Beta::MultiAgentConfig,
71
+ name: String?,
72
+ ?object: :agent,
73
+ reasoning: OpenAI::Beta::AgentReasoning,
74
+ service_tier: OpenAI::Models::Beta::Agent::service_tier,
75
+ text: OpenAI::Beta::AgentText,
76
+ tools: ::Array[OpenAI::Models::Beta::persisted_agent_tool],
77
+ updated_at: Integer
78
+ }
79
+
80
+ type service_tier = :auto | :default | :flex | :priority | :fast
81
+
82
+ module ServiceTier
83
+ extend OpenAI::Internal::Type::Enum
84
+
85
+ AUTO: :auto
86
+ DEFAULT: :default
87
+ FLEX: :flex
88
+ PRIORITY: :priority
89
+ FAST: :fast
90
+
91
+ def self?.values: -> ::Array[OpenAI::Models::Beta::Agent::service_tier]
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,47 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ type agent_close_subagent_call_item =
5
+ {
6
+ id: String,
7
+ recipient_agent_id: String,
8
+ sender_agent_id: String,
9
+ status: OpenAI::Models::Beta::agent_function_call_status,
10
+ turn_id: String,
11
+ ?type: :close_subagent_call
12
+ }
13
+
14
+ class AgentCloseSubagentCallItem < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor id: String
16
+
17
+ attr_accessor recipient_agent_id: String
18
+
19
+ attr_accessor sender_agent_id: String
20
+
21
+ attr_accessor status: OpenAI::Models::Beta::agent_function_call_status
22
+
23
+ attr_accessor turn_id: String
24
+
25
+ attr_accessor type: :close_subagent_call
26
+
27
+ def initialize: (
28
+ id: String,
29
+ recipient_agent_id: String,
30
+ sender_agent_id: String,
31
+ status: OpenAI::Models::Beta::agent_function_call_status,
32
+ turn_id: String,
33
+ ?type: :close_subagent_call
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ id: String,
38
+ recipient_agent_id: String,
39
+ sender_agent_id: String,
40
+ status: OpenAI::Models::Beta::agent_function_call_status,
41
+ turn_id: String,
42
+ ?type: :close_subagent_call
43
+ }
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,62 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ type agent_command_execution_item =
5
+ {
6
+ id: String,
7
+ command: String,
8
+ cwd: String?,
9
+ duration_ms: Integer?,
10
+ exit_code: Integer?,
11
+ output: String?,
12
+ status: OpenAI::Models::Beta::agent_function_call_status,
13
+ turn_id: String,
14
+ ?type: :command_execution
15
+ }
16
+
17
+ class AgentCommandExecutionItem < OpenAI::Internal::Type::BaseModel
18
+ attr_accessor id: String
19
+
20
+ attr_accessor command: String
21
+
22
+ attr_accessor cwd: String?
23
+
24
+ attr_accessor duration_ms: Integer?
25
+
26
+ attr_accessor exit_code: Integer?
27
+
28
+ attr_accessor output: String?
29
+
30
+ attr_accessor status: OpenAI::Models::Beta::agent_function_call_status
31
+
32
+ attr_accessor turn_id: String
33
+
34
+ attr_accessor type: :command_execution
35
+
36
+ def initialize: (
37
+ id: String,
38
+ command: String,
39
+ cwd: String?,
40
+ duration_ms: Integer?,
41
+ exit_code: Integer?,
42
+ output: String?,
43
+ status: OpenAI::Models::Beta::agent_function_call_status,
44
+ turn_id: String,
45
+ ?type: :command_execution
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ id: String,
50
+ command: String,
51
+ cwd: String?,
52
+ duration_ms: Integer?,
53
+ exit_code: Integer?,
54
+ output: String?,
55
+ status: OpenAI::Models::Beta::agent_function_call_status,
56
+ turn_id: String,
57
+ ?type: :command_execution
58
+ }
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,33 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ type agent_content =
5
+ OpenAI::Beta::OutputText | OpenAI::Beta::AgentContent::EncryptedContent
6
+
7
+ module AgentContent
8
+ extend OpenAI::Internal::Type::Union
9
+
10
+ type encrypted_content =
11
+ { encrypted_content: String, ?type: :encrypted_content }
12
+
13
+ class EncryptedContent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor encrypted_content: String
15
+
16
+ attr_accessor type: :encrypted_content
17
+
18
+ def initialize: (
19
+ encrypted_content: String,
20
+ ?type: :encrypted_content
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ encrypted_content: String,
25
+ ?type: :encrypted_content
26
+ }
27
+ end
28
+
29
+ def self?.variants: -> ::Array[OpenAI::Models::Beta::agent_content]
30
+ end
31
+ end
32
+ end
33
+ end