openai 0.67.0 → 0.69.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 +31 -0
- data/README.md +7 -7
- data/lib/openai/internal/type/enum.rb +6 -6
- data/lib/openai/internal/util.rb +14 -2
- data/lib/openai/models/beta/assistant_create_params.rb +7 -14
- data/lib/openai/models/beta/assistant_update_params.rb +7 -14
- data/lib/openai/models/beta/beta_apply_patch_tool.rb +44 -0
- data/lib/openai/models/beta/beta_compacted_response.rb +58 -0
- data/lib/openai/models/beta/beta_computer_action.rb +398 -0
- data/lib/openai/models/beta/beta_computer_action_list.rb +13 -0
- data/lib/openai/models/beta/beta_computer_tool.rb +23 -0
- data/lib/openai/models/beta/beta_computer_use_preview_tool.rb +63 -0
- data/lib/openai/models/beta/beta_container_auto.rb +96 -0
- data/lib/openai/models/beta/beta_container_network_policy_allowlist.rb +37 -0
- data/lib/openai/models/beta/beta_container_network_policy_disabled.rb +20 -0
- data/lib/openai/models/beta/beta_container_network_policy_domain_secret.rb +36 -0
- data/lib/openai/models/beta/beta_container_reference.rb +28 -0
- data/lib/openai/models/beta/beta_custom_tool.rb +148 -0
- data/lib/openai/models/beta/beta_easy_input_message.rb +120 -0
- data/lib/openai/models/beta/beta_file_search_tool.rb +424 -0
- data/lib/openai/models/beta/beta_function_shell_tool.rb +67 -0
- data/lib/openai/models/beta/beta_function_tool.rb +97 -0
- data/lib/openai/models/beta/beta_inline_skill.rb +44 -0
- data/lib/openai/models/beta/beta_inline_skill_source.rb +38 -0
- data/lib/openai/models/beta/beta_local_environment.rb +28 -0
- data/lib/openai/models/beta/beta_local_skill.rb +36 -0
- data/lib/openai/models/beta/beta_namespace_tool.rb +146 -0
- data/lib/openai/models/beta/beta_response.rb +1425 -0
- data/lib/openai/models/beta/beta_response_apply_patch_tool_call.rb +258 -0
- data/lib/openai/models/beta/beta_response_apply_patch_tool_call_output.rb +156 -0
- data/lib/openai/models/beta/beta_response_audio_delta_event.rb +63 -0
- data/lib/openai/models/beta/beta_response_audio_done_event.rb +55 -0
- data/lib/openai/models/beta/beta_response_audio_transcript_delta_event.rb +63 -0
- data/lib/openai/models/beta/beta_response_audio_transcript_done_event.rb +55 -0
- data/lib/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rb +81 -0
- data/lib/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rb +76 -0
- data/lib/openai/models/beta/beta_response_code_interpreter_call_completed_event.rb +73 -0
- data/lib/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rb +77 -0
- data/lib/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rb +77 -0
- data/lib/openai/models/beta/beta_response_code_interpreter_tool_call.rb +168 -0
- data/lib/openai/models/beta/beta_response_compaction_item.rb +69 -0
- data/lib/openai/models/beta/beta_response_compaction_item_param.rb +61 -0
- data/lib/openai/models/beta/beta_response_completed_event.rb +63 -0
- data/lib/openai/models/beta/beta_response_computer_tool_call.rb +156 -0
- data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +141 -0
- data/lib/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rb +43 -0
- data/lib/openai/models/beta/beta_response_container_reference.rb +29 -0
- data/lib/openai/models/beta/beta_response_content.rb +56 -0
- data/lib/openai/models/beta/beta_response_content_part_added_event.rb +129 -0
- data/lib/openai/models/beta/beta_response_content_part_done_event.rb +129 -0
- data/lib/openai/models/beta/beta_response_conversation_param.rb +22 -0
- data/lib/openai/models/beta/beta_response_created_event.rb +63 -0
- data/lib/openai/models/beta/beta_response_custom_tool_call.rb +142 -0
- data/lib/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rb +76 -0
- data/lib/openai/models/beta/beta_response_custom_tool_call_input_done_event.rb +76 -0
- data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +55 -0
- data/lib/openai/models/beta/beta_response_custom_tool_call_output.rb +171 -0
- data/lib/openai/models/beta/beta_response_custom_tool_call_output_item.rb +55 -0
- data/lib/openai/models/beta/beta_response_error.rb +63 -0
- data/lib/openai/models/beta/beta_response_error_event.rb +79 -0
- data/lib/openai/models/beta/beta_response_failed_event.rb +63 -0
- data/lib/openai/models/beta/beta_response_file_search_call_completed_event.rb +72 -0
- data/lib/openai/models/beta/beta_response_file_search_call_in_progress_event.rb +72 -0
- data/lib/openai/models/beta/beta_response_file_search_call_searching_event.rb +72 -0
- data/lib/openai/models/beta/beta_response_file_search_tool_call.rb +168 -0
- data/lib/openai/models/beta/beta_response_format_text_config.rb +72 -0
- data/lib/openai/models/beta/beta_response_format_text_json_schema_config.rb +66 -0
- data/lib/openai/models/beta/beta_response_function_call_arguments_delta_event.rb +80 -0
- data/lib/openai/models/beta/beta_response_function_call_arguments_done_event.rb +83 -0
- data/lib/openai/models/beta/beta_response_function_call_output_item.rb +28 -0
- data/lib/openai/models/beta/beta_response_function_call_output_item_list.rb +14 -0
- data/lib/openai/models/beta/beta_response_function_shell_call_output_content.rb +90 -0
- data/lib/openai/models/beta/beta_response_function_shell_tool_call.rb +216 -0
- data/lib/openai/models/beta/beta_response_function_shell_tool_call_output.rb +265 -0
- data/lib/openai/models/beta/beta_response_function_tool_call.rb +168 -0
- data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +57 -0
- data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +201 -0
- data/lib/openai/models/beta/beta_response_function_web_search.rb +238 -0
- data/lib/openai/models/beta/beta_response_image_gen_call_completed_event.rb +69 -0
- data/lib/openai/models/beta/beta_response_image_gen_call_generating_event.rb +69 -0
- data/lib/openai/models/beta/beta_response_image_gen_call_in_progress_event.rb +68 -0
- data/lib/openai/models/beta/beta_response_image_gen_call_partial_image_event.rb +89 -0
- data/lib/openai/models/beta/beta_response_in_progress_event.rb +63 -0
- data/lib/openai/models/beta/beta_response_includable.rb +45 -0
- data/lib/openai/models/beta/beta_response_incomplete_event.rb +63 -0
- data/lib/openai/models/beta/beta_response_inject_created_event.rb +51 -0
- data/lib/openai/models/beta/beta_response_inject_event.rb +40 -0
- data/lib/openai/models/beta/beta_response_inject_failed_event.rb +103 -0
- data/lib/openai/models/beta/beta_response_input.rb +13 -0
- data/lib/openai/models/beta/beta_response_input_audio.rb +70 -0
- data/lib/openai/models/beta/beta_response_input_content.rb +28 -0
- data/lib/openai/models/beta/beta_response_input_file.rb +113 -0
- data/lib/openai/models/beta/beta_response_input_file_content.rb +115 -0
- data/lib/openai/models/beta/beta_response_input_image.rb +94 -0
- data/lib/openai/models/beta/beta_response_input_image_content.rb +96 -0
- data/lib/openai/models/beta/beta_response_input_item.rb +2819 -0
- data/lib/openai/models/beta/beta_response_input_message_content_list.rb +14 -0
- data/lib/openai/models/beta/beta_response_input_message_item.rb +108 -0
- data/lib/openai/models/beta/beta_response_input_text.rb +59 -0
- data/lib/openai/models/beta/beta_response_input_text_content.rb +61 -0
- data/lib/openai/models/beta/beta_response_item.rb +1438 -0
- data/lib/openai/models/beta/beta_response_local_environment.rb +22 -0
- data/lib/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rb +81 -0
- data/lib/openai/models/beta/beta_response_mcp_call_arguments_done_event.rb +79 -0
- data/lib/openai/models/beta/beta_response_mcp_call_completed_event.rb +68 -0
- data/lib/openai/models/beta/beta_response_mcp_call_failed_event.rb +68 -0
- data/lib/openai/models/beta/beta_response_mcp_call_in_progress_event.rb +68 -0
- data/lib/openai/models/beta/beta_response_mcp_list_tools_completed_event.rb +68 -0
- data/lib/openai/models/beta/beta_response_mcp_list_tools_failed_event.rb +68 -0
- data/lib/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rb +69 -0
- data/lib/openai/models/beta/beta_response_output_audio.rb +41 -0
- data/lib/openai/models/beta/beta_response_output_item.rb +1444 -0
- data/lib/openai/models/beta/beta_response_output_item_added_event.rb +71 -0
- data/lib/openai/models/beta/beta_response_output_item_done_event.rb +71 -0
- data/lib/openai/models/beta/beta_response_output_message.rb +139 -0
- data/lib/openai/models/beta/beta_response_output_refusal.rb +30 -0
- data/lib/openai/models/beta/beta_response_output_text.rb +292 -0
- data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +92 -0
- data/lib/openai/models/beta/beta_response_prompt.rb +65 -0
- data/lib/openai/models/beta/beta_response_queued_event.rb +60 -0
- data/lib/openai/models/beta/beta_response_reasoning_item.rb +151 -0
- data/lib/openai/models/beta/beta_response_reasoning_summary_part_added_event.rb +110 -0
- data/lib/openai/models/beta/beta_response_reasoning_summary_part_done_event.rb +132 -0
- data/lib/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rb +88 -0
- data/lib/openai/models/beta/beta_response_reasoning_summary_text_done_event.rb +88 -0
- data/lib/openai/models/beta/beta_response_reasoning_text_delta_event.rb +87 -0
- data/lib/openai/models/beta/beta_response_reasoning_text_done_event.rb +87 -0
- data/lib/openai/models/beta/beta_response_refusal_delta_event.rb +87 -0
- data/lib/openai/models/beta/beta_response_refusal_done_event.rb +87 -0
- data/lib/openai/models/beta/beta_response_status.rb +25 -0
- data/lib/openai/models/beta/beta_response_stream_event.rb +203 -0
- data/lib/openai/models/beta/beta_response_text_config.rb +67 -0
- data/lib/openai/models/beta/beta_response_text_delta_event.rb +150 -0
- data/lib/openai/models/beta/beta_response_text_done_event.rb +150 -0
- data/lib/openai/models/beta/beta_response_tool_search_call.rb +117 -0
- data/lib/openai/models/beta/beta_response_tool_search_output_item.rb +117 -0
- data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +109 -0
- data/lib/openai/models/beta/beta_response_usage.rb +95 -0
- data/lib/openai/models/beta/beta_response_web_search_call_completed_event.rb +72 -0
- data/lib/openai/models/beta/beta_response_web_search_call_in_progress_event.rb +72 -0
- data/lib/openai/models/beta/beta_response_web_search_call_searching_event.rb +72 -0
- data/lib/openai/models/beta/beta_responses_client_event.rb +1432 -0
- data/lib/openai/models/beta/beta_responses_server_event.rb +212 -0
- data/lib/openai/models/beta/beta_skill_reference.rb +36 -0
- data/lib/openai/models/beta/beta_tool.rb +910 -0
- data/lib/openai/models/beta/beta_tool_choice_allowed.rb +75 -0
- data/lib/openai/models/beta/beta_tool_choice_apply_patch.rb +22 -0
- data/lib/openai/models/beta/beta_tool_choice_custom.rb +30 -0
- data/lib/openai/models/beta/beta_tool_choice_function.rb +30 -0
- data/lib/openai/models/beta/beta_tool_choice_mcp.rb +42 -0
- data/lib/openai/models/beta/beta_tool_choice_options.rb +28 -0
- data/lib/openai/models/beta/beta_tool_choice_shell.rb +22 -0
- data/lib/openai/models/beta/beta_tool_choice_types.rb +67 -0
- data/lib/openai/models/beta/beta_tool_search_tool.rb +59 -0
- data/lib/openai/models/beta/beta_web_search_preview_tool.rb +143 -0
- data/lib/openai/models/beta/beta_web_search_tool.rb +162 -0
- data/lib/openai/models/beta/response_cancel_params.rb +37 -0
- data/lib/openai/models/beta/response_compact_params.rb +549 -0
- data/lib/openai/models/beta/response_create_params.rb +1343 -0
- data/lib/openai/models/beta/response_delete_params.rb +37 -0
- data/lib/openai/models/beta/response_retrieve_params.rb +74 -0
- data/lib/openai/models/beta/responses/beta_response_item_list.rb +54 -0
- data/lib/openai/models/beta/responses/input_item_list_params.rb +96 -0
- data/lib/openai/models/beta/responses/input_token_count_params.rb +542 -0
- data/lib/openai/models/beta/responses/input_token_count_response.rb +26 -0
- data/lib/openai/models/beta/threads/run_create_params.rb +7 -14
- data/lib/openai/models/chat/chat_completion_content_part.rb +31 -1
- data/lib/openai/models/chat/chat_completion_content_part_image.rb +31 -1
- data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +31 -1
- data/lib/openai/models/chat/chat_completion_content_part_text.rb +31 -1
- data/lib/openai/models/chat/completion_create_params.rb +200 -19
- data/lib/openai/models/chat_model.rb +3 -0
- data/lib/openai/models/completion_usage.rb +9 -1
- data/lib/openai/models/conversations/computer_screenshot_content.rb +28 -1
- data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
- data/lib/openai/models/conversations/conversation_item.rb +106 -3
- data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
- data/lib/openai/models/conversations/item_create_params.rb +2 -2
- data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +7 -14
- data/lib/openai/models/evals/run_cancel_response.rb +16 -30
- data/lib/openai/models/evals/run_create_params.rb +16 -30
- data/lib/openai/models/evals/run_create_response.rb +16 -30
- data/lib/openai/models/evals/run_list_response.rb +16 -30
- data/lib/openai/models/evals/run_retrieve_response.rb +16 -30
- data/lib/openai/models/graders/score_model_grader.rb +7 -14
- data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +39 -8
- data/lib/openai/models/realtime/realtime_session_create_request.rb +6 -0
- data/lib/openai/models/realtime/realtime_session_create_response.rb +45 -8
- data/lib/openai/models/realtime/realtime_tools_config_union.rb +39 -8
- data/lib/openai/models/reasoning.rb +47 -15
- data/lib/openai/models/reasoning_effort.rb +7 -13
- data/lib/openai/models/responses/apply_patch_tool.rb +23 -1
- data/lib/openai/models/responses/compacted_response.rb +2 -2
- data/lib/openai/models/responses/custom_tool.rb +21 -1
- data/lib/openai/models/responses/function_shell_tool.rb +23 -1
- data/lib/openai/models/responses/function_tool.rb +32 -3
- data/lib/openai/models/responses/input_token_count_params.rb +21 -8
- data/lib/openai/models/responses/namespace_tool.rb +41 -2
- data/lib/openai/models/responses/response.rb +98 -14
- data/lib/openai/models/responses/response_apply_patch_tool_call.rb +56 -1
- data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +56 -1
- data/lib/openai/models/responses/response_compact_params.rb +107 -4
- data/lib/openai/models/responses/response_create_params.rb +214 -13
- data/lib/openai/models/responses/response_custom_tool_call.rb +56 -1
- data/lib/openai/models/responses/response_custom_tool_call_output.rb +58 -1
- data/lib/openai/models/responses/response_error.rb +1 -0
- data/lib/openai/models/responses/response_function_shell_tool_call.rb +56 -1
- data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +56 -1
- data/lib/openai/models/responses/response_function_tool_call.rb +56 -1
- data/lib/openai/models/responses/response_function_tool_call_output_item.rb +58 -1
- data/lib/openai/models/responses/response_input_file.rb +39 -8
- data/lib/openai/models/responses/response_input_file_content.rb +41 -8
- data/lib/openai/models/responses/response_input_image.rb +27 -1
- data/lib/openai/models/responses/response_input_image_content.rb +29 -1
- data/lib/openai/models/responses/response_input_item.rb +396 -8
- data/lib/openai/models/responses/response_input_text.rb +30 -1
- data/lib/openai/models/responses/response_input_text_content.rb +32 -1
- data/lib/openai/models/responses/response_item.rb +106 -3
- data/lib/openai/models/responses/response_item_list.rb +2 -2
- data/lib/openai/models/responses/response_output_item.rb +106 -3
- data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
- data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
- data/lib/openai/models/responses/response_reasoning_summary_part_done_event.rb +23 -1
- data/lib/openai/models/responses/response_tool_search_output_item.rb +2 -2
- data/lib/openai/models/responses/response_tool_search_output_item_param.rb +2 -2
- data/lib/openai/models/responses/response_usage.rb +9 -1
- data/lib/openai/models/responses/responses_client_event.rb +215 -13
- data/lib/openai/models/responses/tool.rb +74 -10
- data/lib/openai/models/video_create_params.rb +1 -0
- data/lib/openai/models/video_edit_params.rb +2 -2
- data/lib/openai/models/webhooks/safety_identifier_blocked_webhook_event.rb +118 -0
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
- data/lib/openai/resources/beta/assistants.rb +2 -2
- data/lib/openai/resources/beta/responses/input_items.rb +58 -0
- data/lib/openai/resources/beta/responses/input_tokens.rb +73 -0
- data/lib/openai/resources/beta/responses.rb +440 -0
- data/lib/openai/resources/beta/threads/runs.rb +2 -2
- data/lib/openai/resources/beta.rb +4 -0
- data/lib/openai/resources/chat/completions.rb +10 -6
- data/lib/openai/resources/conversations/items.rb +3 -3
- data/lib/openai/resources/conversations.rb +1 -1
- data/lib/openai/resources/responses/input_items.rb +1 -1
- data/lib/openai/resources/responses/input_tokens.rb +3 -3
- data/lib/openai/resources/responses.rb +22 -12
- data/lib/openai/resources/webhooks.rb +1 -1
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +163 -0
- data/rbi/openai/models/beta/assistant_create_params.rbi +12 -26
- data/rbi/openai/models/beta/assistant_update_params.rbi +12 -26
- data/rbi/openai/models/beta/beta_apply_patch_tool.rbi +99 -0
- data/rbi/openai/models/beta/beta_compacted_response.rbi +120 -0
- data/rbi/openai/models/beta/beta_computer_action.rbi +593 -0
- data/rbi/openai/models/beta/beta_computer_action_list.rbi +18 -0
- data/rbi/openai/models/beta/beta_computer_tool.rbi +33 -0
- data/rbi/openai/models/beta/beta_computer_use_preview_tool.rbi +126 -0
- data/rbi/openai/models/beta/beta_container_auto.rbi +231 -0
- data/rbi/openai/models/beta/beta_container_network_policy_allowlist.rbi +81 -0
- data/rbi/openai/models/beta/beta_container_network_policy_disabled.rbi +35 -0
- data/rbi/openai/models/beta/beta_container_network_policy_domain_secret.rbi +53 -0
- data/rbi/openai/models/beta/beta_container_reference.rbi +42 -0
- data/rbi/openai/models/beta/beta_custom_tool.rbi +302 -0
- data/rbi/openai/models/beta/beta_easy_input_message.rbi +211 -0
- data/rbi/openai/models/beta/beta_file_search_tool.rbi +863 -0
- data/rbi/openai/models/beta/beta_function_shell_tool.rbi +155 -0
- data/rbi/openai/models/beta/beta_function_tool.rbi +154 -0
- data/rbi/openai/models/beta/beta_inline_skill.rbi +68 -0
- data/rbi/openai/models/beta/beta_inline_skill_source.rbi +53 -0
- data/rbi/openai/models/beta/beta_local_environment.rbi +51 -0
- data/rbi/openai/models/beta/beta_local_skill.rbi +49 -0
- data/rbi/openai/models/beta/beta_namespace_tool.rbi +252 -0
- data/rbi/openai/models/beta/beta_response.rbi +2495 -0
- data/rbi/openai/models/beta/beta_response_apply_patch_tool_call.rbi +431 -0
- data/rbi/openai/models/beta/beta_response_apply_patch_tool_call_output.rbi +277 -0
- data/rbi/openai/models/beta/beta_response_audio_delta_event.rbi +110 -0
- data/rbi/openai/models/beta/beta_response_audio_done_event.rbi +100 -0
- data/rbi/openai/models/beta/beta_response_audio_transcript_delta_event.rbi +118 -0
- data/rbi/openai/models/beta/beta_response_audio_transcript_done_event.rbi +108 -0
- data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbi +136 -0
- data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbi +134 -0
- data/rbi/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbi +128 -0
- data/rbi/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbi +128 -0
- data/rbi/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbi +128 -0
- data/rbi/openai/models/beta/beta_response_code_interpreter_tool_call.rbi +315 -0
- data/rbi/openai/models/beta/beta_response_compaction_item.rbi +116 -0
- data/rbi/openai/models/beta/beta_response_compaction_item_param.rbi +114 -0
- data/rbi/openai/models/beta/beta_response_completed_event.rbi +111 -0
- data/rbi/openai/models/beta/beta_response_computer_tool_call.rbi +404 -0
- data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +296 -0
- data/rbi/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbi +62 -0
- data/rbi/openai/models/beta/beta_response_container_reference.rbi +41 -0
- data/rbi/openai/models/beta/beta_response_content.rbi +66 -0
- data/rbi/openai/models/beta/beta_response_content_part_added_event.rbi +205 -0
- data/rbi/openai/models/beta/beta_response_content_part_done_event.rbi +203 -0
- data/rbi/openai/models/beta/beta_response_conversation_param.rbi +35 -0
- data/rbi/openai/models/beta/beta_response_created_event.rbi +109 -0
- data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +242 -0
- data/rbi/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbi +134 -0
- data/rbi/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbi +134 -0
- data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +113 -0
- data/rbi/openai/models/beta/beta_response_custom_tool_call_output.rbi +303 -0
- data/rbi/openai/models/beta/beta_response_custom_tool_call_output_item.rbi +114 -0
- data/rbi/openai/models/beta/beta_response_error.rbi +165 -0
- data/rbi/openai/models/beta/beta_response_error_event.rbi +120 -0
- data/rbi/openai/models/beta/beta_response_failed_event.rbi +107 -0
- data/rbi/openai/models/beta/beta_response_file_search_call_completed_event.rbi +126 -0
- data/rbi/openai/models/beta/beta_response_file_search_call_in_progress_event.rbi +126 -0
- data/rbi/openai/models/beta/beta_response_file_search_call_searching_event.rbi +126 -0
- data/rbi/openai/models/beta/beta_response_file_search_tool_call.rbi +328 -0
- data/rbi/openai/models/beta/beta_response_format_text_config.rbi +97 -0
- data/rbi/openai/models/beta/beta_response_format_text_json_schema_config.rbi +97 -0
- data/rbi/openai/models/beta/beta_response_function_call_arguments_delta_event.rbi +134 -0
- data/rbi/openai/models/beta/beta_response_function_call_arguments_done_event.rbi +140 -0
- data/rbi/openai/models/beta/beta_response_function_call_output_item.rbi +32 -0
- data/rbi/openai/models/beta/beta_response_function_call_output_item_list.rbi +21 -0
- data/rbi/openai/models/beta/beta_response_function_shell_call_output_content.rbi +160 -0
- data/rbi/openai/models/beta/beta_response_function_shell_tool_call.rbi +389 -0
- data/rbi/openai/models/beta/beta_response_function_shell_tool_call_output.rbi +470 -0
- data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +310 -0
- data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +115 -0
- data/rbi/openai/models/beta/beta_response_function_tool_call_output_item.rbi +364 -0
- data/rbi/openai/models/beta/beta_response_function_web_search.rbi +416 -0
- data/rbi/openai/models/beta/beta_response_image_gen_call_completed_event.rbi +127 -0
- data/rbi/openai/models/beta/beta_response_image_gen_call_generating_event.rbi +127 -0
- data/rbi/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbi +126 -0
- data/rbi/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbi +144 -0
- data/rbi/openai/models/beta/beta_response_in_progress_event.rbi +113 -0
- data/rbi/openai/models/beta/beta_response_includable.rbi +86 -0
- data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +113 -0
- data/rbi/openai/models/beta/beta_response_inject_created_event.rbi +75 -0
- data/rbi/openai/models/beta/beta_response_inject_event.rbi +183 -0
- data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +304 -0
- data/rbi/openai/models/beta/beta_response_input.rbi +18 -0
- data/rbi/openai/models/beta/beta_response_input_audio.rbi +144 -0
- data/rbi/openai/models/beta/beta_response_input_content.rbi +31 -0
- data/rbi/openai/models/beta/beta_response_input_file.rbi +210 -0
- data/rbi/openai/models/beta/beta_response_input_file_content.rbi +211 -0
- data/rbi/openai/models/beta/beta_response_input_image.rbi +173 -0
- data/rbi/openai/models/beta/beta_response_input_image_content.rbi +191 -0
- data/rbi/openai/models/beta/beta_response_input_item.rbi +5505 -0
- data/rbi/openai/models/beta/beta_response_input_message_content_list.rbi +21 -0
- data/rbi/openai/models/beta/beta_response_input_message_item.rbi +235 -0
- data/rbi/openai/models/beta/beta_response_input_text.rbi +109 -0
- data/rbi/openai/models/beta/beta_response_input_text_content.rbi +115 -0
- data/rbi/openai/models/beta/beta_response_item.rbi +2592 -0
- data/rbi/openai/models/beta/beta_response_local_environment.rbi +35 -0
- data/rbi/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbi +137 -0
- data/rbi/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbi +134 -0
- data/rbi/openai/models/beta/beta_response_mcp_call_completed_event.rbi +123 -0
- data/rbi/openai/models/beta/beta_response_mcp_call_failed_event.rbi +121 -0
- data/rbi/openai/models/beta/beta_response_mcp_call_in_progress_event.rbi +124 -0
- data/rbi/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbi +126 -0
- data/rbi/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbi +124 -0
- data/rbi/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbi +127 -0
- data/rbi/openai/models/beta/beta_response_output_audio.rbi +53 -0
- data/rbi/openai/models/beta/beta_response_output_item.rbi +2627 -0
- data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +154 -0
- data/rbi/openai/models/beta/beta_response_output_item_done_event.rbi +154 -0
- data/rbi/openai/models/beta/beta_response_output_message.rbi +267 -0
- data/rbi/openai/models/beta/beta_response_output_refusal.rbi +41 -0
- data/rbi/openai/models/beta/beta_response_output_text.rbi +479 -0
- data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +150 -0
- data/rbi/openai/models/beta/beta_response_prompt.rbi +122 -0
- data/rbi/openai/models/beta/beta_response_queued_event.rbi +107 -0
- data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +274 -0
- data/rbi/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbi +188 -0
- data/rbi/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbi +243 -0
- data/rbi/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbi +142 -0
- data/rbi/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbi +142 -0
- data/rbi/openai/models/beta/beta_response_reasoning_text_delta_event.rbi +140 -0
- data/rbi/openai/models/beta/beta_response_reasoning_text_done_event.rbi +140 -0
- data/rbi/openai/models/beta/beta_response_refusal_delta_event.rbi +135 -0
- data/rbi/openai/models/beta/beta_response_refusal_done_event.rbi +135 -0
- data/rbi/openai/models/beta/beta_response_status.rbi +38 -0
- data/rbi/openai/models/beta/beta_response_stream_event.rbi +81 -0
- data/rbi/openai/models/beta/beta_response_text_config.rbi +166 -0
- data/rbi/openai/models/beta/beta_response_text_delta_event.rbi +263 -0
- data/rbi/openai/models/beta/beta_response_text_done_event.rbi +261 -0
- data/rbi/openai/models/beta/beta_response_tool_search_call.rbi +218 -0
- data/rbi/openai/models/beta/beta_response_tool_search_output_item.rbi +248 -0
- data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +307 -0
- data/rbi/openai/models/beta/beta_response_usage.rbi +163 -0
- data/rbi/openai/models/beta/beta_response_web_search_call_completed_event.rbi +126 -0
- data/rbi/openai/models/beta/beta_response_web_search_call_in_progress_event.rbi +126 -0
- data/rbi/openai/models/beta/beta_response_web_search_call_searching_event.rbi +126 -0
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +2831 -0
- data/rbi/openai/models/beta/beta_responses_server_event.rbi +83 -0
- data/rbi/openai/models/beta/beta_skill_reference.rbi +52 -0
- data/rbi/openai/models/beta/beta_tool.rbi +1835 -0
- data/rbi/openai/models/beta/beta_tool_choice_allowed.rbi +126 -0
- data/rbi/openai/models/beta/beta_tool_choice_apply_patch.rbi +35 -0
- data/rbi/openai/models/beta/beta_tool_choice_custom.rbi +38 -0
- data/rbi/openai/models/beta/beta_tool_choice_function.rbi +41 -0
- data/rbi/openai/models/beta/beta_tool_choice_mcp.rbi +55 -0
- data/rbi/openai/models/beta/beta_tool_choice_options.rbi +38 -0
- data/rbi/openai/models/beta/beta_tool_choice_shell.rbi +32 -0
- data/rbi/openai/models/beta/beta_tool_choice_types.rbi +134 -0
- data/rbi/openai/models/beta/beta_tool_search_tool.rbi +109 -0
- data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +311 -0
- data/rbi/openai/models/beta/beta_web_search_tool.rbi +329 -0
- data/rbi/openai/models/beta/response_cancel_params.rbi +83 -0
- data/rbi/openai/models/beta/response_compact_params.rbi +1033 -0
- data/rbi/openai/models/beta/response_create_params.rbi +2739 -0
- data/rbi/openai/models/beta/response_delete_params.rbi +83 -0
- data/rbi/openai/models/beta/response_retrieve_params.rbi +145 -0
- data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +113 -0
- data/rbi/openai/models/beta/responses/input_item_list_params.rbi +223 -0
- data/rbi/openai/models/beta/responses/input_token_count_params.rbi +1248 -0
- data/rbi/openai/models/beta/responses/input_token_count_response.rbi +37 -0
- data/rbi/openai/models/beta/threads/run_create_params.rbi +12 -26
- data/rbi/openai/models/chat/chat_completion_content_part.rbi +57 -1
- data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +57 -1
- data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +57 -1
- data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +70 -2
- data/rbi/openai/models/chat/completion_create_params.rbi +513 -32
- data/rbi/openai/models/chat_model.rbi +3 -0
- data/rbi/openai/models/completion_usage.rbi +21 -4
- data/rbi/openai/models/conversations/computer_screenshot_content.rbi +57 -1
- data/rbi/openai/models/conversations/conversation_create_params.rbi +9 -3
- data/rbi/openai/models/conversations/conversation_item.rbi +178 -0
- data/rbi/openai/models/conversations/conversation_item_list.rbi +2 -0
- data/rbi/openai/models/conversations/item_create_params.rbi +9 -3
- data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +12 -26
- data/rbi/openai/models/evals/run_cancel_response.rbi +26 -52
- data/rbi/openai/models/evals/run_create_params.rbi +28 -52
- data/rbi/openai/models/evals/run_create_response.rbi +26 -52
- data/rbi/openai/models/evals/run_list_response.rbi +26 -52
- data/rbi/openai/models/evals/run_retrieve_response.rbi +26 -52
- data/rbi/openai/models/graders/score_model_grader.rbi +12 -26
- data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +84 -11
- data/rbi/openai/models/realtime/realtime_session_create_request.rbi +10 -0
- data/rbi/openai/models/realtime/realtime_session_create_response.rbi +94 -11
- data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +84 -11
- data/rbi/openai/models/reasoning.rbi +51 -26
- data/rbi/openai/models/reasoning_effort.rbi +7 -13
- data/rbi/openai/models/responses/apply_patch_tool.rbi +69 -2
- data/rbi/openai/models/responses/compacted_response.rbi +2 -0
- data/rbi/openai/models/responses/custom_tool.rbi +53 -0
- data/rbi/openai/models/responses/function_shell_tool.rbi +57 -0
- data/rbi/openai/models/responses/function_tool.rbi +68 -3
- data/rbi/openai/models/responses/input_token_count_params.rbi +32 -0
- data/rbi/openai/models/responses/namespace_tool.rbi +76 -0
- data/rbi/openai/models/responses/response.rbi +192 -3
- data/rbi/openai/models/responses/response_apply_patch_tool_call.rbi +98 -0
- data/rbi/openai/models/responses/response_apply_patch_tool_call_output.rbi +98 -0
- data/rbi/openai/models/responses/response_compact_params.rbi +231 -0
- data/rbi/openai/models/responses/response_create_params.rbi +537 -6
- data/rbi/openai/models/responses/response_custom_tool_call.rbi +104 -0
- data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +111 -1
- data/rbi/openai/models/responses/response_error.rbi +5 -0
- data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +98 -0
- data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +98 -0
- data/rbi/openai/models/responses/response_function_tool_call.rbi +104 -0
- data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +104 -0
- data/rbi/openai/models/responses/response_input_file.rbi +77 -10
- data/rbi/openai/models/responses/response_input_file_content.rbi +83 -10
- data/rbi/openai/models/responses/response_input_image.rbi +57 -1
- data/rbi/openai/models/responses/response_input_image_content.rbi +63 -1
- data/rbi/openai/models/responses/response_input_item.rbi +748 -8
- data/rbi/openai/models/responses/response_input_text.rbi +70 -2
- data/rbi/openai/models/responses/response_input_text_content.rbi +76 -2
- data/rbi/openai/models/responses/response_item.rbi +178 -0
- data/rbi/openai/models/responses/response_item_list.rbi +2 -0
- data/rbi/openai/models/responses/response_output_item.rbi +178 -0
- data/rbi/openai/models/responses/response_output_item_added_event.rbi +2 -0
- data/rbi/openai/models/responses/response_output_item_done_event.rbi +2 -0
- data/rbi/openai/models/responses/response_reasoning_summary_part_done_event.rbi +58 -1
- data/rbi/openai/models/responses/response_tool_search_output_item.rbi +1 -0
- data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +3 -0
- data/rbi/openai/models/responses/response_usage.rbi +16 -2
- data/rbi/openai/models/responses/responses_client_event.rbi +537 -6
- data/rbi/openai/models/responses/tool.rbi +166 -12
- data/rbi/openai/models/video_edit_params.rbi +1 -1
- data/rbi/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbi +209 -0
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +2 -1
- data/rbi/openai/resources/beta/assistants.rbi +12 -26
- data/rbi/openai/resources/beta/responses/input_items.rbi +58 -0
- data/rbi/openai/resources/beta/responses/input_tokens.rbi +154 -0
- data/rbi/openai/resources/beta/responses.rbi +903 -0
- data/rbi/openai/resources/beta/threads/runs.rbi +12 -26
- data/rbi/openai/resources/beta.rbi +3 -0
- data/rbi/openai/resources/chat/completions.rbi +48 -28
- data/rbi/openai/resources/conversations/items.rbi +3 -1
- data/rbi/openai/resources/conversations.rbi +3 -1
- data/rbi/openai/resources/responses/input_tokens.rbi +2 -0
- data/rbi/openai/resources/responses.rbi +54 -2
- data/rbi/openai/resources/webhooks.rbi +2 -1
- data/sig/openai/client.rbs +1 -1
- data/sig/openai/internal/transport/base_client.rbs +2 -2
- data/sig/openai/models/beta/beta_apply_patch_tool.rbs +40 -0
- data/sig/openai/models/beta/beta_compacted_response.rbs +44 -0
- data/sig/openai/models/beta/beta_computer_action.rbs +259 -0
- data/sig/openai/models/beta/beta_computer_action_list.rbs +12 -0
- data/sig/openai/models/beta/beta_computer_tool.rbs +17 -0
- data/sig/openai/models/beta/beta_computer_use_preview_tool.rbs +53 -0
- data/sig/openai/models/beta/beta_container_auto.rbs +86 -0
- data/sig/openai/models/beta/beta_container_network_policy_allowlist.rbs +38 -0
- data/sig/openai/models/beta/beta_container_network_policy_disabled.rbs +17 -0
- data/sig/openai/models/beta/beta_container_network_policy_domain_secret.rbs +22 -0
- data/sig/openai/models/beta/beta_container_reference.rbs +23 -0
- data/sig/openai/models/beta/beta_custom_tool.rbs +126 -0
- data/sig/openai/models/beta/beta_easy_input_message.rbs +87 -0
- data/sig/openai/models/beta/beta_file_search_tool.rbs +298 -0
- data/sig/openai/models/beta/beta_function_shell_tool.rbs +56 -0
- data/sig/openai/models/beta/beta_function_tool.rbs +72 -0
- data/sig/openai/models/beta/beta_inline_skill.rbs +39 -0
- data/sig/openai/models/beta/beta_inline_skill_source.rbs +30 -0
- data/sig/openai/models/beta/beta_local_environment.rbs +30 -0
- data/sig/openai/models/beta/beta_local_skill.rbs +26 -0
- data/sig/openai/models/beta/beta_namespace_tool.rbs +114 -0
- data/sig/openai/models/beta/beta_response.rbs +860 -0
- data/sig/openai/models/beta/beta_response_apply_patch_tool_call.rbs +177 -0
- data/sig/openai/models/beta/beta_response_apply_patch_tool_call_output.rbs +118 -0
- data/sig/openai/models/beta/beta_response_audio_delta_event.rbs +49 -0
- data/sig/openai/models/beta/beta_response_audio_done_event.rbs +44 -0
- data/sig/openai/models/beta/beta_response_audio_transcript_delta_event.rbs +49 -0
- data/sig/openai/models/beta/beta_response_audio_transcript_done_event.rbs +44 -0
- data/sig/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbs +59 -0
- data/sig/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbs +59 -0
- data/sig/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_code_interpreter_tool_call.rbs +113 -0
- data/sig/openai/models/beta/beta_response_compaction_item.rbs +60 -0
- data/sig/openai/models/beta/beta_response_compaction_item_param.rbs +49 -0
- data/sig/openai/models/beta/beta_response_completed_event.rbs +49 -0
- data/sig/openai/models/beta/beta_response_computer_tool_call.rbs +118 -0
- data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +107 -0
- data/sig/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbs +34 -0
- data/sig/openai/models/beta/beta_response_container_reference.rbs +23 -0
- data/sig/openai/models/beta/beta_response_content.rbs +33 -0
- data/sig/openai/models/beta/beta_response_content_part_added_event.rbs +87 -0
- data/sig/openai/models/beta/beta_response_content_part_done_event.rbs +87 -0
- data/sig/openai/models/beta/beta_response_conversation_param.rbs +17 -0
- data/sig/openai/models/beta/beta_response_created_event.rbs +49 -0
- data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +105 -0
- data/sig/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbs +59 -0
- data/sig/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbs +59 -0
- data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +54 -0
- data/sig/openai/models/beta/beta_response_custom_tool_call_output.rbs +116 -0
- data/sig/openai/models/beta/beta_response_custom_tool_call_output_item.rbs +54 -0
- data/sig/openai/models/beta/beta_response_error.rbs +73 -0
- data/sig/openai/models/beta/beta_response_error_event.rbs +59 -0
- data/sig/openai/models/beta/beta_response_failed_event.rbs +49 -0
- data/sig/openai/models/beta/beta_response_file_search_call_completed_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_file_search_call_in_progress_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_file_search_call_searching_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_file_search_tool_call.rbs +127 -0
- data/sig/openai/models/beta/beta_response_format_text_config.rbs +38 -0
- data/sig/openai/models/beta/beta_response_format_text_json_schema_config.rbs +46 -0
- data/sig/openai/models/beta/beta_response_function_call_arguments_delta_event.rbs +59 -0
- data/sig/openai/models/beta/beta_response_function_call_arguments_done_event.rbs +64 -0
- data/sig/openai/models/beta/beta_response_function_call_output_item.rbs +18 -0
- data/sig/openai/models/beta/beta_response_function_call_output_item_list.rbs +12 -0
- data/sig/openai/models/beta/beta_response_function_shell_call_output_content.rbs +66 -0
- data/sig/openai/models/beta/beta_response_function_shell_tool_call.rbs +161 -0
- data/sig/openai/models/beta/beta_response_function_shell_tool_call_output.rbs +190 -0
- data/sig/openai/models/beta/beta_response_function_tool_call.rbs +126 -0
- data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +54 -0
- data/sig/openai/models/beta/beta_response_function_tool_call_output_item.rbs +138 -0
- data/sig/openai/models/beta/beta_response_function_web_search.rbs +165 -0
- data/sig/openai/models/beta/beta_response_image_gen_call_completed_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_image_gen_call_generating_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbs +64 -0
- data/sig/openai/models/beta/beta_response_in_progress_event.rbs +49 -0
- data/sig/openai/models/beta/beta_response_includable.rbs +32 -0
- data/sig/openai/models/beta/beta_response_incomplete_event.rbs +49 -0
- data/sig/openai/models/beta/beta_response_inject_created_event.rbs +41 -0
- data/sig/openai/models/beta/beta_response_inject_event.rbs +34 -0
- data/sig/openai/models/beta/beta_response_inject_failed_event.rbs +84 -0
- data/sig/openai/models/beta/beta_response_input.rbs +12 -0
- data/sig/openai/models/beta/beta_response_input_audio.rbs +62 -0
- data/sig/openai/models/beta/beta_response_input_content.rbs +18 -0
- data/sig/openai/models/beta/beta_response_input_file.rbs +90 -0
- data/sig/openai/models/beta/beta_response_input_file_content.rbs +80 -0
- data/sig/openai/models/beta/beta_response_input_image.rbs +71 -0
- data/sig/openai/models/beta/beta_response_input_image_content.rbs +67 -0
- data/sig/openai/models/beta/beta_response_input_item.rbs +2064 -0
- data/sig/openai/models/beta/beta_response_input_message_content_list.rbs +12 -0
- data/sig/openai/models/beta/beta_response_input_message_item.rbs +87 -0
- data/sig/openai/models/beta/beta_response_input_text.rbs +48 -0
- data/sig/openai/models/beta/beta_response_input_text_content.rbs +44 -0
- data/sig/openai/models/beta/beta_response_item.rbs +1097 -0
- data/sig/openai/models/beta/beta_response_local_environment.rbs +17 -0
- data/sig/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbs +59 -0
- data/sig/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbs +59 -0
- data/sig/openai/models/beta/beta_response_mcp_call_completed_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_mcp_call_failed_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_mcp_call_in_progress_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_output_audio.rbs +30 -0
- data/sig/openai/models/beta/beta_response_output_item.rbs +1096 -0
- data/sig/openai/models/beta/beta_response_output_item_added_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_output_item_done_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_output_message.rbs +97 -0
- data/sig/openai/models/beta/beta_response_output_refusal.rbs +19 -0
- data/sig/openai/models/beta/beta_response_output_text.rbs +243 -0
- data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +69 -0
- data/sig/openai/models/beta/beta_response_prompt.rbs +46 -0
- data/sig/openai/models/beta/beta_response_queued_event.rbs +49 -0
- data/sig/openai/models/beta/beta_response_reasoning_item.rbs +108 -0
- data/sig/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbs +76 -0
- data/sig/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbs +95 -0
- data/sig/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbs +64 -0
- data/sig/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbs +64 -0
- data/sig/openai/models/beta/beta_response_reasoning_text_delta_event.rbs +64 -0
- data/sig/openai/models/beta/beta_response_reasoning_text_done_event.rbs +64 -0
- data/sig/openai/models/beta/beta_response_refusal_delta_event.rbs +64 -0
- data/sig/openai/models/beta/beta_response_refusal_done_event.rbs +64 -0
- data/sig/openai/models/beta/beta_response_status.rbs +23 -0
- data/sig/openai/models/beta/beta_response_stream_event.rbs +68 -0
- data/sig/openai/models/beta/beta_response_text_config.rbs +45 -0
- data/sig/openai/models/beta/beta_response_text_delta_event.rbs +116 -0
- data/sig/openai/models/beta/beta_response_text_done_event.rbs +116 -0
- data/sig/openai/models/beta/beta_response_tool_search_call.rbs +98 -0
- data/sig/openai/models/beta/beta_response_tool_search_output_item.rbs +98 -0
- data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +91 -0
- data/sig/openai/models/beta/beta_response_usage.rbs +73 -0
- data/sig/openai/models/beta/beta_response_web_search_call_completed_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_web_search_call_in_progress_event.rbs +54 -0
- data/sig/openai/models/beta/beta_response_web_search_call_searching_event.rbs +54 -0
- data/sig/openai/models/beta/beta_responses_client_event.rbs +804 -0
- data/sig/openai/models/beta/beta_responses_server_event.rbs +70 -0
- data/sig/openai/models/beta/beta_skill_reference.rbs +32 -0
- data/sig/openai/models/beta/beta_tool.rbs +634 -0
- data/sig/openai/models/beta/beta_tool_choice_allowed.rbs +45 -0
- data/sig/openai/models/beta/beta_tool_choice_apply_patch.rbs +17 -0
- data/sig/openai/models/beta/beta_tool_choice_custom.rbs +19 -0
- data/sig/openai/models/beta/beta_tool_choice_function.rbs +19 -0
- data/sig/openai/models/beta/beta_tool_choice_mcp.rbs +26 -0
- data/sig/openai/models/beta/beta_tool_choice_options.rbs +19 -0
- data/sig/openai/models/beta/beta_tool_choice_shell.rbs +17 -0
- data/sig/openai/models/beta/beta_tool_choice_types.rbs +47 -0
- data/sig/openai/models/beta/beta_tool_search_tool.rbs +54 -0
- data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +118 -0
- data/sig/openai/models/beta/beta_web_search_tool.rbs +127 -0
- data/sig/openai/models/beta/response_cancel_params.rbs +47 -0
- data/sig/openai/models/beta/response_compact_params.rbs +368 -0
- data/sig/openai/models/beta/response_create_params.rbs +804 -0
- data/sig/openai/models/beta/response_delete_params.rbs +47 -0
- data/sig/openai/models/beta/response_retrieve_params.rbs +70 -0
- data/sig/openai/models/beta/responses/beta_response_item_list.rbs +44 -0
- data/sig/openai/models/beta/responses/input_item_list_params.rbs +92 -0
- data/sig/openai/models/beta/responses/input_token_count_params.rbs +325 -0
- data/sig/openai/models/beta/responses/input_token_count_response.rbs +26 -0
- data/sig/openai/models/chat/chat_completion_content_part.rbs +21 -2
- data/sig/openai/models/chat/chat_completion_content_part_image.rbs +21 -2
- data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +21 -2
- data/sig/openai/models/chat/chat_completion_content_part_text.rbs +32 -3
- data/sig/openai/models/chat/completion_create_params.rbs +153 -3
- data/sig/openai/models/chat_model.rbs +7 -1
- data/sig/openai/models/completion_usage.rbs +15 -2
- data/sig/openai/models/conversations/computer_screenshot_content.rbs +21 -2
- data/sig/openai/models/conversations/conversation_item.rbs +87 -0
- data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +25 -2
- data/sig/openai/models/realtime/realtime_session_create_request.rbs +4 -0
- data/sig/openai/models/realtime/realtime_session_create_response.rbs +29 -2
- data/sig/openai/models/realtime/realtime_tools_config_union.rbs +25 -2
- data/sig/openai/models/reasoning.rbs +20 -0
- data/sig/openai/models/reasoning_effort.rbs +3 -1
- data/sig/openai/models/responses/apply_patch_tool.rbs +26 -3
- data/sig/openai/models/responses/custom_tool.rbs +16 -0
- data/sig/openai/models/responses/function_shell_tool.rbs +16 -0
- data/sig/openai/models/responses/function_tool.rbs +23 -2
- data/sig/openai/models/responses/input_token_count_params.rbs +12 -0
- data/sig/openai/models/responses/namespace_tool.rbs +21 -0
- data/sig/openai/models/responses/response.rbs +64 -0
- data/sig/openai/models/responses/response_apply_patch_tool_call.rbs +37 -0
- data/sig/openai/models/responses/response_apply_patch_tool_call_output.rbs +37 -0
- data/sig/openai/models/responses/response_compact_params.rbs +63 -1
- data/sig/openai/models/responses/response_create_params.rbs +165 -3
- data/sig/openai/models/responses/response_custom_tool_call.rbs +37 -0
- data/sig/openai/models/responses/response_custom_tool_call_output.rbs +39 -2
- data/sig/openai/models/responses/response_error.rbs +2 -0
- data/sig/openai/models/responses/response_function_shell_tool_call.rbs +37 -0
- data/sig/openai/models/responses/response_function_shell_tool_call_output.rbs +37 -0
- data/sig/openai/models/responses/response_function_tool_call.rbs +37 -0
- data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +37 -0
- data/sig/openai/models/responses/response_input_file.rbs +23 -3
- data/sig/openai/models/responses/response_input_file_content.rbs +19 -3
- data/sig/openai/models/responses/response_input_image.rbs +21 -2
- data/sig/openai/models/responses/response_input_image_content.rbs +17 -2
- data/sig/openai/models/responses/response_input_item.rbs +274 -2
- data/sig/openai/models/responses/response_input_text.rbs +32 -3
- data/sig/openai/models/responses/response_input_text_content.rbs +28 -3
- data/sig/openai/models/responses/response_item.rbs +87 -0
- data/sig/openai/models/responses/response_output_item.rbs +87 -0
- data/sig/openai/models/responses/response_reasoning_summary_part_done_event.rbs +21 -2
- data/sig/openai/models/responses/response_usage.rbs +12 -3
- data/sig/openai/models/responses/responses_client_event.rbs +165 -3
- data/sig/openai/models/responses/tool.rbs +54 -4
- data/sig/openai/models/webhooks/safety_identifier_blocked_webhook_event.rbs +99 -0
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
- data/sig/openai/resources/beta/responses/input_items.rbs +21 -0
- data/sig/openai/resources/beta/responses/input_tokens.rbs +28 -0
- data/sig/openai/resources/beta/responses.rbs +128 -0
- data/sig/openai/resources/beta.rbs +2 -0
- data/sig/openai/resources/chat/completions.rbs +2 -0
- data/sig/openai/resources/responses.rbs +3 -0
- data/sig/openai/resources/webhooks.rbs +2 -1
- metadata +491 -2
|
@@ -0,0 +1,910 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Beta
|
|
6
|
+
# A tool that can be used to generate a response.
|
|
7
|
+
module BetaTool
|
|
8
|
+
extend OpenAI::Internal::Type::Union
|
|
9
|
+
|
|
10
|
+
discriminator :type
|
|
11
|
+
|
|
12
|
+
# Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling).
|
|
13
|
+
variant :function, -> { OpenAI::Beta::BetaFunctionTool }
|
|
14
|
+
|
|
15
|
+
# A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search).
|
|
16
|
+
variant :file_search, -> { OpenAI::Beta::BetaFileSearchTool }
|
|
17
|
+
|
|
18
|
+
# A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use).
|
|
19
|
+
variant :computer, -> { OpenAI::Beta::BetaComputerTool }
|
|
20
|
+
|
|
21
|
+
# A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use).
|
|
22
|
+
variant :computer_use_preview, -> { OpenAI::Beta::BetaComputerUsePreviewTool }
|
|
23
|
+
|
|
24
|
+
# Give the model access to additional tools via remote Model Context Protocol
|
|
25
|
+
# (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).
|
|
26
|
+
variant :mcp, -> { OpenAI::Beta::BetaTool::Mcp }
|
|
27
|
+
|
|
28
|
+
# A tool that runs Python code to help generate a response to a prompt.
|
|
29
|
+
variant :code_interpreter, -> { OpenAI::Beta::BetaTool::CodeInterpreter }
|
|
30
|
+
|
|
31
|
+
variant :programmatic_tool_calling, -> { OpenAI::Beta::BetaTool::ProgrammaticToolCalling }
|
|
32
|
+
|
|
33
|
+
# A tool that generates images using the GPT image models.
|
|
34
|
+
variant :image_generation, -> { OpenAI::Beta::BetaTool::ImageGeneration }
|
|
35
|
+
|
|
36
|
+
# A tool that allows the model to execute shell commands in a local environment.
|
|
37
|
+
variant :local_shell, -> { OpenAI::Beta::BetaTool::LocalShell }
|
|
38
|
+
|
|
39
|
+
# A tool that allows the model to execute shell commands.
|
|
40
|
+
variant :shell, -> { OpenAI::Beta::BetaFunctionShellTool }
|
|
41
|
+
|
|
42
|
+
# A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools)
|
|
43
|
+
variant :custom, -> { OpenAI::Beta::BetaCustomTool }
|
|
44
|
+
|
|
45
|
+
# Groups function/custom tools under a shared namespace.
|
|
46
|
+
variant :namespace, -> { OpenAI::Beta::BetaNamespaceTool }
|
|
47
|
+
|
|
48
|
+
# Hosted or BYOT tool search configuration for deferred tools.
|
|
49
|
+
variant :tool_search, -> { OpenAI::Beta::BetaToolSearchTool }
|
|
50
|
+
|
|
51
|
+
# Allows the assistant to create, delete, or update files using unified diffs.
|
|
52
|
+
variant :apply_patch, -> { OpenAI::Beta::BetaApplyPatchTool }
|
|
53
|
+
|
|
54
|
+
# Search the Internet for sources related to the prompt. Learn more about the
|
|
55
|
+
# [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
|
56
|
+
variant -> { OpenAI::Beta::BetaWebSearchTool }
|
|
57
|
+
|
|
58
|
+
# This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search).
|
|
59
|
+
variant -> { OpenAI::Beta::BetaWebSearchPreviewTool }
|
|
60
|
+
|
|
61
|
+
class Mcp < OpenAI::Internal::Type::BaseModel
|
|
62
|
+
# @!attribute server_label
|
|
63
|
+
# A label for this MCP server, used to identify it in tool calls.
|
|
64
|
+
#
|
|
65
|
+
# @return [String]
|
|
66
|
+
required :server_label, String
|
|
67
|
+
|
|
68
|
+
# @!attribute type
|
|
69
|
+
# The type of the MCP tool. Always `mcp`.
|
|
70
|
+
#
|
|
71
|
+
# @return [Symbol, :mcp]
|
|
72
|
+
required :type, const: :mcp
|
|
73
|
+
|
|
74
|
+
# @!attribute allowed_callers
|
|
75
|
+
# The tool invocation context(s).
|
|
76
|
+
#
|
|
77
|
+
# @return [Array<Symbol, OpenAI::Models::Beta::BetaTool::Mcp::AllowedCaller>, nil]
|
|
78
|
+
optional :allowed_callers,
|
|
79
|
+
-> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Beta::BetaTool::Mcp::AllowedCaller] },
|
|
80
|
+
nil?: true
|
|
81
|
+
|
|
82
|
+
# @!attribute allowed_tools
|
|
83
|
+
# List of allowed tool names or a filter object.
|
|
84
|
+
#
|
|
85
|
+
# @return [Array<String>, OpenAI::Models::Beta::BetaTool::Mcp::AllowedTools::McpToolFilter, nil]
|
|
86
|
+
optional :allowed_tools, union: -> { OpenAI::Beta::BetaTool::Mcp::AllowedTools }, nil?: true
|
|
87
|
+
|
|
88
|
+
# @!attribute authorization
|
|
89
|
+
# An OAuth access token that can be used with a remote MCP server, either with a
|
|
90
|
+
# custom MCP server URL or a service connector. Your application must handle the
|
|
91
|
+
# OAuth authorization flow and provide the token here.
|
|
92
|
+
#
|
|
93
|
+
# @return [String, nil]
|
|
94
|
+
optional :authorization, String
|
|
95
|
+
|
|
96
|
+
# @!attribute connector_id
|
|
97
|
+
# Identifier for service connectors, like those available in ChatGPT. One of
|
|
98
|
+
# `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more about
|
|
99
|
+
# service connectors
|
|
100
|
+
# [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).
|
|
101
|
+
#
|
|
102
|
+
# Currently supported `connector_id` values are:
|
|
103
|
+
#
|
|
104
|
+
# - Dropbox: `connector_dropbox`
|
|
105
|
+
# - Gmail: `connector_gmail`
|
|
106
|
+
# - Google Calendar: `connector_googlecalendar`
|
|
107
|
+
# - Google Drive: `connector_googledrive`
|
|
108
|
+
# - Microsoft Teams: `connector_microsoftteams`
|
|
109
|
+
# - Outlook Calendar: `connector_outlookcalendar`
|
|
110
|
+
# - Outlook Email: `connector_outlookemail`
|
|
111
|
+
# - SharePoint: `connector_sharepoint`
|
|
112
|
+
#
|
|
113
|
+
# @return [Symbol, OpenAI::Models::Beta::BetaTool::Mcp::ConnectorID, nil]
|
|
114
|
+
optional :connector_id, enum: -> { OpenAI::Beta::BetaTool::Mcp::ConnectorID }
|
|
115
|
+
|
|
116
|
+
# @!attribute defer_loading
|
|
117
|
+
# Whether this MCP tool is deferred and discovered via tool search.
|
|
118
|
+
#
|
|
119
|
+
# @return [Boolean, nil]
|
|
120
|
+
optional :defer_loading, OpenAI::Internal::Type::Boolean
|
|
121
|
+
|
|
122
|
+
# @!attribute headers
|
|
123
|
+
# Optional HTTP headers to send to the MCP server. Use for authentication or other
|
|
124
|
+
# purposes.
|
|
125
|
+
#
|
|
126
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
127
|
+
optional :headers, OpenAI::Internal::Type::HashOf[String], nil?: true
|
|
128
|
+
|
|
129
|
+
# @!attribute require_approval
|
|
130
|
+
# Specify which of the MCP server's tools require approval.
|
|
131
|
+
#
|
|
132
|
+
# @return [OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter, Symbol, OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalSetting, nil]
|
|
133
|
+
optional :require_approval, union: -> { OpenAI::Beta::BetaTool::Mcp::RequireApproval }, nil?: true
|
|
134
|
+
|
|
135
|
+
# @!attribute server_description
|
|
136
|
+
# Optional description of the MCP server, used to provide more context.
|
|
137
|
+
#
|
|
138
|
+
# @return [String, nil]
|
|
139
|
+
optional :server_description, String
|
|
140
|
+
|
|
141
|
+
# @!attribute server_url
|
|
142
|
+
# The URL for the MCP server. One of `server_url`, `connector_id`, or `tunnel_id`
|
|
143
|
+
# must be provided.
|
|
144
|
+
#
|
|
145
|
+
# @return [String, nil]
|
|
146
|
+
optional :server_url, String
|
|
147
|
+
|
|
148
|
+
# @!attribute tunnel_id
|
|
149
|
+
# The Secure MCP Tunnel ID to use instead of a direct server URL. One of
|
|
150
|
+
# `server_url`, `connector_id`, or `tunnel_id` must be provided.
|
|
151
|
+
#
|
|
152
|
+
# @return [String, nil]
|
|
153
|
+
optional :tunnel_id, String
|
|
154
|
+
|
|
155
|
+
# @!method initialize(server_label:, allowed_callers: nil, allowed_tools: nil, authorization: nil, connector_id: nil, defer_loading: nil, headers: nil, require_approval: nil, server_description: nil, server_url: nil, tunnel_id: nil, type: :mcp)
|
|
156
|
+
# Some parameter documentations has been truncated, see
|
|
157
|
+
# {OpenAI::Models::Beta::BetaTool::Mcp} for more details.
|
|
158
|
+
#
|
|
159
|
+
# Give the model access to additional tools via remote Model Context Protocol
|
|
160
|
+
# (MCP) servers.
|
|
161
|
+
# [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).
|
|
162
|
+
#
|
|
163
|
+
# @param server_label [String] A label for this MCP server, used to identify it in tool calls.
|
|
164
|
+
#
|
|
165
|
+
# @param allowed_callers [Array<Symbol, OpenAI::Models::Beta::BetaTool::Mcp::AllowedCaller>, nil] The tool invocation context(s).
|
|
166
|
+
#
|
|
167
|
+
# @param allowed_tools [Array<String>, OpenAI::Models::Beta::BetaTool::Mcp::AllowedTools::McpToolFilter, nil] List of allowed tool names or a filter object.
|
|
168
|
+
#
|
|
169
|
+
# @param authorization [String] An OAuth access token that can be used with a remote MCP server, either
|
|
170
|
+
#
|
|
171
|
+
# @param connector_id [Symbol, OpenAI::Models::Beta::BetaTool::Mcp::ConnectorID] Identifier for service connectors, like those available in ChatGPT. One of
|
|
172
|
+
#
|
|
173
|
+
# @param defer_loading [Boolean] Whether this MCP tool is deferred and discovered via tool search.
|
|
174
|
+
#
|
|
175
|
+
# @param headers [Hash{Symbol=>String}, nil] Optional HTTP headers to send to the MCP server. Use for authentication
|
|
176
|
+
#
|
|
177
|
+
# @param require_approval [OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter, Symbol, OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalSetting, nil] Specify which of the MCP server's tools require approval.
|
|
178
|
+
#
|
|
179
|
+
# @param server_description [String] Optional description of the MCP server, used to provide more context.
|
|
180
|
+
#
|
|
181
|
+
# @param server_url [String] The URL for the MCP server. One of `server_url`, `connector_id`, or
|
|
182
|
+
#
|
|
183
|
+
# @param tunnel_id [String] The Secure MCP Tunnel ID to use instead of a direct server URL. One of
|
|
184
|
+
#
|
|
185
|
+
# @param type [Symbol, :mcp] The type of the MCP tool. Always `mcp`.
|
|
186
|
+
|
|
187
|
+
module AllowedCaller
|
|
188
|
+
extend OpenAI::Internal::Type::Enum
|
|
189
|
+
|
|
190
|
+
DIRECT = :direct
|
|
191
|
+
PROGRAMMATIC = :programmatic
|
|
192
|
+
|
|
193
|
+
# @!method self.values
|
|
194
|
+
# @return [Array<Symbol>]
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
# List of allowed tool names or a filter object.
|
|
198
|
+
#
|
|
199
|
+
# @see OpenAI::Models::Beta::BetaTool::Mcp#allowed_tools
|
|
200
|
+
module AllowedTools
|
|
201
|
+
extend OpenAI::Internal::Type::Union
|
|
202
|
+
|
|
203
|
+
# A string array of allowed tool names
|
|
204
|
+
variant -> { OpenAI::Models::Beta::BetaTool::Mcp::AllowedTools::StringArray }
|
|
205
|
+
|
|
206
|
+
# A filter object to specify which tools are allowed.
|
|
207
|
+
variant -> { OpenAI::Beta::BetaTool::Mcp::AllowedTools::McpToolFilter }
|
|
208
|
+
|
|
209
|
+
class McpToolFilter < OpenAI::Internal::Type::BaseModel
|
|
210
|
+
# @!attribute read_only
|
|
211
|
+
# Indicates whether or not a tool modifies data or is read-only. If an MCP server
|
|
212
|
+
# is
|
|
213
|
+
# [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
|
|
214
|
+
# it will match this filter.
|
|
215
|
+
#
|
|
216
|
+
# @return [Boolean, nil]
|
|
217
|
+
optional :read_only, OpenAI::Internal::Type::Boolean
|
|
218
|
+
|
|
219
|
+
# @!attribute tool_names
|
|
220
|
+
# List of allowed tool names.
|
|
221
|
+
#
|
|
222
|
+
# @return [Array<String>, nil]
|
|
223
|
+
optional :tool_names, OpenAI::Internal::Type::ArrayOf[String]
|
|
224
|
+
|
|
225
|
+
# @!method initialize(read_only: nil, tool_names: nil)
|
|
226
|
+
# Some parameter documentations has been truncated, see
|
|
227
|
+
# {OpenAI::Models::Beta::BetaTool::Mcp::AllowedTools::McpToolFilter} for more
|
|
228
|
+
# details.
|
|
229
|
+
#
|
|
230
|
+
# A filter object to specify which tools are allowed.
|
|
231
|
+
#
|
|
232
|
+
# @param read_only [Boolean] Indicates whether or not a tool modifies data or is read-only. If an
|
|
233
|
+
#
|
|
234
|
+
# @param tool_names [Array<String>] List of allowed tool names.
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
# @!method self.variants
|
|
238
|
+
# @return [Array(Array<String>, OpenAI::Models::Beta::BetaTool::Mcp::AllowedTools::McpToolFilter)]
|
|
239
|
+
|
|
240
|
+
# @type [OpenAI::Internal::Type::Converter]
|
|
241
|
+
StringArray = OpenAI::Internal::Type::ArrayOf[String]
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
# Identifier for service connectors, like those available in ChatGPT. One of
|
|
245
|
+
# `server_url`, `connector_id`, or `tunnel_id` must be provided. Learn more about
|
|
246
|
+
# service connectors
|
|
247
|
+
# [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).
|
|
248
|
+
#
|
|
249
|
+
# Currently supported `connector_id` values are:
|
|
250
|
+
#
|
|
251
|
+
# - Dropbox: `connector_dropbox`
|
|
252
|
+
# - Gmail: `connector_gmail`
|
|
253
|
+
# - Google Calendar: `connector_googlecalendar`
|
|
254
|
+
# - Google Drive: `connector_googledrive`
|
|
255
|
+
# - Microsoft Teams: `connector_microsoftteams`
|
|
256
|
+
# - Outlook Calendar: `connector_outlookcalendar`
|
|
257
|
+
# - Outlook Email: `connector_outlookemail`
|
|
258
|
+
# - SharePoint: `connector_sharepoint`
|
|
259
|
+
#
|
|
260
|
+
# @see OpenAI::Models::Beta::BetaTool::Mcp#connector_id
|
|
261
|
+
module ConnectorID
|
|
262
|
+
extend OpenAI::Internal::Type::Enum
|
|
263
|
+
|
|
264
|
+
CONNECTOR_DROPBOX = :connector_dropbox
|
|
265
|
+
CONNECTOR_GMAIL = :connector_gmail
|
|
266
|
+
CONNECTOR_GOOGLECALENDAR = :connector_googlecalendar
|
|
267
|
+
CONNECTOR_GOOGLEDRIVE = :connector_googledrive
|
|
268
|
+
CONNECTOR_MICROSOFTTEAMS = :connector_microsoftteams
|
|
269
|
+
CONNECTOR_OUTLOOKCALENDAR = :connector_outlookcalendar
|
|
270
|
+
CONNECTOR_OUTLOOKEMAIL = :connector_outlookemail
|
|
271
|
+
CONNECTOR_SHAREPOINT = :connector_sharepoint
|
|
272
|
+
|
|
273
|
+
# @!method self.values
|
|
274
|
+
# @return [Array<Symbol>]
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
# Specify which of the MCP server's tools require approval.
|
|
278
|
+
#
|
|
279
|
+
# @see OpenAI::Models::Beta::BetaTool::Mcp#require_approval
|
|
280
|
+
module RequireApproval
|
|
281
|
+
extend OpenAI::Internal::Type::Union
|
|
282
|
+
|
|
283
|
+
# Specify which of the MCP server's tools require approval. Can be
|
|
284
|
+
# `always`, `never`, or a filter object associated with tools
|
|
285
|
+
# that require approval.
|
|
286
|
+
variant -> { OpenAI::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter }
|
|
287
|
+
|
|
288
|
+
# Specify a single approval policy for all tools. One of `always` or
|
|
289
|
+
# `never`. When set to `always`, all tools will require approval. When
|
|
290
|
+
# set to `never`, all tools will not require approval.
|
|
291
|
+
variant enum: -> { OpenAI::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalSetting }
|
|
292
|
+
|
|
293
|
+
class McpToolApprovalFilter < OpenAI::Internal::Type::BaseModel
|
|
294
|
+
# @!attribute always
|
|
295
|
+
# A filter object to specify which tools are allowed.
|
|
296
|
+
#
|
|
297
|
+
# @return [OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter::Always, nil]
|
|
298
|
+
optional :always, -> { OpenAI::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter::Always }
|
|
299
|
+
|
|
300
|
+
# @!attribute never
|
|
301
|
+
# A filter object to specify which tools are allowed.
|
|
302
|
+
#
|
|
303
|
+
# @return [OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter::Never, nil]
|
|
304
|
+
optional :never, -> { OpenAI::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter::Never }
|
|
305
|
+
|
|
306
|
+
# @!method initialize(always: nil, never: nil)
|
|
307
|
+
# Some parameter documentations has been truncated, see
|
|
308
|
+
# {OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter}
|
|
309
|
+
# for more details.
|
|
310
|
+
#
|
|
311
|
+
# Specify which of the MCP server's tools require approval. Can be `always`,
|
|
312
|
+
# `never`, or a filter object associated with tools that require approval.
|
|
313
|
+
#
|
|
314
|
+
# @param always [OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter::Always] A filter object to specify which tools are allowed.
|
|
315
|
+
#
|
|
316
|
+
# @param never [OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter::Never] A filter object to specify which tools are allowed.
|
|
317
|
+
|
|
318
|
+
# @see OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter#always
|
|
319
|
+
class Always < OpenAI::Internal::Type::BaseModel
|
|
320
|
+
# @!attribute read_only
|
|
321
|
+
# Indicates whether or not a tool modifies data or is read-only. If an MCP server
|
|
322
|
+
# is
|
|
323
|
+
# [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
|
|
324
|
+
# it will match this filter.
|
|
325
|
+
#
|
|
326
|
+
# @return [Boolean, nil]
|
|
327
|
+
optional :read_only, OpenAI::Internal::Type::Boolean
|
|
328
|
+
|
|
329
|
+
# @!attribute tool_names
|
|
330
|
+
# List of allowed tool names.
|
|
331
|
+
#
|
|
332
|
+
# @return [Array<String>, nil]
|
|
333
|
+
optional :tool_names, OpenAI::Internal::Type::ArrayOf[String]
|
|
334
|
+
|
|
335
|
+
# @!method initialize(read_only: nil, tool_names: nil)
|
|
336
|
+
# Some parameter documentations has been truncated, see
|
|
337
|
+
# {OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter::Always}
|
|
338
|
+
# for more details.
|
|
339
|
+
#
|
|
340
|
+
# A filter object to specify which tools are allowed.
|
|
341
|
+
#
|
|
342
|
+
# @param read_only [Boolean] Indicates whether or not a tool modifies data or is read-only. If an
|
|
343
|
+
#
|
|
344
|
+
# @param tool_names [Array<String>] List of allowed tool names.
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
# @see OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter#never
|
|
348
|
+
class Never < OpenAI::Internal::Type::BaseModel
|
|
349
|
+
# @!attribute read_only
|
|
350
|
+
# Indicates whether or not a tool modifies data or is read-only. If an MCP server
|
|
351
|
+
# is
|
|
352
|
+
# [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
|
|
353
|
+
# it will match this filter.
|
|
354
|
+
#
|
|
355
|
+
# @return [Boolean, nil]
|
|
356
|
+
optional :read_only, OpenAI::Internal::Type::Boolean
|
|
357
|
+
|
|
358
|
+
# @!attribute tool_names
|
|
359
|
+
# List of allowed tool names.
|
|
360
|
+
#
|
|
361
|
+
# @return [Array<String>, nil]
|
|
362
|
+
optional :tool_names, OpenAI::Internal::Type::ArrayOf[String]
|
|
363
|
+
|
|
364
|
+
# @!method initialize(read_only: nil, tool_names: nil)
|
|
365
|
+
# Some parameter documentations has been truncated, see
|
|
366
|
+
# {OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter::Never}
|
|
367
|
+
# for more details.
|
|
368
|
+
#
|
|
369
|
+
# A filter object to specify which tools are allowed.
|
|
370
|
+
#
|
|
371
|
+
# @param read_only [Boolean] Indicates whether or not a tool modifies data or is read-only. If an
|
|
372
|
+
#
|
|
373
|
+
# @param tool_names [Array<String>] List of allowed tool names.
|
|
374
|
+
end
|
|
375
|
+
end
|
|
376
|
+
|
|
377
|
+
# Specify a single approval policy for all tools. One of `always` or `never`. When
|
|
378
|
+
# set to `always`, all tools will require approval. When set to `never`, all tools
|
|
379
|
+
# will not require approval.
|
|
380
|
+
module McpToolApprovalSetting
|
|
381
|
+
extend OpenAI::Internal::Type::Enum
|
|
382
|
+
|
|
383
|
+
ALWAYS = :always
|
|
384
|
+
NEVER = :never
|
|
385
|
+
|
|
386
|
+
# @!method self.values
|
|
387
|
+
# @return [Array<Symbol>]
|
|
388
|
+
end
|
|
389
|
+
|
|
390
|
+
# @!method self.variants
|
|
391
|
+
# @return [Array(OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter, Symbol, OpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalSetting)]
|
|
392
|
+
end
|
|
393
|
+
end
|
|
394
|
+
|
|
395
|
+
class CodeInterpreter < OpenAI::Internal::Type::BaseModel
|
|
396
|
+
# @!attribute container
|
|
397
|
+
# The code interpreter container. Can be a container ID or an object that
|
|
398
|
+
# specifies uploaded file IDs to make available to your code, along with an
|
|
399
|
+
# optional `memory_limit` setting.
|
|
400
|
+
#
|
|
401
|
+
# @return [String, OpenAI::Models::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto]
|
|
402
|
+
required :container, union: -> { OpenAI::Beta::BetaTool::CodeInterpreter::Container }
|
|
403
|
+
|
|
404
|
+
# @!attribute type
|
|
405
|
+
# The type of the code interpreter tool. Always `code_interpreter`.
|
|
406
|
+
#
|
|
407
|
+
# @return [Symbol, :code_interpreter]
|
|
408
|
+
required :type, const: :code_interpreter
|
|
409
|
+
|
|
410
|
+
# @!attribute allowed_callers
|
|
411
|
+
# The tool invocation context(s).
|
|
412
|
+
#
|
|
413
|
+
# @return [Array<Symbol, OpenAI::Models::Beta::BetaTool::CodeInterpreter::AllowedCaller>, nil]
|
|
414
|
+
optional :allowed_callers,
|
|
415
|
+
-> {
|
|
416
|
+
OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Beta::BetaTool::CodeInterpreter::AllowedCaller]
|
|
417
|
+
},
|
|
418
|
+
nil?: true
|
|
419
|
+
|
|
420
|
+
# @!method initialize(container:, allowed_callers: nil, type: :code_interpreter)
|
|
421
|
+
# Some parameter documentations has been truncated, see
|
|
422
|
+
# {OpenAI::Models::Beta::BetaTool::CodeInterpreter} for more details.
|
|
423
|
+
#
|
|
424
|
+
# A tool that runs Python code to help generate a response to a prompt.
|
|
425
|
+
#
|
|
426
|
+
# @param container [String, OpenAI::Models::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto] The code interpreter container. Can be a container ID or an object that
|
|
427
|
+
#
|
|
428
|
+
# @param allowed_callers [Array<Symbol, OpenAI::Models::Beta::BetaTool::CodeInterpreter::AllowedCaller>, nil] The tool invocation context(s).
|
|
429
|
+
#
|
|
430
|
+
# @param type [Symbol, :code_interpreter] The type of the code interpreter tool. Always `code_interpreter`.
|
|
431
|
+
|
|
432
|
+
# The code interpreter container. Can be a container ID or an object that
|
|
433
|
+
# specifies uploaded file IDs to make available to your code, along with an
|
|
434
|
+
# optional `memory_limit` setting.
|
|
435
|
+
#
|
|
436
|
+
# @see OpenAI::Models::Beta::BetaTool::CodeInterpreter#container
|
|
437
|
+
module Container
|
|
438
|
+
extend OpenAI::Internal::Type::Union
|
|
439
|
+
|
|
440
|
+
# The container ID.
|
|
441
|
+
variant String
|
|
442
|
+
|
|
443
|
+
# Configuration for a code interpreter container. Optionally specify the IDs of the files to run the code on.
|
|
444
|
+
variant -> { OpenAI::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto }
|
|
445
|
+
|
|
446
|
+
class CodeInterpreterToolAuto < OpenAI::Internal::Type::BaseModel
|
|
447
|
+
# @!attribute type
|
|
448
|
+
# Always `auto`.
|
|
449
|
+
#
|
|
450
|
+
# @return [Symbol, :auto]
|
|
451
|
+
required :type, const: :auto
|
|
452
|
+
|
|
453
|
+
# @!attribute file_ids
|
|
454
|
+
# An optional list of uploaded files to make available to your code.
|
|
455
|
+
#
|
|
456
|
+
# @return [Array<String>, nil]
|
|
457
|
+
optional :file_ids, OpenAI::Internal::Type::ArrayOf[String]
|
|
458
|
+
|
|
459
|
+
# @!attribute memory_limit
|
|
460
|
+
# The memory limit for the code interpreter container.
|
|
461
|
+
#
|
|
462
|
+
# @return [Symbol, OpenAI::Models::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto::MemoryLimit, nil]
|
|
463
|
+
optional :memory_limit,
|
|
464
|
+
enum: -> {
|
|
465
|
+
OpenAI::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto::MemoryLimit
|
|
466
|
+
},
|
|
467
|
+
nil?: true
|
|
468
|
+
|
|
469
|
+
# @!attribute network_policy
|
|
470
|
+
# Network access policy for the container.
|
|
471
|
+
#
|
|
472
|
+
# @return [OpenAI::Models::Beta::BetaContainerNetworkPolicyDisabled, OpenAI::Models::Beta::BetaContainerNetworkPolicyAllowlist, nil]
|
|
473
|
+
optional :network_policy,
|
|
474
|
+
union: -> { OpenAI::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto::NetworkPolicy }
|
|
475
|
+
|
|
476
|
+
# @!method initialize(file_ids: nil, memory_limit: nil, network_policy: nil, type: :auto)
|
|
477
|
+
# Configuration for a code interpreter container. Optionally specify the IDs of
|
|
478
|
+
# the files to run the code on.
|
|
479
|
+
#
|
|
480
|
+
# @param file_ids [Array<String>] An optional list of uploaded files to make available to your code.
|
|
481
|
+
#
|
|
482
|
+
# @param memory_limit [Symbol, OpenAI::Models::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto::MemoryLimit, nil] The memory limit for the code interpreter container.
|
|
483
|
+
#
|
|
484
|
+
# @param network_policy [OpenAI::Models::Beta::BetaContainerNetworkPolicyDisabled, OpenAI::Models::Beta::BetaContainerNetworkPolicyAllowlist] Network access policy for the container.
|
|
485
|
+
#
|
|
486
|
+
# @param type [Symbol, :auto] Always `auto`.
|
|
487
|
+
|
|
488
|
+
# The memory limit for the code interpreter container.
|
|
489
|
+
#
|
|
490
|
+
# @see OpenAI::Models::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto#memory_limit
|
|
491
|
+
module MemoryLimit
|
|
492
|
+
extend OpenAI::Internal::Type::Enum
|
|
493
|
+
|
|
494
|
+
MEMORY_LIMIT_1G = :"1g"
|
|
495
|
+
MEMORY_LIMIT_4G = :"4g"
|
|
496
|
+
MEMORY_LIMIT_16G = :"16g"
|
|
497
|
+
MEMORY_LIMIT_64G = :"64g"
|
|
498
|
+
|
|
499
|
+
# @!method self.values
|
|
500
|
+
# @return [Array<Symbol>]
|
|
501
|
+
end
|
|
502
|
+
|
|
503
|
+
# Network access policy for the container.
|
|
504
|
+
#
|
|
505
|
+
# @see OpenAI::Models::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto#network_policy
|
|
506
|
+
module NetworkPolicy
|
|
507
|
+
extend OpenAI::Internal::Type::Union
|
|
508
|
+
|
|
509
|
+
discriminator :type
|
|
510
|
+
|
|
511
|
+
variant :disabled, -> { OpenAI::Beta::BetaContainerNetworkPolicyDisabled }
|
|
512
|
+
|
|
513
|
+
variant :allowlist, -> { OpenAI::Beta::BetaContainerNetworkPolicyAllowlist }
|
|
514
|
+
|
|
515
|
+
# @!method self.variants
|
|
516
|
+
# @return [Array(OpenAI::Models::Beta::BetaContainerNetworkPolicyDisabled, OpenAI::Models::Beta::BetaContainerNetworkPolicyAllowlist)]
|
|
517
|
+
end
|
|
518
|
+
end
|
|
519
|
+
|
|
520
|
+
# @!method self.variants
|
|
521
|
+
# @return [Array(String, OpenAI::Models::Beta::BetaTool::CodeInterpreter::Container::CodeInterpreterToolAuto)]
|
|
522
|
+
end
|
|
523
|
+
|
|
524
|
+
module AllowedCaller
|
|
525
|
+
extend OpenAI::Internal::Type::Enum
|
|
526
|
+
|
|
527
|
+
DIRECT = :direct
|
|
528
|
+
PROGRAMMATIC = :programmatic
|
|
529
|
+
|
|
530
|
+
# @!method self.values
|
|
531
|
+
# @return [Array<Symbol>]
|
|
532
|
+
end
|
|
533
|
+
end
|
|
534
|
+
|
|
535
|
+
class ProgrammaticToolCalling < OpenAI::Internal::Type::BaseModel
|
|
536
|
+
# @!attribute type
|
|
537
|
+
# The type of the tool. Always `programmatic_tool_calling`.
|
|
538
|
+
#
|
|
539
|
+
# @return [Symbol, :programmatic_tool_calling]
|
|
540
|
+
required :type, const: :programmatic_tool_calling
|
|
541
|
+
|
|
542
|
+
# @!method initialize(type: :programmatic_tool_calling)
|
|
543
|
+
# @param type [Symbol, :programmatic_tool_calling] The type of the tool. Always `programmatic_tool_calling`.
|
|
544
|
+
end
|
|
545
|
+
|
|
546
|
+
class ImageGeneration < OpenAI::Internal::Type::BaseModel
|
|
547
|
+
# @!attribute type
|
|
548
|
+
# The type of the image generation tool. Always `image_generation`.
|
|
549
|
+
#
|
|
550
|
+
# @return [Symbol, :image_generation]
|
|
551
|
+
required :type, const: :image_generation
|
|
552
|
+
|
|
553
|
+
# @!attribute action
|
|
554
|
+
# Whether to generate a new image or edit an existing image. Default: `auto`.
|
|
555
|
+
#
|
|
556
|
+
# @return [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Action, nil]
|
|
557
|
+
optional :action, enum: -> { OpenAI::Beta::BetaTool::ImageGeneration::Action }
|
|
558
|
+
|
|
559
|
+
# @!attribute background
|
|
560
|
+
# Allows to set transparency for the background of the generated image(s). This
|
|
561
|
+
# parameter is only supported for GPT image models that support transparent
|
|
562
|
+
# backgrounds. Must be one of `transparent`, `opaque`, or `auto` (default value).
|
|
563
|
+
# When `auto` is used, the model will automatically determine the best background
|
|
564
|
+
# for the image.
|
|
565
|
+
#
|
|
566
|
+
# `gpt-image-2` and `gpt-image-2-2026-04-21` do not support transparent
|
|
567
|
+
# backgrounds. Requests with `background` set to `transparent` will return an
|
|
568
|
+
# error for these models; use `opaque` or `auto` instead.
|
|
569
|
+
#
|
|
570
|
+
# If `transparent`, the output format needs to support transparency, so it should
|
|
571
|
+
# be set to either `png` (default value) or `webp`.
|
|
572
|
+
#
|
|
573
|
+
# @return [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Background, nil]
|
|
574
|
+
optional :background, enum: -> { OpenAI::Beta::BetaTool::ImageGeneration::Background }
|
|
575
|
+
|
|
576
|
+
# @!attribute input_fidelity
|
|
577
|
+
# Control how much effort the model will exert to match the style and features,
|
|
578
|
+
# especially facial features, of input images. This parameter is only supported
|
|
579
|
+
# for `gpt-image-1` and `gpt-image-1.5` and later models, unsupported for
|
|
580
|
+
# `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`.
|
|
581
|
+
#
|
|
582
|
+
# @return [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::InputFidelity, nil]
|
|
583
|
+
optional :input_fidelity,
|
|
584
|
+
enum: -> {
|
|
585
|
+
OpenAI::Beta::BetaTool::ImageGeneration::InputFidelity
|
|
586
|
+
},
|
|
587
|
+
nil?: true
|
|
588
|
+
|
|
589
|
+
# @!attribute input_image_mask
|
|
590
|
+
# Optional mask for inpainting. Contains `image_url` (string, optional) and
|
|
591
|
+
# `file_id` (string, optional).
|
|
592
|
+
#
|
|
593
|
+
# @return [OpenAI::Models::Beta::BetaTool::ImageGeneration::InputImageMask, nil]
|
|
594
|
+
optional :input_image_mask, -> { OpenAI::Beta::BetaTool::ImageGeneration::InputImageMask }
|
|
595
|
+
|
|
596
|
+
# @!attribute model
|
|
597
|
+
# The image generation model to use. Default: `gpt-image-1`.
|
|
598
|
+
#
|
|
599
|
+
# @return [String, Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Model, nil]
|
|
600
|
+
optional :model, union: -> { OpenAI::Beta::BetaTool::ImageGeneration::Model }
|
|
601
|
+
|
|
602
|
+
# @!attribute moderation
|
|
603
|
+
# Moderation level for the generated image. Default: `auto`.
|
|
604
|
+
#
|
|
605
|
+
# @return [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Moderation, nil]
|
|
606
|
+
optional :moderation, enum: -> { OpenAI::Beta::BetaTool::ImageGeneration::Moderation }
|
|
607
|
+
|
|
608
|
+
# @!attribute output_compression
|
|
609
|
+
# Compression level for the output image. Default: 100.
|
|
610
|
+
#
|
|
611
|
+
# @return [Integer, nil]
|
|
612
|
+
optional :output_compression, Integer
|
|
613
|
+
|
|
614
|
+
# @!attribute output_format
|
|
615
|
+
# The output format of the generated image. One of `png`, `webp`, or `jpeg`.
|
|
616
|
+
# Default: `png`.
|
|
617
|
+
#
|
|
618
|
+
# @return [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::OutputFormat, nil]
|
|
619
|
+
optional :output_format, enum: -> { OpenAI::Beta::BetaTool::ImageGeneration::OutputFormat }
|
|
620
|
+
|
|
621
|
+
# @!attribute partial_images
|
|
622
|
+
# Number of partial images to generate in streaming mode, from 0 (default value)
|
|
623
|
+
# to 3.
|
|
624
|
+
#
|
|
625
|
+
# @return [Integer, nil]
|
|
626
|
+
optional :partial_images, Integer
|
|
627
|
+
|
|
628
|
+
# @!attribute quality
|
|
629
|
+
# The quality of the generated image. One of `low`, `medium`, `high`, or `auto`.
|
|
630
|
+
# Default: `auto`.
|
|
631
|
+
#
|
|
632
|
+
# @return [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Quality, nil]
|
|
633
|
+
optional :quality, enum: -> { OpenAI::Beta::BetaTool::ImageGeneration::Quality }
|
|
634
|
+
|
|
635
|
+
# @!attribute size
|
|
636
|
+
# The size of the generated images. For `gpt-image-2` and
|
|
637
|
+
# `gpt-image-2-2026-04-21`, arbitrary resolutions are supported as `WIDTHxHEIGHT`
|
|
638
|
+
# strings, for example `1536x864`. Width and height must both be divisible by 16
|
|
639
|
+
# and the requested aspect ratio must be between 1:3 and 3:1. Resolutions above
|
|
640
|
+
# `2560x1440` are experimental, and the maximum supported resolution is
|
|
641
|
+
# `3840x2160`. The requested size must also satisfy the model's current pixel and
|
|
642
|
+
# edge limits. The standard sizes `1024x1024`, `1536x1024`, and `1024x1536` are
|
|
643
|
+
# supported by the GPT image models; `auto` is supported for models that allow
|
|
644
|
+
# automatic sizing. For `dall-e-2`, use one of `256x256`, `512x512`, or
|
|
645
|
+
# `1024x1024`. For `dall-e-3`, use one of `1024x1024`, `1792x1024`, or
|
|
646
|
+
# `1024x1792`.
|
|
647
|
+
#
|
|
648
|
+
# @return [String, Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Size, nil]
|
|
649
|
+
optional :size, union: -> { OpenAI::Beta::BetaTool::ImageGeneration::Size }
|
|
650
|
+
|
|
651
|
+
# @!method initialize(action: nil, background: nil, input_fidelity: nil, input_image_mask: nil, model: nil, moderation: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, size: nil, type: :image_generation)
|
|
652
|
+
# Some parameter documentations has been truncated, see
|
|
653
|
+
# {OpenAI::Models::Beta::BetaTool::ImageGeneration} for more details.
|
|
654
|
+
#
|
|
655
|
+
# A tool that generates images using the GPT image models.
|
|
656
|
+
#
|
|
657
|
+
# @param action [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Action] Whether to generate a new image or edit an existing image. Default: `auto`.
|
|
658
|
+
#
|
|
659
|
+
# @param background [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Background] Allows to set transparency for the background of the generated image(s).
|
|
660
|
+
#
|
|
661
|
+
# @param input_fidelity [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::InputFidelity, nil] Control how much effort the model will exert to match the style and features, es
|
|
662
|
+
#
|
|
663
|
+
# @param input_image_mask [OpenAI::Models::Beta::BetaTool::ImageGeneration::InputImageMask] Optional mask for inpainting. Contains `image_url`
|
|
664
|
+
#
|
|
665
|
+
# @param model [String, Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Model] The image generation model to use. Default: `gpt-image-1`.
|
|
666
|
+
#
|
|
667
|
+
# @param moderation [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Moderation] Moderation level for the generated image. Default: `auto`.
|
|
668
|
+
#
|
|
669
|
+
# @param output_compression [Integer] Compression level for the output image. Default: 100.
|
|
670
|
+
#
|
|
671
|
+
# @param output_format [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::OutputFormat] The output format of the generated image. One of `png`, `webp`, or
|
|
672
|
+
#
|
|
673
|
+
# @param partial_images [Integer] Number of partial images to generate in streaming mode, from 0 (default value) t
|
|
674
|
+
#
|
|
675
|
+
# @param quality [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Quality] The quality of the generated image. One of `low`, `medium`, `high`,
|
|
676
|
+
#
|
|
677
|
+
# @param size [String, Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::Size] The size of the generated images. For `gpt-image-2` and `gpt-image-2-2026-04-21`
|
|
678
|
+
#
|
|
679
|
+
# @param type [Symbol, :image_generation] The type of the image generation tool. Always `image_generation`.
|
|
680
|
+
|
|
681
|
+
# Whether to generate a new image or edit an existing image. Default: `auto`.
|
|
682
|
+
#
|
|
683
|
+
# @see OpenAI::Models::Beta::BetaTool::ImageGeneration#action
|
|
684
|
+
module Action
|
|
685
|
+
extend OpenAI::Internal::Type::Enum
|
|
686
|
+
|
|
687
|
+
GENERATE = :generate
|
|
688
|
+
EDIT = :edit
|
|
689
|
+
AUTO = :auto
|
|
690
|
+
|
|
691
|
+
# @!method self.values
|
|
692
|
+
# @return [Array<Symbol>]
|
|
693
|
+
end
|
|
694
|
+
|
|
695
|
+
# Allows to set transparency for the background of the generated image(s). This
|
|
696
|
+
# parameter is only supported for GPT image models that support transparent
|
|
697
|
+
# backgrounds. Must be one of `transparent`, `opaque`, or `auto` (default value).
|
|
698
|
+
# When `auto` is used, the model will automatically determine the best background
|
|
699
|
+
# for the image.
|
|
700
|
+
#
|
|
701
|
+
# `gpt-image-2` and `gpt-image-2-2026-04-21` do not support transparent
|
|
702
|
+
# backgrounds. Requests with `background` set to `transparent` will return an
|
|
703
|
+
# error for these models; use `opaque` or `auto` instead.
|
|
704
|
+
#
|
|
705
|
+
# If `transparent`, the output format needs to support transparency, so it should
|
|
706
|
+
# be set to either `png` (default value) or `webp`.
|
|
707
|
+
#
|
|
708
|
+
# @see OpenAI::Models::Beta::BetaTool::ImageGeneration#background
|
|
709
|
+
module Background
|
|
710
|
+
extend OpenAI::Internal::Type::Enum
|
|
711
|
+
|
|
712
|
+
TRANSPARENT = :transparent
|
|
713
|
+
OPAQUE = :opaque
|
|
714
|
+
AUTO = :auto
|
|
715
|
+
|
|
716
|
+
# @!method self.values
|
|
717
|
+
# @return [Array<Symbol>]
|
|
718
|
+
end
|
|
719
|
+
|
|
720
|
+
# Control how much effort the model will exert to match the style and features,
|
|
721
|
+
# especially facial features, of input images. This parameter is only supported
|
|
722
|
+
# for `gpt-image-1` and `gpt-image-1.5` and later models, unsupported for
|
|
723
|
+
# `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`.
|
|
724
|
+
#
|
|
725
|
+
# @see OpenAI::Models::Beta::BetaTool::ImageGeneration#input_fidelity
|
|
726
|
+
module InputFidelity
|
|
727
|
+
extend OpenAI::Internal::Type::Enum
|
|
728
|
+
|
|
729
|
+
HIGH = :high
|
|
730
|
+
LOW = :low
|
|
731
|
+
|
|
732
|
+
# @!method self.values
|
|
733
|
+
# @return [Array<Symbol>]
|
|
734
|
+
end
|
|
735
|
+
|
|
736
|
+
# @see OpenAI::Models::Beta::BetaTool::ImageGeneration#input_image_mask
|
|
737
|
+
class InputImageMask < OpenAI::Internal::Type::BaseModel
|
|
738
|
+
# @!attribute file_id
|
|
739
|
+
# File ID for the mask image.
|
|
740
|
+
#
|
|
741
|
+
# @return [String, nil]
|
|
742
|
+
optional :file_id, String
|
|
743
|
+
|
|
744
|
+
# @!attribute image_url
|
|
745
|
+
# Base64-encoded mask image.
|
|
746
|
+
#
|
|
747
|
+
# @return [String, nil]
|
|
748
|
+
optional :image_url, String
|
|
749
|
+
|
|
750
|
+
# @!method initialize(file_id: nil, image_url: nil)
|
|
751
|
+
# Some parameter documentations has been truncated, see
|
|
752
|
+
# {OpenAI::Models::Beta::BetaTool::ImageGeneration::InputImageMask} for more
|
|
753
|
+
# details.
|
|
754
|
+
#
|
|
755
|
+
# Optional mask for inpainting. Contains `image_url` (string, optional) and
|
|
756
|
+
# `file_id` (string, optional).
|
|
757
|
+
#
|
|
758
|
+
# @param file_id [String] File ID for the mask image.
|
|
759
|
+
#
|
|
760
|
+
# @param image_url [String] Base64-encoded mask image.
|
|
761
|
+
end
|
|
762
|
+
|
|
763
|
+
# The image generation model to use. Default: `gpt-image-1`.
|
|
764
|
+
#
|
|
765
|
+
# @see OpenAI::Models::Beta::BetaTool::ImageGeneration#model
|
|
766
|
+
module Model
|
|
767
|
+
extend OpenAI::Internal::Type::Union
|
|
768
|
+
|
|
769
|
+
variant String
|
|
770
|
+
|
|
771
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Model::GPT_IMAGE_1 }
|
|
772
|
+
|
|
773
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Model::GPT_IMAGE_1_MINI }
|
|
774
|
+
|
|
775
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Model::GPT_IMAGE_2 }
|
|
776
|
+
|
|
777
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Model::GPT_IMAGE_2_2026_04_21 }
|
|
778
|
+
|
|
779
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Model::GPT_IMAGE_1_5 }
|
|
780
|
+
|
|
781
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Model::CHATGPT_IMAGE_LATEST }
|
|
782
|
+
|
|
783
|
+
# @!method self.variants
|
|
784
|
+
# @return [Array(String, Symbol)]
|
|
785
|
+
|
|
786
|
+
define_sorbet_constant!(:Variants) do
|
|
787
|
+
T.type_alias { T.any(String, OpenAI::Beta::BetaTool::ImageGeneration::Model::TaggedSymbol) }
|
|
788
|
+
end
|
|
789
|
+
|
|
790
|
+
# @!group
|
|
791
|
+
|
|
792
|
+
GPT_IMAGE_1 = :"gpt-image-1"
|
|
793
|
+
GPT_IMAGE_1_MINI = :"gpt-image-1-mini"
|
|
794
|
+
GPT_IMAGE_2 = :"gpt-image-2"
|
|
795
|
+
GPT_IMAGE_2_2026_04_21 = :"gpt-image-2-2026-04-21"
|
|
796
|
+
GPT_IMAGE_1_5 = :"gpt-image-1.5"
|
|
797
|
+
CHATGPT_IMAGE_LATEST = :"chatgpt-image-latest"
|
|
798
|
+
|
|
799
|
+
# @!endgroup
|
|
800
|
+
end
|
|
801
|
+
|
|
802
|
+
# Moderation level for the generated image. Default: `auto`.
|
|
803
|
+
#
|
|
804
|
+
# @see OpenAI::Models::Beta::BetaTool::ImageGeneration#moderation
|
|
805
|
+
module Moderation
|
|
806
|
+
extend OpenAI::Internal::Type::Enum
|
|
807
|
+
|
|
808
|
+
AUTO = :auto
|
|
809
|
+
LOW = :low
|
|
810
|
+
|
|
811
|
+
# @!method self.values
|
|
812
|
+
# @return [Array<Symbol>]
|
|
813
|
+
end
|
|
814
|
+
|
|
815
|
+
# The output format of the generated image. One of `png`, `webp`, or `jpeg`.
|
|
816
|
+
# Default: `png`.
|
|
817
|
+
#
|
|
818
|
+
# @see OpenAI::Models::Beta::BetaTool::ImageGeneration#output_format
|
|
819
|
+
module OutputFormat
|
|
820
|
+
extend OpenAI::Internal::Type::Enum
|
|
821
|
+
|
|
822
|
+
PNG = :png
|
|
823
|
+
WEBP = :webp
|
|
824
|
+
JPEG = :jpeg
|
|
825
|
+
|
|
826
|
+
# @!method self.values
|
|
827
|
+
# @return [Array<Symbol>]
|
|
828
|
+
end
|
|
829
|
+
|
|
830
|
+
# The quality of the generated image. One of `low`, `medium`, `high`, or `auto`.
|
|
831
|
+
# Default: `auto`.
|
|
832
|
+
#
|
|
833
|
+
# @see OpenAI::Models::Beta::BetaTool::ImageGeneration#quality
|
|
834
|
+
module Quality
|
|
835
|
+
extend OpenAI::Internal::Type::Enum
|
|
836
|
+
|
|
837
|
+
LOW = :low
|
|
838
|
+
MEDIUM = :medium
|
|
839
|
+
HIGH = :high
|
|
840
|
+
AUTO = :auto
|
|
841
|
+
|
|
842
|
+
# @!method self.values
|
|
843
|
+
# @return [Array<Symbol>]
|
|
844
|
+
end
|
|
845
|
+
|
|
846
|
+
# The size of the generated images. For `gpt-image-2` and
|
|
847
|
+
# `gpt-image-2-2026-04-21`, arbitrary resolutions are supported as `WIDTHxHEIGHT`
|
|
848
|
+
# strings, for example `1536x864`. Width and height must both be divisible by 16
|
|
849
|
+
# and the requested aspect ratio must be between 1:3 and 3:1. Resolutions above
|
|
850
|
+
# `2560x1440` are experimental, and the maximum supported resolution is
|
|
851
|
+
# `3840x2160`. The requested size must also satisfy the model's current pixel and
|
|
852
|
+
# edge limits. The standard sizes `1024x1024`, `1536x1024`, and `1024x1536` are
|
|
853
|
+
# supported by the GPT image models; `auto` is supported for models that allow
|
|
854
|
+
# automatic sizing. For `dall-e-2`, use one of `256x256`, `512x512`, or
|
|
855
|
+
# `1024x1024`. For `dall-e-3`, use one of `1024x1024`, `1792x1024`, or
|
|
856
|
+
# `1024x1792`.
|
|
857
|
+
#
|
|
858
|
+
# @see OpenAI::Models::Beta::BetaTool::ImageGeneration#size
|
|
859
|
+
module Size
|
|
860
|
+
extend OpenAI::Internal::Type::Union
|
|
861
|
+
|
|
862
|
+
variant String
|
|
863
|
+
|
|
864
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Size::SIZE_1024X1024 }
|
|
865
|
+
|
|
866
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Size::SIZE_1024X1536 }
|
|
867
|
+
|
|
868
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Size::SIZE_1536X1024 }
|
|
869
|
+
|
|
870
|
+
variant const: -> { OpenAI::Models::Beta::BetaTool::ImageGeneration::Size::AUTO }
|
|
871
|
+
|
|
872
|
+
# @!method self.variants
|
|
873
|
+
# @return [Array(String, Symbol)]
|
|
874
|
+
|
|
875
|
+
define_sorbet_constant!(:Variants) do
|
|
876
|
+
T.type_alias { T.any(String, OpenAI::Beta::BetaTool::ImageGeneration::Size::TaggedSymbol) }
|
|
877
|
+
end
|
|
878
|
+
|
|
879
|
+
# @!group
|
|
880
|
+
|
|
881
|
+
SIZE_1024X1024 = :"1024x1024"
|
|
882
|
+
SIZE_1024X1536 = :"1024x1536"
|
|
883
|
+
SIZE_1536X1024 = :"1536x1024"
|
|
884
|
+
AUTO = :auto
|
|
885
|
+
|
|
886
|
+
# @!endgroup
|
|
887
|
+
end
|
|
888
|
+
end
|
|
889
|
+
|
|
890
|
+
class LocalShell < OpenAI::Internal::Type::BaseModel
|
|
891
|
+
# @!attribute type
|
|
892
|
+
# The type of the local shell tool. Always `local_shell`.
|
|
893
|
+
#
|
|
894
|
+
# @return [Symbol, :local_shell]
|
|
895
|
+
required :type, const: :local_shell
|
|
896
|
+
|
|
897
|
+
# @!method initialize(type: :local_shell)
|
|
898
|
+
# A tool that allows the model to execute shell commands in a local environment.
|
|
899
|
+
#
|
|
900
|
+
# @param type [Symbol, :local_shell] The type of the local shell tool. Always `local_shell`.
|
|
901
|
+
end
|
|
902
|
+
|
|
903
|
+
# @!method self.variants
|
|
904
|
+
# @return [Array(OpenAI::Models::Beta::BetaFunctionTool, OpenAI::Models::Beta::BetaFileSearchTool, OpenAI::Models::Beta::BetaComputerTool, OpenAI::Models::Beta::BetaComputerUsePreviewTool, OpenAI::Models::Beta::BetaTool::Mcp, OpenAI::Models::Beta::BetaTool::CodeInterpreter, OpenAI::Models::Beta::BetaTool::ProgrammaticToolCalling, OpenAI::Models::Beta::BetaTool::ImageGeneration, OpenAI::Models::Beta::BetaTool::LocalShell, OpenAI::Models::Beta::BetaFunctionShellTool, OpenAI::Models::Beta::BetaCustomTool, OpenAI::Models::Beta::BetaNamespaceTool, OpenAI::Models::Beta::BetaToolSearchTool, OpenAI::Models::Beta::BetaApplyPatchTool, OpenAI::Models::Beta::BetaWebSearchTool, OpenAI::Models::Beta::BetaWebSearchPreviewTool)]
|
|
905
|
+
end
|
|
906
|
+
end
|
|
907
|
+
|
|
908
|
+
BetaTool = Beta::BetaTool
|
|
909
|
+
end
|
|
910
|
+
end
|