watchbell 1.6.1 → 1.7.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/package.json +1 -1
- package/server/.next/BUILD_ID +1 -1
- package/server/.next/app-path-routes-manifest.json +3 -0
- package/server/.next/build-manifest.json +14 -3
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/required-server-files.json +1 -1
- package/server/.next/routes-manifest.json +20 -0
- package/server/.next/server/app/(console)/(private)/ai/agents/page/server-reference-manifest.json +13 -13
- package/server/.next/server/app/(console)/(private)/ai/agents/page.js +72 -71
- 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/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/ask/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/ai/connect/page.js +72 -71
- 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/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/(private)/ai/keys/page.js +72 -71
- 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/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/logs/page.js +72 -71
- 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/server-reference-manifest.json +21 -21
- package/server/.next/server/app/(console)/(private)/ai/models/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/ai/page.js +72 -71
- 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/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/(private)/ai/playground/page.js +72 -71
- 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/server-reference-manifest.json +17 -17
- package/server/.next/server/app/(console)/(private)/ai/providers/page.js +72 -71
- 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/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/quota/page.js +72 -71
- 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/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/ai/usage/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/(private)/api-docs/[[...op]]/page.js +72 -71
- 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/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/(private)/auto-actions/page.js +72 -71
- 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)/alerts/page/server-reference-manifest.json +27 -27
- package/server/.next/server/app/(console)/alerts/page.js +72 -71
- 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/server-reference-manifest.json +34 -34
- package/server/.next/server/app/(console)/apps/[id]/page.js +72 -71
- 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/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/apps/page.js +72 -71
- 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/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/backups/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/catalog/page.js +72 -71
- 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/server-reference-manifest.json +22 -22
- package/server/.next/server/app/(console)/connections/page.js +72 -71
- 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)/containers/page/server-reference-manifest.json +14 -14
- package/server/.next/server/app/(console)/containers/page.js +72 -71
- package/server/.next/server/app/(console)/containers/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/containers/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/d1/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/d1/page.js +72 -71
- 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)/deploy/page/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/deploy/page.js +72 -71
- package/server/.next/server/app/(console)/deploy/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/deploy/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/deployments/page/server-reference-manifest.json +19 -19
- package/server/.next/server/app/(console)/deployments/page.js +72 -71
- 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/server-reference-manifest.json +18 -18
- package/server/.next/server/app/(console)/dns/page.js +72 -71
- 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/server-reference-manifest.json +13 -13
- package/server/.next/server/app/(console)/domains/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/events/page.js +72 -71
- 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/server-reference-manifest.json +18 -18
- package/server/.next/server/app/(console)/firebase/page.js +72 -71
- 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/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/logs/page.js +72 -71
- 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/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/manage/sections/page.js +72 -71
- package/server/.next/server/app/(console)/manage/sections/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/manage/sections/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/neon/page/server-reference-manifest.json +22 -22
- package/server/.next/server/app/(console)/neon/page.js +72 -71
- 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)/os/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/os/page.js +72 -71
- package/server/.next/server/app/(console)/os/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/os/page_client-reference-manifest.js +1 -1
- package/server/.next/server/app/(console)/overview/page/server-reference-manifest.json +21 -21
- package/server/.next/server/app/(console)/overview/page.js +72 -71
- 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)/reports/[id]/pdf/route/app-paths-manifest.json +3 -0
- package/server/.next/server/app/(console)/reports/[id]/pdf/route/build-manifest.json +12 -0
- package/server/.next/server/app/(console)/reports/[id]/pdf/route/server-reference-manifest.json +4 -0
- package/server/.next/server/app/(console)/reports/[id]/pdf/route.js +26 -0
- package/server/.next/server/app/(console)/reports/[id]/pdf/route.js.nft.json +1 -0
- package/server/.next/server/app/(console)/reports/[id]/pdf/route_client-reference-manifest.js +3 -0
- package/server/.next/server/app/(console)/reports/page/app-paths-manifest.json +3 -0
- package/server/.next/server/app/(console)/reports/page/build-manifest.json +22 -0
- package/server/.next/server/app/(console)/reports/page/next-font-manifest.json +11 -0
- package/server/.next/server/app/(console)/reports/page/react-loadable-manifest.json +1 -0
- package/server/.next/server/app/(console)/reports/page/server-reference-manifest.json +155 -0
- package/server/.next/server/app/(console)/reports/page.js +121 -0
- package/server/.next/server/app/(console)/reports/page.js.nft.json +1 -0
- package/server/.next/server/app/(console)/reports/page_client-reference-manifest.js +3 -0
- package/server/.next/server/app/(console)/repos/[id]/page/server-reference-manifest.json +12 -12
- package/server/.next/server/app/(console)/repos/[id]/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/repos/page.js +72 -71
- 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/server-reference-manifest.json +62 -42
- package/server/.next/server/app/(console)/settings/page.js +75 -74
- 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/server-reference-manifest.json +18 -18
- package/server/.next/server/app/(console)/sql/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/status/page.js +72 -71
- 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/server-reference-manifest.json +32 -32
- package/server/.next/server/app/(console)/supabase/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/topology/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/turso/page.js +72 -71
- 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/server-reference-manifest.json +11 -11
- package/server/.next/server/app/(console)/upstash/page.js +72 -71
- 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/server-reference-manifest.json +25 -25
- package/server/.next/server/app/(console)/uptime/page.js +72 -71
- 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/server-reference-manifest.json +16 -16
- package/server/.next/server/app/(console)/welcome/page.js +72 -71
- 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/server-reference-manifest.json +1 -1
- package/server/.next/server/app/_global-error/page.js +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/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/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 +8 -8
- package/server/.next/server/app/api/collect/route.js +90 -84
- 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 +8 -8
- package/server/.next/server/app/api/daily/route.js +95 -89
- 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 +9 -8
- package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/status/route.js +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 +8 -8
- package/server/.next/server/app/api/telegram/webhook/route.js +85 -80
- 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 +27 -23
- 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 +1 -1
- 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 +1 -1
- 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 +31 -27
- 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 +28 -24
- 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 +1 -1
- 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 +27 -23
- 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 +27 -23
- package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/watchdog/route.js +27 -21
- package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/confirm/route.js +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 +16 -15
- 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 +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 +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 +1 -1
- package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
- package/server/.next/server/app/brand-icon/route/app-paths-manifest.json +3 -0
- package/server/.next/server/app/brand-icon/route/build-manifest.json +12 -0
- package/server/.next/server/app/brand-icon/route/server-reference-manifest.json +4 -0
- package/server/.next/server/app/brand-icon/route.js +15 -0
- package/server/.next/server/app/brand-icon/route.js.nft.json +1 -0
- package/server/.next/server/app/brand-icon/route_client-reference-manifest.js +3 -0
- package/server/.next/server/app/icon.svg/route.js.nft.json +1 -1
- package/server/.next/server/app/invite/page/server-reference-manifest.json +2 -2
- 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/server-reference-manifest.json +2 -2
- package/server/.next/server/app/mfa/page.js +33 -31
- 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/server-reference-manifest.json +3 -3
- package/server/.next/server/app/mfa/setup/page.js +33 -31
- 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/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 +10 -8
- package/server/.next/server/app/s/[slug]/badge/[file]/route.js.nft.json +1 -1
- package/server/.next/server/app/s/[slug]/page/server-reference-manifest.json +1 -1
- package/server/.next/server/app/s/[slug]/page.js +10 -10
- 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/server-reference-manifest.json +2 -2
- package/server/.next/server/app/setup/page.js +1 -1
- 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/server-reference-manifest.json +3 -3
- package/server/.next/server/app/signin/page.js +38 -36
- 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 +3 -0
- package/server/.next/server/chunks/{[externals]__0n4j2emxdv20_._.js → [externals]__0oqc6ym5k457v._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1hwo1oo04do39._.js → [externals]__1aervsuoo1qe_._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1k12utcf9tvqg._.js → [externals]__1oag9t_9gex2-._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1avuwg9wmyh48._.js → [root-of-the-server]__0-ytbad9hn7uc._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__00s0famyfjv1y._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__09l9icaspfmoh._.js → [root-of-the-server]__016wnct3b5iby._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__029099rqwqwff._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__03589rgm1a3ks._.js → [root-of-the-server]__02ctwy1u4z3fj._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__02v25dn1cwxz6._.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]__06kp2_zqpttyd._.js → [root-of-the-server]__03y8yvaulshnn._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__03z520-siwkv_._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__06l038ifglbqy._.js → [root-of-the-server]__04ogdmf82__0g._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__09msxcjw3tlue._.js → [root-of-the-server]__05s9-538s47_e._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1xdi98xyay6bn._.js → [root-of-the-server]__05vm5cxqq2-pg._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__06od3qx7q00rc._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0uz_r72zdnwdd._.js → [root-of-the-server]__06rlokvpk450w._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0ao4b2jjkcvo1._.js → [root-of-the-server]__070v8547b4qpa._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0fii83nfm0bsk._.js → [root-of-the-server]__07gjmfv5mi33j._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__07u2g5ccvst94._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__205cmd-k6g2kc._.js → [root-of-the-server]__096q5ufradttx._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__09bwtkv2iniyt._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0_2fr1g7uby1m._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0g0rd65zoitrb._.js → [root-of-the-server]__0aazgg7203ez1._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0ebkmgcs7v0c8._.js → [root-of-the-server]__0afpn-tk2qlu0._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0b7xflnrk4amk._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0bb8xnocnnbt8._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0bxqqjjy9ckvm._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0c0drtvym6hf4._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0c_mpay_m5kbm._.js → [root-of-the-server]__0erdelc9_06nk._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0ww7a-9fnx2rv._.js → [root-of-the-server]__0eyd4kffoz9ex._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0frz3wu-qcv-d._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0uyc9w7f_r10u._.js → [root-of-the-server]__0g0-q56cumuup._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0gb4uz-gv3va0._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0gqye-fi-f3zk._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0s3b61ttgb9if._.js → [root-of-the-server]__0gv3v5775wfmw._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1y9gsf61fh1fv._.js → [root-of-the-server]__0hm-azhxs9ted._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0vdm37x30hr6p._.js → [root-of-the-server]__0ieq7-dtcg06b._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0r0zrp3s_n614._.js → [root-of-the-server]__0iicsi0n7tfa5._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1tlivd99uri0t._.js → [root-of-the-server]__0jevd1p5unnre._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0vclan952l_ty._.js → [root-of-the-server]__0jz91oppmwtiq._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__10d4a34z0js-f._.js → [root-of-the-server]__0mg6rmq22tf26._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0n-u6p8-hd-89._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__20qirklw1sgj0._.js → [root-of-the-server]__0ng-t81zeeipc._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1r2ei065xk141._.js → [root-of-the-server]__0nkfi6x2c4c5p._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__192br5y94wzhx._.js → [root-of-the-server]__0nyxfjn368366._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0o6q27cnw6-77._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0p2n1_qp53y51._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0p8j8b2tg73dq._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0p955ekgdwy_c._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0g3v-ty9-xstp._.js → [root-of-the-server]__0p_rkszoindlf._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1tefe1f5835t_._.js → [root-of-the-server]__0pammm8f5qxtv._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0c41pzboxtjvz._.js → [root-of-the-server]__0pm83e1a3wwlw._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0q9s7rbt0e-cf._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1mbm_bvk1oat7._.js → [root-of-the-server]__0qhyj1r9qcxp3._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0ra3lgjt0yuyy._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1z1fgf8k8icw8._.js → [root-of-the-server]__0ra_bw8zg6kmk._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0sgumm0843o2j._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0016p4j5uh74t._.js → [root-of-the-server]__0t6rge6laz89-._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__04v42ls1mfjd2._.js → [root-of-the-server]__0tsly874_mafr._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1iruoalu93dg7._.js → [root-of-the-server]__0u4o6oo428rvf._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0a7moaa91ctod._.js → [root-of-the-server]__0ux78ppoct5b_._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0vg5zp6z094qr._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1ji_xmb_m6fam._.js → [root-of-the-server]__0vhq-__j8umfu._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0vjvvirn6-fx-._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__10ts7p_9fu3ge._.js → [root-of-the-server]__0vuirlylhcyzm._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__06zmu7jjyw1qw._.js → [root-of-the-server]__0w1iqt-rpp_3h._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0welpj78704um._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__20056vw370xom._.js → [root-of-the-server]__0xd_bgjy5_tr5._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0xnag1k7mnvoh._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0yhki59n8zyjb._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0ymf9ppvpsffe._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0zpo6n_av-p7a._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1hrcyozojb6ot._.js → [root-of-the-server]__0zs-wkvv1cs0i._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0zxrhqtvpoio4._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1-9vvc9y0qqhf._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1-bbb_srnbm5x._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__10-4cctiab73h._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__11300e77grhx6._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0tshehtsx7229._.js → [root-of-the-server]__11a8fxlpahjy2._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__11tzj3jzqzk6v._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1ghx3ayy7tm73._.js → [root-of-the-server]__11yn1ky7yixd7._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__12m0p1vyef6d5._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__12w6gylk59cym._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__13-qqkdecmwba._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__19jalyhtntk8p._.js → [root-of-the-server]__135cn1pmljq9j._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__13i4zx_j8zugt._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1412kx9qb_j46._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1420nm1i823v8._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1426to_m4prqh._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1a563imf6ya2l._.js → [root-of-the-server]__14bynsn7eae8y._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__14cb1pomeg0x7._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__177l2p7kcj-16._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1_iy7tzpesarf._.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]__1c78cu7kb9vkl._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1cnmxehqzmqq_._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1d1zkp1q80t6q._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1f84fftr_6_6n._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1fteaav9qn2kq._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__10-v22hv1sxrv._.js → [root-of-the-server]__1gl0-1oziw-g0._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__02y9yjf7lp37-._.js → [root-of-the-server]__1gufo2kz88z04._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1ons16gam6qb7._.js → [root-of-the-server]__1hcn00gn9mapd._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1i_vd8w3df3i6._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0x5vp_8n6xvpw._.js → [root-of-the-server]__1ia-rts7ilt7c._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1igmx9-fdh2wd._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1io5zo7iam532._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1jcr8cc_tlvfc._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1kp2wois-47bg._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0qlf-so9k6401._.js → [root-of-the-server]__1kr6f03r82mk6._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1lcszcm98v484._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1le7r_1_00km1._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0exruft64u1hg._.js → [root-of-the-server]__1lvf4tk_1td0a._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1mqv7anx5l3yq._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1mufebnwyxlwx._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1o0lvy6ek0v5d._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1ozfk4_3lx1o7._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__09yvavo991rdd._.js → [root-of-the-server]__1p1e6x-mb7ro2._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1pu84qy7loc8o._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0_vtp19_2frgj._.js → [root-of-the-server]__1pyc-ezfujjcp._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1yxxfmyk3649a._.js → [root-of-the-server]__1pyhos8be90-4._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1qelr0qe50xap._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1qqdsrhuw0z-w._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1qwy7s_95k9k-._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0vb1_m_h5hi0z._.js → [root-of-the-server]__1qxm3lqqdbyy7._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1rusbj8ktmzj0._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1rxaooz-d8jfs._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1s8f1ovcj5r99._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1tdb11b6vn4qm._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1ti5-6okt7fur._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1cdt67d022uf1._.js → [root-of-the-server]__1ugnox9gcdhvm._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__090n04cg_br7j._.js → [root-of-the-server]__1vvg0ur3_7o0p._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1w_ga9n2lj53n._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0vsafetdvsfhj._.js → [root-of-the-server]__1wjsjh-1i-sn6._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1x4u0cdsl_81t._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1xe_98y-j38aq._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1xku6cma1a_kb._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0pi_camvun8ak._.js → [root-of-the-server]__1xnqsy7nud--q._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1yk1psrx0yy4n._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__19o-a03uklyrw._.js → [root-of-the-server]__1ywvdsk_bmws0._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1z9kl-irij2lu._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1zmoy4u_xb_yi._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1zq2zv2ogn3ot._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__202mmzv3u-hk1._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__20tvyorpg49kd._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1i841w7a3057h._.js → [root-of-the-server]__212_l7y-180xi._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1vfvw1pmssxww._.js → [root-of-the-server]__217jp1b3psyq_._.js} +1 -1
- package/server/.next/server/chunks/_0-sqv2nbaba7h._.js +3 -0
- package/server/.next/server/chunks/_00t02v1a9nfr1._.js +3 -0
- package/server/.next/server/chunks/_01epotkqa90nv._.js +3 -0
- package/server/.next/server/chunks/_04oi0m63biyjd._.js +3 -0
- package/server/.next/server/chunks/_05kxcc393c_0z._.js +3 -0
- package/server/.next/server/chunks/_08q7x7rdbiaql._.js +49 -0
- package/server/.next/server/chunks/_0apakqacgawy4._.js +3 -0
- package/server/.next/server/chunks/_0bki3kju_1u1f._.js +3 -0
- package/server/.next/server/chunks/_0d29nzne5jrwy._.js +49 -0
- package/server/.next/server/chunks/_0djze-128wsu0._.js +3 -0
- package/server/.next/server/chunks/_0dq_vw-kky70h._.js +3 -0
- package/server/.next/server/chunks/_0hm72d9am2vfs._.js +3 -0
- package/server/.next/server/chunks/_0huryxihjw6tl._.js +49 -0
- package/server/.next/server/chunks/{_0ehqx1pkh20px._.js → _0lboyl6w4kfx4._.js} +3 -3
- package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
- package/server/.next/server/chunks/_0ou2tylxx1ltw._.js +10 -0
- package/server/.next/server/chunks/_0rqil_klxfz3j._.js +3 -0
- package/server/.next/server/chunks/_10mj3f1wis1ld._.js +3 -0
- package/server/.next/server/chunks/_15f0c7f46zkh3._.js +3 -0
- package/server/.next/server/chunks/_17u84tg9ibxp9._.js +3 -0
- package/server/.next/server/chunks/_1e4rch26scbhq._.js +49 -0
- package/server/.next/server/chunks/_1g-4oov0uynv-._.js +3 -0
- package/server/.next/server/chunks/_1iugpfonxri3e._.js +3 -0
- package/server/.next/server/chunks/_1iunyzyr-tfdj._.js +31 -0
- package/server/.next/server/chunks/{_0zj8nj1f2phf5._.js → _1n4labwyv5msc._.js} +1 -1
- package/server/.next/server/chunks/_1nuny071s602h._.js +3 -0
- package/server/.next/server/chunks/_1ohb_bmawpjlz._.js +10 -0
- package/server/.next/server/chunks/_1qcal07c71omr._.js +3 -0
- package/server/.next/server/chunks/_1sx70w_rurjin._.js +3 -0
- package/server/.next/server/chunks/_1tl0532dffdm-._.js +3 -0
- package/server/.next/server/chunks/{_0jiq3ns7681pv._.js → _1txqs5b7jg9so._.js} +3 -3
- package/server/.next/server/chunks/{_1t46m15axa4b4._.js → _1w9di5m91vtjk._.js} +3 -3
- package/server/.next/server/chunks/_20ounk93z_b6h._.js +3 -0
- package/server/.next/server/chunks/_next-internal_server_app_(console)_reports_[id]_pdf_route_actions_1z8w14-7mvvj9.js +3 -0
- package/server/.next/server/chunks/_next-internal_server_app_brand-icon_route_actions_1d7gd59j_572y.js +3 -0
- package/server/.next/server/chunks/{node_modules_drizzle-orm_0p2-_xghnn-0j._.js → node_modules_drizzle-orm_0ac-0bknpndrl._.js} +2 -2
- package/server/.next/server/chunks/{node_modules_drizzle-orm_0pxdj1u-i8py9._.js → node_modules_drizzle-orm_0k-yqdh9heao6._.js} +2 -2
- package/server/.next/server/chunks/{node_modules_drizzle-orm_15o96osca_ezd._.js → node_modules_drizzle-orm_0k7__h1lfq5ug._.js} +2 -2
- package/server/.next/server/chunks/{node_modules_drizzle-orm_1hvomr2ymp14o._.js → node_modules_drizzle-orm_0pv-kejmwhhk-._.js} +2 -2
- package/server/.next/server/chunks/node_modules_drizzle-orm_1emqi6ca48q0m._.js +4 -0
- package/server/.next/server/chunks/node_modules_drizzle-orm_entity_1-0q2stnw2ab8.js +3 -3
- package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
- package/server/.next/server/chunks/src_0-s0huszb29pj._.js +3 -0
- package/server/.next/server/chunks/src_05jrvcsgaq5ek._.js +1 -1
- package/server/.next/server/chunks/src_06tyytf_c_hlu._.js +1 -1
- package/server/.next/server/chunks/src_0_9n02bmhtk4z._.js +1 -1
- package/server/.next/server/chunks/src_0c-owt8q0lyj3._.js +1 -1
- package/server/.next/server/chunks/src_0dxbyz8iemj_5._.js +1 -1
- package/server/.next/server/chunks/src_0frmhaaejchbk._.js +3 -0
- package/server/.next/server/chunks/src_0kihmyo3yghxy._.js +3 -0
- package/server/.next/server/chunks/src_0qnh_ndxnflja._.js +3 -0
- package/server/.next/server/chunks/src_0r3j66vbc5g4f._.js +3 -0
- package/server/.next/server/chunks/src_0u2zbz77uh__q._.js +1 -1
- package/server/.next/server/chunks/src_0ud2mqnh4emxz._.js +1 -1
- package/server/.next/server/chunks/src_10vyvp9vy_69h._.js +1 -1
- package/server/.next/server/chunks/src_16t2uefmdlh8d._.js +3 -0
- package/server/.next/server/chunks/src_17j4dgvb7rx7k._.js +3 -0
- package/server/.next/server/chunks/{src_05be6wzefzaky._.js → src_1_y0pxtbr6e04._.js} +2 -2
- package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
- package/server/.next/server/chunks/src_1cvp6ubs-3z6l._.js +1 -1
- package/server/.next/server/chunks/src_1d-0nhc193soh._.js +3 -0
- package/server/.next/server/chunks/src_1d1ewqrujfp03._.js +3 -0
- package/server/.next/server/chunks/src_1il7wg_qjxny7._.js +1 -1
- package/server/.next/server/chunks/{src_0cdn5fuk8f_x2._.js → src_1mwttl5ainte0._.js} +2 -2
- package/server/.next/server/chunks/src_1s913pql1_n-f._.js +3 -0
- package/server/.next/server/chunks/src_1tux0n9_5b1kr._.js +1 -1
- package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
- package/server/.next/server/chunks/src_1wmb2yl3tn-dd._.js +1 -1
- package/server/.next/server/chunks/src_1wzm081p6qyre._.js +1 -1
- package/server/.next/server/chunks/src_20xyhmuf0y6_v._.js +3 -0
- package/server/.next/server/chunks/src_db_client_ts_0vckux1-linlc._.js +23 -0
- package/server/.next/server/chunks/src_lib_02-wqy78_rn85._.js +3 -0
- package/server/.next/server/chunks/src_lib_0ds7lhpop_adf._.js +1 -1
- package/server/.next/server/chunks/src_lib_0eqv8l-v8d5ze._.js +1 -1
- package/server/.next/server/chunks/src_lib_0glcfed-uogyd._.js +1 -1
- package/server/.next/server/chunks/src_lib_0hw2g5g295xx0._.js +12 -0
- package/server/.next/server/chunks/src_lib_0iqdlrya6vfc_._.js +3 -0
- package/server/.next/server/chunks/src_lib_0kjik9nmtqlf5._.js +7 -0
- package/server/.next/server/chunks/src_lib_0krbxej8kykyp._.js +7 -0
- package/server/.next/server/chunks/src_lib_0o9m8m1sm5759._.js +5 -0
- package/server/.next/server/chunks/src_lib_0pyyxm3m1rttg._.js +1 -1
- package/server/.next/server/chunks/src_lib_0sd9c_cjgc4ro._.js +3 -0
- package/server/.next/server/chunks/src_lib_0ta8sd9jeuw50._.js +17 -17
- package/server/.next/server/chunks/src_lib_0xfwnbkxb4z5s._.js +7 -0
- package/server/.next/server/chunks/src_lib_11ky6rv8zte7m._.js +7 -0
- package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +1 -1
- package/server/.next/server/chunks/src_lib_1550ey8j96v9n._.js +1 -1
- package/server/.next/server/chunks/src_lib_1hveabvnpk83x._.js +12 -0
- package/server/.next/server/chunks/src_lib_1n_d25awwz8ga._.js +3 -0
- package/server/.next/server/chunks/src_lib_1onr7b4_kglpt._.js +1 -1
- package/server/.next/server/chunks/src_lib_1qo6t00wwitz6._.js +17 -17
- package/server/.next/server/chunks/src_lib_1sz77jjn7xl7o._.js +1 -1
- package/server/.next/server/chunks/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
- package/server/.next/server/chunks/src_lib_branding_ts_03ns4y_8z0-6e._.js +3 -0
- package/server/.next/server/chunks/src_lib_branding_ts_0jfv9nur5alvy._.js +3 -0
- package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +6 -3
- package/server/.next/server/chunks/src_lib_collector_deploy-days_ts_087kwe68m4i93._.js +3 -0
- package/server/.next/server/chunks/src_lib_data_report-db_ts_0b5f4dpxn08gk._.js +3 -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 +11 -11
- package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +11 -11
- package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.js +11 -11
- package/server/.next/server/chunks/src_lib_local-auth_proxy_ts_1g9krhdh2rnt2._.js +1 -21
- package/server/.next/server/chunks/src_lib_maintenance_ts_0voja6l8yogbf._.js +3 -0
- package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +1 -1
- package/server/.next/server/chunks/src_lib_rate-limit_ts_09dzyftcadggh._.js +1 -1
- package/server/.next/server/chunks/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
- package/server/.next/server/chunks/src_lib_rate-limit_ts_1ahtm4quu2rri._.js +1 -1
- package/server/.next/server/chunks/src_lib_sections_ts_0r8u4nvlpdkgq._.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_21atz5tidps07.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_models_page_actions_0rvlzfa8rjyz_.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_playground_page_actions_01ejc1xilpuh4.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_quota_page_actions_0iki29gyi8cwa.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_ai_usage_page_actions_1c99h-kwdnep7.js +1 -1
- package/server/.next/server/chunks/ssr/1oeh_server_app_(console)_(private)_auto-actions_page_actions_1kw4ce6-efkr1.js +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0summv9f9jkob._.js → [externals]__02peoq6kft9oz._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__1q1drb4oske-9._.js → [externals]__0byytapt83qke._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__00hge8tjqv73a._.js → [externals]__0gb_9a2m3eqk5._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__1jdljyrzmqoz0._.js → [externals]__1baveo0r8_hf1._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__001mglelq4wpc._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__12t9_ndr9z-2d._.js → [root-of-the-server]__004q78ed0nf0_._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__01o65-2jgmg9x._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__157kjredkf1pa._.js → [root-of-the-server]__041mpme_x36vq._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0n4bkq-45z4aa._.js → [root-of-the-server]__04_prmhm_cts4._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1a5760tg4iits._.js → [root-of-the-server]__05uxv6qwfpp79._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0423qjo9c2t9-._.js → [root-of-the-server]__077-acap7g4ck._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__05s2n35zn4go-._.js → [root-of-the-server]__0ct4apye0sfmc._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__139ya3ejh6htx._.js → [root-of-the-server]__0hgf7si8htevx._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0keo0-hwsnkw9._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0mvauw9r_4qss._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__07zuxj3veqm14._.js → [root-of-the-server]__0q7rssq_3unbc._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__13phmsw9wsyrs._.js → [root-of-the-server]__0qhbs-or7q-om._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0rdf04ziqasfz._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0rrdzb9wowemv._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__02lkybw6gg3ln._.js → [root-of-the-server]__0rrnk3_fb0l_9._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0u-o_v_v6y58o._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__10r0u-q18z71i._.js → [root-of-the-server]__0uxychcp_pldy._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__16jfs8j29r4b5._.js → [root-of-the-server]__0vqae5m2ntd34._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1nk87bg9lne35._.js → [root-of-the-server]__10y2ig7dg3f-k._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__11yadiuejywcz._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__12c2r19g75dyy._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1iqedr7nfvayk._.js → [root-of-the-server]__13x0qmv4fm_1p._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__18dcfrlpoapw9._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__183_36tj3p645._.js → [root-of-the-server]__1_axyb404w3bf._.js} +2 -2
- 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]__1_q3kww244pif._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1ev5rocipbkjw._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1g6kynby65m0v._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0z5ucbis8ik32._.js → [root-of-the-server]__1gkcoq0cmmax1._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__07_efq7yhxfj-._.js → [root-of-the-server]__1itgt83qo1e77._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1d1ksu1dlha3r._.js → [root-of-the-server]__1k8mxdm-cxfg_._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0no6c0whevi73._.js → [root-of-the-server]__1mbb917mrz5c-._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1knbzqo0nba_q._.js → [root-of-the-server]__1n-rcmbkk7duv._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1pafj7m_b8m14._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1mah0p09qrkpu._.js → [root-of-the-server]__1pr-neo8jutji._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__14e0j38785glf._.js → [root-of-the-server]__1q6iypbn6yagc._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1rzolbt5ior_s._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__18gw74mr2vto3._.js → [root-of-the-server]__1sw2q1p1t59y8._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1u_13nhw3kuz3._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1vgliw2256_6l._.js +4 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0gyvfp6c-_edw._.js → [root-of-the-server]__1xkfr7qk7oxjf._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1z3vauqrf2l-_._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__06bgklzuef-ya._.js → [root-of-the-server]__1z_pt3d8lty_n._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__092gsphy4oz6k._.js → [root-of-the-server]__1zsqu1mecqptt._.js} +2 -2
- package/server/.next/server/chunks/ssr/_008i8a0_8skrp._.js +1 -1
- package/server/.next/server/chunks/ssr/_02eudwc8ieb2r._.js +2 -2
- package/server/.next/server/chunks/ssr/_08xqk3eibu5aw._.js +1 -1
- package/server/.next/server/chunks/ssr/_09s2unlb4r6yf._.js +3 -0
- package/server/.next/server/chunks/ssr/_0_oc9q0vqkynd._.js +1 -1
- package/server/.next/server/chunks/ssr/_0a22b7zsckifp._.js +1 -1
- package/server/.next/server/chunks/ssr/_0bd4cxnpnnq2u._.js +1 -1
- package/server/.next/server/chunks/ssr/_0cbbks0ms7i_u._.js +2 -2
- package/server/.next/server/chunks/ssr/_0cw4kz3d6kmb1._.js +1 -1
- package/server/.next/server/chunks/ssr/_0d2d527wcx-lf._.js +2 -2
- package/server/.next/server/chunks/ssr/_0d702k82llasi._.js +1 -1
- package/server/.next/server/chunks/ssr/_0gl-ewvbhb677._.js +2 -2
- package/server/.next/server/chunks/ssr/_0gmw45sb1llld._.js +1 -1
- package/server/.next/server/chunks/ssr/_0hqya_yuov5jw._.js +3 -0
- package/server/.next/server/chunks/ssr/_0i04zoixa2iup._.js +2 -2
- package/server/.next/server/chunks/ssr/_0idbg-ok0so2h._.js +2 -2
- package/server/.next/server/chunks/ssr/_0iy27gi4y9-fe._.js +1 -1
- package/server/.next/server/chunks/ssr/{_0rsh9v4b3yj0b._.js → _0j_qqta7rirh5._.js} +1 -1
- package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
- package/server/.next/server/chunks/ssr/_0kk0of-t4vhyh._.js +4 -0
- package/server/.next/server/chunks/ssr/{_1vlm9990gr64r._.js → _0kq3wqx86yyhb._.js} +2 -2
- package/server/.next/server/chunks/ssr/{_0c9_fa5ejth12._.js → _0lg6_we0pe3nk._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0oovfx_t_-u0k._.js +1 -1
- package/server/.next/server/chunks/ssr/_0oub-njkja8gu._.js +2 -2
- package/server/.next/server/chunks/ssr/_0pqkexxo7rts_._.js +2 -2
- package/server/.next/server/chunks/ssr/_0r7_a5m55a1jy._.js +3 -0
- package/server/.next/server/chunks/ssr/_0rqil_klxfz3j._.js +3 -0
- package/server/.next/server/chunks/ssr/_0tnd528j0i1i4._.js +2 -2
- package/server/.next/server/chunks/ssr/_0uwkwcgucqgcf._.js +2 -2
- package/server/.next/server/chunks/ssr/_0uz60lk-7e_cj._.js +2 -2
- package/server/.next/server/chunks/ssr/_0wo-lpqf7hr1y._.js +2 -2
- package/server/.next/server/chunks/ssr/{_18sg0ilz439y6._.js → _0xkl4rb1wydtd._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0xmud7u5hdnqu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1-4401bfn50mf._.js +1 -1
- 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/_118h21qua_4o3._.js +1 -1
- package/server/.next/server/chunks/ssr/_12makqwatfke-._.js +2 -2
- package/server/.next/server/chunks/ssr/{_0fl2-fao_ye7t._.js → _170okt24rw1yx._.js} +2 -2
- package/server/.next/server/chunks/ssr/_19-3vzkc6rk97._.js +1 -1
- package/server/.next/server/chunks/ssr/_19dldpcnzhkuw._.js +1 -1
- package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
- package/server/.next/server/chunks/ssr/_1bijvrgqfyij6._.js +5 -0
- package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
- package/server/.next/server/chunks/ssr/_1cl55h_h3q-b_._.js +1 -1
- package/server/.next/server/chunks/ssr/_1dlo17ba9g-f9._.js +2 -2
- package/server/.next/server/chunks/ssr/_1dp5bgqob29-f._.js +1 -1
- package/server/.next/server/chunks/ssr/_1fc8k_0p8l00c._.js +2 -2
- package/server/.next/server/chunks/ssr/_1fuywfexex2s8._.js +2 -2
- package/server/.next/server/chunks/ssr/_1g2zbl_-4z_hg._.js +1 -1
- package/server/.next/server/chunks/ssr/{_19q2vj_ppgsu4._.js → _1ge8mluhma23o._.js} +2 -2
- package/server/.next/server/chunks/ssr/_1he21-bt45k8z._.js +2 -2
- package/server/.next/server/chunks/ssr/_1ioq9f389jnco._.js +3 -0
- package/server/.next/server/chunks/ssr/_1iugpfonxri3e._.js +3 -0
- 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/_1ln6o3a9quwxo._.js +2 -2
- package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ong0a252wcvc._.js +13 -0
- package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1q0i7-4d4iyye._.js +3 -0
- package/server/.next/server/chunks/ssr/_1q3fi6a4gklq6._.js +1 -1
- package/server/.next/server/chunks/ssr/_1qcal07c71omr._.js +3 -0
- package/server/.next/server/chunks/ssr/_1r2516zqb3e67._.js +3 -0
- package/server/.next/server/chunks/ssr/_1ul3og9l7vp32._.js +2 -2
- package/server/.next/server/chunks/ssr/_1yh3k88t_kh4h._.js +2 -2
- package/server/.next/server/chunks/ssr/_1z6dy1k48mskn._.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_keys_page_actions_181-3r4e_0yb5.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_(private)_ai_logs_page_actions_1ryb93n6khky3.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_alerts_page_actions_06_3gmyq3jtvi.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_[id]_page_actions_1myo_rodrlg3a.js +2 -2
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_apps_page_actions_0ksau5eicvycc.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_connections_page_actions_1fgolmmpxrouc.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_containers_page_actions_1ainjsbrnl360.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_dns_page_actions_17d_lvhl-u_4w.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_domains_page_actions_1yv3fj_fh-n-5.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_firebase_page_actions_00wuues_v_j3r.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_logs_page_actions_0oqh51t2rx6q0.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_manage_sections_page_actions_1sb2ldu57uj32.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_1363m-cfkgyvr.js +3 -0
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_supabase_page_actions_1f3a_tpkwjo8z.js +1 -1
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_uptime_page_actions_1ylbdz0-ykfh6.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_esm_build_templates_app-page_1kr0-100zz257.js +3 -0
- package/server/.next/server/chunks/ssr/src_0330uf9pdfco9._.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_0jxjbvkvg0bjg._.js → src_09q8lx_19nta6._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_0abts6wp5ucc0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0kls100c13ocf._.js +3 -0
- package/server/.next/server/chunks/ssr/src_0ovx2ogvlz2eh._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0ph020gy78gi9._.js +1 -1
- package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
- package/server/.next/server/chunks/ssr/src_18m06fg8u7_73._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_1_9q6-wstn038._.js → src_18ofj2_oxqb0g._.js} +2 -2
- package/server/.next/server/chunks/ssr/{src_0632mrev4i__u._.js → src_1ldp01vcphvw5._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_1maoe8g5gnv0u._.js +1 -1
- package/server/.next/server/chunks/ssr/src_1q-jgpnd3lbcu._.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_ask_ask-form_tsx_18ttm9nna_9y6._.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_models_0ayzqn062pnv5._.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_1ru-30x6-uwu4._.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_usage_limits-form_tsx_0sfk3ver58rqw._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_app_(console)_0ohoun7l5f2tb._.js → src_app_(console)_03s-e0b0zsqqr._.js} +2 -2
- package/server/.next/server/chunks/ssr/{src_app_(console)_0krr6t05xs2tn._.js → src_app_(console)_0eh38ymzn-s-m._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_alerts_0j5xlt68kwg8x._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_apps_[id]_08in-j3xp5mbn._.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)_connections_1fahc65-97qla._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_connections_1fmp_anbkapur._.js +1 -1
- 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)_containers_containers-view_tsx_1xkcrw5gx53xo._.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)_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)_firebase_row-menu_tsx_0hssoq3pqjl-n._.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_section-switch_tsx_1mfs-o_357i22._.js +1 -1
- 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)_os_os-view_tsx_0xr69f5vtstls._.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)_reports_reports-view_tsx_1l0apba6g810q._.js +3 -0
- 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)_supabase_0ib3m2ch9gu-4._.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_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_1-h17es4-y1-k._.js +3 -0
- package/server/.next/server/chunks/ssr/src_app_signin_1_sp0qx8_z7c9._.js +1 -1
- 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_lib_0eqv8l-v8d5ze._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_0etkz1wbvfw-k._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_0jnv54-8idu07._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_lib_1zgor_vrwl5kt._.js → src_lib_0o9m8m1sm5759._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_1myex-iv3tu5w._.js +23 -0
- package/server/.next/server/chunks/ssr/src_lib_1x__dvajr3xvs._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_alerts_catalog_ts_1ndg28acul64q._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_branding_ts_03ns4y_8z0-6e._.js +3 -0
- package/server/.next/server/chunks/ssr/src_lib_collector_self-update_ts_18m5vmptpjhtg._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_lib_demo_15e3gnqzod0tj._.js → src_lib_demo_0r3c3k5102jja._.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_network_dns-edit_ts_0xtxlbd-uwncx._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_rate-limit_ts_0r-eu6to05vyx._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_sections_ts_0r8u4nvlpdkgq._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_1yzfhupl3rlpx._.js +6 -0
- 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_providers_actions_ts_0wxa36ai6s5nn._.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 +14 -3
- package/server/.next/server/middleware.js +1 -1
- 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 +279 -175
- package/server/.next/static/chunks/05c15dcfh7cxm.js +1 -0
- package/server/.next/static/chunks/{2-uaya1_uxlg8.js → 07_cb192ydsaj.js} +1 -1
- package/server/.next/static/chunks/{1c9eb592ho0-l.js → 0_xoojw9q_nof.js} +1 -1
- package/server/.next/static/chunks/{1truzt17f0fce.js → 0a9mqrzg8420n.js} +1 -1
- package/server/.next/static/chunks/{0mbt6eam4qr2f.js → 0dn6fty1ilg-n.js} +1 -1
- package/server/.next/static/chunks/{0dq-2wtk0h5u7.js → 0gxxyq5l_0rp2.js} +1 -1
- package/server/.next/static/chunks/0s00_-em3cj00.js +1 -0
- package/server/.next/static/chunks/{3m3vl3n5xs039.js → 0valedxcn7j8k.js} +2 -2
- package/server/.next/static/chunks/{2ze-y3he5_bb0.js → 0ynyx3s7s4mv7.js} +1 -1
- package/server/.next/static/chunks/{0matuoy08desx.js → 0zwq-z8jt5hpz.js} +1 -1
- package/server/.next/static/chunks/10y41_ed7ty6e.js +1 -0
- package/server/.next/static/chunks/{2-xolk9x48-v1.js → 1416wraxs5p8g.js} +1 -1
- package/server/.next/static/chunks/16gt7hkgltvf7.js +1 -0
- package/server/.next/static/chunks/{0l61-etojd65n.js → 1_uuog1-u6y0t.js} +1 -1
- package/server/.next/static/chunks/{3gmm9g54vx4w0.js → 1azdri14ocjgg.js} +11 -11
- package/server/.next/static/chunks/{3jqmm62dbykt1.js → 1cd-2y1kwqosv.js} +1 -1
- package/server/.next/static/chunks/{33_2mbxu9wufm.js → 1j_hduntj28ij.js} +1 -1
- package/server/.next/static/chunks/{1r99dm6-o5qw2.js → 1nqpnndfmw0tc.js} +1 -1
- package/server/.next/static/chunks/{3aou6xwhz8z6a.js → 1nv_9c1bate-f.js} +1 -1
- package/server/.next/static/chunks/1sjgdu3r0baj-.js +1 -0
- package/server/.next/static/chunks/1velx-cd3d5y1.js +1 -0
- package/server/.next/static/chunks/{2yc4qzglai5fq.js → 1vt_t7dg_-pyu.js} +1 -1
- package/server/.next/static/chunks/1w51uxl19faw3.js +1 -0
- package/server/.next/static/chunks/1xydxxektmjgr.js +1 -0
- package/server/.next/static/chunks/{2am77mhkx46hz.js → 1yyigrxptb7jm.js} +2 -2
- package/server/.next/static/chunks/{0y99dm8mesqe9.js → 28_88x_e_ynaj.js} +1 -1
- package/server/.next/static/chunks/{0-o-4ilzkrd38.js → 28qjoy38cp5by.js} +1 -1
- package/server/.next/static/chunks/{2fvh4wg2kp4c2.js → 2azwg3my8wh40.js} +1 -1
- package/server/.next/static/chunks/2co8kv2tj776w.js +1 -0
- package/server/.next/static/chunks/{0ey7akdab5tu8.js → 2db0smm21dva_.js} +1 -1
- package/server/.next/static/chunks/{0v97o46v-74gw.js → 2gk24b05q4q57.js} +1 -1
- package/server/.next/static/chunks/{1935vuszybg7i.js → 2i5_2zcei6rqr.js} +1 -1
- package/server/.next/static/chunks/2jflssspiz3-i.js +1 -0
- package/server/.next/static/chunks/{01euc4zjlprz5.js → 2n198u7xx1koh.js} +1 -1
- package/server/.next/static/chunks/{3gkm-ynu4fq5u.js → 2sr03gtef27q0.js} +1 -1
- package/server/.next/static/chunks/{02kly5fiyvt77.js → 2txgb9zusks-w.js} +1 -1
- package/server/.next/static/chunks/{2m8-ctreu-y-r.js → 3-789qaoce7ff.js} +1 -1
- package/server/.next/static/chunks/3-us-wg44ohoc.js +1 -0
- package/server/.next/static/chunks/{2szchf79vnxgd.js → 31fs88f_h861n.js} +1 -1
- package/server/.next/static/chunks/36ykgce0otv4r.css +3 -0
- package/server/.next/static/chunks/{22ygzud_kp29f.js → 378ttzg87hows.js} +1 -1
- package/server/.next/static/chunks/{0xz55932e19r8.js → 3aglnkhgcl_kq.js} +1 -1
- package/server/.next/static/chunks/{0ge2nkna7o16p.js → 3bvj3-0xltkjo.js} +1 -1
- package/server/.next/static/chunks/{3e-0ejqqa7jwn.js → 3cti7pgg_jjlx.js} +1 -1
- package/server/.next/static/chunks/{0xlfzxnboj4f1.js → 3dktq-qmj2q5b.js} +1 -1
- package/server/.next/static/chunks/{3ursfc8kxp2ak.js → 3ic7ri5b4ifjp.js} +2 -2
- package/server/.next/static/chunks/{1pogexbz36ij8.js → 3ic9vbadne9of.js} +1 -1
- package/server/.next/static/chunks/{3dk6a5gl9glxo.js → 3lw5n6yzs0665.js} +1 -1
- package/server/.next/static/chunks/3mgd5b39ghc-w.js +1 -0
- package/server/.next/static/chunks/{1u8mo8jflotrt.js → 3n98m8tj20wcf.js} +1 -1
- package/server/.next/static/chunks/{2p8bv7d7t08z1.js → 3u1v2wpzthilq.js} +1 -1
- package/server/drizzle-selfhost/0011_reports.sql +56 -0
- package/server/drizzle-selfhost/0012_report_send_rule.sql +2 -0
- package/server/drizzle-selfhost/meta/_journal.json +14 -0
- package/server/server.js +1 -1
- package/server/src/lib/report/fonts/Geist-Regular.ttf +0 -0
- package/server/src/lib/report/fonts/Geist-SemiBold.ttf +0 -0
- package/server/src/lib/report/fonts/GeistMono-Regular.ttf +0 -0
- package/server/src/lib/report/fonts/OFL.txt +92 -0
- package/tools/reset-login.mjs +2 -0
- package/server/.next/server/chunks/[root-of-the-server]__00oxbw3nfl_kd._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__04q-9779vl4kn._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__04u9e45_g1jdi._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__05b18nw2k-7-4._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__06nrq_1pbp3z-._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__06uaa_2zbg57p._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__081hh3_un4awi._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__09gla7jgbw2bs._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0a0st8-rftztn._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0at6fxe9efr-x._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0dfx2psnngcys._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0di45l_tnq1pm._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ej4hdoyogtji._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0eqrtvr3uqlqf._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0g81f_2ecmg8a._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0glhrm7zmrvi2._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0jma907r441wi._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0jpktq0f88rvz._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0myf9g_uv3bia._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0puji-hw0xtk7._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ruici82tzf0w._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0t0dd5t5rch1i._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ty2qkszfdr5t._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ugx1i8km15fl._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ux1hi2fgqxu7._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__12tmfv427e9cb._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1481y3utu_a_o._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__14e0j38785glf._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__14yq_wf4xemgd._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1_0vd5-tvmsg8._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1_goy0uhapvk9._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ac-dzt5bffr2._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ajyr5xvo1-x5._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ey2qia7rofoc._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1hlvqq0azku2x._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1hrviq7s700td._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ifov-udw6__d._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ig0p-frprcbm._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ksyvvsf32jfg._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1kzi1du1sliqb._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1mvibnqor6lx_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1o-zo4qebuqwy._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1po33h2u2o4e_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1qps9ushddgwe._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1qrj37m-5y-56._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1qyz1wi13rxxb._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1r8mzvf7_9d2k._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1rxke2_vpd7np._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1sjp750034q4j._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1wbnule0tzwdu._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1wcnj2xtesyd9._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1won_frdj9jms._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1wvp6wau5ueb9._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1yxudc_keazqo._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1z_l9mj3s_6tu._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1zvy7u_y3fzbz._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__208znvanagmpr._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__20qdu-env7wgt._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__212-4r-w6a9sm._.js +0 -3
- package/server/.next/server/chunks/_0-5pjvqu672_v._.js +0 -49
- package/server/.next/server/chunks/_02qrz1g8sdvhe._.js +0 -49
- package/server/.next/server/chunks/_03qlijpos6a21._.js +0 -3
- package/server/.next/server/chunks/_06gv0srpbf_lk._.js +0 -3
- package/server/.next/server/chunks/_06lf75x-xhl7v._.js +0 -3
- package/server/.next/server/chunks/_0cbxgnkxr1uj8._.js +0 -3
- package/server/.next/server/chunks/_0sy878k2ywjbq._.js +0 -3
- package/server/.next/server/chunks/_0vjggb8yo5b9f._.js +0 -3
- package/server/.next/server/chunks/_0wval7co8z-pk._.js +0 -3
- package/server/.next/server/chunks/_103ai6ybnpq1k._.js +0 -3
- package/server/.next/server/chunks/_108e86rhye0o1._.js +0 -3
- package/server/.next/server/chunks/_12g2m3a5e94_5._.js +0 -3
- package/server/.next/server/chunks/_1_son1yzo5xvl._.js +0 -3
- package/server/.next/server/chunks/_1ap0upnvy5i_1._.js +0 -49
- package/server/.next/server/chunks/_1b-88djuoexz1._.js +0 -49
- package/server/.next/server/chunks/_1ctwjh8q__6_g._.js +0 -3
- package/server/.next/server/chunks/_1f14qy3kb8iac._.js +0 -3
- package/server/.next/server/chunks/_1fj4vzjpusyn8._.js +0 -5
- package/server/.next/server/chunks/_1i8u10u8nrzy2._.js +0 -3
- package/server/.next/server/chunks/_1k3v1-vgvzm_o._.js +0 -3
- package/server/.next/server/chunks/_1kcmwgs544mo-._.js +0 -3
- package/server/.next/server/chunks/_1ptcxyn1tzm9r._.js +0 -3
- package/server/.next/server/chunks/_1rskctyr7yt-b._.js +0 -3
- package/server/.next/server/chunks/node_modules_drizzle-orm_1oeq7sl_gbxs5._.js +0 -4
- package/server/.next/server/chunks/node_modules_drizzle-orm_1tmqw7vk5a4ik._.js +0 -4
- package/server/.next/server/chunks/src_063xvouojxyoa._.js +0 -3
- package/server/.next/server/chunks/src_088gmyaew7ds0._.js +0 -3
- package/server/.next/server/chunks/src_08fq45_-8xq5o._.js +0 -3
- package/server/.next/server/chunks/src_0hx0sol2clocu._.js +0 -3
- package/server/.next/server/chunks/src_0j84o_hkkaeg-._.js +0 -3
- package/server/.next/server/chunks/src_0y_4gogmeu-2k._.js +0 -3
- package/server/.next/server/chunks/src_1-6a00bmwlymu._.js +0 -3
- package/server/.next/server/chunks/src_13n1vi7uew4iu._.js +0 -3
- package/server/.next/server/chunks/src_1_fnzi0em_6er._.js +0 -3
- package/server/.next/server/chunks/src_1bqzr81r3wkvi._.js +0 -3
- package/server/.next/server/chunks/src_1wduh0eckiwl1._.js +0 -3
- package/server/.next/server/chunks/src_lib_0-fln6xaazo-9._.js +0 -12
- package/server/.next/server/chunks/src_lib_0ma36vqcze7a9._.js +0 -7
- package/server/.next/server/chunks/src_lib_0ps7mu81f-6s1._.js +0 -7
- package/server/.next/server/chunks/src_lib_14grv5a5_n9o0._.js +0 -7
- package/server/.next/server/chunks/src_lib_1en6omqx66g9d._.js +0 -23
- package/server/.next/server/chunks/src_lib_1jlvdx5ho171c._.js +0 -12
- package/server/.next/server/chunks/src_lib_1znb-e7g8dkgc._.js +0 -7
- package/server/.next/server/chunks/src_lib_collector_runners_ts_12z4gtgikss74._.js +0 -21
- package/server/.next/server/chunks/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +0 -3
- package/server/.next/server/chunks/src_lib_demo_11p30f_ci6ie2._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__03xevz8n-mc20._.js +0 -4
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0de1senl_kfo5._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__19twn3g5nv5q1._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__19wvac83zh5-9._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1m38od9tgaroe._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1mxpszbk1aup8._.js +0 -4
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1tj-iwvrxfd1a._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1zmuaump_n9c1._.js +0 -3
- package/server/.next/server/chunks/ssr/_01n29sxn-py3x._.js +0 -3
- package/server/.next/server/chunks/ssr/_03d3sxmob-gr7._.js +0 -3
- package/server/.next/server/chunks/ssr/_0c8kew3jsb-yb._.js +0 -3
- package/server/.next/server/chunks/ssr/_0qhvl_fw4qetx._.js +0 -4
- package/server/.next/server/chunks/ssr/_0rw2pberdmaa5._.js +0 -3
- package/server/.next/server/chunks/ssr/_0zkmkbrbc96-h._.js +0 -3
- package/server/.next/server/chunks/ssr/_16vvfyez78u5k._.js +0 -3
- package/server/.next/server/chunks/ssr/_1d0anr0hjs5k5._.js +0 -3
- package/server/.next/server/chunks/ssr/_1fj4vzjpusyn8._.js +0 -5
- package/server/.next/server/chunks/ssr/_1rskctyr7yt-b._.js +0 -3
- package/server/.next/server/chunks/ssr/_next-internal_server_app_(console)_settings_page_actions_12wgjpd0lbh12.js +0 -3
- package/server/.next/server/chunks/ssr/src_1emolu5lrse98._.js +0 -6
- package/server/.next/server/chunks/ssr/src_1sdwdnblbiq_g._.js +0 -3
- package/server/.next/server/chunks/ssr/src_app_signin_12a3ifphkkcs7._.js +0 -3
- package/server/.next/server/chunks/ssr/src_lib_0nbad7vu413-f._.js +0 -23
- package/server/.next/server/chunks/ssr/src_lib_data_metrics-db_ts_0zp7x6l28a2ep._.js +0 -3
- package/server/.next/static/chunks/028g933xfv8jn.js +0 -1
- package/server/.next/static/chunks/0utjdzwgd7zw2.js +0 -1
- package/server/.next/static/chunks/1sa-1lde5_ikt.js +0 -1
- package/server/.next/static/chunks/1uk98c6r9i2bn.js +0 -1
- package/server/.next/static/chunks/2zzk4wxiacgja.css +0 -3
- package/server/.next/static/chunks/33avmrae70_xs.js +0 -1
- package/server/.next/static/chunks/363mcu9nd9znh.js +0 -1
- package/server/.next/static/chunks/3bwwwv3sp7uyn.js +0 -1
- package/server/.next/static/chunks/3lvz18snt6489.js +0 -1
- package/server/.next/static/chunks/3qv9klayap1tz.js +0 -1
- package/server/.next/static/chunks/3xkvsl4vbpm41.js +0 -1
- package/server/.next/static/chunks/3yu0azvye6wr_.js +0 -1
- /package/server/.next/static/{fogXXBSOhoHV3eIf8_j28 → NUZVcU60U-vXVedu_GB0w}/_buildManifest.js +0 -0
- /package/server/.next/static/{fogXXBSOhoHV3eIf8_j28 → NUZVcU60U-vXVedu_GB0w}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{fogXXBSOhoHV3eIf8_j28 → NUZVcU60U-vXVedu_GB0w}/_ssgManifest.js +0 -0
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
where (ops.settings.value->>'until')::timestamptz < ${e.toISOString()}::timestamptz
|
|
5
5
|
returning key`);return(0,J.f)(s).length>0?t:null}async function G(e){await (0,r.f)().execute(a.B`
|
|
6
6
|
update ops.settings set value = jsonb_build_object('until', '1970-01-01T00:00:00Z'), updated_at = now()
|
|
7
|
-
where key = 'collector.lease' and value->>'owner' = ${e}`)}var K=e.i(679270);let Z=/^v?(\d{1,9})\.(\d{1,9})\.(\d{1,9})(?:-([0-9A-Za-z.-]{1,64}))?(?:\+[0-9A-Za-z.-]{1,64})?$/,H=/^\d{4}-\d{2}-\d{2}$/;function X(e){let t="string"==typeof e?Z.exec(e.trim()):null;if(!t)return null;let[a,r,n]=[t[1],t[2],t[3]].map(Number);return{major:a,minor:r,patch:n,pre:t[4]??null,text:`${a}.${r}.${n}${t[4]?`-${t[4]}`:""}`}}function Q(e,t){return e.major!==t.major?e.major-t.major:e.minor!==t.minor?e.minor-t.minor:e.patch!==t.patch?e.patch-t.patch:e.pre===t.pre?0:null===e.pre?1:null===t.pre||e.pre<t.pre?-1:1}function ee(e){let t=(e&&"object"==typeof e?e:null)?.result?.releases;if(!Array.isArray(t)||0===t.length)return null;let a=[];for(let e of t){if(!e||"object"!=typeof e||"string"!=typeof e.name||"boolean"!=typeof e.isEol||null!=e.eolFrom&&("string"!=typeof e.eolFrom||!H.test(e.eolFrom)))return null;a.push({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom??null})}return a}var et=e.i(583521);let ea="runtime.node";function er(e=process.env){let t=(0,et.N)(e,"NO_UPDATE_CHECK"),a=t?.value.trim()??"";return{off:""!==a&&!/^(0|false|no|off)$/i.test(a),name:t?.name??"WATCHBELL_NO_UPDATE_CHECK"}}async function en(e,t,a,r){let n;try{n=await a(e,{method:"GET",headers:{Accept:"application/json","Accept-Encoding":"gzip"},signal:AbortSignal.timeout(r),cache:"no-store"})}catch{return{ok:!1,error:`Couldn't reach ${t}`}}if(!n.ok)return{ok:!1,error:`${t} returned an error (${n.status})`};try{return{ok:!0,body:await n.json()}}catch{return{ok:!1,error:`${t} answered in a format the console doesn't recognise`}}}async function es(e={}){let t=e.fetch??fetch,a=e.timeoutMs??8e3,[r,n]=await Promise.all([en("https://nodejs.org/dist/index.json","nodejs.org",t,a),en("https://endoflife.date/api/v1/products/nodejs/","endoflife.date",t,a)]),s=r.ok?function(e){if(!Array.isArray(e)||0===e.length)return null;let t=[],a=new Map;for(let r of e){if(!r||"object"!=typeof r||"boolean"!=typeof r.security)return null;let e=X(r.version);if(!e||null!==e.pre||!String(r.version).startsWith("v"))return null;r.security&&t.push(e);let n=a.get(e.major);(!n||Q(e,n)>0)&&a.set(e.major,e)}return t.sort((e,t)=>Q(t,e)),{security:t.map(e=>e.text),latest:Object.fromEntries([...a].sort((e,t)=>t[0]-e[0]).map(([e,t])=>[String(e),t.text]))}}(r.body):null,i=n.ok?ee(n.body):null,o=e=>`${e} answered in a format the console doesn't recognise`;return{index:s,indexError:r.ok?s?null:o("nodejs.org"):r.error,cycles:i,cyclesError:n.ok?i?null:o("endoflife.date"):n.error}}let ei=e=>"string"==typeof e&&Number.isFinite(Date.parse(e))?e:null,eo=e=>"string"==typeof e?e:null;async function el(){var e;let[a]=await (0,r.f)().select({value:s.settings.value}).from(s.settings).where((0,t.u)(s.settings.key,ea)).limit(1);return a?(e=a.value)&&"object"==typeof e?{index:function(e){let t=e&&"object"==typeof e?e:null;if(!t||!Array.isArray(t.security)||!t.latest||"object"!=typeof t.latest)return null;let a=t.security.map(X),r=Object.entries(t.latest).map(([e,t])=>[e,X(t)]);return a.some(e=>!e)||r.some(([e,t])=>!t||String(t.major)!==e)?null:{security:a.map(e=>e.text),latest:Object.fromEntries(r.map(([e,t])=>[e,t.text]))}}(e.index),indexCheckedAt:ei(e.indexCheckedAt),indexError:eo(e.indexError),cycles:ee({result:{releases:e.cycles}}),cyclesCheckedAt:ei(e.cyclesCheckedAt),cyclesError:eo(e.cyclesError)}:null:null}async function eu(e,t,a,n=process.env){let i;if(er(n).off)return;let o=t-Date.now();if(o<1e3)throw Error("skipped, time budget used");let l=await es({timeoutMs:Math.min(8e3,o)}),u=await el();l.indexError&&a.push(`node: ${l.indexError}`),l.cyclesError&&a.push(`node: ${l.cyclesError}`);let d=(i=e.toISOString(),{index:l.index??u?.index??null,indexCheckedAt:i,indexError:l.indexError,cycles:l.cycles??u?.cycles??null,cyclesCheckedAt:i,cyclesError:l.cyclesError});await (0,r.f)().insert(s.settings).values({key:ea,value:d}).onConflictDoUpdate({target:s.settings.key,set:{value:d,updatedAt:e}})}var ed=e.i(77193);let ec=/^\d{1,4}\.\d{1,4}\.\d{1,6}$/,ef=e=>"string"==typeof e&&ec.test(e);async function ep(e={}){let t,a=e.fetch??fetch;try{t=await a("https://registry.npmjs.org/watchbell/latest",{method:"GET",headers:{Accept:"application/json","Accept-Encoding":"gzip"},signal:AbortSignal.timeout(e.timeoutMs??6e3),cache:"no-store"})}catch{return{ok:!1,error:"Couldn't reach registry.npmjs.org"}}if(!t.ok)return{ok:!1,error:`registry.npmjs.org returned an error (${t.status})`};try{let e=await t.json();return ef(e.version)?{ok:!0,version:e.version}:{ok:!1,error:"registry.npmjs.org answered without a version"}}catch{return{ok:!1,error:"registry.npmjs.org answered in a format the console doesn't recognise"}}}async function ew(e,t,a,n=process.env,i){let o=function(e=process.env,t="1.6.1"){let a=e.WATCHBELL_VERSION?.trim();if(ef(a))return a;let r=t?.trim();return ef(r)?r:null}(n);if(!o||"selfhost"!==(0,ed.c)(n)||er(n).off)return;let l=t-Date.now();if(l<1e3)return;let u=await ep({fetch:i,timeoutMs:Math.min(6e3,l)});if(u.ok){let t={version:u.version,checkedAt:e.toISOString()};await (0,r.f)().insert(s.settings).values({key:"watchbell.latest",value:t}).onConflictDoUpdate({target:s.settings.key,set:{value:t,updatedAt:e}})}else a.push(`update check: ${u.error}`);await (0,r.f)().insert(s.settings).values({key:"watchbell.seenVersion",value:{version:o}}).onConflictDoNothing({target:s.settings.key})}var em=e.i(515743),eh=e.i(336030),eg=e.i(905685),ey=e.i(751762);e.i(794713);let eb="collector.lastRun",ek="vercel.backoffUntil",ev="vercel.currentMiss",eI={supabase:x.N,supabaseUsage:x.y,neon:x.h,firebase:x.g,firebaseUsage:x.x,extraDbs:C};async function eA(){let e=await (0,r.f)().select({key:s.settings.key,value:s.settings.value}).from(s.settings).where((0,t.y)(s.settings.key,[eb,S.Z])).limit(2);return{lastRun:e.find(e=>e.key===eb)?.value??{},afterDeploy:e.find(e=>e.key===S.Z)?.value??null}}async function eS(e){await (0,r.f)().insert(s.settings).values({key:eb,value:e}).onConflictDoUpdate({target:s.settings.key,set:{value:e,updatedAt:new Date}})}let e$=e=>(0,p.f)(e);async function eD(e,n,i,o,l=[]){let u=(await (0,r.f)().select({m:s.monitors,app:s.resources}).from(s.monitors).innerJoin(s.resources,(0,t.u)(s.resources.id,s.monitors.resourceId)).where((0,t.b)((0,t.u)(s.monitors.kind,"http"),(0,t.u)(s.monitors.paused,!1),(0,t.u)(s.monitors.ownerPaused,!1),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt))).orderBy(a.B`${s.monitors.lastCheckedAt} asc nulls first`,s.monitors.id)).filter(({m:t})=>(0,Y.B)(t.lastCheckedAt,e,o));if(!u.length)return 0;let d=await (0,V.P)(u,6,({m:e})=>{let t=(0,Y.P)(e.timeoutMs,n,Date.now());return null===t?Promise.resolve(null):(0,V.b)(e.url,{expectedStatus:e.expectedStatus,timeoutMs:t,body:(0,em.C)(e)})}),c=u.flatMap((e,t)=>d[t]?[{...e,r:d[t]}]:[]);if(c.length<u.length&&i.push(`checks: ${u.length-c.length} monitors skipped, time budget used`),!c.length)return 0;let f=[];for(let t of c)await (0,eh.j)(t.m,t.r,e)&&f.push(t);return f.length?(await (0,r.f)().insert(s.checks).values(f.map(({m:t,app:a,r})=>({monitorId:t.id,at:e,ok:r.ok,statusCode:r.statusCode,latencyMs:r.latencyMs,error:r.error,inMaintenance:null!==(0,A.x)(l,{monitorId:t.id,appId:a.id},e)}))),await e$(f.map(({m:t,app:a,r})=>(0,eg.F)({resourceId:a.id,path:(0,D.K)(t.url),prev:t.state,next:(0,eg.G)(t.failStreak,r).state,code:r.statusCode,error:r.error,at:e}))),f.length):0}let ex=["checks","heartbeats"];async function eE(e,t,a=f.f){if(!ex.some(t=>e.includes(t)))return[];try{return await a()}catch(e){return t.push(`maintenance: ${(0,ey.f)(e)}`),[]}}async function ej(e){let[a]=await (0,r.f)().select().from(s.settings).where((0,t.u)(s.settings.key,ek)).limit(1),n=a?.value?.until;return!!n&&e.getTime()<new Date(n).getTime()}async function eM(e,t){if("transient"!==e.kind||!e.retryAfterS)return!1;let a={until:new Date(t.getTime()+1e3*Math.min(e.retryAfterS,3600)).toISOString()};return await (0,r.f)().insert(s.settings).values({key:ek,value:a}).onConflictDoUpdate({target:s.settings.key,set:{value:a,updatedAt:t}}),!0}let eO=e=>a.B`coalesce(${s.deployments.externalId} = ${e}::text, false)`;async function eN(e,n,i,o,l=k.m){let u=[];try{for(let l of e){let e=n.filter(e=>e.resourceId===l.id),{currentId:d,previousId:c}=(0,D.a)(e.map(e=>({id:e.id,createdAt:e.createdAt??new Date(0)})),(l.externalId?i.get(l.externalId):null)??null),f=await (0,r.f)().update(s.deployments).set({isCurrent:eO(d),isPreviousProduction:eO(c),updatedAt:o.now}).where((0,t.b)((0,t.u)(s.deployments.resourceId,l.id),(0,t.F)(a.B`${s.deployments.isCurrent} is distinct from ${eO(d)}`,a.B`${s.deployments.isPreviousProduction} is distinct from ${eO(c)}`))).returning({id:s.deployments.externalId}),p=(0,S.X)({appId:l.id,currentId:d,changedIds:f.map(e=>e.id),createdAt:e.find(e=>e.id===d)?.createdAt??null,state:o.afterDeploy,now:o.now});p&&u.push({appId:l.id,deploymentId:p})}}finally{if(u.length)try{await l(u,o.now)}catch(e){o.errors.push(`vercel/${o.label}: after-deploy security check not scheduled: ${(0,ey.f)(e)}`)}}}let eR=e=>new Map(e.map(e=>[e.id,{...e.branchFrom?{branchFrom:e.branchFrom}:{},...e.gitDirty?{gitDirty:!0}:{}}]));async function eC(e,t,a,r,n=new Map,s=y.f){try{await s(e,t,n)}catch(e){a.push(`vercel/${r}: production source not saved: ${(0,ey.f)(e)}`)}}async function eT(e,a,n,i){if(await ej(e))return;let l=(0,I.f)().OPS_ENCRYPTION_KEY;for(let u of(await (0,r.f)().select().from(s.accounts).where((0,t.b)((0,t.u)(s.accounts.provider,"vercel"),(0,t.u)(s.accounts.status,"ok"))))){let d=(0,w.V)({ciphertext:u.credentialCiphertext,iv:u.credentialIv},l);if((0,o.A)(d)||!d){n.push(`vercel/${u.label}: credential can't be read`);continue}let c=await (0,r.f)().select().from(s.resources).where((0,t.b)((0,t.u)(s.resources.accountId,u.id),(0,t.u)(s.resources.kind,"app"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt)));if(!c.length)continue;let f=new Map(c.map(e=>[e.externalId,e])),p=await (0,$.X)(d);if(!p.ok){let a=(0,o.E)({ok:!1,kind:p.kind,error:p.error});if(a&&await (0,r.f)().update(s.accounts).set({...a,updatedAt:e}).where((0,t.u)(s.accounts.id,u.id)),n.push(`vercel/${u.label}: ${p.error}`),await eM(p,e))return;continue}let m=new Set(c.map(e=>String(e.meta.teamId)));for(let o of p.data.filter(e=>m.has(e.id))){if(Date.now()>a)return void n.push("vercel: skipped remaining teams, time budget used");let[l,u]=await Promise.all([(0,$.W)(d,o),(0,$.K)(d,o,{since:e.getTime()-6048e5,limit:100})]);if(!l.ok||!u.ok){let t=l.ok?u:l;if(n.push(`vercel/${o.name}: ${t.error}`),await eM(t,e))return;continue}let p=new Map(l.data.map(e=>[e.id,e.currentDeploymentId])),w=u.data.filter(e=>f.has(e.projectId)),m=eR(w),h=new Map((w.length?await (0,r.f)().select({externalId:s.deployments.externalId,state:s.deployments.state,target:s.deployments.target,branch:s.deployments.branch,commitSha:s.deployments.commitSha,commitMessage:s.deployments.commitMessage,source:s.deployments.source,url:s.deployments.url,buildingAt:s.deployments.buildingAt,readyAt:s.deployments.readyAt}).from(s.deployments).where((0,t.y)(s.deployments.externalId,w.map(e=>e.id))):[]).map(e=>[e.externalId,e])),g=[];for(let t of w){let a=f.get(t.projectId),n=h.get(t.id),i={state:t.state,target:t.target,branch:t.branch,commitSha:t.sha,commitMessage:t.message,source:t.source,url:t.url,buildingAt:t.buildingAt,readyAt:t.readyAt};if((0,D.E)(n,i)){let n={resourceId:a.id,externalId:t.id,...i,createdAtProvider:t.createdAt,updatedAt:e};await (0,r.f)().insert(s.deployments).values(n).onConflictDoUpdate({target:s.deployments.externalId,set:n})}g.push((0,eg.L)(n?.state,t,a.id,e))}await e$(g);let y=c.filter(e=>String(e.meta.teamId)===o.id),b=await (0,r.f)().select({resourceId:s.deployments.resourceId,id:s.deployments.externalId,createdAt:s.deployments.createdAtProvider}).from(s.deployments).where((0,t.b)((0,t.y)(s.deployments.resourceId,y.map(e=>e.id)),(0,t.u)(s.deployments.target,"production"),(0,t.u)(s.deployments.state,"ready"))),[k]=await (0,r.f)().select().from(s.settings).where((0,t.u)(s.settings.key,ev)).limit(1),v=[],I=()=>v.length?(0,r.f)().insert(s.settings).values({key:ev,value:(0,D.Y)(k?.value,v,e)}).onConflictDoUpdate({target:s.settings.key,set:{value:(0,D.Y)(k?.value,v,e),updatedAt:e}}):Promise.resolve();for(let t of(0,D.Q)(y,p,b,(0,D.S)(k?.value,e))){if(Date.now()>a)break;let i=await (0,$.S)(d,o,t.deploymentId);if(!i.ok){if(n.push(`vercel/${o.name}: current deployment: ${i.error}`),await eM(i,e))return void await I();v.push(t.deploymentId);continue}let l=i.data;for(let[e,t]of eR([l]))m.set(e,t);let u={resourceId:t.appId,externalId:l.id,state:l.state,target:l.target,branch:l.branch,commitSha:l.sha,commitMessage:l.message,source:l.source,url:l.url,buildingAt:l.buildingAt,readyAt:l.readyAt,createdAtProvider:l.createdAt,updatedAt:e};await (0,r.f)().insert(s.deployments).values(u).onConflictDoUpdate({target:s.deployments.externalId,set:u}),"ready"===l.state&&"production"===l.target?b.push({resourceId:t.appId,id:l.id,createdAt:l.createdAt}):v.push(t.deploymentId)}await I(),await eN(y,b,p,{now:e,afterDeploy:i,errors:n,label:o.name}),await eC(y,e,n,o.name,m)}}}async function eP(e){let n=await (0,r.f)().select().from(s.resources).where((0,t.b)((0,t.u)(s.resources.kind,"app"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt)));if(!n.length)return;let o=await (0,r.f)().select().from(s.monitors).where((0,t.b)((0,t.y)(s.monitors.resourceId,n.map(e=>e.id)),(0,t.u)(s.monitors.paused,!1),(0,t.u)(s.monitors.ownerPaused,!1))),l=new Set((await (0,r.f)().select({r:s.deployments.resourceId}).from(s.deployments).where((0,t.b)((0,t.y)(s.deployments.resourceId,n.map(e=>e.id)),(0,t.u)(s.deployments.target,"production"),(0,t.u)(s.deployments.state,"building"),(0,t.B)(s.deployments.createdAtProvider,new Date(e.getTime()-36e5))))).map(e=>e.r)),u=await (0,x.q)(n.map(e=>e.id)),d=new Map((await (0,r.f)().select().from(s.snapshots).where((0,t.y)(s.snapshots.resourceId,n.map(e=>e.id)))).map(e=>[e.resourceId,e])),c=new Map(n.map(e=>[e.id,e])),f=(0,i.P)(o.map(e=>({id:e.id,kind:e.kind,url:e.url,appId:e.resourceId,appName:c.get(e.resourceId)?.name??"",appMeta:c.get(e.resourceId)?.meta,lastError:e.lastError})),n),p=e=>f.has(e.id)&&"err"===e.state?"warn":e.state;for(let[e,l]of(0,i.R)(o.map(e=>({id:e.id,kind:e.kind,url:e.url,appId:e.resourceId,appName:c.get(e.resourceId)?.name??"",appMeta:c.get(e.resourceId)?.meta,lastError:e.lastError})),n))await (0,r.f)().update(s.resources).set({meta:a.B`${s.resources.meta} || ${JSON.stringify({pastDomains:l})}::jsonb`}).where((0,t.u)(s.resources.id,e));for(let t of n){let n=o.filter(e=>e.resourceId===t.id),i=(0,eg.V)({monitors:n.map(p),building:l.has(t.id),dbPaused:u.has(t.id)}),c=n.find(e=>"err"===e.state)??n.find(e=>"warn"===e.state),f={code:c?.lastStatus??null,latencyMs:n.find(e=>"heartbeat"!==e.kind)?.lastLatencyMs??null,dbPaused:u.has(t.id)},w=d.get(t.id);await (0,r.f)().insert(s.snapshots).values({resourceId:t.id,state:i,data:f,collectedAt:e,stateSince:e}).onConflictDoUpdate({target:s.snapshots.resourceId,set:{state:i,data:a.B`${s.snapshots.data} || ${JSON.stringify(f)}::jsonb`,collectedAt:e,...w?.state!==i?{stateSince:e}:{}}})}}async function ez(e,t={}){let a={writeLastRun:eS,refreshApps:eP,refreshNetwork:K.x,invalidate:l.f,...t};try{await a.writeLastRun({...e.lastRun,...Object.fromEntries(e.done.map(t=>[t,e.started.toISOString()]))});try{await a.refreshApps(new Date)}catch(t){e.errors.push(`app-snapshots: ${(0,ey.f)(t)}`)}if(e.done.some(e=>K.p.includes(e)))try{await a.refreshNetwork(new Date)}catch(t){e.errors.push(`network-states: ${(0,ey.f)(t)}`)}}finally{a.invalidate((0,u.o)(e.tried??e.done))}}async function eB(e,t,a,r={evaluate:d.$,deliver:h.q,digest:h.J}){let n=[];if(e.includes("alerts"))if(Date.now()>t)a.push("alerts: skipped, time budget used");else{let e=!0;try{await r.evaluate(new Date),console.info("collector alerts evaluated")}catch(t){e=!1,a.push(`alerts: ${(0,ey.f)(t)}`)}try{await r.deliver(new Date,t),console.info("collector notifications delivered")}catch(t){e=!1,a.push(`notify: ${(0,ey.f)(t)}`)}e&&n.push("alerts")}if(e.includes("digest")&&(0,Y.z)("digest",t,Date.now()))try{await r.digest(new Date),console.info("collector digest done"),n.push("digest")}catch(e){a.push(`digest: ${(0,ey.f)(e)}`)}return n}async function e_(e,t,a,r){let n=[],s=[];for(let i of e){if(Date.now()>t){a.push(`${i}: skipped, time budget used`);continue}if((0,Y.z)(i,t,Date.now())){s.push(i);try{await r(i),n.push(i)}catch(e){a.push(`${i}: ${(0,ey.f)(e)}`)}}}return{done:n,tried:s}}async function eU(e){let a,i=new Date,o=await q(i);if(!o)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[a]=await (0,r.f)().insert(s.collectorRuns).values({startedAt:i,trigger:"builtin"===e?"manual":e}).returning({id:s.collectorRuns.id})}catch(e){throw await G(o).catch(()=>void 0),e}let l=[],u=[],d=0,f=i.getTime()+Y.p,p=process.cpuUsage(),w=()=>{let e=process.cpuUsage(p);return Math.round((e.user+e.system)/1e3)},h=e=>console.info(`collector ${e} +${Date.now()-i.getTime()}ms cpu ${w()}ms`);try{h("start");let{lastRun:t,afterDeploy:a}=await eA(),r="cron_job_org"!==e&&"builtin"!==e,n=await (0,g.I)(),{due:s,early:o}=(0,Y._)((0,Y.S)(t,i,r,n),(0,k.Y)(a),n),p=!1,w=e=>o||!p?e.filter(e=>"security"!==e):e,y=s.filter(e=>Y.u.includes(e)),I=y.includes("alerts")?f-Y.X:f,$=await eE(s,l);h(`due ${s.join(",")}`);let{done:D,tried:x}=await e_(s.filter(e=>!Y.u.includes(e)),I,l,async e=>{if(h(`task ${e}`),"heartbeats"===e){let e=new Date;d+=await (0,c.r)(e,(t,a)=>null!==(0,A.x)($,{monitorId:t,appId:a},e),r)}"checks"===e&&(d+=await eD(new Date,I,l,r,$)),"vercel"===e&&await eT(new Date,I,l,(0,S.Y)(a));let t=eI[e];t&&await t({now:new Date,deadline:I,errors:l,protectOnly:(0,Y.$)(e,n)}),"cloudflare"===e&&await (0,K.h)(new Date,I,l),"domains"===e&&await (0,K.H)(new Date,I,l),"tls"===e&&await (0,K.V)(new Date,I,l),"rdap"===e&&await (0,K.W)(new Date,I,l),"eol"===e&&await (0,K.i)(new Date,I,l),"node"===e&&(await eu(new Date,I,l),await ew(new Date,I,l)),"status"===e&&await (0,v.i)(new Date),"logs"===e&&await (0,m._)(new Date,I,l),"pageviews"===e&&await (0,b.f)(new Date,I,l),"security"===e&&(p=(await (0,k.U)({now:i,deadline:I,errors:l,paused:n,early:o})).complete)});u.push(...D),h("main done"),await ez({lastRun:t,done:w(u),tried:x,started:i,errors:l}),h("settled");let E=await eB(y,f,l);h("post done"),E.length&&await eS({...t,...Object.fromEntries(w([...u,...E]).map(e=>[e,i.toISOString()]))}),u.push(...E)}catch(e){l.push(`run: ${(0,ey.f)(e)}`)}finally{let e=Date.now()-i.getTime();await (0,r.f)().update(s.collectorRuns).set({finishedAt:new Date,ok:0===l.length,errorSummary:l.join("\n").slice(0,2e3)||null,durationMs:e,tasks:u,checks:d}).where((0,t.u)(s.collectorRuns.id,a.id)).catch(()=>void 0),await G(o).catch(()=>void 0),process.env.VERCEL&&await (0,n.f)(w())}return{skipped:!1,ok:0===l.length,tasks:u,checks:d,durationMs:Date.now()-i.getTime(),errors:l}}e.s(["f",0,eU],956846)},703352,948736,873354,655060,e=>{var t=e.i(875225),a=e.i(518899),r=e.i(924924),n=e.i(618916),s=e.i(502240);async function i(e,o,l=new Map){if(!e.length)return 0;let u=await (0,r.f)().select({app:n.deployments.resourceId,id:n.deployments.externalId,source:n.deployments.source,branch:n.deployments.branch,sha:n.deployments.commitSha}).from(n.deployments).where((0,t.b)((0,t.y)(n.deployments.resourceId,e.map(e=>e.id)),(0,t.u)(n.deployments.isCurrent,!0))),d=0;for(let i of e){let e,c=u.find(e=>e.app===i.id);if(!c)continue;let f=(0,s.O)(i.meta?.productionSource),p=l.get(c.id),w={source:c.source??null,branch:c.branch??null,sha:c.sha??null};if(!(e=p?(0,s.s)({...w,branchFrom:p.branchFrom??null,gitDirty:!0===p.gitDirty}):f?.id===c.id?{kind:f.kind,...f.ref?{ref:f.ref}:{},...f.sha?{sha:f.sha}:{}}:"git"===w.source||"cli"===w.source?(0,s.s)(w):null)){if(f?.at&&f.id!==c.id){let e={...f};delete e.at,await (0,r.f)().update(n.resources).set({meta:a.B`${n.resources.meta} || ${JSON.stringify({productionSource:e})}::jsonb`}).where((0,t.u)(n.resources.id,i.id)),d++}continue}e={...e,id:c.id};let m=!!f?.at&&o.getTime()-Date.parse(f.at)<s.u;if((0,s.v)(f,e)&&m)continue;let h={...e,at:o.toISOString()};await (0,r.f)().update(n.resources).set({meta:a.B`${n.resources.meta} || ${JSON.stringify({productionSource:h})}::jsonb`}).where((0,t.u)(n.resources.id,i.id)),d++}return d}e.s(["f",0,i],703352);var o=e.i(442473),l=e.i(381725),u=e.i(767512),d=e.i(971724),c=e.i(206033),f=e.i(455744),p=e.i(469755),w=e.i(105954),m=e.i(857897);let h=/not enabled/i,g=(e,t,a={})=>({ok:!1,kind:e,error:t,...a}),y="Vercel Web Analytics answered in a format the console doesn't recognise.",b=d.z.object({data:d.z.object({pageviews:c.z.number().finite().nonnegative(),visitors:c.z.number().finite().nonnegative()})}),k=d.z.object({data:f.z.array(p.z.unknown())}),v=d.z.object({timestamp:w.z.string().transform((e,t)=>{let a=Date.parse(e);return Number.isNaN(a)?(t.addIssue({code:"custom",message:"bad timestamp"}),m.z.NEVER):a}),pageviews:c.z.number().finite().nonnegative().nullish().catch(null)});async function I(e,t,a,r){let n=r.since.toISOString(),s=r.until.toISOString(),i=r.fetch??fetch,l=new AbortController,u=setTimeout(()=>l.abort(new DOMException("window","TimeoutError")),r.timeoutMs??8e3),d=r.signal?AbortSignal.any([l.signal,r.signal]):l.signal,c=(0,o.X)(d);async function f(o,u){let f=new URLSearchParams({projectId:a,teamId:t,...u,since:n,until:s});try{let t=await Promise.race([i(`https://api.vercel.com/v1/query/web-analytics/visits/${o}?${f}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:d,cache:"no-store"}),c]),a=null,r=!1;if(401===t.status||403===t.status)a=g("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));a=g("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60})}else if(400===t.status){let e=await Promise.race([t.text(),c]).catch(()=>"");h.test(e)?r=!0:a=g("transient","Vercel Web Analytics rejected the request (400).",{status:400})}else t.ok||(a=g("transient",`Vercel Web Analytics returned an error (${t.status}).`,{status:t.status}));if(r)return{kind:"off"};if(a)return await t.body?.cancel().catch(()=>void 0),{kind:"fail",fail:a};try{return{kind:"body",body:await Promise.race([t.json(),c])}}catch(e){if(d.aborted)throw e;return{kind:"fail",fail:g("format",y)}}}catch{return{kind:"fail",fail:d.aborted?l.signal.aborted&&!r.signal?.aborted?g("transient","Vercel Web Analytics didn't answer in time."):g("transient","Reading Vercel Web Analytics was cancelled."):g("transient","Couldn't reach Vercel Web Analytics.")}}}try{let[e,t]=await Promise.all([f("count",{}),f("aggregate",{by:"hour"})]);if("off"===e.kind||"off"===t.kind)return{ok:!0,enabled:!1};let a=[e,t].flatMap(e=>"fail"===e.kind?[e.fail]:[]),r=a.find(e=>"auth"===e.kind);if(r)return r;let n="body"===t.kind?k.safeParse(t.body):null,s="fail"===t.kind?t.fail:n?.success?null:g("format",y),i=a.find(e=>"transient"===e.kind);if(i)return i;if(s)return s;if(!n?.success)return g("format",y);let o="body"===e.kind?b.safeParse(e.body):null,l=n.data.data.flatMap(e=>{let t=v.safeParse(e);return t.success?[t.data]:[]});if(l.length>0&&l.every(e=>null==e.pageviews))return g("format",y);let u=new Map;for(let e of l){let t=36e5*Math.floor(e.timestamp/36e5);u.set(t,(u.get(t)??0)+(e.pageviews??0))}let d=[...u].sort((e,t)=>e[0]-t[0]).slice(-24).map(([e,t])=>({at:new Date(e),views:t}));if(o?.success)return{ok:!0,enabled:!0,total:o.data.data.pageviews,visitors:o.data.data.visitors,hourly:d};return{ok:!0,enabled:!0,total:d.reduce((e,t)=>e+t.views,0),visitors:null,hourly:d}}finally{clearTimeout(u),l.abort()}}var A=e.i(943816);async function S(e,t,a){let r=await (0,l.g)(null);if(!r.length)return;let n=new Date(36e5*Math.floor(e.getTime()/36e5)-828e5);await (0,o.P)(r,3,async r=>{if(Date.now()+8500>t)return;let s=await I(r.token,r.teamId,r.projectId,{since:n,until:e});if(!s.ok)return void a.push(`pageviews/${r.appName}: ${s.error}`);try{await (0,u.r)(r.appId,{pageviews:(0,A.Z)(s,e)},e)}catch{a.push(`pageviews/${r.appName}: couldn't save the page views`)}})}e.s(["f",0,S],948736);var $=e.i(422067),D=e.i(433609),x=e.i(800523),E=e.i(479301);let j="security.afterDeploy",M=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),O=e=>"string"==typeof e&&e.length>0&&e.length<=100;function N(e){let t={pending:{},checked:{}};if(!M(e))return t;if(M(e.pending))for(let[a,r]of Object.entries(e.pending)){if(!(0,E.f)(a)||!M(r)||!O(r.id)||"string"!=typeof r.at||Number.isNaN(Date.parse(r.at)))continue;let e="number"==typeof r.attempts&&Number.isInteger(r.attempts)&&r.attempts>=0?Math.min(r.attempts,3):0;t.pending[a]={id:r.id,at:r.at,attempts:e,...!0===r.next?{next:!0}:{},...!0===r.deps?{deps:!0}:{}}}if(M(e.checked))for(let[a,r]of Object.entries(e.checked))(0,E.f)(a)&&O(r)&&(t.checked[a]=r);return t}let R=e=>Object.keys(e.pending).length>0;function C(e,t,a){let r={pending:{...e.pending},checked:{...e.checked}},n=!1;for(let e of t)(0,E.f)(e.appId)&&O(e.deploymentId)&&r.checked[e.appId]!==e.deploymentId&&r.pending[e.appId]?.id!==e.deploymentId&&(r.pending[e.appId]={id:e.deploymentId,at:a.toISOString(),attempts:0},n=!0);return{state:r,changed:n}}function T(e,t){let a,r={...e.pending},n={...e.checked};for(let e of t){let t=r[e];t&&(delete r[e],delete n[e],n[e]=t.id)}return{pending:r,checked:(a=Object.entries(n)).length<=500?n:Object.fromEntries(a.slice(a.length-500))}}function P(e,t){let a=Object.entries(e.pending).filter(([,e])=>t.getTime()-Date.parse(e.at)>216e5).map(([e])=>e);return a.length?T(e,a):e}let z=(e,t)=>Object.entries(e.pending).filter(([,e])=>!e[t]).map(([e])=>e);function B(e,t){let a={},r=[];for(let[n,s]of Object.entries(e.pending)){let e={...s};t.hosting&&!e.next&&(t.nextDone?.has(n)?e.next=!0:t.nextStarted?.has(n)&&(e.attempts=Math.min(e.attempts+1,3))),t.devops&&!e.deps&&t.depsDone?.has(n)&&(e.deps=!0),a[n]=e,((e.next||!t.hosting)&&(e.deps||!t.devops)||e.attempts>=3)&&r.push(n)}return T({pending:a,checked:e.checked},r)}e.s(["Z",0,j,"X",0,function(e){var t,a;let r=e.currentId;return r&&e.state.checked[e.appId]!==r&&e.state.pending[e.appId]?.id!==r&&(t=e.changedIds,((a=r)&&t.includes(a)?a:null)||e.createdAt&&e.now.getTime()-e.createdAt.getTime()<=216e5)?r:null},"a",0,P,"A",0,R,"B",0,C,"p",0,z,"Y",0,N,"E",0,B],873354);var _=e.i(970465);let U="security.slot",W=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e&&e.length>0&&e.length<=100).slice(0,1e3):[],F=(e,t)=>[...new Set([...e,...t])].slice(0,1e3),V=e=>async()=>{let[a]=await (0,r.f)().select({value:n.settings.value}).from(n.settings).where((0,t.u)(n.settings.key,e)).limit(1);return a?.value??null},L=e=>async t=>{await (0,r.f)().insert(n.settings).values({key:e,value:t}).onConflictDoUpdate({target:n.settings.key,set:{value:t,updatedAt:new Date}})},J={read:V(j),write:L(j),readSlot:V(U),writeSlot:L(U),nextCheck:x.h,depsStep:(e,t)=>(0,D.O)(e,t)};async function Y(e,t=J){let a=N(await t.read()),r=P(a,e.now),n=!e.paused.has("hosting"),s=!e.paused.has("devops"),i=n?z(r,"next"):[],o=s?z(r,"deps"):[],l=e.early?null:function(e,t){let a=e&&"object"==typeof e&&!Array.isArray(e)?e:{};if(a.slot!==t)return{slot:t,runs:0,next:[],repos:[],cut:{},nextDone:!1,depsDone:!1};let r="number"==typeof a.runs&&Number.isInteger(a.runs)&&a.runs>=0?a.runs:0,n={};if(a.cut&&"object"==typeof a.cut&&!Array.isArray(a.cut))for(let[e,t]of Object.entries(a.cut).slice(0,1e3))e.length<=100&&"number"==typeof t&&Number.isInteger(t)&&t>0&&(n[e]=Math.min(t,2));return{slot:t,runs:r,next:W(a.next),repos:W(a.repos),cut:n,nextDone:!0===a.nextDone,depsDone:!0===a.depsDone}}(await t.readSlot(),new Date((0,$.G)("security",e.now)).toISOString()),u=!!l&&n&&!l.nextDone,d=!!l&&s&&!l.depsDone,c=n&&(i.length>0||u),f=s&&(o.length>0||d),p={hosting:n,devops:s,nextDone:new Set,nextStarted:new Set,depsDone:new Set},w=async()=>{let a=Math.min(Date.now()+_.y,!l&&f?e.deadline-2*D.d:e.deadline),r=u?[...l.next,...Object.entries(l.cut).filter(([,e])=>e>=2).map(([e])=>e)]:[],n=u?{first:i,skip:[...new Set(r)].filter(e=>!i.includes(e))}:{only:i},s=await t.nextCheck(a,n);for(let t of s.failed)e.errors.push(`security ${t}`);for(let e of s.done)p.nextDone.add(e);for(let e of i)s.listed.includes(e)||p.nextDone.add(e);for(let e of s.started)p.nextStarted.add(e);if(u){let e=new Set(s.done);for(let t of(l.next=F(l.next,s.done),s.started))e.has(t)||(l.cut[t]=Math.min((l.cut[t]??0)+1,2));l.nextDone=s.listed.every(t=>e.has(t)||(l.cut[t]??0)>=2)}},m=async()=>{let a=await t.depsStep(Math.min(Date.now()+D.o,e.deadline),d?{marked:o,onlyMarked:!1,skip:l.repos}:{marked:o,onlyMarked:!0});for(let t of(a.problem&&e.errors.push(`security deps: ${a.problem}`),a.settled))p.depsDone.add(t);d&&(l.repos=F(l.repos,a.done),l.depsDone=a.complete)};try{l&&l.runs++,l?(f&&await m(),c&&await w()):(c&&await w(),f&&await m())}finally{let e=null;if(l)try{await t.writeSlot(l)}catch(t){e=t}try{let e=B(r,p);JSON.stringify(e)!==JSON.stringify(a)&&await t.write(e)}catch(t){e??=t}if(e)throw e}return{complete:!l||(l.nextDone||!n)&&(l.depsDone||!s)||l.runs>=20}}async function q(e,t,a=J){if(!e.length)return!1;let{state:r,changed:n}=C(N(await a.read()),e,t);return n&&await a.write(r),n}e.s(["m",0,q,"Y",0,e=>R(N(e)),"U",0,Y],655060)}]})();
|
|
7
|
+
where key = 'collector.lease' and value->>'owner' = ${e}`)}var K=e.i(679270);let Z=/^v?(\d{1,9})\.(\d{1,9})\.(\d{1,9})(?:-([0-9A-Za-z.-]{1,64}))?(?:\+[0-9A-Za-z.-]{1,64})?$/,H=/^\d{4}-\d{2}-\d{2}$/;function X(e){let t="string"==typeof e?Z.exec(e.trim()):null;if(!t)return null;let[a,r,n]=[t[1],t[2],t[3]].map(Number);return{major:a,minor:r,patch:n,pre:t[4]??null,text:`${a}.${r}.${n}${t[4]?`-${t[4]}`:""}`}}function Q(e,t){return e.major!==t.major?e.major-t.major:e.minor!==t.minor?e.minor-t.minor:e.patch!==t.patch?e.patch-t.patch:e.pre===t.pre?0:null===e.pre?1:null===t.pre||e.pre<t.pre?-1:1}function ee(e){let t=(e&&"object"==typeof e?e:null)?.result?.releases;if(!Array.isArray(t)||0===t.length)return null;let a=[];for(let e of t){if(!e||"object"!=typeof e||"string"!=typeof e.name||"boolean"!=typeof e.isEol||null!=e.eolFrom&&("string"!=typeof e.eolFrom||!H.test(e.eolFrom)))return null;a.push({name:e.name,isEol:e.isEol,eolFrom:e.eolFrom??null})}return a}var et=e.i(583521);let ea="runtime.node";function er(e=process.env){let t=(0,et.N)(e,"NO_UPDATE_CHECK"),a=t?.value.trim()??"";return{off:""!==a&&!/^(0|false|no|off)$/i.test(a),name:t?.name??"WATCHBELL_NO_UPDATE_CHECK"}}async function en(e,t,a,r){let n;try{n=await a(e,{method:"GET",headers:{Accept:"application/json","Accept-Encoding":"gzip"},signal:AbortSignal.timeout(r),cache:"no-store"})}catch{return{ok:!1,error:`Couldn't reach ${t}`}}if(!n.ok)return{ok:!1,error:`${t} returned an error (${n.status})`};try{return{ok:!0,body:await n.json()}}catch{return{ok:!1,error:`${t} answered in a format the console doesn't recognise`}}}async function es(e={}){let t=e.fetch??fetch,a=e.timeoutMs??8e3,[r,n]=await Promise.all([en("https://nodejs.org/dist/index.json","nodejs.org",t,a),en("https://endoflife.date/api/v1/products/nodejs/","endoflife.date",t,a)]),s=r.ok?function(e){if(!Array.isArray(e)||0===e.length)return null;let t=[],a=new Map;for(let r of e){if(!r||"object"!=typeof r||"boolean"!=typeof r.security)return null;let e=X(r.version);if(!e||null!==e.pre||!String(r.version).startsWith("v"))return null;r.security&&t.push(e);let n=a.get(e.major);(!n||Q(e,n)>0)&&a.set(e.major,e)}return t.sort((e,t)=>Q(t,e)),{security:t.map(e=>e.text),latest:Object.fromEntries([...a].sort((e,t)=>t[0]-e[0]).map(([e,t])=>[String(e),t.text]))}}(r.body):null,i=n.ok?ee(n.body):null,o=e=>`${e} answered in a format the console doesn't recognise`;return{index:s,indexError:r.ok?s?null:o("nodejs.org"):r.error,cycles:i,cyclesError:n.ok?i?null:o("endoflife.date"):n.error}}let ei=e=>"string"==typeof e&&Number.isFinite(Date.parse(e))?e:null,eo=e=>"string"==typeof e?e:null;async function el(){var e;let[a]=await (0,r.f)().select({value:s.settings.value}).from(s.settings).where((0,t.u)(s.settings.key,ea)).limit(1);return a?(e=a.value)&&"object"==typeof e?{index:function(e){let t=e&&"object"==typeof e?e:null;if(!t||!Array.isArray(t.security)||!t.latest||"object"!=typeof t.latest)return null;let a=t.security.map(X),r=Object.entries(t.latest).map(([e,t])=>[e,X(t)]);return a.some(e=>!e)||r.some(([e,t])=>!t||String(t.major)!==e)?null:{security:a.map(e=>e.text),latest:Object.fromEntries(r.map(([e,t])=>[e,t.text]))}}(e.index),indexCheckedAt:ei(e.indexCheckedAt),indexError:eo(e.indexError),cycles:ee({result:{releases:e.cycles}}),cyclesCheckedAt:ei(e.cyclesCheckedAt),cyclesError:eo(e.cyclesError)}:null:null}async function eu(e,t,a,n=process.env){let i;if(er(n).off)return;let o=t-Date.now();if(o<1e3)throw Error("skipped, time budget used");let l=await es({timeoutMs:Math.min(8e3,o)}),u=await el();l.indexError&&a.push(`node: ${l.indexError}`),l.cyclesError&&a.push(`node: ${l.cyclesError}`);let d=(i=e.toISOString(),{index:l.index??u?.index??null,indexCheckedAt:i,indexError:l.indexError,cycles:l.cycles??u?.cycles??null,cyclesCheckedAt:i,cyclesError:l.cyclesError});await (0,r.f)().insert(s.settings).values({key:ea,value:d}).onConflictDoUpdate({target:s.settings.key,set:{value:d,updatedAt:e}})}var ed=e.i(77193);let ec=/^\d{1,4}\.\d{1,4}\.\d{1,6}$/,ef=e=>"string"==typeof e&&ec.test(e);async function ep(e={}){let t,a=e.fetch??fetch;try{t=await a("https://registry.npmjs.org/watchbell/latest",{method:"GET",headers:{Accept:"application/json","Accept-Encoding":"gzip"},signal:AbortSignal.timeout(e.timeoutMs??6e3),cache:"no-store"})}catch{return{ok:!1,error:"Couldn't reach registry.npmjs.org"}}if(!t.ok)return{ok:!1,error:`registry.npmjs.org returned an error (${t.status})`};try{let e=await t.json();return ef(e.version)?{ok:!0,version:e.version}:{ok:!1,error:"registry.npmjs.org answered without a version"}}catch{return{ok:!1,error:"registry.npmjs.org answered in a format the console doesn't recognise"}}}async function ew(e,t,a,n=process.env,i){let o=function(e=process.env,t="1.7.0"){let a=e.WATCHBELL_VERSION?.trim();if(ef(a))return a;let r=t?.trim();return ef(r)?r:null}(n);if(!o||"selfhost"!==(0,ed.c)(n)||er(n).off)return;let l=t-Date.now();if(l<1e3)return;let u=await ep({fetch:i,timeoutMs:Math.min(6e3,l)});if(u.ok){let t={version:u.version,checkedAt:e.toISOString()};await (0,r.f)().insert(s.settings).values({key:"watchbell.latest",value:t}).onConflictDoUpdate({target:s.settings.key,set:{value:t,updatedAt:e}})}else a.push(`update check: ${u.error}`);await (0,r.f)().insert(s.settings).values({key:"watchbell.seenVersion",value:{version:o}}).onConflictDoNothing({target:s.settings.key})}var em=e.i(515743),eh=e.i(336030),eg=e.i(905685),ey=e.i(751762);e.i(794713);let eb="collector.lastRun",ek="vercel.backoffUntil",ev="vercel.currentMiss",eI={supabase:x.N,supabaseUsage:x.y,neon:x.h,firebase:x.g,firebaseUsage:x.x,extraDbs:C};async function eA(){let e=await (0,r.f)().select({key:s.settings.key,value:s.settings.value}).from(s.settings).where((0,t.y)(s.settings.key,[eb,S.Z])).limit(2);return{lastRun:e.find(e=>e.key===eb)?.value??{},afterDeploy:e.find(e=>e.key===S.Z)?.value??null}}async function eS(e){await (0,r.f)().insert(s.settings).values({key:eb,value:e}).onConflictDoUpdate({target:s.settings.key,set:{value:e,updatedAt:new Date}})}let e$=e=>(0,p.f)(e);async function eD(e,n,i,o,l=[]){let u=(await (0,r.f)().select({m:s.monitors,app:s.resources}).from(s.monitors).innerJoin(s.resources,(0,t.u)(s.resources.id,s.monitors.resourceId)).where((0,t.b)((0,t.u)(s.monitors.kind,"http"),(0,t.u)(s.monitors.paused,!1),(0,t.u)(s.monitors.ownerPaused,!1),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt))).orderBy(a.B`${s.monitors.lastCheckedAt} asc nulls first`,s.monitors.id)).filter(({m:t})=>(0,Y.B)(t.lastCheckedAt,e,o));if(!u.length)return 0;let d=await (0,V.P)(u,6,({m:e})=>{let t=(0,Y.P)(e.timeoutMs,n,Date.now());return null===t?Promise.resolve(null):(0,V.b)(e.url,{expectedStatus:e.expectedStatus,timeoutMs:t,body:(0,em.C)(e)})}),c=u.flatMap((e,t)=>d[t]?[{...e,r:d[t]}]:[]);if(c.length<u.length&&i.push(`checks: ${u.length-c.length} monitors skipped, time budget used`),!c.length)return 0;let f=[];for(let t of c)await (0,eh.j)(t.m,t.r,e)&&f.push(t);return f.length?(await (0,r.f)().insert(s.checks).values(f.map(({m:t,app:a,r})=>({monitorId:t.id,at:e,ok:r.ok,statusCode:r.statusCode,latencyMs:r.latencyMs,error:r.error,inMaintenance:null!==(0,A.x)(l,{monitorId:t.id,appId:a.id},e)}))),await e$(f.map(({m:t,app:a,r})=>(0,eg.F)({resourceId:a.id,path:(0,D.K)(t.url),prev:t.state,next:(0,eg.G)(t.failStreak,r).state,code:r.statusCode,error:r.error,at:e}))),f.length):0}let ex=["checks","heartbeats"];async function eE(e,t,a=f.f){if(!ex.some(t=>e.includes(t)))return[];try{return await a()}catch(e){return t.push(`maintenance: ${(0,ey.f)(e)}`),[]}}async function ej(e){let[a]=await (0,r.f)().select().from(s.settings).where((0,t.u)(s.settings.key,ek)).limit(1),n=a?.value?.until;return!!n&&e.getTime()<new Date(n).getTime()}async function eM(e,t){if("transient"!==e.kind||!e.retryAfterS)return!1;let a={until:new Date(t.getTime()+1e3*Math.min(e.retryAfterS,3600)).toISOString()};return await (0,r.f)().insert(s.settings).values({key:ek,value:a}).onConflictDoUpdate({target:s.settings.key,set:{value:a,updatedAt:t}}),!0}let eO=e=>a.B`coalesce(${s.deployments.externalId} = ${e}::text, false)`;async function eN(e,n,i,o,l=k.m){let u=[];try{for(let l of e){let e=n.filter(e=>e.resourceId===l.id),{currentId:d,previousId:c}=(0,D.a)(e.map(e=>({id:e.id,createdAt:e.createdAt??new Date(0)})),(l.externalId?i.get(l.externalId):null)??null),f=await (0,r.f)().update(s.deployments).set({isCurrent:eO(d),isPreviousProduction:eO(c),updatedAt:o.now}).where((0,t.b)((0,t.u)(s.deployments.resourceId,l.id),(0,t.F)(a.B`${s.deployments.isCurrent} is distinct from ${eO(d)}`,a.B`${s.deployments.isPreviousProduction} is distinct from ${eO(c)}`))).returning({id:s.deployments.externalId}),p=(0,S.X)({appId:l.id,currentId:d,changedIds:f.map(e=>e.id),createdAt:e.find(e=>e.id===d)?.createdAt??null,state:o.afterDeploy,now:o.now});p&&u.push({appId:l.id,deploymentId:p})}}finally{if(u.length)try{await l(u,o.now)}catch(e){o.errors.push(`vercel/${o.label}: after-deploy security check not scheduled: ${(0,ey.f)(e)}`)}}}let eR=e=>new Map(e.map(e=>[e.id,{...e.branchFrom?{branchFrom:e.branchFrom}:{},...e.gitDirty?{gitDirty:!0}:{}}]));async function eC(e,t,a,r,n=new Map,s=y.f){try{await s(e,t,n)}catch(e){a.push(`vercel/${r}: production source not saved: ${(0,ey.f)(e)}`)}}async function eT(e,a,n,i){if(await ej(e))return;let l=(0,I.f)().OPS_ENCRYPTION_KEY;for(let u of(await (0,r.f)().select().from(s.accounts).where((0,t.b)((0,t.u)(s.accounts.provider,"vercel"),(0,t.u)(s.accounts.status,"ok"))))){let d=(0,w.V)({ciphertext:u.credentialCiphertext,iv:u.credentialIv},l);if((0,o.A)(d)||!d){n.push(`vercel/${u.label}: credential can't be read`);continue}let c=await (0,r.f)().select().from(s.resources).where((0,t.b)((0,t.u)(s.resources.accountId,u.id),(0,t.u)(s.resources.kind,"app"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt)));if(!c.length)continue;let f=new Map(c.map(e=>[e.externalId,e])),p=await (0,$.X)(d);if(!p.ok){let a=(0,o.E)({ok:!1,kind:p.kind,error:p.error});if(a&&await (0,r.f)().update(s.accounts).set({...a,updatedAt:e}).where((0,t.u)(s.accounts.id,u.id)),n.push(`vercel/${u.label}: ${p.error}`),await eM(p,e))return;continue}let m=new Set(c.map(e=>String(e.meta.teamId)));for(let o of p.data.filter(e=>m.has(e.id))){if(Date.now()>a)return void n.push("vercel: skipped remaining teams, time budget used");let[l,u]=await Promise.all([(0,$.W)(d,o),(0,$.K)(d,o,{since:e.getTime()-6048e5,limit:100})]);if(!l.ok||!u.ok){let t=l.ok?u:l;if(n.push(`vercel/${o.name}: ${t.error}`),await eM(t,e))return;continue}let p=new Map(l.data.map(e=>[e.id,e.currentDeploymentId])),w=u.data.filter(e=>f.has(e.projectId)),m=eR(w),h=new Map((w.length?await (0,r.f)().select({externalId:s.deployments.externalId,state:s.deployments.state,target:s.deployments.target,branch:s.deployments.branch,commitSha:s.deployments.commitSha,commitMessage:s.deployments.commitMessage,source:s.deployments.source,url:s.deployments.url,buildingAt:s.deployments.buildingAt,readyAt:s.deployments.readyAt}).from(s.deployments).where((0,t.y)(s.deployments.externalId,w.map(e=>e.id))):[]).map(e=>[e.externalId,e])),g=[];for(let t of w){let a=f.get(t.projectId),n=h.get(t.id),i={state:t.state,target:t.target,branch:t.branch,commitSha:t.sha,commitMessage:t.message,source:t.source,url:t.url,buildingAt:t.buildingAt,readyAt:t.readyAt};if((0,D.E)(n,i)){let n={resourceId:a.id,externalId:t.id,...i,createdAtProvider:t.createdAt,updatedAt:e};await (0,r.f)().insert(s.deployments).values(n).onConflictDoUpdate({target:s.deployments.externalId,set:n})}g.push((0,eg.L)(n?.state,t,a.id,e))}await e$(g);let y=c.filter(e=>String(e.meta.teamId)===o.id),b=await (0,r.f)().select({resourceId:s.deployments.resourceId,id:s.deployments.externalId,createdAt:s.deployments.createdAtProvider}).from(s.deployments).where((0,t.b)((0,t.y)(s.deployments.resourceId,y.map(e=>e.id)),(0,t.u)(s.deployments.target,"production"),(0,t.u)(s.deployments.state,"ready"))),[k]=await (0,r.f)().select().from(s.settings).where((0,t.u)(s.settings.key,ev)).limit(1),v=[],I=()=>v.length?(0,r.f)().insert(s.settings).values({key:ev,value:(0,D.Y)(k?.value,v,e)}).onConflictDoUpdate({target:s.settings.key,set:{value:(0,D.Y)(k?.value,v,e),updatedAt:e}}):Promise.resolve();for(let t of(0,D.Q)(y,p,b,(0,D.S)(k?.value,e))){if(Date.now()>a)break;let i=await (0,$.S)(d,o,t.deploymentId);if(!i.ok){if(n.push(`vercel/${o.name}: current deployment: ${i.error}`),await eM(i,e))return void await I();v.push(t.deploymentId);continue}let l=i.data;for(let[e,t]of eR([l]))m.set(e,t);let u={resourceId:t.appId,externalId:l.id,state:l.state,target:l.target,branch:l.branch,commitSha:l.sha,commitMessage:l.message,source:l.source,url:l.url,buildingAt:l.buildingAt,readyAt:l.readyAt,createdAtProvider:l.createdAt,updatedAt:e};await (0,r.f)().insert(s.deployments).values(u).onConflictDoUpdate({target:s.deployments.externalId,set:u}),"ready"===l.state&&"production"===l.target?b.push({resourceId:t.appId,id:l.id,createdAt:l.createdAt}):v.push(t.deploymentId)}await I(),await eN(y,b,p,{now:e,afterDeploy:i,errors:n,label:o.name}),await eC(y,e,n,o.name,m)}}}async function eP(e){let n=await (0,r.f)().select().from(s.resources).where((0,t.b)((0,t.u)(s.resources.kind,"app"),(0,t.u)(s.resources.monitored,!0),(0,t.M)(s.resources.goneAt)));if(!n.length)return;let o=await (0,r.f)().select().from(s.monitors).where((0,t.b)((0,t.y)(s.monitors.resourceId,n.map(e=>e.id)),(0,t.u)(s.monitors.paused,!1),(0,t.u)(s.monitors.ownerPaused,!1))),l=new Set((await (0,r.f)().select({r:s.deployments.resourceId}).from(s.deployments).where((0,t.b)((0,t.y)(s.deployments.resourceId,n.map(e=>e.id)),(0,t.u)(s.deployments.target,"production"),(0,t.u)(s.deployments.state,"building"),(0,t.B)(s.deployments.createdAtProvider,new Date(e.getTime()-36e5))))).map(e=>e.r)),u=await (0,x.q)(n.map(e=>e.id)),d=new Map((await (0,r.f)().select().from(s.snapshots).where((0,t.y)(s.snapshots.resourceId,n.map(e=>e.id)))).map(e=>[e.resourceId,e])),c=new Map(n.map(e=>[e.id,e])),f=(0,i.P)(o.map(e=>({id:e.id,kind:e.kind,url:e.url,appId:e.resourceId,appName:c.get(e.resourceId)?.name??"",appMeta:c.get(e.resourceId)?.meta,lastError:e.lastError})),n),p=e=>f.has(e.id)&&"err"===e.state?"warn":e.state;for(let[e,l]of(0,i.R)(o.map(e=>({id:e.id,kind:e.kind,url:e.url,appId:e.resourceId,appName:c.get(e.resourceId)?.name??"",appMeta:c.get(e.resourceId)?.meta,lastError:e.lastError})),n))await (0,r.f)().update(s.resources).set({meta:a.B`${s.resources.meta} || ${JSON.stringify({pastDomains:l})}::jsonb`}).where((0,t.u)(s.resources.id,e));for(let t of n){let n=o.filter(e=>e.resourceId===t.id),i=(0,eg.V)({monitors:n.map(p),building:l.has(t.id),dbPaused:u.has(t.id)}),c=n.find(e=>"err"===e.state)??n.find(e=>"warn"===e.state),f={code:c?.lastStatus??null,latencyMs:n.find(e=>"heartbeat"!==e.kind)?.lastLatencyMs??null,dbPaused:u.has(t.id)},w=d.get(t.id);await (0,r.f)().insert(s.snapshots).values({resourceId:t.id,state:i,data:f,collectedAt:e,stateSince:e}).onConflictDoUpdate({target:s.snapshots.resourceId,set:{state:i,data:a.B`${s.snapshots.data} || ${JSON.stringify(f)}::jsonb`,collectedAt:e,...w?.state!==i?{stateSince:e}:{}}})}}async function ez(e,t={}){let a={writeLastRun:eS,refreshApps:eP,refreshNetwork:K.x,invalidate:l.f,...t};try{await a.writeLastRun({...e.lastRun,...Object.fromEntries(e.done.map(t=>[t,e.started.toISOString()]))});try{await a.refreshApps(new Date)}catch(t){e.errors.push(`app-snapshots: ${(0,ey.f)(t)}`)}if(e.done.some(e=>K.p.includes(e)))try{await a.refreshNetwork(new Date)}catch(t){e.errors.push(`network-states: ${(0,ey.f)(t)}`)}}finally{a.invalidate((0,u.o)(e.tried??e.done))}}async function eB(e,t,a,r={evaluate:d.$,deliver:h.q,digest:h.J}){let n=[];if(e.includes("alerts"))if(Date.now()>t)a.push("alerts: skipped, time budget used");else{let e=!0;try{await r.evaluate(new Date),console.info("collector alerts evaluated")}catch(t){e=!1,a.push(`alerts: ${(0,ey.f)(t)}`)}try{await r.deliver(new Date,t),console.info("collector notifications delivered")}catch(t){e=!1,a.push(`notify: ${(0,ey.f)(t)}`)}e&&n.push("alerts")}if(e.includes("digest")&&(0,Y.z)("digest",t,Date.now()))try{await r.digest(new Date),console.info("collector digest done"),n.push("digest")}catch(e){a.push(`digest: ${(0,ey.f)(e)}`)}return n}async function e_(e,t,a,r){let n=[],s=[];for(let i of e){if(Date.now()>t){a.push(`${i}: skipped, time budget used`);continue}if((0,Y.z)(i,t,Date.now())){s.push(i);try{await r(i),n.push(i)}catch(e){a.push(`${i}: ${(0,ey.f)(e)}`)}}}return{done:n,tried:s}}async function eU(e){let a,i=new Date,o=await q(i);if(!o)return{skipped:!0,ok:!0,tasks:[],checks:0,durationMs:0,errors:[]};try{[a]=await (0,r.f)().insert(s.collectorRuns).values({startedAt:i,trigger:"builtin"===e?"manual":e}).returning({id:s.collectorRuns.id})}catch(e){throw await G(o).catch(()=>void 0),e}let l=[],u=[],d=0,f=i.getTime()+Y.p,p=process.cpuUsage(),w=()=>{let e=process.cpuUsage(p);return Math.round((e.user+e.system)/1e3)},h=e=>console.info(`collector ${e} +${Date.now()-i.getTime()}ms cpu ${w()}ms`);try{h("start");let{lastRun:t,afterDeploy:a}=await eA(),r="cron_job_org"!==e&&"builtin"!==e,n=await (0,g.I)(),{due:s,early:o}=(0,Y._)((0,Y.S)(t,i,r,n),(0,k.Y)(a),n),p=!1,w=e=>o||!p?e.filter(e=>"security"!==e):e,y=s.filter(e=>Y.u.includes(e)),I=y.includes("alerts")?f-Y.X:f,$=await eE(s,l);h(`due ${s.join(",")}`);let{done:D,tried:x}=await e_(s.filter(e=>!Y.u.includes(e)),I,l,async e=>{if(h(`task ${e}`),"heartbeats"===e){let e=new Date;d+=await (0,c.r)(e,(t,a)=>null!==(0,A.x)($,{monitorId:t,appId:a},e),r)}"checks"===e&&(d+=await eD(new Date,I,l,r,$)),"vercel"===e&&await eT(new Date,I,l,(0,S.Y)(a));let t=eI[e];t&&await t({now:new Date,deadline:I,errors:l,protectOnly:(0,Y.$)(e,n)}),"cloudflare"===e&&await (0,K.h)(new Date,I,l),"domains"===e&&await (0,K.H)(new Date,I,l),"tls"===e&&await (0,K.V)(new Date,I,l),"rdap"===e&&await (0,K.W)(new Date,I,l),"eol"===e&&await (0,K.i)(new Date,I,l),"node"===e&&(await eu(new Date,I,l),await ew(new Date,I,l)),"status"===e&&await (0,v.i)(new Date),"logs"===e&&await (0,m._)(new Date,I,l),"pageviews"===e&&await (0,b.f)(new Date,I,l),"security"===e&&(p=(await (0,k.U)({now:i,deadline:I,errors:l,paused:n,early:o})).complete)});u.push(...D),h("main done"),await ez({lastRun:t,done:w(u),tried:x,started:i,errors:l}),h("settled");let E=await eB(y,f,l);h("post done"),E.length&&await eS({...t,...Object.fromEntries(w([...u,...E]).map(e=>[e,i.toISOString()]))}),u.push(...E)}catch(e){l.push(`run: ${(0,ey.f)(e)}`)}finally{let e=Date.now()-i.getTime();await (0,r.f)().update(s.collectorRuns).set({finishedAt:new Date,ok:0===l.length,errorSummary:l.join("\n").slice(0,2e3)||null,durationMs:e,tasks:u,checks:d}).where((0,t.u)(s.collectorRuns.id,a.id)).catch(()=>void 0),await G(o).catch(()=>void 0),process.env.VERCEL&&await (0,n.f)(w())}return{skipped:!1,ok:0===l.length,tasks:u,checks:d,durationMs:Date.now()-i.getTime(),errors:l}}e.s(["f",0,eU],956846)},703352,948736,873354,655060,e=>{var t=e.i(875225),a=e.i(518899),r=e.i(924924),n=e.i(618916),s=e.i(502240);async function i(e,o,l=new Map){if(!e.length)return 0;let u=await (0,r.f)().select({app:n.deployments.resourceId,id:n.deployments.externalId,source:n.deployments.source,branch:n.deployments.branch,sha:n.deployments.commitSha}).from(n.deployments).where((0,t.b)((0,t.y)(n.deployments.resourceId,e.map(e=>e.id)),(0,t.u)(n.deployments.isCurrent,!0))),d=0;for(let i of e){let e,c=u.find(e=>e.app===i.id);if(!c)continue;let f=(0,s.O)(i.meta?.productionSource),p=l.get(c.id),w={source:c.source??null,branch:c.branch??null,sha:c.sha??null};if(!(e=p?(0,s.s)({...w,branchFrom:p.branchFrom??null,gitDirty:!0===p.gitDirty}):f?.id===c.id?{kind:f.kind,...f.ref?{ref:f.ref}:{},...f.sha?{sha:f.sha}:{}}:"git"===w.source||"cli"===w.source?(0,s.s)(w):null)){if(f?.at&&f.id!==c.id){let e={...f};delete e.at,await (0,r.f)().update(n.resources).set({meta:a.B`${n.resources.meta} || ${JSON.stringify({productionSource:e})}::jsonb`}).where((0,t.u)(n.resources.id,i.id)),d++}continue}e={...e,id:c.id};let m=!!f?.at&&o.getTime()-Date.parse(f.at)<s.u;if((0,s.v)(f,e)&&m)continue;let h={...e,at:o.toISOString()};await (0,r.f)().update(n.resources).set({meta:a.B`${n.resources.meta} || ${JSON.stringify({productionSource:h})}::jsonb`}).where((0,t.u)(n.resources.id,i.id)),d++}return d}e.s(["f",0,i],703352);var o=e.i(442473),l=e.i(381725),u=e.i(767512),d=e.i(971724),c=e.i(206033),f=e.i(455744),p=e.i(469755),w=e.i(105954),m=e.i(857897);let h=/not enabled/i,g=(e,t,a={})=>({ok:!1,kind:e,error:t,...a}),y="Vercel Web Analytics answered in a format the console doesn't recognise.",b=d.z.object({data:d.z.object({pageviews:c.z.number().finite().nonnegative(),visitors:c.z.number().finite().nonnegative()})}),k=d.z.object({data:f.z.array(p.z.unknown())}),v=d.z.object({timestamp:w.z.string().transform((e,t)=>{let a=Date.parse(e);return Number.isNaN(a)?(t.addIssue({code:"custom",message:"bad timestamp"}),m.z.NEVER):a}),pageviews:c.z.number().finite().nonnegative().nullish().catch(null)});async function I(e,t,a,r){let n=r.since.toISOString(),s=r.until.toISOString(),i=r.fetch??fetch,l=new AbortController,u=setTimeout(()=>l.abort(new DOMException("window","TimeoutError")),r.timeoutMs??8e3),d=r.signal?AbortSignal.any([l.signal,r.signal]):l.signal,c=(0,o.X)(d);async function f(o,u){let f=new URLSearchParams({projectId:a,teamId:t,...u,since:n,until:s});try{let t=await Promise.race([i(`https://api.vercel.com/v1/query/web-analytics/visits/${o}?${f}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:d,cache:"no-store"}),c]),a=null,r=!1;if(401===t.status||403===t.status)a=g("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));a=g("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60})}else if(400===t.status){let e=await Promise.race([t.text(),c]).catch(()=>"");h.test(e)?r=!0:a=g("transient","Vercel Web Analytics rejected the request (400).",{status:400})}else t.ok||(a=g("transient",`Vercel Web Analytics returned an error (${t.status}).`,{status:t.status}));if(r)return{kind:"off"};if(a)return await t.body?.cancel().catch(()=>void 0),{kind:"fail",fail:a};try{return{kind:"body",body:await Promise.race([t.json(),c])}}catch(e){if(d.aborted)throw e;return{kind:"fail",fail:g("format",y)}}}catch{return{kind:"fail",fail:d.aborted?l.signal.aborted&&!r.signal?.aborted?g("transient","Vercel Web Analytics didn't answer in time."):g("transient","Reading Vercel Web Analytics was cancelled."):g("transient","Couldn't reach Vercel Web Analytics.")}}}try{let[e,t]=await Promise.all([f("count",{}),f("aggregate",{by:"hour"})]);if("off"===e.kind||"off"===t.kind)return{ok:!0,enabled:!1};let a=[e,t].flatMap(e=>"fail"===e.kind?[e.fail]:[]),r=a.find(e=>"auth"===e.kind);if(r)return r;let n="body"===t.kind?k.safeParse(t.body):null,s="fail"===t.kind?t.fail:n?.success?null:g("format",y),i=a.find(e=>"transient"===e.kind);if(i)return i;if(s)return s;if(!n?.success)return g("format",y);let o="body"===e.kind?b.safeParse(e.body):null,l=n.data.data.flatMap(e=>{let t=v.safeParse(e);return t.success?[t.data]:[]});if(l.length>0&&l.every(e=>null==e.pageviews))return g("format",y);let u=new Map;for(let e of l){let t=36e5*Math.floor(e.timestamp/36e5);u.set(t,(u.get(t)??0)+(e.pageviews??0))}let d=[...u].sort((e,t)=>e[0]-t[0]).slice(-24).map(([e,t])=>({at:new Date(e),views:t}));if(o?.success)return{ok:!0,enabled:!0,total:o.data.data.pageviews,visitors:o.data.data.visitors,hourly:d};return{ok:!0,enabled:!0,total:d.reduce((e,t)=>e+t.views,0),visitors:null,hourly:d}}finally{clearTimeout(u),l.abort()}}var A=e.i(943816);async function S(e,t,a){let r=await (0,l.g)(null);if(!r.length)return;let n=new Date(36e5*Math.floor(e.getTime()/36e5)-828e5);await (0,o.P)(r,3,async r=>{if(Date.now()+8500>t)return;let s=await I(r.token,r.teamId,r.projectId,{since:n,until:e});if(!s.ok)return void a.push(`pageviews/${r.appName}: ${s.error}`);try{await (0,u.r)(r.appId,{pageviews:(0,A.Z)(s,e)},e)}catch{a.push(`pageviews/${r.appName}: couldn't save the page views`)}})}e.s(["f",0,S],948736);var $=e.i(422067),D=e.i(433609),x=e.i(800523),E=e.i(479301);let j="security.afterDeploy",M=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),O=e=>"string"==typeof e&&e.length>0&&e.length<=100;function N(e){let t={pending:{},checked:{}};if(!M(e))return t;if(M(e.pending))for(let[a,r]of Object.entries(e.pending)){if(!(0,E.f)(a)||!M(r)||!O(r.id)||"string"!=typeof r.at||Number.isNaN(Date.parse(r.at)))continue;let e="number"==typeof r.attempts&&Number.isInteger(r.attempts)&&r.attempts>=0?Math.min(r.attempts,3):0;t.pending[a]={id:r.id,at:r.at,attempts:e,...!0===r.next?{next:!0}:{},...!0===r.deps?{deps:!0}:{}}}if(M(e.checked))for(let[a,r]of Object.entries(e.checked))(0,E.f)(a)&&O(r)&&(t.checked[a]=r);return t}let R=e=>Object.keys(e.pending).length>0;function C(e,t,a){let r={pending:{...e.pending},checked:{...e.checked}},n=!1;for(let e of t)(0,E.f)(e.appId)&&O(e.deploymentId)&&r.checked[e.appId]!==e.deploymentId&&r.pending[e.appId]?.id!==e.deploymentId&&(r.pending[e.appId]={id:e.deploymentId,at:a.toISOString(),attempts:0},n=!0);return{state:r,changed:n}}function T(e,t){let a,r={...e.pending},n={...e.checked};for(let e of t){let t=r[e];t&&(delete r[e],delete n[e],n[e]=t.id)}return{pending:r,checked:(a=Object.entries(n)).length<=500?n:Object.fromEntries(a.slice(a.length-500))}}function P(e,t){let a=Object.entries(e.pending).filter(([,e])=>t.getTime()-Date.parse(e.at)>216e5).map(([e])=>e);return a.length?T(e,a):e}let z=(e,t)=>Object.entries(e.pending).filter(([,e])=>!e[t]).map(([e])=>e);function B(e,t){let a={},r=[];for(let[n,s]of Object.entries(e.pending)){let e={...s};t.hosting&&!e.next&&(t.nextDone?.has(n)?e.next=!0:t.nextStarted?.has(n)&&(e.attempts=Math.min(e.attempts+1,3))),t.devops&&!e.deps&&t.depsDone?.has(n)&&(e.deps=!0),a[n]=e,((e.next||!t.hosting)&&(e.deps||!t.devops)||e.attempts>=3)&&r.push(n)}return T({pending:a,checked:e.checked},r)}e.s(["Z",0,j,"X",0,function(e){var t,a;let r=e.currentId;return r&&e.state.checked[e.appId]!==r&&e.state.pending[e.appId]?.id!==r&&(t=e.changedIds,((a=r)&&t.includes(a)?a:null)||e.createdAt&&e.now.getTime()-e.createdAt.getTime()<=216e5)?r:null},"a",0,P,"A",0,R,"B",0,C,"p",0,z,"Y",0,N,"E",0,B],873354);var _=e.i(970465);let U="security.slot",W=e=>Array.isArray(e)?e.filter(e=>"string"==typeof e&&e.length>0&&e.length<=100).slice(0,1e3):[],F=(e,t)=>[...new Set([...e,...t])].slice(0,1e3),V=e=>async()=>{let[a]=await (0,r.f)().select({value:n.settings.value}).from(n.settings).where((0,t.u)(n.settings.key,e)).limit(1);return a?.value??null},L=e=>async t=>{await (0,r.f)().insert(n.settings).values({key:e,value:t}).onConflictDoUpdate({target:n.settings.key,set:{value:t,updatedAt:new Date}})},J={read:V(j),write:L(j),readSlot:V(U),writeSlot:L(U),nextCheck:x.h,depsStep:(e,t)=>(0,D.O)(e,t)};async function Y(e,t=J){let a=N(await t.read()),r=P(a,e.now),n=!e.paused.has("hosting"),s=!e.paused.has("devops"),i=n?z(r,"next"):[],o=s?z(r,"deps"):[],l=e.early?null:function(e,t){let a=e&&"object"==typeof e&&!Array.isArray(e)?e:{};if(a.slot!==t)return{slot:t,runs:0,next:[],repos:[],cut:{},nextDone:!1,depsDone:!1};let r="number"==typeof a.runs&&Number.isInteger(a.runs)&&a.runs>=0?a.runs:0,n={};if(a.cut&&"object"==typeof a.cut&&!Array.isArray(a.cut))for(let[e,t]of Object.entries(a.cut).slice(0,1e3))e.length<=100&&"number"==typeof t&&Number.isInteger(t)&&t>0&&(n[e]=Math.min(t,2));return{slot:t,runs:r,next:W(a.next),repos:W(a.repos),cut:n,nextDone:!0===a.nextDone,depsDone:!0===a.depsDone}}(await t.readSlot(),new Date((0,$.G)("security",e.now)).toISOString()),u=!!l&&n&&!l.nextDone,d=!!l&&s&&!l.depsDone,c=n&&(i.length>0||u),f=s&&(o.length>0||d),p={hosting:n,devops:s,nextDone:new Set,nextStarted:new Set,depsDone:new Set},w=async()=>{let a=Math.min(Date.now()+_.y,!l&&f?e.deadline-2*D.d:e.deadline),r=u?[...l.next,...Object.entries(l.cut).filter(([,e])=>e>=2).map(([e])=>e)]:[],n=u?{first:i,skip:[...new Set(r)].filter(e=>!i.includes(e))}:{only:i},s=await t.nextCheck(a,n);for(let t of s.failed)e.errors.push(`security ${t}`);for(let e of s.done)p.nextDone.add(e);for(let e of i)s.listed.includes(e)||p.nextDone.add(e);for(let e of s.started)p.nextStarted.add(e);if(u){let e=new Set(s.done);for(let t of(l.next=F(l.next,s.done),s.started))e.has(t)||(l.cut[t]=Math.min((l.cut[t]??0)+1,2));l.nextDone=s.listed.every(t=>e.has(t)||(l.cut[t]??0)>=2)}},m=async()=>{let a=await t.depsStep(Math.min(Date.now()+D.o,e.deadline),d?{marked:o,onlyMarked:!1,skip:l.repos}:{marked:o,onlyMarked:!0});for(let t of(a.problem&&e.errors.push(`security deps: ${a.problem}`),a.settled))p.depsDone.add(t);d&&(l.repos=F(l.repos,a.done),l.depsDone=a.complete)};try{l&&l.runs++,l?(f&&await m(),c&&await w()):(c&&await w(),f&&await m())}finally{let e=null;if(l)try{await t.writeSlot(l)}catch(t){e=t}try{let e=B(r,p);JSON.stringify(e)!==JSON.stringify(a)&&await t.write(e)}catch(t){e??=t}if(e)throw e}return{complete:!l||(l.nextDone||!n)&&(l.depsDone||!s)||l.runs>=20}}async function q(e,t,a=J){if(!e.length)return!1;let{state:r,changed:n}=C(N(await a.read()),e,t);return n&&await a.write(r),n}e.s(["m",0,q,"Y",0,e=>R(N(e)),"U",0,Y],655060)}]})();
|
|
8
8
|
|
|
9
9
|
//# sourceMappingURL=src_lib_13irheo9qqhgx._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
(()=>{"use strict";module.exports=[381725,857897,36995,e=>{var t=e.i(875225),s=e.i(349129),r=e.i(260338),a=e.i(518899),o=e.i(924924),n=e.i(618916),l=e.i(442473),i=e.i(921991),u=e.i(656083),d=e.i(547499),c=e.i(911191),h=e.i(666680),p=e.i(971724),g=e.i(455744),m=e.i(469755),f=e.i(180473),w=e.i(105954),y=e.i(562810);e.s(["z",0,y],857897);var y=y,I=e.i(206033);let b=["debug","info","warning","error","fatal","trace"],v=p.z.object({rows:g.z.array(m.z.unknown()).catch([]),hasMoreRows:f.z.boolean().catch(!1)}),M=p.z.object({requestId:w.z.string().min(1),timestamp:w.z.string().transform((e,t)=>{let s=Date.parse(e);return Number.isNaN(s)?(t.addIssue({code:"custom",message:"bad timestamp"}),y.NEVER):new Date(s)}),deploymentId:w.z.string().nullish().catch(null),requestMethod:w.z.string().nullish().catch(null),requestPath:w.z.string().nullish().catch(null),statusCode:I.z.number().nullish().catch(null),logs:g.z.array(m.z.unknown()).nullish().catch(null),events:g.z.array(m.z.unknown()).nullish().catch(null)}),N=p.z.object({level:w.z.string().nullish().catch(null),message:w.z.string().nullish().catch(null)}),q=p.z.object({source:w.z.string().nullish().catch(null)}),L=(e,t)=>(0,h.createHash)("sha1").update(`${e}
|
|
2
|
-
${t}`).digest("hex").slice(0,8),z=(e,t,s={})=>({ok:!1,kind:e,error:t,...s});async function A(e,t,s,r){let a=(r.now??new Date).getTime(),o=Math.max(r.since.getTime(),a-864e5),n=r.until.getTime();if(o>=n)return{ok:!0,lines:[],more:!1};let i=r.maxRows??300,u=r.levels?new Set(r.levels):null,d=e=>!u||u.has(e),c=r.levels?[...new Set(r.levels.map(e=>"fatal"===e?"error":e))]:[],h=r.fetch??fetch,p=new AbortController,g=setTimeout(()=>p.abort(new DOMException("window","TimeoutError")),r.timeoutMs??8e3),m=r.signal?AbortSignal.any([p.signal,r.signal]):p.signal,f=(0,l.X)(m),w=()=>p.signal.aborted&&!r.signal?.aborted?z("transient","Vercel's log history didn't answer in time."):z("transient","Reading Vercel's log history was cancelled."),y=[],I=!1;try{for(let a=0;a<3;a++){let l,u=new URLSearchParams({projectId:s,ownerId:t,page:String(a),startDate:String(o),endDate:String(n)});r.deploymentId&&u.set("deploymentId",r.deploymentId),r.environment&&u.set("environment",r.environment),c.length&&u.set("level",c.join(","));let p=null;try{let t=await Promise.race([h(`https://vercel.com/api/logs/request-logs?${u}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:m,cache:"no-store"}),f]);if(401===t.status||403===t.status)p=z("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));p=z("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60})}else if(400===t.status)p=z("transient","Vercel's log history didn't answer (400); the range may be past retention.",{status:400});else if(t.ok)try{l=await Promise.race([t.json(),f])}catch(e){if(m.aborted)throw e;p=z("format","Vercel's log history answered in a format the console doesn't recognise.")}else p=z("transient",`Vercel's log history returned an error (${t.status}).`,{status:t.status});p&&await t.body?.cancel().catch(()=>void 0)}catch{p=m.aborted?w():z("transient","Couldn't reach Vercel's log history.")}if(!p){let e=v.safeParse(l),t=e.success&&l&&"object"==typeof l?Object.keys(l):[];if(!e.success||t.includes("rows")||t.includes("hasMoreRows"))if(e.success){for(let t of e.data.rows)y.push(...function(e,t,s=!1){let r=M.safeParse(e);if(!r.success)return[];let a=r.data,o={at:a.timestamp,requestMethod:a.requestMethod??null,requestPath:a.requestPath??null,statusCode:a.statusCode??null,deploymentId:a.deploymentId??null,source:(a.events??[]).map(e=>q.safeParse(e)).find(e=>e.success&&e.data.source)?.data?.source??null},n=[],l=new Map;for(let e of a.logs??[]){let s=N.safeParse(e);if(!s.success||!s.data.message)continue;let r=function(e){let t=(e??"").toLowerCase();return"warn"===t?"warning":b.includes(t)?t:"info"}(s.data.level),i=L(r,s.data.message),u=l.get(i)??0;l.set(i,u+1),t(r)&&n.push({rowId:`${a.requestId}:${i}${u?`#${u}`:""}`,level:r,message:s.data.message,...o})}if(null!=a.statusCode&&a.statusCode>=500&&t("error")&&!n.some(e=>"error"===e.level||"fatal"===e.level)&&n.push({rowId:`${a.requestId}:status`,level:"error",message:`${a.requestMethod??"GET"} ${a.requestPath??"/"} → ${a.statusCode}`,...o}),s&&0===n.length){let e=a.statusCode??0,s=e>=500?"error":e>=400?"warning":"info";t(s)&&n.push({rowId:`${a.requestId}:request`,level:s,message:`${a.requestMethod??"GET"} ${a.requestPath??"/"}${e>0?` → ${e}`:""}`,...o})}return n}(t,d,r.requests));if(!(I=e.data.hasMoreRows)||y.length>=i)break}else p=z("format","Vercel's log history answered in a format the console doesn't recognise.");else p=z("transient","Vercel's log format changed: the answer has neither rows nor hasMoreRows.")}if(p){if(0===a)return p;I=!0;break}}}finally{clearTimeout(g),p.abort()}return y.sort((e,t)=>e.at.getTime()-t.at.getTime()),y.length>i&&(y.splice(0,y.length-i),I=!0),{ok:!0,lines:y,more:I}}e.s(["f",0,A],36995);var $=e.i(218331);let k=["warning","error","fatal"],P="logs_read_cursor";async function D(e){let[s]=await (0,o.f)().select().from(n.accounts).where((0,t.b)((0,t.u)(n.accounts.provider,"vercel"),(0,t.u)(n.accounts.status,"ok"))).limit(1),r=s?(0,i.V)({ciphertext:s.credentialCiphertext,iv:s.credentialIv},(0,d.f)().OPS_ENCRYPTION_KEY):null;return s&&r?(await (0,o.f)().select({appId:n.resources.id,appName:n.resources.name,projectId:n.resources.externalId,meta:n.resources.meta,deploymentId:n.deployments.externalId}).from(n.deployments).innerJoin(n.resources,(0,t.u)(n.resources.id,n.deployments.resourceId)).where((0,t.b)((0,t.u)(n.deployments.isCurrent,!0),(0,t.u)(n.resources.accountId,s.id),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt),...e?[(0,t.u)(n.resources.id,e)]:[]))).map(e=>({appId:e.appId,appName:e.appName,projectId:e.projectId,deploymentId:e.deploymentId,teamId:String(e.meta.teamId??""),token:r})):[]}let S=(e,t)=>({resourceId:e.appId,deploymentId:t.deploymentId??e.deploymentId,rowId:t.rowId,at:t.at,level:t.level,message:(0,c.l)((0,c.h)(t.message),2e3),requestMethod:t.requestMethod,requestPath:(0,c.n)(t.requestPath?(0,c.h)(t.requestPath):null),statusCode:t.statusCode,source:t.source});async function j(e,s,i){let d,[c]=await (0,o.f)().select().from(n.settings).where((0,t.u)(n.settings.key,"logs.disabled")).limit(1);if(c?.value===!0)return;let h=await D(null);if(!h.length)return;let p=(0,$.y)((0,$.x)(e)),g=new Map((await (0,o.f)().select({id:n.storedLogs.resourceId,n:a.B`count(*)::int`}).from(n.storedLogs).where((0,t.b)((0,t.y)(n.storedLogs.resourceId,h.map(e=>e.appId)),(0,t.B)(n.storedLogs.at,p))).groupBy(n.storedLogs.resourceId)).map(e=>[e.id,e.n])),m=new Map((await (0,o.f)().select({id:n.storedLogs.resourceId,at:(0,r.
|
|
2
|
+
${t}`).digest("hex").slice(0,8),z=(e,t,s={})=>({ok:!1,kind:e,error:t,...s});async function A(e,t,s,r){let a=(r.now??new Date).getTime(),o=Math.max(r.since.getTime(),a-864e5),n=r.until.getTime();if(o>=n)return{ok:!0,lines:[],more:!1};let i=r.maxRows??300,u=r.levels?new Set(r.levels):null,d=e=>!u||u.has(e),c=r.levels?[...new Set(r.levels.map(e=>"fatal"===e?"error":e))]:[],h=r.fetch??fetch,p=new AbortController,g=setTimeout(()=>p.abort(new DOMException("window","TimeoutError")),r.timeoutMs??8e3),m=r.signal?AbortSignal.any([p.signal,r.signal]):p.signal,f=(0,l.X)(m),w=()=>p.signal.aborted&&!r.signal?.aborted?z("transient","Vercel's log history didn't answer in time."):z("transient","Reading Vercel's log history was cancelled."),y=[],I=!1;try{for(let a=0;a<3;a++){let l,u=new URLSearchParams({projectId:s,ownerId:t,page:String(a),startDate:String(o),endDate:String(n)});r.deploymentId&&u.set("deploymentId",r.deploymentId),r.environment&&u.set("environment",r.environment),c.length&&u.set("level",c.join(","));let p=null;try{let t=await Promise.race([h(`https://vercel.com/api/logs/request-logs?${u}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:m,cache:"no-store"}),f]);if(401===t.status||403===t.status)p=z("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));p=z("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60})}else if(400===t.status)p=z("transient","Vercel's log history didn't answer (400); the range may be past retention.",{status:400});else if(t.ok)try{l=await Promise.race([t.json(),f])}catch(e){if(m.aborted)throw e;p=z("format","Vercel's log history answered in a format the console doesn't recognise.")}else p=z("transient",`Vercel's log history returned an error (${t.status}).`,{status:t.status});p&&await t.body?.cancel().catch(()=>void 0)}catch{p=m.aborted?w():z("transient","Couldn't reach Vercel's log history.")}if(!p){let e=v.safeParse(l),t=e.success&&l&&"object"==typeof l?Object.keys(l):[];if(!e.success||t.includes("rows")||t.includes("hasMoreRows"))if(e.success){for(let t of e.data.rows)y.push(...function(e,t,s=!1){let r=M.safeParse(e);if(!r.success)return[];let a=r.data,o={at:a.timestamp,requestMethod:a.requestMethod??null,requestPath:a.requestPath??null,statusCode:a.statusCode??null,deploymentId:a.deploymentId??null,source:(a.events??[]).map(e=>q.safeParse(e)).find(e=>e.success&&e.data.source)?.data?.source??null},n=[],l=new Map;for(let e of a.logs??[]){let s=N.safeParse(e);if(!s.success||!s.data.message)continue;let r=function(e){let t=(e??"").toLowerCase();return"warn"===t?"warning":b.includes(t)?t:"info"}(s.data.level),i=L(r,s.data.message),u=l.get(i)??0;l.set(i,u+1),t(r)&&n.push({rowId:`${a.requestId}:${i}${u?`#${u}`:""}`,level:r,message:s.data.message,...o})}if(null!=a.statusCode&&a.statusCode>=500&&t("error")&&!n.some(e=>"error"===e.level||"fatal"===e.level)&&n.push({rowId:`${a.requestId}:status`,level:"error",message:`${a.requestMethod??"GET"} ${a.requestPath??"/"} → ${a.statusCode}`,...o}),s&&0===n.length){let e=a.statusCode??0,s=e>=500?"error":e>=400?"warning":"info";t(s)&&n.push({rowId:`${a.requestId}:request`,level:s,message:`${a.requestMethod??"GET"} ${a.requestPath??"/"}${e>0?` → ${e}`:""}`,...o})}return n}(t,d,r.requests));if(!(I=e.data.hasMoreRows)||y.length>=i)break}else p=z("format","Vercel's log history answered in a format the console doesn't recognise.");else p=z("transient","Vercel's log format changed: the answer has neither rows nor hasMoreRows.")}if(p){if(0===a)return p;I=!0;break}}}finally{clearTimeout(g),p.abort()}return y.sort((e,t)=>e.at.getTime()-t.at.getTime()),y.length>i&&(y.splice(0,y.length-i),I=!0),{ok:!0,lines:y,more:I}}e.s(["f",0,A],36995);var $=e.i(218331);let k=["warning","error","fatal"],P="logs_read_cursor";async function D(e){let[s]=await (0,o.f)().select().from(n.accounts).where((0,t.b)((0,t.u)(n.accounts.provider,"vercel"),(0,t.u)(n.accounts.status,"ok"))).limit(1),r=s?(0,i.V)({ciphertext:s.credentialCiphertext,iv:s.credentialIv},(0,d.f)().OPS_ENCRYPTION_KEY):null;return s&&r?(await (0,o.f)().select({appId:n.resources.id,appName:n.resources.name,projectId:n.resources.externalId,meta:n.resources.meta,deploymentId:n.deployments.externalId}).from(n.deployments).innerJoin(n.resources,(0,t.u)(n.resources.id,n.deployments.resourceId)).where((0,t.b)((0,t.u)(n.deployments.isCurrent,!0),(0,t.u)(n.resources.accountId,s.id),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt),...e?[(0,t.u)(n.resources.id,e)]:[]))).map(e=>({appId:e.appId,appName:e.appName,projectId:e.projectId,deploymentId:e.deploymentId,teamId:String(e.meta.teamId??""),token:r})):[]}let S=(e,t)=>({resourceId:e.appId,deploymentId:t.deploymentId??e.deploymentId,rowId:t.rowId,at:t.at,level:t.level,message:(0,c.l)((0,c.h)(t.message),2e3),requestMethod:t.requestMethod,requestPath:(0,c.n)(t.requestPath?(0,c.h)(t.requestPath):null),statusCode:t.statusCode,source:t.source});async function j(e,s,i){let d,[c]=await (0,o.f)().select().from(n.settings).where((0,t.u)(n.settings.key,"logs.disabled")).limit(1);if(c?.value===!0)return;let h=await D(null);if(!h.length)return;let p=(0,$.y)((0,$.x)(e)),g=new Map((await (0,o.f)().select({id:n.storedLogs.resourceId,n:a.B`count(*)::int`}).from(n.storedLogs).where((0,t.b)((0,t.y)(n.storedLogs.resourceId,h.map(e=>e.appId)),(0,t.B)(n.storedLogs.at,p))).groupBy(n.storedLogs.resourceId)).map(e=>[e.id,e.n])),m=new Map((await (0,o.f)().select({id:n.storedLogs.resourceId,at:(0,r.y)(n.storedLogs.at)}).from(n.storedLogs).where((0,t.y)(n.storedLogs.resourceId,h.map(e=>e.appId))).groupBy(n.storedLogs.resourceId)).map(e=>[e.id,e.at])),[f]=await (0,o.f)().select().from(n.settings).where((0,t.u)(n.settings.key,P)).limit(1),w=(d=f?.value)&&"object"==typeof d&&!Array.isArray(d)?Object.fromEntries(Object.entries(d).filter(e=>"string"==typeof e[1]&&!Number.isNaN(Date.parse(e[1])))):{},y=e.getTime()-864e5,I=await (0,l.P)(h,3,t=>{if(Date.now()+8500>s)return Promise.resolve(null);let r=[m.get(t.appId)?.getTime(),w[t.appId]?Date.parse(w[t.appId]):void 0].filter(e=>void 0!==e),a=new Date(Math.max(r.length?Math.max(...r)-3e5:y,y));return A(t.token,t.teamId,t.projectId,{since:a,until:e,now:e,levels:k,environment:"production",maxRows:300})}),b=h.map((e,t)=>{let s=I[t];return s?s.ok?(s.more&&i.push(`logs/${e.appName}: more than 300 log lines since the last read; the oldest were skipped`),s.lines.filter(e=>k.includes(e.level))):(i.push(`logs/${e.appName}: ${s.error}`),[]):[]}),v=b.flat().map(e=>e.rowId),M=new Set(v.length?(await (0,o.f)().select({rowId:n.storedLogs.rowId}).from(n.storedLogs).where((0,t.y)(n.storedLogs.rowId,v))).map(e=>e.rowId):[]),N=[];for(let[e,t]of h.entries()){let s=b[e].filter(e=>!M.has(e.rowId));if(!s.length)continue;let r=g.get(t.appId)??0,a=Math.max(0,1e3-r),l=(a>=s.length?s:s.slice(s.length-a)).map(e=>S(t,e));l.length&&await (0,o.f)().insert(n.storedLogs).values(l).onConflictDoNothing({target:n.storedLogs.rowId}),r+s.length>=1e3&&N.push(t.appId)}let q=h.filter((e,t)=>I[t]?.ok);if(q.length){let t={};for(let e of h)w[e.appId]&&(t[e.appId]=w[e.appId]);for(let s of q)t[s.appId]=e.toISOString();await (0,o.f)().insert(n.settings).values({key:P,value:t}).onConflictDoUpdate({target:n.settings.key,set:{value:t,updatedAt:new Date}})}await (0,u.f)(N.map(e=>({resourceId:e,type:"system",kind:"warn",message:"Stored-log limit reached",detail:"More than 1000 warnings and errors today; the rest stay in Vercel only for its short log history (about a day on Hobby).",reason:"LogCapReached"})))}async function C(e,r={}){let a=new Date(e.getTime()-(r.sinceMs??6048e5));return(await (0,o.f)().select({l:n.storedLogs,app:n.resources.name}).from(n.storedLogs).innerJoin(n.resources,(0,t.u)(n.resources.id,n.storedLogs.resourceId)).where((0,t.b)((0,t.B)(n.storedLogs.at,a),...r.appId?[(0,t.u)(n.storedLogs.resourceId,r.appId)]:[])).orderBy((0,s.A)(n.storedLogs.at)).limit(500)).map(({l:e,app:t})=>({id:e.rowId,at:e.at,level:e.level,app:t,method:e.requestMethod,path:e.requestPath,status:e.statusCode,message:e.message})).reverse()}e.s(["M",0,C,"g",0,D,"_",0,j],381725)},943816,e=>{let t=e=>"number"==typeof e&&Number.isFinite(e)&&e>=0?e:null;e.s(["G",0,function(e){let s=e&&"object"==typeof e?e.pageviews:null;if(!s||"object"!=typeof s)return null;let r="string"==typeof s.readAt?Date.parse(s.readAt):0/0;if(Number.isNaN(r)||"boolean"!=typeof s.enabled)return null;if(!s.enabled)return{enabled:!1,readAt:new Date(r)};let a=t(s.total24h),o=null===s.visitors24h?null:t(s.visitors24h);if(null===a||null===o&&null!==s.visitors24h)return null;let n=36e5*Math.floor(r/36e5),l=new Map;for(let e of Array.isArray(s.hourly)?s.hourly:[]){if(!Array.isArray(e))continue;let s="string"==typeof e[0]?Date.parse(e[0]):0/0,r=t(e[1]);if(Number.isNaN(s)||null===r)continue;let a=36e5*Math.floor(s/36e5);l.set(a,(l.get(a)??0)+r)}return{enabled:!0,total:a,visitors:o,hours:Array.from({length:24},(e,t)=>{let s=n-(23-t)*36e5;return{at:new Date(s),views:l.get(s)??0}}),readAt:new Date(r)}},"R",0,function(e){return!e.gone&&e.teamId&&e.accountOk?e.hasProductionDeploy?null:"Not read: this app has no production deployment yet.":"Not read: this app isn't in a connected Vercel account."},"Z",0,function(e,t){return e.enabled?{enabled:!0,total24h:e.total,visitors24h:e.visitors,readAt:t.toISOString(),hourly:e.hourly.slice(-24).map(e=>[e.at.toISOString(),e.views])}:{enabled:!1,readAt:t.toISOString()}}])}]})();
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=src_lib_1550ey8j96v9n._.js.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[984194,649297,e=>{var t=e.i(336763),a=e.i(157406),r=e.i(533102),s=e.i(406212),n=e.i(306001),o=e.i(530298),i=e.i(728335),l=e.i(824009);function u(e,t){let a=new Map;for(let r of e){let e=r.state.toUpperCase();if("READY"!==e&&"ERROR"!==e)continue;let s=(0,l.C)(r.createdAtProvider,t),n=`${r.resourceId}|${s}`,o=a.get(n)??{resourceId:r.resourceId,day:s,ok:0,failed:0};"READY"===e?o.ok++:o.failed++,a.set(n,o)}return[...a.values()].sort((e,t)=>e.resourceId.localeCompare(t.resourceId)||e.day.localeCompare(t.day))}async function d(e,c=(0,i.timeZone)()){let f,[m]=await (0,s.db)().select({day:(0,a.max)(n.p.day)}).from(n.p),h=m?.day?(f=m.day,new Date(Date.parse(`${f}T00:00:00Z`)+-1728e5).toISOString().slice(0,10)):null,p=(0,s.db)().select({resourceId:o.deployments.resourceId,state:o.deployments.state,createdAtProvider:o.deployments.createdAtProvider}).from(o.deployments),g=h?await p.where((0,t.gte)(o.deployments.createdAtProvider,new Date(Date.parse(`${h}T00:00:00Z`)-864e5))):await p,b=(0,l.C)(e,c),y=u(g,c).filter(e=>(!h||e.day>=h)&&e.day<=b);y.length&&await (0,s.db)().insert(n.p).values(y).onConflictDoUpdate({target:[n.p.resourceId,n.p.day],set:{ok:r.sql`excluded.ok`,failed:r.sql`excluded.failed`}})}function c(e,t){return e.length?e[Math.min(e.length-1,Math.max(0,Math.ceil(t*e.length)-1))]:null}function f(e){let t=new Date(e);return t.setUTCMinutes(0,0,0),t}e.s(["W",0,d,"L",0,u],984194);e.s(["b",0,f,"z",0,function(e){let t=e.filter(e=>!e.inMaintenance),a=t.map(e=>e.latencyMs).filter(e=>null!==e).sort((e,t)=>e-t);return{checks:t.length,failures:t.filter(e=>!e.ok).length,p50Ms:c(a,.5),p95Ms:c(a,.95),maxMs:a.length?a[a.length-1]:null,status5xx:t.filter(e=>null!==e.statusCode&&e.statusCode>=500).length,maintenance:e.length-t.length}},"r",0,function(e,t){let a=f(t).getTime()-6048e5;return new Date(Math.max(a,e?e.getTime()-36e5:a))}],649297)},725321,392710,e=>{var t=e.i(75064),a=e.i(79322),r=e.i(492973);e.i(710075),e.i(788264);var s=e.i(246517),n=e.i(932378),o=e.i(260417),i=e.i(909592);let l="https://api.cloudflare.com/client/v4",u="Account → D1 → Read",d="Account → Account Analytics → Read",c=e=>encodeURIComponent(e),f=t.z.object({success:s.z.boolean(),result:n.z.unknown(),result_info:t.z.object({total_pages:o.z.number().optional()}).nullish()}),m=e=>({ok:!1,kind:"format",error:`Cloudflare answered ${e} in a format the console doesn't recognise.`}),h="Cloudflare didn't answer within 5 seconds.";async function p(e,t,a,r){let s;try{s=await (a.fetch??fetch)(`${l}${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)?h:"Couldn't reach Cloudflare."}}if(403===s.status&&r)return await s.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===s.status||403===s.status)return await s.body?.cancel().catch(()=>void 0),{ok:!1,kind:"auth",status:s.status,error:`Cloudflare rejected this credential (${s.status}).`};if(429===s.status)return await s.body?.cancel().catch(()=>void 0),{ok:!1,kind:"transient",status:429,retryAfterS:60,error:"Cloudflare says there were too many requests."};if(!s.ok)return await s.body?.cancel().catch(()=>void 0),{ok:!1,kind:"transient",status:s.status,error:`Cloudflare returned an error (${s.status}).`};let n=f.safeParse(await s.json().catch(()=>null));return n.success&&n.data.success?{ok:!0,data:{result:n.data.result,totalPages:n.data.result_info?.total_pages??null}}:m("its answer")}async function g(e,a={}){let s=await p("/accounts?per_page=50",e,a,null);if(!s.ok)return s;let n=i.z.array(t.z.object({id:r.z.string(),name:r.z.string().default("")})).safeParse(s.data.result);return n.success?{ok:!0,data:n.data}:m("the account list")}let b=t.z.object({uuid:r.z.string(),name:r.z.string(),created_at:r.z.string().nullish(),jurisdiction:r.z.string().nullish()});async function y(e,t,a={}){let r=[];for(let s=1;s<=5;s++){let n=await p(`/accounts/${c(t)}/d1/database?per_page=100&page=${s}`,e,a,u);if(!n.ok)return n;let o=i.z.array(b).safeParse(n.data.result);if(!o.success)return m("the D1 database list");if(r.push(...o.data.map(e=>({uuid:e.uuid,name:e.name,createdAt:e.created_at??null,jurisdiction:e.jurisdiction??null}))),!n.data.totalPages||s>=n.data.totalPages||o.data.length<100)break}return{ok:!0,data:r}}let k=t.z.object({file_size:o.z.number().nullish(),num_tables:o.z.number().nullish(),read_replication:t.z.object({mode:r.z.string()}).nullish()});async function w(e,t,a,r={}){let s=await p(`/accounts/${c(t)}/d1/database/${c(a)}`,e,r,u);if(!s.ok)return s;let n=k.safeParse(s.data.result);return n.success?{ok:!0,data:{sizeBytes:n.data.file_size??null,numTables:n.data.num_tables??null,readReplication:n.data.read_replication?.mode??null}}:m("the D1 database")}let z=`query D1Usage($accountTag: string!, $date: Date!) {
|
|
2
|
+
viewer {
|
|
3
|
+
accounts(filter: { accountTag: $accountTag }) {
|
|
4
|
+
d1AnalyticsAdaptiveGroups(limit: 10000, filter: { date: $date }) {
|
|
5
|
+
sum { rowsRead rowsWritten readQueries writeQueries }
|
|
6
|
+
dimensions { databaseId }
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}`,A=t.z.object({data:t.z.object({viewer:t.z.object({accounts:i.z.array(t.z.object({d1AnalyticsAdaptiveGroups:i.z.array(t.z.object({sum:t.z.object({rowsRead:o.z.number().default(0),rowsWritten:o.z.number().default(0),readQueries:o.z.number().default(0),writeQueries:o.z.number().default(0)}),dimensions:t.z.object({databaseId:r.z.string()})})).default([])}))}).nullish()}).nullish(),errors:i.z.array(t.z.object({message:r.z.string().default("")})).nullish()});async function C(e,t,a,r={}){let s;try{s=await (r.fetch??fetch)(`${l}/graphql`,{method:"POST",headers:{Authorization:`Bearer ${e}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({query:z,variables:{accountTag:t,date:a}}),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)?h:"Couldn't reach Cloudflare."}}return 401===s.status||403===s.status?(await s.body?.cancel().catch(()=>void 0),{ok:!1,kind:"scope",status:s.status,error:`The token can't read D1 analytics. Add "${d}" to the Cloudflare token.`}):429===s.status?{ok:!1,kind:"transient",status:429,retryAfterS:60,error:"Cloudflare says there were too many requests."}:s.ok?function(e){let t=A.safeParse(e);if(!t.success)return m("the D1 analytics");let a=t.data.errors??[];if(a.length)return a.some(e=>/not authorized|permission|access|authenticat/i.test(e.message))?{ok:!1,kind:"scope",error:`The token can't read D1 analytics. Add "${d}" to the Cloudflare token.`}:{ok:!1,kind:"transient",error:"Cloudflare's analytics answered with an error."};let r=t.data.data?.viewer?.accounts.flatMap(e=>e.d1AnalyticsAdaptiveGroups)??[],s=new Map;for(let e of r){let t=s.get(e.dimensions.databaseId)??{databaseId:e.dimensions.databaseId,rowsRead:0,rowsWritten:0,readQueries:0,writeQueries:0};t.rowsRead+=e.sum.rowsRead,t.rowsWritten+=e.sum.rowsWritten,t.readQueries+=e.sum.readQueries,t.writeQueries+=e.sum.writeQueries,s.set(t.databaseId,t)}return{ok:!0,data:[...s.values()]}}(await s.json().catch(()=>null)):{ok:!1,kind:"transient",status:s.status,error:`Cloudflare returned an error (${s.status}).`}}e.s(["t",0,C,"m",0,w,"N",0,g,"L",0,y,"Y",0,e=>e.toISOString().slice(0,10)],392710),e.i(123076),e.i(216899),t.z.object({d1:a.z.enum(["ok","missing","error"]),analytics:a.z.enum(["ok","missing","error"]).nullable(),at:r.z.string(),note:r.z.string().nullable()}),e.s(["f",0,"d1.access"],725321)}]})();
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=src_lib_1hveabvnpk83x._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{"use strict";module.exports=[905685,e=>{let t=(e,t)=>t??(e?`HTTP ${e}`:"No answer");e.s(["I",0,3,"V",0,function(e){return e.monitors.includes("err")?"err":e.building?"build":e.monitors.includes("warn")||e.dbPaused?"warn":e.monitors.length?"ok":"unknown"},"L",0,function(e,t,n,r){if(e===t.state)return null;let i={resourceId:n,type:"deployment",at:r,detail:`${t.branch??"unknown branch"} \xb7 ${t.sha?t.sha.slice(0,7):"no commit"}`},a=e=>null!==e&&r.getTime()-e.getTime()<=6e5;return"building"===t.state?void 0===e&&a(t.createdAt)?{...i,kind:"build",message:"Deployment started"}:null:void 0!==e||a(t.readyAt??t.createdAt)?"ready"===t.state?{...i,kind:"ok",message:"Deployment ready"}:"error"===t.state?{...i,kind:"fail",message:"Deployment failed"}:{...i,kind:"off",message:"Deployment canceled"}:null},"F",0,function(e){let{prev:n,next:r}=e,i=!0===e.heartbeat;if(n===r||"unknown"===n&&!(i&&"err"===r))return null;let a={resourceId:e.resourceId,type:"monitor",at:e.at};return"err"===r?{...a,kind:"err",message:"Monitor down",detail:i?t(null,e.error):`${t(e.code,e.error)} on 3 checks in a row`}:"warn"===r?{...a,kind:"warn",message:"Monitor degraded",detail:t(e.code,e.error)}:"ok"===r?{...a,kind:"ok",message:"Monitor recovered",detail:i?`${e.path} pinged again`:`${e.path} answers again`}:null},"G",0,function(e,t){if(t.ok)return{state:"ok",failStreak:0};let n=e+1;return{state:n>=3?"err":"warn",failStreak:n}}])},593111,e=>{var t=e.i(875225),n=e.i(518899),r=e.i(924924),i=e.i(618916),a=e.i(189104);async function o(e,a){let[o]=await (0,r.f)().insert(i.rateLimits).values({key:e,windowStart:a,count:1}).onConflictDoUpdate({target:[i.rateLimits.key,i.rateLimits.windowStart],set:{count:n.B`${i.rateLimits.count} + 1`}}).returning({count:i.rateLimits.count});if(1===o.count)try{await (0,r.f)().delete(i.rateLimits).where((0,t.S)(i.rateLimits.windowStart,new Date(Date.now()-864e5)))}catch{console.warn("rate limit sweep failed")}return o.count}e.s(["f",0,function(e,t){return(0,a.A)(e,t,{hit:o})}])}]})();
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=src_lib_1n_d25awwz8ga._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
(()=>{"use strict";module.exports=[381725,857897,36995,e=>{var t=e.i(875225),s=e.i(349129),r=e.i(260338),a=e.i(518899),o=e.i(924924),n=e.i(618916),l=e.i(442473),i=e.i(921991),u=e.i(656083),d=e.i(547499),c=e.i(911191),h=e.i(666680),p=e.i(971724),g=e.i(455744),m=e.i(469755),f=e.i(180473),w=e.i(105954),y=e.i(562810);e.s(["z",0,y],857897);var y=y,I=e.i(206033);let b=["debug","info","warning","error","fatal","trace"],v=p.z.object({rows:g.z.array(m.z.unknown()).catch([]),hasMoreRows:f.z.boolean().catch(!1)}),M=p.z.object({requestId:w.z.string().min(1),timestamp:w.z.string().transform((e,t)=>{let s=Date.parse(e);return Number.isNaN(s)?(t.addIssue({code:"custom",message:"bad timestamp"}),y.NEVER):new Date(s)}),deploymentId:w.z.string().nullish().catch(null),requestMethod:w.z.string().nullish().catch(null),requestPath:w.z.string().nullish().catch(null),statusCode:I.z.number().nullish().catch(null),logs:g.z.array(m.z.unknown()).nullish().catch(null),events:g.z.array(m.z.unknown()).nullish().catch(null)}),N=p.z.object({level:w.z.string().nullish().catch(null),message:w.z.string().nullish().catch(null)}),q=p.z.object({source:w.z.string().nullish().catch(null)}),L=(e,t)=>(0,h.createHash)("sha1").update(`${e}
|
|
2
|
-
${t}`).digest("hex").slice(0,8),z=(e,t,s={})=>({ok:!1,kind:e,error:t,...s});async function A(e,t,s,r){let a=(r.now??new Date).getTime(),o=Math.max(r.since.getTime(),a-864e5),n=r.until.getTime();if(o>=n)return{ok:!0,lines:[],more:!1};let i=r.maxRows??300,u=r.levels?new Set(r.levels):null,d=e=>!u||u.has(e),c=r.levels?[...new Set(r.levels.map(e=>"fatal"===e?"error":e))]:[],h=r.fetch??fetch,p=new AbortController,g=setTimeout(()=>p.abort(new DOMException("window","TimeoutError")),r.timeoutMs??8e3),m=r.signal?AbortSignal.any([p.signal,r.signal]):p.signal,f=(0,l.X)(m),w=()=>p.signal.aborted&&!r.signal?.aborted?z("transient","Vercel's log history didn't answer in time."):z("transient","Reading Vercel's log history was cancelled."),y=[],I=!1;try{for(let a=0;a<3;a++){let l,u=new URLSearchParams({projectId:s,ownerId:t,page:String(a),startDate:String(o),endDate:String(n)});r.deploymentId&&u.set("deploymentId",r.deploymentId),r.environment&&u.set("environment",r.environment),c.length&&u.set("level",c.join(","));let p=null;try{let t=await Promise.race([h(`https://vercel.com/api/logs/request-logs?${u}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:m,cache:"no-store"}),f]);if(401===t.status||403===t.status)p=z("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));p=z("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60})}else if(400===t.status)p=z("transient","Vercel's log history didn't answer (400); the range may be past retention.",{status:400});else if(t.ok)try{l=await Promise.race([t.json(),f])}catch(e){if(m.aborted)throw e;p=z("format","Vercel's log history answered in a format the console doesn't recognise.")}else p=z("transient",`Vercel's log history returned an error (${t.status}).`,{status:t.status});p&&await t.body?.cancel().catch(()=>void 0)}catch{p=m.aborted?w():z("transient","Couldn't reach Vercel's log history.")}if(!p){let e=v.safeParse(l),t=e.success&&l&&"object"==typeof l?Object.keys(l):[];if(!e.success||t.includes("rows")||t.includes("hasMoreRows"))if(e.success){for(let t of e.data.rows)y.push(...function(e,t,s=!1){let r=M.safeParse(e);if(!r.success)return[];let a=r.data,o={at:a.timestamp,requestMethod:a.requestMethod??null,requestPath:a.requestPath??null,statusCode:a.statusCode??null,deploymentId:a.deploymentId??null,source:(a.events??[]).map(e=>q.safeParse(e)).find(e=>e.success&&e.data.source)?.data?.source??null},n=[],l=new Map;for(let e of a.logs??[]){let s=N.safeParse(e);if(!s.success||!s.data.message)continue;let r=function(e){let t=(e??"").toLowerCase();return"warn"===t?"warning":b.includes(t)?t:"info"}(s.data.level),i=L(r,s.data.message),u=l.get(i)??0;l.set(i,u+1),t(r)&&n.push({rowId:`${a.requestId}:${i}${u?`#${u}`:""}`,level:r,message:s.data.message,...o})}if(null!=a.statusCode&&a.statusCode>=500&&t("error")&&!n.some(e=>"error"===e.level||"fatal"===e.level)&&n.push({rowId:`${a.requestId}:status`,level:"error",message:`${a.requestMethod??"GET"} ${a.requestPath??"/"} → ${a.statusCode}`,...o}),s&&0===n.length){let e=a.statusCode??0,s=e>=500?"error":e>=400?"warning":"info";t(s)&&n.push({rowId:`${a.requestId}:request`,level:s,message:`${a.requestMethod??"GET"} ${a.requestPath??"/"}${e>0?` → ${e}`:""}`,...o})}return n}(t,d,r.requests));if(!(I=e.data.hasMoreRows)||y.length>=i)break}else p=z("format","Vercel's log history answered in a format the console doesn't recognise.");else p=z("transient","Vercel's log format changed: the answer has neither rows nor hasMoreRows.")}if(p){if(0===a)return p;I=!0;break}}}finally{clearTimeout(g),p.abort()}return y.sort((e,t)=>e.at.getTime()-t.at.getTime()),y.length>i&&(y.splice(0,y.length-i),I=!0),{ok:!0,lines:y,more:I}}e.s(["f",0,A],36995);var $=e.i(218331);let k=["warning","error","fatal"],P="logs_read_cursor";async function D(e){let[s]=await (0,o.f)().select().from(n.accounts).where((0,t.b)((0,t.u)(n.accounts.provider,"vercel"),(0,t.u)(n.accounts.status,"ok"))).limit(1),r=s?(0,i.V)({ciphertext:s.credentialCiphertext,iv:s.credentialIv},(0,d.f)().OPS_ENCRYPTION_KEY):null;return s&&r?(await (0,o.f)().select({appId:n.resources.id,appName:n.resources.name,projectId:n.resources.externalId,meta:n.resources.meta,deploymentId:n.deployments.externalId}).from(n.deployments).innerJoin(n.resources,(0,t.u)(n.resources.id,n.deployments.resourceId)).where((0,t.b)((0,t.u)(n.deployments.isCurrent,!0),(0,t.u)(n.resources.accountId,s.id),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt),...e?[(0,t.u)(n.resources.id,e)]:[]))).map(e=>({appId:e.appId,appName:e.appName,projectId:e.projectId,deploymentId:e.deploymentId,teamId:String(e.meta.teamId??""),token:r})):[]}let S=(e,t)=>({resourceId:e.appId,deploymentId:t.deploymentId??e.deploymentId,rowId:t.rowId,at:t.at,level:t.level,message:(0,c.l)((0,c.h)(t.message),2e3),requestMethod:t.requestMethod,requestPath:(0,c.n)(t.requestPath?(0,c.h)(t.requestPath):null),statusCode:t.statusCode,source:t.source});async function j(e,s,i){let d,[c]=await (0,o.f)().select().from(n.settings).where((0,t.u)(n.settings.key,"logs.disabled")).limit(1);if(c?.value===!0)return;let h=await D(null);if(!h.length)return;let p=(0,$.y)((0,$.x)(e)),g=new Map((await (0,o.f)().select({id:n.storedLogs.resourceId,n:a.B`count(*)::int`}).from(n.storedLogs).where((0,t.b)((0,t.y)(n.storedLogs.resourceId,h.map(e=>e.appId)),(0,t.B)(n.storedLogs.at,p))).groupBy(n.storedLogs.resourceId)).map(e=>[e.id,e.n])),m=new Map((await (0,o.f)().select({id:n.storedLogs.resourceId,at:(0,r.
|
|
2
|
+
${t}`).digest("hex").slice(0,8),z=(e,t,s={})=>({ok:!1,kind:e,error:t,...s});async function A(e,t,s,r){let a=(r.now??new Date).getTime(),o=Math.max(r.since.getTime(),a-864e5),n=r.until.getTime();if(o>=n)return{ok:!0,lines:[],more:!1};let i=r.maxRows??300,u=r.levels?new Set(r.levels):null,d=e=>!u||u.has(e),c=r.levels?[...new Set(r.levels.map(e=>"fatal"===e?"error":e))]:[],h=r.fetch??fetch,p=new AbortController,g=setTimeout(()=>p.abort(new DOMException("window","TimeoutError")),r.timeoutMs??8e3),m=r.signal?AbortSignal.any([p.signal,r.signal]):p.signal,f=(0,l.X)(m),w=()=>p.signal.aborted&&!r.signal?.aborted?z("transient","Vercel's log history didn't answer in time."):z("transient","Reading Vercel's log history was cancelled."),y=[],I=!1;try{for(let a=0;a<3;a++){let l,u=new URLSearchParams({projectId:s,ownerId:t,page:String(a),startDate:String(o),endDate:String(n)});r.deploymentId&&u.set("deploymentId",r.deploymentId),r.environment&&u.set("environment",r.environment),c.length&&u.set("level",c.join(","));let p=null;try{let t=await Promise.race([h(`https://vercel.com/api/logs/request-logs?${u}`,{headers:{Authorization:`Bearer ${e}`,Accept:"application/json"},signal:m,cache:"no-store"}),f]);if(401===t.status||403===t.status)p=z("auth",`Vercel rejected this credential (${t.status}).`,{status:t.status});else if(429===t.status){let e=Number(t.headers.get("Retry-After"));p=z("transient","Vercel says there were too many requests.",{status:429,retryAfterS:Number.isFinite(e)&&e>0?e:60})}else if(400===t.status)p=z("transient","Vercel's log history didn't answer (400); the range may be past retention.",{status:400});else if(t.ok)try{l=await Promise.race([t.json(),f])}catch(e){if(m.aborted)throw e;p=z("format","Vercel's log history answered in a format the console doesn't recognise.")}else p=z("transient",`Vercel's log history returned an error (${t.status}).`,{status:t.status});p&&await t.body?.cancel().catch(()=>void 0)}catch{p=m.aborted?w():z("transient","Couldn't reach Vercel's log history.")}if(!p){let e=v.safeParse(l),t=e.success&&l&&"object"==typeof l?Object.keys(l):[];if(!e.success||t.includes("rows")||t.includes("hasMoreRows"))if(e.success){for(let t of e.data.rows)y.push(...function(e,t,s=!1){let r=M.safeParse(e);if(!r.success)return[];let a=r.data,o={at:a.timestamp,requestMethod:a.requestMethod??null,requestPath:a.requestPath??null,statusCode:a.statusCode??null,deploymentId:a.deploymentId??null,source:(a.events??[]).map(e=>q.safeParse(e)).find(e=>e.success&&e.data.source)?.data?.source??null},n=[],l=new Map;for(let e of a.logs??[]){let s=N.safeParse(e);if(!s.success||!s.data.message)continue;let r=function(e){let t=(e??"").toLowerCase();return"warn"===t?"warning":b.includes(t)?t:"info"}(s.data.level),i=L(r,s.data.message),u=l.get(i)??0;l.set(i,u+1),t(r)&&n.push({rowId:`${a.requestId}:${i}${u?`#${u}`:""}`,level:r,message:s.data.message,...o})}if(null!=a.statusCode&&a.statusCode>=500&&t("error")&&!n.some(e=>"error"===e.level||"fatal"===e.level)&&n.push({rowId:`${a.requestId}:status`,level:"error",message:`${a.requestMethod??"GET"} ${a.requestPath??"/"} → ${a.statusCode}`,...o}),s&&0===n.length){let e=a.statusCode??0,s=e>=500?"error":e>=400?"warning":"info";t(s)&&n.push({rowId:`${a.requestId}:request`,level:s,message:`${a.requestMethod??"GET"} ${a.requestPath??"/"}${e>0?` → ${e}`:""}`,...o})}return n}(t,d,r.requests));if(!(I=e.data.hasMoreRows)||y.length>=i)break}else p=z("format","Vercel's log history answered in a format the console doesn't recognise.");else p=z("transient","Vercel's log format changed: the answer has neither rows nor hasMoreRows.")}if(p){if(0===a)return p;I=!0;break}}}finally{clearTimeout(g),p.abort()}return y.sort((e,t)=>e.at.getTime()-t.at.getTime()),y.length>i&&(y.splice(0,y.length-i),I=!0),{ok:!0,lines:y,more:I}}e.s(["f",0,A],36995);var $=e.i(218331);let k=["warning","error","fatal"],P="logs_read_cursor";async function D(e){let[s]=await (0,o.f)().select().from(n.accounts).where((0,t.b)((0,t.u)(n.accounts.provider,"vercel"),(0,t.u)(n.accounts.status,"ok"))).limit(1),r=s?(0,i.V)({ciphertext:s.credentialCiphertext,iv:s.credentialIv},(0,d.f)().OPS_ENCRYPTION_KEY):null;return s&&r?(await (0,o.f)().select({appId:n.resources.id,appName:n.resources.name,projectId:n.resources.externalId,meta:n.resources.meta,deploymentId:n.deployments.externalId}).from(n.deployments).innerJoin(n.resources,(0,t.u)(n.resources.id,n.deployments.resourceId)).where((0,t.b)((0,t.u)(n.deployments.isCurrent,!0),(0,t.u)(n.resources.accountId,s.id),(0,t.u)(n.resources.monitored,!0),(0,t.M)(n.resources.goneAt),...e?[(0,t.u)(n.resources.id,e)]:[]))).map(e=>({appId:e.appId,appName:e.appName,projectId:e.projectId,deploymentId:e.deploymentId,teamId:String(e.meta.teamId??""),token:r})):[]}let S=(e,t)=>({resourceId:e.appId,deploymentId:t.deploymentId??e.deploymentId,rowId:t.rowId,at:t.at,level:t.level,message:(0,c.l)((0,c.h)(t.message),2e3),requestMethod:t.requestMethod,requestPath:(0,c.n)(t.requestPath?(0,c.h)(t.requestPath):null),statusCode:t.statusCode,source:t.source});async function j(e,s,i){let d,[c]=await (0,o.f)().select().from(n.settings).where((0,t.u)(n.settings.key,"logs.disabled")).limit(1);if(c?.value===!0)return;let h=await D(null);if(!h.length)return;let p=(0,$.y)((0,$.x)(e)),g=new Map((await (0,o.f)().select({id:n.storedLogs.resourceId,n:a.B`count(*)::int`}).from(n.storedLogs).where((0,t.b)((0,t.y)(n.storedLogs.resourceId,h.map(e=>e.appId)),(0,t.B)(n.storedLogs.at,p))).groupBy(n.storedLogs.resourceId)).map(e=>[e.id,e.n])),m=new Map((await (0,o.f)().select({id:n.storedLogs.resourceId,at:(0,r.y)(n.storedLogs.at)}).from(n.storedLogs).where((0,t.y)(n.storedLogs.resourceId,h.map(e=>e.appId))).groupBy(n.storedLogs.resourceId)).map(e=>[e.id,e.at])),[f]=await (0,o.f)().select().from(n.settings).where((0,t.u)(n.settings.key,P)).limit(1),w=(d=f?.value)&&"object"==typeof d&&!Array.isArray(d)?Object.fromEntries(Object.entries(d).filter(e=>"string"==typeof e[1]&&!Number.isNaN(Date.parse(e[1])))):{},y=e.getTime()-864e5,I=await (0,l.P)(h,3,t=>{if(Date.now()+8500>s)return Promise.resolve(null);let r=[m.get(t.appId)?.getTime(),w[t.appId]?Date.parse(w[t.appId]):void 0].filter(e=>void 0!==e),a=new Date(Math.max(r.length?Math.max(...r)-3e5:y,y));return A(t.token,t.teamId,t.projectId,{since:a,until:e,now:e,levels:k,environment:"production",maxRows:300})}),b=h.map((e,t)=>{let s=I[t];return s?s.ok?(s.more&&i.push(`logs/${e.appName}: more than 300 log lines since the last read; the oldest were skipped`),s.lines.filter(e=>k.includes(e.level))):(i.push(`logs/${e.appName}: ${s.error}`),[]):[]}),v=b.flat().map(e=>e.rowId),M=new Set(v.length?(await (0,o.f)().select({rowId:n.storedLogs.rowId}).from(n.storedLogs).where((0,t.y)(n.storedLogs.rowId,v))).map(e=>e.rowId):[]),N=[];for(let[e,t]of h.entries()){let s=b[e].filter(e=>!M.has(e.rowId));if(!s.length)continue;let r=g.get(t.appId)??0,a=Math.max(0,1e3-r),l=(a>=s.length?s:s.slice(s.length-a)).map(e=>S(t,e));l.length&&await (0,o.f)().insert(n.storedLogs).values(l).onConflictDoNothing({target:n.storedLogs.rowId}),r+s.length>=1e3&&N.push(t.appId)}let q=h.filter((e,t)=>I[t]?.ok);if(q.length){let t={};for(let e of h)w[e.appId]&&(t[e.appId]=w[e.appId]);for(let s of q)t[s.appId]=e.toISOString();await (0,o.f)().insert(n.settings).values({key:P,value:t}).onConflictDoUpdate({target:n.settings.key,set:{value:t,updatedAt:new Date}})}await (0,u.f)(N.map(e=>({resourceId:e,type:"system",kind:"warn",message:"Stored-log limit reached",detail:"More than 1000 warnings and errors today; the rest stay in Vercel only for its short log history (about a day on Hobby).",reason:"LogCapReached"})))}async function C(e,r={}){let a=new Date(e.getTime()-(r.sinceMs??6048e5));return(await (0,o.f)().select({l:n.storedLogs,app:n.resources.name}).from(n.storedLogs).innerJoin(n.resources,(0,t.u)(n.resources.id,n.storedLogs.resourceId)).where((0,t.b)((0,t.B)(n.storedLogs.at,a),...r.appId?[(0,t.u)(n.storedLogs.resourceId,r.appId)]:[])).orderBy((0,s.A)(n.storedLogs.at)).limit(500)).map(({l:e,app:t})=>({id:e.rowId,at:e.at,level:e.level,app:t,method:e.requestMethod,path:e.requestPath,status:e.statusCode,message:e.message})).reverse()}e.s(["M",0,C,"g",0,D,"_",0,j],381725)},943816,e=>{let t=e=>"number"==typeof e&&Number.isFinite(e)&&e>=0?e:null;e.s(["G",0,function(e){let s=e&&"object"==typeof e?e.pageviews:null;if(!s||"object"!=typeof s)return null;let r="string"==typeof s.readAt?Date.parse(s.readAt):0/0;if(Number.isNaN(r)||"boolean"!=typeof s.enabled)return null;if(!s.enabled)return{enabled:!1,readAt:new Date(r)};let a=t(s.total24h),o=null===s.visitors24h?null:t(s.visitors24h);if(null===a||null===o&&null!==s.visitors24h)return null;let n=36e5*Math.floor(r/36e5),l=new Map;for(let e of Array.isArray(s.hourly)?s.hourly:[]){if(!Array.isArray(e))continue;let s="string"==typeof e[0]?Date.parse(e[0]):0/0,r=t(e[1]);if(Number.isNaN(s)||null===r)continue;let a=36e5*Math.floor(s/36e5);l.set(a,(l.get(a)??0)+r)}return{enabled:!0,total:a,visitors:o,hours:Array.from({length:24},(e,t)=>{let s=n-(23-t)*36e5;return{at:new Date(s),views:l.get(s)??0}}),readAt:new Date(r)}},"R",0,function(e){return!e.gone&&e.teamId&&e.accountOk?e.hasProductionDeploy?null:"Not read: this app has no production deployment yet.":"Not read: this app isn't in a connected Vercel account."},"Z",0,function(e,t){return e.enabled?{enabled:!0,total24h:e.total,visitors24h:e.visitors,readAt:t.toISOString(),hourly:e.hourly.slice(-24).map(e=>[e.at.toISOString(),e.views])}:{enabled:!1,readAt:t.toISOString()}}])}]})();
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=src_lib_1onr7b4_kglpt._.js.map
|