"""
AUTO-GENERATED SERVICE IMPORTS

⚠️  DO NOT EDIT THIS FILE DIRECTLY ⚠️

This file is automatically generated from service_metadata.py.
To make changes, edit service_metadata.py and run:
  uv run scripts/imports/update_imports.py

Source: scripts/imports/import_generator.py
"""

# Import statements mapping for services and transports
IMPORTS = {
    # Transports - WebRTC
    "daily": [
        "from pipecat.runner.types import DailyRunnerArguments",
        "from pipecat.transports.daily.transport import DailyTransport, DailyParams",
    ],
    "smallwebrtc": [
        "from pipecat.runner.types import SmallWebRTCRunnerArguments",
        "from pipecat.transports.base_transport import TransportParams",
        "from pipecat.transports.smallwebrtc.connection import SmallWebRTCConnection",
        "from pipecat.transports.smallwebrtc.transport import SmallWebRTCTransport",
    ],
    # Transports - Telephony
    "twilio": [
        "from pipecat.runner.types import WebSocketRunnerArguments",
        "from pipecat.serializers.twilio import TwilioFrameSerializer",
        "from pipecat.transports.websocket.fastapi import FastAPIWebsocketTransport, FastAPIWebsocketParams",
        "import aiohttp",
        "from pipecat.runner.utils import parse_telephony_websocket",
    ],
    "twilio_daily_sip_dialin": [
        "from pipecat.transports.daily.transport import DailyParams, DailyTransport",
        "from server_utils import AgentRequest",
        "from twilio.rest import Client",
    ],
    "twilio_daily_sip_dialout": [
        "from pipecat.transports.daily.transport import DailyParams, DailyTransport",
        "from server_utils import AgentRequest, DialoutSettings",
        "from typing import Any, Optional",
    ],
    "daily_pstn_dialin": [
        "from pipecat.transports.daily.transport import DailyParams, DailyDialinSettings, DailyTransport",
        "from pipecat.runner.types import DailyDialinRequest",
    ],
    "daily_pstn_dialout": [
        "from pipecat.transports.daily.transport import DailyParams, DailyTransport",
        "from server_utils import AgentRequest, DialoutSettings",
        "from typing import Any, Optional",
    ],
    "telnyx": [
        "from pipecat.runner.types import WebSocketRunnerArguments",
        "from pipecat.serializers.telnyx import TelnyxFrameSerializer",
        "from pipecat.transports.websocket.fastapi import FastAPIWebsocketTransport, FastAPIWebsocketParams",
        "from pipecat.runner.utils import parse_telephony_websocket",
    ],
    "plivo": [
        "from pipecat.runner.types import WebSocketRunnerArguments",
        "from pipecat.serializers.plivo import PlivoFrameSerializer",
        "from pipecat.transports.websocket.fastapi import FastAPIWebsocketTransport, FastAPIWebsocketParams",
        "from pipecat.runner.utils import parse_telephony_websocket",
    ],
    "exotel": [
        "from pipecat.runner.types import WebSocketRunnerArguments",
        "from pipecat.serializers.exotel import ExotelFrameSerializer",
        "from pipecat.transports.websocket.fastapi import FastAPIWebsocketTransport, FastAPIWebsocketParams",
        "from pipecat.runner.utils import parse_telephony_websocket",
    ],
    # STT Services
    "assemblyai_stt": ["from pipecat.services.assemblyai.stt import AssemblyAISTTService"],
    "aws_transcribe_stt": ["from pipecat.services.aws.stt import AWSTranscribeSTTService"],
    "azure_stt": ["from pipecat.services.azure.stt import AzureSTTService"],
    "cartesia_stt": ["from pipecat.services.cartesia.stt import CartesiaSTTService"],
    "deepgram_stt": ["from pipecat.services.deepgram.stt import DeepgramSTTService"],
    "deepgram_flux_stt": ["from pipecat.services.deepgram.flux.stt import DeepgramFluxSTTService"],
    "elevenlabs_stt": ["from pipecat.services.elevenlabs.stt import ElevenLabsSTTService"],
    "elevenlabs_realtime_stt": [
        "from pipecat.services.elevenlabs.stt import ElevenLabsRealtimeSTTService"
    ],
    "fal_stt": ["from pipecat.services.fal.stt import FalSTTService"],
    "gladia_stt": ["from pipecat.services.gladia.stt import GladiaSTTService"],
    "google_stt": ["from pipecat.services.google.stt import GoogleSTTService"],
    "gradium_stt": ["from pipecat.services.gradium.stt import GradiumSTTService"],
    "groq_stt": ["from pipecat.services.groq.stt import GroqSTTService"],
    "hathora_stt": ["from pipecat.services.hathora.stt import HathoraSTTService"],
    "nvidia_stt": ["from pipecat.services.nvidia.stt import NvidiaSTTService"],
    "openai_stt": ["from pipecat.services.openai.stt import OpenAISTTService"],
    "openai_realtime_stt": ["from pipecat.services.openai.stt import OpenAIRealtimeSTTService"],
    "sambanova_stt": ["from pipecat.services.sambanova.stt import SambaNovaSTTService"],
    "sarvam_stt": ["from pipecat.services.sarvam.stt import SarvamSTTService"],
    "soniox_stt": ["from pipecat.services.soniox.stt import SonioxSTTService"],
    "speechmatics_stt": ["from pipecat.services.speechmatics.stt import SpeechmaticsSTTService"],
    "whisper_stt": ["from pipecat.services.whisper.stt import WhisperSTTService"],
    # LLM Services
    "anthropic_llm": ["from pipecat.services.anthropic.llm import AnthropicLLMService"],
    "aws_bedrock_llm": ["from pipecat.services.aws.llm import AWSBedrockLLMService"],
    "azure_llm": ["from pipecat.services.azure.llm import AzureLLMService"],
    "cerebras_llm": ["from pipecat.services.cerebras.llm import CerebrasLLMService"],
    "deepseek_llm": ["from pipecat.services.deepseek.llm import DeepSeekLLMService"],
    "fireworks_llm": ["from pipecat.services.fireworks.llm import FireworksLLMService"],
    "google_gemini_llm": ["from pipecat.services.google.llm import GoogleLLMService"],
    "google_vertex_llm": ["from pipecat.services.google.llm_vertex import GoogleVertexLLMService"],
    "grok_llm": ["from pipecat.services.grok.llm import GrokLLMService"],
    "groq_llm": ["from pipecat.services.groq.llm import GroqLLMService"],
    "mistral_llm": ["from pipecat.services.mistral.llm import MistralLLMService"],
    "nvidia_llm": ["from pipecat.services.nvidia.llm import NvidiaLLMService"],
    "ollama_llm": ["from pipecat.services.ollama.llm import OLLamaLLMService"],
    "openai_llm": ["from pipecat.services.openai.llm import OpenAILLMService"],
    "openpipe_llm": ["from pipecat.services.openpipe.llm import OpenPipeLLMService"],
    "openrouter_llm": ["from pipecat.services.openrouter.llm import OpenRouterLLMService"],
    "perplexity_llm": ["from pipecat.services.perplexity.llm import PerplexityLLMService"],
    "qwen_llm": ["from pipecat.services.qwen.llm import QwenLLMService"],
    "sambanova_llm": ["from pipecat.services.sambanova.llm import SambaNovaLLMService"],
    "together_llm": ["from pipecat.services.together.llm import TogetherLLMService"],
    # TTS Services
    "asyncai_tts": ["from pipecat.services.asyncai.tts import AsyncAITTSService"],
    "aws_polly_tts": ["from pipecat.services.aws.tts import AWSPollyTTSService"],
    "azure_tts": ["from pipecat.services.azure.tts import AzureTTSService"],
    "camb_tts": ["from pipecat.services.camb.tts import CambTTSService"],
    "cartesia_tts": ["from pipecat.services.cartesia.tts import CartesiaTTSService"],
    "deepgram_tts": ["from pipecat.services.deepgram.tts import DeepgramTTSService"],
    "elevenlabs_tts": ["from pipecat.services.elevenlabs.tts import ElevenLabsTTSService"],
    "fish_tts": ["from pipecat.services.fish.tts import FishAudioTTSService"],
    "gemini_tts": ["from pipecat.services.google.tts import GeminiTTSService"],
    "google_tts": ["from pipecat.services.google.tts import GoogleTTSService"],
    "gradium_tts": ["from pipecat.services.gradium.tts import GradiumTTSService"],
    "groq_tts": ["from pipecat.services.groq.tts import GroqTTSService"],
    "hathora_tts": ["from pipecat.services.hathora.tts import HathoraTTSService"],
    "hume_tts": ["from pipecat.services.hume.tts import HumeTTSService"],
    "inworld_tts": ["from pipecat.services.inworld.tts import InworldTTSService"],
    "kokoro_tts": ["from pipecat.services.kokoro.tts import KokoroTTSService"],
    "lmnt_tts": ["from pipecat.services.lmnt.tts import LmntTTSService"],
    "minimax_tts": ["from pipecat.services.minimax.tts import MiniMaxHttpTTSService"],
    "neuphonic_tts": ["from pipecat.services.neuphonic.tts import NeuphonicTTSService"],
    "nvidia_tts": ["from pipecat.services.nvidia.tts import NvidiaTTSService"],
    "openai_tts": ["from pipecat.services.openai.tts import OpenAITTSService"],
    "piper_tts": ["from pipecat.services.piper.tts import PiperTTSService"],
    "resemble_tts": ["from pipecat.services.resembleai.tts import ResembleAITTSService"],
    "rime_tts": ["from pipecat.services.rime.tts import RimeTTSService"],
    "sarvam_tts": ["from pipecat.services.sarvam.tts import SarvamTTSService"],
    "xtts_tts": ["from pipecat.services.xtts.tts import XTTSService"],
    # Realtime Services
    "aws_nova_realtime": ["from pipecat.services.aws.nova_sonic.llm import AWSNovaSonicLLMService"],
    "azure_realtime": [
        "from pipecat.services.azure.realtime.llm import AzureRealtimeLLMService",
        "from pipecat.services.openai.realtime.events import SessionProperties, InputAudioTranscription",
    ],
    "gemini_live_realtime": [
        "from pipecat.services.google.gemini_live.llm import GeminiLiveLLMService"
    ],
    "gemini_vertex_live_realtime": [
        "from pipecat.services.google.gemini_live.llm_vertex import GeminiLiveVertexLLMService"
    ],
    "grok_realtime": [
        "from pipecat.services.grok.realtime.events import SessionProperties",
        "from pipecat.services.grok.realtime.llm import GrokRealtimeLLMService",
    ],
    "openai_realtime": [
        "from pipecat.services.openai.realtime.events import SessionProperties, AudioConfiguration, AudioInput, InputAudioTranscription, SemanticTurnDetection, InputAudioNoiseReduction",
        "from pipecat.services.openai.realtime.llm import OpenAIRealtimeLLMService",
    ],
    "ultravox": [
        "from pipecat.services.ultravox.llm import UltravoxRealtimeLLMService, OneShotInputParams",
        "import datetime",
    ],
    # Video Services
    "heygen_video": [
        "from pipecat.services.heygen.video import HeyGenVideoService",
        "from pipecat.services.heygen.api import AvatarQuality, NewSessionRequest",
    ],
    "tavus_video": ["from pipecat.services.tavus.video import TavusVideoService"],
    "simli_video": ["from pipecat.services.simli.video import SimliVideoService"],
}

