Spaces:
Running
Running
File size: 1,830 Bytes
24ceec5 e3e7994 24ceec5 e3e7994 ccb935d e3e7994 24ceec5 ccb935d 24ceec5 ccb935d 24ceec5 e3e7994 f76a56f e3e7994 963e30d 24ceec5 e3e7994 24ceec5 e3e7994 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | """SoniCoder v2 — Entry point.
gradio.Server (Gradio 6.x) serves index.html from project root
with Gradio's queuing, concurrency, and API infrastructure.
Blog: https://huggingface.co/blog/introducing-gradio-server
"""
from __future__ import annotations
import logging
# Ensure workspace + config dirs exist
from code.config import WORKSPACE_ROOT, CONFIG_DIR
WORKSPACE_ROOT.mkdir(parents=True, exist_ok=True)
CONFIG_DIR.mkdir(parents=True, exist_ok=True)
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
datefmt="%H:%M:%S",
)
logger = logging.getLogger(__name__)
def main():
logger.info("SoniCoder v2 starting...")
# Start loading default model in background
from code.model.loader import start_background_load
start_background_load()
logger.info("Background model loading started")
# Set up MCP servers from config (best-effort)
try:
from code.config import load_settings
from code.mcp import get_mcp_manager
settings = load_settings()
if settings.mcp_servers:
mcp = get_mcp_manager()
mcp.configure(settings.mcp_servers)
results = mcp.connect_all()
for name, error in results.items():
if error:
logger.warning("MCP server '%s' failed: %s", name, error)
else:
logger.info("MCP server '%s' connected", name)
except Exception as exc:
logger.warning("MCP setup skipped: %s", exc)
# Create the server (gradio.Server — custom HTML + Gradio backend)
from code.server import create_app
app = create_app()
logger.info("Launching...")
app.launch(show_error=True, server_name="0.0.0.0", server_port=7860)
if __name__ == "__main__":
main()
|