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.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +1 -1
  4. data/lib/sentdm/internal/voice_agents_page.rb +115 -0
  5. data/lib/sentdm/models/call_event.rb +8 -6
  6. data/lib/sentdm/models/call_event_payload.rb +25 -6
  7. data/lib/sentdm/models/channels/voice_create_params.rb +23 -11
  8. data/lib/sentdm/models/channels/voice_number.rb +23 -1
  9. data/lib/sentdm/models/channels/voice_update_params.rb +12 -1
  10. data/lib/sentdm/models/voice/agent_create_params.rb +142 -0
  11. data/lib/sentdm/models/voice/agent_delete_params.rb +28 -0
  12. data/lib/sentdm/models/voice/agent_list_params.rb +38 -0
  13. data/lib/sentdm/models/voice/agent_retrieve_params.rb +28 -0
  14. data/lib/sentdm/models/voice/agent_rotate_secret_params.rb +34 -0
  15. data/lib/sentdm/models/voice/agent_update_params.rb +141 -0
  16. data/lib/sentdm/models/voice/api_response_of_voice_agent.rb +51 -0
  17. data/lib/sentdm/models/voice/api_response_of_voice_agent_secret.rb +45 -0
  18. data/lib/sentdm/models/voice/api_response_of_voice_agents_list.rb +48 -0
  19. data/lib/sentdm/models/voice/api_response_of_voice_catalogue.rb +49 -0
  20. data/lib/sentdm/models/voice/call.rb +97 -5
  21. data/lib/sentdm/models/voice/call_list_params.rb +19 -1
  22. data/lib/sentdm/models/voice/catalogue_list_params.rb +22 -0
  23. data/lib/sentdm/models/voice/voice_agent.rb +138 -0
  24. data/lib/sentdm/models/voice/voice_agent_audio.rb +19 -0
  25. data/lib/sentdm/models/voice/voice_agent_audio_spec.rb +20 -0
  26. data/lib/sentdm/models/voice/voice_agent_limits.rb +31 -0
  27. data/lib/sentdm/models/voice/voice_agent_limits_spec.rb +40 -0
  28. data/lib/sentdm/models/voice/voice_agent_party.rb +25 -0
  29. data/lib/sentdm/models/voice/voice_agent_party_spec.rb +28 -0
  30. data/lib/sentdm/models/voice/voice_agent_secret.rb +27 -0
  31. data/lib/sentdm/models/voice/voice_agent_speech.rb +31 -0
  32. data/lib/sentdm/models/voice/voice_agent_speech_spec.rb +40 -0
  33. data/lib/sentdm/models/voice/voice_agent_transcripts.rb +25 -0
  34. data/lib/sentdm/models/voice/voice_agent_transcripts_spec.rb +32 -0
  35. data/lib/sentdm/models/voice/voice_agents_list.rb +30 -0
  36. data/lib/sentdm/models/voice/voice_catalogue.rb +30 -0
  37. data/lib/sentdm/models/voice/voice_catalogue_voice.rb +43 -0
  38. data/lib/sentdm/models/webhook_create_params.rb +31 -5
  39. data/lib/sentdm/models/webhook_response.rb +66 -4
  40. data/lib/sentdm/models/webhook_update_params.rb +15 -3
  41. data/lib/sentdm/resources/channels/voice.rb +38 -15
  42. data/lib/sentdm/resources/profiles/campaigns.rb +3 -2
  43. data/lib/sentdm/resources/voice/agents.rb +319 -0
  44. data/lib/sentdm/resources/voice/calls/participants.rb +11 -0
  45. data/lib/sentdm/resources/voice/calls.rb +44 -13
  46. data/lib/sentdm/resources/voice/catalogue.rb +71 -0
  47. data/lib/sentdm/resources/voice/tokens.rb +11 -0
  48. data/lib/sentdm/resources/voice.rb +86 -0
  49. data/lib/sentdm/resources/webhooks.rb +43 -15
  50. data/lib/sentdm/version.rb +1 -1
  51. data/lib/sentdm.rb +29 -0
  52. data/rbi/sentdm/internal/voice_agents_page.rbi +71 -0
  53. data/rbi/sentdm/models/call_event.rbi +14 -10
  54. data/rbi/sentdm/models/call_event_payload.rbi +28 -5
  55. data/rbi/sentdm/models/channels/voice_create_params.rbi +33 -17
  56. data/rbi/sentdm/models/channels/voice_number.rbi +31 -0
  57. data/rbi/sentdm/models/channels/voice_update_params.rbi +14 -0
  58. data/rbi/sentdm/models/voice/agent_create_params.rbi +215 -0
  59. data/rbi/sentdm/models/voice/agent_delete_params.rbi +48 -0
  60. data/rbi/sentdm/models/voice/agent_list_params.rbi +66 -0
  61. data/rbi/sentdm/models/voice/agent_retrieve_params.rbi +48 -0
  62. data/rbi/sentdm/models/voice/agent_rotate_secret_params.rbi +64 -0
  63. data/rbi/sentdm/models/voice/agent_update_params.rbi +211 -0
  64. data/rbi/sentdm/models/voice/api_response_of_voice_agent.rbi +85 -0
  65. data/rbi/sentdm/models/voice/api_response_of_voice_agent_secret.rbi +81 -0
  66. data/rbi/sentdm/models/voice/api_response_of_voice_agents_list.rbi +83 -0
  67. data/rbi/sentdm/models/voice/api_response_of_voice_catalogue.rbi +83 -0
  68. data/rbi/sentdm/models/voice/call.rbi +141 -8
  69. data/rbi/sentdm/models/voice/call_list_params.rbi +20 -0
  70. data/rbi/sentdm/models/voice/catalogue_list_params.rbi +40 -0
  71. data/rbi/sentdm/models/voice/voice_agent.rbi +196 -0
  72. data/rbi/sentdm/models/voice/voice_agent_audio.rbi +30 -0
  73. data/rbi/sentdm/models/voice/voice_agent_audio_spec.rbi +33 -0
  74. data/rbi/sentdm/models/voice/voice_agent_limits.rbi +57 -0
  75. data/rbi/sentdm/models/voice/voice_agent_limits_spec.rbi +62 -0
  76. data/rbi/sentdm/models/voice/voice_agent_party.rbi +36 -0
  77. data/rbi/sentdm/models/voice/voice_agent_party_spec.rbi +45 -0
  78. data/rbi/sentdm/models/voice/voice_agent_secret.rbi +37 -0
  79. data/rbi/sentdm/models/voice/voice_agent_speech.rbi +48 -0
  80. data/rbi/sentdm/models/voice/voice_agent_speech_spec.rbi +62 -0
  81. data/rbi/sentdm/models/voice/voice_agent_transcripts.rbi +43 -0
  82. data/rbi/sentdm/models/voice/voice_agent_transcripts_spec.rbi +51 -0
  83. data/rbi/sentdm/models/voice/voice_agents_list.rbi +55 -0
  84. data/rbi/sentdm/models/voice/voice_catalogue.rbi +59 -0
  85. data/rbi/sentdm/models/voice/voice_catalogue_voice.rbi +75 -0
  86. data/rbi/sentdm/models/webhook_create_params.rbi +41 -3
  87. data/rbi/sentdm/models/webhook_response.rbi +112 -3
  88. data/rbi/sentdm/models/webhook_update_params.rbi +18 -3
  89. data/rbi/sentdm/resources/channels/voice.rbi +52 -19
  90. data/rbi/sentdm/resources/profiles/campaigns.rbi +3 -2
  91. data/rbi/sentdm/resources/voice/agents.rbi +316 -0
  92. data/rbi/sentdm/resources/voice/calls/participants.rbi +11 -0
  93. data/rbi/sentdm/resources/voice/calls.rbi +46 -11
  94. data/rbi/sentdm/resources/voice/catalogue.rbi +59 -0
  95. data/rbi/sentdm/resources/voice/tokens.rbi +11 -0
  96. data/rbi/sentdm/resources/voice.rbi +84 -0
  97. data/rbi/sentdm/resources/webhooks.rbi +56 -16
  98. data/sig/sentdm/internal/voice_agents_page.rbs +41 -0
  99. data/sig/sentdm/models/call_event_payload.rbs +12 -0
  100. data/sig/sentdm/models/channels/voice_create_params.rbs +9 -4
  101. data/sig/sentdm/models/channels/voice_number.rbs +12 -0
  102. data/sig/sentdm/models/channels/voice_update_params.rbs +5 -0
  103. data/sig/sentdm/models/voice/agent_create_params.rbs +99 -0
  104. data/sig/sentdm/models/voice/agent_delete_params.rbs +34 -0
  105. data/sig/sentdm/models/voice/agent_list_params.rbs +40 -0
  106. data/sig/sentdm/models/voice/agent_retrieve_params.rbs +32 -0
  107. data/sig/sentdm/models/voice/agent_rotate_secret_params.rbs +40 -0
  108. data/sig/sentdm/models/voice/agent_update_params.rbs +108 -0
  109. data/sig/sentdm/models/voice/api_response_of_voice_agent.rbs +41 -0
  110. data/sig/sentdm/models/voice/api_response_of_voice_agent_secret.rbs +41 -0
  111. data/sig/sentdm/models/voice/api_response_of_voice_agents_list.rbs +41 -0
  112. data/sig/sentdm/models/voice/api_response_of_voice_catalogue.rbs +41 -0
  113. data/sig/sentdm/models/voice/call.rbs +65 -0
  114. data/sig/sentdm/models/voice/call_list_params.rbs +10 -0
  115. data/sig/sentdm/models/voice/catalogue_list_params.rbs +27 -0
  116. data/sig/sentdm/models/voice/voice_agent.rbs +116 -0
  117. data/sig/sentdm/models/voice/voice_agent_audio.rbs +19 -0
  118. data/sig/sentdm/models/voice/voice_agent_audio_spec.rbs +17 -0
  119. data/sig/sentdm/models/voice/voice_agent_limits.rbs +38 -0
  120. data/sig/sentdm/models/voice/voice_agent_limits_spec.rbs +34 -0
  121. data/sig/sentdm/models/voice/voice_agent_party.rbs +23 -0
  122. data/sig/sentdm/models/voice/voice_agent_party_spec.rbs +19 -0
  123. data/sig/sentdm/models/voice/voice_agent_secret.rbs +19 -0
  124. data/sig/sentdm/models/voice/voice_agent_speech.rbs +32 -0
  125. data/sig/sentdm/models/voice/voice_agent_speech_spec.rbs +26 -0
  126. data/sig/sentdm/models/voice/voice_agent_transcripts.rbs +23 -0
  127. data/sig/sentdm/models/voice/voice_agent_transcripts_spec.rbs +20 -0
  128. data/sig/sentdm/models/voice/voice_agents_list.rbs +35 -0
  129. data/sig/sentdm/models/voice/voice_catalogue.rbs +35 -0
  130. data/sig/sentdm/models/voice/voice_catalogue_voice.rbs +42 -0
  131. data/sig/sentdm/models/webhook_create_params.rbs +12 -0
  132. data/sig/sentdm/models/webhook_response.rbs +46 -3
  133. data/sig/sentdm/models/webhook_update_params.rbs +5 -0
  134. data/sig/sentdm/resources/channels/voice.rbs +3 -1
  135. data/sig/sentdm/resources/voice/agents.rbs +74 -0
  136. data/sig/sentdm/resources/voice/calls.rbs +2 -0
  137. data/sig/sentdm/resources/voice/catalogue.rbs +14 -0
  138. data/sig/sentdm/resources/voice.rbs +4 -0
  139. data/sig/sentdm/resources/webhooks.rbs +3 -0
  140. metadata +89 -2
