watchbell 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +123 -84
- package/bin/watchbell.mjs +593 -23
- package/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/app-path-routes-manifest.json +1 -0
- package/server/.next/build-manifest.json +116 -105
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/routes-manifest.json +6 -0
- package/server/.next/server/app/(console)/(private)/ai/agents/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/agents/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/ask/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/ask/page/server-reference-manifest.json +10 -10
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/ask/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/connect/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/connect/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/connect/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/keys/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/keys/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/keys/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/logs/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/logs/page/server-reference-manifest.json +10 -10
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/logs/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/models/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/models/page/server-reference-manifest.json +19 -19
- package/server/.next/server/app/(console)/(private)/ai/models/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/models/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/models/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/(private)/ai/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/playground/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/playground/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/playground/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/providers/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/providers/page/server-reference-manifest.json +15 -15
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/providers/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/quota/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/quota/page/server-reference-manifest.json +10 -10
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/quota/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/ai/usage/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/ai/usage/page/server-reference-manifest.json +10 -10
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/ai/usage/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/(private)/auto-actions/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/(private)/auto-actions/page/server-reference-manifest.json +10 -10
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js +61 -58
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/(private)/auto-actions/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/[...slug]/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/[...slug]/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/[...slug]/page.js +62 -59
- package/server/.next/server/app/(console)/[...slug]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/[...slug]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/alerts/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/alerts/page/server-reference-manifest.json +22 -22
- package/server/.next/server/app/(console)/alerts/page.js +61 -58
- package/server/.next/server/app/(console)/alerts/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/alerts/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/apps/[id]/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/apps/[id]/page/server-reference-manifest.json +23 -23
- package/server/.next/server/app/(console)/apps/[id]/page.js +61 -58
- package/server/.next/server/app/(console)/apps/[id]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/apps/[id]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/apps/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/apps/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/apps/page.js +61 -58
- package/server/.next/server/app/(console)/apps/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/apps/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/backups/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/backups/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/backups/page.js +61 -58
- package/server/.next/server/app/(console)/backups/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/backups/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/catalog/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/catalog/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/catalog/page.js +61 -58
- package/server/.next/server/app/(console)/catalog/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/catalog/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/connections/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/connections/page/server-reference-manifest.json +54 -54
- package/server/.next/server/app/(console)/connections/page.js +67 -64
- package/server/.next/server/app/(console)/connections/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/connections/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/d1/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/d1/page.js +61 -58
- package/server/.next/server/app/(console)/d1/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/d1/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/deployments/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/deployments/page.js +61 -58
- package/server/.next/server/app/(console)/deployments/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/deployments/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/dns/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/dns/page/server-reference-manifest.json +16 -16
- package/server/.next/server/app/(console)/dns/page.js +61 -58
- package/server/.next/server/app/(console)/dns/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/dns/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/domains/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/domains/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/domains/page.js +61 -58
- package/server/.next/server/app/(console)/domains/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/domains/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/events/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/events/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/events/page.js +61 -58
- package/server/.next/server/app/(console)/events/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/events/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/firebase/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/firebase/page/server-reference-manifest.json +15 -15
- package/server/.next/server/app/(console)/firebase/page.js +62 -59
- package/server/.next/server/app/(console)/firebase/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/firebase/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/logs/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/logs/page/server-reference-manifest.json +10 -10
- package/server/.next/server/app/(console)/logs/page.js +61 -58
- package/server/.next/server/app/(console)/logs/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/logs/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/manage/sections/page/app-paths-manifest.json +3 -0
- package/server/.next/server/app/(console)/manage/sections/page/build-manifest.json +22 -0
- package/server/.next/server/app/(console)/manage/sections/page/next-font-manifest.json +11 -0
- package/server/.next/server/app/(console)/manage/sections/page/react-loadable-manifest.json +1 -0
- package/server/.next/server/app/(console)/manage/sections/page/server-reference-manifest.json +105 -0
- package/server/.next/server/app/(console)/manage/sections/page.js +104 -0
- package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -0
- package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +3 -0
- package/server/.next/server/app/(console)/neon/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +20 -20
- package/server/.next/server/app/(console)/neon/page.js +61 -58
- package/server/.next/server/app/(console)/neon/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/neon/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/overview/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +16 -16
- package/server/.next/server/app/(console)/overview/page.js +61 -58
- package/server/.next/server/app/(console)/overview/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/repos/[id]/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +10 -10
- package/server/.next/server/app/(console)/repos/[id]/page.js +61 -58
- package/server/.next/server/app/(console)/repos/[id]/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/repos/[id]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/repos/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/repos/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/repos/page.js +61 -58
- package/server/.next/server/app/(console)/repos/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/repos/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/settings/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/settings/page/server-reference-manifest.json +19 -19
- package/server/.next/server/app/(console)/settings/page.js +61 -58
- package/server/.next/server/app/(console)/settings/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/settings/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/sql/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/sql/page/server-reference-manifest.json +16 -16
- package/server/.next/server/app/(console)/sql/page.js +61 -58
- package/server/.next/server/app/(console)/sql/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/sql/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/status/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/status/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/status/page.js +61 -58
- package/server/.next/server/app/(console)/status/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/status/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/supabase/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/supabase/page/server-reference-manifest.json +27 -27
- package/server/.next/server/app/(console)/supabase/page.js +61 -58
- package/server/.next/server/app/(console)/supabase/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/supabase/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/topology/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/topology/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/topology/page.js +61 -58
- package/server/.next/server/app/(console)/topology/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/topology/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/turso/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/turso/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/turso/page.js +61 -58
- package/server/.next/server/app/(console)/turso/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/turso/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/upstash/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/upstash/page/server-reference-manifest.json +9 -9
- package/server/.next/server/app/(console)/upstash/page.js +61 -58
- package/server/.next/server/app/(console)/upstash/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/upstash/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/uptime/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/uptime/page/server-reference-manifest.json +22 -22
- package/server/.next/server/app/(console)/uptime/page.js +61 -58
- package/server/.next/server/app/(console)/uptime/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/uptime/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/welcome/page/build-manifest.json +3 -3
- package/server/.next/server/app/(console)/welcome/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/welcome/page.js +62 -59
- package/server/.next/server/app/(console)/welcome/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/welcome/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_global-error/page/build-manifest.json +3 -3
- package/server/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_global-error.html +1 -1
- package/server/.next/server/app/_global-error.rsc +3 -3
- package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/_full.segment.rsc +3 -3
- package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -2
- package/server/.next/server/app/_not-found/page/build-manifest.json +3 -3
- package/server/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/_not-found.html +1 -1
- package/server/.next/server/app/_not-found.rsc +4 -4
- package/server/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/server/.next/server/app/account/password/page/build-manifest.json +3 -3
- package/server/.next/server/app/account/password/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/account/password/page.js.nft.json +1 -1
- package/server/.next/server/app/account/password/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/api/collect/route/server-reference-manifest.json +7 -7
- package/server/.next/server/app/api/collect/route.js +78 -73
- package/server/.next/server/app/api/collect/route.js.nft.json +1 -1
- package/server/.next/server/app/api/daily/route/server-reference-manifest.json +7 -7
- package/server/.next/server/app/api/daily/route.js +77 -72
- package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
- package/server/.next/server/app/api/health/route.js.nft.json +1 -1
- package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +7 -7
- package/server/.next/server/app/api/telegram/webhook/route.js +75 -70
- package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/[[...rest]]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/advice/route.js +20 -19
- package/server/.next/server/app/api/v1/advice/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/chat/completions/route.js +2 -2
- package/server/.next/server/app/api/v1/ai/chat/completions/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/models/route.js +2 -2
- package/server/.next/server/app/api/v1/ai/models/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/[id]/route.js +1 -1
- package/server/.next/server/app/api/v1/ai/questions/[id]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/route.js +24 -23
- package/server/.next/server/app/api/v1/ai/questions/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/mcp/route.js +22 -21
- package/server/.next/server/app/api/v1/mcp/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/me/route.js +1 -1
- package/server/.next/server/app/api/v1/me/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/openapi.json/route.js +10 -9
- package/server/.next/server/app/api/v1/openapi.json/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/status/apps/[app]/route.js +20 -19
- package/server/.next/server/app/api/v1/status/apps/[app]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/status/route.js +20 -19
- package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/watchdog/route.js +21 -19
- package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/google/callback/route.js +18 -17
- package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
- package/server/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/server/.next/server/app/invite/page/build-manifest.json +3 -3
- package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/invite/page.js +4 -3
- package/server/.next/server/app/invite/page.js.nft.json +1 -1
- package/server/.next/server/app/invite/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/mfa/page/build-manifest.json +3 -3
- package/server/.next/server/app/mfa/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/mfa/page.js.nft.json +1 -1
- package/server/.next/server/app/mfa/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/mfa/setup/page/build-manifest.json +3 -3
- package/server/.next/server/app/mfa/setup/page/server-reference-manifest.json +3 -3
- package/server/.next/server/app/mfa/setup/page.js.nft.json +1 -1
- package/server/.next/server/app/mfa/setup/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/page/build-manifest.json +3 -3
- package/server/.next/server/app/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/page.js.nft.json +1 -1
- package/server/.next/server/app/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/s/[slug]/badge/[file]/route.js +9 -8
- package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
- package/server/.next/server/app/s/[slug]/page/build-manifest.json +3 -3
- package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/s/[slug]/page.js +8 -8
- package/server/.next/server/app/s/[slug]/page.js.nft.json +1 -1
- package/server/.next/server/app/s/[slug]/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/setup/page/build-manifest.json +3 -3
- package/server/.next/server/app/setup/page/server-reference-manifest.json +2 -2
- package/server/.next/server/app/setup/page.js.nft.json +1 -1
- package/server/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/signin/page/build-manifest.json +3 -3
- package/server/.next/server/app/signin/page/server-reference-manifest.json +3 -3
- package/server/.next/server/app/signin/page.js.nft.json +1 -1
- package/server/.next/server/app/signin/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app-paths-manifest.json +1 -0
- package/server/.next/server/chunks/{[externals]__0fbnlnnial7w5._.js → [externals]__0qo8lpb70m87u._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1e0dmqhilgze5._.js → [externals]__100hq0n2xtenb._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1jhautmcwmgii._.js → [externals]__1irgb5qz1s3gv._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0_6eq1806attx._.js → [root-of-the-server]__00hb7hqa7qktx._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__049ykc067tlsv._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__04q-9779vl4kn._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__04rnior8cyxtx._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__010exlr_efe2h._.js → [root-of-the-server]__06ek056i_j_uk._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__06f9e4kpi0mw8._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__06jphm4auz_sh._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__06iz-tlpv7pqm._.js → [root-of-the-server]__06r-019fixp3f._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0mtlynfv-vklo._.js → [root-of-the-server]__07uknh5b-embq._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0j0medewrv95l._.js → [root-of-the-server]__07v5e0vzgl4n2._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0ul6-jnt2oco7._.js → [root-of-the-server]__08fyoixg__c7n._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0_rfeg3389imx._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0b2hzo6nez0we._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0b9tciqdsctau._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__09qqv-zsz9qhr._.js → [root-of-the-server]__0b_4w-5x5u7ag._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1-37ctpn8yw_m._.js → [root-of-the-server]__0bnasoi-x21jc._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0c5w5y-db0jkb._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__08i_or_xyqg4g._.js → [root-of-the-server]__0d8ypilha-el8._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0znb_m_wygjdc._.js → [root-of-the-server]__0erdelc9_06nk._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__018ux7xja83l6._.js → [root-of-the-server]__0flqwe7amc3mz._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0f5l9--3_wjvx._.js → [root-of-the-server]__0fw19tsgp-vbq._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1_l4gp3r2d-7x._.js → [root-of-the-server]__0fw7l5y58_xcd._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__02ihdvnmhshoe._.js → [root-of-the-server]__0g1tldn4xjewd._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0ogbwvwpnlx0b._.js → [root-of-the-server]__0grtjjr51j6xe._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1jrqehmo6kq8x._.js → [root-of-the-server]__0h1qhdjpfq1d4._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__08801yoxfe_os._.js → [root-of-the-server]__0h4n81_nqdr4j._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__081ywec7cjq3d._.js → [root-of-the-server]__0hty-wue10pro._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0jqgfbhrgi28s._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0m7i0l3nkbdfm._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0mwiq4mkf8pc5._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0mui3wh3lfb6m._.js → [root-of-the-server]__0npmbdrxybln5._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0-ok-3r9xtz0y._.js → [root-of-the-server]__0nqw6z6fp8wad._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0_iz9zh9e_mov._.js → [root-of-the-server]__0olmk-rbbhxlo._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0nsie5dba69e6._.js → [root-of-the-server]__0owyb9lr5t5u-._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0p3lnkpxf2-xz._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0qmkpydmx3ljf._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0r-zdzq6ki5gr._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0mhtnnebbepzx._.js → [root-of-the-server]__0si9k9jhdc0bm._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0u66-8g4ql645._.js → [root-of-the-server]__0sivlmcvkc1uq._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0t8d8b4qkw3y-._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0i1de88cj5y-p._.js → [root-of-the-server]__0tl5pxttllr4d._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1z3-s7wc9-uc6._.js → [root-of-the-server]__0uyh4jgcd9092._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0v4-g6c-ls39_._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0vgnlhvdoh3bn._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1x9tt_2yhozwe._.js → [root-of-the-server]__0vp-x4ifpr3p9._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__15j_u2bz3jc-a._.js → [root-of-the-server]__0wy38l7k36j6g._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0qesn8t6k9y_n._.js → [root-of-the-server]__0xiz361p5kdhf._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0z-07azr3zk8s._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0z-41cwvkliev._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0zxyfd7u67hmv._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1-rqermjb77se._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__10c7apgidgs6x._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__03pc2mot62sow._.js → [root-of-the-server]__10x3lu8jeqgbt._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0gs-x779qi1ba._.js → [root-of-the-server]__11-van59e9p2a._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__110c-t3wz3nzm._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__116b4n13dv75t._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__11k46kam6tbia._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__11tte6au1b-z-._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__127dbd1prkw0n._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__12uj0887q1ayr._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__13_b24n_f4my4._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__13be7gbo81td4._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__13h--47xmg706._.js +5 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0wt74rsaz-308._.js → [root-of-the-server]__145gadwk31inl._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0j53mir12jire._.js → [root-of-the-server]__14luo1ecxoqh-._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__15ddlx_ma_1iu._.js → [root-of-the-server]__162cm9ds1c5y2._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__19kwj690b37xf._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__19vsae2naddj5._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1_l065umy451k._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1_ow7lgy0u7st._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1akvpmbiap6nf._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0292lwnmh4wtc._.js → [root-of-the-server]__1aza-7l2pl-pm._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1bsyavebtmd7w._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1cju843cjyf1t._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0qpf0qusq792k._.js → [root-of-the-server]__1cla4k3dqtcfb._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1fnsa-f0t7bxj._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1g1176fer3j4e._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1hqy35gww7ps2._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1i92wg2yuvs4c._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__03e141znq0hr-._.js → [root-of-the-server]__1iv6vg3z9ho81._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1j26i51ankv-z._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1jh0el-zvg4hp._.js → [root-of-the-server]__1j3-sv7eqyhjb._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1j3w0-cp17tx4._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1czhdqbxj_3ov._.js → [root-of-the-server]__1j_iy13gp2-on._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1kg91b3sadtoc._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1kjndfodqqamq._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1mami4vb3y5gd._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1mse65-7gtj-n._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0q691wec2busx._.js → [root-of-the-server]__1objhlwwrjfjk._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1pscg7y0et34j._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1rw0i4x2ake3x._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1t9zp524wouer._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0tb-63ts77gqd._.js → [root-of-the-server]__1tefe1f5835t_._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1u1b3a58anm3f._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1v-789ydxj30e._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__132wlw6sbwt1d._.js → [root-of-the-server]__1vi0u2vkv3tk0._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0j68ia9q425ff._.js → [root-of-the-server]__1w3svzao_gnxp._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1w_73psnce1dd._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1x7ucdyxuh2_k._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__08l1x_plf4dil._.js → [root-of-the-server]__1xdi98xyay6bn._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__18mztbxkzaxjs._.js → [root-of-the-server]__20_1nfa6fiz-q._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__20b_clyk74g5u._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__20ev6t8zggct2._.js +3 -0
- package/server/.next/server/chunks/_004c7-39glldb._.js +4 -4
- package/server/.next/server/chunks/_008zv66xvj7ey._.js +37 -0
- package/server/.next/server/chunks/{_12uzjq-fbcuvb._.js → _01s3_8ssosvqi._.js} +1 -1
- package/server/.next/server/chunks/_03qlijpos6a21._.js +3 -0
- package/server/.next/server/chunks/_09l75j3ey14tc._.js +1 -1
- package/server/.next/server/chunks/_0a7533vs89s78._.js +7 -0
- package/server/.next/server/chunks/_0ejcrge5k4quv._.js +9 -9
- package/server/.next/server/chunks/_0k4iqzwm6w5_c._.js +37 -0
- package/server/.next/server/chunks/_0kmhvts35imzs._.js +1 -1
- package/server/.next/server/chunks/_0m1ll2r1g77ii._.js +1 -1
- package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +3 -0
- package/server/.next/server/chunks/_0nt4hve0bi30h._.js +37 -0
- package/server/.next/server/chunks/_0op74d4yyc3ma._.js +1 -1
- package/server/.next/server/chunks/_0pf2g5n_ko5dq._.js +3 -0
- package/server/.next/server/chunks/_0qmi54vmnlwdv._.js +3 -3
- package/server/.next/server/chunks/_0qr77omrkuewo._.js +3 -0
- package/server/.next/server/chunks/_0rjh9w2ih3j2h._.js +3 -0
- package/server/.next/server/chunks/_0sy878k2ywjbq._.js +3 -0
- package/server/.next/server/chunks/_0tz4o-qufnu3l._.js +4 -4
- package/server/.next/server/chunks/_0voowig3y32v1._.js +1 -1
- package/server/.next/server/chunks/_0wxm_716tjorj._.js +3 -0
- package/server/.next/server/chunks/_0xf7mtsrkgc9e._.js +1 -1
- package/server/.next/server/chunks/_0zkmkbrbc96-h._.js +3 -0
- package/server/.next/server/chunks/_1-pw7jw52sbti._.js +3 -0
- package/server/.next/server/chunks/_103ai6ybnpq1k._.js +1 -1
- package/server/.next/server/chunks/_108e86rhye0o1._.js +1 -1
- package/server/.next/server/chunks/_10vh_l3hht4_3._.js +4 -4
- package/server/.next/server/chunks/_1476vtrt9101m._.js +1 -1
- package/server/.next/server/chunks/_14ymj3uzawde4._.js +7 -0
- package/server/.next/server/chunks/_15g-opioju_ju._.js +3 -0
- package/server/.next/server/chunks/_17aiz6zt-yv52._.js +1 -1
- package/server/.next/server/chunks/_1_son1yzo5xvl._.js +3 -0
- package/server/.next/server/chunks/_1b7pc6ohhqxs3._.js +9 -9
- package/server/.next/server/chunks/_1g_prqb_u33e3._.js +3 -3
- package/server/.next/server/chunks/_1i7qkrp3fnx1a._.js +37 -0
- package/server/.next/server/chunks/_1kcmwgs544mo-._.js +1 -1
- package/server/.next/server/chunks/_1lq5m27p-ilrw._.js +1 -1
- package/server/.next/server/chunks/_1luzeov9x87mg._.js +7 -0
- package/server/.next/server/chunks/_1mnwzh3z9y4th._.js +3 -0
- package/server/.next/server/chunks/_1nuf-l7izvfl_._.js +1 -1
- package/server/.next/server/chunks/{_1jz6k3wy_s8br._.js → _1p0ced3sr0i_8._.js} +1 -1
- package/server/.next/server/chunks/_1ptcxyn1tzm9r._.js +1 -1
- package/server/.next/server/chunks/_1v7q0xdxbqawm._.js +1 -1
- package/server/.next/server/chunks/_1zx_54or1pubb._.js +1 -1
- package/server/.next/server/chunks/node_modules_next_dist_1i-_xribpwttd._.js +313 -0
- package/server/.next/server/chunks/{src_0uxqs7150nhx2._.js → src_014zbodp4djeb._.js} +2 -2
- package/server/.next/server/chunks/src_01jp2f5qmh8e2._.js +3 -0
- package/server/.next/server/chunks/{src_0n42os1q41rha._.js → src_04pgj--n_d4w5._.js} +2 -2
- package/server/.next/server/chunks/src_063xvouojxyoa._.js +1 -1
- package/server/.next/server/chunks/src_088gmyaew7ds0._.js +3 -0
- package/server/.next/server/chunks/src_0c-owt8q0lyj3._.js +3 -0
- package/server/.next/server/chunks/{src_01wdnb4skk1wz._.js → src_0kwnhwi77unm7._.js} +2 -2
- package/server/.next/server/chunks/src_0o4-snj7wkaav._.js +1 -1
- package/server/.next/server/chunks/{src_0d-zi077mzm6v._.js → src_0xqorb3-ef3ub._.js} +2 -2
- package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +3 -0
- package/server/.next/server/chunks/src_1-xw4hea2lvb3._.js +1 -1
- package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
- package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +3 -0
- package/server/.next/server/chunks/{src_03umyw-p7jhaj._.js → src_1dsh9rzlos6-1._.js} +2 -2
- package/server/.next/server/chunks/src_1hy7u0jtydq_d._.js +3 -0
- package/server/.next/server/chunks/src_1j2o14j0-23xv._.js +3 -0
- package/server/.next/server/chunks/src_1j71dvub05y-4._.js +3 -0
- package/server/.next/server/chunks/{src_1-r51arho90p7._.js → src_1no_yh953mran._.js} +2 -2
- package/server/.next/server/chunks/src_1s7yll47_n_hy._.js +3 -0
- package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +3 -3
- package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +3 -0
- package/server/.next/server/chunks/src_1wzm081p6qyre._.js +3 -3
- package/server/.next/server/chunks/src_instrumentation-node_ts_1c--sr1k7_8k2._.js +3 -0
- package/server/.next/server/chunks/src_lib_08u7n7-yunfvd._.js +2 -2
- package/server/.next/server/chunks/src_lib_0cbs2jlrw1qbh._.js +3 -0
- package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
- package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
- package/server/.next/server/chunks/src_lib_0oz4gm8agoidh._.js +6 -0
- package/server/.next/server/chunks/src_lib_0s_txig7jm3ty._.js +3 -3
- package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +15 -0
- package/server/.next/server/chunks/src_lib_0x4n8swwa3zn7._.js +1 -1
- package/server/.next/server/chunks/src_lib_0y-obfzqjj0c6._.js +6 -0
- package/server/.next/server/chunks/src_lib_10_w0ihgmx4e6._.js +6 -0
- package/server/.next/server/chunks/src_lib_10vqn6q0h8kls._.js +2 -2
- package/server/.next/server/chunks/src_lib_13g9xjx8ci00z._.js +3 -0
- package/server/.next/server/chunks/src_lib_15wd7ab4u5nrn._.js +3 -3
- package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +15 -0
- package/server/.next/server/chunks/src_lib_1p21oczr6lh5a._.js +3 -0
- package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +15 -0
- package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
- package/server/.next/server/chunks/src_lib_1tzoqx44yogsk._.js +2 -2
- package/server/.next/server/chunks/src_lib_1yd94hta5y1hx._.js +3 -0
- package/server/.next/server/chunks/src_lib_1yewk45thnv1h._.js +1 -1
- package/server/.next/server/chunks/src_lib_1z73euz6d3tus._.js +6 -0
- package/server/.next/server/chunks/src_lib_brand-env_ts_1wcm1bjuismq_._.js +3 -0
- package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +4 -4
- package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +6 -6
- package/server/.next/server/chunks/src_lib_data_0ask_rbmgwlf3._.js +1 -1
- package/server/.next/server/chunks/src_lib_data_0e155tkqeoojm._.js +1 -1
- package/server/.next/server/chunks/src_lib_data_backup-db_ts_19rtzbv84xz_h._.js +2 -2
- package/server/.next/server/chunks/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +1 -1
- package/server/.next/server/chunks/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
- package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
- package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +9 -9
- package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +13 -13
- package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +9 -9
- package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
- package/server/.next/server/chunks/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
- package/server/.next/server/chunks/src_lib_time_ts_1__07rt8x18k-._.js +3 -0
- package/server/.next/server/chunks/src_lib_time_ts_1a27wp71yhgti._.js +3 -0
- package/server/.next/server/chunks/src_lib_time_ts_1qlwgp7nprvbi._.js +3 -0
- package/server/.next/server/chunks/src_lib_view_databases_ts_0fdc7jkjvyrxi._.js +3 -0
- package/server/.next/server/chunks/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
- package/server/.next/server/chunks/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_agents_page_actions_1q6nc5chwn5k4.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0n_anax2l1jpu.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_1kyng_xuojdtb.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_04r4ro6x7-p7p.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1fq9uugdpqa_l.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_0mhtiq_5szpe0.js +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__1u-jgivpw0_oh._.js → [externals]__0zvy4iicnrk95._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__02cq5r26w4itc._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__02qyxz9eh8_eh._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__04ovk2bqwu87z._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0aahjz4fnt4c_._.js → [root-of-the-server]__052_cprs0alpy._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__11-ssp_43878t._.js → [root-of-the-server]__0543ddliluvv3._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ijk9z1ot_xi4._.js → [root-of-the-server]__08479d23kb1xv._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1csz822qejxk-._.js → [root-of-the-server]__08fqg76puqdfr._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__09-0oydof-7uw._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__09nm_hn1c8zhf._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0lks-6wz-rmk5._.js → [root-of-the-server]__0acmauri7z1sg._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0ct71emqfru3b._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1tkmutq84zkeh._.js → [root-of-the-server]__0e9m8up0h1qhl._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0h9gtpapca7i_._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0hln97a4qcziv._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0ksvf4x4zcbpb._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0lc7my3iqbrsu._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0n7cj-oti5wct._.js +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0ncef7_34ta3-._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0op0kqh43wd-a._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0wcnxr_g-bd3r._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1-o_iq-ed9vc8._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__10bkg3o65q6r4._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__12qymdfh83hht._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__13oi70jo-u731._.js +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__146kj3-h6fkaq._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1fdzriy6yyu5d._.js → [root-of-the-server]__15n-r12rnj61t._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__16o4p3l21rdq3._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__17kocbnwlcw6d._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__19_nr6j2w-in_._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1_f7nip9age3d._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1gw6334w8y2my._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1i69oli51is1u._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0ryb947ux5cq7._.js → [root-of-the-server]__1k1fmq0-rg3p0._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1lx2k37wgre3d._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1owrn7crnsybx._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1qltiqn0htqnx._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1w1472ukyh58r._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__20ht054m5-_d6._.js +1 -1
- package/server/.next/server/chunks/ssr/_0-uwh2rwm_dic._.js +2 -2
- package/server/.next/server/chunks/ssr/_026w_ig6vy9bt._.js +1 -1
- package/server/.next/server/chunks/ssr/{_1wu_8nu5allm0._.js → _05kq3r87s7p3q._.js} +1 -1
- package/server/.next/server/chunks/ssr/_06kwu83_fmex9._.js +2 -2
- package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
- package/server/.next/server/chunks/ssr/_0_rtyc4t9xcdo._.js +1 -1
- package/server/.next/server/chunks/ssr/_0_tr9fol2yq33._.js +1 -1
- package/server/.next/server/chunks/ssr/_0_ul4mlc_pj5i._.js +2 -2
- package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
- package/server/.next/server/chunks/ssr/_0azq3ml4gbn1d._.js +1 -1
- package/server/.next/server/chunks/ssr/_0cukja7zcxh7e._.js +1 -1
- package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
- package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
- package/server/.next/server/chunks/ssr/_0fnl7z-saj7nc._.js +1 -1
- package/server/.next/server/chunks/ssr/_0hykblvnwc2ar._.js +1 -1
- package/server/.next/server/chunks/ssr/_0i-e824vtomvg._.js +2 -2
- package/server/.next/server/chunks/ssr/_0jjoot3rhbde3._.js +2 -2
- package/server/.next/server/chunks/ssr/_0kn710rrv_o2t._.js +2 -2
- package/server/.next/server/chunks/ssr/_0m1ll2r1g77ii._.js +1 -1
- package/server/.next/server/chunks/ssr/_0mgclon6_oh87._.js +2 -2
- package/server/.next/server/chunks/ssr/{_18t7ov64ycb-w._.js → _0ooh0hh-r_12s._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
- package/server/.next/server/chunks/ssr/{_14bz_443syxhi._.js → _0pn3dn9s9es51._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0qnv1uc1_yv28._.js +2 -2
- package/server/.next/server/chunks/ssr/_0qo8tc43kjsf_._.js +1 -1
- package/server/.next/server/chunks/ssr/{_06_f735j-1i20._.js → _0r04c1-snv6jw._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0sotiqakj-6ci._.js +1 -1
- package/server/.next/server/chunks/ssr/_0tcmsw8hszixv._.js +1 -1
- package/server/.next/server/chunks/ssr/{_0i6y4bkm-0cm3._.js → _0tnfblwwlyvq2._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0uogspz6zrvwk._.js +2 -2
- package/server/.next/server/chunks/ssr/{_0o0-2ela2_qqd._.js → _0x1vi7mal3bqd._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1-6d1tm3r_qwg._.js +1 -1
- package/server/.next/server/chunks/ssr/_10bven6gb1vj0._.js +1 -1
- package/server/.next/server/chunks/ssr/_10pz3ggun9s5i._.js +2 -2
- package/server/.next/server/chunks/ssr/_11w5w9dpxcf1w._.js +3 -0
- package/server/.next/server/chunks/ssr/_12ddramfkd6o1._.js +2 -2
- package/server/.next/server/chunks/ssr/_1476vtrt9101m._.js +1 -1
- package/server/.next/server/chunks/ssr/{_1p4i1e1kw70-_._.js → _14kop_5asppd8._.js} +2 -2
- package/server/.next/server/chunks/ssr/_15ft896zgt02e._.js +2 -2
- package/server/.next/server/chunks/ssr/_16t9k9e5cjvas._.js +1 -1
- package/server/.next/server/chunks/ssr/_18lgd6o04ugow._.js +2 -2
- package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
- package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
- package/server/.next/server/chunks/ssr/{_08y82qdosn7ga._.js → _1_ojvke28lw3y._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1b1ano88ar-gi._.js +2 -2
- package/server/.next/server/chunks/ssr/_1b4uqc9fwt4dy._.js +1 -1
- package/server/.next/server/chunks/ssr/_1boia2p3_0nsz._.js +2 -2
- package/server/.next/server/chunks/ssr/_1c28jitsyufnt._.js +1 -1
- package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
- package/server/.next/server/chunks/ssr/_1dx207la592b7._.js +2 -2
- package/server/.next/server/chunks/ssr/_1e24cpw3g7njr._.js +2 -2
- package/server/.next/server/chunks/ssr/_1flla16o7o9ba._.js +1 -1
- package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
- package/server/.next/server/chunks/ssr/_1gl78598hz_ku._.js +1 -1
- package/server/.next/server/chunks/ssr/_1i77n2n-wb98v._.js +2 -2
- package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
- package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
- package/server/.next/server/chunks/ssr/_1nir32qtr99-r._.js +1 -1
- package/server/.next/server/chunks/ssr/_1qt1czw3w8dww._.js +3 -0
- package/server/.next/server/chunks/ssr/_1sq12-1_02tzt._.js +2 -2
- package/server/.next/server/chunks/ssr/_1ybhu25y38395._.js +2 -2
- package/server/.next/server/chunks/ssr/_1ykxf4mi60jog._.js +2 -2
- package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
- package/server/.next/server/chunks/ssr/_1zr0t31h18f2p._.js +3 -0
- package/server/.next/server/chunks/ssr/_20ln-4gu85-yt._.js +3 -0
- package/server/.next/server/chunks/ssr/_210edglbxmcb3._.js +2 -2
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_1910ocjt__nlh.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_136-s4sxl6nra.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_0f7cxitw-svnl.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_14l8--w36mywn.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_1uaicj0j8stji.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_06a1fnrawxlh1.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_1p2deebbgom7b.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_0-wg58qcvu_rv.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_215m-kkv06r4z.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_11-8xinblaop_.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_0ven9q46d3d7s.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1z3l1p4keed3m.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1evatil08dntl.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_0k1237d-q3oc4.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_account_password_page_actions_1v4e71_oifbx9.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_signin_page_actions_11wzk446p6_zi.js +1 -1
- package/server/.next/server/chunks/ssr/node_modules_next_dist_0joxsz2q5dh6c._.js +2 -2
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pz49shx663y1.js +3 -0
- package/server/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1b0g9w0uow3x5.js +1 -1
- package/server/.next/server/chunks/ssr/src_00wh1gv_h2pjs._.js +1 -1
- package/server/.next/server/chunks/ssr/src_00ze92e3aolj8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_01jp2f5qmh8e2._.js +3 -0
- package/server/.next/server/chunks/ssr/src_025wo6h30c00a._.js +1 -1
- package/server/.next/server/chunks/ssr/src_06tjy8wljego8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_084tdkx3c_yqi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_09atx_ns_mlan._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0_5_wl0sww-x7._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0_kumjlw3o034._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0dl7jkqqm313f._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0f_ip1ke7i9r7._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0fdfz--89117z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ho313o5cu3-h._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0iefnjvaszvw_._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0loe22pbn4cuu._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0nylfis4--x5j._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ohsn5qzqqds_._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0p0fk07bj9gpq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0t6-d5hmzrbp1._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0uitfl3c1mdqb._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0usxo7vu7o2cj._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0widudneyf0oq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0xau6d5z5e_md._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0xh3xicmff6ws._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1-wu43p02yiel._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1-xw4hea2lvb3._.js +1 -1
- package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
- package/server/.next/server/chunks/ssr/src_11iuy79j_finh._.js +3 -0
- package/server/.next/server/chunks/ssr/src_12x8sjp-qdw08._.js +1 -1
- package/server/.next/server/chunks/ssr/src_14aur12he3m2a._.js +1 -1
- package/server/.next/server/chunks/ssr/src_15aqc6akkqade._.js +1 -1
- package/server/.next/server/chunks/ssr/src_15zqi72ky6hi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_19evuexp67uty._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1am4_ady64k2b._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1cbawr4iw5h-x._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1ccrc8twenijg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1ctx1an_a3k7g._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1iyzhhf1u_gwo._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_1eermasnm2cgy._.js → src_1ottjkdvhje3g._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1xsg-zd4lt_d4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1y0xvj1obxu7i._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1zpftf1xj-30l._.js +1 -1
- package/server/.next/server/chunks/ssr/src_20hs1ilkxmap0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1fyhh1ldgm23z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_1lhfs18es1mqc._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_agents_loading_tsx_1qyzywm3br5h2._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_06n-9cjmbb-vu._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_ask-form_tsx_18ttm9nna_9y6._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_ask_loading_tsx_1niopfalguzs6._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_connect_connect-view_tsx_04abz05n7hdsd._.js +15 -15
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_connect_loading_tsx_0q7g8dpf7-vgo._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_04ypt31p11eq7._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_keys_loading_tsx_1hc7x_jx0xx0_._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_0261l8yb2z9x1._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_export-button_tsx_1k-crb88n1za_._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_logs_loading_tsx_1dwhza0ud8asg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0ayzqn062pnv5._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_0hla-5y3iresx._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_models_loading_tsx_1qtp-lo_o41cr._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_1o1z2qp3tik5x._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_loading_tsx_02umaieh-00pu._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_playground_playground-view_tsx_18ua5zn_a0mar._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_0jamu-nm6x-dh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_1ru-30x6-uwu4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_providers_loading_tsx_0u2pi0tk7s3ch._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_1kor9sy67qpiw._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_limits-form_tsx_1vouaaf560z_x._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_quota_loading_tsx_1hhnum-g2eq3n._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_1v003vrkwk19w._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_(private)_ai_usage_loading_tsx_0pjvu-xuxbxmh._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_app_(console)_1ppp9j5e2rtqf._.js → src_app_(console)_1l7irblrb5fae._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_[___slug]_page_tsx_0b007i3c1v_vg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_alerts_1t61z2wktki-v._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_088bs149wsgca._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_1sfvku9ui1le-._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_actions_ts_1vpytsdh0wc1f._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_drive-buttons_tsx_00cku5r_z3jkg._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_backups_page_tsx_0o082iagq_14b._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_catalog_page_tsx_1u2_-bv4yi5oo._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_02upf_c41dauw._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fahc65-97qla._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_actions_ts_103blv4gzq76z._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_create_actions_ts_05-86qr6kfjey._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_d1_page_tsx_167hwnq_9uh81._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_0d1uyir4fe7pc._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_actions_ts_1jzn58xzwbukz._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_dns_record-actions_tsx_0cqmz51zcuebv._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_domains_1ut499n11u8_r._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_firebase_page_tsx_0g20hm13dvbc-._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_logs_log-viewer_tsx_0v3e4cflfk14w._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_17htk-vea5fna._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_manage_sections_section-switch_tsx_1mfs-o_357i22._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_(console)_monitor-actions_ts_10w3h7myk2ppi._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_neon_1ubea__gt06o0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_palette-action_ts_0zyw9a9imev6p._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_repos_[id]_page_tsx_1nkxthc4ethrj._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_repos_repo-list_tsx_1n1gcm4qfrfdt._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_16-sh45tpob8n._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_status_page_tsx_1zvj799nv4kah._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_uptime_148phfjye0539._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_uptime_1mnnkfi-2zv-k._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_vercel-actions_ts_0wpk1yo9v632d._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_welcome_page_tsx_1bw0x0riq-oem._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_mfa_setup_setup-flow_tsx_1fpwygr2vdgnh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_s_[slug]_page_tsx_0jjqe6py82mpb._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_setup_setup-form_tsx_0izoagdur96e1._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_app_signin_124xn9wb2fasu._.js → src_app_signin_1tg6pswa99jbe._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_components_11x625pqq9ovs._.js +3 -0
- package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js +1 -1
- package/server/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_005l0kcpyu43o._.js +3 -3
- package/server/.next/server/chunks/ssr/src_lib_05ai1oj91p9w2._.js +2 -2
- package/server/.next/server/chunks/ssr/src_lib_0x4n8swwa3zn7._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_1nkahiclbn55q._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_lib_1l8ej-zoyyegd._.js → src_lib_1p21oczr6lh5a._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_1yewk45thnv1h._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_collector_run_ts_0-q8is8s0y9cq._.js +3 -3
- package/server/.next/server/chunks/ssr/src_lib_copy_edition_ts_1y6lsdbj64t9p._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_data_keep-active-db_ts_0p07g9b74uu3e._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_data_logs-db_ts_1ddw07do12mmk._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +6 -0
- package/server/.next/server/chunks/ssr/{src_lib_demo_20hj85e_64pp1._.js → src_lib_demo_0hdl7pzdqejqx._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +9 -9
- package/server/.next/server/chunks/ssr/src_lib_providers_info_ts_02x6g30rg2hsp._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_time_ts_1qlwgp7nprvbi._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_time_ts_1ualgyi3irm1z._.js +3 -0
- package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_gateway_ts_04_5ao9914d0p._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_providers_actions_ts_0wxa36ai6s5nn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_usage-analytics_ts_1bxba3xarzol0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_views-db_ts_1jbnr41mskha2._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_assist_advisor-notes_ts_0qkpm5c3la7fo._.js +3 -3
- package/server/.next/server/chunks/ssr/src_private_explorer_explorer_tsx_04m_tdottspjs._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_notes_notes-actions_ts_1g63g8u965fhc._.js +1 -1
- package/server/.next/server/middleware-build-manifest.js +116 -105
- package/server/.next/server/next-font-manifest.js +1 -1
- package/server/.next/server/next-font-manifest.json +4 -0
- package/server/.next/server/pages/404.html +1 -1
- package/server/.next/server/pages/500.html +1 -1
- package/server/.next/server/preview-props.json +3 -3
- package/server/.next/server/server-reference-manifest.js +1 -1
- package/server/.next/server/server-reference-manifest.json +210 -164
- package/server/.next/static/chunks/08dak2kh1c6_7.js +1 -0
- package/server/.next/static/chunks/{2v14aqfx8wv9o.js → 0b9slopuz4e8a.js} +1 -1
- package/server/.next/static/chunks/{36ureqoyz5e06.js → 0dp-tuwkw7xf8.js} +2 -2
- package/server/.next/static/chunks/0fhj_pu5ntcfo.js +1 -0
- package/server/.next/static/chunks/{2k9ytb8jmg14_.js → 0h9i512dn01kj.js} +1 -1
- package/server/.next/static/chunks/0ic6_-0gkd6p7.js +1 -0
- package/server/.next/static/chunks/0icohez16w-ei.js +1 -0
- package/server/.next/static/chunks/{1ieazx9t3vl5p.js → 0j1wzqg4ukm70.js} +1 -1
- package/server/.next/static/chunks/{43_va15lk2zc1.js → 0j_5norjm-kef.js} +1 -1
- package/server/.next/static/chunks/{1-1hfgat2l_o9.js → 0kscmnb071fci.js} +1 -1
- package/server/.next/static/chunks/{0c7pskzfstcdh.js → 0ld78j1d4j201.js} +1 -1
- package/server/.next/static/chunks/0qlb-l1uyqku5.js +1 -0
- package/server/.next/static/chunks/0udh0u8c6ovgf.css +3 -0
- package/server/.next/static/chunks/0y1ss0tjq0nq0.js +1 -0
- package/server/.next/static/chunks/{1ts_fd_r1kcrv.js → 1-oetq3mwlhds.js} +1 -1
- package/server/.next/static/chunks/{2fj4o7-stsvht.js → 11ywzwmfd_pt0.js} +1 -1
- package/server/.next/static/chunks/1j18pg23fzwv_.js +1 -0
- package/server/.next/static/chunks/1jaozq01v9r6e.js +1 -0
- package/server/.next/static/chunks/1ky5exl-c1kbo.js +1 -0
- package/server/.next/static/chunks/{0cannaigw8lhi.js → 1lsu_fxiyaeiz.js} +1 -1
- package/server/.next/static/chunks/1o3_amrh-sxr3.js +1 -0
- package/server/.next/static/chunks/{0wtboeftyamyk.js → 1w9o_jo_pejc5.js} +1 -1
- package/server/.next/static/chunks/1xy80z39ducub.js +1 -0
- package/server/.next/static/chunks/1yvbs41m8_4nc.js +7 -0
- package/server/.next/static/chunks/22alexnun_rdm.js +1 -0
- package/server/.next/static/chunks/{1o_q7_4ulcq9x.js → 27qwmt1w6-iri.js} +1 -1
- package/server/.next/static/chunks/29humkd2-_1oo.js +1 -0
- package/server/.next/static/chunks/29j96yfhxsf41.js +1 -0
- package/server/.next/static/chunks/29qnnsjsgsia6.js +1 -0
- package/server/.next/static/chunks/{2cjfogw85k3h-.js → 2ii8j9xuvv604.js} +1 -1
- package/server/.next/static/chunks/{30fczssqw6xys.js → 2m0ftj__ody0m.js} +1 -1
- package/server/.next/static/chunks/{201zah03wlibg.js → 2q88116332v43.js} +1 -1
- package/server/.next/static/chunks/2rbtw3em5hkt4.js +1 -0
- package/server/.next/static/chunks/2sdyov_lz1uj4.js +1 -0
- package/server/.next/static/chunks/{0li9-xjc40g51.js → 2toeyr9b_nk0e.js} +1 -1
- package/server/.next/static/chunks/{2fo6iuxb0ec7f.js → 2w7qxt7ux-m1-.js} +1 -1
- package/server/.next/static/chunks/{1gmof0n5nswkk.js → 2zc1osymeruya.js} +1 -1
- package/server/.next/static/chunks/33fbppn5fotpk.js +1 -0
- package/server/.next/static/chunks/{026asl66kuq3f.js → 340ecjh1jzqjd.js} +15 -15
- package/server/.next/static/chunks/3auw1gobgv94g.js +1 -0
- package/server/.next/static/chunks/3b1p-xm7iow1_.js +1 -0
- package/server/.next/static/chunks/{3tqh7fwtd_k_l.js → 3gl2k6v182lli.js} +2 -2
- package/server/.next/static/chunks/{3f5sxz8awpdog.js → 3gurl_36kr7sg.js} +1 -1
- package/server/.next/static/chunks/{1gb8jvw-g7fr7.js → 3h-i_hcaaf7vs.js} +1 -1
- package/server/.next/static/chunks/{2jlv5ekbb0wu2.js → 3kznplgmzot89.js} +1 -1
- package/server/.next/static/chunks/{0du6qnm4ee-qx.js → 3mb_v650fie_i.js} +1 -1
- package/server/.next/static/chunks/{3dokgd9nungcr.js → 3n_n6yeienmn-.js} +1 -1
- package/server/.next/static/chunks/3nqciag05fif0.js +1 -0
- package/server/.next/static/chunks/{1zi37go-xtasg.js → 3o45i7xbzm0w-.js} +1 -1
- package/server/.next/static/chunks/{1c4fx4kipvnqz.js → 3oe302ug_esoe.js} +1 -1
- package/server/.next/static/chunks/3r3mt51wqymgs.js +1 -0
- package/server/.next/static/chunks/3sg_npfod25zq.js +1 -0
- package/server/.next/static/chunks/{2rdmebof0d_c4.js → 3shbvizselyoq.js} +1 -1
- package/server/.next/static/chunks/3xxagngfonh62.js +1 -0
- package/server/.next/static/chunks/{2z1xy8l4s3usi.js → 3yv-enyk37whg.js} +1 -1
- package/server/node_modules/@next/env/package.json +1 -1
- package/server/node_modules/next/dist/build/analyze/snapshot.js +1 -1
- package/server/node_modules/next/dist/build/index.js +3 -3
- package/server/node_modules/next/dist/build/swc/index.js +1 -1
- package/server/node_modules/next/dist/build/turbopack-analyze/index.js +1 -1
- package/server/node_modules/next/dist/build/turbopack-build/impl.js +1 -1
- package/server/node_modules/next/dist/build/webpack-config.js +3 -3
- package/server/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +2 -2
- package/server/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +2 -2
- package/server/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +1 -1
- package/server/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/server/node_modules/next/dist/server/app-render/async-local-storage.js +1 -1
- package/server/node_modules/next/dist/server/config.js +1 -1
- package/server/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/server/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/server/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/server/node_modules/next/dist/server/lib/generate-agent-files.js +3 -3
- package/server/node_modules/next/dist/server/lib/router-server.js +1 -1
- package/server/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/server/node_modules/next/dist/server/lib/trace/tracer.js +1 -1
- package/server/node_modules/next/dist/server/typescript/rules/config.js +2 -2
- package/server/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1 -1
- package/server/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/server/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/server/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/server/node_modules/next/package.json +11 -11
- package/server/.next/server/chunks/[root-of-the-server]__03zcy67tjxii8._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__08j1jeemvo-th._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__08n3x1x850wqc._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0b_bj-_t8b0b-._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0grnl7ncqcjft._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0hju4mctdmvz9._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0i3n8l6ecdb4u._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0m8w2-7618scn._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0p_b0m2cstlrl._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0uyagcs61c0t_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0v1kcolrxwmob._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0vctt_0kj1gz4._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0x0x6v75re5_e._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0xyzhdj3z_1ro._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ymon9r-17xe_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0zxjft8y2r575._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__114vjjaqb2wyv._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__12uyws-qe6wxs._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__139pgc0wpc7kg._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__157yb_wl7w4ly._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__16dyxwm6pzumx._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__18qf1s7o0ia89._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1951xb3jdzdop._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1_5q9zgl6p5_3._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1a9cd4d9ohf69._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1bwgi7nn5-hc3._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1hxhj2o7lea8i._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1i4bqqne6vibf._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1i83m8i-3yn72._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1jrcnhad_b53j._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1k8s02gwythps._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1lf_lo1wqcbcg._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1n32c8l_j8jt4._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1niiijc82bgoj._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1on_3p53yn6fs._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1pgtip37umn35._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1q90luznbe9-l._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1r15vmrh2r06l._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1rl43iilsc-je._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ta7-xvmtkjwr._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1voiad6r-u931._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1wlilsfzjqdw9._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1woerg3tb4ls3._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1wonw7ft4hset._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1zaomh_4901_f._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__20lwsd6a4wnpe._.js +0 -3
- package/server/.next/server/chunks/_01vdbh009dk-w._.js +0 -5
- package/server/.next/server/chunks/_03bua_9n4apok._.js +0 -3
- package/server/.next/server/chunks/_0594j_bb0l80e._.js +0 -3
- package/server/.next/server/chunks/_076dwl7r_5vcl._.js +0 -34
- package/server/.next/server/chunks/_08tppw9ujlpke._.js +0 -34
- package/server/.next/server/chunks/_08y82qdosn7ga._.js +0 -3
- package/server/.next/server/chunks/_0m49djgc1t4wg._.js +0 -3
- package/server/.next/server/chunks/_0n5m3o7at0adm._.js +0 -34
- package/server/.next/server/chunks/_0qawxzcf--lyq._.js +0 -4
- package/server/.next/server/chunks/_0r4am1mgz4dg_._.js +0 -3
- package/server/.next/server/chunks/_0s30ac32b7prb._.js +0 -3
- package/server/.next/server/chunks/_0vfrh5u-u4mis._.js +0 -3
- package/server/.next/server/chunks/_0vgojnnkcf1vu._.js +0 -4
- package/server/.next/server/chunks/_0vz0de4gz70-e._.js +0 -4
- package/server/.next/server/chunks/_1-mixh9aeqh7f._.js +0 -3
- package/server/.next/server/chunks/_11p2ejgai2a78._.js +0 -3
- package/server/.next/server/chunks/_1bcsmpznxhk9h._.js +0 -3
- package/server/.next/server/chunks/_1he3nioua8ee5._.js +0 -3
- package/server/.next/server/chunks/_1l82x0z8bo4pt._.js +0 -3
- package/server/.next/server/chunks/_1lpcbqj4uzrsh._.js +0 -3
- package/server/.next/server/chunks/_1rw6_0nf-3sxs._.js +0 -34
- package/server/.next/server/chunks/src_0d5xqe2zx_935._.js +0 -3
- package/server/.next/server/chunks/src_0l-no1yc1_izn._.js +0 -3
- package/server/.next/server/chunks/src_0v4pdrc1yxyl8._.js +0 -3
- package/server/.next/server/chunks/src_0vva87j3z99p9._.js +0 -3
- package/server/.next/server/chunks/src_156ewlek-4a4z._.js +0 -3
- package/server/.next/server/chunks/src_1zo6so07lgcdj._.js +0 -3
- package/server/.next/server/chunks/src_db_rows_ts_15b286wn1kn1e._.js +0 -3
- package/server/.next/server/chunks/src_lib_0-ylqsh7whlj2._.js +0 -3
- package/server/.next/server/chunks/src_lib_0485hz-c7h7dr._.js +0 -15
- package/server/.next/server/chunks/src_lib_0f0p6-l5vvduu._.js +0 -3
- package/server/.next/server/chunks/src_lib_0qcyomi01xvf1._.js +0 -15
- package/server/.next/server/chunks/src_lib_15a3m-j_urkkp._.js +0 -3
- package/server/.next/server/chunks/src_lib_1d6edz_ucj01w._.js +0 -3
- package/server/.next/server/chunks/src_lib_1ryt-36ohhnm6._.js +0 -15
- package/server/.next/server/chunks/src_lib_1suc_xwzxtuej._.js +0 -3
- package/server/.next/server/chunks/src_lib_1uh73ofc-pe92._.js +0 -3
- package/server/.next/server/chunks/src_private_1yzfhupl3rlpx._.js +0 -6
- package/server/.next/server/chunks/ssr/[root-of-the-server]__004r8ubf3fp_i._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__06s-dfcfuperv._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__07or1m2vwon1m._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0d9lwldljqtvx._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0q36f5xjkzf4z._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0uklr553mp86_._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1cykncw1_xcno._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1ih2a_fbqu7ko._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1j7_a902k_8es._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1ofzjllv-b0o0._.js +0 -3
- package/server/.next/server/chunks/ssr/_040ixxsgfs0vi._.js +0 -3
- package/server/.next/server/chunks/ssr/_04e0uk5aqrgc3._.js +0 -3
- package/server/.next/server/chunks/ssr/_0ux6eo_w1x155._.js +0 -3
- package/server/.next/server/chunks/ssr/_12o9qqjoik4q4._.js +0 -3
- package/server/.next/server/chunks/ssr/_1k2q3yt1h6cfs._.js +0 -3
- package/server/.next/server/chunks/ssr/_1zhtvg8t3jtxe._.js +0 -3
- package/server/.next/server/chunks/ssr/_200p6me5_kp2j._.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_03amng1-xhfd1.js +0 -3
- package/server/.next/server/chunks/ssr/src_00s82lfm2ga7-._.js +0 -3
- package/server/.next/server/chunks/ssr/src_13hsrg6rdvh-d._.js +0 -3
- package/server/.next/server/chunks/ssr/src_1xgsz_do2xpr2._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_0gm1y-wtw5gyd._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1qigx20w8bk53._.js +0 -3
- package/server/.next/server/chunks/ssr/src_components_shell_shell_tsx_1cpq-hbch_dvj._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_0y40wht-o-oc2._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +0 -3
- package/server/.next/static/chunks/03qto0oyf2r1n.js +0 -1
- package/server/.next/static/chunks/0dmi-v53phuqn.js +0 -1
- package/server/.next/static/chunks/0n_l4a3za5-q8.js +0 -1
- package/server/.next/static/chunks/0t96fqp1vsmrp.js +0 -1
- package/server/.next/static/chunks/0wlc502815llk.js +0 -1
- package/server/.next/static/chunks/158-i6phe17yl.js +0 -1
- package/server/.next/static/chunks/1fxuyn0k52n4v.css +0 -3
- package/server/.next/static/chunks/1mlvn70-zqjvi.js +0 -1
- package/server/.next/static/chunks/1sm8wxvlpowwg.js +0 -1
- package/server/.next/static/chunks/1teh52nh5dujq.js +0 -1
- package/server/.next/static/chunks/1v4hl1z0y1npd.js +0 -1
- package/server/.next/static/chunks/1vh2psoqw3ddc.js +0 -1
- package/server/.next/static/chunks/1xau8pf40_upi.js +0 -7
- package/server/.next/static/chunks/1z2rcngn3-7i5.js +0 -1
- package/server/.next/static/chunks/210qrsqvmgaet.js +0 -1
- package/server/.next/static/chunks/29p15vj15jcsb.js +0 -1
- package/server/.next/static/chunks/2kmerzslng988.js +0 -1
- package/server/.next/static/chunks/2llric-1orr3y.js +0 -1
- package/server/.next/static/chunks/2wb9a1xth0yhf.js +0 -1
- package/server/.next/static/chunks/34gs6c2dsgtqy.js +0 -1
- package/server/.next/static/chunks/3ag6t3ta58rih.js +0 -1
- package/server/.next/static/chunks/3gkta99h3_5i2.js +0 -1
- /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → 00CFAqN6pFBVkqJyXSd78}/_buildManifest.js +0 -0
- /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → 00CFAqN6pFBVkqJyXSd78}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{xCga6YpZus71dK3aq8Q4H → 00CFAqN6pFBVkqJyXSd78}/_ssgManifest.js +0 -0
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
module.exports=[272923,e=>{"use strict";var t=e.i(982842),a=e.i(284180),i=e.i(529341),n=e.i(350649),r=e.i(618916),s=e.i(583521);let o="The demo is busy right now. Try again in a minute.",d="Too many new demo sessions from your network. Try again in a few minutes.",l=new Map([...new Map([["watchbell-demo-busy",o],["watchbell-demo-too-many",d]])].map(([e,t])=>[t,e]));function c(e){return Object.assign(Error(e),{digest:l.get(e)})}var u=e.i(518899),p=e.i(473283),m=e.i(278619),g=e.i(328203),h=e.i(195191),f=e.i(771142),w=e.i(648230);let A=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function k(e,t,a,i,n){let s,o,d,l,c,k,y,{db:I,seed:v,now:$}=e,_=(0,w.k)(v,"alerts"),S=(...e)=>(0,w.T)(v,"alert",...e),T=e=>t.apps.find(t=>t.id===e)?.name??"app",b=(0,p.f)(await I.execute(u.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=b.find(e=>"error"===e.state&&"production"===e.target),D={appId:x.resource_id,appName:T(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:b.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},E=(e,t,a)=>{let i=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:m._[e].severity,resourceId:null,accountId:null,okStreak:2*!!i,lastSeenAt:i??(0,f.$)($,1e3*_.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==m._[e].severity,lastNotifiedAt:i??new Date(a.startedAt.getTime()+f.E),pending:null,pendingSince:null,...a}},M=n.certSoon,O=(0,g.g)(M.notAfter,$)??0,C=n.zoneSoon,P=(0,g.g)(C.expiresAt,$)??0,z=[E("DeploymentFailed",D.appId,{id:S("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*_.int(60,150))}),E("CertExpiringSoon",M.id,{id:S("firing","cert"),resourceId:M.id,title:M.name,message:`The TLS certificate of ${M.name} expires in ${A(O,"day")}.`,startedAt:new Date(M.notAfter.getTime()-14*f.h+_.int(5,55)*f.E)}),E("DomainExpiringSoon",C.id,{id:S("firing","zone"),resourceId:C.id,title:C.name,message:`${C.name} expires in ${A(P,"day")}.`,startedAt:new Date(C.expiresAt.getTime()-30*f.h+_.int(5,55)*f.E)})],R=a.outage,B=a.monitors.find(e=>e.id===R.monitorId),j=t.apps.find(e=>e.id!==D.appId)??t.apps[0],U=e=>i.dbs.find(t=>t.kind===e),N=(e,t)=>(0,f.$)($,e*f.h+t*f.w+_.int(0,50)*f.E),L=(e,t)=>new Date(e.getTime()+t*f.E),H=(e,t)=>{let i=a.monitors.find(e=>e.id===t.monitorId);return E("HighLatency",i.id,{id:S("resolved",e),resourceId:i.appId,title:`${T(i.appId)} ${i.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},F={start:N(4,_.int(1,9)),sha:(0,w.p)(7,v,"old-failed",j.name)},K=U("upstash_redis"),V=U("firestore"),W=U("supabase_project"),G=i.cloudflare.label,Y={outage:E("MonitorDown",B.id,{id:S("resolved","outage"),resourceId:B.appId,title:`${T(B.appId)} ${B.path}`,message:`${(0,h.F)(B.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(R.startedAt.getTime()+10*f.E),resolvedAt:R.recoveredAt}),latencyA:H("latency-a",a.slow[0]),latencyB:H("latency-b",a.slow[1]),oldDeploy:E("DeploymentFailed",j.id,{id:S("resolved","old-deploy"),resourceId:j.id,title:j.name,message:`Production deployment ${F.sha} failed.`,startedAt:F.start,resolvedAt:L(F.start,_.int(35,70))}),collector:(s=N(6,_.int(1,10)),E("CollectorStale","collector",{id:S("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:s,resolvedAt:L(s,_.int(4,9))})),autoPause:(o=N(6,_.int(12,20)),E("AutoPauseRisk",W.id,{id:S("resolved","auto-pause"),resourceId:W.id,title:W.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:o,resolvedAt:L(o,60*_.int(20,30))})),quota:(d=N(6,_.int(1,8)),E("DbQuotaHigh",K.id,{id:S("resolved","db-quota"),resourceId:K.id,title:K.name,message:`${K.name}: Commands at ${_.int(81,88)}% of the free plan.`,startedAt:d,resolvedAt:L(d,60*_.int(3,6))})),firestore:(l=N(3,_.int(1,6)),E("FirestoreQuotaHigh",V.id,{id:S("resolved","firestore"),resourceId:V.id,title:V.name,message:`${V.name} read ${_.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${_.int(81,92)}%).`,startedAt:l,resolvedAt:L(l,60*_.int(2,5))})),proxied:(c=N(5,_.int(12,20)),E("DnsProxiedToVercel",(k=n.vercelRecord).id,{id:S("resolved","proxied"),resourceId:k.zoneId,title:k.name,message:`${k.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:c,resolvedAt:L(c,24*_.int(2,4)*60)})),credential:(y=N(6,_.int(14,22)),E("CredentialExpiring",i.cloudflare.accountId,{id:S("resolved","credential"),accountId:i.cloudflare.accountId,title:`cloudflare \xb7 ${G}`,message:`The cloudflare credential ${G} expires in 9 days.`,startedAt:y,resolvedAt:L(y,24*_.int(1,2)*60+_.int(10,300))}))};return await I.insert(r.alerts).values([...z,...Object.values(Y)]),{firing:{deploy:z[0].id,cert:z[1].id,zone:z[2].id},resolved:{outage:Y.outage.id,oldDeploy:{id:Y.oldDeploy.id,appId:j.id,appName:j.name,previousExternalId:b.find(e=>e.resource_id===j.id&&e.is_previous_production)?.external_id??null,startedAt:Y.oldDeploy.startedAt,resolvedAt:Y.oldDeploy.resolvedAt},credential:{title:Y.credential.title,resolvedAt:Y.credential.resolvedAt}},failedDeploy:D}}var y=e.i(61926),I=e.i(905685);let v=e=>`${e}.example`,$=["acme-shop","orbit-blog","nimbus-docs","pixel-forge","harbor-api","lumen-portal","quartz-admin","tidal-landing","ember-status","cobalt-store","willow-wiki","atlas-dash","sprout-crm","comet-links","fable-notes","maple-events"],_=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],S=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],T=["sin1","iad1","fra1","hnd1","sfo1"],b=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],x=["Fix cart total rounding","Add dark mode toggle","Update dependencies","Speed up the product grid","Fix login redirect loop","Add sitemap","Tidy the footer links","Cache the pricing page","Add newsletter signup","Fix image sizes on mobile","Bump Next.js","Add search to the docs","Handle empty states","Retry failed webhooks","Move env checks to startup","Shorten the onboarding copy","Add health endpoint","Fix timezone in the event list","Split the dashboard bundle","Add RSS feed"],D={supabase_project:["shop-prod","portal-main","crm-core","store-db"],neon_project:["analytics","reporting","billing-ledger","metrics-pg"],firestore:["notes-app","mobile-sync","feedback-inbox","event-chat"],turso_database:["edge-cache","geo-lookup","docs-search","flags"],upstash_redis:["sessions","rate-limits","queue-cache","page-cache"],d1_database:["events-log","link-clicks","form-entries","audit-trail"]},E=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],M=[{level:"error",method:"POST",path:"/api/checkout",status:500,message:"TypeError: Cannot read properties of undefined (reading 'price')"},{level:"warning",method:"GET",path:"/products",status:200,message:"Slow query: products list took 1840 ms"},{level:"error",method:"GET",path:"/api/search",status:504,message:"Task timed out after 10.02 seconds"},{level:"warning",method:"GET",path:"/",status:200,message:"Image optimization fell back to the original file (unsupported format)"},{level:"error",method:"POST",path:"/api/webhooks/payments",status:401,message:"Webhook signature didn't match"},{level:"fatal",method:"GET",path:"/api/report",status:500,message:"Error: connect ECONNREFUSED (database connection pool exhausted)"},{level:"warning",method:"GET",path:"/blog/[slug]",status:404,message:'Post not found for slug "spring-sale-2025"'},{level:"error",method:"PUT",path:"/api/profile",status:422,message:"ZodError: email must be a valid email"}];async function O(e){let{db:t,seed:a,now:i}=e,n=(0,w.k)(a,"apps"),s=n.pick(_),o={id:`team_${(0,w.g)(24,a,"team")}`,name:s.name,slug:s.slug},d=(0,w.T)(a,"account","vercel"),l=(0,f.$)(i,n.int(120,300)*f.h),c=(0,f.$)(i,n.int(3,50)*f.E);await t.insert(r.accounts).values({id:d,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:c,lastSyncAt:c,createdAt:l,updatedAt:c});let u=n.shuffle($).slice(0,n.int(5,8)).sort().map((e,t)=>({id:(0,w.T)(a,"app",e),index:t,name:e,externalId:`prj_${(0,w.g)(28,a,"project",e)}`,host:v(e),createdAt:(0,f.$)(i,n.int(95,400)*f.h-n.int(0,23)*f.w)}));return await t.insert(r.resources).values(u.map(e=>({id:e.id,accountId:d,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:c,createdAt:e.createdAt,updatedAt:c,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:n.pick(S),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[n.pick(T)]}}))),await t.insert(r.deployments).values(function(e,t){let{seed:a,now:i}=e,n=(0,w.k)(a,"deployments"),r=n.pick(t).id,s=n.pick(t).id,o=[];for(let e of t){let t=(t,r,s,d,l)=>{let c=(0,f.$)(i,s),u=new Date(c.getTime()+1e3*n.int(3,12)),p="ready"===d?new Date(u.getTime()+1e3*n.int(25,160)):null,m="production"===r?"main":n.pick(b);o.push({id:(0,w.T)(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${(0,w.g)(24,a,"deployment",e.name,t)}`,state:d,target:r,branch:m,commitSha:(0,w.p)(40,a,"commit",e.name,t),commitMessage:l??n.pick(x),source:"git",url:v(`${e.name}-git-${m.replace(/[^a-z0-9]+/g,"-")}-${(0,w.g)(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:u,readyAt:p,createdAtProvider:c,isCurrent:!1,isPreviousProduction:!1,createdAt:c,updatedAt:p??u})},d=e.id===r,l=n.int(2,5);for(let e=0;e<l;e++){let a=0===e?Math.max(d?5*f.w:0,n.int(1,96)*f.w-n.int(0,40)*f.E):n.int(4+4*e,6+6*e)*f.h+n.int(0,23)*f.w;t(e,"production",a,"ready")}let c=n.int(0,3);for(let e=0;e<c;e++)t(10+e,"preview",n.int(2,240)*f.w+n.int(0,59)*f.E,"ready");d&&t(20,"production",n.int(30,240)*f.E,"error","Refactor the checkout form"),e.id===s&&t(21,"preview",n.int(1,6)*f.E,"building")}for(let e of t){let t=o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})),{currentId:a,previousId:i}=(0,y.a)(t,null);for(let t of o)t.resourceId===e.id&&(t.isCurrent=t.externalId===a,t.isPreviousProduction=t.externalId===i)}return o}(e,u)),{accountId:d,team:o,apps:u}}async function C(e,t,a){let{db:i,seed:n,now:s}=e,o=(0,w.k)(n,"snapshots"),d=(0,f.$)(s,1e3*o.int(5,40));await i.insert(r.snapshots).values(t.apps.map(e=>{var t,i;let n,r,l,c,u,p=a.filter(t=>t.appId===e.id),m=(0,I.V)({monitors:p.map(e=>e.state),building:!1,dbPaused:!1}),g=p.find(e=>"err"===e.state)??p.find(e=>"warn"===e.state),h=g?.stateSince??new Date(Math.max(...p.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:m,stateSince:h,collectedAt:d,data:{code:g?.lastStatus??null,latencyMs:p[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(t=o,i=s,r=Math.floor((n=(0,f.$)(i,t.int(2,25)*f.E)).getTime()/f.w)*f.w,l=t.int(20,400),{enabled:!0,total24h:u=(c=Array.from({length:24},(e,a)=>{let i=r-(23-a)*f.w,n=.15+.85*Math.max(0,Math.sin(((new Date(i).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(i).toISOString(),Math.round(l*n*(.7+.6*t.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(u*(.3+.2*t.next())),hourly:c,readAt:n.toISOString()})}}}))}var P=e.i(755776),z=e.i(867274),R=e.i(800366),B=e.i(11552);let j="demo",U={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function N(e,t){let{db:a,seed:i,now:n}=e,s=(0,w.k)(i,"databases"),o=t.team,d=e=>(0,w.T)(i,"account",e),l=(0,f.$)(n,s.int(4,40)*f.E);await a.insert(r.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=(0,f.$)(n,s.int(60,280)*f.h);return{id:d(e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:j,credentialIv:j,credentialKind:U[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let c=(0,w.p)(32,i,"cloudflare-account"),u=[{kind:"supabase_project",provider:"supabase",externalId:(0,w.g)(20,i,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${s.pick(["silent","quiet","misty","bold","calm"])}-${s.pick(["river","meadow","forest","harbor","dune"])}-${(0,w.p)(8,i,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${(0,w.p)(5,i,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,w.T)(i,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,w.T)(i,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,w.T)(i,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let r=s.pick(D[e]),l=(0,f.$)(n,s.int(40,300)*f.h),u="supabase_project"===e?{orgSlug:o.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:l.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===e?{orgId:`org-${(0,w.p)(8,i,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:l.toISOString()}:"firestore"===e?{projectId:a}:"turso_database"===e?{org:o.slug,group:"default",region:"sin"}:"upstash_redis"===e?{region:"ap-southeast-1",type:"free"}:{accountId:c,createdAt:l.toISOString()};return{id:(0,w.T)(i,"db",e),kind:e,name:r,externalId:a,accountId:d(t),meta:u,createdAt:l}});await a.insert(r.resources).values(u.map(e=>({id:e.id,accountId:e.accountId,kind:e.kind,externalId:e.externalId,name:e.name,monitored:!0,meta:e.meta,firstSeenAt:e.createdAt,lastSeenAt:l,createdAt:e.createdAt,updatedAt:l})));let p=e=>u.find(t=>t.kind===e),m=e=>(0,f.$)(n,e*f.E+1e3*s.int(0,50)),g=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)),h=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth()+1,1)),A=(n.getTime()-g.getTime())/(h.getTime()-g.getTime()),k=[{id:`ep-${(0,w.g)(12,i,"neon-ep").toLowerCase()}`,branchId:`br-${(0,w.g)(12,i,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,f.$)(n,s.int(20,300)*f.E).toISOString()}],y=Math.round((8+50*A+s.int(0,10))*3600),I=(0,R.p)({endpoints:k,computeSeconds:y}),v=[{id:p("supabase_project").id,state:"ok",since:(0,f.$)(n,s.int(20,90)*f.h),at:m(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:(0,f.$)(n,s.int(3,50)*f.E).toISOString(),trafficAt:(0,f.$)(n,s.int(1,4)*f.E).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:(0,f.$)(n,s.int(1,4)*f.E).toISOString(),sizeBytes:1048576*s.int(38,140)+s.int(0,1048576),sizeAt:(0,f.$)(n,s.int(4,20)*f.w).toISOString(),lastGoodState:"ok"}},{id:p("neon_project").id,state:"ok"===I.state?"ok":"idle",since:(0,f.$)(n,s.int(20,300)*f.E),at:m(s.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:p("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*A)*0x40000000),periodStart:g.toISOString(),periodEnd:h.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:k,branches:[{id:k[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*s.int(120,380)},{id:`br-${(0,w.g)(12,i,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*s.int(60,160)}],lastGoodState:"ok"===I.state?"ok":"idle"}},{id:p("firestore").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(1),data:{displayName:p("firestore").name,latencyMs:s.int(70,190),reads:s.int(4e3,22e3),writes:s.int(800,6e3),deletes:s.int(20,400),opsAt:(0,f.$)(n,s.int(10,50)*f.E).toISOString(),authUsers:s.int(80,2400),authAt:(0,f.$)(n,s.int(2,20)*f.w).toISOString(),lastGoodState:"ok"}},{id:p("turso_database").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(s.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*A)*1e6),rowsWritten:Math.round((.2+2.2*A)*1e6),storageBytes:1048576*s.int(40,600),orgRowsRead:Math.round((25+160*A)*1e6),orgRowsWritten:Math.round((.3+2.6*A)*1e6),orgStorageBytes:1048576*s.int(700,1400),orgDatabases:3,usageAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),lastGoodState:"ok"}},{id:p("upstash_redis").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(s.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:s.int(2e3,9e3),monthlyRequests:Math.round((20+180*A)*1e3)+s.int(0,999),storageBytes:1048576*s.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*A)*0x40000000),statsAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),lastGoodState:"ok"}},{id:p("d1_database").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(s.int(5,50)),data:{accountId:c,createdAt:p("d1_database").createdAt.toISOString(),sizeBytes:1048576*s.int(4,120),numTables:s.int(4,12),readReplication:"disabled",detailsAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),rowsRead:s.int(4e4,9e5),rowsWritten:s.int(1e3,3e4),readQueries:s.int(4e3,6e4),writeQueries:s.int(300,6e3),accountRowsRead:s.int(9e5,18e5),accountRowsWritten:s.int(3e4,55e3),accountSizeBytes:1048576*s.int(200,900),accountDatabases:2,usageDay:n.toISOString().slice(0,10),usageAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),lastGoodState:"ok"}}];await a.insert(r.snapshots).values(v.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await a.insert(r.settings).values({key:B.f,value:{[d("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),note:null}},createdAt:(0,f.$)(n,30*f.h),updatedAt:n});let $=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],_=t.apps.slice(0,Math.max(4,t.apps.length-1));return await a.insert(r.links).values(_.map((e,t)=>({id:(0,w.T)(i,"link",e.name),fromResourceId:e.id,toResourceId:p($[t]).id,kind:"uses_db",source:"manual",createdAt:(0,f.$)(n,s.int(20,90)*f.h),updatedAt:(0,f.$)(n,s.int(1,19)*f.h)}))),await L(e,p("supabase_project").id),await a.insert(r.keepActive).values({resourceId:p("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,f.$)(n,s.int(2,20)*f.w),updatedAt:(0,f.$)(n,12*f.h)}),{dbs:u.map(({id:e,kind:t,name:a,externalId:i,accountId:n})=>({id:e,kind:t,name:a,externalId:i,accountId:n})),cloudflare:{accountId:d("cloudflare"),cfAccountId:c,label:o.name}}}async function L(e,t){let{db:a,seed:i,now:n}=e,r=(0,w.k)(i,"compute"),s=(0,f.$)(n,r.int(1,4)*f.E),o=Array.from({length:24},(e,a)=>{let i=new Date((0,z.b)(n).getTime()-a*f.w),s=Math.round((6+18*r.next())*10)/10,o=Math.round((34+14*r.next())*10)/10;return{resourceId:t,hour:i,samples:0===a?Math.max(1,Math.floor((n.getTime()-i.getTime())/(5*f.E))):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+r.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*r.next()))/10,diskPct:9.8,connUsed:r.int(8,22),connMax:60}}),d={cpuPct:o[0].cpuAvg,memPct:o[0].memAvg,diskPct:9.8,connUsed:o[0].connUsed,connMax:60,at:s.toISOString(),prev:null,recent:Array.from({length:6},(e,t)=>({at:(0,f.$)(s,(5-t)*5*f.E).toISOString(),cpu:Math.round((6+18*r.next())*10)/10}))};await a.insert(P.A).values({resourceId:t,keyCiphertext:j,keyIv:j,latest:d,lastTryAt:s,lastOkAt:s,createdAt:(0,f.$)(n,21*f.h),updatedAt:s}),await a.insert(P.l).values(o.filter(e=>e.hour.getTime()<=n.getTime()))}var H=e.i(338478);let F=7*f.h;async function K(e,t,a,i,n,s){let{db:o,seed:d,now:l}=e,c=(0,w.k)(d,"events"),m=[],g=(e,t)=>m.push({id:(0,w.T)(d,"event",e),count:1,...t});for(let e of(0,p.f)(await o.execute(u.B`select external_id, resource_id, state, branch, commit_sha, building_at, ready_at, created_at_provider from ops.deployments
|
|
2
|
-
where created_at_provider > ${new Date(l.getTime()-
|
|
1
|
+
module.exports=[272923,e=>{"use strict";var t=e.i(982842),a=e.i(284180),i=e.i(529341),n=e.i(350649),r=e.i(618916),s=e.i(583521);let o="The demo is busy right now. Try again in a minute.",d="Too many new demo sessions from your network. Try again in a few minutes.",l=new Map([...new Map([["watchbell-demo-busy",o],["watchbell-demo-too-many",d]])].map(([e,t])=>[t,e]));function c(e){return Object.assign(Error(e),{digest:l.get(e)})}var u=e.i(518899),p=e.i(473283),m=e.i(278619),g=e.i(328203),h=e.i(195191),f=e.i(771142),w=e.i(648230);let A=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function k(e,t,a,i,n){let s,o,d,l,c,k,y,{db:I,seed:v,now:$}=e,_=(0,w.k)(v,"alerts"),S=(...e)=>(0,w.T)(v,"alert",...e),T=e=>t.apps.find(t=>t.id===e)?.name??"app",b=(0,p.f)(await I.execute(u.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=b.find(e=>"error"===e.state&&"production"===e.target),D={appId:x.resource_id,appName:T(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:b.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},E=(e,t,a)=>{let i=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:m._[e].severity,resourceId:null,accountId:null,okStreak:2*!!i,lastSeenAt:i??(0,f.$)($,1e3*_.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==m._[e].severity,lastNotifiedAt:i??new Date(a.startedAt.getTime()+f.E),pending:null,pendingSince:null,...a}},M=n.certSoon,O=(0,g.g)(M.notAfter,$)??0,C=n.zoneSoon,P=(0,g.g)(C.expiresAt,$)??0,z=[E("DeploymentFailed",D.appId,{id:S("firing","deploy"),resourceId:D.appId,title:D.appName,message:`Production deployment ${D.sha} failed.`,startedAt:new Date(D.createdAt.getTime()+1e3*_.int(60,150))}),E("CertExpiringSoon",M.id,{id:S("firing","cert"),resourceId:M.id,title:M.name,message:`The TLS certificate of ${M.name} expires in ${A(O,"day")}.`,startedAt:new Date(M.notAfter.getTime()-14*f.h+_.int(5,55)*f.E)}),E("DomainExpiringSoon",C.id,{id:S("firing","zone"),resourceId:C.id,title:C.name,message:`${C.name} expires in ${A(P,"day")}.`,startedAt:new Date(C.expiresAt.getTime()-30*f.h+_.int(5,55)*f.E)})],R=a.outage,j=a.monitors.find(e=>e.id===R.monitorId),B=t.apps.find(e=>e.id!==D.appId)??t.apps[0],U=e=>i.dbs.find(t=>t.kind===e),N=(e,t)=>(0,f.$)($,e*f.h+t*f.w+_.int(0,50)*f.E),L=(e,t)=>new Date(e.getTime()+t*f.E),H=(e,t)=>{let i=a.monitors.find(e=>e.id===t.monitorId);return E("HighLatency",i.id,{id:S("resolved",e),resourceId:i.appId,title:`${T(i.appId)} ${i.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},F={start:N(4,_.int(1,9)),sha:(0,w.p)(7,v,"old-failed",B.name)},K=U("upstash_redis"),V=U("firestore"),G=U("supabase_project"),W=i.cloudflare.label,Y={outage:E("MonitorDown",j.id,{id:S("resolved","outage"),resourceId:j.appId,title:`${T(j.appId)} ${j.path}`,message:`${(0,h.F)(j.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(R.startedAt.getTime()+10*f.E),resolvedAt:R.recoveredAt}),latencyA:H("latency-a",a.slow[0]),latencyB:H("latency-b",a.slow[1]),oldDeploy:E("DeploymentFailed",B.id,{id:S("resolved","old-deploy"),resourceId:B.id,title:B.name,message:`Production deployment ${F.sha} failed.`,startedAt:F.start,resolvedAt:L(F.start,_.int(35,70))}),collector:(s=N(6,_.int(1,10)),E("CollectorStale","collector",{id:S("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:s,resolvedAt:L(s,_.int(4,9))})),autoPause:(o=N(6,_.int(12,20)),E("AutoPauseRisk",G.id,{id:S("resolved","auto-pause"),resourceId:G.id,title:G.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:o,resolvedAt:L(o,60*_.int(20,30))})),quota:(d=N(6,_.int(1,8)),E("DbQuotaHigh",K.id,{id:S("resolved","db-quota"),resourceId:K.id,title:K.name,message:`${K.name}: Commands at ${_.int(81,88)}% of the free plan.`,startedAt:d,resolvedAt:L(d,60*_.int(3,6))})),firestore:(l=N(3,_.int(1,6)),E("FirestoreQuotaHigh",V.id,{id:S("resolved","firestore"),resourceId:V.id,title:V.name,message:`${V.name} read ${_.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${_.int(81,92)}%).`,startedAt:l,resolvedAt:L(l,60*_.int(2,5))})),proxied:(c=N(5,_.int(12,20)),E("DnsProxiedToVercel",(k=n.vercelRecord).id,{id:S("resolved","proxied"),resourceId:k.zoneId,title:k.name,message:`${k.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:c,resolvedAt:L(c,24*_.int(2,4)*60)})),credential:(y=N(6,_.int(14,22)),E("CredentialExpiring",i.cloudflare.accountId,{id:S("resolved","credential"),accountId:i.cloudflare.accountId,title:`cloudflare \xb7 ${W}`,message:`The cloudflare credential ${W} expires in 9 days.`,startedAt:y,resolvedAt:L(y,24*_.int(1,2)*60+_.int(10,300))}))};return await I.insert(r.alerts).values([...z,...Object.values(Y)]),{firing:{deploy:z[0].id,cert:z[1].id,zone:z[2].id},resolved:{outage:Y.outage.id,oldDeploy:{id:Y.oldDeploy.id,appId:B.id,appName:B.name,previousExternalId:b.find(e=>e.resource_id===B.id&&e.is_previous_production)?.external_id??null,startedAt:Y.oldDeploy.startedAt,resolvedAt:Y.oldDeploy.resolvedAt},credential:{title:Y.credential.title,resolvedAt:Y.credential.resolvedAt}},failedDeploy:D}}var y=e.i(61926),I=e.i(905685);let v=e=>`${e}.example`,$=["acme-shop","orbit-blog","nimbus-docs","pixel-forge","harbor-api","lumen-portal","quartz-admin","tidal-landing","ember-status","cobalt-store","willow-wiki","atlas-dash","sprout-crm","comet-links","fable-notes","maple-events"],_=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],S=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],T=["sin1","iad1","fra1","hnd1","sfo1"],b=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],x=["Fix cart total rounding","Add dark mode toggle","Update dependencies","Speed up the product grid","Fix login redirect loop","Add sitemap","Tidy the footer links","Cache the pricing page","Add newsletter signup","Fix image sizes on mobile","Bump Next.js","Add search to the docs","Handle empty states","Retry failed webhooks","Move env checks to startup","Shorten the onboarding copy","Add health endpoint","Fix timezone in the event list","Split the dashboard bundle","Add RSS feed"],D={supabase_project:["shop-prod","portal-main","crm-core","store-db"],neon_project:["analytics","reporting","billing-ledger","metrics-pg"],firestore:["notes-app","mobile-sync","feedback-inbox","event-chat"],turso_database:["edge-cache","geo-lookup","docs-search","flags"],upstash_redis:["sessions","rate-limits","queue-cache","page-cache"],d1_database:["events-log","link-clicks","form-entries","audit-trail"]},E=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],M=[{level:"error",method:"POST",path:"/api/checkout",status:500,message:"TypeError: Cannot read properties of undefined (reading 'price')"},{level:"warning",method:"GET",path:"/products",status:200,message:"Slow query: products list took 1840 ms"},{level:"error",method:"GET",path:"/api/search",status:504,message:"Task timed out after 10.02 seconds"},{level:"warning",method:"GET",path:"/",status:200,message:"Image optimization fell back to the original file (unsupported format)"},{level:"error",method:"POST",path:"/api/webhooks/payments",status:401,message:"Webhook signature didn't match"},{level:"fatal",method:"GET",path:"/api/report",status:500,message:"Error: connect ECONNREFUSED (database connection pool exhausted)"},{level:"warning",method:"GET",path:"/blog/[slug]",status:404,message:'Post not found for slug "spring-sale-2025"'},{level:"error",method:"PUT",path:"/api/profile",status:422,message:"ZodError: email must be a valid email"}];async function O(e){let{db:t,seed:a,now:i}=e,n=(0,w.k)(a,"apps"),s=n.pick(_),o={id:`team_${(0,w.g)(24,a,"team")}`,name:s.name,slug:s.slug},d=(0,w.T)(a,"account","vercel"),l=(0,f.$)(i,n.int(120,300)*f.h),c=(0,f.$)(i,n.int(3,50)*f.E);await t.insert(r.accounts).values({id:d,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:c,lastSyncAt:c,createdAt:l,updatedAt:c});let u=n.shuffle($).slice(0,n.int(5,8)).sort().map((e,t)=>({id:(0,w.T)(a,"app",e),index:t,name:e,externalId:`prj_${(0,w.g)(28,a,"project",e)}`,host:v(e),createdAt:(0,f.$)(i,n.int(95,400)*f.h-n.int(0,23)*f.w)}));return await t.insert(r.resources).values(u.map(e=>({id:e.id,accountId:d,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:c,createdAt:e.createdAt,updatedAt:c,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:n.pick(S),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[n.pick(T)]}}))),await t.insert(r.deployments).values(function(e,t){let{seed:a,now:i}=e,n=(0,w.k)(a,"deployments"),r=n.pick(t).id,s=n.pick(t).id,o=[];for(let e of t){let t=(t,r,s,d,l)=>{let c=(0,f.$)(i,s),u=new Date(c.getTime()+1e3*n.int(3,12)),p="ready"===d?new Date(u.getTime()+1e3*n.int(25,160)):null,m="production"===r?"main":n.pick(b);o.push({id:(0,w.T)(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${(0,w.g)(24,a,"deployment",e.name,t)}`,state:d,target:r,branch:m,commitSha:(0,w.p)(40,a,"commit",e.name,t),commitMessage:l??n.pick(x),source:"git",url:v(`${e.name}-git-${m.replace(/[^a-z0-9]+/g,"-")}-${(0,w.g)(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:u,readyAt:p,createdAtProvider:c,isCurrent:!1,isPreviousProduction:!1,createdAt:c,updatedAt:p??u})},d=e.id===r,l=n.int(2,5);for(let e=0;e<l;e++){let a=0===e?Math.max(d?5*f.w:0,n.int(1,96)*f.w-n.int(0,40)*f.E):n.int(4+4*e,6+6*e)*f.h+n.int(0,23)*f.w;t(e,"production",a,"ready")}let c=n.int(0,3);for(let e=0;e<c;e++)t(10+e,"preview",n.int(2,240)*f.w+n.int(0,59)*f.E,"ready");d&&t(20,"production",n.int(30,240)*f.E,"error","Refactor the checkout form"),e.id===s&&t(21,"preview",n.int(1,6)*f.E,"building")}for(let e of t){let t=o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})),{currentId:a,previousId:i}=(0,y.a)(t,null);for(let t of o)t.resourceId===e.id&&(t.isCurrent=t.externalId===a,t.isPreviousProduction=t.externalId===i)}return o}(e,u)),{accountId:d,team:o,apps:u}}async function C(e,t,a){let{db:i,seed:n,now:s}=e,o=(0,w.k)(n,"snapshots"),d=(0,f.$)(s,1e3*o.int(5,40));await i.insert(r.snapshots).values(t.apps.map(e=>{var t,i;let n,r,l,c,u,p=a.filter(t=>t.appId===e.id),m=(0,I.V)({monitors:p.map(e=>e.state),building:!1,dbPaused:!1}),g=p.find(e=>"err"===e.state)??p.find(e=>"warn"===e.state),h=g?.stateSince??new Date(Math.max(...p.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:m,stateSince:h,collectedAt:d,data:{code:g?.lastStatus??null,latencyMs:p[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(t=o,i=s,r=Math.floor((n=(0,f.$)(i,t.int(2,25)*f.E)).getTime()/f.w)*f.w,l=t.int(20,400),{enabled:!0,total24h:u=(c=Array.from({length:24},(e,a)=>{let i=r-(23-a)*f.w,n=.15+.85*Math.max(0,Math.sin(((new Date(i).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(i).toISOString(),Math.round(l*n*(.7+.6*t.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(u*(.3+.2*t.next())),hourly:c,readAt:n.toISOString()})}}}))}var P=e.i(755776),z=e.i(867274),R=e.i(800366),j=e.i(11552);let B="demo",U={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function N(e,t){let{db:a,seed:i,now:n}=e,s=(0,w.k)(i,"databases"),o=t.team,d=e=>(0,w.T)(i,"account",e),l=(0,f.$)(n,s.int(4,40)*f.E);await a.insert(r.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=(0,f.$)(n,s.int(60,280)*f.h);return{id:d(e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:B,credentialIv:B,credentialKind:U[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let c=(0,w.p)(32,i,"cloudflare-account"),u=[{kind:"supabase_project",provider:"supabase",externalId:(0,w.g)(20,i,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${s.pick(["silent","quiet","misty","bold","calm"])}-${s.pick(["river","meadow","forest","harbor","dune"])}-${(0,w.p)(8,i,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${(0,w.p)(5,i,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:(0,w.T)(i,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:(0,w.T)(i,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:(0,w.T)(i,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let r=s.pick(D[e]),l=(0,f.$)(n,s.int(40,300)*f.h),u="supabase_project"===e?{orgSlug:o.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:l.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===e?{orgId:`org-${(0,w.p)(8,i,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:l.toISOString()}:"firestore"===e?{projectId:a}:"turso_database"===e?{org:o.slug,group:"default",region:"sin"}:"upstash_redis"===e?{region:"ap-southeast-1",type:"free"}:{accountId:c,createdAt:l.toISOString()};return{id:(0,w.T)(i,"db",e),kind:e,name:r,externalId:a,accountId:d(t),meta:u,createdAt:l}});await a.insert(r.resources).values(u.map(e=>({id:e.id,accountId:e.accountId,kind:e.kind,externalId:e.externalId,name:e.name,monitored:!0,meta:e.meta,firstSeenAt:e.createdAt,lastSeenAt:l,createdAt:e.createdAt,updatedAt:l})));let p=e=>u.find(t=>t.kind===e),m=e=>(0,f.$)(n,e*f.E+1e3*s.int(0,50)),g=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)),h=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth()+1,1)),A=(n.getTime()-g.getTime())/(h.getTime()-g.getTime()),k=[{id:`ep-${(0,w.g)(12,i,"neon-ep").toLowerCase()}`,branchId:`br-${(0,w.g)(12,i,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:(0,f.$)(n,s.int(20,300)*f.E).toISOString()}],y=Math.round((8+50*A+s.int(0,10))*3600),I=(0,R.p)({endpoints:k,computeSeconds:y}),v=[{id:p("supabase_project").id,state:"ok",since:(0,f.$)(n,s.int(20,90)*f.h),at:m(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:(0,f.$)(n,s.int(3,50)*f.E).toISOString(),trafficAt:(0,f.$)(n,s.int(1,4)*f.E).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:(0,f.$)(n,s.int(1,4)*f.E).toISOString(),sizeBytes:1048576*s.int(38,140)+s.int(0,1048576),sizeAt:(0,f.$)(n,s.int(4,20)*f.w).toISOString(),lastGoodState:"ok"}},{id:p("neon_project").id,state:"ok"===I.state?"ok":"idle",since:(0,f.$)(n,s.int(20,300)*f.E),at:m(s.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:p("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*A)*0x40000000),periodStart:g.toISOString(),periodEnd:h.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:k,branches:[{id:k[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*s.int(120,380)},{id:`br-${(0,w.g)(12,i,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*s.int(60,160)}],lastGoodState:"ok"===I.state?"ok":"idle"}},{id:p("firestore").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(1),data:{displayName:p("firestore").name,latencyMs:s.int(70,190),reads:s.int(4e3,22e3),writes:s.int(800,6e3),deletes:s.int(20,400),opsAt:(0,f.$)(n,s.int(10,50)*f.E).toISOString(),authUsers:s.int(80,2400),authAt:(0,f.$)(n,s.int(2,20)*f.w).toISOString(),lastGoodState:"ok"}},{id:p("turso_database").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(s.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*A)*1e6),rowsWritten:Math.round((.2+2.2*A)*1e6),storageBytes:1048576*s.int(40,600),orgRowsRead:Math.round((25+160*A)*1e6),orgRowsWritten:Math.round((.3+2.6*A)*1e6),orgStorageBytes:1048576*s.int(700,1400),orgDatabases:3,usageAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),lastGoodState:"ok"}},{id:p("upstash_redis").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(s.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:s.int(2e3,9e3),monthlyRequests:Math.round((20+180*A)*1e3)+s.int(0,999),storageBytes:1048576*s.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*A)*0x40000000),statsAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),lastGoodState:"ok"}},{id:p("d1_database").id,state:"ok",since:(0,f.$)(n,s.int(10,60)*f.h),at:m(s.int(5,50)),data:{accountId:c,createdAt:p("d1_database").createdAt.toISOString(),sizeBytes:1048576*s.int(4,120),numTables:s.int(4,12),readReplication:"disabled",detailsAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),rowsRead:s.int(4e4,9e5),rowsWritten:s.int(1e3,3e4),readQueries:s.int(4e3,6e4),writeQueries:s.int(300,6e3),accountRowsRead:s.int(9e5,18e5),accountRowsWritten:s.int(3e4,55e3),accountSizeBytes:1048576*s.int(200,900),accountDatabases:2,usageDay:n.toISOString().slice(0,10),usageAt:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),lastGoodState:"ok"}}];await a.insert(r.snapshots).values(v.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await a.insert(r.settings).values({key:j.f,value:{[d("cloudflare")]:{d1:"ok",analytics:"ok",at:(0,f.$)(n,s.int(5,50)*f.E).toISOString(),note:null}},createdAt:(0,f.$)(n,30*f.h),updatedAt:n});let $=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],_=t.apps.slice(0,Math.max(4,t.apps.length-1));return await a.insert(r.links).values(_.map((e,t)=>({id:(0,w.T)(i,"link",e.name),fromResourceId:e.id,toResourceId:p($[t]).id,kind:"uses_db",source:"manual",createdAt:(0,f.$)(n,s.int(20,90)*f.h),updatedAt:(0,f.$)(n,s.int(1,19)*f.h)}))),await L(e,p("supabase_project").id),await a.insert(r.keepActive).values({resourceId:p("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:(0,f.$)(n,s.int(2,20)*f.w),updatedAt:(0,f.$)(n,12*f.h)}),{dbs:u.map(({id:e,kind:t,name:a,externalId:i,accountId:n})=>({id:e,kind:t,name:a,externalId:i,accountId:n})),cloudflare:{accountId:d("cloudflare"),cfAccountId:c,label:o.name}}}async function L(e,t){let{db:a,seed:i,now:n}=e,r=(0,w.k)(i,"compute"),s=(0,f.$)(n,r.int(1,4)*f.E),o=Array.from({length:24},(e,a)=>{let i=new Date((0,z.b)(n).getTime()-a*f.w),s=Math.round((6+18*r.next())*10)/10,o=Math.round((34+14*r.next())*10)/10;return{resourceId:t,hour:i,samples:0===a?Math.max(1,Math.floor((n.getTime()-i.getTime())/(5*f.E))):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+r.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*r.next()))/10,diskPct:9.8,connUsed:r.int(8,22),connMax:60}}),d={cpuPct:o[0].cpuAvg,memPct:o[0].memAvg,diskPct:9.8,connUsed:o[0].connUsed,connMax:60,at:s.toISOString(),prev:null,recent:Array.from({length:6},(e,t)=>({at:(0,f.$)(s,(5-t)*5*f.E).toISOString(),cpu:Math.round((6+18*r.next())*10)/10}))};await a.insert(P.A).values({resourceId:t,keyCiphertext:B,keyIv:B,latest:d,lastTryAt:s,lastOkAt:s,createdAt:(0,f.$)(n,21*f.h),updatedAt:s}),await a.insert(P.l).values(o.filter(e=>e.hour.getTime()<=n.getTime()))}var H=e.i(218331),F=e.i(338478);let K=7*f.h;async function V(e,t,a,i,n,s){let{db:o,seed:d,now:l}=e,c=(0,w.k)(d,"events"),m=[],g=(e,t)=>m.push({id:(0,w.T)(d,"event",e),count:1,...t});for(let e of(0,p.f)(await o.execute(u.B`select external_id, resource_id, state, branch, commit_sha, building_at, ready_at, created_at_provider from ops.deployments
|
|
2
|
+
where created_at_provider > ${new Date(l.getTime()-K).toISOString()}::timestamptz`))){let t=`${e.branch??"unknown branch"} \xb7 ${e.commit_sha?e.commit_sha.slice(0,7):"no commit"}`,a=new Date(e.created_at_provider),i=e.building_at?new Date(e.building_at):a;g(`${e.external_id}:start`,{at:i,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&g(`${e.external_id}:ready`,{at:new Date(e.ready_at),resourceId:e.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:t,reason:"DeployReady"}),"error"===e.state&&g(`${e.external_id}:failed`,{at:new Date(i.getTime()+1e3*c.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let A=a.outage,k=a.monitors.find(e=>e.id===A.monitorId),y=(e,t,a,i,n,r,s)=>g(e,{at:t,resourceId:a,type:"monitor",kind:i,message:n,detail:r,reason:s});y("outage:warn",A.startedAt,A.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),y("outage:err",new Date(A.startedAt.getTime()+10*f.E),A.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),y("outage:ok",A.recoveredAt,A.appId,"ok","Monitor recovered",`${k.path} answers again`,"MonitorRecovered"),a.degraded&&y("degraded:warn",a.degraded.since,a.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let I=n.certSoon,v=n.zoneSoon,$=new Date(I.notAfter.getTime()-14*f.h+c.int(5,50)*f.E),_=new Date(v.expiresAt.getTime()-30*f.h+c.int(5,50)*f.E);g("net:cert",{at:$,resourceId:I.id,type:"system",kind:"warn",message:`${I.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),g("net:zone",{at:_,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let S=new Date(l);S.setUTCHours(20,0,0,0),S.getTime()>l.getTime()-5*f.E&&S.setTime(S.getTime()-f.h);for(let e=0;e<7;e++){let t=new Date(S.getTime()-e*f.h+1e3*c.int(20,90));g(`daily:${e}`,{at:t,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let T=(0,F.demoUserId)(d),b=(e,t,a,i,n=null)=>g(`action:${e}`,{at:(0,f.$)(l,t*f.h+c.int(1,10)*f.w+c.int(0,59)*f.E),resourceId:i,type:"action",kind:"ok",message:a,detail:n,actorUserId:T,reason:"Action"}),x=a.monitors.find(e=>"/api/health"===e.path)??a.monitors[0],D=t.apps[0],E=i.dbs.find(e=>"supabase_project"===e.kind);b("monitor-added",6,`Monitor added: ${(0,h.F)(x.url)}`,x.appId),b("db-link",5,`Database link: ${D.name} → ${E.name}`,D.id),b("keep-active",5,`Keep active on: ${E.name}`,E.id),b("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),b("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(0,H.D)()}, 30 min`),b("check-now",1,`Check now: ${(0,h.F)(k.url)}`,k.appId);let M=s.resolved.credential;g("action:credential",{at:new Date(M.resolvedAt.getTime()-c.int(2,9)*f.E),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${M.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:T,reason:"Action"}),g("action:auto-recheck",{at:new Date(A.startedAt.getTime()+11*f.E+3e3),resourceId:k.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${(0,h.F)(k.url)}`,detail:null,actorUserId:null,reason:"Action"}),await o.insert(r.events).values(m.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let G="76.76.21.21";async function W(e,t,a){let{db:i,seed:n,now:s}=e,o=(0,w.k)(n,"network"),d=e=>(0,f.$)(s,o.int(10,60*e)*f.E).toISOString(),l=a.cloudflare,c=o.shuffle(E).slice(0,2).map((e,t)=>({id:(0,w.T)(n,"zone",e),name:v(e),expiresAt:new Date(1===t?s.getTime()+o.int(12,24)*f.h+o.int(1,20)*f.w:s.getTime()+o.int(200,600)*f.h)})),u=e=>e.split("-").slice(1).join("-")||e,p=t.apps,m=[{name:c[0].name,app:p[0]},...[0,1,2].map(e=>({name:`${u(p[e].name)}.${c[0].name}`,app:p[e]})),...[3,4].map(e=>({name:`${u(p[e%p.length].name)}.${c[1].name}`,app:p[e%p.length]}))],h=o.int(1,3),A=m.map((e,t)=>({id:(0,w.T)(n,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===h?s.getTime()+o.int(4,9)*f.h+o.int(1,20)*f.w:s.getTime()+o.int(30,85)*f.h)})),k=(e,t,a,i,r,s=null)=>({id:(0,w.p)(32,n,"dns",e,t,a),type:t,name:a,content:i,proxied:r,ttl:r?1:300,comment:s}),y=c.map(e=>{let t=[...A.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>k(e.name,"A",t.name,G,!1,"Vercel")),k(e.name,"MX",e.name,v("mx1.mail"),!1),k(e.name,"TXT",e.name,`v=spf1 include:_spf.${v("mail")} ~all`,!1),k(e.name,"A",`legacy.${e.name}`,`192.0.2.${o.int(10,200)}`,!0,"Old server, kept for redirects")],a={expiresAt:e.expiresAt.toISOString(),registrar:"Example Registrar, Inc.",error:null,checkedAt:d(20)},i={status:"active",paused:!1,nameServers:[v("ada.ns"),v("bob.ns")],accountId:l.cfAccountId,checkedAt:d(1)},n=(0,g.G)({status:i.status,paused:i.paused,rdap:a},s),r={zone:i,ssl:{mode:"strict",error:null},records:t,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[e.name,`*.${e.name}`],expiresOn:new Date(s.getTime()+o.int(40,80)*f.h).toISOString()}],rdap:a,reasons:n.reasons};return{z:e,records:t,rdap:a,state:n.state,data:r}}),I=(0,f.$)(s,o.int(150,380)*f.h),$=(0,f.$)(s,o.int(5,50)*f.E);await i.insert(r.resources).values(c.map(e=>({id:e.id,accountId:l.accountId,kind:"zone",externalId:(0,w.p)(32,n,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:l.cfAccountId,accountName:l.label},firstSeenAt:I,lastSeenAt:$,createdAt:I,updatedAt:$}))),await i.insert(r.resources).values(A.map(e=>{let a=p.find(t=>t.id===e.appId);return{id:e.id,accountId:t.accountId,kind:"domain",externalId:e.name,name:e.name,parentId:e.appId,monitored:!0,meta:{redirect:null,verified:!0,projectId:a.externalId},firstSeenAt:I,lastSeenAt:$,createdAt:I,updatedAt:$}}));let _=["Let's Encrypt","Google Trust Services"];await i.insert(r.snapshots).values([...y.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?I:new Date(e.z.expiresAt.getTime()-30*f.h),data:e.data,collectedAt:$})),...A.map(e=>{let t=y.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),a={notAfter:e.notAfter.toISOString(),issuer:o.pick(_),authorized:!0,error:null,checkedAt:d(19)},i={misconfigured:!1,configuredBy:"A",recommendedIps:[G],checkedAt:d(6)},n=(0,g.k)({host:e.name,tls:a,vercel:i,records:(0,g.Q)(e.name,t.records),zoneRdap:t.rdap},s),r="ok"===n.state?I:new Date(Math.min(e.notAfter.getTime()-14*f.h,t.z.expiresAt.getTime()-30*f.h));return{resourceId:e.id,state:n.state,stateSince:r,data:{tls:a,vercel:i,reasons:n.reasons},collectedAt:$}})]);let S=y[0].records.find(e=>"A"===e.type&&e.name===c[0].name&&e.content===G);return{zones:c,domains:A,certSoon:A[h],zoneSoon:c[1],vercelRecord:{id:S.id,name:S.name,zoneId:c[0].id}}}let Y=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function q(e,t){let{db:a,seed:i,now:n}=e,s=(0,w.k)(i,"logs"),o=(0,p.f)(await a.execute(u.B`select resource_id, external_id from ops.deployments where is_current`)),d=s.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:s.int(4,8)},(a,r)=>{let d=s.pick(M);return{id:(0,w.T)(i,"log",e.name,r),resourceId:e.id,deploymentId:o.find(t=>t.resource_id===e.id)?.external_id??`dpl_${(0,w.g)(24,i,"log-dpl",t)}`,rowId:`${(0,w.g)(10,i,"log-row",e.name,r).toLowerCase()}-${r}`,at:(0,f.$)(n,s.int(3,2760)*f.E+1e3*s.int(0,59)),level:d.level,message:d.message,requestMethod:d.method,requestPath:d.path,statusCode:d.status,source:"serverless"}}));await a.insert(r.storedLogs).values(d)}async function Q(e){let{db:t,seed:a,now:i}=e,n=(0,w.k)(a,"provider-status"),s=(0,f.$)(i,n.int(1,4)*f.E);await t.insert(r.providerStatus).values(Y.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:s,lastOkAt:s,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:(0,f.$)(i,n.int(1,3)*f.w).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:s,lastOkAt:s,error:null}))}async function X(e){let{db:t,seed:a,now:i}=e,n=(0,w.k)(a,"ai-usage"),r=(0,w.T)(a,"ai-agent","console"),s=n.int(70,140),o=[],d=[],l=[],c=[],p=[],m=[];for(let e=0;e<s;e++){o.push(i.getTime()-n.int(2,10080)*f.E);let e=n.chance(.04);p.push(e?429:200),d.push(e?0:n.int(600,4200)),l.push(e?0:n.int(80,700)),c.push(e?n.int(80,300):n.int(700,4800)),m.push(n.int(1,2))}let g=e=>e.reduce((e,t)=>e+t,0),h=new Date(Math.max(...o));await t.execute(u.B`
|
|
3
3
|
insert into ops.ai_agents (id, key_id, client_name, client_version, via, user_agent, first_seen_at, last_seen_at, requests, tokens_in, tokens_out, recent)
|
|
4
4
|
values (${r}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${(0,f.$)(i,720*f.w).toISOString()}::timestamptz,
|
|
5
|
-
${h.toISOString()}::timestamptz, ${s}, ${g(d)}, ${g(l)}, ${
|
|
5
|
+
${h.toISOString()}::timestamptz, ${s}, ${g(d)}, ${g(l)}, ${J(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await t.execute(u.B`
|
|
6
6
|
insert into ops.ai_usage (at, key_id, agent_id, provider_id, model, kind, tool, tokens_in, tokens_out, latency_ms, status, error_class, stream)
|
|
7
7
|
select to_timestamp(t.at / 1000.0), null, ${r}::uuid, null, (array['gemini/gemini-2.5-flash', 'workers-ai/gemma-3-12b-it'])[t.m], 'console', null,
|
|
8
8
|
case when t.s = 429 then null else t.ti end, case when t.s = 429 then null else t.tout end, t.l, t.s,
|
|
9
9
|
case when t.s = 429 then 'rate_limited · upstream_429' else null end, false
|
|
10
10
|
from unnest(${(0,f._)(o)}::bigint[], ${(0,f._)(m)}::int[], ${(0,f._)(d)}::int[], ${(0,f._)(l)}::int[], ${(0,f._)(c)}::int[],
|
|
11
11
|
${(0,f._)(p)}::int[]) as t(at, m, ti, tout, l, s)
|
|
12
|
-
order by t.at`)}let
|
|
12
|
+
order by t.at`)}let J=e=>`{${e.join(",")}}`,Z=2*f.w;async function ee(e,t,a,i){let{db:n,seed:r,now:s}=e,o=(0,w.k)(r,"proposals"),d=e=>(0,w.T)(r,"proposal",e),l=a.certSoon,c=t.failedDeploy,p=i.monitors.find(e=>e.id===i.outage.monitorId),m=new Date(i.outage.startedAt.getTime()+11*f.E),g=t.resolved.oldDeploy,A=new Date(g.startedAt.getTime()+o.int(2,6)*f.E),k=new Date(A.getTime()+o.int(3,15)*f.E),y=(0,f.$)(s,o.int(20,55)*f.E),I=(0,f.$)(s,o.int(8,19)*f.E);for(let e of[{id:d("pending-safe"),alertId:t.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${l.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:l.id,resourceName:l.name,targetRef:l.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:y,decidedAt:null,expiresAt:new Date(y.getTime()+Z),claimedAt:null,finishedAt:null},{id:d("pending-risky"),alertId:t.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${c.appName}`,reason:`Production deployment ${c.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:c.appId,resourceName:c.appName,targetRef:c.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:I,decidedAt:null,expiresAt:new Date(I.getTime()+Z),claimedAt:null,finishedAt:null},{id:d("done-auto"),alertId:t.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${(0,h.F)(p.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:p.appId,resourceName:(0,h.F)(p.url),targetRef:p.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:m,decidedAt:m,expiresAt:new Date(m.getTime()+Z),claimedAt:new Date(m.getTime()+2e3),finishedAt:new Date(m.getTime()+2e3+o.int(300,1500))},{id:d("rejected"),alertId:g.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${g.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:g.appId,resourceName:g.appName,targetRef:g.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:(0,F.memberRowId)(r),createdAt:A,decidedAt:k,expiresAt:new Date(A.getTime()+Z),claimedAt:null,finishedAt:null}]){let t=e=>e?e.toISOString():null;await n.execute(u.B`
|
|
13
13
|
insert into ops.action_proposals (id, alert_id, rule_key, room, action, risk, title, reason, resource_kind, resource_id, resource_name, target_ref,
|
|
14
14
|
proposed_by, status, auto, result, decided_by, created_at, decided_at, expires_at, claimed_at, finished_at)
|
|
15
15
|
values (${e.id}::uuid, ${e.alertId}::uuid, ${e.ruleKey}, ${e.room}, ${e.action}, ${e.risk}, ${e.title}, ${e.reason}, ${e.resourceKind},
|
|
16
16
|
${e.resourceId}::uuid, ${e.resourceName}, ${e.targetRef}, ${e.proposedBy}, ${e.status}, ${e.auto}, ${e.result}, ${e.decidedBy}::uuid,
|
|
17
|
-
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var
|
|
17
|
+
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}var et=e.i(938739),ea=e.i(273083);let ei=5*f.E,en=f.h/ei,er=ea.f.checks*en,es=ea.f.rollupsHourly*en,eo="No answer within 5 s";async function ed(e,t){var a;let i,{db:n,seed:s,now:o}=e,d=(0,w.k)(s,"monitors"),l=[];for(let e of t.apps)for(let[t,a]of(d.chance(.6)?["/","/api/health"]:["/"]).entries())l.push({id:(0,w.T)(s,"monitor",e.name,a),appId:e.id,index:l.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*d.int(1,3)*f.h+d.int(2,50)*f.E)});let c=Math.floor((o.getTime()-1e4)/ei)*ei,u=(e,t)=>c-t*ei+2e3+300*e.index,p=l.map(e=>(function(e,t){let a=(0,w.k)(e,"checks",t.id),i={ok:new Uint8Array(es),status:new Int16Array(es),latency:new Int32Array(es)},n=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<es;e++){let t=Math.round(n*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);el(i,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else el(i,e,{ok:!0,status:200,latency:t})}return i})(s,e)),m=(0,w.k)(s,"outage"),g=l.filter(e=>"/"===e.path),h=m.pick(g),A=m.int(96,240),k=m.int(4,7),y=p[h.index];for(let e=A-3;e<A+k+3;e++)el(y,e,{ok:!0,status:200,latency:y.latency[e]>0?y.latency[e]:180});for(let e=A;e<A+k;e++)el(y,e,{ok:!1,status:e===A+k-1?502:503,latency:m.int(30,140)});let v={monitorId:h.id,appId:h.appId,startedAt:new Date(u(h,A+k-1)),endedAt:new Date(u(h,A)),recoveredAt:new Date(u(h,A-1)),failedChecks:k},$=l.filter(e=>e.appId!==h.appId),_=$.length?m.pick($):null;_&&el(p[_.index],0,{ok:!1,status:0,latency:-1});let S=(0,w.k)(s,"slow-windows"),T=l.filter(e=>e.id!==h.id),b=(e,t,a,i)=>{let n=p[e.index],r=t*en+S.int(12,144),s=S.int(a,i),o=[];for(let e=r;e>r-s;e--){let t=S.int(1600,2900);el(n,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let d=r-s;return(!n.ok[d]||n.latency[d]>=1500)&&el(n,d,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(u(e,r-1)),resolvedAt:new Date(u(e,d)),p95:(0,et.z)(o).p95Ms}},x=T[0]??h,D=T[T.length-1]??h,E=[b(x,2,4,8),b(D,5,3,6)],M=l.map(e=>(function(e,t,a){let i="unknown",n=0,r=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=(0,I.G)(n,{ok:1===t.ok[e],statusCode:ec(t,e),latencyMs:eu(t,e),error:ep(t,e)});s.state!==i&&(r=a(e)),i=s.state,n=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:i,stateSince:r,failStreak:n,lastCheckedAt:a(0),lastStatus:ec(t,0),lastLatencyMs:eu(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(u(e,t))));await n.insert(r.monitors).values(M.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:ei/1e3,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:ep(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let O=((i=new Date(a=o)).setUTCHours(20,0,0,0),i.getTime()>a.getTime()-5*f.E&&i.setTime(i.getTime()-f.h),i.getTime());for(let t of l)await em(e,t,p[t.index],new Date(u(t,0))),await eg(e,t,p[t.index],e=>u(t,e),O);return await eh(e,l.length),{monitors:M,outage:v,degraded:_?{monitorId:_.id,appId:_.appId,since:new Date(u(_,0))}:null,slow:E}}function el(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let ec=(e,t)=>0===e.status[t]?null:e.status[t],eu=(e,t)=>e.latency[t]<0?null:e.latency[t],ep=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:eo;async function em(e,t,a,i){let n=Array.from({length:er},(e,t)=>t);await e.db.execute(u.B`
|
|
18
18
|
insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
|
|
19
19
|
select md5(${`${e.seed}:${t.id}:`} || t.k)::uuid, ${t.id}::uuid, ${i.toISOString()}::timestamptz - t.k * interval '5 minutes',
|
|
20
|
-
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${
|
|
21
|
-
from unnest(${(0,f._)(n)}::int[], ${(0,f._)(n.map(e=>1===a.ok[e]))}::bool[], ${(0,f._)(n.map(e=>
|
|
22
|
-
${(0,f._)(n.map(e=>
|
|
20
|
+
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${eo} else 'HTTP ' || t.s end, false
|
|
21
|
+
from unnest(${(0,f._)(n)}::int[], ${(0,f._)(n.map(e=>1===a.ok[e]))}::bool[], ${(0,f._)(n.map(e=>ec(a,e)))}::int[],
|
|
22
|
+
${(0,f._)(n.map(e=>eu(a,e)))}::int[]) as t(k, ok, s, l)`)}async function eg(e,t,a,i,n){let r=Math.ceil(i(a.ok.length-1)/f.w)*f.w,s=[],o=[],d=[],l=[],c=[],p=[],m=[],g=-1,h=[],w=()=>{if(g<0||!h.length)return;let e=(0,et.z)(h);s.push(g/1e3),o.push(e.checks),d.push(e.failures),l.push(e.p50Ms),c.push(e.p95Ms),p.push(e.maxMs),m.push(e.status5xx)};for(let e=0;e<a.ok.length;e++){let t=Math.floor(i(e)/f.w)*f.w;if(!(t>=n)){if(t<r)break;t!==g&&(w(),g=t,h=[]),h.push({ok:1===a.ok[e],statusCode:ec(a,e),latencyMs:eu(a,e)})}}w(),s.length&&await e.db.execute(u.B`
|
|
23
23
|
insert into ops.rollups_hourly (monitor_id, hour, checks, failures, p50_ms, p95_ms, max_ms, status_5xx, maintenance)
|
|
24
24
|
select ${t.id}::uuid, to_timestamp(t.h), t.c, t.f, t.p50, t.p95, t.mx, t.s5, 0
|
|
25
25
|
from unnest(${(0,f._)(s)}::bigint[], ${(0,f._)(o)}::int[], ${(0,f._)(d)}::int[], ${(0,f._)(l)}::int[],
|
|
26
|
-
${(0,f._)(c)}::int[], ${(0,f._)(p)}::int[], ${(0,f._)(m)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function
|
|
26
|
+
${(0,f._)(c)}::int[], ${(0,f._)(p)}::int[], ${(0,f._)(m)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function eh(e,t){let{seed:a,now:i}=e,n=(0,w.k)(a,"collector-runs"),s=Math.floor((i.getTime()-1e4)/f.E)*f.E;await e.db.insert(r.collectorRuns).values(Array.from({length:60},(e,i)=>{let r=s-i*f.E,o=r%ei==0,d=(o?2e3+300*t:600)+n.int(200,1400);return{id:(0,w.T)(a,"collector-run",i),startedAt:new Date(r+1e3),finishedAt:new Date(r+1e3+d),trigger:"manual",tasks:o?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:d,checks:o?t:0}}))}async function ef(e,t,a,i){await e.transaction(async e=>{let n={db:e,seed:t,now:a,email:i};await (0,F.seedMember)(n);let r=await O(n),s=await ed(n,r);await C(n,r,s.monitors);let o=await N(n,r),d=await W(n,r,o),l=await k(n,r,s,o,d);await ee(n,l,d,s),await V(n,r,s,o,d,l),await q(n,r),await Q(n),await X(n)})}var ew=e.i(840263),eA=e.i(563247);let ek=0,ey=()=>Date.now()+ek;function eI(e=process.env){let t=Number(((0,s.d)(e,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(t)&&t>=1?t:3}let ev=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function e$(){let e=[...ev.waiters];for(let t of(ev.waiters.clear(),e))t()}function e_(e){!e.evicted||e.leases>0||e.closing||(e.closing=e.pglite.then(e=>e.close()).catch(()=>void 0).finally(()=>{ev.live.delete(e),e$()}))}function eS(e){ev.entries.get(e.seed)===e&&ev.entries.delete(e.seed),e.evicted=!0,0===ev.entries.size&&ev.sweeper&&(clearInterval(ev.sweeper),ev.sweeper=void 0),e_(e),e$()}let eT=e=>e.created&&0===e.leases&&!e.evicted,eb=(e,t)=>eT(e)&&t-e.lastUsed>=6e4;function ex(e=ey()){for(let t of[...ev.entries.values()])eT(t)&&e-t.lastUsed>12e5&&eS(t)}async function eD(e){let t=ey()+5e3;for(;;){if(e.evicted)throw Error("The demo database was closed. Reload the page.");if(ev.live.size<eI())return void ev.live.add(e);let a=ey(),i=[...ev.entries.values()].find(e=>eb(e,a));if(i){eS(i),await i.closing;continue}let n=t-a;if(n<=0)throw c(o);await function(e){return new Promise(t=>{let a=setTimeout(i,e);function i(){clearTimeout(a),ev.waiters.delete(i),t()}ev.waiters.add(i)})}(Math.min(n,function(e){let t=1/0;for(let a of ev.entries.values())eT(a)&&(t=Math.min(t,a.lastUsed+6e4-e));return Math.max(0,t)}(a)+1))}}async function eE(){ev.creating<2?ev.creating++:await new Promise(e=>ev.creationQueue.push(e))}async function eM(e,s){if(!eA.k.take(await (0,ew.R)(),e.seed))throw c(d);await eD(e);try{let o=s??await (0,ew._)();await eE();try{let s=await t.f.create();try{let t=(0,a.f)({client:s,schema:r});await (0,i.f)(t,{migrationsFolder:(0,n.selfhostMigrationsFolder)()}),await ef(t,e.seed,new Date,o)}catch(e){throw await s.close().catch(()=>void 0),e}return e.created=!0,s}finally{let e;(e=ev.creationQueue.shift())?e():ev.creating--}}catch(t){throw ev.live.delete(e),t}finally{e$()}}function eO(e,t){if(!e)throw Error("Demo seed missing");ex();let a=ev.entries.get(e);if(a)ev.entries.delete(e);else{let i={seed:e,created:!1,lastUsed:0,leases:0,evicted:!1};i.pglite=eM(i,t),i.pglite.catch(()=>{ev.entries.get(e)===i&&ev.entries.delete(e)}),a=i}return a.lastUsed=ey(),ev.entries.set(e,a),ev.sweeper||(ev.sweeper=setInterval(()=>ex(),6e4),ev.sweeper.unref?.()),a}async function eC(e,t,a){let i=eO(e,a);i.leases++;try{return await t(await i.pglite)}finally{i.leases--,i.lastUsed=ey(),e_(i),e$()}}async function eP(){for(let e of[...ev.entries.values()])eS(e);await Promise.all([...ev.live].map(e=>e.closing))}e.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",0,o,"DEMO_TOO_MANY",0,d,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,eP,"demoDbFor",0,function(e,t){return eO(e,t).pglite},"demoPoolMax",0,eI,"setDemoPoolClockOffsetForTests",0,function(e){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");ek=e,e$()},"sweepIdleDemoDbs",0,ex,"withDemoDb",0,eC],272923)}];
|
|
27
27
|
|
|
28
28
|
//# sourceMappingURL=src_lib_demo_pool_ts_14rjvkgozh1d4._.js.map
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
module.exports=[218550,e=>{"use strict";var t=e.i(126803),a=e.i(789922),n=e.i(239145),r=e.i(842102),i=e.i(725561),s=e.i(641726);let o="The demo is busy right now. Try again in a minute.",l="Too many new demo sessions from your network. Try again in a few minutes.",d=new Map([...new Map([["watchbell-demo-busy",o],["watchbell-demo-too-many",l]])].map(([e,t])=>[t,e]));function u(e){return Object.assign(Error(e),{digest:d.get(e)})}var c=e.i(382108);function p(e){if(Array.isArray(e))return e;let t=e?.rows;return Array.isArray(t)?t:[]}let m=e=>(e??0).toLocaleString("en-US"),g={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${m(e)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:e=>`No collector run for ${m(e)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:e=>`p95 > ${m(e)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"Production deployment state = ERROR"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase status = INACTIVE"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:e=>`TLS certificate expires in < ${m(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${m(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${m(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${m(e)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:e=>`Daily reads > ${m(e)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase project without API traffic for ${m(e)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase CPU > ${m(e)}% for 15 min, RAM > ${m(Math.min(99,(e??80)+10))}%, disk > ${m(e)}% or connections > ${m(e)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Turso, Upstash or D1 usage > ${m(e)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:e=>`Account credential expires in < ${m(e)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a high or critical advisory (OSV.dev)"}};function h(e){if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if("string"!=typeof e||!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function f(e,t){return e?Math.floor((e.getTime()-t.getTime())/864e5):null}Object.keys(g);let y=e=>e.toLowerCase().replace(/\.$/,""),w=["76.76.21.21"],A=/(^|\.)vercel-dns(-\d+)?\.com$/,b=e=>e.includes("err")?"err":e.includes("warn")?"warn":"ok",k=e=>`${e} day${1===e?"":"s"}`;function v(e,t,a,n){let r=f(t,n);return null===r?null:r<0?{state:"err",reason:`${e} expired ${k(-r)} ago`}:r<a?{state:"warn",reason:`${e} expires in ${k(r)}`}:null}function I(e){try{let t=new URL(e);return`${t.host}${t.pathname}`}catch{return e}}let S=(e,t)=>new Date(e.getTime()-t),_=e=>`{${e.map(e=>null===e?"NULL":"boolean"==typeof e?e?"t":"f":String(e)).join(",")}}`;var x=e.i(666680);let $=(...e)=>(0,x.createHash)("sha256").update(e.join("\0")).digest();function T(e,...t){let a,n=(a=$(e,...t).readUInt32LE(0)>>>0,()=>{let e=a=a+0x6d2b79f5>>>0;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000});return{next:n,int:(e,t)=>e+Math.floor(n()*(t-e+1)),pick:e=>e[Math.floor(n()*e.length)],chance:e=>n()<e,shuffle:e=>{let t=[...e];for(let e=t.length-1;e>0;e--){let a=Math.floor(n()*(e+1));[t[e],t[a]]=[t[a],t[e]]}return t}}}function D(e,...t){let a=$(e,"id",...t);a[6]=15&a[6]|64,a[8]=63&a[8]|128;let n=a.subarray(0,16).toString("hex");return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}function M(e,t,...a){let n="";for(let r=0;n.length<e;r++)for(let e of $(t,"token",r,...a))n+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[e%62];return n.slice(0,e)}function z(e,t,...a){let n="";for(let r=0;n.length<e;r++)n+=$(t,"hex",r,...a).toString("hex");return n.slice(0,e)}let C=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function E(e,t,a,n,r){let s,o,l,d,u,m,h,{db:y,seed:w,now:A}=e,b=T(w,"alerts"),k=(...e)=>D(w,"alert",...e),v=e=>t.apps.find(t=>t.id===e)?.name??"app",_=p(await y.execute(c.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=_.find(e=>"error"===e.state&&"production"===e.target),$={appId:x.resource_id,appName:v(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:_.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},M=(e,t,a)=>{let n=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:g[e].severity,resourceId:null,accountId:null,okStreak:2*!!n,lastSeenAt:n??S(A,1e3*b.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==g[e].severity,lastNotifiedAt:n??new Date(a.startedAt.getTime()+6e4),pending:null,pendingSince:null,...a}},E=r.certSoon,O=f(E.notAfter,A)??0,R=r.zoneSoon,j=f(R.expiresAt,A)??0,P=[M("DeploymentFailed",$.appId,{id:k("firing","deploy"),resourceId:$.appId,title:$.appName,message:`Production deployment ${$.sha} failed.`,startedAt:new Date($.createdAt.getTime()+1e3*b.int(60,150))}),M("CertExpiringSoon",E.id,{id:k("firing","cert"),resourceId:E.id,title:E.name,message:`The TLS certificate of ${E.name} expires in ${C(O,"day")}.`,startedAt:new Date(E.notAfter.getTime()-12096e5+6e4*b.int(5,55))}),M("DomainExpiringSoon",R.id,{id:k("firing","zone"),resourceId:R.id,title:R.name,message:`${R.name} expires in ${C(j,"day")}.`,startedAt:new Date(R.expiresAt.getTime()-2592e6+6e4*b.int(5,55))})],N=a.outage,B=a.monitors.find(e=>e.id===N.monitorId),U=t.apps.find(e=>e.id!==$.appId)??t.apps[0],L=e=>n.dbs.find(t=>t.kind===e),H=(e,t)=>S(A,864e5*e+36e5*t+6e4*b.int(0,50)),F=(e,t)=>new Date(e.getTime()+6e4*t),V=(e,t)=>{let n=a.monitors.find(e=>e.id===t.monitorId);return M("HighLatency",n.id,{id:k("resolved",e),resourceId:n.appId,title:`${v(n.appId)} ${n.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},W={start:H(4,b.int(1,9)),sha:z(7,w,"old-failed",U.name)},G=L("upstash_redis"),K=L("firestore"),q=L("supabase_project"),Q=n.cloudflare.label,Y={outage:M("MonitorDown",B.id,{id:k("resolved","outage"),resourceId:B.appId,title:`${v(B.appId)} ${B.path}`,message:`${I(B.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(N.startedAt.getTime()+6e5),resolvedAt:N.recoveredAt}),latencyA:V("latency-a",a.slow[0]),latencyB:V("latency-b",a.slow[1]),oldDeploy:M("DeploymentFailed",U.id,{id:k("resolved","old-deploy"),resourceId:U.id,title:U.name,message:`Production deployment ${W.sha} failed.`,startedAt:W.start,resolvedAt:F(W.start,b.int(35,70))}),collector:(s=H(6,b.int(1,10)),M("CollectorStale","collector",{id:k("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:s,resolvedAt:F(s,b.int(4,9))})),autoPause:(o=H(6,b.int(12,20)),M("AutoPauseRisk",q.id,{id:k("resolved","auto-pause"),resourceId:q.id,title:q.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:o,resolvedAt:F(o,60*b.int(20,30))})),quota:(l=H(6,b.int(1,8)),M("DbQuotaHigh",G.id,{id:k("resolved","db-quota"),resourceId:G.id,title:G.name,message:`${G.name}: Commands at ${b.int(81,88)}% of the free plan.`,startedAt:l,resolvedAt:F(l,60*b.int(3,6))})),firestore:(d=H(3,b.int(1,6)),M("FirestoreQuotaHigh",K.id,{id:k("resolved","firestore"),resourceId:K.id,title:K.name,message:`${K.name} read ${b.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${b.int(81,92)}%).`,startedAt:d,resolvedAt:F(d,60*b.int(2,5))})),proxied:(u=H(5,b.int(12,20)),M("DnsProxiedToVercel",(m=r.vercelRecord).id,{id:k("resolved","proxied"),resourceId:m.zoneId,title:m.name,message:`${m.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:u,resolvedAt:F(u,24*b.int(2,4)*60)})),credential:(h=H(6,b.int(14,22)),M("CredentialExpiring",n.cloudflare.accountId,{id:k("resolved","credential"),accountId:n.cloudflare.accountId,title:`cloudflare \xb7 ${Q}`,message:`The cloudflare credential ${Q} expires in 9 days.`,startedAt:h,resolvedAt:F(h,24*b.int(1,2)*60+b.int(10,300))}))};return await y.insert(i.alerts).values([...P,...Object.values(Y)]),{firing:{deploy:P[0].id,cert:P[1].id,zone:P[2].id},resolved:{outage:Y.outage.id,oldDeploy:{id:Y.oldDeploy.id,appId:U.id,appName:U.name,previousExternalId:_.find(e=>e.resource_id===U.id&&e.is_previous_production)?.external_id??null,startedAt:Y.oldDeploy.startedAt,resolvedAt:Y.oldDeploy.resolvedAt},credential:{title:Y.credential.title,resolvedAt:Y.credential.resolvedAt}},failedDeploy:$}}let O=e=>`${e}.example`,R=["acme-shop","orbit-blog","nimbus-docs","pixel-forge","harbor-api","lumen-portal","quartz-admin","tidal-landing","ember-status","cobalt-store","willow-wiki","atlas-dash","sprout-crm","comet-links","fable-notes","maple-events"],j=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],P=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],N=["sin1","iad1","fra1","hnd1","sfo1"],B=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],U=["Fix cart total rounding","Add dark mode toggle","Update dependencies","Speed up the product grid","Fix login redirect loop","Add sitemap","Tidy the footer links","Cache the pricing page","Add newsletter signup","Fix image sizes on mobile","Bump Next.js","Add search to the docs","Handle empty states","Retry failed webhooks","Move env checks to startup","Shorten the onboarding copy","Add health endpoint","Fix timezone in the event list","Split the dashboard bundle","Add RSS feed"],L={supabase_project:["shop-prod","portal-main","crm-core","store-db"],neon_project:["analytics","reporting","billing-ledger","metrics-pg"],firestore:["notes-app","mobile-sync","feedback-inbox","event-chat"],turso_database:["edge-cache","geo-lookup","docs-search","flags"],upstash_redis:["sessions","rate-limits","queue-cache","page-cache"],d1_database:["events-log","link-clicks","form-entries","audit-trail"]},H=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],F=[{level:"error",method:"POST",path:"/api/checkout",status:500,message:"TypeError: Cannot read properties of undefined (reading 'price')"},{level:"warning",method:"GET",path:"/products",status:200,message:"Slow query: products list took 1840 ms"},{level:"error",method:"GET",path:"/api/search",status:504,message:"Task timed out after 10.02 seconds"},{level:"warning",method:"GET",path:"/",status:200,message:"Image optimization fell back to the original file (unsupported format)"},{level:"error",method:"POST",path:"/api/webhooks/payments",status:401,message:"Webhook signature didn't match"},{level:"fatal",method:"GET",path:"/api/report",status:500,message:"Error: connect ECONNREFUSED (database connection pool exhausted)"},{level:"warning",method:"GET",path:"/blog/[slug]",status:404,message:'Post not found for slug "spring-sale-2025"'},{level:"error",method:"PUT",path:"/api/profile",status:422,message:"ZodError: email must be a valid email"}];async function V(e){let{db:t,seed:a,now:n}=e,r=T(a,"apps"),s=r.pick(j),o={id:`team_${M(24,a,"team")}`,name:s.name,slug:s.slug},l=D(a,"account","vercel"),d=S(n,864e5*r.int(120,300)),u=S(n,6e4*r.int(3,50));await t.insert(i.accounts).values({id:l,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:u,lastSyncAt:u,createdAt:d,updatedAt:u});let c=r.shuffle(R).slice(0,r.int(5,8)).sort().map((e,t)=>({id:D(a,"app",e),index:t,name:e,externalId:`prj_${M(28,a,"project",e)}`,host:O(e),createdAt:S(n,864e5*r.int(95,400)-36e5*r.int(0,23))}));return await t.insert(i.resources).values(c.map(e=>({id:e.id,accountId:l,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:u,createdAt:e.createdAt,updatedAt:u,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:r.pick(P),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[r.pick(N)]}}))),await t.insert(i.deployments).values(function(e,t){let{seed:a,now:n}=e,r=T(a,"deployments"),i=r.pick(t).id,s=r.pick(t).id,o=[];for(let e of t){let t=(t,i,s,l,d)=>{let u=S(n,s),c=new Date(u.getTime()+1e3*r.int(3,12)),p="ready"===l?new Date(c.getTime()+1e3*r.int(25,160)):null,m="production"===i?"main":r.pick(B);o.push({id:D(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${M(24,a,"deployment",e.name,t)}`,state:l,target:i,branch:m,commitSha:z(40,a,"commit",e.name,t),commitMessage:d??r.pick(U),source:"git",url:O(`${e.name}-git-${m.replace(/[^a-z0-9]+/g,"-")}-${M(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:c,readyAt:p,createdAtProvider:u,isCurrent:!1,isPreviousProduction:!1,createdAt:u,updatedAt:p??c})},l=e.id===i,d=r.int(2,5);for(let e=0;e<d;e++){let a=0===e?Math.max(18e6*!!l,36e5*r.int(1,96)-6e4*r.int(0,40)):864e5*r.int(4+4*e,6+6*e)+36e5*r.int(0,23);t(e,"production",a,"ready")}let u=r.int(0,3);for(let e=0;e<u;e++)t(10+e,"preview",36e5*r.int(2,240)+6e4*r.int(0,59),"ready");l&&t(20,"production",6e4*r.int(30,240),"error","Refactor the checkout form"),e.id===s&&t(21,"preview",6e4*r.int(1,6),"building")}for(let e of t){let{currentId:t,previousId:a}=function(e){let t=[...new Map(e.map(e=>[e.id,e])).values()].sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime()),a=t[0]?.id??null,n=t.findIndex(e=>e.id===a);return{currentId:a,previousId:n>=0?t[n+1]?.id??null:null}}(o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})));for(let n of o)n.resourceId===e.id&&(n.isCurrent=n.externalId===t,n.isPreviousProduction=n.externalId===a)}return o}(e,c)),{accountId:l,team:o,apps:c}}async function W(e,t,a){let{db:n,seed:r,now:s}=e,o=T(r,"snapshots"),l=S(s,1e3*o.int(5,40));await n.insert(i.snapshots).values(t.apps.map(e=>{var t,n;let r,i,d,u,c,p=a.filter(t=>t.appId===e.id),m=(t={monitors:p.map(e=>e.state),building:!1,dbPaused:!1}).monitors.includes("err")?"err":t.building?"build":t.monitors.includes("warn")||t.dbPaused?"warn":t.monitors.length?"ok":"unknown",g=p.find(e=>"err"===e.state)??p.find(e=>"warn"===e.state),h=g?.stateSince??new Date(Math.max(...p.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:m,stateSince:h,collectedAt:l,data:{code:g?.lastStatus??null,latencyMs:p[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(i=36e5*Math.floor((r=S(s,6e4*(n=o).int(2,25))).getTime()/36e5),d=n.int(20,400),{enabled:!0,total24h:c=(u=Array.from({length:24},(e,t)=>{let a=i-(23-t)*36e5,r=.15+.85*Math.max(0,Math.sin(((new Date(a).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(a).toISOString(),Math.round(d*r*(.7+.6*n.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(c*(.3+.2*n.next())),hourly:u,readAt:r.toISOString()})}}}))}var G=e.i(457642),K=e.i(405631),q=e.i(502564),Q=e.i(975642),Y=e.i(34653),X=e.i(63177),Z=e.i(487280),J=e.i(557367);let ee=i.ops.table("supabase_metrics_keys",{resourceId:(0,J.q)("resource_id").primaryKey().references(()=>i.resources.id,{onDelete:"cascade"}),keyCiphertext:(0,X.f)("key_ciphertext").notNull(),keyIv:(0,X.f)("key_iv").notNull(),keyVersion:(0,K.f)("key_version").notNull().default(1),addedBy:(0,J.q)("added_by"),latest:(0,q.y)("latest").$type(),lastTryAt:(0,Z._)("last_try_at",{withTimezone:!0}),lastOkAt:(0,Z._)("last_ok_at",{withTimezone:!0}),lastError:(0,X.f)("last_error"),createdAt:(0,Z._)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,Z._)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),et=i.ops.table("supabase_metrics",{resourceId:(0,J.q)("resource_id").notNull().references(()=>i.resources.id,{onDelete:"cascade"}),hour:(0,Z._)("hour",{withTimezone:!0}).notNull(),samples:(0,K.f)("samples").notNull().default(0),cpuSamples:(0,K.f)("cpu_samples").notNull().default(0),cpuAvg:(0,Y.f)("cpu_avg"),cpuMax:(0,Y.f)("cpu_max"),memAvg:(0,Y.f)("mem_avg"),memMax:(0,Y.f)("mem_max"),diskPct:(0,Y.f)("disk_pct"),connUsed:(0,K.f)("conn_used"),connMax:(0,K.f)("conn_max")},e=>[(0,Q._)({columns:[e.resourceId,e.hour]}),(0,G.y)("supabase_metrics_hour_idx").on(e.hour)]);function ea(e){return e.disabled?{state:"err",label:"Suspended"}:"init"===e.state||e.pendingState&&e.pendingState!==e.state?{state:"build",label:"Starting"}:"active"===e.state?{state:"ok",label:"Active"}:"idle"===e.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}var en=e.i(769301),er=e.i(319281),er=er,ei=e.i(996794),es=er,eo=er,el=er;let ed=ei.z.string().nullable().optional(),eu=es.number().nullable().optional(),ec=ei.z.string().nullable().optional();en.z.object({status:ei.z.string().optional(),region:ec,pgVersion:ec,orgSlug:ec,freeOrg:eo.boolean().nullable().optional(),pausedBeforeSeen:eo.boolean().optional(),lastGoodState:ei.z.string().optional(),lastTrafficAt:ed,trafficAt:ed,trafficError:ec,health:el.array(en.z.object({name:ei.z.string(),status:ei.z.string()})).nullable().optional(),healthAt:ed,healthError:ec,sizeBytes:eu,sizeAt:ed,sizeError:ec});let ep=en.z.object({id:ei.z.string(),branchId:ei.z.string(),state:ei.z.string(),pendingState:ei.z.string().nullable(),disabled:eo.boolean(),minCu:es.number(),maxCu:es.number(),lastActive:ei.z.string().nullable()}),em=en.z.object({id:ei.z.string(),name:ei.z.string(),isDefault:eo.boolean(),logicalSize:es.number().nullable()});en.z.object({region:ec,pgVersion:es.number().nullable().optional(),orgId:ec,computeSeconds:eu,transferBytes:eu,periodStart:ed,periodEnd:ed,activeSeconds:eu,endpoints:el.array(ep).optional(),branches:el.array(em).optional(),lastGoodState:ei.z.string().optional()}),en.z.object({displayName:ec,latencyMs:eu,pingError:ec,pingReason:ec,pingKind:ec,reads:eu,writes:eu,deletes:eu,opsAt:ed,opsError:ec,authUsers:eu,authAt:ed,authError:ec,lastGoodState:ei.z.string().optional()}),en.z.object({org:ec,group:ec,primaryRegion:ec,plan:ec,blockReads:eo.boolean().optional(),blockWrites:eo.boolean().optional(),rowsRead:eu,rowsWritten:eu,storageBytes:eu,orgRowsRead:eu,orgRowsWritten:eu,orgStorageBytes:eu,orgDatabases:eu,usageAt:ed,usageError:ec,lastGoodState:ei.z.string().optional()}),en.z.object({region:ec,status:ec,type:ec,dailyCommands:eu,monthlyRequests:eu,storageBytes:eu,monthlyBandwidthBytes:eu,statsAt:ed,statsError:ec,lastGoodState:ei.z.string().optional()}),en.z.object({accountId:ec,createdAt:ed,sizeBytes:eu,numTables:eu,readReplication:ec,detailsAt:ed,detailsError:ec,rowsRead:eu,rowsWritten:eu,readQueries:eu,writeQueries:eu,accountRowsRead:eu,accountRowsWritten:eu,accountSizeBytes:eu,accountDatabases:eu,usageDay:ec,usageAt:ed,usageError:ec,lastGoodState:ei.z.string().optional()});var eo=er,eg=er,es=er,el=er;en.z.object({success:eo.boolean(),result:eg.unknown(),result_info:en.z.object({total_pages:es.number().optional()}).nullish()}),en.z.object({uuid:ei.z.string(),name:ei.z.string(),created_at:ei.z.string().nullish(),jurisdiction:ei.z.string().nullish()}),en.z.object({file_size:es.number().nullish(),num_tables:es.number().nullish(),read_replication:en.z.object({mode:ei.z.string()}).nullish()}),en.z.object({data:en.z.object({viewer:en.z.object({accounts:el.array(en.z.object({d1AnalyticsAdaptiveGroups:el.array(en.z.object({sum:en.z.object({rowsRead:es.number().default(0),rowsWritten:es.number().default(0),readQueries:es.number().default(0),writeQueries:es.number().default(0)}),dimensions:en.z.object({databaseId:ei.z.string()})})).default([])}))}).nullish()}).nullish(),errors:el.array(en.z.object({message:ei.z.string().default("")})).nullish()}),e.i(188597),en.z.object({d1:er.enum(["ok","missing","error"]),analytics:er.enum(["ok","missing","error"]).nullable(),at:ei.z.string(),note:ei.z.string().nullable()});let eh="demo",ef={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function ey(e,t){let{db:a,seed:n,now:r}=e,s=T(n,"databases"),o=t.team,l=S(r,6e4*s.int(4,40));await a.insert(i.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=S(r,864e5*s.int(60,280));return{id:D(n,"account",e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:eh,credentialIv:eh,credentialKind:ef[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let d=z(32,n,"cloudflare-account"),u=[{kind:"supabase_project",provider:"supabase",externalId:M(20,n,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${s.pick(["silent","quiet","misty","bold","calm"])}-${s.pick(["river","meadow","forest","harbor","dune"])}-${z(8,n,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${z(5,n,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:D(n,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:D(n,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:D(n,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let i=s.pick(L[e]),l=S(r,864e5*s.int(40,300)),u="supabase_project"===e?{orgSlug:o.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:l.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===e?{orgId:`org-${z(8,n,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:l.toISOString()}:"firestore"===e?{projectId:a}:"turso_database"===e?{org:o.slug,group:"default",region:"sin"}:"upstash_redis"===e?{region:"ap-southeast-1",type:"free"}:{accountId:d,createdAt:l.toISOString()};return{id:D(n,"db",e),kind:e,name:i,externalId:a,accountId:D(n,"account",t),meta:u,createdAt:l}});await a.insert(i.resources).values(u.map(e=>({id:e.id,accountId:e.accountId,kind:e.kind,externalId:e.externalId,name:e.name,monitored:!0,meta:e.meta,firstSeenAt:e.createdAt,lastSeenAt:l,createdAt:e.createdAt,updatedAt:l})));let c=e=>u.find(t=>t.kind===e),p=e=>S(r,6e4*e+1e3*s.int(0,50)),m=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)),g=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)),h=(r.getTime()-m.getTime())/(g.getTime()-m.getTime()),f=[{id:`ep-${M(12,n,"neon-ep").toLowerCase()}`,branchId:`br-${M(12,n,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:S(r,6e4*s.int(20,300)).toISOString()}],y=Math.round((8+50*h+s.int(0,10))*3600),w=function(e){if((e.computeSeconds??0)>=36e4)return{state:"err",label:"CU-hours used up"};if(!e.endpoints.length)return{state:"unknown",label:"No compute"};let t=e.endpoints.map(ea);return t.some(e=>"err"===e.state)?{state:"err",label:"Compute suspended"}:t.some(e=>"ok"===e.state)?{state:"ok",label:"Active"}:t.some(e=>"build"===e.state)?{state:"build",label:"Starting"}:t.every(e=>"idle"===e.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}({endpoints:f,computeSeconds:y}),A=[{id:c("supabase_project").id,state:"ok",since:S(r,864e5*s.int(20,90)),at:p(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:S(r,6e4*s.int(3,50)).toISOString(),trafficAt:S(r,6e4*s.int(1,4)).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:S(r,6e4*s.int(1,4)).toISOString(),sizeBytes:1048576*s.int(38,140)+s.int(0,1048576),sizeAt:S(r,36e5*s.int(4,20)).toISOString(),lastGoodState:"ok"}},{id:c("neon_project").id,state:"ok"===w.state?"ok":"idle",since:S(r,6e4*s.int(20,300)),at:p(s.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:c("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*h)*0x40000000),periodStart:m.toISOString(),periodEnd:g.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:f,branches:[{id:f[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*s.int(120,380)},{id:`br-${M(12,n,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*s.int(60,160)}],lastGoodState:"ok"===w.state?"ok":"idle"}},{id:c("firestore").id,state:"ok",since:S(r,864e5*s.int(10,60)),at:p(1),data:{displayName:c("firestore").name,latencyMs:s.int(70,190),reads:s.int(4e3,22e3),writes:s.int(800,6e3),deletes:s.int(20,400),opsAt:S(r,6e4*s.int(10,50)).toISOString(),authUsers:s.int(80,2400),authAt:S(r,36e5*s.int(2,20)).toISOString(),lastGoodState:"ok"}},{id:c("turso_database").id,state:"ok",since:S(r,864e5*s.int(10,60)),at:p(s.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*h)*1e6),rowsWritten:Math.round((.2+2.2*h)*1e6),storageBytes:1048576*s.int(40,600),orgRowsRead:Math.round((25+160*h)*1e6),orgRowsWritten:Math.round((.3+2.6*h)*1e6),orgStorageBytes:1048576*s.int(700,1400),orgDatabases:3,usageAt:S(r,6e4*s.int(5,50)).toISOString(),lastGoodState:"ok"}},{id:c("upstash_redis").id,state:"ok",since:S(r,864e5*s.int(10,60)),at:p(s.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:s.int(2e3,9e3),monthlyRequests:Math.round((20+180*h)*1e3)+s.int(0,999),storageBytes:1048576*s.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*h)*0x40000000),statsAt:S(r,6e4*s.int(5,50)).toISOString(),lastGoodState:"ok"}},{id:c("d1_database").id,state:"ok",since:S(r,864e5*s.int(10,60)),at:p(s.int(5,50)),data:{accountId:d,createdAt:c("d1_database").createdAt.toISOString(),sizeBytes:1048576*s.int(4,120),numTables:s.int(4,12),readReplication:"disabled",detailsAt:S(r,6e4*s.int(5,50)).toISOString(),rowsRead:s.int(4e4,9e5),rowsWritten:s.int(1e3,3e4),readQueries:s.int(4e3,6e4),writeQueries:s.int(300,6e3),accountRowsRead:s.int(9e5,18e5),accountRowsWritten:s.int(3e4,55e3),accountSizeBytes:1048576*s.int(200,900),accountDatabases:2,usageDay:r.toISOString().slice(0,10),usageAt:S(r,6e4*s.int(5,50)).toISOString(),lastGoodState:"ok"}}];await a.insert(i.snapshots).values(A.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await a.insert(i.settings).values({key:"d1.access",value:{[D(n,"account","cloudflare")]:{d1:"ok",analytics:"ok",at:S(r,6e4*s.int(5,50)).toISOString(),note:null}},createdAt:S(r,2592e6),updatedAt:r});let b=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],k=t.apps.slice(0,Math.max(4,t.apps.length-1));return await a.insert(i.links).values(k.map((e,t)=>({id:D(n,"link",e.name),fromResourceId:e.id,toResourceId:c(b[t]).id,kind:"uses_db",source:"manual",createdAt:S(r,864e5*s.int(20,90)),updatedAt:S(r,864e5*s.int(1,19))}))),await ew(e,c("supabase_project").id),await a.insert(i.keepActive).values({resourceId:c("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:S(r,36e5*s.int(2,20)),updatedAt:S(r,10368e5)}),{dbs:u.map(({id:e,kind:t,name:a,externalId:n,accountId:r})=>({id:e,kind:t,name:a,externalId:n,accountId:r})),cloudflare:{accountId:D(n,"account","cloudflare"),cfAccountId:d,label:o.name}}}async function ew(e,t){let{db:a,seed:n,now:r}=e,i=T(n,"compute"),s=S(r,6e4*i.int(1,4)),o=Array.from({length:24},(e,a)=>{let n=new Date(new Date(36e5*Math.floor(r.getTime()/36e5)).getTime()-36e5*a),s=Math.round((6+18*i.next())*10)/10,o=Math.round((34+14*i.next())*10)/10;return{resourceId:t,hour:n,samples:0===a?Math.max(1,Math.floor((r.getTime()-n.getTime())/3e5)):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+i.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*i.next()))/10,diskPct:9.8,connUsed:i.int(8,22),connMax:60}}),l={cpuPct:o[0].cpuAvg,memPct:o[0].memAvg,diskPct:9.8,connUsed:o[0].connUsed,connMax:60,at:s.toISOString(),prev:null,recent:Array.from({length:6},(e,t)=>({at:S(s,(5-t)*3e5).toISOString(),cpu:Math.round((6+18*i.next())*10)/10}))};await a.insert(ee).values({resourceId:t,keyCiphertext:eh,keyIv:eh,latest:l,lastTryAt:s,lastOkAt:s,createdAt:S(r,18144e5),updatedAt:s}),await a.insert(et).values(o.filter(e=>e.hour.getTime()<=r.getTime()))}function eA(e){return D(e,"member","user")}function eb(e){return D(e,"member","row")}async function ek(e){let{now:t,seed:a}=e,n=new Date(t.getTime()-35424e6);await e.db.insert(i.members).values({id:eb(a),userId:eA(a),email:e.email,role:"owner",lastSeenAt:t,createdAt:n,updatedAt:n})}async function ev(e,t,a,n,r,s){let{db:o,seed:l,now:d}=e,u=T(l,"events"),m=[],g=(e,t)=>m.push({id:D(l,"event",e),count:1,...t});for(let e of p(await o.execute(c.B`select external_id, resource_id, state, branch, commit_sha, building_at, ready_at, created_at_provider from ops.deployments
|
|
2
|
-
where created_at_provider > ${new Date(d.getTime()-6048e5).toISOString()}::timestamptz`))){let t=`${e.branch??"unknown branch"} \xb7 ${e.commit_sha?e.commit_sha.slice(0,7):"no commit"}`,a=new Date(e.created_at_provider),n=e.building_at?new Date(e.building_at):a;g(`${e.external_id}:start`,{at:n,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&g(`${e.external_id}:ready`,{at:new Date(e.ready_at),resourceId:e.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:t,reason:"DeployReady"}),"error"===e.state&&g(`${e.external_id}:failed`,{at:new Date(n.getTime()+1e3*u.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let h=a.outage,f=a.monitors.find(e=>e.id===h.monitorId),y=(e,t,a,n,r,i,s)=>g(e,{at:t,resourceId:a,type:"monitor",kind:n,message:r,detail:i,reason:s});y("outage:warn",h.startedAt,h.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),y("outage:err",new Date(h.startedAt.getTime()+6e5),h.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),y("outage:ok",h.recoveredAt,h.appId,"ok","Monitor recovered",`${f.path} answers again`,"MonitorRecovered"),a.degraded&&y("degraded:warn",a.degraded.since,a.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let w=r.certSoon,A=r.zoneSoon,b=new Date(w.notAfter.getTime()-12096e5+6e4*u.int(5,50)),k=new Date(A.expiresAt.getTime()-2592e6+6e4*u.int(5,50));g("net:cert",{at:b,resourceId:w.id,type:"system",kind:"warn",message:`${w.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),g("net:zone",{at:k,resourceId:A.id,type:"system",kind:"warn",message:`${A.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let v=new Date(d);v.setUTCHours(20,0,0,0),v.getTime()>d.getTime()-3e5&&v.setTime(v.getTime()-864e5);for(let e=0;e<7;e++){let t=new Date(v.getTime()-864e5*e+1e3*u.int(20,90));g(`daily:${e}`,{at:t,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let _=eA(l),x=(e,t,a,n,r=null)=>g(`action:${e}`,{at:S(d,864e5*t+36e5*u.int(1,10)+6e4*u.int(0,59)),resourceId:n,type:"action",kind:"ok",message:a,detail:r,actorUserId:_,reason:"Action"}),$=a.monitors.find(e=>"/api/health"===e.path)??a.monitors[0],M=t.apps[0],z=n.dbs.find(e=>"supabase_project"===e.kind);x("monitor-added",6,`Monitor added: ${I($.url)}`,$.appId),x("db-link",5,`Database link: ${M.name} → ${z.name}`,M.id),x("keep-active",5,`Keep active on: ${z.name}`,z.id),x("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),x("maintenance",3,"Maintenance window added",null,"Sundays 02:00 WIB, 30 min"),x("check-now",1,`Check now: ${I(f.url)}`,f.appId);let C=s.resolved.credential;g("action:credential",{at:new Date(C.resolvedAt.getTime()-6e4*u.int(2,9)),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${C.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:_,reason:"Action"}),g("action:auto-recheck",{at:new Date(h.startedAt.getTime()+66e4+3e3),resourceId:f.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${I(f.url)}`,detail:null,actorUserId:null,reason:"Action"}),await o.insert(i.events).values(m.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let eI="76.76.21.21";async function eS(e,t,a){let{db:n,seed:r,now:s}=e,o=T(r,"network"),l=e=>S(s,6e4*o.int(10,60*e)).toISOString(),d=a.cloudflare,u=o.shuffle(H).slice(0,2).map((e,t)=>({id:D(r,"zone",e),name:O(e),expiresAt:new Date(1===t?s.getTime()+864e5*o.int(12,24)+36e5*o.int(1,20):s.getTime()+864e5*o.int(200,600))})),c=e=>e.split("-").slice(1).join("-")||e,p=t.apps,m=[{name:u[0].name,app:p[0]},...[0,1,2].map(e=>({name:`${c(p[e].name)}.${u[0].name}`,app:p[e]})),...[3,4].map(e=>({name:`${c(p[e%p.length].name)}.${u[1].name}`,app:p[e%p.length]}))],g=o.int(1,3),f=m.map((e,t)=>({id:D(r,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===g?s.getTime()+864e5*o.int(4,9)+36e5*o.int(1,20):s.getTime()+864e5*o.int(30,85))})),k=(e,t,a,n,i,s=null)=>({id:z(32,r,"dns",e,t,a),type:t,name:a,content:n,proxied:i,ttl:i?1:300,comment:s}),I=u.map(e=>{let t=[...f.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>k(e.name,"A",t.name,eI,!1,"Vercel")),k(e.name,"MX",e.name,O("mx1.mail"),!1),k(e.name,"TXT",e.name,`v=spf1 include:_spf.${O("mail")} ~all`,!1),k(e.name,"A",`legacy.${e.name}`,`192.0.2.${o.int(10,200)}`,!0,"Old server, kept for redirects")],a={expiresAt:e.expiresAt.toISOString(),registrar:"Example Registrar, Inc.",error:null,checkedAt:l(20)},n={status:"active",paused:!1,nameServers:[O("ada.ns"),O("bob.ns")],accountId:d.cfAccountId,checkedAt:l(1)},r=function(e,t){if(!e.status)return{state:"unknown",reasons:[]};let a=[];"moved"===e.status?a.push({state:"err",reason:"The zone moved away from Cloudflare"}):"active"!==e.status&&a.push({state:"warn",reason:`Zone is ${e.status}`}),e.paused&&a.push({state:"warn",reason:"Cloudflare is paused for this zone"});let n=v("Domain",h(e.rdap?.expiresAt),30,t);return n&&a.push(n),{state:b(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}}({status:n.status,paused:n.paused,rdap:a},s),i={zone:n,ssl:{mode:"strict",error:null},records:t,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[e.name,`*.${e.name}`],expiresOn:new Date(s.getTime()+864e5*o.int(40,80)).toISOString()}],rdap:a,reasons:r.reasons};return{z:e,records:t,rdap:a,state:r.state,data:i}}),_=S(s,864e5*o.int(150,380)),x=S(s,6e4*o.int(5,50));await n.insert(i.resources).values(u.map(e=>({id:e.id,accountId:d.accountId,kind:"zone",externalId:z(32,r,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:d.cfAccountId,accountName:d.label},firstSeenAt:_,lastSeenAt:x,createdAt:_,updatedAt:x}))),await n.insert(i.resources).values(f.map(e=>{let a=p.find(t=>t.id===e.appId);return{id:e.id,accountId:t.accountId,kind:"domain",externalId:e.name,name:e.name,parentId:e.appId,monitored:!0,meta:{redirect:null,verified:!0,projectId:a.externalId},firstSeenAt:_,lastSeenAt:x,createdAt:_,updatedAt:x}}));let $=["Let's Encrypt","Google Trust Services"];await n.insert(i.snapshots).values([...I.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?_:new Date(e.z.expiresAt.getTime()-2592e6),data:e.data,collectedAt:x})),...f.map(e=>{var t,a;let n,r=I.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),i={notAfter:e.notAfter.toISOString(),issuer:o.pick($),authorized:!0,error:null,checkedAt:l(19)},d={misconfigured:!1,configuredBy:"A",recommendedIps:[eI],checkedAt:l(6)},u=function(e,t){let a=[];if(e.vercel?.misconfigured&&a.push({state:"warn",reason:"Vercel says the DNS is misconfigured"}),y(e.host).endsWith(".vercel.app"))return{state:b(a.map(e=>e.state)),reasons:a.map(e=>e.reason)};if(!e.tls&&!e.vercel&&!e.records.length)return{state:"unknown",reasons:[]};if(e.tls?.error)a.push({state:"warn",reason:`TLS check failed: ${e.tls.error}`});else if(e.tls){let n=v("Certificate",h(e.tls.notAfter),14,t);n?a.push(n):!1===e.tls.authorized&&a.push({state:"err",reason:"Certificate isn't trusted"})}(function(e,t=[]){return e.filter(e=>e.proxied&&function(e,t=[]){return"CNAME"===e.type?A.test(y(e.content)):"A"===e.type&&[...w,...t].includes(e.content.trim())}(e,t))})(e.records,e.vercel?.recommendedIps??[]).length&&a.push({state:"warn",reason:"Proxied by Cloudflare in front of Vercel"});let n=v("Domain",h(e.zoneRdap?.expiresAt),30,t);return n&&a.push(n),{state:b(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}}({host:e.name,tls:i,vercel:d,records:(t=e.name,a=r.records,n=y(t),a.filter(e=>y(e.name)===n)),zoneRdap:r.rdap},s),c="ok"===u.state?_:new Date(Math.min(e.notAfter.getTime()-12096e5,r.z.expiresAt.getTime()-2592e6));return{resourceId:e.id,state:u.state,stateSince:c,data:{tls:i,vercel:d,reasons:u.reasons},collectedAt:x}})]);let M=I[0].records.find(e=>"A"===e.type&&e.name===u[0].name&&e.content===eI);return{zones:u,domains:f,certSoon:f[g],zoneSoon:u[1],vercelRecord:{id:M.id,name:M.name,zoneId:u[0].id}}}let e_=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function ex(e,t){let{db:a,seed:n,now:r}=e,s=T(n,"logs"),o=p(await a.execute(c.B`select resource_id, external_id from ops.deployments where is_current`)),l=s.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:s.int(4,8)},(a,i)=>{let l=s.pick(F);return{id:D(n,"log",e.name,i),resourceId:e.id,deploymentId:o.find(t=>t.resource_id===e.id)?.external_id??`dpl_${M(24,n,"log-dpl",t)}`,rowId:`${M(10,n,"log-row",e.name,i).toLowerCase()}-${i}`,at:S(r,6e4*s.int(3,2760)+1e3*s.int(0,59)),level:l.level,message:l.message,requestMethod:l.method,requestPath:l.path,statusCode:l.status,source:"serverless"}}));await a.insert(i.storedLogs).values(l)}async function e$(e){let{db:t,seed:a,now:n}=e,r=T(a,"provider-status"),s=S(n,6e4*r.int(1,4));await t.insert(i.providerStatus).values(e_.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:s,lastOkAt:s,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:S(n,36e5*r.int(1,3)).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:s,lastOkAt:s,error:null}))}async function eT(e){let{db:t,seed:a,now:n}=e,r=T(a,"ai-usage"),i=D(a,"ai-agent","console"),s=r.int(70,140),o=[],l=[],d=[],u=[],p=[],m=[];for(let e=0;e<s;e++){o.push(n.getTime()-6e4*r.int(2,10080));let e=r.chance(.04);p.push(e?429:200),l.push(e?0:r.int(600,4200)),d.push(e?0:r.int(80,700)),u.push(e?r.int(80,300):r.int(700,4800)),m.push(r.int(1,2))}let g=e=>e.reduce((e,t)=>e+t,0),h=new Date(Math.max(...o));await t.execute(c.B`
|
|
1
|
+
module.exports=[218550,e=>{"use strict";let t;var a=e.i(126803),n=e.i(789922),r=e.i(239145),i=e.i(842102),s=e.i(725561),o=e.i(641726);let l="The demo is busy right now. Try again in a minute.",d="Too many new demo sessions from your network. Try again in a few minutes.",u=new Map([...new Map([["watchbell-demo-busy",l],["watchbell-demo-too-many",d]])].map(([e,t])=>[t,e]));function c(e){return Object.assign(Error(e),{digest:u.get(e)})}var p=e.i(382108);function m(e){if(Array.isArray(e))return e;let t=e?.rows;return Array.isArray(t)?t:[]}let g=e=>(e??0).toLocaleString("en-US"),h={MonitorDown:{key:"MonitorDown",severity:"critical",threshold:3,bounds:[1,10],source:"own",needs:null,sampled:!0,condition:e=>`${g(e)} failed checks in a row`},CollectorStale:{key:"CollectorStale",severity:"critical",threshold:5,bounds:[3,60],source:"own",needs:null,sampled:!1,condition:e=>`No collector run for ${g(e)} min`},HighLatency:{key:"HighLatency",severity:"warning",threshold:1500,bounds:[100,3e4],source:"own",needs:null,sampled:!0,condition:e=>`p95 > ${g(e)} ms for 10 min`},DeploymentFailed:{key:"DeploymentFailed",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"Production deployment state = ERROR"},DatabasePaused:{key:"DatabasePaused",severity:"warning",threshold:null,bounds:null,source:"api",needs:"databases",sampled:!1,condition:()=>"Supabase status = INACTIVE"},CertExpiringSoon:{key:"CertExpiringSoon",severity:"warning",threshold:14,bounds:[1,90],source:"own",needs:"domains",sampled:!1,condition:e=>`TLS certificate expires in < ${g(e)} days`},DomainExpiringSoon:{key:"DomainExpiringSoon",severity:"warning",threshold:30,bounds:[1,180],source:"api",needs:"domains",sampled:!1,condition:e=>`Domain expires in < ${g(e)} days`},StorageAlmostFull:{key:"StorageAlmostFull",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Database size > ${g(e)}% of free limit`},NeonComputeHigh:{key:"NeonComputeHigh",severity:"warning",threshold:80,bounds:[1,100],source:"api",needs:"databases",sampled:!1,condition:e=>`> ${g(e)} of 100 CU-hours this month`},FirestoreQuotaHigh:{key:"FirestoreQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"test",needs:"databases",sampled:!1,condition:e=>`Daily reads > ${g(e)}% of 50k`},AutoPauseRisk:{key:"AutoPauseRisk",severity:"info",threshold:4,bounds:[1,6],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase project without API traffic for ${g(e)}+ days`},DnsProxiedToVercel:{key:"DnsProxiedToVercel",severity:"info",threshold:null,bounds:null,source:"api",needs:"dns",sampled:!1,condition:()=>"Cloudflare record proxied in front of Vercel"},ComputeHigh:{key:"ComputeHigh",severity:"warning",threshold:80,bounds:[50,95],source:"api",needs:"databases",sampled:!1,condition:e=>`Supabase CPU > ${g(e)}% for 15 min, RAM > ${g(Math.min(99,(e??80)+10))}%, disk > ${g(e)}% or connections > ${g(e)}% of max`},DbQuotaHigh:{key:"DbQuotaHigh",severity:"warning",threshold:80,bounds:[10,100],source:"api",needs:"databases",sampled:!1,condition:e=>`Turso, Upstash or D1 usage > ${g(e)}% of a free-plan quota`},CredentialExpiring:{key:"CredentialExpiring",severity:"warning",threshold:14,bounds:[1,60],source:"api",needs:null,sampled:!1,condition:e=>`Account credential expires in < ${g(e)} days`},VulnerableDependency:{key:"VulnerableDependency",severity:"warning",threshold:null,bounds:null,source:"api",needs:null,sampled:!1,condition:()=>"A dependency has a high or critical advisory (OSV.dev)"}};function f(e){if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if("string"!=typeof e||!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function y(e,t){return e?Math.floor((e.getTime()-t.getTime())/864e5):null}Object.keys(h);let w=e=>e.toLowerCase().replace(/\.$/,""),A=["76.76.21.21"],b=/(^|\.)vercel-dns(-\d+)?\.com$/,k=e=>e.includes("err")?"err":e.includes("warn")?"warn":"ok",v=e=>`${e} day${1===e?"":"s"}`;function I(e,t,a,n){let r=y(t,n);return null===r?null:r<0?{state:"err",reason:`${e} expired ${v(-r)} ago`}:r<a?{state:"warn",reason:`${e} expires in ${v(r)}`}:null}function S(e){try{let t=new URL(e);return`${t.host}${t.pathname}`}catch{return e}}let _=(e,t)=>new Date(e.getTime()-t),x=e=>`{${e.map(e=>null===e?"NULL":"boolean"==typeof e?e?"t":"f":String(e)).join(",")}}`;var $=e.i(666680);let T=(...e)=>(0,$.createHash)("sha256").update(e.join("\0")).digest();function D(e,...t){let a,n=(a=T(e,...t).readUInt32LE(0)>>>0,()=>{let e=a=a+0x6d2b79f5>>>0;return e=Math.imul(e^e>>>15,1|e),(((e^=e+Math.imul(e^e>>>7,61|e))^e>>>14)>>>0)/0x100000000});return{next:n,int:(e,t)=>e+Math.floor(n()*(t-e+1)),pick:e=>e[Math.floor(n()*e.length)],chance:e=>n()<e,shuffle:e=>{let t=[...e];for(let e=t.length-1;e>0;e--){let a=Math.floor(n()*(e+1));[t[e],t[a]]=[t[a],t[e]]}return t}}}function M(e,...t){let a=T(e,"id",...t);a[6]=15&a[6]|64,a[8]=63&a[8]|128;let n=a.subarray(0,16).toString("hex");return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}function z(e,t,...a){let n="";for(let r=0;n.length<e;r++)for(let e of T(t,"token",r,...a))n+="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[e%62];return n.slice(0,e)}function C(e,t,...a){let n="";for(let r=0;n.length<e;r++)n+=T(t,"hex",r,...a).toString("hex");return n.slice(0,e)}let E=(e,t)=>`${e} ${t}${1===e?"":"s"}`;async function O(e,t,a,n,r){let i,o,l,d,u,c,g,{db:f,seed:w,now:A}=e,b=D(w,"alerts"),k=(...e)=>M(w,"alert",...e),v=e=>t.apps.find(t=>t.id===e)?.name??"app",I=m(await f.execute(p.B`select resource_id, external_id, state, target, commit_sha, created_at_provider, is_current, is_previous_production from ops.deployments`)),x=I.find(e=>"error"===e.state&&"production"===e.target),$={appId:x.resource_id,appName:v(x.resource_id),sha:x.commit_sha.slice(0,7),createdAt:new Date(x.created_at_provider),currentExternalId:I.find(e=>e.resource_id===x.resource_id&&e.is_current)?.external_id??null},T=(e,t,a)=>{let n=a.resolvedAt??null;return{ruleKey:e,subject:t,severity:h[e].severity,resourceId:null,accountId:null,okStreak:2*!!n,lastSeenAt:n??_(A,1e3*b.int(5,55)),lastSampleAt:null,notifiedOpen:"info"!==h[e].severity,lastNotifiedAt:n??new Date(a.startedAt.getTime()+6e4),pending:null,pendingSince:null,...a}},z=r.certSoon,O=y(z.notAfter,A)??0,R=r.zoneSoon,j=y(R.expiresAt,A)??0,N=[T("DeploymentFailed",$.appId,{id:k("firing","deploy"),resourceId:$.appId,title:$.appName,message:`Production deployment ${$.sha} failed.`,startedAt:new Date($.createdAt.getTime()+1e3*b.int(60,150))}),T("CertExpiringSoon",z.id,{id:k("firing","cert"),resourceId:z.id,title:z.name,message:`The TLS certificate of ${z.name} expires in ${E(O,"day")}.`,startedAt:new Date(z.notAfter.getTime()-12096e5+6e4*b.int(5,55))}),T("DomainExpiringSoon",R.id,{id:k("firing","zone"),resourceId:R.id,title:R.name,message:`${R.name} expires in ${E(j,"day")}.`,startedAt:new Date(R.expiresAt.getTime()-2592e6+6e4*b.int(5,55))})],P=a.outage,B=a.monitors.find(e=>e.id===P.monitorId),U=t.apps.find(e=>e.id!==$.appId)??t.apps[0],L=e=>n.dbs.find(t=>t.kind===e),H=(e,t)=>_(A,864e5*e+36e5*t+6e4*b.int(0,50)),F=(e,t)=>new Date(e.getTime()+6e4*t),W=(e,t)=>{let n=a.monitors.find(e=>e.id===t.monitorId);return T("HighLatency",n.id,{id:k("resolved",e),resourceId:n.appId,title:`${v(n.appId)} ${n.path}`,message:`p95 ${t.p95.toLocaleString("en-US")} ms over the last 10 minutes (limit 1,500 ms).`,startedAt:t.firedAt,resolvedAt:t.resolvedAt})},V={start:H(4,b.int(1,9)),sha:C(7,w,"old-failed",U.name)},G=L("upstash_redis"),K=L("firestore"),q=L("supabase_project"),Q=n.cloudflare.label,Y={outage:T("MonitorDown",B.id,{id:k("resolved","outage"),resourceId:B.appId,title:`${v(B.appId)} ${B.path}`,message:`${S(B.url)} returned HTTP 503 on 3 consecutive checks.`,startedAt:new Date(P.startedAt.getTime()+6e5),resolvedAt:P.recoveredAt}),latencyA:W("latency-a",a.slow[0]),latencyB:W("latency-b",a.slow[1]),oldDeploy:T("DeploymentFailed",U.id,{id:k("resolved","old-deploy"),resourceId:U.id,title:U.name,message:`Production deployment ${V.sha} failed.`,startedAt:V.start,resolvedAt:F(V.start,b.int(35,70))}),collector:(i=H(6,b.int(1,10)),T("CollectorStale","collector",{id:k("resolved","collector"),title:"collector",message:"The last minute run finished 6 min ago.",startedAt:i,resolvedAt:F(i,b.int(4,9))})),autoPause:(o=H(6,b.int(12,20)),T("AutoPauseRisk",q.id,{id:k("resolved","auto-pause"),resourceId:q.id,title:q.name,message:"No API traffic for 4 days. Supabase pauses free projects after about 7 days.",startedAt:o,resolvedAt:F(o,60*b.int(20,30))})),quota:(l=H(6,b.int(1,8)),T("DbQuotaHigh",G.id,{id:k("resolved","db-quota"),resourceId:G.id,title:G.name,message:`${G.name}: Commands at ${b.int(81,88)}% of the free plan.`,startedAt:l,resolvedAt:F(l,60*b.int(3,6))})),firestore:(d=H(3,b.int(1,6)),T("FirestoreQuotaHigh",K.id,{id:k("resolved","firestore"),resourceId:K.id,title:K.name,message:`${K.name} read ${b.int(40500,46e3).toLocaleString("en-US")} of 50,000 documents today (${b.int(81,92)}%).`,startedAt:d,resolvedAt:F(d,60*b.int(2,5))})),proxied:(u=H(5,b.int(12,20)),T("DnsProxiedToVercel",(c=r.vercelRecord).id,{id:k("resolved","proxied"),resourceId:c.zoneId,title:c.name,message:`${c.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`,startedAt:u,resolvedAt:F(u,24*b.int(2,4)*60)})),credential:(g=H(6,b.int(14,22)),T("CredentialExpiring",n.cloudflare.accountId,{id:k("resolved","credential"),accountId:n.cloudflare.accountId,title:`cloudflare \xb7 ${Q}`,message:`The cloudflare credential ${Q} expires in 9 days.`,startedAt:g,resolvedAt:F(g,24*b.int(1,2)*60+b.int(10,300))}))};return await f.insert(s.alerts).values([...N,...Object.values(Y)]),{firing:{deploy:N[0].id,cert:N[1].id,zone:N[2].id},resolved:{outage:Y.outage.id,oldDeploy:{id:Y.oldDeploy.id,appId:U.id,appName:U.name,previousExternalId:I.find(e=>e.resource_id===U.id&&e.is_previous_production)?.external_id??null,startedAt:Y.oldDeploy.startedAt,resolvedAt:Y.oldDeploy.resolvedAt},credential:{title:Y.credential.title,resolvedAt:Y.credential.resolvedAt}},failedDeploy:$}}let R=e=>`${e}.example`,j=["acme-shop","orbit-blog","nimbus-docs","pixel-forge","harbor-api","lumen-portal","quartz-admin","tidal-landing","ember-status","cobalt-store","willow-wiki","atlas-dash","sprout-crm","comet-links","fable-notes","maple-events"],N=[{name:"Juniper Labs",slug:"juniper-labs"},{name:"Kestrel Works",slug:"kestrel-works"},{name:"Brightfield Studio",slug:"brightfield-studio"},{name:"Saltmarsh Digital",slug:"saltmarsh-digital"}],P=["nextjs","nextjs","nextjs","vite","astro","sveltekit","remix"],B=["sin1","iad1","fra1","hnd1","sfo1"],U=["feat/checkout-v2","feat/dark-mode","fix/login-redirect","feat/search","chore/deps","fix/image-sizes","feat/newsletter","fix/cache-headers"],L=["Fix cart total rounding","Add dark mode toggle","Update dependencies","Speed up the product grid","Fix login redirect loop","Add sitemap","Tidy the footer links","Cache the pricing page","Add newsletter signup","Fix image sizes on mobile","Bump Next.js","Add search to the docs","Handle empty states","Retry failed webhooks","Move env checks to startup","Shorten the onboarding copy","Add health endpoint","Fix timezone in the event list","Split the dashboard bundle","Add RSS feed"],H={supabase_project:["shop-prod","portal-main","crm-core","store-db"],neon_project:["analytics","reporting","billing-ledger","metrics-pg"],firestore:["notes-app","mobile-sync","feedback-inbox","event-chat"],turso_database:["edge-cache","geo-lookup","docs-search","flags"],upstash_redis:["sessions","rate-limits","queue-cache","page-cache"],d1_database:["events-log","link-clicks","form-entries","audit-trail"]},F=["acme-studio","orbit-labs","nimbus-works","pixel-harbor","tidal-digital","ember-co"],W=[{level:"error",method:"POST",path:"/api/checkout",status:500,message:"TypeError: Cannot read properties of undefined (reading 'price')"},{level:"warning",method:"GET",path:"/products",status:200,message:"Slow query: products list took 1840 ms"},{level:"error",method:"GET",path:"/api/search",status:504,message:"Task timed out after 10.02 seconds"},{level:"warning",method:"GET",path:"/",status:200,message:"Image optimization fell back to the original file (unsupported format)"},{level:"error",method:"POST",path:"/api/webhooks/payments",status:401,message:"Webhook signature didn't match"},{level:"fatal",method:"GET",path:"/api/report",status:500,message:"Error: connect ECONNREFUSED (database connection pool exhausted)"},{level:"warning",method:"GET",path:"/blog/[slug]",status:404,message:'Post not found for slug "spring-sale-2025"'},{level:"error",method:"PUT",path:"/api/profile",status:422,message:"ZodError: email must be a valid email"}];async function V(e){let{db:t,seed:a,now:n}=e,r=D(a,"apps"),i=r.pick(N),o={id:`team_${z(24,a,"team")}`,name:i.name,slug:i.slug},l=M(a,"account","vercel"),d=_(n,864e5*r.int(120,300)),u=_(n,6e4*r.int(3,50));await t.insert(s.accounts).values({id:l,provider:"vercel",label:o.name,credentialCiphertext:"demo",credentialIv:"demo",credentialKind:"Access token",status:"ok",lastTestAt:u,lastSyncAt:u,createdAt:d,updatedAt:u});let c=r.shuffle(j).slice(0,r.int(5,8)).sort().map((e,t)=>({id:M(a,"app",e),index:t,name:e,externalId:`prj_${z(28,a,"project",e)}`,host:R(e),createdAt:_(n,864e5*r.int(95,400)-36e5*r.int(0,23))}));return await t.insert(s.resources).values(c.map(e=>({id:e.id,accountId:l,kind:"app",externalId:e.externalId,name:e.name,monitored:!0,firstSeenAt:e.createdAt,lastSeenAt:u,createdAt:e.createdAt,updatedAt:u,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:r.pick(P),productionBranch:"main",createdAt:e.createdAt.toISOString(),repo:`example-org/${e.name}`,repoType:"github",functionRegions:[r.pick(B)]}}))),await t.insert(s.deployments).values(function(e,t){let{seed:a,now:n}=e,r=D(a,"deployments"),i=r.pick(t).id,s=r.pick(t).id,o=[];for(let e of t){let t=(t,i,s,l,d)=>{let u=_(n,s),c=new Date(u.getTime()+1e3*r.int(3,12)),p="ready"===l?new Date(c.getTime()+1e3*r.int(25,160)):null,m="production"===i?"main":r.pick(U);o.push({id:M(a,"deployment",e.name,t),resourceId:e.id,externalId:`dpl_${z(24,a,"deployment",e.name,t)}`,state:l,target:i,branch:m,commitSha:C(40,a,"commit",e.name,t),commitMessage:d??r.pick(L),source:"git",url:R(`${e.name}-git-${m.replace(/[^a-z0-9]+/g,"-")}-${z(9,a,"deployment-url",e.name,t).toLowerCase()}`),buildingAt:c,readyAt:p,createdAtProvider:u,isCurrent:!1,isPreviousProduction:!1,createdAt:u,updatedAt:p??c})},l=e.id===i,d=r.int(2,5);for(let e=0;e<d;e++){let a=0===e?Math.max(18e6*!!l,36e5*r.int(1,96)-6e4*r.int(0,40)):864e5*r.int(4+4*e,6+6*e)+36e5*r.int(0,23);t(e,"production",a,"ready")}let u=r.int(0,3);for(let e=0;e<u;e++)t(10+e,"preview",36e5*r.int(2,240)+6e4*r.int(0,59),"ready");l&&t(20,"production",6e4*r.int(30,240),"error","Refactor the checkout form"),e.id===s&&t(21,"preview",6e4*r.int(1,6),"building")}for(let e of t){let{currentId:t,previousId:a}=function(e){let t=[...new Map(e.map(e=>[e.id,e])).values()].sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime()),a=t[0]?.id??null,n=t.findIndex(e=>e.id===a);return{currentId:a,previousId:n>=0?t[n+1]?.id??null:null}}(o.filter(t=>t.resourceId===e.id&&"production"===t.target&&"ready"===t.state).map(e=>({id:e.externalId,createdAt:e.createdAtProvider})));for(let n of o)n.resourceId===e.id&&(n.isCurrent=n.externalId===t,n.isPreviousProduction=n.externalId===a)}return o}(e,c)),{accountId:l,team:o,apps:c}}async function G(e,t,a){let{db:n,seed:r,now:i}=e,o=D(r,"snapshots"),l=_(i,1e3*o.int(5,40));await n.insert(s.snapshots).values(t.apps.map(e=>{var t,n;let r,s,d,u,c,p=a.filter(t=>t.appId===e.id),m=(t={monitors:p.map(e=>e.state),building:!1,dbPaused:!1}).monitors.includes("err")?"err":t.building?"build":t.monitors.includes("warn")||t.dbPaused?"warn":t.monitors.length?"ok":"unknown",g=p.find(e=>"err"===e.state)??p.find(e=>"warn"===e.state),h=g?.stateSince??new Date(Math.max(...p.map(e=>e.stateSince.getTime())));return{resourceId:e.id,state:m,stateSince:h,collectedAt:l,data:{code:g?.lastStatus??null,latencyMs:p[0]?.lastLatencyMs??null,dbPaused:!1,pageviews:(s=36e5*Math.floor((r=_(i,6e4*(n=o).int(2,25))).getTime()/36e5),d=n.int(20,400),{enabled:!0,total24h:c=(u=Array.from({length:24},(e,t)=>{let a=s-(23-t)*36e5,r=.15+.85*Math.max(0,Math.sin(((new Date(a).getUTCHours()+7)%24-6)/24*2*Math.PI));return[new Date(a).toISOString(),Math.round(d*r*(.7+.6*n.next()))]})).reduce((e,[,t])=>e+t,0),visitors24h:Math.round(c*(.3+.2*n.next())),hourly:u,readAt:r.toISOString()})}}}))}var K=e.i(457642),q=e.i(405631),Q=e.i(502564),Y=e.i(975642),Z=e.i(34653),X=e.i(63177),J=e.i(487280),ee=e.i(557367);let et=s.ops.table("supabase_metrics_keys",{resourceId:(0,ee.q)("resource_id").primaryKey().references(()=>s.resources.id,{onDelete:"cascade"}),keyCiphertext:(0,X.f)("key_ciphertext").notNull(),keyIv:(0,X.f)("key_iv").notNull(),keyVersion:(0,q.f)("key_version").notNull().default(1),addedBy:(0,ee.q)("added_by"),latest:(0,Q.y)("latest").$type(),lastTryAt:(0,J._)("last_try_at",{withTimezone:!0}),lastOkAt:(0,J._)("last_ok_at",{withTimezone:!0}),lastError:(0,X.f)("last_error"),createdAt:(0,J._)("created_at",{withTimezone:!0}).notNull().defaultNow(),updatedAt:(0,J._)("updated_at",{withTimezone:!0}).notNull().defaultNow()}),ea=s.ops.table("supabase_metrics",{resourceId:(0,ee.q)("resource_id").notNull().references(()=>s.resources.id,{onDelete:"cascade"}),hour:(0,J._)("hour",{withTimezone:!0}).notNull(),samples:(0,q.f)("samples").notNull().default(0),cpuSamples:(0,q.f)("cpu_samples").notNull().default(0),cpuAvg:(0,Z.f)("cpu_avg"),cpuMax:(0,Z.f)("cpu_max"),memAvg:(0,Z.f)("mem_avg"),memMax:(0,Z.f)("mem_max"),diskPct:(0,Z.f)("disk_pct"),connUsed:(0,q.f)("conn_used"),connMax:(0,q.f)("conn_max")},e=>[(0,Y._)({columns:[e.resourceId,e.hour]}),(0,K.y)("supabase_metrics_hour_idx").on(e.hour)]);function en(e){return e.disabled?{state:"err",label:"Suspended"}:"init"===e.state||e.pendingState&&e.pendingState!==e.state?{state:"build",label:"Starting"}:"active"===e.state?{state:"ok",label:"Active"}:"idle"===e.state?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}var er=e.i(769301),ei=e.i(319281),ei=ei,es=e.i(996794),eo=ei,el=ei,ed=ei;let eu=es.z.string().nullable().optional(),ec=eo.number().nullable().optional(),ep=es.z.string().nullable().optional();er.z.object({status:es.z.string().optional(),region:ep,pgVersion:ep,orgSlug:ep,freeOrg:el.boolean().nullable().optional(),pausedBeforeSeen:el.boolean().optional(),lastGoodState:es.z.string().optional(),lastTrafficAt:eu,trafficAt:eu,trafficError:ep,health:ed.array(er.z.object({name:es.z.string(),status:es.z.string()})).nullable().optional(),healthAt:eu,healthError:ep,sizeBytes:ec,sizeAt:eu,sizeError:ep});let em=er.z.object({id:es.z.string(),branchId:es.z.string(),state:es.z.string(),pendingState:es.z.string().nullable(),disabled:el.boolean(),minCu:eo.number(),maxCu:eo.number(),lastActive:es.z.string().nullable()}),eg=er.z.object({id:es.z.string(),name:es.z.string(),isDefault:el.boolean(),logicalSize:eo.number().nullable()});er.z.object({region:ep,pgVersion:eo.number().nullable().optional(),orgId:ep,computeSeconds:ec,transferBytes:ec,periodStart:eu,periodEnd:eu,activeSeconds:ec,endpoints:ed.array(em).optional(),branches:ed.array(eg).optional(),lastGoodState:es.z.string().optional()}),er.z.object({displayName:ep,latencyMs:ec,pingError:ep,pingReason:ep,pingKind:ep,reads:ec,writes:ec,deletes:ec,opsAt:eu,opsError:ep,authUsers:ec,authAt:eu,authError:ep,lastGoodState:es.z.string().optional()}),er.z.object({org:ep,group:ep,primaryRegion:ep,plan:ep,blockReads:el.boolean().optional(),blockWrites:el.boolean().optional(),rowsRead:ec,rowsWritten:ec,storageBytes:ec,orgRowsRead:ec,orgRowsWritten:ec,orgStorageBytes:ec,orgDatabases:ec,usageAt:eu,usageError:ep,lastGoodState:es.z.string().optional()}),er.z.object({region:ep,status:ep,type:ep,dailyCommands:ec,monthlyRequests:ec,storageBytes:ec,monthlyBandwidthBytes:ec,statsAt:eu,statsError:ep,lastGoodState:es.z.string().optional()}),er.z.object({accountId:ep,createdAt:eu,sizeBytes:ec,numTables:ec,readReplication:ep,detailsAt:eu,detailsError:ep,rowsRead:ec,rowsWritten:ec,readQueries:ec,writeQueries:ec,accountRowsRead:ec,accountRowsWritten:ec,accountSizeBytes:ec,accountDatabases:ec,usageDay:ep,usageAt:eu,usageError:ep,lastGoodState:es.z.string().optional()});var el=ei,eh=ei,eo=ei,ed=ei;er.z.object({success:el.boolean(),result:eh.unknown(),result_info:er.z.object({total_pages:eo.number().optional()}).nullish()}),er.z.object({uuid:es.z.string(),name:es.z.string(),created_at:es.z.string().nullish(),jurisdiction:es.z.string().nullish()}),er.z.object({file_size:eo.number().nullish(),num_tables:eo.number().nullish(),read_replication:er.z.object({mode:es.z.string()}).nullish()}),er.z.object({data:er.z.object({viewer:er.z.object({accounts:ed.array(er.z.object({d1AnalyticsAdaptiveGroups:ed.array(er.z.object({sum:er.z.object({rowsRead:eo.number().default(0),rowsWritten:eo.number().default(0),readQueries:eo.number().default(0),writeQueries:eo.number().default(0)}),dimensions:er.z.object({databaseId:es.z.string()})})).default([])}))}).nullish()}).nullish(),errors:ed.array(er.z.object({message:es.z.string().default("")})).nullish()}),e.i(188597),er.z.object({d1:ei.enum(["ok","missing","error"]),analytics:ei.enum(["ok","missing","error"]).nullable(),at:es.z.string(),note:es.z.string().nullable()});let ef="demo",ey={supabase:"Access token",neon:"API key",firebase:"Service account",turso:"Platform API token",upstash:"Developer API key",cloudflare:"API token"};async function ew(e,t){let{db:a,seed:n,now:r}=e,i=D(n,"databases"),o=t.team,l=_(r,6e4*i.int(4,40));await a.insert(s.accounts).values(["supabase","neon","firebase","turso","upstash","cloudflare"].map(e=>{let t=_(r,864e5*i.int(60,280));return{id:M(n,"account",e),provider:e,label:"firebase"===e?`${o.slug}-firebase`:o.name,credentialCiphertext:ef,credentialIv:ef,credentialKind:ey[e],status:"ok",lastTestAt:l,lastSyncAt:l,createdAt:t,updatedAt:l}}));let d=C(32,n,"cloudflare-account"),u=[{kind:"supabase_project",provider:"supabase",externalId:z(20,n,"supabase-ref").toLowerCase().replace(/[0-9]/g,"x")},{kind:"neon_project",provider:"neon",externalId:`${i.pick(["silent","quiet","misty","bold","calm"])}-${i.pick(["river","meadow","forest","harbor","dune"])}-${C(8,n,"neon-id")}`},{kind:"firestore",provider:"firebase",externalId:`${o.slug.split("-")[0]}-notes-${C(5,n,"firebase-id")}`},{kind:"turso_database",provider:"turso",externalId:M(n,"turso-db")},{kind:"upstash_redis",provider:"upstash",externalId:M(n,"upstash-db")},{kind:"d1_database",provider:"cloudflare",externalId:M(n,"d1-db")}].map(({kind:e,provider:t,externalId:a})=>{let s=i.pick(H[e]),l=_(r,864e5*i.int(40,300)),u="supabase_project"===e?{orgSlug:o.slug,region:"ap-southeast-1",pgVersion:"17.4.1.054",createdAt:l.toISOString(),status:"ACTIVE_HEALTHY"}:"neon_project"===e?{orgId:`org-${C(8,n,"neon-org")}`,region:"aws-ap-southeast-1",pgVersion:17,createdAt:l.toISOString()}:"firestore"===e?{projectId:a}:"turso_database"===e?{org:o.slug,group:"default",region:"sin"}:"upstash_redis"===e?{region:"ap-southeast-1",type:"free"}:{accountId:d,createdAt:l.toISOString()};return{id:M(n,"db",e),kind:e,name:s,externalId:a,accountId:M(n,"account",t),meta:u,createdAt:l}});await a.insert(s.resources).values(u.map(e=>({id:e.id,accountId:e.accountId,kind:e.kind,externalId:e.externalId,name:e.name,monitored:!0,meta:e.meta,firstSeenAt:e.createdAt,lastSeenAt:l,createdAt:e.createdAt,updatedAt:l})));let c=e=>u.find(t=>t.kind===e),p=e=>_(r,6e4*e+1e3*i.int(0,50)),m=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)),g=new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)),h=(r.getTime()-m.getTime())/(g.getTime()-m.getTime()),f=[{id:`ep-${z(12,n,"neon-ep").toLowerCase()}`,branchId:`br-${z(12,n,"neon-br-main").toLowerCase()}`,state:"idle",pendingState:null,disabled:!1,minCu:.25,maxCu:2,lastActive:_(r,6e4*i.int(20,300)).toISOString()}],y=Math.round((8+50*h+i.int(0,10))*3600),w=function(e){if((e.computeSeconds??0)>=36e4)return{state:"err",label:"CU-hours used up"};if(!e.endpoints.length)return{state:"unknown",label:"No compute"};let t=e.endpoints.map(en);return t.some(e=>"err"===e.state)?{state:"err",label:"Compute suspended"}:t.some(e=>"ok"===e.state)?{state:"ok",label:"Active"}:t.some(e=>"build"===e.state)?{state:"build",label:"Starting"}:t.every(e=>"idle"===e.state)?{state:"idle",label:"Idle"}:{state:"unknown",label:"Unknown"}}({endpoints:f,computeSeconds:y}),A=[{id:c("supabase_project").id,state:"ok",since:_(r,864e5*i.int(20,90)),at:p(1),data:{status:"ACTIVE_HEALTHY",region:"ap-southeast-1",pgVersion:"17.4.1.054",orgSlug:o.slug,freeOrg:!0,lastTrafficAt:_(r,6e4*i.int(3,50)).toISOString(),trafficAt:_(r,6e4*i.int(1,4)).toISOString(),health:[{name:"db",status:"ACTIVE_HEALTHY"},{name:"auth",status:"ACTIVE_HEALTHY"},{name:"rest",status:"ACTIVE_HEALTHY"},{name:"storage",status:"ACTIVE_HEALTHY"}],healthAt:_(r,6e4*i.int(1,4)).toISOString(),sizeBytes:1048576*i.int(38,140)+i.int(0,1048576),sizeAt:_(r,36e5*i.int(4,20)).toISOString(),lastGoodState:"ok"}},{id:c("neon_project").id,state:"ok"===w.state?"ok":"idle",since:_(r,6e4*i.int(20,300)),at:p(i.int(2,9)),data:{region:"aws-ap-southeast-1",pgVersion:17,orgId:c("neon_project").meta.orgId,computeSeconds:y,transferBytes:Math.round((.2+1.6*h)*0x40000000),periodStart:m.toISOString(),periodEnd:g.toISOString(),activeSeconds:Math.round(y/1.4),endpoints:f,branches:[{id:f[0].branchId,name:"main",isDefault:!0,logicalSize:1048576*i.int(120,380)},{id:`br-${z(12,n,"neon-br-preview").toLowerCase()}`,name:"preview/reporting",isDefault:!1,logicalSize:1048576*i.int(60,160)}],lastGoodState:"ok"===w.state?"ok":"idle"}},{id:c("firestore").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(1),data:{displayName:c("firestore").name,latencyMs:i.int(70,190),reads:i.int(4e3,22e3),writes:i.int(800,6e3),deletes:i.int(20,400),opsAt:_(r,6e4*i.int(10,50)).toISOString(),authUsers:i.int(80,2400),authAt:_(r,36e5*i.int(2,20)).toISOString(),lastGoodState:"ok"}},{id:c("turso_database").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(i.int(5,50)),data:{org:o.slug,group:"default",primaryRegion:"sin",plan:"free",blockReads:!1,blockWrites:!1,rowsRead:Math.round((20+140*h)*1e6),rowsWritten:Math.round((.2+2.2*h)*1e6),storageBytes:1048576*i.int(40,600),orgRowsRead:Math.round((25+160*h)*1e6),orgRowsWritten:Math.round((.3+2.6*h)*1e6),orgStorageBytes:1048576*i.int(700,1400),orgDatabases:3,usageAt:_(r,6e4*i.int(5,50)).toISOString(),lastGoodState:"ok"}},{id:c("upstash_redis").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(i.int(5,50)),data:{region:"ap-southeast-1",status:"active",type:"free",dailyCommands:i.int(2e3,9e3),monthlyRequests:Math.round((20+180*h)*1e3)+i.int(0,999),storageBytes:1048576*i.int(6,90),monthlyBandwidthBytes:Math.round((.1+2.4*h)*0x40000000),statsAt:_(r,6e4*i.int(5,50)).toISOString(),lastGoodState:"ok"}},{id:c("d1_database").id,state:"ok",since:_(r,864e5*i.int(10,60)),at:p(i.int(5,50)),data:{accountId:d,createdAt:c("d1_database").createdAt.toISOString(),sizeBytes:1048576*i.int(4,120),numTables:i.int(4,12),readReplication:"disabled",detailsAt:_(r,6e4*i.int(5,50)).toISOString(),rowsRead:i.int(4e4,9e5),rowsWritten:i.int(1e3,3e4),readQueries:i.int(4e3,6e4),writeQueries:i.int(300,6e3),accountRowsRead:i.int(9e5,18e5),accountRowsWritten:i.int(3e4,55e3),accountSizeBytes:1048576*i.int(200,900),accountDatabases:2,usageDay:r.toISOString().slice(0,10),usageAt:_(r,6e4*i.int(5,50)).toISOString(),lastGoodState:"ok"}}];await a.insert(s.snapshots).values(A.map(e=>({resourceId:e.id,state:e.state,stateSince:e.since,collectedAt:e.at,data:e.data}))),await a.insert(s.settings).values({key:"d1.access",value:{[M(n,"account","cloudflare")]:{d1:"ok",analytics:"ok",at:_(r,6e4*i.int(5,50)).toISOString(),note:null}},createdAt:_(r,2592e6),updatedAt:r});let b=["supabase_project","neon_project","turso_database","upstash_redis","firestore","d1_database","supabase_project","neon_project"],k=t.apps.slice(0,Math.max(4,t.apps.length-1));return await a.insert(s.links).values(k.map((e,t)=>({id:M(n,"link",e.name),fromResourceId:e.id,toResourceId:c(b[t]).id,kind:"uses_db",source:"manual",createdAt:_(r,864e5*i.int(20,90)),updatedAt:_(r,864e5*i.int(1,19))}))),await eA(e,c("supabase_project").id),await a.insert(s.keepActive).values({resourceId:c("supabase_project").id,keep:!0,autoRestore:!1,lastKeepAliveAt:_(r,36e5*i.int(2,20)),updatedAt:_(r,10368e5)}),{dbs:u.map(({id:e,kind:t,name:a,externalId:n,accountId:r})=>({id:e,kind:t,name:a,externalId:n,accountId:r})),cloudflare:{accountId:M(n,"account","cloudflare"),cfAccountId:d,label:o.name}}}async function eA(e,t){let{db:a,seed:n,now:r}=e,i=D(n,"compute"),s=_(r,6e4*i.int(1,4)),o=Array.from({length:24},(e,a)=>{let n=new Date(new Date(36e5*Math.floor(r.getTime()/36e5)).getTime()-36e5*a),s=Math.round((6+18*i.next())*10)/10,o=Math.round((34+14*i.next())*10)/10;return{resourceId:t,hour:n,samples:0===a?Math.max(1,Math.floor((r.getTime()-n.getTime())/3e5)):12,cpuSamples:0===a?1:11,cpuAvg:s,cpuMax:Math.round(10*Math.min(70,s*(1.4+i.next())))/10,memAvg:o,memMax:Math.round(10*Math.min(85,o+6*i.next()))/10,diskPct:9.8,connUsed:i.int(8,22),connMax:60}}),l={cpuPct:o[0].cpuAvg,memPct:o[0].memAvg,diskPct:9.8,connUsed:o[0].connUsed,connMax:60,at:s.toISOString(),prev:null,recent:Array.from({length:6},(e,t)=>({at:_(s,(5-t)*3e5).toISOString(),cpu:Math.round((6+18*i.next())*10)/10}))};await a.insert(et).values({resourceId:t,keyCiphertext:ef,keyIv:ef,latest:l,lastTryAt:s,lastOkAt:s,createdAt:_(r,18144e5),updatedAt:s}),await a.insert(ea).values(o.filter(e=>e.hour.getTime()<=r.getTime()))}let eb="Asia/Jakarta",ek=null,ev=null,eI=/^(?:UTC|GMT|[A-Za-z]+(?:\/[A-Za-z0-9_+\-]+)+)$/i,eS={"Asia/Calcutta":"Asia/Kolkata","Asia/Katmandu":"Asia/Kathmandu","Asia/Saigon":"Asia/Ho_Chi_Minh","Asia/Rangoon":"Asia/Yangon"};function e_(e){return M(e,"member","user")}function ex(e){return M(e,"member","row")}async function e$(e){let{now:t,seed:a}=e,n=new Date(t.getTime()-35424e6);await e.db.insert(s.members).values({id:ex(a),userId:e_(a),email:e.email,role:"owner",lastSeenAt:t,createdAt:n,updatedAt:n})}async function eT(e,a,n,r,i,l){let d,{db:u,seed:c,now:g}=e,h=D(c,"events"),f=[],y=(e,t)=>f.push({id:M(c,"event",e),count:1,...t});for(let e of m(await u.execute(p.B`select external_id, resource_id, state, branch, commit_sha, building_at, ready_at, created_at_provider from ops.deployments
|
|
2
|
+
where created_at_provider > ${new Date(g.getTime()-6048e5).toISOString()}::timestamptz`))){let t=`${e.branch??"unknown branch"} \xb7 ${e.commit_sha?e.commit_sha.slice(0,7):"no commit"}`,a=new Date(e.created_at_provider),n=e.building_at?new Date(e.building_at):a;y(`${e.external_id}:start`,{at:n,resourceId:e.resource_id,type:"deployment",kind:"build",message:"Deployment started",detail:t,reason:"DeployStarted"}),"ready"===e.state&&e.ready_at&&y(`${e.external_id}:ready`,{at:new Date(e.ready_at),resourceId:e.resource_id,type:"deployment",kind:"ok",message:"Deployment ready",detail:t,reason:"DeployReady"}),"error"===e.state&&y(`${e.external_id}:failed`,{at:new Date(n.getTime()+1e3*h.int(40,110)),resourceId:e.resource_id,type:"deployment",kind:"fail",message:"Deployment failed",detail:t,reason:"DeployFailed"})}let w=n.outage,A=n.monitors.find(e=>e.id===w.monitorId),b=(e,t,a,n,r,i,s)=>y(e,{at:t,resourceId:a,type:"monitor",kind:n,message:r,detail:i,reason:s});b("outage:warn",w.startedAt,w.appId,"warn","Monitor degraded","HTTP 503","MonitorDegraded"),b("outage:err",new Date(w.startedAt.getTime()+6e5),w.appId,"err","Monitor down","HTTP 503 on 3 checks in a row","MonitorDown"),b("outage:ok",w.recoveredAt,w.appId,"ok","Monitor recovered",`${A.path} answers again`,"MonitorRecovered"),n.degraded&&b("degraded:warn",n.degraded.since,n.degraded.appId,"warn","Monitor degraded","No answer within 5 s","MonitorDegraded");let k=i.certSoon,v=i.zoneSoon,I=new Date(k.notAfter.getTime()-12096e5+6e4*h.int(5,50)),x=new Date(v.expiresAt.getTime()-2592e6+6e4*h.int(5,50));y("net:cert",{at:I,resourceId:k.id,type:"system",kind:"warn",message:`${k.name} needs attention`,detail:"Certificate expires in 13 days",reason:"NetworkAttention"}),y("net:zone",{at:x,resourceId:v.id,type:"system",kind:"warn",message:`${v.name} needs attention`,detail:"Domain expires in 29 days",reason:"NetworkAttention"});let $=new Date(g);$.setUTCHours(20,0,0,0),$.getTime()>g.getTime()-3e5&&$.setTime($.getTime()-864e5);for(let e=0;e<7;e++){let t=new Date($.getTime()-864e5*e+1e3*h.int(20,90));y(`daily:${e}`,{at:t,resourceId:null,type:"system",kind:"ok",message:"Daily jobs finished",detail:"Rollups, retention, certificates and domain expiry",reason:"DailyFinished"})}let T=e_(c),z=(e,t,a,n,r=null)=>y(`action:${e}`,{at:_(g,864e5*t+36e5*h.int(1,10)+6e4*h.int(0,59)),resourceId:n,type:"action",kind:"ok",message:a,detail:r,actorUserId:T,reason:"Action"}),C=n.monitors.find(e=>"/api/health"===e.path)??n.monitors[0],E=a.apps[0],O=r.dbs.find(e=>"supabase_project"===e.kind);z("monitor-added",6,`Monitor added: ${S(C.url)}`,C.appId),z("db-link",5,`Database link: ${E.name} → ${O.name}`,E.id),z("keep-active",5,`Keep active on: ${O.name}`,O.id),z("rule",4,"Alert rule edited: HighLatency",null,"threshold 1,500 ms"),z("maintenance",3,"Maintenance window added",null,`Sundays 02:00 ${(d=ek??=function(){ev=null;let e=void 0!==t?{name:"WATCHBELL_TIMEZONE",value:t}:(0,o.N)("u"<typeof process?{}:process.env,"TIMEZONE"),a=e?.value.trim()??"";if(""===a)return eb;let n=function(e){if(!eI.test(e))return null;try{let t=new Intl.DateTimeFormat("en-US",{timeZone:e}).resolvedOptions().timeZone,a=eS[t]??t;if(a.toLowerCase()===e.toLowerCase())return a;return t.toLowerCase()===e.toLowerCase()?t:e}catch{return null}}(a);if(n)return n;ev=`${e.name}=${a}`;let r=globalThis;return r.__watchbellZoneWarned||(r.__watchbellZoneWarned=!0,console.warn(`Watchbell: ${ev} is not a time zone (use an IANA name such as Europe/Berlin). Using ${eb} (WIB).`)),eb}())===eb?"WIB":d}, 30 min`),z("check-now",1,`Check now: ${S(A.url)}`,A.appId);let R=l.resolved.credential;y("action:credential",{at:new Date(R.resolvedAt.getTime()-6e4*h.int(2,9)),resourceId:null,type:"action",kind:"ok",message:`Credential replaced: ${R.title}`,detail:"Tested and stored; it no longer expires soon",actorUserId:T,reason:"Action"}),y("action:auto-recheck",{at:new Date(w.startedAt.getTime()+66e4+3e3),resourceId:A.appId,type:"action",kind:"err",message:`Auto-actions: Check now: ${S(A.url)}`,detail:null,actorUserId:null,reason:"Action"}),await u.insert(s.events).values(f.sort((e,t)=>e.at.getTime()-t.at.getTime()))}let eD="76.76.21.21";async function eM(e,t,a){let{db:n,seed:r,now:i}=e,o=D(r,"network"),l=e=>_(i,6e4*o.int(10,60*e)).toISOString(),d=a.cloudflare,u=o.shuffle(F).slice(0,2).map((e,t)=>({id:M(r,"zone",e),name:R(e),expiresAt:new Date(1===t?i.getTime()+864e5*o.int(12,24)+36e5*o.int(1,20):i.getTime()+864e5*o.int(200,600))})),c=e=>e.split("-").slice(1).join("-")||e,p=t.apps,m=[{name:u[0].name,app:p[0]},...[0,1,2].map(e=>({name:`${c(p[e].name)}.${u[0].name}`,app:p[e]})),...[3,4].map(e=>({name:`${c(p[e%p.length].name)}.${u[1].name}`,app:p[e%p.length]}))],g=o.int(1,3),h=m.map((e,t)=>({id:M(r,"domain",e.name),name:e.name,appId:e.app.id,notAfter:new Date(t===g?i.getTime()+864e5*o.int(4,9)+36e5*o.int(1,20):i.getTime()+864e5*o.int(30,85))})),y=(e,t,a,n,i,s=null)=>({id:C(32,r,"dns",e,t,a),type:t,name:a,content:n,proxied:i,ttl:i?1:300,comment:s}),v=u.map(e=>{let t=[...h.filter(t=>t.name===e.name||t.name.endsWith(`.${e.name}`)).map(t=>y(e.name,"A",t.name,eD,!1,"Vercel")),y(e.name,"MX",e.name,R("mx1.mail"),!1),y(e.name,"TXT",e.name,`v=spf1 include:_spf.${R("mail")} ~all`,!1),y(e.name,"A",`legacy.${e.name}`,`192.0.2.${o.int(10,200)}`,!0,"Old server, kept for redirects")],a={expiresAt:e.expiresAt.toISOString(),registrar:"Example Registrar, Inc.",error:null,checkedAt:l(20)},n={status:"active",paused:!1,nameServers:[R("ada.ns"),R("bob.ns")],accountId:d.cfAccountId,checkedAt:l(1)},r=function(e,t){if(!e.status)return{state:"unknown",reasons:[]};let a=[];"moved"===e.status?a.push({state:"err",reason:"The zone moved away from Cloudflare"}):"active"!==e.status&&a.push({state:"warn",reason:`Zone is ${e.status}`}),e.paused&&a.push({state:"warn",reason:"Cloudflare is paused for this zone"});let n=I("Domain",f(e.rdap?.expiresAt),30,t);return n&&a.push(n),{state:k(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}}({status:n.status,paused:n.paused,rdap:a},i),s={zone:n,ssl:{mode:"strict",error:null},records:t,recordsTruncated:!1,cfErrors:[],certs:[{type:"universal",status:"active",hosts:[e.name,`*.${e.name}`],expiresOn:new Date(i.getTime()+864e5*o.int(40,80)).toISOString()}],rdap:a,reasons:r.reasons};return{z:e,records:t,rdap:a,state:r.state,data:s}}),S=_(i,864e5*o.int(150,380)),x=_(i,6e4*o.int(5,50));await n.insert(s.resources).values(u.map(e=>({id:e.id,accountId:d.accountId,kind:"zone",externalId:C(32,r,"zone-id",e.name),name:e.name,monitored:!0,meta:{status:"active",accountId:d.cfAccountId,accountName:d.label},firstSeenAt:S,lastSeenAt:x,createdAt:S,updatedAt:x}))),await n.insert(s.resources).values(h.map(e=>{let a=p.find(t=>t.id===e.appId);return{id:e.id,accountId:t.accountId,kind:"domain",externalId:e.name,name:e.name,parentId:e.appId,monitored:!0,meta:{redirect:null,verified:!0,projectId:a.externalId},firstSeenAt:S,lastSeenAt:x,createdAt:S,updatedAt:x}}));let $=["Let's Encrypt","Google Trust Services"];await n.insert(s.snapshots).values([...v.map(e=>({resourceId:e.z.id,state:e.state,stateSince:"ok"===e.state?S:new Date(e.z.expiresAt.getTime()-2592e6),data:e.data,collectedAt:x})),...h.map(e=>{var t,a;let n,r=v.find(t=>e.name===t.z.name||e.name.endsWith(`.${t.z.name}`)),s={notAfter:e.notAfter.toISOString(),issuer:o.pick($),authorized:!0,error:null,checkedAt:l(19)},d={misconfigured:!1,configuredBy:"A",recommendedIps:[eD],checkedAt:l(6)},u=function(e,t){let a=[];if(e.vercel?.misconfigured&&a.push({state:"warn",reason:"Vercel says the DNS is misconfigured"}),w(e.host).endsWith(".vercel.app"))return{state:k(a.map(e=>e.state)),reasons:a.map(e=>e.reason)};if(!e.tls&&!e.vercel&&!e.records.length)return{state:"unknown",reasons:[]};if(e.tls?.error)a.push({state:"warn",reason:`TLS check failed: ${e.tls.error}`});else if(e.tls){let n=I("Certificate",f(e.tls.notAfter),14,t);n?a.push(n):!1===e.tls.authorized&&a.push({state:"err",reason:"Certificate isn't trusted"})}(function(e,t=[]){return e.filter(e=>e.proxied&&function(e,t=[]){return"CNAME"===e.type?b.test(w(e.content)):"A"===e.type&&[...A,...t].includes(e.content.trim())}(e,t))})(e.records,e.vercel?.recommendedIps??[]).length&&a.push({state:"warn",reason:"Proxied by Cloudflare in front of Vercel"});let n=I("Domain",f(e.zoneRdap?.expiresAt),30,t);return n&&a.push(n),{state:k(a.map(e=>e.state)),reasons:a.map(e=>e.reason)}}({host:e.name,tls:s,vercel:d,records:(t=e.name,a=r.records,n=w(t),a.filter(e=>w(e.name)===n)),zoneRdap:r.rdap},i),c="ok"===u.state?S:new Date(Math.min(e.notAfter.getTime()-12096e5,r.z.expiresAt.getTime()-2592e6));return{resourceId:e.id,state:u.state,stateSince:c,data:{tls:s,vercel:d,reasons:u.reasons},collectedAt:x}})]);let T=v[0].records.find(e=>"A"===e.type&&e.name===u[0].name&&e.content===eD);return{zones:u,domains:h,certSoon:h[g],zoneSoon:u[1],vercelRecord:{id:T.id,name:T.name,zoneId:u[0].id}}}let ez=["vercel","supabase","neon","cloudflare","firebase","gcp"];async function eC(e,t){let{db:a,seed:n,now:r}=e,i=D(n,"logs"),o=m(await a.execute(p.B`select resource_id, external_id from ops.deployments where is_current`)),l=i.shuffle(t.apps).slice(0,3).flatMap((e,t)=>Array.from({length:i.int(4,8)},(a,s)=>{let l=i.pick(W);return{id:M(n,"log",e.name,s),resourceId:e.id,deploymentId:o.find(t=>t.resource_id===e.id)?.external_id??`dpl_${z(24,n,"log-dpl",t)}`,rowId:`${z(10,n,"log-row",e.name,s).toLowerCase()}-${s}`,at:_(r,6e4*i.int(3,2760)+1e3*i.int(0,59)),level:l.level,message:l.message,requestMethod:l.method,requestPath:l.path,statusCode:l.status,source:"serverless"}}));await a.insert(s.storedLogs).values(l)}async function eE(e){let{db:t,seed:a,now:n}=e,r=D(a,"provider-status"),i=_(n,6e4*r.int(1,4));await t.insert(s.providerStatus).values(ez.map(e=>"cloudflare"===e?{provider:e,state:"info",indicator:"maintenance",description:"Scheduled maintenance",checkedAt:i,lastOkAt:i,error:null,incidents:[{name:"Scheduled maintenance in one Asia-Pacific data center",impact:"maintenance",startedAt:_(n,36e5*r.int(1,3)).toISOString(),url:null}]}:{provider:e,state:"ok",indicator:"none",description:"All Systems Operational",incidents:[],checkedAt:i,lastOkAt:i,error:null}))}async function eO(e){let{db:t,seed:a,now:n}=e,r=D(a,"ai-usage"),i=M(a,"ai-agent","console"),s=r.int(70,140),o=[],l=[],d=[],u=[],c=[],m=[];for(let e=0;e<s;e++){o.push(n.getTime()-6e4*r.int(2,10080));let e=r.chance(.04);c.push(e?429:200),l.push(e?0:r.int(600,4200)),d.push(e?0:r.int(80,700)),u.push(e?r.int(80,300):r.int(700,4800)),m.push(r.int(1,2))}let g=e=>e.reduce((e,t)=>e+t,0),h=new Date(Math.max(...o));await t.execute(p.B`
|
|
3
3
|
insert into ops.ai_agents (id, key_id, client_name, client_version, via, user_agent, first_seen_at, last_seen_at, requests, tokens_in, tokens_out, recent)
|
|
4
|
-
values (${i}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${
|
|
5
|
-
${h.toISOString()}::timestamptz, ${s}, ${g(l)}, ${g(d)}, ${
|
|
4
|
+
values (${i}::uuid, null, 'Watchbell console', '', 'console', 'Watchbell console (ask-ai)', ${_(n,2592e6).toISOString()}::timestamptz,
|
|
5
|
+
${h.toISOString()}::timestamptz, ${s}, ${g(l)}, ${g(d)}, ${eR(["gemini/gemini-2.5-flash","workers-ai/gemma-3-12b-it"])}::text[])`),await t.execute(p.B`
|
|
6
6
|
insert into ops.ai_usage (at, key_id, agent_id, provider_id, model, kind, tool, tokens_in, tokens_out, latency_ms, status, error_class, stream)
|
|
7
7
|
select to_timestamp(t.at / 1000.0), null, ${i}::uuid, null, (array['gemini/gemini-2.5-flash', 'workers-ai/gemma-3-12b-it'])[t.m], 'console', null,
|
|
8
8
|
case when t.s = 429 then null else t.ti end, case when t.s = 429 then null else t.tout end, t.l, t.s,
|
|
9
9
|
case when t.s = 429 then 'rate_limited · upstream_429' else null end, false
|
|
10
|
-
from unnest(${
|
|
11
|
-
${
|
|
12
|
-
order by t.at`)}let
|
|
10
|
+
from unnest(${x(o)}::bigint[], ${x(m)}::int[], ${x(l)}::int[], ${x(d)}::int[], ${x(u)}::int[],
|
|
11
|
+
${x(c)}::int[]) as t(at, m, ti, tout, l, s)
|
|
12
|
+
order by t.at`)}let eR=e=>`{${e.join(",")}}`;async function ej(e,t,a,n){let{db:r,seed:i,now:s}=e,o=D(i,"proposals"),l=a.certSoon,d=t.failedDeploy,u=n.monitors.find(e=>e.id===n.outage.monitorId),c=new Date(n.outage.startedAt.getTime()+66e4),m=t.resolved.oldDeploy,g=new Date(m.startedAt.getTime()+6e4*o.int(2,6)),h=new Date(g.getTime()+6e4*o.int(3,15)),f=_(s,6e4*o.int(20,55)),y=_(s,6e4*o.int(8,19));for(let e of[{id:M(i,"proposal","pending-safe"),alertId:t.firing.cert,ruleKey:"CertExpiringSoon",room:"network",action:"domain_recheck",risk:"safe",title:`Re-check the certificate of ${l.name}`,reason:"The TLS certificate expires within 14 days; a fresh read shows whether it was already renewed.",resourceKind:"domain",resourceId:l.id,resourceName:l.name,targetRef:l.id,proposedBy:"Network",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:f,decidedAt:null,expiresAt:new Date(f.getTime()+72e5),claimedAt:null,finishedAt:null},{id:M(i,"proposal","pending-risky"),alertId:t.firing.deploy,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_redeploy",risk:"risky",title:`Redeploy production ${d.appName}`,reason:`Production deployment ${d.sha} failed; the previous build is still live.`,resourceKind:"app",resourceId:d.appId,resourceName:d.appName,targetRef:d.currentExternalId,proposedBy:"Workloads",status:"pending",auto:!1,result:null,decidedBy:null,createdAt:y,decidedAt:null,expiresAt:new Date(y.getTime()+72e5),claimedAt:null,finishedAt:null},{id:M(i,"proposal","done-auto"),alertId:t.resolved.outage,ruleKey:"MonitorDown",room:"workloads",action:"recheck",risk:"safe",title:`Check ${S(u.url)} again now`,reason:"It returned HTTP 503 on 3 consecutive checks.",resourceKind:"app",resourceId:u.appId,resourceName:S(u.url),targetRef:u.id,proposedBy:"Workloads",status:"done",auto:!0,result:"Failed: HTTP 503.",decidedBy:null,createdAt:c,decidedAt:c,expiresAt:new Date(c.getTime()+72e5),claimedAt:new Date(c.getTime()+2e3),finishedAt:new Date(c.getTime()+2e3+o.int(300,1500))},{id:M(i,"proposal","rejected"),alertId:m.id,ruleKey:"DeploymentFailed",room:"workloads",action:"vercel_rollback",risk:"risky",title:`Roll back ${m.appName} to the previous deployment`,reason:"The newest production build failed.",resourceKind:"app",resourceId:m.appId,resourceName:m.appName,targetRef:m.previousExternalId,proposedBy:"Workloads",status:"rejected",auto:!1,result:null,decidedBy:ex(i),createdAt:g,decidedAt:h,expiresAt:new Date(g.getTime()+72e5),claimedAt:null,finishedAt:null}]){let t=e=>e?e.toISOString():null;await r.execute(p.B`
|
|
13
13
|
insert into ops.action_proposals (id, alert_id, rule_key, room, action, risk, title, reason, resource_kind, resource_id, resource_name, target_ref,
|
|
14
14
|
proposed_by, status, auto, result, decided_by, created_at, decided_at, expires_at, claimed_at, finished_at)
|
|
15
15
|
values (${e.id}::uuid, ${e.alertId}::uuid, ${e.ruleKey}, ${e.room}, ${e.action}, ${e.risk}, ${e.title}, ${e.reason}, ${e.resourceKind},
|
|
16
16
|
${e.resourceId}::uuid, ${e.resourceName}, ${e.targetRef}, ${e.proposedBy}, ${e.status}, ${e.auto}, ${e.result}, ${e.decidedBy}::uuid,
|
|
17
|
-
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}function
|
|
17
|
+
${t(e.createdAt)}::timestamptz, ${t(e.decidedAt)}::timestamptz, ${t(e.expiresAt)}::timestamptz, ${t(e.claimedAt)}::timestamptz, ${t(e.finishedAt)}::timestamptz)`)}}function eN(e,t){return e.length?e[Math.min(e.length-1,Math.max(0,Math.ceil(t*e.length)-1))]:null}function eP(e){let t=e.filter(e=>!e.inMaintenance),a=t.map(e=>e.latencyMs).filter(e=>null!==e).sort((e,t)=>e-t);return{checks:t.length,failures:t.filter(e=>!e.ok).length,p50Ms:eN(a,.5),p95Ms:eN(a,.95),maxMs:a.length?a[a.length-1]:null,status5xx:t.filter(e=>null!==e.statusCode&&e.statusCode>=500).length,maintenance:e.length-t.length}}let eB=2016,eU=25920,eL="No answer within 5 s";async function eH(e,t){var a;let n,{db:r,seed:i,now:o}=e,l=D(i,"monitors"),d=[];for(let e of t.apps)for(let[t,a]of(l.chance(.6)?["/","/api/health"]:["/"]).entries())d.push({id:M(i,"monitor",e.name,a),appId:e.id,index:d.length,url:`https://${e.host}${a}`,path:a,createdAt:new Date(e.createdAt.getTime()+t*l.int(1,3)*864e5+6e4*l.int(2,50))});let u=3e5*Math.floor((o.getTime()-1e4)/3e5),c=(e,t)=>u-3e5*t+2e3+300*e.index,p=d.map(e=>(function(e,t){let a=D(e,"checks",t.id),n={ok:new Uint8Array(eU),status:new Int16Array(eU),latency:new Int32Array(eU)},r=a.int(70,380)*("/"===t.path?1:.55);for(let e=0;e<eU;e++){let t=Math.round(r*(.75+.5*a.next())*(a.chance(.02)?1.8+2*a.next():1));if(e>=3&&a.chance(3e-4)){let t=a.int(0,3);eF(n,e,3===t?{ok:!1,status:0,latency:-1}:{ok:!1,status:[500,502,503][t],latency:a.int(30,300)})}else eF(n,e,{ok:!0,status:200,latency:t})}return n})(i,e)),m=D(i,"outage"),g=d.filter(e=>"/"===e.path),h=m.pick(g),f=m.int(96,240),y=m.int(4,7),w=p[h.index];for(let e=f-3;e<f+y+3;e++)eF(w,e,{ok:!0,status:200,latency:w.latency[e]>0?w.latency[e]:180});for(let e=f;e<f+y;e++)eF(w,e,{ok:!1,status:e===f+y-1?502:503,latency:m.int(30,140)});let A={monitorId:h.id,appId:h.appId,startedAt:new Date(c(h,f+y-1)),endedAt:new Date(c(h,f)),recoveredAt:new Date(c(h,f-1)),failedChecks:y},b=d.filter(e=>e.appId!==h.appId),k=b.length?m.pick(b):null;k&&eF(p[k.index],0,{ok:!1,status:0,latency:-1});let v=D(i,"slow-windows"),I=d.filter(e=>e.id!==h.id),S=(e,t,a,n)=>{let r=p[e.index],i=288*t+v.int(12,144),s=v.int(a,n),o=[];for(let e=i;e>i-s;e--){let t=v.int(1600,2900);eF(r,e,{ok:!0,status:200,latency:t}),o.length<2&&o.push({ok:!0,statusCode:200,latencyMs:t})}let l=i-s;return(!r.ok[l]||r.latency[l]>=1500)&&eF(r,l,{ok:!0,status:200,latency:180}),{monitorId:e.id,appId:e.appId,firedAt:new Date(c(e,i-1)),resolvedAt:new Date(c(e,l)),p95:eP(o).p95Ms}},_=I[0]??h,x=I[I.length-1]??h,$=[S(_,2,4,8),S(x,5,3,6)],T=d.map(e=>(function(e,t,a){let n="unknown",r=0,i=e.createdAt;for(let e=t.ok.length-1;e>=0;e--){let s=function(e,t){if(t.ok)return{state:"ok",failStreak:0};let a=e+1;return{state:a>=3?"err":"warn",failStreak:a}}(r,{ok:1===t.ok[e],statusCode:eW(t,e),latencyMs:eV(t,e),error:eG(t,e)});s.state!==n&&(i=a(e)),n=s.state,r=s.failStreak}return{id:e.id,appId:e.appId,url:e.url,path:e.path,state:n,stateSince:i,failStreak:r,lastCheckedAt:a(0),lastStatus:eW(t,0),lastLatencyMs:eV(t,0),createdAt:e.createdAt}})(e,p[e.index],t=>new Date(c(e,t))));await r.insert(s.monitors).values(T.map((e,t)=>({id:e.id,resourceId:e.appId,url:e.url,kind:"http",expectedStatus:200,timeoutMs:5e3,intervalS:300,state:e.state,stateSince:e.stateSince,failStreak:e.failStreak,lastCheckedAt:e.lastCheckedAt,lastStatus:e.lastStatus,lastLatencyMs:e.lastLatencyMs,lastError:eG(p[t],0),createdAt:e.createdAt,updatedAt:e.lastCheckedAt})));let z=((n=new Date(a=o)).setUTCHours(20,0,0,0),n.getTime()>a.getTime()-3e5&&n.setTime(n.getTime()-864e5),n.getTime());for(let t of d)await eK(e,t,p[t.index],new Date(c(t,0))),await eq(e,t,p[t.index],e=>c(t,e),z);return await eQ(e,d.length),{monitors:T,outage:A,degraded:k?{monitorId:k.id,appId:k.appId,since:new Date(c(k,0))}:null,slow:$}}function eF(e,t,a){t<0||t>=e.ok.length||(e.ok[t]=+!!a.ok,e.status[t]=a.status,e.latency[t]=a.latency)}let eW=(e,t)=>0===e.status[t]?null:e.status[t],eV=(e,t)=>e.latency[t]<0?null:e.latency[t],eG=(e,t)=>e.ok[t]?null:e.status[t]?`HTTP ${e.status[t]}`:eL;async function eK(e,t,a,n){let r=Array.from({length:eB},(e,t)=>t);await e.db.execute(p.B`
|
|
18
18
|
insert into ops.checks (id, monitor_id, at, ok, status_code, latency_ms, error, in_maintenance)
|
|
19
19
|
select md5(${`${e.seed}:${t.id}:`} || t.k)::uuid, ${t.id}::uuid, ${n.toISOString()}::timestamptz - t.k * interval '5 minutes',
|
|
20
|
-
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${
|
|
21
|
-
from unnest(${
|
|
22
|
-
${
|
|
20
|
+
t.ok, t.s, t.l, case when t.ok then null when t.s is null then ${eL} else 'HTTP ' || t.s end, false
|
|
21
|
+
from unnest(${x(r)}::int[], ${x(r.map(e=>1===a.ok[e]))}::bool[], ${x(r.map(e=>eW(a,e)))}::int[],
|
|
22
|
+
${x(r.map(e=>eV(a,e)))}::int[]) as t(k, ok, s, l)`)}async function eq(e,t,a,n,r){let i=36e5*Math.ceil(n(a.ok.length-1)/36e5),s=[],o=[],l=[],d=[],u=[],c=[],m=[],g=-1,h=[],f=()=>{if(g<0||!h.length)return;let e=eP(h);s.push(g/1e3),o.push(e.checks),l.push(e.failures),d.push(e.p50Ms),u.push(e.p95Ms),c.push(e.maxMs),m.push(e.status5xx)};for(let e=0;e<a.ok.length;e++){let t=36e5*Math.floor(n(e)/36e5);if(!(t>=r)){if(t<i)break;t!==g&&(f(),g=t,h=[]),h.push({ok:1===a.ok[e],statusCode:eW(a,e),latencyMs:eV(a,e)})}}f(),s.length&&await e.db.execute(p.B`
|
|
23
23
|
insert into ops.rollups_hourly (monitor_id, hour, checks, failures, p50_ms, p95_ms, max_ms, status_5xx, maintenance)
|
|
24
24
|
select ${t.id}::uuid, to_timestamp(t.h), t.c, t.f, t.p50, t.p95, t.mx, t.s5, 0
|
|
25
|
-
from unnest(${
|
|
26
|
-
${
|
|
25
|
+
from unnest(${x(s)}::bigint[], ${x(o)}::int[], ${x(l)}::int[], ${x(d)}::int[],
|
|
26
|
+
${x(u)}::int[], ${x(c)}::int[], ${x(m)}::int[]) as t(h, c, f, p50, p95, mx, s5)`)}async function eQ(e,t){let{seed:a,now:n}=e,r=D(a,"collector-runs"),i=6e4*Math.floor((n.getTime()-1e4)/6e4);await e.db.insert(s.collectorRuns).values(Array.from({length:60},(e,n)=>{let s=i-6e4*n,o=s%3e5==0,l=(o?2e3+300*t:600)+r.int(200,1400);return{id:M(a,"collector-run",n),startedAt:new Date(s+1e3),finishedAt:new Date(s+1e3+l),trigger:"manual",tasks:o?["heartbeats","checks","vercel","alerts"]:["heartbeats","vercel","alerts"],ok:!0,durationMs:l,checks:o?t:0}}))}async function eY(e,t,a,n){await e.transaction(async e=>{let r={db:e,seed:t,now:a,email:n};await e$(r);let i=await V(r),s=await eH(r,i);await G(r,i,s.monitors);let o=await ew(r,i),l=await eM(r,i,o),d=await O(r,i,s,o,l);await ej(r,d,l,s),await eT(r,i,s,o,l,d),await eC(r,i),await eE(r),await eO(r)})}var eZ=e.i(915631),eX=e.i(917519);let eJ=0,e0=()=>Date.now()+eJ;function e1(e=process.env){let t=Number(((0,o.d)(e,"DEMO_POOL_MAX")??"").trim());return Number.isInteger(t)&&t>=1?t:3}let e5=globalThis.__watchpostDemoPool??={entries:new Map,live:new Set,waiters:new Set,creating:0,creationQueue:[]};function e6(){let e=[...e5.waiters];for(let t of(e5.waiters.clear(),e))t()}function e2(e){!e.evicted||e.leases>0||e.closing||(e.closing=e.pglite.then(e=>e.close()).catch(()=>void 0).finally(()=>{e5.live.delete(e),e6()}))}function e4(e){e5.entries.get(e.seed)===e&&e5.entries.delete(e.seed),e.evicted=!0,0===e5.entries.size&&e5.sweeper&&(clearInterval(e5.sweeper),e5.sweeper=void 0),e2(e),e6()}let e3=e=>e.created&&0===e.leases&&!e.evicted,e8=(e,t)=>e3(e)&&t-e.lastUsed>=6e4;function e9(e=e0()){for(let t of[...e5.entries.values()])e3(t)&&e-t.lastUsed>12e5&&e4(t)}async function e7(e){let t=e0()+5e3;for(;;){if(e.evicted)throw Error("The demo database was closed. Reload the page.");if(e5.live.size<e1())return void e5.live.add(e);let a=e0(),n=[...e5.entries.values()].find(e=>e8(e,a));if(n){e4(n),await n.closing;continue}let r=t-a;if(r<=0)throw c(l);await function(e){return new Promise(t=>{let a=setTimeout(n,e);function n(){clearTimeout(a),e5.waiters.delete(n),t()}e5.waiters.add(n)})}(Math.min(r,function(e){let t=1/0;for(let a of e5.entries.values())e3(a)&&(t=Math.min(t,a.lastUsed+6e4-e));return Math.max(0,t)}(a)+1))}}async function te(){e5.creating<2?e5.creating++:await new Promise(e=>e5.creationQueue.push(e))}async function tt(e,t){if(!eX.k.take(await (0,eZ.R)(),e.seed))throw c(d);await e7(e);try{let o=t??await (0,eZ._)();await te();try{let t=await a.f.create();try{let a=(0,n.f)({client:t,schema:s});await (0,r.f)(a,{migrationsFolder:(0,i.selfhostMigrationsFolder)()}),await eY(a,e.seed,new Date,o)}catch(e){throw await t.close().catch(()=>void 0),e}return e.created=!0,t}finally{let e;(e=e5.creationQueue.shift())?e():e5.creating--}}catch(t){throw e5.live.delete(e),t}finally{e6()}}function ta(e,t){if(!e)throw Error("Demo seed missing");e9();let a=e5.entries.get(e);if(a)e5.entries.delete(e);else{let n={seed:e,created:!1,lastUsed:0,leases:0,evicted:!1};n.pglite=tt(n,t),n.pglite.catch(()=>{e5.entries.get(e)===n&&e5.entries.delete(e)}),a=n}return a.lastUsed=e0(),e5.entries.set(e,a),e5.sweeper||(e5.sweeper=setInterval(()=>e9(),6e4),e5.sweeper.unref?.()),a}async function tn(e,t,a){let n=ta(e,a);n.leases++;try{return await t(await n.pglite)}finally{n.leases--,n.lastUsed=e0(),e2(n),e6()}}async function tr(){for(let e of[...e5.entries.values()])e4(e);await Promise.all([...e5.live].map(e=>e.closing))}e.s(["BUSY_WAIT_MS",0,5e3,"DEFAULT_POOL_MAX",0,3,"DEMO_BUSY",0,l,"DEMO_TOO_MANY",0,d,"IDLE_MS",0,12e5,"MAX_CREATING",0,2,"RECENT_MS",0,6e4,"closeDemoPool",0,tr,"demoDbFor",0,function(e,t){return ta(e,t).pglite},"demoPoolMax",0,e1,"setDemoPoolClockOffsetForTests",0,function(e){if(!process.env.VITEST)throw Error("setDemoPoolClockOffsetForTests is for tests only");eJ=e,e6()},"sweepIdleDemoDbs",0,e9,"withDemoDb",0,tn],218550)}];
|
|
27
27
|
|
|
28
28
|
//# sourceMappingURL=src_lib_demo_pool_ts_17xz9bk-d5uic._.js.map
|