vapi_server_sdk 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/lib/requests.rb +2 -2
  3. data/lib/types_export.rb +83 -12
  4. data/lib/vapi_server_sdk/analytics/client.rb +41 -26
  5. data/lib/vapi_server_sdk/assistants/client.rb +84 -84
  6. data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +1 -0
  7. data/lib/vapi_server_sdk/blocks/client.rb +0 -70
  8. data/lib/vapi_server_sdk/calls/client.rb +110 -76
  9. data/lib/vapi_server_sdk/files/client.rb +0 -70
  10. data/lib/vapi_server_sdk/knowledge_bases/client.rb +0 -70
  11. data/lib/vapi_server_sdk/logs/client.rb +15 -46
  12. data/lib/vapi_server_sdk/logs/types/logging_controller_logs_delete_query_request_type.rb +12 -0
  13. data/lib/vapi_server_sdk/phone_numbers/client.rb +0 -70
  14. data/lib/vapi_server_sdk/squads/client.rb +136 -78
  15. data/lib/vapi_server_sdk/test_suite_runs/client.rb +328 -0
  16. data/lib/vapi_server_sdk/test_suite_runs/types/test_suite_run_controller_find_all_paginated_request_sort_order.rb +10 -0
  17. data/lib/vapi_server_sdk/test_suite_tests/client.rb +331 -0
  18. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_create_request.rb +81 -0
  19. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_find_all_paginated_request_sort_order.rb +10 -0
  20. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_remove_response.rb +82 -0
  21. data/lib/vapi_server_sdk/test_suite_tests/types/test_suite_test_controller_update_request.rb +81 -0
  22. data/lib/vapi_server_sdk/test_suites/client.rb +338 -0
  23. data/lib/vapi_server_sdk/test_suites/types/test_suite_controller_find_all_paginated_request_sort_order.rb +10 -0
  24. data/lib/vapi_server_sdk/tools/client.rb +0 -70
  25. data/lib/vapi_server_sdk/types/ai_edge_condition.rb +55 -0
  26. data/lib/vapi_server_sdk/types/analytics_operation_column.rb +1 -0
  27. data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +1 -0
  28. data/lib/vapi_server_sdk/types/analytics_query.rb +4 -3
  29. data/lib/vapi_server_sdk/types/analytics_query_table.rb +9 -0
  30. data/lib/vapi_server_sdk/types/api_request.rb +165 -0
  31. data/lib/vapi_server_sdk/types/api_request_method.rb +8 -0
  32. data/lib/vapi_server_sdk/types/api_request_mode.rb +10 -0
  33. data/lib/vapi_server_sdk/types/artifact.rb +12 -2
  34. data/lib/vapi_server_sdk/types/artifact_plan.rb +56 -8
  35. data/lib/vapi_server_sdk/types/assistant.rb +27 -13
  36. data/lib/vapi_server_sdk/types/assistant_hook_action_base.rb +47 -0
  37. data/lib/vapi_server_sdk/types/assistant_hook_filter.rb +72 -0
  38. data/lib/vapi_server_sdk/types/assistant_hooks.rb +82 -0
  39. data/lib/vapi_server_sdk/types/assistant_overrides.rb +28 -14
  40. data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +1 -0
  41. data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +1 -0
  42. data/lib/vapi_server_sdk/types/azure_credential_region.rb +4 -2
  43. data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +1 -0
  44. data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +4 -2
  45. data/lib/vapi_server_sdk/types/backoff_plan.rb +80 -0
  46. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call.rb +175 -0
  47. data/lib/vapi_server_sdk/types/bash_tool_with_tool_call_messages_item.rb +120 -0
  48. data/lib/vapi_server_sdk/types/byo_phone_number.rb +10 -1
  49. data/lib/vapi_server_sdk/types/byo_phone_number_status.rb +10 -0
  50. data/lib/vapi_server_sdk/types/call_ended_reason.rb +10 -1
  51. data/lib/vapi_server_sdk/types/cartesia_experimental_controls.rb +69 -0
  52. data/lib/vapi_server_sdk/types/cartesia_experimental_controls_emotion.rb +26 -0
  53. data/lib/vapi_server_sdk/types/cartesia_experimental_controls_speed.rb +11 -0
  54. data/lib/vapi_server_sdk/types/cartesia_voice.rb +24 -10
  55. data/lib/vapi_server_sdk/types/chat_completion_message.rb +80 -0
  56. data/lib/vapi_server_sdk/types/chat_completion_message_metadata.rb +94 -0
  57. data/lib/vapi_server_sdk/types/chat_completions_dto.rb +84 -0
  58. data/lib/vapi_server_sdk/types/client_inbound_message_end_call.rb +47 -0
  59. data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +13 -0
  60. data/lib/vapi_server_sdk/types/client_inbound_message_transfer.rb +13 -3
  61. data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +15 -2
  62. data/lib/vapi_server_sdk/types/client_message_hang.rb +22 -4
  63. data/lib/vapi_server_sdk/types/client_message_language_change_detected.rb +15 -3
  64. data/lib/vapi_server_sdk/types/client_message_message.rb +165 -181
  65. data/lib/vapi_server_sdk/types/client_message_metadata.rb +15 -3
  66. data/lib/vapi_server_sdk/types/client_message_model_output.rb +15 -3
  67. data/lib/vapi_server_sdk/types/client_message_speech_update.rb +11 -2
  68. data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +15 -2
  69. data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +15 -3
  70. data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  71. data/lib/vapi_server_sdk/types/client_message_transcript.rb +12 -2
  72. data/lib/vapi_server_sdk/types/client_message_transcript_type.rb +10 -0
  73. data/lib/vapi_server_sdk/types/client_message_transfer_update.rb +11 -1
  74. data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +14 -4
  75. data/lib/vapi_server_sdk/types/client_message_voice_input.rb +15 -3
  76. data/lib/vapi_server_sdk/types/client_message_workflow_node_started.rb +67 -0
  77. data/lib/vapi_server_sdk/types/compliance_plan.rb +77 -0
  78. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call.rb +199 -0
  79. data/lib/vapi_server_sdk/types/computer_tool_with_tool_call_messages_item.rb +120 -0
  80. data/lib/vapi_server_sdk/types/create_assistant_dto.rb +28 -14
  81. data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +1 -0
  82. data/lib/vapi_server_sdk/types/create_azure_credential_dto_region.rb +4 -2
  83. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +1 -0
  84. data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +4 -2
  85. data/lib/vapi_server_sdk/types/create_custom_knowledge_base_dto.rb +2 -4
  86. data/lib/vapi_server_sdk/types/create_test_suite_test_voice_dto.rb +90 -0
  87. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto.rb +34 -47
  88. data/lib/vapi_server_sdk/types/create_trieve_knowledge_base_dto_create_plan.rb +97 -0
  89. data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +12 -4
  90. data/lib/vapi_server_sdk/types/create_workflow_dto.rb +80 -0
  91. data/lib/vapi_server_sdk/types/create_workflow_dto_nodes_item.rb +133 -0
  92. data/lib/vapi_server_sdk/types/custom_knowledge_base.rb +2 -4
  93. data/lib/vapi_server_sdk/types/deep_seek_model.rb +4 -3
  94. data/lib/vapi_server_sdk/types/deep_seek_model_model.rb +9 -0
  95. data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +28 -2
  96. data/lib/vapi_server_sdk/types/deepgram_voice.rb +22 -2
  97. data/lib/vapi_server_sdk/types/edge.rb +87 -0
  98. data/lib/vapi_server_sdk/types/edge_condition.rb +107 -0
  99. data/lib/vapi_server_sdk/types/failed_edge_condition.rb +47 -0
  100. data/lib/vapi_server_sdk/types/fallback_cartesia_voice.rb +24 -9
  101. data/lib/vapi_server_sdk/types/fallback_deepgram_voice.rb +17 -2
  102. data/lib/vapi_server_sdk/types/fallback_play_ht_voice_model.rb +1 -0
  103. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_id_enum.rb +22 -20
  104. data/lib/vapi_server_sdk/types/fallback_rime_ai_voice_model.rb +1 -0
  105. data/lib/vapi_server_sdk/types/format_plan.rb +22 -2
  106. data/lib/vapi_server_sdk/types/format_plan_formatters_enabled_item.rb +22 -0
  107. data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +1 -10
  108. data/lib/vapi_server_sdk/types/gather.rb +143 -0
  109. data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +1 -9
  110. data/lib/vapi_server_sdk/types/google_model_model.rb +4 -0
  111. data/lib/vapi_server_sdk/types/groq_model_model.rb +1 -0
  112. data/lib/vapi_server_sdk/types/hangup.rb +67 -0
  113. data/lib/vapi_server_sdk/types/hook.rb +70 -0
  114. data/lib/vapi_server_sdk/types/hook_on.rb +9 -0
  115. data/lib/vapi_server_sdk/types/invite_user_dto.rb +11 -2
  116. data/lib/vapi_server_sdk/types/json_schema.rb +37 -2
  117. data/lib/vapi_server_sdk/types/log.rb +18 -18
  118. data/lib/vapi_server_sdk/types/logic_edge_condition.rb +55 -0
  119. data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +1 -9
  120. data/lib/vapi_server_sdk/types/message_plan.rb +12 -2
  121. data/lib/vapi_server_sdk/types/open_ai_model.rb +1 -9
  122. data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +2 -0
  123. data/lib/vapi_server_sdk/types/open_ai_model_model.rb +2 -0
  124. data/lib/vapi_server_sdk/types/play_ht_voice_model.rb +1 -0
  125. data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +22 -20
  126. data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +1 -0
  127. data/lib/vapi_server_sdk/types/say.rb +81 -0
  128. data/lib/vapi_server_sdk/types/say_hook.rb +81 -0
  129. data/lib/vapi_server_sdk/types/server.rb +17 -2
  130. data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +12 -2
  131. data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +12 -2
  132. data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +11 -1
  133. data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +10 -1
  134. data/lib/vapi_server_sdk/types/server_message_hang.rb +20 -2
  135. data/lib/vapi_server_sdk/types/server_message_knowledge_base_request.rb +14 -2
  136. data/lib/vapi_server_sdk/types/server_message_language_change_detected.rb +11 -1
  137. data/lib/vapi_server_sdk/types/server_message_message.rb +212 -237
  138. data/lib/vapi_server_sdk/types/server_message_model_output.rb +11 -1
  139. data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +18 -2
  140. data/lib/vapi_server_sdk/types/server_message_speech_update.rb +11 -1
  141. data/lib/vapi_server_sdk/types/server_message_status_update.rb +12 -2
  142. data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +10 -1
  143. data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +10 -2
  144. data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +116 -77
  145. data/lib/vapi_server_sdk/types/server_message_transcript.rb +13 -2
  146. data/lib/vapi_server_sdk/types/server_message_transcript_type.rb +10 -0
  147. data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +12 -2
  148. data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +11 -1
  149. data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +12 -2
  150. data/lib/vapi_server_sdk/types/server_message_voice_input.rb +11 -1
  151. data/lib/vapi_server_sdk/types/server_message_voice_request.rb +50 -2
  152. data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +27 -2
  153. data/lib/vapi_server_sdk/types/subscription.rb +44 -14
  154. data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +1 -0
  155. data/lib/vapi_server_sdk/types/test_suite.rb +104 -0
  156. data/lib/vapi_server_sdk/types/test_suite_run.rb +127 -0
  157. data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai.rb +80 -0
  158. data/lib/vapi_server_sdk/types/test_suite_run_scorer_ai_result.rb +9 -0
  159. data/lib/vapi_server_sdk/types/test_suite_run_status.rb +10 -0
  160. data/lib/vapi_server_sdk/types/test_suite_run_test_attempt.rb +75 -0
  161. data/lib/vapi_server_sdk/types/{analytics_query_dto.rb → test_suite_run_test_attempt_call.rb} +19 -17
  162. data/lib/vapi_server_sdk/types/test_suite_run_test_result.rb +75 -0
  163. data/lib/vapi_server_sdk/types/test_suite_runs_paginated_response.rb +75 -0
  164. data/lib/vapi_server_sdk/types/test_suite_test_scorer_ai.rb +65 -0
  165. data/lib/vapi_server_sdk/types/test_suite_test_voice.rb +132 -0
  166. data/lib/vapi_server_sdk/types/test_suite_tests_paginated_response.rb +75 -0
  167. data/lib/vapi_server_sdk/types/test_suites_paginated_response.rb +75 -0
  168. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call.rb +175 -0
  169. data/lib/vapi_server_sdk/types/text_editor_tool_with_tool_call_messages_item.rb +121 -0
  170. data/lib/vapi_server_sdk/types/time_range_step.rb +1 -0
  171. data/lib/vapi_server_sdk/types/tool_message_start.rb +18 -2
  172. data/lib/vapi_server_sdk/types/transfer.rb +74 -0
  173. data/lib/vapi_server_sdk/types/transfer_assistant_hook_action.rb +75 -0
  174. data/lib/vapi_server_sdk/types/{buy_phone_number_dto_fallback_destination.rb → transfer_assistant_hook_action_destination.rb} +9 -12
  175. data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +46 -0
  176. data/lib/vapi_server_sdk/types/transfer_plan.rb +37 -1
  177. data/lib/vapi_server_sdk/types/transfer_plan_mode.rb +4 -0
  178. data/lib/vapi_server_sdk/types/trieve_knowledge_base.rb +35 -44
  179. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_create_plan.rb → trieve_knowledge_base_chunk_plan.rb} +17 -11
  180. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create.rb +59 -0
  181. data/lib/vapi_server_sdk/types/trieve_knowledge_base_create_plan.rb +96 -0
  182. data/lib/vapi_server_sdk/types/trieve_knowledge_base_import.rb +55 -0
  183. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan.rb → trieve_knowledge_base_search_plan.rb} +21 -12
  184. data/lib/vapi_server_sdk/types/{trieve_knowledge_base_vector_store_search_plan_search_type.rb → trieve_knowledge_base_search_plan_search_type.rb} +1 -1
  185. data/lib/vapi_server_sdk/types/twilio_phone_number.rb +11 -2
  186. data/lib/vapi_server_sdk/types/twilio_phone_number_status.rb +10 -0
  187. data/lib/vapi_server_sdk/types/update_azure_credential_dto_region.rb +4 -2
  188. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +1 -0
  189. data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +4 -2
  190. data/lib/vapi_server_sdk/types/update_custom_knowledge_base_dto.rb +2 -4
  191. data/lib/vapi_server_sdk/types/update_test_suite_test_voice_dto.rb +90 -0
  192. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto.rb +34 -47
  193. data/lib/vapi_server_sdk/types/update_trieve_knowledge_base_dto_create_plan.rb +97 -0
  194. data/lib/vapi_server_sdk/types/vapi_model.rb +27 -1
  195. data/lib/vapi_server_sdk/types/vapi_phone_number.rb +29 -4
  196. data/lib/vapi_server_sdk/types/vapi_phone_number_status.rb +10 -0
  197. data/lib/vapi_server_sdk/types/vonage_phone_number.rb +11 -2
  198. data/lib/vapi_server_sdk/types/vonage_phone_number_status.rb +10 -0
  199. data/lib/vapi_server_sdk/types/workflow.rb +117 -0
  200. data/lib/vapi_server_sdk/types/workflow_nodes_item.rb +133 -0
  201. data/lib/vapi_server_sdk/types/xai_model.rb +4 -3
  202. data/lib/vapi_server_sdk/types/xai_model_model.rb +10 -0
  203. data/lib/vapi_server_sdk.rb +21 -0
  204. metadata +85 -11
  205. data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +0 -147
  206. data/lib/vapi_server_sdk/types/org_with_org_user.rb +0 -262
  207. data/lib/vapi_server_sdk/types/org_with_org_user_channel.rb +0 -10
  208. data/lib/vapi_server_sdk/types/org_with_org_user_role.rb +0 -9