@@ -0,0 +1,138 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ # @see Sentdm::Resources::Voice::Agents#list
7
+ class VoiceAgent < Sentdm::Internal::Type::BaseModel
8
+ # @!attribute id
9
+ # The agent's id, agent\_ and a UUID. It is also what the agent connects to the
10
+ # gateway as.
11
+ #
12
+ # @return [String, nil]
13
+ optional :id, String
14
+
15
+ # @!attribute audio
16
+ # Audio sessions: the sample rate in use.
17
+ #
18
+ # @return [Sentdm::Models::Voice::VoiceAgentAudio, nil]
19
+ optional :audio, -> { Sentdm::Voice::VoiceAgentAudio }, nil?: true
20
+
21
+ # @!attribute created_at
22
+ #
23
+ # @return [Time, nil]
24
+ optional :created_at, Time
25
+
26
+ # @!attribute fallback
27
+ #
28
+ # @return [Sentdm::Models::Voice::VoiceAgentParty, nil]
29
+ optional :fallback, -> { Sentdm::Voice::VoiceAgentParty }, nil?: true
30
+
31
+ # @!attribute greeting
32
+ #
33
+ # @return [String, nil]
34
+ optional :greeting, String, nil?: true
35
+
36
+ # @!attribute limits
37
+ #
38
+ # @return [Sentdm::Models::Voice::VoiceAgentLimits, nil]
39
+ optional :limits, -> { Sentdm::Voice::VoiceAgentLimits }
40
+
41
+ # @!attribute name
42
+ #
43
+ # @return [String, nil]
44
+ optional :name, String
45
+
46
+ # @!attribute session_type
47
+ # text or audio.
48
+ #
49
+ # @return [String, nil]
50
+ optional :session_type, String
51
+
52
+ # @!attribute signing_secret
53
+ # The whsec\_ secret the gateway signs its handshake to websocket_url with.
54
+ # Present on create and after a rotate-secret; absent on every other read. Store
55
+ # it now.
56
+ #
57
+ # @return [String, nil]
58
+ optional :signing_secret, String, nil?: true
59
+
60
+ # @!attribute speech
61
+ # Text sessions: the speech setting, voice and language in use.
62
+ #
63
+ # @return [Sentdm::Models::Voice::VoiceAgentSpeech, nil]
64
+ optional :speech, -> { Sentdm::Voice::VoiceAgentSpeech }, nil?: true
65
+
66
+ # @!attribute tools
67
+ #
68
+ # @return [Array<String>, nil]
69
+ optional :tools, Sentdm::Internal::Type::ArrayOf[String]
70
+
71
+ # @!attribute transcripts
72
+ #
73
+ # @return [Sentdm::Models::Voice::VoiceAgentTranscripts, nil]
74
+ optional :transcripts, -> { Sentdm::Voice::VoiceAgentTranscripts }
75
+
76
+ # @!attribute transfer_targets
77
+ #
78
+ # @return [Array<Sentdm::Models::Voice::VoiceAgentParty>, nil]
79
+ optional :transfer_targets, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Voice::VoiceAgentParty] }
80
+
81
+ # @!attribute updated_at
82
+ #
83
+ # @return [Time, nil]
84
+ optional :updated_at, Time, nil?: true
85
+
86
+ # @!attribute websocket_url
87
+ # Where the gateway dials the agent; null when the agent dials in with your API
88
+ # key.
89
+ #
90
+ # @return [String, nil]
91
+ optional :websocket_url, String, nil?: true
92
+
93
+ # @!method initialize(id: nil, audio: nil, created_at: nil, fallback: nil, greeting: nil, limits: nil, name: nil, session_type: nil, signing_secret: nil, speech: nil, tools: nil, transcripts: nil, transfer_targets: nil, updated_at: nil, websocket_url: nil)
94
+ # Some parameter documentations has been truncated, see
95
+ # {Sentdm::Models::Voice::VoiceAgent} for more details.
96
+ #
97
+ # A voice agent as stored: what was written with every default filled in, plus the
98
+ # signing secret the one time it is shown (on create, and on rotate). The one
99
+ # shape every read of an agent answers with, on /v3/voice/agents and on the admin
100
+ # API the dashboard uses, so the two cannot drift.
101
+ #
102
+ # @param id [String] The agent's id, agent\_ and a UUID. It is also what the agent connects to the
103
+ # gat
104
+ #
105
+ # @param audio [Sentdm::Models::Voice::VoiceAgentAudio, nil] Audio sessions: the sample rate in use.
106
+ #
107
+ # @param created_at [Time]
108
+ #
109
+ # @param fallback [Sentdm::Models::Voice::VoiceAgentParty, nil]
110
+ #
111
+ # @param greeting [String, nil]
112
+ #
113
+ # @param limits [Sentdm::Models::Voice::VoiceAgentLimits]
114
+ #
115
+ # @param name [String]
116
+ #
117
+ # @param session_type [String] text or audio.
118
+ #
119
+ # @param signing_secret [String, nil] The whsec\_ secret the gateway signs its handshake to websocket_url with.
120
+ # Present
121
+ #
122
+ # @param speech [Sentdm::Models::Voice::VoiceAgentSpeech, nil] Text sessions: the speech setting, voice and language in use.
123
+ #
124
+ # @param tools [Array<String>]
125
+ #
126
+ # @param transcripts [Sentdm::Models::Voice::VoiceAgentTranscripts]
127
+ #
128
+ # @param transfer_targets [Array<Sentdm::Models::Voice::VoiceAgentParty>]
129
+ #
130
+ # @param updated_at [Time, nil]
131
+ #
132
+ # @param websocket_url [String, nil] Where the gateway dials the agent; null when the agent dials in with your API ke
133
+ end
134
+ end
135
+
136
+ VoiceAgent = Voice::VoiceAgent
137
+ end
138
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentAudio < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute sample_rate
8
+ #
9
+ # @return [Integer, nil]
10
+ optional :sample_rate, Integer
11
+
12
+ # @!method initialize(sample_rate: nil)
13
+ # @param sample_rate [Integer]
14
+ end
15
+ end
16
+
17
+ VoiceAgentAudio = Voice::VoiceAgentAudio
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentAudioSpec < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute sample_rate
8
+ # Samples per second of the audio exchanged: 8000, 16000 or 24000. Default 16000.
9
+ #
10
+ # @return [Integer, nil]
11
+ optional :sample_rate, Integer, nil?: true
12
+
13
+ # @!method initialize(sample_rate: nil)
14
+ # @param sample_rate [Integer, nil] Samples per second of the audio exchanged: 8000, 16000 or 24000. Default 16000.
15
+ end
16
+ end
17
+
18
+ VoiceAgentAudioSpec = Voice::VoiceAgentAudioSpec
19
+ end
20
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentLimits < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute allowed_countries
8
+ #
9
+ # @return [Array<String>, nil]
10
+ optional :allowed_countries, Sentdm::Internal::Type::ArrayOf[String], nil?: true
11
+
12
+ # @!attribute max_call_seconds
13
+ #
14
+ # @return [Integer, nil]
15
+ optional :max_call_seconds, Integer
16
+
17
+ # @!attribute max_concurrent_calls
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :max_concurrent_calls, Integer
21
+
22
+ # @!method initialize(allowed_countries: nil, max_call_seconds: nil, max_concurrent_calls: nil)
23
+ # @param allowed_countries [Array<String>, nil]
24
+ # @param max_call_seconds [Integer]
25
+ # @param max_concurrent_calls [Integer]
26
+ end
27
+ end
28
+
29
+ VoiceAgentLimits = Voice::VoiceAgentLimits
30
+ end
31
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentLimitsSpec < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute allowed_countries
8
+ # ISO 3166-1 alpha-2 codes of the countries the agent may call or transfer to.
9
+ # Omit it to allow every country. Stored now, applied when the agent places calls.
10
+ #
11
+ # @return [Array<String>, nil]
12
+ optional :allowed_countries, Sentdm::Internal::Type::ArrayOf[String], nil?: true
13
+
14
+ # @!attribute max_call_seconds
15
+ # The longest a call may last, 60 to 14,400 seconds. Default 3,600.
16
+ #
17
+ # @return [Integer, nil]
18
+ optional :max_call_seconds, Integer, nil?: true
19
+
20
+ # @!attribute max_concurrent_calls
21
+ # How many calls the agent may have going at once, from 1. Default 10.
22
+ #
23
+ # @return [Integer, nil]
24
+ optional :max_concurrent_calls, Integer, nil?: true
25
+
26
+ # @!method initialize(allowed_countries: nil, max_call_seconds: nil, max_concurrent_calls: nil)
27
+ # Some parameter documentations has been truncated, see
28
+ # {Sentdm::Models::Voice::VoiceAgentLimitsSpec} for more details.
29
+ #
30
+ # @param allowed_countries [Array<String>, nil] ISO 3166-1 alpha-2 codes of the countries the agent may call or transfer to. Omi
31
+ #
32
+ # @param max_call_seconds [Integer, nil] The longest a call may last, 60 to 14,400 seconds. Default 3,600.
33
+ #
34
+ # @param max_concurrent_calls [Integer, nil] How many calls the agent may have going at once, from 1. Default 10.
35
+ end
36
+ end
37
+
38
+ VoiceAgentLimitsSpec = Voice::VoiceAgentLimitsSpec
39
+ end
40
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentParty < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute kind
8
+ #
9
+ # @return [String, nil]
10
+ optional :kind, String
11
+
12
+ # @!attribute value
13
+ #
14
+ # @return [String, nil]
15
+ optional :value, String
16
+
17
+ # @!method initialize(kind: nil, value: nil)
18
+ # @param kind [String]
19
+ # @param value [String]
20
+ end
21
+ end
22
+
23
+ VoiceAgentParty = Voice::VoiceAgentParty
24
+ end
25
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentPartySpec < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute kind
8
+ # number, user or agent.
9
+ #
10
+ # @return [String, nil]
11
+ optional :kind, String, nil?: true
12
+
13
+ # @!attribute value
14
+ # The E.164 number, the app user's identity, or the agent id (agent\_…).
15
+ #
16
+ # @return [String, nil]
17
+ optional :value, String, nil?: true
18
+
19
+ # @!method initialize(kind: nil, value: nil)
20
+ # @param kind [String, nil] number, user or agent.
21
+ #
22
+ # @param value [String, nil] The E.164 number, the app user's identity, or the agent id (agent\_…).
23
+ end
24
+ end
25
+
26
+ VoiceAgentPartySpec = Voice::VoiceAgentPartySpec
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentSecret < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute signing_secret
8
+ # The new whsec\_ secret. The previous one stopped signing the moment this was
9
+ # returned. Shown once.
10
+ #
11
+ # @return [String, nil]
12
+ optional :signing_secret, String
13
+
14
+ # @!method initialize(signing_secret: nil)
15
+ # Some parameter documentations has been truncated, see
16
+ # {Sentdm::Models::Voice::VoiceAgentSecret} for more details.
17
+ #
18
+ # A freshly rotated signing secret.
19
+ #
20
+ # @param signing_secret [String] The new whsec\_ secret. The previous one stopped signing the moment this was
21
+ # retu
22
+ end
23
+ end
24
+
25
+ VoiceAgentSecret = Voice::VoiceAgentSecret
26
+ end
27
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentSpeech < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute language
8
+ #
9
+ # @return [String, nil]
10
+ optional :language, String
11
+
12
+ # @!attribute setting
13
+ #
14
+ # @return [String, nil]
15
+ optional :setting, String
16
+
17
+ # @!attribute voice
18
+ #
19
+ # @return [String, nil]
20
+ optional :voice, String
21
+
22
+ # @!method initialize(language: nil, setting: nil, voice: nil)
23
+ # @param language [String]
24
+ # @param setting [String]
25
+ # @param voice [String]
26
+ end
27
+ end
28
+
29
+ VoiceAgentSpeech = Voice::VoiceAgentSpeech
30
+ end
31
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentSpeechSpec < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute language
8
+ # The language spoken and listened for, a BCP 47 tag from GET /v3/voice/voices.
9
+ # Default en-US.
10
+ #
11
+ # @return [String, nil]
12
+ optional :language, String, nil?: true
13
+
14
+ # @!attribute setting
15
+ # standard, Sent's speech. Other settings are not available yet.
16
+ #
17
+ # @return [String, nil]
18
+ optional :setting, String, nil?: true
19
+
20
+ # @!attribute voice
21
+ # A voice name from GET /v3/voice/voices. Default: the catalogue's default voice.
22
+ #
23
+ # @return [String, nil]
24
+ optional :voice, String, nil?: true
25
+
26
+ # @!method initialize(language: nil, setting: nil, voice: nil)
27
+ # Some parameter documentations has been truncated, see
28
+ # {Sentdm::Models::Voice::VoiceAgentSpeechSpec} for more details.
29
+ #
30
+ # @param language [String, nil] The language spoken and listened for, a BCP 47 tag from GET /v3/voice/voices. De
31
+ #
32
+ # @param setting [String, nil] standard, Sent's speech. Other settings are not available yet.
33
+ #
34
+ # @param voice [String, nil] A voice name from GET /v3/voice/voices. Default: the catalogue's default voice.
35
+ end
36
+ end
37
+
38
+ VoiceAgentSpeechSpec = Voice::VoiceAgentSpeechSpec
39
+ end
40
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentTranscripts < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute retention_days
8
+ #
9
+ # @return [Integer, nil]
10
+ optional :retention_days, Integer
11
+
12
+ # @!attribute store
13
+ #
14
+ # @return [Boolean, nil]
15
+ optional :store, Sentdm::Internal::Type::Boolean
16
+
17
+ # @!method initialize(retention_days: nil, store: nil)
18
+ # @param retention_days [Integer]
19
+ # @param store [Boolean]
20
+ end
21
+ end
22
+
23
+ VoiceAgentTranscripts = Voice::VoiceAgentTranscripts
24
+ end
25
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentTranscriptsSpec < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute retention_days
8
+ # How long a stored transcript is kept, 1 to 365 days. Default 30.
9
+ #
10
+ # @return [Integer, nil]
11
+ optional :retention_days, Integer, nil?: true
12
+
13
+ # @!attribute store
14
+ # Whether Sent keeps the call's transcript. Default false. Stored now, applied
15
+ # when transcripts land.
16
+ #
17
+ # @return [Boolean, nil]
18
+ optional :store, Sentdm::Internal::Type::Boolean, nil?: true
19
+
20
+ # @!method initialize(retention_days: nil, store: nil)
21
+ # Some parameter documentations has been truncated, see
22
+ # {Sentdm::Models::Voice::VoiceAgentTranscriptsSpec} for more details.
23
+ #
24
+ # @param retention_days [Integer, nil] How long a stored transcript is kept, 1 to 365 days. Default 30.
25
+ #
26
+ # @param store [Boolean, nil] Whether Sent keeps the call's transcript. Default false. Stored now, applied whe
27
+ end
28
+ end
29
+
30
+ VoiceAgentTranscriptsSpec = Voice::VoiceAgentTranscriptsSpec
31
+ end
32
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceAgentsList < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute agents
8
+ #
9
+ # @return [Array<Sentdm::Models::Voice::VoiceAgent>, nil]
10
+ optional :agents, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Voice::VoiceAgent] }
11
+
12
+ # @!attribute pagination
13
+ # Pagination metadata for list responses
14
+ #
15
+ # @return [Sentdm::Models::PaginationMeta, nil]
16
+ optional :pagination, -> { Sentdm::PaginationMeta }
17
+
18
+ # @!method initialize(agents: nil, pagination: nil)
19
+ # A page of the account's agents. The agent itself is VoiceAgentResponse, shared
20
+ # with the admin API.
21
+ #
22
+ # @param agents [Array<Sentdm::Models::Voice::VoiceAgent>]
23
+ #
24
+ # @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata for list responses
25
+ end
26
+ end
27
+
28
+ VoiceAgentsList = Voice::VoiceAgentsList
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceCatalogue < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute languages
8
+ # BCP 47 tags accepted as speech.language.
9
+ #
10
+ # @return [Array<String>, nil]
11
+ optional :languages, Sentdm::Internal::Type::ArrayOf[String]
12
+
13
+ # @!attribute voices
14
+ #
15
+ # @return [Array<Sentdm::Models::Voice::VoiceCatalogueVoice>, nil]
16
+ optional :voices, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Voice::VoiceCatalogueVoice] }
17
+
18
+ # @!method initialize(languages: nil, voices: nil)
19
+ # The voices and languages a text-session agent may name in its speech settings:
20
+ # what GET /v3/voice/voices and the admin GET /voice/voices answer, in one shape.
21
+ #
22
+ # @param languages [Array<String>] BCP 47 tags accepted as speech.language.
23
+ #
24
+ # @param voices [Array<Sentdm::Models::Voice::VoiceCatalogueVoice>]
25
+ end
26
+ end
27
+
28
+ VoiceCatalogue = Voice::VoiceCatalogue
29
+ end
30
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class VoiceCatalogueVoice < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute default
8
+ # Whether this is the voice used when an agent names none.
9
+ #
10
+ # @return [Boolean, nil]
11
+ optional :default, Sentdm::Internal::Type::Boolean
12
+
13
+ # @!attribute description
14
+ #
15
+ # @return [String, nil]
16
+ optional :description, String
17
+
18
+ # @!attribute language
19
+ # The language the voice speaks.
20
+ #
21
+ # @return [String, nil]
22
+ optional :language, String
23
+
24
+ # @!attribute name
25
+ # The value to send as speech.voice.
26
+ #
27
+ # @return [String, nil]
28
+ optional :name, String
29
+
30
+ # @!method initialize(default: nil, description: nil, language: nil, name: nil)
31
+ # @param default [Boolean] Whether this is the voice used when an agent names none.
32
+ #
33
+ # @param description [String]
34
+ #
35
+ # @param language [String] The language the voice speaks.
36
+ #
37
+ # @param name [String] The value to send as speech.voice.
38
+ end
39
+ end
40
+
41
+ VoiceCatalogueVoice = Voice::VoiceCatalogueVoice
42
+ end
43
+ end
@@ -29,7 +29,18 @@ module Sentdm
29
29
  # @return [Array<String>, nil]
