| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # -*- coding: utf-8 -*-
- """
- Datenklassen fuer Activity-Log-Eintraege.
- Jede Klasse entspricht einer JSON-Datei in data/activity/.
- """
- from __future__ import annotations
- from dataclasses import dataclass, field
- from typing import Any
- @dataclass
- class SatelliteConnectionEntry:
- """Eintrag fuer eine Satellite-Verbindung."""
- satellite_id: str = ""
- alias: str = ""
- room: str = ""
- connected_at: str = ""
- disconnected_at: str = ""
- ip_address: str = ""
- @dataclass
- class ConfigConnectionEntry:
- """Eintrag fuer eine Config-Tool-Verbindung."""
- peer_address: str = ""
- connected_at: str = ""
- disconnected_at: str = ""
- @dataclass
- class TrainingRunEntry:
- """Eintrag fuer einen Trainings-Lauf."""
- trainer_id: str = ""
- model_name: str = ""
- started_at: str = ""
- completed_at: str = ""
- duration_seconds: float = 0.0
- success: bool = False
- error: str = ""
- @dataclass
- class IntentLogEntry:
- """Eintrag fuer einen verarbeiteten Intent."""
- timestamp: str = ""
- intent: str = ""
- plugin: str = ""
- satellite_id: str = ""
- room_id: str = ""
- original_text: str = ""
- success: bool = True
- @dataclass
- class ErrorLogEntry:
- """Eintrag fuer einen Fehler."""
- timestamp: str = ""
- source: str = ""
- message: str = ""
- satellite_id: str = ""
- @dataclass
- class ConversationEntry:
- """Eintrag fuer eine Conversation-Session."""
- session_id: str = ""
- satellite_id: str = ""
- room_id: str = ""
- wakeword_type: str = ""
- started_at: str = ""
- completed_at: str = ""
- turns: list[dict[str, Any]] = field(default_factory=list)
|