@@ -1,11 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "trieve_knowledge_base_vector_store_search_plan_search_type"
3
+ require_relative "trieve_knowledge_base_search_plan_search_type"
4
4
  require "ostruct"
5
5
  require "json"
6
6
 
7
7
  module Vapi
8
- class TrieveKnowledgeBaseVectorStoreSearchPlan
8
+ class TrieveKnowledgeBaseSearchPlan
9
+ # @return [Float] Specifies the number of top chunks to return. This corresponds to the
10
+ # `page_size` parameter in Trieve.
11
+ attr_reader :top_k
9
12
  # @return [Boolean] If true, stop words (specified in server/src/stop-words.txt in the git repo)
10
13
  # will be removed. This will preserve queries that are entirely stop words.
11
14
  attr_reader :remove_stop_words
@@ -16,7 +19,7 @@ module Vapi
16
19
  # specified, this defaults to no threshold. A threshold of 0 will default to no
17
20
  # threshold.
18
21
  attr_reader :score_threshold
19
- # @return [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlanSearchType] This is the search method used when searching for relevant chunks from the
22
+ # @return [Vapi::TrieveKnowledgeBaseSearchPlanSearchType] This is the search method used when searching for relevant chunks from the
20
23
  # vector store.
21
24
  attr_reader :search_type
