revox 0.0.2 → 0.1.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +63 -22
  4. data/lib/revox/client.rb +4 -0
  5. data/lib/revox/internal/type/base_model.rb +3 -3
  6. data/lib/revox/internal/util.rb +31 -0
  7. data/lib/revox/models/assistant_create_params.rb +2 -2
  8. data/lib/revox/models/assistant_delete_params.rb +7 -1
  9. data/lib/revox/models/assistant_retrieve_params.rb +7 -1
  10. data/lib/revox/models/assistant_update_params.rb +10 -3
  11. data/lib/revox/models/call_create_params.rb +2 -2
  12. data/lib/revox/models/call_create_response.rb +720 -12
  13. data/lib/revox/models/call_list_params.rb +30 -7
  14. data/lib/revox/models/call_list_response.rb +63 -1
  15. data/lib/revox/models/call_retrieve_params.rb +7 -1
  16. data/lib/revox/models/call_retrieve_response.rb +723 -12
  17. data/lib/revox/models/campaign_cancel_params.rb +20 -0
  18. data/lib/revox/models/campaign_cancel_response.rb +16 -0
  19. data/lib/revox/models/campaign_create_params.rb +174 -0
  20. data/lib/revox/models/campaign_create_response.rb +775 -0
  21. data/lib/revox/models/campaign_delete_params.rb +20 -0
  22. data/lib/revox/models/campaign_delete_response.rb +16 -0
  23. data/lib/revox/models/campaign_export_rows_params.rb +20 -0
  24. data/lib/revox/models/campaign_export_rows_response.rb +22 -0
  25. data/lib/revox/models/campaign_get_rows_params.rb +65 -0
  26. data/lib/revox/models/campaign_get_rows_response.rb +1468 -0
  27. data/lib/revox/models/campaign_list_params.rb +14 -0
  28. data/lib/revox/models/campaign_list_response.rb +771 -0
  29. data/lib/revox/models/campaign_retrieve_params.rb +20 -0
  30. data/lib/revox/models/campaign_retrieve_response.rb +776 -0
  31. data/lib/revox/models/voice_preview_params.rb +1 -9
  32. data/lib/revox/models/voice_retrieve_params.rb +7 -1
  33. data/lib/revox/models.rb +14 -0
  34. data/lib/revox/resources/assistants.rb +26 -2
  35. data/lib/revox/resources/call.rb +20 -8
  36. data/lib/revox/resources/campaigns.rb +181 -0
  37. data/lib/revox/resources/voices.rb +12 -8
  38. data/lib/revox/version.rb +1 -1
  39. data/lib/revox.rb +15 -0
  40. data/rbi/revox/client.rbi +3 -0
  41. data/rbi/revox/internal/util.rbi +20 -0
  42. data/rbi/revox/models/assistant_create_params.rbi +3 -5
  43. data/rbi/revox/models/assistant_delete_params.rbi +11 -5
  44. data/rbi/revox/models/assistant_retrieve_params.rbi +11 -5
  45. data/rbi/revox/models/assistant_update_params.rbi +9 -5
  46. data/rbi/revox/models/call_create_params.rbi +3 -5
  47. data/rbi/revox/models/call_create_response.rbi +1537 -11
  48. data/rbi/revox/models/call_list_params.rbi +53 -6
  49. data/rbi/revox/models/call_list_response.rbi +162 -0
  50. data/rbi/revox/models/call_retrieve_params.rbi +11 -5
  51. data/rbi/revox/models/call_retrieve_response.rbi +1543 -11
  52. data/rbi/revox/models/campaign_cancel_params.rbi +33 -0
  53. data/rbi/revox/models/campaign_cancel_response.rbi +23 -0
  54. data/rbi/revox/models/campaign_create_params.rbi +297 -0
  55. data/rbi/revox/models/campaign_create_response.rbi +1490 -0
  56. data/rbi/revox/models/campaign_delete_params.rbi +33 -0
  57. data/rbi/revox/models/campaign_delete_response.rbi +23 -0
  58. data/rbi/revox/models/campaign_export_rows_params.rbi +33 -0
  59. data/rbi/revox/models/campaign_export_rows_response.rbi +29 -0
  60. data/rbi/revox/models/campaign_get_rows_params.rbi +113 -0
  61. data/rbi/revox/models/campaign_get_rows_response.rbi +2981 -0
  62. data/rbi/revox/models/campaign_list_params.rbi +27 -0
  63. data/rbi/revox/models/campaign_list_response.rbi +1482 -0
  64. data/rbi/revox/models/campaign_retrieve_params.rbi +33 -0
  65. data/rbi/revox/models/campaign_retrieve_response.rbi +1495 -0
  66. data/rbi/revox/models/voice_preview_params.rbi +0 -11
  67. data/rbi/revox/models/voice_retrieve_params.rbi +6 -1
  68. data/rbi/revox/models.rbi +14 -0
  69. data/rbi/revox/resources/assistants.rbi +21 -2
  70. data/rbi/revox/resources/call.rbi +18 -6
  71. data/rbi/revox/resources/campaigns.rbi +128 -0
  72. data/rbi/revox/resources/voices.rbi +9 -7
  73. data/sig/revox/client.rbs +2 -0
  74. data/sig/revox/internal/util.rbs +10 -0
  75. data/sig/revox/models/assistant_create_params.rbs +8 -4
  76. data/sig/revox/models/assistant_delete_params.rbs +8 -3
  77. data/sig/revox/models/assistant_retrieve_params.rbs +8 -3
  78. data/sig/revox/models/assistant_update_params.rbs +13 -4
  79. data/sig/revox/models/call_create_params.rbs +8 -4
  80. data/sig/revox/models/call_create_response.rbs +615 -8
  81. data/sig/revox/models/call_list_params.rbs +42 -7
  82. data/sig/revox/models/call_list_response.rbs +57 -2
  83. data/sig/revox/models/call_retrieve_params.rbs +9 -3
  84. data/sig/revox/models/call_retrieve_response.rbs +615 -8
  85. data/sig/revox/models/campaign_cancel_params.rbs +20 -0
  86. data/sig/revox/models/campaign_cancel_response.rbs +13 -0
  87. data/sig/revox/models/campaign_create_params.rbs +149 -0
  88. data/sig/revox/models/campaign_create_response.rbs +666 -0
  89. data/sig/revox/models/campaign_delete_params.rbs +20 -0
  90. data/sig/revox/models/campaign_delete_response.rbs +13 -0
  91. data/sig/revox/models/campaign_export_rows_params.rbs +20 -0
  92. data/sig/revox/models/campaign_export_rows_response.rbs +15 -0
  93. data/sig/revox/models/campaign_get_rows_params.rbs +82 -0
  94. data/sig/revox/models/campaign_get_rows_response.rbs +1220 -0
  95. data/sig/revox/models/campaign_list_params.rbs +14 -0
  96. data/sig/revox/models/campaign_list_response.rbs +666 -0
  97. data/sig/revox/models/campaign_retrieve_params.rbs +20 -0
  98. data/sig/revox/models/campaign_retrieve_response.rbs +666 -0
  99. data/sig/revox/models/voice_preview_params.rbs +1 -8
  100. data/sig/revox/models/voice_retrieve_params.rbs +5 -1
  101. data/sig/revox/models.rbs +14 -0
  102. data/sig/revox/resources/assistants.rbs +2 -2
  103. data/sig/revox/resources/call.rbs +3 -2
  104. data/sig/revox/resources/campaigns.rbs +52 -0
  105. data/sig/revox/resources/voices.rbs +0 -1
  106. metadata +47 -2
