pingram 1.0.14 → 1.0.17

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 (182) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/pingram/api/addresses_api.rb +67 -6
  4. data/lib/pingram/api/default_api.rb +2 -2
  5. data/lib/pingram/api/domains_api.rb +69 -8
  6. data/lib/pingram/api/email_api.rb +2 -2
  7. data/lib/pingram/api/logs_api.rb +10 -10
  8. data/lib/pingram/api/numbers_api.rb +6 -6
  9. data/lib/pingram/api/organization_api.rb +15 -4
  10. data/lib/pingram/api/profile_api.rb +314 -0
  11. data/lib/pingram/api/sms_api.rb +2 -2
  12. data/lib/pingram/api/voice_api.rb +733 -0
  13. data/lib/pingram/api_client.rb +1 -1
  14. data/lib/pingram/client_wrapper.rb +10 -0
  15. data/lib/pingram/models/api_error_body.rb +4 -24
  16. data/lib/pingram/models/billing_post_request_body.rb +2 -12
  17. data/lib/pingram/models/billing_post_response_body.rb +92 -200
  18. data/lib/pingram/models/bind_number_request.rb +164 -0
  19. data/lib/pingram/models/bind_number_response.rb +164 -0
  20. data/lib/pingram/models/bind_number_response_agent.rb +342 -0
  21. data/lib/pingram/models/bind_number_response_agent_spec.rb +376 -0
  22. data/lib/pingram/models/bind_number_response_agent_spec_compliance.rb +164 -0
  23. data/lib/pingram/models/bind_number_response_agent_spec_conversation.rb +328 -0
  24. data/lib/pingram/models/bind_number_response_agent_spec_inbound.rb +214 -0
  25. data/lib/pingram/models/bind_number_response_agent_spec_model.rb +105 -0
  26. data/lib/pingram/models/bind_number_response_agent_spec_outbound.rb +251 -0
  27. data/lib/pingram/models/bind_number_response_agent_spec_tools_inner.rb +107 -0
  28. data/lib/pingram/models/bind_number_response_agent_spec_variables_inner.rb +182 -0
  29. data/lib/pingram/models/chained.rb +401 -0
  30. data/lib/pingram/models/channels_enum.rb +2 -1
  31. data/lib/pingram/models/create_organization_request.rb +150 -0
  32. data/lib/pingram/models/create_voice_agent_request.rb +164 -0
  33. data/lib/pingram/models/create_voice_agent_response.rb +164 -0
  34. data/lib/pingram/models/custom.rb +278 -0
  35. data/lib/pingram/models/delete_account_request.rb +147 -0
  36. data/lib/pingram/models/delete_voice_agent_response.rb +164 -0
  37. data/lib/pingram/models/domain_dns_check.rb +244 -0
  38. data/lib/pingram/models/domain_dns_check_records_inner.rb +357 -0
  39. data/lib/pingram/models/dtmf.rb +188 -0
  40. data/lib/pingram/models/get_members_response_inner.rb +37 -4
  41. data/lib/pingram/models/get_notifications_response_inner_options.rb +10 -1
  42. data/lib/pingram/models/get_senders_response_inner.rb +13 -4
  43. data/lib/pingram/models/get_senders_response_inner_verification_records.rb +184 -0
  44. data/lib/pingram/models/get_senders_response_inner_verification_records_dkim.rb +287 -0
  45. data/lib/pingram/models/get_voice_agent_response.rb +164 -0
  46. data/lib/pingram/models/get_voice_call_response.rb +164 -0
  47. data/lib/pingram/models/get_voice_call_response_call.rb +521 -0
  48. data/lib/pingram/models/get_voice_call_response_call_cost.rb +193 -0
  49. data/lib/pingram/models/get_voice_call_response_call_cost_lines_inner.rb +245 -0
  50. data/lib/pingram/models/get_voice_call_response_call_timeline_inner.rb +247 -0
  51. data/lib/pingram/models/get_voice_call_response_call_timeline_inner_latency.rb +191 -0
  52. data/lib/pingram/models/inbound_response_body_results_inner.rb +4 -4
  53. data/lib/pingram/models/knowledge.rb +216 -0
  54. data/lib/pingram/models/knowledge_documents_inner.rb +217 -0
  55. data/lib/pingram/models/list_phone_numbers_response_numbers_inner.rb +14 -4
  56. data/lib/pingram/models/list_voice_agents_response.rb +166 -0
  57. data/lib/pingram/models/list_voice_calls_response.rb +176 -0
  58. data/lib/pingram/models/list_voice_calls_response_calls_inner.rb +463 -0
  59. data/lib/pingram/models/logs_get_response_logs_inner.rb +4 -4
  60. data/lib/pingram/models/mcp.rb +223 -0
  61. data/lib/pingram/models/mfa_setup_request.rb +189 -0
  62. data/lib/pingram/models/mfa_setup_response.rb +216 -0
  63. data/lib/pingram/models/mfa_status_response.rb +235 -0
  64. data/lib/pingram/models/mfa_verify_request.rb +241 -0
  65. data/lib/pingram/models/organization.rb +22 -1
  66. data/lib/pingram/models/organization_usage.rb +13 -159
  67. data/lib/pingram/models/organization_usage_costs.rb +148 -0
  68. data/lib/pingram/models/organization_usage_counts.rb +347 -0
  69. data/lib/pingram/models/organization_usage_history_items_inner.rb +16 -154
  70. data/lib/pingram/models/organization_usage_history_items_inner_counts.rb +346 -0
  71. data/lib/pingram/models/phone_verify_confirm_request.rb +16 -4
  72. data/lib/pingram/models/s2s.rb +295 -0
  73. data/lib/pingram/models/send_email_api_response_any_of1_error.rb +4 -24
  74. data/lib/pingram/models/send_email_request.rb +1 -1
  75. data/lib/pingram/models/send_sms_response_any_of1_error.rb +4 -24
  76. data/lib/pingram/models/sender_post_body_options_email.rb +1 -1
  77. data/lib/pingram/models/{a2p_registration_create_request.rb → ten_dlc_brand_create_request.rb} +38 -28
  78. data/lib/pingram/models/{a2p_registration.rb → ten_dlc_brand_registration.rb} +54 -22
  79. data/lib/pingram/models/{a2p_registration_update_request.rb → ten_dlc_brand_update_request.rb} +38 -11
  80. data/lib/pingram/models/transfer.rb +251 -0
  81. data/lib/pingram/models/unbind_number_response.rb +164 -0
  82. data/lib/pingram/models/update_voice_agent_request.rb +164 -0
  83. data/lib/pingram/models/update_voice_agent_response.rb +164 -0
  84. data/lib/pingram/models/voice_browser_call_request.rb +186 -0
  85. data/lib/pingram/models/voice_browser_call_response.rb +216 -0
  86. data/lib/pingram/models/voice_call_request.rb +212 -0
  87. data/lib/pingram/models/voice_call_response.rb +217 -0
  88. data/lib/pingram/models/webhook_event.rb +2 -2
  89. data/lib/pingram/version.rb +1 -1
  90. data/lib/pingram.rb +56 -3
  91. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.12.0.gem +0 -0
  92. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  93. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +5 -5
  94. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/gem_make.out +5 -5
  95. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/mkmf.log +3 -3
  96. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  97. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.4.0/gem_make.out +5 -5
  98. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
  99. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  100. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current.rb +1 -1
  101. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/version.rb +1 -1
  102. data/vendor/bundle/ruby/3.2.0/specifications/{parser-3.3.11.1.gemspec → parser-3.3.12.0.gemspec} +4 -4
  103. metadata +140 -87
  104. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.11.1.gem +0 -0
  105. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/LICENSE.txt +0 -0
  106. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  107. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  108. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/gauntlet_parser.rb +0 -0
  109. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/all.rb +0 -0
  110. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/node.rb +0 -0
  111. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ast/processor.rb +0 -0
  112. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/base.rb +0 -0
  113. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/builders/default.rb +0 -0
  114. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/clobbering_error.rb +0 -0
  115. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/color.rb +0 -0
  116. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/context.rb +0 -0
  117. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current_arg_stack.rb +0 -0
  118. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/deprecation.rb +0 -0
  119. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic/engine.rb +0 -0
  120. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic.rb +0 -0
  121. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/dedenter.rb +0 -0
  122. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/explanation.rb +0 -0
  123. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/literal.rb +0 -0
  124. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer/stack_state.rb +0 -0
  125. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F0.rb +0 -0
  126. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-F1.rb +0 -0
  127. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/lexer-strings.rb +0 -0
  128. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/macruby.rb +0 -0
  129. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/max_numparam_stack.rb +0 -0
  130. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/messages.rb +0 -0
  131. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/meta.rb +0 -0
  132. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rewriter.rb +0 -0
  133. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby18.rb +0 -0
  134. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby19.rb +0 -0
  135. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby20.rb +0 -0
  136. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby21.rb +0 -0
  137. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby22.rb +0 -0
  138. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby23.rb +0 -0
  139. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby24.rb +0 -0
  140. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby25.rb +0 -0
  141. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby26.rb +0 -0
  142. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby27.rb +0 -0
  143. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby30.rb +0 -0
  144. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby31.rb +0 -0
  145. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby32.rb +0 -0
  146. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby33.rb +0 -0
  147. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby34.rb +0 -0
  148. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rubymotion.rb +0 -0
  149. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_parse.rb +0 -0
  150. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner/ruby_rewrite.rb +0 -0
  151. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner.rb +0 -0
  152. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/buffer.rb +0 -0
  153. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment/associator.rb +0 -0
  154. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/comment.rb +0 -0
  155. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/collection.rb +0 -0
  156. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/condition.rb +0 -0
  157. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/constant.rb +0 -0
  158. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/definition.rb +0 -0
  159. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/for.rb +0 -0
  160. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/heredoc.rb +0 -0
  161. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/index.rb +0 -0
  162. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/keyword.rb +0 -0
  163. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/method_definition.rb +0 -0
  164. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/objc_kwarg.rb +0 -0
  165. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/operator.rb +0 -0
  166. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/rescue_body.rb +0 -0
  167. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/send.rb +0 -0
  168. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/ternary.rb +0 -0
  169. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map/variable.rb +0 -0
  170. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/map.rb +0 -0
  171. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/range.rb +0 -0
  172. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter/action.rb +0 -0
  173. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/rewriter.rb +0 -0
  174. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter/action.rb +0 -0
  175. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/source/tree_rewriter.rb +0 -0
  176. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/static_environment.rb +0 -0
  177. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/syntax_error.rb +0 -0
  178. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/tree_rewriter.rb +0 -0
  179. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/unknown_encoding_in_magic_comment_error.rb +0 -0
  180. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/variables_stack.rb +0 -0
  181. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
  182. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/parser.gemspec +0 -0