22
25
  # @return [OpenStruct] Additional properties unmapped to the current class definition
@@ -27,6 +30,8 @@ module Vapi
27
30
 
28
31
  OMIT = Object.new
29
32
 
33
+ # @param top_k [Float] Specifies the number of top chunks to return. This corresponds to the
34
+ # `page_size` parameter in Trieve.
30
35
  # @param remove_stop_words [Boolean] If true, stop words (specified in server/src/stop-words.txt in the git repo)
31
36
  # will be removed. This will preserve queries that are entirely stop words.
32
37
  # @param score_threshold [Float] This is the score threshold to filter out chunks with a score below the
@@ -35,16 +40,19 @@ module Vapi
35
40
  # distance. This threshold applies before weight and bias modifications. If not
36
41
  # specified, this defaults to no threshold. A threshold of 0 will default to no
37
42
  # threshold.
38
- # @param search_type [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlanSearchType] This is the search method used when searching for relevant chunks from the
43
+ # @param search_type [Vapi::TrieveKnowledgeBaseSearchPlanSearchType] This is the search method used when searching for relevant chunks from the
39
44
  # vector store.
40
45
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
- # @return [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan]
42
- def initialize(search_type:, remove_stop_words: OMIT, score_threshold: OMIT, additional_properties: nil)
46
+ # @return [Vapi::TrieveKnowledgeBaseSearchPlan]
47
+ def initialize(search_type:, top_k: OMIT, remove_stop_words: OMIT, score_threshold: OMIT,
48
+ additional_properties: nil)
49
+ @top_k = top_k if top_k != OMIT
43
50
  @remove_stop_words = remove_stop_words if remove_stop_words != OMIT