30
30
  optional :event_types, Sentdm::Internal::Type::ArrayOf[String]
31
31
 
32
+ # @!attribute is_inheritable
33
+ # Also delivers every sender profile's events to this webhook, at the same URL and
34
+ # with the same signing secret, and lets each profile see the webhook and read the
35
+ # events about itself. Off by default: the organization's own events only. Only an
36
+ # organization's version 2 webhook can set it.
37
+ #
38
+ # @return [Boolean, nil]
39
+ optional :is_inheritable, Sentdm::Internal::Type::Boolean
40
+
32
41
  # @!attribute retry_count
42
+ # Delivery retries. Applies to version 1 only: Svix retries a version 2 webhook on
43
+ # its own schedule.
33
44
  #
34
45
  # @return [Integer, nil]
35
46
  optional :retry_count, Integer
@@ -43,16 +54,26 @@ module Sentdm
43
54
 
44
55
  # @!attribute sender_profile
45
56
  # Request-only: the events an organization webhook's sender profile clones
46
- # receive, one clone per existing and future profile. Responses never return it.
57
+ # receive, one clone per existing and future profile. A version 1 webhook's
58
+ # responses report it as WebhookSenderProfileV3Response.
47
59
  #
48
60
  # @return [Sentdm::Models::WebhookCreateParams::SenderProfile, nil]
