parse_state.py
#!/usr/bin/env python3
# Reads openclaw evaluate output (often double-JSON-encoded) from stdin,
# prints "STATE\tKEY" (KEY empty if none). Robust to quoting.
import json, sys
raw = sys.stdin.read().strip()
o = {}
try:
v = json.loads(raw)
if isinstance(v, str):
v = json.loads(v)
if isinstance(v, dict):
o = v
except Exception:
pass
print(f"{o.get('state','PARSE_ERR')}\t{o.get('key','')}")