{ "$schema": "node_modules/wrangler/config-schema.json", "name": "open-seo", "main": "src/server.ts", "compatibility_date": "2025-09-02", "compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"], "observability": { "enabled": true, }, // Uncomment when deploying to the openseo.so Cloudflare account. Self-hosters // should leave this commented (or replace with their own zone) — otherwise // `wrangler deploy` fails with "Could not find zone for app.openseo.so". // "routes": [ // { "pattern": "app.openseo.so", "custom_domain": true }, // { "pattern": "www.app.openseo.so", "custom_domain": true }, // ], "workflows": [ { "name": "site-audit-workflow", "binding": "SITE_AUDIT_WORKFLOW", "class_name": "SiteAuditWorkflow", }, { "name": "rank-check-workflow", "binding": "RANK_CHECK_WORKFLOW", "class_name": "RankCheckWorkflow", }, ], // Durable Object backing the onboarding strategy chat (Agents SDK // AIChatAgent). One instance per project; messages persist in the DO's // SQLite. SQLite-backed classes must be declared in `migrations` below. "durable_objects": { "bindings": [ { "name": "ONBOARDING_CHAT", "class_name": "OnboardingChatAgent", }, ], }, "migrations": [ { "tag": "v1", "new_sqlite_classes": ["OnboardingChatAgent"], }, ], "triggers": { "crons": ["*/15 * * * *"], }, "kv_namespaces": [ { "binding": "KV", "id": "4abd52f3f2c549ac83cc2cb4ceec8620", }, { "binding": "OAUTH_KV", "id": "bd1759494309474a9b423b029967b0db", }, ], "d1_databases": [ { "binding": "DB", "database_name": "open-seo", "database_id": "37bee90a-e1aa-404f-b01e-b0d1d479bda1", "migrations_dir": "drizzle", }, ], // Postgres scale path (opt-in). D1 remains the default; leave this commented // for free self-hosting. To run on Postgres set DATABASE_PROVIDER=postgres and // uncomment a Hyperdrive binding pointing at your Postgres pooler. Without // Hyperdrive, POSTGRES_DATABASE_URL is used as a direct-connection fallback // (no edge pooling/caching — not recommended for the scaled hosted path). // "hyperdrive": [ // { "binding": "HYPERDRIVE", "id": "" }, // ], "r2_buckets": [ { "bucket_name": "open-seo", "binding": "R2", }, ], }