"""Chronik — die lesbare Timeline dessen, was die Box von allein getan und gemeldet hat.
Quelle ist der persistente Melde-Briefkasten (services/announce.py): Health-Wächter,
Auto-Updates, Erinnerungen, Radar/Traum/Chef-Gutachter-Crons, Auftragsbuch — alle
autonomen Kanäle laufen dort bereits durch. Hier wird nichts Neues erhoben, nur erzählt."""

from fastapi import APIRouter
from pydantic import BaseModel
from services import announce

router = APIRouter(prefix="/api")


class ChronikItem(BaseModel):
    id: int
    ts: float
    subject: str
    text: str
    source: str
    priority: str


class ChronikResponse(BaseModel):
    items: list[ChronikItem]


@router.get("/chronik", response_model=ChronikResponse)
def chronik(limit: int = 150) -> dict:
    return {"items": announce.list_recent(limit)}