# Additional imports for features (generated from FEATURE_DEFINITIONS)
FEATURE_IMPORTS = {
    "recording": [
        "import aiofiles",
        "import datetime",
        "import io",
        "from pipecat.processors.audio.audio_buffer_processor import AudioBufferProcessor",
        "import wave",
    ],
    "transcription": [
        "from pipecat.processors.aggregators.llm_response_universal import AssistantTurnStoppedMessage, UserTurnStoppedMessage"
    ],
    "vad": ["from pipecat.audio.vad.silero import SileroVADAnalyzer"],
    "pipeline": [
        "from pipecat.pipeline.pipeline import Pipeline",
        "from pipecat.pipeline.runner import PipelineRunner",
        "from pipecat.pipeline.task import PipelineParams, PipelineTask",
    ],
    "context": [
        "from pipecat.processors.aggregators.llm_context import LLMContext",
        "from pipecat.processors.aggregators.llm_response_universal import LLMContextAggregatorPair, LLMUserAggregatorParams",
    ],
    "runner": [
        "from dotenv import load_dotenv",
        "from pipecat.frames.frames import LLMRunFrame",
        "from pipecat.runner.types import RunnerArguments",
        "from pipecat.transports.base_transport import BaseTransport",
    ],
    "observability": [
        "from pipecat_tail.observer import TailObserver",
        "from pipecat_whisker import WhiskerObserver",
    ],
}

# Base imports always included in generated bot files
BASE_IMPORTS = [
    "import os",
    "from loguru import logger",
]
