sentdm 0.38.1 → 0.40.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 +21 -0
- data/README.md +1 -1
- data/lib/sentdm/client.rb +3 -20
- data/lib/sentdm/internal/voice_agents_page.rb +115 -0
- data/lib/sentdm/models/call_event.rb +8 -6
- data/lib/sentdm/models/call_event_payload.rb +29 -9
- data/lib/sentdm/models/channels/voice_create_params.rb +23 -11
- data/lib/sentdm/models/channels/voice_number.rb +23 -1
- data/lib/sentdm/models/channels/voice_update_params.rb +12 -1
- data/lib/sentdm/models/message_send_params.rb +8 -1
- data/lib/sentdm/models/template.rb +6 -5
- data/lib/sentdm/models/template_body.rb +8 -8
- data/lib/sentdm/models/voice/agent_create_params.rb +142 -0
- data/lib/sentdm/models/{calls/participant_list_params.rb → voice/agent_delete_params.rb} +3 -3
- data/lib/sentdm/models/voice/agent_list_params.rb +38 -0
- data/lib/sentdm/models/{calls/participant_remove_all_params.rb → voice/agent_retrieve_params.rb} +3 -3
- data/lib/sentdm/models/voice/agent_rotate_secret_params.rb +34 -0
- data/lib/sentdm/models/voice/agent_update_params.rb +141 -0
- data/lib/sentdm/models/{calls/api_response_of_list_of_call_participant.rb → voice/api_response_of_call.rb} +7 -7
- data/lib/sentdm/models/voice/api_response_of_call_recordings.rb +45 -0
- data/lib/sentdm/models/voice/api_response_of_calls_list.rb +44 -0
- data/lib/sentdm/models/voice/api_response_of_voice_agent.rb +51 -0
- data/lib/sentdm/models/voice/api_response_of_voice_agent_secret.rb +45 -0
- data/lib/sentdm/models/voice/api_response_of_voice_agents_list.rb +48 -0
- data/lib/sentdm/models/voice/api_response_of_voice_catalogue.rb +49 -0
- data/lib/sentdm/models/{channels → voice}/api_response_of_voice_token.rb +5 -5
- data/lib/sentdm/models/voice/call.rb +241 -0
- data/lib/sentdm/models/{calls/participant_remove_params.rb → voice/call_hangup_params.rb} +8 -8
- data/lib/sentdm/models/voice/call_list_params.rb +103 -0
- data/lib/sentdm/models/voice/call_list_recordings_params.rb +28 -0
- data/lib/sentdm/models/voice/call_party.rb +33 -0
- data/lib/sentdm/models/{calls/participant_update_params.rb → voice/call_record_params.rb} +10 -17
- data/lib/sentdm/models/voice/call_recording.rb +40 -0
- data/lib/sentdm/models/voice/call_recordings.rb +26 -0
- data/lib/sentdm/models/voice/call_retrieve_params.rb +28 -0
- data/lib/sentdm/models/voice/call_timeline_entry.rb +28 -0
- data/lib/sentdm/models/voice/calls/api_response_of_list_of_call_participant.rb +51 -0
- data/lib/sentdm/models/voice/calls/call_participant.rb +62 -0
- data/lib/sentdm/models/voice/calls/call_participant_target.rb +32 -0
- data/lib/sentdm/models/voice/calls/participant_add_params.rb +68 -0
- data/lib/sentdm/models/voice/calls/participant_list_params.rb +30 -0
- data/lib/sentdm/models/voice/calls/participant_remove_all_params.rb +30 -0
- data/lib/sentdm/models/voice/calls/participant_remove_params.rb +36 -0
- data/lib/sentdm/models/voice/calls/participant_update_params.rb +66 -0
- data/lib/sentdm/models/voice/calls_list.rb +28 -0
- data/lib/sentdm/models/voice/catalogue_list_params.rb +22 -0
- data/lib/sentdm/models/{channels/voice_create_token_params.rb → voice/token_create_params.rb} +4 -4
- data/lib/sentdm/models/voice/voice_agent.rb +138 -0
- data/lib/sentdm/models/voice/voice_agent_audio.rb +19 -0
- data/lib/sentdm/models/voice/voice_agent_audio_spec.rb +20 -0
- data/lib/sentdm/models/voice/voice_agent_limits.rb +31 -0
- data/lib/sentdm/models/voice/voice_agent_limits_spec.rb +40 -0
- data/lib/sentdm/models/voice/voice_agent_party.rb +25 -0
- data/lib/sentdm/models/voice/voice_agent_party_spec.rb +28 -0
- data/lib/sentdm/models/voice/voice_agent_secret.rb +27 -0
- data/lib/sentdm/models/voice/voice_agent_speech.rb +31 -0
- data/lib/sentdm/models/voice/voice_agent_speech_spec.rb +40 -0
- data/lib/sentdm/models/voice/voice_agent_transcripts.rb +25 -0
- data/lib/sentdm/models/voice/voice_agent_transcripts_spec.rb +32 -0
- data/lib/sentdm/models/voice/voice_agents_list.rb +30 -0
- data/lib/sentdm/models/voice/voice_catalogue.rb +30 -0
- data/lib/sentdm/models/voice/voice_catalogue_voice.rb +43 -0
- data/lib/sentdm/models/{channels → voice}/voice_token.rb +9 -3
- data/lib/sentdm/models/webhook_create_params.rb +31 -5
- data/lib/sentdm/models/webhook_response.rb +66 -4
- data/lib/sentdm/models/webhook_update_params.rb +15 -3
- data/lib/sentdm/models.rb +2 -30
- data/lib/sentdm/resources/channels/voice.rb +43 -63
- data/lib/sentdm/resources/channels.rb +2 -2
- data/lib/sentdm/resources/profiles/campaigns.rb +3 -2
- data/lib/sentdm/resources/voice/agents.rb +319 -0
- data/lib/sentdm/resources/voice/calls/participants.rb +244 -0
- data/lib/sentdm/resources/voice/calls.rb +269 -0
- data/lib/sentdm/resources/voice/catalogue.rb +71 -0
- data/lib/sentdm/resources/voice/tokens.rb +86 -0
- data/lib/sentdm/resources/voice.rb +142 -0
- data/lib/sentdm/resources/webhooks.rb +43 -15
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +59 -28
- data/rbi/sentdm/client.rbi +2 -19
- data/rbi/sentdm/internal/voice_agents_page.rbi +71 -0
- data/rbi/sentdm/models/call_event.rbi +14 -10
- data/rbi/sentdm/models/call_event_payload.rbi +34 -9
- data/rbi/sentdm/models/channels/voice_create_params.rbi +33 -17
- data/rbi/sentdm/models/channels/voice_number.rbi +31 -0
- data/rbi/sentdm/models/channels/voice_update_params.rbi +14 -0
- data/rbi/sentdm/models/message_send_params.rbi +16 -2
- data/rbi/sentdm/models/template.rbi +12 -10
- data/rbi/sentdm/models/template_body.rbi +12 -12
- data/rbi/sentdm/models/voice/agent_create_params.rbi +215 -0
- data/rbi/sentdm/models/{calls/participant_remove_all_params.rbi → voice/agent_delete_params.rbi} +3 -6
- data/rbi/sentdm/models/voice/agent_list_params.rbi +66 -0
- data/rbi/sentdm/models/voice/agent_retrieve_params.rbi +48 -0
- data/rbi/sentdm/models/{calls/participant_remove_params.rbi → voice/agent_rotate_secret_params.rbi} +11 -8
- data/rbi/sentdm/models/voice/agent_update_params.rbi +211 -0
- data/rbi/sentdm/models/voice/api_response_of_call.rbi +76 -0
- data/rbi/sentdm/models/voice/api_response_of_call_recordings.rbi +81 -0
- data/rbi/sentdm/models/{calls/api_response_of_list_of_call_participant.rbi → voice/api_response_of_calls_list.rbi} +12 -9
- data/rbi/sentdm/models/voice/api_response_of_voice_agent.rbi +85 -0
- data/rbi/sentdm/models/voice/api_response_of_voice_agent_secret.rbi +81 -0
- data/rbi/sentdm/models/voice/api_response_of_voice_agents_list.rbi +83 -0
- data/rbi/sentdm/models/voice/api_response_of_voice_catalogue.rbi +83 -0
- data/rbi/sentdm/models/{channels → voice}/api_response_of_voice_token.rbi +6 -8
- data/rbi/sentdm/models/voice/call.rbi +329 -0
- data/rbi/sentdm/models/voice/call_hangup_params.rbi +61 -0
- data/rbi/sentdm/models/voice/call_list_params.rbi +134 -0
- data/rbi/sentdm/models/{calls/participant_list_params.rbi → voice/call_list_recordings_params.rbi} +3 -3
- data/rbi/sentdm/models/voice/call_party.rbi +47 -0
- data/rbi/sentdm/models/{calls/participant_update_params.rbi → voice/call_record_params.rbi} +12 -21
- data/rbi/sentdm/models/voice/call_recording.rbi +63 -0
- data/rbi/sentdm/models/voice/call_recordings.rbi +49 -0
- data/rbi/sentdm/models/voice/call_retrieve_params.rbi +48 -0
- data/rbi/sentdm/models/voice/call_timeline_entry.rbi +44 -0
- data/rbi/sentdm/models/voice/calls/api_response_of_list_of_call_participant.rbi +84 -0
- data/rbi/sentdm/models/voice/calls/call_participant.rbi +97 -0
- data/rbi/sentdm/models/voice/calls/call_participant_target.rbi +49 -0
- data/rbi/sentdm/models/voice/calls/participant_add_params.rbi +104 -0
- data/rbi/sentdm/models/voice/calls/participant_list_params.rbi +53 -0
- data/rbi/sentdm/models/voice/calls/participant_remove_all_params.rbi +53 -0
- data/rbi/sentdm/models/voice/calls/participant_remove_params.rbi +63 -0
- data/rbi/sentdm/models/voice/calls/participant_update_params.rbi +96 -0
- data/rbi/sentdm/models/voice/calls_list.rbi +54 -0
- data/rbi/sentdm/models/voice/catalogue_list_params.rbi +40 -0
- data/rbi/sentdm/models/{channels/voice_create_token_params.rbi → voice/token_create_params.rbi} +3 -6
- data/rbi/sentdm/models/voice/voice_agent.rbi +196 -0
- data/rbi/sentdm/models/voice/voice_agent_audio.rbi +30 -0
- data/rbi/sentdm/models/voice/voice_agent_audio_spec.rbi +33 -0
- data/rbi/sentdm/models/voice/voice_agent_limits.rbi +57 -0
- data/rbi/sentdm/models/voice/voice_agent_limits_spec.rbi +62 -0
- data/rbi/sentdm/models/voice/voice_agent_party.rbi +36 -0
- data/rbi/sentdm/models/voice/voice_agent_party_spec.rbi +45 -0
- data/rbi/sentdm/models/voice/voice_agent_secret.rbi +37 -0
- data/rbi/sentdm/models/voice/voice_agent_speech.rbi +48 -0
- data/rbi/sentdm/models/voice/voice_agent_speech_spec.rbi +62 -0
- data/rbi/sentdm/models/voice/voice_agent_transcripts.rbi +43 -0
- data/rbi/sentdm/models/voice/voice_agent_transcripts_spec.rbi +51 -0
- data/rbi/sentdm/models/voice/voice_agents_list.rbi +55 -0
- data/rbi/sentdm/models/voice/voice_catalogue.rbi +59 -0
- data/rbi/sentdm/models/voice/voice_catalogue_voice.rbi +75 -0
- data/rbi/sentdm/models/{channels → voice}/voice_token.rbi +8 -4
- data/rbi/sentdm/models/webhook_create_params.rbi +41 -3
- data/rbi/sentdm/models/webhook_response.rbi +112 -3
- data/rbi/sentdm/models/webhook_update_params.rbi +18 -3
- data/rbi/sentdm/models.rbi +2 -30
- data/rbi/sentdm/resources/channels/voice.rbi +57 -67
- data/rbi/sentdm/resources/channels.rbi +2 -2
- data/rbi/sentdm/resources/messages.rbi +8 -1
- data/rbi/sentdm/resources/profiles/campaigns.rbi +3 -2
- data/rbi/sentdm/resources/voice/agents.rbi +316 -0
- data/rbi/sentdm/resources/voice/calls/participants.rbi +212 -0
- data/rbi/sentdm/resources/voice/calls.rbi +244 -0
- data/rbi/sentdm/resources/voice/catalogue.rbi +59 -0
- data/rbi/sentdm/resources/voice/tokens.rbi +84 -0
- data/rbi/sentdm/resources/voice.rbi +136 -0
- data/rbi/sentdm/resources/webhooks.rbi +56 -16
- data/sig/sentdm/client.rbs +1 -1
- data/sig/sentdm/internal/voice_agents_page.rbs +41 -0
- data/sig/sentdm/models/call_event_payload.rbs +12 -0
- data/sig/sentdm/models/channels/voice_create_params.rbs +9 -4
- data/sig/sentdm/models/channels/voice_number.rbs +12 -0
- data/sig/sentdm/models/channels/voice_update_params.rbs +5 -0
- data/sig/sentdm/models/voice/agent_create_params.rbs +99 -0
- data/sig/sentdm/models/{calls/participant_remove_all_params.rbs → voice/agent_delete_params.rbs} +3 -3
- data/sig/sentdm/models/voice/agent_list_params.rbs +40 -0
- data/sig/sentdm/models/{calls/participant_list_params.rbs → voice/agent_retrieve_params.rbs} +3 -3
- data/sig/sentdm/models/{calls/participant_remove_params.rbs → voice/agent_rotate_secret_params.rbs} +8 -8
- data/sig/sentdm/models/voice/agent_update_params.rbs +108 -0
- data/sig/sentdm/models/{calls/api_response_of_list_of_call_participant.rbs → voice/api_response_of_call.rbs} +7 -7
- data/sig/sentdm/models/voice/api_response_of_call_recordings.rbs +41 -0
- data/sig/sentdm/models/voice/api_response_of_calls_list.rbs +41 -0
- data/sig/sentdm/models/voice/api_response_of_voice_agent.rbs +41 -0
- data/sig/sentdm/models/voice/api_response_of_voice_agent_secret.rbs +41 -0
- data/sig/sentdm/models/voice/api_response_of_voice_agents_list.rbs +41 -0
- data/sig/sentdm/models/voice/api_response_of_voice_catalogue.rbs +41 -0
- data/sig/sentdm/models/{channels → voice}/api_response_of_voice_token.rbs +5 -5
- data/sig/sentdm/models/voice/call.rbs +175 -0
- data/sig/sentdm/models/voice/call_hangup_params.rbs +40 -0
- data/sig/sentdm/models/voice/call_list_params.rbs +79 -0
- data/sig/sentdm/models/voice/call_list_recordings_params.rbs +32 -0
- data/sig/sentdm/models/voice/call_party.rbs +19 -0
- data/sig/sentdm/models/{calls/participant_update_params.rbs → voice/call_record_params.rbs} +8 -13
- data/sig/sentdm/models/voice/call_recording.rbs +34 -0
- data/sig/sentdm/models/voice/call_recordings.rbs +22 -0
- data/sig/sentdm/models/voice/call_retrieve_params.rbs +32 -0
- data/sig/sentdm/models/voice/call_timeline_entry.rbs +21 -0
- data/sig/sentdm/models/voice/calls/api_response_of_list_of_call_participant.rbs +43 -0
- data/sig/sentdm/models/voice/calls/call_participant.rbs +54 -0
- data/sig/sentdm/models/voice/calls/call_participant_target.rbs +25 -0
- data/sig/sentdm/models/voice/calls/participant_add_params.rbs +65 -0
- data/sig/sentdm/models/voice/calls/participant_list_params.rbs +34 -0
- data/sig/sentdm/models/voice/calls/participant_remove_all_params.rbs +36 -0
- data/sig/sentdm/models/voice/calls/participant_remove_params.rbs +42 -0
- data/sig/sentdm/models/voice/calls/participant_update_params.rbs +63 -0
- data/sig/sentdm/models/voice/calls_list.rbs +33 -0
- data/sig/sentdm/models/voice/catalogue_list_params.rbs +27 -0
- data/sig/sentdm/models/{channels/voice_create_token_params.rbs → voice/token_create_params.rbs} +3 -3
- data/sig/sentdm/models/voice/voice_agent.rbs +116 -0
- data/sig/sentdm/models/voice/voice_agent_audio.rbs +19 -0
- data/sig/sentdm/models/voice/voice_agent_audio_spec.rbs +17 -0
- data/sig/sentdm/models/voice/voice_agent_limits.rbs +38 -0
- data/sig/sentdm/models/voice/voice_agent_limits_spec.rbs +34 -0
- data/sig/sentdm/models/{calls/call_participant_target.rbs → voice/voice_agent_party.rbs} +4 -4
- data/sig/sentdm/models/voice/voice_agent_party_spec.rbs +19 -0
- data/sig/sentdm/models/voice/voice_agent_secret.rbs +19 -0
- data/sig/sentdm/models/voice/voice_agent_speech.rbs +32 -0
- data/sig/sentdm/models/voice/voice_agent_speech_spec.rbs +26 -0
- data/sig/sentdm/models/voice/voice_agent_transcripts.rbs +23 -0
- data/sig/sentdm/models/voice/voice_agent_transcripts_spec.rbs +20 -0
- data/sig/sentdm/models/voice/voice_agents_list.rbs +35 -0
- data/sig/sentdm/models/voice/voice_catalogue.rbs +35 -0
- data/sig/sentdm/models/voice/voice_catalogue_voice.rbs +42 -0
- data/sig/sentdm/models/{channels → voice}/voice_token.rbs +3 -1
- data/sig/sentdm/models/webhook_create_params.rbs +12 -0
- data/sig/sentdm/models/webhook_response.rbs +46 -3
- data/sig/sentdm/models/webhook_update_params.rbs +5 -0
- data/sig/sentdm/models.rbs +2 -30
- data/sig/sentdm/resources/channels/voice.rbs +3 -11
- data/sig/sentdm/resources/voice/agents.rbs +74 -0
- data/sig/sentdm/resources/voice/calls/participants.rbs +52 -0
- data/sig/sentdm/resources/{calls/participants.rbs → voice/calls.rbs} +25 -21
- data/sig/sentdm/resources/voice/catalogue.rbs +14 -0
- data/sig/sentdm/resources/voice/tokens.rbs +19 -0
- data/sig/sentdm/resources/voice.rbs +15 -0
- data/sig/sentdm/resources/webhooks.rbs +3 -0
- metadata +176 -83
- data/lib/sentdm/models/api_response_of_call.rb +0 -43
- data/lib/sentdm/models/api_response_of_call_recordings.rb +0 -43
- data/lib/sentdm/models/api_response_of_calls_list.rb +0 -42
- data/lib/sentdm/models/call.rb +0 -134
- data/lib/sentdm/models/call_hangup_params.rb +0 -32
- data/lib/sentdm/models/call_list_params.rb +0 -83
- data/lib/sentdm/models/call_list_recordings_params.rb +0 -26
- data/lib/sentdm/models/call_party.rb +0 -31
- data/lib/sentdm/models/call_record_params.rb +0 -55
- data/lib/sentdm/models/call_recording.rb +0 -38
- data/lib/sentdm/models/call_recordings.rb +0 -24
- data/lib/sentdm/models/call_retrieve_params.rb +0 -26
- data/lib/sentdm/models/call_timeline_entry.rb +0 -26
- data/lib/sentdm/models/calls/call_participant.rb +0 -60
- data/lib/sentdm/models/calls/call_participant_target.rb +0 -30
- data/lib/sentdm/models/calls/participant_add_params.rb +0 -66
- data/lib/sentdm/models/calls_list.rb +0 -26
- data/lib/sentdm/resources/calls/participants.rb +0 -231
- data/lib/sentdm/resources/calls.rb +0 -236
- data/rbi/sentdm/models/api_response_of_call.rbi +0 -74
- data/rbi/sentdm/models/api_response_of_call_recordings.rbi +0 -74
- data/rbi/sentdm/models/api_response_of_calls_list.rbi +0 -74
- data/rbi/sentdm/models/call.rbi +0 -179
- data/rbi/sentdm/models/call_hangup_params.rbi +0 -59
- data/rbi/sentdm/models/call_list_params.rbi +0 -112
- data/rbi/sentdm/models/call_list_recordings_params.rbi +0 -46
- data/rbi/sentdm/models/call_party.rbi +0 -41
- data/rbi/sentdm/models/call_record_params.rbi +0 -83
- data/rbi/sentdm/models/call_recording.rbi +0 -59
- data/rbi/sentdm/models/call_recordings.rbi +0 -39
- data/rbi/sentdm/models/call_retrieve_params.rbi +0 -46
- data/rbi/sentdm/models/call_timeline_entry.rbi +0 -40
- data/rbi/sentdm/models/calls/call_participant.rbi +0 -92
- data/rbi/sentdm/models/calls/call_participant_target.rbi +0 -47
- data/rbi/sentdm/models/calls/participant_add_params.rbi +0 -98
- data/rbi/sentdm/models/calls_list.rbi +0 -47
- data/rbi/sentdm/resources/calls/participants.rbi +0 -199
- data/rbi/sentdm/resources/calls.rbi +0 -207
- data/sig/sentdm/models/api_response_of_call.rbs +0 -39
- data/sig/sentdm/models/api_response_of_call_recordings.rbs +0 -39
- data/sig/sentdm/models/api_response_of_calls_list.rbs +0 -39
- data/sig/sentdm/models/call.rbs +0 -101
- data/sig/sentdm/models/call_hangup_params.rbs +0 -38
- data/sig/sentdm/models/call_list_params.rbs +0 -67
- data/sig/sentdm/models/call_list_recordings_params.rbs +0 -30
- data/sig/sentdm/models/call_party.rbs +0 -17
- data/sig/sentdm/models/call_record_params.rbs +0 -54
- data/sig/sentdm/models/call_recording.rbs +0 -32
- data/sig/sentdm/models/call_recordings.rbs +0 -17
- data/sig/sentdm/models/call_retrieve_params.rbs +0 -30
- data/sig/sentdm/models/call_timeline_entry.rbs +0 -19
- data/sig/sentdm/models/calls/call_participant.rbs +0 -52
- data/sig/sentdm/models/calls/participant_add_params.rbs +0 -63
- data/sig/sentdm/models/calls_list.rbs +0 -26
- data/sig/sentdm/resources/calls.rbs +0 -50
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Voice
|
|
6
|
+
class AgentCreateParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(Sentdm::Voice::AgentCreateParams, Sentdm::Internal::AnyHash)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Audio sessions only: the sound format.
|
|
16
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentAudioSpec)) }
|
|
17
|
+
attr_reader :audio
|
|
18
|
+
|
|
19
|
+
sig do
|
|
20
|
+
params(
|
|
21
|
+
audio: T.nilable(Sentdm::Voice::VoiceAgentAudioSpec::OrHash)
|
|
22
|
+
).void
|
|
23
|
+
end
|
|
24
|
+
attr_writer :audio
|
|
25
|
+
|
|
26
|
+
# Who takes the call when the agent cannot: a phone number (kind: number). Omit it
|
|
27
|
+
# and such a call hangs up.
|
|
28
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentPartySpec)) }
|
|
29
|
+
attr_reader :fallback
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
params(
|
|
33
|
+
fallback: T.nilable(Sentdm::Voice::VoiceAgentPartySpec::OrHash)
|
|
34
|
+
).void
|
|
35
|
+
end
|
|
36
|
+
attr_writer :fallback
|
|
37
|
+
|
|
38
|
+
# Text sessions only: what the caller hears as soon as the call is answered,
|
|
39
|
+
# before the agent's first turn. 1 to 4,096 characters. Omit it and the agent
|
|
40
|
+
# speaks first.
|
|
41
|
+
sig { returns(T.nilable(String)) }
|
|
42
|
+
attr_accessor :greeting
|
|
43
|
+
|
|
44
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentLimitsSpec)) }
|
|
45
|
+
attr_reader :limits
|
|
46
|
+
|
|
47
|
+
sig do
|
|
48
|
+
params(
|
|
49
|
+
limits: T.nilable(Sentdm::Voice::VoiceAgentLimitsSpec::OrHash)
|
|
50
|
+
).void
|
|
51
|
+
end
|
|
52
|
+
attr_writer :limits
|
|
53
|
+
|
|
54
|
+
# A name for your own reference, 1 to 100 characters.
|
|
55
|
+
sig { returns(T.nilable(String)) }
|
|
56
|
+
attr_accessor :name
|
|
57
|
+
|
|
58
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
59
|
+
# for testing integrations without actual execution
|
|
60
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
61
|
+
attr_reader :sandbox
|
|
62
|
+
|
|
63
|
+
sig { params(sandbox: T::Boolean).void }
|
|
64
|
+
attr_writer :sandbox
|
|
65
|
+
|
|
66
|
+
# text: Sent turns the caller's speech into text and the agent's text into speech,
|
|
67
|
+
# so the agent exchanges text frames. audio: the agent receives and sends the
|
|
68
|
+
# sound itself.
|
|
69
|
+
sig { returns(T.nilable(String)) }
|
|
70
|
+
attr_accessor :session_type
|
|
71
|
+
|
|
72
|
+
# Text sessions only: how the caller is spoken to and listened to.
|
|
73
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentSpeechSpec)) }
|
|
74
|
+
attr_reader :speech
|
|
75
|
+
|
|
76
|
+
sig do
|
|
77
|
+
params(
|
|
78
|
+
speech: T.nilable(Sentdm::Voice::VoiceAgentSpeechSpec::OrHash)
|
|
79
|
+
).void
|
|
80
|
+
end
|
|
81
|
+
attr_writer :speech
|
|
82
|
+
|
|
83
|
+
# What the agent may do to the call: any of transfer, hangup, send_dtmf and hold.
|
|
84
|
+
# Default ["hangup"]. transfer needs at least one transfer_targets entry.
|
|
85
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
86
|
+
attr_accessor :tools
|
|
87
|
+
|
|
88
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentTranscriptsSpec)) }
|
|
89
|
+
attr_reader :transcripts
|
|
90
|
+
|
|
91
|
+
sig do
|
|
92
|
+
params(
|
|
93
|
+
transcripts:
|
|
94
|
+
T.nilable(Sentdm::Voice::VoiceAgentTranscriptsSpec::OrHash)
|
|
95
|
+
).void
|
|
96
|
+
end
|
|
97
|
+
attr_writer :transcripts
|
|
98
|
+
|
|
99
|
+
# Where the agent may transfer a call to, up to 20 parties: a phone number (kind:
|
|
100
|
+
# number, E.164), one of your app users (kind: user, the identity) or another of
|
|
101
|
+
# your agents (kind: agent, its id). The agent can only transfer to a party listed
|
|
102
|
+
# here.
|
|
103
|
+
sig { returns(T.nilable(T::Array[Sentdm::Voice::VoiceAgentPartySpec])) }
|
|
104
|
+
attr_accessor :transfer_targets
|
|
105
|
+
|
|
106
|
+
# Where the gateway connects to the agent for each call: an absolute wss:// URL on
|
|
107
|
+
# a public host, at most 2,048 characters. The handshake is signed with the
|
|
108
|
+
# agent's signing_secret. Leave it out and the agent dials in instead, connecting
|
|
109
|
+
# to the gateway with your API key.
|
|
110
|
+
sig { returns(T.nilable(String)) }
|
|
111
|
+
attr_accessor :websocket_url
|
|
112
|
+
|
|
113
|
+
sig { returns(T.nilable(String)) }
|
|
114
|
+
attr_reader :idempotency_key
|
|
115
|
+
|
|
116
|
+
sig { params(idempotency_key: String).void }
|
|
117
|
+
attr_writer :idempotency_key
|
|
118
|
+
|
|
119
|
+
sig { returns(T.nilable(String)) }
|
|
120
|
+
attr_reader :x_profile_id
|
|
121
|
+
|
|
122
|
+
sig { params(x_profile_id: String).void }
|
|
123
|
+
attr_writer :x_profile_id
|
|
124
|
+
|
|
125
|
+
sig do
|
|
126
|
+
params(
|
|
127
|
+
audio: T.nilable(Sentdm::Voice::VoiceAgentAudioSpec::OrHash),
|
|
128
|
+
fallback: T.nilable(Sentdm::Voice::VoiceAgentPartySpec::OrHash),
|
|
129
|
+
greeting: T.nilable(String),
|
|
130
|
+
limits: T.nilable(Sentdm::Voice::VoiceAgentLimitsSpec::OrHash),
|
|
131
|
+
name: T.nilable(String),
|
|
132
|
+
sandbox: T::Boolean,
|
|
133
|
+
session_type: T.nilable(String),
|
|
134
|
+
speech: T.nilable(Sentdm::Voice::VoiceAgentSpeechSpec::OrHash),
|
|
135
|
+
tools: T.nilable(T::Array[String]),
|
|
136
|
+
transcripts:
|
|
137
|
+
T.nilable(Sentdm::Voice::VoiceAgentTranscriptsSpec::OrHash),
|
|
138
|
+
transfer_targets:
|
|
139
|
+
T.nilable(T::Array[Sentdm::Voice::VoiceAgentPartySpec::OrHash]),
|
|
140
|
+
websocket_url: T.nilable(String),
|
|
141
|
+
idempotency_key: String,
|
|
142
|
+
x_profile_id: String,
|
|
143
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
144
|
+
).returns(T.attached_class)
|
|
145
|
+
end
|
|
146
|
+
def self.new(
|
|
147
|
+
# Audio sessions only: the sound format.
|
|
148
|
+
audio: nil,
|
|
149
|
+
# Who takes the call when the agent cannot: a phone number (kind: number). Omit it
|
|
150
|
+
# and such a call hangs up.
|
|
151
|
+
fallback: nil,
|
|
152
|
+
# Text sessions only: what the caller hears as soon as the call is answered,
|
|
153
|
+
# before the agent's first turn. 1 to 4,096 characters. Omit it and the agent
|
|
154
|
+
# speaks first.
|
|
155
|
+
greeting: nil,
|
|
156
|
+
limits: nil,
|
|
157
|
+
# A name for your own reference, 1 to 100 characters.
|
|
158
|
+
name: nil,
|
|
159
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
160
|
+
# for testing integrations without actual execution
|
|
161
|
+
sandbox: nil,
|
|
162
|
+
# text: Sent turns the caller's speech into text and the agent's text into speech,
|
|
163
|
+
# so the agent exchanges text frames. audio: the agent receives and sends the
|
|
164
|
+
# sound itself.
|
|
165
|
+
session_type: nil,
|
|
166
|
+
# Text sessions only: how the caller is spoken to and listened to.
|
|
167
|
+
speech: nil,
|
|
168
|
+
# What the agent may do to the call: any of transfer, hangup, send_dtmf and hold.
|
|
169
|
+
# Default ["hangup"]. transfer needs at least one transfer_targets entry.
|
|
170
|
+
tools: nil,
|
|
171
|
+
transcripts: nil,
|
|
172
|
+
# Where the agent may transfer a call to, up to 20 parties: a phone number (kind:
|
|
173
|
+
# number, E.164), one of your app users (kind: user, the identity) or another of
|
|
174
|
+
# your agents (kind: agent, its id). The agent can only transfer to a party listed
|
|
175
|
+
# here.
|
|
176
|
+
transfer_targets: nil,
|
|
177
|
+
# Where the gateway connects to the agent for each call: an absolute wss:// URL on
|
|
178
|
+
# a public host, at most 2,048 characters. The handshake is signed with the
|
|
179
|
+
# agent's signing_secret. Leave it out and the agent dials in instead, connecting
|
|
180
|
+
# to the gateway with your API key.
|
|
181
|
+
websocket_url: nil,
|
|
182
|
+
idempotency_key: nil,
|
|
183
|
+
x_profile_id: nil,
|
|
184
|
+
request_options: {}
|
|
185
|
+
)
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
sig do
|
|
189
|
+
override.returns(
|
|
190
|
+
{
|
|
191
|
+
audio: T.nilable(Sentdm::Voice::VoiceAgentAudioSpec),
|
|
192
|
+
fallback: T.nilable(Sentdm::Voice::VoiceAgentPartySpec),
|
|
193
|
+
greeting: T.nilable(String),
|
|
194
|
+
limits: T.nilable(Sentdm::Voice::VoiceAgentLimitsSpec),
|
|
195
|
+
name: T.nilable(String),
|
|
196
|
+
sandbox: T::Boolean,
|
|
197
|
+
session_type: T.nilable(String),
|
|
198
|
+
speech: T.nilable(Sentdm::Voice::VoiceAgentSpeechSpec),
|
|
199
|
+
tools: T.nilable(T::Array[String]),
|
|
200
|
+
transcripts: T.nilable(Sentdm::Voice::VoiceAgentTranscriptsSpec),
|
|
201
|
+
transfer_targets:
|
|
202
|
+
T.nilable(T::Array[Sentdm::Voice::VoiceAgentPartySpec]),
|
|
203
|
+
websocket_url: T.nilable(String),
|
|
204
|
+
idempotency_key: String,
|
|
205
|
+
x_profile_id: String,
|
|
206
|
+
request_options: Sentdm::RequestOptions
|
|
207
|
+
}
|
|
208
|
+
)
|
|
209
|
+
end
|
|
210
|
+
def to_hash
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
end
|
data/rbi/sentdm/models/{calls/participant_remove_all_params.rbi → voice/agent_delete_params.rbi}
RENAMED
|
@@ -2,17 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
module
|
|
6
|
-
class
|
|
5
|
+
module Voice
|
|
6
|
+
class AgentDeleteParams < Sentdm::Models::MutationRequest
|
|
7
7
|
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
8
|
include Sentdm::Internal::Type::RequestParameters
|
|
9
9
|
|
|
10
10
|
OrHash =
|
|
11
11
|
T.type_alias do
|
|
12
|
-
T.any(
|
|
13
|
-
Sentdm::Calls::ParticipantRemoveAllParams,
|
|
14
|
-
Sentdm::Internal::AnyHash
|
|
15
|
-
)
|
|
12
|
+
T.any(Sentdm::Voice::AgentDeleteParams, Sentdm::Internal::AnyHash)
|
|
16
13
|
end
|
|
17
14
|
|
|
18
15
|
sig { returns(String) }
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Voice
|
|
6
|
+
class AgentListParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(Sentdm::Voice::AgentListParams, Sentdm::Internal::AnyHash)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Page number, from 1
|
|
16
|
+
sig { returns(T.nilable(Integer)) }
|
|
17
|
+
attr_reader :page
|
|
18
|
+
|
|
19
|
+
sig { params(page: Integer).void }
|
|
20
|
+
attr_writer :page
|
|
21
|
+
|
|
22
|
+
sig { returns(T.nilable(Integer)) }
|
|
23
|
+
attr_reader :page_size
|
|
24
|
+
|
|
25
|
+
sig { params(page_size: Integer).void }
|
|
26
|
+
attr_writer :page_size
|
|
27
|
+
|
|
28
|
+
sig { returns(T.nilable(String)) }
|
|
29
|
+
attr_reader :x_profile_id
|
|
30
|
+
|
|
31
|
+
sig { params(x_profile_id: String).void }
|
|
32
|
+
attr_writer :x_profile_id
|
|
33
|
+
|
|
34
|
+
sig do
|
|
35
|
+
params(
|
|
36
|
+
page: Integer,
|
|
37
|
+
page_size: Integer,
|
|
38
|
+
x_profile_id: String,
|
|
39
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
40
|
+
).returns(T.attached_class)
|
|
41
|
+
end
|
|
42
|
+
def self.new(
|
|
43
|
+
# Page number, from 1
|
|
44
|
+
page: nil,
|
|
45
|
+
page_size: nil,
|
|
46
|
+
x_profile_id: nil,
|
|
47
|
+
request_options: {}
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
sig do
|
|
52
|
+
override.returns(
|
|
53
|
+
{
|
|
54
|
+
page: Integer,
|
|
55
|
+
page_size: Integer,
|
|
56
|
+
x_profile_id: String,
|
|
57
|
+
request_options: Sentdm::RequestOptions
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
def to_hash
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Voice
|
|
6
|
+
class AgentRetrieveParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(Sentdm::Voice::AgentRetrieveParams, Sentdm::Internal::AnyHash)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
18
|
+
sig { returns(T.nilable(String)) }
|
|
19
|
+
attr_reader :x_profile_id
|
|
20
|
+
|
|
21
|
+
sig { params(x_profile_id: String).void }
|
|
22
|
+
attr_writer :x_profile_id
|
|
23
|
+
|
|
24
|
+
sig do
|
|
25
|
+
params(
|
|
26
|
+
id: String,
|
|
27
|
+
x_profile_id: String,
|
|
28
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
29
|
+
).returns(T.attached_class)
|
|
30
|
+
end
|
|
31
|
+
def self.new(id:, x_profile_id: nil, request_options: {})
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
sig do
|
|
35
|
+
override.returns(
|
|
36
|
+
{
|
|
37
|
+
id: String,
|
|
38
|
+
x_profile_id: String,
|
|
39
|
+
request_options: Sentdm::RequestOptions
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
def to_hash
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
data/rbi/sentdm/models/{calls/participant_remove_params.rbi → voice/agent_rotate_secret_params.rbi}
RENAMED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
module
|
|
6
|
-
class
|
|
5
|
+
module Voice
|
|
6
|
+
class AgentRotateSecretParams < Sentdm::Models::MutationRequest
|
|
7
7
|
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
8
|
include Sentdm::Internal::Type::RequestParameters
|
|
9
9
|
|
|
10
10
|
OrHash =
|
|
11
11
|
T.type_alias do
|
|
12
12
|
T.any(
|
|
13
|
-
Sentdm::
|
|
13
|
+
Sentdm::Voice::AgentRotateSecretParams,
|
|
14
14
|
Sentdm::Internal::AnyHash
|
|
15
15
|
)
|
|
16
16
|
end
|
|
@@ -18,8 +18,11 @@ module Sentdm
|
|
|
18
18
|
sig { returns(String) }
|
|
19
19
|
attr_accessor :id
|
|
20
20
|
|
|
21
|
-
sig { returns(String) }
|
|
22
|
-
|
|
21
|
+
sig { returns(T.nilable(String)) }
|
|
22
|
+
attr_reader :idempotency_key
|
|
23
|
+
|
|
24
|
+
sig { params(idempotency_key: String).void }
|
|
25
|
+
attr_writer :idempotency_key
|
|
23
26
|
|
|
24
27
|
sig { returns(T.nilable(String)) }
|
|
25
28
|
attr_reader :x_profile_id
|
|
@@ -30,14 +33,14 @@ module Sentdm
|
|
|
30
33
|
sig do
|
|
31
34
|
params(
|
|
32
35
|
id: String,
|
|
33
|
-
|
|
36
|
+
idempotency_key: String,
|
|
34
37
|
x_profile_id: String,
|
|
35
38
|
request_options: Sentdm::RequestOptions::OrHash
|
|
36
39
|
).returns(T.attached_class)
|
|
37
40
|
end
|
|
38
41
|
def self.new(
|
|
39
42
|
id:,
|
|
40
|
-
|
|
43
|
+
idempotency_key: nil,
|
|
41
44
|
x_profile_id: nil,
|
|
42
45
|
request_options: {}
|
|
43
46
|
)
|
|
@@ -47,7 +50,7 @@ module Sentdm
|
|
|
47
50
|
override.returns(
|
|
48
51
|
{
|
|
49
52
|
id: String,
|
|
50
|
-
|
|
53
|
+
idempotency_key: String,
|
|
51
54
|
x_profile_id: String,
|
|
52
55
|
request_options: Sentdm::RequestOptions
|
|
53
56
|
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Voice
|
|
6
|
+
class AgentUpdateParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(Sentdm::Voice::AgentUpdateParams, Sentdm::Internal::AnyHash)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
18
|
+
# Audio sessions: { sample_rate }; null restores the default.
|
|
19
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentAudioSpec)) }
|
|
20
|
+
attr_reader :audio
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
audio: T.nilable(Sentdm::Voice::VoiceAgentAudioSpec::OrHash)
|
|
25
|
+
).void
|
|
26
|
+
end
|
|
27
|
+
attr_writer :audio
|
|
28
|
+
|
|
29
|
+
# A new fallback party, or null for none.
|
|
30
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentPartySpec)) }
|
|
31
|
+
attr_reader :fallback
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
fallback: T.nilable(Sentdm::Voice::VoiceAgentPartySpec::OrHash)
|
|
36
|
+
).void
|
|
37
|
+
end
|
|
38
|
+
attr_writer :fallback
|
|
39
|
+
|
|
40
|
+
# A new greeting, or null for none.
|
|
41
|
+
sig { returns(T.nilable(String)) }
|
|
42
|
+
attr_accessor :greeting
|
|
43
|
+
|
|
44
|
+
# The whole limits object; null restores the defaults.
|
|
45
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentLimitsSpec)) }
|
|
46
|
+
attr_reader :limits
|
|
47
|
+
|
|
48
|
+
sig do
|
|
49
|
+
params(
|
|
50
|
+
limits: T.nilable(Sentdm::Voice::VoiceAgentLimitsSpec::OrHash)
|
|
51
|
+
).void
|
|
52
|
+
end
|
|
53
|
+
attr_writer :limits
|
|
54
|
+
|
|
55
|
+
# A new name, 1 to 100 characters.
|
|
56
|
+
sig { returns(T.nilable(String)) }
|
|
57
|
+
attr_reader :name
|
|
58
|
+
|
|
59
|
+
sig { params(name: String).void }
|
|
60
|
+
attr_writer :name
|
|
61
|
+
|
|
62
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
63
|
+
# for testing integrations without actual execution
|
|
64
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
65
|
+
attr_reader :sandbox
|
|
66
|
+
|
|
67
|
+
sig { params(sandbox: T::Boolean).void }
|
|
68
|
+
attr_writer :sandbox
|
|
69
|
+
|
|
70
|
+
# text or audio. Changing it drops the settings the other type cannot have
|
|
71
|
+
# (speech, audio, greeting) unless the body sends them.
|
|
72
|
+
sig { returns(T.nilable(String)) }
|
|
73
|
+
attr_reader :session_type
|
|
74
|
+
|
|
75
|
+
sig { params(session_type: String).void }
|
|
76
|
+
attr_writer :session_type
|
|
77
|
+
|
|
78
|
+
# Text sessions: { setting, voice, language }, replaced whole; null restores the
|
|
79
|
+
# defaults.
|
|
80
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentSpeechSpec)) }
|
|
81
|
+
attr_reader :speech
|
|
82
|
+
|
|
83
|
+
sig do
|
|
84
|
+
params(
|
|
85
|
+
speech: T.nilable(Sentdm::Voice::VoiceAgentSpeechSpec::OrHash)
|
|
86
|
+
).void
|
|
87
|
+
end
|
|
88
|
+
attr_writer :speech
|
|
89
|
+
|
|
90
|
+
# The whole list of tools; null restores the default.
|
|
91
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
92
|
+
attr_accessor :tools
|
|
93
|
+
|
|
94
|
+
# The whole transcripts object; null restores the defaults.
|
|
95
|
+
sig { returns(T.nilable(Sentdm::Voice::VoiceAgentTranscriptsSpec)) }
|
|
96
|
+
attr_reader :transcripts
|
|
97
|
+
|
|
98
|
+
sig do
|
|
99
|
+
params(
|
|
100
|
+
transcripts:
|
|
101
|
+
T.nilable(Sentdm::Voice::VoiceAgentTranscriptsSpec::OrHash)
|
|
102
|
+
).void
|
|
103
|
+
end
|
|
104
|
+
attr_writer :transcripts
|
|
105
|
+
|
|
106
|
+
# The whole list of parties; null clears it.
|
|
107
|
+
sig { returns(T.nilable(T::Array[Sentdm::Voice::VoiceAgentPartySpec])) }
|
|
108
|
+
attr_accessor :transfer_targets
|
|
109
|
+
|
|
110
|
+
# A new wss:// URL, or null for an agent that dials in.
|
|
111
|
+
sig { returns(T.nilable(String)) }
|
|
112
|
+
attr_accessor :websocket_url
|
|
113
|
+
|
|
114
|
+
sig { returns(T.nilable(String)) }
|
|
115
|
+
attr_reader :idempotency_key
|
|
116
|
+
|
|
117
|
+
sig { params(idempotency_key: String).void }
|
|
118
|
+
attr_writer :idempotency_key
|
|
119
|
+
|
|
120
|
+
sig { returns(T.nilable(String)) }
|
|
121
|
+
attr_reader :x_profile_id
|
|
122
|
+
|
|
123
|
+
sig { params(x_profile_id: String).void }
|
|
124
|
+
attr_writer :x_profile_id
|
|
125
|
+
|
|
126
|
+
sig do
|
|
127
|
+
params(
|
|
128
|
+
id: String,
|
|
129
|
+
audio: T.nilable(Sentdm::Voice::VoiceAgentAudioSpec::OrHash),
|
|
130
|
+
fallback: T.nilable(Sentdm::Voice::VoiceAgentPartySpec::OrHash),
|
|
131
|
+
greeting: T.nilable(String),
|
|
132
|
+
limits: T.nilable(Sentdm::Voice::VoiceAgentLimitsSpec::OrHash),
|
|
133
|
+
name: String,
|
|
134
|
+
sandbox: T::Boolean,
|
|
135
|
+
session_type: String,
|
|
136
|
+
speech: T.nilable(Sentdm::Voice::VoiceAgentSpeechSpec::OrHash),
|
|
137
|
+
tools: T.nilable(T::Array[String]),
|
|
138
|
+
transcripts:
|
|
139
|
+
T.nilable(Sentdm::Voice::VoiceAgentTranscriptsSpec::OrHash),
|
|
140
|
+
transfer_targets:
|
|
141
|
+
T.nilable(T::Array[Sentdm::Voice::VoiceAgentPartySpec::OrHash]),
|
|
142
|
+
websocket_url: T.nilable(String),
|
|
143
|
+
idempotency_key: String,
|
|
144
|
+
x_profile_id: String,
|
|
145
|
+
request_options: Sentdm::RequestOptions::OrHash
|
|
146
|
+
).returns(T.attached_class)
|
|
147
|
+
end
|
|
148
|
+
def self.new(
|
|
149
|
+
id:,
|
|
150
|
+
# Audio sessions: { sample_rate }; null restores the default.
|
|
151
|
+
audio: nil,
|
|
152
|
+
# A new fallback party, or null for none.
|
|
153
|
+
fallback: nil,
|
|
154
|
+
# A new greeting, or null for none.
|
|
155
|
+
greeting: nil,
|
|
156
|
+
# The whole limits object; null restores the defaults.
|
|
157
|
+
limits: nil,
|
|
158
|
+
# A new name, 1 to 100 characters.
|
|
159
|
+
name: nil,
|
|
160
|
+
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
161
|
+
# for testing integrations without actual execution
|
|
162
|
+
sandbox: nil,
|
|
163
|
+
# text or audio. Changing it drops the settings the other type cannot have
|
|
164
|
+
# (speech, audio, greeting) unless the body sends them.
|
|
165
|
+
session_type: nil,
|
|
166
|
+
# Text sessions: { setting, voice, language }, replaced whole; null restores the
|
|
167
|
+
# defaults.
|
|
168
|
+
speech: nil,
|
|
169
|
+
# The whole list of tools; null restores the default.
|
|
170
|
+
tools: nil,
|
|
171
|
+
# The whole transcripts object; null restores the defaults.
|
|
172
|
+
transcripts: nil,
|
|
173
|
+
# The whole list of parties; null clears it.
|
|
174
|
+
transfer_targets: nil,
|
|
175
|
+
# A new wss:// URL, or null for an agent that dials in.
|
|
176
|
+
websocket_url: nil,
|
|
177
|
+
idempotency_key: nil,
|
|
178
|
+
x_profile_id: nil,
|
|
179
|
+
request_options: {}
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
sig do
|
|
184
|
+
override.returns(
|
|
185
|
+
{
|
|
186
|
+
id: String,
|
|
187
|
+
audio: T.nilable(Sentdm::Voice::VoiceAgentAudioSpec),
|
|
188
|
+
fallback: T.nilable(Sentdm::Voice::VoiceAgentPartySpec),
|
|
189
|
+
greeting: T.nilable(String),
|
|
190
|
+
limits: T.nilable(Sentdm::Voice::VoiceAgentLimitsSpec),
|
|
191
|
+
name: String,
|
|
192
|
+
sandbox: T::Boolean,
|
|
193
|
+
session_type: String,
|
|
194
|
+
speech: T.nilable(Sentdm::Voice::VoiceAgentSpeechSpec),
|
|
195
|
+
tools: T.nilable(T::Array[String]),
|
|
196
|
+
transcripts: T.nilable(Sentdm::Voice::VoiceAgentTranscriptsSpec),
|
|
197
|
+
transfer_targets:
|
|
198
|
+
T.nilable(T::Array[Sentdm::Voice::VoiceAgentPartySpec]),
|
|
199
|
+
websocket_url: T.nilable(String),
|
|
200
|
+
idempotency_key: String,
|
|
201
|
+
x_profile_id: String,
|
|
202
|
+
request_options: Sentdm::RequestOptions
|
|
203
|
+
}
|
|
204
|
+
)
|
|
205
|
+
end
|
|
206
|
+
def to_hash
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
module Voice
|
|
6
|
+
class APIResponseOfCall < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(Sentdm::Voice::APIResponseOfCall, Sentdm::Internal::AnyHash)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# A call record
|
|
13
|
+
sig { returns(T.nilable(Sentdm::Voice::Call)) }
|
|
14
|
+
attr_reader :data
|
|
15
|
+
|
|
16
|
+
sig { params(data: T.nilable(Sentdm::Voice::Call::OrHash)).void }
|
|
17
|
+
attr_writer :data
|
|
18
|
+
|
|
19
|
+
# Error information
|
|
20
|
+
sig { returns(T.nilable(Sentdm::ErrorDetail)) }
|
|
21
|
+
attr_reader :error
|
|
22
|
+
|
|
23
|
+
sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
|
|
24
|
+
attr_writer :error
|
|
25
|
+
|
|
26
|
+
# Request and response metadata
|
|
27
|
+
sig { returns(T.nilable(Sentdm::APIMeta)) }
|
|
28
|
+
attr_reader :meta
|
|
29
|
+
|
|
30
|
+
sig { params(meta: Sentdm::APIMeta::OrHash).void }
|
|
31
|
+
attr_writer :meta
|
|
32
|
+
|
|
33
|
+
# Indicates whether the request was successful
|
|
34
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
35
|
+
attr_reader :success
|
|
36
|
+
|
|
37
|
+
sig { params(success: T::Boolean).void }
|
|
38
|
+
attr_writer :success
|
|
39
|
+
|
|
40
|
+
# Standard API response envelope for all v3 endpoints
|
|
41
|
+
sig do
|
|
42
|
+
params(
|
|
43
|
+
data: T.nilable(Sentdm::Voice::Call::OrHash),
|
|
44
|
+
error: T.nilable(Sentdm::ErrorDetail::OrHash),
|
|
45
|
+
meta: Sentdm::APIMeta::OrHash,
|
|
46
|
+
success: T::Boolean
|
|
47
|
+
).returns(T.attached_class)
|
|
48
|
+
end
|
|
49
|
+
def self.new(
|
|
50
|
+
# A call record
|
|
51
|
+
data: nil,
|
|
52
|
+
# Error information
|
|
53
|
+
error: nil,
|
|
54
|
+
# Request and response metadata
|
|
55
|
+
meta: nil,
|
|
56
|
+
# Indicates whether the request was successful
|
|
57
|
+
success: nil
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
sig do
|
|
62
|
+
override.returns(
|
|
63
|
+
{
|
|
64
|
+
data: T.nilable(Sentdm::Voice::Call),
|
|
65
|
+
error: T.nilable(Sentdm::ErrorDetail),
|
|
66
|
+
meta: Sentdm::APIMeta,
|
|
67
|
+
success: T::Boolean
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
def to_hash
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|