import json, sys, datetime
t0 = None
for line in open(sys.argv[1]):
    if not line.startswith('data:'): continue
    e = json.loads(line[5:]); t = e.get('type'); p = e.get('properties', {})
    if t in ('message.part.delta', 'plugin.added', 'catalog.updated', 'reference.updated', 'integration.updated', 'server.heartbeat', 'session.diff', 'session.updated', 'server.connected'): continue
    if t == 'session.status': x = p['status']['type']
    elif t == 'session.error': x = json.dumps(p.get('error'))[:220]
    elif t == 'message.updated':
        i = p['info']; x = f"{i['role']} msg=…{i['id'][-6:]} summary={i.get('summary') is True} finish={i.get('finish')} error={(i.get('error') or {}).get('name')}"
    elif t == 'message.part.updated':
        pt = p['part']; x = f"part type={pt['type']}" + (f" text={pt.get('text','')[:70]!r}" if pt['type']=='text' else '') + (f" auto={pt.get('auto')}" if pt['type']=='compaction' else '')
    else: x = ''
    print(f"{t:22} {x}")
