| { |
| "version": 2, |
| "buildCommand": "npm ci --prefix webui && npm run build --prefix webui", |
| "outputDirectory": "static", |
| "functions": { |
| "api/chat-stream.js": { |
| "maxDuration": 300 |
| }, |
| "api/index.go": { |
| "maxDuration": 300 |
| } |
| }, |
| "rewrites": [ |
| { |
| "source": "/v1/chat/completions", |
| "has": [ |
| { |
| "type": "query", |
| "key": "__go" |
| } |
| ], |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/v1/chat/completions", |
| "destination": "/api/chat-stream" |
| }, |
| { |
| "source": "/admin/login", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/verify", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/config", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/config/(.*)", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/settings", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/settings/(.*)", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/keys(.*)", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/accounts(.*)", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/queue/status", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/import", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/test", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/vercel/(.*)", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/export", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/version", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/chat-history(.*)", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/proxies(.*)", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/dev/raw-samples/(.*)", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin/dev/captures(.*)", |
| "destination": "/api/index" |
| }, |
| { |
| "source": "/admin", |
| "destination": "/admin/index.html" |
| }, |
| { |
| "source": "/admin/assets/(.*)", |
| "destination": "/admin/assets/$1" |
| }, |
| { |
| "source": "/admin/(.*)", |
| "destination": "/admin/index.html" |
| }, |
| { |
| "source": "/(.*)", |
| "destination": "/api/index" |
| } |
| ], |
| "headers": [ |
| { |
| "source": "/admin/assets/(.*)", |
| "headers": [ |
| { |
| "key": "Cache-Control", |
| "value": "public, max-age=31536000, immutable" |
| } |
| ] |
| }, |
| { |
| "source": "/admin/(.*)", |
| "headers": [ |
| { |
| "key": "Cache-Control", |
| "value": "no-store, must-revalidate" |
| } |
| ] |
| } |
| ] |
| } |
|
|