@@ -1,28 +1,63 @@
1
1
  module Revox
2
2
  module Models
3
3
  type call_list_params =
4
- { page: Float, page_size: Float }
4
+ {
5
+ page: Integer,
6
+ page_size: Integer,
7
+ statuses: ::Array[Revox::Models::CallListParams::status]
8
+ }
5
9
  & Revox::Internal::Type::request_parameters
6
10
 
7
11
  class CallListParams < Revox::Internal::Type::BaseModel
8
12
  extend Revox::Internal::Type::RequestParameters::Converter
9
13
  include Revox::Internal::Type::RequestParameters
10
14
 
11
- attr_accessor page: Float
15
+ attr_accessor page: Integer
16
+
17
+ attr_accessor page_size: Integer
12
18
 
13
- attr_accessor page_size: Float
19
+ attr_reader statuses: ::Array[Revox::Models::CallListParams::status]?
20
+
21
+ def statuses=: (
22
+ ::Array[Revox::Models::CallListParams::status]
23
+ ) -> ::Array[Revox::Models::CallListParams::status]
14
24
 
15
25
  def initialize: (
16
- page: Float,
17
- page_size: Float,
26
+ page: Integer,
27
+ page_size: Integer,
28
+ ?statuses: ::Array[Revox::Models::CallListParams::status],
18
29
  ?request_options: Revox::request_opts
19
30
  ) -> void
