| """ |
| AmkyawDev Coder Backend - FastAPI Application Entry Point |
| """ |
| from fastapi import FastAPI |
| from fastapi.middleware.cors import CORSMiddleware |
| from contextlib import asynccontextmanager |
| import sys |
| import os |
|
|
| |
| sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
|
|
| from src.api.agents.skill.router import router as skill_router |
| from src.api.agents.longchain.router import router as long_chain_router |
| from src.api.agents.script.router import router as script_router |
| from src.api.agents.chat.router import router as chat_router |
| from src.api.systems.zip_system.router import router as zip_router |
| from src.api.systems.deploy_system.router import router as deploy_router |
| from src.api.systems.memory_system.router import router as memory_router |
| from src.config.settings import settings |
|
|
|
|
| @asynccontextmanager |
| async def lifespan(app: FastAPI): |
| """Application lifespan events""" |
| print("Starting AmkyawDev Coder Backend...") |
| print(f"Environment: {settings.ENVIRONMENT}") |
| yield |
| print("Shutting down AmkyawDev Coder Backend...") |
|
|
|
|
| app = FastAPI( |
| title="AmkyawDev Coder Backend", |
| description="AI-Powered Development Platform Backend", |
| version="1.0.0", |
| lifespan=lifespan, |
| ) |
|
|
| |
| app.add_middleware( |
| CORSMiddleware, |
| allow_origins=["*"], |
| allow_credentials=True, |
| allow_methods=["*"], |
| allow_headers=["*"], |
| ) |
|
|
| |
| app.include_router(skill_router, prefix="/api/agents/skill", tags=["Skill Agent"]) |
| app.include_router(long_chain_router, prefix="/api/agents/long-chain", tags=["Long Chain Agent"]) |
| app.include_router(script_router, prefix="/api/agents/script", tags=["Script Agent"]) |
| app.include_router(chat_router, prefix="/api/agents/chat", tags=["Chat Agent"]) |
| app.include_router(zip_router, prefix="/api/systems/zip", tags=["Zip System"]) |
| app.include_router(deploy_router, prefix="/api/systems/deploy", tags=["Deploy System"]) |
| app.include_router(memory_router, prefix="/api/systems/memory", tags=["Memory System"]) |
|
|
|
|
| @app.get("/") |
| async def root(): |
| """Health check endpoint""" |
| return { |
| "status": "healthy", |
| "service": "AmkyawDev Coder Backend", |
| "version": "1.0.0" |
| } |
|
|
|
|
| @app.get("/api/health") |
| async def health_check(): |
| """Detailed health check""" |
| return { |
| "status": "healthy", |
| "environment": settings.ENVIRONMENT, |
| "groq_configured": bool(settings.GROQ_API_KEY), |
| "hf_configured": bool(settings.HUGGINGFACE_API_KEY), |
| } |
|
|
|
|
| if __name__ == "__main__": |
| import uvicorn |
| uvicorn.run( |
| "src.app:app", |
| host="0.0.0.0", |
| port=7860, |
| reload=settings.ENVIRONMENT == "development" |
| ) |
|
|