86bd72838a
User-Wunsch 15.07.: EIN Viewpoint, was die Box selbst geleistet hat - Chronik ist zu kompliziert. Neue Operativ-Ansicht #eigenleben: - Skills aus ~/.hermes/skills (= Lucys Satz) mit Klartext-Beschreibung, Nutzungszaehler (.usage.json) und Herkunft (selbst erstellt / von uns gebaut / mitgeliefert), aufklappbar mit vollem SKILL.md. - Vorschlags-Bilanz: angenommen (Auftragsbuch-Chronik) + abgelehnt mit Grund (Lern-Journal) als eine Timeline + Zaehler. Backend: services/eigenleben.py + routers/eigenleben.py (read-only). Mit an Bord (User-Ja, SCHLAFEND): config.V1_UPSTREAM + app.py-Weiche + gateway_forward aus dem P1-Gateway-Auszug - ohne MC_V1_UPSTREAM in der Unit exakt altes Verhalten. Der aktive Rest von P1 kommt separat ueber Branch umbau/p1-gateway-auszug (dort liegt auch diese View schon). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
21 lines
547 B
Python
21 lines
547 B
Python
"""Eigenleben-Endpoints — „Von allein"-Ansicht (Skills + Vorschlags-Bilanz), read-only."""
|
|
|
|
from fastapi import APIRouter, HTTPException
|
|
|
|
from services import eigenleben
|
|
|
|
router = APIRouter(prefix="/api")
|
|
|
|
|
|
@router.get("/eigenleben")
|
|
def get_overview() -> dict:
|
|
return eigenleben.overview()
|
|
|
|
|
|
@router.get("/eigenleben/skill/{skill_id}")
|
|
def get_skill(skill_id: str) -> dict:
|
|
text = eigenleben.skill_text(skill_id)
|
|
if text is None:
|
|
raise HTTPException(404, "Skill nicht gefunden.")
|
|
return {"id": skill_id, "text": text}
|