From 0bf02b1a66e6e9b251b2e6ec9cad932cbcf00028 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 3 Apr 2025 16:23:44 +0000 Subject: [PATCH] chore: move private classes into internal module --- lib/openai.rb | 36 +- lib/openai/aliases.rb | 19 + lib/openai/client.rb | 2 +- lib/openai/cursor_page.rb | 92 --- lib/openai/errors.rb | 8 +- lib/openai/internal/cursor_page.rb | 94 +++ lib/openai/internal/page.rb | 88 +++ lib/openai/internal/stream.rb | 69 ++ lib/openai/internal/transport/base_client.rb | 461 +++++++++++ .../transport/pooled_net_requester.rb | 184 +++++ lib/openai/internal/type/array_of.rb | 114 +++ lib/openai/internal/type/base_model.rb | 376 +++++++++ lib/openai/internal/type/base_page.rb | 63 ++ lib/openai/internal/type/base_stream.rb | 65 ++ lib/openai/internal/type/boolean_model.rb | 54 ++ lib/openai/internal/type/converter.rb | 219 ++++++ lib/openai/internal/type/enum.rb | 107 +++ lib/openai/internal/type/hash_of.rb | 140 ++++ .../internal/type/request_parameters.rb | 40 + lib/openai/internal/type/union.rb | 212 +++++ lib/openai/internal/type/unknown.rb | 58 ++ lib/openai/internal/util.rb | 724 ++++++++++++++++++ .../models/audio/speech_create_params.rb | 4 +- .../audio/transcription_create_params.rb | 4 +- .../models/audio/translation_create_params.rb | 4 +- lib/openai/models/batch_cancel_params.rb | 4 +- lib/openai/models/batch_create_params.rb | 4 +- lib/openai/models/batch_list_params.rb | 4 +- lib/openai/models/batch_retrieve_params.rb | 4 +- .../models/beta/assistant_create_params.rb | 4 +- .../models/beta/assistant_delete_params.rb | 4 +- .../models/beta/assistant_list_params.rb | 4 +- .../models/beta/assistant_retrieve_params.rb | 4 +- .../models/beta/assistant_update_params.rb | 4 +- .../beta/thread_create_and_run_params.rb | 4 +- .../models/beta/thread_create_params.rb | 4 +- .../models/beta/thread_delete_params.rb | 4 +- .../models/beta/thread_retrieve_params.rb | 4 +- .../models/beta/thread_update_params.rb | 4 +- .../beta/threads/message_create_params.rb | 4 +- .../beta/threads/message_delete_params.rb | 4 +- .../beta/threads/message_list_params.rb | 4 +- .../beta/threads/message_retrieve_params.rb | 4 +- .../beta/threads/message_update_params.rb | 4 +- .../models/beta/threads/run_cancel_params.rb | 4 +- .../models/beta/threads/run_create_params.rb | 4 +- .../models/beta/threads/run_list_params.rb | 4 +- .../beta/threads/run_retrieve_params.rb | 4 +- .../threads/run_submit_tool_outputs_params.rb | 4 +- .../models/beta/threads/run_update_params.rb | 4 +- .../beta/threads/runs/step_list_params.rb | 4 +- .../beta/threads/runs/step_retrieve_params.rb | 4 +- .../models/chat/completion_create_params.rb | 4 +- .../models/chat/completion_delete_params.rb | 4 +- .../models/chat/completion_list_params.rb | 4 +- .../models/chat/completion_retrieve_params.rb | 4 +- .../models/chat/completion_update_params.rb | 4 +- .../chat/completions/message_list_params.rb | 4 +- lib/openai/models/completion_create_params.rb | 4 +- lib/openai/models/embedding_create_params.rb | 4 +- lib/openai/models/file_content_params.rb | 4 +- lib/openai/models/file_create_params.rb | 4 +- lib/openai/models/file_delete_params.rb | 4 +- lib/openai/models/file_list_params.rb | 4 +- lib/openai/models/file_retrieve_params.rb | 4 +- .../models/fine_tuning/job_cancel_params.rb | 4 +- .../models/fine_tuning/job_create_params.rb | 4 +- .../fine_tuning/job_list_events_params.rb | 4 +- .../models/fine_tuning/job_list_params.rb | 4 +- .../models/fine_tuning/job_retrieve_params.rb | 4 +- .../jobs/checkpoint_list_params.rb | 4 +- .../models/image_create_variation_params.rb | 4 +- lib/openai/models/image_edit_params.rb | 4 +- lib/openai/models/image_generate_params.rb | 4 +- lib/openai/models/model_delete_params.rb | 4 +- lib/openai/models/model_list_params.rb | 4 +- lib/openai/models/model_retrieve_params.rb | 4 +- lib/openai/models/moderation_create_params.rb | 4 +- .../responses/input_item_list_params.rb | 4 +- .../responses/response_create_params.rb | 4 +- .../responses/response_delete_params.rb | 4 +- .../responses/response_retrieve_params.rb | 4 +- lib/openai/models/upload_cancel_params.rb | 4 +- lib/openai/models/upload_complete_params.rb | 4 +- lib/openai/models/upload_create_params.rb | 4 +- .../models/uploads/part_create_params.rb | 4 +- .../models/vector_store_create_params.rb | 4 +- .../models/vector_store_delete_params.rb | 4 +- lib/openai/models/vector_store_list_params.rb | 4 +- .../models/vector_store_retrieve_params.rb | 4 +- .../models/vector_store_search_params.rb | 4 +- .../models/vector_store_update_params.rb | 4 +- .../vector_stores/file_batch_cancel_params.rb | 4 +- .../vector_stores/file_batch_create_params.rb | 4 +- .../file_batch_list_files_params.rb | 4 +- .../file_batch_retrieve_params.rb | 4 +- .../vector_stores/file_content_params.rb | 4 +- .../vector_stores/file_create_params.rb | 4 +- .../vector_stores/file_delete_params.rb | 4 +- .../models/vector_stores/file_list_params.rb | 4 +- .../vector_stores/file_retrieve_params.rb | 4 +- .../vector_stores/file_update_params.rb | 4 +- lib/openai/page.rb | 86 --- lib/openai/resources/audio/transcriptions.rb | 4 +- lib/openai/resources/batches.rb | 4 +- lib/openai/resources/beta/assistants.rb | 4 +- lib/openai/resources/beta/threads.rb | 4 +- lib/openai/resources/beta/threads/messages.rb | 4 +- lib/openai/resources/beta/threads/runs.rb | 12 +- .../resources/beta/threads/runs/steps.rb | 4 +- lib/openai/resources/chat/completions.rb | 8 +- .../resources/chat/completions/messages.rb | 4 +- lib/openai/resources/completions.rb | 4 +- lib/openai/resources/files.rb | 4 +- lib/openai/resources/fine_tuning/jobs.rb | 8 +- .../resources/fine_tuning/jobs/checkpoints.rb | 4 +- lib/openai/resources/models.rb | 4 +- lib/openai/resources/responses.rb | 4 +- lib/openai/resources/responses/input_items.rb | 4 +- lib/openai/resources/vector_stores.rb | 8 +- .../resources/vector_stores/file_batches.rb | 4 +- lib/openai/resources/vector_stores/files.rb | 8 +- lib/openai/stream.rb | 67 -- lib/openai/transport/base_client.rb | 459 ----------- lib/openai/transport/pooled_net_requester.rb | 182 ----- lib/openai/type.rb | 23 - lib/openai/type/array_of.rb | 112 --- lib/openai/type/base_model.rb | 367 --------- lib/openai/type/base_page.rb | 61 -- lib/openai/type/base_stream.rb | 63 -- lib/openai/type/boolean_model.rb | 52 -- lib/openai/type/converter.rb | 217 ------ lib/openai/type/enum.rb | 105 --- lib/openai/type/hash_of.rb | 132 ---- lib/openai/type/request_parameters.rb | 38 - lib/openai/type/union.rb | 210 ----- lib/openai/type/unknown.rb | 56 -- lib/openai/util.rb | 722 ----------------- rbi/lib/openai/aliases.rbi | 19 + rbi/lib/openai/client.rbi | 2 +- rbi/lib/openai/cursor_page.rbi | 19 - rbi/lib/openai/internal/cursor_page.rbi | 21 + rbi/lib/openai/internal/page.rbi | 21 + rbi/lib/openai/internal/stream.rbi | 17 + .../openai/internal/transport/base_client.rbi | 210 +++++ .../transport/pooled_net_requester.rbi | 66 ++ rbi/lib/openai/internal/type/array_of.rbi | 88 +++ rbi/lib/openai/internal/type/base_model.rbi | 206 +++++ rbi/lib/openai/internal/type/base_page.rbi | 40 + rbi/lib/openai/internal/type/base_stream.rbi | 45 ++ .../openai/internal/type/boolean_model.rbi | 43 ++ rbi/lib/openai/internal/type/converter.rbi | 108 +++ rbi/lib/openai/internal/type/enum.rbi | 60 ++ rbi/lib/openai/internal/type/hash_of.rbi | 87 +++ .../internal/type/request_parameters.rbi | 22 + rbi/lib/openai/internal/type/union.rbi | 75 ++ rbi/lib/openai/internal/type/unknown.rbi | 42 + rbi/lib/openai/internal/util.rbi | 291 +++++++ .../models/audio/speech_create_params.rbi | 6 +- rbi/lib/openai/models/audio/transcription.rbi | 6 +- .../audio/transcription_create_params.rbi | 6 +- .../audio/transcription_text_delta_event.rbi | 4 +- .../audio/transcription_text_done_event.rbi | 4 +- .../models/audio/transcription_verbose.rbi | 16 +- .../audio/translation_create_params.rbi | 6 +- .../models/audio/translation_verbose.rbi | 9 +- rbi/lib/openai/models/batch.rbi | 12 +- rbi/lib/openai/models/batch_cancel_params.rbi | 12 +- rbi/lib/openai/models/batch_create_params.rbi | 6 +- rbi/lib/openai/models/batch_list_params.rbi | 6 +- .../openai/models/batch_retrieve_params.rbi | 12 +- rbi/lib/openai/models/beta/assistant.rbi | 16 +- .../models/beta/assistant_create_params.rbi | 52 +- .../models/beta/assistant_delete_params.rbi | 12 +- .../models/beta/assistant_list_params.rbi | 6 +- .../models/beta/assistant_retrieve_params.rbi | 12 +- .../models/beta/assistant_stream_event.rbi | 131 ++-- .../models/beta/assistant_tool_choice.rbi | 9 +- .../models/beta/assistant_update_params.rbi | 40 +- .../openai/models/beta/file_search_tool.rbi | 13 +- rbi/lib/openai/models/beta/function_tool.rbi | 4 +- .../models/beta/message_stream_event.rbi | 32 +- .../models/beta/run_step_stream_event.rbi | 51 +- .../openai/models/beta/run_stream_event.rbi | 40 +- rbi/lib/openai/models/beta/thread.rbi | 14 +- .../beta/thread_create_and_run_params.rbi | 96 ++- .../models/beta/thread_create_params.rbi | 56 +- .../models/beta/thread_delete_params.rbi | 12 +- .../models/beta/thread_retrieve_params.rbi | 12 +- .../models/beta/thread_stream_event.rbi | 4 +- .../models/beta/thread_update_params.rbi | 30 +- .../beta/threads/file_citation_annotation.rbi | 10 +- .../file_citation_delta_annotation.rbi | 10 +- .../beta/threads/file_path_annotation.rbi | 4 +- .../threads/file_path_delta_annotation.rbi | 4 +- .../beta/threads/image_file_content_block.rbi | 7 +- .../beta/threads/image_file_delta_block.rbi | 7 +- .../beta/threads/image_url_content_block.rbi | 7 +- .../beta/threads/image_url_delta_block.rbi | 7 +- .../openai/models/beta/threads/message.rbi | 18 +- .../beta/threads/message_create_params.rbi | 16 +- .../beta/threads/message_delete_params.rbi | 12 +- .../models/beta/threads/message_delta.rbi | 4 +- .../beta/threads/message_delta_event.rbi | 4 +- .../beta/threads/message_list_params.rbi | 6 +- .../beta/threads/message_retrieve_params.rbi | 12 +- .../beta/threads/message_update_params.rbi | 6 +- .../required_action_function_tool_call.rbi | 10 +- rbi/lib/openai/models/beta/threads/run.rbi | 45 +- .../models/beta/threads/run_cancel_params.rbi | 12 +- .../models/beta/threads/run_create_params.rbi | 28 +- .../models/beta/threads/run_list_params.rbi | 6 +- .../beta/threads/run_retrieve_params.rbi | 12 +- .../run_submit_tool_outputs_params.rbi | 13 +- .../models/beta/threads/run_update_params.rbi | 6 +- .../runs/code_interpreter_output_image.rbi | 10 +- .../runs/code_interpreter_tool_call.rbi | 10 +- .../runs/code_interpreter_tool_call_delta.rbi | 8 +- .../threads/runs/file_search_tool_call.rbi | 32 +- .../beta/threads/runs/function_tool_call.rbi | 4 +- .../threads/runs/function_tool_call_delta.rbi | 10 +- .../runs/message_creation_step_details.rbi | 4 +- .../models/beta/threads/runs/run_step.rbi | 10 +- .../beta/threads/runs/run_step_delta.rbi | 4 +- .../threads/runs/run_step_delta_event.rbi | 7 +- .../runs/run_step_delta_message_delta.rbi | 4 +- .../beta/threads/runs/step_list_params.rbi | 6 +- .../threads/runs/step_retrieve_params.rbi | 6 +- .../threads/runs/tool_call_delta_object.rbi | 4 +- .../threads/runs/tool_calls_step_details.rbi | 2 +- rbi/lib/openai/models/beta/threads/text.rbi | 2 +- .../beta/threads/text_content_block.rbi | 4 +- .../openai/models/beta/threads/text_delta.rbi | 4 +- .../models/beta/threads/text_delta_block.rbi | 4 +- .../openai/models/chat/chat_completion.rbi | 22 +- ...hat_completion_assistant_message_param.rbi | 26 +- .../models/chat/chat_completion_chunk.rbi | 55 +- .../chat/chat_completion_content_part.rbi | 6 +- .../chat_completion_content_part_image.rbi | 4 +- ...at_completion_content_part_input_audio.rbi | 10 +- ...hat_completion_developer_message_param.rbi | 10 +- .../models/chat/chat_completion_message.rbi | 31 +- .../chat_completion_message_tool_call.rbi | 4 +- .../chat_completion_named_tool_choice.rbi | 4 +- .../chat_completion_prediction_content.rbi | 10 +- .../chat_completion_system_message_param.rbi | 10 +- .../chat/chat_completion_token_logprob.rbi | 2 +- .../models/chat/chat_completion_tool.rbi | 4 +- .../chat_completion_tool_message_param.rbi | 10 +- .../chat_completion_user_message_param.rbi | 7 +- .../models/chat/completion_create_params.rbi | 68 +- .../models/chat/completion_delete_params.rbi | 12 +- .../models/chat/completion_list_params.rbi | 6 +- .../chat/completion_retrieve_params.rbi | 12 +- .../models/chat/completion_update_params.rbi | 6 +- .../chat/completions/message_list_params.rbi | 6 +- rbi/lib/openai/models/completion.rbi | 6 +- rbi/lib/openai/models/completion_choice.rbi | 9 +- .../models/completion_create_params.rbi | 21 +- rbi/lib/openai/models/completion_usage.rbi | 8 +- rbi/lib/openai/models/compound_filter.rbi | 2 +- .../models/create_embedding_response.rbi | 6 +- .../openai/models/embedding_create_params.rbi | 15 +- rbi/lib/openai/models/file_content_params.rbi | 12 +- rbi/lib/openai/models/file_create_params.rbi | 6 +- rbi/lib/openai/models/file_delete_params.rbi | 12 +- rbi/lib/openai/models/file_list_params.rbi | 6 +- .../openai/models/file_retrieve_params.rbi | 12 +- .../models/fine_tuning/fine_tuning_job.rbi | 46 +- ...ne_tuning_job_wandb_integration_object.rbi | 9 +- .../models/fine_tuning/job_cancel_params.rbi | 12 +- .../models/fine_tuning/job_create_params.rbi | 52 +- .../fine_tuning/job_list_events_params.rbi | 6 +- .../models/fine_tuning/job_list_params.rbi | 6 +- .../fine_tuning/job_retrieve_params.rbi | 12 +- .../jobs/checkpoint_list_params.rbi | 6 +- .../jobs/fine_tuning_job_checkpoint.rbi | 4 +- rbi/lib/openai/models/function_parameters.rbi | 2 +- .../models/image_create_variation_params.rbi | 6 +- rbi/lib/openai/models/image_edit_params.rbi | 6 +- .../openai/models/image_generate_params.rbi | 6 +- rbi/lib/openai/models/images_response.rbi | 2 +- rbi/lib/openai/models/metadata.rbi | 2 +- rbi/lib/openai/models/model_delete_params.rbi | 12 +- rbi/lib/openai/models/model_list_params.rbi | 12 +- .../openai/models/model_retrieve_params.rbi | 12 +- rbi/lib/openai/models/moderation.rbi | 17 +- .../models/moderation_create_params.rbi | 21 +- .../models/moderation_create_response.rbi | 2 +- .../models/moderation_image_url_input.rbi | 9 +- .../models/response_format_json_schema.rbi | 6 +- .../models/responses/easy_input_message.rbi | 2 +- .../models/responses/file_search_tool.rbi | 8 +- .../responses/input_item_list_params.rbi | 6 +- rbi/lib/openai/models/responses/response.rbi | 29 +- ..._code_interpreter_call_completed_event.rbi | 4 +- ...ode_interpreter_call_in_progress_event.rbi | 4 +- ...de_interpreter_call_interpreting_event.rbi | 4 +- .../response_code_interpreter_tool_call.rbi | 4 +- .../responses/response_completed_event.rbi | 7 +- .../responses/response_computer_tool_call.rbi | 16 +- ...esponse_computer_tool_call_output_item.rbi | 14 +- .../response_content_part_added_event.rbi | 2 +- .../response_content_part_done_event.rbi | 2 +- .../responses/response_create_params.rbi | 24 +- .../responses/response_created_event.rbi | 7 +- .../responses/response_delete_params.rbi | 12 +- .../responses/response_failed_event.rbi | 7 +- .../response_file_search_tool_call.rbi | 2 +- .../responses/response_in_progress_event.rbi | 7 +- .../responses/response_incomplete_event.rbi | 7 +- .../models/responses/response_input.rbi | 5 +- .../models/responses/response_input_item.rbi | 16 +- .../response_input_message_content_list.rbi | 5 +- .../responses/response_input_message_item.rbi | 2 +- .../models/responses/response_item_list.rbi | 2 +- .../response_output_item_added_event.rbi | 2 +- .../response_output_item_done_event.rbi | 2 +- .../responses/response_output_message.rbi | 2 +- .../models/responses/response_output_text.rbi | 2 +- .../responses/response_reasoning_item.rbi | 2 +- .../responses/response_retrieve_params.rbi | 6 +- .../response_text_annotation_delta_event.rbi | 2 +- .../models/responses/response_text_config.rbi | 4 +- .../models/responses/response_usage.rbi | 8 +- .../models/responses/web_search_tool.rbi | 4 +- .../static_file_chunking_strategy_object.rbi | 7 +- ...ic_file_chunking_strategy_object_param.rbi | 7 +- rbi/lib/openai/models/upload.rbi | 4 +- .../openai/models/upload_cancel_params.rbi | 12 +- .../openai/models/upload_complete_params.rbi | 6 +- .../openai/models/upload_create_params.rbi | 6 +- .../models/uploads/part_create_params.rbi | 6 +- rbi/lib/openai/models/vector_store.rbi | 11 +- .../models/vector_store_create_params.rbi | 16 +- .../models/vector_store_delete_params.rbi | 12 +- .../models/vector_store_list_params.rbi | 6 +- .../models/vector_store_retrieve_params.rbi | 12 +- .../models/vector_store_search_params.rbi | 16 +- .../models/vector_store_search_response.rbi | 2 +- .../models/vector_store_update_params.rbi | 10 +- .../file_batch_cancel_params.rbi | 6 +- .../file_batch_create_params.rbi | 10 +- .../file_batch_list_files_params.rbi | 6 +- .../file_batch_retrieve_params.rbi | 6 +- .../vector_stores/file_content_params.rbi | 6 +- .../vector_stores/file_create_params.rbi | 10 +- .../vector_stores/file_delete_params.rbi | 6 +- .../models/vector_stores/file_list_params.rbi | 6 +- .../vector_stores/file_retrieve_params.rbi | 6 +- .../vector_stores/file_update_params.rbi | 6 +- .../vector_stores/vector_store_file.rbi | 12 +- .../vector_stores/vector_store_file_batch.rbi | 4 +- rbi/lib/openai/page.rbi | 19 - rbi/lib/openai/request_options.rbi | 2 +- rbi/lib/openai/resources/audio/speech.rbi | 2 +- .../openai/resources/audio/transcriptions.rbi | 6 +- .../openai/resources/audio/translations.rbi | 2 +- rbi/lib/openai/resources/batches.rbi | 20 +- rbi/lib/openai/resources/beta/assistants.rbi | 28 +- rbi/lib/openai/resources/beta/threads.rbi | 48 +- .../resources/beta/threads/messages.rbi | 16 +- .../openai/resources/beta/threads/runs.rbi | 56 +- .../resources/beta/threads/runs/steps.rbi | 6 +- rbi/lib/openai/resources/chat/completions.rbi | 56 +- .../resources/chat/completions/messages.rbi | 4 +- rbi/lib/openai/resources/completions.rbi | 10 +- rbi/lib/openai/resources/embeddings.rbi | 2 +- rbi/lib/openai/resources/files.rbi | 27 +- rbi/lib/openai/resources/fine_tuning/jobs.rbi | 20 +- .../fine_tuning/jobs/checkpoints.rbi | 4 +- rbi/lib/openai/resources/images.rbi | 6 +- rbi/lib/openai/resources/models.rbi | 18 +- rbi/lib/openai/resources/moderations.rbi | 10 +- rbi/lib/openai/resources/responses.rbi | 30 +- .../resources/responses/input_items.rbi | 4 +- rbi/lib/openai/resources/uploads.rbi | 6 +- rbi/lib/openai/resources/uploads/parts.rbi | 2 +- rbi/lib/openai/resources/vector_stores.rbi | 26 +- .../resources/vector_stores/file_batches.rbi | 12 +- .../openai/resources/vector_stores/files.rbi | 18 +- rbi/lib/openai/stream.rbi | 15 - rbi/lib/openai/transport/base_client.rbi | 205 ----- .../openai/transport/pooled_net_requester.rbi | 64 -- rbi/lib/openai/type.rbi | 23 - rbi/lib/openai/type/array_of.rbi | 82 -- rbi/lib/openai/type/base_model.rbi | 197 ----- rbi/lib/openai/type/base_page.rbi | 38 - rbi/lib/openai/type/base_stream.rbi | 43 -- rbi/lib/openai/type/boolean_model.rbi | 41 - rbi/lib/openai/type/converter.rbi | 99 --- rbi/lib/openai/type/enum.rbi | 58 -- rbi/lib/openai/type/hash_of.rbi | 86 --- rbi/lib/openai/type/request_parameters.rbi | 20 - rbi/lib/openai/type/union.rbi | 66 -- rbi/lib/openai/type/unknown.rbi | 37 - rbi/lib/openai/util.rbi | 280 ------- sig/openai/aliases.rbs | 19 + sig/openai/client.rbs | 2 +- sig/openai/cursor_page.rbs | 11 - sig/openai/internal/cursor_page.rbs | 13 + sig/openai/internal/page.rbs | 13 + sig/openai/internal/stream.rbs | 9 + sig/openai/internal/transport/base_client.rbs | 114 +++ .../transport/pooled_net_requester.rbs | 41 + sig/openai/internal/type/array_of.rbs | 38 + sig/openai/internal/type/base_model.rbs | 79 ++ sig/openai/internal/type/base_page.rbs | 24 + sig/openai/internal/type/base_stream.rbs | 27 + sig/openai/internal/type/boolean_model.rbs | 20 + sig/openai/internal/type/converter.rbs | 44 ++ sig/openai/internal/type/enum.rbs | 24 + sig/openai/internal/type/hash_of.rbs | 38 + .../internal/type/request_parameters.rbs | 15 + sig/openai/internal/type/union.rbs | 42 + sig/openai/internal/type/unknown.rbs | 20 + sig/openai/internal/util.rbs | 141 ++++ .../models/audio/speech_create_params.rbs | 6 +- .../audio/transcription_create_params.rbs | 6 +- .../audio/translation_create_params.rbs | 6 +- sig/openai/models/batch_cancel_params.rbs | 6 +- sig/openai/models/batch_create_params.rbs | 6 +- sig/openai/models/batch_list_params.rbs | 7 +- sig/openai/models/batch_retrieve_params.rbs | 7 +- .../models/beta/assistant_create_params.rbs | 6 +- .../models/beta/assistant_delete_params.rbs | 7 +- .../models/beta/assistant_list_params.rbs | 6 +- .../models/beta/assistant_retrieve_params.rbs | 7 +- .../models/beta/assistant_update_params.rbs | 6 +- .../beta/thread_create_and_run_params.rbs | 6 +- .../models/beta/thread_create_params.rbs | 6 +- .../models/beta/thread_delete_params.rbs | 7 +- .../models/beta/thread_retrieve_params.rbs | 7 +- .../models/beta/thread_update_params.rbs | 6 +- .../beta/threads/message_create_params.rbs | 6 +- .../beta/threads/message_delete_params.rbs | 6 +- .../beta/threads/message_list_params.rbs | 6 +- .../beta/threads/message_retrieve_params.rbs | 6 +- .../beta/threads/message_update_params.rbs | 6 +- .../models/beta/threads/run_cancel_params.rbs | 6 +- .../models/beta/threads/run_create_params.rbs | 6 +- .../models/beta/threads/run_list_params.rbs | 6 +- .../beta/threads/run_retrieve_params.rbs | 6 +- .../run_submit_tool_outputs_params.rbs | 6 +- .../models/beta/threads/run_update_params.rbs | 6 +- .../beta/threads/runs/step_list_params.rbs | 6 +- .../threads/runs/step_retrieve_params.rbs | 6 +- .../models/chat/completion_create_params.rbs | 6 +- .../models/chat/completion_delete_params.rbs | 7 +- .../models/chat/completion_list_params.rbs | 6 +- .../chat/completion_retrieve_params.rbs | 7 +- .../models/chat/completion_update_params.rbs | 7 +- .../chat/completions/message_list_params.rbs | 6 +- .../models/completion_create_params.rbs | 6 +- sig/openai/models/embedding_create_params.rbs | 6 +- sig/openai/models/file_content_params.rbs | 6 +- sig/openai/models/file_create_params.rbs | 6 +- sig/openai/models/file_delete_params.rbs | 6 +- sig/openai/models/file_list_params.rbs | 6 +- sig/openai/models/file_retrieve_params.rbs | 7 +- .../models/fine_tuning/job_cancel_params.rbs | 6 +- .../models/fine_tuning/job_create_params.rbs | 6 +- .../fine_tuning/job_list_events_params.rbs | 7 +- .../models/fine_tuning/job_list_params.rbs | 6 +- .../fine_tuning/job_retrieve_params.rbs | 7 +- .../jobs/checkpoint_list_params.rbs | 7 +- .../models/image_create_variation_params.rbs | 6 +- sig/openai/models/image_edit_params.rbs | 6 +- sig/openai/models/image_generate_params.rbs | 6 +- sig/openai/models/model_delete_params.rbs | 6 +- sig/openai/models/model_list_params.rbs | 6 +- sig/openai/models/model_retrieve_params.rbs | 7 +- .../models/moderation_create_params.rbs | 6 +- .../responses/input_item_list_params.rbs | 6 +- .../responses/response_create_params.rbs | 6 +- .../responses/response_delete_params.rbs | 7 +- .../responses/response_retrieve_params.rbs | 6 +- sig/openai/models/upload_cancel_params.rbs | 7 +- sig/openai/models/upload_complete_params.rbs | 7 +- sig/openai/models/upload_create_params.rbs | 6 +- .../models/uploads/part_create_params.rbs | 6 +- .../models/vector_store_create_params.rbs | 6 +- .../models/vector_store_delete_params.rbs | 7 +- .../models/vector_store_list_params.rbs | 6 +- .../models/vector_store_retrieve_params.rbs | 7 +- .../models/vector_store_search_params.rbs | 6 +- .../models/vector_store_update_params.rbs | 6 +- .../file_batch_cancel_params.rbs | 6 +- .../file_batch_create_params.rbs | 6 +- .../file_batch_list_files_params.rbs | 6 +- .../file_batch_retrieve_params.rbs | 6 +- .../vector_stores/file_content_params.rbs | 6 +- .../vector_stores/file_create_params.rbs | 6 +- .../vector_stores/file_delete_params.rbs | 6 +- .../models/vector_stores/file_list_params.rbs | 6 +- .../vector_stores/file_retrieve_params.rbs | 6 +- .../vector_stores/file_update_params.rbs | 6 +- sig/openai/page.rbs | 11 - sig/openai/resources/audio/transcriptions.rbs | 2 +- sig/openai/resources/batches.rbs | 2 +- sig/openai/resources/beta/assistants.rbs | 2 +- sig/openai/resources/beta/threads.rbs | 2 +- .../resources/beta/threads/messages.rbs | 2 +- sig/openai/resources/beta/threads/runs.rbs | 6 +- .../resources/beta/threads/runs/steps.rbs | 2 +- sig/openai/resources/chat/completions.rbs | 4 +- .../resources/chat/completions/messages.rbs | 2 +- sig/openai/resources/completions.rbs | 2 +- sig/openai/resources/files.rbs | 2 +- sig/openai/resources/fine_tuning/jobs.rbs | 4 +- .../fine_tuning/jobs/checkpoints.rbs | 2 +- sig/openai/resources/models.rbs | 2 +- sig/openai/resources/responses.rbs | 2 +- .../resources/responses/input_items.rbs | 2 +- sig/openai/resources/vector_stores.rbs | 4 +- .../resources/vector_stores/file_batches.rbs | 2 +- sig/openai/resources/vector_stores/files.rbs | 4 +- sig/openai/stream.rbs | 7 - sig/openai/transport/base_client.rbs | 110 --- sig/openai/transport/pooled_net_requester.rbs | 39 - sig/openai/type.rbs | 22 - sig/openai/type/array_of.rbs | 36 - sig/openai/type/base_model.rbs | 77 -- sig/openai/type/base_page.rbs | 22 - sig/openai/type/base_stream.rbs | 25 - sig/openai/type/boolean_model.rbs | 18 - sig/openai/type/converter.rbs | 36 - sig/openai/type/enum.rbs | 22 - sig/openai/type/hash_of.rbs | 36 - sig/openai/type/request_parameters.rbs | 13 - sig/openai/type/union.rbs | 37 - sig/openai/type/unknown.rbs | 15 - sig/openai/util.rbs | 132 ---- .../{ => internal/type}/base_model_test.rb | 22 +- test/openai/{ => internal}/util_test.rb | 110 +-- test/openai/resources/batches_test.rb | 2 +- test/openai/resources/beta/assistants_test.rb | 2 +- .../resources/beta/threads/messages_test.rb | 2 +- .../resources/beta/threads/runs/steps_test.rb | 2 +- .../resources/beta/threads/runs_test.rb | 2 +- .../chat/completions/messages_test.rb | 2 +- .../openai/resources/chat/completions_test.rb | 2 +- test/openai/resources/files_test.rb | 2 +- .../fine_tuning/jobs/checkpoints_test.rb | 2 +- .../openai/resources/fine_tuning/jobs_test.rb | 4 +- test/openai/resources/models_test.rb | 2 +- .../resources/responses/input_items_test.rb | 2 +- .../vector_stores/file_batches_test.rb | 2 +- .../resources/vector_stores/files_test.rb | 4 +- test/openai/resources/vector_stores_test.rb | 4 +- 550 files changed, 7458 insertions(+), 6849 deletions(-) create mode 100644 lib/openai/aliases.rb delete mode 100644 lib/openai/cursor_page.rb create mode 100644 lib/openai/internal/cursor_page.rb create mode 100644 lib/openai/internal/page.rb create mode 100644 lib/openai/internal/stream.rb create mode 100644 lib/openai/internal/transport/base_client.rb create mode 100644 lib/openai/internal/transport/pooled_net_requester.rb create mode 100644 lib/openai/internal/type/array_of.rb create mode 100644 lib/openai/internal/type/base_model.rb create mode 100644 lib/openai/internal/type/base_page.rb create mode 100644 lib/openai/internal/type/base_stream.rb create mode 100644 lib/openai/internal/type/boolean_model.rb create mode 100644 lib/openai/internal/type/converter.rb create mode 100644 lib/openai/internal/type/enum.rb create mode 100644 lib/openai/internal/type/hash_of.rb create mode 100644 lib/openai/internal/type/request_parameters.rb create mode 100644 lib/openai/internal/type/union.rb create mode 100644 lib/openai/internal/type/unknown.rb create mode 100644 lib/openai/internal/util.rb delete mode 100644 lib/openai/page.rb delete mode 100644 lib/openai/stream.rb delete mode 100644 lib/openai/transport/base_client.rb delete mode 100644 lib/openai/transport/pooled_net_requester.rb delete mode 100644 lib/openai/type.rb delete mode 100644 lib/openai/type/array_of.rb delete mode 100644 lib/openai/type/base_model.rb delete mode 100644 lib/openai/type/base_page.rb delete mode 100644 lib/openai/type/base_stream.rb delete mode 100644 lib/openai/type/boolean_model.rb delete mode 100644 lib/openai/type/converter.rb delete mode 100644 lib/openai/type/enum.rb delete mode 100644 lib/openai/type/hash_of.rb delete mode 100644 lib/openai/type/request_parameters.rb delete mode 100644 lib/openai/type/union.rb delete mode 100644 lib/openai/type/unknown.rb delete mode 100644 lib/openai/util.rb create mode 100644 rbi/lib/openai/aliases.rbi delete mode 100644 rbi/lib/openai/cursor_page.rbi create mode 100644 rbi/lib/openai/internal/cursor_page.rbi create mode 100644 rbi/lib/openai/internal/page.rbi create mode 100644 rbi/lib/openai/internal/stream.rbi create mode 100644 rbi/lib/openai/internal/transport/base_client.rbi create mode 100644 rbi/lib/openai/internal/transport/pooled_net_requester.rbi create mode 100644 rbi/lib/openai/internal/type/array_of.rbi create mode 100644 rbi/lib/openai/internal/type/base_model.rbi create mode 100644 rbi/lib/openai/internal/type/base_page.rbi create mode 100644 rbi/lib/openai/internal/type/base_stream.rbi create mode 100644 rbi/lib/openai/internal/type/boolean_model.rbi create mode 100644 rbi/lib/openai/internal/type/converter.rbi create mode 100644 rbi/lib/openai/internal/type/enum.rbi create mode 100644 rbi/lib/openai/internal/type/hash_of.rbi create mode 100644 rbi/lib/openai/internal/type/request_parameters.rbi create mode 100644 rbi/lib/openai/internal/type/union.rbi create mode 100644 rbi/lib/openai/internal/type/unknown.rbi create mode 100644 rbi/lib/openai/internal/util.rbi delete mode 100644 rbi/lib/openai/page.rbi delete mode 100644 rbi/lib/openai/stream.rbi delete mode 100644 rbi/lib/openai/transport/base_client.rbi delete mode 100644 rbi/lib/openai/transport/pooled_net_requester.rbi delete mode 100644 rbi/lib/openai/type.rbi delete mode 100644 rbi/lib/openai/type/array_of.rbi delete mode 100644 rbi/lib/openai/type/base_model.rbi delete mode 100644 rbi/lib/openai/type/base_page.rbi delete mode 100644 rbi/lib/openai/type/base_stream.rbi delete mode 100644 rbi/lib/openai/type/boolean_model.rbi delete mode 100644 rbi/lib/openai/type/converter.rbi delete mode 100644 rbi/lib/openai/type/enum.rbi delete mode 100644 rbi/lib/openai/type/hash_of.rbi delete mode 100644 rbi/lib/openai/type/request_parameters.rbi delete mode 100644 rbi/lib/openai/type/union.rbi delete mode 100644 rbi/lib/openai/type/unknown.rbi delete mode 100644 rbi/lib/openai/util.rbi create mode 100644 sig/openai/aliases.rbs delete mode 100644 sig/openai/cursor_page.rbs create mode 100644 sig/openai/internal/cursor_page.rbs create mode 100644 sig/openai/internal/page.rbs create mode 100644 sig/openai/internal/stream.rbs create mode 100644 sig/openai/internal/transport/base_client.rbs create mode 100644 sig/openai/internal/transport/pooled_net_requester.rbs create mode 100644 sig/openai/internal/type/array_of.rbs create mode 100644 sig/openai/internal/type/base_model.rbs create mode 100644 sig/openai/internal/type/base_page.rbs create mode 100644 sig/openai/internal/type/base_stream.rbs create mode 100644 sig/openai/internal/type/boolean_model.rbs create mode 100644 sig/openai/internal/type/converter.rbs create mode 100644 sig/openai/internal/type/enum.rbs create mode 100644 sig/openai/internal/type/hash_of.rbs create mode 100644 sig/openai/internal/type/request_parameters.rbs create mode 100644 sig/openai/internal/type/union.rbs create mode 100644 sig/openai/internal/type/unknown.rbs create mode 100644 sig/openai/internal/util.rbs delete mode 100644 sig/openai/page.rbs delete mode 100644 sig/openai/stream.rbs delete mode 100644 sig/openai/transport/base_client.rbs delete mode 100644 sig/openai/transport/pooled_net_requester.rbs delete mode 100644 sig/openai/type.rbs delete mode 100644 sig/openai/type/array_of.rbs delete mode 100644 sig/openai/type/base_model.rbs delete mode 100644 sig/openai/type/base_page.rbs delete mode 100644 sig/openai/type/base_stream.rbs delete mode 100644 sig/openai/type/boolean_model.rbs delete mode 100644 sig/openai/type/converter.rbs delete mode 100644 sig/openai/type/enum.rbs delete mode 100644 sig/openai/type/hash_of.rbs delete mode 100644 sig/openai/type/request_parameters.rbs delete mode 100644 sig/openai/type/union.rbs delete mode 100644 sig/openai/type/unknown.rbs delete mode 100644 sig/openai/util.rbs rename test/openai/{ => internal/type}/base_model_test.rb (94%) rename test/openai/{ => internal}/util_test.rb (75%) diff --git a/lib/openai.rb b/lib/openai.rb index a2330683..8e87e568 100644 --- a/lib/openai.rb +++ b/lib/openai.rb @@ -36,27 +36,27 @@ # Package files. require_relative "openai/version" -require_relative "openai/util" -require_relative "openai/type/converter" -require_relative "openai/type/unknown" -require_relative "openai/type/boolean_model" -require_relative "openai/type/enum" -require_relative "openai/type/union" -require_relative "openai/type/array_of" -require_relative "openai/type/hash_of" -require_relative "openai/type/base_model" -require_relative "openai/type/base_page" -require_relative "openai/type/base_stream" -require_relative "openai/type/request_parameters" -require_relative "openai/type" +require_relative "openai/internal/util" +require_relative "openai/internal/type/converter" +require_relative "openai/internal/type/unknown" +require_relative "openai/internal/type/boolean_model" +require_relative "openai/internal/type/enum" +require_relative "openai/internal/type/union" +require_relative "openai/internal/type/array_of" +require_relative "openai/internal/type/hash_of" +require_relative "openai/internal/type/base_model" +require_relative "openai/internal/type/base_page" +require_relative "openai/internal/type/base_stream" +require_relative "openai/internal/type/request_parameters" +require_relative "openai/aliases" require_relative "openai/request_options" require_relative "openai/errors" -require_relative "openai/transport/base_client" -require_relative "openai/transport/pooled_net_requester" +require_relative "openai/internal/transport/base_client" +require_relative "openai/internal/transport/pooled_net_requester" require_relative "openai/client" -require_relative "openai/stream" -require_relative "openai/cursor_page" -require_relative "openai/page" +require_relative "openai/internal/stream" +require_relative "openai/internal/cursor_page" +require_relative "openai/internal/page" require_relative "openai/models/reasoning_effort" require_relative "openai/models/chat/chat_completion_message" require_relative "openai/models/fine_tuning/fine_tuning_job_wandb_integration_object" diff --git a/lib/openai/aliases.rb b/lib/openai/aliases.rb new file mode 100644 index 00000000..da013a3e --- /dev/null +++ b/lib/openai/aliases.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module OpenAI + Unknown = OpenAI::Internal::Type::Unknown + + BooleanModel = OpenAI::Internal::Type::BooleanModel + + Enum = OpenAI::Internal::Type::Enum + + Union = OpenAI::Internal::Type::Union + + ArrayOf = OpenAI::Internal::Type::ArrayOf + + HashOf = OpenAI::Internal::Type::HashOf + + BaseModel = OpenAI::Internal::Type::BaseModel + + RequestParameters = OpenAI::Internal::Type::RequestParameters +end diff --git a/lib/openai/client.rb b/lib/openai/client.rb index 2bfddd02..5781780a 100644 --- a/lib/openai/client.rb +++ b/lib/openai/client.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module OpenAI - class Client < OpenAI::Transport::BaseClient + class Client < OpenAI::Internal::Transport::BaseClient # Default max number of retries to attempt after a failed retryable request. DEFAULT_MAX_RETRIES = 2 diff --git a/lib/openai/cursor_page.rb b/lib/openai/cursor_page.rb deleted file mode 100644 index 640aa03b..00000000 --- a/lib/openai/cursor_page.rb +++ /dev/null @@ -1,92 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - # @example - # if cursor_page.has_next? - # cursor_page = cursor_page.next_page - # end - # - # @example - # cursor_page.auto_paging_each do |completion| - # puts(completion) - # end - # - # @example - # completions = - # cursor_page - # .to_enum - # .lazy - # .select { _1.object_id.even? } - # .map(&:itself) - # .take(2) - # .to_a - # - # completions => Array - class CursorPage - include OpenAI::Type::BasePage - - # @return [Array, nil] - attr_accessor :data - - # @return [Boolean] - attr_accessor :has_more - - # @api private - # - # @param client [OpenAI::Transport::BaseClient] - # @param req [Hash{Symbol=>Object}] - # @param headers [Hash{String=>String}, Net::HTTPHeader] - # @param page_data [Hash{Symbol=>Object}] - def initialize(client:, req:, headers:, page_data:) - super - model = req.fetch(:model) - - case page_data - in {data: Array | nil => data} - @data = data&.map { OpenAI::Type::Converter.coerce(model, _1) } - else - end - - case page_data - in {has_more: true | false | nil => has_more} - @has_more = has_more - else - end - end - - # @return [Boolean] - def next_page? - has_more - end - - # @raise [OpenAI::HTTP::Error] - # @return [OpenAI::CursorPage] - def next_page - unless next_page? - message = "No more pages available. Please check #next_page? before calling ##{__method__}" - raise RuntimeError.new(message) - end - - req = OpenAI::Util.deep_merge(@req, {query: {after: data&.last&.id}}) - @client.request(req) - end - - # @param blk [Proc] - def auto_paging_each(&blk) - unless block_given? - raise ArgumentError.new("A block must be given to ##{__method__}") - end - page = self - loop do - page.data&.each { blk.call(_1) } - break unless page.next_page? - page = page.next_page - end - end - - # @return [String] - def inspect - "#<#{self.class}:0x#{object_id.to_s(16)} data=#{data.inspect} has_more=#{has_more.inspect}>" - end - end -end diff --git a/lib/openai/errors.rb b/lib/openai/errors.rb index bc67421d..4b5fc99f 100644 --- a/lib/openai/errors.rb +++ b/lib/openai/errors.rb @@ -178,10 +178,10 @@ def self.for(url:, status:, body:, request:, response:, message: nil) # @param response [nil] # @param message [String, nil] def initialize(url:, status:, body:, request:, response:, message: nil) - message ||= OpenAI::Util.dig(body, :message) { {url: url.to_s, status: status, body: body} } - @code = OpenAI::Type::Converter.coerce(String, OpenAI::Util.dig(body, :code)) - @param = OpenAI::Type::Converter.coerce(String, OpenAI::Util.dig(body, :param)) - @type = OpenAI::Type::Converter.coerce(String, OpenAI::Util.dig(body, :type)) + message ||= OpenAI::Internal::Util.dig(body, :message) { {url: url.to_s, status: status, body: body} } + @code = OpenAI::Internal::Type::Converter.coerce(String, OpenAI::Internal::Util.dig(body, :code)) + @param = OpenAI::Internal::Type::Converter.coerce(String, OpenAI::Internal::Util.dig(body, :param)) + @type = OpenAI::Internal::Type::Converter.coerce(String, OpenAI::Internal::Util.dig(body, :type)) super( url: url, status: status, diff --git a/lib/openai/internal/cursor_page.rb b/lib/openai/internal/cursor_page.rb new file mode 100644 index 00000000..ba3b1b74 --- /dev/null +++ b/lib/openai/internal/cursor_page.rb @@ -0,0 +1,94 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + # @example + # if cursor_page.has_next? + # cursor_page = cursor_page.next_page + # end + # + # @example + # cursor_page.auto_paging_each do |completion| + # puts(completion) + # end + # + # @example + # completions = + # cursor_page + # .to_enum + # .lazy + # .select { _1.object_id.even? } + # .map(&:itself) + # .take(2) + # .to_a + # + # completions => Array + class CursorPage + include OpenAI::Internal::Type::BasePage + + # @return [Array, nil] + attr_accessor :data + + # @return [Boolean] + attr_accessor :has_more + + # @api private + # + # @param client [OpenAI::Internal::Transport::BaseClient] + # @param req [Hash{Symbol=>Object}] + # @param headers [Hash{String=>String}, Net::HTTPHeader] + # @param page_data [Hash{Symbol=>Object}] + def initialize(client:, req:, headers:, page_data:) + super + model = req.fetch(:model) + + case page_data + in {data: Array | nil => data} + @data = data&.map { OpenAI::Internal::Type::Converter.coerce(model, _1) } + else + end + + case page_data + in {has_more: true | false | nil => has_more} + @has_more = has_more + else + end + end + + # @return [Boolean] + def next_page? + has_more + end + + # @raise [OpenAI::HTTP::Error] + # @return [OpenAI::Internal::CursorPage] + def next_page + unless next_page? + message = "No more pages available. Please check #next_page? before calling ##{__method__}" + raise RuntimeError.new(message) + end + + req = OpenAI::Internal::Util.deep_merge(@req, {query: {after: data&.last&.id}}) + @client.request(req) + end + + # @param blk [Proc] + def auto_paging_each(&blk) + unless block_given? + raise ArgumentError.new("A block must be given to ##{__method__}") + end + page = self + loop do + page.data&.each { blk.call(_1) } + break unless page.next_page? + page = page.next_page + end + end + + # @return [String] + def inspect + "#<#{self.class}:0x#{object_id.to_s(16)} data=#{data.inspect} has_more=#{has_more.inspect}>" + end + end + end +end diff --git a/lib/openai/internal/page.rb b/lib/openai/internal/page.rb new file mode 100644 index 00000000..867cd496 --- /dev/null +++ b/lib/openai/internal/page.rb @@ -0,0 +1,88 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + # @example + # if page.has_next? + # page = page.next_page + # end + # + # @example + # page.auto_paging_each do |model| + # puts(model) + # end + # + # @example + # models = + # page + # .to_enum + # .lazy + # .select { _1.object_id.even? } + # .map(&:itself) + # .take(2) + # .to_a + # + # models => Array + class Page + include OpenAI::Internal::Type::BasePage + + # @return [Array, nil] + attr_accessor :data + + # @return [String] + attr_accessor :object + + # @api private + # + # @param client [OpenAI::Internal::Transport::BaseClient] + # @param req [Hash{Symbol=>Object}] + # @param headers [Hash{String=>String}, Net::HTTPHeader] + # @param page_data [Array] + def initialize(client:, req:, headers:, page_data:) + super + model = req.fetch(:model) + + case page_data + in {data: Array | nil => data} + @data = data&.map { OpenAI::Internal::Type::Converter.coerce(model, _1) } + else + end + + case page_data + in {object: String => object} + @object = object + else + end + end + + # @return [Boolean] + def next_page? + false + end + + # @raise [OpenAI::HTTP::Error] + # @return [OpenAI::Internal::Page] + def next_page + RuntimeError.new("No more pages available.") + end + + # @param blk [Proc] + def auto_paging_each(&blk) + unless block_given? + raise ArgumentError.new("A block must be given to ##{__method__}") + end + page = self + loop do + page.data&.each { blk.call(_1) } + break unless page.next_page? + page = page.next_page + end + end + + # @return [String] + def inspect + "#<#{self.class}:0x#{object_id.to_s(16)} data=#{data.inspect} object=#{object.inspect}>" + end + end + end +end diff --git a/lib/openai/internal/stream.rb b/lib/openai/internal/stream.rb new file mode 100644 index 00000000..3c9e0748 --- /dev/null +++ b/lib/openai/internal/stream.rb @@ -0,0 +1,69 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + # @example + # stream.each do |event| + # puts(event) + # end + # + # @example + # events = + # stream + # .lazy + # .select { _1.object_id.even? } + # .map(&:itself) + # .take(2) + # .to_a + # + # events => Array + class Stream + include OpenAI::Internal::Type::BaseStream + + # @api private + # + # @return [Enumerable] + private def iterator + # rubocop:disable Metrics/BlockLength + @iterator ||= OpenAI::Internal::Util.chain_fused(@stream) do |y| + consume = false + + @stream.each do |msg| + next if consume + + case msg + in { data: String => data } if data.start_with?("[DONE]") + consume = true + next + in { data: String => data } + case JSON.parse(data, symbolize_names: true) + in { error: error } + message = + case error + in String + error + in { message: String => m } + m + else + "An error occurred during streaming" + end + OpenAI::Errors::APIError.for( + url: @url, + status: @status, + body: body, + request: nil, + response: @response, + message: message + ) + in decoded + y << OpenAI::Internal::Type::Converter.coerce(@model, decoded) + end + else + end + end + end + # rubocop:enable Metrics/BlockLength + end + end + end +end diff --git a/lib/openai/internal/transport/base_client.rb b/lib/openai/internal/transport/base_client.rb new file mode 100644 index 00000000..013e2d64 --- /dev/null +++ b/lib/openai/internal/transport/base_client.rb @@ -0,0 +1,461 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Transport + # @api private + # + # @abstract + class BaseClient + # from whatwg fetch spec + MAX_REDIRECTS = 20 + + # rubocop:disable Style/MutableConstant + PLATFORM_HEADERS = + { + "x-stainless-arch" => OpenAI::Internal::Util.arch, + "x-stainless-lang" => "ruby", + "x-stainless-os" => OpenAI::Internal::Util.os, + "x-stainless-package-version" => OpenAI::VERSION, + "x-stainless-runtime" => ::RUBY_ENGINE, + "x-stainless-runtime-version" => ::RUBY_ENGINE_VERSION + } + # rubocop:enable Style/MutableConstant + + class << self + # @api private + # + # @param req [Hash{Symbol=>Object}] + # + # @raise [ArgumentError] + def validate!(req) + keys = [:method, :path, :query, :headers, :body, :unwrap, :page, :stream, :model, :options] + case req + in Hash + req.each_key do |k| + unless keys.include?(k) + raise ArgumentError.new("Request `req` keys must be one of #{keys}, got #{k.inspect}") + end + end + else + raise ArgumentError.new("Request `req` must be a Hash or RequestOptions, got #{req.inspect}") + end + end + + # @api private + # + # @param status [Integer] + # @param headers [Hash{String=>String}, Net::HTTPHeader] + # + # @return [Boolean] + def should_retry?(status, headers:) + coerced = OpenAI::Internal::Util.coerce_boolean(headers["x-should-retry"]) + case [coerced, status] + in [true | false, _] + coerced + in [_, 408 | 409 | 429 | (500..)] + # retry on: + # 408: timeouts + # 409: locks + # 429: rate limits + # 500+: unknown errors + true + else + false + end + end + + # @api private + # + # @param request [Hash{Symbol=>Object}] . + # + # @option request [Symbol] :method + # + # @option request [URI::Generic] :url + # + # @option request [Hash{String=>String}] :headers + # + # @option request [Object] :body + # + # @option request [Integer] :max_retries + # + # @option request [Float] :timeout + # + # @param status [Integer] + # + # @param response_headers [Hash{String=>String}, Net::HTTPHeader] + # + # @return [Hash{Symbol=>Object}] + def follow_redirect(request, status:, response_headers:) + method, url, headers = request.fetch_values(:method, :url, :headers) + location = + Kernel.then do + URI.join(url, response_headers["location"]) + rescue ArgumentError + message = "Server responded with status #{status} but no valid location header." + raise OpenAI::Errors::APIConnectionError.new(url: url, message: message) + end + + request = {**request, url: location} + + case [url.scheme, location.scheme] + in ["https", "http"] + message = "Tried to redirect to a insecure URL" + raise OpenAI::Errors::APIConnectionError.new(url: url, message: message) + else + nil + end + + # from whatwg fetch spec + case [status, method] + in [301 | 302, :post] | [303, _] + drop = %w[content-encoding content-language content-length content-location content-type] + request = { + **request, + method: method == :head ? :head : :get, + headers: headers.except(*drop), + body: nil + } + else + end + + # from undici + if OpenAI::Internal::Util.uri_origin(url) != OpenAI::Internal::Util.uri_origin(location) + drop = %w[authorization cookie host proxy-authorization] + request = {**request, headers: request.fetch(:headers).except(*drop)} + end + + request + end + + # @api private + # + # @param status [Integer, OpenAI::Errors::APIConnectionError] + # @param stream [Enumerable, nil] + def reap_connection!(status, stream:) + case status + in (..199) | (300..499) + stream&.each { next } + in OpenAI::Errors::APIConnectionError | (500..) + OpenAI::Internal::Util.close_fused!(stream) + else + end + end + end + + # @api private + # @return [OpenAI::Internal::Transport::PooledNetRequester] + attr_accessor :requester + + # @api private + # + # @param base_url [String] + # @param timeout [Float] + # @param max_retries [Integer] + # @param initial_retry_delay [Float] + # @param max_retry_delay [Float] + # @param headers [Hash{String=>String, Integer, Array, nil}] + # @param idempotency_header [String, nil] + def initialize( + base_url:, + timeout: 0.0, + max_retries: 0, + initial_retry_delay: 0.0, + max_retry_delay: 0.0, + headers: {}, + idempotency_header: nil + ) + @requester = OpenAI::Internal::Transport::PooledNetRequester.new + @headers = OpenAI::Internal::Util.normalized_headers( + self.class::PLATFORM_HEADERS, + { + "accept" => "application/json", + "content-type" => "application/json" + }, + headers + ) + @base_url = OpenAI::Internal::Util.parse_uri(base_url) + @idempotency_header = idempotency_header&.to_s&.downcase + @max_retries = max_retries + @timeout = timeout + @initial_retry_delay = initial_retry_delay + @max_retry_delay = max_retry_delay + end + + # @api private + # + # @return [Hash{String=>String}] + private def auth_headers = {} + + # @api private + # + # @return [String] + private def generate_idempotency_key = "stainless-ruby-retry-#{SecureRandom.uuid}" + + # @api private + # + # @param req [Hash{Symbol=>Object}] . + # + # @option req [Symbol] :method + # + # @option req [String, Array] :path + # + # @option req [Hash{String=>Array, String, nil}, nil] :query + # + # @option req [Hash{String=>String, Integer, Array, nil}, nil] :headers + # + # @option req [Object, nil] :body + # + # @option req [Symbol, nil] :unwrap + # + # @option req [Class, nil] :page + # + # @option req [Class, nil] :stream + # + # @option req [OpenAI::Internal::Type::Converter, Class, nil] :model + # + # @param opts [Hash{Symbol=>Object}] . + # + # @option opts [String, nil] :idempotency_key + # + # @option opts [Hash{String=>Array, String, nil}, nil] :extra_query + # + # @option opts [Hash{String=>String, nil}, nil] :extra_headers + # + # @option opts [Object, nil] :extra_body + # + # @option opts [Integer, nil] :max_retries + # + # @option opts [Float, nil] :timeout + # + # @return [Hash{Symbol=>Object}] + private def build_request(req, opts) + method, uninterpolated_path = req.fetch_values(:method, :path) + + path = OpenAI::Internal::Util.interpolate_path(uninterpolated_path) + + query = OpenAI::Internal::Util.deep_merge(req[:query].to_h, opts[:extra_query].to_h) + + headers = OpenAI::Internal::Util.normalized_headers( + @headers, + auth_headers, + req[:headers].to_h, + opts[:extra_headers].to_h + ) + + if @idempotency_header && + !headers.key?(@idempotency_header) && + !Net::HTTP::IDEMPOTENT_METHODS_.include?(method.to_s.upcase) + headers[@idempotency_header] = opts.fetch(:idempotency_key) { generate_idempotency_key } + end + + unless headers.key?("x-stainless-retry-count") + headers["x-stainless-retry-count"] = "0" + end + + timeout = opts.fetch(:timeout, @timeout).to_f.clamp((0..)) + unless headers.key?("x-stainless-timeout") || timeout.zero? + headers["x-stainless-timeout"] = timeout.to_s + end + + headers.reject! { |_, v| v.to_s.empty? } + + body = + case method + in :get | :head | :options | :trace + nil + else + OpenAI::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact) + end + + headers, encoded = OpenAI::Internal::Util.encode_content(headers, body) + { + method: method, + url: OpenAI::Internal::Util.join_parsed_uri(@base_url, {**req, path: path, query: query}), + headers: headers, + body: encoded, + max_retries: opts.fetch(:max_retries, @max_retries), + timeout: timeout + } + end + + # @api private + # + # @param headers [Hash{String=>String}] + # @param retry_count [Integer] + # + # @return [Float] + private def retry_delay(headers, retry_count:) + # Non-standard extension + span = Float(headers["retry-after-ms"], exception: false)&.then { _1 / 1000 } + return span if span + + retry_header = headers["retry-after"] + return span if (span = Float(retry_header, exception: false)) + + span = retry_header&.then do + Time.httpdate(_1) - Time.now + rescue ArgumentError + nil + end + return span if span + + scale = retry_count**2 + jitter = 1 - (0.25 * rand) + (@initial_retry_delay * scale * jitter).clamp(0, @max_retry_delay) + end + + # @api private + # + # @param request [Hash{Symbol=>Object}] . + # + # @option request [Symbol] :method + # + # @option request [URI::Generic] :url + # + # @option request [Hash{String=>String}] :headers + # + # @option request [Object] :body + # + # @option request [Integer] :max_retries + # + # @option request [Float] :timeout + # + # @param redirect_count [Integer] + # + # @param retry_count [Integer] + # + # @param send_retry_header [Boolean] + # + # @raise [OpenAI::Errors::APIError] + # @return [Array(Integer, Net::HTTPResponse, Enumerable)] + private def send_request(request, redirect_count:, retry_count:, send_retry_header:) + url, headers, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout) + input = {**request.except(:timeout), deadline: OpenAI::Internal::Util.monotonic_secs + timeout} + + if send_retry_header + headers["x-stainless-retry-count"] = retry_count.to_s + end + + begin + status, response, stream = @requester.execute(input) + rescue OpenAI::APIConnectionError => e + status = e + end + + case status + in ..299 + [status, response, stream] + in 300..399 if redirect_count >= self.class::MAX_REDIRECTS + self.class.reap_connection!(status, stream: stream) + + message = "Failed to complete the request within #{self.class::MAX_REDIRECTS} redirects." + raise OpenAI::Errors::APIConnectionError.new(url: url, message: message) + in 300..399 + self.class.reap_connection!(status, stream: stream) + + request = self.class.follow_redirect(request, status: status, response_headers: response) + send_request( + request, + redirect_count: redirect_count + 1, + retry_count: retry_count, + send_retry_header: send_retry_header + ) + in OpenAI::APIConnectionError if retry_count >= max_retries + raise status + in (400..) if retry_count >= max_retries || !self.class.should_retry?(status, headers: response) + decoded = Kernel.then do + OpenAI::Internal::Util.decode_content(response, stream: stream, suppress_error: true) + ensure + self.class.reap_connection!(status, stream: stream) + end + + raise OpenAI::Errors::APIStatusError.for( + url: url, + status: status, + body: decoded, + request: nil, + response: response + ) + in (400..) | OpenAI::Errors::APIConnectionError + self.class.reap_connection!(status, stream: stream) + + delay = retry_delay(response, retry_count: retry_count) + sleep(delay) + + send_request( + request, + redirect_count: redirect_count, + retry_count: retry_count + 1, + send_retry_header: send_retry_header + ) + end + end + + # Execute the request specified by `req`. This is the method that all resource + # methods call into. + # + # @param req [Hash{Symbol=>Object}] . + # + # @option req [Symbol] :method + # + # @option req [String, Array] :path + # + # @option req [Hash{String=>Array, String, nil}, nil] :query + # + # @option req [Hash{String=>String, Integer, Array, nil}, nil] :headers + # + # @option req [Object, nil] :body + # + # @option req [Symbol, nil] :unwrap + # + # @option req [Class, nil] :page + # + # @option req [Class, nil] :stream + # + # @option req [OpenAI::Internal::Type::Converter, Class, nil] :model + # + # @option req [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] :options + # + # @raise [OpenAI::Errors::APIError] + # @return [Object] + def request(req) + self.class.validate!(req) + model = req.fetch(:model) { OpenAI::Unknown } + opts = req[:options].to_h + OpenAI::RequestOptions.validate!(opts) + request = build_request(req.except(:options), opts) + url = request.fetch(:url) + + # Don't send the current retry count in the headers if the caller modified the header defaults. + send_retry_header = request.fetch(:headers)["x-stainless-retry-count"] == "0" + status, response, stream = send_request( + request, + redirect_count: 0, + retry_count: 0, + send_retry_header: send_retry_header + ) + + decoded = OpenAI::Internal::Util.decode_content(response, stream: stream) + case req + in { stream: Class => st } + st.new(model: model, url: url, status: status, response: response, stream: decoded) + in { page: Class => page } + page.new(client: self, req: req, headers: response, page_data: decoded) + else + unwrapped = OpenAI::Internal::Util.dig(decoded, req[:unwrap]) + OpenAI::Internal::Type::Converter.coerce(model, unwrapped) + end + end + + # @return [String] + def inspect + # rubocop:disable Layout/LineLength + base_url = OpenAI::Internal::Util.unparse_uri(@base_url) + "#<#{self.class.name}:0x#{object_id.to_s(16)} base_url=#{base_url} max_retries=#{@max_retries} timeout=#{@timeout}>" + # rubocop:enable Layout/LineLength + end + end + end + end +end diff --git a/lib/openai/internal/transport/pooled_net_requester.rb b/lib/openai/internal/transport/pooled_net_requester.rb new file mode 100644 index 00000000..c5ee96d9 --- /dev/null +++ b/lib/openai/internal/transport/pooled_net_requester.rb @@ -0,0 +1,184 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Transport + # @api private + class PooledNetRequester + # from the golang stdlib + # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49 + KEEP_ALIVE_TIMEOUT = 30 + + class << self + # @api private + # + # @param url [URI::Generic] + # + # @return [Net::HTTP] + def connect(url) + port = + case [url.port, url.scheme] + in [Integer, _] + url.port + in [nil, "http" | "ws"] + Net::HTTP.http_default_port + in [nil, "https" | "wss"] + Net::HTTP.https_default_port + end + + Net::HTTP.new(url.host, port).tap do + _1.use_ssl = %w[https wss].include?(url.scheme) + _1.max_retries = 0 + end + end + + # @api private + # + # @param conn [Net::HTTP] + # @param deadline [Float] + def calibrate_socket_timeout(conn, deadline) + timeout = deadline - OpenAI::Internal::Util.monotonic_secs + conn.open_timeout = conn.read_timeout = conn.write_timeout = conn.continue_timeout = timeout + end + + # @api private + # + # @param request [Hash{Symbol=>Object}] . + # + # @option request [Symbol] :method + # + # @option request [URI::Generic] :url + # + # @option request [Hash{String=>String}] :headers + # + # @param blk [Proc] + # + # @yieldparam [String] + # @return [Net::HTTPGenericRequest] + def build_request(request, &blk) + method, url, headers, body = request.fetch_values(:method, :url, :headers, :body) + req = Net::HTTPGenericRequest.new( + method.to_s.upcase, + !body.nil?, + method != :head, + url.to_s + ) + + headers.each { req[_1] = _2 } + + case body + in nil + nil + in String + req["content-length"] ||= body.bytesize.to_s unless req["transfer-encoding"] + req.body_stream = OpenAI::Internal::Util::ReadIOAdapter.new(body, &blk) + in StringIO + req["content-length"] ||= body.size.to_s unless req["transfer-encoding"] + req.body_stream = OpenAI::Internal::Util::ReadIOAdapter.new(body, &blk) + in IO | Enumerator + req["transfer-encoding"] ||= "chunked" unless req["content-length"] + req.body_stream = OpenAI::Internal::Util::ReadIOAdapter.new(body, &blk) + end + + req + end + end + + # @api private + # + # @param url [URI::Generic] + # @param deadline [Float] + # @param blk [Proc] + # + # @raise [Timeout::Error] + # @yieldparam [Net::HTTP] + private def with_pool(url, deadline:, &blk) + origin = OpenAI::Internal::Util.uri_origin(url) + timeout = deadline - OpenAI::Internal::Util.monotonic_secs + pool = + @mutex.synchronize do + @pools[origin] ||= ConnectionPool.new(size: @size) do + self.class.connect(url) + end + end + + pool.with(timeout: timeout, &blk) + end + + # @api private + # + # @param request [Hash{Symbol=>Object}] . + # + # @option request [Symbol] :method + # + # @option request [URI::Generic] :url + # + # @option request [Hash{String=>String}] :headers + # + # @option request [Object] :body + # + # @option request [Float] :deadline + # + # @return [Array(Integer, Net::HTTPResponse, Enumerable)] + def execute(request) + url, deadline = request.fetch_values(:url, :deadline) + + eof = false + finished = false + enum = Enumerator.new do |y| + with_pool(url, deadline: deadline) do |conn| + next if finished + + req = self.class.build_request(request) do + self.class.calibrate_socket_timeout(conn, deadline) + end + + self.class.calibrate_socket_timeout(conn, deadline) + unless conn.started? + conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT + conn.start + end + + self.class.calibrate_socket_timeout(conn, deadline) + conn.request(req) do |rsp| + y << [conn, req, rsp] + break if finished + + rsp.read_body do |bytes| + y << bytes + break if finished + + self.class.calibrate_socket_timeout(conn, deadline) + end + eof = true + end + end + rescue Timeout::Error + raise OpenAI::Errors::APITimeoutError + end + + conn, _, response = enum.next + body = OpenAI::Internal::Util.fused_enum(enum, external: true) do + finished = true + tap do + enum.next + rescue StopIteration + nil + end + conn.finish if !eof && conn&.started? + end + [Integer(response.code), response, (response.body = body)] + end + + # @api private + # + # @param size [Integer] + def initialize(size: Etc.nprocessors) + @mutex = Mutex.new + @size = size + @pools = {} + end + end + end + end +end diff --git a/lib/openai/internal/type/array_of.rb b/lib/openai/internal/type/array_of.rb new file mode 100644 index 00000000..65fa4ccb --- /dev/null +++ b/lib/openai/internal/type/array_of.rb @@ -0,0 +1,114 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @api private + # + # @abstract + # + # Array of items of a given type. + class ArrayOf + include OpenAI::Internal::Type::Converter + + # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] + # + # @param spec [Hash{Symbol=>Object}] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + def self.[](type_info, spec = {}) = new(type_info, spec) + + # @param other [Object] + # + # @return [Boolean] + def ===(other) = other.is_a?(Array) && other.all?(item_type) + + # @param other [Object] + # + # @return [Boolean] + def ==(other) + other.is_a?(OpenAI::ArrayOf) && other.nilable? == nilable? && other.item_type == item_type + end + + # @api private + # + # @param value [Enumerable, Object] + # + # @param state [Hash{Symbol=>Object}] . + # + # @option state [Boolean, :strong] :strictness + # + # @option state [Hash{Symbol=>Object}] :exactness + # + # @option state [Integer] :branched + # + # @return [Array, Object] + def coerce(value, state:) + exactness = state.fetch(:exactness) + + unless value.is_a?(Array) + exactness[:no] += 1 + return value + end + + target = item_type + exactness[:yes] += 1 + value + .map do |item| + case [nilable?, item] + in [true, nil] + exactness[:yes] += 1 + nil + else + OpenAI::Internal::Type::Converter.coerce(target, item, state: state) + end + end + end + + # @api private + # + # @param value [Enumerable, Object] + # + # @return [Array, Object] + def dump(value) + target = item_type + value.is_a?(Array) ? value.map { OpenAI::Internal::Type::Converter.dump(target, _1) } : super + end + + # @api private + # + # @return [OpenAI::Internal::Type::Converter, Class] + protected def item_type = @item_type_fn.call + + # @api private + # + # @return [Boolean] + protected def nilable? = @nilable + + # @api private + # + # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] + # + # @param spec [Hash{Symbol=>Object}] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + def initialize(type_info, spec = {}) + @item_type_fn = OpenAI::Internal::Type::Converter.type_info(type_info || spec) + @nilable = spec[:nil?] + end + end + end + end +end diff --git a/lib/openai/internal/type/base_model.rb b/lib/openai/internal/type/base_model.rb new file mode 100644 index 00000000..8984ef64 --- /dev/null +++ b/lib/openai/internal/type/base_model.rb @@ -0,0 +1,376 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @abstract + # + # @example + # # `comparison_filter` is a `OpenAI::Models::ComparisonFilter` + # comparison_filter => { + # key: key, + # type: type, + # value: value + # } + class BaseModel + extend OpenAI::Internal::Type::Converter + + class << self + # @api private + # + # Assumes superclass fields are totally defined before fields are accessed / + # defined on subclasses. + # + # @return [Hash{Symbol=>Hash{Symbol=>Object}}] + def known_fields + @known_fields ||= (self < OpenAI::BaseModel ? superclass.known_fields.dup : {}) + end + + # @api private + # + # @return [Hash{Symbol=>Hash{Symbol=>Object}}] + def fields + known_fields.transform_values do |field| + {**field.except(:type_fn), type: field.fetch(:type_fn).call} + end + end + + # @api private + # + # @param name_sym [Symbol] + # + # @param required [Boolean] + # + # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] + # + # @param spec [Hash{Symbol=>Object}] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + private def add_field(name_sym, required:, type_info:, spec:) + type_fn, info = + case type_info + in Proc | OpenAI::Internal::Type::Converter | Class + [OpenAI::Internal::Type::Converter.type_info({**spec, union: type_info}), spec] + in Hash + [OpenAI::Internal::Type::Converter.type_info(type_info), type_info] + end + + setter = "#{name_sym}=" + api_name = info.fetch(:api_name, name_sym) + nilable = info[:nil?] + const = if required && !nilable + info.fetch( + :const, + OpenAI::Internal::Util::OMIT + ) + else + OpenAI::Internal::Util::OMIT + end + + [name_sym, setter].each { undef_method(_1) } if known_fields.key?(name_sym) + + known_fields[name_sym] = + { + mode: @mode, + api_name: api_name, + required: required, + nilable: nilable, + const: const, + type_fn: type_fn + } + + define_method(setter) { @data.store(name_sym, _1) } + + define_method(name_sym) do + target = type_fn.call + value = @data.fetch(name_sym) { const == OpenAI::Internal::Util::OMIT ? nil : const } + state = {strictness: :strong, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} + if (nilable || !required) && value.nil? + nil + else + OpenAI::Internal::Type::Converter.coerce( + target, + value, + state: state + ) + end + rescue StandardError + cls = self.class.name.split("::").last + # rubocop:disable Layout/LineLength + message = "Failed to parse #{cls}.#{__method__} from #{value.class} to #{target.inspect}. To get the unparsed API response, use #{cls}[:#{__method__}]." + # rubocop:enable Layout/LineLength + raise OpenAI::ConversionError.new(message) + end + end + + # @api private + # + # @param name_sym [Symbol] + # + # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] + # + # @param spec [Hash{Symbol=>Object}] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + def required(name_sym, type_info, spec = {}) + add_field(name_sym, required: true, type_info: type_info, spec: spec) + end + + # @api private + # + # @param name_sym [Symbol] + # + # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] + # + # @param spec [Hash{Symbol=>Object}] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + def optional(name_sym, type_info, spec = {}) + add_field(name_sym, required: false, type_info: type_info, spec: spec) + end + + # @api private + # + # `request_only` attributes not excluded from `.#coerce` when receiving responses + # even if well behaved servers should not send them + # + # @param blk [Proc] + private def request_only(&blk) + @mode = :dump + blk.call + ensure + @mode = nil + end + + # @api private + # + # `response_only` attributes are omitted from `.#dump` when making requests + # + # @param blk [Proc] + private def response_only(&blk) + @mode = :coerce + blk.call + ensure + @mode = nil + end + + # @param other [Object] + # + # @return [Boolean] + def ==(other) = other.is_a?(Class) && other <= OpenAI::BaseModel && other.fields == fields + end + + # @param other [Object] + # + # @return [Boolean] + def ==(other) = self.class == other.class && @data == other.to_h + + class << self + # @api private + # + # @param value [OpenAI::BaseModel, Hash{Object=>Object}, Object] + # + # @param state [Hash{Symbol=>Object}] . + # + # @option state [Boolean, :strong] :strictness + # + # @option state [Hash{Symbol=>Object}] :exactness + # + # @option state [Integer] :branched + # + # @return [OpenAI::BaseModel, Object] + def coerce(value, state:) + exactness = state.fetch(:exactness) + + if value.is_a?(self.class) + exactness[:yes] += 1 + return value + end + + unless (val = OpenAI::Internal::Util.coerce_hash(value)).is_a?(Hash) + exactness[:no] += 1 + return value + end + exactness[:yes] += 1 + + keys = val.keys.to_set + instance = new + data = instance.to_h + + # rubocop:disable Metrics/BlockLength + fields.each do |name, field| + mode, required, target = field.fetch_values(:mode, :required, :type) + api_name, nilable, const = field.fetch_values(:api_name, :nilable, :const) + + unless val.key?(api_name) + if required && mode != :dump && const == OpenAI::Internal::Util::OMIT + exactness[nilable ? :maybe : :no] += 1 + else + exactness[:yes] += 1 + end + next + end + + item = val.fetch(api_name) + keys.delete(api_name) + + converted = + if item.nil? && (nilable || !required) + exactness[nilable ? :yes : :maybe] += 1 + nil + else + coerced = OpenAI::Internal::Type::Converter.coerce(target, item, state: state) + case target + in OpenAI::Internal::Type::Converter | Symbol + coerced + else + item + end + end + data.store(name, converted) + end + # rubocop:enable Metrics/BlockLength + + keys.each { data.store(_1, val.fetch(_1)) } + instance + end + + # @api private + # + # @param value [OpenAI::BaseModel, Object] + # + # @return [Hash{Object=>Object}, Object] + def dump(value) + unless (coerced = OpenAI::Internal::Util.coerce_hash(value)).is_a?(Hash) + return super + end + + acc = {} + + coerced.each do |key, val| + name = key.is_a?(String) ? key.to_sym : key + case (field = known_fields[name]) + in nil + acc.store(name, super(val)) + else + mode, api_name, type_fn = field.fetch_values(:mode, :api_name, :type_fn) + case mode + in :coerce + next + else + target = type_fn.call + acc.store(api_name, OpenAI::Internal::Type::Converter.dump(target, val)) + end + end + end + + known_fields.each_value do |field| + mode, api_name, const = field.fetch_values(:mode, :api_name, :const) + next if mode == :coerce || acc.key?(api_name) || const == OpenAI::Internal::Util::OMIT + acc.store(api_name, const) + end + + acc + end + end + + # Returns the raw value associated with the given key, if found. Otherwise, nil is + # returned. + # + # It is valid to lookup keys that are not in the API spec, for example to access + # undocumented features. This method does not parse response data into + # higher-level types. Lookup by anything other than a Symbol is an ArgumentError. + # + # @param key [Symbol] + # + # @return [Object, nil] + def [](key) + unless key.instance_of?(Symbol) + raise ArgumentError.new("Expected symbol key for lookup, got #{key.inspect}") + end + + @data[key] + end + + # Returns a Hash of the data underlying this object. O(1) + # + # Keys are Symbols and values are the raw values from the response. The return + # value indicates which values were ever set on the object. i.e. there will be a + # key in this hash if they ever were, even if the set value was nil. + # + # This method is not recursive. The returned value is shared by the object, so it + # should not be mutated. + # + # @return [Hash{Symbol=>Object}] + def to_h = @data + + alias_method :to_hash, :to_h + + # @param keys [Array, nil] + # + # @return [Hash{Symbol=>Object}] + def deconstruct_keys(keys) + (keys || self.class.known_fields.keys) + .filter_map do |k| + unless self.class.known_fields.key?(k) + next + end + + [k, public_send(k)] + end + .to_h + end + + # @param a [Object] + # + # @return [String] + def to_json(*a) = self.class.dump(self).to_json(*a) + + # @param a [Object] + # + # @return [String] + def to_yaml(*a) = self.class.dump(self).to_yaml(*a) + + # Create a new instance of a model. + # + # @param data [Hash{Symbol=>Object}, OpenAI::BaseModel] + def initialize(data = {}) + case OpenAI::Internal::Util.coerce_hash(data) + in Hash => coerced + @data = coerced + else + raise ArgumentError.new("Expected a #{Hash} or #{OpenAI::BaseModel}, got #{data.inspect}") + end + end + + # @return [String] + def inspect + rows = self.class.known_fields.keys.map do + "#{_1}=#{@data.key?(_1) ? public_send(_1) : ''}" + rescue OpenAI::ConversionError + "#{_1}=#{@data.fetch(_1)}" + end + "#<#{self.class.name}:0x#{object_id.to_s(16)} #{rows.join(' ')}>" + end + end + end + end +end diff --git a/lib/openai/internal/type/base_page.rb b/lib/openai/internal/type/base_page.rb new file mode 100644 index 00000000..63882c48 --- /dev/null +++ b/lib/openai/internal/type/base_page.rb @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @example + # if page.has_next? + # page = page.next_page + # end + # + # @example + # page.auto_paging_each do |completion| + # puts(completion) + # end + # + # @example + # completions = + # page + # .to_enum + # .lazy + # .select { _1.object_id.even? } + # .map(&:itself) + # .take(2) + # .to_a + # + # completions => Array + module BasePage + # rubocop:disable Lint/UnusedMethodArgument + + # @return [Boolean] + def next_page? = (raise NotImplementedError) + + # @raise [OpenAI::Errors::APIError] + # @return [OpenAI::Internal::Type::BasePage] + def next_page = (raise NotImplementedError) + + # @param blk [Proc] + # + # @return [void] + def auto_paging_each(&blk) = (raise NotImplementedError) + + # @return [Enumerable] + def to_enum = super(:auto_paging_each) + + alias_method :enum_for, :to_enum + + # @api private + # + # @param client [OpenAI::Internal::Transport::BaseClient] + # @param req [Hash{Symbol=>Object}] + # @param headers [Hash{String=>String}, Net::HTTPHeader] + # @param page_data [Object] + def initialize(client:, req:, headers:, page_data:) + @client = client + @req = req + super() + end + + # rubocop:enable Lint/UnusedMethodArgument + end + end + end +end diff --git a/lib/openai/internal/type/base_stream.rb b/lib/openai/internal/type/base_stream.rb new file mode 100644 index 00000000..064878ba --- /dev/null +++ b/lib/openai/internal/type/base_stream.rb @@ -0,0 +1,65 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @example + # stream.each do |chunk| + # puts(chunk) + # end + # + # @example + # chunks = + # stream + # .lazy + # .select { _1.object_id.even? } + # .map(&:itself) + # .take(2) + # .to_a + # + # chunks => Array + module BaseStream + include Enumerable + + # @return [void] + def close = OpenAI::Internal::Util.close_fused!(@iterator) + + # @api private + # + # @return [Enumerable] + private def iterator = (raise NotImplementedError) + + # @param blk [Proc] + # + # @return [void] + def each(&blk) + unless block_given? + raise ArgumentError.new("A block must be given to ##{__method__}") + end + @iterator.each(&blk) + end + + # @return [Enumerator] + def to_enum = @iterator + + alias_method :enum_for, :to_enum + + # @api private + # + # @param model [Class, OpenAI::Internal::Type::Converter] + # @param url [URI::Generic] + # @param status [Integer] + # @param response [Net::HTTPResponse] + # @param stream [Enumerable] + def initialize(model:, url:, status:, response:, stream:) + @model = model + @url = url + @status = status + @response = response + @stream = stream + @iterator = iterator + end + end + end + end +end diff --git a/lib/openai/internal/type/boolean_model.rb b/lib/openai/internal/type/boolean_model.rb new file mode 100644 index 00000000..369fd741 --- /dev/null +++ b/lib/openai/internal/type/boolean_model.rb @@ -0,0 +1,54 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @api private + # + # @abstract + # + # Ruby has no Boolean class; this is something for models to refer to. + class BooleanModel + extend OpenAI::Internal::Type::Converter + + # @param other [Object] + # + # @return [Boolean] + def self.===(other) = other == true || other == false + + # @param other [Object] + # + # @return [Boolean] + def self.==(other) = other.is_a?(Class) && other <= OpenAI::BooleanModel + + class << self + # @api private + # + # @param value [Boolean, Object] + # + # @param state [Hash{Symbol=>Object}] . + # + # @option state [Boolean, :strong] :strictness + # + # @option state [Hash{Symbol=>Object}] :exactness + # + # @option state [Integer] :branched + # + # @return [Boolean, Object] + def coerce(value, state:) + state.fetch(:exactness)[value == true || value == false ? :yes : :no] += 1 + value + end + + # @!parse + # # @api private + # # + # # @param value [Boolean, Object] + # # + # # @return [Boolean, Object] + # def dump(value) = super + end + end + end + end +end diff --git a/lib/openai/internal/type/converter.rb b/lib/openai/internal/type/converter.rb new file mode 100644 index 00000000..29aad06d --- /dev/null +++ b/lib/openai/internal/type/converter.rb @@ -0,0 +1,219 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # rubocop:disable Metrics/ModuleLength + # @api private + module Converter + # rubocop:disable Lint/UnusedMethodArgument + + # @api private + # + # @param value [Object] + # + # @param state [Hash{Symbol=>Object}] . + # + # @option state [Boolean, :strong] :strictness + # + # @option state [Hash{Symbol=>Object}] :exactness + # + # @option state [Integer] :branched + # + # @return [Object] + def coerce(value, state:) = (raise NotImplementedError) + + # @api private + # + # @param value [Object] + # + # @return [Object] + def dump(value) + case value + in Array + value.map { OpenAI::Unknown.dump(_1) } + in Hash + value.transform_values { OpenAI::Unknown.dump(_1) } + in OpenAI::BaseModel + value.class.dump(value) + else + value + end + end + + # rubocop:enable Lint/UnusedMethodArgument + + class << self + # @api private + # + # @param spec [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + # + # @return [Proc] + def type_info(spec) + case spec + in Proc + spec + in Hash + type_info(spec.slice(:const, :enum, :union).first&.last) + in true | false + -> { OpenAI::BooleanModel } + in OpenAI::Internal::Type::Converter | Class | Symbol + -> { spec } + in NilClass | Integer | Float + -> { spec.class } + end + end + + # @api private + # + # Based on `target`, transform `value` into `target`, to the extent possible: + # + # 1. if the given `value` conforms to `target` already, return the given `value` + # 2. if it's possible and safe to convert the given `value` to `target`, then the + # converted value + # 3. otherwise, the given `value` unaltered + # + # The coercion process is subject to improvement between minor release versions. + # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode + # + # @param target [OpenAI::Internal::Type::Converter, Class] + # + # @param value [Object] + # + # @param state [Hash{Symbol=>Object}] The `strictness` is one of `true`, `false`, or `:strong`. This informs the + # coercion strategy when we have to decide between multiple possible conversion + # targets: + # + # - `true`: the conversion must be exact, with minimum coercion. + # - `false`: the conversion can be approximate, with some coercion. + # - `:strong`: the conversion must be exact, with no coercion, and raise an error + # if not possible. + # + # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For + # any given conversion attempt, the exactness will be updated based on how closely + # the value recursively matches the target type: + # + # - `yes`: the value can be converted to the target type with minimum coercion. + # - `maybe`: the value can be converted to the target type with some reasonable + # coercion. + # - `no`: the value cannot be converted to the target type. + # + # See implementation below for more details. + # + # @option state [Boolean, :strong] :strictness + # + # @option state [Hash{Symbol=>Object}] :exactness + # + # @option state [Integer] :branched + # + # @return [Object] + def coerce( + target, + value, + state: {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} + ) + # rubocop:disable Lint/SuppressedException + # rubocop:disable Metrics/BlockNesting + strictness, exactness = state.fetch_values(:strictness, :exactness) + + case target + in OpenAI::Internal::Type::Converter + return target.coerce(value, state: state) + in Class + if value.is_a?(target) + exactness[:yes] += 1 + return value + end + + case target + in -> { _1 <= NilClass } + exactness[value.nil? ? :yes : :maybe] += 1 + return nil + in -> { _1 <= Integer } + if value.is_a?(Integer) + exactness[:yes] += 1 + return value + elsif strictness == :strong + message = "no implicit conversion of #{value.class} into #{target.inspect}" + raise TypeError.new(message) + else + Kernel.then do + return Integer(value).tap { exactness[:maybe] += 1 } + rescue ArgumentError, TypeError + end + end + in -> { _1 <= Float } + if value.is_a?(Numeric) + exactness[:yes] += 1 + return Float(value) + elsif strictness == :strong + message = "no implicit conversion of #{value.class} into #{target.inspect}" + raise TypeError.new(message) + else + Kernel.then do + return Float(value).tap { exactness[:maybe] += 1 } + rescue ArgumentError, TypeError + end + end + in -> { _1 <= String } + case value + in String | Symbol | Numeric + exactness[value.is_a?(Numeric) ? :maybe : :yes] += 1 + return value.to_s + else + if strictness == :strong + message = "no implicit conversion of #{value.class} into #{target.inspect}" + raise TypeError.new(message) + end + end + in -> { _1 <= Date || _1 <= Time } + Kernel.then do + return target.parse(value).tap { exactness[:yes] += 1 } + rescue ArgumentError, TypeError => e + raise e if strictness == :strong + end + in -> { _1 <= IO } if value.is_a?(String) + exactness[:yes] += 1 + return StringIO.new(value.b) + else + end + in Symbol + if (value.is_a?(Symbol) || value.is_a?(String)) && value.to_sym == target + exactness[:yes] += 1 + return target + elsif strictness == :strong + message = "cannot convert non-matching #{value.class} into #{target.inspect}" + raise ArgumentError.new(message) + end + else + end + + exactness[:no] += 1 + value + # rubocop:enable Metrics/BlockNesting + # rubocop:enable Lint/SuppressedException + end + + # @api private + # + # @param target [OpenAI::Internal::Type::Converter, Class] + # @param value [Object] + # + # @return [Object] + def dump(target, value) + target.is_a?(OpenAI::Internal::Type::Converter) ? target.dump(value) : OpenAI::Unknown.dump(value) + end + end + end + # rubocop:enable Metrics/ModuleLength + end + end +end diff --git a/lib/openai/internal/type/enum.rb b/lib/openai/internal/type/enum.rb new file mode 100644 index 00000000..861f0ac9 --- /dev/null +++ b/lib/openai/internal/type/enum.rb @@ -0,0 +1,107 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @api private + # + # A value from among a specified list of options. OpenAPI enum values map to Ruby + # values in the SDK as follows: + # + # 1. boolean => true | false + # 2. integer => Integer + # 3. float => Float + # 4. string => Symbol + # + # We can therefore convert string values to Symbols, but can't convert other + # values safely. + # + # @example + # # `chat_model` is a `OpenAI::Models::ChatModel` + # case chat_model + # when OpenAI::Models::ChatModel::O3_MINI + # # ... + # when OpenAI::Models::ChatModel::O3_MINI_2025_01_31 + # # ... + # when OpenAI::Models::ChatModel::O1 + # # ... + # else + # puts(chat_model) + # end + # + # @example + # case chat_model + # in :"o3-mini" + # # ... + # in :"o3-mini-2025-01-31" + # # ... + # in :o1 + # # ... + # else + # puts(chat_model) + # end + module Enum + include OpenAI::Internal::Type::Converter + + # All of the valid Symbol values for this enum. + # + # @return [Array] + def values = (@values ||= constants.map { const_get(_1) }) + + # @api private + # + # Guard against thread safety issues by instantiating `@values`. + private def finalize! = values + + # @param other [Object] + # + # @return [Boolean] + def ===(other) = values.include?(other) + + # @param other [Object] + # + # @return [Boolean] + def ==(other) + other.is_a?(Module) && other.singleton_class <= OpenAI::Enum && other.values.to_set == values.to_set + end + + # @api private + # + # Unlike with primitives, `Enum` additionally validates that the value is a member + # of the enum. + # + # @param value [String, Symbol, Object] + # + # @param state [Hash{Symbol=>Object}] . + # + # @option state [Boolean, :strong] :strictness + # + # @option state [Hash{Symbol=>Object}] :exactness + # + # @option state [Integer] :branched + # + # @return [Symbol, Object] + def coerce(value, state:) + exactness = state.fetch(:exactness) + val = value.is_a?(String) ? value.to_sym : value + + if values.include?(val) + exactness[:yes] += 1 + val + else + exactness[values.first&.class == val.class ? :maybe : :no] += 1 + value + end + end + + # @!parse + # # @api private + # # + # # @param value [Symbol, Object] + # # + # # @return [Symbol, Object] + # def dump(value) = super + end + end + end +end diff --git a/lib/openai/internal/type/hash_of.rb b/lib/openai/internal/type/hash_of.rb new file mode 100644 index 00000000..d07f7ccd --- /dev/null +++ b/lib/openai/internal/type/hash_of.rb @@ -0,0 +1,140 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @api private + # + # @abstract + # + # Hash of items of a given type. + class HashOf + include OpenAI::Internal::Type::Converter + + # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] + # + # @param spec [Hash{Symbol=>Object}] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + def self.[](type_info, spec = {}) = new(type_info, spec) + + # @param other [Object] + # + # @return [Boolean] + def ===(other) + type = item_type + case other + in Hash + other.all? do |key, val| + case [key, val] + in [Symbol | String, ^type] + true + else + false + end + end + else + false + end + end + + # @param other [Object] + # + # @return [Boolean] + def ==(other) + other.is_a?(OpenAI::HashOf) && other.nilable? == nilable? && other.item_type == item_type + end + + # @api private + # + # @param value [Hash{Object=>Object}, Object] + # + # @param state [Hash{Symbol=>Object}] . + # + # @option state [Boolean, :strong] :strictness + # + # @option state [Hash{Symbol=>Object}] :exactness + # + # @option state [Integer] :branched + # + # @return [Hash{Symbol=>Object}, Object] + def coerce(value, state:) + exactness = state.fetch(:exactness) + + unless value.is_a?(Hash) + exactness[:no] += 1 + return value + end + + target = item_type + exactness[:yes] += 1 + value + .to_h do |key, val| + k = key.is_a?(String) ? key.to_sym : key + v = + case [nilable?, val] + in [true, nil] + exactness[:yes] += 1 + nil + else + OpenAI::Internal::Type::Converter.coerce(target, val, state: state) + end + + exactness[:no] += 1 unless k.is_a?(Symbol) + [k, v] + end + end + + # @api private + # + # @param value [Hash{Object=>Object}, Object] + # + # @return [Hash{Symbol=>Object}, Object] + def dump(value) + target = item_type + if value.is_a?(Hash) + value.transform_values do + OpenAI::Internal::Type::Converter.dump(target, _1) + end + else + super + end + end + + # @api private + # + # @return [OpenAI::Internal::Type::Converter, Class] + protected def item_type = @item_type_fn.call + + # @api private + # + # @return [Boolean] + protected def nilable? = @nilable + + # @api private + # + # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] + # + # @param spec [Hash{Symbol=>Object}] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + def initialize(type_info, spec = {}) + @item_type_fn = OpenAI::Internal::Type::Converter.type_info(type_info || spec) + @nilable = spec[:nil?] + end + end + end + end +end diff --git a/lib/openai/internal/type/request_parameters.rb b/lib/openai/internal/type/request_parameters.rb new file mode 100644 index 00000000..8a693e53 --- /dev/null +++ b/lib/openai/internal/type/request_parameters.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @api private + module RequestParameters + # @!parse + # # Options to specify HTTP behaviour for this request. + # # @return [OpenAI::RequestOptions, Hash{Symbol=>Object}] + # attr_accessor :request_options + + # @param mod [Module] + def self.included(mod) + return unless mod <= OpenAI::BaseModel + + mod.extend(OpenAI::Internal::Type::RequestParameters::Converter) + mod.optional(:request_options, OpenAI::RequestOptions) + end + + # @api private + module Converter + # @api private + # + # @param params [Object] + # + # @return [Array(Object, Hash{Symbol=>Object})] + def dump_request(params) + case (dumped = dump(params)) + in Hash + [dumped.except(:request_options), dumped[:request_options]] + else + [dumped, nil] + end + end + end + end + end + end +end diff --git a/lib/openai/internal/type/union.rb b/lib/openai/internal/type/union.rb new file mode 100644 index 00000000..bf2b376e --- /dev/null +++ b/lib/openai/internal/type/union.rb @@ -0,0 +1,212 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @api private + # + # @example + # # `chat_completion_content_part` is a `OpenAI::Models::Chat::ChatCompletionContentPart` + # case chat_completion_content_part + # when OpenAI::Models::Chat::ChatCompletionContentPartText + # puts(chat_completion_content_part.text) + # when OpenAI::Models::Chat::ChatCompletionContentPartImage + # puts(chat_completion_content_part.image_url) + # when OpenAI::Models::Chat::ChatCompletionContentPartInputAudio + # puts(chat_completion_content_part.input_audio) + # else + # puts(chat_completion_content_part) + # end + # + # @example + # case chat_completion_content_part + # in {type: :text, text: text} + # puts(text) + # in {type: :image_url, image_url: image_url} + # puts(image_url) + # in {type: :input_audio, input_audio: input_audio} + # puts(input_audio) + # else + # puts(chat_completion_content_part) + # end + module Union + include OpenAI::Internal::Type::Converter + + # @api private + # + # All of the specified variant info for this union. + # + # @return [Array] + private def known_variants = (@known_variants ||= []) + + # @api private + # + # @return [Array] + protected def derefed_variants + @known_variants.map { |key, variant_fn| [key, variant_fn.call] } + end + + # All of the specified variants for this union. + # + # @return [Array] + def variants = derefed_variants.map(&:last) + + # @api private + # + # @param property [Symbol] + private def discriminator(property) + case property + in Symbol + @discriminator = property + end + end + + # @api private + # + # @param key [Symbol, Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] + # + # @param spec [Hash{Symbol=>Object}, Proc, OpenAI::Internal::Type::Converter, Class] . + # + # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const + # + # @option spec [Proc] :enum + # + # @option spec [Proc] :union + # + # @option spec [Boolean] :"nil?" + private def variant(key, spec = nil) + variant_info = + case key + in Symbol + [key, OpenAI::Internal::Type::Converter.type_info(spec)] + in Proc | OpenAI::Internal::Type::Converter | Class | Hash + [nil, OpenAI::Internal::Type::Converter.type_info(key)] + end + + known_variants << variant_info + end + + # @api private + # + # @param value [Object] + # + # @return [OpenAI::Internal::Type::Converter, Class, nil] + private def resolve_variant(value) + case [@discriminator, value] + in [_, OpenAI::BaseModel] + value.class + in [Symbol, Hash] + key = value.fetch(@discriminator) do + value.fetch(@discriminator.to_s, OpenAI::Internal::Util::OMIT) + end + + return nil if key == OpenAI::Internal::Util::OMIT + + key = key.to_sym if key.is_a?(String) + known_variants.find { |k,| k == key }&.last&.call + else + nil + end + end + + # rubocop:disable Style/HashEachMethods + # rubocop:disable Style/CaseEquality + + # @param other [Object] + # + # @return [Boolean] + def ===(other) + known_variants.any? do |_, variant_fn| + variant_fn.call === other + end + end + + # @param other [Object] + # + # @return [Boolean] + def ==(other) + # rubocop:disable Layout/LineLength + other.is_a?(Module) && other.singleton_class <= OpenAI::Union && other.derefed_variants == derefed_variants + # rubocop:enable Layout/LineLength + end + + # @api private + # + # @param value [Object] + # + # @param state [Hash{Symbol=>Object}] . + # + # @option state [Boolean, :strong] :strictness + # + # @option state [Hash{Symbol=>Object}] :exactness + # + # @option state [Integer] :branched + # + # @return [Object] + def coerce(value, state:) + if (target = resolve_variant(value)) + return OpenAI::Internal::Type::Converter.coerce(target, value, state: state) + end + + strictness = state.fetch(:strictness) + exactness = state.fetch(:exactness) + state[:strictness] = strictness == :strong ? true : strictness + + alternatives = [] + known_variants.each do |_, variant_fn| + target = variant_fn.call + exact = state[:exactness] = {yes: 0, no: 0, maybe: 0} + state[:branched] += 1 + + coerced = OpenAI::Internal::Type::Converter.coerce(target, value, state: state) + yes, no, maybe = exact.values + if (no + maybe).zero? || (!strictness && yes.positive?) + exact.each { exactness[_1] += _2 } + state[:exactness] = exactness + return coerced + elsif maybe.positive? + alternatives << [[-yes, -maybe, no], exact, coerced] + end + end + + case alternatives.sort_by(&:first) + in [] + exactness[:no] += 1 + if strictness == :strong + message = "no possible conversion of #{value.class} into a variant of #{target.inspect}" + raise ArgumentError.new(message) + end + value + in [[_, exact, coerced], *] + exact.each { exactness[_1] += _2 } + coerced + end + .tap { state[:exactness] = exactness } + ensure + state[:strictness] = strictness + end + + # @api private + # + # @param value [Object] + # + # @return [Object] + def dump(value) + if (target = resolve_variant(value)) + return OpenAI::Internal::Type::Converter.dump(target, value) + end + + known_variants.each do + target = _2.call + return OpenAI::Internal::Type::Converter.dump(target, value) if target === value + end + + super + end + + # rubocop:enable Style/CaseEquality + # rubocop:enable Style/HashEachMethods + end + end + end +end diff --git a/lib/openai/internal/type/unknown.rb b/lib/openai/internal/type/unknown.rb new file mode 100644 index 00000000..589bd2ba --- /dev/null +++ b/lib/openai/internal/type/unknown.rb @@ -0,0 +1,58 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + module Type + # @api private + # + # @abstract + # + # When we don't know what to expect for the value. + class Unknown + extend OpenAI::Internal::Type::Converter + + # rubocop:disable Lint/UnusedMethodArgument + + # @param other [Object] + # + # @return [Boolean] + def self.===(other) = true + + # @param other [Object] + # + # @return [Boolean] + def self.==(other) = other.is_a?(Class) && other <= OpenAI::Unknown + + class << self + # @api private + # + # @param value [Object] + # + # @param state [Hash{Symbol=>Object}] . + # + # @option state [Boolean, :strong] :strictness + # + # @option state [Hash{Symbol=>Object}] :exactness + # + # @option state [Integer] :branched + # + # @return [Object] + def coerce(value, state:) + state.fetch(:exactness)[:yes] += 1 + value + end + + # @!parse + # # @api private + # # + # # @param value [Object] + # # + # # @return [Object] + # def dump(value) = super + end + + # rubocop:enable Lint/UnusedMethodArgument + end + end + end +end diff --git a/lib/openai/internal/util.rb b/lib/openai/internal/util.rb new file mode 100644 index 00000000..6fb201e3 --- /dev/null +++ b/lib/openai/internal/util.rb @@ -0,0 +1,724 @@ +# frozen_string_literal: true + +module OpenAI + module Internal + # rubocop:disable Metrics/ModuleLength + + # @api private + module Util + # @api private + # + # @return [Float] + def self.monotonic_secs = Process.clock_gettime(Process::CLOCK_MONOTONIC) + + class << self + # @api private + # + # @return [String] + def arch + case (arch = RbConfig::CONFIG["arch"])&.downcase + in nil + "unknown" + in /aarch64|arm64/ + "arm64" + in /x86_64/ + "x64" + in /arm/ + "arm" + else + "other:#{arch}" + end + end + + # @api private + # + # @return [String] + def os + case (host = RbConfig::CONFIG["host_os"])&.downcase + in nil + "Unknown" + in /linux/ + "Linux" + in /darwin/ + "MacOS" + in /freebsd/ + "FreeBSD" + in /openbsd/ + "OpenBSD" + in /mswin|mingw|cygwin|ucrt/ + "Windows" + else + "Other:#{host}" + end + end + end + + class << self + # @api private + # + # @param input [Object] + # + # @return [Boolean] + def primitive?(input) + case input + in true | false | Integer | Float | Symbol | String + true + else + false + end + end + + # @api private + # + # @param input [Object] + # + # @return [Boolean, Object] + def coerce_boolean(input) + case input.is_a?(String) ? input.downcase : input + in Numeric + input.nonzero? + in "true" + true + in "false" + false + else + input + end + end + + # @api private + # + # @param input [Object] + # + # @raise [ArgumentError] + # @return [Boolean, nil] + def coerce_boolean!(input) + case coerce_boolean(input) + in true | false | nil => coerced + coerced + else + raise ArgumentError.new("Unable to coerce #{input.inspect} into boolean value") + end + end + + # @api private + # + # @param input [Object] + # + # @return [Integer, Object] + def coerce_integer(input) + case input + in true + 1 + in false + 0 + else + Integer(input, exception: false) || input + end + end + + # @api private + # + # @param input [Object] + # + # @return [Float, Object] + def coerce_float(input) + case input + in true + 1.0 + in false + 0.0 + else + Float(input, exception: false) || input + end + end + + # @api private + # + # @param input [Object] + # + # @return [Hash{Object=>Object}, Object] + def coerce_hash(input) + case input + in NilClass | Array | Set | Enumerator + input + else + input.respond_to?(:to_h) ? input.to_h : input + end + end + end + + # Use this to indicate that a value should be explicitly removed from a data + # structure when using `OpenAI::Internal::Util.deep_merge`. + # + # e.g. merging `{a: 1}` and `{a: OMIT}` should produce `{}`, where merging + # `{a: 1}` and `{}` would produce `{a: 1}`. + OMIT = Object.new.freeze + + class << self + # @api private + # + # @param lhs [Object] + # @param rhs [Object] + # @param concat [Boolean] + # + # @return [Object] + private def deep_merge_lr(lhs, rhs, concat: false) + case [lhs, rhs, concat] + in [Hash, Hash, _] + rhs_cleaned = rhs.reject { _2 == OpenAI::Internal::Util::OMIT } + lhs + .reject { |key, _| rhs[key] == OpenAI::Internal::Util::OMIT } + .merge(rhs_cleaned) do |_, old_val, new_val| + deep_merge_lr(old_val, new_val, concat: concat) + end + in [Array, Array, true] + lhs.concat(rhs) + else + rhs + end + end + + # @api private + # + # Recursively merge one hash with another. If the values at a given key are not + # both hashes, just take the new value. + # + # @param values [Array] + # + # @param sentinel [Object, nil] the value to return if no values are provided. + # + # @param concat [Boolean] whether to merge sequences by concatenation. + # + # @return [Object] + def deep_merge(*values, sentinel: nil, concat: false) + case values + in [value, *values] + values.reduce(value) do |acc, val| + deep_merge_lr(acc, val, concat: concat) + end + else + sentinel + end + end + + # @api private + # + # @param data [Hash{Symbol=>Object}, Array, Object] + # @param pick [Symbol, Integer, Array, nil] + # @param sentinel [Object, nil] + # @param blk [Proc, nil] + # + # @return [Object, nil] + def dig(data, pick, sentinel = nil, &blk) + case [data, pick, blk] + in [_, nil, nil] + data + in [Hash, Symbol, _] | [Array, Integer, _] + blk.nil? ? data.fetch(pick, sentinel) : data.fetch(pick, &blk) + in [Hash | Array, Array, _] + pick.reduce(data) do |acc, key| + case acc + in Hash if acc.key?(key) + acc.fetch(key) + in Array if key.is_a?(Integer) && key < acc.length + acc[key] + else + return blk.nil? ? sentinel : blk.call + end + end + in _ + blk.nil? ? sentinel : blk.call + end + end + end + + class << self + # @api private + # + # @param uri [URI::Generic] + # + # @return [String] + def uri_origin(uri) + "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}" + end + + # @api private + # + # @param path [String, Array] + # + # @return [String] + def interpolate_path(path) + case path + in String + path + in [] + "" + in [String => p, *interpolations] + encoded = interpolations.map { ERB::Util.url_encode(_1) } + format(p, *encoded) + end + end + end + + class << self + # @api private + # + # @param query [String, nil] + # + # @return [Hash{String=>Array}] + def decode_query(query) + CGI.parse(query.to_s) + end + + # @api private + # + # @param query [Hash{String=>Array, String, nil}, nil] + # + # @return [String, nil] + def encode_query(query) + query.to_h.empty? ? nil : URI.encode_www_form(query) + end + end + + class << self + # @api private + # + # @param url [URI::Generic, String] + # + # @return [Hash{Symbol=>String, Integer, nil}] + def parse_uri(url) + parsed = URI::Generic.component.zip(URI.split(url)).to_h + {**parsed, query: decode_query(parsed.fetch(:query))} + end + + # @api private + # + # @param parsed [Hash{Symbol=>String, Integer, nil}] . + # + # @option parsed [String, nil] :scheme + # + # @option parsed [String, nil] :host + # + # @option parsed [Integer, nil] :port + # + # @option parsed [String, nil] :path + # + # @option parsed [Hash{String=>Array}] :query + # + # @return [URI::Generic] + def unparse_uri(parsed) + URI::Generic.build(**parsed, query: encode_query(parsed.fetch(:query))) + end + + # @api private + # + # @param lhs [Hash{Symbol=>String, Integer, nil}] . + # + # @option lhs [String, nil] :scheme + # + # @option lhs [String, nil] :host + # + # @option lhs [Integer, nil] :port + # + # @option lhs [String, nil] :path + # + # @option lhs [Hash{String=>Array}] :query + # + # @param rhs [Hash{Symbol=>String, Integer, nil}] . + # + # @option rhs [String, nil] :scheme + # + # @option rhs [String, nil] :host + # + # @option rhs [Integer, nil] :port + # + # @option rhs [String, nil] :path + # + # @option rhs [Hash{String=>Array}] :query + # + # @return [URI::Generic] + def join_parsed_uri(lhs, rhs) + base_path, base_query = lhs.fetch_values(:path, :query) + slashed = base_path.end_with?("/") ? base_path : "#{base_path}/" + + parsed_path, parsed_query = parse_uri(rhs.fetch(:path)).fetch_values(:path, :query) + override = URI::Generic.build(**rhs.slice(:scheme, :host, :port), path: parsed_path) + + joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override) + query = deep_merge( + joined.path == base_path ? base_query : {}, + parsed_query, + rhs[:query].to_h, + concat: true + ) + + joined.query = encode_query(query) + joined + end + end + + class << self + # @api private + # + # @param headers [Hash{String=>String, Integer, Array, nil}] + # + # @return [Hash{String=>String}] + def normalized_headers(*headers) + {}.merge(*headers.compact).to_h do |key, val| + value = + case val + in Array + val.map { _1.to_s.strip }.join(", ") + else + val&.to_s&.strip + end + [key.downcase, value] + end + end + end + + # @api private + # + # An adapter that satisfies the IO interface required by `::IO.copy_stream` + class ReadIOAdapter + # @api private + # + # @param max_len [Integer, nil] + # + # @return [String] + private def read_enum(max_len) + case max_len + in nil + @stream.to_a.join + in Integer + @buf << @stream.next while @buf.length < max_len + @buf.slice!(..max_len) + end + rescue StopIteration + @stream = nil + @buf.slice!(0..) + end + + # @api private + # + # @param max_len [Integer, nil] + # @param out_string [String, nil] + # + # @return [String, nil] + def read(max_len = nil, out_string = nil) + case @stream + in nil + nil + in IO | StringIO + @stream.read(max_len, out_string) + in Enumerator + read = read_enum(max_len) + case out_string + in String + out_string.replace(read) + in nil + read + end + end + .tap(&@blk) + end + + # @api private + # + # @param stream [String, IO, StringIO, Enumerable] + # @param blk [Proc] + # + # @yieldparam [String] + def initialize(stream, &blk) + @stream = stream.is_a?(String) ? StringIO.new(stream) : stream + @buf = String.new.b + @blk = blk + end + end + + class << self + # @param blk [Proc] + # + # @yieldparam [Enumerator::Yielder] + # @return [Enumerable] + def writable_enum(&blk) + Enumerator.new do |y| + y.define_singleton_method(:write) do + self << _1.clone + _1.bytesize + end + + blk.call(y) + end + end + end + + class << self + # @api private + # + # @param y [Enumerator::Yielder] + # @param boundary [String] + # @param key [Symbol, String] + # @param val [Object] + private def write_multipart_chunk(y, boundary:, key:, val:) + y << "--#{boundary}\r\n" + y << "Content-Disposition: form-data" + unless key.nil? + name = ERB::Util.url_encode(key.to_s) + y << "; name=\"#{name}\"" + end + if val.is_a?(IO) + filename = ERB::Util.url_encode(File.basename(val.to_path)) + y << "; filename=\"#{filename}\"" + end + y << "\r\n" + case val + in IO + y << "Content-Type: application/octet-stream\r\n\r\n" + IO.copy_stream(val, y) + in StringIO + y << "Content-Type: application/octet-stream\r\n\r\n" + y << val.string + in String + y << "Content-Type: application/octet-stream\r\n\r\n" + y << val.to_s + in true | false | Integer | Float | Symbol + y << "Content-Type: text/plain\r\n\r\n" + y << val.to_s + else + y << "Content-Type: application/json\r\n\r\n" + y << JSON.fast_generate(val) + end + y << "\r\n" + end + + # @api private + # + # @param body [Object] + # + # @return [Array(String, Enumerable)] + private def encode_multipart_streaming(body) + boundary = SecureRandom.urlsafe_base64(60) + + strio = writable_enum do |y| + case body + in Hash + body.each do |key, val| + case val + in Array if val.all? { primitive?(_1) } + val.each do |v| + write_multipart_chunk(y, boundary: boundary, key: key, val: v) + end + else + write_multipart_chunk(y, boundary: boundary, key: key, val: val) + end + end + else + write_multipart_chunk(y, boundary: boundary, key: nil, val: body) + end + y << "--#{boundary}--\r\n" + end + + [boundary, strio] + end + + # @api private + # + # @param headers [Hash{String=>String}] + # @param body [Object] + # + # @return [Object] + def encode_content(headers, body) + content_type = headers["content-type"] + case [content_type, body] + in [%r{^application/(?:vnd\.api\+)?json}, Hash | Array] + [headers, JSON.fast_generate(body)] + in [%r{^application/(?:x-)?jsonl}, Enumerable] + [headers, body.lazy.map { JSON.fast_generate(_1) }] + in [%r{^multipart/form-data}, Hash | IO | StringIO] + boundary, strio = encode_multipart_streaming(body) + headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"} + [headers, strio] + in [_, StringIO] + [headers, body.string] + else + [headers, body] + end + end + + # @api private + # + # @param headers [Hash{String=>String}, Net::HTTPHeader] + # @param stream [Enumerable] + # @param suppress_error [Boolean] + # + # @raise [JSON::ParserError] + # @return [Object] + def decode_content(headers, stream:, suppress_error: false) + case headers["content-type"] + in %r{^application/(?:vnd\.api\+)?json} + json = stream.to_a.join + begin + JSON.parse(json, symbolize_names: true) + rescue JSON::ParserError => e + raise e unless suppress_error + json + end + in %r{^application/(?:x-)?jsonl} + lines = decode_lines(stream) + chain_fused(lines) do |y| + lines.each { y << JSON.parse(_1, symbolize_names: true) } + end + in %r{^text/event-stream} + lines = decode_lines(stream) + decode_sse(lines) + in %r{^text/} + stream.to_a.join + else + # TODO: parsing other response types + StringIO.new(stream.to_a.join) + end + end + end + + class << self + # @api private + # + # https://doc.rust-lang.org/std/iter/trait.FusedIterator.html + # + # @param enum [Enumerable] + # @param external [Boolean] + # @param close [Proc] + # + # @return [Enumerable] + def fused_enum(enum, external: false, &close) + fused = false + iter = Enumerator.new do |y| + next if fused + + fused = true + if external + loop { y << enum.next } + else + enum.each(&y) + end + ensure + close&.call + close = nil + end + + iter.define_singleton_method(:rewind) do + fused = true + self + end + iter + end + + # @api private + # + # @param enum [Enumerable, nil] + def close_fused!(enum) + return unless enum.is_a?(Enumerator) + + # rubocop:disable Lint/UnreachableLoop + enum.rewind.each { break } + # rubocop:enable Lint/UnreachableLoop + end + + # @api private + # + # @param enum [Enumerable, nil] + # @param blk [Proc] + # + # @yieldparam [Enumerator::Yielder] + # @return [Enumerable] + def chain_fused(enum, &blk) + iter = Enumerator.new { blk.call(_1) } + fused_enum(iter) { close_fused!(enum) } + end + end + + class << self + # @api private + # + # @param enum [Enumerable] + # + # @return [Enumerable] + def decode_lines(enum) + re = /(\r\n|\r|\n)/ + buffer = String.new.b + cr_seen = nil + + chain_fused(enum) do |y| + enum.each do |row| + offset = buffer.bytesize + buffer << row + while (match = re.match(buffer, cr_seen&.to_i || offset)) + case [match.captures.first, cr_seen] + in ["\r", nil] + cr_seen = match.end(1) + next + in ["\r" | "\r\n", Integer] + y << buffer.slice!(..(cr_seen.pred)) + else + y << buffer.slice!(..(match.end(1).pred)) + end + offset = 0 + cr_seen = nil + end + end + + y << buffer.slice!(..(cr_seen.pred)) unless cr_seen.nil? + y << buffer unless buffer.empty? + end + end + + # @api private + # + # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream + # + # @param lines [Enumerable] + # + # @return [Hash{Symbol=>Object}] + def decode_sse(lines) + # rubocop:disable Metrics/BlockLength + chain_fused(lines) do |y| + blank = {event: nil, data: nil, id: nil, retry: nil} + current = {} + + lines.each do |line| + case line.sub(/\R$/, "") + in "" + next if current.empty? + y << {**blank, **current} + current = {} + in /^:/ + next + in /^([^:]+):\s?(.*)$/ + field, value = Regexp.last_match.captures + case field + in "event" + current.merge!(event: value) + in "data" + (current[:data] ||= String.new.b) << (value << "\n") + in "id" unless value.include?("\0") + current.merge!(id: value) + in "retry" if /^\d+$/ =~ value + current.merge!(retry: Integer(value)) + else + end + else + end + end + # rubocop:enable Metrics/BlockLength + + y << {**blank, **current} unless current.empty? + end + end + end + end + + # rubocop:enable Metrics/ModuleLength + end +end diff --git a/lib/openai/models/audio/speech_create_params.rb b/lib/openai/models/audio/speech_create_params.rb index 081c6175..0729f543 100644 --- a/lib/openai/models/audio/speech_create_params.rb +++ b/lib/openai/models/audio/speech_create_params.rb @@ -6,8 +6,8 @@ module Audio # @see OpenAI::Resources::Audio::Speech#create class SpeechCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute input # The text to generate audio for. The maximum length is 4096 characters. diff --git a/lib/openai/models/audio/transcription_create_params.rb b/lib/openai/models/audio/transcription_create_params.rb index ee1640c6..063af4b9 100644 --- a/lib/openai/models/audio/transcription_create_params.rb +++ b/lib/openai/models/audio/transcription_create_params.rb @@ -8,8 +8,8 @@ module Audio # @see OpenAI::Resources::Audio::Transcriptions#stream_raw class TranscriptionCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute file # The audio file object (not file name) to transcribe, in one of these formats: diff --git a/lib/openai/models/audio/translation_create_params.rb b/lib/openai/models/audio/translation_create_params.rb index 80c1292c..57b2727c 100644 --- a/lib/openai/models/audio/translation_create_params.rb +++ b/lib/openai/models/audio/translation_create_params.rb @@ -6,8 +6,8 @@ module Audio # @see OpenAI::Resources::Audio::Translations#create class TranslationCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute file # The audio file object (not file name) translate, in one of these formats: flac, diff --git a/lib/openai/models/batch_cancel_params.rb b/lib/openai/models/batch_cancel_params.rb index 1b94b154..a9fb8c08 100644 --- a/lib/openai/models/batch_cancel_params.rb +++ b/lib/openai/models/batch_cancel_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Batches#cancel class BatchCancelParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/batch_create_params.rb b/lib/openai/models/batch_create_params.rb index fcb80ecf..04139051 100644 --- a/lib/openai/models/batch_create_params.rb +++ b/lib/openai/models/batch_create_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Batches#create class BatchCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute completion_window # The time frame within which the batch should be processed. Currently only `24h` diff --git a/lib/openai/models/batch_list_params.rb b/lib/openai/models/batch_list_params.rb index 0515bbc5..0dc270ae 100644 --- a/lib/openai/models/batch_list_params.rb +++ b/lib/openai/models/batch_list_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Batches#list class BatchListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # A cursor for use in pagination. `after` is an object ID that defines your place diff --git a/lib/openai/models/batch_retrieve_params.rb b/lib/openai/models/batch_retrieve_params.rb index fae80854..695466e8 100644 --- a/lib/openai/models/batch_retrieve_params.rb +++ b/lib/openai/models/batch_retrieve_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Batches#retrieve class BatchRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/beta/assistant_create_params.rb b/lib/openai/models/beta/assistant_create_params.rb index 881fd6ee..d6443c05 100644 --- a/lib/openai/models/beta/assistant_create_params.rb +++ b/lib/openai/models/beta/assistant_create_params.rb @@ -6,8 +6,8 @@ module Beta # @see OpenAI::Resources::Beta::Assistants#create class AssistantCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute model # ID of the model to use. You can use the diff --git a/lib/openai/models/beta/assistant_delete_params.rb b/lib/openai/models/beta/assistant_delete_params.rb index 08dbb202..1414cb2b 100644 --- a/lib/openai/models/beta/assistant_delete_params.rb +++ b/lib/openai/models/beta/assistant_delete_params.rb @@ -6,8 +6,8 @@ module Beta # @see OpenAI::Resources::Beta::Assistants#delete class AssistantDeleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/beta/assistant_list_params.rb b/lib/openai/models/beta/assistant_list_params.rb index 2ccfe616..1385f253 100644 --- a/lib/openai/models/beta/assistant_list_params.rb +++ b/lib/openai/models/beta/assistant_list_params.rb @@ -6,8 +6,8 @@ module Beta # @see OpenAI::Resources::Beta::Assistants#list class AssistantListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # A cursor for use in pagination. `after` is an object ID that defines your place diff --git a/lib/openai/models/beta/assistant_retrieve_params.rb b/lib/openai/models/beta/assistant_retrieve_params.rb index 7fe50f31..1c58ceea 100644 --- a/lib/openai/models/beta/assistant_retrieve_params.rb +++ b/lib/openai/models/beta/assistant_retrieve_params.rb @@ -6,8 +6,8 @@ module Beta # @see OpenAI::Resources::Beta::Assistants#retrieve class AssistantRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/beta/assistant_update_params.rb b/lib/openai/models/beta/assistant_update_params.rb index 2c59bf2d..11f30474 100644 --- a/lib/openai/models/beta/assistant_update_params.rb +++ b/lib/openai/models/beta/assistant_update_params.rb @@ -6,8 +6,8 @@ module Beta # @see OpenAI::Resources::Beta::Assistants#update class AssistantUpdateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute description # The description of the assistant. The maximum length is 512 characters. diff --git a/lib/openai/models/beta/thread_create_and_run_params.rb b/lib/openai/models/beta/thread_create_and_run_params.rb index 495e3cd1..4425ba3c 100644 --- a/lib/openai/models/beta/thread_create_and_run_params.rb +++ b/lib/openai/models/beta/thread_create_and_run_params.rb @@ -8,8 +8,8 @@ module Beta # @see OpenAI::Resources::Beta::Threads#stream_raw class ThreadCreateAndRunParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute assistant_id # The ID of the diff --git a/lib/openai/models/beta/thread_create_params.rb b/lib/openai/models/beta/thread_create_params.rb index d778808c..434c28c5 100644 --- a/lib/openai/models/beta/thread_create_params.rb +++ b/lib/openai/models/beta/thread_create_params.rb @@ -6,8 +6,8 @@ module Beta # @see OpenAI::Resources::Beta::Threads#create class ThreadCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] messages # A list of [messages](https://platform.openai.com/docs/api-reference/messages) to diff --git a/lib/openai/models/beta/thread_delete_params.rb b/lib/openai/models/beta/thread_delete_params.rb index 71afbb41..0febd443 100644 --- a/lib/openai/models/beta/thread_delete_params.rb +++ b/lib/openai/models/beta/thread_delete_params.rb @@ -6,8 +6,8 @@ module Beta # @see OpenAI::Resources::Beta::Threads#delete class ThreadDeleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/beta/thread_retrieve_params.rb b/lib/openai/models/beta/thread_retrieve_params.rb index c12d6b56..7b3c99a3 100644 --- a/lib/openai/models/beta/thread_retrieve_params.rb +++ b/lib/openai/models/beta/thread_retrieve_params.rb @@ -6,8 +6,8 @@ module Beta # @see OpenAI::Resources::Beta::Threads#retrieve class ThreadRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/beta/thread_update_params.rb b/lib/openai/models/beta/thread_update_params.rb index e80088af..4ae11357 100644 --- a/lib/openai/models/beta/thread_update_params.rb +++ b/lib/openai/models/beta/thread_update_params.rb @@ -6,8 +6,8 @@ module Beta # @see OpenAI::Resources::Beta::Threads#update class ThreadUpdateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute metadata # Set of 16 key-value pairs that can be attached to an object. This can be useful diff --git a/lib/openai/models/beta/threads/message_create_params.rb b/lib/openai/models/beta/threads/message_create_params.rb index 340c113a..5a15f269 100644 --- a/lib/openai/models/beta/threads/message_create_params.rb +++ b/lib/openai/models/beta/threads/message_create_params.rb @@ -7,8 +7,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Messages#create class MessageCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute content # The text contents of the message. diff --git a/lib/openai/models/beta/threads/message_delete_params.rb b/lib/openai/models/beta/threads/message_delete_params.rb index 2a93e0d9..64604e89 100644 --- a/lib/openai/models/beta/threads/message_delete_params.rb +++ b/lib/openai/models/beta/threads/message_delete_params.rb @@ -7,8 +7,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Messages#delete class MessageDeleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute thread_id # diff --git a/lib/openai/models/beta/threads/message_list_params.rb b/lib/openai/models/beta/threads/message_list_params.rb index 1c5efce5..1cbbff8e 100644 --- a/lib/openai/models/beta/threads/message_list_params.rb +++ b/lib/openai/models/beta/threads/message_list_params.rb @@ -7,8 +7,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Messages#list class MessageListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # A cursor for use in pagination. `after` is an object ID that defines your place diff --git a/lib/openai/models/beta/threads/message_retrieve_params.rb b/lib/openai/models/beta/threads/message_retrieve_params.rb index 9a0811a6..996cb629 100644 --- a/lib/openai/models/beta/threads/message_retrieve_params.rb +++ b/lib/openai/models/beta/threads/message_retrieve_params.rb @@ -7,8 +7,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Messages#retrieve class MessageRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute thread_id # diff --git a/lib/openai/models/beta/threads/message_update_params.rb b/lib/openai/models/beta/threads/message_update_params.rb index ba22a469..f77a34f4 100644 --- a/lib/openai/models/beta/threads/message_update_params.rb +++ b/lib/openai/models/beta/threads/message_update_params.rb @@ -7,8 +7,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Messages#update class MessageUpdateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute thread_id # diff --git a/lib/openai/models/beta/threads/run_cancel_params.rb b/lib/openai/models/beta/threads/run_cancel_params.rb index f2fe43f6..bc13b744 100644 --- a/lib/openai/models/beta/threads/run_cancel_params.rb +++ b/lib/openai/models/beta/threads/run_cancel_params.rb @@ -7,8 +7,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Runs#cancel class RunCancelParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute thread_id # diff --git a/lib/openai/models/beta/threads/run_create_params.rb b/lib/openai/models/beta/threads/run_create_params.rb index a52ec57a..4b60bf0b 100644 --- a/lib/openai/models/beta/threads/run_create_params.rb +++ b/lib/openai/models/beta/threads/run_create_params.rb @@ -9,8 +9,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Runs#stream_raw class RunCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute assistant_id # The ID of the diff --git a/lib/openai/models/beta/threads/run_list_params.rb b/lib/openai/models/beta/threads/run_list_params.rb index 43e8bd9d..7e05072e 100644 --- a/lib/openai/models/beta/threads/run_list_params.rb +++ b/lib/openai/models/beta/threads/run_list_params.rb @@ -7,8 +7,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Runs#list class RunListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # A cursor for use in pagination. `after` is an object ID that defines your place diff --git a/lib/openai/models/beta/threads/run_retrieve_params.rb b/lib/openai/models/beta/threads/run_retrieve_params.rb index c75947e3..ddca0649 100644 --- a/lib/openai/models/beta/threads/run_retrieve_params.rb +++ b/lib/openai/models/beta/threads/run_retrieve_params.rb @@ -7,8 +7,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Runs#retrieve class RunRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute thread_id # diff --git a/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb b/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb index 168c457d..e3579635 100644 --- a/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb +++ b/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb @@ -9,8 +9,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Runs#submit_tool_stream_raw class RunSubmitToolOutputsParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute thread_id # diff --git a/lib/openai/models/beta/threads/run_update_params.rb b/lib/openai/models/beta/threads/run_update_params.rb index 54971ac1..0b5a69c2 100644 --- a/lib/openai/models/beta/threads/run_update_params.rb +++ b/lib/openai/models/beta/threads/run_update_params.rb @@ -7,8 +7,8 @@ module Threads # @see OpenAI::Resources::Beta::Threads::Runs#update class RunUpdateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute thread_id # diff --git a/lib/openai/models/beta/threads/runs/step_list_params.rb b/lib/openai/models/beta/threads/runs/step_list_params.rb index 08c4b854..d978c19f 100644 --- a/lib/openai/models/beta/threads/runs/step_list_params.rb +++ b/lib/openai/models/beta/threads/runs/step_list_params.rb @@ -8,8 +8,8 @@ module Runs # @see OpenAI::Resources::Beta::Threads::Runs::Steps#list class StepListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute thread_id # diff --git a/lib/openai/models/beta/threads/runs/step_retrieve_params.rb b/lib/openai/models/beta/threads/runs/step_retrieve_params.rb index 9f539603..5349ca7f 100644 --- a/lib/openai/models/beta/threads/runs/step_retrieve_params.rb +++ b/lib/openai/models/beta/threads/runs/step_retrieve_params.rb @@ -8,8 +8,8 @@ module Runs # @see OpenAI::Resources::Beta::Threads::Runs::Steps#retrieve class StepRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute thread_id # diff --git a/lib/openai/models/chat/completion_create_params.rb b/lib/openai/models/chat/completion_create_params.rb index f5cf3bd0..6b8c53a3 100644 --- a/lib/openai/models/chat/completion_create_params.rb +++ b/lib/openai/models/chat/completion_create_params.rb @@ -8,8 +8,8 @@ module Chat # @see OpenAI::Resources::Chat::Completions#stream_raw class CompletionCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute messages # A list of messages comprising the conversation so far. Depending on the diff --git a/lib/openai/models/chat/completion_delete_params.rb b/lib/openai/models/chat/completion_delete_params.rb index 70e85073..69c7c1aa 100644 --- a/lib/openai/models/chat/completion_delete_params.rb +++ b/lib/openai/models/chat/completion_delete_params.rb @@ -6,8 +6,8 @@ module Chat # @see OpenAI::Resources::Chat::Completions#delete class CompletionDeleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/chat/completion_list_params.rb b/lib/openai/models/chat/completion_list_params.rb index 905fe4ea..c369717e 100644 --- a/lib/openai/models/chat/completion_list_params.rb +++ b/lib/openai/models/chat/completion_list_params.rb @@ -6,8 +6,8 @@ module Chat # @see OpenAI::Resources::Chat::Completions#list class CompletionListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # Identifier for the last chat completion from the previous pagination request. diff --git a/lib/openai/models/chat/completion_retrieve_params.rb b/lib/openai/models/chat/completion_retrieve_params.rb index 3465af46..42086b40 100644 --- a/lib/openai/models/chat/completion_retrieve_params.rb +++ b/lib/openai/models/chat/completion_retrieve_params.rb @@ -6,8 +6,8 @@ module Chat # @see OpenAI::Resources::Chat::Completions#retrieve class CompletionRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/chat/completion_update_params.rb b/lib/openai/models/chat/completion_update_params.rb index 4e7909e9..87539dd0 100644 --- a/lib/openai/models/chat/completion_update_params.rb +++ b/lib/openai/models/chat/completion_update_params.rb @@ -6,8 +6,8 @@ module Chat # @see OpenAI::Resources::Chat::Completions#update class CompletionUpdateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute metadata # Set of 16 key-value pairs that can be attached to an object. This can be useful diff --git a/lib/openai/models/chat/completions/message_list_params.rb b/lib/openai/models/chat/completions/message_list_params.rb index d72b3255..271056ab 100644 --- a/lib/openai/models/chat/completions/message_list_params.rb +++ b/lib/openai/models/chat/completions/message_list_params.rb @@ -7,8 +7,8 @@ module Completions # @see OpenAI::Resources::Chat::Completions::Messages#list class MessageListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # Identifier for the last message from the previous pagination request. diff --git a/lib/openai/models/completion_create_params.rb b/lib/openai/models/completion_create_params.rb index cc824656..993c28d2 100644 --- a/lib/openai/models/completion_create_params.rb +++ b/lib/openai/models/completion_create_params.rb @@ -7,8 +7,8 @@ module Models # @see OpenAI::Resources::Completions#stream_raw class CompletionCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute model # ID of the model to use. You can use the diff --git a/lib/openai/models/embedding_create_params.rb b/lib/openai/models/embedding_create_params.rb index 9bae0793..12977ee8 100644 --- a/lib/openai/models/embedding_create_params.rb +++ b/lib/openai/models/embedding_create_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Embeddings#create class EmbeddingCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute input # Input text to embed, encoded as a string or array of tokens. To embed multiple diff --git a/lib/openai/models/file_content_params.rb b/lib/openai/models/file_content_params.rb index c1e2edd4..dcb5cd2b 100644 --- a/lib/openai/models/file_content_params.rb +++ b/lib/openai/models/file_content_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Files#content class FileContentParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/file_create_params.rb b/lib/openai/models/file_create_params.rb index da8f43df..7049b873 100644 --- a/lib/openai/models/file_create_params.rb +++ b/lib/openai/models/file_create_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Files#create class FileCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute file # The File object (not file name) to be uploaded. diff --git a/lib/openai/models/file_delete_params.rb b/lib/openai/models/file_delete_params.rb index c8b31252..cba48c40 100644 --- a/lib/openai/models/file_delete_params.rb +++ b/lib/openai/models/file_delete_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Files#delete class FileDeleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/file_list_params.rb b/lib/openai/models/file_list_params.rb index 997d1fa1..53f26749 100644 --- a/lib/openai/models/file_list_params.rb +++ b/lib/openai/models/file_list_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Files#list class FileListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # A cursor for use in pagination. `after` is an object ID that defines your place diff --git a/lib/openai/models/file_retrieve_params.rb b/lib/openai/models/file_retrieve_params.rb index c1729f9e..187535fd 100644 --- a/lib/openai/models/file_retrieve_params.rb +++ b/lib/openai/models/file_retrieve_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Files#retrieve class FileRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/fine_tuning/job_cancel_params.rb b/lib/openai/models/fine_tuning/job_cancel_params.rb index e1830988..465bc7c2 100644 --- a/lib/openai/models/fine_tuning/job_cancel_params.rb +++ b/lib/openai/models/fine_tuning/job_cancel_params.rb @@ -6,8 +6,8 @@ module FineTuning # @see OpenAI::Resources::FineTuning::Jobs#cancel class JobCancelParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/fine_tuning/job_create_params.rb b/lib/openai/models/fine_tuning/job_create_params.rb index 7649c07b..bd2f2f88 100644 --- a/lib/openai/models/fine_tuning/job_create_params.rb +++ b/lib/openai/models/fine_tuning/job_create_params.rb @@ -6,8 +6,8 @@ module FineTuning # @see OpenAI::Resources::FineTuning::Jobs#create class JobCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute model # The name of the model to fine-tune. You can select one of the diff --git a/lib/openai/models/fine_tuning/job_list_events_params.rb b/lib/openai/models/fine_tuning/job_list_events_params.rb index 167b9242..0e9abe08 100644 --- a/lib/openai/models/fine_tuning/job_list_events_params.rb +++ b/lib/openai/models/fine_tuning/job_list_events_params.rb @@ -6,8 +6,8 @@ module FineTuning # @see OpenAI::Resources::FineTuning::Jobs#list_events class JobListEventsParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # Identifier for the last event from the previous pagination request. diff --git a/lib/openai/models/fine_tuning/job_list_params.rb b/lib/openai/models/fine_tuning/job_list_params.rb index c3abbcd5..4922697f 100644 --- a/lib/openai/models/fine_tuning/job_list_params.rb +++ b/lib/openai/models/fine_tuning/job_list_params.rb @@ -6,8 +6,8 @@ module FineTuning # @see OpenAI::Resources::FineTuning::Jobs#list class JobListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # Identifier for the last job from the previous pagination request. diff --git a/lib/openai/models/fine_tuning/job_retrieve_params.rb b/lib/openai/models/fine_tuning/job_retrieve_params.rb index e62d1b6f..17337029 100644 --- a/lib/openai/models/fine_tuning/job_retrieve_params.rb +++ b/lib/openai/models/fine_tuning/job_retrieve_params.rb @@ -6,8 +6,8 @@ module FineTuning # @see OpenAI::Resources::FineTuning::Jobs#retrieve class JobRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rb b/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rb index 1b5657d6..7a7b3c86 100644 --- a/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rb +++ b/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rb @@ -7,8 +7,8 @@ module Jobs # @see OpenAI::Resources::FineTuning::Jobs::Checkpoints#list class CheckpointListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # Identifier for the last checkpoint ID from the previous pagination request. diff --git a/lib/openai/models/image_create_variation_params.rb b/lib/openai/models/image_create_variation_params.rb index fd6b93ba..fdc94a1e 100644 --- a/lib/openai/models/image_create_variation_params.rb +++ b/lib/openai/models/image_create_variation_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Images#create_variation class ImageCreateVariationParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute image # The image to use as the basis for the variation(s). Must be a valid PNG file, diff --git a/lib/openai/models/image_edit_params.rb b/lib/openai/models/image_edit_params.rb index 77954285..f14ec178 100644 --- a/lib/openai/models/image_edit_params.rb +++ b/lib/openai/models/image_edit_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Images#edit class ImageEditParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute image # The image to edit. Must be a valid PNG file, less than 4MB, and square. If mask diff --git a/lib/openai/models/image_generate_params.rb b/lib/openai/models/image_generate_params.rb index fbd3db67..38a73865 100644 --- a/lib/openai/models/image_generate_params.rb +++ b/lib/openai/models/image_generate_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Images#generate class ImageGenerateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute prompt # A text description of the desired image(s). The maximum length is 1000 diff --git a/lib/openai/models/model_delete_params.rb b/lib/openai/models/model_delete_params.rb index 186515a2..7a3e61da 100644 --- a/lib/openai/models/model_delete_params.rb +++ b/lib/openai/models/model_delete_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Models#delete class ModelDeleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/model_list_params.rb b/lib/openai/models/model_list_params.rb index 191cb53f..eb621c9b 100644 --- a/lib/openai/models/model_list_params.rb +++ b/lib/openai/models/model_list_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Models#list class ModelListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/model_retrieve_params.rb b/lib/openai/models/model_retrieve_params.rb index 6c19bb2b..330c276b 100644 --- a/lib/openai/models/model_retrieve_params.rb +++ b/lib/openai/models/model_retrieve_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Models#retrieve class ModelRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/moderation_create_params.rb b/lib/openai/models/moderation_create_params.rb index 6d03f271..95492506 100644 --- a/lib/openai/models/moderation_create_params.rb +++ b/lib/openai/models/moderation_create_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Moderations#create class ModerationCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute input # Input (or inputs) to classify. Can be a single string, an array of strings, or diff --git a/lib/openai/models/responses/input_item_list_params.rb b/lib/openai/models/responses/input_item_list_params.rb index 82362ce6..b807321f 100644 --- a/lib/openai/models/responses/input_item_list_params.rb +++ b/lib/openai/models/responses/input_item_list_params.rb @@ -6,8 +6,8 @@ module Responses # @see OpenAI::Resources::Responses::InputItems#list class InputItemListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # An item ID to list items after, used in pagination. diff --git a/lib/openai/models/responses/response_create_params.rb b/lib/openai/models/responses/response_create_params.rb index 55ec73cc..8253c846 100644 --- a/lib/openai/models/responses/response_create_params.rb +++ b/lib/openai/models/responses/response_create_params.rb @@ -8,8 +8,8 @@ module Responses # @see OpenAI::Resources::Responses#stream_raw class ResponseCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute input # Text, image, or file inputs to the model, used to generate a response. diff --git a/lib/openai/models/responses/response_delete_params.rb b/lib/openai/models/responses/response_delete_params.rb index 389d812a..311adb57 100644 --- a/lib/openai/models/responses/response_delete_params.rb +++ b/lib/openai/models/responses/response_delete_params.rb @@ -6,8 +6,8 @@ module Responses # @see OpenAI::Resources::Responses#delete class ResponseDeleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/responses/response_retrieve_params.rb b/lib/openai/models/responses/response_retrieve_params.rb index 36f30f22..ea7d0882 100644 --- a/lib/openai/models/responses/response_retrieve_params.rb +++ b/lib/openai/models/responses/response_retrieve_params.rb @@ -6,8 +6,8 @@ module Responses # @see OpenAI::Resources::Responses#retrieve class ResponseRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] include # Additional fields to include in the response. See the `include` parameter for diff --git a/lib/openai/models/upload_cancel_params.rb b/lib/openai/models/upload_cancel_params.rb index e509a7b1..5602bb3f 100644 --- a/lib/openai/models/upload_cancel_params.rb +++ b/lib/openai/models/upload_cancel_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Uploads#cancel class UploadCancelParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/upload_complete_params.rb b/lib/openai/models/upload_complete_params.rb index 1d3ff0d8..4b5b8cc3 100644 --- a/lib/openai/models/upload_complete_params.rb +++ b/lib/openai/models/upload_complete_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Uploads#complete class UploadCompleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute part_ids # The ordered list of Part IDs. diff --git a/lib/openai/models/upload_create_params.rb b/lib/openai/models/upload_create_params.rb index 68511cf4..b77c4093 100644 --- a/lib/openai/models/upload_create_params.rb +++ b/lib/openai/models/upload_create_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::Uploads#create class UploadCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute bytes # The number of bytes in the file you are uploading. diff --git a/lib/openai/models/uploads/part_create_params.rb b/lib/openai/models/uploads/part_create_params.rb index 636b73b1..12a0fcaf 100644 --- a/lib/openai/models/uploads/part_create_params.rb +++ b/lib/openai/models/uploads/part_create_params.rb @@ -6,8 +6,8 @@ module Uploads # @see OpenAI::Resources::Uploads::Parts#create class PartCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute data # The chunk of bytes for this Part. diff --git a/lib/openai/models/vector_store_create_params.rb b/lib/openai/models/vector_store_create_params.rb index a4633e39..a1e61412 100644 --- a/lib/openai/models/vector_store_create_params.rb +++ b/lib/openai/models/vector_store_create_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::VectorStores#create class VectorStoreCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] chunking_strategy # The chunking strategy used to chunk the file(s). If not set, will use the `auto` diff --git a/lib/openai/models/vector_store_delete_params.rb b/lib/openai/models/vector_store_delete_params.rb index a6973a49..42f0e18c 100644 --- a/lib/openai/models/vector_store_delete_params.rb +++ b/lib/openai/models/vector_store_delete_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::VectorStores#delete class VectorStoreDeleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/vector_store_list_params.rb b/lib/openai/models/vector_store_list_params.rb index 90569e9b..12ea7117 100644 --- a/lib/openai/models/vector_store_list_params.rb +++ b/lib/openai/models/vector_store_list_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::VectorStores#list class VectorStoreListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # A cursor for use in pagination. `after` is an object ID that defines your place diff --git a/lib/openai/models/vector_store_retrieve_params.rb b/lib/openai/models/vector_store_retrieve_params.rb index 8328d0a1..096ded4f 100644 --- a/lib/openai/models/vector_store_retrieve_params.rb +++ b/lib/openai/models/vector_store_retrieve_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::VectorStores#retrieve class VectorStoreRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!parse # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/openai/models/vector_store_search_params.rb b/lib/openai/models/vector_store_search_params.rb index bde42131..acf25855 100644 --- a/lib/openai/models/vector_store_search_params.rb +++ b/lib/openai/models/vector_store_search_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::VectorStores#search class VectorStoreSearchParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute query # A query string for a search diff --git a/lib/openai/models/vector_store_update_params.rb b/lib/openai/models/vector_store_update_params.rb index 62b9c58d..43edb6ab 100644 --- a/lib/openai/models/vector_store_update_params.rb +++ b/lib/openai/models/vector_store_update_params.rb @@ -5,8 +5,8 @@ module Models # @see OpenAI::Resources::VectorStores#update class VectorStoreUpdateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute expires_after # The expiration policy for a vector store. diff --git a/lib/openai/models/vector_stores/file_batch_cancel_params.rb b/lib/openai/models/vector_stores/file_batch_cancel_params.rb index b9d746ca..c87c2b85 100644 --- a/lib/openai/models/vector_stores/file_batch_cancel_params.rb +++ b/lib/openai/models/vector_stores/file_batch_cancel_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::FileBatches#cancel class FileBatchCancelParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute vector_store_id # diff --git a/lib/openai/models/vector_stores/file_batch_create_params.rb b/lib/openai/models/vector_stores/file_batch_create_params.rb index ce0dbcf7..19b69c38 100644 --- a/lib/openai/models/vector_stores/file_batch_create_params.rb +++ b/lib/openai/models/vector_stores/file_batch_create_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::FileBatches#create class FileBatchCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute file_ids # A list of [File](https://platform.openai.com/docs/api-reference/files) IDs that diff --git a/lib/openai/models/vector_stores/file_batch_list_files_params.rb b/lib/openai/models/vector_stores/file_batch_list_files_params.rb index a5e43403..d19506f4 100644 --- a/lib/openai/models/vector_stores/file_batch_list_files_params.rb +++ b/lib/openai/models/vector_stores/file_batch_list_files_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::FileBatches#list_files class FileBatchListFilesParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute vector_store_id # diff --git a/lib/openai/models/vector_stores/file_batch_retrieve_params.rb b/lib/openai/models/vector_stores/file_batch_retrieve_params.rb index 37c6f122..a05da932 100644 --- a/lib/openai/models/vector_stores/file_batch_retrieve_params.rb +++ b/lib/openai/models/vector_stores/file_batch_retrieve_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::FileBatches#retrieve class FileBatchRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute vector_store_id # diff --git a/lib/openai/models/vector_stores/file_content_params.rb b/lib/openai/models/vector_stores/file_content_params.rb index 52f123e2..9b6fefcc 100644 --- a/lib/openai/models/vector_stores/file_content_params.rb +++ b/lib/openai/models/vector_stores/file_content_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::Files#content class FileContentParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute vector_store_id # diff --git a/lib/openai/models/vector_stores/file_create_params.rb b/lib/openai/models/vector_stores/file_create_params.rb index 514d5c8b..429f1ebc 100644 --- a/lib/openai/models/vector_stores/file_create_params.rb +++ b/lib/openai/models/vector_stores/file_create_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::Files#create class FileCreateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute file_id # A [File](https://platform.openai.com/docs/api-reference/files) ID that the diff --git a/lib/openai/models/vector_stores/file_delete_params.rb b/lib/openai/models/vector_stores/file_delete_params.rb index 8ed88cd8..bf6c7241 100644 --- a/lib/openai/models/vector_stores/file_delete_params.rb +++ b/lib/openai/models/vector_stores/file_delete_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::Files#delete class FileDeleteParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute vector_store_id # diff --git a/lib/openai/models/vector_stores/file_list_params.rb b/lib/openai/models/vector_stores/file_list_params.rb index 34115039..01da7de3 100644 --- a/lib/openai/models/vector_stores/file_list_params.rb +++ b/lib/openai/models/vector_stores/file_list_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::Files#list class FileListParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute [r] after # A cursor for use in pagination. `after` is an object ID that defines your place diff --git a/lib/openai/models/vector_stores/file_retrieve_params.rb b/lib/openai/models/vector_stores/file_retrieve_params.rb index 65d9dcbe..75f2cc40 100644 --- a/lib/openai/models/vector_stores/file_retrieve_params.rb +++ b/lib/openai/models/vector_stores/file_retrieve_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::Files#retrieve class FileRetrieveParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute vector_store_id # diff --git a/lib/openai/models/vector_stores/file_update_params.rb b/lib/openai/models/vector_stores/file_update_params.rb index 8d952ea8..a14267b5 100644 --- a/lib/openai/models/vector_stores/file_update_params.rb +++ b/lib/openai/models/vector_stores/file_update_params.rb @@ -6,8 +6,8 @@ module VectorStores # @see OpenAI::Resources::VectorStores::Files#update class FileUpdateParams < OpenAI::BaseModel # @!parse - # extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + # extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # @!attribute vector_store_id # diff --git a/lib/openai/page.rb b/lib/openai/page.rb deleted file mode 100644 index 55f85755..00000000 --- a/lib/openai/page.rb +++ /dev/null @@ -1,86 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - # @example - # if page.has_next? - # page = page.next_page - # end - # - # @example - # page.auto_paging_each do |model| - # puts(model) - # end - # - # @example - # models = - # page - # .to_enum - # .lazy - # .select { _1.object_id.even? } - # .map(&:itself) - # .take(2) - # .to_a - # - # models => Array - class Page - include OpenAI::Type::BasePage - - # @return [Array, nil] - attr_accessor :data - - # @return [String] - attr_accessor :object - - # @api private - # - # @param client [OpenAI::Transport::BaseClient] - # @param req [Hash{Symbol=>Object}] - # @param headers [Hash{String=>String}, Net::HTTPHeader] - # @param page_data [Array] - def initialize(client:, req:, headers:, page_data:) - super - model = req.fetch(:model) - - case page_data - in {data: Array | nil => data} - @data = data&.map { OpenAI::Type::Converter.coerce(model, _1) } - else - end - - case page_data - in {object: String => object} - @object = object - else - end - end - - # @return [Boolean] - def next_page? - false - end - - # @raise [OpenAI::HTTP::Error] - # @return [OpenAI::Page] - def next_page - RuntimeError.new("No more pages available.") - end - - # @param blk [Proc] - def auto_paging_each(&blk) - unless block_given? - raise ArgumentError.new("A block must be given to ##{__method__}") - end - page = self - loop do - page.data&.each { blk.call(_1) } - break unless page.next_page? - page = page.next_page - end - end - - # @return [String] - def inspect - "#<#{self.class}:0x#{object_id.to_s(16)} data=#{data.inspect} object=#{object.inspect}>" - end - end -end diff --git a/lib/openai/resources/audio/transcriptions.rb b/lib/openai/resources/audio/transcriptions.rb index 2dc49631..677b18f1 100644 --- a/lib/openai/resources/audio/transcriptions.rb +++ b/lib/openai/resources/audio/transcriptions.rb @@ -51,7 +51,7 @@ def create(params) # @param timestamp_granularities [Array] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Stream] + # @return [OpenAI::Internal::Stream] # # @see OpenAI::Models::Audio::TranscriptionCreateParams def stream_raw(params) @@ -66,7 +66,7 @@ def stream_raw(params) path: "audio/transcriptions", headers: {"content-type" => "multipart/form-data", "accept" => "text/event-stream"}, body: parsed, - stream: OpenAI::Stream, + stream: OpenAI::Internal::Stream, model: OpenAI::Models::Audio::TranscriptionStreamEvent, options: options ) diff --git a/lib/openai/resources/batches.rb b/lib/openai/resources/batches.rb index 89f67bb1..fdd3806a 100644 --- a/lib/openai/resources/batches.rb +++ b/lib/openai/resources/batches.rb @@ -54,7 +54,7 @@ def retrieve(batch_id, params = {}) # @param limit [Integer] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::BatchListParams def list(params = {}) @@ -63,7 +63,7 @@ def list(params = {}) method: :get, path: "batches", query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::Batch, options: options ) diff --git a/lib/openai/resources/beta/assistants.rb b/lib/openai/resources/beta/assistants.rb index da45a68f..a7f952e7 100644 --- a/lib/openai/resources/beta/assistants.rb +++ b/lib/openai/resources/beta/assistants.rb @@ -96,7 +96,7 @@ def update(assistant_id, params = {}) # @param order [Symbol, OpenAI::Models::Beta::AssistantListParams::Order] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::Beta::AssistantListParams def list(params = {}) @@ -105,7 +105,7 @@ def list(params = {}) method: :get, path: "assistants", query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::Beta::Assistant, options: options ) diff --git a/lib/openai/resources/beta/threads.rb b/lib/openai/resources/beta/threads.rb index 82c8c329..f581f130 100644 --- a/lib/openai/resources/beta/threads.rb +++ b/lib/openai/resources/beta/threads.rb @@ -154,7 +154,7 @@ def create_and_run(params) # @param truncation_strategy [OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy, nil] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Stream] + # @return [OpenAI::Internal::Stream] # # @see OpenAI::Models::Beta::ThreadCreateAndRunParams def stream_raw(params) @@ -169,7 +169,7 @@ def stream_raw(params) path: "threads/runs", headers: {"accept" => "text/event-stream"}, body: parsed, - stream: OpenAI::Stream, + stream: OpenAI::Internal::Stream, model: OpenAI::Models::Beta::AssistantStreamEvent, options: options ) diff --git a/lib/openai/resources/beta/threads/messages.rb b/lib/openai/resources/beta/threads/messages.rb index c8900898..81de13fc 100644 --- a/lib/openai/resources/beta/threads/messages.rb +++ b/lib/openai/resources/beta/threads/messages.rb @@ -94,7 +94,7 @@ def update(message_id, params) # @param run_id [String] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::Beta::Threads::MessageListParams def list(thread_id, params = {}) @@ -103,7 +103,7 @@ def list(thread_id, params = {}) method: :get, path: ["threads/%1$s/messages", thread_id], query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::Beta::Threads::Message, options: options ) diff --git a/lib/openai/resources/beta/threads/runs.rb b/lib/openai/resources/beta/threads/runs.rb index aa7f72c0..aa61011c 100644 --- a/lib/openai/resources/beta/threads/runs.rb +++ b/lib/openai/resources/beta/threads/runs.rb @@ -76,7 +76,7 @@ def create(thread_id, params) # @param truncation_strategy [OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy, nil] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Stream] + # @return [OpenAI::Internal::Stream] # # @see OpenAI::Models::Beta::Threads::RunCreateParams def stream_raw(thread_id, params) @@ -93,7 +93,7 @@ def stream_raw(thread_id, params) query: parsed.slice(*query_params), headers: {"accept" => "text/event-stream"}, body: parsed.except(*query_params), - stream: OpenAI::Stream, + stream: OpenAI::Internal::Stream, model: OpenAI::Models::Beta::AssistantStreamEvent, options: options ) @@ -162,7 +162,7 @@ def update(run_id, params) # @param order [Symbol, OpenAI::Models::Beta::Threads::RunListParams::Order] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::Beta::Threads::RunListParams def list(thread_id, params = {}) @@ -171,7 +171,7 @@ def list(thread_id, params = {}) method: :get, path: ["threads/%1$s/runs", thread_id], query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::Beta::Threads::Run, options: options ) @@ -248,7 +248,7 @@ def submit_tool_outputs(run_id, params) # @param tool_outputs [Array] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Stream] + # @return [OpenAI::Internal::Stream] # # @see OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams def submit_tool_stream_raw(run_id, params) @@ -267,7 +267,7 @@ def submit_tool_stream_raw(run_id, params) path: ["threads/%1$s/runs/%2$s/submit_tool_outputs", thread_id, run_id], headers: {"accept" => "text/event-stream"}, body: parsed, - stream: OpenAI::Stream, + stream: OpenAI::Internal::Stream, model: OpenAI::Models::Beta::AssistantStreamEvent, options: options ) diff --git a/lib/openai/resources/beta/threads/runs/steps.rb b/lib/openai/resources/beta/threads/runs/steps.rb index e22cea6d..65972e48 100644 --- a/lib/openai/resources/beta/threads/runs/steps.rb +++ b/lib/openai/resources/beta/threads/runs/steps.rb @@ -51,7 +51,7 @@ def retrieve(step_id, params) # @param order [Symbol, OpenAI::Models::Beta::Threads::Runs::StepListParams::Order] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::Beta::Threads::Runs::StepListParams def list(run_id, params) @@ -64,7 +64,7 @@ def list(run_id, params) method: :get, path: ["threads/%1$s/runs/%2$s/steps", thread_id, run_id], query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::Beta::Threads::Runs::RunStep, options: options ) diff --git a/lib/openai/resources/chat/completions.rb b/lib/openai/resources/chat/completions.rb index c000fad2..52736d64 100644 --- a/lib/openai/resources/chat/completions.rb +++ b/lib/openai/resources/chat/completions.rb @@ -129,7 +129,7 @@ def create(params) # @param web_search_options [OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Stream] + # @return [OpenAI::Internal::Stream] # # @see OpenAI::Models::Chat::CompletionCreateParams def stream_raw(params) @@ -144,7 +144,7 @@ def stream_raw(params) path: "chat/completions", headers: {"accept" => "text/event-stream"}, body: parsed, - stream: OpenAI::Stream, + stream: OpenAI::Internal::Stream, model: OpenAI::Models::Chat::ChatCompletionChunk, options: options ) @@ -206,7 +206,7 @@ def update(completion_id, params) # @param order [Symbol, OpenAI::Models::Chat::CompletionListParams::Order] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::Chat::CompletionListParams def list(params = {}) @@ -215,7 +215,7 @@ def list(params = {}) method: :get, path: "chat/completions", query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::Chat::ChatCompletion, options: options ) diff --git a/lib/openai/resources/chat/completions/messages.rb b/lib/openai/resources/chat/completions/messages.rb index 56dd9e36..489df23b 100644 --- a/lib/openai/resources/chat/completions/messages.rb +++ b/lib/openai/resources/chat/completions/messages.rb @@ -16,7 +16,7 @@ class Messages # @param order [Symbol, OpenAI::Models::Chat::Completions::MessageListParams::Order] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::Chat::Completions::MessageListParams def list(completion_id, params = {}) @@ -25,7 +25,7 @@ def list(completion_id, params = {}) method: :get, path: ["chat/completions/%1$s/messages", completion_id], query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::Chat::ChatCompletionStoreMessage, options: options ) diff --git a/lib/openai/resources/completions.rb b/lib/openai/resources/completions.rb index 62a26a53..861ab13a 100644 --- a/lib/openai/resources/completions.rb +++ b/lib/openai/resources/completions.rb @@ -67,7 +67,7 @@ def create(params) # @param user [String] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Stream] + # @return [OpenAI::Internal::Stream] # # @see OpenAI::Models::CompletionCreateParams def stream_raw(params) @@ -82,7 +82,7 @@ def stream_raw(params) path: "completions", headers: {"accept" => "text/event-stream"}, body: parsed, - stream: OpenAI::Stream, + stream: OpenAI::Internal::Stream, model: OpenAI::Models::Completion, options: options ) diff --git a/lib/openai/resources/files.rb b/lib/openai/resources/files.rb index 2d8cf4e3..2c1b995e 100644 --- a/lib/openai/resources/files.rb +++ b/lib/openai/resources/files.rb @@ -75,7 +75,7 @@ def retrieve(file_id, params = {}) # @param purpose [String] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::FileListParams def list(params = {}) @@ -84,7 +84,7 @@ def list(params = {}) method: :get, path: "files", query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::FileObject, options: options ) diff --git a/lib/openai/resources/fine_tuning/jobs.rb b/lib/openai/resources/fine_tuning/jobs.rb index 391f59b9..8e28f8c7 100644 --- a/lib/openai/resources/fine_tuning/jobs.rb +++ b/lib/openai/resources/fine_tuning/jobs.rb @@ -72,7 +72,7 @@ def retrieve(fine_tuning_job_id, params = {}) # @param metadata [Hash{Symbol=>String}, nil] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::FineTuning::JobListParams def list(params = {}) @@ -81,7 +81,7 @@ def list(params = {}) method: :get, path: "fine_tuning/jobs", query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::FineTuning::FineTuningJob, options: options ) @@ -115,7 +115,7 @@ def cancel(fine_tuning_job_id, params = {}) # @param limit [Integer] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::FineTuning::JobListEventsParams def list_events(fine_tuning_job_id, params = {}) @@ -124,7 +124,7 @@ def list_events(fine_tuning_job_id, params = {}) method: :get, path: ["fine_tuning/jobs/%1$s/events", fine_tuning_job_id], query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::FineTuning::FineTuningJobEvent, options: options ) diff --git a/lib/openai/resources/fine_tuning/jobs/checkpoints.rb b/lib/openai/resources/fine_tuning/jobs/checkpoints.rb index 0aa37907..b8195545 100644 --- a/lib/openai/resources/fine_tuning/jobs/checkpoints.rb +++ b/lib/openai/resources/fine_tuning/jobs/checkpoints.rb @@ -14,7 +14,7 @@ class Checkpoints # @param limit [Integer] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::FineTuning::Jobs::CheckpointListParams def list(fine_tuning_job_id, params = {}) @@ -23,7 +23,7 @@ def list(fine_tuning_job_id, params = {}) method: :get, path: ["fine_tuning/jobs/%1$s/checkpoints", fine_tuning_job_id], query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::FineTuning::Jobs::FineTuningJobCheckpoint, options: options ) diff --git a/lib/openai/resources/models.rb b/lib/openai/resources/models.rb index c00abfbc..3ab368d3 100644 --- a/lib/openai/resources/models.rb +++ b/lib/openai/resources/models.rb @@ -30,14 +30,14 @@ def retrieve(model, params = {}) # # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Page] + # @return [OpenAI::Internal::Page] # # @see OpenAI::Models::ModelListParams def list(params = {}) @client.request( method: :get, path: "models", - page: OpenAI::Page, + page: OpenAI::Internal::Page, model: OpenAI::Models::Model, options: params[:request_options] ) diff --git a/lib/openai/resources/responses.rb b/lib/openai/resources/responses.rb index 46de5e29..3eee10b4 100644 --- a/lib/openai/resources/responses.rb +++ b/lib/openai/resources/responses.rb @@ -90,7 +90,7 @@ def create(params) # @param user [String] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Stream] + # @return [OpenAI::Internal::Stream] # # @see OpenAI::Models::Responses::ResponseCreateParams def stream_raw(params) @@ -105,7 +105,7 @@ def stream_raw(params) path: "responses", headers: {"accept" => "text/event-stream"}, body: parsed, - stream: OpenAI::Stream, + stream: OpenAI::Internal::Stream, model: OpenAI::Models::Responses::ResponseStreamEvent, options: options ) diff --git a/lib/openai/resources/responses/input_items.rb b/lib/openai/resources/responses/input_items.rb index 42b9fb43..5e875778 100644 --- a/lib/openai/resources/responses/input_items.rb +++ b/lib/openai/resources/responses/input_items.rb @@ -16,7 +16,7 @@ class InputItems # @param order [Symbol, OpenAI::Models::Responses::InputItemListParams::Order] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::Responses::InputItemListParams def list(response_id, params = {}) @@ -25,7 +25,7 @@ def list(response_id, params = {}) method: :get, path: ["responses/%1$s/input_items", response_id], query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::Responses::ResponseItem, options: options ) diff --git a/lib/openai/resources/vector_stores.rb b/lib/openai/resources/vector_stores.rb index beb5fa09..1fc69777 100644 --- a/lib/openai/resources/vector_stores.rb +++ b/lib/openai/resources/vector_stores.rb @@ -87,7 +87,7 @@ def update(vector_store_id, params = {}) # @param order [Symbol, OpenAI::Models::VectorStoreListParams::Order] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::VectorStoreListParams def list(params = {}) @@ -96,7 +96,7 @@ def list(params = {}) method: :get, path: "vector_stores", query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::VectorStore, options: options ) @@ -134,7 +134,7 @@ def delete(vector_store_id, params = {}) # @param rewrite_query [Boolean] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Page] + # @return [OpenAI::Internal::Page] # # @see OpenAI::Models::VectorStoreSearchParams def search(vector_store_id, params) @@ -143,7 +143,7 @@ def search(vector_store_id, params) method: :post, path: ["vector_stores/%1$s/search", vector_store_id], body: parsed, - page: OpenAI::Page, + page: OpenAI::Internal::Page, model: OpenAI::Models::VectorStoreSearchResponse, options: options ) diff --git a/lib/openai/resources/vector_stores/file_batches.rb b/lib/openai/resources/vector_stores/file_batches.rb index 67f78837..5772d514 100644 --- a/lib/openai/resources/vector_stores/file_batches.rb +++ b/lib/openai/resources/vector_stores/file_batches.rb @@ -92,7 +92,7 @@ def cancel(batch_id, params) # @param order [Symbol, OpenAI::Models::VectorStores::FileBatchListFilesParams::Order] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::VectorStores::FileBatchListFilesParams def list_files(batch_id, params) @@ -105,7 +105,7 @@ def list_files(batch_id, params) method: :get, path: ["vector_stores/%1$s/file_batches/%2$s/files", vector_store_id, batch_id], query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::VectorStores::VectorStoreFile, options: options ) diff --git a/lib/openai/resources/vector_stores/files.rb b/lib/openai/resources/vector_stores/files.rb index b296ddcd..0c044e34 100644 --- a/lib/openai/resources/vector_stores/files.rb +++ b/lib/openai/resources/vector_stores/files.rb @@ -94,7 +94,7 @@ def update(file_id, params) # @param order [Symbol, OpenAI::Models::VectorStores::FileListParams::Order] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::CursorPage] + # @return [OpenAI::Internal::CursorPage] # # @see OpenAI::Models::VectorStores::FileListParams def list(vector_store_id, params = {}) @@ -103,7 +103,7 @@ def list(vector_store_id, params = {}) method: :get, path: ["vector_stores/%1$s/files", vector_store_id], query: parsed, - page: OpenAI::CursorPage, + page: OpenAI::Internal::CursorPage, model: OpenAI::Models::VectorStores::VectorStoreFile, options: options ) @@ -145,7 +145,7 @@ def delete(file_id, params) # @param vector_store_id [String] # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] # - # @return [OpenAI::Page] + # @return [OpenAI::Internal::Page] # # @see OpenAI::Models::VectorStores::FileContentParams def content(file_id, params) @@ -157,7 +157,7 @@ def content(file_id, params) @client.request( method: :get, path: ["vector_stores/%1$s/files/%2$s/content", vector_store_id, file_id], - page: OpenAI::Page, + page: OpenAI::Internal::Page, model: OpenAI::Models::VectorStores::FileContentResponse, options: options ) diff --git a/lib/openai/stream.rb b/lib/openai/stream.rb deleted file mode 100644 index 9c6f4244..00000000 --- a/lib/openai/stream.rb +++ /dev/null @@ -1,67 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - # @example - # stream.each do |event| - # puts(event) - # end - # - # @example - # events = - # stream - # .lazy - # .select { _1.object_id.even? } - # .map(&:itself) - # .take(2) - # .to_a - # - # events => Array - class Stream - include OpenAI::Type::BaseStream - - # @api private - # - # @return [Enumerable] - private def iterator - # rubocop:disable Metrics/BlockLength - @iterator ||= OpenAI::Util.chain_fused(@stream) do |y| - consume = false - - @stream.each do |msg| - next if consume - - case msg - in { data: String => data } if data.start_with?("[DONE]") - consume = true - next - in { data: String => data } - case JSON.parse(data, symbolize_names: true) - in { error: error } - message = - case error - in String - error - in { message: String => m } - m - else - "An error occurred during streaming" - end - OpenAI::Errors::APIError.for( - url: @url, - status: @status, - body: body, - request: nil, - response: @response, - message: message - ) - in decoded - y << OpenAI::Type::Converter.coerce(@model, decoded) - end - else - end - end - end - # rubocop:enable Metrics/BlockLength - end - end -end diff --git a/lib/openai/transport/base_client.rb b/lib/openai/transport/base_client.rb deleted file mode 100644 index 3679bf42..00000000 --- a/lib/openai/transport/base_client.rb +++ /dev/null @@ -1,459 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Transport - # @api private - # - # @abstract - class BaseClient - # from whatwg fetch spec - MAX_REDIRECTS = 20 - - # rubocop:disable Style/MutableConstant - PLATFORM_HEADERS = - { - "x-stainless-arch" => OpenAI::Util.arch, - "x-stainless-lang" => "ruby", - "x-stainless-os" => OpenAI::Util.os, - "x-stainless-package-version" => OpenAI::VERSION, - "x-stainless-runtime" => ::RUBY_ENGINE, - "x-stainless-runtime-version" => ::RUBY_ENGINE_VERSION - } - # rubocop:enable Style/MutableConstant - - class << self - # @api private - # - # @param req [Hash{Symbol=>Object}] - # - # @raise [ArgumentError] - def validate!(req) - keys = [:method, :path, :query, :headers, :body, :unwrap, :page, :stream, :model, :options] - case req - in Hash - req.each_key do |k| - unless keys.include?(k) - raise ArgumentError.new("Request `req` keys must be one of #{keys}, got #{k.inspect}") - end - end - else - raise ArgumentError.new("Request `req` must be a Hash or RequestOptions, got #{req.inspect}") - end - end - - # @api private - # - # @param status [Integer] - # @param headers [Hash{String=>String}, Net::HTTPHeader] - # - # @return [Boolean] - def should_retry?(status, headers:) - coerced = OpenAI::Util.coerce_boolean(headers["x-should-retry"]) - case [coerced, status] - in [true | false, _] - coerced - in [_, 408 | 409 | 429 | (500..)] - # retry on: - # 408: timeouts - # 409: locks - # 429: rate limits - # 500+: unknown errors - true - else - false - end - end - - # @api private - # - # @param request [Hash{Symbol=>Object}] . - # - # @option request [Symbol] :method - # - # @option request [URI::Generic] :url - # - # @option request [Hash{String=>String}] :headers - # - # @option request [Object] :body - # - # @option request [Integer] :max_retries - # - # @option request [Float] :timeout - # - # @param status [Integer] - # - # @param response_headers [Hash{String=>String}, Net::HTTPHeader] - # - # @return [Hash{Symbol=>Object}] - def follow_redirect(request, status:, response_headers:) - method, url, headers = request.fetch_values(:method, :url, :headers) - location = - Kernel.then do - URI.join(url, response_headers["location"]) - rescue ArgumentError - message = "Server responded with status #{status} but no valid location header." - raise OpenAI::Errors::APIConnectionError.new(url: url, message: message) - end - - request = {**request, url: location} - - case [url.scheme, location.scheme] - in ["https", "http"] - message = "Tried to redirect to a insecure URL" - raise OpenAI::Errors::APIConnectionError.new(url: url, message: message) - else - nil - end - - # from whatwg fetch spec - case [status, method] - in [301 | 302, :post] | [303, _] - drop = %w[content-encoding content-language content-length content-location content-type] - request = { - **request, - method: method == :head ? :head : :get, - headers: headers.except(*drop), - body: nil - } - else - end - - # from undici - if OpenAI::Util.uri_origin(url) != OpenAI::Util.uri_origin(location) - drop = %w[authorization cookie host proxy-authorization] - request = {**request, headers: request.fetch(:headers).except(*drop)} - end - - request - end - - # @api private - # - # @param status [Integer, OpenAI::Errors::APIConnectionError] - # @param stream [Enumerable, nil] - def reap_connection!(status, stream:) - case status - in (..199) | (300..499) - stream&.each { next } - in OpenAI::Errors::APIConnectionError | (500..) - OpenAI::Util.close_fused!(stream) - else - end - end - end - - # @api private - # @return [OpenAI::Transport::PooledNetRequester] - attr_accessor :requester - - # @api private - # - # @param base_url [String] - # @param timeout [Float] - # @param max_retries [Integer] - # @param initial_retry_delay [Float] - # @param max_retry_delay [Float] - # @param headers [Hash{String=>String, Integer, Array, nil}] - # @param idempotency_header [String, nil] - def initialize( - base_url:, - timeout: 0.0, - max_retries: 0, - initial_retry_delay: 0.0, - max_retry_delay: 0.0, - headers: {}, - idempotency_header: nil - ) - @requester = OpenAI::Transport::PooledNetRequester.new - @headers = OpenAI::Util.normalized_headers( - self.class::PLATFORM_HEADERS, - { - "accept" => "application/json", - "content-type" => "application/json" - }, - headers - ) - @base_url = OpenAI::Util.parse_uri(base_url) - @idempotency_header = idempotency_header&.to_s&.downcase - @max_retries = max_retries - @timeout = timeout - @initial_retry_delay = initial_retry_delay - @max_retry_delay = max_retry_delay - end - - # @api private - # - # @return [Hash{String=>String}] - private def auth_headers = {} - - # @api private - # - # @return [String] - private def generate_idempotency_key = "stainless-ruby-retry-#{SecureRandom.uuid}" - - # @api private - # - # @param req [Hash{Symbol=>Object}] . - # - # @option req [Symbol] :method - # - # @option req [String, Array] :path - # - # @option req [Hash{String=>Array, String, nil}, nil] :query - # - # @option req [Hash{String=>String, Integer, Array, nil}, nil] :headers - # - # @option req [Object, nil] :body - # - # @option req [Symbol, nil] :unwrap - # - # @option req [Class, nil] :page - # - # @option req [Class, nil] :stream - # - # @option req [OpenAI::Type::Converter, Class, nil] :model - # - # @param opts [Hash{Symbol=>Object}] . - # - # @option opts [String, nil] :idempotency_key - # - # @option opts [Hash{String=>Array, String, nil}, nil] :extra_query - # - # @option opts [Hash{String=>String, nil}, nil] :extra_headers - # - # @option opts [Object, nil] :extra_body - # - # @option opts [Integer, nil] :max_retries - # - # @option opts [Float, nil] :timeout - # - # @return [Hash{Symbol=>Object}] - private def build_request(req, opts) - method, uninterpolated_path = req.fetch_values(:method, :path) - - path = OpenAI::Util.interpolate_path(uninterpolated_path) - - query = OpenAI::Util.deep_merge(req[:query].to_h, opts[:extra_query].to_h) - - headers = OpenAI::Util.normalized_headers( - @headers, - auth_headers, - req[:headers].to_h, - opts[:extra_headers].to_h - ) - - if @idempotency_header && - !headers.key?(@idempotency_header) && - !Net::HTTP::IDEMPOTENT_METHODS_.include?(method.to_s.upcase) - headers[@idempotency_header] = opts.fetch(:idempotency_key) { generate_idempotency_key } - end - - unless headers.key?("x-stainless-retry-count") - headers["x-stainless-retry-count"] = "0" - end - - timeout = opts.fetch(:timeout, @timeout).to_f.clamp((0..)) - unless headers.key?("x-stainless-timeout") || timeout.zero? - headers["x-stainless-timeout"] = timeout.to_s - end - - headers.reject! { |_, v| v.to_s.empty? } - - body = - case method - in :get | :head | :options | :trace - nil - else - OpenAI::Util.deep_merge(*[req[:body], opts[:extra_body]].compact) - end - - headers, encoded = OpenAI::Util.encode_content(headers, body) - { - method: method, - url: OpenAI::Util.join_parsed_uri(@base_url, {**req, path: path, query: query}), - headers: headers, - body: encoded, - max_retries: opts.fetch(:max_retries, @max_retries), - timeout: timeout - } - end - - # @api private - # - # @param headers [Hash{String=>String}] - # @param retry_count [Integer] - # - # @return [Float] - private def retry_delay(headers, retry_count:) - # Non-standard extension - span = Float(headers["retry-after-ms"], exception: false)&.then { _1 / 1000 } - return span if span - - retry_header = headers["retry-after"] - return span if (span = Float(retry_header, exception: false)) - - span = retry_header&.then do - Time.httpdate(_1) - Time.now - rescue ArgumentError - nil - end - return span if span - - scale = retry_count**2 - jitter = 1 - (0.25 * rand) - (@initial_retry_delay * scale * jitter).clamp(0, @max_retry_delay) - end - - # @api private - # - # @param request [Hash{Symbol=>Object}] . - # - # @option request [Symbol] :method - # - # @option request [URI::Generic] :url - # - # @option request [Hash{String=>String}] :headers - # - # @option request [Object] :body - # - # @option request [Integer] :max_retries - # - # @option request [Float] :timeout - # - # @param redirect_count [Integer] - # - # @param retry_count [Integer] - # - # @param send_retry_header [Boolean] - # - # @raise [OpenAI::Errors::APIError] - # @return [Array(Integer, Net::HTTPResponse, Enumerable)] - private def send_request(request, redirect_count:, retry_count:, send_retry_header:) - url, headers, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout) - input = {**request.except(:timeout), deadline: OpenAI::Util.monotonic_secs + timeout} - - if send_retry_header - headers["x-stainless-retry-count"] = retry_count.to_s - end - - begin - status, response, stream = @requester.execute(input) - rescue OpenAI::APIConnectionError => e - status = e - end - - case status - in ..299 - [status, response, stream] - in 300..399 if redirect_count >= self.class::MAX_REDIRECTS - self.class.reap_connection!(status, stream: stream) - - message = "Failed to complete the request within #{self.class::MAX_REDIRECTS} redirects." - raise OpenAI::Errors::APIConnectionError.new(url: url, message: message) - in 300..399 - self.class.reap_connection!(status, stream: stream) - - request = self.class.follow_redirect(request, status: status, response_headers: response) - send_request( - request, - redirect_count: redirect_count + 1, - retry_count: retry_count, - send_retry_header: send_retry_header - ) - in OpenAI::APIConnectionError if retry_count >= max_retries - raise status - in (400..) if retry_count >= max_retries || !self.class.should_retry?(status, headers: response) - decoded = Kernel.then do - OpenAI::Util.decode_content(response, stream: stream, suppress_error: true) - ensure - self.class.reap_connection!(status, stream: stream) - end - - raise OpenAI::Errors::APIStatusError.for( - url: url, - status: status, - body: decoded, - request: nil, - response: response - ) - in (400..) | OpenAI::Errors::APIConnectionError - self.class.reap_connection!(status, stream: stream) - - delay = retry_delay(response, retry_count: retry_count) - sleep(delay) - - send_request( - request, - redirect_count: redirect_count, - retry_count: retry_count + 1, - send_retry_header: send_retry_header - ) - end - end - - # Execute the request specified by `req`. This is the method that all resource - # methods call into. - # - # @param req [Hash{Symbol=>Object}] . - # - # @option req [Symbol] :method - # - # @option req [String, Array] :path - # - # @option req [Hash{String=>Array, String, nil}, nil] :query - # - # @option req [Hash{String=>String, Integer, Array, nil}, nil] :headers - # - # @option req [Object, nil] :body - # - # @option req [Symbol, nil] :unwrap - # - # @option req [Class, nil] :page - # - # @option req [Class, nil] :stream - # - # @option req [OpenAI::Type::Converter, Class, nil] :model - # - # @option req [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil] :options - # - # @raise [OpenAI::Errors::APIError] - # @return [Object] - def request(req) - self.class.validate!(req) - model = req.fetch(:model) { OpenAI::Unknown } - opts = req[:options].to_h - OpenAI::RequestOptions.validate!(opts) - request = build_request(req.except(:options), opts) - url = request.fetch(:url) - - # Don't send the current retry count in the headers if the caller modified the header defaults. - send_retry_header = request.fetch(:headers)["x-stainless-retry-count"] == "0" - status, response, stream = send_request( - request, - redirect_count: 0, - retry_count: 0, - send_retry_header: send_retry_header - ) - - decoded = OpenAI::Util.decode_content(response, stream: stream) - case req - in { stream: Class => st } - st.new(model: model, url: url, status: status, response: response, stream: decoded) - in { page: Class => page } - page.new(client: self, req: req, headers: response, page_data: decoded) - else - unwrapped = OpenAI::Util.dig(decoded, req[:unwrap]) - OpenAI::Type::Converter.coerce(model, unwrapped) - end - end - - # @return [String] - def inspect - # rubocop:disable Layout/LineLength - base_url = OpenAI::Util.unparse_uri(@base_url) - "#<#{self.class.name}:0x#{object_id.to_s(16)} base_url=#{base_url} max_retries=#{@max_retries} timeout=#{@timeout}>" - # rubocop:enable Layout/LineLength - end - end - end -end diff --git a/lib/openai/transport/pooled_net_requester.rb b/lib/openai/transport/pooled_net_requester.rb deleted file mode 100644 index b3259684..00000000 --- a/lib/openai/transport/pooled_net_requester.rb +++ /dev/null @@ -1,182 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Transport - # @api private - class PooledNetRequester - # from the golang stdlib - # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49 - KEEP_ALIVE_TIMEOUT = 30 - - class << self - # @api private - # - # @param url [URI::Generic] - # - # @return [Net::HTTP] - def connect(url) - port = - case [url.port, url.scheme] - in [Integer, _] - url.port - in [nil, "http" | "ws"] - Net::HTTP.http_default_port - in [nil, "https" | "wss"] - Net::HTTP.https_default_port - end - - Net::HTTP.new(url.host, port).tap do - _1.use_ssl = %w[https wss].include?(url.scheme) - _1.max_retries = 0 - end - end - - # @api private - # - # @param conn [Net::HTTP] - # @param deadline [Float] - def calibrate_socket_timeout(conn, deadline) - timeout = deadline - OpenAI::Util.monotonic_secs - conn.open_timeout = conn.read_timeout = conn.write_timeout = conn.continue_timeout = timeout - end - - # @api private - # - # @param request [Hash{Symbol=>Object}] . - # - # @option request [Symbol] :method - # - # @option request [URI::Generic] :url - # - # @option request [Hash{String=>String}] :headers - # - # @param blk [Proc] - # - # @yieldparam [String] - # @return [Net::HTTPGenericRequest] - def build_request(request, &blk) - method, url, headers, body = request.fetch_values(:method, :url, :headers, :body) - req = Net::HTTPGenericRequest.new( - method.to_s.upcase, - !body.nil?, - method != :head, - url.to_s - ) - - headers.each { req[_1] = _2 } - - case body - in nil - nil - in String - req["content-length"] ||= body.bytesize.to_s unless req["transfer-encoding"] - req.body_stream = OpenAI::Util::ReadIOAdapter.new(body, &blk) - in StringIO - req["content-length"] ||= body.size.to_s unless req["transfer-encoding"] - req.body_stream = OpenAI::Util::ReadIOAdapter.new(body, &blk) - in IO | Enumerator - req["transfer-encoding"] ||= "chunked" unless req["content-length"] - req.body_stream = OpenAI::Util::ReadIOAdapter.new(body, &blk) - end - - req - end - end - - # @api private - # - # @param url [URI::Generic] - # @param deadline [Float] - # @param blk [Proc] - # - # @raise [Timeout::Error] - # @yieldparam [Net::HTTP] - private def with_pool(url, deadline:, &blk) - origin = OpenAI::Util.uri_origin(url) - timeout = deadline - OpenAI::Util.monotonic_secs - pool = - @mutex.synchronize do - @pools[origin] ||= ConnectionPool.new(size: @size) do - self.class.connect(url) - end - end - - pool.with(timeout: timeout, &blk) - end - - # @api private - # - # @param request [Hash{Symbol=>Object}] . - # - # @option request [Symbol] :method - # - # @option request [URI::Generic] :url - # - # @option request [Hash{String=>String}] :headers - # - # @option request [Object] :body - # - # @option request [Float] :deadline - # - # @return [Array(Integer, Net::HTTPResponse, Enumerable)] - def execute(request) - url, deadline = request.fetch_values(:url, :deadline) - - eof = false - finished = false - enum = Enumerator.new do |y| - with_pool(url, deadline: deadline) do |conn| - next if finished - - req = self.class.build_request(request) do - self.class.calibrate_socket_timeout(conn, deadline) - end - - self.class.calibrate_socket_timeout(conn, deadline) - unless conn.started? - conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT - conn.start - end - - self.class.calibrate_socket_timeout(conn, deadline) - conn.request(req) do |rsp| - y << [conn, req, rsp] - break if finished - - rsp.read_body do |bytes| - y << bytes - break if finished - - self.class.calibrate_socket_timeout(conn, deadline) - end - eof = true - end - end - rescue Timeout::Error - raise OpenAI::Errors::APITimeoutError - end - - conn, _, response = enum.next - body = OpenAI::Util.fused_enum(enum, external: true) do - finished = true - tap do - enum.next - rescue StopIteration - nil - end - conn.finish if !eof && conn&.started? - end - [Integer(response.code), response, (response.body = body)] - end - - # @api private - # - # @param size [Integer] - def initialize(size: Etc.nprocessors) - @mutex = Mutex.new - @size = size - @pools = {} - end - end - end -end diff --git a/lib/openai/type.rb b/lib/openai/type.rb deleted file mode 100644 index f4b8345c..00000000 --- a/lib/openai/type.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - Unknown = OpenAI::Type::Unknown - - BooleanModel = OpenAI::Type::BooleanModel - - Enum = OpenAI::Type::Enum - - Union = OpenAI::Type::Union - - ArrayOf = OpenAI::Type::ArrayOf - - HashOf = OpenAI::Type::HashOf - - BaseModel = OpenAI::Type::BaseModel - - RequestParameters = OpenAI::Type::RequestParameters - - # This module contains various type declarations. - module Type - end -end diff --git a/lib/openai/type/array_of.rb b/lib/openai/type/array_of.rb deleted file mode 100644 index 35bb520d..00000000 --- a/lib/openai/type/array_of.rb +++ /dev/null @@ -1,112 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @api private - # - # @abstract - # - # Array of items of a given type. - class ArrayOf - include OpenAI::Type::Converter - - # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] - # - # @param spec [Hash{Symbol=>Object}] . - # - # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const - # - # @option spec [Proc] :enum - # - # @option spec [Proc] :union - # - # @option spec [Boolean] :"nil?" - def self.[](type_info, spec = {}) = new(type_info, spec) - - # @param other [Object] - # - # @return [Boolean] - def ===(other) = other.is_a?(Array) && other.all?(item_type) - - # @param other [Object] - # - # @return [Boolean] - def ==(other) - other.is_a?(OpenAI::ArrayOf) && other.nilable? == nilable? && other.item_type == item_type - end - - # @api private - # - # @param value [Enumerable, Object] - # - # @param state [Hash{Symbol=>Object}] . - # - # @option state [Boolean, :strong] :strictness - # - # @option state [Hash{Symbol=>Object}] :exactness - # - # @option state [Integer] :branched - # - # @return [Array, Object] - def coerce(value, state:) - exactness = state.fetch(:exactness) - - unless value.is_a?(Array) - exactness[:no] += 1 - return value - end - - target = item_type - exactness[:yes] += 1 - value - .map do |item| - case [nilable?, item] - in [true, nil] - exactness[:yes] += 1 - nil - else - OpenAI::Type::Converter.coerce(target, item, state: state) - end - end - end - - # @api private - # - # @param value [Enumerable, Object] - # - # @return [Array, Object] - def dump(value) - target = item_type - value.is_a?(Array) ? value.map { OpenAI::Type::Converter.dump(target, _1) } : super - end - - # @api private - # - # @return [OpenAI::Type::Converter, Class] - protected def item_type = @item_type_fn.call - - # @api private - # - # @return [Boolean] - protected def nilable? = @nilable - - # @api private - # - # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] - # - # @param spec [Hash{Symbol=>Object}] . - # - # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const - # - # @option spec [Proc] :enum - # - # @option spec [Proc] :union - # - # @option spec [Boolean] :"nil?" - def initialize(type_info, spec = {}) - @item_type_fn = OpenAI::Type::Converter.type_info(type_info || spec) - @nilable = spec[:nil?] - end - end - end -end diff --git a/lib/openai/type/base_model.rb b/lib/openai/type/base_model.rb deleted file mode 100644 index 4162bd9a..00000000 --- a/lib/openai/type/base_model.rb +++ /dev/null @@ -1,367 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @abstract - # - # @example - # # `comparison_filter` is a `OpenAI::Models::ComparisonFilter` - # comparison_filter => { - # key: key, - # type: type, - # value: value - # } - class BaseModel - extend OpenAI::Type::Converter - - class << self - # @api private - # - # Assumes superclass fields are totally defined before fields are accessed / - # defined on subclasses. - # - # @return [Hash{Symbol=>Hash{Symbol=>Object}}] - def known_fields - @known_fields ||= (self < OpenAI::BaseModel ? superclass.known_fields.dup : {}) - end - - # @api private - # - # @return [Hash{Symbol=>Hash{Symbol=>Object}}] - def fields - known_fields.transform_values do |field| - {**field.except(:type_fn), type: field.fetch(:type_fn).call} - end - end - - # @api private - # - # @param name_sym [Symbol] - # - # @param required [Boolean] - # - # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] - # - # @param spec [Hash{Symbol=>Object}] . - # - # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const - # - # @option spec [Proc] :enum - # - # @option spec [Proc] :union - # - # @option spec [Boolean] :"nil?" - private def add_field(name_sym, required:, type_info:, spec:) - type_fn, info = - case type_info - in Proc | OpenAI::Type::Converter | Class - [OpenAI::Type::Converter.type_info({**spec, union: type_info}), spec] - in Hash - [OpenAI::Type::Converter.type_info(type_info), type_info] - end - - setter = "#{name_sym}=" - api_name = info.fetch(:api_name, name_sym) - nilable = info[:nil?] - const = required && !nilable ? info.fetch(:const, OpenAI::Util::OMIT) : OpenAI::Util::OMIT - - [name_sym, setter].each { undef_method(_1) } if known_fields.key?(name_sym) - - known_fields[name_sym] = - { - mode: @mode, - api_name: api_name, - required: required, - nilable: nilable, - const: const, - type_fn: type_fn - } - - define_method(setter) { @data.store(name_sym, _1) } - - define_method(name_sym) do - target = type_fn.call - value = @data.fetch(name_sym) { const == OpenAI::Util::OMIT ? nil : const } - state = {strictness: :strong, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} - if (nilable || !required) && value.nil? - nil - else - OpenAI::Type::Converter.coerce( - target, - value, - state: state - ) - end - rescue StandardError - cls = self.class.name.split("::").last - # rubocop:disable Layout/LineLength - message = "Failed to parse #{cls}.#{__method__} from #{value.class} to #{target.inspect}. To get the unparsed API response, use #{cls}[:#{__method__}]." - # rubocop:enable Layout/LineLength - raise OpenAI::ConversionError.new(message) - end - end - - # @api private - # - # @param name_sym [Symbol] - # - # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] - # - # @param spec [Hash{Symbol=>Object}] . - # - # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const - # - # @option spec [Proc] :enum - # - # @option spec [Proc] :union - # - # @option spec [Boolean] :"nil?" - def required(name_sym, type_info, spec = {}) - add_field(name_sym, required: true, type_info: type_info, spec: spec) - end - - # @api private - # - # @param name_sym [Symbol] - # - # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] - # - # @param spec [Hash{Symbol=>Object}] . - # - # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const - # - # @option spec [Proc] :enum - # - # @option spec [Proc] :union - # - # @option spec [Boolean] :"nil?" - def optional(name_sym, type_info, spec = {}) - add_field(name_sym, required: false, type_info: type_info, spec: spec) - end - - # @api private - # - # `request_only` attributes not excluded from `.#coerce` when receiving responses - # even if well behaved servers should not send them - # - # @param blk [Proc] - private def request_only(&blk) - @mode = :dump - blk.call - ensure - @mode = nil - end - - # @api private - # - # `response_only` attributes are omitted from `.#dump` when making requests - # - # @param blk [Proc] - private def response_only(&blk) - @mode = :coerce - blk.call - ensure - @mode = nil - end - - # @param other [Object] - # - # @return [Boolean] - def ==(other) = other.is_a?(Class) && other <= OpenAI::BaseModel && other.fields == fields - end - - # @param other [Object] - # - # @return [Boolean] - def ==(other) = self.class == other.class && @data == other.to_h - - class << self - # @api private - # - # @param value [OpenAI::BaseModel, Hash{Object=>Object}, Object] - # - # @param state [Hash{Symbol=>Object}] . - # - # @option state [Boolean, :strong] :strictness - # - # @option state [Hash{Symbol=>Object}] :exactness - # - # @option state [Integer] :branched - # - # @return [OpenAI::BaseModel, Object] - def coerce(value, state:) - exactness = state.fetch(:exactness) - - if value.is_a?(self.class) - exactness[:yes] += 1 - return value - end - - unless (val = OpenAI::Util.coerce_hash(value)).is_a?(Hash) - exactness[:no] += 1 - return value - end - exactness[:yes] += 1 - - keys = val.keys.to_set - instance = new - data = instance.to_h - - # rubocop:disable Metrics/BlockLength - fields.each do |name, field| - mode, required, target = field.fetch_values(:mode, :required, :type) - api_name, nilable, const = field.fetch_values(:api_name, :nilable, :const) - - unless val.key?(api_name) - if required && mode != :dump && const == OpenAI::Util::OMIT - exactness[nilable ? :maybe : :no] += 1 - else - exactness[:yes] += 1 - end - next - end - - item = val.fetch(api_name) - keys.delete(api_name) - - converted = - if item.nil? && (nilable || !required) - exactness[nilable ? :yes : :maybe] += 1 - nil - else - coerced = OpenAI::Type::Converter.coerce(target, item, state: state) - case target - in OpenAI::Type::Converter | Symbol - coerced - else - item - end - end - data.store(name, converted) - end - # rubocop:enable Metrics/BlockLength - - keys.each { data.store(_1, val.fetch(_1)) } - instance - end - - # @api private - # - # @param value [OpenAI::BaseModel, Object] - # - # @return [Hash{Object=>Object}, Object] - def dump(value) - unless (coerced = OpenAI::Util.coerce_hash(value)).is_a?(Hash) - return super - end - - acc = {} - - coerced.each do |key, val| - name = key.is_a?(String) ? key.to_sym : key - case (field = known_fields[name]) - in nil - acc.store(name, super(val)) - else - mode, api_name, type_fn = field.fetch_values(:mode, :api_name, :type_fn) - case mode - in :coerce - next - else - target = type_fn.call - acc.store(api_name, OpenAI::Type::Converter.dump(target, val)) - end - end - end - - known_fields.each_value do |field| - mode, api_name, const = field.fetch_values(:mode, :api_name, :const) - next if mode == :coerce || acc.key?(api_name) || const == OpenAI::Util::OMIT - acc.store(api_name, const) - end - - acc - end - end - - # Returns the raw value associated with the given key, if found. Otherwise, nil is - # returned. - # - # It is valid to lookup keys that are not in the API spec, for example to access - # undocumented features. This method does not parse response data into - # higher-level types. Lookup by anything other than a Symbol is an ArgumentError. - # - # @param key [Symbol] - # - # @return [Object, nil] - def [](key) - unless key.instance_of?(Symbol) - raise ArgumentError.new("Expected symbol key for lookup, got #{key.inspect}") - end - - @data[key] - end - - # Returns a Hash of the data underlying this object. O(1) - # - # Keys are Symbols and values are the raw values from the response. The return - # value indicates which values were ever set on the object. i.e. there will be a - # key in this hash if they ever were, even if the set value was nil. - # - # This method is not recursive. The returned value is shared by the object, so it - # should not be mutated. - # - # @return [Hash{Symbol=>Object}] - def to_h = @data - - alias_method :to_hash, :to_h - - # @param keys [Array, nil] - # - # @return [Hash{Symbol=>Object}] - def deconstruct_keys(keys) - (keys || self.class.known_fields.keys) - .filter_map do |k| - unless self.class.known_fields.key?(k) - next - end - - [k, public_send(k)] - end - .to_h - end - - # @param a [Object] - # - # @return [String] - def to_json(*a) = self.class.dump(self).to_json(*a) - - # @param a [Object] - # - # @return [String] - def to_yaml(*a) = self.class.dump(self).to_yaml(*a) - - # Create a new instance of a model. - # - # @param data [Hash{Symbol=>Object}, OpenAI::BaseModel] - def initialize(data = {}) - case OpenAI::Util.coerce_hash(data) - in Hash => coerced - @data = coerced - else - raise ArgumentError.new("Expected a #{Hash} or #{OpenAI::BaseModel}, got #{data.inspect}") - end - end - - # @return [String] - def inspect - rows = self.class.known_fields.keys.map do - "#{_1}=#{@data.key?(_1) ? public_send(_1) : ''}" - rescue OpenAI::ConversionError - "#{_1}=#{@data.fetch(_1)}" - end - "#<#{self.class.name}:0x#{object_id.to_s(16)} #{rows.join(' ')}>" - end - end - end -end diff --git a/lib/openai/type/base_page.rb b/lib/openai/type/base_page.rb deleted file mode 100644 index a98b0624..00000000 --- a/lib/openai/type/base_page.rb +++ /dev/null @@ -1,61 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @example - # if page.has_next? - # page = page.next_page - # end - # - # @example - # page.auto_paging_each do |completion| - # puts(completion) - # end - # - # @example - # completions = - # page - # .to_enum - # .lazy - # .select { _1.object_id.even? } - # .map(&:itself) - # .take(2) - # .to_a - # - # completions => Array - module BasePage - # rubocop:disable Lint/UnusedMethodArgument - - # @return [Boolean] - def next_page? = (raise NotImplementedError) - - # @raise [OpenAI::Errors::APIError] - # @return [OpenAI::Type::BasePage] - def next_page = (raise NotImplementedError) - - # @param blk [Proc] - # - # @return [void] - def auto_paging_each(&blk) = (raise NotImplementedError) - - # @return [Enumerable] - def to_enum = super(:auto_paging_each) - - alias_method :enum_for, :to_enum - - # @api private - # - # @param client [OpenAI::Transport::BaseClient] - # @param req [Hash{Symbol=>Object}] - # @param headers [Hash{String=>String}, Net::HTTPHeader] - # @param page_data [Object] - def initialize(client:, req:, headers:, page_data:) - @client = client - @req = req - super() - end - - # rubocop:enable Lint/UnusedMethodArgument - end - end -end diff --git a/lib/openai/type/base_stream.rb b/lib/openai/type/base_stream.rb deleted file mode 100644 index 98f2b576..00000000 --- a/lib/openai/type/base_stream.rb +++ /dev/null @@ -1,63 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @example - # stream.each do |chunk| - # puts(chunk) - # end - # - # @example - # chunks = - # stream - # .lazy - # .select { _1.object_id.even? } - # .map(&:itself) - # .take(2) - # .to_a - # - # chunks => Array - module BaseStream - include Enumerable - - # @return [void] - def close = OpenAI::Util.close_fused!(@iterator) - - # @api private - # - # @return [Enumerable] - private def iterator = (raise NotImplementedError) - - # @param blk [Proc] - # - # @return [void] - def each(&blk) - unless block_given? - raise ArgumentError.new("A block must be given to ##{__method__}") - end - @iterator.each(&blk) - end - - # @return [Enumerator] - def to_enum = @iterator - - alias_method :enum_for, :to_enum - - # @api private - # - # @param model [Class, OpenAI::Type::Converter] - # @param url [URI::Generic] - # @param status [Integer] - # @param response [Net::HTTPResponse] - # @param stream [Enumerable] - def initialize(model:, url:, status:, response:, stream:) - @model = model - @url = url - @status = status - @response = response - @stream = stream - @iterator = iterator - end - end - end -end diff --git a/lib/openai/type/boolean_model.rb b/lib/openai/type/boolean_model.rb deleted file mode 100644 index 9ee84edd..00000000 --- a/lib/openai/type/boolean_model.rb +++ /dev/null @@ -1,52 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @api private - # - # @abstract - # - # Ruby has no Boolean class; this is something for models to refer to. - class BooleanModel - extend OpenAI::Type::Converter - - # @param other [Object] - # - # @return [Boolean] - def self.===(other) = other == true || other == false - - # @param other [Object] - # - # @return [Boolean] - def self.==(other) = other.is_a?(Class) && other <= OpenAI::BooleanModel - - class << self - # @api private - # - # @param value [Boolean, Object] - # - # @param state [Hash{Symbol=>Object}] . - # - # @option state [Boolean, :strong] :strictness - # - # @option state [Hash{Symbol=>Object}] :exactness - # - # @option state [Integer] :branched - # - # @return [Boolean, Object] - def coerce(value, state:) - state.fetch(:exactness)[value == true || value == false ? :yes : :no] += 1 - value - end - - # @!parse - # # @api private - # # - # # @param value [Boolean, Object] - # # - # # @return [Boolean, Object] - # def dump(value) = super - end - end - end -end diff --git a/lib/openai/type/converter.rb b/lib/openai/type/converter.rb deleted file mode 100644 index 8a4739ea..00000000 --- a/lib/openai/type/converter.rb +++ /dev/null @@ -1,217 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # rubocop:disable Metrics/ModuleLength - # @api private - module Converter - # rubocop:disable Lint/UnusedMethodArgument - - # @api private - # - # @param value [Object] - # - # @param state [Hash{Symbol=>Object}] . - # - # @option state [Boolean, :strong] :strictness - # - # @option state [Hash{Symbol=>Object}] :exactness - # - # @option state [Integer] :branched - # - # @return [Object] - def coerce(value, state:) = (raise NotImplementedError) - - # @api private - # - # @param value [Object] - # - # @return [Object] - def dump(value) - case value - in Array - value.map { OpenAI::Unknown.dump(_1) } - in Hash - value.transform_values { OpenAI::Unknown.dump(_1) } - in OpenAI::BaseModel - value.class.dump(value) - else - value - end - end - - # rubocop:enable Lint/UnusedMethodArgument - - class << self - # @api private - # - # @param spec [Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] . - # - # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const - # - # @option spec [Proc] :enum - # - # @option spec [Proc] :union - # - # @option spec [Boolean] :"nil?" - # - # @return [Proc] - def type_info(spec) - case spec - in Proc - spec - in Hash - type_info(spec.slice(:const, :enum, :union).first&.last) - in true | false - -> { OpenAI::BooleanModel } - in OpenAI::Type::Converter | Class | Symbol - -> { spec } - in NilClass | Integer | Float - -> { spec.class } - end - end - - # @api private - # - # Based on `target`, transform `value` into `target`, to the extent possible: - # - # 1. if the given `value` conforms to `target` already, return the given `value` - # 2. if it's possible and safe to convert the given `value` to `target`, then the - # converted value - # 3. otherwise, the given `value` unaltered - # - # The coercion process is subject to improvement between minor release versions. - # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode - # - # @param target [OpenAI::Type::Converter, Class] - # - # @param value [Object] - # - # @param state [Hash{Symbol=>Object}] The `strictness` is one of `true`, `false`, or `:strong`. This informs the - # coercion strategy when we have to decide between multiple possible conversion - # targets: - # - # - `true`: the conversion must be exact, with minimum coercion. - # - `false`: the conversion can be approximate, with some coercion. - # - `:strong`: the conversion must be exact, with no coercion, and raise an error - # if not possible. - # - # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For - # any given conversion attempt, the exactness will be updated based on how closely - # the value recursively matches the target type: - # - # - `yes`: the value can be converted to the target type with minimum coercion. - # - `maybe`: the value can be converted to the target type with some reasonable - # coercion. - # - `no`: the value cannot be converted to the target type. - # - # See implementation below for more details. - # - # @option state [Boolean, :strong] :strictness - # - # @option state [Hash{Symbol=>Object}] :exactness - # - # @option state [Integer] :branched - # - # @return [Object] - def coerce( - target, - value, - state: {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} - ) - # rubocop:disable Lint/SuppressedException - # rubocop:disable Metrics/BlockNesting - strictness, exactness = state.fetch_values(:strictness, :exactness) - - case target - in OpenAI::Type::Converter - return target.coerce(value, state: state) - in Class - if value.is_a?(target) - exactness[:yes] += 1 - return value - end - - case target - in -> { _1 <= NilClass } - exactness[value.nil? ? :yes : :maybe] += 1 - return nil - in -> { _1 <= Integer } - if value.is_a?(Integer) - exactness[:yes] += 1 - return value - elsif strictness == :strong - message = "no implicit conversion of #{value.class} into #{target.inspect}" - raise TypeError.new(message) - else - Kernel.then do - return Integer(value).tap { exactness[:maybe] += 1 } - rescue ArgumentError, TypeError - end - end - in -> { _1 <= Float } - if value.is_a?(Numeric) - exactness[:yes] += 1 - return Float(value) - elsif strictness == :strong - message = "no implicit conversion of #{value.class} into #{target.inspect}" - raise TypeError.new(message) - else - Kernel.then do - return Float(value).tap { exactness[:maybe] += 1 } - rescue ArgumentError, TypeError - end - end - in -> { _1 <= String } - case value - in String | Symbol | Numeric - exactness[value.is_a?(Numeric) ? :maybe : :yes] += 1 - return value.to_s - else - if strictness == :strong - message = "no implicit conversion of #{value.class} into #{target.inspect}" - raise TypeError.new(message) - end - end - in -> { _1 <= Date || _1 <= Time } - Kernel.then do - return target.parse(value).tap { exactness[:yes] += 1 } - rescue ArgumentError, TypeError => e - raise e if strictness == :strong - end - in -> { _1 <= IO } if value.is_a?(String) - exactness[:yes] += 1 - return StringIO.new(value.b) - else - end - in Symbol - if (value.is_a?(Symbol) || value.is_a?(String)) && value.to_sym == target - exactness[:yes] += 1 - return target - elsif strictness == :strong - message = "cannot convert non-matching #{value.class} into #{target.inspect}" - raise ArgumentError.new(message) - end - else - end - - exactness[:no] += 1 - value - # rubocop:enable Metrics/BlockNesting - # rubocop:enable Lint/SuppressedException - end - - # @api private - # - # @param target [OpenAI::Type::Converter, Class] - # @param value [Object] - # - # @return [Object] - def dump(target, value) - target.is_a?(OpenAI::Type::Converter) ? target.dump(value) : OpenAI::Unknown.dump(value) - end - end - end - # rubocop:enable Metrics/ModuleLength - end -end diff --git a/lib/openai/type/enum.rb b/lib/openai/type/enum.rb deleted file mode 100644 index 2518da97..00000000 --- a/lib/openai/type/enum.rb +++ /dev/null @@ -1,105 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @api private - # - # A value from among a specified list of options. OpenAPI enum values map to Ruby - # values in the SDK as follows: - # - # 1. boolean => true | false - # 2. integer => Integer - # 3. float => Float - # 4. string => Symbol - # - # We can therefore convert string values to Symbols, but can't convert other - # values safely. - # - # @example - # # `chat_model` is a `OpenAI::Models::ChatModel` - # case chat_model - # when OpenAI::Models::ChatModel::O3_MINI - # # ... - # when OpenAI::Models::ChatModel::O3_MINI_2025_01_31 - # # ... - # when OpenAI::Models::ChatModel::O1 - # # ... - # else - # puts(chat_model) - # end - # - # @example - # case chat_model - # in :"o3-mini" - # # ... - # in :"o3-mini-2025-01-31" - # # ... - # in :o1 - # # ... - # else - # puts(chat_model) - # end - module Enum - include OpenAI::Type::Converter - - # All of the valid Symbol values for this enum. - # - # @return [Array] - def values = (@values ||= constants.map { const_get(_1) }) - - # @api private - # - # Guard against thread safety issues by instantiating `@values`. - private def finalize! = values - - # @param other [Object] - # - # @return [Boolean] - def ===(other) = values.include?(other) - - # @param other [Object] - # - # @return [Boolean] - def ==(other) - other.is_a?(Module) && other.singleton_class <= OpenAI::Enum && other.values.to_set == values.to_set - end - - # @api private - # - # Unlike with primitives, `Enum` additionally validates that the value is a member - # of the enum. - # - # @param value [String, Symbol, Object] - # - # @param state [Hash{Symbol=>Object}] . - # - # @option state [Boolean, :strong] :strictness - # - # @option state [Hash{Symbol=>Object}] :exactness - # - # @option state [Integer] :branched - # - # @return [Symbol, Object] - def coerce(value, state:) - exactness = state.fetch(:exactness) - val = value.is_a?(String) ? value.to_sym : value - - if values.include?(val) - exactness[:yes] += 1 - val - else - exactness[values.first&.class == val.class ? :maybe : :no] += 1 - value - end - end - - # @!parse - # # @api private - # # - # # @param value [Symbol, Object] - # # - # # @return [Symbol, Object] - # def dump(value) = super - end - end -end diff --git a/lib/openai/type/hash_of.rb b/lib/openai/type/hash_of.rb deleted file mode 100644 index b6760886..00000000 --- a/lib/openai/type/hash_of.rb +++ /dev/null @@ -1,132 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @api private - # - # @abstract - # - # Hash of items of a given type. - class HashOf - include OpenAI::Type::Converter - - # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] - # - # @param spec [Hash{Symbol=>Object}] . - # - # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const - # - # @option spec [Proc] :enum - # - # @option spec [Proc] :union - # - # @option spec [Boolean] :"nil?" - def self.[](type_info, spec = {}) = new(type_info, spec) - - # @param other [Object] - # - # @return [Boolean] - def ===(other) - type = item_type - case other - in Hash - other.all? do |key, val| - case [key, val] - in [Symbol | String, ^type] - true - else - false - end - end - else - false - end - end - - # @param other [Object] - # - # @return [Boolean] - def ==(other) - other.is_a?(OpenAI::HashOf) && other.nilable? == nilable? && other.item_type == item_type - end - - # @api private - # - # @param value [Hash{Object=>Object}, Object] - # - # @param state [Hash{Symbol=>Object}] . - # - # @option state [Boolean, :strong] :strictness - # - # @option state [Hash{Symbol=>Object}] :exactness - # - # @option state [Integer] :branched - # - # @return [Hash{Symbol=>Object}, Object] - def coerce(value, state:) - exactness = state.fetch(:exactness) - - unless value.is_a?(Hash) - exactness[:no] += 1 - return value - end - - target = item_type - exactness[:yes] += 1 - value - .to_h do |key, val| - k = key.is_a?(String) ? key.to_sym : key - v = - case [nilable?, val] - in [true, nil] - exactness[:yes] += 1 - nil - else - OpenAI::Type::Converter.coerce(target, val, state: state) - end - - exactness[:no] += 1 unless k.is_a?(Symbol) - [k, v] - end - end - - # @api private - # - # @param value [Hash{Object=>Object}, Object] - # - # @return [Hash{Symbol=>Object}, Object] - def dump(value) - target = item_type - value.is_a?(Hash) ? value.transform_values { OpenAI::Type::Converter.dump(target, _1) } : super - end - - # @api private - # - # @return [OpenAI::Type::Converter, Class] - protected def item_type = @item_type_fn.call - - # @api private - # - # @return [Boolean] - protected def nilable? = @nilable - - # @api private - # - # @param type_info [Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] - # - # @param spec [Hash{Symbol=>Object}] . - # - # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const - # - # @option spec [Proc] :enum - # - # @option spec [Proc] :union - # - # @option spec [Boolean] :"nil?" - def initialize(type_info, spec = {}) - @item_type_fn = OpenAI::Type::Converter.type_info(type_info || spec) - @nilable = spec[:nil?] - end - end - end -end diff --git a/lib/openai/type/request_parameters.rb b/lib/openai/type/request_parameters.rb deleted file mode 100644 index 3d4e267e..00000000 --- a/lib/openai/type/request_parameters.rb +++ /dev/null @@ -1,38 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @api private - module RequestParameters - # @!parse - # # Options to specify HTTP behaviour for this request. - # # @return [OpenAI::RequestOptions, Hash{Symbol=>Object}] - # attr_accessor :request_options - - # @param mod [Module] - def self.included(mod) - return unless mod <= OpenAI::BaseModel - - mod.extend(OpenAI::Type::RequestParameters::Converter) - mod.optional(:request_options, OpenAI::RequestOptions) - end - - # @api private - module Converter - # @api private - # - # @param params [Object] - # - # @return [Array(Object, Hash{Symbol=>Object})] - def dump_request(params) - case (dumped = dump(params)) - in Hash - [dumped.except(:request_options), dumped[:request_options]] - else - [dumped, nil] - end - end - end - end - end -end diff --git a/lib/openai/type/union.rb b/lib/openai/type/union.rb deleted file mode 100644 index da0bde31..00000000 --- a/lib/openai/type/union.rb +++ /dev/null @@ -1,210 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @api private - # - # @example - # # `chat_completion_content_part` is a `OpenAI::Models::Chat::ChatCompletionContentPart` - # case chat_completion_content_part - # when OpenAI::Models::Chat::ChatCompletionContentPartText - # puts(chat_completion_content_part.text) - # when OpenAI::Models::Chat::ChatCompletionContentPartImage - # puts(chat_completion_content_part.image_url) - # when OpenAI::Models::Chat::ChatCompletionContentPartInputAudio - # puts(chat_completion_content_part.input_audio) - # else - # puts(chat_completion_content_part) - # end - # - # @example - # case chat_completion_content_part - # in {type: :text, text: text} - # puts(text) - # in {type: :image_url, image_url: image_url} - # puts(image_url) - # in {type: :input_audio, input_audio: input_audio} - # puts(input_audio) - # else - # puts(chat_completion_content_part) - # end - module Union - include OpenAI::Type::Converter - - # @api private - # - # All of the specified variant info for this union. - # - # @return [Array] - private def known_variants = (@known_variants ||= []) - - # @api private - # - # @return [Array] - protected def derefed_variants - @known_variants.map { |key, variant_fn| [key, variant_fn.call] } - end - - # All of the specified variants for this union. - # - # @return [Array] - def variants = derefed_variants.map(&:last) - - # @api private - # - # @param property [Symbol] - private def discriminator(property) - case property - in Symbol - @discriminator = property - end - end - - # @api private - # - # @param key [Symbol, Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] - # - # @param spec [Hash{Symbol=>Object}, Proc, OpenAI::Type::Converter, Class] . - # - # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const - # - # @option spec [Proc] :enum - # - # @option spec [Proc] :union - # - # @option spec [Boolean] :"nil?" - private def variant(key, spec = nil) - variant_info = - case key - in Symbol - [key, OpenAI::Type::Converter.type_info(spec)] - in Proc | OpenAI::Type::Converter | Class | Hash - [nil, OpenAI::Type::Converter.type_info(key)] - end - - known_variants << variant_info - end - - # @api private - # - # @param value [Object] - # - # @return [OpenAI::Type::Converter, Class, nil] - private def resolve_variant(value) - case [@discriminator, value] - in [_, OpenAI::BaseModel] - value.class - in [Symbol, Hash] - key = value.fetch(@discriminator) do - value.fetch(@discriminator.to_s, OpenAI::Util::OMIT) - end - - return nil if key == OpenAI::Util::OMIT - - key = key.to_sym if key.is_a?(String) - known_variants.find { |k,| k == key }&.last&.call - else - nil - end - end - - # rubocop:disable Style/HashEachMethods - # rubocop:disable Style/CaseEquality - - # @param other [Object] - # - # @return [Boolean] - def ===(other) - known_variants.any? do |_, variant_fn| - variant_fn.call === other - end - end - - # @param other [Object] - # - # @return [Boolean] - def ==(other) - # rubocop:disable Layout/LineLength - other.is_a?(Module) && other.singleton_class <= OpenAI::Union && other.derefed_variants == derefed_variants - # rubocop:enable Layout/LineLength - end - - # @api private - # - # @param value [Object] - # - # @param state [Hash{Symbol=>Object}] . - # - # @option state [Boolean, :strong] :strictness - # - # @option state [Hash{Symbol=>Object}] :exactness - # - # @option state [Integer] :branched - # - # @return [Object] - def coerce(value, state:) - if (target = resolve_variant(value)) - return OpenAI::Type::Converter.coerce(target, value, state: state) - end - - strictness = state.fetch(:strictness) - exactness = state.fetch(:exactness) - state[:strictness] = strictness == :strong ? true : strictness - - alternatives = [] - known_variants.each do |_, variant_fn| - target = variant_fn.call - exact = state[:exactness] = {yes: 0, no: 0, maybe: 0} - state[:branched] += 1 - - coerced = OpenAI::Type::Converter.coerce(target, value, state: state) - yes, no, maybe = exact.values - if (no + maybe).zero? || (!strictness && yes.positive?) - exact.each { exactness[_1] += _2 } - state[:exactness] = exactness - return coerced - elsif maybe.positive? - alternatives << [[-yes, -maybe, no], exact, coerced] - end - end - - case alternatives.sort_by(&:first) - in [] - exactness[:no] += 1 - if strictness == :strong - message = "no possible conversion of #{value.class} into a variant of #{target.inspect}" - raise ArgumentError.new(message) - end - value - in [[_, exact, coerced], *] - exact.each { exactness[_1] += _2 } - coerced - end - .tap { state[:exactness] = exactness } - ensure - state[:strictness] = strictness - end - - # @api private - # - # @param value [Object] - # - # @return [Object] - def dump(value) - if (target = resolve_variant(value)) - return OpenAI::Type::Converter.dump(target, value) - end - - known_variants.each do - target = _2.call - return OpenAI::Type::Converter.dump(target, value) if target === value - end - - super - end - - # rubocop:enable Style/CaseEquality - # rubocop:enable Style/HashEachMethods - end - end -end diff --git a/lib/openai/type/unknown.rb b/lib/openai/type/unknown.rb deleted file mode 100644 index 7cb2567d..00000000 --- a/lib/openai/type/unknown.rb +++ /dev/null @@ -1,56 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - module Type - # @api private - # - # @abstract - # - # When we don't know what to expect for the value. - class Unknown - extend OpenAI::Type::Converter - - # rubocop:disable Lint/UnusedMethodArgument - - # @param other [Object] - # - # @return [Boolean] - def self.===(other) = true - - # @param other [Object] - # - # @return [Boolean] - def self.==(other) = other.is_a?(Class) && other <= OpenAI::Unknown - - class << self - # @api private - # - # @param value [Object] - # - # @param state [Hash{Symbol=>Object}] . - # - # @option state [Boolean, :strong] :strictness - # - # @option state [Hash{Symbol=>Object}] :exactness - # - # @option state [Integer] :branched - # - # @return [Object] - def coerce(value, state:) - state.fetch(:exactness)[:yes] += 1 - value - end - - # @!parse - # # @api private - # # - # # @param value [Object] - # # - # # @return [Object] - # def dump(value) = super - end - - # rubocop:enable Lint/UnusedMethodArgument - end - end -end diff --git a/lib/openai/util.rb b/lib/openai/util.rb deleted file mode 100644 index 379dddc4..00000000 --- a/lib/openai/util.rb +++ /dev/null @@ -1,722 +0,0 @@ -# frozen_string_literal: true - -module OpenAI - # rubocop:disable Metrics/ModuleLength - - # @api private - module Util - # @api private - # - # @return [Float] - def self.monotonic_secs = Process.clock_gettime(Process::CLOCK_MONOTONIC) - - class << self - # @api private - # - # @return [String] - def arch - case (arch = RbConfig::CONFIG["arch"])&.downcase - in nil - "unknown" - in /aarch64|arm64/ - "arm64" - in /x86_64/ - "x64" - in /arm/ - "arm" - else - "other:#{arch}" - end - end - - # @api private - # - # @return [String] - def os - case (host = RbConfig::CONFIG["host_os"])&.downcase - in nil - "Unknown" - in /linux/ - "Linux" - in /darwin/ - "MacOS" - in /freebsd/ - "FreeBSD" - in /openbsd/ - "OpenBSD" - in /mswin|mingw|cygwin|ucrt/ - "Windows" - else - "Other:#{host}" - end - end - end - - class << self - # @api private - # - # @param input [Object] - # - # @return [Boolean] - def primitive?(input) - case input - in true | false | Integer | Float | Symbol | String - true - else - false - end - end - - # @api private - # - # @param input [Object] - # - # @return [Boolean, Object] - def coerce_boolean(input) - case input.is_a?(String) ? input.downcase : input - in Numeric - input.nonzero? - in "true" - true - in "false" - false - else - input - end - end - - # @api private - # - # @param input [Object] - # - # @raise [ArgumentError] - # @return [Boolean, nil] - def coerce_boolean!(input) - case coerce_boolean(input) - in true | false | nil => coerced - coerced - else - raise ArgumentError.new("Unable to coerce #{input.inspect} into boolean value") - end - end - - # @api private - # - # @param input [Object] - # - # @return [Integer, Object] - def coerce_integer(input) - case input - in true - 1 - in false - 0 - else - Integer(input, exception: false) || input - end - end - - # @api private - # - # @param input [Object] - # - # @return [Float, Object] - def coerce_float(input) - case input - in true - 1.0 - in false - 0.0 - else - Float(input, exception: false) || input - end - end - - # @api private - # - # @param input [Object] - # - # @return [Hash{Object=>Object}, Object] - def coerce_hash(input) - case input - in NilClass | Array | Set | Enumerator - input - else - input.respond_to?(:to_h) ? input.to_h : input - end - end - end - - # Use this to indicate that a value should be explicitly removed from a data - # structure when using `OpenAI::Util.deep_merge`. - # - # e.g. merging `{a: 1}` and `{a: OMIT}` should produce `{}`, where merging - # `{a: 1}` and `{}` would produce `{a: 1}`. - OMIT = Object.new.freeze - - class << self - # @api private - # - # @param lhs [Object] - # @param rhs [Object] - # @param concat [Boolean] - # - # @return [Object] - private def deep_merge_lr(lhs, rhs, concat: false) - case [lhs, rhs, concat] - in [Hash, Hash, _] - rhs_cleaned = rhs.reject { _2 == OpenAI::Util::OMIT } - lhs - .reject { |key, _| rhs[key] == OpenAI::Util::OMIT } - .merge(rhs_cleaned) do |_, old_val, new_val| - deep_merge_lr(old_val, new_val, concat: concat) - end - in [Array, Array, true] - lhs.concat(rhs) - else - rhs - end - end - - # @api private - # - # Recursively merge one hash with another. If the values at a given key are not - # both hashes, just take the new value. - # - # @param values [Array] - # - # @param sentinel [Object, nil] the value to return if no values are provided. - # - # @param concat [Boolean] whether to merge sequences by concatenation. - # - # @return [Object] - def deep_merge(*values, sentinel: nil, concat: false) - case values - in [value, *values] - values.reduce(value) do |acc, val| - deep_merge_lr(acc, val, concat: concat) - end - else - sentinel - end - end - - # @api private - # - # @param data [Hash{Symbol=>Object}, Array, Object] - # @param pick [Symbol, Integer, Array, nil] - # @param sentinel [Object, nil] - # @param blk [Proc, nil] - # - # @return [Object, nil] - def dig(data, pick, sentinel = nil, &blk) - case [data, pick, blk] - in [_, nil, nil] - data - in [Hash, Symbol, _] | [Array, Integer, _] - blk.nil? ? data.fetch(pick, sentinel) : data.fetch(pick, &blk) - in [Hash | Array, Array, _] - pick.reduce(data) do |acc, key| - case acc - in Hash if acc.key?(key) - acc.fetch(key) - in Array if key.is_a?(Integer) && key < acc.length - acc[key] - else - return blk.nil? ? sentinel : blk.call - end - end - in _ - blk.nil? ? sentinel : blk.call - end - end - end - - class << self - # @api private - # - # @param uri [URI::Generic] - # - # @return [String] - def uri_origin(uri) - "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}" - end - - # @api private - # - # @param path [String, Array] - # - # @return [String] - def interpolate_path(path) - case path - in String - path - in [] - "" - in [String => p, *interpolations] - encoded = interpolations.map { ERB::Util.url_encode(_1) } - format(p, *encoded) - end - end - end - - class << self - # @api private - # - # @param query [String, nil] - # - # @return [Hash{String=>Array}] - def decode_query(query) - CGI.parse(query.to_s) - end - - # @api private - # - # @param query [Hash{String=>Array, String, nil}, nil] - # - # @return [String, nil] - def encode_query(query) - query.to_h.empty? ? nil : URI.encode_www_form(query) - end - end - - class << self - # @api private - # - # @param url [URI::Generic, String] - # - # @return [Hash{Symbol=>String, Integer, nil}] - def parse_uri(url) - parsed = URI::Generic.component.zip(URI.split(url)).to_h - {**parsed, query: decode_query(parsed.fetch(:query))} - end - - # @api private - # - # @param parsed [Hash{Symbol=>String, Integer, nil}] . - # - # @option parsed [String, nil] :scheme - # - # @option parsed [String, nil] :host - # - # @option parsed [Integer, nil] :port - # - # @option parsed [String, nil] :path - # - # @option parsed [Hash{String=>Array}] :query - # - # @return [URI::Generic] - def unparse_uri(parsed) - URI::Generic.build(**parsed, query: encode_query(parsed.fetch(:query))) - end - - # @api private - # - # @param lhs [Hash{Symbol=>String, Integer, nil}] . - # - # @option lhs [String, nil] :scheme - # - # @option lhs [String, nil] :host - # - # @option lhs [Integer, nil] :port - # - # @option lhs [String, nil] :path - # - # @option lhs [Hash{String=>Array}] :query - # - # @param rhs [Hash{Symbol=>String, Integer, nil}] . - # - # @option rhs [String, nil] :scheme - # - # @option rhs [String, nil] :host - # - # @option rhs [Integer, nil] :port - # - # @option rhs [String, nil] :path - # - # @option rhs [Hash{String=>Array}] :query - # - # @return [URI::Generic] - def join_parsed_uri(lhs, rhs) - base_path, base_query = lhs.fetch_values(:path, :query) - slashed = base_path.end_with?("/") ? base_path : "#{base_path}/" - - parsed_path, parsed_query = parse_uri(rhs.fetch(:path)).fetch_values(:path, :query) - override = URI::Generic.build(**rhs.slice(:scheme, :host, :port), path: parsed_path) - - joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override) - query = deep_merge( - joined.path == base_path ? base_query : {}, - parsed_query, - rhs[:query].to_h, - concat: true - ) - - joined.query = encode_query(query) - joined - end - end - - class << self - # @api private - # - # @param headers [Hash{String=>String, Integer, Array, nil}] - # - # @return [Hash{String=>String}] - def normalized_headers(*headers) - {}.merge(*headers.compact).to_h do |key, val| - value = - case val - in Array - val.map { _1.to_s.strip }.join(", ") - else - val&.to_s&.strip - end - [key.downcase, value] - end - end - end - - # @api private - # - # An adapter that satisfies the IO interface required by `::IO.copy_stream` - class ReadIOAdapter - # @api private - # - # @param max_len [Integer, nil] - # - # @return [String] - private def read_enum(max_len) - case max_len - in nil - @stream.to_a.join - in Integer - @buf << @stream.next while @buf.length < max_len - @buf.slice!(..max_len) - end - rescue StopIteration - @stream = nil - @buf.slice!(0..) - end - - # @api private - # - # @param max_len [Integer, nil] - # @param out_string [String, nil] - # - # @return [String, nil] - def read(max_len = nil, out_string = nil) - case @stream - in nil - nil - in IO | StringIO - @stream.read(max_len, out_string) - in Enumerator - read = read_enum(max_len) - case out_string - in String - out_string.replace(read) - in nil - read - end - end - .tap(&@blk) - end - - # @api private - # - # @param stream [String, IO, StringIO, Enumerable] - # @param blk [Proc] - # - # @yieldparam [String] - def initialize(stream, &blk) - @stream = stream.is_a?(String) ? StringIO.new(stream) : stream - @buf = String.new.b - @blk = blk - end - end - - class << self - # @param blk [Proc] - # - # @yieldparam [Enumerator::Yielder] - # @return [Enumerable] - def writable_enum(&blk) - Enumerator.new do |y| - y.define_singleton_method(:write) do - self << _1.clone - _1.bytesize - end - - blk.call(y) - end - end - end - - class << self - # @api private - # - # @param y [Enumerator::Yielder] - # @param boundary [String] - # @param key [Symbol, String] - # @param val [Object] - private def write_multipart_chunk(y, boundary:, key:, val:) - y << "--#{boundary}\r\n" - y << "Content-Disposition: form-data" - unless key.nil? - name = ERB::Util.url_encode(key.to_s) - y << "; name=\"#{name}\"" - end - if val.is_a?(IO) - filename = ERB::Util.url_encode(File.basename(val.to_path)) - y << "; filename=\"#{filename}\"" - end - y << "\r\n" - case val - in IO - y << "Content-Type: application/octet-stream\r\n\r\n" - IO.copy_stream(val, y) - in StringIO - y << "Content-Type: application/octet-stream\r\n\r\n" - y << val.string - in String - y << "Content-Type: application/octet-stream\r\n\r\n" - y << val.to_s - in true | false | Integer | Float | Symbol - y << "Content-Type: text/plain\r\n\r\n" - y << val.to_s - else - y << "Content-Type: application/json\r\n\r\n" - y << JSON.fast_generate(val) - end - y << "\r\n" - end - - # @api private - # - # @param body [Object] - # - # @return [Array(String, Enumerable)] - private def encode_multipart_streaming(body) - boundary = SecureRandom.urlsafe_base64(60) - - strio = writable_enum do |y| - case body - in Hash - body.each do |key, val| - case val - in Array if val.all? { primitive?(_1) } - val.each do |v| - write_multipart_chunk(y, boundary: boundary, key: key, val: v) - end - else - write_multipart_chunk(y, boundary: boundary, key: key, val: val) - end - end - else - write_multipart_chunk(y, boundary: boundary, key: nil, val: body) - end - y << "--#{boundary}--\r\n" - end - - [boundary, strio] - end - - # @api private - # - # @param headers [Hash{String=>String}] - # @param body [Object] - # - # @return [Object] - def encode_content(headers, body) - content_type = headers["content-type"] - case [content_type, body] - in [%r{^application/(?:vnd\.api\+)?json}, Hash | Array] - [headers, JSON.fast_generate(body)] - in [%r{^application/(?:x-)?jsonl}, Enumerable] - [headers, body.lazy.map { JSON.fast_generate(_1) }] - in [%r{^multipart/form-data}, Hash | IO | StringIO] - boundary, strio = encode_multipart_streaming(body) - headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"} - [headers, strio] - in [_, StringIO] - [headers, body.string] - else - [headers, body] - end - end - - # @api private - # - # @param headers [Hash{String=>String}, Net::HTTPHeader] - # @param stream [Enumerable] - # @param suppress_error [Boolean] - # - # @raise [JSON::ParserError] - # @return [Object] - def decode_content(headers, stream:, suppress_error: false) - case headers["content-type"] - in %r{^application/(?:vnd\.api\+)?json} - json = stream.to_a.join - begin - JSON.parse(json, symbolize_names: true) - rescue JSON::ParserError => e - raise e unless suppress_error - json - end - in %r{^application/(?:x-)?jsonl} - lines = decode_lines(stream) - chain_fused(lines) do |y| - lines.each { y << JSON.parse(_1, symbolize_names: true) } - end - in %r{^text/event-stream} - lines = decode_lines(stream) - decode_sse(lines) - in %r{^text/} - stream.to_a.join - else - # TODO: parsing other response types - StringIO.new(stream.to_a.join) - end - end - end - - class << self - # @api private - # - # https://doc.rust-lang.org/std/iter/trait.FusedIterator.html - # - # @param enum [Enumerable] - # @param external [Boolean] - # @param close [Proc] - # - # @return [Enumerable] - def fused_enum(enum, external: false, &close) - fused = false - iter = Enumerator.new do |y| - next if fused - - fused = true - if external - loop { y << enum.next } - else - enum.each(&y) - end - ensure - close&.call - close = nil - end - - iter.define_singleton_method(:rewind) do - fused = true - self - end - iter - end - - # @api private - # - # @param enum [Enumerable, nil] - def close_fused!(enum) - return unless enum.is_a?(Enumerator) - - # rubocop:disable Lint/UnreachableLoop - enum.rewind.each { break } - # rubocop:enable Lint/UnreachableLoop - end - - # @api private - # - # @param enum [Enumerable, nil] - # @param blk [Proc] - # - # @yieldparam [Enumerator::Yielder] - # @return [Enumerable] - def chain_fused(enum, &blk) - iter = Enumerator.new { blk.call(_1) } - fused_enum(iter) { close_fused!(enum) } - end - end - - class << self - # @api private - # - # @param enum [Enumerable] - # - # @return [Enumerable] - def decode_lines(enum) - re = /(\r\n|\r|\n)/ - buffer = String.new.b - cr_seen = nil - - chain_fused(enum) do |y| - enum.each do |row| - offset = buffer.bytesize - buffer << row - while (match = re.match(buffer, cr_seen&.to_i || offset)) - case [match.captures.first, cr_seen] - in ["\r", nil] - cr_seen = match.end(1) - next - in ["\r" | "\r\n", Integer] - y << buffer.slice!(..(cr_seen.pred)) - else - y << buffer.slice!(..(match.end(1).pred)) - end - offset = 0 - cr_seen = nil - end - end - - y << buffer.slice!(..(cr_seen.pred)) unless cr_seen.nil? - y << buffer unless buffer.empty? - end - end - - # @api private - # - # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream - # - # @param lines [Enumerable] - # - # @return [Hash{Symbol=>Object}] - def decode_sse(lines) - # rubocop:disable Metrics/BlockLength - chain_fused(lines) do |y| - blank = {event: nil, data: nil, id: nil, retry: nil} - current = {} - - lines.each do |line| - case line.sub(/\R$/, "") - in "" - next if current.empty? - y << {**blank, **current} - current = {} - in /^:/ - next - in /^([^:]+):\s?(.*)$/ - field, value = Regexp.last_match.captures - case field - in "event" - current.merge!(event: value) - in "data" - (current[:data] ||= String.new.b) << (value << "\n") - in "id" unless value.include?("\0") - current.merge!(id: value) - in "retry" if /^\d+$/ =~ value - current.merge!(retry: Integer(value)) - else - end - else - end - end - # rubocop:enable Metrics/BlockLength - - y << {**blank, **current} unless current.empty? - end - end - end - end - - # rubocop:enable Metrics/ModuleLength -end diff --git a/rbi/lib/openai/aliases.rbi b/rbi/lib/openai/aliases.rbi new file mode 100644 index 00000000..5641bd39 --- /dev/null +++ b/rbi/lib/openai/aliases.rbi @@ -0,0 +1,19 @@ +# typed: strong + +module OpenAI + Unknown = OpenAI::Internal::Type::Unknown + + BooleanModel = OpenAI::Internal::Type::BooleanModel + + Enum = OpenAI::Internal::Type::Enum + + Union = OpenAI::Internal::Type::Union + + ArrayOf = OpenAI::Internal::Type::ArrayOf + + HashOf = OpenAI::Internal::Type::HashOf + + BaseModel = OpenAI::Internal::Type::BaseModel + + RequestParameters = OpenAI::Internal::Type::RequestParameters +end diff --git a/rbi/lib/openai/client.rbi b/rbi/lib/openai/client.rbi index 41d82819..518920af 100644 --- a/rbi/lib/openai/client.rbi +++ b/rbi/lib/openai/client.rbi @@ -1,7 +1,7 @@ # typed: strong module OpenAI - class Client < OpenAI::Transport::BaseClient + class Client < OpenAI::Internal::Transport::BaseClient DEFAULT_MAX_RETRIES = 2 DEFAULT_TIMEOUT_IN_SECONDS = T.let(600.0, Float) diff --git a/rbi/lib/openai/cursor_page.rbi b/rbi/lib/openai/cursor_page.rbi deleted file mode 100644 index e167d210..00000000 --- a/rbi/lib/openai/cursor_page.rbi +++ /dev/null @@ -1,19 +0,0 @@ -# typed: strong - -module OpenAI - class CursorPage - include OpenAI::Type::BasePage - - Elem = type_member - - sig { returns(T.nilable(T::Array[Elem])) } - attr_accessor :data - - sig { returns(T::Boolean) } - attr_accessor :has_more - - sig { returns(String) } - def inspect - end - end -end diff --git a/rbi/lib/openai/internal/cursor_page.rbi b/rbi/lib/openai/internal/cursor_page.rbi new file mode 100644 index 00000000..7d728a09 --- /dev/null +++ b/rbi/lib/openai/internal/cursor_page.rbi @@ -0,0 +1,21 @@ +# typed: strong + +module OpenAI + module Internal + class CursorPage + include OpenAI::Internal::Type::BasePage + + Elem = type_member + + sig { returns(T.nilable(T::Array[Elem])) } + attr_accessor :data + + sig { returns(T::Boolean) } + attr_accessor :has_more + + sig { returns(String) } + def inspect + end + end + end +end diff --git a/rbi/lib/openai/internal/page.rbi b/rbi/lib/openai/internal/page.rbi new file mode 100644 index 00000000..bb47228b --- /dev/null +++ b/rbi/lib/openai/internal/page.rbi @@ -0,0 +1,21 @@ +# typed: strong + +module OpenAI + module Internal + class Page + include OpenAI::Internal::Type::BasePage + + Elem = type_member + + sig { returns(T.nilable(T::Array[Elem])) } + attr_accessor :data + + sig { returns(String) } + attr_accessor :object + + sig { returns(String) } + def inspect + end + end + end +end diff --git a/rbi/lib/openai/internal/stream.rbi b/rbi/lib/openai/internal/stream.rbi new file mode 100644 index 00000000..14bab753 --- /dev/null +++ b/rbi/lib/openai/internal/stream.rbi @@ -0,0 +1,17 @@ +# typed: strong + +module OpenAI + module Internal + class Stream + include OpenAI::Internal::Type::BaseStream + + Message = type_member(:in) { {fixed: OpenAI::Internal::Util::ServerSentEvent} } + Elem = type_member(:out) + + # @api private + sig { override.returns(T::Enumerable[Elem]) } + private def iterator + end + end + end +end diff --git a/rbi/lib/openai/internal/transport/base_client.rbi b/rbi/lib/openai/internal/transport/base_client.rbi new file mode 100644 index 00000000..abc94734 --- /dev/null +++ b/rbi/lib/openai/internal/transport/base_client.rbi @@ -0,0 +1,210 @@ +# typed: strong + +module OpenAI + module Internal + module Transport + # @api private + class BaseClient + abstract! + + RequestComponentsShape = + T.type_alias do + { + method: Symbol, + path: T.any(String, T::Array[String]), + query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]), + headers: T.nilable( + T::Hash[String, + T.nilable( + T.any( + String, + Integer, + T::Array[T.nilable(T.any(String, Integer))] + ) + )] + ), + body: T.nilable(T.anything), + unwrap: T.nilable(Symbol), + page: T.nilable(T::Class[OpenAI::Internal::Type::BasePage[OpenAI::BaseModel]]), + stream: T.nilable(T::Class[OpenAI::Internal::Type::BaseStream[T.anything, OpenAI::BaseModel]]), + model: T.nilable(OpenAI::Internal::Type::Converter::Input), + options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + } + end + + RequestInputShape = + T.type_alias do + { + method: Symbol, + url: URI::Generic, + headers: T::Hash[String, String], + body: T.anything, + max_retries: Integer, + timeout: Float + } + end + + # from whatwg fetch spec + MAX_REDIRECTS = 20 + + PLATFORM_HEADERS = T::Hash[String, String] + + class << self + # @api private + sig { params(req: OpenAI::Internal::Transport::BaseClient::RequestComponentsShape).void } + def validate!(req) + end + + # @api private + sig do + params( + status: Integer, + headers: T.any( + T::Hash[String, String], + Net::HTTPHeader + ) + ).returns(T::Boolean) + end + def should_retry?(status, headers:) + end + + # @api private + sig do + params( + request: OpenAI::Internal::Transport::BaseClient::RequestInputShape, + status: Integer, + response_headers: T.any(T::Hash[String, String], Net::HTTPHeader) + ) + .returns(OpenAI::Internal::Transport::BaseClient::RequestInputShape) + end + def follow_redirect(request, status:, response_headers:) + end + + # @api private + sig do + params( + status: T.any(Integer, OpenAI::Errors::APIConnectionError), + stream: T.nilable(T::Enumerable[String]) + ) + .void + end + def reap_connection!(status, stream:) + end + end + + # @api private + sig { returns(OpenAI::Internal::Transport::PooledNetRequester) } + attr_accessor :requester + + # @api private + sig do + params( + base_url: String, + timeout: Float, + max_retries: Integer, + initial_retry_delay: Float, + max_retry_delay: Float, + headers: T::Hash[String, + T.nilable(T.any(String, Integer, T::Array[T.nilable(T.any(String, Integer))]))], + idempotency_header: T.nilable(String) + ) + .returns(T.attached_class) + end + def self.new( + base_url:, + timeout: 0.0, + max_retries: 0, + initial_retry_delay: 0.0, + max_retry_delay: 0.0, + headers: {}, + idempotency_header: nil + ) + end + + # @api private + sig { overridable.returns(T::Hash[String, String]) } + private def auth_headers + end + + # @api private + sig { returns(String) } + private def generate_idempotency_key + end + + # @api private + sig do + overridable + .params( + req: OpenAI::Internal::Transport::BaseClient::RequestComponentsShape, + opts: OpenAI::Internal::Util::AnyHash + ) + .returns(OpenAI::Internal::Transport::BaseClient::RequestInputShape) + end + private def build_request(req, opts) + end + + # @api private + sig { params(headers: T::Hash[String, String], retry_count: Integer).returns(Float) } + private def retry_delay(headers, retry_count:) + end + + # @api private + sig do + params( + request: OpenAI::Internal::Transport::BaseClient::RequestInputShape, + redirect_count: Integer, + retry_count: Integer, + send_retry_header: T::Boolean + ) + .returns([Integer, Net::HTTPResponse, T::Enumerable[String]]) + end + private def send_request(request, redirect_count:, retry_count:, send_retry_header:) + end + + # Execute the request specified by `req`. This is the method that all resource + # methods call into. + sig do + params( + method: Symbol, + path: T.any(String, T::Array[String]), + query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]), + headers: T.nilable( + T::Hash[String, + T.nilable( + T.any( + String, + Integer, + T::Array[T.nilable(T.any(String, Integer))] + ) + )] + ), + body: T.nilable(T.anything), + unwrap: T.nilable(Symbol), + page: T.nilable(T::Class[OpenAI::Internal::Type::BasePage[OpenAI::BaseModel]]), + stream: T.nilable(T::Class[OpenAI::Internal::Type::BaseStream[T.anything, OpenAI::BaseModel]]), + model: T.nilable(OpenAI::Internal::Type::Converter::Input), + options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + ) + .returns(T.anything) + end + def request( + method, + path, + query: {}, + headers: {}, + body: nil, + unwrap: nil, + page: nil, + stream: nil, + model: OpenAI::Unknown, + options: {} + ) + end + + sig { returns(String) } + def inspect + end + end + end + end +end diff --git a/rbi/lib/openai/internal/transport/pooled_net_requester.rbi b/rbi/lib/openai/internal/transport/pooled_net_requester.rbi new file mode 100644 index 00000000..1db6bc50 --- /dev/null +++ b/rbi/lib/openai/internal/transport/pooled_net_requester.rbi @@ -0,0 +1,66 @@ +# typed: strong + +module OpenAI + module Internal + module Transport + # @api private + class PooledNetRequester + RequestShape = + T.type_alias do + { + method: Symbol, + url: URI::Generic, + headers: T::Hash[String, String], + body: T.anything, + deadline: Float + } + end + + # from the golang stdlib + # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49 + KEEP_ALIVE_TIMEOUT = 30 + + class << self + # @api private + sig { params(url: URI::Generic).returns(Net::HTTP) } + def connect(url) + end + + # @api private + sig { params(conn: Net::HTTP, deadline: Float).void } + def calibrate_socket_timeout(conn, deadline) + end + + # @api private + sig do + params( + request: OpenAI::Internal::Transport::PooledNetRequester::RequestShape, + blk: T.proc.params(arg0: String).void + ) + .returns(Net::HTTPGenericRequest) + end + def build_request(request, &blk) + end + end + + # @api private + sig { params(url: URI::Generic, deadline: Float, blk: T.proc.params(arg0: Net::HTTP).void).void } + private def with_pool(url, deadline:, &blk) + end + + # @api private + sig do + params(request: OpenAI::Internal::Transport::PooledNetRequester::RequestShape) + .returns([Integer, Net::HTTPResponse, T::Enumerable[String]]) + end + def execute(request) + end + + # @api private + sig { params(size: Integer).returns(T.attached_class) } + def self.new(size: Etc.nprocessors) + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/array_of.rbi b/rbi/lib/openai/internal/type/array_of.rbi new file mode 100644 index 00000000..54f032b7 --- /dev/null +++ b/rbi/lib/openai/internal/type/array_of.rbi @@ -0,0 +1,88 @@ +# typed: strong + +module OpenAI + module Internal + module Type + # @api private + # + # Array of items of a given type. + class ArrayOf + include OpenAI::Internal::Type::Converter + + abstract! + final! + + Elem = type_member(:out) + + sig(:final) do + params( + type_info: T.any( + OpenAI::Internal::Util::AnyHash, + T.proc.returns(OpenAI::Internal::Type::Converter::Input), + OpenAI::Internal::Type::Converter::Input + ), + spec: OpenAI::Internal::Util::AnyHash + ) + .returns(T.attached_class) + end + def self.[](type_info, spec = {}) + end + + sig(:final) { params(other: T.anything).returns(T::Boolean) } + def ===(other) + end + + sig(:final) { params(other: T.anything).returns(T::Boolean) } + def ==(other) + end + + # @api private + sig(:final) do + override + .params(value: T.any( + T::Enumerable[Elem], + T.anything + ), + state: OpenAI::Internal::Type::Converter::State) + .returns(T.any(T::Array[T.anything], T.anything)) + end + def coerce(value, state:) + end + + # @api private + sig(:final) do + override + .params(value: T.any(T::Enumerable[Elem], T.anything)) + .returns(T.any(T::Array[T.anything], T.anything)) + end + def dump(value) + end + + # @api private + sig(:final) { returns(Elem) } + protected def item_type + end + + # @api private + sig(:final) { returns(T::Boolean) } + protected def nilable? + end + + # @api private + sig(:final) do + params( + type_info: T.any( + OpenAI::Internal::Util::AnyHash, + T.proc.returns(OpenAI::Internal::Type::Converter::Input), + OpenAI::Internal::Type::Converter::Input + ), + spec: OpenAI::Internal::Util::AnyHash + ) + .void + end + def initialize(type_info, spec = {}) + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/base_model.rbi b/rbi/lib/openai/internal/type/base_model.rbi new file mode 100644 index 00000000..6a8646a9 --- /dev/null +++ b/rbi/lib/openai/internal/type/base_model.rbi @@ -0,0 +1,206 @@ +# typed: strong + +module OpenAI + module Internal + module Type + class BaseModel + extend OpenAI::Internal::Type::Converter + + abstract! + + KnownFieldShape = T.type_alias do + {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean} + end + + class << self + # @api private + # + # Assumes superclass fields are totally defined before fields are accessed / + # defined on subclasses. + sig do + returns( + T::Hash[ + Symbol, + T.all( + OpenAI::BaseModel::KnownFieldShape, + {type_fn: T.proc.returns(OpenAI::Internal::Type::Converter::Input)} + ) + ] + ) + end + def known_fields + end + + # @api private + sig do + returns( + T::Hash[Symbol, + T.all( + OpenAI::BaseModel::KnownFieldShape, + {type: OpenAI::Internal::Type::Converter::Input} + )] + ) + end + def fields + end + + # @api private + sig do + params( + name_sym: Symbol, + required: T::Boolean, + type_info: T.any( + { + const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)), + enum: T.nilable(T.proc.returns(OpenAI::Internal::Type::Converter::Input)), + union: T.nilable(T.proc.returns(OpenAI::Internal::Type::Converter::Input)), + api_name: Symbol, + nil?: T::Boolean + }, + T.proc.returns(OpenAI::Internal::Type::Converter::Input), + OpenAI::Internal::Type::Converter::Input + ), + spec: OpenAI::Internal::Util::AnyHash + ) + .void + end + private def add_field(name_sym, required:, type_info:, spec:) + end + + # @api private + sig do + params( + name_sym: Symbol, + type_info: T.any( + OpenAI::Internal::Util::AnyHash, + T.proc.returns(OpenAI::Internal::Type::Converter::Input), + OpenAI::Internal::Type::Converter::Input + ), + spec: OpenAI::Internal::Util::AnyHash + ) + .void + end + def required(name_sym, type_info, spec = {}) + end + + # @api private + sig do + params( + name_sym: Symbol, + type_info: T.any( + OpenAI::Internal::Util::AnyHash, + T.proc.returns(OpenAI::Internal::Type::Converter::Input), + OpenAI::Internal::Type::Converter::Input + ), + spec: OpenAI::Internal::Util::AnyHash + ) + .void + end + def optional(name_sym, type_info, spec = {}) + end + + # @api private + # + # `request_only` attributes not excluded from `.#coerce` when receiving responses + # even if well behaved servers should not send them + sig { params(blk: T.proc.void).void } + private def request_only(&blk) + end + + # @api private + # + # `response_only` attributes are omitted from `.#dump` when making requests + sig { params(blk: T.proc.void).void } + private def response_only(&blk) + end + + sig { params(other: T.anything).returns(T::Boolean) } + def ==(other) + end + end + + sig { params(other: T.anything).returns(T::Boolean) } + def ==(other) + end + + class << self + # @api private + sig do + override + .params( + value: T.any(OpenAI::BaseModel, T::Hash[T.anything, T.anything], T.anything), + state: OpenAI::Internal::Type::Converter::State + ) + .returns(T.any(T.attached_class, T.anything)) + end + def coerce(value, state:) + end + + # @api private + sig do + override + .params(value: T.any(T.attached_class, T.anything)) + .returns(T.any(T::Hash[T.anything, T.anything], T.anything)) + end + def dump(value) + end + end + + # Returns the raw value associated with the given key, if found. Otherwise, nil is + # returned. + # + # It is valid to lookup keys that are not in the API spec, for example to access + # undocumented features. This method does not parse response data into + # higher-level types. Lookup by anything other than a Symbol is an ArgumentError. + sig { params(key: Symbol).returns(T.nilable(T.anything)) } + def [](key) + end + + # Returns a Hash of the data underlying this object. O(1) + # + # Keys are Symbols and values are the raw values from the response. The return + # value indicates which values were ever set on the object. i.e. there will be a + # key in this hash if they ever were, even if the set value was nil. + # + # This method is not recursive. The returned value is shared by the object, so it + # should not be mutated. + sig { overridable.returns(OpenAI::Internal::Util::AnyHash) } + def to_h + end + + # Returns a Hash of the data underlying this object. O(1) + # + # Keys are Symbols and values are the raw values from the response. The return + # value indicates which values were ever set on the object. i.e. there will be a + # key in this hash if they ever were, even if the set value was nil. + # + # This method is not recursive. The returned value is shared by the object, so it + # should not be mutated. + sig { overridable.returns(OpenAI::Internal::Util::AnyHash) } + def to_hash + end + + sig { params(keys: T.nilable(T::Array[Symbol])).returns(OpenAI::Internal::Util::AnyHash) } + def deconstruct_keys(keys) + end + + sig { params(a: T.anything).returns(String) } + def to_json(*a) + end + + sig { params(a: T.anything).returns(String) } + def to_yaml(*a) + end + + # Create a new instance of a model. + sig { params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(T.attached_class) } + def self.new(data = {}) + end + + sig { returns(String) } + def inspect + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/base_page.rbi b/rbi/lib/openai/internal/type/base_page.rbi new file mode 100644 index 00000000..1125a5c8 --- /dev/null +++ b/rbi/lib/openai/internal/type/base_page.rbi @@ -0,0 +1,40 @@ +# typed: strong + +module OpenAI + module Internal + module Type + module BasePage + Elem = type_member(:out) + + sig { overridable.returns(T::Boolean) } + def next_page? + end + + sig { overridable.returns(T.self_type) } + def next_page + end + + sig { overridable.params(blk: T.proc.params(arg0: Elem).void).void } + def auto_paging_each(&blk) + end + + sig { returns(T::Enumerable[Elem]) } + def to_enum + end + + # @api private + sig do + params( + client: OpenAI::Internal::Transport::BaseClient, + req: OpenAI::Internal::Transport::BaseClient::RequestComponentsShape, + headers: T.any(T::Hash[String, String], Net::HTTPHeader), + page_data: T.anything + ) + .void + end + def initialize(client:, req:, headers:, page_data:) + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/base_stream.rbi b/rbi/lib/openai/internal/type/base_stream.rbi new file mode 100644 index 00000000..10e8da7e --- /dev/null +++ b/rbi/lib/openai/internal/type/base_stream.rbi @@ -0,0 +1,45 @@ +# typed: strong + +module OpenAI + module Internal + module Type + module BaseStream + include Enumerable + + Message = type_member(:in) + Elem = type_member(:out) + + sig { void } + def close + end + + # @api private + sig { overridable.returns(T::Enumerable[Elem]) } + private def iterator + end + + sig { params(blk: T.proc.params(arg0: Elem).void).void } + def each(&blk) + end + + sig { returns(T::Enumerator[Elem]) } + def to_enum + end + + # @api private + sig do + params( + model: T.any(T::Class[T.anything], OpenAI::Internal::Type::Converter), + url: URI::Generic, + status: Integer, + response: Net::HTTPResponse, + stream: T::Enumerable[Message] + ) + .void + end + def initialize(model:, url:, status:, response:, stream:) + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/boolean_model.rbi b/rbi/lib/openai/internal/type/boolean_model.rbi new file mode 100644 index 00000000..ab09cc33 --- /dev/null +++ b/rbi/lib/openai/internal/type/boolean_model.rbi @@ -0,0 +1,43 @@ +# typed: strong + +module OpenAI + module Internal + module Type + # @api private + # + # Ruby has no Boolean class; this is something for models to refer to. + class BooleanModel + extend OpenAI::Internal::Type::Converter + + abstract! + final! + + sig(:final) { params(other: T.anything).returns(T::Boolean) } + def self.===(other) + end + + sig(:final) { params(other: T.anything).returns(T::Boolean) } + def self.==(other) + end + + class << self + # @api private + sig(:final) do + override + .params(value: T.any(T::Boolean, T.anything), state: OpenAI::Internal::Type::Converter::State) + .returns(T.any(T::Boolean, T.anything)) + end + def coerce(value, state:) + end + + # @api private + sig(:final) do + override.params(value: T.any(T::Boolean, T.anything)).returns(T.any(T::Boolean, T.anything)) + end + def dump(value) + end + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/converter.rbi b/rbi/lib/openai/internal/type/converter.rbi new file mode 100644 index 00000000..e529f225 --- /dev/null +++ b/rbi/lib/openai/internal/type/converter.rbi @@ -0,0 +1,108 @@ +# typed: strong + +module OpenAI + module Internal + module Type + # @api private + module Converter + Input = T.type_alias { T.any(OpenAI::Internal::Type::Converter, T::Class[T.anything]) } + + State = + T.type_alias do + { + strictness: T.any(T::Boolean, Symbol), + exactness: {yes: Integer, no: Integer, maybe: Integer}, + branched: Integer + } + end + + # @api private + sig do + overridable.params( + value: T.anything, + state: OpenAI::Internal::Type::Converter::State + ).returns(T.anything) + end + def coerce(value, state:) + end + + # @api private + sig { overridable.params(value: T.anything).returns(T.anything) } + def dump(value) + end + + class << self + # @api private + sig do + params( + spec: T.any( + { + const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)), + enum: T.nilable(T.proc.returns(OpenAI::Internal::Type::Converter::Input)), + union: T.nilable(T.proc.returns(OpenAI::Internal::Type::Converter::Input)) + }, + T.proc.returns(OpenAI::Internal::Type::Converter::Input), + OpenAI::Internal::Type::Converter::Input + ) + ) + .returns(T.proc.returns(T.anything)) + end + def self.type_info(spec) + end + + # @api private + # + # Based on `target`, transform `value` into `target`, to the extent possible: + # + # 1. if the given `value` conforms to `target` already, return the given `value` + # 2. if it's possible and safe to convert the given `value` to `target`, then the + # converted value + # 3. otherwise, the given `value` unaltered + # + # The coercion process is subject to improvement between minor release versions. + # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode + sig do + params( + target: OpenAI::Internal::Type::Converter::Input, + value: T.anything, + state: OpenAI::Internal::Type::Converter::State + ) + .returns(T.anything) + end + def self.coerce( + target, + value, + # The `strictness` is one of `true`, `false`, or `:strong`. This informs the + # coercion strategy when we have to decide between multiple possible conversion + # targets: + # + # - `true`: the conversion must be exact, with minimum coercion. + # - `false`: the conversion can be approximate, with some coercion. + # - `:strong`: the conversion must be exact, with no coercion, and raise an error + # if not possible. + # + # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For + # any given conversion attempt, the exactness will be updated based on how closely + # the value recursively matches the target type: + # + # - `yes`: the value can be converted to the target type with minimum coercion. + # - `maybe`: the value can be converted to the target type with some reasonable + # coercion. + # - `no`: the value cannot be converted to the target type. + # + # See implementation below for more details. + state: {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} + ) + end + + # @api private + sig do + params(target: OpenAI::Internal::Type::Converter::Input, value: T.anything).returns(T.anything) + end + def self.dump(target, value) + end + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/enum.rbi b/rbi/lib/openai/internal/type/enum.rbi new file mode 100644 index 00000000..d64ea741 --- /dev/null +++ b/rbi/lib/openai/internal/type/enum.rbi @@ -0,0 +1,60 @@ +# typed: strong + +module OpenAI + module Internal + module Type + # @api private + # + # A value from among a specified list of options. OpenAPI enum values map to Ruby + # values in the SDK as follows: + # + # 1. boolean => true | false + # 2. integer => Integer + # 3. float => Float + # 4. string => Symbol + # + # We can therefore convert string values to Symbols, but can't convert other + # values safely. + module Enum + include OpenAI::Internal::Type::Converter + + # All of the valid Symbol values for this enum. + sig { overridable.returns(T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]) } + def values + end + + # @api private + # + # Guard against thread safety issues by instantiating `@values`. + sig { void } + private def finalize! + end + + sig { params(other: T.anything).returns(T::Boolean) } + def ===(other) + end + + sig { params(other: T.anything).returns(T::Boolean) } + def ==(other) + end + + # @api private + # + # Unlike with primitives, `Enum` additionally validates that the value is a member + # of the enum. + sig do + override + .params(value: T.any(String, Symbol, T.anything), state: OpenAI::Internal::Type::Converter::State) + .returns(T.any(Symbol, T.anything)) + end + def coerce(value, state:) + end + + # @api private + sig { override.params(value: T.any(Symbol, T.anything)).returns(T.any(Symbol, T.anything)) } + def dump(value) + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/hash_of.rbi b/rbi/lib/openai/internal/type/hash_of.rbi new file mode 100644 index 00000000..207ff5c9 --- /dev/null +++ b/rbi/lib/openai/internal/type/hash_of.rbi @@ -0,0 +1,87 @@ +# typed: strong + +module OpenAI + module Internal + module Type + # @api private + # + # Hash of items of a given type. + class HashOf + include OpenAI::Internal::Type::Converter + + abstract! + final! + + Elem = type_member(:out) + + sig(:final) do + params( + type_info: T.any( + OpenAI::Internal::Util::AnyHash, + T.proc.returns(OpenAI::Internal::Type::Converter::Input), + OpenAI::Internal::Type::Converter::Input + ), + spec: OpenAI::Internal::Util::AnyHash + ) + .returns(T.attached_class) + end + def self.[](type_info, spec = {}) + end + + sig(:final) { params(other: T.anything).returns(T::Boolean) } + def ===(other) + end + + sig(:final) { params(other: T.anything).returns(T::Boolean) } + def ==(other) + end + + # @api private + sig(:final) do + override + .params( + value: T.any(T::Hash[T.anything, T.anything], T.anything), + state: OpenAI::Internal::Type::Converter::State + ) + .returns(T.any(OpenAI::Internal::Util::AnyHash, T.anything)) + end + def coerce(value, state:) + end + + # @api private + sig(:final) do + override + .params(value: T.any(T::Hash[T.anything, T.anything], T.anything)) + .returns(T.any(OpenAI::Internal::Util::AnyHash, T.anything)) + end + def dump(value) + end + + # @api private + sig(:final) { returns(Elem) } + protected def item_type + end + + # @api private + sig(:final) { returns(T::Boolean) } + protected def nilable? + end + + # @api private + sig(:final) do + params( + type_info: T.any( + OpenAI::Internal::Util::AnyHash, + T.proc.returns(OpenAI::Internal::Type::Converter::Input), + OpenAI::Internal::Type::Converter::Input + ), + spec: OpenAI::Internal::Util::AnyHash + ) + .void + end + def initialize(type_info, spec = {}) + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/request_parameters.rbi b/rbi/lib/openai/internal/type/request_parameters.rbi new file mode 100644 index 00000000..6170a658 --- /dev/null +++ b/rbi/lib/openai/internal/type/request_parameters.rbi @@ -0,0 +1,22 @@ +# typed: strong + +module OpenAI + module Internal + module Type + # @api private + module RequestParameters + # Options to specify HTTP behaviour for this request. + sig { returns(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) } + attr_accessor :request_options + + # @api private + module Converter + # @api private + sig { params(params: T.anything).returns([T.anything, OpenAI::Internal::Util::AnyHash]) } + def dump_request(params) + end + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/union.rbi b/rbi/lib/openai/internal/type/union.rbi new file mode 100644 index 00000000..d96795ec --- /dev/null +++ b/rbi/lib/openai/internal/type/union.rbi @@ -0,0 +1,75 @@ +# typed: strong + +module OpenAI + module Internal + module Type + # @api private + module Union + include OpenAI::Internal::Type::Converter + + # @api private + # + # All of the specified variant info for this union. + sig do + returns(T::Array[[T.nilable(Symbol), T.proc.returns(OpenAI::Internal::Type::Converter::Input)]]) + end + private def known_variants + end + + # @api private + sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) } + protected def derefed_variants + end + + # All of the specified variants for this union. + sig { overridable.returns(T::Array[T.anything]) } + def variants + end + + # @api private + sig { params(property: Symbol).void } + private def discriminator(property) + end + + # @api private + sig do + params( + key: T.any(Symbol, OpenAI::Internal::Util::AnyHash, T.proc.returns(T.anything), T.anything), + spec: T.any(OpenAI::Internal::Util::AnyHash, T.proc.returns(T.anything), T.anything) + ) + .void + end + private def variant(key, spec = nil) + end + + # @api private + sig { params(value: T.anything).returns(T.nilable(T.anything)) } + private def resolve_variant(value) + end + + sig { params(other: T.anything).returns(T::Boolean) } + def ===(other) + end + + sig { params(other: T.anything).returns(T::Boolean) } + def ==(other) + end + + # @api private + sig do + override.params( + value: T.anything, + state: OpenAI::Internal::Type::Converter::State + ).returns(T.anything) + end + def coerce(value, state:) + end + + # @api private + sig { override.params(value: T.anything).returns(T.anything) } + def dump(value) + end + end + end + end +end diff --git a/rbi/lib/openai/internal/type/unknown.rbi b/rbi/lib/openai/internal/type/unknown.rbi new file mode 100644 index 00000000..96c59fe6 --- /dev/null +++ b/rbi/lib/openai/internal/type/unknown.rbi @@ -0,0 +1,42 @@ +# typed: strong + +module OpenAI + module Internal + module Type + # @api private + # + # When we don't know what to expect for the value. + class Unknown + extend OpenAI::Internal::Type::Converter + + abstract! + final! + + sig(:final) { params(other: T.anything).returns(T::Boolean) } + def self.===(other) + end + + sig(:final) { params(other: T.anything).returns(T::Boolean) } + def self.==(other) + end + + class << self + # @api private + sig(:final) do + override.params( + value: T.anything, + state: OpenAI::Internal::Type::Converter::State + ).returns(T.anything) + end + def coerce(value, state:) + end + + # @api private + sig(:final) { override.params(value: T.anything).returns(T.anything) } + def dump(value) + end + end + end + end + end +end diff --git a/rbi/lib/openai/internal/util.rbi b/rbi/lib/openai/internal/util.rbi new file mode 100644 index 00000000..5414927e --- /dev/null +++ b/rbi/lib/openai/internal/util.rbi @@ -0,0 +1,291 @@ +# typed: strong + +module OpenAI + module Internal + # @api private + module Util + # Due to the current WIP status of Shapes support in Sorbet, types referencing + # this alias might be refined in the future. + AnyHash = T.type_alias { T::Hash[Symbol, T.anything] } + + # @api private + sig { returns(Float) } + def self.monotonic_secs + end + + class << self + # @api private + sig { returns(String) } + def arch + end + + # @api private + sig { returns(String) } + def os + end + end + + class << self + # @api private + sig { params(input: T.anything).returns(T::Boolean) } + def primitive?(input) + end + + # @api private + sig { params(input: T.anything).returns(T.any(T::Boolean, T.anything)) } + def coerce_boolean(input) + end + + # @api private + sig { params(input: T.anything).returns(T.nilable(T::Boolean)) } + def coerce_boolean!(input) + end + + # @api private + sig { params(input: T.anything).returns(T.any(Integer, T.anything)) } + def coerce_integer(input) + end + + # @api private + sig { params(input: T.anything).returns(T.any(Float, T.anything)) } + def coerce_float(input) + end + + # @api private + sig { params(input: T.anything).returns(T.any(T::Hash[T.anything, T.anything], T.anything)) } + def coerce_hash(input) + end + end + + # Use this to indicate that a value should be explicitly removed from a data + # structure when using `OpenAI::Internal::Util.deep_merge`. + # + # e.g. merging `{a: 1}` and `{a: OMIT}` should produce `{}`, where merging + # `{a: 1}` and `{}` would produce `{a: 1}`. + OMIT = T.let(T.anything, T.anything) + + class << self + # @api private + sig { params(lhs: T.anything, rhs: T.anything, concat: T::Boolean).returns(T.anything) } + private def deep_merge_lr(lhs, rhs, concat: false) + end + + # @api private + # + # Recursively merge one hash with another. If the values at a given key are not + # both hashes, just take the new value. + sig do + params(values: T::Array[T.anything], sentinel: T.nilable(T.anything), concat: T::Boolean) + .returns(T.anything) + end + def deep_merge( + *values, + # the value to return if no values are provided. + sentinel: nil, + # whether to merge sequences by concatenation. + concat: false + ) + end + + # @api private + sig do + params( + data: T.any(OpenAI::Internal::Util::AnyHash, T::Array[T.anything], T.anything), + pick: T.nilable(T.any(Symbol, Integer, T::Array[T.any(Symbol, Integer)])), + sentinel: T.nilable(T.anything), + blk: T.nilable(T.proc.returns(T.anything)) + ) + .returns(T.nilable(T.anything)) + end + def dig(data, pick, sentinel = nil, &blk) + end + end + + class << self + # @api private + sig { params(uri: URI::Generic).returns(String) } + def uri_origin(uri) + end + + # @api private + sig { params(path: T.any(String, T::Array[String])).returns(String) } + def interpolate_path(path) + end + end + + class << self + # @api private + sig { params(query: T.nilable(String)).returns(T::Hash[String, T::Array[String]]) } + def decode_query(query) + end + + # @api private + sig do + params(query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])) + .returns(T.nilable(String)) + end + def encode_query(query) + end + end + + ParsedUriShape = + T.type_alias do + { + scheme: T.nilable(String), + host: T.nilable(String), + port: T.nilable(Integer), + path: T.nilable(String), + query: T::Hash[String, T::Array[String]] + } + end + + class << self + # @api private + sig { params(url: T.any(URI::Generic, String)).returns(OpenAI::Internal::Util::ParsedUriShape) } + def parse_uri(url) + end + + # @api private + sig { params(parsed: OpenAI::Internal::Util::ParsedUriShape).returns(URI::Generic) } + def unparse_uri(parsed) + end + + # @api private + sig do + params(lhs: OpenAI::Internal::Util::ParsedUriShape, rhs: OpenAI::Internal::Util::ParsedUriShape) + .returns(URI::Generic) + end + def join_parsed_uri(lhs, rhs) + end + end + + class << self + # @api private + sig do + params( + headers: T::Hash[String, + T.nilable(T.any(String, Integer, T::Array[T.nilable(T.any(String, Integer))]))] + ) + .returns(T::Hash[String, String]) + end + def normalized_headers(*headers) + end + end + + # @api private + # + # An adapter that satisfies the IO interface required by `::IO.copy_stream` + class ReadIOAdapter + # @api private + sig { params(max_len: T.nilable(Integer)).returns(String) } + private def read_enum(max_len) + end + + # @api private + sig { params(max_len: T.nilable(Integer), out_string: T.nilable(String)).returns(T.nilable(String)) } + def read(max_len = nil, out_string = nil) + end + + # @api private + sig do + params( + stream: T.any(String, IO, StringIO, T::Enumerable[String]), + blk: T.proc.params(arg0: String).void + ) + .returns(T.attached_class) + end + def self.new(stream, &blk) + end + end + + class << self + sig { params(blk: T.proc.params(y: Enumerator::Yielder).void).returns(T::Enumerable[String]) } + def writable_enum(&blk) + end + end + + class << self + # @api private + sig do + params(y: Enumerator::Yielder, boundary: String, key: T.any(Symbol, String), val: T.anything).void + end + private def write_multipart_chunk(y, boundary:, key:, val:) + end + + # @api private + sig { params(body: T.anything).returns([String, T::Enumerable[String]]) } + private def encode_multipart_streaming(body) + end + + # @api private + sig { params(headers: T::Hash[String, String], body: T.anything).returns(T.anything) } + def encode_content(headers, body) + end + + # @api private + sig do + params( + headers: T.any(T::Hash[String, String], Net::HTTPHeader), + stream: T::Enumerable[String], + suppress_error: T::Boolean + ) + .returns(T.anything) + end + def decode_content(headers, stream:, suppress_error: false) + end + end + + class << self + # @api private + # + # https://doc.rust-lang.org/std/iter/trait.FusedIterator.html + sig do + params(enum: T::Enumerable[T.anything], external: T::Boolean, close: T.proc.void) + .returns(T::Enumerable[T.anything]) + end + def fused_enum(enum, external: false, &close) + end + + # @api private + sig { params(enum: T.nilable(T::Enumerable[T.anything])).void } + def close_fused!(enum) + end + + # @api private + sig do + params( + enum: T.nilable(T::Enumerable[T.anything]), + blk: T.proc.params(arg0: Enumerator::Yielder).void + ) + .returns(T::Enumerable[T.anything]) + end + def chain_fused(enum, &blk) + end + end + + ServerSentEvent = + T.type_alias do + { + event: T.nilable(String), + data: T.nilable(String), + id: T.nilable(String), + retry: T.nilable(Integer) + } + end + + class << self + # @api private + sig { params(enum: T::Enumerable[String]).returns(T::Enumerable[String]) } + def decode_lines(enum) + end + + # @api private + # + # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream + sig { params(lines: T::Enumerable[String]).returns(OpenAI::Internal::Util::ServerSentEvent) } + def decode_sse(lines) + end + end + end + end +end diff --git a/rbi/lib/openai/models/audio/speech_create_params.rbi b/rbi/lib/openai/models/audio/speech_create_params.rbi index ed9a79de..4f531df7 100644 --- a/rbi/lib/openai/models/audio/speech_create_params.rbi +++ b/rbi/lib/openai/models/audio/speech_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Audio class SpeechCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The text to generate audio for. The maximum length is 4096 characters. sig { returns(String) } @@ -55,7 +55,7 @@ module OpenAI instructions: String, response_format: OpenAI::Models::Audio::SpeechCreateParams::ResponseFormat::OrSymbol, speed: Float, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/audio/transcription.rbi b/rbi/lib/openai/models/audio/transcription.rbi index 92154d33..f6d6ac1a 100644 --- a/rbi/lib/openai/models/audio/transcription.rbi +++ b/rbi/lib/openai/models/audio/transcription.rbi @@ -15,7 +15,9 @@ module OpenAI attr_reader :logprobs sig do - params(logprobs: T::Array[T.any(OpenAI::Models::Audio::Transcription::Logprob, OpenAI::Util::AnyHash)]) + params( + logprobs: T::Array[T.any(OpenAI::Models::Audio::Transcription::Logprob, OpenAI::Internal::Util::AnyHash)] + ) .void end attr_writer :logprobs @@ -25,7 +27,7 @@ module OpenAI sig do params( text: String, - logprobs: T::Array[T.any(OpenAI::Models::Audio::Transcription::Logprob, OpenAI::Util::AnyHash)] + logprobs: T::Array[T.any(OpenAI::Models::Audio::Transcription::Logprob, OpenAI::Internal::Util::AnyHash)] ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/audio/transcription_create_params.rbi b/rbi/lib/openai/models/audio/transcription_create_params.rbi index f20bc4f6..2db27d93 100644 --- a/rbi/lib/openai/models/audio/transcription_create_params.rbi +++ b/rbi/lib/openai/models/audio/transcription_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Audio class TranscriptionCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The audio file object (not file name) to transcribe, in one of these formats: # flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. @@ -98,7 +98,7 @@ module OpenAI response_format: OpenAI::Models::AudioResponseFormat::OrSymbol, temperature: Float, timestamp_granularities: T::Array[OpenAI::Models::Audio::TranscriptionCreateParams::TimestampGranularity::OrSymbol], - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/audio/transcription_text_delta_event.rbi b/rbi/lib/openai/models/audio/transcription_text_delta_event.rbi index 0e61bfb0..7612edef 100644 --- a/rbi/lib/openai/models/audio/transcription_text_delta_event.rbi +++ b/rbi/lib/openai/models/audio/transcription_text_delta_event.rbi @@ -20,7 +20,7 @@ module OpenAI sig do params( - logprobs: T::Array[T.any(OpenAI::Models::Audio::TranscriptionTextDeltaEvent::Logprob, OpenAI::Util::AnyHash)] + logprobs: T::Array[T.any(OpenAI::Models::Audio::TranscriptionTextDeltaEvent::Logprob, OpenAI::Internal::Util::AnyHash)] ) .void end @@ -33,7 +33,7 @@ module OpenAI sig do params( delta: String, - logprobs: T::Array[T.any(OpenAI::Models::Audio::TranscriptionTextDeltaEvent::Logprob, OpenAI::Util::AnyHash)], + logprobs: T::Array[T.any(OpenAI::Models::Audio::TranscriptionTextDeltaEvent::Logprob, OpenAI::Internal::Util::AnyHash)], type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/audio/transcription_text_done_event.rbi b/rbi/lib/openai/models/audio/transcription_text_done_event.rbi index ecfd6f55..fd8ce791 100644 --- a/rbi/lib/openai/models/audio/transcription_text_done_event.rbi +++ b/rbi/lib/openai/models/audio/transcription_text_done_event.rbi @@ -21,7 +21,7 @@ module OpenAI sig do params( - logprobs: T::Array[T.any(OpenAI::Models::Audio::TranscriptionTextDoneEvent::Logprob, OpenAI::Util::AnyHash)] + logprobs: T::Array[T.any(OpenAI::Models::Audio::TranscriptionTextDoneEvent::Logprob, OpenAI::Internal::Util::AnyHash)] ) .void end @@ -34,7 +34,7 @@ module OpenAI sig do params( text: String, - logprobs: T::Array[T.any(OpenAI::Models::Audio::TranscriptionTextDoneEvent::Logprob, OpenAI::Util::AnyHash)], + logprobs: T::Array[T.any(OpenAI::Models::Audio::TranscriptionTextDoneEvent::Logprob, OpenAI::Internal::Util::AnyHash)], type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/audio/transcription_verbose.rbi b/rbi/lib/openai/models/audio/transcription_verbose.rbi index 004b1ec3..6500d39d 100644 --- a/rbi/lib/openai/models/audio/transcription_verbose.rbi +++ b/rbi/lib/openai/models/audio/transcription_verbose.rbi @@ -20,14 +20,22 @@ module OpenAI sig { returns(T.nilable(T::Array[OpenAI::Models::Audio::TranscriptionSegment])) } attr_reader :segments - sig { params(segments: T::Array[T.any(OpenAI::Models::Audio::TranscriptionSegment, OpenAI::Util::AnyHash)]).void } + sig do + params( + segments: T::Array[T.any(OpenAI::Models::Audio::TranscriptionSegment, OpenAI::Internal::Util::AnyHash)] + ) + .void + end attr_writer :segments # Extracted words and their corresponding timestamps. sig { returns(T.nilable(T::Array[OpenAI::Models::Audio::TranscriptionWord])) } attr_reader :words - sig { params(words: T::Array[T.any(OpenAI::Models::Audio::TranscriptionWord, OpenAI::Util::AnyHash)]).void } + sig do + params(words: T::Array[T.any(OpenAI::Models::Audio::TranscriptionWord, OpenAI::Internal::Util::AnyHash)]) + .void + end attr_writer :words # Represents a verbose json transcription response returned by model, based on the @@ -37,8 +45,8 @@ module OpenAI duration: Float, language: String, text: String, - segments: T::Array[T.any(OpenAI::Models::Audio::TranscriptionSegment, OpenAI::Util::AnyHash)], - words: T::Array[T.any(OpenAI::Models::Audio::TranscriptionWord, OpenAI::Util::AnyHash)] + segments: T::Array[T.any(OpenAI::Models::Audio::TranscriptionSegment, OpenAI::Internal::Util::AnyHash)], + words: T::Array[T.any(OpenAI::Models::Audio::TranscriptionWord, OpenAI::Internal::Util::AnyHash)] ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/audio/translation_create_params.rbi b/rbi/lib/openai/models/audio/translation_create_params.rbi index e0a7e1ea..6c2cdb3a 100644 --- a/rbi/lib/openai/models/audio/translation_create_params.rbi +++ b/rbi/lib/openai/models/audio/translation_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Audio class TranslationCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The audio file object (not file name) translate, in one of these formats: flac, # mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. @@ -53,7 +53,7 @@ module OpenAI prompt: String, response_format: OpenAI::Models::Audio::TranslationCreateParams::ResponseFormat::OrSymbol, temperature: Float, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/audio/translation_verbose.rbi b/rbi/lib/openai/models/audio/translation_verbose.rbi index f12cba37..fee32692 100644 --- a/rbi/lib/openai/models/audio/translation_verbose.rbi +++ b/rbi/lib/openai/models/audio/translation_verbose.rbi @@ -20,7 +20,12 @@ module OpenAI sig { returns(T.nilable(T::Array[OpenAI::Models::Audio::TranscriptionSegment])) } attr_reader :segments - sig { params(segments: T::Array[T.any(OpenAI::Models::Audio::TranscriptionSegment, OpenAI::Util::AnyHash)]).void } + sig do + params( + segments: T::Array[T.any(OpenAI::Models::Audio::TranscriptionSegment, OpenAI::Internal::Util::AnyHash)] + ) + .void + end attr_writer :segments sig do @@ -28,7 +33,7 @@ module OpenAI duration: Float, language: String, text: String, - segments: T::Array[T.any(OpenAI::Models::Audio::TranscriptionSegment, OpenAI::Util::AnyHash)] + segments: T::Array[T.any(OpenAI::Models::Audio::TranscriptionSegment, OpenAI::Internal::Util::AnyHash)] ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/batch.rbi b/rbi/lib/openai/models/batch.rbi index f82137fc..ddeafb8b 100644 --- a/rbi/lib/openai/models/batch.rbi +++ b/rbi/lib/openai/models/batch.rbi @@ -61,7 +61,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Batch::Errors)) } attr_reader :errors - sig { params(errors: T.any(OpenAI::Models::Batch::Errors, OpenAI::Util::AnyHash)).void } + sig { params(errors: T.any(OpenAI::Models::Batch::Errors, OpenAI::Internal::Util::AnyHash)).void } attr_writer :errors # The Unix timestamp (in seconds) for when the batch expired. @@ -119,7 +119,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::BatchRequestCounts)) } attr_reader :request_counts - sig { params(request_counts: T.any(OpenAI::Models::BatchRequestCounts, OpenAI::Util::AnyHash)).void } + sig { params(request_counts: T.any(OpenAI::Models::BatchRequestCounts, OpenAI::Internal::Util::AnyHash)).void } attr_writer :request_counts sig do @@ -134,7 +134,7 @@ module OpenAI cancelling_at: Integer, completed_at: Integer, error_file_id: String, - errors: T.any(OpenAI::Models::Batch::Errors, OpenAI::Util::AnyHash), + errors: T.any(OpenAI::Models::Batch::Errors, OpenAI::Internal::Util::AnyHash), expired_at: Integer, expires_at: Integer, failed_at: Integer, @@ -142,7 +142,7 @@ module OpenAI in_progress_at: Integer, metadata: T.nilable(T::Hash[Symbol, String]), output_file_id: String, - request_counts: T.any(OpenAI::Models::BatchRequestCounts, OpenAI::Util::AnyHash), + request_counts: T.any(OpenAI::Models::BatchRequestCounts, OpenAI::Internal::Util::AnyHash), object: Symbol ) .returns(T.attached_class) @@ -226,7 +226,7 @@ module OpenAI sig { returns(T.nilable(T::Array[OpenAI::Models::BatchError])) } attr_reader :data - sig { params(data: T::Array[T.any(OpenAI::Models::BatchError, OpenAI::Util::AnyHash)]).void } + sig { params(data: T::Array[T.any(OpenAI::Models::BatchError, OpenAI::Internal::Util::AnyHash)]).void } attr_writer :data # The object type, which is always `list`. @@ -237,7 +237,7 @@ module OpenAI attr_writer :object sig do - params(data: T::Array[T.any(OpenAI::Models::BatchError, OpenAI::Util::AnyHash)], object: String) + params(data: T::Array[T.any(OpenAI::Models::BatchError, OpenAI::Internal::Util::AnyHash)], object: String) .returns(T.attached_class) end def self.new(data: nil, object: nil) diff --git a/rbi/lib/openai/models/batch_cancel_params.rbi b/rbi/lib/openai/models/batch_cancel_params.rbi index 3abd1e78..dfdfdb51 100644 --- a/rbi/lib/openai/models/batch_cancel_params.rbi +++ b/rbi/lib/openai/models/batch_cancel_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class BatchCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/batch_create_params.rbi b/rbi/lib/openai/models/batch_create_params.rbi index ebc9f457..4a38d820 100644 --- a/rbi/lib/openai/models/batch_create_params.rbi +++ b/rbi/lib/openai/models/batch_create_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class BatchCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The time frame within which the batch should be processed. Currently only `24h` # is supported. @@ -45,7 +45,7 @@ module OpenAI endpoint: OpenAI::Models::BatchCreateParams::Endpoint::OrSymbol, input_file_id: String, metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/batch_list_params.rbi b/rbi/lib/openai/models/batch_list_params.rbi index 571dd654..498b22b2 100644 --- a/rbi/lib/openai/models/batch_list_params.rbi +++ b/rbi/lib/openai/models/batch_list_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class BatchListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A cursor for use in pagination. `after` is an object ID that defines your place # in the list. For instance, if you make a list request and receive 100 objects, @@ -28,7 +28,7 @@ module OpenAI params( after: String, limit: Integer, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/batch_retrieve_params.rbi b/rbi/lib/openai/models/batch_retrieve_params.rbi index b984cd5d..ced68a22 100644 --- a/rbi/lib/openai/models/batch_retrieve_params.rbi +++ b/rbi/lib/openai/models/batch_retrieve_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class BatchRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/beta/assistant.rbi b/rbi/lib/openai/models/beta/assistant.rbi index e5fcf3bc..de41edc8 100644 --- a/rbi/lib/openai/models/beta/assistant.rbi +++ b/rbi/lib/openai/models/beta/assistant.rbi @@ -111,7 +111,7 @@ module OpenAI sig do params( - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::Assistant::ToolResources, OpenAI::Util::AnyHash)) + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::Assistant::ToolResources, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -138,7 +138,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) @@ -147,13 +147,13 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) ), temperature: T.nilable(Float), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::Assistant::ToolResources, OpenAI::Util::AnyHash)), + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::Assistant::ToolResources, OpenAI::Internal::Util::AnyHash)), top_p: T.nilable(Float), object: Symbol ) @@ -218,7 +218,7 @@ module OpenAI sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::Assistant::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash) + code_interpreter: T.any(OpenAI::Models::Beta::Assistant::ToolResources::CodeInterpreter, OpenAI::Internal::Util::AnyHash) ) .void end @@ -229,7 +229,7 @@ module OpenAI sig do params( - file_search: T.any(OpenAI::Models::Beta::Assistant::ToolResources::FileSearch, OpenAI::Util::AnyHash) + file_search: T.any(OpenAI::Models::Beta::Assistant::ToolResources::FileSearch, OpenAI::Internal::Util::AnyHash) ) .void end @@ -241,8 +241,8 @@ module OpenAI # IDs. sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::Assistant::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash), - file_search: T.any(OpenAI::Models::Beta::Assistant::ToolResources::FileSearch, OpenAI::Util::AnyHash) + code_interpreter: T.any(OpenAI::Models::Beta::Assistant::ToolResources::CodeInterpreter, OpenAI::Internal::Util::AnyHash), + file_search: T.any(OpenAI::Models::Beta::Assistant::ToolResources::FileSearch, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/assistant_create_params.rbi b/rbi/lib/openai/models/beta/assistant_create_params.rbi index 75169d1b..19dabe18 100644 --- a/rbi/lib/openai/models/beta/assistant_create_params.rbi +++ b/rbi/lib/openai/models/beta/assistant_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Beta class AssistantCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # ID of the model to use. You can use the # [List models](https://platform.openai.com/docs/api-reference/models/list) API to @@ -95,7 +95,9 @@ module OpenAI sig do params( - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources, OpenAI::Util::AnyHash)) + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ) ) .void end @@ -124,7 +126,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) @@ -154,23 +156,25 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) ), temperature: T.nilable(Float), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources, OpenAI::Util::AnyHash)), + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ), tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) ], top_p: T.nilable(Float), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -244,7 +248,10 @@ module OpenAI sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash) + code_interpreter: T.any( + OpenAI::Models::Beta::AssistantCreateParams::ToolResources::CodeInterpreter, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -255,7 +262,10 @@ module OpenAI sig do params( - file_search: T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + file_search: T.any( + OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -267,8 +277,14 @@ module OpenAI # IDs. sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash), - file_search: T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + code_interpreter: T.any( + OpenAI::Models::Beta::AssistantCreateParams::ToolResources::CodeInterpreter, + OpenAI::Internal::Util::AnyHash + ), + file_search: T.any( + OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .returns(T.attached_class) end @@ -333,7 +349,7 @@ module OpenAI vector_stores: T::Array[ T.any( OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) @@ -347,7 +363,7 @@ module OpenAI vector_stores: T::Array[ T.any( OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) @@ -387,7 +403,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static ) ) @@ -417,7 +433,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static ), file_ids: T::Array[String], @@ -477,7 +493,7 @@ module OpenAI params( static: T.any( OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -492,7 +508,7 @@ module OpenAI params( static: T.any( OpenAI::Models::Beta::AssistantCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), type: Symbol ) diff --git a/rbi/lib/openai/models/beta/assistant_delete_params.rbi b/rbi/lib/openai/models/beta/assistant_delete_params.rbi index ca945e48..31fbc46f 100644 --- a/rbi/lib/openai/models/beta/assistant_delete_params.rbi +++ b/rbi/lib/openai/models/beta/assistant_delete_params.rbi @@ -4,16 +4,12 @@ module OpenAI module Models module Beta class AssistantDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/beta/assistant_list_params.rbi b/rbi/lib/openai/models/beta/assistant_list_params.rbi index 57461148..c8a24c36 100644 --- a/rbi/lib/openai/models/beta/assistant_list_params.rbi +++ b/rbi/lib/openai/models/beta/assistant_list_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Beta class AssistantListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A cursor for use in pagination. `after` is an object ID that defines your place # in the list. For instance, if you make a list request and receive 100 objects, @@ -49,7 +49,7 @@ module OpenAI before: String, limit: Integer, order: OpenAI::Models::Beta::AssistantListParams::Order::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/assistant_retrieve_params.rbi b/rbi/lib/openai/models/beta/assistant_retrieve_params.rbi index cb2206a7..3e5121e0 100644 --- a/rbi/lib/openai/models/beta/assistant_retrieve_params.rbi +++ b/rbi/lib/openai/models/beta/assistant_retrieve_params.rbi @@ -4,16 +4,12 @@ module OpenAI module Models module Beta class AssistantRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/beta/assistant_stream_event.rbi b/rbi/lib/openai/models/beta/assistant_stream_event.rbi index 5aa7ac81..e3b90b3b 100644 --- a/rbi/lib/openai/models/beta/assistant_stream_event.rbi +++ b/rbi/lib/openai/models/beta/assistant_stream_event.rbi @@ -32,7 +32,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Thread) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Thread, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Thread, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -50,7 +50,7 @@ module OpenAI # created. sig do params( - data: T.any(OpenAI::Models::Beta::Thread, OpenAI::Util::AnyHash), + data: T.any(OpenAI::Models::Beta::Thread, OpenAI::Internal::Util::AnyHash), enabled: T::Boolean, event: Symbol ) @@ -70,7 +70,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -79,7 +79,7 @@ module OpenAI # Occurs when a new # [run](https://platform.openai.com/docs/api-reference/runs/object) is created. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.created") @@ -96,7 +96,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -105,7 +105,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # moves to a `queued` status. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.queued") @@ -122,7 +122,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -131,7 +131,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # moves to an `in_progress` status. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.in_progress") @@ -148,7 +148,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -157,7 +157,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # moves to a `requires_action` status. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.requires_action") @@ -174,7 +174,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -183,7 +183,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # is completed. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.completed") @@ -200,7 +200,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -209,7 +209,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # ends with status `incomplete`. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.incomplete") @@ -226,7 +226,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -235,7 +235,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # fails. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.failed") @@ -252,7 +252,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -261,7 +261,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # moves to a `cancelling` status. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.cancelling") @@ -278,7 +278,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -287,7 +287,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # is cancelled. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.cancelled") @@ -304,7 +304,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -313,7 +313,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # expires. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.expired") @@ -329,7 +329,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -339,7 +339,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # is created. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.created") @@ -355,7 +358,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -365,7 +368,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # moves to an `in_progress` state. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.in_progress") @@ -382,7 +388,12 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent, OpenAI::Util::AnyHash)).void } + sig do + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :data sig { returns(Symbol) } @@ -393,7 +404,7 @@ module OpenAI # are being streamed. sig do params( - data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent, OpenAI::Util::AnyHash), + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent, OpenAI::Internal::Util::AnyHash), event: Symbol ) .returns(T.attached_class) @@ -411,7 +422,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -421,7 +432,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # is completed. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.completed") @@ -437,7 +451,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -447,7 +461,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # fails. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.failed") @@ -463,7 +480,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -473,7 +490,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # is cancelled. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.cancelled") @@ -489,7 +509,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -499,7 +519,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # expires. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.expired") @@ -516,7 +539,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Message) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -526,7 +549,10 @@ module OpenAI # [message](https://platform.openai.com/docs/api-reference/messages/object) is # created. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.message.created") @@ -543,7 +569,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Message) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -553,7 +579,10 @@ module OpenAI # [message](https://platform.openai.com/docs/api-reference/messages/object) moves # to an `in_progress` state. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.message.in_progress") @@ -570,7 +599,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::MessageDeltaEvent) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::MessageDeltaEvent, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::MessageDeltaEvent, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -581,7 +610,7 @@ module OpenAI # being streamed. sig do params( - data: T.any(OpenAI::Models::Beta::Threads::MessageDeltaEvent, OpenAI::Util::AnyHash), + data: T.any(OpenAI::Models::Beta::Threads::MessageDeltaEvent, OpenAI::Internal::Util::AnyHash), event: Symbol ) .returns(T.attached_class) @@ -600,7 +629,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Message) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -610,7 +639,10 @@ module OpenAI # [message](https://platform.openai.com/docs/api-reference/messages/object) is # completed. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.message.completed") @@ -627,7 +659,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Message) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -637,7 +669,10 @@ module OpenAI # [message](https://platform.openai.com/docs/api-reference/messages/object) ends # before it is completed. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.message.incomplete") @@ -652,7 +687,7 @@ module OpenAI sig { returns(OpenAI::Models::ErrorObject) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::ErrorObject, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::ErrorObject, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -662,7 +697,7 @@ module OpenAI # [error](https://platform.openai.com/docs/guides/error-codes#api-errors) occurs. # This can happen due to an internal server error or a timeout. sig do - params(data: T.any(OpenAI::Models::ErrorObject, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::ErrorObject, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :error) diff --git a/rbi/lib/openai/models/beta/assistant_tool_choice.rbi b/rbi/lib/openai/models/beta/assistant_tool_choice.rbi index e1475eed..36c345d4 100644 --- a/rbi/lib/openai/models/beta/assistant_tool_choice.rbi +++ b/rbi/lib/openai/models/beta/assistant_tool_choice.rbi @@ -11,7 +11,12 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Beta::AssistantToolChoiceFunction)) } attr_reader :function - sig { params(function: T.any(OpenAI::Models::Beta::AssistantToolChoiceFunction, OpenAI::Util::AnyHash)).void } + sig do + params( + function: T.any(OpenAI::Models::Beta::AssistantToolChoiceFunction, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :function # Specifies a tool the model should use. Use to force the model to call a specific @@ -19,7 +24,7 @@ module OpenAI sig do params( type: OpenAI::Models::Beta::AssistantToolChoice::Type::OrSymbol, - function: T.any(OpenAI::Models::Beta::AssistantToolChoiceFunction, OpenAI::Util::AnyHash) + function: T.any(OpenAI::Models::Beta::AssistantToolChoiceFunction, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/assistant_update_params.rbi b/rbi/lib/openai/models/beta/assistant_update_params.rbi index bb5f00ab..929c5b35 100644 --- a/rbi/lib/openai/models/beta/assistant_update_params.rbi +++ b/rbi/lib/openai/models/beta/assistant_update_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Beta class AssistantUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The description of the assistant. The maximum length is 512 characters. sig { returns(T.nilable(String)) } @@ -98,7 +98,9 @@ module OpenAI sig do params( - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources, OpenAI::Util::AnyHash)) + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ) ) .void end @@ -127,7 +129,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) @@ -157,23 +159,25 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) ), temperature: T.nilable(Float), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources, OpenAI::Util::AnyHash)), + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ), tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) ], top_p: T.nilable(Float), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -301,7 +305,10 @@ module OpenAI sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash) + code_interpreter: T.any( + OpenAI::Models::Beta::AssistantUpdateParams::ToolResources::CodeInterpreter, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -312,7 +319,10 @@ module OpenAI sig do params( - file_search: T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + file_search: T.any( + OpenAI::Models::Beta::AssistantUpdateParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -324,8 +334,14 @@ module OpenAI # IDs. sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash), - file_search: T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + code_interpreter: T.any( + OpenAI::Models::Beta::AssistantUpdateParams::ToolResources::CodeInterpreter, + OpenAI::Internal::Util::AnyHash + ), + file_search: T.any( + OpenAI::Models::Beta::AssistantUpdateParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/file_search_tool.rbi b/rbi/lib/openai/models/beta/file_search_tool.rbi index 61181130..e13ceaf5 100644 --- a/rbi/lib/openai/models/beta/file_search_tool.rbi +++ b/rbi/lib/openai/models/beta/file_search_tool.rbi @@ -12,12 +12,17 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Beta::FileSearchTool::FileSearch)) } attr_reader :file_search - sig { params(file_search: T.any(OpenAI::Models::Beta::FileSearchTool::FileSearch, OpenAI::Util::AnyHash)).void } + sig do + params( + file_search: T.any(OpenAI::Models::Beta::FileSearchTool::FileSearch, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :file_search sig do params( - file_search: T.any(OpenAI::Models::Beta::FileSearchTool::FileSearch, OpenAI::Util::AnyHash), + file_search: T.any(OpenAI::Models::Beta::FileSearchTool::FileSearch, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) @@ -55,7 +60,7 @@ module OpenAI sig do params( - ranking_options: T.any(OpenAI::Models::Beta::FileSearchTool::FileSearch::RankingOptions, OpenAI::Util::AnyHash) + ranking_options: T.any(OpenAI::Models::Beta::FileSearchTool::FileSearch::RankingOptions, OpenAI::Internal::Util::AnyHash) ) .void end @@ -65,7 +70,7 @@ module OpenAI sig do params( max_num_results: Integer, - ranking_options: T.any(OpenAI::Models::Beta::FileSearchTool::FileSearch::RankingOptions, OpenAI::Util::AnyHash) + ranking_options: T.any(OpenAI::Models::Beta::FileSearchTool::FileSearch::RankingOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/function_tool.rbi b/rbi/lib/openai/models/beta/function_tool.rbi index b12da233..8d337d24 100644 --- a/rbi/lib/openai/models/beta/function_tool.rbi +++ b/rbi/lib/openai/models/beta/function_tool.rbi @@ -7,7 +7,7 @@ module OpenAI sig { returns(OpenAI::Models::FunctionDefinition) } attr_reader :function - sig { params(function: T.any(OpenAI::Models::FunctionDefinition, OpenAI::Util::AnyHash)).void } + sig { params(function: T.any(OpenAI::Models::FunctionDefinition, OpenAI::Internal::Util::AnyHash)).void } attr_writer :function # The type of tool being defined: `function` @@ -15,7 +15,7 @@ module OpenAI attr_accessor :type sig do - params(function: T.any(OpenAI::Models::FunctionDefinition, OpenAI::Util::AnyHash), type: Symbol) + params(function: T.any(OpenAI::Models::FunctionDefinition, OpenAI::Internal::Util::AnyHash), type: Symbol) .returns(T.attached_class) end def self.new(function:, type: :function) diff --git a/rbi/lib/openai/models/beta/message_stream_event.rbi b/rbi/lib/openai/models/beta/message_stream_event.rbi index d141e77e..0c56b760 100644 --- a/rbi/lib/openai/models/beta/message_stream_event.rbi +++ b/rbi/lib/openai/models/beta/message_stream_event.rbi @@ -15,7 +15,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Message) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -25,7 +25,10 @@ module OpenAI # [message](https://platform.openai.com/docs/api-reference/messages/object) is # created. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.message.created") @@ -42,7 +45,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Message) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -52,7 +55,10 @@ module OpenAI # [message](https://platform.openai.com/docs/api-reference/messages/object) moves # to an `in_progress` state. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.message.in_progress") @@ -69,7 +75,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::MessageDeltaEvent) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::MessageDeltaEvent, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::MessageDeltaEvent, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -80,7 +86,7 @@ module OpenAI # being streamed. sig do params( - data: T.any(OpenAI::Models::Beta::Threads::MessageDeltaEvent, OpenAI::Util::AnyHash), + data: T.any(OpenAI::Models::Beta::Threads::MessageDeltaEvent, OpenAI::Internal::Util::AnyHash), event: Symbol ) .returns(T.attached_class) @@ -99,7 +105,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Message) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -109,7 +115,10 @@ module OpenAI # [message](https://platform.openai.com/docs/api-reference/messages/object) is # completed. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.message.completed") @@ -126,7 +135,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Message) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -136,7 +145,10 @@ module OpenAI # [message](https://platform.openai.com/docs/api-reference/messages/object) ends # before it is completed. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Message, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.message.incomplete") diff --git a/rbi/lib/openai/models/beta/run_step_stream_event.rbi b/rbi/lib/openai/models/beta/run_step_stream_event.rbi index 18316a2b..dddd0b7e 100644 --- a/rbi/lib/openai/models/beta/run_step_stream_event.rbi +++ b/rbi/lib/openai/models/beta/run_step_stream_event.rbi @@ -14,7 +14,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -24,7 +24,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # is created. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.created") @@ -40,7 +43,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -50,7 +53,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # moves to an `in_progress` state. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.in_progress") @@ -67,7 +73,12 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent, OpenAI::Util::AnyHash)).void } + sig do + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :data sig { returns(Symbol) } @@ -78,7 +89,7 @@ module OpenAI # are being streamed. sig do params( - data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent, OpenAI::Util::AnyHash), + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDeltaEvent, OpenAI::Internal::Util::AnyHash), event: Symbol ) .returns(T.attached_class) @@ -96,7 +107,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -106,7 +117,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # is completed. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.completed") @@ -122,7 +136,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -132,7 +146,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # fails. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.failed") @@ -148,7 +165,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -158,7 +175,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # is cancelled. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.cancelled") @@ -174,7 +194,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStep) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -184,7 +204,10 @@ module OpenAI # [run step](https://platform.openai.com/docs/api-reference/run-steps/step-object) # expires. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Util::AnyHash), event: Symbol) + params( + data: T.any(OpenAI::Models::Beta::Threads::Runs::RunStep, OpenAI::Internal::Util::AnyHash), + event: Symbol + ) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.step.expired") diff --git a/rbi/lib/openai/models/beta/run_stream_event.rbi b/rbi/lib/openai/models/beta/run_stream_event.rbi index 48a1e1c2..2b6188fc 100644 --- a/rbi/lib/openai/models/beta/run_stream_event.rbi +++ b/rbi/lib/openai/models/beta/run_stream_event.rbi @@ -14,7 +14,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -23,7 +23,7 @@ module OpenAI # Occurs when a new # [run](https://platform.openai.com/docs/api-reference/runs/object) is created. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.created") @@ -40,7 +40,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -49,7 +49,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # moves to a `queued` status. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.queued") @@ -66,7 +66,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -75,7 +75,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # moves to an `in_progress` status. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.in_progress") @@ -92,7 +92,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -101,7 +101,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # moves to a `requires_action` status. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.requires_action") @@ -118,7 +118,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -127,7 +127,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # is completed. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.completed") @@ -144,7 +144,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -153,7 +153,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # ends with status `incomplete`. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.incomplete") @@ -170,7 +170,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -179,7 +179,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # fails. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.failed") @@ -196,7 +196,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -205,7 +205,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # moves to a `cancelling` status. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.cancelling") @@ -222,7 +222,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -231,7 +231,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # is cancelled. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.cancelled") @@ -248,7 +248,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Run) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -257,7 +257,7 @@ module OpenAI # Occurs when a [run](https://platform.openai.com/docs/api-reference/runs/object) # expires. sig do - params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Util::AnyHash), event: Symbol) + params(data: T.any(OpenAI::Models::Beta::Threads::Run, OpenAI::Internal::Util::AnyHash), event: Symbol) .returns(T.attached_class) end def self.new(data:, event: :"thread.run.expired") diff --git a/rbi/lib/openai/models/beta/thread.rbi b/rbi/lib/openai/models/beta/thread.rbi index 9061c27f..052a7fc3 100644 --- a/rbi/lib/openai/models/beta/thread.rbi +++ b/rbi/lib/openai/models/beta/thread.rbi @@ -34,7 +34,7 @@ module OpenAI sig do params( - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::Thread::ToolResources, OpenAI::Util::AnyHash)) + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::Thread::ToolResources, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -47,7 +47,7 @@ module OpenAI id: String, created_at: Integer, metadata: T.nilable(T::Hash[Symbol, String]), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::Thread::ToolResources, OpenAI::Util::AnyHash)), + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::Thread::ToolResources, OpenAI::Internal::Util::AnyHash)), object: Symbol ) .returns(T.attached_class) @@ -76,7 +76,7 @@ module OpenAI sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::Thread::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash) + code_interpreter: T.any(OpenAI::Models::Beta::Thread::ToolResources::CodeInterpreter, OpenAI::Internal::Util::AnyHash) ) .void end @@ -86,7 +86,9 @@ module OpenAI attr_reader :file_search sig do - params(file_search: T.any(OpenAI::Models::Beta::Thread::ToolResources::FileSearch, OpenAI::Util::AnyHash)) + params( + file_search: T.any(OpenAI::Models::Beta::Thread::ToolResources::FileSearch, OpenAI::Internal::Util::AnyHash) + ) .void end attr_writer :file_search @@ -97,8 +99,8 @@ module OpenAI # tool requires a list of vector store IDs. sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::Thread::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash), - file_search: T.any(OpenAI::Models::Beta::Thread::ToolResources::FileSearch, OpenAI::Util::AnyHash) + code_interpreter: T.any(OpenAI::Models::Beta::Thread::ToolResources::CodeInterpreter, OpenAI::Internal::Util::AnyHash), + file_search: T.any(OpenAI::Models::Beta::Thread::ToolResources::FileSearch, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/thread_create_and_run_params.rbi b/rbi/lib/openai/models/beta/thread_create_and_run_params.rbi index 963ba806..c99ab223 100644 --- a/rbi/lib/openai/models/beta/thread_create_and_run_params.rbi +++ b/rbi/lib/openai/models/beta/thread_create_and_run_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Beta class ThreadCreateAndRunParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The ID of the # [assistant](https://platform.openai.com/docs/api-reference/assistants) to use to @@ -104,7 +104,12 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread)) } attr_reader :thread - sig { params(thread: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread, OpenAI::Util::AnyHash)).void } + sig do + params( + thread: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :thread # Controls which (if any) tool is called by the model. `none` means the model will @@ -135,7 +140,9 @@ module OpenAI sig do params( - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources, OpenAI::Util::AnyHash)) + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ) ) .void end @@ -174,7 +181,7 @@ module OpenAI sig do params( truncation_strategy: T.nilable( - T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy, OpenAI::Util::AnyHash) + T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy, OpenAI::Internal::Util::AnyHash) ) ) .void @@ -194,26 +201,28 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) ), temperature: T.nilable(Float), - thread: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread, OpenAI::Util::AnyHash), + thread: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread, OpenAI::Internal::Util::AnyHash), tool_choice: T.nilable( T.any( OpenAI::Models::Beta::AssistantToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Beta::AssistantToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources, OpenAI::Util::AnyHash)), + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ), tools: T.nilable( T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) @@ -221,9 +230,9 @@ module OpenAI ), top_p: T.nilable(Float), truncation_strategy: T.nilable( - T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy, OpenAI::Util::AnyHash) + T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy, OpenAI::Internal::Util::AnyHash) ), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -313,7 +322,7 @@ module OpenAI sig do params( - messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message, OpenAI::Util::AnyHash)] + messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message, OpenAI::Internal::Util::AnyHash)] ) .void end @@ -338,7 +347,10 @@ module OpenAI sig do params( tool_resources: T.nilable( - T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources, OpenAI::Util::AnyHash) + T.any( + OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources, + OpenAI::Internal::Util::AnyHash + ) ) ) .void @@ -349,10 +361,13 @@ module OpenAI # an empty thread will be created. sig do params( - messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message, OpenAI::Util::AnyHash)], + messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message, OpenAI::Internal::Util::AnyHash)], metadata: T.nilable(T::Hash[Symbol, String]), tool_resources: T.nilable( - T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources, OpenAI::Util::AnyHash) + T.any( + OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources, + OpenAI::Internal::Util::AnyHash + ) ) ) .returns(T.attached_class) @@ -420,7 +435,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::ImageURLContentBlock, OpenAI::Models::Beta::Threads::TextContentBlockParam ) @@ -428,7 +443,12 @@ module OpenAI ), role: OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message::Role::OrSymbol, attachments: T.nilable( - T::Array[T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment, OpenAI::Util::AnyHash)] + T::Array[ + T.any( + OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment, + OpenAI::Internal::Util::AnyHash + ) + ] ), metadata: T.nilable(T::Hash[Symbol, String]) ) @@ -485,7 +505,7 @@ module OpenAI MessageContentPartParamArray = T.let( OpenAI::ArrayOf[union: OpenAI::Models::Beta::Threads::MessageContentPartParam], - OpenAI::Type::Converter + OpenAI::Internal::Type::Converter ) end @@ -543,7 +563,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch ) ] @@ -558,7 +578,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::Message::Attachment::Tool::FileSearch ) ] @@ -622,7 +642,7 @@ module OpenAI params( code_interpreter: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::CodeInterpreter, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -636,7 +656,7 @@ module OpenAI params( file_search: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -651,11 +671,11 @@ module OpenAI params( code_interpreter: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::CodeInterpreter, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), file_search: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .returns(T.attached_class) @@ -723,7 +743,7 @@ module OpenAI vector_stores: T::Array[ T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) @@ -737,7 +757,7 @@ module OpenAI vector_stores: T::Array[ T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) @@ -777,7 +797,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static ) ) @@ -807,7 +827,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static ), file_ids: T::Array[String], @@ -867,7 +887,7 @@ module OpenAI params( static: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -882,7 +902,7 @@ module OpenAI params( static: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), type: Symbol ) @@ -954,7 +974,7 @@ module OpenAI params( code_interpreter: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources::CodeInterpreter, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -966,7 +986,10 @@ module OpenAI sig do params( - file_search: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + file_search: T.any( + OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -980,9 +1003,12 @@ module OpenAI params( code_interpreter: T.any( OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources::CodeInterpreter, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), - file_search: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + file_search: T.any( + OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/thread_create_params.rbi b/rbi/lib/openai/models/beta/thread_create_params.rbi index e1977394..2e45ad3f 100644 --- a/rbi/lib/openai/models/beta/thread_create_params.rbi +++ b/rbi/lib/openai/models/beta/thread_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Beta class ThreadCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A list of [messages](https://platform.openai.com/docs/api-reference/messages) to # start the thread with. @@ -14,7 +14,7 @@ module OpenAI sig do params( - messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateParams::Message, OpenAI::Util::AnyHash)] + messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateParams::Message, OpenAI::Internal::Util::AnyHash)] ) .void end @@ -38,7 +38,7 @@ module OpenAI sig do params( - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources, OpenAI::Util::AnyHash)) + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -46,10 +46,10 @@ module OpenAI sig do params( - messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateParams::Message, OpenAI::Util::AnyHash)], + messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateParams::Message, OpenAI::Internal::Util::AnyHash)], metadata: T.nilable(T::Hash[Symbol, String]), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources, OpenAI::Util::AnyHash)), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources, OpenAI::Internal::Util::AnyHash)), + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -117,7 +117,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::ImageURLContentBlock, OpenAI::Models::Beta::Threads::TextContentBlockParam ) @@ -125,7 +125,7 @@ module OpenAI ), role: OpenAI::Models::Beta::ThreadCreateParams::Message::Role::OrSymbol, attachments: T.nilable( - T::Array[T.any(OpenAI::Models::Beta::ThreadCreateParams::Message::Attachment, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::Beta::ThreadCreateParams::Message::Attachment, OpenAI::Internal::Util::AnyHash)] ), metadata: T.nilable(T::Hash[Symbol, String]) ) @@ -182,7 +182,7 @@ module OpenAI MessageContentPartParamArray = T.let( OpenAI::ArrayOf[union: OpenAI::Models::Beta::Threads::MessageContentPartParam], - OpenAI::Type::Converter + OpenAI::Internal::Type::Converter ) end @@ -235,7 +235,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::ThreadCreateParams::Message::Attachment::Tool::FileSearch ) ] @@ -250,7 +250,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::ThreadCreateParams::Message::Attachment::Tool::FileSearch ) ] @@ -312,7 +312,10 @@ module OpenAI sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash) + code_interpreter: T.any( + OpenAI::Models::Beta::ThreadCreateParams::ToolResources::CodeInterpreter, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -323,7 +326,10 @@ module OpenAI sig do params( - file_search: T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + file_search: T.any( + OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -335,8 +341,14 @@ module OpenAI # tool requires a list of vector store IDs. sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash), - file_search: T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + code_interpreter: T.any( + OpenAI::Models::Beta::ThreadCreateParams::ToolResources::CodeInterpreter, + OpenAI::Internal::Util::AnyHash + ), + file_search: T.any( + OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .returns(T.attached_class) end @@ -401,7 +413,7 @@ module OpenAI vector_stores: T::Array[ T.any( OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) @@ -415,7 +427,7 @@ module OpenAI vector_stores: T::Array[ T.any( OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) @@ -455,7 +467,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static ) ) @@ -485,7 +497,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Auto, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static ), file_ids: T::Array[String], @@ -545,7 +557,7 @@ module OpenAI params( static: T.any( OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -560,7 +572,7 @@ module OpenAI params( static: T.any( OpenAI::Models::Beta::ThreadCreateParams::ToolResources::FileSearch::VectorStore::ChunkingStrategy::Static::Static, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), type: Symbol ) diff --git a/rbi/lib/openai/models/beta/thread_delete_params.rbi b/rbi/lib/openai/models/beta/thread_delete_params.rbi index 0b43e22c..0a775418 100644 --- a/rbi/lib/openai/models/beta/thread_delete_params.rbi +++ b/rbi/lib/openai/models/beta/thread_delete_params.rbi @@ -4,16 +4,12 @@ module OpenAI module Models module Beta class ThreadDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/beta/thread_retrieve_params.rbi b/rbi/lib/openai/models/beta/thread_retrieve_params.rbi index 436ff67f..502dbe33 100644 --- a/rbi/lib/openai/models/beta/thread_retrieve_params.rbi +++ b/rbi/lib/openai/models/beta/thread_retrieve_params.rbi @@ -4,16 +4,12 @@ module OpenAI module Models module Beta class ThreadRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/beta/thread_stream_event.rbi b/rbi/lib/openai/models/beta/thread_stream_event.rbi index 53d58531..34ddbb64 100644 --- a/rbi/lib/openai/models/beta/thread_stream_event.rbi +++ b/rbi/lib/openai/models/beta/thread_stream_event.rbi @@ -9,7 +9,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Thread) } attr_reader :data - sig { params(data: T.any(OpenAI::Models::Beta::Thread, OpenAI::Util::AnyHash)).void } + sig { params(data: T.any(OpenAI::Models::Beta::Thread, OpenAI::Internal::Util::AnyHash)).void } attr_writer :data sig { returns(Symbol) } @@ -27,7 +27,7 @@ module OpenAI # created. sig do params( - data: T.any(OpenAI::Models::Beta::Thread, OpenAI::Util::AnyHash), + data: T.any(OpenAI::Models::Beta::Thread, OpenAI::Internal::Util::AnyHash), enabled: T::Boolean, event: Symbol ) diff --git a/rbi/lib/openai/models/beta/thread_update_params.rbi b/rbi/lib/openai/models/beta/thread_update_params.rbi index 227c5099..0f78f9cb 100644 --- a/rbi/lib/openai/models/beta/thread_update_params.rbi +++ b/rbi/lib/openai/models/beta/thread_update_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Beta class ThreadUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Set of 16 key-value pairs that can be attached to an object. This can be useful # for storing additional information about the object in a structured format, and @@ -25,7 +25,7 @@ module OpenAI sig do params( - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources, OpenAI::Util::AnyHash)) + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -34,8 +34,8 @@ module OpenAI sig do params( metadata: T.nilable(T::Hash[Symbol, String]), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources, OpenAI::Util::AnyHash)), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources, OpenAI::Internal::Util::AnyHash)), + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -61,7 +61,10 @@ module OpenAI sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash) + code_interpreter: T.any( + OpenAI::Models::Beta::ThreadUpdateParams::ToolResources::CodeInterpreter, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -72,7 +75,10 @@ module OpenAI sig do params( - file_search: T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + file_search: T.any( + OpenAI::Models::Beta::ThreadUpdateParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -84,8 +90,14 @@ module OpenAI # tool requires a list of vector store IDs. sig do params( - code_interpreter: T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources::CodeInterpreter, OpenAI::Util::AnyHash), - file_search: T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources::FileSearch, OpenAI::Util::AnyHash) + code_interpreter: T.any( + OpenAI::Models::Beta::ThreadUpdateParams::ToolResources::CodeInterpreter, + OpenAI::Internal::Util::AnyHash + ), + file_search: T.any( + OpenAI::Models::Beta::ThreadUpdateParams::ToolResources::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/threads/file_citation_annotation.rbi b/rbi/lib/openai/models/beta/threads/file_citation_annotation.rbi index c8f84631..2aaa8fe0 100644 --- a/rbi/lib/openai/models/beta/threads/file_citation_annotation.rbi +++ b/rbi/lib/openai/models/beta/threads/file_citation_annotation.rbi @@ -13,7 +13,10 @@ module OpenAI sig do params( - file_citation: T.any(OpenAI::Models::Beta::Threads::FileCitationAnnotation::FileCitation, OpenAI::Util::AnyHash) + file_citation: T.any( + OpenAI::Models::Beta::Threads::FileCitationAnnotation::FileCitation, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -36,7 +39,10 @@ module OpenAI sig do params( end_index: Integer, - file_citation: T.any(OpenAI::Models::Beta::Threads::FileCitationAnnotation::FileCitation, OpenAI::Util::AnyHash), + file_citation: T.any( + OpenAI::Models::Beta::Threads::FileCitationAnnotation::FileCitation, + OpenAI::Internal::Util::AnyHash + ), start_index: Integer, text: String, type: Symbol diff --git a/rbi/lib/openai/models/beta/threads/file_citation_delta_annotation.rbi b/rbi/lib/openai/models/beta/threads/file_citation_delta_annotation.rbi index dd7bb7b4..9de4eb01 100644 --- a/rbi/lib/openai/models/beta/threads/file_citation_delta_annotation.rbi +++ b/rbi/lib/openai/models/beta/threads/file_citation_delta_annotation.rbi @@ -24,7 +24,10 @@ module OpenAI sig do params( - file_citation: T.any(OpenAI::Models::Beta::Threads::FileCitationDeltaAnnotation::FileCitation, OpenAI::Util::AnyHash) + file_citation: T.any( + OpenAI::Models::Beta::Threads::FileCitationDeltaAnnotation::FileCitation, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -50,7 +53,10 @@ module OpenAI params( index: Integer, end_index: Integer, - file_citation: T.any(OpenAI::Models::Beta::Threads::FileCitationDeltaAnnotation::FileCitation, OpenAI::Util::AnyHash), + file_citation: T.any( + OpenAI::Models::Beta::Threads::FileCitationDeltaAnnotation::FileCitation, + OpenAI::Internal::Util::AnyHash + ), start_index: Integer, text: String, type: Symbol diff --git a/rbi/lib/openai/models/beta/threads/file_path_annotation.rbi b/rbi/lib/openai/models/beta/threads/file_path_annotation.rbi index 33a5f4e1..7e8487a3 100644 --- a/rbi/lib/openai/models/beta/threads/file_path_annotation.rbi +++ b/rbi/lib/openai/models/beta/threads/file_path_annotation.rbi @@ -13,7 +13,7 @@ module OpenAI sig do params( - file_path: T.any(OpenAI::Models::Beta::Threads::FilePathAnnotation::FilePath, OpenAI::Util::AnyHash) + file_path: T.any(OpenAI::Models::Beta::Threads::FilePathAnnotation::FilePath, OpenAI::Internal::Util::AnyHash) ) .void end @@ -35,7 +35,7 @@ module OpenAI sig do params( end_index: Integer, - file_path: T.any(OpenAI::Models::Beta::Threads::FilePathAnnotation::FilePath, OpenAI::Util::AnyHash), + file_path: T.any(OpenAI::Models::Beta::Threads::FilePathAnnotation::FilePath, OpenAI::Internal::Util::AnyHash), start_index: Integer, text: String, type: Symbol diff --git a/rbi/lib/openai/models/beta/threads/file_path_delta_annotation.rbi b/rbi/lib/openai/models/beta/threads/file_path_delta_annotation.rbi index 7c79aae6..51269c89 100644 --- a/rbi/lib/openai/models/beta/threads/file_path_delta_annotation.rbi +++ b/rbi/lib/openai/models/beta/threads/file_path_delta_annotation.rbi @@ -24,7 +24,7 @@ module OpenAI sig do params( - file_path: T.any(OpenAI::Models::Beta::Threads::FilePathDeltaAnnotation::FilePath, OpenAI::Util::AnyHash) + file_path: T.any(OpenAI::Models::Beta::Threads::FilePathDeltaAnnotation::FilePath, OpenAI::Internal::Util::AnyHash) ) .void end @@ -49,7 +49,7 @@ module OpenAI params( index: Integer, end_index: Integer, - file_path: T.any(OpenAI::Models::Beta::Threads::FilePathDeltaAnnotation::FilePath, OpenAI::Util::AnyHash), + file_path: T.any(OpenAI::Models::Beta::Threads::FilePathDeltaAnnotation::FilePath, OpenAI::Internal::Util::AnyHash), start_index: Integer, text: String, type: Symbol diff --git a/rbi/lib/openai/models/beta/threads/image_file_content_block.rbi b/rbi/lib/openai/models/beta/threads/image_file_content_block.rbi index 18986902..301843bc 100644 --- a/rbi/lib/openai/models/beta/threads/image_file_content_block.rbi +++ b/rbi/lib/openai/models/beta/threads/image_file_content_block.rbi @@ -8,7 +8,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::ImageFile) } attr_reader :image_file - sig { params(image_file: T.any(OpenAI::Models::Beta::Threads::ImageFile, OpenAI::Util::AnyHash)).void } + sig { params(image_file: T.any(OpenAI::Models::Beta::Threads::ImageFile, OpenAI::Internal::Util::AnyHash)).void } attr_writer :image_file # Always `image_file`. @@ -18,7 +18,10 @@ module OpenAI # References an image [File](https://platform.openai.com/docs/api-reference/files) # in the content of a message. sig do - params(image_file: T.any(OpenAI::Models::Beta::Threads::ImageFile, OpenAI::Util::AnyHash), type: Symbol) + params( + image_file: T.any(OpenAI::Models::Beta::Threads::ImageFile, OpenAI::Internal::Util::AnyHash), + type: Symbol + ) .returns(T.attached_class) end def self.new(image_file:, type: :image_file) diff --git a/rbi/lib/openai/models/beta/threads/image_file_delta_block.rbi b/rbi/lib/openai/models/beta/threads/image_file_delta_block.rbi index 3dcd3939..72d55cbb 100644 --- a/rbi/lib/openai/models/beta/threads/image_file_delta_block.rbi +++ b/rbi/lib/openai/models/beta/threads/image_file_delta_block.rbi @@ -16,7 +16,10 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Beta::Threads::ImageFileDelta)) } attr_reader :image_file - sig { params(image_file: T.any(OpenAI::Models::Beta::Threads::ImageFileDelta, OpenAI::Util::AnyHash)).void } + sig do + params(image_file: T.any(OpenAI::Models::Beta::Threads::ImageFileDelta, OpenAI::Internal::Util::AnyHash)) + .void + end attr_writer :image_file # References an image [File](https://platform.openai.com/docs/api-reference/files) @@ -24,7 +27,7 @@ module OpenAI sig do params( index: Integer, - image_file: T.any(OpenAI::Models::Beta::Threads::ImageFileDelta, OpenAI::Util::AnyHash), + image_file: T.any(OpenAI::Models::Beta::Threads::ImageFileDelta, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/beta/threads/image_url_content_block.rbi b/rbi/lib/openai/models/beta/threads/image_url_content_block.rbi index 2c1839ed..ec7592c9 100644 --- a/rbi/lib/openai/models/beta/threads/image_url_content_block.rbi +++ b/rbi/lib/openai/models/beta/threads/image_url_content_block.rbi @@ -8,7 +8,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::ImageURL) } attr_reader :image_url - sig { params(image_url: T.any(OpenAI::Models::Beta::Threads::ImageURL, OpenAI::Util::AnyHash)).void } + sig { params(image_url: T.any(OpenAI::Models::Beta::Threads::ImageURL, OpenAI::Internal::Util::AnyHash)).void } attr_writer :image_url # The type of the content part. @@ -17,7 +17,10 @@ module OpenAI # References an image URL in the content of a message. sig do - params(image_url: T.any(OpenAI::Models::Beta::Threads::ImageURL, OpenAI::Util::AnyHash), type: Symbol) + params( + image_url: T.any(OpenAI::Models::Beta::Threads::ImageURL, OpenAI::Internal::Util::AnyHash), + type: Symbol + ) .returns(T.attached_class) end def self.new(image_url:, type: :image_url) diff --git a/rbi/lib/openai/models/beta/threads/image_url_delta_block.rbi b/rbi/lib/openai/models/beta/threads/image_url_delta_block.rbi index 664de983..e337c120 100644 --- a/rbi/lib/openai/models/beta/threads/image_url_delta_block.rbi +++ b/rbi/lib/openai/models/beta/threads/image_url_delta_block.rbi @@ -16,14 +16,17 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Beta::Threads::ImageURLDelta)) } attr_reader :image_url - sig { params(image_url: T.any(OpenAI::Models::Beta::Threads::ImageURLDelta, OpenAI::Util::AnyHash)).void } + sig do + params(image_url: T.any(OpenAI::Models::Beta::Threads::ImageURLDelta, OpenAI::Internal::Util::AnyHash)) + .void + end attr_writer :image_url # References an image URL in the content of a message. sig do params( index: Integer, - image_url: T.any(OpenAI::Models::Beta::Threads::ImageURLDelta, OpenAI::Util::AnyHash), + image_url: T.any(OpenAI::Models::Beta::Threads::ImageURLDelta, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/beta/threads/message.rbi b/rbi/lib/openai/models/beta/threads/message.rbi index 87967f32..03266cc5 100644 --- a/rbi/lib/openai/models/beta/threads/message.rbi +++ b/rbi/lib/openai/models/beta/threads/message.rbi @@ -52,7 +52,9 @@ module OpenAI sig do params( - incomplete_details: T.nilable(T.any(OpenAI::Models::Beta::Threads::Message::IncompleteDetails, OpenAI::Util::AnyHash)) + incomplete_details: T.nilable( + T.any(OpenAI::Models::Beta::Threads::Message::IncompleteDetails, OpenAI::Internal::Util::AnyHash) + ) ) .void end @@ -97,12 +99,14 @@ module OpenAI params( id: String, assistant_id: T.nilable(String), - attachments: T.nilable(T::Array[T.any(OpenAI::Models::Beta::Threads::Message::Attachment, OpenAI::Util::AnyHash)]), + attachments: T.nilable( + T::Array[T.any(OpenAI::Models::Beta::Threads::Message::Attachment, OpenAI::Internal::Util::AnyHash)] + ), completed_at: T.nilable(Integer), content: T::Array[ T.any( OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::ImageURLContentBlock, OpenAI::Models::Beta::Threads::TextContentBlock, OpenAI::Models::Beta::Threads::RefusalContentBlock @@ -110,7 +114,9 @@ module OpenAI ], created_at: Integer, incomplete_at: T.nilable(Integer), - incomplete_details: T.nilable(T.any(OpenAI::Models::Beta::Threads::Message::IncompleteDetails, OpenAI::Util::AnyHash)), + incomplete_details: T.nilable( + T.any(OpenAI::Models::Beta::Threads::Message::IncompleteDetails, OpenAI::Internal::Util::AnyHash) + ), metadata: T.nilable(T::Hash[Symbol, String]), role: OpenAI::Models::Beta::Threads::Message::Role::OrSymbol, run_id: T.nilable(String), @@ -197,7 +203,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Message::Attachment::Tool::AssistantToolsFileSearchTypeOnly ) ] @@ -212,7 +218,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Message::Attachment::Tool::AssistantToolsFileSearchTypeOnly ) ] diff --git a/rbi/lib/openai/models/beta/threads/message_create_params.rbi b/rbi/lib/openai/models/beta/threads/message_create_params.rbi index f2b3ca52..9ad49558 100644 --- a/rbi/lib/openai/models/beta/threads/message_create_params.rbi +++ b/rbi/lib/openai/models/beta/threads/message_create_params.rbi @@ -5,8 +5,8 @@ module OpenAI module Beta module Threads class MessageCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The text contents of the message. sig do @@ -54,7 +54,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::ImageURLContentBlock, OpenAI::Models::Beta::Threads::TextContentBlockParam ) @@ -62,10 +62,10 @@ module OpenAI ), role: OpenAI::Models::Beta::Threads::MessageCreateParams::Role::OrSymbol, attachments: T.nilable( - T::Array[T.any(OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment, OpenAI::Internal::Util::AnyHash)] ), metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -121,7 +121,7 @@ module OpenAI MessageContentPartParamArray = T.let( OpenAI::ArrayOf[union: OpenAI::Models::Beta::Threads::MessageContentPartParam], - OpenAI::Type::Converter + OpenAI::Internal::Type::Converter ) end @@ -174,7 +174,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment::Tool::FileSearch ) ] @@ -189,7 +189,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment::Tool::FileSearch ) ] diff --git a/rbi/lib/openai/models/beta/threads/message_delete_params.rbi b/rbi/lib/openai/models/beta/threads/message_delete_params.rbi index 1149a983..71feebb1 100644 --- a/rbi/lib/openai/models/beta/threads/message_delete_params.rbi +++ b/rbi/lib/openai/models/beta/threads/message_delete_params.rbi @@ -5,14 +5,20 @@ module OpenAI module Beta module Threads class MessageDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :thread_id sig do - params(thread_id: String, request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + params( + thread_id: String, + request_options: T.any( + OpenAI::RequestOptions, + OpenAI::Internal::Util::AnyHash + ) + ) .returns(T.attached_class) end def self.new(thread_id:, request_options: {}) diff --git a/rbi/lib/openai/models/beta/threads/message_delta.rbi b/rbi/lib/openai/models/beta/threads/message_delta.rbi index 8f88410b..151f4efe 100644 --- a/rbi/lib/openai/models/beta/threads/message_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/message_delta.rbi @@ -27,7 +27,7 @@ module OpenAI content: T::Array[ T.any( OpenAI::Models::Beta::Threads::ImageFileDeltaBlock, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::TextDeltaBlock, OpenAI::Models::Beta::Threads::RefusalDeltaBlock, OpenAI::Models::Beta::Threads::ImageURLDeltaBlock @@ -51,7 +51,7 @@ module OpenAI content: T::Array[ T.any( OpenAI::Models::Beta::Threads::ImageFileDeltaBlock, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::TextDeltaBlock, OpenAI::Models::Beta::Threads::RefusalDeltaBlock, OpenAI::Models::Beta::Threads::ImageURLDeltaBlock diff --git a/rbi/lib/openai/models/beta/threads/message_delta_event.rbi b/rbi/lib/openai/models/beta/threads/message_delta_event.rbi index 5ac1d6f1..bae39ef8 100644 --- a/rbi/lib/openai/models/beta/threads/message_delta_event.rbi +++ b/rbi/lib/openai/models/beta/threads/message_delta_event.rbi @@ -13,7 +13,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::MessageDelta) } attr_reader :delta - sig { params(delta: T.any(OpenAI::Models::Beta::Threads::MessageDelta, OpenAI::Util::AnyHash)).void } + sig { params(delta: T.any(OpenAI::Models::Beta::Threads::MessageDelta, OpenAI::Internal::Util::AnyHash)).void } attr_writer :delta # The object type, which is always `thread.message.delta`. @@ -25,7 +25,7 @@ module OpenAI sig do params( id: String, - delta: T.any(OpenAI::Models::Beta::Threads::MessageDelta, OpenAI::Util::AnyHash), + delta: T.any(OpenAI::Models::Beta::Threads::MessageDelta, OpenAI::Internal::Util::AnyHash), object: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/beta/threads/message_list_params.rbi b/rbi/lib/openai/models/beta/threads/message_list_params.rbi index c1edc5f6..3664eaeb 100644 --- a/rbi/lib/openai/models/beta/threads/message_list_params.rbi +++ b/rbi/lib/openai/models/beta/threads/message_list_params.rbi @@ -5,8 +5,8 @@ module OpenAI module Beta module Threads class MessageListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A cursor for use in pagination. `after` is an object ID that defines your place # in the list. For instance, if you make a list request and receive 100 objects, @@ -58,7 +58,7 @@ module OpenAI limit: Integer, order: OpenAI::Models::Beta::Threads::MessageListParams::Order::OrSymbol, run_id: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/threads/message_retrieve_params.rbi b/rbi/lib/openai/models/beta/threads/message_retrieve_params.rbi index e2f6c363..bc78f6e0 100644 --- a/rbi/lib/openai/models/beta/threads/message_retrieve_params.rbi +++ b/rbi/lib/openai/models/beta/threads/message_retrieve_params.rbi @@ -5,14 +5,20 @@ module OpenAI module Beta module Threads class MessageRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :thread_id sig do - params(thread_id: String, request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + params( + thread_id: String, + request_options: T.any( + OpenAI::RequestOptions, + OpenAI::Internal::Util::AnyHash + ) + ) .returns(T.attached_class) end def self.new(thread_id:, request_options: {}) diff --git a/rbi/lib/openai/models/beta/threads/message_update_params.rbi b/rbi/lib/openai/models/beta/threads/message_update_params.rbi index 6af1915e..0d2c98de 100644 --- a/rbi/lib/openai/models/beta/threads/message_update_params.rbi +++ b/rbi/lib/openai/models/beta/threads/message_update_params.rbi @@ -5,8 +5,8 @@ module OpenAI module Beta module Threads class MessageUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :thread_id @@ -24,7 +24,7 @@ module OpenAI params( thread_id: String, metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/threads/required_action_function_tool_call.rbi b/rbi/lib/openai/models/beta/threads/required_action_function_tool_call.rbi index f8511f4f..762191b7 100644 --- a/rbi/lib/openai/models/beta/threads/required_action_function_tool_call.rbi +++ b/rbi/lib/openai/models/beta/threads/required_action_function_tool_call.rbi @@ -18,7 +18,10 @@ module OpenAI sig do params( - function: T.any(OpenAI::Models::Beta::Threads::RequiredActionFunctionToolCall::Function, OpenAI::Util::AnyHash) + function: T.any( + OpenAI::Models::Beta::Threads::RequiredActionFunctionToolCall::Function, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -33,7 +36,10 @@ module OpenAI sig do params( id: String, - function: T.any(OpenAI::Models::Beta::Threads::RequiredActionFunctionToolCall::Function, OpenAI::Util::AnyHash), + function: T.any( + OpenAI::Models::Beta::Threads::RequiredActionFunctionToolCall::Function, + OpenAI::Internal::Util::AnyHash + ), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/beta/threads/run.rbi b/rbi/lib/openai/models/beta/threads/run.rbi index 407e6777..d19d330f 100644 --- a/rbi/lib/openai/models/beta/threads/run.rbi +++ b/rbi/lib/openai/models/beta/threads/run.rbi @@ -42,7 +42,7 @@ module OpenAI sig do params( - incomplete_details: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::IncompleteDetails, OpenAI::Util::AnyHash)) + incomplete_details: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::IncompleteDetails, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -59,7 +59,9 @@ module OpenAI attr_reader :last_error sig do - params(last_error: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::LastError, OpenAI::Util::AnyHash))) + params( + last_error: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::LastError, OpenAI::Internal::Util::AnyHash)) + ) .void end attr_writer :last_error @@ -106,7 +108,7 @@ module OpenAI sig do params( - required_action: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::RequiredAction, OpenAI::Util::AnyHash)) + required_action: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::RequiredAction, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -203,7 +205,7 @@ module OpenAI sig do params( - truncation_strategy: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::TruncationStrategy, OpenAI::Util::AnyHash)) + truncation_strategy: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::TruncationStrategy, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -214,7 +216,12 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Beta::Threads::Run::Usage)) } attr_reader :usage - sig { params(usage: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::Usage, OpenAI::Util::AnyHash))).void } + sig do + params( + usage: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::Usage, OpenAI::Internal::Util::AnyHash)) + ) + .void + end attr_writer :usage # The sampling temperature used for this run. If not set, defaults to 1. @@ -236,20 +243,20 @@ module OpenAI created_at: Integer, expires_at: T.nilable(Integer), failed_at: T.nilable(Integer), - incomplete_details: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::IncompleteDetails, OpenAI::Util::AnyHash)), + incomplete_details: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::IncompleteDetails, OpenAI::Internal::Util::AnyHash)), instructions: String, - last_error: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::LastError, OpenAI::Util::AnyHash)), + last_error: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::LastError, OpenAI::Internal::Util::AnyHash)), max_completion_tokens: T.nilable(Integer), max_prompt_tokens: T.nilable(Integer), metadata: T.nilable(T::Hash[Symbol, String]), model: String, parallel_tool_calls: T::Boolean, - required_action: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::RequiredAction, OpenAI::Util::AnyHash)), + required_action: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::RequiredAction, OpenAI::Internal::Util::AnyHash)), response_format: T.nilable( T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) @@ -261,19 +268,19 @@ module OpenAI T.any( OpenAI::Models::Beta::AssistantToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Beta::AssistantToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ), tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) ], - truncation_strategy: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::TruncationStrategy, OpenAI::Util::AnyHash)), - usage: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::Usage, OpenAI::Util::AnyHash)), + truncation_strategy: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::TruncationStrategy, OpenAI::Internal::Util::AnyHash)), + usage: T.nilable(T.any(OpenAI::Models::Beta::Threads::Run::Usage, OpenAI::Internal::Util::AnyHash)), temperature: T.nilable(Float), top_p: T.nilable(Float), object: Symbol @@ -460,7 +467,10 @@ module OpenAI sig do params( - submit_tool_outputs: T.any(OpenAI::Models::Beta::Threads::Run::RequiredAction::SubmitToolOutputs, OpenAI::Util::AnyHash) + submit_tool_outputs: T.any( + OpenAI::Models::Beta::Threads::Run::RequiredAction::SubmitToolOutputs, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -474,7 +484,10 @@ module OpenAI # is required. sig do params( - submit_tool_outputs: T.any(OpenAI::Models::Beta::Threads::Run::RequiredAction::SubmitToolOutputs, OpenAI::Util::AnyHash), + submit_tool_outputs: T.any( + OpenAI::Models::Beta::Threads::Run::RequiredAction::SubmitToolOutputs, + OpenAI::Internal::Util::AnyHash + ), type: Symbol ) .returns(T.attached_class) @@ -499,7 +512,7 @@ module OpenAI # Details on the tool outputs needed for this run to continue. sig do params( - tool_calls: T::Array[T.any(OpenAI::Models::Beta::Threads::RequiredActionFunctionToolCall, OpenAI::Util::AnyHash)] + tool_calls: T::Array[T.any(OpenAI::Models::Beta::Threads::RequiredActionFunctionToolCall, OpenAI::Internal::Util::AnyHash)] ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/threads/run_cancel_params.rbi b/rbi/lib/openai/models/beta/threads/run_cancel_params.rbi index c84678a8..92c6ca3b 100644 --- a/rbi/lib/openai/models/beta/threads/run_cancel_params.rbi +++ b/rbi/lib/openai/models/beta/threads/run_cancel_params.rbi @@ -5,14 +5,20 @@ module OpenAI module Beta module Threads class RunCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :thread_id sig do - params(thread_id: String, request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + params( + thread_id: String, + request_options: T.any( + OpenAI::RequestOptions, + OpenAI::Internal::Util::AnyHash + ) + ) .returns(T.attached_class) end def self.new(thread_id:, request_options: {}) diff --git a/rbi/lib/openai/models/beta/threads/run_create_params.rbi b/rbi/lib/openai/models/beta/threads/run_create_params.rbi index 3e1cea2e..e7854e85 100644 --- a/rbi/lib/openai/models/beta/threads/run_create_params.rbi +++ b/rbi/lib/openai/models/beta/threads/run_create_params.rbi @@ -5,8 +5,8 @@ module OpenAI module Beta module Threads class RunCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The ID of the # [assistant](https://platform.openai.com/docs/api-reference/assistants) to use to @@ -185,7 +185,7 @@ module OpenAI sig do params( truncation_strategy: T.nilable( - T.any(OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy, OpenAI::Util::AnyHash) + T.any(OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy, OpenAI::Internal::Util::AnyHash) ) ) .void @@ -198,7 +198,7 @@ module OpenAI include: T::Array[OpenAI::Models::Beta::Threads::Runs::RunStepInclude::OrSymbol], additional_instructions: T.nilable(String), additional_messages: T.nilable( - T::Array[T.any(OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage, OpenAI::Internal::Util::AnyHash)] ), instructions: T.nilable(String), max_completion_tokens: T.nilable(Integer), @@ -211,7 +211,7 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) @@ -221,14 +221,14 @@ module OpenAI T.any( OpenAI::Models::Beta::AssistantToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Beta::AssistantToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ), tools: T.nilable( T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) @@ -236,9 +236,9 @@ module OpenAI ), top_p: T.nilable(Float), truncation_strategy: T.nilable( - T.any(OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy, OpenAI::Util::AnyHash) + T.any(OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy, OpenAI::Internal::Util::AnyHash) ), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -363,7 +363,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::ImageURLContentBlock, OpenAI::Models::Beta::Threads::TextContentBlockParam ) @@ -374,7 +374,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ), @@ -433,7 +433,7 @@ module OpenAI MessageContentPartParamArray = T.let( OpenAI::ArrayOf[union: OpenAI::Models::Beta::Threads::MessageContentPartParam], - OpenAI::Type::Converter + OpenAI::Internal::Type::Converter ) end @@ -498,7 +498,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool::FileSearch ) ] @@ -513,7 +513,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage::Attachment::Tool::FileSearch ) ] diff --git a/rbi/lib/openai/models/beta/threads/run_list_params.rbi b/rbi/lib/openai/models/beta/threads/run_list_params.rbi index 94b4495a..da3c8bc7 100644 --- a/rbi/lib/openai/models/beta/threads/run_list_params.rbi +++ b/rbi/lib/openai/models/beta/threads/run_list_params.rbi @@ -5,8 +5,8 @@ module OpenAI module Beta module Threads class RunListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A cursor for use in pagination. `after` is an object ID that defines your place # in the list. For instance, if you make a list request and receive 100 objects, @@ -50,7 +50,7 @@ module OpenAI before: String, limit: Integer, order: OpenAI::Models::Beta::Threads::RunListParams::Order::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/threads/run_retrieve_params.rbi b/rbi/lib/openai/models/beta/threads/run_retrieve_params.rbi index 24cfa0e3..f976ec26 100644 --- a/rbi/lib/openai/models/beta/threads/run_retrieve_params.rbi +++ b/rbi/lib/openai/models/beta/threads/run_retrieve_params.rbi @@ -5,14 +5,20 @@ module OpenAI module Beta module Threads class RunRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :thread_id sig do - params(thread_id: String, request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + params( + thread_id: String, + request_options: T.any( + OpenAI::RequestOptions, + OpenAI::Internal::Util::AnyHash + ) + ) .returns(T.attached_class) end def self.new(thread_id:, request_options: {}) diff --git a/rbi/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rbi b/rbi/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rbi index 98e8df09..43e56a5e 100644 --- a/rbi/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rbi +++ b/rbi/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rbi @@ -5,8 +5,8 @@ module OpenAI module Beta module Threads class RunSubmitToolOutputsParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :thread_id @@ -18,8 +18,13 @@ module OpenAI sig do params( thread_id: String, - tool_outputs: T::Array[T.any(OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput, OpenAI::Util::AnyHash)], - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + tool_outputs: T::Array[ + T.any( + OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput, + OpenAI::Internal::Util::AnyHash + ) + ], + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/threads/run_update_params.rbi b/rbi/lib/openai/models/beta/threads/run_update_params.rbi index 1067298a..d4946a6e 100644 --- a/rbi/lib/openai/models/beta/threads/run_update_params.rbi +++ b/rbi/lib/openai/models/beta/threads/run_update_params.rbi @@ -5,8 +5,8 @@ module OpenAI module Beta module Threads class RunUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :thread_id @@ -24,7 +24,7 @@ module OpenAI params( thread_id: String, metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_output_image.rbi b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_output_image.rbi index 3d0e6331..3b1be064 100644 --- a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_output_image.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_output_image.rbi @@ -19,7 +19,10 @@ module OpenAI sig do params( - image: T.any(OpenAI::Models::Beta::Threads::Runs::CodeInterpreterOutputImage::Image, OpenAI::Util::AnyHash) + image: T.any( + OpenAI::Models::Beta::Threads::Runs::CodeInterpreterOutputImage::Image, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -28,7 +31,10 @@ module OpenAI sig do params( index: Integer, - image: T.any(OpenAI::Models::Beta::Threads::Runs::CodeInterpreterOutputImage::Image, OpenAI::Util::AnyHash), + image: T.any( + OpenAI::Models::Beta::Threads::Runs::CodeInterpreterOutputImage::Image, + OpenAI::Internal::Util::AnyHash + ), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi index 6720ae9a..f0524366 100644 --- a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi @@ -18,7 +18,7 @@ module OpenAI params( code_interpreter: T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -36,7 +36,7 @@ module OpenAI id: String, code_interpreter: T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), type: Symbol ) @@ -85,7 +85,7 @@ module OpenAI outputs: T::Array[ T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Logs, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image ) ] @@ -147,7 +147,7 @@ module OpenAI params( image: T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image::Image, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -162,7 +162,7 @@ module OpenAI params( image: T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall::CodeInterpreter::Output::Image::Image, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), type: Symbol ) diff --git a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi index 627f5f07..999ac980 100644 --- a/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi @@ -30,7 +30,7 @@ module OpenAI params( code_interpreter: T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCallDelta::CodeInterpreter, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -44,7 +44,7 @@ module OpenAI id: String, code_interpreter: T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCallDelta::CodeInterpreter, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), type: Symbol ) @@ -97,7 +97,7 @@ module OpenAI outputs: T::Array[ T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterLogs, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Runs::CodeInterpreterOutputImage ) ] @@ -113,7 +113,7 @@ module OpenAI outputs: T::Array[ T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterLogs, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Runs::CodeInterpreterOutputImage ) ] diff --git a/rbi/lib/openai/models/beta/threads/runs/file_search_tool_call.rbi b/rbi/lib/openai/models/beta/threads/runs/file_search_tool_call.rbi index 96fb0416..cbbf08ee 100644 --- a/rbi/lib/openai/models/beta/threads/runs/file_search_tool_call.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/file_search_tool_call.rbi @@ -16,7 +16,10 @@ module OpenAI sig do params( - file_search: T.any(OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch, OpenAI::Util::AnyHash) + file_search: T.any( + OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -30,7 +33,10 @@ module OpenAI sig do params( id: String, - file_search: T.any(OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch, OpenAI::Util::AnyHash), + file_search: T.any( + OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch, + OpenAI::Internal::Util::AnyHash + ), type: Symbol ) .returns(T.attached_class) @@ -56,7 +62,7 @@ module OpenAI params( ranking_options: T.any( OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::RankingOptions, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -69,7 +75,12 @@ module OpenAI sig do params( - results: T::Array[T.any(OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result, OpenAI::Util::AnyHash)] + results: T::Array[ + T.any( + OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result, + OpenAI::Internal::Util::AnyHash + ) + ] ) .void end @@ -80,9 +91,14 @@ module OpenAI params( ranking_options: T.any( OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::RankingOptions, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), - results: T::Array[T.any(OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result, OpenAI::Util::AnyHash)] + results: T::Array[ + T.any( + OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result, + OpenAI::Internal::Util::AnyHash + ) + ] ) .returns(T.attached_class) end @@ -205,7 +221,7 @@ module OpenAI content: T::Array[ T.any( OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result::Content, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) @@ -222,7 +238,7 @@ module OpenAI content: T::Array[ T.any( OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall::FileSearch::Result::Content, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) diff --git a/rbi/lib/openai/models/beta/threads/runs/function_tool_call.rbi b/rbi/lib/openai/models/beta/threads/runs/function_tool_call.rbi index 3e337e83..f4189ea3 100644 --- a/rbi/lib/openai/models/beta/threads/runs/function_tool_call.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/function_tool_call.rbi @@ -16,7 +16,7 @@ module OpenAI sig do params( - function: T.any(OpenAI::Models::Beta::Threads::Runs::FunctionToolCall::Function, OpenAI::Util::AnyHash) + function: T.any(OpenAI::Models::Beta::Threads::Runs::FunctionToolCall::Function, OpenAI::Internal::Util::AnyHash) ) .void end @@ -30,7 +30,7 @@ module OpenAI sig do params( id: String, - function: T.any(OpenAI::Models::Beta::Threads::Runs::FunctionToolCall::Function, OpenAI::Util::AnyHash), + function: T.any(OpenAI::Models::Beta::Threads::Runs::FunctionToolCall::Function, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/beta/threads/runs/function_tool_call_delta.rbi b/rbi/lib/openai/models/beta/threads/runs/function_tool_call_delta.rbi index 04b5a69e..b478742b 100644 --- a/rbi/lib/openai/models/beta/threads/runs/function_tool_call_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/function_tool_call_delta.rbi @@ -28,7 +28,10 @@ module OpenAI sig do params( - function: T.any(OpenAI::Models::Beta::Threads::Runs::FunctionToolCallDelta::Function, OpenAI::Util::AnyHash) + function: T.any( + OpenAI::Models::Beta::Threads::Runs::FunctionToolCallDelta::Function, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -38,7 +41,10 @@ module OpenAI params( index: Integer, id: String, - function: T.any(OpenAI::Models::Beta::Threads::Runs::FunctionToolCallDelta::Function, OpenAI::Util::AnyHash), + function: T.any( + OpenAI::Models::Beta::Threads::Runs::FunctionToolCallDelta::Function, + OpenAI::Internal::Util::AnyHash + ), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/beta/threads/runs/message_creation_step_details.rbi b/rbi/lib/openai/models/beta/threads/runs/message_creation_step_details.rbi index 8a929854..2f3d4925 100644 --- a/rbi/lib/openai/models/beta/threads/runs/message_creation_step_details.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/message_creation_step_details.rbi @@ -13,7 +13,7 @@ module OpenAI params( message_creation: T.any( OpenAI::Models::Beta::Threads::Runs::MessageCreationStepDetails::MessageCreation, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -29,7 +29,7 @@ module OpenAI params( message_creation: T.any( OpenAI::Models::Beta::Threads::Runs::MessageCreationStepDetails::MessageCreation, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), type: Symbol ) diff --git a/rbi/lib/openai/models/beta/threads/runs/run_step.rbi b/rbi/lib/openai/models/beta/threads/runs/run_step.rbi index 734e99a5..c068ad2f 100644 --- a/rbi/lib/openai/models/beta/threads/runs/run_step.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/run_step.rbi @@ -44,7 +44,7 @@ module OpenAI sig do params( - last_error: T.nilable(T.any(OpenAI::Models::Beta::Threads::Runs::RunStep::LastError, OpenAI::Util::AnyHash)) + last_error: T.nilable(T.any(OpenAI::Models::Beta::Threads::Runs::RunStep::LastError, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -100,7 +100,7 @@ module OpenAI sig do params( - usage: T.nilable(T.any(OpenAI::Models::Beta::Threads::Runs::RunStep::Usage, OpenAI::Util::AnyHash)) + usage: T.nilable(T.any(OpenAI::Models::Beta::Threads::Runs::RunStep::Usage, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -116,18 +116,18 @@ module OpenAI created_at: Integer, expired_at: T.nilable(Integer), failed_at: T.nilable(Integer), - last_error: T.nilable(T.any(OpenAI::Models::Beta::Threads::Runs::RunStep::LastError, OpenAI::Util::AnyHash)), + last_error: T.nilable(T.any(OpenAI::Models::Beta::Threads::Runs::RunStep::LastError, OpenAI::Internal::Util::AnyHash)), metadata: T.nilable(T::Hash[Symbol, String]), run_id: String, status: OpenAI::Models::Beta::Threads::Runs::RunStep::Status::OrSymbol, step_details: T.any( OpenAI::Models::Beta::Threads::Runs::MessageCreationStepDetails, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Runs::ToolCallsStepDetails ), thread_id: String, type: OpenAI::Models::Beta::Threads::Runs::RunStep::Type::OrSymbol, - usage: T.nilable(T.any(OpenAI::Models::Beta::Threads::Runs::RunStep::Usage, OpenAI::Util::AnyHash)), + usage: T.nilable(T.any(OpenAI::Models::Beta::Threads::Runs::RunStep::Usage, OpenAI::Internal::Util::AnyHash)), object: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/beta/threads/runs/run_step_delta.rbi b/rbi/lib/openai/models/beta/threads/runs/run_step_delta.rbi index 19089bfb..fa423211 100644 --- a/rbi/lib/openai/models/beta/threads/runs/run_step_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/run_step_delta.rbi @@ -23,7 +23,7 @@ module OpenAI params( step_details: T.any( OpenAI::Models::Beta::Threads::Runs::RunStepDeltaMessageDelta, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Runs::ToolCallDeltaObject ) ) @@ -36,7 +36,7 @@ module OpenAI params( step_details: T.any( OpenAI::Models::Beta::Threads::Runs::RunStepDeltaMessageDelta, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Runs::ToolCallDeltaObject ) ) diff --git a/rbi/lib/openai/models/beta/threads/runs/run_step_delta_event.rbi b/rbi/lib/openai/models/beta/threads/runs/run_step_delta_event.rbi index 08c7adf8..1369d183 100644 --- a/rbi/lib/openai/models/beta/threads/runs/run_step_delta_event.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/run_step_delta_event.rbi @@ -14,7 +14,10 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Runs::RunStepDelta) } attr_reader :delta - sig { params(delta: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDelta, OpenAI::Util::AnyHash)).void } + sig do + params(delta: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDelta, OpenAI::Internal::Util::AnyHash)) + .void + end attr_writer :delta # The object type, which is always `thread.run.step.delta`. @@ -26,7 +29,7 @@ module OpenAI sig do params( id: String, - delta: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDelta, OpenAI::Util::AnyHash), + delta: T.any(OpenAI::Models::Beta::Threads::Runs::RunStepDelta, OpenAI::Internal::Util::AnyHash), object: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/beta/threads/runs/run_step_delta_message_delta.rbi b/rbi/lib/openai/models/beta/threads/runs/run_step_delta_message_delta.rbi index a13b01a2..3408ca06 100644 --- a/rbi/lib/openai/models/beta/threads/runs/run_step_delta_message_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/run_step_delta_message_delta.rbi @@ -17,7 +17,7 @@ module OpenAI params( message_creation: T.any( OpenAI::Models::Beta::Threads::Runs::RunStepDeltaMessageDelta::MessageCreation, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -29,7 +29,7 @@ module OpenAI params( message_creation: T.any( OpenAI::Models::Beta::Threads::Runs::RunStepDeltaMessageDelta::MessageCreation, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), type: Symbol ) diff --git a/rbi/lib/openai/models/beta/threads/runs/step_list_params.rbi b/rbi/lib/openai/models/beta/threads/runs/step_list_params.rbi index 75db421b..6b012ab4 100644 --- a/rbi/lib/openai/models/beta/threads/runs/step_list_params.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/step_list_params.rbi @@ -6,8 +6,8 @@ module OpenAI module Threads module Runs class StepListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :thread_id @@ -69,7 +69,7 @@ module OpenAI include: T::Array[OpenAI::Models::Beta::Threads::Runs::RunStepInclude::OrSymbol], limit: Integer, order: OpenAI::Models::Beta::Threads::Runs::StepListParams::Order::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/threads/runs/step_retrieve_params.rbi b/rbi/lib/openai/models/beta/threads/runs/step_retrieve_params.rbi index 15b2fdd2..fd32d2e8 100644 --- a/rbi/lib/openai/models/beta/threads/runs/step_retrieve_params.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/step_retrieve_params.rbi @@ -6,8 +6,8 @@ module OpenAI module Threads module Runs class StepRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :thread_id @@ -33,7 +33,7 @@ module OpenAI thread_id: String, run_id: String, include: T::Array[OpenAI::Models::Beta::Threads::Runs::RunStepInclude::OrSymbol], - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/beta/threads/runs/tool_call_delta_object.rbi b/rbi/lib/openai/models/beta/threads/runs/tool_call_delta_object.rbi index c4833e7c..783946aa 100644 --- a/rbi/lib/openai/models/beta/threads/runs/tool_call_delta_object.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/tool_call_delta_object.rbi @@ -33,7 +33,7 @@ module OpenAI tool_calls: T::Array[ T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCallDelta, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Runs::FileSearchToolCallDelta, OpenAI::Models::Beta::Threads::Runs::FunctionToolCallDelta ) @@ -49,7 +49,7 @@ module OpenAI tool_calls: T::Array[ T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCallDelta, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Runs::FileSearchToolCallDelta, OpenAI::Models::Beta::Threads::Runs::FunctionToolCallDelta ) diff --git a/rbi/lib/openai/models/beta/threads/runs/tool_calls_step_details.rbi b/rbi/lib/openai/models/beta/threads/runs/tool_calls_step_details.rbi index 0dade5cb..3b5ca709 100644 --- a/rbi/lib/openai/models/beta/threads/runs/tool_calls_step_details.rbi +++ b/rbi/lib/openai/models/beta/threads/runs/tool_calls_step_details.rbi @@ -32,7 +32,7 @@ module OpenAI tool_calls: T::Array[ T.any( OpenAI::Models::Beta::Threads::Runs::CodeInterpreterToolCall, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::Runs::FileSearchToolCall, OpenAI::Models::Beta::Threads::Runs::FunctionToolCall ) diff --git a/rbi/lib/openai/models/beta/threads/text.rbi b/rbi/lib/openai/models/beta/threads/text.rbi index 9dd44292..96e9162b 100644 --- a/rbi/lib/openai/models/beta/threads/text.rbi +++ b/rbi/lib/openai/models/beta/threads/text.rbi @@ -26,7 +26,7 @@ module OpenAI annotations: T::Array[ T.any( OpenAI::Models::Beta::Threads::FileCitationAnnotation, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::FilePathAnnotation ) ], diff --git a/rbi/lib/openai/models/beta/threads/text_content_block.rbi b/rbi/lib/openai/models/beta/threads/text_content_block.rbi index 18c16ea3..2293760e 100644 --- a/rbi/lib/openai/models/beta/threads/text_content_block.rbi +++ b/rbi/lib/openai/models/beta/threads/text_content_block.rbi @@ -8,7 +8,7 @@ module OpenAI sig { returns(OpenAI::Models::Beta::Threads::Text) } attr_reader :text - sig { params(text: T.any(OpenAI::Models::Beta::Threads::Text, OpenAI::Util::AnyHash)).void } + sig { params(text: T.any(OpenAI::Models::Beta::Threads::Text, OpenAI::Internal::Util::AnyHash)).void } attr_writer :text # Always `text`. @@ -17,7 +17,7 @@ module OpenAI # The text content that is part of a message. sig do - params(text: T.any(OpenAI::Models::Beta::Threads::Text, OpenAI::Util::AnyHash), type: Symbol) + params(text: T.any(OpenAI::Models::Beta::Threads::Text, OpenAI::Internal::Util::AnyHash), type: Symbol) .returns(T.attached_class) end def self.new(text:, type: :text) diff --git a/rbi/lib/openai/models/beta/threads/text_delta.rbi b/rbi/lib/openai/models/beta/threads/text_delta.rbi index 2f225af3..a5aea637 100644 --- a/rbi/lib/openai/models/beta/threads/text_delta.rbi +++ b/rbi/lib/openai/models/beta/threads/text_delta.rbi @@ -24,7 +24,7 @@ module OpenAI annotations: T::Array[ T.any( OpenAI::Models::Beta::Threads::FileCitationDeltaAnnotation, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::FilePathDeltaAnnotation ) ] @@ -45,7 +45,7 @@ module OpenAI annotations: T::Array[ T.any( OpenAI::Models::Beta::Threads::FileCitationDeltaAnnotation, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::FilePathDeltaAnnotation ) ], diff --git a/rbi/lib/openai/models/beta/threads/text_delta_block.rbi b/rbi/lib/openai/models/beta/threads/text_delta_block.rbi index 0e37546f..8d353d81 100644 --- a/rbi/lib/openai/models/beta/threads/text_delta_block.rbi +++ b/rbi/lib/openai/models/beta/threads/text_delta_block.rbi @@ -16,14 +16,14 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Beta::Threads::TextDelta)) } attr_reader :text - sig { params(text: T.any(OpenAI::Models::Beta::Threads::TextDelta, OpenAI::Util::AnyHash)).void } + sig { params(text: T.any(OpenAI::Models::Beta::Threads::TextDelta, OpenAI::Internal::Util::AnyHash)).void } attr_writer :text # The text content that is part of a message. sig do params( index: Integer, - text: T.any(OpenAI::Models::Beta::Threads::TextDelta, OpenAI::Util::AnyHash), + text: T.any(OpenAI::Models::Beta::Threads::TextDelta, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/chat/chat_completion.rbi b/rbi/lib/openai/models/chat/chat_completion.rbi index 32ff4ea3..7086df0f 100644 --- a/rbi/lib/openai/models/chat/chat_completion.rbi +++ b/rbi/lib/openai/models/chat/chat_completion.rbi @@ -43,7 +43,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::CompletionUsage)) } attr_reader :usage - sig { params(usage: T.any(OpenAI::Models::CompletionUsage, OpenAI::Util::AnyHash)).void } + sig { params(usage: T.any(OpenAI::Models::CompletionUsage, OpenAI::Internal::Util::AnyHash)).void } attr_writer :usage # Represents a chat completion response returned by model, based on the provided @@ -51,12 +51,12 @@ module OpenAI sig do params( id: String, - choices: T::Array[T.any(OpenAI::Models::Chat::ChatCompletion::Choice, OpenAI::Util::AnyHash)], + choices: T::Array[T.any(OpenAI::Models::Chat::ChatCompletion::Choice, OpenAI::Internal::Util::AnyHash)], created: Integer, model: String, service_tier: T.nilable(OpenAI::Models::Chat::ChatCompletion::ServiceTier::OrSymbol), system_fingerprint: String, - usage: T.any(OpenAI::Models::CompletionUsage, OpenAI::Util::AnyHash), + usage: T.any(OpenAI::Models::CompletionUsage, OpenAI::Internal::Util::AnyHash), object: Symbol ) .returns(T.attached_class) @@ -111,7 +111,7 @@ module OpenAI sig do params( - logprobs: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletion::Choice::Logprobs, OpenAI::Util::AnyHash)) + logprobs: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletion::Choice::Logprobs, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -121,15 +121,15 @@ module OpenAI sig { returns(OpenAI::Models::Chat::ChatCompletionMessage) } attr_reader :message - sig { params(message: T.any(OpenAI::Models::Chat::ChatCompletionMessage, OpenAI::Util::AnyHash)).void } + sig { params(message: T.any(OpenAI::Models::Chat::ChatCompletionMessage, OpenAI::Internal::Util::AnyHash)).void } attr_writer :message sig do params( finish_reason: OpenAI::Models::Chat::ChatCompletion::Choice::FinishReason::OrSymbol, index: Integer, - logprobs: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletion::Choice::Logprobs, OpenAI::Util::AnyHash)), - message: T.any(OpenAI::Models::Chat::ChatCompletionMessage, OpenAI::Util::AnyHash) + logprobs: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletion::Choice::Logprobs, OpenAI::Internal::Util::AnyHash)), + message: T.any(OpenAI::Models::Chat::ChatCompletionMessage, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -188,8 +188,12 @@ module OpenAI # Log probability information for the choice. sig do params( - content: T.nilable(T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob, OpenAI::Util::AnyHash)]), - refusal: T.nilable(T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob, OpenAI::Util::AnyHash)]) + content: T.nilable( + T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob, OpenAI::Internal::Util::AnyHash)] + ), + refusal: T.nilable( + T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob, OpenAI::Internal::Util::AnyHash)] + ) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/chat/chat_completion_assistant_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_assistant_message_param.rbi index 65806b1f..40188371 100644 --- a/rbi/lib/openai/models/chat/chat_completion_assistant_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_assistant_message_param.rbi @@ -15,7 +15,9 @@ module OpenAI sig do params( - audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAssistantMessageParam::Audio, OpenAI::Util::AnyHash)) + audio: T.nilable( + T.any(OpenAI::Models::Chat::ChatCompletionAssistantMessageParam::Audio, OpenAI::Internal::Util::AnyHash) + ) ) .void end @@ -48,7 +50,10 @@ module OpenAI sig do params( function_call: T.nilable( - T.any(OpenAI::Models::Chat::ChatCompletionAssistantMessageParam::FunctionCall, OpenAI::Util::AnyHash) + T.any( + OpenAI::Models::Chat::ChatCompletionAssistantMessageParam::FunctionCall, + OpenAI::Internal::Util::AnyHash + ) ) ) .void @@ -73,7 +78,7 @@ module OpenAI sig do params( - tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall, OpenAI::Util::AnyHash)] + tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall, OpenAI::Internal::Util::AnyHash)] ) .void end @@ -82,25 +87,30 @@ module OpenAI # Messages sent by the model in response to user messages. sig do params( - audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAssistantMessageParam::Audio, OpenAI::Util::AnyHash)), + audio: T.nilable( + T.any(OpenAI::Models::Chat::ChatCompletionAssistantMessageParam::Audio, OpenAI::Internal::Util::AnyHash) + ), content: T.nilable( T.any( String, T::Array[ T.any( OpenAI::Models::Chat::ChatCompletionContentPartText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Chat::ChatCompletionContentPartRefusal ) ] ) ), function_call: T.nilable( - T.any(OpenAI::Models::Chat::ChatCompletionAssistantMessageParam::FunctionCall, OpenAI::Util::AnyHash) + T.any( + OpenAI::Models::Chat::ChatCompletionAssistantMessageParam::FunctionCall, + OpenAI::Internal::Util::AnyHash + ) ), name: String, refusal: T.nilable(String), - tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall, OpenAI::Util::AnyHash)], + tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall, OpenAI::Internal::Util::AnyHash)], role: Symbol ) .returns(T.attached_class) @@ -199,7 +209,7 @@ module OpenAI ArrayOfContentPartArray = T.let( OpenAI::ArrayOf[union: OpenAI::Models::Chat::ChatCompletionAssistantMessageParam::Content::ArrayOfContentPart], - OpenAI::Type::Converter + OpenAI::Internal::Type::Converter ) end diff --git a/rbi/lib/openai/models/chat/chat_completion_chunk.rbi b/rbi/lib/openai/models/chat/chat_completion_chunk.rbi index ca1adf7b..719f97f8 100644 --- a/rbi/lib/openai/models/chat/chat_completion_chunk.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_chunk.rbi @@ -50,7 +50,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::CompletionUsage)) } attr_reader :usage - sig { params(usage: T.nilable(T.any(OpenAI::Models::CompletionUsage, OpenAI::Util::AnyHash))).void } + sig { params(usage: T.nilable(T.any(OpenAI::Models::CompletionUsage, OpenAI::Internal::Util::AnyHash))).void } attr_writer :usage # Represents a streamed chunk of a chat completion response returned by the model, @@ -59,12 +59,12 @@ module OpenAI sig do params( id: String, - choices: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice, OpenAI::Util::AnyHash)], + choices: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice, OpenAI::Internal::Util::AnyHash)], created: Integer, model: String, service_tier: T.nilable(OpenAI::Models::Chat::ChatCompletionChunk::ServiceTier::OrSymbol), system_fingerprint: String, - usage: T.nilable(T.any(OpenAI::Models::CompletionUsage, OpenAI::Util::AnyHash)), + usage: T.nilable(T.any(OpenAI::Models::CompletionUsage, OpenAI::Internal::Util::AnyHash)), object: Symbol ) .returns(T.attached_class) @@ -104,7 +104,12 @@ module OpenAI sig { returns(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta) } attr_reader :delta - sig { params(delta: T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta, OpenAI::Util::AnyHash)).void } + sig do + params( + delta: T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :delta # The reason the model stopped generating tokens. This will be `stop` if the model @@ -126,7 +131,9 @@ module OpenAI sig do params( - logprobs: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Logprobs, OpenAI::Util::AnyHash)) + logprobs: T.nilable( + T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Logprobs, OpenAI::Internal::Util::AnyHash) + ) ) .void end @@ -134,10 +141,12 @@ module OpenAI sig do params( - delta: T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta, OpenAI::Util::AnyHash), + delta: T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta, OpenAI::Internal::Util::AnyHash), finish_reason: T.nilable(OpenAI::Models::Chat::ChatCompletionChunk::Choice::FinishReason::OrSymbol), index: Integer, - logprobs: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Logprobs, OpenAI::Util::AnyHash)) + logprobs: T.nilable( + T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Logprobs, OpenAI::Internal::Util::AnyHash) + ) ) .returns(T.attached_class) end @@ -170,7 +179,10 @@ module OpenAI sig do params( - function_call: T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::FunctionCall, OpenAI::Util::AnyHash) + function_call: T.any( + OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::FunctionCall, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -192,7 +204,7 @@ module OpenAI sig do params( - tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall, OpenAI::Util::AnyHash)] + tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall, OpenAI::Internal::Util::AnyHash)] ) .void end @@ -202,10 +214,13 @@ module OpenAI sig do params( content: T.nilable(String), - function_call: T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::FunctionCall, OpenAI::Util::AnyHash), + function_call: T.any( + OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::FunctionCall, + OpenAI::Internal::Util::AnyHash + ), refusal: T.nilable(String), role: OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::Role::OrSymbol, - tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall, OpenAI::Util::AnyHash)] + tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall, OpenAI::Internal::Util::AnyHash)] ) .returns(T.attached_class) end @@ -294,7 +309,10 @@ module OpenAI sig do params( - function: T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall::Function, OpenAI::Util::AnyHash) + function: T.any( + OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall::Function, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -311,7 +329,10 @@ module OpenAI params( index: Integer, id: String, - function: T.any(OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall::Function, OpenAI::Util::AnyHash), + function: T.any( + OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall::Function, + OpenAI::Internal::Util::AnyHash + ), type: OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall::Type::OrSymbol ) .returns(T.attached_class) @@ -428,8 +449,12 @@ module OpenAI # Log probability information for the choice. sig do params( - content: T.nilable(T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob, OpenAI::Util::AnyHash)]), - refusal: T.nilable(T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob, OpenAI::Util::AnyHash)]) + content: T.nilable( + T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob, OpenAI::Internal::Util::AnyHash)] + ), + refusal: T.nilable( + T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob, OpenAI::Internal::Util::AnyHash)] + ) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/chat/chat_completion_content_part.rbi b/rbi/lib/openai/models/chat/chat_completion_content_part.rbi index bf1e89a6..df2d9e47 100644 --- a/rbi/lib/openai/models/chat/chat_completion_content_part.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_content_part.rbi @@ -13,7 +13,9 @@ module OpenAI attr_reader :file sig do - params(file: T.any(OpenAI::Models::Chat::ChatCompletionContentPart::File::File, OpenAI::Util::AnyHash)) + params( + file: T.any(OpenAI::Models::Chat::ChatCompletionContentPart::File::File, OpenAI::Internal::Util::AnyHash) + ) .void end attr_writer :file @@ -26,7 +28,7 @@ module OpenAI # generation. sig do params( - file: T.any(OpenAI::Models::Chat::ChatCompletionContentPart::File::File, OpenAI::Util::AnyHash), + file: T.any(OpenAI::Models::Chat::ChatCompletionContentPart::File::File, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/chat/chat_completion_content_part_image.rbi b/rbi/lib/openai/models/chat/chat_completion_content_part_image.rbi index 5c838086..4ba1cace 100644 --- a/rbi/lib/openai/models/chat/chat_completion_content_part_image.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_content_part_image.rbi @@ -9,7 +9,7 @@ module OpenAI sig do params( - image_url: T.any(OpenAI::Models::Chat::ChatCompletionContentPartImage::ImageURL, OpenAI::Util::AnyHash) + image_url: T.any(OpenAI::Models::Chat::ChatCompletionContentPartImage::ImageURL, OpenAI::Internal::Util::AnyHash) ) .void end @@ -22,7 +22,7 @@ module OpenAI # Learn about [image inputs](https://platform.openai.com/docs/guides/vision). sig do params( - image_url: T.any(OpenAI::Models::Chat::ChatCompletionContentPartImage::ImageURL, OpenAI::Util::AnyHash), + image_url: T.any(OpenAI::Models::Chat::ChatCompletionContentPartImage::ImageURL, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/chat/chat_completion_content_part_input_audio.rbi b/rbi/lib/openai/models/chat/chat_completion_content_part_input_audio.rbi index 588aba54..61ce5857 100644 --- a/rbi/lib/openai/models/chat/chat_completion_content_part_input_audio.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_content_part_input_audio.rbi @@ -9,7 +9,10 @@ module OpenAI sig do params( - input_audio: T.any(OpenAI::Models::Chat::ChatCompletionContentPartInputAudio::InputAudio, OpenAI::Util::AnyHash) + input_audio: T.any( + OpenAI::Models::Chat::ChatCompletionContentPartInputAudio::InputAudio, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -22,7 +25,10 @@ module OpenAI # Learn about [audio inputs](https://platform.openai.com/docs/guides/audio). sig do params( - input_audio: T.any(OpenAI::Models::Chat::ChatCompletionContentPartInputAudio::InputAudio, OpenAI::Util::AnyHash), + input_audio: T.any( + OpenAI::Models::Chat::ChatCompletionContentPartInputAudio::InputAudio, + OpenAI::Internal::Util::AnyHash + ), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/chat/chat_completion_developer_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_developer_message_param.rbi index ef698edc..ebf50ef3 100644 --- a/rbi/lib/openai/models/chat/chat_completion_developer_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_developer_message_param.rbi @@ -25,7 +25,10 @@ module OpenAI # replace the previous `system` messages. sig do params( - content: T.any(String, T::Array[T.any(OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Util::AnyHash)]), + content: T.any( + String, + T::Array[T.any(OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Internal::Util::AnyHash)] + ), name: String, role: Symbol ) @@ -56,7 +59,10 @@ module OpenAI end ChatCompletionContentPartTextArray = - T.let(OpenAI::ArrayOf[OpenAI::Models::Chat::ChatCompletionContentPartText], OpenAI::Type::Converter) + T.let( + OpenAI::ArrayOf[OpenAI::Models::Chat::ChatCompletionContentPartText], + OpenAI::Internal::Type::Converter + ) end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_message.rbi b/rbi/lib/openai/models/chat/chat_completion_message.rbi index 190244ae..10aee914 100644 --- a/rbi/lib/openai/models/chat/chat_completion_message.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_message.rbi @@ -23,7 +23,7 @@ module OpenAI sig do params( - annotations: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessage::Annotation, OpenAI::Util::AnyHash)] + annotations: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessage::Annotation, OpenAI::Internal::Util::AnyHash)] ) .void end @@ -35,7 +35,12 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Chat::ChatCompletionAudio)) } attr_reader :audio - sig { params(audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudio, OpenAI::Util::AnyHash))).void } + sig do + params( + audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudio, OpenAI::Internal::Util::AnyHash)) + ) + .void + end attr_writer :audio # Deprecated and replaced by `tool_calls`. The name and arguments of a function @@ -45,7 +50,7 @@ module OpenAI sig do params( - function_call: T.any(OpenAI::Models::Chat::ChatCompletionMessage::FunctionCall, OpenAI::Util::AnyHash) + function_call: T.any(OpenAI::Models::Chat::ChatCompletionMessage::FunctionCall, OpenAI::Internal::Util::AnyHash) ) .void end @@ -57,7 +62,7 @@ module OpenAI sig do params( - tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall, OpenAI::Util::AnyHash)] + tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall, OpenAI::Internal::Util::AnyHash)] ) .void end @@ -68,10 +73,10 @@ module OpenAI params( content: T.nilable(String), refusal: T.nilable(String), - annotations: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessage::Annotation, OpenAI::Util::AnyHash)], - audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudio, OpenAI::Util::AnyHash)), - function_call: T.any(OpenAI::Models::Chat::ChatCompletionMessage::FunctionCall, OpenAI::Util::AnyHash), - tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall, OpenAI::Util::AnyHash)], + annotations: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessage::Annotation, OpenAI::Internal::Util::AnyHash)], + audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudio, OpenAI::Internal::Util::AnyHash)), + function_call: T.any(OpenAI::Models::Chat::ChatCompletionMessage::FunctionCall, OpenAI::Internal::Util::AnyHash), + tool_calls: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall, OpenAI::Internal::Util::AnyHash)], role: Symbol ) .returns(T.attached_class) @@ -115,7 +120,10 @@ module OpenAI sig do params( - url_citation: T.any(OpenAI::Models::Chat::ChatCompletionMessage::Annotation::URLCitation, OpenAI::Util::AnyHash) + url_citation: T.any( + OpenAI::Models::Chat::ChatCompletionMessage::Annotation::URLCitation, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -124,7 +132,10 @@ module OpenAI # A URL citation when using web search. sig do params( - url_citation: T.any(OpenAI::Models::Chat::ChatCompletionMessage::Annotation::URLCitation, OpenAI::Util::AnyHash), + url_citation: T.any( + OpenAI::Models::Chat::ChatCompletionMessage::Annotation::URLCitation, + OpenAI::Internal::Util::AnyHash + ), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/chat/chat_completion_message_tool_call.rbi b/rbi/lib/openai/models/chat/chat_completion_message_tool_call.rbi index 851dff7f..496d91cb 100644 --- a/rbi/lib/openai/models/chat/chat_completion_message_tool_call.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_message_tool_call.rbi @@ -14,7 +14,7 @@ module OpenAI sig do params( - function: T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall::Function, OpenAI::Util::AnyHash) + function: T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall::Function, OpenAI::Internal::Util::AnyHash) ) .void end @@ -27,7 +27,7 @@ module OpenAI sig do params( id: String, - function: T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall::Function, OpenAI::Util::AnyHash), + function: T.any(OpenAI::Models::Chat::ChatCompletionMessageToolCall::Function, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/chat/chat_completion_named_tool_choice.rbi b/rbi/lib/openai/models/chat/chat_completion_named_tool_choice.rbi index 4c4f4e58..6a992cda 100644 --- a/rbi/lib/openai/models/chat/chat_completion_named_tool_choice.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_named_tool_choice.rbi @@ -9,7 +9,7 @@ module OpenAI sig do params( - function: T.any(OpenAI::Models::Chat::ChatCompletionNamedToolChoice::Function, OpenAI::Util::AnyHash) + function: T.any(OpenAI::Models::Chat::ChatCompletionNamedToolChoice::Function, OpenAI::Internal::Util::AnyHash) ) .void end @@ -23,7 +23,7 @@ module OpenAI # function. sig do params( - function: T.any(OpenAI::Models::Chat::ChatCompletionNamedToolChoice::Function, OpenAI::Util::AnyHash), + function: T.any(OpenAI::Models::Chat::ChatCompletionNamedToolChoice::Function, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/chat/chat_completion_prediction_content.rbi b/rbi/lib/openai/models/chat/chat_completion_prediction_content.rbi index 5c908db7..ac3a3840 100644 --- a/rbi/lib/openai/models/chat/chat_completion_prediction_content.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_prediction_content.rbi @@ -19,7 +19,10 @@ module OpenAI # being regenerated. sig do params( - content: T.any(String, T::Array[T.any(OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Util::AnyHash)]), + content: T.any( + String, + T::Array[T.any(OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Internal::Util::AnyHash)] + ), type: Symbol ) .returns(T.attached_class) @@ -47,7 +50,10 @@ module OpenAI end ChatCompletionContentPartTextArray = - T.let(OpenAI::ArrayOf[OpenAI::Models::Chat::ChatCompletionContentPartText], OpenAI::Type::Converter) + T.let( + OpenAI::ArrayOf[OpenAI::Models::Chat::ChatCompletionContentPartText], + OpenAI::Internal::Type::Converter + ) end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_system_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_system_message_param.rbi index f04bdf4a..6ef22108 100644 --- a/rbi/lib/openai/models/chat/chat_completion_system_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_system_message_param.rbi @@ -25,7 +25,10 @@ module OpenAI # for this purpose instead. sig do params( - content: T.any(String, T::Array[T.any(OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Util::AnyHash)]), + content: T.any( + String, + T::Array[T.any(OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Internal::Util::AnyHash)] + ), name: String, role: Symbol ) @@ -56,7 +59,10 @@ module OpenAI end ChatCompletionContentPartTextArray = - T.let(OpenAI::ArrayOf[OpenAI::Models::Chat::ChatCompletionContentPartText], OpenAI::Type::Converter) + T.let( + OpenAI::ArrayOf[OpenAI::Models::Chat::ChatCompletionContentPartText], + OpenAI::Internal::Type::Converter + ) end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_token_logprob.rbi b/rbi/lib/openai/models/chat/chat_completion_token_logprob.rbi index 33ce4b9e..131c3a45 100644 --- a/rbi/lib/openai/models/chat/chat_completion_token_logprob.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_token_logprob.rbi @@ -32,7 +32,7 @@ module OpenAI token: String, bytes: T.nilable(T::Array[Integer]), logprob: Float, - top_logprobs: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob::TopLogprob, OpenAI::Util::AnyHash)] + top_logprobs: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTokenLogprob::TopLogprob, OpenAI::Internal::Util::AnyHash)] ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/chat/chat_completion_tool.rbi b/rbi/lib/openai/models/chat/chat_completion_tool.rbi index 03b8ecd1..dd162d31 100644 --- a/rbi/lib/openai/models/chat/chat_completion_tool.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_tool.rbi @@ -7,7 +7,7 @@ module OpenAI sig { returns(OpenAI::Models::FunctionDefinition) } attr_reader :function - sig { params(function: T.any(OpenAI::Models::FunctionDefinition, OpenAI::Util::AnyHash)).void } + sig { params(function: T.any(OpenAI::Models::FunctionDefinition, OpenAI::Internal::Util::AnyHash)).void } attr_writer :function # The type of the tool. Currently, only `function` is supported. @@ -15,7 +15,7 @@ module OpenAI attr_accessor :type sig do - params(function: T.any(OpenAI::Models::FunctionDefinition, OpenAI::Util::AnyHash), type: Symbol) + params(function: T.any(OpenAI::Models::FunctionDefinition, OpenAI::Internal::Util::AnyHash), type: Symbol) .returns(T.attached_class) end def self.new(function:, type: :function) diff --git a/rbi/lib/openai/models/chat/chat_completion_tool_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_tool_message_param.rbi index 4956394b..e49bdc4a 100644 --- a/rbi/lib/openai/models/chat/chat_completion_tool_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_tool_message_param.rbi @@ -18,7 +18,10 @@ module OpenAI sig do params( - content: T.any(String, T::Array[T.any(OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Util::AnyHash)]), + content: T.any( + String, + T::Array[T.any(OpenAI::Models::Chat::ChatCompletionContentPartText, OpenAI::Internal::Util::AnyHash)] + ), tool_call_id: String, role: Symbol ) @@ -49,7 +52,10 @@ module OpenAI end ChatCompletionContentPartTextArray = - T.let(OpenAI::ArrayOf[OpenAI::Models::Chat::ChatCompletionContentPartText], OpenAI::Type::Converter) + T.let( + OpenAI::ArrayOf[OpenAI::Models::Chat::ChatCompletionContentPartText], + OpenAI::Internal::Type::Converter + ) end end end diff --git a/rbi/lib/openai/models/chat/chat_completion_user_message_param.rbi b/rbi/lib/openai/models/chat/chat_completion_user_message_param.rbi index c234e478..73d892eb 100644 --- a/rbi/lib/openai/models/chat/chat_completion_user_message_param.rbi +++ b/rbi/lib/openai/models/chat/chat_completion_user_message_param.rbi @@ -43,7 +43,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Chat::ChatCompletionContentPartText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Chat::ChatCompletionContentPartImage, OpenAI::Models::Chat::ChatCompletionContentPartInputAudio, OpenAI::Models::Chat::ChatCompletionContentPart::File @@ -105,7 +105,10 @@ module OpenAI end ChatCompletionContentPartArray = - T.let(OpenAI::ArrayOf[union: OpenAI::Models::Chat::ChatCompletionContentPart], OpenAI::Type::Converter) + T.let( + OpenAI::ArrayOf[union: OpenAI::Models::Chat::ChatCompletionContentPart], + OpenAI::Internal::Type::Converter + ) end end end diff --git a/rbi/lib/openai/models/chat/completion_create_params.rbi b/rbi/lib/openai/models/chat/completion_create_params.rbi index a841bba5..1d25cd61 100644 --- a/rbi/lib/openai/models/chat/completion_create_params.rbi +++ b/rbi/lib/openai/models/chat/completion_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Chat class CompletionCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A list of messages comprising the conversation so far. Depending on the # [model](https://platform.openai.com/docs/models) you use, different message @@ -43,7 +43,12 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Chat::ChatCompletionAudioParam)) } attr_reader :audio - sig { params(audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudioParam, OpenAI::Util::AnyHash))).void } + sig do + params( + audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudioParam, OpenAI::Internal::Util::AnyHash)) + ) + .void + end attr_writer :audio # Number between -2.0 and 2.0. Positive values penalize new tokens based on their @@ -83,7 +88,7 @@ module OpenAI function_call: T.any( OpenAI::Models::Chat::CompletionCreateParams::FunctionCall::FunctionCallMode::OrSymbol, OpenAI::Models::Chat::ChatCompletionFunctionCallOption, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -98,7 +103,7 @@ module OpenAI sig do params( - functions: T::Array[T.any(OpenAI::Models::Chat::CompletionCreateParams::Function, OpenAI::Util::AnyHash)] + functions: T::Array[T.any(OpenAI::Models::Chat::CompletionCreateParams::Function, OpenAI::Internal::Util::AnyHash)] ) .void end @@ -181,7 +186,7 @@ module OpenAI sig do params( - prediction: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionPredictionContent, OpenAI::Util::AnyHash)) + prediction: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionPredictionContent, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -229,7 +234,7 @@ module OpenAI params( response_format: T.any( OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject ) @@ -280,7 +285,7 @@ module OpenAI sig do params( - stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Util::AnyHash)) + stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -319,7 +324,7 @@ module OpenAI tool_choice: T.any( OpenAI::Models::Chat::ChatCompletionToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Chat::ChatCompletionNamedToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -332,7 +337,10 @@ module OpenAI sig { returns(T.nilable(T::Array[OpenAI::Models::Chat::ChatCompletionTool])) } attr_reader :tools - sig { params(tools: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTool, OpenAI::Util::AnyHash)]).void } + sig do + params(tools: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTool, OpenAI::Internal::Util::AnyHash)]) + .void + end attr_writer :tools # An integer between 0 and 20 specifying the number of most likely tokens to @@ -366,7 +374,7 @@ module OpenAI sig do params( - web_search_options: T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions, OpenAI::Util::AnyHash) + web_search_options: T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions, OpenAI::Internal::Util::AnyHash) ) .void end @@ -377,7 +385,7 @@ module OpenAI messages: T::Array[ T.any( OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Chat::ChatCompletionSystemMessageParam, OpenAI::Models::Chat::ChatCompletionUserMessageParam, OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, @@ -386,14 +394,14 @@ module OpenAI ) ], model: T.any(String, OpenAI::Models::ChatModel::OrSymbol), - audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudioParam, OpenAI::Util::AnyHash)), + audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudioParam, OpenAI::Internal::Util::AnyHash)), frequency_penalty: T.nilable(Float), function_call: T.any( OpenAI::Models::Chat::CompletionCreateParams::FunctionCall::FunctionCallMode::OrSymbol, OpenAI::Models::Chat::ChatCompletionFunctionCallOption, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), - functions: T::Array[T.any(OpenAI::Models::Chat::CompletionCreateParams::Function, OpenAI::Util::AnyHash)], + functions: T::Array[T.any(OpenAI::Models::Chat::CompletionCreateParams::Function, OpenAI::Internal::Util::AnyHash)], logit_bias: T.nilable(T::Hash[Symbol, Integer]), logprobs: T.nilable(T::Boolean), max_completion_tokens: T.nilable(Integer), @@ -402,12 +410,12 @@ module OpenAI modalities: T.nilable(T::Array[OpenAI::Models::Chat::CompletionCreateParams::Modality::OrSymbol]), n: T.nilable(Integer), parallel_tool_calls: T::Boolean, - prediction: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionPredictionContent, OpenAI::Util::AnyHash)), + prediction: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionPredictionContent, OpenAI::Internal::Util::AnyHash)), presence_penalty: T.nilable(Float), reasoning_effort: T.nilable(OpenAI::Models::ReasoningEffort::OrSymbol), response_format: T.any( OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject ), @@ -415,19 +423,19 @@ module OpenAI service_tier: T.nilable(OpenAI::Models::Chat::CompletionCreateParams::ServiceTier::OrSymbol), stop: T.nilable(T.any(String, T::Array[String])), store: T.nilable(T::Boolean), - stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Util::AnyHash)), + stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Internal::Util::AnyHash)), temperature: T.nilable(Float), tool_choice: T.any( OpenAI::Models::Chat::ChatCompletionToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Chat::ChatCompletionNamedToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), - tools: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTool, OpenAI::Util::AnyHash)], + tools: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTool, OpenAI::Internal::Util::AnyHash)], top_logprobs: T.nilable(Integer), top_p: T.nilable(Float), user: String, - web_search_options: T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions, OpenAI::Util::AnyHash), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + web_search_options: T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions, OpenAI::Internal::Util::AnyHash), + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -715,7 +723,7 @@ module OpenAI def self.variants end - StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Type::Converter) + StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Internal::Type::Converter) end class WebSearchOptions < OpenAI::BaseModel @@ -743,7 +751,10 @@ module OpenAI sig do params( user_location: T.nilable( - T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions::UserLocation, OpenAI::Util::AnyHash) + T.any( + OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions::UserLocation, + OpenAI::Internal::Util::AnyHash + ) ) ) .void @@ -757,7 +768,10 @@ module OpenAI params( search_context_size: OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions::SearchContextSize::OrSymbol, user_location: T.nilable( - T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions::UserLocation, OpenAI::Util::AnyHash) + T.any( + OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions::UserLocation, + OpenAI::Internal::Util::AnyHash + ) ) ) .returns(T.attached_class) @@ -828,7 +842,7 @@ module OpenAI params( approximate: T.any( OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions::UserLocation::Approximate, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -844,7 +858,7 @@ module OpenAI params( approximate: T.any( OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions::UserLocation::Approximate, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), type: Symbol ) diff --git a/rbi/lib/openai/models/chat/completion_delete_params.rbi b/rbi/lib/openai/models/chat/completion_delete_params.rbi index 9bc3d10e..b03964f8 100644 --- a/rbi/lib/openai/models/chat/completion_delete_params.rbi +++ b/rbi/lib/openai/models/chat/completion_delete_params.rbi @@ -4,16 +4,12 @@ module OpenAI module Models module Chat class CompletionDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/chat/completion_list_params.rbi b/rbi/lib/openai/models/chat/completion_list_params.rbi index 334e3fcd..a9fb2282 100644 --- a/rbi/lib/openai/models/chat/completion_list_params.rbi +++ b/rbi/lib/openai/models/chat/completion_list_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Chat class CompletionListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Identifier for the last chat completion from the previous pagination request. sig { returns(T.nilable(String)) } @@ -49,7 +49,7 @@ module OpenAI metadata: T.nilable(T::Hash[Symbol, String]), model: String, order: OpenAI::Models::Chat::CompletionListParams::Order::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/chat/completion_retrieve_params.rbi b/rbi/lib/openai/models/chat/completion_retrieve_params.rbi index fe74c4a3..ec5ec147 100644 --- a/rbi/lib/openai/models/chat/completion_retrieve_params.rbi +++ b/rbi/lib/openai/models/chat/completion_retrieve_params.rbi @@ -4,16 +4,12 @@ module OpenAI module Models module Chat class CompletionRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/chat/completion_update_params.rbi b/rbi/lib/openai/models/chat/completion_update_params.rbi index d9801164..d895f848 100644 --- a/rbi/lib/openai/models/chat/completion_update_params.rbi +++ b/rbi/lib/openai/models/chat/completion_update_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Chat class CompletionUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Set of 16 key-value pairs that can be attached to an object. This can be useful # for storing additional information about the object in a structured format, and @@ -19,7 +19,7 @@ module OpenAI sig do params( metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/chat/completions/message_list_params.rbi b/rbi/lib/openai/models/chat/completions/message_list_params.rbi index 9accd714..5415b3ca 100644 --- a/rbi/lib/openai/models/chat/completions/message_list_params.rbi +++ b/rbi/lib/openai/models/chat/completions/message_list_params.rbi @@ -5,8 +5,8 @@ module OpenAI module Chat module Completions class MessageListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Identifier for the last message from the previous pagination request. sig { returns(T.nilable(String)) } @@ -35,7 +35,7 @@ module OpenAI after: String, limit: Integer, order: OpenAI::Models::Chat::Completions::MessageListParams::Order::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/completion.rbi b/rbi/lib/openai/models/completion.rbi index e877536d..cb4efb9a 100644 --- a/rbi/lib/openai/models/completion.rbi +++ b/rbi/lib/openai/models/completion.rbi @@ -37,7 +37,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::CompletionUsage)) } attr_reader :usage - sig { params(usage: T.any(OpenAI::Models::CompletionUsage, OpenAI::Util::AnyHash)).void } + sig { params(usage: T.any(OpenAI::Models::CompletionUsage, OpenAI::Internal::Util::AnyHash)).void } attr_writer :usage # Represents a completion response from the API. Note: both the streamed and @@ -45,11 +45,11 @@ module OpenAI sig do params( id: String, - choices: T::Array[T.any(OpenAI::Models::CompletionChoice, OpenAI::Util::AnyHash)], + choices: T::Array[T.any(OpenAI::Models::CompletionChoice, OpenAI::Internal::Util::AnyHash)], created: Integer, model: String, system_fingerprint: String, - usage: T.any(OpenAI::Models::CompletionUsage, OpenAI::Util::AnyHash), + usage: T.any(OpenAI::Models::CompletionUsage, OpenAI::Internal::Util::AnyHash), object: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/completion_choice.rbi b/rbi/lib/openai/models/completion_choice.rbi index cfd36710..516615be 100644 --- a/rbi/lib/openai/models/completion_choice.rbi +++ b/rbi/lib/openai/models/completion_choice.rbi @@ -16,7 +16,12 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::CompletionChoice::Logprobs)) } attr_reader :logprobs - sig { params(logprobs: T.nilable(T.any(OpenAI::Models::CompletionChoice::Logprobs, OpenAI::Util::AnyHash))).void } + sig do + params( + logprobs: T.nilable(T.any(OpenAI::Models::CompletionChoice::Logprobs, OpenAI::Internal::Util::AnyHash)) + ) + .void + end attr_writer :logprobs sig { returns(String) } @@ -26,7 +31,7 @@ module OpenAI params( finish_reason: OpenAI::Models::CompletionChoice::FinishReason::OrSymbol, index: Integer, - logprobs: T.nilable(T.any(OpenAI::Models::CompletionChoice::Logprobs, OpenAI::Util::AnyHash)), + logprobs: T.nilable(T.any(OpenAI::Models::CompletionChoice::Logprobs, OpenAI::Internal::Util::AnyHash)), text: String ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/completion_create_params.rbi b/rbi/lib/openai/models/completion_create_params.rbi index cde7b429..b71c3965 100644 --- a/rbi/lib/openai/models/completion_create_params.rbi +++ b/rbi/lib/openai/models/completion_create_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class CompletionCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # ID of the model to use. You can use the # [List models](https://platform.openai.com/docs/api-reference/models/list) API to @@ -119,7 +119,7 @@ module OpenAI sig do params( - stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Util::AnyHash)) + stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -177,12 +177,12 @@ module OpenAI presence_penalty: T.nilable(Float), seed: T.nilable(Integer), stop: T.nilable(T.any(String, T::Array[String])), - stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Util::AnyHash)), + stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Internal::Util::AnyHash)), suffix: T.nilable(String), temperature: T.nilable(Float), top_p: T.nilable(Float), user: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -278,11 +278,14 @@ module OpenAI def self.variants end - StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Type::Converter) + StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Internal::Type::Converter) - IntegerArray = T.let(OpenAI::ArrayOf[Integer], OpenAI::Type::Converter) + IntegerArray = T.let(OpenAI::ArrayOf[Integer], OpenAI::Internal::Type::Converter) - ArrayOfToken2DArray = T.let(OpenAI::ArrayOf[OpenAI::ArrayOf[Integer]], OpenAI::Type::Converter) + ArrayOfToken2DArray = T.let( + OpenAI::ArrayOf[OpenAI::ArrayOf[Integer]], + OpenAI::Internal::Type::Converter + ) end # Up to 4 sequences where the API will stop generating further tokens. The @@ -294,7 +297,7 @@ module OpenAI def self.variants end - StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Type::Converter) + StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Internal::Type::Converter) end end end diff --git a/rbi/lib/openai/models/completion_usage.rbi b/rbi/lib/openai/models/completion_usage.rbi index 8daa195d..f059d80b 100644 --- a/rbi/lib/openai/models/completion_usage.rbi +++ b/rbi/lib/openai/models/completion_usage.rbi @@ -21,7 +21,7 @@ module OpenAI sig do params( - completion_tokens_details: T.any(OpenAI::Models::CompletionUsage::CompletionTokensDetails, OpenAI::Util::AnyHash) + completion_tokens_details: T.any(OpenAI::Models::CompletionUsage::CompletionTokensDetails, OpenAI::Internal::Util::AnyHash) ) .void end @@ -33,7 +33,7 @@ module OpenAI sig do params( - prompt_tokens_details: T.any(OpenAI::Models::CompletionUsage::PromptTokensDetails, OpenAI::Util::AnyHash) + prompt_tokens_details: T.any(OpenAI::Models::CompletionUsage::PromptTokensDetails, OpenAI::Internal::Util::AnyHash) ) .void end @@ -45,8 +45,8 @@ module OpenAI completion_tokens: Integer, prompt_tokens: Integer, total_tokens: Integer, - completion_tokens_details: T.any(OpenAI::Models::CompletionUsage::CompletionTokensDetails, OpenAI::Util::AnyHash), - prompt_tokens_details: T.any(OpenAI::Models::CompletionUsage::PromptTokensDetails, OpenAI::Util::AnyHash) + completion_tokens_details: T.any(OpenAI::Models::CompletionUsage::CompletionTokensDetails, OpenAI::Internal::Util::AnyHash), + prompt_tokens_details: T.any(OpenAI::Models::CompletionUsage::PromptTokensDetails, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/compound_filter.rbi b/rbi/lib/openai/models/compound_filter.rbi index b73e46bf..7377b320 100644 --- a/rbi/lib/openai/models/compound_filter.rbi +++ b/rbi/lib/openai/models/compound_filter.rbi @@ -15,7 +15,7 @@ module OpenAI # Combine multiple filters using `and` or `or`. sig do params( - filters: T::Array[T.any(OpenAI::Models::ComparisonFilter, OpenAI::Util::AnyHash, T.anything)], + filters: T::Array[T.any(OpenAI::Models::ComparisonFilter, OpenAI::Internal::Util::AnyHash, T.anything)], type: OpenAI::Models::CompoundFilter::Type::OrSymbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/create_embedding_response.rbi b/rbi/lib/openai/models/create_embedding_response.rbi index d057718b..d970b614 100644 --- a/rbi/lib/openai/models/create_embedding_response.rbi +++ b/rbi/lib/openai/models/create_embedding_response.rbi @@ -19,14 +19,14 @@ module OpenAI sig { returns(OpenAI::Models::CreateEmbeddingResponse::Usage) } attr_reader :usage - sig { params(usage: T.any(OpenAI::Models::CreateEmbeddingResponse::Usage, OpenAI::Util::AnyHash)).void } + sig { params(usage: T.any(OpenAI::Models::CreateEmbeddingResponse::Usage, OpenAI::Internal::Util::AnyHash)).void } attr_writer :usage sig do params( - data: T::Array[T.any(OpenAI::Models::Embedding, OpenAI::Util::AnyHash)], + data: T::Array[T.any(OpenAI::Models::Embedding, OpenAI::Internal::Util::AnyHash)], model: String, - usage: T.any(OpenAI::Models::CreateEmbeddingResponse::Usage, OpenAI::Util::AnyHash), + usage: T.any(OpenAI::Models::CreateEmbeddingResponse::Usage, OpenAI::Internal::Util::AnyHash), object: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/embedding_create_params.rbi b/rbi/lib/openai/models/embedding_create_params.rbi index 89a4ff35..47c96aeb 100644 --- a/rbi/lib/openai/models/embedding_create_params.rbi +++ b/rbi/lib/openai/models/embedding_create_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class EmbeddingCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Input text to embed, encoded as a string or array of tokens. To embed multiple # inputs in a single request, pass an array of strings or array of token arrays. @@ -57,7 +57,7 @@ module OpenAI dimensions: Integer, encoding_format: OpenAI::Models::EmbeddingCreateParams::EncodingFormat::OrSymbol, user: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -95,11 +95,14 @@ module OpenAI def self.variants end - StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Type::Converter) + StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Internal::Type::Converter) - IntegerArray = T.let(OpenAI::ArrayOf[Integer], OpenAI::Type::Converter) + IntegerArray = T.let(OpenAI::ArrayOf[Integer], OpenAI::Internal::Type::Converter) - ArrayOfToken2DArray = T.let(OpenAI::ArrayOf[OpenAI::ArrayOf[Integer]], OpenAI::Type::Converter) + ArrayOfToken2DArray = T.let( + OpenAI::ArrayOf[OpenAI::ArrayOf[Integer]], + OpenAI::Internal::Type::Converter + ) end # ID of the model to use. You can use the diff --git a/rbi/lib/openai/models/file_content_params.rbi b/rbi/lib/openai/models/file_content_params.rbi index 2a195cd2..773bdb83 100644 --- a/rbi/lib/openai/models/file_content_params.rbi +++ b/rbi/lib/openai/models/file_content_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class FileContentParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/file_create_params.rbi b/rbi/lib/openai/models/file_create_params.rbi index 8813232a..f665b3dc 100644 --- a/rbi/lib/openai/models/file_create_params.rbi +++ b/rbi/lib/openai/models/file_create_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class FileCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The File object (not file name) to be uploaded. sig { returns(T.any(IO, StringIO)) } @@ -21,7 +21,7 @@ module OpenAI params( file: T.any(IO, StringIO), purpose: OpenAI::Models::FilePurpose::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/file_delete_params.rbi b/rbi/lib/openai/models/file_delete_params.rbi index 3d675373..354f6382 100644 --- a/rbi/lib/openai/models/file_delete_params.rbi +++ b/rbi/lib/openai/models/file_delete_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class FileDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/file_list_params.rbi b/rbi/lib/openai/models/file_list_params.rbi index c3cd0d00..c1cc0765 100644 --- a/rbi/lib/openai/models/file_list_params.rbi +++ b/rbi/lib/openai/models/file_list_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class FileListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A cursor for use in pagination. `after` is an object ID that defines your place # in the list. For instance, if you make a list request and receive 100 objects, @@ -45,7 +45,7 @@ module OpenAI limit: Integer, order: OpenAI::Models::FileListParams::Order::OrSymbol, purpose: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/file_retrieve_params.rbi b/rbi/lib/openai/models/file_retrieve_params.rbi index 579f51ba..d34e1631 100644 --- a/rbi/lib/openai/models/file_retrieve_params.rbi +++ b/rbi/lib/openai/models/file_retrieve_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class FileRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/fine_tuning/fine_tuning_job.rbi b/rbi/lib/openai/models/fine_tuning/fine_tuning_job.rbi index 91218d14..c6541e22 100644 --- a/rbi/lib/openai/models/fine_tuning/fine_tuning_job.rbi +++ b/rbi/lib/openai/models/fine_tuning/fine_tuning_job.rbi @@ -18,7 +18,9 @@ module OpenAI attr_reader :error sig do - params(error: T.nilable(T.any(OpenAI::Models::FineTuning::FineTuningJob::Error, OpenAI::Util::AnyHash))) + params( + error: T.nilable(T.any(OpenAI::Models::FineTuning::FineTuningJob::Error, OpenAI::Internal::Util::AnyHash)) + ) .void end attr_writer :error @@ -40,7 +42,7 @@ module OpenAI sig do params( - hyperparameters: T.any(OpenAI::Models::FineTuning::FineTuningJob::Hyperparameters, OpenAI::Util::AnyHash) + hyperparameters: T.any(OpenAI::Models::FineTuning::FineTuningJob::Hyperparameters, OpenAI::Internal::Util::AnyHash) ) .void end @@ -111,7 +113,10 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::FineTuning::FineTuningJob::Method)) } attr_reader :method_ - sig { params(method_: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method, OpenAI::Util::AnyHash)).void } + sig do + params(method_: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method, OpenAI::Internal::Util::AnyHash)) + .void + end attr_writer :method_ # The `fine_tuning.job` object represents a fine-tuning job that has been created @@ -120,10 +125,10 @@ module OpenAI params( id: String, created_at: Integer, - error: T.nilable(T.any(OpenAI::Models::FineTuning::FineTuningJob::Error, OpenAI::Util::AnyHash)), + error: T.nilable(T.any(OpenAI::Models::FineTuning::FineTuningJob::Error, OpenAI::Internal::Util::AnyHash)), fine_tuned_model: T.nilable(String), finished_at: T.nilable(Integer), - hyperparameters: T.any(OpenAI::Models::FineTuning::FineTuningJob::Hyperparameters, OpenAI::Util::AnyHash), + hyperparameters: T.any(OpenAI::Models::FineTuning::FineTuningJob::Hyperparameters, OpenAI::Internal::Util::AnyHash), model: String, organization_id: String, result_files: T::Array[String], @@ -134,10 +139,10 @@ module OpenAI validation_file: T.nilable(String), estimated_finish: T.nilable(Integer), integrations: T.nilable( - T::Array[T.any(OpenAI::Models::FineTuning::FineTuningJobWandbIntegrationObject, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::FineTuning::FineTuningJobWandbIntegrationObject, OpenAI::Internal::Util::AnyHash)] ), metadata: T.nilable(T::Hash[Symbol, String]), - method_: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method, OpenAI::Util::AnyHash), + method_: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method, OpenAI::Internal::Util::AnyHash), object: Symbol ) .returns(T.attached_class) @@ -328,7 +333,12 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::FineTuning::FineTuningJob::Method::Dpo)) } attr_reader :dpo - sig { params(dpo: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Dpo, OpenAI::Util::AnyHash)).void } + sig do + params( + dpo: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Dpo, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :dpo # Configuration for the supervised fine-tuning method. @@ -337,7 +347,7 @@ module OpenAI sig do params( - supervised: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Supervised, OpenAI::Util::AnyHash) + supervised: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Supervised, OpenAI::Internal::Util::AnyHash) ) .void end @@ -353,8 +363,8 @@ module OpenAI # The method used for fine-tuning. sig do params( - dpo: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Dpo, OpenAI::Util::AnyHash), - supervised: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Supervised, OpenAI::Util::AnyHash), + dpo: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Dpo, OpenAI::Internal::Util::AnyHash), + supervised: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Supervised, OpenAI::Internal::Util::AnyHash), type: OpenAI::Models::FineTuning::FineTuningJob::Method::Type::OrSymbol ) .returns(T.attached_class) @@ -382,7 +392,10 @@ module OpenAI sig do params( - hyperparameters: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Dpo::Hyperparameters, OpenAI::Util::AnyHash) + hyperparameters: T.any( + OpenAI::Models::FineTuning::FineTuningJob::Method::Dpo::Hyperparameters, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -391,7 +404,10 @@ module OpenAI # Configuration for the DPO fine-tuning method. sig do params( - hyperparameters: T.any(OpenAI::Models::FineTuning::FineTuningJob::Method::Dpo::Hyperparameters, OpenAI::Util::AnyHash) + hyperparameters: T.any( + OpenAI::Models::FineTuning::FineTuningJob::Method::Dpo::Hyperparameters, + OpenAI::Internal::Util::AnyHash + ) ) .returns(T.attached_class) end @@ -516,7 +532,7 @@ module OpenAI params( hyperparameters: T.any( OpenAI::Models::FineTuning::FineTuningJob::Method::Supervised::Hyperparameters, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -528,7 +544,7 @@ module OpenAI params( hyperparameters: T.any( OpenAI::Models::FineTuning::FineTuningJob::Method::Supervised::Hyperparameters, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rbi b/rbi/lib/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rbi index 79b69c52..78bec198 100644 --- a/rbi/lib/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rbi +++ b/rbi/lib/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rbi @@ -15,12 +15,17 @@ module OpenAI sig { returns(OpenAI::Models::FineTuning::FineTuningJobWandbIntegration) } attr_reader :wandb - sig { params(wandb: T.any(OpenAI::Models::FineTuning::FineTuningJobWandbIntegration, OpenAI::Util::AnyHash)).void } + sig do + params( + wandb: T.any(OpenAI::Models::FineTuning::FineTuningJobWandbIntegration, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :wandb sig do params( - wandb: T.any(OpenAI::Models::FineTuning::FineTuningJobWandbIntegration, OpenAI::Util::AnyHash), + wandb: T.any(OpenAI::Models::FineTuning::FineTuningJobWandbIntegration, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/fine_tuning/job_cancel_params.rbi b/rbi/lib/openai/models/fine_tuning/job_cancel_params.rbi index d9429091..4180a266 100644 --- a/rbi/lib/openai/models/fine_tuning/job_cancel_params.rbi +++ b/rbi/lib/openai/models/fine_tuning/job_cancel_params.rbi @@ -4,16 +4,12 @@ module OpenAI module Models module FineTuning class JobCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/fine_tuning/job_create_params.rbi b/rbi/lib/openai/models/fine_tuning/job_create_params.rbi index 5091008f..68089ea2 100644 --- a/rbi/lib/openai/models/fine_tuning/job_create_params.rbi +++ b/rbi/lib/openai/models/fine_tuning/job_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module FineTuning class JobCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The name of the model to fine-tune. You can select one of the # [supported models](https://platform.openai.com/docs/guides/fine-tuning#which-models-can-be-fine-tuned). @@ -39,7 +39,7 @@ module OpenAI sig do params( - hyperparameters: T.any(OpenAI::Models::FineTuning::JobCreateParams::Hyperparameters, OpenAI::Util::AnyHash) + hyperparameters: T.any(OpenAI::Models::FineTuning::JobCreateParams::Hyperparameters, OpenAI::Internal::Util::AnyHash) ) .void end @@ -62,7 +62,12 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::FineTuning::JobCreateParams::Method)) } attr_reader :method_ - sig { params(method_: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method, OpenAI::Util::AnyHash)).void } + sig do + params( + method_: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :method_ # The seed controls the reproducibility of the job. Passing in the same seed and @@ -98,16 +103,16 @@ module OpenAI params( model: T.any(String, OpenAI::Models::FineTuning::JobCreateParams::Model::OrSymbol), training_file: String, - hyperparameters: T.any(OpenAI::Models::FineTuning::JobCreateParams::Hyperparameters, OpenAI::Util::AnyHash), + hyperparameters: T.any(OpenAI::Models::FineTuning::JobCreateParams::Hyperparameters, OpenAI::Internal::Util::AnyHash), integrations: T.nilable( - T::Array[T.any(OpenAI::Models::FineTuning::JobCreateParams::Integration, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::FineTuning::JobCreateParams::Integration, OpenAI::Internal::Util::AnyHash)] ), metadata: T.nilable(T::Hash[Symbol, String]), - method_: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method, OpenAI::Util::AnyHash), + method_: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method, OpenAI::Internal::Util::AnyHash), seed: T.nilable(Integer), suffix: T.nilable(String), validation_file: T.nilable(String), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -261,7 +266,7 @@ module OpenAI sig do params( - wandb: T.any(OpenAI::Models::FineTuning::JobCreateParams::Integration::Wandb, OpenAI::Util::AnyHash) + wandb: T.any(OpenAI::Models::FineTuning::JobCreateParams::Integration::Wandb, OpenAI::Internal::Util::AnyHash) ) .void end @@ -269,7 +274,7 @@ module OpenAI sig do params( - wandb: T.any(OpenAI::Models::FineTuning::JobCreateParams::Integration::Wandb, OpenAI::Util::AnyHash), + wandb: T.any(OpenAI::Models::FineTuning::JobCreateParams::Integration::Wandb, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) @@ -341,7 +346,12 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::FineTuning::JobCreateParams::Method::Dpo)) } attr_reader :dpo - sig { params(dpo: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Dpo, OpenAI::Util::AnyHash)).void } + sig do + params( + dpo: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Dpo, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :dpo # Configuration for the supervised fine-tuning method. @@ -350,7 +360,7 @@ module OpenAI sig do params( - supervised: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Supervised, OpenAI::Util::AnyHash) + supervised: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Supervised, OpenAI::Internal::Util::AnyHash) ) .void end @@ -366,8 +376,8 @@ module OpenAI # The method used for fine-tuning. sig do params( - dpo: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Dpo, OpenAI::Util::AnyHash), - supervised: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Supervised, OpenAI::Util::AnyHash), + dpo: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Dpo, OpenAI::Internal::Util::AnyHash), + supervised: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Supervised, OpenAI::Internal::Util::AnyHash), type: OpenAI::Models::FineTuning::JobCreateParams::Method::Type::OrSymbol ) .returns(T.attached_class) @@ -395,7 +405,10 @@ module OpenAI sig do params( - hyperparameters: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Dpo::Hyperparameters, OpenAI::Util::AnyHash) + hyperparameters: T.any( + OpenAI::Models::FineTuning::JobCreateParams::Method::Dpo::Hyperparameters, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -404,7 +417,10 @@ module OpenAI # Configuration for the DPO fine-tuning method. sig do params( - hyperparameters: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method::Dpo::Hyperparameters, OpenAI::Util::AnyHash) + hyperparameters: T.any( + OpenAI::Models::FineTuning::JobCreateParams::Method::Dpo::Hyperparameters, + OpenAI::Internal::Util::AnyHash + ) ) .returns(T.attached_class) end @@ -529,7 +545,7 @@ module OpenAI params( hyperparameters: T.any( OpenAI::Models::FineTuning::JobCreateParams::Method::Supervised::Hyperparameters, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .void @@ -541,7 +557,7 @@ module OpenAI params( hyperparameters: T.any( OpenAI::Models::FineTuning::JobCreateParams::Method::Supervised::Hyperparameters, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/fine_tuning/job_list_events_params.rbi b/rbi/lib/openai/models/fine_tuning/job_list_events_params.rbi index 0bfecb02..5a289277 100644 --- a/rbi/lib/openai/models/fine_tuning/job_list_events_params.rbi +++ b/rbi/lib/openai/models/fine_tuning/job_list_events_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module FineTuning class JobListEventsParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Identifier for the last event from the previous pagination request. sig { returns(T.nilable(String)) } @@ -25,7 +25,7 @@ module OpenAI params( after: String, limit: Integer, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/fine_tuning/job_list_params.rbi b/rbi/lib/openai/models/fine_tuning/job_list_params.rbi index 62697ccd..d3d055fc 100644 --- a/rbi/lib/openai/models/fine_tuning/job_list_params.rbi +++ b/rbi/lib/openai/models/fine_tuning/job_list_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module FineTuning class JobListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Identifier for the last job from the previous pagination request. sig { returns(T.nilable(String)) } @@ -31,7 +31,7 @@ module OpenAI after: String, limit: Integer, metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/fine_tuning/job_retrieve_params.rbi b/rbi/lib/openai/models/fine_tuning/job_retrieve_params.rbi index 4fadf667..119b93f5 100644 --- a/rbi/lib/openai/models/fine_tuning/job_retrieve_params.rbi +++ b/rbi/lib/openai/models/fine_tuning/job_retrieve_params.rbi @@ -4,16 +4,12 @@ module OpenAI module Models module FineTuning class JobRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rbi b/rbi/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rbi index 70dcc5c6..e9dabed3 100644 --- a/rbi/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rbi +++ b/rbi/lib/openai/models/fine_tuning/jobs/checkpoint_list_params.rbi @@ -5,8 +5,8 @@ module OpenAI module FineTuning module Jobs class CheckpointListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Identifier for the last checkpoint ID from the previous pagination request. sig { returns(T.nilable(String)) } @@ -26,7 +26,7 @@ module OpenAI params( after: String, limit: Integer, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rbi b/rbi/lib/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rbi index de47d120..f51faa86 100644 --- a/rbi/lib/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rbi +++ b/rbi/lib/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rbi @@ -27,7 +27,7 @@ module OpenAI sig do params( - metrics: T.any(OpenAI::Models::FineTuning::Jobs::FineTuningJobCheckpoint::Metrics, OpenAI::Util::AnyHash) + metrics: T.any(OpenAI::Models::FineTuning::Jobs::FineTuningJobCheckpoint::Metrics, OpenAI::Internal::Util::AnyHash) ) .void end @@ -49,7 +49,7 @@ module OpenAI created_at: Integer, fine_tuned_model_checkpoint: String, fine_tuning_job_id: String, - metrics: T.any(OpenAI::Models::FineTuning::Jobs::FineTuningJobCheckpoint::Metrics, OpenAI::Util::AnyHash), + metrics: T.any(OpenAI::Models::FineTuning::Jobs::FineTuningJobCheckpoint::Metrics, OpenAI::Internal::Util::AnyHash), step_number: Integer, object: Symbol ) diff --git a/rbi/lib/openai/models/function_parameters.rbi b/rbi/lib/openai/models/function_parameters.rbi index 8b20436c..5920964f 100644 --- a/rbi/lib/openai/models/function_parameters.rbi +++ b/rbi/lib/openai/models/function_parameters.rbi @@ -2,6 +2,6 @@ module OpenAI module Models - FunctionParameters = T.let(OpenAI::HashOf[OpenAI::Unknown], OpenAI::Type::Converter) + FunctionParameters = T.let(OpenAI::HashOf[OpenAI::Unknown], OpenAI::Internal::Type::Converter) end end diff --git a/rbi/lib/openai/models/image_create_variation_params.rbi b/rbi/lib/openai/models/image_create_variation_params.rbi index 39818554..ea1298ad 100644 --- a/rbi/lib/openai/models/image_create_variation_params.rbi +++ b/rbi/lib/openai/models/image_create_variation_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class ImageCreateVariationParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The image to use as the basis for the variation(s). Must be a valid PNG file, # less than 4MB, and square. @@ -49,7 +49,7 @@ module OpenAI response_format: T.nilable(OpenAI::Models::ImageCreateVariationParams::ResponseFormat::OrSymbol), size: T.nilable(OpenAI::Models::ImageCreateVariationParams::Size::OrSymbol), user: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/image_edit_params.rbi b/rbi/lib/openai/models/image_edit_params.rbi index 1305d68a..80ac6fdf 100644 --- a/rbi/lib/openai/models/image_edit_params.rbi +++ b/rbi/lib/openai/models/image_edit_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class ImageEditParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The image to edit. Must be a valid PNG file, less than 4MB, and square. If mask # is not provided, image must have transparency, which will be used as the mask. @@ -64,7 +64,7 @@ module OpenAI response_format: T.nilable(OpenAI::Models::ImageEditParams::ResponseFormat::OrSymbol), size: T.nilable(OpenAI::Models::ImageEditParams::Size::OrSymbol), user: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/image_generate_params.rbi b/rbi/lib/openai/models/image_generate_params.rbi index 78364258..5b0720c6 100644 --- a/rbi/lib/openai/models/image_generate_params.rbi +++ b/rbi/lib/openai/models/image_generate_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class ImageGenerateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A text description of the desired image(s). The maximum length is 1000 # characters for `dall-e-2` and 4000 characters for `dall-e-3`. @@ -67,7 +67,7 @@ module OpenAI size: T.nilable(OpenAI::Models::ImageGenerateParams::Size::OrSymbol), style: T.nilable(OpenAI::Models::ImageGenerateParams::Style::OrSymbol), user: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/images_response.rbi b/rbi/lib/openai/models/images_response.rbi index 5395968e..412cb40b 100644 --- a/rbi/lib/openai/models/images_response.rbi +++ b/rbi/lib/openai/models/images_response.rbi @@ -10,7 +10,7 @@ module OpenAI attr_accessor :data sig do - params(created: Integer, data: T::Array[T.any(OpenAI::Models::Image, OpenAI::Util::AnyHash)]) + params(created: Integer, data: T::Array[T.any(OpenAI::Models::Image, OpenAI::Internal::Util::AnyHash)]) .returns(T.attached_class) end def self.new(created:, data:) diff --git a/rbi/lib/openai/models/metadata.rbi b/rbi/lib/openai/models/metadata.rbi index 9b99c6d0..20e8347e 100644 --- a/rbi/lib/openai/models/metadata.rbi +++ b/rbi/lib/openai/models/metadata.rbi @@ -2,6 +2,6 @@ module OpenAI module Models - Metadata = T.let(OpenAI::HashOf[String], OpenAI::Type::Converter) + Metadata = T.let(OpenAI::HashOf[String], OpenAI::Internal::Type::Converter) end end diff --git a/rbi/lib/openai/models/model_delete_params.rbi b/rbi/lib/openai/models/model_delete_params.rbi index 53253e49..3ace3c62 100644 --- a/rbi/lib/openai/models/model_delete_params.rbi +++ b/rbi/lib/openai/models/model_delete_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class ModelDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/model_list_params.rbi b/rbi/lib/openai/models/model_list_params.rbi index ccea7e8a..ec503d0e 100644 --- a/rbi/lib/openai/models/model_list_params.rbi +++ b/rbi/lib/openai/models/model_list_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class ModelListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/model_retrieve_params.rbi b/rbi/lib/openai/models/model_retrieve_params.rbi index c6b05f8c..48ab1cf7 100644 --- a/rbi/lib/openai/models/model_retrieve_params.rbi +++ b/rbi/lib/openai/models/model_retrieve_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class ModelRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/moderation.rbi b/rbi/lib/openai/models/moderation.rbi index be0ff0fa..256ad93b 100644 --- a/rbi/lib/openai/models/moderation.rbi +++ b/rbi/lib/openai/models/moderation.rbi @@ -7,7 +7,7 @@ module OpenAI sig { returns(OpenAI::Models::Moderation::Categories) } attr_reader :categories - sig { params(categories: T.any(OpenAI::Models::Moderation::Categories, OpenAI::Util::AnyHash)).void } + sig { params(categories: T.any(OpenAI::Models::Moderation::Categories, OpenAI::Internal::Util::AnyHash)).void } attr_writer :categories # A list of the categories along with the input type(s) that the score applies to. @@ -16,7 +16,7 @@ module OpenAI sig do params( - category_applied_input_types: T.any(OpenAI::Models::Moderation::CategoryAppliedInputTypes, OpenAI::Util::AnyHash) + category_applied_input_types: T.any(OpenAI::Models::Moderation::CategoryAppliedInputTypes, OpenAI::Internal::Util::AnyHash) ) .void end @@ -26,7 +26,12 @@ module OpenAI sig { returns(OpenAI::Models::Moderation::CategoryScores) } attr_reader :category_scores - sig { params(category_scores: T.any(OpenAI::Models::Moderation::CategoryScores, OpenAI::Util::AnyHash)).void } + sig do + params( + category_scores: T.any(OpenAI::Models::Moderation::CategoryScores, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :category_scores # Whether any of the below categories are flagged. @@ -35,9 +40,9 @@ module OpenAI sig do params( - categories: T.any(OpenAI::Models::Moderation::Categories, OpenAI::Util::AnyHash), - category_applied_input_types: T.any(OpenAI::Models::Moderation::CategoryAppliedInputTypes, OpenAI::Util::AnyHash), - category_scores: T.any(OpenAI::Models::Moderation::CategoryScores, OpenAI::Util::AnyHash), + categories: T.any(OpenAI::Models::Moderation::Categories, OpenAI::Internal::Util::AnyHash), + category_applied_input_types: T.any(OpenAI::Models::Moderation::CategoryAppliedInputTypes, OpenAI::Internal::Util::AnyHash), + category_scores: T.any(OpenAI::Models::Moderation::CategoryScores, OpenAI::Internal::Util::AnyHash), flagged: T::Boolean ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/moderation_create_params.rbi b/rbi/lib/openai/models/moderation_create_params.rbi index 0f79bac9..c66af1c0 100644 --- a/rbi/lib/openai/models/moderation_create_params.rbi +++ b/rbi/lib/openai/models/moderation_create_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class ModerationCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Input (or inputs) to classify. Can be a single string, an array of strings, or # an array of multi-modal input objects similar to other models. @@ -34,10 +34,16 @@ module OpenAI input: T.any( String, T::Array[String], - T::Array[T.any(OpenAI::Models::ModerationImageURLInput, OpenAI::Util::AnyHash, OpenAI::Models::ModerationTextInput)] + T::Array[ + T.any( + OpenAI::Models::ModerationImageURLInput, + OpenAI::Internal::Util::AnyHash, + OpenAI::Models::ModerationTextInput + ) + ] ), model: T.any(String, OpenAI::Models::ModerationModel::OrSymbol), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -75,10 +81,13 @@ module OpenAI def self.variants end - StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Type::Converter) + StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Internal::Type::Converter) ModerationMultiModalInputArray = - T.let(OpenAI::ArrayOf[union: OpenAI::Models::ModerationMultiModalInput], OpenAI::Type::Converter) + T.let( + OpenAI::ArrayOf[union: OpenAI::Models::ModerationMultiModalInput], + OpenAI::Internal::Type::Converter + ) end # The content moderation model you would like to use. Learn more in diff --git a/rbi/lib/openai/models/moderation_create_response.rbi b/rbi/lib/openai/models/moderation_create_response.rbi index 0de2d5b0..4c1b0187 100644 --- a/rbi/lib/openai/models/moderation_create_response.rbi +++ b/rbi/lib/openai/models/moderation_create_response.rbi @@ -20,7 +20,7 @@ module OpenAI params( id: String, model: String, - results: T::Array[T.any(OpenAI::Models::Moderation, OpenAI::Util::AnyHash)] + results: T::Array[T.any(OpenAI::Models::Moderation, OpenAI::Internal::Util::AnyHash)] ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/moderation_image_url_input.rbi b/rbi/lib/openai/models/moderation_image_url_input.rbi index 5d3fb30a..77f4cfc0 100644 --- a/rbi/lib/openai/models/moderation_image_url_input.rbi +++ b/rbi/lib/openai/models/moderation_image_url_input.rbi @@ -7,7 +7,12 @@ module OpenAI sig { returns(OpenAI::Models::ModerationImageURLInput::ImageURL) } attr_reader :image_url - sig { params(image_url: T.any(OpenAI::Models::ModerationImageURLInput::ImageURL, OpenAI::Util::AnyHash)).void } + sig do + params( + image_url: T.any(OpenAI::Models::ModerationImageURLInput::ImageURL, OpenAI::Internal::Util::AnyHash) + ) + .void + end attr_writer :image_url # Always `image_url`. @@ -17,7 +22,7 @@ module OpenAI # An object describing an image to classify. sig do params( - image_url: T.any(OpenAI::Models::ModerationImageURLInput::ImageURL, OpenAI::Util::AnyHash), + image_url: T.any(OpenAI::Models::ModerationImageURLInput::ImageURL, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/response_format_json_schema.rbi b/rbi/lib/openai/models/response_format_json_schema.rbi index ea87d33f..95e6df84 100644 --- a/rbi/lib/openai/models/response_format_json_schema.rbi +++ b/rbi/lib/openai/models/response_format_json_schema.rbi @@ -8,7 +8,9 @@ module OpenAI attr_reader :json_schema sig do - params(json_schema: T.any(OpenAI::Models::ResponseFormatJSONSchema::JSONSchema, OpenAI::Util::AnyHash)) + params( + json_schema: T.any(OpenAI::Models::ResponseFormatJSONSchema::JSONSchema, OpenAI::Internal::Util::AnyHash) + ) .void end attr_writer :json_schema @@ -22,7 +24,7 @@ module OpenAI # [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs). sig do params( - json_schema: T.any(OpenAI::Models::ResponseFormatJSONSchema::JSONSchema, OpenAI::Util::AnyHash), + json_schema: T.any(OpenAI::Models::ResponseFormatJSONSchema::JSONSchema, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/responses/easy_input_message.rbi b/rbi/lib/openai/models/responses/easy_input_message.rbi index e0e2b2ed..67ac236f 100644 --- a/rbi/lib/openai/models/responses/easy_input_message.rbi +++ b/rbi/lib/openai/models/responses/easy_input_message.rbi @@ -46,7 +46,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Responses::ResponseInputText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseInputImage, OpenAI::Models::Responses::ResponseInputFile ) diff --git a/rbi/lib/openai/models/responses/file_search_tool.rbi b/rbi/lib/openai/models/responses/file_search_tool.rbi index 07f8b017..94dca043 100644 --- a/rbi/lib/openai/models/responses/file_search_tool.rbi +++ b/rbi/lib/openai/models/responses/file_search_tool.rbi @@ -18,7 +18,7 @@ module OpenAI sig do params( - filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Util::AnyHash, OpenAI::Models::CompoundFilter) + filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Internal::Util::AnyHash, OpenAI::Models::CompoundFilter) ) .void end @@ -38,7 +38,7 @@ module OpenAI sig do params( - ranking_options: T.any(OpenAI::Models::Responses::FileSearchTool::RankingOptions, OpenAI::Util::AnyHash) + ranking_options: T.any(OpenAI::Models::Responses::FileSearchTool::RankingOptions, OpenAI::Internal::Util::AnyHash) ) .void end @@ -50,9 +50,9 @@ module OpenAI sig do params( vector_store_ids: T::Array[String], - filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Util::AnyHash, OpenAI::Models::CompoundFilter), + filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Internal::Util::AnyHash, OpenAI::Models::CompoundFilter), max_num_results: Integer, - ranking_options: T.any(OpenAI::Models::Responses::FileSearchTool::RankingOptions, OpenAI::Util::AnyHash), + ranking_options: T.any(OpenAI::Models::Responses::FileSearchTool::RankingOptions, OpenAI::Internal::Util::AnyHash), type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/responses/input_item_list_params.rbi b/rbi/lib/openai/models/responses/input_item_list_params.rbi index 445f655c..20120ad6 100644 --- a/rbi/lib/openai/models/responses/input_item_list_params.rbi +++ b/rbi/lib/openai/models/responses/input_item_list_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Responses class InputItemListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # An item ID to list items after, used in pagination. sig { returns(T.nilable(String)) } @@ -54,7 +54,7 @@ module OpenAI include: T::Array[OpenAI::Models::Responses::ResponseIncludable::OrSymbol], limit: Integer, order: OpenAI::Models::Responses::InputItemListParams::Order::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/responses/response.rbi b/rbi/lib/openai/models/responses/response.rbi index 4ce11535..c2c8686f 100644 --- a/rbi/lib/openai/models/responses/response.rbi +++ b/rbi/lib/openai/models/responses/response.rbi @@ -16,7 +16,10 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Responses::ResponseError)) } attr_reader :error - sig { params(error: T.nilable(T.any(OpenAI::Models::Responses::ResponseError, OpenAI::Util::AnyHash))).void } + sig do + params(error: T.nilable(T.any(OpenAI::Models::Responses::ResponseError, OpenAI::Internal::Util::AnyHash))) + .void + end attr_writer :error # Details about why the response is incomplete. @@ -25,7 +28,7 @@ module OpenAI sig do params( - incomplete_details: T.nilable(T.any(OpenAI::Models::Responses::Response::IncompleteDetails, OpenAI::Util::AnyHash)) + incomplete_details: T.nilable(T.any(OpenAI::Models::Responses::Response::IncompleteDetails, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -168,7 +171,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Reasoning)) } attr_reader :reasoning - sig { params(reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Util::AnyHash))).void } + sig { params(reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Internal::Util::AnyHash))).void } attr_writer :reasoning # The status of the response generation. One of `completed`, `failed`, @@ -187,7 +190,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Responses::ResponseTextConfig)) } attr_reader :text - sig { params(text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Util::AnyHash)).void } + sig { params(text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Internal::Util::AnyHash)).void } attr_writer :text # The truncation strategy to use for the model response. @@ -205,7 +208,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Responses::ResponseUsage)) } attr_reader :usage - sig { params(usage: T.any(OpenAI::Models::Responses::ResponseUsage, OpenAI::Util::AnyHash)).void } + sig { params(usage: T.any(OpenAI::Models::Responses::ResponseUsage, OpenAI::Internal::Util::AnyHash)).void } attr_writer :usage # A unique identifier representing your end-user, which can help OpenAI to monitor @@ -221,15 +224,15 @@ module OpenAI params( id: String, created_at: Float, - error: T.nilable(T.any(OpenAI::Models::Responses::ResponseError, OpenAI::Util::AnyHash)), - incomplete_details: T.nilable(T.any(OpenAI::Models::Responses::Response::IncompleteDetails, OpenAI::Util::AnyHash)), + error: T.nilable(T.any(OpenAI::Models::Responses::ResponseError, OpenAI::Internal::Util::AnyHash)), + incomplete_details: T.nilable(T.any(OpenAI::Models::Responses::Response::IncompleteDetails, OpenAI::Internal::Util::AnyHash)), instructions: T.nilable(String), metadata: T.nilable(T::Hash[Symbol, String]), model: T.any(String, OpenAI::Models::ChatModel::OrSymbol, OpenAI::Models::ResponsesModel::OrSymbol), output: T::Array[ T.any( OpenAI::Models::Responses::ResponseOutputMessage, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, @@ -242,13 +245,13 @@ module OpenAI tool_choice: T.any( OpenAI::Models::Responses::ToolChoiceOptions::OrSymbol, OpenAI::Models::Responses::ToolChoiceTypes, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ToolChoiceFunction ), tools: T::Array[ T.any( OpenAI::Models::Responses::FileSearchTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::WebSearchTool @@ -257,11 +260,11 @@ module OpenAI top_p: T.nilable(Float), max_output_tokens: T.nilable(Integer), previous_response_id: T.nilable(String), - reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Util::AnyHash)), + reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Internal::Util::AnyHash)), status: OpenAI::Models::Responses::ResponseStatus::OrSymbol, - text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Util::AnyHash), + text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Internal::Util::AnyHash), truncation: T.nilable(OpenAI::Models::Responses::Response::Truncation::OrSymbol), - usage: T.any(OpenAI::Models::Responses::ResponseUsage, OpenAI::Util::AnyHash), + usage: T.any(OpenAI::Models::Responses::ResponseUsage, OpenAI::Internal::Util::AnyHash), user: String, object: Symbol ) diff --git a/rbi/lib/openai/models/responses/response_code_interpreter_call_completed_event.rbi b/rbi/lib/openai/models/responses/response_code_interpreter_call_completed_event.rbi index ea6117b4..d5e6e2f9 100644 --- a/rbi/lib/openai/models/responses/response_code_interpreter_call_completed_event.rbi +++ b/rbi/lib/openai/models/responses/response_code_interpreter_call_completed_event.rbi @@ -10,7 +10,7 @@ module OpenAI sig do params( - code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Util::AnyHash) + code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Internal::Util::AnyHash) ) .void end @@ -27,7 +27,7 @@ module OpenAI # Emitted when the code interpreter call is completed. sig do params( - code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Util::AnyHash), + code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Internal::Util::AnyHash), output_index: Integer, type: Symbol ) diff --git a/rbi/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi b/rbi/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi index e49fec75..5d0d90a1 100644 --- a/rbi/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi +++ b/rbi/lib/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi @@ -10,7 +10,7 @@ module OpenAI sig do params( - code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Util::AnyHash) + code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Internal::Util::AnyHash) ) .void end @@ -27,7 +27,7 @@ module OpenAI # Emitted when a code interpreter call is in progress. sig do params( - code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Util::AnyHash), + code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Internal::Util::AnyHash), output_index: Integer, type: Symbol ) diff --git a/rbi/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi b/rbi/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi index a19cad6d..f2f0f442 100644 --- a/rbi/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi +++ b/rbi/lib/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi @@ -10,7 +10,7 @@ module OpenAI sig do params( - code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Util::AnyHash) + code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Internal::Util::AnyHash) ) .void end @@ -27,7 +27,7 @@ module OpenAI # Emitted when the code interpreter is actively interpreting the code snippet. sig do params( - code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Util::AnyHash), + code_interpreter_call: T.any(OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Internal::Util::AnyHash), output_index: Integer, type: Symbol ) diff --git a/rbi/lib/openai/models/responses/response_code_interpreter_tool_call.rbi b/rbi/lib/openai/models/responses/response_code_interpreter_tool_call.rbi index cb88444a..2f23866c 100644 --- a/rbi/lib/openai/models/responses/response_code_interpreter_tool_call.rbi +++ b/rbi/lib/openai/models/responses/response_code_interpreter_tool_call.rbi @@ -41,7 +41,7 @@ module OpenAI results: T::Array[ T.any( OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Logs, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files ) ], @@ -110,7 +110,7 @@ module OpenAI files: T::Array[ T.any( OpenAI::Models::Responses::ResponseCodeInterpreterToolCall::Result::Files::File, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ], type: Symbol diff --git a/rbi/lib/openai/models/responses/response_completed_event.rbi b/rbi/lib/openai/models/responses/response_completed_event.rbi index 4b78bb8f..5ea9fdfe 100644 --- a/rbi/lib/openai/models/responses/response_completed_event.rbi +++ b/rbi/lib/openai/models/responses/response_completed_event.rbi @@ -8,7 +8,7 @@ module OpenAI sig { returns(OpenAI::Models::Responses::Response) } attr_reader :response - sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash)).void } + sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash)).void } attr_writer :response # The type of the event. Always `response.completed`. @@ -17,7 +17,10 @@ module OpenAI # Emitted when the model response is complete. sig do - params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash), type: Symbol) + params( + response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash), + type: Symbol + ) .returns(T.attached_class) end def self.new(response:, type: :"response.completed") diff --git a/rbi/lib/openai/models/responses/response_computer_tool_call.rbi b/rbi/lib/openai/models/responses/response_computer_tool_call.rbi index 80a4e800..18ad0198 100644 --- a/rbi/lib/openai/models/responses/response_computer_tool_call.rbi +++ b/rbi/lib/openai/models/responses/response_computer_tool_call.rbi @@ -51,7 +51,7 @@ module OpenAI id: String, action: T.any( OpenAI::Models::Responses::ResponseComputerToolCall::Action::Click, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseComputerToolCall::Action::DoubleClick, OpenAI::Models::Responses::ResponseComputerToolCall::Action::Drag, OpenAI::Models::Responses::ResponseComputerToolCall::Action::Keypress, @@ -62,7 +62,12 @@ module OpenAI OpenAI::Models::Responses::ResponseComputerToolCall::Action::Wait ), call_id: String, - pending_safety_checks: T::Array[T.any(OpenAI::Models::Responses::ResponseComputerToolCall::PendingSafetyCheck, OpenAI::Util::AnyHash)], + pending_safety_checks: T::Array[ + T.any( + OpenAI::Models::Responses::ResponseComputerToolCall::PendingSafetyCheck, + OpenAI::Internal::Util::AnyHash + ) + ], status: OpenAI::Models::Responses::ResponseComputerToolCall::Status::OrSymbol, type: OpenAI::Models::Responses::ResponseComputerToolCall::Type::OrSymbol ) @@ -230,7 +235,12 @@ module OpenAI # A drag action. sig do params( - path: T::Array[T.any(OpenAI::Models::Responses::ResponseComputerToolCall::Action::Drag::Path, OpenAI::Util::AnyHash)], + path: T::Array[ + T.any( + OpenAI::Models::Responses::ResponseComputerToolCall::Action::Drag::Path, + OpenAI::Internal::Util::AnyHash + ) + ], type: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/responses/response_computer_tool_call_output_item.rbi b/rbi/lib/openai/models/responses/response_computer_tool_call_output_item.rbi index f10df142..5f0a22d5 100644 --- a/rbi/lib/openai/models/responses/response_computer_tool_call_output_item.rbi +++ b/rbi/lib/openai/models/responses/response_computer_tool_call_output_item.rbi @@ -18,7 +18,10 @@ module OpenAI sig do params( - output: T.any(OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot, OpenAI::Util::AnyHash) + output: T.any( + OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -44,7 +47,7 @@ module OpenAI acknowledged_safety_checks: T::Array[ T.any( OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) @@ -64,11 +67,14 @@ module OpenAI params( id: String, call_id: String, - output: T.any(OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot, OpenAI::Util::AnyHash), + output: T.any( + OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot, + OpenAI::Internal::Util::AnyHash + ), acknowledged_safety_checks: T::Array[ T.any( OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::AcknowledgedSafetyCheck, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ], status: OpenAI::Models::Responses::ResponseComputerToolCallOutputItem::Status::OrSymbol, diff --git a/rbi/lib/openai/models/responses/response_content_part_added_event.rbi b/rbi/lib/openai/models/responses/response_content_part_added_event.rbi index 2c961d2d..9065af5e 100644 --- a/rbi/lib/openai/models/responses/response_content_part_added_event.rbi +++ b/rbi/lib/openai/models/responses/response_content_part_added_event.rbi @@ -36,7 +36,7 @@ module OpenAI output_index: Integer, part: T.any( OpenAI::Models::Responses::ResponseOutputText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseOutputRefusal ), type: Symbol diff --git a/rbi/lib/openai/models/responses/response_content_part_done_event.rbi b/rbi/lib/openai/models/responses/response_content_part_done_event.rbi index b5948c6d..1b8ece5c 100644 --- a/rbi/lib/openai/models/responses/response_content_part_done_event.rbi +++ b/rbi/lib/openai/models/responses/response_content_part_done_event.rbi @@ -36,7 +36,7 @@ module OpenAI output_index: Integer, part: T.any( OpenAI::Models::Responses::ResponseOutputText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseOutputRefusal ), type: Symbol diff --git a/rbi/lib/openai/models/responses/response_create_params.rbi b/rbi/lib/openai/models/responses/response_create_params.rbi index 9bf4d295..ef7c1ca5 100644 --- a/rbi/lib/openai/models/responses/response_create_params.rbi +++ b/rbi/lib/openai/models/responses/response_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Responses class ResponseCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Text, image, or file inputs to the model, used to generate a response. # @@ -100,7 +100,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Reasoning)) } attr_reader :reasoning - sig { params(reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Util::AnyHash))).void } + sig { params(reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Internal::Util::AnyHash))).void } attr_writer :reasoning # Whether to store the generated model response for later retrieval via API. @@ -122,7 +122,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::Responses::ResponseTextConfig)) } attr_reader :text - sig { params(text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Util::AnyHash)).void } + sig { params(text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Internal::Util::AnyHash)).void } attr_writer :text # How the model should select which tool (or tools) to use when generating a @@ -146,7 +146,7 @@ module OpenAI tool_choice: T.any( OpenAI::Models::Responses::ToolChoiceOptions::OrSymbol, OpenAI::Models::Responses::ToolChoiceTypes, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ToolChoiceFunction ) ) @@ -189,7 +189,7 @@ module OpenAI tools: T::Array[ T.any( OpenAI::Models::Responses::FileSearchTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::WebSearchTool @@ -234,7 +234,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Responses::EasyInputMessage, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, @@ -255,20 +255,20 @@ module OpenAI metadata: T.nilable(T::Hash[Symbol, String]), parallel_tool_calls: T.nilable(T::Boolean), previous_response_id: T.nilable(String), - reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Util::AnyHash)), + reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Internal::Util::AnyHash)), store: T.nilable(T::Boolean), temperature: T.nilable(Float), - text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Util::AnyHash), + text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Internal::Util::AnyHash), tool_choice: T.any( OpenAI::Models::Responses::ToolChoiceOptions::OrSymbol, OpenAI::Models::Responses::ToolChoiceTypes, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ToolChoiceFunction ), tools: T::Array[ T.any( OpenAI::Models::Responses::FileSearchTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::WebSearchTool @@ -277,7 +277,7 @@ module OpenAI top_p: T.nilable(Float), truncation: T.nilable(OpenAI::Models::Responses::ResponseCreateParams::Truncation::OrSymbol), user: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/responses/response_created_event.rbi b/rbi/lib/openai/models/responses/response_created_event.rbi index 0ff42037..0ce79c50 100644 --- a/rbi/lib/openai/models/responses/response_created_event.rbi +++ b/rbi/lib/openai/models/responses/response_created_event.rbi @@ -8,7 +8,7 @@ module OpenAI sig { returns(OpenAI::Models::Responses::Response) } attr_reader :response - sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash)).void } + sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash)).void } attr_writer :response # The type of the event. Always `response.created`. @@ -17,7 +17,10 @@ module OpenAI # An event that is emitted when a response is created. sig do - params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash), type: Symbol) + params( + response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash), + type: Symbol + ) .returns(T.attached_class) end def self.new(response:, type: :"response.created") diff --git a/rbi/lib/openai/models/responses/response_delete_params.rbi b/rbi/lib/openai/models/responses/response_delete_params.rbi index 92e2ddb7..008c4bd9 100644 --- a/rbi/lib/openai/models/responses/response_delete_params.rbi +++ b/rbi/lib/openai/models/responses/response_delete_params.rbi @@ -4,16 +4,12 @@ module OpenAI module Models module Responses class ResponseDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/responses/response_failed_event.rbi b/rbi/lib/openai/models/responses/response_failed_event.rbi index 8a3b97e1..8d43369b 100644 --- a/rbi/lib/openai/models/responses/response_failed_event.rbi +++ b/rbi/lib/openai/models/responses/response_failed_event.rbi @@ -8,7 +8,7 @@ module OpenAI sig { returns(OpenAI::Models::Responses::Response) } attr_reader :response - sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash)).void } + sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash)).void } attr_writer :response # The type of the event. Always `response.failed`. @@ -17,7 +17,10 @@ module OpenAI # An event that is emitted when a response fails. sig do - params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash), type: Symbol) + params( + response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash), + type: Symbol + ) .returns(T.attached_class) end def self.new(response:, type: :"response.failed") diff --git a/rbi/lib/openai/models/responses/response_file_search_tool_call.rbi b/rbi/lib/openai/models/responses/response_file_search_tool_call.rbi index 01b2899c..050fdfc1 100644 --- a/rbi/lib/openai/models/responses/response_file_search_tool_call.rbi +++ b/rbi/lib/openai/models/responses/response_file_search_tool_call.rbi @@ -34,7 +34,7 @@ module OpenAI queries: T::Array[String], status: OpenAI::Models::Responses::ResponseFileSearchToolCall::Status::OrSymbol, results: T.nilable( - T::Array[T.any(OpenAI::Models::Responses::ResponseFileSearchToolCall::Result, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::Responses::ResponseFileSearchToolCall::Result, OpenAI::Internal::Util::AnyHash)] ), type: Symbol ) diff --git a/rbi/lib/openai/models/responses/response_in_progress_event.rbi b/rbi/lib/openai/models/responses/response_in_progress_event.rbi index 7895e6a8..21962a06 100644 --- a/rbi/lib/openai/models/responses/response_in_progress_event.rbi +++ b/rbi/lib/openai/models/responses/response_in_progress_event.rbi @@ -8,7 +8,7 @@ module OpenAI sig { returns(OpenAI::Models::Responses::Response) } attr_reader :response - sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash)).void } + sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash)).void } attr_writer :response # The type of the event. Always `response.in_progress`. @@ -17,7 +17,10 @@ module OpenAI # Emitted when the response is in progress. sig do - params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash), type: Symbol) + params( + response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash), + type: Symbol + ) .returns(T.attached_class) end def self.new(response:, type: :"response.in_progress") diff --git a/rbi/lib/openai/models/responses/response_incomplete_event.rbi b/rbi/lib/openai/models/responses/response_incomplete_event.rbi index ea974ede..ab06154d 100644 --- a/rbi/lib/openai/models/responses/response_incomplete_event.rbi +++ b/rbi/lib/openai/models/responses/response_incomplete_event.rbi @@ -8,7 +8,7 @@ module OpenAI sig { returns(OpenAI::Models::Responses::Response) } attr_reader :response - sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash)).void } + sig { params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash)).void } attr_writer :response # The type of the event. Always `response.incomplete`. @@ -17,7 +17,10 @@ module OpenAI # An event that is emitted when a response finishes as incomplete. sig do - params(response: T.any(OpenAI::Models::Responses::Response, OpenAI::Util::AnyHash), type: Symbol) + params( + response: T.any(OpenAI::Models::Responses::Response, OpenAI::Internal::Util::AnyHash), + type: Symbol + ) .returns(T.attached_class) end def self.new(response:, type: :"response.incomplete") diff --git a/rbi/lib/openai/models/responses/response_input.rbi b/rbi/lib/openai/models/responses/response_input.rbi index d903e04f..f86dda51 100644 --- a/rbi/lib/openai/models/responses/response_input.rbi +++ b/rbi/lib/openai/models/responses/response_input.rbi @@ -4,7 +4,10 @@ module OpenAI module Models module Responses ResponseInput = - T.let(OpenAI::ArrayOf[union: OpenAI::Models::Responses::ResponseInputItem], OpenAI::Type::Converter) + T.let( + OpenAI::ArrayOf[union: OpenAI::Models::Responses::ResponseInputItem], + OpenAI::Internal::Type::Converter + ) end end end diff --git a/rbi/lib/openai/models/responses/response_input_item.rbi b/rbi/lib/openai/models/responses/response_input_item.rbi index eb5e163c..ab326c72 100644 --- a/rbi/lib/openai/models/responses/response_input_item.rbi +++ b/rbi/lib/openai/models/responses/response_input_item.rbi @@ -54,7 +54,7 @@ module OpenAI content: T::Array[ T.any( OpenAI::Models::Responses::ResponseInputText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseInputImage, OpenAI::Models::Responses::ResponseInputFile ) @@ -156,7 +156,10 @@ module OpenAI sig do params( - output: T.any(OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot, OpenAI::Util::AnyHash) + output: T.any( + OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot, + OpenAI::Internal::Util::AnyHash + ) ) .void end @@ -189,7 +192,7 @@ module OpenAI acknowledged_safety_checks: T::Array[ T.any( OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput::AcknowledgedSafetyCheck, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ] ) @@ -209,12 +212,15 @@ module OpenAI sig do params( call_id: String, - output: T.any(OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot, OpenAI::Util::AnyHash), + output: T.any( + OpenAI::Models::Responses::ResponseComputerToolCallOutputScreenshot, + OpenAI::Internal::Util::AnyHash + ), id: String, acknowledged_safety_checks: T::Array[ T.any( OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput::AcknowledgedSafetyCheck, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ], status: OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput::Status::OrSymbol, diff --git a/rbi/lib/openai/models/responses/response_input_message_content_list.rbi b/rbi/lib/openai/models/responses/response_input_message_content_list.rbi index 174cada3..b06ad65b 100644 --- a/rbi/lib/openai/models/responses/response_input_message_content_list.rbi +++ b/rbi/lib/openai/models/responses/response_input_message_content_list.rbi @@ -4,7 +4,10 @@ module OpenAI module Models module Responses ResponseInputMessageContentList = - T.let(OpenAI::ArrayOf[union: OpenAI::Models::Responses::ResponseInputContent], OpenAI::Type::Converter) + T.let( + OpenAI::ArrayOf[union: OpenAI::Models::Responses::ResponseInputContent], + OpenAI::Internal::Type::Converter + ) end end end diff --git a/rbi/lib/openai/models/responses/response_input_message_item.rbi b/rbi/lib/openai/models/responses/response_input_message_item.rbi index 11580c3f..60b55701 100644 --- a/rbi/lib/openai/models/responses/response_input_message_item.rbi +++ b/rbi/lib/openai/models/responses/response_input_message_item.rbi @@ -48,7 +48,7 @@ module OpenAI content: T::Array[ T.any( OpenAI::Models::Responses::ResponseInputText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseInputImage, OpenAI::Models::Responses::ResponseInputFile ) diff --git a/rbi/lib/openai/models/responses/response_item_list.rbi b/rbi/lib/openai/models/responses/response_item_list.rbi index a7e4d918..93cf118a 100644 --- a/rbi/lib/openai/models/responses/response_item_list.rbi +++ b/rbi/lib/openai/models/responses/response_item_list.rbi @@ -45,7 +45,7 @@ module OpenAI data: T::Array[ T.any( OpenAI::Models::Responses::ResponseInputMessageItem, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, diff --git a/rbi/lib/openai/models/responses/response_output_item_added_event.rbi b/rbi/lib/openai/models/responses/response_output_item_added_event.rbi index 648d48d9..735922c6 100644 --- a/rbi/lib/openai/models/responses/response_output_item_added_event.rbi +++ b/rbi/lib/openai/models/responses/response_output_item_added_event.rbi @@ -32,7 +32,7 @@ module OpenAI params( item: T.any( OpenAI::Models::Responses::ResponseOutputMessage, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, diff --git a/rbi/lib/openai/models/responses/response_output_item_done_event.rbi b/rbi/lib/openai/models/responses/response_output_item_done_event.rbi index 1d8ebd83..8dde062b 100644 --- a/rbi/lib/openai/models/responses/response_output_item_done_event.rbi +++ b/rbi/lib/openai/models/responses/response_output_item_done_event.rbi @@ -32,7 +32,7 @@ module OpenAI params( item: T.any( OpenAI::Models::Responses::ResponseOutputMessage, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionWebSearch, diff --git a/rbi/lib/openai/models/responses/response_output_message.rbi b/rbi/lib/openai/models/responses/response_output_message.rbi index 81c36c47..8b07428a 100644 --- a/rbi/lib/openai/models/responses/response_output_message.rbi +++ b/rbi/lib/openai/models/responses/response_output_message.rbi @@ -36,7 +36,7 @@ module OpenAI content: T::Array[ T.any( OpenAI::Models::Responses::ResponseOutputText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseOutputRefusal ) ], diff --git a/rbi/lib/openai/models/responses/response_output_text.rbi b/rbi/lib/openai/models/responses/response_output_text.rbi index 561c4b12..d8aeb7e6 100644 --- a/rbi/lib/openai/models/responses/response_output_text.rbi +++ b/rbi/lib/openai/models/responses/response_output_text.rbi @@ -32,7 +32,7 @@ module OpenAI annotations: T::Array[ T.any( OpenAI::Models::Responses::ResponseOutputText::Annotation::FileCitation, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseOutputText::Annotation::URLCitation, OpenAI::Models::Responses::ResponseOutputText::Annotation::FilePath ) diff --git a/rbi/lib/openai/models/responses/response_reasoning_item.rbi b/rbi/lib/openai/models/responses/response_reasoning_item.rbi index acb3183e..bd3303b1 100644 --- a/rbi/lib/openai/models/responses/response_reasoning_item.rbi +++ b/rbi/lib/openai/models/responses/response_reasoning_item.rbi @@ -29,7 +29,7 @@ module OpenAI sig do params( id: String, - summary: T::Array[T.any(OpenAI::Models::Responses::ResponseReasoningItem::Summary, OpenAI::Util::AnyHash)], + summary: T::Array[T.any(OpenAI::Models::Responses::ResponseReasoningItem::Summary, OpenAI::Internal::Util::AnyHash)], status: OpenAI::Models::Responses::ResponseReasoningItem::Status::OrSymbol, type: Symbol ) diff --git a/rbi/lib/openai/models/responses/response_retrieve_params.rbi b/rbi/lib/openai/models/responses/response_retrieve_params.rbi index df3a5dc9..a6c61a0f 100644 --- a/rbi/lib/openai/models/responses/response_retrieve_params.rbi +++ b/rbi/lib/openai/models/responses/response_retrieve_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Responses class ResponseRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # Additional fields to include in the response. See the `include` parameter for # Response creation above for more information. @@ -18,7 +18,7 @@ module OpenAI sig do params( include: T::Array[OpenAI::Models::Responses::ResponseIncludable::OrSymbol], - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/responses/response_text_annotation_delta_event.rbi b/rbi/lib/openai/models/responses/response_text_annotation_delta_event.rbi index 4ad5009e..689a3028 100644 --- a/rbi/lib/openai/models/responses/response_text_annotation_delta_event.rbi +++ b/rbi/lib/openai/models/responses/response_text_annotation_delta_event.rbi @@ -41,7 +41,7 @@ module OpenAI params( annotation: T.any( OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent::Annotation::FileCitation, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent::Annotation::URLCitation, OpenAI::Models::Responses::ResponseTextAnnotationDeltaEvent::Annotation::FilePath ), diff --git a/rbi/lib/openai/models/responses/response_text_config.rbi b/rbi/lib/openai/models/responses/response_text_config.rbi index 240a7e92..1aad6df7 100644 --- a/rbi/lib/openai/models/responses/response_text_config.rbi +++ b/rbi/lib/openai/models/responses/response_text_config.rbi @@ -34,7 +34,7 @@ module OpenAI params( format_: T.any( OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseFormatTextJSONSchemaConfig, OpenAI::Models::ResponseFormatJSONObject ) @@ -52,7 +52,7 @@ module OpenAI params( format_: T.any( OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseFormatTextJSONSchemaConfig, OpenAI::Models::ResponseFormatJSONObject ) diff --git a/rbi/lib/openai/models/responses/response_usage.rbi b/rbi/lib/openai/models/responses/response_usage.rbi index 1ec163da..c9ac5ea8 100644 --- a/rbi/lib/openai/models/responses/response_usage.rbi +++ b/rbi/lib/openai/models/responses/response_usage.rbi @@ -14,7 +14,7 @@ module OpenAI sig do params( - input_tokens_details: T.any(OpenAI::Models::Responses::ResponseUsage::InputTokensDetails, OpenAI::Util::AnyHash) + input_tokens_details: T.any(OpenAI::Models::Responses::ResponseUsage::InputTokensDetails, OpenAI::Internal::Util::AnyHash) ) .void end @@ -30,7 +30,7 @@ module OpenAI sig do params( - output_tokens_details: T.any(OpenAI::Models::Responses::ResponseUsage::OutputTokensDetails, OpenAI::Util::AnyHash) + output_tokens_details: T.any(OpenAI::Models::Responses::ResponseUsage::OutputTokensDetails, OpenAI::Internal::Util::AnyHash) ) .void end @@ -45,9 +45,9 @@ module OpenAI sig do params( input_tokens: Integer, - input_tokens_details: T.any(OpenAI::Models::Responses::ResponseUsage::InputTokensDetails, OpenAI::Util::AnyHash), + input_tokens_details: T.any(OpenAI::Models::Responses::ResponseUsage::InputTokensDetails, OpenAI::Internal::Util::AnyHash), output_tokens: Integer, - output_tokens_details: T.any(OpenAI::Models::Responses::ResponseUsage::OutputTokensDetails, OpenAI::Util::AnyHash), + output_tokens_details: T.any(OpenAI::Models::Responses::ResponseUsage::OutputTokensDetails, OpenAI::Internal::Util::AnyHash), total_tokens: Integer ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/responses/web_search_tool.rbi b/rbi/lib/openai/models/responses/web_search_tool.rbi index 310805df..ba497fb4 100644 --- a/rbi/lib/openai/models/responses/web_search_tool.rbi +++ b/rbi/lib/openai/models/responses/web_search_tool.rbi @@ -24,7 +24,7 @@ module OpenAI sig do params( - user_location: T.nilable(T.any(OpenAI::Models::Responses::WebSearchTool::UserLocation, OpenAI::Util::AnyHash)) + user_location: T.nilable(T.any(OpenAI::Models::Responses::WebSearchTool::UserLocation, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -37,7 +37,7 @@ module OpenAI params( type: OpenAI::Models::Responses::WebSearchTool::Type::OrSymbol, search_context_size: OpenAI::Models::Responses::WebSearchTool::SearchContextSize::OrSymbol, - user_location: T.nilable(T.any(OpenAI::Models::Responses::WebSearchTool::UserLocation, OpenAI::Util::AnyHash)) + user_location: T.nilable(T.any(OpenAI::Models::Responses::WebSearchTool::UserLocation, OpenAI::Internal::Util::AnyHash)) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/static_file_chunking_strategy_object.rbi b/rbi/lib/openai/models/static_file_chunking_strategy_object.rbi index eac14e48..8525371f 100644 --- a/rbi/lib/openai/models/static_file_chunking_strategy_object.rbi +++ b/rbi/lib/openai/models/static_file_chunking_strategy_object.rbi @@ -6,7 +6,7 @@ module OpenAI sig { returns(OpenAI::Models::StaticFileChunkingStrategy) } attr_reader :static - sig { params(static: T.any(OpenAI::Models::StaticFileChunkingStrategy, OpenAI::Util::AnyHash)).void } + sig { params(static: T.any(OpenAI::Models::StaticFileChunkingStrategy, OpenAI::Internal::Util::AnyHash)).void } attr_writer :static # Always `static`. @@ -14,7 +14,10 @@ module OpenAI attr_accessor :type sig do - params(static: T.any(OpenAI::Models::StaticFileChunkingStrategy, OpenAI::Util::AnyHash), type: Symbol) + params( + static: T.any(OpenAI::Models::StaticFileChunkingStrategy, OpenAI::Internal::Util::AnyHash), + type: Symbol + ) .returns(T.attached_class) end def self.new(static:, type: :static) diff --git a/rbi/lib/openai/models/static_file_chunking_strategy_object_param.rbi b/rbi/lib/openai/models/static_file_chunking_strategy_object_param.rbi index 5387db39..fe747e98 100644 --- a/rbi/lib/openai/models/static_file_chunking_strategy_object_param.rbi +++ b/rbi/lib/openai/models/static_file_chunking_strategy_object_param.rbi @@ -6,7 +6,7 @@ module OpenAI sig { returns(OpenAI::Models::StaticFileChunkingStrategy) } attr_reader :static - sig { params(static: T.any(OpenAI::Models::StaticFileChunkingStrategy, OpenAI::Util::AnyHash)).void } + sig { params(static: T.any(OpenAI::Models::StaticFileChunkingStrategy, OpenAI::Internal::Util::AnyHash)).void } attr_writer :static # Always `static`. @@ -15,7 +15,10 @@ module OpenAI # Customize your own chunking strategy by setting chunk size and chunk overlap. sig do - params(static: T.any(OpenAI::Models::StaticFileChunkingStrategy, OpenAI::Util::AnyHash), type: Symbol) + params( + static: T.any(OpenAI::Models::StaticFileChunkingStrategy, OpenAI::Internal::Util::AnyHash), + type: Symbol + ) .returns(T.attached_class) end def self.new(static:, type: :static) diff --git a/rbi/lib/openai/models/upload.rbi b/rbi/lib/openai/models/upload.rbi index fc61f0b1..feefd876 100644 --- a/rbi/lib/openai/models/upload.rbi +++ b/rbi/lib/openai/models/upload.rbi @@ -41,7 +41,7 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::FileObject)) } attr_reader :file - sig { params(file: T.nilable(T.any(OpenAI::Models::FileObject, OpenAI::Util::AnyHash))).void } + sig { params(file: T.nilable(T.any(OpenAI::Models::FileObject, OpenAI::Internal::Util::AnyHash))).void } attr_writer :file # The Upload object can accept byte chunks in the form of Parts. @@ -54,7 +54,7 @@ module OpenAI filename: String, purpose: String, status: OpenAI::Models::Upload::Status::OrSymbol, - file: T.nilable(T.any(OpenAI::Models::FileObject, OpenAI::Util::AnyHash)), + file: T.nilable(T.any(OpenAI::Models::FileObject, OpenAI::Internal::Util::AnyHash)), object: Symbol ) .returns(T.attached_class) diff --git a/rbi/lib/openai/models/upload_cancel_params.rbi b/rbi/lib/openai/models/upload_cancel_params.rbi index 7fb18dd3..706ec1dd 100644 --- a/rbi/lib/openai/models/upload_cancel_params.rbi +++ b/rbi/lib/openai/models/upload_cancel_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class UploadCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/upload_complete_params.rbi b/rbi/lib/openai/models/upload_complete_params.rbi index 24f09fa4..9558d974 100644 --- a/rbi/lib/openai/models/upload_complete_params.rbi +++ b/rbi/lib/openai/models/upload_complete_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class UploadCompleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The ordered list of Part IDs. sig { returns(T::Array[String]) } @@ -22,7 +22,7 @@ module OpenAI params( part_ids: T::Array[String], md5: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/upload_create_params.rbi b/rbi/lib/openai/models/upload_create_params.rbi index 1e0390bf..50f627d5 100644 --- a/rbi/lib/openai/models/upload_create_params.rbi +++ b/rbi/lib/openai/models/upload_create_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class UploadCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The number of bytes in the file you are uploading. sig { returns(Integer) } @@ -34,7 +34,7 @@ module OpenAI filename: String, mime_type: String, purpose: OpenAI::Models::FilePurpose::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/uploads/part_create_params.rbi b/rbi/lib/openai/models/uploads/part_create_params.rbi index c6f213d5..b840d72b 100644 --- a/rbi/lib/openai/models/uploads/part_create_params.rbi +++ b/rbi/lib/openai/models/uploads/part_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module Uploads class PartCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The chunk of bytes for this Part. sig { returns(T.any(IO, StringIO)) } @@ -14,7 +14,7 @@ module OpenAI sig do params( data: T.any(IO, StringIO), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_store.rbi b/rbi/lib/openai/models/vector_store.rbi index e57a4fb8..e0277e39 100644 --- a/rbi/lib/openai/models/vector_store.rbi +++ b/rbi/lib/openai/models/vector_store.rbi @@ -14,7 +14,7 @@ module OpenAI sig { returns(OpenAI::Models::VectorStore::FileCounts) } attr_reader :file_counts - sig { params(file_counts: T.any(OpenAI::Models::VectorStore::FileCounts, OpenAI::Util::AnyHash)).void } + sig { params(file_counts: T.any(OpenAI::Models::VectorStore::FileCounts, OpenAI::Internal::Util::AnyHash)).void } attr_writer :file_counts # The Unix timestamp (in seconds) for when the vector store was last active. @@ -52,7 +52,10 @@ module OpenAI sig { returns(T.nilable(OpenAI::Models::VectorStore::ExpiresAfter)) } attr_reader :expires_after - sig { params(expires_after: T.any(OpenAI::Models::VectorStore::ExpiresAfter, OpenAI::Util::AnyHash)).void } + sig do + params(expires_after: T.any(OpenAI::Models::VectorStore::ExpiresAfter, OpenAI::Internal::Util::AnyHash)) + .void + end attr_writer :expires_after # The Unix timestamp (in seconds) for when the vector store will expire. @@ -65,13 +68,13 @@ module OpenAI params( id: String, created_at: Integer, - file_counts: T.any(OpenAI::Models::VectorStore::FileCounts, OpenAI::Util::AnyHash), + file_counts: T.any(OpenAI::Models::VectorStore::FileCounts, OpenAI::Internal::Util::AnyHash), last_active_at: T.nilable(Integer), metadata: T.nilable(T::Hash[Symbol, String]), name: String, status: OpenAI::Models::VectorStore::Status::OrSymbol, usage_bytes: Integer, - expires_after: T.any(OpenAI::Models::VectorStore::ExpiresAfter, OpenAI::Util::AnyHash), + expires_after: T.any(OpenAI::Models::VectorStore::ExpiresAfter, OpenAI::Internal::Util::AnyHash), expires_at: T.nilable(Integer), object: Symbol ) diff --git a/rbi/lib/openai/models/vector_store_create_params.rbi b/rbi/lib/openai/models/vector_store_create_params.rbi index 4c0acebf..86965352 100644 --- a/rbi/lib/openai/models/vector_store_create_params.rbi +++ b/rbi/lib/openai/models/vector_store_create_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class VectorStoreCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The chunking strategy used to chunk the file(s). If not set, will use the `auto` # strategy. Only applicable if `file_ids` is non-empty. @@ -24,7 +24,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::AutoFileChunkingStrategyParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::StaticFileChunkingStrategyObjectParam ) ) @@ -37,7 +37,9 @@ module OpenAI attr_reader :expires_after sig do - params(expires_after: T.any(OpenAI::Models::VectorStoreCreateParams::ExpiresAfter, OpenAI::Util::AnyHash)) + params( + expires_after: T.any(OpenAI::Models::VectorStoreCreateParams::ExpiresAfter, OpenAI::Internal::Util::AnyHash) + ) .void end attr_writer :expires_after @@ -71,14 +73,14 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::AutoFileChunkingStrategyParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::StaticFileChunkingStrategyObjectParam ), - expires_after: T.any(OpenAI::Models::VectorStoreCreateParams::ExpiresAfter, OpenAI::Util::AnyHash), + expires_after: T.any(OpenAI::Models::VectorStoreCreateParams::ExpiresAfter, OpenAI::Internal::Util::AnyHash), file_ids: T::Array[String], metadata: T.nilable(T::Hash[Symbol, String]), name: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_store_delete_params.rbi b/rbi/lib/openai/models/vector_store_delete_params.rbi index d01c30e0..9ea9ee73 100644 --- a/rbi/lib/openai/models/vector_store_delete_params.rbi +++ b/rbi/lib/openai/models/vector_store_delete_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class VectorStoreDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/vector_store_list_params.rbi b/rbi/lib/openai/models/vector_store_list_params.rbi index 819d2785..ef5af052 100644 --- a/rbi/lib/openai/models/vector_store_list_params.rbi +++ b/rbi/lib/openai/models/vector_store_list_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class VectorStoreListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A cursor for use in pagination. `after` is an object ID that defines your place # in the list. For instance, if you make a list request and receive 100 objects, @@ -48,7 +48,7 @@ module OpenAI before: String, limit: Integer, order: OpenAI::Models::VectorStoreListParams::Order::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_store_retrieve_params.rbi b/rbi/lib/openai/models/vector_store_retrieve_params.rbi index 7e591036..f73d277f 100644 --- a/rbi/lib/openai/models/vector_store_retrieve_params.rbi +++ b/rbi/lib/openai/models/vector_store_retrieve_params.rbi @@ -3,16 +3,12 @@ module OpenAI module Models class VectorStoreRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig do - params( - request_options: T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ).returns(T.attached_class) + params(request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) + .returns(T.attached_class) end def self.new(request_options: {}) end diff --git a/rbi/lib/openai/models/vector_store_search_params.rbi b/rbi/lib/openai/models/vector_store_search_params.rbi index 85d03442..15dfc27f 100644 --- a/rbi/lib/openai/models/vector_store_search_params.rbi +++ b/rbi/lib/openai/models/vector_store_search_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class VectorStoreSearchParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A query string for a search sig { returns(T.any(String, T::Array[String])) } @@ -16,7 +16,7 @@ module OpenAI sig do params( - filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Util::AnyHash, OpenAI::Models::CompoundFilter) + filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Internal::Util::AnyHash, OpenAI::Models::CompoundFilter) ) .void end @@ -36,7 +36,7 @@ module OpenAI sig do params( - ranking_options: T.any(OpenAI::Models::VectorStoreSearchParams::RankingOptions, OpenAI::Util::AnyHash) + ranking_options: T.any(OpenAI::Models::VectorStoreSearchParams::RankingOptions, OpenAI::Internal::Util::AnyHash) ) .void end @@ -52,11 +52,11 @@ module OpenAI sig do params( query: T.any(String, T::Array[String]), - filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Util::AnyHash, OpenAI::Models::CompoundFilter), + filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Internal::Util::AnyHash, OpenAI::Models::CompoundFilter), max_num_results: Integer, - ranking_options: T.any(OpenAI::Models::VectorStoreSearchParams::RankingOptions, OpenAI::Util::AnyHash), + ranking_options: T.any(OpenAI::Models::VectorStoreSearchParams::RankingOptions, OpenAI::Internal::Util::AnyHash), rewrite_query: T::Boolean, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end @@ -94,7 +94,7 @@ module OpenAI def self.variants end - StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Type::Converter) + StringArray = T.let(OpenAI::ArrayOf[String], OpenAI::Internal::Type::Converter) end # A filter to apply based on file attributes. diff --git a/rbi/lib/openai/models/vector_store_search_response.rbi b/rbi/lib/openai/models/vector_store_search_response.rbi index eefd75ff..05fd7444 100644 --- a/rbi/lib/openai/models/vector_store_search_response.rbi +++ b/rbi/lib/openai/models/vector_store_search_response.rbi @@ -30,7 +30,7 @@ module OpenAI sig do params( attributes: T.nilable(T::Hash[Symbol, T.any(String, Float, T::Boolean)]), - content: T::Array[T.any(OpenAI::Models::VectorStoreSearchResponse::Content, OpenAI::Util::AnyHash)], + content: T::Array[T.any(OpenAI::Models::VectorStoreSearchResponse::Content, OpenAI::Internal::Util::AnyHash)], file_id: String, filename: String, score: Float diff --git a/rbi/lib/openai/models/vector_store_update_params.rbi b/rbi/lib/openai/models/vector_store_update_params.rbi index 04887f7e..1982bdfd 100644 --- a/rbi/lib/openai/models/vector_store_update_params.rbi +++ b/rbi/lib/openai/models/vector_store_update_params.rbi @@ -3,8 +3,8 @@ module OpenAI module Models class VectorStoreUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # The expiration policy for a vector store. sig { returns(T.nilable(OpenAI::Models::VectorStoreUpdateParams::ExpiresAfter)) } @@ -12,7 +12,7 @@ module OpenAI sig do params( - expires_after: T.nilable(T.any(OpenAI::Models::VectorStoreUpdateParams::ExpiresAfter, OpenAI::Util::AnyHash)) + expires_after: T.nilable(T.any(OpenAI::Models::VectorStoreUpdateParams::ExpiresAfter, OpenAI::Internal::Util::AnyHash)) ) .void end @@ -33,10 +33,10 @@ module OpenAI sig do params( - expires_after: T.nilable(T.any(OpenAI::Models::VectorStoreUpdateParams::ExpiresAfter, OpenAI::Util::AnyHash)), + expires_after: T.nilable(T.any(OpenAI::Models::VectorStoreUpdateParams::ExpiresAfter, OpenAI::Internal::Util::AnyHash)), metadata: T.nilable(T::Hash[Symbol, String]), name: T.nilable(String), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_batch_cancel_params.rbi b/rbi/lib/openai/models/vector_stores/file_batch_cancel_params.rbi index 0a18aa15..b8985360 100644 --- a/rbi/lib/openai/models/vector_stores/file_batch_cancel_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_batch_cancel_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileBatchCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :vector_store_id @@ -13,7 +13,7 @@ module OpenAI sig do params( vector_store_id: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_batch_create_params.rbi b/rbi/lib/openai/models/vector_stores/file_batch_create_params.rbi index 2f1c7b95..447f5e35 100644 --- a/rbi/lib/openai/models/vector_stores/file_batch_create_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_batch_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileBatchCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A list of [File](https://platform.openai.com/docs/api-reference/files) IDs that # the vector store should use. Useful for tools like `file_search` that can access @@ -39,7 +39,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::AutoFileChunkingStrategyParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::StaticFileChunkingStrategyObjectParam ) ) @@ -53,10 +53,10 @@ module OpenAI attributes: T.nilable(T::Hash[Symbol, T.any(String, Float, T::Boolean)]), chunking_strategy: T.any( OpenAI::Models::AutoFileChunkingStrategyParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::StaticFileChunkingStrategyObjectParam ), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_batch_list_files_params.rbi b/rbi/lib/openai/models/vector_stores/file_batch_list_files_params.rbi index 311c5591..07693f31 100644 --- a/rbi/lib/openai/models/vector_stores/file_batch_list_files_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_batch_list_files_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileBatchListFilesParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :vector_store_id @@ -61,7 +61,7 @@ module OpenAI filter: OpenAI::Models::VectorStores::FileBatchListFilesParams::Filter::OrSymbol, limit: Integer, order: OpenAI::Models::VectorStores::FileBatchListFilesParams::Order::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_batch_retrieve_params.rbi b/rbi/lib/openai/models/vector_stores/file_batch_retrieve_params.rbi index 16e593c7..1d9ae1fd 100644 --- a/rbi/lib/openai/models/vector_stores/file_batch_retrieve_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_batch_retrieve_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileBatchRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :vector_store_id @@ -13,7 +13,7 @@ module OpenAI sig do params( vector_store_id: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_content_params.rbi b/rbi/lib/openai/models/vector_stores/file_content_params.rbi index 9558d156..3889fd16 100644 --- a/rbi/lib/openai/models/vector_stores/file_content_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_content_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileContentParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :vector_store_id @@ -13,7 +13,7 @@ module OpenAI sig do params( vector_store_id: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_create_params.rbi b/rbi/lib/openai/models/vector_stores/file_create_params.rbi index 1acbeb21..221d7a92 100644 --- a/rbi/lib/openai/models/vector_stores/file_create_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_create_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A [File](https://platform.openai.com/docs/api-reference/files) ID that the # vector store should use. Useful for tools like `file_search` that can access @@ -39,7 +39,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::AutoFileChunkingStrategyParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::StaticFileChunkingStrategyObjectParam ) ) @@ -53,10 +53,10 @@ module OpenAI attributes: T.nilable(T::Hash[Symbol, T.any(String, Float, T::Boolean)]), chunking_strategy: T.any( OpenAI::Models::AutoFileChunkingStrategyParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::StaticFileChunkingStrategyObjectParam ), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_delete_params.rbi b/rbi/lib/openai/models/vector_stores/file_delete_params.rbi index 9ffd9fb3..572a5963 100644 --- a/rbi/lib/openai/models/vector_stores/file_delete_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_delete_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :vector_store_id @@ -13,7 +13,7 @@ module OpenAI sig do params( vector_store_id: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_list_params.rbi b/rbi/lib/openai/models/vector_stores/file_list_params.rbi index 791c45a1..9f4a5c71 100644 --- a/rbi/lib/openai/models/vector_stores/file_list_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_list_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters # A cursor for use in pagination. `after` is an object ID that defines your place # in the list. For instance, if you make a list request and receive 100 objects, @@ -57,7 +57,7 @@ module OpenAI filter: OpenAI::Models::VectorStores::FileListParams::Filter::OrSymbol, limit: Integer, order: OpenAI::Models::VectorStores::FileListParams::Order::OrSymbol, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_retrieve_params.rbi b/rbi/lib/openai/models/vector_stores/file_retrieve_params.rbi index 8ac6b042..48f7edba 100644 --- a/rbi/lib/openai/models/vector_stores/file_retrieve_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_retrieve_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :vector_store_id @@ -13,7 +13,7 @@ module OpenAI sig do params( vector_store_id: String, - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/file_update_params.rbi b/rbi/lib/openai/models/vector_stores/file_update_params.rbi index a8c04b54..294449c4 100644 --- a/rbi/lib/openai/models/vector_stores/file_update_params.rbi +++ b/rbi/lib/openai/models/vector_stores/file_update_params.rbi @@ -4,8 +4,8 @@ module OpenAI module Models module VectorStores class FileUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters sig { returns(String) } attr_accessor :vector_store_id @@ -22,7 +22,7 @@ module OpenAI params( vector_store_id: String, attributes: T.nilable(T::Hash[Symbol, T.any(String, Float, T::Boolean)]), - request_options: T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash) + request_options: T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash) ) .returns(T.attached_class) end diff --git a/rbi/lib/openai/models/vector_stores/vector_store_file.rbi b/rbi/lib/openai/models/vector_stores/vector_store_file.rbi index 7707a463..30c4c023 100644 --- a/rbi/lib/openai/models/vector_stores/vector_store_file.rbi +++ b/rbi/lib/openai/models/vector_stores/vector_store_file.rbi @@ -19,7 +19,9 @@ module OpenAI sig do params( - last_error: T.nilable(T.any(OpenAI::Models::VectorStores::VectorStoreFile::LastError, OpenAI::Util::AnyHash)) + last_error: T.nilable( + T.any(OpenAI::Models::VectorStores::VectorStoreFile::LastError, OpenAI::Internal::Util::AnyHash) + ) ) .void end @@ -69,7 +71,7 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::StaticFileChunkingStrategyObject, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::OtherFileChunkingStrategyObject ) ) @@ -82,14 +84,16 @@ module OpenAI params( id: String, created_at: Integer, - last_error: T.nilable(T.any(OpenAI::Models::VectorStores::VectorStoreFile::LastError, OpenAI::Util::AnyHash)), + last_error: T.nilable( + T.any(OpenAI::Models::VectorStores::VectorStoreFile::LastError, OpenAI::Internal::Util::AnyHash) + ), status: OpenAI::Models::VectorStores::VectorStoreFile::Status::OrSymbol, usage_bytes: Integer, vector_store_id: String, attributes: T.nilable(T::Hash[Symbol, T.any(String, Float, T::Boolean)]), chunking_strategy: T.any( OpenAI::Models::StaticFileChunkingStrategyObject, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::OtherFileChunkingStrategyObject ), object: Symbol diff --git a/rbi/lib/openai/models/vector_stores/vector_store_file_batch.rbi b/rbi/lib/openai/models/vector_stores/vector_store_file_batch.rbi index c16243ce..b71f8619 100644 --- a/rbi/lib/openai/models/vector_stores/vector_store_file_batch.rbi +++ b/rbi/lib/openai/models/vector_stores/vector_store_file_batch.rbi @@ -18,7 +18,7 @@ module OpenAI sig do params( - file_counts: T.any(OpenAI::Models::VectorStores::VectorStoreFileBatch::FileCounts, OpenAI::Util::AnyHash) + file_counts: T.any(OpenAI::Models::VectorStores::VectorStoreFileBatch::FileCounts, OpenAI::Internal::Util::AnyHash) ) .void end @@ -45,7 +45,7 @@ module OpenAI params( id: String, created_at: Integer, - file_counts: T.any(OpenAI::Models::VectorStores::VectorStoreFileBatch::FileCounts, OpenAI::Util::AnyHash), + file_counts: T.any(OpenAI::Models::VectorStores::VectorStoreFileBatch::FileCounts, OpenAI::Internal::Util::AnyHash), status: OpenAI::Models::VectorStores::VectorStoreFileBatch::Status::OrSymbol, vector_store_id: String, object: Symbol diff --git a/rbi/lib/openai/page.rbi b/rbi/lib/openai/page.rbi deleted file mode 100644 index 8a668d1c..00000000 --- a/rbi/lib/openai/page.rbi +++ /dev/null @@ -1,19 +0,0 @@ -# typed: strong - -module OpenAI - class Page - include OpenAI::Type::BasePage - - Elem = type_member - - sig { returns(T.nilable(T::Array[Elem])) } - attr_accessor :data - - sig { returns(String) } - attr_accessor :object - - sig { returns(String) } - def inspect - end - end -end diff --git a/rbi/lib/openai/request_options.rbi b/rbi/lib/openai/request_options.rbi index 4e963f12..9c665553 100644 --- a/rbi/lib/openai/request_options.rbi +++ b/rbi/lib/openai/request_options.rbi @@ -41,7 +41,7 @@ module OpenAI attr_accessor :timeout # Returns a new instance of RequestOptions. - sig { params(values: OpenAI::Util::AnyHash).returns(T.attached_class) } + sig { params(values: OpenAI::Internal::Util::AnyHash).returns(T.attached_class) } def self.new(values = {}) end end diff --git a/rbi/lib/openai/resources/audio/speech.rbi b/rbi/lib/openai/resources/audio/speech.rbi index b662b954..9b5892ad 100644 --- a/rbi/lib/openai/resources/audio/speech.rbi +++ b/rbi/lib/openai/resources/audio/speech.rbi @@ -13,7 +13,7 @@ module OpenAI instructions: String, response_format: OpenAI::Models::Audio::SpeechCreateParams::ResponseFormat::OrSymbol, speed: Float, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(StringIO) end diff --git a/rbi/lib/openai/resources/audio/transcriptions.rbi b/rbi/lib/openai/resources/audio/transcriptions.rbi index 476b325a..8ec0dc0f 100644 --- a/rbi/lib/openai/resources/audio/transcriptions.rbi +++ b/rbi/lib/openai/resources/audio/transcriptions.rbi @@ -16,7 +16,7 @@ module OpenAI temperature: Float, timestamp_granularities: T::Array[OpenAI::Models::Audio::TranscriptionCreateParams::TimestampGranularity::OrSymbol], stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(T.any(OpenAI::Models::Audio::Transcription, OpenAI::Models::Audio::TranscriptionVerbose)) end @@ -78,10 +78,10 @@ module OpenAI temperature: Float, timestamp_granularities: T::Array[OpenAI::Models::Audio::TranscriptionCreateParams::TimestampGranularity::OrSymbol], stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns( - OpenAI::Stream[ + OpenAI::Internal::Stream[ T.any( OpenAI::Models::Audio::TranscriptionTextDeltaEvent, OpenAI::Models::Audio::TranscriptionTextDoneEvent diff --git a/rbi/lib/openai/resources/audio/translations.rbi b/rbi/lib/openai/resources/audio/translations.rbi index 178eaa7e..2e07bd58 100644 --- a/rbi/lib/openai/resources/audio/translations.rbi +++ b/rbi/lib/openai/resources/audio/translations.rbi @@ -12,7 +12,7 @@ module OpenAI prompt: String, response_format: OpenAI::Models::Audio::TranslationCreateParams::ResponseFormat::OrSymbol, temperature: Float, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(T.any(OpenAI::Models::Audio::Translation, OpenAI::Models::Audio::TranslationVerbose)) end diff --git a/rbi/lib/openai/resources/batches.rbi b/rbi/lib/openai/resources/batches.rbi index fe814b47..acaa4e55 100644 --- a/rbi/lib/openai/resources/batches.rbi +++ b/rbi/lib/openai/resources/batches.rbi @@ -10,7 +10,7 @@ module OpenAI endpoint: OpenAI::Models::BatchCreateParams::Endpoint::OrSymbol, input_file_id: String, metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Batch) end @@ -48,12 +48,7 @@ module OpenAI sig do params( batch_id: String, - request_options: T.nilable( - T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Batch) end @@ -69,9 +64,9 @@ module OpenAI params( after: String, limit: Integer, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::Batch]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::Batch]) end def list( # A cursor for use in pagination. `after` is an object ID that defines your place @@ -92,12 +87,7 @@ module OpenAI sig do params( batch_id: String, - request_options: T.nilable( - T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Batch) end diff --git a/rbi/lib/openai/resources/beta/assistants.rbi b/rbi/lib/openai/resources/beta/assistants.rbi index 58bd9abe..00296adc 100644 --- a/rbi/lib/openai/resources/beta/assistants.rbi +++ b/rbi/lib/openai/resources/beta/assistants.rbi @@ -17,23 +17,25 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) ), temperature: T.nilable(Float), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources, OpenAI::Util::AnyHash)), + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::AssistantCreateParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ), tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) ], top_p: T.nilable(Float), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Assistant) end @@ -113,7 +115,7 @@ module OpenAI sig do params( assistant_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Assistant) end @@ -138,23 +140,25 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) ), temperature: T.nilable(Float), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources, OpenAI::Util::AnyHash)), + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::AssistantUpdateParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ), tools: T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) ], top_p: T.nilable(Float), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Assistant) end @@ -239,9 +243,9 @@ module OpenAI before: String, limit: Integer, order: OpenAI::Models::Beta::AssistantListParams::Order::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::Beta::Assistant]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::Beta::Assistant]) end def list( # A cursor for use in pagination. `after` is an object ID that defines your place @@ -268,7 +272,7 @@ module OpenAI sig do params( assistant_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::AssistantDeleted) end diff --git a/rbi/lib/openai/resources/beta/threads.rbi b/rbi/lib/openai/resources/beta/threads.rbi index 114b3406..64816d6d 100644 --- a/rbi/lib/openai/resources/beta/threads.rbi +++ b/rbi/lib/openai/resources/beta/threads.rbi @@ -13,10 +13,10 @@ module OpenAI # Create a thread. sig do params( - messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateParams::Message, OpenAI::Util::AnyHash)], + messages: T::Array[T.any(OpenAI::Models::Beta::ThreadCreateParams::Message, OpenAI::Internal::Util::AnyHash)], metadata: T.nilable(T::Hash[Symbol, String]), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources, OpenAI::Util::AnyHash)), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateParams::ToolResources, OpenAI::Internal::Util::AnyHash)), + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Thread) end @@ -44,7 +44,7 @@ module OpenAI sig do params( thread_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Thread) end @@ -60,8 +60,8 @@ module OpenAI params( thread_id: String, metadata: T.nilable(T::Hash[Symbol, String]), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources, OpenAI::Util::AnyHash)), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadUpdateParams::ToolResources, OpenAI::Internal::Util::AnyHash)), + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Thread) end @@ -88,7 +88,7 @@ module OpenAI sig do params( thread_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::ThreadDeleted) end @@ -113,26 +113,28 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) ), temperature: T.nilable(Float), - thread: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread, OpenAI::Util::AnyHash), + thread: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread, OpenAI::Internal::Util::AnyHash), tool_choice: T.nilable( T.any( OpenAI::Models::Beta::AssistantToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Beta::AssistantToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources, OpenAI::Util::AnyHash)), + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ), tools: T.nilable( T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) @@ -140,10 +142,10 @@ module OpenAI ), top_p: T.nilable(Float), truncation_strategy: T.nilable( - T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy, OpenAI::Util::AnyHash) + T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy, OpenAI::Internal::Util::AnyHash) ), stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Run) end @@ -257,26 +259,28 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) ), temperature: T.nilable(Float), - thread: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread, OpenAI::Util::AnyHash), + thread: T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::Thread, OpenAI::Internal::Util::AnyHash), tool_choice: T.nilable( T.any( OpenAI::Models::Beta::AssistantToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Beta::AssistantToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ), - tool_resources: T.nilable(T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources, OpenAI::Util::AnyHash)), + tool_resources: T.nilable( + T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::ToolResources, OpenAI::Internal::Util::AnyHash) + ), tools: T.nilable( T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) @@ -284,13 +288,13 @@ module OpenAI ), top_p: T.nilable(Float), truncation_strategy: T.nilable( - T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy, OpenAI::Util::AnyHash) + T.any(OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy, OpenAI::Internal::Util::AnyHash) ), stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns( - OpenAI::Stream[ + OpenAI::Internal::Stream[ T.any( OpenAI::Models::Beta::AssistantStreamEvent::ThreadCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCreated, diff --git a/rbi/lib/openai/resources/beta/threads/messages.rbi b/rbi/lib/openai/resources/beta/threads/messages.rbi index b30ffe2f..a412e38b 100644 --- a/rbi/lib/openai/resources/beta/threads/messages.rbi +++ b/rbi/lib/openai/resources/beta/threads/messages.rbi @@ -14,7 +14,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Beta::Threads::ImageFileContentBlock, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::Threads::ImageURLContentBlock, OpenAI::Models::Beta::Threads::TextContentBlockParam ) @@ -22,10 +22,10 @@ module OpenAI ), role: OpenAI::Models::Beta::Threads::MessageCreateParams::Role::OrSymbol, attachments: T.nilable( - T::Array[T.any(OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment, OpenAI::Internal::Util::AnyHash)] ), metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Message) end @@ -60,7 +60,7 @@ module OpenAI params( message_id: String, thread_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Message) end @@ -80,7 +80,7 @@ module OpenAI message_id: String, thread_id: String, metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Message) end @@ -109,9 +109,9 @@ module OpenAI limit: Integer, order: OpenAI::Models::Beta::Threads::MessageListParams::Order::OrSymbol, run_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::Beta::Threads::Message]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::Beta::Threads::Message]) end def list( # The ID of the [thread](https://platform.openai.com/docs/api-reference/threads) @@ -144,7 +144,7 @@ module OpenAI params( message_id: String, thread_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::MessageDeleted) end diff --git a/rbi/lib/openai/resources/beta/threads/runs.rbi b/rbi/lib/openai/resources/beta/threads/runs.rbi index dd25ce47..43be9231 100644 --- a/rbi/lib/openai/resources/beta/threads/runs.rbi +++ b/rbi/lib/openai/resources/beta/threads/runs.rbi @@ -16,7 +16,7 @@ module OpenAI include: T::Array[OpenAI::Models::Beta::Threads::Runs::RunStepInclude::OrSymbol], additional_instructions: T.nilable(String), additional_messages: T.nilable( - T::Array[T.any(OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage, OpenAI::Internal::Util::AnyHash)] ), instructions: T.nilable(String), max_completion_tokens: T.nilable(Integer), @@ -29,7 +29,7 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) @@ -39,14 +39,14 @@ module OpenAI T.any( OpenAI::Models::Beta::AssistantToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Beta::AssistantToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ), tools: T.nilable( T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) @@ -54,10 +54,10 @@ module OpenAI ), top_p: T.nilable(Float), truncation_strategy: T.nilable( - T.any(OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy, OpenAI::Util::AnyHash) + T.any(OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy, OpenAI::Internal::Util::AnyHash) ), stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Run) end @@ -185,7 +185,7 @@ module OpenAI include: T::Array[OpenAI::Models::Beta::Threads::Runs::RunStepInclude::OrSymbol], additional_instructions: T.nilable(String), additional_messages: T.nilable( - T::Array[T.any(OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::Beta::Threads::RunCreateParams::AdditionalMessage, OpenAI::Internal::Util::AnyHash)] ), instructions: T.nilable(String), max_completion_tokens: T.nilable(Integer), @@ -198,7 +198,7 @@ module OpenAI T.any( Symbol, OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONObject, OpenAI::Models::ResponseFormatJSONSchema ) @@ -208,14 +208,14 @@ module OpenAI T.any( OpenAI::Models::Beta::AssistantToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Beta::AssistantToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ) ), tools: T.nilable( T::Array[ T.any( OpenAI::Models::Beta::CodeInterpreterTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Beta::FileSearchTool, OpenAI::Models::Beta::FunctionTool ) @@ -223,13 +223,13 @@ module OpenAI ), top_p: T.nilable(Float), truncation_strategy: T.nilable( - T.any(OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy, OpenAI::Util::AnyHash) + T.any(OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy, OpenAI::Internal::Util::AnyHash) ), stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns( - OpenAI::Stream[ + OpenAI::Internal::Stream[ T.any( OpenAI::Models::Beta::AssistantStreamEvent::ThreadCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCreated, @@ -380,7 +380,7 @@ module OpenAI params( run_id: String, thread_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Run) end @@ -400,7 +400,7 @@ module OpenAI run_id: String, thread_id: String, metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Run) end @@ -429,9 +429,9 @@ module OpenAI before: String, limit: Integer, order: OpenAI::Models::Beta::Threads::RunListParams::Order::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::Beta::Threads::Run]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::Beta::Threads::Run]) end def list( # The ID of the thread the run belongs to. @@ -461,7 +461,7 @@ module OpenAI params( run_id: String, thread_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Run) end @@ -482,9 +482,14 @@ module OpenAI params( run_id: String, thread_id: String, - tool_outputs: T::Array[T.any(OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput, OpenAI::Util::AnyHash)], + tool_outputs: T::Array[ + T.any( + OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput, + OpenAI::Internal::Util::AnyHash + ) + ], stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Run) end @@ -512,12 +517,17 @@ module OpenAI params( run_id: String, thread_id: String, - tool_outputs: T::Array[T.any(OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput, OpenAI::Util::AnyHash)], + tool_outputs: T::Array[ + T.any( + OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput, + OpenAI::Internal::Util::AnyHash + ) + ], stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns( - OpenAI::Stream[ + OpenAI::Internal::Stream[ T.any( OpenAI::Models::Beta::AssistantStreamEvent::ThreadCreated, OpenAI::Models::Beta::AssistantStreamEvent::ThreadRunCreated, diff --git a/rbi/lib/openai/resources/beta/threads/runs/steps.rbi b/rbi/lib/openai/resources/beta/threads/runs/steps.rbi index a048f9ce..d035232e 100644 --- a/rbi/lib/openai/resources/beta/threads/runs/steps.rbi +++ b/rbi/lib/openai/resources/beta/threads/runs/steps.rbi @@ -13,7 +13,7 @@ module OpenAI thread_id: String, run_id: String, include: T::Array[OpenAI::Models::Beta::Threads::Runs::RunStepInclude::OrSymbol], - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Beta::Threads::Runs::RunStep) end @@ -47,9 +47,9 @@ module OpenAI include: T::Array[OpenAI::Models::Beta::Threads::Runs::RunStepInclude::OrSymbol], limit: Integer, order: OpenAI::Models::Beta::Threads::Runs::StepListParams::Order::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::Beta::Threads::Runs::RunStep]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::Beta::Threads::Runs::RunStep]) end def list( # Path param: The ID of the run the run steps belong to. diff --git a/rbi/lib/openai/resources/chat/completions.rbi b/rbi/lib/openai/resources/chat/completions.rbi index 0471b372..ebf756a5 100644 --- a/rbi/lib/openai/resources/chat/completions.rbi +++ b/rbi/lib/openai/resources/chat/completions.rbi @@ -29,7 +29,7 @@ module OpenAI messages: T::Array[ T.any( OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Chat::ChatCompletionSystemMessageParam, OpenAI::Models::Chat::ChatCompletionUserMessageParam, OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, @@ -38,14 +38,14 @@ module OpenAI ) ], model: T.any(String, OpenAI::Models::ChatModel::OrSymbol), - audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudioParam, OpenAI::Util::AnyHash)), + audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudioParam, OpenAI::Internal::Util::AnyHash)), frequency_penalty: T.nilable(Float), function_call: T.any( OpenAI::Models::Chat::CompletionCreateParams::FunctionCall::FunctionCallMode::OrSymbol, OpenAI::Models::Chat::ChatCompletionFunctionCallOption, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), - functions: T::Array[T.any(OpenAI::Models::Chat::CompletionCreateParams::Function, OpenAI::Util::AnyHash)], + functions: T::Array[T.any(OpenAI::Models::Chat::CompletionCreateParams::Function, OpenAI::Internal::Util::AnyHash)], logit_bias: T.nilable(T::Hash[Symbol, Integer]), logprobs: T.nilable(T::Boolean), max_completion_tokens: T.nilable(Integer), @@ -54,12 +54,12 @@ module OpenAI modalities: T.nilable(T::Array[OpenAI::Models::Chat::CompletionCreateParams::Modality::OrSymbol]), n: T.nilable(Integer), parallel_tool_calls: T::Boolean, - prediction: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionPredictionContent, OpenAI::Util::AnyHash)), + prediction: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionPredictionContent, OpenAI::Internal::Util::AnyHash)), presence_penalty: T.nilable(Float), reasoning_effort: T.nilable(OpenAI::Models::ReasoningEffort::OrSymbol), response_format: T.any( OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject ), @@ -67,20 +67,20 @@ module OpenAI service_tier: T.nilable(OpenAI::Models::Chat::CompletionCreateParams::ServiceTier::OrSymbol), stop: T.nilable(T.any(String, T::Array[String])), store: T.nilable(T::Boolean), - stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Util::AnyHash)), + stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Internal::Util::AnyHash)), temperature: T.nilable(Float), tool_choice: T.any( OpenAI::Models::Chat::ChatCompletionToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Chat::ChatCompletionNamedToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), - tools: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTool, OpenAI::Util::AnyHash)], + tools: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTool, OpenAI::Internal::Util::AnyHash)], top_logprobs: T.nilable(Integer), top_p: T.nilable(Float), user: String, - web_search_options: T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions, OpenAI::Util::AnyHash), + web_search_options: T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions, OpenAI::Internal::Util::AnyHash), stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Chat::ChatCompletion) end @@ -297,7 +297,7 @@ module OpenAI messages: T::Array[ T.any( OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Chat::ChatCompletionSystemMessageParam, OpenAI::Models::Chat::ChatCompletionUserMessageParam, OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, @@ -306,14 +306,14 @@ module OpenAI ) ], model: T.any(String, OpenAI::Models::ChatModel::OrSymbol), - audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudioParam, OpenAI::Util::AnyHash)), + audio: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionAudioParam, OpenAI::Internal::Util::AnyHash)), frequency_penalty: T.nilable(Float), function_call: T.any( OpenAI::Models::Chat::CompletionCreateParams::FunctionCall::FunctionCallMode::OrSymbol, OpenAI::Models::Chat::ChatCompletionFunctionCallOption, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), - functions: T::Array[T.any(OpenAI::Models::Chat::CompletionCreateParams::Function, OpenAI::Util::AnyHash)], + functions: T::Array[T.any(OpenAI::Models::Chat::CompletionCreateParams::Function, OpenAI::Internal::Util::AnyHash)], logit_bias: T.nilable(T::Hash[Symbol, Integer]), logprobs: T.nilable(T::Boolean), max_completion_tokens: T.nilable(Integer), @@ -322,12 +322,12 @@ module OpenAI modalities: T.nilable(T::Array[OpenAI::Models::Chat::CompletionCreateParams::Modality::OrSymbol]), n: T.nilable(Integer), parallel_tool_calls: T::Boolean, - prediction: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionPredictionContent, OpenAI::Util::AnyHash)), + prediction: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionPredictionContent, OpenAI::Internal::Util::AnyHash)), presence_penalty: T.nilable(Float), reasoning_effort: T.nilable(OpenAI::Models::ReasoningEffort::OrSymbol), response_format: T.any( OpenAI::Models::ResponseFormatText, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::ResponseFormatJSONSchema, OpenAI::Models::ResponseFormatJSONObject ), @@ -335,22 +335,22 @@ module OpenAI service_tier: T.nilable(OpenAI::Models::Chat::CompletionCreateParams::ServiceTier::OrSymbol), stop: T.nilable(T.any(String, T::Array[String])), store: T.nilable(T::Boolean), - stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Util::AnyHash)), + stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Internal::Util::AnyHash)), temperature: T.nilable(Float), tool_choice: T.any( OpenAI::Models::Chat::ChatCompletionToolChoiceOption::Auto::OrSymbol, OpenAI::Models::Chat::ChatCompletionNamedToolChoice, - OpenAI::Util::AnyHash + OpenAI::Internal::Util::AnyHash ), - tools: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTool, OpenAI::Util::AnyHash)], + tools: T::Array[T.any(OpenAI::Models::Chat::ChatCompletionTool, OpenAI::Internal::Util::AnyHash)], top_logprobs: T.nilable(Integer), top_p: T.nilable(Float), user: String, - web_search_options: T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions, OpenAI::Util::AnyHash), + web_search_options: T.any(OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions, OpenAI::Internal::Util::AnyHash), stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::Stream[OpenAI::Models::Chat::ChatCompletionChunk]) + .returns(OpenAI::Internal::Stream[OpenAI::Models::Chat::ChatCompletionChunk]) end def stream_raw( # A list of messages comprising the conversation so far. Depending on the @@ -548,7 +548,7 @@ module OpenAI sig do params( completion_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Chat::ChatCompletion) end @@ -566,7 +566,7 @@ module OpenAI params( completion_id: String, metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Chat::ChatCompletion) end @@ -593,9 +593,9 @@ module OpenAI metadata: T.nilable(T::Hash[Symbol, String]), model: String, order: OpenAI::Models::Chat::CompletionListParams::Order::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::Chat::ChatCompletion]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::Chat::ChatCompletion]) end def list( # Identifier for the last chat completion from the previous pagination request. @@ -620,7 +620,7 @@ module OpenAI sig do params( completion_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Chat::ChatCompletionDeleted) end diff --git a/rbi/lib/openai/resources/chat/completions/messages.rbi b/rbi/lib/openai/resources/chat/completions/messages.rbi index 15b7617c..447ff6c0 100644 --- a/rbi/lib/openai/resources/chat/completions/messages.rbi +++ b/rbi/lib/openai/resources/chat/completions/messages.rbi @@ -13,9 +13,9 @@ module OpenAI after: String, limit: Integer, order: OpenAI::Models::Chat::Completions::MessageListParams::Order::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::Chat::ChatCompletionStoreMessage]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::Chat::ChatCompletionStoreMessage]) end def list( # The ID of the chat completion to retrieve messages from. diff --git a/rbi/lib/openai/resources/completions.rbi b/rbi/lib/openai/resources/completions.rbi index 7c97579b..804db29b 100644 --- a/rbi/lib/openai/resources/completions.rbi +++ b/rbi/lib/openai/resources/completions.rbi @@ -25,13 +25,13 @@ module OpenAI presence_penalty: T.nilable(Float), seed: T.nilable(Integer), stop: T.nilable(T.any(String, T::Array[String])), - stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Util::AnyHash)), + stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Internal::Util::AnyHash)), suffix: T.nilable(String), temperature: T.nilable(Float), top_p: T.nilable(Float), user: String, stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Completion) end @@ -168,15 +168,15 @@ module OpenAI presence_penalty: T.nilable(Float), seed: T.nilable(Integer), stop: T.nilable(T.any(String, T::Array[String])), - stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Util::AnyHash)), + stream_options: T.nilable(T.any(OpenAI::Models::Chat::ChatCompletionStreamOptions, OpenAI::Internal::Util::AnyHash)), suffix: T.nilable(String), temperature: T.nilable(Float), top_p: T.nilable(Float), user: String, stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::Stream[OpenAI::Models::Completion]) + .returns(OpenAI::Internal::Stream[OpenAI::Models::Completion]) end def stream_raw( # ID of the model to use. You can use the diff --git a/rbi/lib/openai/resources/embeddings.rbi b/rbi/lib/openai/resources/embeddings.rbi index 992bfec4..57d7fdd6 100644 --- a/rbi/lib/openai/resources/embeddings.rbi +++ b/rbi/lib/openai/resources/embeddings.rbi @@ -11,7 +11,7 @@ module OpenAI dimensions: Integer, encoding_format: OpenAI::Models::EmbeddingCreateParams::EncodingFormat::OrSymbol, user: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::CreateEmbeddingResponse) end diff --git a/rbi/lib/openai/resources/files.rbi b/rbi/lib/openai/resources/files.rbi index 3a276b74..18c23250 100644 --- a/rbi/lib/openai/resources/files.rbi +++ b/rbi/lib/openai/resources/files.rbi @@ -28,7 +28,7 @@ module OpenAI params( file: T.any(IO, StringIO), purpose: OpenAI::Models::FilePurpose::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::FileObject) end @@ -48,12 +48,7 @@ module OpenAI sig do params( file_id: String, - request_options: T.nilable( - T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::FileObject) end @@ -71,9 +66,9 @@ module OpenAI limit: Integer, order: OpenAI::Models::FileListParams::Order::OrSymbol, purpose: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::FileObject]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::FileObject]) end def list( # A cursor for use in pagination. `after` is an object ID that defines your place @@ -97,12 +92,7 @@ module OpenAI sig do params( file_id: String, - request_options: T.nilable( - T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::FileDeleted) end @@ -117,12 +107,7 @@ module OpenAI sig do params( file_id: String, - request_options: T.nilable( - T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(StringIO) end diff --git a/rbi/lib/openai/resources/fine_tuning/jobs.rbi b/rbi/lib/openai/resources/fine_tuning/jobs.rbi index 57cec0cd..81ceb5d7 100644 --- a/rbi/lib/openai/resources/fine_tuning/jobs.rbi +++ b/rbi/lib/openai/resources/fine_tuning/jobs.rbi @@ -18,16 +18,16 @@ module OpenAI params( model: T.any(String, OpenAI::Models::FineTuning::JobCreateParams::Model::OrSymbol), training_file: String, - hyperparameters: T.any(OpenAI::Models::FineTuning::JobCreateParams::Hyperparameters, OpenAI::Util::AnyHash), + hyperparameters: T.any(OpenAI::Models::FineTuning::JobCreateParams::Hyperparameters, OpenAI::Internal::Util::AnyHash), integrations: T.nilable( - T::Array[T.any(OpenAI::Models::FineTuning::JobCreateParams::Integration, OpenAI::Util::AnyHash)] + T::Array[T.any(OpenAI::Models::FineTuning::JobCreateParams::Integration, OpenAI::Internal::Util::AnyHash)] ), metadata: T.nilable(T::Hash[Symbol, String]), - method_: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method, OpenAI::Util::AnyHash), + method_: T.any(OpenAI::Models::FineTuning::JobCreateParams::Method, OpenAI::Internal::Util::AnyHash), seed: T.nilable(Integer), suffix: T.nilable(String), validation_file: T.nilable(String), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::FineTuning::FineTuningJob) end @@ -100,7 +100,7 @@ module OpenAI sig do params( fine_tuning_job_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::FineTuning::FineTuningJob) end @@ -117,9 +117,9 @@ module OpenAI after: String, limit: Integer, metadata: T.nilable(T::Hash[Symbol, String]), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::FineTuning::FineTuningJob]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::FineTuning::FineTuningJob]) end def list( # Identifier for the last job from the previous pagination request. @@ -137,7 +137,7 @@ module OpenAI sig do params( fine_tuning_job_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::FineTuning::FineTuningJob) end @@ -154,9 +154,9 @@ module OpenAI fine_tuning_job_id: String, after: String, limit: Integer, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::FineTuning::FineTuningJobEvent]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::FineTuning::FineTuningJobEvent]) end def list_events( # The ID of the fine-tuning job to get events for. diff --git a/rbi/lib/openai/resources/fine_tuning/jobs/checkpoints.rbi b/rbi/lib/openai/resources/fine_tuning/jobs/checkpoints.rbi index 9049855c..3274da29 100644 --- a/rbi/lib/openai/resources/fine_tuning/jobs/checkpoints.rbi +++ b/rbi/lib/openai/resources/fine_tuning/jobs/checkpoints.rbi @@ -11,9 +11,9 @@ module OpenAI fine_tuning_job_id: String, after: String, limit: Integer, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::FineTuning::Jobs::FineTuningJobCheckpoint]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::FineTuning::Jobs::FineTuningJobCheckpoint]) end def list( # The ID of the fine-tuning job to get checkpoints for. diff --git a/rbi/lib/openai/resources/images.rbi b/rbi/lib/openai/resources/images.rbi index ea7194a0..58353329 100644 --- a/rbi/lib/openai/resources/images.rbi +++ b/rbi/lib/openai/resources/images.rbi @@ -12,7 +12,7 @@ module OpenAI response_format: T.nilable(OpenAI::Models::ImageCreateVariationParams::ResponseFormat::OrSymbol), size: T.nilable(OpenAI::Models::ImageCreateVariationParams::Size::OrSymbol), user: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::ImagesResponse) end @@ -52,7 +52,7 @@ module OpenAI response_format: T.nilable(OpenAI::Models::ImageEditParams::ResponseFormat::OrSymbol), size: T.nilable(OpenAI::Models::ImageEditParams::Size::OrSymbol), user: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::ImagesResponse) end @@ -98,7 +98,7 @@ module OpenAI size: T.nilable(OpenAI::Models::ImageGenerateParams::Size::OrSymbol), style: T.nilable(OpenAI::Models::ImageGenerateParams::Style::OrSymbol), user: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::ImagesResponse) end diff --git a/rbi/lib/openai/resources/models.rbi b/rbi/lib/openai/resources/models.rbi index 16962ff9..c78bca31 100644 --- a/rbi/lib/openai/resources/models.rbi +++ b/rbi/lib/openai/resources/models.rbi @@ -8,12 +8,7 @@ module OpenAI sig do params( model: String, - request_options: T.nilable( - T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Model) end @@ -27,8 +22,8 @@ module OpenAI # Lists the currently available models, and provides basic information about each # one such as the owner and availability. sig do - params(request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash))) - .returns(OpenAI::Page[OpenAI::Models::Model]) + params(request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash))) + .returns(OpenAI::Internal::Page[OpenAI::Models::Model]) end def list(request_options: {}) end @@ -38,12 +33,7 @@ module OpenAI sig do params( model: String, - request_options: T.nilable( - T.any( - OpenAI::RequestOptions, - OpenAI::Util::AnyHash - ) - ) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::ModelDeleted) end diff --git a/rbi/lib/openai/resources/moderations.rbi b/rbi/lib/openai/resources/moderations.rbi index 85abe41d..1b180936 100644 --- a/rbi/lib/openai/resources/moderations.rbi +++ b/rbi/lib/openai/resources/moderations.rbi @@ -10,10 +10,16 @@ module OpenAI input: T.any( String, T::Array[String], - T::Array[T.any(OpenAI::Models::ModerationImageURLInput, OpenAI::Util::AnyHash, OpenAI::Models::ModerationTextInput)] + T::Array[ + T.any( + OpenAI::Models::ModerationImageURLInput, + OpenAI::Internal::Util::AnyHash, + OpenAI::Models::ModerationTextInput + ) + ] ), model: T.any(String, OpenAI::Models::ModerationModel::OrSymbol), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::ModerationCreateResponse) end diff --git a/rbi/lib/openai/resources/responses.rbi b/rbi/lib/openai/resources/responses.rbi index 4d305614..585d0875 100644 --- a/rbi/lib/openai/resources/responses.rbi +++ b/rbi/lib/openai/resources/responses.rbi @@ -24,7 +24,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Responses::EasyInputMessage, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, @@ -45,20 +45,20 @@ module OpenAI metadata: T.nilable(T::Hash[Symbol, String]), parallel_tool_calls: T.nilable(T::Boolean), previous_response_id: T.nilable(String), - reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Util::AnyHash)), + reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Internal::Util::AnyHash)), store: T.nilable(T::Boolean), temperature: T.nilable(Float), - text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Util::AnyHash), + text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Internal::Util::AnyHash), tool_choice: T.any( OpenAI::Models::Responses::ToolChoiceOptions::OrSymbol, OpenAI::Models::Responses::ToolChoiceTypes, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ToolChoiceFunction ), tools: T::Array[ T.any( OpenAI::Models::Responses::FileSearchTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::WebSearchTool @@ -68,7 +68,7 @@ module OpenAI truncation: T.nilable(OpenAI::Models::Responses::ResponseCreateParams::Truncation::OrSymbol), user: String, stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Responses::Response) end @@ -202,7 +202,7 @@ module OpenAI T::Array[ T.any( OpenAI::Models::Responses::EasyInputMessage, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, @@ -223,20 +223,20 @@ module OpenAI metadata: T.nilable(T::Hash[Symbol, String]), parallel_tool_calls: T.nilable(T::Boolean), previous_response_id: T.nilable(String), - reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Util::AnyHash)), + reasoning: T.nilable(T.any(OpenAI::Models::Reasoning, OpenAI::Internal::Util::AnyHash)), store: T.nilable(T::Boolean), temperature: T.nilable(Float), - text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Util::AnyHash), + text: T.any(OpenAI::Models::Responses::ResponseTextConfig, OpenAI::Internal::Util::AnyHash), tool_choice: T.any( OpenAI::Models::Responses::ToolChoiceOptions::OrSymbol, OpenAI::Models::Responses::ToolChoiceTypes, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::ToolChoiceFunction ), tools: T::Array[ T.any( OpenAI::Models::Responses::FileSearchTool, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::Responses::FunctionTool, OpenAI::Models::Responses::ComputerTool, OpenAI::Models::Responses::WebSearchTool @@ -246,10 +246,10 @@ module OpenAI truncation: T.nilable(OpenAI::Models::Responses::ResponseCreateParams::Truncation::OrSymbol), user: String, stream: T.noreturn, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns( - OpenAI::Stream[ + OpenAI::Internal::Stream[ T.any( OpenAI::Models::Responses::ResponseAudioDeltaEvent, OpenAI::Models::Responses::ResponseAudioDoneEvent, @@ -404,7 +404,7 @@ module OpenAI params( response_id: String, include: T::Array[OpenAI::Models::Responses::ResponseIncludable::OrSymbol], - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Responses::Response) end @@ -422,7 +422,7 @@ module OpenAI sig do params( response_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .void end diff --git a/rbi/lib/openai/resources/responses/input_items.rbi b/rbi/lib/openai/resources/responses/input_items.rbi index 822e8463..92e7016f 100644 --- a/rbi/lib/openai/resources/responses/input_items.rbi +++ b/rbi/lib/openai/resources/responses/input_items.rbi @@ -13,10 +13,10 @@ module OpenAI include: T::Array[OpenAI::Models::Responses::ResponseIncludable::OrSymbol], limit: Integer, order: OpenAI::Models::Responses::InputItemListParams::Order::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns( - OpenAI::CursorPage[ + OpenAI::Internal::CursorPage[ T.any( OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, diff --git a/rbi/lib/openai/resources/uploads.rbi b/rbi/lib/openai/resources/uploads.rbi index 7677a58a..88ab62ad 100644 --- a/rbi/lib/openai/resources/uploads.rbi +++ b/rbi/lib/openai/resources/uploads.rbi @@ -31,7 +31,7 @@ module OpenAI filename: String, mime_type: String, purpose: OpenAI::Models::FilePurpose::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Upload) end @@ -58,7 +58,7 @@ module OpenAI sig do params( upload_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Upload) end @@ -87,7 +87,7 @@ module OpenAI upload_id: String, part_ids: T::Array[String], md5: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Upload) end diff --git a/rbi/lib/openai/resources/uploads/parts.rbi b/rbi/lib/openai/resources/uploads/parts.rbi index 14dffcb9..6d53630a 100644 --- a/rbi/lib/openai/resources/uploads/parts.rbi +++ b/rbi/lib/openai/resources/uploads/parts.rbi @@ -19,7 +19,7 @@ module OpenAI params( upload_id: String, data: T.any(IO, StringIO), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::Uploads::UploadPart) end diff --git a/rbi/lib/openai/resources/vector_stores.rbi b/rbi/lib/openai/resources/vector_stores.rbi index 4aef839d..74b9b2a3 100644 --- a/rbi/lib/openai/resources/vector_stores.rbi +++ b/rbi/lib/openai/resources/vector_stores.rbi @@ -14,14 +14,14 @@ module OpenAI params( chunking_strategy: T.any( OpenAI::Models::AutoFileChunkingStrategyParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::StaticFileChunkingStrategyObjectParam ), - expires_after: T.any(OpenAI::Models::VectorStoreCreateParams::ExpiresAfter, OpenAI::Util::AnyHash), + expires_after: T.any(OpenAI::Models::VectorStoreCreateParams::ExpiresAfter, OpenAI::Internal::Util::AnyHash), file_ids: T::Array[String], metadata: T.nilable(T::Hash[Symbol, String]), name: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStore) end @@ -52,7 +52,7 @@ module OpenAI sig do params( vector_store_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStore) end @@ -67,10 +67,10 @@ module OpenAI sig do params( vector_store_id: String, - expires_after: T.nilable(T.any(OpenAI::Models::VectorStoreUpdateParams::ExpiresAfter, OpenAI::Util::AnyHash)), + expires_after: T.nilable(T.any(OpenAI::Models::VectorStoreUpdateParams::ExpiresAfter, OpenAI::Internal::Util::AnyHash)), metadata: T.nilable(T::Hash[Symbol, String]), name: T.nilable(String), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStore) end @@ -99,9 +99,9 @@ module OpenAI before: String, limit: Integer, order: OpenAI::Models::VectorStoreListParams::Order::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::VectorStore]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::VectorStore]) end def list( # A cursor for use in pagination. `after` is an object ID that defines your place @@ -128,7 +128,7 @@ module OpenAI sig do params( vector_store_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStoreDeleted) end @@ -145,13 +145,13 @@ module OpenAI params( vector_store_id: String, query: T.any(String, T::Array[String]), - filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Util::AnyHash, OpenAI::Models::CompoundFilter), + filters: T.any(OpenAI::Models::ComparisonFilter, OpenAI::Internal::Util::AnyHash, OpenAI::Models::CompoundFilter), max_num_results: Integer, - ranking_options: T.any(OpenAI::Models::VectorStoreSearchParams::RankingOptions, OpenAI::Util::AnyHash), + ranking_options: T.any(OpenAI::Models::VectorStoreSearchParams::RankingOptions, OpenAI::Internal::Util::AnyHash), rewrite_query: T::Boolean, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::Page[OpenAI::Models::VectorStoreSearchResponse]) + .returns(OpenAI::Internal::Page[OpenAI::Models::VectorStoreSearchResponse]) end def search( # The ID of the vector store to search. diff --git a/rbi/lib/openai/resources/vector_stores/file_batches.rbi b/rbi/lib/openai/resources/vector_stores/file_batches.rbi index ec63dcb2..40c66e29 100644 --- a/rbi/lib/openai/resources/vector_stores/file_batches.rbi +++ b/rbi/lib/openai/resources/vector_stores/file_batches.rbi @@ -12,10 +12,10 @@ module OpenAI attributes: T.nilable(T::Hash[Symbol, T.any(String, Float, T::Boolean)]), chunking_strategy: T.any( OpenAI::Models::AutoFileChunkingStrategyParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::StaticFileChunkingStrategyObjectParam ), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStores::VectorStoreFileBatch) end @@ -44,7 +44,7 @@ module OpenAI params( batch_id: String, vector_store_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStores::VectorStoreFileBatch) end @@ -63,7 +63,7 @@ module OpenAI params( batch_id: String, vector_store_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStores::VectorStoreFileBatch) end @@ -86,9 +86,9 @@ module OpenAI filter: OpenAI::Models::VectorStores::FileBatchListFilesParams::Filter::OrSymbol, limit: Integer, order: OpenAI::Models::VectorStores::FileBatchListFilesParams::Order::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::VectorStores::VectorStoreFile]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::VectorStores::VectorStoreFile]) end def list_files( # Path param: The ID of the file batch that the files belong to. diff --git a/rbi/lib/openai/resources/vector_stores/files.rbi b/rbi/lib/openai/resources/vector_stores/files.rbi index 0cb2f053..fe472d5a 100644 --- a/rbi/lib/openai/resources/vector_stores/files.rbi +++ b/rbi/lib/openai/resources/vector_stores/files.rbi @@ -14,10 +14,10 @@ module OpenAI attributes: T.nilable(T::Hash[Symbol, T.any(String, Float, T::Boolean)]), chunking_strategy: T.any( OpenAI::Models::AutoFileChunkingStrategyParam, - OpenAI::Util::AnyHash, + OpenAI::Internal::Util::AnyHash, OpenAI::Models::StaticFileChunkingStrategyObjectParam ), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStores::VectorStoreFile) end @@ -46,7 +46,7 @@ module OpenAI params( file_id: String, vector_store_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStores::VectorStoreFile) end @@ -65,7 +65,7 @@ module OpenAI file_id: String, vector_store_id: String, attributes: T.nilable(T::Hash[Symbol, T.any(String, Float, T::Boolean)]), - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStores::VectorStoreFile) end @@ -93,9 +93,9 @@ module OpenAI filter: OpenAI::Models::VectorStores::FileListParams::Filter::OrSymbol, limit: Integer, order: OpenAI::Models::VectorStores::FileListParams::Order::OrSymbol, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::CursorPage[OpenAI::Models::VectorStores::VectorStoreFile]) + .returns(OpenAI::Internal::CursorPage[OpenAI::Models::VectorStores::VectorStoreFile]) end def list( # The ID of the vector store that the files belong to. @@ -130,7 +130,7 @@ module OpenAI params( file_id: String, vector_store_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) .returns(OpenAI::Models::VectorStores::VectorStoreFileDeleted) end @@ -148,9 +148,9 @@ module OpenAI params( file_id: String, vector_store_id: String, - request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) + request_options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Internal::Util::AnyHash)) ) - .returns(OpenAI::Page[OpenAI::Models::VectorStores::FileContentResponse]) + .returns(OpenAI::Internal::Page[OpenAI::Models::VectorStores::FileContentResponse]) end def content( # The ID of the file within the vector store. diff --git a/rbi/lib/openai/stream.rbi b/rbi/lib/openai/stream.rbi deleted file mode 100644 index ba0c2f8a..00000000 --- a/rbi/lib/openai/stream.rbi +++ /dev/null @@ -1,15 +0,0 @@ -# typed: strong - -module OpenAI - class Stream - include OpenAI::Type::BaseStream - - Message = type_member(:in) { {fixed: OpenAI::Util::ServerSentEvent} } - Elem = type_member(:out) - - # @api private - sig { override.returns(T::Enumerable[Elem]) } - private def iterator - end - end -end diff --git a/rbi/lib/openai/transport/base_client.rbi b/rbi/lib/openai/transport/base_client.rbi deleted file mode 100644 index c8afd87e..00000000 --- a/rbi/lib/openai/transport/base_client.rbi +++ /dev/null @@ -1,205 +0,0 @@ -# typed: strong - -module OpenAI - module Transport - # @api private - class BaseClient - abstract! - - RequestComponentsShape = - T.type_alias do - { - method: Symbol, - path: T.any(String, T::Array[String]), - query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]), - headers: T.nilable( - T::Hash[String, - T.nilable( - T.any( - String, - Integer, - T::Array[T.nilable(T.any(String, Integer))] - ) - )] - ), - body: T.nilable(T.anything), - unwrap: T.nilable(Symbol), - page: T.nilable(T::Class[OpenAI::Type::BasePage[OpenAI::BaseModel]]), - stream: T.nilable(T::Class[OpenAI::Type::BaseStream[T.anything, OpenAI::BaseModel]]), - model: T.nilable(OpenAI::Type::Converter::Input), - options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) - } - end - - RequestInputShape = - T.type_alias do - { - method: Symbol, - url: URI::Generic, - headers: T::Hash[String, String], - body: T.anything, - max_retries: Integer, - timeout: Float - } - end - - # from whatwg fetch spec - MAX_REDIRECTS = 20 - - PLATFORM_HEADERS = T::Hash[String, String] - - class << self - # @api private - sig { params(req: OpenAI::Transport::BaseClient::RequestComponentsShape).void } - def validate!(req) - end - - # @api private - sig do - params( - status: Integer, - headers: T.any( - T::Hash[String, String], - Net::HTTPHeader - ) - ).returns(T::Boolean) - end - def should_retry?(status, headers:) - end - - # @api private - sig do - params( - request: OpenAI::Transport::BaseClient::RequestInputShape, - status: Integer, - response_headers: T.any(T::Hash[String, String], Net::HTTPHeader) - ) - .returns(OpenAI::Transport::BaseClient::RequestInputShape) - end - def follow_redirect(request, status:, response_headers:) - end - - # @api private - sig do - params( - status: T.any(Integer, OpenAI::Errors::APIConnectionError), - stream: T.nilable(T::Enumerable[String]) - ) - .void - end - def reap_connection!(status, stream:) - end - end - - # @api private - sig { returns(OpenAI::Transport::PooledNetRequester) } - attr_accessor :requester - - # @api private - sig do - params( - base_url: String, - timeout: Float, - max_retries: Integer, - initial_retry_delay: Float, - max_retry_delay: Float, - headers: T::Hash[String, - T.nilable(T.any(String, Integer, T::Array[T.nilable(T.any(String, Integer))]))], - idempotency_header: T.nilable(String) - ) - .returns(T.attached_class) - end - def self.new( - base_url:, - timeout: 0.0, - max_retries: 0, - initial_retry_delay: 0.0, - max_retry_delay: 0.0, - headers: {}, - idempotency_header: nil - ) - end - - # @api private - sig { overridable.returns(T::Hash[String, String]) } - private def auth_headers - end - - # @api private - sig { returns(String) } - private def generate_idempotency_key - end - - # @api private - sig do - overridable - .params(req: OpenAI::Transport::BaseClient::RequestComponentsShape, opts: OpenAI::Util::AnyHash) - .returns(OpenAI::Transport::BaseClient::RequestInputShape) - end - private def build_request(req, opts) - end - - # @api private - sig { params(headers: T::Hash[String, String], retry_count: Integer).returns(Float) } - private def retry_delay(headers, retry_count:) - end - - # @api private - sig do - params( - request: OpenAI::Transport::BaseClient::RequestInputShape, - redirect_count: Integer, - retry_count: Integer, - send_retry_header: T::Boolean - ) - .returns([Integer, Net::HTTPResponse, T::Enumerable[String]]) - end - private def send_request(request, redirect_count:, retry_count:, send_retry_header:) - end - - # Execute the request specified by `req`. This is the method that all resource - # methods call into. - sig do - params( - method: Symbol, - path: T.any(String, T::Array[String]), - query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]), - headers: T.nilable( - T::Hash[String, - T.nilable( - T.any( - String, - Integer, - T::Array[T.nilable(T.any(String, Integer))] - ) - )] - ), - body: T.nilable(T.anything), - unwrap: T.nilable(Symbol), - page: T.nilable(T::Class[OpenAI::Type::BasePage[OpenAI::BaseModel]]), - stream: T.nilable(T::Class[OpenAI::Type::BaseStream[T.anything, OpenAI::BaseModel]]), - model: T.nilable(OpenAI::Type::Converter::Input), - options: T.nilable(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) - ) - .returns(T.anything) - end - def request( - method, - path, - query: {}, - headers: {}, - body: nil, - unwrap: nil, - page: nil, - stream: nil, - model: OpenAI::Unknown, - options: {} - ) - end - - sig { returns(String) } - def inspect - end - end - end -end diff --git a/rbi/lib/openai/transport/pooled_net_requester.rbi b/rbi/lib/openai/transport/pooled_net_requester.rbi deleted file mode 100644 index d90c1881..00000000 --- a/rbi/lib/openai/transport/pooled_net_requester.rbi +++ /dev/null @@ -1,64 +0,0 @@ -# typed: strong - -module OpenAI - module Transport - # @api private - class PooledNetRequester - RequestShape = - T.type_alias do - { - method: Symbol, - url: URI::Generic, - headers: T::Hash[String, String], - body: T.anything, - deadline: Float - } - end - - # from the golang stdlib - # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49 - KEEP_ALIVE_TIMEOUT = 30 - - class << self - # @api private - sig { params(url: URI::Generic).returns(Net::HTTP) } - def connect(url) - end - - # @api private - sig { params(conn: Net::HTTP, deadline: Float).void } - def calibrate_socket_timeout(conn, deadline) - end - - # @api private - sig do - params( - request: OpenAI::Transport::PooledNetRequester::RequestShape, - blk: T.proc.params(arg0: String).void - ) - .returns(Net::HTTPGenericRequest) - end - def build_request(request, &blk) - end - end - - # @api private - sig { params(url: URI::Generic, deadline: Float, blk: T.proc.params(arg0: Net::HTTP).void).void } - private def with_pool(url, deadline:, &blk) - end - - # @api private - sig do - params(request: OpenAI::Transport::PooledNetRequester::RequestShape) - .returns([Integer, Net::HTTPResponse, T::Enumerable[String]]) - end - def execute(request) - end - - # @api private - sig { params(size: Integer).returns(T.attached_class) } - def self.new(size: Etc.nprocessors) - end - end - end -end diff --git a/rbi/lib/openai/type.rbi b/rbi/lib/openai/type.rbi deleted file mode 100644 index a52a8d3b..00000000 --- a/rbi/lib/openai/type.rbi +++ /dev/null @@ -1,23 +0,0 @@ -# typed: strong - -module OpenAI - Unknown = OpenAI::Type::Unknown - - BooleanModel = OpenAI::Type::BooleanModel - - Enum = OpenAI::Type::Enum - - Union = OpenAI::Type::Union - - ArrayOf = OpenAI::Type::ArrayOf - - HashOf = OpenAI::Type::HashOf - - BaseModel = OpenAI::Type::BaseModel - - RequestParameters = OpenAI::Type::RequestParameters - - # This module contains various type declarations. - module Type - end -end diff --git a/rbi/lib/openai/type/array_of.rbi b/rbi/lib/openai/type/array_of.rbi deleted file mode 100644 index 2f6ace65..00000000 --- a/rbi/lib/openai/type/array_of.rbi +++ /dev/null @@ -1,82 +0,0 @@ -# typed: strong - -module OpenAI - module Type - # @api private - # - # Array of items of a given type. - class ArrayOf - include OpenAI::Type::Converter - - abstract! - final! - - Elem = type_member(:out) - - sig(:final) do - params( - type_info: T.any( - OpenAI::Util::AnyHash, - T.proc.returns(OpenAI::Type::Converter::Input), - OpenAI::Type::Converter::Input - ), - spec: OpenAI::Util::AnyHash - ) - .returns(T.attached_class) - end - def self.[](type_info, spec = {}) - end - - sig(:final) { params(other: T.anything).returns(T::Boolean) } - def ===(other) - end - - sig(:final) { params(other: T.anything).returns(T::Boolean) } - def ==(other) - end - - # @api private - sig(:final) do - override - .params(value: T.any(T::Enumerable[Elem], T.anything), state: OpenAI::Type::Converter::State) - .returns(T.any(T::Array[T.anything], T.anything)) - end - def coerce(value, state:) - end - - # @api private - sig(:final) do - override - .params(value: T.any(T::Enumerable[Elem], T.anything)) - .returns(T.any(T::Array[T.anything], T.anything)) - end - def dump(value) - end - - # @api private - sig(:final) { returns(Elem) } - protected def item_type - end - - # @api private - sig(:final) { returns(T::Boolean) } - protected def nilable? - end - - # @api private - sig(:final) do - params( - type_info: T.any( - OpenAI::Util::AnyHash, - T.proc.returns(OpenAI::Type::Converter::Input), - OpenAI::Type::Converter::Input - ), - spec: OpenAI::Util::AnyHash - ) - .void - end - def initialize(type_info, spec = {}) - end - end - end -end diff --git a/rbi/lib/openai/type/base_model.rbi b/rbi/lib/openai/type/base_model.rbi deleted file mode 100644 index a35f37f5..00000000 --- a/rbi/lib/openai/type/base_model.rbi +++ /dev/null @@ -1,197 +0,0 @@ -# typed: strong - -module OpenAI - module Type - class BaseModel - extend OpenAI::Type::Converter - - abstract! - - KnownFieldShape = T.type_alias { {mode: T.nilable(Symbol), required: T::Boolean, nilable: T::Boolean} } - - class << self - # @api private - # - # Assumes superclass fields are totally defined before fields are accessed / - # defined on subclasses. - sig do - returns( - T::Hash[Symbol, - T.all( - OpenAI::BaseModel::KnownFieldShape, - {type_fn: T.proc.returns(OpenAI::Type::Converter::Input)} - )] - ) - end - def known_fields - end - - # @api private - sig do - returns( - T::Hash[Symbol, - T.all(OpenAI::BaseModel::KnownFieldShape, {type: OpenAI::Type::Converter::Input})] - ) - end - def fields - end - - # @api private - sig do - params( - name_sym: Symbol, - required: T::Boolean, - type_info: T.any( - { - const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)), - enum: T.nilable(T.proc.returns(OpenAI::Type::Converter::Input)), - union: T.nilable(T.proc.returns(OpenAI::Type::Converter::Input)), - api_name: Symbol, - nil?: T::Boolean - }, - T.proc.returns(OpenAI::Type::Converter::Input), - OpenAI::Type::Converter::Input - ), - spec: OpenAI::Util::AnyHash - ) - .void - end - private def add_field(name_sym, required:, type_info:, spec:) - end - - # @api private - sig do - params( - name_sym: Symbol, - type_info: T.any( - OpenAI::Util::AnyHash, - T.proc.returns(OpenAI::Type::Converter::Input), - OpenAI::Type::Converter::Input - ), - spec: OpenAI::Util::AnyHash - ) - .void - end - def required(name_sym, type_info, spec = {}) - end - - # @api private - sig do - params( - name_sym: Symbol, - type_info: T.any( - OpenAI::Util::AnyHash, - T.proc.returns(OpenAI::Type::Converter::Input), - OpenAI::Type::Converter::Input - ), - spec: OpenAI::Util::AnyHash - ) - .void - end - def optional(name_sym, type_info, spec = {}) - end - - # @api private - # - # `request_only` attributes not excluded from `.#coerce` when receiving responses - # even if well behaved servers should not send them - sig { params(blk: T.proc.void).void } - private def request_only(&blk) - end - - # @api private - # - # `response_only` attributes are omitted from `.#dump` when making requests - sig { params(blk: T.proc.void).void } - private def response_only(&blk) - end - - sig { params(other: T.anything).returns(T::Boolean) } - def ==(other) - end - end - - sig { params(other: T.anything).returns(T::Boolean) } - def ==(other) - end - - class << self - # @api private - sig do - override - .params( - value: T.any(OpenAI::BaseModel, T::Hash[T.anything, T.anything], T.anything), - state: OpenAI::Type::Converter::State - ) - .returns(T.any(T.attached_class, T.anything)) - end - def coerce(value, state:) - end - - # @api private - sig do - override - .params(value: T.any(T.attached_class, T.anything)) - .returns(T.any(T::Hash[T.anything, T.anything], T.anything)) - end - def dump(value) - end - end - - # Returns the raw value associated with the given key, if found. Otherwise, nil is - # returned. - # - # It is valid to lookup keys that are not in the API spec, for example to access - # undocumented features. This method does not parse response data into - # higher-level types. Lookup by anything other than a Symbol is an ArgumentError. - sig { params(key: Symbol).returns(T.nilable(T.anything)) } - def [](key) - end - - # Returns a Hash of the data underlying this object. O(1) - # - # Keys are Symbols and values are the raw values from the response. The return - # value indicates which values were ever set on the object. i.e. there will be a - # key in this hash if they ever were, even if the set value was nil. - # - # This method is not recursive. The returned value is shared by the object, so it - # should not be mutated. - sig { overridable.returns(OpenAI::Util::AnyHash) } - def to_h - end - - # Returns a Hash of the data underlying this object. O(1) - # - # Keys are Symbols and values are the raw values from the response. The return - # value indicates which values were ever set on the object. i.e. there will be a - # key in this hash if they ever were, even if the set value was nil. - # - # This method is not recursive. The returned value is shared by the object, so it - # should not be mutated. - sig { overridable.returns(OpenAI::Util::AnyHash) } - def to_hash - end - - sig { params(keys: T.nilable(T::Array[Symbol])).returns(OpenAI::Util::AnyHash) } - def deconstruct_keys(keys) - end - - sig { params(a: T.anything).returns(String) } - def to_json(*a) - end - - sig { params(a: T.anything).returns(String) } - def to_yaml(*a) - end - - # Create a new instance of a model. - sig { params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(T.attached_class) } - def self.new(data = {}) - end - - sig { returns(String) } - def inspect - end - end - end -end diff --git a/rbi/lib/openai/type/base_page.rbi b/rbi/lib/openai/type/base_page.rbi deleted file mode 100644 index 03abe2c1..00000000 --- a/rbi/lib/openai/type/base_page.rbi +++ /dev/null @@ -1,38 +0,0 @@ -# typed: strong - -module OpenAI - module Type - module BasePage - Elem = type_member(:out) - - sig { overridable.returns(T::Boolean) } - def next_page? - end - - sig { overridable.returns(T.self_type) } - def next_page - end - - sig { overridable.params(blk: T.proc.params(arg0: Elem).void).void } - def auto_paging_each(&blk) - end - - sig { returns(T::Enumerable[Elem]) } - def to_enum - end - - # @api private - sig do - params( - client: OpenAI::Transport::BaseClient, - req: OpenAI::Transport::BaseClient::RequestComponentsShape, - headers: T.any(T::Hash[String, String], Net::HTTPHeader), - page_data: T.anything - ) - .void - end - def initialize(client:, req:, headers:, page_data:) - end - end - end -end diff --git a/rbi/lib/openai/type/base_stream.rbi b/rbi/lib/openai/type/base_stream.rbi deleted file mode 100644 index 8fa7098c..00000000 --- a/rbi/lib/openai/type/base_stream.rbi +++ /dev/null @@ -1,43 +0,0 @@ -# typed: strong - -module OpenAI - module Type - module BaseStream - include Enumerable - - Message = type_member(:in) - Elem = type_member(:out) - - sig { void } - def close - end - - # @api private - sig { overridable.returns(T::Enumerable[Elem]) } - private def iterator - end - - sig { params(blk: T.proc.params(arg0: Elem).void).void } - def each(&blk) - end - - sig { returns(T::Enumerator[Elem]) } - def to_enum - end - - # @api private - sig do - params( - model: T.any(T::Class[T.anything], OpenAI::Type::Converter), - url: URI::Generic, - status: Integer, - response: Net::HTTPResponse, - stream: T::Enumerable[Message] - ) - .void - end - def initialize(model:, url:, status:, response:, stream:) - end - end - end -end diff --git a/rbi/lib/openai/type/boolean_model.rbi b/rbi/lib/openai/type/boolean_model.rbi deleted file mode 100644 index 96efcadd..00000000 --- a/rbi/lib/openai/type/boolean_model.rbi +++ /dev/null @@ -1,41 +0,0 @@ -# typed: strong - -module OpenAI - module Type - # @api private - # - # Ruby has no Boolean class; this is something for models to refer to. - class BooleanModel - extend OpenAI::Type::Converter - - abstract! - final! - - sig(:final) { params(other: T.anything).returns(T::Boolean) } - def self.===(other) - end - - sig(:final) { params(other: T.anything).returns(T::Boolean) } - def self.==(other) - end - - class << self - # @api private - sig(:final) do - override - .params(value: T.any(T::Boolean, T.anything), state: OpenAI::Type::Converter::State) - .returns(T.any(T::Boolean, T.anything)) - end - def coerce(value, state:) - end - - # @api private - sig(:final) do - override.params(value: T.any(T::Boolean, T.anything)).returns(T.any(T::Boolean, T.anything)) - end - def dump(value) - end - end - end - end -end diff --git a/rbi/lib/openai/type/converter.rbi b/rbi/lib/openai/type/converter.rbi deleted file mode 100644 index 979159e8..00000000 --- a/rbi/lib/openai/type/converter.rbi +++ /dev/null @@ -1,99 +0,0 @@ -# typed: strong - -module OpenAI - module Type - # @api private - module Converter - Input = T.type_alias { T.any(OpenAI::Type::Converter, T::Class[T.anything]) } - - State = - T.type_alias do - { - strictness: T.any(T::Boolean, Symbol), - exactness: {yes: Integer, no: Integer, maybe: Integer}, - branched: Integer - } - end - - # @api private - sig { overridable.params(value: T.anything, state: OpenAI::Type::Converter::State).returns(T.anything) } - def coerce(value, state:) - end - - # @api private - sig { overridable.params(value: T.anything).returns(T.anything) } - def dump(value) - end - - class << self - # @api private - sig do - params( - spec: T.any( - { - const: T.nilable(T.any(NilClass, T::Boolean, Integer, Float, Symbol)), - enum: T.nilable(T.proc.returns(OpenAI::Type::Converter::Input)), - union: T.nilable(T.proc.returns(OpenAI::Type::Converter::Input)) - }, - T.proc.returns(OpenAI::Type::Converter::Input), - OpenAI::Type::Converter::Input - ) - ) - .returns(T.proc.returns(T.anything)) - end - def self.type_info(spec) - end - - # @api private - # - # Based on `target`, transform `value` into `target`, to the extent possible: - # - # 1. if the given `value` conforms to `target` already, return the given `value` - # 2. if it's possible and safe to convert the given `value` to `target`, then the - # converted value - # 3. otherwise, the given `value` unaltered - # - # The coercion process is subject to improvement between minor release versions. - # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode - sig do - params( - target: OpenAI::Type::Converter::Input, - value: T.anything, - state: OpenAI::Type::Converter::State - ) - .returns(T.anything) - end - def self.coerce( - target, - value, - # The `strictness` is one of `true`, `false`, or `:strong`. This informs the - # coercion strategy when we have to decide between multiple possible conversion - # targets: - # - # - `true`: the conversion must be exact, with minimum coercion. - # - `false`: the conversion can be approximate, with some coercion. - # - `:strong`: the conversion must be exact, with no coercion, and raise an error - # if not possible. - # - # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For - # any given conversion attempt, the exactness will be updated based on how closely - # the value recursively matches the target type: - # - # - `yes`: the value can be converted to the target type with minimum coercion. - # - `maybe`: the value can be converted to the target type with some reasonable - # coercion. - # - `no`: the value cannot be converted to the target type. - # - # See implementation below for more details. - state: {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} - ) - end - - # @api private - sig { params(target: OpenAI::Type::Converter::Input, value: T.anything).returns(T.anything) } - def self.dump(target, value) - end - end - end - end -end diff --git a/rbi/lib/openai/type/enum.rbi b/rbi/lib/openai/type/enum.rbi deleted file mode 100644 index 7f6fdacd..00000000 --- a/rbi/lib/openai/type/enum.rbi +++ /dev/null @@ -1,58 +0,0 @@ -# typed: strong - -module OpenAI - module Type - # @api private - # - # A value from among a specified list of options. OpenAPI enum values map to Ruby - # values in the SDK as follows: - # - # 1. boolean => true | false - # 2. integer => Integer - # 3. float => Float - # 4. string => Symbol - # - # We can therefore convert string values to Symbols, but can't convert other - # values safely. - module Enum - include OpenAI::Type::Converter - - # All of the valid Symbol values for this enum. - sig { overridable.returns(T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]) } - def values - end - - # @api private - # - # Guard against thread safety issues by instantiating `@values`. - sig { void } - private def finalize! - end - - sig { params(other: T.anything).returns(T::Boolean) } - def ===(other) - end - - sig { params(other: T.anything).returns(T::Boolean) } - def ==(other) - end - - # @api private - # - # Unlike with primitives, `Enum` additionally validates that the value is a member - # of the enum. - sig do - override - .params(value: T.any(String, Symbol, T.anything), state: OpenAI::Type::Converter::State) - .returns(T.any(Symbol, T.anything)) - end - def coerce(value, state:) - end - - # @api private - sig { override.params(value: T.any(Symbol, T.anything)).returns(T.any(Symbol, T.anything)) } - def dump(value) - end - end - end -end diff --git a/rbi/lib/openai/type/hash_of.rbi b/rbi/lib/openai/type/hash_of.rbi deleted file mode 100644 index 66bd1160..00000000 --- a/rbi/lib/openai/type/hash_of.rbi +++ /dev/null @@ -1,86 +0,0 @@ -# typed: strong - -module OpenAI - module Type - # @api private - # - # Hash of items of a given type. - class HashOf - include OpenAI::Type::Converter - - abstract! - final! - - Elem = type_member(:out) - - sig(:final) do - params( - type_info: T.any( - OpenAI::Util::AnyHash, - T.proc.returns(OpenAI::Type::Converter::Input), - OpenAI::Type::Converter::Input - ), - spec: OpenAI::Util::AnyHash - ) - .returns(T.attached_class) - end - def self.[](type_info, spec = {}) - end - - sig(:final) { params(other: T.anything).returns(T::Boolean) } - def ===(other) - end - - sig(:final) { params(other: T.anything).returns(T::Boolean) } - def ==(other) - end - - # @api private - sig(:final) do - override - .params(value: T.any( - T::Hash[T.anything, T.anything], - T.anything - ), - state: OpenAI::Type::Converter::State) - .returns(T.any(OpenAI::Util::AnyHash, T.anything)) - end - def coerce(value, state:) - end - - # @api private - sig(:final) do - override - .params(value: T.any(T::Hash[T.anything, T.anything], T.anything)) - .returns(T.any(OpenAI::Util::AnyHash, T.anything)) - end - def dump(value) - end - - # @api private - sig(:final) { returns(Elem) } - protected def item_type - end - - # @api private - sig(:final) { returns(T::Boolean) } - protected def nilable? - end - - # @api private - sig(:final) do - params( - type_info: T.any( - OpenAI::Util::AnyHash, - T.proc.returns(OpenAI::Type::Converter::Input), - OpenAI::Type::Converter::Input - ), - spec: OpenAI::Util::AnyHash - ) - .void - end - def initialize(type_info, spec = {}) - end - end - end -end diff --git a/rbi/lib/openai/type/request_parameters.rbi b/rbi/lib/openai/type/request_parameters.rbi deleted file mode 100644 index 3d5a7c0d..00000000 --- a/rbi/lib/openai/type/request_parameters.rbi +++ /dev/null @@ -1,20 +0,0 @@ -# typed: strong - -module OpenAI - module Type - # @api private - module RequestParameters - # Options to specify HTTP behaviour for this request. - sig { returns(T.any(OpenAI::RequestOptions, OpenAI::Util::AnyHash)) } - attr_accessor :request_options - - # @api private - module Converter - # @api private - sig { params(params: T.anything).returns([T.anything, OpenAI::Util::AnyHash]) } - def dump_request(params) - end - end - end - end -end diff --git a/rbi/lib/openai/type/union.rbi b/rbi/lib/openai/type/union.rbi deleted file mode 100644 index bfdbfa87..00000000 --- a/rbi/lib/openai/type/union.rbi +++ /dev/null @@ -1,66 +0,0 @@ -# typed: strong - -module OpenAI - module Type - # @api private - module Union - include OpenAI::Type::Converter - - # @api private - # - # All of the specified variant info for this union. - sig { returns(T::Array[[T.nilable(Symbol), T.proc.returns(OpenAI::Type::Converter::Input)]]) } - private def known_variants - end - - # @api private - sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) } - protected def derefed_variants - end - - # All of the specified variants for this union. - sig { overridable.returns(T::Array[T.anything]) } - def variants - end - - # @api private - sig { params(property: Symbol).void } - private def discriminator(property) - end - - # @api private - sig do - params( - key: T.any(Symbol, OpenAI::Util::AnyHash, T.proc.returns(T.anything), T.anything), - spec: T.any(OpenAI::Util::AnyHash, T.proc.returns(T.anything), T.anything) - ) - .void - end - private def variant(key, spec = nil) - end - - # @api private - sig { params(value: T.anything).returns(T.nilable(T.anything)) } - private def resolve_variant(value) - end - - sig { params(other: T.anything).returns(T::Boolean) } - def ===(other) - end - - sig { params(other: T.anything).returns(T::Boolean) } - def ==(other) - end - - # @api private - sig { override.params(value: T.anything, state: OpenAI::Type::Converter::State).returns(T.anything) } - def coerce(value, state:) - end - - # @api private - sig { override.params(value: T.anything).returns(T.anything) } - def dump(value) - end - end - end -end diff --git a/rbi/lib/openai/type/unknown.rbi b/rbi/lib/openai/type/unknown.rbi deleted file mode 100644 index 1df209be..00000000 --- a/rbi/lib/openai/type/unknown.rbi +++ /dev/null @@ -1,37 +0,0 @@ -# typed: strong - -module OpenAI - module Type - # @api private - # - # When we don't know what to expect for the value. - class Unknown - extend OpenAI::Type::Converter - - abstract! - final! - - sig(:final) { params(other: T.anything).returns(T::Boolean) } - def self.===(other) - end - - sig(:final) { params(other: T.anything).returns(T::Boolean) } - def self.==(other) - end - - class << self - # @api private - sig(:final) do - override.params(value: T.anything, state: OpenAI::Type::Converter::State).returns(T.anything) - end - def coerce(value, state:) - end - - # @api private - sig(:final) { override.params(value: T.anything).returns(T.anything) } - def dump(value) - end - end - end - end -end diff --git a/rbi/lib/openai/util.rbi b/rbi/lib/openai/util.rbi deleted file mode 100644 index 57b25a19..00000000 --- a/rbi/lib/openai/util.rbi +++ /dev/null @@ -1,280 +0,0 @@ -# typed: strong - -module OpenAI - # @api private - module Util - # Due to the current WIP status of Shapes support in Sorbet, types referencing - # this alias might be refined in the future. - AnyHash = T.type_alias { T::Hash[Symbol, T.anything] } - - # @api private - sig { returns(Float) } - def self.monotonic_secs - end - - class << self - # @api private - sig { returns(String) } - def arch - end - - # @api private - sig { returns(String) } - def os - end - end - - class << self - # @api private - sig { params(input: T.anything).returns(T::Boolean) } - def primitive?(input) - end - - # @api private - sig { params(input: T.anything).returns(T.any(T::Boolean, T.anything)) } - def coerce_boolean(input) - end - - # @api private - sig { params(input: T.anything).returns(T.nilable(T::Boolean)) } - def coerce_boolean!(input) - end - - # @api private - sig { params(input: T.anything).returns(T.any(Integer, T.anything)) } - def coerce_integer(input) - end - - # @api private - sig { params(input: T.anything).returns(T.any(Float, T.anything)) } - def coerce_float(input) - end - - # @api private - sig { params(input: T.anything).returns(T.any(T::Hash[T.anything, T.anything], T.anything)) } - def coerce_hash(input) - end - end - - # Use this to indicate that a value should be explicitly removed from a data - # structure when using `OpenAI::Util.deep_merge`. - # - # e.g. merging `{a: 1}` and `{a: OMIT}` should produce `{}`, where merging - # `{a: 1}` and `{}` would produce `{a: 1}`. - OMIT = T.let(T.anything, T.anything) - - class << self - # @api private - sig { params(lhs: T.anything, rhs: T.anything, concat: T::Boolean).returns(T.anything) } - private def deep_merge_lr(lhs, rhs, concat: false) - end - - # @api private - # - # Recursively merge one hash with another. If the values at a given key are not - # both hashes, just take the new value. - sig do - params(values: T::Array[T.anything], sentinel: T.nilable(T.anything), concat: T::Boolean) - .returns(T.anything) - end - def deep_merge( - *values, - # the value to return if no values are provided. - sentinel: nil, - # whether to merge sequences by concatenation. - concat: false - ) - end - - # @api private - sig do - params( - data: T.any(OpenAI::Util::AnyHash, T::Array[T.anything], T.anything), - pick: T.nilable(T.any(Symbol, Integer, T::Array[T.any(Symbol, Integer)])), - sentinel: T.nilable(T.anything), - blk: T.nilable(T.proc.returns(T.anything)) - ) - .returns(T.nilable(T.anything)) - end - def dig(data, pick, sentinel = nil, &blk) - end - end - - class << self - # @api private - sig { params(uri: URI::Generic).returns(String) } - def uri_origin(uri) - end - - # @api private - sig { params(path: T.any(String, T::Array[String])).returns(String) } - def interpolate_path(path) - end - end - - class << self - # @api private - sig { params(query: T.nilable(String)).returns(T::Hash[String, T::Array[String]]) } - def decode_query(query) - end - - # @api private - sig do - params(query: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])) - .returns(T.nilable(String)) - end - def encode_query(query) - end - end - - ParsedUriShape = - T.type_alias do - { - scheme: T.nilable(String), - host: T.nilable(String), - port: T.nilable(Integer), - path: T.nilable(String), - query: T::Hash[String, T::Array[String]] - } - end - - class << self - # @api private - sig { params(url: T.any(URI::Generic, String)).returns(OpenAI::Util::ParsedUriShape) } - def parse_uri(url) - end - - # @api private - sig { params(parsed: OpenAI::Util::ParsedUriShape).returns(URI::Generic) } - def unparse_uri(parsed) - end - - # @api private - sig do - params(lhs: OpenAI::Util::ParsedUriShape, rhs: OpenAI::Util::ParsedUriShape).returns(URI::Generic) - end - def join_parsed_uri(lhs, rhs) - end - end - - class << self - # @api private - sig do - params( - headers: T::Hash[String, - T.nilable(T.any(String, Integer, T::Array[T.nilable(T.any(String, Integer))]))] - ) - .returns(T::Hash[String, String]) - end - def normalized_headers(*headers) - end - end - - # @api private - # - # An adapter that satisfies the IO interface required by `::IO.copy_stream` - class ReadIOAdapter - # @api private - sig { params(max_len: T.nilable(Integer)).returns(String) } - private def read_enum(max_len) - end - - # @api private - sig { params(max_len: T.nilable(Integer), out_string: T.nilable(String)).returns(T.nilable(String)) } - def read(max_len = nil, out_string = nil) - end - - # @api private - sig do - params( - stream: T.any(String, IO, StringIO, T::Enumerable[String]), - blk: T.proc.params(arg0: String).void - ) - .returns(T.attached_class) - end - def self.new(stream, &blk) - end - end - - class << self - sig { params(blk: T.proc.params(y: Enumerator::Yielder).void).returns(T::Enumerable[String]) } - def writable_enum(&blk) - end - end - - class << self - # @api private - sig do - params(y: Enumerator::Yielder, boundary: String, key: T.any(Symbol, String), val: T.anything).void - end - private def write_multipart_chunk(y, boundary:, key:, val:) - end - - # @api private - sig { params(body: T.anything).returns([String, T::Enumerable[String]]) } - private def encode_multipart_streaming(body) - end - - # @api private - sig { params(headers: T::Hash[String, String], body: T.anything).returns(T.anything) } - def encode_content(headers, body) - end - - # @api private - sig do - params( - headers: T.any(T::Hash[String, String], Net::HTTPHeader), - stream: T::Enumerable[String], - suppress_error: T::Boolean - ) - .returns(T.anything) - end - def decode_content(headers, stream:, suppress_error: false) - end - end - - class << self - # @api private - # - # https://doc.rust-lang.org/std/iter/trait.FusedIterator.html - sig do - params(enum: T::Enumerable[T.anything], external: T::Boolean, close: T.proc.void) - .returns(T::Enumerable[T.anything]) - end - def fused_enum(enum, external: false, &close) - end - - # @api private - sig { params(enum: T.nilable(T::Enumerable[T.anything])).void } - def close_fused!(enum) - end - - # @api private - sig do - params(enum: T.nilable(T::Enumerable[T.anything]), blk: T.proc.params(arg0: Enumerator::Yielder).void) - .returns(T::Enumerable[T.anything]) - end - def chain_fused(enum, &blk) - end - end - - ServerSentEvent = - T.type_alias do - {event: T.nilable(String), data: T.nilable(String), id: T.nilable(String), retry: T.nilable(Integer)} - end - - class << self - # @api private - sig { params(enum: T::Enumerable[String]).returns(T::Enumerable[String]) } - def decode_lines(enum) - end - - # @api private - # - # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream - sig { params(lines: T::Enumerable[String]).returns(OpenAI::Util::ServerSentEvent) } - def decode_sse(lines) - end - end - end -end diff --git a/sig/openai/aliases.rbs b/sig/openai/aliases.rbs new file mode 100644 index 00000000..b99ae58a --- /dev/null +++ b/sig/openai/aliases.rbs @@ -0,0 +1,19 @@ +module OpenAI + class Unknown = OpenAI::Internal::Type::Unknown + + class BooleanModel = OpenAI::Internal::Type::BooleanModel + + module Enum = OpenAI::Internal::Type::Enum + + module Union = OpenAI::Internal::Type::Union + + class ArrayOf = OpenAI::Internal::Type::ArrayOf + + class HashOf = OpenAI::Internal::Type::HashOf + + class BaseModel = OpenAI::Internal::Type::BaseModel + + type request_parameters = OpenAI::Internal::Type::request_parameters + + module RequestParameters = OpenAI::Internal::Type::RequestParameters +end diff --git a/sig/openai/client.rbs b/sig/openai/client.rbs index 6b95a137..7b991e2c 100644 --- a/sig/openai/client.rbs +++ b/sig/openai/client.rbs @@ -1,5 +1,5 @@ module OpenAI - class Client < OpenAI::Transport::BaseClient + class Client < OpenAI::Internal::Transport::BaseClient DEFAULT_MAX_RETRIES: 2 DEFAULT_TIMEOUT_IN_SECONDS: Float diff --git a/sig/openai/cursor_page.rbs b/sig/openai/cursor_page.rbs deleted file mode 100644 index 3b8ed120..00000000 --- a/sig/openai/cursor_page.rbs +++ /dev/null @@ -1,11 +0,0 @@ -module OpenAI - class CursorPage[Elem] - include OpenAI::Type::BasePage[Elem] - - attr_accessor data: ::Array[Elem]? - - attr_accessor has_more: bool - - def inspect: -> String - end -end diff --git a/sig/openai/internal/cursor_page.rbs b/sig/openai/internal/cursor_page.rbs new file mode 100644 index 00000000..3a79ad6a --- /dev/null +++ b/sig/openai/internal/cursor_page.rbs @@ -0,0 +1,13 @@ +module OpenAI + module Internal + class CursorPage[Elem] + include OpenAI::Internal::Type::BasePage[Elem] + + attr_accessor data: ::Array[Elem]? + + attr_accessor has_more: bool + + def inspect: -> String + end + end +end diff --git a/sig/openai/internal/page.rbs b/sig/openai/internal/page.rbs new file mode 100644 index 00000000..9cad7eed --- /dev/null +++ b/sig/openai/internal/page.rbs @@ -0,0 +1,13 @@ +module OpenAI + module Internal + class Page[Elem] + include OpenAI::Internal::Type::BasePage[Elem] + + attr_accessor data: ::Array[Elem]? + + attr_accessor object: String + + def inspect: -> String + end + end +end diff --git a/sig/openai/internal/stream.rbs b/sig/openai/internal/stream.rbs new file mode 100644 index 00000000..b723e314 --- /dev/null +++ b/sig/openai/internal/stream.rbs @@ -0,0 +1,9 @@ +module OpenAI + module Internal + class Stream[Elem] + include OpenAI::Internal::Type::BaseStream[OpenAI::Internal::Util::server_sent_event, Elem] + + private def iterator: -> Enumerable[Elem] + end + end +end diff --git a/sig/openai/internal/transport/base_client.rbs b/sig/openai/internal/transport/base_client.rbs new file mode 100644 index 00000000..abdc7471 --- /dev/null +++ b/sig/openai/internal/transport/base_client.rbs @@ -0,0 +1,114 @@ +module OpenAI + module Internal + module Transport + class BaseClient + type request_components = + { + method: Symbol, + path: String | ::Array[String], + query: ::Hash[String, (::Array[String] | String)?]?, + headers: ::Hash[String, (String + | Integer + | ::Array[(String | Integer)?])?]?, + body: top?, + unwrap: Symbol?, + page: Class?, + stream: Class?, + model: OpenAI::Internal::Type::Converter::input?, + options: OpenAI::request_opts? + } + + type request_input = + { + method: Symbol, + url: URI::Generic, + headers: ::Hash[String, String], + body: top, + max_retries: Integer, + timeout: Float + } + + MAX_REDIRECTS: 20 + + PLATFORM_HEADERS: ::Hash[String, String] + + def self.validate!: ( + OpenAI::Internal::Transport::BaseClient::request_components req + ) -> void + + def self.should_retry?: ( + Integer status, + headers: ::Hash[String, String] + ) -> bool + + def self.follow_redirect: ( + OpenAI::Internal::Transport::BaseClient::request_input request, + status: Integer, + response_headers: ::Hash[String, String] + ) -> OpenAI::Internal::Transport::BaseClient::request_input + + def self.reap_connection!: ( + Integer | OpenAI::Errors::APIConnectionError status, + stream: Enumerable[String]? + ) -> void + + # @api private + attr_accessor requester: OpenAI::Internal::Transport::PooledNetRequester + + def initialize: ( + base_url: String, + ?timeout: Float, + ?max_retries: Integer, + ?initial_retry_delay: Float, + ?max_retry_delay: Float, + ?headers: ::Hash[String, (String + | Integer + | ::Array[(String | Integer)?])?], + ?idempotency_header: String? + ) -> void + + private def auth_headers: -> ::Hash[String, String] + + private def generate_idempotency_key: -> String + + private def build_request: ( + OpenAI::Internal::Transport::BaseClient::request_components req, + OpenAI::request_options opts + ) -> OpenAI::Internal::Transport::BaseClient::request_input + + private def retry_delay: ( + ::Hash[String, String] headers, + retry_count: Integer + ) -> Float + + private def send_request: ( + OpenAI::Internal::Transport::BaseClient::request_input request, + redirect_count: Integer, + retry_count: Integer, + send_retry_header: bool + ) -> [Integer, top, Enumerable[String]] + + def request: + ( + Symbol method, + String | ::Array[String] path, + ?query: ::Hash[String, (::Array[String] | String)?]?, + ?headers: ::Hash[String, (String + | Integer + | ::Array[(String | Integer)?])?]?, + ?body: top?, + ?unwrap: Symbol?, + ?page: Class?, + ?stream: Class?, + ?model: OpenAI::Internal::Type::Converter::input?, + ?options: OpenAI::request_opts? + ) -> top + | ( + OpenAI::Internal::Transport::BaseClient::request_components req + ) -> top + + def inspect: -> String + end + end + end +end diff --git a/sig/openai/internal/transport/pooled_net_requester.rbs b/sig/openai/internal/transport/pooled_net_requester.rbs new file mode 100644 index 00000000..d12703cb --- /dev/null +++ b/sig/openai/internal/transport/pooled_net_requester.rbs @@ -0,0 +1,41 @@ +module OpenAI + module Internal + module Transport + class PooledNetRequester + type request = + { + method: Symbol, + url: URI::Generic, + headers: ::Hash[String, String], + body: top, + deadline: Float + } + + KEEP_ALIVE_TIMEOUT: 30 + + def self.connect: (URI::Generic url) -> top + + def self.calibrate_socket_timeout: (top conn, Float deadline) -> void + + def self.build_request: ( + OpenAI::Internal::Transport::PooledNetRequester::request request + ) { + (String arg0) -> void + } -> top + + private def with_pool: ( + URI::Generic url, + deadline: Float + ) { + (top arg0) -> void + } -> void + + def execute: ( + OpenAI::Internal::Transport::PooledNetRequester::request request + ) -> [Integer, top, Enumerable[String]] + + def initialize: (?size: Integer) -> void + end + end + end +end diff --git a/sig/openai/internal/type/array_of.rbs b/sig/openai/internal/type/array_of.rbs new file mode 100644 index 00000000..617458ed --- /dev/null +++ b/sig/openai/internal/type/array_of.rbs @@ -0,0 +1,38 @@ +module OpenAI + module Internal + module Type + class ArrayOf[Elem] + include OpenAI::Internal::Type::Converter + + def self.[]: ( + ::Hash[Symbol, top] + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input type_info, + ?::Hash[Symbol, top] spec + ) -> instance + + def ===: (top other) -> bool + + def ==: (top other) -> bool + + def coerce: ( + Enumerable[Elem] | top value, + state: OpenAI::Internal::Type::Converter::state + ) -> (::Array[top] | top) + + def dump: (Enumerable[Elem] | top value) -> (::Array[top] | top) + + def item_type: -> Elem + + def nilable?: -> bool + + def initialize: ( + ::Hash[Symbol, top] + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input type_info, + ?::Hash[Symbol, top] spec + ) -> void + end + end + end +end diff --git a/sig/openai/internal/type/base_model.rbs b/sig/openai/internal/type/base_model.rbs new file mode 100644 index 00000000..fd068625 --- /dev/null +++ b/sig/openai/internal/type/base_model.rbs @@ -0,0 +1,79 @@ +module OpenAI + module Internal + module Type + class BaseModel + extend OpenAI::Internal::Type::Converter + + type known_field = + { mode: (:coerce | :dump)?, required: bool, nilable: bool } + + def self.known_fields: -> ::Hash[Symbol, (OpenAI::BaseModel::known_field + & { type_fn: (^-> OpenAI::Internal::Type::Converter::input) })] + + def self.fields: -> ::Hash[Symbol, (OpenAI::BaseModel::known_field + & { type: OpenAI::Internal::Type::Converter::input })] + + private def self.add_field: ( + Symbol name_sym, + required: bool, + type_info: { + const: (nil | bool | Integer | Float | Symbol)?, + enum: ^-> OpenAI::Internal::Type::Converter::input?, + union: ^-> OpenAI::Internal::Type::Converter::input?, + api_name: Symbol + } + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input, + spec: ::Hash[Symbol, top] + ) -> void + + def self.required: ( + Symbol name_sym, + ::Hash[Symbol, top] + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input type_info, + ?::Hash[Symbol, top] spec + ) -> void + + def self.optional: ( + Symbol name_sym, + ::Hash[Symbol, top] + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input type_info, + ?::Hash[Symbol, top] spec + ) -> void + + private def self.request_only: { -> void } -> void + + private def self.response_only: { -> void } -> void + + def self.==: (top other) -> bool + + def ==: (top other) -> bool + + def self.coerce: ( + OpenAI::BaseModel | ::Hash[top, top] | top value, + state: OpenAI::Internal::Type::Converter::state + ) -> (instance | top) + + def self.dump: (instance | top value) -> (::Hash[top, top] | top) + + def []: (Symbol key) -> top? + + def to_h: -> ::Hash[Symbol, top] + + alias to_hash to_h + + def deconstruct_keys: (::Array[Symbol]? keys) -> ::Hash[Symbol, top] + + def to_json: (*top a) -> String + + def to_yaml: (*top a) -> String + + def initialize: (?::Hash[Symbol, top] | self data) -> void + + def inspect: -> String + end + end + end +end diff --git a/sig/openai/internal/type/base_page.rbs b/sig/openai/internal/type/base_page.rbs new file mode 100644 index 00000000..216a4e0b --- /dev/null +++ b/sig/openai/internal/type/base_page.rbs @@ -0,0 +1,24 @@ +module OpenAI + module Internal + module Type + module BasePage[Elem] + def next_page?: -> bool + + def next_page: -> self + + def auto_paging_each: { (Elem arg0) -> void } -> void + + def to_enum: -> Enumerable[Elem] + + alias enum_for to_enum + + def initialize: ( + client: OpenAI::Internal::Transport::BaseClient, + req: OpenAI::Internal::Transport::BaseClient::request_components, + headers: ::Hash[String, String], + page_data: top + ) -> void + end + end + end +end diff --git a/sig/openai/internal/type/base_stream.rbs b/sig/openai/internal/type/base_stream.rbs new file mode 100644 index 00000000..902e7720 --- /dev/null +++ b/sig/openai/internal/type/base_stream.rbs @@ -0,0 +1,27 @@ +module OpenAI + module Internal + module Type + module BaseStream[Message, Elem] + include Enumerable[Elem] + + def close: -> void + + private def iterator: -> Enumerable[Elem] + + def each: { (Elem arg0) -> void } -> void + + def to_enum: -> Enumerator[Elem] + + alias enum_for to_enum + + def initialize: ( + model: Class | OpenAI::Internal::Type::Converter, + url: URI::Generic, + status: Integer, + response: top, + stream: Enumerable[Message] + ) -> void + end + end + end +end diff --git a/sig/openai/internal/type/boolean_model.rbs b/sig/openai/internal/type/boolean_model.rbs new file mode 100644 index 00000000..3bfa2a59 --- /dev/null +++ b/sig/openai/internal/type/boolean_model.rbs @@ -0,0 +1,20 @@ +module OpenAI + module Internal + module Type + class BooleanModel + extend OpenAI::Internal::Type::Converter + + def self.===: (top other) -> bool + + def self.==: (top other) -> bool + + def self.coerce: ( + bool | top value, + state: OpenAI::Internal::Type::Converter::state + ) -> (bool | top) + + def self.dump: (bool | top value) -> (bool | top) + end + end + end +end diff --git a/sig/openai/internal/type/converter.rbs b/sig/openai/internal/type/converter.rbs new file mode 100644 index 00000000..56921a18 --- /dev/null +++ b/sig/openai/internal/type/converter.rbs @@ -0,0 +1,44 @@ +module OpenAI + module Internal + module Type + module Converter + type input = OpenAI::Internal::Type::Converter | Class + + type state = + { + strictness: bool | :strong, + exactness: { yes: Integer, no: Integer, maybe: Integer }, + branched: Integer + } + + def coerce: ( + top value, + state: OpenAI::Internal::Type::Converter::state + ) -> top + + def dump: (top value) -> top + + def self.type_info: ( + { + const: (nil | bool | Integer | Float | Symbol)?, + enum: ^-> OpenAI::Internal::Type::Converter::input?, + union: ^-> OpenAI::Internal::Type::Converter::input? + } + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input spec + ) -> (^-> top) + + def self.coerce: ( + OpenAI::Internal::Type::Converter::input target, + top value, + ?state: OpenAI::Internal::Type::Converter::state + ) -> top + + def self.dump: ( + OpenAI::Internal::Type::Converter::input target, + top value + ) -> top + end + end + end +end diff --git a/sig/openai/internal/type/enum.rbs b/sig/openai/internal/type/enum.rbs new file mode 100644 index 00000000..0a35ac11 --- /dev/null +++ b/sig/openai/internal/type/enum.rbs @@ -0,0 +1,24 @@ +module OpenAI + module Internal + module Type + module Enum + include OpenAI::Internal::Type::Converter + + def self.values: -> ::Array[(nil | bool | Integer | Float | Symbol)] + + private def self.finalize!: -> void + + def ===: (top other) -> bool + + def ==: (top other) -> bool + + def coerce: ( + String | Symbol | top value, + state: OpenAI::Internal::Type::Converter::state + ) -> (Symbol | top) + + def dump: (Symbol | top value) -> (Symbol | top) + end + end + end +end diff --git a/sig/openai/internal/type/hash_of.rbs b/sig/openai/internal/type/hash_of.rbs new file mode 100644 index 00000000..79743eb5 --- /dev/null +++ b/sig/openai/internal/type/hash_of.rbs @@ -0,0 +1,38 @@ +module OpenAI + module Internal + module Type + class HashOf[Elem] + include OpenAI::Internal::Type::Converter + + def self.[]: ( + ::Hash[Symbol, top] + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input type_info, + ?::Hash[Symbol, top] spec + ) -> instance + + def ===: (top other) -> bool + + def ==: (top other) -> bool + + def coerce: ( + ::Hash[top, top] | top value, + state: OpenAI::Internal::Type::Converter::state + ) -> (::Hash[Symbol, top] | top) + + def dump: (::Hash[top, top] | top value) -> (::Hash[Symbol, top] | top) + + def item_type: -> Elem + + def nilable?: -> bool + + def initialize: ( + ::Hash[Symbol, top] + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input type_info, + ?::Hash[Symbol, top] spec + ) -> void + end + end + end +end diff --git a/sig/openai/internal/type/request_parameters.rbs b/sig/openai/internal/type/request_parameters.rbs new file mode 100644 index 00000000..da025b59 --- /dev/null +++ b/sig/openai/internal/type/request_parameters.rbs @@ -0,0 +1,15 @@ +module OpenAI + module Internal + module Type + type request_parameters = { request_options: OpenAI::request_opts } + + module RequestParameters + attr_accessor request_options: OpenAI::request_opts + + module Converter + def dump_request: (top params) -> [top, ::Hash[Symbol, top]] + end + end + end + end +end diff --git a/sig/openai/internal/type/union.rbs b/sig/openai/internal/type/union.rbs new file mode 100644 index 00000000..9d749433 --- /dev/null +++ b/sig/openai/internal/type/union.rbs @@ -0,0 +1,42 @@ +module OpenAI + module Internal + module Type + module Union + include OpenAI::Internal::Type::Converter + + private def self.known_variants: -> ::Array[[Symbol?, (^-> OpenAI::Internal::Type::Converter::input)]] + + def self.derefed_variants: -> ::Array[[Symbol?, top]] + + def self.variants: -> ::Array[top] + + private def self.discriminator: (Symbol property) -> void + + private def self.variant: ( + Symbol + | ::Hash[Symbol, top] + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input key, + ?::Hash[Symbol, top] + | ^-> OpenAI::Internal::Type::Converter::input + | OpenAI::Internal::Type::Converter::input spec + ) -> void + + private def self.resolve_variant: ( + top value + ) -> OpenAI::Internal::Type::Converter::input? + + def ===: (top other) -> bool + + def ==: (top other) -> bool + + def coerce: ( + top value, + state: OpenAI::Internal::Type::Converter::state + ) -> top + + def dump: (top value) -> top + end + end + end +end diff --git a/sig/openai/internal/type/unknown.rbs b/sig/openai/internal/type/unknown.rbs new file mode 100644 index 00000000..571a5cd7 --- /dev/null +++ b/sig/openai/internal/type/unknown.rbs @@ -0,0 +1,20 @@ +module OpenAI + module Internal + module Type + class Unknown + extend OpenAI::Internal::Type::Converter + + def self.===: (top other) -> bool + + def self.==: (top other) -> bool + + def self.coerce: ( + top value, + state: OpenAI::Internal::Type::Converter::state + ) -> top + + def self.dump: (top value) -> top + end + end + end +end diff --git a/sig/openai/internal/util.rbs b/sig/openai/internal/util.rbs new file mode 100644 index 00000000..21bf07da --- /dev/null +++ b/sig/openai/internal/util.rbs @@ -0,0 +1,141 @@ +module OpenAI + module Internal + module Util + def self?.monotonic_secs: -> Float + + def self?.arch: -> String + + def self?.os: -> String + + def self?.primitive?: (top input) -> bool + + def self?.coerce_boolean: (top input) -> (bool | top) + + def self?.coerce_boolean!: (top input) -> bool? + + def self?.coerce_integer: (top input) -> (Integer | top) + + def self?.coerce_float: (top input) -> (Float | top) + + def self?.coerce_hash: (top input) -> (::Hash[top, top] | top) + + OMIT: top + + def self?.deep_merge_lr: (top lhs, top rhs, ?concat: bool) -> top + + def self?.deep_merge: ( + *::Array[top] values, + ?sentinel: top?, + ?concat: bool + ) -> top + + def self?.dig: ( + ::Hash[Symbol, top] | ::Array[top] | top data, + (Symbol | Integer | ::Array[(Symbol | Integer)])? pick, + ?top? sentinel + ) { + -> top? + } -> top? + + def self?.uri_origin: (URI::Generic uri) -> String + + def self?.interpolate_path: (String | ::Array[String] path) -> String + + def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]] + + def self?.encode_query: ( + ::Hash[String, (::Array[String] | String)?]? query + ) -> String? + + type parsed_uri = + { + scheme: String?, + host: String?, + port: Integer?, + path: String?, + query: ::Hash[String, ::Array[String]] + } + + def self?.parse_uri: ( + URI::Generic | String url + ) -> OpenAI::Internal::Util::parsed_uri + + def self?.unparse_uri: ( + OpenAI::Internal::Util::parsed_uri parsed + ) -> URI::Generic + + def self?.join_parsed_uri: ( + OpenAI::Internal::Util::parsed_uri lhs, + OpenAI::Internal::Util::parsed_uri rhs + ) -> URI::Generic + + def self?.normalized_headers: ( + *::Hash[String, (String + | Integer + | ::Array[(String | Integer)?])?] headers + ) -> ::Hash[String, String] + + class ReadIOAdapter + private def read_enum: (Integer? max_len) -> String + + def read: (?Integer? max_len, ?String? out_string) -> String? + + def initialize: ( + String | IO | StringIO | Enumerable[String] stream + ) { + (String arg0) -> void + } -> void + end + + def self?.writable_enum: { + (Enumerator::Yielder y) -> void + } -> Enumerable[String] + + def self?.write_multipart_chunk: ( + Enumerator::Yielder y, + boundary: String, + key: Symbol | String, + val: top + ) -> void + + def self?.encode_multipart_streaming: ( + top body + ) -> [String, Enumerable[String]] + + def self?.encode_content: ( + ::Hash[String, String] headers, + top body + ) -> top + + def self?.decode_content: ( + ::Hash[String, String] headers, + stream: Enumerable[String], + ?suppress_error: bool + ) -> top + + def self?.fused_enum: ( + Enumerable[top] enum, + ?external: bool + ) { + -> void + } -> Enumerable[top] + + def self?.close_fused!: (Enumerable[top]? enum) -> void + + def self?.chain_fused: ( + Enumerable[top]? enum + ) { + (Enumerator::Yielder arg0) -> void + } -> Enumerable[top] + + type server_sent_event = + { event: String?, data: String?, id: String?, retry: Integer? } + + def self?.decode_lines: (Enumerable[String] enum) -> Enumerable[String] + + def self?.decode_sse: ( + Enumerable[String] lines + ) -> OpenAI::Internal::Util::server_sent_event + end + end +end diff --git a/sig/openai/models/audio/speech_create_params.rbs b/sig/openai/models/audio/speech_create_params.rbs index 06dd0109..1b50fd38 100644 --- a/sig/openai/models/audio/speech_create_params.rbs +++ b/sig/openai/models/audio/speech_create_params.rbs @@ -10,11 +10,11 @@ module OpenAI response_format: OpenAI::Models::Audio::SpeechCreateParams::response_format, speed: Float } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class SpeechCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor input: String diff --git a/sig/openai/models/audio/transcription_create_params.rbs b/sig/openai/models/audio/transcription_create_params.rbs index 5abf1747..b46cde10 100644 --- a/sig/openai/models/audio/transcription_create_params.rbs +++ b/sig/openai/models/audio/transcription_create_params.rbs @@ -12,11 +12,11 @@ module OpenAI temperature: Float, timestamp_granularities: ::Array[OpenAI::Models::Audio::TranscriptionCreateParams::timestamp_granularity] } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class TranscriptionCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor file: IO | StringIO diff --git a/sig/openai/models/audio/translation_create_params.rbs b/sig/openai/models/audio/translation_create_params.rbs index 3be91750..800cd86d 100644 --- a/sig/openai/models/audio/translation_create_params.rbs +++ b/sig/openai/models/audio/translation_create_params.rbs @@ -9,11 +9,11 @@ module OpenAI response_format: OpenAI::Models::Audio::TranslationCreateParams::response_format, temperature: Float } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class TranslationCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor file: IO | StringIO diff --git a/sig/openai/models/batch_cancel_params.rbs b/sig/openai/models/batch_cancel_params.rbs index 887d319a..fdb4fc66 100644 --- a/sig/openai/models/batch_cancel_params.rbs +++ b/sig/openai/models/batch_cancel_params.rbs @@ -1,10 +1,10 @@ module OpenAI module Models - type batch_cancel_params = { } & OpenAI::request_parameters + type batch_cancel_params = { } & OpenAI::Internal::Type::request_parameters class BatchCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/batch_create_params.rbs b/sig/openai/models/batch_create_params.rbs index 1220fcdc..19fe80ff 100644 --- a/sig/openai/models/batch_create_params.rbs +++ b/sig/openai/models/batch_create_params.rbs @@ -7,11 +7,11 @@ module OpenAI input_file_id: String, metadata: OpenAI::Models::metadata? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class BatchCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor completion_window: OpenAI::Models::BatchCreateParams::completion_window diff --git a/sig/openai/models/batch_list_params.rbs b/sig/openai/models/batch_list_params.rbs index 7dfa318e..3ca61260 100644 --- a/sig/openai/models/batch_list_params.rbs +++ b/sig/openai/models/batch_list_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models type batch_list_params = - { after: String, limit: Integer } & OpenAI::request_parameters + { after: String, limit: Integer } + & OpenAI::Internal::Type::request_parameters class BatchListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/batch_retrieve_params.rbs b/sig/openai/models/batch_retrieve_params.rbs index c6dcd6ae..4b17656d 100644 --- a/sig/openai/models/batch_retrieve_params.rbs +++ b/sig/openai/models/batch_retrieve_params.rbs @@ -1,10 +1,11 @@ module OpenAI module Models - type batch_retrieve_params = { } & OpenAI::request_parameters + type batch_retrieve_params = + { } & OpenAI::Internal::Type::request_parameters class BatchRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/beta/assistant_create_params.rbs b/sig/openai/models/beta/assistant_create_params.rbs index e1cf13a2..10663a9c 100644 --- a/sig/openai/models/beta/assistant_create_params.rbs +++ b/sig/openai/models/beta/assistant_create_params.rbs @@ -15,11 +15,11 @@ module OpenAI tools: ::Array[OpenAI::Models::Beta::assistant_tool], top_p: Float? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class AssistantCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor model: OpenAI::Models::Beta::AssistantCreateParams::model diff --git a/sig/openai/models/beta/assistant_delete_params.rbs b/sig/openai/models/beta/assistant_delete_params.rbs index cbab3d6b..297d2fdb 100644 --- a/sig/openai/models/beta/assistant_delete_params.rbs +++ b/sig/openai/models/beta/assistant_delete_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models module Beta - type assistant_delete_params = { } & OpenAI::request_parameters + type assistant_delete_params = + { } & OpenAI::Internal::Type::request_parameters class AssistantDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/beta/assistant_list_params.rbs b/sig/openai/models/beta/assistant_list_params.rbs index 42c3c994..c3040fc8 100644 --- a/sig/openai/models/beta/assistant_list_params.rbs +++ b/sig/openai/models/beta/assistant_list_params.rbs @@ -8,11 +8,11 @@ module OpenAI limit: Integer, order: OpenAI::Models::Beta::AssistantListParams::order } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class AssistantListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/beta/assistant_retrieve_params.rbs b/sig/openai/models/beta/assistant_retrieve_params.rbs index 8f5e9d53..d39312a3 100644 --- a/sig/openai/models/beta/assistant_retrieve_params.rbs +++ b/sig/openai/models/beta/assistant_retrieve_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models module Beta - type assistant_retrieve_params = { } & OpenAI::request_parameters + type assistant_retrieve_params = + { } & OpenAI::Internal::Type::request_parameters class AssistantRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/beta/assistant_update_params.rbs b/sig/openai/models/beta/assistant_update_params.rbs index eec6b058..f84dde39 100644 --- a/sig/openai/models/beta/assistant_update_params.rbs +++ b/sig/openai/models/beta/assistant_update_params.rbs @@ -15,11 +15,11 @@ module OpenAI tools: ::Array[OpenAI::Models::Beta::assistant_tool], top_p: Float? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class AssistantUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor description: String? diff --git a/sig/openai/models/beta/thread_create_and_run_params.rbs b/sig/openai/models/beta/thread_create_and_run_params.rbs index 28e49216..4ca7db99 100644 --- a/sig/openai/models/beta/thread_create_and_run_params.rbs +++ b/sig/openai/models/beta/thread_create_and_run_params.rbs @@ -19,11 +19,11 @@ module OpenAI top_p: Float?, truncation_strategy: OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class ThreadCreateAndRunParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor assistant_id: String diff --git a/sig/openai/models/beta/thread_create_params.rbs b/sig/openai/models/beta/thread_create_params.rbs index ba9059a3..6caf45d4 100644 --- a/sig/openai/models/beta/thread_create_params.rbs +++ b/sig/openai/models/beta/thread_create_params.rbs @@ -7,11 +7,11 @@ module OpenAI metadata: OpenAI::Models::metadata?, tool_resources: OpenAI::Models::Beta::ThreadCreateParams::ToolResources? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class ThreadCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader messages: ::Array[OpenAI::Models::Beta::ThreadCreateParams::Message]? diff --git a/sig/openai/models/beta/thread_delete_params.rbs b/sig/openai/models/beta/thread_delete_params.rbs index 9440978b..27afc166 100644 --- a/sig/openai/models/beta/thread_delete_params.rbs +++ b/sig/openai/models/beta/thread_delete_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models module Beta - type thread_delete_params = { } & OpenAI::request_parameters + type thread_delete_params = + { } & OpenAI::Internal::Type::request_parameters class ThreadDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/beta/thread_retrieve_params.rbs b/sig/openai/models/beta/thread_retrieve_params.rbs index e259fb2d..4db38c39 100644 --- a/sig/openai/models/beta/thread_retrieve_params.rbs +++ b/sig/openai/models/beta/thread_retrieve_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models module Beta - type thread_retrieve_params = { } & OpenAI::request_parameters + type thread_retrieve_params = + { } & OpenAI::Internal::Type::request_parameters class ThreadRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/beta/thread_update_params.rbs b/sig/openai/models/beta/thread_update_params.rbs index f725515f..83b3ecc8 100644 --- a/sig/openai/models/beta/thread_update_params.rbs +++ b/sig/openai/models/beta/thread_update_params.rbs @@ -6,11 +6,11 @@ module OpenAI metadata: OpenAI::Models::metadata?, tool_resources: OpenAI::Models::Beta::ThreadUpdateParams::ToolResources? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class ThreadUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor metadata: OpenAI::Models::metadata? diff --git a/sig/openai/models/beta/threads/message_create_params.rbs b/sig/openai/models/beta/threads/message_create_params.rbs index 0c2147d8..0091df98 100644 --- a/sig/openai/models/beta/threads/message_create_params.rbs +++ b/sig/openai/models/beta/threads/message_create_params.rbs @@ -9,11 +9,11 @@ module OpenAI attachments: ::Array[OpenAI::Models::Beta::Threads::MessageCreateParams::Attachment]?, metadata: OpenAI::Models::metadata? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class MessageCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor content: OpenAI::Models::Beta::Threads::MessageCreateParams::content diff --git a/sig/openai/models/beta/threads/message_delete_params.rbs b/sig/openai/models/beta/threads/message_delete_params.rbs index fb823dfa..f400a51c 100644 --- a/sig/openai/models/beta/threads/message_delete_params.rbs +++ b/sig/openai/models/beta/threads/message_delete_params.rbs @@ -3,11 +3,11 @@ module OpenAI module Beta module Threads type message_delete_params = - { thread_id: String } & OpenAI::request_parameters + { thread_id: String } & OpenAI::Internal::Type::request_parameters class MessageDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor thread_id: String diff --git a/sig/openai/models/beta/threads/message_list_params.rbs b/sig/openai/models/beta/threads/message_list_params.rbs index 66fd88db..9b331b46 100644 --- a/sig/openai/models/beta/threads/message_list_params.rbs +++ b/sig/openai/models/beta/threads/message_list_params.rbs @@ -10,11 +10,11 @@ module OpenAI order: OpenAI::Models::Beta::Threads::MessageListParams::order, run_id: String } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class MessageListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/beta/threads/message_retrieve_params.rbs b/sig/openai/models/beta/threads/message_retrieve_params.rbs index 29cfa699..58434310 100644 --- a/sig/openai/models/beta/threads/message_retrieve_params.rbs +++ b/sig/openai/models/beta/threads/message_retrieve_params.rbs @@ -3,11 +3,11 @@ module OpenAI module Beta module Threads type message_retrieve_params = - { thread_id: String } & OpenAI::request_parameters + { thread_id: String } & OpenAI::Internal::Type::request_parameters class MessageRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor thread_id: String diff --git a/sig/openai/models/beta/threads/message_update_params.rbs b/sig/openai/models/beta/threads/message_update_params.rbs index 5ccea8ed..7d14cb66 100644 --- a/sig/openai/models/beta/threads/message_update_params.rbs +++ b/sig/openai/models/beta/threads/message_update_params.rbs @@ -4,11 +4,11 @@ module OpenAI module Threads type message_update_params = { thread_id: String, metadata: OpenAI::Models::metadata? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class MessageUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor thread_id: String diff --git a/sig/openai/models/beta/threads/run_cancel_params.rbs b/sig/openai/models/beta/threads/run_cancel_params.rbs index 93ad8eb6..5460b5ad 100644 --- a/sig/openai/models/beta/threads/run_cancel_params.rbs +++ b/sig/openai/models/beta/threads/run_cancel_params.rbs @@ -3,11 +3,11 @@ module OpenAI module Beta module Threads type run_cancel_params = - { thread_id: String } & OpenAI::request_parameters + { thread_id: String } & OpenAI::Internal::Type::request_parameters class RunCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor thread_id: String diff --git a/sig/openai/models/beta/threads/run_create_params.rbs b/sig/openai/models/beta/threads/run_create_params.rbs index 3ed348c1..360db47b 100644 --- a/sig/openai/models/beta/threads/run_create_params.rbs +++ b/sig/openai/models/beta/threads/run_create_params.rbs @@ -22,11 +22,11 @@ module OpenAI top_p: Float?, truncation_strategy: OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class RunCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor assistant_id: String diff --git a/sig/openai/models/beta/threads/run_list_params.rbs b/sig/openai/models/beta/threads/run_list_params.rbs index 15e3c05c..525ad66f 100644 --- a/sig/openai/models/beta/threads/run_list_params.rbs +++ b/sig/openai/models/beta/threads/run_list_params.rbs @@ -9,11 +9,11 @@ module OpenAI limit: Integer, order: OpenAI::Models::Beta::Threads::RunListParams::order } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class RunListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/beta/threads/run_retrieve_params.rbs b/sig/openai/models/beta/threads/run_retrieve_params.rbs index ab99f4b4..a76a9131 100644 --- a/sig/openai/models/beta/threads/run_retrieve_params.rbs +++ b/sig/openai/models/beta/threads/run_retrieve_params.rbs @@ -3,11 +3,11 @@ module OpenAI module Beta module Threads type run_retrieve_params = - { thread_id: String } & OpenAI::request_parameters + { thread_id: String } & OpenAI::Internal::Type::request_parameters class RunRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor thread_id: String diff --git a/sig/openai/models/beta/threads/run_submit_tool_outputs_params.rbs b/sig/openai/models/beta/threads/run_submit_tool_outputs_params.rbs index 6619a57c..48e05b57 100644 --- a/sig/openai/models/beta/threads/run_submit_tool_outputs_params.rbs +++ b/sig/openai/models/beta/threads/run_submit_tool_outputs_params.rbs @@ -7,11 +7,11 @@ module OpenAI thread_id: String, tool_outputs: ::Array[OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput] } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class RunSubmitToolOutputsParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor thread_id: String diff --git a/sig/openai/models/beta/threads/run_update_params.rbs b/sig/openai/models/beta/threads/run_update_params.rbs index 2e8e547d..6e46178a 100644 --- a/sig/openai/models/beta/threads/run_update_params.rbs +++ b/sig/openai/models/beta/threads/run_update_params.rbs @@ -4,11 +4,11 @@ module OpenAI module Threads type run_update_params = { thread_id: String, metadata: OpenAI::Models::metadata? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class RunUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor thread_id: String diff --git a/sig/openai/models/beta/threads/runs/step_list_params.rbs b/sig/openai/models/beta/threads/runs/step_list_params.rbs index ee7ffc2d..04b7cf53 100644 --- a/sig/openai/models/beta/threads/runs/step_list_params.rbs +++ b/sig/openai/models/beta/threads/runs/step_list_params.rbs @@ -12,11 +12,11 @@ module OpenAI limit: Integer, order: OpenAI::Models::Beta::Threads::Runs::StepListParams::order } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class StepListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor thread_id: String diff --git a/sig/openai/models/beta/threads/runs/step_retrieve_params.rbs b/sig/openai/models/beta/threads/runs/step_retrieve_params.rbs index 08140619..06b14341 100644 --- a/sig/openai/models/beta/threads/runs/step_retrieve_params.rbs +++ b/sig/openai/models/beta/threads/runs/step_retrieve_params.rbs @@ -9,11 +9,11 @@ module OpenAI run_id: String, include: ::Array[OpenAI::Models::Beta::Threads::Runs::run_step_include] } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class StepRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor thread_id: String diff --git a/sig/openai/models/chat/completion_create_params.rbs b/sig/openai/models/chat/completion_create_params.rbs index 19e7aa49..1515d670 100644 --- a/sig/openai/models/chat/completion_create_params.rbs +++ b/sig/openai/models/chat/completion_create_params.rbs @@ -34,11 +34,11 @@ module OpenAI user: String, web_search_options: OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class CompletionCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor messages: ::Array[OpenAI::Models::Chat::chat_completion_message_param] diff --git a/sig/openai/models/chat/completion_delete_params.rbs b/sig/openai/models/chat/completion_delete_params.rbs index b5abb861..e4206b21 100644 --- a/sig/openai/models/chat/completion_delete_params.rbs +++ b/sig/openai/models/chat/completion_delete_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models module Chat - type completion_delete_params = { } & OpenAI::request_parameters + type completion_delete_params = + { } & OpenAI::Internal::Type::request_parameters class CompletionDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/chat/completion_list_params.rbs b/sig/openai/models/chat/completion_list_params.rbs index 533ec07c..7f171502 100644 --- a/sig/openai/models/chat/completion_list_params.rbs +++ b/sig/openai/models/chat/completion_list_params.rbs @@ -9,11 +9,11 @@ module OpenAI model: String, order: OpenAI::Models::Chat::CompletionListParams::order } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class CompletionListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/chat/completion_retrieve_params.rbs b/sig/openai/models/chat/completion_retrieve_params.rbs index 8b07c987..3c64e3fb 100644 --- a/sig/openai/models/chat/completion_retrieve_params.rbs +++ b/sig/openai/models/chat/completion_retrieve_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models module Chat - type completion_retrieve_params = { } & OpenAI::request_parameters + type completion_retrieve_params = + { } & OpenAI::Internal::Type::request_parameters class CompletionRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/chat/completion_update_params.rbs b/sig/openai/models/chat/completion_update_params.rbs index 31894b01..dbfdd87d 100644 --- a/sig/openai/models/chat/completion_update_params.rbs +++ b/sig/openai/models/chat/completion_update_params.rbs @@ -2,11 +2,12 @@ module OpenAI module Models module Chat type completion_update_params = - { metadata: OpenAI::Models::metadata? } & OpenAI::request_parameters + { metadata: OpenAI::Models::metadata? } + & OpenAI::Internal::Type::request_parameters class CompletionUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor metadata: OpenAI::Models::metadata? diff --git a/sig/openai/models/chat/completions/message_list_params.rbs b/sig/openai/models/chat/completions/message_list_params.rbs index 08d092c8..1d5f30a2 100644 --- a/sig/openai/models/chat/completions/message_list_params.rbs +++ b/sig/openai/models/chat/completions/message_list_params.rbs @@ -8,11 +8,11 @@ module OpenAI limit: Integer, order: OpenAI::Models::Chat::Completions::MessageListParams::order } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class MessageListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/completion_create_params.rbs b/sig/openai/models/completion_create_params.rbs index 99d092d2..3bbe8da3 100644 --- a/sig/openai/models/completion_create_params.rbs +++ b/sig/openai/models/completion_create_params.rbs @@ -20,11 +20,11 @@ module OpenAI top_p: Float?, user: String } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class CompletionCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor model: OpenAI::Models::CompletionCreateParams::model diff --git a/sig/openai/models/embedding_create_params.rbs b/sig/openai/models/embedding_create_params.rbs index 31ad63d5..1c00db8b 100644 --- a/sig/openai/models/embedding_create_params.rbs +++ b/sig/openai/models/embedding_create_params.rbs @@ -8,11 +8,11 @@ module OpenAI encoding_format: OpenAI::Models::EmbeddingCreateParams::encoding_format, user: String } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class EmbeddingCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor input: OpenAI::Models::EmbeddingCreateParams::input diff --git a/sig/openai/models/file_content_params.rbs b/sig/openai/models/file_content_params.rbs index e875dcbb..c9adfe43 100644 --- a/sig/openai/models/file_content_params.rbs +++ b/sig/openai/models/file_content_params.rbs @@ -1,10 +1,10 @@ module OpenAI module Models - type file_content_params = { } & OpenAI::request_parameters + type file_content_params = { } & OpenAI::Internal::Type::request_parameters class FileContentParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/file_create_params.rbs b/sig/openai/models/file_create_params.rbs index fb34d5b0..f08a1328 100644 --- a/sig/openai/models/file_create_params.rbs +++ b/sig/openai/models/file_create_params.rbs @@ -2,11 +2,11 @@ module OpenAI module Models type file_create_params = { file: (IO | StringIO), purpose: OpenAI::Models::file_purpose } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class FileCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor file: IO | StringIO diff --git a/sig/openai/models/file_delete_params.rbs b/sig/openai/models/file_delete_params.rbs index 88f704ae..993174ef 100644 --- a/sig/openai/models/file_delete_params.rbs +++ b/sig/openai/models/file_delete_params.rbs @@ -1,10 +1,10 @@ module OpenAI module Models - type file_delete_params = { } & OpenAI::request_parameters + type file_delete_params = { } & OpenAI::Internal::Type::request_parameters class FileDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/file_list_params.rbs b/sig/openai/models/file_list_params.rbs index d4b2cc4c..89b0392a 100644 --- a/sig/openai/models/file_list_params.rbs +++ b/sig/openai/models/file_list_params.rbs @@ -7,11 +7,11 @@ module OpenAI order: OpenAI::Models::FileListParams::order, purpose: String } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class FileListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/file_retrieve_params.rbs b/sig/openai/models/file_retrieve_params.rbs index 28a27398..e81b21d8 100644 --- a/sig/openai/models/file_retrieve_params.rbs +++ b/sig/openai/models/file_retrieve_params.rbs @@ -1,10 +1,11 @@ module OpenAI module Models - type file_retrieve_params = { } & OpenAI::request_parameters + type file_retrieve_params = + { } & OpenAI::Internal::Type::request_parameters class FileRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/fine_tuning/job_cancel_params.rbs b/sig/openai/models/fine_tuning/job_cancel_params.rbs index adc3eb00..097c08c0 100644 --- a/sig/openai/models/fine_tuning/job_cancel_params.rbs +++ b/sig/openai/models/fine_tuning/job_cancel_params.rbs @@ -1,11 +1,11 @@ module OpenAI module Models module FineTuning - type job_cancel_params = { } & OpenAI::request_parameters + type job_cancel_params = { } & OpenAI::Internal::Type::request_parameters class JobCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/fine_tuning/job_create_params.rbs b/sig/openai/models/fine_tuning/job_create_params.rbs index faedfe50..fd4f66bb 100644 --- a/sig/openai/models/fine_tuning/job_create_params.rbs +++ b/sig/openai/models/fine_tuning/job_create_params.rbs @@ -13,11 +13,11 @@ module OpenAI suffix: String?, validation_file: String? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class JobCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor model: OpenAI::Models::FineTuning::JobCreateParams::model diff --git a/sig/openai/models/fine_tuning/job_list_events_params.rbs b/sig/openai/models/fine_tuning/job_list_events_params.rbs index 8159d7f4..2bd10d63 100644 --- a/sig/openai/models/fine_tuning/job_list_events_params.rbs +++ b/sig/openai/models/fine_tuning/job_list_events_params.rbs @@ -2,11 +2,12 @@ module OpenAI module Models module FineTuning type job_list_events_params = - { after: String, limit: Integer } & OpenAI::request_parameters + { after: String, limit: Integer } + & OpenAI::Internal::Type::request_parameters class JobListEventsParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/fine_tuning/job_list_params.rbs b/sig/openai/models/fine_tuning/job_list_params.rbs index fe78d5ad..a09f5864 100644 --- a/sig/openai/models/fine_tuning/job_list_params.rbs +++ b/sig/openai/models/fine_tuning/job_list_params.rbs @@ -3,11 +3,11 @@ module OpenAI module FineTuning type job_list_params = { after: String, limit: Integer, metadata: ::Hash[Symbol, String]? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class JobListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/fine_tuning/job_retrieve_params.rbs b/sig/openai/models/fine_tuning/job_retrieve_params.rbs index 5306f28a..466850ae 100644 --- a/sig/openai/models/fine_tuning/job_retrieve_params.rbs +++ b/sig/openai/models/fine_tuning/job_retrieve_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models module FineTuning - type job_retrieve_params = { } & OpenAI::request_parameters + type job_retrieve_params = + { } & OpenAI::Internal::Type::request_parameters class JobRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/fine_tuning/jobs/checkpoint_list_params.rbs b/sig/openai/models/fine_tuning/jobs/checkpoint_list_params.rbs index e5377848..dc5aa5a0 100644 --- a/sig/openai/models/fine_tuning/jobs/checkpoint_list_params.rbs +++ b/sig/openai/models/fine_tuning/jobs/checkpoint_list_params.rbs @@ -3,11 +3,12 @@ module OpenAI module FineTuning module Jobs type checkpoint_list_params = - { after: String, limit: Integer } & OpenAI::request_parameters + { after: String, limit: Integer } + & OpenAI::Internal::Type::request_parameters class CheckpointListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/image_create_variation_params.rbs b/sig/openai/models/image_create_variation_params.rbs index 0fcca83b..ebbc6451 100644 --- a/sig/openai/models/image_create_variation_params.rbs +++ b/sig/openai/models/image_create_variation_params.rbs @@ -9,11 +9,11 @@ module OpenAI size: OpenAI::Models::ImageCreateVariationParams::size?, user: String } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class ImageCreateVariationParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor image: IO | StringIO diff --git a/sig/openai/models/image_edit_params.rbs b/sig/openai/models/image_edit_params.rbs index 3da9c277..616d4a05 100644 --- a/sig/openai/models/image_edit_params.rbs +++ b/sig/openai/models/image_edit_params.rbs @@ -11,11 +11,11 @@ module OpenAI size: OpenAI::Models::ImageEditParams::size?, user: String } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class ImageEditParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor image: IO | StringIO diff --git a/sig/openai/models/image_generate_params.rbs b/sig/openai/models/image_generate_params.rbs index ca757dea..5af7ffe3 100644 --- a/sig/openai/models/image_generate_params.rbs +++ b/sig/openai/models/image_generate_params.rbs @@ -11,11 +11,11 @@ module OpenAI style: OpenAI::Models::ImageGenerateParams::style?, user: String } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class ImageGenerateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor prompt: String diff --git a/sig/openai/models/model_delete_params.rbs b/sig/openai/models/model_delete_params.rbs index a4ac1b91..2f5cfd40 100644 --- a/sig/openai/models/model_delete_params.rbs +++ b/sig/openai/models/model_delete_params.rbs @@ -1,10 +1,10 @@ module OpenAI module Models - type model_delete_params = { } & OpenAI::request_parameters + type model_delete_params = { } & OpenAI::Internal::Type::request_parameters class ModelDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/model_list_params.rbs b/sig/openai/models/model_list_params.rbs index 15ed4c2f..4511e755 100644 --- a/sig/openai/models/model_list_params.rbs +++ b/sig/openai/models/model_list_params.rbs @@ -1,10 +1,10 @@ module OpenAI module Models - type model_list_params = { } & OpenAI::request_parameters + type model_list_params = { } & OpenAI::Internal::Type::request_parameters class ModelListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/model_retrieve_params.rbs b/sig/openai/models/model_retrieve_params.rbs index 5293679d..dfcd6daa 100644 --- a/sig/openai/models/model_retrieve_params.rbs +++ b/sig/openai/models/model_retrieve_params.rbs @@ -1,10 +1,11 @@ module OpenAI module Models - type model_retrieve_params = { } & OpenAI::request_parameters + type model_retrieve_params = + { } & OpenAI::Internal::Type::request_parameters class ModelRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/moderation_create_params.rbs b/sig/openai/models/moderation_create_params.rbs index 7067fe66..833c5ff4 100644 --- a/sig/openai/models/moderation_create_params.rbs +++ b/sig/openai/models/moderation_create_params.rbs @@ -5,11 +5,11 @@ module OpenAI input: OpenAI::Models::ModerationCreateParams::input, model: OpenAI::Models::ModerationCreateParams::model } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class ModerationCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor input: OpenAI::Models::ModerationCreateParams::input diff --git a/sig/openai/models/responses/input_item_list_params.rbs b/sig/openai/models/responses/input_item_list_params.rbs index d4b3d62b..18327460 100644 --- a/sig/openai/models/responses/input_item_list_params.rbs +++ b/sig/openai/models/responses/input_item_list_params.rbs @@ -9,11 +9,11 @@ module OpenAI limit: Integer, order: OpenAI::Models::Responses::InputItemListParams::order } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class InputItemListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/responses/response_create_params.rbs b/sig/openai/models/responses/response_create_params.rbs index c5fb416a..d4c12563 100644 --- a/sig/openai/models/responses/response_create_params.rbs +++ b/sig/openai/models/responses/response_create_params.rbs @@ -21,11 +21,11 @@ module OpenAI truncation: OpenAI::Models::Responses::ResponseCreateParams::truncation?, user: String } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class ResponseCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor input: OpenAI::Models::Responses::ResponseCreateParams::input diff --git a/sig/openai/models/responses/response_delete_params.rbs b/sig/openai/models/responses/response_delete_params.rbs index 48a494f2..ff2fd40f 100644 --- a/sig/openai/models/responses/response_delete_params.rbs +++ b/sig/openai/models/responses/response_delete_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models module Responses - type response_delete_params = { } & OpenAI::request_parameters + type response_delete_params = + { } & OpenAI::Internal::Type::request_parameters class ResponseDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/responses/response_retrieve_params.rbs b/sig/openai/models/responses/response_retrieve_params.rbs index 76a68008..d91ca0ed 100644 --- a/sig/openai/models/responses/response_retrieve_params.rbs +++ b/sig/openai/models/responses/response_retrieve_params.rbs @@ -3,11 +3,11 @@ module OpenAI module Responses type response_retrieve_params = { include: ::Array[OpenAI::Models::Responses::response_includable] } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class ResponseRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader include: ::Array[OpenAI::Models::Responses::response_includable]? diff --git a/sig/openai/models/upload_cancel_params.rbs b/sig/openai/models/upload_cancel_params.rbs index df6f7b0c..f7d03f06 100644 --- a/sig/openai/models/upload_cancel_params.rbs +++ b/sig/openai/models/upload_cancel_params.rbs @@ -1,10 +1,11 @@ module OpenAI module Models - type upload_cancel_params = { } & OpenAI::request_parameters + type upload_cancel_params = + { } & OpenAI::Internal::Type::request_parameters class UploadCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/upload_complete_params.rbs b/sig/openai/models/upload_complete_params.rbs index eb3cbcf1..50d22376 100644 --- a/sig/openai/models/upload_complete_params.rbs +++ b/sig/openai/models/upload_complete_params.rbs @@ -1,11 +1,12 @@ module OpenAI module Models type upload_complete_params = - { part_ids: ::Array[String], :md5 => String } & OpenAI::request_parameters + { part_ids: ::Array[String], :md5 => String } + & OpenAI::Internal::Type::request_parameters class UploadCompleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor part_ids: ::Array[String] diff --git a/sig/openai/models/upload_create_params.rbs b/sig/openai/models/upload_create_params.rbs index 431fc356..94f2cc72 100644 --- a/sig/openai/models/upload_create_params.rbs +++ b/sig/openai/models/upload_create_params.rbs @@ -7,11 +7,11 @@ module OpenAI mime_type: String, purpose: OpenAI::Models::file_purpose } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class UploadCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor bytes: Integer diff --git a/sig/openai/models/uploads/part_create_params.rbs b/sig/openai/models/uploads/part_create_params.rbs index cc960f1c..a36ae697 100644 --- a/sig/openai/models/uploads/part_create_params.rbs +++ b/sig/openai/models/uploads/part_create_params.rbs @@ -2,11 +2,11 @@ module OpenAI module Models module Uploads type part_create_params = - { data: (IO | StringIO) } & OpenAI::request_parameters + { data: (IO | StringIO) } & OpenAI::Internal::Type::request_parameters class PartCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor data: IO | StringIO diff --git a/sig/openai/models/vector_store_create_params.rbs b/sig/openai/models/vector_store_create_params.rbs index b0bdecc8..3a387fa9 100644 --- a/sig/openai/models/vector_store_create_params.rbs +++ b/sig/openai/models/vector_store_create_params.rbs @@ -8,11 +8,11 @@ module OpenAI metadata: OpenAI::Models::metadata?, name: String } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class VectorStoreCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader chunking_strategy: OpenAI::Models::file_chunking_strategy_param? diff --git a/sig/openai/models/vector_store_delete_params.rbs b/sig/openai/models/vector_store_delete_params.rbs index 65b00bf3..b2f2436c 100644 --- a/sig/openai/models/vector_store_delete_params.rbs +++ b/sig/openai/models/vector_store_delete_params.rbs @@ -1,10 +1,11 @@ module OpenAI module Models - type vector_store_delete_params = { } & OpenAI::request_parameters + type vector_store_delete_params = + { } & OpenAI::Internal::Type::request_parameters class VectorStoreDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/vector_store_list_params.rbs b/sig/openai/models/vector_store_list_params.rbs index 932f1b34..45da51d8 100644 --- a/sig/openai/models/vector_store_list_params.rbs +++ b/sig/openai/models/vector_store_list_params.rbs @@ -7,11 +7,11 @@ module OpenAI limit: Integer, order: OpenAI::Models::VectorStoreListParams::order } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class VectorStoreListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/vector_store_retrieve_params.rbs b/sig/openai/models/vector_store_retrieve_params.rbs index 39d412f5..7f875a4d 100644 --- a/sig/openai/models/vector_store_retrieve_params.rbs +++ b/sig/openai/models/vector_store_retrieve_params.rbs @@ -1,10 +1,11 @@ module OpenAI module Models - type vector_store_retrieve_params = { } & OpenAI::request_parameters + type vector_store_retrieve_params = + { } & OpenAI::Internal::Type::request_parameters class VectorStoreRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters def initialize: (?request_options: OpenAI::request_opts) -> void diff --git a/sig/openai/models/vector_store_search_params.rbs b/sig/openai/models/vector_store_search_params.rbs index 3c87c94f..10fb00d0 100644 --- a/sig/openai/models/vector_store_search_params.rbs +++ b/sig/openai/models/vector_store_search_params.rbs @@ -8,11 +8,11 @@ module OpenAI ranking_options: OpenAI::Models::VectorStoreSearchParams::RankingOptions, rewrite_query: bool } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class VectorStoreSearchParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor query: OpenAI::Models::VectorStoreSearchParams::query diff --git a/sig/openai/models/vector_store_update_params.rbs b/sig/openai/models/vector_store_update_params.rbs index 734ce7fd..a25ec5db 100644 --- a/sig/openai/models/vector_store_update_params.rbs +++ b/sig/openai/models/vector_store_update_params.rbs @@ -6,11 +6,11 @@ module OpenAI metadata: OpenAI::Models::metadata?, name: String? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class VectorStoreUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor expires_after: OpenAI::Models::VectorStoreUpdateParams::ExpiresAfter? diff --git a/sig/openai/models/vector_stores/file_batch_cancel_params.rbs b/sig/openai/models/vector_stores/file_batch_cancel_params.rbs index 7400302e..eb2088fd 100644 --- a/sig/openai/models/vector_stores/file_batch_cancel_params.rbs +++ b/sig/openai/models/vector_stores/file_batch_cancel_params.rbs @@ -2,11 +2,11 @@ module OpenAI module Models module VectorStores type file_batch_cancel_params = - { vector_store_id: String } & OpenAI::request_parameters + { vector_store_id: String } & OpenAI::Internal::Type::request_parameters class FileBatchCancelParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor vector_store_id: String diff --git a/sig/openai/models/vector_stores/file_batch_create_params.rbs b/sig/openai/models/vector_stores/file_batch_create_params.rbs index ec58551e..e8e0ddca 100644 --- a/sig/openai/models/vector_stores/file_batch_create_params.rbs +++ b/sig/openai/models/vector_stores/file_batch_create_params.rbs @@ -7,11 +7,11 @@ module OpenAI attributes: ::Hash[Symbol, OpenAI::Models::VectorStores::FileBatchCreateParams::attribute]?, chunking_strategy: OpenAI::Models::file_chunking_strategy_param } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class FileBatchCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor file_ids: ::Array[String] diff --git a/sig/openai/models/vector_stores/file_batch_list_files_params.rbs b/sig/openai/models/vector_stores/file_batch_list_files_params.rbs index b19f61ad..e9f2d88b 100644 --- a/sig/openai/models/vector_stores/file_batch_list_files_params.rbs +++ b/sig/openai/models/vector_stores/file_batch_list_files_params.rbs @@ -10,11 +10,11 @@ module OpenAI limit: Integer, order: OpenAI::Models::VectorStores::FileBatchListFilesParams::order } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class FileBatchListFilesParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor vector_store_id: String diff --git a/sig/openai/models/vector_stores/file_batch_retrieve_params.rbs b/sig/openai/models/vector_stores/file_batch_retrieve_params.rbs index 2adbda41..a9efa644 100644 --- a/sig/openai/models/vector_stores/file_batch_retrieve_params.rbs +++ b/sig/openai/models/vector_stores/file_batch_retrieve_params.rbs @@ -2,11 +2,11 @@ module OpenAI module Models module VectorStores type file_batch_retrieve_params = - { vector_store_id: String } & OpenAI::request_parameters + { vector_store_id: String } & OpenAI::Internal::Type::request_parameters class FileBatchRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor vector_store_id: String diff --git a/sig/openai/models/vector_stores/file_content_params.rbs b/sig/openai/models/vector_stores/file_content_params.rbs index 608c3d89..c7f2dfc8 100644 --- a/sig/openai/models/vector_stores/file_content_params.rbs +++ b/sig/openai/models/vector_stores/file_content_params.rbs @@ -2,11 +2,11 @@ module OpenAI module Models module VectorStores type file_content_params = - { vector_store_id: String } & OpenAI::request_parameters + { vector_store_id: String } & OpenAI::Internal::Type::request_parameters class FileContentParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor vector_store_id: String diff --git a/sig/openai/models/vector_stores/file_create_params.rbs b/sig/openai/models/vector_stores/file_create_params.rbs index 82145f08..93f6ca13 100644 --- a/sig/openai/models/vector_stores/file_create_params.rbs +++ b/sig/openai/models/vector_stores/file_create_params.rbs @@ -7,11 +7,11 @@ module OpenAI attributes: ::Hash[Symbol, OpenAI::Models::VectorStores::FileCreateParams::attribute]?, chunking_strategy: OpenAI::Models::file_chunking_strategy_param } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class FileCreateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor file_id: String diff --git a/sig/openai/models/vector_stores/file_delete_params.rbs b/sig/openai/models/vector_stores/file_delete_params.rbs index c1b36f86..486986b3 100644 --- a/sig/openai/models/vector_stores/file_delete_params.rbs +++ b/sig/openai/models/vector_stores/file_delete_params.rbs @@ -2,11 +2,11 @@ module OpenAI module Models module VectorStores type file_delete_params = - { vector_store_id: String } & OpenAI::request_parameters + { vector_store_id: String } & OpenAI::Internal::Type::request_parameters class FileDeleteParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor vector_store_id: String diff --git a/sig/openai/models/vector_stores/file_list_params.rbs b/sig/openai/models/vector_stores/file_list_params.rbs index 88f6eb73..6501043b 100644 --- a/sig/openai/models/vector_stores/file_list_params.rbs +++ b/sig/openai/models/vector_stores/file_list_params.rbs @@ -9,11 +9,11 @@ module OpenAI limit: Integer, order: OpenAI::Models::VectorStores::FileListParams::order } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class FileListParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_reader after: String? diff --git a/sig/openai/models/vector_stores/file_retrieve_params.rbs b/sig/openai/models/vector_stores/file_retrieve_params.rbs index dafdc50e..f9c4eac7 100644 --- a/sig/openai/models/vector_stores/file_retrieve_params.rbs +++ b/sig/openai/models/vector_stores/file_retrieve_params.rbs @@ -2,11 +2,11 @@ module OpenAI module Models module VectorStores type file_retrieve_params = - { vector_store_id: String } & OpenAI::request_parameters + { vector_store_id: String } & OpenAI::Internal::Type::request_parameters class FileRetrieveParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor vector_store_id: String diff --git a/sig/openai/models/vector_stores/file_update_params.rbs b/sig/openai/models/vector_stores/file_update_params.rbs index dfa006a4..3155411a 100644 --- a/sig/openai/models/vector_stores/file_update_params.rbs +++ b/sig/openai/models/vector_stores/file_update_params.rbs @@ -6,11 +6,11 @@ module OpenAI vector_store_id: String, attributes: ::Hash[Symbol, OpenAI::Models::VectorStores::FileUpdateParams::attribute]? } - & OpenAI::request_parameters + & OpenAI::Internal::Type::request_parameters class FileUpdateParams < OpenAI::BaseModel - extend OpenAI::Type::RequestParameters::Converter - include OpenAI::RequestParameters + extend OpenAI::Internal::Type::RequestParameters::Converter + include OpenAI::Internal::Type::RequestParameters attr_accessor vector_store_id: String diff --git a/sig/openai/page.rbs b/sig/openai/page.rbs deleted file mode 100644 index 48cd508b..00000000 --- a/sig/openai/page.rbs +++ /dev/null @@ -1,11 +0,0 @@ -module OpenAI - class Page[Elem] - include OpenAI::Type::BasePage[Elem] - - attr_accessor data: ::Array[Elem]? - - attr_accessor object: String - - def inspect: -> String - end -end diff --git a/sig/openai/resources/audio/transcriptions.rbs b/sig/openai/resources/audio/transcriptions.rbs index 6f8acd12..e1577759 100644 --- a/sig/openai/resources/audio/transcriptions.rbs +++ b/sig/openai/resources/audio/transcriptions.rbs @@ -24,7 +24,7 @@ module OpenAI ?temperature: Float, ?timestamp_granularities: ::Array[OpenAI::Models::Audio::TranscriptionCreateParams::timestamp_granularity], ?request_options: OpenAI::request_opts - ) -> OpenAI::Stream[OpenAI::Models::Audio::transcription_stream_event] + ) -> OpenAI::Internal::Stream[OpenAI::Models::Audio::transcription_stream_event] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/batches.rbs b/sig/openai/resources/batches.rbs index 37dbb707..338c2671 100644 --- a/sig/openai/resources/batches.rbs +++ b/sig/openai/resources/batches.rbs @@ -18,7 +18,7 @@ module OpenAI ?after: String, ?limit: Integer, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::Batch] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::Batch] def cancel: ( String batch_id, diff --git a/sig/openai/resources/beta/assistants.rbs b/sig/openai/resources/beta/assistants.rbs index 84ea0af9..fa36413e 100644 --- a/sig/openai/resources/beta/assistants.rbs +++ b/sig/openai/resources/beta/assistants.rbs @@ -44,7 +44,7 @@ module OpenAI ?limit: Integer, ?order: OpenAI::Models::Beta::AssistantListParams::order, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::Beta::Assistant] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::Beta::Assistant] def delete: ( String assistant_id, diff --git a/sig/openai/resources/beta/threads.rbs b/sig/openai/resources/beta/threads.rbs index 7ee78295..50be0608 100644 --- a/sig/openai/resources/beta/threads.rbs +++ b/sig/openai/resources/beta/threads.rbs @@ -66,7 +66,7 @@ module OpenAI ?top_p: Float?, ?truncation_strategy: OpenAI::Models::Beta::ThreadCreateAndRunParams::TruncationStrategy?, ?request_options: OpenAI::request_opts - ) -> OpenAI::Stream[OpenAI::Models::Beta::assistant_stream_event] + ) -> OpenAI::Internal::Stream[OpenAI::Models::Beta::assistant_stream_event] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/beta/threads/messages.rbs b/sig/openai/resources/beta/threads/messages.rbs index f5421f58..560d8eb7 100644 --- a/sig/openai/resources/beta/threads/messages.rbs +++ b/sig/openai/resources/beta/threads/messages.rbs @@ -33,7 +33,7 @@ module OpenAI ?order: OpenAI::Models::Beta::Threads::MessageListParams::order, ?run_id: String, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::Beta::Threads::Message] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::Beta::Threads::Message] def delete: ( String message_id, diff --git a/sig/openai/resources/beta/threads/runs.rbs b/sig/openai/resources/beta/threads/runs.rbs index 0b24cbc7..5a1bb9fd 100644 --- a/sig/openai/resources/beta/threads/runs.rbs +++ b/sig/openai/resources/beta/threads/runs.rbs @@ -47,7 +47,7 @@ module OpenAI ?top_p: Float?, ?truncation_strategy: OpenAI::Models::Beta::Threads::RunCreateParams::TruncationStrategy?, ?request_options: OpenAI::request_opts - ) -> OpenAI::Stream[OpenAI::Models::Beta::assistant_stream_event] + ) -> OpenAI::Internal::Stream[OpenAI::Models::Beta::assistant_stream_event] def retrieve: ( String run_id, @@ -69,7 +69,7 @@ module OpenAI ?limit: Integer, ?order: OpenAI::Models::Beta::Threads::RunListParams::order, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::Beta::Threads::Run] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::Beta::Threads::Run] def cancel: ( String run_id, @@ -89,7 +89,7 @@ module OpenAI thread_id: String, tool_outputs: ::Array[OpenAI::Models::Beta::Threads::RunSubmitToolOutputsParams::ToolOutput], ?request_options: OpenAI::request_opts - ) -> OpenAI::Stream[OpenAI::Models::Beta::assistant_stream_event] + ) -> OpenAI::Internal::Stream[OpenAI::Models::Beta::assistant_stream_event] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/beta/threads/runs/steps.rbs b/sig/openai/resources/beta/threads/runs/steps.rbs index 262179eb..7cdcbff4 100644 --- a/sig/openai/resources/beta/threads/runs/steps.rbs +++ b/sig/openai/resources/beta/threads/runs/steps.rbs @@ -21,7 +21,7 @@ module OpenAI ?limit: Integer, ?order: OpenAI::Models::Beta::Threads::Runs::StepListParams::order, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::Beta::Threads::Runs::RunStep] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::Beta::Threads::Runs::RunStep] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/chat/completions.rbs b/sig/openai/resources/chat/completions.rbs index b699bc30..0e8a88ef 100644 --- a/sig/openai/resources/chat/completions.rbs +++ b/sig/openai/resources/chat/completions.rbs @@ -70,7 +70,7 @@ module OpenAI ?user: String, ?web_search_options: OpenAI::Models::Chat::CompletionCreateParams::WebSearchOptions, ?request_options: OpenAI::request_opts - ) -> OpenAI::Stream[OpenAI::Models::Chat::ChatCompletionChunk] + ) -> OpenAI::Internal::Stream[OpenAI::Models::Chat::ChatCompletionChunk] def retrieve: ( String completion_id, @@ -90,7 +90,7 @@ module OpenAI ?model: String, ?order: OpenAI::Models::Chat::CompletionListParams::order, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::Chat::ChatCompletion] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::Chat::ChatCompletion] def delete: ( String completion_id, diff --git a/sig/openai/resources/chat/completions/messages.rbs b/sig/openai/resources/chat/completions/messages.rbs index f2fc47a1..6af4409f 100644 --- a/sig/openai/resources/chat/completions/messages.rbs +++ b/sig/openai/resources/chat/completions/messages.rbs @@ -9,7 +9,7 @@ module OpenAI ?limit: Integer, ?order: OpenAI::Models::Chat::Completions::MessageListParams::order, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::Chat::ChatCompletionStoreMessage] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::Chat::ChatCompletionStoreMessage] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/completions.rbs b/sig/openai/resources/completions.rbs index b48f77df..b786a2e1 100644 --- a/sig/openai/resources/completions.rbs +++ b/sig/openai/resources/completions.rbs @@ -41,7 +41,7 @@ module OpenAI ?top_p: Float?, ?user: String, ?request_options: OpenAI::request_opts - ) -> OpenAI::Stream[OpenAI::Models::Completion] + ) -> OpenAI::Internal::Stream[OpenAI::Models::Completion] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/files.rbs b/sig/openai/resources/files.rbs index 62988179..16e295dd 100644 --- a/sig/openai/resources/files.rbs +++ b/sig/openai/resources/files.rbs @@ -18,7 +18,7 @@ module OpenAI ?order: OpenAI::Models::FileListParams::order, ?purpose: String, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::FileObject] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::FileObject] def delete: ( String file_id, diff --git a/sig/openai/resources/fine_tuning/jobs.rbs b/sig/openai/resources/fine_tuning/jobs.rbs index 339d5f85..4264a1e9 100644 --- a/sig/openai/resources/fine_tuning/jobs.rbs +++ b/sig/openai/resources/fine_tuning/jobs.rbs @@ -27,7 +27,7 @@ module OpenAI ?limit: Integer, ?metadata: ::Hash[Symbol, String]?, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::FineTuning::FineTuningJob] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::FineTuning::FineTuningJob] def cancel: ( String fine_tuning_job_id, @@ -39,7 +39,7 @@ module OpenAI ?after: String, ?limit: Integer, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::FineTuning::FineTuningJobEvent] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::FineTuning::FineTuningJobEvent] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/fine_tuning/jobs/checkpoints.rbs b/sig/openai/resources/fine_tuning/jobs/checkpoints.rbs index 9912513d..45bec94e 100644 --- a/sig/openai/resources/fine_tuning/jobs/checkpoints.rbs +++ b/sig/openai/resources/fine_tuning/jobs/checkpoints.rbs @@ -8,7 +8,7 @@ module OpenAI ?after: String, ?limit: Integer, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::FineTuning::Jobs::FineTuningJobCheckpoint] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::FineTuning::Jobs::FineTuningJobCheckpoint] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/models.rbs b/sig/openai/resources/models.rbs index cb91fa06..042eaed1 100644 --- a/sig/openai/resources/models.rbs +++ b/sig/openai/resources/models.rbs @@ -8,7 +8,7 @@ module OpenAI def list: ( ?request_options: OpenAI::request_opts - ) -> OpenAI::Page[OpenAI::Models::Model] + ) -> OpenAI::Internal::Page[OpenAI::Models::Model] def delete: ( String model, diff --git a/sig/openai/resources/responses.rbs b/sig/openai/resources/responses.rbs index 51041a3b..2dfcf44d 100644 --- a/sig/openai/resources/responses.rbs +++ b/sig/openai/resources/responses.rbs @@ -43,7 +43,7 @@ module OpenAI ?truncation: OpenAI::Models::Responses::ResponseCreateParams::truncation?, ?user: String, ?request_options: OpenAI::request_opts - ) -> OpenAI::Stream[OpenAI::Models::Responses::response_stream_event] + ) -> OpenAI::Internal::Stream[OpenAI::Models::Responses::response_stream_event] def retrieve: ( String response_id, diff --git a/sig/openai/resources/responses/input_items.rbs b/sig/openai/resources/responses/input_items.rbs index 031857d2..9fcece7a 100644 --- a/sig/openai/resources/responses/input_items.rbs +++ b/sig/openai/resources/responses/input_items.rbs @@ -10,7 +10,7 @@ module OpenAI ?limit: Integer, ?order: OpenAI::Models::Responses::InputItemListParams::order, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::Responses::response_item] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::Responses::response_item] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/vector_stores.rbs b/sig/openai/resources/vector_stores.rbs index 707af947..c60ff766 100644 --- a/sig/openai/resources/vector_stores.rbs +++ b/sig/openai/resources/vector_stores.rbs @@ -33,7 +33,7 @@ module OpenAI ?limit: Integer, ?order: OpenAI::Models::VectorStoreListParams::order, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::VectorStore] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::VectorStore] def delete: ( String vector_store_id, @@ -48,7 +48,7 @@ module OpenAI ?ranking_options: OpenAI::Models::VectorStoreSearchParams::RankingOptions, ?rewrite_query: bool, ?request_options: OpenAI::request_opts - ) -> OpenAI::Page[OpenAI::Models::VectorStoreSearchResponse] + ) -> OpenAI::Internal::Page[OpenAI::Models::VectorStoreSearchResponse] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/vector_stores/file_batches.rbs b/sig/openai/resources/vector_stores/file_batches.rbs index 5985e792..39606ed6 100644 --- a/sig/openai/resources/vector_stores/file_batches.rbs +++ b/sig/openai/resources/vector_stores/file_batches.rbs @@ -31,7 +31,7 @@ module OpenAI ?limit: Integer, ?order: OpenAI::Models::VectorStores::FileBatchListFilesParams::order, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::VectorStores::VectorStoreFile] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::VectorStores::VectorStoreFile] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/resources/vector_stores/files.rbs b/sig/openai/resources/vector_stores/files.rbs index b0e11ad0..3669f6a7 100644 --- a/sig/openai/resources/vector_stores/files.rbs +++ b/sig/openai/resources/vector_stores/files.rbs @@ -31,7 +31,7 @@ module OpenAI ?limit: Integer, ?order: OpenAI::Models::VectorStores::FileListParams::order, ?request_options: OpenAI::request_opts - ) -> OpenAI::CursorPage[OpenAI::Models::VectorStores::VectorStoreFile] + ) -> OpenAI::Internal::CursorPage[OpenAI::Models::VectorStores::VectorStoreFile] def delete: ( String file_id, @@ -43,7 +43,7 @@ module OpenAI String file_id, vector_store_id: String, ?request_options: OpenAI::request_opts - ) -> OpenAI::Page[OpenAI::Models::VectorStores::FileContentResponse] + ) -> OpenAI::Internal::Page[OpenAI::Models::VectorStores::FileContentResponse] def initialize: (client: OpenAI::Client) -> void end diff --git a/sig/openai/stream.rbs b/sig/openai/stream.rbs deleted file mode 100644 index a566119e..00000000 --- a/sig/openai/stream.rbs +++ /dev/null @@ -1,7 +0,0 @@ -module OpenAI - class Stream[Elem] - include OpenAI::Type::BaseStream[OpenAI::Util::server_sent_event, Elem] - - private def iterator: -> Enumerable[Elem] - end -end diff --git a/sig/openai/transport/base_client.rbs b/sig/openai/transport/base_client.rbs deleted file mode 100644 index 724f235c..00000000 --- a/sig/openai/transport/base_client.rbs +++ /dev/null @@ -1,110 +0,0 @@ -module OpenAI - module Transport - class BaseClient - type request_components = - { - method: Symbol, - path: String | ::Array[String], - query: ::Hash[String, (::Array[String] | String)?]?, - headers: ::Hash[String, (String - | Integer - | ::Array[(String | Integer)?])?]?, - body: top?, - unwrap: Symbol?, - page: Class?, - stream: Class?, - model: OpenAI::Type::Converter::input?, - options: OpenAI::request_opts? - } - - type request_input = - { - method: Symbol, - url: URI::Generic, - headers: ::Hash[String, String], - body: top, - max_retries: Integer, - timeout: Float - } - - MAX_REDIRECTS: 20 - - PLATFORM_HEADERS: ::Hash[String, String] - - def self.validate!: ( - OpenAI::Transport::BaseClient::request_components req - ) -> void - - def self.should_retry?: ( - Integer status, - headers: ::Hash[String, String] - ) -> bool - - def self.follow_redirect: ( - OpenAI::Transport::BaseClient::request_input request, - status: Integer, - response_headers: ::Hash[String, String] - ) -> OpenAI::Transport::BaseClient::request_input - - def self.reap_connection!: ( - Integer | OpenAI::Errors::APIConnectionError status, - stream: Enumerable[String]? - ) -> void - - # @api private - attr_accessor requester: OpenAI::Transport::PooledNetRequester - - def initialize: ( - base_url: String, - ?timeout: Float, - ?max_retries: Integer, - ?initial_retry_delay: Float, - ?max_retry_delay: Float, - ?headers: ::Hash[String, (String - | Integer - | ::Array[(String | Integer)?])?], - ?idempotency_header: String? - ) -> void - - private def auth_headers: -> ::Hash[String, String] - - private def generate_idempotency_key: -> String - - private def build_request: ( - OpenAI::Transport::BaseClient::request_components req, - OpenAI::request_options opts - ) -> OpenAI::Transport::BaseClient::request_input - - private def retry_delay: ( - ::Hash[String, String] headers, - retry_count: Integer - ) -> Float - - private def send_request: ( - OpenAI::Transport::BaseClient::request_input request, - redirect_count: Integer, - retry_count: Integer, - send_retry_header: bool - ) -> [Integer, top, Enumerable[String]] - - def request: - ( - Symbol method, - String | ::Array[String] path, - ?query: ::Hash[String, (::Array[String] | String)?]?, - ?headers: ::Hash[String, (String - | Integer - | ::Array[(String | Integer)?])?]?, - ?body: top?, - ?unwrap: Symbol?, - ?page: Class?, - ?stream: Class?, - ?model: OpenAI::Type::Converter::input?, - ?options: OpenAI::request_opts? - ) -> top - | (OpenAI::Transport::BaseClient::request_components req) -> top - - def inspect: -> String - end - end -end diff --git a/sig/openai/transport/pooled_net_requester.rbs b/sig/openai/transport/pooled_net_requester.rbs deleted file mode 100644 index d29e1f7e..00000000 --- a/sig/openai/transport/pooled_net_requester.rbs +++ /dev/null @@ -1,39 +0,0 @@ -module OpenAI - module Transport - class PooledNetRequester - type request = - { - method: Symbol, - url: URI::Generic, - headers: ::Hash[String, String], - body: top, - deadline: Float - } - - KEEP_ALIVE_TIMEOUT: 30 - - def self.connect: (URI::Generic url) -> top - - def self.calibrate_socket_timeout: (top conn, Float deadline) -> void - - def self.build_request: ( - OpenAI::Transport::PooledNetRequester::request request - ) { - (String arg0) -> void - } -> top - - private def with_pool: ( - URI::Generic url, - deadline: Float - ) { - (top arg0) -> void - } -> void - - def execute: ( - OpenAI::Transport::PooledNetRequester::request request - ) -> [Integer, top, Enumerable[String]] - - def initialize: (?size: Integer) -> void - end - end -end diff --git a/sig/openai/type.rbs b/sig/openai/type.rbs deleted file mode 100644 index 61ed895e..00000000 --- a/sig/openai/type.rbs +++ /dev/null @@ -1,22 +0,0 @@ -module OpenAI - class Unknown = OpenAI::Type::Unknown - - class BooleanModel = OpenAI::Type::BooleanModel - - module Enum = OpenAI::Type::Enum - - module Union = OpenAI::Type::Union - - class ArrayOf = OpenAI::Type::ArrayOf - - class HashOf = OpenAI::Type::HashOf - - class BaseModel = OpenAI::Type::BaseModel - - type request_parameters = OpenAI::Type::request_parameters - - module RequestParameters = OpenAI::Type::RequestParameters - - module Type - end -end diff --git a/sig/openai/type/array_of.rbs b/sig/openai/type/array_of.rbs deleted file mode 100644 index 7e8cb67c..00000000 --- a/sig/openai/type/array_of.rbs +++ /dev/null @@ -1,36 +0,0 @@ -module OpenAI - module Type - class ArrayOf[Elem] - include OpenAI::Type::Converter - - def self.[]: ( - ::Hash[Symbol, top] - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input type_info, - ?::Hash[Symbol, top] spec - ) -> instance - - def ===: (top other) -> bool - - def ==: (top other) -> bool - - def coerce: ( - Enumerable[Elem] | top value, - state: OpenAI::Type::Converter::state - ) -> (::Array[top] | top) - - def dump: (Enumerable[Elem] | top value) -> (::Array[top] | top) - - def item_type: -> Elem - - def nilable?: -> bool - - def initialize: ( - ::Hash[Symbol, top] - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input type_info, - ?::Hash[Symbol, top] spec - ) -> void - end - end -end diff --git a/sig/openai/type/base_model.rbs b/sig/openai/type/base_model.rbs deleted file mode 100644 index cf3041f5..00000000 --- a/sig/openai/type/base_model.rbs +++ /dev/null @@ -1,77 +0,0 @@ -module OpenAI - module Type - class BaseModel - extend OpenAI::Type::Converter - - type known_field = - { mode: (:coerce | :dump)?, required: bool, nilable: bool } - - def self.known_fields: -> ::Hash[Symbol, (OpenAI::BaseModel::known_field - & { type_fn: (^-> OpenAI::Type::Converter::input) })] - - def self.fields: -> ::Hash[Symbol, (OpenAI::BaseModel::known_field - & { type: OpenAI::Type::Converter::input })] - - private def self.add_field: ( - Symbol name_sym, - required: bool, - type_info: { - const: (nil | bool | Integer | Float | Symbol)?, - enum: ^-> OpenAI::Type::Converter::input?, - union: ^-> OpenAI::Type::Converter::input?, - api_name: Symbol - } - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input, - spec: ::Hash[Symbol, top] - ) -> void - - def self.required: ( - Symbol name_sym, - ::Hash[Symbol, top] - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input type_info, - ?::Hash[Symbol, top] spec - ) -> void - - def self.optional: ( - Symbol name_sym, - ::Hash[Symbol, top] - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input type_info, - ?::Hash[Symbol, top] spec - ) -> void - - private def self.request_only: { -> void } -> void - - private def self.response_only: { -> void } -> void - - def self.==: (top other) -> bool - - def ==: (top other) -> bool - - def self.coerce: ( - OpenAI::BaseModel | ::Hash[top, top] | top value, - state: OpenAI::Type::Converter::state - ) -> (instance | top) - - def self.dump: (instance | top value) -> (::Hash[top, top] | top) - - def []: (Symbol key) -> top? - - def to_h: -> ::Hash[Symbol, top] - - alias to_hash to_h - - def deconstruct_keys: (::Array[Symbol]? keys) -> ::Hash[Symbol, top] - - def to_json: (*top a) -> String - - def to_yaml: (*top a) -> String - - def initialize: (?::Hash[Symbol, top] | self data) -> void - - def inspect: -> String - end - end -end diff --git a/sig/openai/type/base_page.rbs b/sig/openai/type/base_page.rbs deleted file mode 100644 index db9e8a49..00000000 --- a/sig/openai/type/base_page.rbs +++ /dev/null @@ -1,22 +0,0 @@ -module OpenAI - module Type - module BasePage[Elem] - def next_page?: -> bool - - def next_page: -> self - - def auto_paging_each: { (Elem arg0) -> void } -> void - - def to_enum: -> Enumerable[Elem] - - alias enum_for to_enum - - def initialize: ( - client: OpenAI::Transport::BaseClient, - req: OpenAI::Transport::BaseClient::request_components, - headers: ::Hash[String, String], - page_data: top - ) -> void - end - end -end diff --git a/sig/openai/type/base_stream.rbs b/sig/openai/type/base_stream.rbs deleted file mode 100644 index de541575..00000000 --- a/sig/openai/type/base_stream.rbs +++ /dev/null @@ -1,25 +0,0 @@ -module OpenAI - module Type - module BaseStream[Message, Elem] - include Enumerable[Elem] - - def close: -> void - - private def iterator: -> Enumerable[Elem] - - def each: { (Elem arg0) -> void } -> void - - def to_enum: -> Enumerator[Elem] - - alias enum_for to_enum - - def initialize: ( - model: Class | OpenAI::Type::Converter, - url: URI::Generic, - status: Integer, - response: top, - stream: Enumerable[Message] - ) -> void - end - end -end diff --git a/sig/openai/type/boolean_model.rbs b/sig/openai/type/boolean_model.rbs deleted file mode 100644 index 00ed0300..00000000 --- a/sig/openai/type/boolean_model.rbs +++ /dev/null @@ -1,18 +0,0 @@ -module OpenAI - module Type - class BooleanModel - extend OpenAI::Type::Converter - - def self.===: (top other) -> bool - - def self.==: (top other) -> bool - - def self.coerce: ( - bool | top value, - state: OpenAI::Type::Converter::state - ) -> (bool | top) - - def self.dump: (bool | top value) -> (bool | top) - end - end -end diff --git a/sig/openai/type/converter.rbs b/sig/openai/type/converter.rbs deleted file mode 100644 index 3785d489..00000000 --- a/sig/openai/type/converter.rbs +++ /dev/null @@ -1,36 +0,0 @@ -module OpenAI - module Type - module Converter - type input = OpenAI::Type::Converter | Class - - type state = - { - strictness: bool | :strong, - exactness: { yes: Integer, no: Integer, maybe: Integer }, - branched: Integer - } - - def coerce: (top value, state: OpenAI::Type::Converter::state) -> top - - def dump: (top value) -> top - - def self.type_info: ( - { - const: (nil | bool | Integer | Float | Symbol)?, - enum: ^-> OpenAI::Type::Converter::input?, - union: ^-> OpenAI::Type::Converter::input? - } - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input spec - ) -> (^-> top) - - def self.coerce: ( - OpenAI::Type::Converter::input target, - top value, - ?state: OpenAI::Type::Converter::state - ) -> top - - def self.dump: (OpenAI::Type::Converter::input target, top value) -> top - end - end -end diff --git a/sig/openai/type/enum.rbs b/sig/openai/type/enum.rbs deleted file mode 100644 index fb65841f..00000000 --- a/sig/openai/type/enum.rbs +++ /dev/null @@ -1,22 +0,0 @@ -module OpenAI - module Type - module Enum - include OpenAI::Type::Converter - - def self.values: -> ::Array[(nil | bool | Integer | Float | Symbol)] - - private def self.finalize!: -> void - - def ===: (top other) -> bool - - def ==: (top other) -> bool - - def coerce: ( - String | Symbol | top value, - state: OpenAI::Type::Converter::state - ) -> (Symbol | top) - - def dump: (Symbol | top value) -> (Symbol | top) - end - end -end diff --git a/sig/openai/type/hash_of.rbs b/sig/openai/type/hash_of.rbs deleted file mode 100644 index dea00a66..00000000 --- a/sig/openai/type/hash_of.rbs +++ /dev/null @@ -1,36 +0,0 @@ -module OpenAI - module Type - class HashOf[Elem] - include OpenAI::Type::Converter - - def self.[]: ( - ::Hash[Symbol, top] - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input type_info, - ?::Hash[Symbol, top] spec - ) -> instance - - def ===: (top other) -> bool - - def ==: (top other) -> bool - - def coerce: ( - ::Hash[top, top] | top value, - state: OpenAI::Type::Converter::state - ) -> (::Hash[Symbol, top] | top) - - def dump: (::Hash[top, top] | top value) -> (::Hash[Symbol, top] | top) - - def item_type: -> Elem - - def nilable?: -> bool - - def initialize: ( - ::Hash[Symbol, top] - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input type_info, - ?::Hash[Symbol, top] spec - ) -> void - end - end -end diff --git a/sig/openai/type/request_parameters.rbs b/sig/openai/type/request_parameters.rbs deleted file mode 100644 index b92ee909..00000000 --- a/sig/openai/type/request_parameters.rbs +++ /dev/null @@ -1,13 +0,0 @@ -module OpenAI - module Type - type request_parameters = { request_options: OpenAI::request_opts } - - module RequestParameters - attr_accessor request_options: OpenAI::request_opts - - module Converter - def dump_request: (top params) -> [top, ::Hash[Symbol, top]] - end - end - end -end diff --git a/sig/openai/type/union.rbs b/sig/openai/type/union.rbs deleted file mode 100644 index 372932ce..00000000 --- a/sig/openai/type/union.rbs +++ /dev/null @@ -1,37 +0,0 @@ -module OpenAI - module Type - module Union - include OpenAI::Type::Converter - - private def self.known_variants: -> ::Array[[Symbol?, (^-> OpenAI::Type::Converter::input)]] - - def self.derefed_variants: -> ::Array[[Symbol?, top]] - - def self.variants: -> ::Array[top] - - private def self.discriminator: (Symbol property) -> void - - private def self.variant: ( - Symbol - | ::Hash[Symbol, top] - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input key, - ?::Hash[Symbol, top] - | ^-> OpenAI::Type::Converter::input - | OpenAI::Type::Converter::input spec - ) -> void - - private def self.resolve_variant: ( - top value - ) -> OpenAI::Type::Converter::input? - - def ===: (top other) -> bool - - def ==: (top other) -> bool - - def coerce: (top value, state: OpenAI::Type::Converter::state) -> top - - def dump: (top value) -> top - end - end -end diff --git a/sig/openai/type/unknown.rbs b/sig/openai/type/unknown.rbs deleted file mode 100644 index b3139352..00000000 --- a/sig/openai/type/unknown.rbs +++ /dev/null @@ -1,15 +0,0 @@ -module OpenAI - module Type - class Unknown - extend OpenAI::Type::Converter - - def self.===: (top other) -> bool - - def self.==: (top other) -> bool - - def self.coerce: (top value, state: OpenAI::Type::Converter::state) -> top - - def self.dump: (top value) -> top - end - end -end diff --git a/sig/openai/util.rbs b/sig/openai/util.rbs deleted file mode 100644 index 1a93a427..00000000 --- a/sig/openai/util.rbs +++ /dev/null @@ -1,132 +0,0 @@ -module OpenAI - module Util - def self?.monotonic_secs: -> Float - - def self?.arch: -> String - - def self?.os: -> String - - def self?.primitive?: (top input) -> bool - - def self?.coerce_boolean: (top input) -> (bool | top) - - def self?.coerce_boolean!: (top input) -> bool? - - def self?.coerce_integer: (top input) -> (Integer | top) - - def self?.coerce_float: (top input) -> (Float | top) - - def self?.coerce_hash: (top input) -> (::Hash[top, top] | top) - - OMIT: top - - def self?.deep_merge_lr: (top lhs, top rhs, ?concat: bool) -> top - - def self?.deep_merge: ( - *::Array[top] values, - ?sentinel: top?, - ?concat: bool - ) -> top - - def self?.dig: ( - ::Hash[Symbol, top] | ::Array[top] | top data, - (Symbol | Integer | ::Array[(Symbol | Integer)])? pick, - ?top? sentinel - ) { - -> top? - } -> top? - - def self?.uri_origin: (URI::Generic uri) -> String - - def self?.interpolate_path: (String | ::Array[String] path) -> String - - def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]] - - def self?.encode_query: ( - ::Hash[String, (::Array[String] | String)?]? query - ) -> String? - - type parsed_uri = - { - scheme: String?, - host: String?, - port: Integer?, - path: String?, - query: ::Hash[String, ::Array[String]] - } - - def self?.parse_uri: (URI::Generic | String url) -> OpenAI::Util::parsed_uri - - def self?.unparse_uri: (OpenAI::Util::parsed_uri parsed) -> URI::Generic - - def self?.join_parsed_uri: ( - OpenAI::Util::parsed_uri lhs, - OpenAI::Util::parsed_uri rhs - ) -> URI::Generic - - def self?.normalized_headers: ( - *::Hash[String, (String - | Integer - | ::Array[(String | Integer)?])?] headers - ) -> ::Hash[String, String] - - class ReadIOAdapter - private def read_enum: (Integer? max_len) -> String - - def read: (?Integer? max_len, ?String? out_string) -> String? - - def initialize: ( - String | IO | StringIO | Enumerable[String] stream - ) { - (String arg0) -> void - } -> void - end - - def self?.writable_enum: { - (Enumerator::Yielder y) -> void - } -> Enumerable[String] - - def self?.write_multipart_chunk: ( - Enumerator::Yielder y, - boundary: String, - key: Symbol | String, - val: top - ) -> void - - def self?.encode_multipart_streaming: ( - top body - ) -> [String, Enumerable[String]] - - def self?.encode_content: (::Hash[String, String] headers, top body) -> top - - def self?.decode_content: ( - ::Hash[String, String] headers, - stream: Enumerable[String], - ?suppress_error: bool - ) -> top - - def self?.fused_enum: ( - Enumerable[top] enum, - ?external: bool - ) { - -> void - } -> Enumerable[top] - - def self?.close_fused!: (Enumerable[top]? enum) -> void - - def self?.chain_fused: ( - Enumerable[top]? enum - ) { - (Enumerator::Yielder arg0) -> void - } -> Enumerable[top] - - type server_sent_event = - { event: String?, data: String?, id: String?, retry: Integer? } - - def self?.decode_lines: (Enumerable[String] enum) -> Enumerable[String] - - def self?.decode_sse: ( - Enumerable[String] lines - ) -> OpenAI::Util::server_sent_event - end -end diff --git a/test/openai/base_model_test.rb b/test/openai/internal/type/base_model_test.rb similarity index 94% rename from test/openai/base_model_test.rb rename to test/openai/internal/type/base_model_test.rb index 737cb8fa..25c1322c 100644 --- a/test/openai/base_model_test.rb +++ b/test/openai/internal/type/base_model_test.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require_relative "test_helper" +require_relative "../../test_helper" class OpenAI::Test::PrimitiveModelTest < Minitest::Test A = OpenAI::ArrayOf[-> { Integer }] @@ -32,7 +32,7 @@ def test_typing converters.each do |conv| assert_pattern do - conv => OpenAI::Type::Converter + conv => OpenAI::Internal::Type::Converter end end end @@ -68,7 +68,7 @@ def test_coerce exactness, expect = rhs state = {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} assert_pattern do - OpenAI::Type::Converter.coerce(target, input, state: state) => ^expect + OpenAI::Internal::Type::Converter.coerce(target, input, state: state) => ^expect state.fetch(:exactness).filter { _2.nonzero? }.to_h => ^exactness end end @@ -99,7 +99,7 @@ def test_dump target, input = _1 expect = _2 assert_pattern do - OpenAI::Type::Converter.dump(target, input) => ^expect + OpenAI::Internal::Type::Converter.dump(target, input) => ^expect end end end @@ -118,7 +118,7 @@ def test_coerce_errors target, input = _1 state = {strictness: :strong, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} assert_raises(_2) do - OpenAI::Type::Converter.coerce(target, input, state: state) + OpenAI::Internal::Type::Converter.coerce(target, input, state: state) end end end @@ -181,7 +181,7 @@ def test_coerce exactness, expect = rhs state = {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} assert_pattern do - OpenAI::Type::Converter.coerce(target, input, state: state) => ^expect + OpenAI::Internal::Type::Converter.coerce(target, input, state: state) => ^expect state.fetch(:exactness).filter { _2.nonzero? }.to_h => ^exactness end end @@ -209,7 +209,7 @@ def test_dump target, input = _1 expect = _2 assert_pattern do - OpenAI::Type::Converter.dump(target, input) => ^expect + OpenAI::Internal::Type::Converter.dump(target, input) => ^expect end end end @@ -255,7 +255,7 @@ def test_coerce exactness, expect = rhs state = {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} assert_pattern do - OpenAI::Type::Converter.coerce(target, input, state: state) => ^expect + OpenAI::Internal::Type::Converter.coerce(target, input, state: state) => ^expect state.fetch(:exactness).filter { _2.nonzero? }.to_h => ^exactness end end @@ -335,7 +335,7 @@ def test_coerce exactness, expect = rhs state = {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} assert_pattern do - coerced = OpenAI::Type::Converter.coerce(target, input, state: state) + coerced = OpenAI::Internal::Type::Converter.coerce(target, input, state: state) assert_equal(coerced, coerced) if coerced.is_a?(OpenAI::BaseModel) coerced.to_h => ^expect @@ -365,7 +365,7 @@ def test_dump target, input = _1 expect = _2 assert_pattern do - OpenAI::Type::Converter.dump(target, input) => ^expect + OpenAI::Internal::Type::Converter.dump(target, input) => ^expect end end end @@ -511,7 +511,7 @@ def test_coerce exactness, branched, expect = rhs state = {strictness: true, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0} assert_pattern do - coerced = OpenAI::Type::Converter.coerce(target, input, state: state) + coerced = OpenAI::Internal::Type::Converter.coerce(target, input, state: state) assert_equal(coerced, coerced) if coerced.is_a?(OpenAI::BaseModel) coerced.to_h => ^expect diff --git a/test/openai/util_test.rb b/test/openai/internal/util_test.rb similarity index 75% rename from test/openai/util_test.rb rename to test/openai/internal/util_test.rb index 5d4c1b0c..ed50d991 100644 --- a/test/openai/util_test.rb +++ b/test/openai/internal/util_test.rb @@ -1,48 +1,48 @@ # frozen_string_literal: true -require_relative "test_helper" +require_relative "../test_helper" class OpenAI::Test::UtilDataHandlingTest < Minitest::Test def test_left_map assert_pattern do - OpenAI::Util.deep_merge({a: 1}, nil) => nil + OpenAI::Internal::Util.deep_merge({a: 1}, nil) => nil end end def test_right_map assert_pattern do - OpenAI::Util.deep_merge(nil, {a: 1}) => {a: 1} + OpenAI::Internal::Util.deep_merge(nil, {a: 1}) => {a: 1} end end def test_disjoint_maps assert_pattern do - OpenAI::Util.deep_merge({b: 2}, {a: 1}) => {a: 1, b: 2} + OpenAI::Internal::Util.deep_merge({b: 2}, {a: 1}) => {a: 1, b: 2} end end def test_overlapping_maps assert_pattern do - OpenAI::Util.deep_merge({b: 2, c: 3}, {a: 1, c: 4}) => {a: 1, b: 2, c: 4} + OpenAI::Internal::Util.deep_merge({b: 2, c: 3}, {a: 1, c: 4}) => {a: 1, b: 2, c: 4} end end def test_nested assert_pattern do - OpenAI::Util.deep_merge({b: {b2: 1}}, {b: {b2: 2}}) => {b: {b2: 2}} + OpenAI::Internal::Util.deep_merge({b: {b2: 1}}, {b: {b2: 2}}) => {b: {b2: 2}} end end def test_nested_left_map assert_pattern do - OpenAI::Util.deep_merge({b: {b2: 1}}, {b: 6}) => {b: 6} + OpenAI::Internal::Util.deep_merge({b: {b2: 1}}, {b: 6}) => {b: 6} end end def test_omission - merged = OpenAI::Util.deep_merge( + merged = OpenAI::Internal::Util.deep_merge( {b: {b2: 1, b3: {c: 4, d: 5}}}, - {b: {b2: 1, b3: {c: OpenAI::Util::OMIT, d: 5}}} + {b: {b2: 1, b3: {c: OpenAI::Internal::Util::OMIT, d: 5}}} ) assert_pattern do @@ -51,7 +51,7 @@ def test_omission end def test_concat - merged = OpenAI::Util.deep_merge( + merged = OpenAI::Internal::Util.deep_merge( {a: {b: [1, 2]}}, {a: {b: [3, 4]}}, concat: true @@ -63,7 +63,7 @@ def test_concat end def test_concat_false - merged = OpenAI::Util.deep_merge( + merged = OpenAI::Internal::Util.deep_merge( {a: {b: [1, 2]}}, {a: {b: [3, 4]}}, concat: false @@ -76,19 +76,19 @@ def test_concat_false def test_dig assert_pattern do - OpenAI::Util.dig(1, nil) => 1 - OpenAI::Util.dig({a: 1}, :b) => nil - OpenAI::Util.dig({a: 1}, :a) => 1 - OpenAI::Util.dig({a: {b: 1}}, [:a, :b]) => 1 - - OpenAI::Util.dig([], 1) => nil - OpenAI::Util.dig([nil, [nil, 1]], [1, 1]) => 1 - OpenAI::Util.dig({a: [nil, 1]}, [:a, 1]) => 1 - OpenAI::Util.dig([], 1.0) => nil - - OpenAI::Util.dig(Object, 1) => nil - OpenAI::Util.dig([], 1.0, 2) => 2 - OpenAI::Util.dig([], 1.0) { 2 } => 2 + OpenAI::Internal::Util.dig(1, nil) => 1 + OpenAI::Internal::Util.dig({a: 1}, :b) => nil + OpenAI::Internal::Util.dig({a: 1}, :a) => 1 + OpenAI::Internal::Util.dig({a: {b: 1}}, [:a, :b]) => 1 + + OpenAI::Internal::Util.dig([], 1) => nil + OpenAI::Internal::Util.dig([nil, [nil, 1]], [1, 1]) => 1 + OpenAI::Internal::Util.dig({a: [nil, 1]}, [:a, 1]) => 1 + OpenAI::Internal::Util.dig([], 1.0) => nil + + OpenAI::Internal::Util.dig(Object, 1) => nil + OpenAI::Internal::Util.dig([], 1.0, 2) => 2 + OpenAI::Internal::Util.dig([], 1.0) { 2 } => 2 end end end @@ -100,11 +100,11 @@ def test_parsing https://example.com/ https://example.com:443/example?e1=e1&e2=e2&e= ].each do |url| - parsed = OpenAI::Util.parse_uri(url) - unparsed = OpenAI::Util.unparse_uri(parsed).to_s + parsed = OpenAI::Internal::Util.parse_uri(url) + unparsed = OpenAI::Internal::Util.unparse_uri(parsed).to_s assert_equal(url, unparsed) - assert_equal(parsed, OpenAI::Util.parse_uri(unparsed)) + assert_equal(parsed, OpenAI::Internal::Util.parse_uri(unparsed)) end end @@ -113,7 +113,7 @@ def test_joining [ "h://a.b/c?d=e", "h://nope/ignored", - OpenAI::Util.parse_uri("h://a.b/c?d=e") + OpenAI::Internal::Util.parse_uri("h://a.b/c?d=e") ], [ "h://a.b/c?d=e", @@ -129,8 +129,8 @@ def test_joining cases.each do |expect, lhs, rhs| assert_equal( URI.parse(expect), - OpenAI::Util.join_parsed_uri( - OpenAI::Util.parse_uri(lhs), + OpenAI::Internal::Util.join_parsed_uri( + OpenAI::Internal::Util.parse_uri(lhs), rhs ) ) @@ -148,8 +148,8 @@ def test_joining_queries cases.each do |path, expected| assert_equal( URI.parse(expected), - OpenAI::Util.join_parsed_uri( - OpenAI::Util.parse_uri(base_url), + OpenAI::Internal::Util.join_parsed_uri( + OpenAI::Internal::Util.parse_uri(base_url), {path: path} ) ) @@ -162,7 +162,7 @@ class FakeCGI < CGI def initialize(headers, io) @ctype = headers["content-type"] # rubocop:disable Lint/EmptyBlock - @io = OpenAI::Util::ReadIOAdapter.new(io) {} + @io = OpenAI::Internal::Util::ReadIOAdapter.new(io) {} # rubocop:enable Lint/EmptyBlock @c_len = io.to_a.join.bytesize.to_s super() @@ -185,7 +185,7 @@ def test_file_encode StringIO.new("abc") => "abc" } cases.each do |body, val| - encoded = OpenAI::Util.encode_content(headers, body) + encoded = OpenAI::Internal::Util.encode_content(headers, body) cgi = FakeCGI.new(*encoded) assert_pattern do cgi[""] => ^val @@ -202,7 +202,7 @@ def test_hash_encode {file: StringIO.new("a")} => {"file" => "a"} } cases.each do |body, testcase| - encoded = OpenAI::Util.encode_content(headers, body) + encoded = OpenAI::Internal::Util.encode_content(headers, body) cgi = FakeCGI.new(*encoded) testcase.each do |key, val| assert_equal(val, cgi[key]) @@ -220,7 +220,7 @@ def test_copy_read cases.each do |input, expected| io = StringIO.new # rubocop:disable Lint/EmptyBlock - adapter = OpenAI::Util::ReadIOAdapter.new(input) {} + adapter = OpenAI::Internal::Util::ReadIOAdapter.new(input) {} # rubocop:enable Lint/EmptyBlock IO.copy_stream(adapter, io) assert_equal(expected, io.string) @@ -233,7 +233,7 @@ def test_copy_write StringIO.new("abc") => "abc" } cases.each do |input, expected| - enum = OpenAI::Util.writable_enum do |y| + enum = OpenAI::Internal::Util.writable_enum do |y| IO.copy_stream(input, y) end assert_equal(expected, enum.to_a.join) @@ -245,7 +245,7 @@ class OpenAI::Test::UtilFusedEnumTest < Minitest::Test def test_closing arr = [1, 2, 3] once = 0 - fused = OpenAI::Util.fused_enum(arr.to_enum) do + fused = OpenAI::Internal::Util.fused_enum(arr.to_enum) do once = once.succ end @@ -260,7 +260,7 @@ def test_closing def test_rewind_chain once = 0 - fused = OpenAI::Util.fused_enum([1, 2, 3].to_enum) do + fused = OpenAI::Internal::Util.fused_enum([1, 2, 3].to_enum) do once = once.succ end .lazy @@ -277,7 +277,7 @@ def test_rewind_chain def test_external_iteration it = [1, 2, 3].to_enum first = it.next - fused = OpenAI::Util.fused_enum(it, external: true) + fused = OpenAI::Internal::Util.fused_enum(it, external: true) assert_equal(1, first) assert_equal([2, 3], fused.to_a) @@ -285,11 +285,11 @@ def test_external_iteration def test_close_fused once = 0 - fused = OpenAI::Util.fused_enum([1, 2, 3].to_enum) do + fused = OpenAI::Internal::Util.fused_enum([1, 2, 3].to_enum) do once = once.succ end - OpenAI::Util.close_fused!(fused) + OpenAI::Internal::Util.close_fused!(fused) assert_equal(1, once) assert_equal([], fused.to_a) @@ -302,11 +302,11 @@ def test_closed_fused_extern_iteration taken = taken.succ _1 end - fused = OpenAI::Util.fused_enum(enum) + fused = OpenAI::Internal::Util.fused_enum(enum) first = fused.next assert_equal(1, first) - OpenAI::Util.close_fused!(fused) + OpenAI::Internal::Util.close_fused!(fused) assert_equal(1, taken) end @@ -318,10 +318,10 @@ def test_closed_fused_taken_count end .map(&:succ) .filter(&:odd?) - fused = OpenAI::Util.fused_enum(enum) + fused = OpenAI::Internal::Util.fused_enum(enum) assert_equal(0, taken) - OpenAI::Util.close_fused!(fused) + OpenAI::Internal::Util.close_fused!(fused) assert_equal(0, taken) end @@ -337,8 +337,8 @@ def test_closed_fused_extern_iter_taken_count assert_equal(2, first) assert_equal(1, taken) - fused = OpenAI::Util.fused_enum(enum) - OpenAI::Util.close_fused!(fused) + fused = OpenAI::Internal::Util.fused_enum(enum) + OpenAI::Internal::Util.close_fused!(fused) assert_equal(1, taken) end @@ -352,12 +352,12 @@ def test_close_fused_sse_chain .filter(&:odd?) .map(&:to_s) - fused_1 = OpenAI::Util.fused_enum(enum) - fused_2 = OpenAI::Util.decode_lines(fused_1) - fused_3 = OpenAI::Util.decode_sse(fused_2) + fused_1 = OpenAI::Internal::Util.fused_enum(enum) + fused_2 = OpenAI::Internal::Util.decode_lines(fused_1) + fused_3 = OpenAI::Internal::Util.decode_sse(fused_2) assert_equal(0, taken) - OpenAI::Util.close_fused!(fused_3) + OpenAI::Internal::Util.close_fused!(fused_3) assert_equal(0, taken) end end @@ -380,7 +380,7 @@ def test_decode_lines eols = %W[\n \r \r\n] cases.each do |enum, expected| eols.each do |eol| - lines = OpenAI::Util.decode_lines(enum.map { _1.gsub("\n", eol) }) + lines = OpenAI::Internal::Util.decode_lines(enum.map { _1.gsub("\n", eol) }) assert_equal(expected.map { _1.gsub("\n", eol) }, lines.to_a, "eol=#{JSON.generate(eol)}") end end @@ -398,7 +398,7 @@ def test_mixed_decode_lines %W[\n\r] => %W[\n \r] } cases.each do |enum, expected| - lines = OpenAI::Util.decode_lines(enum) + lines = OpenAI::Internal::Util.decode_lines(enum) assert_equal(expected, lines.to_a) end end @@ -521,7 +521,7 @@ def test_decode_sse cases.each do |name, test_cases| test_cases.each do |input, expected| - actual = OpenAI::Util.decode_sse(input).map(&:compact) + actual = OpenAI::Internal::Util.decode_sse(input).map(&:compact) assert_equal(expected, actual, name) end end diff --git a/test/openai/resources/batches_test.rb b/test/openai/resources/batches_test.rb index 59e25d4f..76c25672 100644 --- a/test/openai/resources/batches_test.rb +++ b/test/openai/resources/batches_test.rb @@ -78,7 +78,7 @@ def test_list response = @openai.batches.list assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/beta/assistants_test.rb b/test/openai/resources/beta/assistants_test.rb index f6363319..f618bea7 100644 --- a/test/openai/resources/beta/assistants_test.rb +++ b/test/openai/resources/beta/assistants_test.rb @@ -85,7 +85,7 @@ def test_list response = @openai.beta.assistants.list assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/beta/threads/messages_test.rb b/test/openai/resources/beta/threads/messages_test.rb index bd430759..7a8fdc90 100644 --- a/test/openai/resources/beta/threads/messages_test.rb +++ b/test/openai/resources/beta/threads/messages_test.rb @@ -88,7 +88,7 @@ def test_list response = @openai.beta.threads.messages.list("thread_id") assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/beta/threads/runs/steps_test.rb b/test/openai/resources/beta/threads/runs/steps_test.rb index 97fa3d2b..c05de77f 100644 --- a/test/openai/resources/beta/threads/runs/steps_test.rb +++ b/test/openai/resources/beta/threads/runs/steps_test.rb @@ -36,7 +36,7 @@ def test_list_required_params response = @openai.beta.threads.runs.steps.list("run_id", thread_id: "thread_id") assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/beta/threads/runs_test.rb b/test/openai/resources/beta/threads/runs_test.rb index 919cb65f..1147966b 100644 --- a/test/openai/resources/beta/threads/runs_test.rb +++ b/test/openai/resources/beta/threads/runs_test.rb @@ -127,7 +127,7 @@ def test_list response = @openai.beta.threads.runs.list("thread_id") assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/chat/completions/messages_test.rb b/test/openai/resources/chat/completions/messages_test.rb index e9fac539..1b68a1b0 100644 --- a/test/openai/resources/chat/completions/messages_test.rb +++ b/test/openai/resources/chat/completions/messages_test.rb @@ -7,7 +7,7 @@ def test_list response = @openai.chat.completions.messages.list("completion_id") assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/chat/completions_test.rb b/test/openai/resources/chat/completions_test.rb index f4d9b7f7..00d91a0a 100644 --- a/test/openai/resources/chat/completions_test.rb +++ b/test/openai/resources/chat/completions_test.rb @@ -71,7 +71,7 @@ def test_list response = @openai.chat.completions.list assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/files_test.rb b/test/openai/resources/files_test.rb index 58bcbf2b..c4a14255 100644 --- a/test/openai/resources/files_test.rb +++ b/test/openai/resources/files_test.rb @@ -51,7 +51,7 @@ def test_list response = @openai.files.list assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/fine_tuning/jobs/checkpoints_test.rb b/test/openai/resources/fine_tuning/jobs/checkpoints_test.rb index feb9c651..08154e71 100644 --- a/test/openai/resources/fine_tuning/jobs/checkpoints_test.rb +++ b/test/openai/resources/fine_tuning/jobs/checkpoints_test.rb @@ -7,7 +7,7 @@ def test_list response = @openai.fine_tuning.jobs.checkpoints.list("ft-AF1WoRqd3aJAHsqc9NY7iL8F") assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/fine_tuning/jobs_test.rb b/test/openai/resources/fine_tuning/jobs_test.rb index 7df07711..a953af3d 100644 --- a/test/openai/resources/fine_tuning/jobs_test.rb +++ b/test/openai/resources/fine_tuning/jobs_test.rb @@ -71,7 +71,7 @@ def test_list response = @openai.fine_tuning.jobs.list assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first @@ -142,7 +142,7 @@ def test_list_events response = @openai.fine_tuning.jobs.list_events("ft-AF1WoRqd3aJAHsqc9NY7iL8F") assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/models_test.rb b/test/openai/resources/models_test.rb index 33384138..6316652e 100644 --- a/test/openai/resources/models_test.rb +++ b/test/openai/resources/models_test.rb @@ -24,7 +24,7 @@ def test_list response = @openai.models.list assert_pattern do - response => OpenAI::Page + response => OpenAI::Internal::Page end row = response.to_enum.first diff --git a/test/openai/resources/responses/input_items_test.rb b/test/openai/resources/responses/input_items_test.rb index 1250f3bd..59a1cc5e 100644 --- a/test/openai/resources/responses/input_items_test.rb +++ b/test/openai/resources/responses/input_items_test.rb @@ -7,7 +7,7 @@ def test_list response = @openai.responses.input_items.list("response_id") assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/vector_stores/file_batches_test.rb b/test/openai/resources/vector_stores/file_batches_test.rb index f4bcecf5..538469fe 100644 --- a/test/openai/resources/vector_stores/file_batches_test.rb +++ b/test/openai/resources/vector_stores/file_batches_test.rb @@ -64,7 +64,7 @@ def test_list_files_required_params response = @openai.vector_stores.file_batches.list_files("batch_id", vector_store_id: "vector_store_id") assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first diff --git a/test/openai/resources/vector_stores/files_test.rb b/test/openai/resources/vector_stores/files_test.rb index 2b789caa..5d806b95 100644 --- a/test/openai/resources/vector_stores/files_test.rb +++ b/test/openai/resources/vector_stores/files_test.rb @@ -78,7 +78,7 @@ def test_list response = @openai.vector_stores.files.list("vector_store_id") assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first @@ -123,7 +123,7 @@ def test_content_required_params response = @openai.vector_stores.files.content("file-abc123", vector_store_id: "vs_abc123") assert_pattern do - response => OpenAI::Page + response => OpenAI::Internal::Page end row = response.to_enum.first diff --git a/test/openai/resources/vector_stores_test.rb b/test/openai/resources/vector_stores_test.rb index c7ae05cb..c12e8413 100644 --- a/test/openai/resources/vector_stores_test.rb +++ b/test/openai/resources/vector_stores_test.rb @@ -79,7 +79,7 @@ def test_list response = @openai.vector_stores.list assert_pattern do - response => OpenAI::CursorPage + response => OpenAI::Internal::CursorPage end row = response.to_enum.first @@ -126,7 +126,7 @@ def test_search_required_params response = @openai.vector_stores.search("vs_abc123", query: "string") assert_pattern do - response => OpenAI::Page + response => OpenAI::Internal::Page end row = response.to_enum.first