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,108 @@
1
+ module Sentdm
2
+ module Models
3
+ module Voice
4
+ type agent_update_params =
5
+ {
6
+ id: String,
7
+ audio: Sentdm::Voice::VoiceAgentAudioSpec?,
8
+ fallback: Sentdm::Voice::VoiceAgentPartySpec?,
9
+ greeting: String?,
10
+ limits: Sentdm::Voice::VoiceAgentLimitsSpec?,
11
+ name: String,
12
+ sandbox: bool,
13
+ session_type: String,
14
+ speech: Sentdm::Voice::VoiceAgentSpeechSpec?,
15
+ tools: ::Array[String]?,
16
+ transcripts: Sentdm::Voice::VoiceAgentTranscriptsSpec?,
17
+ transfer_targets: ::Array[Sentdm::Voice::VoiceAgentPartySpec]?,
18
+ websocket_url: String?,
19
+ idempotency_key: String,
20
+ x_profile_id: String
21
+ }
22
+ & Sentdm::Internal::Type::request_parameters
23
+
24
+ class AgentUpdateParams < Sentdm::Internal::Type::BaseModel
25
+ extend Sentdm::Internal::Type::RequestParameters::Converter
26
+ include Sentdm::Internal::Type::RequestParameters
27
+
28
+ attr_accessor id: String
29
+
30
+ attr_accessor audio: Sentdm::Voice::VoiceAgentAudioSpec?
31
+
32
+ attr_accessor fallback: Sentdm::Voice::VoiceAgentPartySpec?
33
+
34
+ attr_accessor greeting: String?
35
+
36
+ attr_accessor limits: Sentdm::Voice::VoiceAgentLimitsSpec?
37
+
38
+ attr_reader name: String?
39
+
40
+ def name=: (String) -> String
41
+
42
+ attr_reader sandbox: bool?
43
+
44
+ def sandbox=: (bool) -> bool
45
+
46
+ attr_reader session_type: String?
47
+
48
+ def session_type=: (String) -> String
49
+
50
+ attr_accessor speech: Sentdm::Voice::VoiceAgentSpeechSpec?
51
+
52
+ attr_accessor tools: ::Array[String]?
53
+
54
+ attr_accessor transcripts: Sentdm::Voice::VoiceAgentTranscriptsSpec?
55
+
56
+ attr_accessor transfer_targets: ::Array[Sentdm::Voice::VoiceAgentPartySpec]?
57
+
58
+ attr_accessor websocket_url: String?
59
+
60
+ attr_reader idempotency_key: String?
61
+
62
+ def idempotency_key=: (String) -> String
63
+
64
+ attr_reader x_profile_id: String?
65
+
66
+ def x_profile_id=: (String) -> String
67
+
68
+ def initialize: (
69
+ id: String,
70
+ ?audio: Sentdm::Voice::VoiceAgentAudioSpec?,
71
+ ?fallback: Sentdm::Voice::VoiceAgentPartySpec?,
72
+ ?greeting: String?,
73
+ ?limits: Sentdm::Voice::VoiceAgentLimitsSpec?,
74
+ ?name: String,
75
+ ?sandbox: bool,
76
+ ?session_type: String,
77
+ ?speech: Sentdm::Voice::VoiceAgentSpeechSpec?,
78
+ ?tools: ::Array[String]?,
79
+ ?transcripts: Sentdm::Voice::VoiceAgentTranscriptsSpec?,
80
+ ?transfer_targets: ::Array[Sentdm::Voice::VoiceAgentPartySpec]?,
81
+ ?websocket_url: String?,
82
+ ?idempotency_key: String,
83
+ ?x_profile_id: String,
84
+ ?request_options: Sentdm::request_opts
85
+ ) -> void
86
+
87
+ def to_hash: -> {
88
+ id: String,
89
+ audio: Sentdm::Voice::VoiceAgentAudioSpec?,
90
+ fallback: Sentdm::Voice::VoiceAgentPartySpec?,
91
+ greeting: String?,
92
+ limits: Sentdm::Voice::VoiceAgentLimitsSpec?,
93
+ name: String,
94
+ sandbox: bool,
95
+ session_type: String,
96
+ speech: Sentdm::Voice::VoiceAgentSpeechSpec?,
97
+ tools: ::Array[String]?,
98
+ transcripts: Sentdm::Voice::VoiceAgentTranscriptsSpec?,
99
+ transfer_targets: ::Array[Sentdm::Voice::VoiceAgentPartySpec]?,
100
+ websocket_url: String?,
101
+ idempotency_key: String,
102
+ x_profile_id: String,
103
+ request_options: Sentdm::RequestOptions
104
+ }
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,41 @@
1
+ module Sentdm
2
+ module Models
3
+ module Voice
4
+ type api_response_of_voice_agent =
5
+ {
6
+ data: Sentdm::Voice::VoiceAgent?,
7
+ error: Sentdm::ErrorDetail?,
8
+ meta: Sentdm::APIMeta,
9
+ success: bool
10
+ }
11
+
12
+ class APIResponseOfVoiceAgent < Sentdm::Internal::Type::BaseModel
13
+ attr_accessor data: Sentdm::Voice::VoiceAgent?
14
+
15
+ attr_accessor error: Sentdm::ErrorDetail?
16
+
17
+ attr_reader meta: Sentdm::APIMeta?
18
+
19
+ def meta=: (Sentdm::APIMeta) -> Sentdm::APIMeta
20
+
21
+ attr_reader success: bool?
22
+
23
+ def success=: (bool) -> bool
24
+
25
+ def initialize: (
26
+ ?data: Sentdm::Voice::VoiceAgent?,
27
+ ?error: Sentdm::ErrorDetail?,
28
+ ?meta: Sentdm::APIMeta,
29
+ ?success: bool
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ data: Sentdm::Voice::VoiceAgent?,
34
+ error: Sentdm::ErrorDetail?,
35
+ meta: Sentdm::APIMeta,
36
+ success: bool
37
+ }
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,41 @@
1
+ module Sentdm
2
+ module Models
3
+ module Voice
4
+ type api_response_of_voice_agent_secret =
5
+ {
6
+ data: Sentdm::Voice::VoiceAgentSecret?,
7
+ error: Sentdm::ErrorDetail?,
8
+ meta: Sentdm::APIMeta,
9
+ success: bool
10
+ }
11
+
12
+ class APIResponseOfVoiceAgentSecret < Sentdm::Internal::Type::BaseModel
13
+ attr_accessor data: Sentdm::Voice::VoiceAgentSecret?
14
+
15
+ attr_accessor error: Sentdm::ErrorDetail?
16
+
17
+ attr_reader meta: Sentdm::APIMeta?
18
+
19
+ def meta=: (Sentdm::APIMeta) -> Sentdm::APIMeta
20
+
21
+ attr_reader success: bool?
22
+
23
+ def success=: (bool) -> bool
24
+
25
+ def initialize: (
26
+ ?data: Sentdm::Voice::VoiceAgentSecret?,
27
+ ?error: Sentdm::ErrorDetail?,
28
+ ?meta: Sentdm::APIMeta,
29
+ ?success: bool
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ data: Sentdm::Voice::VoiceAgentSecret?,
34
+ error: Sentdm::ErrorDetail?,
35
+ meta: Sentdm::APIMeta,
36
+ success: bool
37
+ }
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,41 @@
1
+ module Sentdm
2
+ module Models
3
+ module Voice
4
+ type api_response_of_voice_agents_list =
5
+ {
6
+ data: Sentdm::Voice::VoiceAgentsList?,
7
+ error: Sentdm::ErrorDetail?,
8
+ meta: Sentdm::APIMeta,
9
+ success: bool
10
+ }
11
+
12
+ class APIResponseOfVoiceAgentsList < Sentdm::Internal::Type::BaseModel
13
+ attr_accessor data: Sentdm::Voice::VoiceAgentsList?
14
+
15
+ attr_accessor error: Sentdm::ErrorDetail?
16
+
17
+ attr_reader meta: Sentdm::APIMeta?
18
+
19
+ def meta=: (Sentdm::APIMeta) -> Sentdm::APIMeta
20
+
21
+ attr_reader success: bool?
22
+
23
+ def success=: (bool) -> bool
24
+
25
+ def initialize: (
26
+ ?data: Sentdm::Voice::VoiceAgentsList?,
27
+ ?error: Sentdm::ErrorDetail?,
28
+ ?meta: Sentdm::APIMeta,
29
+ ?success: bool
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ data: Sentdm::Voice::VoiceAgentsList?,
34
+ error: Sentdm::ErrorDetail?,
35
+ meta: Sentdm::APIMeta,
36
+ success: bool
37
+ }
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,41 @@
1
+ module Sentdm
2
+ module Models
3
+ module Voice
4
+ type api_response_of_voice_catalogue =
5
+ {
6
+ data: Sentdm::Voice::VoiceCatalogue?,
7
+ error: Sentdm::ErrorDetail?,
8
+ meta: Sentdm::APIMeta,
9
+ success: bool
10
+ }
11
+
12
+ class APIResponseOfVoiceCatalogue < Sentdm::Internal::Type::BaseModel
13
+ attr_accessor data: Sentdm::Voice::VoiceCatalogue?
14
+
15
+ attr_accessor error: Sentdm::ErrorDetail?
16
+
17
+ attr_reader meta: Sentdm::APIMeta?
18
+
19
+ def meta=: (Sentdm::APIMeta) -> Sentdm::APIMeta
20
+
21
+ attr_reader success: bool?
22
+
23
+ def success=: (bool) -> bool
24
+
25
+ def initialize: (
26
+ ?data: Sentdm::Voice::VoiceCatalogue?,
27
+ ?error: Sentdm::ErrorDetail?,
28
+ ?meta: Sentdm::APIMeta,
29
+ ?success: bool
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ data: Sentdm::Voice::VoiceCatalogue?,
34
+ error: Sentdm::ErrorDetail?,
35
+ meta: Sentdm::APIMeta,
36
+ success: bool
37
+ }
38
+ end
39
+ end
40
+ end
41
+ end
@@ -4,12 +4,16 @@ module Sentdm
4
4
  type call =
