vapi_server_sdk 0.0.0.pre.alpha7
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.
- checksums.yaml +7 -0
- data/lib/core/file_utilities.rb +26 -0
- data/lib/environment.rb +7 -0
- data/lib/gemconfig.rb +14 -0
- data/lib/requests.rb +174 -0
- data/lib/types_export.rb +526 -0
- data/lib/vapi_server_sdk/analytics/client.rb +115 -0
- data/lib/vapi_server_sdk/assistants/client.rb +949 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_background_sound.rb +12 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_client_messages_item.rb +22 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_first_message_mode.rb +21 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_model.rb +201 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_server_messages_item.rb +23 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_transcriber.rb +110 -0
- data/lib/vapi_server_sdk/assistants/types/update_assistant_dto_voice.rb +188 -0
- data/lib/vapi_server_sdk/blocks/client.rb +552 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_create_request.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_create_response.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_delete_response.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_get_response.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_list_response_item.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/blocks_update_response.rb +109 -0
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_messages_item.rb +96 -0
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_steps_item.rb +96 -0
- data/lib/vapi_server_sdk/blocks/types/update_block_dto_tool.rb +163 -0
- data/lib/vapi_server_sdk/calls/client.rb +966 -0
- data/lib/vapi_server_sdk/files/client.rb +347 -0
- data/lib/vapi_server_sdk/logs/client.rb +174 -0
- data/lib/vapi_server_sdk/logs/types/logs_get_request_sort_order.rb +10 -0
- data/lib/vapi_server_sdk/logs/types/logs_get_request_type.rb +12 -0
- data/lib/vapi_server_sdk/phone_numbers/client.rb +455 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_request.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_create_response.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_delete_response.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_get_response.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_list_response_item.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/phone_numbers_update_response.rb +122 -0
- data/lib/vapi_server_sdk/phone_numbers/types/update_phone_number_dto_fallback_destination.rb +103 -0
- data/lib/vapi_server_sdk/squads/client.rb +1050 -0
- data/lib/vapi_server_sdk/tools/client.rb +473 -0
- data/lib/vapi_server_sdk/tools/types/tools_create_request.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_create_response.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_delete_response.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_get_response.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_list_response_item.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/tools_update_response.rb +161 -0
- data/lib/vapi_server_sdk/tools/types/update_tool_dto_messages_item.rb +122 -0
- data/lib/vapi_server_sdk/types/add_voice_to_provider_dto.rb +78 -0
- data/lib/vapi_server_sdk/types/analysis.rb +88 -0
- data/lib/vapi_server_sdk/types/analysis_cost.rb +93 -0
- data/lib/vapi_server_sdk/types/analysis_cost_analysis_type.rb +10 -0
- data/lib/vapi_server_sdk/types/analysis_cost_breakdown.rb +137 -0
- data/lib/vapi_server_sdk/types/analysis_plan.rb +103 -0
- data/lib/vapi_server_sdk/types/analytics_operation.rb +76 -0
- data/lib/vapi_server_sdk/types/analytics_operation_column.rb +17 -0
- data/lib/vapi_server_sdk/types/analytics_operation_operation.rb +12 -0
- data/lib/vapi_server_sdk/types/analytics_query.rb +107 -0
- data/lib/vapi_server_sdk/types/analytics_query_group_by_item.rb +11 -0
- data/lib/vapi_server_sdk/types/analytics_query_result.rb +96 -0
- data/lib/vapi_server_sdk/types/anthropic_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/anthropic_model.rb +170 -0
- data/lib/vapi_server_sdk/types/anthropic_model_model.rb +11 -0
- data/lib/vapi_server_sdk/types/anthropic_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/anyscale_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/anyscale_model.rb +169 -0
- data/lib/vapi_server_sdk/types/anyscale_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/artifact.rb +133 -0
- data/lib/vapi_server_sdk/types/artifact_messages_item.rb +96 -0
- data/lib/vapi_server_sdk/types/artifact_plan.rb +139 -0
- data/lib/vapi_server_sdk/types/assignment_mutation.rb +189 -0
- data/lib/vapi_server_sdk/types/assignment_mutation_conditions_item.rb +94 -0
- data/lib/vapi_server_sdk/types/assistant.rb +562 -0
- data/lib/vapi_server_sdk/types/assistant_background_sound.rb +10 -0
- data/lib/vapi_server_sdk/types/assistant_client_messages_item.rb +20 -0
- data/lib/vapi_server_sdk/types/assistant_first_message_mode.rb +19 -0
- data/lib/vapi_server_sdk/types/assistant_model.rb +199 -0
- data/lib/vapi_server_sdk/types/assistant_overrides.rb +539 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_background_sound.rb +10 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_client_messages_item.rb +20 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_first_message_mode.rb +19 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_model.rb +199 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_server_messages_item.rb +21 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_transcriber.rb +108 -0
- data/lib/vapi_server_sdk/types/assistant_overrides_voice.rb +186 -0
- data/lib/vapi_server_sdk/types/assistant_server_messages_item.rb +21 -0
- data/lib/vapi_server_sdk/types/assistant_transcriber.rb +108 -0
- data/lib/vapi_server_sdk/types/assistant_voice.rb +186 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential.rb +128 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_models_item.rb +14 -0
- data/lib/vapi_server_sdk/types/azure_open_ai_credential_region.rb +21 -0
- data/lib/vapi_server_sdk/types/azure_voice.rb +104 -0
- data/lib/vapi_server_sdk/types/azure_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/azure_voice_id_enum.rb +9 -0
- data/lib/vapi_server_sdk/types/block_complete_message.rb +73 -0
- data/lib/vapi_server_sdk/types/block_complete_message_conditions_item.rb +94 -0
- data/lib/vapi_server_sdk/types/block_start_message.rb +73 -0
- data/lib/vapi_server_sdk/types/block_start_message_conditions_item.rb +94 -0
- data/lib/vapi_server_sdk/types/bot_message.rb +111 -0
- data/lib/vapi_server_sdk/types/bucket_plan.rb +139 -0
- data/lib/vapi_server_sdk/types/buy_phone_number_dto.rb +151 -0
- data/lib/vapi_server_sdk/types/buy_phone_number_dto_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/byo_phone_number.rb +224 -0
- data/lib/vapi_server_sdk/types/byo_phone_number_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/byo_sip_trunk_credential.rb +166 -0
- data/lib/vapi_server_sdk/types/call.rb +425 -0
- data/lib/vapi_server_sdk/types/call_costs_item.rb +146 -0
- data/lib/vapi_server_sdk/types/call_destination.rb +96 -0
- data/lib/vapi_server_sdk/types/call_ended_reason.rb +175 -0
- data/lib/vapi_server_sdk/types/call_messages_item.rb +96 -0
- data/lib/vapi_server_sdk/types/call_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/call_phone_call_provider.rb +11 -0
- data/lib/vapi_server_sdk/types/call_phone_call_transport.rb +10 -0
- data/lib/vapi_server_sdk/types/call_status.rb +12 -0
- data/lib/vapi_server_sdk/types/call_type.rb +10 -0
- data/lib/vapi_server_sdk/types/callback_step.rb +204 -0
- data/lib/vapi_server_sdk/types/callback_step_block.rb +108 -0
- data/lib/vapi_server_sdk/types/cartesia_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/cartesia_voice.rb +113 -0
- data/lib/vapi_server_sdk/types/cartesia_voice_language.rb +15 -0
- data/lib/vapi_server_sdk/types/cartesia_voice_model.rb +10 -0
- data/lib/vapi_server_sdk/types/chunk_plan.rb +128 -0
- data/lib/vapi_server_sdk/types/client_inbound_message.rb +63 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_add_message.rb +61 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_control.rb +56 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_control_control.rb +10 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_message.rb +109 -0
- data/lib/vapi_server_sdk/types/client_inbound_message_say.rb +67 -0
- data/lib/vapi_server_sdk/types/client_message.rb +65 -0
- data/lib/vapi_server_sdk/types/client_message_conversation_update.rb +79 -0
- data/lib/vapi_server_sdk/types/client_message_conversation_update_messages_item.rb +97 -0
- data/lib/vapi_server_sdk/types/client_message_hang.rb +47 -0
- data/lib/vapi_server_sdk/types/client_message_language_changed.rb +55 -0
- data/lib/vapi_server_sdk/types/client_message_message.rb +214 -0
- data/lib/vapi_server_sdk/types/client_message_metadata.rb +55 -0
- data/lib/vapi_server_sdk/types/client_message_model_output.rb +55 -0
- data/lib/vapi_server_sdk/types/client_message_speech_update.rb +67 -0
- data/lib/vapi_server_sdk/types/client_message_speech_update_role.rb +9 -0
- data/lib/vapi_server_sdk/types/client_message_speech_update_status.rb +9 -0
- data/lib/vapi_server_sdk/types/client_message_tool_calls.rb +75 -0
- data/lib/vapi_server_sdk/types/client_message_tool_calls_result.rb +55 -0
- data/lib/vapi_server_sdk/types/client_message_tool_calls_tool_with_tool_call_list_item.rb +108 -0
- data/lib/vapi_server_sdk/types/client_message_transcript.rb +74 -0
- data/lib/vapi_server_sdk/types/client_message_transcript_role.rb +9 -0
- data/lib/vapi_server_sdk/types/client_message_transcript_transcript_type.rb +9 -0
- data/lib/vapi_server_sdk/types/client_message_user_interrupted.rb +47 -0
- data/lib/vapi_server_sdk/types/client_message_voice_input.rb +55 -0
- data/lib/vapi_server_sdk/types/clone_voice_dto.rb +83 -0
- data/lib/vapi_server_sdk/types/condition.rb +73 -0
- data/lib/vapi_server_sdk/types/condition_operator.rb +13 -0
- data/lib/vapi_server_sdk/types/conversation_block.rb +239 -0
- data/lib/vapi_server_sdk/types/conversation_block_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/cost_breakdown.rb +141 -0
- data/lib/vapi_server_sdk/types/create_anthropic_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_anyscale_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto.rb +529 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_background_sound.rb +10 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_client_messages_item.rb +20 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_first_message_mode.rb +19 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_model.rb +199 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_server_messages_item.rb +21 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_transcriber.rb +108 -0
- data/lib/vapi_server_sdk/types/create_assistant_dto_voice.rb +186 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto.rb +94 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_models_item.rb +14 -0
- data/lib/vapi_server_sdk/types/create_azure_open_ai_credential_dto_region.rb +21 -0
- data/lib/vapi_server_sdk/types/create_byo_phone_number_dto.rb +191 -0
- data/lib/vapi_server_sdk/types/create_byo_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/create_byo_sip_trunk_credential_dto.rb +133 -0
- data/lib/vapi_server_sdk/types/create_cartesia_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_conversation_block_dto.rb +206 -0
- data/lib/vapi_server_sdk/types/create_conversation_block_dto_messages_item.rb +95 -0
- data/lib/vapi_server_sdk/types/create_custom_llm_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_customer_dto.rb +117 -0
- data/lib/vapi_server_sdk/types/create_deep_infra_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_deepgram_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/create_dtmf_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_dtmf_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_eleven_labs_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_end_call_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_end_call_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_function_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_function_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_gcp_credential_dto.rb +104 -0
- data/lib/vapi_server_sdk/types/create_ghl_tool_dto.rb +158 -0
- data/lib/vapi_server_sdk/types/create_ghl_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_gladia_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_go_high_level_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_groq_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_lmnt_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_make_credential_dto.rb +79 -0
- data/lib/vapi_server_sdk/types/create_make_tool_dto.rb +158 -0
- data/lib/vapi_server_sdk/types/create_make_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_open_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_open_router_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_org_dto.rb +129 -0
- data/lib/vapi_server_sdk/types/create_outbound_call_dto.rb +191 -0
- data/lib/vapi_server_sdk/types/create_output_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_output_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_perplexity_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_play_ht_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/create_rime_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_runpod_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_s_3_credential_dto.rb +101 -0
- data/lib/vapi_server_sdk/types/create_squad_dto.rb +94 -0
- data/lib/vapi_server_sdk/types/create_together_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/create_token_dto.rb +81 -0
- data/lib/vapi_server_sdk/types/create_token_dto_tag.rb +9 -0
- data/lib/vapi_server_sdk/types/create_tool_call_block_dto.rb +168 -0
- data/lib/vapi_server_sdk/types/create_tool_call_block_dto_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/create_tool_call_block_dto_tool.rb +161 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto.rb +131 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto_details.rb +159 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto_provider.rb +9 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto_provider_details.rb +107 -0
- data/lib/vapi_server_sdk/types/create_tool_template_dto_visibility.rb +8 -0
- data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_destinations_item.rb +121 -0
- data/lib/vapi_server_sdk/types/create_transfer_call_tool_dto_messages_item.rb +121 -0
- data/lib/vapi_server_sdk/types/create_twilio_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto.rb +167 -0
- data/lib/vapi_server_sdk/types/create_twilio_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto.rb +155 -0
- data/lib/vapi_server_sdk/types/create_vapi_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/create_voicemail_tool_dto.rb +139 -0
- data/lib/vapi_server_sdk/types/create_voicemail_tool_dto_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/create_vonage_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto.rb +161 -0
- data/lib/vapi_server_sdk/types/create_vonage_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/create_web_call_dto.rb +123 -0
- data/lib/vapi_server_sdk/types/create_workflow_block_dto.rb +154 -0
- data/lib/vapi_server_sdk/types/create_workflow_block_dto_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/create_workflow_block_dto_steps_item.rb +94 -0
- data/lib/vapi_server_sdk/types/custom_llm_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/custom_llm_model.rb +204 -0
- data/lib/vapi_server_sdk/types/custom_llm_model_metadata_send_mode.rb +18 -0
- data/lib/vapi_server_sdk/types/custom_llm_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/deep_infra_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/deep_infra_model.rb +169 -0
- data/lib/vapi_server_sdk/types/deep_infra_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/deepgram_credential.rb +114 -0
- data/lib/vapi_server_sdk/types/deepgram_transcriber.rb +143 -0
- data/lib/vapi_server_sdk/types/deepgram_transcriber_language.rb +62 -0
- data/lib/vapi_server_sdk/types/deepgram_transcriber_model.rb +34 -0
- data/lib/vapi_server_sdk/types/deepgram_voice.rb +96 -0
- data/lib/vapi_server_sdk/types/deepgram_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/deepgram_voice_id_enum.rb +18 -0
- data/lib/vapi_server_sdk/types/dtmf_tool.rb +178 -0
- data/lib/vapi_server_sdk/types/dtmf_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/eleven_labs_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/eleven_labs_voice.rb +176 -0
- data/lib/vapi_server_sdk/types/eleven_labs_voice_id.rb +54 -0
- data/lib/vapi_server_sdk/types/eleven_labs_voice_id_enum.rb +21 -0
- data/lib/vapi_server_sdk/types/eleven_labs_voice_model.rb +12 -0
- data/lib/vapi_server_sdk/types/end_call_tool.rb +178 -0
- data/lib/vapi_server_sdk/types/end_call_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/error.rb +55 -0
- data/lib/vapi_server_sdk/types/exact_replacement.rb +65 -0
- data/lib/vapi_server_sdk/types/file.rb +185 -0
- data/lib/vapi_server_sdk/types/file_status.rb +8 -0
- data/lib/vapi_server_sdk/types/format_plan.rb +130 -0
- data/lib/vapi_server_sdk/types/format_plan_replacements_item.rb +94 -0
- data/lib/vapi_server_sdk/types/function_tool.rb +178 -0
- data/lib/vapi_server_sdk/types/function_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/function_tool_provider_details.rb +71 -0
- data/lib/vapi_server_sdk/types/function_tool_with_tool_call.rb +158 -0
- data/lib/vapi_server_sdk/types/function_tool_with_tool_call_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/gcp_credential.rb +138 -0
- data/lib/vapi_server_sdk/types/gcp_key.rb +143 -0
- data/lib/vapi_server_sdk/types/ghl_tool.rb +192 -0
- data/lib/vapi_server_sdk/types/ghl_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/ghl_tool_metadata.rb +67 -0
- data/lib/vapi_server_sdk/types/ghl_tool_provider_details.rb +115 -0
- data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call.rb +173 -0
- data/lib/vapi_server_sdk/types/ghl_tool_with_tool_call_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/gladia_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/gladia_transcriber.rb +122 -0
- data/lib/vapi_server_sdk/types/gladia_transcriber_language.rb +108 -0
- data/lib/vapi_server_sdk/types/gladia_transcriber_language_behaviour.rb +9 -0
- data/lib/vapi_server_sdk/types/gladia_transcriber_model.rb +8 -0
- data/lib/vapi_server_sdk/types/go_high_level_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/groq_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/groq_model.rb +170 -0
- data/lib/vapi_server_sdk/types/groq_model_model.rb +17 -0
- data/lib/vapi_server_sdk/types/groq_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/handoff_step.rb +204 -0
- data/lib/vapi_server_sdk/types/handoff_step_block.rb +108 -0
- data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto.rb +167 -0
- data/lib/vapi_server_sdk/types/import_twilio_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto.rb +165 -0
- data/lib/vapi_server_sdk/types/import_vonage_phone_number_dto_fallback_destination.rb +101 -0
- data/lib/vapi_server_sdk/types/invite_user_dto.rb +66 -0
- data/lib/vapi_server_sdk/types/invite_user_dto_role.rb +9 -0
- data/lib/vapi_server_sdk/types/json_schema.rb +125 -0
- data/lib/vapi_server_sdk/types/json_schema_type.rb +21 -0
- data/lib/vapi_server_sdk/types/knowledge_base.rb +74 -0
- data/lib/vapi_server_sdk/types/lmnt_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/lmnt_voice.rb +104 -0
- data/lib/vapi_server_sdk/types/lmnt_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/lmnt_voice_id_enum.rb +8 -0
- data/lib/vapi_server_sdk/types/log.rb +248 -0
- data/lib/vapi_server_sdk/types/log_request_http_method.rb +12 -0
- data/lib/vapi_server_sdk/types/log_resource.rb +15 -0
- data/lib/vapi_server_sdk/types/log_type.rb +11 -0
- data/lib/vapi_server_sdk/types/logs_paginated_response.rb +75 -0
- data/lib/vapi_server_sdk/types/make_credential.rb +118 -0
- data/lib/vapi_server_sdk/types/make_tool.rb +192 -0
- data/lib/vapi_server_sdk/types/make_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/make_tool_metadata.rb +67 -0
- data/lib/vapi_server_sdk/types/make_tool_provider_details.rb +107 -0
- data/lib/vapi_server_sdk/types/make_tool_with_tool_call.rb +173 -0
- data/lib/vapi_server_sdk/types/make_tool_with_tool_call_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/message_plan.rb +107 -0
- data/lib/vapi_server_sdk/types/metrics.rb +165 -0
- data/lib/vapi_server_sdk/types/model_based_condition.rb +117 -0
- data/lib/vapi_server_sdk/types/model_cost.rb +106 -0
- data/lib/vapi_server_sdk/types/monitor.rb +71 -0
- data/lib/vapi_server_sdk/types/monitor_plan.rb +85 -0
- data/lib/vapi_server_sdk/types/neets_voice.rb +96 -0
- data/lib/vapi_server_sdk/types/neets_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/neets_voice_id_enum.rb +7 -0
- data/lib/vapi_server_sdk/types/open_ai_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/open_ai_function.rb +96 -0
- data/lib/vapi_server_sdk/types/open_ai_function_parameters.rb +85 -0
- data/lib/vapi_server_sdk/types/open_ai_message.rb +68 -0
- data/lib/vapi_server_sdk/types/open_ai_message_role.rb +11 -0
- data/lib/vapi_server_sdk/types/open_ai_model.rb +191 -0
- data/lib/vapi_server_sdk/types/open_ai_model_fallback_models_item.rb +23 -0
- data/lib/vapi_server_sdk/types/open_ai_model_model.rb +24 -0
- data/lib/vapi_server_sdk/types/open_ai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/open_ai_voice.rb +99 -0
- data/lib/vapi_server_sdk/types/open_ai_voice_id.rb +13 -0
- data/lib/vapi_server_sdk/types/open_router_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/open_router_model.rb +169 -0
- data/lib/vapi_server_sdk/types/open_router_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/org.rb +212 -0
- data/lib/vapi_server_sdk/types/org_plan.rb +79 -0
- data/lib/vapi_server_sdk/types/output_tool.rb +178 -0
- data/lib/vapi_server_sdk/types/output_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/pagination_meta.rb +72 -0
- data/lib/vapi_server_sdk/types/perplexity_ai_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/perplexity_ai_model.rb +169 -0
- data/lib/vapi_server_sdk/types/perplexity_ai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/play_ht_credential.rb +109 -0
- data/lib/vapi_server_sdk/types/play_ht_voice.rb +166 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_emotion.rb +19 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/play_ht_voice_id_enum.rb +16 -0
- data/lib/vapi_server_sdk/types/punctuation_boundary.rb +21 -0
- data/lib/vapi_server_sdk/types/regex_option.rb +74 -0
- data/lib/vapi_server_sdk/types/regex_option_type.rb +13 -0
- data/lib/vapi_server_sdk/types/regex_replacement.rb +82 -0
- data/lib/vapi_server_sdk/types/rime_ai_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice.rb +114 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice_id.rb +53 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice_id_enum.rb +87 -0
- data/lib/vapi_server_sdk/types/rime_ai_voice_model.rb +9 -0
- data/lib/vapi_server_sdk/types/rule_based_condition.rb +195 -0
- data/lib/vapi_server_sdk/types/rule_based_condition_operator.rb +14 -0
- data/lib/vapi_server_sdk/types/runpod_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/s_3_credential.rb +134 -0
- data/lib/vapi_server_sdk/types/sbc_configuration.rb +47 -0
- data/lib/vapi_server_sdk/types/server.rb +82 -0
- data/lib/vapi_server_sdk/types/server_message.rb +77 -0
- data/lib/vapi_server_sdk/types/server_message_assistant_request.rb +169 -0
- data/lib/vapi_server_sdk/types/server_message_assistant_request_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_conversation_update.rb +197 -0
- data/lib/vapi_server_sdk/types/server_message_conversation_update_messages_item.rb +97 -0
- data/lib/vapi_server_sdk/types/server_message_conversation_update_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report.rb +241 -0
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_costs_item.rb +147 -0
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_ended_reason.rb +176 -0
- data/lib/vapi_server_sdk/types/server_message_end_of_call_report_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_hang.rb +169 -0
- data/lib/vapi_server_sdk/types/server_message_hang_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_language_changed.rb +177 -0
- data/lib/vapi_server_sdk/types/server_message_language_changed_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_message.rb +285 -0
- data/lib/vapi_server_sdk/types/server_message_model_output.rb +177 -0
- data/lib/vapi_server_sdk/types/server_message_model_output_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_phone_call_control.rb +192 -0
- data/lib/vapi_server_sdk/types/server_message_phone_call_control_destination.rb +96 -0
- data/lib/vapi_server_sdk/types/server_message_phone_call_control_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_phone_call_control_request.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_response.rb +65 -0
- data/lib/vapi_server_sdk/types/server_message_response_assistant_request.rb +162 -0
- data/lib/vapi_server_sdk/types/server_message_response_assistant_request_destination.rb +98 -0
- data/lib/vapi_server_sdk/types/server_message_response_message_response.rb +85 -0
- data/lib/vapi_server_sdk/types/server_message_response_tool_calls.rb +71 -0
- data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request.rb +75 -0
- data/lib/vapi_server_sdk/types/server_message_response_transfer_destination_request_destination.rb +122 -0
- data/lib/vapi_server_sdk/types/server_message_response_voice_request.rb +97 -0
- data/lib/vapi_server_sdk/types/server_message_speech_update.rb +187 -0
- data/lib/vapi_server_sdk/types/server_message_speech_update_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_speech_update_role.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_speech_update_status.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_status_update.rb +255 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_destination.rb +96 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_ended_reason.rb +175 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_messages_item.rb +97 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_status_update_status.rb +12 -0
- data/lib/vapi_server_sdk/types/server_message_tool_calls.rb +195 -0
- data/lib/vapi_server_sdk/types/server_message_tool_calls_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_tool_calls_tool_with_tool_call_list_item.rb +108 -0
- data/lib/vapi_server_sdk/types/server_message_transcript.rb +195 -0
- data/lib/vapi_server_sdk/types/server_message_transcript_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_transcript_role.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_transcript_transcript_type.rb +9 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_destination_request.rb +171 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_destination_request_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_update.rb +213 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_update_destination.rb +122 -0
- data/lib/vapi_server_sdk/types/server_message_transfer_update_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_user_interrupted.rb +169 -0
- data/lib/vapi_server_sdk/types/server_message_user_interrupted_phone_number.rb +125 -0
- data/lib/vapi_server_sdk/types/server_message_voice_input.rb +177 -0
- data/lib/vapi_server_sdk/types/server_message_voice_input_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/server_message_voice_request.rb +185 -0
- data/lib/vapi_server_sdk/types/server_message_voice_request_phone_number.rb +124 -0
- data/lib/vapi_server_sdk/types/sip_trunk_gateway.rb +138 -0
- data/lib/vapi_server_sdk/types/sip_trunk_gateway_outbound_protocol.rb +12 -0
- data/lib/vapi_server_sdk/types/sip_trunk_outbound_authentication_plan.rb +86 -0
- data/lib/vapi_server_sdk/types/sip_trunk_outbound_sip_register_plan.rb +74 -0
- data/lib/vapi_server_sdk/types/squad.rb +132 -0
- data/lib/vapi_server_sdk/types/squad_member_dto.rb +113 -0
- data/lib/vapi_server_sdk/types/start_speaking_plan.rb +119 -0
- data/lib/vapi_server_sdk/types/step_destination.rb +82 -0
- data/lib/vapi_server_sdk/types/step_destination_conditions_item.rb +94 -0
- data/lib/vapi_server_sdk/types/stop_speaking_plan.rb +120 -0
- data/lib/vapi_server_sdk/types/structured_data_plan.rb +140 -0
- data/lib/vapi_server_sdk/types/success_evaluation_plan.rb +161 -0
- data/lib/vapi_server_sdk/types/success_evaluation_plan_rubric.rb +29 -0
- data/lib/vapi_server_sdk/types/summary_plan.rb +110 -0
- data/lib/vapi_server_sdk/types/sync_voice_library_dto.rb +58 -0
- data/lib/vapi_server_sdk/types/sync_voice_library_dto_providers_item.rb +16 -0
- data/lib/vapi_server_sdk/types/system_message.rb +79 -0
- data/lib/vapi_server_sdk/types/talkscriber_transcriber.rb +72 -0
- data/lib/vapi_server_sdk/types/talkscriber_transcriber_language.rb +109 -0
- data/lib/vapi_server_sdk/types/template.rb +164 -0
- data/lib/vapi_server_sdk/types/template_details.rb +159 -0
- data/lib/vapi_server_sdk/types/template_provider.rb +9 -0
- data/lib/vapi_server_sdk/types/template_provider_details.rb +107 -0
- data/lib/vapi_server_sdk/types/template_visibility.rb +8 -0
- data/lib/vapi_server_sdk/types/time_range.rb +91 -0
- data/lib/vapi_server_sdk/types/time_range_step.rb +18 -0
- data/lib/vapi_server_sdk/types/together_ai_credential.rb +101 -0
- data/lib/vapi_server_sdk/types/together_ai_model.rb +169 -0
- data/lib/vapi_server_sdk/types/together_ai_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/token.rb +127 -0
- data/lib/vapi_server_sdk/types/token_restrictions.rb +103 -0
- data/lib/vapi_server_sdk/types/token_tag.rb +9 -0
- data/lib/vapi_server_sdk/types/tool_call.rb +78 -0
- data/lib/vapi_server_sdk/types/tool_call_block.rb +201 -0
- data/lib/vapi_server_sdk/types/tool_call_block_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/tool_call_block_tool.rb +161 -0
- data/lib/vapi_server_sdk/types/tool_call_function.rb +65 -0
- data/lib/vapi_server_sdk/types/tool_call_message.rb +92 -0
- data/lib/vapi_server_sdk/types/tool_call_result.rb +126 -0
- data/lib/vapi_server_sdk/types/tool_call_result_message.rb +100 -0
- data/lib/vapi_server_sdk/types/tool_call_result_message_item.rb +94 -0
- data/lib/vapi_server_sdk/types/tool_message_complete.rb +130 -0
- data/lib/vapi_server_sdk/types/tool_message_complete_role.rb +24 -0
- data/lib/vapi_server_sdk/types/tool_message_delayed.rb +86 -0
- data/lib/vapi_server_sdk/types/tool_message_failed.rb +88 -0
- data/lib/vapi_server_sdk/types/tool_message_start.rb +73 -0
- data/lib/vapi_server_sdk/types/tool_template_metadata.rb +78 -0
- data/lib/vapi_server_sdk/types/tool_template_setup.rb +86 -0
- data/lib/vapi_server_sdk/types/transcriber_cost.rb +90 -0
- data/lib/vapi_server_sdk/types/transcript_plan.rb +122 -0
- data/lib/vapi_server_sdk/types/transcription_endpointing_plan.rb +109 -0
- data/lib/vapi_server_sdk/types/transfer_call_tool.rb +194 -0
- data/lib/vapi_server_sdk/types/transfer_call_tool_destinations_item.rb +120 -0
- data/lib/vapi_server_sdk/types/transfer_call_tool_messages_item.rb +120 -0
- data/lib/vapi_server_sdk/types/transfer_destination_assistant.rb +181 -0
- data/lib/vapi_server_sdk/types/transfer_destination_number.rb +163 -0
- data/lib/vapi_server_sdk/types/transfer_destination_sip.rb +90 -0
- data/lib/vapi_server_sdk/types/transfer_destination_step.rb +90 -0
- data/lib/vapi_server_sdk/types/transfer_mode.rb +8 -0
- data/lib/vapi_server_sdk/types/transport_configuration_twilio.rb +125 -0
- data/lib/vapi_server_sdk/types/transport_configuration_twilio_recording_channels.rb +16 -0
- data/lib/vapi_server_sdk/types/transport_cost.rb +67 -0
- data/lib/vapi_server_sdk/types/twilio_credential.rb +110 -0
- data/lib/vapi_server_sdk/types/twilio_phone_number.rb +200 -0
- data/lib/vapi_server_sdk/types/twilio_phone_number_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/twilio_voicemail_detection.rb +248 -0
- data/lib/vapi_server_sdk/types/twilio_voicemail_detection_voicemail_detection_types_item.rb +13 -0
- data/lib/vapi_server_sdk/types/update_anthropic_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_anyscale_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto.rb +94 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_models_item.rb +14 -0
- data/lib/vapi_server_sdk/types/update_azure_open_ai_credential_dto_region.rb +21 -0
- data/lib/vapi_server_sdk/types/update_byo_sip_trunk_credential_dto.rb +133 -0
- data/lib/vapi_server_sdk/types/update_cartesia_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_custom_llm_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_deep_infra_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_deepgram_credential_dto.rb +76 -0
- data/lib/vapi_server_sdk/types/update_eleven_labs_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_gcp_credential_dto.rb +104 -0
- data/lib/vapi_server_sdk/types/update_gladia_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_go_high_level_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_groq_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_lmnt_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_make_credential_dto.rb +79 -0
- data/lib/vapi_server_sdk/types/update_open_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_open_router_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_org_dto.rb +129 -0
- data/lib/vapi_server_sdk/types/update_perplexity_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_play_ht_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/update_rime_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_runpod_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_s_3_credential_dto.rb +101 -0
- data/lib/vapi_server_sdk/types/update_together_ai_credential_dto.rb +65 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto.rb +131 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto_details.rb +159 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto_provider.rb +9 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto_provider_details.rb +107 -0
- data/lib/vapi_server_sdk/types/update_tool_template_dto_visibility.rb +8 -0
- data/lib/vapi_server_sdk/types/update_twilio_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/update_user_role_dto.rb +66 -0
- data/lib/vapi_server_sdk/types/update_user_role_dto_role.rb +9 -0
- data/lib/vapi_server_sdk/types/update_vonage_credential_dto.rb +72 -0
- data/lib/vapi_server_sdk/types/user.rb +95 -0
- data/lib/vapi_server_sdk/types/user_message.rb +102 -0
- data/lib/vapi_server_sdk/types/vapi_cost.rb +67 -0
- data/lib/vapi_server_sdk/types/vapi_model.rb +181 -0
- data/lib/vapi_server_sdk/types/vapi_model_steps_item.rb +94 -0
- data/lib/vapi_server_sdk/types/vapi_model_tools_item.rb +159 -0
- data/lib/vapi_server_sdk/types/vapi_phone_number.rb +188 -0
- data/lib/vapi_server_sdk/types/vapi_phone_number_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/voice_cost.rb +90 -0
- data/lib/vapi_server_sdk/types/voice_library.rb +209 -0
- data/lib/vapi_server_sdk/types/voice_library_gender.rb +9 -0
- data/lib/vapi_server_sdk/types/voice_library_voice_response.rb +111 -0
- data/lib/vapi_server_sdk/types/vonage_credential.rb +128 -0
- data/lib/vapi_server_sdk/types/vonage_phone_number.rb +194 -0
- data/lib/vapi_server_sdk/types/vonage_phone_number_fallback_destination.rb +100 -0
- data/lib/vapi_server_sdk/types/workflow_block.rb +187 -0
- data/lib/vapi_server_sdk/types/workflow_block_messages_item.rb +94 -0
- data/lib/vapi_server_sdk/types/workflow_block_steps_item.rb +94 -0
- data/lib/vapi_server_sdk.rb +110 -0
- metadata +697 -0
@@ -0,0 +1,107 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class MessagePlan
|
8
|
+
# @return [Array<String>] This are the messages that the assistant will speak when the user hasn't
|
9
|
+
# responded for `idleTimeoutSeconds`. Each time the timeout is triggered, a random
|
10
|
+
# message will be chosen from this array.
|
11
|
+
# Usage:
|
12
|
+
# - If user gets distracted and doesn't respond for a while, this can be used to
|
13
|
+
# grab their attention.
|
14
|
+
# - If the transcriber doesn't pick up what the user said, this can be used to ask
|
15
|
+
# the user to repeat themselves. (From the perspective of the assistant, the
|
16
|
+
# conversation is idle since it didn't "hear" any user messages.)
|
17
|
+
# @default null (no idle message is spoken)
|
18
|
+
attr_reader :idle_messages
|
19
|
+
# @return [Float] This determines the maximum number of times `idleMessages` can be spoken during
|
20
|
+
# the call.
|
21
|
+
# @default 3
|
22
|
+
attr_reader :idle_message_max_spoken_count
|
23
|
+
# @return [Float] This is the timeout in seconds before a message from `idleMessages` is spoken.
|
24
|
+
# The clock starts when the assistant finishes speaking and remains active until
|
25
|
+
# the user speaks.
|
26
|
+
# @default 10
|
27
|
+
attr_reader :idle_timeout_seconds
|
28
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
29
|
+
attr_reader :additional_properties
|
30
|
+
# @return [Object]
|
31
|
+
attr_reader :_field_set
|
32
|
+
protected :_field_set
|
33
|
+
|
34
|
+
OMIT = Object.new
|
35
|
+
|
36
|
+
# @param idle_messages [Array<String>] This are the messages that the assistant will speak when the user hasn't
|
37
|
+
# responded for `idleTimeoutSeconds`. Each time the timeout is triggered, a random
|
38
|
+
# message will be chosen from this array.
|
39
|
+
# Usage:
|
40
|
+
# - If user gets distracted and doesn't respond for a while, this can be used to
|
41
|
+
# grab their attention.
|
42
|
+
# - If the transcriber doesn't pick up what the user said, this can be used to ask
|
43
|
+
# the user to repeat themselves. (From the perspective of the assistant, the
|
44
|
+
# conversation is idle since it didn't "hear" any user messages.)
|
45
|
+
# @default null (no idle message is spoken)
|
46
|
+
# @param idle_message_max_spoken_count [Float] This determines the maximum number of times `idleMessages` can be spoken during
|
47
|
+
# the call.
|
48
|
+
# @default 3
|
49
|
+
# @param idle_timeout_seconds [Float] This is the timeout in seconds before a message from `idleMessages` is spoken.
|
50
|
+
# The clock starts when the assistant finishes speaking and remains active until
|
51
|
+
# the user speaks.
|
52
|
+
# @default 10
|
53
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
54
|
+
# @return [Vapi::MessagePlan]
|
55
|
+
def initialize(idle_messages: OMIT, idle_message_max_spoken_count: OMIT, idle_timeout_seconds: OMIT,
|
56
|
+
additional_properties: nil)
|
57
|
+
@idle_messages = idle_messages if idle_messages != OMIT
|
58
|
+
@idle_message_max_spoken_count = idle_message_max_spoken_count if idle_message_max_spoken_count != OMIT
|
59
|
+
@idle_timeout_seconds = idle_timeout_seconds if idle_timeout_seconds != OMIT
|
60
|
+
@additional_properties = additional_properties
|
61
|
+
@_field_set = {
|
62
|
+
"idleMessages": idle_messages,
|
63
|
+
"idleMessageMaxSpokenCount": idle_message_max_spoken_count,
|
64
|
+
"idleTimeoutSeconds": idle_timeout_seconds
|
65
|
+
}.reject do |_k, v|
|
66
|
+
v == OMIT
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
# Deserialize a JSON object to an instance of MessagePlan
|
71
|
+
#
|
72
|
+
# @param json_object [String]
|
73
|
+
# @return [Vapi::MessagePlan]
|
74
|
+
def self.from_json(json_object:)
|
75
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
76
|
+
parsed_json = JSON.parse(json_object)
|
77
|
+
idle_messages = parsed_json["idleMessages"]
|
78
|
+
idle_message_max_spoken_count = parsed_json["idleMessageMaxSpokenCount"]
|
79
|
+
idle_timeout_seconds = parsed_json["idleTimeoutSeconds"]
|
80
|
+
new(
|
81
|
+
idle_messages: idle_messages,
|
82
|
+
idle_message_max_spoken_count: idle_message_max_spoken_count,
|
83
|
+
idle_timeout_seconds: idle_timeout_seconds,
|
84
|
+
additional_properties: struct
|
85
|
+
)
|
86
|
+
end
|
87
|
+
|
88
|
+
# Serialize an instance of MessagePlan to a JSON object
|
89
|
+
#
|
90
|
+
# @return [String]
|
91
|
+
def to_json(*_args)
|
92
|
+
@_field_set&.to_json
|
93
|
+
end
|
94
|
+
|
95
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
96
|
+
# hash and check each fields type against the current object's property
|
97
|
+
# definitions.
|
98
|
+
#
|
99
|
+
# @param obj [Object]
|
100
|
+
# @return [Void]
|
101
|
+
def self.validate_raw(obj:)
|
102
|
+
obj.idle_messages&.is_a?(Array) != false || raise("Passed value for field obj.idle_messages is not the expected type, validation failed.")
|
103
|
+
obj.idle_message_max_spoken_count&.is_a?(Float) != false || raise("Passed value for field obj.idle_message_max_spoken_count is not the expected type, validation failed.")
|
104
|
+
obj.idle_timeout_seconds&.is_a?(Float) != false || raise("Passed value for field obj.idle_timeout_seconds is not the expected type, validation failed.")
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
@@ -0,0 +1,165 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class Metrics
|
8
|
+
# @return [String]
|
9
|
+
attr_reader :org_id
|
10
|
+
# @return [String]
|
11
|
+
attr_reader :range_start
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :range_end
|
14
|
+
# @return [Float]
|
15
|
+
attr_reader :bill
|
16
|
+
# @return [Boolean]
|
17
|
+
attr_reader :bill_within_billing_limit
|
18
|
+
# @return [Hash{String => Object}]
|
19
|
+
attr_reader :bill_daily_breakdown
|
20
|
+
# @return [Float]
|
21
|
+
attr_reader :call_active
|
22
|
+
# @return [Boolean]
|
23
|
+
attr_reader :call_active_within_concurrency_limit
|
24
|
+
# @return [Float]
|
25
|
+
attr_reader :call_minutes
|
26
|
+
# @return [Hash{String => Object}]
|
27
|
+
attr_reader :call_minutes_daily_breakdown
|
28
|
+
# @return [Float]
|
29
|
+
attr_reader :call_minutes_average
|
30
|
+
# @return [Hash{String => Object}]
|
31
|
+
attr_reader :call_minutes_average_daily_breakdown
|
32
|
+
# @return [Float]
|
33
|
+
attr_reader :call_count
|
34
|
+
# @return [Hash{String => Object}]
|
35
|
+
attr_reader :call_count_daily_breakdown
|
36
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
37
|
+
attr_reader :additional_properties
|
38
|
+
# @return [Object]
|
39
|
+
attr_reader :_field_set
|
40
|
+
protected :_field_set
|
41
|
+
|
42
|
+
OMIT = Object.new
|
43
|
+
|
44
|
+
# @param org_id [String]
|
45
|
+
# @param range_start [String]
|
46
|
+
# @param range_end [String]
|
47
|
+
# @param bill [Float]
|
48
|
+
# @param bill_within_billing_limit [Boolean]
|
49
|
+
# @param bill_daily_breakdown [Hash{String => Object}]
|
50
|
+
# @param call_active [Float]
|
51
|
+
# @param call_active_within_concurrency_limit [Boolean]
|
52
|
+
# @param call_minutes [Float]
|
53
|
+
# @param call_minutes_daily_breakdown [Hash{String => Object}]
|
54
|
+
# @param call_minutes_average [Float]
|
55
|
+
# @param call_minutes_average_daily_breakdown [Hash{String => Object}]
|
56
|
+
# @param call_count [Float]
|
57
|
+
# @param call_count_daily_breakdown [Hash{String => Object}]
|
58
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
59
|
+
# @return [Vapi::Metrics]
|
60
|
+
def initialize(org_id:, range_start:, range_end:, bill:, bill_within_billing_limit:, bill_daily_breakdown:,
|
61
|
+
call_active:, call_active_within_concurrency_limit:, call_minutes:, call_minutes_daily_breakdown:, call_minutes_average:, call_minutes_average_daily_breakdown:, call_count:, call_count_daily_breakdown:, additional_properties: nil)
|
62
|
+
@org_id = org_id
|
63
|
+
@range_start = range_start
|
64
|
+
@range_end = range_end
|
65
|
+
@bill = bill
|
66
|
+
@bill_within_billing_limit = bill_within_billing_limit
|
67
|
+
@bill_daily_breakdown = bill_daily_breakdown
|
68
|
+
@call_active = call_active
|
69
|
+
@call_active_within_concurrency_limit = call_active_within_concurrency_limit
|
70
|
+
@call_minutes = call_minutes
|
71
|
+
@call_minutes_daily_breakdown = call_minutes_daily_breakdown
|
72
|
+
@call_minutes_average = call_minutes_average
|
73
|
+
@call_minutes_average_daily_breakdown = call_minutes_average_daily_breakdown
|
74
|
+
@call_count = call_count
|
75
|
+
@call_count_daily_breakdown = call_count_daily_breakdown
|
76
|
+
@additional_properties = additional_properties
|
77
|
+
@_field_set = {
|
78
|
+
"orgId": org_id,
|
79
|
+
"rangeStart": range_start,
|
80
|
+
"rangeEnd": range_end,
|
81
|
+
"bill": bill,
|
82
|
+
"billWithinBillingLimit": bill_within_billing_limit,
|
83
|
+
"billDailyBreakdown": bill_daily_breakdown,
|
84
|
+
"callActive": call_active,
|
85
|
+
"callActiveWithinConcurrencyLimit": call_active_within_concurrency_limit,
|
86
|
+
"callMinutes": call_minutes,
|
87
|
+
"callMinutesDailyBreakdown": call_minutes_daily_breakdown,
|
88
|
+
"callMinutesAverage": call_minutes_average,
|
89
|
+
"callMinutesAverageDailyBreakdown": call_minutes_average_daily_breakdown,
|
90
|
+
"callCount": call_count,
|
91
|
+
"callCountDailyBreakdown": call_count_daily_breakdown
|
92
|
+
}
|
93
|
+
end
|
94
|
+
|
95
|
+
# Deserialize a JSON object to an instance of Metrics
|
96
|
+
#
|
97
|
+
# @param json_object [String]
|
98
|
+
# @return [Vapi::Metrics]
|
99
|
+
def self.from_json(json_object:)
|
100
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
101
|
+
parsed_json = JSON.parse(json_object)
|
102
|
+
org_id = parsed_json["orgId"]
|
103
|
+
range_start = parsed_json["rangeStart"]
|
104
|
+
range_end = parsed_json["rangeEnd"]
|
105
|
+
bill = parsed_json["bill"]
|
106
|
+
bill_within_billing_limit = parsed_json["billWithinBillingLimit"]
|
107
|
+
bill_daily_breakdown = parsed_json["billDailyBreakdown"]
|
108
|
+
call_active = parsed_json["callActive"]
|
109
|
+
call_active_within_concurrency_limit = parsed_json["callActiveWithinConcurrencyLimit"]
|
110
|
+
call_minutes = parsed_json["callMinutes"]
|
111
|
+
call_minutes_daily_breakdown = parsed_json["callMinutesDailyBreakdown"]
|
112
|
+
call_minutes_average = parsed_json["callMinutesAverage"]
|
113
|
+
call_minutes_average_daily_breakdown = parsed_json["callMinutesAverageDailyBreakdown"]
|
114
|
+
call_count = parsed_json["callCount"]
|
115
|
+
call_count_daily_breakdown = parsed_json["callCountDailyBreakdown"]
|
116
|
+
new(
|
117
|
+
org_id: org_id,
|
118
|
+
range_start: range_start,
|
119
|
+
range_end: range_end,
|
120
|
+
bill: bill,
|
121
|
+
bill_within_billing_limit: bill_within_billing_limit,
|
122
|
+
bill_daily_breakdown: bill_daily_breakdown,
|
123
|
+
call_active: call_active,
|
124
|
+
call_active_within_concurrency_limit: call_active_within_concurrency_limit,
|
125
|
+
call_minutes: call_minutes,
|
126
|
+
call_minutes_daily_breakdown: call_minutes_daily_breakdown,
|
127
|
+
call_minutes_average: call_minutes_average,
|
128
|
+
call_minutes_average_daily_breakdown: call_minutes_average_daily_breakdown,
|
129
|
+
call_count: call_count,
|
130
|
+
call_count_daily_breakdown: call_count_daily_breakdown,
|
131
|
+
additional_properties: struct
|
132
|
+
)
|
133
|
+
end
|
134
|
+
|
135
|
+
# Serialize an instance of Metrics to a JSON object
|
136
|
+
#
|
137
|
+
# @return [String]
|
138
|
+
def to_json(*_args)
|
139
|
+
@_field_set&.to_json
|
140
|
+
end
|
141
|
+
|
142
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
143
|
+
# hash and check each fields type against the current object's property
|
144
|
+
# definitions.
|
145
|
+
#
|
146
|
+
# @param obj [Object]
|
147
|
+
# @return [Void]
|
148
|
+
def self.validate_raw(obj:)
|
149
|
+
obj.org_id.is_a?(String) != false || raise("Passed value for field obj.org_id is not the expected type, validation failed.")
|
150
|
+
obj.range_start.is_a?(String) != false || raise("Passed value for field obj.range_start is not the expected type, validation failed.")
|
151
|
+
obj.range_end.is_a?(String) != false || raise("Passed value for field obj.range_end is not the expected type, validation failed.")
|
152
|
+
obj.bill.is_a?(Float) != false || raise("Passed value for field obj.bill is not the expected type, validation failed.")
|
153
|
+
obj.bill_within_billing_limit.is_a?(Boolean) != false || raise("Passed value for field obj.bill_within_billing_limit is not the expected type, validation failed.")
|
154
|
+
obj.bill_daily_breakdown.is_a?(Hash) != false || raise("Passed value for field obj.bill_daily_breakdown is not the expected type, validation failed.")
|
155
|
+
obj.call_active.is_a?(Float) != false || raise("Passed value for field obj.call_active is not the expected type, validation failed.")
|
156
|
+
obj.call_active_within_concurrency_limit.is_a?(Boolean) != false || raise("Passed value for field obj.call_active_within_concurrency_limit is not the expected type, validation failed.")
|
157
|
+
obj.call_minutes.is_a?(Float) != false || raise("Passed value for field obj.call_minutes is not the expected type, validation failed.")
|
158
|
+
obj.call_minutes_daily_breakdown.is_a?(Hash) != false || raise("Passed value for field obj.call_minutes_daily_breakdown is not the expected type, validation failed.")
|
159
|
+
obj.call_minutes_average.is_a?(Float) != false || raise("Passed value for field obj.call_minutes_average is not the expected type, validation failed.")
|
160
|
+
obj.call_minutes_average_daily_breakdown.is_a?(Hash) != false || raise("Passed value for field obj.call_minutes_average_daily_breakdown is not the expected type, validation failed.")
|
161
|
+
obj.call_count.is_a?(Float) != false || raise("Passed value for field obj.call_count is not the expected type, validation failed.")
|
162
|
+
obj.call_count_daily_breakdown.is_a?(Hash) != false || raise("Passed value for field obj.call_count_daily_breakdown is not the expected type, validation failed.")
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class ModelBasedCondition
|
8
|
+
# @return [String] This is the instruction which should output a boolean value when passed to a
|
9
|
+
# model.
|
10
|
+
# You can reference any variable in the context of the current block execution
|
11
|
+
# (step):
|
12
|
+
# - "{{output.your-property-name}}" for current step's output
|
13
|
+
# - "{{input.your-property-name}}" for current step's input
|
14
|
+
# - "{{your-step-name.output.your-property-name}}" for another step's output (in
|
15
|
+
# the same workflow; read caveat #1)
|
16
|
+
# - "{{your-step-name.input.your-property-name}}" for another step's input (in the
|
17
|
+
# same workflow; read caveat #1)
|
18
|
+
# - "{{your-block-name.output.your-property-name}}" for another block's output (in
|
19
|
+
# the same workflow; read caveat #2)
|
20
|
+
# - "{{your-block-name.input.your-property-name}}" for another block's input (in
|
21
|
+
# the same workflow; read caveat #2)
|
22
|
+
# - "{{workflow.input.your-property-name}}" for the current workflow's input
|
23
|
+
# - "{{global.your-property-name}}" for the global context
|
24
|
+
# You can also talk about the current step's output or input directly:
|
25
|
+
# - "{{output.your-property-name}} is greater than 10"
|
26
|
+
# - "{{input.your-property-name}} is greater than 10"
|
27
|
+
# Examples:
|
28
|
+
# - "{{input.age}} is greater than 10"
|
29
|
+
# - "{{input.age}} is greater than {{input.age2}}"
|
30
|
+
# - "{{output.age}} is greater than 10"
|
31
|
+
# Caveats:
|
32
|
+
# 1. a workflow can execute a step multiple times. example, if a loop is used in
|
33
|
+
# the graph. {{stepName.input/output.propertyName}} will reference the latest
|
34
|
+
# usage of the step.
|
35
|
+
# 2. a workflow can execute a block multiple times. example, if a step is called
|
36
|
+
# multiple times or if a block is used in multiple steps.
|
37
|
+
# {{blockName.input/output.propertyName}} will reference the latest usage of the
|
38
|
+
# block. this liquid variable is just provided for convenience when creating
|
39
|
+
# blocks outside of a workflow with steps.
|
40
|
+
attr_reader :instruction
|
41
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
42
|
+
attr_reader :additional_properties
|
43
|
+
# @return [Object]
|
44
|
+
attr_reader :_field_set
|
45
|
+
protected :_field_set
|
46
|
+
|
47
|
+
OMIT = Object.new
|
48
|
+
|
49
|
+
# @param instruction [String] This is the instruction which should output a boolean value when passed to a
|
50
|
+
# model.
|
51
|
+
# You can reference any variable in the context of the current block execution
|
52
|
+
# (step):
|
53
|
+
# - "{{output.your-property-name}}" for current step's output
|
54
|
+
# - "{{input.your-property-name}}" for current step's input
|
55
|
+
# - "{{your-step-name.output.your-property-name}}" for another step's output (in
|
56
|
+
# the same workflow; read caveat #1)
|
57
|
+
# - "{{your-step-name.input.your-property-name}}" for another step's input (in the
|
58
|
+
# same workflow; read caveat #1)
|
59
|
+
# - "{{your-block-name.output.your-property-name}}" for another block's output (in
|
60
|
+
# the same workflow; read caveat #2)
|
61
|
+
# - "{{your-block-name.input.your-property-name}}" for another block's input (in
|
62
|
+
# the same workflow; read caveat #2)
|
63
|
+
# - "{{workflow.input.your-property-name}}" for the current workflow's input
|
64
|
+
# - "{{global.your-property-name}}" for the global context
|
65
|
+
# You can also talk about the current step's output or input directly:
|
66
|
+
# - "{{output.your-property-name}} is greater than 10"
|
67
|
+
# - "{{input.your-property-name}} is greater than 10"
|
68
|
+
# Examples:
|
69
|
+
# - "{{input.age}} is greater than 10"
|
70
|
+
# - "{{input.age}} is greater than {{input.age2}}"
|
71
|
+
# - "{{output.age}} is greater than 10"
|
72
|
+
# Caveats:
|
73
|
+
# 1. a workflow can execute a step multiple times. example, if a loop is used in
|
74
|
+
# the graph. {{stepName.input/output.propertyName}} will reference the latest
|
75
|
+
# usage of the step.
|
76
|
+
# 2. a workflow can execute a block multiple times. example, if a step is called
|
77
|
+
# multiple times or if a block is used in multiple steps.
|
78
|
+
# {{blockName.input/output.propertyName}} will reference the latest usage of the
|
79
|
+
# block. this liquid variable is just provided for convenience when creating
|
80
|
+
# blocks outside of a workflow with steps.
|
81
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
82
|
+
# @return [Vapi::ModelBasedCondition]
|
83
|
+
def initialize(instruction:, additional_properties: nil)
|
84
|
+
@instruction = instruction
|
85
|
+
@additional_properties = additional_properties
|
86
|
+
@_field_set = { "instruction": instruction }
|
87
|
+
end
|
88
|
+
|
89
|
+
# Deserialize a JSON object to an instance of ModelBasedCondition
|
90
|
+
#
|
91
|
+
# @param json_object [String]
|
92
|
+
# @return [Vapi::ModelBasedCondition]
|
93
|
+
def self.from_json(json_object:)
|
94
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
95
|
+
parsed_json = JSON.parse(json_object)
|
96
|
+
instruction = parsed_json["instruction"]
|
97
|
+
new(instruction: instruction, additional_properties: struct)
|
98
|
+
end
|
99
|
+
|
100
|
+
# Serialize an instance of ModelBasedCondition to a JSON object
|
101
|
+
#
|
102
|
+
# @return [String]
|
103
|
+
def to_json(*_args)
|
104
|
+
@_field_set&.to_json
|
105
|
+
end
|
106
|
+
|
107
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
108
|
+
# hash and check each fields type against the current object's property
|
109
|
+
# definitions.
|
110
|
+
#
|
111
|
+
# @param obj [Object]
|
112
|
+
# @return [Void]
|
113
|
+
def self.validate_raw(obj:)
|
114
|
+
obj.instruction.is_a?(String) != false || raise("Passed value for field obj.instruction is not the expected type, validation failed.")
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,106 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class ModelCost
|
8
|
+
# @return [Hash{String => Object}] This is the model that was used during the call.
|
9
|
+
# This matches one of the following:
|
10
|
+
# - `call.assistant.model`,
|
11
|
+
# - `call.assistantId->model`,
|
12
|
+
# - `call.squad[n].assistant.model`,
|
13
|
+
# - `call.squad[n].assistantId->model`,
|
14
|
+
# - `call.squadId->[n].assistant.model`,
|
15
|
+
# - `call.squadId->[n].assistantId->model`.
|
16
|
+
attr_reader :model
|
17
|
+
# @return [Float] This is the number of prompt tokens used in the call. These should be total
|
18
|
+
# prompt tokens used in the call for single assistant calls, while squad calls
|
19
|
+
# will have multiple model costs one for each assistant that was used.
|
20
|
+
attr_reader :prompt_tokens
|
21
|
+
# @return [Float] This is the number of completion tokens generated in the call. These should be
|
22
|
+
# total completion tokens used in the call for single assistant calls, while squad
|
23
|
+
# calls will have multiple model costs one for each assistant that was used.
|
24
|
+
attr_reader :completion_tokens
|
25
|
+
# @return [Float] This is the cost of the component in USD.
|
26
|
+
attr_reader :cost
|
27
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
28
|
+
attr_reader :additional_properties
|
29
|
+
# @return [Object]
|
30
|
+
attr_reader :_field_set
|
31
|
+
protected :_field_set
|
32
|
+
|
33
|
+
OMIT = Object.new
|
34
|
+
|
35
|
+
# @param model [Hash{String => Object}] This is the model that was used during the call.
|
36
|
+
# This matches one of the following:
|
37
|
+
# - `call.assistant.model`,
|
38
|
+
# - `call.assistantId->model`,
|
39
|
+
# - `call.squad[n].assistant.model`,
|
40
|
+
# - `call.squad[n].assistantId->model`,
|
41
|
+
# - `call.squadId->[n].assistant.model`,
|
42
|
+
# - `call.squadId->[n].assistantId->model`.
|
43
|
+
# @param prompt_tokens [Float] This is the number of prompt tokens used in the call. These should be total
|
44
|
+
# prompt tokens used in the call for single assistant calls, while squad calls
|
45
|
+
# will have multiple model costs one for each assistant that was used.
|
46
|
+
# @param completion_tokens [Float] This is the number of completion tokens generated in the call. These should be
|
47
|
+
# total completion tokens used in the call for single assistant calls, while squad
|
48
|
+
# calls will have multiple model costs one for each assistant that was used.
|
49
|
+
# @param cost [Float] This is the cost of the component in USD.
|
50
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
51
|
+
# @return [Vapi::ModelCost]
|
52
|
+
def initialize(model:, prompt_tokens:, completion_tokens:, cost:, additional_properties: nil)
|
53
|
+
@model = model
|
54
|
+
@prompt_tokens = prompt_tokens
|
55
|
+
@completion_tokens = completion_tokens
|
56
|
+
@cost = cost
|
57
|
+
@additional_properties = additional_properties
|
58
|
+
@_field_set = {
|
59
|
+
"model": model,
|
60
|
+
"promptTokens": prompt_tokens,
|
61
|
+
"completionTokens": completion_tokens,
|
62
|
+
"cost": cost
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
66
|
+
# Deserialize a JSON object to an instance of ModelCost
|
67
|
+
#
|
68
|
+
# @param json_object [String]
|
69
|
+
# @return [Vapi::ModelCost]
|
70
|
+
def self.from_json(json_object:)
|
71
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
72
|
+
parsed_json = JSON.parse(json_object)
|
73
|
+
model = parsed_json["model"]
|
74
|
+
prompt_tokens = parsed_json["promptTokens"]
|
75
|
+
completion_tokens = parsed_json["completionTokens"]
|
76
|
+
cost = parsed_json["cost"]
|
77
|
+
new(
|
78
|
+
model: model,
|
79
|
+
prompt_tokens: prompt_tokens,
|
80
|
+
completion_tokens: completion_tokens,
|
81
|
+
cost: cost,
|
82
|
+
additional_properties: struct
|
83
|
+
)
|
84
|
+
end
|
85
|
+
|
86
|
+
# Serialize an instance of ModelCost to a JSON object
|
87
|
+
#
|
88
|
+
# @return [String]
|
89
|
+
def to_json(*_args)
|
90
|
+
@_field_set&.to_json
|
91
|
+
end
|
92
|
+
|
93
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
94
|
+
# hash and check each fields type against the current object's property
|
95
|
+
# definitions.
|
96
|
+
#
|
97
|
+
# @param obj [Object]
|
98
|
+
# @return [Void]
|
99
|
+
def self.validate_raw(obj:)
|
100
|
+
obj.model.is_a?(Hash) != false || raise("Passed value for field obj.model is not the expected type, validation failed.")
|
101
|
+
obj.prompt_tokens.is_a?(Float) != false || raise("Passed value for field obj.prompt_tokens is not the expected type, validation failed.")
|
102
|
+
obj.completion_tokens.is_a?(Float) != false || raise("Passed value for field obj.completion_tokens is not the expected type, validation failed.")
|
103
|
+
obj.cost.is_a?(Float) != false || raise("Passed value for field obj.cost is not the expected type, validation failed.")
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class Monitor
|
8
|
+
# @return [String] This is the URL where the assistant's calls can be listened to in real-time. To
|
9
|
+
# enable, set `assistant.monitorPlan.listenEnabled` to `true`.
|
10
|
+
attr_reader :listen_url
|
11
|
+
# @return [String] This is the URL where the assistant's calls can be controlled in real-time. To
|
12
|
+
# enable, set `assistant.monitorPlan.controlEnabled` to `true`.
|
13
|
+
attr_reader :control_url
|
14
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
15
|
+
attr_reader :additional_properties
|
16
|
+
# @return [Object]
|
17
|
+
attr_reader :_field_set
|
18
|
+
protected :_field_set
|
19
|
+
|
20
|
+
OMIT = Object.new
|
21
|
+
|
22
|
+
# @param listen_url [String] This is the URL where the assistant's calls can be listened to in real-time. To
|
23
|
+
# enable, set `assistant.monitorPlan.listenEnabled` to `true`.
|
24
|
+
# @param control_url [String] This is the URL where the assistant's calls can be controlled in real-time. To
|
25
|
+
# enable, set `assistant.monitorPlan.controlEnabled` to `true`.
|
26
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
27
|
+
# @return [Vapi::Monitor]
|
28
|
+
def initialize(listen_url: OMIT, control_url: OMIT, additional_properties: nil)
|
29
|
+
@listen_url = listen_url if listen_url != OMIT
|
30
|
+
@control_url = control_url if control_url != OMIT
|
31
|
+
@additional_properties = additional_properties
|
32
|
+
@_field_set = { "listenUrl": listen_url, "controlUrl": control_url }.reject do |_k, v|
|
33
|
+
v == OMIT
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# Deserialize a JSON object to an instance of Monitor
|
38
|
+
#
|
39
|
+
# @param json_object [String]
|
40
|
+
# @return [Vapi::Monitor]
|
41
|
+
def self.from_json(json_object:)
|
42
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
43
|
+
parsed_json = JSON.parse(json_object)
|
44
|
+
listen_url = parsed_json["listenUrl"]
|
45
|
+
control_url = parsed_json["controlUrl"]
|
46
|
+
new(
|
47
|
+
listen_url: listen_url,
|
48
|
+
control_url: control_url,
|
49
|
+
additional_properties: struct
|
50
|
+
)
|
51
|
+
end
|
52
|
+
|
53
|
+
# Serialize an instance of Monitor to a JSON object
|
54
|
+
#
|
55
|
+
# @return [String]
|
56
|
+
def to_json(*_args)
|
57
|
+
@_field_set&.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
|
+
obj.listen_url&.is_a?(String) != false || raise("Passed value for field obj.listen_url is not the expected type, validation failed.")
|
68
|
+
obj.control_url&.is_a?(String) != false || raise("Passed value for field obj.control_url is not the expected type, validation failed.")
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module Vapi
|
7
|
+
class MonitorPlan
|
8
|
+
# @return [Boolean] This determines whether the assistant's calls allow live listening. Defaults to
|
9
|
+
# true.
|
10
|
+
# Fetch `call.monitor.listenUrl` to get the live listening URL.
|
11
|
+
# @default true
|
12
|
+
attr_reader :listen_enabled
|
13
|
+
# @return [Boolean] This determines whether the assistant's calls allow live control. Defaults to
|
14
|
+
# true.
|
15
|
+
# Fetch `call.monitor.controlUrl` to get the live control URL.
|
16
|
+
# To use, send any control message via a POST request to
|
17
|
+
# `call.monitor.controlUrl`. Here are the types of controls supported:
|
18
|
+
# https://docs.vapi.ai/api-reference/messages/client-inbound-message
|
19
|
+
# @default true
|
20
|
+
attr_reader :control_enabled
|
21
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
22
|
+
attr_reader :additional_properties
|
23
|
+
# @return [Object]
|
24
|
+
attr_reader :_field_set
|
25
|
+
protected :_field_set
|
26
|
+
|
27
|
+
OMIT = Object.new
|
28
|
+
|
29
|
+
# @param listen_enabled [Boolean] This determines whether the assistant's calls allow live listening. Defaults to
|
30
|
+
# true.
|
31
|
+
# Fetch `call.monitor.listenUrl` to get the live listening URL.
|
32
|
+
# @default true
|
33
|
+
# @param control_enabled [Boolean] This determines whether the assistant's calls allow live control. Defaults to
|
34
|
+
# true.
|
35
|
+
# Fetch `call.monitor.controlUrl` to get the live control URL.
|
36
|
+
# To use, send any control message via a POST request to
|
37
|
+
# `call.monitor.controlUrl`. Here are the types of controls supported:
|
38
|
+
# https://docs.vapi.ai/api-reference/messages/client-inbound-message
|
39
|
+
# @default true
|
40
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
41
|
+
# @return [Vapi::MonitorPlan]
|
42
|
+
def initialize(listen_enabled: OMIT, control_enabled: OMIT, additional_properties: nil)
|
43
|
+
@listen_enabled = listen_enabled if listen_enabled != OMIT
|
44
|
+
@control_enabled = control_enabled if control_enabled != OMIT
|
45
|
+
@additional_properties = additional_properties
|
46
|
+
@_field_set = { "listenEnabled": listen_enabled, "controlEnabled": control_enabled }.reject do |_k, v|
|
47
|
+
v == OMIT
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# Deserialize a JSON object to an instance of MonitorPlan
|
52
|
+
#
|
53
|
+
# @param json_object [String]
|
54
|
+
# @return [Vapi::MonitorPlan]
|
55
|
+
def self.from_json(json_object:)
|
56
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
57
|
+
parsed_json = JSON.parse(json_object)
|
58
|
+
listen_enabled = parsed_json["listenEnabled"]
|
59
|
+
control_enabled = parsed_json["controlEnabled"]
|
60
|
+
new(
|
61
|
+
listen_enabled: listen_enabled,
|
62
|
+
control_enabled: control_enabled,
|
63
|
+
additional_properties: struct
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
# Serialize an instance of MonitorPlan to a JSON object
|
68
|
+
#
|
69
|
+
# @return [String]
|
70
|
+
def to_json(*_args)
|
71
|
+
@_field_set&.to_json
|
72
|
+
end
|
73
|
+
|
74
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
75
|
+
# hash and check each fields type against the current object's property
|
76
|
+
# definitions.
|
77
|
+
#
|
78
|
+
# @param obj [Object]
|
79
|
+
# @return [Void]
|
80
|
+
def self.validate_raw(obj:)
|
81
|
+
obj.listen_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.listen_enabled is not the expected type, validation failed.")
|
82
|
+
obj.control_enabled&.is_a?(Boolean) != false || raise("Passed value for field obj.control_enabled is not the expected type, validation failed.")
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|