openai 0.78.0 → 0.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +80 -0
- data/README.md +241 -8
- data/SECURITY.md +6 -22
- data/azure.md +110 -0
- data/bedrock.md +132 -0
- data/examples/mtls_custom_http_client.rb +61 -0
- data/lib/openai/auth/workload_identity.rb +13 -2
- data/lib/openai/auth/workload_identity_auth.rb +2 -1
- data/lib/openai/client.rb +29 -6
- data/lib/openai/errors.rb +11 -1
- data/lib/openai/helpers/streaming/chat_completion_stream.rb +3 -3
- data/lib/openai/helpers/streaming/response_stream.rb +5 -6
- data/lib/openai/helpers/structured_output/base_model.rb +20 -19
- data/lib/openai/helpers/structured_output/json_schema_converter.rb +12 -5
- data/lib/openai/http_client.rb +99 -7
- data/lib/openai/internal/conversation_cursor_page.rb +5 -6
- data/lib/openai/internal/cursor_page.rb +3 -3
- data/lib/openai/internal/logging.rb +419 -0
- data/lib/openai/internal/next_cursor_page.rb +5 -6
- data/lib/openai/internal/page.rb +2 -2
- data/lib/openai/internal/provider.rb +7 -1
- data/lib/openai/internal/read_io_adapter.rb +42 -18
- data/lib/openai/internal/stream.rb +2 -2
- data/lib/openai/internal/transport/base_client.rb +137 -37
- data/lib/openai/internal/type/array_of.rb +6 -4
- data/lib/openai/internal/type/base_model.rb +39 -1
- data/lib/openai/internal/type/base_page.rb +19 -2
- data/lib/openai/internal/type/base_stream.rb +39 -7
- data/lib/openai/internal/type/hash_of.rb +3 -3
- data/lib/openai/internal/util.rb +52 -27
- data/lib/openai/models/admin/organization/audit_log_list_params.rb +3 -1
- data/lib/openai/models/admin/organization/audit_log_list_response.rb +33 -11
- data/lib/openai/models/admin/organization/groups/role_list_response.rb +5 -1
- data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +5 -1
- data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +6 -1
- data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +6 -1
- data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +3 -1
- data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +6 -1
- data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +6 -1
- data/lib/openai/models/admin/organization/users/role_list_response.rb +5 -1
- data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +5 -1
- data/lib/openai/models/all_models.rb +3 -0
- data/lib/openai/models/audio/transcription_create_params.rb +7 -1
- data/lib/openai/models/audio/translation_create_params.rb +7 -1
- data/lib/openai/models/beta/beta_response.rb +9 -0
- data/lib/openai/models/beta/beta_response_stream_event.rb +1 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +28 -3
- data/lib/openai/models/beta/beta_responses_server_event.rb +1037 -61
- data/lib/openai/models/beta/response_compact_params.rb +9 -0
- data/lib/openai/models/beta/response_create_params.rb +9 -0
- data/lib/openai/models/containers/file_create_params.rb +4 -0
- data/lib/openai/models/content_provenance_check_create_params.rb +4 -0
- data/lib/openai/models/file_create_params.rb +4 -0
- data/lib/openai/models/image_create_variation_params.rb +4 -0
- data/lib/openai/models/image_edit_params.rb +8 -0
- data/lib/openai/models/responses/response_compact_params.rb +9 -0
- data/lib/openai/models/responses/response_stream_event.rb +1 -1
- data/lib/openai/models/responses/responses_client_event.rb +13 -1
- data/lib/openai/models/responses/responses_server_event.rb +1027 -54
- data/lib/openai/models/responses_model.rb +3 -0
- data/lib/openai/models/skill_create_params.rb +4 -0
- data/lib/openai/models/skills/version_create_params.rb +4 -0
- data/lib/openai/models/uploads/part_create_params.rb +4 -0
- data/lib/openai/models/vector_store_search_response.rb +3 -1
- data/lib/openai/models/video_create_character_params.rb +4 -0
- data/lib/openai/models/video_create_params.rb +4 -0
- data/lib/openai/models/video_edit_params.rb +4 -0
- data/lib/openai/models/video_extend_params.rb +4 -0
- data/lib/openai/models.rb +9 -1
- data/lib/openai/net_http_client.rb +20 -6
- data/lib/openai/providers/azure.rb +216 -0
- data/lib/openai/providers/bedrock.rb +3 -1
- data/lib/openai/resources/admin/organization/projects/groups/roles.rb +1 -1
- data/lib/openai/resources/admin/organization/projects/groups.rb +1 -1
- data/lib/openai/resources/admin/organization/projects/users/roles.rb +1 -1
- data/lib/openai/resources/admin/organization/projects.rb +4 -2
- data/lib/openai/resources/audio/transcriptions.rb +8 -0
- data/lib/openai/resources/audio/translations.rb +4 -0
- data/lib/openai/resources/beta/responses.rb +1 -1
- data/lib/openai/resources/beta/threads/runs/steps.rb +2 -2
- data/lib/openai/resources/containers/files.rb +4 -0
- data/lib/openai/resources/content_provenance_checks.rb +4 -0
- data/lib/openai/resources/conversations/items.rb +1 -1
- data/lib/openai/resources/evals/runs/output_items.rb +1 -1
- data/lib/openai/resources/files.rb +4 -0
- data/lib/openai/resources/images.rb +12 -0
- data/lib/openai/resources/responses.rb +3 -2
- data/lib/openai/resources/skills/versions.rb +4 -0
- data/lib/openai/resources/skills.rb +4 -0
- data/lib/openai/resources/uploads/parts.rb +4 -0
- data/lib/openai/resources/vector_stores/file_batches.rb +1 -1
- data/lib/openai/resources/videos.rb +38 -0
- data/lib/openai/resources/webhooks.rb +18 -6
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +111 -107
- data/rbi/openai/auth.rbi +4 -4
- data/rbi/openai/client.rbi +13 -3
- data/rbi/openai/errors.rbi +7 -0
- data/rbi/openai/helpers/streaming/events.rbi +12 -0
- data/rbi/openai/http_client.rbi +62 -2
- data/rbi/openai/internal/logging.rbi +192 -0
- data/rbi/openai/internal/provider.rbi +3 -0
- data/rbi/openai/internal/read_io_adapter.rbi +6 -1
- data/rbi/openai/internal/transport/base_client.rbi +61 -7
- data/rbi/openai/internal/type/base_model.rbi +24 -1
- data/rbi/openai/internal/type/base_page.rbi +13 -2
- data/rbi/openai/internal/type/base_stream.rbi +15 -4
- data/rbi/openai/internal/util.rbi +26 -2
- data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +5 -0
- data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +5 -0
- data/rbi/openai/models/all_models.rbi +15 -0
- data/rbi/openai/models/audio/transcription_create_params.rbi +14 -2
- data/rbi/openai/models/audio/translation_create_params.rbi +14 -2
- data/rbi/openai/models/beta/beta_response.rbi +15 -0
- data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -1
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +37 -1
- data/rbi/openai/models/beta/beta_responses_server_event.rbi +3791 -54
- data/rbi/openai/models/beta/response_compact_params.rbi +15 -0
- data/rbi/openai/models/beta/response_create_params.rbi +15 -0
- data/rbi/openai/models/containers/file_create_params.rbi +8 -0
- data/rbi/openai/models/content_provenance_check_create_params.rbi +8 -0
- data/rbi/openai/models/file_create_params.rbi +8 -0
- data/rbi/openai/models/image_create_variation_params.rbi +8 -0
- data/rbi/openai/models/image_edit_params.rbi +16 -0
- data/rbi/openai/models/responses/response_compact_params.rbi +15 -0
- data/rbi/openai/models/responses/response_stream_event.rbi +1 -1
- data/rbi/openai/models/responses/responses_client_event.rbi +19 -0
- data/rbi/openai/models/responses/responses_server_event.rbi +3282 -53
- data/rbi/openai/models/responses_model.rbi +15 -0
- data/rbi/openai/models/skill_create_params.rbi +8 -0
- data/rbi/openai/models/skills/version_create_params.rbi +8 -0
- data/rbi/openai/models/uploads/part_create_params.rbi +8 -0
- data/rbi/openai/models/video_create_character_params.rbi +8 -0
- data/rbi/openai/models/video_create_params.rbi +8 -0
- data/rbi/openai/models/video_edit_params.rbi +8 -0
- data/rbi/openai/models/video_extend_params.rbi +8 -0
- data/rbi/openai/net_http_client.rbi +2 -2
- data/rbi/openai/providers.rbi +9 -0
- data/rbi/openai/resources/audio/transcriptions.rbi +14 -2
- data/rbi/openai/resources/audio/translations.rbi +7 -1
- data/rbi/openai/resources/containers/files.rbi +4 -0
- data/rbi/openai/resources/content_provenance_checks.rbi +4 -0
- data/rbi/openai/resources/files.rbi +4 -0
- data/rbi/openai/resources/images.rbi +20 -0
- data/rbi/openai/resources/skills/versions.rbi +4 -0
- data/rbi/openai/resources/skills.rbi +4 -0
- data/rbi/openai/resources/uploads/parts.rbi +4 -0
- data/rbi/openai/resources/videos.rbi +16 -0
- data/sig/openai/client.rbs +6 -2
- data/sig/openai/errors.rbs +5 -0
- data/sig/openai/http_client.rbs +37 -2
- data/sig/openai/internal/logging.rbs +88 -0
- data/sig/openai/internal/provider.rbs +3 -1
- data/sig/openai/internal/read_io_adapter.rbs +3 -1
- data/sig/openai/internal/transport/base_client.rbs +33 -5
- data/sig/openai/internal/type/base_model.rbs +13 -0
- data/sig/openai/internal/type/base_page.rbs +8 -1
- data/sig/openai/internal/type/base_stream.rbs +8 -2
- data/sig/openai/internal/util.rbs +12 -0
- data/sig/openai/models/admin/organization/audit_log_list_params.rbs +2 -0
- data/sig/openai/models/admin/organization/audit_log_list_response.rbs +2 -0
- data/sig/openai/models/all_models.rbs +6 -0
- data/sig/openai/models/beta/beta_response.rbs +6 -0
- data/sig/openai/models/beta/beta_responses_client_event.rbs +13 -0
- data/sig/openai/models/beta/beta_responses_server_event.rbs +1946 -54
- data/sig/openai/models/beta/response_compact_params.rbs +6 -0
- data/sig/openai/models/beta/response_create_params.rbs +6 -0
- data/sig/openai/models/responses/response_compact_params.rbs +6 -0
- data/sig/openai/models/responses/responses_client_event.rbs +7 -0
- data/sig/openai/models/responses/responses_server_event.rbs +1786 -53
- data/sig/openai/models/responses_model.rbs +6 -0
- data/sig/openai/net_http_client.rbs +2 -2
- data/sig/openai/providers.rbs +6 -0
- metadata +24 -1
data/lib/openai.rb
CHANGED
|
@@ -18,9 +18,12 @@ require "time"
|
|
|
18
18
|
require "uri"
|
|
19
19
|
# We already ship the preferred sorbet manifests in the package itself.
|
|
20
20
|
# `tapioca` currently does not offer us a way to opt out of unnecessary compilation.
|
|
21
|
+
# Thor removes the selected subcommand from `ARGV` before loading an application,
|
|
22
|
+
# so the DSL loader is the reliable fallback for detecting `tapioca dsl`.
|
|
23
|
+
tapioca_dsl = ARGV.any?(/dsl/) || caller.any?(%r{tapioca[\\/]loaders[\\/]dsl})
|
|
21
24
|
if Object.const_defined?(:Tapioca) &&
|
|
22
25
|
caller.chain([$PROGRAM_NAME]).chain(ARGV).any?(/tapioca/) &&
|
|
23
|
-
|
|
26
|
+
!tapioca_dsl
|
|
24
27
|
return
|
|
25
28
|
end
|
|
26
29
|
|
|
@@ -57,6 +60,7 @@ require_relative "openai/http_client"
|
|
|
57
60
|
require_relative "openai/net_http_client"
|
|
58
61
|
require_relative "openai/provider"
|
|
59
62
|
require_relative "openai/internal/provider"
|
|
63
|
+
require_relative "openai/providers/azure"
|
|
60
64
|
require_relative "openai/providers/bedrock"
|
|
61
65
|
require_relative "openai/internal/transport/base_client"
|
|
62
66
|
require_relative "openai/client"
|
|
@@ -78,6 +82,59 @@ require_relative "openai/structured_output"
|
|
|
78
82
|
require_relative "openai/models/beta/beta_response_custom_tool_call"
|
|
79
83
|
require_relative "openai/models/beta/beta_response_custom_tool_call_output"
|
|
80
84
|
require_relative "openai/models/beta/beta_response_function_tool_call"
|
|
85
|
+
require_relative "openai/models/beta/beta_response_custom_tool_call_input_done_event"
|
|
86
|
+
require_relative "openai/models/beta/beta_response_custom_tool_call_input_delta_event"
|
|
87
|
+
require_relative "openai/models/beta/beta_response_queued_event"
|
|
88
|
+
require_relative "openai/models/beta/beta_response_output_text_annotation_added_event"
|
|
89
|
+
require_relative "openai/models/beta/beta_response_mcp_list_tools_in_progress_event"
|
|
90
|
+
require_relative "openai/models/beta/beta_response_mcp_list_tools_failed_event"
|
|
91
|
+
require_relative "openai/models/beta/beta_response_mcp_list_tools_completed_event"
|
|
92
|
+
require_relative "openai/models/beta/beta_response_mcp_call_in_progress_event"
|
|
93
|
+
require_relative "openai/models/beta/beta_response_mcp_call_failed_event"
|
|
94
|
+
require_relative "openai/models/beta/beta_response_mcp_call_completed_event"
|
|
95
|
+
require_relative "openai/models/beta/beta_response_mcp_call_arguments_done_event"
|
|
96
|
+
require_relative "openai/models/beta/beta_response_mcp_call_arguments_delta_event"
|
|
97
|
+
require_relative "openai/models/beta/beta_response_image_gen_call_partial_image_event"
|
|
98
|
+
require_relative "openai/models/beta/beta_response_image_gen_call_in_progress_event"
|
|
99
|
+
require_relative "openai/models/beta/beta_response_image_gen_call_generating_event"
|
|
100
|
+
require_relative "openai/models/beta/beta_response_image_gen_call_completed_event"
|
|
101
|
+
require_relative "openai/models/beta/beta_response_web_search_call_searching_event"
|
|
102
|
+
require_relative "openai/models/beta/beta_response_web_search_call_in_progress_event"
|
|
103
|
+
require_relative "openai/models/beta/beta_response_web_search_call_completed_event"
|
|
104
|
+
require_relative "openai/models/beta/beta_response_text_done_event"
|
|
105
|
+
require_relative "openai/models/beta/beta_response_text_delta_event"
|
|
106
|
+
require_relative "openai/models/beta/beta_response_refusal_done_event"
|
|
107
|
+
require_relative "openai/models/beta/beta_response_refusal_delta_event"
|
|
108
|
+
require_relative "openai/models/beta/beta_response_reasoning_text_done_event"
|
|
109
|
+
require_relative "openai/models/beta/beta_response_reasoning_text_delta_event"
|
|
110
|
+
require_relative "openai/models/beta/beta_response_reasoning_summary_text_done_event"
|
|
111
|
+
require_relative "openai/models/beta/beta_response_reasoning_summary_text_delta_event"
|
|
112
|
+
require_relative "openai/models/beta/beta_response_reasoning_summary_part_done_event"
|
|
113
|
+
require_relative "openai/models/beta/beta_response_reasoning_summary_part_added_event"
|
|
114
|
+
require_relative "openai/models/beta/beta_response_output_item_done_event"
|
|
115
|
+
require_relative "openai/models/beta/beta_response_output_item_added_event"
|
|
116
|
+
require_relative "openai/models/beta/beta_response_incomplete_event"
|
|
117
|
+
require_relative "openai/models/beta/beta_response_failed_event"
|
|
118
|
+
require_relative "openai/models/beta/beta_response_in_progress_event"
|
|
119
|
+
require_relative "openai/models/beta/beta_response_function_call_arguments_done_event"
|
|
120
|
+
require_relative "openai/models/beta/beta_response_function_call_arguments_delta_event"
|
|
121
|
+
require_relative "openai/models/beta/beta_response_file_search_call_searching_event"
|
|
122
|
+
require_relative "openai/models/beta/beta_response_file_search_call_in_progress_event"
|
|
123
|
+
require_relative "openai/models/beta/beta_response_file_search_call_completed_event"
|
|
124
|
+
require_relative "openai/models/beta/beta_response_error_event"
|
|
125
|
+
require_relative "openai/models/beta/beta_response_created_event"
|
|
126
|
+
require_relative "openai/models/beta/beta_response_content_part_done_event"
|
|
127
|
+
require_relative "openai/models/beta/beta_response_content_part_added_event"
|
|
128
|
+
require_relative "openai/models/beta/beta_response_completed_event"
|
|
129
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_interpreting_event"
|
|
130
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_in_progress_event"
|
|
131
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_completed_event"
|
|
132
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_code_done_event"
|
|
133
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_code_delta_event"
|
|
134
|
+
require_relative "openai/models/beta/beta_response_audio_transcript_done_event"
|
|
135
|
+
require_relative "openai/models/beta/beta_response_audio_transcript_delta_event"
|
|
136
|
+
require_relative "openai/models/beta/beta_response_audio_done_event"
|
|
137
|
+
require_relative "openai/models/beta/beta_response_audio_delta_event"
|
|
81
138
|
require_relative "openai/models/reasoning_effort"
|
|
82
139
|
require_relative "openai/models/chat/chat_completion_message"
|
|
83
140
|
require_relative "openai/models/responses/response_input_file"
|
|
@@ -93,6 +150,59 @@ require_relative "openai/models/realtime/realtime_session_create_request"
|
|
|
93
150
|
require_relative "openai/models/responses/response_custom_tool_call"
|
|
94
151
|
require_relative "openai/models/responses/response_custom_tool_call_output"
|
|
95
152
|
require_relative "openai/models/responses/response_function_tool_call"
|
|
153
|
+
require_relative "openai/models/responses/response_custom_tool_call_input_done_event"
|
|
154
|
+
require_relative "openai/models/responses/response_custom_tool_call_input_delta_event"
|
|
155
|
+
require_relative "openai/models/responses/response_queued_event"
|
|
156
|
+
require_relative "openai/models/responses/response_output_text_annotation_added_event"
|
|
157
|
+
require_relative "openai/models/responses/response_mcp_list_tools_in_progress_event"
|
|
158
|
+
require_relative "openai/models/responses/response_mcp_list_tools_failed_event"
|
|
159
|
+
require_relative "openai/models/responses/response_mcp_list_tools_completed_event"
|
|
160
|
+
require_relative "openai/models/responses/response_mcp_call_in_progress_event"
|
|
161
|
+
require_relative "openai/models/responses/response_mcp_call_failed_event"
|
|
162
|
+
require_relative "openai/models/responses/response_mcp_call_completed_event"
|
|
163
|
+
require_relative "openai/models/responses/response_mcp_call_arguments_done_event"
|
|
164
|
+
require_relative "openai/models/responses/response_mcp_call_arguments_delta_event"
|
|
165
|
+
require_relative "openai/models/responses/response_image_gen_call_partial_image_event"
|
|
166
|
+
require_relative "openai/models/responses/response_image_gen_call_in_progress_event"
|
|
167
|
+
require_relative "openai/models/responses/response_image_gen_call_generating_event"
|
|
168
|
+
require_relative "openai/models/responses/response_image_gen_call_completed_event"
|
|
169
|
+
require_relative "openai/models/responses/response_web_search_call_searching_event"
|
|
170
|
+
require_relative "openai/models/responses/response_web_search_call_in_progress_event"
|
|
171
|
+
require_relative "openai/models/responses/response_web_search_call_completed_event"
|
|
172
|
+
require_relative "openai/models/responses/response_text_done_event"
|
|
173
|
+
require_relative "openai/models/responses/response_text_delta_event"
|
|
174
|
+
require_relative "openai/models/responses/response_refusal_done_event"
|
|
175
|
+
require_relative "openai/models/responses/response_refusal_delta_event"
|
|
176
|
+
require_relative "openai/models/responses/response_reasoning_text_done_event"
|
|
177
|
+
require_relative "openai/models/responses/response_reasoning_text_delta_event"
|
|
178
|
+
require_relative "openai/models/responses/response_reasoning_summary_text_done_event"
|
|
179
|
+
require_relative "openai/models/responses/response_reasoning_summary_text_delta_event"
|
|
180
|
+
require_relative "openai/models/responses/response_reasoning_summary_part_done_event"
|
|
181
|
+
require_relative "openai/models/responses/response_reasoning_summary_part_added_event"
|
|
182
|
+
require_relative "openai/models/responses/response_output_item_done_event"
|
|
183
|
+
require_relative "openai/models/responses/response_output_item_added_event"
|
|
184
|
+
require_relative "openai/models/responses/response_incomplete_event"
|
|
185
|
+
require_relative "openai/models/responses/response_failed_event"
|
|
186
|
+
require_relative "openai/models/responses/response_in_progress_event"
|
|
187
|
+
require_relative "openai/models/responses/response_function_call_arguments_done_event"
|
|
188
|
+
require_relative "openai/models/responses/response_function_call_arguments_delta_event"
|
|
189
|
+
require_relative "openai/models/responses/response_file_search_call_searching_event"
|
|
190
|
+
require_relative "openai/models/responses/response_file_search_call_in_progress_event"
|
|
191
|
+
require_relative "openai/models/responses/response_file_search_call_completed_event"
|
|
192
|
+
require_relative "openai/models/responses/response_error_event"
|
|
193
|
+
require_relative "openai/models/responses/response_created_event"
|
|
194
|
+
require_relative "openai/models/responses/response_content_part_done_event"
|
|
195
|
+
require_relative "openai/models/responses/response_content_part_added_event"
|
|
196
|
+
require_relative "openai/models/responses/response_completed_event"
|
|
197
|
+
require_relative "openai/models/responses/response_code_interpreter_call_interpreting_event"
|
|
198
|
+
require_relative "openai/models/responses/response_code_interpreter_call_in_progress_event"
|
|
199
|
+
require_relative "openai/models/responses/response_code_interpreter_call_completed_event"
|
|
200
|
+
require_relative "openai/models/responses/response_code_interpreter_call_code_done_event"
|
|
201
|
+
require_relative "openai/models/responses/response_code_interpreter_call_code_delta_event"
|
|
202
|
+
require_relative "openai/models/responses/response_audio_transcript_done_event"
|
|
203
|
+
require_relative "openai/models/responses/response_audio_transcript_delta_event"
|
|
204
|
+
require_relative "openai/models/responses/response_audio_done_event"
|
|
205
|
+
require_relative "openai/models/responses/response_audio_delta_event"
|
|
96
206
|
require_relative "openai/models/admin/organization/admin_api_key_create_params"
|
|
97
207
|
require_relative "openai/models/admin/organization/admin_api_key_create_response"
|
|
98
208
|
require_relative "openai/models/admin/organization/admin_api_key_delete_params"
|
|
@@ -358,43 +468,21 @@ require_relative "openai/models/beta/beta_namespace_tool"
|
|
|
358
468
|
require_relative "openai/models/beta/beta_response"
|
|
359
469
|
require_relative "openai/models/beta/beta_response_apply_patch_tool_call"
|
|
360
470
|
require_relative "openai/models/beta/beta_response_apply_patch_tool_call_output"
|
|
361
|
-
require_relative "openai/models/beta/beta_response_audio_delta_event"
|
|
362
|
-
require_relative "openai/models/beta/beta_response_audio_done_event"
|
|
363
|
-
require_relative "openai/models/beta/beta_response_audio_transcript_delta_event"
|
|
364
|
-
require_relative "openai/models/beta/beta_response_audio_transcript_done_event"
|
|
365
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_code_delta_event"
|
|
366
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_code_done_event"
|
|
367
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_completed_event"
|
|
368
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_in_progress_event"
|
|
369
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_interpreting_event"
|
|
370
471
|
require_relative "openai/models/beta/beta_response_code_interpreter_tool_call"
|
|
371
472
|
require_relative "openai/models/beta/beta_response_compaction_item"
|
|
372
473
|
require_relative "openai/models/beta/beta_response_compaction_item_param"
|
|
373
|
-
require_relative "openai/models/beta/beta_response_completed_event"
|
|
374
474
|
require_relative "openai/models/beta/beta_response_computer_tool_call"
|
|
375
475
|
require_relative "openai/models/beta/beta_response_computer_tool_call_output_item"
|
|
376
476
|
require_relative "openai/models/beta/beta_response_computer_tool_call_output_screenshot"
|
|
377
477
|
require_relative "openai/models/beta/beta_response_container_reference"
|
|
378
478
|
require_relative "openai/models/beta/beta_response_content"
|
|
379
|
-
require_relative "openai/models/beta/beta_response_content_part_added_event"
|
|
380
|
-
require_relative "openai/models/beta/beta_response_content_part_done_event"
|
|
381
479
|
require_relative "openai/models/beta/beta_response_conversation_param"
|
|
382
|
-
require_relative "openai/models/beta/beta_response_created_event"
|
|
383
|
-
require_relative "openai/models/beta/beta_response_custom_tool_call_input_delta_event"
|
|
384
|
-
require_relative "openai/models/beta/beta_response_custom_tool_call_input_done_event"
|
|
385
480
|
require_relative "openai/models/beta/beta_response_custom_tool_call_item"
|
|
386
481
|
require_relative "openai/models/beta/beta_response_custom_tool_call_output_item"
|
|
387
482
|
require_relative "openai/models/beta/beta_response_error"
|
|
388
|
-
require_relative "openai/models/beta/beta_response_error_event"
|
|
389
|
-
require_relative "openai/models/beta/beta_response_failed_event"
|
|
390
|
-
require_relative "openai/models/beta/beta_response_file_search_call_completed_event"
|
|
391
|
-
require_relative "openai/models/beta/beta_response_file_search_call_in_progress_event"
|
|
392
|
-
require_relative "openai/models/beta/beta_response_file_search_call_searching_event"
|
|
393
483
|
require_relative "openai/models/beta/beta_response_file_search_tool_call"
|
|
394
484
|
require_relative "openai/models/beta/beta_response_format_text_config"
|
|
395
485
|
require_relative "openai/models/beta/beta_response_format_text_json_schema_config"
|
|
396
|
-
require_relative "openai/models/beta/beta_response_function_call_arguments_delta_event"
|
|
397
|
-
require_relative "openai/models/beta/beta_response_function_call_arguments_done_event"
|
|
398
486
|
require_relative "openai/models/beta/beta_response_function_call_output_item"
|
|
399
487
|
require_relative "openai/models/beta/beta_response_function_call_output_item_list"
|
|
400
488
|
require_relative "openai/models/beta/beta_response_function_shell_call_output_content"
|
|
@@ -403,16 +491,10 @@ require_relative "openai/models/beta/beta_response_function_shell_tool_call_outp
|
|
|
403
491
|
require_relative "openai/models/beta/beta_response_function_tool_call_item"
|
|
404
492
|
require_relative "openai/models/beta/beta_response_function_tool_call_output_item"
|
|
405
493
|
require_relative "openai/models/beta/beta_response_function_web_search"
|
|
406
|
-
require_relative "openai/models/beta/beta_response_image_gen_call_completed_event"
|
|
407
|
-
require_relative "openai/models/beta/beta_response_image_gen_call_generating_event"
|
|
408
|
-
require_relative "openai/models/beta/beta_response_image_gen_call_in_progress_event"
|
|
409
|
-
require_relative "openai/models/beta/beta_response_image_gen_call_partial_image_event"
|
|
410
494
|
require_relative "openai/models/beta/beta_response_includable"
|
|
411
|
-
require_relative "openai/models/beta/beta_response_incomplete_event"
|
|
412
495
|
require_relative "openai/models/beta/beta_response_inject_created_event"
|
|
413
496
|
require_relative "openai/models/beta/beta_response_inject_event"
|
|
414
497
|
require_relative "openai/models/beta/beta_response_inject_failed_event"
|
|
415
|
-
require_relative "openai/models/beta/beta_response_in_progress_event"
|
|
416
498
|
require_relative "openai/models/beta/beta_response_input"
|
|
417
499
|
require_relative "openai/models/beta/beta_response_input_audio"
|
|
418
500
|
require_relative "openai/models/beta/beta_response_input_content"
|
|
@@ -427,47 +509,22 @@ require_relative "openai/models/beta/beta_response_input_text"
|
|
|
427
509
|
require_relative "openai/models/beta/beta_response_input_text_content"
|
|
428
510
|
require_relative "openai/models/beta/beta_response_item"
|
|
429
511
|
require_relative "openai/models/beta/beta_response_local_environment"
|
|
430
|
-
require_relative "openai/models/beta/beta_response_mcp_call_arguments_delta_event"
|
|
431
|
-
require_relative "openai/models/beta/beta_response_mcp_call_arguments_done_event"
|
|
432
|
-
require_relative "openai/models/beta/beta_response_mcp_call_completed_event"
|
|
433
|
-
require_relative "openai/models/beta/beta_response_mcp_call_failed_event"
|
|
434
|
-
require_relative "openai/models/beta/beta_response_mcp_call_in_progress_event"
|
|
435
|
-
require_relative "openai/models/beta/beta_response_mcp_list_tools_completed_event"
|
|
436
|
-
require_relative "openai/models/beta/beta_response_mcp_list_tools_failed_event"
|
|
437
|
-
require_relative "openai/models/beta/beta_response_mcp_list_tools_in_progress_event"
|
|
438
512
|
require_relative "openai/models/beta/beta_response_output_audio"
|
|
439
513
|
require_relative "openai/models/beta/beta_response_output_item"
|
|
440
|
-
require_relative "openai/models/beta/beta_response_output_item_added_event"
|
|
441
|
-
require_relative "openai/models/beta/beta_response_output_item_done_event"
|
|
442
514
|
require_relative "openai/models/beta/beta_response_output_message"
|
|
443
515
|
require_relative "openai/models/beta/beta_response_output_refusal"
|
|
444
516
|
require_relative "openai/models/beta/beta_response_output_text"
|
|
445
|
-
require_relative "openai/models/beta/beta_response_output_text_annotation_added_event"
|
|
446
517
|
require_relative "openai/models/beta/beta_response_prompt"
|
|
447
|
-
require_relative "openai/models/beta/beta_response_queued_event"
|
|
448
518
|
require_relative "openai/models/beta/beta_response_reasoning_item"
|
|
449
|
-
require_relative "openai/models/beta/beta_response_reasoning_summary_part_added_event"
|
|
450
|
-
require_relative "openai/models/beta/beta_response_reasoning_summary_part_done_event"
|
|
451
|
-
require_relative "openai/models/beta/beta_response_reasoning_summary_text_delta_event"
|
|
452
|
-
require_relative "openai/models/beta/beta_response_reasoning_summary_text_done_event"
|
|
453
|
-
require_relative "openai/models/beta/beta_response_reasoning_text_delta_event"
|
|
454
|
-
require_relative "openai/models/beta/beta_response_reasoning_text_done_event"
|
|
455
|
-
require_relative "openai/models/beta/beta_response_refusal_delta_event"
|
|
456
|
-
require_relative "openai/models/beta/beta_response_refusal_done_event"
|
|
457
519
|
require_relative "openai/models/beta/beta_responses_client_event"
|
|
458
520
|
require_relative "openai/models/beta/beta_responses_server_event"
|
|
459
521
|
require_relative "openai/models/beta/beta_response_status"
|
|
460
522
|
require_relative "openai/models/beta/beta_response_stream_event"
|
|
461
523
|
require_relative "openai/models/beta/beta_response_text_config"
|
|
462
|
-
require_relative "openai/models/beta/beta_response_text_delta_event"
|
|
463
|
-
require_relative "openai/models/beta/beta_response_text_done_event"
|
|
464
524
|
require_relative "openai/models/beta/beta_response_tool_search_call"
|
|
465
525
|
require_relative "openai/models/beta/beta_response_tool_search_output_item"
|
|
466
526
|
require_relative "openai/models/beta/beta_response_tool_search_output_item_param"
|
|
467
527
|
require_relative "openai/models/beta/beta_response_usage"
|
|
468
|
-
require_relative "openai/models/beta/beta_response_web_search_call_completed_event"
|
|
469
|
-
require_relative "openai/models/beta/beta_response_web_search_call_in_progress_event"
|
|
470
|
-
require_relative "openai/models/beta/beta_response_web_search_call_searching_event"
|
|
471
528
|
require_relative "openai/models/beta/beta_skill_reference"
|
|
472
529
|
require_relative "openai/models/beta/beta_tool"
|
|
473
530
|
require_relative "openai/models/beta/beta_tool_choice_allowed"
|
|
@@ -954,47 +1011,25 @@ require_relative "openai/models/responses/namespace_tool"
|
|
|
954
1011
|
require_relative "openai/models/responses/response"
|
|
955
1012
|
require_relative "openai/models/responses/response_apply_patch_tool_call"
|
|
956
1013
|
require_relative "openai/models/responses/response_apply_patch_tool_call_output"
|
|
957
|
-
require_relative "openai/models/responses/response_audio_delta_event"
|
|
958
|
-
require_relative "openai/models/responses/response_audio_done_event"
|
|
959
|
-
require_relative "openai/models/responses/response_audio_transcript_delta_event"
|
|
960
|
-
require_relative "openai/models/responses/response_audio_transcript_done_event"
|
|
961
1014
|
require_relative "openai/models/responses/response_cancel_params"
|
|
962
|
-
require_relative "openai/models/responses/response_code_interpreter_call_code_delta_event"
|
|
963
|
-
require_relative "openai/models/responses/response_code_interpreter_call_code_done_event"
|
|
964
|
-
require_relative "openai/models/responses/response_code_interpreter_call_completed_event"
|
|
965
|
-
require_relative "openai/models/responses/response_code_interpreter_call_in_progress_event"
|
|
966
|
-
require_relative "openai/models/responses/response_code_interpreter_call_interpreting_event"
|
|
967
1015
|
require_relative "openai/models/responses/response_code_interpreter_tool_call"
|
|
968
1016
|
require_relative "openai/models/responses/response_compaction_item"
|
|
969
1017
|
require_relative "openai/models/responses/response_compaction_item_param"
|
|
970
1018
|
require_relative "openai/models/responses/response_compact_params"
|
|
971
|
-
require_relative "openai/models/responses/response_completed_event"
|
|
972
1019
|
require_relative "openai/models/responses/response_computer_tool_call"
|
|
973
1020
|
require_relative "openai/models/responses/response_computer_tool_call_output_item"
|
|
974
1021
|
require_relative "openai/models/responses/response_computer_tool_call_output_screenshot"
|
|
975
1022
|
require_relative "openai/models/responses/response_container_reference"
|
|
976
1023
|
require_relative "openai/models/responses/response_content"
|
|
977
|
-
require_relative "openai/models/responses/response_content_part_added_event"
|
|
978
|
-
require_relative "openai/models/responses/response_content_part_done_event"
|
|
979
1024
|
require_relative "openai/models/responses/response_conversation_param"
|
|
980
|
-
require_relative "openai/models/responses/response_created_event"
|
|
981
1025
|
require_relative "openai/models/responses/response_create_params"
|
|
982
|
-
require_relative "openai/models/responses/response_custom_tool_call_input_delta_event"
|
|
983
|
-
require_relative "openai/models/responses/response_custom_tool_call_input_done_event"
|
|
984
1026
|
require_relative "openai/models/responses/response_custom_tool_call_item"
|
|
985
1027
|
require_relative "openai/models/responses/response_custom_tool_call_output_item"
|
|
986
1028
|
require_relative "openai/models/responses/response_delete_params"
|
|
987
1029
|
require_relative "openai/models/responses/response_error"
|
|
988
|
-
require_relative "openai/models/responses/response_error_event"
|
|
989
|
-
require_relative "openai/models/responses/response_failed_event"
|
|
990
|
-
require_relative "openai/models/responses/response_file_search_call_completed_event"
|
|
991
|
-
require_relative "openai/models/responses/response_file_search_call_in_progress_event"
|
|
992
|
-
require_relative "openai/models/responses/response_file_search_call_searching_event"
|
|
993
1030
|
require_relative "openai/models/responses/response_file_search_tool_call"
|
|
994
1031
|
require_relative "openai/models/responses/response_format_text_config"
|
|
995
1032
|
require_relative "openai/models/responses/response_format_text_json_schema_config"
|
|
996
|
-
require_relative "openai/models/responses/response_function_call_arguments_delta_event"
|
|
997
|
-
require_relative "openai/models/responses/response_function_call_arguments_done_event"
|
|
998
1033
|
require_relative "openai/models/responses/response_function_call_output_item"
|
|
999
1034
|
require_relative "openai/models/responses/response_function_call_output_item_list"
|
|
1000
1035
|
require_relative "openai/models/responses/response_function_shell_call_output_content"
|
|
@@ -1003,13 +1038,7 @@ require_relative "openai/models/responses/response_function_shell_tool_call_outp
|
|
|
1003
1038
|
require_relative "openai/models/responses/response_function_tool_call_item"
|
|
1004
1039
|
require_relative "openai/models/responses/response_function_tool_call_output_item"
|
|
1005
1040
|
require_relative "openai/models/responses/response_function_web_search"
|
|
1006
|
-
require_relative "openai/models/responses/response_image_gen_call_completed_event"
|
|
1007
|
-
require_relative "openai/models/responses/response_image_gen_call_generating_event"
|
|
1008
|
-
require_relative "openai/models/responses/response_image_gen_call_in_progress_event"
|
|
1009
|
-
require_relative "openai/models/responses/response_image_gen_call_partial_image_event"
|
|
1010
1041
|
require_relative "openai/models/responses/response_includable"
|
|
1011
|
-
require_relative "openai/models/responses/response_incomplete_event"
|
|
1012
|
-
require_relative "openai/models/responses/response_in_progress_event"
|
|
1013
1042
|
require_relative "openai/models/responses/response_input"
|
|
1014
1043
|
require_relative "openai/models/responses/response_input_audio"
|
|
1015
1044
|
require_relative "openai/models/responses/response_input_content"
|
|
@@ -1022,46 +1051,21 @@ require_relative "openai/models/responses/response_input_text_content"
|
|
|
1022
1051
|
require_relative "openai/models/responses/response_item"
|
|
1023
1052
|
require_relative "openai/models/responses/response_item_list"
|
|
1024
1053
|
require_relative "openai/models/responses/response_local_environment"
|
|
1025
|
-
require_relative "openai/models/responses/response_mcp_call_arguments_delta_event"
|
|
1026
|
-
require_relative "openai/models/responses/response_mcp_call_arguments_done_event"
|
|
1027
|
-
require_relative "openai/models/responses/response_mcp_call_completed_event"
|
|
1028
|
-
require_relative "openai/models/responses/response_mcp_call_failed_event"
|
|
1029
|
-
require_relative "openai/models/responses/response_mcp_call_in_progress_event"
|
|
1030
|
-
require_relative "openai/models/responses/response_mcp_list_tools_completed_event"
|
|
1031
|
-
require_relative "openai/models/responses/response_mcp_list_tools_failed_event"
|
|
1032
|
-
require_relative "openai/models/responses/response_mcp_list_tools_in_progress_event"
|
|
1033
1054
|
require_relative "openai/models/responses/response_output_audio"
|
|
1034
1055
|
require_relative "openai/models/responses/response_output_item"
|
|
1035
|
-
require_relative "openai/models/responses/response_output_item_added_event"
|
|
1036
|
-
require_relative "openai/models/responses/response_output_item_done_event"
|
|
1037
1056
|
require_relative "openai/models/responses/response_output_message"
|
|
1038
|
-
require_relative "openai/models/responses/response_output_text_annotation_added_event"
|
|
1039
1057
|
require_relative "openai/models/responses/response_prompt"
|
|
1040
|
-
require_relative "openai/models/responses/response_queued_event"
|
|
1041
1058
|
require_relative "openai/models/responses/response_reasoning_item"
|
|
1042
|
-
require_relative "openai/models/responses/response_reasoning_summary_part_added_event"
|
|
1043
|
-
require_relative "openai/models/responses/response_reasoning_summary_part_done_event"
|
|
1044
|
-
require_relative "openai/models/responses/response_reasoning_summary_text_delta_event"
|
|
1045
|
-
require_relative "openai/models/responses/response_reasoning_summary_text_done_event"
|
|
1046
|
-
require_relative "openai/models/responses/response_reasoning_text_delta_event"
|
|
1047
|
-
require_relative "openai/models/responses/response_reasoning_text_done_event"
|
|
1048
|
-
require_relative "openai/models/responses/response_refusal_delta_event"
|
|
1049
|
-
require_relative "openai/models/responses/response_refusal_done_event"
|
|
1050
1059
|
require_relative "openai/models/responses/response_retrieve_params"
|
|
1051
1060
|
require_relative "openai/models/responses/responses_client_event"
|
|
1052
1061
|
require_relative "openai/models/responses/responses_server_event"
|
|
1053
1062
|
require_relative "openai/models/responses/response_status"
|
|
1054
1063
|
require_relative "openai/models/responses/response_stream_event"
|
|
1055
1064
|
require_relative "openai/models/responses/response_text_config"
|
|
1056
|
-
require_relative "openai/models/responses/response_text_delta_event"
|
|
1057
|
-
require_relative "openai/models/responses/response_text_done_event"
|
|
1058
1065
|
require_relative "openai/models/responses/response_tool_search_call"
|
|
1059
1066
|
require_relative "openai/models/responses/response_tool_search_output_item"
|
|
1060
1067
|
require_relative "openai/models/responses/response_tool_search_output_item_param"
|
|
1061
1068
|
require_relative "openai/models/responses/response_usage"
|
|
1062
|
-
require_relative "openai/models/responses/response_web_search_call_completed_event"
|
|
1063
|
-
require_relative "openai/models/responses/response_web_search_call_in_progress_event"
|
|
1064
|
-
require_relative "openai/models/responses/response_web_search_call_searching_event"
|
|
1065
1069
|
require_relative "openai/models/responses/skill_reference"
|
|
1066
1070
|
require_relative "openai/models/responses/tool"
|
|
1067
1071
|
require_relative "openai/models/responses/tool_choice_allowed"
|
data/rbi/openai/auth.rbi
CHANGED
|
@@ -35,17 +35,17 @@ module OpenAI
|
|
|
35
35
|
|
|
36
36
|
sig do
|
|
37
37
|
params(
|
|
38
|
-
identity_provider_id: T.any(String, Symbol),
|
|
39
|
-
service_account_id: T.any(String, Symbol),
|
|
40
38
|
provider: SubjectTokenProvider,
|
|
39
|
+
identity_provider_id: T.nilable(T.any(String, Symbol)),
|
|
40
|
+
service_account_id: T.nilable(T.any(String, Symbol)),
|
|
41
41
|
client_id: T.nilable(T.any(String, Symbol)),
|
|
42
42
|
refresh_buffer_seconds: Integer
|
|
43
43
|
).void
|
|
44
44
|
end
|
|
45
45
|
def initialize(
|
|
46
|
-
identity_provider_id:,
|
|
47
|
-
service_account_id:,
|
|
48
46
|
provider:,
|
|
47
|
+
identity_provider_id: ENV["IDENTITY_PROVIDER_ID"],
|
|
48
|
+
service_account_id: ENV["SERVICE_ACCOUNT_ID"],
|
|
49
49
|
client_id: nil,
|
|
50
50
|
refresh_buffer_seconds: 1200
|
|
51
51
|
)
|
data/rbi/openai/client.rbi
CHANGED
|
@@ -159,11 +159,15 @@ module OpenAI
|
|
|
159
159
|
webhook_secret: T.nilable(String),
|
|
160
160
|
provider: T.nilable(OpenAI::Provider),
|
|
161
161
|
base_url: T.nilable(String),
|
|
162
|
+
default_headers: T.nilable(T::Hash[String, T.nilable(String)]),
|
|
162
163
|
max_retries: Integer,
|
|
163
|
-
timeout: Float,
|
|
164
|
+
timeout: T.nilable(Float),
|
|
164
165
|
initial_retry_delay: Float,
|
|
165
166
|
max_retry_delay: Float,
|
|
166
|
-
http_client: T.untyped
|
|
167
|
+
http_client: T.untyped,
|
|
168
|
+
logger: T.untyped,
|
|
169
|
+
log_level: T.nilable(T.any(Symbol, String)),
|
|
170
|
+
on_retry: T.nilable(T.proc.params(event: OpenAI::RetryEvent).void)
|
|
167
171
|
).returns(T.attached_class)
|
|
168
172
|
end
|
|
169
173
|
def self.new(
|
|
@@ -182,12 +186,18 @@ module OpenAI
|
|
|
182
186
|
# Override the default base URL for the API, e.g.,
|
|
183
187
|
# `"https://api.example.com/v2/"`. Defaults to `ENV["OPENAI_BASE_URL"]`
|
|
184
188
|
base_url: ENV["OPENAI_BASE_URL"],
|
|
189
|
+
# Extra headers to send with every request. Explicit values override
|
|
190
|
+
# `ENV["OPENAI_CUSTOM_HEADERS"]`.
|
|
191
|
+
default_headers: nil,
|
|
185
192
|
# Max number of retries to attempt after a failed retryable request.
|
|
186
193
|
max_retries: OpenAI::Client::DEFAULT_MAX_RETRIES,
|
|
187
194
|
timeout: OpenAI::Client::DEFAULT_TIMEOUT_IN_SECONDS,
|
|
188
195
|
initial_retry_delay: OpenAI::Client::DEFAULT_INITIAL_RETRY_DELAY,
|
|
189
196
|
max_retry_delay: OpenAI::Client::DEFAULT_MAX_RETRY_DELAY,
|
|
190
|
-
http_client: nil
|
|
197
|
+
http_client: nil,
|
|
198
|
+
logger: nil,
|
|
199
|
+
log_level: nil,
|
|
200
|
+
on_retry: nil
|
|
191
201
|
)
|
|
192
202
|
end
|
|
193
203
|
end
|
data/rbi/openai/errors.rbi
CHANGED
|
@@ -48,6 +48,13 @@ module OpenAI
|
|
|
48
48
|
sig { returns(T.nilable(String)) }
|
|
49
49
|
attr_accessor :type
|
|
50
50
|
|
|
51
|
+
# The ID of the API request, returned via the `x-request-id` response
|
|
52
|
+
# header. This is nil when no HTTP response was received or the response
|
|
53
|
+
# did not include the header.
|
|
54
|
+
sig { returns(T.nilable(String)) }
|
|
55
|
+
def request_id
|
|
56
|
+
end
|
|
57
|
+
|
|
51
58
|
# @api private
|
|
52
59
|
sig do
|
|
53
60
|
params(
|
|
@@ -142,6 +142,18 @@ module OpenAI
|
|
|
142
142
|
end
|
|
143
143
|
|
|
144
144
|
class ChatCompletionStream
|
|
145
|
+
sig { returns(Integer) }
|
|
146
|
+
def status
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
sig { returns(T::Hash[String, String]) }
|
|
150
|
+
def headers
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
sig { returns(OpenAI::ResponseMetadata) }
|
|
154
|
+
def last_response
|
|
155
|
+
end
|
|
156
|
+
|
|
145
157
|
sig { returns(T.untyped) }
|
|
146
158
|
def each
|
|
147
159
|
end
|
data/rbi/openai/http_client.rbi
CHANGED
|
@@ -1,6 +1,63 @@
|
|
|
1
1
|
# typed: strong
|
|
2
2
|
|
|
3
3
|
module OpenAI
|
|
4
|
+
class ResponseMetadata
|
|
5
|
+
sig { returns(Integer) }
|
|
6
|
+
attr_reader :status
|
|
7
|
+
|
|
8
|
+
sig { returns(T::Hash[String, String]) }
|
|
9
|
+
attr_reader :headers
|
|
10
|
+
|
|
11
|
+
sig { returns(T.nilable(String)) }
|
|
12
|
+
attr_reader :request_id
|
|
13
|
+
|
|
14
|
+
# @api private
|
|
15
|
+
sig do
|
|
16
|
+
params(status: Integer, headers: T::Hash[String, String]).returns(
|
|
17
|
+
T.attached_class
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
def self.new(status:, headers:)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
class RetryEvent
|
|
25
|
+
sig { returns(Integer) }
|
|
26
|
+
attr_reader :attempt
|
|
27
|
+
|
|
28
|
+
sig { returns(Integer) }
|
|
29
|
+
attr_reader :max_attempts
|
|
30
|
+
|
|
31
|
+
sig { returns(Float) }
|
|
32
|
+
attr_reader :delay
|
|
33
|
+
|
|
34
|
+
sig { returns(T.nilable(OpenAI::ResponseMetadata)) }
|
|
35
|
+
attr_reader :response
|
|
36
|
+
|
|
37
|
+
sig { returns(T.nilable(OpenAI::Errors::APIConnectionError)) }
|
|
38
|
+
attr_reader :error
|
|
39
|
+
|
|
40
|
+
sig do
|
|
41
|
+
params(
|
|
42
|
+
attempt: Integer,
|
|
43
|
+
max_attempts: Integer,
|
|
44
|
+
delay: Float,
|
|
45
|
+
response: T.nilable(OpenAI::ResponseMetadata),
|
|
46
|
+
error: T.nilable(OpenAI::Errors::APIConnectionError)
|
|
47
|
+
).returns(T.attached_class)
|
|
48
|
+
end
|
|
49
|
+
def self.new(attempt:, max_attempts:, delay:, response:, error:)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
sig { returns(T.nilable(Integer)) }
|
|
53
|
+
def status
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
sig { returns(T.nilable(String)) }
|
|
57
|
+
def request_id
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
4
61
|
class HTTPClient
|
|
5
62
|
class Request
|
|
6
63
|
sig { returns(Symbol) }
|
|
@@ -15,7 +72,7 @@ module OpenAI
|
|
|
15
72
|
sig { returns(T.anything) }
|
|
16
73
|
attr_reader :body
|
|
17
74
|
|
|
18
|
-
sig { returns(Float) }
|
|
75
|
+
sig { returns(T.nilable(Float)) }
|
|
19
76
|
attr_reader :timeout
|
|
20
77
|
|
|
21
78
|
sig do
|
|
@@ -24,7 +81,7 @@ module OpenAI
|
|
|
24
81
|
url: URI::Generic,
|
|
25
82
|
headers: T::Hash[String, String],
|
|
26
83
|
body: T.anything,
|
|
27
|
-
timeout: Float
|
|
84
|
+
timeout: T.nilable(Float)
|
|
28
85
|
).returns(T.attached_class)
|
|
29
86
|
end
|
|
30
87
|
def self.new(method:, url:, headers:, body:, timeout:)
|
|
@@ -41,6 +98,9 @@ module OpenAI
|
|
|
41
98
|
sig { returns(T::Enumerable[String]) }
|
|
42
99
|
attr_reader :body
|
|
43
100
|
|
|
101
|
+
sig { returns(OpenAI::ResponseMetadata) }
|
|
102
|
+
attr_reader :metadata
|
|
103
|
+
|
|
44
104
|
sig do
|
|
45
105
|
params(
|
|
46
106
|
status: Integer,
|