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,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[732084,e=>{var t=e.i(954757);e.s(["z",0,t])},109068,686921,e=>{let t={vercel:{name:"Vercel",icon:"triangle",credentialKind:"Access token",createUrl:"https://vercel.com/account/settings/tokens",needs:["Scope: your account","An expiry date. The console warns you 14 days before it ends."],accessNote:"Full account (no read-only option)",multiAccount:!1,note:"One account. Tokens can't be read-only, so actions always ask for confirmation."},supabase:{name:"Supabase",icon:"bolt",credentialKind:"Scoped access token",createUrl:"https://supabase.com/dashboard/account/tokens",needs:["Projects read: status, region, Postgres version","Project admin read: service health","Analytics usage read: last API traffic and auto-pause risk","Organization admin read: free plan, for the free-slot count","Database read: database size, once a day (checked at the first daily read, because testing it would query your database)","Project admin write, only if you want pause and restore (stage 6)"],accessNote:"Projects, health, analytics, organization and database read",multiAccount:!0,note:"Each account gets 2 free active projects. Use scoped tokens: read-only, plus project admin if you want pause and restore."},neon:{name:"Neon",icon:"database",credentialKind:"API key",createUrl:"https://console.neon.tech/app/settings/api-keys",needs:["A personal or project API key. Neon has no read-only keys."],accessNote:"All projects (no read-only option)",multiAccount:!0,note:"No read-only keys exist, so keys stay on the server."},firebase:{name:"Firebase",icon:"flame",credentialKind:"Service account JSON",createUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts",needs:["Roles on each project: firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer","Turn on the Cloud Monitoring API in the project for reads, writes, and deletes today"],accessNote:"firebase.viewer, datastore.viewer, monitoring.viewer, firebaseauth.viewer",multiAccount:!0,json:!0,note:"One service account per Google account, with viewer roles only."},turso:{name:"Turso",icon:"database",credentialKind:"Platform API token",createUrl:"https://app.turso.tech/account/api-tokens",needs:["A platform API token limited to one organization (turso auth api-tokens mint watchbell --org <your-org>)","Turso has no read-only platform tokens; the console only lists databases and reads usage","Not a database token: database and group tokens can't list anything"],accessNote:"One organization: databases and usage (no read-only option)",multiAccount:!0,note:"Lists databases and reads this month's rows read and written and storage against the free plan. Keys stay on the server."},upstash:{name:"Upstash",icon:"bolt",credentialKind:"Developer API key",createUrl:"https://console.upstash.com/account/api",needs:["A Developer API key created as Read Only (Account → Management API)","Paste it as your-email:API_KEY (Upstash signs API calls with the account email and the key)","Native Upstash accounts only: a database made through the Vercel integration can't be read this way"],accessNote:"Read-only Developer API key: Redis databases and stats",multiAccount:!0,note:"Redis databases with their region, commands this month and data size against the free plan. QStash is budgeted in Settings."},cloudflare:{name:"Cloudflare",icon:"cloud",credentialKind:"API token",createUrl:"https://dash.cloudflare.com/profile/api-tokens",needs:["Zone: Read, DNS: Read, SSL and Certificates: Read","Zone Settings: Read, to show each zone's SSL/TLS mode (optional)","Zone → DNS → Edit, only if the owner wants to edit records from the DNS records page (never create or delete)","Account → D1 → Read, to watch Cloudflare D1 databases (size and tables); add Account → Account Analytics → Read for their rows read and written (optional)","Not needed: Registrar (domain expiry comes from RDAP)"],accessNote:"Zone, DNS, SSL and Certificates read",multiAccount:!0,note:"A read-only API token is enough to watch. Add DNS Edit only to change records from the console. Domain expiry comes from RDAP, so Registrar access isn't needed."},github:{name:"GitHub",icon:"github",credentialKind:"Fine-grained token",createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A fine-grained token (it starts with github_pat_); classic tokens can't be limited to read-only","Repository access: all repositories, or only the ones your apps deploy from","Repository permissions, each Read-only: Metadata, Contents, Actions. Nothing else","An expiry date. The console warns you 14 days before it ends."],accessNote:"Metadata, Contents and Actions read",multiAccount:!1,note:"A read-only fine-grained token. Sync lists your repositories; apps are linked to theirs, and their GitHub Actions status shows on the app page."},github_write:{name:"GitHub (PR write)",icon:"github",credentialKind:"Fine-grained token",createUrl:"https://github.com/settings/personal-access-tokens/new",needs:["A separate fine-grained token (it starts with github_pat_), not the read-only one above","Repository access: Only select repositories, the ones you want update PRs for","Repository permissions: Contents: Read and write, Pull requests: Read and write, Commit statuses: Read (for automatic merges). Nothing else (Metadata read is added by GitHub)","An expiry date. The console warns you 14 days before it ends."],accessNote:"Contents and Pull requests read and write, Commit statuses read, chosen repositories",multiAccount:!1,note:"Optional. Opens pull requests that update vulnerable packages (when you approve one, or by itself with Automatic security fixes) and, with automatic fixes and auto-rollback on, squash-merges Watchbell's own PRs once CI, the Vercel preview and its smoke test pass. It never pushes to the default branch directly."}};e.s(["L",0,["vercel","supabase","neon","firebase","turso","upstash","cloudflare","github","github_write"],"m",0,t],686921),e.s(["A",0,function(e){return null===e?"Can't read the stored credential. The encryption key changed. Replace the credential.":null},"E",0,function(e){return e.ok?{status:"ok",lastError:null}:"auth"===e.kind?{status:"error",lastError:e.error}:null},"z",0,function(e,a,r){let n=t[e];if(!n.multiAccount&&r.count>=1)return{ok:!1,error:`${n.name} supports one account. Replace its credential instead.`};let s=a.trim();return s?s.length>40?{ok:!1,error:"Keep the name under 40 characters."}:r.labels.includes(s)?{ok:!1,error:`${n.name} already has an account called ${s}.`}:{ok:!0,label:s}:{ok:!1,error:"Enter a name for this account."}}],109068)},247730,e=>{var t=e.i(530385),a=e.i(93321),r=e.i(351674),n=e.i(548734),s=e.i(837137),o=e.i(556987);async function i(){let[e,i]=await Promise.all([(0,n.f)().select({id:s.resources.id,kind:s.resources.kind,name:s.resources.name,firstSeenAt:s.resources.firstSeenAt,parentId:s.resources.parentId,team:r.B`${s.resources.meta}->>'teamSlug'`}).from(s.resources).where((0,a.y)(s.resources.kind,["app","supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"])).orderBy((0,t.M)(s.resources.firstSeenAt),(0,t.M)(s.resources.id)).limit(2e3),(0,n.f)().select({id:s.accounts.id,label:s.accounts.label,createdAt:s.accounts.createdAt}).from(s.accounts).orderBy((0,t.M)(s.accounts.createdAt),(0,t.M)(s.accounts.id)).limit(200)]);return(0,o.n)(e,i)}e.s(["f",0,i])},30184,288666,449734,15827,944808,112735,354448,584897,45468,743303,418864,e=>{var t=e.i(93321),a=e.i(530385),r=e.i(548734),n=e.i(837137),s=e.i(351674),o=e.i(109068),i=e.i(358179),u=e.i(601219),l=e.i(669943),c=e.i(492665),d=e.i(188546),p=e.i(182622),m=e.i(233711),f=e.i(714779),h=e.i(44925),g=e.i(572134),k=e.i(558418),y=e.i(26972),b=e.i(689963),w=e.i(427221),z=e.i(827857),A=e.i(811365),I=e.i(732084),j=e.i(149310);let v=y.z.object({error:y.z.object({status:w.z.string().optional(),message:w.z.string().optional(),details:b.z.array(I.z.looseObject({reason:w.z.string().optional()})).optional()})}),_=y.z.object({message:w.z.string()}),$=y.z.object({missing_permissions:b.z.array(w.z.string()).min(1)}),S=y.z.object({error:j.z.enum(["invalid_grant","invalid_client","unauthorized_client"])});async function P(e,t,a,r={}){let n,s,o=r.timeoutMs??5e3,i={Accept:"application/json"};a.token?i.Authorization=`Bearer ${a.token}`:a.basic&&(i.Authorization=`Basic ${Buffer.from(`${a.basic.user}:${a.basic.pass}`).toString("base64")}`),a.form?n=a.form:void 0!==a.body&&(i["Content-Type"]="application/json",n=JSON.stringify(a.body));try{s=await (r.fetch??fetch)(t,{method:a.method??"GET",headers:i,body:n,signal:AbortSignal.timeout(o),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)?`${e} didn't answer within ${Math.round(o/1e3)} seconds.`:`Couldn't reach ${e}.`}}let u=await s.json().catch(()=>null);if(s.ok)return{ok:!0,data:u};let l=v.safeParse(u),c=l.success?l.data.error.details?.find(e=>e.reason)?.reason??l.data.error.status:void 0,d=l.success?void 0:_.safeParse(u),p=l.success?l.data.error.message?.slice(0,300):d?.success?d.data.message.slice(0,600):void 0,m={status:s.status,...c?{reason:c}:{},...p?{message:p}:{}};if(403===s.status){let t=$.safeParse(u);if(t.success){let e=t.data.missing_permissions;return{ok:!1,kind:"scope",...m,missing:e,error:`Missing permission${e.length>1?"s":""}: ${e.join(", ")}.`}}if(l.success)return{ok:!1,kind:"scope",...m,error:`${e} refused this request (${c??"PERMISSION_DENIED"}).`}}if(401===s.status||403===s.status||400===s.status&&S.safeParse(u).success)return{ok:!1,kind:"auth",...m,error:`${e} rejected this credential (${s.status}).`};if(404===s.status)return{ok:!1,kind:"missing",...m,error:`${e} doesn't know this resource (404).`};if(429===s.status){let t=Number(s.headers.get("Retry-After"));return{ok:!1,kind:"transient",...m,retryAfterS:Number.isFinite(t)&&t>0?t:60,error:"RESOURCE_EXHAUSTED"===c?`${e} says a quota is used up.`:`${e} says there were too many requests.`}}return{ok:!1,kind:"transient",...m,error:`${e} returned an error (${s.status}).`}}let C=(e,t)=>({ok:!1,kind:"format",error:`${e} answered ${t} in a format the console doesn't recognise.`});async function R(e,t={}){let a=await P("Firebase","https://firebase.googleapis.com/v1beta1/projects?pageSize=100",{token:e},t);if(!a.ok)return a;let r=y.z.object({results:b.z.array(y.z.object({projectId:w.z.string(),displayName:w.z.string().optional(),state:w.z.string().optional()})).optional()}).safeParse(a.data);return r.success?{ok:!0,data:(r.data.results??[]).filter(e=>"DELETED"!==e.state).map(e=>({projectId:e.projectId,displayName:e.displayName??e.projectId}))}:C("Firebase","the project list")}async function T(e,t,a={}){return N(e,await R(t,a))}function N(e,t){if(!t.ok&&"scope"!==t.kind)return t;let a=t.ok?t.data:[];return{ok:!0,data:a.some(t=>t.projectId===e.project_id)?a:[{projectId:e.project_id,displayName:e.project_id},...a]}}async function x(e,t,a={}){let r=performance.now(),n=await P("Firestore",`https://firestore.googleapis.com/v1/projects/${encodeURIComponent(t)}/databases/(default)/documents/ops/ping`,{token:e},a),s=Math.round(performance.now()-r);if(n.ok)return{ok:!0,data:{reachable:!0,noDatabase:!1,latencyMs:s}};if("missing"===n.kind){let e=/database .*does not exist/i.test(n.message??"");return{ok:!0,data:{reachable:!e,noDatabase:e,latencyMs:s}}}return n}async function D(e,t,a={}){let r=await P("Firebase Auth",`https://identitytoolkit.googleapis.com/v1/projects/${encodeURIComponent(t)}/accounts:query`,{method:"POST",token:e,body:{returnUserInfo:!1}},a);if(!r.ok)return r;let n=y.z.object({recordsCount:z.z.union([w.z.string(),A.z.number()]).optional()}).safeParse(r.data),s=n.success?Number(n.data.recordsCount??0):0/0;return Number.isFinite(s)?{ok:!0,data:s}:C("Firebase Auth","the user count")}e.s(["R",0,P,"t",0,C],288666);let E=y.z.object({timeSeries:b.z.array(y.z.object({points:b.z.array(y.z.object({value:y.z.object({int64Value:z.z.union([w.z.string(),A.z.number()]).optional()})})).optional()})).optional()});async function U(e,t,a,r,n,s){let o=new URLSearchParams({filter:`metric.type="firestore.googleapis.com/document/${a}_ops_count"`,"interval.startTime":r.toISOString(),"interval.endTime":n.toISOString(),"aggregation.alignmentPeriod":`${Math.max(60,Math.ceil((n.getTime()-r.getTime())/1e3))}s`,"aggregation.perSeriesAligner":"ALIGN_SUM","aggregation.crossSeriesReducer":"REDUCE_SUM"}),i=await P("Cloud Monitoring",`https://monitoring.googleapis.com/v3/projects/${encodeURIComponent(t)}/timeSeries?${o}`,{token:e},s);if(!i.ok)return i;let u=E.safeParse(i.data);return u.success?{ok:!0,data:(u.data.timeSeries??[]).flatMap(e=>e.points??[]).reduce((e,t)=>e+Number(t.value.int64Value??0),0)}:C("Cloud Monitoring","the Firestore usage")}async function M(e,t,a,r,n={}){let[s,o,i]=await Promise.all(["read","write","delete"].map(s=>U(e,t,s,a,r,n)));for(let e of[s,o,i])if(!e.ok)return e;return{ok:!0,data:{reads:s.data,writes:o.data,deletes:i.data}}}e.s(["q",0,D,"z",0,T,"W",0,M,"G",0,x,"E",0,R,"b",0,N],449734);var O=e.i(666680),q=e.i(899370),B=e.i(61675);let V=y.z.object({type:q.z.literal("service_account"),project_id:w.z.string().min(1),client_email:B.z.email(),private_key:w.z.string().includes("PRIVATE KEY"),private_key_id:w.z.string().optional()});function L(e){try{let t=V.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}let F="https://oauth2.googleapis.com/token",J=["https://www.googleapis.com/auth/datastore","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/monitoring.read","https://www.googleapis.com/auth/firebase.readonly"],G=e=>Buffer.from(e).toString("base64url");async function K(e,t={}){let a;try{var r;let n,s,o;r=Math.floor((t.now??new Date).getTime()/1e3),n=G(JSON.stringify({alg:"RS256",typ:"JWT",...e.private_key_id?{kid:e.private_key_id}:{}})),s=G(JSON.stringify({iss:e.client_email,scope:J.join(" "),aud:F,iat:r,exp:r+3600})),o=(0,O.createSign)("RSA-SHA256").update(`${n}.${s}`).sign(e.private_key),a=`${n}.${s}.${G(o)}`}catch{return{ok:!1,kind:"auth",error:"The private key in this service account can't be used. Paste the whole JSON file again."}}let n=new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:a}),s=await P("Google",F,{method:"POST",form:n},t);if(!s.ok)return"auth"===s.kind?{...s,error:"Google rejected this service account (its key was deleted or disabled). Create a new key."}:s;let o=y.z.object({access_token:w.z.string().min(1)}).safeParse(s.data);return o.success?{ok:!0,data:o.data.access_token}:C("Google","the access token")}e.s(["X",0,K,"p",0,L,"m",0,V],15827);var H=e.i(83931);let Z="https://console.neon.tech/api/v2",Y="Neon";async function W(e,t={}){let a=await P(Y,`${Z}/users/me/organizations`,{token:e},t);if(!a.ok)return a;let r=y.z.object({organizations:b.z.array(y.z.object({id:w.z.string(),name:w.z.string()}))}).safeParse(a.data);return r.success?{ok:!0,data:r.data.organizations}:C(Y,"the organization list")}let Q=y.z.object({id:w.z.string(),name:w.z.string(),region_id:w.z.string(),pg_version:A.z.number().nullish(),created_at:w.z.string(),org_id:w.z.string().nullish()});async function X(e,t,a={}){let r,n=[];for(let s=0;s<5;s++){let s=new URLSearchParams({limit:String(100)});t&&s.set("org_id",t),r&&s.set("cursor",r);let o=await P(Y,`${Z}/projects?${s}`,{token:e},a);if(!o.ok)return o;let i=y.z.object({projects:b.z.array(Q),pagination:y.z.object({cursor:w.z.string().nullish()}).nullish()}).safeParse(o.data);if(!i.success)return C(Y,"the project list");for(let e of i.data.projects)n.push({id:e.id,name:e.name,region:e.region_id,pgVersion:e.pg_version??null,orgId:e.org_id??t,createdAt:e.created_at});if(r=i.data.pagination?.cursor??void 0,i.data.projects.length<100||!r)break}return{ok:!0,data:n}}async function ee(e,t={}){let a=await W(e,t);if(!a.ok&&"missing"!==a.kind&&"scope"!==a.kind)return a;let r=a.ok&&a.data.length?a.data.map(e=>e.id):[null],n=[];for(let a of r){let r=await X(e,a,t);if(!r.ok)return r;n.push(...r.data)}return{ok:!0,data:n}}let et=y.z.object({project:y.z.object({region_id:w.z.string(),pg_version:A.z.number().nullish(),compute_time_seconds:A.z.number().nullish(),data_transfer_bytes:A.z.number().nullish(),active_time_seconds:A.z.number().nullish(),consumption_period_start:w.z.string().nullish(),consumption_period_end:w.z.string().nullish(),compute_last_active_at:w.z.string().nullish()})});async function ea(e,t,a={}){let r=await P(Y,`${Z}/projects/${encodeURIComponent(t)}`,{token:e},a);if(!r.ok)return r;let n=et.safeParse(r.data);if(!n.success)return C(Y,"the project");let s=n.data.project;return{ok:!0,data:{computeSeconds:s.compute_time_seconds??0,transferBytes:s.data_transfer_bytes??0,activeSeconds:s.active_time_seconds??null,periodStart:s.consumption_period_start??null,periodEnd:s.consumption_period_end??null,region:s.region_id,pgVersion:s.pg_version??null,lastActive:s.compute_last_active_at??null}}}let er=y.z.object({id:w.z.string(),branch_id:w.z.string(),current_state:w.z.string(),pending_state:w.z.string().nullish(),disabled:H.z.boolean().nullish(),autoscaling_limit_min_cu:A.z.number(),autoscaling_limit_max_cu:A.z.number(),last_active:w.z.string().nullish()}),en=e=>({id:e.id,branchId:e.branch_id,state:e.current_state,pendingState:e.pending_state??null,disabled:e.disabled??!1,minCu:e.autoscaling_limit_min_cu,maxCu:e.autoscaling_limit_max_cu,lastActive:e.last_active??null});async function es(e,t,a={}){let r=await P(Y,`${Z}/projects/${encodeURIComponent(t)}/endpoints`,{token:e},a);if(!r.ok)return r;let n=y.z.object({endpoints:b.z.array(er)}).safeParse(r.data);return n.success?{ok:!0,data:n.data.endpoints.map(en)}:C(Y,"the compute list")}async function eo(e,t,a,r={}){let n=await P(Y,`${Z}/projects/${encodeURIComponent(t)}/endpoints/${encodeURIComponent(a)}`,{token:e},r);if(!n.ok)return n;let s=y.z.object({endpoint:er}).safeParse(n.data);return s.success?{ok:!0,data:en(s.data.endpoint)}:C(Y,"the compute")}async function ei(e,t,a,r={}){let n=await P(Y,`${Z}/projects/${encodeURIComponent(t)}/endpoints/${encodeURIComponent(a)}/start`,{method:"POST",token:e},r);return n.ok?{ok:!0,data:null}:423===n.status?{ok:!1,kind:"busy",status:423,error:"Neon is busy with another operation. Try again in a minute."}:403===n.status?{ok:!1,kind:"scope",status:403,error:`${Y} refused this request (403).`}:n}let eu=y.z.object({id:w.z.string(),name:w.z.string(),default:H.z.boolean().nullish(),primary:H.z.boolean().nullish(),logical_size:A.z.number().nullish()});async function el(e,t,a={}){let r=await P(Y,`${Z}/projects/${encodeURIComponent(t)}/branches`,{token:e},a);if(!r.ok)return r;let n=y.z.object({branches:b.z.array(eu)}).safeParse(r.data);return n.success?{ok:!0,data:n.data.branches.map(e=>({id:e.id,name:e.name,isDefault:e.default??e.primary??!1,logicalSize:e.logical_size??null}))}:C(Y,"the branch list")}e.s(["m",0,ee,"c",0,eo,"Z",0,ea,"e",0,el,"k",0,es,"d",0,ei],944808);var ec=e.i(191179);let ed="https://api.supabase.com",ep="Supabase",em=["auth","rest","realtime","storage","db"],ef=y.z.object({ref:w.z.string(),name:w.z.string(),region:w.z.string(),created_at:w.z.string(),status:w.z.string(),organization_slug:w.z.string().optional(),organization_id:w.z.string().optional(),database:y.z.object({version:w.z.string().optional()}).nullish()}),eh=e=>({ref:e.ref,name:e.name,orgSlug:e.organization_slug??e.organization_id??"",region:e.region,createdAt:e.created_at,status:e.status,pgVersion:e.database?.version??null});async function eg(e,t={}){let a=await P(ep,`${ed}/v1/projects`,{token:e},t);if(!a.ok)return a;let r=b.z.array(ef).safeParse(a.data);return r.success?{ok:!0,data:r.data.map(eh)}:C(ep,"the project list")}async function ek(e,t,a={}){let r=await P(ep,`${ed}/v1/projects/${encodeURIComponent(t)}`,{token:e},a);if(!r.ok)return r;let n=ef.safeParse(r.data);return n.success?{ok:!0,data:eh(n.data)}:C(ep,"the project")}async function ey(e,t,a,r){let n=await P(ep,`${ed}/v1/projects/${encodeURIComponent(e)}/${t}`,{method:"POST",token:a},r);return n.ok?{ok:!0,data:null}:403===n.status&&"scope"!==n.kind?{...n,kind:"scope",error:"Missing permission: project_admin_write."}:n}async function eb(e,t,a={}){let r=await P(ep,`${ed}/v1/projects/${encodeURIComponent(t)}/database/query/read-only`,{method:"POST",token:e,body:{query:"select 1"}},a);return r.ok?{ok:!0,data:null}:r}async function ew(e,t,a={}){let r=await P(ep,`${ed}/v1/organizations/${encodeURIComponent(t)}`,{token:e},a);if(!r.ok)return r;let n=y.z.object({plan:w.z.string().optional()}).safeParse(r.data);return n.success?{ok:!0,data:n.data.plan??null}:C(ep,"the organization")}async function ez(e,t,a={}){let r=new URLSearchParams(em.map(e=>["services",e])),n=await P(ep,`${ed}/v1/projects/${encodeURIComponent(t)}/health?${r}`,{token:e},a);if(!n.ok)return n;let s=b.z.array(y.z.object({name:w.z.string(),status:w.z.string(),error:w.z.string().optional()})).safeParse(n.data);return s.success?{ok:!0,data:s.data.map(e=>({name:e.name,status:e.status,error:e.error??null}))}:C(ep,"service health")}let eA=y.z.object({result:b.z.array(y.z.object({timestamp:w.z.string(),total_auth_requests:A.z.number(),total_realtime_requests:A.z.number(),total_rest_requests:A.z.number(),total_storage_requests:A.z.number()})).optional(),error:ec.z.unknown().optional()});async function eI(e,t,a={}){let r=await P(ep,`${ed}/v1/projects/${encodeURIComponent(t)}/analytics/endpoints/usage.api-counts?interval=7day`,{token:e},a);if(!r.ok)return r;let n=eA.safeParse(r.data);return n.success?n.data.error?{ok:!1,kind:"transient",error:"Supabase couldn't read the API request counts this time."}:{ok:!0,data:(n.data.result??[]).map(e=>({at:new Date(e.timestamp),total:e.total_auth_requests+e.total_realtime_requests+e.total_rest_requests+e.total_storage_requests}))}:C(ep,"the API request counts")}async function ej(e,t,a={}){let r={used:["projects_read"],missing:[],notes:[]},n=t.find(e=>e.status.startsWith("ACTIVE_")),s=(n??t[0])?.orgSlug,o=[];n?(o.push(["project_admin_read",ez(e,n.ref,a)]),o.push(["analytics_usage_read",eI(e,n.ref,a)])):r.notes.push("Health and API traffic are checked once a project is active"),s&&o.push(["organization_admin_read",ew(e,s,a)]);let i=await Promise.all(o.map(([,e])=>e));return o.forEach(([e],t)=>{let a=i[t];a.ok?r.used.push(e):"scope"===a.kind||"auth"===a.kind?r.missing.push(...a.missing??[e]):r.notes.push(`${e} couldn't be checked just now (${a.error})`)}),r.notes.push("Database read is checked at the first daily size read"),r}e.s(["W",0,{project_admin_read:"Service health stays empty",analytics_usage_read:"Last API traffic and Auto-pause risk stay empty",organization_admin_read:"Free slots assume every organization is on the free plan",database_read:"Database size stays empty"},"Z",0,eI,"e",0,ek,"i",0,eb,"X",0,eg,"K",0,ew,"c",0,(e,t,a={})=>ey(t,"pause",e,a),"G",0,(e,t,a={})=>ey(t,"restore",e,a),"F",0,ez,"T",0,ej],112735);let ev="https://api.turso.tech/v1",e_="Turso",e$=y.z.object({slug:w.z.string(),name:w.z.string().default(""),plan_id:w.z.string().nullish(),blocked_reads:H.z.boolean().nullish(),blocked_writes:H.z.boolean().nullish()});async function eS(e,t={}){let a=await P(e_,`${ev}/organizations`,{token:e},t);if(!a.ok)return a;let r=b.z.array(e$).safeParse(a.data);return r.success?{ok:!0,data:r.data.map(e=>({slug:e.slug,name:e.name||e.slug,plan:e.plan_id??null,blockedReads:e.blocked_reads??!1,blockedWrites:e.blocked_writes??!1}))}:C(e_,"the organization list")}let eP=y.z.object({Name:w.z.string(),DbId:w.z.string(),group:w.z.string().nullish(),primaryRegion:w.z.string().nullish(),block_reads:H.z.boolean().nullish(),block_writes:H.z.boolean().nullish()});async function eC(e,t,a={}){let r=await P(e_,`${ev}/organizations/${encodeURIComponent(t)}/databases`,{token:e},a);if(!r.ok)return r;let n=y.z.object({databases:b.z.array(eP)}).safeParse(r.data);return n.success?{ok:!0,data:n.data.databases.map(e=>({id:e.DbId,name:e.Name,org:t,group:e.group??null,primaryRegion:e.primaryRegion??null,blockReads:e.block_reads??!1,blockWrites:e.block_writes??!1}))}:C(e_,"the database list")}async function eR(e,t={}){let a=await eS(e,t);if(!a.ok)return a;let r=[];for(let n of a.data.slice(0,10)){let a=await eC(e,n.slug,t);if(!a.ok)return a;r.push(...a.data)}return{ok:!0,data:r}}let eT=y.z.object({rows_read:A.z.number().default(0),rows_written:A.z.number().default(0),storage_bytes:A.z.number().default(0)}),eN=y.z.object({organization:y.z.object({usage:eT.extend({databases:A.z.number().nullish()})}),databases:b.z.array(y.z.object({uuid:w.z.string(),total:eT.nullish()})).nullish()}),ex=e=>({rowsRead:e.rows_read,rowsWritten:e.rows_written,storageBytes:e.storage_bytes});async function eD(e,t,a={}){let r=await P(e_,`${ev}/organizations/${encodeURIComponent(t)}/usage`,{token:e},a);return r.ok?function(e){let t=eN.safeParse(e);if(!t.success)return C(e_,"the usage");let a=new Map;for(let e of t.data.databases??[])e.total&&a.set(e.uuid,ex(e.total));return{ok:!0,data:{org:{...ex(t.data.organization.usage),databases:t.data.organization.usage.databases??null},byDb:a}}}(r.data):r}e.s(["t",0,eR,"X",0,eC,"u",0,eS,"d",0,eD],354448);let eE="https://api.upstash.com/v2",eU="Upstash";function eM(e){let t=e.trim(),a=t.search(/[:\s]/);if(a<=0)return null;let r=t.slice(0,a).trim(),n=t.slice(a+1).trim();return!/^[^@\s:]+@[^@\s:]+\.[^@\s:]+$/.test(r)||n.length<20||/\s/.test(n)?null:{email:r,apiKey:n}}let eO=e=>({basic:{user:e.email,pass:e.apiKey}}),eq=y.z.object({database_id:w.z.string(),database_name:w.z.string(),region:w.z.string().nullish(),primary_region:w.z.string().nullish(),state:w.z.string().nullish(),type:w.z.string().nullish()});async function eB(e,t={}){let a=await P(eU,`${eE}/redis/databases`,eO(e),t);if(!a.ok)return a;let r=b.z.array(eq).safeParse(a.data??[]);return r.success?{ok:!0,data:r.data.map(e=>({id:e.database_id,name:e.database_name,region:"global"===e.region&&e.primary_region?`global \xb7 ${e.primary_region}`:e.region??e.primary_region??null,state:e.state??null,type:e.type??null}))}:C(eU,"the database list")}let eV=A.z.number().nullish(),eL=y.z.object({daily_net_commands:eV,total_monthly_requests:eV,current_storage:eV,total_monthly_bandwidth:eV});async function eF(e,t,a={}){var r;let n,s=await P(eU,`${eE}/redis/stats/${encodeURIComponent(t)}`,eO(e),a);return s.ok?(r=s.data,(n=eL.safeParse(r)).success?{ok:!0,data:{dailyCommands:n.data.daily_net_commands??null,monthlyRequests:n.data.total_monthly_requests??null,storageBytes:n.data.current_storage??null,monthlyBandwidthBytes:n.data.total_monthly_bandwidth??null}}:C(eU,"the database stats")):s}e.s(["M",0,eB,"L",0,eM,"Z",0,eF],584897);var eJ=e.i(895176),eG=e.i(201516),eK=e.i(672319);function eH(e,t,a){let r=new Map(e.map(e=>[e.externalId,e])),n=new Set(t.map(e=>e.externalId)),s=new Set(a.keepTeamIds??[]);return{update:t.filter(e=>r.has(e.externalId)).map(e=>({id:r.get(e.externalId).id,name:e.name,meta:e.meta})),insert:t.filter(e=>!r.has(e.externalId)).map(e=>({...e,monitored:a.watchNew})),gone:e.filter(e=>!n.has(e.externalId)&&!(null!==e.teamId&&s.has(e.teamId))).map(e=>e.id)}}function eZ(e,t){return!e.monitored&&t.getTime()-e.firstSeenAt.getTime()<864e5}let eY={vercel:"app",supabase:"supabase_project",neon:"neon_project",firebase:"firestore",cloudflare:"zone",turso:"turso_database",upstash:"upstash_redis"};Object.keys(eY);let eW=e=>Object.hasOwn(eY,e)?eY[e]:null,eQ=e=>"string"==typeof e&&e?e:null;function eX(e,t){return"app"===e?`Vercel project${eQ(t.teamName)?` \xb7 ${t.teamName}`:""}`:"zone"===e?`Cloudflare zone \xb7 ${eQ(t.status)??"unknown"}`:"supabase_project"===e?["Supabase project",eQ(t.status)?(0,eK.P)(String(t.status)).label:null,eQ(t.region)].filter(Boolean).join(" · "):"neon_project"===e?["Neon project",eQ(t.region)].filter(Boolean).join(" · "):"turso_database"===e?["Turso database",eQ(t.group)?`group ${t.group}`:null,eQ(t.region)].filter(Boolean).join(" · "):"upstash_redis"===e?["Upstash Redis",eQ(t.region)].filter(Boolean).join(" · "):"Firebase project"}let e0=e=>"app"===e?"app":"zone"===e?"dom":"firestore"===e?"fs":"db";async function e1(e){let[a]=await (0,r.f)().select().from(n.accounts).where((0,t.u)(n.accounts.id,e)).limit(1);if(!a)return null;let s=(0,i.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,c.f)().OPS_ENCRYPTION_KEY);return{account:a,token:s,problem:(0,o.A)(s)}}async function e4(e,a){let s=new Date;return(await (0,r.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,a),(0,t.M)(n.resources.goneAt))).orderBy(n.resources.name).limit(500)).map(e=>({id:e.id,name:e.name,sub:eX(e.kind,e.meta),monitored:e.monitored,fresh:eZ(e,s),badge:e0(e.kind)}))}async function e3(e,a){let s=await (0,r.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,"app"))),o=s.filter(e=>e.monitored&&!e.goneAt),i=s.filter(e=>!e.monitored||e.goneAt);if(i.length&&await (0,r.f)().update(n.monitors).set({paused:!0,updatedAt:new Date}).where((0,t.y)(n.monitors.resourceId,i.map(e=>e.id))),!o.length)return 0;let u=await (0,r.f)().select({id:n.monitors.id,resourceId:n.monitors.resourceId,paused:n.monitors.paused,ownerPaused:n.monitors.ownerPaused,kind:n.monitors.kind}).from(n.monitors).where((0,t.y)(n.monitors.resourceId,o.map(e=>e.id))),l=(0,eG.Z)(u.filter(e=>"heartbeat"===e.kind));l.length&&await (0,r.f)().update(n.monitors).set({paused:!1,updatedAt:new Date}).where((0,t.y)(n.monitors.id,l));let c=u.filter(e=>"heartbeat"!==e.kind),d=(0,eG.Z)(c),p=new Set(u.map(e=>e.resourceId)),m=[];for(let e of o.filter(e=>!p.has(e.id))){let t=String(e.meta.teamId??""),r=a?await (0,g.q)(a,t,e.externalId,e.name):null;m.push({appId:e.id,url:`https://${r?.ok?r.data:`${e.name}.vercel.app`}/`})}return d.length||m.length?(0,eJ.e)(async e=>{let a=Math.max(0,eG.G-await (0,eJ.Q)(e)),r=new Set,s=d.slice(0,a),o=d.slice(s.length);a-=s.length;let i=new Date;if(s.length&&await e.update(n.monitors).set({paused:!1,updatedAt:i}).where((0,t.y)(n.monitors.id,s)),o.length)for(let a of(await e.update(n.monitors).set({paused:!1,ownerPaused:!0,updatedAt:i}).where((0,t.y)(n.monitors.id,o)),c.filter(e=>o.includes(e.id))))r.add(a.resourceId);for(let t of m){let s=a>0;s?a-=1:r.add(t.appId),await e.insert(n.monitors).values({resourceId:t.appId,url:t.url,ownerPaused:!s}).onConflictDoNothing()}return r.size}):0}async function e2(e,a,s,o){let i=eH((await (0,r.f)().select({id:n.resources.id,externalId:n.resources.externalId,monitored:n.resources.monitored}).from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,"zone")))).map(e=>({...e,teamId:null})),s.map(e=>({externalId:e.id,name:e.name,meta:{status:e.status,accountId:e.accountId,accountName:e.accountName}})),{watchNew:a});await (0,r.f)().transaction(async a=>{for(let e of i.update)await a.update(n.resources).set({name:e.name,meta:e.meta,lastSeenAt:o,goneAt:null,updatedAt:o}).where((0,t.u)(n.resources.id,e.id));i.insert.length&&await a.insert(n.resources).values(i.insert.map(t=>({accountId:e,kind:"zone",externalId:t.externalId,name:t.name,meta:t.meta,monitored:t.monitored}))).onConflictDoNothing({target:[n.resources.accountId,n.resources.kind,n.resources.externalId]}),i.gone.length&&await a.update(n.resources).set({goneAt:o,updatedAt:o}).where((0,t.b)((0,t.y)(n.resources.id,i.gone),(0,t.M)(n.resources.goneAt)))})}async function e6(e,a,s){let i=await (0,h.F)(a);if(!i.ok){let a=(0,o.E)({ok:!1,kind:"scope"===i.kind?"auth":i.kind,error:i.error});return a&&await (0,r.f)().update(n.accounts).set({...a,updatedAt:new Date}).where((0,t.u)(n.accounts.id,e)),{ok:!1,error:i.error}}let u=new Date;await e2(e,s,i.data,u);let l=await (0,h.d)(a);return await (0,r.f)().update(n.accounts).set({lastSyncAt:u,status:"ok",lastError:null,updatedAt:u,...l.ok?{expiresAt:l.data.expiresAt}:{}}).where((0,t.u)(n.accounts.id,e)),{ok:!0}}async function e8(e,t){let a=e=>({ok:!1,kind:"auth"===e.kind||"scope"===e.kind?"auth":"format"===e.kind?"format":"transient",error:e.error});if("vercel"===e){let e=await (0,g.G)(t);return e.ok?{ok:!0,found:e.data.apps,skippedTeams:e.data.skippedTeams,skippedTeamIds:e.data.skippedTeamIds}:{ok:!1,kind:e.kind,error:e.error}}if("supabase"===e){let e=await eg(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.filter(e=>"REMOVED"!==e.status).map(e=>({externalId:e.ref,name:e.name,meta:{orgSlug:e.orgSlug,region:e.region,pgVersion:e.pgVersion,createdAt:e.createdAt,status:e.status}}))}:a(e)}if("neon"===e){let e=await ee(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.map(e=>({externalId:e.id,name:e.name,meta:{orgId:e.orgId,region:e.region,pgVersion:e.pgVersion,createdAt:e.createdAt}}))}:a(e)}if("turso"===e){let e=await eR(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.map(e=>({externalId:e.id,name:e.name,meta:{org:e.org,group:e.group,region:e.primaryRegion}}))}:a(e)}if("upstash"===e){let e=eM(t);if(!e)return{ok:!1,kind:"format",error:"The stored Upstash credential can't be read. Replace it."};let r=await eB(e);return r.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:r.data.map(e=>({externalId:e.id,name:e.name,meta:{region:e.region,type:e.type}}))}:a(r)}let r=L(t);if(!r)return{ok:!1,kind:"format",error:"The stored service account can't be read. Replace the credential."};let n=await K(r);if(!n.ok)return a(n);let s=await T(r,n.data);return s.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:s.data.map(e=>({externalId:e.projectId,name:e.displayName,meta:{projectId:e.projectId}}))}:a(s)}async function e5(e){let a=await e1(e);if(!a)return{ok:!1,error:"That account no longer exists."};let{account:s,token:i,problem:u}=a,l=eW(s.provider);if(!l)return{ok:!1,error:"Sync for this provider arrives in a later stage."};if(u||!i)return{ok:!1,error:u??"The credential can't be read."};if("cloudflare"===s.provider){let t=await e6(e,i,s.watchNew);return t.ok?{ok:!0,rows:await e4(e,l),skippedTeams:[],overLimit:null}:t}let c=await e8(s.provider,i);if(!c.ok){let a=(0,o.E)({ok:!1,kind:c.kind,error:c.error});return a&&await (0,r.f)().update(n.accounts).set({...a,updatedAt:new Date}).where((0,t.u)(n.accounts.id,e)),{ok:!1,error:c.error}}let d=eH((await (0,r.f)().select({id:n.resources.id,externalId:n.resources.externalId,monitored:n.resources.monitored,meta:n.resources.meta}).from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,l)))).map(e=>({id:e.id,externalId:e.externalId,monitored:e.monitored,teamId:"string"==typeof e.meta.teamId?e.meta.teamId:null})),c.found,{watchNew:s.watchNew,keepTeamIds:c.skippedTeamIds}),p="vercel"===s.provider?await (0,g.n)(i):null,m=new Date;await (0,r.f)().transaction(async a=>{for(let e of d.update)await a.update(n.resources).set({name:e.name,meta:e.meta,lastSeenAt:m,goneAt:null,updatedAt:m}).where((0,t.u)(n.resources.id,e.id));d.insert.length&&await a.insert(n.resources).values(d.insert.map(t=>({accountId:e,kind:l,externalId:t.externalId,name:t.name,meta:t.meta,monitored:t.monitored}))).onConflictDoNothing({target:[n.resources.accountId,n.resources.kind,n.resources.externalId]}),d.gone.length&&await a.update(n.resources).set({goneAt:m,updatedAt:m}).where((0,t.b)((0,t.y)(n.resources.id,d.gone),(0,t.M)(n.resources.goneAt))),await a.update(n.accounts).set({lastSyncAt:m,status:"ok",lastError:null,updatedAt:m,...p?.ok?{expiresAt:p.data}:{}}).where((0,t.u)(n.accounts.id,e))});let f="vercel"===s.provider?await e3(e,i):0;return{ok:!0,rows:await e4(e,l),skippedTeams:c.skippedTeams,overLimit:(0,eG.S)(f)}}async function e9(e,a,s){let o=await e1(e);if(!o)return{ok:!1,error:"That account no longer exists."};let i=eW(o.account.provider);if(!i)return{ok:!1,error:"Sync for this provider arrives in a later stage."};let u=(0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,i),(0,t.M)(n.resources.goneAt));await (0,r.f)().transaction(async r=>{let o=new Date;a.length?(await r.update(n.resources).set({monitored:!0,updatedAt:o}).where((0,t.b)(u,(0,t.y)(n.resources.id,a))),await r.update(n.resources).set({monitored:!1,updatedAt:o}).where((0,t.b)(u,(0,t.$)(n.resources.id,a)))):await r.update(n.resources).set({monitored:!1,updatedAt:o}).where(u),await r.update(n.accounts).set({watchNew:s,updatedAt:o}).where((0,t.u)(n.accounts.id,e))});let l="vercel"===o.account.provider?await e3(e,o.token):0,c=await e4(e,i);return{ok:!0,on:c.filter(e=>e.monitored).length,total:c.length,overLimit:(0,eG.S)(l)}}e.s(["f",0,eY,"d",0,e0,"T",0,eZ,"D",0,function(e,t,a){let r=e.filter(e=>!e.goneAt&&(!a||e.kind===a));return{on:r.filter(e=>e.monitored).length,total:r.length,fresh:r.filter(e=>eZ(e,t)).length}},"J",0,eH,"K",0,eW,"S",0,eX],45468),e.s(["v",0,e9,"k",0,e5,"s",0,e2],743303);var e7=e.i(33135);let te=s.B`excluded.meta`;async function tt(e){let a=(0,c.f)().OPS_ENCRYPTION_KEY;return(await (0,r.f)().select().from(n.accounts).where((0,t.b)((0,t.u)(n.accounts.provider,e),(0,t.u)(n.accounts.status,"ok")))).map(e=>{let t=(0,i.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},a);return{acc:e,token:(0,o.A)(t)?null:t}})}async function ta(e,a,s){for(let{acc:i,token:u}of(await tt("cloudflare"))){if(!u){s.push(`cloudflare/${i.label}: credential can't be read`);continue}let c=await (0,h.F)(u);if(!c.ok){let a=(0,o.E)({ok:!1,kind:"scope"===c.kind?"auth":c.kind,error:c.error});if(a&&await (0,r.f)().update(n.accounts).set({...a,updatedAt:e}).where((0,t.u)(n.accounts.id,i.id)),s.push(`cloudflare/${i.label}: ${c.error}`),429===c.status)return;continue}for(let o of(await e2(i.id,i.watchNew,c.data,e),await (0,r.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,i.id),(0,t.u)(n.resources.kind,"zone"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))))){if(a-Date.now()<6e3)return void s.push("cloudflare: skipped remaining zones, time budget used");let t=c.data.find(e=>e.id===o.externalId),[r,n,i]=await Promise.all([(0,h.p)(u,o.externalId),(0,h.v)(u,o.externalId),(0,h.w)(u,o.externalId)]),d=[r,n,i].flatMap(e=>e.ok?[]:[e]),p={zone:{status:t?.status??null,paused:t?.paused??!1,nameServers:t?.nameServers??[],accountId:t?.accountId??null,checkedAt:e.toISOString()},ssl:n.ok?{mode:n.data,error:null}:{mode:null,error:n.error},cfErrors:d.map(e=>e.error)};for(let t of(r.ok?Object.assign(p,{records:r.data.records,recordsTruncated:r.data.truncated}):"scope"===r.kind&&Object.assign(p,{records:[],recordsTruncated:!1}),i.ok?p.certs=i.data:"scope"===i.kind&&(p.certs=[]),await (0,l.r)(o.id,p,e),d))"scope"!==t.kind&&s.push(`cloudflare/${o.name}: ${t.error}`);if(d.some(e=>429===e.status))return}}}async function tr(e,a,s){for(let{acc:o,token:i}of(await tt("vercel"))){if(!i)continue;let u=await (0,r.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,o.id),(0,t.u)(n.resources.kind,"app"))),c=u.filter(e=>e.monitored&&!e.goneAt),d=u.filter(e=>!e.monitored||e.goneAt).map(e=>e.id);for(let u of(d.length&&await (0,r.f)().update(n.resources).set({monitored:!1,updatedAt:e}).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.y)(n.resources.parentId,d))),c)){if(Date.now()>a)return void s.push("domains: skipped remaining apps, time budget used");let c=String(u.meta.teamId??""),d=await (0,g.M)(i,c,u.externalId);if(!d.ok){if(s.push(`domains/${u.name}: ${d.error}`),429===d.status)return;if("auth"===d.kind)break;continue}let p=d.data.filter(e=>!e.gitBranch),f=p.length?await (0,r.f)().insert(n.resources).values(p.map(t=>({accountId:o.id,kind:"domain",externalId:t.name,name:t.name,parentId:u.id,monitored:!0,meta:{redirect:t.redirect,verified:t.verified,projectId:u.externalId},lastSeenAt:e}))).onConflictDoUpdate({target:[n.resources.accountId,n.resources.kind,n.resources.externalId],set:{parentId:u.id,monitored:!0,goneAt:null,lastSeenAt:e,updatedAt:e,meta:te}}).returning({id:n.resources.id,name:n.resources.name}):[];for(let o of(await (0,r.f)().update(n.resources).set({goneAt:e,updatedAt:e}).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.parentId,u.id),(0,t.M)(n.resources.goneAt),p.length?(0,t.$)(n.resources.externalId,p.map(e=>e.name)):void 0)),f.filter(e=>!(0,m.f)(e.name)))){if(Date.now()>a)return;let t=await (0,g.Q)(i,c,o.name);t.ok?await (0,l.r)(o.id,{vercel:{...t.data,checkedAt:e.toISOString()}},e):"transient"===t.kind&&s.push(`domains/${o.name}: ${t.error}`)}}}}async function tn(){return(0,r.f)().select({r:n.resources,s:n.snapshots}).from(n.resources).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt)))}async function ts(){return(0,r.f)().select({r:n.resources,s:n.snapshots}).from(n.resources).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"zone"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt)))}let to=(e,t)=>((0,m.Z)(e)?.getTime()??0)-((0,m.Z)(t)?.getTime()??0);async function ti(e,a,s){let[o]=await (0,r.f)().select({data:n.snapshots.data}).from(n.snapshots).where((0,t.u)(n.snapshots.resourceId,e)).limit(1),i=await (0,f.f)(a,{timeoutMs:5e3});await (0,l.r)(e,{tls:(0,d.o)(i,(0,d.q)(o?.data).tls,s)},s)}async function tu(e,t,a){let r=(await tn()).filter(({r:t,s:a})=>!(0,m.f)(t.name)&&(0,m.Y)((0,d.q)(a?.data).tls?.checkedAt,e)).sort((e,t)=>to((0,d.q)(e.s?.data).tls?.checkedAt,(0,d.q)(t.s?.data).tls?.checkedAt)).slice(0,m.H);await (0,e7.P)(r,4,async({r})=>{if(!(t-Date.now()<6e3))try{await ti(r.id,r.name,e)}catch{a.push(`tls/${r.name}: couldn't save the result`)}})}async function tl(e,a,s,o){let[i]=await (0,r.f)().select({data:n.snapshots.data}).from(n.snapshots).where((0,t.u)(n.snapshots.resourceId,e)).limit(1),u=(0,d.q)(i?.data).rdap,c=o;if(!c){let e=await (0,p.Y)();if(!e.ok)return e.error;c=e.services}let m=(0,p.T)(c,a),f=m?await (0,p.u)(a,m):{ok:!1,error:"The registry has no RDAP server"};return await (0,l.r)(e,{rdap:(0,d.n)(f,u,s)},s),f.ok?null:f.error}async function tc(e,t,a){let r=(await ts()).filter(({r:t,s:a})=>t.monitored&&(0,m.Y)((0,d.q)(a?.data).rdap?.checkedAt,e)).sort((e,t)=>to((0,d.q)(e.s?.data).rdap?.checkedAt,(0,d.q)(t.s?.data).rdap?.checkedAt)).slice(0,m.H);if(!r.length)return;let n=await (0,p.Y)();if(!n.ok)return void a.push(`rdap: ${n.error}`);for(let{r:s}of r){if(t-Date.now()<6e3)return;let r=await tl(s.id,s.name,e,n.services);r&&"The registry has no RDAP server"!==r&&a.push(`rdap/${s.name}: ${r}`)}}async function td(e,t,a){let s=t-Date.now();if(s<1e3)throw Error("skipped, time budget used");let o=await (0,k.z)({timeoutMs:Math.min(8e3,s)});if(!o.ok)return void a.push(`eol: ${o.error}`);let i={cycles:o.cycles,checkedAt:e.toISOString()};await (0,r.f)().insert(n.settings).values({key:k.T,value:i}).onConflictDoUpdate({target:n.settings.key,set:{value:i,updatedAt:e}})}async function tp(e){let t=await ts(),a=[];for(let{r,s:n}of t.filter(e=>e.s)){let t=(0,d.q)(n.data),s=(0,m.G)({status:t.zone?.status??null,paused:t.zone?.paused??!1,rdap:t.rdap},e);(s.state!==n.state||JSON.stringify(s.reasons)!==JSON.stringify(t.reasons))&&(await (0,l.r)(r.id,{reasons:s.reasons},e),s.state!==n.state&&await (0,l.a)(r.id,s.state,e),a.push((0,m.n)({resourceId:r.id,name:r.name,prev:n.state,next:s.state,reasons:s.reasons,at:e})))}let r=t.filter(e=>e.r.monitored).map(e=>e.r.name);for(let{r:n,s}of(await tn())){let o=(0,d.q)(s?.data),i=(0,m.J)(n.name,r),u=i?(0,d.q)(t.find(e=>e.r.name===i)?.s?.data):null,c=(0,m.k)({host:n.name,tls:o.tls,vercel:o.vercel,records:u?(0,m.Q)(n.name,u.records):[],zoneRdap:u?.rdap??null},e),p=s?.state??null;(c.state!==p||JSON.stringify(c.reasons)!==JSON.stringify(o.reasons))&&(await (0,l.r)(n.id,{reasons:c.reasons},e),c.state!==p&&await (0,l.a)(n.id,c.state,e),a.push((0,m.n)({resourceId:n.id,name:n.name,prev:p,next:c.state,reasons:c.reasons,at:e})))}await (0,u.f)(a)}async function tm(){return(0,r.f)().select({r:n.resources,s:n.snapshots,label:n.accounts.label}).from(n.resources).innerJoin(n.accounts,(0,t.u)(n.accounts.id,n.resources.accountId)).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"zone"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))).orderBy((0,a.M)(n.resources.name)).limit(200)}async function tf(){let e=await (0,r.f)().select({r:n.resources,s:n.snapshots}).from(n.resources).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))).orderBy((0,a.M)(n.resources.name)).limit(200);if(!e.length)return[];let s=[...new Set(e.map(e=>e.r.parentId).filter(e=>!!e))],o=s.length?await (0,r.f)().select({id:n.resources.id,name:n.resources.name,monitored:n.resources.monitored,goneAt:n.resources.goneAt}).from(n.resources).where((0,t.y)(n.resources.id,s)):[],i=new Set(o.filter(e=>e.monitored&&!e.goneAt).map(e=>e.id)),u=await tm(),l=u.map(e=>e.r.name);return e.filter(({r:e})=>!e.parentId||i.has(e.parentId)).map(({r:e,s:t})=>{let a=(0,d.q)(t?.data),r=(0,m.J)(e.name,l),n=u.find(e=>e.r.name===r),s=(0,d.q)(n?.s?.data);return{id:e.id,name:e.name,appId:e.parentId,appName:o.find(t=>t.id===e.parentId)?.name??null,zoneId:n?.r.id??null,zoneName:r,isVercel:(0,m.f)(e.name),state:t?.state??"unknown",reasons:a.reasons,tls:a.tls,vercel:a.vercel,records:n?(0,m.Q)(e.name,s.records):[],rdap:n?s.rdap:null,cfAccountId:n?s.zone?.accountId??null:null}})}async function th(){return(await tm()).map(e=>({id:e.r.id,name:e.r.name}))}async function tg(e){let t=await tm(),a=(e?t.find(t=>t.r.id===e):null)??t[0];if(!a)return null;let r=(0,d.q)(a.s?.data);return{id:a.r.id,name:a.r.name,accountId:a.r.accountId,accountLabel:a.label,state:a.s?.state??"unknown",reasons:r.reasons,facts:r}}async function tk(){let[e]=await (0,r.f)().select({value:n.settings.value}).from(n.settings).where((0,t.u)(n.settings.key,k.T)).limit(1),a=e?.value,s=a?(0,k.b)({result:{releases:a.cycles?.map(e=>({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom,latest:e.latest?{name:e.latest}:null}))}}):null;return s&&"string"==typeof a?.checkedAt?{cycles:s,checkedAt:a.checkedAt}:null}async function ty(e){let[a]=await (0,r.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.id,e),(0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))).limit(1);if(!a)return{ok:!1,error:"That domain is no longer watched."};if((0,m.f)(a.name))return{ok:!1,error:"vercel.app domains are Vercel's own. There is nothing to check."};let s=new Date;await ti(a.id,a.name,s);let o=await tm(),i=(0,m.J)(a.name,o.map(e=>e.r.name)),u=o.find(e=>e.r.name===i),l=u?await tl(u.r.id,u.r.name,s):null;return await tp(s),{ok:!0,message:l?`Checked ${a.name}. Domain expiry: ${l}.`:`Checked ${a.name}.`,audit:{message:`Re-check: ${a.name}`,resourceId:a.id}}}e.s(["p",0,["cloudflare","domains","tls","rdap","eol"],"r",0,tl,"x",0,tp,"h",0,ta,"H",0,tr,"i",0,td,"W",0,tc,"V",0,tu,"j",0,ti],418864),e.s(["j",0,tg,"p",0,tf,"c",0,th,"P",0,tk,"_",0,ty],30184)},669943,e=>{var t=e.i(93321),a=e.i(351674),r=e.i(548734),n=e.i(837137);async function s(e,t,s){await (0,r.f)().insert(n.snapshots).values({resourceId:e,data:t,collectedAt:s,stateSince:s}).onConflictDoUpdate({target:n.snapshots.resourceId,set:{data:a.B`${n.snapshots.data} || ${JSON.stringify(t)}::jsonb`,collectedAt:s}})}async function o(e,a,s){await (0,r.f)().update(n.snapshots).set({state:a,stateSince:s}).where((0,t.u)(n.snapshots.resourceId,e))}e.s(["r",0,s,"a",0,o])},960186,e=>{let t={supabase_project:"supabase",neon_project:"neon",firestore:"firebase",turso_database:"turso",upstash_redis:"upstash",d1_database:"d1"};function a(e){return e.toLowerCase().replace(/^webs?[-_]/,"").replace(/[-_](vercel|web|app|site|fe|frontend)$/,"").replace(/[^a-z0-9]/g,"")}e.s(["H",0,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"],"$",0,{supabase:"Supabase",neon:"Neon",firebase:"Firebase",turso:"Turso",upstash:"Upstash",d1:"Cloudflare D1"},"N",0,e=>`/${t[e]}`,"Z",0,e=>t[e],"U",0,function(e,t){let r=a(e);if(!r)return null;let n=t.filter(e=>a(e.name)===r);if(n.length)return 1===n.length?n[0].id:null;let s=t.filter(e=>{let t=a(e.name);return t.length>=4&&r.length>=4&&(r.includes(t)||t.includes(r))});return 1===s.length?s[0].id:null}])},188546,e=>{var t=e.i(26972),a=e.i(427221),r=e.i(83931),n=e.i(689963),s=e.i(811365);let o=t.z.object({notAfter:a.z.string().nullable(),issuer:a.z.string().nullable(),authorized:r.z.boolean().nullable(),error:a.z.string().nullable(),checkedAt:a.z.string()}),i=t.z.object({misconfigured:r.z.boolean(),configuredBy:a.z.string().nullable(),recommendedIps:n.z.array(a.z.string()).default([]),checkedAt:a.z.string()}),u=t.z.object({expiresAt:a.z.string().nullable(),registrar:a.z.string().nullable(),error:a.z.string().nullable(),checkedAt:a.z.string()}),l=t.z.object({id:a.z.string(),type:a.z.string(),name:a.z.string(),content:a.z.string(),proxied:r.z.boolean(),ttl:s.z.number(),comment:a.z.string().nullable()}),c=t.z.object({status:a.z.string().nullable(),paused:r.z.boolean(),nameServers:n.z.array(a.z.string()),accountId:a.z.string().nullable(),checkedAt:a.z.string().nullable()}),d=t.z.object({mode:a.z.string().nullable(),error:a.z.string().nullable()}),p=t.z.object({type:a.z.string(),status:a.z.string(),hosts:n.z.array(a.z.string()),expiresOn:a.z.string().nullable()}),m=(e,t)=>{let a=e.safeParse(t);return a.success?a.data:null},f=(e,t)=>Array.isArray(t)?t.flatMap(t=>{let a=e.safeParse(t);return a.success?[a.data]:[]}):[],h=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e):[];e.s(["q",0,function(e){let t=e??{};return{tls:m(o,t.tls),vercel:m(i,t.vercel),rdap:m(u,t.rdap),records:f(l,t.records),recordsTruncated:!0===t.recordsTruncated,zone:m(c,t.zone),ssl:m(d,t.ssl),certs:f(p,t.certs),cfErrors:h(t.cfErrors),reasons:h(t.reasons)}},"n",0,function(e,t,a){let r=a.toISOString();return e.ok?{expiresAt:e.expiresAt,registrar:e.registrar,error:null,checkedAt:r}:{expiresAt:t?.expiresAt??null,registrar:t?.registrar??null,error:e.error,checkedAt:r}},"o",0,function(e,t,a){let r=a.toISOString();return e.ok?{notAfter:e.notAfter.toISOString(),issuer:e.issuer,authorized:e.authorized,error:null,checkedAt:r}:{notAfter:t?.notAfter??null,issuer:t?.issuer??null,authorized:null,error:e.error,checkedAt:r}}])},182622,714779,44925,572134,558418,e=>{var t=e.i(26972),a=e.i(899370),r=e.i(689963),n=e.i(427221),s=e.i(191179),o=e.i(954757),o=o,i=e.i(761095),u=e.i(33135),l=e.i(261283);let c=e=>e.toLowerCase().replace(/\.$/,"");function d(e){try{let t=new URL(e);return null===(0,l._)(t)&&!(0,i.isIP)(t.hostname.replace(/^[|]$/g,""))}catch{return!1}}let p=t.z.object({objectClassName:a.z.literal("domain"),events:r.z.array(t.z.object({eventAction:n.z.string(),eventDate:n.z.string()})).default([]),entities:r.z.array(t.z.object({roles:r.z.array(n.z.string()).default([]),vcardArray:s.z.unknown().optional()})).default([])});async function m(e,t,a){let r=await (0,u.K)(e,{fetch:a.fetch,lookup:a.lookup,timeoutMs:a.timeoutMs??8e3,maxBytes:524288,headers:{Accept:t},userAgent:"OpsConsole-Network/1.0 (+https://west-solutions.web.id)"});if(!r.ok)return{ok:!1,error:"Blocked address"===r.error?"The registry's RDAP address isn't a public https address":"Couldn't reach the registry's RDAP server"};if(r.truncated)return{ok:!1,error:"The answer was too large"};if(200!==r.status)return{ok:!0,status:r.status,body:null};try{return{ok:!0,status:r.status,body:JSON.parse(r.body)}}catch{return{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}}let f=t.z.object({services:r.z.array(o.tuple([r.z.array(n.z.string()),r.z.array(n.z.string())]))});async function h(e={}){let t=await m("https://data.iana.org/rdap/dns.json","application/json",e);if(!t.ok)return{ok:!1,error:"Couldn't read IANA's RDAP list"};if(200!==t.status)return{ok:!1,error:`IANA's RDAP list returned an error (${t.status})`};let a=f.safeParse(t.body);return a.success?{ok:!0,services:a.data.services}:{ok:!1,error:"IANA's RDAP list is in a format the console doesn't recognise"}}async function g(e,t,a={}){let r=`${t.endsWith("/")?t:`${t}/`}domain/${encodeURIComponent(c(e))}`,n=await m(r,"application/rdap+json, application/json",a);if(!n.ok)return n;if(404===n.status)return{ok:!1,error:"The registry doesn't know this domain"};if(200!==n.status)return{ok:!1,error:`The registry's RDAP server returned an error (${n.status})`};let s=function(e){let t=p.safeParse(e);if(!t.success)return null;let a=t.data.events.find(e=>"expiration"===e.eventAction),r=a?new Date(a.eventDate):null,n=t.data.entities.find(e=>e.roles.includes("registrar"));return{expiresAt:r&&!Number.isNaN(r.getTime())?r.toISOString():null,registrar:n?function(e){if(!Array.isArray(e)||!Array.isArray(e[1]))return null;let t=e[1].find(e=>Array.isArray(e)&&"fn"===e[0]);return"string"==typeof t?.[3]&&t[3]?t[3]:null}(n.vcardArray):null}}(n.body);return s?{ok:!0,...s}:{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}e.s(["Y",0,h,"u",0,g,"T",0,function(e,t){let a=c(t).split(".");for(let t=0;t<a.length;t++){let r=a.slice(t).join("."),n=e.find(([e])=>e.map(c).includes(r));if(n)return n[1].find(d)??null}return null}],182622);var k=e.i(300794),y=e.i(685560);let b={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};async function w(e,t={}){let a,r=t.timeoutMs??5e3,n=e.toLowerCase().replace(/\.$/,"");if((0,i.isIP)(n)||(0,l.N)(n))return{ok:!1,error:"Blocked address"};try{a=await (t.lookup??(async e=>(await (0,k.lookup)(e,{all:!0,verbatim:!0})).map(e=>e.address)))(n)}catch{return{ok:!1,error:"The name doesn't resolve"}}if(!a.length)return{ok:!1,error:"The name doesn't resolve"};if(a.some(l.W))return{ok:!1,error:"Blocked address"};let s=t.connect??y.connect,o=a.find(e=>4===(0,i.isIP)(e))??a[0];return new Promise(e=>{let t,a=!1,i=(t,r)=>{a||(a=!0,clearTimeout(u),r?.destroy(),e(t))},u=setTimeout(()=>i({ok:!1,error:`No answer within ${Math.round(r/1e3)} s`},t),r);try{t=s({host:o,port:443,servername:n,rejectUnauthorized:!1,timeout:r,ALPNProtocols:["http/1.1"]})}catch{return i({ok:!1,error:"Couldn't connect"})}let l=t;l.on("secureConnect",()=>{let e,t,a=l.getPeerCertificate(),r=function(e){if("string"!=typeof e)return null;let t=/^([A-Z][a-z]{2})\s+(\d{1,2})\s+(\d{2}):(\d{2}):(\d{2})\s+(\d{4})\s+GMT$/.exec(e.trim());return t&&void 0!==b[t[1]]?new Date(Date.UTC(Number(t[6]),b[t[1]],Number(t[2]),Number(t[3]),Number(t[4]),Number(t[5]))):null}(a.valid_to);if(!r)return i({ok:!1,error:"The certificate has no readable expiry date"},l);let n=l.authorized?null:String(l.authorizationError??"untrusted");i({ok:!0,notAfter:r,issuer:(e=a.issuer,"string"==typeof(t=e?.O??e?.CN)&&t?t:null),authorized:l.authorized,authError:n},l)}),l.on("timeout",()=>i({ok:!1,error:`No answer within ${Math.round(r/1e3)} s`},l)),l.on("error",()=>i({ok:!1,error:"Couldn't connect"},l))})}e.s(["f",0,w],714779);var z=e.i(83931),A=e.i(811365);let I="https://api.cloudflare.com/client/v4",j=t.z.object({success:z.z.boolean(),result:s.z.unknown(),result_info:t.z.object({page:A.z.number().optional(),total_pages:A.z.number().optional()}).nullish()});async function v(e,t,a,r){let n;try{n=await (a.fetch??fetch)(`${I}${e}`,{method:"GET",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"},signal:AbortSignal.timeout(a.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Cloudflare didn't answer within 5 seconds.":"Couldn't reach Cloudflare."}}if(403===n.status&&r)return await n.body?.cancel().catch(()=>void 0),{ok:!1,kind:"scope",status:403,error:`The token can't read this. Add "${r}" to the Cloudflare token.`};if(401===n.status||403===n.status)return await n.body?.cancel().catch(()=>void 0),{ok:!1,kind:"auth",status:n.status,error:`Cloudflare rejected this credential (${n.status}).`};if(429===n.status){let e=Number(n.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60,error:"Cloudflare says there were too many requests."}}if(!n.ok)return{ok:!1,kind:"transient",status:n.status,error:`Cloudflare returned an error (${n.status}).`};let s=j.safeParse(await n.json().catch(()=>null));return s.success&&s.data.success?{ok:!0,data:{result:s.data.result,totalPages:s.data.result_info?.total_pages??null}}:_("its answer")}let _=e=>({ok:!1,kind:"format",error:`Cloudflare answered ${e} in a format the console doesn't recognise.`}),$=e=>encodeURIComponent(e),S=t.z.object({id:n.z.string(),name:n.z.string(),status:n.z.string(),paused:z.z.boolean().default(!1),name_servers:r.z.array(n.z.string()).default([]),account:t.z.object({id:n.z.string(),name:n.z.string().nullish()}).nullish()});async function P(e,t={}){let a=[];for(let n=1;n<=10;n++){let s=await v(`/zones?per_page=50&page=${n}`,e,t,null);if(!s.ok)return s;let o=r.z.array(S).safeParse(s.data.result);if(!o.success)return _("the zone list");for(let e of o.data)a.push({id:e.id,name:e.name,status:e.status,paused:e.paused,nameServers:e.name_servers,accountId:e.account?.id??null,accountName:e.account?.name??null});if(!s.data.totalPages||n>=s.data.totalPages)break}return{ok:!0,data:a}}let C=t.z.object({id:n.z.string(),type:n.z.string(),name:n.z.string(),content:n.z.string().default(""),proxied:z.z.boolean().default(!1),ttl:A.z.number().default(1),comment:n.z.string().nullish()});async function R(e,t,a={}){let n=[];for(let s=1;s<=4;s++){let o=await v(`/zones/${$(t)}/dns_records?per_page=500&page=${s}`,e,a,"DNS Read");if(!o.ok)return o;let i=r.z.array(C).safeParse(o.data.result);if(!i.success)return _("the DNS records");if(n.push(...i.data.map(e=>({id:e.id,type:e.type,name:e.name,content:e.content,proxied:e.proxied,ttl:e.ttl,comment:e.comment??null}))),!o.data.totalPages||s>=o.data.totalPages)return{ok:!0,data:{records:n,truncated:!1}}}return{ok:!0,data:{records:n,truncated:!0}}}let T=t.z.object({errors:r.z.array(t.z.object({code:A.z.number().int()})).min(1)});async function N(e,t,a,r,n){let s;try{s=await (n.fetch??fetch)(`${I}${t}`,{method:e,headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...r?{"Content-Type":"application/json"}:{}},...r?{body:JSON.stringify(r)}:{},signal:AbortSignal.timeout(n.timeoutMs??5e3),cache:"no-store"})}catch(t){if(!(t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)))return{ok:!1,kind:"transient",error:"Couldn't reach Cloudflare."};return{ok:!1,kind:"transient",error:"PATCH"===e?"Cloudflare didn't answer within 5 seconds; the change may still have happened. Reload in a minute.":"Cloudflare didn't answer within 5 seconds."}}let o=()=>s.body?.cancel().catch(()=>void 0);if(401===s.status)return await o(),{ok:!1,kind:"auth",status:401,error:"Cloudflare rejected this credential (401)."};if(403===s.status){await o();let t="PATCH"===e?"Zone → DNS → Edit":"DNS Read";return{ok:!1,kind:"scope",status:403,error:`The token can't ${"PATCH"===e?"edit":"read"} this record. Add "${t}" to the Cloudflare token.`}}if(404===s.status)return await o(),{ok:!1,kind:"missing",status:404,error:"Cloudflare can't find this record any more."};if(429===s.status)return await o(),{ok:!1,kind:"transient",status:429,retryAfterS:x(s),error:"Cloudflare says there were too many requests."};let i=await s.json().catch(()=>null);if(!s.ok){let e=T.safeParse(i);return{ok:!1,kind:"transient",status:s.status,error:`Cloudflare refused this change (${s.status}${e.success?`, code ${e.data.errors[0].code}`:""}).`}}let u=j.safeParse(i);if(!u.success||!u.data.success)return _("the DNS record");let l=C.safeParse(u.data.result);if(!l.success)return _("the DNS record");let c=l.data;return{ok:!0,data:{id:c.id,type:c.type,name:c.name,content:c.content,proxied:c.proxied,ttl:c.ttl,comment:c.comment??null}}}let x=e=>{let t=Number(e.headers.get("Retry-After"));return Number.isFinite(t)&&t>0?t:60};async function D(e,t,a,r={}){return N("GET",`/zones/${$(t)}/dns_records/${$(a)}`,e,void 0,r)}async function E(e,t,a,r,n={}){return N("PATCH",`/zones/${$(t)}/dns_records/${$(a)}`,e,r,n)}async function U(e,a,r={}){let s=await v(`/zones/${$(a)}/settings/ssl`,e,r,"Zone Settings Read");if(!s.ok)return s;let o=t.z.object({value:n.z.string()}).safeParse(s.data.result);return o.success?{ok:!0,data:o.data.value}:_("the SSL/TLS mode")}let M=t.z.object({type:n.z.string(),status:n.z.string(),hosts:r.z.array(n.z.string()).default([]),certificates:r.z.array(t.z.object({expires_on:n.z.string().nullish()})).default([])});async function O(e,t,a={}){let n=await v(`/zones/${$(t)}/ssl/certificate_packs?status=all&per_page=50`,e,a,"SSL and Certificates Read");if(!n.ok)return n;let s=r.z.array(M).safeParse(n.data.result);return s.success?{ok:!0,data:s.data.map(e=>{let t=e.certificates.map(e=>e.expires_on).filter(e=>!!e).sort();return{type:e.type,status:e.status,hosts:e.hosts,expiresOn:t[0]??null}})}:_("the edge certificates")}async function q(e,a={}){let r=await v("/user/tokens/verify",e,a,null);if(!r.ok)return r;let s=t.z.object({status:n.z.string(),expires_on:n.z.string().nullish()}).safeParse(r.data.result);if(!s.success)return _("the token details");let o=s.data.expires_on?new Date(s.data.expires_on):null;return{ok:!0,data:{status:s.data.status,expiresAt:o&&!Number.isNaN(o.getTime())?o:null}}}e.s(["w",0,O,"B",0,D,"p",0,R,"F",0,P,"v",0,U,"d",0,q,"q",0,E],44925);var B=e.i(913822);let V="https://api.vercel.com";async function L(e,t,a){let r;try{r=await (a.fetch??fetch)(`${V}${e}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"},signal:AbortSignal.timeout(a.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Vercel didn't answer within 5 seconds.":"Couldn't reach Vercel."}}if(401===r.status||403===r.status)return{ok:!1,kind:"auth",status:r.status,error:`Vercel rejected this credential (${r.status}).`};if(429===r.status){let e=Number(r.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60,error:"Vercel says there were too many requests."}}return r.ok?{ok:!0,data:await r.json().catch(()=>null)}:{ok:!1,kind:"transient",status:r.status,error:`Vercel returned an error (${r.status}).`}}async function F(e,a,r,s,o){let i;try{i=await (o.fetch??fetch)(`${V}${a}`,{method:e,headers:{Authorization:`Bearer ${r}`,Accept:"application/json",...void 0===s?{}:{"Content-Type":"application/json"}},...void 0===s?{}:{body:JSON.stringify(s)},signal:AbortSignal.timeout(o.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Vercel didn't answer within 5 seconds; the action may still have happened. Check the deployments in a minute.":"Couldn't reach Vercel."}}if(401===i.status)return{ok:!1,kind:"auth",status:401,error:"Vercel rejected this credential (401)."};if(403===i.status)return{ok:!1,kind:"scope",status:403,error:"Vercel refused this token for that project (403)."};if(429===i.status){let e;return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e=Number(i.headers.get("Retry-After")))&&e>0?e:60,error:"Vercel says there were too many requests."}}let u=await i.json().catch(()=>null);if(!i.ok){let e=t.z.object({error:t.z.object({code:n.z.string().regex(/^[A-Za-z0-9_-]{1,60}$/)})}).safeParse(u);return{ok:!1,kind:"transient",status:i.status,error:`Vercel refused this (${i.status}${e.success?`, ${e.data.error.code}`:""}).`}}return{ok:!0,data:u}}let J=e=>`teamId=${encodeURIComponent(e)}`,G=encodeURIComponent,K=e=>({ok:!1,kind:"format",error:`Vercel answered ${e} in a format the console doesn't recognise.`}),H=t.z.object({teams:r.z.array(t.z.object({id:n.z.string(),slug:n.z.string(),name:n.z.string().nullish()}))});async function Z(e,t={}){let a=await L("/v2/teams?limit=100",e,t);if(!a.ok)return a;let r=H.safeParse(a.data);return r.success?{ok:!0,data:r.data.teams.map(e=>({id:e.id,slug:e.slug,name:e.name??e.slug}))}:K("the team list")}async function Y(e,a={}){let r=await L("/v5/user/tokens/current",e,a);if(!r.ok)return r;let n=t.z.object({token:t.z.object({expiresAt:A.z.number().nullish()})}).safeParse(r.data);return n.success?{ok:!0,data:n.data.token.expiresAt?new Date(n.data.token.expiresAt):null}:K("the token details")}let W=t.z.object({id:n.z.string(),readyState:n.z.string().nullish(),createdAt:A.z.number().nullish().catch(null)}).nullish(),Q=t.z.object({type:n.z.string(),jobStatus:n.z.string(),toDeploymentId:n.z.string(),requestedAt:A.z.number()}).nullish().catch(null);function X(e,t){let a=e?.readyState==="READY"?e.id:null;return t&&"succeeded"===t.jobStatus&&("rollback"===t.type||"promote"===t.type&&"number"==typeof e?.createdAt&&e.createdAt<=t.requestedAt)?t.toDeploymentId:a}let ee=t.z.object({id:n.z.string(),name:n.z.string(),framework:n.z.string().nullish(),createdAt:A.z.number(),link:t.z.object({productionBranch:n.z.string().nullish(),type:n.z.string().nullish(),org:n.z.string().nullish(),repo:n.z.string().nullish()}).nullish(),resourceConfig:t.z.object({functionDefaultRegions:r.z.array(n.z.string()).nullish()}).nullish(),targets:t.z.object({production:W}).nullish(),lastAliasRequest:Q}),et=t.z.object({projects:r.z.array(ee),pagination:t.z.object({next:A.z.number().nullish()}).nullish()});async function ea(e,t,a={}){let r,n=[];for(let s=0;s<10;s++){let s=await L(`/v10/projects?teamId=${encodeURIComponent(t.id)}&limit=100${r?`&until=${r}`:""}`,e,a);if(!s.ok)return s;let o=et.safeParse(s.data);if(!o.success)return K("the project list");for(let e of o.data.projects)n.push({id:e.id,name:e.name,team:t,framework:e.framework??null,createdAt:new Date(e.createdAt),productionBranch:e.link?.productionBranch??null,currentDeploymentId:X(e.targets?.production,e.lastAliasRequest),repo:e.link?.type&&e.link.org&&e.link.repo?{type:e.link.type,org:e.link.org,repo:e.link.repo}:null,functionRegions:e.resourceConfig?.functionDefaultRegions??[]});if(!(r=o.data.pagination?.next))break}return{ok:!0,data:n}}let er=t.z.object({uid:n.z.string(),projectId:n.z.string(),state:n.z.string().nullish(),readyState:n.z.string().nullish(),target:n.z.string().nullish(),source:n.z.string().nullish(),url:n.z.string().nullish(),createdAt:A.z.number().nullish(),created:A.z.number().nullish(),buildingAt:A.z.number().nullish(),ready:A.z.number().nullish(),meta:B.z.record(n.z.string(),s.z.unknown()).nullish()}),en=e=>"string"==typeof e&&e.length?e:null,es=e=>e?new Date(e):null;function eo(e,t){let a=e.readyState??e.state??"BUILDING",r=e.meta??{};return{id:t,projectId:e.projectId,state:"READY"===a?"ready":"ERROR"===a?"error":"CANCELED"===a?"canceled":"building",rawState:a,target:"production"===e.target?"production":"preview",branch:en(r.githubCommitRef)??en(r.gitCommitRef),sha:en(r.githubCommitSha)??en(r.gitCommitSha),message:en(r.githubCommitMessage)??en(r.gitCommitMessage),source:e.source??null,url:e.url??null,createdAt:new Date(e.createdAt??e.created??0),buildingAt:es(e.buildingAt),readyAt:es(e.ready)}}async function ei(e,a,n,s={}){let o=await L(`/v7/deployments?teamId=${encodeURIComponent(a.id)}&limit=${n.limit??100}${n.since?`&since=${n.since}`:""}`,e,s);if(!o.ok)return o;let i=t.z.object({deployments:r.z.array(er)}).safeParse(o.data);return i.success?{ok:!0,data:i.data.deployments.map(e=>eo(e,e.uid))}:K("the deployment list")}let eu=er.omit({uid:!0,projectId:!0}).extend({id:n.z.string(),projectId:n.z.string().nullish()});async function el(e,t,a,r={}){let n=await L(`/v13/deployments/${encodeURIComponent(a)}?teamId=${encodeURIComponent(t.id)}`,e,r);if(!n.ok)return n;let s=eu.safeParse(n.data);return s.success?{ok:!0,data:eo({...s.data,uid:s.data.id,projectId:s.data.projectId??""},s.data.id)}:K("the deployment")}let ec=t.z.object({name:n.z.string(),targets:t.z.object({production:W}).nullish(),lastAliasRequest:Q});async function ed(e,t,a,r={}){let n=await L(`/v9/projects/${G(a)}?${J(t)}`,e,r);if(!n.ok)return n;let s=ec.safeParse(n.data);return s.success?{ok:!0,data:{name:s.data.name,currentId:X(s.data.targets?.production,s.data.lastAliasRequest)}}:K("the project")}let ep=t.z.object({deployments:r.z.array(er.extend({projectId:n.z.string().nullish()}))});async function em(e,t,a,r,n,s){let o=`projectId=${G(a)}&target=production&state=${r}&limit=${n}&${J(t)}`,i=await L(`/v6/deployments?${o}`,e,s);if(!i.ok)return i;let u=ep.safeParse(i.data);return u.success?{ok:!0,data:u.data.deployments.map(e=>eo({...e,projectId:e.projectId??a},e.uid))}:K("the deployment list")}async function ef(e,t,a,r={}){return em(e,t,a,"READY",5,r)}async function eh(e,t,a,r={}){let n=await em(e,t,a,"BUILDING,QUEUED,INITIALIZING",1,r);return n.ok?{ok:!0,data:n.data[0]??null}:n}async function eg(e,a,r,s={}){let o=await F("POST",`/v13/deployments?${J(a)}`,e,{name:r.name,project:r.projectId,deploymentId:r.deploymentId,target:"production"},s);if(!o.ok)return o;let i=t.z.object({id:n.z.string()}).safeParse(o.data);return{ok:!0,data:{id:i.success?i.data.id:""}}}async function ek(e,t,a,r,n={}){let s=await F("POST",`/v1/projects/${G(a)}/rollback/${G(r)}?${J(t)}`,e,void 0,n);return s.ok?{ok:!0,data:null}:s}async function ey(e,t,a,r,n={}){let s=await F("POST",`/v10/projects/${G(a)}/promote/${G(r)}?${J(t)}`,e,{},n);return s.ok?{ok:!0,data:null}:s}async function eb(e,a,r,s={}){let o=await F("POST",`/v13/deployments?${J(a)}`,e,{name:r.name,project:r.projectId,deploymentId:r.deploymentId,target:"production",meta:{action:"promote"}},s);if(!o.ok)return o;let i=t.z.object({id:n.z.string()}).safeParse(o.data);return{ok:!0,data:{id:i.success?i.data.id:""}}}async function ew(e,t,a,r={}){let n=await F("PATCH",`/v12/deployments/${G(a)}/cancel?${J(t)}`,e,void 0,r);return n.ok?{ok:!0,data:null}:n}let ez=t.z.object({domains:r.z.array(t.z.object({name:n.z.string(),redirect:n.z.string().nullish(),verified:z.z.boolean().optional(),gitBranch:n.z.string().nullish()}))});async function eA(e,t,a,r={}){let n=await L(`/v9/projects/${encodeURIComponent(a)}/domains?teamId=${encodeURIComponent(t)}`,e,r);if(!n.ok)return n;let s=ez.safeParse(n.data);return s.success?{ok:!0,data:s.data.domains.map(e=>({name:e.name,redirect:e.redirect??null,verified:!1!==e.verified,gitBranch:e.gitBranch??null}))}:K("the domain list")}async function eI(e,t,a,r,n={}){var s;let o,i,u=await eA(e,t,a,n);return u.ok?{ok:!0,data:(s=u.data,i=(o=s.filter(e=>!1!==e.verified&&!e.redirect&&!e.gitBranch)).find(e=>!e.name.endsWith(".vercel.app")),(i??o[0])?.name??`${r}.vercel.app`)}:u}let ej=t.z.object({misconfigured:z.z.boolean(),configuredBy:n.z.string().nullish(),recommendedIPv4:r.z.array(t.z.object({value:r.z.array(n.z.string())})).default([])});async function ev(e,t,a,r={}){let n=await L(`/v6/domains/${encodeURIComponent(a)}/config?teamId=${encodeURIComponent(t)}`,e,r);if(!n.ok)return n;let s=ej.safeParse(n.data);return s.success?{ok:!0,data:{misconfigured:s.data.misconfigured,configuredBy:s.data.configuredBy??null,recommendedIps:s.data.recommendedIPv4.flatMap(e=>e.value)}}:K("the domain configuration")}async function e_(e,t={}){let a=await Z(e,t);if(!a.ok)return a;let r=[],n=[],s=[];for(let o of a.data){let a=await ea(e,o,t);if(!a.ok){if(403===a.status){n.push(o.name),s.push(o.id);continue}return a}for(let e of a.data)r.push({externalId:e.id,name:e.name,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:e.framework,productionBranch:e.productionBranch,createdAt:e.createdAt.toISOString(),repo:e.repo?`${e.repo.org}/${e.repo.repo}`:null,repoType:e.repo?.type??null,functionRegions:e.functionRegions}})}return n.length===a.data.length?{ok:!1,kind:"auth",error:"This token can't read any of your Vercel teams. Create a token with access to them."}:{ok:!0,data:{apps:r,skippedTeams:n,skippedTeamIds:s}}}async function e$(e,a,n,s,o={}){if(!/^[0-9a-f]{40}$/.test(s))return K("the commit");let i=new URLSearchParams({teamId:a,projectId:n,sha:s,limit:"10"}),u=await L(`/v6/deployments?${i}`,e,o);if(!u.ok)return u;let l=t.z.object({deployments:r.z.array(er)}).safeParse(u.data);return l.success?{ok:!0,data:l.data.deployments.map(e=>eo(e,e.uid)).filter(e=>e.projectId===n&&(null===e.sha||e.sha===s)).sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime())}:K("the deployment list")}e.s(["T",0,ew,"c",0,ed,"C",0,e$,"G",0,e_,"Q",0,ev,"S",0,el,"K",0,ei,"M",0,eA,"W",0,ea,"X",0,Z,"r",0,ef,"q",0,eI,"u",0,ey,"l",0,eb,"L",0,eg,"E",0,ek,"N",0,eh,"n",0,Y],572134);var eS=e.i(469762);let eP=t.z.object({result:t.z.object({releases:r.z.array(t.z.object({name:n.z.string(),isEol:z.z.boolean(),eolFrom:n.z.string().nullish(),latest:t.z.object({name:n.z.string()}).nullish()})).min(1)})});function eC(e){let t=eP.safeParse(e);return t.success?t.data.result.releases.map(e=>({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom??null,latest:e.latest?.name??null})):null}async function eR(e={}){let t;try{t=await (e.fetch??fetch)("https://endoflife.date/api/v1/products/nextjs/",{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3),cache:"no-store"})}catch{return{ok:!1,error:"Couldn't reach endoflife.date"}}if(!t.ok)return{ok:!1,error:`endoflife.date returned an error (${t.status})`};let a=eC(await t.json().catch(()=>null));return a?{ok:!0,cycles:a}:{ok:!1,error:"endoflife.date answered in a format the console doesn't recognise"}}e.s(["T",0,"eol.nextjs","e",0,function(e,t,a){if(!e)return{state:"unknown",text:"Unknown until the version is read",note:null};if(!t)return{state:"unknown",text:"Unknown · endoflife.date hasn't been read yet",note:null};let r=e.split(".")[0],n=t.cycles.find(e=>e.name===r);if(!n)return{state:"unknown",text:`Unknown \xb7 endoflife.date has no cycle ${r}`,note:null};let s=t.cycles.find(e=>!e.isEol)?.latest??null,o=s?`latest is ${s}`:null,i=n.eolFrom?new Date(`${n.eolFrom}T00:00:00Z`):null;if(n.isEol||i&&i.getTime()<=a.getTime())return{state:"err",text:`Next.js ${r} reached end of life${i?` on ${(0,eS.H)(i)}`:""}`,note:o};if(i){let e=Math.ceil((i.getTime()-a.getTime())/864e5);return{state:e<=60?"warn":"ok",text:`Next.js ${r} reaches end of life on ${(0,eS.H)(i)} (in ${e} day${1===e?"":"s"})`,note:o}}return{state:"ok",text:`Next.js ${r} is supported`,note:n.latest&&n.latest!==e?`${n.latest} is the latest ${r}.x`:null}},"z",0,eR,"b",0,eC],558418)}]})();
|
|
1
|
+
(()=>{"use strict";module.exports=[732084,e=>{var t=e.i(954757);e.s(["z",0,t])},109068,e=>{var t=e.i(686921);e.s(["A",0,function(e){return null===e?"Can't read the stored credential. The encryption key changed. Replace the credential.":null},"E",0,function(e){return e.ok?{status:"ok",lastError:null}:"auth"===e.kind?{status:"error",lastError:e.error}:null},"z",0,function(e,r,a){let n=t.m[e];if(!n.multiAccount&&a.count>=1)return{ok:!1,error:`${n.name} supports one account. Replace its credential instead.`};let s=r.trim();return s?s.length>40?{ok:!1,error:"Keep the name under 40 characters."}:a.labels.includes(s)?{ok:!1,error:`${n.name} already has an account called ${s}.`}:{ok:!0,label:s}:{ok:!1,error:"Enter a name for this account."}}])},247730,e=>{var t=e.i(530385),r=e.i(93321),a=e.i(351674),n=e.i(548734),s=e.i(837137),o=e.i(556987);async function i(){let[e,i]=await Promise.all([(0,n.f)().select({id:s.resources.id,kind:s.resources.kind,name:s.resources.name,firstSeenAt:s.resources.firstSeenAt,parentId:s.resources.parentId,team:a.B`${s.resources.meta}->>'teamSlug'`}).from(s.resources).where((0,r.y)(s.resources.kind,["app","supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"])).orderBy((0,t.M)(s.resources.firstSeenAt),(0,t.M)(s.resources.id)).limit(2e3),(0,n.f)().select({id:s.accounts.id,label:s.accounts.label,createdAt:s.accounts.createdAt}).from(s.accounts).orderBy((0,t.M)(s.accounts.createdAt),(0,t.M)(s.accounts.id)).limit(200)]);return(0,o.n)(e,i)}e.s(["f",0,i])},30184,288666,449734,15827,944808,112735,354448,584897,45468,743303,418864,e=>{var t=e.i(93321),r=e.i(530385),a=e.i(548734),n=e.i(837137),s=e.i(351674),o=e.i(109068),i=e.i(358179),u=e.i(601219),l=e.i(669943),d=e.i(492665),c=e.i(188546),p=e.i(182622),m=e.i(233711),f=e.i(714779),h=e.i(44925),g=e.i(572134),k=e.i(558418),z=e.i(26972),y=e.i(689963),b=e.i(427221),w=e.i(827857),j=e.i(811365),I=e.i(732084),A=e.i(149310);let _=z.z.object({error:z.z.object({status:b.z.string().optional(),message:b.z.string().optional(),details:y.z.array(I.z.looseObject({reason:b.z.string().optional()})).optional()})}),$=z.z.object({message:b.z.string()}),v=z.z.object({missing_permissions:y.z.array(b.z.string()).min(1)}),S=z.z.object({error:A.z.enum(["invalid_grant","invalid_client","unauthorized_client"])});async function T(e,t,r,a={}){let n,s,o=a.timeoutMs??5e3,i={Accept:"application/json"};r.token?i.Authorization=`Bearer ${r.token}`:r.basic&&(i.Authorization=`Basic ${Buffer.from(`${r.basic.user}:${r.basic.pass}`).toString("base64")}`),r.form?n=r.form:void 0!==r.body&&(i["Content-Type"]="application/json",n=JSON.stringify(r.body));try{s=await (a.fetch??fetch)(t,{method:r.method??"GET",headers:i,body:n,signal:AbortSignal.timeout(o),cache:"no-store"})}catch(t){return{ok:!1,kind:"transient",error:t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)?`${e} didn't answer within ${Math.round(o/1e3)} seconds.`:`Couldn't reach ${e}.`}}let u=await s.json().catch(()=>null);if(s.ok)return{ok:!0,data:u};let l=_.safeParse(u),d=l.success?l.data.error.details?.find(e=>e.reason)?.reason??l.data.error.status:void 0,c=l.success?void 0:$.safeParse(u),p=l.success?l.data.error.message?.slice(0,300):c?.success?c.data.message.slice(0,600):void 0,m={status:s.status,...d?{reason:d}:{},...p?{message:p}:{}};if(403===s.status){let t=v.safeParse(u);if(t.success){let e=t.data.missing_permissions;return{ok:!1,kind:"scope",...m,missing:e,error:`Missing permission${e.length>1?"s":""}: ${e.join(", ")}.`}}if(l.success)return{ok:!1,kind:"scope",...m,error:`${e} refused this request (${d??"PERMISSION_DENIED"}).`}}if(401===s.status||403===s.status||400===s.status&&S.safeParse(u).success)return{ok:!1,kind:"auth",...m,error:`${e} rejected this credential (${s.status}).`};if(404===s.status)return{ok:!1,kind:"missing",...m,error:`${e} doesn't know this resource (404).`};if(429===s.status){let t=Number(s.headers.get("Retry-After"));return{ok:!1,kind:"transient",...m,retryAfterS:Number.isFinite(t)&&t>0?t:60,error:"RESOURCE_EXHAUSTED"===d?`${e} says a quota is used up.`:`${e} says there were too many requests.`}}return{ok:!1,kind:"transient",...m,error:`${e} returned an error (${s.status}).`}}let P=(e,t)=>({ok:!1,kind:"format",error:`${e} answered ${t} in a format the console doesn't recognise.`});async function C(e,t={}){let r=await T("Firebase","https://firebase.googleapis.com/v1beta1/projects?pageSize=100",{token:e},t);if(!r.ok)return r;let a=z.z.object({results:y.z.array(z.z.object({projectId:b.z.string(),displayName:b.z.string().optional(),state:b.z.string().optional()})).optional()}).safeParse(r.data);return a.success?{ok:!0,data:(a.data.results??[]).filter(e=>"DELETED"!==e.state).map(e=>({projectId:e.projectId,displayName:e.displayName??e.projectId}))}:P("Firebase","the project list")}async function x(e,t,r={}){return R(e,await C(t,r))}function R(e,t){if(!t.ok&&"scope"!==t.kind)return t;let r=t.ok?t.data:[];return{ok:!0,data:r.some(t=>t.projectId===e.project_id)?r:[{projectId:e.project_id,displayName:e.project_id},...r]}}async function N(e,t,r={}){let a=performance.now(),n=await T("Firestore",`https://firestore.googleapis.com/v1/projects/${encodeURIComponent(t)}/databases/(default)/documents/ops/ping`,{token:e},r),s=Math.round(performance.now()-a);if(n.ok)return{ok:!0,data:{reachable:!0,noDatabase:!1,latencyMs:s}};if("missing"===n.kind){let e=/database .*does not exist/i.test(n.message??"");return{ok:!0,data:{reachable:!e,noDatabase:e,latencyMs:s}}}return n}async function D(e,t,r={}){let a=await T("Firebase Auth",`https://identitytoolkit.googleapis.com/v1/projects/${encodeURIComponent(t)}/accounts:query`,{method:"POST",token:e,body:{returnUserInfo:!1}},r);if(!a.ok)return a;let n=z.z.object({recordsCount:w.z.union([b.z.string(),j.z.number()]).optional()}).safeParse(a.data),s=n.success?Number(n.data.recordsCount??0):0/0;return Number.isFinite(s)?{ok:!0,data:s}:P("Firebase Auth","the user count")}e.s(["R",0,T,"t",0,P],288666);let E=z.z.object({timeSeries:y.z.array(z.z.object({points:y.z.array(z.z.object({value:z.z.object({int64Value:w.z.union([b.z.string(),j.z.number()]).optional()})})).optional()})).optional()});async function M(e,t,r,a,n,s){let o=new URLSearchParams({filter:`metric.type="firestore.googleapis.com/document/${r}_ops_count"`,"interval.startTime":a.toISOString(),"interval.endTime":n.toISOString(),"aggregation.alignmentPeriod":`${Math.max(60,Math.ceil((n.getTime()-a.getTime())/1e3))}s`,"aggregation.perSeriesAligner":"ALIGN_SUM","aggregation.crossSeriesReducer":"REDUCE_SUM"}),i=await T("Cloud Monitoring",`https://monitoring.googleapis.com/v3/projects/${encodeURIComponent(t)}/timeSeries?${o}`,{token:e},s);if(!i.ok)return i;let u=E.safeParse(i.data);return u.success?{ok:!0,data:(u.data.timeSeries??[]).flatMap(e=>e.points??[]).reduce((e,t)=>e+Number(t.value.int64Value??0),0)}:P("Cloud Monitoring","the Firestore usage")}async function U(e,t,r,a,n={}){let[s,o,i]=await Promise.all(["read","write","delete"].map(s=>M(e,t,s,r,a,n)));for(let e of[s,o,i])if(!e.ok)return e;return{ok:!0,data:{reads:s.data,writes:o.data,deletes:i.data}}}e.s(["q",0,D,"z",0,x,"W",0,U,"G",0,N,"E",0,C,"b",0,R],449734);var O=e.i(666680),q=e.i(899370),B=e.i(61675);let V=z.z.object({type:q.z.literal("service_account"),project_id:b.z.string().min(1),client_email:B.z.email(),private_key:b.z.string().includes("PRIVATE KEY"),private_key_id:b.z.string().optional()});function F(e){try{let t=V.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}let J="https://oauth2.googleapis.com/token",L=["https://www.googleapis.com/auth/datastore","https://www.googleapis.com/auth/identitytoolkit","https://www.googleapis.com/auth/monitoring.read","https://www.googleapis.com/auth/firebase.readonly"],G=e=>Buffer.from(e).toString("base64url");async function H(e,t={}){let r;try{var a;let n,s,o;a=Math.floor((t.now??new Date).getTime()/1e3),n=G(JSON.stringify({alg:"RS256",typ:"JWT",...e.private_key_id?{kid:e.private_key_id}:{}})),s=G(JSON.stringify({iss:e.client_email,scope:L.join(" "),aud:J,iat:a,exp:a+3600})),o=(0,O.createSign)("RSA-SHA256").update(`${n}.${s}`).sign(e.private_key),r=`${n}.${s}.${G(o)}`}catch{return{ok:!1,kind:"auth",error:"The private key in this service account can't be used. Paste the whole JSON file again."}}let n=new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:r}),s=await T("Google",J,{method:"POST",form:n},t);if(!s.ok)return"auth"===s.kind?{...s,error:"Google rejected this service account (its key was deleted or disabled). Create a new key."}:s;let o=z.z.object({access_token:b.z.string().min(1)}).safeParse(s.data);return o.success?{ok:!0,data:o.data.access_token}:P("Google","the access token")}e.s(["X",0,H,"p",0,F,"m",0,V],15827);var Z=e.i(83931);let Y="https://console.neon.tech/api/v2",W="Neon";async function K(e,t={}){let r=await T(W,`${Y}/users/me/organizations`,{token:e},t);if(!r.ok)return r;let a=z.z.object({organizations:y.z.array(z.z.object({id:b.z.string(),name:b.z.string()}))}).safeParse(r.data);return a.success?{ok:!0,data:a.data.organizations}:P(W,"the organization list")}let Q=z.z.object({id:b.z.string(),name:b.z.string(),region_id:b.z.string(),pg_version:j.z.number().nullish(),created_at:b.z.string(),org_id:b.z.string().nullish()});async function X(e,t,r={}){let a,n=[];for(let s=0;s<5;s++){let s=new URLSearchParams({limit:String(100)});t&&s.set("org_id",t),a&&s.set("cursor",a);let o=await T(W,`${Y}/projects?${s}`,{token:e},r);if(!o.ok)return o;let i=z.z.object({projects:y.z.array(Q),pagination:z.z.object({cursor:b.z.string().nullish()}).nullish()}).safeParse(o.data);if(!i.success)return P(W,"the project list");for(let e of i.data.projects)n.push({id:e.id,name:e.name,region:e.region_id,pgVersion:e.pg_version??null,orgId:e.org_id??t,createdAt:e.created_at});if(a=i.data.pagination?.cursor??void 0,i.data.projects.length<100||!a)break}return{ok:!0,data:n}}async function ee(e,t={}){let r=await K(e,t);if(!r.ok&&"missing"!==r.kind&&"scope"!==r.kind)return r;let a=r.ok&&r.data.length?r.data.map(e=>e.id):[null],n=[];for(let r of a){let a=await X(e,r,t);if(!a.ok)return a;n.push(...a.data)}return{ok:!0,data:n}}let et=z.z.object({project:z.z.object({region_id:b.z.string(),pg_version:j.z.number().nullish(),compute_time_seconds:j.z.number().nullish(),data_transfer_bytes:j.z.number().nullish(),active_time_seconds:j.z.number().nullish(),consumption_period_start:b.z.string().nullish(),consumption_period_end:b.z.string().nullish(),compute_last_active_at:b.z.string().nullish()})});async function er(e,t,r={}){let a=await T(W,`${Y}/projects/${encodeURIComponent(t)}`,{token:e},r);if(!a.ok)return a;let n=et.safeParse(a.data);if(!n.success)return P(W,"the project");let s=n.data.project;return{ok:!0,data:{computeSeconds:s.compute_time_seconds??0,transferBytes:s.data_transfer_bytes??0,activeSeconds:s.active_time_seconds??null,periodStart:s.consumption_period_start??null,periodEnd:s.consumption_period_end??null,region:s.region_id,pgVersion:s.pg_version??null,lastActive:s.compute_last_active_at??null}}}let ea=z.z.object({id:b.z.string(),branch_id:b.z.string(),current_state:b.z.string(),pending_state:b.z.string().nullish(),disabled:Z.z.boolean().nullish(),autoscaling_limit_min_cu:j.z.number(),autoscaling_limit_max_cu:j.z.number(),last_active:b.z.string().nullish()}),en=e=>({id:e.id,branchId:e.branch_id,state:e.current_state,pendingState:e.pending_state??null,disabled:e.disabled??!1,minCu:e.autoscaling_limit_min_cu,maxCu:e.autoscaling_limit_max_cu,lastActive:e.last_active??null});async function es(e,t,r={}){let a=await T(W,`${Y}/projects/${encodeURIComponent(t)}/endpoints`,{token:e},r);if(!a.ok)return a;let n=z.z.object({endpoints:y.z.array(ea)}).safeParse(a.data);return n.success?{ok:!0,data:n.data.endpoints.map(en)}:P(W,"the compute list")}async function eo(e,t,r,a={}){let n=await T(W,`${Y}/projects/${encodeURIComponent(t)}/endpoints/${encodeURIComponent(r)}`,{token:e},a);if(!n.ok)return n;let s=z.z.object({endpoint:ea}).safeParse(n.data);return s.success?{ok:!0,data:en(s.data.endpoint)}:P(W,"the compute")}async function ei(e,t,r,a={}){let n=await T(W,`${Y}/projects/${encodeURIComponent(t)}/endpoints/${encodeURIComponent(r)}/start`,{method:"POST",token:e},a);return n.ok?{ok:!0,data:null}:423===n.status?{ok:!1,kind:"busy",status:423,error:"Neon is busy with another operation. Try again in a minute."}:403===n.status?{ok:!1,kind:"scope",status:403,error:`${W} refused this request (403).`}:n}let eu=z.z.object({id:b.z.string(),name:b.z.string(),default:Z.z.boolean().nullish(),primary:Z.z.boolean().nullish(),logical_size:j.z.number().nullish()});async function el(e,t,r={}){let a=await T(W,`${Y}/projects/${encodeURIComponent(t)}/branches`,{token:e},r);if(!a.ok)return a;let n=z.z.object({branches:y.z.array(eu)}).safeParse(a.data);return n.success?{ok:!0,data:n.data.branches.map(e=>({id:e.id,name:e.name,isDefault:e.default??e.primary??!1,logicalSize:e.logical_size??null}))}:P(W,"the branch list")}e.s(["m",0,ee,"c",0,eo,"Z",0,er,"e",0,el,"k",0,es,"d",0,ei],944808);var ed=e.i(191179);let ec="https://api.supabase.com",ep="Supabase",em=["auth","rest","realtime","storage","db"],ef=z.z.object({ref:b.z.string(),name:b.z.string(),region:b.z.string(),created_at:b.z.string(),status:b.z.string(),organization_slug:b.z.string().optional(),organization_id:b.z.string().optional(),database:z.z.object({version:b.z.string().optional()}).nullish()}),eh=e=>({ref:e.ref,name:e.name,orgSlug:e.organization_slug??e.organization_id??"",region:e.region,createdAt:e.created_at,status:e.status,pgVersion:e.database?.version??null});async function eg(e,t={}){let r=await T(ep,`${ec}/v1/projects`,{token:e},t);if(!r.ok)return r;let a=y.z.array(ef).safeParse(r.data);return a.success?{ok:!0,data:a.data.map(eh)}:P(ep,"the project list")}async function ek(e,t,r={}){let a=await T(ep,`${ec}/v1/projects/${encodeURIComponent(t)}`,{token:e},r);if(!a.ok)return a;let n=ef.safeParse(a.data);return n.success?{ok:!0,data:eh(n.data)}:P(ep,"the project")}async function ez(e,t,r,a){let n=await T(ep,`${ec}/v1/projects/${encodeURIComponent(e)}/${t}`,{method:"POST",token:r},a);return n.ok?{ok:!0,data:null}:403===n.status&&"scope"!==n.kind?{...n,kind:"scope",error:"Missing permission: project_admin_write."}:n}async function ey(e,t,r={}){let a=await T(ep,`${ec}/v1/projects/${encodeURIComponent(t)}/database/query/read-only`,{method:"POST",token:e,body:{query:"select 1"}},r);return a.ok?{ok:!0,data:null}:a}async function eb(e,t,r={}){let a=await T(ep,`${ec}/v1/organizations/${encodeURIComponent(t)}`,{token:e},r);if(!a.ok)return a;let n=z.z.object({plan:b.z.string().optional()}).safeParse(a.data);return n.success?{ok:!0,data:n.data.plan??null}:P(ep,"the organization")}async function ew(e,t,r={}){let a=new URLSearchParams(em.map(e=>["services",e])),n=await T(ep,`${ec}/v1/projects/${encodeURIComponent(t)}/health?${a}`,{token:e},r);if(!n.ok)return n;let s=y.z.array(z.z.object({name:b.z.string(),status:b.z.string(),error:b.z.string().optional()})).safeParse(n.data);return s.success?{ok:!0,data:s.data.map(e=>({name:e.name,status:e.status,error:e.error??null}))}:P(ep,"service health")}let ej=z.z.object({result:y.z.array(z.z.object({timestamp:b.z.string(),total_auth_requests:j.z.number(),total_realtime_requests:j.z.number(),total_rest_requests:j.z.number(),total_storage_requests:j.z.number()})).optional(),error:ed.z.unknown().optional()});async function eI(e,t,r={}){let a=await T(ep,`${ec}/v1/projects/${encodeURIComponent(t)}/analytics/endpoints/usage.api-counts?interval=7day`,{token:e},r);if(!a.ok)return a;let n=ej.safeParse(a.data);return n.success?n.data.error?{ok:!1,kind:"transient",error:"Supabase couldn't read the API request counts this time."}:{ok:!0,data:(n.data.result??[]).map(e=>({at:new Date(e.timestamp),total:e.total_auth_requests+e.total_realtime_requests+e.total_rest_requests+e.total_storage_requests}))}:P(ep,"the API request counts")}async function eA(e,t,r={}){let a={used:["projects_read"],missing:[],notes:[]},n=t.find(e=>e.status.startsWith("ACTIVE_")),s=(n??t[0])?.orgSlug,o=[];n?(o.push(["project_admin_read",ew(e,n.ref,r)]),o.push(["analytics_usage_read",eI(e,n.ref,r)])):a.notes.push("Health and API traffic are checked once a project is active"),s&&o.push(["organization_admin_read",eb(e,s,r)]);let i=await Promise.all(o.map(([,e])=>e));return o.forEach(([e],t)=>{let r=i[t];r.ok?a.used.push(e):"scope"===r.kind||"auth"===r.kind?a.missing.push(...r.missing??[e]):a.notes.push(`${e} couldn't be checked just now (${r.error})`)}),a.notes.push("Database read is checked at the first daily size read"),a}e.s(["W",0,{project_admin_read:"Service health stays empty",analytics_usage_read:"Last API traffic and Auto-pause risk stay empty",organization_admin_read:"Free slots assume every organization is on the free plan",database_read:"Database size stays empty"},"Z",0,eI,"e",0,ek,"i",0,ey,"X",0,eg,"K",0,eb,"c",0,(e,t,r={})=>ez(t,"pause",e,r),"G",0,(e,t,r={})=>ez(t,"restore",e,r),"F",0,ew,"T",0,eA],112735);let e_="https://api.turso.tech/v1",e$="Turso",ev=z.z.object({slug:b.z.string(),name:b.z.string().default(""),plan_id:b.z.string().nullish(),blocked_reads:Z.z.boolean().nullish(),blocked_writes:Z.z.boolean().nullish()});async function eS(e,t={}){let r=await T(e$,`${e_}/organizations`,{token:e},t);if(!r.ok)return r;let a=y.z.array(ev).safeParse(r.data);return a.success?{ok:!0,data:a.data.map(e=>({slug:e.slug,name:e.name||e.slug,plan:e.plan_id??null,blockedReads:e.blocked_reads??!1,blockedWrites:e.blocked_writes??!1}))}:P(e$,"the organization list")}let eT=z.z.object({Name:b.z.string(),DbId:b.z.string(),group:b.z.string().nullish(),primaryRegion:b.z.string().nullish(),block_reads:Z.z.boolean().nullish(),block_writes:Z.z.boolean().nullish()});async function eP(e,t,r={}){let a=await T(e$,`${e_}/organizations/${encodeURIComponent(t)}/databases`,{token:e},r);if(!a.ok)return a;let n=z.z.object({databases:y.z.array(eT)}).safeParse(a.data);return n.success?{ok:!0,data:n.data.databases.map(e=>({id:e.DbId,name:e.Name,org:t,group:e.group??null,primaryRegion:e.primaryRegion??null,blockReads:e.block_reads??!1,blockWrites:e.block_writes??!1}))}:P(e$,"the database list")}async function eC(e,t={}){let r=await eS(e,t);if(!r.ok)return r;let a=[];for(let n of r.data.slice(0,10)){let r=await eP(e,n.slug,t);if(!r.ok)return r;a.push(...r.data)}return{ok:!0,data:a}}let ex=z.z.object({rows_read:j.z.number().default(0),rows_written:j.z.number().default(0),storage_bytes:j.z.number().default(0)}),eR=z.z.object({organization:z.z.object({usage:ex.extend({databases:j.z.number().nullish()})}),databases:y.z.array(z.z.object({uuid:b.z.string(),total:ex.nullish()})).nullish()}),eN=e=>({rowsRead:e.rows_read,rowsWritten:e.rows_written,storageBytes:e.storage_bytes});async function eD(e,t,r={}){let a=await T(e$,`${e_}/organizations/${encodeURIComponent(t)}/usage`,{token:e},r);return a.ok?function(e){let t=eR.safeParse(e);if(!t.success)return P(e$,"the usage");let r=new Map;for(let e of t.data.databases??[])e.total&&r.set(e.uuid,eN(e.total));return{ok:!0,data:{org:{...eN(t.data.organization.usage),databases:t.data.organization.usage.databases??null},byDb:r}}}(a.data):a}e.s(["t",0,eC,"X",0,eP,"u",0,eS,"d",0,eD],354448);let eE="https://api.upstash.com/v2",eM="Upstash";function eU(e){let t=e.trim(),r=t.search(/[:\s]/);if(r<=0)return null;let a=t.slice(0,r).trim(),n=t.slice(r+1).trim();return!/^[^@\s:]+@[^@\s:]+\.[^@\s:]+$/.test(a)||n.length<20||/\s/.test(n)?null:{email:a,apiKey:n}}let eO=e=>({basic:{user:e.email,pass:e.apiKey}}),eq=z.z.object({database_id:b.z.string(),database_name:b.z.string(),region:b.z.string().nullish(),primary_region:b.z.string().nullish(),state:b.z.string().nullish(),type:b.z.string().nullish()});async function eB(e,t={}){let r=await T(eM,`${eE}/redis/databases`,eO(e),t);if(!r.ok)return r;let a=y.z.array(eq).safeParse(r.data??[]);return a.success?{ok:!0,data:a.data.map(e=>({id:e.database_id,name:e.database_name,region:"global"===e.region&&e.primary_region?`global \xb7 ${e.primary_region}`:e.region??e.primary_region??null,state:e.state??null,type:e.type??null}))}:P(eM,"the database list")}let eV=j.z.number().nullish(),eF=z.z.object({daily_net_commands:eV,total_monthly_requests:eV,current_storage:eV,total_monthly_bandwidth:eV});async function eJ(e,t,r={}){var a;let n,s=await T(eM,`${eE}/redis/stats/${encodeURIComponent(t)}`,eO(e),r);return s.ok?(a=s.data,(n=eF.safeParse(a)).success?{ok:!0,data:{dailyCommands:n.data.daily_net_commands??null,monthlyRequests:n.data.total_monthly_requests??null,storageBytes:n.data.current_storage??null,monthlyBandwidthBytes:n.data.total_monthly_bandwidth??null}}:P(eM,"the database stats")):s}e.s(["M",0,eB,"L",0,eU,"Z",0,eJ],584897);var eL=e.i(895176),eG=e.i(201516),eH=e.i(672319);function eZ(e,t,r){let a=new Map(e.map(e=>[e.externalId,e])),n=new Set(t.map(e=>e.externalId)),s=new Set(r.keepTeamIds??[]);return{update:t.filter(e=>a.has(e.externalId)).map(e=>({id:a.get(e.externalId).id,name:e.name,meta:e.meta})),insert:t.filter(e=>!a.has(e.externalId)).map(e=>({...e,monitored:r.watchNew})),gone:e.filter(e=>!n.has(e.externalId)&&!(null!==e.teamId&&s.has(e.teamId))).map(e=>e.id)}}function eY(e,t){return!e.monitored&&t.getTime()-e.firstSeenAt.getTime()<864e5}let eW={vercel:"app",supabase:"supabase_project",neon:"neon_project",firebase:"firestore",cloudflare:"zone",turso:"turso_database",upstash:"upstash_redis"};Object.keys(eW);let eK=e=>Object.hasOwn(eW,e)?eW[e]:null,eQ=e=>"string"==typeof e&&e?e:null;function eX(e,t){return"app"===e?`Vercel project${eQ(t.teamName)?` \xb7 ${t.teamName}`:""}`:"zone"===e?`Cloudflare zone \xb7 ${eQ(t.status)??"unknown"}`:"supabase_project"===e?["Supabase project",eQ(t.status)?(0,eH.P)(String(t.status)).label:null,eQ(t.region)].filter(Boolean).join(" · "):"neon_project"===e?["Neon project",eQ(t.region)].filter(Boolean).join(" · "):"turso_database"===e?["Turso database",eQ(t.group)?`group ${t.group}`:null,eQ(t.region)].filter(Boolean).join(" · "):"upstash_redis"===e?["Upstash Redis",eQ(t.region)].filter(Boolean).join(" · "):"Firebase project"}let e0=e=>"app"===e?"app":"zone"===e?"dom":"firestore"===e?"fs":"db";async function e1(e){let[r]=await (0,a.f)().select().from(n.accounts).where((0,t.u)(n.accounts.id,e)).limit(1);if(!r)return null;let s=(0,i.V)({ciphertext:r.credentialCiphertext,iv:r.credentialIv},(0,d.f)().OPS_ENCRYPTION_KEY);return{account:r,token:s,problem:(0,o.A)(s)}}async function e4(e,r){let s=new Date;return(await (0,a.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,r),(0,t.M)(n.resources.goneAt))).orderBy(n.resources.name).limit(500)).map(e=>({id:e.id,name:e.name,sub:eX(e.kind,e.meta),monitored:e.monitored,fresh:eY(e,s),badge:e0(e.kind)}))}async function e3(e,r){let s=await (0,a.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,"app"))),o=s.filter(e=>e.monitored&&!e.goneAt),i=s.filter(e=>!e.monitored||e.goneAt);if(i.length&&await (0,a.f)().update(n.monitors).set({paused:!0,updatedAt:new Date}).where((0,t.y)(n.monitors.resourceId,i.map(e=>e.id))),!o.length)return 0;let u=await (0,a.f)().select({id:n.monitors.id,resourceId:n.monitors.resourceId,paused:n.monitors.paused,ownerPaused:n.monitors.ownerPaused,kind:n.monitors.kind}).from(n.monitors).where((0,t.y)(n.monitors.resourceId,o.map(e=>e.id))),l=(0,eG.Z)(u.filter(e=>"heartbeat"===e.kind));l.length&&await (0,a.f)().update(n.monitors).set({paused:!1,updatedAt:new Date}).where((0,t.y)(n.monitors.id,l));let d=u.filter(e=>"heartbeat"!==e.kind),c=(0,eG.Z)(d),p=new Set(u.map(e=>e.resourceId)),m=[];for(let e of o.filter(e=>!p.has(e.id))){let t=String(e.meta.teamId??""),a=r?await (0,g.q)(r,t,e.externalId,e.name):null;m.push({appId:e.id,url:`https://${a?.ok?a.data:`${e.name}.vercel.app`}/`})}return c.length||m.length?(0,eL.e)(async e=>{let r=Math.max(0,eG.G-await (0,eL.Q)(e)),a=new Set,s=c.slice(0,r),o=c.slice(s.length);r-=s.length;let i=new Date;if(s.length&&await e.update(n.monitors).set({paused:!1,updatedAt:i}).where((0,t.y)(n.monitors.id,s)),o.length)for(let r of(await e.update(n.monitors).set({paused:!1,ownerPaused:!0,updatedAt:i}).where((0,t.y)(n.monitors.id,o)),d.filter(e=>o.includes(e.id))))a.add(r.resourceId);for(let t of m){let s=r>0;s?r-=1:a.add(t.appId),await e.insert(n.monitors).values({resourceId:t.appId,url:t.url,ownerPaused:!s}).onConflictDoNothing()}return a.size}):0}async function e2(e,r,s,o){let i=eZ((await (0,a.f)().select({id:n.resources.id,externalId:n.resources.externalId,monitored:n.resources.monitored}).from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,"zone")))).map(e=>({...e,teamId:null})),s.map(e=>({externalId:e.id,name:e.name,meta:{status:e.status,accountId:e.accountId,accountName:e.accountName}})),{watchNew:r});await (0,a.f)().transaction(async r=>{for(let e of i.update)await r.update(n.resources).set({name:e.name,meta:e.meta,lastSeenAt:o,goneAt:null,updatedAt:o}).where((0,t.u)(n.resources.id,e.id));i.insert.length&&await r.insert(n.resources).values(i.insert.map(t=>({accountId:e,kind:"zone",externalId:t.externalId,name:t.name,meta:t.meta,monitored:t.monitored}))).onConflictDoNothing({target:[n.resources.accountId,n.resources.kind,n.resources.externalId]}),i.gone.length&&await r.update(n.resources).set({goneAt:o,updatedAt:o}).where((0,t.b)((0,t.y)(n.resources.id,i.gone),(0,t.M)(n.resources.goneAt)))})}async function e6(e,r,s){let i=await (0,h.F)(r);if(!i.ok){let r=(0,o.E)({ok:!1,kind:"scope"===i.kind?"auth":i.kind,error:i.error});return r&&await (0,a.f)().update(n.accounts).set({...r,updatedAt:new Date}).where((0,t.u)(n.accounts.id,e)),{ok:!1,error:i.error}}let u=new Date;await e2(e,s,i.data,u);let l=await (0,h.d)(r);return await (0,a.f)().update(n.accounts).set({lastSyncAt:u,status:"ok",lastError:null,updatedAt:u,...l.ok?{expiresAt:l.data.expiresAt}:{}}).where((0,t.u)(n.accounts.id,e)),{ok:!0}}async function e5(e,t){let r=e=>({ok:!1,kind:"auth"===e.kind||"scope"===e.kind?"auth":"format"===e.kind?"format":"transient",error:e.error});if("vercel"===e){let e=await (0,g.G)(t);return e.ok?{ok:!0,found:e.data.apps,skippedTeams:e.data.skippedTeams,skippedTeamIds:e.data.skippedTeamIds}:{ok:!1,kind:e.kind,error:e.error}}if("supabase"===e){let e=await eg(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.filter(e=>"REMOVED"!==e.status).map(e=>({externalId:e.ref,name:e.name,meta:{orgSlug:e.orgSlug,region:e.region,pgVersion:e.pgVersion,createdAt:e.createdAt,status:e.status}}))}:r(e)}if("neon"===e){let e=await ee(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.map(e=>({externalId:e.id,name:e.name,meta:{orgId:e.orgId,region:e.region,pgVersion:e.pgVersion,createdAt:e.createdAt}}))}:r(e)}if("turso"===e){let e=await eC(t);return e.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:e.data.map(e=>({externalId:e.id,name:e.name,meta:{org:e.org,group:e.group,region:e.primaryRegion}}))}:r(e)}if("upstash"===e){let e=eU(t);if(!e)return{ok:!1,kind:"format",error:"The stored Upstash credential can't be read. Replace it."};let a=await eB(e);return a.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:a.data.map(e=>({externalId:e.id,name:e.name,meta:{region:e.region,type:e.type}}))}:r(a)}let a=F(t);if(!a)return{ok:!1,kind:"format",error:"The stored service account can't be read. Replace the credential."};let n=await H(a);if(!n.ok)return r(n);let s=await x(a,n.data);return s.ok?{ok:!0,skippedTeams:[],skippedTeamIds:[],found:s.data.map(e=>({externalId:e.projectId,name:e.displayName,meta:{projectId:e.projectId}}))}:r(s)}async function e8(e){let r=await e1(e);if(!r)return{ok:!1,error:"That account no longer exists."};let{account:s,token:i,problem:u}=r,l=eK(s.provider);if(!l)return{ok:!1,error:"Sync for this provider arrives in a later stage."};if(u||!i)return{ok:!1,error:u??"The credential can't be read."};if("cloudflare"===s.provider){let t=await e6(e,i,s.watchNew);return t.ok?{ok:!0,rows:await e4(e,l),skippedTeams:[],overLimit:null}:t}let d=await e5(s.provider,i);if(!d.ok){let r=(0,o.E)({ok:!1,kind:d.kind,error:d.error});return r&&await (0,a.f)().update(n.accounts).set({...r,updatedAt:new Date}).where((0,t.u)(n.accounts.id,e)),{ok:!1,error:d.error}}let c=eZ((await (0,a.f)().select({id:n.resources.id,externalId:n.resources.externalId,monitored:n.resources.monitored,meta:n.resources.meta}).from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,l)))).map(e=>({id:e.id,externalId:e.externalId,monitored:e.monitored,teamId:"string"==typeof e.meta.teamId?e.meta.teamId:null})),d.found,{watchNew:s.watchNew,keepTeamIds:d.skippedTeamIds}),p="vercel"===s.provider?await (0,g.n)(i):null,m=new Date;await (0,a.f)().transaction(async r=>{for(let e of c.update)await r.update(n.resources).set({name:e.name,meta:e.meta,lastSeenAt:m,goneAt:null,updatedAt:m}).where((0,t.u)(n.resources.id,e.id));c.insert.length&&await r.insert(n.resources).values(c.insert.map(t=>({accountId:e,kind:l,externalId:t.externalId,name:t.name,meta:t.meta,monitored:t.monitored}))).onConflictDoNothing({target:[n.resources.accountId,n.resources.kind,n.resources.externalId]}),c.gone.length&&await r.update(n.resources).set({goneAt:m,updatedAt:m}).where((0,t.b)((0,t.y)(n.resources.id,c.gone),(0,t.M)(n.resources.goneAt))),await r.update(n.accounts).set({lastSyncAt:m,status:"ok",lastError:null,updatedAt:m,...p?.ok?{expiresAt:p.data}:{}}).where((0,t.u)(n.accounts.id,e))});let f="vercel"===s.provider?await e3(e,i):0;return{ok:!0,rows:await e4(e,l),skippedTeams:d.skippedTeams,overLimit:(0,eG.S)(f)}}async function e9(e,r,s){let o=await e1(e);if(!o)return{ok:!1,error:"That account no longer exists."};let i=eK(o.account.provider);if(!i)return{ok:!1,error:"Sync for this provider arrives in a later stage."};let u=(0,t.b)((0,t.u)(n.resources.accountId,e),(0,t.u)(n.resources.kind,i),(0,t.M)(n.resources.goneAt));await (0,a.f)().transaction(async a=>{let o=new Date;r.length?(await a.update(n.resources).set({monitored:!0,updatedAt:o}).where((0,t.b)(u,(0,t.y)(n.resources.id,r))),await a.update(n.resources).set({monitored:!1,updatedAt:o}).where((0,t.b)(u,(0,t.$)(n.resources.id,r)))):await a.update(n.resources).set({monitored:!1,updatedAt:o}).where(u),await a.update(n.accounts).set({watchNew:s,updatedAt:o}).where((0,t.u)(n.accounts.id,e))});let l="vercel"===o.account.provider?await e3(e,o.token):0,d=await e4(e,i);return{ok:!0,on:d.filter(e=>e.monitored).length,total:d.length,overLimit:(0,eG.S)(l)}}e.s(["f",0,eW,"d",0,e0,"T",0,eY,"D",0,function(e,t,r){let a=e.filter(e=>!e.goneAt&&(!r||e.kind===r));return{on:a.filter(e=>e.monitored).length,total:a.length,fresh:a.filter(e=>eY(e,t)).length}},"J",0,eZ,"K",0,eK,"S",0,eX],45468),e.s(["v",0,e9,"k",0,e8,"s",0,e2],743303);var e7=e.i(33135);let te=s.B`excluded.meta`;async function tt(e){let r=(0,d.f)().OPS_ENCRYPTION_KEY;return(await (0,a.f)().select().from(n.accounts).where((0,t.b)((0,t.u)(n.accounts.provider,e),(0,t.u)(n.accounts.status,"ok")))).map(e=>{let t=(0,i.V)({ciphertext:e.credentialCiphertext,iv:e.credentialIv},r);return{acc:e,token:(0,o.A)(t)?null:t}})}async function tr(e,r,s){for(let{acc:i,token:u}of(await tt("cloudflare"))){if(!u){s.push(`cloudflare/${i.label}: credential can't be read`);continue}let d=await (0,h.F)(u);if(!d.ok){let r=(0,o.E)({ok:!1,kind:"scope"===d.kind?"auth":d.kind,error:d.error});if(r&&await (0,a.f)().update(n.accounts).set({...r,updatedAt:e}).where((0,t.u)(n.accounts.id,i.id)),s.push(`cloudflare/${i.label}: ${d.error}`),429===d.status)return;continue}for(let o of(await e2(i.id,i.watchNew,d.data,e),await (0,a.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,i.id),(0,t.u)(n.resources.kind,"zone"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))))){if(r-Date.now()<6e3)return void s.push("cloudflare: skipped remaining zones, time budget used");let t=d.data.find(e=>e.id===o.externalId),[a,n,i]=await Promise.all([(0,h.p)(u,o.externalId),(0,h.v)(u,o.externalId),(0,h.w)(u,o.externalId)]),c=[a,n,i].flatMap(e=>e.ok?[]:[e]),p={zone:{status:t?.status??null,paused:t?.paused??!1,nameServers:t?.nameServers??[],accountId:t?.accountId??null,checkedAt:e.toISOString()},ssl:n.ok?{mode:n.data,error:null}:{mode:null,error:n.error},cfErrors:c.map(e=>e.error)};for(let t of(a.ok?Object.assign(p,{records:a.data.records,recordsTruncated:a.data.truncated}):"scope"===a.kind&&Object.assign(p,{records:[],recordsTruncated:!1}),i.ok?p.certs=i.data:"scope"===i.kind&&(p.certs=[]),await (0,l.r)(o.id,p,e),c))"scope"!==t.kind&&s.push(`cloudflare/${o.name}: ${t.error}`);if(c.some(e=>429===e.status))return}}}async function ta(e,r,s){for(let{acc:o,token:i}of(await tt("vercel"))){if(!i)continue;let u=await (0,a.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.accountId,o.id),(0,t.u)(n.resources.kind,"app"))),d=u.filter(e=>e.monitored&&!e.goneAt),c=u.filter(e=>!e.monitored||e.goneAt).map(e=>e.id);for(let u of(c.length&&await (0,a.f)().update(n.resources).set({monitored:!1,updatedAt:e}).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.y)(n.resources.parentId,c))),d)){if(Date.now()>r)return void s.push("domains: skipped remaining apps, time budget used");let d=String(u.meta.teamId??""),c=await (0,g.M)(i,d,u.externalId);if(!c.ok){if(s.push(`domains/${u.name}: ${c.error}`),429===c.status)return;if("auth"===c.kind)break;continue}let p=c.data.filter(e=>!e.gitBranch),f=p.length?await (0,a.f)().insert(n.resources).values(p.map(t=>({accountId:o.id,kind:"domain",externalId:t.name,name:t.name,parentId:u.id,monitored:!0,meta:{redirect:t.redirect,verified:t.verified,projectId:u.externalId},lastSeenAt:e}))).onConflictDoUpdate({target:[n.resources.accountId,n.resources.kind,n.resources.externalId],set:{parentId:u.id,monitored:!0,goneAt:null,lastSeenAt:e,updatedAt:e,meta:te}}).returning({id:n.resources.id,name:n.resources.name}):[];for(let o of(await (0,a.f)().update(n.resources).set({goneAt:e,updatedAt:e}).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.parentId,u.id),(0,t.M)(n.resources.goneAt),p.length?(0,t.$)(n.resources.externalId,p.map(e=>e.name)):void 0)),f.filter(e=>!(0,m.f)(e.name)))){if(Date.now()>r)return;let t=await (0,g.Q)(i,d,o.name);t.ok?await (0,l.r)(o.id,{vercel:{...t.data,checkedAt:e.toISOString()}},e):"transient"===t.kind&&s.push(`domains/${o.name}: ${t.error}`)}}}}async function tn(){return(0,a.f)().select({r:n.resources,s:n.snapshots}).from(n.resources).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt)))}async function ts(){return(0,a.f)().select({r:n.resources,s:n.snapshots}).from(n.resources).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"zone"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt)))}let to=(e,t)=>((0,m.Z)(e)?.getTime()??0)-((0,m.Z)(t)?.getTime()??0);async function ti(e,r,s){let[o]=await (0,a.f)().select({data:n.snapshots.data}).from(n.snapshots).where((0,t.u)(n.snapshots.resourceId,e)).limit(1),i=await (0,f.f)(r,{timeoutMs:5e3});await (0,l.r)(e,{tls:(0,c.o)(i,(0,c.q)(o?.data).tls,s)},s)}async function tu(e,t,r){let a=(await tn()).filter(({r:t,s:r})=>!(0,m.f)(t.name)&&(0,m.Y)((0,c.q)(r?.data).tls?.checkedAt,e)).sort((e,t)=>to((0,c.q)(e.s?.data).tls?.checkedAt,(0,c.q)(t.s?.data).tls?.checkedAt)).slice(0,m.H);await (0,e7.P)(a,4,async({r:a})=>{if(!(t-Date.now()<6e3))try{await ti(a.id,a.name,e)}catch{r.push(`tls/${a.name}: couldn't save the result`)}})}async function tl(e,r,s,o){let[i]=await (0,a.f)().select({data:n.snapshots.data}).from(n.snapshots).where((0,t.u)(n.snapshots.resourceId,e)).limit(1),u=(0,c.q)(i?.data).rdap,d=o;if(!d){let e=await (0,p.Y)();if(!e.ok)return e.error;d=e.services}let m=(0,p.T)(d,r),f=m?await (0,p.u)(r,m):{ok:!1,error:"The registry has no RDAP server"};return await (0,l.r)(e,{rdap:(0,c.n)(f,u,s)},s),f.ok?null:f.error}async function td(e,t,r){let a=(await ts()).filter(({r:t,s:r})=>t.monitored&&(0,m.Y)((0,c.q)(r?.data).rdap?.checkedAt,e)).sort((e,t)=>to((0,c.q)(e.s?.data).rdap?.checkedAt,(0,c.q)(t.s?.data).rdap?.checkedAt)).slice(0,m.H);if(!a.length)return;let n=await (0,p.Y)();if(!n.ok)return void r.push(`rdap: ${n.error}`);for(let{r:s}of a){if(t-Date.now()<6e3)return;let a=await tl(s.id,s.name,e,n.services);a&&"The registry has no RDAP server"!==a&&r.push(`rdap/${s.name}: ${a}`)}}async function tc(e,t,r){let s=t-Date.now();if(s<1e3)throw Error("skipped, time budget used");let o=await (0,k.z)({timeoutMs:Math.min(8e3,s)});if(!o.ok)return void r.push(`eol: ${o.error}`);let i={cycles:o.cycles,checkedAt:e.toISOString()};await (0,a.f)().insert(n.settings).values({key:k.T,value:i}).onConflictDoUpdate({target:n.settings.key,set:{value:i,updatedAt:e}})}async function tp(e){let t=await ts(),r=[];for(let{r:a,s:n}of t.filter(e=>e.s)){let t=(0,c.q)(n.data),s=(0,m.G)({status:t.zone?.status??null,paused:t.zone?.paused??!1,rdap:t.rdap},e);(s.state!==n.state||JSON.stringify(s.reasons)!==JSON.stringify(t.reasons))&&(await (0,l.r)(a.id,{reasons:s.reasons},e),s.state!==n.state&&await (0,l.a)(a.id,s.state,e),r.push((0,m.n)({resourceId:a.id,name:a.name,prev:n.state,next:s.state,reasons:s.reasons,at:e})))}let a=t.filter(e=>e.r.monitored).map(e=>e.r.name);for(let{r:n,s}of(await tn())){let o=(0,c.q)(s?.data),i=(0,m.J)(n.name,a),u=i?(0,c.q)(t.find(e=>e.r.name===i)?.s?.data):null,d=(0,m.k)({host:n.name,tls:o.tls,vercel:o.vercel,records:u?(0,m.Q)(n.name,u.records):[],zoneRdap:u?.rdap??null},e),p=s?.state??null;(d.state!==p||JSON.stringify(d.reasons)!==JSON.stringify(o.reasons))&&(await (0,l.r)(n.id,{reasons:d.reasons},e),d.state!==p&&await (0,l.a)(n.id,d.state,e),r.push((0,m.n)({resourceId:n.id,name:n.name,prev:p,next:d.state,reasons:d.reasons,at:e})))}await (0,u.f)(r)}async function tm(){return(0,a.f)().select({r:n.resources,s:n.snapshots,label:n.accounts.label}).from(n.resources).innerJoin(n.accounts,(0,t.u)(n.accounts.id,n.resources.accountId)).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"zone"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))).orderBy((0,r.M)(n.resources.name)).limit(200)}async function tf(){let e=await (0,a.f)().select({r:n.resources,s:n.snapshots}).from(n.resources).leftJoin(n.snapshots,(0,t.u)(n.snapshots.resourceId,n.resources.id)).where((0,t.b)((0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))).orderBy((0,r.M)(n.resources.name)).limit(200);if(!e.length)return[];let s=[...new Set(e.map(e=>e.r.parentId).filter(e=>!!e))],o=s.length?await (0,a.f)().select({id:n.resources.id,name:n.resources.name,monitored:n.resources.monitored,goneAt:n.resources.goneAt}).from(n.resources).where((0,t.y)(n.resources.id,s)):[],i=new Set(o.filter(e=>e.monitored&&!e.goneAt).map(e=>e.id)),u=await tm(),l=u.map(e=>e.r.name);return e.filter(({r:e})=>!e.parentId||i.has(e.parentId)).map(({r:e,s:t})=>{let r=(0,c.q)(t?.data),a=(0,m.J)(e.name,l),n=u.find(e=>e.r.name===a),s=(0,c.q)(n?.s?.data);return{id:e.id,name:e.name,appId:e.parentId,appName:o.find(t=>t.id===e.parentId)?.name??null,zoneId:n?.r.id??null,zoneName:a,isVercel:(0,m.f)(e.name),state:t?.state??"unknown",reasons:r.reasons,tls:r.tls,vercel:r.vercel,records:n?(0,m.Q)(e.name,s.records):[],rdap:n?s.rdap:null,cfAccountId:n?s.zone?.accountId??null:null}})}async function th(){return(await tm()).map(e=>({id:e.r.id,name:e.r.name}))}async function tg(e){let t=await tm(),r=(e?t.find(t=>t.r.id===e):null)??t[0];if(!r)return null;let a=(0,c.q)(r.s?.data);return{id:r.r.id,name:r.r.name,accountId:r.r.accountId,accountLabel:r.label,state:r.s?.state??"unknown",reasons:a.reasons,facts:a}}async function tk(){let[e]=await (0,a.f)().select({value:n.settings.value}).from(n.settings).where((0,t.u)(n.settings.key,k.T)).limit(1),r=e?.value,s=r?(0,k.b)({result:{releases:r.cycles?.map(e=>({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom,latest:e.latest?{name:e.latest}:null}))}}):null;return s&&"string"==typeof r?.checkedAt?{cycles:s,checkedAt:r.checkedAt}:null}async function tz(e){let[r]=await (0,a.f)().select().from(n.resources).where((0,t.b)((0,t.u)(n.resources.id,e),(0,t.u)(n.resources.kind,"domain"),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt))).limit(1);if(!r)return{ok:!1,error:"That domain is no longer watched."};if((0,m.f)(r.name))return{ok:!1,error:"vercel.app domains are Vercel's own. There is nothing to check."};let s=new Date;await ti(r.id,r.name,s);let o=await tm(),i=(0,m.J)(r.name,o.map(e=>e.r.name)),u=o.find(e=>e.r.name===i),l=u?await tl(u.r.id,u.r.name,s):null;return await tp(s),{ok:!0,message:l?`Checked ${r.name}. Domain expiry: ${l}.`:`Checked ${r.name}.`,audit:{message:`Re-check: ${r.name}`,resourceId:r.id}}}e.s(["p",0,["cloudflare","domains","tls","rdap","eol"],"r",0,tl,"x",0,tp,"h",0,tr,"H",0,ta,"i",0,tc,"W",0,td,"V",0,tu,"j",0,ti],418864),e.s(["j",0,tg,"p",0,tf,"c",0,th,"P",0,tk,"_",0,tz],30184)},669943,e=>{var t=e.i(93321),r=e.i(351674),a=e.i(548734),n=e.i(837137);async function s(e,t,s){await (0,a.f)().insert(n.snapshots).values({resourceId:e,data:t,collectedAt:s,stateSince:s}).onConflictDoUpdate({target:n.snapshots.resourceId,set:{data:r.B`${n.snapshots.data} || ${JSON.stringify(t)}::jsonb`,collectedAt:s}})}async function o(e,r,s){await (0,a.f)().update(n.snapshots).set({state:r,stateSince:s}).where((0,t.u)(n.snapshots.resourceId,e))}e.s(["r",0,s,"a",0,o])},960186,e=>{let t={supabase_project:"supabase",neon_project:"neon",firestore:"firebase",turso_database:"turso",upstash_redis:"upstash",d1_database:"d1"};function r(e){return e.toLowerCase().replace(/^webs?[-_]/,"").replace(/[-_](vercel|web|app|site|fe|frontend)$/,"").replace(/[^a-z0-9]/g,"")}e.s(["H",0,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"],"$",0,{supabase:"Supabase",neon:"Neon",firebase:"Firebase",turso:"Turso",upstash:"Upstash",d1:"Cloudflare D1"},"N",0,e=>`/${t[e]}`,"Z",0,e=>t[e],"U",0,function(e,t){let a=r(e);if(!a)return null;let n=t.filter(e=>r(e.name)===a);if(n.length)return 1===n.length?n[0].id:null;let s=t.filter(e=>{let t=r(e.name);return t.length>=4&&a.length>=4&&(a.includes(t)||t.includes(a))});return 1===s.length?s[0].id:null}])},188546,e=>{var t=e.i(26972),r=e.i(427221),a=e.i(83931),n=e.i(689963),s=e.i(811365);let o=t.z.object({notAfter:r.z.string().nullable(),issuer:r.z.string().nullable(),authorized:a.z.boolean().nullable(),error:r.z.string().nullable(),checkedAt:r.z.string()}),i=t.z.object({misconfigured:a.z.boolean(),configuredBy:r.z.string().nullable(),recommendedIps:n.z.array(r.z.string()).default([]),checkedAt:r.z.string()}),u=t.z.object({expiresAt:r.z.string().nullable(),registrar:r.z.string().nullable(),error:r.z.string().nullable(),checkedAt:r.z.string()}),l=t.z.object({id:r.z.string(),type:r.z.string(),name:r.z.string(),content:r.z.string(),proxied:a.z.boolean(),ttl:s.z.number(),comment:r.z.string().nullable()}),d=t.z.object({status:r.z.string().nullable(),paused:a.z.boolean(),nameServers:n.z.array(r.z.string()),accountId:r.z.string().nullable(),checkedAt:r.z.string().nullable()}),c=t.z.object({mode:r.z.string().nullable(),error:r.z.string().nullable()}),p=t.z.object({type:r.z.string(),status:r.z.string(),hosts:n.z.array(r.z.string()),expiresOn:r.z.string().nullable()}),m=(e,t)=>{let r=e.safeParse(t);return r.success?r.data:null},f=(e,t)=>Array.isArray(t)?t.flatMap(t=>{let r=e.safeParse(t);return r.success?[r.data]:[]}):[],h=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e):[];e.s(["q",0,function(e){let t=e??{};return{tls:m(o,t.tls),vercel:m(i,t.vercel),rdap:m(u,t.rdap),records:f(l,t.records),recordsTruncated:!0===t.recordsTruncated,zone:m(d,t.zone),ssl:m(c,t.ssl),certs:f(p,t.certs),cfErrors:h(t.cfErrors),reasons:h(t.reasons)}},"n",0,function(e,t,r){let a=r.toISOString();return e.ok?{expiresAt:e.expiresAt,registrar:e.registrar,error:null,checkedAt:a}:{expiresAt:t?.expiresAt??null,registrar:t?.registrar??null,error:e.error,checkedAt:a}},"o",0,function(e,t,r){let a=r.toISOString();return e.ok?{notAfter:e.notAfter.toISOString(),issuer:e.issuer,authorized:e.authorized,error:null,checkedAt:a}:{notAfter:t?.notAfter??null,issuer:t?.issuer??null,authorized:null,error:e.error,checkedAt:a}}])},182622,714779,44925,572134,558418,e=>{var t=e.i(26972),r=e.i(899370),a=e.i(689963),n=e.i(427221),s=e.i(191179),o=e.i(954757),o=o,i=e.i(761095),u=e.i(33135),l=e.i(261283);let d=e=>e.toLowerCase().replace(/\.$/,"");function c(e){try{let t=new URL(e);return null===(0,l._)(t)&&!(0,i.isIP)(t.hostname.replace(/^[|]$/g,""))}catch{return!1}}let p=t.z.object({objectClassName:r.z.literal("domain"),events:a.z.array(t.z.object({eventAction:n.z.string(),eventDate:n.z.string()})).default([]),entities:a.z.array(t.z.object({roles:a.z.array(n.z.string()).default([]),vcardArray:s.z.unknown().optional()})).default([])});async function m(e,t,r){let a=await (0,u.K)(e,{fetch:r.fetch,lookup:r.lookup,timeoutMs:r.timeoutMs??8e3,maxBytes:524288,headers:{Accept:t},userAgent:"OpsConsole-Network/1.0 (+https://west-solutions.web.id)"});if(!a.ok)return{ok:!1,error:"Blocked address"===a.error?"The registry's RDAP address isn't a public https address":"Couldn't reach the registry's RDAP server"};if(a.truncated)return{ok:!1,error:"The answer was too large"};if(200!==a.status)return{ok:!0,status:a.status,body:null};try{return{ok:!0,status:a.status,body:JSON.parse(a.body)}}catch{return{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}}let f=t.z.object({services:a.z.array(o.tuple([a.z.array(n.z.string()),a.z.array(n.z.string())]))});async function h(e={}){let t=await m("https://data.iana.org/rdap/dns.json","application/json",e);if(!t.ok)return{ok:!1,error:"Couldn't read IANA's RDAP list"};if(200!==t.status)return{ok:!1,error:`IANA's RDAP list returned an error (${t.status})`};let r=f.safeParse(t.body);return r.success?{ok:!0,services:r.data.services}:{ok:!1,error:"IANA's RDAP list is in a format the console doesn't recognise"}}async function g(e,t,r={}){let a=`${t.endsWith("/")?t:`${t}/`}domain/${encodeURIComponent(d(e))}`,n=await m(a,"application/rdap+json, application/json",r);if(!n.ok)return n;if(404===n.status)return{ok:!1,error:"The registry doesn't know this domain"};if(200!==n.status)return{ok:!1,error:`The registry's RDAP server returned an error (${n.status})`};let s=function(e){let t=p.safeParse(e);if(!t.success)return null;let r=t.data.events.find(e=>"expiration"===e.eventAction),a=r?new Date(r.eventDate):null,n=t.data.entities.find(e=>e.roles.includes("registrar"));return{expiresAt:a&&!Number.isNaN(a.getTime())?a.toISOString():null,registrar:n?function(e){if(!Array.isArray(e)||!Array.isArray(e[1]))return null;let t=e[1].find(e=>Array.isArray(e)&&"fn"===e[0]);return"string"==typeof t?.[3]&&t[3]?t[3]:null}(n.vcardArray):null}}(n.body);return s?{ok:!0,...s}:{ok:!1,error:"The registry answered in a format the console doesn't recognise"}}e.s(["Y",0,h,"u",0,g,"T",0,function(e,t){let r=d(t).split(".");for(let t=0;t<r.length;t++){let a=r.slice(t).join("."),n=e.find(([e])=>e.map(d).includes(a));if(n)return n[1].find(c)??null}return null}],182622);var k=e.i(300794),z=e.i(685560);let y={Jan:0,Feb:1,Mar:2,Apr:3,May:4,Jun:5,Jul:6,Aug:7,Sep:8,Oct:9,Nov:10,Dec:11};async function b(e,t={}){let r,a=t.timeoutMs??5e3,n=e.toLowerCase().replace(/\.$/,"");if((0,i.isIP)(n)||(0,l.N)(n))return{ok:!1,error:"Blocked address"};try{r=await (t.lookup??(async e=>(await (0,k.lookup)(e,{all:!0,verbatim:!0})).map(e=>e.address)))(n)}catch{return{ok:!1,error:"The name doesn't resolve"}}if(!r.length)return{ok:!1,error:"The name doesn't resolve"};if(r.some(l.W))return{ok:!1,error:"Blocked address"};let s=t.connect??z.connect,o=r.find(e=>4===(0,i.isIP)(e))??r[0];return new Promise(e=>{let t,r=!1,i=(t,a)=>{r||(r=!0,clearTimeout(u),a?.destroy(),e(t))},u=setTimeout(()=>i({ok:!1,error:`No answer within ${Math.round(a/1e3)} s`},t),a);try{t=s({host:o,port:443,servername:n,rejectUnauthorized:!1,timeout:a,ALPNProtocols:["http/1.1"]})}catch{return i({ok:!1,error:"Couldn't connect"})}let l=t;l.on("secureConnect",()=>{let e,t,r=l.getPeerCertificate(),a=function(e){if("string"!=typeof e)return null;let t=/^([A-Z][a-z]{2})\s+(\d{1,2})\s+(\d{2}):(\d{2}):(\d{2})\s+(\d{4})\s+GMT$/.exec(e.trim());return t&&void 0!==y[t[1]]?new Date(Date.UTC(Number(t[6]),y[t[1]],Number(t[2]),Number(t[3]),Number(t[4]),Number(t[5]))):null}(r.valid_to);if(!a)return i({ok:!1,error:"The certificate has no readable expiry date"},l);let n=l.authorized?null:String(l.authorizationError??"untrusted");i({ok:!0,notAfter:a,issuer:(e=r.issuer,"string"==typeof(t=e?.O??e?.CN)&&t?t:null),authorized:l.authorized,authError:n},l)}),l.on("timeout",()=>i({ok:!1,error:`No answer within ${Math.round(a/1e3)} s`},l)),l.on("error",()=>i({ok:!1,error:"Couldn't connect"},l))})}e.s(["f",0,b],714779);var w=e.i(83931),j=e.i(811365);let I="https://api.cloudflare.com/client/v4",A=t.z.object({success:w.z.boolean(),result:s.z.unknown(),result_info:t.z.object({page:j.z.number().optional(),total_pages:j.z.number().optional()}).nullish()});async function _(e,t,r,a){let n;try{n=await (r.fetch??fetch)(`${I}${e}`,{method:"GET",headers:{Authorization:`Bearer ${t}`,Accept:"application/json"},signal:AbortSignal.timeout(r.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Cloudflare didn't answer within 5 seconds.":"Couldn't reach Cloudflare."}}if(403===n.status&&a)return await n.body?.cancel().catch(()=>void 0),{ok:!1,kind:"scope",status:403,error:`The token can't read this. Add "${a}" to the Cloudflare token.`};if(401===n.status||403===n.status)return await n.body?.cancel().catch(()=>void 0),{ok:!1,kind:"auth",status:n.status,error:`Cloudflare rejected this credential (${n.status}).`};if(429===n.status){let e=Number(n.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60,error:"Cloudflare says there were too many requests."}}if(!n.ok)return{ok:!1,kind:"transient",status:n.status,error:`Cloudflare returned an error (${n.status}).`};let s=A.safeParse(await n.json().catch(()=>null));return s.success&&s.data.success?{ok:!0,data:{result:s.data.result,totalPages:s.data.result_info?.total_pages??null}}:$("its answer")}let $=e=>({ok:!1,kind:"format",error:`Cloudflare answered ${e} in a format the console doesn't recognise.`}),v=e=>encodeURIComponent(e),S=t.z.object({id:n.z.string(),name:n.z.string(),status:n.z.string(),paused:w.z.boolean().default(!1),name_servers:a.z.array(n.z.string()).default([]),account:t.z.object({id:n.z.string(),name:n.z.string().nullish()}).nullish()});async function T(e,t={}){let r=[];for(let n=1;n<=10;n++){let s=await _(`/zones?per_page=50&page=${n}`,e,t,null);if(!s.ok)return s;let o=a.z.array(S).safeParse(s.data.result);if(!o.success)return $("the zone list");for(let e of o.data)r.push({id:e.id,name:e.name,status:e.status,paused:e.paused,nameServers:e.name_servers,accountId:e.account?.id??null,accountName:e.account?.name??null});if(!s.data.totalPages||n>=s.data.totalPages)break}return{ok:!0,data:r}}let P=t.z.object({id:n.z.string(),type:n.z.string(),name:n.z.string(),content:n.z.string().default(""),proxied:w.z.boolean().default(!1),ttl:j.z.number().default(1),comment:n.z.string().nullish()});async function C(e,t,r={}){let n=[];for(let s=1;s<=4;s++){let o=await _(`/zones/${v(t)}/dns_records?per_page=500&page=${s}`,e,r,"DNS Read");if(!o.ok)return o;let i=a.z.array(P).safeParse(o.data.result);if(!i.success)return $("the DNS records");if(n.push(...i.data.map(e=>({id:e.id,type:e.type,name:e.name,content:e.content,proxied:e.proxied,ttl:e.ttl,comment:e.comment??null}))),!o.data.totalPages||s>=o.data.totalPages)return{ok:!0,data:{records:n,truncated:!1}}}return{ok:!0,data:{records:n,truncated:!0}}}let x=t.z.object({errors:a.z.array(t.z.object({code:j.z.number().int()})).min(1)});async function R(e,t,r,a,n){let s;try{s=await (n.fetch??fetch)(`${I}${t}`,{method:e,headers:{Authorization:`Bearer ${r}`,Accept:"application/json",...a?{"Content-Type":"application/json"}:{}},...a?{body:JSON.stringify(a)}:{},signal:AbortSignal.timeout(n.timeoutMs??5e3),cache:"no-store"})}catch(t){if(!(t instanceof DOMException&&("TimeoutError"===t.name||"AbortError"===t.name)))return{ok:!1,kind:"transient",error:"Couldn't reach Cloudflare."};return{ok:!1,kind:"transient",error:"PATCH"===e?"Cloudflare didn't answer within 5 seconds; the change may still have happened. Reload in a minute.":"Cloudflare didn't answer within 5 seconds."}}let o=()=>s.body?.cancel().catch(()=>void 0);if(401===s.status)return await o(),{ok:!1,kind:"auth",status:401,error:"Cloudflare rejected this credential (401)."};if(403===s.status){await o();let t="PATCH"===e?"Zone → DNS → Edit":"DNS Read";return{ok:!1,kind:"scope",status:403,error:`The token can't ${"PATCH"===e?"edit":"read"} this record. Add "${t}" to the Cloudflare token.`}}if(404===s.status)return await o(),{ok:!1,kind:"missing",status:404,error:"Cloudflare can't find this record any more."};if(429===s.status)return await o(),{ok:!1,kind:"transient",status:429,retryAfterS:N(s),error:"Cloudflare says there were too many requests."};let i=await s.json().catch(()=>null);if(!s.ok){let e=x.safeParse(i);return{ok:!1,kind:"transient",status:s.status,error:`Cloudflare refused this change (${s.status}${e.success?`, code ${e.data.errors[0].code}`:""}).`}}let u=A.safeParse(i);if(!u.success||!u.data.success)return $("the DNS record");let l=P.safeParse(u.data.result);if(!l.success)return $("the DNS record");let d=l.data;return{ok:!0,data:{id:d.id,type:d.type,name:d.name,content:d.content,proxied:d.proxied,ttl:d.ttl,comment:d.comment??null}}}let N=e=>{let t=Number(e.headers.get("Retry-After"));return Number.isFinite(t)&&t>0?t:60};async function D(e,t,r,a={}){return R("GET",`/zones/${v(t)}/dns_records/${v(r)}`,e,void 0,a)}async function E(e,t,r,a,n={}){return R("PATCH",`/zones/${v(t)}/dns_records/${v(r)}`,e,a,n)}async function M(e,r,a={}){let s=await _(`/zones/${v(r)}/settings/ssl`,e,a,"Zone Settings Read");if(!s.ok)return s;let o=t.z.object({value:n.z.string()}).safeParse(s.data.result);return o.success?{ok:!0,data:o.data.value}:$("the SSL/TLS mode")}let U=t.z.object({type:n.z.string(),status:n.z.string(),hosts:a.z.array(n.z.string()).default([]),certificates:a.z.array(t.z.object({expires_on:n.z.string().nullish()})).default([])});async function O(e,t,r={}){let n=await _(`/zones/${v(t)}/ssl/certificate_packs?status=all&per_page=50`,e,r,"SSL and Certificates Read");if(!n.ok)return n;let s=a.z.array(U).safeParse(n.data.result);return s.success?{ok:!0,data:s.data.map(e=>{let t=e.certificates.map(e=>e.expires_on).filter(e=>!!e).sort();return{type:e.type,status:e.status,hosts:e.hosts,expiresOn:t[0]??null}})}:$("the edge certificates")}async function q(e,r={}){let a=await _("/user/tokens/verify",e,r,null);if(!a.ok)return a;let s=t.z.object({status:n.z.string(),expires_on:n.z.string().nullish()}).safeParse(a.data.result);if(!s.success)return $("the token details");let o=s.data.expires_on?new Date(s.data.expires_on):null;return{ok:!0,data:{status:s.data.status,expiresAt:o&&!Number.isNaN(o.getTime())?o:null}}}e.s(["w",0,O,"B",0,D,"p",0,C,"F",0,T,"v",0,M,"d",0,q,"q",0,E],44925);var B=e.i(913822);let V="https://api.vercel.com";async function F(e,t,r){let a;try{a=await (r.fetch??fetch)(`${V}${e}`,{headers:{Authorization:`Bearer ${t}`,Accept:"application/json"},signal:AbortSignal.timeout(r.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Vercel didn't answer within 5 seconds.":"Couldn't reach Vercel."}}if(401===a.status||403===a.status)return{ok:!1,kind:"auth",status:a.status,error:`Vercel rejected this credential (${a.status}).`};if(429===a.status){let e=Number(a.headers.get("Retry-After"));return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60,error:"Vercel says there were too many requests."}}return a.ok?{ok:!0,data:await a.json().catch(()=>null)}:{ok:!1,kind:"transient",status:a.status,error:`Vercel returned an error (${a.status}).`}}async function J(e,r,a,s,o){let i;try{i=await (o.fetch??fetch)(`${V}${r}`,{method:e,headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...void 0===s?{}:{"Content-Type":"application/json"}},...void 0===s?{}:{body:JSON.stringify(s)},signal:AbortSignal.timeout(o.timeoutMs??5e3),cache:"no-store"})}catch(e){return{ok:!1,kind:"transient",error:e instanceof DOMException&&("TimeoutError"===e.name||"AbortError"===e.name)?"Vercel didn't answer within 5 seconds; the action may still have happened. Check the deployments in a minute.":"Couldn't reach Vercel."}}if(401===i.status)return{ok:!1,kind:"auth",status:401,error:"Vercel rejected this credential (401)."};if(403===i.status)return{ok:!1,kind:"scope",status:403,error:"Vercel refused this token for that project (403)."};if(429===i.status){let e;return{ok:!1,kind:"transient",status:429,retryAfterS:Number.isFinite(e=Number(i.headers.get("Retry-After")))&&e>0?e:60,error:"Vercel says there were too many requests."}}let u=await i.json().catch(()=>null);if(!i.ok){let e=t.z.object({error:t.z.object({code:n.z.string().regex(/^[A-Za-z0-9_-]{1,60}$/)})}).safeParse(u);return{ok:!1,kind:"transient",status:i.status,error:`Vercel refused this (${i.status}${e.success?`, ${e.data.error.code}`:""}).`}}return{ok:!0,data:u}}let L=e=>`teamId=${encodeURIComponent(e)}`,G=encodeURIComponent,H=e=>({ok:!1,kind:"format",error:`Vercel answered ${e} in a format the console doesn't recognise.`}),Z=t.z.object({teams:a.z.array(t.z.object({id:n.z.string(),slug:n.z.string(),name:n.z.string().nullish()}))});async function Y(e,t={}){let r=await F("/v2/teams?limit=100",e,t);if(!r.ok)return r;let a=Z.safeParse(r.data);return a.success?{ok:!0,data:a.data.teams.map(e=>({id:e.id,slug:e.slug,name:e.name??e.slug}))}:H("the team list")}async function W(e,r={}){let a=await F("/v5/user/tokens/current",e,r);if(!a.ok)return a;let n=t.z.object({token:t.z.object({expiresAt:j.z.number().nullish()})}).safeParse(a.data);return n.success?{ok:!0,data:n.data.token.expiresAt?new Date(n.data.token.expiresAt):null}:H("the token details")}let K=t.z.object({id:n.z.string(),readyState:n.z.string().nullish(),createdAt:j.z.number().nullish().catch(null)}).nullish(),Q=t.z.object({type:n.z.string(),jobStatus:n.z.string(),toDeploymentId:n.z.string(),requestedAt:j.z.number()}).nullish().catch(null);function X(e,t){let r=e?.readyState==="READY"?e.id:null;return t&&"succeeded"===t.jobStatus&&("rollback"===t.type||"promote"===t.type&&"number"==typeof e?.createdAt&&e.createdAt<=t.requestedAt)?t.toDeploymentId:r}let ee=t.z.object({id:n.z.string(),name:n.z.string(),framework:n.z.string().nullish(),createdAt:j.z.number(),link:t.z.object({productionBranch:n.z.string().nullish(),type:n.z.string().nullish(),org:n.z.string().nullish(),repo:n.z.string().nullish()}).nullish(),resourceConfig:t.z.object({functionDefaultRegions:a.z.array(n.z.string()).nullish()}).nullish(),targets:t.z.object({production:K}).nullish(),lastAliasRequest:Q}),et=t.z.object({projects:a.z.array(ee),pagination:t.z.object({next:j.z.number().nullish()}).nullish()});async function er(e,t,r={}){let a,n=[];for(let s=0;s<10;s++){let s=await F(`/v10/projects?teamId=${encodeURIComponent(t.id)}&limit=100${a?`&until=${a}`:""}`,e,r);if(!s.ok)return s;let o=et.safeParse(s.data);if(!o.success)return H("the project list");for(let e of o.data.projects)n.push({id:e.id,name:e.name,team:t,framework:e.framework??null,createdAt:new Date(e.createdAt),productionBranch:e.link?.productionBranch??null,currentDeploymentId:X(e.targets?.production,e.lastAliasRequest),repo:e.link?.type&&e.link.org&&e.link.repo?{type:e.link.type,org:e.link.org,repo:e.link.repo}:null,functionRegions:e.resourceConfig?.functionDefaultRegions??[]});if(!(a=o.data.pagination?.next))break}return{ok:!0,data:n}}let ea=t.z.object({uid:n.z.string(),projectId:n.z.string(),state:n.z.string().nullish(),readyState:n.z.string().nullish(),target:n.z.string().nullish(),source:n.z.string().nullish(),url:n.z.string().nullish(),createdAt:j.z.number().nullish(),created:j.z.number().nullish(),buildingAt:j.z.number().nullish(),ready:j.z.number().nullish(),meta:B.z.record(n.z.string(),s.z.unknown()).nullish()}),en=e=>"string"==typeof e&&e.length?e:null,es=e=>e?new Date(e):null;function eo(e,t){let r=e.readyState??e.state??"BUILDING",a=e.meta??{};return{id:t,projectId:e.projectId,state:"READY"===r?"ready":"ERROR"===r?"error":"CANCELED"===r?"canceled":"building",rawState:r,target:"production"===e.target?"production":"preview",branch:en(a.githubCommitRef)??en(a.gitCommitRef),sha:en(a.githubCommitSha)??en(a.gitCommitSha),message:en(a.githubCommitMessage)??en(a.gitCommitMessage),source:e.source??null,url:e.url??null,createdAt:new Date(e.createdAt??e.created??0),buildingAt:es(e.buildingAt),readyAt:es(e.ready)}}async function ei(e,r,n,s={}){let o=await F(`/v7/deployments?teamId=${encodeURIComponent(r.id)}&limit=${n.limit??100}${n.since?`&since=${n.since}`:""}`,e,s);if(!o.ok)return o;let i=t.z.object({deployments:a.z.array(ea)}).safeParse(o.data);return i.success?{ok:!0,data:i.data.deployments.map(e=>eo(e,e.uid))}:H("the deployment list")}let eu=ea.omit({uid:!0,projectId:!0}).extend({id:n.z.string(),projectId:n.z.string().nullish()});async function el(e,t,r,a={}){let n=await F(`/v13/deployments/${encodeURIComponent(r)}?teamId=${encodeURIComponent(t.id)}`,e,a);if(!n.ok)return n;let s=eu.safeParse(n.data);return s.success?{ok:!0,data:eo({...s.data,uid:s.data.id,projectId:s.data.projectId??""},s.data.id)}:H("the deployment")}let ed=t.z.object({name:n.z.string(),targets:t.z.object({production:K}).nullish(),lastAliasRequest:Q});async function ec(e,t,r,a={}){let n=await F(`/v9/projects/${G(r)}?${L(t)}`,e,a);if(!n.ok)return n;let s=ed.safeParse(n.data);return s.success?{ok:!0,data:{name:s.data.name,currentId:X(s.data.targets?.production,s.data.lastAliasRequest)}}:H("the project")}let ep=t.z.object({deployments:a.z.array(ea.extend({projectId:n.z.string().nullish()}))});async function em(e,t,r,a,n,s){let o=`projectId=${G(r)}&target=production&state=${a}&limit=${n}&${L(t)}`,i=await F(`/v6/deployments?${o}`,e,s);if(!i.ok)return i;let u=ep.safeParse(i.data);return u.success?{ok:!0,data:u.data.deployments.map(e=>eo({...e,projectId:e.projectId??r},e.uid))}:H("the deployment list")}async function ef(e,t,r,a={}){return em(e,t,r,"READY",5,a)}async function eh(e,t,r,a={}){let n=await em(e,t,r,"BUILDING,QUEUED,INITIALIZING",1,a);return n.ok?{ok:!0,data:n.data[0]??null}:n}async function eg(e,r,a,s={}){let o=await J("POST",`/v13/deployments?${L(r)}`,e,{name:a.name,project:a.projectId,deploymentId:a.deploymentId,target:"production"},s);if(!o.ok)return o;let i=t.z.object({id:n.z.string()}).safeParse(o.data);return{ok:!0,data:{id:i.success?i.data.id:""}}}async function ek(e,t,r,a,n={}){let s=await J("POST",`/v1/projects/${G(r)}/rollback/${G(a)}?${L(t)}`,e,void 0,n);return s.ok?{ok:!0,data:null}:s}async function ez(e,t,r,a,n={}){let s=await J("POST",`/v10/projects/${G(r)}/promote/${G(a)}?${L(t)}`,e,{},n);return s.ok?{ok:!0,data:null}:s}async function ey(e,r,a,s={}){let o=await J("POST",`/v13/deployments?${L(r)}`,e,{name:a.name,project:a.projectId,deploymentId:a.deploymentId,target:"production",meta:{action:"promote"}},s);if(!o.ok)return o;let i=t.z.object({id:n.z.string()}).safeParse(o.data);return{ok:!0,data:{id:i.success?i.data.id:""}}}async function eb(e,t,r,a={}){let n=await J("PATCH",`/v12/deployments/${G(r)}/cancel?${L(t)}`,e,void 0,a);return n.ok?{ok:!0,data:null}:n}let ew=t.z.object({domains:a.z.array(t.z.object({name:n.z.string(),redirect:n.z.string().nullish(),verified:w.z.boolean().optional(),gitBranch:n.z.string().nullish()}))});async function ej(e,t,r,a={}){let n=await F(`/v9/projects/${encodeURIComponent(r)}/domains?teamId=${encodeURIComponent(t)}`,e,a);if(!n.ok)return n;let s=ew.safeParse(n.data);return s.success?{ok:!0,data:s.data.domains.map(e=>({name:e.name,redirect:e.redirect??null,verified:!1!==e.verified,gitBranch:e.gitBranch??null}))}:H("the domain list")}async function eI(e,t,r,a,n={}){var s;let o,i,u=await ej(e,t,r,n);return u.ok?{ok:!0,data:(s=u.data,i=(o=s.filter(e=>!1!==e.verified&&!e.redirect&&!e.gitBranch)).find(e=>!e.name.endsWith(".vercel.app")),(i??o[0])?.name??`${a}.vercel.app`)}:u}let eA=t.z.object({misconfigured:w.z.boolean(),configuredBy:n.z.string().nullish(),recommendedIPv4:a.z.array(t.z.object({value:a.z.array(n.z.string())})).default([])});async function e_(e,t,r,a={}){let n=await F(`/v6/domains/${encodeURIComponent(r)}/config?teamId=${encodeURIComponent(t)}`,e,a);if(!n.ok)return n;let s=eA.safeParse(n.data);return s.success?{ok:!0,data:{misconfigured:s.data.misconfigured,configuredBy:s.data.configuredBy??null,recommendedIps:s.data.recommendedIPv4.flatMap(e=>e.value)}}:H("the domain configuration")}async function e$(e,t={}){let r=await Y(e,t);if(!r.ok)return r;let a=[],n=[],s=[];for(let o of r.data){let r=await er(e,o,t);if(!r.ok){if(403===r.status){n.push(o.name),s.push(o.id);continue}return r}for(let e of r.data)a.push({externalId:e.id,name:e.name,meta:{teamId:o.id,teamSlug:o.slug,teamName:o.name,framework:e.framework,productionBranch:e.productionBranch,createdAt:e.createdAt.toISOString(),repo:e.repo?`${e.repo.org}/${e.repo.repo}`:null,repoType:e.repo?.type??null,functionRegions:e.functionRegions}})}return n.length===r.data.length?{ok:!1,kind:"auth",error:"This token can't read any of your Vercel teams. Create a token with access to them."}:{ok:!0,data:{apps:a,skippedTeams:n,skippedTeamIds:s}}}async function ev(e,r,n,s,o={}){if(!/^[0-9a-f]{40}$/.test(s))return H("the commit");let i=new URLSearchParams({teamId:r,projectId:n,sha:s,limit:"10"}),u=await F(`/v6/deployments?${i}`,e,o);if(!u.ok)return u;let l=t.z.object({deployments:a.z.array(ea)}).safeParse(u.data);return l.success?{ok:!0,data:l.data.deployments.map(e=>eo(e,e.uid)).filter(e=>e.projectId===n&&(null===e.sha||e.sha===s)).sort((e,t)=>t.createdAt.getTime()-e.createdAt.getTime())}:H("the deployment list")}e.s(["T",0,eb,"c",0,ec,"C",0,ev,"G",0,e$,"Q",0,e_,"S",0,el,"K",0,ei,"M",0,ej,"W",0,er,"X",0,Y,"r",0,ef,"q",0,eI,"u",0,ez,"l",0,ey,"L",0,eg,"E",0,ek,"N",0,eh,"n",0,W],572134);var eS=e.i(469762);let eT=t.z.object({result:t.z.object({releases:a.z.array(t.z.object({name:n.z.string(),isEol:w.z.boolean(),eolFrom:n.z.string().nullish(),latest:t.z.object({name:n.z.string()}).nullish()})).min(1)})});function eP(e){let t=eT.safeParse(e);return t.success?t.data.result.releases.map(e=>({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom??null,latest:e.latest?.name??null})):null}async function eC(e={}){let t;try{t=await (e.fetch??fetch)("https://endoflife.date/api/v1/products/nextjs/",{method:"GET",headers:{Accept:"application/json"},signal:AbortSignal.timeout(e.timeoutMs??8e3),cache:"no-store"})}catch{return{ok:!1,error:"Couldn't reach endoflife.date"}}if(!t.ok)return{ok:!1,error:`endoflife.date returned an error (${t.status})`};let r=eP(await t.json().catch(()=>null));return r?{ok:!0,cycles:r}:{ok:!1,error:"endoflife.date answered in a format the console doesn't recognise"}}e.s(["T",0,"eol.nextjs","e",0,function(e,t,r){if(!e)return{state:"unknown",text:"Unknown until the version is read",note:null};if(!t)return{state:"unknown",text:"Unknown · endoflife.date hasn't been read yet",note:null};let a=e.split(".")[0],n=t.cycles.find(e=>e.name===a);if(!n)return{state:"unknown",text:`Unknown \xb7 endoflife.date has no cycle ${a}`,note:null};let s=t.cycles.find(e=>!e.isEol)?.latest??null,o=s?`latest is ${s}`:null,i=n.eolFrom?new Date(`${n.eolFrom}T00:00:00Z`):null;if(n.isEol||i&&i.getTime()<=r.getTime())return{state:"err",text:`Next.js ${a} reached end of life${i?` on ${(0,eS.H)(i)}`:""}`,note:o};if(i){let e=Math.ceil((i.getTime()-r.getTime())/864e5);return{state:e<=60?"warn":"ok",text:`Next.js ${a} reaches end of life on ${(0,eS.H)(i)} (in ${e} day${1===e?"":"s"})`,note:o}}return{state:"ok",text:`Next.js ${a} is supported`,note:n.latest&&n.latest!==e?`${n.latest} is the latest ${a}.x`:null}},"z",0,eC,"b",0,eP],558418)}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0m1ll2r1g77ii._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[17159,s=>{s.v(e=>Promise.all(["server/chunks/node_modules_drizzle-orm_03s0wizqibnb5._.js","server/chunks/node_modules_drizzle-orm_0pxdj1u-i8py9._.js","server/chunks/node_modules_drizzle-orm_index_1g74fz-5xe-1v.js"].map(e=>s.l(e))).then(()=>e(263608)))},131909,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__0yhki59n8zyjb._.js","server/chunks/node_modules_drizzle-orm_pg-core_db_0yjenkrjkvb-b.js","server/chunks/_0ofzzim090ezo._.js","server/chunks/_004c7-39glldb._.js","server/chunks/_18p-vw2zmdx9f._.js","server/chunks/node_modules_drizzle-orm_1tmqw7vk5a4ik._.js","server/chunks/src_db_client_ts_10ccz2djmlpbs._.js"].map(e=>s.l(e))).then(()=>e(406212)))},850102,s=>{s.v(e=>Promise.all(["server/chunks/node_modules_drizzle-orm_15o96osca_ezd._.js","server/chunks/_1h73gul79s8pi._.js"].map(e=>s.l(e))).then(()=>e(530298)))},468454,s=>{s.v(e=>Promise.all(["server/chunks/src_063xvouojxyoa._.js","server/chunks/src_lib_rate-limit_ts_1ahtm4quu2rri._.js","server/chunks/src_lib_time_ts_1a27wp71yhgti._.js","server/chunks/src_lib_view_databases_ts_0fdc7jkjvyrxi._.js","server/chunks/_0ofzzim090ezo._.js","server/chunks/src_lib_data_telegram-bot-db_ts_1t81y-y57-0s-._.js","server/chunks/_03qlijpos6a21._.js","server/chunks/src_lib_0-fln6xaazo-9._.js","server/chunks/src_db_client_ts_10ccz2djmlpbs._.js","server/chunks/src_lib_local-auth_sessions-db_ts_1spok9ccfxeam._.js","server/chunks/_1i8u10u8nrzy2._.js","server/chunks/_004c7-39glldb._.js","server/chunks/node_modules_next_1bpl0_13bu-mp._.js","server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js","server/chunks/node_modules_drizzle-orm_1oeq7sl_gbxs5._.js","server/chunks/node_modules_drizzle-orm_pg-core_db_0yjenkrjkvb-b.js","server/chunks/_0nt4hve0bi30h._.js","server/chunks/_0ejcrge5k4quv._.js","server/chunks/_18p-vw2zmdx9f._.js","server/chunks/node_modules_next_dist_0r-y8k8152g-_._.js","server/chunks/src_lib_notify_telegram-bot_ts_18y40dkchmcqd._.js","server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js","server/chunks/[root-of-the-server]__1etpd6q60ypcc._.js"].map(e=>s.l(e))).then(()=>e(380167)))},596820,s=>{s.v(e=>Promise.all(["server/chunks/[root-of-the-server]__1426to_m4prqh._.js","server/chunks/_0ofzzim090ezo._.js","server/chunks/src_lib_local-auth_sessions-db_ts_1spok9ccfxeam._.js","server/chunks/node_modules_drizzle-orm_pg-core_db_0yjenkrjkvb-b.js","server/chunks/_004c7-39glldb._.js","server/chunks/src_db_client_ts_10ccz2djmlpbs._.js","server/chunks/_18p-vw2zmdx9f._.js","server/chunks/node_modules_drizzle-orm_0p2-_xghnn-0j._.js"].map(e=>s.l(e))).then(()=>e(447514)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_0n-wbmmvp4omq._.js.map
|