voiceml 0.9.2 → 0.9.3

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -13
  3. data/lib/voiceml/client.rb +53 -13
  4. data/lib/voiceml/errors.rb +15 -2
  5. data/lib/voiceml/models/accounts.rb +47 -3
  6. data/lib/voiceml/models/applications.rb +6 -0
  7. data/lib/voiceml/models/assistants_v1.rb +40 -0
  8. data/lib/voiceml/models/calls.rb +4 -0
  9. data/lib/voiceml/models/common.rb +35 -4
  10. data/lib/voiceml/models/conferences.rb +8 -0
  11. data/lib/voiceml/models/conversations_v1.rb +131 -29
  12. data/lib/voiceml/models/diagnostics.rb +33 -12
  13. data/lib/voiceml/models/exports.rb +58 -0
  14. data/lib/voiceml/models/incoming_phone_numbers.rb +4 -0
  15. data/lib/voiceml/models/media.rb +4 -0
  16. data/lib/voiceml/models/messages.rb +29 -0
  17. data/lib/voiceml/models/messaging_v1.rb +35 -2
  18. data/lib/voiceml/models/monitor_v1.rb +54 -0
  19. data/lib/voiceml/models/notifications.rb +2 -0
  20. data/lib/voiceml/models/outgoing_caller_ids.rb +6 -0
  21. data/lib/voiceml/models/payments.rb +2 -0
  22. data/lib/voiceml/models/pricing.rb +38 -4
  23. data/lib/voiceml/models/queues.rb +8 -0
  24. data/lib/voiceml/models/recordings.rb +5 -1
  25. data/lib/voiceml/models/routes_v2.rb +6 -2
  26. data/lib/voiceml/models/sip.rb +34 -6
  27. data/lib/voiceml/models/sip_registrations.rb +49 -0
  28. data/lib/voiceml/models/siprec.rb +5 -17
  29. data/lib/voiceml/models/streams.rb +4 -16
  30. data/lib/voiceml/models/transcriptions.rb +35 -4
  31. data/lib/voiceml/models/usage_records.rb +48 -0
  32. data/lib/voiceml/models/user_defined_messages.rb +2 -0
  33. data/lib/voiceml/models/voice_v1.rb +29 -19
  34. data/lib/voiceml/request_validator.rb +125 -0
  35. data/lib/voiceml/resources/accounts.rb +75 -0
  36. data/lib/voiceml/resources/applications.rb +3 -1
  37. data/lib/voiceml/resources/assistants_v1.rb +53 -77
  38. data/lib/voiceml/resources/base.rb +138 -16
  39. data/lib/voiceml/resources/calls.rb +34 -49
  40. data/lib/voiceml/resources/conferences.rb +26 -5
  41. data/lib/voiceml/resources/conversations_v1.rb +147 -172
  42. data/lib/voiceml/resources/diagnostics.rb +20 -35
  43. data/lib/voiceml/resources/exports.rb +36 -0
  44. data/lib/voiceml/resources/incoming_phone_numbers.rb +53 -32
  45. data/lib/voiceml/resources/messages.rb +79 -15
  46. data/lib/voiceml/resources/messaging_v1.rb +47 -13
  47. data/lib/voiceml/resources/monitor_v1.rb +68 -0
  48. data/lib/voiceml/resources/notifications.rb +1 -1
  49. data/lib/voiceml/resources/outgoing_caller_ids.rb +77 -0
  50. data/lib/voiceml/resources/pricing.rb +13 -5
  51. data/lib/voiceml/resources/queues.rb +6 -5
  52. data/lib/voiceml/resources/recordings.rb +39 -5
  53. data/lib/voiceml/resources/routes_v2.rb +10 -4
  54. data/lib/voiceml/resources/sip.rb +30 -11
  55. data/lib/voiceml/resources/transcriptions.rb +40 -0
  56. data/lib/voiceml/resources/usage_records.rb +51 -0
  57. data/lib/voiceml/resources/voice_v1.rb +31 -38
  58. data/lib/voiceml/transport.rb +277 -230
  59. data/lib/voiceml/version.rb +1 -1
  60. data/lib/voiceml.rb +14 -15
  61. metadata +18 -6
data/lib/voiceml.rb CHANGED
@@ -2,19 +2,21 @@
2
2
 
3
3
  # Official Ruby SDK for the VoiceML REST API.
4
4
  #
5
- # VoiceML is VoiceTel's outbound voice + AMD service with a Twilio-compatible REST surface
6
- # (`https://voiceml.voicetel.com`). The wire shape, auth model, error codes, and pagination
7
- # envelope all match Twilio's documented behaviour — so existing Twilio client patterns
8
- # map across.
5
+ # VoiceML is VoiceTel's outbound voice + AMD service with a Twilio-compatible
6
+ # REST surface (`https://voiceml.voicetel.com`). The wire shape, auth model,
7
+ # error codes, and pagination envelope follow the same conventions Twilio's
8
+ # documented API uses, so existing Twilio client patterns map across — but
9
+ # VoiceML issues its own credentials (AccountSid + VoiceML API key); swap the
10
+ # key before migrating.
9
11
  #
10
12
  # @example
11
13
  # require 'voiceml'
12
14
  #
13
15
  # client = VoiceML::Client.new(account_sid: 'AC...', api_key: '...')
14
16
  # call = client.calls.create(
15
- # to: '+18005551234',
16
- # from: '+18005550000',
17
- # url: 'https://example.com/twiml',
17
+ # to: '+14155550100',
18
+ # from: '+14155550101',
19
+ # url: 'https://example.com/handler',
18
20
  # machine_detection: 'DetectMessageEnd'
