| 1 | { |
| 2 | "$schema": "node_modules/wrangler/config-schema.json", |
| 3 | "name": "codewhale-web", |
| 4 | "main": "worker.ts", |
| 5 | "compatibility_date": "2025-04-01", |
| 6 | "compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"], |
| 7 | "assets": { |
| 8 | "directory": ".open-next/assets", |
| 9 | "binding": "ASSETS" |
| 10 | }, |
| 11 | "observability": { "enabled": true }, |
| 12 | "services": [ |
| 13 | { "binding": "WORKER_SELF_REFERENCE", "service": "codewhale-web" } |
| 14 | ], |
| 15 | "ratelimits": [ |
| 16 | { |
| 17 | "name": "ADMIN_LOGIN_LIMITER", |
| 18 | "namespace_id": "913001", |
| 19 | "simple": { "limit": 5, "period": 60 } |
| 20 | }, |
| 21 | { |
| 22 | "name": "MERCH_INTEREST_LIMITER", |
| 23 | "namespace_id": "913002", |
| 24 | "simple": { "limit": 5, "period": 60 } |
| 25 | } |
| 26 | ], |
| 27 | "routes": [ |
| 28 | { "pattern": "codewhale.net", "custom_domain": true }, |
| 29 | { "pattern": "www.codewhale.net", "custom_domain": true } |
| 30 | ], |
| 31 | "kv_namespaces": [ |
| 32 | { |
| 33 | "binding": "CURATED_KV", |
| 34 | "id": "abaa6a753c9d45bfa5c0afaf26dc67b3" |
| 35 | }, |
| 36 | { |
| 37 | "binding": "NEXT_INC_CACHE_KV", |
| 38 | "id": "a2e6f324db9b4b03bbc940a4ba246985" |
| 39 | } |
| 40 | ], |
| 41 | "durable_objects": { |
| 42 | "bindings": [ |
| 43 | { "name": "DRAFT_CLAIM_LOCK", "class_name": "DraftClaimLock" } |
| 44 | ] |
| 45 | }, |
| 46 | "migrations": [ |
| 47 | { "tag": "v1", "new_sqlite_classes": ["DraftClaimLock"] } |
| 48 | ], |
| 49 | "vars": { |
| 50 | "GITHUB_REPO": "codewhale-hq/CodeWhale", |
| 51 | "DEEPSEEK_MODEL": "deepseek-flash", |
| 52 | "DEEPSEEK_BASE_URL": "https://gateway.ai.cloudflare.com/v1/cf50f793171d7cb3b2ce23368b69cdcb/codewhale-web/deepseek", |
| 53 | "SUPABASE_URL": "https://mungbvkvpkxbkjzspehg.supabase.co" |
| 54 | }, |
| 55 | "triggers": { |
| 56 | "crons": [ |
| 57 | "0 */6 * * *", |
| 58 | "*/30 * * * *", |
| 59 | "0 0 * * *", |
| 60 | "0 9 * * 1" |
| 61 | ] |
| 62 | } |
| 63 | } |
| 64 |