"""看最新 reflection_note 的 extra 內容。"""
import os, sys
ENV = "/volume1/homes/robertsu/coba/app/.env"
if os.path.exists(ENV):
    for l in open(ENV):
        if "=" in l and not l.startswith("#"):
            k,v = l.strip().split("=",1); os.environ.setdefault(k,v)
sys.path.insert(0,"/volume1/homes/robertsu/coba/app")

import asyncio, json
from sqlalchemy import select, desc
from app.database import AsyncSessionLocal
from app.models.agent_activity import AgentActivity


async def main():
    async with AsyncSessionLocal() as db:
        rows = (await db.execute(
            select(AgentActivity)
            .where(AgentActivity.activity_type == "reflection_note")
            .order_by(desc(AgentActivity.created_at)).limit(5)
        )).scalars().all()
    for r in rows:
        print(f"\n=== {r.created_at} ===")
        print(f"  summary: {r.summary}")
        ext = r.extra or {}
        print(f"  tag: {ext.get('tag')!r}  actionable: {ext.get('actionable')}")
        print(f"  similar_count: {ext.get('similar_count', 0)}")
        sims = ext.get('similar_to') or []
        for s in sims:
            print(f"    - sim score={s.get('score')} preview={s.get('preview', '')!r}")
        print(f"  raw: {(ext.get('raw') or '')[:80]}")


asyncio.run(main())
