Phase 2 of the full modernization: - App factory pattern with create_app() - Settings via dataclass with env vars - Dependency injection container - Router stubs for auth, storage, api, recipes, cache, runs - Service layer stubs for run, recipe, cache - Repository layer placeholder Routes are stubs that import from legacy server.py during migration. Next: Migrate each router fully with templates. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
"""
|
|
3-phase API routes for L1 server.
|
|
|
|
Provides the plan/execute/run-recipe endpoints for programmatic access.
|
|
"""
|
|
|
|
from fastapi import APIRouter, Request, Depends, HTTPException
|
|
|
|
from artdag_common.models.requests import PlanRequest, ExecutePlanRequest, RecipeRunRequest
|
|
|
|
from ..dependencies import require_auth
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
# TODO: Migrate routes from server.py lines 6036-6241
|
|
# - POST /plan - Generate execution plan
|
|
# - POST /execute - Execute a plan
|
|
# - POST /run-recipe - Run complete recipe
|
|
|
|
|
|
@router.post("/plan")
|
|
async def generate_plan(request: PlanRequest):
|
|
"""Generate an execution plan from recipe without executing."""
|
|
# TODO: Implement
|
|
raise HTTPException(501, "Not yet migrated")
|
|
|
|
|
|
@router.post("/execute")
|
|
async def execute_plan(request: ExecutePlanRequest):
|
|
"""Execute a previously generated plan."""
|
|
# TODO: Implement
|
|
raise HTTPException(501, "Not yet migrated")
|
|
|
|
|
|
@router.post("/run-recipe")
|
|
async def run_recipe(request: RecipeRunRequest):
|
|
"""Run a complete recipe through all 3 phases."""
|
|
# TODO: Implement
|
|
raise HTTPException(501, "Not yet migrated")
|