from __future__ import annotations from dataclasses import dataclass, field from typing import Dict, Any, List @dataclass class Object: id: str type: str attributes: Dict[str, Any] = field(default_factory=dict) @dataclass class Morphism: id: str source_id: str target_id: str type: str signals: Dict[str, Any] = field(default_factory=dict) @dataclass class PlanDelta: timestamp: float actions: List[Dict[str, Any]] = field(default_factory=list) @dataclass class DualVariables: name: str values: Dict[str, Any] = field(default_factory=dict) @dataclass class GraphOfContracts: objects: Dict[str, Object] = field(default_factory=dict) morphisms: Dict[str, Morphism] = field(default_factory=dict) plan_delta: PlanDelta | None = None duals: Dict[str, DualVariables] = field(default_factory=dict)