85 lines · 2.5 KB · Text
RawDownload
{  "$schema": "node_modules/wrangler/config-schema.json",  "name": "executor-cloud",  "compatibility_date": "2025-04-01",  "compatibility_flags": ["nodejs_compat"],  "main": "src/server.ts",  "routes": [    {      "pattern": "executor.sh",      "custom_domain": true,    },  ],  "limits": {    "cpu_ms": 30000,  },  "observability": {    "enabled": true,  },  "durable_objects": {    "bindings": [      {        "name": "MCP_SESSION",        "class_name": "McpSessionDOSqlite",      },    ],  },  // The MCP session DO moved to the Cloudflare Agents (`McpAgent`) base, which  // stores state in SQLite. The original `McpSessionDO` was created with the  // key-value backend (`new_classes`), and Cloudflare cannot convert a live class  // to SQLite in place, nor delete a class while a binding still references it.  // Session state is ephemeral, so v2 repoints the `MCP_SESSION` binding to a new  // SQLite-backed class (`McpSessionDOSqlite`) and deletes the old KV `McpSessionDO`  // (now unreferenced). The worker exports `McpSessionDOSqlite`, not `McpSessionDO`.  "migrations": [    {      "tag": "v1",      "new_classes": ["McpSessionDO"],    },    {      "tag": "v2",      "deleted_classes": ["McpSessionDO"],      "new_sqlite_classes": ["McpSessionDOSqlite"],    },  ],  "services": [    {      "binding": "MARKETING",      "service": "executor-marketing",    },  ],  "hyperdrive": [    {      "binding": "HYPERDRIVE",      "id": "ca5f68119e4e4277b2ad6298a9048875",      "localConnectionString": "postgresql://postgres:postgres@127.0.0.1:5433/postgres",    },  ],  // Plugin blob seam backend (multi-MB resolved specs). Bucket must exist  // before deploy: `wrangler r2 bucket create executor-cloud-blobs`.  "r2_buckets": [    {      "binding": "BLOBS",      "bucket_name": "executor-cloud-blobs",    },  ],  "placement": {    "region": "aws:us-east-1",  },  "worker_loaders": [    {      "binding": "LOADER",    },  ],  "vars": {    "VITE_PUBLIC_SITE_URL": "https://executor.sh",    "VITE_PUBLIC_POSTHOG_KEY": "phc_nNLrNMALpRsfrEkZovUkfMxYbcJvHnsJHeoSPavprgLL",    // Browser OTLP spans → same-origin, forwarded to Axiom by the worker    // (src/observability/browser-traces.ts). Relative on purpose: the    // client resolves it against the page origin, so previews work too.    "VITE_PUBLIC_OTLP_TRACES_URL": "/v1/traces",    // Per-session sampling: 1 = every signed-in session exports. Dial down    // (e.g. "0.1") if Axiom volume becomes a cost concern.    "VITE_PUBLIC_OTLP_SAMPLE_RATIO": "1",  },}