sentdm 0.39.0 → 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 +9 -0
- data/README.md +1 -1
- 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 +25 -6
- 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/voice/agent_create_params.rb +142 -0
- data/lib/sentdm/models/voice/agent_delete_params.rb +28 -0
- data/lib/sentdm/models/voice/agent_list_params.rb +38 -0
- data/lib/sentdm/models/voice/agent_retrieve_params.rb +28 -0
- 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/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/voice/call.rb +97 -5
- data/lib/sentdm/models/voice/call_list_params.rb +19 -1
- data/lib/sentdm/models/voice/catalogue_list_params.rb +22 -0
- 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/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/resources/channels/voice.rb +38 -15
- 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 +11 -0
- data/lib/sentdm/resources/voice/calls.rb +44 -13
- data/lib/sentdm/resources/voice/catalogue.rb +71 -0
- data/lib/sentdm/resources/voice/tokens.rb +11 -0
- data/lib/sentdm/resources/voice.rb +86 -0
- data/lib/sentdm/resources/webhooks.rb +43 -15
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +29 -0
- 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 +28 -5
- 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/voice/agent_create_params.rbi +215 -0
- data/rbi/sentdm/models/voice/agent_delete_params.rbi +48 -0
- 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/voice/agent_rotate_secret_params.rbi +64 -0
- data/rbi/sentdm/models/voice/agent_update_params.rbi +211 -0
- 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/voice/call.rbi +141 -8
- data/rbi/sentdm/models/voice/call_list_params.rbi +20 -0
- data/rbi/sentdm/models/voice/catalogue_list_params.rbi +40 -0
- 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/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/resources/channels/voice.rbi +52 -19
- 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 +11 -0
- data/rbi/sentdm/resources/voice/calls.rbi +46 -11
- data/rbi/sentdm/resources/voice/catalogue.rbi +59 -0
- data/rbi/sentdm/resources/voice/tokens.rbi +11 -0
- data/rbi/sentdm/resources/voice.rbi +84 -0
- data/rbi/sentdm/resources/webhooks.rbi +56 -16
- 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/voice/agent_delete_params.rbs +34 -0
- data/sig/sentdm/models/voice/agent_list_params.rbs +40 -0
- data/sig/sentdm/models/voice/agent_retrieve_params.rbs +32 -0
- data/sig/sentdm/models/voice/agent_rotate_secret_params.rbs +40 -0
- data/sig/sentdm/models/voice/agent_update_params.rbs +108 -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/voice/call.rbs +65 -0
- data/sig/sentdm/models/voice/call_list_params.rbs +10 -0
- data/sig/sentdm/models/voice/catalogue_list_params.rbs +27 -0
- 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/voice/voice_agent_party.rbs +23 -0
- 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/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/resources/channels/voice.rbs +3 -1
- data/sig/sentdm/resources/voice/agents.rbs +74 -0
- data/sig/sentdm/resources/voice/calls.rbs +2 -0
- data/sig/sentdm/resources/voice/catalogue.rbs +14 -0
- data/sig/sentdm/resources/voice.rbs +4 -0
- data/sig/sentdm/resources/webhooks.rbs +3 -0
- metadata +89 -2
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceAgentLimitsSpec = Voice::VoiceAgentLimitsSpec
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceAgentLimitsSpec < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
Sentdm::Voice::VoiceAgentLimitsSpec,
|
|
13
|
+
Sentdm::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# ISO 3166-1 alpha-2 codes of the countries the agent may call or transfer to.
|
|
18
|
+
# Omit it to allow every country. Stored now, applied when the agent places calls.
|
|
19
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
20
|
+
attr_accessor :allowed_countries
|
|
21
|
+
|
|
22
|
+
# The longest a call may last, 60 to 14,400 seconds. Default 3,600.
|
|
23
|
+
sig { returns(T.nilable(Integer)) }
|
|
24
|
+
attr_accessor :max_call_seconds
|
|
25
|
+
|
|
26
|
+
# How many calls the agent may have going at once, from 1. Default 10.
|
|
27
|
+
sig { returns(T.nilable(Integer)) }
|
|
28
|
+
attr_accessor :max_concurrent_calls
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
allowed_countries: T.nilable(T::Array[String]),
|
|
33
|
+
max_call_seconds: T.nilable(Integer),
|
|
34
|
+
max_concurrent_calls: T.nilable(Integer)
|
|
35
|
+
).returns(T.attached_class)
|
|
36
|
+
end
|
|
37
|
+
def self.new(
|
|
38
|
+
# ISO 3166-1 alpha-2 codes of the countries the agent may call or transfer to.
|
|
39
|
+
# Omit it to allow every country. Stored now, applied when the agent places calls.
|
|
40
|
+
allowed_countries: nil,
|
|
41
|
+
# The longest a call may last, 60 to 14,400 seconds. Default 3,600.
|
|
42
|
+
max_call_seconds: nil,
|
|
43
|
+
# How many calls the agent may have going at once, from 1. Default 10.
|
|
44
|
+
max_concurrent_calls: nil
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
sig do
|
|
49
|
+
override.returns(
|
|
50
|
+
{
|
|
51
|
+
allowed_countries: T.nilable(T::Array[String]),
|
|
52
|
+
max_call_seconds: T.nilable(Integer),
|
|
53
|
+
max_concurrent_calls: T.nilable(Integer)
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
def to_hash
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceAgentParty = Voice::VoiceAgentParty
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceAgentParty < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Sentdm::Voice::VoiceAgentParty, Sentdm::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(T.nilable(String)) }
|
|
15
|
+
attr_reader :kind
|
|
16
|
+
|
|
17
|
+
sig { params(kind: String).void }
|
|
18
|
+
attr_writer :kind
|
|
19
|
+
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_reader :value
|
|
22
|
+
|
|
23
|
+
sig { params(value: String).void }
|
|
24
|
+
attr_writer :value
|
|
25
|
+
|
|
26
|
+
sig { params(kind: String, value: String).returns(T.attached_class) }
|
|
27
|
+
def self.new(kind: nil, value: nil)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
sig { override.returns({ kind: String, value: String }) }
|
|
31
|
+
def to_hash
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceAgentPartySpec = Voice::VoiceAgentPartySpec
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceAgentPartySpec < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Sentdm::Voice::VoiceAgentPartySpec, Sentdm::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# number, user or agent.
|
|
15
|
+
sig { returns(T.nilable(String)) }
|
|
16
|
+
attr_accessor :kind
|
|
17
|
+
|
|
18
|
+
# The E.164 number, the app user's identity, or the agent id (agent\_…).
|
|
19
|
+
sig { returns(T.nilable(String)) }
|
|
20
|
+
attr_accessor :value
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(kind: T.nilable(String), value: T.nilable(String)).returns(
|
|
24
|
+
T.attached_class
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
def self.new(
|
|
28
|
+
# number, user or agent.
|
|
29
|
+
kind: nil,
|
|
30
|
+
# The E.164 number, the app user's identity, or the agent id (agent\_…).
|
|
31
|
+
value: nil
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
sig do
|
|
36
|
+
override.returns(
|
|
37
|
+
{ kind: T.nilable(String), value: T.nilable(String) }
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
def to_hash
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceAgentSecret = Voice::VoiceAgentSecret
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceAgentSecret < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Sentdm::Voice::VoiceAgentSecret, Sentdm::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The new whsec\_ secret. The previous one stopped signing the moment this was
|
|
15
|
+
# returned. Shown once.
|
|
16
|
+
sig { returns(T.nilable(String)) }
|
|
17
|
+
attr_reader :signing_secret
|
|
18
|
+
|
|
19
|
+
sig { params(signing_secret: String).void }
|
|
20
|
+
attr_writer :signing_secret
|
|
21
|
+
|
|
22
|
+
# A freshly rotated signing secret.
|
|
23
|
+
sig { params(signing_secret: String).returns(T.attached_class) }
|
|
24
|
+
def self.new(
|
|
25
|
+
# The new whsec\_ secret. The previous one stopped signing the moment this was
|
|
26
|
+
# returned. Shown once.
|
|
27
|
+
signing_secret: nil
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
sig { override.returns({ signing_secret: String }) }
|
|
32
|
+
def to_hash
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceAgentSpeech = Voice::VoiceAgentSpeech
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceAgentSpeech < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Sentdm::Voice::VoiceAgentSpeech, Sentdm::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(T.nilable(String)) }
|
|
15
|
+
attr_reader :language
|
|
16
|
+
|
|
17
|
+
sig { params(language: String).void }
|
|
18
|
+
attr_writer :language
|
|
19
|
+
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_reader :setting
|
|
22
|
+
|
|
23
|
+
sig { params(setting: String).void }
|
|
24
|
+
attr_writer :setting
|
|
25
|
+
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_reader :voice
|
|
28
|
+
|
|
29
|
+
sig { params(voice: String).void }
|
|
30
|
+
attr_writer :voice
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(language: String, setting: String, voice: String).returns(
|
|
34
|
+
T.attached_class
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
def self.new(language: nil, setting: nil, voice: nil)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
sig do
|
|
41
|
+
override.returns({ language: String, setting: String, voice: String })
|
|
42
|
+
end
|
|
43
|
+
def to_hash
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceAgentSpeechSpec = Voice::VoiceAgentSpeechSpec
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceAgentSpeechSpec < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
Sentdm::Voice::VoiceAgentSpeechSpec,
|
|
13
|
+
Sentdm::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The language spoken and listened for, a BCP 47 tag from GET /v3/voice/voices.
|
|
18
|
+
# Default en-US.
|
|
19
|
+
sig { returns(T.nilable(String)) }
|
|
20
|
+
attr_accessor :language
|
|
21
|
+
|
|
22
|
+
# standard, Sent's speech. Other settings are not available yet.
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_accessor :setting
|
|
25
|
+
|
|
26
|
+
# A voice name from GET /v3/voice/voices. Default: the catalogue's default voice.
|
|
27
|
+
sig { returns(T.nilable(String)) }
|
|
28
|
+
attr_accessor :voice
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
language: T.nilable(String),
|
|
33
|
+
setting: T.nilable(String),
|
|
34
|
+
voice: T.nilable(String)
|
|
35
|
+
).returns(T.attached_class)
|
|
36
|
+
end
|
|
37
|
+
def self.new(
|
|
38
|
+
# The language spoken and listened for, a BCP 47 tag from GET /v3/voice/voices.
|
|
39
|
+
# Default en-US.
|
|
40
|
+
language: nil,
|
|
41
|
+
# standard, Sent's speech. Other settings are not available yet.
|
|
42
|
+
setting: nil,
|
|
43
|
+
# A voice name from GET /v3/voice/voices. Default: the catalogue's default voice.
|
|
44
|
+
voice: nil
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
sig do
|
|
49
|
+
override.returns(
|
|
50
|
+
{
|
|
51
|
+
language: T.nilable(String),
|
|
52
|
+
setting: T.nilable(String),
|
|
53
|
+
voice: T.nilable(String)
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
def to_hash
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceAgentTranscripts = Voice::VoiceAgentTranscripts
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceAgentTranscripts < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
Sentdm::Voice::VoiceAgentTranscripts,
|
|
13
|
+
Sentdm::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
sig { returns(T.nilable(Integer)) }
|
|
18
|
+
attr_reader :retention_days
|
|
19
|
+
|
|
20
|
+
sig { params(retention_days: Integer).void }
|
|
21
|
+
attr_writer :retention_days
|
|
22
|
+
|
|
23
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
24
|
+
attr_reader :store
|
|
25
|
+
|
|
26
|
+
sig { params(store: T::Boolean).void }
|
|
27
|
+
attr_writer :store
|
|
28
|
+
|
|
29
|
+
sig do
|
|
30
|
+
params(retention_days: Integer, store: T::Boolean).returns(
|
|
31
|
+
T.attached_class
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
def self.new(retention_days: nil, store: nil)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
sig { override.returns({ retention_days: Integer, store: T::Boolean }) }
|
|
38
|
+
def to_hash
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceAgentTranscriptsSpec = Voice::VoiceAgentTranscriptsSpec
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceAgentTranscriptsSpec < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
Sentdm::Voice::VoiceAgentTranscriptsSpec,
|
|
13
|
+
Sentdm::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# How long a stored transcript is kept, 1 to 365 days. Default 30.
|
|
18
|
+
sig { returns(T.nilable(Integer)) }
|
|
19
|
+
attr_accessor :retention_days
|
|
20
|
+
|
|
21
|
+
# Whether Sent keeps the call's transcript. Default false. Stored now, applied
|
|
22
|
+
# when transcripts land.
|
|
23
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
24
|
+
attr_accessor :store
|
|
25
|
+
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
retention_days: T.nilable(Integer),
|
|
29
|
+
store: T.nilable(T::Boolean)
|
|
30
|
+
).returns(T.attached_class)
|
|
31
|
+
end
|
|
32
|
+
def self.new(
|
|
33
|
+
# How long a stored transcript is kept, 1 to 365 days. Default 30.
|
|
34
|
+
retention_days: nil,
|
|
35
|
+
# Whether Sent keeps the call's transcript. Default false. Stored now, applied
|
|
36
|
+
# when transcripts land.
|
|
37
|
+
store: nil
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
sig do
|
|
42
|
+
override.returns(
|
|
43
|
+
{ retention_days: T.nilable(Integer), store: T.nilable(T::Boolean) }
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
def to_hash
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceAgentsList = Voice::VoiceAgentsList
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceAgentsList < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Sentdm::Voice::VoiceAgentsList, Sentdm::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(T.nilable(T::Array[Sentdm::Voice::VoiceAgent])) }
|
|
15
|
+
attr_reader :agents
|
|
16
|
+
|
|
17
|
+
sig { params(agents: T::Array[Sentdm::Voice::VoiceAgent::OrHash]).void }
|
|
18
|
+
attr_writer :agents
|
|
19
|
+
|
|
20
|
+
# Pagination metadata for list responses
|
|
21
|
+
sig { returns(T.nilable(Sentdm::PaginationMeta)) }
|
|
22
|
+
attr_reader :pagination
|
|
23
|
+
|
|
24
|
+
sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
|
|
25
|
+
attr_writer :pagination
|
|
26
|
+
|
|
27
|
+
# A page of the account's agents. The agent itself is VoiceAgentResponse, shared
|
|
28
|
+
# with the admin API.
|
|
29
|
+
sig do
|
|
30
|
+
params(
|
|
31
|
+
agents: T::Array[Sentdm::Voice::VoiceAgent::OrHash],
|
|
32
|
+
pagination: Sentdm::PaginationMeta::OrHash
|
|
33
|
+
).returns(T.attached_class)
|
|
34
|
+
end
|
|
35
|
+
def self.new(
|
|
36
|
+
agents: nil,
|
|
37
|
+
# Pagination metadata for list responses
|
|
38
|
+
pagination: nil
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
sig do
|
|
43
|
+
override.returns(
|
|
44
|
+
{
|
|
45
|
+
agents: T::Array[Sentdm::Voice::VoiceAgent],
|
|
46
|
+
pagination: Sentdm::PaginationMeta
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
def to_hash
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceCatalogue = Voice::VoiceCatalogue
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceCatalogue < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Sentdm::Voice::VoiceCatalogue, Sentdm::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# BCP 47 tags accepted as speech.language.
|
|
15
|
+
sig { returns(T.nilable(T::Array[String])) }
|
|
16
|
+
attr_reader :languages
|
|
17
|
+
|
|
18
|
+
sig { params(languages: T::Array[String]).void }
|
|
19
|
+
attr_writer :languages
|
|
20
|
+
|
|
21
|
+
sig { returns(T.nilable(T::Array[Sentdm::Voice::VoiceCatalogueVoice])) }
|
|
22
|
+
attr_reader :voices
|
|
23
|
+
|
|
24
|
+
sig do
|
|
25
|
+
params(
|
|
26
|
+
voices: T::Array[Sentdm::Voice::VoiceCatalogueVoice::OrHash]
|
|
27
|
+
).void
|
|
28
|
+
end
|
|
29
|
+
attr_writer :voices
|
|
30
|
+
|
|
31
|
+
# The voices and languages a text-session agent may name in its speech settings:
|
|
32
|
+
# what GET /v3/voice/voices and the admin GET /voice/voices answer, in one shape.
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
languages: T::Array[String],
|
|
36
|
+
voices: T::Array[Sentdm::Voice::VoiceCatalogueVoice::OrHash]
|
|
37
|
+
).returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(
|
|
40
|
+
# BCP 47 tags accepted as speech.language.
|
|
41
|
+
languages: nil,
|
|
42
|
+
voices: nil
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
sig do
|
|
47
|
+
override.returns(
|
|
48
|
+
{
|
|
49
|
+
languages: T::Array[String],
|
|
50
|
+
voices: T::Array[Sentdm::Voice::VoiceCatalogueVoice]
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
def to_hash
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
VoiceCatalogueVoice = Voice::VoiceCatalogueVoice
|
|
6
|
+
|
|
7
|
+
module Voice
|
|
8
|
+
class VoiceCatalogueVoice < Sentdm::Internal::Type::BaseModel
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Sentdm::Voice::VoiceCatalogueVoice, Sentdm::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Whether this is the voice used when an agent names none.
|
|
15
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
16
|
+
attr_reader :default
|
|
17
|
+
|
|
18
|
+
sig { params(default: T::Boolean).void }
|
|
19
|
+
attr_writer :default
|
|
20
|
+
|
|
21
|
+
sig { returns(T.nilable(String)) }
|
|
22
|
+
attr_reader :description
|
|
23
|
+
|
|
24
|
+
sig { params(description: String).void }
|
|
25
|
+
attr_writer :description
|
|
26
|
+
|
|
27
|
+
# The language the voice speaks.
|
|
28
|
+
sig { returns(T.nilable(String)) }
|
|
29
|
+
attr_reader :language
|
|
30
|
+
|
|
31
|
+
sig { params(language: String).void }
|
|
32
|
+
attr_writer :language
|
|
33
|
+
|
|
34
|
+
# The value to send as speech.voice.
|
|
35
|
+
sig { returns(T.nilable(String)) }
|
|
36
|
+
attr_reader :name
|
|
37
|
+
|
|
38
|
+
sig { params(name: String).void }
|
|
39
|
+
attr_writer :name
|
|
40
|
+
|
|
41
|
+
sig do
|
|
42
|
+
params(
|
|
43
|
+
default: T::Boolean,
|
|
44
|
+
description: String,
|
|
45
|
+
language: String,
|
|
46
|
+
name: String
|
|
47
|
+
).returns(T.attached_class)
|
|
48
|
+
end
|
|
49
|
+
def self.new(
|
|
50
|
+
# Whether this is the voice used when an agent names none.
|
|
51
|
+
default: nil,
|
|
52
|
+
description: nil,
|
|
53
|
+
# The language the voice speaks.
|
|
54
|
+
language: nil,
|
|
55
|
+
# The value to send as speech.voice.
|
|
56
|
+
name: nil
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
sig do
|
|
61
|
+
override.returns(
|
|
62
|
+
{
|
|
63
|
+
default: T::Boolean,
|
|
64
|
+
description: String,
|
|
65
|
+
language: String,
|
|
66
|
+
name: String
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
def to_hash
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -32,6 +32,18 @@ module Sentdm
|
|
|
32
32
|
sig { params(event_types: T::Array[String]).void }
|
|
33
33
|
attr_writer :event_types
|
|
34
34
|
|
|
35
|
+
# Also delivers every sender profile's events to this webhook, at the same URL and
|
|
36
|
+
# with the same signing secret, and lets each profile see the webhook and read the
|
|
37
|
+
# events about itself. Off by default: the organization's own events only. Only an
|
|
38
|
+
# organization's version 2 webhook can set it.
|
|
39
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
40
|
+
attr_reader :is_inheritable
|
|
41
|
+
|
|
42
|
+
sig { params(is_inheritable: T::Boolean).void }
|
|
43
|
+
attr_writer :is_inheritable
|
|
44
|
+
|
|
45
|
+
# Delivery retries. Applies to version 1 only: Svix retries a version 2 webhook on
|
|
46
|
+
# its own schedule.
|
|
35
47
|
sig { returns(T.nilable(Integer)) }
|
|
36
48
|
attr_reader :retry_count
|
|
37
49
|
|
|
@@ -47,7 +59,8 @@ module Sentdm
|
|
|
47
59
|
attr_writer :sandbox
|
|
48
60
|
|
|
49
61
|
# Request-only: the events an organization webhook's sender profile clones
|
|
50
|
-
# receive, one clone per existing and future profile.
|
|
62
|
+
# receive, one clone per existing and future profile. A version 1 webhook's
|
|
63
|
+
# responses report it as WebhookSenderProfileV3Response.
|
|
51
64
|
sig { returns(T.nilable(Sentdm::WebhookCreateParams::SenderProfile)) }
|
|
52
65
|
attr_reader :sender_profile
|
|
53
66
|
|
|
@@ -59,12 +72,19 @@ module Sentdm
|
|
|
59
72
|
end
|
|
60
73
|
attr_writer :sender_profile
|
|
61
74
|
|
|
75
|
+
# Delivery timeout. Applies to version 1 only.
|
|
62
76
|
sig { returns(T.nilable(Integer)) }
|
|
63
77
|
attr_reader :timeout_seconds
|
|
64
78
|
|
|
65
79
|
sig { params(timeout_seconds: Integer).void }
|
|
66
80
|
attr_writer :timeout_seconds
|
|
67
81
|
|
|
82
|
+
# Who delivers the webhook: 2, the default, is delivered by Svix and signed with
|
|
83
|
+
# the webhook-id, webhook-timestamp and webhook-signature headers; 1 is the older
|
|
84
|
+
# delivery, signed with the X-Webhook-\* headers, which will be retired.
|
|
85
|
+
sig { returns(T.nilable(Integer)) }
|
|
86
|
+
attr_accessor :webhook_version
|
|
87
|
+
|
|
68
88
|
sig { returns(T.nilable(String)) }
|
|
69
89
|
attr_reader :idempotency_key
|
|
70
90
|
|
|
@@ -83,11 +103,13 @@ module Sentdm
|
|
|
83
103
|
endpoint_url: String,
|
|
84
104
|
event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
85
105
|
event_types: T::Array[String],
|
|
106
|
+
is_inheritable: T::Boolean,
|
|
86
107
|
retry_count: Integer,
|
|
87
108
|
sandbox: T::Boolean,
|
|
88
109
|
sender_profile:
|
|
89
110
|
T.nilable(Sentdm::WebhookCreateParams::SenderProfile::OrHash),
|
|
90
111
|
timeout_seconds: Integer,
|
|
112
|
+
webhook_version: T.nilable(Integer),
|
|
91
113
|
idempotency_key: String,
|
|
92
114
|
x_profile_id: String,
|
|
93
115
|
request_options: Sentdm::RequestOptions::OrHash
|
|
@@ -98,14 +120,27 @@ module Sentdm
|
|
|
98
120
|
endpoint_url: nil,
|
|
99
121
|
event_filters: nil,
|
|
100
122
|
event_types: nil,
|
|
123
|
+
# Also delivers every sender profile's events to this webhook, at the same URL and
|
|
124
|
+
# with the same signing secret, and lets each profile see the webhook and read the
|
|
125
|
+
# events about itself. Off by default: the organization's own events only. Only an
|
|
126
|
+
# organization's version 2 webhook can set it.
|
|
127
|
+
is_inheritable: nil,
|
|
128
|
+
# Delivery retries. Applies to version 1 only: Svix retries a version 2 webhook on
|
|
129
|
+
# its own schedule.
|
|
101
130
|
retry_count: nil,
|
|
102
131
|
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
103
132
|
# for testing integrations without actual execution
|
|
104
133
|
sandbox: nil,
|
|
105
134
|
# Request-only: the events an organization webhook's sender profile clones
|
|
106
|
-
# receive, one clone per existing and future profile.
|
|
135
|
+
# receive, one clone per existing and future profile. A version 1 webhook's
|
|
136
|
+
# responses report it as WebhookSenderProfileV3Response.
|
|
107
137
|
sender_profile: nil,
|
|
138
|
+
# Delivery timeout. Applies to version 1 only.
|
|
108
139
|
timeout_seconds: nil,
|
|
140
|
+
# Who delivers the webhook: 2, the default, is delivered by Svix and signed with
|
|
141
|
+
# the webhook-id, webhook-timestamp and webhook-signature headers; 1 is the older
|
|
142
|
+
# delivery, signed with the X-Webhook-\* headers, which will be retired.
|
|
143
|
+
webhook_version: nil,
|
|
109
144
|
idempotency_key: nil,
|
|
110
145
|
x_profile_id: nil,
|
|
111
146
|
request_options: {}
|
|
@@ -119,11 +154,13 @@ module Sentdm
|
|
|
119
154
|
endpoint_url: String,
|
|
120
155
|
event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
|
|
121
156
|
event_types: T::Array[String],
|
|
157
|
+
is_inheritable: T::Boolean,
|
|
122
158
|
retry_count: Integer,
|
|
123
159
|
sandbox: T::Boolean,
|
|
124
160
|
sender_profile:
|
|
125
161
|
T.nilable(Sentdm::WebhookCreateParams::SenderProfile),
|
|
126
162
|
timeout_seconds: Integer,
|
|
163
|
+
webhook_version: T.nilable(Integer),
|
|
127
164
|
idempotency_key: String,
|
|
128
165
|
x_profile_id: String,
|
|
129
166
|
request_options: Sentdm::RequestOptions
|
|
@@ -152,7 +189,8 @@ module Sentdm
|
|
|
152
189
|
attr_writer :event_types
|
|
153
190
|
|
|
154
191
|
# Request-only: the events an organization webhook's sender profile clones
|
|
155
|
-
# receive, one clone per existing and future profile.
|
|
192
|
+
# receive, one clone per existing and future profile. A version 1 webhook's
|
|
193
|
+
# responses report it as WebhookSenderProfileV3Response.
|
|
156
194
|
sig do
|
|
157
195
|
params(
|
|
158
196
|
event_filters: T.nilable(T::Hash[Symbol, T::Array[String]]),
|