vapi-server-sdk 0.0.0a7__py3-none-any.whl
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.
- vapi/__init__.py +1081 -0
- vapi/analytics/__init__.py +2 -0
- vapi/analytics/client.py +159 -0
- vapi/assistants/__init__.py +21 -0
- vapi/assistants/client.py +1593 -0
- vapi/assistants/types/__init__.py +19 -0
- vapi/assistants/types/update_assistant_dto_background_sound.py +5 -0
- vapi/assistants/types/update_assistant_dto_client_messages_item.py +23 -0
- vapi/assistants/types/update_assistant_dto_first_message_mode.py +10 -0
- vapi/assistants/types/update_assistant_dto_model.py +26 -0
- vapi/assistants/types/update_assistant_dto_server_messages_item.py +24 -0
- vapi/assistants/types/update_assistant_dto_transcriber.py +8 -0
- vapi/assistants/types/update_assistant_dto_voice.py +24 -0
- vapi/blocks/__init__.py +25 -0
- vapi/blocks/client.py +804 -0
- vapi/blocks/types/__init__.py +23 -0
- vapi/blocks/types/blocks_create_request.py +8 -0
- vapi/blocks/types/blocks_create_response.py +8 -0
- vapi/blocks/types/blocks_delete_response.py +8 -0
- vapi/blocks/types/blocks_get_response.py +8 -0
- vapi/blocks/types/blocks_list_response_item.py +8 -0
- vapi/blocks/types/blocks_update_response.py +8 -0
- vapi/blocks/types/update_block_dto_messages_item.py +7 -0
- vapi/blocks/types/update_block_dto_steps_item.py +7 -0
- vapi/blocks/types/update_block_dto_tool.py +20 -0
- vapi/calls/__init__.py +2 -0
- vapi/calls/client.py +776 -0
- vapi/client.py +172 -0
- vapi/core/__init__.py +50 -0
- vapi/core/api_error.py +15 -0
- vapi/core/client_wrapper.py +76 -0
- vapi/core/datetime_utils.py +28 -0
- vapi/core/file.py +62 -0
- vapi/core/http_client.py +487 -0
- vapi/core/jsonable_encoder.py +101 -0
- vapi/core/pagination.py +88 -0
- vapi/core/pydantic_utilities.py +296 -0
- vapi/core/query_encoder.py +58 -0
- vapi/core/remove_none_from_dict.py +11 -0
- vapi/core/request_options.py +32 -0
- vapi/core/serialization.py +272 -0
- vapi/environment.py +7 -0
- vapi/errors/__init__.py +5 -0
- vapi/errors/bad_request_error.py +9 -0
- vapi/files/__init__.py +2 -0
- vapi/files/client.py +544 -0
- vapi/logs/__init__.py +5 -0
- vapi/logs/client.py +367 -0
- vapi/logs/types/__init__.py +6 -0
- vapi/logs/types/logs_get_request_sort_order.py +5 -0
- vapi/logs/types/logs_get_request_type.py +5 -0
- vapi/phone_numbers/__init__.py +21 -0
- vapi/phone_numbers/client.py +735 -0
- vapi/phone_numbers/types/__init__.py +19 -0
- vapi/phone_numbers/types/phone_numbers_create_request.py +11 -0
- vapi/phone_numbers/types/phone_numbers_create_response.py +9 -0
- vapi/phone_numbers/types/phone_numbers_delete_response.py +9 -0
- vapi/phone_numbers/types/phone_numbers_get_response.py +9 -0
- vapi/phone_numbers/types/phone_numbers_list_response_item.py +9 -0
- vapi/phone_numbers/types/phone_numbers_update_response.py +9 -0
- vapi/phone_numbers/types/update_phone_number_dto_fallback_destination.py +7 -0
- vapi/py.typed +0 -0
- vapi/squads/__init__.py +2 -0
- vapi/squads/client.py +723 -0
- vapi/tools/__init__.py +21 -0
- vapi/tools/client.py +717 -0
- vapi/tools/types/__init__.py +19 -0
- vapi/tools/types/tools_create_request.py +20 -0
- vapi/tools/types/tools_create_response.py +12 -0
- vapi/tools/types/tools_delete_response.py +12 -0
- vapi/tools/types/tools_get_response.py +12 -0
- vapi/tools/types/tools_list_response_item.py +14 -0
- vapi/tools/types/tools_update_response.py +12 -0
- vapi/tools/types/update_tool_dto_messages_item.py +9 -0
- vapi/types/__init__.py +993 -0
- vapi/types/add_voice_to_provider_dto.py +34 -0
- vapi/types/analysis.py +38 -0
- vapi/types/analysis_cost.py +52 -0
- vapi/types/analysis_cost_analysis_type.py +5 -0
- vapi/types/analysis_cost_breakdown.py +80 -0
- vapi/types/analysis_plan.py +43 -0
- vapi/types/analytics_operation.py +34 -0
- vapi/types/analytics_operation_column.py +19 -0
- vapi/types/analytics_operation_operation.py +5 -0
- vapi/types/analytics_query.py +51 -0
- vapi/types/analytics_query_group_by_item.py +7 -0
- vapi/types/analytics_query_result.py +42 -0
- vapi/types/anthropic_credential.py +46 -0
- vapi/types/anthropic_model.py +91 -0
- vapi/types/anthropic_model_model.py +10 -0
- vapi/types/anthropic_model_tools_item.py +20 -0
- vapi/types/anyscale_credential.py +46 -0
- vapi/types/anyscale_model.py +90 -0
- vapi/types/anyscale_model_tools_item.py +20 -0
- vapi/types/artifact.py +66 -0
- vapi/types/artifact_messages_item.py +10 -0
- vapi/types/artifact_plan.py +70 -0
- vapi/types/assignment_mutation.py +85 -0
- vapi/types/assignment_mutation_conditions_item.py +7 -0
- vapi/types/assistant.py +330 -0
- vapi/types/assistant_background_sound.py +5 -0
- vapi/types/assistant_client_messages_item.py +23 -0
- vapi/types/assistant_first_message_mode.py +10 -0
- vapi/types/assistant_model.py +26 -0
- vapi/types/assistant_overrides.py +316 -0
- vapi/types/assistant_overrides_background_sound.py +5 -0
- vapi/types/assistant_overrides_client_messages_item.py +23 -0
- vapi/types/assistant_overrides_first_message_mode.py +10 -0
- vapi/types/assistant_overrides_model.py +26 -0
- vapi/types/assistant_overrides_server_messages_item.py +24 -0
- vapi/types/assistant_overrides_transcriber.py +8 -0
- vapi/types/assistant_overrides_voice.py +24 -0
- vapi/types/assistant_server_messages_item.py +24 -0
- vapi/types/assistant_transcriber.py +8 -0
- vapi/types/assistant_voice.py +24 -0
- vapi/types/azure_open_ai_credential.py +52 -0
- vapi/types/azure_open_ai_credential_models_item.py +17 -0
- vapi/types/azure_open_ai_credential_region.py +24 -0
- vapi/types/azure_voice.py +52 -0
- vapi/types/azure_voice_id.py +6 -0
- vapi/types/azure_voice_id_enum.py +5 -0
- vapi/types/block_complete_message.py +33 -0
- vapi/types/block_complete_message_conditions_item.py +7 -0
- vapi/types/block_start_message.py +33 -0
- vapi/types/block_start_message_conditions_item.py +7 -0
- vapi/types/bot_message.py +54 -0
- vapi/types/bucket_plan.py +72 -0
- vapi/types/buy_phone_number_dto.py +81 -0
- vapi/types/buy_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/byo_phone_number.py +126 -0
- vapi/types/byo_phone_number_fallback_destination.py +7 -0
- vapi/types/byo_sip_trunk_credential.py +85 -0
- vapi/types/call.py +241 -0
- vapi/types/call_costs_item.py +11 -0
- vapi/types/call_destination.py +7 -0
- vapi/types/call_ended_reason.py +177 -0
- vapi/types/call_messages_item.py +10 -0
- vapi/types/call_paginated_response.py +32 -0
- vapi/types/call_phone_call_provider.py +5 -0
- vapi/types/call_phone_call_transport.py +5 -0
- vapi/types/call_status.py +5 -0
- vapi/types/call_type.py +5 -0
- vapi/types/callback_step.py +116 -0
- vapi/types/callback_step_block.py +11 -0
- vapi/types/cartesia_credential.py +46 -0
- vapi/types/cartesia_voice.py +58 -0
- vapi/types/cartesia_voice_language.py +5 -0
- vapi/types/cartesia_voice_model.py +5 -0
- vapi/types/chunk_plan.py +70 -0
- vapi/types/client_inbound_message.py +23 -0
- vapi/types/client_inbound_message_add_message.py +28 -0
- vapi/types/client_inbound_message_control.py +32 -0
- vapi/types/client_inbound_message_control_control.py +7 -0
- vapi/types/client_inbound_message_message.py +10 -0
- vapi/types/client_inbound_message_say.py +36 -0
- vapi/types/client_message.py +23 -0
- vapi/types/client_message_conversation_update.py +38 -0
- vapi/types/client_message_conversation_update_messages_item.py +12 -0
- vapi/types/client_message_hang.py +27 -0
- vapi/types/client_message_language_changed.py +27 -0
- vapi/types/client_message_message.py +28 -0
- vapi/types/client_message_metadata.py +27 -0
- vapi/types/client_message_model_output.py +27 -0
- vapi/types/client_message_speech_update.py +34 -0
- vapi/types/client_message_speech_update_role.py +5 -0
- vapi/types/client_message_speech_update_status.py +5 -0
- vapi/types/client_message_tool_calls.py +40 -0
- vapi/types/client_message_tool_calls_result.py +31 -0
- vapi/types/client_message_tool_calls_tool_with_tool_call_list_item.py +10 -0
- vapi/types/client_message_transcript.py +43 -0
- vapi/types/client_message_transcript_role.py +5 -0
- vapi/types/client_message_transcript_transcript_type.py +5 -0
- vapi/types/client_message_user_interrupted.py +22 -0
- vapi/types/client_message_voice_input.py +27 -0
- vapi/types/clone_voice_dto.py +37 -0
- vapi/types/condition.py +33 -0
- vapi/types/condition_operator.py +5 -0
- vapi/types/conversation_block.py +109 -0
- vapi/types/conversation_block_messages_item.py +7 -0
- vapi/types/cost_breakdown.py +78 -0
- vapi/types/create_anthropic_credential_dto.py +25 -0
- vapi/types/create_anyscale_credential_dto.py +25 -0
- vapi/types/create_assistant_dto.py +309 -0
- vapi/types/create_assistant_dto_background_sound.py +5 -0
- vapi/types/create_assistant_dto_client_messages_item.py +23 -0
- vapi/types/create_assistant_dto_first_message_mode.py +10 -0
- vapi/types/create_assistant_dto_model.py +26 -0
- vapi/types/create_assistant_dto_server_messages_item.py +24 -0
- vapi/types/create_assistant_dto_transcriber.py +8 -0
- vapi/types/create_assistant_dto_voice.py +24 -0
- vapi/types/create_azure_open_ai_credential_dto.py +31 -0
- vapi/types/create_azure_open_ai_credential_dto_models_item.py +17 -0
- vapi/types/create_azure_open_ai_credential_dto_region.py +24 -0
- vapi/types/create_byo_phone_number_dto.py +105 -0
- vapi/types/create_byo_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/create_byo_sip_trunk_credential_dto.py +64 -0
- vapi/types/create_cartesia_credential_dto.py +25 -0
- vapi/types/create_conversation_block_dto.py +88 -0
- vapi/types/create_conversation_block_dto_messages_item.py +7 -0
- vapi/types/create_custom_llm_credential_dto.py +25 -0
- vapi/types/create_customer_dto.py +59 -0
- vapi/types/create_deep_infra_credential_dto.py +25 -0
- vapi/types/create_deepgram_credential_dto.py +32 -0
- vapi/types/create_dtmf_tool_dto.py +61 -0
- vapi/types/create_dtmf_tool_dto_messages_item.py +11 -0
- vapi/types/create_eleven_labs_credential_dto.py +25 -0
- vapi/types/create_end_call_tool_dto.py +61 -0
- vapi/types/create_end_call_tool_dto_messages_item.py +11 -0
- vapi/types/create_function_tool_dto.py +61 -0
- vapi/types/create_function_tool_dto_messages_item.py +11 -0
- vapi/types/create_gcp_credential_dto.py +41 -0
- vapi/types/create_ghl_tool_dto.py +63 -0
- vapi/types/create_ghl_tool_dto_messages_item.py +11 -0
- vapi/types/create_gladia_credential_dto.py +25 -0
- vapi/types/create_go_high_level_credential_dto.py +25 -0
- vapi/types/create_groq_credential_dto.py +25 -0
- vapi/types/create_lmnt_credential_dto.py +25 -0
- vapi/types/create_make_credential_dto.py +35 -0
- vapi/types/create_make_tool_dto.py +63 -0
- vapi/types/create_make_tool_dto_messages_item.py +11 -0
- vapi/types/create_open_ai_credential_dto.py +25 -0
- vapi/types/create_open_router_credential_dto.py +25 -0
- vapi/types/create_org_dto.py +63 -0
- vapi/types/create_outbound_call_dto.py +104 -0
- vapi/types/create_output_tool_dto.py +61 -0
- vapi/types/create_output_tool_dto_messages_item.py +11 -0
- vapi/types/create_perplexity_ai_credential_dto.py +25 -0
- vapi/types/create_play_ht_credential_dto.py +27 -0
- vapi/types/create_rime_ai_credential_dto.py +25 -0
- vapi/types/create_runpod_credential_dto.py +25 -0
- vapi/types/create_s_3_credential_dto.py +51 -0
- vapi/types/create_squad_dto.py +52 -0
- vapi/types/create_together_ai_credential_dto.py +25 -0
- vapi/types/create_token_dto.py +34 -0
- vapi/types/create_token_dto_tag.py +5 -0
- vapi/types/create_tool_call_block_dto.py +75 -0
- vapi/types/create_tool_call_block_dto_messages_item.py +7 -0
- vapi/types/create_tool_call_block_dto_tool.py +20 -0
- vapi/types/create_tool_template_dto.py +38 -0
- vapi/types/create_tool_template_dto_details.py +20 -0
- vapi/types/create_tool_template_dto_provider.py +5 -0
- vapi/types/create_tool_template_dto_provider_details.py +10 -0
- vapi/types/create_tool_template_dto_visibility.py +5 -0
- vapi/types/create_transfer_call_tool_dto.py +67 -0
- vapi/types/create_transfer_call_tool_dto_destinations_item.py +11 -0
- vapi/types/create_transfer_call_tool_dto_messages_item.py +11 -0
- vapi/types/create_twilio_credential_dto.py +27 -0
- vapi/types/create_twilio_phone_number_dto.py +92 -0
- vapi/types/create_twilio_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/create_vapi_phone_number_dto.py +84 -0
- vapi/types/create_vapi_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/create_voicemail_tool_dto.py +65 -0
- vapi/types/create_voicemail_tool_dto_messages_item.py +11 -0
- vapi/types/create_vonage_credential_dto.py +27 -0
- vapi/types/create_vonage_phone_number_dto.py +87 -0
- vapi/types/create_vonage_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/create_web_call_dto.py +63 -0
- vapi/types/create_workflow_block_dto.py +78 -0
- vapi/types/create_workflow_block_dto_messages_item.py +7 -0
- vapi/types/create_workflow_block_dto_steps_item.py +10 -0
- vapi/types/custom_llm_credential.py +46 -0
- vapi/types/custom_llm_model.py +115 -0
- vapi/types/custom_llm_model_metadata_send_mode.py +5 -0
- vapi/types/custom_llm_model_tools_item.py +20 -0
- vapi/types/deep_infra_credential.py +46 -0
- vapi/types/deep_infra_model.py +90 -0
- vapi/types/deep_infra_model_tools_item.py +20 -0
- vapi/types/deepgram_credential.py +53 -0
- vapi/types/deepgram_transcriber.py +68 -0
- vapi/types/deepgram_transcriber_language.py +65 -0
- vapi/types/deepgram_transcriber_model.py +37 -0
- vapi/types/deepgram_voice.py +47 -0
- vapi/types/deepgram_voice_id.py +6 -0
- vapi/types/deepgram_voice_id_enum.py +10 -0
- vapi/types/dtmf_tool.py +82 -0
- vapi/types/dtmf_tool_messages_item.py +9 -0
- vapi/types/eleven_labs_credential.py +46 -0
- vapi/types/eleven_labs_voice.py +98 -0
- vapi/types/eleven_labs_voice_id.py +6 -0
- vapi/types/eleven_labs_voice_id_enum.py +24 -0
- vapi/types/eleven_labs_voice_model.py +8 -0
- vapi/types/end_call_tool.py +82 -0
- vapi/types/end_call_tool_messages_item.py +9 -0
- vapi/types/error.py +19 -0
- vapi/types/exact_replacement.py +40 -0
- vapi/types/file.py +57 -0
- vapi/types/file_status.py +5 -0
- vapi/types/format_plan.py +64 -0
- vapi/types/format_plan_replacements_item.py +7 -0
- vapi/types/function_tool.py +82 -0
- vapi/types/function_tool_messages_item.py +9 -0
- vapi/types/function_tool_provider_details.py +35 -0
- vapi/types/function_tool_with_tool_call.py +67 -0
- vapi/types/function_tool_with_tool_call_messages_item.py +11 -0
- vapi/types/gcp_credential.py +62 -0
- vapi/types/gcp_key.py +78 -0
- vapi/types/ghl_tool.py +85 -0
- vapi/types/ghl_tool_messages_item.py +9 -0
- vapi/types/ghl_tool_metadata.py +22 -0
- vapi/types/ghl_tool_provider_details.py +41 -0
- vapi/types/ghl_tool_with_tool_call.py +69 -0
- vapi/types/ghl_tool_with_tool_call_messages_item.py +11 -0
- vapi/types/gladia_credential.py +46 -0
- vapi/types/gladia_transcriber.py +56 -0
- vapi/types/gladia_transcriber_language.py +109 -0
- vapi/types/gladia_transcriber_language_behaviour.py +7 -0
- vapi/types/gladia_transcriber_model.py +5 -0
- vapi/types/go_high_level_credential.py +46 -0
- vapi/types/groq_credential.py +46 -0
- vapi/types/groq_model.py +91 -0
- vapi/types/groq_model_model.py +19 -0
- vapi/types/groq_model_tools_item.py +20 -0
- vapi/types/handoff_step.py +116 -0
- vapi/types/handoff_step_block.py +11 -0
- vapi/types/import_twilio_phone_number_dto.py +91 -0
- vapi/types/import_twilio_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/import_vonage_phone_number_dto.py +88 -0
- vapi/types/import_vonage_phone_number_dto_fallback_destination.py +7 -0
- vapi/types/invite_user_dto.py +21 -0
- vapi/types/invite_user_dto_role.py +5 -0
- vapi/types/json_schema.py +57 -0
- vapi/types/json_schema_type.py +5 -0
- vapi/types/knowledge_base.py +23 -0
- vapi/types/lmnt_credential.py +46 -0
- vapi/types/lmnt_voice.py +52 -0
- vapi/types/lmnt_voice_id.py +6 -0
- vapi/types/lmnt_voice_id_enum.py +5 -0
- vapi/types/log.py +164 -0
- vapi/types/log_request_http_method.py +5 -0
- vapi/types/log_resource.py +7 -0
- vapi/types/log_type.py +5 -0
- vapi/types/logs_paginated_response.py +22 -0
- vapi/types/make_credential.py +56 -0
- vapi/types/make_tool.py +85 -0
- vapi/types/make_tool_messages_item.py +9 -0
- vapi/types/make_tool_metadata.py +22 -0
- vapi/types/make_tool_provider_details.py +40 -0
- vapi/types/make_tool_with_tool_call.py +69 -0
- vapi/types/make_tool_with_tool_call_messages_item.py +11 -0
- vapi/types/message_plan.py +51 -0
- vapi/types/metrics.py +44 -0
- vapi/types/model_based_condition.py +54 -0
- vapi/types/model_cost.py +53 -0
- vapi/types/monitor.py +33 -0
- vapi/types/monitor_plan.py +43 -0
- vapi/types/neets_voice.py +47 -0
- vapi/types/neets_voice_id.py +6 -0
- vapi/types/neets_voice_id_enum.py +5 -0
- vapi/types/open_ai_credential.py +46 -0
- vapi/types/open_ai_function.py +35 -0
- vapi/types/open_ai_function_parameters.py +35 -0
- vapi/types/open_ai_message.py +21 -0
- vapi/types/open_ai_message_role.py +5 -0
- vapi/types/open_ai_model.py +106 -0
- vapi/types/open_ai_model_fallback_models_item.py +26 -0
- vapi/types/open_ai_model_model.py +26 -0
- vapi/types/open_ai_model_tools_item.py +20 -0
- vapi/types/open_ai_voice.py +52 -0
- vapi/types/open_ai_voice_id.py +5 -0
- vapi/types/open_router_credential.py +46 -0
- vapi/types/open_router_model.py +90 -0
- vapi/types/open_router_model_tools_item.py +20 -0
- vapi/types/org.py +120 -0
- vapi/types/org_plan.py +28 -0
- vapi/types/output_tool.py +82 -0
- vapi/types/output_tool_messages_item.py +9 -0
- vapi/types/pagination_meta.py +23 -0
- vapi/types/perplexity_ai_credential.py +46 -0
- vapi/types/perplexity_ai_model.py +90 -0
- vapi/types/perplexity_ai_model_tools_item.py +20 -0
- vapi/types/play_ht_credential.py +48 -0
- vapi/types/play_ht_voice.py +84 -0
- vapi/types/play_ht_voice_emotion.py +21 -0
- vapi/types/play_ht_voice_id.py +6 -0
- vapi/types/play_ht_voice_id_enum.py +8 -0
- vapi/types/punctuation_boundary.py +7 -0
- vapi/types/regex_option.py +34 -0
- vapi/types/regex_option_type.py +5 -0
- vapi/types/regex_replacement.py +48 -0
- vapi/types/rime_ai_credential.py +46 -0
- vapi/types/rime_ai_voice.py +58 -0
- vapi/types/rime_ai_voice_id.py +6 -0
- vapi/types/rime_ai_voice_id_enum.py +90 -0
- vapi/types/rime_ai_voice_model.py +5 -0
- vapi/types/rule_based_condition.py +96 -0
- vapi/types/rule_based_condition_operator.py +5 -0
- vapi/types/runpod_credential.py +46 -0
- vapi/types/s_3_credential.py +72 -0
- vapi/types/sbc_configuration.py +17 -0
- vapi/types/server.py +40 -0
- vapi/types/server_message.py +40 -0
- vapi/types/server_message_assistant_request.py +96 -0
- vapi/types/server_message_assistant_request_phone_number.py +11 -0
- vapi/types/server_message_conversation_update.py +110 -0
- vapi/types/server_message_conversation_update_messages_item.py +12 -0
- vapi/types/server_message_conversation_update_phone_number.py +11 -0
- vapi/types/server_message_end_of_call_report.py +134 -0
- vapi/types/server_message_end_of_call_report_costs_item.py +13 -0
- vapi/types/server_message_end_of_call_report_ended_reason.py +177 -0
- vapi/types/server_message_end_of_call_report_phone_number.py +11 -0
- vapi/types/server_message_hang.py +101 -0
- vapi/types/server_message_hang_phone_number.py +11 -0
- vapi/types/server_message_language_changed.py +101 -0
- vapi/types/server_message_language_changed_phone_number.py +11 -0
- vapi/types/server_message_message.py +38 -0
- vapi/types/server_message_model_output.py +101 -0
- vapi/types/server_message_model_output_phone_number.py +11 -0
- vapi/types/server_message_phone_call_control.py +110 -0
- vapi/types/server_message_phone_call_control_destination.py +7 -0
- vapi/types/server_message_phone_call_control_phone_number.py +11 -0
- vapi/types/server_message_phone_call_control_request.py +5 -0
- vapi/types/server_message_response.py +39 -0
- vapi/types/server_message_response_assistant_request.py +80 -0
- vapi/types/server_message_response_assistant_request_destination.py +7 -0
- vapi/types/server_message_response_message_response.py +14 -0
- vapi/types/server_message_response_tool_calls.py +28 -0
- vapi/types/server_message_response_transfer_destination_request.py +32 -0
- vapi/types/server_message_response_transfer_destination_request_destination.py +11 -0
- vapi/types/server_message_response_voice_request.py +44 -0
- vapi/types/server_message_speech_update.py +108 -0
- vapi/types/server_message_speech_update_phone_number.py +11 -0
- vapi/types/server_message_speech_update_role.py +5 -0
- vapi/types/server_message_speech_update_status.py +5 -0
- vapi/types/server_message_status_update.py +145 -0
- vapi/types/server_message_status_update_destination.py +7 -0
- vapi/types/server_message_status_update_ended_reason.py +177 -0
- vapi/types/server_message_status_update_messages_item.py +12 -0
- vapi/types/server_message_status_update_phone_number.py +11 -0
- vapi/types/server_message_status_update_status.py +7 -0
- vapi/types/server_message_tool_calls.py +112 -0
- vapi/types/server_message_tool_calls_phone_number.py +11 -0
- vapi/types/server_message_tool_calls_tool_with_tool_call_list_item.py +10 -0
- vapi/types/server_message_transcript.py +115 -0
- vapi/types/server_message_transcript_phone_number.py +11 -0
- vapi/types/server_message_transcript_role.py +5 -0
- vapi/types/server_message_transcript_transcript_type.py +5 -0
- vapi/types/server_message_transfer_destination_request.py +98 -0
- vapi/types/server_message_transfer_destination_request_phone_number.py +11 -0
- vapi/types/server_message_transfer_update.py +116 -0
- vapi/types/server_message_transfer_update_destination.py +11 -0
- vapi/types/server_message_transfer_update_phone_number.py +11 -0
- vapi/types/server_message_user_interrupted.py +96 -0
- vapi/types/server_message_user_interrupted_phone_number.py +11 -0
- vapi/types/server_message_voice_input.py +101 -0
- vapi/types/server_message_voice_input_phone_number.py +11 -0
- vapi/types/server_message_voice_request.py +128 -0
- vapi/types/server_message_voice_request_phone_number.py +11 -0
- vapi/types/sip_trunk_gateway.py +79 -0
- vapi/types/sip_trunk_gateway_outbound_protocol.py +5 -0
- vapi/types/sip_trunk_outbound_authentication_plan.py +35 -0
- vapi/types/sip_trunk_outbound_sip_register_plan.py +21 -0
- vapi/types/squad.py +73 -0
- vapi/types/squad_member_dto.py +60 -0
- vapi/types/start_speaking_plan.py +62 -0
- vapi/types/step_destination.py +28 -0
- vapi/types/step_destination_conditions_item.py +7 -0
- vapi/types/stop_speaking_plan.py +65 -0
- vapi/types/structured_data_plan.py +66 -0
- vapi/types/success_evaluation_plan.py +75 -0
- vapi/types/success_evaluation_plan_rubric.py +17 -0
- vapi/types/summary_plan.py +56 -0
- vapi/types/sync_voice_library_dto.py +23 -0
- vapi/types/sync_voice_library_dto_providers_item.py +10 -0
- vapi/types/system_message.py +39 -0
- vapi/types/talkscriber_transcriber.py +33 -0
- vapi/types/talkscriber_transcriber_language.py +109 -0
- vapi/types/template.py +58 -0
- vapi/types/template_details.py +20 -0
- vapi/types/template_provider.py +5 -0
- vapi/types/template_provider_details.py +8 -0
- vapi/types/template_visibility.py +5 -0
- vapi/types/time_range.py +47 -0
- vapi/types/time_range_step.py +8 -0
- vapi/types/together_ai_credential.py +46 -0
- vapi/types/together_ai_model.py +90 -0
- vapi/types/together_ai_model_tools_item.py +20 -0
- vapi/types/token.py +62 -0
- vapi/types/token_restrictions.py +53 -0
- vapi/types/token_tag.py +5 -0
- vapi/types/tool_call.py +33 -0
- vapi/types/tool_call_block.py +96 -0
- vapi/types/tool_call_block_messages_item.py +7 -0
- vapi/types/tool_call_block_tool.py +20 -0
- vapi/types/tool_call_function.py +27 -0
- vapi/types/tool_call_message.py +46 -0
- vapi/types/tool_call_result.py +62 -0
- vapi/types/tool_call_result_message.py +49 -0
- vapi/types/tool_call_result_message_item.py +7 -0
- vapi/types/tool_message_complete.py +74 -0
- vapi/types/tool_message_complete_role.py +5 -0
- vapi/types/tool_message_delayed.py +49 -0
- vapi/types/tool_message_failed.py +50 -0
- vapi/types/tool_message_start.py +37 -0
- vapi/types/tool_template_metadata.py +23 -0
- vapi/types/tool_template_setup.py +24 -0
- vapi/types/transcriber_cost.py +46 -0
- vapi/types/transcript_plan.py +66 -0
- vapi/types/transcription_endpointing_plan.py +52 -0
- vapi/types/transfer_call_tool.py +88 -0
- vapi/types/transfer_call_tool_destinations_item.py +11 -0
- vapi/types/transfer_call_tool_messages_item.py +11 -0
- vapi/types/transfer_destination_assistant.py +90 -0
- vapi/types/transfer_destination_number.py +77 -0
- vapi/types/transfer_destination_sip.py +39 -0
- vapi/types/transfer_destination_step.py +39 -0
- vapi/types/transfer_mode.py +5 -0
- vapi/types/transport_configuration_twilio.py +55 -0
- vapi/types/transport_configuration_twilio_recording_channels.py +5 -0
- vapi/types/transport_cost.py +32 -0
- vapi/types/twilio_credential.py +48 -0
- vapi/types/twilio_phone_number.py +113 -0
- vapi/types/twilio_phone_number_fallback_destination.py +7 -0
- vapi/types/twilio_voicemail_detection.py +107 -0
- vapi/types/twilio_voicemail_detection_voicemail_detection_types_item.py +10 -0
- vapi/types/update_anthropic_credential_dto.py +25 -0
- vapi/types/update_anyscale_credential_dto.py +25 -0
- vapi/types/update_azure_open_ai_credential_dto.py +31 -0
- vapi/types/update_azure_open_ai_credential_dto_models_item.py +17 -0
- vapi/types/update_azure_open_ai_credential_dto_region.py +24 -0
- vapi/types/update_byo_sip_trunk_credential_dto.py +64 -0
- vapi/types/update_cartesia_credential_dto.py +25 -0
- vapi/types/update_custom_llm_credential_dto.py +25 -0
- vapi/types/update_deep_infra_credential_dto.py +25 -0
- vapi/types/update_deepgram_credential_dto.py +32 -0
- vapi/types/update_eleven_labs_credential_dto.py +25 -0
- vapi/types/update_gcp_credential_dto.py +41 -0
- vapi/types/update_gladia_credential_dto.py +25 -0
- vapi/types/update_go_high_level_credential_dto.py +25 -0
- vapi/types/update_groq_credential_dto.py +25 -0
- vapi/types/update_lmnt_credential_dto.py +25 -0
- vapi/types/update_make_credential_dto.py +35 -0
- vapi/types/update_open_ai_credential_dto.py +25 -0
- vapi/types/update_open_router_credential_dto.py +25 -0
- vapi/types/update_org_dto.py +63 -0
- vapi/types/update_perplexity_ai_credential_dto.py +25 -0
- vapi/types/update_play_ht_credential_dto.py +27 -0
- vapi/types/update_rime_ai_credential_dto.py +25 -0
- vapi/types/update_runpod_credential_dto.py +25 -0
- vapi/types/update_s_3_credential_dto.py +51 -0
- vapi/types/update_together_ai_credential_dto.py +25 -0
- vapi/types/update_tool_template_dto.py +38 -0
- vapi/types/update_tool_template_dto_details.py +20 -0
- vapi/types/update_tool_template_dto_provider.py +5 -0
- vapi/types/update_tool_template_dto_provider_details.py +10 -0
- vapi/types/update_tool_template_dto_visibility.py +5 -0
- vapi/types/update_twilio_credential_dto.py +27 -0
- vapi/types/update_user_role_dto.py +23 -0
- vapi/types/update_user_role_dto_role.py +5 -0
- vapi/types/update_vonage_credential_dto.py +27 -0
- vapi/types/user.py +47 -0
- vapi/types/user_message.py +49 -0
- vapi/types/vapi_cost.py +32 -0
- vapi/types/vapi_model.py +102 -0
- vapi/types/vapi_model_steps_item.py +7 -0
- vapi/types/vapi_model_tools_item.py +20 -0
- vapi/types/vapi_phone_number.py +105 -0
- vapi/types/vapi_phone_number_fallback_destination.py +7 -0
- vapi/types/voice_cost.py +46 -0
- vapi/types/voice_library.py +126 -0
- vapi/types/voice_library_gender.py +5 -0
- vapi/types/voice_library_voice_response.py +27 -0
- vapi/types/vonage_credential.py +64 -0
- vapi/types/vonage_phone_number.py +108 -0
- vapi/types/vonage_phone_number_fallback_destination.py +7 -0
- vapi/types/workflow_block.py +99 -0
- vapi/types/workflow_block_messages_item.py +7 -0
- vapi/types/workflow_block_steps_item.py +7 -0
- vapi/version.py +3 -0
- vapi_server_sdk-0.0.0a7.dist-info/METADATA +179 -0
- vapi_server_sdk-0.0.0a7.dist-info/RECORD +571 -0
- vapi_server_sdk-0.0.0a7.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import typing_extensions
|
|
6
|
+
from ..core.serialization import FieldMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
import datetime as dt
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class GroqCredential(UniversalBaseModel):
|
|
13
|
+
provider: typing.Literal["groq"] = "groq"
|
|
14
|
+
api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey")] = pydantic.Field()
|
|
15
|
+
"""
|
|
16
|
+
This is not returned in the API.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
id: str = pydantic.Field()
|
|
20
|
+
"""
|
|
21
|
+
This is the unique identifier for the credential.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId")] = pydantic.Field()
|
|
25
|
+
"""
|
|
26
|
+
This is the unique identifier for the org that this credential belongs to.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")] = pydantic.Field()
|
|
30
|
+
"""
|
|
31
|
+
This is the ISO 8601 date-time string of when the credential was created.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")] = pydantic.Field()
|
|
35
|
+
"""
|
|
36
|
+
This is the ISO 8601 date-time string of when the assistant was last updated.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
if IS_PYDANTIC_V2:
|
|
40
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
41
|
+
else:
|
|
42
|
+
|
|
43
|
+
class Config:
|
|
44
|
+
frozen = True
|
|
45
|
+
smart_union = True
|
|
46
|
+
extra = pydantic.Extra.allow
|
vapi/types/groq_model.py
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
from .open_ai_message import OpenAiMessage
|
|
6
|
+
import pydantic
|
|
7
|
+
from .groq_model_tools_item import GroqModelToolsItem
|
|
8
|
+
import typing_extensions
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
from .groq_model_model import GroqModelModel
|
|
11
|
+
from .knowledge_base import KnowledgeBase
|
|
12
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class GroqModel(UniversalBaseModel):
|
|
16
|
+
messages: typing.Optional[typing.List[OpenAiMessage]] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
This is the starting state for the conversation.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
tools: typing.Optional[typing.List[GroqModelToolsItem]] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.
|
|
24
|
+
|
|
25
|
+
Both `tools` and `toolIds` can be used together.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
tool_ids: typing_extensions.Annotated[typing.Optional[typing.List[str]], FieldMetadata(alias="toolIds")] = (
|
|
29
|
+
pydantic.Field(default=None)
|
|
30
|
+
)
|
|
31
|
+
"""
|
|
32
|
+
These are the tools that the assistant can use during the call. To use transient tools, use `tools`.
|
|
33
|
+
|
|
34
|
+
Both `tools` and `toolIds` can be used together.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
model: GroqModelModel = pydantic.Field()
|
|
38
|
+
"""
|
|
39
|
+
This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
provider: typing.Literal["groq"] = "groq"
|
|
43
|
+
temperature: typing.Optional[float] = pydantic.Field(default=None)
|
|
44
|
+
"""
|
|
45
|
+
This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
knowledge_base: typing_extensions.Annotated[
|
|
49
|
+
typing.Optional[KnowledgeBase], FieldMetadata(alias="knowledgeBase")
|
|
50
|
+
] = pydantic.Field(default=None)
|
|
51
|
+
"""
|
|
52
|
+
These are the options for the knowledge base.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
max_tokens: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="maxTokens")] = pydantic.Field(
|
|
56
|
+
default=None
|
|
57
|
+
)
|
|
58
|
+
"""
|
|
59
|
+
This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
emotion_recognition_enabled: typing_extensions.Annotated[
|
|
63
|
+
typing.Optional[bool], FieldMetadata(alias="emotionRecognitionEnabled")
|
|
64
|
+
] = pydantic.Field(default=None)
|
|
65
|
+
"""
|
|
66
|
+
This determines whether we detect user's emotion while they speak and send it as an additional info to model.
|
|
67
|
+
|
|
68
|
+
Default `false` because the model is usually are good at understanding the user's emotion from text.
|
|
69
|
+
|
|
70
|
+
@default false
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
num_fast_turns: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="numFastTurns")] = (
|
|
74
|
+
pydantic.Field(default=None)
|
|
75
|
+
)
|
|
76
|
+
"""
|
|
77
|
+
This sets how many turns at the start of the conversation to use a smaller, faster model from the same provider before switching to the primary model. Example, gpt-3.5-turbo if provider is openai.
|
|
78
|
+
|
|
79
|
+
Default is 0.
|
|
80
|
+
|
|
81
|
+
@default 0
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
if IS_PYDANTIC_V2:
|
|
85
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
86
|
+
else:
|
|
87
|
+
|
|
88
|
+
class Config:
|
|
89
|
+
frozen = True
|
|
90
|
+
smart_union = True
|
|
91
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
GroqModelModel = typing.Union[
|
|
6
|
+
typing.Literal[
|
|
7
|
+
"llama-3.1-405b-reasoning",
|
|
8
|
+
"llama-3.1-70b-versatile",
|
|
9
|
+
"llama-3.1-8b-instant",
|
|
10
|
+
"mixtral-8x7b-32768",
|
|
11
|
+
"llama3-8b-8192",
|
|
12
|
+
"llama3-70b-8192",
|
|
13
|
+
"llama3-groq-8b-8192-tool-use-preview",
|
|
14
|
+
"llama3-groq-70b-8192-tool-use-preview",
|
|
15
|
+
"gemma-7b-it",
|
|
16
|
+
"gemma2-9b-it",
|
|
17
|
+
],
|
|
18
|
+
typing.Any,
|
|
19
|
+
]
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from .create_dtmf_tool_dto import CreateDtmfToolDto
|
|
5
|
+
from .create_end_call_tool_dto import CreateEndCallToolDto
|
|
6
|
+
from .create_voicemail_tool_dto import CreateVoicemailToolDto
|
|
7
|
+
from .create_function_tool_dto import CreateFunctionToolDto
|
|
8
|
+
from .create_ghl_tool_dto import CreateGhlToolDto
|
|
9
|
+
from .create_make_tool_dto import CreateMakeToolDto
|
|
10
|
+
from .create_transfer_call_tool_dto import CreateTransferCallToolDto
|
|
11
|
+
|
|
12
|
+
GroqModelToolsItem = typing.Union[
|
|
13
|
+
CreateDtmfToolDto,
|
|
14
|
+
CreateEndCallToolDto,
|
|
15
|
+
CreateVoicemailToolDto,
|
|
16
|
+
CreateFunctionToolDto,
|
|
17
|
+
CreateGhlToolDto,
|
|
18
|
+
CreateMakeToolDto,
|
|
19
|
+
CreateTransferCallToolDto,
|
|
20
|
+
]
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
5
|
+
import typing
|
|
6
|
+
import pydantic
|
|
7
|
+
from .step_destination import StepDestination
|
|
8
|
+
import typing_extensions
|
|
9
|
+
from ..core.serialization import FieldMetadata
|
|
10
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
11
|
+
from ..core.pydantic_utilities import update_forward_refs
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class HandoffStep(UniversalBaseModel):
|
|
15
|
+
block: typing.Optional["HandoffStepBlock"] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
This is the block to use. To use an existing block, use `blockId`.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
type: typing.Literal["handoff"] = pydantic.Field(default="handoff")
|
|
21
|
+
"""
|
|
22
|
+
This is a step that takes a handoff from the previous step. This means it won't return to the calling step. The workflow execution will continue linearly.
|
|
23
|
+
|
|
24
|
+
Use case:
|
|
25
|
+
|
|
26
|
+
- You want to collect information linearly (e.g. a form, provide information, etc).
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
destinations: typing.Optional[typing.List[StepDestination]] = pydantic.Field(default=None)
|
|
30
|
+
"""
|
|
31
|
+
These are the destinations that the step can go to after it's done.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
name: str = pydantic.Field()
|
|
35
|
+
"""
|
|
36
|
+
This is the name of the step.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
block_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="blockId")] = pydantic.Field(
|
|
40
|
+
default=None
|
|
41
|
+
)
|
|
42
|
+
"""
|
|
43
|
+
This is the id of the block to use. To use a transient block, use `block`.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
input: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
47
|
+
"""
|
|
48
|
+
This is the input to the block. You can use any key-value map as input to the block.
|
|
49
|
+
|
|
50
|
+
Example:
|
|
51
|
+
{
|
|
52
|
+
"name": "John Doe",
|
|
53
|
+
"age": 20
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
You can reference any variable in the context of the current block:
|
|
57
|
+
|
|
58
|
+
- "{{your-step-name.output.your-property-name}}" for another step's output (in the same workflow; read caveat #1)
|
|
59
|
+
- "{{your-step-name.input.your-property-name}}" for another step's input (in the same workflow; read caveat #1)
|
|
60
|
+
- "{{your-block-name.output.your-property-name}}" for another block's output (in the same workflow; read caveat #2)
|
|
61
|
+
- "{{your-block-name.input.your-property-name}}" for another block's input (in the same workflow; read caveat #2)
|
|
62
|
+
- "{{workflow.input.your-property-name}}" for the current workflow's input
|
|
63
|
+
- "{{global.your-property-name}}" for the global context
|
|
64
|
+
|
|
65
|
+
Example:
|
|
66
|
+
{
|
|
67
|
+
"name": "{{my-tool-call-step.output.name}}",
|
|
68
|
+
"age": "{{my-tool-call-step.input.age}}",
|
|
69
|
+
"date": "{{workflow.input.date}}"
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
You can dynamically change the key name.
|
|
73
|
+
|
|
74
|
+
Example:
|
|
75
|
+
{
|
|
76
|
+
"{{my-tool-call-step.output.key-name-for-name}}": "{{name}}",
|
|
77
|
+
"{{my-tool-call-step.input.key-name-for-age}}": "{{age}}",
|
|
78
|
+
"{{workflow.input.key-name-for-date}}": "{{date}}"
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
You can represent the value as a string, number, boolean, array, or object.
|
|
82
|
+
|
|
83
|
+
Example:
|
|
84
|
+
{
|
|
85
|
+
"name": "john",
|
|
86
|
+
"age": 20,
|
|
87
|
+
"date": "2021-01-01",
|
|
88
|
+
"metadata": {
|
|
89
|
+
"unique-key": "{{my-tool-call-step.output.unique-key}}"
|
|
90
|
+
},
|
|
91
|
+
"array": ["A", "B", "C"],
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
Caveats:
|
|
95
|
+
|
|
96
|
+
1. a workflow can execute a step multiple times. example, if a loop is used in the graph. {{stepName.input/output.propertyName}} will reference the latest usage of the step.
|
|
97
|
+
2. a workflow can execute a block multiple times. example, if a step is called multiple times or if a block is used in multiple steps. {{blockName.input/output.propertyName}} will reference the latest usage of the block. this liquid variable is just provided for convenience when creating blocks outside of a workflow.
|
|
98
|
+
"""
|
|
99
|
+
|
|
100
|
+
if IS_PYDANTIC_V2:
|
|
101
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
102
|
+
else:
|
|
103
|
+
|
|
104
|
+
class Config:
|
|
105
|
+
frozen = True
|
|
106
|
+
smart_union = True
|
|
107
|
+
extra = pydantic.Extra.allow
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
from .callback_step import CallbackStep # noqa: E402
|
|
111
|
+
from .create_workflow_block_dto import CreateWorkflowBlockDto # noqa: E402
|
|
112
|
+
from .handoff_step_block import HandoffStepBlock # noqa: E402
|
|
113
|
+
|
|
114
|
+
update_forward_refs(CallbackStep, HandoffStep=HandoffStep)
|
|
115
|
+
update_forward_refs(CreateWorkflowBlockDto, HandoffStep=HandoffStep)
|
|
116
|
+
update_forward_refs(HandoffStep)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
import typing
|
|
5
|
+
from .create_conversation_block_dto import CreateConversationBlockDto
|
|
6
|
+
from .create_tool_call_block_dto import CreateToolCallBlockDto
|
|
7
|
+
import typing
|
|
8
|
+
|
|
9
|
+
if typing.TYPE_CHECKING:
|
|
10
|
+
from .create_workflow_block_dto import CreateWorkflowBlockDto
|
|
11
|
+
HandoffStepBlock = typing.Union[CreateConversationBlockDto, CreateToolCallBlockDto, "CreateWorkflowBlockDto"]
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing_extensions
|
|
5
|
+
import typing
|
|
6
|
+
from .import_twilio_phone_number_dto_fallback_destination import ImportTwilioPhoneNumberDtoFallbackDestination
|
|
7
|
+
from ..core.serialization import FieldMetadata
|
|
8
|
+
import pydantic
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ImportTwilioPhoneNumberDto(UniversalBaseModel):
|
|
13
|
+
fallback_destination: typing_extensions.Annotated[
|
|
14
|
+
typing.Optional[ImportTwilioPhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination")
|
|
15
|
+
] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
This is the fallback destination an inbound call will be transferred to if:
|
|
18
|
+
|
|
19
|
+
1. `assistantId` is not set
|
|
20
|
+
2. `squadId` is not set
|
|
21
|
+
3. and, `assistant-request` message to the `serverUrl` fails
|
|
22
|
+
|
|
23
|
+
If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
twilio_phone_number: typing_extensions.Annotated[str, FieldMetadata(alias="twilioPhoneNumber")] = pydantic.Field()
|
|
27
|
+
"""
|
|
28
|
+
These are the digits of the phone number you own on your Twilio.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
twilio_account_sid: typing_extensions.Annotated[str, FieldMetadata(alias="twilioAccountSid")] = pydantic.Field()
|
|
32
|
+
"""
|
|
33
|
+
This is your Twilio Account SID that will be used to handle this phone number.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
twilio_auth_token: typing_extensions.Annotated[str, FieldMetadata(alias="twilioAuthToken")] = pydantic.Field()
|
|
37
|
+
"""
|
|
38
|
+
This is the Twilio Auth Token that will be used to handle this phone number.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
42
|
+
"""
|
|
43
|
+
This is the name of the phone number. This is just for your own reference.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
assistant_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="assistantId")] = (
|
|
47
|
+
pydantic.Field(default=None)
|
|
48
|
+
)
|
|
49
|
+
"""
|
|
50
|
+
This is the assistant that will be used for incoming calls to this phone number.
|
|
51
|
+
|
|
52
|
+
If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
squad_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="squadId")] = pydantic.Field(
|
|
56
|
+
default=None
|
|
57
|
+
)
|
|
58
|
+
"""
|
|
59
|
+
This is the squad that will be used for incoming calls to this phone number.
|
|
60
|
+
|
|
61
|
+
If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
server_url: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="serverUrl")] = pydantic.Field(
|
|
65
|
+
default=None
|
|
66
|
+
)
|
|
67
|
+
"""
|
|
68
|
+
This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.
|
|
69
|
+
|
|
70
|
+
You can see the shape of the messages sent in `ServerMessage`.
|
|
71
|
+
|
|
72
|
+
This overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
server_url_secret: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="serverUrlSecret")] = (
|
|
76
|
+
pydantic.Field(default=None)
|
|
77
|
+
)
|
|
78
|
+
"""
|
|
79
|
+
This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.
|
|
80
|
+
|
|
81
|
+
Same precedence logic as serverUrl.
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
if IS_PYDANTIC_V2:
|
|
85
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
86
|
+
else:
|
|
87
|
+
|
|
88
|
+
class Config:
|
|
89
|
+
frozen = True
|
|
90
|
+
smart_union = True
|
|
91
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from .transfer_destination_number import TransferDestinationNumber
|
|
5
|
+
from .transfer_destination_sip import TransferDestinationSip
|
|
6
|
+
|
|
7
|
+
ImportTwilioPhoneNumberDtoFallbackDestination = typing.Union[TransferDestinationNumber, TransferDestinationSip]
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing_extensions
|
|
5
|
+
import typing
|
|
6
|
+
from .import_vonage_phone_number_dto_fallback_destination import ImportVonagePhoneNumberDtoFallbackDestination
|
|
7
|
+
from ..core.serialization import FieldMetadata
|
|
8
|
+
import pydantic
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ImportVonagePhoneNumberDto(UniversalBaseModel):
|
|
13
|
+
fallback_destination: typing_extensions.Annotated[
|
|
14
|
+
typing.Optional[ImportVonagePhoneNumberDtoFallbackDestination], FieldMetadata(alias="fallbackDestination")
|
|
15
|
+
] = pydantic.Field(default=None)
|
|
16
|
+
"""
|
|
17
|
+
This is the fallback destination an inbound call will be transferred to if:
|
|
18
|
+
|
|
19
|
+
1. `assistantId` is not set
|
|
20
|
+
2. `squadId` is not set
|
|
21
|
+
3. and, `assistant-request` message to the `serverUrl` fails
|
|
22
|
+
|
|
23
|
+
If this is not set and above conditions are met, the inbound call is hung up with an error message.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
vonage_phone_number: typing_extensions.Annotated[str, FieldMetadata(alias="vonagePhoneNumber")] = pydantic.Field()
|
|
27
|
+
"""
|
|
28
|
+
These are the digits of the phone number you own on your Vonage.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
credential_id: typing_extensions.Annotated[str, FieldMetadata(alias="credentialId")] = pydantic.Field()
|
|
32
|
+
"""
|
|
33
|
+
This is the credential that is used to make outgoing calls, and do operations like call transfer and hang up.
|
|
34
|
+
|
|
35
|
+
You can add the Vonage Credential in the Provider Credentials page on the dashboard to get the credentialId.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
39
|
+
"""
|
|
40
|
+
This is the name of the phone number. This is just for your own reference.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
assistant_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="assistantId")] = (
|
|
44
|
+
pydantic.Field(default=None)
|
|
45
|
+
)
|
|
46
|
+
"""
|
|
47
|
+
This is the assistant that will be used for incoming calls to this phone number.
|
|
48
|
+
|
|
49
|
+
If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
squad_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="squadId")] = pydantic.Field(
|
|
53
|
+
default=None
|
|
54
|
+
)
|
|
55
|
+
"""
|
|
56
|
+
This is the squad that will be used for incoming calls to this phone number.
|
|
57
|
+
|
|
58
|
+
If neither `assistantId` nor `squadId` is set, `assistant-request` will be sent to your Server URL. Check `ServerMessage` and `ServerMessageResponse` for the shape of the message and response that is expected.
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
server_url: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="serverUrl")] = pydantic.Field(
|
|
62
|
+
default=None
|
|
63
|
+
)
|
|
64
|
+
"""
|
|
65
|
+
This is the server URL where messages will be sent for calls on this number. This includes the `assistant-request` message.
|
|
66
|
+
|
|
67
|
+
You can see the shape of the messages sent in `ServerMessage`.
|
|
68
|
+
|
|
69
|
+
This overrides the `org.serverUrl`. Order of precedence: tool.server.url > assistant.serverUrl > phoneNumber.serverUrl > org.serverUrl.
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
server_url_secret: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="serverUrlSecret")] = (
|
|
73
|
+
pydantic.Field(default=None)
|
|
74
|
+
)
|
|
75
|
+
"""
|
|
76
|
+
This is the secret Vapi will send with every message to your server. It's sent as a header called x-vapi-secret.
|
|
77
|
+
|
|
78
|
+
Same precedence logic as serverUrl.
|
|
79
|
+
"""
|
|
80
|
+
|
|
81
|
+
if IS_PYDANTIC_V2:
|
|
82
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
83
|
+
else:
|
|
84
|
+
|
|
85
|
+
class Config:
|
|
86
|
+
frozen = True
|
|
87
|
+
smart_union = True
|
|
88
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from .transfer_destination_number import TransferDestinationNumber
|
|
5
|
+
from .transfer_destination_sip import TransferDestinationSip
|
|
6
|
+
|
|
7
|
+
ImportVonagePhoneNumberDtoFallbackDestination = typing.Union[TransferDestinationNumber, TransferDestinationSip]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
from .invite_user_dto_role import InviteUserDtoRole
|
|
5
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
6
|
+
import typing
|
|
7
|
+
import pydantic
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class InviteUserDto(UniversalBaseModel):
|
|
11
|
+
email: str
|
|
12
|
+
role: InviteUserDtoRole
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
from .json_schema_type import JsonSchemaType
|
|
5
|
+
import pydantic
|
|
6
|
+
import typing
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class JsonSchema(UniversalBaseModel):
|
|
11
|
+
type: JsonSchemaType = pydantic.Field()
|
|
12
|
+
"""
|
|
13
|
+
This is the type of output you'd like.
|
|
14
|
+
|
|
15
|
+
`string`, `number`, `integer`, `boolean` are the primitive types and should be obvious.
|
|
16
|
+
|
|
17
|
+
`array` and `object` are more interesting and quite powerful. They allow you to define nested structures.
|
|
18
|
+
|
|
19
|
+
For `array`, you can define the schema of the items in the array using the `items` property.
|
|
20
|
+
|
|
21
|
+
For `object`, you can define the properties of the object using the `properties` property.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
items: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
25
|
+
"""
|
|
26
|
+
This is required if the type is "array". This is the schema of the items in the array.
|
|
27
|
+
|
|
28
|
+
This is of type JsonSchema. However, Swagger doesn't support circular references.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
properties: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
|
|
32
|
+
"""
|
|
33
|
+
This is required if the type is "object". This specifies the properties of the object.
|
|
34
|
+
|
|
35
|
+
This is a map of string to JsonSchema. However, Swagger doesn't support circular references.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
39
|
+
"""
|
|
40
|
+
This is the description to help the model understand what it needs to output.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
required: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
|
|
44
|
+
"""
|
|
45
|
+
This is a list of properties that are required.
|
|
46
|
+
|
|
47
|
+
This only makes sense if the type is "object".
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
if IS_PYDANTIC_V2:
|
|
51
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
52
|
+
else:
|
|
53
|
+
|
|
54
|
+
class Config:
|
|
55
|
+
frozen = True
|
|
56
|
+
smart_union = True
|
|
57
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import typing_extensions
|
|
6
|
+
from ..core.serialization import FieldMetadata
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
import pydantic
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class KnowledgeBase(UniversalBaseModel):
|
|
12
|
+
provider: typing.Literal["canonical"] = "canonical"
|
|
13
|
+
top_k: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="topK")] = None
|
|
14
|
+
file_ids: typing_extensions.Annotated[typing.List[str], FieldMetadata(alias="fileIds")]
|
|
15
|
+
|
|
16
|
+
if IS_PYDANTIC_V2:
|
|
17
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
18
|
+
else:
|
|
19
|
+
|
|
20
|
+
class Config:
|
|
21
|
+
frozen = True
|
|
22
|
+
smart_union = True
|
|
23
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
|
4
|
+
import typing
|
|
5
|
+
import typing_extensions
|
|
6
|
+
from ..core.serialization import FieldMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
import datetime as dt
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class LmntCredential(UniversalBaseModel):
|
|
13
|
+
provider: typing.Literal["lmnt"] = "lmnt"
|
|
14
|
+
api_key: typing_extensions.Annotated[str, FieldMetadata(alias="apiKey")] = pydantic.Field()
|
|
15
|
+
"""
|
|
16
|
+
This is not returned in the API.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
id: str = pydantic.Field()
|
|
20
|
+
"""
|
|
21
|
+
This is the unique identifier for the credential.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId")] = pydantic.Field()
|
|
25
|
+
"""
|
|
26
|
+
This is the unique identifier for the org that this credential belongs to.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")] = pydantic.Field()
|
|
30
|
+
"""
|
|
31
|
+
This is the ISO 8601 date-time string of when the credential was created.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")] = pydantic.Field()
|
|
35
|
+
"""
|
|
36
|
+
This is the ISO 8601 date-time string of when the assistant was last updated.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
if IS_PYDANTIC_V2:
|
|
40
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
41
|
+
else:
|
|
42
|
+
|
|
43
|
+
class Config:
|
|
44
|
+
frozen = True
|
|
45
|
+
smart_union = True
|
|
46
|
+
extra = pydantic.Extra.allow
|