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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/README.md +1 -1
- data/examples/realtime/README.md +8 -0
- data/examples/realtime/browser/README.md +167 -0
- data/examples/realtime/browser/index.html +19 -0
- data/examples/realtime/browser/page.js +21 -0
- data/examples/realtime/browser/peer.js +180 -0
- data/examples/realtime/browser/server.rb +281 -0
- data/examples/responses/websocket_workflows.rb +66 -6
- data/lib/openai/auth/workload_identity.rb +5 -1
- data/lib/openai/auth/workload_identity_auth.rb +2 -2
- data/lib/openai/auth/x509_token_exchange.rb +1 -1
- data/lib/openai/helpers/agents/message.rb +20 -0
- data/lib/openai/helpers/agents/session_stream.rb +168 -0
- data/lib/openai/helpers/agents/tools.rb +65 -0
- data/lib/openai/helpers/local_audio/process.rb +1 -1
- data/lib/openai/helpers/responses_websocket/connection.rb +2 -1
- data/lib/openai/helpers/responses_websocket/session.rb +551 -0
- data/lib/openai/helpers/responses_websocket.rb +1 -0
- data/lib/openai/helpers/sorbet.rb +1 -1
- data/lib/openai/helpers/websocket/async_websocket_transport.rb +6 -1
- data/lib/openai/internal/poller.rb +2 -2
- data/lib/openai/internal/token_page.rb +91 -0
- data/lib/openai/internal/transport/base_client.rb +1 -1
- data/lib/openai/internal/util.rb +1 -1
- data/lib/openai/models/beta/agent.rb +148 -0
- data/lib/openai/models/beta/agent_close_subagent_call_item.rb +66 -0
- data/lib/openai/models/beta/agent_command_execution_item.rb +93 -0
- data/lib/openai/models/beta/agent_content.rb +46 -0
- data/lib/openai/models/beta/agent_create_params.rb +128 -0
- data/lib/openai/models/beta/agent_create_subagent_call_item.rb +84 -0
- data/lib/openai/models/beta/agent_delete_params.rb +22 -0
- data/lib/openai/models/beta/agent_deleted.rb +40 -0
- data/lib/openai/models/beta/agent_function_call_item.rb +75 -0
- data/lib/openai/models/beta/agent_function_call_output.rb +22 -0
- data/lib/openai/models/beta/agent_function_call_output_param.rb +22 -0
- data/lib/openai/models/beta/agent_function_call_status.rb +27 -0
- data/lib/openai/models/beta/agent_interrupt_subagent_call_item.rb +67 -0
- data/lib/openai/models/beta/agent_list_params.rb +57 -0
- data/lib/openai/models/beta/agent_mcp_call_item.rb +93 -0
- data/lib/openai/models/beta/agent_output_command_execution_output_delta_event.rb +75 -0
- data/lib/openai/models/beta/agent_output_item.rb +53 -0
- data/lib/openai/models/beta/agent_output_item_status.rb +24 -0
- data/lib/openai/models/beta/agent_reasoning.rb +67 -0
- data/lib/openai/models/beta/agent_reasoning_item.rb +57 -0
- data/lib/openai/models/beta/agent_reasoning_param.rb +67 -0
- data/lib/openai/models/beta/agent_resume_subagent_call_item.rb +66 -0
- data/lib/openai/models/beta/agent_retrieve_params.rb +22 -0
- data/lib/openai/models/beta/agent_send_subagent_input_call_item.rb +75 -0
- data/lib/openai/models/beta/agent_session.rb +339 -0
- data/lib/openai/models/beta/agent_session_assistant_message.rb +91 -0
- data/lib/openai/models/beta/agent_session_created_event.rb +39 -0
- data/lib/openai/models/beta/agent_session_deleted.rb +42 -0
- data/lib/openai/models/beta/agent_session_environment_connected_event.rb +57 -0
- data/lib/openai/models/beta/agent_session_environment_disconnected_event.rb +57 -0
- data/lib/openai/models/beta/agent_session_environment_failed_event.rb +57 -0
- data/lib/openai/models/beta/agent_session_environment_pending_event.rb +57 -0
- data/lib/openai/models/beta/agent_session_environment_ready_event.rb +57 -0
- data/lib/openai/models/beta/agent_session_environment_state.rb +106 -0
- data/lib/openai/models/beta/agent_session_error_event.rb +48 -0
- data/lib/openai/models/beta/agent_session_event.rb +128 -0
- data/lib/openai/models/beta/agent_session_failed_event.rb +39 -0
- data/lib/openai/models/beta/agent_session_idle_event.rb +39 -0
- data/lib/openai/models/beta/agent_session_in_progress_event.rb +39 -0
- data/lib/openai/models/beta/agent_session_input_message_param.rb +51 -0
- data/lib/openai/models/beta/agent_session_input_param.rb +131 -0
- data/lib/openai/models/beta/agent_session_item.rb +186 -0
- data/lib/openai/models/beta/agent_session_message.rb +106 -0
- data/lib/openai/models/beta/agent_session_message_content.rb +97 -0
- data/lib/openai/models/beta/agent_session_requires_action_event.rb +39 -0
- data/lib/openai/models/beta/agent_session_subagent_active_event.rb +39 -0
- data/lib/openai/models/beta/agent_session_subagent_closed_event.rb +39 -0
- data/lib/openai/models/beta/agent_session_subagent_created_event.rb +39 -0
- data/lib/openai/models/beta/agent_session_turn_cancelled_event.rb +66 -0
- data/lib/openai/models/beta/agent_session_turn_completed_event.rb +66 -0
- data/lib/openai/models/beta/agent_session_turn_content_part_added_event.rb +84 -0
- data/lib/openai/models/beta/agent_session_turn_content_part_done_event.rb +84 -0
- data/lib/openai/models/beta/agent_session_turn_created_event.rb +57 -0
- data/lib/openai/models/beta/agent_session_turn_failed_event.rb +66 -0
- data/lib/openai/models/beta/agent_session_turn_in_progress_event.rb +57 -0
- data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +66 -0
- data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +66 -0
- data/lib/openai/models/beta/agent_session_turn_output_text_delta_event.rb +84 -0
- data/lib/openai/models/beta/agent_session_turn_output_text_done_event.rb +84 -0
- data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rb +86 -0
- data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rb +93 -0
- data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rb +86 -0
- data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rb +84 -0
- data/lib/openai/models/beta/agent_text.rb +44 -0
- data/lib/openai/models/beta/agent_text_param.rb +49 -0
- data/lib/openai/models/beta/agent_tool.rb +314 -0
- data/lib/openai/models/beta/agent_tool_param.rb +359 -0
- data/lib/openai/models/beta/agent_update_params.rb +137 -0
- data/lib/openai/models/beta/agent_wait_for_subagents_call_item.rb +66 -0
- data/lib/openai/models/beta/agent_web_search_call_item.rb +57 -0
- data/lib/openai/models/beta/agents/environment_info.rb +107 -0
- data/lib/openai/models/beta/agents/environment_retrieve_params.rb +24 -0
- data/lib/openai/models/beta/agents/environments/environment_file.rb +55 -0
- data/lib/openai/models/beta/agents/environments/environment_template.rb +368 -0
- data/lib/openai/models/beta/agents/environments/environment_template_deleted.rb +46 -0
- data/lib/openai/models/beta/agents/environments/file_create_params.rb +26 -0
- data/lib/openai/models/beta/agents/environments/file_list_params.rb +77 -0
- data/lib/openai/models/beta/agents/environments/template_create_params.rb +209 -0
- data/lib/openai/models/beta/agents/environments/template_delete_params.rb +26 -0
- data/lib/openai/models/beta/agents/environments/template_list_params.rb +61 -0
- data/lib/openai/models/beta/agents/environments/template_retrieve_params.rb +26 -0
- data/lib/openai/models/beta/agents/environments/template_update_params.rb +212 -0
- data/lib/openai/models/beta/agents/session_create_params.rb +203 -0
- data/lib/openai/models/beta/agents/session_delete_params.rb +24 -0
- data/lib/openai/models/beta/agents/session_list_params.rb +73 -0
- data/lib/openai/models/beta/agents/session_retrieve_params.rb +24 -0
- data/lib/openai/models/beta/agents/session_update_params.rb +145 -0
- data/lib/openai/models/beta/agents/sessions/artifact_content_params.rb +32 -0
- data/lib/openai/models/beta/agents/sessions/artifact_delete_params.rb +32 -0
- data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +77 -0
- data/lib/openai/models/beta/agents/sessions/artifact_retrieve_params.rb +32 -0
- data/lib/openai/models/beta/agents/sessions/event_create_params.rb +43 -0
- data/lib/openai/models/beta/agents/sessions/event_stream_params.rb +26 -0
- data/lib/openai/models/beta/agents/sessions/item_list_params.rb +68 -0
- data/lib/openai/models/beta/agents/sessions/session_artifact.rb +91 -0
- data/lib/openai/models/beta/agents/sessions/session_artifact_deleted.rb +46 -0
- data/lib/openai/models/beta/agents/sessions/subagent_list_params.rb +68 -0
- data/lib/openai/models/beta/agents/sessions/subagent_retrieve_params.rb +32 -0
- data/lib/openai/models/beta/agents/sessions/subagents/item_list_params.rb +77 -0
- data/lib/openai/models/beta/agents/sessions/subagents/turn_list_params.rb +77 -0
- data/lib/openai/models/beta/agents/sessions/subagents/turn_retrieve_params.rb +40 -0
- data/lib/openai/models/beta/agents/sessions/subagents/turns/item_list_params.rb +86 -0
- data/lib/openai/models/beta/agents/sessions/turn.rb +148 -0
- data/lib/openai/models/beta/agents/sessions/turn_list_params.rb +68 -0
- data/lib/openai/models/beta/agents/sessions/turn_retrieve_params.rb +32 -0
- data/lib/openai/models/beta/agents/vault.rb +63 -0
- data/lib/openai/models/beta/agents/vault_create_params.rb +40 -0
- data/lib/openai/models/beta/agents/vault_delete_params.rb +24 -0
- data/lib/openai/models/beta/agents/vault_deleted.rb +42 -0
- data/lib/openai/models/beta/agents/vault_list_params.rb +75 -0
- data/lib/openai/models/beta/agents/vault_retrieve_params.rb +24 -0
- data/lib/openai/models/beta/agents/vault_status.rb +20 -0
- data/lib/openai/models/beta/agents/vault_status_filter.rb +27 -0
- data/lib/openai/models/beta/agents/vaults/credential.rb +80 -0
- data/lib/openai/models/beta/agents/vaults/credential_auth.rb +155 -0
- data/lib/openai/models/beta/agents/vaults/credential_auth_create_param.rb +184 -0
- data/lib/openai/models/beta/agents/vaults/credential_auth_rotate_param.rb +147 -0
- data/lib/openai/models/beta/agents/vaults/credential_create_params.rb +47 -0
- data/lib/openai/models/beta/agents/vaults/credential_delete_params.rb +32 -0
- data/lib/openai/models/beta/agents/vaults/credential_deleted.rb +44 -0
- data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +84 -0
- data/lib/openai/models/beta/agents/vaults/credential_retrieve_params.rb +32 -0
- data/lib/openai/models/beta/agents/vaults/credential_update_params.rb +43 -0
- data/lib/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth.rb +78 -0
- data/lib/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_create_param.rb +96 -0
- data/lib/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_rotate_param.rb +84 -0
- data/lib/openai/models/beta/beta_response.rb +9 -3
- data/lib/openai/models/beta/beta_response_compaction_compacting_event.rb +75 -0
- data/lib/openai/models/beta/beta_response_stream_event.rb +4 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +25 -4
- data/lib/openai/models/beta/beta_responses_server_event.rb +39 -1
- data/lib/openai/models/beta/environment.rb +246 -0
- data/lib/openai/models/beta/environment_param.rb +269 -0
- data/lib/openai/models/beta/hosted_environment_file.rb +64 -0
- data/lib/openai/models/beta/hosted_environment_file_id.rb +57 -0
- data/lib/openai/models/beta/hosted_environment_file_param.rb +87 -0
- data/lib/openai/models/beta/hosted_plugin.rb +39 -0
- data/lib/openai/models/beta/hosted_plugin_param.rb +48 -0
- data/lib/openai/models/beta/hosted_skill.rb +55 -0
- data/lib/openai/models/beta/hosted_skill_param.rb +96 -0
- data/lib/openai/models/beta/hosted_skill_reference.rb +57 -0
- data/lib/openai/models/beta/inline_capability_source_param.rb +39 -0
- data/lib/openai/models/beta/input_content.rb +71 -0
- data/lib/openai/models/beta/input_content_param.rb +69 -0
- data/lib/openai/models/beta/mcp_transport.rb +96 -0
- data/lib/openai/models/beta/mcp_transport_param.rb +123 -0
- data/lib/openai/models/beta/multi_agent_config.rb +32 -0
- data/lib/openai/models/beta/multi_agent_config_param.rb +30 -0
- data/lib/openai/models/beta/output_text.rb +30 -0
- data/lib/openai/models/beta/persisted_agent_tool.rb +329 -0
- data/lib/openai/models/beta/persisted_agent_tool_param.rb +355 -0
- data/lib/openai/models/beta/persisted_mcp_transport.rb +105 -0
- data/lib/openai/models/beta/persisted_mcp_transport_param.rb +105 -0
- data/lib/openai/models/beta/response_compact_params.rb +9 -3
- data/lib/openai/models/beta/response_create_params.rb +21 -4
- data/lib/openai/models/beta/session_error.rb +48 -0
- data/lib/openai/models/beta/session_turn_error.rb +91 -0
- data/lib/openai/models/beta/setup_command_param.rb +30 -0
- data/lib/openai/models/beta/subagent.rb +121 -0
- data/lib/openai/models/beta/summary_text.rb +30 -0
- data/lib/openai/models/beta/text_format.rb +60 -0
- data/lib/openai/models/beta/text_format_param.rb +60 -0
- data/lib/openai/models/beta/token_usage.rb +87 -0
- data/lib/openai/models/beta/web_search_action.rb +130 -0
- data/lib/openai/models/chat/completion_create_params.rb +1 -1
- data/lib/openai/models/chat_model.rb +3 -1
- data/lib/openai/models/responses/response_compact_params.rb +9 -3
- data/lib/openai/models/responses/response_compaction_compacting_event.rb +49 -0
- data/lib/openai/models/responses/response_create_params.rb +12 -1
- data/lib/openai/models/responses/response_stream_event.rb +4 -1
- data/lib/openai/models/responses/responses_client_event.rb +12 -1
- data/lib/openai/models/responses/responses_server_event.rb +36 -1
- data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +6 -8
- data/lib/openai/resources/beta/agents/environments/files.rb +89 -0
- data/lib/openai/resources/beta/agents/environments/templates.rb +206 -0
- data/lib/openai/resources/beta/agents/environments.rb +50 -0
- data/lib/openai/resources/beta/agents/sessions/artifacts.rb +155 -0
- data/lib/openai/resources/beta/agents/sessions/events.rb +80 -0
- data/lib/openai/resources/beta/agents/sessions/items.rb +57 -0
- data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +66 -0
- data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +82 -0
- data/lib/openai/resources/beta/agents/sessions/subagents/turns.rb +108 -0
- data/lib/openai/resources/beta/agents/sessions/subagents.rb +95 -0
- data/lib/openai/resources/beta/agents/sessions/turns.rb +89 -0
- data/lib/openai/resources/beta/agents/sessions.rb +298 -0
- data/lib/openai/resources/beta/agents/vaults/credentials.rb +195 -0
- data/lib/openai/resources/beta/agents/vaults.rb +137 -0
- data/lib/openai/resources/beta/agents.rb +213 -0
- data/lib/openai/resources/beta/responses.rb +2 -2
- data/lib/openai/resources/beta.rb +4 -0
- data/lib/openai/resources/live/sessions.rb +10 -4
- data/lib/openai/resources/responses.rb +2 -2
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +178 -0
- data/rbi/openai/helpers/agents.rbi +71 -0
- data/rbi/openai/helpers/responses_websocket/connection.rbi +5 -0
- data/rbi/openai/helpers/responses_websocket/session.rbi +206 -0
- data/rbi/openai/internal/token_page.rbi +25 -0
- data/rbi/openai/models/beta/agent.rbi +209 -0
- data/rbi/openai/models/beta/agent_close_subagent_call_item.rbi +102 -0
- data/rbi/openai/models/beta/agent_command_execution_item.rbi +132 -0
- data/rbi/openai/models/beta/agent_content.rbi +75 -0
- data/rbi/openai/models/beta/agent_create_params.rbi +212 -0
- data/rbi/openai/models/beta/agent_create_subagent_call_item.rbi +124 -0
- data/rbi/openai/models/beta/agent_delete_params.rbi +53 -0
- data/rbi/openai/models/beta/agent_deleted.rbi +68 -0
- data/rbi/openai/models/beta/agent_function_call_item.rbi +112 -0
- data/rbi/openai/models/beta/agent_function_call_output.rbi +33 -0
- data/rbi/openai/models/beta/agent_function_call_output_param.rbi +33 -0
- data/rbi/openai/models/beta/agent_function_call_status.rbi +35 -0
- data/rbi/openai/models/beta/agent_interrupt_subagent_call_item.rbi +103 -0
- data/rbi/openai/models/beta/agent_list_params.rbi +102 -0
- data/rbi/openai/models/beta/agent_mcp_call_item.rbi +132 -0
- data/rbi/openai/models/beta/agent_output_command_execution_output_delta_event.rbi +112 -0
- data/rbi/openai/models/beta/agent_output_item.rbi +38 -0
- data/rbi/openai/models/beta/agent_output_item_status.rbi +32 -0
- data/rbi/openai/models/beta/agent_reasoning.rbi +103 -0
- data/rbi/openai/models/beta/agent_reasoning_item.rbi +92 -0
- data/rbi/openai/models/beta/agent_reasoning_param.rbi +103 -0
- data/rbi/openai/models/beta/agent_resume_subagent_call_item.rbi +102 -0
- data/rbi/openai/models/beta/agent_retrieve_params.rbi +53 -0
- data/rbi/openai/models/beta/agent_send_subagent_input_call_item.rbi +114 -0
- data/rbi/openai/models/beta/agent_session.rbi +494 -0
- data/rbi/openai/models/beta/agent_session_assistant_message.rbi +130 -0
- data/rbi/openai/models/beta/agent_session_created_event.rbi +71 -0
- data/rbi/openai/models/beta/agent_session_deleted.rbi +71 -0
- data/rbi/openai/models/beta/agent_session_environment_connected_event.rbi +95 -0
- data/rbi/openai/models/beta/agent_session_environment_disconnected_event.rbi +95 -0
- data/rbi/openai/models/beta/agent_session_environment_failed_event.rbi +95 -0
- data/rbi/openai/models/beta/agent_session_environment_pending_event.rbi +95 -0
- data/rbi/openai/models/beta/agent_session_environment_ready_event.rbi +95 -0
- data/rbi/openai/models/beta/agent_session_environment_state.rbi +168 -0
- data/rbi/openai/models/beta/agent_session_error_event.rbi +80 -0
- data/rbi/openai/models/beta/agent_session_event.rbi +56 -0
- data/rbi/openai/models/beta/agent_session_failed_event.rbi +71 -0
- data/rbi/openai/models/beta/agent_session_idle_event.rbi +71 -0
- data/rbi/openai/models/beta/agent_session_in_progress_event.rbi +71 -0
- data/rbi/openai/models/beta/agent_session_input_message_param.rbi +100 -0
- data/rbi/openai/models/beta/agent_session_input_param.rbi +232 -0
- data/rbi/openai/models/beta/agent_session_item.rbi +239 -0
- data/rbi/openai/models/beta/agent_session_message.rbi +153 -0
- data/rbi/openai/models/beta/agent_session_message_content.rbi +172 -0
- data/rbi/openai/models/beta/agent_session_requires_action_event.rbi +71 -0
- data/rbi/openai/models/beta/agent_session_subagent_active_event.rbi +71 -0
- data/rbi/openai/models/beta/agent_session_subagent_closed_event.rbi +71 -0
- data/rbi/openai/models/beta/agent_session_subagent_created_event.rbi +71 -0
- data/rbi/openai/models/beta/agent_session_turn_cancelled_event.rbi +108 -0
- data/rbi/openai/models/beta/agent_session_turn_completed_event.rbi +108 -0
- data/rbi/openai/models/beta/agent_session_turn_content_part_added_event.rbi +125 -0
- data/rbi/openai/models/beta/agent_session_turn_content_part_done_event.rbi +125 -0
- data/rbi/openai/models/beta/agent_session_turn_created_event.rbi +95 -0
- data/rbi/openai/models/beta/agent_session_turn_failed_event.rbi +108 -0
- data/rbi/openai/models/beta/agent_session_turn_in_progress_event.rbi +95 -0
- data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +117 -0
- data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +115 -0
- data/rbi/openai/models/beta/agent_session_turn_output_text_delta_event.rbi +122 -0
- data/rbi/openai/models/beta/agent_session_turn_output_text_done_event.rbi +122 -0
- data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbi +127 -0
- data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbi +135 -0
- data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbi +124 -0
- data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbi +122 -0
- data/rbi/openai/models/beta/agent_text.rbi +75 -0
- data/rbi/openai/models/beta/agent_text_param.rbi +87 -0
- data/rbi/openai/models/beta/agent_tool.rbi +467 -0
- data/rbi/openai/models/beta/agent_tool_param.rbi +530 -0
- data/rbi/openai/models/beta/agent_update_params.rbi +225 -0
- data/rbi/openai/models/beta/agent_wait_for_subagents_call_item.rbi +102 -0
- data/rbi/openai/models/beta/agent_web_search_call_item.rbi +99 -0
- data/rbi/openai/models/beta/agents/environment_info.rbi +156 -0
- data/rbi/openai/models/beta/agents/environment_retrieve_params.rbi +57 -0
- data/rbi/openai/models/beta/agents/environments/environment_file.rbi +87 -0
- data/rbi/openai/models/beta/agents/environments/environment_template.rbi +582 -0
- data/rbi/openai/models/beta/agents/environments/environment_template_deleted.rbi +78 -0
- data/rbi/openai/models/beta/agents/environments/file_create_params.rbi +61 -0
- data/rbi/openai/models/beta/agents/environments/file_list_params.rbi +130 -0
- data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +350 -0
- data/rbi/openai/models/beta/agents/environments/template_delete_params.rbi +61 -0
- data/rbi/openai/models/beta/agents/environments/template_list_params.rbi +117 -0
- data/rbi/openai/models/beta/agents/environments/template_retrieve_params.rbi +61 -0
- data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +354 -0
- data/rbi/openai/models/beta/agents/session_create_params.rbi +336 -0
- data/rbi/openai/models/beta/agents/session_delete_params.rbi +57 -0
- data/rbi/openai/models/beta/agents/session_list_params.rbi +124 -0
- data/rbi/openai/models/beta/agents/session_retrieve_params.rbi +57 -0
- data/rbi/openai/models/beta/agents/session_update_params.rbi +252 -0
- data/rbi/openai/models/beta/agents/sessions/artifact_content_params.rbi +68 -0
- data/rbi/openai/models/beta/agents/sessions/artifact_delete_params.rbi +68 -0
- data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +127 -0
- data/rbi/openai/models/beta/agents/sessions/artifact_retrieve_params.rbi +68 -0
- data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +107 -0
- data/rbi/openai/models/beta/agents/sessions/event_stream_params.rbi +61 -0
- data/rbi/openai/models/beta/agents/sessions/item_list_params.rbi +121 -0
- data/rbi/openai/models/beta/agents/sessions/session_artifact.rbi +132 -0
- data/rbi/openai/models/beta/agents/sessions/session_artifact_deleted.rbi +78 -0
- data/rbi/openai/models/beta/agents/sessions/subagent_list_params.rbi +123 -0
- data/rbi/openai/models/beta/agents/sessions/subagent_retrieve_params.rbi +68 -0
- data/rbi/openai/models/beta/agents/sessions/subagents/item_list_params.rbi +139 -0
- data/rbi/openai/models/beta/agents/sessions/subagents/turn_list_params.rbi +139 -0
- data/rbi/openai/models/beta/agents/sessions/subagents/turn_retrieve_params.rbi +79 -0
- data/rbi/openai/models/beta/agents/sessions/subagents/turns/item_list_params.rbi +161 -0
- data/rbi/openai/models/beta/agents/sessions/turn.rbi +200 -0
- data/rbi/openai/models/beta/agents/sessions/turn_list_params.rbi +121 -0
- data/rbi/openai/models/beta/agents/sessions/turn_retrieve_params.rbi +68 -0
- data/rbi/openai/models/beta/agents/vault.rbi +99 -0
- data/rbi/openai/models/beta/agents/vault_create_params.rbi +75 -0
- data/rbi/openai/models/beta/agents/vault_delete_params.rbi +57 -0
- data/rbi/openai/models/beta/agents/vault_deleted.rbi +72 -0
- data/rbi/openai/models/beta/agents/vault_list_params.rbi +149 -0
- data/rbi/openai/models/beta/agents/vault_retrieve_params.rbi +57 -0
- data/rbi/openai/models/beta/agents/vault_status.rbi +30 -0
- data/rbi/openai/models/beta/agents/vault_status_filter.rbi +39 -0
- data/rbi/openai/models/beta/agents/vaults/credential.rbi +123 -0
- data/rbi/openai/models/beta/agents/vaults/credential_auth.rbi +248 -0
- data/rbi/openai/models/beta/agents/vaults/credential_auth_create_param.rbi +293 -0
- data/rbi/openai/models/beta/agents/vaults/credential_auth_rotate_param.rbi +252 -0
- data/rbi/openai/models/beta/agents/vaults/credential_create_params.rbi +99 -0
- data/rbi/openai/models/beta/agents/vaults/credential_delete_params.rbi +68 -0
- data/rbi/openai/models/beta/agents/vaults/credential_deleted.rbi +76 -0
- data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +163 -0
- data/rbi/openai/models/beta/agents/vaults/credential_retrieve_params.rbi +68 -0
- data/rbi/openai/models/beta/agents/vaults/credential_update_params.rbi +95 -0
- data/rbi/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth.rbi +151 -0
- data/rbi/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_create_param.rbi +171 -0
- data/rbi/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_rotate_param.rbi +137 -0
- data/rbi/openai/models/beta/beta_response.rbi +6 -1
- data/rbi/openai/models/beta/beta_response_compaction_compacting_event.rbi +136 -0
- data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -0
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +27 -4
- data/rbi/openai/models/beta/beta_responses_server_event.rbi +77 -0
- data/rbi/openai/models/beta/environment.rbi +400 -0
- data/rbi/openai/models/beta/environment_param.rbi +448 -0
- data/rbi/openai/models/beta/hosted_environment_file.rbi +93 -0
- data/rbi/openai/models/beta/hosted_environment_file_id.rbi +86 -0
- data/rbi/openai/models/beta/hosted_environment_file_param.rbi +140 -0
- data/rbi/openai/models/beta/hosted_plugin.rbi +68 -0
- data/rbi/openai/models/beta/hosted_plugin_param.rbi +80 -0
- data/rbi/openai/models/beta/hosted_skill.rbi +84 -0
- data/rbi/openai/models/beta/hosted_skill_param.rbi +152 -0
- data/rbi/openai/models/beta/hosted_skill_reference.rbi +86 -0
- data/rbi/openai/models/beta/inline_capability_source_param.rbi +68 -0
- data/rbi/openai/models/beta/input_content.rbi +124 -0
- data/rbi/openai/models/beta/input_content_param.rbi +122 -0
- data/rbi/openai/models/beta/mcp_transport.rbi +149 -0
- data/rbi/openai/models/beta/mcp_transport_param.rbi +188 -0
- data/rbi/openai/models/beta/multi_agent_config.rbi +61 -0
- data/rbi/openai/models/beta/multi_agent_config_param.rbi +62 -0
- data/rbi/openai/models/beta/output_text.rbi +59 -0
- data/rbi/openai/models/beta/persisted_agent_tool.rbi +507 -0
- data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +546 -0
- data/rbi/openai/models/beta/persisted_mcp_transport.rbi +158 -0
- data/rbi/openai/models/beta/persisted_mcp_transport_param.rbi +164 -0
- data/rbi/openai/models/beta/response_compact_params.rbi +6 -1
- data/rbi/openai/models/beta/response_create_params.rbi +21 -1
- data/rbi/openai/models/beta/session_error.rbi +77 -0
- data/rbi/openai/models/beta/session_turn_error.rbi +131 -0
- data/rbi/openai/models/beta/setup_command_param.rbi +59 -0
- data/rbi/openai/models/beta/subagent.rbi +158 -0
- data/rbi/openai/models/beta/summary_text.rbi +59 -0
- data/rbi/openai/models/beta/text_format.rbi +113 -0
- data/rbi/openai/models/beta/text_format_param.rbi +113 -0
- data/rbi/openai/models/beta/token_usage.rbi +174 -0
- data/rbi/openai/models/beta/web_search_action.rbi +227 -0
- data/rbi/openai/models/chat_model.rbi +3 -1
- data/rbi/openai/models/responses/response_compact_params.rbi +6 -1
- data/rbi/openai/models/responses/response_compaction_compacting_event.rbi +78 -0
- data/rbi/openai/models/responses/response_create_params.rbi +15 -0
- data/rbi/openai/models/responses/response_stream_event.rbi +1 -0
- data/rbi/openai/models/responses/responses_client_event.rbi +15 -0
- data/rbi/openai/models/responses/responses_server_event.rbi +71 -0
- data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +6 -8
- data/rbi/openai/resources/beta/agents/environments/files.rbi +79 -0
- data/rbi/openai/resources/beta/agents/environments/templates.rbi +194 -0
- data/rbi/openai/resources/beta/agents/environments.rbi +44 -0
- data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +105 -0
- data/rbi/openai/resources/beta/agents/sessions/events.rbi +71 -0
- data/rbi/openai/resources/beta/agents/sessions/items.rbi +53 -0
- data/rbi/openai/resources/beta/agents/sessions/subagents/items.rbi +60 -0
- data/rbi/openai/resources/beta/agents/sessions/subagents/turns/items.rbi +67 -0
- data/rbi/openai/resources/beta/agents/sessions/subagents/turns.rbi +85 -0
- data/rbi/openai/resources/beta/agents/sessions/subagents.rbi +74 -0
- data/rbi/openai/resources/beta/agents/sessions/turns.rbi +70 -0
- data/rbi/openai/resources/beta/agents/sessions.rbi +212 -0
- data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +148 -0
- data/rbi/openai/resources/beta/agents/vaults.rbi +106 -0
- data/rbi/openai/resources/beta/agents.rbi +180 -0
- data/rbi/openai/resources/beta.rbi +3 -0
- data/rbi/openai/resources/live/sessions.rbi +10 -4
- data/rbi/openai/resources/responses.rbi +8 -8
- data/responses-websocket.md +117 -10
- data/sig/openai/helpers/agents.rbs +50 -0
- data/sig/openai/helpers/responses_websocket/connection.rbs +5 -0
- data/sig/openai/helpers/responses_websocket/session.rbs +123 -0
- data/sig/openai/internal/token_page.rbs +15 -0
- data/sig/openai/models/beta/agent.rbs +96 -0
- data/sig/openai/models/beta/agent_close_subagent_call_item.rbs +47 -0
- data/sig/openai/models/beta/agent_command_execution_item.rbs +62 -0
- data/sig/openai/models/beta/agent_content.rbs +33 -0
- data/sig/openai/models/beta/agent_create_params.rbs +91 -0
- data/sig/openai/models/beta/agent_create_subagent_call_item.rbs +57 -0
- data/sig/openai/models/beta/agent_delete_params.rbs +25 -0
- data/sig/openai/models/beta/agent_deleted.rbs +24 -0
- data/sig/openai/models/beta/agent_function_call_item.rbs +52 -0
- data/sig/openai/models/beta/agent_function_call_output.rbs +16 -0
- data/sig/openai/models/beta/agent_function_call_output_param.rbs +16 -0
- data/sig/openai/models/beta/agent_function_call_status.rbs +26 -0
- data/sig/openai/models/beta/agent_interrupt_subagent_call_item.rbs +47 -0
- data/sig/openai/models/beta/agent_list_params.rbs +58 -0
- data/sig/openai/models/beta/agent_mcp_call_item.rbs +62 -0
- data/sig/openai/models/beta/agent_output_command_execution_output_delta_event.rbs +52 -0
- data/sig/openai/models/beta/agent_output_item.rbs +25 -0
- data/sig/openai/models/beta/agent_output_item_status.rbs +22 -0
- data/sig/openai/models/beta/agent_reasoning.rbs +60 -0
- data/sig/openai/models/beta/agent_reasoning_item.rbs +42 -0
- data/sig/openai/models/beta/agent_reasoning_param.rbs +60 -0
- data/sig/openai/models/beta/agent_resume_subagent_call_item.rbs +47 -0
- data/sig/openai/models/beta/agent_retrieve_params.rbs +25 -0
- data/sig/openai/models/beta/agent_send_subagent_input_call_item.rbs +52 -0
- data/sig/openai/models/beta/agent_session.rbs +234 -0
- data/sig/openai/models/beta/agent_session_assistant_message.rbs +66 -0
- data/sig/openai/models/beta/agent_session_created_event.rbs +32 -0
- data/sig/openai/models/beta/agent_session_deleted.rbs +28 -0
- data/sig/openai/models/beta/agent_session_environment_connected_event.rbs +42 -0
- data/sig/openai/models/beta/agent_session_environment_disconnected_event.rbs +42 -0
- data/sig/openai/models/beta/agent_session_environment_failed_event.rbs +42 -0
- data/sig/openai/models/beta/agent_session_environment_pending_event.rbs +42 -0
- data/sig/openai/models/beta/agent_session_environment_ready_event.rbs +42 -0
- data/sig/openai/models/beta/agent_session_environment_state.rbs +74 -0
- data/sig/openai/models/beta/agent_session_error_event.rbs +37 -0
- data/sig/openai/models/beta/agent_session_event.rbs +43 -0
- data/sig/openai/models/beta/agent_session_failed_event.rbs +32 -0
- data/sig/openai/models/beta/agent_session_idle_event.rbs +32 -0
- data/sig/openai/models/beta/agent_session_in_progress_event.rbs +32 -0
- data/sig/openai/models/beta/agent_session_input_message_param.rbs +46 -0
- data/sig/openai/models/beta/agent_session_input_param.rbs +91 -0
- data/sig/openai/models/beta/agent_session_item.rbs +116 -0
- data/sig/openai/models/beta/agent_session_message.rbs +77 -0
- data/sig/openai/models/beta/agent_session_message_content.rbs +52 -0
- data/sig/openai/models/beta/agent_session_requires_action_event.rbs +32 -0
- data/sig/openai/models/beta/agent_session_subagent_active_event.rbs +32 -0
- data/sig/openai/models/beta/agent_session_subagent_closed_event.rbs +32 -0
- data/sig/openai/models/beta/agent_session_subagent_created_event.rbs +32 -0
- data/sig/openai/models/beta/agent_session_turn_cancelled_event.rbs +47 -0
- data/sig/openai/models/beta/agent_session_turn_completed_event.rbs +47 -0
- data/sig/openai/models/beta/agent_session_turn_content_part_added_event.rbs +57 -0
- data/sig/openai/models/beta/agent_session_turn_content_part_done_event.rbs +57 -0
- data/sig/openai/models/beta/agent_session_turn_created_event.rbs +42 -0
- data/sig/openai/models/beta/agent_session_turn_failed_event.rbs +47 -0
- data/sig/openai/models/beta/agent_session_turn_in_progress_event.rbs +42 -0
- data/sig/openai/models/beta/agent_session_turn_item_added_event.rbs +47 -0
- data/sig/openai/models/beta/agent_session_turn_item_done_event.rbs +47 -0
- data/sig/openai/models/beta/agent_session_turn_output_text_delta_event.rbs +57 -0
- data/sig/openai/models/beta/agent_session_turn_output_text_done_event.rbs +57 -0
- data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbs +57 -0
- data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbs +64 -0
- data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbs +57 -0
- data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbs +57 -0
- data/sig/openai/models/beta/agent_text.rbs +39 -0
- data/sig/openai/models/beta/agent_text_param.rbs +44 -0
- data/sig/openai/models/beta/agent_tool.rbs +226 -0
- data/sig/openai/models/beta/agent_tool_param.rbs +251 -0
- data/sig/openai/models/beta/agent_update_params.rbs +98 -0
- data/sig/openai/models/beta/agent_wait_for_subagents_call_item.rbs +47 -0
- data/sig/openai/models/beta/agent_web_search_call_item.rbs +42 -0
- data/sig/openai/models/beta/agents/environment_info.rbs +80 -0
- data/sig/openai/models/beta/agents/environment_retrieve_params.rbs +27 -0
- data/sig/openai/models/beta/agents/environments/environment_file.rbs +43 -0
- data/sig/openai/models/beta/agents/environments/environment_template.rbs +255 -0
- data/sig/openai/models/beta/agents/environments/environment_template_deleted.rbs +38 -0
- data/sig/openai/models/beta/agents/environments/file_create_params.rbs +29 -0
- data/sig/openai/models/beta/agents/environments/file_list_params.rbs +72 -0
- data/sig/openai/models/beta/agents/environments/template_create_params.rbs +138 -0
- data/sig/openai/models/beta/agents/environments/template_delete_params.rbs +32 -0
- data/sig/openai/models/beta/agents/environments/template_list_params.rbs +64 -0
- data/sig/openai/models/beta/agents/environments/template_retrieve_params.rbs +32 -0
- data/sig/openai/models/beta/agents/environments/template_update_params.rbs +143 -0
- data/sig/openai/models/beta/agents/session_create_params.rbs +144 -0
- data/sig/openai/models/beta/agents/session_delete_params.rbs +27 -0
- data/sig/openai/models/beta/agents/session_list_params.rbs +67 -0
- data/sig/openai/models/beta/agents/session_retrieve_params.rbs +27 -0
- data/sig/openai/models/beta/agents/session_update_params.rbs +134 -0
- data/sig/openai/models/beta/agents/sessions/artifact_content_params.rbs +37 -0
- data/sig/openai/models/beta/agents/sessions/artifact_delete_params.rbs +37 -0
- data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +70 -0
- data/sig/openai/models/beta/agents/sessions/artifact_retrieve_params.rbs +37 -0
- data/sig/openai/models/beta/agents/sessions/event_create_params.rbs +44 -0
- data/sig/openai/models/beta/agents/sessions/event_stream_params.rbs +29 -0
- data/sig/openai/models/beta/agents/sessions/item_list_params.rbs +69 -0
- data/sig/openai/models/beta/agents/sessions/session_artifact.rbs +63 -0
- data/sig/openai/models/beta/agents/sessions/session_artifact_deleted.rbs +38 -0
- data/sig/openai/models/beta/agents/sessions/subagent_list_params.rbs +69 -0
- data/sig/openai/models/beta/agents/sessions/subagent_retrieve_params.rbs +37 -0
- data/sig/openai/models/beta/agents/sessions/subagents/item_list_params.rbs +76 -0
- data/sig/openai/models/beta/agents/sessions/subagents/turn_list_params.rbs +76 -0
- data/sig/openai/models/beta/agents/sessions/subagents/turn_retrieve_params.rbs +44 -0
- data/sig/openai/models/beta/agents/sessions/subagents/turns/item_list_params.rbs +83 -0
- data/sig/openai/models/beta/agents/sessions/turn.rbs +108 -0
- data/sig/openai/models/beta/agents/sessions/turn_list_params.rbs +69 -0
- data/sig/openai/models/beta/agents/sessions/turn_retrieve_params.rbs +37 -0
- data/sig/openai/models/beta/agents/vault.rbs +44 -0
- data/sig/openai/models/beta/agents/vault_create_params.rbs +37 -0
- data/sig/openai/models/beta/agents/vault_delete_params.rbs +27 -0
- data/sig/openai/models/beta/agents/vault_deleted.rbs +30 -0
- data/sig/openai/models/beta/agents/vault_list_params.rbs +69 -0
- data/sig/openai/models/beta/agents/vault_retrieve_params.rbs +27 -0
- data/sig/openai/models/beta/agents/vault_status.rbs +18 -0
- data/sig/openai/models/beta/agents/vault_status_filter.rbs +19 -0
- data/sig/openai/models/beta/agents/vaults/credential.rbs +56 -0
- data/sig/openai/models/beta/agents/vaults/credential_auth.rbs +104 -0
- data/sig/openai/models/beta/agents/vaults/credential_auth_create_param.rbs +121 -0
- data/sig/openai/models/beta/agents/vaults/credential_auth_rotate_param.rbs +90 -0
- data/sig/openai/models/beta/agents/vaults/credential_create_params.rbs +42 -0
- data/sig/openai/models/beta/agents/vaults/credential_delete_params.rbs +37 -0
- data/sig/openai/models/beta/agents/vaults/credential_deleted.rbs +32 -0
- data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +76 -0
- data/sig/openai/models/beta/agents/vaults/credential_retrieve_params.rbs +37 -0
- data/sig/openai/models/beta/agents/vaults/credential_update_params.rbs +42 -0
- data/sig/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth.rbs +50 -0
- data/sig/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_create_param.rbs +68 -0
- data/sig/openai/models/beta/agents/vaults/mcp_oauth_token_endpoint_auth_rotate_param.rbs +57 -0
- data/sig/openai/models/beta/beta_response.rbs +6 -2
- data/sig/openai/models/beta/beta_response_compaction_compacting_event.rbs +58 -0
- data/sig/openai/models/beta/beta_response_stream_event.rbs +1 -0
- data/sig/openai/models/beta/beta_responses_client_event.rbs +13 -2
- data/sig/openai/models/beta/beta_responses_server_event.rbs +35 -0
- data/sig/openai/models/beta/environment.rbs +181 -0
- data/sig/openai/models/beta/environment_param.rbs +183 -0
- data/sig/openai/models/beta/hosted_environment_file.rbs +42 -0
- data/sig/openai/models/beta/hosted_environment_file_id.rbs +42 -0
- data/sig/openai/models/beta/hosted_environment_file_param.rbs +47 -0
- data/sig/openai/models/beta/hosted_plugin.rbs +23 -0
- data/sig/openai/models/beta/hosted_plugin_param.rbs +37 -0
- data/sig/openai/models/beta/hosted_skill.rbs +32 -0
- data/sig/openai/models/beta/hosted_skill_param.rbs +70 -0
- data/sig/openai/models/beta/hosted_skill_reference.rbs +42 -0
- data/sig/openai/models/beta/inline_capability_source_param.rbs +28 -0
- data/sig/openai/models/beta/input_content.rbs +39 -0
- data/sig/openai/models/beta/input_content_param.rbs +39 -0
- data/sig/openai/models/beta/mcp_transport.rbs +63 -0
- data/sig/openai/models/beta/mcp_transport_param.rbs +89 -0
- data/sig/openai/models/beta/multi_agent_config.rbs +21 -0
- data/sig/openai/models/beta/multi_agent_config_param.rbs +23 -0
- data/sig/openai/models/beta/output_text.rbs +17 -0
- data/sig/openai/models/beta/persisted_agent_tool.rbs +237 -0
- data/sig/openai/models/beta/persisted_agent_tool_param.rbs +251 -0
- data/sig/openai/models/beta/persisted_mcp_transport.rbs +75 -0
- data/sig/openai/models/beta/persisted_mcp_transport_param.rbs +79 -0
- data/sig/openai/models/beta/response_compact_params.rbs +6 -2
- data/sig/openai/models/beta/response_create_params.rbs +13 -2
- data/sig/openai/models/beta/session_error.rbs +32 -0
- data/sig/openai/models/beta/session_turn_error.rbs +100 -0
- data/sig/openai/models/beta/setup_command_param.rbs +17 -0
- data/sig/openai/models/beta/subagent.rbs +76 -0
- data/sig/openai/models/beta/summary_text.rbs +17 -0
- data/sig/openai/models/beta/text_format.rbs +39 -0
- data/sig/openai/models/beta/text_format_param.rbs +40 -0
- data/sig/openai/models/beta/token_usage.rbs +62 -0
- data/sig/openai/models/beta/web_search_action.rbs +85 -0
- data/sig/openai/models/chat_model.rbs +6 -2
- data/sig/openai/models/responses/response_compact_params.rbs +6 -2
- data/sig/openai/models/responses/response_compaction_compacting_event.rbs +37 -0
- data/sig/openai/models/responses/response_create_params.rbs +7 -0
- data/sig/openai/models/responses/response_stream_event.rbs +1 -0
- data/sig/openai/models/responses/responses_client_event.rbs +7 -0
- data/sig/openai/models/responses/responses_server_event.rbs +32 -0
- data/sig/openai/resources/beta/agents/environments/files.rbs +28 -0
- data/sig/openai/resources/beta/agents/environments/templates.rbs +57 -0
- data/sig/openai/resources/beta/agents/environments.rbs +20 -0
- data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +40 -0
- data/sig/openai/resources/beta/agents/sessions/events.rbs +25 -0
- data/sig/openai/resources/beta/agents/sessions/items.rbs +21 -0
- data/sig/openai/resources/beta/agents/sessions/subagents/items.rbs +24 -0
- data/sig/openai/resources/beta/agents/sessions/subagents/turns/items.rbs +27 -0
- data/sig/openai/resources/beta/agents/sessions/subagents/turns.rbs +33 -0
- data/sig/openai/resources/beta/agents/sessions/subagents.rbs +31 -0
- data/sig/openai/resources/beta/agents/sessions/turns.rbs +27 -0
- data/sig/openai/resources/beta/agents/sessions.rbs +66 -0
- data/sig/openai/resources/beta/agents/vaults/credentials.rbs +48 -0
- data/sig/openai/resources/beta/agents/vaults.rbs +37 -0
- data/sig/openai/resources/beta/agents.rbs +59 -0
- data/sig/openai/resources/beta.rbs +2 -0
- 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://
|
|
634
|
-
# [image](https://
|
|
635
|
-
# [text](https://
|
|
636
|
-
# [JSON](https://
|
|
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://
|
|
639
|
-
# built-in [tools](https://
|
|
640
|
-
# [web search](https://
|
|
641
|
-
# [file search](https://
|
|
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(
|
data/responses-websocket.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Responses WebSocket workflows
|
|
2
2
|
|
|
3
|
-
|
|
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"
|
|
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
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
`
|
|
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
|