watchbell 1.7.0 → 1.7.1
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/build-manifest.json +3 -3
- package/server/.next/prerender-manifest.json +3 -3
- package/server/.next/required-server-files.json +1 -1
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +19 -19
- package/server/.next/server/app/(console)/overview/page.js +52 -51
- 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.js +5 -5
- package/server/.next/server/app/(console)/reports/[id]/pdf/route.js.nft.json +1 -1
- package/server/.next/server/app/(console)/reports/page/server-reference-manifest.json +35 -15
- package/server/.next/server/app/(console)/reports/page.js +52 -51
- package/server/.next/server/app/(console)/reports/page.js.nft.json +1 -1
- package/server/.next/server/app/(console)/reports/page_client-reference-manifest.js +1 -1
- 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 +52 -51
- 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 +52 -51
- 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 +23 -23
- package/server/.next/server/app/(console)/settings/page.js +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +30 -30
- package/server/.next/server/app/(console)/supabase/page.js +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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 +52 -51
- 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.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 +2 -2
- package/server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- 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 +3 -3
- package/server/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- 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 +59 -59
- 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 +66 -66
- package/server/.next/server/app/api/daily/route.js.nft.json +1 -1
- package/server/.next/server/app/api/ping/[...parts]/route.js +1 -1
- package/server/.next/server/app/api/ping/[...parts]/route.js.nft.json +1 -1
- package/server/.next/server/app/api/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/telegram/webhook/route/server-reference-manifest.json +8 -8
- package/server/.next/server/app/api/telegram/webhook/route.js +50 -49
- package/server/.next/server/app/api/telegram/webhook/route.js.nft.json +1 -1
- package/server/.next/server/app/api/v1/advice/route.js +9 -9
- 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.nft.json +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.nft.json +1 -1
- package/server/.next/server/app/api/v1/ai/questions/route.js +8 -8
- 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 +7 -7
- package/server/.next/server/app/api/v1/mcp/route.js.nft.json +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.nft.json +1 -1
- package/server/.next/server/app/api/v1/status/apps/[app]/route.js +10 -10
- 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 +10 -10
- package/server/.next/server/app/api/v1/status/route.js.nft.json +1 -1
- package/server/.next/server/app/api/watchdog/route.js +4 -4
- package/server/.next/server/app/api/watchdog/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/confirm/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/google/callback/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/google/create/callback/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/not-member/route.js.nft.json +1 -1
- package/server/.next/server/app/auth/session-ended/route.js.nft.json +1 -1
- package/server/.next/server/app/brand-icon/route.js +6 -6
- package/server/.next/server/app/brand-icon/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 +27 -26
- 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 +27 -26
- 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.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 +1 -1
- 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.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 +25 -24
- 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/chunks/{[externals]__0oqc6ym5k457v._.js → [externals]__0ws552tlu2170._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1aervsuoo1qe_._.js → [externals]__14rgrk9t-kxa1._.js} +1 -1
- package/server/.next/server/chunks/{[externals]__1oag9t_9gex2-._.js → [externals]__1pdwh-htbnox8._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0-amtx67pqi56._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__01dj-ln12bcmb._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0_2fr1g7uby1m._.js → [root-of-the-server]__01nlh4ps9u-65._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__016wnct3b5iby._.js → [root-of-the-server]__01ur0kf75ampv._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0ra_bw8zg6kmk._.js → [root-of-the-server]__028m_6oqyqmyy._.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]__1hcn00gn9mapd._.js → [root-of-the-server]__02wzui3ksepqf._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0326wv5xmnp48._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__03276vwi4jgvk._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0tsly874_mafr._.js → [root-of-the-server]__03537tx7cun49._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1p1e6x-mb7ro2._.js → [root-of-the-server]__0400g-0wvq3uf._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__04htuwoulmp21._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__05qcc-0e8z1u8._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0ux78ppoct5b_._.js → [root-of-the-server]__06bn4cfh-g8-d._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1ia-rts7ilt7c._.js → [root-of-the-server]__06ty1ktg427pm._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0afpn-tk2qlu0._.js → [root-of-the-server]__076yrld-lo25r._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__07eo--c90cju2._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0xnag1k7mnvoh._.js → [root-of-the-server]__081k4lp976vd7._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__08i6b8tzxads4._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__09oipjf2ew_pn._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1-bbb_srnbm5x._.js → [root-of-the-server]__0_c_c1bv7sopk._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0mg6rmq22tf26._.js → [root-of-the-server]__0a34twsor45ml._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__07gjmfv5mi33j._.js → [root-of-the-server]__0bjh2kw90a-m_._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0pm83e1a3wwlw._.js → [root-of-the-server]__0c41pzboxtjvz._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0ng-t81zeeipc._.js → [root-of-the-server]__0dahxh87cvyn2._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0dd4hulw1w-4i._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0nyxfjn368366._.js → [root-of-the-server]__0dfkxg4ax2hqz._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0e3hcgbyb09-p._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0gv3v5775wfmw._.js → [root-of-the-server]__0fk1609_5zg7g._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0fl1uspuemkzr._.js +3 -0
- 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]__0jz91oppmwtiq._.js → [root-of-the-server]__0hm5-0_rh9r6m._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1qelr0qe50xap._.js → [root-of-the-server]__0hwm4j4o2v8nc._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0k73a-s2lcpoz._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0kk-m8_ul4f4k._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0jevd1p5unnre._.js → [root-of-the-server]__0kzgu06ee59vd._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0mrbo2p5fy4ji._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0nw8jgr3bsi8b._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0g0-q56cumuup._.js → [root-of-the-server]__0o4e39mvq8_el._.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]__1le7r_1_00km1._.js → [root-of-the-server]__0opds07bp1fnb._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__070v8547b4qpa._.js → [root-of-the-server]__0pfcnbr0br6li._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1-9vvc9y0qqhf._.js → [root-of-the-server]__0pi9id-ywuq6g._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0aazgg7203ez1._.js → [root-of-the-server]__0s3zxs-_ayd-6._.js} +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0eyd4kffoz9ex._.js → [root-of-the-server]__0sgy49rgsxyvy._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0sp5xoed3-994._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__03y8yvaulshnn._.js → [root-of-the-server]__0swji6flwxtbv._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0p_rkszoindlf._.js → [root-of-the-server]__0tyilr06jn8nb._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0uss50b85q1j1._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0w1iqt-rpp_3h._.js → [root-of-the-server]__0vco1v37du1ez._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0vp-x4ifpr3p9._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__05s9-538s47_e._.js → [root-of-the-server]__0w_hiz5nrm8-4._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__0xzl28izr2tiq._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__0xzreqng-t2g8._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0b7xflnrk4amk._.js → [root-of-the-server]__0z9of310ruzug._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__0zu1odpvrptrt._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__14cb1pomeg0x7._.js → [root-of-the-server]__1-3u16rnk101p._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1-pe9ipc3y6rn._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1-tqm3jzny4zd._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1mqv7anx5l3yq._.js → [root-of-the-server]__108g59p2fl8tw._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__12_wmn5mkj9v7._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0vuirlylhcyzm._.js → [root-of-the-server]__12bo9op0qkw9d._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0p955ekgdwy_c._.js → [root-of-the-server]__12tontjm90s-j._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__13-qqkdecmwba._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1qxm3lqqdbyy7._.js → [root-of-the-server]__140ixflf83vxj._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1qqdsrhuw0z-w._.js → [root-of-the-server]__152e1b97gc8hw._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__153lxhkj8-_vf._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1rusbj8ktmzj0._.js → [root-of-the-server]__15tr3yx8k9lyt._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__029099rqwqwff._.js → [root-of-the-server]__16-0nul8mfe2m._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__0qhyj1r9qcxp3._.js → [root-of-the-server]__172vz80sdr5ny._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__177l2p7kcj-16._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__0u4o6oo428rvf._.js → [root-of-the-server]__17bz0jxsns742._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1gl0-1oziw-g0._.js → [root-of-the-server]__17jjm80vttqmq._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1pu84qy7loc8o._.js → [root-of-the-server]__18eqxi2vwpdjm._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__194y_mcnn0zs3._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1_iy7tzpesarf._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1_vfu21n1zq17._.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]__1cy1k8jbwoull._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1d4wmw2wohveb._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__02ctwy1u4z3fj._.js → [root-of-the-server]__1dp_mz2p02ze6._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__11yn1ky7yixd7._.js → [root-of-the-server]__1eng6c6q52y-6._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1etg41llk7f09._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1f-rkijnm8me7._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__0t6rge6laz89-._.js → [root-of-the-server]__1gfuhug61s-qy._.js} +2 -2
- package/server/.next/server/chunks/{[root-of-the-server]__1ywvdsk_bmws0._.js → [root-of-the-server]__1git7o20yf9nn._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1h496oc8wu4s6._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1hertcbqi_w97._.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]__1j-nkcwy3w6sy._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1jcr8cc_tlvfc._.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1l3uz57-1a35s._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1l9pn8y-o6xyp._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1lp_rypkkdjp9._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1m-z1ne4p7pi5._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__12w6gylk59cym._.js → [root-of-the-server]__1ma2tpf6wh9p6._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1nohrxjajgm5c._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1o2km61kftkj1._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1pn773t93gvn-._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1q0h-x-7ob6cu._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1q2e13halne9s._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1q7xy_u4inf4h._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1qtorf4s2dfeg._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1sm4p209f_yie._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1uhgqik99k1y6._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1uq4f0bdphqs2._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1gufo2kz88z04._.js → [root-of-the-server]__1usilhckla3wj._.js} +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__1v_8mu8mt1n5i._.js +3 -0
- package/server/.next/server/chunks/{[root-of-the-server]__1yk1psrx0yy4n._.js → [root-of-the-server]__1vtlx_63lj4tg._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1wxj0f-l93gkh._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__1x4u0cdsl_81t._.js +1 -1
- package/server/.next/server/chunks/{[root-of-the-server]__1lvf4tk_1td0a._.js → [root-of-the-server]__1x7en4waq21dd._.js} +2 -2
- package/server/.next/server/chunks/[root-of-the-server]__1xzg_370-w-6t._.js +3 -0
- package/server/.next/server/chunks/[root-of-the-server]__20dehd8e5-v9y._.js +1 -1
- package/server/.next/server/chunks/_01epotkqa90nv._.js +1 -1
- package/server/.next/server/chunks/_03wces6vk33l0._.js +3 -0
- package/server/.next/server/chunks/_08q7x7rdbiaql._.js +9 -9
- package/server/.next/server/chunks/_09iin0yvuppj0._.js +3 -0
- package/server/.next/server/chunks/{_1w9di5m91vtjk._.js → _0buibatfr6-k_._.js} +3 -3
- package/server/.next/server/chunks/_0d29nzne5jrwy._.js +9 -9
- package/server/.next/server/chunks/{_1txqs5b7jg9so._.js → _0hekve2tk2eyv._.js} +3 -3
- package/server/.next/server/chunks/_0huryxihjw6tl._.js +9 -9
- package/server/.next/server/chunks/_0n-wbmmvp4omq._.js +1 -1
- package/server/.next/server/chunks/_0ou2tylxx1ltw._.js +2 -2
- package/server/.next/server/chunks/{_0lboyl6w4kfx4._.js → _0s_2fgaxby9fy._.js} +3 -3
- package/server/.next/server/chunks/_0z4b07-oa6ms9._.js +3 -0
- package/server/.next/server/chunks/_10mj3f1wis1ld._.js +1 -1
- package/server/.next/server/chunks/_139_9h76gakgh._.js +3 -0
- package/server/.next/server/chunks/_14jiq00zwwqdl._.js +3 -0
- package/server/.next/server/chunks/_15f0c7f46zkh3._.js +1 -1
- package/server/.next/server/chunks/_1e4rch26scbhq._.js +9 -9
- package/server/.next/server/chunks/_1iunyzyr-tfdj._.js +9 -9
- package/server/.next/server/chunks/_1jor4_sz1x8mt._.js +3 -0
- package/server/.next/server/chunks/_1m3zrm9-rc926._.js +3 -0
- package/server/.next/server/chunks/_1mwwg18ni-phb._.js +3 -0
- package/server/.next/server/chunks/_1ohb_bmawpjlz._.js +2 -2
- package/server/.next/server/chunks/src_0--qn984h6czu._.js +1 -1
- package/server/.next/server/chunks/src_0071b0w5aco6_._.js +3 -0
- package/server/.next/server/chunks/src_1-6a00bmwlymu._.js +3 -0
- package/server/.next/server/chunks/src_1-dy6ie3_ezvm._.js +3 -0
- package/server/.next/server/chunks/{src_1s913pql1_n-f._.js → src_13ij0feyzy7me._.js} +2 -2
- package/server/.next/server/chunks/{src_1_y0pxtbr6e04._.js → src_14vh1kj98t0xu._.js} +2 -2
- package/server/.next/server/chunks/src_1_s_jyur8tzy3._.js +3 -0
- package/server/.next/server/chunks/src_1a5yibsjcy1ga._.js +1 -1
- package/server/.next/server/chunks/src_1dio7z4_so000._.js +3 -0
- package/server/.next/server/chunks/src_1hpbxjbqlnuob._.js +3 -0
- package/server/.next/server/chunks/src_1u-olt84z63rx._.js +1 -1
- package/server/.next/server/chunks/{src_1mwttl5ainte0._.js → src_20eae99bkrgpt._.js} +2 -2
- package/server/.next/server/chunks/src_lib_0-fln6xaazo-9._.js +12 -0
- 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_0pyyxm3m1rttg._.js +1 -1
- package/server/.next/server/chunks/src_lib_13irheo9qqhgx._.js +1 -1
- package/server/.next/server/chunks/src_lib_1jlvdx5ho171c._.js +12 -0
- 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 +1 -1
- package/server/.next/server/chunks/src_lib_branding_ts_0jfv9nur5alvy._.js +1 -1
- package/server/.next/server/chunks/src_lib_collector_auth_ts_0lqx92__e4zij._.js +4 -4
- package/server/.next/server/chunks/src_lib_data_report-db_ts_0b5f4dpxn08gk._.js +1 -1
- package/server/.next/server/chunks/src_lib_data_sections-db_ts_1ky6-o4z1mimq._.js +4 -4
- package/server/.next/server/chunks/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +3 -0
- package/server/.next/server/chunks/src_lib_data_settings-db_ts_2060-w9nbvitr._.js +3 -0
- package/server/.next/server/chunks/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +8 -8
- package/server/.next/server/chunks/src_lib_demo_pool_ts_14rjvkgozh1d4._.js +1 -1
- package/server/.next/server/chunks/src_lib_demo_pool_ts_17xz9bk-d5uic._.js +1 -1
- package/server/.next/server/chunks/src_lib_demo_pool_ts_210g_on8zx_-n._.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]__0byytapt83qke._.js → [externals]__1299yq-rye4ww._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__1baveo0r8_hf1._.js → [externals]__134px-n77ygse._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__02peoq6kft9oz._.js → [externals]__1s9zy_6f7xfd5._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[externals]__0gb_9a2m3eqk5._.js → [externals]__1t5grpj1lrsbr._.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]__1pr-neo8jutji._.js → [root-of-the-server]__03iw2anbe7pxg._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_axyb404w3bf._.js → [root-of-the-server]__059q8f4tia03z._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__05uxv6qwfpp79._.js → [root-of-the-server]__05ot6j41b9i8j._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__09blzlbsxqvy9._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__12c2r19g75dyy._.js → [root-of-the-server]__0_wsm-adqpmgy._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1_q3kww244pif._.js → [root-of-the-server]__0buxkrf7nrji8._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__041mpme_x36vq._.js → [root-of-the-server]__0f6ao2fs70kab._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0rrnk3_fb0l_9._.js → [root-of-the-server]__0f8ibnqfh_mp0._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0h8-rlmhjyebb._.js +3 -0
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0jgapr1cnvhi6._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0kejvdc7h-pgz._.js +3 -0
- 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]__1ev5rocipbkjw._.js → [root-of-the-server]__0kjdpn_g9gvwr._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0l50vsk8enxzj._.js +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1z_pt3d8lty_n._.js → [root-of-the-server]__0msczl_qf2eml._.js} +2 -2
- 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]__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]__1xkfr7qk7oxjf._.js → [root-of-the-server]__0s9z1kusbxvae._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__13x0qmv4fm_1p._.js → [root-of-the-server]__0wlctoz_-yuyh._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0y6psx1_d7fkt._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1zsqu1mecqptt._.js → [root-of-the-server]__0yr0heg1b0y5t._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1z3vauqrf2l-_._.js → [root-of-the-server]__0yvm5q_auexh3._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0qhbs-or7q-om._.js → [root-of-the-server]__0zgo5h9mstjc8._.js} +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1mbb917mrz5c-._.js → [root-of-the-server]__107qfgl2c58q0._.js} +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__10ahcnczmy5hx._.js +3 -0
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1n-rcmbkk7duv._.js → [root-of-the-server]__12cdcpj45tu6j._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__18dcfrlpoapw9._.js +1 -1
- 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]__1k8mxdm-cxfg_._.js → [root-of-the-server]__1a3_aiqflmt4f._.js} +2 -2
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__0vqae5m2ntd34._.js → [root-of-the-server]__1brzt_134_2iy._.js} +2 -2
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1g6kynby65m0v._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1sw2q1p1t59y8._.js +1 -1
- package/server/.next/server/chunks/ssr/[root-of-the-server]__1t9_ue4abugtn._.js +3 -0
- 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 +1 -1
- package/server/.next/server/chunks/ssr/{[root-of-the-server]__1gkcoq0cmmax1._.js → [root-of-the-server]__1zki66ic3cluq._.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/_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 +1 -1
- 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/{_0xkl4rb1wydtd._.js → _0k6kbi721s28p._.js} +2 -2
- package/server/.next/server/chunks/ssr/_0kdn56_ow-x_s._.js +1 -1
- package/server/.next/server/chunks/ssr/_0kk0of-t4vhyh._.js +1 -1
- package/server/.next/server/chunks/ssr/{_0lg6_we0pe3nk._.js → _0l0eho21fo-8l._.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/_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/{_1ge8mluhma23o._.js → _0x4ybc829r3ta._.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/_19-3vzkc6rk97._.js +1 -1
- package/server/.next/server/chunks/ssr/_1_-o2s48aj4i7._.js +1 -1
- package/server/.next/server/chunks/ssr/_1c7jkkvkvzj_u._.js +2 -2
- package/server/.next/server/chunks/ssr/{_0kq3wqx86yyhb._.js → _1cdlzhw6tkrhd._.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/_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/_1he21-bt45k8z._.js +2 -2
- package/server/.next/server/chunks/ssr/_1j9cka-44jd65._.js +1 -1
- package/server/.next/server/chunks/ssr/_1jh_o2i8hj2g5._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ln6o3a9quwxo._.js +2 -2
- package/server/.next/server/chunks/ssr/_1m4km_w39x5e9._.js +1 -1
- package/server/.next/server/chunks/ssr/_1ong0a252wcvc._.js +8 -8
- package/server/.next/server/chunks/ssr/_1pp1o361lgpwu._.js +2 -2
- package/server/.next/server/chunks/ssr/_1q3fi6a4gklq6._.js +1 -1
- 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/{_170okt24rw1yx._.js → _1zsfeuyrhcwmh._.js} +2 -2
- 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 +1 -1
- 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/{[root-of-the-server]__1q6iypbn6yagc._.js → src_000iv6actp3t_._.js} +2 -2
- 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_0abts6wp5ucc0._.js +1 -1
- package/server/.next/server/chunks/ssr/src_0etvjdinp5urq._.js +1 -1
- 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_18ofj2_oxqb0g._.js → src_0torilf0s7p-e._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_10zavgy86u3us._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_1ldp01vcphvw5._.js → src_1_b884ul0envr._.js} +2 -2
- 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)_0eh38ymzn-s-m._.js → src_app_(console)_0e1l3e9r_60s4._.js} +2 -2
- package/server/.next/server/chunks/ssr/{src_app_(console)_03s-e0b0zsqqr._.js → src_app_(console)_124kgxvmqm7j4._.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 +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_1icfsti04djqe._.js +2 -2
- package/server/.next/server/chunks/ssr/src_app_(console)_sql_actions_ts_1oqco02hw-3vp._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_0ib3m2ch9gu-4._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_1ofufib3-zzt-._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_supabase_pool-actions_ts_0nzd4vwy_9zzx._.js +1 -1
- package/server/.next/server/chunks/ssr/src_app_(console)_uptime_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_sp0qx8_z7c9._.js +1 -1
- package/server/.next/server/chunks/ssr/{src_app_signin_1-h17es4-y1-k._.js → src_app_signin_1qq0_77_vdutm._.js} +2 -2
- 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_0jnv54-8idu07._.js +1 -1
- package/server/.next/server/chunks/ssr/src_lib_1eioo4oodq-8h._.js +1 -1
- 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 +1 -1
- package/server/.next/server/chunks/ssr/src_lib_branding_ts_1p22ju9pii41w._.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_data_sections-db_ts_1ky6-o4z1mimq._.js +2 -2
- package/server/.next/server/chunks/ssr/src_lib_data_settings-db_ts_1to3jtggxlaz4._.js +3 -0
- package/server/.next/server/chunks/ssr/{src_lib_demo_0r3c3k5102jja._.js → src_lib_demo_03sepqqjq9usk._.js} +2 -2
- package/server/.next/server/chunks/ssr/src_lib_demo_pool_ts_0fpn8acsdk64i._.js +5 -5
- package/server/.next/server/chunks/ssr/src_lib_view_usage_ts_1h1tj0m3n2vul._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_0iy_wyg2p1jkn._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_actions_decide-form_tsx_1hngtxpyle3v8._.js +1 -1
- package/server/.next/server/chunks/ssr/src_private_ai_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 +3 -3
- 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 +178 -158
- package/server/.next/static/chunks/{2co8kv2tj776w.js → 0-v128fmc05bf.js} +1 -1
- package/server/.next/static/chunks/{1416wraxs5p8g.js → 02db293pqegsb.js} +1 -1
- package/server/.next/static/chunks/{2i5_2zcei6rqr.js → 03t36gu4t__cw.js} +1 -1
- package/server/.next/static/chunks/{3bvj3-0xltkjo.js → 07p13q6tuqr2r.js} +1 -1
- package/server/.next/static/chunks/{3ic9vbadne9of.js → 09qtiybhnydd3.js} +1 -1
- package/server/.next/static/chunks/{2txgb9zusks-w.js → 0_5leiwhgv7d6.js} +1 -1
- package/server/.next/static/chunks/{1nv_9c1bate-f.js → 0_ebioh9utve_.js} +1 -1
- package/server/.next/static/chunks/{1_uuog1-u6y0t.js → 0_hd-kx6h59a8.js} +1 -1
- package/server/.next/static/chunks/{2azwg3my8wh40.js → 0if7r4ximmzwb.js} +1 -1
- package/server/.next/static/chunks/{2n198u7xx1koh.js → 0ohm_qoe5thrr.js} +1 -1
- package/server/.next/static/chunks/0ssmmtio659vh.js +1 -0
- package/server/.next/static/chunks/{07_cb192ydsaj.js → 0t0igs6uqhbf0.js} +1 -1
- package/server/.next/static/chunks/{0zwq-z8jt5hpz.js → 0ut06v9sng9g4.js} +1 -1
- package/server/.next/static/chunks/{0s00_-em3cj00.js → 0w--mj7tf-9f-.js} +1 -1
- package/server/.next/static/chunks/131egbz-4xsjl.js +1 -0
- package/server/.next/static/chunks/{3ic7ri5b4ifjp.js → 14dbn6_jif37v.js} +2 -2
- package/server/.next/static/chunks/{1vt_t7dg_-pyu.js → 15l58okvbrc4_.js} +1 -1
- package/server/.next/static/chunks/{378ttzg87hows.js → 1_nuygyg_kes5.js} +2 -2
- package/server/.next/static/chunks/{3-us-wg44ohoc.js → 1bsq3x1wh49bp.js} +1 -1
- package/server/.next/static/chunks/{3n98m8tj20wcf.js → 1esunqtpnjwkw.js} +1 -1
- package/server/.next/static/chunks/{1j_hduntj28ij.js → 1gizey8idqrkt.js} +1 -1
- package/server/.next/static/chunks/{0gxxyq5l_0rp2.js → 1itgjll79qm1l.js} +1 -1
- package/server/.next/static/chunks/{3dktq-qmj2q5b.js → 1o27sfcuph25w.js} +1 -1
- package/server/.next/static/chunks/{31fs88f_h861n.js → 1pz19kzjaj8uw.js} +1 -1
- package/server/.next/static/chunks/{0a9mqrzg8420n.js → 1qzun1-bna-sy.js} +1 -1
- package/server/.next/static/chunks/{3mgd5b39ghc-w.js → 1ugo5ye01racz.js} +1 -1
- package/server/.next/static/chunks/{2gk24b05q4q57.js → 1z5s55o29xqyu.js} +1 -1
- package/server/.next/static/chunks/21gu7xcv8ix3_.js +1 -0
- package/server/.next/static/chunks/{3aglnkhgcl_kq.js → 21p4xz6ysy8mv.js} +1 -1
- package/server/.next/static/chunks/{0ynyx3s7s4mv7.js → 22bdke6t-doqh.js} +1 -1
- package/server/.next/static/chunks/{1nqpnndfmw0tc.js → 28ljlwfuuz5a1.js} +1 -1
- package/server/.next/static/chunks/29lr_ae0uli9o.js +1 -0
- package/server/.next/static/chunks/{1yyigrxptb7jm.js → 2jkqfajf-i0r6.js} +2 -2
- package/server/.next/static/chunks/{2sr03gtef27q0.js → 2mhli3hpy5vr9.js} +1 -1
- package/server/.next/static/chunks/{3u1v2wpzthilq.js → 2ns8p-8ngmi9h.js} +1 -1
- package/server/.next/static/chunks/{0valedxcn7j8k.js → 2vdwhg5fnxmu-.js} +2 -2
- package/server/.next/static/chunks/{1azdri14ocjgg.js → 2xgya43mybqsr.js} +11 -11
- package/server/.next/static/chunks/{3cti7pgg_jjlx.js → 2yv02i0h6tppe.js} +1 -1
- package/server/.next/static/chunks/{3-789qaoce7ff.js → 31gsdl-_t96jr.js} +1 -1
- package/server/.next/static/chunks/{2db0smm21dva_.js → 3_lq_n61v4j3r.js} +1 -1
- package/server/.next/static/chunks/{0_xoojw9q_nof.js → 3a11wypkvc5ey.js} +1 -1
- package/server/.next/static/chunks/{0dn6fty1ilg-n.js → 3g0p8ugqre9ft.js} +1 -1
- package/server/.next/static/chunks/{28_88x_e_ynaj.js → 3jq1ae0_9wu-o.js} +1 -1
- package/server/.next/static/chunks/3o358k-0653gr.js +1 -0
- package/server/.next/static/chunks/{05c15dcfh7cxm.js → 3pnzdk7snuzti.js} +1 -1
- package/server/.next/static/chunks/4114b2ynqr24j.js +1 -0
- package/server/.next/static/chunks/{28qjoy38cp5by.js → 41r6z31pmixbr.js} +1 -1
- package/server/.next/static/chunks/{3lw5n6yzs0665.js → 43wc7pgukn2dp.js} +1 -1
- package/server/.next/static/chunks/{1cd-2y1kwqosv.js → 4451kr05p691g.js} +1 -1
- package/server/.next/static/chunks/{1w51uxl19faw3.js → 44t_7rpq23-bz.js} +1 -1
- package/server/server.js +1 -1
- package/server/.next/server/chunks/[root-of-the-server]__00s0famyfjv1y._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__03z520-siwkv_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__06od3qx7q00rc._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__09bwtkv2iniyt._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0bb8xnocnnbt8._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0c0drtvym6hf4._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0frz3wu-qcv-d._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0hm-azhxs9ted._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0n-u6p8-hd-89._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0p2n1_qp53y51._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0p8j8b2tg73dq._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0q9s7rbt0e-cf._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ra3lgjt0yuyy._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0sgumm0843o2j._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0vjvvirn6-fx-._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0welpj78704um._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0ymf9ppvpsffe._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__0zxrhqtvpoio4._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__10-4cctiab73h._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__11300e77grhx6._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__11tzj3jzqzk6v._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__12m0p1vyef6d5._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__13i4zx_j8zugt._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1420nm1i823v8._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1cnmxehqzmqq_._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1f84fftr_6_6n._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1i_vd8w3df3i6._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1igmx9-fdh2wd._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1kp2wois-47bg._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1lcszcm98v484._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1mufebnwyxlwx._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1o0lvy6ek0v5d._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1qwy7s_95k9k-._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1rxaooz-d8jfs._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1s8f1ovcj5r99._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1tdb11b6vn4qm._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1ti5-6okt7fur._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1w_ga9n2lj53n._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1xe_98y-j38aq._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1z9kl-irij2lu._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1zmoy4u_xb_yi._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__1zq2zv2ogn3ot._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__202mmzv3u-hk1._.js +0 -3
- package/server/.next/server/chunks/[root-of-the-server]__20tvyorpg49kd._.js +0 -3
- package/server/.next/server/chunks/_04oi0m63biyjd._.js +0 -3
- package/server/.next/server/chunks/_0bki3kju_1u1f._.js +0 -3
- package/server/.next/server/chunks/_0djze-128wsu0._.js +0 -3
- package/server/.next/server/chunks/_0hm72d9am2vfs._.js +0 -3
- package/server/.next/server/chunks/_1nuny071s602h._.js +0 -3
- package/server/.next/server/chunks/_1sx70w_rurjin._.js +0 -3
- package/server/.next/server/chunks/_1tl0532dffdm-._.js +0 -3
- package/server/.next/server/chunks/src_0frmhaaejchbk._.js +0 -3
- package/server/.next/server/chunks/src_0kihmyo3yghxy._.js +0 -3
- package/server/.next/server/chunks/src_16t2uefmdlh8d._.js +0 -3
- package/server/.next/server/chunks/src_17j4dgvb7rx7k._.js +0 -3
- package/server/.next/server/chunks/src_20xyhmuf0y6_v._.js +0 -3
- package/server/.next/server/chunks/src_lib_0hw2g5g295xx0._.js +0 -12
- package/server/.next/server/chunks/src_lib_1hveabvnpk83x._.js +0 -12
- package/server/.next/server/chunks/src_lib_collector_deploy-days_ts_087kwe68m4i93._.js +0 -3
- package/server/.next/server/chunks/src_lib_notify_lang_ts_1r2w02ctaky7e._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__01o65-2jgmg9x._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__0q7rssq_3unbc._.js +0 -3
- package/server/.next/server/chunks/ssr/[root-of-the-server]__11yadiuejywcz._.js +0 -3
- package/server/.next/server/chunks/ssr/_0j_qqta7rirh5._.js +0 -3
- package/server/.next/server/chunks/ssr/src_09q8lx_19nta6._.js +0 -3
- package/server/.next/static/chunks/10y41_ed7ty6e.js +0 -1
- package/server/.next/static/chunks/16gt7hkgltvf7.js +0 -1
- package/server/.next/static/chunks/1sjgdu3r0baj-.js +0 -1
- package/server/.next/static/chunks/1velx-cd3d5y1.js +0 -1
- package/server/.next/static/chunks/1xydxxektmjgr.js +0 -1
- package/server/.next/static/chunks/2jflssspiz3-i.js +0 -1
- /package/server/.next/static/{NUZVcU60U-vXVedu_GB0w → GBOxoOLq1PhjMCzrjHGdg}/_buildManifest.js +0 -0
- /package/server/.next/static/{NUZVcU60U-vXVedu_GB0w → GBOxoOLq1PhjMCzrjHGdg}/_clientMiddlewareManifest.js +0 -0
- /package/server/.next/static/{NUZVcU60U-vXVedu_GB0w → GBOxoOLq1PhjMCzrjHGdg}/_ssgManifest.js +0 -0
package/server/.next/server/chunks/ssr/src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[929994,a=>{"use strict";var b=a.i(187924),c=a.i(817748),d=a.i(901615),e=a.i(572131),f=a.i(823292),g=a.i(405050);let h=(0,g.createServerReference)("60f5d287f181d98a476f3d7c1932a1e8cd1d7f2192",g.callServer,void 0,g.findSourceMapURL,"createOptionsAction"),i=(0,g.createServerReference)("0085158c8a45d0b3554d7a8b05bbf9eb90215f852f",g.callServer,void 0,g.findSourceMapURL,"disconnectGoogleCreate"),j=(0,g.createServerReference)("708d6fcc646cc40545b2ef6ebd7f603aec5fd47c2c",g.callServer,void 0,g.findSourceMapURL,"requestCreateAction"),k=(0,g.createServerReference)("0074f11634b49b392fac3ac4fa39eec445b3f0c717",g.callServer,void 0,g.findSourceMapURL,"startGoogleCreateConnect");var l=a.i(771378),m=a.i(611619),n=a.i(619089),o=a.i(507504),p=a.i(814574);let q=["This asks Google for the cloud-platform permission: it is broad (it can manage every Google Cloud project you own), so the console uses it only to create a project and add Firebase to it after your approval, and never to change or delete anything.","Google shows an \"unverified app\" warning because Watchbell's OAuth client isn't verified for this scope. It is your own client for your own use: choose Advanced → Go to Watchbell.","While the OAuth consent screen is in Testing mode, Google ends this grant after 7 days; connect again when a create says so. Remove it any time in your Google Account → Security → Third-party access."];d.n.notSet("GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET",!0);var r=a.i(486583),s=a.i(620214);let t=(a,b=300)=>"string"==typeof a&&a.length<=b?a:"",u=(a,b)=>({ok:!1,field:a,error:b}),v=/^(?:\*|[a-z0-9_](?:[a-z0-9_-]{0,61}[a-z0-9_])?)$/,w=/^[a-z0-9][a-z0-9-]{0,62}$/,x=/^br-[a-z0-9-]{3,60}$/,y=[["ap-southeast-1","Southeast Asia (Singapore)"],["ap-northeast-1","Northeast Asia (Tokyo)"],["ap-northeast-2","Northeast Asia (Seoul)"],["ap-southeast-2","Oceania (Sydney)"],["ap-south-1","South Asia (Mumbai)"],["ap-east-1","East Asia (Hong Kong)"],["us-east-1","East US (North Virginia)"],["us-east-2","East US (Ohio)"],["us-west-1","West US (North California)"],["us-west-2","West US (Oregon)"],["ca-central-1","Canada (Central)"],["sa-east-1","South America (São Paulo)"],["eu-west-1","West EU (Ireland)"],["eu-west-2","West EU (London)"],["eu-west-3","West EU (Paris)"],["eu-north-1","North EU (Stockholm)"],["eu-central-1","Central EU (Frankfurt)"],["eu-central-2","Central EU (Zurich)"]],z=y.map(([a])=>a),A=/^[A-Za-z0-9][A-Za-z0-9 ._-]{0,62}$/,B=/^[\w-]{1,64}$/,C=/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/,D=/^[A-Za-z0-9 '"!-]{4,30}$/;var E=a.i(762802);let F={dns_record:"The name must be new in this zone. Proxied is off unless you turn it on.",neon_branch:"The branch is created without a compute, so it uses no CU-hours until you wake it. Waking it later uses CU-hours (100 a month per project on the free plan).",supabase_project:"Only an organization on the free plan is allowed. The database password is generated when the Owner approves and shown once.",firebase_project:"A Google Cloud project without a billing account (the free Spark plan), then Firebase is added to it."};function G({type:a,target:c,targetName:d,onDone:g}){let i=(0,l.useMask)(),[k,m]=(0,e.useState)(null),[o,q]=(0,e.useState)(null),[y,E]=(0,e.useState)(c),[K,L]=(0,e.useState)({type:"CNAME",ttl:s.k,proxied:!1,region:"ap-southeast-1"}),[M,N]=(0,e.useState)(null),[O,P]=(0,e.useTransition)(),Q=(a,b)=>L(c=>({...c,[a]:b}));(0,e.useEffect)(()=>{let b=!0;return h(a,y).then(a=>{if(b)if(a.ok&&a.data){if(m(a.data),"neon_branch"===a.data.type){let b=(a.data.branches.find(a=>a.isDefault)??a.data.branches[0])?.id??"";L(a=>({...a,parentId:a.parentId??b}))}if("supabase_project"===a.data.type){a.data.accountId&&a.data.accountId!==y&&E(a.data.accountId);let b=a.data.orgs.find(a=>a.allowed);b&&L(a=>({...a,orgSlug:b.slug}))}}else q(a.ok?"Something went wrong.":a.error)}).catch(()=>b&&q("Couldn't load the choices. Try again.")),()=>{b=!1}},[a,y]);let R=a=>M?.field===a?M.text:void 0,S=k?.type==="firebase_project"&&(!k.envReady||!k.connected);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(p.F,{className:"text-base",children:i("text",`New ${r.S[a]}${"dns_record"===a||"neon_branch"===a?` in ${d}`:""}`)}),(0,b.jsxs)(p.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[F[a]," This only asks: the Owner approves it with the authenticator code, then the console checks the free tier again and makes one create call at ",r.E[a],"."]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[o&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"danger",title:"Couldn't read the live choices",children:o})}),!k&&!o&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Reading the live choices…"}),"dns_record"===a&&(0,b.jsx)(H,{v:K,set:Q,fe:R,zone:d}),"neon_branch"===a&&k?.type==="neon_branch"&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[k.branches.length," of ",k.limit," branches used in this project."]}),(0,b.jsx)(n.O,{id:"cr-parent",label:"Copy from branch",error:R("parentId"),children:(0,b.jsx)("select",{id:"cr-parent",className:n.S,value:String(K.parentId??""),onChange:a=>Q("parentId",a.target.value),children:k.branches.map(a=>(0,b.jsxs)("option",{value:a.id,children:[i("text",a.name),a.isDefault?" (default)":""]},a.id))})}),(0,b.jsx)(n.O,{id:"cr-name",label:"New branch name",error:R("name"),help:"Lower-case letters, digits and hyphens, like preview-42.",children:(0,b.jsx)("input",{id:"cr-name",className:n.S,value:String(K.name??""),maxLength:63,spellCheck:!1,autoComplete:"off",onChange:a=>Q("name",a.target.value)})})]}),"supabase_project"===a&&k?.type==="supabase_project"&&(0,b.jsx)(I,{opts:k,v:K,set:Q,fe:R,account:y,setAccount:E}),"firebase_project"===a&&k?.type==="firebase_project"&&(0,b.jsx)(J,{opts:k,v:K,set:Q,fe:R}),M?.field==="form"&&(0,b.jsx)("p",{className:"mb-3 text-[12.5px] text-err",role:"alert",children:M.text})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(n.K,{onClick:g,disabled:O,children:"Cancel"}),(0,b.jsx)(n.K,{variant:"primary",onClick:function(){let b;(b="dns_record"===a?function(a,b){let c=a??{},d=t(c.type,10);if(!s.j.includes(d))return u("type","Only A, AAAA, CNAME and TXT records can be added here.");let e=function(a,b){let c=b.trim().toLowerCase().replace(/\.$/,""),d=a.trim().toLowerCase().replace(/\.$/,"");if(!d||!c||("@"===d?d=c:d===c||d.endsWith(`.${c}`)||(d=`${d}.${c}`),d.length>253))return null;let e=d===c?"":d.slice(0,-(c.length+1));return e&&!e.split(".").every((a,b)=>v.test(a)&&("*"!==a||0===b))?null:d}(t(c.name,260),b);if(!e)return u("name",`The name must be a host in ${b}, like shop or shop.${b}.`);let f="number"==typeof c.ttl?c.ttl:s.k,g=(0,s.V)({type:d,name:e},{content:t(c.content,4096),ttl:f,proxied:!0===c.proxied});return g.ok?{ok:!0,inputs:{zoneName:b.toLowerCase(),type:d,name:e,content:g.values.content,ttl:g.values.ttl,proxied:g.values.proxied}}:u(g.field,g.error)}(K,d):"neon_branch"===a?function(a,b){let c=a??{},d=t(c.name,80).trim();if(!w.test(d))return u("name","Use 1 to 63 lower-case letters, digits and hyphens, starting with a letter or digit.");let e=t(c.parentId,80);return x.test(e)?{ok:!0,inputs:{projectName:b,parentId:e,name:d}}:u("parentId","Pick the branch to copy from.")}(K,d):"supabase_project"===a?function(a){let b=a??{},c=t(b.orgSlug,80);if(!B.test(c))return u("orgSlug","Pick an organization.");let d=t(b.name,80).trim();if(!A.test(d))return u("name","Use 1 to 63 letters, digits, spaces, dots, hyphens or underscores.");let e=t(b.region,30);return z.includes(e)?{ok:!0,inputs:{orgSlug:c,name:d,region:e}}:u("region","Pick a region from the list.")}(K):function(a){let b=a??{},c=t(b.projectId,40).trim();if(!C.test(c)||/google|ssl|undefined|null/.test(c))return u("projectId",'6 to 30 lower-case letters, digits and hyphens, starting with a letter (Google refuses ids with "google").');let d=t(b.displayName,40).trim()||c.slice(0,30);return D.test(d)?{ok:!0,inputs:{projectId:c,displayName:d}}:u("displayName","4 to 30 letters, digits, spaces, hyphens, quotes or exclamation marks.")}(K)).ok?N(null):N({field:b.field,text:b.error}),b.ok&&P(async()=>{try{let b=await j(a,"supabase_project"===a?y:c,K);if(b.ok)f.c.success(i("text",b.message??"Asked.")),g();else{let a=b.fieldErrors?Object.keys(b.fieldErrors)[0]:"form";N({field:a,text:i("text",b.error)})}}catch{N({field:"form",text:"Watchbell didn't answer. Check that it's still running, then try again."})}})},disabled:O||!k||S,children:O?"Checking…":"Check and ask for approval"})]})]})}function H({v:a,set:c,fe:d,zone:e}){let f="TXT"!==a.type;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"grid grid-cols-[120px_minmax(0,1fr)] gap-3 max-[560px]:grid-cols-1",children:[(0,b.jsx)(n.O,{id:"cr-type",label:"Type",error:d("type"),children:(0,b.jsx)("select",{id:"cr-type",className:n.S,value:String(a.type),onChange:a=>c("type",a.target.value),children:["A","AAAA","CNAME","TXT"].map(a=>(0,b.jsx)("option",{children:a},a))})}),(0,b.jsx)(n.O,{id:"cr-name",label:"Name",error:d("name"),help:`A host in ${e}: shop becomes shop.${e}.`,children:(0,b.jsx)("input",{id:"cr-name",className:n.S,value:String(a.name??""),maxLength:253,spellCheck:!1,autoComplete:"off",onChange:a=>c("name",a.target.value)})})]}),(0,b.jsx)(n.O,{id:"cr-content",label:"Content",error:d("content"),help:"CNAME"===a.type?"For Vercel, copy the value shown on the project's Domains page.":void 0,children:(0,b.jsx)("input",{id:"cr-content",className:n.S,value:String(a.content??""),maxLength:2048,spellCheck:!1,autoComplete:"off",onChange:a=>c("content",a.target.value)})}),(0,b.jsx)(n.O,{id:"cr-ttl",label:"TTL",error:d("ttl"),children:(0,b.jsx)("select",{id:"cr-ttl",className:n.S,value:a.proxied?s.k:Number(a.ttl),disabled:!0===a.proxied,onChange:a=>c("ttl",Number(a.target.value)),children:s.i.map(a=>(0,b.jsx)("option",{value:a,children:(0,E.f)(a)},a))})}),f&&(0,b.jsxs)("label",{className:"mb-3.5 flex items-center gap-2 text-[13px]",children:[(0,b.jsx)("input",{type:"checkbox",className:"accent-brand",checked:!0===a.proxied,onChange:a=>c("proxied",a.target.checked)}),"Proxied through Cloudflare (off by default; Vercel recommends DNS only)"]})]})}function I({opts:a,v:c,set:d,fe:e,account:f,setAccount:g}){let h=(0,l.useMask)(),i=a.active>=a.limit;return(0,b.jsxs)(b.Fragment,{children:[a.accounts.length>1&&(0,b.jsx)(n.O,{id:"cr-acc",label:"Supabase account",children:(0,b.jsx)("select",{id:"cr-acc",className:n.S,value:f,onChange:a=>g(a.target.value),children:a.accounts.map(a=>(0,b.jsx)("option",{value:a.id,children:h("account",a.label)},a.id))})}),0===a.accounts.length&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"info",title:"No Supabase account connected",children:"Connect one in Connections first."})}),a.error&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"danger",title:"Can't create with this token",children:a.error})}),(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[a.active," of ",a.limit," active free projects in use.",i?" Pause one first; paused projects don't count.":""]}),(0,b.jsx)(n.O,{id:"cr-org",label:"Organization",error:e("orgSlug"),help:"Paid or unknown plans are refused: a project there is billed from the first hour.",children:(0,b.jsx)("select",{id:"cr-org",className:n.S,value:String(c.orgSlug??""),onChange:a=>d("orgSlug",a.target.value),children:a.orgs.map(a=>(0,b.jsxs)("option",{value:a.slug,disabled:!a.allowed,children:[h("text",a.name)," · ",a.plan??"plan unknown",a.allowed?"":" (not allowed)"]},a.slug))})}),(0,b.jsx)(n.O,{id:"cr-name",label:"Project name",error:e("name"),children:(0,b.jsx)("input",{id:"cr-name",className:n.S,value:String(c.name??""),maxLength:63,autoComplete:"off",onChange:a=>d("name",a.target.value)})}),(0,b.jsx)(n.O,{id:"cr-region",label:"Region",error:e("region"),children:(0,b.jsx)("select",{id:"cr-region",className:n.S,value:String(c.region),onChange:a=>d("region",a.target.value),children:y.map(([a,c])=>(0,b.jsxs)("option",{value:a,children:[c," · ",a]},a))})}),(0,b.jsx)("p",{className:"mb-3 text-[12.5px] text-ink-soft",children:a.scopeNote})]})}function J({opts:a,v:c,set:e,fe:f}){return a.envReady?a.connected?(0,b.jsxs)(b.Fragment,{children:[a.error&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"danger",title:"Google",children:a.error})}),null!==a.projects&&(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[a.projects," active Google Cloud project",1===a.projects?"":"s",". Google's project quota without a billing account is about ",a.quotaHint," and isn't readable by API; deleted projects count for 30 days."]}),(0,b.jsx)(n.O,{id:"cr-pid",label:"Project id",error:f("projectId"),help:"6 to 30 lower-case letters, digits and hyphens. Permanent and global: pick one nobody has.",children:(0,b.jsx)("input",{id:"cr-pid",className:n.S,value:String(c.projectId??""),maxLength:30,spellCheck:!1,autoComplete:"off",onChange:a=>e("projectId",a.target.value)})}),(0,b.jsx)(n.O,{id:"cr-pname",label:"Display name",error:f("displayName"),children:(0,b.jsx)("input",{id:"cr-pname",className:n.S,value:String(c.displayName??""),maxLength:30,autoComplete:"off",onChange:a=>e("displayName",a.target.value)})})]}):(0,b.jsxs)("div",{className:"mb-3 flex flex-col gap-2",children:[(0,b.jsx)(n.M,{tone:"info",title:"Connect Google (create projects) first",children:"The Firebase service accounts are viewer-only, so creating needs your own Google grant."}),(0,b.jsx)(K,{})]}):(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"info",title:"Google OAuth isn't set up",children:d.n.notSet("GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET",!0)})})}function K({reconnect:a=!1}){return(0,b.jsx)(m.f,{trigger:(0,b.jsx)(n.K,{size:"sm",variant:"primary",children:a?"Reconnect Google (create projects)":"Connect Google (create projects)"}),title:"Connect Google (create projects)",body:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"mb-2",children:"Google will ask you to approve one permission, separate from the Drive backup one:"}),(0,b.jsx)("p",{className:"mb-2 rounded-md border border-line bg-sunken px-3 py-2 text-ink-soft",children:"See, edit, configure, and delete your Google Cloud data (cloud-platform)."}),(0,b.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-ink-soft",children:q.map(a=>(0,b.jsx)("li",{children:a},a))}),(0,b.jsxs)("p",{className:"mt-2 text-ink-soft",children:["Before the first connect, add this redirect URI to the OAuth client in the Google Cloud console: ",(0,b.jsx)("span",{className:"font-mono text-[12px]",children:"/auth/google/create/callback"})," on this site."]})]}),cta:"Continue to Google",onConfirm:async()=>{let a=await k();return a.ok&&a.data?(window.location.assign(a.data.url),{ok:!0,message:"Opening Google…"}):{ok:!1,message:a.ok?"Watchbell didn't answer. Check that it's still running, then try again.":a.error}}})}a.s(["CreateButton",0,function({type:a,target:d,targetName:f,label:g}){let[h,i]=(0,e.useState)(!1);return(0,o.useHoldRefresh)(h),(0,b.jsxs)(p.N,{open:h,onOpenChange:i,children:[(0,b.jsxs)(p.a,{render:(0,b.jsx)(n.K,{size:"sm"}),children:[(0,b.jsx)(c.f,{size:15,"aria-hidden":!0,className:"-ml-0.5 mr-1 inline"}),g]}),(0,b.jsx)(p.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:h&&(0,b.jsx)(G,{type:a,target:d,targetName:f,onDone:()=>i(!1)})})]})},"DisconnectGoogleCreateButton",0,function(){return(0,b.jsx)(m.f,{trigger:(0,b.jsx)(n.K,{children:"Disconnect Google (create)"}),title:"Disconnect Google (create projects)?",body:"The console forgets the grant. Remove Watchbell's access in your Google Account → Security → Third-party access as well. Projects already created stay.",cta:"Disconnect",onConfirm:async()=>{let a=await i();return a.ok?{ok:!0,message:a.message??"Disconnected."}:{ok:!1,message:a.error}}})}],929994)}];
|
|
1
|
+
module.exports=[929994,a=>{"use strict";var b=a.i(187924),c=a.i(817748),d=a.i(901615),e=a.i(572131),f=a.i(823292),g=a.i(405050);let h=(0,g.createServerReference)("60ac7c28e1dfcfdbce6b52f325a81bbd4611b5f482",g.callServer,void 0,g.findSourceMapURL,"createOptionsAction"),i=(0,g.createServerReference)("0042bf062c7f4fe622fdb9429b03ed5b1b4db97f68",g.callServer,void 0,g.findSourceMapURL,"disconnectGoogleCreate"),j=(0,g.createServerReference)("705a440b85fd33fd7b91442b09c54cc15ee96328f4",g.callServer,void 0,g.findSourceMapURL,"requestCreateAction"),k=(0,g.createServerReference)("00e9d49bd210ed05a6cf03ae28ca1097a3bf5e8f99",g.callServer,void 0,g.findSourceMapURL,"startGoogleCreateConnect");var l=a.i(771378),m=a.i(611619),n=a.i(619089),o=a.i(507504),p=a.i(814574);let q=["This asks Google for the cloud-platform permission: it is broad (it can manage every Google Cloud project you own), so the console uses it only to create a project and add Firebase to it after your approval, and never to change or delete anything.","Google shows an \"unverified app\" warning because Watchbell's OAuth client isn't verified for this scope. It is your own client for your own use: choose Advanced → Go to Watchbell.","While the OAuth consent screen is in Testing mode, Google ends this grant after 7 days; connect again when a create says so. Remove it any time in your Google Account → Security → Third-party access."];d.n.notSet("GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET",!0);var r=a.i(486583),s=a.i(620214);let t=(a,b=300)=>"string"==typeof a&&a.length<=b?a:"",u=(a,b)=>({ok:!1,field:a,error:b}),v=/^(?:\*|[a-z0-9_](?:[a-z0-9_-]{0,61}[a-z0-9_])?)$/,w=/^[a-z0-9][a-z0-9-]{0,62}$/,x=/^br-[a-z0-9-]{3,60}$/,y=[["ap-southeast-1","Southeast Asia (Singapore)"],["ap-northeast-1","Northeast Asia (Tokyo)"],["ap-northeast-2","Northeast Asia (Seoul)"],["ap-southeast-2","Oceania (Sydney)"],["ap-south-1","South Asia (Mumbai)"],["ap-east-1","East Asia (Hong Kong)"],["us-east-1","East US (North Virginia)"],["us-east-2","East US (Ohio)"],["us-west-1","West US (North California)"],["us-west-2","West US (Oregon)"],["ca-central-1","Canada (Central)"],["sa-east-1","South America (São Paulo)"],["eu-west-1","West EU (Ireland)"],["eu-west-2","West EU (London)"],["eu-west-3","West EU (Paris)"],["eu-north-1","North EU (Stockholm)"],["eu-central-1","Central EU (Frankfurt)"],["eu-central-2","Central EU (Zurich)"]],z=y.map(([a])=>a),A=/^[A-Za-z0-9][A-Za-z0-9 ._-]{0,62}$/,B=/^[\w-]{1,64}$/,C=/^[a-z][a-z0-9-]{4,28}[a-z0-9]$/,D=/^[A-Za-z0-9 '"!-]{4,30}$/;var E=a.i(762802);let F={dns_record:"The name must be new in this zone. Proxied is off unless you turn it on.",neon_branch:"The branch is created without a compute, so it uses no CU-hours until you wake it. Waking it later uses CU-hours (100 a month per project on the free plan).",supabase_project:"Only an organization on the free plan is allowed. The database password is generated when the Owner approves and shown once.",firebase_project:"A Google Cloud project without a billing account (the free Spark plan), then Firebase is added to it."};function G({type:a,target:c,targetName:d,onDone:g}){let i=(0,l.useMask)(),[k,m]=(0,e.useState)(null),[o,q]=(0,e.useState)(null),[y,E]=(0,e.useState)(c),[K,L]=(0,e.useState)({type:"CNAME",ttl:s.k,proxied:!1,region:"ap-southeast-1"}),[M,N]=(0,e.useState)(null),[O,P]=(0,e.useTransition)(),Q=(a,b)=>L(c=>({...c,[a]:b}));(0,e.useEffect)(()=>{let b=!0;return h(a,y).then(a=>{if(b)if(a.ok&&a.data){if(m(a.data),"neon_branch"===a.data.type){let b=(a.data.branches.find(a=>a.isDefault)??a.data.branches[0])?.id??"";L(a=>({...a,parentId:a.parentId??b}))}if("supabase_project"===a.data.type){a.data.accountId&&a.data.accountId!==y&&E(a.data.accountId);let b=a.data.orgs.find(a=>a.allowed);b&&L(a=>({...a,orgSlug:b.slug}))}}else q(a.ok?"Something went wrong.":a.error)}).catch(()=>b&&q("Couldn't load the choices. Try again.")),()=>{b=!1}},[a,y]);let R=a=>M?.field===a?M.text:void 0,S=k?.type==="firebase_project"&&(!k.envReady||!k.connected);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"px-[18px] pb-2 pt-4",children:[(0,b.jsx)(p.F,{className:"text-base",children:i("text",`New ${r.S[a]}${"dns_record"===a||"neon_branch"===a?` in ${d}`:""}`)}),(0,b.jsxs)(p.C,{className:"mt-0.5 text-[13px] text-ink-soft",children:[F[a]," This only asks: the Owner approves it with the authenticator code, then the console checks the free tier again and makes one create call at ",r.E[a],"."]})]}),(0,b.jsxs)("div",{className:"px-[18px] pt-1.5",children:[o&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"danger",title:"Couldn't read the live choices",children:o})}),!k&&!o&&(0,b.jsx)("p",{className:"mb-3 text-[13px] text-ink-soft",children:"Reading the live choices…"}),"dns_record"===a&&(0,b.jsx)(H,{v:K,set:Q,fe:R,zone:d}),"neon_branch"===a&&k?.type==="neon_branch"&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[k.branches.length," of ",k.limit," branches used in this project."]}),(0,b.jsx)(n.O,{id:"cr-parent",label:"Copy from branch",error:R("parentId"),children:(0,b.jsx)("select",{id:"cr-parent",className:n.S,value:String(K.parentId??""),onChange:a=>Q("parentId",a.target.value),children:k.branches.map(a=>(0,b.jsxs)("option",{value:a.id,children:[i("text",a.name),a.isDefault?" (default)":""]},a.id))})}),(0,b.jsx)(n.O,{id:"cr-name",label:"New branch name",error:R("name"),help:"Lower-case letters, digits and hyphens, like preview-42.",children:(0,b.jsx)("input",{id:"cr-name",className:n.S,value:String(K.name??""),maxLength:63,spellCheck:!1,autoComplete:"off",onChange:a=>Q("name",a.target.value)})})]}),"supabase_project"===a&&k?.type==="supabase_project"&&(0,b.jsx)(I,{opts:k,v:K,set:Q,fe:R,account:y,setAccount:E}),"firebase_project"===a&&k?.type==="firebase_project"&&(0,b.jsx)(J,{opts:k,v:K,set:Q,fe:R}),M?.field==="form"&&(0,b.jsx)("p",{className:"mb-3 text-[12.5px] text-err",role:"alert",children:M.text})]}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-line px-[18px] py-3",children:[(0,b.jsx)(n.K,{onClick:g,disabled:O,children:"Cancel"}),(0,b.jsx)(n.K,{variant:"primary",onClick:function(){let b;(b="dns_record"===a?function(a,b){let c=a??{},d=t(c.type,10);if(!s.j.includes(d))return u("type","Only A, AAAA, CNAME and TXT records can be added here.");let e=function(a,b){let c=b.trim().toLowerCase().replace(/\.$/,""),d=a.trim().toLowerCase().replace(/\.$/,"");if(!d||!c||("@"===d?d=c:d===c||d.endsWith(`.${c}`)||(d=`${d}.${c}`),d.length>253))return null;let e=d===c?"":d.slice(0,-(c.length+1));return e&&!e.split(".").every((a,b)=>v.test(a)&&("*"!==a||0===b))?null:d}(t(c.name,260),b);if(!e)return u("name",`The name must be a host in ${b}, like shop or shop.${b}.`);let f="number"==typeof c.ttl?c.ttl:s.k,g=(0,s.V)({type:d,name:e},{content:t(c.content,4096),ttl:f,proxied:!0===c.proxied});return g.ok?{ok:!0,inputs:{zoneName:b.toLowerCase(),type:d,name:e,content:g.values.content,ttl:g.values.ttl,proxied:g.values.proxied}}:u(g.field,g.error)}(K,d):"neon_branch"===a?function(a,b){let c=a??{},d=t(c.name,80).trim();if(!w.test(d))return u("name","Use 1 to 63 lower-case letters, digits and hyphens, starting with a letter or digit.");let e=t(c.parentId,80);return x.test(e)?{ok:!0,inputs:{projectName:b,parentId:e,name:d}}:u("parentId","Pick the branch to copy from.")}(K,d):"supabase_project"===a?function(a){let b=a??{},c=t(b.orgSlug,80);if(!B.test(c))return u("orgSlug","Pick an organization.");let d=t(b.name,80).trim();if(!A.test(d))return u("name","Use 1 to 63 letters, digits, spaces, dots, hyphens or underscores.");let e=t(b.region,30);return z.includes(e)?{ok:!0,inputs:{orgSlug:c,name:d,region:e}}:u("region","Pick a region from the list.")}(K):function(a){let b=a??{},c=t(b.projectId,40).trim();if(!C.test(c)||/google|ssl|undefined|null/.test(c))return u("projectId",'6 to 30 lower-case letters, digits and hyphens, starting with a letter (Google refuses ids with "google").');let d=t(b.displayName,40).trim()||c.slice(0,30);return D.test(d)?{ok:!0,inputs:{projectId:c,displayName:d}}:u("displayName","4 to 30 letters, digits, spaces, hyphens, quotes or exclamation marks.")}(K)).ok?N(null):N({field:b.field,text:b.error}),b.ok&&P(async()=>{try{let b=await j(a,"supabase_project"===a?y:c,K);if(b.ok)f.c.success(i("text",b.message??"Asked.")),g();else{let a=b.fieldErrors?Object.keys(b.fieldErrors)[0]:"form";N({field:a,text:i("text",b.error)})}}catch{N({field:"form",text:"Watchbell didn't answer. Check that it's still running, then try again."})}})},disabled:O||!k||S,children:O?"Checking…":"Check and ask for approval"})]})]})}function H({v:a,set:c,fe:d,zone:e}){let f="TXT"!==a.type;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"grid grid-cols-[120px_minmax(0,1fr)] gap-3 max-[560px]:grid-cols-1",children:[(0,b.jsx)(n.O,{id:"cr-type",label:"Type",error:d("type"),children:(0,b.jsx)("select",{id:"cr-type",className:n.S,value:String(a.type),onChange:a=>c("type",a.target.value),children:["A","AAAA","CNAME","TXT"].map(a=>(0,b.jsx)("option",{children:a},a))})}),(0,b.jsx)(n.O,{id:"cr-name",label:"Name",error:d("name"),help:`A host in ${e}: shop becomes shop.${e}.`,children:(0,b.jsx)("input",{id:"cr-name",className:n.S,value:String(a.name??""),maxLength:253,spellCheck:!1,autoComplete:"off",onChange:a=>c("name",a.target.value)})})]}),(0,b.jsx)(n.O,{id:"cr-content",label:"Content",error:d("content"),help:"CNAME"===a.type?"For Vercel, copy the value shown on the project's Domains page.":void 0,children:(0,b.jsx)("input",{id:"cr-content",className:n.S,value:String(a.content??""),maxLength:2048,spellCheck:!1,autoComplete:"off",onChange:a=>c("content",a.target.value)})}),(0,b.jsx)(n.O,{id:"cr-ttl",label:"TTL",error:d("ttl"),children:(0,b.jsx)("select",{id:"cr-ttl",className:n.S,value:a.proxied?s.k:Number(a.ttl),disabled:!0===a.proxied,onChange:a=>c("ttl",Number(a.target.value)),children:s.i.map(a=>(0,b.jsx)("option",{value:a,children:(0,E.f)(a)},a))})}),f&&(0,b.jsxs)("label",{className:"mb-3.5 flex items-center gap-2 text-[13px]",children:[(0,b.jsx)("input",{type:"checkbox",className:"accent-brand",checked:!0===a.proxied,onChange:a=>c("proxied",a.target.checked)}),"Proxied through Cloudflare (off by default; Vercel recommends DNS only)"]})]})}function I({opts:a,v:c,set:d,fe:e,account:f,setAccount:g}){let h=(0,l.useMask)(),i=a.active>=a.limit;return(0,b.jsxs)(b.Fragment,{children:[a.accounts.length>1&&(0,b.jsx)(n.O,{id:"cr-acc",label:"Supabase account",children:(0,b.jsx)("select",{id:"cr-acc",className:n.S,value:f,onChange:a=>g(a.target.value),children:a.accounts.map(a=>(0,b.jsx)("option",{value:a.id,children:h("account",a.label)},a.id))})}),0===a.accounts.length&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"info",title:"No Supabase account connected",children:"Connect one in Connections first."})}),a.error&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"danger",title:"Can't create with this token",children:a.error})}),(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[a.active," of ",a.limit," active free projects in use.",i?" Pause one first; paused projects don't count.":""]}),(0,b.jsx)(n.O,{id:"cr-org",label:"Organization",error:e("orgSlug"),help:"Paid or unknown plans are refused: a project there is billed from the first hour.",children:(0,b.jsx)("select",{id:"cr-org",className:n.S,value:String(c.orgSlug??""),onChange:a=>d("orgSlug",a.target.value),children:a.orgs.map(a=>(0,b.jsxs)("option",{value:a.slug,disabled:!a.allowed,children:[h("text",a.name)," · ",a.plan??"plan unknown",a.allowed?"":" (not allowed)"]},a.slug))})}),(0,b.jsx)(n.O,{id:"cr-name",label:"Project name",error:e("name"),children:(0,b.jsx)("input",{id:"cr-name",className:n.S,value:String(c.name??""),maxLength:63,autoComplete:"off",onChange:a=>d("name",a.target.value)})}),(0,b.jsx)(n.O,{id:"cr-region",label:"Region",error:e("region"),children:(0,b.jsx)("select",{id:"cr-region",className:n.S,value:String(c.region),onChange:a=>d("region",a.target.value),children:y.map(([a,c])=>(0,b.jsxs)("option",{value:a,children:[c," · ",a]},a))})}),(0,b.jsx)("p",{className:"mb-3 text-[12.5px] text-ink-soft",children:a.scopeNote})]})}function J({opts:a,v:c,set:e,fe:f}){return a.envReady?a.connected?(0,b.jsxs)(b.Fragment,{children:[a.error&&(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"danger",title:"Google",children:a.error})}),null!==a.projects&&(0,b.jsxs)("p",{className:"mb-3 text-[13px] text-ink-soft",children:[a.projects," active Google Cloud project",1===a.projects?"":"s",". Google's project quota without a billing account is about ",a.quotaHint," and isn't readable by API; deleted projects count for 30 days."]}),(0,b.jsx)(n.O,{id:"cr-pid",label:"Project id",error:f("projectId"),help:"6 to 30 lower-case letters, digits and hyphens. Permanent and global: pick one nobody has.",children:(0,b.jsx)("input",{id:"cr-pid",className:n.S,value:String(c.projectId??""),maxLength:30,spellCheck:!1,autoComplete:"off",onChange:a=>e("projectId",a.target.value)})}),(0,b.jsx)(n.O,{id:"cr-pname",label:"Display name",error:f("displayName"),children:(0,b.jsx)("input",{id:"cr-pname",className:n.S,value:String(c.displayName??""),maxLength:30,autoComplete:"off",onChange:a=>e("displayName",a.target.value)})})]}):(0,b.jsxs)("div",{className:"mb-3 flex flex-col gap-2",children:[(0,b.jsx)(n.M,{tone:"info",title:"Connect Google (create projects) first",children:"The Firebase service accounts are viewer-only, so creating needs your own Google grant."}),(0,b.jsx)(K,{})]}):(0,b.jsx)("div",{className:"mb-3",children:(0,b.jsx)(n.M,{tone:"info",title:"Google OAuth isn't set up",children:d.n.notSet("GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET",!0)})})}function K({reconnect:a=!1}){return(0,b.jsx)(m.f,{trigger:(0,b.jsx)(n.K,{size:"sm",variant:"primary",children:a?"Reconnect Google (create projects)":"Connect Google (create projects)"}),title:"Connect Google (create projects)",body:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"mb-2",children:"Google will ask you to approve one permission, separate from the Drive backup one:"}),(0,b.jsx)("p",{className:"mb-2 rounded-md border border-line bg-sunken px-3 py-2 text-ink-soft",children:"See, edit, configure, and delete your Google Cloud data (cloud-platform)."}),(0,b.jsx)("ul",{className:"list-disc space-y-1 pl-5 text-ink-soft",children:q.map(a=>(0,b.jsx)("li",{children:a},a))}),(0,b.jsxs)("p",{className:"mt-2 text-ink-soft",children:["Before the first connect, add this redirect URI to the OAuth client in the Google Cloud console: ",(0,b.jsx)("span",{className:"font-mono text-[12px]",children:"/auth/google/create/callback"})," on this site."]})]}),cta:"Continue to Google",onConfirm:async()=>{let a=await k();return a.ok&&a.data?(window.location.assign(a.data.url),{ok:!0,message:"Opening Google…"}):{ok:!1,message:a.ok?"Watchbell didn't answer. Check that it's still running, then try again.":a.error}}})}a.s(["CreateButton",0,function({type:a,target:d,targetName:f,label:g}){let[h,i]=(0,e.useState)(!1);return(0,o.useHoldRefresh)(h),(0,b.jsxs)(p.N,{open:h,onOpenChange:i,children:[(0,b.jsxs)(p.a,{render:(0,b.jsx)(n.K,{size:"sm"}),children:[(0,b.jsx)(c.f,{size:15,"aria-hidden":!0,className:"-ml-0.5 mr-1 inline"}),g]}),(0,b.jsx)(p.d,{className:"gap-0 p-0 sm:max-w-[560px]",showCloseButton:!1,children:h&&(0,b.jsx)(G,{type:a,target:d,targetName:f,onDone:()=>i(!1)})})]})},"DisconnectGoogleCreateButton",0,function(){return(0,b.jsx)(m.f,{trigger:(0,b.jsx)(n.K,{children:"Disconnect Google (create)"}),title:"Disconnect Google (create projects)?",body:"The console forgets the grant. Remove Watchbell's access in your Google Account → Security → Third-party access as well. Projects already created stay.",cta:"Disconnect",onConfirm:async()=>{let a=await i();return a.ok?{ok:!0,message:a.message??"Disconnected."}:{ok:!1,message:a.error}}})}],929994)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_components_create_create-dialog_tsx_1s_9clly_m1ru._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[949663,912283,876808,747556,a=>{var b=a.i(927262),c=a.i(201516),d=a.i(273133),e=a.i(120213),f=a.i(84979),g=a.i(84877),h=a.i(679662);let i=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function j(a,b){let c=i.exec(a.trim()),d=i.exec(b.trim());return!!c&&!!d&&c[1]===d[1]&&("0"!==c[1]||c[2]===d[2])&&(0,g.f)(b,a)>=0}let k=/^Watch(?:bell|post): update (?:\S+ (?:to|ke) \S+|\d+ vulnerable packages) in ((?:[A-Za-z0-9._-]+\/){0,3}[A-Za-z0-9._-]+) \(/,l=a=>k.exec(a)?.[1]??null;a.s(["M",0,a=>`Lockfile tertinggal — jalankan npm install (${a.slice(0,5).join(", ")}${a.length>5?`, +${a.length-5}`:""}).`,"a",0,function(a,b,c){if(!a.length)return{ok:!1,why:"nothing"};let d=a.filter(a=>c.includes(a.severity)&&!("moderate"===a.severity&&a.dev));if(!d.length)return{ok:!1,why:"severity"};for(let a of d){let c=b.get(a.package);if(!c||!j(c,a.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:d}},"m",0,function(a,b){if(!b)return{deps:a,stale:[]};let c=[...Object.entries(b.dependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.optionalDependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.devDependencies).map(([a,b])=>[a,b,!0])],d=[...a],e=[];for(let[a,b,f]of c){let c=(0,h.Y)(b);if(!c||!(0,h.C)(c))continue;let i=d.filter(b=>b.name===a);!i.length||i.some(a=>(0,g.f)(a.version,c)>=0)||((d=d.filter(b=>b.name!==a)).push({name:a,version:c,dev:i.every(a=>a.dev)&&f}),e.push(a))}return{deps:d,stale:e}},"D",0,function(a){let b=new Map;for(let c of a){if(!c.direct)continue;let a=b.get(c.package);(!a||0>(0,g.f)(c.installedVersion,a))&&b.set(c.package,c.installedVersion)}return b},"U",0,function(a,b,c=null){for(let d of b){if(l(d.title)!==c)continue;let b=function(a){if(a.packages?.length)return a.packages;let b=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(a.title);return b?[b[1]]:"all"}(d);if("all"===b||a.some(a=>b.includes(a)))return d}return null},"J",0,j],912283);let m=["next","eslint-config-next"],n={CRITICAL:"critical",HIGH:"high",MODERATE:"moderate",LOW:"low",UNKNOWN:"unknown"};function o(a,b){if(!a||!(0,h.C)(a))return null;let c=b.map(a=>a.fixed).filter(b=>!!b&&(0,h.C)(b)&&(0,g.f)(b,a)>0);if(!c.length)return null;let d=c.filter(b=>j(a,b));return(d.length?d:c).reduce((a,b)=>(0,g.f)(b,a)>0?b:a)}function p(a,b){let c=o(a,b),d=c?b.map(a=>a.fixed).filter(a=>!!a&&(0,h.C)(a)&&(0,g.f)(a,c)>0):[],e=d.reduce((a,b)=>null===a||(0,g.f)(b,a)>0?b:a,null),i=e?` (${1===d.length?"one fix needs":"some fixes need"} Next.js ${e.split(".")[0]})`:"";return`Next.js ${a??"(unknown version)"} has ${(0,f.q)(b.length)} (${(0,f.N)(b).toLowerCase()}), ${c?`fixed in ${c}${i}`:"no fix yet"}.`}a.s(["P",0,p,"p",0,function(a){if(!a||"vulnerable"!==a.status||!a.findings.length||!a.version)return null;let b=o(a.version,a.findings);if(!b)return null;let c=n[(0,f.N)(a.findings)],d=[...new Set(a.findings.map(a=>a.id))],e=[...new Set(a.findings.flatMap(a=>a.cve?[a.cve]:[]))];return{from:a.version,to:b,upgrades:[{package:"next",to:b,vulnIds:d,cves:e,severity:c},{package:"eslint-config-next",to:b,vulnIds:[],cves:[],severity:c,companionOf:"next"}],installed:new Map(m.map(b=>[b,a.version]))}},"F",0,function(a){let b=a.find(a=>"next"===a.package&&!a.companionOf);return!b||a.some(a=>"eslint-config-next"===a.package)?a:[...a,{package:"eslint-config-next",to:b.to,vulnIds:[],cves:[],severity:b.severity,companionOf:"next"}]}],876808);let q=a=>Math.round(a).toLocaleString("en-US"),r=(a,b)=>Math.floor((a.getTime()-b.getTime())/864e5),s=(a,b)=>`${a} ${b}${1===a?"":"s"}`,t=a=>{try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},u=a=>{try{return new URL(a).host}catch{return a}},v=a=>{try{return new URL(a).pathname}catch{return"/"}},w="Down · ",x=new Set(["failure","timed_out","startup_failure"]),y=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),z=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,A=new Set(["turso","upstash","d1"]),B={MonitorDown:(a,b)=>a.monitors.map(a=>{let d=y("MonitorDown",a.id,{resourceId:a.appId,title:`${a.appName} ${"heartbeat"===a.kind?a.url:v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt}),e=b??3;if("heartbeat"===a.kind){let b;return{...d,status:"err"===a.state?"firing":"ok"===a.state?"ok":"unknown",message:`${a.appName} \xb7 ${a.url}: ${b=a.lastError,b?.startsWith(w)?b.slice(w.length):"no ping in time"}.`}}return a.movedTo?{...d,status:"ok",message:`${u(a.url)} moved to ${a.movedTo}; MonitorDomainMoved takes over.`}:a.failStreak>=e?{...d,status:"firing",message:(0,c.H)(a)?`${t(a.url)} failed its check (${(0,c.H)(a)}) on ${e} consecutive checks.`:`${t(a.url)} returned ${a.lastStatus?`HTTP ${a.lastStatus}`:"no answer"} on ${e} consecutive checks.`}:{...d,status:0===a.failStreak&&a.lastCheckedAt?"ok":"unknown",message:`${t(a.url)} answers again.`}}),MonitorDomainMoved:a=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let b=y("MonitorDomainMoved",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel"});return a.movedTo?{...b,status:"firing",message:`${u(a.url)} is no longer a domain of ${a.appName}; production is on ${a.movedTo}.`}:{...b,status:"ok",message:`The monitor checks ${u(a.url)}, a domain of ${a.appName}.`}}),CollectorStale:(a,b)=>{let c=a.lastMinuteRunAt;return[y("CollectorStale","collector",{status:!c||a.now.getTime()-c.getTime()>(b??5)*6e4?"firing":"ok",title:"collector",message:c?`The last minute run finished ${q((a.now.getTime()-c.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(a,b)=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let c=y("HighLatency",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt});if(a.checksLast10<5||null===a.p95Last10)return c;let d=b??1500;return{...c,status:a.p95Last10>d?"firing":"ok",message:`p95 ${q(a.p95Last10)} ms over the last 10 minutes (limit ${q(d)} ms).`}}),DeploymentFailed:a=>a.apps.map(a=>{let b=y("DeploymentFailed",a.id,{resourceId:a.id,title:a.name,provider:"vercel"}),c=a.latestProduction;return c?"error"===c.state?{...b,status:"firing",message:`Production deployment ${c.sha?c.sha.slice(0,7):"(no commit)"} failed.`}:{...b,status:"building"===c.state?"unknown":"ok"}:{...b,status:"ok"}}),DatabasePaused:a=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(a=>y("DatabasePaused",a.id,{resourceId:a.id,title:a.name,provider:"supabase",status:"unknown"===a.state?"unknown":"paused"===a.state?"firing":"ok",message:`Supabase project ${a.name} is paused.`})),CertExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=y("CertExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.tlsNotAfter)return d;let e=r(c.tlsNotAfter,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:`The TLS certificate of ${c.name} expires in ${s(e,"day")}.`}}),DomainExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=y("DomainExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.expiresAt)return d;let e=r(c.expiresAt,a.now);return{...d,status:e<(b??30)?"firing":"ok",message:`${c.name} expires in ${s(e,"day")}.`}}),StorageAlmostFull:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"!==a.provider).map(a=>{let c=y("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:z(a)});if(null===a.sizeBytes||!a.sizeLimitBytes)return c;let d=a.sizeBytes/a.sizeLimitBytes*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} uses ${q(a.sizeBytes/1e6)} MB of ${q(a.sizeLimitBytes/1e6)} MB (${q(d)}%).`}}),NeonComputeHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"neon"===a.provider).map(a=>{let c=y("NeonComputeHigh",a.id,{resourceId:a.id,title:a.name,provider:"neon"});return null===a.cuHours?c:{...c,status:a.cuHours>(b??80)?"firing":"ok",message:`${a.name} used ${q(a.cuHours)} of ${q(a.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"===a.provider).map(a=>{let c=y("FirestoreQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:"firebase"});if(a.quotaExhausted)return{...c,status:"firing",message:`${a.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===a.readsToday||!a.readsLimit)return!1===a.quotaExhausted?{...c,status:"ok"}:c;let d=a.readsToday/a.readsLimit*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} read ${q(a.readsToday)} of ${q(a.readsLimit)} documents today (${q(d)}%).`}}),AutoPauseRisk:(a,b)=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(c=>{let d=y("AutoPauseRisk",c.id,{resourceId:c.id,title:c.name,provider:"supabase"});if("paused"===c.state)return{...d,status:"ok"};if(!c.lastApiAt)return d;let e=Math.floor((a.now.getTime()-c.lastApiAt.getTime())/864e5);return{...d,status:e>=(b??4)?"firing":"ok",message:`No API traffic for ${s(e,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:a=>a.dns&&a.dns.map(a=>y("DnsProxiedToVercel",a.id,{resourceId:a.resourceId,title:a.name,provider:"cloudflare",status:a.proxied&&a.pointsToVercel?"firing":"ok",message:`${a.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>A.has(a.provider)).map(a=>{let c=y("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:z(a)});return null==a.quotaPct?c:{...c,status:a.quotaPct>(b??80)?"firing":"ok",message:`${a.name}: ${a.quotaLabel??"usage"} at ${q(a.quotaPct)}% of the free plan.`}}),ComputeHigh:(a,b)=>a.compute?a.compute.map(c=>{let e=y("ComputeHigh",c.id,{resourceId:c.id,title:c.name,provider:"supabase",sampleAt:c.latest?new Date(c.latest.at):null}),f=(0,d.B)(c.latest,(0,d.V)(b),a.now);return null===f?e:{...e,status:f.length?"firing":"ok",message:f.length?`${c.name}: ${f.join(", ")}.`:`${c.name} compute is back under the limits.`}}):null,CredentialExpiring:(a,b)=>a.accounts.map(c=>{let d=y("CredentialExpiring",c.id,{accountId:c.id,title:`${c.provider} \xb7 ${c.label}`,provider:c.provider});if("drive"===c.provider&&"error"===c.status&&c.lastError?.includes("invalid_grant"))return{...d,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!c.expiresAt)return{...d,status:"ok"};let e=r(c.expiresAt,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:e<0?`The ${c.provider} credential ${c.label} has expired.`:`The ${c.provider} credential ${c.label} expires in ${s(e,"day")}.`}}),VulnerableDependency:a=>a.deps?a.deps.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=y("VulnerableDependency",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(b.error)return[d];let f=(0,e.g)(b.vulns);return f?[{...d,status:"firing",message:(0,e.L)(b.vulns),..."critical"===f?{severity:"critical"}:{}}]:[{...d,status:"ok",message:`${c.name} has no moderate, high or critical dependency advisories.`}]}):null,FrameworkVulnerable:a=>a.frameworks?a.frameworks.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=y("FrameworkVulnerable",b.appId,{resourceId:b.appId,title:c.name});return"ok"===b.status?[{...d,status:"ok",message:`${c.name} runs Next.js ${b.version??"(unknown version)"} with no known advisories.`}]:"vulnerable"===b.status&&b.findings.length?[{...d,status:"firing",message:p(b.version,b.findings),..."CRITICAL"===(0,f.N)(b.findings)?{severity:"critical"}:{}}]:[d]}):null,CiFailing:a=>a.ci?.length?a.ci.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=y("CiFailing",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(!b.run||"none"in b.run||"completed"!==b.run.status)return[d];let e=`The latest ${b.run.name??"Actions"} run on ${b.run.branch??b.branch??"the default branch"}`;return"success"===b.run.conclusion?[{...d,status:"ok",message:`${e} passed.`}]:x.has(b.run.conclusion??"")?[{...d,status:"firing",message:`${e} failed${b.run.runNumber?` (run #${b.run.runNumber})`:""}.`}]:[d]}):null,OsSecurityUpdate:(a,b)=>(function(a,b){if(!a.os)return null;let c=b??7,d=a.os.system,e=a.os.updates.filter(a=>null!==a.score&&a.score>=c).sort((a,b)=>(b.score??0)-(a.score??0)),f=e.slice(0,3).map(a=>`${a.source} fixes ${a.cves[0]} (${a.score.toFixed(1)})${a.cves.length>1?` and ${a.cves.length-1} more`:""}`);e.length>3&&f.push(`${e.length-3} more packages`),a.os.kernelWaiting&&f.push(`kernel ${a.os.kernelWaiting.installed} waits for a reboot`);let g=y("OsSecurityUpdate","os",{title:d});return!f.length&&a.os.partial?[g]:f.length?[{...g,status:"firing",message:`On ${d}: ${f.join("; ")}.`,...e.some(a=>(a.score??0)>=9)?{severity:"critical"}:{}}]:[{...g,status:"ok",message:`On ${d}, no waiting security update fixes a CVE scored ${c.toFixed(1)} or more, and the newest kernel runs.`}]})(a,b),ReportSendFailed:a=>a.reportSends?a.reportSends.map(a=>{let b=y("ReportSendFailed",a.reportId,{title:a.clientName}),c=`The ${C(a.month)} report for ${a.clientName}`;return"sent"===a.status?{...b,status:"ok",message:`${c} was emailed.`}:"failed"!==a.status?b:{...b,status:"firing",message:`${c} couldn't be emailed after 3 tries${a.lastError?`: ${a.lastError}`:"."}`}}):null},C=a=>new Intl.DateTimeFormat("en-GB",{month:"long",year:"numeric",timeZone:"UTC"}).format(new Date(`${a}-15T12:00:00Z`));a.s(["f",0,function(a,c,d){let e=[],f=new Set;for(let g of c){if(!g.enabled||d&&!d.includes(g.key)||!b._[g.key])continue;let c=B[g.key](a,g.threshold);c&&(f.add(g.key),e.push(...c))}return{observations:e,evaluated:f}}],949663);let D=["MonitorDown","HighLatency"],E=["telegram","discord","webhook","smtp"],F=a=>a.channels.some(a=>E.includes(a));function G(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&D.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let H=(a,b)=>"critical"===b&&"warning"===a?"critical":a,I=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),J=(a,b)=>`${a}|${b}`;a.s(["f",0,function(a,c,d,e,f){let g={open:[],touch:[],resolve:[]},h=new Map(e.map(a=>[a.key,a])),i=new Map(c.map(a=>[J(a.rule,a.subject),a])),j=new Set(a.map(a=>J(a.ruleKey,a.subject))),k=a=>g.resolve.push({id:a.id,pending:a.notifiedOpen?"resolve":null});for(let c of a){let a=h.get(c.ruleKey),e=i.get(J(c.ruleKey,c.subject));if(!a||!a.enabled){g.resolve.push({id:c.id,pending:null});continue}if(!d.has(c.ruleKey))continue;if(!e){g.resolve.push({id:c.id,pending:null});continue}if("unknown"===e.status)continue;let j=e.provider?f.incidents.get(e.provider)??null:null;if("firing"===e.status){let b=G(e,f),d=c.notifiedOpen&&null!==c.lastNotifiedAt&&f.now.getTime()-c.lastNotifiedAt.getTime()>=216e5,h={id:c.id,okStreak:0,lastSampleAt:e.sampleAt??c.lastSampleAt,lastSeenAt:f.now,message:e.message,causedBy:b,providerIncident:j},i=!c.notifiedOpen&&(!c.pendingSince||f.now.getTime()-c.pendingSince.getTime()>=216e5);(d||i)&&!I(c,f.now)&&!b&&null===c.pending&&F(a)&&(h.pending=d?"repeat":"open"),g.touch.push(h);continue}if(!b._[c.ruleKey].sampled||null===e.sampleAt){k(c);continue}if(!(null===c.lastSampleAt||e.sampleAt.getTime()>c.lastSampleAt.getTime()))continue;let l=c.okStreak+1;l>=2?k(c):g.touch.push({id:c.id,okStreak:l,lastSampleAt:e.sampleAt})}for(let a of c){if("firing"!==a.status||j.has(J(a.rule,a.subject))||f.maintenance.has(a.subject)||a.resourceId&&f.maintenance.has(a.resourceId))continue;let b=h.get(a.rule);if(!b)continue;let c=G(a,f);g.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:H(b.severity,a.severity),title:a.title,message:a.message,startedAt:f.now,lastSeenAt:f.now,lastSampleAt:a.sampleAt,causedBy:c,providerIncident:a.provider?f.incidents.get(a.provider)??null:null,pending:c||!F(b)?null:"open"})}return g}],747556)},708621,a=>{let b=["status","severity","rule","target","detail","cause","step","since","threshold"],c=["id","en"],d={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},e=/\{([a-zA-Z_]+)\}/g,f=a=>a.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function g(a){if(a.length>1e3)return`Keep it under ${1e3.toLocaleString("en-US")} characters.`;for(let[,c]of a.matchAll(e))if(!b.includes(c))return`{${c}} isn't a field. Use ${b.map(a=>`{${a}}`).join(", ")}.`;return null}a.s(["I",0,{en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},"z",0,"alerts.messageTemplates","i",0,c,"_",0,function(a){if(!a||"object"!=typeof a||Array.isArray(a))return{};let b={};for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e)continue;let a={};for(let b of c){let c=e[b];"string"==typeof c&&c.trim()&&null===g(c)&&(a[b]=c)}Object.keys(a).length&&(b[d]=a)}return b},"l",0,function(a,b){return f(a).split("\n").flatMap(a=>{let c=[...a.matchAll(e)].map(a=>a[1]).filter(a=>Object.hasOwn(b,a));return c.length&&c.every(a=>!b[a].trim())?[]:[a.replace(e,(a,c)=>Object.hasOwn(b,c)?b[c]:a)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim()},"F",0,function(a,b){let c="string"==typeof a?f(a):"";return c&&c!==d[b]?c:null},"m",0,g])},455317,71575,805037,569057,930270,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(927262),h=a.i(949663),i=a.i(747556),j=a.i(708621),k=a.i(519051),l=a.i(160147),m=a.i(245710);function n(a,b){return"1h"===a?{silencedUntil:new Date(b.getTime()+36e5),silencedUntilResolved:!1}:{silencedUntil:null,silencedUntilResolved:!0}}a.s(["_",0,[["critical","Critical"],["warning","Warning"],["info","Info"]],"O",0,function(a,b){return a.silencedUntilResolved?{state:"off",text:"Silenced until resolved"}:a.silencedUntil&&a.silencedUntil.getTime()>b.getTime()?{state:"off",text:`Silenced until ${(0,m.U)(a.silencedUntil)}`}:"open"===a.pending||"repeat"===a.pending?{state:"build",text:"Sending…"}:a.causedBy&&!a.notifiedOpen?{state:"off",text:"Muted"}:a.lastNotifiedAt?{state:"ok",text:`Sent ${(0,m.U)(a.lastNotifiedAt)}`}:{state:"off",text:"Digest only"}},"G",0,function(a){return a.enabled?a.firing?{state:"err",text:`Firing \xb7 ${a.firing}`}:a.hasData?{state:"off",text:"Inactive"}:{state:"unknown",text:"No data yet"}:{state:"off",text:"Disabled"}},"A",0,n,"M",0,function(a,b){let c=Math.max(1,Math.round((b.getTime()-a.getTime())/6e4));if(c<60)return`${c} min`;let d=Math.floor(c/60);return d<24?`${d} h ${c%60} min`:`${Math.floor(d/24)} d ${d%24} h`}],71575);var o=a.i(258261),p=a.i(263410),q=a.i(513701),r=a.i(186133),s=a.i(968715),t=a.i(15738);let u=a=>{let[b,c]=a.split("-").map(Number);return 1===c?`${b-1}-12`:`${b}-${String(c-1).padStart(2,"0")}`};async function v(a,b){let c;return function(a,b,c){let d=(0,t.C)(new Date(a.getTime()-864e5*c),b),e=[];for(let c=u((0,t.C)(a,b).slice(0,7));e.length<3&&`${c}-01`>=d;c=u(c))e.push(c);return e}(a,b,Math.min((c=await (0,r.J)()).rollupsHourly,c.alerts,s.F))}async function w(a){let d=a?await (0,e.f)().select().from(p.I).where(a):await (0,e.f)().select().from(p.I).orderBy((0,c.M)(p.I.clientName));if(!d.length)return[];let f=d.map(a=>a.id),[g,h]=await Promise.all([(0,e.f)().select({reportId:p.Z.reportId,monitorId:p.Z.monitorId,displayName:p.Z.displayName,position:p.Z.position}).from(p.Z).where((0,b.y)(p.Z.reportId,f)).orderBy((0,c.M)(p.Z.position)),(0,e.f)().select().from(p.q).where((0,b.y)(p.q.reportId,f)).orderBy((0,c.A)(p.q.month))]);return d.map(a=>{let b=h.find(b=>b.reportId===a.id);return{id:a.id,clientName:a.clientName,title:a.title,lang:a.lang,note:a.note,emailOpening:a.emailOpening,recipients:a.recipients,autoSend:a.autoSend,sender:a.sender,sites:g.filter(b=>b.reportId===a.id).map(({monitorId:a,displayName:b,position:c})=>({monitorId:a,displayName:b,position:c})),lastSend:b?{month:b.month,status:b.status,sentAt:b.sentAt,lastError:b.lastError}:null}})}async function x(a){return/^[0-9a-f-]{36}$/i.test(a)?(await w((0,b.u)(p.I.id,a)))[0]??null:null}async function y(a,c,d,g){let h=await x(a);if(!h)return{error:"not-found"};if(!h.sites.length)return{error:"no-sites"};if(c!==(0,t.C)(d,g).slice(0,7)&&!(await v(d,g)).includes(c))return{error:"month-too-old"};let i=(0,t.e)(c),j=(0,t.K)(i[0],g),k=(0,t.K)(`${(a=>{let[b,c]=a.split("-").map(Number);return 12===c?`${b+1}-01`:`${b}-${String(c+1).padStart(2,"0")}`})(c)}-01`,g),l=h.sites.map(a=>a.monitorId),[m,n,r,s,u,[w]]=await Promise.all([(0,e.f)().select({id:f.monitors.id,resourceId:f.monitors.resourceId,intervalS:f.monitors.intervalS}).from(f.monitors).where((0,b.y)(f.monitors.id,l)),(0,q._)(l,d,g),(0,e.f)().select({monitorId:f.rollupsHourly.monitorId,hour:f.rollupsHourly.hour,p50:f.rollupsHourly.p50Ms}).from(f.rollupsHourly).where((0,b.b)((0,b.y)(f.rollupsHourly.monitorId,l),(0,b.B)(f.rollupsHourly.hour,j),(0,b.S)(f.rollupsHourly.hour,k))),(0,e.f)().select({ruleKey:f.alerts.ruleKey,subject:f.alerts.subject,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.y)(f.alerts.ruleKey,["MonitorDown","HighLatency"]),(0,b.y)(f.alerts.subject,l),(0,b.S)(f.alerts.startedAt,k),(0,b.F)((0,b.M)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,j)))),(0,e.f)().select().from(p.p).where((0,b.b)((0,b.B)(p.p.day,i[0]),(0,b.n)(p.p.day,i[i.length-1]))),(0,e.f)().select({day:(0,o.t)(p.p.day)}).from(p.p)]),y=new Map;for(let a of r){if(null===a.p50)continue;let b=y.get(a.monitorId)??new Map,c=(0,t.C)(a.hour,g);b.set(c,[...b.get(c)??[],a.p50]),y.set(a.monitorId,b)}let z=new Map;for(let a of h.sites){let b=m.find(b=>b.id===a.monitorId)?.resourceId;b&&!z.has(b)&&z.set(b,a.monitorId)}let A=h.sites.flatMap(a=>{let b=m.find(b=>b.id===a.monitorId);if(!b)return[];let c=n.get(a.monitorId)??new Map,d=new Map(i.filter(a=>c.has(a)).map(a=>[a,c.get(a)])),e=i.find(a=>(d.get(a)?.checks??0)>0)??null,f=y.get(a.monitorId),g=new Map(i.map(a=>{let b=f?.get(a);return[a,b?.length?Math.round(b.reduce((a,b)=>a+b,0)/b.length):null]}));return[{monitorId:a.monitorId,name:a.displayName,intervalS:b.intervalS,firstDay:e,days:d,p50ByDay:g}]}),B=h.sites.map(a=>{let b=m.find(b=>b.id===a.monitorId)?.resourceId,c=b&&z.get(b)===a.monitorId?u.filter(a=>a.resourceId===b):[];return{monitorId:a.monitorId,ok:c.reduce((a,b)=>a+b.ok,0),failed:c.reduce((a,b)=>a+b.failed,0),firstDay:c[0]?.day??null}});return{month:c,zone:g,generatedAt:d,sites:A,incidents:s.map(a=>({monitorId:a.subject,kind:"MonitorDown"===a.ruleKey?"down":"slow",startedAt:a.startedAt<j?j:a.startedAt,resolvedAt:a.resolvedAt,endedBy:a.resolvedAt?"resolved":"open"})),deploys:B,dataFrom:{uptime:null,updates:w?.day&&w.day>i[0]?w.day:null}}}async function z(){let a=await (0,e.f)().select({reportId:p.q.reportId,month:p.q.month,status:p.q.status,lastError:p.q.lastError,clientName:p.I.clientName}).from(p.q).innerJoin(p.I,(0,b.u)(p.I.id,p.q.reportId)).where((0,b.u)(p.I.autoSend,!0)).orderBy((0,c.A)(p.q.month)),d=new Set;return a.filter(a=>!d.has(a.reportId)&&d.add(a.reportId))}async function A(a,c,d){await a.delete(p.Z).where((0,b.u)(p.Z.reportId,c)),d.length&&await a.insert(p.Z).values(d.map(a=>({reportId:c,...a})))}async function B(a){let{sites:b,...c}=a;return(0,e.f)().transaction(async a=>{let[d]=await a.insert(p.I).values(c).returning({id:p.I.id});return await A(a,d.id,b),d.id})}async function C(a,c){let{sites:d,...f}=c;return(0,e.f)().transaction(async c=>!!(await c.update(p.I).set({...f,updatedAt:new Date}).where((0,b.u)(p.I.id,a)).returning({id:p.I.id})).length&&(await A(c,a,d),!0))}async function D(a,c){return(await (0,e.f)().update(p.I).set({...c,updatedAt:new Date}).where((0,b.u)(p.I.id,a)).returning({id:p.I.id})).length>0}async function E(a){return(await (0,e.f)().delete(p.I).where((0,b.u)(p.I.id,a)).returning({id:p.I.id})).length>0}async function F(){return(await (0,e.f)().select({id:f.monitors.id,url:f.monitors.url,app:f.resources.name}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.u)(f.monitors.kind,"http")).orderBy((0,c.M)(f.resources.name),(0,c.M)(f.monitors.url))).map(a=>{let b=a.url;try{let c=new URL(a.url);b=`${c.host}${"/"===c.pathname?"":c.pathname}`}catch{}return{id:a.id,label:`${a.app} \xb7 ${b}`}})}a.s(["K",0,B,"_",0,E,"L",0,x,"q",0,()=>w(),"D",0,y,"r",0,F,"m",0,v,"l",0,z,"A",0,C,"$",0,D],805037);var G=a.i(639271),H=a.i(656298),I=a.i(688275),J=a.i(893893),K=a.i(672319),L=a.i(188546),M=a.i(233711),N=a.i(460565);async function O(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","qstash","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function P(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function Q(){let[a]=await (0,e.f)().select({threshold:f.alertRules.threshold}).from(f.alertRules).where((0,b.u)(f.alertRules.key,"CollectorStale")).limit(1);return(0,N.X)(a?.threshold)}a.s(["o",0,Q,"D",0,O,"d",0,P],569057);var R=a.i(683439);async function S(a,c=new Date){var d;let g=a.filter(R.f);return g.length?(d=await (0,e.f)().select({appId:f.appRepos.appId,repo:f.githubRepos.fullName,branch:f.githubRepos.defaultBranch,run:f.githubRepos.actions,checkedAt:f.githubRepos.actionsCheckedAt,goneAt:f.githubRepos.goneAt}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.y)(f.appRepos.appId,g)),d.filter(a=>a.run&&!a.goneAt).map(a=>({appId:a.appId,repo:a.repo,branch:a.branch,run:a.checkedAt&&c.getTime()-a.checkedAt.getTime()<=1728e5?a.run:null}))):[]}var T=a.i(351917),U=a.i(865653),V=a.i(367247),W=a.i(436357),X=a.i(912283),Y=a.i(358179),Z=a.i(492665),$=a.i(679662),_=a.i(852539),aa=a.i(33135),ab=a.i(533957);let ac="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function ad(a,b,c,d){let e=d.deadline-Date.now();if(e<500)return{ok:!1,error:"No time left for OSV.dev"};let f=AbortSignal.timeout(e);return af(a,{method:"POST",headers:{"content-type":"application/json","user-agent":ac},body:JSON.stringify(b),signal:f},c,f,d)}async function ae(a,b,c){let d=c.deadline-Date.now();if(d<500)return{ok:!1,error:"No time left for OSV.dev"};let e=AbortSignal.timeout(Math.min(d,8e3));return af(a,{method:"GET",headers:{"user-agent":ac},signal:e},b,e,c)}async function af(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(a,{...b,redirect:"error",cache:"no-store"})}catch(a){return{ok:!1,error:(0,ab.t)(a)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!f.ok)return await f.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${f.status}`};try{let{bytes:a,truncated:b}=await (0,aa.z)(f,c,(0,aa.X)(d));if(b)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(a))}}catch(a){return{ok:!1,error:(0,ab.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function ag(a,b){let c=[];for(let d of(0,_.f)(a)){let a=await ad(_.n,d,4194304,b);if(!a.ok)return a;let e=(0,_.j)(a.body,d.queries.length);if(!e)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};c.push(...e)}return{ok:!0,ids:c}}async function ah(a,b){let c=[...new Set(a)].filter(_.G);if(c.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${c.length})`};let d=new Map,e=null;for(let a=0;a<c.length&&!e;a+=8)await Promise.all(c.slice(a,a+8).map(async a=>{let c=await ae(`${_.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,_.O)(c.body):null;f?d.set(a,f):e??=c.ok?"OSV.dev sent an advisory we couldn't read":c.error}));return e?{ok:!1,error:e}:{ok:!0,map:d}}var ai=a.i(521050),aj=a.i(120213),ak=a.i(689963),al=a.i(26972),am=a.i(427221),an=a.i(811365),ao=a.i(760417);let ap=ak.z.array(al.z.object({name:am.z.string(),type:am.z.string(),sha:am.z.string(),size:an.z.number().optional()}));async function aq(a,b,c,d={},e=null){if(!(0,ao.M)(b)||!(0,ao.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==e&&(0,ai.Q)(e)!==e)return{ok:!1,kind:"format",error:"That isn't a folder in a repository."};let f=e?e.split("/").map(encodeURIComponent).join("/"):"",g=await (0,ao.j)(`/repos/${(0,ao.f)(b)}/contents/${f}?ref=${encodeURIComponent(c)}`,a,d);if(!g.ok)return g;let h=ap.safeParse(g.data);return h.success?{ok:!0,data:h.data.filter(a=>"file"===a.type&&/^[0-9a-f]{40}$/.test(a.sha)).map(a=>({name:a.name,sha:a.sha,size:a.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}async function ar(a,b,c,d={}){if(!(0,ao.M)(b)||!(0,ao.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let e=await (0,ao.j)(`/repos/${(0,ao.f)(b)}/git/ref/heads/${c.split("/").map(encodeURIComponent).join("/")}`,a,d);return e.ok?{ok:!0,data:!0}:"missing"===e.kind?{ok:!0,data:!1}:e}function as(a,b,c,d,e,f={}){return(0,ao.V)(a,b,c,d,e,f)}async function at(a,b,c={}){if(!(0,ao.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,ao.j)(`/repos/${(0,ao.f)(b)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,a,c);if(!d.ok)return"scope"===d.kind||"missing"===d.kind?{ok:!0,data:{denied:!0}}:d;let e=(0,aj.E)(d.data);return e?{ok:!0,data:{alerts:e}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}var au=a.i(751263);async function av(){let[a]=await (0,e.f)().select().from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!a)return{error:"GitHub isn't connected."};let d=(0,Y.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,Z.f)().OPS_ENCRYPTION_KEY);return d?{token:d,accountId:a.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}async function aw(){let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,"deps.scanAll")).limit(1);return a?.value===!0}let ax=a=>{let b=(0,au.w)(a);return{dir:(0,ai.Q)((a??{}).rootDirectory),unsupported:(0,ai.l)((a??{}).rootDirectoryUnsupported),branch:(0,au.i)((0,au.V)(a),null),...b?{fallback:b}:{}}};async function ay(a){let c=[...new Set(a.filter(R.f))],d=new Map;if(!c.length)return d;let g=await (0,e.f)().select({repoId:f.appRepos.repoId,name:f.resources.name,monitored:f.resources.monitored,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.b)((0,b.y)(f.appRepos.repoId,c),(0,b.M)(f.resources.goneAt))).limit(1e3);for(let a of(g.sort((a,b)=>Number(!!b.monitored)-Number(!!a.monitored)||(a.name<b.name?-1:+(a.name>b.name))),g))d.has(a.repoId)||d.set(a.repoId,ax(a.meta));return d}async function az(){let a={id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,scannedAt:f.dependencyScans.scannedAt},c=(0,b.b)((0,b.M)(f.githubRepos.goneAt),(0,b.u)(f.githubRepos.archived,!1)),d=await aw()?await (0,e.f)().select(a).from(f.githubRepos).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500):await (0,e.f)().selectDistinct(a).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500),g=d.length?await ay(d.map(a=>a.id)):new Map;return(0,aj.M)(d.map(a=>{let b=g.get(a.id);return{...a,rootDir:b?.dir??null,rootDirUnsupported:b?.unsupported??null,prodBranch:b?.branch??null,...b?.fallback?{prodFallback:b.fallback}:{}}}))}let aA=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function aB(a,b){let c=new Date;await (0,e.f)().insert(f.dependencyScans).values({repoId:a,...b,updatedAt:c}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{...b,updatedAt:c}})}async function aC(a){return(0,e.f)().select({id:f.dependencyVulns.id,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,source:f.dependencyVulns.source}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)}function aD(a,b){for(let c of $.a){let d=a.find(a=>a.name===c.path);if(d)return{path:(0,ai.H)(b,c.path),kind:c.kind,sha:d.sha}}return null}async function aE(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await aB(c.id,{error:aA(a,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:a}),j=c.defaultBranch??"HEAD",k=null;for(let b of[c.prodBranch,c.prodFallback]){if(b&&b===c.defaultBranch)break;let d=(0,au.i)(b,c.defaultBranch);if(!d)continue;let e=await ar(a,c.fullName,d,h());if(!e.ok)return i(e.error);if(e.data){k=d;break}}let l=null!==k;k&&(j=k);let m=l?`Scanned ${k}, the branch production is built from.`:null,n=(0,ai.Q)(c.rootDir),o=n?null:(0,ai.l)(c.rootDirUnsupported),p=o?`The Vercel Root Directory "${o}" couldn't be used (Watchbell reads plain folder names, at most 4 deep); scanned the repository root.`:null,q=await aq(a,c.fullName,j,h(),n);if(!q.ok)return i(n&&"missing"===q.kind?`The folder ${(0,ai.x)(n)} isn't in ${c.fullName} on ${j}.`:q.error);let r=aD(q.data,n),s=q.data.find(a=>"package.json"===a.name)??null,t=!1,u=null;if(n&&s&&!r){let b=await aq(a,c.fullName,j,h());if(!b.ok)return i(b.error);t=null!==(r=aD(u=b.data,null))}let v=r?r.sha:s?`pkg:${s.sha}`:null,w=v&&n?`${n}:${v}${t&&s?`+${s.sha}`:""}`:v&&o?`odd:${v}`:v,x=w&&l?`br:${k}:${w}`:w,[y]=await (0,e.f)().select().from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,c.id)).limit(1),z=new Date;if(!(0,aj.U)(y??null,x,z,g.force))return{status:"unchanged"};if(!x){let a=await aC(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:z}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await aB(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:z,queriedAt:z,error:null,note:aA([m,p,`No package.json or lockfile ${n?"in":"at"} ${(0,ai.x)(n)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let A=(0,ai.H)(n,"package.json"),B=s?await as(a,c.fullName,A,j,ao.$,h()):null;if(B&&!B.ok)return i(B.error);let C=B?.ok&&B.data?(0,$.b)(B.data):null,D=null,E="package-json",F=t&&r?`Scanned ${(0,ai.x)(n)} with the repository root's ${r.path} (workspaces).`:null;if(r){if(2e3>d-Date.now())return i("Time budget used before the lockfile was read; the next run tries again.");let b=await as(a,c.fullName,r.path,j,0xf00000,{...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),2e4))});if(!b.ok)return i(b.error);let e=!0;if(t&&n&&b.data&&!(0,ai.p)(r.kind,b.data,n)){let b=u?.some(a=>"package.json"===a.name)?await as(a,c.fullName,"package.json",j,ao.$,h()):null;if(b&&!b.ok)return i(b.error);e=(0,ai.F)(b?.data??null,n)}e?(D=b.data?(0,$.D)(r.kind,b.data):null,E=r.kind,D||(F=[F,`${r.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(F=`The repository root's ${r.path} isn't a workspace that includes ${n}, so the versions come from ${A} ranges (approximate).`,r=null)}if(D){let a=(0,X.m)(D,C);D=a.deps,a.stale.length&&(F=[F,(0,X.M)(a.stale)].filter(Boolean).join(" "))}else D=C?(0,$.e)(C):[],E="package-json",F??=r?null:"No lockfile: the versions come from package.json ranges (approximate).";let G=await aC(c.id),H=[];if(D.length){let a=await ag(D,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,aj.A)(G,!0===g.force),c=await ah((0,aj.z)(D,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);H=(0,_.i)(D,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await at(a,c.fullName,h());b.ok&&"alerts"in b.data?H=(0,aj.R)(H,b.data.alerts,D):b.ok&&(F=[F,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let I=(0,aj.h)(G,H,(0,$.K)(C));F=[m,p,F].filter(Boolean).join(" ")||null;let J=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(I.insert.length&&await a.insert(f.dependencyVulns).values(I.insert.map(a=>({repoId:c.id,package:a.package,installedVersion:a.installedVersion,vulnId:a.vulnId,aliases:a.aliases,severity:a.severity,fixedVersion:a.fixedVersion,summary:a.summary,direct:a.direct,dev:a.dev,source:a.source,firstSeenAt:J,lastSeenAt:J}))).onConflictDoNothing(),I.update))await a.update(f.dependencyVulns).set({severity:d.severity,fixedVersion:d.fixedVersion,summary:d.summary,aliases:d.aliases,dev:d.dev,direct:d.direct,lastSeenAt:J}).where((0,b.u)(f.dependencyVulns.id,d.id));I.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:J}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,I.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:D.length,scannedAt:J,queriedAt:J,error:null,note:F?aA(F,300):null,updatedAt:J}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:D.length,scannedAt:J,queriedAt:J,error:null,note:F?aA(F,300):null,updatedAt:J}})}),{status:"scanned",vulns:I.insert.length+I.update.length,packages:D.length,note:"package-json"===E?F:null}}async function aF(a,c={}){var d,g;let h,i,j,k,l=await av();if("error"in l)return{error:l.error};let{first:m,only:n,skip:o,...p}=c,q=(d=await az(),h=(g={first:m,only:n,skip:o}).only?new Set(g.only):null,i=new Set(g.skip??[]),j=(h?d.filter(a=>h.has(a.id)):d).filter(a=>!i.has(a.id)),k=new Set(g.first??[]),[...j.filter(a=>k.has(a.id)),...j.filter(a=>!k.has(a.id))]),r={scanned:0,unchanged:0,failed:[],left:0,done:[],listed:q.map(a=>a.id)};for(let[b,c]of q.entries()){if(a-Date.now()<4e3){r.left=q.length-b;break}r.done.push(c.id);try{let b=await aE(l.token,c,a,p);"scanned"===b.status?r.scanned++:"unchanged"===b.status?r.unchanged++:r.failed.push(`${c.fullName}: ${b.error}`)}catch(a){r.failed.push(`${c.fullName}: ${a instanceof Error?a.name:"error"}`)}}return await (0,e.f)().delete(f.dependencyVulns).where((0,b.b)((0,b.E)(f.dependencyVulns.resolvedAt),(0,b.S)(f.dependencyVulns.resolvedAt,new Date(Date.now()-7776e6)))).catch(()=>void 0),r}let aG=async()=>(await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).limit(1)).length>0;async function aH(a,c,d={}){let g,h,i,{marked:j,onlyMarked:k}=c;if(!await aG())return{problem:null,settled:[...j],done:[],complete:!0};let l=j.filter(R.f),m=l.length?await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,l)).limit(5*l.length):[],n=[...new Set(m.map(a=>a.repoId))],o=a=>m.filter(b=>b.appId===a).map(a=>a.repoId),p=j.filter(a=>!o(a).length);if(k&&!n.length)return{problem:null,settled:[...j],done:[],complete:!0};if(a-Date.now()<4e3)return{problem:null,settled:p,done:[],complete:!1};let q=(c.skip??[]).filter(a=>!n.includes(a)),r=await aF(a,{...d,first:n,...k?{only:n}:{skip:q}});if("error"in r){let a;return{problem:(a=r.error,/didn't answer in time|no time left|time budget|rate limit/i.test(a))?null:r.error,settled:[...j],done:[],complete:!0}}let s=new Set([...r.done,...n.filter(a=>!r.listed.includes(a))]);return{problem:(g=r.failed.filter(a=>!/didn't answer in time|no time left|time budget|rate limit/i.test(a)),(h=r.failed.length-g.length+(r.left??0))&&console.info(`deps: ${h} repositor${1===h?"y":"ies"} wait for the next run`),i=g.slice(0,3),g.length>3&&i.push(`+${g.length-3} more`),i.length?i.join("; "):null),settled:j.filter(a=>o(a).every(a=>s.has(a))),done:r.done,complete:0===r.left}}async function aI(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,R.f)(a))return d;let[g]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return d;let[[h],i,[j]]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,g.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3),(0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github_write")).limit(1)]);i.sort((a,b)=>(0,aj.t)(a.severity)-(0,aj.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1));let k=await (0,e.f)().select({number:f.dependencyPrs.number,stage:f.dependencyPrs.stage,stageText:f.dependencyPrs.stageText,openedAt:f.dependencyPrs.openedAt}).from(f.dependencyPrs).where((0,b.b)((0,b.u)(f.dependencyPrs.repoId,g.id),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)))).orderBy((0,c.A)(f.dependencyPrs.openedAt)).limit(5).catch(()=>[]);return{repo:g,scan:h??null,vulns:i,writeConnected:!!j,prs:(k??[]).map(a=>({...a,fullName:g.fullName}))}}async function aJ(a,c={}){if(!(0,R.f)(a))return{ok:!1,error:"That app no longer exists."};let[g]=await (0,e.f)().select({app:f.resources.name,id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,goneAt:f.githubRepos.goneAt,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{ok:!1,error:"Link a repository first."};if(g.goneAt)return{ok:!1,error:"That repository is no longer shared with the GitHub token."};let h=await av();if("error"in h)return{ok:!1,error:h.error};let i=ax(g.meta),j=await aE(h.token,{id:g.id,fullName:g.fullName,defaultBranch:g.defaultBranch,scannedAt:null,rootDir:i.dir,rootDirUnsupported:i.unsupported,prodBranch:i.branch,prodFallback:i.fallback??null},Date.now()+4e4,{...c,force:!0});if("failed"===j.status)return{ok:!1,error:`The scan failed: ${j.error}`};let[k]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))),l=k?.n??0;return{ok:!0,app:g.app,repo:g.fullName,vulns:l,message:l?`${l} known vulnerabilit${1===l?"y":"ies"} in ${j.packages??0} packages.`:`No known vulnerabilities in ${j.packages??0} packages.`}}async function aK(a){let c=a.filter(R.f);if(!c.length)return[];let d=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,error:f.dependencyScans.error}).from(f.appRepos).innerJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.appRepos.repoId)).where((0,b.b)((0,b.y)(f.appRepos.appId,c),(0,b.E)(f.dependencyScans.scannedAt)));if(!d.length)return[];let g=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,severity:f.dependencyVulns.severity,summary:f.dependencyVulns.summary,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(d.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(1e4);return d.map(a=>({appId:a.appId,repoId:a.repoId,error:a.error,vulns:g.filter(b=>b.repoId===a.repoId).map(a=>({package:a.package,installedVersion:a.installedVersion,fixedVersion:a.fixedVersion,severity:a.severity,summary:a.summary,dev:a.dev,direct:a.direct}))}))}async function aL(a,c=new Set){let g=a.filter(R.f),h=new Map;if(!g.length)return h;let i=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,g));if(!i.length)return h;let j=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,vulnId:f.dependencyVulns.vulnId,aliases:f.dependencyVulns.aliases,severity:f.dependencyVulns.severity,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(i.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt),(0,b.u)(f.dependencyVulns.direct,!0),(0,b.E)(f.dependencyVulns.fixedVersion))).limit(2e3),k=j.some(a=>"next"===a.package)?new Set((await (0,e.f)().selectDistinct({appId:f.dependencyPrs.appId}).from(f.dependencyPrs).where((0,b.b)((0,b.y)(f.dependencyPrs.appId,g),(0,b.$)(f.dependencyPrs.stage,["merged","closed"]),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)),d.B`${f.dependencyPrs.packages} @> '["next"]'::jsonb`)).limit(g.length)).map(a=>a.appId)):new Set;for(let a of i){let b=c.has(a.appId)||k.has(a.appId);(0,aj.B)(j.filter(c=>c.repoId===a.repoId&&!(b&&"next"===c.package))).length&&h.set(a.appId,a.repoId)}return h}a.s(["o",0,12e3,"d",0,4e3,"j",0,aI,"O",0,aH,"C",0,aL,"M",0,av,"a",0,aK,"h",0,aJ],930270);var aM=a.i(242605);async function aN(){return(0,e.f)().select({appId:f.links.fromResourceId,dbId:f.links.toResourceId}).from(f.links).where((0,b.u)(f.links.kind,"uses_db")).limit(500)}async function aO(a){let g=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),[h,i,j,k,l]=await Promise.all([P(),O(),(0,e.f)().select({m:f.monitors,appName:f.resources.name,appMeta:f.resources.meta}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(g,(0,b.u)(f.monitors.paused,!1),(0,b.u)(f.monitors.ownerPaused,!1))),(0,e.f)().select({id:f.resources.id,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)(g,(0,b.u)(f.resources.kind,"app"))),(0,e.f)().select({id:f.accounts.id,provider:f.accounts.provider,label:f.accounts.label,expiresAt:f.accounts.expiresAt,status:f.accounts.status,lastError:f.accounts.lastError}).from(f.accounts)]),m=j.map(a=>a.m.id),n=m.length?await (0,e.f)().select({id:f.checks.monitorId,n:d.B`count(*)::int`,p95:d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})::float8`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,m),(0,b.B)(f.checks.at,new Date(a.getTime()-6e5)),(0,b.u)(f.checks.inMaintenance,!1))).groupBy(f.checks.monitorId):[],o=k.map(a=>a.id),p=o.length?await (0,e.f)().selectDistinctOn([f.deployments.resourceId],{appId:f.deployments.resourceId,state:f.deployments.state,sha:f.deployments.commitSha,createdAt:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,o),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],q=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,kind:f.resources.kind,state:f.snapshots.state,data:f.snapshots.data}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)(g,(0,b.y)(f.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),r=a=>q.filter(b=>b.kind===a),s=q.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),t=r("zone"),u=r("domain"),v=await aN(),w=await (0,V.Y)().catch(()=>null),x=o.length?await aK(o).catch(()=>null):null,y=o.length?await (0,aM.F)(o).catch(()=>null):null,A=o.length?await S(o).catch(()=>null):null,B="on"===(0,T.C)()?function(a){var b;let c;if(!a||"ok"!==a.status||!a.system)return null;let d=(b=a.updates,c=a=>a.security||a.fixes.length>0||null!==a.error,{security:b.filter(c),other:b.filter(a=>!c(a))}).security,e=d.some(a=>null!==a.error),f=d.filter(a=>a.fixes.length).map(a=>{let b=[...a.fixes].sort((a,b)=>(b.cvss3??-1)-(a.cvss3??-1));return{source:a.source,score:b[0].cvss3,cves:b.map(a=>a.cve)}}),g=a.kernel,h=g?.newestInstalled&&g.runningVersion&&(0,U.f)(g.newestInstalled,g.runningVersion)>0?{installed:g.newestInstalled,running:g.runningVersion}:null;return{system:a.system,updates:f,kernelWaiting:h,partial:e}}(await (0,T.y)().catch(()=>null)):null,C=await z().catch(()=>null);return{now:a,lastMinuteRunAt:h,lastAnyRunAt:i,monitors:j.map(({m:a,appName:b,appMeta:c})=>{let d=n.find(b=>b.id===a.id),e="heartbeat"===a.kind;return{id:a.id,appId:a.resourceId,appName:b,url:e?a.name??"heartbeat":a.url,kind:e?"heartbeat":"http",state:a.state,failStreak:a.failStreak,lastStatus:a.lastStatus,lastError:a.lastError,lastCheckedAt:a.lastCheckedAt,p95Last10:d?.p95??null,checksLast10:d?.n??0,movedTo:e?null:(0,W.u)(a.url,{name:b,meta:c},k.filter(b=>b.id!==a.resourceId),{lastError:a.lastError})?.to??null}}),apps:k.map(a=>{let b=p.find(b=>b.appId===a.id);return{id:a.id,name:a.name,latestProduction:b?{state:b.state,sha:b.sha,createdAt:b.createdAt}:null}}),accounts:l,dbs:s.length?s.map(b=>(function(a,b){let c={id:a.id,name:a.name,state:a.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===a.kind){let b=(0,J.k)(J.B,a.data),d=(0,M.Z)(b.lastTrafficAt),e=(0,M.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:K.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,J.k)(J.s,a.data),d=(b.branches??[]).map(a=>a.logicalSize).filter(a=>"number"==typeof a);return{...c,provider:"neon",cuHours:null==b.computeSeconds?null:b.computeSeconds/3600,cuLimit:I.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:I.a.storageBytes}}if("firestore"===a.kind){let d=(0,J.k)(J.w,a.data),e=(0,M.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,H.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:H.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,J.k)(J.N,a.data),e=(0,G.u)((0,G.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:G.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,J.k)(J.e,a.data),e=(0,G.u)((0,G.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:G.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,J.k)(J.x,a.data),e=(0,G.u)((0,G.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:G.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:t.length||u.length?[...t.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,M.Z)((0,L.q)(a.data).rdap?.expiresAt)})),...u.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,M.Z)((0,L.q)(a.data).tls?.notAfter),expiresAt:null}))]:null,dns:function(a,b){let c=a.filter(a=>Array.isArray(a.data.records));if(!c.length)return null;let d=a.map(a=>a.name),e=[];for(let a of c){let c=b.filter(b=>(0,M.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,L.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,L.q)(a.data).records){if(!(0,M.l)(b,f))continue;let d=b.name.toLowerCase().replace(/\.$/,""),g=c.find(a=>a.name.toLowerCase().replace(/\.$/,"")===d);e.push({id:`${a.id}:${b.id}`,resourceId:g?.id??a.id,name:b.name,proxied:b.proxied,pointsToVercel:!0})}}return e}(t,u),links:v,compute:w,deps:x&&x.length?x:null,frameworks:y&&y.length?y:null,ci:A&&A.length?A:null,os:B,reportSends:C}}var aP=a.i(714530),aQ=a.i(396667);let aR={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function aS(){return(await (0,e.f)().select().from(f.alertRules)).filter(a=>(0,g.h)(a.key)).map(a=>({key:a.key,severity:a.severity,threshold:a.threshold,enabled:a.enabled,channels:a.channels}))}async function aT(a,c={}){let[d,j,m,n,o,p]=await Promise.all([aO(a),aS(),(0,e.f)().select().from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)),(0,e.f)().select({provider:f.providerStatus.provider,state:f.providerStatus.state}).from(f.providerStatus),(0,aP.w)(),(0,aQ.I)()]),q=new Map(d.accounts.map(a=>[a.id,a.provider])),r=m.filter(a=>!(0,l.O)(p,a.ruleKey,a.accountId?q.get(a.accountId):null)),s=(0,h.f)(d,j,c.only),t=s.evaluated,u=s.observations.filter(a=>!(0,l.O)(p,a.rule,a.provider)),v=j.find(a=>"CollectorStale"===a.key),w=void 0===d.lastAnyRunAt?d.lastMinuteRunAt:d.lastAnyRunAt,x=!!v?.enabled&&(!w||a.getTime()-w.getTime()>(v.threshold??5)*6e4),y=new Map((d.dbs??[]).filter(a=>"paused"===a.state).map(a=>[a.id,a.name])),z=new Map(d.links.filter(a=>y.has(a.dbId)).map(a=>[a.appId,`DatabasePaused \xb7 ${y.get(a.dbId)}`])),A=new Map(n.filter(a=>"warn"===a.state||"err"===a.state).map(a=>["gcp"===a.provider?"firebase":a.provider,aR[a.provider]??a.provider])),B=(0,k.u)(o,d.monitors.map(a=>({id:a.id,appId:a.appId})),a,d.apps.map(a=>a.id)),C=r.filter(a=>(0,g.h)(a.ruleKey)).map(a=>({id:a.id,ruleKey:a.ruleKey,subject:a.subject,okStreak:a.okStreak,lastSampleAt:a.lastSampleAt,silencedUntil:a.silencedUntil,silencedUntilResolved:a.silencedUntilResolved,notifiedOpen:a.notifiedOpen,lastNotifiedAt:a.lastNotifiedAt,pending:a.pending,pendingSince:a.pendingSince})),D=(0,i.f)(C,u,t,j,{now:a,collectorStale:x,mutedApps:z,incidents:A,maintenance:B});return D.open.length||D.touch.length||D.resolve.length?(await (0,e.f)().transaction(async c=>{for(let b of D.open)await c.insert(f.alerts).values({...b,pendingSince:b.pending?a:null}).onConflictDoNothing();for(let d of D.touch){let{id:e,pending:g,...h}=d;await c.update(f.alerts).set({...h,...g?{pending:g,pendingSince:a}:{}}).where((0,b.b)((0,b.u)(f.alerts.id,e),(0,b.M)(f.alerts.resolvedAt)))}for(let d of D.resolve)await c.update(f.alerts).set({resolvedAt:a,pending:d.pending,pendingSince:d.pending?a:null}).where((0,b.b)((0,b.u)(f.alerts.id,d.id),(0,b.M)(f.alerts.resolvedAt)))}),{opened:D.open.length,resolved:D.resolve.length}):{opened:0,resolved:0}}async function aU(){let[a,c]=await Promise.all([(0,aQ.I)(),(0,e.f)().select({ruleKey:f.alerts.ruleKey,provider:f.accounts.provider,n:d.B`count(*)::int`}).from(f.alerts).leftJoin(f.accounts,(0,b.u)(f.accounts.id,f.alerts.accountId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,b.y)(f.alerts.severity,["critical","warning"]))).groupBy(f.alerts.ruleKey,f.accounts.provider)]);return c.reduce((b,c)=>b+((0,l.O)(a,c.ruleKey,c.provider)?0:Number(c.n)),0)}let aV=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function aW(a=new Set){return(await (0,e.f)().select({a:f.alerts,name:f.resources.name,kind:f.resources.kind}).from(f.alerts).leftJoin(f.resources,(0,b.u)(f.resources.id,f.alerts.resourceId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,aQ.s)(a))).orderBy(aV,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aX(){return aW(await (0,aQ.I)())}async function aY(a){return(await (0,e.f)().select({id:f.alerts.id,ruleKey:f.alerts.ruleKey,severity:f.alerts.severity,title:f.alerts.title,resourceId:f.alerts.resourceId,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.E)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,new Date(a.getTime()-6048e5)))).orderBy((0,c.A)(f.alerts.resolvedAt)).limit(50)).flatMap(a=>a.resolvedAt?[{...a,resolvedAt:a.resolvedAt}]:[])}async function aZ(){let[a,c,h]=await Promise.all([aS(),(0,e.f)().select({key:f.alerts.ruleKey,n:d.B`count(*)::int`}).from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)).groupBy(f.alerts.ruleKey),(0,e.f)().select({kind:f.resources.kind}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt))).groupBy(f.resources.kind)]),i=new Set(h.map(a=>a.kind)),j={databases:["supabase_project","neon_project","firestore"].some(a=>i.has(a)),domains:i.has("domain")||i.has("zone"),dns:i.has("zone")};return g.u.flatMap(b=>{let d=a.find(a=>a.key===b);if(!d)return[];let e=g._[b].needs;return[{rule:d,firing:c.find(a=>a.key===b)?.n??0,hasData:null===e||j[e]}]})}async function a$(a,c,d,g){let h="off"===c?{silencedUntil:null,silencedUntilResolved:!1,silencedBy:null}:{...n(c,g),silencedBy:d},[i]=await (0,e.f)().update(f.alerts).set(h).where((0,b.b)((0,b.u)(f.alerts.id,a),(0,b.M)(f.alerts.resolvedAt))).returning({ruleKey:f.alerts.ruleKey,title:f.alerts.title,resourceId:f.alerts.resourceId});return i??null}async function a_(a,c){return(await (0,e.f)().update(f.alertRules).set({...c,updatedAt:new Date}).where((0,b.u)(f.alertRules.key,a)).returning({key:f.alertRules.key})).length>0}async function a0(){try{let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,j.z)).limit(1);return(0,j._)(a?.value)}catch{return{}}}async function a1(a,b){let c=await a0();Object.keys(b).length?c[a]=b:delete c[a],await (0,e.f)().insert(f.settings).values({key:j.z,value:c}).onConflictDoUpdate({target:f.settings.key,set:{value:c,updatedAt:new Date}})}a.s(["$",0,aT,"q",0,aW,"I",0,aY,"i",0,aX,"X",0,aU,"w",0,a0,"y",0,aZ,"z",0,a_,"_",0,a1,"N",0,a$],455317)}]})();
|
|
1
|
+
(()=>{"use strict";module.exports=[949663,912283,876808,747556,a=>{var b=a.i(927262),c=a.i(201516),d=a.i(273133),e=a.i(120213),f=a.i(84979),g=a.i(84877),h=a.i(679662);let i=/^v?(\d+)\.(\d+)\.(\d+)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;function j(a,b){let c=i.exec(a.trim()),d=i.exec(b.trim());return!!c&&!!d&&c[1]===d[1]&&("0"!==c[1]||c[2]===d[2])&&(0,g.f)(b,a)>=0}let k=/^Watch(?:bell|post): update (?:\S+ (?:to|ke) \S+|\d+ vulnerable packages) in ((?:[A-Za-z0-9._-]+\/){0,3}[A-Za-z0-9._-]+) \(/,l=a=>k.exec(a)?.[1]??null;a.s(["M",0,a=>`Lockfile tertinggal — jalankan npm install (${a.slice(0,5).join(", ")}${a.length>5?`, +${a.length-5}`:""}).`,"a",0,function(a,b,c){if(!a.length)return{ok:!1,why:"nothing"};let d=a.filter(a=>c.includes(a.severity)&&!("moderate"===a.severity&&a.dev));if(!d.length)return{ok:!1,why:"severity"};for(let a of d){let c=b.get(a.package);if(!c||!j(c,a.to))return{ok:!1,why:"major"}}return{ok:!0,upgrades:d}},"m",0,function(a,b){if(!b)return{deps:a,stale:[]};let c=[...Object.entries(b.dependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.optionalDependencies).map(([a,b])=>[a,b,!1]),...Object.entries(b.devDependencies).map(([a,b])=>[a,b,!0])],d=[...a],e=[];for(let[a,b,f]of c){let c=(0,h.Y)(b);if(!c||!(0,h.C)(c))continue;let i=d.filter(b=>b.name===a);!i.length||i.some(a=>(0,g.f)(a.version,c)>=0)||((d=d.filter(b=>b.name!==a)).push({name:a,version:c,dev:i.every(a=>a.dev)&&f}),e.push(a))}return{deps:d,stale:e}},"D",0,function(a){let b=new Map;for(let c of a){if(!c.direct)continue;let a=b.get(c.package);(!a||0>(0,g.f)(c.installedVersion,a))&&b.set(c.package,c.installedVersion)}return b},"U",0,function(a,b,c=null){for(let d of b){if(l(d.title)!==c)continue;let b=function(a){if(a.packages?.length)return a.packages;let b=/^Watch(?:bell|post): update (\S+) (?:to|ke) /.exec(a.title);return b?[b[1]]:"all"}(d);if("all"===b||a.some(a=>b.includes(a)))return d}return null},"J",0,j],912283);let m=["next","eslint-config-next"],n={CRITICAL:"critical",HIGH:"high",MODERATE:"moderate",LOW:"low",UNKNOWN:"unknown"};function o(a,b){if(!a||!(0,h.C)(a))return null;let c=b.map(a=>a.fixed).filter(b=>!!b&&(0,h.C)(b)&&(0,g.f)(b,a)>0);if(!c.length)return null;let d=c.filter(b=>j(a,b));return(d.length?d:c).reduce((a,b)=>(0,g.f)(b,a)>0?b:a)}function p(a,b){let c=o(a,b),d=c?b.map(a=>a.fixed).filter(a=>!!a&&(0,h.C)(a)&&(0,g.f)(a,c)>0):[],e=d.reduce((a,b)=>null===a||(0,g.f)(b,a)>0?b:a,null),i=e?` (${1===d.length?"one fix needs":"some fixes need"} Next.js ${e.split(".")[0]})`:"";return`Next.js ${a??"(unknown version)"} has ${(0,f.q)(b.length)} (${(0,f.N)(b).toLowerCase()}), ${c?`fixed in ${c}${i}`:"no fix yet"}.`}a.s(["P",0,p,"p",0,function(a){if(!a||"vulnerable"!==a.status||!a.findings.length||!a.version)return null;let b=o(a.version,a.findings);if(!b)return null;let c=n[(0,f.N)(a.findings)],d=[...new Set(a.findings.map(a=>a.id))],e=[...new Set(a.findings.flatMap(a=>a.cve?[a.cve]:[]))];return{from:a.version,to:b,upgrades:[{package:"next",to:b,vulnIds:d,cves:e,severity:c},{package:"eslint-config-next",to:b,vulnIds:[],cves:[],severity:c,companionOf:"next"}],installed:new Map(m.map(b=>[b,a.version]))}},"F",0,function(a){let b=a.find(a=>"next"===a.package&&!a.companionOf);return!b||a.some(a=>"eslint-config-next"===a.package)?a:[...a,{package:"eslint-config-next",to:b.to,vulnIds:[],cves:[],severity:b.severity,companionOf:"next"}]}],876808);let q=a=>Math.round(a).toLocaleString("en-US"),r=(a,b)=>Math.floor((a.getTime()-b.getTime())/864e5),s=(a,b)=>`${a} ${b}${1===a?"":"s"}`,t=a=>{try{let b=new URL(a);return`${b.host}${b.pathname}`}catch{return a}},u=a=>{try{return new URL(a).host}catch{return a}},v=a=>{try{return new URL(a).pathname}catch{return"/"}},w="Down · ",x=new Set(["failure","timed_out","startup_failure"]),y=(a,b,c)=>({rule:a,subject:b,status:"unknown",resourceId:null,accountId:null,title:b,message:"",provider:null,sampleAt:null,...c}),z=a=>"firestore"===a.provider?"firebase":"d1"===a.provider?"cloudflare":a.provider,A=new Set(["turso","upstash","d1"]),B={MonitorDown:(a,b)=>a.monitors.map(a=>{let d=y("MonitorDown",a.id,{resourceId:a.appId,title:`${a.appName} ${"heartbeat"===a.kind?a.url:v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt}),e=b??3;if("heartbeat"===a.kind){let b;return{...d,status:"err"===a.state?"firing":"ok"===a.state?"ok":"unknown",message:`${a.appName} \xb7 ${a.url}: ${b=a.lastError,b?.startsWith(w)?b.slice(w.length):"no ping in time"}.`}}return a.movedTo?{...d,status:"ok",message:`${u(a.url)} moved to ${a.movedTo}; MonitorDomainMoved takes over.`}:a.failStreak>=e?{...d,status:"firing",message:(0,c.H)(a)?`${t(a.url)} failed its check (${(0,c.H)(a)}) on ${e} consecutive checks.`:`${t(a.url)} returned ${a.lastStatus?`HTTP ${a.lastStatus}`:"no answer"} on ${e} consecutive checks.`}:{...d,status:0===a.failStreak&&a.lastCheckedAt?"ok":"unknown",message:`${t(a.url)} answers again.`}}),MonitorDomainMoved:a=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let b=y("MonitorDomainMoved",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel"});return a.movedTo?{...b,status:"firing",message:`${u(a.url)} is no longer a domain of ${a.appName}; production is on ${a.movedTo}.`}:{...b,status:"ok",message:`The monitor checks ${u(a.url)}, a domain of ${a.appName}.`}}),CollectorStale:(a,b)=>{let c=a.lastMinuteRunAt;return[y("CollectorStale","collector",{status:!c||a.now.getTime()-c.getTime()>(b??5)*6e4?"firing":"ok",title:"collector",message:c?`The last minute run finished ${q((a.now.getTime()-c.getTime())/6e4)} min ago.`:"The collector hasn't finished a run yet."})]},HighLatency:(a,b)=>a.monitors.filter(a=>"http"===a.kind).map(a=>{let c=y("HighLatency",a.id,{resourceId:a.appId,title:`${a.appName} ${v(a.url)}`,provider:"vercel",sampleAt:a.lastCheckedAt});if(a.checksLast10<5||null===a.p95Last10)return c;let d=b??1500;return{...c,status:a.p95Last10>d?"firing":"ok",message:`p95 ${q(a.p95Last10)} ms over the last 10 minutes (limit ${q(d)} ms).`}}),DeploymentFailed:a=>a.apps.map(a=>{let b=y("DeploymentFailed",a.id,{resourceId:a.id,title:a.name,provider:"vercel"}),c=a.latestProduction;return c?"error"===c.state?{...b,status:"firing",message:`Production deployment ${c.sha?c.sha.slice(0,7):"(no commit)"} failed.`}:{...b,status:"building"===c.state?"unknown":"ok"}:{...b,status:"ok"}}),DatabasePaused:a=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(a=>y("DatabasePaused",a.id,{resourceId:a.id,title:a.name,provider:"supabase",status:"unknown"===a.state?"unknown":"paused"===a.state?"firing":"ok",message:`Supabase project ${a.name} is paused.`})),CertExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=y("CertExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.tlsNotAfter)return d;let e=r(c.tlsNotAfter,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:`The TLS certificate of ${c.name} expires in ${s(e,"day")}.`}}),DomainExpiringSoon:(a,b)=>a.domains&&a.domains.map(c=>{let d=y("DomainExpiringSoon",c.id,{resourceId:c.id,title:c.name,provider:"cloudflare"});if(!c.expiresAt)return d;let e=r(c.expiresAt,a.now);return{...d,status:e<(b??30)?"firing":"ok",message:`${c.name} expires in ${s(e,"day")}.`}}),StorageAlmostFull:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"!==a.provider).map(a=>{let c=y("StorageAlmostFull",a.id,{resourceId:a.id,title:a.name,provider:z(a)});if(null===a.sizeBytes||!a.sizeLimitBytes)return c;let d=a.sizeBytes/a.sizeLimitBytes*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} uses ${q(a.sizeBytes/1e6)} MB of ${q(a.sizeLimitBytes/1e6)} MB (${q(d)}%).`}}),NeonComputeHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"neon"===a.provider).map(a=>{let c=y("NeonComputeHigh",a.id,{resourceId:a.id,title:a.name,provider:"neon"});return null===a.cuHours?c:{...c,status:a.cuHours>(b??80)?"firing":"ok",message:`${a.name} used ${q(a.cuHours)} of ${q(a.cuLimit??100)} CU-hours this month.`}}),FirestoreQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>"firestore"===a.provider).map(a=>{let c=y("FirestoreQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:"firebase"});if(a.quotaExhausted)return{...c,status:"firing",message:`${a.name} hit a Firestore quota (RESOURCE_EXHAUSTED).`};if(null===a.readsToday||!a.readsLimit)return!1===a.quotaExhausted?{...c,status:"ok"}:c;let d=a.readsToday/a.readsLimit*100;return{...c,status:d>(b??80)?"firing":"ok",message:`${a.name} read ${q(a.readsToday)} of ${q(a.readsLimit)} documents today (${q(d)}%).`}}),AutoPauseRisk:(a,b)=>a.dbs&&a.dbs.filter(a=>"supabase"===a.provider).map(c=>{let d=y("AutoPauseRisk",c.id,{resourceId:c.id,title:c.name,provider:"supabase"});if("paused"===c.state)return{...d,status:"ok"};if(!c.lastApiAt)return d;let e=Math.floor((a.now.getTime()-c.lastApiAt.getTime())/864e5);return{...d,status:e>=(b??4)?"firing":"ok",message:`No API traffic for ${s(e,"day")}. Supabase pauses free projects after about 7 days.`}}),DnsProxiedToVercel:a=>a.dns&&a.dns.map(a=>y("DnsProxiedToVercel",a.id,{resourceId:a.resourceId,title:a.name,provider:"cloudflare",status:a.proxied&&a.pointsToVercel?"firing":"ok",message:`${a.name} points to Vercel through the Cloudflare proxy. Vercel recommends DNS only.`})),DbQuotaHigh:(a,b)=>a.dbs&&a.dbs.filter(a=>A.has(a.provider)).map(a=>{let c=y("DbQuotaHigh",a.id,{resourceId:a.id,title:a.name,provider:z(a)});return null==a.quotaPct?c:{...c,status:a.quotaPct>(b??80)?"firing":"ok",message:`${a.name}: ${a.quotaLabel??"usage"} at ${q(a.quotaPct)}% of the free plan.`}}),ComputeHigh:(a,b)=>a.compute?a.compute.map(c=>{let e=y("ComputeHigh",c.id,{resourceId:c.id,title:c.name,provider:"supabase",sampleAt:c.latest?new Date(c.latest.at):null}),f=(0,d.B)(c.latest,(0,d.V)(b),a.now);return null===f?e:{...e,status:f.length?"firing":"ok",message:f.length?`${c.name}: ${f.join(", ")}.`:`${c.name} compute is back under the limits.`}}):null,CredentialExpiring:(a,b)=>a.accounts.map(c=>{let d=y("CredentialExpiring",c.id,{accountId:c.id,title:`${c.provider} \xb7 ${c.label}`,provider:c.provider});if("drive"===c.provider&&"error"===c.status&&c.lastError?.includes("invalid_grant"))return{...d,status:"firing",message:"Google Drive access was removed (invalid_grant). Reconnect it."};if(!c.expiresAt)return{...d,status:"ok"};let e=r(c.expiresAt,a.now);return{...d,status:e<(b??14)?"firing":"ok",message:e<0?`The ${c.provider} credential ${c.label} has expired.`:`The ${c.provider} credential ${c.label} expires in ${s(e,"day")}.`}}),VulnerableDependency:a=>a.deps?a.deps.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=y("VulnerableDependency",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(b.error)return[d];let f=(0,e.g)(b.vulns);return f?[{...d,status:"firing",message:(0,e.L)(b.vulns),..."critical"===f?{severity:"critical"}:{}}]:[{...d,status:"ok",message:`${c.name} has no moderate, high or critical dependency advisories.`}]}):null,FrameworkVulnerable:a=>a.frameworks?a.frameworks.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=y("FrameworkVulnerable",b.appId,{resourceId:b.appId,title:c.name});return"ok"===b.status?[{...d,status:"ok",message:`${c.name} runs Next.js ${b.version??"(unknown version)"} with no known advisories.`}]:"vulnerable"===b.status&&b.findings.length?[{...d,status:"firing",message:p(b.version,b.findings),..."CRITICAL"===(0,f.N)(b.findings)?{severity:"critical"}:{}}]:[d]}):null,CiFailing:a=>a.ci?.length?a.ci.flatMap(b=>{let c=a.apps.find(a=>a.id===b.appId);if(!c)return[];let d=y("CiFailing",b.appId,{resourceId:b.appId,title:c.name,provider:"github"});if(!b.run||"none"in b.run||"completed"!==b.run.status)return[d];let e=`The latest ${b.run.name??"Actions"} run on ${b.run.branch??b.branch??"the default branch"}`;return"success"===b.run.conclusion?[{...d,status:"ok",message:`${e} passed.`}]:x.has(b.run.conclusion??"")?[{...d,status:"firing",message:`${e} failed${b.run.runNumber?` (run #${b.run.runNumber})`:""}.`}]:[d]}):null,OsSecurityUpdate:(a,b)=>(function(a,b){if(!a.os)return null;let c=b??7,d=a.os.system,e=a.os.updates.filter(a=>null!==a.score&&a.score>=c).sort((a,b)=>(b.score??0)-(a.score??0)),f=e.slice(0,3).map(a=>`${a.source} fixes ${a.cves[0]} (${a.score.toFixed(1)})${a.cves.length>1?` and ${a.cves.length-1} more`:""}`);e.length>3&&f.push(`${e.length-3} more packages`),a.os.kernelWaiting&&f.push(`kernel ${a.os.kernelWaiting.installed} waits for a reboot`);let g=y("OsSecurityUpdate","os",{title:d});return!f.length&&a.os.partial?[g]:f.length?[{...g,status:"firing",message:`On ${d}: ${f.join("; ")}.`,...e.some(a=>(a.score??0)>=9)?{severity:"critical"}:{}}]:[{...g,status:"ok",message:`On ${d}, no waiting security update fixes a CVE scored ${c.toFixed(1)} or more, and the newest kernel runs.`}]})(a,b),ReportSendFailed:a=>a.reportSends?a.reportSends.map(a=>{let b=y("ReportSendFailed",a.reportId,{title:a.clientName}),c=`The ${C(a.month)} report for ${a.clientName}`;return"sent"===a.status?{...b,status:"ok",message:`${c} was emailed.`}:"failed"!==a.status?b:{...b,status:"firing",message:`${c} couldn't be emailed after 3 tries${a.lastError?`: ${a.lastError}`:"."}`}}):null},C=a=>new Intl.DateTimeFormat("en-GB",{month:"long",year:"numeric",timeZone:"UTC"}).format(new Date(`${a}-15T12:00:00Z`));a.s(["f",0,function(a,c,d){let e=[],f=new Set;for(let g of c){if(!g.enabled||d&&!d.includes(g.key)||!b._[g.key])continue;let c=B[g.key](a,g.threshold);c&&(f.add(g.key),e.push(...c))}return{observations:e,evaluated:f}}],949663);let D=["MonitorDown","HighLatency"],E=["telegram","discord","webhook","smtp"],F=a=>a.channels.some(a=>E.includes(a));function G(a,b){return b.collectorStale&&"CollectorStale"!==a.rule?"CollectorStale":a.resourceId&&D.includes(a.rule)?b.mutedApps.get(a.resourceId)??null:null}let H=(a,b)=>"critical"===b&&"warning"===a?"critical":a,I=(a,b)=>a.silencedUntilResolved||null!==a.silencedUntil&&a.silencedUntil.getTime()>b.getTime(),J=(a,b)=>`${a}|${b}`;a.s(["f",0,function(a,c,d,e,f){let g={open:[],touch:[],resolve:[]},h=new Map(e.map(a=>[a.key,a])),i=new Map(c.map(a=>[J(a.rule,a.subject),a])),j=new Set(a.map(a=>J(a.ruleKey,a.subject))),k=a=>g.resolve.push({id:a.id,pending:a.notifiedOpen?"resolve":null});for(let c of a){let a=h.get(c.ruleKey),e=i.get(J(c.ruleKey,c.subject));if(!a||!a.enabled){g.resolve.push({id:c.id,pending:null});continue}if(!d.has(c.ruleKey))continue;if(!e){g.resolve.push({id:c.id,pending:null});continue}if("unknown"===e.status)continue;let j=e.provider?f.incidents.get(e.provider)??null:null;if("firing"===e.status){let b=G(e,f),d=c.notifiedOpen&&null!==c.lastNotifiedAt&&f.now.getTime()-c.lastNotifiedAt.getTime()>=216e5,h={id:c.id,okStreak:0,lastSampleAt:e.sampleAt??c.lastSampleAt,lastSeenAt:f.now,message:e.message,causedBy:b,providerIncident:j},i=!c.notifiedOpen&&(!c.pendingSince||f.now.getTime()-c.pendingSince.getTime()>=216e5);(d||i)&&!I(c,f.now)&&!b&&null===c.pending&&F(a)&&(h.pending=d?"repeat":"open"),g.touch.push(h);continue}if(!b._[c.ruleKey].sampled||null===e.sampleAt){k(c);continue}if(!(null===c.lastSampleAt||e.sampleAt.getTime()>c.lastSampleAt.getTime()))continue;let l=c.okStreak+1;l>=2?k(c):g.touch.push({id:c.id,okStreak:l,lastSampleAt:e.sampleAt})}for(let a of c){if("firing"!==a.status||j.has(J(a.rule,a.subject))||f.maintenance.has(a.subject)||a.resourceId&&f.maintenance.has(a.resourceId))continue;let b=h.get(a.rule);if(!b)continue;let c=G(a,f);g.open.push({ruleKey:a.rule,subject:a.subject,resourceId:a.resourceId,accountId:a.accountId,severity:H(b.severity,a.severity),title:a.title,message:a.message,startedAt:f.now,lastSeenAt:f.now,lastSampleAt:a.sampleAt,causedBy:c,providerIncident:a.provider?f.incidents.get(a.provider)??null:null,pending:c||!F(b)?null:"open"})}return g}],747556)},708621,a=>{let b=["status","severity","rule","target","detail","cause","step","since","threshold"],c=["id","en"],d={en:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nNext step: {step}\nsince {since}",id:"{status} · {severity} · {rule} · {target}\n{detail}\n{cause}\nYang perlu kamu lakukan: {step}\nsejak {since}"},e=/\{([a-zA-Z_]+)\}/g,f=a=>a.replace(/\r\n?/g,"\n").replace(/[ \t]+$/gm,"").trim();function g(a){if(a.length>1e3)return`Keep it under ${1e3.toLocaleString("en-US")} characters.`;for(let[,c]of a.matchAll(e))if(!b.includes(c))return`{${c}} isn't a field. Use ${b.map(a=>`{${a}}`).join(", ")}.`;return null}a.s(["I",0,{en:"Test message: Watchbell's sentence about what it saw goes here.",id:"Pesan tes: di sini nanti kalimat Watchbell soal apa yang dilihatnya."},"z",0,"alerts.messageTemplates","i",0,c,"_",0,function(a){if(!a||"object"!=typeof a||Array.isArray(a))return{};let b={};for(let[d,e]of Object.entries(a)){if(!e||"object"!=typeof e)continue;let a={};for(let b of c){let c=e[b];"string"==typeof c&&c.trim()&&null===g(c)&&(a[b]=c)}Object.keys(a).length&&(b[d]=a)}return b},"l",0,function(a,b){return f(a).split("\n").flatMap(a=>{let c=[...a.matchAll(e)].map(a=>a[1]).filter(a=>Object.hasOwn(b,a));return c.length&&c.every(a=>!b[a].trim())?[]:[a.replace(e,(a,c)=>Object.hasOwn(b,c)?b[c]:a)]}).join("\n").replace(/\n{3,}/g,"\n\n").trim()},"F",0,function(a,b){let c="string"==typeof a?f(a):"";return c&&c!==d[b]?c:null},"m",0,g])},455317,71575,805037,569057,930270,a=>{var b=a.i(93321),c=a.i(530385),d=a.i(351674),e=a.i(548734),f=a.i(837137),g=a.i(927262),h=a.i(949663),i=a.i(747556),j=a.i(708621),k=a.i(519051),l=a.i(160147),m=a.i(245710);function n(a,b){return"1h"===a?{silencedUntil:new Date(b.getTime()+36e5),silencedUntilResolved:!1}:{silencedUntil:null,silencedUntilResolved:!0}}a.s(["_",0,[["critical","Critical"],["warning","Warning"],["info","Info"]],"O",0,function(a,b){return a.silencedUntilResolved?{state:"off",text:"Silenced until resolved"}:a.silencedUntil&&a.silencedUntil.getTime()>b.getTime()?{state:"off",text:`Silenced until ${(0,m.U)(a.silencedUntil)}`}:"open"===a.pending||"repeat"===a.pending?{state:"build",text:"Sending…"}:a.causedBy&&!a.notifiedOpen?{state:"off",text:"Muted"}:a.lastNotifiedAt?{state:"ok",text:`Sent ${(0,m.U)(a.lastNotifiedAt)}`}:{state:"off",text:"Digest only"}},"G",0,function(a){return a.enabled?a.firing?{state:"err",text:`Firing \xb7 ${a.firing}`}:a.hasData?{state:"off",text:"Inactive"}:{state:"unknown",text:"No data yet"}:{state:"off",text:"Disabled"}},"A",0,n,"M",0,function(a,b){let c=Math.max(1,Math.round((b.getTime()-a.getTime())/6e4));if(c<60)return`${c} min`;let d=Math.floor(c/60);return d<24?`${d} h ${c%60} min`:`${Math.floor(d/24)} d ${d%24} h`}],71575);var o=a.i(258261),p=a.i(263410),q=a.i(49440),r=a.i(513701),s=a.i(186133),t=a.i(968715),u=a.i(15738);let v=a=>{let[b,c]=a.split("-").map(Number);return 1===c?`${b-1}-12`:`${b}-${String(c-1).padStart(2,"0")}`};async function w(a,b){let c;return function(a,b,c){let d=(0,u.C)(new Date(a.getTime()-864e5*c),b),e=[];for(let c=v((0,u.C)(a,b).slice(0,7));e.length<3&&`${c}-01`>=d;c=v(c))e.push(c);return e}(a,b,Math.min((c=await (0,s.J)()).rollupsHourly,c.alerts,t.F))}async function x(a){let d=a?await (0,e.f)().select().from(p.I).where(a):await (0,e.f)().select().from(p.I).orderBy((0,c.M)(p.I.clientName));if(!d.length)return[];let f=d.map(a=>a.id),[g,h]=await Promise.all([(0,e.f)().select({reportId:p.Z.reportId,monitorId:p.Z.monitorId,displayName:p.Z.displayName,position:p.Z.position}).from(p.Z).where((0,b.y)(p.Z.reportId,f)).orderBy((0,c.M)(p.Z.position)),(0,e.f)().select().from(p.q).where((0,b.y)(p.q.reportId,f)).orderBy((0,c.A)(p.q.month))]);return d.map(a=>{let b=h.find(b=>b.reportId===a.id);return{id:a.id,clientName:a.clientName,title:a.title,lang:a.lang,note:a.note,emailOpening:a.emailOpening,recipients:a.recipients,autoSend:a.autoSend,sender:a.sender,sites:g.filter(b=>b.reportId===a.id).map(({monitorId:a,displayName:b,position:c})=>({monitorId:a,displayName:b,position:c})),lastSend:b?{month:b.month,status:b.status,sentAt:b.sentAt,lastError:b.lastError}:null}})}async function y(a){return/^[0-9a-f-]{36}$/i.test(a)?(await x((0,b.u)(p.I.id,a)))[0]??null:null}async function z(a,c,d,g){let h,i=await y(a);if(!i)return{error:"not-found"};if(!i.sites.length)return{error:"no-sites"};if(c!==(0,u.C)(d,g).slice(0,7)&&!(await w(d,g)).includes(c))return{error:"month-too-old"};let j=(0,u.e)(c),k=(0,u.K)(j[0],g),l=(0,u.K)(`${(a=>{let[b,c]=a.split("-").map(Number);return 12===c?`${b+1}-01`:`${b}-${String(c+1).padStart(2,"0")}`})(c)}-01`,g),m=i.sites.map(a=>a.monitorId),[n,t,v,x,z,[A]]=await Promise.all([(0,e.f)().select({id:f.monitors.id,resourceId:f.monitors.resourceId,intervalS:f.monitors.intervalS}).from(f.monitors).where((0,b.y)(f.monitors.id,m)),(0,r._)(m,d,g),(0,e.f)().select({monitorId:f.rollupsHourly.monitorId,hour:f.rollupsHourly.hour,p50:f.rollupsHourly.p50Ms}).from(f.rollupsHourly).where((0,b.b)((0,b.y)(f.rollupsHourly.monitorId,m),(0,b.B)(f.rollupsHourly.hour,k),(0,b.S)(f.rollupsHourly.hour,l))),(0,e.f)().select({ruleKey:f.alerts.ruleKey,subject:f.alerts.subject,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.y)(f.alerts.ruleKey,["MonitorDown","HighLatency"]),(0,b.y)(f.alerts.subject,m),(0,b.S)(f.alerts.startedAt,l),(0,b.F)((0,b.M)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,k)))),(0,e.f)().select().from(p.p).where((0,b.b)((0,b.B)(p.p.day,j[0]),(0,b.n)(p.p.day,j[j.length-1]))),(0,e.f)().select({first:(0,o.t)(p.p.day),last:(0,o.y)(p.p.day)}).from(p.p)]),B=A?.last?(0,u.K)((h=A.last,new Date(Date.parse(`${h}T00:00:00Z`)+864e5).toISOString().slice(0,10)),g):null,[C,D]=await Promise.all([B&&B>=l?[]:(0,e.f)().select({resourceId:f.deployments.resourceId,state:f.deployments.state,createdAtProvider:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.B)(f.deployments.createdAtProvider,B&&B>k?B:k),(0,b.S)(f.deployments.createdAtProvider,l))),(0,s.J)()]),E=[...z,...(0,q.f)(C,g).filter(a=>a.day>=j[0]&&a.day<=j[j.length-1]&&(!A?.last||a.day>A.last))],F=A?.first??(0,u.C)(new Date(d.getTime()-864e5*D.deployments),g),G=new Map;for(let a of v){if(null===a.p50)continue;let b=G.get(a.monitorId)??new Map,c=(0,u.C)(a.hour,g);b.set(c,[...b.get(c)??[],a.p50]),G.set(a.monitorId,b)}let H=new Map;for(let a of i.sites){let b=n.find(b=>b.id===a.monitorId)?.resourceId;b&&!H.has(b)&&H.set(b,a.monitorId)}let I=i.sites.flatMap(a=>{let b=n.find(b=>b.id===a.monitorId);if(!b)return[];let c=t.get(a.monitorId)??new Map,d=new Map(j.filter(a=>c.has(a)).map(a=>[a,c.get(a)])),e=j.find(a=>(d.get(a)?.checks??0)>0)??null,f=G.get(a.monitorId),g=new Map(j.map(a=>{let b=f?.get(a);return[a,b?.length?Math.round(b.reduce((a,b)=>a+b,0)/b.length):null]}));return[{monitorId:a.monitorId,name:a.displayName,intervalS:b.intervalS,firstDay:e,days:d,p50ByDay:g}]}),J=i.sites.map(a=>{let b=n.find(b=>b.id===a.monitorId)?.resourceId,c=b&&H.get(b)===a.monitorId?E.filter(a=>a.resourceId===b):[];return{monitorId:a.monitorId,ok:c.reduce((a,b)=>a+b.ok,0),failed:c.reduce((a,b)=>a+b.failed,0),firstDay:c[0]?.day??null}});return{month:c,zone:g,generatedAt:d,sites:I,incidents:x.map(a=>({monitorId:a.subject,kind:"MonitorDown"===a.ruleKey?"down":"slow",startedAt:a.startedAt<k?k:a.startedAt,resolvedAt:a.resolvedAt,endedBy:a.resolvedAt?"resolved":"open"})),deploys:J,dataFrom:{uptime:null,updates:F&&F>j[0]?F:null}}}async function A(){let a=await (0,e.f)().select({reportId:p.q.reportId,month:p.q.month,status:p.q.status,lastError:p.q.lastError,clientName:p.I.clientName}).from(p.q).innerJoin(p.I,(0,b.u)(p.I.id,p.q.reportId)).where((0,b.u)(p.I.autoSend,!0)).orderBy((0,c.A)(p.q.month)),d=new Set;return a.filter(a=>!d.has(a.reportId)&&d.add(a.reportId))}async function B(a,c,d){await a.delete(p.Z).where((0,b.u)(p.Z.reportId,c)),d.length&&await a.insert(p.Z).values(d.map(a=>({reportId:c,...a})))}async function C(a){let{sites:b,...c}=a;return(0,e.f)().transaction(async a=>{let[d]=await a.insert(p.I).values(c).returning({id:p.I.id});return await B(a,d.id,b),d.id})}async function D(a,c){let{sites:d,...f}=c;return(0,e.f)().transaction(async c=>!!(await c.update(p.I).set({...f,updatedAt:new Date}).where((0,b.u)(p.I.id,a)).returning({id:p.I.id})).length&&(await B(c,a,d),!0))}async function E(a,c){return(await (0,e.f)().update(p.I).set({...c,updatedAt:new Date}).where((0,b.u)(p.I.id,a)).returning({id:p.I.id})).length>0}async function F(a){return(await (0,e.f)().delete(p.I).where((0,b.u)(p.I.id,a)).returning({id:p.I.id})).length>0}async function G(){return(await (0,e.f)().select({id:f.monitors.id,url:f.monitors.url,app:f.resources.name}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.u)(f.monitors.kind,"http")).orderBy((0,c.M)(f.resources.name),(0,c.M)(f.monitors.url))).map(a=>{let b=a.url;try{let c=new URL(a.url);b=`${c.host}${"/"===c.pathname?"":c.pathname}`}catch{}return{id:a.id,label:`${a.app} \xb7 ${b}`}})}a.s(["K",0,C,"_",0,F,"L",0,y,"q",0,()=>x(),"D",0,z,"r",0,G,"m",0,w,"l",0,A,"A",0,D,"$",0,E],805037);var H=a.i(639271),I=a.i(656298),J=a.i(688275),K=a.i(893893),L=a.i(672319),M=a.i(188546),N=a.i(233711),O=a.i(460565);async function P(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","qstash","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function Q(){let[a]=await (0,e.f)().select({at:f.collectorRuns.finishedAt}).from(f.collectorRuns).where((0,b.b)((0,b.E)(f.collectorRuns.finishedAt),(0,b.y)(f.collectorRuns.trigger,["cron_job_org","manual"]))).orderBy((0,c.A)(f.collectorRuns.finishedAt)).limit(1);return a?.at??null}async function R(){let[a]=await (0,e.f)().select({threshold:f.alertRules.threshold}).from(f.alertRules).where((0,b.u)(f.alertRules.key,"CollectorStale")).limit(1);return(0,O.X)(a?.threshold)}a.s(["o",0,R,"D",0,P,"d",0,Q],569057);var S=a.i(683439);async function T(a,c=new Date){var d;let g=a.filter(S.f);return g.length?(d=await (0,e.f)().select({appId:f.appRepos.appId,repo:f.githubRepos.fullName,branch:f.githubRepos.defaultBranch,run:f.githubRepos.actions,checkedAt:f.githubRepos.actionsCheckedAt,goneAt:f.githubRepos.goneAt}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.y)(f.appRepos.appId,g)),d.filter(a=>a.run&&!a.goneAt).map(a=>({appId:a.appId,repo:a.repo,branch:a.branch,run:a.checkedAt&&c.getTime()-a.checkedAt.getTime()<=1728e5?a.run:null}))):[]}var U=a.i(351917),V=a.i(865653),W=a.i(367247),X=a.i(436357),Y=a.i(912283),Z=a.i(358179),$=a.i(492665),_=a.i(679662),aa=a.i(852539),ab=a.i(33135),ac=a.i(533957);let ad="OpsConsole-Deps/1.0 (+https://watchbell.west-solutions.web.id)";async function ae(a,b,c,d){let e=d.deadline-Date.now();if(e<500)return{ok:!1,error:"No time left for OSV.dev"};let f=AbortSignal.timeout(e);return ag(a,{method:"POST",headers:{"content-type":"application/json","user-agent":ad},body:JSON.stringify(b),signal:f},c,f,d)}async function af(a,b,c){let d=c.deadline-Date.now();if(d<500)return{ok:!1,error:"No time left for OSV.dev"};let e=AbortSignal.timeout(Math.min(d,8e3));return ag(a,{method:"GET",headers:{"user-agent":ad},signal:e},b,e,c)}async function ag(a,b,c,d,e){let f;try{f=await (e.fetch??fetch)(a,{...b,redirect:"error",cache:"no-store"})}catch(a){return{ok:!1,error:(0,ac.t)(a)?"OSV.dev didn't answer in time":"Couldn't reach OSV.dev"}}if(!f.ok)return await f.body?.cancel().catch(()=>void 0),{ok:!1,error:`OSV.dev answered HTTP ${f.status}`};try{let{bytes:a,truncated:b}=await (0,ab.z)(f,c,(0,ab.X)(d));if(b)return{ok:!1,error:"OSV.dev sent too large an answer"};return{ok:!0,body:JSON.parse(new TextDecoder().decode(a))}}catch(a){return{ok:!1,error:(0,ac.t)(a)?"OSV.dev didn't answer in time":"OSV.dev sent an answer we couldn't read"}}}async function ah(a,b){let c=[];for(let d of(0,aa.f)(a)){let a=await ae(aa.n,d,4194304,b);if(!a.ok)return a;let e=(0,aa.j)(a.body,d.queries.length);if(!e)return{ok:!1,error:"OSV.dev sent an answer we couldn't read"};c.push(...e)}return{ok:!0,ids:c}}async function ai(a,b){let c=[...new Set(a)].filter(aa.G);if(c.length>300)return{ok:!1,error:`Too many advisories to read in one scan (${c.length})`};let d=new Map,e=null;for(let a=0;a<c.length&&!e;a+=8)await Promise.all(c.slice(a,a+8).map(async a=>{let c=await af(`${aa.W}${encodeURIComponent(a)}`,1048576,b),f=c.ok?(0,aa.O)(c.body):null;f?d.set(a,f):e??=c.ok?"OSV.dev sent an advisory we couldn't read":c.error}));return e?{ok:!1,error:e}:{ok:!0,map:d}}var aj=a.i(521050),ak=a.i(120213),al=a.i(689963),am=a.i(26972),an=a.i(427221),ao=a.i(811365),ap=a.i(760417);let aq=al.z.array(am.z.object({name:an.z.string(),type:an.z.string(),sha:an.z.string(),size:ao.z.number().optional()}));async function ar(a,b,c,d={},e=null){if(!(0,ap.M)(b)||!(0,ap.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or ref."};if(null!==e&&(0,aj.Q)(e)!==e)return{ok:!1,kind:"format",error:"That isn't a folder in a repository."};let f=e?e.split("/").map(encodeURIComponent).join("/"):"",g=await (0,ap.j)(`/repos/${(0,ap.f)(b)}/contents/${f}?ref=${encodeURIComponent(c)}`,a,d);if(!g.ok)return g;let h=aq.safeParse(g.data);return h.success?{ok:!0,data:h.data.filter(a=>"file"===a.type&&/^[0-9a-f]{40}$/.test(a.sha)).map(a=>({name:a.name,sha:a.sha,size:a.size??0}))}:{ok:!1,kind:"format",error:"GitHub answered the file list in a format the console doesn't recognise."}}async function as(a,b,c,d={}){if(!(0,ap.M)(b)||!(0,ap.c)(c))return{ok:!1,kind:"format",error:"That isn't a repository name or branch."};let e=await (0,ap.j)(`/repos/${(0,ap.f)(b)}/git/ref/heads/${c.split("/").map(encodeURIComponent).join("/")}`,a,d);return e.ok?{ok:!0,data:!0}:"missing"===e.kind?{ok:!0,data:!1}:e}function at(a,b,c,d,e,f={}){return(0,ap.V)(a,b,c,d,e,f)}async function au(a,b,c={}){if(!(0,ap.M)(b))return{ok:!1,kind:"format",error:"That isn't a repository name."};let d=await (0,ap.j)(`/repos/${(0,ap.f)(b)}/dependabot/alerts?state=open&ecosystem=npm&per_page=100`,a,c);if(!d.ok)return"scope"===d.kind||"missing"===d.kind?{ok:!0,data:{denied:!0}}:d;let e=(0,ak.E)(d.data);return e?{ok:!0,data:{alerts:e}}:{ok:!1,kind:"format",error:"GitHub answered the Dependabot alerts in a format the console doesn't recognise."}}var av=a.i(751263);async function aw(){let[a]=await (0,e.f)().select().from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).orderBy((0,c.M)(f.accounts.createdAt)).limit(1);if(!a)return{error:"GitHub isn't connected."};let d=(0,Z.V)({ciphertext:a.credentialCiphertext,iv:a.credentialIv},(0,$.f)().OPS_ENCRYPTION_KEY);return d?{token:d,accountId:a.id}:{error:"Can't read the stored GitHub credential. Replace it on Connections."}}async function ax(){let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,"deps.scanAll")).limit(1);return a?.value===!0}let ay=a=>{let b=(0,av.w)(a);return{dir:(0,aj.Q)((a??{}).rootDirectory),unsupported:(0,aj.l)((a??{}).rootDirectoryUnsupported),branch:(0,av.i)((0,av.V)(a),null),...b?{fallback:b}:{}}};async function az(a){let c=[...new Set(a.filter(S.f))],d=new Map;if(!c.length)return d;let g=await (0,e.f)().select({repoId:f.appRepos.repoId,name:f.resources.name,monitored:f.resources.monitored,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.b)((0,b.y)(f.appRepos.repoId,c),(0,b.M)(f.resources.goneAt))).limit(1e3);for(let a of(g.sort((a,b)=>Number(!!b.monitored)-Number(!!a.monitored)||(a.name<b.name?-1:+(a.name>b.name))),g))d.has(a.repoId)||d.set(a.repoId,ay(a.meta));return d}async function aA(){let a={id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,scannedAt:f.dependencyScans.scannedAt},c=(0,b.b)((0,b.M)(f.githubRepos.goneAt),(0,b.u)(f.githubRepos.archived,!1)),d=await ax()?await (0,e.f)().select(a).from(f.githubRepos).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500):await (0,e.f)().selectDistinct(a).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).leftJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.githubRepos.id)).where(c).limit(500),g=d.length?await az(d.map(a=>a.id)):new Map;return(0,ak.M)(d.map(a=>{let b=g.get(a.id);return{...a,rootDir:b?.dir??null,rootDirUnsupported:b?.unsupported??null,prodBranch:b?.branch??null,...b?.fallback?{prodFallback:b.fallback}:{}}}))}let aB=(a,b)=>a.length>b?`${a.slice(0,b-1)}…`:a;async function aC(a,b){let c=new Date;await (0,e.f)().insert(f.dependencyScans).values({repoId:a,...b,updatedAt:c}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{...b,updatedAt:c}})}async function aD(a){return(0,e.f)().select({id:f.dependencyVulns.id,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,source:f.dependencyVulns.source}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,a),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3)}function aE(a,b){for(let c of _.a){let d=a.find(a=>a.name===c.path);if(d)return{path:(0,aj.H)(b,c.path),kind:c.kind,sha:d.sha}}return null}async function aF(a,c,d,g={}){let h=()=>({...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),1e4))}),i=async a=>(await aC(c.id,{error:aB(a,300),scannedAt:new Date}).catch(()=>void 0),{status:"failed",error:a}),j=c.defaultBranch??"HEAD",k=null;for(let b of[c.prodBranch,c.prodFallback]){if(b&&b===c.defaultBranch)break;let d=(0,av.i)(b,c.defaultBranch);if(!d)continue;let e=await as(a,c.fullName,d,h());if(!e.ok)return i(e.error);if(e.data){k=d;break}}let l=null!==k;k&&(j=k);let m=l?`Scanned ${k}, the branch production is built from.`:null,n=(0,aj.Q)(c.rootDir),o=n?null:(0,aj.l)(c.rootDirUnsupported),p=o?`The Vercel Root Directory "${o}" couldn't be used (Watchbell reads plain folder names, at most 4 deep); scanned the repository root.`:null,q=await ar(a,c.fullName,j,h(),n);if(!q.ok)return i(n&&"missing"===q.kind?`The folder ${(0,aj.x)(n)} isn't in ${c.fullName} on ${j}.`:q.error);let r=aE(q.data,n),s=q.data.find(a=>"package.json"===a.name)??null,t=!1,u=null;if(n&&s&&!r){let b=await ar(a,c.fullName,j,h());if(!b.ok)return i(b.error);t=null!==(r=aE(u=b.data,null))}let v=r?r.sha:s?`pkg:${s.sha}`:null,w=v&&n?`${n}:${v}${t&&s?`+${s.sha}`:""}`:v&&o?`odd:${v}`:v,x=w&&l?`br:${k}:${w}`:w,[y]=await (0,e.f)().select().from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,c.id)).limit(1),z=new Date;if(!(0,ak.U)(y??null,x,z,g.force))return{status:"unchanged"};if(!x){let a=await aD(c.id);return a.length&&await (0,e.f)().update(f.dependencyVulns).set({resolvedAt:z}).where((0,b.y)(f.dependencyVulns.id,a.map(a=>a.id))),await aC(c.id,{lockfilePath:null,lockfileSha:null,packageCount:0,scannedAt:z,queriedAt:z,error:null,note:aB([m,p,`No package.json or lockfile ${n?"in":"at"} ${(0,aj.x)(n)}.`].filter(Boolean).join(" "),300)}),{status:"scanned",vulns:0,packages:0,note:"no package.json"}}let A=(0,aj.H)(n,"package.json"),B=s?await at(a,c.fullName,A,j,ap.$,h()):null;if(B&&!B.ok)return i(B.error);let C=B?.ok&&B.data?(0,_.b)(B.data):null,D=null,E="package-json",F=t&&r?`Scanned ${(0,aj.x)(n)} with the repository root's ${r.path} (workspaces).`:null;if(r){if(2e3>d-Date.now())return i("Time budget used before the lockfile was read; the next run tries again.");let b=await at(a,c.fullName,r.path,j,0xf00000,{...g,timeoutMs:Math.max(1e3,Math.min(d-Date.now(),2e4))});if(!b.ok)return i(b.error);let e=!0;if(t&&n&&b.data&&!(0,aj.p)(r.kind,b.data,n)){let b=u?.some(a=>"package.json"===a.name)?await at(a,c.fullName,"package.json",j,ap.$,h()):null;if(b&&!b.ok)return i(b.error);e=(0,aj.F)(b?.data??null,n)}e?(D=b.data?(0,_.D)(r.kind,b.data):null,E=r.kind,D||(F=[F,`${r.path} couldn't be read; the versions come from package.json ranges (approximate).`].filter(Boolean).join(" "))):(F=`The repository root's ${r.path} isn't a workspace that includes ${n}, so the versions come from ${A} ranges (approximate).`,r=null)}if(D){let a=(0,Y.m)(D,C);D=a.deps,a.stale.length&&(F=[F,(0,Y.M)(a.stale)].filter(Boolean).join(" "))}else D=C?(0,_.e)(C):[],E="package-json",F??=r?null:"No lockfile: the versions come from package.json ranges (approximate).";let G=await aD(c.id),H=[];if(D.length){let a=await ah(D,{fetch:g.fetch,deadline:d});if(!a.ok)return i(a.error);let b=(0,ak.A)(G,!0===g.force),c=await ai((0,ak.z)(D,a.ids,b),{fetch:g.fetch,deadline:d});if(!c.ok)return i(c.error);H=(0,aa.i)(D,a.ids,c.map,b)}if(d-Date.now()>1500){let b=await au(a,c.fullName,h());b.ok&&"alerts"in b.data?H=(0,ak.R)(H,b.data.alerts,D):b.ok&&(F=[F,"Dependabot alerts aren't readable with this token (optional: Dependabot alerts: Read)."].filter(Boolean).join(" "))}let I=(0,ak.h)(G,H,(0,_.K)(C));F=[m,p,F].filter(Boolean).join(" ")||null;let J=new Date;return await (0,e.f)().transaction(async a=>{for(let d of(I.insert.length&&await a.insert(f.dependencyVulns).values(I.insert.map(a=>({repoId:c.id,package:a.package,installedVersion:a.installedVersion,vulnId:a.vulnId,aliases:a.aliases,severity:a.severity,fixedVersion:a.fixedVersion,summary:a.summary,direct:a.direct,dev:a.dev,source:a.source,firstSeenAt:J,lastSeenAt:J}))).onConflictDoNothing(),I.update))await a.update(f.dependencyVulns).set({severity:d.severity,fixedVersion:d.fixedVersion,summary:d.summary,aliases:d.aliases,dev:d.dev,direct:d.direct,lastSeenAt:J}).where((0,b.u)(f.dependencyVulns.id,d.id));I.resolve.length&&await a.update(f.dependencyVulns).set({resolvedAt:J}).where((0,b.b)((0,b.y)(f.dependencyVulns.id,I.resolve),(0,b.M)(f.dependencyVulns.resolvedAt))),await a.insert(f.dependencyScans).values({repoId:c.id,lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:D.length,scannedAt:J,queriedAt:J,error:null,note:F?aB(F,300):null,updatedAt:J}).onConflictDoUpdate({target:f.dependencyScans.repoId,set:{lockfilePath:r?.path??(s?A:null),lockfileSha:x,packageCount:D.length,scannedAt:J,queriedAt:J,error:null,note:F?aB(F,300):null,updatedAt:J}})}),{status:"scanned",vulns:I.insert.length+I.update.length,packages:D.length,note:"package-json"===E?F:null}}async function aG(a,c={}){var d,g;let h,i,j,k,l=await aw();if("error"in l)return{error:l.error};let{first:m,only:n,skip:o,...p}=c,q=(d=await aA(),h=(g={first:m,only:n,skip:o}).only?new Set(g.only):null,i=new Set(g.skip??[]),j=(h?d.filter(a=>h.has(a.id)):d).filter(a=>!i.has(a.id)),k=new Set(g.first??[]),[...j.filter(a=>k.has(a.id)),...j.filter(a=>!k.has(a.id))]),r={scanned:0,unchanged:0,failed:[],left:0,done:[],listed:q.map(a=>a.id)};for(let[b,c]of q.entries()){if(a-Date.now()<4e3){r.left=q.length-b;break}r.done.push(c.id);try{let b=await aF(l.token,c,a,p);"scanned"===b.status?r.scanned++:"unchanged"===b.status?r.unchanged++:r.failed.push(`${c.fullName}: ${b.error}`)}catch(a){r.failed.push(`${c.fullName}: ${a instanceof Error?a.name:"error"}`)}}return await (0,e.f)().delete(f.dependencyVulns).where((0,b.b)((0,b.E)(f.dependencyVulns.resolvedAt),(0,b.S)(f.dependencyVulns.resolvedAt,new Date(Date.now()-7776e6)))).catch(()=>void 0),r}let aH=async()=>(await (0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github")).limit(1)).length>0;async function aI(a,c,d={}){let g,h,i,{marked:j,onlyMarked:k}=c;if(!await aH())return{problem:null,settled:[...j],done:[],complete:!0};let l=j.filter(S.f),m=l.length?await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,l)).limit(5*l.length):[],n=[...new Set(m.map(a=>a.repoId))],o=a=>m.filter(b=>b.appId===a).map(a=>a.repoId),p=j.filter(a=>!o(a).length);if(k&&!n.length)return{problem:null,settled:[...j],done:[],complete:!0};if(a-Date.now()<4e3)return{problem:null,settled:p,done:[],complete:!1};let q=(c.skip??[]).filter(a=>!n.includes(a)),r=await aG(a,{...d,first:n,...k?{only:n}:{skip:q}});if("error"in r){let a;return{problem:(a=r.error,/didn't answer in time|no time left|time budget|rate limit/i.test(a))?null:r.error,settled:[...j],done:[],complete:!0}}let s=new Set([...r.done,...n.filter(a=>!r.listed.includes(a))]);return{problem:(g=r.failed.filter(a=>!/didn't answer in time|no time left|time budget|rate limit/i.test(a)),(h=r.failed.length-g.length+(r.left??0))&&console.info(`deps: ${h} repositor${1===h?"y":"ies"} wait for the next run`),i=g.slice(0,3),g.length>3&&i.push(`+${g.length-3} more`),i.length?i.join("; "):null),settled:j.filter(a=>o(a).every(a=>s.has(a))),done:r.done,complete:0===r.left}}async function aJ(a){let d={repo:null,scan:null,vulns:[],writeConnected:!1};if(!(0,S.f)(a))return d;let[g]=await (0,e.f)().select({id:f.githubRepos.id,fullName:f.githubRepos.fullName}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return d;let[[h],i,[j]]=await Promise.all([(0,e.f)().select({scannedAt:f.dependencyScans.scannedAt,lockfilePath:f.dependencyScans.lockfilePath,packageCount:f.dependencyScans.packageCount,error:f.dependencyScans.error,note:f.dependencyScans.note}).from(f.dependencyScans).where((0,b.u)(f.dependencyScans.repoId,g.id)).limit(1),(0,e.f)().select({package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,vulnId:f.dependencyVulns.vulnId,severity:f.dependencyVulns.severity,fixedVersion:f.dependencyVulns.fixedVersion,summary:f.dependencyVulns.summary,aliases:f.dependencyVulns.aliases,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct,firstSeenAt:f.dependencyVulns.firstSeenAt}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(2e3),(0,e.f)().select({id:f.accounts.id}).from(f.accounts).where((0,b.u)(f.accounts.provider,"github_write")).limit(1)]);i.sort((a,b)=>(0,ak.t)(a.severity)-(0,ak.t)(b.severity)||(a.package<b.package?-1:+(a.package>b.package))||(a.vulnId<b.vulnId?-1:1));let k=await (0,e.f)().select({number:f.dependencyPrs.number,stage:f.dependencyPrs.stage,stageText:f.dependencyPrs.stageText,openedAt:f.dependencyPrs.openedAt}).from(f.dependencyPrs).where((0,b.b)((0,b.u)(f.dependencyPrs.repoId,g.id),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)))).orderBy((0,c.A)(f.dependencyPrs.openedAt)).limit(5).catch(()=>[]);return{repo:g,scan:h??null,vulns:i,writeConnected:!!j,prs:(k??[]).map(a=>({...a,fullName:g.fullName}))}}async function aK(a,c={}){if(!(0,S.f)(a))return{ok:!1,error:"That app no longer exists."};let[g]=await (0,e.f)().select({app:f.resources.name,id:f.githubRepos.id,fullName:f.githubRepos.fullName,defaultBranch:f.githubRepos.defaultBranch,goneAt:f.githubRepos.goneAt,meta:f.resources.meta}).from(f.appRepos).innerJoin(f.githubRepos,(0,b.u)(f.githubRepos.id,f.appRepos.repoId)).innerJoin(f.resources,(0,b.u)(f.resources.id,f.appRepos.appId)).where((0,b.u)(f.appRepos.appId,a)).limit(1);if(!g)return{ok:!1,error:"Link a repository first."};if(g.goneAt)return{ok:!1,error:"That repository is no longer shared with the GitHub token."};let h=await aw();if("error"in h)return{ok:!1,error:h.error};let i=ay(g.meta),j=await aF(h.token,{id:g.id,fullName:g.fullName,defaultBranch:g.defaultBranch,scannedAt:null,rootDir:i.dir,rootDirUnsupported:i.unsupported,prodBranch:i.branch,prodFallback:i.fallback??null},Date.now()+4e4,{...c,force:!0});if("failed"===j.status)return{ok:!1,error:`The scan failed: ${j.error}`};let[k]=await (0,e.f)().select({n:d.B`count(*)::int`}).from(f.dependencyVulns).where((0,b.b)((0,b.u)(f.dependencyVulns.repoId,g.id),(0,b.M)(f.dependencyVulns.resolvedAt))),l=k?.n??0;return{ok:!0,app:g.app,repo:g.fullName,vulns:l,message:l?`${l} known vulnerabilit${1===l?"y":"ies"} in ${j.packages??0} packages.`:`No known vulnerabilities in ${j.packages??0} packages.`}}async function aL(a){let c=a.filter(S.f);if(!c.length)return[];let d=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId,error:f.dependencyScans.error}).from(f.appRepos).innerJoin(f.dependencyScans,(0,b.u)(f.dependencyScans.repoId,f.appRepos.repoId)).where((0,b.b)((0,b.y)(f.appRepos.appId,c),(0,b.E)(f.dependencyScans.scannedAt)));if(!d.length)return[];let g=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,severity:f.dependencyVulns.severity,summary:f.dependencyVulns.summary,dev:f.dependencyVulns.dev,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(d.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt))).limit(1e4);return d.map(a=>({appId:a.appId,repoId:a.repoId,error:a.error,vulns:g.filter(b=>b.repoId===a.repoId).map(a=>({package:a.package,installedVersion:a.installedVersion,fixedVersion:a.fixedVersion,severity:a.severity,summary:a.summary,dev:a.dev,direct:a.direct}))}))}async function aM(a,c=new Set){let g=a.filter(S.f),h=new Map;if(!g.length)return h;let i=await (0,e.f)().select({appId:f.appRepos.appId,repoId:f.appRepos.repoId}).from(f.appRepos).where((0,b.y)(f.appRepos.appId,g));if(!i.length)return h;let j=await (0,e.f)().select({repoId:f.dependencyVulns.repoId,package:f.dependencyVulns.package,installedVersion:f.dependencyVulns.installedVersion,fixedVersion:f.dependencyVulns.fixedVersion,vulnId:f.dependencyVulns.vulnId,aliases:f.dependencyVulns.aliases,severity:f.dependencyVulns.severity,direct:f.dependencyVulns.direct}).from(f.dependencyVulns).where((0,b.b)((0,b.y)(f.dependencyVulns.repoId,[...new Set(i.map(a=>a.repoId))]),(0,b.M)(f.dependencyVulns.resolvedAt),(0,b.u)(f.dependencyVulns.direct,!0),(0,b.E)(f.dependencyVulns.fixedVersion))).limit(2e3),k=j.some(a=>"next"===a.package)?new Set((await (0,e.f)().selectDistinct({appId:f.dependencyPrs.appId}).from(f.dependencyPrs).where((0,b.b)((0,b.y)(f.dependencyPrs.appId,g),(0,b.$)(f.dependencyPrs.stage,["merged","closed"]),(0,b.B)(f.dependencyPrs.openedAt,new Date(Date.now()-12096e5)),d.B`${f.dependencyPrs.packages} @> '["next"]'::jsonb`)).limit(g.length)).map(a=>a.appId)):new Set;for(let a of i){let b=c.has(a.appId)||k.has(a.appId);(0,ak.B)(j.filter(c=>c.repoId===a.repoId&&!(b&&"next"===c.package))).length&&h.set(a.appId,a.repoId)}return h}a.s(["o",0,12e3,"d",0,4e3,"j",0,aJ,"O",0,aI,"C",0,aM,"M",0,aw,"a",0,aL,"h",0,aK],930270);var aN=a.i(242605);async function aO(){return(0,e.f)().select({appId:f.links.fromResourceId,dbId:f.links.toResourceId}).from(f.links).where((0,b.u)(f.links.kind,"uses_db")).limit(500)}async function aP(a){let g=(0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt)),[h,i,j,k,l]=await Promise.all([Q(),P(),(0,e.f)().select({m:f.monitors,appName:f.resources.name,appMeta:f.resources.meta}).from(f.monitors).innerJoin(f.resources,(0,b.u)(f.resources.id,f.monitors.resourceId)).where((0,b.b)(g,(0,b.u)(f.monitors.paused,!1),(0,b.u)(f.monitors.ownerPaused,!1))),(0,e.f)().select({id:f.resources.id,name:f.resources.name,meta:f.resources.meta}).from(f.resources).where((0,b.b)(g,(0,b.u)(f.resources.kind,"app"))),(0,e.f)().select({id:f.accounts.id,provider:f.accounts.provider,label:f.accounts.label,expiresAt:f.accounts.expiresAt,status:f.accounts.status,lastError:f.accounts.lastError}).from(f.accounts)]),m=j.map(a=>a.m.id),n=m.length?await (0,e.f)().select({id:f.checks.monitorId,n:d.B`count(*)::int`,p95:d.B`percentile_cont(0.95) within group (order by ${f.checks.latencyMs})::float8`}).from(f.checks).where((0,b.b)((0,b.y)(f.checks.monitorId,m),(0,b.B)(f.checks.at,new Date(a.getTime()-6e5)),(0,b.u)(f.checks.inMaintenance,!1))).groupBy(f.checks.monitorId):[],o=k.map(a=>a.id),p=o.length?await (0,e.f)().selectDistinctOn([f.deployments.resourceId],{appId:f.deployments.resourceId,state:f.deployments.state,sha:f.deployments.commitSha,createdAt:f.deployments.createdAtProvider}).from(f.deployments).where((0,b.b)((0,b.y)(f.deployments.resourceId,o),(0,b.u)(f.deployments.target,"production"))).orderBy(f.deployments.resourceId,(0,c.A)(f.deployments.createdAtProvider)):[],q=await (0,e.f)().select({id:f.resources.id,name:f.resources.name,kind:f.resources.kind,state:f.snapshots.state,data:f.snapshots.data}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)(g,(0,b.y)(f.resources.kind,["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database","zone","domain"]))),r=a=>q.filter(b=>b.kind===a),s=q.filter(a=>["supabase_project","neon_project","firestore","turso_database","upstash_redis","d1_database"].includes(a.kind)),t=r("zone"),u=r("domain"),v=await aO(),w=await (0,W.Y)().catch(()=>null),x=o.length?await aL(o).catch(()=>null):null,y=o.length?await (0,aN.F)(o).catch(()=>null):null,z=o.length?await T(o).catch(()=>null):null,B="on"===(0,U.C)()?function(a){var b;let c;if(!a||"ok"!==a.status||!a.system)return null;let d=(b=a.updates,c=a=>a.security||a.fixes.length>0||null!==a.error,{security:b.filter(c),other:b.filter(a=>!c(a))}).security,e=d.some(a=>null!==a.error),f=d.filter(a=>a.fixes.length).map(a=>{let b=[...a.fixes].sort((a,b)=>(b.cvss3??-1)-(a.cvss3??-1));return{source:a.source,score:b[0].cvss3,cves:b.map(a=>a.cve)}}),g=a.kernel,h=g?.newestInstalled&&g.runningVersion&&(0,V.f)(g.newestInstalled,g.runningVersion)>0?{installed:g.newestInstalled,running:g.runningVersion}:null;return{system:a.system,updates:f,kernelWaiting:h,partial:e}}(await (0,U.y)().catch(()=>null)):null,C=await A().catch(()=>null);return{now:a,lastMinuteRunAt:h,lastAnyRunAt:i,monitors:j.map(({m:a,appName:b,appMeta:c})=>{let d=n.find(b=>b.id===a.id),e="heartbeat"===a.kind;return{id:a.id,appId:a.resourceId,appName:b,url:e?a.name??"heartbeat":a.url,kind:e?"heartbeat":"http",state:a.state,failStreak:a.failStreak,lastStatus:a.lastStatus,lastError:a.lastError,lastCheckedAt:a.lastCheckedAt,p95Last10:d?.p95??null,checksLast10:d?.n??0,movedTo:e?null:(0,X.u)(a.url,{name:b,meta:c},k.filter(b=>b.id!==a.resourceId),{lastError:a.lastError})?.to??null}}),apps:k.map(a=>{let b=p.find(b=>b.appId===a.id);return{id:a.id,name:a.name,latestProduction:b?{state:b.state,sha:b.sha,createdAt:b.createdAt}:null}}),accounts:l,dbs:s.length?s.map(b=>(function(a,b){let c={id:a.id,name:a.name,state:a.state,sizeBytes:null,sizeLimitBytes:null,lastApiAt:null,cuHours:null,cuLimit:null,readsToday:null,readsLimit:null,quotaExhausted:null};if("supabase_project"===a.kind){let b=(0,K.k)(K.B,a.data),d=(0,N.Z)(b.lastTrafficAt),e=(0,N.Z)(b.trafficAt),f=d??(e&&!b.trafficError?new Date(e.getTime()-6048e5):null);return{...c,provider:"supabase",sizeBytes:b.sizeBytes??null,sizeLimitBytes:L.R,lastApiAt:f}}if("neon_project"===a.kind){let b=(0,K.k)(K.s,a.data),d=(b.branches??[]).map(a=>a.logicalSize).filter(a=>"number"==typeof a);return{...c,provider:"neon",cuHours:null==b.computeSeconds?null:b.computeSeconds/3600,cuLimit:J.a.cuHours,sizeBytes:d.length?d.reduce((a,b)=>a+b,0):null,sizeLimitBytes:J.a.storageBytes}}if("firestore"===a.kind){let d=(0,K.k)(K.w,a.data),e=(0,N.Z)(d.opsAt),f=null!=d.reads&&e&&e.getTime()>=(0,I.a)(b).getTime()?d.reads:null,g=null!=d.latencyMs||null!=d.pingError;return{...c,provider:"firestore",readsToday:f,readsLimit:I.T.reads,quotaExhausted:g?"RESOURCE_EXHAUSTED"===d.pingReason:null}}if("turso_database"===a.kind){let d=(0,K.k)(K.N,a.data),e=(0,H.u)((0,H.G)(d,b));return{...c,provider:"turso",sizeBytes:d.orgStorageBytes??null,sizeLimitBytes:H.g.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("upstash_redis"===a.kind){let d=(0,K.k)(K.e,a.data),e=(0,H.u)((0,H.$)(d,b));return{...c,provider:"upstash",sizeBytes:d.storageBytes??null,sizeLimitBytes:H.W.storageBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}if("d1_database"===a.kind){let d=(0,K.k)(K.x,a.data),e=(0,H.u)((0,H.I)(d,b));return{...c,provider:"d1",sizeBytes:d.sizeBytes??null,sizeLimitBytes:H.M.dbBytes,quotaPct:e?.pct??null,quotaLabel:e?`${e.label} ${e.text}`:null}}return null})(b,a)).filter(a=>null!==a):null,domains:t.length||u.length?[...t.map(a=>({id:a.id,name:a.name,tlsNotAfter:null,expiresAt:(0,N.Z)((0,M.q)(a.data).rdap?.expiresAt)})),...u.map(a=>({id:a.id,name:a.name,tlsNotAfter:(0,N.Z)((0,M.q)(a.data).tls?.notAfter),expiresAt:null}))]:null,dns:function(a,b){let c=a.filter(a=>Array.isArray(a.data.records));if(!c.length)return null;let d=a.map(a=>a.name),e=[];for(let a of c){let c=b.filter(b=>(0,N.J)(b.name,d)===a.name.toLowerCase().replace(/\.$/,"")),f=[...new Set(c.flatMap(a=>(0,M.q)(a.data).vercel?.recommendedIps??[]))];for(let b of(0,M.q)(a.data).records){if(!(0,N.l)(b,f))continue;let d=b.name.toLowerCase().replace(/\.$/,""),g=c.find(a=>a.name.toLowerCase().replace(/\.$/,"")===d);e.push({id:`${a.id}:${b.id}`,resourceId:g?.id??a.id,name:b.name,proxied:b.proxied,pointsToVercel:!0})}}return e}(t,u),links:v,compute:w,deps:x&&x.length?x:null,frameworks:y&&y.length?y:null,ci:z&&z.length?z:null,os:B,reportSends:C}}var aQ=a.i(714530),aR=a.i(396667);let aS={vercel:"Vercel",supabase:"Supabase",neon:"Neon",cloudflare:"Cloudflare",firebase:"Firebase",gcp:"Google Cloud"};async function aT(){return(await (0,e.f)().select().from(f.alertRules)).filter(a=>(0,g.h)(a.key)).map(a=>({key:a.key,severity:a.severity,threshold:a.threshold,enabled:a.enabled,channels:a.channels}))}async function aU(a,c={}){let[d,j,m,n,o,p]=await Promise.all([aP(a),aT(),(0,e.f)().select().from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)),(0,e.f)().select({provider:f.providerStatus.provider,state:f.providerStatus.state}).from(f.providerStatus),(0,aQ.w)(),(0,aR.I)()]),q=new Map(d.accounts.map(a=>[a.id,a.provider])),r=m.filter(a=>!(0,l.O)(p,a.ruleKey,a.accountId?q.get(a.accountId):null)),s=(0,h.f)(d,j,c.only),t=s.evaluated,u=s.observations.filter(a=>!(0,l.O)(p,a.rule,a.provider)),v=j.find(a=>"CollectorStale"===a.key),w=void 0===d.lastAnyRunAt?d.lastMinuteRunAt:d.lastAnyRunAt,x=!!v?.enabled&&(!w||a.getTime()-w.getTime()>(v.threshold??5)*6e4),y=new Map((d.dbs??[]).filter(a=>"paused"===a.state).map(a=>[a.id,a.name])),z=new Map(d.links.filter(a=>y.has(a.dbId)).map(a=>[a.appId,`DatabasePaused \xb7 ${y.get(a.dbId)}`])),A=new Map(n.filter(a=>"warn"===a.state||"err"===a.state).map(a=>["gcp"===a.provider?"firebase":a.provider,aS[a.provider]??a.provider])),B=(0,k.u)(o,d.monitors.map(a=>({id:a.id,appId:a.appId})),a,d.apps.map(a=>a.id)),C=r.filter(a=>(0,g.h)(a.ruleKey)).map(a=>({id:a.id,ruleKey:a.ruleKey,subject:a.subject,okStreak:a.okStreak,lastSampleAt:a.lastSampleAt,silencedUntil:a.silencedUntil,silencedUntilResolved:a.silencedUntilResolved,notifiedOpen:a.notifiedOpen,lastNotifiedAt:a.lastNotifiedAt,pending:a.pending,pendingSince:a.pendingSince})),D=(0,i.f)(C,u,t,j,{now:a,collectorStale:x,mutedApps:z,incidents:A,maintenance:B});return D.open.length||D.touch.length||D.resolve.length?(await (0,e.f)().transaction(async c=>{for(let b of D.open)await c.insert(f.alerts).values({...b,pendingSince:b.pending?a:null}).onConflictDoNothing();for(let d of D.touch){let{id:e,pending:g,...h}=d;await c.update(f.alerts).set({...h,...g?{pending:g,pendingSince:a}:{}}).where((0,b.b)((0,b.u)(f.alerts.id,e),(0,b.M)(f.alerts.resolvedAt)))}for(let d of D.resolve)await c.update(f.alerts).set({resolvedAt:a,pending:d.pending,pendingSince:d.pending?a:null}).where((0,b.b)((0,b.u)(f.alerts.id,d.id),(0,b.M)(f.alerts.resolvedAt)))}),{opened:D.open.length,resolved:D.resolve.length}):{opened:0,resolved:0}}async function aV(){let[a,c]=await Promise.all([(0,aR.I)(),(0,e.f)().select({ruleKey:f.alerts.ruleKey,provider:f.accounts.provider,n:d.B`count(*)::int`}).from(f.alerts).leftJoin(f.accounts,(0,b.u)(f.accounts.id,f.alerts.accountId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,b.y)(f.alerts.severity,["critical","warning"]))).groupBy(f.alerts.ruleKey,f.accounts.provider)]);return c.reduce((b,c)=>b+((0,l.O)(a,c.ruleKey,c.provider)?0:Number(c.n)),0)}let aW=d.B`case ${f.alerts.severity} when 'critical' then 0 when 'warning' then 1 else 2 end`;async function aX(a=new Set){return(await (0,e.f)().select({a:f.alerts,name:f.resources.name,kind:f.resources.kind}).from(f.alerts).leftJoin(f.resources,(0,b.u)(f.resources.id,f.alerts.resourceId)).where((0,b.b)((0,b.M)(f.alerts.resolvedAt),(0,aR.s)(a))).orderBy(aW,(0,c.A)(f.alerts.startedAt)).limit(200)).map(({a,name:b,kind:c})=>({...a,resourceName:b??null,resourceKind:c??null}))}async function aY(){return aX(await (0,aR.I)())}async function aZ(a){return(await (0,e.f)().select({id:f.alerts.id,ruleKey:f.alerts.ruleKey,severity:f.alerts.severity,title:f.alerts.title,resourceId:f.alerts.resourceId,startedAt:f.alerts.startedAt,resolvedAt:f.alerts.resolvedAt}).from(f.alerts).where((0,b.b)((0,b.E)(f.alerts.resolvedAt),(0,b.B)(f.alerts.resolvedAt,new Date(a.getTime()-6048e5)))).orderBy((0,c.A)(f.alerts.resolvedAt)).limit(50)).flatMap(a=>a.resolvedAt?[{...a,resolvedAt:a.resolvedAt}]:[])}async function a$(){let[a,c,h]=await Promise.all([aT(),(0,e.f)().select({key:f.alerts.ruleKey,n:d.B`count(*)::int`}).from(f.alerts).where((0,b.M)(f.alerts.resolvedAt)).groupBy(f.alerts.ruleKey),(0,e.f)().select({kind:f.resources.kind}).from(f.resources).innerJoin(f.snapshots,(0,b.u)(f.snapshots.resourceId,f.resources.id)).where((0,b.b)((0,b.u)(f.resources.monitored,!0),(0,b.M)(f.resources.goneAt))).groupBy(f.resources.kind)]),i=new Set(h.map(a=>a.kind)),j={databases:["supabase_project","neon_project","firestore"].some(a=>i.has(a)),domains:i.has("domain")||i.has("zone"),dns:i.has("zone")};return g.u.flatMap(b=>{let d=a.find(a=>a.key===b);if(!d)return[];let e=g._[b].needs;return[{rule:d,firing:c.find(a=>a.key===b)?.n??0,hasData:null===e||j[e]}]})}async function a_(a,c,d,g){let h="off"===c?{silencedUntil:null,silencedUntilResolved:!1,silencedBy:null}:{...n(c,g),silencedBy:d},[i]=await (0,e.f)().update(f.alerts).set(h).where((0,b.b)((0,b.u)(f.alerts.id,a),(0,b.M)(f.alerts.resolvedAt))).returning({ruleKey:f.alerts.ruleKey,title:f.alerts.title,resourceId:f.alerts.resourceId});return i??null}async function a0(a,c){return(await (0,e.f)().update(f.alertRules).set({...c,updatedAt:new Date}).where((0,b.u)(f.alertRules.key,a)).returning({key:f.alertRules.key})).length>0}async function a1(){try{let[a]=await (0,e.f)().select({value:f.settings.value}).from(f.settings).where((0,b.u)(f.settings.key,j.z)).limit(1);return(0,j._)(a?.value)}catch{return{}}}async function a2(a,b){let c=await a1();Object.keys(b).length?c[a]=b:delete c[a],await (0,e.f)().insert(f.settings).values({key:j.z,value:c}).onConflictDoUpdate({target:f.settings.key,set:{value:c,updatedAt:new Date}})}a.s(["$",0,aU,"q",0,aX,"I",0,aZ,"i",0,aY,"X",0,aV,"w",0,a1,"y",0,a$,"z",0,a0,"_",0,a2,"N",0,a_],455317)}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_lib_0eqv8l-v8d5ze._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(()=>{"use strict";module.exports=[196081,a=>{var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(617084);let
|
|
1
|
+
(()=>{"use strict";module.exports=[196081,a=>{var b=a.i(93321),c=a.i(548734),d=a.i(837137),e=a.i(617084),f=a.i(666680);let g="branding.logo";async function h(){let[a]=await (0,c.f)().select({value:d.settings.value}).from(d.settings).where((0,b.u)(d.settings.key,e.k)).limit(1);return a?(0,e.q)(a.value):{...e.l}}async function i(a){let b=await h(),f={...a,hasLogo:b.hasLogo,logoVersion:b.logoVersion};await (0,c.f)().insert(d.settings).values({key:e.k,value:f}).onConflictDoUpdate({target:d.settings.key,set:{value:f,updatedAt:new Date}})}async function j(){let[a]=await (0,c.f)().select({value:d.settings.value}).from(d.settings).where((0,b.u)(d.settings.key,g)).limit(1),e=a?.value?.png;return"string"==typeof e?new Uint8Array(Buffer.from(e,"base64")):null}async function k(a){let i=new Date;if(a){let b={png:Buffer.from(a).toString("base64")};await (0,c.f)().insert(d.settings).values({key:g,value:b}).onConflictDoUpdate({target:d.settings.key,set:{value:b,updatedAt:i}})}else await (0,c.f)().delete(d.settings).where((0,b.y)(d.settings.key,[g]));let j={...await h(),hasLogo:null!==a,logoVersion:a?(0,f.createHash)("sha256").update(a).digest("hex").slice(0,12):null};await (0,c.f)().insert(d.settings).values({key:e.k,value:j}).onConflictDoUpdate({target:d.settings.key,set:{value:j,updatedAt:i}})}a.s(["X",0,h,"c",0,j,"P",0,i,"o",0,k],196081)},75105,a=>{var b=a.i(312573);a.s(["w",0,"Something in that request wasn't valid.","G",0,"This changed since you opened it. Reload and try again.","z",0,function(a,c){return"member"===a?`Too many actions. Try again in ${(0,b.H)(c)}.`:"That was just done. Wait a minute before trying again."},"b",0,function(a,b){return"supabase"===a?"This token is read-only; replace it with one that has Project admin write.":"cloudflare"===a?'This Cloudflare token can\'t edit DNS; add "Zone → DNS → Edit" to it, or replace it with a token that has it.':"vercel"===a?`This token can't change projects in team ${b.team||"this team"}; replace it with one whose scope includes that team.`:`This API key can't manage project ${b.project||"this project"}; replace it with a personal or organization key, or a key for this project.`},"S",0,function(a){let b=a.replace(/\s+/g," ").trim();return b.length>200?`${b.slice(0,199)}…`:b}])}]})();
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_lib_0jnv54-8idu07._.js.map
|