openai 0.90.0 → 0.91.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 +19 -0
- data/README.md +1 -1
- data/examples/realtime/README.md +8 -0
- data/examples/realtime/browser/README.md +167 -0
- data/examples/realtime/browser/index.html +19 -0
- data/examples/realtime/browser/page.js +21 -0
- data/examples/realtime/browser/peer.js +180 -0
- data/examples/realtime/browser/server.rb +281 -0
- data/examples/responses/websocket_workflows.rb +66 -6
- data/lib/openai/auth/workload_identity.rb +5 -1
- data/lib/openai/auth/workload_identity_auth.rb +2 -2
- data/lib/openai/auth/x509_token_exchange.rb +1 -1
- data/lib/openai/helpers/local_audio/process.rb +1 -1
- data/lib/openai/helpers/responses_websocket/connection.rb +2 -1
- data/lib/openai/helpers/responses_websocket/session.rb +551 -0
- data/lib/openai/helpers/responses_websocket.rb +1 -0
- data/lib/openai/helpers/sorbet.rb +1 -1
- data/lib/openai/helpers/websocket/async_websocket_transport.rb +6 -1
- data/lib/openai/internal/poller.rb +2 -2
- data/lib/openai/internal/transport/base_client.rb +1 -1
- data/lib/openai/internal/util.rb +1 -1
- data/lib/openai/models/beta/agents/session_update_params.rb +108 -1
- data/lib/openai/models/beta/beta_response.rb +9 -3
- data/lib/openai/models/beta/beta_response_compaction_compacting_event.rb +75 -0
- data/lib/openai/models/beta/beta_response_stream_event.rb +4 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +25 -4
- data/lib/openai/models/beta/beta_responses_server_event.rb +39 -1
- data/lib/openai/models/beta/response_compact_params.rb +9 -3
- data/lib/openai/models/beta/response_create_params.rb +21 -4
- data/lib/openai/models/beta/session_turn_error.rb +3 -0
- data/lib/openai/models/chat_model.rb +3 -1
- data/lib/openai/models/responses/response_compact_params.rb +9 -3
- data/lib/openai/models/responses/response_compaction_compacting_event.rb +49 -0
- data/lib/openai/models/responses/response_create_params.rb +12 -1
- data/lib/openai/models/responses/response_stream_event.rb +4 -1
- data/lib/openai/models/responses/responses_client_event.rb +12 -1
- data/lib/openai/models/responses/responses_server_event.rb +36 -1
- data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +6 -8
- data/lib/openai/resources/beta/agents/sessions.rb +6 -2
- data/lib/openai/resources/beta/responses.rb +2 -2
- data/lib/openai/resources/responses.rb +2 -2
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +2 -0
- data/rbi/openai/helpers/responses_websocket/connection.rbi +5 -0
- data/rbi/openai/helpers/responses_websocket/session.rbi +206 -0
- data/rbi/openai/models/beta/agents/session_update_params.rbi +178 -0
- data/rbi/openai/models/beta/beta_response.rbi +6 -1
- data/rbi/openai/models/beta/beta_response_compaction_compacting_event.rbi +136 -0
- data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -0
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +27 -4
- data/rbi/openai/models/beta/beta_responses_server_event.rbi +77 -0
- data/rbi/openai/models/beta/response_compact_params.rbi +6 -1
- data/rbi/openai/models/beta/response_create_params.rbi +21 -1
- data/rbi/openai/models/beta/session_turn_error.rbi +6 -0
- data/rbi/openai/models/chat_model.rbi +3 -1
- data/rbi/openai/models/responses/response_compact_params.rbi +6 -1
- data/rbi/openai/models/responses/response_compaction_compacting_event.rbi +78 -0
- data/rbi/openai/models/responses/response_create_params.rbi +15 -0
- data/rbi/openai/models/responses/response_stream_event.rbi +1 -0
- data/rbi/openai/models/responses/responses_client_event.rbi +15 -0
- data/rbi/openai/models/responses/responses_server_event.rbi +71 -0
- data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +6 -8
- data/rbi/openai/resources/beta/agents/sessions.rbi +5 -1
- data/responses-websocket.md +117 -10
- data/sig/openai/helpers/responses_websocket/connection.rbs +5 -0
- data/sig/openai/helpers/responses_websocket/session.rbs +123 -0
- data/sig/openai/models/beta/agents/session_update_params.rbs +99 -0
- data/sig/openai/models/beta/beta_response.rbs +6 -2
- data/sig/openai/models/beta/beta_response_compaction_compacting_event.rbs +58 -0
- data/sig/openai/models/beta/beta_response_stream_event.rbs +1 -0
- data/sig/openai/models/beta/beta_responses_client_event.rbs +13 -2
- data/sig/openai/models/beta/beta_responses_server_event.rbs +35 -0
- data/sig/openai/models/beta/response_compact_params.rbs +6 -2
- data/sig/openai/models/beta/response_create_params.rbs +13 -2
- data/sig/openai/models/beta/session_turn_error.rbs +4 -0
- data/sig/openai/models/chat_model.rbs +6 -2
- data/sig/openai/models/responses/response_compact_params.rbs +6 -2
- data/sig/openai/models/responses/response_compaction_compacting_event.rbs +37 -0
- data/sig/openai/models/responses/response_create_params.rbs +7 -0
- data/sig/openai/models/responses/response_stream_event.rbs +1 -0
- data/sig/openai/models/responses/responses_client_event.rbs +7 -0
- data/sig/openai/models/responses/responses_server_event.rbs +32 -0
- data/sig/openai/resources/beta/agents/sessions.rbs +1 -0
- metadata +16 -2
|
@@ -28,6 +28,7 @@ module OpenAI
|
|
|
28
28
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallWsCompleted,
|
|
29
29
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallInWsProgress,
|
|
30
30
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallWsInterpreting,
|
|
31
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseCompactionWsCompacting,
|
|
31
32
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsCompleted,
|
|
32
33
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsAdded,
|
|
33
34
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsDone,
|
|
@@ -734,6 +735,82 @@ module OpenAI
|
|
|
734
735
|
|
|
735
736
|
end
|
|
736
737
|
|
|
738
|
+
class BetaResponseCompactionWsCompacting < OpenAI::Models::Beta::BetaResponseCompactionCompactingEvent
|
|
739
|
+
OrHash = T.type_alias do
|
|
740
|
+
T.any(
|
|
741
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseCompactionWsCompacting,
|
|
742
|
+
OpenAI::Internal::AnyHash
|
|
743
|
+
)
|
|
744
|
+
end
|
|
745
|
+
|
|
746
|
+
# The WebSocket lane that emitted this event. This field is present when the
|
|
747
|
+
# originating `response.create` event supplied a `stream_id`.
|
|
748
|
+
sig { returns(T.nilable(String)) }
|
|
749
|
+
attr_reader :stream_id
|
|
750
|
+
|
|
751
|
+
sig { params(stream_id: String).void }
|
|
752
|
+
attr_writer :stream_id
|
|
753
|
+
|
|
754
|
+
# Emitted when new summary content is sampled for a compaction trigger. Contains
|
|
755
|
+
# no summary content.
|
|
756
|
+
sig do
|
|
757
|
+
params(
|
|
758
|
+
|
|
759
|
+
item_id: String,
|
|
760
|
+
|
|
761
|
+
output_index: Integer,
|
|
762
|
+
|
|
763
|
+
sequence_number: Integer,
|
|
764
|
+
|
|
765
|
+
agent: OpenAI::Beta::BetaResponseCompactionCompactingEvent::Agent::OrHash,
|
|
766
|
+
|
|
767
|
+
stream_id: String,
|
|
768
|
+
|
|
769
|
+
type: Symbol
|
|
770
|
+
)
|
|
771
|
+
.returns(T.attached_class)
|
|
772
|
+
end
|
|
773
|
+
def self.new(
|
|
774
|
+
|
|
775
|
+
# The ID of the compaction output item.
|
|
776
|
+
item_id:,
|
|
777
|
+
|
|
778
|
+
# The index of the compaction output item.
|
|
779
|
+
output_index:,
|
|
780
|
+
|
|
781
|
+
# The sequence number of the event that was emitted.
|
|
782
|
+
sequence_number:,
|
|
783
|
+
|
|
784
|
+
# The agent that owns this multi-agent streaming event.
|
|
785
|
+
agent: nil,
|
|
786
|
+
|
|
787
|
+
# The WebSocket lane that emitted this event. This field is present when the
|
|
788
|
+
# originating `response.create` event supplied a `stream_id`.
|
|
789
|
+
stream_id: nil,
|
|
790
|
+
|
|
791
|
+
# The type of the event, always `response.compaction.compacting`.
|
|
792
|
+
|
|
793
|
+
type: :"response.compaction.compacting"
|
|
794
|
+
)
|
|
795
|
+
end
|
|
796
|
+
|
|
797
|
+
sig do
|
|
798
|
+
override.returns(
|
|
799
|
+
{
|
|
800
|
+
item_id: String,
|
|
801
|
+
output_index: Integer,
|
|
802
|
+
sequence_number: Integer,
|
|
803
|
+
type: Symbol,
|
|
804
|
+
agent: T.nilable(OpenAI::Beta::BetaResponseCompactionCompactingEvent::Agent),
|
|
805
|
+
stream_id: T.nilable(String)
|
|
806
|
+
}
|
|
807
|
+
)
|
|
808
|
+
end
|
|
809
|
+
def to_hash
|
|
810
|
+
end
|
|
811
|
+
|
|
812
|
+
end
|
|
813
|
+
|
|
737
814
|
class BetaResponseWsCompleted < OpenAI::Models::Beta::BetaResponseCompletedEvent
|
|
738
815
|
OrHash = T.type_alias do
|
|
739
816
|
T.any(
|
|
@@ -251,7 +251,6 @@ module OpenAI
|
|
|
251
251
|
GPT_5_1 = T.let(:"gpt-5.1", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
252
252
|
GPT_5_1_2025_11_13 = T.let(:"gpt-5.1-2025-11-13", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
253
253
|
GPT_5_1_CODEX = T.let(:"gpt-5.1-codex", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
254
|
-
GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
255
254
|
GPT_5_1_CHAT_LATEST = T.let(:"gpt-5.1-chat-latest", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
256
255
|
GPT_5 = T.let(:"gpt-5", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
257
256
|
GPT_5_MINI = T.let(:"gpt-5-mini", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
@@ -297,6 +296,11 @@ module OpenAI
|
|
|
297
296
|
GPT_4O_2024_11_20 = T.let(:"gpt-4o-2024-11-20", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
298
297
|
GPT_4O_2024_08_06 = T.let(:"gpt-4o-2024-08-06", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
299
298
|
GPT_4O_2024_05_13 = T.let(:"gpt-4o-2024-05-13", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
299
|
+
GPT_AUDIO_MINI = T.let(:"gpt-audio-mini", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
300
|
+
GPT_AUDIO_MINI_2025_12_15 = T.let(
|
|
301
|
+
:"gpt-audio-mini-2025-12-15",
|
|
302
|
+
OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol
|
|
303
|
+
)
|
|
300
304
|
GPT_4O_AUDIO_PREVIEW = T.let(
|
|
301
305
|
:"gpt-4o-audio-preview",
|
|
302
306
|
OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol
|
|
@@ -372,6 +376,7 @@ module OpenAI
|
|
|
372
376
|
:"gpt-3.5-turbo-16k-0613",
|
|
373
377
|
OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol
|
|
374
378
|
)
|
|
379
|
+
GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
375
380
|
O1_PRO = T.let(:"o1-pro", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
376
381
|
O1_PRO_2025_03_19 = T.let(:"o1-pro-2025-03-19", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
377
382
|
O3_PRO = T.let(:"o3-pro", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
|
|
@@ -975,7 +975,6 @@ module OpenAI
|
|
|
975
975
|
GPT_5_1 = T.let(:"gpt-5.1", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
976
976
|
GPT_5_1_2025_11_13 = T.let(:"gpt-5.1-2025-11-13", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
977
977
|
GPT_5_1_CODEX = T.let(:"gpt-5.1-codex", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
978
|
-
GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
979
978
|
GPT_5_1_CHAT_LATEST = T.let(:"gpt-5.1-chat-latest", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
980
979
|
GPT_5 = T.let(:"gpt-5", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
981
980
|
GPT_5_MINI = T.let(:"gpt-5-mini", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
@@ -1021,6 +1020,11 @@ module OpenAI
|
|
|
1021
1020
|
GPT_4O_2024_11_20 = T.let(:"gpt-4o-2024-11-20", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
1022
1021
|
GPT_4O_2024_08_06 = T.let(:"gpt-4o-2024-08-06", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
1023
1022
|
GPT_4O_2024_05_13 = T.let(:"gpt-4o-2024-05-13", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
1023
|
+
GPT_AUDIO_MINI = T.let(:"gpt-audio-mini", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
1024
|
+
GPT_AUDIO_MINI_2025_12_15 = T.let(
|
|
1025
|
+
:"gpt-audio-mini-2025-12-15",
|
|
1026
|
+
OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol
|
|
1027
|
+
)
|
|
1024
1028
|
GPT_4O_AUDIO_PREVIEW = T.let(:"gpt-4o-audio-preview", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
1025
1029
|
GPT_4O_AUDIO_PREVIEW_2024_10_01 = T.let(
|
|
1026
1030
|
:"gpt-4o-audio-preview-2024-10-01",
|
|
@@ -1090,6 +1094,7 @@ module OpenAI
|
|
|
1090
1094
|
:"gpt-3.5-turbo-16k-0613",
|
|
1091
1095
|
OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol
|
|
1092
1096
|
)
|
|
1097
|
+
GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
1093
1098
|
O1_PRO = T.let(:"o1-pro", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
1094
1099
|
O1_PRO_2025_03_19 = T.let(:"o1-pro-2025-03-19", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
1095
1100
|
O3_PRO = T.let(:"o3-pro", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
|
|
@@ -1442,6 +1447,14 @@ module OpenAI
|
|
|
1442
1447
|
sig { params(mode: OpenAI::Beta::ResponseCreateParams::PromptCacheOptions::Mode::OrSymbol).void }
|
|
1443
1448
|
attr_writer :mode
|
|
1444
1449
|
|
|
1450
|
+
# Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
1451
|
+
# set to `true`, overrides the `generate` field to `false`.
|
|
1452
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1453
|
+
attr_reader :prewarm
|
|
1454
|
+
|
|
1455
|
+
sig { params(prewarm: T::Boolean).void }
|
|
1456
|
+
attr_writer :prewarm
|
|
1457
|
+
|
|
1445
1458
|
# The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
1446
1459
|
# written by the request. Defaults to `30m`, which is currently the only supported
|
|
1447
1460
|
# value. The backend may retain cache entries for longer.
|
|
@@ -1467,6 +1480,8 @@ module OpenAI
|
|
|
1467
1480
|
|
|
1468
1481
|
mode: OpenAI::Beta::ResponseCreateParams::PromptCacheOptions::Mode::OrSymbol,
|
|
1469
1482
|
|
|
1483
|
+
prewarm: T::Boolean,
|
|
1484
|
+
|
|
1470
1485
|
ttl: OpenAI::Beta::ResponseCreateParams::PromptCacheOptions::Ttl::OrSymbol
|
|
1471
1486
|
)
|
|
1472
1487
|
.returns(T.attached_class)
|
|
@@ -1485,6 +1500,10 @@ module OpenAI
|
|
|
1485
1500
|
# request does not use prompt caching.
|
|
1486
1501
|
mode: nil,
|
|
1487
1502
|
|
|
1503
|
+
# Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
1504
|
+
# set to `true`, overrides the `generate` field to `false`.
|
|
1505
|
+
prewarm: nil,
|
|
1506
|
+
|
|
1488
1507
|
# The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
1489
1508
|
# written by the request. Defaults to `30m`, which is currently the only supported
|
|
1490
1509
|
# value. The backend may retain cache entries for longer.
|
|
@@ -1498,6 +1517,7 @@ module OpenAI
|
|
|
1498
1517
|
{
|
|
1499
1518
|
comparison_response_id: T.nilable(String),
|
|
1500
1519
|
mode: OpenAI::Beta::ResponseCreateParams::PromptCacheOptions::Mode::OrSymbol,
|
|
1520
|
+
prewarm: T::Boolean,
|
|
1501
1521
|
ttl: OpenAI::Beta::ResponseCreateParams::PromptCacheOptions::Ttl::OrSymbol
|
|
1502
1522
|
}
|
|
1503
1523
|
)
|
|
@@ -67,6 +67,12 @@ module OpenAI
|
|
|
67
67
|
# The organization has reached a usage, plan, or billing limit.
|
|
68
68
|
USAGE_LIMIT_EXCEEDED = T.let(:usage_limit_exceeded, OpenAI::Beta::SessionTurnError::Code::TaggedSymbol)
|
|
69
69
|
|
|
70
|
+
# The organization has no API credits remaining.
|
|
71
|
+
CREDIT_BALANCE_EXHAUSTED = T.let(
|
|
72
|
+
:credit_balance_exhausted,
|
|
73
|
+
OpenAI::Beta::SessionTurnError::Code::TaggedSymbol
|
|
74
|
+
)
|
|
75
|
+
|
|
70
76
|
# The request exceeds the available rate limit.
|
|
71
77
|
RATE_LIMIT_EXCEEDED = T.let(:rate_limit_exceeded, OpenAI::Beta::SessionTurnError::Code::TaggedSymbol)
|
|
72
78
|
|
|
@@ -29,7 +29,6 @@ module OpenAI
|
|
|
29
29
|
GPT_5_1 = T.let(:"gpt-5.1", OpenAI::ChatModel::TaggedSymbol)
|
|
30
30
|
GPT_5_1_2025_11_13 = T.let(:"gpt-5.1-2025-11-13", OpenAI::ChatModel::TaggedSymbol)
|
|
31
31
|
GPT_5_1_CODEX = T.let(:"gpt-5.1-codex", OpenAI::ChatModel::TaggedSymbol)
|
|
32
|
-
GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::ChatModel::TaggedSymbol)
|
|
33
32
|
GPT_5_1_CHAT_LATEST = T.let(:"gpt-5.1-chat-latest", OpenAI::ChatModel::TaggedSymbol)
|
|
34
33
|
GPT_5 = T.let(:"gpt-5", OpenAI::ChatModel::TaggedSymbol)
|
|
35
34
|
GPT_5_MINI = T.let(:"gpt-5-mini", OpenAI::ChatModel::TaggedSymbol)
|
|
@@ -60,6 +59,8 @@ module OpenAI
|
|
|
60
59
|
GPT_4O_2024_11_20 = T.let(:"gpt-4o-2024-11-20", OpenAI::ChatModel::TaggedSymbol)
|
|
61
60
|
GPT_4O_2024_08_06 = T.let(:"gpt-4o-2024-08-06", OpenAI::ChatModel::TaggedSymbol)
|
|
62
61
|
GPT_4O_2024_05_13 = T.let(:"gpt-4o-2024-05-13", OpenAI::ChatModel::TaggedSymbol)
|
|
62
|
+
GPT_AUDIO_MINI = T.let(:"gpt-audio-mini", OpenAI::ChatModel::TaggedSymbol)
|
|
63
|
+
GPT_AUDIO_MINI_2025_12_15 = T.let(:"gpt-audio-mini-2025-12-15", OpenAI::ChatModel::TaggedSymbol)
|
|
63
64
|
GPT_4O_AUDIO_PREVIEW = T.let(:"gpt-4o-audio-preview", OpenAI::ChatModel::TaggedSymbol)
|
|
64
65
|
GPT_4O_AUDIO_PREVIEW_2024_10_01 = T.let(:"gpt-4o-audio-preview-2024-10-01", OpenAI::ChatModel::TaggedSymbol)
|
|
65
66
|
GPT_4O_AUDIO_PREVIEW_2024_12_17 = T.let(:"gpt-4o-audio-preview-2024-12-17", OpenAI::ChatModel::TaggedSymbol)
|
|
@@ -99,6 +100,7 @@ module OpenAI
|
|
|
99
100
|
GPT_3_5_TURBO_1106 = T.let(:"gpt-3.5-turbo-1106", OpenAI::ChatModel::TaggedSymbol)
|
|
100
101
|
GPT_3_5_TURBO_0125 = T.let(:"gpt-3.5-turbo-0125", OpenAI::ChatModel::TaggedSymbol)
|
|
101
102
|
GPT_3_5_TURBO_16K_0613 = T.let(:"gpt-3.5-turbo-16k-0613", OpenAI::ChatModel::TaggedSymbol)
|
|
103
|
+
GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::ChatModel::TaggedSymbol)
|
|
102
104
|
|
|
103
105
|
sig { override.returns(T::Array[OpenAI::ChatModel::TaggedSymbol]) }
|
|
104
106
|
def self.values
|
|
@@ -258,7 +258,6 @@ module OpenAI
|
|
|
258
258
|
OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
|
|
259
259
|
)
|
|
260
260
|
GPT_5_1_CODEX = T.let(:"gpt-5.1-codex", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
261
|
-
GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
262
261
|
GPT_5_1_CHAT_LATEST = T.let(
|
|
263
262
|
:"gpt-5.1-chat-latest",
|
|
264
263
|
OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
|
|
@@ -319,6 +318,11 @@ module OpenAI
|
|
|
319
318
|
GPT_4O_2024_11_20 = T.let(:"gpt-4o-2024-11-20", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
320
319
|
GPT_4O_2024_08_06 = T.let(:"gpt-4o-2024-08-06", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
321
320
|
GPT_4O_2024_05_13 = T.let(:"gpt-4o-2024-05-13", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
321
|
+
GPT_AUDIO_MINI = T.let(:"gpt-audio-mini", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
322
|
+
GPT_AUDIO_MINI_2025_12_15 = T.let(
|
|
323
|
+
:"gpt-audio-mini-2025-12-15",
|
|
324
|
+
OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
|
|
325
|
+
)
|
|
322
326
|
GPT_4O_AUDIO_PREVIEW = T.let(
|
|
323
327
|
:"gpt-4o-audio-preview",
|
|
324
328
|
OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
|
|
@@ -415,6 +419,7 @@ module OpenAI
|
|
|
415
419
|
:"gpt-3.5-turbo-16k-0613",
|
|
416
420
|
OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol
|
|
417
421
|
)
|
|
422
|
+
GPT_5_1_MINI = T.let(:"gpt-5.1-mini", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
418
423
|
O1_PRO = T.let(:"o1-pro", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
419
424
|
O1_PRO_2025_03_19 = T.let(:"o1-pro-2025-03-19", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
420
425
|
O3_PRO = T.let(:"o3-pro", OpenAI::Responses::ResponseCompactParams::Model::TaggedSymbol)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Responses
|
|
7
|
+
|
|
8
|
+
class ResponseCompactionCompactingEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Responses::ResponseCompactionCompactingEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The ID of the compaction output item.
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :item_id
|
|
20
|
+
|
|
21
|
+
# The index of the compaction output item.
|
|
22
|
+
sig { returns(Integer) }
|
|
23
|
+
attr_accessor :output_index
|
|
24
|
+
|
|
25
|
+
# The sequence number of the event that was emitted.
|
|
26
|
+
sig { returns(Integer) }
|
|
27
|
+
attr_accessor :sequence_number
|
|
28
|
+
|
|
29
|
+
# The type of the event, always `response.compaction.compacting`.
|
|
30
|
+
sig { returns(Symbol) }
|
|
31
|
+
attr_accessor :type
|
|
32
|
+
|
|
33
|
+
# Emitted when new summary content is sampled for a compaction trigger. Contains
|
|
34
|
+
# no summary content.
|
|
35
|
+
sig do
|
|
36
|
+
params(
|
|
37
|
+
|
|
38
|
+
item_id: String,
|
|
39
|
+
|
|
40
|
+
output_index: Integer,
|
|
41
|
+
|
|
42
|
+
sequence_number: Integer,
|
|
43
|
+
|
|
44
|
+
type: Symbol
|
|
45
|
+
)
|
|
46
|
+
.returns(T.attached_class)
|
|
47
|
+
end
|
|
48
|
+
def self.new(
|
|
49
|
+
|
|
50
|
+
# The ID of the compaction output item.
|
|
51
|
+
item_id:,
|
|
52
|
+
|
|
53
|
+
# The index of the compaction output item.
|
|
54
|
+
output_index:,
|
|
55
|
+
|
|
56
|
+
# The sequence number of the event that was emitted.
|
|
57
|
+
sequence_number:,
|
|
58
|
+
|
|
59
|
+
# The type of the event, always `response.compaction.compacting`.
|
|
60
|
+
|
|
61
|
+
type: :"response.compaction.compacting"
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
sig do
|
|
66
|
+
override.returns(
|
|
67
|
+
{item_id: String, output_index: Integer, sequence_number: Integer, type: Symbol}
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
def to_hash
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -1176,6 +1176,14 @@ module OpenAI
|
|
|
1176
1176
|
sig { params(mode: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Mode::OrSymbol).void }
|
|
1177
1177
|
attr_writer :mode
|
|
1178
1178
|
|
|
1179
|
+
# Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
1180
|
+
# set to `true`, overrides the `generate` field to `false`.
|
|
1181
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1182
|
+
attr_reader :prewarm
|
|
1183
|
+
|
|
1184
|
+
sig { params(prewarm: T::Boolean).void }
|
|
1185
|
+
attr_writer :prewarm
|
|
1186
|
+
|
|
1179
1187
|
# The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
1180
1188
|
# written by the request. Defaults to `30m`, which is currently the only supported
|
|
1181
1189
|
# value. The backend may retain cache entries for longer.
|
|
@@ -1201,6 +1209,8 @@ module OpenAI
|
|
|
1201
1209
|
|
|
1202
1210
|
mode: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Mode::OrSymbol,
|
|
1203
1211
|
|
|
1212
|
+
prewarm: T::Boolean,
|
|
1213
|
+
|
|
1204
1214
|
ttl: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Ttl::OrSymbol
|
|
1205
1215
|
)
|
|
1206
1216
|
.returns(T.attached_class)
|
|
@@ -1219,6 +1229,10 @@ module OpenAI
|
|
|
1219
1229
|
# request does not use prompt caching.
|
|
1220
1230
|
mode: nil,
|
|
1221
1231
|
|
|
1232
|
+
# Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
1233
|
+
# set to `true`, overrides the `generate` field to `false`.
|
|
1234
|
+
prewarm: nil,
|
|
1235
|
+
|
|
1222
1236
|
# The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
1223
1237
|
# written by the request. Defaults to `30m`, which is currently the only supported
|
|
1224
1238
|
# value. The backend may retain cache entries for longer.
|
|
@@ -1232,6 +1246,7 @@ module OpenAI
|
|
|
1232
1246
|
{
|
|
1233
1247
|
comparison_response_id: T.nilable(String),
|
|
1234
1248
|
mode: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Mode::OrSymbol,
|
|
1249
|
+
prewarm: T::Boolean,
|
|
1235
1250
|
ttl: OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::Ttl::OrSymbol
|
|
1236
1251
|
}
|
|
1237
1252
|
)
|
|
@@ -20,6 +20,7 @@ module OpenAI
|
|
|
20
20
|
OpenAI::Responses::ResponseCodeInterpreterCallCompletedEvent,
|
|
21
21
|
OpenAI::Responses::ResponseCodeInterpreterCallInProgressEvent,
|
|
22
22
|
OpenAI::Responses::ResponseCodeInterpreterCallInterpretingEvent,
|
|
23
|
+
OpenAI::Responses::ResponseCompactionCompactingEvent,
|
|
23
24
|
OpenAI::Responses::ResponseCompletedEvent,
|
|
24
25
|
OpenAI::Responses::ResponseContentPartAddedEvent,
|
|
25
26
|
OpenAI::Responses::ResponseContentPartDoneEvent,
|
|
@@ -1327,6 +1327,14 @@ module OpenAI
|
|
|
1327
1327
|
}
|
|
1328
1328
|
attr_writer :mode
|
|
1329
1329
|
|
|
1330
|
+
# Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
1331
|
+
# set to `true`, overrides the `generate` field to `false`.
|
|
1332
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1333
|
+
attr_reader :prewarm
|
|
1334
|
+
|
|
1335
|
+
sig { params(prewarm: T::Boolean).void }
|
|
1336
|
+
attr_writer :prewarm
|
|
1337
|
+
|
|
1330
1338
|
# The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
1331
1339
|
# written by the request. Defaults to `30m`, which is currently the only supported
|
|
1332
1340
|
# value. The backend may retain cache entries for longer.
|
|
@@ -1359,6 +1367,8 @@ module OpenAI
|
|
|
1359
1367
|
|
|
1360
1368
|
mode: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::Mode::OrSymbol,
|
|
1361
1369
|
|
|
1370
|
+
prewarm: T::Boolean,
|
|
1371
|
+
|
|
1362
1372
|
ttl: OpenAI::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl::OrSymbol
|
|
1363
1373
|
)
|
|
1364
1374
|
.returns(T.attached_class)
|
|
@@ -1377,6 +1387,10 @@ module OpenAI
|
|
|
1377
1387
|
# request does not use prompt caching.
|
|
1378
1388
|
mode: nil,
|
|
1379
1389
|
|
|
1390
|
+
# Prepares the prompt cache without generating output. Defaults to `false`. When
|
|
1391
|
+
# set to `true`, overrides the `generate` field to `false`.
|
|
1392
|
+
prewarm: nil,
|
|
1393
|
+
|
|
1380
1394
|
# The minimum lifetime applied to every implicit and explicit cache breakpoint
|
|
1381
1395
|
# written by the request. Defaults to `30m`, which is currently the only supported
|
|
1382
1396
|
# value. The backend may retain cache entries for longer.
|
|
@@ -1392,6 +1406,7 @@ module OpenAI
|
|
|
1392
1406
|
mode: T.nilable(
|
|
1393
1407
|
OpenAI::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::Mode::OrSymbol
|
|
1394
1408
|
),
|
|
1409
|
+
prewarm: T.nilable(T::Boolean),
|
|
1395
1410
|
ttl: T.nilable(
|
|
1396
1411
|
OpenAI::Responses::ResponsesClientEvent::ResponseCreate::PromptCacheOptions::Ttl::OrSymbol
|
|
1397
1412
|
)
|
|
@@ -24,6 +24,7 @@ module OpenAI
|
|
|
24
24
|
OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsCompleted,
|
|
25
25
|
OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallInWsProgress,
|
|
26
26
|
OpenAI::Responses::ResponsesServerEvent::ResponseCodeInterpreterCallWsInterpreting,
|
|
27
|
+
OpenAI::Responses::ResponsesServerEvent::ResponseCompactionWsCompacting,
|
|
27
28
|
OpenAI::Responses::ResponsesServerEvent::ResponseWsCompleted,
|
|
28
29
|
OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsAdded,
|
|
29
30
|
OpenAI::Responses::ResponsesServerEvent::ResponseContentPartWsDone,
|
|
@@ -658,6 +659,76 @@ module OpenAI
|
|
|
658
659
|
|
|
659
660
|
end
|
|
660
661
|
|
|
662
|
+
class ResponseCompactionWsCompacting < OpenAI::Models::Responses::ResponseCompactionCompactingEvent
|
|
663
|
+
OrHash = T.type_alias do
|
|
664
|
+
T.any(
|
|
665
|
+
OpenAI::Responses::ResponsesServerEvent::ResponseCompactionWsCompacting,
|
|
666
|
+
OpenAI::Internal::AnyHash
|
|
667
|
+
)
|
|
668
|
+
end
|
|
669
|
+
|
|
670
|
+
# The WebSocket lane that emitted this event. This field is present when the
|
|
671
|
+
# originating `response.create` event supplied a `stream_id`.
|
|
672
|
+
sig { returns(T.nilable(String)) }
|
|
673
|
+
attr_reader :stream_id
|
|
674
|
+
|
|
675
|
+
sig { params(stream_id: String).void }
|
|
676
|
+
attr_writer :stream_id
|
|
677
|
+
|
|
678
|
+
# Emitted when new summary content is sampled for a compaction trigger. Contains
|
|
679
|
+
# no summary content.
|
|
680
|
+
sig do
|
|
681
|
+
params(
|
|
682
|
+
|
|
683
|
+
item_id: String,
|
|
684
|
+
|
|
685
|
+
output_index: Integer,
|
|
686
|
+
|
|
687
|
+
sequence_number: Integer,
|
|
688
|
+
|
|
689
|
+
stream_id: String,
|
|
690
|
+
|
|
691
|
+
type: Symbol
|
|
692
|
+
)
|
|
693
|
+
.returns(T.attached_class)
|
|
694
|
+
end
|
|
695
|
+
def self.new(
|
|
696
|
+
|
|
697
|
+
# The ID of the compaction output item.
|
|
698
|
+
item_id:,
|
|
699
|
+
|
|
700
|
+
# The index of the compaction output item.
|
|
701
|
+
output_index:,
|
|
702
|
+
|
|
703
|
+
# The sequence number of the event that was emitted.
|
|
704
|
+
sequence_number:,
|
|
705
|
+
|
|
706
|
+
# The WebSocket lane that emitted this event. This field is present when the
|
|
707
|
+
# originating `response.create` event supplied a `stream_id`.
|
|
708
|
+
stream_id: nil,
|
|
709
|
+
|
|
710
|
+
# The type of the event, always `response.compaction.compacting`.
|
|
711
|
+
|
|
712
|
+
type: :"response.compaction.compacting"
|
|
713
|
+
)
|
|
714
|
+
end
|
|
715
|
+
|
|
716
|
+
sig do
|
|
717
|
+
override.returns(
|
|
718
|
+
{
|
|
719
|
+
item_id: String,
|
|
720
|
+
output_index: Integer,
|
|
721
|
+
sequence_number: Integer,
|
|
722
|
+
type: Symbol,
|
|
723
|
+
stream_id: T.nilable(String)
|
|
724
|
+
}
|
|
725
|
+
)
|
|
726
|
+
end
|
|
727
|
+
def to_hash
|
|
728
|
+
end
|
|
729
|
+
|
|
730
|
+
end
|
|
731
|
+
|
|
661
732
|
class ResponseWsCompleted < OpenAI::Models::Responses::ResponseCompletedEvent
|
|
662
733
|
OrHash = T.type_alias do
|
|
663
734
|
T.any(
|
|
@@ -100,10 +100,9 @@ module OpenAI
|
|
|
100
100
|
)
|
|
101
101
|
end
|
|
102
102
|
|
|
103
|
-
# The
|
|
104
|
-
#
|
|
105
|
-
#
|
|
106
|
-
# Realtime or Live API.
|
|
103
|
+
# The ID of the pending SIP call. Pass this value unchanged when accepting or
|
|
104
|
+
# rejecting the call through the Realtime API. For the Live API, use the
|
|
105
|
+
# `session_id` from `live.transport.incoming` instead.
|
|
107
106
|
sig { returns(String) }
|
|
108
107
|
attr_accessor :call_id
|
|
109
108
|
|
|
@@ -125,10 +124,9 @@ module OpenAI
|
|
|
125
124
|
end
|
|
126
125
|
def self.new(
|
|
127
126
|
|
|
128
|
-
# The
|
|
129
|
-
#
|
|
130
|
-
#
|
|
131
|
-
# Realtime or Live API.
|
|
127
|
+
# The ID of the pending SIP call. Pass this value unchanged when accepting or
|
|
128
|
+
# rejecting the call through the Realtime API. For the Live API, use the
|
|
129
|
+
# `session_id` from `live.transport.incoming` instead.
|
|
132
130
|
call_id:,
|
|
133
131
|
|
|
134
132
|
# Headers from the SIP INVITE, excluding SIP authorization headers. Retained
|
|
@@ -130,11 +130,13 @@ module OpenAI
|
|
|
130
130
|
)
|
|
131
131
|
end
|
|
132
132
|
|
|
133
|
-
# Updates session metadata
|
|
133
|
+
# Updates session metadata, model, reasoning effort, or service tier. Model
|
|
134
|
+
# settings apply to subsequent turns. Omitted fields are unchanged. See
|
|
134
135
|
# [managing sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions/manage).
|
|
135
136
|
sig {
|
|
136
137
|
params(
|
|
137
138
|
session_id: String,
|
|
139
|
+
agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent::OrHash,
|
|
138
140
|
metadata: T.nilable(T::Hash[Symbol, String]),
|
|
139
141
|
request_options: OpenAI::RequestOptions::OrHash
|
|
140
142
|
)
|
|
@@ -143,6 +145,8 @@ module OpenAI
|
|
|
143
145
|
def update(
|
|
144
146
|
# The ID of the session.
|
|
145
147
|
session_id,
|
|
148
|
+
# Model settings for subsequent turns. Omitted fields stay unchanged.
|
|
149
|
+
agent: nil,
|
|
146
150
|
# Replaces all metadata. Omit to leave unchanged, or pass null or {} to clear it.
|
|
147
151
|
# Up to 16 string key-value pairs, with keys up to 64 and values up to 512
|
|
148
152
|
# characters.
|