name = "cursor-backend"
main = "backend/index.js"
compatibility_date = "2024-01-01"

[env.production]
name = "cursor-backend"

[env.staging]
name = "cursor-backend-staging"

# Durable Objects for WebSocket
[durable_objects]
bindings = [
  { name = "WEBSOCKET_DO", class_name = "WebSocketDurableObject" }
]

# Migrations for Durable Objects
[[migrations]]
tag = "v1"
new_classes = [ "WebSocketDurableObject" ]

# KV Storage for API keys and session data
[[kv_namespaces]]
binding = "API_KEYS"
id = "placeholder-api-keys-id"
preview_id = "placeholder-api-keys-preview-id"

[[kv_namespaces]]
binding = "FILE_STORAGE_KV"
id = "placeholder-file-storage-kv-id"
preview_id = "placeholder-file-storage-kv-preview-id"

[[kv_namespaces]]
binding = "SESSIONS"
id = "placeholder-sessions-id"
preview_id = "placeholder-sessions-preview-id"

# R2 Storage for file storage
[[r2_buckets]]
binding = "FILE_STORAGE"
bucket_name = "cursor-files"
preview_bucket_name = "cursor-files-preview"

# Environment variables
[vars]
ENVIRONMENT = "production"
CORS_ORIGIN = "*"