// SRS Worker — daily digest email, one-tap logging, weekly review issues, // live SVG charts, and the /api/stats feed for the docs progress page. // // D1 is the source of truth for SRS state; GitHub issues own the catalog; // apps/api/data/schedule.json (bundled) owns the schedule. JSONC over TOML per // Workers best practices (newer features are JSON-only). { "$schema": "node_modules/wrangler/config-schema.json", "name": "srs-api", "main": "src/index.ts", "compatibility_date": "2026-08-24", "observability": { "enabled": true }, "d1_databases": [ { "binding": "DB", "database_name": "srs", "database_id": "2ee2c34a-c2e2-4ebb-934e-c9e7dc8aa4f1" } ], // Sender domain prdlk.com is onboarded to Email Sending; the binding is // restricted to the one verified destination inbox. "send_email": [ { "name": "EMAIL", "allowed_destination_addresses": ["prnk28@gmail.com"] } ], // Double-cron per event makes each DST-proof: the code fires only when the // computed ET hour matches (8 AM daily digest, midnight-Saturday review). // 8 AM ET = 12:00 UTC in EDT, 13:00 UTC in EST; midnight ET = 4/5 UTC. "triggers": { "crons": ["0 12 * * *", "0 13 * * *", "0 4 * * 6", "0 5 * * 6"] }, "vars": { "REPO": "prdlk/leetcode", "FROM_EMAIL": "srs@prdlk.com", "TO_EMAIL": "prnk28@gmail.com", "DOCS_URL": "https://prdlk.github.io/leetcode", "DOCS_ORIGIN": "https://prdlk.github.io,https://lc.prad.nu", "PUBLIC_URL": "https://srs-api.prdlk.workers.dev" } // Secrets (wrangler secret put): GH_PAT, WEBHOOK_SECRET, LINK_KEY. }