build(agent): molt-y#23e5c8 iteration
This commit is contained in:
parent
9b4fa44b03
commit
b7ba8241f2
|
|
@ -0,0 +1,5 @@
|
||||||
|
"""Adapters package for canonical/interoperable surface.
|
||||||
|
|
||||||
|
This module is intentionally lightweight and serves as a namespace holder
|
||||||
|
for toy adapters used in MVP experiments.
|
||||||
|
"""
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
"""Canonical adapter surface.
|
||||||
|
|
||||||
|
This module provides a tiny, test-friendly bridge that demonstrates how a
|
||||||
|
real adapter could map its internal representation to the DSL types defined
|
||||||
|
in interplanetary_edge_orchestrator_privacy.dsl.
|
||||||
|
"""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Any, Dict, List
|
||||||
|
|
||||||
|
from ..dsl import LocalProblem, SharedVariables, PlanDelta
|
||||||
|
|
||||||
|
|
||||||
|
class CanonicalAdapter:
|
||||||
|
"""A minimal adapter conforming to the canonical interface.
|
||||||
|
|
||||||
|
It exposes two simple methods:
|
||||||
|
- map_local_problem: from an internal problem to a LocalProblem DSL object
|
||||||
|
- map_plan_delta: from internal delta to a PlanDelta DSL object
|
||||||
|
"""
|
||||||
|
|
||||||
|
def map_local_problem(self, problem_id: str, features: List[float] | Dict[str, Any]) -> LocalProblem:
|
||||||
|
return LocalProblem(problem_id=problem_id, features=features, objective="minimize_cost")
|
||||||
|
|
||||||
|
def map_plan_delta(self, version: int, delta: Dict[str, Any], insight: str | None = None) -> PlanDelta:
|
||||||
|
return PlanDelta(version=version, delta=delta, insight=insight)
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
"""Toy adapter example: rover Habitat pair maps to the DSL.
|
||||||
|
|
||||||
|
This adapter is intentionally tiny and designed to be a drop-in example for
|
||||||
|
demonstrating interoperability (CatOpt-like bridge) without pulling in heavy
|
||||||
|
dependencies.
|
||||||
|
"""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Any, Dict, List
|
||||||
|
|
||||||
|
from .canonical import CanonicalAdapter
|
||||||
|
from ..dsl import LocalProblem, SharedVariables, PlanDelta
|
||||||
|
|
||||||
|
|
||||||
|
class RoverAdapter:
|
||||||
|
def __init__(self):
|
||||||
|
self._canon = CanonicalAdapter()
|
||||||
|
|
||||||
|
def to_local_problem(self, problem_id: str, features: List[float]) -> LocalProblem:
|
||||||
|
return self._canon.map_local_problem(problem_id, features)
|
||||||
|
|
||||||
|
def delta_to_plan(self, version: int, delta: Dict[str, Any]) -> PlanDelta:
|
||||||
|
return self._canon.map_plan_delta(version, delta, insight="rover_delta")
|
||||||
|
|
||||||
|
|
||||||
|
class HabitatAdapter(RoverAdapter):
|
||||||
|
# Reuse the same mapping for demonstration; in a real system this would vary.
|
||||||
|
pass
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
"""Minimal DSL sketch for LocalProblem / SharedVariables / PlanDelta.
|
||||||
|
|
||||||
|
This is intentionally lightweight and dependency-free. It provides a
|
||||||
|
canonical, vendor-agnostic contract surface that adapters can map to/from
|
||||||
|
their internal representations.
|
||||||
|
"""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from dataclasses import dataclass, field
|
||||||
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class LocalProblem:
|
||||||
|
"""Represents a per-agent optimization task.
|
||||||
|
|
||||||
|
- problem_id: unique identifier for the local problem
|
||||||
|
- features: simple feature vector or dictionary describing the task
|
||||||
|
- objective: optional objective descriptor (string or structured)
|
||||||
|
- metadata: extensible metadata for compatibility checks
|
||||||
|
"""
|
||||||
|
problem_id: str
|
||||||
|
features: List[float] | Dict[str, Any] = field(default_factory=list)
|
||||||
|
objective: Optional[str] = None
|
||||||
|
metadata: Dict[str, Any] = field(default_factory=dict)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class SharedVariables:
|
||||||
|
"""Represents shared summaries, priors, or signals exchanged between agents."""
|
||||||
|
version: int
|
||||||
|
data: Dict[str, Any] = field(default_factory=dict)
|
||||||
|
timestamp: Optional[float] = None
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class PlanDelta:
|
||||||
|
"""Represents an incremental plan change derived from optimization."""
|
||||||
|
version: int
|
||||||
|
delta: Dict[str, Any] = field(default_factory=dict)
|
||||||
|
insight: Optional[str] = None
|
||||||
Loading…
Reference in New Issue