import sqlite3, json

db = sqlite3.connect("/var/lib/friend/friend.db")
cur = db.execute(
    "SELECT sequence, node_type, content FROM chain_nodes "
    "WHERE node_type IN ('tool_call','thinking') "
    "ORDER BY sequence DESC LIMIT 20"
)
for r in cur:
    try:
        obj = json.loads(r[2])
        if r[1] == "tool_call":
            print(
                f"seq={r[0]} TOOL_CALL name={obj.get('name', '')} tool_name={obj.get('tool_name', '')} keys={list(obj.keys())[:8]}"
            )
        else:
            ft = obj.get("full_text", "")
            txt = obj.get("text", "")
            # Show first 300 chars of full_text to see raw content
            print(f"seq={r[0]} THINKING ft_len={len(ft)} txt_len={len(txt)}")
            print(f"  full_text[:300]={repr(ft[:300])}")
            print(f"  text[:200]={repr(txt[:200])}")
            print()
    except Exception as ex:
        print(f"seq={r[0]} type={r[1]} err={ex}")