5
5
  {
6
6
  id: String,
7
+ agent_id: String?,
7
8
  answered_at: Time?,
9
+ caller_id_used: String?,
10
+ connected_number: String?,
8
11
  direction: String,
9
12
  duration_seconds: Integer?,
10
13
  ended_at: Time?,
11
14
  failure_reason: String?,
12
15
  from: Sentdm::Voice::CallParty,
16
+ legs: ::Array[Sentdm::Voice::Call::Leg]?,
13
17
  mode: String,
14
18
  number: String,
15
19
  price: Float?,
@@ -25,8 +29,14 @@ module Sentdm
25
29
 
26
30
  def id=: (String) -> String
27
31
 
32
+ attr_accessor agent_id: String?
33
+
28
34
  attr_accessor answered_at: Time?
29
35
 
36
+ attr_accessor caller_id_used: String?
37
+
38
+ attr_accessor connected_number: String?
39
+
30
40
  attr_reader direction: String?
31
41
 
32
42
  def direction=: (String) -> String
@@ -41,6 +51,8 @@ module Sentdm
41
51
 
42
52
  def from=: (Sentdm::Voice::CallParty) -> Sentdm::Voice::CallParty
43
53
 
54
+ attr_accessor legs: ::Array[Sentdm::Voice::Call::Leg]?
55
+
44
56
  attr_reader mode: String?
45
57
 
46
58
  def mode=: (String) -> String
@@ -71,12 +83,16 @@ module Sentdm
71
83
 
72
84
  def initialize: (
73
85
  ?id: String,
86
+ ?agent_id: String?,
74
87
  ?answered_at: Time?,
88
+ ?caller_id_used: String?,
89
+ ?connected_number: String?,
75
90
  ?direction: String,
76
91
  ?duration_seconds: Integer?,
77
92
  ?ended_at: Time?,
78
93
  ?failure_reason: String?,
79
94
  ?from: Sentdm::Voice::CallParty,
95
+ ?legs: ::Array[Sentdm::Voice::Call::Leg]?,
80
96
  ?mode: String,
81
97
  ?number: String,
82
98
  ?price: Float?,
@@ -89,12 +105,16 @@ module Sentdm
89
105
 
90
106
  def to_hash: -> {
91
107
  id: String,
108
+ agent_id: String?,
92
109
  answered_at: Time?,
110
+ caller_id_used: String?,
111
+ connected_number: String?,
93
112
  direction: String,
94
113
  duration_seconds: Integer?,
95
114
  ended_at: Time?,
96
115
  failure_reason: String?,
97
116
  from: Sentdm::Voice::CallParty,
117
+ legs: ::Array[Sentdm::Voice::Call::Leg]?,
98
118
  mode: String,
99
119
  number: String,
100
120
  price: Float?,
@@ -104,6 +124,51 @@ module Sentdm
104
124
  timeline: ::Array[Sentdm::Voice::CallTimelineEntry]?,
105
125
  to: Sentdm::Voice::CallParty
106
126
  }
127
+
128
+ type leg =
129
+ {
130
+ billed_minutes: Integer,
131
+ cost: Float,
132
+ currency: String,
133
+ direction: String,
134
+ number: String?
135
+ }
136
+
137
+ class Leg < Sentdm::Internal::Type::BaseModel
138
+ attr_reader billed_minutes: Integer?
139
+
140
+ def billed_minutes=: (Integer) -> Integer
141
+
142
+ attr_reader cost: Float?
143
+
144
+ def cost=: (Float) -> Float
145
+
146
+ attr_reader currency: String?
147
+
148
+ def currency=: (String) -> String
149
+
150
+ attr_reader direction: String?
151
+
152
+ def direction=: (String) -> String
153
+
154
+ attr_accessor number: String?
155
+
156
+ def initialize: (
157
+ ?billed_minutes: Integer,
158
+ ?cost: Float,
159
+ ?currency: String,
160
+ ?direction: String,
161
+ ?number: String?
162
+ ) -> void
163
+
164
+ def to_hash: -> {
165
+ billed_minutes: Integer,
166
+ cost: Float,
167
+ currency: String,
168
+ direction: String,
169
+ number: String?
170
+ }
171
+ end
107
172
  end
108
173
  end
109
174
  end
@@ -3,8 +3,10 @@ module Sentdm
3
3
  module Voice
4
4
  type call_list_params =
5
5
  {
6
+ agent_id: String?,
6
7
  direction: String?,
7
8
  from: Time?,
9
+ mode: String?,
8
10
  number: String?,
9
11
  page: Integer,
10
12
  page_size: Integer,
@@ -18,10 +20,14 @@ module Sentdm
18
20
  extend Sentdm::Internal::Type::RequestParameters::Converter
19
21
  include Sentdm::Internal::Type::RequestParameters
20
22
 
23
+ attr_accessor agent_id: String?
24
+
21
25
  attr_accessor direction: String?
22
26
 
23
27
  attr_accessor from: Time?
24
28
 
29
+ attr_accessor mode: String?
30
+
25
31
  attr_accessor number: String?
26
32
 
27
33
  attr_reader page: Integer?
@@ -41,8 +47,10 @@ module Sentdm
41
47
  def x_profile_id=: (String) -> String
42
48
 
43
49
  def initialize: (
50
+ ?agent_id: String?,
44
51
  ?direction: String?,
45
52
  ?from: Time?,
53
+ ?mode: String?,
46
54
  ?number: String?,
47
55
  ?page: Integer,
48
56
  ?page_size: Integer,
@@ -53,8 +61,10 @@ module Sentdm
53
61
  ) -> void
54
62
 
55
63
  def to_hash: -> {
64
+ agent_id: String?,
56
65
  direction: String?,
57
66
  from: Time?,
67
+ mode: String?,
58
68
  number: String?,
59
69
  page: Integer,
60
70
  page_size: Integer,
@@ -0,0 +1,27 @@
1
+ module Sentdm
2
+ module Models
3
+ module Voice
4
+ type catalogue_list_params =
5
+ { x_profile_id: String } & Sentdm::Internal::Type::request_parameters
6
+
7
+ class CatalogueListParams < Sentdm::Internal::Type::BaseModel
8
+ extend Sentdm::Internal::Type::RequestParameters::Converter
9
+ include Sentdm::Internal::Type::RequestParameters
10
+
11
+ attr_reader x_profile_id: String?
12
+
13
+ def x_profile_id=: (String) -> String
14
+
15
+ def initialize: (
16
+ ?x_profile_id: String,
17
+ ?request_options: Sentdm::request_opts
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ x_profile_id: String,
22
+ request_options: Sentdm::RequestOptions
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,116 @@
1
+ module Sentdm
2
+ module Models
3
+ class VoiceAgent = Voice::VoiceAgent
4
+
5
+ module Voice
6
+ type voice_agent =
7
+ {
8
+ id: String,
9
+ audio: Sentdm::Voice::VoiceAgentAudio?,
10
+ created_at: Time,
11
+ fallback: Sentdm::Voice::VoiceAgentParty?,
12
+ greeting: String?,
13
+ limits: Sentdm::Voice::VoiceAgentLimits,
14
+ name: String,
15
+ session_type: String,
16
+ signing_secret: String?,
17
+ speech: Sentdm::Voice::VoiceAgentSpeech?,
18
+ tools: ::Array[String],
19
+ transcripts: Sentdm::Voice::VoiceAgentTranscripts,
20
+ transfer_targets: ::Array[Sentdm::Voice::VoiceAgentParty],
21
+ updated_at: Time?,
22
+ websocket_url: String?
23
+ }
24
+
25
+ class VoiceAgent < Sentdm::Internal::Type::BaseModel
26
+ attr_reader id: String?
27
+
28
+ def id=: (String) -> String
29
+
30
+ attr_accessor audio: Sentdm::Voice::VoiceAgentAudio?
31
+
32
+ attr_reader created_at: Time?
33
+
34
+ def created_at=: (Time) -> Time
35
+
36
+ attr_accessor fallback: Sentdm::Voice::VoiceAgentParty?
37
+
38
+ attr_accessor greeting: String?
39
+
40
+ attr_reader limits: Sentdm::Voice::VoiceAgentLimits?
41
+
42
+ def limits=: (
43
+ Sentdm::Voice::VoiceAgentLimits
44
+ ) -> Sentdm::Voice::VoiceAgentLimits
45
+
46
+ attr_reader name: String?
47
+
48
+ def name=: (String) -> String
49
+
50
+ attr_reader session_type: String?
51
+
52
+ def session_type=: (String) -> String
53
+
54
+ attr_accessor signing_secret: String?
55
+
56
+ attr_accessor speech: Sentdm::Voice::VoiceAgentSpeech?
57
+
58
+ attr_reader tools: ::Array[String]?
59
+
60
+ def tools=: (::Array[String]) -> ::Array[String]
61
+
62
+ attr_reader transcripts: Sentdm::Voice::VoiceAgentTranscripts?
63
+
64
+ def transcripts=: (
65
+ Sentdm::Voice::VoiceAgentTranscripts
66
+ ) -> Sentdm::Voice::VoiceAgentTranscripts
67
+
68
+ attr_reader transfer_targets: ::Array[Sentdm::Voice::VoiceAgentParty]?
69
+
70
+ def transfer_targets=: (
71
+ ::Array[Sentdm::Voice::VoiceAgentParty]
72
+ ) -> ::Array[Sentdm::Voice::VoiceAgentParty]
73
+
74
+ attr_accessor updated_at: Time?
75
+
76
+ attr_accessor websocket_url: String?
77
+
78
+ def initialize: (
79
+ ?id: String,
80
+ ?audio: Sentdm::Voice::VoiceAgentAudio?,
81
+ ?created_at: Time,
82
+ ?fallback: Sentdm::Voice::VoiceAgentParty?,
83
+ ?greeting: String?,
84
+ ?limits: Sentdm::Voice::VoiceAgentLimits,
85
+ ?name: String,
86
+ ?session_type: String,
87
+ ?signing_secret: String?,
88
+ ?speech: Sentdm::Voice::VoiceAgentSpeech?,
89
+ ?tools: ::Array[String],
90
+ ?transcripts: Sentdm::Voice::VoiceAgentTranscripts,
91
+ ?transfer_targets: ::Array[Sentdm::Voice::VoiceAgentParty],
92
+ ?updated_at: Time?,
93
+ ?websocket_url: String?
94
+ ) -> void
95
+
96
+ def to_hash: -> {
97
+ id: String,
98
+ audio: Sentdm::Voice::VoiceAgentAudio?,
99
+ created_at: Time,
100
+ fallback: Sentdm::Voice::VoiceAgentParty?,
101
+ greeting: String?,
102
+ limits: Sentdm::Voice::VoiceAgentLimits,
103
+ name: String,
104
+ session_type: String,
105
+ signing_secret: String?,
106
+ speech: Sentdm::Voice::VoiceAgentSpeech?,
107
+ tools: ::Array[String],
108
+ transcripts: Sentdm::Voice::VoiceAgentTranscripts,
109
+ transfer_targets: ::Array[Sentdm::Voice::VoiceAgentParty],
110
+ updated_at: Time?,
111
+ websocket_url: String?
112
+ }
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,19 @@
1
+ module Sentdm
2
+ module Models
3
+ class VoiceAgentAudio = Voice::VoiceAgentAudio
4
+
5
+ module Voice
6
+ type voice_agent_audio = { sample_rate: Integer }
7
+
8
+ class VoiceAgentAudio < Sentdm::Internal::Type::BaseModel
9
+ attr_reader sample_rate: Integer?
10
+
11
+ def sample_rate=: (Integer) -> Integer
12
+
13
+ def initialize: (?sample_rate: Integer) -> void
14
+
15
+ def to_hash: -> { sample_rate: Integer }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,17 @@
1
+ module Sentdm
2
+ module Models
3
+ class VoiceAgentAudioSpec = Voice::VoiceAgentAudioSpec
4
+
5
+ module Voice
6
+ type voice_agent_audio_spec = { sample_rate: Integer? }
7
+
8
+ class VoiceAgentAudioSpec < Sentdm::Internal::Type::BaseModel
9
+ attr_accessor sample_rate: Integer?
10
+
11
+ def initialize: (?sample_rate: Integer?) -> void
12
+
13
+ def to_hash: -> { sample_rate: Integer? }
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,38 @@
1
+ module Sentdm
2
+ module Models
3
+ class VoiceAgentLimits = Voice::VoiceAgentLimits
4
+
5
+ module Voice
6
+ type voice_agent_limits =
7
+ {
8
+ allowed_countries: ::Array[String]?,
9
+ max_call_seconds: Integer,
10
+ max_concurrent_calls: Integer
11
+ }
12
+
13
+ class VoiceAgentLimits < Sentdm::Internal::Type::BaseModel
14
+ attr_accessor allowed_countries: ::Array[String]?
15
+
16
+ attr_reader max_call_seconds: Integer?
17
+
18
+ def max_call_seconds=: (Integer) -> Integer
19
+
20
+ attr_reader max_concurrent_calls: Integer?
21
+
22
+ def max_concurrent_calls=: (Integer) -> Integer
23
+
24
+ def initialize: (
25
+ ?allowed_countries: ::Array[String]?,
26
+ ?max_call_seconds: Integer,
27
+ ?max_concurrent_calls: Integer
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ allowed_countries: ::Array[String]?,
32
+ max_call_seconds: Integer,
33
+ max_concurrent_calls: Integer
34
+ }
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,34 @@
1
+ module Sentdm
2
+ module Models
3
+ class VoiceAgentLimitsSpec = Voice::VoiceAgentLimitsSpec
4
+
5
+ module Voice
6
+ type voice_agent_limits_spec =
7
+ {
8
+ allowed_countries: ::Array[String]?,
9
+ max_call_seconds: Integer?,
10
+ max_concurrent_calls: Integer?
11
+ }
12
+
13
+ class VoiceAgentLimitsSpec < Sentdm::Internal::Type::BaseModel
14
+ attr_accessor allowed_countries: ::Array[String]?
15
+
16
+ attr_accessor max_call_seconds: Integer?
17
+
18
+ attr_accessor max_concurrent_calls: Integer?
19
+
20
+ def initialize: (
21
+ ?allowed_countries: ::Array[String]?,
22
+ ?max_call_seconds: Integer?,
23
+ ?max_concurrent_calls: Integer?
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ allowed_countries: ::Array[String]?,
28
+ max_call_seconds: Integer?,
29
+ max_concurrent_calls: Integer?
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end