mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-01-09 15:17:59 -05:00
We'll soon be needing a more feature-complete external API. To make way for this, I'm moving some files around so: - We can more easily create new versions of our external API - The file structure of our internal API is more homogeneous These changes are quite opinionated, but IMO in any case they're better than the chaotic structure we have now. ### Changes 🏗️ - Move `backend/server` -> `backend/api` - Move `backend/server/routers` + `backend/server/v2` -> `backend/api/features` - Change absolute sibling imports to relative imports - Move `backend/server/v2/AutoMod` -> `backend/executor/automod` - Combine `backend/server/routers/analytics_*test.py` -> `backend/api/features/analytics_test.py` - Sort OpenAPI spec file ### Checklist 📋 #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: - CI tests - [x] Clicking around in the app -> no obvious breakage
26 lines
653 B
Python
26 lines
653 B
Python
from fastapi import FastAPI
|
|
|
|
from backend.api.middleware.security import SecurityHeadersMiddleware
|
|
from backend.monitoring.instrumentation import instrument_fastapi
|
|
|
|
from .v1.routes import v1_router
|
|
|
|
external_api = FastAPI(
|
|
title="AutoGPT External API",
|
|
description="External API for AutoGPT integrations",
|
|
docs_url="/docs",
|
|
version="1.0",
|
|
)
|
|
|
|
external_api.add_middleware(SecurityHeadersMiddleware)
|
|
external_api.include_router(v1_router, prefix="/v1")
|
|
|
|
# Add Prometheus instrumentation
|
|
instrument_fastapi(
|
|
external_api,
|
|
service_name="external-api",
|
|
expose_endpoint=True,
|
|
endpoint="/metrics",
|
|
include_in_schema=True,
|
|
)
|