76 lines
1.9 KiB
Python
76 lines
1.9 KiB
Python
"""API key manager components."""
|
|
|
|
import asyncio
|
|
import streamlit as st
|
|
import os
|
|
from loguru import logger
|
|
from .styles import API_KEY_MANAGER_STYLES
|
|
from .config import FEATURE_PREVIEWS, API_KEY_CONFIGS
|
|
from .wizard_state import (
|
|
get_current_step,
|
|
next_step,
|
|
previous_step,
|
|
set_selected_providers,
|
|
get_selected_providers,
|
|
set_website_url,
|
|
get_website_url,
|
|
set_api_key,
|
|
get_api_key,
|
|
can_proceed_to_next_step,
|
|
get_api_keys
|
|
)
|
|
from .health_monitor import APIKeyHealthMonitor
|
|
from .key_rotation import KeyRotationManager
|
|
from ...utils.website_analyzer import analyze_website
|
|
from .api_key_tests import (
|
|
test_openai_api_key,
|
|
test_gemini_api_key,
|
|
test_anthropic_api_key,
|
|
test_deepseek_api_key,
|
|
test_mistral_api_key
|
|
)
|
|
from .components.base import render_step_indicator, render_navigation_buttons, render_success_message
|
|
from .components import (
|
|
render_ai_providers,
|
|
render_website_setup,
|
|
render_health_monitoring,
|
|
render_ai_research_setup,
|
|
render_final_setup
|
|
)
|
|
|
|
def render_wizard():
|
|
"""Render the main wizard interface."""
|
|
st.title("API Key Setup Wizard")
|
|
|
|
# Get current step
|
|
current_step = get_current_step()
|
|
|
|
# Render step indicator
|
|
render_step_indicator()
|
|
|
|
# Render current step content
|
|
if current_step == 1:
|
|
render_ai_providers()
|
|
elif current_step == 2:
|
|
render_website_setup()
|
|
elif current_step == 3:
|
|
render_ai_research_setup()
|
|
elif current_step == 4:
|
|
render_final_setup()
|
|
elif current_step == 5:
|
|
render_health_monitoring()
|
|
|
|
# Render navigation buttons
|
|
render_navigation_buttons()
|
|
|
|
__all__ = [
|
|
'render_wizard',
|
|
'render_step_indicator',
|
|
'render_navigation_buttons',
|
|
'render_success_message',
|
|
'render_ai_providers',
|
|
'render_website_setup',
|
|
'render_ai_research_setup',
|
|
'render_health_monitoring',
|
|
'render_final_setup'
|
|
] |