from __future__ import annotations from citygrid import LocalProblem class WaterPumpControllerAdapter: def __init__(self, adapter_id: str = "water-pump-1"): self.adapter_id = adapter_id def build_local_problem(self) -> LocalProblem: return LocalProblem( id="lp-water-1", domain="water", assets=["WaterPump-Station-1"], objective={"maximize_service": {"priority": 1}}, constraints={"flow": {"min": 0.0, "max": 100.0}}, solver_hint=None, ) def receive_delta(self, delta: dict) -> dict: return {"ack": True, "delta_version": delta.get("version", 0)}