revox 0.0.2

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 (161) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +10 -0
  4. data/README.md +234 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/revox/client.rb +86 -0
  7. data/lib/revox/errors.rb +228 -0
  8. data/lib/revox/file_part.rb +58 -0
  9. data/lib/revox/internal/transport/base_client.rb +570 -0
  10. data/lib/revox/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/revox/internal/type/array_of.rb +168 -0
  12. data/lib/revox/internal/type/base_model.rb +529 -0
  13. data/lib/revox/internal/type/base_page.rb +55 -0
  14. data/lib/revox/internal/type/boolean.rb +77 -0
  15. data/lib/revox/internal/type/converter.rb +327 -0
  16. data/lib/revox/internal/type/enum.rb +131 -0
  17. data/lib/revox/internal/type/file_input.rb +110 -0
  18. data/lib/revox/internal/type/hash_of.rb +188 -0
  19. data/lib/revox/internal/type/request_parameters.rb +42 -0
  20. data/lib/revox/internal/type/union.rb +237 -0
  21. data/lib/revox/internal/type/unknown.rb +81 -0
  22. data/lib/revox/internal/util.rb +920 -0
  23. data/lib/revox/internal.rb +20 -0
  24. data/lib/revox/models/assistant_create_params.rb +467 -0
  25. data/lib/revox/models/assistant_create_response.rb +535 -0
  26. data/lib/revox/models/assistant_delete_params.rb +14 -0
  27. data/lib/revox/models/assistant_delete_response.rb +16 -0
  28. data/lib/revox/models/assistant_list_params.rb +14 -0
  29. data/lib/revox/models/assistant_list_response.rb +533 -0
  30. data/lib/revox/models/assistant_retrieve_params.rb +14 -0
  31. data/lib/revox/models/assistant_retrieve_response.rb +518 -0
  32. data/lib/revox/models/assistant_update_params.rb +467 -0
  33. data/lib/revox/models/assistant_update_response.rb +535 -0
  34. data/lib/revox/models/call_create_params.rb +592 -0
  35. data/lib/revox/models/call_create_response.rb +684 -0
  36. data/lib/revox/models/call_list_params.rb +29 -0
  37. data/lib/revox/models/call_list_response.rb +197 -0
  38. data/lib/revox/models/call_retrieve_params.rb +14 -0
  39. data/lib/revox/models/call_retrieve_response.rb +684 -0
  40. data/lib/revox/models/users/me_retrieve_params.rb +16 -0
  41. data/lib/revox/models/users/me_retrieve_response.rb +89 -0
  42. data/lib/revox/models/users/me_update_params.rb +22 -0
  43. data/lib/revox/models/users/me_update_response.rb +89 -0
  44. data/lib/revox/models/voice_list_params.rb +14 -0
  45. data/lib/revox/models/voice_list_response.rb +91 -0
  46. data/lib/revox/models/voice_preview_params.rb +49 -0
  47. data/lib/revox/models/voice_retrieve_params.rb +30 -0
  48. data/lib/revox/models/voice_retrieve_response.rb +39 -0
  49. data/lib/revox/models.rb +65 -0
  50. data/lib/revox/request_options.rb +77 -0
  51. data/lib/revox/resources/assistants.rb +180 -0
  52. data/lib/revox/resources/call.rb +100 -0
  53. data/lib/revox/resources/users/me.rb +55 -0
  54. data/lib/revox/resources/users.rb +18 -0
  55. data/lib/revox/resources/voices.rb +83 -0
  56. data/lib/revox/version.rb +5 -0
  57. data/lib/revox.rb +85 -0
  58. data/manifest.yaml +17 -0
  59. data/rbi/revox/client.rbi +58 -0
  60. data/rbi/revox/errors.rbi +205 -0
  61. data/rbi/revox/file_part.rbi +37 -0
  62. data/rbi/revox/internal/transport/base_client.rbi +297 -0
  63. data/rbi/revox/internal/transport/pooled_net_requester.rbi +82 -0
  64. data/rbi/revox/internal/type/array_of.rbi +104 -0
  65. data/rbi/revox/internal/type/base_model.rbi +299 -0
  66. data/rbi/revox/internal/type/base_page.rbi +42 -0
  67. data/rbi/revox/internal/type/boolean.rbi +58 -0
  68. data/rbi/revox/internal/type/converter.rbi +204 -0
  69. data/rbi/revox/internal/type/enum.rbi +82 -0
  70. data/rbi/revox/internal/type/file_input.rbi +58 -0
  71. data/rbi/revox/internal/type/hash_of.rbi +104 -0
  72. data/rbi/revox/internal/type/request_parameters.rbi +29 -0
  73. data/rbi/revox/internal/type/union.rbi +126 -0
  74. data/rbi/revox/internal/type/unknown.rbi +58 -0
  75. data/rbi/revox/internal/util.rbi +478 -0
  76. data/rbi/revox/internal.rbi +16 -0
  77. data/rbi/revox/models/assistant_create_params.rbi +929 -0
  78. data/rbi/revox/models/assistant_create_response.rbi +1089 -0
  79. data/rbi/revox/models/assistant_delete_params.rbi +27 -0
  80. data/rbi/revox/models/assistant_delete_response.rbi +26 -0
  81. data/rbi/revox/models/assistant_list_params.rbi +27 -0
  82. data/rbi/revox/models/assistant_list_response.rbi +1079 -0
  83. data/rbi/revox/models/assistant_retrieve_params.rbi +27 -0
  84. data/rbi/revox/models/assistant_retrieve_response.rbi +1024 -0
  85. data/rbi/revox/models/assistant_update_params.rbi +935 -0
  86. data/rbi/revox/models/assistant_update_response.rbi +1089 -0
  87. data/rbi/revox/models/call_create_params.rbi +1147 -0
  88. data/rbi/revox/models/call_create_response.rbi +1335 -0
  89. data/rbi/revox/models/call_list_params.rbi +47 -0
  90. data/rbi/revox/models/call_list_response.rbi +401 -0
  91. data/rbi/revox/models/call_retrieve_params.rbi +27 -0
  92. data/rbi/revox/models/call_retrieve_response.rbi +1346 -0
  93. data/rbi/revox/models/users/me_retrieve_params.rbi +29 -0
  94. data/rbi/revox/models/users/me_retrieve_response.rbi +139 -0
  95. data/rbi/revox/models/users/me_update_params.rbi +43 -0
  96. data/rbi/revox/models/users/me_update_response.rbi +139 -0
  97. data/rbi/revox/models/voice_list_params.rbi +25 -0
  98. data/rbi/revox/models/voice_list_response.rbi +204 -0
  99. data/rbi/revox/models/voice_preview_params.rbi +84 -0
  100. data/rbi/revox/models/voice_retrieve_params.rbi +59 -0
  101. data/rbi/revox/models/voice_retrieve_response.rbi +70 -0
  102. data/rbi/revox/models.rbi +27 -0
  103. data/rbi/revox/request_options.rbi +55 -0
  104. data/rbi/revox/resources/assistants.rbi +206 -0
  105. data/rbi/revox/resources/call.rbi +86 -0
  106. data/rbi/revox/resources/users/me.rbi +33 -0
  107. data/rbi/revox/resources/users.rbi +15 -0
  108. data/rbi/revox/resources/voices.rbi +58 -0
  109. data/rbi/revox/version.rbi +5 -0
  110. data/sig/revox/client.rbs +32 -0
  111. data/sig/revox/errors.rbs +117 -0
  112. data/sig/revox/file_part.rbs +21 -0
  113. data/sig/revox/internal/transport/base_client.rbs +133 -0
  114. data/sig/revox/internal/transport/pooled_net_requester.rbs +48 -0
  115. data/sig/revox/internal/type/array_of.rbs +48 -0
  116. data/sig/revox/internal/type/base_model.rbs +102 -0
  117. data/sig/revox/internal/type/base_page.rbs +24 -0
  118. data/sig/revox/internal/type/boolean.rbs +26 -0
  119. data/sig/revox/internal/type/converter.rbs +79 -0
  120. data/sig/revox/internal/type/enum.rbs +32 -0
  121. data/sig/revox/internal/type/file_input.rbs +25 -0
  122. data/sig/revox/internal/type/hash_of.rbs +48 -0
  123. data/sig/revox/internal/type/request_parameters.rbs +17 -0
  124. data/sig/revox/internal/type/union.rbs +52 -0
  125. data/sig/revox/internal/type/unknown.rbs +26 -0
  126. data/sig/revox/internal/util.rbs +185 -0
  127. data/sig/revox/internal.rbs +9 -0
  128. data/sig/revox/models/assistant_create_params.rbs +413 -0
  129. data/sig/revox/models/assistant_create_response.rbs +461 -0
  130. data/sig/revox/models/assistant_delete_params.rbs +15 -0
  131. data/sig/revox/models/assistant_delete_response.rbs +13 -0
  132. data/sig/revox/models/assistant_list_params.rbs +15 -0
  133. data/sig/revox/models/assistant_list_response.rbs +461 -0
  134. data/sig/revox/models/assistant_retrieve_params.rbs +15 -0
  135. data/sig/revox/models/assistant_retrieve_response.rbs +446 -0
  136. data/sig/revox/models/assistant_update_params.rbs +417 -0
  137. data/sig/revox/models/assistant_update_response.rbs +461 -0
  138. data/sig/revox/models/call_create_params.rbs +507 -0
  139. data/sig/revox/models/call_create_response.rbs +551 -0
  140. data/sig/revox/models/call_list_params.rbs +28 -0
  141. data/sig/revox/models/call_list_response.rbs +171 -0
  142. data/sig/revox/models/call_retrieve_params.rbs +14 -0
  143. data/sig/revox/models/call_retrieve_response.rbs +551 -0
  144. data/sig/revox/models/users/me_retrieve_params.rbs +16 -0
  145. data/sig/revox/models/users/me_retrieve_response.rbs +70 -0
  146. data/sig/revox/models/users/me_update_params.rbs +28 -0
  147. data/sig/revox/models/users/me_update_response.rbs +70 -0
  148. data/sig/revox/models/voice_list_params.rbs +14 -0
  149. data/sig/revox/models/voice_list_response.rbs +83 -0
  150. data/sig/revox/models/voice_preview_params.rbs +49 -0
  151. data/sig/revox/models/voice_retrieve_params.rbs +35 -0
  152. data/sig/revox/models/voice_retrieve_response.rbs +32 -0
  153. data/sig/revox/models.rbs +25 -0
  154. data/sig/revox/request_options.rbs +34 -0
  155. data/sig/revox/resources/assistants.rbs +66 -0
  156. data/sig/revox/resources/call.rbs +31 -0
  157. data/sig/revox/resources/users/me.rbs +18 -0
  158. data/sig/revox/resources/users.rbs +9 -0
  159. data/sig/revox/resources/voices.rbs +24 -0
  160. data/sig/revox/version.rbs +3 -0
  161. metadata +232 -0
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ module Users
6
+ # @see Revox::Resources::Users::Me#retrieve
7
+ class MeRetrieveResponse < Revox::Internal::Type::BaseModel
8
+ # @!attribute user
9
+ # The current authenticated user.
10
+ #
11
+ # @return [Revox::Models::Users::MeRetrieveResponse::User]
12
+ required :user, -> { Revox::Models::Users::MeRetrieveResponse::User }
13
+
14
+ # @!method initialize(user:)
15
+ # @param user [Revox::Models::Users::MeRetrieveResponse::User] The current authenticated user.
16
+
17
+ # @see Revox::Models::Users::MeRetrieveResponse#user
18
+ class User < Revox::Internal::Type::BaseModel
19
+ # @!attribute id
20
+ # The unique identifier of the user.
21
+ #
22
+ # @return [String]
23
+ required :id, String
24
+
25
+ # @!attribute created_at
26
+ # The time the user was created.
27
+ #
28
+ # @return [Object]
29
+ required :created_at, Revox::Internal::Type::Unknown
30
+
31
+ # @!attribute email
32
+ # The email address of the user.
33
+ #
34
+ # @return [String]
35
+ required :email, String
36
+
37
+ # @!attribute first_name
38
+ # The first name of the user.
39
+ #
40
+ # @return [String, nil]
41
+ required :first_name, String, nil?: true
42
+
43
+ # @!attribute has_completed_onboarding
44
+ # Whether the user has completed the onboarding tutorial.
45
+ #
46
+ # @return [Boolean]
47
+ required :has_completed_onboarding, Revox::Internal::Type::Boolean
48
+
49
+ # @!attribute last_name
50
+ # The last name of the user.
51
+ #
52
+ # @return [String, nil]
53
+ required :last_name, String, nil?: true
54
+
55
+ # @!attribute organization_id
56
+ # The ID of the organization the user belongs to.
57
+ #
58
+ # @return [String]
59
+ required :organization_id, String
60
+
61
+ # @!attribute updated_at
62
+ # The time the user was last updated.
63
+ #
64
+ # @return [Object]
65
+ required :updated_at, Revox::Internal::Type::Unknown
66
+
67
+ # @!method initialize(id:, created_at:, email:, first_name:, has_completed_onboarding:, last_name:, organization_id:, updated_at:)
68
+ # The current authenticated user.
69
+ #
70
+ # @param id [String] The unique identifier of the user.
71
+ #
72
+ # @param created_at [Object] The time the user was created.
73
+ #
74
+ # @param email [String] The email address of the user.
75
+ #
76
+ # @param first_name [String, nil] The first name of the user.
77
+ #
78
+ # @param has_completed_onboarding [Boolean] Whether the user has completed the onboarding tutorial.
79
+ #
80
+ # @param last_name [String, nil] The last name of the user.
81
+ #
82
+ # @param organization_id [String] The ID of the organization the user belongs to.
83
+ #
84
+ # @param updated_at [Object] The time the user was last updated.
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ module Users
6
+ # @see Revox::Resources::Users::Me#update
7
+ class MeUpdateParams < Revox::Internal::Type::BaseModel
8
+ extend Revox::Internal::Type::RequestParameters::Converter
9
+ include Revox::Internal::Type::RequestParameters
10
+
11
+ # @!attribute has_completed_onboarding
12
+ #
13
+ # @return [Boolean, nil]
14
+ optional :has_completed_onboarding, Revox::Internal::Type::Boolean
15
+
16
+ # @!method initialize(has_completed_onboarding: nil, request_options: {})
17
+ # @param has_completed_onboarding [Boolean]
18
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ module Users
6
+ # @see Revox::Resources::Users::Me#update
7
+ class MeUpdateResponse < Revox::Internal::Type::BaseModel
8
+ # @!attribute user
9
+ # The current authenticated user.
10
+ #
11
+ # @return [Revox::Models::Users::MeUpdateResponse::User]
12
+ required :user, -> { Revox::Models::Users::MeUpdateResponse::User }
13
+
14
+ # @!method initialize(user:)
15
+ # @param user [Revox::Models::Users::MeUpdateResponse::User] The current authenticated user.
16
+
17
+ # @see Revox::Models::Users::MeUpdateResponse#user
18
+ class User < Revox::Internal::Type::BaseModel
19
+ # @!attribute id
20
+ # The unique identifier of the user.
21
+ #
22
+ # @return [String]
23
+ required :id, String
24
+
25
+ # @!attribute created_at
26
+ # The time the user was created.
27
+ #
28
+ # @return [Object]
29
+ required :created_at, Revox::Internal::Type::Unknown
30
+
31
+ # @!attribute email
32
+ # The email address of the user.
33
+ #
34
+ # @return [String]
35
+ required :email, String
36
+
37
+ # @!attribute first_name
38
+ # The first name of the user.
39
+ #
40
+ # @return [String, nil]
41
+ required :first_name, String, nil?: true
42
+
43
+ # @!attribute has_completed_onboarding
44
+ # Whether the user has completed the onboarding tutorial.
45
+ #
46
+ # @return [Boolean]
47
+ required :has_completed_onboarding, Revox::Internal::Type::Boolean
48
+
49
+ # @!attribute last_name
50
+ # The last name of the user.
51
+ #
52
+ # @return [String, nil]
53
+ required :last_name, String, nil?: true
54
+
55
+ # @!attribute organization_id
56
+ # The ID of the organization the user belongs to.
57
+ #
58
+ # @return [String]
59
+ required :organization_id, String
60
+
61
+ # @!attribute updated_at
62
+ # The time the user was last updated.
63
+ #
64
+ # @return [Object]
65
+ required :updated_at, Revox::Internal::Type::Unknown
66
+
67
+ # @!method initialize(id:, created_at:, email:, first_name:, has_completed_onboarding:, last_name:, organization_id:, updated_at:)
68
+ # The current authenticated user.
69
+ #
70
+ # @param id [String] The unique identifier of the user.
71
+ #
72
+ # @param created_at [Object] The time the user was created.
73
+ #
74
+ # @param email [String] The email address of the user.
75
+ #
76
+ # @param first_name [String, nil] The first name of the user.
77
+ #
78
+ # @param has_completed_onboarding [Boolean] Whether the user has completed the onboarding tutorial.
79
+ #
80
+ # @param last_name [String, nil] The last name of the user.
81
+ #
82
+ # @param organization_id [String] The ID of the organization the user belongs to.
83
+ #
84
+ # @param updated_at [Object] The time the user was last updated.
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Voices#list
6
+ class VoiceListParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Voices#list
6
+ class VoiceListResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute voices
8
+ #
9
+ # @return [Array<Revox::Models::VoiceListResponse::Voice>]
10
+ required :voices, -> { Revox::Internal::Type::ArrayOf[Revox::Models::VoiceListResponse::Voice] }
11
+
12
+ # @!method initialize(voices:)
13
+ # @param voices [Array<Revox::Models::VoiceListResponse::Voice>]
14
+
15
+ class Voice < Revox::Internal::Type::BaseModel
16
+ # @!attribute id
17
+ # The ID of the voice.
18
+ #
19
+ # @return [String]
20
+ required :id, String
21
+
22
+ # @!attribute description
23
+ # The description of the voice.
24
+ #
25
+ # @return [String]
26
+ required :description, String
27
+
28
+ # @!attribute language
29
+ # The language of the voice.
30
+ #
31
+ # @return [Symbol, Revox::Models::VoiceListResponse::Voice::Language]
32
+ required :language, enum: -> { Revox::Models::VoiceListResponse::Voice::Language }
33
+
34
+ # @!attribute name
35
+ # The name of the voice.
36
+ #
37
+ # @return [String]
38
+ required :name, String
39
+
40
+ # @!attribute provider
41
+ # The provider of the voice.
42
+ #
43
+ # @return [Symbol, Revox::Models::VoiceListResponse::Voice::Provider]
44
+ required :provider, enum: -> { Revox::Models::VoiceListResponse::Voice::Provider }
45
+
46
+ # @!method initialize(id:, description:, language:, name:, provider:)
47
+ # @param id [String] The ID of the voice.
48
+ #
49
+ # @param description [String] The description of the voice.
50
+ #
51
+ # @param language [Symbol, Revox::Models::VoiceListResponse::Voice::Language] The language of the voice.
52
+ #
53
+ # @param name [String] The name of the voice.
54
+ #
55
+ # @param provider [Symbol, Revox::Models::VoiceListResponse::Voice::Provider] The provider of the voice.
56
+
57
+ # The language of the voice.
58
+ #
59
+ # @see Revox::Models::VoiceListResponse::Voice#language
60
+ module Language
61
+ extend Revox::Internal::Type::Enum
62
+
63
+ EN = :en
64
+ FR = :fr
65
+ ES = :es
66
+ DE = :de
67
+ IT = :it
68
+ PT = :pt
69
+ RU = :ru
70
+ ZH = :zh
71
+
72
+ # @!method self.values
73
+ # @return [Array<Symbol>]
74
+ end
75
+
76
+ # The provider of the voice.
77
+ #
78
+ # @see Revox::Models::VoiceListResponse::Voice#provider
79
+ module Provider
80
+ extend Revox::Internal::Type::Enum
81
+
82
+ CARTESIA = :cartesia
83
+ ELEVENLABS = :elevenlabs
84
+
85
+ # @!method self.values
86
+ # @return [Array<Symbol>]
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Voices#preview
6
+ class VoicePreviewParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute provider
11
+ # The provider to use for the preview.
12
+ #
13
+ # @return [Symbol, Revox::Models::VoicePreviewParams::Provider]
14
+ required :provider, enum: -> { Revox::VoicePreviewParams::Provider }
15
+
16
+ # @!attribute voice_id
17
+ # The voice ID to generate a preview for.
18
+ #
19
+ # @return [String]
20
+ required :voice_id, String, api_name: :voiceId
21
+
22
+ # @!attribute text
23
+ # The text to generate a preview for.
24
+ #
25
+ # @return [String, nil]
26
+ optional :text, String
27
+
28
+ # @!method initialize(provider:, voice_id:, text: nil, request_options: {})
29
+ # @param provider [Symbol, Revox::Models::VoicePreviewParams::Provider] The provider to use for the preview.
30
+ #
31
+ # @param voice_id [String] The voice ID to generate a preview for.
32
+ #
33
+ # @param text [String] The text to generate a preview for.
34
+ #
35
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
36
+
37
+ # The provider to use for the preview.
38
+ module Provider
39
+ extend Revox::Internal::Type::Enum
40
+
41
+ CARTESIA = :cartesia
42
+ ELEVENLABS = :elevenlabs
43
+
44
+ # @!method self.values
45
+ # @return [Array<Symbol>]
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Voices#retrieve
6
+ class VoiceRetrieveParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute provider
11
+ #
12
+ # @return [Symbol, Revox::Models::VoiceRetrieveParams::Provider]
13
+ required :provider, enum: -> { Revox::VoiceRetrieveParams::Provider }
14
+
15
+ # @!method initialize(provider:, request_options: {})
16
+ # @param provider [Symbol, Revox::Models::VoiceRetrieveParams::Provider]
17
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
18
+
19
+ module Provider
20
+ extend Revox::Internal::Type::Enum
21
+
22
+ CARTESIA = :cartesia
23
+ ELEVENLABS = :elevenlabs
24
+
25
+ # @!method self.values
26
+ # @return [Array<Symbol>]
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Voices#retrieve
6
+ class VoiceRetrieveResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute voice
8
+ #
9
+ # @return [Revox::Models::VoiceRetrieveResponse::Voice]
10
+ required :voice, -> { Revox::Models::VoiceRetrieveResponse::Voice }
11
+
12
+ # @!method initialize(voice:)
13
+ # @param voice [Revox::Models::VoiceRetrieveResponse::Voice]
14
+
15
+ # @see Revox::Models::VoiceRetrieveResponse#voice
16
+ class Voice < Revox::Internal::Type::BaseModel
17
+ # @!attribute id
18
+ #
19
+ # @return [String]
20
+ required :id, String
21
+
22
+ # @!attribute name
23
+ #
24
+ # @return [String]
25
+ required :name, String
26
+
27
+ # @!attribute description
28
+ #
29
+ # @return [String, nil]
30
+ optional :description, String
31
+
32
+ # @!method initialize(id:, name:, description: nil)
33
+ # @param id [String]
34
+ # @param name [String]
35
+ # @param description [String]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ [Revox::Internal::Type::BaseModel, *Revox::Internal::Type::BaseModel.subclasses].each do |cls|
5
+ cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, Revox::Internal::AnyHash) } }
6
+ end
7
+
8
+ Revox::Internal::Util.walk_namespaces(Revox::Models).each do |mod|
9
+ case mod
10
+ in Revox::Internal::Type::Enum | Revox::Internal::Type::Union
11
+ mod.constants.each do |name|
12
+ case mod.const_get(name)
13
+ in true | false
14
+ mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
15
+ mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
16
+ in Integer
17
+ mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
18
+ mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
19
+ in Float
20
+ mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
21
+ mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
22
+ in Symbol
23
+ mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
24
+ mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
25
+ else
26
+ end
27
+ end
28
+ else
29
+ end
30
+ end
31
+
32
+ Revox::Internal::Util.walk_namespaces(Revox::Models)
33
+ .lazy
34
+ .grep(Revox::Internal::Type::Union)
35
+ .each do |mod|
36
+ const = :Variants
37
+ next if mod.sorbet_constant_defined?(const)
38
+
39
+ mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
+ end
41
+
42
+ AssistantCreateParams = Revox::Models::AssistantCreateParams
43
+
44
+ AssistantDeleteParams = Revox::Models::AssistantDeleteParams
45
+
46
+ AssistantListParams = Revox::Models::AssistantListParams
47
+
48
+ AssistantRetrieveParams = Revox::Models::AssistantRetrieveParams
49
+
50
+ AssistantUpdateParams = Revox::Models::AssistantUpdateParams
51
+
52
+ CallCreateParams = Revox::Models::CallCreateParams
53
+
54
+ CallListParams = Revox::Models::CallListParams
55
+
56
+ CallRetrieveParams = Revox::Models::CallRetrieveParams
57
+
58
+ Users = Revox::Models::Users
59
+
60
+ VoiceListParams = Revox::Models::VoiceListParams
61
+
62
+ VoicePreviewParams = Revox::Models::VoicePreviewParams
63
+
64
+ VoiceRetrieveParams = Revox::Models::VoiceRetrieveParams
65
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < Revox::Internal::Type::BaseModel
10
+ # @api private
11
+ #
12
+ # @param opts [Revox::RequestOptions, Hash{Symbol=>Object}]
13
+ #
14
+ # @raise [ArgumentError]
15
+ def self.validate!(opts)
16
+ case opts
17
+ in Revox::RequestOptions | Hash
18
+ opts.to_h.each_key do |k|
19
+ unless fields.include?(k)
20
+ raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
21
+ end
22
+ end
23
+ else
24
+ raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
25
+ end
26
+ end
27
+
28
+ # @!attribute idempotency_key
29
+ # Idempotency key to send with request and all associated retries. Will only be
30
+ # sent for write requests.
31
+ #
32
+ # @return [String, nil]
33
+ optional :idempotency_key, String
34
+
35
+ # @!attribute extra_query
36
+ # Extra query params to send with the request. These are `.merge`’d into any
37
+ # `query` given at the client level.
38
+ #
39
+ # @return [Hash{String=>Array<String>, String, nil}, nil]
40
+ optional :extra_query, Revox::Internal::Type::HashOf[Revox::Internal::Type::ArrayOf[String]]
41
+
42
+ # @!attribute extra_headers
43
+ # Extra headers to send with the request. These are `.merged`’d into any
44
+ # `extra_headers` given at the client level.
45
+ #
46
+ # @return [Hash{String=>String, nil}, nil]
47
+ optional :extra_headers, Revox::Internal::Type::HashOf[String, nil?: true]
48
+
49
+ # @!attribute extra_body
50
+ # Extra data to send with the request. These are deep merged into any data
51
+ # generated as part of the normal request.
52
+ #
53
+ # @return [Object, nil]
54
+ optional :extra_body, Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown]
55
+
56
+ # @!attribute max_retries
57
+ # Maximum number of retries to attempt after a failed initial request.
58
+ #
59
+ # @return [Integer, nil]
60
+ optional :max_retries, Integer
61
+
62
+ # @!attribute timeout
63
+ # Request timeout in seconds.
64
+ #
65
+ # @return [Float, nil]
66
+ optional :timeout, Float
67
+
68
+ # @!method initialize(values = {})
69
+ # Returns a new instance of RequestOptions.
70
+ #
71
+ # @param values [Hash{Symbol=>Object}]
72
+
73
+ define_sorbet_constant!(:OrHash) do
74
+ T.type_alias { T.any(Revox::RequestOptions, Revox::Internal::AnyHash) }
75
+ end
76
+ end
77
+ end