@@ -0,0 +1,191 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ class GetVoiceCallResponseCallTimelineInnerLatency < ApiModelBase
18
+ attr_accessor :stt_ms
19
+
20
+ attr_accessor :llm_ms
21
+
22
+ attr_accessor :tts_ms
23
+
24
+ attr_accessor :total_ms
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'stt_ms' => :'sttMs',
30
+ :'llm_ms' => :'llmMs',
31
+ :'tts_ms' => :'ttsMs',
32
+ :'total_ms' => :'totalMs'
33
+ }
34
+ end
35
+
36
+ # Returns attribute mapping this model knows about
37
+ def self.acceptable_attribute_map
38
+ attribute_map
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ acceptable_attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'stt_ms' => :'Float',
50
+ :'llm_ms' => :'Float',
51
+ :'tts_ms' => :'Float',
52
+ :'total_ms' => :'Float'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::GetVoiceCallResponseCallTimelineInnerLatency` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ acceptable_attribute_map = self.class.acceptable_attribute_map
71
+ attributes = attributes.each_with_object({}) { |(k, v), h|
72
+ if (!acceptable_attribute_map.key?(k.to_sym))
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::GetVoiceCallResponseCallTimelineInnerLatency`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
74
+ end
75
+ h[k.to_sym] = v
76
+ }
77
+
78
+ if attributes.key?(:'stt_ms')
79
+ self.stt_ms = attributes[:'stt_ms']
80
+ end
81
+
82
+ if attributes.key?(:'llm_ms')
83
+ self.llm_ms = attributes[:'llm_ms']
84
+ end
85
+
86
+ if attributes.key?(:'tts_ms')
87
+ self.tts_ms = attributes[:'tts_ms']
88
+ end
89
+
90
+ if attributes.key?(:'total_ms')
91
+ self.total_ms = attributes[:'total_ms']
92
+ else
93
+ self.total_ms = nil
94
+ end
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properties with the reasons
99
+ def list_invalid_properties
100
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
101
+ invalid_properties = Array.new
102
+ if @total_ms.nil?
103
+ invalid_properties.push('invalid value for "total_ms", total_ms cannot be nil.')
104
+ end
105
+
106
+ invalid_properties
107
+ end
108
+
109
+ # Check to see if the all the properties in the model are valid
110
+ # @return true if the model is valid
111
+ def valid?
112
+ warn '[DEPRECATED] the `valid?` method is obsolete'
113
+ return false if @total_ms.nil?
114
+ true
115
+ end
116
+
117
+ # Custom attribute writer method with validation
118
+ # @param [Object] total_ms Value to be assigned
119
+ def total_ms=(total_ms)
120
+ if total_ms.nil?
121
+ fail ArgumentError, 'total_ms cannot be nil'
122
+ end
123
+
124
+ @total_ms = total_ms
125
+ end
126
+
127
+ # Checks equality by comparing each attribute.
128
+ # @param [Object] Object to be compared
129
+ def ==(o)
130
+ return true if self.equal?(o)
131
+ self.class == o.class &&
132
+ stt_ms == o.stt_ms &&
133
+ llm_ms == o.llm_ms &&
134
+ tts_ms == o.tts_ms &&
135
+ total_ms == o.total_ms
136
+ end
137
+
138
+ # @see the `==` method
139
+ # @param [Object] Object to be compared
140
+ def eql?(o)
141
+ self == o
142
+ end
143
+
144
+ # Calculates hash code according to all attributes.
145
+ # @return [Integer] Hash code
146
+ def hash
147
+ [stt_ms, llm_ms, tts_ms, total_ms].hash
148
+ end
149
+
150
+ # Builds the object from hash
151
+ # @param [Hash] attributes Model attributes in the form of hash
152
+ # @return [Object] Returns the model itself
153
+ def self.build_from_hash(attributes)
154
+ return nil unless attributes.is_a?(Hash)
155
+ attributes = attributes.transform_keys(&:to_sym)
156
+ transformed_hash = {}
157
+ openapi_types.each_pair do |key, type|
158
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
159
+ transformed_hash["#{key}"] = nil
160
+ elsif type =~ /\AArray<(.*)>/i
161
+ # check to ensure the input is an array given that the attribute
162
+ # is documented as an array but the input is not
163
+ if attributes[attribute_map[key]].is_a?(Array)
164
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
165
+ end
166
+ elsif !attributes[attribute_map[key]].nil?
167
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
168
+ end
169
+ end
170
+ new(transformed_hash)
171
+ end
172
+
173
+ # Returns the object in the form of hash
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_hash
176
+ hash = {}
177
+ self.class.attribute_map.each_pair do |attr, param|
178
+ value = self.send(attr)
179
+ if value.nil?
180
+ is_nullable = self.class.openapi_nullable.include?(attr)
181
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
182
+ end
183
+
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ end
190
+
191
+ end
@@ -123,10 +123,10 @@ module Pingram
123
123
  def valid?
