from app_huggingface import demo as demo_huggingface
from app_mistral import demo as demo_mistral
from app_gemini_coder import demo as demo_gemini_coder
from app_gemini import demo as demo_gemini
from app_hyperbolic import demo as demo_hyperbolic
from app_sambanova import demo as demo_sambanova
from utils import get_app

# Create mapping of providers to their demos
PROVIDERS = {
    "Mistral": demo_mistral,
    "SambaNova": demo_sambanova,
    "Hyperbolic Coder": demo_hyperbolic,
    "Gemini Coder": demo_gemini_coder,
    "Gemini": demo_gemini,
 #   "Huggingface": demo_huggingface,
}

demo = get_app(
    models=list(PROVIDERS.keys()),
    default_model="Mistral",
    src=PROVIDERS,
    dropdown_label="Select Provider",
)

if __name__ == "__main__":
    demo.queue(api_open=False).launch(show_api=False)