Skip to content

yggdrasil.loki.result

result

Shared base for Loki's typed result objects.

The loki layer returns a handful of structured values — an act transcript, a fleet agent summary, a scaffold receipt — that used to be loose dicts read by static string keys. :class:DictResult makes them slots dataclasses that still read like the old dicts (obj["x"] / obj.get("x")) so every existing caller keeps working, while new code uses real attributes; to_dict serializes them at a JSON edge. Mirrors the mapping shim on :class:~yggdrasil.loki.planning.AgentPlan.

DictResult

Mapping-compatible mixin for a slots dataclass.

Declares empty __slots__ so a @dataclass(slots=True) subclass keeps its slots — a non-slotted base would re-introduce a per-instance __dict__ and defeat the point.