Openenv / codegraph /serializer.py
vishaldhakad's picture
intial push
eda351c
Raw
History Blame Contribute Delete
830 Bytes
"""codegraph/serializer.py — JSON serialization helpers for CodeGraph state()."""
import json
from .graph import CodeGraph
def to_dict(graph: CodeGraph) -> dict:
return {
"episode_seed": graph.episode_seed,
"conventions": graph.conventions,
"components": {
name: {
"file": comp.get("file", ""),
"language": comp.get("language", "py"),
"functions": comp.get("functions", [])[:20],
"imports": comp.get("imports", [])[:15],
"conventions": comp.get("conventions", {}),
"created_at_step": comp.get("created_at_step", 0),
}
for name, comp in graph.components.items()
},
}
def to_json(graph: CodeGraph) -> str:
return json.dumps(to_dict(graph), indent=2)