Skip to content
42 linesCodeBlameRaw
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}