49
61
  optional :sender_profile, -> { Sentdm::WebhookCreateParams::SenderProfile }, nil?: true
50
62
 
51
63
  # @!attribute timeout_seconds
64
+ # Delivery timeout. Applies to version 1 only.
52
65
  #
53
66
  # @return [Integer, nil]
54
67
  optional :timeout_seconds, Integer
55
68
 
69
+ # @!attribute webhook_version
70
+ # Who delivers the webhook: 2, the default, is delivered by Svix and signed with
71
+ # the webhook-id, webhook-timestamp and webhook-signature headers; 1 is the older
72
+ # delivery, signed with the X-Webhook-\* headers, which will be retired.
73
+ #
74
+ # @return [Integer, nil]
75
+ optional :webhook_version, Integer, nil?: true
76
+
56
77
  # @!attribute idempotency_key
57
78
  #
58
79
  # @return [String, nil]
@@ -63,7 +84,7 @@ module Sentdm
63
84
  # @return [String, nil]
64
85
  optional :x_profile_id, String
65
86
 
66
- # @!method initialize(display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, sender_profile: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
87
+ # @!method initialize(display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, is_inheritable: nil, retry_count: nil, sandbox: nil, sender_profile: nil, timeout_seconds: nil, webhook_version: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
67
88
  # Some parameter documentations has been truncated, see
