app/db/session.py --- app/db/session.py --- """Seed demo data for local end-to-end QA: subjects, template, authorized Gmail account (with fake token — sends will fail at the Gmail API boundary, which is exactly what we want to observe in the monitor), recipient list exists already. Run: python3 scripts/seed_demo.py """ import asyncio import sys from datetime import datetime, timedelta, timezone from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parents[1])) from sqlalchemy import select # noqa: E402 from app.core.db import async_session # noqa: E402 from app.models import ( # noqa: E402 Campaign, EmailTemplate, GmailAccount, OAuthToken, RecipientList, SubjectLine, User, )