openai 0.88.0 → 0.89.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 +12 -0
- data/README.md +1 -1
- data/lib/openai/client.rb +4 -0
- data/lib/openai/models/beta/beta_response_input_item.rb +91 -1
- data/lib/openai/models/beta/beta_response_item.rb +93 -1
- data/lib/openai/models/beta/beta_response_output_item.rb +91 -1
- data/lib/openai/models/conversations/conversation_item.rb +91 -1
- data/lib/openai/models/live/audio_format.rb +109 -0
- data/lib/openai/models/live/built_in_voice.rb +38 -0
- data/lib/openai/models/live/client_config.rb +22 -0
- data/lib/openai/models/live/client_delegation.rb +22 -0
- data/lib/openai/models/live/client_event.rb +54 -0
- data/lib/openai/models/live/commentary_append_event.rb +59 -0
- data/lib/openai/models/live/commentary_appended_event.rb +65 -0
- data/lib/openai/models/live/custom_voice.rb +17 -0
- data/lib/openai/models/live/data_channel_config.rb +81 -0
- data/lib/openai/models/live/delegation_created_event.rb +140 -0
- data/lib/openai/models/live/error.rb +60 -0
- data/lib/openai/models/live/error_event.rb +52 -0
- data/lib/openai/models/live/fork_client_event.rb +53 -0
- data/lib/openai/models/live/fork_server_event.rb +295 -0
- data/lib/openai/models/live/fork_session_config.rb +107 -0
- data/lib/openai/models/live/fork_session_start_event.rb +48 -0
- data/lib/openai/models/live/function_tool.rb +60 -0
- data/lib/openai/models/live/info_event.rb +60 -0
- data/lib/openai/models/live/initial_item.rb +419 -0
- data/lib/openai/models/live/input_audio_append_event.rb +50 -0
- data/lib/openai/models/live/input_audio_mute_event.rb +33 -0
- data/lib/openai/models/live/input_audio_muted_event.rb +42 -0
- data/lib/openai/models/live/input_audio_unmute_event.rb +33 -0
- data/lib/openai/models/live/input_audio_unmuted_event.rb +42 -0
- data/lib/openai/models/live/input_transcript_delta_event.rb +76 -0
- data/lib/openai/models/live/instructions_append_event.rb +57 -0
- data/lib/openai/models/live/instructions_appended_event.rb +65 -0
- data/lib/openai/models/live/live_create_params.rb +57 -0
- data/lib/openai/models/live/live_create_response.rb +77 -0
- data/lib/openai/models/live/media_session_config.rb +227 -0
- data/lib/openai/models/live/media_session_fork_config.rb +75 -0
- data/lib/openai/models/live/output_audio_delta_event.rb +58 -0
- data/lib/openai/models/live/output_transcript_delta_event.rb +76 -0
- data/lib/openai/models/live/response_create_event.rb +33 -0
- data/lib/openai/models/live/response_event.rb +67 -0
- data/lib/openai/models/live/response_item_create_event.rb +44 -0
- data/lib/openai/models/live/responses_delegation_config.rb +332 -0
- data/lib/openai/models/live/responses_delegation_update_config.rb +332 -0
- data/lib/openai/models/live/server_event.rb +295 -0
- data/lib/openai/models/live/server_event_selector.rb +32 -0
- data/lib/openai/models/live/session_accept_params.rb +257 -0
- data/lib/openai/models/live/session_close_event.rb +33 -0
- data/lib/openai/models/live/session_closed_event.rb +113 -0
- data/lib/openai/models/live/session_config.rb +236 -0
- data/lib/openai/models/live/session_download_recording_params.rb +27 -0
- data/lib/openai/models/live/session_fork_params.rb +66 -0
- data/lib/openai/models/live/session_fork_response.rb +77 -0
- data/lib/openai/models/live/session_hangup_params.rb +22 -0
- data/lib/openai/models/live/session_refer_params.rb +34 -0
- data/lib/openai/models/live/session_reject_params.rb +32 -0
- data/lib/openai/models/live/session_resource.rb +268 -0
- data/lib/openai/models/live/session_start_event.rb +46 -0
- data/lib/openai/models/live/session_started_event.rb +51 -0
- data/lib/openai/models/live/session_update_config.rb +69 -0
- data/lib/openai/models/live/session_update_event.rb +46 -0
- data/lib/openai/models/live/session_updated_event.rb +51 -0
- data/lib/openai/models/live/session_usage.rb +24 -0
- data/lib/openai/models/live/session_usage_updated_event.rb +81 -0
- data/lib/openai/models/live/thinking_append_event.rb +59 -0
- data/lib/openai/models/live/thinking_appended_event.rb +65 -0
- data/lib/openai/models/responses/response_input_item.rb +91 -1
- data/lib/openai/models/responses/response_item.rb +93 -1
- data/lib/openai/models/responses/response_output_item.rb +91 -1
- data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +12 -7
- data/lib/openai/models/webhooks/live_transport_incoming_webhook_event.rb +137 -0
- data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +4 -4
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -2
- data/lib/openai/models.rb +2 -0
- data/lib/openai/resources/live/forks.rb +16 -0
- data/lib/openai/resources/live/sessions.rb +180 -0
- data/lib/openai/resources/live/sideband.rb +16 -0
- data/lib/openai/resources/live.rb +54 -0
- data/lib/openai/resources/webhooks.rb +1 -1
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +65 -0
- data/rbi/openai/client.rbi +3 -0
- data/rbi/openai/models/beta/beta_response_input_item.rbi +109 -0
- data/rbi/openai/models/beta/beta_response_item.rbi +105 -0
- data/rbi/openai/models/beta/beta_response_output_item.rbi +119 -0
- data/rbi/openai/models/conversations/conversation_item.rbi +133 -0
- data/rbi/openai/models/live/audio_format.rbi +185 -0
- data/rbi/openai/models/live/built_in_voice.rbi +46 -0
- data/rbi/openai/models/live/client_config.rbi +54 -0
- data/rbi/openai/models/live/client_delegation.rbi +51 -0
- data/rbi/openai/models/live/client_event.rbi +41 -0
- data/rbi/openai/models/live/commentary_append_event.rbi +88 -0
- data/rbi/openai/models/live/commentary_appended_event.rbi +97 -0
- data/rbi/openai/models/live/custom_voice.rbi +46 -0
- data/rbi/openai/models/live/data_channel_config.rbi +119 -0
- data/rbi/openai/models/live/delegation_created_event.rbi +207 -0
- data/rbi/openai/models/live/error.rbi +95 -0
- data/rbi/openai/models/live/error_event.rbi +87 -0
- data/rbi/openai/models/live/fork_client_event.rbi +40 -0
- data/rbi/openai/models/live/fork_server_event.rbi +436 -0
- data/rbi/openai/models/live/fork_session_config.rbi +234 -0
- data/rbi/openai/models/live/fork_session_start_event.rbi +80 -0
- data/rbi/openai/models/live/function_tool.rbi +95 -0
- data/rbi/openai/models/live/info_event.rbi +92 -0
- data/rbi/openai/models/live/initial_item.rbi +661 -0
- data/rbi/openai/models/live/input_audio_append_event.rbi +79 -0
- data/rbi/openai/models/live/input_audio_mute_event.rbi +62 -0
- data/rbi/openai/models/live/input_audio_muted_event.rbi +74 -0
- data/rbi/openai/models/live/input_audio_unmute_event.rbi +62 -0
- data/rbi/openai/models/live/input_audio_unmuted_event.rbi +74 -0
- data/rbi/openai/models/live/input_transcript_delta_event.rbi +115 -0
- data/rbi/openai/models/live/instructions_append_event.rbi +86 -0
- data/rbi/openai/models/live/instructions_appended_event.rbi +97 -0
- data/rbi/openai/models/live/live_create_params.rbi +121 -0
- data/rbi/openai/models/live/live_create_response.rbi +160 -0
- data/rbi/openai/models/live/media_session_config.rbi +390 -0
- data/rbi/openai/models/live/media_session_fork_config.rbi +143 -0
- data/rbi/openai/models/live/output_audio_delta_event.rbi +93 -0
- data/rbi/openai/models/live/output_transcript_delta_event.rbi +115 -0
- data/rbi/openai/models/live/response_create_event.rbi +62 -0
- data/rbi/openai/models/live/response_event.rbi +105 -0
- data/rbi/openai/models/live/response_item_create_event.rbi +183 -0
- data/rbi/openai/models/live/responses_delegation_config.rbi +562 -0
- data/rbi/openai/models/live/responses_delegation_update_config.rbi +585 -0
- data/rbi/openai/models/live/server_event.rbi +436 -0
- data/rbi/openai/models/live/server_event_selector.rbi +64 -0
- data/rbi/openai/models/live/session_accept_params.rbi +451 -0
- data/rbi/openai/models/live/session_close_event.rbi +62 -0
- data/rbi/openai/models/live/session_closed_event.rbi +148 -0
- data/rbi/openai/models/live/session_config.rbi +427 -0
- data/rbi/openai/models/live/session_download_recording_params.rbi +57 -0
- data/rbi/openai/models/live/session_fork_params.rbi +131 -0
- data/rbi/openai/models/live/session_fork_response.rbi +160 -0
- data/rbi/openai/models/live/session_hangup_params.rbi +53 -0
- data/rbi/openai/models/live/session_refer_params.rbi +64 -0
- data/rbi/openai/models/live/session_reject_params.rbi +62 -0
- data/rbi/openai/models/live/session_resource.rbi +461 -0
- data/rbi/openai/models/live/session_start_event.rbi +78 -0
- data/rbi/openai/models/live/session_started_event.rbi +86 -0
- data/rbi/openai/models/live/session_update_config.rbi +134 -0
- data/rbi/openai/models/live/session_update_event.rbi +78 -0
- data/rbi/openai/models/live/session_updated_event.rbi +86 -0
- data/rbi/openai/models/live/session_usage.rbi +53 -0
- data/rbi/openai/models/live/session_usage_updated_event.rbi +148 -0
- data/rbi/openai/models/live/thinking_append_event.rbi +88 -0
- data/rbi/openai/models/live/thinking_appended_event.rbi +97 -0
- data/rbi/openai/models/responses/response_input_item.rbi +113 -0
- data/rbi/openai/models/responses/response_item.rbi +105 -0
- data/rbi/openai/models/responses/response_output_item.rbi +125 -0
- data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +11 -7
- data/rbi/openai/models/webhooks/live_transport_incoming_webhook_event.rbi +226 -0
- data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +4 -4
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
- data/rbi/openai/models.rbi +2 -0
- data/rbi/openai/resources/live/forks.rbi +19 -0
- data/rbi/openai/resources/live/sessions.rbi +110 -0
- data/rbi/openai/resources/live/sideband.rbi +19 -0
- data/rbi/openai/resources/live.rbi +43 -0
- data/rbi/openai/resources/responses.rbi +75 -38
- data/rbi/openai/resources/webhooks.rbi +1 -0
- data/sig/openai/client.rbs +2 -0
- data/sig/openai/models/beta/beta_response_input_item.rbs +56 -0
- data/sig/openai/models/beta/beta_response_item.rbs +56 -0
- data/sig/openai/models/beta/beta_response_output_item.rbs +56 -0
- data/sig/openai/models/conversations/conversation_item.rbs +56 -0
- data/sig/openai/models/live/audio_format.rbs +73 -0
- data/sig/openai/models/live/built_in_voice.rbs +58 -0
- data/sig/openai/models/live/client_config.rbs +15 -0
- data/sig/openai/models/live/client_delegation.rbs +15 -0
- data/sig/openai/models/live/client_event.rbs +24 -0
- data/sig/openai/models/live/commentary_append_event.rbs +37 -0
- data/sig/openai/models/live/commentary_appended_event.rbs +44 -0
- data/sig/openai/models/live/custom_voice.rbs +15 -0
- data/sig/openai/models/live/data_channel_config.rbs +56 -0
- data/sig/openai/models/live/delegation_created_event.rbs +89 -0
- data/sig/openai/models/live/error.rbs +46 -0
- data/sig/openai/models/live/error_event.rbs +39 -0
- data/sig/openai/models/live/fork_client_event.rbs +24 -0
- data/sig/openai/models/live/fork_server_event.rbs +212 -0
- data/sig/openai/models/live/fork_session_config.rbs +89 -0
- data/sig/openai/models/live/fork_session_start_event.rbs +32 -0
- data/sig/openai/models/live/function_tool.rbs +42 -0
- data/sig/openai/models/live/info_event.rbs +44 -0
- data/sig/openai/models/live/initial_item.rbs +332 -0
- data/sig/openai/models/live/input_audio_append_event.rbs +32 -0
- data/sig/openai/models/live/input_audio_mute_event.rbs +24 -0
- data/sig/openai/models/live/input_audio_muted_event.rbs +34 -0
- data/sig/openai/models/live/input_audio_unmute_event.rbs +24 -0
- data/sig/openai/models/live/input_audio_unmuted_event.rbs +34 -0
- data/sig/openai/models/live/input_transcript_delta_event.rbs +49 -0
- data/sig/openai/models/live/instructions_append_event.rbs +37 -0
- data/sig/openai/models/live/instructions_appended_event.rbs +44 -0
- data/sig/openai/models/live/live_create_params.rbs +45 -0
- data/sig/openai/models/live/live_create_response.rbs +49 -0
- data/sig/openai/models/live/media_session_config.rbs +157 -0
- data/sig/openai/models/live/media_session_fork_config.rbs +66 -0
- data/sig/openai/models/live/output_audio_delta_event.rbs +41 -0
- data/sig/openai/models/live/output_transcript_delta_event.rbs +49 -0
- data/sig/openai/models/live/response_create_event.rbs +18 -0
- data/sig/openai/models/live/response_event.rbs +44 -0
- data/sig/openai/models/live/response_item_create_event.rbs +32 -0
- data/sig/openai/models/live/responses_delegation_config.rbs +244 -0
- data/sig/openai/models/live/responses_delegation_update_config.rbs +246 -0
- data/sig/openai/models/live/server_event.rbs +212 -0
- data/sig/openai/models/live/server_event_selector.rbs +19 -0
- data/sig/openai/models/live/session_accept_params.rbs +185 -0
- data/sig/openai/models/live/session_close_event.rbs +17 -0
- data/sig/openai/models/live/session_closed_event.rbs +68 -0
- data/sig/openai/models/live/session_config.rbs +168 -0
- data/sig/openai/models/live/session_download_recording_params.rbs +25 -0
- data/sig/openai/models/live/session_fork_params.rbs +54 -0
- data/sig/openai/models/live/session_fork_response.rbs +49 -0
- data/sig/openai/models/live/session_hangup_params.rbs +25 -0
- data/sig/openai/models/live/session_refer_params.rbs +33 -0
- data/sig/openai/models/live/session_reject_params.rbs +33 -0
- data/sig/openai/models/live/session_resource.rbs +183 -0
- data/sig/openai/models/live/session_start_event.rbs +32 -0
- data/sig/openai/models/live/session_started_event.rbs +39 -0
- data/sig/openai/models/live/session_update_config.rbs +56 -0
- data/sig/openai/models/live/session_update_event.rbs +32 -0
- data/sig/openai/models/live/session_updated_event.rbs +39 -0
- data/sig/openai/models/live/session_usage.rbs +15 -0
- data/sig/openai/models/live/session_usage_updated_event.rbs +58 -0
- data/sig/openai/models/live/thinking_append_event.rbs +37 -0
- data/sig/openai/models/live/thinking_appended_event.rbs +44 -0
- data/sig/openai/models/responses/response_input_item.rbs +56 -0
- data/sig/openai/models/responses/response_item.rbs +56 -0
- data/sig/openai/models/responses/response_output_item.rbs +56 -0
- data/sig/openai/models/webhooks/live_transport_incoming_webhook_event.rbs +95 -0
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
- data/sig/openai/models.rbs +2 -0
- data/sig/openai/resources/live/forks.rbs +9 -0
- data/sig/openai/resources/live/sessions.rbs +44 -0
- data/sig/openai/resources/live/sideband.rbs +9 -0
- data/sig/openai/resources/live.rbs +19 -0
- data/sig/openai/resources/webhooks.rbs +1 -0
- metadata +196 -1
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class MediaSessionForkConfig < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::MediaSessionForkConfig,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Startup-only capabilities for an untrusted frontend attached to a unified WebRTC
|
|
18
|
+
# session. Trusted sideband connections are unaffected.
|
|
19
|
+
sig { returns(T.nilable(OpenAI::Live::ClientConfig)) }
|
|
20
|
+
attr_reader :client
|
|
21
|
+
|
|
22
|
+
sig { params(client: OpenAI::Live::ClientConfig::OrHash).void }
|
|
23
|
+
attr_writer :client
|
|
24
|
+
|
|
25
|
+
# Update the Responses backend for an existing Live session without changing
|
|
26
|
+
# delegation ownership.
|
|
27
|
+
sig { returns(T.nilable(OpenAI::Live::MediaSessionForkConfig::Delegation)) }
|
|
28
|
+
attr_reader :delegation
|
|
29
|
+
|
|
30
|
+
sig { params(delegation: OpenAI::Live::MediaSessionForkConfig::Delegation::OrHash).void }
|
|
31
|
+
attr_writer :delegation
|
|
32
|
+
|
|
33
|
+
# Whether to store the forked session. Omission inherits the stored session's
|
|
34
|
+
# setting.
|
|
35
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
36
|
+
attr_reader :store
|
|
37
|
+
|
|
38
|
+
sig { params(store: T::Boolean).void }
|
|
39
|
+
attr_writer :store
|
|
40
|
+
|
|
41
|
+
# Optional overrides for a stored Live session. Omitted settings are inherited.
|
|
42
|
+
# The model, voice, frontend instructions, and prior conversation come from the
|
|
43
|
+
# stored session. WebRTC negotiates its audio format; audio.format is only
|
|
44
|
+
# supported on WebSocket forks.
|
|
45
|
+
sig do
|
|
46
|
+
params(
|
|
47
|
+
|
|
48
|
+
client: OpenAI::Live::ClientConfig::OrHash,
|
|
49
|
+
|
|
50
|
+
delegation: OpenAI::Live::MediaSessionForkConfig::Delegation::OrHash,
|
|
51
|
+
|
|
52
|
+
store: T::Boolean
|
|
53
|
+
)
|
|
54
|
+
.returns(T.attached_class)
|
|
55
|
+
end
|
|
56
|
+
def self.new(
|
|
57
|
+
|
|
58
|
+
# Startup-only capabilities for an untrusted frontend attached to a unified WebRTC
|
|
59
|
+
# session. Trusted sideband connections are unaffected.
|
|
60
|
+
client: nil,
|
|
61
|
+
|
|
62
|
+
# Update the Responses backend for an existing Live session without changing
|
|
63
|
+
# delegation ownership.
|
|
64
|
+
delegation: nil,
|
|
65
|
+
|
|
66
|
+
# Whether to store the forked session. Omission inherits the stored session's
|
|
67
|
+
# setting.
|
|
68
|
+
|
|
69
|
+
store: nil
|
|
70
|
+
)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
sig do
|
|
74
|
+
override.returns(
|
|
75
|
+
{
|
|
76
|
+
client: OpenAI::Live::ClientConfig,
|
|
77
|
+
delegation: OpenAI::Live::MediaSessionForkConfig::Delegation,
|
|
78
|
+
store: T::Boolean
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
end
|
|
82
|
+
def to_hash
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
class Delegation < OpenAI::Internal::Type::BaseModel
|
|
86
|
+
OrHash = T.type_alias do
|
|
87
|
+
T.any(
|
|
88
|
+
OpenAI::Live::MediaSessionForkConfig::Delegation,
|
|
89
|
+
OpenAI::Internal::AnyHash
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# The delegation owner. Always `responses` for tasks handled by the Responses API.
|
|
94
|
+
sig { returns(Symbol) }
|
|
95
|
+
attr_accessor :type
|
|
96
|
+
|
|
97
|
+
# Responses backend settings to update. Omitted settings keep their existing
|
|
98
|
+
# values.
|
|
99
|
+
sig { returns(T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig)) }
|
|
100
|
+
attr_reader :responses
|
|
101
|
+
|
|
102
|
+
sig { params(responses: OpenAI::Live::ResponsesDelegationUpdateConfig::OrHash).void }
|
|
103
|
+
attr_writer :responses
|
|
104
|
+
|
|
105
|
+
# Update the Responses backend for an existing Live session without changing
|
|
106
|
+
# delegation ownership.
|
|
107
|
+
sig do
|
|
108
|
+
params(
|
|
109
|
+
|
|
110
|
+
responses: OpenAI::Live::ResponsesDelegationUpdateConfig::OrHash,
|
|
111
|
+
|
|
112
|
+
type: Symbol
|
|
113
|
+
)
|
|
114
|
+
.returns(T.attached_class)
|
|
115
|
+
end
|
|
116
|
+
def self.new(
|
|
117
|
+
|
|
118
|
+
# Responses backend settings to update. Omitted settings keep their existing
|
|
119
|
+
# values.
|
|
120
|
+
responses: nil,
|
|
121
|
+
|
|
122
|
+
# The delegation owner. Always `responses` for tasks handled by the Responses API.
|
|
123
|
+
|
|
124
|
+
type: :responses
|
|
125
|
+
)
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
sig do
|
|
129
|
+
override.returns(
|
|
130
|
+
{type: Symbol, responses: OpenAI::Live::ResponsesDelegationUpdateConfig}
|
|
131
|
+
)
|
|
132
|
+
end
|
|
133
|
+
def to_hash
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
end
|
|
143
|
+
end
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class OutputAudioDeltaEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::OutputAudioDeltaEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Base64-encoded raw audio. Primary WebSocket events use the session's configured
|
|
18
|
+
# format; reflected sideband events use mono PCM16LE at 24 kHz.
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :delta
|
|
21
|
+
|
|
22
|
+
# The event type, always `session.output_audio.delta`.
|
|
23
|
+
sig { returns(Symbol) }
|
|
24
|
+
attr_accessor :type
|
|
25
|
+
|
|
26
|
+
# Exclusive session-relative end in milliseconds. Required on reflected sideband
|
|
27
|
+
# events; omitted on the primary WebSocket. Dropped output frames leave gaps
|
|
28
|
+
# between reflected ranges.
|
|
29
|
+
sig { returns(T.nilable(Integer)) }
|
|
30
|
+
attr_reader :end_ms
|
|
31
|
+
|
|
32
|
+
sig { params(end_ms: Integer).void }
|
|
33
|
+
attr_writer :end_ms
|
|
34
|
+
|
|
35
|
+
# Inclusive session-relative start in milliseconds. Required on reflected sideband
|
|
36
|
+
# events; omitted on the primary WebSocket.
|
|
37
|
+
sig { returns(T.nilable(Integer)) }
|
|
38
|
+
attr_reader :start_ms
|
|
39
|
+
|
|
40
|
+
sig { params(start_ms: Integer).void }
|
|
41
|
+
attr_writer :start_ms
|
|
42
|
+
|
|
43
|
+
# An audio chunk generated by the Live model. Decode and play primary WebSocket
|
|
44
|
+
# chunks in delivery order using the configured session audio format. Sideband
|
|
45
|
+
# connections receive reflected output audio with timestamps.
|
|
46
|
+
sig do
|
|
47
|
+
params(
|
|
48
|
+
|
|
49
|
+
delta: String,
|
|
50
|
+
|
|
51
|
+
end_ms: Integer,
|
|
52
|
+
|
|
53
|
+
start_ms: Integer,
|
|
54
|
+
|
|
55
|
+
type: Symbol
|
|
56
|
+
)
|
|
57
|
+
.returns(T.attached_class)
|
|
58
|
+
end
|
|
59
|
+
def self.new(
|
|
60
|
+
|
|
61
|
+
# Base64-encoded raw audio. Primary WebSocket events use the session's configured
|
|
62
|
+
# format; reflected sideband events use mono PCM16LE at 24 kHz.
|
|
63
|
+
delta:,
|
|
64
|
+
|
|
65
|
+
# Exclusive session-relative end in milliseconds. Required on reflected sideband
|
|
66
|
+
# events; omitted on the primary WebSocket. Dropped output frames leave gaps
|
|
67
|
+
# between reflected ranges.
|
|
68
|
+
end_ms: nil,
|
|
69
|
+
|
|
70
|
+
# Inclusive session-relative start in milliseconds. Required on reflected sideband
|
|
71
|
+
# events; omitted on the primary WebSocket.
|
|
72
|
+
start_ms: nil,
|
|
73
|
+
|
|
74
|
+
# The event type, always `session.output_audio.delta`.
|
|
75
|
+
|
|
76
|
+
type: :"session.output_audio.delta"
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
sig do
|
|
81
|
+
override.returns(
|
|
82
|
+
{delta: String, type: Symbol, end_ms: Integer, start_ms: Integer}
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
def to_hash
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class OutputTranscriptDeltaEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::OutputTranscriptDeltaEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The transcript text fragment for the audio in this time range. Append fragments
|
|
18
|
+
# in delivery order to build the transcript.
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :delta
|
|
21
|
+
|
|
22
|
+
# The end of this event on the Live session timeline, in milliseconds from the
|
|
23
|
+
# beginning of the session. For appended context, this can equal start_ms.
|
|
24
|
+
sig { returns(Integer) }
|
|
25
|
+
attr_accessor :end_ms
|
|
26
|
+
|
|
27
|
+
# The unique ID of the Live server event.
|
|
28
|
+
sig { returns(String) }
|
|
29
|
+
attr_accessor :event_id
|
|
30
|
+
|
|
31
|
+
# The start of this event on the Live session timeline, in milliseconds from the
|
|
32
|
+
# beginning of the session.
|
|
33
|
+
sig { returns(Integer) }
|
|
34
|
+
attr_accessor :start_ms
|
|
35
|
+
|
|
36
|
+
# The event type, always `session.output_transcript.delta`.
|
|
37
|
+
sig { returns(Symbol) }
|
|
38
|
+
attr_accessor :type
|
|
39
|
+
|
|
40
|
+
# The event_id of the client command associated with this server event, when
|
|
41
|
+
# supplied.
|
|
42
|
+
sig { returns(T.nilable(String)) }
|
|
43
|
+
attr_reader :client_event_id
|
|
44
|
+
|
|
45
|
+
sig { params(client_event_id: String).void }
|
|
46
|
+
attr_writer :client_event_id
|
|
47
|
+
|
|
48
|
+
# A transcript fragment for assistant output audio in the Live session. Accumulate
|
|
49
|
+
# fragments in delivery order; these events do not define complete turns or
|
|
50
|
+
# include a transcript-done event.
|
|
51
|
+
sig do
|
|
52
|
+
params(
|
|
53
|
+
|
|
54
|
+
delta: String,
|
|
55
|
+
|
|
56
|
+
end_ms: Integer,
|
|
57
|
+
|
|
58
|
+
event_id: String,
|
|
59
|
+
|
|
60
|
+
start_ms: Integer,
|
|
61
|
+
|
|
62
|
+
client_event_id: String,
|
|
63
|
+
|
|
64
|
+
type: Symbol
|
|
65
|
+
)
|
|
66
|
+
.returns(T.attached_class)
|
|
67
|
+
end
|
|
68
|
+
def self.new(
|
|
69
|
+
|
|
70
|
+
# The transcript text fragment for the audio in this time range. Append fragments
|
|
71
|
+
# in delivery order to build the transcript.
|
|
72
|
+
delta:,
|
|
73
|
+
|
|
74
|
+
# The end of this event on the Live session timeline, in milliseconds from the
|
|
75
|
+
# beginning of the session. For appended context, this can equal start_ms.
|
|
76
|
+
end_ms:,
|
|
77
|
+
|
|
78
|
+
# The unique ID of the Live server event.
|
|
79
|
+
event_id:,
|
|
80
|
+
|
|
81
|
+
# The start of this event on the Live session timeline, in milliseconds from the
|
|
82
|
+
# beginning of the session.
|
|
83
|
+
start_ms:,
|
|
84
|
+
|
|
85
|
+
# The event_id of the client command associated with this server event, when
|
|
86
|
+
# supplied.
|
|
87
|
+
client_event_id: nil,
|
|
88
|
+
|
|
89
|
+
# The event type, always `session.output_transcript.delta`.
|
|
90
|
+
|
|
91
|
+
type: :"session.output_transcript.delta"
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
sig do
|
|
96
|
+
override.returns(
|
|
97
|
+
{
|
|
98
|
+
delta: String,
|
|
99
|
+
end_ms: Integer,
|
|
100
|
+
event_id: String,
|
|
101
|
+
start_ms: Integer,
|
|
102
|
+
type: Symbol,
|
|
103
|
+
client_event_id: T.nilable(String)
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
def to_hash
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
end
|
|
115
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class ResponseCreateEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::ResponseCreateEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The Live client event type. Always `response.create`.
|
|
18
|
+
sig { returns(Symbol) }
|
|
19
|
+
attr_accessor :type
|
|
20
|
+
|
|
21
|
+
# Optional client identifier for correlating this command with a server event's
|
|
22
|
+
# client_event_id or error.client_event_id.
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_accessor :event_id
|
|
25
|
+
|
|
26
|
+
# Request a response from the Live session’s Responses backend, or continue a
|
|
27
|
+
# delegated response waiting for tool results. Requires Responses delegation.
|
|
28
|
+
sig do
|
|
29
|
+
params(
|
|
30
|
+
|
|
31
|
+
event_id: T.nilable(String),
|
|
32
|
+
|
|
33
|
+
type: Symbol
|
|
34
|
+
)
|
|
35
|
+
.returns(T.attached_class)
|
|
36
|
+
end
|
|
37
|
+
def self.new(
|
|
38
|
+
|
|
39
|
+
# Optional client identifier for correlating this command with a server event's
|
|
40
|
+
# client_event_id or error.client_event_id.
|
|
41
|
+
event_id: nil,
|
|
42
|
+
|
|
43
|
+
# The Live client event type. Always `response.create`.
|
|
44
|
+
|
|
45
|
+
type: :"response.create"
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
sig do
|
|
50
|
+
override.returns(
|
|
51
|
+
{type: Symbol, event_id: T.nilable(String)}
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
def to_hash
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class ResponseEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::ResponseEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The nested Responses streaming event. Dispatch on its type field. Response
|
|
18
|
+
# lifecycle snapshots omit input and clear instructions, tools, and output to keep
|
|
19
|
+
# messages small; consume granular output events for the generated content.
|
|
20
|
+
sig { returns(T::Hash[Symbol, T.anything]) }
|
|
21
|
+
attr_accessor :event
|
|
22
|
+
|
|
23
|
+
# The unique ID of the Live server event.
|
|
24
|
+
sig { returns(String) }
|
|
25
|
+
attr_accessor :event_id
|
|
26
|
+
|
|
27
|
+
# The event type, always `response.event`.
|
|
28
|
+
sig { returns(Symbol) }
|
|
29
|
+
attr_accessor :type
|
|
30
|
+
|
|
31
|
+
# The event_id of the client command associated with this server event, when
|
|
32
|
+
# supplied.
|
|
33
|
+
sig { returns(T.nilable(String)) }
|
|
34
|
+
attr_reader :client_event_id
|
|
35
|
+
|
|
36
|
+
sig { params(client_event_id: String).void }
|
|
37
|
+
attr_writer :client_event_id
|
|
38
|
+
|
|
39
|
+
# The Live delegation associated with the nested Responses event. May be null or
|
|
40
|
+
# omitted when the event cannot be correlated with a delegation.
|
|
41
|
+
sig { returns(T.nilable(String)) }
|
|
42
|
+
attr_accessor :delegation_id
|
|
43
|
+
|
|
44
|
+
# A streaming Responses API event from a backend delegated to by the Live session.
|
|
45
|
+
# Use the outer delegation_id to associate the nested stream with its Live
|
|
46
|
+
# delegation.
|
|
47
|
+
sig do
|
|
48
|
+
params(
|
|
49
|
+
|
|
50
|
+
event: T::Hash[Symbol, T.anything],
|
|
51
|
+
|
|
52
|
+
event_id: String,
|
|
53
|
+
|
|
54
|
+
client_event_id: String,
|
|
55
|
+
|
|
56
|
+
delegation_id: T.nilable(String),
|
|
57
|
+
|
|
58
|
+
type: Symbol
|
|
59
|
+
)
|
|
60
|
+
.returns(T.attached_class)
|
|
61
|
+
end
|
|
62
|
+
def self.new(
|
|
63
|
+
|
|
64
|
+
# The nested Responses streaming event. Dispatch on its type field. Response
|
|
65
|
+
# lifecycle snapshots omit input and clear instructions, tools, and output to keep
|
|
66
|
+
# messages small; consume granular output events for the generated content.
|
|
67
|
+
event:,
|
|
68
|
+
|
|
69
|
+
# The unique ID of the Live server event.
|
|
70
|
+
event_id:,
|
|
71
|
+
|
|
72
|
+
# The event_id of the client command associated with this server event, when
|
|
73
|
+
# supplied.
|
|
74
|
+
client_event_id: nil,
|
|
75
|
+
|
|
76
|
+
# The Live delegation associated with the nested Responses event. May be null or
|
|
77
|
+
# omitted when the event cannot be correlated with a delegation.
|
|
78
|
+
delegation_id: nil,
|
|
79
|
+
|
|
80
|
+
# The event type, always `response.event`.
|
|
81
|
+
|
|
82
|
+
type: :"response.event"
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
sig do
|
|
87
|
+
override.returns(
|
|
88
|
+
{
|
|
89
|
+
event: T::Hash[Symbol, T.anything],
|
|
90
|
+
event_id: String,
|
|
91
|
+
type: Symbol,
|
|
92
|
+
client_event_id: T.nilable(String),
|
|
93
|
+
delegation_id: T.nilable(String)
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
def to_hash
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
end
|
|
105
|
+
end
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class ResponseItemCreateEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::ResponseItemCreateEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# An input item to append to the Responses backend conversation, such as a user
|
|
18
|
+
# message or a function tool result.
|
|
19
|
+
sig {
|
|
20
|
+
returns(
|
|
21
|
+
T.any(
|
|
22
|
+
OpenAI::Responses::EasyInputMessage,
|
|
23
|
+
OpenAI::Responses::ResponseInputItem::Message,
|
|
24
|
+
OpenAI::Responses::ResponseOutputMessage,
|
|
25
|
+
OpenAI::Responses::ResponseFileSearchToolCall,
|
|
26
|
+
OpenAI::Responses::ResponseComputerToolCall,
|
|
27
|
+
OpenAI::Responses::ResponseInputItem::ComputerCallOutput,
|
|
28
|
+
OpenAI::Responses::ResponseFunctionWebSearch,
|
|
29
|
+
OpenAI::Responses::ResponseFunctionToolCall,
|
|
30
|
+
OpenAI::Responses::ResponseInputItem::FunctionCallOutput,
|
|
31
|
+
OpenAI::Responses::ResponseInputItem::ToolSearchCall,
|
|
32
|
+
OpenAI::Responses::ResponseToolSearchOutputItemParam,
|
|
33
|
+
OpenAI::Responses::ResponseInputItem::AdditionalTools,
|
|
34
|
+
OpenAI::Responses::ResponseConfigurationUpdateItemParam,
|
|
35
|
+
OpenAI::Responses::ResponseReasoningItem,
|
|
36
|
+
OpenAI::Responses::ResponseCompactionItemParam,
|
|
37
|
+
OpenAI::Responses::ResponseInputItem::ImageGenerationCall,
|
|
38
|
+
OpenAI::Responses::ResponseCodeInterpreterToolCall,
|
|
39
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCall,
|
|
40
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCallOutput,
|
|
41
|
+
OpenAI::Responses::ResponseInputItem::ShellCall,
|
|
42
|
+
OpenAI::Responses::ResponseInputItem::ShellCallOutput,
|
|
43
|
+
OpenAI::Responses::ResponseInputItem::ApplyPatchCall,
|
|
44
|
+
OpenAI::Responses::ResponseInputItem::ApplyPatchCallOutput,
|
|
45
|
+
OpenAI::Responses::ResponseInputItem::McpListTools,
|
|
46
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalRequest,
|
|
47
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalResponse,
|
|
48
|
+
OpenAI::Responses::ResponseInputItem::McpCall,
|
|
49
|
+
OpenAI::Responses::ResponseCustomToolCallOutput,
|
|
50
|
+
OpenAI::Responses::ResponseCustomToolCall,
|
|
51
|
+
OpenAI::Responses::ResponseInputItem::CompactionTrigger,
|
|
52
|
+
OpenAI::Responses::ResponseInputItem::ItemReference,
|
|
53
|
+
OpenAI::Responses::ResponseInputItem::Program,
|
|
54
|
+
OpenAI::Responses::ResponseInputItem::ProgramOutput
|
|
55
|
+
)
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
attr_accessor :item
|
|
59
|
+
|
|
60
|
+
# The Live client event type. Always `response.item.create`.
|
|
61
|
+
sig { returns(Symbol) }
|
|
62
|
+
attr_accessor :type
|
|
63
|
+
|
|
64
|
+
# Optional client identifier for correlating this command with a server event's
|
|
65
|
+
# client_event_id or error.client_event_id.
|
|
66
|
+
sig { returns(T.nilable(String)) }
|
|
67
|
+
attr_accessor :event_id
|
|
68
|
+
|
|
69
|
+
# Add an input item to the Live session’s Responses backend. Requires Responses
|
|
70
|
+
# delegation; use `response.create` to request a response.
|
|
71
|
+
sig do
|
|
72
|
+
params(
|
|
73
|
+
|
|
74
|
+
item: T.any(
|
|
75
|
+
OpenAI::Responses::EasyInputMessage::OrHash,
|
|
76
|
+
OpenAI::Responses::ResponseInputItem::Message::OrHash,
|
|
77
|
+
OpenAI::Responses::ResponseOutputMessage::OrHash,
|
|
78
|
+
OpenAI::Responses::ResponseFileSearchToolCall::OrHash,
|
|
79
|
+
OpenAI::Responses::ResponseComputerToolCall::OrHash,
|
|
80
|
+
OpenAI::Responses::ResponseInputItem::ComputerCallOutput::OrHash,
|
|
81
|
+
OpenAI::Responses::ResponseFunctionWebSearch::OrHash,
|
|
82
|
+
OpenAI::Responses::ResponseFunctionToolCall::OrHash,
|
|
83
|
+
OpenAI::Responses::ResponseInputItem::FunctionCallOutput::OrHash,
|
|
84
|
+
OpenAI::Responses::ResponseInputItem::ToolSearchCall::OrHash,
|
|
85
|
+
OpenAI::Responses::ResponseToolSearchOutputItemParam::OrHash,
|
|
86
|
+
OpenAI::Responses::ResponseInputItem::AdditionalTools::OrHash,
|
|
87
|
+
OpenAI::Responses::ResponseConfigurationUpdateItemParam::OrHash,
|
|
88
|
+
OpenAI::Responses::ResponseReasoningItem::OrHash,
|
|
89
|
+
OpenAI::Responses::ResponseCompactionItemParam::OrHash,
|
|
90
|
+
OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OrHash,
|
|
91
|
+
OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
|
|
92
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCall::OrHash,
|
|
93
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCallOutput::OrHash,
|
|
94
|
+
OpenAI::Responses::ResponseInputItem::ShellCall::OrHash,
|
|
95
|
+
OpenAI::Responses::ResponseInputItem::ShellCallOutput::OrHash,
|
|
96
|
+
OpenAI::Responses::ResponseInputItem::ApplyPatchCall::OrHash,
|
|
97
|
+
OpenAI::Responses::ResponseInputItem::ApplyPatchCallOutput::OrHash,
|
|
98
|
+
OpenAI::Responses::ResponseInputItem::McpListTools::OrHash,
|
|
99
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalRequest::OrHash,
|
|
100
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalResponse::OrHash,
|
|
101
|
+
OpenAI::Responses::ResponseInputItem::McpCall::OrHash,
|
|
102
|
+
OpenAI::Responses::ResponseCustomToolCallOutput::OrHash,
|
|
103
|
+
OpenAI::Responses::ResponseCustomToolCall::OrHash,
|
|
104
|
+
OpenAI::Responses::ResponseInputItem::CompactionTrigger::OrHash,
|
|
105
|
+
OpenAI::Responses::ResponseInputItem::ItemReference::OrHash,
|
|
106
|
+
OpenAI::Responses::ResponseInputItem::Program::OrHash,
|
|
107
|
+
OpenAI::Responses::ResponseInputItem::ProgramOutput::OrHash
|
|
108
|
+
),
|
|
109
|
+
|
|
110
|
+
event_id: T.nilable(String),
|
|
111
|
+
|
|
112
|
+
type: Symbol
|
|
113
|
+
)
|
|
114
|
+
.returns(T.attached_class)
|
|
115
|
+
end
|
|
116
|
+
def self.new(
|
|
117
|
+
|
|
118
|
+
# An input item to append to the Responses backend conversation, such as a user
|
|
119
|
+
# message or a function tool result.
|
|
120
|
+
item:,
|
|
121
|
+
|
|
122
|
+
# Optional client identifier for correlating this command with a server event's
|
|
123
|
+
# client_event_id or error.client_event_id.
|
|
124
|
+
event_id: nil,
|
|
125
|
+
|
|
126
|
+
# The Live client event type. Always `response.item.create`.
|
|
127
|
+
|
|
128
|
+
type: :"response.item.create"
|
|
129
|
+
)
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
sig do
|
|
133
|
+
override.returns(
|
|
134
|
+
{
|
|
135
|
+
item: T.any(
|
|
136
|
+
OpenAI::Responses::EasyInputMessage,
|
|
137
|
+
OpenAI::Responses::ResponseInputItem::Message,
|
|
138
|
+
OpenAI::Responses::ResponseOutputMessage,
|
|
139
|
+
OpenAI::Responses::ResponseFileSearchToolCall,
|
|
140
|
+
OpenAI::Responses::ResponseComputerToolCall,
|
|
141
|
+
OpenAI::Responses::ResponseInputItem::ComputerCallOutput,
|
|
142
|
+
OpenAI::Responses::ResponseFunctionWebSearch,
|
|
143
|
+
OpenAI::Responses::ResponseFunctionToolCall,
|
|
144
|
+
OpenAI::Responses::ResponseInputItem::FunctionCallOutput,
|
|
145
|
+
OpenAI::Responses::ResponseInputItem::ToolSearchCall,
|
|
146
|
+
OpenAI::Responses::ResponseToolSearchOutputItemParam,
|
|
147
|
+
OpenAI::Responses::ResponseInputItem::AdditionalTools,
|
|
148
|
+
OpenAI::Responses::ResponseConfigurationUpdateItemParam,
|
|
149
|
+
OpenAI::Responses::ResponseReasoningItem,
|
|
150
|
+
OpenAI::Responses::ResponseCompactionItemParam,
|
|
151
|
+
OpenAI::Responses::ResponseInputItem::ImageGenerationCall,
|
|
152
|
+
OpenAI::Responses::ResponseCodeInterpreterToolCall,
|
|
153
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCall,
|
|
154
|
+
OpenAI::Responses::ResponseInputItem::LocalShellCallOutput,
|
|
155
|
+
OpenAI::Responses::ResponseInputItem::ShellCall,
|
|
156
|
+
OpenAI::Responses::ResponseInputItem::ShellCallOutput,
|
|
157
|
+
OpenAI::Responses::ResponseInputItem::ApplyPatchCall,
|
|
158
|
+
OpenAI::Responses::ResponseInputItem::ApplyPatchCallOutput,
|
|
159
|
+
OpenAI::Responses::ResponseInputItem::McpListTools,
|
|
160
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalRequest,
|
|
161
|
+
OpenAI::Responses::ResponseInputItem::McpApprovalResponse,
|
|
162
|
+
OpenAI::Responses::ResponseInputItem::McpCall,
|
|
163
|
+
OpenAI::Responses::ResponseCustomToolCallOutput,
|
|
164
|
+
OpenAI::Responses::ResponseCustomToolCall,
|
|
165
|
+
OpenAI::Responses::ResponseInputItem::CompactionTrigger,
|
|
166
|
+
OpenAI::Responses::ResponseInputItem::ItemReference,
|
|
167
|
+
OpenAI::Responses::ResponseInputItem::Program,
|
|
168
|
+
OpenAI::Responses::ResponseInputItem::ProgramOutput
|
|
169
|
+
),
|
|
170
|
+
type: Symbol,
|
|
171
|
+
event_id: T.nilable(String)
|
|
172
|
+
}
|
|
173
|
+
)
|
|
174
|
+
end
|
|
175
|
+
def to_hash
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
end
|
|
183
|
+
end
|