openai 0.78.0 → 0.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +80 -0
- data/README.md +241 -8
- data/SECURITY.md +6 -22
- data/azure.md +110 -0
- data/bedrock.md +132 -0
- data/examples/mtls_custom_http_client.rb +61 -0
- data/lib/openai/auth/workload_identity.rb +13 -2
- data/lib/openai/auth/workload_identity_auth.rb +2 -1
- data/lib/openai/client.rb +29 -6
- data/lib/openai/errors.rb +11 -1
- data/lib/openai/helpers/streaming/chat_completion_stream.rb +3 -3
- data/lib/openai/helpers/streaming/response_stream.rb +5 -6
- data/lib/openai/helpers/structured_output/base_model.rb +20 -19
- data/lib/openai/helpers/structured_output/json_schema_converter.rb +12 -5
- data/lib/openai/http_client.rb +99 -7
- data/lib/openai/internal/conversation_cursor_page.rb +5 -6
- data/lib/openai/internal/cursor_page.rb +3 -3
- data/lib/openai/internal/logging.rb +419 -0
- data/lib/openai/internal/next_cursor_page.rb +5 -6
- data/lib/openai/internal/page.rb +2 -2
- data/lib/openai/internal/provider.rb +7 -1
- data/lib/openai/internal/read_io_adapter.rb +42 -18
- data/lib/openai/internal/stream.rb +2 -2
- data/lib/openai/internal/transport/base_client.rb +137 -37
- data/lib/openai/internal/type/array_of.rb +6 -4
- data/lib/openai/internal/type/base_model.rb +39 -1
- data/lib/openai/internal/type/base_page.rb +19 -2
- data/lib/openai/internal/type/base_stream.rb +39 -7
- data/lib/openai/internal/type/hash_of.rb +3 -3
- data/lib/openai/internal/util.rb +52 -27
- data/lib/openai/models/admin/organization/audit_log_list_params.rb +3 -1
- data/lib/openai/models/admin/organization/audit_log_list_response.rb +33 -11
- data/lib/openai/models/admin/organization/groups/role_list_response.rb +5 -1
- data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +5 -1
- data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +6 -1
- data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +6 -1
- data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +3 -1
- data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +6 -1
- data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +6 -1
- data/lib/openai/models/admin/organization/users/role_list_response.rb +5 -1
- data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +5 -1
- data/lib/openai/models/all_models.rb +3 -0
- data/lib/openai/models/audio/transcription_create_params.rb +7 -1
- data/lib/openai/models/audio/translation_create_params.rb +7 -1
- data/lib/openai/models/beta/beta_response.rb +9 -0
- data/lib/openai/models/beta/beta_response_stream_event.rb +1 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +28 -3
- data/lib/openai/models/beta/beta_responses_server_event.rb +1037 -61
- data/lib/openai/models/beta/response_compact_params.rb +9 -0
- data/lib/openai/models/beta/response_create_params.rb +9 -0
- data/lib/openai/models/containers/file_create_params.rb +4 -0
- data/lib/openai/models/content_provenance_check_create_params.rb +4 -0
- data/lib/openai/models/file_create_params.rb +4 -0
- data/lib/openai/models/image_create_variation_params.rb +4 -0
- data/lib/openai/models/image_edit_params.rb +8 -0
- data/lib/openai/models/responses/response_compact_params.rb +9 -0
- data/lib/openai/models/responses/response_stream_event.rb +1 -1
- data/lib/openai/models/responses/responses_client_event.rb +13 -1
- data/lib/openai/models/responses/responses_server_event.rb +1027 -54
- data/lib/openai/models/responses_model.rb +3 -0
- data/lib/openai/models/skill_create_params.rb +4 -0
- data/lib/openai/models/skills/version_create_params.rb +4 -0
- data/lib/openai/models/uploads/part_create_params.rb +4 -0
- data/lib/openai/models/vector_store_search_response.rb +3 -1
- data/lib/openai/models/video_create_character_params.rb +4 -0
- data/lib/openai/models/video_create_params.rb +4 -0
- data/lib/openai/models/video_edit_params.rb +4 -0
- data/lib/openai/models/video_extend_params.rb +4 -0
- data/lib/openai/models.rb +9 -1
- data/lib/openai/net_http_client.rb +20 -6
- data/lib/openai/providers/azure.rb +216 -0
- data/lib/openai/providers/bedrock.rb +3 -1
- data/lib/openai/resources/admin/organization/projects/groups/roles.rb +1 -1
- data/lib/openai/resources/admin/organization/projects/groups.rb +1 -1
- data/lib/openai/resources/admin/organization/projects/users/roles.rb +1 -1
- data/lib/openai/resources/admin/organization/projects.rb +4 -2
- data/lib/openai/resources/audio/transcriptions.rb +8 -0
- data/lib/openai/resources/audio/translations.rb +4 -0
- data/lib/openai/resources/beta/responses.rb +1 -1
- data/lib/openai/resources/beta/threads/runs/steps.rb +2 -2
- data/lib/openai/resources/containers/files.rb +4 -0
- data/lib/openai/resources/content_provenance_checks.rb +4 -0
- data/lib/openai/resources/conversations/items.rb +1 -1
- data/lib/openai/resources/evals/runs/output_items.rb +1 -1
- data/lib/openai/resources/files.rb +4 -0
- data/lib/openai/resources/images.rb +12 -0
- data/lib/openai/resources/responses.rb +3 -2
- data/lib/openai/resources/skills/versions.rb +4 -0
- data/lib/openai/resources/skills.rb +4 -0
- data/lib/openai/resources/uploads/parts.rb +4 -0
- data/lib/openai/resources/vector_stores/file_batches.rb +1 -1
- data/lib/openai/resources/videos.rb +38 -0
- data/lib/openai/resources/webhooks.rb +18 -6
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +111 -107
- data/rbi/openai/auth.rbi +4 -4
- data/rbi/openai/client.rbi +13 -3
- data/rbi/openai/errors.rbi +7 -0
- data/rbi/openai/helpers/streaming/events.rbi +12 -0
- data/rbi/openai/http_client.rbi +62 -2
- data/rbi/openai/internal/logging.rbi +192 -0
- data/rbi/openai/internal/provider.rbi +3 -0
- data/rbi/openai/internal/read_io_adapter.rbi +6 -1
- data/rbi/openai/internal/transport/base_client.rbi +61 -7
- data/rbi/openai/internal/type/base_model.rbi +24 -1
- data/rbi/openai/internal/type/base_page.rbi +13 -2
- data/rbi/openai/internal/type/base_stream.rbi +15 -4
- data/rbi/openai/internal/util.rbi +26 -2
- data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +5 -0
- data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +5 -0
- data/rbi/openai/models/all_models.rbi +15 -0
- data/rbi/openai/models/audio/transcription_create_params.rbi +14 -2
- data/rbi/openai/models/audio/translation_create_params.rbi +14 -2
- data/rbi/openai/models/beta/beta_response.rbi +15 -0
- data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -1
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +37 -1
- data/rbi/openai/models/beta/beta_responses_server_event.rbi +3791 -54
- data/rbi/openai/models/beta/response_compact_params.rbi +15 -0
- data/rbi/openai/models/beta/response_create_params.rbi +15 -0
- data/rbi/openai/models/containers/file_create_params.rbi +8 -0
- data/rbi/openai/models/content_provenance_check_create_params.rbi +8 -0
- data/rbi/openai/models/file_create_params.rbi +8 -0
- data/rbi/openai/models/image_create_variation_params.rbi +8 -0
- data/rbi/openai/models/image_edit_params.rbi +16 -0
- data/rbi/openai/models/responses/response_compact_params.rbi +15 -0
- data/rbi/openai/models/responses/response_stream_event.rbi +1 -1
- data/rbi/openai/models/responses/responses_client_event.rbi +19 -0
- data/rbi/openai/models/responses/responses_server_event.rbi +3282 -53
- data/rbi/openai/models/responses_model.rbi +15 -0
- data/rbi/openai/models/skill_create_params.rbi +8 -0
- data/rbi/openai/models/skills/version_create_params.rbi +8 -0
- data/rbi/openai/models/uploads/part_create_params.rbi +8 -0
- data/rbi/openai/models/video_create_character_params.rbi +8 -0
- data/rbi/openai/models/video_create_params.rbi +8 -0
- data/rbi/openai/models/video_edit_params.rbi +8 -0
- data/rbi/openai/models/video_extend_params.rbi +8 -0
- data/rbi/openai/net_http_client.rbi +2 -2
- data/rbi/openai/providers.rbi +9 -0
- data/rbi/openai/resources/audio/transcriptions.rbi +14 -2
- data/rbi/openai/resources/audio/translations.rbi +7 -1
- data/rbi/openai/resources/containers/files.rbi +4 -0
- data/rbi/openai/resources/content_provenance_checks.rbi +4 -0
- data/rbi/openai/resources/files.rbi +4 -0
- data/rbi/openai/resources/images.rbi +20 -0
- data/rbi/openai/resources/skills/versions.rbi +4 -0
- data/rbi/openai/resources/skills.rbi +4 -0
- data/rbi/openai/resources/uploads/parts.rbi +4 -0
- data/rbi/openai/resources/videos.rbi +16 -0
- data/sig/openai/client.rbs +6 -2
- data/sig/openai/errors.rbs +5 -0
- data/sig/openai/http_client.rbs +37 -2
- data/sig/openai/internal/logging.rbs +88 -0
- data/sig/openai/internal/provider.rbs +3 -1
- data/sig/openai/internal/read_io_adapter.rbs +3 -1
- data/sig/openai/internal/transport/base_client.rbs +33 -5
- data/sig/openai/internal/type/base_model.rbs +13 -0
- data/sig/openai/internal/type/base_page.rbs +8 -1
- data/sig/openai/internal/type/base_stream.rbs +8 -2
- data/sig/openai/internal/util.rbs +12 -0
- data/sig/openai/models/admin/organization/audit_log_list_params.rbs +2 -0
- data/sig/openai/models/admin/organization/audit_log_list_response.rbs +2 -0
- data/sig/openai/models/all_models.rbs +6 -0
- data/sig/openai/models/beta/beta_response.rbs +6 -0
- data/sig/openai/models/beta/beta_responses_client_event.rbs +13 -0
- data/sig/openai/models/beta/beta_responses_server_event.rbs +1946 -54
- data/sig/openai/models/beta/response_compact_params.rbs +6 -0
- data/sig/openai/models/beta/response_create_params.rbs +6 -0
- data/sig/openai/models/responses/response_compact_params.rbs +6 -0
- data/sig/openai/models/responses/responses_client_event.rbs +7 -0
- data/sig/openai/models/responses/responses_server_event.rbs +1786 -53
- data/sig/openai/models/responses_model.rbs +6 -0
- data/sig/openai/net_http_client.rbs +2 -2
- data/sig/openai/providers.rbs +6 -0
- metadata +24 -1
|
@@ -325,6 +325,12 @@ module OpenAI
|
|
|
325
325
|
|
|
326
326
|
variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_1_CODEX_MAX }
|
|
327
327
|
|
|
328
|
+
variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_DAYBREAK_BLUE_LATEST }
|
|
329
|
+
|
|
330
|
+
variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_DAYBREAK_RED_LATEST }
|
|
331
|
+
|
|
332
|
+
variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_6_CYBER }
|
|
333
|
+
|
|
328
334
|
variant String
|
|
329
335
|
|
|
330
336
|
# @!method self.variants
|
|
@@ -432,6 +438,9 @@ module OpenAI
|
|
|
432
438
|
GPT_5_PRO = :"gpt-5-pro"
|
|
433
439
|
GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
|
|
434
440
|
GPT_5_1_CODEX_MAX = :"gpt-5.1-codex-max"
|
|
441
|
+
GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
|
|
442
|
+
GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
|
|
443
|
+
GPT_5_6_CYBER = :"gpt-5.6-cyber"
|
|
435
444
|
|
|
436
445
|
# @!endgroup
|
|
437
446
|
end
|
|
@@ -692,6 +692,12 @@ module OpenAI
|
|
|
692
692
|
|
|
693
693
|
variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_1_CODEX_MAX }
|
|
694
694
|
|
|
695
|
+
variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_DAYBREAK_BLUE_LATEST }
|
|
696
|
+
|
|
697
|
+
variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_DAYBREAK_RED_LATEST }
|
|
698
|
+
|
|
699
|
+
variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_6_CYBER }
|
|
700
|
+
|
|
695
701
|
variant String
|
|
696
702
|
|
|
697
703
|
# @!method self.variants
|
|
@@ -799,6 +805,9 @@ module OpenAI
|
|
|
799
805
|
GPT_5_PRO = :"gpt-5-pro"
|
|
800
806
|
GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
|
|
801
807
|
GPT_5_1_CODEX_MAX = :"gpt-5.1-codex-max"
|
|
808
|
+
GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
|
|
809
|
+
GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
|
|
810
|
+
GPT_5_6_CYBER = :"gpt-5.6-cyber"
|
|
802
811
|
|
|
803
812
|
# @!endgroup
|
|
804
813
|
end
|
|
@@ -16,6 +16,10 @@ module OpenAI
|
|
|
16
16
|
# @!attribute file
|
|
17
17
|
# The File object (not file name) to be uploaded.
|
|
18
18
|
#
|
|
19
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
20
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
21
|
+
# content type.
|
|
22
|
+
#
|
|
19
23
|
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart, nil]
|
|
20
24
|
optional :file, OpenAI::Internal::Type::FileInput
|
|
21
25
|
|
|
@@ -10,6 +10,10 @@ module OpenAI
|
|
|
10
10
|
# @!attribute file
|
|
11
11
|
# The image or audio file to check for supported OpenAI provenance signals.
|
|
12
12
|
#
|
|
13
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
14
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
15
|
+
# content type.
|
|
16
|
+
#
|
|
13
17
|
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart]
|
|
14
18
|
required :file, OpenAI::Internal::Type::FileInput
|
|
15
19
|
|
|
@@ -10,6 +10,10 @@ module OpenAI
|
|
|
10
10
|
# @!attribute file
|
|
11
11
|
# The File object (not file name) to be uploaded.
|
|
12
12
|
#
|
|
13
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
14
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
15
|
+
# content type.
|
|
16
|
+
#
|
|
13
17
|
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart]
|
|
14
18
|
required :file, OpenAI::Internal::Type::FileInput
|
|
15
19
|
|
|
@@ -11,6 +11,10 @@ module OpenAI
|
|
|
11
11
|
# The image to use as the basis for the variation(s). Must be a valid PNG file,
|
|
12
12
|
# less than 4MB, and square.
|
|
13
13
|
#
|
|
14
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
15
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
16
|
+
# content type.
|
|
17
|
+
#
|
|
14
18
|
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart]
|
|
15
19
|
required :image, OpenAI::Internal::Type::FileInput
|
|
16
20
|
|
|
@@ -20,6 +20,10 @@ module OpenAI
|
|
|
20
20
|
# For `dall-e-2`, you can only provide one image, and it should be a square `png`
|
|
21
21
|
# file less than 4MB.
|
|
22
22
|
#
|
|
23
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
24
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
25
|
+
# content type.
|
|
26
|
+
#
|
|
23
27
|
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart, Array<Pathname, StringIO, IO, String, OpenAI::FilePart>]
|
|
24
28
|
required :image, union: -> { OpenAI::ImageEditParams::Image }
|
|
25
29
|
|
|
@@ -62,6 +66,10 @@ module OpenAI
|
|
|
62
66
|
# the mask will be applied on the first image. Must be a valid PNG file, less than
|
|
63
67
|
# 4MB, and have the same dimensions as `image`.
|
|
64
68
|
#
|
|
69
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
70
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
71
|
+
# content type.
|
|
72
|
+
#
|
|
65
73
|
# @return [Pathname, StringIO, IO, String, OpenAI::FilePart, nil]
|
|
66
74
|
optional :mask, OpenAI::Internal::Type::FileInput
|
|
67
75
|
|
|
@@ -316,6 +316,12 @@ module OpenAI
|
|
|
316
316
|
|
|
317
317
|
variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_1_CODEX_MAX }
|
|
318
318
|
|
|
319
|
+
variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_DAYBREAK_BLUE_LATEST }
|
|
320
|
+
|
|
321
|
+
variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_DAYBREAK_RED_LATEST }
|
|
322
|
+
|
|
323
|
+
variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_6_CYBER }
|
|
324
|
+
|
|
319
325
|
variant String
|
|
320
326
|
|
|
321
327
|
# @!method self.variants
|
|
@@ -423,6 +429,9 @@ module OpenAI
|
|
|
423
429
|
GPT_5_PRO = :"gpt-5-pro"
|
|
424
430
|
GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
|
|
425
431
|
GPT_5_1_CODEX_MAX = :"gpt-5.1-codex-max"
|
|
432
|
+
GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
|
|
433
|
+
GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
|
|
434
|
+
GPT_5_6_CYBER = :"gpt-5.6-cyber"
|
|
426
435
|
|
|
427
436
|
# @!endgroup
|
|
428
437
|
end
|
|
@@ -265,6 +265,16 @@ module OpenAI
|
|
|
265
265
|
# @return [Boolean, nil]
|
|
266
266
|
optional :stream, OpenAI::Internal::Type::Boolean, nil?: true
|
|
267
267
|
|
|
268
|
+
# @!attribute stream_id
|
|
269
|
+
# The WebSocket lane for this response. Requests with the same `stream_id` are
|
|
270
|
+
# processed FIFO, and events for the response echo the same `stream_id`.
|
|
271
|
+
#
|
|
272
|
+
# `stream_id` controls routing; `previous_response_id` controls conversation
|
|
273
|
+
# lineage, so a new lane can fork from a response created on another lane.
|
|
274
|
+
#
|
|
275
|
+
# @return [String, nil]
|
|
276
|
+
optional :stream_id, String
|
|
277
|
+
|
|
268
278
|
# @!attribute stream_options
|
|
269
279
|
# Options for streaming responses. Only set this when you set `stream: true`.
|
|
270
280
|
#
|
|
@@ -366,7 +376,7 @@ module OpenAI
|
|
|
366
376
|
# @return [String, nil]
|
|
367
377
|
optional :user, String
|
|
368
378
|
|
|
369
|
-
# @!method initialize(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, type: :"response.create")
|
|
379
|
+
# @!method initialize(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream: nil, stream_id: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, type: :"response.create")
|
|
370
380
|
# Some parameter documentations has been truncated, see
|
|
371
381
|
# {OpenAI::Models::Responses::ResponsesClientEvent} for more details.
|
|
372
382
|
#
|
|
@@ -414,6 +424,8 @@ module OpenAI
|
|
|
414
424
|
#
|
|
415
425
|
# @param stream [Boolean, nil] If set to true, the model response data will be streamed to the client
|
|
416
426
|
#
|
|
427
|
+
# @param stream_id [String] The WebSocket lane for this response. Requests with the same
|
|
428
|
+
#
|
|
417
429
|
# @param stream_options [OpenAI::Models::Responses::ResponsesClientEvent::StreamOptions, nil] Options for streaming responses. Only set this when you set `stream: true`.
|
|
418
430
|
#
|
|
419
431
|
# @param temperature [Float, nil] What sampling temperature to use, between 0 and 2. Higher values like 0.8 will m
|