openai 0.77.1 → 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 +98 -0
- data/README.md +341 -10
- 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 +34 -14
- 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 +189 -0
- 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 +161 -0
- data/lib/openai/internal/stream.rb +2 -2
- data/lib/openai/internal/transport/base_client.rb +216 -57
- 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 +40 -8
- data/lib/openai/internal/type/hash_of.rb +3 -3
- data/lib/openai/internal/util.rb +59 -112
- 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 +295 -0
- 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 +113 -108
- data/rbi/openai/auth.rbi +4 -4
- data/rbi/openai/client.rbi +15 -3
- data/rbi/openai/errors.rbi +7 -0
- data/rbi/openai/helpers/streaming/events.rbi +12 -0
- data/rbi/openai/http_client.rbi +123 -0
- data/rbi/openai/internal/logging.rbi +192 -0
- data/rbi/openai/internal/provider.rbi +3 -0
- data/rbi/openai/internal/read_io_adapter.rbi +52 -0
- data/rbi/openai/internal/transport/base_client.rbi +80 -10
- 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 +16 -5
- data/rbi/openai/internal/util.rbi +26 -42
- 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 +64 -0
- 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 +7 -2
- data/sig/openai/errors.rbs +5 -0
- data/sig/openai/http_client.rbs +76 -0
- data/sig/openai/internal/logging.rbs +88 -0
- data/sig/openai/internal/provider.rbs +3 -1
- data/sig/openai/internal/read_io_adapter.rbs +23 -0
- data/sig/openai/internal/transport/base_client.rbs +41 -6
- 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 +9 -3
- data/sig/openai/internal/util.rbs +12 -16
- 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 +34 -0
- data/sig/openai/providers.rbs +6 -0
- metadata +33 -4
- data/lib/openai/internal/transport/pooled_net_requester.rb +0 -210
- data/rbi/openai/internal/transport/pooled_net_requester.rbi +0 -82
- data/sig/openai/internal/transport/pooled_net_requester.rbs +0 -48
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
|
|
|
@@ -53,11 +56,13 @@ require_relative "openai/internal"
|
|
|
53
56
|
require_relative "openai/request_options"
|
|
54
57
|
require_relative "openai/file_part"
|
|
55
58
|
require_relative "openai/errors"
|
|
59
|
+
require_relative "openai/http_client"
|
|
60
|
+
require_relative "openai/net_http_client"
|
|
56
61
|
require_relative "openai/provider"
|
|
57
62
|
require_relative "openai/internal/provider"
|
|
63
|
+
require_relative "openai/providers/azure"
|
|
58
64
|
require_relative "openai/providers/bedrock"
|
|
59
65
|
require_relative "openai/internal/transport/base_client"
|
|
60
|
-
require_relative "openai/internal/transport/pooled_net_requester"
|
|
61
66
|
require_relative "openai/client"
|
|
62
67
|
require_relative "openai/internal/stream"
|
|
63
68
|
require_relative "openai/internal/conversation_cursor_page"
|
|
@@ -77,6 +82,59 @@ require_relative "openai/structured_output"
|
|
|
77
82
|
require_relative "openai/models/beta/beta_response_custom_tool_call"
|
|
78
83
|
require_relative "openai/models/beta/beta_response_custom_tool_call_output"
|
|
79
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"
|
|
80
138
|
require_relative "openai/models/reasoning_effort"
|
|
81
139
|
require_relative "openai/models/chat/chat_completion_message"
|
|
82
140
|
require_relative "openai/models/responses/response_input_file"
|
|
@@ -92,6 +150,59 @@ require_relative "openai/models/realtime/realtime_session_create_request"
|
|
|
92
150
|
require_relative "openai/models/responses/response_custom_tool_call"
|
|
93
151
|
require_relative "openai/models/responses/response_custom_tool_call_output"
|
|
94
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"
|
|
95
206
|
require_relative "openai/models/admin/organization/admin_api_key_create_params"
|
|
96
207
|
require_relative "openai/models/admin/organization/admin_api_key_create_response"
|
|
97
208
|
require_relative "openai/models/admin/organization/admin_api_key_delete_params"
|
|
@@ -357,43 +468,21 @@ require_relative "openai/models/beta/beta_namespace_tool"
|
|
|
357
468
|
require_relative "openai/models/beta/beta_response"
|
|
358
469
|
require_relative "openai/models/beta/beta_response_apply_patch_tool_call"
|
|
359
470
|
require_relative "openai/models/beta/beta_response_apply_patch_tool_call_output"
|
|
360
|
-
require_relative "openai/models/beta/beta_response_audio_delta_event"
|
|
361
|
-
require_relative "openai/models/beta/beta_response_audio_done_event"
|
|
362
|
-
require_relative "openai/models/beta/beta_response_audio_transcript_delta_event"
|
|
363
|
-
require_relative "openai/models/beta/beta_response_audio_transcript_done_event"
|
|
364
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_code_delta_event"
|
|
365
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_code_done_event"
|
|
366
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_completed_event"
|
|
367
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_in_progress_event"
|
|
368
|
-
require_relative "openai/models/beta/beta_response_code_interpreter_call_interpreting_event"
|
|
369
471
|
require_relative "openai/models/beta/beta_response_code_interpreter_tool_call"
|
|
370
472
|
require_relative "openai/models/beta/beta_response_compaction_item"
|
|
371
473
|
require_relative "openai/models/beta/beta_response_compaction_item_param"
|
|
372
|
-
require_relative "openai/models/beta/beta_response_completed_event"
|
|
373
474
|
require_relative "openai/models/beta/beta_response_computer_tool_call"
|
|
374
475
|
require_relative "openai/models/beta/beta_response_computer_tool_call_output_item"
|
|
375
476
|
require_relative "openai/models/beta/beta_response_computer_tool_call_output_screenshot"
|
|
376
477
|
require_relative "openai/models/beta/beta_response_container_reference"
|
|
377
478
|
require_relative "openai/models/beta/beta_response_content"
|
|
378
|
-
require_relative "openai/models/beta/beta_response_content_part_added_event"
|
|
379
|
-
require_relative "openai/models/beta/beta_response_content_part_done_event"
|
|
380
479
|
require_relative "openai/models/beta/beta_response_conversation_param"
|
|
381
|
-
require_relative "openai/models/beta/beta_response_created_event"
|
|
382
|
-
require_relative "openai/models/beta/beta_response_custom_tool_call_input_delta_event"
|
|
383
|
-
require_relative "openai/models/beta/beta_response_custom_tool_call_input_done_event"
|
|
384
480
|
require_relative "openai/models/beta/beta_response_custom_tool_call_item"
|
|
385
481
|
require_relative "openai/models/beta/beta_response_custom_tool_call_output_item"
|
|
386
482
|
require_relative "openai/models/beta/beta_response_error"
|
|
387
|
-
require_relative "openai/models/beta/beta_response_error_event"
|
|
388
|
-
require_relative "openai/models/beta/beta_response_failed_event"
|
|
389
|
-
require_relative "openai/models/beta/beta_response_file_search_call_completed_event"
|
|
390
|
-
require_relative "openai/models/beta/beta_response_file_search_call_in_progress_event"
|
|
391
|
-
require_relative "openai/models/beta/beta_response_file_search_call_searching_event"
|
|
392
483
|
require_relative "openai/models/beta/beta_response_file_search_tool_call"
|
|
393
484
|
require_relative "openai/models/beta/beta_response_format_text_config"
|
|
394
485
|
require_relative "openai/models/beta/beta_response_format_text_json_schema_config"
|
|
395
|
-
require_relative "openai/models/beta/beta_response_function_call_arguments_delta_event"
|
|
396
|
-
require_relative "openai/models/beta/beta_response_function_call_arguments_done_event"
|
|
397
486
|
require_relative "openai/models/beta/beta_response_function_call_output_item"
|
|
398
487
|
require_relative "openai/models/beta/beta_response_function_call_output_item_list"
|
|
399
488
|
require_relative "openai/models/beta/beta_response_function_shell_call_output_content"
|
|
@@ -402,16 +491,10 @@ require_relative "openai/models/beta/beta_response_function_shell_tool_call_outp
|
|
|
402
491
|
require_relative "openai/models/beta/beta_response_function_tool_call_item"
|
|
403
492
|
require_relative "openai/models/beta/beta_response_function_tool_call_output_item"
|
|
404
493
|
require_relative "openai/models/beta/beta_response_function_web_search"
|
|
405
|
-
require_relative "openai/models/beta/beta_response_image_gen_call_completed_event"
|
|
406
|
-
require_relative "openai/models/beta/beta_response_image_gen_call_generating_event"
|
|
407
|
-
require_relative "openai/models/beta/beta_response_image_gen_call_in_progress_event"
|
|
408
|
-
require_relative "openai/models/beta/beta_response_image_gen_call_partial_image_event"
|
|
409
494
|
require_relative "openai/models/beta/beta_response_includable"
|
|
410
|
-
require_relative "openai/models/beta/beta_response_incomplete_event"
|
|
411
495
|
require_relative "openai/models/beta/beta_response_inject_created_event"
|
|
412
496
|
require_relative "openai/models/beta/beta_response_inject_event"
|
|
413
497
|
require_relative "openai/models/beta/beta_response_inject_failed_event"
|
|
414
|
-
require_relative "openai/models/beta/beta_response_in_progress_event"
|
|
415
498
|
require_relative "openai/models/beta/beta_response_input"
|
|
416
499
|
require_relative "openai/models/beta/beta_response_input_audio"
|
|
417
500
|
require_relative "openai/models/beta/beta_response_input_content"
|
|
@@ -426,47 +509,22 @@ require_relative "openai/models/beta/beta_response_input_text"
|
|
|
426
509
|
require_relative "openai/models/beta/beta_response_input_text_content"
|
|
427
510
|
require_relative "openai/models/beta/beta_response_item"
|
|
428
511
|
require_relative "openai/models/beta/beta_response_local_environment"
|
|
429
|
-
require_relative "openai/models/beta/beta_response_mcp_call_arguments_delta_event"
|
|
430
|
-
require_relative "openai/models/beta/beta_response_mcp_call_arguments_done_event"
|
|
431
|
-
require_relative "openai/models/beta/beta_response_mcp_call_completed_event"
|
|
432
|
-
require_relative "openai/models/beta/beta_response_mcp_call_failed_event"
|
|
433
|
-
require_relative "openai/models/beta/beta_response_mcp_call_in_progress_event"
|
|
434
|
-
require_relative "openai/models/beta/beta_response_mcp_list_tools_completed_event"
|
|
435
|
-
require_relative "openai/models/beta/beta_response_mcp_list_tools_failed_event"
|
|
436
|
-
require_relative "openai/models/beta/beta_response_mcp_list_tools_in_progress_event"
|
|
437
512
|
require_relative "openai/models/beta/beta_response_output_audio"
|
|
438
513
|
require_relative "openai/models/beta/beta_response_output_item"
|
|
439
|
-
require_relative "openai/models/beta/beta_response_output_item_added_event"
|
|
440
|
-
require_relative "openai/models/beta/beta_response_output_item_done_event"
|
|
441
514
|
require_relative "openai/models/beta/beta_response_output_message"
|
|
442
515
|
require_relative "openai/models/beta/beta_response_output_refusal"
|
|
443
516
|
require_relative "openai/models/beta/beta_response_output_text"
|
|
444
|
-
require_relative "openai/models/beta/beta_response_output_text_annotation_added_event"
|
|
445
517
|
require_relative "openai/models/beta/beta_response_prompt"
|
|
446
|
-
require_relative "openai/models/beta/beta_response_queued_event"
|
|
447
518
|
require_relative "openai/models/beta/beta_response_reasoning_item"
|
|
448
|
-
require_relative "openai/models/beta/beta_response_reasoning_summary_part_added_event"
|
|
449
|
-
require_relative "openai/models/beta/beta_response_reasoning_summary_part_done_event"
|
|
450
|
-
require_relative "openai/models/beta/beta_response_reasoning_summary_text_delta_event"
|
|
451
|
-
require_relative "openai/models/beta/beta_response_reasoning_summary_text_done_event"
|
|
452
|
-
require_relative "openai/models/beta/beta_response_reasoning_text_delta_event"
|
|
453
|
-
require_relative "openai/models/beta/beta_response_reasoning_text_done_event"
|
|
454
|
-
require_relative "openai/models/beta/beta_response_refusal_delta_event"
|
|
455
|
-
require_relative "openai/models/beta/beta_response_refusal_done_event"
|
|
456
519
|
require_relative "openai/models/beta/beta_responses_client_event"
|
|
457
520
|
require_relative "openai/models/beta/beta_responses_server_event"
|
|
458
521
|
require_relative "openai/models/beta/beta_response_status"
|
|
459
522
|
require_relative "openai/models/beta/beta_response_stream_event"
|
|
460
523
|
require_relative "openai/models/beta/beta_response_text_config"
|
|
461
|
-
require_relative "openai/models/beta/beta_response_text_delta_event"
|
|
462
|
-
require_relative "openai/models/beta/beta_response_text_done_event"
|
|
463
524
|
require_relative "openai/models/beta/beta_response_tool_search_call"
|
|
464
525
|
require_relative "openai/models/beta/beta_response_tool_search_output_item"
|
|
465
526
|
require_relative "openai/models/beta/beta_response_tool_search_output_item_param"
|
|
466
527
|
require_relative "openai/models/beta/beta_response_usage"
|
|
467
|
-
require_relative "openai/models/beta/beta_response_web_search_call_completed_event"
|
|
468
|
-
require_relative "openai/models/beta/beta_response_web_search_call_in_progress_event"
|
|
469
|
-
require_relative "openai/models/beta/beta_response_web_search_call_searching_event"
|
|
470
528
|
require_relative "openai/models/beta/beta_skill_reference"
|
|
471
529
|
require_relative "openai/models/beta/beta_tool"
|
|
472
530
|
require_relative "openai/models/beta/beta_tool_choice_allowed"
|
|
@@ -953,47 +1011,25 @@ require_relative "openai/models/responses/namespace_tool"
|
|
|
953
1011
|
require_relative "openai/models/responses/response"
|
|
954
1012
|
require_relative "openai/models/responses/response_apply_patch_tool_call"
|
|
955
1013
|
require_relative "openai/models/responses/response_apply_patch_tool_call_output"
|
|
956
|
-
require_relative "openai/models/responses/response_audio_delta_event"
|
|
957
|
-
require_relative "openai/models/responses/response_audio_done_event"
|
|
958
|
-
require_relative "openai/models/responses/response_audio_transcript_delta_event"
|
|
959
|
-
require_relative "openai/models/responses/response_audio_transcript_done_event"
|
|
960
1014
|
require_relative "openai/models/responses/response_cancel_params"
|
|
961
|
-
require_relative "openai/models/responses/response_code_interpreter_call_code_delta_event"
|
|
962
|
-
require_relative "openai/models/responses/response_code_interpreter_call_code_done_event"
|
|
963
|
-
require_relative "openai/models/responses/response_code_interpreter_call_completed_event"
|
|
964
|
-
require_relative "openai/models/responses/response_code_interpreter_call_in_progress_event"
|
|
965
|
-
require_relative "openai/models/responses/response_code_interpreter_call_interpreting_event"
|
|
966
1015
|
require_relative "openai/models/responses/response_code_interpreter_tool_call"
|
|
967
1016
|
require_relative "openai/models/responses/response_compaction_item"
|
|
968
1017
|
require_relative "openai/models/responses/response_compaction_item_param"
|
|
969
1018
|
require_relative "openai/models/responses/response_compact_params"
|
|
970
|
-
require_relative "openai/models/responses/response_completed_event"
|
|
971
1019
|
require_relative "openai/models/responses/response_computer_tool_call"
|
|
972
1020
|
require_relative "openai/models/responses/response_computer_tool_call_output_item"
|
|
973
1021
|
require_relative "openai/models/responses/response_computer_tool_call_output_screenshot"
|
|
974
1022
|
require_relative "openai/models/responses/response_container_reference"
|
|
975
1023
|
require_relative "openai/models/responses/response_content"
|
|
976
|
-
require_relative "openai/models/responses/response_content_part_added_event"
|
|
977
|
-
require_relative "openai/models/responses/response_content_part_done_event"
|
|
978
1024
|
require_relative "openai/models/responses/response_conversation_param"
|
|
979
|
-
require_relative "openai/models/responses/response_created_event"
|
|
980
1025
|
require_relative "openai/models/responses/response_create_params"
|
|
981
|
-
require_relative "openai/models/responses/response_custom_tool_call_input_delta_event"
|
|
982
|
-
require_relative "openai/models/responses/response_custom_tool_call_input_done_event"
|
|
983
1026
|
require_relative "openai/models/responses/response_custom_tool_call_item"
|
|
984
1027
|
require_relative "openai/models/responses/response_custom_tool_call_output_item"
|
|
985
1028
|
require_relative "openai/models/responses/response_delete_params"
|
|
986
1029
|
require_relative "openai/models/responses/response_error"
|
|
987
|
-
require_relative "openai/models/responses/response_error_event"
|
|
988
|
-
require_relative "openai/models/responses/response_failed_event"
|
|
989
|
-
require_relative "openai/models/responses/response_file_search_call_completed_event"
|
|
990
|
-
require_relative "openai/models/responses/response_file_search_call_in_progress_event"
|
|
991
|
-
require_relative "openai/models/responses/response_file_search_call_searching_event"
|
|
992
1030
|
require_relative "openai/models/responses/response_file_search_tool_call"
|
|
993
1031
|
require_relative "openai/models/responses/response_format_text_config"
|
|
994
1032
|
require_relative "openai/models/responses/response_format_text_json_schema_config"
|
|
995
|
-
require_relative "openai/models/responses/response_function_call_arguments_delta_event"
|
|
996
|
-
require_relative "openai/models/responses/response_function_call_arguments_done_event"
|
|
997
1033
|
require_relative "openai/models/responses/response_function_call_output_item"
|
|
998
1034
|
require_relative "openai/models/responses/response_function_call_output_item_list"
|
|
999
1035
|
require_relative "openai/models/responses/response_function_shell_call_output_content"
|
|
@@ -1002,13 +1038,7 @@ require_relative "openai/models/responses/response_function_shell_tool_call_outp
|
|
|
1002
1038
|
require_relative "openai/models/responses/response_function_tool_call_item"
|
|
1003
1039
|
require_relative "openai/models/responses/response_function_tool_call_output_item"
|
|
1004
1040
|
require_relative "openai/models/responses/response_function_web_search"
|
|
1005
|
-
require_relative "openai/models/responses/response_image_gen_call_completed_event"
|
|
1006
|
-
require_relative "openai/models/responses/response_image_gen_call_generating_event"
|
|
1007
|
-
require_relative "openai/models/responses/response_image_gen_call_in_progress_event"
|
|
1008
|
-
require_relative "openai/models/responses/response_image_gen_call_partial_image_event"
|
|
1009
1041
|
require_relative "openai/models/responses/response_includable"
|
|
1010
|
-
require_relative "openai/models/responses/response_incomplete_event"
|
|
1011
|
-
require_relative "openai/models/responses/response_in_progress_event"
|
|
1012
1042
|
require_relative "openai/models/responses/response_input"
|
|
1013
1043
|
require_relative "openai/models/responses/response_input_audio"
|
|
1014
1044
|
require_relative "openai/models/responses/response_input_content"
|
|
@@ -1021,46 +1051,21 @@ require_relative "openai/models/responses/response_input_text_content"
|
|
|
1021
1051
|
require_relative "openai/models/responses/response_item"
|
|
1022
1052
|
require_relative "openai/models/responses/response_item_list"
|
|
1023
1053
|
require_relative "openai/models/responses/response_local_environment"
|
|
1024
|
-
require_relative "openai/models/responses/response_mcp_call_arguments_delta_event"
|
|
1025
|
-
require_relative "openai/models/responses/response_mcp_call_arguments_done_event"
|
|
1026
|
-
require_relative "openai/models/responses/response_mcp_call_completed_event"
|
|
1027
|
-
require_relative "openai/models/responses/response_mcp_call_failed_event"
|
|
1028
|
-
require_relative "openai/models/responses/response_mcp_call_in_progress_event"
|
|
1029
|
-
require_relative "openai/models/responses/response_mcp_list_tools_completed_event"
|
|
1030
|
-
require_relative "openai/models/responses/response_mcp_list_tools_failed_event"
|
|
1031
|
-
require_relative "openai/models/responses/response_mcp_list_tools_in_progress_event"
|
|
1032
1054
|
require_relative "openai/models/responses/response_output_audio"
|
|
1033
1055
|
require_relative "openai/models/responses/response_output_item"
|
|
1034
|
-
require_relative "openai/models/responses/response_output_item_added_event"
|
|
1035
|
-
require_relative "openai/models/responses/response_output_item_done_event"
|
|
1036
1056
|
require_relative "openai/models/responses/response_output_message"
|
|
1037
|
-
require_relative "openai/models/responses/response_output_text_annotation_added_event"
|
|
1038
1057
|
require_relative "openai/models/responses/response_prompt"
|
|
1039
|
-
require_relative "openai/models/responses/response_queued_event"
|
|
1040
1058
|
require_relative "openai/models/responses/response_reasoning_item"
|
|
1041
|
-
require_relative "openai/models/responses/response_reasoning_summary_part_added_event"
|
|
1042
|
-
require_relative "openai/models/responses/response_reasoning_summary_part_done_event"
|
|
1043
|
-
require_relative "openai/models/responses/response_reasoning_summary_text_delta_event"
|
|
1044
|
-
require_relative "openai/models/responses/response_reasoning_summary_text_done_event"
|
|
1045
|
-
require_relative "openai/models/responses/response_reasoning_text_delta_event"
|
|
1046
|
-
require_relative "openai/models/responses/response_reasoning_text_done_event"
|
|
1047
|
-
require_relative "openai/models/responses/response_refusal_delta_event"
|
|
1048
|
-
require_relative "openai/models/responses/response_refusal_done_event"
|
|
1049
1059
|
require_relative "openai/models/responses/response_retrieve_params"
|
|
1050
1060
|
require_relative "openai/models/responses/responses_client_event"
|
|
1051
1061
|
require_relative "openai/models/responses/responses_server_event"
|
|
1052
1062
|
require_relative "openai/models/responses/response_status"
|
|
1053
1063
|
require_relative "openai/models/responses/response_stream_event"
|
|
1054
1064
|
require_relative "openai/models/responses/response_text_config"
|
|
1055
|
-
require_relative "openai/models/responses/response_text_delta_event"
|
|
1056
|
-
require_relative "openai/models/responses/response_text_done_event"
|
|
1057
1065
|
require_relative "openai/models/responses/response_tool_search_call"
|
|
1058
1066
|
require_relative "openai/models/responses/response_tool_search_output_item"
|
|
1059
1067
|
require_relative "openai/models/responses/response_tool_search_output_item_param"
|
|
1060
1068
|
require_relative "openai/models/responses/response_usage"
|
|
1061
|
-
require_relative "openai/models/responses/response_web_search_call_completed_event"
|
|
1062
|
-
require_relative "openai/models/responses/response_web_search_call_in_progress_event"
|
|
1063
|
-
require_relative "openai/models/responses/response_web_search_call_searching_event"
|
|
1064
1069
|
require_relative "openai/models/responses/skill_reference"
|
|
1065
1070
|
require_relative "openai/models/responses/tool"
|
|
1066
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,10 +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
|
-
max_retry_delay: Float
|
|
166
|
+
max_retry_delay: Float,
|
|
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)
|
|
166
171
|
).returns(T.attached_class)
|
|
167
172
|
end
|
|
168
173
|
def self.new(
|
|
@@ -181,11 +186,18 @@ module OpenAI
|
|
|
181
186
|
# Override the default base URL for the API, e.g.,
|
|
182
187
|
# `"https://api.example.com/v2/"`. Defaults to `ENV["OPENAI_BASE_URL"]`
|
|
183
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,
|
|
184
192
|
# Max number of retries to attempt after a failed retryable request.
|
|
185
193
|
max_retries: OpenAI::Client::DEFAULT_MAX_RETRIES,
|
|
186
194
|
timeout: OpenAI::Client::DEFAULT_TIMEOUT_IN_SECONDS,
|
|
187
195
|
initial_retry_delay: OpenAI::Client::DEFAULT_INITIAL_RETRY_DELAY,
|
|
188
|
-
max_retry_delay: OpenAI::Client::DEFAULT_MAX_RETRY_DELAY
|
|
196
|
+
max_retry_delay: OpenAI::Client::DEFAULT_MAX_RETRY_DELAY,
|
|
197
|
+
http_client: nil,
|
|
198
|
+
logger: nil,
|
|
199
|
+
log_level: nil,
|
|
200
|
+
on_retry: nil
|
|
189
201
|
)
|
|
190
202
|
end
|
|
191
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
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
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
|
+
|
|
61
|
+
class HTTPClient
|
|
62
|
+
class Request
|
|
63
|
+
sig { returns(Symbol) }
|
|
64
|
+
attr_reader :method
|
|
65
|
+
|
|
66
|
+
sig { returns(URI::Generic) }
|
|
67
|
+
attr_reader :url
|
|
68
|
+
|
|
69
|
+
sig { returns(T::Hash[String, String]) }
|
|
70
|
+
attr_reader :headers
|
|
71
|
+
|
|
72
|
+
sig { returns(T.anything) }
|
|
73
|
+
attr_reader :body
|
|
74
|
+
|
|
75
|
+
sig { returns(T.nilable(Float)) }
|
|
76
|
+
attr_reader :timeout
|
|
77
|
+
|
|
78
|
+
sig do
|
|
79
|
+
params(
|
|
80
|
+
method: Symbol,
|
|
81
|
+
url: URI::Generic,
|
|
82
|
+
headers: T::Hash[String, String],
|
|
83
|
+
body: T.anything,
|
|
84
|
+
timeout: T.nilable(Float)
|
|
85
|
+
).returns(T.attached_class)
|
|
86
|
+
end
|
|
87
|
+
def self.new(method:, url:, headers:, body:, timeout:)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
class Response
|
|
92
|
+
sig { returns(Integer) }
|
|
93
|
+
attr_reader :status
|
|
94
|
+
|
|
95
|
+
sig { returns(T::Hash[String, String]) }
|
|
96
|
+
attr_reader :headers
|
|
97
|
+
|
|
98
|
+
sig { returns(T::Enumerable[String]) }
|
|
99
|
+
attr_reader :body
|
|
100
|
+
|
|
101
|
+
sig { returns(OpenAI::ResponseMetadata) }
|
|
102
|
+
attr_reader :metadata
|
|
103
|
+
|
|
104
|
+
sig do
|
|
105
|
+
params(
|
|
106
|
+
status: Integer,
|
|
107
|
+
headers: T::Hash[String, String],
|
|
108
|
+
body: T.any(String, T::Enumerable[String])
|
|
109
|
+
).returns(T.attached_class)
|
|
110
|
+
end
|
|
111
|
+
def self.new(status:, headers:, body:)
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
sig do
|
|
116
|
+
params(request: OpenAI::HTTPClient::Request).returns(
|
|
117
|
+
OpenAI::HTTPClient::Response
|
|
118
|
+
)
|
|
119
|
+
end
|
|
120
|
+
def execute(request)
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|