"""Document summarization endpoint.""" import asyncio from typing import Optional from fastapi import APIRouter, Depends from pydantic import BaseModel router = APIRouter(prefix="/api") class SummarizeRequest(BaseModel): document_id: Optional[str] = None text: Optional[str] = None summary_type: str = "financial" def get_summarizer(): from core.bootstrap import get_summarizer_service as _get return _get() @router.post("/summarize") async def summarize(request: SummarizeRequest, summarizer=Depends(get_summarizer)): result = await asyncio.to_thread( summarizer.summarize, document_id=request.document_id, text=request.text, summary_type=request.summary_type, ) if "error" in result: return result return result