openai 0.78.0 → 0.80.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 +99 -0
- data/README.md +241 -8
- data/SECURITY.md +6 -22
- data/azure.md +110 -0
- data/bedrock.md +197 -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 +5 -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_mcp_tool_call_error.rb +84 -0
- data/lib/openai/models/beta/beta_response.rb +27 -0
- data/lib/openai/models/beta/beta_response_input_item.rb +3 -3
- data/lib/openai/models/beta/beta_response_item.rb +3 -3
- data/lib/openai/models/beta/beta_response_output_item.rb +3 -3
- data/lib/openai/models/beta/beta_response_output_item_added_event.rb +5 -2
- data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +201 -4
- data/lib/openai/models/beta/beta_response_reasoning_item.rb +5 -0
- data/lib/openai/models/beta/beta_response_stream_event.rb +1 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +46 -3
- data/lib/openai/models/beta/beta_responses_server_event.rb +1143 -63
- data/lib/openai/models/beta/beta_web_search_tool.rb +11 -1
- data/lib/openai/models/beta/response_compact_params.rb +18 -0
- data/lib/openai/models/beta/response_create_params.rb +27 -0
- data/lib/openai/models/chat_model.rb +1 -0
- data/lib/openai/models/completion_usage.rb +26 -2
- 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/conversations/conversation_item.rb +3 -3
- 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/model.rb +9 -1
- data/lib/openai/models/responses/mcp_tool_call_error.rb +82 -0
- data/lib/openai/models/responses/response.rb +9 -0
- data/lib/openai/models/responses/response_compact_params.rb +18 -0
- data/lib/openai/models/responses/response_create_params.rb +9 -0
- data/lib/openai/models/responses/response_input_item.rb +3 -3
- data/lib/openai/models/responses/response_item.rb +3 -3
- data/lib/openai/models/responses/response_output_item.rb +3 -3
- data/lib/openai/models/responses/response_output_item_added_event.rb +5 -2
- data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +201 -4
- data/lib/openai/models/responses/response_reasoning_item.rb +5 -0
- data/lib/openai/models/responses/response_stream_event.rb +1 -1
- data/lib/openai/models/responses/responses_client_event.rb +22 -1
- data/lib/openai/models/responses/responses_server_event.rb +1107 -56
- data/lib/openai/models/responses/web_search_tool.rb +11 -1
- data/lib/openai/models/responses_model.rb +5 -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 +130 -17
- 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 +5 -1
- 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 -105
- 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 +25 -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_mcp_tool_call_error.rbi +122 -0
- data/rbi/openai/models/beta/beta_response.rbi +47 -0
- data/rbi/openai/models/beta/beta_response_input_item.rbi +27 -3
- data/rbi/openai/models/beta/beta_response_item.rbi +27 -3
- data/rbi/openai/models/beta/beta_response_output_item.rbi +27 -3
- data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +8 -2
- data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +297 -5
- data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +10 -0
- data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -1
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +69 -1
- data/rbi/openai/models/beta/beta_responses_server_event.rbi +3945 -54
- data/rbi/openai/models/beta/beta_web_search_tool.rbi +15 -0
- data/rbi/openai/models/beta/response_compact_params.rbi +30 -0
- data/rbi/openai/models/beta/response_create_params.rbi +47 -0
- data/rbi/openai/models/chat_model.rbi +2 -0
- data/rbi/openai/models/completion_usage.rbi +39 -6
- 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/conversations/conversation_item.rbi +12 -3
- 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/model.rbi +14 -1
- data/rbi/openai/models/responses/mcp_tool_call_error.rbi +120 -0
- data/rbi/openai/models/responses/response.rbi +17 -0
- data/rbi/openai/models/responses/response_compact_params.rbi +30 -0
- data/rbi/openai/models/responses/response_create_params.rbi +17 -0
- data/rbi/openai/models/responses/response_input_item.rbi +27 -3
- data/rbi/openai/models/responses/response_item.rbi +27 -3
- data/rbi/openai/models/responses/response_output_item.rbi +27 -3
- data/rbi/openai/models/responses/response_output_item_added_event.rbi +8 -2
- data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +297 -5
- data/rbi/openai/models/responses/response_reasoning_item.rbi +10 -0
- data/rbi/openai/models/responses/response_stream_event.rbi +1 -1
- data/rbi/openai/models/responses/responses_client_event.rbi +36 -0
- data/rbi/openai/models/responses/responses_server_event.rbi +3385 -53
- data/rbi/openai/models/responses/web_search_tool.rbi +15 -0
- data/rbi/openai/models/responses_model.rbi +25 -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 +11 -0
- data/rbi/openai/resources/audio/transcriptions.rbi +14 -2
- data/rbi/openai/resources/audio/translations.rbi +7 -1
- data/rbi/openai/resources/beta/responses.rbi +8 -0
- 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 +5 -1
- data/rbi/openai/resources/images.rbi +20 -0
- data/rbi/openai/resources/responses.rbi +8 -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 +10 -0
- data/sig/openai/models/beta/beta_mcp_tool_call_error.rbs +75 -0
- data/sig/openai/models/beta/beta_response.rbs +14 -1
- data/sig/openai/models/beta/beta_response_input_item.rbs +4 -4
- data/sig/openai/models/beta/beta_response_item.rbs +4 -4
- data/sig/openai/models/beta/beta_response_output_item.rbs +4 -4
- data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +149 -4
- data/sig/openai/models/beta/beta_responses_client_event.rbs +21 -1
- data/sig/openai/models/beta/beta_responses_server_event.rbs +2005 -53
- data/sig/openai/models/beta/beta_web_search_tool.rbs +7 -0
- data/sig/openai/models/beta/response_compact_params.rbs +12 -0
- data/sig/openai/models/beta/response_create_params.rbs +14 -1
- data/sig/openai/models/chat_model.rbs +2 -0
- data/sig/openai/models/completion_usage.rbs +27 -6
- data/sig/openai/models/conversations/conversation_item.rbs +4 -4
- data/sig/openai/models/model.rbs +12 -2
- data/sig/openai/models/responses/mcp_tool_call_error.rbs +73 -0
- data/sig/openai/models/responses/response.rbs +2 -1
- data/sig/openai/models/responses/response_compact_params.rbs +12 -0
- data/sig/openai/models/responses/response_create_params.rbs +2 -1
- data/sig/openai/models/responses/response_input_item.rbs +4 -4
- data/sig/openai/models/responses/response_item.rbs +4 -4
- data/sig/openai/models/responses/response_output_item.rbs +4 -4
- data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +149 -4
- data/sig/openai/models/responses/responses_client_event.rbs +9 -1
- data/sig/openai/models/responses/responses_server_event.rbs +1834 -53
- data/sig/openai/models/responses/web_search_tool.rbs +7 -0
- data/sig/openai/models/responses_model.rbs +10 -0
- data/sig/openai/net_http_client.rbs +2 -2
- data/sig/openai/providers.rbs +7 -0
- metadata +30 -1
|
@@ -2,12 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
module OpenAI
|
|
4
4
|
module Resources
|
|
5
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September
|
|
6
|
+
# 24, 2026.
|
|
5
7
|
class Videos
|
|
8
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
9
|
+
#
|
|
6
10
|
# Some parameter documentations has been truncated, see
|
|
7
11
|
# {OpenAI::Models::VideoCreateParams} for more details.
|
|
8
12
|
#
|
|
9
13
|
# Create a new video generation job from a prompt and optional reference assets.
|
|
10
14
|
#
|
|
15
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
16
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
17
|
+
# content type.
|
|
18
|
+
#
|
|
11
19
|
# @overload create(prompt:, input_reference: nil, model: nil, seconds: nil, size: nil, request_options: {})
|
|
12
20
|
#
|
|
13
21
|
# @param prompt [String] Text prompt that describes the video to generate.
|
|
@@ -38,6 +46,8 @@ module OpenAI
|
|
|
38
46
|
)
|
|
39
47
|
end
|
|
40
48
|
|
|
49
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
50
|
+
#
|
|
41
51
|
# Fetch the latest metadata for a generated video.
|
|
42
52
|
#
|
|
43
53
|
# @overload retrieve(video_id, request_options: {})
|
|
@@ -59,6 +69,8 @@ module OpenAI
|
|
|
59
69
|
)
|
|
60
70
|
end
|
|
61
71
|
|
|
72
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
73
|
+
#
|
|
62
74
|
# Some parameter documentations has been truncated, see
|
|
63
75
|
# {OpenAI::Models::VideoListParams} for more details.
|
|
64
76
|
#
|
|
@@ -91,6 +103,8 @@ module OpenAI
|
|
|
91
103
|
)
|
|
92
104
|
end
|
|
93
105
|
|
|
106
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
107
|
+
#
|
|
94
108
|
# Permanently delete a completed or failed video and its stored assets.
|
|
95
109
|
#
|
|
96
110
|
# @overload delete(video_id, request_options: {})
|
|
@@ -112,8 +126,14 @@ module OpenAI
|
|
|
112
126
|
)
|
|
113
127
|
end
|
|
114
128
|
|
|
129
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
130
|
+
#
|
|
115
131
|
# Create a character from an uploaded video.
|
|
116
132
|
#
|
|
133
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
134
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
135
|
+
# content type.
|
|
136
|
+
#
|
|
117
137
|
# @overload create_character(name:, video:, request_options: {})
|
|
118
138
|
#
|
|
119
139
|
# @param name [String] Display name for this API character.
|
|
@@ -138,6 +158,8 @@ module OpenAI
|
|
|
138
158
|
)
|
|
139
159
|
end
|
|
140
160
|
|
|
161
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
162
|
+
#
|
|
141
163
|
# Download the generated video bytes or a derived preview asset.
|
|
142
164
|
#
|
|
143
165
|
# Streams the rendered video content for the specified video job.
|
|
@@ -167,9 +189,15 @@ module OpenAI
|
|
|
167
189
|
)
|
|
168
190
|
end
|
|
169
191
|
|
|
192
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
193
|
+
#
|
|
170
194
|
# Create a new video generation job by editing a source video or existing
|
|
171
195
|
# generated video.
|
|
172
196
|
#
|
|
197
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
198
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
199
|
+
# content type.
|
|
200
|
+
#
|
|
173
201
|
# @overload edit(prompt:, video:, request_options: {})
|
|
174
202
|
#
|
|
175
203
|
# @param prompt [String] Text prompt that describes how to edit the source video.
|
|
@@ -194,11 +222,17 @@ module OpenAI
|
|
|
194
222
|
)
|
|
195
223
|
end
|
|
196
224
|
|
|
225
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
226
|
+
#
|
|
197
227
|
# Some parameter documentations has been truncated, see
|
|
198
228
|
# {OpenAI::Models::VideoExtendParams} for more details.
|
|
199
229
|
#
|
|
200
230
|
# Create an extension of a completed video.
|
|
201
231
|
#
|
|
232
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
233
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
234
|
+
# content type.
|
|
235
|
+
#
|
|
202
236
|
# @overload extend_(prompt:, seconds:, video:, request_options: {})
|
|
203
237
|
#
|
|
204
238
|
# @param prompt [String] Updated text prompt that directs the extension generation.
|
|
@@ -225,6 +259,8 @@ module OpenAI
|
|
|
225
259
|
)
|
|
226
260
|
end
|
|
227
261
|
|
|
262
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
263
|
+
#
|
|
228
264
|
# Fetch a character.
|
|
229
265
|
#
|
|
230
266
|
# @overload get_character(character_id, request_options: {})
|
|
@@ -246,6 +282,8 @@ module OpenAI
|
|
|
246
282
|
)
|
|
247
283
|
end
|
|
248
284
|
|
|
285
|
+
# @deprecated The Sora API is scheduled to permanently shut down on September 24, 2026.
|
|
286
|
+
#
|
|
249
287
|
# Create a remix of a completed video using a refreshed prompt.
|
|
250
288
|
#
|
|
251
289
|
# @overload remix(video_id, prompt:, request_options: {})
|
|
@@ -37,16 +37,26 @@ module OpenAI
|
|
|
37
37
|
webhook_secret = @client.webhook_secret || ENV["OPENAI_WEBHOOK_SECRET"],
|
|
38
38
|
tolerance = 300
|
|
39
39
|
)
|
|
40
|
-
if webhook_secret.nil?
|
|
40
|
+
if webhook_secret.nil? || webhook_secret.strip.empty?
|
|
41
41
|
raise ArgumentError,
|
|
42
42
|
"The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, " \
|
|
43
43
|
"or passed to this function"
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
header_names = %w[webhook-signature webhook-timestamp webhook-id]
|
|
47
|
+
normalized_headers = {}
|
|
48
|
+
headers.each do |name, value|
|
|
49
|
+
name = name.to_s.downcase.delete_prefix("http_").tr("_", "-")
|
|
50
|
+
next unless header_names.include?(name)
|
|
51
|
+
|
|
52
|
+
if normalized_headers.key?(name) && normalized_headers[name] != value
|
|
53
|
+
raise ArgumentError, "Conflicting values for #{name} header"
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
normalized_headers[name] = value
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
signature_header, timestamp_header, webhook_id = normalized_headers.values_at(*header_names)
|
|
50
60
|
|
|
51
61
|
if signature_header.nil?
|
|
52
62
|
raise ArgumentError, "Missing required webhook-signature header"
|
|
@@ -90,11 +100,13 @@ module OpenAI
|
|
|
90
100
|
|
|
91
101
|
# Decode the secret if it starts with whsec_
|
|
92
102
|
decoded_secret = if webhook_secret.start_with?("whsec_")
|
|
93
|
-
Base64.
|
|
103
|
+
Base64.strict_decode64(webhook_secret[6..])
|
|
94
104
|
else
|
|
95
105
|
webhook_secret
|
|
96
106
|
end
|
|
97
107
|
|
|
108
|
+
raise ArgumentError, "The webhook secret must not be empty" if decoded_secret.empty?
|
|
109
|
+
|
|
98
110
|
# Create the signed payload: {webhook_id}.{timestamp}.{payload}
|
|
99
111
|
signed_payload = "#{webhook_id}.#{timestamp_header}.#{payload}"
|
|
100
112
|
|
data/lib/openai/version.rb
CHANGED
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,58 @@ 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_created_event"
|
|
125
|
+
require_relative "openai/models/beta/beta_response_content_part_done_event"
|
|
126
|
+
require_relative "openai/models/beta/beta_response_content_part_added_event"
|
|
127
|
+
require_relative "openai/models/beta/beta_response_completed_event"
|
|
128
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_interpreting_event"
|
|
129
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_in_progress_event"
|
|
130
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_completed_event"
|
|
131
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_code_done_event"
|
|
132
|
+
require_relative "openai/models/beta/beta_response_code_interpreter_call_code_delta_event"
|
|
133
|
+
require_relative "openai/models/beta/beta_response_audio_transcript_done_event"
|
|
134
|
+
require_relative "openai/models/beta/beta_response_audio_transcript_delta_event"
|
|
135
|
+
require_relative "openai/models/beta/beta_response_audio_done_event"
|
|
136
|
+
require_relative "openai/models/beta/beta_response_audio_delta_event"
|
|
81
137
|
require_relative "openai/models/reasoning_effort"
|
|
82
138
|
require_relative "openai/models/chat/chat_completion_message"
|
|
83
139
|
require_relative "openai/models/responses/response_input_file"
|
|
@@ -93,6 +149,58 @@ require_relative "openai/models/realtime/realtime_session_create_request"
|
|
|
93
149
|
require_relative "openai/models/responses/response_custom_tool_call"
|
|
94
150
|
require_relative "openai/models/responses/response_custom_tool_call_output"
|
|
95
151
|
require_relative "openai/models/responses/response_function_tool_call"
|
|
152
|
+
require_relative "openai/models/responses/response_custom_tool_call_input_done_event"
|
|
153
|
+
require_relative "openai/models/responses/response_custom_tool_call_input_delta_event"
|
|
154
|
+
require_relative "openai/models/responses/response_queued_event"
|
|
155
|
+
require_relative "openai/models/responses/response_output_text_annotation_added_event"
|
|
156
|
+
require_relative "openai/models/responses/response_mcp_list_tools_in_progress_event"
|
|
157
|
+
require_relative "openai/models/responses/response_mcp_list_tools_failed_event"
|
|
158
|
+
require_relative "openai/models/responses/response_mcp_list_tools_completed_event"
|
|
159
|
+
require_relative "openai/models/responses/response_mcp_call_in_progress_event"
|
|
160
|
+
require_relative "openai/models/responses/response_mcp_call_failed_event"
|
|
161
|
+
require_relative "openai/models/responses/response_mcp_call_completed_event"
|
|
162
|
+
require_relative "openai/models/responses/response_mcp_call_arguments_done_event"
|
|
163
|
+
require_relative "openai/models/responses/response_mcp_call_arguments_delta_event"
|
|
164
|
+
require_relative "openai/models/responses/response_image_gen_call_partial_image_event"
|
|
165
|
+
require_relative "openai/models/responses/response_image_gen_call_in_progress_event"
|
|
166
|
+
require_relative "openai/models/responses/response_image_gen_call_generating_event"
|
|
167
|
+
require_relative "openai/models/responses/response_image_gen_call_completed_event"
|
|
168
|
+
require_relative "openai/models/responses/response_web_search_call_searching_event"
|
|
169
|
+
require_relative "openai/models/responses/response_web_search_call_in_progress_event"
|
|
170
|
+
require_relative "openai/models/responses/response_web_search_call_completed_event"
|
|
171
|
+
require_relative "openai/models/responses/response_text_done_event"
|
|
172
|
+
require_relative "openai/models/responses/response_text_delta_event"
|
|
173
|
+
require_relative "openai/models/responses/response_refusal_done_event"
|
|
174
|
+
require_relative "openai/models/responses/response_refusal_delta_event"
|
|
175
|
+
require_relative "openai/models/responses/response_reasoning_text_done_event"
|
|
176
|
+
require_relative "openai/models/responses/response_reasoning_text_delta_event"
|
|
177
|
+
require_relative "openai/models/responses/response_reasoning_summary_text_done_event"
|
|
178
|
+
require_relative "openai/models/responses/response_reasoning_summary_text_delta_event"
|
|
179
|
+
require_relative "openai/models/responses/response_reasoning_summary_part_done_event"
|
|
180
|
+
require_relative "openai/models/responses/response_reasoning_summary_part_added_event"
|
|
181
|
+
require_relative "openai/models/responses/response_output_item_done_event"
|
|
182
|
+
require_relative "openai/models/responses/response_output_item_added_event"
|
|
183
|
+
require_relative "openai/models/responses/response_incomplete_event"
|
|
184
|
+
require_relative "openai/models/responses/response_failed_event"
|
|
185
|
+
require_relative "openai/models/responses/response_in_progress_event"
|
|
186
|
+
require_relative "openai/models/responses/response_function_call_arguments_done_event"
|
|
187
|
+
require_relative "openai/models/responses/response_function_call_arguments_delta_event"
|
|
188
|
+
require_relative "openai/models/responses/response_file_search_call_searching_event"
|
|
189
|
+
require_relative "openai/models/responses/response_file_search_call_in_progress_event"
|
|
190
|
+
require_relative "openai/models/responses/response_file_search_call_completed_event"
|
|
191
|
+
require_relative "openai/models/responses/response_created_event"
|
|
192
|
+
require_relative "openai/models/responses/response_content_part_done_event"
|
|
193
|
+
require_relative "openai/models/responses/response_content_part_added_event"
|
|
194
|
+
require_relative "openai/models/responses/response_completed_event"
|
|
195
|
+
require_relative "openai/models/responses/response_code_interpreter_call_interpreting_event"
|
|
196
|
+
require_relative "openai/models/responses/response_code_interpreter_call_in_progress_event"
|
|
197
|
+
require_relative "openai/models/responses/response_code_interpreter_call_completed_event"
|
|
198
|
+
require_relative "openai/models/responses/response_code_interpreter_call_code_done_event"
|
|
199
|
+
require_relative "openai/models/responses/response_code_interpreter_call_code_delta_event"
|
|
200
|
+
require_relative "openai/models/responses/response_audio_transcript_done_event"
|
|
201
|
+
require_relative "openai/models/responses/response_audio_transcript_delta_event"
|
|
202
|
+
require_relative "openai/models/responses/response_audio_done_event"
|
|
203
|
+
require_relative "openai/models/responses/response_audio_delta_event"
|
|
96
204
|
require_relative "openai/models/admin/organization/admin_api_key_create_params"
|
|
97
205
|
require_relative "openai/models/admin/organization/admin_api_key_create_response"
|
|
98
206
|
require_relative "openai/models/admin/organization/admin_api_key_delete_params"
|
|
@@ -354,47 +462,27 @@ require_relative "openai/models/beta/beta_inline_skill"
|
|
|
354
462
|
require_relative "openai/models/beta/beta_inline_skill_source"
|
|
355
463
|
require_relative "openai/models/beta/beta_local_environment"
|
|
356
464
|
require_relative "openai/models/beta/beta_local_skill"
|
|
465
|
+
require_relative "openai/models/beta/beta_mcp_tool_call_error"
|
|
357
466
|
require_relative "openai/models/beta/beta_namespace_tool"
|
|
358
467
|
require_relative "openai/models/beta/beta_response"
|
|
359
468
|
require_relative "openai/models/beta/beta_response_apply_patch_tool_call"
|
|
360
469
|
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
470
|
require_relative "openai/models/beta/beta_response_code_interpreter_tool_call"
|
|
371
471
|
require_relative "openai/models/beta/beta_response_compaction_item"
|
|
372
472
|
require_relative "openai/models/beta/beta_response_compaction_item_param"
|
|
373
|
-
require_relative "openai/models/beta/beta_response_completed_event"
|
|
374
473
|
require_relative "openai/models/beta/beta_response_computer_tool_call"
|
|
375
474
|
require_relative "openai/models/beta/beta_response_computer_tool_call_output_item"
|
|
376
475
|
require_relative "openai/models/beta/beta_response_computer_tool_call_output_screenshot"
|
|
377
476
|
require_relative "openai/models/beta/beta_response_container_reference"
|
|
378
477
|
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
478
|
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
479
|
require_relative "openai/models/beta/beta_response_custom_tool_call_item"
|
|
386
480
|
require_relative "openai/models/beta/beta_response_custom_tool_call_output_item"
|
|
387
481
|
require_relative "openai/models/beta/beta_response_error"
|
|
388
482
|
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"
|
|
@@ -950,51 +1007,31 @@ require_relative "openai/models/responses/input_token_count_params"
|
|
|
950
1007
|
require_relative "openai/models/responses/input_token_count_response"
|
|
951
1008
|
require_relative "openai/models/responses/local_environment"
|
|
952
1009
|
require_relative "openai/models/responses/local_skill"
|
|
1010
|
+
require_relative "openai/models/responses/mcp_tool_call_error"
|
|
953
1011
|
require_relative "openai/models/responses/namespace_tool"
|
|
954
1012
|
require_relative "openai/models/responses/response"
|
|
955
1013
|
require_relative "openai/models/responses/response_apply_patch_tool_call"
|
|
956
1014
|
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
1015
|
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
1016
|
require_relative "openai/models/responses/response_code_interpreter_tool_call"
|
|
968
1017
|
require_relative "openai/models/responses/response_compaction_item"
|
|
969
1018
|
require_relative "openai/models/responses/response_compaction_item_param"
|
|
970
1019
|
require_relative "openai/models/responses/response_compact_params"
|
|
971
|
-
require_relative "openai/models/responses/response_completed_event"
|
|
972
1020
|
require_relative "openai/models/responses/response_computer_tool_call"
|
|
973
1021
|
require_relative "openai/models/responses/response_computer_tool_call_output_item"
|
|
974
1022
|
require_relative "openai/models/responses/response_computer_tool_call_output_screenshot"
|
|
975
1023
|
require_relative "openai/models/responses/response_container_reference"
|
|
976
1024
|
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
1025
|
require_relative "openai/models/responses/response_conversation_param"
|
|
980
|
-
require_relative "openai/models/responses/response_created_event"
|
|
981
1026
|
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
1027
|
require_relative "openai/models/responses/response_custom_tool_call_item"
|
|
985
1028
|
require_relative "openai/models/responses/response_custom_tool_call_output_item"
|
|
986
1029
|
require_relative "openai/models/responses/response_delete_params"
|
|
987
1030
|
require_relative "openai/models/responses/response_error"
|
|
988
1031
|
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
1032
|
require_relative "openai/models/responses/response_file_search_tool_call"
|
|
994
1033
|
require_relative "openai/models/responses/response_format_text_config"
|
|
995
1034
|
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
1035
|
require_relative "openai/models/responses/response_function_call_output_item"
|
|
999
1036
|
require_relative "openai/models/responses/response_function_call_output_item_list"
|
|
1000
1037
|
require_relative "openai/models/responses/response_function_shell_call_output_content"
|
|
@@ -1003,13 +1040,7 @@ require_relative "openai/models/responses/response_function_shell_tool_call_outp
|
|
|
1003
1040
|
require_relative "openai/models/responses/response_function_tool_call_item"
|
|
1004
1041
|
require_relative "openai/models/responses/response_function_tool_call_output_item"
|
|
1005
1042
|
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
1043
|
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
1044
|
require_relative "openai/models/responses/response_input"
|
|
1014
1045
|
require_relative "openai/models/responses/response_input_audio"
|
|
1015
1046
|
require_relative "openai/models/responses/response_input_content"
|
|
@@ -1022,46 +1053,21 @@ require_relative "openai/models/responses/response_input_text_content"
|
|
|
1022
1053
|
require_relative "openai/models/responses/response_item"
|
|
1023
1054
|
require_relative "openai/models/responses/response_item_list"
|
|
1024
1055
|
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
1056
|
require_relative "openai/models/responses/response_output_audio"
|
|
1034
1057
|
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
1058
|
require_relative "openai/models/responses/response_output_message"
|
|
1038
|
-
require_relative "openai/models/responses/response_output_text_annotation_added_event"
|
|
1039
1059
|
require_relative "openai/models/responses/response_prompt"
|
|
1040
|
-
require_relative "openai/models/responses/response_queued_event"
|
|
1041
1060
|
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
1061
|
require_relative "openai/models/responses/response_retrieve_params"
|
|
1051
1062
|
require_relative "openai/models/responses/responses_client_event"
|
|
1052
1063
|
require_relative "openai/models/responses/responses_server_event"
|
|
1053
1064
|
require_relative "openai/models/responses/response_status"
|
|
1054
1065
|
require_relative "openai/models/responses/response_stream_event"
|
|
1055
1066
|
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
1067
|
require_relative "openai/models/responses/response_tool_search_call"
|
|
1059
1068
|
require_relative "openai/models/responses/response_tool_search_output_item"
|
|
1060
1069
|
require_relative "openai/models/responses/response_tool_search_output_item_param"
|
|
1061
1070
|
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
1071
|
require_relative "openai/models/responses/skill_reference"
|
|
1066
1072
|
require_relative "openai/models/responses/tool"
|
|
1067
1073
|
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
|