pingram 1.0.16 → 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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/pingram/api/numbers_api.rb +2 -2
  4. data/lib/pingram/api/organization_api.rb +15 -4
  5. data/lib/pingram/api/profile_api.rb +66 -0
  6. data/lib/pingram/api/voice_api.rb +733 -0
  7. data/lib/pingram/api_client.rb +1 -1
  8. data/lib/pingram/client_wrapper.rb +10 -0
  9. data/lib/pingram/models/api_error_body.rb +4 -24
  10. data/lib/pingram/models/billing_post_request_body.rb +2 -12
  11. data/lib/pingram/models/billing_post_response_body.rb +22 -1
  12. data/lib/pingram/models/bind_number_request.rb +164 -0
  13. data/lib/pingram/models/bind_number_response.rb +164 -0
  14. data/lib/pingram/models/bind_number_response_agent.rb +342 -0
  15. data/lib/pingram/models/bind_number_response_agent_spec.rb +376 -0
  16. data/lib/pingram/models/bind_number_response_agent_spec_compliance.rb +164 -0
  17. data/lib/pingram/models/bind_number_response_agent_spec_conversation.rb +328 -0
  18. data/lib/pingram/models/bind_number_response_agent_spec_inbound.rb +214 -0
  19. data/lib/pingram/models/bind_number_response_agent_spec_model.rb +105 -0
  20. data/lib/pingram/models/bind_number_response_agent_spec_outbound.rb +251 -0
  21. data/lib/pingram/models/bind_number_response_agent_spec_tools_inner.rb +107 -0
  22. data/lib/pingram/models/bind_number_response_agent_spec_variables_inner.rb +182 -0
  23. data/lib/pingram/models/chained.rb +401 -0
  24. data/lib/pingram/models/channels_enum.rb +2 -1
  25. data/lib/pingram/models/create_organization_request.rb +150 -0
  26. data/lib/pingram/models/create_voice_agent_request.rb +164 -0
  27. data/lib/pingram/models/create_voice_agent_response.rb +164 -0
  28. data/lib/pingram/models/custom.rb +278 -0
  29. data/lib/pingram/models/delete_account_request.rb +147 -0
  30. data/lib/pingram/models/delete_voice_agent_response.rb +164 -0
  31. data/lib/pingram/models/dtmf.rb +188 -0
  32. data/lib/pingram/models/get_notifications_response_inner_options.rb +10 -1
  33. data/lib/pingram/models/get_senders_response_inner.rb +13 -4
  34. data/lib/pingram/models/get_senders_response_inner_verification_records.rb +184 -0
  35. data/lib/pingram/models/get_senders_response_inner_verification_records_dkim.rb +287 -0
  36. data/lib/pingram/models/get_voice_agent_response.rb +164 -0
  37. data/lib/pingram/models/get_voice_call_response.rb +164 -0
  38. data/lib/pingram/models/get_voice_call_response_call.rb +521 -0
  39. data/lib/pingram/models/get_voice_call_response_call_cost.rb +193 -0
  40. data/lib/pingram/models/get_voice_call_response_call_cost_lines_inner.rb +245 -0
  41. data/lib/pingram/models/get_voice_call_response_call_timeline_inner.rb +247 -0
  42. data/lib/pingram/models/get_voice_call_response_call_timeline_inner_latency.rb +191 -0
  43. data/lib/pingram/models/inbound_response_body_results_inner.rb +4 -4
  44. data/lib/pingram/models/knowledge.rb +216 -0
  45. data/lib/pingram/models/knowledge_documents_inner.rb +217 -0
  46. data/lib/pingram/models/list_phone_numbers_response_numbers_inner.rb +14 -4
  47. data/lib/pingram/models/list_voice_agents_response.rb +166 -0
  48. data/lib/pingram/models/list_voice_calls_response.rb +176 -0
  49. data/lib/pingram/models/list_voice_calls_response_calls_inner.rb +463 -0
  50. data/lib/pingram/models/logs_get_response_logs_inner.rb +4 -4
  51. data/lib/pingram/models/mcp.rb +223 -0
  52. data/lib/pingram/models/organization.rb +22 -1
  53. data/lib/pingram/models/organization_usage.rb +13 -159
  54. data/lib/pingram/models/organization_usage_costs.rb +148 -0
  55. data/lib/pingram/models/organization_usage_counts.rb +347 -0
  56. data/lib/pingram/models/organization_usage_history_items_inner.rb +16 -154
  57. data/lib/pingram/models/organization_usage_history_items_inner_counts.rb +346 -0
  58. data/lib/pingram/models/phone_verify_confirm_request.rb +16 -4
  59. data/lib/pingram/models/s2s.rb +295 -0
  60. data/lib/pingram/models/send_email_api_response_any_of1_error.rb +4 -24
  61. data/lib/pingram/models/send_email_request.rb +1 -1
  62. data/lib/pingram/models/send_sms_response_any_of1_error.rb +4 -24
  63. data/lib/pingram/models/sender_post_body_options_email.rb +1 -1
  64. data/lib/pingram/models/{a2p_registration_create_request.rb → ten_dlc_brand_create_request.rb} +38 -28
  65. data/lib/pingram/models/{a2p_registration.rb → ten_dlc_brand_registration.rb} +54 -22
  66. data/lib/pingram/models/{a2p_registration_update_request.rb → ten_dlc_brand_update_request.rb} +38 -11
  67. data/lib/pingram/models/transfer.rb +251 -0
  68. data/lib/pingram/models/unbind_number_response.rb +164 -0
  69. data/lib/pingram/models/update_voice_agent_request.rb +164 -0
  70. data/lib/pingram/models/update_voice_agent_response.rb +164 -0
  71. data/lib/pingram/models/voice_browser_call_request.rb +186 -0
  72. data/lib/pingram/models/voice_browser_call_response.rb +216 -0
  73. data/lib/pingram/models/voice_call_request.rb +212 -0
  74. data/lib/pingram/models/voice_call_response.rb +217 -0
  75. data/lib/pingram/models/webhook_event.rb +2 -2
  76. data/lib/pingram/version.rb +1 -1
  77. data/lib/pingram.rb +50 -3
  78. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.12.0.gem +0 -0
  79. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  80. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +5 -5
  81. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/gem_make.out +5 -5
  82. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/mkmf.log +3 -3
  83. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  84. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.4.0/gem_make.out +5 -5
  85. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
  86. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  87. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/current.rb +1 -1
  88. data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/version.rb +1 -1
  89. data/vendor/bundle/ruby/3.2.0/specifications/{parser-3.3.11.1.gemspec → parser-3.3.12.0.gemspec} +4 -4
  90. metadata +134 -87
  91. data/vendor/bundle/ruby/3.2.0/cache/parser-3.3.11.1.gem +0 -0
  92. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/LICENSE.txt +0 -0
  93. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-parse +0 -0
  94. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/bin/ruby-rewrite +0 -0
  95. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/gauntlet_parser.rb +0 -0
  96. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/all.rb +0 -0
  97. /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
  98. /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
  99. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/base.rb +0 -0
  100. /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
  101. /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
  102. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/color.rb +0 -0
  103. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/context.rb +0 -0
  104. /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
  105. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/deprecation.rb +0 -0
  106. /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
  107. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/diagnostic.rb +0 -0
  108. /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
  109. /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
  110. /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
  111. /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
  112. /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
  113. /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
  114. /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
  115. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/macruby.rb +0 -0
  116. /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
  117. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/messages.rb +0 -0
  118. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/meta.rb +0 -0
  119. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rewriter.rb +0 -0
  120. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby18.rb +0 -0
  121. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby19.rb +0 -0
  122. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby20.rb +0 -0
  123. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby21.rb +0 -0
  124. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby22.rb +0 -0
  125. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby23.rb +0 -0
  126. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby24.rb +0 -0
  127. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby25.rb +0 -0
  128. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby26.rb +0 -0
  129. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby27.rb +0 -0
  130. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby30.rb +0 -0
  131. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby31.rb +0 -0
  132. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby32.rb +0 -0
  133. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby33.rb +0 -0
  134. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/ruby34.rb +0 -0
  135. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/rubymotion.rb +0 -0
  136. /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
  137. /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
  138. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser/runner.rb +0 -0
  139. /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
  140. /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
  141. /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
  142. /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
  143. /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
  144. /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
  145. /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
  146. /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
  147. /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
  148. /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
  149. /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
  150. /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
  151. /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
  152. /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
  153. /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
  154. /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
  155. /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
  156. /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
  157. /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
  158. /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
  159. /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
  160. /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
  161. /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
  162. /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
  163. /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
  164. /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
  165. /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
  166. /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
  167. /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
  168. /data/vendor/bundle/ruby/3.2.0/gems/{parser-3.3.11.1 → parser-3.3.12.0}/lib/parser.rb +0 -0
  169. /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,401 @@
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
+ # Separate STT, LLM, and TTS providers. For best call quality, prefer s2s mode.
18
+ class Chained < ApiModelBase
19
+ attr_accessor :mode
20
+
21
+ # 'provider:model', e.g. 'openai:gpt-4o'
22
+ attr_accessor :llm
23
+
24
+ # 'provider:model', e.g. 'deepgram:nova-3'
25
+ attr_accessor :stt
26
+
27
+ # 'provider:model', e.g. 'elevenlabs:eleven_multilingual_v2'
28
+ attr_accessor :tts
29
+
30
+ # Provider-native voice id for the selected TTS provider (e.g. ElevenLabs UUID, OpenAI `alloy`).
31
+ attr_accessor :voice_id
32
+
33
+ attr_accessor :language
34
+
35
+ attr_accessor :speech_speed
36
+
37
+ attr_accessor :temperature
38
+
39
+ attr_accessor :max_tokens
40
+
41
+ class EnumAttributeValidator
42
+ attr_reader :datatype
43
+ attr_reader :allowable_values
44
+
45
+ def initialize(datatype, allowable_values)
46
+ @allowable_values = allowable_values.map do |value|
47
+ case datatype.to_s
48
+ when /Integer/i
49
+ value.to_i
50
+ when /Float/i
51
+ value.to_f
52
+ else
53
+ value
54
+ end
55
+ end
56
+ end
57
+
58
+ def valid?(value)
59
+ !value || allowable_values.include?(value)
60
+ end
61
+ end
62
+
63
+ # Attribute mapping from ruby-style variable name to JSON key.
64
+ def self.attribute_map
65
+ {
66
+ :'mode' => :'mode',
67
+ :'llm' => :'llm',
68
+ :'stt' => :'stt',
69
+ :'tts' => :'tts',
70
+ :'voice_id' => :'voiceId',
71
+ :'language' => :'language',
72
+ :'speech_speed' => :'speechSpeed',
73
+ :'temperature' => :'temperature',
74
+ :'max_tokens' => :'maxTokens'
75
+ }
76
+ end
77
+
78
+ # Returns attribute mapping this model knows about
79
+ def self.acceptable_attribute_map
80
+ attribute_map
81
+ end
82
+
83
+ # Returns all the JSON keys this model knows about
84
+ def self.acceptable_attributes
85
+ acceptable_attribute_map.values
86
+ end
87
+
88
+ # Attribute type mapping.
89
+ def self.openapi_types
90
+ {
91
+ :'mode' => :'String',
92
+ :'llm' => :'String',
93
+ :'stt' => :'String',
94
+ :'tts' => :'String',
95
+ :'voice_id' => :'String',
96
+ :'language' => :'String',
97
+ :'speech_speed' => :'Float',
98
+ :'temperature' => :'Float',
99
+ :'max_tokens' => :'Float'
100
+ }
101
+ end
102
+
103
+ # List of attributes with nullable: true
104
+ def self.openapi_nullable
105
+ Set.new([
106
+ ])
107
+ end
108
+
109
+ # Initializes the object
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ def initialize(attributes = {})
112
+ if (!attributes.is_a?(Hash))
113
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::Chained` initialize method"
114
+ end
115
+
116
+ # check to see if the attribute exists and convert string to symbol for hash key
117
+ acceptable_attribute_map = self.class.acceptable_attribute_map
118
+ attributes = attributes.each_with_object({}) { |(k, v), h|
119
+ if (!acceptable_attribute_map.key?(k.to_sym))
120
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::Chained`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
121
+ end
122
+ h[k.to_sym] = v
123
+ }
124
+
125
+ if attributes.key?(:'mode')
126
+ self.mode = attributes[:'mode']
127
+ else
128
+ self.mode = nil
129
+ end
130
+
131
+ if attributes.key?(:'llm')
132
+ self.llm = attributes[:'llm']
133
+ else
134
+ self.llm = nil
135
+ end
136
+
137
+ if attributes.key?(:'stt')
138
+ self.stt = attributes[:'stt']
139
+ else
140
+ self.stt = nil
141
+ end
142
+
143
+ if attributes.key?(:'tts')
144
+ self.tts = attributes[:'tts']
145
+ else
146
+ self.tts = nil
147
+ end
148
+
149
+ if attributes.key?(:'voice_id')
150
+ self.voice_id = attributes[:'voice_id']
151
+ else
152
+ self.voice_id = nil
153
+ end
154
+
155
+ if attributes.key?(:'language')
156
+ self.language = attributes[:'language']
157
+ else
158
+ self.language = nil
159
+ end
160
+
161
+ if attributes.key?(:'speech_speed')
162
+ self.speech_speed = attributes[:'speech_speed']
163
+ else
164
+ self.speech_speed = nil
165
+ end
166
+
167
+ if attributes.key?(:'temperature')
168
+ self.temperature = attributes[:'temperature']
169
+ else
170
+ self.temperature = nil
171
+ end
172
+
173
+ if attributes.key?(:'max_tokens')
174
+ self.max_tokens = attributes[:'max_tokens']
175
+ else
176
+ self.max_tokens = nil
177
+ end
178
+ end
179
+
180
+ # Show invalid properties with the reasons. Usually used together with valid?
181
+ # @return Array for valid properties with the reasons
182
+ def list_invalid_properties
183
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
184
+ invalid_properties = Array.new
185
+ if @mode.nil?
186
+ invalid_properties.push('invalid value for "mode", mode cannot be nil.')
187
+ end
188
+
189
+ if @llm.nil?
190
+ invalid_properties.push('invalid value for "llm", llm cannot be nil.')
191
+ end
192
+
193
+ if @stt.nil?
194
+ invalid_properties.push('invalid value for "stt", stt cannot be nil.')
195
+ end
196
+
197
+ if @tts.nil?
198
+ invalid_properties.push('invalid value for "tts", tts cannot be nil.')
199
+ end
200
+
201
+ if @voice_id.nil?
202
+ invalid_properties.push('invalid value for "voice_id", voice_id cannot be nil.')
203
+ end
204
+
205
+ if @language.nil?
206
+ invalid_properties.push('invalid value for "language", language cannot be nil.')
207
+ end
208
+
209
+ if @speech_speed.nil?
210
+ invalid_properties.push('invalid value for "speech_speed", speech_speed cannot be nil.')
211
+ end
212
+
213
+ if @temperature.nil?
214
+ invalid_properties.push('invalid value for "temperature", temperature cannot be nil.')
215
+ end
216
+
217
+ if @max_tokens.nil?
218
+ invalid_properties.push('invalid value for "max_tokens", max_tokens cannot be nil.')
219
+ end
220
+
221
+ invalid_properties
222
+ end
223
+
224
+ # Check to see if the all the properties in the model are valid
225
+ # @return true if the model is valid
226
+ def valid?
227
+ warn '[DEPRECATED] the `valid?` method is obsolete'
228
+ return false if @mode.nil?
229
+ mode_validator = EnumAttributeValidator.new('String', ["chained"])
230
+ return false unless mode_validator.valid?(@mode)
231
+ return false if @llm.nil?
232
+ return false if @stt.nil?
233
+ return false if @tts.nil?
234
+ return false if @voice_id.nil?
235
+ return false if @language.nil?
236
+ return false if @speech_speed.nil?
237
+ return false if @temperature.nil?
238
+ return false if @max_tokens.nil?
239
+ true
240
+ end
241
+
242
+ # Custom attribute writer method checking allowed values (enum).
243
+ # @param [Object] mode Object to be assigned
244
+ def mode=(mode)
245
+ validator = EnumAttributeValidator.new('String', ["chained"])
246
+ unless validator.valid?(mode)
247
+ fail ArgumentError, "invalid value for \"mode\", must be one of #{validator.allowable_values}."
248
+ end
249
+ @mode = mode
250
+ end
251
+
252
+ # Custom attribute writer method with validation
253
+ # @param [Object] llm Value to be assigned
254
+ def llm=(llm)
255
+ if llm.nil?
256
+ fail ArgumentError, 'llm cannot be nil'
257
+ end
258
+
259
+ @llm = llm
260
+ end
261
+
262
+ # Custom attribute writer method with validation
263
+ # @param [Object] stt Value to be assigned
264
+ def stt=(stt)
265
+ if stt.nil?
266
+ fail ArgumentError, 'stt cannot be nil'
267
+ end
268
+
269
+ @stt = stt
270
+ end
271
+
272
+ # Custom attribute writer method with validation
273
+ # @param [Object] tts Value to be assigned
274
+ def tts=(tts)
275
+ if tts.nil?
276
+ fail ArgumentError, 'tts cannot be nil'
277
+ end
278
+
279
+ @tts = tts
280
+ end
281
+
282
+ # Custom attribute writer method with validation
283
+ # @param [Object] voice_id Value to be assigned
284
+ def voice_id=(voice_id)
285
+ if voice_id.nil?
286
+ fail ArgumentError, 'voice_id cannot be nil'
287
+ end
288
+
289
+ @voice_id = voice_id
290
+ end
291
+
292
+ # Custom attribute writer method with validation
293
+ # @param [Object] language Value to be assigned
294
+ def language=(language)
295
+ if language.nil?
296
+ fail ArgumentError, 'language cannot be nil'
297
+ end
298
+
299
+ @language = language
300
+ end
301
+
302
+ # Custom attribute writer method with validation
303
+ # @param [Object] speech_speed Value to be assigned
304
+ def speech_speed=(speech_speed)
305
+ if speech_speed.nil?
306
+ fail ArgumentError, 'speech_speed cannot be nil'
307
+ end
308
+
309
+ @speech_speed = speech_speed
310
+ end
311
+
312
+ # Custom attribute writer method with validation
313
+ # @param [Object] temperature Value to be assigned
314
+ def temperature=(temperature)
315
+ if temperature.nil?
316
+ fail ArgumentError, 'temperature cannot be nil'
317
+ end
318
+
319
+ @temperature = temperature
320
+ end
321
+
322
+ # Custom attribute writer method with validation
323
+ # @param [Object] max_tokens Value to be assigned
324
+ def max_tokens=(max_tokens)
325
+ if max_tokens.nil?
326
+ fail ArgumentError, 'max_tokens cannot be nil'
327
+ end
328
+
329
+ @max_tokens = max_tokens
330
+ end
331
+
332
+ # Checks equality by comparing each attribute.
333
+ # @param [Object] Object to be compared
334
+ def ==(o)
335
+ return true if self.equal?(o)
336
+ self.class == o.class &&
337
+ mode == o.mode &&
338
+ llm == o.llm &&
339
+ stt == o.stt &&
340
+ tts == o.tts &&
341
+ voice_id == o.voice_id &&
342
+ language == o.language &&
343
+ speech_speed == o.speech_speed &&
344
+ temperature == o.temperature &&
345
+ max_tokens == o.max_tokens
346
+ end
347
+
348
+ # @see the `==` method
349
+ # @param [Object] Object to be compared
350
+ def eql?(o)
351
+ self == o
352
+ end
353
+
354
+ # Calculates hash code according to all attributes.
355
+ # @return [Integer] Hash code
356
+ def hash
357
+ [mode, llm, stt, tts, voice_id, language, speech_speed, temperature, max_tokens].hash
358
+ end
359
+
360
+ # Builds the object from hash
361
+ # @param [Hash] attributes Model attributes in the form of hash
362
+ # @return [Object] Returns the model itself
363
+ def self.build_from_hash(attributes)
364
+ return nil unless attributes.is_a?(Hash)
365
+ attributes = attributes.transform_keys(&:to_sym)
366
+ transformed_hash = {}
367
+ openapi_types.each_pair do |key, type|
368
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
369
+ transformed_hash["#{key}"] = nil
370
+ elsif type =~ /\AArray<(.*)>/i
371
+ # check to ensure the input is an array given that the attribute
372
+ # is documented as an array but the input is not
373
+ if attributes[attribute_map[key]].is_a?(Array)
374
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
375
+ end
376
+ elsif !attributes[attribute_map[key]].nil?
377
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
378
+ end
379
+ end
380
+ new(transformed_hash)
381
+ end
382
+
383
+ # Returns the object in the form of hash
384
+ # @return [Hash] Returns the object in the form of hash
385
+ def to_hash
386
+ hash = {}
387
+ self.class.attribute_map.each_pair do |attr, param|
388
+ value = self.send(attr)
389
+ if value.nil?
390
+ is_nullable = self.class.openapi_nullable.include?(attr)
391
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
392
+ end
393
+
394
+ hash[param] = _to_hash(value)
395
+ end
396
+ hash
397
+ end
398
+
399
+ end
400
+
401
+ end
@@ -19,12 +19,13 @@ module Pingram
19
19
  INAPP_WEB = "INAPP_WEB".freeze
