├── .github ├── CODEOWNERS └── workflows │ ├── ci.yml │ ├── create-releases.yml │ ├── publish-gem.yml │ └── release-doctor.yml ├── .gitignore ├── .release-please-manifest.json ├── .rubocop.yml ├── .ruby-version ├── .solargraph.yml ├── .stats.yml ├── .yardopts ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── Rakefile ├── SECURITY.md ├── Steepfile ├── bin ├── check-release-environment └── publish-gem ├── examples ├── advanced_streaming.rb ├── demo.rb ├── demo_sorbet.rb ├── picture.rb ├── streaming.rb ├── structured_outputs_chat_completions.rb ├── structured_outputs_chat_completions_function_calling.rb ├── structured_outputs_responses.rb └── structured_outputs_responses_function_calling.rb ├── lib ├── openai.rb └── openai │ ├── client.rb │ ├── errors.rb │ ├── file_part.rb │ ├── helpers │ ├── structured_output.rb │ └── structured_output │ │ ├── array_of.rb │ │ ├── base_model.rb │ │ ├── boolean.rb │ │ ├── enum_of.rb │ │ ├── json_schema_converter.rb │ │ └── union_of.rb │ ├── internal.rb │ ├── internal │ ├── cursor_page.rb │ ├── page.rb │ ├── stream.rb │ ├── transport │ │ ├── base_client.rb │ │ └── pooled_net_requester.rb │ ├── type │ │ ├── array_of.rb │ │ ├── base_model.rb │ │ ├── base_page.rb │ │ ├── base_stream.rb │ │ ├── boolean.rb │ │ ├── converter.rb │ │ ├── enum.rb │ │ ├── file_input.rb │ │ ├── hash_of.rb │ │ ├── request_parameters.rb │ │ ├── union.rb │ │ └── unknown.rb │ └── util.rb │ ├── models.rb │ ├── models │ ├── all_models.rb │ ├── audio │ │ ├── speech_create_params.rb │ │ ├── speech_model.rb │ │ ├── transcription.rb │ │ ├── transcription_create_params.rb │ │ ├── transcription_create_response.rb │ │ ├── transcription_include.rb │ │ ├── transcription_segment.rb │ │ ├── transcription_stream_event.rb │ │ ├── transcription_text_delta_event.rb │ │ ├── transcription_text_done_event.rb │ │ ├── transcription_verbose.rb │ │ ├── transcription_word.rb │ │ ├── translation.rb │ │ ├── translation_create_params.rb │ │ ├── translation_create_response.rb │ │ └── translation_verbose.rb │ ├── audio_model.rb │ ├── audio_response_format.rb │ ├── auto_file_chunking_strategy_param.rb │ ├── batch.rb │ ├── batch_cancel_params.rb │ ├── batch_create_params.rb │ ├── batch_error.rb │ ├── batch_list_params.rb │ ├── batch_request_counts.rb │ ├── batch_retrieve_params.rb │ ├── beta │ │ ├── assistant.rb │ │ ├── assistant_create_params.rb │ │ ├── assistant_delete_params.rb │ │ ├── assistant_deleted.rb │ │ ├── assistant_list_params.rb │ │ ├── assistant_response_format_option.rb │ │ ├── assistant_retrieve_params.rb │ │ ├── assistant_stream_event.rb │ │ ├── assistant_tool.rb │ │ ├── assistant_tool_choice.rb │ │ ├── assistant_tool_choice_function.rb │ │ ├── assistant_tool_choice_option.rb │ │ ├── assistant_update_params.rb │ │ ├── code_interpreter_tool.rb │ │ ├── file_search_tool.rb │ │ ├── function_tool.rb │ │ ├── message_stream_event.rb │ │ ├── run_step_stream_event.rb │ │ ├── run_stream_event.rb │ │ ├── thread.rb │ │ ├── thread_create_and_run_params.rb │ │ ├── thread_create_params.rb │ │ ├── thread_delete_params.rb │ │ ├── thread_deleted.rb │ │ ├── thread_retrieve_params.rb │ │ ├── thread_stream_event.rb │ │ ├── thread_update_params.rb │ │ └── threads │ │ │ ├── annotation.rb │ │ │ ├── annotation_delta.rb │ │ │ ├── file_citation_annotation.rb │ │ │ ├── file_citation_delta_annotation.rb │ │ │ ├── file_path_annotation.rb │ │ │ ├── file_path_delta_annotation.rb │ │ │ ├── image_file.rb │ │ │ ├── image_file_content_block.rb │ │ │ ├── image_file_delta.rb │ │ │ ├── image_file_delta_block.rb │ │ │ ├── image_url.rb │ │ │ ├── image_url_content_block.rb │ │ │ ├── image_url_delta.rb │ │ │ ├── image_url_delta_block.rb │ │ │ ├── message.rb │ │ │ ├── message_content.rb │ │ │ ├── message_content_delta.rb │ │ │ ├── message_content_part_param.rb │ │ │ ├── message_create_params.rb │ │ │ ├── message_delete_params.rb │ │ │ ├── message_deleted.rb │ │ │ ├── message_delta.rb │ │ │ ├── message_delta_event.rb │ │ │ ├── message_list_params.rb │ │ │ ├── message_retrieve_params.rb │ │ │ ├── message_update_params.rb │ │ │ ├── refusal_content_block.rb │ │ │ ├── refusal_delta_block.rb │ │ │ ├── required_action_function_tool_call.rb │ │ │ ├── run.rb │ │ │ ├── run_cancel_params.rb │ │ │ ├── run_create_params.rb │ │ │ ├── run_list_params.rb │ │ │ ├── run_retrieve_params.rb │ │ │ ├── run_status.rb │ │ │ ├── run_submit_tool_outputs_params.rb │ │ │ ├── run_update_params.rb │ │ │ ├── runs │ │ │ ├── code_interpreter_logs.rb │ │ │ ├── code_interpreter_output_image.rb │ │ │ ├── code_interpreter_tool_call.rb │ │ │ ├── code_interpreter_tool_call_delta.rb │ │ │ ├── file_search_tool_call.rb │ │ │ ├── file_search_tool_call_delta.rb │ │ │ ├── function_tool_call.rb │ │ │ ├── function_tool_call_delta.rb │ │ │ ├── message_creation_step_details.rb │ │ │ ├── run_step.rb │ │ │ ├── run_step_delta.rb │ │ │ ├── run_step_delta_event.rb │ │ │ ├── run_step_delta_message_delta.rb │ │ │ ├── run_step_include.rb │ │ │ ├── step_list_params.rb │ │ │ ├── step_retrieve_params.rb │ │ │ ├── tool_call.rb │ │ │ ├── tool_call_delta.rb │ │ │ ├── tool_call_delta_object.rb │ │ │ └── tool_calls_step_details.rb │ │ │ ├── text.rb │ │ │ ├── text_content_block.rb │ │ │ ├── text_content_block_param.rb │ │ │ ├── text_delta.rb │ │ │ └── text_delta_block.rb │ ├── chat │ │ ├── chat_completion.rb │ │ ├── chat_completion_assistant_message_param.rb │ │ ├── chat_completion_audio.rb │ │ ├── chat_completion_audio_param.rb │ │ ├── chat_completion_chunk.rb │ │ ├── chat_completion_content_part.rb │ │ ├── chat_completion_content_part_image.rb │ │ ├── chat_completion_content_part_input_audio.rb │ │ ├── chat_completion_content_part_refusal.rb │ │ ├── chat_completion_content_part_text.rb │ │ ├── chat_completion_deleted.rb │ │ ├── chat_completion_developer_message_param.rb │ │ ├── chat_completion_function_call_option.rb │ │ ├── chat_completion_function_message_param.rb │ │ ├── chat_completion_message.rb │ │ ├── chat_completion_message_param.rb │ │ ├── chat_completion_message_tool_call.rb │ │ ├── chat_completion_modality.rb │ │ ├── chat_completion_named_tool_choice.rb │ │ ├── chat_completion_prediction_content.rb │ │ ├── chat_completion_reasoning_effort.rb │ │ ├── chat_completion_role.rb │ │ ├── chat_completion_store_message.rb │ │ ├── chat_completion_stream_options.rb │ │ ├── chat_completion_system_message_param.rb │ │ ├── chat_completion_token_logprob.rb │ │ ├── chat_completion_tool.rb │ │ ├── chat_completion_tool_choice_option.rb │ │ ├── chat_completion_tool_message_param.rb │ │ ├── chat_completion_user_message_param.rb │ │ ├── completion_create_params.rb │ │ ├── completion_delete_params.rb │ │ ├── completion_list_params.rb │ │ ├── completion_retrieve_params.rb │ │ ├── completion_update_params.rb │ │ └── completions │ │ │ └── message_list_params.rb │ ├── chat_model.rb │ ├── comparison_filter.rb │ ├── completion.rb │ ├── completion_choice.rb │ ├── completion_create_params.rb │ ├── completion_usage.rb │ ├── compound_filter.rb │ ├── container_create_params.rb │ ├── container_create_response.rb │ ├── container_delete_params.rb │ ├── container_list_params.rb │ ├── container_list_response.rb │ ├── container_retrieve_params.rb │ ├── container_retrieve_response.rb │ ├── containers │ │ ├── file_create_params.rb │ │ ├── file_create_response.rb │ │ ├── file_delete_params.rb │ │ ├── file_list_params.rb │ │ ├── file_list_response.rb │ │ ├── file_retrieve_params.rb │ │ ├── file_retrieve_response.rb │ │ └── files │ │ │ └── content_retrieve_params.rb │ ├── create_embedding_response.rb │ ├── embedding.rb │ ├── embedding_create_params.rb │ ├── embedding_model.rb │ ├── error_object.rb │ ├── eval_create_params.rb │ ├── eval_create_response.rb │ ├── eval_custom_data_source_config.rb │ ├── eval_delete_params.rb │ ├── eval_delete_response.rb │ ├── eval_list_params.rb │ ├── eval_list_response.rb │ ├── eval_retrieve_params.rb │ ├── eval_retrieve_response.rb │ ├── eval_stored_completions_data_source_config.rb │ ├── eval_update_params.rb │ ├── eval_update_response.rb │ ├── evals │ │ ├── create_eval_completions_run_data_source.rb │ │ ├── create_eval_jsonl_run_data_source.rb │ │ ├── eval_api_error.rb │ │ ├── run_cancel_params.rb │ │ ├── run_cancel_response.rb │ │ ├── run_create_params.rb │ │ ├── run_create_response.rb │ │ ├── run_delete_params.rb │ │ ├── run_delete_response.rb │ │ ├── run_list_params.rb │ │ ├── run_list_response.rb │ │ ├── run_retrieve_params.rb │ │ ├── run_retrieve_response.rb │ │ └── runs │ │ │ ├── output_item_list_params.rb │ │ │ ├── output_item_list_response.rb │ │ │ ├── output_item_retrieve_params.rb │ │ │ └── output_item_retrieve_response.rb │ ├── file_chunking_strategy.rb │ ├── file_chunking_strategy_param.rb │ ├── file_content.rb │ ├── file_content_params.rb │ ├── file_create_params.rb │ ├── file_delete_params.rb │ ├── file_deleted.rb │ ├── file_list_params.rb │ ├── file_object.rb │ ├── file_purpose.rb │ ├── file_retrieve_params.rb │ ├── fine_tuning │ │ ├── alpha │ │ │ ├── grader_run_params.rb │ │ │ ├── grader_run_response.rb │ │ │ ├── grader_validate_params.rb │ │ │ └── grader_validate_response.rb │ │ ├── checkpoints │ │ │ ├── permission_create_params.rb │ │ │ ├── permission_create_response.rb │ │ │ ├── permission_delete_params.rb │ │ │ ├── permission_delete_response.rb │ │ │ ├── permission_retrieve_params.rb │ │ │ └── permission_retrieve_response.rb │ │ ├── dpo_hyperparameters.rb │ │ ├── dpo_method.rb │ │ ├── fine_tuning_job.rb │ │ ├── fine_tuning_job_event.rb │ │ ├── fine_tuning_job_integration.rb │ │ ├── fine_tuning_job_wandb_integration.rb │ │ ├── fine_tuning_job_wandb_integration_object.rb │ │ ├── job_cancel_params.rb │ │ ├── job_create_params.rb │ │ ├── job_list_events_params.rb │ │ ├── job_list_params.rb │ │ ├── job_pause_params.rb │ │ ├── job_resume_params.rb │ │ ├── job_retrieve_params.rb │ │ ├── jobs │ │ │ ├── checkpoint_list_params.rb │ │ │ └── fine_tuning_job_checkpoint.rb │ │ ├── reinforcement_hyperparameters.rb │ │ ├── reinforcement_method.rb │ │ ├── supervised_hyperparameters.rb │ │ └── supervised_method.rb │ ├── function_definition.rb │ ├── function_parameters.rb │ ├── graders │ │ ├── label_model_grader.rb │ │ ├── multi_grader.rb │ │ ├── python_grader.rb │ │ ├── score_model_grader.rb │ │ ├── string_check_grader.rb │ │ └── text_similarity_grader.rb │ ├── image.rb │ ├── image_create_variation_params.rb │ ├── image_edit_params.rb │ ├── image_generate_params.rb │ ├── image_model.rb │ ├── images_response.rb │ ├── metadata.rb │ ├── model.rb │ ├── model_delete_params.rb │ ├── model_deleted.rb │ ├── model_list_params.rb │ ├── model_retrieve_params.rb │ ├── moderation.rb │ ├── moderation_create_params.rb │ ├── moderation_create_response.rb │ ├── moderation_image_url_input.rb │ ├── moderation_model.rb │ ├── moderation_multi_modal_input.rb │ ├── moderation_text_input.rb │ ├── other_file_chunking_strategy_object.rb │ ├── reasoning.rb │ ├── reasoning_effort.rb │ ├── response_format_json_object.rb │ ├── response_format_json_schema.rb │ ├── response_format_text.rb │ ├── responses │ │ ├── computer_tool.rb │ │ ├── easy_input_message.rb │ │ ├── file_search_tool.rb │ │ ├── function_tool.rb │ │ ├── input_item_list_params.rb │ │ ├── response.rb │ │ ├── response_audio_delta_event.rb │ │ ├── response_audio_done_event.rb │ │ ├── response_audio_transcript_delta_event.rb │ │ ├── response_audio_transcript_done_event.rb │ │ ├── response_cancel_params.rb │ │ ├── response_code_interpreter_call_code_delta_event.rb │ │ ├── response_code_interpreter_call_code_done_event.rb │ │ ├── response_code_interpreter_call_completed_event.rb │ │ ├── response_code_interpreter_call_in_progress_event.rb │ │ ├── response_code_interpreter_call_interpreting_event.rb │ │ ├── response_code_interpreter_tool_call.rb │ │ ├── response_completed_event.rb │ │ ├── response_computer_tool_call.rb │ │ ├── response_computer_tool_call_output_item.rb │ │ ├── response_computer_tool_call_output_screenshot.rb │ │ ├── response_content.rb │ │ ├── response_content_part_added_event.rb │ │ ├── response_content_part_done_event.rb │ │ ├── response_create_params.rb │ │ ├── response_created_event.rb │ │ ├── response_delete_params.rb │ │ ├── response_error.rb │ │ ├── response_error_event.rb │ │ ├── response_failed_event.rb │ │ ├── response_file_search_call_completed_event.rb │ │ ├── response_file_search_call_in_progress_event.rb │ │ ├── response_file_search_call_searching_event.rb │ │ ├── response_file_search_tool_call.rb │ │ ├── response_format_text_config.rb │ │ ├── response_format_text_json_schema_config.rb │ │ ├── response_function_call_arguments_delta_event.rb │ │ ├── response_function_call_arguments_done_event.rb │ │ ├── response_function_tool_call.rb │ │ ├── response_function_tool_call_item.rb │ │ ├── response_function_tool_call_output_item.rb │ │ ├── response_function_web_search.rb │ │ ├── response_image_gen_call_completed_event.rb │ │ ├── response_image_gen_call_generating_event.rb │ │ ├── response_image_gen_call_in_progress_event.rb │ │ ├── response_image_gen_call_partial_image_event.rb │ │ ├── response_in_progress_event.rb │ │ ├── response_includable.rb │ │ ├── response_incomplete_event.rb │ │ ├── response_input.rb │ │ ├── response_input_audio.rb │ │ ├── response_input_content.rb │ │ ├── response_input_file.rb │ │ ├── response_input_image.rb │ │ ├── response_input_item.rb │ │ ├── response_input_message_content_list.rb │ │ ├── response_input_message_item.rb │ │ ├── response_input_text.rb │ │ ├── response_item.rb │ │ ├── response_item_list.rb │ │ ├── response_mcp_call_arguments_delta_event.rb │ │ ├── response_mcp_call_arguments_done_event.rb │ │ ├── response_mcp_call_completed_event.rb │ │ ├── response_mcp_call_failed_event.rb │ │ ├── response_mcp_call_in_progress_event.rb │ │ ├── response_mcp_list_tools_completed_event.rb │ │ ├── response_mcp_list_tools_failed_event.rb │ │ ├── response_mcp_list_tools_in_progress_event.rb │ │ ├── response_output_audio.rb │ │ ├── response_output_item.rb │ │ ├── response_output_item_added_event.rb │ │ ├── response_output_item_done_event.rb │ │ ├── response_output_message.rb │ │ ├── response_output_refusal.rb │ │ ├── response_output_text.rb │ │ ├── response_output_text_annotation_added_event.rb │ │ ├── response_queued_event.rb │ │ ├── response_reasoning_delta_event.rb │ │ ├── response_reasoning_done_event.rb │ │ ├── response_reasoning_item.rb │ │ ├── response_reasoning_summary_delta_event.rb │ │ ├── response_reasoning_summary_done_event.rb │ │ ├── response_reasoning_summary_part_added_event.rb │ │ ├── response_reasoning_summary_part_done_event.rb │ │ ├── response_reasoning_summary_text_delta_event.rb │ │ ├── response_reasoning_summary_text_done_event.rb │ │ ├── response_refusal_delta_event.rb │ │ ├── response_refusal_done_event.rb │ │ ├── response_retrieve_params.rb │ │ ├── response_status.rb │ │ ├── response_stream_event.rb │ │ ├── response_text_config.rb │ │ ├── response_text_delta_event.rb │ │ ├── response_text_done_event.rb │ │ ├── response_usage.rb │ │ ├── response_web_search_call_completed_event.rb │ │ ├── response_web_search_call_in_progress_event.rb │ │ ├── response_web_search_call_searching_event.rb │ │ ├── tool.rb │ │ ├── tool_choice_function.rb │ │ ├── tool_choice_options.rb │ │ ├── tool_choice_types.rb │ │ └── web_search_tool.rb │ ├── responses_model.rb │ ├── static_file_chunking_strategy.rb │ ├── static_file_chunking_strategy_object.rb │ ├── static_file_chunking_strategy_object_param.rb │ ├── upload.rb │ ├── upload_cancel_params.rb │ ├── upload_complete_params.rb │ ├── upload_create_params.rb │ ├── uploads │ │ ├── part_create_params.rb │ │ └── upload_part.rb │ ├── vector_store.rb │ ├── vector_store_create_params.rb │ ├── vector_store_delete_params.rb │ ├── vector_store_deleted.rb │ ├── vector_store_list_params.rb │ ├── vector_store_retrieve_params.rb │ ├── vector_store_search_params.rb │ ├── vector_store_search_response.rb │ ├── vector_store_update_params.rb │ └── vector_stores │ │ ├── file_batch_cancel_params.rb │ │ ├── file_batch_create_params.rb │ │ ├── file_batch_list_files_params.rb │ │ ├── file_batch_retrieve_params.rb │ │ ├── file_content_params.rb │ │ ├── file_content_response.rb │ │ ├── file_create_params.rb │ │ ├── file_delete_params.rb │ │ ├── file_list_params.rb │ │ ├── file_retrieve_params.rb │ │ ├── file_update_params.rb │ │ ├── vector_store_file.rb │ │ ├── vector_store_file_batch.rb │ │ └── vector_store_file_deleted.rb │ ├── request_options.rb │ ├── resources │ ├── audio.rb │ ├── audio │ │ ├── speech.rb │ │ ├── transcriptions.rb │ │ └── translations.rb │ ├── batches.rb │ ├── beta.rb │ ├── beta │ │ ├── assistants.rb │ │ ├── threads.rb │ │ └── threads │ │ │ ├── messages.rb │ │ │ ├── runs.rb │ │ │ └── runs │ │ │ └── steps.rb │ ├── chat.rb │ ├── chat │ │ ├── completions.rb │ │ └── completions │ │ │ └── messages.rb │ ├── completions.rb │ ├── containers.rb │ ├── containers │ │ ├── files.rb │ │ └── files │ │ │ └── content.rb │ ├── embeddings.rb │ ├── evals.rb │ ├── evals │ │ ├── runs.rb │ │ └── runs │ │ │ └── output_items.rb │ ├── files.rb │ ├── fine_tuning.rb │ ├── fine_tuning │ │ ├── alpha.rb │ │ ├── alpha │ │ │ └── graders.rb │ │ ├── checkpoints.rb │ │ ├── checkpoints │ │ │ └── permissions.rb │ │ ├── jobs.rb │ │ ├── jobs │ │ │ └── checkpoints.rb │ │ └── methods.rb │ ├── graders.rb │ ├── graders │ │ └── grader_models.rb │ ├── images.rb │ ├── models.rb │ ├── moderations.rb │ ├── responses.rb │ ├── responses │ │ └── input_items.rb │ ├── uploads.rb │ ├── uploads │ │ └── parts.rb │ ├── vector_stores.rb │ └── vector_stores │ │ ├── file_batches.rb │ │ └── files.rb │ ├── structured_output.rb │ └── version.rb ├── manifest.yaml ├── openai.gemspec ├── rbi └── openai │ ├── client.rbi │ ├── errors.rbi │ ├── file_part.rbi │ ├── helpers │ ├── structured_output.rbi │ └── structured_output │ │ ├── array_of.rbi │ │ ├── base_model.rbi │ │ ├── boolean.rbi │ │ ├── enum_of.rbi │ │ ├── json_schema_converter.rbi │ │ └── union_of.rbi │ ├── internal.rbi │ ├── internal │ ├── cursor_page.rbi │ ├── page.rbi │ ├── stream.rbi │ ├── transport │ │ ├── base_client.rbi │ │ └── pooled_net_requester.rbi │ ├── type │ │ ├── array_of.rbi │ │ ├── base_model.rbi │ │ ├── base_page.rbi │ │ ├── base_stream.rbi │ │ ├── boolean.rbi │ │ ├── converter.rbi │ │ ├── enum.rbi │ │ ├── file_input.rbi │ │ ├── hash_of.rbi │ │ ├── request_parameters.rbi │ │ ├── union.rbi │ │ └── unknown.rbi │ └── util.rbi │ ├── models.rbi │ ├── models │ ├── all_models.rbi │ ├── audio │ │ ├── speech_create_params.rbi │ │ ├── speech_model.rbi │ │ ├── transcription.rbi │ │ ├── transcription_create_params.rbi │ │ ├── transcription_create_response.rbi │ │ ├── transcription_include.rbi │ │ ├── transcription_segment.rbi │ │ ├── transcription_stream_event.rbi │ │ ├── transcription_text_delta_event.rbi │ │ ├── transcription_text_done_event.rbi │ │ ├── transcription_verbose.rbi │ │ ├── transcription_word.rbi │ │ ├── translation.rbi │ │ ├── translation_create_params.rbi │ │ ├── translation_create_response.rbi │ │ └── translation_verbose.rbi │ ├── audio_model.rbi │ ├── audio_response_format.rbi │ ├── auto_file_chunking_strategy_param.rbi │ ├── batch.rbi │ ├── batch_cancel_params.rbi │ ├── batch_create_params.rbi │ ├── batch_error.rbi │ ├── batch_list_params.rbi │ ├── batch_request_counts.rbi │ ├── batch_retrieve_params.rbi │ ├── beta │ │ ├── assistant.rbi │ │ ├── assistant_create_params.rbi │ │ ├── assistant_delete_params.rbi │ │ ├── assistant_deleted.rbi │ │ ├── assistant_list_params.rbi │ │ ├── assistant_response_format_option.rbi │ │ ├── assistant_retrieve_params.rbi │ │ ├── assistant_stream_event.rbi │ │ ├── assistant_tool.rbi │ │ ├── assistant_tool_choice.rbi │ │ ├── assistant_tool_choice_function.rbi │ │ ├── assistant_tool_choice_option.rbi │ │ ├── assistant_update_params.rbi │ │ ├── code_interpreter_tool.rbi │ │ ├── file_search_tool.rbi │ │ ├── function_tool.rbi │ │ ├── message_stream_event.rbi │ │ ├── run_step_stream_event.rbi │ │ ├── run_stream_event.rbi │ │ ├── thread.rbi │ │ ├── thread_create_and_run_params.rbi │ │ ├── thread_create_params.rbi │ │ ├── thread_delete_params.rbi │ │ ├── thread_deleted.rbi │ │ ├── thread_retrieve_params.rbi │ │ ├── thread_stream_event.rbi │ │ ├── thread_update_params.rbi │ │ └── threads │ │ │ ├── annotation.rbi │ │ │ ├── annotation_delta.rbi │ │ │ ├── file_citation_annotation.rbi │ │ │ ├── file_citation_delta_annotation.rbi │ │ │ ├── file_path_annotation.rbi │ │ │ ├── file_path_delta_annotation.rbi │ │ │ ├── image_file.rbi │ │ │ ├── image_file_content_block.rbi │ │ │ ├── image_file_delta.rbi │ │ │ ├── image_file_delta_block.rbi │ │ │ ├── image_url.rbi │ │ │ ├── image_url_content_block.rbi │ │ │ ├── image_url_delta.rbi │ │ │ ├── image_url_delta_block.rbi │ │ │ ├── message.rbi │ │ │ ├── message_content.rbi │ │ │ ├── message_content_delta.rbi │ │ │ ├── message_content_part_param.rbi │ │ │ ├── message_create_params.rbi │ │ │ ├── message_delete_params.rbi │ │ │ ├── message_deleted.rbi │ │ │ ├── message_delta.rbi │ │ │ ├── message_delta_event.rbi │ │ │ ├── message_list_params.rbi │ │ │ ├── message_retrieve_params.rbi │ │ │ ├── message_update_params.rbi │ │ │ ├── refusal_content_block.rbi │ │ │ ├── refusal_delta_block.rbi │ │ │ ├── required_action_function_tool_call.rbi │ │ │ ├── run.rbi │ │ │ ├── run_cancel_params.rbi │ │ │ ├── run_create_params.rbi │ │ │ ├── run_list_params.rbi │ │ │ ├── run_retrieve_params.rbi │ │ │ ├── run_status.rbi │ │ │ ├── run_submit_tool_outputs_params.rbi │ │ │ ├── run_update_params.rbi │ │ │ ├── runs │ │ │ ├── code_interpreter_logs.rbi │ │ │ ├── code_interpreter_output_image.rbi │ │ │ ├── code_interpreter_tool_call.rbi │ │ │ ├── code_interpreter_tool_call_delta.rbi │ │ │ ├── file_search_tool_call.rbi │ │ │ ├── file_search_tool_call_delta.rbi │ │ │ ├── function_tool_call.rbi │ │ │ ├── function_tool_call_delta.rbi │ │ │ ├── message_creation_step_details.rbi │ │ │ ├── run_step.rbi │ │ │ ├── run_step_delta.rbi │ │ │ ├── run_step_delta_event.rbi │ │ │ ├── run_step_delta_message_delta.rbi │ │ │ ├── run_step_include.rbi │ │ │ ├── step_list_params.rbi │ │ │ ├── step_retrieve_params.rbi │ │ │ ├── tool_call.rbi │ │ │ ├── tool_call_delta.rbi │ │ │ ├── tool_call_delta_object.rbi │ │ │ └── tool_calls_step_details.rbi │ │ │ ├── text.rbi │ │ │ ├── text_content_block.rbi │ │ │ ├── text_content_block_param.rbi │ │ │ ├── text_delta.rbi │ │ │ └── text_delta_block.rbi │ ├── chat │ │ ├── chat_completion.rbi │ │ ├── chat_completion_assistant_message_param.rbi │ │ ├── chat_completion_audio.rbi │ │ ├── chat_completion_audio_param.rbi │ │ ├── chat_completion_chunk.rbi │ │ ├── chat_completion_content_part.rbi │ │ ├── chat_completion_content_part_image.rbi │ │ ├── chat_completion_content_part_input_audio.rbi │ │ ├── chat_completion_content_part_refusal.rbi │ │ ├── chat_completion_content_part_text.rbi │ │ ├── chat_completion_deleted.rbi │ │ ├── chat_completion_developer_message_param.rbi │ │ ├── chat_completion_function_call_option.rbi │ │ ├── chat_completion_function_message_param.rbi │ │ ├── chat_completion_message.rbi │ │ ├── chat_completion_message_param.rbi │ │ ├── chat_completion_message_tool_call.rbi │ │ ├── chat_completion_modality.rbi │ │ ├── chat_completion_named_tool_choice.rbi │ │ ├── chat_completion_prediction_content.rbi │ │ ├── chat_completion_reasoning_effort.rbi │ │ ├── chat_completion_role.rbi │ │ ├── chat_completion_store_message.rbi │ │ ├── chat_completion_stream_options.rbi │ │ ├── chat_completion_system_message_param.rbi │ │ ├── chat_completion_token_logprob.rbi │ │ ├── chat_completion_tool.rbi │ │ ├── chat_completion_tool_choice_option.rbi │ │ ├── chat_completion_tool_message_param.rbi │ │ ├── chat_completion_user_message_param.rbi │ │ ├── completion_create_params.rbi │ │ ├── completion_delete_params.rbi │ │ ├── completion_list_params.rbi │ │ ├── completion_retrieve_params.rbi │ │ ├── completion_update_params.rbi │ │ └── completions │ │ │ └── message_list_params.rbi │ ├── chat_model.rbi │ ├── comparison_filter.rbi │ ├── completion.rbi │ ├── completion_choice.rbi │ ├── completion_create_params.rbi │ ├── completion_usage.rbi │ ├── compound_filter.rbi │ ├── container_create_params.rbi │ ├── container_create_response.rbi │ ├── container_delete_params.rbi │ ├── container_list_params.rbi │ ├── container_list_response.rbi │ ├── container_retrieve_params.rbi │ ├── container_retrieve_response.rbi │ ├── containers │ │ ├── file_create_params.rbi │ │ ├── file_create_response.rbi │ │ ├── file_delete_params.rbi │ │ ├── file_list_params.rbi │ │ ├── file_list_response.rbi │ │ ├── file_retrieve_params.rbi │ │ ├── file_retrieve_response.rbi │ │ └── files │ │ │ └── content_retrieve_params.rbi │ ├── create_embedding_response.rbi │ ├── embedding.rbi │ ├── embedding_create_params.rbi │ ├── embedding_model.rbi │ ├── error_object.rbi │ ├── eval_create_params.rbi │ ├── eval_create_response.rbi │ ├── eval_custom_data_source_config.rbi │ ├── eval_delete_params.rbi │ ├── eval_delete_response.rbi │ ├── eval_list_params.rbi │ ├── eval_list_response.rbi │ ├── eval_retrieve_params.rbi │ ├── eval_retrieve_response.rbi │ ├── eval_stored_completions_data_source_config.rbi │ ├── eval_update_params.rbi │ ├── eval_update_response.rbi │ ├── evals │ │ ├── create_eval_completions_run_data_source.rbi │ │ ├── create_eval_jsonl_run_data_source.rbi │ │ ├── eval_api_error.rbi │ │ ├── run_cancel_params.rbi │ │ ├── run_cancel_response.rbi │ │ ├── run_create_params.rbi │ │ ├── run_create_response.rbi │ │ ├── run_delete_params.rbi │ │ ├── run_delete_response.rbi │ │ ├── run_list_params.rbi │ │ ├── run_list_response.rbi │ │ ├── run_retrieve_params.rbi │ │ ├── run_retrieve_response.rbi │ │ └── runs │ │ │ ├── output_item_list_params.rbi │ │ │ ├── output_item_list_response.rbi │ │ │ ├── output_item_retrieve_params.rbi │ │ │ └── output_item_retrieve_response.rbi │ ├── file_chunking_strategy.rbi │ ├── file_chunking_strategy_param.rbi │ ├── file_content.rbi │ ├── file_content_params.rbi │ ├── file_create_params.rbi │ ├── file_delete_params.rbi │ ├── file_deleted.rbi │ ├── file_list_params.rbi │ ├── file_object.rbi │ ├── file_purpose.rbi │ ├── file_retrieve_params.rbi │ ├── fine_tuning │ │ ├── alpha │ │ │ ├── grader_run_params.rbi │ │ │ ├── grader_run_response.rbi │ │ │ ├── grader_validate_params.rbi │ │ │ └── grader_validate_response.rbi │ │ ├── checkpoints │ │ │ ├── permission_create_params.rbi │ │ │ ├── permission_create_response.rbi │ │ │ ├── permission_delete_params.rbi │ │ │ ├── permission_delete_response.rbi │ │ │ ├── permission_retrieve_params.rbi │ │ │ └── permission_retrieve_response.rbi │ │ ├── dpo_hyperparameters.rbi │ │ ├── dpo_method.rbi │ │ ├── fine_tuning_job.rbi │ │ ├── fine_tuning_job_event.rbi │ │ ├── fine_tuning_job_integration.rbi │ │ ├── fine_tuning_job_wandb_integration.rbi │ │ ├── fine_tuning_job_wandb_integration_object.rbi │ │ ├── job_cancel_params.rbi │ │ ├── job_create_params.rbi │ │ ├── job_list_events_params.rbi │ │ ├── job_list_params.rbi │ │ ├── job_pause_params.rbi │ │ ├── job_resume_params.rbi │ │ ├── job_retrieve_params.rbi │ │ ├── jobs │ │ │ ├── checkpoint_list_params.rbi │ │ │ └── fine_tuning_job_checkpoint.rbi │ │ ├── reinforcement_hyperparameters.rbi │ │ ├── reinforcement_method.rbi │ │ ├── supervised_hyperparameters.rbi │ │ └── supervised_method.rbi │ ├── function_definition.rbi │ ├── function_parameters.rbi │ ├── graders │ │ ├── label_model_grader.rbi │ │ ├── multi_grader.rbi │ │ ├── python_grader.rbi │ │ ├── score_model_grader.rbi │ │ ├── string_check_grader.rbi │ │ └── text_similarity_grader.rbi │ ├── image.rbi │ ├── image_create_variation_params.rbi │ ├── image_edit_params.rbi │ ├── image_generate_params.rbi │ ├── image_model.rbi │ ├── images_response.rbi │ ├── metadata.rbi │ ├── model.rbi │ ├── model_delete_params.rbi │ ├── model_deleted.rbi │ ├── model_list_params.rbi │ ├── model_retrieve_params.rbi │ ├── moderation.rbi │ ├── moderation_create_params.rbi │ ├── moderation_create_response.rbi │ ├── moderation_image_url_input.rbi │ ├── moderation_model.rbi │ ├── moderation_multi_modal_input.rbi │ ├── moderation_text_input.rbi │ ├── other_file_chunking_strategy_object.rbi │ ├── reasoning.rbi │ ├── reasoning_effort.rbi │ ├── response_format_json_object.rbi │ ├── response_format_json_schema.rbi │ ├── response_format_text.rbi │ ├── responses │ │ ├── computer_tool.rbi │ │ ├── easy_input_message.rbi │ │ ├── file_search_tool.rbi │ │ ├── function_tool.rbi │ │ ├── input_item_list_params.rbi │ │ ├── response.rbi │ │ ├── response_audio_delta_event.rbi │ │ ├── response_audio_done_event.rbi │ │ ├── response_audio_transcript_delta_event.rbi │ │ ├── response_audio_transcript_done_event.rbi │ │ ├── response_cancel_params.rbi │ │ ├── response_code_interpreter_call_code_delta_event.rbi │ │ ├── response_code_interpreter_call_code_done_event.rbi │ │ ├── response_code_interpreter_call_completed_event.rbi │ │ ├── response_code_interpreter_call_in_progress_event.rbi │ │ ├── response_code_interpreter_call_interpreting_event.rbi │ │ ├── response_code_interpreter_tool_call.rbi │ │ ├── response_completed_event.rbi │ │ ├── response_computer_tool_call.rbi │ │ ├── response_computer_tool_call_output_item.rbi │ │ ├── response_computer_tool_call_output_screenshot.rbi │ │ ├── response_content.rbi │ │ ├── response_content_part_added_event.rbi │ │ ├── response_content_part_done_event.rbi │ │ ├── response_create_params.rbi │ │ ├── response_created_event.rbi │ │ ├── response_delete_params.rbi │ │ ├── response_error.rbi │ │ ├── response_error_event.rbi │ │ ├── response_failed_event.rbi │ │ ├── response_file_search_call_completed_event.rbi │ │ ├── response_file_search_call_in_progress_event.rbi │ │ ├── response_file_search_call_searching_event.rbi │ │ ├── response_file_search_tool_call.rbi │ │ ├── response_format_text_config.rbi │ │ ├── response_format_text_json_schema_config.rbi │ │ ├── response_function_call_arguments_delta_event.rbi │ │ ├── response_function_call_arguments_done_event.rbi │ │ ├── response_function_tool_call.rbi │ │ ├── response_function_tool_call_item.rbi │ │ ├── response_function_tool_call_output_item.rbi │ │ ├── response_function_web_search.rbi │ │ ├── response_image_gen_call_completed_event.rbi │ │ ├── response_image_gen_call_generating_event.rbi │ │ ├── response_image_gen_call_in_progress_event.rbi │ │ ├── response_image_gen_call_partial_image_event.rbi │ │ ├── response_in_progress_event.rbi │ │ ├── response_includable.rbi │ │ ├── response_incomplete_event.rbi │ │ ├── response_input.rbi │ │ ├── response_input_audio.rbi │ │ ├── response_input_content.rbi │ │ ├── response_input_file.rbi │ │ ├── response_input_image.rbi │ │ ├── response_input_item.rbi │ │ ├── response_input_message_content_list.rbi │ │ ├── response_input_message_item.rbi │ │ ├── response_input_text.rbi │ │ ├── response_item.rbi │ │ ├── response_item_list.rbi │ │ ├── response_mcp_call_arguments_delta_event.rbi │ │ ├── response_mcp_call_arguments_done_event.rbi │ │ ├── response_mcp_call_completed_event.rbi │ │ ├── response_mcp_call_failed_event.rbi │ │ ├── response_mcp_call_in_progress_event.rbi │ │ ├── response_mcp_list_tools_completed_event.rbi │ │ ├── response_mcp_list_tools_failed_event.rbi │ │ ├── response_mcp_list_tools_in_progress_event.rbi │ │ ├── response_output_audio.rbi │ │ ├── response_output_item.rbi │ │ ├── response_output_item_added_event.rbi │ │ ├── response_output_item_done_event.rbi │ │ ├── response_output_message.rbi │ │ ├── response_output_refusal.rbi │ │ ├── response_output_text.rbi │ │ ├── response_output_text_annotation_added_event.rbi │ │ ├── response_queued_event.rbi │ │ ├── response_reasoning_delta_event.rbi │ │ ├── response_reasoning_done_event.rbi │ │ ├── response_reasoning_item.rbi │ │ ├── response_reasoning_summary_delta_event.rbi │ │ ├── response_reasoning_summary_done_event.rbi │ │ ├── response_reasoning_summary_part_added_event.rbi │ │ ├── response_reasoning_summary_part_done_event.rbi │ │ ├── response_reasoning_summary_text_delta_event.rbi │ │ ├── response_reasoning_summary_text_done_event.rbi │ │ ├── response_refusal_delta_event.rbi │ │ ├── response_refusal_done_event.rbi │ │ ├── response_retrieve_params.rbi │ │ ├── response_status.rbi │ │ ├── response_stream_event.rbi │ │ ├── response_text_config.rbi │ │ ├── response_text_delta_event.rbi │ │ ├── response_text_done_event.rbi │ │ ├── response_usage.rbi │ │ ├── response_web_search_call_completed_event.rbi │ │ ├── response_web_search_call_in_progress_event.rbi │ │ ├── response_web_search_call_searching_event.rbi │ │ ├── tool.rbi │ │ ├── tool_choice_function.rbi │ │ ├── tool_choice_options.rbi │ │ ├── tool_choice_types.rbi │ │ └── web_search_tool.rbi │ ├── responses_model.rbi │ ├── static_file_chunking_strategy.rbi │ ├── static_file_chunking_strategy_object.rbi │ ├── static_file_chunking_strategy_object_param.rbi │ ├── upload.rbi │ ├── upload_cancel_params.rbi │ ├── upload_complete_params.rbi │ ├── upload_create_params.rbi │ ├── uploads │ │ ├── part_create_params.rbi │ │ └── upload_part.rbi │ ├── vector_store.rbi │ ├── vector_store_create_params.rbi │ ├── vector_store_delete_params.rbi │ ├── vector_store_deleted.rbi │ ├── vector_store_list_params.rbi │ ├── vector_store_retrieve_params.rbi │ ├── vector_store_search_params.rbi │ ├── vector_store_search_response.rbi │ ├── vector_store_update_params.rbi │ └── vector_stores │ │ ├── file_batch_cancel_params.rbi │ │ ├── file_batch_create_params.rbi │ │ ├── file_batch_list_files_params.rbi │ │ ├── file_batch_retrieve_params.rbi │ │ ├── file_content_params.rbi │ │ ├── file_content_response.rbi │ │ ├── file_create_params.rbi │ │ ├── file_delete_params.rbi │ │ ├── file_list_params.rbi │ │ ├── file_retrieve_params.rbi │ │ ├── file_update_params.rbi │ │ ├── vector_store_file.rbi │ │ ├── vector_store_file_batch.rbi │ │ └── vector_store_file_deleted.rbi │ ├── request_options.rbi │ ├── resources │ ├── audio.rbi │ ├── audio │ │ ├── speech.rbi │ │ ├── transcriptions.rbi │ │ └── translations.rbi │ ├── batches.rbi │ ├── beta.rbi │ ├── beta │ │ ├── assistants.rbi │ │ ├── threads.rbi │ │ └── threads │ │ │ ├── messages.rbi │ │ │ ├── runs.rbi │ │ │ └── runs │ │ │ └── steps.rbi │ ├── chat.rbi │ ├── chat │ │ ├── completions.rbi │ │ └── completions │ │ │ └── messages.rbi │ ├── completions.rbi │ ├── containers.rbi │ ├── containers │ │ ├── files.rbi │ │ └── files │ │ │ └── content.rbi │ ├── embeddings.rbi │ ├── evals.rbi │ ├── evals │ │ ├── runs.rbi │ │ └── runs │ │ │ └── output_items.rbi │ ├── files.rbi │ ├── fine_tuning.rbi │ ├── fine_tuning │ │ ├── alpha.rbi │ │ ├── alpha │ │ │ └── graders.rbi │ │ ├── checkpoints.rbi │ │ ├── checkpoints │ │ │ └── permissions.rbi │ │ ├── jobs.rbi │ │ ├── jobs │ │ │ └── checkpoints.rbi │ │ └── methods.rbi │ ├── graders.rbi │ ├── graders │ │ └── grader_models.rbi │ ├── images.rbi │ ├── models.rbi │ ├── moderations.rbi │ ├── responses.rbi │ ├── responses │ │ └── input_items.rbi │ ├── uploads.rbi │ ├── uploads │ │ └── parts.rbi │ ├── vector_stores.rbi │ └── vector_stores │ │ ├── file_batches.rbi │ │ └── files.rbi │ ├── structured_output.rbi │ └── version.rbi ├── release-please-config.json ├── scripts ├── bootstrap ├── format ├── lint ├── mock └── test ├── sig └── openai │ ├── client.rbs │ ├── errors.rbs │ ├── file_part.rbs │ ├── internal.rbs │ ├── internal │ ├── cursor_page.rbs │ ├── page.rbs │ ├── stream.rbs │ ├── transport │ │ ├── base_client.rbs │ │ └── pooled_net_requester.rbs │ ├── type │ │ ├── array_of.rbs │ │ ├── base_model.rbs │ │ ├── base_page.rbs │ │ ├── base_stream.rbs │ │ ├── boolean.rbs │ │ ├── converter.rbs │ │ ├── enum.rbs │ │ ├── file_input.rbs │ │ ├── hash_of.rbs │ │ ├── request_parameters.rbs │ │ ├── union.rbs │ │ └── unknown.rbs │ └── util.rbs │ ├── models.rbs │ ├── models │ ├── all_models.rbs │ ├── audio │ │ ├── speech_create_params.rbs │ │ ├── speech_model.rbs │ │ ├── transcription.rbs │ │ ├── transcription_create_params.rbs │ │ ├── transcription_create_response.rbs │ │ ├── transcription_include.rbs │ │ ├── transcription_segment.rbs │ │ ├── transcription_stream_event.rbs │ │ ├── transcription_text_delta_event.rbs │ │ ├── transcription_text_done_event.rbs │ │ ├── transcription_verbose.rbs │ │ ├── transcription_word.rbs │ │ ├── translation.rbs │ │ ├── translation_create_params.rbs │ │ ├── translation_create_response.rbs │ │ └── translation_verbose.rbs │ ├── audio_model.rbs │ ├── audio_response_format.rbs │ ├── auto_file_chunking_strategy_param.rbs │ ├── batch.rbs │ ├── batch_cancel_params.rbs │ ├── batch_create_params.rbs │ ├── batch_error.rbs │ ├── batch_list_params.rbs │ ├── batch_request_counts.rbs │ ├── batch_retrieve_params.rbs │ ├── beta │ │ ├── assistant.rbs │ │ ├── assistant_create_params.rbs │ │ ├── assistant_delete_params.rbs │ │ ├── assistant_deleted.rbs │ │ ├── assistant_list_params.rbs │ │ ├── assistant_response_format_option.rbs │ │ ├── assistant_retrieve_params.rbs │ │ ├── assistant_stream_event.rbs │ │ ├── assistant_tool.rbs │ │ ├── assistant_tool_choice.rbs │ │ ├── assistant_tool_choice_function.rbs │ │ ├── assistant_tool_choice_option.rbs │ │ ├── assistant_update_params.rbs │ │ ├── code_interpreter_tool.rbs │ │ ├── file_search_tool.rbs │ │ ├── function_tool.rbs │ │ ├── message_stream_event.rbs │ │ ├── run_step_stream_event.rbs │ │ ├── run_stream_event.rbs │ │ ├── thread.rbs │ │ ├── thread_create_and_run_params.rbs │ │ ├── thread_create_params.rbs │ │ ├── thread_delete_params.rbs │ │ ├── thread_deleted.rbs │ │ ├── thread_retrieve_params.rbs │ │ ├── thread_stream_event.rbs │ │ ├── thread_update_params.rbs │ │ └── threads │ │ │ ├── annotation.rbs │ │ │ ├── annotation_delta.rbs │ │ │ ├── file_citation_annotation.rbs │ │ │ ├── file_citation_delta_annotation.rbs │ │ │ ├── file_path_annotation.rbs │ │ │ ├── file_path_delta_annotation.rbs │ │ │ ├── image_file.rbs │ │ │ ├── image_file_content_block.rbs │ │ │ ├── image_file_delta.rbs │ │ │ ├── image_file_delta_block.rbs │ │ │ ├── image_url.rbs │ │ │ ├── image_url_content_block.rbs │ │ │ ├── image_url_delta.rbs │ │ │ ├── image_url_delta_block.rbs │ │ │ ├── message.rbs │ │ │ ├── message_content.rbs │ │ │ ├── message_content_delta.rbs │ │ │ ├── message_content_part_param.rbs │ │ │ ├── message_create_params.rbs │ │ │ ├── message_delete_params.rbs │ │ │ ├── message_deleted.rbs │ │ │ ├── message_delta.rbs │ │ │ ├── message_delta_event.rbs │ │ │ ├── message_list_params.rbs │ │ │ ├── message_retrieve_params.rbs │ │ │ ├── message_update_params.rbs │ │ │ ├── refusal_content_block.rbs │ │ │ ├── refusal_delta_block.rbs │ │ │ ├── required_action_function_tool_call.rbs │ │ │ ├── run.rbs │ │ │ ├── run_cancel_params.rbs │ │ │ ├── run_create_params.rbs │ │ │ ├── run_list_params.rbs │ │ │ ├── run_retrieve_params.rbs │ │ │ ├── run_status.rbs │ │ │ ├── run_submit_tool_outputs_params.rbs │ │ │ ├── run_update_params.rbs │ │ │ ├── runs │ │ │ ├── code_interpreter_logs.rbs │ │ │ ├── code_interpreter_output_image.rbs │ │ │ ├── code_interpreter_tool_call.rbs │ │ │ ├── code_interpreter_tool_call_delta.rbs │ │ │ ├── file_search_tool_call.rbs │ │ │ ├── file_search_tool_call_delta.rbs │ │ │ ├── function_tool_call.rbs │ │ │ ├── function_tool_call_delta.rbs │ │ │ ├── message_creation_step_details.rbs │ │ │ ├── run_step.rbs │ │ │ ├── run_step_delta.rbs │ │ │ ├── run_step_delta_event.rbs │ │ │ ├── run_step_delta_message_delta.rbs │ │ │ ├── run_step_include.rbs │ │ │ ├── step_list_params.rbs │ │ │ ├── step_retrieve_params.rbs │ │ │ ├── tool_call.rbs │ │ │ ├── tool_call_delta.rbs │ │ │ ├── tool_call_delta_object.rbs │ │ │ └── tool_calls_step_details.rbs │ │ │ ├── text.rbs │ │ │ ├── text_content_block.rbs │ │ │ ├── text_content_block_param.rbs │ │ │ ├── text_delta.rbs │ │ │ └── text_delta_block.rbs │ ├── chat │ │ ├── chat_completion.rbs │ │ ├── chat_completion_assistant_message_param.rbs │ │ ├── chat_completion_audio.rbs │ │ ├── chat_completion_audio_param.rbs │ │ ├── chat_completion_chunk.rbs │ │ ├── chat_completion_content_part.rbs │ │ ├── chat_completion_content_part_image.rbs │ │ ├── chat_completion_content_part_input_audio.rbs │ │ ├── chat_completion_content_part_refusal.rbs │ │ ├── chat_completion_content_part_text.rbs │ │ ├── chat_completion_deleted.rbs │ │ ├── chat_completion_developer_message_param.rbs │ │ ├── chat_completion_function_call_option.rbs │ │ ├── chat_completion_function_message_param.rbs │ │ ├── chat_completion_message.rbs │ │ ├── chat_completion_message_param.rbs │ │ ├── chat_completion_message_tool_call.rbs │ │ ├── chat_completion_modality.rbs │ │ ├── chat_completion_named_tool_choice.rbs │ │ ├── chat_completion_prediction_content.rbs │ │ ├── chat_completion_reasoning_effort.rbs │ │ ├── chat_completion_role.rbs │ │ ├── chat_completion_store_message.rbs │ │ ├── chat_completion_stream_options.rbs │ │ ├── chat_completion_system_message_param.rbs │ │ ├── chat_completion_token_logprob.rbs │ │ ├── chat_completion_tool.rbs │ │ ├── chat_completion_tool_choice_option.rbs │ │ ├── chat_completion_tool_message_param.rbs │ │ ├── chat_completion_user_message_param.rbs │ │ ├── completion_create_params.rbs │ │ ├── completion_delete_params.rbs │ │ ├── completion_list_params.rbs │ │ ├── completion_retrieve_params.rbs │ │ ├── completion_update_params.rbs │ │ └── completions │ │ │ └── message_list_params.rbs │ ├── chat_model.rbs │ ├── comparison_filter.rbs │ ├── completion.rbs │ ├── completion_choice.rbs │ ├── completion_create_params.rbs │ ├── completion_usage.rbs │ ├── compound_filter.rbs │ ├── container_create_params.rbs │ ├── container_create_response.rbs │ ├── container_delete_params.rbs │ ├── container_list_params.rbs │ ├── container_list_response.rbs │ ├── container_retrieve_params.rbs │ ├── container_retrieve_response.rbs │ ├── containers │ │ ├── file_create_params.rbs │ │ ├── file_create_response.rbs │ │ ├── file_delete_params.rbs │ │ ├── file_list_params.rbs │ │ ├── file_list_response.rbs │ │ ├── file_retrieve_params.rbs │ │ ├── file_retrieve_response.rbs │ │ └── files │ │ │ └── content_retrieve_params.rbs │ ├── create_embedding_response.rbs │ ├── embedding.rbs │ ├── embedding_create_params.rbs │ ├── embedding_model.rbs │ ├── error_object.rbs │ ├── eval_create_params.rbs │ ├── eval_create_response.rbs │ ├── eval_custom_data_source_config.rbs │ ├── eval_delete_params.rbs │ ├── eval_delete_response.rbs │ ├── eval_list_params.rbs │ ├── eval_list_response.rbs │ ├── eval_retrieve_params.rbs │ ├── eval_retrieve_response.rbs │ ├── eval_stored_completions_data_source_config.rbs │ ├── eval_update_params.rbs │ ├── eval_update_response.rbs │ ├── evals │ │ ├── create_eval_completions_run_data_source.rbs │ │ ├── create_eval_jsonl_run_data_source.rbs │ │ ├── eval_api_error.rbs │ │ ├── run_cancel_params.rbs │ │ ├── run_cancel_response.rbs │ │ ├── run_create_params.rbs │ │ ├── run_create_response.rbs │ │ ├── run_delete_params.rbs │ │ ├── run_delete_response.rbs │ │ ├── run_list_params.rbs │ │ ├── run_list_response.rbs │ │ ├── run_retrieve_params.rbs │ │ ├── run_retrieve_response.rbs │ │ └── runs │ │ │ ├── output_item_list_params.rbs │ │ │ ├── output_item_list_response.rbs │ │ │ ├── output_item_retrieve_params.rbs │ │ │ └── output_item_retrieve_response.rbs │ ├── file_chunking_strategy.rbs │ ├── file_chunking_strategy_param.rbs │ ├── file_content.rbs │ ├── file_content_params.rbs │ ├── file_create_params.rbs │ ├── file_delete_params.rbs │ ├── file_deleted.rbs │ ├── file_list_params.rbs │ ├── file_object.rbs │ ├── file_purpose.rbs │ ├── file_retrieve_params.rbs │ ├── fine_tuning │ │ ├── alpha │ │ │ ├── grader_run_params.rbs │ │ │ ├── grader_run_response.rbs │ │ │ ├── grader_validate_params.rbs │ │ │ └── grader_validate_response.rbs │ │ ├── checkpoints │ │ │ ├── permission_create_params.rbs │ │ │ ├── permission_create_response.rbs │ │ │ ├── permission_delete_params.rbs │ │ │ ├── permission_delete_response.rbs │ │ │ ├── permission_retrieve_params.rbs │ │ │ └── permission_retrieve_response.rbs │ │ ├── dpo_hyperparameters.rbs │ │ ├── dpo_method.rbs │ │ ├── fine_tuning_job.rbs │ │ ├── fine_tuning_job_event.rbs │ │ ├── fine_tuning_job_integration.rbs │ │ ├── fine_tuning_job_wandb_integration.rbs │ │ ├── fine_tuning_job_wandb_integration_object.rbs │ │ ├── job_cancel_params.rbs │ │ ├── job_create_params.rbs │ │ ├── job_list_events_params.rbs │ │ ├── job_list_params.rbs │ │ ├── job_pause_params.rbs │ │ ├── job_resume_params.rbs │ │ ├── job_retrieve_params.rbs │ │ ├── jobs │ │ │ ├── checkpoint_list_params.rbs │ │ │ └── fine_tuning_job_checkpoint.rbs │ │ ├── reinforcement_hyperparameters.rbs │ │ ├── reinforcement_method.rbs │ │ ├── supervised_hyperparameters.rbs │ │ └── supervised_method.rbs │ ├── function_definition.rbs │ ├── function_parameters.rbs │ ├── graders │ │ ├── label_model_grader.rbs │ │ ├── multi_grader.rbs │ │ ├── python_grader.rbs │ │ ├── score_model_grader.rbs │ │ ├── string_check_grader.rbs │ │ └── text_similarity_grader.rbs │ ├── image.rbs │ ├── image_create_variation_params.rbs │ ├── image_edit_params.rbs │ ├── image_generate_params.rbs │ ├── image_model.rbs │ ├── images_response.rbs │ ├── metadata.rbs │ ├── model.rbs │ ├── model_delete_params.rbs │ ├── model_deleted.rbs │ ├── model_list_params.rbs │ ├── model_retrieve_params.rbs │ ├── moderation.rbs │ ├── moderation_create_params.rbs │ ├── moderation_create_response.rbs │ ├── moderation_image_url_input.rbs │ ├── moderation_model.rbs │ ├── moderation_multi_modal_input.rbs │ ├── moderation_text_input.rbs │ ├── other_file_chunking_strategy_object.rbs │ ├── reasoning.rbs │ ├── reasoning_effort.rbs │ ├── response_format_json_object.rbs │ ├── response_format_json_schema.rbs │ ├── response_format_text.rbs │ ├── responses │ │ ├── computer_tool.rbs │ │ ├── easy_input_message.rbs │ │ ├── file_search_tool.rbs │ │ ├── function_tool.rbs │ │ ├── input_item_list_params.rbs │ │ ├── response.rbs │ │ ├── response_audio_delta_event.rbs │ │ ├── response_audio_done_event.rbs │ │ ├── response_audio_transcript_delta_event.rbs │ │ ├── response_audio_transcript_done_event.rbs │ │ ├── response_cancel_params.rbs │ │ ├── response_code_interpreter_call_code_delta_event.rbs │ │ ├── response_code_interpreter_call_code_done_event.rbs │ │ ├── response_code_interpreter_call_completed_event.rbs │ │ ├── response_code_interpreter_call_in_progress_event.rbs │ │ ├── response_code_interpreter_call_interpreting_event.rbs │ │ ├── response_code_interpreter_tool_call.rbs │ │ ├── response_completed_event.rbs │ │ ├── response_computer_tool_call.rbs │ │ ├── response_computer_tool_call_output_item.rbs │ │ ├── response_computer_tool_call_output_screenshot.rbs │ │ ├── response_content.rbs │ │ ├── response_content_part_added_event.rbs │ │ ├── response_content_part_done_event.rbs │ │ ├── response_create_params.rbs │ │ ├── response_created_event.rbs │ │ ├── response_delete_params.rbs │ │ ├── response_error.rbs │ │ ├── response_error_event.rbs │ │ ├── response_failed_event.rbs │ │ ├── response_file_search_call_completed_event.rbs │ │ ├── response_file_search_call_in_progress_event.rbs │ │ ├── response_file_search_call_searching_event.rbs │ │ ├── response_file_search_tool_call.rbs │ │ ├── response_format_text_config.rbs │ │ ├── response_format_text_json_schema_config.rbs │ │ ├── response_function_call_arguments_delta_event.rbs │ │ ├── response_function_call_arguments_done_event.rbs │ │ ├── response_function_tool_call.rbs │ │ ├── response_function_tool_call_item.rbs │ │ ├── response_function_tool_call_output_item.rbs │ │ ├── response_function_web_search.rbs │ │ ├── response_image_gen_call_completed_event.rbs │ │ ├── response_image_gen_call_generating_event.rbs │ │ ├── response_image_gen_call_in_progress_event.rbs │ │ ├── response_image_gen_call_partial_image_event.rbs │ │ ├── response_in_progress_event.rbs │ │ ├── response_includable.rbs │ │ ├── response_incomplete_event.rbs │ │ ├── response_input.rbs │ │ ├── response_input_audio.rbs │ │ ├── response_input_content.rbs │ │ ├── response_input_file.rbs │ │ ├── response_input_image.rbs │ │ ├── response_input_item.rbs │ │ ├── response_input_message_content_list.rbs │ │ ├── response_input_message_item.rbs │ │ ├── response_input_text.rbs │ │ ├── response_item.rbs │ │ ├── response_item_list.rbs │ │ ├── response_mcp_call_arguments_delta_event.rbs │ │ ├── response_mcp_call_arguments_done_event.rbs │ │ ├── response_mcp_call_completed_event.rbs │ │ ├── response_mcp_call_failed_event.rbs │ │ ├── response_mcp_call_in_progress_event.rbs │ │ ├── response_mcp_list_tools_completed_event.rbs │ │ ├── response_mcp_list_tools_failed_event.rbs │ │ ├── response_mcp_list_tools_in_progress_event.rbs │ │ ├── response_output_audio.rbs │ │ ├── response_output_item.rbs │ │ ├── response_output_item_added_event.rbs │ │ ├── response_output_item_done_event.rbs │ │ ├── response_output_message.rbs │ │ ├── response_output_refusal.rbs │ │ ├── response_output_text.rbs │ │ ├── response_output_text_annotation_added_event.rbs │ │ ├── response_queued_event.rbs │ │ ├── response_reasoning_delta_event.rbs │ │ ├── response_reasoning_done_event.rbs │ │ ├── response_reasoning_item.rbs │ │ ├── response_reasoning_summary_delta_event.rbs │ │ ├── response_reasoning_summary_done_event.rbs │ │ ├── response_reasoning_summary_part_added_event.rbs │ │ ├── response_reasoning_summary_part_done_event.rbs │ │ ├── response_reasoning_summary_text_delta_event.rbs │ │ ├── response_reasoning_summary_text_done_event.rbs │ │ ├── response_refusal_delta_event.rbs │ │ ├── response_refusal_done_event.rbs │ │ ├── response_retrieve_params.rbs │ │ ├── response_status.rbs │ │ ├── response_stream_event.rbs │ │ ├── response_text_config.rbs │ │ ├── response_text_delta_event.rbs │ │ ├── response_text_done_event.rbs │ │ ├── response_usage.rbs │ │ ├── response_web_search_call_completed_event.rbs │ │ ├── response_web_search_call_in_progress_event.rbs │ │ ├── response_web_search_call_searching_event.rbs │ │ ├── tool.rbs │ │ ├── tool_choice_function.rbs │ │ ├── tool_choice_options.rbs │ │ ├── tool_choice_types.rbs │ │ └── web_search_tool.rbs │ ├── responses_model.rbs │ ├── static_file_chunking_strategy.rbs │ ├── static_file_chunking_strategy_object.rbs │ ├── static_file_chunking_strategy_object_param.rbs │ ├── upload.rbs │ ├── upload_cancel_params.rbs │ ├── upload_complete_params.rbs │ ├── upload_create_params.rbs │ ├── uploads │ │ ├── part_create_params.rbs │ │ └── upload_part.rbs │ ├── vector_store.rbs │ ├── vector_store_create_params.rbs │ ├── vector_store_delete_params.rbs │ ├── vector_store_deleted.rbs │ ├── vector_store_list_params.rbs │ ├── vector_store_retrieve_params.rbs │ ├── vector_store_search_params.rbs │ ├── vector_store_search_response.rbs │ ├── vector_store_update_params.rbs │ └── vector_stores │ │ ├── file_batch_cancel_params.rbs │ │ ├── file_batch_create_params.rbs │ │ ├── file_batch_list_files_params.rbs │ │ ├── file_batch_retrieve_params.rbs │ │ ├── file_content_params.rbs │ │ ├── file_content_response.rbs │ │ ├── file_create_params.rbs │ │ ├── file_delete_params.rbs │ │ ├── file_list_params.rbs │ │ ├── file_retrieve_params.rbs │ │ ├── file_update_params.rbs │ │ ├── vector_store_file.rbs │ │ ├── vector_store_file_batch.rbs │ │ └── vector_store_file_deleted.rbs │ ├── request_options.rbs │ ├── resources │ ├── audio.rbs │ ├── audio │ │ ├── speech.rbs │ │ ├── transcriptions.rbs │ │ └── translations.rbs │ ├── batches.rbs │ ├── beta.rbs │ ├── beta │ │ ├── assistants.rbs │ │ ├── threads.rbs │ │ └── threads │ │ │ ├── messages.rbs │ │ │ ├── runs.rbs │ │ │ └── runs │ │ │ └── steps.rbs │ ├── chat.rbs │ ├── chat │ │ ├── completions.rbs │ │ └── completions │ │ │ └── messages.rbs │ ├── completions.rbs │ ├── containers.rbs │ ├── containers │ │ ├── files.rbs │ │ └── files │ │ │ └── content.rbs │ ├── embeddings.rbs │ ├── evals.rbs │ ├── evals │ │ ├── runs.rbs │ │ └── runs │ │ │ └── output_items.rbs │ ├── files.rbs │ ├── fine_tuning.rbs │ ├── fine_tuning │ │ ├── alpha.rbs │ │ ├── alpha │ │ │ └── graders.rbs │ │ ├── checkpoints.rbs │ │ ├── checkpoints │ │ │ └── permissions.rbs │ │ ├── jobs.rbs │ │ ├── jobs │ │ │ └── checkpoints.rbs │ │ └── methods.rbs │ ├── graders.rbs │ ├── graders │ │ └── grader_models.rbs │ ├── images.rbs │ ├── models.rbs │ ├── moderations.rbs │ ├── responses.rbs │ ├── responses │ │ └── input_items.rbs │ ├── uploads.rbs │ ├── uploads │ │ └── parts.rbs │ ├── vector_stores.rbs │ └── vector_stores │ │ ├── file_batches.rbs │ │ └── files.rbs │ └── version.rbs ├── sorbet ├── config └── rbi │ └── .gitignore └── test └── openai ├── client_test.rb ├── file_part_test.rb ├── helpers └── structured_output_test.rb ├── internal ├── sorbet_runtime_support_test.rb ├── type │ └── base_model_test.rb └── util_test.rb ├── resource_namespaces.rb ├── resources ├── audio │ ├── speech_test.rb │ ├── transcriptions_test.rb │ └── translations_test.rb ├── audio_test.rb ├── batches_test.rb ├── beta │ ├── assistants_test.rb │ ├── threads │ │ ├── messages_test.rb │ │ ├── runs │ │ │ └── steps_test.rb │ │ └── runs_test.rb │ └── threads_test.rb ├── beta_test.rb ├── chat │ ├── completions │ │ └── messages_test.rb │ └── completions_test.rb ├── chat_test.rb ├── completions_test.rb ├── containers │ ├── files │ │ └── content_test.rb │ └── files_test.rb ├── containers_test.rb ├── embeddings_test.rb ├── evals │ ├── runs │ │ └── output_items_test.rb │ └── runs_test.rb ├── evals_test.rb ├── files_test.rb ├── fine_tuning │ ├── alpha │ │ └── graders_test.rb │ ├── alpha_test.rb │ ├── checkpoints │ │ └── permissions_test.rb │ ├── checkpoints_test.rb │ ├── jobs │ │ └── checkpoints_test.rb │ ├── jobs_test.rb │ └── methods_test.rb ├── fine_tuning_test.rb ├── graders │ └── grader_models_test.rb ├── graders_test.rb ├── images_test.rb ├── models_test.rb ├── moderations_test.rb ├── responses │ └── input_items_test.rb ├── responses_test.rb ├── shared_test.rb ├── uploads │ └── parts_test.rb ├── uploads_test.rb ├── vector_stores │ ├── file_batches_test.rb │ └── files_test.rb └── vector_stores_test.rb └── test_helper.rb /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # This file is used to automatically assign reviewers to PRs 2 | # For more information see: https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners 3 | 4 | * @openai/sdks-team 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.gem 2 | .idea/ 3 | .ignore 4 | .prism.log 5 | .ruby-lsp/ 6 | .yardoc/ 7 | bin/tapioca 8 | Brewfile.lock.json 9 | doc/ 10 | sorbet/tapioca/* 11 | -------------------------------------------------------------------------------- /.release-please-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | ".": "0.6.0" 3 | } -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.2.0 2 | -------------------------------------------------------------------------------- /.solargraph.yml: -------------------------------------------------------------------------------- 1 | --- 2 | max_files: 0 3 | include: 4 | - '*.gemspec' 5 | - 'Rakefile' 6 | - 'examples/**/*.rb' 7 | - 'lib/**/*.rb' 8 | - 'test/openai/resource_namespaces.rb' 9 | - 'test/openai/test_helper.rb' 10 | exclude: 11 | - 'rbi/**/*' 12 | -------------------------------------------------------------------------------- /.stats.yml: -------------------------------------------------------------------------------- 1 | configured_endpoints: 109 2 | openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-0205acb1015d29b2312a48526734c0399f93026d4fe2dff5c7768f566e333fd2.yml 3 | openapi_spec_hash: 1772cc9056c2f6dfb2a4e9cb77ee6343 4 | config_hash: ed1e6b3c5f93d12b80d31167f55c557c 5 | -------------------------------------------------------------------------------- /.yardopts: -------------------------------------------------------------------------------- 1 | --type-name-tag generic:Generic 2 | --default-return void 3 | --markup markdown 4 | --markup-provider redcarpet 5 | --exclude /rbi 6 | --exclude /sig 7 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | source "https://rubygems.org" 4 | 5 | gemspec 6 | 7 | group :development do 8 | gem "rake" 9 | gem "rbs" 10 | gem "rubocop" 11 | gem "sorbet" 12 | gem "steep" 13 | gem "syntax_tree" 14 | # TODO: using a fork for now, the prettier below has a bug 15 | gem "syntax_tree-rbs", github: "stainless-api/syntax_tree-rbs", branch: "main" 16 | gem "tapioca" 17 | end 18 | 19 | group :development, :test do 20 | gem "async" 21 | gem "minitest" 22 | gem "minitest-focus" 23 | gem "minitest-hooks" 24 | gem "minitest-proveit" 25 | gem "minitest-rg" 26 | gem "webmock" 27 | end 28 | 29 | group :development, :docs do 30 | gem "redcarpet" 31 | gem "webrick" 32 | gem "yard" 33 | end 34 | -------------------------------------------------------------------------------- /Steepfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require "yaml" 4 | 5 | target(:lib) do 6 | configure_code_diagnostics(Steep::Diagnostic::Ruby.strict) 7 | 8 | signature("sig") 9 | 10 | YAML.safe_load_file("./manifest.yaml", symbolize_names: true) => {dependencies:} 11 | # currently these libraries lack the `*.rbs` annotations required by `steep` 12 | stdlibs = dependencies - %w[English etc net/http rbconfig set stringio] 13 | 14 | stdlibs.each { library(_1) } 15 | end 16 | -------------------------------------------------------------------------------- /bin/check-release-environment: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | errors=() 4 | 5 | if [ -z "${STAINLESS_API_KEY}" ]; then 6 | errors+=("The STAINLESS_API_KEY secret has not been set. Please contact Stainless for an API key & set it in your organization secrets on GitHub.") 7 | fi 8 | 9 | if [ -z "${GEM_HOST_API_KEY}" ]; then 10 | errors+=("The OPENAI_GEM_HOST_API_KEY secret has not been set. Please set it in either this repository's secrets or your organization secrets") 11 | fi 12 | 13 | lenErrors=${#errors[@]} 14 | 15 | if [[ lenErrors -gt 0 ]]; then 16 | echo -e "Found the following errors in the release environment:\n" 17 | 18 | for error in "${errors[@]}"; do 19 | echo -e "- $error\n" 20 | done 21 | 22 | exit 1 23 | fi 24 | 25 | echo "The environment is ready to push releases!" 26 | -------------------------------------------------------------------------------- /bin/publish-gem: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -Eeuo pipefail 4 | 5 | cd -- "$(dirname -- "$0")/.." 6 | 7 | bundle 8 | find . -maxdepth 1 -type f -name "*.gem" -delete 9 | rake release -------------------------------------------------------------------------------- /examples/picture.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # frozen_string_literal: true 3 | # typed: strong 4 | 5 | require_relative "../lib/openai" 6 | 7 | # gets API Key from environment variable `OPENAI_API_KEY` 8 | client = OpenAI::Client.new 9 | 10 | prompt = "An astronaut lounging in a tropical resort in space, pixel art" 11 | 12 | # Generate an image based on the prompt 13 | response = client.images.generate(prompt: prompt) 14 | 15 | # Prints response containing a URL link to image 16 | pp(response) 17 | -------------------------------------------------------------------------------- /examples/structured_outputs_responses_function_calling.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # frozen_string_literal: true 3 | 4 | require_relative "../lib/openai" 5 | 6 | class GetWeather < OpenAI::BaseModel 7 | required :location, String, doc: "City and country e.g. Bogotá, Colombia" 8 | end 9 | 10 | # gets API Key from environment variable `OPENAI_API_KEY` 11 | client = OpenAI::Client.new 12 | 13 | response = client.responses.create( 14 | model: "gpt-4o-2024-08-06", 15 | input: [ 16 | { 17 | role: :user, 18 | content: "What's the weather like in Paris today?" 19 | } 20 | ], 21 | tools: [GetWeather] 22 | ) 23 | 24 | response 25 | .output 26 | .each do |output| 27 | pp(output.parsed) 28 | end 29 | -------------------------------------------------------------------------------- /lib/openai/helpers/structured_output.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Helpers 5 | # Helpers for the structured output API. 6 | # 7 | # see https://platform.openai.com/docs/guides/structured-outputs 8 | # see https://json-schema.org 9 | # 10 | # Based on the DSL in {OpenAI::Internal::Type}, but currently only support the limited subset of JSON schema types used in structured output APIs. 11 | # 12 | # Supported types: {NilClass} {String} {Symbol} {Integer} {Float} {OpenAI::Boolean}, {OpenAI::EnumOf}, {OpenAI::UnionOf}, {OpenAI::ArrayOf}, {OpenAI::BaseModel} 13 | module StructuredOutput 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/internal.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Internal 5 | extend OpenAI::Internal::Util::SorbetRuntimeSupport 6 | 7 | OMIT = 8 | Object.new.tap do 9 | _1.define_singleton_method(:inspect) { "#<#{OpenAI::Internal}::OMIT>" } 10 | end 11 | .freeze 12 | 13 | define_sorbet_constant!(:AnyHash) do 14 | T.type_alias { T::Hash[Symbol, T.anything] } 15 | end 16 | define_sorbet_constant!(:FileInput) do 17 | T.type_alias { T.any(Pathname, StringIO, IO, String, OpenAI::FilePart) } 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /lib/openai/models/audio/speech_model.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Audio 6 | module SpeechModel 7 | extend OpenAI::Internal::Type::Enum 8 | 9 | TTS_1 = :"tts-1" 10 | TTS_1_HD = :"tts-1-hd" 11 | GPT_4O_MINI_TTS = :"gpt-4o-mini-tts" 12 | 13 | # @!method self.values 14 | # @return [Array] 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/openai/models/audio/transcription_include.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Audio 6 | module TranscriptionInclude 7 | extend OpenAI::Internal::Type::Enum 8 | 9 | LOGPROBS = :logprobs 10 | 11 | # @!method self.values 12 | # @return [Array] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/audio/translation.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Audio 6 | class Translation < OpenAI::Internal::Type::BaseModel 7 | # @!attribute text 8 | # 9 | # @return [String] 10 | required :text, String 11 | 12 | # @!method initialize(text:) 13 | # @param text [String] 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/openai/models/audio/translation_create_response.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Audio 6 | # @see OpenAI::Resources::Audio::Translations#create 7 | module TranslationCreateResponse 8 | extend OpenAI::Internal::Type::Union 9 | 10 | variant -> { OpenAI::Audio::Translation } 11 | 12 | variant -> { OpenAI::Audio::TranslationVerbose } 13 | 14 | # @!method self.variants 15 | # @return [Array(OpenAI::Models::Audio::Translation, OpenAI::Models::Audio::TranslationVerbose)] 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/openai/models/audio_model.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module AudioModel 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | WHISPER_1 = :"whisper-1" 9 | GPT_4O_TRANSCRIBE = :"gpt-4o-transcribe" 10 | GPT_4O_MINI_TRANSCRIBE = :"gpt-4o-mini-transcribe" 11 | 12 | # @!method self.values 13 | # @return [Array] 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/audio_response_format.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # The format of the output, in one of these options: `json`, `text`, `srt`, 6 | # `verbose_json`, or `vtt`. For `gpt-4o-transcribe` and `gpt-4o-mini-transcribe`, 7 | # the only supported format is `json`. 8 | module AudioResponseFormat 9 | extend OpenAI::Internal::Type::Enum 10 | 11 | JSON = :json 12 | TEXT = :text 13 | SRT = :srt 14 | VERBOSE_JSON = :verbose_json 15 | VTT = :vtt 16 | 17 | # @!method self.values 18 | # @return [Array] 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /lib/openai/models/auto_file_chunking_strategy_param.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | class AutoFileChunkingStrategyParam < OpenAI::Internal::Type::BaseModel 6 | # @!attribute type 7 | # Always `auto`. 8 | # 9 | # @return [Symbol, :auto] 10 | required :type, const: :auto 11 | 12 | # @!method initialize(type: :auto) 13 | # The default strategy. This strategy currently uses a `max_chunk_size_tokens` of 14 | # `800` and `chunk_overlap_tokens` of `400`. 15 | # 16 | # @param type [Symbol, :auto] Always `auto`. 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/openai/models/batch_cancel_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Batches#cancel 6 | class BatchCancelParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/batch_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Batches#retrieve 6 | class BatchRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/beta/assistant_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Beta 6 | # @see OpenAI::Resources::Beta::Assistants#delete 7 | class AssistantDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/beta/assistant_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Beta 6 | # @see OpenAI::Resources::Beta::Assistants#retrieve 7 | class AssistantRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/beta/assistant_tool.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Beta 6 | module AssistantTool 7 | extend OpenAI::Internal::Type::Union 8 | 9 | discriminator :type 10 | 11 | variant :code_interpreter, -> { OpenAI::Beta::CodeInterpreterTool } 12 | 13 | variant :file_search, -> { OpenAI::Beta::FileSearchTool } 14 | 15 | variant :function, -> { OpenAI::Beta::FunctionTool } 16 | 17 | # @!method self.variants 18 | # @return [Array(OpenAI::Models::Beta::CodeInterpreterTool, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool)] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/beta/assistant_tool_choice_function.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Beta 6 | class AssistantToolChoiceFunction < OpenAI::Internal::Type::BaseModel 7 | # @!attribute name 8 | # The name of the function to call. 9 | # 10 | # @return [String] 11 | required :name, String 12 | 13 | # @!method initialize(name:) 14 | # @param name [String] The name of the function to call. 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/openai/models/beta/code_interpreter_tool.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Beta 6 | class CodeInterpreterTool < OpenAI::Internal::Type::BaseModel 7 | # @!attribute type 8 | # The type of tool being defined: `code_interpreter` 9 | # 10 | # @return [Symbol, :code_interpreter] 11 | required :type, const: :code_interpreter 12 | 13 | # @!method initialize(type: :code_interpreter) 14 | # @param type [Symbol, :code_interpreter] The type of tool being defined: `code_interpreter` 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/openai/models/beta/thread_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Beta 6 | # @see OpenAI::Resources::Beta::Threads#delete 7 | class ThreadDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/beta/thread_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Beta 6 | # @see OpenAI::Resources::Beta::Threads#retrieve 7 | class ThreadRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/beta/threads/runs/run_step_include.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Beta 6 | module Threads 7 | module Runs 8 | module RunStepInclude 9 | extend OpenAI::Internal::Type::Enum 10 | 11 | STEP_DETAILS_TOOL_CALLS_FILE_SEARCH_RESULTS_CONTENT = 12 | :"step_details.tool_calls[*].file_search.results[*].content" 13 | 14 | # @!method self.values 15 | # @return [Array] 16 | end 17 | end 18 | 19 | RunStepInclude = Runs::RunStepInclude 20 | end 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /lib/openai/models/chat/chat_completion_function_call_option.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Chat 6 | class ChatCompletionFunctionCallOption < OpenAI::Internal::Type::BaseModel 7 | # @!attribute name 8 | # The name of the function to call. 9 | # 10 | # @return [String] 11 | required :name, String 12 | 13 | # @!method initialize(name:) 14 | # Specifying a particular function via `{"name": "my_function"}` forces the model 15 | # to call that function. 16 | # 17 | # @param name [String] The name of the function to call. 18 | end 19 | end 20 | 21 | ChatCompletionFunctionCallOption = Chat::ChatCompletionFunctionCallOption 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /lib/openai/models/chat/chat_completion_modality.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Chat 6 | module ChatCompletionModality 7 | extend OpenAI::Internal::Type::Enum 8 | 9 | TEXT = :text 10 | AUDIO = :audio 11 | 12 | # @!method self.values 13 | # @return [Array] 14 | end 15 | end 16 | 17 | ChatCompletionModality = Chat::ChatCompletionModality 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /lib/openai/models/chat/chat_completion_reasoning_effort.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Chat 6 | ChatCompletionReasoningEffort = OpenAI::Models::ReasoningEffort 7 | end 8 | 9 | ChatCompletionReasoningEffort = Chat::ChatCompletionReasoningEffort 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /lib/openai/models/chat/chat_completion_role.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Chat 6 | # The role of the author of a message 7 | module ChatCompletionRole 8 | extend OpenAI::Internal::Type::Enum 9 | 10 | DEVELOPER = :developer 11 | SYSTEM = :system 12 | USER = :user 13 | ASSISTANT = :assistant 14 | TOOL = :tool 15 | FUNCTION = :function 16 | 17 | # @!method self.values 18 | # @return [Array] 19 | end 20 | end 21 | 22 | ChatCompletionRole = Chat::ChatCompletionRole 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /lib/openai/models/chat/chat_completion_store_message.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Chat 6 | class ChatCompletionStoreMessage < OpenAI::Models::Chat::ChatCompletionMessage 7 | # @!attribute id 8 | # The identifier of the chat message. 9 | # 10 | # @return [String] 11 | required :id, String 12 | 13 | # @!method initialize(id:) 14 | # A chat completion message generated by the model. 15 | # 16 | # @param id [String] The identifier of the chat message. 17 | end 18 | end 19 | 20 | ChatCompletionStoreMessage = Chat::ChatCompletionStoreMessage 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/chat/completion_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Chat 6 | # @see OpenAI::Resources::Chat::Completions#delete 7 | class CompletionDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/chat/completion_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Chat 6 | # @see OpenAI::Resources::Chat::Completions#retrieve 7 | class CompletionRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/container_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Containers#delete 6 | class ContainerDeleteParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/container_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Containers#retrieve 6 | class ContainerRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/containers/file_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Containers 6 | # @see OpenAI::Resources::Containers::Files#delete 7 | class FileDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute container_id 12 | # 13 | # @return [String] 14 | required :container_id, String 15 | 16 | # @!method initialize(container_id:, request_options: {}) 17 | # @param container_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/containers/file_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Containers 6 | # @see OpenAI::Resources::Containers::Files#retrieve 7 | class FileRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute container_id 12 | # 13 | # @return [String] 14 | required :container_id, String 15 | 16 | # @!method initialize(container_id:, request_options: {}) 17 | # @param container_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/embedding_model.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module EmbeddingModel 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | TEXT_EMBEDDING_ADA_002 = :"text-embedding-ada-002" 9 | TEXT_EMBEDDING_3_SMALL = :"text-embedding-3-small" 10 | TEXT_EMBEDDING_3_LARGE = :"text-embedding-3-large" 11 | 12 | # @!method self.values 13 | # @return [Array] 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/eval_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Evals#delete 6 | class EvalDeleteParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/eval_delete_response.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Evals#delete 6 | class EvalDeleteResponse < OpenAI::Internal::Type::BaseModel 7 | # @!attribute deleted 8 | # 9 | # @return [Boolean] 10 | required :deleted, OpenAI::Internal::Type::Boolean 11 | 12 | # @!attribute eval_id 13 | # 14 | # @return [String] 15 | required :eval_id, String 16 | 17 | # @!attribute object 18 | # 19 | # @return [String] 20 | required :object, String 21 | 22 | # @!method initialize(deleted:, eval_id:, object:) 23 | # @param deleted [Boolean] 24 | # @param eval_id [String] 25 | # @param object [String] 26 | end 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /lib/openai/models/eval_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Evals#retrieve 6 | class EvalRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/evals/run_cancel_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Evals 6 | # @see OpenAI::Resources::Evals::Runs#cancel 7 | class RunCancelParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute eval_id 12 | # 13 | # @return [String] 14 | required :eval_id, String 15 | 16 | # @!method initialize(eval_id:, request_options: {}) 17 | # @param eval_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/evals/run_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Evals 6 | # @see OpenAI::Resources::Evals::Runs#delete 7 | class RunDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute eval_id 12 | # 13 | # @return [String] 14 | required :eval_id, String 15 | 16 | # @!method initialize(eval_id:, request_options: {}) 17 | # @param eval_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/evals/run_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Evals 6 | # @see OpenAI::Resources::Evals::Runs#retrieve 7 | class RunRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute eval_id 12 | # 13 | # @return [String] 14 | required :eval_id, String 15 | 16 | # @!method initialize(eval_id:, request_options: {}) 17 | # @param eval_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/file_chunking_strategy.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # The strategy used to chunk the file. 6 | module FileChunkingStrategy 7 | extend OpenAI::Internal::Type::Union 8 | 9 | discriminator :type 10 | 11 | variant :static, -> { OpenAI::StaticFileChunkingStrategyObject } 12 | 13 | # This is returned when the chunking strategy is unknown. Typically, this is because the file was indexed before the `chunking_strategy` concept was introduced in the API. 14 | variant :other, -> { OpenAI::OtherFileChunkingStrategyObject } 15 | 16 | # @!method self.variants 17 | # @return [Array(OpenAI::Models::StaticFileChunkingStrategyObject, OpenAI::Models::OtherFileChunkingStrategyObject)] 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /lib/openai/models/file_content.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | FileContent = String 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /lib/openai/models/file_content_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Files#content 6 | class FileContentParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/file_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Files#delete 6 | class FileDeleteParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/file_deleted.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Files#delete 6 | class FileDeleted < OpenAI::Internal::Type::BaseModel 7 | # @!attribute id 8 | # 9 | # @return [String] 10 | required :id, String 11 | 12 | # @!attribute deleted 13 | # 14 | # @return [Boolean] 15 | required :deleted, OpenAI::Internal::Type::Boolean 16 | 17 | # @!attribute object 18 | # 19 | # @return [Symbol, :file] 20 | required :object, const: :file 21 | 22 | # @!method initialize(id:, deleted:, object: :file) 23 | # @param id [String] 24 | # @param deleted [Boolean] 25 | # @param object [Symbol, :file] 26 | end 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /lib/openai/models/file_purpose.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # The intended purpose of the uploaded file. One of: - `assistants`: Used in the 6 | # Assistants API - `batch`: Used in the Batch API - `fine-tune`: Used for 7 | # fine-tuning - `vision`: Images used for vision fine-tuning - `user_data`: 8 | # Flexible file type for any purpose - `evals`: Used for eval data sets 9 | module FilePurpose 10 | extend OpenAI::Internal::Type::Enum 11 | 12 | ASSISTANTS = :assistants 13 | BATCH = :batch 14 | FINE_TUNE = :"fine-tune" 15 | VISION = :vision 16 | USER_DATA = :user_data 17 | EVALS = :evals 18 | 19 | # @!method self.values 20 | # @return [Array] 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /lib/openai/models/file_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Files#retrieve 6 | class FileRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/fine_tuning/dpo_method.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module FineTuning 6 | class DpoMethod < OpenAI::Internal::Type::BaseModel 7 | # @!attribute hyperparameters 8 | # The hyperparameters used for the DPO fine-tuning job. 9 | # 10 | # @return [OpenAI::Models::FineTuning::DpoHyperparameters, nil] 11 | optional :hyperparameters, -> { OpenAI::FineTuning::DpoHyperparameters } 12 | 13 | # @!method initialize(hyperparameters: nil) 14 | # Configuration for the DPO fine-tuning method. 15 | # 16 | # @param hyperparameters [OpenAI::Models::FineTuning::DpoHyperparameters] The hyperparameters used for the DPO fine-tuning job. 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /lib/openai/models/fine_tuning/fine_tuning_job_integration.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module FineTuning 6 | FineTuningJobIntegration = OpenAI::Models::FineTuning::FineTuningJobWandbIntegrationObject 7 | end 8 | 9 | FineTuningJobIntegration = FineTuning::FineTuningJobIntegration 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /lib/openai/models/fine_tuning/job_cancel_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module FineTuning 6 | # @see OpenAI::Resources::FineTuning::Jobs#cancel 7 | class JobCancelParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/fine_tuning/job_pause_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module FineTuning 6 | # @see OpenAI::Resources::FineTuning::Jobs#pause 7 | class JobPauseParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/fine_tuning/job_resume_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module FineTuning 6 | # @see OpenAI::Resources::FineTuning::Jobs#resume 7 | class JobResumeParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/fine_tuning/job_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module FineTuning 6 | # @see OpenAI::Resources::FineTuning::Jobs#retrieve 7 | class JobRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/function_parameters.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @type [OpenAI::Internal::Type::Converter] 6 | FunctionParameters = OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown] 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /lib/openai/models/image_model.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module ImageModel 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | DALL_E_2 = :"dall-e-2" 9 | DALL_E_3 = :"dall-e-3" 10 | GPT_IMAGE_1 = :"gpt-image-1" 11 | 12 | # @!method self.values 13 | # @return [Array] 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/metadata.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @type [OpenAI::Internal::Type::Converter] 6 | Metadata = OpenAI::Internal::Type::HashOf[String] 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /lib/openai/models/model_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Models#delete 6 | class ModelDeleteParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/model_deleted.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Models#delete 6 | class ModelDeleted < OpenAI::Internal::Type::BaseModel 7 | # @!attribute id 8 | # 9 | # @return [String] 10 | required :id, String 11 | 12 | # @!attribute deleted 13 | # 14 | # @return [Boolean] 15 | required :deleted, OpenAI::Internal::Type::Boolean 16 | 17 | # @!attribute object 18 | # 19 | # @return [String] 20 | required :object, String 21 | 22 | # @!method initialize(id:, deleted:, object:) 23 | # @param id [String] 24 | # @param deleted [Boolean] 25 | # @param object [String] 26 | end 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /lib/openai/models/model_list_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Models#list 6 | class ModelListParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/model_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Models#retrieve 6 | class ModelRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/moderation_model.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module ModerationModel 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | OMNI_MODERATION_LATEST = :"omni-moderation-latest" 9 | OMNI_MODERATION_2024_09_26 = :"omni-moderation-2024-09-26" 10 | TEXT_MODERATION_LATEST = :"text-moderation-latest" 11 | TEXT_MODERATION_STABLE = :"text-moderation-stable" 12 | 13 | # @!method self.values 14 | # @return [Array] 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /lib/openai/models/moderation_multi_modal_input.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # An object describing an image to classify. 6 | module ModerationMultiModalInput 7 | extend OpenAI::Internal::Type::Union 8 | 9 | discriminator :type 10 | 11 | # An object describing an image to classify. 12 | variant :image_url, -> { OpenAI::ModerationImageURLInput } 13 | 14 | # An object describing text to classify. 15 | variant :text, -> { OpenAI::ModerationTextInput } 16 | 17 | # @!method self.variants 18 | # @return [Array(OpenAI::Models::ModerationImageURLInput, OpenAI::Models::ModerationTextInput)] 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /lib/openai/models/moderation_text_input.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | class ModerationTextInput < OpenAI::Internal::Type::BaseModel 6 | # @!attribute text 7 | # A string of text to classify. 8 | # 9 | # @return [String] 10 | required :text, String 11 | 12 | # @!attribute type 13 | # Always `text`. 14 | # 15 | # @return [Symbol, :text] 16 | required :type, const: :text 17 | 18 | # @!method initialize(text:, type: :text) 19 | # An object describing text to classify. 20 | # 21 | # @param text [String] A string of text to classify. 22 | # 23 | # @param type [Symbol, :text] Always `text`. 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /lib/openai/models/other_file_chunking_strategy_object.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | class OtherFileChunkingStrategyObject < OpenAI::Internal::Type::BaseModel 6 | # @!attribute type 7 | # Always `other`. 8 | # 9 | # @return [Symbol, :other] 10 | required :type, const: :other 11 | 12 | # @!method initialize(type: :other) 13 | # This is returned when the chunking strategy is unknown. Typically, this is 14 | # because the file was indexed before the `chunking_strategy` concept was 15 | # introduced in the API. 16 | # 17 | # @param type [Symbol, :other] Always `other`. 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /lib/openai/models/reasoning_effort.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # **o-series models only** 6 | # 7 | # Constrains effort on reasoning for 8 | # [reasoning models](https://platform.openai.com/docs/guides/reasoning). Currently 9 | # supported values are `low`, `medium`, and `high`. Reducing reasoning effort can 10 | # result in faster responses and fewer tokens used on reasoning in a response. 11 | module ReasoningEffort 12 | extend OpenAI::Internal::Type::Enum 13 | 14 | LOW = :low 15 | MEDIUM = :medium 16 | HIGH = :high 17 | 18 | # @!method self.values 19 | # @return [Array] 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/response_format_text.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | class ResponseFormatText < OpenAI::Internal::Type::BaseModel 6 | # @!attribute type 7 | # The type of response format being defined. Always `text`. 8 | # 9 | # @return [Symbol, :text] 10 | required :type, const: :text 11 | 12 | # @!method initialize(type: :text) 13 | # Default response format. Used to generate text responses. 14 | # 15 | # @param type [Symbol, :text] The type of response format being defined. Always `text`. 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/openai/models/responses/response_cancel_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Responses 6 | # @see OpenAI::Resources::Responses#cancel 7 | class ResponseCancelParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/responses/response_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Responses 6 | # @see OpenAI::Resources::Responses#delete 7 | class ResponseDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!method initialize(request_options: {}) 12 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/models/responses/response_input.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Responses 6 | # @type [OpenAI::Internal::Type::Converter] 7 | ResponseInput = OpenAI::Internal::Type::ArrayOf[union: -> { OpenAI::Responses::ResponseInputItem }] 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /lib/openai/models/responses/response_input_message_content_list.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Responses 6 | # @type [OpenAI::Internal::Type::Converter] 7 | ResponseInputMessageContentList = 8 | OpenAI::Internal::Type::ArrayOf[union: -> { OpenAI::Responses::ResponseInputContent }] 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /lib/openai/models/responses/response_status.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Responses 6 | # The status of the response generation. One of `completed`, `failed`, 7 | # `in_progress`, `cancelled`, `queued`, or `incomplete`. 8 | module ResponseStatus 9 | extend OpenAI::Internal::Type::Enum 10 | 11 | COMPLETED = :completed 12 | FAILED = :failed 13 | IN_PROGRESS = :in_progress 14 | CANCELLED = :cancelled 15 | QUEUED = :queued 16 | INCOMPLETE = :incomplete 17 | 18 | # @!method self.values 19 | # @return [Array] 20 | end 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /lib/openai/models/responses/tool_choice_options.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module Responses 6 | # Controls which (if any) tool is called by the model. 7 | # 8 | # `none` means the model will not call any tool and instead generates a message. 9 | # 10 | # `auto` means the model can pick between generating a message or calling one or 11 | # more tools. 12 | # 13 | # `required` means the model must call one or more tools. 14 | module ToolChoiceOptions 15 | extend OpenAI::Internal::Type::Enum 16 | 17 | NONE = :none 18 | AUTO = :auto 19 | REQUIRED = :required 20 | 21 | # @!method self.values 22 | # @return [Array] 23 | end 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /lib/openai/models/static_file_chunking_strategy_object.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | class StaticFileChunkingStrategyObject < OpenAI::Internal::Type::BaseModel 6 | # @!attribute static 7 | # 8 | # @return [OpenAI::Models::StaticFileChunkingStrategy] 9 | required :static, -> { OpenAI::StaticFileChunkingStrategy } 10 | 11 | # @!attribute type 12 | # Always `static`. 13 | # 14 | # @return [Symbol, :static] 15 | required :type, const: :static 16 | 17 | # @!method initialize(static:, type: :static) 18 | # @param static [OpenAI::Models::StaticFileChunkingStrategy] 19 | # 20 | # @param type [Symbol, :static] Always `static`. 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /lib/openai/models/upload_cancel_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::Uploads#cancel 6 | class UploadCancelParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/vector_store_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::VectorStores#delete 6 | class VectorStoreDeleteParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/vector_store_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | # @see OpenAI::Resources::VectorStores#retrieve 6 | class VectorStoreRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | # @!method initialize(request_options: {}) 11 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /lib/openai/models/vector_stores/file_batch_cancel_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module VectorStores 6 | # @see OpenAI::Resources::VectorStores::FileBatches#cancel 7 | class FileBatchCancelParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute vector_store_id 12 | # 13 | # @return [String] 14 | required :vector_store_id, String 15 | 16 | # @!method initialize(vector_store_id:, request_options: {}) 17 | # @param vector_store_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/vector_stores/file_batch_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module VectorStores 6 | # @see OpenAI::Resources::VectorStores::FileBatches#retrieve 7 | class FileBatchRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute vector_store_id 12 | # 13 | # @return [String] 14 | required :vector_store_id, String 15 | 16 | # @!method initialize(vector_store_id:, request_options: {}) 17 | # @param vector_store_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/vector_stores/file_content_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module VectorStores 6 | # @see OpenAI::Resources::VectorStores::Files#content 7 | class FileContentParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute vector_store_id 12 | # 13 | # @return [String] 14 | required :vector_store_id, String 15 | 16 | # @!method initialize(vector_store_id:, request_options: {}) 17 | # @param vector_store_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/vector_stores/file_delete_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module VectorStores 6 | # @see OpenAI::Resources::VectorStores::Files#delete 7 | class FileDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute vector_store_id 12 | # 13 | # @return [String] 14 | required :vector_store_id, String 15 | 16 | # @!method initialize(vector_store_id:, request_options: {}) 17 | # @param vector_store_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/models/vector_stores/file_retrieve_params.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Models 5 | module VectorStores 6 | # @see OpenAI::Resources::VectorStores::Files#retrieve 7 | class FileRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | # @!attribute vector_store_id 12 | # 13 | # @return [String] 14 | required :vector_store_id, String 15 | 16 | # @!method initialize(vector_store_id:, request_options: {}) 17 | # @param vector_store_id [String] 18 | # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/resources/beta.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Resources 5 | class Beta 6 | # @return [OpenAI::Resources::Beta::Assistants] 7 | attr_reader :assistants 8 | 9 | # @return [OpenAI::Resources::Beta::Threads] 10 | attr_reader :threads 11 | 12 | # @api private 13 | # 14 | # @param client [OpenAI::Client] 15 | def initialize(client:) 16 | @client = client 17 | @assistants = OpenAI::Resources::Beta::Assistants.new(client: client) 18 | @threads = OpenAI::Resources::Beta::Threads.new(client: client) 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /lib/openai/resources/chat.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Resources 5 | class Chat 6 | # @return [OpenAI::Resources::Chat::Completions] 7 | attr_reader :completions 8 | 9 | # @api private 10 | # 11 | # @param client [OpenAI::Client] 12 | def initialize(client:) 13 | @client = client 14 | @completions = OpenAI::Resources::Chat::Completions.new(client: client) 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/openai/resources/fine_tuning/alpha.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Resources 5 | class FineTuning 6 | class Alpha 7 | # @return [OpenAI::Resources::FineTuning::Alpha::Graders] 8 | attr_reader :graders 9 | 10 | # @api private 11 | # 12 | # @param client [OpenAI::Client] 13 | def initialize(client:) 14 | @client = client 15 | @graders = OpenAI::Resources::FineTuning::Alpha::Graders.new(client: client) 16 | end 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /lib/openai/resources/fine_tuning/checkpoints.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Resources 5 | class FineTuning 6 | class Checkpoints 7 | # @return [OpenAI::Resources::FineTuning::Checkpoints::Permissions] 8 | attr_reader :permissions 9 | 10 | # @api private 11 | # 12 | # @param client [OpenAI::Client] 13 | def initialize(client:) 14 | @client = client 15 | @permissions = OpenAI::Resources::FineTuning::Checkpoints::Permissions.new(client: client) 16 | end 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /lib/openai/resources/fine_tuning/methods.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Resources 5 | class FineTuning 6 | class Methods 7 | # @api private 8 | # 9 | # @param client [OpenAI::Client] 10 | def initialize(client:) 11 | @client = client 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/resources/graders.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Resources 5 | class Graders 6 | # @return [OpenAI::Resources::Graders::GraderModels] 7 | attr_reader :grader_models 8 | 9 | # @api private 10 | # 11 | # @param client [OpenAI::Client] 12 | def initialize(client:) 13 | @client = client 14 | @grader_models = OpenAI::Resources::Graders::GraderModels.new(client: client) 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /lib/openai/resources/graders/grader_models.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | module Resources 5 | class Graders 6 | class GraderModels 7 | # @api private 8 | # 9 | # @param client [OpenAI::Client] 10 | def initialize(client:) 11 | @client = client 12 | end 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/openai/structured_output.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | StructuredOutput = OpenAI::Helpers::StructuredOutput 5 | ArrayOf = OpenAI::Helpers::StructuredOutput::ArrayOf 6 | BaseModel = OpenAI::Helpers::StructuredOutput::BaseModel 7 | Boolean = OpenAI::Helpers::StructuredOutput::Boolean 8 | EnumOf = OpenAI::Helpers::StructuredOutput::EnumOf 9 | UnionOf = OpenAI::Helpers::StructuredOutput::UnionOf 10 | end 11 | -------------------------------------------------------------------------------- /lib/openai/version.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | VERSION = "0.6.0" 5 | end 6 | -------------------------------------------------------------------------------- /manifest.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - English 3 | - cgi 4 | - date 5 | - erb 6 | - etc 7 | - json 8 | - net/http 9 | - pathname 10 | - rbconfig 11 | - securerandom 12 | - set 13 | - stringio 14 | - time 15 | - uri 16 | -------------------------------------------------------------------------------- /rbi/openai/helpers/structured_output.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Helpers 5 | # Helpers for the structured output API. 6 | # 7 | # see https://platform.openai.com/docs/guides/structured-outputs 8 | # see https://json-schema.org 9 | # 10 | # Based on the DSL in {OpenAI::Internal::Type}, but currently only support the limited subset of JSON schema types used in structured output APIs. 11 | # 12 | # Supported types: {NilClass} {String} {Symbol} {Integer} {Float} {OpenAI::Boolean}, {OpenAI::EnumOf}, {OpenAI::UnionOf}, {OpenAI::ArrayOf}, {OpenAI::BaseModel} 13 | module StructuredOutput 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /rbi/openai/helpers/structured_output/array_of.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Helpers 5 | module StructuredOutput 6 | class ArrayOf < OpenAI::Internal::Type::ArrayOf 7 | include OpenAI::Helpers::StructuredOutput::JsonSchemaConverter 8 | 9 | Elem = type_member(:out) 10 | 11 | sig { returns(String) } 12 | attr_reader :description 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /rbi/openai/helpers/structured_output/boolean.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Helpers 5 | module StructuredOutput 6 | class Boolean < OpenAI::Internal::Type::Boolean 7 | extend OpenAI::Helpers::StructuredOutput::JsonSchemaConverter 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /rbi/openai/helpers/structured_output/union_of.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Helpers 5 | module StructuredOutput 6 | # @example 7 | # example = OpenAI::UnionOf[Float, OpenAI::ArrayOf[Integer]] 8 | class UnionOf 9 | include OpenAI::Internal::Type::Union 10 | include OpenAI::Helpers::StructuredOutput::JsonSchemaConverter 11 | 12 | sig do 13 | params( 14 | variants: 15 | OpenAI::Helpers::StructuredOutput::JsonSchemaConverter::Input 16 | ).returns(T.attached_class) 17 | end 18 | def self.[](*variants) 19 | end 20 | end 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /rbi/openai/internal.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Internal 5 | extend OpenAI::Internal::Util::SorbetRuntimeSupport 6 | 7 | # Due to the current WIP status of Shapes support in Sorbet, types referencing 8 | # this alias might be refined in the future. 9 | AnyHash = T.type_alias { T::Hash[Symbol, T.anything] } 10 | 11 | FileInput = 12 | T.type_alias { T.any(Pathname, StringIO, IO, String, OpenAI::FilePart) } 13 | 14 | OMIT = T.let(Object.new.freeze, T.anything) 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /rbi/openai/internal/cursor_page.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Internal 5 | class CursorPage 6 | include OpenAI::Internal::Type::BasePage 7 | 8 | Elem = type_member 9 | 10 | sig { returns(T.nilable(T::Array[Elem])) } 11 | attr_accessor :data 12 | 13 | sig { returns(T::Boolean) } 14 | attr_accessor :has_more 15 | 16 | # @api private 17 | sig { returns(String) } 18 | def inspect 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /rbi/openai/internal/page.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Internal 5 | class Page 6 | include OpenAI::Internal::Type::BasePage 7 | 8 | Elem = type_member 9 | 10 | sig { returns(T.nilable(T::Array[Elem])) } 11 | attr_accessor :data 12 | 13 | sig { returns(String) } 14 | attr_accessor :object 15 | 16 | # @api private 17 | sig { returns(String) } 18 | def inspect 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /rbi/openai/internal/stream.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Internal 5 | class Stream 6 | Message = 7 | type_member(:in) { { fixed: OpenAI::Internal::Util::ServerSentEvent } } 8 | Elem = type_member(:out) 9 | 10 | include OpenAI::Internal::Type::BaseStream 11 | 12 | # @api private 13 | sig { override.returns(T::Enumerable[Elem]) } 14 | private def iterator 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /rbi/openai/models/audio/transcription_include.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module Audio 6 | module TranscriptionInclude 7 | extend OpenAI::Internal::Type::Enum 8 | 9 | TaggedSymbol = 10 | T.type_alias { T.all(Symbol, OpenAI::Audio::TranscriptionInclude) } 11 | OrSymbol = T.type_alias { T.any(Symbol, String) } 12 | 13 | LOGPROBS = 14 | T.let(:logprobs, OpenAI::Audio::TranscriptionInclude::TaggedSymbol) 15 | 16 | sig do 17 | override.returns( 18 | T::Array[OpenAI::Audio::TranscriptionInclude::TaggedSymbol] 19 | ) 20 | end 21 | def self.values 22 | end 23 | end 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /rbi/openai/models/audio/translation.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module Audio 6 | class Translation < OpenAI::Internal::Type::BaseModel 7 | OrHash = 8 | T.type_alias do 9 | T.any(OpenAI::Audio::Translation, OpenAI::Internal::AnyHash) 10 | end 11 | 12 | sig { returns(String) } 13 | attr_accessor :text 14 | 15 | sig { params(text: String).returns(T.attached_class) } 16 | def self.new(text:) 17 | end 18 | 19 | sig { override.returns({ text: String }) } 20 | def to_hash 21 | end 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /rbi/openai/models/audio/translation_create_response.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module Audio 6 | module TranslationCreateResponse 7 | extend OpenAI::Internal::Type::Union 8 | 9 | Variants = 10 | T.type_alias do 11 | T.any(OpenAI::Audio::Translation, OpenAI::Audio::TranslationVerbose) 12 | end 13 | 14 | sig do 15 | override.returns( 16 | T::Array[OpenAI::Models::Audio::TranslationCreateResponse::Variants] 17 | ) 18 | end 19 | def self.variants 20 | end 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /rbi/openai/models/audio_model.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module AudioModel 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::AudioModel) } 9 | OrSymbol = T.type_alias { T.any(Symbol, String) } 10 | 11 | WHISPER_1 = T.let(:"whisper-1", OpenAI::AudioModel::TaggedSymbol) 12 | GPT_4O_TRANSCRIBE = 13 | T.let(:"gpt-4o-transcribe", OpenAI::AudioModel::TaggedSymbol) 14 | GPT_4O_MINI_TRANSCRIBE = 15 | T.let(:"gpt-4o-mini-transcribe", OpenAI::AudioModel::TaggedSymbol) 16 | 17 | sig { override.returns(T::Array[OpenAI::AudioModel::TaggedSymbol]) } 18 | def self.values 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /rbi/openai/models/batch_cancel_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class BatchCancelParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::BatchCancelParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/batch_retrieve_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class BatchRetrieveParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::BatchRetrieveParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/beta/assistant_tool.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module Beta 6 | module AssistantTool 7 | extend OpenAI::Internal::Type::Union 8 | 9 | Variants = 10 | T.type_alias do 11 | T.any( 12 | OpenAI::Beta::CodeInterpreterTool, 13 | OpenAI::Beta::FileSearchTool, 14 | OpenAI::Beta::FunctionTool 15 | ) 16 | end 17 | 18 | sig do 19 | override.returns(T::Array[OpenAI::Beta::AssistantTool::Variants]) 20 | end 21 | def self.variants 22 | end 23 | end 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /rbi/openai/models/chat/chat_completion_reasoning_effort.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | ChatCompletionReasoningEffort = Chat::ChatCompletionReasoningEffort 6 | 7 | module Chat 8 | ChatCompletionReasoningEffort = OpenAI::Models::ReasoningEffort 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /rbi/openai/models/container_delete_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class ContainerDeleteParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::ContainerDeleteParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/container_retrieve_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class ContainerRetrieveParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::ContainerRetrieveParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/embedding_model.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module EmbeddingModel 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::EmbeddingModel) } 9 | OrSymbol = T.type_alias { T.any(Symbol, String) } 10 | 11 | TEXT_EMBEDDING_ADA_002 = 12 | T.let(:"text-embedding-ada-002", OpenAI::EmbeddingModel::TaggedSymbol) 13 | TEXT_EMBEDDING_3_SMALL = 14 | T.let(:"text-embedding-3-small", OpenAI::EmbeddingModel::TaggedSymbol) 15 | TEXT_EMBEDDING_3_LARGE = 16 | T.let(:"text-embedding-3-large", OpenAI::EmbeddingModel::TaggedSymbol) 17 | 18 | sig { override.returns(T::Array[OpenAI::EmbeddingModel::TaggedSymbol]) } 19 | def self.values 20 | end 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /rbi/openai/models/eval_delete_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class EvalDeleteParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::EvalDeleteParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/eval_retrieve_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class EvalRetrieveParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::EvalRetrieveParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/file_chunking_strategy.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | # The strategy used to chunk the file. 6 | module FileChunkingStrategy 7 | extend OpenAI::Internal::Type::Union 8 | 9 | Variants = 10 | T.type_alias do 11 | T.any( 12 | OpenAI::StaticFileChunkingStrategyObject, 13 | OpenAI::OtherFileChunkingStrategyObject 14 | ) 15 | end 16 | 17 | sig { override.returns(T::Array[OpenAI::FileChunkingStrategy::Variants]) } 18 | def self.variants 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /rbi/openai/models/file_chunking_strategy_param.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | # The chunking strategy used to chunk the file(s). If not set, will use the `auto` 6 | # strategy. Only applicable if `file_ids` is non-empty. 7 | module FileChunkingStrategyParam 8 | extend OpenAI::Internal::Type::Union 9 | 10 | Variants = 11 | T.type_alias do 12 | T.any( 13 | OpenAI::AutoFileChunkingStrategyParam, 14 | OpenAI::StaticFileChunkingStrategyObjectParam 15 | ) 16 | end 17 | 18 | sig do 19 | override.returns(T::Array[OpenAI::FileChunkingStrategyParam::Variants]) 20 | end 21 | def self.variants 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /rbi/openai/models/file_content.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | FileContent = String 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /rbi/openai/models/file_content_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class FileContentParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::FileContentParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/file_delete_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class FileDeleteParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::FileDeleteParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/file_retrieve_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class FileRetrieveParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::FileRetrieveParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/fine_tuning/fine_tuning_job_integration.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | FineTuningJobIntegration = FineTuning::FineTuningJobIntegration 6 | 7 | module FineTuning 8 | FineTuningJobIntegration = 9 | OpenAI::Models::FineTuning::FineTuningJobWandbIntegrationObject 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /rbi/openai/models/function_parameters.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | FunctionParameters = 6 | T.let( 7 | OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown], 8 | OpenAI::Internal::Type::Converter 9 | ) 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /rbi/openai/models/image_model.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module ImageModel 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::ImageModel) } 9 | OrSymbol = T.type_alias { T.any(Symbol, String) } 10 | 11 | DALL_E_2 = T.let(:"dall-e-2", OpenAI::ImageModel::TaggedSymbol) 12 | DALL_E_3 = T.let(:"dall-e-3", OpenAI::ImageModel::TaggedSymbol) 13 | GPT_IMAGE_1 = T.let(:"gpt-image-1", OpenAI::ImageModel::TaggedSymbol) 14 | 15 | sig { override.returns(T::Array[OpenAI::ImageModel::TaggedSymbol]) } 16 | def self.values 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /rbi/openai/models/metadata.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | Metadata = 6 | T.let( 7 | OpenAI::Internal::Type::HashOf[String], 8 | OpenAI::Internal::Type::Converter 9 | ) 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /rbi/openai/models/model_delete_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class ModelDeleteParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::ModelDeleteParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/model_list_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class ModelListParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::ModelListParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/model_retrieve_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class ModelRetrieveParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::ModelRetrieveParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/moderation_multi_modal_input.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | # An object describing an image to classify. 6 | module ModerationMultiModalInput 7 | extend OpenAI::Internal::Type::Union 8 | 9 | Variants = 10 | T.type_alias do 11 | T.any(OpenAI::ModerationImageURLInput, OpenAI::ModerationTextInput) 12 | end 13 | 14 | sig do 15 | override.returns(T::Array[OpenAI::ModerationMultiModalInput::Variants]) 16 | end 17 | def self.variants 18 | end 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /rbi/openai/models/responses/response_input.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module Responses 6 | ResponseInput = 7 | T.let( 8 | OpenAI::Internal::Type::ArrayOf[ 9 | union: OpenAI::Responses::ResponseInputItem 10 | ], 11 | OpenAI::Internal::Type::Converter 12 | ) 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /rbi/openai/models/responses/response_input_content.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module Responses 6 | # A text input to the model. 7 | module ResponseInputContent 8 | extend OpenAI::Internal::Type::Union 9 | 10 | Variants = 11 | T.type_alias do 12 | T.any( 13 | OpenAI::Responses::ResponseInputText, 14 | OpenAI::Responses::ResponseInputImage, 15 | OpenAI::Responses::ResponseInputFile 16 | ) 17 | end 18 | 19 | sig do 20 | override.returns( 21 | T::Array[OpenAI::Responses::ResponseInputContent::Variants] 22 | ) 23 | end 24 | def self.variants 25 | end 26 | end 27 | end 28 | end 29 | end 30 | -------------------------------------------------------------------------------- /rbi/openai/models/responses/response_input_message_content_list.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | module Responses 6 | ResponseInputMessageContentList = 7 | T.let( 8 | OpenAI::Internal::Type::ArrayOf[ 9 | union: OpenAI::Responses::ResponseInputContent 10 | ], 11 | OpenAI::Internal::Type::Converter 12 | ) 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /rbi/openai/models/upload_cancel_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class UploadCancelParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::UploadCancelParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/vector_store_delete_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class VectorStoreDeleteParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::VectorStoreDeleteParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/models/vector_store_retrieve_params.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Models 5 | class VectorStoreRetrieveParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | OrHash = 10 | T.type_alias do 11 | T.any(OpenAI::VectorStoreRetrieveParams, OpenAI::Internal::AnyHash) 12 | end 13 | 14 | sig do 15 | params(request_options: OpenAI::RequestOptions::OrHash).returns( 16 | T.attached_class 17 | ) 18 | end 19 | def self.new(request_options: {}) 20 | end 21 | 22 | sig { override.returns({ request_options: OpenAI::RequestOptions }) } 23 | def to_hash 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/resources/audio.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class Audio 6 | sig { returns(OpenAI::Resources::Audio::Transcriptions) } 7 | attr_reader :transcriptions 8 | 9 | sig { returns(OpenAI::Resources::Audio::Translations) } 10 | attr_reader :translations 11 | 12 | sig { returns(OpenAI::Resources::Audio::Speech) } 13 | attr_reader :speech 14 | 15 | # @api private 16 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 17 | def self.new(client:) 18 | end 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /rbi/openai/resources/beta.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class Beta 6 | sig { returns(OpenAI::Resources::Beta::Assistants) } 7 | attr_reader :assistants 8 | 9 | sig { returns(OpenAI::Resources::Beta::Threads) } 10 | attr_reader :threads 11 | 12 | # @api private 13 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 14 | def self.new(client:) 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /rbi/openai/resources/chat.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class Chat 6 | sig { returns(OpenAI::Resources::Chat::Completions) } 7 | attr_reader :completions 8 | 9 | # @api private 10 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 11 | def self.new(client:) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /rbi/openai/resources/containers/files/content.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class Containers 6 | class Files 7 | class Content 8 | # Retrieve Container File Content 9 | sig do 10 | params( 11 | file_id: String, 12 | container_id: String, 13 | request_options: OpenAI::RequestOptions::OrHash 14 | ).returns(StringIO) 15 | end 16 | def retrieve(file_id, container_id:, request_options: {}) 17 | end 18 | 19 | # @api private 20 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 21 | def self.new(client:) 22 | end 23 | end 24 | end 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /rbi/openai/resources/fine_tuning.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class FineTuning 6 | sig { returns(OpenAI::Resources::FineTuning::Methods) } 7 | attr_reader :methods_ 8 | 9 | sig { returns(OpenAI::Resources::FineTuning::Jobs) } 10 | attr_reader :jobs 11 | 12 | sig { returns(OpenAI::Resources::FineTuning::Checkpoints) } 13 | attr_reader :checkpoints 14 | 15 | sig { returns(OpenAI::Resources::FineTuning::Alpha) } 16 | attr_reader :alpha 17 | 18 | # @api private 19 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 20 | def self.new(client:) 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /rbi/openai/resources/fine_tuning/alpha.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class FineTuning 6 | class Alpha 7 | sig { returns(OpenAI::Resources::FineTuning::Alpha::Graders) } 8 | attr_reader :graders 9 | 10 | # @api private 11 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 12 | def self.new(client:) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /rbi/openai/resources/fine_tuning/checkpoints.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class FineTuning 6 | class Checkpoints 7 | sig { returns(OpenAI::Resources::FineTuning::Checkpoints::Permissions) } 8 | attr_reader :permissions 9 | 10 | # @api private 11 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 12 | def self.new(client:) 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /rbi/openai/resources/fine_tuning/methods.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class FineTuning 6 | class Methods 7 | # @api private 8 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 9 | def self.new(client:) 10 | end 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /rbi/openai/resources/graders.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class Graders 6 | sig { returns(OpenAI::Resources::Graders::GraderModels) } 7 | attr_reader :grader_models 8 | 9 | # @api private 10 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 11 | def self.new(client:) 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /rbi/openai/resources/graders/grader_models.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | module Resources 5 | class Graders 6 | class GraderModels 7 | # @api private 8 | sig { params(client: OpenAI::Client).returns(T.attached_class) } 9 | def self.new(client:) 10 | end 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /rbi/openai/structured_output.rbi: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | module OpenAI 4 | StructuredOutput = OpenAI::Helpers::StructuredOutput 5 | ArrayOf = OpenAI::Helpers::StructuredOutput::ArrayOf 6 | BaseModel = OpenAI::Helpers::StructuredOutput::BaseModel 7 | Boolean = OpenAI::Helpers::StructuredOutput::Boolean 8 | EnumOf = OpenAI::Helpers::StructuredOutput::EnumOf 9 | UnionOf = OpenAI::Helpers::StructuredOutput::UnionOf 10 | end 11 | -------------------------------------------------------------------------------- /rbi/openai/version.rbi: -------------------------------------------------------------------------------- 1 | # typed: strong 2 | 3 | module OpenAI 4 | VERSION = T.let(T.unsafe(nil), String) 5 | end 6 | -------------------------------------------------------------------------------- /scripts/bootstrap: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | cd -- "$(dirname -- "$0")/.." 6 | 7 | if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ]; then 8 | brew bundle check >/dev/null 2>&1 || { 9 | echo "==> Installing Homebrew dependencies…" 10 | brew bundle 11 | } 12 | fi 13 | 14 | echo "==> Installing Ruby dependencies…" 15 | 16 | exec -- bundle install "$@" 17 | -------------------------------------------------------------------------------- /scripts/format: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | cd -- "$(dirname -- "$0")/.." 6 | 7 | echo "==> Running formatters" 8 | 9 | exec -- bundle exec rake format "$@" 10 | -------------------------------------------------------------------------------- /scripts/lint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | cd -- "$(dirname -- "$0")/.." 6 | 7 | echo "==> Running linters" 8 | 9 | exec -- bundle exec rake lint "$@" 10 | -------------------------------------------------------------------------------- /sig/openai/file_part.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | class FilePart 3 | attr_reader content: Pathname | StringIO | IO | String 4 | 5 | attr_reader content_type: String? 6 | 7 | attr_reader filename: String? 8 | 9 | private def read: -> String 10 | 11 | def to_json: (*top a) -> String 12 | 13 | def to_yaml: (*top a) -> String 14 | 15 | def initialize: ( 16 | Pathname | StringIO | IO | String content, 17 | ?filename: String?, 18 | ?content_type: String? 19 | ) -> void 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /sig/openai/internal.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Internal 3 | extend OpenAI::Internal::Util::SorbetRuntimeSupport 4 | 5 | type file_input = Pathname | StringIO | IO | String | OpenAI::FilePart 6 | 7 | OMIT: Object 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /sig/openai/internal/cursor_page.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Internal 3 | class CursorPage[Elem] 4 | include OpenAI::Internal::Type::BasePage[Elem] 5 | 6 | attr_accessor data: ::Array[Elem]? 7 | 8 | attr_accessor has_more: bool 9 | 10 | def inspect: -> String 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/internal/page.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Internal 3 | class Page[Elem] 4 | include OpenAI::Internal::Type::BasePage[Elem] 5 | 6 | attr_accessor data: ::Array[Elem]? 7 | 8 | attr_accessor object: String 9 | 10 | def inspect: -> String 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/internal/stream.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Internal 3 | class Stream[Elem] 4 | include OpenAI::Internal::Type::BaseStream[OpenAI::Internal::Util::server_sent_event, Elem] 5 | 6 | private def iterator: -> Enumerable[Elem] 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /sig/openai/internal/type/base_page.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Internal 3 | module Type 4 | module BasePage[Elem] 5 | def next_page?: -> bool 6 | 7 | def next_page: -> instance 8 | 9 | def auto_paging_each: { (Elem arg0) -> void } -> void 10 | 11 | def to_enum: -> Enumerable[Elem] 12 | 13 | alias enum_for to_enum 14 | 15 | def initialize: ( 16 | client: OpenAI::Internal::Transport::BaseClient, 17 | req: OpenAI::Internal::Transport::BaseClient::request_components, 18 | headers: ::Hash[String, String], 19 | page_data: top 20 | ) -> void 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/internal/type/boolean.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Internal 3 | module Type 4 | class Boolean 5 | extend OpenAI::Internal::Type::Converter 6 | extend OpenAI::Internal::Util::SorbetRuntimeSupport 7 | 8 | def self.===: (top other) -> bool 9 | 10 | def self.==: (top other) -> bool 11 | 12 | def self.coerce: ( 13 | bool | top value, 14 | state: OpenAI::Internal::Type::Converter::coerce_state 15 | ) -> (bool | top) 16 | 17 | def self.dump: ( 18 | bool | top value, 19 | state: OpenAI::Internal::Type::Converter::dump_state 20 | ) -> (bool | top) 21 | 22 | def self.to_sorbet_type: -> top 23 | end 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /sig/openai/internal/type/file_input.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Internal 3 | module Type 4 | class FileInput 5 | extend OpenAI::Internal::Type::Converter 6 | 7 | def self.===: (top other) -> bool 8 | 9 | def self.==: (top other) -> bool 10 | 11 | def self.coerce: ( 12 | StringIO | String | top value, 13 | state: OpenAI::Internal::Type::Converter::coerce_state 14 | ) -> (StringIO | top) 15 | 16 | def self.dump: ( 17 | Pathname | StringIO | IO | String | top value, 18 | state: OpenAI::Internal::Type::Converter::dump_state 19 | ) -> (Pathname | StringIO | IO | String | top) 20 | 21 | def self.to_sorbet_type: -> top 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /sig/openai/internal/type/request_parameters.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Internal 3 | module Type 4 | type request_parameters = { request_options: OpenAI::request_opts } 5 | 6 | module RequestParameters 7 | attr_reader request_options: OpenAI::request_opts 8 | 9 | def request_options=: (OpenAI::request_opts) -> OpenAI::request_opts 10 | 11 | module Converter 12 | def dump_request: (top params) -> [top, ::Hash[Symbol, top]] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/internal/type/unknown.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Internal 3 | module Type 4 | class Unknown 5 | extend OpenAI::Internal::Type::Converter 6 | extend OpenAI::Internal::Util::SorbetRuntimeSupport 7 | 8 | def self.===: (top other) -> bool 9 | 10 | def self.==: (top other) -> bool 11 | 12 | def self.coerce: ( 13 | top value, 14 | state: OpenAI::Internal::Type::Converter::coerce_state 15 | ) -> top 16 | 17 | def self.dump: ( 18 | top value, 19 | state: OpenAI::Internal::Type::Converter::dump_state 20 | ) -> top 21 | 22 | def self.to_sorbet_type: -> top 23 | end 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /sig/openai/models/audio/speech_model.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Audio 4 | type speech_model = :"tts-1" | :"tts-1-hd" | :"gpt-4o-mini-tts" 5 | 6 | module SpeechModel 7 | extend OpenAI::Internal::Type::Enum 8 | 9 | TTS_1: :"tts-1" 10 | TTS_1_HD: :"tts-1-hd" 11 | GPT_4O_MINI_TTS: :"gpt-4o-mini-tts" 12 | 13 | def self?.values: -> ::Array[OpenAI::Models::Audio::speech_model] 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/audio/transcription_create_response.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Audio 4 | type transcription_create_response = 5 | OpenAI::Audio::Transcription | OpenAI::Audio::TranscriptionVerbose 6 | 7 | module TranscriptionCreateResponse 8 | extend OpenAI::Internal::Type::Union 9 | 10 | def self?.variants: -> ::Array[OpenAI::Models::Audio::transcription_create_response] 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /sig/openai/models/audio/transcription_include.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Audio 4 | type transcription_include = :logprobs 5 | 6 | module TranscriptionInclude 7 | extend OpenAI::Internal::Type::Enum 8 | 9 | LOGPROBS: :logprobs 10 | 11 | def self?.values: -> ::Array[OpenAI::Models::Audio::transcription_include] 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/audio/transcription_stream_event.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Audio 4 | type transcription_stream_event = 5 | OpenAI::Audio::TranscriptionTextDeltaEvent 6 | | OpenAI::Audio::TranscriptionTextDoneEvent 7 | 8 | module TranscriptionStreamEvent 9 | extend OpenAI::Internal::Type::Union 10 | 11 | def self?.variants: -> ::Array[OpenAI::Models::Audio::transcription_stream_event] 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/audio/transcription_word.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Audio 4 | type transcription_word = { end_: Float, start: Float, word: String } 5 | 6 | class TranscriptionWord < OpenAI::Internal::Type::BaseModel 7 | attr_accessor end_: Float 8 | 9 | attr_accessor start: Float 10 | 11 | attr_accessor word: String 12 | 13 | def initialize: (end_: Float, start: Float, word: String) -> void 14 | 15 | def to_hash: -> { end_: Float, start: Float, word: String } 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/audio/translation.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Audio 4 | type translation = { text: String } 5 | 6 | class Translation < OpenAI::Internal::Type::BaseModel 7 | attr_accessor text: String 8 | 9 | def initialize: (text: String) -> void 10 | 11 | def to_hash: -> { text: String } 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/audio/translation_create_response.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Audio 4 | type translation_create_response = 5 | OpenAI::Audio::Translation | OpenAI::Audio::TranslationVerbose 6 | 7 | module TranslationCreateResponse 8 | extend OpenAI::Internal::Type::Union 9 | 10 | def self?.variants: -> ::Array[OpenAI::Models::Audio::translation_create_response] 11 | end 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /sig/openai/models/audio_model.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type audio_model = 4 | :"whisper-1" | :"gpt-4o-transcribe" | :"gpt-4o-mini-transcribe" 5 | 6 | module AudioModel 7 | extend OpenAI::Internal::Type::Enum 8 | 9 | WHISPER_1: :"whisper-1" 10 | GPT_4O_TRANSCRIBE: :"gpt-4o-transcribe" 11 | GPT_4O_MINI_TRANSCRIBE: :"gpt-4o-mini-transcribe" 12 | 13 | def self?.values: -> ::Array[OpenAI::Models::audio_model] 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sig/openai/models/audio_response_format.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type audio_response_format = :json | :text | :srt | :verbose_json | :vtt 4 | 5 | module AudioResponseFormat 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | JSON: :json 9 | TEXT: :text 10 | SRT: :srt 11 | VERBOSE_JSON: :verbose_json 12 | VTT: :vtt 13 | 14 | def self?.values: -> ::Array[OpenAI::Models::audio_response_format] 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/auto_file_chunking_strategy_param.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type auto_file_chunking_strategy_param = { type: :auto } 4 | 5 | class AutoFileChunkingStrategyParam < OpenAI::Internal::Type::BaseModel 6 | attr_accessor type: :auto 7 | 8 | def initialize: (?type: :auto) -> void 9 | 10 | def to_hash: -> { type: :auto } 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/models/batch_cancel_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type batch_cancel_params = { } & OpenAI::Internal::Type::request_parameters 4 | 5 | class BatchCancelParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | def initialize: (?request_options: OpenAI::request_opts) -> void 10 | 11 | def to_hash: -> { request_options: OpenAI::RequestOptions } 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /sig/openai/models/batch_request_counts.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type batch_request_counts = 4 | { completed: Integer, failed: Integer, total: Integer } 5 | 6 | class BatchRequestCounts < OpenAI::Internal::Type::BaseModel 7 | attr_accessor completed: Integer 8 | 9 | attr_accessor failed: Integer 10 | 11 | attr_accessor total: Integer 12 | 13 | def initialize: ( 14 | completed: Integer, 15 | failed: Integer, 16 | total: Integer 17 | ) -> void 18 | 19 | def to_hash: -> { completed: Integer, failed: Integer, total: Integer } 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /sig/openai/models/batch_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type batch_retrieve_params = 4 | { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class BatchRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/beta/assistant_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type assistant_delete_params = 5 | { } & OpenAI::Internal::Type::request_parameters 6 | 7 | class AssistantDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | def initialize: (?request_options: OpenAI::request_opts) -> void 12 | 13 | def to_hash: -> { request_options: OpenAI::RequestOptions } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/beta/assistant_deleted.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type assistant_deleted = 5 | { id: String, deleted: bool, object: :"assistant.deleted" } 6 | 7 | class AssistantDeleted < OpenAI::Internal::Type::BaseModel 8 | attr_accessor id: String 9 | 10 | attr_accessor deleted: bool 11 | 12 | attr_accessor object: :"assistant.deleted" 13 | 14 | def initialize: ( 15 | id: String, 16 | deleted: bool, 17 | ?object: :"assistant.deleted" 18 | ) -> void 19 | 20 | def to_hash: -> { 21 | id: String, 22 | deleted: bool, 23 | object: :"assistant.deleted" 24 | } 25 | end 26 | end 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /sig/openai/models/beta/assistant_response_format_option.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type assistant_response_format_option = 5 | :auto 6 | | OpenAI::ResponseFormatText 7 | | OpenAI::ResponseFormatJSONObject 8 | | OpenAI::ResponseFormatJSONSchema 9 | 10 | module AssistantResponseFormatOption 11 | extend OpenAI::Internal::Type::Union 12 | 13 | def self?.variants: -> ::Array[OpenAI::Models::Beta::assistant_response_format_option] 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/beta/assistant_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type assistant_retrieve_params = 5 | { } & OpenAI::Internal::Type::request_parameters 6 | 7 | class AssistantRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | def initialize: (?request_options: OpenAI::request_opts) -> void 12 | 13 | def to_hash: -> { request_options: OpenAI::RequestOptions } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/beta/assistant_tool.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type assistant_tool = 5 | OpenAI::Beta::CodeInterpreterTool 6 | | OpenAI::Beta::FileSearchTool 7 | | OpenAI::Beta::FunctionTool 8 | 9 | module AssistantTool 10 | extend OpenAI::Internal::Type::Union 11 | 12 | def self?.variants: -> ::Array[OpenAI::Models::Beta::assistant_tool] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sig/openai/models/beta/assistant_tool_choice_function.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type assistant_tool_choice_function = { name: String } 5 | 6 | class AssistantToolChoiceFunction < OpenAI::Internal::Type::BaseModel 7 | attr_accessor name: String 8 | 9 | def initialize: (name: String) -> void 10 | 11 | def to_hash: -> { name: String } 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/beta/code_interpreter_tool.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type code_interpreter_tool = { type: :code_interpreter } 5 | 6 | class CodeInterpreterTool < OpenAI::Internal::Type::BaseModel 7 | attr_accessor type: :code_interpreter 8 | 9 | def initialize: (?type: :code_interpreter) -> void 10 | 11 | def to_hash: -> { type: :code_interpreter } 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/beta/function_tool.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type function_tool = 5 | { function: OpenAI::FunctionDefinition, type: :function } 6 | 7 | class FunctionTool < OpenAI::Internal::Type::BaseModel 8 | attr_accessor function: OpenAI::FunctionDefinition 9 | 10 | attr_accessor type: :function 11 | 12 | def initialize: ( 13 | function: OpenAI::FunctionDefinition, 14 | ?type: :function 15 | ) -> void 16 | 17 | def to_hash: -> { 18 | function: OpenAI::FunctionDefinition, 19 | type: :function 20 | } 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/models/beta/thread_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type thread_delete_params = 5 | { } & OpenAI::Internal::Type::request_parameters 6 | 7 | class ThreadDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | def initialize: (?request_options: OpenAI::request_opts) -> void 12 | 13 | def to_hash: -> { request_options: OpenAI::RequestOptions } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/beta/thread_deleted.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type thread_deleted = 5 | { id: String, deleted: bool, object: :"thread.deleted" } 6 | 7 | class ThreadDeleted < OpenAI::Internal::Type::BaseModel 8 | attr_accessor id: String 9 | 10 | attr_accessor deleted: bool 11 | 12 | attr_accessor object: :"thread.deleted" 13 | 14 | def initialize: ( 15 | id: String, 16 | deleted: bool, 17 | ?object: :"thread.deleted" 18 | ) -> void 19 | 20 | def to_hash: -> { id: String, deleted: bool, object: :"thread.deleted" } 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/models/beta/thread_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | type thread_retrieve_params = 5 | { } & OpenAI::Internal::Type::request_parameters 6 | 7 | class ThreadRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | def initialize: (?request_options: OpenAI::request_opts) -> void 12 | 13 | def to_hash: -> { request_options: OpenAI::RequestOptions } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/annotation.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type annotation = 6 | OpenAI::Beta::Threads::FileCitationAnnotation 7 | | OpenAI::Beta::Threads::FilePathAnnotation 8 | 9 | module Annotation 10 | extend OpenAI::Internal::Type::Union 11 | 12 | def self?.variants: -> ::Array[OpenAI::Models::Beta::Threads::annotation] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/annotation_delta.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type annotation_delta = 6 | OpenAI::Beta::Threads::FileCitationDeltaAnnotation 7 | | OpenAI::Beta::Threads::FilePathDeltaAnnotation 8 | 9 | module AnnotationDelta 10 | extend OpenAI::Internal::Type::Union 11 | 12 | def self?.variants: -> ::Array[OpenAI::Models::Beta::Threads::annotation_delta] 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/image_url_content_block.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type image_url_content_block = 6 | { image_url: OpenAI::Beta::Threads::ImageURL, type: :image_url } 7 | 8 | class ImageURLContentBlock < OpenAI::Internal::Type::BaseModel 9 | attr_accessor image_url: OpenAI::Beta::Threads::ImageURL 10 | 11 | attr_accessor type: :image_url 12 | 13 | def initialize: ( 14 | image_url: OpenAI::Beta::Threads::ImageURL, 15 | ?type: :image_url 16 | ) -> void 17 | 18 | def to_hash: -> { 19 | image_url: OpenAI::Beta::Threads::ImageURL, 20 | type: :image_url 21 | } 22 | end 23 | end 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/message_content.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type message_content = 6 | OpenAI::Beta::Threads::ImageFileContentBlock 7 | | OpenAI::Beta::Threads::ImageURLContentBlock 8 | | OpenAI::Beta::Threads::TextContentBlock 9 | | OpenAI::Beta::Threads::RefusalContentBlock 10 | 11 | module MessageContent 12 | extend OpenAI::Internal::Type::Union 13 | 14 | def self?.variants: -> ::Array[OpenAI::Models::Beta::Threads::message_content] 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/message_content_delta.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type message_content_delta = 6 | OpenAI::Beta::Threads::ImageFileDeltaBlock 7 | | OpenAI::Beta::Threads::TextDeltaBlock 8 | | OpenAI::Beta::Threads::RefusalDeltaBlock 9 | | OpenAI::Beta::Threads::ImageURLDeltaBlock 10 | 11 | module MessageContentDelta 12 | extend OpenAI::Internal::Type::Union 13 | 14 | def self?.variants: -> ::Array[OpenAI::Models::Beta::Threads::message_content_delta] 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/message_content_part_param.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type message_content_part_param = 6 | OpenAI::Beta::Threads::ImageFileContentBlock 7 | | OpenAI::Beta::Threads::ImageURLContentBlock 8 | | OpenAI::Beta::Threads::TextContentBlockParam 9 | 10 | module MessageContentPartParam 11 | extend OpenAI::Internal::Type::Union 12 | 13 | def self?.variants: -> ::Array[OpenAI::Models::Beta::Threads::message_content_part_param] 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/refusal_content_block.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type refusal_content_block = { refusal: String, type: :refusal } 6 | 7 | class RefusalContentBlock < OpenAI::Internal::Type::BaseModel 8 | attr_accessor refusal: String 9 | 10 | attr_accessor type: :refusal 11 | 12 | def initialize: (refusal: String, ?type: :refusal) -> void 13 | 14 | def to_hash: -> { refusal: String, type: :refusal } 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/refusal_delta_block.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type refusal_delta_block = 6 | { index: Integer, type: :refusal, refusal: String } 7 | 8 | class RefusalDeltaBlock < OpenAI::Internal::Type::BaseModel 9 | attr_accessor index: Integer 10 | 11 | attr_accessor type: :refusal 12 | 13 | attr_reader refusal: String? 14 | 15 | def refusal=: (String) -> String 16 | 17 | def initialize: ( 18 | index: Integer, 19 | ?refusal: String, 20 | ?type: :refusal 21 | ) -> void 22 | 23 | def to_hash: -> { index: Integer, type: :refusal, refusal: String } 24 | end 25 | end 26 | end 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/runs/run_step_include.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | module RunStepInclude = Runs::RunStepInclude 6 | 7 | module Runs 8 | type run_step_include = 9 | :"step_details.tool_calls[*].file_search.results[*].content" 10 | 11 | module RunStepInclude 12 | extend OpenAI::Internal::Type::Enum 13 | 14 | STEP_DETAILS_TOOL_CALLS_FILE_SEARCH_RESULTS_CONTENT: :"step_details.tool_calls[*].file_search.results[*].content" 15 | 16 | def self?.values: -> ::Array[OpenAI::Models::Beta::Threads::Runs::run_step_include] 17 | end 18 | end 19 | end 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/runs/tool_call.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | module Runs 6 | type tool_call = 7 | OpenAI::Beta::Threads::Runs::CodeInterpreterToolCall 8 | | OpenAI::Beta::Threads::Runs::FileSearchToolCall 9 | | OpenAI::Beta::Threads::Runs::FunctionToolCall 10 | 11 | module ToolCall 12 | extend OpenAI::Internal::Type::Union 13 | 14 | def self?.variants: -> ::Array[OpenAI::Models::Beta::Threads::Runs::tool_call] 15 | end 16 | end 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/runs/tool_call_delta.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | module Runs 6 | type tool_call_delta = 7 | OpenAI::Beta::Threads::Runs::CodeInterpreterToolCallDelta 8 | | OpenAI::Beta::Threads::Runs::FileSearchToolCallDelta 9 | | OpenAI::Beta::Threads::Runs::FunctionToolCallDelta 10 | 11 | module ToolCallDelta 12 | extend OpenAI::Internal::Type::Union 13 | 14 | def self?.variants: -> ::Array[OpenAI::Models::Beta::Threads::Runs::tool_call_delta] 15 | end 16 | end 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/text_content_block.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type text_content_block = 6 | { text: OpenAI::Beta::Threads::Text, type: :text } 7 | 8 | class TextContentBlock < OpenAI::Internal::Type::BaseModel 9 | attr_accessor text: OpenAI::Beta::Threads::Text 10 | 11 | attr_accessor type: :text 12 | 13 | def initialize: ( 14 | text: OpenAI::Beta::Threads::Text, 15 | ?type: :text 16 | ) -> void 17 | 18 | def to_hash: -> { text: OpenAI::Beta::Threads::Text, type: :text } 19 | end 20 | end 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /sig/openai/models/beta/threads/text_content_block_param.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Beta 4 | module Threads 5 | type text_content_block_param = { text: String, type: :text } 6 | 7 | class TextContentBlockParam < OpenAI::Internal::Type::BaseModel 8 | attr_accessor text: String 9 | 10 | attr_accessor type: :text 11 | 12 | def initialize: (text: String, ?type: :text) -> void 13 | 14 | def to_hash: -> { text: String, type: :text } 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/chat/chat_completion_content_part_refusal.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | class ChatCompletionContentPartRefusal = Chat::ChatCompletionContentPartRefusal 4 | 5 | module Chat 6 | type chat_completion_content_part_refusal = 7 | { refusal: String, type: :refusal } 8 | 9 | class ChatCompletionContentPartRefusal < OpenAI::Internal::Type::BaseModel 10 | attr_accessor refusal: String 11 | 12 | attr_accessor type: :refusal 13 | 14 | def initialize: (refusal: String, ?type: :refusal) -> void 15 | 16 | def to_hash: -> { refusal: String, type: :refusal } 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /sig/openai/models/chat/chat_completion_content_part_text.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | class ChatCompletionContentPartText = Chat::ChatCompletionContentPartText 4 | 5 | module Chat 6 | type chat_completion_content_part_text = { text: String, type: :text } 7 | 8 | class ChatCompletionContentPartText < OpenAI::Internal::Type::BaseModel 9 | attr_accessor text: String 10 | 11 | attr_accessor type: :text 12 | 13 | def initialize: (text: String, ?type: :text) -> void 14 | 15 | def to_hash: -> { text: String, type: :text } 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/chat/chat_completion_function_call_option.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | class ChatCompletionFunctionCallOption = Chat::ChatCompletionFunctionCallOption 4 | 5 | module Chat 6 | type chat_completion_function_call_option = { name: String } 7 | 8 | class ChatCompletionFunctionCallOption < OpenAI::Internal::Type::BaseModel 9 | attr_accessor name: String 10 | 11 | def initialize: (name: String) -> void 12 | 13 | def to_hash: -> { name: String } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/chat/chat_completion_modality.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module ChatCompletionModality = Chat::ChatCompletionModality 4 | 5 | module Chat 6 | type chat_completion_modality = :text | :audio 7 | 8 | module ChatCompletionModality 9 | extend OpenAI::Internal::Type::Enum 10 | 11 | TEXT: :text 12 | AUDIO: :audio 13 | 14 | def self?.values: -> ::Array[OpenAI::Models::Chat::chat_completion_modality] 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /sig/openai/models/chat/chat_completion_reasoning_effort.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module ChatCompletionReasoningEffort = Chat::ChatCompletionReasoningEffort 4 | 5 | module Chat 6 | module ChatCompletionReasoningEffort = OpenAI::Models::ReasoningEffort 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /sig/openai/models/chat/chat_completion_role.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module ChatCompletionRole = Chat::ChatCompletionRole 4 | 5 | module Chat 6 | type chat_completion_role = 7 | :developer | :system | :user | :assistant | :tool | :function 8 | 9 | module ChatCompletionRole 10 | extend OpenAI::Internal::Type::Enum 11 | 12 | DEVELOPER: :developer 13 | SYSTEM: :system 14 | USER: :user 15 | ASSISTANT: :assistant 16 | TOOL: :tool 17 | FUNCTION: :function 18 | 19 | def self?.values: -> ::Array[OpenAI::Models::Chat::chat_completion_role] 20 | end 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /sig/openai/models/chat/chat_completion_store_message.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | class ChatCompletionStoreMessage = Chat::ChatCompletionStoreMessage 4 | 5 | module Chat 6 | type chat_completion_store_message = { id: String } 7 | 8 | class ChatCompletionStoreMessage < OpenAI::Models::Chat::ChatCompletionMessage 9 | def id: -> String 10 | 11 | def id=: (String _) -> String 12 | 13 | def initialize: (id: String) -> void 14 | 15 | def to_hash: -> { id: String } 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/chat/chat_completion_stream_options.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | class ChatCompletionStreamOptions = Chat::ChatCompletionStreamOptions 4 | 5 | module Chat 6 | type chat_completion_stream_options = { include_usage: bool } 7 | 8 | class ChatCompletionStreamOptions < OpenAI::Internal::Type::BaseModel 9 | attr_reader include_usage: bool? 10 | 11 | def include_usage=: (bool) -> bool 12 | 13 | def initialize: (?include_usage: bool) -> void 14 | 15 | def to_hash: -> { include_usage: bool } 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/chat/chat_completion_tool.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | class ChatCompletionTool = Chat::ChatCompletionTool 4 | 5 | module Chat 6 | type chat_completion_tool = 7 | { function: OpenAI::FunctionDefinition, type: :function } 8 | 9 | class ChatCompletionTool < OpenAI::Internal::Type::BaseModel 10 | attr_accessor function: OpenAI::FunctionDefinition 11 | 12 | attr_accessor type: :function 13 | 14 | def initialize: ( 15 | function: OpenAI::FunctionDefinition, 16 | ?type: :function 17 | ) -> void 18 | 19 | def to_hash: -> { 20 | function: OpenAI::FunctionDefinition, 21 | type: :function 22 | } 23 | end 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /sig/openai/models/chat/completion_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Chat 4 | type completion_delete_params = 5 | { } & OpenAI::Internal::Type::request_parameters 6 | 7 | class CompletionDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | def initialize: (?request_options: OpenAI::request_opts) -> void 12 | 13 | def to_hash: -> { request_options: OpenAI::RequestOptions } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/chat/completion_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Chat 4 | type completion_retrieve_params = 5 | { } & OpenAI::Internal::Type::request_parameters 6 | 7 | class CompletionRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | def initialize: (?request_options: OpenAI::request_opts) -> void 12 | 13 | def to_hash: -> { request_options: OpenAI::RequestOptions } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/container_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type container_delete_params = 4 | { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class ContainerDeleteParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/container_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type container_retrieve_params = 4 | { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class ContainerRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/containers/file_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Containers 4 | type file_delete_params = 5 | { container_id: String } & OpenAI::Internal::Type::request_parameters 6 | 7 | class FileDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | attr_accessor container_id: String 12 | 13 | def initialize: ( 14 | container_id: String, 15 | ?request_options: OpenAI::request_opts 16 | ) -> void 17 | 18 | def to_hash: -> { 19 | container_id: String, 20 | request_options: OpenAI::RequestOptions 21 | } 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /sig/openai/models/containers/file_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Containers 4 | type file_retrieve_params = 5 | { container_id: String } & OpenAI::Internal::Type::request_parameters 6 | 7 | class FileRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | attr_accessor container_id: String 12 | 13 | def initialize: ( 14 | container_id: String, 15 | ?request_options: OpenAI::request_opts 16 | ) -> void 17 | 18 | def to_hash: -> { 19 | container_id: String, 20 | request_options: OpenAI::RequestOptions 21 | } 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /sig/openai/models/embedding.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type embedding = 4 | { embedding: ::Array[Float], index: Integer, object: :embedding } 5 | 6 | class Embedding < OpenAI::Internal::Type::BaseModel 7 | attr_accessor embedding: ::Array[Float] 8 | 9 | attr_accessor index: Integer 10 | 11 | attr_accessor object: :embedding 12 | 13 | def initialize: ( 14 | embedding: ::Array[Float], 15 | index: Integer, 16 | ?object: :embedding 17 | ) -> void 18 | 19 | def to_hash: -> { 20 | embedding: ::Array[Float], 21 | index: Integer, 22 | object: :embedding 23 | } 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /sig/openai/models/embedding_model.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type embedding_model = 4 | :"text-embedding-ada-002" 5 | | :"text-embedding-3-small" 6 | | :"text-embedding-3-large" 7 | 8 | module EmbeddingModel 9 | extend OpenAI::Internal::Type::Enum 10 | 11 | TEXT_EMBEDDING_ADA_002: :"text-embedding-ada-002" 12 | TEXT_EMBEDDING_3_SMALL: :"text-embedding-3-small" 13 | TEXT_EMBEDDING_3_LARGE: :"text-embedding-3-large" 14 | 15 | def self?.values: -> ::Array[OpenAI::Models::embedding_model] 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /sig/openai/models/error_object.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type error_object = 4 | { code: String?, message: String, param: String?, type: String } 5 | 6 | class ErrorObject < OpenAI::Internal::Type::BaseModel 7 | attr_accessor code: String? 8 | 9 | attr_accessor message: String 10 | 11 | attr_accessor param: String? 12 | 13 | attr_accessor type: String 14 | 15 | def initialize: ( 16 | code: String?, 17 | message: String, 18 | param: String?, 19 | type: String 20 | ) -> void 21 | 22 | def to_hash: -> { 23 | code: String?, 24 | message: String, 25 | param: String?, 26 | type: String 27 | } 28 | end 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /sig/openai/models/eval_custom_data_source_config.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type eval_custom_data_source_config = 4 | { schema: ::Hash[Symbol, top], type: :custom } 5 | 6 | class EvalCustomDataSourceConfig < OpenAI::Internal::Type::BaseModel 7 | attr_accessor schema: ::Hash[Symbol, top] 8 | 9 | attr_accessor type: :custom 10 | 11 | def initialize: (schema: ::Hash[Symbol, top], ?type: :custom) -> void 12 | 13 | def to_hash: -> { schema: ::Hash[Symbol, top], type: :custom } 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sig/openai/models/eval_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type eval_delete_params = { } & OpenAI::Internal::Type::request_parameters 4 | 5 | class EvalDeleteParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | def initialize: (?request_options: OpenAI::request_opts) -> void 10 | 11 | def to_hash: -> { request_options: OpenAI::RequestOptions } 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /sig/openai/models/eval_delete_response.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type eval_delete_response = 4 | { deleted: bool, eval_id: String, object: String } 5 | 6 | class EvalDeleteResponse < OpenAI::Internal::Type::BaseModel 7 | attr_accessor deleted: bool 8 | 9 | attr_accessor eval_id: String 10 | 11 | attr_accessor object: String 12 | 13 | def initialize: (deleted: bool, eval_id: String, object: String) -> void 14 | 15 | def to_hash: -> { deleted: bool, eval_id: String, object: String } 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /sig/openai/models/eval_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type eval_retrieve_params = 4 | { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class EvalRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/evals/eval_api_error.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | class EvalAPIError = Evals::EvalAPIError 4 | 5 | module Evals 6 | type eval_api_error = { code: String, message: String } 7 | 8 | class EvalAPIError < OpenAI::Internal::Type::BaseModel 9 | attr_accessor code: String 10 | 11 | attr_accessor message: String 12 | 13 | def initialize: (code: String, message: String) -> void 14 | 15 | def to_hash: -> { code: String, message: String } 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/evals/run_cancel_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Evals 4 | type run_cancel_params = 5 | { eval_id: String } & OpenAI::Internal::Type::request_parameters 6 | 7 | class RunCancelParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | attr_accessor eval_id: String 12 | 13 | def initialize: ( 14 | eval_id: String, 15 | ?request_options: OpenAI::request_opts 16 | ) -> void 17 | 18 | def to_hash: -> { 19 | eval_id: String, 20 | request_options: OpenAI::RequestOptions 21 | } 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /sig/openai/models/evals/run_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Evals 4 | type run_delete_params = 5 | { eval_id: String } & OpenAI::Internal::Type::request_parameters 6 | 7 | class RunDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | attr_accessor eval_id: String 12 | 13 | def initialize: ( 14 | eval_id: String, 15 | ?request_options: OpenAI::request_opts 16 | ) -> void 17 | 18 | def to_hash: -> { 19 | eval_id: String, 20 | request_options: OpenAI::RequestOptions 21 | } 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /sig/openai/models/evals/run_delete_response.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Evals 4 | type run_delete_response = 5 | { deleted: bool, object: String, run_id: String } 6 | 7 | class RunDeleteResponse < OpenAI::Internal::Type::BaseModel 8 | attr_reader deleted: bool? 9 | 10 | def deleted=: (bool) -> bool 11 | 12 | attr_reader object: String? 13 | 14 | def object=: (String) -> String 15 | 16 | attr_reader run_id: String? 17 | 18 | def run_id=: (String) -> String 19 | 20 | def initialize: ( 21 | ?deleted: bool, 22 | ?object: String, 23 | ?run_id: String 24 | ) -> void 25 | 26 | def to_hash: -> { deleted: bool, object: String, run_id: String } 27 | end 28 | end 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /sig/openai/models/evals/run_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Evals 4 | type run_retrieve_params = 5 | { eval_id: String } & OpenAI::Internal::Type::request_parameters 6 | 7 | class RunRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | attr_accessor eval_id: String 12 | 13 | def initialize: ( 14 | eval_id: String, 15 | ?request_options: OpenAI::request_opts 16 | ) -> void 17 | 18 | def to_hash: -> { 19 | eval_id: String, 20 | request_options: OpenAI::RequestOptions 21 | } 22 | end 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /sig/openai/models/file_chunking_strategy.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type file_chunking_strategy = 4 | OpenAI::StaticFileChunkingStrategyObject 5 | | OpenAI::OtherFileChunkingStrategyObject 6 | 7 | module FileChunkingStrategy 8 | extend OpenAI::Internal::Type::Union 9 | 10 | def self?.variants: -> ::Array[OpenAI::Models::file_chunking_strategy] 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/models/file_chunking_strategy_param.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type file_chunking_strategy_param = 4 | OpenAI::AutoFileChunkingStrategyParam 5 | | OpenAI::StaticFileChunkingStrategyObjectParam 6 | 7 | module FileChunkingStrategyParam 8 | extend OpenAI::Internal::Type::Union 9 | 10 | def self?.variants: -> ::Array[OpenAI::Models::file_chunking_strategy_param] 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/models/file_content.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | class FileContent = String 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /sig/openai/models/file_content_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type file_content_params = { } & OpenAI::Internal::Type::request_parameters 4 | 5 | class FileContentParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | def initialize: (?request_options: OpenAI::request_opts) -> void 10 | 11 | def to_hash: -> { request_options: OpenAI::RequestOptions } 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /sig/openai/models/file_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type file_delete_params = { } & OpenAI::Internal::Type::request_parameters 4 | 5 | class FileDeleteParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | def initialize: (?request_options: OpenAI::request_opts) -> void 10 | 11 | def to_hash: -> { request_options: OpenAI::RequestOptions } 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /sig/openai/models/file_deleted.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type file_deleted = { id: String, deleted: bool, object: :file } 4 | 5 | class FileDeleted < OpenAI::Internal::Type::BaseModel 6 | attr_accessor id: String 7 | 8 | attr_accessor deleted: bool 9 | 10 | attr_accessor object: :file 11 | 12 | def initialize: (id: String, deleted: bool, ?object: :file) -> void 13 | 14 | def to_hash: -> { id: String, deleted: bool, object: :file } 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/file_purpose.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type file_purpose = 4 | :assistants | :batch | :"fine-tune" | :vision | :user_data | :evals 5 | 6 | module FilePurpose 7 | extend OpenAI::Internal::Type::Enum 8 | 9 | ASSISTANTS: :assistants 10 | BATCH: :batch 11 | FINE_TUNE: :"fine-tune" 12 | VISION: :vision 13 | USER_DATA: :user_data 14 | EVALS: :evals 15 | 16 | def self?.values: -> ::Array[OpenAI::Models::file_purpose] 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/models/file_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type file_retrieve_params = 4 | { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class FileRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/fine_tuning/dpo_method.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module FineTuning 4 | type dpo_method = 5 | { hyperparameters: OpenAI::FineTuning::DpoHyperparameters } 6 | 7 | class DpoMethod < OpenAI::Internal::Type::BaseModel 8 | attr_reader hyperparameters: OpenAI::FineTuning::DpoHyperparameters? 9 | 10 | def hyperparameters=: ( 11 | OpenAI::FineTuning::DpoHyperparameters 12 | ) -> OpenAI::FineTuning::DpoHyperparameters 13 | 14 | def initialize: ( 15 | ?hyperparameters: OpenAI::FineTuning::DpoHyperparameters 16 | ) -> void 17 | 18 | def to_hash: -> { 19 | hyperparameters: OpenAI::FineTuning::DpoHyperparameters 20 | } 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/models/fine_tuning/fine_tuning_job_integration.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | class FineTuningJobIntegration = FineTuning::FineTuningJobIntegration 4 | 5 | module FineTuning 6 | class FineTuningJobIntegration = OpenAI::Models::FineTuning::FineTuningJobWandbIntegrationObject 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /sig/openai/models/fine_tuning/job_cancel_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module FineTuning 4 | type job_cancel_params = { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class JobCancelParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sig/openai/models/fine_tuning/job_pause_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module FineTuning 4 | type job_pause_params = { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class JobPauseParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sig/openai/models/fine_tuning/job_resume_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module FineTuning 4 | type job_resume_params = { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class JobResumeParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sig/openai/models/fine_tuning/job_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module FineTuning 4 | type job_retrieve_params = 5 | { } & OpenAI::Internal::Type::request_parameters 6 | 7 | class JobRetrieveParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | def initialize: (?request_options: OpenAI::request_opts) -> void 12 | 13 | def to_hash: -> { request_options: OpenAI::RequestOptions } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/function_parameters.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type function_parameters = ::Hash[Symbol, top] 4 | 5 | FunctionParameters: OpenAI::Internal::Type::Converter 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /sig/openai/models/image.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type image = { :b64_json => String, revised_prompt: String, url: String } 4 | 5 | class Image < OpenAI::Internal::Type::BaseModel 6 | attr_reader b64_json: String? 7 | 8 | def b64_json=: (String) -> String 9 | 10 | attr_reader revised_prompt: String? 11 | 12 | def revised_prompt=: (String) -> String 13 | 14 | attr_reader url: String? 15 | 16 | def url=: (String) -> String 17 | 18 | def initialize: ( 19 | ?b64_json: String, 20 | ?revised_prompt: String, 21 | ?url: String 22 | ) -> void 23 | 24 | def to_hash: -> { 25 | :b64_json => String, 26 | revised_prompt: String, 27 | url: String 28 | } 29 | end 30 | end 31 | end 32 | -------------------------------------------------------------------------------- /sig/openai/models/image_model.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type image_model = :"dall-e-2" | :"dall-e-3" | :"gpt-image-1" 4 | 5 | module ImageModel 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | DALL_E_2: :"dall-e-2" 9 | DALL_E_3: :"dall-e-3" 10 | GPT_IMAGE_1: :"gpt-image-1" 11 | 12 | def self?.values: -> ::Array[OpenAI::Models::image_model] 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/metadata.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type metadata = ::Hash[Symbol, String]? 4 | 5 | Metadata: OpenAI::Internal::Type::Converter 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /sig/openai/models/model.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type model = 4 | { id: String, created: Integer, object: :model, owned_by: String } 5 | 6 | class Model < OpenAI::Internal::Type::BaseModel 7 | attr_accessor id: String 8 | 9 | attr_accessor created: Integer 10 | 11 | attr_accessor object: :model 12 | 13 | attr_accessor owned_by: String 14 | 15 | def initialize: ( 16 | id: String, 17 | created: Integer, 18 | owned_by: String, 19 | ?object: :model 20 | ) -> void 21 | 22 | def to_hash: -> { 23 | id: String, 24 | created: Integer, 25 | object: :model, 26 | owned_by: String 27 | } 28 | end 29 | end 30 | end 31 | -------------------------------------------------------------------------------- /sig/openai/models/model_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type model_delete_params = { } & OpenAI::Internal::Type::request_parameters 4 | 5 | class ModelDeleteParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | def initialize: (?request_options: OpenAI::request_opts) -> void 10 | 11 | def to_hash: -> { request_options: OpenAI::RequestOptions } 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /sig/openai/models/model_deleted.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type model_deleted = { id: String, deleted: bool, object: String } 4 | 5 | class ModelDeleted < OpenAI::Internal::Type::BaseModel 6 | attr_accessor id: String 7 | 8 | attr_accessor deleted: bool 9 | 10 | attr_accessor object: String 11 | 12 | def initialize: (id: String, deleted: bool, object: String) -> void 13 | 14 | def to_hash: -> { id: String, deleted: bool, object: String } 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/model_list_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type model_list_params = { } & OpenAI::Internal::Type::request_parameters 4 | 5 | class ModelListParams < OpenAI::Internal::Type::BaseModel 6 | extend OpenAI::Internal::Type::RequestParameters::Converter 7 | include OpenAI::Internal::Type::RequestParameters 8 | 9 | def initialize: (?request_options: OpenAI::request_opts) -> void 10 | 11 | def to_hash: -> { request_options: OpenAI::RequestOptions } 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /sig/openai/models/model_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type model_retrieve_params = 4 | { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class ModelRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/moderation_create_response.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type moderation_create_response = 4 | { id: String, model: String, results: ::Array[OpenAI::Moderation] } 5 | 6 | class ModerationCreateResponse < OpenAI::Internal::Type::BaseModel 7 | attr_accessor id: String 8 | 9 | attr_accessor model: String 10 | 11 | attr_accessor results: ::Array[OpenAI::Moderation] 12 | 13 | def initialize: ( 14 | id: String, 15 | model: String, 16 | results: ::Array[OpenAI::Moderation] 17 | ) -> void 18 | 19 | def to_hash: -> { 20 | id: String, 21 | model: String, 22 | results: ::Array[OpenAI::Moderation] 23 | } 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /sig/openai/models/moderation_model.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type moderation_model = 4 | :"omni-moderation-latest" 5 | | :"omni-moderation-2024-09-26" 6 | | :"text-moderation-latest" 7 | | :"text-moderation-stable" 8 | 9 | module ModerationModel 10 | extend OpenAI::Internal::Type::Enum 11 | 12 | OMNI_MODERATION_LATEST: :"omni-moderation-latest" 13 | OMNI_MODERATION_2024_09_26: :"omni-moderation-2024-09-26" 14 | TEXT_MODERATION_LATEST: :"text-moderation-latest" 15 | TEXT_MODERATION_STABLE: :"text-moderation-stable" 16 | 17 | def self?.values: -> ::Array[OpenAI::Models::moderation_model] 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /sig/openai/models/moderation_multi_modal_input.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type moderation_multi_modal_input = 4 | OpenAI::ModerationImageURLInput | OpenAI::ModerationTextInput 5 | 6 | module ModerationMultiModalInput 7 | extend OpenAI::Internal::Type::Union 8 | 9 | def self?.variants: -> ::Array[OpenAI::Models::moderation_multi_modal_input] 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /sig/openai/models/moderation_text_input.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type moderation_text_input = { text: String, type: :text } 4 | 5 | class ModerationTextInput < OpenAI::Internal::Type::BaseModel 6 | attr_accessor text: String 7 | 8 | attr_accessor type: :text 9 | 10 | def initialize: (text: String, ?type: :text) -> void 11 | 12 | def to_hash: -> { text: String, type: :text } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/other_file_chunking_strategy_object.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type other_file_chunking_strategy_object = { type: :other } 4 | 5 | class OtherFileChunkingStrategyObject < OpenAI::Internal::Type::BaseModel 6 | attr_accessor type: :other 7 | 8 | def initialize: (?type: :other) -> void 9 | 10 | def to_hash: -> { type: :other } 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/models/reasoning_effort.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type reasoning_effort = :low | :medium | :high 4 | 5 | module ReasoningEffort 6 | extend OpenAI::Internal::Type::Enum 7 | 8 | LOW: :low 9 | MEDIUM: :medium 10 | HIGH: :high 11 | 12 | def self?.values: -> ::Array[OpenAI::Models::reasoning_effort] 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/response_format_json_object.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type response_format_json_object = { type: :json_object } 4 | 5 | class ResponseFormatJSONObject < OpenAI::Internal::Type::BaseModel 6 | attr_accessor type: :json_object 7 | 8 | def initialize: (?type: :json_object) -> void 9 | 10 | def to_hash: -> { type: :json_object } 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/models/response_format_text.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type response_format_text = { type: :text } 4 | 5 | class ResponseFormatText < OpenAI::Internal::Type::BaseModel 6 | attr_accessor type: :text 7 | 8 | def initialize: (?type: :text) -> void 9 | 10 | def to_hash: -> { type: :text } 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_audio_done_event.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_audio_done_event = 5 | { sequence_number: Integer, type: :"response.audio.done" } 6 | 7 | class ResponseAudioDoneEvent < OpenAI::Internal::Type::BaseModel 8 | attr_accessor sequence_number: Integer 9 | 10 | attr_accessor type: :"response.audio.done" 11 | 12 | def initialize: ( 13 | sequence_number: Integer, 14 | ?type: :"response.audio.done" 15 | ) -> void 16 | 17 | def to_hash: -> { 18 | sequence_number: Integer, 19 | type: :"response.audio.done" 20 | } 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_audio_transcript_done_event.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_audio_transcript_done_event = 5 | { sequence_number: Integer, type: :"response.audio.transcript.done" } 6 | 7 | class ResponseAudioTranscriptDoneEvent < OpenAI::Internal::Type::BaseModel 8 | attr_accessor sequence_number: Integer 9 | 10 | attr_accessor type: :"response.audio.transcript.done" 11 | 12 | def initialize: ( 13 | sequence_number: Integer, 14 | ?type: :"response.audio.transcript.done" 15 | ) -> void 16 | 17 | def to_hash: -> { 18 | sequence_number: Integer, 19 | type: :"response.audio.transcript.done" 20 | } 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_cancel_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_cancel_params = 5 | { } & OpenAI::Internal::Type::request_parameters 6 | 7 | class ResponseCancelParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | def initialize: (?request_options: OpenAI::request_opts) -> void 12 | 13 | def to_hash: -> { request_options: OpenAI::RequestOptions } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_content.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_content = 5 | OpenAI::Responses::ResponseInputText 6 | | OpenAI::Responses::ResponseInputImage 7 | | OpenAI::Responses::ResponseInputFile 8 | | OpenAI::Responses::ResponseOutputText 9 | | OpenAI::Responses::ResponseOutputRefusal 10 | 11 | module ResponseContent 12 | extend OpenAI::Internal::Type::Union 13 | 14 | def self?.variants: -> ::Array[OpenAI::Models::Responses::response_content] 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_delete_params = 5 | { } & OpenAI::Internal::Type::request_parameters 6 | 7 | class ResponseDeleteParams < OpenAI::Internal::Type::BaseModel 8 | extend OpenAI::Internal::Type::RequestParameters::Converter 9 | include OpenAI::Internal::Type::RequestParameters 10 | 11 | def initialize: (?request_options: OpenAI::request_opts) -> void 12 | 13 | def to_hash: -> { request_options: OpenAI::RequestOptions } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_format_text_config.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_format_text_config = 5 | OpenAI::ResponseFormatText 6 | | OpenAI::Responses::ResponseFormatTextJSONSchemaConfig 7 | | OpenAI::ResponseFormatJSONObject 8 | 9 | module ResponseFormatTextConfig 10 | extend OpenAI::Internal::Type::Union 11 | 12 | def self?.variants: -> ::Array[OpenAI::Models::Responses::response_format_text_config] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_function_tool_call_item.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_function_tool_call_item = { id: String } 5 | 6 | class ResponseFunctionToolCallItem < OpenAI::Models::Responses::ResponseFunctionToolCall 7 | def id: -> String 8 | 9 | def id=: (String _) -> String 10 | 11 | def initialize: (id: String) -> void 12 | 13 | def to_hash: -> { id: String } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_input.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_input = 5 | ::Array[OpenAI::Models::Responses::response_input_item] 6 | 7 | ResponseInput: OpenAI::Internal::Type::Converter 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_input_content.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_input_content = 5 | OpenAI::Responses::ResponseInputText 6 | | OpenAI::Responses::ResponseInputImage 7 | | OpenAI::Responses::ResponseInputFile 8 | 9 | module ResponseInputContent 10 | extend OpenAI::Internal::Type::Union 11 | 12 | def self?.variants: -> ::Array[OpenAI::Models::Responses::response_input_content] 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_input_message_content_list.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_input_message_content_list = 5 | ::Array[OpenAI::Models::Responses::response_input_content] 6 | 7 | ResponseInputMessageContentList: OpenAI::Internal::Type::Converter 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_input_text.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_input_text = { text: String, type: :input_text } 5 | 6 | class ResponseInputText < OpenAI::Internal::Type::BaseModel 7 | attr_accessor text: String 8 | 9 | attr_accessor type: :input_text 10 | 11 | def initialize: (text: String, ?type: :input_text) -> void 12 | 13 | def to_hash: -> { text: String, type: :input_text } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_mcp_call_completed_event.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_mcp_call_completed_event = 5 | { sequence_number: Integer, type: :"response.mcp_call.completed" } 6 | 7 | class ResponseMcpCallCompletedEvent < OpenAI::Internal::Type::BaseModel 8 | attr_accessor sequence_number: Integer 9 | 10 | attr_accessor type: :"response.mcp_call.completed" 11 | 12 | def initialize: ( 13 | sequence_number: Integer, 14 | ?type: :"response.mcp_call.completed" 15 | ) -> void 16 | 17 | def to_hash: -> { 18 | sequence_number: Integer, 19 | type: :"response.mcp_call.completed" 20 | } 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_mcp_call_failed_event.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_mcp_call_failed_event = 5 | { sequence_number: Integer, type: :"response.mcp_call.failed" } 6 | 7 | class ResponseMcpCallFailedEvent < OpenAI::Internal::Type::BaseModel 8 | attr_accessor sequence_number: Integer 9 | 10 | attr_accessor type: :"response.mcp_call.failed" 11 | 12 | def initialize: ( 13 | sequence_number: Integer, 14 | ?type: :"response.mcp_call.failed" 15 | ) -> void 16 | 17 | def to_hash: -> { 18 | sequence_number: Integer, 19 | type: :"response.mcp_call.failed" 20 | } 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_mcp_list_tools_completed_event.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_mcp_list_tools_completed_event = 5 | { sequence_number: Integer, type: :"response.mcp_list_tools.completed" } 6 | 7 | class ResponseMcpListToolsCompletedEvent < OpenAI::Internal::Type::BaseModel 8 | attr_accessor sequence_number: Integer 9 | 10 | attr_accessor type: :"response.mcp_list_tools.completed" 11 | 12 | def initialize: ( 13 | sequence_number: Integer, 14 | ?type: :"response.mcp_list_tools.completed" 15 | ) -> void 16 | 17 | def to_hash: -> { 18 | sequence_number: Integer, 19 | type: :"response.mcp_list_tools.completed" 20 | } 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_mcp_list_tools_failed_event.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_mcp_list_tools_failed_event = 5 | { sequence_number: Integer, type: :"response.mcp_list_tools.failed" } 6 | 7 | class ResponseMcpListToolsFailedEvent < OpenAI::Internal::Type::BaseModel 8 | attr_accessor sequence_number: Integer 9 | 10 | attr_accessor type: :"response.mcp_list_tools.failed" 11 | 12 | def initialize: ( 13 | sequence_number: Integer, 14 | ?type: :"response.mcp_list_tools.failed" 15 | ) -> void 16 | 17 | def to_hash: -> { 18 | sequence_number: Integer, 19 | type: :"response.mcp_list_tools.failed" 20 | } 21 | end 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_output_audio.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_output_audio = 5 | { data: String, transcript: String, type: :output_audio } 6 | 7 | class ResponseOutputAudio < OpenAI::Internal::Type::BaseModel 8 | attr_accessor data: String 9 | 10 | attr_accessor transcript: String 11 | 12 | attr_accessor type: :output_audio 13 | 14 | def initialize: ( 15 | data: String, 16 | transcript: String, 17 | ?type: :output_audio 18 | ) -> void 19 | 20 | def to_hash: -> { 21 | data: String, 22 | transcript: String, 23 | type: :output_audio 24 | } 25 | end 26 | end 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_output_refusal.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_output_refusal = { refusal: String, type: :refusal } 5 | 6 | class ResponseOutputRefusal < OpenAI::Internal::Type::BaseModel 7 | attr_accessor refusal: String 8 | 9 | attr_accessor type: :refusal 10 | 11 | def initialize: (refusal: String, ?type: :refusal) -> void 12 | 13 | def to_hash: -> { refusal: String, type: :refusal } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/responses/response_status.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type response_status = 5 | :completed | :failed | :in_progress | :cancelled | :queued | :incomplete 6 | 7 | module ResponseStatus 8 | extend OpenAI::Internal::Type::Enum 9 | 10 | COMPLETED: :completed 11 | FAILED: :failed 12 | IN_PROGRESS: :in_progress 13 | CANCELLED: :cancelled 14 | QUEUED: :queued 15 | INCOMPLETE: :incomplete 16 | 17 | def self?.values: -> ::Array[OpenAI::Models::Responses::response_status] 18 | end 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /sig/openai/models/responses/tool_choice_function.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type tool_choice_function = { name: String, type: :function } 5 | 6 | class ToolChoiceFunction < OpenAI::Internal::Type::BaseModel 7 | attr_accessor name: String 8 | 9 | attr_accessor type: :function 10 | 11 | def initialize: (name: String, ?type: :function) -> void 12 | 13 | def to_hash: -> { name: String, type: :function } 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/responses/tool_choice_options.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module Responses 4 | type tool_choice_options = :none | :auto | :required 5 | 6 | module ToolChoiceOptions 7 | extend OpenAI::Internal::Type::Enum 8 | 9 | NONE: :none 10 | AUTO: :auto 11 | REQUIRED: :required 12 | 13 | def self?.values: -> ::Array[OpenAI::Models::Responses::tool_choice_options] 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/models/static_file_chunking_strategy.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type static_file_chunking_strategy = 4 | { chunk_overlap_tokens: Integer, max_chunk_size_tokens: Integer } 5 | 6 | class StaticFileChunkingStrategy < OpenAI::Internal::Type::BaseModel 7 | attr_accessor chunk_overlap_tokens: Integer 8 | 9 | attr_accessor max_chunk_size_tokens: Integer 10 | 11 | def initialize: ( 12 | chunk_overlap_tokens: Integer, 13 | max_chunk_size_tokens: Integer 14 | ) -> void 15 | 16 | def to_hash: -> { 17 | chunk_overlap_tokens: Integer, 18 | max_chunk_size_tokens: Integer 19 | } 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /sig/openai/models/static_file_chunking_strategy_object.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type static_file_chunking_strategy_object = 4 | { static: OpenAI::StaticFileChunkingStrategy, type: :static } 5 | 6 | class StaticFileChunkingStrategyObject < OpenAI::Internal::Type::BaseModel 7 | attr_accessor static: OpenAI::StaticFileChunkingStrategy 8 | 9 | attr_accessor type: :static 10 | 11 | def initialize: ( 12 | static: OpenAI::StaticFileChunkingStrategy, 13 | ?type: :static 14 | ) -> void 15 | 16 | def to_hash: -> { 17 | static: OpenAI::StaticFileChunkingStrategy, 18 | type: :static 19 | } 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /sig/openai/models/static_file_chunking_strategy_object_param.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type static_file_chunking_strategy_object_param = 4 | { static: OpenAI::StaticFileChunkingStrategy, type: :static } 5 | 6 | class StaticFileChunkingStrategyObjectParam < OpenAI::Internal::Type::BaseModel 7 | attr_accessor static: OpenAI::StaticFileChunkingStrategy 8 | 9 | attr_accessor type: :static 10 | 11 | def initialize: ( 12 | static: OpenAI::StaticFileChunkingStrategy, 13 | ?type: :static 14 | ) -> void 15 | 16 | def to_hash: -> { 17 | static: OpenAI::StaticFileChunkingStrategy, 18 | type: :static 19 | } 20 | end 21 | end 22 | end 23 | -------------------------------------------------------------------------------- /sig/openai/models/upload_cancel_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type upload_cancel_params = 4 | { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class UploadCancelParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/vector_store_delete_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type vector_store_delete_params = 4 | { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class VectorStoreDeleteParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/vector_store_deleted.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type vector_store_deleted = 4 | { id: String, deleted: bool, object: :"vector_store.deleted" } 5 | 6 | class VectorStoreDeleted < OpenAI::Internal::Type::BaseModel 7 | attr_accessor id: String 8 | 9 | attr_accessor deleted: bool 10 | 11 | attr_accessor object: :"vector_store.deleted" 12 | 13 | def initialize: ( 14 | id: String, 15 | deleted: bool, 16 | ?object: :"vector_store.deleted" 17 | ) -> void 18 | 19 | def to_hash: -> { 20 | id: String, 21 | deleted: bool, 22 | object: :"vector_store.deleted" 23 | } 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /sig/openai/models/vector_store_retrieve_params.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | type vector_store_retrieve_params = 4 | { } & OpenAI::Internal::Type::request_parameters 5 | 6 | class VectorStoreRetrieveParams < OpenAI::Internal::Type::BaseModel 7 | extend OpenAI::Internal::Type::RequestParameters::Converter 8 | include OpenAI::Internal::Type::RequestParameters 9 | 10 | def initialize: (?request_options: OpenAI::request_opts) -> void 11 | 12 | def to_hash: -> { request_options: OpenAI::RequestOptions } 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/models/vector_stores/file_content_response.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Models 3 | module VectorStores 4 | type file_content_response = { text: String, type: String } 5 | 6 | class FileContentResponse < OpenAI::Internal::Type::BaseModel 7 | attr_reader text: String? 8 | 9 | def text=: (String) -> String 10 | 11 | attr_reader type: String? 12 | 13 | def type=: (String) -> String 14 | 15 | def initialize: (?text: String, ?type: String) -> void 16 | 17 | def to_hash: -> { text: String, type: String } 18 | end 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /sig/openai/resources/audio.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Audio 4 | attr_reader transcriptions: OpenAI::Resources::Audio::Transcriptions 5 | 6 | attr_reader translations: OpenAI::Resources::Audio::Translations 7 | 8 | attr_reader speech: OpenAI::Resources::Audio::Speech 9 | 10 | def initialize: (client: OpenAI::Client) -> void 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/resources/audio/speech.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Audio 4 | class Speech 5 | def create: ( 6 | input: String, 7 | model: OpenAI::Models::Audio::SpeechCreateParams::model, 8 | voice: OpenAI::Models::Audio::SpeechCreateParams::voice, 9 | ?instructions: String, 10 | ?response_format: OpenAI::Models::Audio::SpeechCreateParams::response_format, 11 | ?speed: Float, 12 | ?request_options: OpenAI::request_opts 13 | ) -> StringIO 14 | 15 | def initialize: (client: OpenAI::Client) -> void 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/resources/audio/translations.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Audio 4 | class Translations 5 | def create: ( 6 | file: OpenAI::Internal::file_input, 7 | model: OpenAI::Models::Audio::TranslationCreateParams::model, 8 | ?prompt: String, 9 | ?response_format: OpenAI::Models::Audio::TranslationCreateParams::response_format, 10 | ?temperature: Float, 11 | ?request_options: OpenAI::request_opts 12 | ) -> OpenAI::Models::Audio::translation_create_response 13 | 14 | def initialize: (client: OpenAI::Client) -> void 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /sig/openai/resources/beta.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Beta 4 | attr_reader assistants: OpenAI::Resources::Beta::Assistants 5 | 6 | attr_reader threads: OpenAI::Resources::Beta::Threads 7 | 8 | def initialize: (client: OpenAI::Client) -> void 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /sig/openai/resources/chat.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Chat 4 | attr_reader completions: OpenAI::Resources::Chat::Completions 5 | 6 | def initialize: (client: OpenAI::Client) -> void 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /sig/openai/resources/chat/completions/messages.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Chat 4 | class Completions 5 | class Messages 6 | def list: ( 7 | String completion_id, 8 | ?after: String, 9 | ?limit: Integer, 10 | ?order: OpenAI::Models::Chat::Completions::MessageListParams::order, 11 | ?request_options: OpenAI::request_opts 12 | ) -> OpenAI::Internal::CursorPage[OpenAI::Chat::ChatCompletionStoreMessage] 13 | 14 | def initialize: (client: OpenAI::Client) -> void 15 | end 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/resources/containers/files/content.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Containers 4 | class Files 5 | class Content 6 | def retrieve: ( 7 | String file_id, 8 | container_id: String, 9 | ?request_options: OpenAI::request_opts 10 | ) -> StringIO 11 | 12 | def initialize: (client: OpenAI::Client) -> void 13 | end 14 | end 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /sig/openai/resources/embeddings.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Embeddings 4 | def create: ( 5 | input: OpenAI::Models::EmbeddingCreateParams::input, 6 | model: OpenAI::Models::EmbeddingCreateParams::model, 7 | ?dimensions: Integer, 8 | ?encoding_format: OpenAI::Models::EmbeddingCreateParams::encoding_format, 9 | ?user: String, 10 | ?request_options: OpenAI::request_opts 11 | ) -> OpenAI::CreateEmbeddingResponse 12 | 13 | def initialize: (client: OpenAI::Client) -> void 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /sig/openai/resources/fine_tuning.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class FineTuning 4 | attr_reader methods_: OpenAI::Resources::FineTuning::Methods 5 | 6 | attr_reader jobs: OpenAI::Resources::FineTuning::Jobs 7 | 8 | attr_reader checkpoints: OpenAI::Resources::FineTuning::Checkpoints 9 | 10 | attr_reader alpha: OpenAI::Resources::FineTuning::Alpha 11 | 12 | def initialize: (client: OpenAI::Client) -> void 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/resources/fine_tuning/alpha.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class FineTuning 4 | class Alpha 5 | attr_reader graders: OpenAI::Resources::FineTuning::Alpha::Graders 6 | 7 | def initialize: (client: OpenAI::Client) -> void 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /sig/openai/resources/fine_tuning/checkpoints.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class FineTuning 4 | class Checkpoints 5 | attr_reader permissions: OpenAI::Resources::FineTuning::Checkpoints::Permissions 6 | 7 | def initialize: (client: OpenAI::Client) -> void 8 | end 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /sig/openai/resources/fine_tuning/jobs/checkpoints.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class FineTuning 4 | class Jobs 5 | class Checkpoints 6 | def list: ( 7 | String fine_tuning_job_id, 8 | ?after: String, 9 | ?limit: Integer, 10 | ?request_options: OpenAI::request_opts 11 | ) -> OpenAI::Internal::CursorPage[OpenAI::FineTuning::Jobs::FineTuningJobCheckpoint] 12 | 13 | def initialize: (client: OpenAI::Client) -> void 14 | end 15 | end 16 | end 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /sig/openai/resources/fine_tuning/methods.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class FineTuning 4 | class Methods 5 | def initialize: (client: OpenAI::Client) -> void 6 | end 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /sig/openai/resources/graders.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Graders 4 | attr_reader grader_models: OpenAI::Resources::Graders::GraderModels 5 | 6 | def initialize: (client: OpenAI::Client) -> void 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /sig/openai/resources/graders/grader_models.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Graders 4 | class GraderModels 5 | def initialize: (client: OpenAI::Client) -> void 6 | end 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /sig/openai/resources/models.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Models 4 | def retrieve: ( 5 | String model, 6 | ?request_options: OpenAI::request_opts 7 | ) -> OpenAI::Model 8 | 9 | def list: ( 10 | ?request_options: OpenAI::request_opts 11 | ) -> OpenAI::Internal::Page[OpenAI::Model] 12 | 13 | def delete: ( 14 | String model, 15 | ?request_options: OpenAI::request_opts 16 | ) -> OpenAI::ModelDeleted 17 | 18 | def initialize: (client: OpenAI::Client) -> void 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /sig/openai/resources/moderations.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Moderations 4 | def create: ( 5 | input: OpenAI::Models::ModerationCreateParams::input, 6 | ?model: OpenAI::Models::ModerationCreateParams::model, 7 | ?request_options: OpenAI::request_opts 8 | ) -> OpenAI::Models::ModerationCreateResponse 9 | 10 | def initialize: (client: OpenAI::Client) -> void 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /sig/openai/resources/responses/input_items.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Responses 4 | class InputItems 5 | def list: ( 6 | String response_id, 7 | ?after: String, 8 | ?before: String, 9 | ?include: ::Array[OpenAI::Models::Responses::response_includable], 10 | ?limit: Integer, 11 | ?order: OpenAI::Models::Responses::InputItemListParams::order, 12 | ?request_options: OpenAI::request_opts 13 | ) -> OpenAI::Internal::CursorPage[OpenAI::Models::Responses::response_item] 14 | 15 | def initialize: (client: OpenAI::Client) -> void 16 | end 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /sig/openai/resources/uploads/parts.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | module Resources 3 | class Uploads 4 | class Parts 5 | def create: ( 6 | String upload_id, 7 | data: OpenAI::Internal::file_input, 8 | ?request_options: OpenAI::request_opts 9 | ) -> OpenAI::Uploads::UploadPart 10 | 11 | def initialize: (client: OpenAI::Client) -> void 12 | end 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /sig/openai/version.rbs: -------------------------------------------------------------------------------- 1 | module OpenAI 2 | VERSION: String 3 | end 4 | -------------------------------------------------------------------------------- /sorbet/config: -------------------------------------------------------------------------------- 1 | --dir=rbi/ 2 | --ignore=test/ 3 | -------------------------------------------------------------------------------- /sorbet/rbi/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /test/openai/file_part_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "test_helper" 4 | 5 | class OpenAI::Test::FilePartTest < Minitest::Test 6 | def test_to_json 7 | text = "gray" 8 | filepart = OpenAI::FilePart.new(StringIO.new(text)) 9 | 10 | assert_equal(text.to_json, filepart.to_json) 11 | assert_equal(text.to_yaml, filepart.to_yaml) 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /test/openai/resources/audio/speech_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../test_helper" 4 | 5 | class OpenAI::Test::Resources::Audio::SpeechTest < OpenAI::Test::ResourceTest 6 | def test_create_required_params 7 | skip("skipped: test server currently has no support for method content-type") 8 | 9 | response = @openai.audio.speech.create(input: "input", model: :"tts-1", voice: :alloy) 10 | 11 | assert_pattern do 12 | response => StringIO 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /test/openai/resources/audio/transcriptions_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../test_helper" 4 | 5 | class OpenAI::Test::Resources::Audio::TranscriptionsTest < OpenAI::Test::ResourceTest 6 | def test_create_required_params 7 | response = @openai.audio.transcriptions.create(file: Pathname(__FILE__), model: :"whisper-1") 8 | 9 | assert_pattern do 10 | response => OpenAI::Models::Audio::TranscriptionCreateResponse 11 | end 12 | 13 | assert_pattern do 14 | case response 15 | in OpenAI::Audio::Transcription 16 | in OpenAI::Audio::TranscriptionVerbose 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /test/openai/resources/audio/translations_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../test_helper" 4 | 5 | class OpenAI::Test::Resources::Audio::TranslationsTest < OpenAI::Test::ResourceTest 6 | def test_create_required_params 7 | response = @openai.audio.translations.create(file: Pathname(__FILE__), model: :"whisper-1") 8 | 9 | assert_pattern do 10 | response => OpenAI::Models::Audio::TranslationCreateResponse 11 | end 12 | 13 | assert_pattern do 14 | case response 15 | in OpenAI::Audio::Translation 16 | in OpenAI::Audio::TranslationVerbose 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /test/openai/resources/audio_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../test_helper" 4 | 5 | class OpenAI::Test::Resources::AudioTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/beta_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../test_helper" 4 | 5 | class OpenAI::Test::Resources::BetaTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/chat/completions/messages_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../../test_helper" 4 | 5 | class OpenAI::Test::Resources::Chat::Completions::MessagesTest < OpenAI::Test::ResourceTest 6 | def test_list 7 | response = @openai.chat.completions.messages.list("completion_id") 8 | 9 | assert_pattern do 10 | response => OpenAI::Internal::CursorPage 11 | end 12 | 13 | row = response.to_enum.first 14 | return if row.nil? 15 | 16 | assert_pattern do 17 | row => OpenAI::Chat::ChatCompletionStoreMessage 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /test/openai/resources/chat_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../test_helper" 4 | 5 | class OpenAI::Test::Resources::ChatTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/completions_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../test_helper" 4 | 5 | class OpenAI::Test::Resources::CompletionsTest < OpenAI::Test::ResourceTest 6 | def test_create_required_params 7 | response = @openai.completions.create(model: :"gpt-3.5-turbo-instruct", prompt: "This is a test.") 8 | 9 | assert_pattern do 10 | response => OpenAI::Completion 11 | end 12 | 13 | assert_pattern do 14 | response => { 15 | id: String, 16 | choices: ^(OpenAI::Internal::Type::ArrayOf[OpenAI::CompletionChoice]), 17 | created: Integer, 18 | model: String, 19 | object: Symbol, 20 | system_fingerprint: String | nil, 21 | usage: OpenAI::CompletionUsage | nil 22 | } 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /test/openai/resources/containers/files/content_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../../test_helper" 4 | 5 | class OpenAI::Test::Resources::Containers::Files::ContentTest < OpenAI::Test::ResourceTest 6 | def test_retrieve_required_params 7 | skip("skipped: test server currently has no support for method content-type") 8 | 9 | response = @openai.containers.files.content.retrieve("file_id", container_id: "container_id") 10 | 11 | assert_pattern do 12 | response => StringIO 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /test/openai/resources/embeddings_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../test_helper" 4 | 5 | class OpenAI::Test::Resources::EmbeddingsTest < OpenAI::Test::ResourceTest 6 | def test_create_required_params 7 | response = 8 | @openai.embeddings.create( 9 | input: "The quick brown fox jumped over the lazy dog", 10 | model: :"text-embedding-ada-002" 11 | ) 12 | 13 | assert_pattern do 14 | response => OpenAI::CreateEmbeddingResponse 15 | end 16 | 17 | assert_pattern do 18 | response => { 19 | data: ^(OpenAI::Internal::Type::ArrayOf[OpenAI::Embedding]), 20 | model: String, 21 | object: Symbol, 22 | usage: OpenAI::CreateEmbeddingResponse::Usage 23 | } 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /test/openai/resources/fine_tuning/alpha_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../test_helper" 4 | 5 | class OpenAI::Test::Resources::FineTuning::AlphaTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/fine_tuning/checkpoints_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../test_helper" 4 | 5 | class OpenAI::Test::Resources::FineTuning::CheckpointsTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/fine_tuning/methods_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../test_helper" 4 | 5 | class OpenAI::Test::Resources::FineTuning::MethodsTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/fine_tuning_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../test_helper" 4 | 5 | class OpenAI::Test::Resources::FineTuningTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/graders/grader_models_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../test_helper" 4 | 5 | class OpenAI::Test::Resources::Graders::GraderModelsTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/graders_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../test_helper" 4 | 5 | class OpenAI::Test::Resources::GradersTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/moderations_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../test_helper" 4 | 5 | class OpenAI::Test::Resources::ModerationsTest < OpenAI::Test::ResourceTest 6 | def test_create_required_params 7 | response = @openai.moderations.create(input: "I want to kill them.") 8 | 9 | assert_pattern do 10 | response => OpenAI::Models::ModerationCreateResponse 11 | end 12 | 13 | assert_pattern do 14 | response => { 15 | id: String, 16 | model: String, 17 | results: ^(OpenAI::Internal::Type::ArrayOf[OpenAI::Moderation]) 18 | } 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /test/openai/resources/shared_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../test_helper" 4 | 5 | class OpenAI::Test::Resources::SharedTest < OpenAI::Test::ResourceTest 6 | end 7 | -------------------------------------------------------------------------------- /test/openai/resources/uploads/parts_test.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require_relative "../../test_helper" 4 | 5 | class OpenAI::Test::Resources::Uploads::PartsTest < OpenAI::Test::ResourceTest 6 | def test_create_required_params 7 | response = @openai.uploads.parts.create("upload_abc123", data: Pathname(__FILE__)) 8 | 9 | assert_pattern do 10 | response => OpenAI::Uploads::UploadPart 11 | end 12 | 13 | assert_pattern do 14 | response => { 15 | id: String, 16 | created_at: Integer, 17 | object: Symbol, 18 | upload_id: String 19 | } 20 | end 21 | end 22 | end 23 | --------------------------------------------------------------------------------