21 lines
706 B
Python
21 lines
706 B
Python
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)
|