Class: Vapi::ServerMessageMessage
- Inherits:
-
Object
- Object
- Vapi::ServerMessageMessage
- Defined in:
- lib/vapi_server_sdk/types/server_message_message.rb
Overview
These are all the messages that can be sent to your server before, after and
during the call. Configure the messages you'd like to receive in
`assistant.serverMessages`.
The server where the message is sent is determined by the following precedence
order:
1. `tool.server.url` (if configured, and only for "tool-calls" message)
2. `assistant.serverUrl` (if configure)
3. `phoneNumber.serverUrl` (if configured)
4. `org.serverUrl` (if configured)
Instance Attribute Summary collapse
- #discriminant ⇒ String readonly
- #member ⇒ Object readonly
Class Method Summary collapse
- .assistant_request(member:) ⇒ Vapi::ServerMessageMessage
- .call_endpointing_request(member:) ⇒ Vapi::ServerMessageMessage
- .conversation_update(member:) ⇒ Vapi::ServerMessageMessage
- .end_of_call_report(member:) ⇒ Vapi::ServerMessageMessage
-
.from_json(json_object:) ⇒ Vapi::ServerMessageMessage
Deserialize a JSON object to an instance of ServerMessageMessage.
- .hang(member:) ⇒ Vapi::ServerMessageMessage
- .knowledge_base_request(member:) ⇒ Vapi::ServerMessageMessage
- .language_change_detected(member:) ⇒ Vapi::ServerMessageMessage
- .model_output(member:) ⇒ Vapi::ServerMessageMessage
- .phone_call_control(member:) ⇒ Vapi::ServerMessageMessage
- .speech_update(member:) ⇒ Vapi::ServerMessageMessage
- .status_update(member:) ⇒ Vapi::ServerMessageMessage
- .tool_calls(member:) ⇒ Vapi::ServerMessageMessage
- .transcript_transcript_type_final(member:) ⇒ Vapi::ServerMessageMessage
- .transfer_destination_request(member:) ⇒ Vapi::ServerMessageMessage
- .transfer_update(member:) ⇒ Vapi::ServerMessageMessage
- .user_interrupted(member:) ⇒ Vapi::ServerMessageMessage
-
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object’s property definitions.
- .voice_input(member:) ⇒ Vapi::ServerMessageMessage
- .voice_request(member:) ⇒ Vapi::ServerMessageMessage
Instance Method Summary collapse
- #initialize(member:, discriminant:) ⇒ Vapi::ServerMessageMessage constructor
-
#is_a?(obj) ⇒ Boolean
For Union Types, is_a? functionality is delegated to the wrapped member.
- #kind_of? ⇒ Object
-
#to_json(*_args) ⇒ String
For Union Types, to_json functionality is delegated to the wrapped member.
Constructor Details
#initialize(member:, discriminant:) ⇒ Vapi::ServerMessageMessage
45 46 47 48 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 45 def initialize(member:, discriminant:) @member = member @discriminant = discriminant end |
Instance Attribute Details
#discriminant ⇒ String (readonly)
37 38 39 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 37 def discriminant @discriminant end |
#member ⇒ Object (readonly)
35 36 37 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 35 def member @member end |
Class Method Details
.assistant_request(member:) ⇒ Vapi::ServerMessageMessage
205 206 207 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 205 def self.assistant_request(member:) new(member: member, discriminant: "assistant-request") end |
.call_endpointing_request(member:) ⇒ Vapi::ServerMessageMessage
307 308 309 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 307 def self.call_endpointing_request(member:) new(member: member, discriminant: "call.endpointing.request") end |
.conversation_update(member:) ⇒ Vapi::ServerMessageMessage
211 212 213 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 211 def self.conversation_update(member:) new(member: member, discriminant: "conversation-update") end |
.end_of_call_report(member:) ⇒ Vapi::ServerMessageMessage
217 218 219 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 217 def self.end_of_call_report(member:) new(member: member, discriminant: "end-of-call-report") end |
.from_json(json_object:) ⇒ Vapi::ServerMessageMessage
Deserialize a JSON object to an instance of ServerMessageMessage
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 54 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) member = case struct.type when "assistant-request" Vapi::ServerMessageAssistantRequest.from_json(json_object: json_object) when "conversation-update" Vapi::ServerMessageConversationUpdate.from_json(json_object: json_object) when "end-of-call-report" Vapi::ServerMessageEndOfCallReport.from_json(json_object: json_object) when "hang" Vapi::ServerMessageHang.from_json(json_object: json_object) when "knowledge-base-request" Vapi::ServerMessageKnowledgeBaseRequest.from_json(json_object: json_object) when "model-output" Vapi::ServerMessageModelOutput.from_json(json_object: json_object) when "phone-call-control" Vapi::ServerMessagePhoneCallControl.from_json(json_object: json_object) when "speech-update" Vapi::ServerMessageSpeechUpdate.from_json(json_object: json_object) when "status-update" Vapi::ServerMessageStatusUpdate.from_json(json_object: json_object) when "tool-calls" Vapi::ServerMessageToolCalls.from_json(json_object: json_object) when "transfer-destination-request" Vapi::ServerMessageTransferDestinationRequest.from_json(json_object: json_object) when "transfer-update" Vapi::ServerMessageTransferUpdate.from_json(json_object: json_object) when "transcript[transcriptType='final']" Vapi::ServerMessageTranscript.from_json(json_object: json_object) when "user-interrupted" Vapi::ServerMessageUserInterrupted.from_json(json_object: json_object) when "language-change-detected" Vapi::ServerMessageLanguageChangeDetected.from_json(json_object: json_object) when "voice-input" Vapi::ServerMessageVoiceInput.from_json(json_object: json_object) when "voice-request" Vapi::ServerMessageVoiceRequest.from_json(json_object: json_object) when "call.endpointing.request" Vapi::ServerMessageCallEndpointingRequest.from_json(json_object: json_object) else Vapi::ServerMessageAssistantRequest.from_json(json_object: json_object) end new(member: member, discriminant: struct.type) end |
.hang(member:) ⇒ Vapi::ServerMessageMessage
223 224 225 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 223 def self.hang(member:) new(member: member, discriminant: "hang") end |
.knowledge_base_request(member:) ⇒ Vapi::ServerMessageMessage
229 230 231 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 229 def self.knowledge_base_request(member:) new(member: member, discriminant: "knowledge-base-request") end |
.language_change_detected(member:) ⇒ Vapi::ServerMessageMessage
289 290 291 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 289 def self.language_change_detected(member:) new(member: member, discriminant: "language-change-detected") end |
.model_output(member:) ⇒ Vapi::ServerMessageMessage
235 236 237 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 235 def self.model_output(member:) new(member: member, discriminant: "model-output") end |
.phone_call_control(member:) ⇒ Vapi::ServerMessageMessage
241 242 243 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 241 def self.phone_call_control(member:) new(member: member, discriminant: "phone-call-control") end |
.speech_update(member:) ⇒ Vapi::ServerMessageMessage
247 248 249 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 247 def self.speech_update(member:) new(member: member, discriminant: "speech-update") end |
.status_update(member:) ⇒ Vapi::ServerMessageMessage
253 254 255 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 253 def self.status_update(member:) new(member: member, discriminant: "status-update") end |
.tool_calls(member:) ⇒ Vapi::ServerMessageMessage
259 260 261 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 259 def self.tool_calls(member:) new(member: member, discriminant: "tool-calls") end |
.transcript_transcript_type_final(member:) ⇒ Vapi::ServerMessageMessage
277 278 279 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 277 def self.transcript_transcript_type_final(member:) new(member: member, discriminant: "transcript[transcriptType='final']") end |
.transfer_destination_request(member:) ⇒ Vapi::ServerMessageMessage
265 266 267 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 265 def self.transfer_destination_request(member:) new(member: member, discriminant: "transfer-destination-request") end |
.transfer_update(member:) ⇒ Vapi::ServerMessageMessage
271 272 273 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 271 def self.transfer_update(member:) new(member: member, discriminant: "transfer-update") end |
.user_interrupted(member:) ⇒ Vapi::ServerMessageMessage
283 284 285 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 283 def self.user_interrupted(member:) new(member: member, discriminant: "user-interrupted") end |
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given
hash and check each fields type against the current object's property
definitions.
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 152 def self.validate_raw(obj:) case obj.type when "assistant-request" Vapi::ServerMessageAssistantRequest.validate_raw(obj: obj) when "conversation-update" Vapi::ServerMessageConversationUpdate.validate_raw(obj: obj) when "end-of-call-report" Vapi::ServerMessageEndOfCallReport.validate_raw(obj: obj) when "hang" Vapi::ServerMessageHang.validate_raw(obj: obj) when "knowledge-base-request" Vapi::ServerMessageKnowledgeBaseRequest.validate_raw(obj: obj) when "model-output" Vapi::ServerMessageModelOutput.validate_raw(obj: obj) when "phone-call-control" Vapi::ServerMessagePhoneCallControl.validate_raw(obj: obj) when "speech-update" Vapi::ServerMessageSpeechUpdate.validate_raw(obj: obj) when "status-update" Vapi::ServerMessageStatusUpdate.validate_raw(obj: obj) when "tool-calls" Vapi::ServerMessageToolCalls.validate_raw(obj: obj) when "transfer-destination-request" Vapi::ServerMessageTransferDestinationRequest.validate_raw(obj: obj) when "transfer-update" Vapi::ServerMessageTransferUpdate.validate_raw(obj: obj) when "transcript[transcriptType='final']" Vapi::ServerMessageTranscript.validate_raw(obj: obj) when "user-interrupted" Vapi::ServerMessageUserInterrupted.validate_raw(obj: obj) when "language-change-detected" Vapi::ServerMessageLanguageChangeDetected.validate_raw(obj: obj) when "voice-input" Vapi::ServerMessageVoiceInput.validate_raw(obj: obj) when "voice-request" Vapi::ServerMessageVoiceRequest.validate_raw(obj: obj) when "call.endpointing.request" Vapi::ServerMessageCallEndpointingRequest.validate_raw(obj: obj) else raise("Passed value matched no type within the union, validation failed.") end end |
.voice_input(member:) ⇒ Vapi::ServerMessageMessage
295 296 297 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 295 def self.voice_input(member:) new(member: member, discriminant: "voice-input") end |
.voice_request(member:) ⇒ Vapi::ServerMessageMessage
301 302 303 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 301 def self.voice_request(member:) new(member: member, discriminant: "voice-request") end |
Instance Method Details
#is_a?(obj) ⇒ Boolean
For Union Types, is_a? functionality is delegated to the wrapped member.
199 200 201 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 199 def is_a?(obj) @member.is_a?(obj) end |
#kind_of? ⇒ Object
40 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 40 alias kind_of? is_a? |
#to_json(*_args) ⇒ String
For Union Types, to_json functionality is delegated to the wrapped member.
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/vapi_server_sdk/types/server_message_message.rb', line 102 def to_json(*_args) case @discriminant when "assistant-request" { **@member.to_json, type: @discriminant }.to_json when "conversation-update" { **@member.to_json, type: @discriminant }.to_json when "end-of-call-report" { **@member.to_json, type: @discriminant }.to_json when "hang" { **@member.to_json, type: @discriminant }.to_json when "knowledge-base-request" { **@member.to_json, type: @discriminant }.to_json when "model-output" { **@member.to_json, type: @discriminant }.to_json when "phone-call-control" { **@member.to_json, type: @discriminant }.to_json when "speech-update" { **@member.to_json, type: @discriminant }.to_json when "status-update" { **@member.to_json, type: @discriminant }.to_json when "tool-calls" { **@member.to_json, type: @discriminant }.to_json when "transfer-destination-request" { **@member.to_json, type: @discriminant }.to_json when "transfer-update" { **@member.to_json, type: @discriminant }.to_json when "transcript[transcriptType='final']" { **@member.to_json, type: @discriminant }.to_json when "user-interrupted" { **@member.to_json, type: @discriminant }.to_json when "language-change-detected" { **@member.to_json, type: @discriminant }.to_json when "voice-input" { **@member.to_json, type: @discriminant }.to_json when "voice-request" { **@member.to_json, type: @discriminant }.to_json when "call.endpointing.request" { **@member.to_json, type: @discriminant }.to_json else { "type": @discriminant, value: @member }.to_json end @member.to_json end |