20
20
  SMS = "SMS".freeze
21
21
  CALL = "CALL".freeze
22
+ VOICE = "VOICE".freeze
22
23
  PUSH = "PUSH".freeze
23
24
  WEB_PUSH = "WEB_PUSH".freeze
24
25
  SLACK = "SLACK".freeze
25
26
 
26
27
  def self.all_vars
27
- @all_vars ||= [EMAIL, INAPP_WEB, SMS, CALL, PUSH, WEB_PUSH, SLACK].freeze
28
+ @all_vars ||= [EMAIL, INAPP_WEB, SMS, CALL, VOICE, PUSH, WEB_PUSH, SLACK].freeze
28
29
  end
29
30
 
30
31
  # Builds the enum from string
@@ -0,0 +1,150 @@
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 CreateOrganizationRequest < ApiModelBase
18
+ # First-touch PostHog props from the client; attached to signup events.
19
+ attr_accessor :attribution
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'attribution' => :'attribution'
25
+ }
26
+ end
27
+
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ acceptable_attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'attribution' => :'Hash<String, String>'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::CreateOrganizationRequest` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ acceptable_attribute_map = self.class.acceptable_attribute_map
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!acceptable_attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::CreateOrganizationRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
66
+
67
+ if attributes.key?(:'attribution')
68
+ if (value = attributes[:'attribution']).is_a?(Hash)
69
+ self.attribution = value
70
+ end
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
+ invalid_properties = Array.new
79
+ invalid_properties
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ def valid?
85
+ warn '[DEPRECATED] the `valid?` method is obsolete'
86
+ true
87
+ end
88
+
89
+ # Checks equality by comparing each attribute.
90
+ # @param [Object] Object to be compared
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ attribution == o.attribution
95
+ end
96
+
97
+ # @see the `==` method
98
+ # @param [Object] Object to be compared
99
+ def eql?(o)
100
+ self == o
101
+ end
102
+
103
+ # Calculates hash code according to all attributes.
104
+ # @return [Integer] Hash code
105
+ def hash
106
+ [attribution].hash
107
+ end
108
+
109
+ # Builds the object from hash
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ # @return [Object] Returns the model itself
112
+ def self.build_from_hash(attributes)
113
+ return nil unless attributes.is_a?(Hash)
114
+ attributes = attributes.transform_keys(&:to_sym)
115
+ transformed_hash = {}
116
+ openapi_types.each_pair do |key, type|
117
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = nil
119
+ elsif type =~ /\AArray<(.*)>/i
120
+ # check to ensure the input is an array given that the attribute
121
+ # is documented as an array but the input is not
122
+ if attributes[attribute_map[key]].is_a?(Array)
123
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
124
+ end
125
+ elsif !attributes[attribute_map[key]].nil?
126
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
127
+ end
128
+ end
129
+ new(transformed_hash)
130
+ end
131
+
132
+ # Returns the object in the form of hash
133
+ # @return [Hash] Returns the object in the form of hash
134
+ def to_hash
135
+ hash = {}
136
+ self.class.attribute_map.each_pair do |attr, param|
137
+ value = self.send(attr)
138
+ if value.nil?
139
+ is_nullable = self.class.openapi_nullable.include?(attr)
140
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
141
+ end
142
+
143
+ hash[param] = _to_hash(value)
144
+ end
145
+ hash
146
+ end
147
+
148
+ end
149
+
150
+ end