"""AtoCore — FastAPI application entry point.""" from fastapi import FastAPI from atocore.api.routes import router import atocore.config as _config from atocore.context.project_state import init_project_state_schema from atocore.ingestion.pipeline import get_source_status from atocore.models.database import init_db from atocore.observability.logger import get_logger, setup_logging app = FastAPI( title="AtoCore", description="Personal Context Engine for LLM interactions", version="0.1.0", ) app.include_router(router) log = get_logger("main") @app.on_event("startup") def startup(): setup_logging() _config.ensure_runtime_dirs() init_db() init_project_state_schema() log.info( "startup_ready", env=_config.settings.env, db_path=str(_config.settings.db_path), chroma_path=str(_config.settings.chroma_path), source_status=get_source_status(), ) if __name__ == "__main__": import uvicorn uvicorn.run( "atocore.main:app", host=_config.settings.host, port=_config.settings.port, reload=True, )