124
124
  warn '[DEPRECATED] the `valid?` method is obsolete'
125
125
  return false if @webhook.nil?
126
- webhook_validator = EnumAttributeValidator.new('String', ["delivered", "not_set", "not_enabled", "failed"])
126
+ webhook_validator = EnumAttributeValidator.new('String', ["delivered", "not_set", "not_enabled", "failed", "dropped"])
127
127
  return false unless webhook_validator.valid?(@webhook)
128
128
  return false if @auto_reply.nil?
129
- auto_reply_validator = EnumAttributeValidator.new('String', ["sent", "skipped_opt_out", "skipped_already_replied", "skipped_no_config", "failed"])
129
+ auto_reply_validator = EnumAttributeValidator.new('String', ["sent", "skipped_opt_out", "skipped_already_replied", "skipped_no_config", "skipped_dropped", "failed"])
130
130
  return false unless auto_reply_validator.valid?(@auto_reply)
131
131
  true
132
132
  end
@@ -134,7 +134,7 @@ module Pingram
134
134
  # Custom attribute writer method checking allowed values (enum).
135
135
  # @param [Object] webhook Object to be assigned
136
136
  def webhook=(webhook)
137
- validator = EnumAttributeValidator.new('String', ["delivered", "not_set", "not_enabled", "failed"])
137
+ validator = EnumAttributeValidator.new('String', ["delivered", "not_set", "not_enabled", "failed", "dropped"])
138
138
  unless validator.valid?(webhook)