44
51
  @score_threshold = score_threshold if score_threshold != OMIT
45
52
  @search_type = search_type
46
53
  @additional_properties = additional_properties
47
54
  @_field_set = {
55
+ "topK": top_k,
48
56
  "removeStopWords": remove_stop_words,
49
57
  "scoreThreshold": score_threshold,
50
58
  "searchType": search_type
@@ -53,18 +61,19 @@ module Vapi
53
61
  end
54
62
  end
55
63
 
56
- # Deserialize a JSON object to an instance of
57
- # TrieveKnowledgeBaseVectorStoreSearchPlan
64
+ # Deserialize a JSON object to an instance of TrieveKnowledgeBaseSearchPlan
58
65
  #
59
66
  # @param json_object [String]
60
- # @return [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan]
67
+ # @return [Vapi::TrieveKnowledgeBaseSearchPlan]
61
68
  def self.from_json(json_object:)
62
69
  struct = JSON.parse(json_object, object_class: OpenStruct)
63
70
  parsed_json = JSON.parse(json_object)
71
+ top_k = parsed_json["topK"]
64
72
  remove_stop_words = parsed_json["removeStopWords"]
65
73
  score_threshold = parsed_json["scoreThreshold"]
66
74
  search_type = parsed_json["searchType"]
67
75
  new(
76
+ top_k: top_k,
68
77
  remove_stop_words: remove_stop_words,
69
78
  score_threshold: score_threshold,
70
79
  search_type: search_type,
@@ -72,8 +81,7 @@ module Vapi
72
81
  )
73
82
  end
74
83
 
75
- # Serialize an instance of TrieveKnowledgeBaseVectorStoreSearchPlan to a JSON
76
- # object
84
+ # Serialize an instance of TrieveKnowledgeBaseSearchPlan to a JSON object
77
85
  #
78
86
  # @return [String]
79
87
  def to_json(*_args)
@@ -87,9 +95,10 @@ module Vapi
87
95
  # @param obj [Object]
88
96
  # @return [Void]
89
97
  def self.validate_raw(obj:)
98
+ obj.top_k&.is_a?(Float) != false || raise("Passed value for field obj.top_k is not the expected type, validation failed.")
90
99
  obj.remove_stop_words&.is_a?(Boolean) != false || raise("Passed value for field obj.remove_stop_words is not the expected type, validation failed.")
91
100
  obj.score_threshold&.is_a?(Float) != false || raise("Passed value for field obj.score_threshold is not the expected type, validation failed.")
92
- obj.search_type.is_a?(Vapi::TrieveKnowledgeBaseVectorStoreSearchPlanSearchType) != false || raise("Passed value for field obj.search_type is not the expected type, validation failed.")
101
+ obj.search_type.is_a?(Vapi::TrieveKnowledgeBaseSearchPlanSearchType) != false || raise("Passed value for field obj.search_type is not the expected type, validation failed.")
93
102
  end
94
103
  end
95
104
  end
@@ -3,7 +3,7 @@
3
3
  module Vapi
4
4
  # This is the search method used when searching for relevant chunks from the
5
5
  # vector store.
6
- class TrieveKnowledgeBaseVectorStoreSearchPlanSearchType
6
+ class TrieveKnowledgeBaseSearchPlanSearchType
7
7
  FULLTEXT = "fulltext"
8
8
  SEMANTIC = "semantic"
9
9
  HYBRID = "hybrid"
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative "twilio_phone_number_fallback_destination"
4
4
  require "date"
5
+ require_relative "twilio_phone_number_status"
5
6
  require_relative "server"
6
7
  require "ostruct"
7
8
  require "json"
@@ -23,6 +24,8 @@ module Vapi
23
24
  attr_reader :created_at
24
25
  # @return [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
25
26
  attr_reader :updated_at
27
+ # @return [Vapi::TwilioPhoneNumberStatus] This is the status of the phone number.
28
+ attr_reader :status
26
29
  # @return [String] This is the name of the phone number. This is just for your own reference.
27
30
  attr_reader :name
28
31
  # @return [String] This is the assistant that will be used for incoming calls to this phone number.
@@ -66,6 +69,7 @@ module Vapi
66
69
  # @param org_id [String] This is the unique identifier for the org that this phone number belongs to.
67
70
  # @param created_at [DateTime] This is the ISO 8601 date-time string of when the phone number was created.
68
71
  # @param updated_at [DateTime] This is the ISO 8601 date-time string of when the phone number was last updated.
72
+ # @param status [Vapi::TwilioPhoneNumberStatus] This is the status of the phone number.
69
73
  # @param name [String] This is the name of the phone number. This is just for your own reference.
70
74
  # @param assistant_id [String] This is the assistant that will be used for incoming calls to this phone number.
71
75
  # If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent
@@ -86,13 +90,14 @@ module Vapi
86
90
  # @param twilio_auth_token [String] This is the Twilio Auth Token for the phone number.
87
91
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
88
92
  # @return [Vapi::TwilioPhoneNumber]
89
- def initialize(id:, org_id:, created_at:, updated_at:, number:, twilio_account_sid:, twilio_auth_token:, fallback_destination: OMIT, name: OMIT, assistant_id: OMIT,
90
- squad_id: OMIT, server: OMIT, additional_properties: nil)
93
+ def initialize(id:, org_id:, created_at:, updated_at:, number:, twilio_account_sid:, twilio_auth_token:, fallback_destination: OMIT, status: OMIT, name: OMIT,
94
+ assistant_id: OMIT, squad_id: OMIT, server: OMIT, additional_properties: nil)
91
95
  @fallback_destination = fallback_destination if fallback_destination != OMIT
92
96
  @id = id
93
97
  @org_id = org_id
94
98
  @created_at = created_at
95
99
  @updated_at = updated_at
100
+ @status = status if status != OMIT
96
101
  @name = name if name != OMIT
97
102
  @assistant_id = assistant_id if assistant_id != OMIT
98
103
  @squad_id = squad_id if squad_id != OMIT
@@ -107,6 +112,7 @@ module Vapi
107
112
  "orgId": org_id,
108
113
  "createdAt": created_at,
109
114
  "updatedAt": updated_at,
115
+ "status": status,
110
116
  "name": name,
111
117
  "assistantId": assistant_id,
112
118
  "squadId": squad_id,
@@ -136,6 +142,7 @@ module Vapi
136
142
  org_id = parsed_json["orgId"]
137
143
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
138
144
  updated_at = (DateTime.parse(parsed_json["updatedAt"]) unless parsed_json["updatedAt"].nil?)
145
+ status = parsed_json["status"]
139
146
  name = parsed_json["name"]
140
147
  assistant_id = parsed_json["assistantId"]
141
148
  squad_id = parsed_json["squadId"]
@@ -154,6 +161,7 @@ module Vapi
154
161
  org_id: org_id,
155
162
  created_at: created_at,
156
163
  updated_at: updated_at,
164
+ status: status,
157
165
  name: name,
158
166
  assistant_id: assistant_id,
159
167
  squad_id: squad_id,
@@ -184,6 +192,7 @@ module Vapi
184
192
  obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
185
193
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
186
194
  obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
195
+ obj.status&.is_a?(Vapi::TwilioPhoneNumberStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
187
196
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
188
197
  obj.assistant_id&.is_a?(String) != false || raise("Passed value for field obj.assistant_id is not the expected type, validation failed.")
189
198
  obj.squad_id&.is_a?(String) != false || raise("Passed value for field obj.squad_id is not the expected type, validation failed.")
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vapi
4
+ # This is the status of the phone number.
5
+ class TwilioPhoneNumberStatus
6
+ ACTIVE = "active"
7
+ ACTIVATING = "activating"
8
+ BLOCKED = "blocked"
9
+ end
10
+ end
@@ -4,12 +4,14 @@ module Vapi
4
4
  # This is the region of the Azure resource.
5
5
  class UpdateAzureCredentialDtoRegion
6
6
  AUSTRALIA = "australia"
7
- CANADA = "canada"
7
+ CANADAEAST = "canadaeast"
8
+ CANADACENTRAL = "canadacentral"
8
9
  EASTUS_2 = "eastus2"
9
10
  EASTUS = "eastus"
10
11
  FRANCE = "france"
11
12
  INDIA = "india"
12
- JAPAN = "japan"
13
+ JAPANEAST = "japaneast"
14
+ JAPANWEST = "japanwest"
13
15
  UAENORTH = "uaenorth"
14
16
  NORTHCENTRALUS = "northcentralus"
15
17
  NORWAY = "norway"
@@ -2,6 +2,7 @@
2
2
 
3
3
  module Vapi
4
4
  class UpdateAzureOpenAiCredentialDtoModelsItem
5
+ GPT_4_O_20240806_PTU = "gpt-4o-2024-08-06-ptu"
5
6
  GPT_4_O_20240806 = "gpt-4o-2024-08-06"
6
7
  GPT_4_O_MINI_20240718 = "gpt-4o-mini-2024-07-18"
7
8
  GPT_4_O_20240513 = "gpt-4o-2024-05-13"
@@ -3,12 +3,14 @@
3
3
  module Vapi
4
4
  class UpdateAzureOpenAiCredentialDtoRegion
5
5
  AUSTRALIA = "australia"
6
- CANADA = "canada"
6
+ CANADAEAST = "canadaeast"
7
+ CANADACENTRAL = "canadacentral"
7
8
  EASTUS_2 = "eastus2"
8
9
  EASTUS = "eastus"
9
10
  FRANCE = "france"
10
11
  INDIA = "india"
11
- JAPAN = "japan"
12
+ JAPANEAST = "japaneast"
13
+ JAPANWEST = "japanwest"
12
14
  UAENORTH = "uaenorth"
13
15
  NORTHCENTRALUS = "northcentralus"
14
16
  NORWAY = "norway"
@@ -6,8 +6,7 @@ require "json"
6
6
 
7
7
  module Vapi
8
8
  class UpdateCustomKnowledgeBaseDto
9
- # @return [Vapi::Server] /**
10
- # This is where the knowledge base request will be sent.
9
+ # @return [Vapi::Server] This is where the knowledge base request will be sent.
11
10
  # Request Example:
12
11
  # POST https://{server.url}
13
12
  # Content-Type: application/json
@@ -54,8 +53,7 @@ module Vapi
54
53
 
55
54
  OMIT = Object.new
56
55
 
57
- # @param server [Vapi::Server] /**
58
- # This is where the knowledge base request will be sent.
56
+ # @param server [Vapi::Server] This is where the knowledge base request will be sent.
59
57
  # Request Example:
60
58
  # POST https://{server.url}
61
59
  # Content-Type: application/json
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "test_suite_test_scorer_ai"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vapi
8
+ class UpdateTestSuiteTestVoiceDto
9
+ # @return [Array<Vapi::TestSuiteTestScorerAi>] These are the scorers used to evaluate the test.
10
+ attr_reader :scorers
11
+ # @return [String] This is the name of the test.
12
+ attr_reader :name
13
+ # @return [String] This is the script to be used for the voice test.
14
+ attr_reader :script
15
+ # @return [Float] This is the number of attempts allowed for the test.
16
+ attr_reader :num_attempts
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param scorers [Array<Vapi::TestSuiteTestScorerAi>] These are the scorers used to evaluate the test.
26
+ # @param name [String] This is the name of the test.
27
+ # @param script [String] This is the script to be used for the voice test.
28
+ # @param num_attempts [Float] This is the number of attempts allowed for the test.
29
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
+ # @return [Vapi::UpdateTestSuiteTestVoiceDto]
31
+ def initialize(scorers: OMIT, name: OMIT, script: OMIT, num_attempts: OMIT, additional_properties: nil)
32
+ @scorers = scorers if scorers != OMIT
33
+ @name = name if name != OMIT
34
+ @script = script if script != OMIT
35
+ @num_attempts = num_attempts if num_attempts != OMIT
36
+ @additional_properties = additional_properties
37
+ @_field_set = {
38
+ "scorers": scorers,
39
+ "name": name,
40
+ "script": script,
41
+ "numAttempts": num_attempts
42
+ }.reject do |_k, v|
43
+ v == OMIT
44
+ end
45
+ end
46
+
47
+ # Deserialize a JSON object to an instance of UpdateTestSuiteTestVoiceDto
48
+ #
49
+ # @param json_object [String]
50
+ # @return [Vapi::UpdateTestSuiteTestVoiceDto]
51
+ def self.from_json(json_object:)
52
+ struct = JSON.parse(json_object, object_class: OpenStruct)
53
+ parsed_json = JSON.parse(json_object)
54
+ scorers = parsed_json["scorers"]&.map do |item|
55
+ item = item.to_json
56
+ Vapi::TestSuiteTestScorerAi.from_json(json_object: item)
57
+ end
58
+ name = parsed_json["name"]
59
+ script = parsed_json["script"]
60
+ num_attempts = parsed_json["numAttempts"]
61
+ new(
62
+ scorers: scorers,
63
+ name: name,
64
+ script: script,
65
+ num_attempts: num_attempts,
66
+ additional_properties: struct
67
+ )
68
+ end
69
+
70
+ # Serialize an instance of UpdateTestSuiteTestVoiceDto to a JSON object
71
+ #
72
+ # @return [String]
73
+ def to_json(*_args)
74
+ @_field_set&.to_json
75
+ end
76
+
77
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
78
+ # hash and check each fields type against the current object's property
79
+ # definitions.
80
+ #
81
+ # @param obj [Object]
82
+ # @return [Void]
83
+ def self.validate_raw(obj:)
84
+ obj.scorers&.is_a?(Array) != false || raise("Passed value for field obj.scorers is not the expected type, validation failed.")
85
+ obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
86
+ obj.script&.is_a?(String) != false || raise("Passed value for field obj.script is not the expected type, validation failed.")
87
+ obj.num_attempts&.is_a?(Float) != false || raise("Passed value for field obj.num_attempts is not the expected type, validation failed.")
88
+ end
89
+ end
90
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "trieve_knowledge_base_vector_store_search_plan"
4
- require_relative "trieve_knowledge_base_vector_store_create_plan"
3
+ require_relative "trieve_knowledge_base_search_plan"
4
+ require_relative "update_trieve_knowledge_base_dto_create_plan"
5
5
  require "ostruct"
6
6
  require "json"
7
7
 
@@ -9,17 +9,15 @@ module Vapi
9
9
  class UpdateTrieveKnowledgeBaseDto
10
10
  # @return [String] This is the name of the knowledge base.
11
11
  attr_reader :name
12
- # @return [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan] This is the plan on how to search the vector store while a call is going on.
13
- attr_reader :vector_store_search_plan
14
- # @return [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan] This is the plan if you want us to create a new vector store on your behalf. To
15
- # use an existing vector store from your account, use `vectoreStoreProviderId`
16
- attr_reader :vector_store_create_plan
17
- # @return [String] This is an vector store that you already have on your account with the provider.
18
- # To create a new vector store, use vectorStoreCreatePlan.
19
- # Usage:
20
- # - To bring your own vector store from Trieve, go to https://trieve.ai
21
- # - Create a dataset, and use the datasetId here.
22
- attr_reader :vector_store_provider_id
12
+ # @return [Vapi::TrieveKnowledgeBaseSearchPlan] This is the searching plan used when searching for relevant chunks from the
13
+ # vector store.
14
+ # You should configure this if you're running into these issues:
15
+ # - Too much unnecessary context is being fed as knowledge base context.
16
+ # - Not enough relevant context is being fed as knowledge base context.
17
+ attr_reader :search_plan
18
+ # @return [Vapi::UpdateTrieveKnowledgeBaseDtoCreatePlan] This is the plan if you want us to create/import a new vector store using
19
+ # Trieve.
20
+ attr_reader :create_plan
23
21
  # @return [OpenStruct] Additional properties unmapped to the current class definition
24
22
  attr_reader :additional_properties
25
23
  # @return [Object]
@@ -29,29 +27,21 @@ module Vapi
29
27
  OMIT = Object.new
30
28
 
31
29
  # @param name [String] This is the name of the knowledge base.
32
- # @param vector_store_search_plan [Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan] This is the plan on how to search the vector store while a call is going on.
33
- # @param vector_store_create_plan [Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan] This is the plan if you want us to create a new vector store on your behalf. To
34
- # use an existing vector store from your account, use `vectoreStoreProviderId`
35
- # @param vector_store_provider_id [String] This is an vector store that you already have on your account with the provider.
36
- # To create a new vector store, use vectorStoreCreatePlan.
37
- # Usage:
38
- # - To bring your own vector store from Trieve, go to https://trieve.ai
39
- # - Create a dataset, and use the datasetId here.
30
+ # @param search_plan [Vapi::TrieveKnowledgeBaseSearchPlan] This is the searching plan used when searching for relevant chunks from the
31
+ # vector store.
32
+ # You should configure this if you're running into these issues:
33
+ # - Too much unnecessary context is being fed as knowledge base context.
34
+ # - Not enough relevant context is being fed as knowledge base context.
35
+ # @param create_plan [Vapi::UpdateTrieveKnowledgeBaseDtoCreatePlan] This is the plan if you want us to create/import a new vector store using
36
+ # Trieve.
40
37
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
38
  # @return [Vapi::UpdateTrieveKnowledgeBaseDto]
42
- def initialize(name: OMIT, vector_store_search_plan: OMIT, vector_store_create_plan: OMIT,
43
- vector_store_provider_id: OMIT, additional_properties: nil)
39
+ def initialize(name: OMIT, search_plan: OMIT, create_plan: OMIT, additional_properties: nil)
44
40
  @name = name if name != OMIT
45
- @vector_store_search_plan = vector_store_search_plan if vector_store_search_plan != OMIT
46
- @vector_store_create_plan = vector_store_create_plan if vector_store_create_plan != OMIT
47
- @vector_store_provider_id = vector_store_provider_id if vector_store_provider_id != OMIT
41
+ @search_plan = search_plan if search_plan != OMIT
42
+ @create_plan = create_plan if create_plan != OMIT
48
43
  @additional_properties = additional_properties
49
- @_field_set = {
50
- "name": name,
51
- "vectorStoreSearchPlan": vector_store_search_plan,
52
- "vectorStoreCreatePlan": vector_store_create_plan,
53
- "vectorStoreProviderId": vector_store_provider_id
54
- }.reject do |_k, v|
44
+ @_field_set = { "name": name, "searchPlan": search_plan, "createPlan": create_plan }.reject do |_k, v|
55
45
  v == OMIT
56
46
  end
57
47
  end
@@ -64,24 +54,22 @@ module Vapi
64
54
  struct = JSON.parse(json_object, object_class: OpenStruct)
65
55
  parsed_json = JSON.parse(json_object)
66
56
  name = parsed_json["name"]
67
- if parsed_json["vectorStoreSearchPlan"].nil?
68
- vector_store_search_plan = nil
57
+ if parsed_json["searchPlan"].nil?
58
+ search_plan = nil
69
59
  else
70
- vector_store_search_plan = parsed_json["vectorStoreSearchPlan"].to_json
71
- vector_store_search_plan = Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan.from_json(json_object: vector_store_search_plan)
60
+ search_plan = parsed_json["searchPlan"].to_json
61
+ search_plan = Vapi::TrieveKnowledgeBaseSearchPlan.from_json(json_object: search_plan)
72
62
  end
73
- if parsed_json["vectorStoreCreatePlan"].nil?
74
- vector_store_create_plan = nil
63
+ if parsed_json["createPlan"].nil?
64
+ create_plan = nil
75
65
  else
76
- vector_store_create_plan = parsed_json["vectorStoreCreatePlan"].to_json
77
- vector_store_create_plan = Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan.from_json(json_object: vector_store_create_plan)
66
+ create_plan = parsed_json["createPlan"].to_json
67
+ create_plan = Vapi::UpdateTrieveKnowledgeBaseDtoCreatePlan.from_json(json_object: create_plan)
78
68
  end
79
- vector_store_provider_id = parsed_json["vectorStoreProviderId"]
80
69
  new(
81
70
  name: name,
82
- vector_store_search_plan: vector_store_search_plan,
83
- vector_store_create_plan: vector_store_create_plan,
84
- vector_store_provider_id: vector_store_provider_id,
71
+ search_plan: search_plan,
72
+ create_plan: create_plan,
85
73
  additional_properties: struct
86
74
  )
87
75
  end
@@ -101,9 +89,8 @@ module Vapi
101
89
  # @return [Void]
102
90
  def self.validate_raw(obj:)
103
91
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
104
- obj.vector_store_search_plan.nil? || Vapi::TrieveKnowledgeBaseVectorStoreSearchPlan.validate_raw(obj: obj.vector_store_search_plan)
105
- obj.vector_store_create_plan.nil? || Vapi::TrieveKnowledgeBaseVectorStoreCreatePlan.validate_raw(obj: obj.vector_store_create_plan)
106
- obj.vector_store_provider_id&.is_a?(String) != false || raise("Passed value for field obj.vector_store_provider_id is not the expected type, validation failed.")
92
+ obj.search_plan.nil? || Vapi::TrieveKnowledgeBaseSearchPlan.validate_raw(obj: obj.search_plan)
93
+ obj.create_plan.nil? || Vapi::UpdateTrieveKnowledgeBaseDtoCreatePlan.validate_raw(obj: obj.create_plan)
107
94
  end
108
95
  end
109
96
  end
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "trieve_knowledge_base_create"
5
+ require_relative "trieve_knowledge_base_import"
6
+
7
+ module Vapi
8
+ # This is the plan if you want us to create/import a new vector store using
9
+ # Trieve.
10
+ class UpdateTrieveKnowledgeBaseDtoCreatePlan
11
+ # @return [Object]
12
+ attr_reader :member
13
+ # @return [String]
14
+ attr_reader :discriminant
15
+
16
+ private_class_method :new
17
+ alias kind_of? is_a?
18
+
19
+ # @param member [Object]
20
+ # @param discriminant [String]
21
+ # @return [Vapi::UpdateTrieveKnowledgeBaseDtoCreatePlan]
22
+ def initialize(member:, discriminant:)
23
+ @member = member
24
+ @discriminant = discriminant
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of
28
+ # UpdateTrieveKnowledgeBaseDtoCreatePlan
29
+ #
30
+ # @param json_object [String]
31
+ # @return [Vapi::UpdateTrieveKnowledgeBaseDtoCreatePlan]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ member = case struct.type
35
+ when "create"
36
+ Vapi::TrieveKnowledgeBaseCreate.from_json(json_object: json_object)
37
+ when "import"
38
+ Vapi::TrieveKnowledgeBaseImport.from_json(json_object: json_object)
39
+ else
40
+ Vapi::TrieveKnowledgeBaseCreate.from_json(json_object: json_object)
41
+ end
42
+ new(member: member, discriminant: struct.type)
43
+ end
44
+
45
+ # For Union Types, to_json functionality is delegated to the wrapped member.
46
+ #
47
+ # @return [String]
48
+ def to_json(*_args)
49
+ case @discriminant
50
+ when "create"
51
+ { **@member.to_json, type: @discriminant }.to_json
52
+ when "import"
53
+ { **@member.to_json, type: @discriminant }.to_json
54
+ else
55
+ { "type": @discriminant, value: @member }.to_json
56
+ end
57
+ @member.to_json
58
+ end
59
+
60
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
61
+ # hash and check each fields type against the current object's property
62
+ # definitions.
63
+ #
64
+ # @param obj [Object]
65
+ # @return [Void]
66
+ def self.validate_raw(obj:)
67
+ case obj.type
68
+ when "create"
69
+ Vapi::TrieveKnowledgeBaseCreate.validate_raw(obj: obj)
70
+ when "import"
71
+ Vapi::TrieveKnowledgeBaseImport.validate_raw(obj: obj)
72
+ else
73
+ raise("Passed value matched no type within the union, validation failed.")
74
+ end
75
+ end
76
+
77
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
78
+ #
79
+ # @param obj [Object]
80
+ # @return [Boolean]
81
+ def is_a?(obj)
82
+ @member.is_a?(obj)
83
+ end
84
+
85
+ # @param member [Vapi::TrieveKnowledgeBaseCreate]
86
+ # @return [Vapi::UpdateTrieveKnowledgeBaseDtoCreatePlan]
87
+ def self.create(member:)
88
+ new(member: member, discriminant: "create")
89
+ end
90
+
91
+ # @param member [Vapi::TrieveKnowledgeBaseImport]
92
+ # @return [Vapi::UpdateTrieveKnowledgeBaseDtoCreatePlan]
93
+ def self.import(member:)
94
+ new(member: member, discriminant: "import")
95
+ end
96
+ end
97
+ end