from __future__ import annotations from typing import Dict from .contracts import LocalProblem, SharedVariables, DualVariables, PlanDelta class CatOptBridge: """Minimal bridge translating between domain LocalProblem and canonical form.""" @staticmethod def to_canonical(lp: LocalProblem) -> Dict[str, object]: # Very lightweight translation: wrap payload with id return {"object_id": lp.asset_id, "payload": lp.payload} @staticmethod def from_canonical(data: Dict[str, object]) -> LocalProblem: asset_id = str(data.get("object_id", "unknown")) payload = dict(data.get("payload", {})) return LocalProblem(asset_id=asset_id, payload=payload)