68
89
  # {Sentdm::Models::WebhookCreateParams} for more details.
69
90
  #
@@ -75,13 +96,17 @@ module Sentdm
75
96
  #
76
97
  # @param event_types [Array<String>]
77
98
  #
78
- # @param retry_count [Integer]
99
+ # @param is_inheritable [Boolean] Also delivers every sender profile's events to this webhook, at the same URL and
100
+ #
101
+ # @param retry_count [Integer] Delivery retries. Applies to version 1 only: Svix retries a version 2 webhook on
79
102
  #
80
103
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
81
104
  #
82
105
  # @param sender_profile [Sentdm::Models::WebhookCreateParams::SenderProfile, nil] Request-only: the events an organization webhook's sender profile clones receive
83
106
  #
84
- # @param timeout_seconds [Integer]
107
+ # @param timeout_seconds [Integer] Delivery timeout. Applies to version 1 only.
108
+ #
109
+ # @param webhook_version [Integer, nil] Who delivers the webhook: 2, the default, is delivered by Svix and signed with t
85
110
  #
86
111
  # @param idempotency_key [String]
87
112
  #
@@ -104,7 +129,8 @@ module Sentdm
104
129
 
105
130
  # @!method initialize(event_filters: nil, event_types: nil)
106
131
  # Request-only: the events an organization webhook's sender profile clones
107
- # receive, one clone per existing and future profile. Responses never return it.
132
+ # receive, one clone per existing and future profile. A version 1 webhook's
133
+ # responses report it as WebhookSenderProfileV3Response.
108
134
  #
109
135
  # @param event_filters [Hash{Symbol=>Array<String>}, nil]
110
136
  # @param event_types [Array<String>]