19
21
  # )
20
22
  # puts call.sid, call.status
@@ -24,15 +26,12 @@ end
24
26
  require_relative 'voiceml/version'
25
27
  require_relative 'voiceml/errors'
26
28
  require_relative 'voiceml/transport'
29
+ require_relative 'voiceml/request_validator'
27
30
  require_relative 'voiceml/client'
28
31
 
29
- # Model-only resources — surfaces that voiceml runs as Twilio-compat stubs
30
- # (no first-class client.* getter yet) but still need decodable Ruby classes
31
- # for response-shape conformance and migration tooling. Resource files
32
- # require their own models; these are the standalone ones.
33
- require_relative 'voiceml/models/accounts'
34
- require_relative 'voiceml/models/outgoing_caller_ids'
35
- require_relative 'voiceml/models/media'
36
- require_relative 'voiceml/models/notifications'
32
+ # Standalone models for surfaces without a first-class client.* getter yet;
33
+ # they remain decodable Ruby classes for response-shape conformance and
34
+ # migration tooling. Resource files require their own models.
37
35
  require_relative 'voiceml/models/user_defined_messages'
36
+ require_relative 'voiceml/models/notifications'
38
37
  require_relative 'voiceml/models/assistants_v1'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: voiceml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - VoiceTel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-09 00:00:00.000000000 Z
11
+ date: 2026-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -73,10 +73,12 @@ files:
73
73
  - lib/voiceml/models/conferences.rb
74
74
  - lib/voiceml/models/conversations_v1.rb
75
75
  - lib/voiceml/models/diagnostics.rb
76
+ - lib/voiceml/models/exports.rb
76
77
  - lib/voiceml/models/incoming_phone_numbers.rb
77
78
  - lib/voiceml/models/media.rb
78
79
  - lib/voiceml/models/messages.rb
79
80
  - lib/voiceml/models/messaging_v1.rb
81
+ - lib/voiceml/models/monitor_v1.rb
80
82
  - lib/voiceml/models/notifications.rb
81
83
  - lib/voiceml/models/outgoing_caller_ids.rb
82
84
  - lib/voiceml/models/payments.rb
@@ -85,11 +87,15 @@ files:
85
87
  - lib/voiceml/models/recordings.rb
86
88
  - lib/voiceml/models/routes_v2.rb
87
89
  - lib/voiceml/models/sip.rb
90
+ - lib/voiceml/models/sip_registrations.rb
88
91
  - lib/voiceml/models/siprec.rb
89
92
  - lib/voiceml/models/streams.rb
90
93
  - lib/voiceml/models/transcriptions.rb
94
+ - lib/voiceml/models/usage_records.rb
91
95
  - lib/voiceml/models/user_defined_messages.rb
92
96
  - lib/voiceml/models/voice_v1.rb
97
+ - lib/voiceml/request_validator.rb
98
+ - lib/voiceml/resources/accounts.rb
93
99
  - lib/voiceml/resources/applications.rb
94
100
  - lib/voiceml/resources/assistants_v1.rb
95
101
  - lib/voiceml/resources/base.rb
@@ -97,24 +103,30 @@ files:
97
103
  - lib/voiceml/resources/conferences.rb
98
104
  - lib/voiceml/resources/conversations_v1.rb
99
105
  - lib/voiceml/resources/diagnostics.rb
106
+ - lib/voiceml/resources/exports.rb
100
107
  - lib/voiceml/resources/incoming_phone_numbers.rb
101
108
  - lib/voiceml/resources/messages.rb
102
109
  - lib/voiceml/resources/messaging_v1.rb
110
+ - lib/voiceml/resources/monitor_v1.rb
103
111
  - lib/voiceml/resources/notifications.rb
112
+ - lib/voiceml/resources/outgoing_caller_ids.rb
104
113
  - lib/voiceml/resources/pricing.rb
105
114
  - lib/voiceml/resources/queues.rb
106
115
  - lib/voiceml/resources/recordings.rb
107
116
  - lib/voiceml/resources/routes_v2.rb
108
117
  - lib/voiceml/resources/sip.rb
118
+ - lib/voiceml/resources/transcriptions.rb
119
+ - lib/voiceml/resources/usage_records.rb
109
120
  - lib/voiceml/resources/voice_v1.rb
110
121
  - lib/voiceml/transport.rb
111
122
  - lib/voiceml/version.rb
112
- homepage: https://voiceml.voicetel.com
123
+ homepage: https://github.com/voicetel/voiceml-ruby-sdk
113
124
  licenses:
114
125
  - MIT
115
126
  metadata:
116
- documentation_uri: https://voiceml.voicetel.com
117
- source_code_uri: https://voiceml.voicetel.com
127
+ documentation_uri: https://voicetel.com/docs/api/v0.9/voiceml/
128
+ source_code_uri: https://github.com/voicetel/voiceml-ruby-sdk
129
+ changelog_uri: https://github.com/voicetel/voiceml-ruby-sdk/releases
118
130
  rubygems_mfa_required: 'true'
119
131
  post_install_message:
120
132
  rdoc_options: []
@@ -124,7 +136,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
136
  requirements:
125
137
  - - ">="
126
138
  - !ruby/object:Gem::Version
127
- version: '3.0'
139
+ version: '3.1'
128
140
  required_rubygems_version: !ruby/object:Gem::Requirement
129
141
  requirements:
130
142
  - - ">="