20
31
 
21
32
  def to_hash: -> {
22
- page: Float,
23
- page_size: Float,
33
+ page: Integer,
34
+ page_size: Integer,
35
+ statuses: ::Array[Revox::Models::CallListParams::status],
24
36
  request_options: Revox::RequestOptions
25
37
  }
38
+
39
+ type status =
40
+ :initializing
41
+ | :queued_for_calling
42
+ | :calling
43
+ | :scheduled
44
+ | :completed
45
+ | :cancelled
46
+ | :errored
47
+
48
+ module Status
49
+ extend Revox::Internal::Type::Enum
50
+
51
+ INITIALIZING: :initializing
52
+ QUEUED_FOR_CALLING: :queued_for_calling
53
+ CALLING: :calling
54
+ SCHEDULED: :scheduled
55
+ COMPLETED: :completed
56
+ CANCELLED: :cancelled
57
+ ERRORED: :errored
58
+
59
+ def self?.values: -> ::Array[Revox::Models::CallListParams::status]
60
+ end
26
61
  end
27
62
  end
28
63
  end
@@ -16,12 +16,15 @@ module Revox
16
16
  {
17
17
  id: String,
18
18
  answered_at: top,
19
+ dial_error: Revox::Models::CallListResponse::Call::dial_error?,
19
20
  ended_at: top,
20
21
  phone_number: String,
21
22
  recording_url: String?,
22
23
  result: Revox::Models::CallListResponse::Call::result?,
23
24
  started_at: top,
24
25
  status: Revox::Models::CallListResponse::Call::status,
26
+ end_reason: String?,
27
+ ended_by: Revox::Models::CallListResponse::Call::ended_by?,
25
28
  structured_output: ::Hash[Symbol, top]?,
26
29
  transcript: ::Array[Revox::Models::CallListResponse::Call::Transcript]?
27
30
  }
@@ -31,6 +34,8 @@ module Revox
31
34
 
32
35
  attr_accessor answered_at: top
33
36
 
37
+ attr_accessor dial_error: Revox::Models::CallListResponse::Call::dial_error?
38
+
34
39
  attr_accessor ended_at: top
35
40
 
36
41
  attr_accessor phone_number: String
@@ -43,6 +48,10 @@ module Revox
43
48
 
44
49
  attr_accessor status: Revox::Models::CallListResponse::Call::status
45
50
 
51
+ attr_accessor end_reason: String?
52
+
53
+ attr_accessor ended_by: Revox::Models::CallListResponse::Call::ended_by?
54
+
46
55
  attr_accessor structured_output: ::Hash[Symbol, top]?
47
56
 
48
57
  attr_accessor transcript: ::Array[Revox::Models::CallListResponse::Call::Transcript]?
@@ -50,12 +59,15 @@ module Revox
50
59
  def initialize: (
51
60
  id: String,
52
61
  answered_at: top,
62
+ dial_error: Revox::Models::CallListResponse::Call::dial_error?,
53
63
  ended_at: top,
54
64
  phone_number: String,
55
65
  recording_url: String?,
56
66
  result: Revox::Models::CallListResponse::Call::result?,
57
67
  started_at: top,
58
68
  status: Revox::Models::CallListResponse::Call::status,
69
+ ?end_reason: String?,
70
+ ?ended_by: Revox::Models::CallListResponse::Call::ended_by?,
59
71
  ?structured_output: ::Hash[Symbol, top]?,
60
72
  ?transcript: ::Array[Revox::Models::CallListResponse::Call::Transcript]?
61
73
  ) -> void
