Spaces:
Sleeping
Sleeping
| # import logging | |
| # from fastapi import FastAPI, HTTPException | |
| # from fastapi.middleware.cors import CORSMiddleware | |
| # from pydantic import BaseModel | |
| # from services import queue_manager | |
| # import os | |
| # from pathlib import Path | |
| # # CACHE PATCH BLOCK: place FIRST in pipeline.py! | |
| # HF_CACHE_DIR = Path("/tmp/hf_cache") | |
| # HF_CACHE_DIR.mkdir(parents=True, exist_ok=True) | |
| # os.environ.update({ | |
| # "HF_HOME": str(HF_CACHE_DIR), | |
| # "HF_HUB_CACHE": str(HF_CACHE_DIR), | |
| # "DIFFUSERS_CACHE": str(HF_CACHE_DIR), | |
| # "TRANSFORMERS_CACHE": str(HF_CACHE_DIR), | |
| # "XDG_CACHE_HOME": str(HF_CACHE_DIR), | |
| # "HF_DATASETS_CACHE": str(HF_CACHE_DIR), | |
| # "HF_MODULES_CACHE": str(HF_CACHE_DIR), | |
| # "TMPDIR": str(HF_CACHE_DIR), | |
| # "CACHE_DIR": str(HF_CACHE_DIR), | |
| # "TORCH_HOME": str(HF_CACHE_DIR), | |
| # "HOME": str(HF_CACHE_DIR) | |
| # }) | |
| # import os.path | |
| # if not hasattr(os.path, "expanduser_original"): | |
| # os.path.expanduser_original = os.path.expanduser | |
| # def safe_expanduser(path): | |
| # if ( | |
| # path.startswith("~") or | |
| # path.startswith("/.cache") or | |
| # path.startswith("/root/.cache") | |
| # ): | |
| # return str(HF_CACHE_DIR) | |
| # return os.path.expanduser_original(path) | |
| # os.path.expanduser = safe_expanduser | |
| # logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s") | |
| # app = FastAPI(title="AI ADD Generator", version="1.0") | |
| # app.add_middleware( | |
| # CORSMiddleware, | |
| # allow_origins=["*"], | |
| # allow_credentials=True, | |
| # allow_methods=["*"], | |
| # allow_headers=["*"], | |
| # ) | |
| # # --------------------------- | |
| # # Pydantic models | |
| # # --------------------------- | |
| # class IdeaRequest(BaseModel): | |
| # idea: str | |
| # class ConfirmationRequest(BaseModel): | |
| # task_id: str | |
| # confirm: bool | |
| # # --------------------------- | |
| # # API endpoints | |
| # # --------------------------- | |
| # @app.post("/submit_idea") | |
| # async def submit_idea(request: IdeaRequest): | |
| # task_id = await queue_manager.add_task(request.idea) | |
| # return {"status": "submitted", "task_id": task_id} | |
| # @app.post("/confirm") | |
| # async def confirm_task(request: ConfirmationRequest): | |
| # task = queue_manager.get_task_status(request.task_id) | |
| # if not task: | |
| # raise HTTPException(status_code=404, detail="Task not found") | |
| # if task["status"] != queue_manager.TaskStatus.WAITING_CONFIRMATION: | |
| # raise HTTPException(status_code=400, detail="Task not waiting for confirmation") | |
| # await queue_manager.confirm_task(request.task_id) | |
| # return {"status": "confirmed", "task": task} | |
| # @app.get("/status/{task_id}") | |
| # async def status(task_id: str): | |
| # task = queue_manager.get_task_status(task_id) | |
| # if not task: | |
| # raise HTTPException(status_code=404, detail="Task not found") | |
| # return task | |
| # @app.get("/") | |
| # async def health(): | |
| # return {"status": "running"} | |
| # import logging | |
| # from fastapi import FastAPI, HTTPException | |
| # from fastapi.middleware.cors import CORSMiddleware | |
| # from pydantic import BaseModel | |
| # from services import queue_manager | |
| # import os | |
| # from pathlib import Path | |
| # from typing import Optional | |
| # # CACHE PATCH BLOCK: place FIRST in pipeline.py! | |
| # HF_CACHE_DIR = Path("/tmp/hf_cache") | |
| # HF_CACHE_DIR.mkdir(parents=True, exist_ok=True) | |
| # os.environ.update({ | |
| # "HF_HOME": str(HF_CACHE_DIR), | |
| # "HF_HUB_CACHE": str(HF_CACHE_DIR), | |
| # "DIFFUSERS_CACHE": str(HF_CACHE_DIR), | |
| # "TRANSFORMERS_CACHE": str(HF_CACHE_DIR), | |
| # "XDG_CACHE_HOME": str(HF_CACHE_DIR), | |
| # "HF_DATASETS_CACHE": str(HF_CACHE_DIR), | |
| # "HF_MODULES_CACHE": str(HF_CACHE_DIR), | |
| # "TMPDIR": str(HF_CACHE_DIR), | |
| # "CACHE_DIR": str(HF_CACHE_DIR), | |
| # "TORCH_HOME": str(HF_CACHE_DIR), | |
| # "HOME": str(HF_CACHE_DIR) | |
| # }) | |
| # import os.path | |
| # if not hasattr(os.path, "expanduser_original"): | |
| # os.path.expanduser_original = os.path.expanduser | |
| # def safe_expanduser(path): | |
| # if ( | |
| # path.startswith("~") or | |
| # path.startswith("/.cache") or | |
| # path.startswith("/root/.cache") | |
| # ): | |
| # return str(HF_CACHE_DIR) | |
| # return os.path.expanduser_original(path) | |
| # os.path.expanduser = safe_expanduser | |
| # logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s") | |
| # app = FastAPI(title="AI ADD Generator", version="1.0") | |
| # app.add_middleware( | |
| # CORSMiddleware, | |
| # allow_origins=["*"], | |
| # allow_credentials=True, | |
| # allow_methods=["*"], | |
| # allow_headers=["*"], | |
| # ) | |
| # # --------------------------- | |
| # # Pydantic models | |
| # # --------------------------- | |
| # class IdeaRequest(BaseModel): | |
| # idea: str | |
| # class ConfirmationRequest(BaseModel): | |
| # task_id: str | |
| # confirm: bool | |
| # edited_script: Optional[str] = None | |
| # # --------------------------- | |
| # # API endpoints | |
| # # --------------------------- | |
| # @app.post("/submit_idea") | |
| # async def submit_idea(request: IdeaRequest): | |
| # task_id = await queue_manager.add_task(request.idea) | |
| # return {"status": "submitted", "task_id": task_id} | |
| # @app.post("/confirm") | |
| # async def confirm_task(request: ConfirmationRequest): | |
| # task = queue_manager.get_task_status(request.task_id) | |
| # if not task: | |
| # raise HTTPException(status_code=404, detail="Task not found") | |
| # # status values are stored as strings by queue_manager/pipeline | |
| # if task["status"] != queue_manager.TaskStatus.WAITING_CONFIRMATION.value: | |
| # raise HTTPException(status_code=400, detail="Task not waiting for confirmation") | |
| # # if frontend supplied an edited script, persist it before unblocking the pipeline | |
| # if request.edited_script: | |
| # task["result"]["script"] = request.edited_script | |
| # await queue_manager.confirm_task(request.task_id) | |
| # return {"status": "confirmed", "task": task} | |
| # @app.get("/status/{task_id}") | |
| # async def status(task_id: str): | |
| # task = queue_manager.get_task_status(task_id) | |
| # if not task: | |
| # raise HTTPException(status_code=404, detail="Task not found") | |
| # return task | |
| # @app.get("/") | |
| # async def health(): | |
| # return {"status": "running"} | |
| import logging | |
| from fastapi import FastAPI, HTTPException | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from pydantic import BaseModel | |
| from services import queue_manager | |
| import os | |
| from pathlib import Path | |
| from typing import Optional | |
| # CACHE PATCH BLOCK: place FIRST in pipeline.py! | |
| HF_CACHE_DIR = Path("/tmp/hf_cache") | |
| HF_CACHE_DIR.mkdir(parents=True, exist_ok=True) | |
| os.environ.update({ | |
| "HF_HOME": str(HF_CACHE_DIR), | |
| "HF_HUB_CACHE": str(HF_CACHE_DIR), | |
| "DIFFUSERS_CACHE": str(HF_CACHE_DIR), | |
| "TRANSFORMERS_CACHE": str(HF_CACHE_DIR), | |
| "XDG_CACHE_HOME": str(HF_CACHE_DIR), | |
| "HF_DATASETS_CACHE": str(HF_CACHE_DIR), | |
| "HF_MODULES_CACHE": str(HF_CACHE_DIR), | |
| "TMPDIR": str(HF_CACHE_DIR), | |
| "CACHE_DIR": str(HF_CACHE_DIR), | |
| "TORCH_HOME": str(HF_CACHE_DIR), | |
| "HOME": str(HF_CACHE_DIR) | |
| }) | |
| import os.path | |
| if not hasattr(os.path, "expanduser_original"): | |
| os.path.expanduser_original = os.path.expanduser | |
| def safe_expanduser(path): | |
| if ( | |
| path.startswith("~") or | |
| path.startswith("/.cache") or | |
| path.startswith("/root/.cache") | |
| ): | |
| return str(HF_CACHE_DIR) | |
| return os.path.expanduser_original(path) | |
| os.path.expanduser = safe_expanduser | |
| logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s") | |
| app = FastAPI(title="AI ADD Generator", version="1.0") | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_credentials=True, | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| ) | |
| # --------------------------- | |
| # Pydantic models | |
| # --------------------------- | |
| class IdeaRequest(BaseModel): | |
| idea: str | |
| class ConfirmationRequest(BaseModel): | |
| task_id: str | |
| confirm: bool | |
| edited_script: Optional[str] = None | |
| # --------------------------- | |
| # API endpoints | |
| # --------------------------- | |
| async def submit_idea(request: IdeaRequest): | |
| task_id = await queue_manager.add_task(request.idea) | |
| return {"status": "submitted", "task_id": task_id} | |
| async def confirm_task(request: ConfirmationRequest): | |
| task = queue_manager.get_task_status(request.task_id) | |
| if not task: | |
| raise HTTPException(status_code=404, detail="Task not found") | |
| # status values are stored as strings by queue_manager/pipeline | |
| if task["status"] != queue_manager.TaskStatus.WAITING_CONFIRMATION.value: | |
| raise HTTPException(status_code=400, detail="Task not waiting for confirmation") | |
| # if frontend supplied an edited script, persist it before unblocking the pipeline | |
| if request.edited_script: | |
| task["result"]["script"] = request.edited_script | |
| await queue_manager.confirm_task(request.task_id) | |
| return {"status": "confirmed", "task": task} | |
| async def status(task_id: str): | |
| task = queue_manager.get_task_status(task_id) | |
| if not task: | |
| raise HTTPException(status_code=404, detail="Task not found") | |
| return task | |
| async def health(): | |
| return {"status": "running"} |