MCPcopy Create free account
hub / github.com/CommonstackAI/UncommonRoute / _serialize_scene

Function _serialize_scene

uncommon_route/scene_store.py:88–105  ·  view source on GitHub ↗

Convert SceneConfig → JSON-safe dict.

(scene: SceneConfig)

Source from the content-addressed store, hash-verified

86
87
88def _serialize_scene(scene: SceneConfig) -> dict[str, Any]:
89 """Convert SceneConfig → JSON-safe dict."""
90 data = asdict(scene)
91 # Convert Tier enums to strings
92 if data.get("tier_floor") is not None:
93 data["tier_floor"] = data["tier_floor"].value if isinstance(data["tier_floor"], Tier) else str(data["tier_floor"])
94 else:
95 data.pop("tier_floor", None)
96 if data.get("tier_cap") is not None:
97 data["tier_cap"] = data["tier_cap"].value if isinstance(data["tier_cap"], Tier) else str(data["tier_cap"])
98 else:
99 data.pop("tier_cap", None)
100 # Strip None/empty optionals for cleaner JSON
101 if not data.get("allowed_providers"):
102 data.pop("allowed_providers", None)
103 if data.get("max_cost_per_request") is None:
104 data.pop("max_cost_per_request", None)
105 return data
106
107
108def _deserialize_scene(data: dict[str, Any]) -> SceneConfig | None:

Callers 5

test_roundtripMethod · 0.90
_saveMethod · 0.85
exportMethod · 0.85

Calls 2

popMethod · 0.80
getMethod · 0.45

Tested by 2

test_roundtripMethod · 0.72