| 1 | { |
| 2 | "$schema": "../../node_modules/wrangler/config-schema.json", |
| 3 | "name": "g1t-docs-service", |
| 4 | "account_id": "1e6f2cffa3f445920836e8ebe446bb58", |
| 5 | "compatibility_date": "2026-09-26", |
| 6 | "main": "./src/index.ts", |
| 7 | // Reached only through service bindings. The live socket's and uploads' |
| 8 | // viewer comes in a header the site sets after checking the session, |
| 9 | // which is only safe to trust because nothing else can reach this Worker. |
| 10 | "workers_dev": false, |
| 11 | "placement": { "mode": "off" }, |
| 12 | "d1_databases": [ |
| 13 | { |
| 14 | "binding": "DB", |
| 15 | "database_name": "g1t-docs", |
| 16 | // Create it once, then put its id here: |
| 17 | // npx wrangler d1 create g1t-docs |
| 18 | // npx wrangler d1 migrations apply g1t-docs --remote |
| 19 | "database_id": "8f2193ed-fd2b-4322-b6cb-c79090e7603d", |
| 20 | "migrations_dir": "migrations" |
| 21 | } |
| 22 | ], |
| 23 | // Files people put in pages (images, attachments), served from the |
| 24 | // usercontent origin at /docs-files/<key> (apps/web/workers/usercontent.ts). |
| 25 | // Create it once: npx wrangler r2 bucket create g1t-docs-files |
| 26 | "r2_buckets": [{ "binding": "FILES", "bucket_name": "g1t-docs-files" }], |
| 27 | "services": [ |
| 28 | // Workspaces by slug, people's names and avatars, and teams. |
| 29 | { "binding": "IDENTITY", "service": "g1t-identity" }, |
| 30 | // The workspace's agents: who they are, for agents' calls and mentions. |
| 31 | { "binding": "AGENTS", "service": "g1t-agents" }, |
| 32 | // Mentions and suggestions reach people's inboxes (services/notify). |
| 33 | { "binding": "NOTIFY", "service": "g1t-notify" } |
| 34 | ], |
| 35 | // One room per page: it holds the page's Yjs document and open sockets, |
| 36 | // hibernating while nobody types (src/room.ts). |
| 37 | "durable_objects": { |
| 38 | "bindings": [{ "name": "PAGES", "class_name": "PageRoom" }] |
| 39 | }, |
| 40 | "migrations": [{ "tag": "v1", "new_sqlite_classes": ["PageRoom"] }], |
| 41 | "observability": { "enabled": true, "head_sampling_rate": 0.1 } |
| 42 | } |