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
|
@@ -366,6 +366,17 @@ module OpenAI
|
|
|
366
366
|
sig { returns(T.nilable(T::Boolean)) }
|
|
367
367
|
attr_accessor :stream
|
|
368
368
|
|
|
369
|
+
# The WebSocket lane for this response. Requests with the same `stream_id` are
|
|
370
|
+
# processed FIFO, and events for the response echo the same `stream_id`.
|
|
371
|
+
#
|
|
372
|
+
# `stream_id` controls routing; `previous_response_id` controls conversation
|
|
373
|
+
# lineage, so a new lane can fork from a response created on another lane.
|
|
374
|
+
sig { returns(T.nilable(String)) }
|
|
375
|
+
attr_reader :stream_id
|
|
376
|
+
|
|
377
|
+
sig { params(stream_id: String).void }
|
|
378
|
+
attr_writer :stream_id
|
|
379
|
+
|
|
369
380
|
# Options for streaming responses. Only set this when you set `stream: true`.
|
|
370
381
|
sig do
|
|
371
382
|
returns(
|
|
@@ -562,12 +573,14 @@ module OpenAI
|
|
|
562
573
|
attr_writer :user
|
|
563
574
|
|
|
564
575
|
# Client event for creating a response over a persistent WebSocket connection.
|
|
565
|
-
# This payload uses the same top-level fields as `POST /v1/responses
|
|
576
|
+
# This payload uses the same top-level fields as `POST /v1/responses`, plus
|
|
577
|
+
# WebSocket-only envelope metadata.
|
|
566
578
|
#
|
|
567
579
|
# Notes:
|
|
568
580
|
#
|
|
569
581
|
# - `stream` is implicit over WebSocket and should not be sent.
|
|
570
582
|
# - `background` is not supported over WebSocket.
|
|
583
|
+
# - `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
|
|
571
584
|
sig do
|
|
572
585
|
params(
|
|
573
586
|
background: T.nilable(T::Boolean),
|
|
@@ -628,6 +641,7 @@ module OpenAI
|
|
|
628
641
|
),
|
|
629
642
|
store: T.nilable(T::Boolean),
|
|
630
643
|
stream: T.nilable(T::Boolean),
|
|
644
|
+
stream_id: String,
|
|
631
645
|
stream_options:
|
|
632
646
|
T.nilable(
|
|
633
647
|
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions::OrHash
|
|
@@ -833,6 +847,12 @@ module OpenAI
|
|
|
833
847
|
# [Streaming section below](https://platform.openai.com/docs/api-reference/responses-streaming)
|
|
834
848
|
# for more information.
|
|
835
849
|
stream: nil,
|
|
850
|
+
# The WebSocket lane for this response. Requests with the same `stream_id` are
|
|
851
|
+
# processed FIFO, and events for the response echo the same `stream_id`.
|
|
852
|
+
#
|
|
853
|
+
# `stream_id` controls routing; `previous_response_id` controls conversation
|
|
854
|
+
# lineage, so a new lane can fork from a response created on another lane.
|
|
855
|
+
stream_id: nil,
|
|
836
856
|
# Options for streaming responses. Only set this when you set `stream: true`.
|
|
837
857
|
stream_options: nil,
|
|
838
858
|
# What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
|
|
@@ -958,6 +978,7 @@ module OpenAI
|
|
|
958
978
|
),
|
|
959
979
|
store: T.nilable(T::Boolean),
|
|
960
980
|
stream: T.nilable(T::Boolean),
|
|
981
|
+
stream_id: String,
|
|
961
982
|
stream_options:
|
|
962
983
|
T.nilable(
|
|
963
984
|
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions
|
|
@@ -1619,6 +1640,21 @@ module OpenAI
|
|
|
1619
1640
|
:"gpt-5.1-codex-max",
|
|
1620
1641
|
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1621
1642
|
)
|
|
1643
|
+
GPT_DAYBREAK_BLUE_LATEST =
|
|
1644
|
+
T.let(
|
|
1645
|
+
:"gpt-daybreak-blue-latest",
|
|
1646
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1647
|
+
)
|
|
1648
|
+
GPT_DAYBREAK_RED_LATEST =
|
|
1649
|
+
T.let(
|
|
1650
|
+
:"gpt-daybreak-red-latest",
|
|
1651
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1652
|
+
)
|
|
1653
|
+
GPT_5_6_CYBER =
|
|
1654
|
+
T.let(
|
|
1655
|
+
:"gpt-5.6-cyber",
|
|
1656
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1657
|
+
)
|
|
1622
1658
|
end
|
|
1623
1659
|
|
|
1624
1660
|
class Moderation < OpenAI::Internal::Type::BaseModel
|