diff --git a/core/models/raw_session.py b/core/models/raw_session.py index 7c0ccc52a..ca8771210 100644 --- a/core/models/raw_session.py +++ b/core/models/raw_session.py @@ -186,6 +186,20 @@ class RawSession: screenshots=screenshots ) + @classmethod + def from_dict(cls, data: Dict[str, Any]) -> 'RawSession': + """Alias de from_json pour compatibilité avec le StreamProcessor.""" + # Si le dict vient du streaming (pas de schema_version), l'ajouter + if "schema_version" not in data: + data["schema_version"] = "rawsession_v1" + # Champs par défaut pour les sessions streaming + data.setdefault("agent_version", "v1") + data.setdefault("environment", {}) + data.setdefault("user", {"user_id": "stream"}) + data.setdefault("context", {}) + data.setdefault("started_at", datetime.now().isoformat()) + return cls.from_json(data) + def save_to_file(self, filepath: Path) -> None: """Sauvegarder dans un fichier JSON""" filepath.parent.mkdir(parents=True, exist_ok=True)