{
	"$schema": "node_modules/wrangler/config-schema.json",
	"name": "rooms",
	"main": "src/rooms.app.ts",
	"compatibility_date": "2025-09-20",
	"compatibility_flags": ["nodejs_compat"],
	// Shared `recflare` DB (room storage lives here). Create it manually with
	// `wrangler d1 create recflare`, then put the real id in the gitignored root
	// .env under RECFLARE_D1 (see .env.example) — it is spliced in at deploy time
	// by run-wrangler-deploy. The "local" placeholder below is only a key for the
	// local SQLite db used by `wrangler dev`, so the committed file needs no
	// per-developer edits. Apply migrations with
	// `wrangler d1 migrations apply recflare --remote`.
	"d1_databases": [
		{
			"binding": "DB",
			"database_name": "recflare",
			"database_id": "local",
			"migrations_dir": "migrations"
		}
	],
	// Shared player-presence KV (owned by the `match` worker). Read-only here to
	// resolve the caller's current room instance for the photon access token.
	"kv_namespaces": [
		{
			"binding": "RECFLARE_MATCH_PRESENCE",
			"id": "local"
		}
	],
	// Cross-worker binding to the SignalR notifications hub DO (owned/migrated by
	// the `notify` worker). We only invoke its RPC methods; no migration here.
	"durable_objects": {
		"bindings": [
			{
				"name": "RECFLARE_NOTIFICATIONS_HUB",
				"class_name": "NotificationsHub",
				"script_name": "notify"
			}
		]
	},
	// Shared Secrets Store holding the HS256 JWT signing key. Every worker binds the
	// same store as JWT_SECRET so tokens signed by `auth` verify here. The "local"
	// store_id placeholder is replaced with RECFLARE_SECRETS_STORE at deploy time.
	"secrets_store_secrets": [
		{
			"binding": "JWT_SECRET",
			"store_id": "local",
			"secret_name": "JWT_SECRET"
		}
	],
	"upload_source_maps": true,
	"observability": {
		"logs": {
			"enabled": true,
			"head_sampling_rate": 1 // 100%
		}
	},
	"vars": {
		"ENVIRONMENT": "development", // overridden during deployment
		"SENTRY_RELEASE": "unknown" // overridden during deployment
	}
}
