catopt-graph-graph-calculus.../tests/core/bridge.py

23 lines
785 B
Python

from __future__ import annotations
from typing import Dict
from .contracts import LocalProblem as CanonicalLocalProblem
class LocalProblem:
def __init__(self, asset_id: str, payload: Dict[str, object]):
self.asset_id = asset_id
self.payload = payload
class CatOptBridge:
@staticmethod
def to_canonical(lp: LocalProblem) -> Dict[str, object]:
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 canonical LocalProblem type defined in core.contracts (tests shim)
return CanonicalLocalProblem(asset_id=asset_id, payload=payload)