@@ -63,17 +75,46 @@ module Revox
63
75
  def to_hash: -> {
64
76
  id: String,
65
77
  answered_at: top,
78
+ dial_error: Revox::Models::CallListResponse::Call::dial_error?,
66
79
  ended_at: top,
67
80
  phone_number: String,
68
81
  recording_url: String?,
69
82
  result: Revox::Models::CallListResponse::Call::result?,
70
83
  started_at: top,
71
84
  status: Revox::Models::CallListResponse::Call::status,
85
+ end_reason: String?,
86
+ ended_by: Revox::Models::CallListResponse::Call::ended_by?,
72
87
  structured_output: ::Hash[Symbol, top]?,
73
88
  transcript: ::Array[Revox::Models::CallListResponse::Call::Transcript]?
74
89
  }
75
90
 
76
- type result = :IVR | :voicemail | :human | :unknown
91
+ type dial_error =
92
+ :number_non_attributed
93
+ | :too_many_calls
94
+ | :busy
95
+ | :temporarily_unavailable
96
+ | :no_answer
97
+ | :no_international_permission
98
+ | :precondition_failed
99
+ | :non_classified_error
100
+
101
+ module DialError
102
+ extend Revox::Internal::Type::Enum
103
+
104
+ NUMBER_NON_ATTRIBUTED: :number_non_attributed
105
+ TOO_MANY_CALLS: :too_many_calls
106
+ BUSY: :busy
107
+ TEMPORARILY_UNAVAILABLE: :temporarily_unavailable
108
+ NO_ANSWER: :no_answer
109
+ NO_INTERNATIONAL_PERMISSION: :no_international_permission
110
+ PRECONDITION_FAILED: :precondition_failed
111
+ NON_CLASSIFIED_ERROR: :non_classified_error
112
+
113
+ def self?.values: -> ::Array[Revox::Models::CallListResponse::Call::dial_error]
114
+ end
115
+
116
+ type result =
117
+ :IVR | :voicemail | :human | :unknown | :"ios-screening-filter"
77
118
 
78
119
  module Result
79
120
  extend Revox::Internal::Type::Enum
@@ -82,11 +123,12 @@ module Revox
82
123
  VOICEMAIL: :voicemail
83
124
  HUMAN: :human
84
125
  UNKNOWN: :unknown
126
+ IOS_SCREENING_FILTER: :"ios-screening-filter"
85
127
 
86
128
  def self?.values: -> ::Array[Revox::Models::CallListResponse::Call::result]
87
129
  end
88
130
 
89
- type status = :queued | :ringing | :ongoing | :completed
131
+ type status = :queued | :ringing | :ongoing | :completed | :error
90
132
 
91
133
  module Status
92
134
  extend Revox::Internal::Type::Enum
@@ -95,10 +137,23 @@ module Revox
95
137
  RINGING: :ringing
96
138
  ONGOING: :ongoing
97
139
  COMPLETED: :completed
140
+ ERROR: :error
98
141
 
99
142
  def self?.values: -> ::Array[Revox::Models::CallListResponse::Call::status]
100
143
  end
101
144
 
145
+ type ended_by = :agent | :user | :system
146
+
147
+ module EndedBy
148
+ extend Revox::Internal::Type::Enum
149
+
150
+ AGENT: :agent
151
+ USER: :user
152
+ SYSTEM: :system
153
+
154
+ def self?.values: -> ::Array[Revox::Models::CallListResponse::Call::ended_by]
155
+ end
156
+
102
157
  type transcript =
103
158
  {
104
159
  content: String,
@@ -1,14 +1,20 @@
1
1
  module Revox
2
2
  module Models
3
- type call_retrieve_params = { } & Revox::Internal::Type::request_parameters
3
+ type call_retrieve_params =
4
+ { id: String } & Revox::Internal::Type::request_parameters
4
5
 
5
6
  class CallRetrieveParams < Revox::Internal::Type::BaseModel
6
7
  extend Revox::Internal::Type::RequestParameters::Converter
7
8
  include Revox::Internal::Type::RequestParameters
8
9
 
9
- def initialize: (?request_options: Revox::request_opts) -> void
10
+ attr_accessor id: String
10
11
 
11
- def to_hash: -> { request_options: Revox::RequestOptions }
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: Revox::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> { id: String, request_options: Revox::RequestOptions }
12
18
  end
13
19
  end
14
20
  end