139
139
  fail ArgumentError, "invalid value for \"webhook\", must be one of #{validator.allowable_values}."
140
140
  end
@@ -144,7 +144,7 @@ module Pingram
144
144
  # Custom attribute writer method checking allowed values (enum).
145
145
  # @param [Object] auto_reply Object to be assigned
146
146
  def auto_reply=(auto_reply)
147
- validator = EnumAttributeValidator.new('String', ["sent", "skipped_opt_out", "skipped_already_replied", "skipped_no_config", "failed"])
147
+ validator = EnumAttributeValidator.new('String', ["sent", "skipped_opt_out", "skipped_already_replied", "skipped_no_config", "skipped_dropped", "failed"])
148
148
  unless validator.valid?(auto_reply)
149
149
  fail ArgumentError, "invalid value for \"auto_reply\", must be one of #{validator.allowable_values}."
150
150
  end
@@ -0,0 +1,216 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ class Knowledge < ApiModelBase
18
+ attr_accessor :type
19
+
20
+ attr_accessor :documents
21
+
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'type' => :'type',
48
+ :'documents' => :'documents'
49
+ }
50
+ end
51
+
52
+ # Returns attribute mapping this model knows about
53
+ def self.acceptable_attribute_map
54
+ attribute_map
55
+ end
56
+
57
+ # Returns all the JSON keys this model knows about
58
+ def self.acceptable_attributes
59
+ acceptable_attribute_map.values
60
+ end
61
+
62
+ # Attribute type mapping.
63
+ def self.openapi_types
64
+ {
65
+ :'type' => :'String',
66
+ :'documents' => :'Array<KnowledgeDocumentsInner>'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ ])
74
+ end
75
+
76
+ # Initializes the object
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ def initialize(attributes = {})
79
+ if (!attributes.is_a?(Hash))
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::Knowledge` initialize method"
81
+ end
82
+
83
+ # check to see if the attribute exists and convert string to symbol for hash key
84
+ acceptable_attribute_map = self.class.acceptable_attribute_map
85
+ attributes = attributes.each_with_object({}) { |(k, v), h|
86
+ if (!acceptable_attribute_map.key?(k.to_sym))
87
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::Knowledge`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
88
+ end
89
+ h[k.to_sym] = v
90
+ }
91
+
92
+ if attributes.key?(:'type')
93
+ self.type = attributes[:'type']
94
+ else
95
+ self.type = nil
96
+ end
97
+
98
+ if attributes.key?(:'documents')
99
+ if (value = attributes[:'documents']).is_a?(Array)
100
+ self.documents = value
101
+ end
102
+ else
103
+ self.documents = nil
104
+ end
105
+ end
106
+
107
+ # Show invalid properties with the reasons. Usually used together with valid?
108
+ # @return Array for valid properties with the reasons
109
+ def list_invalid_properties
110
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
111
+ invalid_properties = Array.new
112
+ if @type.nil?
113
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
114
+ end
115
+
116
+ if @documents.nil?
117
+ invalid_properties.push('invalid value for "documents", documents cannot be nil.')
118
+ end
119
+
120
+ invalid_properties
121
+ end
122
+
123
+ # Check to see if the all the properties in the model are valid
124
+ # @return true if the model is valid
125
+ def valid?
126
+ warn '[DEPRECATED] the `valid?` method is obsolete'
127
+ return false if @type.nil?
128
+ type_validator = EnumAttributeValidator.new('String', ["knowledge"])
129
+ return false unless type_validator.valid?(@type)
130
+ return false if @documents.nil?
131
+ true
132
+ end
133
+
134
+ # Custom attribute writer method checking allowed values (enum).
135
+ # @param [Object] type Object to be assigned
136
+ def type=(type)
137
+ validator = EnumAttributeValidator.new('String', ["knowledge"])
138
+ unless validator.valid?(type)
139
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
140
+ end
141
+ @type = type
142
+ end
143
+
144
+ # Custom attribute writer method with validation
145
+ # @param [Object] documents Value to be assigned
146
+ def documents=(documents)
147
+ if documents.nil?
148
+ fail ArgumentError, 'documents cannot be nil'
149
+ end
150
+
151
+ @documents = documents
152
+ end
153
+
154
+ # Checks equality by comparing each attribute.
155
+ # @param [Object] Object to be compared
156
+ def ==(o)
157
+ return true if self.equal?(o)
158
+ self.class == o.class &&
159
+ type == o.type &&
160
+ documents == o.documents
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [type, documents].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ return nil unless attributes.is_a?(Hash)
180
+ attributes = attributes.transform_keys(&:to_sym)
181
+ transformed_hash = {}
182
+ openapi_types.each_pair do |key, type|
183
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
184
+ transformed_hash["#{key}"] = nil
185
+ elsif type =~ /\AArray<(.*)>/i
186
+ # check to ensure the input is an array given that the attribute
187
+ # is documented as an array but the input is not
188
+ if attributes[attribute_map[key]].is_a?(Array)
189
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
190
+ end
191
+ elsif !attributes[attribute_map[key]].nil?
192
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
193
+ end
194
+ end
195
+ new(transformed_hash)
196
+ end
197
+
198
+ # Returns the object in the form of hash
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_hash
201
+ hash = {}
202
+ self.class.attribute_map.each_pair do |attr, param|
203
+ value = self.send(attr)
204
+ if value.nil?
205
+ is_nullable = self.class.openapi_nullable.include?(attr)
206
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
207
+ end
208
+
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ end
215
+
216
+ end
@@ -0,0 +1,217 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ class KnowledgeDocumentsInner < ApiModelBase
18
+ # Opaque identifier for an uploaded knowledge document.
19
+ attr_accessor :doc_id
20
+
21
+ attr_accessor :name
22
+
23
+ attr_accessor :size_bytes
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'doc_id' => :'docId',
29
+ :'name' => :'name',
30
+ :'size_bytes' => :'sizeBytes'
31
+ }
32
+ end
33
+
34
+ # Returns attribute mapping this model knows about
35
+ def self.acceptable_attribute_map
36
+ attribute_map
37
+ end
38
+
39
+ # Returns all the JSON keys this model knows about
40
+ def self.acceptable_attributes
41
+ acceptable_attribute_map.values
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.openapi_types
46
+ {
47
+ :'doc_id' => :'String',
48
+ :'name' => :'String',
49
+ :'size_bytes' => :'Float'
50
+ }
51
+ end
52
+
53
+ # List of attributes with nullable: true
54
+ def self.openapi_nullable
55
+ Set.new([
56
+ ])
57
+ end
58
+
59
+ # Initializes the object
60
+ # @param [Hash] attributes Model attributes in the form of hash
61
+ def initialize(attributes = {})
62
+ if (!attributes.is_a?(Hash))
63
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::KnowledgeDocumentsInner` initialize method"
64
+ end
65
+
66
+ # check to see if the attribute exists and convert string to symbol for hash key
67
+ acceptable_attribute_map = self.class.acceptable_attribute_map
68
+ attributes = attributes.each_with_object({}) { |(k, v), h|
69
+ if (!acceptable_attribute_map.key?(k.to_sym))
70
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::KnowledgeDocumentsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
71
+ end
72
+ h[k.to_sym] = v
73
+ }
74
+
75
+ if attributes.key?(:'doc_id')
76
+ self.doc_id = attributes[:'doc_id']
77
+ else
78
+ self.doc_id = nil
79
+ end
80
+
81
+ if attributes.key?(:'name')
82
+ self.name = attributes[:'name']
83
+ else
84
+ self.name = nil
85
+ end
86
+
87
+ if attributes.key?(:'size_bytes')
88
+ self.size_bytes = attributes[:'size_bytes']
89
+ else
90
+ self.size_bytes = nil
91
+ end
92
+ end
93
+
94
+ # Show invalid properties with the reasons. Usually used together with valid?
95
+ # @return Array for valid properties with the reasons
96
+ def list_invalid_properties
97
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
98
+ invalid_properties = Array.new
99
+ if @doc_id.nil?
100
+ invalid_properties.push('invalid value for "doc_id", doc_id cannot be nil.')
101
+ end
102
+
103
+ if @name.nil?
104
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
105
+ end
106
+
107
+ if @size_bytes.nil?
108
+ invalid_properties.push('invalid value for "size_bytes", size_bytes cannot be nil.')
109
+ end
110
+
111
+ invalid_properties
112
+ end
113
+
114
+ # Check to see if the all the properties in the model are valid
115
+ # @return true if the model is valid
116
+ def valid?
117
+ warn '[DEPRECATED] the `valid?` method is obsolete'
118
+ return false if @doc_id.nil?
119
+ return false if @name.nil?
120
+ return false if @size_bytes.nil?
121
+ true
122
+ end
123
+
124
+ # Custom attribute writer method with validation
125
+ # @param [Object] doc_id Value to be assigned
126
+ def doc_id=(doc_id)
127
+ if doc_id.nil?
128
+ fail ArgumentError, 'doc_id cannot be nil'
129
+ end
130
+
131
+ @doc_id = doc_id
132
+ end
133
+
134
+ # Custom attribute writer method with validation
135
+ # @param [Object] name Value to be assigned
136
+ def name=(name)
137
+ if name.nil?
138
+ fail ArgumentError, 'name cannot be nil'
139
+ end
140
+
141
+ @name = name
142
+ end
143
+
144
+ # Custom attribute writer method with validation
145
+ # @param [Object] size_bytes Value to be assigned
146
+ def size_bytes=(size_bytes)
147
+ if size_bytes.nil?
148
+ fail ArgumentError, 'size_bytes cannot be nil'
149
+ end
150
+
151
+ @size_bytes = size_bytes
152
+ end
153
+
154
+ # Checks equality by comparing each attribute.
155
+ # @param [Object] Object to be compared
156
+ def ==(o)
157
+ return true if self.equal?(o)
158
+ self.class == o.class &&
159
+ doc_id == o.doc_id &&
160
+ name == o.name &&
161
+ size_bytes == o.size_bytes
162
+ end
163
+
164
+ # @see the `==` method
165
+ # @param [Object] Object to be compared
166
+ def eql?(o)
167
+ self == o
168
+ end
169
+
170
+ # Calculates hash code according to all attributes.
171
+ # @return [Integer] Hash code
172
+ def hash
173
+ [doc_id, name, size_bytes].hash
174
+ end
175
+
176
+ # Builds the object from hash
177
+ # @param [Hash] attributes Model attributes in the form of hash
178
+ # @return [Object] Returns the model itself
179
+ def self.build_from_hash(attributes)
180
+ return nil unless attributes.is_a?(Hash)
181
+ attributes = attributes.transform_keys(&:to_sym)
182
+ transformed_hash = {}
183
+ openapi_types.each_pair do |key, type|
184
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
185
+ transformed_hash["#{key}"] = nil
186
+ elsif type =~ /\AArray<(.*)>/i
187
+ # check to ensure the input is an array given that the attribute
188
+ # is documented as an array but the input is not
189
+ if attributes[attribute_map[key]].is_a?(Array)
190
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
191
+ end
192
+ elsif !attributes[attribute_map[key]].nil?
193
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
194
+ end
195
+ end
196
+ new(transformed_hash)
197
+ end
198
+
199
+ # Returns the object in the form of hash
200
+ # @return [Hash] Returns the object in the form of hash
201
+ def to_hash
202
+ hash = {}
203
+ self.class.attribute_map.each_pair do |attr, param|
204
+ value = self.send(attr)
205
+ if value.nil?
206
+ is_nullable = self.class.openapi_nullable.include?(attr)
207
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
208
+ end
209
+
210
+ hash[param] = _to_hash(value)
211
+ end
212
+ hash
213
+ end
214
+
215
+ end
216
+
217
+ end