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,74 @@
|
|
|
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 pydantic
|
|
6
|
+
from .tool_message_complete_role import ToolMessageCompleteRole
|
|
7
|
+
import typing_extensions
|
|
8
|
+
from ..core.serialization import FieldMetadata
|
|
9
|
+
from .condition import Condition
|
|
10
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ToolMessageComplete(UniversalBaseModel):
|
|
14
|
+
type: typing.Literal["request-complete"] = pydantic.Field(default="request-complete")
|
|
15
|
+
"""
|
|
16
|
+
This message is triggered when the tool call is complete.
|
|
17
|
+
|
|
18
|
+
This message is triggered immediately without waiting for your server to respond for async tool calls.
|
|
19
|
+
|
|
20
|
+
If this message is not provided, the model will be requested to respond.
|
|
21
|
+
|
|
22
|
+
If this message is provided, only this message will be spoken and the model will not be requested to come up with a response. It's an exclusive OR.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
role: typing.Optional[ToolMessageCompleteRole] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
This is optional and defaults to "assistant".
|
|
28
|
+
|
|
29
|
+
When role=assistant, `content` is said out loud.
|
|
30
|
+
|
|
31
|
+
When role=system, `content` is passed to the model in a system message. Example:
|
|
32
|
+
system: default one
|
|
33
|
+
assistant:
|
|
34
|
+
user:
|
|
35
|
+
assistant:
|
|
36
|
+
user:
|
|
37
|
+
assistant:
|
|
38
|
+
user:
|
|
39
|
+
assistant: tool called
|
|
40
|
+
tool: your server response
|
|
41
|
+
<--- system prompt as hint
|
|
42
|
+
---> model generates response which is spoken
|
|
43
|
+
This is useful when you want to provide a hint to the model about what to say next.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
end_call_after_spoken_enabled: typing_extensions.Annotated[
|
|
47
|
+
typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled")
|
|
48
|
+
] = pydantic.Field(default=None)
|
|
49
|
+
"""
|
|
50
|
+
This is an optional boolean that if true, the call will end after the message is spoken. Default is false.
|
|
51
|
+
|
|
52
|
+
This is ignored if `role` is set to `system`.
|
|
53
|
+
|
|
54
|
+
@default false
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
content: str = pydantic.Field()
|
|
58
|
+
"""
|
|
59
|
+
This is the content that the assistant says when this message is triggered.
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
conditions: typing.Optional[typing.List[Condition]] = pydantic.Field(default=None)
|
|
63
|
+
"""
|
|
64
|
+
This is an optional array of conditions that the tool call arguments must meet in order for this message to be triggered.
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
if IS_PYDANTIC_V2:
|
|
68
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
69
|
+
else:
|
|
70
|
+
|
|
71
|
+
class Config:
|
|
72
|
+
frozen = True
|
|
73
|
+
smart_union = True
|
|
74
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,49 @@
|
|
|
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 pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ..core.serialization import FieldMetadata
|
|
8
|
+
from .condition import Condition
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ToolMessageDelayed(UniversalBaseModel):
|
|
13
|
+
type: typing.Literal["request-response-delayed"] = pydantic.Field(default="request-response-delayed")
|
|
14
|
+
"""
|
|
15
|
+
This message is triggered when the tool call is delayed.
|
|
16
|
+
|
|
17
|
+
There are the two things that can trigger this message:
|
|
18
|
+
|
|
19
|
+
1. The user talks with the assistant while your server is processing the request. Default is "Sorry, a few more seconds."
|
|
20
|
+
2. The server doesn't respond within `timingMilliseconds`.
|
|
21
|
+
|
|
22
|
+
This message is never triggered for async tool calls.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
timing_milliseconds: typing_extensions.Annotated[
|
|
26
|
+
typing.Optional[float], FieldMetadata(alias="timingMilliseconds")
|
|
27
|
+
] = pydantic.Field(default=None)
|
|
28
|
+
"""
|
|
29
|
+
The number of milliseconds to wait for the server response before saying this message.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
content: str = pydantic.Field()
|
|
33
|
+
"""
|
|
34
|
+
This is the content that the assistant says when this message is triggered.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
conditions: typing.Optional[typing.List[Condition]] = pydantic.Field(default=None)
|
|
38
|
+
"""
|
|
39
|
+
This is an optional array of conditions that the tool call arguments must meet in order for this message to be triggered.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
if IS_PYDANTIC_V2:
|
|
43
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
44
|
+
else:
|
|
45
|
+
|
|
46
|
+
class Config:
|
|
47
|
+
frozen = True
|
|
48
|
+
smart_union = True
|
|
49
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,50 @@
|
|
|
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 pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ..core.serialization import FieldMetadata
|
|
8
|
+
from .condition import Condition
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ToolMessageFailed(UniversalBaseModel):
|
|
13
|
+
type: typing.Literal["request-failed"] = pydantic.Field(default="request-failed")
|
|
14
|
+
"""
|
|
15
|
+
This message is triggered when the tool call fails.
|
|
16
|
+
|
|
17
|
+
This message is never triggered for async tool calls.
|
|
18
|
+
|
|
19
|
+
If this message is not provided, the model will be requested to respond.
|
|
20
|
+
|
|
21
|
+
If this message is provided, only this message will be spoken and the model will not be requested to come up with a response. It's an exclusive OR.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
end_call_after_spoken_enabled: typing_extensions.Annotated[
|
|
25
|
+
typing.Optional[bool], FieldMetadata(alias="endCallAfterSpokenEnabled")
|
|
26
|
+
] = pydantic.Field(default=None)
|
|
27
|
+
"""
|
|
28
|
+
This is an optional boolean that if true, the call will end after the message is spoken. Default is false.
|
|
29
|
+
|
|
30
|
+
@default false
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
content: str = pydantic.Field()
|
|
34
|
+
"""
|
|
35
|
+
This is the content that the assistant says when this message is triggered.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
conditions: typing.Optional[typing.List[Condition]] = pydantic.Field(default=None)
|
|
39
|
+
"""
|
|
40
|
+
This is an optional array of conditions that the tool call arguments must meet in order for this message to be triggered.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
if IS_PYDANTIC_V2:
|
|
44
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
45
|
+
else:
|
|
46
|
+
|
|
47
|
+
class Config:
|
|
48
|
+
frozen = True
|
|
49
|
+
smart_union = True
|
|
50
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,37 @@
|
|
|
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 pydantic
|
|
6
|
+
from .condition import Condition
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ToolMessageStart(UniversalBaseModel):
|
|
11
|
+
type: typing.Literal["request-start"] = pydantic.Field(default="request-start")
|
|
12
|
+
"""
|
|
13
|
+
This message is triggered when the tool call starts.
|
|
14
|
+
|
|
15
|
+
This message is never triggered for async tools.
|
|
16
|
+
|
|
17
|
+
If this message is not provided, one of the default filler messages "Hold on a sec", "One moment", "Just a sec", "Give me a moment" or "This'll just take a sec" will be used.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
content: str = pydantic.Field()
|
|
21
|
+
"""
|
|
22
|
+
This is the content that the assistant says when this message is triggered.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
conditions: typing.Optional[typing.List[Condition]] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
This is an optional array of conditions that the tool call arguments must meet in order for this message to be triggered.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
if IS_PYDANTIC_V2:
|
|
31
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
32
|
+
else:
|
|
33
|
+
|
|
34
|
+
class Config:
|
|
35
|
+
frozen = True
|
|
36
|
+
smart_union = True
|
|
37
|
+
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_extensions
|
|
5
|
+
import typing
|
|
6
|
+
from ..core.serialization import FieldMetadata
|
|
7
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
import pydantic
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ToolTemplateMetadata(UniversalBaseModel):
|
|
12
|
+
collection_type: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="collectionType")] = None
|
|
13
|
+
collection_id: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="collectionId")] = None
|
|
14
|
+
collection_name: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="collectionName")] = None
|
|
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,24 @@
|
|
|
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 ToolTemplateSetup(UniversalBaseModel):
|
|
12
|
+
title: str
|
|
13
|
+
description: typing.Optional[str] = None
|
|
14
|
+
video_url: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="videoUrl")] = None
|
|
15
|
+
docs_url: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="docsUrl")] = None
|
|
16
|
+
|
|
17
|
+
if IS_PYDANTIC_V2:
|
|
18
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
19
|
+
else:
|
|
20
|
+
|
|
21
|
+
class Config:
|
|
22
|
+
frozen = True
|
|
23
|
+
smart_union = True
|
|
24
|
+
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 pydantic
|
|
6
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TranscriberCost(UniversalBaseModel):
|
|
10
|
+
type: typing.Literal["transcriber"] = pydantic.Field(default="transcriber")
|
|
11
|
+
"""
|
|
12
|
+
This is the type of cost, always 'transcriber' for this class.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
transcriber: typing.Dict[str, typing.Optional[typing.Any]] = pydantic.Field()
|
|
16
|
+
"""
|
|
17
|
+
This is the transcriber that was used during the call.
|
|
18
|
+
|
|
19
|
+
This matches one of the below:
|
|
20
|
+
|
|
21
|
+
- `call.assistant.transcriber`,
|
|
22
|
+
- `call.assistantId->transcriber`,
|
|
23
|
+
- `call.squad[n].assistant.transcriber`,
|
|
24
|
+
- `call.squad[n].assistantId->transcriber`,
|
|
25
|
+
- `call.squadId->[n].assistant.transcriber`,
|
|
26
|
+
- `call.squadId->[n].assistantId->transcriber`.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
minutes: float = pydantic.Field()
|
|
30
|
+
"""
|
|
31
|
+
This is the minutes of `transcriber` usage. This should match `call.endedAt` - `call.startedAt` for single assistant calls, while squad calls will have multiple transcriber costs one for each assistant that was used.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
cost: float = pydantic.Field()
|
|
35
|
+
"""
|
|
36
|
+
This is the cost of the component in USD.
|
|
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
|
|
@@ -0,0 +1,66 @@
|
|
|
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 pydantic
|
|
6
|
+
import typing_extensions
|
|
7
|
+
from ..core.serialization import FieldMetadata
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TranscriptPlan(UniversalBaseModel):
|
|
12
|
+
enabled: typing.Optional[bool] = pydantic.Field(default=None)
|
|
13
|
+
"""
|
|
14
|
+
This determines whether the transcript is stored in `call.artifact.transcript`. Defaults to true.
|
|
15
|
+
|
|
16
|
+
@default true
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
assistant_name: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="assistantName")] = (
|
|
20
|
+
pydantic.Field(default=None)
|
|
21
|
+
)
|
|
22
|
+
"""
|
|
23
|
+
This is the name of the assistant in the transcript. Defaults to 'AI'.
|
|
24
|
+
|
|
25
|
+
Usage:
|
|
26
|
+
|
|
27
|
+
- If you want to change the name of the assistant in the transcript, set this. Example, here is what the transcript would look like with `assistantName` set to 'Buyer':
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
User: Hello, how are you?
|
|
31
|
+
Buyer: I'm fine.
|
|
32
|
+
User: Do you want to buy a car?
|
|
33
|
+
Buyer: No.
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
@default 'AI'
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
user_name: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="userName")] = pydantic.Field(
|
|
40
|
+
default=None
|
|
41
|
+
)
|
|
42
|
+
"""
|
|
43
|
+
This is the name of the user in the transcript. Defaults to 'User'.
|
|
44
|
+
|
|
45
|
+
Usage:
|
|
46
|
+
|
|
47
|
+
- If you want to change the name of the user in the transcript, set this. Example, here is what the transcript would look like with `userName` set to 'Seller':
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Seller: Hello, how are you?
|
|
51
|
+
AI: I'm fine.
|
|
52
|
+
Seller: Do you want to buy a car?
|
|
53
|
+
AI: No.
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
@default 'User'
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
if IS_PYDANTIC_V2:
|
|
60
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
61
|
+
else:
|
|
62
|
+
|
|
63
|
+
class Config:
|
|
64
|
+
frozen = True
|
|
65
|
+
smart_union = True
|
|
66
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,52 @@
|
|
|
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 ..core.serialization import FieldMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class TranscriptionEndpointingPlan(UniversalBaseModel):
|
|
12
|
+
on_punctuation_seconds: typing_extensions.Annotated[
|
|
13
|
+
typing.Optional[float], FieldMetadata(alias="onPunctuationSeconds")
|
|
14
|
+
] = pydantic.Field(default=None)
|
|
15
|
+
"""
|
|
16
|
+
The minimum number of seconds to wait after transcription ending with punctuation before sending a request to the model. Defaults to 0.1.
|
|
17
|
+
|
|
18
|
+
This setting exists because the transcriber punctuates the transcription when it's more confident that customer has completed a thought.
|
|
19
|
+
|
|
20
|
+
@default 0.1
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
on_no_punctuation_seconds: typing_extensions.Annotated[
|
|
24
|
+
typing.Optional[float], FieldMetadata(alias="onNoPunctuationSeconds")
|
|
25
|
+
] = pydantic.Field(default=None)
|
|
26
|
+
"""
|
|
27
|
+
The minimum number of seconds to wait after transcription ending without punctuation before sending a request to the model. Defaults to 1.5.
|
|
28
|
+
|
|
29
|
+
This setting exists to catch the cases where the transcriber was not confident enough to punctuate the transcription, but the customer is done and has been silent for a long time.
|
|
30
|
+
|
|
31
|
+
@default 1.5
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
on_number_seconds: typing_extensions.Annotated[typing.Optional[float], FieldMetadata(alias="onNumberSeconds")] = (
|
|
35
|
+
pydantic.Field(default=None)
|
|
36
|
+
)
|
|
37
|
+
"""
|
|
38
|
+
The minimum number of seconds to wait after transcription ending with a number before sending a request to the model. Defaults to 0.4.
|
|
39
|
+
|
|
40
|
+
This setting exists because the transcriber will sometimes punctuate the transcription ending with a number, even though the customer hasn't uttered the full number. This happens commonly for long numbers when the customer reads the number in chunks.
|
|
41
|
+
|
|
42
|
+
@default 0.5
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
if IS_PYDANTIC_V2:
|
|
46
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
47
|
+
else:
|
|
48
|
+
|
|
49
|
+
class Config:
|
|
50
|
+
frozen = True
|
|
51
|
+
smart_union = True
|
|
52
|
+
extra = pydantic.Extra.allow
|
|
@@ -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 ..core.serialization import FieldMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
from .transfer_call_tool_messages_item import TransferCallToolMessagesItem
|
|
9
|
+
from .transfer_call_tool_destinations_item import TransferCallToolDestinationsItem
|
|
10
|
+
import datetime as dt
|
|
11
|
+
from .open_ai_function import OpenAiFunction
|
|
12
|
+
from .server import Server
|
|
13
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class TransferCallTool(UniversalBaseModel):
|
|
17
|
+
async_: typing_extensions.Annotated[typing.Optional[bool], FieldMetadata(alias="async")] = pydantic.Field(
|
|
18
|
+
default=None
|
|
19
|
+
)
|
|
20
|
+
"""
|
|
21
|
+
This determines if the tool is async.
|
|
22
|
+
|
|
23
|
+
If async, the assistant will move forward without waiting for your server to respond. This is useful if you just want to trigger something on your server.
|
|
24
|
+
|
|
25
|
+
If sync, the assistant will wait for your server to respond. This is useful if want assistant to respond with the result from your server.
|
|
26
|
+
|
|
27
|
+
Defaults to synchronous (`false`).
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
messages: typing.Optional[typing.List[TransferCallToolMessagesItem]] = pydantic.Field(default=None)
|
|
31
|
+
"""
|
|
32
|
+
These are the messages that will be spoken to the user as the tool is running.
|
|
33
|
+
|
|
34
|
+
For some tools, this is auto-filled based on special fields like `tool.destinations`. For others like the function tool, these can be custom configured.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
type: typing.Literal["transferCall"] = "transferCall"
|
|
38
|
+
destinations: typing.Optional[typing.List[TransferCallToolDestinationsItem]] = pydantic.Field(default=None)
|
|
39
|
+
"""
|
|
40
|
+
These are the destinations that the call can be transferred to. If no destinations are provided, server.url will be used to get the transfer destination once the tool is called.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
id: str = pydantic.Field()
|
|
44
|
+
"""
|
|
45
|
+
This is the unique identifier for the tool.
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
org_id: typing_extensions.Annotated[str, FieldMetadata(alias="orgId")] = pydantic.Field()
|
|
49
|
+
"""
|
|
50
|
+
This is the unique identifier for the organization that this tool belongs to.
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
created_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="createdAt")] = pydantic.Field()
|
|
54
|
+
"""
|
|
55
|
+
This is the ISO 8601 date-time string of when the tool was created.
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
updated_at: typing_extensions.Annotated[dt.datetime, FieldMetadata(alias="updatedAt")] = pydantic.Field()
|
|
59
|
+
"""
|
|
60
|
+
This is the ISO 8601 date-time string of when the tool was last updated.
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
function: typing.Optional[OpenAiFunction] = pydantic.Field(default=None)
|
|
64
|
+
"""
|
|
65
|
+
This is the function definition of the tool.
|
|
66
|
+
|
|
67
|
+
For `endCall`, `transferCall`, and `dtmf` tools, this is auto-filled based on tool-specific fields like `tool.destinations`. But, even in those cases, you can provide a custom function definition for advanced use cases.
|
|
68
|
+
|
|
69
|
+
An example of an advanced use case is if you want to customize the message that's spoken for `endCall` tool. You can specify a function where it returns an argument "reason". Then, in `messages` array, you can have many "request-complete" messages. One of these messages will be triggered if the `messages[].conditions` matches the "reason" argument.
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
server: typing.Optional[Server] = pydantic.Field(default=None)
|
|
73
|
+
"""
|
|
74
|
+
This is the server that will be hit when this tool is requested by the model.
|
|
75
|
+
|
|
76
|
+
All requests will be sent with the call object among other things. You can find more details in the Server URL documentation.
|
|
77
|
+
|
|
78
|
+
This overrides the serverUrl set on the org and the phoneNumber. Order of precedence: highest tool.server.url, then assistant.serverUrl, then phoneNumber.serverUrl, then org.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,11 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from .transfer_destination_assistant import TransferDestinationAssistant
|
|
5
|
+
from .transfer_destination_step import TransferDestinationStep
|
|
6
|
+
from .transfer_destination_number import TransferDestinationNumber
|
|
7
|
+
from .transfer_destination_sip import TransferDestinationSip
|
|
8
|
+
|
|
9
|
+
TransferCallToolDestinationsItem = typing.Union[
|
|
10
|
+
TransferDestinationAssistant, TransferDestinationStep, TransferDestinationNumber, TransferDestinationSip
|
|
11
|
+
]
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from .tool_message_start import ToolMessageStart
|
|
5
|
+
from .tool_message_complete import ToolMessageComplete
|
|
6
|
+
from .tool_message_failed import ToolMessageFailed
|
|
7
|
+
from .tool_message_delayed import ToolMessageDelayed
|
|
8
|
+
|
|
9
|
+
TransferCallToolMessagesItem = typing.Union[
|
|
10
|
+
ToolMessageStart, ToolMessageComplete, ToolMessageFailed, ToolMessageDelayed
|
|
11
|
+
]
|
|
@@ -0,0 +1,90 @@
|
|
|
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 .transfer_mode import TransferMode
|
|
7
|
+
from ..core.serialization import FieldMetadata
|
|
8
|
+
import pydantic
|
|
9
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class TransferDestinationAssistant(UniversalBaseModel):
|
|
13
|
+
type: typing.Literal["assistant"] = "assistant"
|
|
14
|
+
transfer_mode: typing_extensions.Annotated[typing.Optional[TransferMode], FieldMetadata(alias="transferMode")] = (
|
|
15
|
+
pydantic.Field(default=None)
|
|
16
|
+
)
|
|
17
|
+
"""
|
|
18
|
+
This is the mode to use for the transfer. Default is `rolling-history`.
|
|
19
|
+
|
|
20
|
+
- `rolling-history`: This is the default mode. It keeps the entire conversation history and appends the new assistant's system message on transfer.
|
|
21
|
+
|
|
22
|
+
Example:
|
|
23
|
+
|
|
24
|
+
Pre-transfer:
|
|
25
|
+
system: assistant1 system message
|
|
26
|
+
assistant: assistant1 first message
|
|
27
|
+
user: hey, good morning
|
|
28
|
+
assistant: how can i help?
|
|
29
|
+
user: i need help with my account
|
|
30
|
+
assistant: (destination.message)
|
|
31
|
+
|
|
32
|
+
Post-transfer:
|
|
33
|
+
system: assistant1 system message
|
|
34
|
+
assistant: assistant1 first message
|
|
35
|
+
user: hey, good morning
|
|
36
|
+
assistant: how can i help?
|
|
37
|
+
user: i need help with my account
|
|
38
|
+
assistant: (destination.message)
|
|
39
|
+
system: assistant2 system message
|
|
40
|
+
assistant: assistant2 first message (or model generated if firstMessageMode is set to `assistant-speaks-first-with-model-generated-message`)
|
|
41
|
+
|
|
42
|
+
- `swap-system-message-in-history`: This replaces the original system message with the new assistant's system message on transfer.
|
|
43
|
+
|
|
44
|
+
Example:
|
|
45
|
+
|
|
46
|
+
Pre-transfer:
|
|
47
|
+
system: assistant1 system message
|
|
48
|
+
assistant: assistant1 first message
|
|
49
|
+
user: hey, good morning
|
|
50
|
+
assistant: how can i help?
|
|
51
|
+
user: i need help with my account
|
|
52
|
+
assistant: (destination.message)
|
|
53
|
+
|
|
54
|
+
Post-transfer:
|
|
55
|
+
system: assistant2 system message
|
|
56
|
+
assistant: assistant1 first message
|
|
57
|
+
user: hey, good morning
|
|
58
|
+
assistant: how can i help?
|
|
59
|
+
user: i need help with my account
|
|
60
|
+
assistant: (destination.message)
|
|
61
|
+
assistant: assistant2 first message (or model generated if firstMessageMode is set to `assistant-speaks-first-with-model-generated-message`)
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
assistant_name: typing_extensions.Annotated[str, FieldMetadata(alias="assistantName")] = pydantic.Field()
|
|
65
|
+
"""
|
|
66
|
+
This is the assistant to transfer the call to.
|
|
67
|
+
"""
|
|
68
|
+
|
|
69
|
+
message: typing.Optional[str] = pydantic.Field(default=None)
|
|
70
|
+
"""
|
|
71
|
+
This is the message to say before transferring the call to the destination.
|
|
72
|
+
|
|
73
|
+
If this is not provided and transfer tool messages is not provided, default is "Transferring the call now".
|
|
74
|
+
|
|
75
|
+
If set to "", nothing is spoken. This is useful when you want to silently transfer. This is especially useful when transferring between assistants in a squad. In this scenario, you likely also want to set `assistant.firstMessageMode=assistant-speaks-first-with-model-generated-message` for the destination assistant.
|
|
76
|
+
"""
|
|
77
|
+
|
|
78
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
|
79
|
+
"""
|
|
80
|
+
This is the description of the destination, used by the AI to choose when and how to transfer the call.
|
|
81
|
+
"""
|
|
82
|
+
|
|
83
|
+
if IS_PYDANTIC_V2:
|
|
84
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
85
|
+
else:
|
|
86
|
+
|
|
87
|
+
class Config:
|
|
88
|
+
frozen = True
|
|
89
|
+
smart_union = True
|
|
90
|
+
extra = pydantic.Extra.allow
|